<?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>127773</bug_id>
          
          <creation_ts>2014-01-28 06:12:54 -0800</creation_ts>
          <short_desc>Add new files to the EFL and GTK build systems for the jsCStack branch merge</short_desc>
          <delta_ts>2014-01-28 10:01:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>127763</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Csaba Osztrogonác">ossy</assigned_to>
          <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>bunhere</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>mkwst</cc>
    
    <cc>ossy</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>972881</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-01-28 06:12:54 -0800</bug_when>
    <thetext>I applied the patch from https://bugs.webkit.org/show_bug.cgi?id=127763
and GTK and EFL builds needs to be fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972882</commentid>
    <comment_count>1</comment_count>
      <attachid>222434</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-01-28 06:14:13 -0800</bug_when>
    <thetext>Created attachment 222434
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972884</commentid>
    <comment_count>2</comment_count>
      <attachid>222436</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-01-28 06:22:39 -0800</bug_when>
    <thetext>Created attachment 222436
patch for EWS, integrated to the original patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972885</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-01-28 06:23:31 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=222434) [details]
&gt; Patch
Of course it doesn&apos;t build now, because the original patch is not landed yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972886</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-28 06:24:52 -0800</bug_when>
    <thetext>Attachment 222436 did not pass style-queue:


ERROR: Source/JavaScriptCore/jit/JITCode.h:221:  The parameter name &quot;ref&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/JITCode.h:244:  The parameter name &quot;ref&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/DFGExitProfile.h:58:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/jit/Repatch.cpp:1497:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/assembler/LinkBuffer.h:312:  Wrong number of spaces before statement. (expected: 9)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/assembler/LinkBuffer.h:315:  Wrong number of spaces before statement. (expected: 9)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/assembler/LinkBuffer.h:312:  The parameter name &quot;codeBlock&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/ForwardingHeaders/inspector/ScriptBreakpoint.h:7:  &quot;JavaScriptCore/ScriptBreakpoint.h&quot; already included at Source/WebCore/ForwardingHeaders/inspector/ScriptBreakpoint.h:3  [build/include] [4]
ERROR: Source/JavaScriptCore/jit/JITOperations.cpp:704:  One line control clauses should not use braces.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/VM.h:71:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:165:  The parameter name &quot;kind&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/PutByIdStatus.cpp:169:  Wrong number of spaces before statement. (expected: 24)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/PutByIdStatus.cpp:172:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp:38:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:159:  __rcf_exec is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1423:  llint_throw_stack_overflow_error is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1433:  llint_stack_check_at_vm_entry is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/profiler/ProfilerCompilationKind.h:34:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/profiler/ProfilerCompilationKind.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/jit/ArityCheckFailReturnThunks.cpp:62:  Declaration has space between type name and * in m_nextSize * 2  [whitespace/declaration] [3]
ERROR: Source/JavaScriptCore/interpreter/Interpreter.cpp:654:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
ERROR: Source/JavaScriptCore/interpreter/Interpreter.cpp:655:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
ERROR: Source/JavaScriptCore/ftl/FTLUnwindInfo.h:44:  The parameter name &quot;gpr&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/ftl/FTLUnwindInfo.h:45:  The parameter name &quot;gpr&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/ftl/FTLAbstractHeap.cpp:181:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/ftl/FTLAbstractHeap.cpp:191:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/ForwardingHeaders/yarr/RegularExpression.h:7:  &quot;JavaScriptCore/RegularExpression.h&quot; already included at Source/WebCore/ForwardingHeaders/yarr/RegularExpression.h:3  [build/include] [4]
ERROR: Source/JavaScriptCore/ftl/FTLSlowPathCall.h:62:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/ftl/FTLSlowPathCall.h:66:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/ForwardingHeaders/inspector/ScriptDebugListener.h:7:  &quot;JavaScriptCore/ScriptDebugListener.h&quot; already included at Source/WebCore/ForwardingHeaders/inspector/ScriptDebugListener.h:3  [build/include] [4]
ERROR: Source/WebCore/ForwardingHeaders/inspector/ContentSearchUtilities.h:7:  &quot;JavaScriptCore/ContentSearchUtilities.h&quot; already included at Source/WebCore/ForwardingHeaders/inspector/ContentSearchUtilities.h:3  [build/include] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:116:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:120:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:123:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/ftl/FTLUnwindInfo.cpp:31:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/dfg/DFGOSRExitBase.h:70:  The parameter name &quot;jitType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/JITCode.cpp:130:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/jit/JITCode.cpp:131:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/heap/MachineStackMarker.h:31:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:126:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/JavaScriptCore/jit/JITInlineCacheGenerator.cpp:134:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:578:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/llint/LLIntData.cpp:129:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/JavaScriptCore/jit/JITInlineCacheGenerator.h:59:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/JITInlineCacheGenerator.h:100:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/jit/JITInlineCacheGenerator.h:113:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:356:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:362:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:376:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:378:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:498:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 52 in 293 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972894</commentid>
    <comment_count>5</comment_count>
      <attachid>222439</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-01-28 06:45:14 -0800</bug_when>
    <thetext>Created attachment 222439
patch for EWS, integrated to the original patch with one more fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972897</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-28 06:49:16 -0800</bug_when>
    <thetext>Attachment 222439 did not pass style-queue:


ERROR: Source/JavaScriptCore/jit/JITCode.h:221:  The parameter name &quot;ref&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/JITCode.h:244:  The parameter name &quot;ref&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/DFGExitProfile.h:58:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/jit/Repatch.cpp:1497:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/assembler/LinkBuffer.h:312:  Wrong number of spaces before statement. (expected: 9)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/assembler/LinkBuffer.h:315:  Wrong number of spaces before statement. (expected: 9)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/assembler/LinkBuffer.h:312:  The parameter name &quot;codeBlock&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/ForwardingHeaders/inspector/ScriptBreakpoint.h:7:  &quot;JavaScriptCore/ScriptBreakpoint.h&quot; already included at Source/WebCore/ForwardingHeaders/inspector/ScriptBreakpoint.h:3  [build/include] [4]
ERROR: Source/JavaScriptCore/jit/JITOperations.cpp:704:  One line control clauses should not use braces.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/runtime/VM.h:71:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:165:  The parameter name &quot;kind&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/bytecode/PutByIdStatus.cpp:169:  Wrong number of spaces before statement. (expected: 24)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/PutByIdStatus.cpp:172:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp:38:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:159:  __rcf_exec is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1423:  llint_throw_stack_overflow_error is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1433:  llint_stack_check_at_vm_entry is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/JavaScriptCore/profiler/ProfilerCompilationKind.h:34:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/profiler/ProfilerCompilationKind.h:35:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/jit/ArityCheckFailReturnThunks.cpp:62:  Declaration has space between type name and * in m_nextSize * 2  [whitespace/declaration] [3]
ERROR: Source/JavaScriptCore/interpreter/Interpreter.cpp:654:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
ERROR: Source/JavaScriptCore/interpreter/Interpreter.cpp:655:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
ERROR: Source/JavaScriptCore/ftl/FTLUnwindInfo.h:44:  The parameter name &quot;gpr&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/ftl/FTLUnwindInfo.h:45:  The parameter name &quot;gpr&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/ftl/FTLAbstractHeap.cpp:181:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/ftl/FTLAbstractHeap.cpp:191:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/ForwardingHeaders/yarr/RegularExpression.h:7:  &quot;JavaScriptCore/RegularExpression.h&quot; already included at Source/WebCore/ForwardingHeaders/yarr/RegularExpression.h:3  [build/include] [4]
ERROR: Source/JavaScriptCore/ftl/FTLSlowPathCall.h:62:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/ftl/FTLSlowPathCall.h:66:  The parameter name &quot;object&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebCore/ForwardingHeaders/inspector/ScriptDebugListener.h:7:  &quot;JavaScriptCore/ScriptDebugListener.h&quot; already included at Source/WebCore/ForwardingHeaders/inspector/ScriptDebugListener.h:3  [build/include] [4]
ERROR: Source/WebCore/ForwardingHeaders/inspector/ContentSearchUtilities.h:7:  &quot;JavaScriptCore/ContentSearchUtilities.h&quot; already included at Source/WebCore/ForwardingHeaders/inspector/ContentSearchUtilities.h:3  [build/include] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:116:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:120:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:123:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/ftl/FTLUnwindInfo.cpp:31:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/dfg/DFGOSRExitBase.h:70:  The parameter name &quot;jitType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/JITCode.cpp:130:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/jit/JITCode.cpp:131:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/heap/MachineStackMarker.h:31:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:126:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/JavaScriptCore/jit/JITInlineCacheGenerator.cpp:134:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:578:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/llint/LLIntData.cpp:129:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
ERROR: Source/JavaScriptCore/jit/JITInlineCacheGenerator.h:59:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/jit/JITInlineCacheGenerator.h:100:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/jit/JITInlineCacheGenerator.h:113:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:356:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:362:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:376:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:378:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:498:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 52 in 293 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972932</commentid>
    <comment_count>7</comment_count>
      <attachid>222439</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2014-01-28 08:45:51 -0800</bug_when>
    <thetext>Comment on attachment 222439
patch for EWS, integrated to the original patch with one more fix

Attachment 222439 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/4652300589072384

New failing tests:
js/large-expressions.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972933</commentid>
    <comment_count>8</comment_count>
      <attachid>222448</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2014-01-28 08:45:53 -0800</bug_when>
    <thetext>Created attachment 222448
Archive of layout-test-results from webkit-ews-06 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-06  Port: mac-mountainlion  Platform: Mac OS X 10.8.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972956</commentid>
    <comment_count>9</comment_count>
      <attachid>222439</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2014-01-28 09:14:11 -0800</bug_when>
    <thetext>Comment on attachment 222439
patch for EWS, integrated to the original patch with one more fix

Attachment 222439 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/4607192426610688

New failing tests:
js/large-expressions.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972957</commentid>
    <comment_count>10</comment_count>
      <attachid>222458</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2014-01-28 09:14:15 -0800</bug_when>
    <thetext>Created attachment 222458
Archive of layout-test-results from webkit-ews-09 for mac-mountainlion-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-09  Port: mac-mountainlion-wk2  Platform: Mac OS X 10.8.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972974</commentid>
    <comment_count>11</comment_count>
      <attachid>222439</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2014-01-28 09:54:05 -0800</bug_when>
    <thetext>Comment on attachment 222439
patch for EWS, integrated to the original patch with one more fix

Attachment 222439 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/4553432388075520

New failing tests:
js/large-expressions.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972975</commentid>
    <comment_count>12</comment_count>
      <attachid>222462</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2014-01-28 09:54:08 -0800</bug_when>
    <thetext>Created attachment 222462
Archive of layout-test-results from webkit-ews-01 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-01  Port: mac-mountainlion  Platform: Mac OS X 10.8.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972977</commentid>
    <comment_count>13</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-01-28 09:57:05 -0800</bug_when>
    <thetext>We can close it since this fix was already integrated to the original patch in https://bugs.webkit.org/show_bug.cgi?id=127763 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972983</commentid>
    <comment_count>14</comment_count>
      <attachid>222434</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-01-28 10:01:05 -0800</bug_when>
    <thetext>Comment on attachment 222434
Patch

Seems fine, but EWS says this didn’t fix the build yet.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222434</attachid>
            <date>2014-01-28 06:14:13 -0800</date>
            <delta_ts>2014-01-28 10:01:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127773-20140128151617.patch</filename>
            <type>text/plain</type>
            <size>2798</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyOTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
YjYzYTI3ZmU4NTUwZjJjMDJhMGU4OTZjY2I5NWIyOGI5ODNiOGY0Li4wMTdjY2NhNmEwNjY5ZWE3
YTI2NTZjYmYwZjBlOTI4MjI2ODZjZTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNC0wMS0yOCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgorCisgICAgICAgIEFkZCBuZXcgZmlsZXMgdG8gdGhlIEVGTCBhbmQgR1RLIGJ1aWxkIHN5
c3RlbXMgZm9yIHRoZSBqc0NTdGFjayBicmFuY2ggbWVyZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzc3MworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
R05VbWFrZWZpbGUubGlzdC5hbToKKwogMjAxNC0wMS0yNyAgSm9zZXBoIFBlY29yYXJvICA8cGVj
b3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIC1bSlNDb250ZXh0IGV2YWx1dGVTY3JpcHQ6XSBj
YWxscyBKU0V2YWx1dGVTY3JpcHQgd2l0aCBzdGFydGluZ0xpbmVOdW1iZXIgMCwgbGF0ZXIgaW50
ZXJwcmV0ZWQgYXMgYSBvbmVCYXNlZEludApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0
CmluZGV4IGY0MmEzOWRhZmQ5M2NlNDBiMmRkN2FlNjhlZmYwNzU1ZmMxNDM4ZDguLmMxNWY3ZjVj
ZGYzYjNkMDI1N2IzYTE5YjRiMDRmNDczN2RmNThmM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01h
a2VMaXN0cy50eHQKQEAgLTI1NCw2ICsyNTQsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfU09VUkNF
UwogICAgIGludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAKICAgICBpbnRlcnByZXRlci9WTUlu
c3BlY3Rvci5jcHAKIAorICAgIGppdC9Bcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5jcHAKICAg
ICBqaXQvQXNzZW1ibHlIZWxwZXJzLmNwcAogICAgIGppdC9DbG9zdXJlQ2FsbFN0dWJSb3V0aW5l
LmNwcAogICAgIGppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcApAQCAtMjc4LDYgKzI3OSw3IEBA
IHNldChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgaml0L0pJVFN0dWJzLmNwcAogICAgIGpp
dC9KSVRUaHVua3MuY3BwCiAgICAgaml0L0pJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxi
YWNrLmNwcAorICAgIGppdC9SZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuY3Bw
CiAgICAgaml0L1JlZ2lzdGVyU2V0LmNwcAogICAgIGppdC9SZXBhdGNoLmNwcAogICAgIGppdC9U
ZW1wUmVnaXN0ZXJTZXQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05V
bWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCmluZGV4IGQwNjBiNmE4ZWEzN2NlZTI3OTE0N2YzMDM5NjU3NzJkMGJkMmY2NDcuLmQ0NGNm
ZTMyY2U2Y2MzMmU2MjA0ZTJiYTNmYzZjMTgzMTQ1NTZmZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC02OTEsNiArNjkxLDggQEAgamF2YXNjcmlwdGNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1ZNSW5z
cGVjdG9yLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1ZNSW5zcGVj
dG9yLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZVByZWZpeC5oIFwK
KwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0FyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmgg
XAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3Mu
Y3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5jcHAgXAog
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmggXAogCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmggXApAQCAtNzQ0LDYgKzc0Niw4IEBAIGph
dmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
VG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCBcCiAJU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRXcml0ZUJhcnJpZXIuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
U0ludGVyZmFjZUpJVC5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyUHJl
c2VydmF0aW9uV3JhcHBlckdlbmVyYXRvci5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1JlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdlbmVyYXRvci5jcHAgXAogCVNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L1JlZ2lzdGVyU2V0LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5j
cHAgXAo=
</data>
<flag name="review"
          id="246430"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222436</attachid>
            <date>2014-01-28 06:22:39 -0800</date>
            <delta_ts>2014-01-28 06:36:56 -0800</delta_ts>
            <desc>patch for EWS, integrated to the original patch</desc>
            <filename>bug-127773-20140128152440.patch</filename>
            <type>text/plain</type>
            <size>1659038</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyOTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
YjYzYTI3ZmU4NTUwZjJjMDJhMGU4OTZjY2I5NWIyOGI5ODNiOGY0Li5hMzMwNmU5OTM2MDE4MWMx
MDVhOWM0Nzk5NjQ4YjRiNzk2ZjM1NDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw5MjMgQEAKKzIwMTQtMDEtMjggIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFw
cGxlLmNvbT4KKworICAgICAgICBBZGQgbmV3IGZpbGVzIHRvIHRoZSBFRkwgYW5kIEdUSyBidWls
ZCBzeXN0ZW1zIGZvciB0aGUganNDU3RhY2sgYnJhbmNoIG1lcmdlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc3NzMKKworICAgICAgICBGb3IgRVdT
IHRlc3Qgb25seSEgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvYXR0YWNobWVudC5jZ2k/aWQ9MjIy
NDM0IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9hdHRhY2htZW50LmNnaT9pZD0yMjI0MDYg
aW4gb25lIHBhdGNoCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgor
ICAgICAgICAqIEphdmFTY3JpcHRDb3JlLm9yZGVyOgorICAgICAgICAqIEphdmFTY3JpcHRDb3Jl
LnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBKYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGFzc2VtYmxl
ci9BUk02NEFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjppc0ludDcpOgorICAgICAgICAoSlND
Ojppc0ludDExKToKKyAgICAgICAgKEpTQzo6UGFpclBvc3RJbmRleDo6UGFpclBvc3RJbmRleCk6
CisgICAgICAgIChKU0M6OlBhaXJQb3N0SW5kZXg6Om9wZXJhdG9yIGludCk6CisgICAgICAgIChK
U0M6OlBhaXJQcmVJbmRleDo6UGFpclByZUluZGV4KToKKyAgICAgICAgKEpTQzo6UGFpclByZUlu
ZGV4OjpvcGVyYXRvciBpbnQpOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bWVtUGFp
ck9mZnNldFNoaWZ0KToKKyAgICAgICAgKEpTQzo6QVJNNjRBc3NlbWJsZXI6OmFkZCk6CisgICAg
ICAgIChKU0M6OkFSTTY0QXNzZW1ibGVyOjpsZHApOgorICAgICAgICAoSlNDOjpBUk02NEFzc2Vt
Ymxlcjo6c3RwKToKKyAgICAgICAgKEpTQzo6QVJNNjRBc3NlbWJsZXI6OnN1Yik6CisgICAgICAg
IChKU0M6OkFSTTY0QXNzZW1ibGVyOjpsb2FkU3RvcmVSZWdpc3RlclBhaXJQb3N0SW5kZXgpOgor
ICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6bG9hZFN0b3JlUmVnaXN0ZXJQYWlyUHJlSW5k
ZXgpOgorICAgICAgICAqIGFzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oOgorICAgICAgICAoSlND
OjpBUk12N0Fzc2VtYmxlcjo6YWRkKToKKyAgICAgICAgKEpTQzo6QVJNdjdBc3NlbWJsZXI6OnBv
cCk6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjpwdXNoKToKKyAgICAgICAgKEpTQzo6
QVJNdjdBc3NlbWJsZXI6OkFSTUluc3RydWN0aW9uRm9ybWF0dGVyOjp0d29Xb3JkT3AxNkltbTE2
KToKKyAgICAgICAgKiBhc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oOgorICAgICAg
ICAqIGFzc2VtYmxlci9MaW5rQnVmZmVyLmNwcDoKKyAgICAgICAgKEpTQzo6c2hvdWxkU2hvd0Rp
c2Fzc2VtYmx5Rm9yKToKKyAgICAgICAgKEpTQzo6TGlua0J1ZmZlcjo6ZmluYWxpemVDb2RlV2l0
aERpc2Fzc2VtYmx5KToKKyAgICAgICAgKiBhc3NlbWJsZXIvTGlua0J1ZmZlci5oOgorICAgICAg
ICAoSlNDOjpMaW5rQnVmZmVyOjplbnRyeXBvaW50KToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXIuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnN0b3JlUHRyKToK
KyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oOgorICAgICAgICAoSlND
OjpNYWNyb0Fzc2VtYmxlckFSTTY0OjphZGQ2NCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyQVJNNjQ6OnBvcFBhaXIpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0Ojpw
dXNoUGFpcik6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaDoKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6YWRkMzIpOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlckFSTXY3Ojpwb3BQYWlyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJs
ZXJBUk12Nzo6cHVzaFBhaXIpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTXY3Ojp0
ZXN0MzIpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckNvZGVSZWYuaDoKKyAg
ICAgICAgKEpTQzo6UmV0dXJuQWRkcmVzc1B0cjo6ZHVtcCk6CisgICAgICAgIChKU0M6Ok1hY3Jv
QXNzZW1ibGVyQ29kZVB0cjo6b3BlcmF0b3IgVW5zcGVjaWZpZWRCb29sVHlwZSopOgorICAgICAg
ICAoSlNDOjpNYWNyb0Fzc2VtYmxlckNvZGVSZWY6Om9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5
cGUqKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwu
aDogQWRkZWQuCisgICAgICAgICogYnl0ZWNvZGUvQ2FsbExpbmtJbmZvLmNwcDoKKyAgICAgICAg
KEpTQzo6Q2FsbExpbmtJbmZvOjp1bmxpbmspOgorICAgICAgICAqIGJ5dGVjb2RlL0NhbGxMaW5r
SW5mby5oOgorICAgICAgICAoSlNDOjpDYWxsTGlua0luZm86OkNhbGxMaW5rSW5mbyk6CisgICAg
ICAgICogYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuY3BwOgorICAgICAgICAoSlNDOjpDYWxsTGlu
a1N0YXR1czo6Y29tcHV0ZUZyb21MTEludCk6CisgICAgICAgIChKU0M6OkNhbGxMaW5rU3RhdHVz
Ojpjb21wdXRlRm9yKToKKyAgICAgICAgKEpTQzo6Q2FsbExpbmtTdGF0dXM6OmNvbXB1dGVERkdT
dGF0dXNlcyk6CisgICAgICAgICogYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuaDoKKyAgICAgICAg
KEpTQzo6Q2FsbExpbmtTdGF0dXM6Om1ha2VDbG9zdXJlQ2FsbCk6CisgICAgICAgICogYnl0ZWNv
ZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpkdW1wQXNzdW1pbmdK
SVRUeXBlKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUpOgorICAgICAg
ICAoSlNDOjpDb2RlQmxvY2s6OkNvZGVCbG9jayk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6
Z2V0U3R1YkluZm9NYXApOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmFkZFN0dWJJbmZvKToK
KyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpudW1iZXJPZkRGR0NvbXBpbGVzKToKKyAgICAgICAg
KEpTQzo6Q29kZUJsb2NrOjpjaGVja0lmT3B0aW1pemF0aW9uVGhyZXNob2xkUmVhY2hlZCk6Cisg
ICAgICAgIChKU0M6OkNvZGVCbG9jazo6c3RhY2tQb2ludGVyT2Zmc2V0KToKKyAgICAgICAgKiBi
eXRlY29kZS9Db2RlQmxvY2suaDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpzZXRKSVRDb2Rl
KToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpqaXRDb2RlKToKKyAgICAgICAgKEpTQzo6Q29k
ZUJsb2NrOjpzcGVjaWFsRmFzdENhc2VQcm9maWxlRm9yQnl0ZWNvZGVPZmZzZXQpOgorICAgICAg
ICAoSlNDOjpDb2RlQmxvY2s6Omhhc0V4aXRTaXRlKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2Nr
OjpsaXZlbmVzc0FuYWx5c2lzKToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlT3JpZ2luLmNwcDoK
KyAgICAgICAgKEpTQzo6Q29kZU9yaWdpbjo6aXNBcHByb3hpbWF0ZWx5RXF1YWxUbyk6CisgICAg
ICAgIChKU0M6OkNvZGVPcmlnaW46OmFwcHJveGltYXRlSGFzaCk6CisgICAgICAgICogYnl0ZWNv
ZGUvQ29kZU9yaWdpbi5oOgorICAgICAgICAoSlNDOjpDb2RlT3JpZ2luOjpDb2RlT3JpZ2luKToK
KyAgICAgICAgKEpTQzo6Q29kZU9yaWdpbjo6ZGVsZXRlZE1hcmtlcik6CisgICAgICAgIChKU0M6
OkNvZGVPcmlnaW5BcHByb3hpbWF0ZUhhc2g6Omhhc2gpOgorICAgICAgICAoSlNDOjpDb2RlT3Jp
Z2luQXBwcm94aW1hdGVIYXNoOjplcXVhbCk6CisgICAgICAgICogYnl0ZWNvZGUvREZHRXhpdFBy
b2ZpbGUuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkV4aXRQcm9maWxlOjphZGQpOgorICAgICAg
ICAoSlNDOjpERkc6OkV4aXRQcm9maWxlOjpoYXNFeGl0U2l0ZSk6CisgICAgICAgICogYnl0ZWNv
ZGUvREZHRXhpdFByb2ZpbGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpGcmVxdWVudEV4aXRTaXRl
OjpGcmVxdWVudEV4aXRTaXRlKToKKyAgICAgICAgKEpTQzo6REZHOjpGcmVxdWVudEV4aXRTaXRl
OjpvcGVyYXRvcj09KToKKyAgICAgICAgKEpTQzo6REZHOjpGcmVxdWVudEV4aXRTaXRlOjpzdWJz
dW1lcyk6CisgICAgICAgIChKU0M6OkRGRzo6RnJlcXVlbnRFeGl0U2l0ZTo6aGFzaCk6CisgICAg
ICAgIChKU0M6OkRGRzo6RnJlcXVlbnRFeGl0U2l0ZTo6aml0VHlwZSk6CisgICAgICAgIChKU0M6
OkRGRzo6RnJlcXVlbnRFeGl0U2l0ZTo6d2l0aEpJVFR5cGUpOgorICAgICAgICAoSlNDOjpERkc6
OlF1ZXJ5YWJsZUV4aXRQcm9maWxlOjpoYXNFeGl0U2l0ZSk6CisgICAgICAgICogYnl0ZWNvZGUv
RXhpdEtpbmQuaDoKKyAgICAgICAgKiBieXRlY29kZS9FeGl0aW5nSklUVHlwZS5oOiBBZGRlZC4K
KyAgICAgICAgKEpTQzo6ZXhpdGluZ0pJVFR5cGVGb3IpOgorICAgICAgICAqIGJ5dGVjb2RlL0dl
dEJ5SWRTdGF0dXMuY3BwOgorICAgICAgICAoSlNDOjpHZXRCeUlkU3RhdHVzOjpoYXNFeGl0U2l0
ZSk6CisgICAgICAgIChKU0M6OkdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IpOgorICAgICAgICAo
SlNDOjpHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm8pOgorICAgICAgICAqIGJ5dGVj
b2RlL0dldEJ5SWRTdGF0dXMuaDoKKyAgICAgICAgKiBieXRlY29kZS9Qcm9maWxlZENvZGVCbG9j
a0pldHRpc29uaW5nV2F0Y2hwb2ludC5jcHA6CisgICAgICAgIChKU0M6OlByb2ZpbGVkQ29kZUJs
b2NrSmV0dGlzb25pbmdXYXRjaHBvaW50OjpmaXJlSW50ZXJuYWwpOgorICAgICAgICAqIGJ5dGVj
b2RlL1B1dEJ5SWRTdGF0dXMuY3BwOgorICAgICAgICAoSlNDOjpQdXRCeUlkU3RhdHVzOjpoYXNF
eGl0U2l0ZSk6CisgICAgICAgIChKU0M6OlB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IpOgorICAg
ICAgICAoSlNDOjpQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yU3R1YkluZm8pOgorICAgICAgICAq
IGJ5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuaDoKKyAgICAgICAgKiBieXRlY29kZS9TdHJ1Y3R1cmVT
ZXQuaDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlU2V0OjpTdHJ1Y3R1cmVTZXQpOgorICAgICAg
ICAoSlNDOjpTdHJ1Y3R1cmVTZXQ6OmFkZCk6CisgICAgICAgICogYnl0ZWNvZGUvU3RydWN0dXJl
U3R1YkluZm8uaDoKKyAgICAgICAgKiBieXRlY29kZS9WYWx1ZVJlY292ZXJ5Lmg6CisgICAgICAg
IChKU0M6OlZhbHVlUmVjb3Zlcnk6OndpdGhMb2NhbHNPZmZzZXQpOgorICAgICAgICAqIGJ5dGVj
b2RlL1ZpcnR1YWxSZWdpc3Rlci5oOgorICAgICAgICAoSlNDOjpWaXJ0dWFsUmVnaXN0ZXI6Om9m
ZnNldEluQnl0ZXMpOgorICAgICAgICAqIGRlYnVnZ2VyL0RlYnVnZ2VyQ2FsbEZyYW1lLmNwcDoK
KyAgICAgICAgKiBkZmcvREZHQXJyYXlNb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBcnJh
eU1vZGU6OnJlZmluZSk6CisgICAgICAgICogZGZnL0RGR0FycmF5TW9kZS5oOgorICAgICAgICAq
IGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQ
YXJzZXI6OmFkZENhbGwpOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpoYW5k
bGVDYWxsKToKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6aGFuZGxlSW5saW5p
bmcpOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVHZXRCeUlkKToK
KyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAg
IChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlKToKKyAgICAgICAgKiBkZmcvREZHQ0ZH
U2ltcGxpZmljYXRpb25QaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Q0ZHU2ltcGxpZmlj
YXRpb25QaGFzZTo6cnVuKToKKyAgICAgICAgKiBkZmcvREZHQ1NFUGhhc2UuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OkNTRVBoYXNlOjppbnZhbGlkYXRpb25Qb2ludEVsaW1pbmF0aW9uKToKKyAg
ICAgICAgKEpTQzo6REZHOjpDU0VQaGFzZTo6cGVyZm9ybU5vZGVDU0UpOgorICAgICAgICAqIGRm
Zy9ERkdDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNhcGFiaWxpdHlMZXZl
bCk6CisgICAgICAgICogZGZnL0RGR0NhcGFiaWxpdGllcy5oOgorICAgICAgICAoSlNDOjpERkc6
OmlubGluZUZ1bmN0aW9uRm9yQ2FsbENhcGFiaWxpdHlMZXZlbCk6CisgICAgICAgIChKU0M6OkRG
Rzo6aW5saW5lRnVuY3Rpb25Gb3JDbG9zdXJlQ2FsbENhcGFiaWxpdHlMZXZlbCk6CisgICAgICAg
IChKU0M6OkRGRzo6aW5saW5lRnVuY3Rpb25Gb3JDb25zdHJ1Y3RDYXBhYmlsaXR5TGV2ZWwpOgor
ICAgICAgICAoSlNDOjpERkc6OmlubGluZUZ1bmN0aW9uRm9yQ2FwYWJpbGl0eUxldmVsKToKKyAg
ICAgICAgKiBkZmcvREZHQ29tbW9uLmg6CisgICAgICAgICogZGZnL0RGR0NvbXBpbGF0aW9uTW9k
ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmlzRlRMKToKKyAgICAgICAgKiBkZmcvREZHRHJpdmVy
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpjb21waWxlSW1wbCk6CisgICAgICAgIChKU0M6OkRG
Rzo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR0RyaXZlci5oOgorICAgICAgICAqIGRmZy9E
RkdGYWlsZWRGaW5hbGl6ZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZhaWxlZEZpbmFsaXpl
cjo6Y29kZVNpemUpOgorICAgICAgICAqIGRmZy9ERkdGYWlsZWRGaW5hbGl6ZXIuaDoKKyAgICAg
ICAgKiBkZmcvREZHRmluYWxpemVyLmg6CisgICAgICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3Bw
OgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6OmZpeHVwTm9kZSk6CisgICAgICAgIChK
U0M6OkRGRzo6Rml4dXBQaGFzZTo6Zml4dXBTZXRMb2NhbHNJbkJsb2NrKToKKyAgICAgICAgKEpT
Qzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cFVudHlwZWRTZXRMb2NhbHNJbkJsb2NrKToKKyAgICAg
ICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXhFZGdlKToKKyAgICAgICAgKEpTQzo6REZHOjpG
aXh1cFBoYXNlOjppbnNlcnRTdG9yZUJhcnJpZXIpOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVw
UGhhc2U6OmZpeEludEVkZ2UpOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6OmluamVj
dEludDMyVG9Eb3VibGVOb2RlKToKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjphdHRl
bXB0VG9NYWtlR2V0QXJyYXlMZW5ndGgpOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhhc2U6
OmFkZFBoYW50b21zSWZOZWNlc3NhcnkpOgorICAgICAgICAqIGRmZy9ERkdHcmFwaC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6R3JhcGg6OmlzTGl2ZUluQnl0ZWNvZGUpOgorICAgICAgICAoSlND
OjpERkc6OkdyYXBoOjpmcmFtZVJlZ2lzdGVyQ291bnQpOgorICAgICAgICAoSlNDOjpERkc6Okdy
YXBoOjpzdGFja1BvaW50ZXJPZmZzZXQpOgorICAgICAgICAqIGRmZy9ERkdHcmFwaC5oOgorICAg
ICAgICAqIGRmZy9ERkdKSVRDb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb2RlOjpz
ZXRPcHRpbWl6YXRpb25UaHJlc2hvbGRCYXNlZE9uQ29tcGlsYXRpb25SZXN1bHQpOgorICAgICAg
ICAqIGRmZy9ERkdKSVRDb2RlLmg6CisgICAgICAgICogZGZnL0RGR0pJVENvbXBpbGVyLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpKSVRDb21waWxlcjo6Y29tcGlsZUVudHJ5KToKKyAgICAgICAg
KEpTQzo6REZHOjpKSVRDb21waWxlcjo6Y29tcGlsZUV4Y2VwdGlvbkhhbmRsZXJzKToKKyAgICAg
ICAgKEpTQzo6REZHOjpKSVRDb21waWxlcjo6bGluayk6CisgICAgICAgIChKU0M6OkRGRzo6SklU
Q29tcGlsZXI6OmNvbXBpbGUpOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvbXBpbGVyOjpjb21w
aWxlRnVuY3Rpb24pOgorICAgICAgICAqIGRmZy9ERkdKSVRDb21waWxlci5oOgorICAgICAgICAo
SlNDOjpERkc6OkpJVENvbXBpbGVyOjpjdXJyZW50SlNDYWxsSW5kZXgpOgorICAgICAgICAqIGRm
Zy9ERkdKSVRGaW5hbGl6ZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkpJVEZpbmFsaXplcjo6
Y29kZVNpemUpOgorICAgICAgICAoSlNDOjpERkc6OkpJVEZpbmFsaXplcjo6ZmluYWxpemUpOgor
ICAgICAgICAoSlNDOjpERkc6OkpJVEZpbmFsaXplcjo6ZmluYWxpemVGdW5jdGlvbik6CisgICAg
ICAgIChKU0M6OkRGRzo6SklURmluYWxpemVyOjpmaW5hbGl6ZUNvbW1vbik6CisgICAgICAgICog
ZGZnL0RGR0pJVEZpbmFsaXplci5oOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAgICAg
IChKU0M6OkRGRzo6Tm9kZTo6aXNTZW1hbnRpY2FsbHlTa2lwcGFibGUpOgorICAgICAgICAqIGRm
Zy9ERkdOb2RlRmxhZ3MuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmR1bXBOb2RlRmxhZ3MpOgor
ICAgICAgICAqIGRmZy9ERkdPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpPU1JBdmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlOjpydW4pOgorICAgICAg
ICAqIGRmZy9ERkdPU1JFbnRyeS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6cHJlcGFyZU9TUkVu
dHJ5KToKKyAgICAgICAgKiBkZmcvREZHT1NSRW50cnlwb2ludENyZWF0aW9uUGhhc2UuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6Ok9TUkVudHJ5cG9pbnRDcmVhdGlvblBoYXNlOjpydW4pOgorICAg
ICAgICAqIGRmZy9ERkdPU1JFeGl0Lmg6CisgICAgICAgIChKU0M6OkRGRzo6T1NSRXhpdDo6Y29u
c2lkZXJBZGRpbmdBc0ZyZXF1ZW50RXhpdFNpdGUpOgorICAgICAgICAqIGRmZy9ERkdPU1JFeGl0
QmFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6T1NSRXhpdEJhc2U6OmNvbnNpZGVyQWRkaW5n
QXNGcmVxdWVudEV4aXRTaXRlU2xvdyk6CisgICAgICAgICogZGZnL0RGR09TUkV4aXRCYXNlLmg6
CisgICAgICAgIChKU0M6OkRGRzo6T1NSRXhpdEJhc2U6OmNvbnNpZGVyQWRkaW5nQXNGcmVxdWVu
dEV4aXRTaXRlKToKKyAgICAgICAgKiBkZmcvREZHT1NSRXhpdENvbXBpbGVyLmNwcDoKKyAgICAg
ICAgKiBkZmcvREZHT1NSRXhpdENvbXBpbGVyMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6
Ok9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQpOgorICAgICAgICAqIGRmZy9ERkdPU1JFeGl0
Q29tcGlsZXI2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6T1NSRXhpdENvbXBpbGVyOjpjb21w
aWxlRXhpdCk6CisgICAgICAgICogZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6YWRqdXN0QW5kSnVtcFRvVGFyZ2V0KToKKyAgICAgICAgKiBkZmcv
REZHT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogZGZnL0RGR1BsYW4uY3BwOgorICAgICAgICAo
SlNDOjpERkc6OnByb2ZpbGVyQ29tcGlsYXRpb25LaW5kRm9yTW9kZSk6CisgICAgICAgIChKU0M6
OkRGRzo6UGxhbjo6UGxhbik6CisgICAgICAgIChKU0M6OkRGRzo6UGxhbjo6cmVwb3J0Q29tcGls
ZVRpbWVzKToKKyAgICAgICAgKEpTQzo6REZHOjpQbGFuOjpjb21waWxlSW5UaHJlYWQpOgorICAg
ICAgICAoSlNDOjpERkc6OlBsYW46OmNvbXBpbGVJblRocmVhZEltcGwpOgorICAgICAgICAqIGRm
Zy9ERkdQbGFuLmg6CisgICAgICAgICogZGZnL0RGR1NTQUxvd2VyaW5nUGhhc2UuY3BwOgorICAg
ICAgICAoSlNDOjpERkc6OlNTQUxvd2VyaW5nUGhhc2U6OmhhbmRsZU5vZGUpOgorICAgICAgICAo
SlNDOjpERkc6OlNTQUxvd2VyaW5nUGhhc2U6Omxvd2VyQm91bmRzQ2hlY2spOgorICAgICAgICAq
IGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVDdXJyZW50QmxvY2spOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0
aXZlSklUOjpwcmVwYXJlSklUQ29kZUZvclRpZXJVcCk6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklU
Ojpjb21waWxlUHV0QnlWYWxGb3JJbnRUeXBlZEFycmF5KToKKyAgICAgICAgKEpTQzo6REZHOjpT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5VmFsRm9yRmxvYXRUeXBlZEFycmF5KToKKyAgICAg
ICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUFyaXRoTW9kKToKKyAgICAgICAg
KiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2
ZUpJVDo6Y2FsbGVlRnJhbWVPZmZzZXQpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjpjYWxsZWVGcmFtZVNsb3QpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklU
OjpjYWxsZWVBcmd1bWVudFNsb3QpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklU
OjpjYWxsZWVGcmFtZVRhZ1Nsb3QpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklU
OjpjYWxsZWVGcmFtZVBheWxvYWRTbG90KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2
ZUpJVDo6Y2FsbGVlQXJndW1lbnRUYWdTbG90KToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxh
dGl2ZUpJVDo6Y2FsbGVlQXJndW1lbnRQYXlsb2FkU2xvdCk6CisgICAgICAgIChKU0M6OkRGRzo6
U3BlY3VsYXRpdmVKSVQ6OmNhbGxlZUZyYW1lQ2FsbGVyRnJhbWUpOgorICAgICAgICAqIGRmZy9E
RkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2
ZUpJVDo6Y2FjaGVkR2V0QnlJZCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6
OmNhY2hlZFB1dEJ5SWQpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjplbWl0
Q2FsbCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAg
ICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpT
cGVjdWxhdGl2ZUpJVDo6Y2FjaGVkR2V0QnlJZCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3Vs
YXRpdmVKSVQ6OmNhY2hlZFB1dEJ5SWQpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZl
SklUOjplbWl0Q2FsbCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGUpOgorICAgICAgICAqIGRmZy9ERkdUaWVyVXBDaGVja0luamVjdGlvblBoYXNlLmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpUaWVyVXBDaGVja0luamVjdGlvblBoYXNlOjpydW4pOgorICAgICAg
ICAqIGRmZy9ERkdWYWxpZGF0ZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6VmFsaWRhdGU6OnZh
bGlkYXRlKToKKyAgICAgICAgKiBkZmcvREZHV29ya2xpc3QuY3BwOgorICAgICAgICAoSlNDOjpE
Rkc6OmVuc3VyZUdsb2JhbERGR1dvcmtsaXN0KToKKyAgICAgICAgKEpTQzo6REZHOjpleGlzdGlu
Z0dsb2JhbERGR1dvcmtsaXN0T3JOdWxsKToKKyAgICAgICAgKEpTQzo6REZHOjplbnN1cmVHbG9i
YWxGVExXb3JrbGlzdCk6CisgICAgICAgIChKU0M6OkRGRzo6ZXhpc3RpbmdHbG9iYWxGVExXb3Jr
bGlzdE9yTnVsbCk6CisgICAgICAgIChKU0M6OkRGRzo6ZW5zdXJlR2xvYmFsV29ya2xpc3RGb3Ip
OgorICAgICAgICAqIGRmZy9ERkdXb3JrbGlzdC5oOgorICAgICAgICAqIGRpc2Fzc2VtYmxlci9B
Uk02NC9BNjRET3Bjb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6QVJNNjREaXNhc3NlbWJsZXI6OkE2
NERPcGNvZGU6OmFwcGVuZFJlZ2lzdGVyTmFtZSk6CisgICAgICAgIChKU0M6OkFSTTY0RGlzYXNz
ZW1ibGVyOjpBNjRET3Bjb2RlTG9hZFN0b3JlUmVnaXN0ZXJQYWlyOjpvcE5hbWUpOgorICAgICAg
ICAoSlNDOjpBUk02NERpc2Fzc2VtYmxlcjo6QTY0RE9wY29kZUxvYWRTdG9yZVJlZ2lzdGVyUGFp
cjo6Zm9ybWF0KToKKyAgICAgICAgKiBkaXNhc3NlbWJsZXIvQVJNNjQvQTY0RE9wY29kZS5oOgor
ICAgICAgICAoSlNDOjpBUk02NERpc2Fzc2VtYmxlcjo6QTY0RE9wY29kZUxvYWRTdG9yZVJlZ2lz
dGVyUGFpcjo6cnQyKToKKyAgICAgICAgKEpTQzo6QVJNNjREaXNhc3NlbWJsZXI6OkE2NERPcGNv
ZGVMb2FkU3RvcmVSZWdpc3RlclBhaXI6OmltbWVkaWF0ZTcpOgorICAgICAgICAoSlNDOjpBUk02
NERpc2Fzc2VtYmxlcjo6QTY0RE9wY29kZUxvYWRTdG9yZVJlZ2lzdGVyUGFpcjo6b2Zmc2V0TW9k
ZSk6CisgICAgICAgIChKU0M6OkFSTTY0RGlzYXNzZW1ibGVyOjpBNjRET3Bjb2RlTG9hZFN0b3Jl
UmVnaXN0ZXJQYWlyOjpsQml0KToKKyAgICAgICAgKiBmdGwvRlRMQWJicmV2aWF0aW9ucy5oOgor
ICAgICAgICAoSlNDOjpGVEw6OmFycmF5VHlwZSk6CisgICAgICAgIChKU0M6OkZUTDo6YWRkVGFy
Z2V0RGVwZW5kZW50RnVuY3Rpb25BdHRyKToKKyAgICAgICAgKiBmdGwvRlRMQWJzdHJhY3RIZWFw
LmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpJbmRleGVkQWJzdHJhY3RIZWFwOjpJbmRleGVkQWJz
dHJhY3RIZWFwKToKKyAgICAgICAgKEpTQzo6RlRMOjpJbmRleGVkQWJzdHJhY3RIZWFwOjpiYXNl
SW5kZXgpOgorICAgICAgICAoSlNDOjpGVEw6OkluZGV4ZWRBYnN0cmFjdEhlYXA6OmluaXRpYWxp
emUpOgorICAgICAgICAoSlNDOjpGVEw6Ok51bWJlcmVkQWJzdHJhY3RIZWFwOjpOdW1iZXJlZEFi
c3RyYWN0SGVhcCk6CisgICAgICAgIChKU0M6OkZUTDo6QWJzb2x1dGVBYnN0cmFjdEhlYXA6OkFi
c29sdXRlQWJzdHJhY3RIZWFwKToKKyAgICAgICAgKiBmdGwvRlRMQWJzdHJhY3RIZWFwLmg6Cisg
ICAgICAgICogZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwOgorICAgICAgICAoSlND
OjpGVEw6OkFic3RyYWN0SGVhcFJlcG9zaXRvcnk6OkFic3RyYWN0SGVhcFJlcG9zaXRvcnkpOgor
ICAgICAgICAqIGZ0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRs
L0ZUTEF2YWlsYWJsZVJlY292ZXJ5LmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6OkZUTDo6QXZh
aWxhYmxlUmVjb3Zlcnk6OmR1bXApOgorICAgICAgICAqIGZ0bC9GVExBdmFpbGFibGVSZWNvdmVy
eS5oOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6RlRMOjpBdmFpbGFibGVSZWNvdmVyeTo6QXZhaWxh
YmxlUmVjb3ZlcnkpOgorICAgICAgICAoSlNDOjpGVEw6OkF2YWlsYWJsZVJlY292ZXJ5Ojpub2Rl
KToKKyAgICAgICAgKEpTQzo6RlRMOjpBdmFpbGFibGVSZWNvdmVyeTo6Zm9ybWF0KToKKyAgICAg
ICAgKEpTQzo6RlRMOjpBdmFpbGFibGVSZWNvdmVyeTo6b3Bjb2RlKToKKyAgICAgICAgKEpTQzo6
RlRMOjpBdmFpbGFibGVSZWNvdmVyeTo6bGVmdCk6CisgICAgICAgIChKU0M6OkZUTDo6QXZhaWxh
YmxlUmVjb3Zlcnk6OnJpZ2h0KToKKyAgICAgICAgKiBmdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoK
KyAgICAgICAgKEpTQzo6RlRMOjp2ZXJib3NlQ2FwYWJpbGl0aWVzKToKKyAgICAgICAgKEpTQzo6
RlRMOjpjYW5Db21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMQ29tbW9uVmFsdWVzLmNwcDoKKyAg
ICAgICAgKEpTQzo6RlRMOjpDb21tb25WYWx1ZXM6OkNvbW1vblZhbHVlcyk6CisgICAgICAgICog
ZnRsL0ZUTENvbW1vblZhbHVlcy5oOgorICAgICAgICAqIGZ0bC9GVExDb21waWxlLmNwcDoKKyAg
ICAgICAgKEpTQzo6RlRMOjptbUFsbG9jYXRlQ29kZVNlY3Rpb24pOgorICAgICAgICAoSlNDOjpG
VEw6OmZpeEZ1bmN0aW9uQmFzZWRPblN0YWNrTWFwcyk6CisgICAgICAgIChKU0M6OkZUTDo6Y29t
cGlsZSk6CisgICAgICAgICogZnRsL0ZUTEV4aXRWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkZU
TDo6RXhpdFZhbHVlOjpkdW1wSW5Db250ZXh0KToKKyAgICAgICAgKiBmdGwvRlRMRXhpdFZhbHVl
Lmg6CisgICAgICAgIChKU0M6OkZUTDo6RXhpdFZhbHVlOjpyZWNvdmVyeSk6CisgICAgICAgIChK
U0M6OkZUTDo6RXhpdFZhbHVlOjppc1JlY292ZXJ5KToKKyAgICAgICAgKEpTQzo6RlRMOjpFeGl0
VmFsdWU6OmxlZnRSZWNvdmVyeUFyZ3VtZW50KToKKyAgICAgICAgKEpTQzo6RlRMOjpFeGl0VmFs
dWU6OnJpZ2h0UmVjb3ZlcnlBcmd1bWVudCk6CisgICAgICAgIChKU0M6OkZUTDo6RXhpdFZhbHVl
OjpyZWNvdmVyeUZvcm1hdCk6CisgICAgICAgIChKU0M6OkZUTDo6RXhpdFZhbHVlOjpyZWNvdmVy
eU9wY29kZSk6CisgICAgICAgIChKU0M6OkZUTDo6RXhpdFZhbHVlOjp3aXRoVmlydHVhbFJlZ2lz
dGVyKToKKyAgICAgICAgKEpTQzo6RlRMOjpFeGl0VmFsdWU6OnZhbHVlRm9ybWF0KToKKyAgICAg
ICAgKiBmdGwvRlRMSW5saW5lQ2FjaGVTaXplLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpzaXpl
T2ZDYWxsKToKKyAgICAgICAgKiBmdGwvRlRMSW5saW5lQ2FjaGVTaXplLmg6CisgICAgICAgICog
ZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaDoKKyAgICAgICAgKiBmdGwvRlRMSklUQ29kZS5j
cHA6CisgICAgICAgIChKU0M6OkZUTDo6SklUQ29kZTo6aW5pdGlhbGl6ZUFyaXR5Q2hlY2tFbnRy
eXBvaW50KToKKyAgICAgICAgKEpTQzo6RlRMOjpKSVRDb2RlOjppbml0aWFsaXplQWRkcmVzc0Zv
ckNhbGwpOgorICAgICAgICAoSlNDOjpGVEw6OkpJVENvZGU6OmFkZHJlc3NGb3JDYWxsKToKKyAg
ICAgICAgKEpTQzo6RlRMOjpKSVRDb2RlOjpleGVjdXRhYmxlQWRkcmVzc0F0T2Zmc2V0KToKKyAg
ICAgICAgKEpTQzo6RlRMOjpKSVRDb2RlOjpkYXRhQWRkcmVzc0F0T2Zmc2V0KToKKyAgICAgICAg
KEpTQzo6RlRMOjpKSVRDb2RlOjpvZmZzZXRPZik6CisgICAgICAgIChKU0M6OkZUTDo6SklUQ29k
ZTo6c2l6ZSk6CisgICAgICAgIChKU0M6OkZUTDo6SklUQ29kZTo6Y29udGFpbnMpOgorICAgICAg
ICAqIGZ0bC9GVExKSVRDb2RlLmg6CisgICAgICAgICogZnRsL0ZUTEpJVEZpbmFsaXplci5jcHA6
CisgICAgICAgIChKU0M6OkZUTDo6SklURmluYWxpemVyOjpjb2RlU2l6ZSk6CisgICAgICAgIChK
U0M6OkZUTDo6SklURmluYWxpemVyOjpmaW5hbGl6ZUZ1bmN0aW9uKToKKyAgICAgICAgKiBmdGwv
RlRMSklURmluYWxpemVyLmg6CisgICAgICAgICogZnRsL0ZUTEpTQ2FsbC5jcHA6IEFkZGVkLgor
ICAgICAgICAoSlNDOjpGVEw6OkpTQ2FsbDo6SlNDYWxsKToKKyAgICAgICAgKEpTQzo6RlRMOjpK
U0NhbGw6OmVtaXQpOgorICAgICAgICAoSlNDOjpGVEw6OkpTQ2FsbDo6bGluayk6CisgICAgICAg
ICogZnRsL0ZUTEpTQ2FsbC5oOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6RlRMOjpKU0NhbGw6OnN0
YWNrbWFwSUQpOgorICAgICAgICAoSlNDOjpGVEw6OkpTQ2FsbDo6b3BlcmF0b3I8KToKKyAgICAg
ICAgKiBmdGwvRlRMTGluay5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6bGluayk6CisgICAgICAg
ICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRG
R1RvTExWTTo6bG93ZXIpOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21w
aWxlTm9kZSk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVBcml0
aEFkZE9yU3ViKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUFy
aXRoTXVsKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUFyaXRo
RGl2KToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUFyaXRoTW9k
KToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUFyaXRoU2luKToK
KyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUFyaXRoQ29zKToKKyAg
ICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUFyaXRoU3FydCk6CisgICAg
ICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVBcml0aE5lZ2F0ZSk6CisgICAg
ICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVDaGVja0V4ZWN1dGFibGUpOgor
ICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlR2V0QnlJZCk6CisgICAg
ICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVQdXRCeUlkKToKKyAgICAgICAg
KEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUdldEFycmF5TGVuZ3RoKToKKyAgICAg
ICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUdldEJ5VmFsKToKKyAgICAgICAg
KEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZVB1dEJ5VmFsKToKKyAgICAgICAgKEpT
Qzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU5ld0FycmF5V2l0aFNpemUpOgorICAgICAg
ICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlVG9TdHJpbmcpOgorICAgICAgICAo
SlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTWFrZVJvcGUpOgorICAgICAgICAoSlND
OjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlU3RyaW5nQ2hhckF0KToKKyAgICAgICAgKEpT
Qzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZVN0cmluZ0NoYXJDb2RlQXQpOgorICAgICAg
ICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlR2V0Q2FsbGVlKToKKyAgICAgICAg
KEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUdldFNjb3BlKToKKyAgICAgICAgKEpT
Qzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUNhbGxPckNvbnN0cnVjdCk6CisgICAgICAg
IChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVTd2l0Y2gpOgorICAgICAgICAoSlND
OjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlQ2hlY2tBcmd1bWVudHNOb3RDcmVhdGVkKToK
KyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUNvdW50RXhlY3V0aW9u
KToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6dHlwZWRBcnJheUxlbmd0aCk6
CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmJvb2xpZnkpOgorICAgICAgICAo
SlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb250aWd1b3VzUHV0QnlWYWxPdXRPZkJvdW5kcyk6
CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OnNwZWN1bGF0ZSk6CisgICAgICAg
IChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OnNwZWN1bGF0ZVN0cmluZ09iamVjdCk6CisgICAg
ICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OnNwZWN1bGF0ZVN0cmluZ09yU3RyaW5nT2Jq
ZWN0KToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6c3BlY3VsYXRlU3RyaW5n
T2JqZWN0Rm9yQ2VsbCk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OnNwZWN1
bGF0ZVN0cmluZ09iamVjdEZvclN0cnVjdHVyZSk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJE
RkdUb0xMVk06OmNhbGxDaGVjayk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06
OmFwcGVuZE9TUkV4aXQpOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpidWls
ZEV4aXRBcmd1bWVudHMpOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjYWxs
U3RhY2ttYXApOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjphZGRFeGl0QXJn
dW1lbnRGb3JOb2RlKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6ZG9lc0tp
bGwpOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjphZGRBdmFpbGFibGVSZWNv
dmVyeSk6CisgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OnBheWxvYWRGb3IpOgor
ICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjp0YWdGb3IpOgorICAgICAgICAoSlND
OjpGVEw6Okxvd2VyREZHVG9MTFZNOjphZGRyZXNzRm9yKToKKyAgICAgICAgKiBmdGwvRlRMT1NS
RW50cnkuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OnByZXBhcmVPU1JFbnRyeSk6CisgICAgICAg
ICogZnRsL0ZUTE9TUkV4aXQuaDoKKyAgICAgICAgKEpTQzo6RlRMOjpPU1JFeGl0Ojpjb25zaWRl
ckFkZGluZ0FzRnJlcXVlbnRFeGl0U2l0ZSk6CisgICAgICAgICogZnRsL0ZUTE9TUkV4aXRDb21w
aWxlci5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y29tcGlsZVN0dWIpOgorICAgICAgICAqIGZ0
bC9GVExPdXRwdXQuaDoKKyAgICAgICAgKEpTQzo6RlRMOjpPdXRwdXQ6OmRvdWJsZVNpbik6Cisg
ICAgICAgIChKU0M6OkZUTDo6T3V0cHV0Ojpkb3VibGVDb3MpOgorICAgICAgICAoSlNDOjpGVEw6
Ok91dHB1dDo6ZG91YmxlU3FydCk6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0OjpwdHJUb0lu
dCk6CisgICAgICAgIChKU0M6OkZUTDo6T3V0cHV0Ojphc2NyaWJlUmFuZ2UpOgorICAgICAgICAo
SlNDOjpGVEw6Ok91dHB1dDo6bm9uTmVnYXRpdmUzMik6CisgICAgICAgIChKU0M6OkZUTDo6T3V0
cHV0Ojpsb2FkMzJOb25OZWdhdGl2ZSk6CisgICAgICAgICogZnRsL0ZUTFJlY292ZXJ5T3Bjb2Rl
LmNwcDogQWRkZWQuCisgICAgICAgIChXVEY6OnByaW50SW50ZXJuYWwpOgorICAgICAgICAqIGZ0
bC9GVExSZWNvdmVyeU9wY29kZS5oOiBBZGRlZC4KKyAgICAgICAgKiBmdGwvRlRMUmVnaXN0ZXJB
dE9mZnNldC5jcHA6IEFkZGVkLgorICAgICAgICAoSlNDOjpGVEw6OlJlZ2lzdGVyQXRPZmZzZXQ6
OmR1bXApOgorICAgICAgICAqIGZ0bC9GVExSZWdpc3RlckF0T2Zmc2V0Lmg6IEFkZGVkLgorICAg
ICAgICAoSlNDOjpGVEw6OlJlZ2lzdGVyQXRPZmZzZXQ6OlJlZ2lzdGVyQXRPZmZzZXQpOgorICAg
ICAgICAoSlNDOjpGVEw6OlJlZ2lzdGVyQXRPZmZzZXQ6Om9wZXJhdG9yISk6CisgICAgICAgIChK
U0M6OkZUTDo6UmVnaXN0ZXJBdE9mZnNldDo6Z3ByKToKKyAgICAgICAgKEpTQzo6RlRMOjpSZWdp
c3RlckF0T2Zmc2V0OjpvZmZzZXQpOgorICAgICAgICAoSlNDOjpGVEw6OlJlZ2lzdGVyQXRPZmZz
ZXQ6Om9wZXJhdG9yPT0pOgorICAgICAgICAoSlNDOjpGVEw6OlJlZ2lzdGVyQXRPZmZzZXQ6Om9w
ZXJhdG9yPCk6CisgICAgICAgIChKU0M6OkZUTDo6UmVnaXN0ZXJBdE9mZnNldDo6Z2V0R1BSKToK
KyAgICAgICAgKiBmdGwvRlRMU2xvd1BhdGhDYWxsLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpz
dG9yZUNvZGVPcmlnaW4pOgorICAgICAgICAoSlNDOjpGVEw6OmNhbGxPcGVyYXRpb24pOgorICAg
ICAgICAqIGZ0bC9GVExTbG93UGF0aENhbGwuaDoKKyAgICAgICAgKiBmdGwvRlRMU3RhY2tNYXBz
LmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpTdGFja01hcHM6OlJlY29yZDo6cGFyc2UpOgorICAg
ICAgICAqIGZ0bC9GVExTdGFja01hcHMuaDoKKyAgICAgICAgKiBmdGwvRlRMU3RhdGUuY3BwOgor
ICAgICAgICAoSlNDOjpGVEw6OlN0YXRlOjpTdGF0ZSk6CisgICAgICAgICogZnRsL0ZUTFN0YXRl
Lmg6CisgICAgICAgICogZnRsL0ZUTFRodW5rcy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6b3Ny
RXhpdEdlbmVyYXRpb25UaHVua0dlbmVyYXRvcik6CisgICAgICAgIChKU0M6OkZUTDo6c2xvd1Bh
dGhDYWxsVGh1bmtHZW5lcmF0b3IpOgorICAgICAgICAqIGZ0bC9GVExUaHVua3MuaDoKKyAgICAg
ICAgKiBmdGwvRlRMVW53aW5kSW5mby5jcHA6IEFkZGVkLgorICAgICAgICAoSlNDOjpGVEw6OlVu
d2luZEluZm86OlVud2luZEluZm8pOgorICAgICAgICAoSlNDOjpGVEw6OlVud2luZEluZm86On5V
bndpbmRJbmZvKToKKyAgICAgICAgKEpTQzo6RlRMOjpVbndpbmRJbmZvOjpwYXJzZSk6CisgICAg
ICAgIChKU0M6OkZUTDo6VW53aW5kSW5mbzo6ZHVtcCk6CisgICAgICAgIChKU0M6OkZUTDo6VW53
aW5kSW5mbzo6ZmluZCk6CisgICAgICAgIChKU0M6OkZUTDo6VW53aW5kSW5mbzo6aW5kZXhPZik6
CisgICAgICAgICogZnRsL0ZUTFVud2luZEluZm8uaDogQWRkZWQuCisgICAgICAgICogZnRsL0ZU
TFZhbHVlUmFuZ2UuY3BwOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6RlRMOjpWYWx1ZVJhbmdlOjpk
ZWNvcmF0ZUluc3RydWN0aW9uKToKKyAgICAgICAgKiBmdGwvRlRMVmFsdWVSYW5nZS5oOiBBZGRl
ZC4KKyAgICAgICAgKEpTQzo6RlRMOjpWYWx1ZVJhbmdlOjpWYWx1ZVJhbmdlKToKKyAgICAgICAg
KEpTQzo6RlRMOjpWYWx1ZVJhbmdlOjpiZWdpbik6CisgICAgICAgIChKU0M6OkZUTDo6VmFsdWVS
YW5nZTo6ZW5kKToKKyAgICAgICAgKiBoZWFwL0NvbnNlcnZhdGl2ZVJvb3RzLmNwcDoKKyAgICAg
ICAgKEpTQzo6Q29uc2VydmF0aXZlUm9vdHM6OmdlbmVyaWNBZGRTcGFuKToKKyAgICAgICAgKiBo
ZWFwL0hlYXAuY3BwOgorICAgICAgICAoSlNDOjpIZWFwOjptYXJrUm9vdHMpOgorICAgICAgICAo
SlNDOjpIZWFwOjpjb2xsZWN0SWZOZWNlc3NhcnlPckRlZmVyKToKKyAgICAgICAgKiBoZWFwL0hl
YXAuaDoKKyAgICAgICAgKEpTQzo6SGVhcDo6aXNEZWZlcnJlZCk6CisgICAgICAgICogaGVhcC9N
YWNoaW5lU3RhY2tNYXJrZXIuY3BwOgorICAgICAgICAoSlNDOjpNYWNoaW5lVGhyZWFkczo6Z2F0
aGVyRnJvbUN1cnJlbnRUaHJlYWQpOgorICAgICAgICAoSlNDOjpNYWNoaW5lVGhyZWFkczo6Z2F0
aGVyRnJvbU90aGVyVGhyZWFkKToKKyAgICAgICAgKEpTQzo6TWFjaGluZVRocmVhZHM6OmdhdGhl
ckNvbnNlcnZhdGl2ZVJvb3RzKToKKyAgICAgICAgKiBoZWFwL01hY2hpbmVTdGFja01hcmtlci5o
OgorICAgICAgICAqIGludGVycHJldGVyL0NhbGxGcmFtZS5jcHA6CisgICAgICAgIChKU0M6OkNh
bGxGcmFtZTo6dG9wT2ZGcmFtZUludGVybmFsKToKKyAgICAgICAgKiBpbnRlcnByZXRlci9DYWxs
RnJhbWUuaDoKKyAgICAgICAgKEpTQzo6RXhlY1N0YXRlOjp0b3BPZkZyYW1lKToKKyAgICAgICAg
KiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0M6OnNpemVGcmFtZUZv
clZhcmFyZ3MpOgorICAgICAgICAoSlNDOjp1bndpbmRDYWxsRnJhbWUpOgorICAgICAgICAoSlND
OjpJbnRlcnByZXRlcjo6dW53aW5kKToKKyAgICAgICAgKEpTQzo6SW50ZXJwcmV0ZXI6OmV4ZWN1
dGUpOgorICAgICAgICAoSlNDOjpJbnRlcnByZXRlcjo6ZXhlY3V0ZUNhbGwpOgorICAgICAgICAo
SlNDOjpJbnRlcnByZXRlcjo6ZXhlY3V0ZUNvbnN0cnVjdCk6CisgICAgICAgIChKU0M6OkludGVy
cHJldGVyOjpwcmVwYXJlRm9yUmVwZWF0Q2FsbCk6CisgICAgICAgICogaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuaDoKKyAgICAgICAgKEpTQzo6TmF0aXZlQ2FsbEZyYW1lVHJhY2VyOjpOYXRpdmVD
YWxsRnJhbWVUcmFjZXIpOgorICAgICAgICAqIGludGVycHJldGVyL0pTU3RhY2suY3BwOgorICAg
ICAgICAoSlNDOjpKU1N0YWNrOjpKU1N0YWNrKToKKyAgICAgICAgKEpTQzo6SlNTdGFjazo6fkpT
U3RhY2spOgorICAgICAgICAoSlNDOjpKU1N0YWNrOjpncm93U2xvd0Nhc2UpOgorICAgICAgICAo
SlNDOjpKU1N0YWNrOjpnYXRoZXJDb25zZXJ2YXRpdmVSb290cyk6CisgICAgICAgIChKU0M6OkpT
U3RhY2s6OnNhbml0aXplU3RhY2spOgorICAgICAgICAoSlNDOjpKU1N0YWNrOjpyZWxlYXNlRXhj
ZXNzQ2FwYWNpdHkpOgorICAgICAgICAoSlNDOjpKU1N0YWNrOjpzZXRSZXNlcnZlZFpvbmVTaXpl
KToKKyAgICAgICAgKEpTQzo6SlNTdGFjazo6bG93QWRkcmVzcyk6CisgICAgICAgIChKU0M6OkpT
U3RhY2s6OmhpZ2hBZGRyZXNzKToKKyAgICAgICAgKEpTQzo6SlNTdGFjazo6Y29tbWl0dGVkQnl0
ZUNvdW50KToKKyAgICAgICAgKiBpbnRlcnByZXRlci9KU1N0YWNrLmg6CisgICAgICAgIChKU0M6
OkpTU3RhY2s6OmNvbnRhaW5zQWRkcmVzcyk6CisgICAgICAgIChKU0M6OkpTU3RhY2s6OmdhdGhl
ckNvbnNlcnZhdGl2ZVJvb3RzKToKKyAgICAgICAgKEpTQzo6SlNTdGFjazo6c2FuaXRpemVTdGFj
ayk6CisgICAgICAgIChKU0M6OkpTU3RhY2s6OmluaXRpYWxpemVUaHJlYWRpbmcpOgorICAgICAg
ICAoSlNDOjpKU1N0YWNrOjpiYXNlT2ZTdGFjayk6CisgICAgICAgIChKU0M6OkpTU3RhY2s6Omxv
d0FkZHJlc3MpOgorICAgICAgICAoSlNDOjpKU1N0YWNrOjpyZXNlcnZhdGlvblRvcCk6CisgICAg
ICAgICogaW50ZXJwcmV0ZXIvSlNTdGFja0lubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SlNTdGFj
azo6ZW5zdXJlQ2FwYWNpdHlGb3IpOgorICAgICAgICAoSlNDOjpKU1N0YWNrOjp0b3BPZkZyYW1l
Rm9yKToKKyAgICAgICAgKEpTQzo6SlNTdGFjazo6dG9wT2ZTdGFjayk6CisgICAgICAgIChKU0M6
OkpTU3RhY2s6OnNocmluayk6CisgICAgICAgIChKU0M6OkpTU3RhY2s6Omdyb3cpOgorICAgICAg
ICAoSlNDOjpKU1N0YWNrOjpzZXRTdGFja0xpbWl0KToKKyAgICAgICAgKiBpbnRlcnByZXRlci9Q
cm90b0NhbGxGcmFtZS5jcHA6CisgICAgICAgIChKU0M6OlByb3RvQ2FsbEZyYW1lOjppbml0KToK
KyAgICAgICAgKiBpbnRlcnByZXRlci9Qcm90b0NhbGxGcmFtZS5oOgorICAgICAgICAoSlNDOjpQ
cm90b0NhbGxGcmFtZTo6c2V0UGFkZGVkQXJnQ291bnQpOgorICAgICAgICAqIGppdC9Bcml0eUNo
ZWNrRmFpbFJldHVyblRodW5rcy5jcHA6IEFkZGVkLgorICAgICAgICAoSlNDOjpBcml0eUNoZWNr
RmFpbFJldHVyblRodW5rczo6QXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MpOgorICAgICAgICAo
SlNDOjpBcml0eUNoZWNrRmFpbFJldHVyblRodW5rczo6fkFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1
bmtzKToKKyAgICAgICAgKEpTQzo6QXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3M6OnJldHVyblBD
c0Zvcik6CisgICAgICAgIChKU0M6OkFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzOjpyZXR1cm5Q
Q0Zvcik6CisgICAgICAgICogaml0L0FyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmg6IEFkZGVk
LgorICAgICAgICAqIGppdC9Bc3NlbWJseUhlbHBlcnMuY3BwOgorICAgICAgICAoSlNDOjpBc3Nl
bWJseUhlbHBlcnM6OmppdEFzc2VydFRhZ3NJblBsYWNlKToKKyAgICAgICAgKEpTQzo6QXNzZW1i
bHlIZWxwZXJzOjpqaXRBc3NlcnRBcmd1bWVudENvdW50U2FuZSk6CisgICAgICAgICogaml0L0Fz
c2VtYmx5SGVscGVycy5oOgorICAgICAgICAoSlNDOjpBc3NlbWJseUhlbHBlcnM6OmNoZWNrU3Rh
Y2tQb2ludGVyQWxpZ25tZW50KToKKyAgICAgICAgKEpTQzo6QXNzZW1ibHlIZWxwZXJzOjpwcm9s
b2d1ZVN0YWNrUG9pbnRlckRlbHRhKToKKyAgICAgICAgKEpTQzo6QXNzZW1ibHlIZWxwZXJzOjpl
bWl0RnVuY3Rpb25Qcm9sb2d1ZSk6CisgICAgICAgIChKU0M6OkFzc2VtYmx5SGVscGVyczo6ZW1p
dEZ1bmN0aW9uRXBpbG9ndWUpOgorICAgICAgICAoSlNDOjpBc3NlbWJseUhlbHBlcnM6OmVtaXRQ
dXRUb0NhbGxGcmFtZUhlYWRlckJlZm9yZVByb2xvZ3VlKToKKyAgICAgICAgKEpTQzo6QXNzZW1i
bHlIZWxwZXJzOjplbWl0UHV0UGF5bG9hZFRvQ2FsbEZyYW1lSGVhZGVyQmVmb3JlUHJvbG9ndWUp
OgorICAgICAgICAoSlNDOjpBc3NlbWJseUhlbHBlcnM6OmVtaXRQdXRUYWdUb0NhbGxGcmFtZUhl
YWRlckJlZm9yZVByb2xvZ3VlKToKKyAgICAgICAgKEpTQzo6QXNzZW1ibHlIZWxwZXJzOjp0YWdG
b3IpOgorICAgICAgICAoSlNDOjpBc3NlbWJseUhlbHBlcnM6OnBheWxvYWRGb3IpOgorICAgICAg
ICAoSlNDOjpBc3NlbWJseUhlbHBlcnM6OmppdEFzc2VydFRhZ3NJblBsYWNlKToKKyAgICAgICAg
KEpTQzo6QXNzZW1ibHlIZWxwZXJzOjpqaXRBc3NlcnRBcmd1bWVudENvdW50U2FuZSk6CisgICAg
ICAgICogaml0L0NDYWxsSGVscGVycy5oOgorICAgICAgICAoSlNDOjpDQ2FsbEhlbHBlcnM6OnNl
dHVwQXJndW1lbnRzKToKKyAgICAgICAgKiBqaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oOgorICAg
ICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRFbnRlck9wdGltaXph
dGlvbkNoZWNrKToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKToK
KyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZSk6CisgICAgICAgIChKU0M6OkpJVDo6
cHJpdmF0ZUNvbXBpbGVFeGNlcHRpb25IYW5kbGVycyk6CisgICAgICAgIChKU0M6OkpJVDo6ZnJh
bWVSZWdpc3RlckNvdW50Rm9yKToKKyAgICAgICAgKEpTQzo6SklUOjpzdGFja1BvaW50ZXJPZmZz
ZXRGb3IpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKiBqaXQvSklUQ2FsbC5jcHA6
CisgICAgICAgIChKU0M6OkpJVDo6Y29tcGlsZUxvYWRWYXJhcmdzKToKKyAgICAgICAgKEpTQzo6
SklUOjpjb21waWxlQ2FsbEV2YWwpOgorICAgICAgICAoSlNDOjpKSVQ6OmNvbXBpbGVDYWxsRXZh
bFNsb3dDYXNlKToKKyAgICAgICAgKEpTQzo6SklUOjpjb21waWxlT3BDYWxsKToKKyAgICAgICAg
KEpTQzo6SklUOjpjb21waWxlT3BDYWxsU2xvd0Nhc2UpOgorICAgICAgICAoSlNDOjpKSVQ6OnBy
aXZhdGVDb21waWxlQ2xvc3VyZUNhbGwpOgorICAgICAgICAqIGppdC9KSVRDYWxsMzJfNjQuY3Bw
OgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfcmV0KToKKyAgICAgICAgKEpTQzo6SklUOjpl
bWl0X29wX3JldF9vYmplY3Rfb3JfdGhpcyk6CisgICAgICAgIChKU0M6OkpJVDo6Y29tcGlsZUxv
YWRWYXJhcmdzKToKKyAgICAgICAgKEpTQzo6SklUOjpjb21waWxlQ2FsbEV2YWwpOgorICAgICAg
ICAoSlNDOjpKSVQ6OmNvbXBpbGVDYWxsRXZhbFNsb3dDYXNlKToKKyAgICAgICAgKEpTQzo6SklU
Ojpjb21waWxlT3BDYWxsKToKKyAgICAgICAgKEpTQzo6SklUOjpjb21waWxlT3BDYWxsU2xvd0Nh
c2UpOgorICAgICAgICAqIGppdC9KSVRDb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6SklUQ29kZTo6
ZXhlY3V0ZSk6CisgICAgICAgIChKU0M6OkpJVENvZGVXaXRoQ29kZVJlZjo6SklUQ29kZVdpdGhD
b2RlUmVmKToKKyAgICAgICAgKEpTQzo6SklUQ29kZVdpdGhDb2RlUmVmOjp+SklUQ29kZVdpdGhD
b2RlUmVmKToKKyAgICAgICAgKEpTQzo6SklUQ29kZVdpdGhDb2RlUmVmOjpleGVjdXRhYmxlQWRk
cmVzc0F0T2Zmc2V0KToKKyAgICAgICAgKEpTQzo6SklUQ29kZVdpdGhDb2RlUmVmOjpkYXRhQWRk
cmVzc0F0T2Zmc2V0KToKKyAgICAgICAgKEpTQzo6SklUQ29kZVdpdGhDb2RlUmVmOjpvZmZzZXRP
Zik6CisgICAgICAgIChKU0M6OkpJVENvZGVXaXRoQ29kZVJlZjo6c2l6ZSk6CisgICAgICAgIChK
U0M6OkpJVENvZGVXaXRoQ29kZVJlZjo6Y29udGFpbnMpOgorICAgICAgICAoSlNDOjpEaXJlY3RK
SVRDb2RlOjpEaXJlY3RKSVRDb2RlKToKKyAgICAgICAgKEpTQzo6RGlyZWN0SklUQ29kZTo6fkRp
cmVjdEpJVENvZGUpOgorICAgICAgICAoSlNDOjpEaXJlY3RKSVRDb2RlOjppbml0aWFsaXplQ29k
ZVJlZik6CisgICAgICAgIChKU0M6OkRpcmVjdEpJVENvZGU6OmVuc3VyZVdyYXBwZXJzKToKKyAg
ICAgICAgKEpTQzo6RGlyZWN0SklUQ29kZTo6YWRkcmVzc0ZvckNhbGwpOgorICAgICAgICAoSlND
OjpOYXRpdmVKSVRDb2RlOjpOYXRpdmVKSVRDb2RlKToKKyAgICAgICAgKEpTQzo6TmF0aXZlSklU
Q29kZTo6fk5hdGl2ZUpJVENvZGUpOgorICAgICAgICAoSlNDOjpOYXRpdmVKSVRDb2RlOjppbml0
aWFsaXplQ29kZVJlZik6CisgICAgICAgIChKU0M6Ok5hdGl2ZUpJVENvZGU6OmFkZHJlc3NGb3JD
YWxsKToKKyAgICAgICAgKiBqaXQvSklUQ29kZS5oOgorICAgICAgICAqIGppdC9KSVRFeGNlcHRp
b25zLmNwcDoKKyAgICAgICAgKEpTQzo6Z2VuZXJpY1Vud2luZCk6CisgICAgICAgICogaml0L0pJ
VElubGluZUNhY2hlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6SklUQnlJZEdlbmVyYXRv
cjo6SklUQnlJZEdlbmVyYXRvcik6CisgICAgICAgIChKU0M6OkpJVFB1dEJ5SWRHZW5lcmF0b3I6
OkpJVFB1dEJ5SWRHZW5lcmF0b3IpOgorICAgICAgICAqIGppdC9KSVRJbmxpbmVDYWNoZUdlbmVy
YXRvci5oOgorICAgICAgICAoSlNDOjpKSVRHZXRCeUlkR2VuZXJhdG9yOjpKSVRHZXRCeUlkR2Vu
ZXJhdG9yKToKKyAgICAgICAgKiBqaXQvSklUSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKSVQ6
OmVtaXROYWtlZENhbGwpOgorICAgICAgICAoSlNDOjpKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAg
ICAgICAoSlNDOjpKSVQ6OmNhbGxPcGVyYXRpb25Ob0V4Y2VwdGlvbkNoZWNrKToKKyAgICAgICAg
KiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9lbmQpOgor
ICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfcmV0KToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0
X29wX3JldF9vYmplY3Rfb3JfdGhpcyk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9jYXRj
aCk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9sb29wX2hpbnQpOgorICAgICAgICAoSlND
OjpKSVQ6OmVtaXRTbG93X29wX2xvb3BfaGludCk6CisgICAgICAgICogaml0L0pJVE9wY29kZXMz
Ml82NC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVDVElOYXRpdmVDYWxs
KToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX2VuZCk6CisgICAgICAgIChKU0M6OkpJVDo6
ZW1pdF9vcF9jYXRjaCk6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorICAgICAg
ICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgIChKU0M6Om9wZXJhdGlvbkxpbmtGb3Ip
OgorICAgICAgICAoSlNDOjpvcGVyYXRpb25WaXJ0dWFsRm9yKToKKyAgICAgICAgKEpTQzo6b3Bl
cmF0aW9uTGlua0Nsb3N1cmVDYWxsRm9yKToKKyAgICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nl
c3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfZ2V0X2J5X2lkKToKKyAgICAgICAg
KEpTQzo6SklUOjplbWl0X29wX3B1dF9ieV9pZCk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0
ZUNvbXBpbGVHZXRCeVZhbCk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRC
eVZhbCk6CisgICAgICAgICogaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwOgorICAgICAg
ICAoSlNDOjpKSVQ6OmVtaXRfb3BfZ2V0X2J5X2lkKToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0
X29wX3B1dF9ieV9pZCk6CisgICAgICAgICogaml0L0pJVFN0dWJSb3V0aW5lLmg6CisgICAgICAg
ICogaml0L0pJVFN0dWJzLmg6CisgICAgICAgICogaml0L0pJVFN0dWJzTVNWQzY0LmFzbToKKyAg
ICAgICAgKiBqaXQvSklUU3R1YnNYODYuaDoKKyAgICAgICAgKiBqaXQvSklUVGh1bmtzLmNwcDoK
KyAgICAgICAgKEpTQzo6SklUVGh1bmtzOjpjdGlOYXRpdmVUYWlsQ2FsbCk6CisgICAgICAgIChK
U0M6OkpJVFRodW5rczo6aG9zdEZ1bmN0aW9uU3R1Yik6CisgICAgICAgICogaml0L0pJVFRodW5r
cy5oOgorICAgICAgICAqIGppdC9SZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3Iu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6cmVnaXN0ZXJzVG9QcmVzZXJ2ZSk6CisgICAgICAg
IChKU0M6OnJlZ2lzdGVyUHJlc2VydmF0aW9uT2Zmc2V0KToKKyAgICAgICAgKEpTQzo6Z2VuZXJh
dGVSZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXIpOgorICAgICAgICAoSlNDOjpnZW5lcmF0ZVJl
Z2lzdGVyUmVzdG9yYXRpb24pOgorICAgICAgICAoSlNDOjpyZWdpc3RlclJlc3RvcmF0aW9uVGh1
bmtHZW5lcmF0b3IpOgorICAgICAgICAqIGppdC9SZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJH
ZW5lcmF0b3IuaDogQWRkZWQuCisgICAgICAgICogaml0L1JlcGF0Y2guY3BwOgorICAgICAgICAo
SlNDOjpnZW5lcmF0ZVByb3RvQ2hhaW5BY2Nlc3NTdHViKToKKyAgICAgICAgKEpTQzo6dHJ5Q2Fj
aGVHZXRCeUlEKToKKyAgICAgICAgKEpTQzo6dHJ5QnVpbGRHZXRCeUlETGlzdCk6CisgICAgICAg
IChKU0M6OnN0b3JlVG9Xcml0ZUJhcnJpZXJCdWZmZXIpOgorICAgICAgICAoSlNDOjp3cml0ZUJh
cnJpZXIpOgorICAgICAgICAoSlNDOjplbWl0UHV0UmVwbGFjZVN0dWIpOgorICAgICAgICAoSlND
OjplbWl0UHV0VHJhbnNpdGlvblN0dWIpOgorICAgICAgICAoSlNDOjp0cnlSZXBhdGNoSW4pOgor
ICAgICAgICAoSlNDOjpsaW5rU2xvd0Zvcik6CisgICAgICAgIChKU0M6OmxpbmtGb3IpOgorICAg
ICAgICAoSlNDOjpsaW5rQ2xvc3VyZUNhbGwpOgorICAgICAgICAqIGppdC9SZXBhdGNoLmg6Cisg
ICAgICAgICogaml0L1NwZWNpYWxpemVkVGh1bmtKSVQuaDoKKyAgICAgICAgKEpTQzo6U3BlY2lh
bGl6ZWRUaHVua0pJVDo6U3BlY2lhbGl6ZWRUaHVua0pJVCk6CisgICAgICAgIChKU0M6OlNwZWNp
YWxpemVkVGh1bmtKSVQ6OnJldHVybkpTVmFsdWUpOgorICAgICAgICAoSlNDOjpTcGVjaWFsaXpl
ZFRodW5rSklUOjpyZXR1cm5Eb3VibGUpOgorICAgICAgICAoSlNDOjpTcGVjaWFsaXplZFRodW5r
SklUOjpyZXR1cm5JbnQzMik6CisgICAgICAgIChKU0M6OlNwZWNpYWxpemVkVGh1bmtKSVQ6OnJl
dHVybkpTQ2VsbCk6CisgICAgICAgICogaml0L1RodW5rR2VuZXJhdG9ycy5jcHA6CisgICAgICAg
IChKU0M6OnRocm93RXhjZXB0aW9uRnJvbUNhbGxTbG93UGF0aEdlbmVyYXRvcik6CisgICAgICAg
IChKU0M6OnNsb3dQYXRoRm9yKToKKyAgICAgICAgKEpTQzo6bGlua0ZvclRodW5rR2VuZXJhdG9y
KToKKyAgICAgICAgKEpTQzo6bGlua0NhbGxUaHVua0dlbmVyYXRvcik6CisgICAgICAgIChKU0M6
OmxpbmtDb25zdHJ1Y3RUaHVua0dlbmVyYXRvcik6CisgICAgICAgIChKU0M6OmxpbmtDYWxsVGhh
dFByZXNlcnZlc1JlZ3NUaHVua0dlbmVyYXRvcik6CisgICAgICAgIChKU0M6OmxpbmtDb25zdHJ1
Y3RUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6bGlua0Ns
b3N1cmVDYWxsRm9yVGh1bmtHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpsaW5rQ2xvc3VyZUNh
bGxUaHVua0dlbmVyYXRvcik6CisgICAgICAgIChKU0M6OmxpbmtDbG9zdXJlQ2FsbFRoYXRQcmVz
ZXJ2ZXNSZWdzVGh1bmtHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjp2aXJ0dWFsRm9yVGh1bmtH
ZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjp2aXJ0dWFsQ2FsbFRodW5rR2VuZXJhdG9yKToKKyAg
ICAgICAgKEpTQzo6dmlydHVhbENvbnN0cnVjdFRodW5rR2VuZXJhdG9yKToKKyAgICAgICAgKEpT
Qzo6dmlydHVhbENhbGxUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9yKToKKyAgICAgICAg
KEpTQzo6dmlydHVhbENvbnN0cnVjdFRoYXRQcmVzZXJ2ZXNSZWdzVGh1bmtHZW5lcmF0b3IpOgor
ICAgICAgICAoSlNDOjpuYXRpdmVGb3JHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpuYXRpdmVU
YWlsQ2FsbEdlbmVyYXRvcik6CisgICAgICAgIChKU0M6OmFyaXR5Rml4dXApOgorICAgICAgICAo
SlNDOjpjaGFyQ29kZUF0VGh1bmtHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpjaGFyQXRUaHVu
a0dlbmVyYXRvcik6CisgICAgICAgIChKU0M6OmZyb21DaGFyQ29kZVRodW5rR2VuZXJhdG9yKToK
KyAgICAgICAgKEpTQzo6c3FydFRodW5rR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6Zmxvb3JU
aHVua0dlbmVyYXRvcik6CisgICAgICAgIChKU0M6OmNlaWxUaHVua0dlbmVyYXRvcik6CisgICAg
ICAgIChKU0M6OnJvdW5kVGh1bmtHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpleHBUaHVua0dl
bmVyYXRvcik6CisgICAgICAgIChKU0M6OmxvZ1RodW5rR2VuZXJhdG9yKToKKyAgICAgICAgKEpT
Qzo6YWJzVGh1bmtHZW5lcmF0b3IpOgorICAgICAgICAoSlNDOjpwb3dUaHVua0dlbmVyYXRvcik6
CisgICAgICAgIChKU0M6OmltdWxUaHVua0dlbmVyYXRvcik6CisgICAgICAgIChKU0M6OmFycmF5
SXRlcmF0b3JOZXh0VGh1bmtHZW5lcmF0b3IpOgorICAgICAgICAqIGppdC9UaHVua0dlbmVyYXRv
cnMuaDoKKyAgICAgICAgKEpTQzo6bGlua1RodW5rR2VuZXJhdG9yRm9yKToKKyAgICAgICAgKEpT
Qzo6bGlua0Nsb3N1cmVDYWxsVGh1bmtHZW5lcmF0b3JGb3IpOgorICAgICAgICAoSlNDOjp2aXJ0
dWFsVGh1bmtHZW5lcmF0b3JGb3IpOgorICAgICAgICAqIGxsaW50L0xMSW50Q0xvb3AuY3BwOgor
ICAgICAgICAoSlNDOjpMTEludDo6Q0xvb3A6OmluaXRpYWxpemUpOgorICAgICAgICAqIGxsaW50
L0xMSW50Q0xvb3AuaDoKKyAgICAgICAgKiBsbGludC9MTEludERhdGEuY3BwOgorICAgICAgICAo
SlNDOjpMTEludDo6RGF0YTo6cGVyZm9ybUFzc2VydGlvbnMpOgorICAgICAgICAqIGxsaW50L0xM
SW50RW50cnlwb2ludC5jcHA6CisgICAgICAgIChKU0M6OkxMSW50OjpzZXRGdW5jdGlvbkVudHJ5
cG9pbnQpOgorICAgICAgICAoSlNDOjpMTEludDo6c2V0RXZhbEVudHJ5cG9pbnQpOgorICAgICAg
ICAoSlNDOjpMTEludDo6c2V0UHJvZ3JhbUVudHJ5cG9pbnQpOgorICAgICAgICAoSlNDOjpMTElu
dDo6ZnJhbWVSZWdpc3RlckNvdW50Rm9yKToKKyAgICAgICAgKiBsbGludC9MTEludE9mZnNldHNF
eHRyYWN0b3IuY3BwOgorICAgICAgICAqIGxsaW50L0xMSW50T3Bjb2RlLmg6CisgICAgICAgICog
bGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpMTEludDo6TExJTlRfU0xP
V19QQVRIX0RFQ0wpOgorICAgICAgICAoSlNDOjpMTEludDo6ZW50cnlPU1IpOgorICAgICAgICAo
SlNDOjpMTEludDo6c2V0VXBDYWxsKToKKyAgICAgICAgKEpTQzo6TExJbnQ6OmxsaW50X3Rocm93
X3N0YWNrX292ZXJmbG93X2Vycm9yKToKKyAgICAgICAgKEpTQzo6TExJbnQ6OmxsaW50X3N0YWNr
X2NoZWNrX2F0X3ZtX2VudHJ5KToKKyAgICAgICAgKiBsbGludC9MTEludFNsb3dQYXRocy5oOgor
ICAgICAgICAqIGxsaW50L0xMSW50VGh1bmtzLmNwcDoKKyAgICAgICAgKEpTQzo6Y2FsbFRvSmF2
YVNjcmlwdCk6CisgICAgICAgIChKU0M6OmNhbGxUb05hdGl2ZUZ1bmN0aW9uKToKKyAgICAgICAg
KiBsbGludC9MTEludFRodW5rcy5oOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwOgorICAgICAg
ICAoSlNDOjpDTG9vcFJlZ2lzdGVyOjpvcGVyYXRvciBFeGVjU3RhdGUqKToKKyAgICAgICAgKEpT
Qzo6Q0xvb3BSZWdpc3Rlcjo6b3BlcmF0b3IgSW5zdHJ1Y3Rpb24qKToKKyAgICAgICAgKEpTQzo6
Q0xvb3BSZWdpc3Rlcjo6b3BlcmF0b3IgVk0qKToKKyAgICAgICAgKEpTQzo6Q0xvb3BSZWdpc3Rl
cjo6b3BlcmF0b3IgUHJvdG9DYWxsRnJhbWUqKToKKyAgICAgICAgKEpTQzo6Q0xvb3BSZWdpc3Rl
cjo6b3BlcmF0b3IgUmVnaXN0ZXIqKToKKyAgICAgICAgKEpTQzo6Q0xvb3A6OmV4ZWN1dGUpOgor
ICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc206CisgICAgICAgICog
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToKKyAgICAgICAgKiBsbHZtL2xpYnJhcnkv
TExWTUV4cG9ydHMuY3BwOgorICAgICAgICAoaW5pdGlhbGl6ZUFuZEdldEpTQ0xMVk1BUEkpOgor
ICAgICAgICAqIG9mZmxpbmVhc20vYXJtLnJiOgorICAgICAgICAqIG9mZmxpbmVhc20vYXJtNjQu
cmI6CisgICAgICAgICogb2ZmbGluZWFzbS9jbG9vcC5yYjoKKyAgICAgICAgKiBvZmZsaW5lYXNt
L2luc3RydWN0aW9ucy5yYjoKKyAgICAgICAgKiBvZmZsaW5lYXNtL3g4Ni5yYjoKKyAgICAgICAg
KiBwYXJzZXIvUGFyc2VyRXJyb3IuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyRXJyb3I6OnRvRXJy
b3JPYmplY3QpOgorICAgICAgICAqIHByb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb24uY3BwOgor
ICAgICAgICAoSlNDOjpQcm9maWxlcjo6Q29tcGlsYXRpb246OmFkZERlc2NyaXB0aW9uKToKKyAg
ICAgICAgKiBwcm9maWxlci9Qcm9maWxlckNvbXBpbGF0aW9uLmg6CisgICAgICAgICogcHJvZmls
ZXIvUHJvZmlsZXJDb21waWxhdGlvbktpbmQuY3BwOgorICAgICAgICAoV1RGOjpwcmludEludGVy
bmFsKToKKyAgICAgICAgKiBwcm9maWxlci9Qcm9maWxlckNvbXBpbGF0aW9uS2luZC5oOgorICAg
ICAgICAqIHJ1bnRpbWUvQXJpdHlDaGVja01vZGUuaDogQWRkZWQuCisgICAgICAgICogcnVudGlt
ZS9Db21tb25TbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpzZXR1cEFyaXR5Q2hlY2tEYXRh
KToKKyAgICAgICAgKEpTQzo6U0xPV19QQVRIX0RFQ0wpOgorICAgICAgICAqIHJ1bnRpbWUvQ29t
bW9uU2xvd1BhdGhzLmg6CisgICAgICAgIChKU0M6OkNvbW1vblNsb3dQYXRoczo6YXJpdHlDaGVj
a0Zvcik6CisgICAgICAgICogcnVudGltZS9FcnJvckhhbmRsaW5nU2NvcGUuY3BwOiBBZGRlZC4K
KyAgICAgICAgKEpTQzo6RXJyb3JIYW5kbGluZ1Njb3BlOjpFcnJvckhhbmRsaW5nU2NvcGUpOgor
ICAgICAgICAoSlNDOjpFcnJvckhhbmRsaW5nU2NvcGU6On5FcnJvckhhbmRsaW5nU2NvcGUpOgor
ICAgICAgICAqIHJ1bnRpbWUvRXJyb3JIYW5kbGluZ1Njb3BlLmg6IEFkZGVkLgorICAgICAgICAq
IHJ1bnRpbWUvRXhjZXB0aW9uSGVscGVycy5jcHA6CisgICAgICAgIChKU0M6OnRocm93U3RhY2tP
dmVyZmxvd0Vycm9yKToKKyAgICAgICAgKEpTQzo6dGhyb3dUZXJtaW5hdGVkRXhlY3V0aW9uRXhj
ZXB0aW9uKToKKyAgICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUuY3BwOgorICAgICAgICAoSlND
OjpTY3JpcHRFeGVjdXRhYmxlOjppbnN0YWxsQ29kZSk6CisgICAgICAgIChKU0M6OkV4ZWN1dGFi
bGVCYXNlOjpkdW1wKToKKyAgICAgICAgKiBydW50aW1lL0V4ZWN1dGFibGUuaDoKKyAgICAgICAg
KEpTQzo6RXhlY3V0YWJsZUJhc2U6OmVudHJ5cG9pbnRGb3IpOgorICAgICAgICAoSlNDOjpFeGVj
dXRhYmxlQmFzZTo6b2Zmc2V0T2ZKSVRDb2RlV2l0aEFyaXR5Q2hlY2tGb3IpOgorICAgICAgICAo
SlNDOjpOYXRpdmVFeGVjdXRhYmxlOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpOYXRpdmVFeGVj
dXRhYmxlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9KU0NKU1ZhbHVlLmg6
CisgICAgICAgICogcnVudGltZS9KU0xvY2suY3BwOgorICAgICAgICAoSlNDOjpKU0xvY2s6OkRy
b3BBbGxMb2Nrczo6RHJvcEFsbExvY2tzKToKKyAgICAgICAgKEpTQzo6SlNMb2NrOjpEcm9wQWxs
TG9ja3M6On5Ecm9wQWxsTG9ja3MpOgorICAgICAgICAqIHJ1bnRpbWUvSlNMb2NrLmg6CisgICAg
ICAgICogcnVudGltZS9KU09OT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6V2Fsa2VyOjp3YWxr
KToKKyAgICAgICAgKiBydW50aW1lL09wdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpyZWNvbXB1
dGVEZXBlbmRlbnRPcHRpb25zKToKKyAgICAgICAgKEpTQzo6T3B0aW9uczo6aW5pdGlhbGl6ZSk6
CisgICAgICAgIChKU0M6Ok9wdGlvbnM6OnNldE9wdGlvbik6CisgICAgICAgICogcnVudGltZS9P
cHRpb25zLmg6CisgICAgICAgICogcnVudGltZS9SZWdpc3RlclByZXNlcnZhdGlvbk1vZGUuaDog
QWRkZWQuCisgICAgICAgICogcnVudGltZS9TdGFja0FsaWdubWVudC5oOgorICAgICAgICAoSlND
Ojpyb3VuZEFyZ3VtZW50Q291bnRUb0FsaWduRnJhbWUpOgorICAgICAgICAoSlNDOjpyb3VuZExv
Y2FsUmVnaXN0ZXJDb3VudEZvckZyYW1lUG9pbnRlck9mZnNldCk6CisgICAgICAgIChKU0M6Omxv
Z1N0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKToKKyAgICAgICAgKiBydW50aW1lL1N0cmluZ1JlY3Vy
c2lvbkNoZWNrZXIuY3BwOgorICAgICAgICAoSlNDOjpTdHJpbmdSZWN1cnNpb25DaGVja2VyOjp0
aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcik6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuY3Bw
OgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmR1bXApOgorICAgICAgICAqIHJ1bnRpbWUvVk0u
Y3BwOgorICAgICAgICAoSlNDOjpWTTo6Vk0pOgorICAgICAgICAoSlNDOjpjbGVhbldvcmtsaXN0
KToKKyAgICAgICAgKEpTQzo6Vk06On5WTSk6CisgICAgICAgIChKU0M6OlZNOjpnZXRIb3N0RnVu
Y3Rpb24pOgorICAgICAgICAoSlNDOjpwcmVwYXJlVG9EaXNjYXJkQ29kZUZvcik6CisgICAgICAg
IChKU0M6OlZNOjpwcmVwYXJlVG9EaXNjYXJkQ29kZSk6CisgICAgICAgIChKU0M6OlZNOjp0aHJv
d0V4Y2VwdGlvbik6CisgICAgICAgIChKU0M6OlZNOjp1cGRhdGVTdGFja0xpbWl0V2l0aFJlc2Vy
dmVkWm9uZVNpemUpOgorICAgICAgICAoSlNDOjpsb2dTYW5pdGl6ZVN0YWNrKToKKyAgICAgICAg
KiBydW50aW1lL1ZNLmg6CisgICAgICAgIChKU0M6OlZNOjpyZXNlcnZlZFpvbmVTaXplKToKKyAg
ICAgICAgKEpTQzo6Vk06Omxhc3RTdGFja1RvcCk6CisgICAgICAgIChKU0M6OlZNOjpzZXRMYXN0
U3RhY2tUb3ApOgorICAgICAgICAoSlNDOjpWTTo6c2NyYXRjaEJ1ZmZlckZvclNpemUpOgorICAg
ICAgICAoSlNDOjpWTTo6c2V0U3RhY2tMaW1pdCk6CisgICAgICAgIChKU0M6OnNhbml0aXplU3Rh
Y2tGb3JWTSk6CisgICAgICAgICogcnVudGltZS9WTUVudHJ5U2NvcGUuY3BwOgorICAgICAgICAo
SlNDOjpWTUVudHJ5U2NvcGU6OlZNRW50cnlTY29wZSk6CisgICAgICAgIChKU0M6OlZNRW50cnlT
Y29wZTo6flZNRW50cnlTY29wZSk6CisgICAgICAgICogcnVudGltZS9WTUVudHJ5U2NvcGUuaDoK
KyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYWRkLWNvbnN0YW50LW92ZXJmbG93LXJlY292ZXJ5Lmpz
OiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2FkZC1pbnQ1
Mi1jb25zdGFudC1vdmVyZmxvdy1yZWNvdmVyeS5qczogQWRkZWQuCisgICAgICAgIChmb28pOgor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9hZGQtaW50NTItbGFyZ2UtY29uc3RhbnQtb3ZlcmZsb3ct
cmVjb3ZlcnkuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvYWRkLW92ZXJmbG93LXJlY292ZXJ5LmpzOiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisgICAg
ICAgICogdGVzdHMvc3RyZXNzL2FkZC1zbWFsbC1jb25zdGFudC1vdmVyZmxvdy1yZWNvdmVyeS5q
czogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJheS1w
dXNoLmpzOiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Vt
cHR5LWZ1bmN0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisgICAgICAgICogdGVzdHMv
c3RyZXNzL2V4aXQtYWZ0ZXItaW50MzItdG8tZG91YmxlLmpzOiBBZGRlZC4KKyAgICAgICAgKGZv
byk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2V4aXQtYWZ0ZXItaW50NTItdG8tZG91YmxlLmpz
OiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2V4aXQtYWZ0
ZXItaW50NTItdG8tdmFsdWUuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKG1h
a2VXZWlyZE9iamVjdCk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2V4aXQtYWZ0ZXItbGx2bS1m
b2xkcy1sYXJnZS1pbnQtY29uc3RhbnQuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAg
ICAgKiB0ZXN0cy9zdHJlc3MvZXhpdC1mcm9tLWZ0bC13aXRoLWFyaXR5LWNoZWNrLWZhaWwuanM6
IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKGJhcik6CisgICAgICAgICogdGVzdHMv
c3RyZXNzL2Z0bC1hcml0aGNvcy5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAq
IHRlc3RzL3N0cmVzcy9mdGwtYXJpdGhzaW4uanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAg
ICAgICAgKiB0ZXN0cy9zdHJlc3MvZnRsLWFyaXRoc3FydC5qczogQWRkZWQuCisgICAgICAgIChm
b28pOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9mdGwtcHV0YnlpZC5qczogQWRkZWQuCisgICAg
ICAgICogdGVzdHMvc3RyZXNzL2Z0bC1wdXRieWlkZGlyZWN0LmpzOiBBZGRlZC4KKyAgICAgICAg
KGZvbyk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2dldC1ieS1pZC10aHJvdy1mcm9tLWdldHRl
ci10aHJvdWdoLW9wdGltaXplZC1jb2RlLmpzOiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisgICAg
ICAgIChtYWtlV2l0aEdldHRlci5yZXR1cm4pOgorICAgICAgICAobWFrZVdpdGhHZXR0ZXIpOgor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9nZXQtYnktaWQtdGhyb3ctZnJvbS11bmV4cGVjdGVkLWdl
dHRlci10aHJvdWdoLW9wdGltaXplZC1jb2RlLXRoYXQtZG9lcy1ub3QtZXhpdC5qczogQWRkZWQu
CisgICAgICAgIChmb28pOgorICAgICAgICAobWFrZVdpdGhHZXR0ZXIucmV0dXJuKToKKyAgICAg
ICAgKG1ha2VXaXRoR2V0dGVyKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvZ2V0LWJ5LWlkLXRo
cm93LWZyb20tdW5leHBlY3RlZC1nZXR0ZXItdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS5qczogQWRk
ZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAobWFrZVdpdGhHZXR0ZXIucmV0dXJuKToKKyAg
ICAgICAgKG1ha2VXaXRoR2V0dGVyKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvaWMtdGhyb3ct
dGhyb3VnaC1vcHRpbWl6ZWQtY29kZS5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAg
ICAqIHRlc3RzL3N0cmVzcy9pbmxpbmUtY2FsbC12YXJhcmdzLWFuZC1jYWxsLmpzOiBBZGRlZC4K
KyAgICAgICAgKGZvbyk6CisgICAgICAgIChiYXIpOgorICAgICAgICAoYmF6KToKKyAgICAgICAg
KiB0ZXN0cy9zdHJlc3MvaW5saW5lLWNhbGwtdmFyYXJncy5qczogQWRkZWQuCisgICAgICAgIChm
b28pOgorICAgICAgICAoYmFyKToKKyAgICAgICAgKGJheik6CisgICAgICAgICogdGVzdHMvc3Ry
ZXNzL2lubGluZS1jbG9zdXJlLWNhbGwuanM6IEFkZGVkLgorICAgICAgICAoYmFyKToKKyAgICAg
ICAgKiB0ZXN0cy9zdHJlc3MvaW50MTYtcHV0LWJ5LXZhbC1pbi1hbmQtb3V0LW9mLWJvdW5kcy5q
czogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAodGVzdCk6CisgICAgICAgICogdGVz
dHMvc3RyZXNzL2ludDE2LXB1dC1ieS12YWwtaW4tYm91bmRzLXRoZW4tZXhpdC1vdXQtb2YtYm91
bmRzLmpzOiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisgICAgICAgICh0ZXN0KToKKyAgICAgICAg
KiB0ZXN0cy9zdHJlc3MvaW50MTYtcHV0LWJ5LXZhbC1vdXQtb2YtYm91bmRzLWJvdW5kcy10aGVu
LWRvLWluLWJvdW5kcy5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAodGVzdCk6
CisgICAgICAgICogdGVzdHMvc3RyZXNzL2ludmFsaWRhdGlvbi1wb2ludC5qczogQWRkZWQuCisg
ICAgICAgIChmb28pOgorICAgICAgICAoVGhpbmd5KToKKyAgICAgICAgKFRoaW5neS5wcm90b3R5
cGUuZik6CisgICAgICAgIChwb3NzaWJseURvQmFkVGhpbmdzLlRoaW5neS5wcm90b3R5cGUuZik6
CisgICAgICAgIChwb3NzaWJseURvQmFkVGhpbmdzKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mv
bWFrZS1yb3BlLTIuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiB0ZXN0cy9z
dHJlc3MvbWFrZS1yb3BlLTMuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiB0
ZXN0cy9zdHJlc3MvbmV3LWFycmF5LXN0b3JhZ2UtYXJyYXktd2l0aC1zaXplLmpzOiBBZGRlZC4K
KyAgICAgICAgKGZvbyk6CisgICAgICAgICh0ZXN0KToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mv
bmV3LWFycmF5LXdpdGgtc2l6ZS13aXRoLWJhZC10aW1lLmpzOiBBZGRlZC4KKyAgICAgICAgKGZv
byk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL25ldy1jb250aWd1b3VzLWFycmF5LXdpdGgtc2l6
ZS5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAodGVzdCk6CisgICAgICAgICog
dGVzdHMvc3RyZXNzL25ldy1kb3VibGUtYXJyYXktd2l0aC1zaXplLmpzOiBBZGRlZC4KKyAgICAg
ICAgKGZvbyk6CisgICAgICAgICh0ZXN0KToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvbmV3LWlu
dDMyLWFycmF5LXdpdGgtc2l6ZS5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAo
dGVzdCk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL25ldy11bmRlY2lkZWQtYXJyYXktd2l0aC1z
aXplLmpzOiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisgICAgICAgICh0ZXN0KToKKyAgICAgICAg
KiB0ZXN0cy9zdHJlc3MvcHV0LWJ5LWlkLXRocm93LXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanM6
IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvcmVjdXJzZS1p
bmZpbml0ZWx5LW9uLWdldHRlci5qczogQWRkZWQuCisgICAgICAgICgudmFyKToKKyAgICAgICAg
KiB0ZXN0cy9zdHJlc3MvcmVwZWF0ZWQtYXJpdHktY2hlY2stZmFpbC5qczogQWRkZWQuCisgICAg
ICAgIChiYXIpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9ydW50aW1lLXRocm93LXRocm91Z2gt
b3B0aW1pemVkLWNvZGUuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKGJhcik6
CisgICAgICAgICogdGVzdHMvc3RyZXNzL3NpbXBsZS1wb2x5dmFyaWFudC1jYWxsLWlubGluaW5n
LWV4YW1wbGUuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKGZ1enopOgorICAg
ICAgICAoYmFyKToKKyAgICAgICAgKGJhejEpOgorICAgICAgICAoYmF6Mik6CisgICAgICAgICog
dGVzdHMvc3RyZXNzL3NpbXBsZS1wb2x5dmFyaWFudC1nZXQtYnktaWQtaW5saW5pbmctZXhhbXBs
ZS5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAoZnV6eik6CisgICAgICAgIChi
YXIpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9zaW1wbGUtcG9seXZhcmlhbnQtcHV0LWJ5LWlk
LWlubGluaW5nLWV4YW1wbGUuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKGZ1
enopOgorICAgICAgICAoYmFyKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvdGhyb3ctdGhyb3Vn
aC1vcHRpbWl6ZWQtY29kZS5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAoYmFy
KToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvdG8tc3RyaW5nLW9uLW9iamVjdC1vci1zdHJpbmcu
anM6IEFkZGVkLgorICAgICAgICAoRm9vKToKKyAgICAgICAgKEZvby5wcm90b3R5cGUudG9TdHJp
bmcpOgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvdG8tc3RyaW5nLW9u
LW9iamVjdC5qczogQWRkZWQuCisgICAgICAgIChGb28pOgorICAgICAgICAoRm9vLnByb3RvdHlw
ZS50b1N0cmluZyk6CisgICAgICAgIChmb28pOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy90by1z
dHJpbmctb24tc3RyaW5nLW9iamVjdC5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAg
ICAqIHRlc3RzL3N0cmVzcy90by1zdHJpbmctb24tc3RyaW5nLW9yLXN0cmluZy1vYmplY3QtdGhl
bi1vYmplY3QuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKEZvbyk6CisgICAg
ICAgIChGb28ucHJvdG90eXBlLnRvU3RyaW5nKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvdG8t
c3RyaW5nLW9uLXN0cmluZy1vci1zdHJpbmctb2JqZWN0LmpzOiBBZGRlZC4KKyAgICAgICAgKGZv
byk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL3RvLXN0cmluZy1vbi12YWx1ZS1vci1zdHJpbmcu
anM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvdG8tc3Ry
aW5nLW9uLXZhbHVlLmpzOiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisKIDIwMTQtMDEtMjcgIEpv
c2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICAtW0pTQ29udGV4
dCBldmFsdXRlU2NyaXB0Ol0gY2FsbHMgSlNFdmFsdXRlU2NyaXB0IHdpdGggc3RhcnRpbmdMaW5l
TnVtYmVyIDAsIGxhdGVyIGludGVycHJldGVkIGFzIGEgb25lQmFzZWRJbnQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZWQ4NjRi
NzNjZWZmNGI0NWMwMWZmYWNlZTYyODE2ZDMwZTZjYTUxNS4uMGZjNDQ5OTY1MTFiMTc1NTQ3MDll
YTYwZTdmN2ZlYzhiYWYyNmRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNC0wMS0yOCAgTWFy
ayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIE1lcmdlIHRo
ZSBqc0NTdGFjayBicmFuY2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNzc2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0JhZ1RvSGFzaE1hcC5oOgorICAgICAgICAoV1RGOjp0b0hhc2hNYXAp
OgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAgICAgICAqIHd0Zi9TdGFja0JvdW5kcy5o
OgorICAgICAgICAoV1RGOjpTdGFja0JvdW5kczo6cmVjdXJzaW9uTGltaXQpOgorCiAyMDE0LTAx
LTI3ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
Q29yZTogRW5hYmxlIC1XaW1wbGljaXQtZmFsbHRocm91Z2ggYW5kIGFkZCBGQUxMVEhST1VHSCBh
bm5vdGF0aW9uIHdoZXJlIG5lZWRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDRhZGJjYWY1ZWM5MGUzZTZjMWY1
MzQ0YjhhNzUxYTcwOTFjMGQ2ZTYuLjNjZmMyZmU2NDFiOTI5NzJiNzk1Y2VhMDk4Njc5NmU2YWZi
OTI5YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxNC0wMS0yOCAgTWFyayBIYWhu
ZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIE1lcmdlIHRoZSBqc0NT
dGFjayBicmFuY2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyNzc2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMv
aW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBGb3J3YXJkaW5n
SGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0QnJlYWtwb2ludC5oOgorICAgICAgICAqIEZvcndhcmRp
bmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHREZWJ1Z0xpc3RlbmVyLmg6CisgICAgICAgICogRm9y
d2FyZGluZ0hlYWRlcnMvcnVudGltZS9FcnJvckhhbmRsaW5nU2NvcGUuaDogQWRkZWQuCisgICAg
ICAgICogRm9yd2FyZGluZ0hlYWRlcnMveWFyci9SZWd1bGFyRXhwcmVzc2lvbi5oOgorICAgICAg
ICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
RE9NQmluZGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24pOgorCiAy
MDE0LTAxLTI4ICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzEyNzc2Nz4gRGlzYWJsZSBzb21lIGRlcHJlY2F0aW9uIHdhcm5pbmdz
IHRvIGZpeCB0aGUgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01h
a2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXgg
ZjQyYTM5ZGFmZDkzY2U0MGIyZGQ3YWU2OGVmZjA3NTVmYzE0MzhkOC4uYWVkZDgyZWExYmMyMTIx
Y2JjNDZkMGQzYjg2YTdiOTA1N2FhZWZkZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMjU0LDYgKzI1NCw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAg
aW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcAogICAgIGludGVycHJldGVyL1ZNSW5zcGVjdG9y
LmNwcAogCisgICAgaml0L0FyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmNwcAogICAgIGppdC9B
c3NlbWJseUhlbHBlcnMuY3BwCiAgICAgaml0L0Nsb3N1cmVDYWxsU3R1YlJvdXRpbmUuY3BwCiAg
ICAgaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwCkBAIC0yNzgsNiArMjc5LDcgQEAgc2V0KEph
dmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBqaXQvSklUU3R1YnMuY3BwCiAgICAgaml0L0pJVFRo
dW5rcy5jcHAKICAgICBqaXQvSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suY3Bw
CisgICAgaml0L1JlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdlbmVyYXRvci5jcHAKICAgICBq
aXQvUmVnaXN0ZXJTZXQuY3BwCiAgICAgaml0L1JlcGF0Y2guY3BwCiAgICAgaml0L1RlbXBSZWdp
c3RlclNldC5jcHAKQEAgLTM0MCw2ICszNDIsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfU09VUkNF
UwogICAgIHJ1bnRpbWUvRHVtcENvbnRleHQuY3BwCiAgICAgcnVudGltZS9FcnJvci5jcHAKICAg
ICBydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCisgICAgcnVudGltZS9FcnJvckhhbmRsaW5n
U2NvcGUuY3BwCiAgICAgcnVudGltZS9FcnJvckluc3RhbmNlLmNwcAogICAgIHJ1bnRpbWUvRXJy
b3JQcm90b3R5cGUuY3BwCiAgICAgcnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBkMDYwYjZhOGVhMzdjZWUy
NzkxNDdmMzAzOTY1NzcyZDBiZDJmNjQ3Li43ZDVkZjNjNjE4ODc5MTg0MWY5ZjZiZDEwYTZlODhl
NzliNzY3YTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpA
QCAtOTEsNiArOTEsNyBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oIFwK
IAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0Lmgg
XAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWF4RnJhbWVFeHRlbnRGb3JTbG93
UGF0aENhbGwuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NSVBTQXNzZW1i
bGVyLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5o
IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1NINEFzc2VtYmxlci5oIFwKQEAg
LTY5MSw2ICs2OTIsOCBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvVk1JbnNwZWN0b3IuY3BwIFwKIAlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvVk1JbnNwZWN0b3IuaCBcCiAJU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlUHJlZml4LmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
QXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuaCBcCisJU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9Bcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9B
c3NlbWJseUhlbHBlcnMuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBl
cnMuaCBcCkBAIC03NDQsNiArNzQ3LDggQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJ
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxs
YmFjay5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFdyaXRlQmFycmllci5oIFwK
IAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pTSW50ZXJmYWNlSklULmggXAorCVNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmgg
XAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVy
R2VuZXJhdG9yLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclNldC5j
cHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuaCBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcCBcCkBAIC05MDQsNiArOTA5LDggQEAgamF2
YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RXJyb3JDb25zdHJ1Y3Rvci5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
ci5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yLmggXAorCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySGFuZGxpbmdTY29wZS5jcHAgXAorCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySGFuZGxpbmdTY29wZS5oIFwKIAlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmNwcCBcCiAJU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9FcnJvclByb3RvdHlwZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLm9yZGVyIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLm9yZGVyCmluZGV4IDVkMzQyMThkNjE5NWEwZjExODQ5NmUzOTA2ZGZjYTY5
MjNmNmY0OGQuLjJmMjI1YjUyOGRjOWQwOWM0YTcyOWE1YWRiM2IzYzZlODJmN2NmNTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5vcmRlcgorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUub3JkZXIKQEAgLTQ5ODEsNyArNDk4
MSw2IEBAIF9sbGludF9zbG93X3BhdGhfaGFuZGxlX3dhdGNoZG9nX3RpbWVyCiBfbGxpbnRfc2xv
d19wYXRoX2RlYnVnCiBfbGxpbnRfc2xvd19wYXRoX3Byb2ZpbGVfd2lsbF9jYWxsCiBfbGxpbnRf
c2xvd19wYXRoX3Byb2ZpbGVfZGlkX2NhbGwKLV9sbGludF90aHJvd19mcm9tX25hdGl2ZV9jYWxs
CiBfbGxpbnRfYmVnaW4KIF9sbGludF9wcm9ncmFtX3Byb2xvZ3VlCiBfbGxpbnRfZXZhbF9wcm9s
b2d1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZj
eHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggY2Y0YzJlYzI0
M2I1ODQ4ZGQxYmEzMDg2OWZlN2RmNGU3OGEyOTczNS4uM2NkNmVhOTBhMTFhN2ViZmUzYTRlZWRh
ZTNkMzQ4MDdjMjdjZGNiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
CkBAIC01ODksNiArNTg5LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
RHVtcENvbnRleHQuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxF
cnJvci5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEVycm9yQ29u
c3RydWN0b3IuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxFcnJv
ckhhbmRsaW5nU2NvcGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGlt
ZVxFcnJvckluc3RhbmNlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRp
bWVcRXJyb3JQcm90b3R5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVu
dGltZVxFeGNlcHRpb25IZWxwZXJzLmNwcCIgLz4KQEAgLTc5MSw2ICs3OTIsNyBAQAogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cYXNzZW1ibGVyXE1hY3JvQXNzZW1ibGVyWDg2LmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxhc3NlbWJsZXJcTWFjcm9Bc3NlbWJsZXJYODZDb21t
b24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGFzc2VtYmxlclxNYWNyb0Fzc2Vt
Ymxlclg4Nl82NC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYXNzZW1ibGVyXE1h
eEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmggLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGFzc2VtYmxlclxSZXBhdGNoQnVmZmVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxhc3NlbWJsZXJcWDg2QXNzZW1ibGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxiaW5kaW5nc1xTY3JpcHRGdW5jdGlvbkNhbGwuaCIgLz4KQEAgLTEyMDQsNiArMTIwNiw3
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXER1bXBDb250ZXh0LmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEVycm9yLmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEVycm9yQ29uc3RydWN0b3IuaCIgLz4KKyAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcRXJyb3JIYW5kbGluZ1Njb3BlLmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEVycm9ySW5zdGFuY2UuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcRXJyb3JQcm90b3R5cGUuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcRXhjZXB0aW9uSGVscGVycy5oIiAvPgpA
QCAtMTQwNiwyMiArMTQwOSw2IEBACiAgICAgICA8RmlsZVR5cGU+RG9jdW1lbnQ8L0ZpbGVUeXBl
PgogICAgIDwvTm9uZT4KICAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPE1BU00g
SW5jbHVkZT0iLi5caml0XEpJVFN0dWJzTVNWQzY0LmFzbSI+Ci0gICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNl
X1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1
Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1
Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19X
aW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWdfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8
eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8
eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9NQVNNPgotICA8L0l0ZW1Hcm91
cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFy
Z2V0cyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgICA8
SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcQnVpbGRDdXN0b21pemF0aW9uc1xtYXNt
LnRhcmdldHMiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
LmZpbHRlcnMKaW5kZXggZTgxOWNlZDg4MmVhZmM4MDZkYzdjYTMyZGRhMDAwMDUyNzNiM2EwOC4u
ODdlMTJhNDcxNThiYjYyMjRkNDlmZDYyMjk3OGM0YTljNDQzNWE2NSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUu
dmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtNTM3LDYgKzUzNyw5
IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEVycm9yQ29uc3RydWN0b3Iu
Y3BwIj4KICAgICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgor
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxFcnJvckhhbmRsaW5nU2NvcGUuY3Bw
Ij4KKyAgICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxFcnJvckluc3RhbmNlLmNwcCI+CiAgICAg
ICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTE0NDIsNiAr
MTQ0NSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxhc3NlbWJsZXJcTWFjcm9Bc3Nl
bWJsZXJYODZfNjQuaCI+CiAgICAgICA8RmlsdGVyPmFzc2VtYmxlcjwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYXNzZW1ibGVyXE1heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmgiPgorICAgICAgPEZpbHRlcj5hc3NlbWJsZXI8L0ZpbHRl
cj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGFzc2VtYmxl
clxSZXBhdGNoQnVmZmVyLmgiPgogICAgICAgPEZpbHRlcj5hc3NlbWJsZXI8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KQEAgLTIxMjksNiArMjEzNSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxydW50aW1lXEVycm9yQ29uc3RydWN0b3IuaCI+CiAgICAgICA8RmlsdGVyPnJ1bnRp
bWU8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcRXJyb3JIYW5kbGluZ1Njb3BlLmgiPgorICAgICAgPEZpbHRlcj5ydW50aW1lPC9G
aWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50
aW1lXEVycm9ySW5zdGFuY2UuaCI+CiAgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KQEAgLTMyOTUsOSArMzMwNCw0IEBACiAgICAgPE5vbmUgSW5jbHVkZT0i
SmF2YVNjcmlwdENvcmVQb3N0QnVpbGQuY21kIiAvPgogICAgIDxOb25lIEluY2x1ZGU9IkphdmFT
Y3JpcHRDb3JlUHJlQnVpbGQuY21kIiAvPgogICA8L0l0ZW1Hcm91cD4KLSAgPEl0ZW1Hcm91cD4K
LSAgICA8TUFTTSBJbmNsdWRlPSIuLlxqaXRcSklUU3R1YnNNU1ZDNjQuYXNtIj4KLSAgICAgIDxG
aWx0ZXI+aml0PC9GaWx0ZXI+Ci0gICAgPC9NQVNNPgotICA8L0l0ZW1Hcm91cD4KIDwvUHJvamVj
dD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMDcwNzNkNzhmM2Y1Mzk5N2RhNmNi
NWFjZDJjMzhjZjlmMDYwZDYyOC4uMjdlODc2NzQwYTk2NGIwMjg5ODRlZDY3ODE2MTgyMGE1ZGNm
NzdjNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIxMCw2ICsyMTAsNyBAQAog
CQkwRjM4QjAxOTE3Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25Nb2RlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGMzhCMDE1MTdDRkU3
NTUwMEIxNDREMyAvKiBERkdDb21waWxhdGlvbk1vZGUuY3BwICovOyB9OwogCQkwRjM4QjAxQTE3
Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25Nb2RlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjM4QjAxNjE3Q0ZFNzU1MDBCMTQ0RDMgLyog
REZHQ29tcGlsYXRpb25Nb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMEYzQUM3NTIxODNFQTEwNDAwMzIwMjlGIC8qIFN0YWNrQWxpZ25tZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjNBQzc1
MTE4M0VBMTA0MDAzMjAyOUYgLyogU3RhY2tBbGlnbm1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjNBQzc1NDE4OEU1RUM4MDAzMjAyOUYg
LyogRXhpdGluZ0pJVFR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGM0FDNzUzMTg4RTVFQzgwMDMyMDI5RiAvKiBFeGl0aW5nSklUVHlwZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGM0IzQTFB
MTUzRTY4RjIwMDNFRDBGRiAvKiBERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjNCM0ExNzE1M0U2OEVGMDAz
RUQwRkYgLyogREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwICovOyB9OwogCQkwRjNCM0ExQjE1
M0U2OEY0MDAzRUQwRkYgLyogREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGM0IzQTE4MTUzRTY4RUYwMDNFRDBG
RiAvKiBERkdDb25zdGFudEZvbGRpbmdQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGM0IzQTI3MTU0NEM5OTUwMDNFRDBGRiAvKiBERkdD
RkdTaW1wbGlmaWNhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGM0IzQTI0MTU0NEM5OTEwMDNFRDBGRiAvKiBERkdDRkdTaW1wbGlm
aWNhdGlvblBoYXNlLmNwcCAqLzsgfTsKQEAgLTIzNiw2ICsyMzcsMTAgQEAKIAkJMEY0NjgwRDUx
NEJCRDI0QjAwQkZFMjcyIC8qIEhvc3RDYWxsUmV0dXJuVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDY4MEQxMTRCQkM1RjgwMEJGRTI3MiAv
KiBIb3N0Q2FsbFJldHVyblZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMEY0ODUzMjExODc3NTA1NjAwODNCNjg3IC8qIERGR0FyaXRoTW9k
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ4
NTMxRjE4Nzc1MDU2MDA4M0I2ODcgLyogREZHQXJpdGhNb2RlLmNwcCAqLzsgfTsKIAkJMEY0ODUz
MjIxODc3NTA1NjAwODNCNjg3IC8qIERGR0FyaXRoTW9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0ODUzMjAxODc3NTA1NjAwODNCNjg3IC8qIERG
R0FyaXRoTW9kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTBGNDg1MzI3MTg3REZERUMwMDgzQjY4NyAvKiBGVExBdmFpbGFibGVSZWNvdmVyeS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ4NTMy
MzE4N0RGREVDMDA4M0I2ODcgLyogRlRMQXZhaWxhYmxlUmVjb3ZlcnkuY3BwICovOyB9OworCQkw
RjQ4NTMyODE4N0RGREVDMDA4M0I2ODcgLyogRlRMQXZhaWxhYmxlUmVjb3ZlcnkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDg1MzI0MTg3REZERUMw
MDgzQjY4NyAvKiBGVExBdmFpbGFibGVSZWNvdmVyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNDg1MzI5MTg3REZERUMwMDgzQjY4NyAvKiBG
VExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjQ4NTMyNTE4N0RGREVDMDA4M0I2ODcgLyogRlRMUmVjb3ZlcnlPcGNvZGUu
Y3BwICovOyB9OworCQkwRjQ4NTMyQTE4N0RGREVDMDA4M0I2ODcgLyogRlRMUmVjb3ZlcnlPcGNv
ZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDg1
MzI2MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGNDkzQUZBMTZEMENBRDMwMDg0
NTA4QiAvKiBTb3VyY2VQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjQ5M0FGODE2RDBDQUQxMDA4NDUwOEIgLyogU291cmNlUHJvdmlk
ZXIuY3BwICovOyB9OwogCQkwRjRCOTREQzE3QjlGMDc1MDBERDAzQTQgLyogVHlwZWRBcnJheUlu
bGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
NEI5NERCMTdCOUYwNzUwMEREMDNBNCAvKiBUeXBlZEFycmF5SW5saW5lcy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGNTU0MUIxMTYxM0MxRkIw
MENFM0UyNSAvKiBTcGVjaWFsUG9pbnRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjU1NDFBRjE2MTNDMUZCMDBDRTNFMjUgLyogU3BlY2lhbFBv
aW50ZXIuY3BwICovOyB9OwpAQCAtMjQ4LDYgKzI1Myw4IEBACiAJCTBGNTZBMUQ1MTUwMDFDRjQw
MDI5OTJCMSAvKiBFeGVjdXRpb25Db3VudGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTZBMUQ0MTUwMDFDRjIwMDI5OTJCMSAvKiBFeGVjdXRp
b25Db3VudGVyLmNwcCAqLzsgfTsKIAkJMEY1NzJENEYxNjg3OUZERDAwRTU3RkJEIC8qIFRodW5r
R2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjU3MkQ0RDE2ODc5RkRCMDBFNTdGQkQgLyogVGh1bmtHZW5lcmF0b3IuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjVBNTJEMDE3QURENzE3
MDA4RUNCMkQgLyogQ29weVRva2VuLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwRjVBNTJDRjE3QURENzE3MDA4RUNCMkQgLyogQ29weVRva2VuLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY1QTYyODMx
ODhDOThENDAwNzJDOURGIC8qIEZUTFZhbHVlUmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1QTYyODExODhDOThENDAwNzJDOURGIC8qIEZU
TFZhbHVlUmFuZ2UuY3BwICovOyB9OworCQkwRjVBNjI4NDE4OEM5OEQ0MDA3MkM5REYgLyogRlRM
VmFsdWVSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY1QTYyODIxODhDOThENDAwNzJDOURGIC8qIEZUTFZhbHVlUmFuZ2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjVFRjkxRTE2ODc4RjdB
MDAzRTVDMjUgLyogSklUVGh1bmtzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNUVGOTFCMTY4NzhGNzgwMDNFNUMyNSAvKiBKSVRUaHVua3MuY3Bw
ICovOyB9OwogCQkwRjVFRjkxRjE2ODc4RjdEMDAzRTVDMjUgLyogSklUVGh1bmtzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjVFRjkxQzE2ODc4Rjc4
MDAzRTVDMjUgLyogSklUVGh1bmtzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMEY1RjA4Q0YxNDZDNzYzMzAwMDQ3MkE5IC8qIFVuY29uZGl0aW9u
YWxGaW5hbGl6ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGNUYwOENFMTQ2Qzc2MkYwMDA0NzJBOSAvKiBVbmNvbmRpdGlvbmFsRmluYWxpemVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTI2OSw2
ICsyNzYsMTggQEAKIAkJMEY2NjZFQ0QxODM2QjM3RTAwRDAxN0YxIC8qIERGR1Jlc3VycmVjdGlv
bkZvclZhbGlkYXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY2NjZFQ0IxODM2QjM3RTAwRDAxN0YxIC8qIERGR1Jlc3VycmVjdGlvbkZv
clZhbGlkYXRpb25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTBGNjZFMTZCMTRERjNGMTYwMEI3QjJFNCAvKiBERkdBZGphY2VuY3lMaXN0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjY2RTE2
ODE0REYzRjEzMDBCN0IyRTQgLyogREZHQWRqYWNlbmN5TGlzdC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGNjZFMTZDMTRERjNGMTYwMEI3QjJF
NCAvKiBERkdFZGdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjY2RTE2OTE0REYzRjEzMDBCN0IyRTQgLyogREZHRWRnZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNkIxQ0I1MTg1RkM5RTkwMDg0
NUQ5NyAvKiBGVExKU0NhbGwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY2QjFDQjMxODVGQzlFOTAwODQ1RDk3IC8qIEZUTEpTQ2FsbC5jcHAgKi87
IH07CisJCTBGNkIxQ0I2MTg1RkM5RTkwMDg0NUQ5NyAvKiBGVExKU0NhbGwuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkIxQ0I0MTg1RkM5RTkwMDg0
NUQ5NyAvKiBGVExKU0NhbGwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwRjZCMUNCOTE4NjEyNDRDMDA4NDVEOTcgLyogQXJpdHlDaGVja01vZGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkIxQ0I3
MTg2MTI0NEMwMDg0NUQ5NyAvKiBBcml0eUNoZWNrTW9kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNkIxQ0JBMTg2MTI0NEMwMDg0NUQ5NyAv
KiBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkIxQ0I4MTg2MTI0NEMwMDg0NUQ5NyAvKiBSZWdpc3RlclBy
ZXNlcnZhdGlvbk1vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkwRjZCMUNCRDE4NjEyNDZBMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRp
b25XcmFwcGVyR2VuZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNkIxQ0JCMTg2MTI0NkEwMDg0NUQ5NyAvKiBSZWdpc3RlclByZXNlcnZh
dGlvbldyYXBwZXJHZW5lcmF0b3IuY3BwICovOyB9OworCQkwRjZCMUNCRTE4NjEyNDZBMDA4NDVE
OTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjZCMUNCQzE4NjEyNDZBMDA4NDVE
OTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2QjFDQzMxODYyQzQ3ODAw
ODQ1RDk3IC8qIEZUTFJlZ2lzdGVyQXRPZmZzZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2QjFDQkYxODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFJl
Z2lzdGVyQXRPZmZzZXQuY3BwICovOyB9OworCQkwRjZCMUNDNDE4NjJDNDc4MDA4NDVEOTcgLyog
RlRMUmVnaXN0ZXJBdE9mZnNldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY2QjFDQzAxODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFJlZ2lzdGVyQXRPZmZz
ZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkw
RjZCMUNDNTE4NjJDNDc4MDA4NDVEOTcgLyogRlRMVW53aW5kSW5mby5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjZCMUNDMTE4NjJDNDc4MDA4NDVE
OTcgLyogRlRMVW53aW5kSW5mby5jcHAgKi87IH07CisJCTBGNkIxQ0M2MTg2MkM0NzgwMDg0NUQ5
NyAvKiBGVExVbndpbmRJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjZCMUNDMjE4NjJDNDc4MDA4NDVEOTcgLyogRlRMVW53aW5kSW5mby5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNkIxQ0M5
MTg2NDFERjgwMDg0NUQ5NyAvKiBBcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjZCMUNDNzE4NjQxREY4
MDA4NDVEOTcgLyogQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuY3BwICovOyB9OworCQkwRjZC
MUNDQTE4NjQxREY4MDA4NDVEOTcgLyogQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNkIxQ0M4MTg2NDFE
RjgwMDg0NUQ5NyAvKiBBcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGNzAyNUE5MTcxNEIwRkEwMDM4
MkMwRSAvKiBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY3MDI1QTcxNzE0QjBGODAwMzgyQzBFIC8qIERG
R09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAgKi87IH07CiAJCTBGNzAyNUFBMTcxNEIwRkMwMDM4
MkMwRSAvKiBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNzAyNUE4MTcxNEIwRjgwMDM4MkMwRSAvKiBERkdP
U1JFeGl0Q29tcGlsZXJDb21tb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQkwRjcxNENBNDE2RUE5MkYwMDBGM0VCRUIgLyogREZHQmFja3dhcmRz
UHJvcGFnYXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjcxNENBMTE2RUE5MkVEMDBGM0VCRUIgLyogREZHQmFja3dhcmRzUHJvcGFn
YXRpb25QaGFzZS5jcHAgKi87IH07CkBAIC0xMzQ2LDYgKzEzNjUsOCBAQAogCQlGRTU5MzJBODE4
M0M1QTI2MDBBMUVDQ0MgLyogVk1FbnRyeVNjb3BlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTU5MzJBNjE4M0M1QTI2MDBBMUVDQ0MgLyogVk1FbnRy
eVNjb3BlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJRkVBMDg2MjAxODJCN0EwNDAwRjZEODUxIC8qIEJyZWFrcG9pbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFQTA4NjFFMTgyQjdBMDQwMEY2RDg1
MSAvKiBCcmVha3BvaW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRkVBMDg2MjExODJCN0EwNDAwRjZEODUxIC8qIERlYnVnZ2VyUHJpbWl0aXZl
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVBMDg2
MUYxODJCN0EwNDAwRjZEODUxIC8qIERlYnVnZ2VyUHJpbWl0aXZlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZFQjU4QzE0MTg3QjhCMTYwMDk4
RUYwQiAvKiBFcnJvckhhbmRsaW5nU2NvcGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkVCNThDMTIxODdCOEIxNjAwOThFRjBCIC8qIEVycm9ySGFu
ZGxpbmdTY29wZS5jcHAgKi87IH07CisJCUZFQjU4QzE1MTg3QjhCMTYwMDk4RUYwQiAvKiBFcnJv
ckhhbmRsaW5nU2NvcGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZFQjU4QzEzMTg3QjhCMTYwMDk4RUYwQiAvKiBFcnJvckhhbmRsaW5nU2NvcGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGRUQyODdC
MjE1RUM5QTU3MDBEQTgxNjEgLyogTExJbnRPcGNvZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFRDI4N0IxMTVFQzlBNTcwMERBODE2MSAvKiBMTElu
dE9wY29kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUZFRDk0RjJFMTcxRTNFMjMwMEJFNzdBNCAvKiBXYXRjaGRvZy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUQ5NEYyQjE3MUUzRTIzMDBCRTc3
QTQgLyogV2F0Y2hkb2cuY3BwICovOyB9OwogCQlGRUQ5NEYyRjE3MUUzRTIzMDBCRTc3QTQgLyog
V2F0Y2hkb2cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZFRDk0RjJDMTcxRTNFMjMwMEJFNzdBNCAvKiBXYXRjaGRvZy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNjA1LDYgKzE2MjYsNyBAQAogCQkw
RjM4QjAxNTE3Q0ZFNzU1MDBCMTQ0RDMgLyogREZHQ29tcGlsYXRpb25Nb2RlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0NvbXBpbGF0aW9uTW9kZS5jcHA7IHBh
dGggPSBkZmcvREZHQ29tcGlsYXRpb25Nb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMEYzOEIwMTYxN0NGRTc1NTAwQjE0NEQzIC8qIERGR0NvbXBpbGF0aW9uTW9kZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdDb21waWxhdGlvbk1vZGUuaDsgcGF0
aCA9IGRmZy9ERkdDb21waWxhdGlvbk1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEYzQUM3NTExODNFQTEwNDAwMzIwMjlGIC8qIFN0YWNrQWxpZ25tZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0YWNrQWxpZ25tZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTBGM0FDNzUzMTg4RTVFQzgwMDMyMDI5RiAvKiBFeGl0aW5nSklUVHlw
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFeGl0aW5nSklUVHlwZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjNCM0ExNzE1M0U2OEVGMDAzRUQwRkYgLyog
REZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0NvbnN0
YW50Rm9sZGluZ1BoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEYzQjNB
MTgxNTNFNjhFRjAwM0VEMEZGIC8qIERGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmg7IHBhdGgg
PSBkZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMEYzQjNBMjQxNTQ0Qzk5MTAwM0VEMEZGIC8qIERGR0NGR1NpbXBsaWZpY2F0aW9uUGhh
c2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHQ0ZHU2ltcGxp
ZmljYXRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHQ0ZHU2ltcGxpZmljYXRpb25QaGFzZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjMyLDYgKzE2NTQsMTAgQEAKIAkJ
MEY0NjgwRDExNEJCQzVGODAwQkZFMjcyIC8qIEhvc3RDYWxsUmV0dXJuVmFsdWUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSG9zdENhbGxSZXR1cm5WYWx1ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwRjQ4NTMxRjE4Nzc1MDU2MDA4M0I2ODcgLyogREZHQXJp
dGhNb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0FyaXRo
TW9kZS5jcHA7IHBhdGggPSBkZmcvREZHQXJpdGhNb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMEY0ODUzMjAxODc3NTA1NjAwODNCNjg3IC8qIERGR0FyaXRoTW9kZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdBcml0aE1vZGUuaDsgcGF0aCA9IGRm
Zy9ERkdBcml0aE1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0ODUzMjMx
ODdERkRFQzAwODNCNjg3IC8qIEZUTEF2YWlsYWJsZVJlY292ZXJ5LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTEF2YWlsYWJsZVJlY292ZXJ5LmNwcDsgcGF0aCA9
IGZ0bC9GVExBdmFpbGFibGVSZWNvdmVyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTBGNDg1MzI0MTg3REZERUMwMDgzQjY4NyAvKiBGVExBdmFpbGFibGVSZWNvdmVyeS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExBdmFpbGFibGVSZWNvdmVyeS5oOyBw
YXRoID0gZnRsL0ZUTEF2YWlsYWJsZVJlY292ZXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGNDg1MzI1MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExSZWNvdmVyeU9wY29kZS5j
cHA7IHBhdGggPSBmdGwvRlRMUmVjb3ZlcnlPcGNvZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkwRjQ4NTMyNjE4N0RGREVDMDA4M0I2ODcgLyogRlRMUmVjb3ZlcnlPcGNvZGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMUmVjb3ZlcnlPcGNvZGUuaDsg
cGF0aCA9IGZ0bC9GVExSZWNvdmVyeU9wY29kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwRjQ5M0FGODE2RDBDQUQxMDA4NDUwOEIgLyogU291cmNlUHJvdmlkZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU291cmNlUHJvdmlkZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjRCOTREQjE3QjlGMDc1MDBERDAzQTQgLyogVHlw
ZWRBcnJheUlubGluZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHlwZWRB
cnJheUlubGluZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY1NTQxQUYxNjEz
QzFGQjAwQ0UzRTI1IC8qIFNwZWNpYWxQb2ludGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNwZWNpYWxQb2ludGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE2NDQsNiArMTY3MCw4IEBACiAJCTBGNTZBMUQ0MTUwMDFDRjIwMDI5OTJCMSAv
KiBFeGVjdXRpb25Db3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEV4ZWN1dGlvbkNvdW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
RjU3MkQ0RDE2ODc5RkRCMDBFNTdGQkQgLyogVGh1bmtHZW5lcmF0b3IuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gVGh1bmtHZW5lcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMEY1QTUyQ0YxN0FERDcxNzAwOEVDQjJEIC8qIENvcHlUb2tlbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3B5VG9rZW4uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEY1QTYyODExODhDOThENDAwNzJDOURGIC8qIEZUTFZhbHVlUmFuZ2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMVmFsdWVSYW5nZS5j
cHA7IHBhdGggPSBmdGwvRlRMVmFsdWVSYW5nZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGNUE2MjgyMTg4Qzk4RDQwMDcyQzlERiAvKiBGVExWYWx1ZVJhbmdlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTFZhbHVlUmFuZ2UuaDsgcGF0aCA9IGZ0bC9G
VExWYWx1ZVJhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNUVGOTFCMTY4
NzhGNzgwMDNFNUMyNSAvKiBKSVRUaHVua3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSklUVGh1bmtzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MEY1RUY5MUMxNjg3OEY3ODAwM0U1QzI1IC8qIEpJVFRodW5rcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKSVRUaHVua3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMEY1RjA4Q0UxNDZDNzYyRjAwMDQ3MkE5IC8qIFVuY29uZGl0aW9uYWxGaW5hbGl6ZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVW5jb25kaXRpb25hbEZpbmFsaXplci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTY2NSw2ICsxNjkzLDE4IEBACiAJCTBG
NjY2RUNCMTgzNkIzN0UwMEQwMTdGMSAvKiBERkdSZXN1cnJlY3Rpb25Gb3JWYWxpZGF0aW9uUGhh
c2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHUmVzdXJyZWN0aW9uRm9y
VmFsaWRhdGlvblBoYXNlLmg7IHBhdGggPSBkZmcvREZHUmVzdXJyZWN0aW9uRm9yVmFsaWRhdGlv
blBoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNjZFMTY4MTRERjNGMTMw
MEI3QjJFNCAvKiBERkdBZGphY2VuY3lMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IERGR0FkamFjZW5jeUxpc3QuaDsgcGF0aCA9IGRmZy9ERkdBZGphY2VuY3lMaXN0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNjZFMTY5MTRERjNGMTMwMEI3QjJFNCAv
KiBERkdFZGdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR0VkZ2UuaDsg
cGF0aCA9IGRmZy9ERkdFZGdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNkIx
Q0IzMTg1RkM5RTkwMDg0NUQ5NyAvKiBGVExKU0NhbGwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gRlRMSlNDYWxsLmNwcDsgcGF0aCA9IGZ0bC9GVExKU0NhbGwuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjZCMUNCNDE4NUZDOUU5MDA4NDVEOTcg
LyogRlRMSlNDYWxsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTEpTQ2Fs
bC5oOyBwYXRoID0gZnRsL0ZUTEpTQ2FsbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjZCMUNCNzE4NjEyNDRDMDA4NDVEOTcgLyogQXJpdHlDaGVja01vZGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJpdHlDaGVja01vZGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMEY2QjFDQjgxODYxMjQ0QzAwODQ1RDk3IC8qIFJlZ2lzdGVyUHJlc2Vy
dmF0aW9uTW9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWdpc3RlclBy
ZXNlcnZhdGlvbk1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2QjFDQkIx
ODYxMjQ2QTAwODQ1RDk3IC8qIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdlbmVyYXRvci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdpc3RlclByZXNlcnZh
dGlvbldyYXBwZXJHZW5lcmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RjZCMUNCQzE4NjEyNDZBMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2Vu
ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlZ2lzdGVyUHJlc2Vy
dmF0aW9uV3JhcHBlckdlbmVyYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkw
RjZCMUNCRjE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGVExSZWdpc3RlckF0T2Zmc2V0LmNwcDsg
cGF0aCA9IGZ0bC9GVExSZWdpc3RlckF0T2Zmc2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEY2QjFDQzAxODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFJlZ2lzdGVyQXRPZmZzZXQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRlRMUmVnaXN0ZXJBdE9mZnNldC5o
OyBwYXRoID0gZnRsL0ZUTFJlZ2lzdGVyQXRPZmZzZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMEY2QjFDQzExODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFVud2luZEluZm8uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMVW53aW5kSW5mby5jcHA7IHBh
dGggPSBmdGwvRlRMVW53aW5kSW5mby5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGNkIxQ0MyMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExVbndpbmRJbmZvLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTFVud2luZEluZm8uaDsgcGF0aCA9IGZ0bC9GVExVbndp
bmRJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNkIxQ0M3MTg2NDFERjgw
MDg0NUQ5NyAvKiBBcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNkIxQ0M4MTg2NDFERjgwMDg0NUQ5NyAvKiBB
cml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBBcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkwRjcwMjVBNzE3MTRCMEY4MDAzODJDMEUgLyogREZHT1NSRXhpdENvbXBpbGVyQ29t
bW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR09TUkV4aXRD
b21waWxlckNvbW1vbi5jcHA7IHBhdGggPSBkZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY3MDI1QTgxNzE0QjBGODAwMzgyQzBF
IC8qIERGR09TUkV4aXRDb21waWxlckNvbW1vbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaDsgcGF0aCA9IGRmZy9ERkdPU1JFeGl0
Q29tcGlsZXJDb21tb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY3MTRDQTEx
NkVBOTJFRDAwRjNFQkVCIC8qIERGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHQmFja3dhcmRzUHJvcGFnYXRpb25Q
aGFzZS5jcHA7IHBhdGggPSBkZmcvREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTE2LDYgKzIxNTYsNyBAQAogCQk2NTYwQTRD
RjA0QjNCM0U3MDA4QUU5NTIgLyogQ29yZUZvdW5kYXRpb24uZnJhbWV3b3JrICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7
IG5hbWUgPSBDb3JlRm91bmRhdGlvbi5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9Db3JlRm91bmRhdGlvbi5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29s
dXRlPiI7IH07CiAJCTY1NjIxRTZCMDg5RTg1OTcwMDc2MEYzNSAvKiBQcm9wZXJ0eVNsb3QuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRX
aWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UHJvcGVydHlTbG90LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9
OwogCQk2NTYyMUU2QzA4OUU4NTk3MDA3NjBGMzUgLyogUHJvcGVydHlTbG90LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByb3BlcnR5U2xvdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IH07CisJCTY1ODYwMTc3MTg1
QThGNUUwMDAzMEVFRSAvKiBNYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTk4N0YyQzE2N0ZFODRCMDAzQzJGOEQg
LyogREZHT1NSRXhpdENvbXBpbGF0aW9uSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBERkdPU1JFeGl0Q29tcGlsYXRpb25JbmZvLmg7IHBhdGggPSBkZmcvREZHT1NSRXhp
dENvbXBpbGF0aW9uSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTk4N0Yy
RjE2ODI4QTdFMDAzQzJGOEQgLyogVW51c2VkUG9pbnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBVbnVzZWRQb2ludGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTY1QzAyODRGMTcxNzk1RTIwMDM1MUUzNSAvKiBBUk12N0Rpc2Fzc2VtYmxlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBBUk12N0Rpc2Fzc2VtYmxlci5jcHA7
IHBhdGggPSBkaXNhc3NlbWJsZXIvQVJNdjdEaXNhc3NlbWJsZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMjc4Myw2ICsyODI0LDggQEAKIAkJRkU1OTMyQTYxODNDNUEyNjAw
QTFFQ0NDIC8qIFZNRW50cnlTY29wZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBWTUVudHJ5U2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVBMDg2MUUx
ODJCN0EwNDAwRjZEODUxIC8qIEJyZWFrcG9pbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQnJlYWtwb2ludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRUEw
ODYxRjE4MkI3QTA0MDBGNkQ4NTEgLyogRGVidWdnZXJQcmltaXRpdmVzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlYnVnZ2VyUHJpbWl0aXZlcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlGRUI1OEMxMjE4N0I4QjE2MDA5OEVGMEIgLyogRXJyb3JIYW5kbGlu
Z1Njb3BlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVycm9ySGFu
ZGxpbmdTY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFQjU4QzEzMTg3
QjhCMTYwMDk4RUYwQiAvKiBFcnJvckhhbmRsaW5nU2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRXJyb3JIYW5kbGluZ1Njb3BlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUZFRDI4N0IxMTVFQzlBNTcwMERBODE2MSAvKiBMTEludE9wY29kZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMTEludE9wY29kZS5oOyBwYXRoID0gbGxpbnQv
TExJbnRPcGNvZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVEOTRGMkIxNzFF
M0UyMzAwQkU3N0E0IC8qIFdhdGNoZG9nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdhdGNoZG9nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVE
OTRGMkMxNzFFM0UyMzAwQkU3N0E0IC8qIFdhdGNoZG9nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdhdGNoZG9nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0z
MDAxLDYgKzMwNDQsOCBAQAogCQkJCTBGRUEwQTE4MTcwOEIwMDcwMEJCNzIyQyAvKiBGVExBYnN0
cmFjdEhlYXAuaCAqLywKIAkJCQkwRkVBMEExOTE3MDhCMDA3MDBCQjcyMkMgLyogRlRMQWJzdHJh
Y3RIZWFwUmVwb3NpdG9yeS5jcHAgKi8sCiAJCQkJMEZFQTBBMUExNzA4QjAwNzAwQkI3MjJDIC8q
IEZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaCAqLywKKwkJCQkwRjQ4NTMyMzE4N0RGREVDMDA4
M0I2ODcgLyogRlRMQXZhaWxhYmxlUmVjb3ZlcnkuY3BwICovLAorCQkJCTBGNDg1MzI0MTg3REZE
RUMwMDgzQjY4NyAvKiBGVExBdmFpbGFibGVSZWNvdmVyeS5oICovLAogCQkJCTBGRUEwOUZFMTcw
NTEzREIwMEJCNzIyQyAvKiBGVExDYXBhYmlsaXRpZXMuY3BwICovLAogCQkJCTBGRUEwOUZGMTcw
NTEzREIwMEJCNzIyQyAvKiBGVExDYXBhYmlsaXRpZXMuaCAqLywKIAkJCQkwRkVBMEEyNTE3MDk2
MjNCMDBCQjcyMkMgLyogRlRMQ29tbW9uVmFsdWVzLmNwcCAqLywKQEAgLTMwMzEsNiArMzA3Niw4
IEBACiAJCQkJMEZFQTBBMDMxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTEpJVENvZGUuaCAqLywKIAkJ
CQlBNzhBOTc3RDE3OTczOEQ1MDA5REY3NDQgLyogRlRMSklURmluYWxpemVyLmNwcCAqLywKIAkJ
CQlBNzhBOTc3RTE3OTczOEQ1MDA5REY3NDQgLyogRlRMSklURmluYWxpemVyLmggKi8sCisJCQkJ
MEY2QjFDQjMxODVGQzlFOTAwODQ1RDk3IC8qIEZUTEpTQ2FsbC5jcHAgKi8sCisJCQkJMEY2QjFD
QjQxODVGQzlFOTAwODQ1RDk3IC8qIEZUTEpTQ2FsbC5oICovLAogCQkJCTBGOEYyQjkzMTcyRTA0
OUUwMDdEQkRBNSAvKiBGVExMaW5rLmNwcCAqLywKIAkJCQkwRjhGMkI5NDE3MkUwNDlFMDA3REJE
QTUgLyogRlRMTGluay5oICovLAogCQkJCTBGQ0VGQUREMTgwNzM4QzAwMDQ3MkNFNCAvKiBGVExM
b2NhdGlvbi5jcHAgKi8sCkBAIC0zMDQ3LDYgKzMwOTQsMTAgQEAKIAkJCQkwRjIzNUJDQTE3MTc4
RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdENvbXBpbGVyLmggKi8sCiAJCQkJMEZFQTBBMjkxNzA5
NjI5NjAwQkI3MjJDIC8qIEZUTE91dHB1dC5jcHAgKi8sCiAJCQkJMEZFQTBBMDYxNzA1MTNEQjAw
QkI3MjJDIC8qIEZUTE91dHB1dC5oICovLAorCQkJCTBGNDg1MzI1MTg3REZERUMwMDgzQjY4NyAv
KiBGVExSZWNvdmVyeU9wY29kZS5jcHAgKi8sCisJCQkJMEY0ODUzMjYxODdERkRFQzAwODNCNjg3
IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmggKi8sCisJCQkJMEY2QjFDQkYxODYyQzQ3ODAwODQ1RDk3
IC8qIEZUTFJlZ2lzdGVyQXRPZmZzZXQuY3BwICovLAorCQkJCTBGNkIxQ0MwMTg2MkM0NzgwMDg0
NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmggKi8sCiAJCQkJMEZDRUZBQTkxODA0QzEzRTAw
NDcyQ0U0IC8qIEZUTFNhdmVSZXN0b3JlLmNwcCAqLywKIAkJCQkwRkNFRkFBQTE4MDRDMTNFMDA0
NzJDRTQgLyogRlRMU2F2ZVJlc3RvcmUuaCAqLywKIAkJCQkwRjI1RjFBQTE4MTYzNUYzMDA1MjJG
MzkgLyogRlRMU2xvd1BhdGhDYWxsLmNwcCAqLywKQEAgLTMwNjEsOSArMzExMiwxMyBAQAogCQkJ
CTBGMjM1QkNCMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExUaHVua3MuY3BwICovLAogCQkJCTBGMjM1
QkNDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExUaHVua3MuaCAqLywKIAkJCQkwRkVBMEExQjE3MDhC
MDA3MDBCQjcyMkMgLyogRlRMVHlwZWRQb2ludGVyLmggKi8sCisJCQkJMEY2QjFDQzExODYyQzQ3
ODAwODQ1RDk3IC8qIEZUTFVud2luZEluZm8uY3BwICovLAorCQkJCTBGNkIxQ0MyMTg2MkM0Nzgw
MDg0NUQ5NyAvKiBGVExVbndpbmRJbmZvLmggKi8sCiAJCQkJMEYyMzVCQ0QxNzE3OEUxQzAwNjkw
QzdGIC8qIEZUTFZhbHVlRm9ybWF0LmNwcCAqLywKIAkJCQkwRjIzNUJDRTE3MTc4RTFDMDA2OTBD
N0YgLyogRlRMVmFsdWVGb3JtYXQuaCAqLywKIAkJCQkwRkRCMkNDODE3M0RBNTFFMDA3QjNDMUIg
LyogRlRMVmFsdWVGcm9tQmxvY2suaCAqLywKKwkJCQkwRjVBNjI4MTE4OEM5OEQ0MDA3MkM5REYg
LyogRlRMVmFsdWVSYW5nZS5jcHAgKi8sCisJCQkJMEY1QTYyODIxODhDOThENDAwNzJDOURGIC8q
IEZUTFZhbHVlUmFuZ2UuaCAqLywKIAkJCSk7CiAJCQluYW1lID0gZnRsOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKQEAgLTMxNTIsNiArMzIwNyw4IEBACiAJCTE0MjlEOTJDMEVEMjJENzAw
MEI4OTYxOSAvKiBqaXQgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAorCQkJCTBGNkIxQ0M3MTg2NDFERjgwMDg0NUQ5NyAvKiBBcml0eUNoZWNrRmFpbFJldHVyblRo
dW5rcy5jcHAgKi8sCisJCQkJMEY2QjFDQzgxODY0MURGODAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tG
YWlsUmV0dXJuVGh1bmtzLmggKi8sCiAJCQkJMEYyNEU1M0IxN0VBOUY1OTAwQUJCMjE3IC8qIEFz
c2VtYmx5SGVscGVycy5jcHAgKi8sCiAJCQkJMEYyNEU1M0MxN0VBOUY1OTAwQUJCMjE3IC8qIEFz
c2VtYmx5SGVscGVycy5oICovLAogCQkJCTBGMjRFNTNEMTdFQTlGNTkwMEFCQjIxNyAvKiBDQ2Fs
bEhlbHBlcnMuaCAqLywKQEAgLTMyMDUsNiArMzI2Miw4IEBACiAJCQkJMEZDNzEyRTExN0NEODc4
RjAwOENDOTNDIC8qIEpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmggKi8sCiAJ
CQkJQTc2RjU0QTIxM0IyOEFBQjAwRUYyQkNFIC8qIEpJVFdyaXRlQmFycmllci5oICovLAogCQkJ
CUE3NkM1MTc0MTE4Mjc0OEQwMDcxNUIwNSAvKiBKU0ludGVyZmFjZUpJVC5oICovLAorCQkJCTBG
NkIxQ0JCMTg2MTI0NkEwMDg0NUQ5NyAvKiBSZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJHZW5l
cmF0b3IuY3BwICovLAorCQkJCTBGNkIxQ0JDMTg2MTI0NkEwMDg0NUQ5NyAvKiBSZWdpc3RlclBy
ZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuaCAqLywKIAkJCQkwRkMzMTQxNDE4MTQ2RDcwMDAw
MzMyMzIgLyogUmVnaXN0ZXJTZXQuY3BwICovLAogCQkJCTBGQzMxNDEwMTgxNDU1OTEwMDAzMzIz
MiAvKiBSZWdpc3RlclNldC5oICovLAogCQkJCTBGMjRFNTQ5MTdFRTI3NDkwMEFCQjIxNyAvKiBS
ZXBhdGNoLmNwcCAqLywKQEAgLTM1NTQsNiArMzYxMyw3IEBACiAJCQkJQTc2MTQwQzgxODI5ODJD
QjAwNzUwNjI0IC8qIEFyZ3VtZW50c0l0ZXJhdG9yQ29uc3RydWN0b3IuaCAqLywKIAkJCQlBNzYx
NDBDOTE4Mjk4MkNCMDA3NTA2MjQgLyogQXJndW1lbnRzSXRlcmF0b3JQcm90b3R5cGUuY3BwICov
LAogCQkJCUE3NjE0MENBMTgyOTgyQ0IwMDc1MDYyNCAvKiBBcmd1bWVudHNJdGVyYXRvclByb3Rv
dHlwZS5oICovLAorCQkJCTBGNkIxQ0I3MTg2MTI0NEMwMDg0NUQ5NyAvKiBBcml0eUNoZWNrTW9k
ZS5oICovLAogCQkJCUE3QThBRjI1MTdBREI1RjIwMDVBQjE3NCAvKiBBcnJheUJ1ZmZlci5jcHAg
Ki8sCiAJCQkJQTdBOEFGMjYxN0FEQjVGMzAwNUFCMTc0IC8qIEFycmF5QnVmZmVyLmggKi8sCiAJ
CQkJMEZGQzk5RDIxODRFRTMxODAwOUMxMEFCIC8qIEFycmF5QnVmZmVyTmV1dGVyaW5nV2F0Y2hw
b2ludC5jcHAgKi8sCkBAIC0zNjE4LDYgKzM2NzgsOCBAQAogCQkJCUJDMzA0NjA2MEUxRjQ5N0Yw
MDMyMzJDRiAvKiBFcnJvci5oICovLAogCQkJCUJDMDJFOTA0MEUxODM5REIwMDBGOTI5NyAvKiBF
cnJvckNvbnN0cnVjdG9yLmNwcCAqLywKIAkJCQlCQzAyRTkwNTBFMTgzOURCMDAwRjkyOTcgLyog
RXJyb3JDb25zdHJ1Y3Rvci5oICovLAorCQkJCUZFQjU4QzEyMTg3QjhCMTYwMDk4RUYwQiAvKiBF
cnJvckhhbmRsaW5nU2NvcGUuY3BwICovLAorCQkJCUZFQjU4QzEzMTg3QjhCMTYwMDk4RUYwQiAv
KiBFcnJvckhhbmRsaW5nU2NvcGUuaCAqLywKIAkJCQlCQzAyRTk4QTBFMTgzRTM4MDAwRjkyOTcg
LyogRXJyb3JJbnN0YW5jZS5jcHAgKi8sCiAJCQkJQkMwMkU5OEIwRTE4M0UzODAwMEY5Mjk3IC8q
IEVycm9ySW5zdGFuY2UuaCAqLywKIAkJCQlCQzAyRTkwNjBFMTgzOURCMDAwRjkyOTcgLyogRXJy
b3JQcm90b3R5cGUuY3BwICovLApAQCAtMzg1MSw2ICszOTEzLDcgQEAKIAkJCQlGNjkyQTg3QzAy
NTU1OTdEMDFGRjYwRjcgLyogUmVnRXhwT2JqZWN0LmggKi8sCiAJCQkJQkNEMjAyQkYwRTE3MDZB
NzAwMkM3RTgyIC8qIFJlZ0V4cFByb3RvdHlwZS5jcHAgKi8sCiAJCQkJQkNEMjAyQzAwRTE3MDZB
NzAwMkM3RTgyIC8qIFJlZ0V4cFByb3RvdHlwZS5oICovLAorCQkJCTBGNkIxQ0I4MTg2MTI0NEMw
MDg0NUQ5NyAvKiBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGUuaCAqLywKIAkJCQkwRkI3RjM5MTE1
RUQ4RTM4MDBGMTY3QjIgLyogUmVqZWN0LmggKi8sCiAJCQkJMEY3NzAwOTExNDAyRkYyODAwNzhF
QjM5IC8qIFNhbXBsaW5nQ291bnRlci5jcHAgKi8sCiAJCQkJMEY3NzAwOEUxNDAyRkRENjAwNzhF
QjM5IC8qIFNhbXBsaW5nQ291bnRlci5oICovLApAQCAtMzk2NSw2ICs0MDI4LDggQEAKIAkJODZF
QzlEQjMxMzI4REY0NDAwMkIyQUQ3IC8qIGRmZyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCisJCQkJMkFDQ0YzREMxODVGRTI2QjAwODNFMkFEIC8qIERGR1N0b3Jl
QmFycmllckVsaXNpb25QaGFzZS5jcHAgKi8sCisJCQkJMkFDQ0YzREQxODVGRTI2QjAwODNFMkFE
IC8qIERGR1N0b3JlQmFycmllckVsaXNpb25QaGFzZS5oICovLAogCQkJCUE3N0E0MjM2MTdBMEJC
RkQwMEE4REI4MSAvKiBERkdBYnN0cmFjdEhlYXAuY3BwICovLAogCQkJCUE3N0E0MjM3MTdBMEJC
RkQwMEE4REI4MSAvKiBERkdBYnN0cmFjdEhlYXAuaCAqLywKIAkJCQlBNzA0RDhGRTE3QTBCQUE4
MDA2QkE1NTQgLyogREZHQWJzdHJhY3RJbnRlcnByZXRlci5oICovLApAQCAtNDE1Myw4ICs0MjE4
LDYgQEAKIAkJCQkwRkMyMENCODE4NTU2QTM1MDBDOUU5NTQgLyogREZHU1NBTG93ZXJpbmdQaGFz
ZS5oICovLAogCQkJCTBGOUZCNEYyMTdGQ0I5MTcwMENCNjdGOCAvKiBERkdTdGFja0xheW91dFBo
YXNlLmNwcCAqLywKIAkJCQkwRjlGQjRGMzE3RkNCOTE3MDBDQjY3RjggLyogREZHU3RhY2tMYXlv
dXRQaGFzZS5oICovLAotCQkJCTJBQ0NGM0RDMTg1RkUyNkIwMDgzRTJBRCAvKiBERkdTdG9yZUJh
cnJpZXJFbGlzaW9uUGhhc2UuY3BwICovLAotCQkJCTJBQ0NGM0REMTg1RkUyNkIwMDgzRTJBRCAv
KiBERkdTdG9yZUJhcnJpZXJFbGlzaW9uUGhhc2UuaCAqLywKIAkJCQkwRkMyMENCMzE4NTJFMkM2
MDBDOUU5NTQgLyogREZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFzZS5jcHAgKi8sCiAJCQkJMEZDMjBD
QjQxODUyRTJDNjAwQzlFOTU0IC8qIERGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuaCAqLywKIAkJ
CQkwRjYzOTQ3NjE1RENFMzQ3MDA2QTU5N0MgLyogREZHU3RydWN0dXJlQWJzdHJhY3RWYWx1ZS5o
ICovLApAQCAtNDI1MCw2ICs0MzEzLDcgQEAKIAkJOTY4OENCMTIwRUQxMkI0RTAwMUQ2NDlGIC8q
IGFzc2VtYmxlciAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJ
CQkJNjU4NjAxNzcxODVBOEY1RTAwMDMwRUVFIC8qIE1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhD
YWxsLmggKi8sCiAJCQkJODYwMTYxREYwRjNBODNDMTAwRjg0NzEwIC8qIEFic3RyYWN0TWFjcm9B
c3NlbWJsZXIuaCAqLywKIAkJCQk4NjQwOTIzQjE1NkVFRDNCMDA1NjZDQjIgLyogQVJNNjRBc3Nl
bWJsZXIuaCAqLywKIAkJCQk4NkQzQjJCRjEwMTU2QkRFMDAyODY1RTcgLyogQVJNQXNzZW1ibGVy
LmNwcCAqLywKQEAgLTQzMjIsNiArNDM4Niw3IEBACiAJCQkJOTY5QTA3OTIwRUQxRDNBRTAwRjFG
NjgxIC8qIEV2YWxDb2RlQ2FjaGUuaCAqLywKIAkJCQkwRjU2QTFENDE1MDAxQ0YyMDAyOTkyQjEg
LyogRXhlY3V0aW9uQ291bnRlci5jcHAgKi8sCiAJCQkJMEY1NkExRDExNTAwMEYzMTAwMjk5MkIx
IC8qIEV4ZWN1dGlvbkNvdW50ZXIuaCAqLywKKwkJCQkwRjNBQzc1MzE4OEU1RUM4MDAzMjAyOUYg
LyogRXhpdGluZ0pJVFR5cGUuaCAqLywKIAkJCQkwRkIxMDU4MjE2NzU0ODBDMDBGOEFCNkUgLyog
RXhpdEtpbmQuY3BwICovLAogCQkJCTBGQjEwNTgzMTY3NTQ4MEMwMEY4QUI2RSAvKiBFeGl0S2lu
ZC5oICovLAogCQkJCTBGMEI4M0FBMTRCQ0Y1QjkwMDg4NUI0RiAvKiBFeHByZXNzaW9uUmFuZ2VJ
bmZvLmggKi8sCkBAIC00NTQxLDEzICs0NjA2LDE0IEBACiAJCQkJODZBREQxNDUwRkRERUE5ODAw
MDZFRUMyIC8qIEFSTXY3QXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNUNFRUUxNTE4
N0YzQkFEMDBFNTVDOTkgLyogSW5zcGVjdG9yQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1
QzAyODVEMTcxNzk2NjgwMDM1MUUzNSAvKiBBUk12N0RPcGNvZGUuaCBpbiBIZWFkZXJzICovLAot
CQkJCTJBNjgyOTVCMTg3NUY4MDUwMEI2QzNFMiAvKiBDb3B5V3JpdGVCYXJyaWVyLmggaW4gSGVh
ZGVycyAqLywKLQkJCQkyQTRFQzkwQzE4NjBENkMyMDA5NEY3ODIgLyogV3JpdGVCYXJyaWVyQnVm
ZmVyLmggaW4gSGVhZGVycyAqLywKKyAJCQkJMkE2ODI5NUIxODc1RjgwNTAwQjZDM0UyIC8qIENv
cHlXcml0ZUJhcnJpZXIuaCBpbiBIZWFkZXJzICovLAorICAgICAgICAgICAgICAgIDJBNEVDOTBD
MTg2MEQ2QzIwMDk0Rjc4MiAvKiBXcml0ZUJhcnJpZXJCdWZmZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUZFNTkzMkE4MTgzQzVBMjYwMEExRUNDQyAvKiBWTUVudHJ5U2NvcGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE1MzI0MzkzMTg1Njk3MDkwMDJFRDY5MiAvKiBDb2RlR2VuZXJhdG9ySW5zcGVj
dG9yU3RyaW5ncy5weSBpbiBIZWFkZXJzICovLAotCQkJCUE1MzI0MzkyMTg1Njk3MDkwMDJFRDY5
MiAvKiBDb2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5IGluIEhlYWRlcnMgKi8sCisgCQkJCUE1MzI0
MzkyMTg1Njk3MDkwMDJFRDY5MiAvKiBDb2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5IGluIEhlYWRl
cnMgKi8sCiAJCQkJMEYyNEU1NEYxN0VFMjc0OTAwQUJCMjE3IC8qIFRlbXBSZWdpc3RlclNldC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTUwRTRCNjQxODgwOURENTAwNjhBNDZEIC8qIEpTR2xvYmFs
T2JqZWN0UnVudGltZUFnZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlGRUI1OEMxNTE4N0I4QjE2
MDA5OEVGMEIgLyogRXJyb3JIYW5kbGluZ1Njb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0JG
RjNDMDE3OTg2ODk0MDAwMkY0NjIgLyogREZHRmlsdHJhdGlvblJlc3VsdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTU4NDBFMjcxODdDOTgxRTAwODQzQjEwIC8qIGNzc21pbi5weSBpbiBIZWFkZXJz
ICovLAogCQkJCUMyRkNBRTExMTdBOUMyNEUwMDM0QzczNSAvKiBCeXRlY29kZUJhc2ljQmxvY2su
aCBpbiBIZWFkZXJzICovLApAQCAtNDU1Niw3ICs0NjIyLDcgQEAKIAkJCQkwRjgzMzVCODE2MzlD
MUVBMDAxNDQzQjUgLyogQXJyYXlBbGxvY2F0aW9uUHJvZmlsZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTU4NDBFMjkxODdDQTVFNjAwODQzQjEwIC8qIGlubGluZS1hbmQtbWluaWZ5LXN0eWxlc2hl
ZXRzLWFuZC1zY3JpcHRzLnB5IGluIEhlYWRlcnMgKi8sCiAJCQkJQTU4NDBFMkIxODdDQTc1QjAw
ODQzQjEwIC8qIGpzbWluLnB5IGluIEhlYWRlcnMgKi8sCi0JCQkJQTUzMjQzOTgxODU2QTQ4OTAw
MkVENjkyIC8qIEluc3BlY3RvckpTLmpzb24gaW4gSGVhZGVycyAqLywKKyAJCQkJQTUzMjQzOTgx
ODU2QTQ4OTAwMkVENjkyIC8qIEluc3BlY3RvckpTLmpzb24gaW4gSGVhZGVycyAqLywKIAkJCQlB
NTg0MEUyQTE4N0NBNzU5MDA4NDNCMTAgLyogeHhkLnBsIGluIEhlYWRlcnMgKi8sCiAJCQkJRkVB
MDg2MjAxODJCN0EwNDAwRjZEODUxIC8qIEJyZWFrcG9pbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE3QThBRjM1MTdBREI1RjMwMDVBQjE3NCAvKiBBcnJheUJ1ZmZlci5oIGluIEhlYWRlcnMgKi8s
CkBAIC00NjI0LDYgKzQ2OTAsNyBAQAogCQkJCUMyRUFBM0ZBMTQ5QTgzNUUwMEZDRTExMiAvKiBD
b3BpZWRTcGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzJDOEQwMkQxNEEzQzZFMDAwNTc4RTY1
IC8qIENvcGllZFNwYWNlSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1QTUyRDAxN0FE
RDcxNzAwOEVDQjJEIC8qIENvcHlUb2tlbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY2QjFDQzYx
ODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFVud2luZEluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUMy
MjM5RDE4MTYyNjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQzIyMzlEMTkxNjI2MkJERDAwNUFDNUZEIC8qIENvcHlWaXNpdG9ySW5saW5lcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQzIxOEQxNDAxNjU1Q0ZENTAwNjJCQjgxIC8qIENvcHlXb3JrTGlzdC5o
IGluIEhlYWRlcnMgKi8sCkBAIC00NjY1LDcgKzQ3MzIsOCBAQAogCQkJCTBGODM2NEI3MTY0QjBD
MTEwMDUzMzI5QSAvKiBERkdCcmFuY2hEaXJlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUEx
QTAwOUMwMTgzMUEyMkQwMENGODcxMSAvKiBNYWNyb0Fzc2VtYmxlckFSTTY0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4NkVDOURDNTEzMjhERjgyMDAyQjJBRDcgLyogREZHQnl0ZUNvZGVQYXJzZXIu
aCBpbiBIZWFkZXJzICovLAotCQkJCUE1OTNDRjg3MTg0MDM4Q0EwMEJGQ0UyNyAvKiBJbnNwZWN0
b3JBZ2VudFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjQ4NTMyODE4N0RGREVDMDA4
M0I2ODcgLyogRlRMQXZhaWxhYmxlUmVjb3ZlcnkuaCBpbiBIZWFkZXJzICovLAorICAgICAgICAg
ICAgICAgIEE1OTNDRjg3MTg0MDM4Q0EwMEJGQ0UyNyAvKiBJbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjI1NkMzNjE2MjdCMEFEMDA3RjI3ODMgLyogREZHQ2Fs
bEFycmF5QWxsb2NhdG9yU2xvd1BhdGhHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTBG
N0IyOTRCMTRDM0NEMkYwMDdDM0RCMSAvKiBERkdDYXBhYmlsaXRpZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGRkZDOTU4MTRFRjkwQTIwMEM3MjUzMiAvKiBERkdDRkFQaGFzZS5oIGluIEhlYWRl
cnMgKi8sCkBAIC00Njk5LDYgKzQ3NjcsNyBAQAogCQkJCTBGQkMwQUU4MTQ5NkM3QzcwMEQ0RkJE
RCAvKiBERkdFeGl0UHJvZmlsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc4QTk3NzUxNzk3MzhC
ODAwOURGNzQ0IC8qIERGR0ZhaWxlZEZpbmFsaXplci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc4
QTk3NzcxNzk3MzhCODAwOURGNzQ0IC8qIERGR0ZpbmFsaXplci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMEY2QjFDQjYxODVGQzlFOTAwODQ1RDk3IC8qIEZUTEpTQ2FsbC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMEYyQkRDMTYxNTFDNUQ0RjAwQ0Q4OTEwIC8qIERGR0ZpeHVwUGhhc2UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGOUQzMzk3MTdGRkM0RTYwMDczQzJCQyAvKiBERkdGbHVzaGVkQXQuaCBp
biBIZWFkZXJzICovLAogCQkJCUE3RDg5Q0Y4MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdGbHVzaEZv
cm1hdC5oIGluIEhlYWRlcnMgKi8sCkBAIC00NzM1LDYgKzQ4MDQsNyBAQAogCQkJCTBGRDhBMzI2
MTdENTFGNTcwMENBMkM0MCAvKiBERkdPU1JFbnRyeXBvaW50Q3JlYXRpb25QaGFzZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZDMDk3NkExNDY4QTZGNzAwQ0YyNDQyIC8qIERGR09TUkV4aXQuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGRkM5OUQxMTg0RUM4QUQwMDlDMTBBQiAvKiBDb25zdGFudE1v
ZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNkIxQ0JBMTg2MTI0NEMwMDg0NUQ5NyAvKiBSZWdp
c3RlclByZXNlcnZhdGlvbk1vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMjM1QkVDMTcxNzhF
NzMwMDY5MEM3RiAvKiBERkdPU1JFeGl0QmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVCQTE1
RUQxODIzNDBCNDAwQTgyRTY5IC8qIFJlbW90ZUluc3BlY3RvclhQQ0Nvbm5lY3Rpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGRkI5MjFDMTZEMDJGMTEwMDU1QTVEQiAvKiBERkdPU1JFeGl0Q29t
cGlsYXRpb25JbmZvLmggaW4gSGVhZGVycyAqLywKQEAgLTQ4MDMsNiArNDg3Myw3IEBACiAJCQkJ
MEZFQTBBMUYxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaCBp
biBIZWFkZXJzICovLAogCQkJCUE1OTQ1NTkzMTgyNDc0NDcwMENDMzg0MyAvKiBKU0dsb2JhbE9i
amVjdERlYnVnZ2FibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRUEwQTBBMTcwNTEzREIwMEJC
NzIyQyAvKiBGVExDYXBhYmlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNDg1MzJBMTg3
REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEZFQTBBMjMxNzA5NjA2OTAwQkI3MjJDIC8qIEZUTENvbW1vblZhbHVlcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEZFQTBBMEMxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTENvbXBpbGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTBGMjM1QkQ0MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExFeGl0QXJndW1lbnQu
aCBpbiBIZWFkZXJzICovLApAQCAtNDgxOSw2ICs0ODkwLDcgQEAKIAkJCQkwRkVBMEEyNDE3MDk2
MDY5MDBCQjcyMkMgLyogRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEZFQTBBMEUxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTEpJVENvZGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE3OEE5NzgxMTc5NzM4RDUwMDlERjc0NCAvKiBGVExKSVRGaW5hbGl6ZXIuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTBGNUE2Mjg0MTg4Qzk4RDQwMDcyQzlERiAvKiBGVExWYWx1ZVJhbmdl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjhGMkI5NjE3MkUwNEEzMDA3REJEQTUgLyogRlRMTGlu
ay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZDRUZBRTAxODA3MzhDMDAwNDcyQ0U0IC8qIEZUTExv
Y2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVBMEExMDE3MDUxM0RCMDBCQjcyMkMgLyog
RlRMTG93ZXJERkdUb0xMVk0uaCBpbiBIZWFkZXJzICovLApAQCAtNDkwMSw2ICs0OTczLDcgQEAK
IAkJCQkwRkMyMENCNjE4NTJFMkM2MDBDOUU5NTQgLyogREZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFz
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZCMTRFMUYxODEyNEFDRTAwOUI2QjREIC8qIEpJVElu
bGluZUNhY2hlR2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NkNDODVBMTBFRTc5QTQ3
MDAyODg2ODIgLyogSklUSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY2QjFDQkUxODYx
MjQ2QTAwODQ1RDk3IC8qIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdlbmVyYXRvci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEYyNEU1NEQxN0VFMjc0OTAwQUJCMjE3IC8qIEpJVE9wZXJhdGlv
bnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3OTBERDcwMTgyRjQ5OTcwMDU4ODgwNyAvKiBKU1Nl
dEl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjI0RTU0RTE3RUUyNzQ5MDBBQkIyMTcg
LyogSklUT3BlcmF0aW9uV3JhcHBlcnMuaCBpbiBIZWFkZXJzICovLApAQCAtNDkxNiw2ICs0OTg5
LDcgQEAKIAkJCQkwRkM3MTJFMzE3Q0Q4NzkzMDA4Q0M5M0MgLyogSklUVG9ERkdEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUE3NkY1NEEzMTNCMjhBQUIw
MEVGMkJDRSAvKiBKSVRXcml0ZUJhcnJpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDE2
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0FjdGl2YXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTBG
NkIxQ0I5MTg2MTI0NEMwMDg0NUQ5NyAvKiBBcml0eUNoZWNrTW9kZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODQwNDgwMTMxMDIxQTFEOTAwOEU3RjAxIC8qIEpTQVBJVmFsdWVXcmFwcGVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQlDMkNGMzlDMjE2RTE1QTgxMDBERDY5QkUgLyogSlNBUElXcmFwcGVy
T2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzYxNDBEMjE4Mjk4MkNCMDA3NTA2MjQgLyog
SlNBcmd1bWVudHNJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCkBAIC00OTY5LDYgKzUwNDMsOCBA
QAogCQkJCUJDMThDNDIzMEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0xvY2suaCBpbiBIZWFkZXJzICov
LAogCQkJCUMyNUQ3MDlDMTZERTk5RjQwMEZDQTZCQyAvKiBKU01hbmFnZWRWYWx1ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTcwMDg3NDIxN0NCRThFQjAwQzNFNjQzIC8qIEpTTWFwLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRjNBQzc1NDE4OEU1RUM4MDAzMjAyOUYgLyogRXhpdGluZ0pJVFR5cGUu
aCBpbiBIZWFkZXJzICovLAorCQkJCTBGNkIxQ0M0MTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdp
c3RlckF0T2Zmc2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDg3NEFFNDE1RUJERTRBMDAyRTM1
ODcgLyogSlNOYW1lU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDI0MEUxNkY1Q0Qw
MEIzNDQ2MCAvKiBKU09iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0MjUwRTE2RjVD
RDAwQjM0NDYwIC8qIEpTT2JqZWN0UmVmLmggaW4gSGVhZGVycyAqLywKQEAgLTUyNzMsNiArNTM0
OSw3IEBACiAJCQkJOTY4OENCMTYwRUQxMkI0RTAwMUQ2NDlGIC8qIFg4NkFzc2VtYmxlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDUxNTM5QjkxMkRDOTk0NTAwRUY3QUM0IC8qIFlhcnIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGNjY2RUNEMTgzNkIzN0UwMEQwMTdGMSAvKiBERkdSZXN1cnJlY3Rp
b25Gb3JWYWxpZGF0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNkIxQ0NBMTg2NDFE
RjgwMDg0NUQ5NyAvKiBBcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODY3MDRCODUxMkRCQTMzNzAwQTlGRTdCIC8qIFlhcnJJbnRlcnByZXRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTU1RDkzQTYxODUwMTJBODAwNDAwREVEIC8qIFNjcmlwdEZ1bmN0aW9u
Q2FsbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODY3MDRCODcxMkRCQTMzNzAwQTlGRTdCIC8qIFlh
cnJKSVQuaCBpbiBIZWFkZXJzICovLApAQCAtNTcxNiw2ICs1NzkzLDcgQEAKIAkJCQkxNDI5RDhE
RDBFRDIyMDVCMDBCODk2MTkgLyogQ2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBG
MEI4M0IwMTRCQ0Y3MTYwMDg4NUI0RiAvKiBDYWxsTGlua0luZm8uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTUxM0U1QjcxODVCOEJEMzAwN0U5NUFEIC8qIEluamVjdGVkU2NyaXB0LmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTBGNUE2MjgzMTg4Qzk4RDQwMDcyQzlERiAvKiBGVExWYWx1ZVJhbmdl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGOTMzMjlEMTRDQTdEQzMwMDg1RjNDNiAvKiBDYWxs
TGlua1N0YXR1cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjczRDdBRTE2NUExNDJEMDBBQ0FC
NzEgLyogQ2xvc3VyZUNhbGxTdHViUm91dGluZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NjlB
MDc5NjBFRDFEM0FFMDBGMUY2ODEgLyogQ29kZUJsb2NrLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
NTc1NCw2ICs1ODMyLDcgQEAKIAkJCQkwRjYzOTQ4NDE1RTQ4MTE4MDA2QTU5N0MgLyogREZHQXJy
YXlNb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3RDlBMjk0MTdBMEJDNzQwMEVFMjYxOCAv
KiBERkdBdFRhaWxBYnN0cmFjdFN0YXRlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNzE0Q0E0
MTZFQTkyRjAwMEYzRUJFQiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUZFQjU4QzE0MTg3QjhCMTYwMDk4RUYwQiAvKiBFcnJvckhhbmRsaW5n
U2NvcGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTdEODlDRjIxN0EwQjhDQzAwNzczQUQ4IC8q
IERGR0Jhc2ljQmxvY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTcwQjA4MzIxN0EwQjc5QjAw
REFGMTRCIC8qIERGR0JpbmFyeVN3aXRjaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0Q4OUNG
MzE3QTBCOENDMDA3NzNBRDggLyogREZHQmxvY2tJbnNlcnRpb25TZXQuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC01ODMxLDkgKzU5MTAsMTEgQEAKIAkJCQk4Njg4MEY0RDE0MzUzQjIxMDBCMDhENDIg
LyogREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBN0Q4OUNGRjE3
QTBCOENDMDA3NzNBRDggLyogREZHU1NBQ29udmVyc2lvblBoYXNlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGOUZCNEY0MTdGQ0I5MTcwMENCNjdGOCAvKiBERkdTdGFja0xheW91dFBoYXNlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTBGNkIxQ0JEMTg2MTI0NkEwMDg0NUQ5NyAvKiBSZWdpc3Rl
clByZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZD
MDk3QTExNDZCMjhDQTAwQ0YyNDQyIC8qIERGR1RodW5rcy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRkQ4QTMyNzE3RDUxRjU3MDBDQTJDNDAgLyogREZHVGllclVwQ2hlY2tJbmplY3Rpb25QaGFz
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkQ4QTMyOTE3RDUxRjU3MDBDQTJDNDAgLyogREZH
VG9GVExEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MEY0ODUzMjcxODdERkRFQzAwODNCNjg3IC8qIEZUTEF2YWlsYWJsZVJlY292ZXJ5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGRDhBMzJCMTdENTFGNTcwMENBMkM0MCAvKiBERkdUb0ZUTEZvck9T
UkVudHJ5RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGNjM5NDQwMTVDNzVGMUQwMDZBNTk3QyAvKiBERkdUeXBlQ2hlY2tIb2lzdGluZ1BoYXNlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGQkUwRjc2MTZDMURCMEYwMDgyQzVFOCAvKiBERkdVbmlm
aWNhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTg5Miw5ICs1OTczLDExIEBACiAJ
CQkJMEZDRUZBQUIxODA0QzEzRTAwNDcyQ0U0IC8qIEZUTFNhdmVSZXN0b3JlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGMjVGMUIxMTgxNjM1RjMwMDUyMkYzOSAvKiBGVExTbG93UGF0aENhbGwu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyNUYxQjMxODE2MzVGMzAwNTIyRjM5IC8qIEZUTFNs
b3dQYXRoQ2FsbEtleS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjZCMUNDNTE4NjJDNDc4MDA4
NDVEOTcgLyogRlRMVW53aW5kSW5mby5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjlEMzM5QTE4
MDNBREI3MDA3M0MyQkMgLyogRlRMU3RhY2tNYXBzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBG
RUEwQTE2MTcwNkJCOTAwMEJCNzIyQyAvKiBGVExTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQk3QzAwOENEMjE4NkY4QTkzMDA5NTVDMjQgLyogSlNQcm9taXNlRnVuY3Rpb25zLmNwcCBpbiBT
b3VyY2VzICovLAorIAkJCQk3QzAwOENEMjE4NkY4QTkzMDA5NTVDMjQgLyogSlNQcm9taXNlRnVu
Y3Rpb25zLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNkIxQ0I1MTg1RkM5RTkwMDg0NUQ5NyAv
KiBGVExKU0NhbGwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCRTExNzE3OEUxQzAwNjkw
QzdGIC8qIEZUTFRodW5rcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTkzQ0Y3QzE4NDAzNjAz
MDBCRkNFMjcgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEYyMzVCRTMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFZhbHVlRm9ybWF0LmNwcCBpbiBT
b3VyY2VzICovLApAQCAtNTk4MCw2ICs2MDYzLDcgQEAKIAkJCQkxNDI4MDg3NTEwN0VDMTNFMDAx
M0U3QjIgLyogSlNMb2NrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUMyNUQ3MDlCMTZERTk5RjQw
MEZDQTZCQyAvKiBKU01hbmFnZWRWYWx1ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE3MDA4NzQx
MTdDQkU4RUIwMEMzRTY0MyAvKiBKU01hcC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjQ4NTMy
OTE4N0RGREVDMDA4M0I2ODcgLyogRlRMUmVjb3ZlcnlPcGNvZGUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMTQ4NzRBRTMxNUVCREU0QTAwMkUzNTg3IC8qIEpTTmFtZVNjb3BlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE3MjcwMDkwMERBQzZCQkMwMEU1NDhENyAvKiBKU05vdEFuT2JqZWN0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUQ0MTA3RUMzNzYwMDQyN0E0OCAvKiBKU09iamVj
dC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTYwOTYsNiArNjE4MCw3IEBACiAJCQkJMEY2NjZFQ0Mx
ODM2QjM3RTAwRDAxN0YxIC8qIERGR1Jlc3VycmVjdGlvbkZvclZhbGlkYXRpb25QaGFzZS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwRkIxMDU4QjE2NzU0ODMxMDBGOEFCNkUgLyogUHJvZmlsZXJP
U1JFeGl0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQjEwNThEMTY3NTQ4MzcwMEY4QUI2RSAv
KiBQcm9maWxlck9TUkV4aXRTaXRlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNkIxQ0MzMTg2
MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTBGMTM5MTJCMTY3NzFDM0EwMDlDQ0IwNyAvKiBQcm9maWxlclByb2ZpbGVkQnl0ZWNvZGVz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3RkI2MEE0MTAzRjdEQzIwMDE3QTI4NiAvKiBQcm9w
ZXJ0eURlc2NyaXB0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ0NjlERTcxMDdFQzdFNzAw
NjUwNDQ2IC8qIFByb3BlcnR5TmFtZUFycmF5LmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjEyNSw2
ICs2MjEwLDcgQEAKIAkJCQkwRjhGMkI5RTE3MzA2QzhEMDA3REJEQTUgLyogU291cmNlQ29kZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ5M0FGQTE2RDBDQUQzMDA4NDUwOEIgLyogU291cmNl
UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ5REMxNkIxMkVGMjkzRTAwMTg0QTFG
IC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY2QjFDQzkx
ODY0MURGODAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGMENENEM0MTVGNkI2QkIwMDMyRjFDMCAvKiBTcGFyc2VBcnJheVZhbHVl
TWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNTU0MUIxMTYxM0MxRkIwMENFM0UyNSAvKiBT
cGVjaWFsUG9pbnRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkQ4MkU4NjE0MUYzRkYxMDAx
NzlDOTQgLyogU3BlY3VsYXRlZFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTTY0QXNzZW1ibGVyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTTY0QXNzZW1ibGVyLmgKaW5kZXggY2ZiZDhjZWM1
NmY3YjQ0Y2M1MzQ3MDA3ZDc2YWFmOTcyNTk3YmQ4Ni4uZTA5OThkNGI3YTc0NDdiMjBmZjRmNzcy
ZTk3MTUyY2FlYzAwZjg5YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9BUk02NEFzc2VtYmxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQVJNNjRBc3NlbWJsZXIuaApAQCAtNDAsMTQgKzQwLDI2IEBACiAjZGVmaW5lIERBVEFTSVpF
IERBVEFTSVpFX09GKGRhdGFzaXplKQogI2RlZmluZSBNRU1PUFNJWkUgTUVNT1BTSVpFX09GKGRh
dGFzaXplKQogI2RlZmluZSBDSEVDS19GUF9NRU1PUF9EQVRBU0laRSgpIEFTU0VSVChkYXRhc2l6
ZSA9PSA4IHx8IGRhdGFzaXplID09IDE2IHx8IGRhdGFzaXplID09IDMyIHx8IGRhdGFzaXplID09
IDY0IHx8IGRhdGFzaXplID09IDEyOCkKKyNkZWZpbmUgTUVNUEFJUk9QU0laRV9JTlQoZGF0YXNp
emUpICgoZGF0YXNpemUgPT0gNjQpID8gTWVtUGFpck9wXzY0IDogTWVtUGFpck9wXzMyKQorI2Rl
ZmluZSBNRU1QQUlST1BTSVpFX0ZQKGRhdGFzaXplKSAoKGRhdGFzaXplID09IDEyOCkgPyBNZW1Q
YWlyT3BfVjEyOCA6IChkYXRhc2l6ZSA9PSA2NCkgPyBNZW1QYWlyT3BfVjY0IDogTWVtUGFpck9w
XzMyKQogCiBuYW1lc3BhY2UgSlNDIHsKIAorQUxXQVlTX0lOTElORSBib29sIGlzSW50NyhpbnQz
Ml90IHZhbHVlKQoreworICAgIHJldHVybiB2YWx1ZSA9PSAoKHZhbHVlIDw8IDI1KSA+PiAyNSk7
Cit9CisKIEFMV0FZU19JTkxJTkUgYm9vbCBpc0ludDkoaW50MzJfdCB2YWx1ZSkKIHsKICAgICBy
ZXR1cm4gdmFsdWUgPT0gKCh2YWx1ZSA8PCAyMykgPj4gMjMpOwogfQogCitBTFdBWVNfSU5MSU5F
IGJvb2wgaXNJbnQxMShpbnQzMl90IHZhbHVlKQoreworICAgIHJldHVybiB2YWx1ZSA9PSAoKHZh
bHVlIDw8IDIxKSA+PiAyMSk7Cit9CisKIEFMV0FZU19JTkxJTkUgYm9vbCBpc1VJbnQ1KGludDMy
X3QgdmFsdWUpCiB7CiAgICAgcmV0dXJuICEodmFsdWUgJiB+MHgxZik7CkBAIC0xMTksNiArMTMx
LDM0IEBAIHByaXZhdGU6CiAgICAgaW50IG1fdmFsdWU7CiB9OwogCitjbGFzcyBQYWlyUG9zdElu
ZGV4IHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBQYWlyUG9zdEluZGV4KGludCB2YWx1ZSkKKyAg
ICAgICAgOiBtX3ZhbHVlKHZhbHVlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzSW50MTEodmFs
dWUpKTsKKyAgICB9CisKKyAgICBvcGVyYXRvciBpbnQoKSB7IHJldHVybiBtX3ZhbHVlOyB9CisK
K3ByaXZhdGU6CisgICAgaW50IG1fdmFsdWU7Cit9OworCitjbGFzcyBQYWlyUHJlSW5kZXggewor
cHVibGljOgorICAgIGV4cGxpY2l0IFBhaXJQcmVJbmRleChpbnQgdmFsdWUpCisgICAgICAgIDog
bV92YWx1ZSh2YWx1ZSkKKyAgICB7CisgICAgICAgIEFTU0VSVChpc0ludDExKHZhbHVlKSk7Cisg
ICAgfQorCisgICAgb3BlcmF0b3IgaW50KCkgeyByZXR1cm4gbV92YWx1ZTsgfQorCitwcml2YXRl
OgorICAgIGludCBtX3ZhbHVlOworfTsKKwogY2xhc3MgTG9naWNhbEltbWVkaWF0ZSB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIExvZ2ljYWxJbW1lZGlhdGUgY3JlYXRlMzIodWludDMyX3QgdmFsdWUp
CkBAIC04MjMsNiArODYzLDE2IEBAIHByaXZhdGU6CiAgICAgICAgIE1lbU9wX0xPQURfc2lnbmVk
MzIgPSAzIC8vIHNpemUgbWF5IGJlIDAgb3IgMQogICAgIH07CiAKKyAgICBlbnVtIE1lbVBhaXJP
cFNpemUgeworICAgICAgICBNZW1QYWlyT3BfMzIgPSAwLAorICAgICAgICBNZW1QYWlyT3BfTG9h
ZFNpZ25lZF8zMiA9IDEsCisgICAgICAgIE1lbVBhaXJPcF82NCA9IDIsCisKKyAgICAgICAgTWVt
UGFpck9wX1YzMiA9IE1lbVBhaXJPcF8zMiwKKyAgICAgICAgTWVtUGFpck9wX1Y2NCA9IDEsCisg
ICAgICAgIE1lbVBhaXJPcF9WMTI4ID0gMgorICAgIH07CisKICAgICBlbnVtIE1vdmVXaWRlT3Ag
ewogICAgICAgICBNb3ZlV2lkZU9wX04gPSAwLAogICAgICAgICBNb3ZlV2lkZU9wX1ogPSAyLApA
QCAtODM2LDYgKzg4NiwxNCBAQCBwcml2YXRlOgogICAgICAgICBMZHJMaXRlcmFsT3BfMTI4QklU
ID0gMgogICAgIH07CiAKKyAgICBzdGF0aWMgdW5zaWduZWQgbWVtUGFpck9mZnNldFNoaWZ0KGJv
b2wgViwgTWVtUGFpck9wU2l6ZSBzaXplKQorICAgIHsKKyAgICAgICAgLy8gcmV0dXJuIHRoZSBs
b2cyIG9mIHRoZSBzaXplIGluIGJ5dGVzLCBlLmcuIDY0IGJpdCBzaXplIHJldHVybnMgMworICAg
ICAgICBpZiAoVikKKyAgICAgICAgICAgIHJldHVybiBzaXplICsgMjsKKyAgICAgICAgcmV0dXJu
IChzaXplID4+IDEpICsgMjsKKyAgICB9CisKIHB1YmxpYzoKICAgICAvLyBJbnRlZ2VyIEluc3Ry
dWN0aW9uczoKIApAQCAtODcxLDggKzkyOSw5IEBAIHB1YmxpYzoKICAgICBBTFdBWVNfSU5MSU5F
IHZvaWQgYWRkKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcm4sIFJlZ2lzdGVySUQgcm0sIFNo
aWZ0VHlwZSBzaGlmdCwgaW50IGFtb3VudCkKICAgICB7CiAgICAgICAgIENIRUNLX0RBVEFTSVpF
KCk7Ci0gICAgICAgIGlmIChpc1NwKHJuKSkgeworICAgICAgICBpZiAoaXNTcChyZCkgfHwgaXNT
cChybikpIHsKICAgICAgICAgICAgIEFTU0VSVChzaGlmdCA9PSBMU0wpOworICAgICAgICAgICAg
QVNTRVJUKCFpc1NwKHJtKSk7CiAgICAgICAgICAgICBhZGQ8ZGF0YXNpemUsIHNldEZsYWdzPihy
ZCwgcm4sIHJtLCBVWFRYLCBhbW91bnQpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGlu
c24oYWRkU3VidHJhY3RTaGlmdGVkUmVnaXN0ZXIoREFUQVNJWkUsIEFkZE9wX0FERCwgc2V0Rmxh
Z3MsIHNoaWZ0LCBybSwgYW1vdW50LCBybiwgcmQpKTsKQEAgLTEyMTYsNiArMTI3NSwyMCBAQCBw
dWJsaWM6CiAgICAgfQogCiAgICAgdGVtcGxhdGU8aW50IGRhdGFzaXplPgorICAgIEFMV0FZU19J
TkxJTkUgdm9pZCBsZHAoUmVnaXN0ZXJJRCBydCwgUmVnaXN0ZXJJRCBydDIsIFJlZ2lzdGVySUQg
cm4sIFBhaXJQb3N0SW5kZXggc2ltbSkKKyAgICB7CisgICAgICAgIENIRUNLX0RBVEFTSVpFKCk7
CisgICAgICAgIGluc24obG9hZFN0b3JlUmVnaXN0ZXJQYWlyUG9zdEluZGV4KE1FTVBBSVJPUFNJ
WkVfSU5UKGRhdGFzaXplKSwgZmFsc2UsIE1lbU9wX0xPQUQsIHNpbW0sIHJuLCBydCwgcnQyKSk7
CisgICAgfQorCisgICAgdGVtcGxhdGU8aW50IGRhdGFzaXplPgorICAgIEFMV0FZU19JTkxJTkUg
dm9pZCBsZHAoUmVnaXN0ZXJJRCBydCwgUmVnaXN0ZXJJRCBydDIsIFJlZ2lzdGVySUQgcm4sIFBh
aXJQcmVJbmRleCBzaW1tKQorICAgIHsKKyAgICAgICAgQ0hFQ0tfREFUQVNJWkUoKTsKKyAgICAg
ICAgaW5zbihsb2FkU3RvcmVSZWdpc3RlclBhaXJQcmVJbmRleChNRU1QQUlST1BTSVpFX0lOVChk
YXRhc2l6ZSksIGZhbHNlLCBNZW1PcF9MT0FELCBzaW1tLCBybiwgcnQsIHJ0MikpOworICAgIH0K
KworICAgIHRlbXBsYXRlPGludCBkYXRhc2l6ZT4KICAgICBBTFdBWVNfSU5MSU5FIHZvaWQgbGRy
KFJlZ2lzdGVySUQgcnQsIFJlZ2lzdGVySUQgcm4sIFJlZ2lzdGVySUQgcm0pCiAgICAgewogICAg
ICAgICBsZHI8ZGF0YXNpemU+KHJ0LCBybiwgcm0sIFVYVFgsIDApOwpAQCAtMTc0OCw2ICsxODIx
LDIwIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICB0ZW1wbGF0ZTxpbnQgZGF0YXNpemU+CisgICAg
QUxXQVlTX0lOTElORSB2b2lkIHN0cChSZWdpc3RlcklEIHJ0LCBSZWdpc3RlcklEIHJ0MiwgUmVn
aXN0ZXJJRCBybiwgUGFpclBvc3RJbmRleCBzaW1tKQorICAgIHsKKyAgICAgICAgQ0hFQ0tfREFU
QVNJWkUoKTsKKyAgICAgICAgaW5zbihsb2FkU3RvcmVSZWdpc3RlclBhaXJQb3N0SW5kZXgoTUVN
UEFJUk9QU0laRV9JTlQoZGF0YXNpemUpLCBmYWxzZSwgTWVtT3BfU1RPUkUsIHNpbW0sIHJuLCBy
dCwgcnQyKSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8aW50IGRhdGFzaXplPgorICAgIEFMV0FZ
U19JTkxJTkUgdm9pZCBzdHAoUmVnaXN0ZXJJRCBydCwgUmVnaXN0ZXJJRCBydDIsIFJlZ2lzdGVy
SUQgcm4sIFBhaXJQcmVJbmRleCBzaW1tKQorICAgIHsKKyAgICAgICAgQ0hFQ0tfREFUQVNJWkUo
KTsKKyAgICAgICAgaW5zbihsb2FkU3RvcmVSZWdpc3RlclBhaXJQcmVJbmRleChNRU1QQUlST1BT
SVpFX0lOVChkYXRhc2l6ZSksIGZhbHNlLCBNZW1PcF9TVE9SRSwgc2ltbSwgcm4sIHJ0LCBydDIp
KTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTxpbnQgZGF0YXNpemU+CiAgICAgQUxXQVlTX0lOTElO
RSB2b2lkIHN0cihSZWdpc3RlcklEIHJ0LCBSZWdpc3RlcklEIHJuLCBSZWdpc3RlcklEIHJtKQog
ICAgIHsKICAgICAgICAgc3RyPGRhdGFzaXplPihydCwgcm4sIHJtLCBVWFRYLCAwKTsKQEAgLTE4
NzYsOCArMTk2Myw5IEBAIHB1YmxpYzoKICAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc3ViKFJlZ2lz
dGVySUQgcmQsIFJlZ2lzdGVySUQgcm4sIFJlZ2lzdGVySUQgcm0sIFNoaWZ0VHlwZSBzaGlmdCwg
aW50IGFtb3VudCkKICAgICB7CiAgICAgICAgIENIRUNLX0RBVEFTSVpFKCk7Ci0gICAgICAgIGlm
IChpc1NwKHJuKSkgeworICAgICAgICBpZiAoaXNTcChyZCkgfHwgaXNTcChybikpIHsKICAgICAg
ICAgICAgIEFTU0VSVChzaGlmdCA9PSBMU0wpOworICAgICAgICAgICAgQVNTRVJUKCFpc1NwKHJt
KSk7CiAgICAgICAgICAgICBzdWI8ZGF0YXNpemUsIHNldEZsYWdzPihyZCwgcm4sIHJtLCBVWFRY
LCBhbW91bnQpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGluc24oYWRkU3VidHJhY3RT
aGlmdGVkUmVnaXN0ZXIoREFUQVNJWkUsIEFkZE9wX1NVQiwgc2V0RmxhZ3MsIHNoaWZ0LCBybSwg
YW1vdW50LCBybiwgcmQpKTsKQEAgLTMzNjEsNiArMzQ0OSwyMyBAQCBwcml2YXRlOgogICAgIH0K
IAogICAgIC8vICdWJyBtZWFucyB2ZWN0b3IKKyAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBpbnQg
bG9hZFN0b3JlUmVnaXN0ZXJQYWlyUG9zdEluZGV4KE1lbVBhaXJPcFNpemUgc2l6ZSwgYm9vbCBW
LCBNZW1PcCBvcGMsIGludCBpbW1lZGlhdGUsIFJlZ2lzdGVySUQgcm4sIEZQUmVnaXN0ZXJJRCBy
dCwgRlBSZWdpc3RlcklEIHJ0MikKKyAgICB7CisgICAgICAgIEFTU0VSVChzaXplIDwgMyk7Cisg
ICAgICAgIEFTU0VSVChvcGMgPT0gKG9wYyAmIDEpKTsgLy8gT25seSBsb2FkIG9yIHN0b3JlLCBs
b2FkIHNpZ25lZCA2NCBpcyBoYW5kbGVkIHZpYSBzaXplLgorICAgICAgICBBU1NFUlQoViB8fCAo
c2l6ZSAhPSBNZW1QYWlyT3BfTG9hZFNpZ25lZF8zMikgfHwgKG9wYyA9PSBNZW1PcF9MT0FEKSk7
IC8vIFRoZXJlIGlzbid0IGFuIGludGVnZXIgc3RvcmUgc2lnbmVkLgorICAgICAgICB1bnNpZ25l
ZCBpbW1lZFNoaWZ0QW1vdW50ID0gbWVtUGFpck9mZnNldFNoaWZ0KFYsIHNpemUpOworICAgICAg
ICBpbnQgaW1tNyA9IGltbWVkaWF0ZSA+PiBpbW1lZFNoaWZ0QW1vdW50OworICAgICAgICBBU1NF
UlQoKGltbTcgPDwgaW1tZWRTaGlmdEFtb3VudCkgPT0gaW1tZWRpYXRlICYmIGlzSW50NyhpbW03
KSk7CisgICAgICAgIHJldHVybiAoMHgyODgwMDAwMCB8IHNpemUgPDwgMzAgfCBWIDw8IDI2IHwg
b3BjIDw8IDIyIHwgKGltbTcgJiAweDdmKSA8PCAxNSB8IHJ0MiA8PCAxMCB8IHhPclNwKHJuKSA8
PCA1IHwgcnQpOworICAgIH0KKworICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIGludCBsb2FkU3Rv
cmVSZWdpc3RlclBhaXJQb3N0SW5kZXgoTWVtUGFpck9wU2l6ZSBzaXplLCBib29sIFYsIE1lbU9w
IG9wYywgaW50IGltbWVkaWF0ZSwgUmVnaXN0ZXJJRCBybiwgUmVnaXN0ZXJJRCBydCwgUmVnaXN0
ZXJJRCBydDIpCisgICAgeworICAgICAgICByZXR1cm4gbG9hZFN0b3JlUmVnaXN0ZXJQYWlyUG9z
dEluZGV4KHNpemUsIFYsIG9wYywgaW1tZWRpYXRlLCBybiwgeE9yWnJBc0ZQUihydCksIHhPclpy
QXNGUFIocnQyKSk7CisgICAgfQorCisgICAgLy8gJ1YnIG1lYW5zIHZlY3RvcgogICAgIEFMV0FZ
U19JTkxJTkUgc3RhdGljIGludCBsb2FkU3RvcmVSZWdpc3RlclByZUluZGV4KE1lbU9wU2l6ZSBz
aXplLCBib29sIFYsIE1lbU9wIG9wYywgaW50IGltbTksIFJlZ2lzdGVySUQgcm4sIEZQUmVnaXN0
ZXJJRCBydCkKICAgICB7CiAgICAgICAgIEFTU0VSVCghKHNpemUgJiYgViAmJiAob3BjICYgMikp
KTsgLy8gTWF4aW11bSB2ZWN0b3Igc2l6ZSBpcyAxMjggYml0cy4KQEAgLTMzNzUsNiArMzQ4MCwy
MyBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIC8vICdWJyBtZWFucyB2ZWN0b3IKKyAgICBBTFdB
WVNfSU5MSU5FIHN0YXRpYyBpbnQgbG9hZFN0b3JlUmVnaXN0ZXJQYWlyUHJlSW5kZXgoTWVtUGFp
ck9wU2l6ZSBzaXplLCBib29sIFYsIE1lbU9wIG9wYywgaW50IGltbWVkaWF0ZSwgUmVnaXN0ZXJJ
RCBybiwgRlBSZWdpc3RlcklEIHJ0LCBGUFJlZ2lzdGVySUQgcnQyKQorICAgIHsKKyAgICAgICAg
QVNTRVJUKHNpemUgPCAzKTsKKyAgICAgICAgQVNTRVJUKG9wYyA9PSAob3BjICYgMSkpOyAvLyBP
bmx5IGxvYWQgb3Igc3RvcmUsIGxvYWQgc2lnbmVkIDY0IGlzIGhhbmRsZWQgdmlhIHNpemUuCisg
ICAgICAgIEFTU0VSVChWIHx8IChzaXplICE9IE1lbVBhaXJPcF9Mb2FkU2lnbmVkXzMyKSB8fCAo
b3BjID09IE1lbU9wX0xPQUQpKTsgLy8gVGhlcmUgaXNuJ3QgYW4gaW50ZWdlciBzdG9yZSBzaWdu
ZWQuCisgICAgICAgIHVuc2lnbmVkIGltbWVkU2hpZnRBbW91bnQgPSBtZW1QYWlyT2Zmc2V0U2hp
ZnQoViwgc2l6ZSk7CisgICAgICAgIGludCBpbW03ID0gaW1tZWRpYXRlID4+IGltbWVkU2hpZnRB
bW91bnQ7CisgICAgICAgIEFTU0VSVCgoaW1tNyA8PCBpbW1lZFNoaWZ0QW1vdW50KSA9PSBpbW1l
ZGlhdGUgJiYgaXNJbnQ3KGltbTcpKTsKKyAgICAgICAgcmV0dXJuICgweDI5ODAwMDAwIHwgc2l6
ZSA8PCAzMCB8IFYgPDwgMjYgfCBvcGMgPDwgMjIgfCAoaW1tNyAmIDB4N2YpIDw8IDE1IHwgcnQy
IDw8IDEwIHwgeE9yU3Aocm4pIDw8IDUgfCBydCk7CisgICAgfQorCisgICAgQUxXQVlTX0lOTElO
RSBzdGF0aWMgaW50IGxvYWRTdG9yZVJlZ2lzdGVyUGFpclByZUluZGV4KE1lbVBhaXJPcFNpemUg
c2l6ZSwgYm9vbCBWLCBNZW1PcCBvcGMsIGludCBpbW1lZGlhdGUsIFJlZ2lzdGVySUQgcm4sIFJl
Z2lzdGVySUQgcnQsIFJlZ2lzdGVySUQgcnQyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGxvYWRT
dG9yZVJlZ2lzdGVyUGFpclByZUluZGV4KHNpemUsIFYsIG9wYywgaW1tZWRpYXRlLCBybiwgeE9y
WnJBc0ZQUihydCksIHhPclpyQXNGUFIocnQyKSk7CisgICAgfQorCisgICAgLy8gJ1YnIG1lYW5z
IHZlY3RvcgogICAgIC8vICdTJyBtZWFucyBzaGlmdCBybQogICAgIEFMV0FZU19JTkxJTkUgc3Rh
dGljIGludCBsb2FkU3RvcmVSZWdpc3RlclJlZ2lzdGVyT2Zmc2V0KE1lbU9wU2l6ZSBzaXplLCBi
b29sIFYsIE1lbU9wIG9wYywgUmVnaXN0ZXJJRCBybSwgRXh0ZW5kVHlwZSBvcHRpb24sIGJvb2wg
UywgUmVnaXN0ZXJJRCBybiwgRlBSZWdpc3RlcklEIHJ0KQogICAgIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNdjdBc3NlbWJsZXIuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNdjdBc3NlbWJsZXIuaAppbmRleCA1MjU3ZjMyYTgz
Yjg0NjM3Y2Q2ODNmMGI4MWM5YzBmZTUwYzJiZjIxLi41OWJmMjQyNzU4OGYxMTBhMjEyYmZkM2I2
OWZkNmZlMjJjYmEzMWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL0FSTXY3QXNzZW1ibGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BUk12N0Fzc2VtYmxlci5oCkBAIC02NTQsNiArNjU0LDggQEAgcHJpdmF0ZToKICAgICB0eXBl
ZGVmIGVudW0gewogICAgICAgICBPUF9CX1QxICAgICAgICAgPSAweEQwMDAsCiAgICAgICAgIE9Q
X0JfVDIgICAgICAgICA9IDB4RTAwMCwKKyAgICAgICAgT1BfUE9QX1QyICAgICAgID0gMHhFOEJE
LAorICAgICAgICBPUF9QVVNIX1QyICAgICAgPSAweEU5MkQsCiAgICAgICAgIE9QX0FORF9yZWdf
VDIgICA9IDB4RUEwMCwKICAgICAgICAgT1BfVFNUX3JlZ19UMiAgID0gMHhFQTEwLAogICAgICAg
ICBPUF9PUlJfcmVnX1QyICAgPSAweEVBNDAsCkBAIC04OTQsNiArODk2LDExIEBAIHB1YmxpYzoK
ICAgICAvLyBOT1RFOiBJbiBhbiBJVCBibG9jaywgYWRkIGRvZXNuJ3QgbW9kaWZ5IHRoZSBmbGFn
cyByZWdpc3Rlci4KICAgICBBTFdBWVNfSU5MSU5FIHZvaWQgYWRkKFJlZ2lzdGVySUQgcmQsIFJl
Z2lzdGVySUQgcm4sIFJlZ2lzdGVySUQgcm0pCiAgICAgeworICAgICAgICBpZiAocmQgPT0gQVJN
UmVnaXN0ZXJzOjpzcCkgeworICAgICAgICAgICAgbW92KHJkLCBybik7CisgICAgICAgICAgICBy
biA9IHJkOworICAgICAgICB9CisKICAgICAgICAgaWYgKHJkID09IHJuKQogICAgICAgICAgICAg
bV9mb3JtYXR0ZXIub25lV29yZE9wOFJlZ1JlZzE0MyhPUF9BRERfcmVnX1QyLCBybSwgcmQpOwog
ICAgICAgICBlbHNlIGlmIChyZCA9PSBybSkKQEAgLTE0ODgsNiArMTQ5NSwyMiBAQCBwdWJsaWM6
CiAgICAgICAgIG1fZm9ybWF0dGVyLnR3b1dvcmRPcDEyUmVnNEZvdXJGb3VycyhPUF9ST1JfcmVn
X1QyLCBybiwgRm91ckZvdXJzKDB4ZiwgcmQsIDAsIHJtKSk7CiAgICAgfQogCisgICAgQUxXQVlT
X0lOTElORSB2b2lkIHBvcCh1aW50MzJfdCByZWdpc3Rlckxpc3QpCisgICAgeworICAgICAgICBB
U1NFUlQoV1RGOjpiaXRDb3VudChyZWdpc3Rlckxpc3QpID4gMSk7CisgICAgICAgIEFTU0VSVCgh
KCgxIDw8IEFSTVJlZ2lzdGVyczo6cGMpICYgcmVnaXN0ZXJMaXN0KSB8fCAhKCgxIDw8IEFSTVJl
Z2lzdGVyczo6bHIpICYgcmVnaXN0ZXJMaXN0KSk7CisgICAgICAgIEFTU0VSVCghKCgxIDw8IEFS
TVJlZ2lzdGVyczo6c3ApICYgcmVnaXN0ZXJMaXN0KSk7CisgICAgICAgIG1fZm9ybWF0dGVyLnR3
b1dvcmRPcDE2SW1tMTYoT1BfUE9QX1QyLCByZWdpc3Rlckxpc3QpOworICAgIH0KKworICAgIEFM
V0FZU19JTkxJTkUgdm9pZCBwdXNoKHVpbnQzMl90IHJlZ2lzdGVyTGlzdCkKKyAgICB7CisgICAg
ICAgIEFTU0VSVChXVEY6OmJpdENvdW50KHJlZ2lzdGVyTGlzdCkgPiAxKTsKKyAgICAgICAgQVNT
RVJUKCEoKDEgPDwgQVJNUmVnaXN0ZXJzOjpwYykgJiByZWdpc3Rlckxpc3QpKTsKKyAgICAgICAg
QVNTRVJUKCEoKDEgPDwgQVJNUmVnaXN0ZXJzOjpzcCkgJiByZWdpc3Rlckxpc3QpKTsKKyAgICAg
ICAgbV9mb3JtYXR0ZXIudHdvV29yZE9wMTZJbW0xNihPUF9QVVNIX1QyLCByZWdpc3Rlckxpc3Qp
OworICAgIH0KKwogI2lmIENQVShBUFBMRV9BUk1WN1MpCiAgICAgQUxXQVlTX0lOTElORSB2b2lk
IHNkaXYoUmVnaXN0ZXJJRCByZCwgUmVnaXN0ZXJJRCBybiwgUmVnaXN0ZXJJRCBybSkKICAgICB7
CkBAIC0yNzkxLDYgKzI4MTQsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIG1fYnVmZmVyLnB1
dFNob3J0KG9wMik7CiAgICAgICAgIH0KIAorICAgICAgICBBTFdBWVNfSU5MSU5FIHZvaWQgdHdv
V29yZE9wMTZJbW0xNihPcGNvZGVJRDEgb3AxLCB1aW50MTZfdCBpbW0pCisgICAgICAgIHsKKyAg
ICAgICAgICAgIG1fYnVmZmVyLnB1dFNob3J0KG9wMSk7CisgICAgICAgICAgICBtX2J1ZmZlci5w
dXRTaG9ydChpbW0pOworICAgICAgICB9CisgICAgICAgIAogICAgICAgICBBTFdBWVNfSU5MSU5F
IHZvaWQgdHdvV29yZE9wNWk2SW1tNFJlZzRFbmNvZGVkSW1tKE9wY29kZUlEMSBvcCwgaW50IGlt
bTQsIFJlZ2lzdGVySUQgcmQsIEFSTVRodW1iSW1tZWRpYXRlIGltbSkKICAgICAgICAgewogICAg
ICAgICAgICAgQVJNVGh1bWJJbW1lZGlhdGUgbmV3SW1tID0gaW1tOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApp
bmRleCAyODUzNzIwMWIzOWViMjMxZjUwNDg3NjM3N2I2NmRiM2FjM2VlMjgwLi43ZDdlZTc5MWE2
YzNlMTg1ZDYxOTJjNmUxM2NlMjY3YzM2YWQ5NWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApAQCAtMTQw
LDcgKzE0MCw3IEBAIHB1YmxpYzoKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIEFkZHJl
c3MoYmFzZSwgb2Zmc2V0ICsgYWRkaXRpb25hbE9mZnNldCk7CiAgICAgICAgIH0KLQorICAgICAg
ICAKICAgICAgICAgUmVnaXN0ZXJJRCBiYXNlOwogICAgICAgICBpbnQzMl90IG9mZnNldDsKICAg
ICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVm
ZmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5jcHAK
aW5kZXggYTdmNDY5ZGE4OTJmZjRkMzFkNDZkYTQ3NTJjOWIxYzI3YTBhZjNmMC4uYWYxNGUzM2Vh
YzA1OTdmMmQ3OGM0YjNjZDE2MzU0MTFkYWJhOTY1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCwxMiArMjgsMjEg
QEAKIAogI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAKKyNpbmNsdWRlICJDb2RlQmxvY2suaCIKKyNp
bmNsdWRlICJKSVRDb2RlLmgiCiAjaW5jbHVkZSAiT3B0aW9ucy5oIgogI2luY2x1ZGUgIlZNLmgi
CiAjaW5jbHVkZSA8d3RmL0NvbXBpbGF0aW9uVGhyZWFkLmg+CiAKIG5hbWVzcGFjZSBKU0Mgewog
Citib29sIHNob3VsZFNob3dEaXNhc3NlbWJseUZvcihDb2RlQmxvY2sqIGNvZGVCbG9jaykKK3sK
KyAgICBpZiAoSklUQ29kZTo6aXNPcHRpbWl6aW5nSklUKGNvZGVCbG9jay0+aml0VHlwZSgpKSAm
JiBPcHRpb25zOjpzaG93REZHRGlzYXNzZW1ibHkoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgcmV0dXJuIE9wdGlvbnM6OnNob3dEaXNhc3NlbWJseSgpOworfQorCiBMaW5rQnVmZmVyOjpD
b2RlUmVmIExpbmtCdWZmZXI6OmZpbmFsaXplQ29kZVdpdGhvdXREaXNhc3NlbWJseSgpCiB7CiAg
ICAgcGVyZm9ybUZpbmFsaXphdGlvbigpOwpAQCAtNDcsOCArNTYsNiBAQCBMaW5rQnVmZmVyOjpD
b2RlUmVmIExpbmtCdWZmZXI6OmZpbmFsaXplQ29kZVdpdGhvdXREaXNhc3NlbWJseSgpCiAKIExp
bmtCdWZmZXI6OkNvZGVSZWYgTGlua0J1ZmZlcjo6ZmluYWxpemVDb2RlV2l0aERpc2Fzc2VtYmx5
KGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKQogewotICAgIEFTU0VSVChPcHRpb25zOjpzaG93RGlz
YXNzZW1ibHkoKSB8fCBPcHRpb25zOjpzaG93REZHRGlzYXNzZW1ibHkoKSk7Ci0gICAgCiAgICAg
Q29kZVJlZiByZXN1bHQgPSBmaW5hbGl6ZUNvZGVXaXRob3V0RGlzYXNzZW1ibHkoKTsKIAogI2lm
IEVOQUJMRShESVNBU1NFTUJMRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL0xpbmtCdWZmZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TGlua0J1ZmZlci5oCmluZGV4IDhkNGNlNTIxZjI4NGU1ZGUzNDY5Y2VkODk2NGM5ZWNjMDhlZjM1
NzYuLjZhYmEwNzU4MmE0YzJmMjM0ZGY3OWUxM2YyNGM1M2NhNzE3ZmNhNzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCwgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTIsIDIw
MTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC00Myw2ICs0Myw3IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitj
bGFzcyBDb2RlQmxvY2s7CiBjbGFzcyBWTTsKIAogLy8gTGlua0J1ZmZlcjoKQEAgLTE2NCw2ICsx
NjUsMTEgQEAgcHVibGljOgogICAgIH0KIAogICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIHVzZWQg
dG8gb2J0YWluIGhhbmRsZXMgdG8gYWxsb3cgdGhlIGNvZGUgdG8gYmUgcmVsaW5rZWQgLyByZXBh
dGNoZWQgbGF0ZXIuCisgICAgCisgICAgQ29kZUxvY2F0aW9uTGFiZWwgZW50cnlwb2ludCgpCisg
ICAgeworICAgICAgICByZXR1cm4gQ29kZUxvY2F0aW9uTGFiZWwoY29kZSgpKTsKKyAgICB9CiAK
ICAgICBDb2RlTG9jYXRpb25DYWxsIGxvY2F0aW9uT2YoQ2FsbCBjYWxsKQogICAgIHsKQEAgLTMw
Myw2ICszMDksMTEgQEAgcHJpdmF0ZToKICAgICAgPyAoKGxpbmtCdWZmZXJSZWZlcmVuY2UpLmZp
bmFsaXplQ29kZVdpdGhEaXNhc3NlbWJseSBkYXRhTG9nRkFyZ3VtZW50c0ZvckhlYWRpbmcpIFwK
ICAgICAgOiAobGlua0J1ZmZlclJlZmVyZW5jZSkuZmluYWxpemVDb2RlV2l0aG91dERpc2Fzc2Vt
Ymx5KCkpCiAKK2Jvb2wgc2hvdWxkU2hvd0Rpc2Fzc2VtYmx5Rm9yKENvZGVCbG9jayogY29kZUJs
b2NrKTsKKworI2RlZmluZSBGSU5BTElaRV9DT0RFX0ZPUihjb2RlQmxvY2ssIGxpbmtCdWZmZXJS
ZWZlcmVuY2UsIGRhdGFMb2dGQXJndW1lbnRzRm9ySGVhZGluZykgIFwKKyAgICBGSU5BTElaRV9D
T0RFX0lGKHNob3VsZFNob3dEaXNhc3NlbWJseUZvcihjb2RlQmxvY2spLCBsaW5rQnVmZmVyUmVm
ZXJlbmNlLCBkYXRhTG9nRkFyZ3VtZW50c0ZvckhlYWRpbmcpCisKIC8vIFVzZSB0aGlzIHRvIGZp
bmFsaXplIGNvZGUsIGxpa2Ugc286CiAvLwogLy8gQ29kZVJlZiBjb2RlID0gRklOQUxJWkVfQ09E
RShsaW5rQnVmZmVyLCAoIm15IHN1cGVyIHRoaW5neSBudW1iZXIgJWQiLCBudW1iZXIpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAppbmRl
eCA0YTQzZWI2MjVjZGMzOGUxZTE3Y2JiNjc0NzFjYzg5YmIyZDY4MTEwLi41ZWU1MjU1NzliN2Yw
MDg0YzViNTI1MmNiMDEzN2QzMzg0ZWJmNzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oCkBAIC01OTUsNiArNTk1LDExIEBAIHB1Ymxp
YzoKICAgICAgICAgc3RvcmUzMihUcnVzdGVkSW1tMzIoaW1tKSwgYWRkcmVzcyk7CiAgICAgfQog
CisgICAgdm9pZCBzdG9yZVB0cihUcnVzdGVkSW1tMzIgaW1tLCBJbXBsaWNpdEFkZHJlc3MgYWRk
cmVzcykKKyAgICB7CisgICAgICAgIHN0b3JlMzIoaW1tLCBhZGRyZXNzKTsKKyAgICB9CisKICAg
ICB2b2lkIHN0b3JlUHRyKFRydXN0ZWRJbW1QdHIgaW1tLCBCYXNlSW5kZXggYWRkcmVzcykKICAg
ICB7CiAgICAgICAgIHN0b3JlMzIoVHJ1c3RlZEltbTMyKGltbSksIGFkZHJlc3MpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQu
aAppbmRleCAzMGFhZWU2NjFmNjEwOGZjM2M4ODk0YWRlZWM4NTc1NTVkNDg1NzdiLi40Mjg1N2I0
NDFkYWU3YzY5ODcxMGQzNTg5MTI3ZmJiNTA2YjZhY2UzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaApAQCAtMjAxLDcg
KzIwMSwxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZDY0KFJlZ2lzdGVySUQgc3JjLCBSZWdp
c3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBtX2Fzc2VtYmxlci5hZGQ8NjQ+KGRlc3QsIGRl
c3QsIHNyYyk7CisgICAgICAgIGlmIChzcmMgPT0gQVJNNjRSZWdpc3RlcnM6OnNwKQorICAgICAg
ICAgICAgbV9hc3NlbWJsZXIuYWRkPDY0PihkZXN0LCBzcmMsIGRlc3QpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGQ8NjQ+KGRlc3QsIGRlc3QsIHNyYyk7CiAgICAg
fQogCiAgICAgdm9pZCBhZGQ2NChUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIGRlc3QpCkBA
IC0xNDM3LDYgKzE0NDAsMTYgQEAgcHVibGljOgogICAgICAgICBDUkFTSCgpOwogICAgIH0KIAor
ICAgIHZvaWQgcG9wUGFpcihSZWdpc3RlcklEIGRlc3QxLCBSZWdpc3RlcklEIGRlc3QyKQorICAg
IHsKKyAgICAgICAgbV9hc3NlbWJsZXIubGRwPDY0PihkZXN0MSwgZGVzdDIsIEFSTTY0UmVnaXN0
ZXJzOjpzcCwgUGFpclBvc3RJbmRleCgxNikpOworICAgIH0KKworICAgIHZvaWQgcHVzaFBhaXIo
UmVnaXN0ZXJJRCBzcmMxLCBSZWdpc3RlcklEIHNyYzIpCisgICAgeworICAgICAgICBtX2Fzc2Vt
Ymxlci5zdHA8NjQ+KHNyYzEsIHNyYzIsIEFSTTY0UmVnaXN0ZXJzOjpzcCwgUGFpclByZUluZGV4
KC0xNikpOworICAgIH0KKwogICAgIHZvaWQgcG9wVG9SZXN0b3JlKFJlZ2lzdGVySUQgZGVzdCkK
ICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmxkcjw2ND4oZGVzdCwgQVJNNjRSZWdpc3RlcnM6
OnNwLCBQb3N0SW5kZXgoMTYpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKaW5kZXggMWE5ZTIyYmM4OWVhMzI3YTA1Zjhj
ZDRlOWRkMWZlY2MwYTYyMmQzNC4uOWU2NGRiZDcyMzViZmQ0MDFmOGM4ZmQ0M2ViZDE5NzU1ZWNi
ZTNjZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlckFSTXY3LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckFSTXY3LmgKQEAgLTE3MCw2ICsxNzAsMTQgQEAgcHVibGljOgogICAgIHZvaWQg
YWRkMzIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkK
ICAgICB7CiAgICAgICAgIEFSTVRodW1iSW1tZWRpYXRlIGFybUltbSA9IEFSTVRodW1iSW1tZWRp
YXRlOjptYWtlVUludDEyT3JFbmNvZGVkSW1tKGltbS5tX3ZhbHVlKTsKKworICAgICAgICAvLyBG
b3IgYWRkcyB3aXRoIHN0YWNrIHBvaW50ZXIgZGVzdGluYXRpb24sIG1vdmluZyB0aGUgc3JjIGZp
cnN0IHRvIHNwIGlzCisgICAgICAgIC8vIG5lZWRlZCB0byBhdm9pZCB1bnByZWRpY3RhYmxlIGlu
c3RydWN0aW9uCisgICAgICAgIGlmIChkZXN0ID09IEFSTVJlZ2lzdGVyczo6c3AgJiYgc3JjICE9
IGRlc3QpIHsKKyAgICAgICAgICAgIG1vdmUoc3JjLCBBUk1SZWdpc3RlcnM6OnNwKTsKKyAgICAg
ICAgICAgIHNyYyA9IEFSTVJlZ2lzdGVyczo6c3A7CisgICAgICAgIH0KKwogICAgICAgICBpZiAo
YXJtSW1tLmlzVmFsaWQoKSkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZChkZXN0LCBzcmMs
IGFybUltbSk7CiAgICAgICAgIGVsc2UgewpAQCAtMTE2MCw2ICsxMTY4LDE2IEBAIHB1YmxpYzoK
ICAgICAgICAgcHVzaChkYXRhVGVtcFJlZ2lzdGVyKTsKICAgICB9CiAKKyAgICB2b2lkIHBvcFBh
aXIoUmVnaXN0ZXJJRCBkZXN0MSwgUmVnaXN0ZXJJRCBkZXN0MikKKyAgICB7CisgICAgICAgIG1f
YXNzZW1ibGVyLnBvcCgxIDw8IGRlc3QxIHwgMSA8PCBkZXN0Mik7CisgICAgfQorICAgIAorICAg
IHZvaWQgcHVzaFBhaXIoUmVnaXN0ZXJJRCBzcmMxLCBSZWdpc3RlcklEIHNyYzIpCisgICAgewor
ICAgICAgICBtX2Fzc2VtYmxlci5wdXNoKDEgPDwgc3JjMSB8IDEgPDwgc3JjMik7CisgICAgfQor
ICAgIAogICAgIC8vIFJlZ2lzdGVyIG1vdmUgb3BlcmF0aW9uczoKICAgICAvLwogICAgIC8vIE1v
dmUgdmFsdWVzIGluIHJlZ2lzdGVycy4KQEAgLTEyODEsMTEgKzEyOTksMTkgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnRzdChyZWcsIHJlZyk7CiAgICAgICAgIGVsc2Ugewog
ICAgICAgICAgICAgQVJNVGh1bWJJbW1lZGlhdGUgYXJtSW1tID0gQVJNVGh1bWJJbW1lZGlhdGU6
Om1ha2VFbmNvZGVkSW1tKGltbSk7Ci0gICAgICAgICAgICBpZiAoYXJtSW1tLmlzVmFsaWQoKSkK
LSAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci50c3QocmVnLCBhcm1JbW0pOwotICAgICAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICBpZiAoYXJtSW1tLmlzVmFsaWQoKSkgeworICAgICAgICAg
ICAgICAgIGlmIChyZWcgPT0gQVJNUmVnaXN0ZXJzOjpzcCkgeworICAgICAgICAgICAgICAgICAg
ICBtb3ZlKHJlZywgYWRkcmVzc1RlbXBSZWdpc3Rlcik7CisgICAgICAgICAgICAgICAgICAgIG1f
YXNzZW1ibGVyLnRzdChhZGRyZXNzVGVtcFJlZ2lzdGVyLCBhcm1JbW0pOworICAgICAgICAgICAg
ICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci50c3QocmVnLCBhcm1J
bW0pOworICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBtb3ZlKG1hc2ssIGRh
dGFUZW1wUmVnaXN0ZXIpOwotICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnRzdChyZWcsIGRh
dGFUZW1wUmVnaXN0ZXIpOworICAgICAgICAgICAgICAgIGlmIChyZWcgPT0gQVJNUmVnaXN0ZXJz
OjpzcCkgeworICAgICAgICAgICAgICAgICAgICBtb3ZlKHJlZywgYWRkcmVzc1RlbXBSZWdpc3Rl
cik7CisgICAgICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnRzdChhZGRyZXNzVGVtcFJlZ2lz
dGVyLCBkYXRhVGVtcFJlZ2lzdGVyKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAg
ICAgICAgICAgICAgbV9hc3NlbWJsZXIudHN0KHJlZywgZGF0YVRlbXBSZWdpc3Rlcik7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckNvZGVSZWYuaAppbmRleCA1ZjhiYThhOTJk
Mzc4MGM5NTc0MzU4MzAxN2I4Y2EwMmI2YjI5OTlmLi4yOGZjMTlkMjEzN2RhMDJlMzZjNzQxOWQ2
ZjhlYjE2MDA2ZTU4NGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL01hY3JvQXNzZW1ibGVyQ29kZVJlZi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmgKQEAgLTI1NCw2ICsyNTQsMTEgQEAgcHVi
bGljOgogICAgIH0KIAogICAgIHZvaWQqIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsg
fQorICAgIAorICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAorICAgIHsKKyAg
ICAgICAgb3V0LnByaW50KFJhd1BvaW50ZXIobV92YWx1ZSkpOworICAgIH0KIAogcHJpdmF0ZToK
ICAgICB2b2lkKiBtX3ZhbHVlOwpAQCAtMzA5LDkgKzMxNCwxMCBAQCBwdWJsaWM6CiAgICAgdm9p
ZCogZGF0YUxvY2F0aW9uKCkgY29uc3QgeyBBU1NFUlRfVkFMSURfQ09ERV9QT0lOVEVSKG1fdmFs
dWUpOyByZXR1cm4gbV92YWx1ZTsgfQogI2VuZGlmCiAKLSAgICBib29sIG9wZXJhdG9yISgpIGNv
bnN0CisgICAgdHlwZWRlZiB2b2lkKiAoTWFjcm9Bc3NlbWJsZXJDb2RlUHRyOjoqVW5zcGVjaWZp
ZWRCb29sVHlwZSk7CisgICAgb3BlcmF0b3IgVW5zcGVjaWZpZWRCb29sVHlwZSooKSBjb25zdAog
ICAgIHsKLSAgICAgICAgcmV0dXJuICFtX3ZhbHVlOworICAgICAgICByZXR1cm4gISFtX3ZhbHVl
ID8gcmVpbnRlcnByZXRfY2FzdDxVbnNwZWNpZmllZEJvb2xUeXBlKj4oMSkgOiAwOwogICAgIH0K
ICAgICAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyJiBv
dGhlcikgY29uc3QKQEAgLTQzNCw3ICs0NDAsMTEgQEAgcHVibGljOgogICAgICAgICByZXR1cm4g
SlNDOjp0cnlUb0Rpc2Fzc2VtYmxlKG1fY29kZVB0ciwgc2l6ZSgpLCBwcmVmaXgsIFdURjo6ZGF0
YUZpbGUoKSk7CiAgICAgfQogICAgIAotICAgIGJvb2wgb3BlcmF0b3IhKCkgY29uc3QgeyByZXR1
cm4gIW1fY29kZVB0cjsgfQorICAgIHR5cGVkZWYgdm9pZCogKE1hY3JvQXNzZW1ibGVyQ29kZVJl
Zjo6KlVuc3BlY2lmaWVkQm9vbFR5cGUpOworICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5
cGUqKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhIW1fY29kZVB0ciA/IHJlaW50ZXJw
cmV0X2Nhc3Q8VW5zcGVjaWZpZWRCb29sVHlwZSo+KDEpIDogMDsKKyAgICB9CiAgICAgCiAgICAg
dm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiAgICAgewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2Fs
bC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYXhGcmFtZUV4dGVudEZvclNs
b3dQYXRoQ2FsbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmM2ZkN2QwMGM4ZWI3ZmZlZTM1NzNhYjA5YjYxODQ4
Y2Q5NDhkYWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL01heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmgKQEAgLTAsMCArMSw4NSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIE1heEZy
YW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsX2gKKyNkZWZpbmUgTWF4RnJhbWVFeHRlbnRGb3JTbG93
UGF0aENhbGxfaAorCisjaW5jbHVkZSAiSlNTdGFjay5oIgorI2luY2x1ZGUgIlJlZ2lzdGVyLmgi
CisjaW5jbHVkZSAiU3RhY2tBbGlnbm1lbnQuaCIKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
PgorCituYW1lc3BhY2UgSlNDIHsKKworLy8gVGhlIG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhD
YWxsIGlzIHRoZSBtYXggYW1vdW50IG9mIHN0YWNrIHNwYWNlIChpbiBieXRlcykKKy8vIHRoYXQg
Y2FuIGJlIHVzZWQgZm9yIG91dGdvaW5nIGFyZ3Mgd2hlbiBjYWxsaW5nIGEgc2xvdyBwYXRoIEMg
ZnVuY3Rpb24KKy8vIGZyb20gSlMgY29kZS4KKworI2lmIEVOQUJMRShMTElOVF9DX0xPT1ApCitz
dGF0aWMgY29uc3Qgc2l6ZV90IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID0gMDsKKwor
I2VsaWYgQ1BVKFg4Nl82NCkgJiYgT1MoV0lORE9XUykKKy8vIDQgYXJncyBpbiByZWdpc3RlcnMs
IGJ1dCBzdGFjayBzcGFjZSBuZWVkcyB0byBiZSBhbGxvY2F0ZWQgZm9yIGFsbCBhcmdzLgorc3Rh
dGljIGNvbnN0IHNpemVfdCBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9IDY0OworCisj
ZWxpZiBDUFUoWDg2XzY0KQorLy8gQWxsIGFyZ3MgaW4gcmVnaXN0ZXJzLgorc3RhdGljIGNvbnN0
IHNpemVfdCBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9IDA7CisKKyNlbGlmIENQVShY
ODYpCisvLyA3IGFyZ3Mgb24gc3RhY2sgKDI4IGJ5dGVzKS4KK3N0YXRpYyBjb25zdCBzaXplX3Qg
bWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgPSA0MDsKKworI2VsaWYgQ1BVKEFSTTY0KQor
Ly8gQWxsIGFyZ3MgaW4gcmVnaXN0ZXJzLgorc3RhdGljIGNvbnN0IHNpemVfdCBtYXhGcmFtZUV4
dGVudEZvclNsb3dQYXRoQ2FsbCA9IDA7CisKKyNlbGlmIENQVShBUk0pCisvLyBGaXJzdCBmb3Vy
IGFyZ3MgaW4gcmVnaXN0ZXJzLCByZW1haW5pbmcgNCBhcmdzIG9uIHN0YWNrLgorc3RhdGljIGNv
bnN0IHNpemVfdCBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9IDI0OworCisjZWxpZiBD
UFUoU0g0KQorLy8gRmlyc3QgZm91ciBhcmdzIGluIHJlZ2lzdGVycywgcmVtYWluaW5nIDQgYXJn
cyBvbiBzdGFjay4KK3N0YXRpYyBjb25zdCBzaXplX3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0
aENhbGwgPSAyNDsKKworI2VsaWYgQ1BVKE1JUFMpCisvLyBUaG91Z2ggYXJncyBhcmUgaW4gcmVn
aXN0ZXJzLCB0aGVyZSBuZWVkIHRvIGJlIHNwYWNlIG9uIHRoZSBzdGFjayBmb3IgYWxsIGFyZ3Mu
CitzdGF0aWMgY29uc3Qgc2l6ZV90IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID0gNDA7
CisKKyNlbHNlCisjZXJyb3IgIlVuc3VwcG9ydGVkIENQVTogbmVlZCB2YWx1ZSBmb3IgbWF4RnJh
bWVFeHRlbnRGb3JTbG93UGF0aENhbGwiCisKKyNlbmRpZgorCitDT01QSUxFX0FTU0VSVCghKG1h
eEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsICUgc2l6ZW9mKFJlZ2lzdGVyKSksIGV4dGVudF9t
dXN0X2JlX2luX211bHRpcGxlc19vZl9yZWdpc3RlcnMpOworLy8gTWFrZSBzdXJlIHRoYXQgY2Zy
IC0gbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgYnl0ZXMgd2lsbCBtYWtlIHRoZSBzdGFj
ayBwb2ludGVyIGFsaWduZWQKK0NPTVBJTEVfQVNTRVJUKChtYXhGcmFtZUV4dGVudEZvclNsb3dQ
YXRoQ2FsbCAlIDE2KSA9PSAxNiAtIHNpemVvZihDYWxsZXJGcmFtZUFuZFBDKSwgZXh0ZW50X211
c3RfYWxpZ25fc3RhY2tfZnJvbV9jYWxsZnJhbWVfcG9pbnRlcik7CisKK3N0YXRpYyBjb25zdCBz
aXplX3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGxJblJlZ2lzdGVycyA9IG1heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsIC8gc2l6ZW9mKFJlZ2lzdGVyKTsKKworfSAvLyBuYW1lc3Bh
Y2UgSlNDCisKKyNlbmRpZiAvLyBNYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbF9oCisKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua0luZm8uY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxMaW5rSW5mby5jcHAKaW5kZXgg
YTRiYWE2MTAwODUyMjM2NmQ5NGNjODM2OTg3MWE1ZmI4YzViMjc2Ni4uNmE2MDA1NzZhMDAwYWRh
YzhhZjIxNGU5ODgxMzY0NjE5ZjI5YTAxMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NhbGxMaW5rSW5mby5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NhbGxMaW5rSW5mby5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM3LDE1ICszNywxNSBAQCB2b2lkIENhbGxMaW5r
SW5mbzo6dW5saW5rKFZNJiB2bSwgUmVwYXRjaEJ1ZmZlciYgcmVwYXRjaEJ1ZmZlcikKIHsKICAg
ICBBU1NFUlQoaXNMaW5rZWQoKSk7CiAgICAgCisgICAgaWYgKE9wdGlvbnM6OnNob3dEaXNhc3Nl
bWJseSgpKQorICAgICAgICBkYXRhTG9nKCJVbmxpbmtpbmcgY2FsbCBmcm9tICIsIGNhbGxSZXR1
cm5Mb2NhdGlvbiwgIiB0byAiLCBwb2ludGVyRHVtcChyZXBhdGNoQnVmZmVyLmNvZGVCbG9jaygp
KSwgIlxuIik7CisKICAgICByZXBhdGNoQnVmZmVyLnJldmVydEp1bXBSZXBsYWNlbWVudFRvQnJh
bmNoUHRyV2l0aFBhdGNoKFJlcGF0Y2hCdWZmZXI6OnN0YXJ0T2ZCcmFuY2hQdHJXaXRoUGF0Y2hP
blJlZ2lzdGVyKGhvdFBhdGhCZWdpbiksIHN0YXRpY19jYXN0PE1hY3JvQXNzZW1ibGVyOjpSZWdp
c3RlcklEPihjYWxsZWVHUFIpLCAwKTsKLSAgICBpZiAoaXNERkcpIHsKLSNpZiBFTkFCTEUoREZH
X0pJVCkKLSAgICAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoY2FsbFJldHVybkxvY2F0aW9uLCAo
Y2FsbFR5cGUgPT0gQ29uc3RydWN0ID8gdm0uZ2V0Q1RJU3R1YihsaW5rQ29uc3RydWN0VGh1bmtH
ZW5lcmF0b3IpIDogdm0uZ2V0Q1RJU3R1YihsaW5rQ2FsbFRodW5rR2VuZXJhdG9yKSkuY29kZSgp
KTsKLSNlbHNlCi0gICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0jZW5kaWYK
LSAgICB9IGVsc2UKLSAgICAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoY2FsbFJldHVybkxvY2F0
aW9uLCBjYWxsVHlwZSA9PSBDb25zdHJ1Y3QgPyB2bS5nZXRDVElTdHViKGxpbmtDb25zdHJ1Y3RU
aHVua0dlbmVyYXRvcikuY29kZSgpIDogdm0uZ2V0Q1RJU3R1YihsaW5rQ2FsbFRodW5rR2VuZXJh
dG9yKS5jb2RlKCkpOworICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKAorICAgICAgICBjYWxsUmV0
dXJuTG9jYXRpb24sCisgICAgICAgIHZtLmdldENUSVN0dWIobGlua1RodW5rR2VuZXJhdG9yRm9y
KAorICAgICAgICAgICAgY2FsbFR5cGUgPT0gQ29uc3RydWN0ID8gQ29kZUZvckNvbnN0cnVjdCA6
IENvZGVGb3JDYWxsLAorICAgICAgICAgICAgaXNGVEwgPyBNdXN0UHJlc2VydmVSZWdpc3RlcnMg
OiBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKSkuY29kZSgpKTsKICAgICBoYXNTZWVu
U2hvdWxkUmVwYXRjaCA9IGZhbHNlOwogICAgIGNhbGxlZS5jbGVhcigpOwogICAgIHN0dWIuY2xl
YXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlu
a0luZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua0luZm8uaApp
bmRleCAwMjQ0NDk3ZGY0YzA1ZDEyNzM3ODFjNmY0ZWViZGM2MWZhZmZjZDQxLi5kNDM0ZTczNWQ4
ZWMyM2NiMDM5YjEzMDBjOTQwMTk1YzM1MTRiMWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtJbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NhbGxMaW5rSW5mby5oCkBAIC01NSw4ICs1NSw4IEBAIHN0cnVjdCBDYWxs
TGlua0luZm8gOiBwdWJsaWMgQmFzaWNSYXdTZW50aW5lbE5vZGU8Q2FsbExpbmtJbmZvPiB7CiAg
ICAgfQogICAgICAgICAKICAgICBDYWxsTGlua0luZm8oKQotICAgICAgICA6IGhhc1NlZW5TaG91
bGRSZXBhdGNoKGZhbHNlKQotICAgICAgICAsIGlzREZHKGZhbHNlKQorICAgICAgICA6IGlzRlRM
KGZhbHNlKQorICAgICAgICAsIGhhc1NlZW5TaG91bGRSZXBhdGNoKGZhbHNlKQogICAgICAgICAs
IGhhc1NlZW5DbG9zdXJlKGZhbHNlKQogICAgICAgICAsIGNhbGxUeXBlKE5vbmUpCiAgICAgewpA
QCAtNzksOCArNzksOCBAQCBzdHJ1Y3QgQ2FsbExpbmtJbmZvIDogcHVibGljIEJhc2ljUmF3U2Vu
dGluZWxOb2RlPENhbGxMaW5rSW5mbz4gewogICAgIEpJVFdyaXRlQmFycmllcjxKU0Z1bmN0aW9u
PiBjYWxsZWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+IGxhc3RTZWVuQ2FsbGVlOwog
ICAgIFJlZlB0cjxDbG9zdXJlQ2FsbFN0dWJSb3V0aW5lPiBzdHViOworICAgIGJvb2wgaXNGVEwg
OiAxOwogICAgIGJvb2wgaGFzU2VlblNob3VsZFJlcGF0Y2ggOiAxOwotICAgIGJvb2wgaXNERkcg
OiAxOwogICAgIGJvb2wgaGFzU2VlbkNsb3N1cmUgOiAxOwogICAgIHVuc2lnbmVkIGNhbGxUeXBl
IDogNTsgLy8gQ2FsbFR5cGUKICAgICB1bnNpZ25lZCBjYWxsZWVHUFIgOiA4OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxMaW5rU3RhdHVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua1N0YXR1cy5jcHAKaW5kZXggYjY0
Yzk2N2U5MjllZTcxNDg4NTMyODQ3ZDljNzljOGYzMTE4NWZkMi4uYTQyNmM4NzQwN2ZmMjdiNGMz
MzcyODVlMWRiNmUwYTE0ZjYxNGE3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NhbGxMaW5rU3RhdHVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNiwxMyArMjYsMTcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDYWxsTGlua1N0YXR1cy5oIgogCisjaW5j
bHVkZSAiQ2FsbExpbmtJbmZvLmgiCiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCisjaW5jbHVkZSAi
REZHSklUQ29kZS5oIgogI2luY2x1ZGUgIkxMSW50Q2FsbExpbmtJbmZvLmgiCiAjaW5jbHVkZSAi
T3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KIAogbmFtZXNwYWNl
IEpTQyB7CiAKK3N0YXRpYyBjb25zdCBib29sIHZlcmJvc2UgPSBmYWxzZTsKKwogQ2FsbExpbmtT
dGF0dXM6OkNhbGxMaW5rU3RhdHVzKEpTVmFsdWUgdmFsdWUpCiAgICAgOiBtX2NhbGxUYXJnZXQo
dmFsdWUpCiAgICAgLCBtX2V4ZWN1dGFibGUoMCkKQEAgLTgxLDEyICs4NSwyNCBAQCBJbnRyaW5z
aWMgQ2FsbExpbmtTdGF0dXM6OmludHJpbnNpY0ZvcihDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtp
bmQpIGNvbnN0CiAgICAgcmV0dXJuIG1fZXhlY3V0YWJsZS0+aW50cmluc2ljRm9yKGtpbmQpOwog
fQogCi1DYWxsTGlua1N0YXR1cyBDYWxsTGlua1N0YXR1czo6Y29tcHV0ZUZyb21MTEludChDb2Rl
QmxvY2sqIHByb2ZpbGVkQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgpCitDYWxsTGlua1N0
YXR1cyBDYWxsTGlua1N0YXR1czo6Y29tcHV0ZUZyb21MTEludChjb25zdCBDb25jdXJyZW50SklU
TG9ja2VyJiBsb2NrZXIsIENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQgYnl0ZWNv
ZGVJbmRleCkKIHsKICAgICBVTlVTRURfUEFSQU0ocHJvZmlsZWRCbG9jayk7CiAgICAgVU5VU0VE
X1BBUkFNKGJ5dGVjb2RlSW5kZXgpOwogI2lmIEVOQUJMRShMTElOVCkKKyAgICBpZiAocHJvZmls
ZWRCbG9jay0+aGFzRXhpdFNpdGUobG9ja2VyLCBERkc6OkZyZXF1ZW50RXhpdFNpdGUoYnl0ZWNv
ZGVJbmRleCwgQmFkRnVuY3Rpb24pKSkgeworICAgICAgICAvLyBXZSBjb3VsZCBmb3JjZSB0aGlz
IHRvIGJlIGEgY2xvc3VyZSBjYWxsLCBidXQgaW5zdGVhZCB3ZSdsbCBqdXN0IGFzc3VtZSB0aGF0
IGl0CisgICAgICAgIC8vIHRha2VzIHNsb3cgcGF0aC4KKyAgICAgICAgcmV0dXJuIHRha2VzU2xv
d1BhdGgoKTsKKyAgICB9CisgICAgCisgICAgVk0mIHZtID0gKnByb2ZpbGVkQmxvY2stPnZtKCk7
CisgICAgCiAgICAgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uID0gcHJvZmlsZWRCbG9jay0+aW5z
dHJ1Y3Rpb25zKCkuYmVnaW4oKSArIGJ5dGVjb2RlSW5kZXg7CisgICAgT3Bjb2RlSUQgb3AgPSB2
bS5pbnRlcnByZXRlci0+Z2V0T3Bjb2RlSUQoaW5zdHJ1Y3Rpb25bMF0udS5vcGNvZGUpOworICAg
IGlmIChvcCAhPSBvcF9jYWxsICYmIG9wICE9IG9wX2NvbnN0cnVjdCkKKyAgICAgICAgcmV0dXJu
IENhbGxMaW5rU3RhdHVzKCk7CisgICAgCiAgICAgTExJbnRDYWxsTGlua0luZm8qIGNhbGxMaW5r
SW5mbyA9IGluc3RydWN0aW9uWzVdLnUuY2FsbExpbmtJbmZvOwogICAgIAogICAgIHJldHVybiBD
YWxsTGlua1N0YXR1cyhjYWxsTGlua0luZm8tPmxhc3RTZWVuQ2FsbGVlLmdldCgpKTsKQEAgLTEw
MiwyNyArMTE4LDExNyBAQCBDYWxsTGlua1N0YXR1cyBDYWxsTGlua1N0YXR1czo6Y29tcHV0ZUZv
cihDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIHVuc2lnbmVkIGJ5dAogICAgIFVOVVNFRF9QQVJB
TShwcm9maWxlZEJsb2NrKTsKICAgICBVTlVTRURfUEFSQU0oYnl0ZWNvZGVJbmRleCk7CiAjaWYg
RU5BQkxFKEpJVCkKKyAgICBpZiAocHJvZmlsZWRCbG9jay0+aGFzRXhpdFNpdGUobG9ja2VyLCBE
Rkc6OkZyZXF1ZW50RXhpdFNpdGUoYnl0ZWNvZGVJbmRleCwgQmFkQ2FjaGUpKQorICAgICAgICB8
fCBwcm9maWxlZEJsb2NrLT5oYXNFeGl0U2l0ZShsb2NrZXIsIERGRzo6RnJlcXVlbnRFeGl0U2l0
ZShieXRlY29kZUluZGV4LCBCYWRDYWNoZVdhdGNocG9pbnQpKQorICAgICAgICB8fCBwcm9maWxl
ZEJsb2NrLT5oYXNFeGl0U2l0ZShsb2NrZXIsIERGRzo6RnJlcXVlbnRFeGl0U2l0ZShieXRlY29k
ZUluZGV4LCBCYWRFeGVjdXRhYmxlKSkpCisgICAgICAgIHJldHVybiB0YWtlc1Nsb3dQYXRoKCk7
CisgICAgCiAgICAgaWYgKCFwcm9maWxlZEJsb2NrLT5oYXNCYXNlbGluZUpJVFByb2ZpbGluZygp
KQotICAgICAgICByZXR1cm4gY29tcHV0ZUZyb21MTEludChwcm9maWxlZEJsb2NrLCBieXRlY29k
ZUluZGV4KTsKKyAgICAgICAgcmV0dXJuIGNvbXB1dGVGcm9tTExJbnQobG9ja2VyLCBwcm9maWxl
ZEJsb2NrLCBieXRlY29kZUluZGV4KTsKICAgICAKICAgICBpZiAocHJvZmlsZWRCbG9jay0+Y291
bGRUYWtlU2xvd0Nhc2UoYnl0ZWNvZGVJbmRleCkpCi0gICAgICAgIHJldHVybiBDYWxsTGlua1N0
YXR1czo6dGFrZXNTbG93UGF0aCgpOworICAgICAgICByZXR1cm4gdGFrZXNTbG93UGF0aCgpOwog
ICAgIAogICAgIENhbGxMaW5rSW5mbyYgY2FsbExpbmtJbmZvID0gcHJvZmlsZWRCbG9jay0+Z2V0
Q2FsbExpbmtJbmZvKGJ5dGVjb2RlSW5kZXgpOworICAgIAorICAgIENhbGxMaW5rU3RhdHVzIHJl
c3VsdCA9IGNvbXB1dGVGb3IobG9ja2VyLCBjYWxsTGlua0luZm8pOworICAgIGlmICghcmVzdWx0
KQorICAgICAgICByZXR1cm4gY29tcHV0ZUZyb21MTEludChsb2NrZXIsIHByb2ZpbGVkQmxvY2ss
IGJ5dGVjb2RlSW5kZXgpOworICAgIAorICAgIGlmIChwcm9maWxlZEJsb2NrLT5oYXNFeGl0U2l0
ZShsb2NrZXIsIERGRzo6RnJlcXVlbnRFeGl0U2l0ZShieXRlY29kZUluZGV4LCBCYWRGdW5jdGlv
bikpKQorICAgICAgICByZXN1bHQubWFrZUNsb3N1cmVDYWxsKCk7CisgICAgCisgICAgcmV0dXJu
IHJlc3VsdDsKKyNlbHNlCisgICAgcmV0dXJuIENhbGxMaW5rU3RhdHVzKCk7CisjZW5kaWYKK30K
KworQ2FsbExpbmtTdGF0dXMgQ2FsbExpbmtTdGF0dXM6OmNvbXB1dGVGb3IoY29uc3QgQ29uY3Vy
cmVudEpJVExvY2tlciYsIENhbGxMaW5rSW5mbyYgY2FsbExpbmtJbmZvKQorewogICAgIGlmIChj
YWxsTGlua0luZm8uc3R1YikKICAgICAgICAgcmV0dXJuIENhbGxMaW5rU3RhdHVzKGNhbGxMaW5r
SW5mby5zdHViLT5leGVjdXRhYmxlKCksIGNhbGxMaW5rSW5mby5zdHViLT5zdHJ1Y3R1cmUoKSk7
CiAgICAgCiAgICAgSlNGdW5jdGlvbiogdGFyZ2V0ID0gY2FsbExpbmtJbmZvLmxhc3RTZWVuQ2Fs
bGVlLmdldCgpOwogICAgIGlmICghdGFyZ2V0KQotICAgICAgICByZXR1cm4gY29tcHV0ZUZyb21M
TEludChwcm9maWxlZEJsb2NrLCBieXRlY29kZUluZGV4KTsKKyAgICAgICAgcmV0dXJuIENhbGxM
aW5rU3RhdHVzKCk7CiAgICAgCiAgICAgaWYgKGNhbGxMaW5rSW5mby5oYXNTZWVuQ2xvc3VyZSkK
ICAgICAgICAgcmV0dXJuIENhbGxMaW5rU3RhdHVzKHRhcmdldC0+ZXhlY3V0YWJsZSgpLCB0YXJn
ZXQtPnN0cnVjdHVyZSgpKTsKIAogICAgIHJldHVybiBDYWxsTGlua1N0YXR1cyh0YXJnZXQpOwot
I2Vsc2UKLSAgICByZXR1cm4gQ2FsbExpbmtTdGF0dXMoKTsKLSNlbmRpZgorfQorCit2b2lkIENh
bGxMaW5rU3RhdHVzOjpjb21wdXRlREZHU3RhdHVzZXMoCisgICAgQ29kZUJsb2NrKiBkZmdDb2Rl
QmxvY2ssIENhbGxMaW5rU3RhdHVzOjpDb250ZXh0TWFwJiBtYXApCit7CisjaWYgRU5BQkxFKERG
R19KSVQpCisgICAgUkVMRUFTRV9BU1NFUlQoZGZnQ29kZUJsb2NrLT5qaXRUeXBlKCkgPT0gSklU
Q29kZTo6REZHSklUKTsKKyAgICBDb2RlQmxvY2sqIGJhc2VsaW5lQ29kZUJsb2NrID0gZGZnQ29k
ZUJsb2NrLT5hbHRlcm5hdGl2ZSgpOworICAgIERGRzo6SklUQ29kZSogaml0Q29kZSA9IGRmZ0Nv
ZGVCbG9jay0+aml0Q29kZSgpLT5kZmcoKTsKKyAgICBSRUxFQVNFX0FTU0VSVChkZmdDb2RlQmxv
Y2stPm51bWJlck9mQ2FsbExpbmtJbmZvcygpIDw9IGppdENvZGUtPnNsb3dQYXRoQ2FsbHMuc2l6
ZSgpKTsKKyAgICAKKyAgICBmb3IgKHNpemVfdCBpID0gZGZnQ29kZUJsb2NrLT5udW1iZXJPZkNh
bGxMaW5rSW5mb3MoKTsgaS0tOykgeworICAgICAgICBDYWxsTGlua0luZm8mIGluZm8gPSBkZmdD
b2RlQmxvY2stPmNhbGxMaW5rSW5mbyhpKTsKKyAgICAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2lu
ID0gaW5mby5jb2RlT3JpZ2luOworICAgICAgICAKKyAgICAgICAgYm9vbCB0YWtlU2xvd1BhdGg7
CisgICAgICAgIGJvb2wgYmFkRnVuY3Rpb247CisgICAgICAgIAorICAgICAgICAvLyBDaGVjayBp
ZiB3ZSBoYWQgYWxyZWFkeSBwcmV2aW91c2x5IG1hZGUgYSB0ZXJyaWJsZSBtaXN0YWtlIGluIHRo
ZSBGVEwgZm9yIHRoaXMKKyAgICAgICAgLy8gY29kZSBvcmlnaW4uIE5vdGUgdGhhdCB0aGlzIGlz
IGFwcHJveGltYXRlIGJlY2F1c2Ugd2UgY291bGQgaGF2ZSBhIG1vbm92YXJpYW50CisgICAgICAg
IC8vIGlubGluZSBpbiB0aGUgRlRMIHRoYXQgZW5kZWQgdXAgZmFpbGluZy4gV2Ugc2hvdWxkIGZp
eCB0aGF0IGF0IHNvbWUgcG9pbnQgYnkKKyAgICAgICAgLy8gaGF2aW5nIGRhdGEgc3RydWN0dXJl
cyB0byB0cmFjayB0aGUgY29udGV4dCBvZiBmcmVxdWVudCBleGl0cy4gVGhpcyBpcyBjdXJyZW50
bHkKKyAgICAgICAgLy8gY2hhbGxlbmdpbmcgYmVjYXVzZSBpdCB3b3VsZCByZXF1aXJlIGNyZWF0
aW5nIGEgQ29kZU9yaWdpbi1iYXNlZCBkYXRhYmFzZSBpbgorICAgICAgICAvLyBiYXNlbGluZSBD
b2RlQmxvY2tzLCBidXQgdGhvc2UgQ29kZUJsb2NrcyBkb24ndCByZWFsbHkgaGF2ZSBhIHBsYWNl
IHRvIHB1dCB0aGUKKyAgICAgICAgLy8gSW5saW5lQ2FsbEZyYW1lcy4KKyAgICAgICAgQ29kZUJs
b2NrKiBjdXJyZW50QmFzZWxpbmUgPQorICAgICAgICAgICAgYmFzZWxpbmVDb2RlQmxvY2tGb3JP
cmlnaW5BbmRCYXNlbGluZUNvZGVCbG9jayhjb2RlT3JpZ2luLCBiYXNlbGluZUNvZGVCbG9jayk7
CisgICAgICAgIHsKKyAgICAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKGN1cnJl
bnRCYXNlbGluZS0+bV9sb2NrKTsKKyAgICAgICAgICAgIHRha2VTbG93UGF0aCA9CisgICAgICAg
ICAgICAgICAgY3VycmVudEJhc2VsaW5lLT5oYXNFeGl0U2l0ZShsb2NrZXIsIERGRzo6RnJlcXVl
bnRFeGl0U2l0ZShjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgsIEJhZENhY2hlLCBFeGl0RnJvbUZU
TCkpCisgICAgICAgICAgICAgICAgfHwgY3VycmVudEJhc2VsaW5lLT5oYXNFeGl0U2l0ZShsb2Nr
ZXIsIERGRzo6RnJlcXVlbnRFeGl0U2l0ZShjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgsIEJhZENh
Y2hlV2F0Y2hwb2ludCwgRXhpdEZyb21GVEwpKQorICAgICAgICAgICAgICAgIHx8IGN1cnJlbnRC
YXNlbGluZS0+aGFzRXhpdFNpdGUobG9ja2VyLCBERkc6OkZyZXF1ZW50RXhpdFNpdGUoY29kZU9y
aWdpbi5ieXRlY29kZUluZGV4LCBCYWRFeGVjdXRhYmxlLCBFeGl0RnJvbUZUTCkpOworICAgICAg
ICAgICAgYmFkRnVuY3Rpb24gPQorICAgICAgICAgICAgICAgIGN1cnJlbnRCYXNlbGluZS0+aGFz
RXhpdFNpdGUobG9ja2VyLCBERkc6OkZyZXF1ZW50RXhpdFNpdGUoY29kZU9yaWdpbi5ieXRlY29k
ZUluZGV4LCBCYWRGdW5jdGlvbiwgRXhpdEZyb21GVEwpKTsKKyAgICAgICAgfQorICAgICAgICAK
KyAgICAgICAgeworICAgICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIoZGZnQ29k
ZUJsb2NrLT5tX2xvY2spOworICAgICAgICAgICAgaWYgKHRha2VTbG93UGF0aCB8fCBqaXRDb2Rl
LT5zbG93UGF0aENhbGxzW2ldID49IE9wdGlvbnM6OmNvdWxkVGFrZVNsb3dDYXNlTWluaW11bUNv
dW50KCkpCisgICAgICAgICAgICAgICAgbWFwLmFkZChpbmZvLmNvZGVPcmlnaW4sIHRha2VzU2xv
d1BhdGgoKSk7CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBDYWxsTGlua1N0
YXR1cyBzdGF0dXMgPSBjb21wdXRlRm9yKGxvY2tlciwgaW5mbyk7CisgICAgICAgICAgICAgICAg
aWYgKHN0YXR1cy5pc1NldCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChiYWRGdW5jdGlv
bikKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cy5tYWtlQ2xvc3VyZUNhbGwoKTsKKyAg
ICAgICAgICAgICAgICAgICAgbWFwLmFkZChpbmZvLmNvZGVPcmlnaW4sIHN0YXR1cyk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorI2VuZGlmIC8v
IEVOQUJMRShERkdfSklUKQorICAgIAorICAgIGlmICh2ZXJib3NlKSB7CisgICAgICAgIGRhdGFM
b2coIkNvbnRleHQgbWFwOlxuIik7CisgICAgICAgIENvbnRleHRNYXA6Oml0ZXJhdG9yIGl0ZXIg
PSBtYXAuYmVnaW4oKTsKKyAgICAgICAgQ29udGV4dE1hcDo6aXRlcmF0b3IgZW5kID0gbWFwLmVu
ZCgpOworICAgICAgICBmb3IgKDsgaXRlciAhPSBlbmQ7ICsraXRlcikgeworICAgICAgICAgICAg
ZGF0YUxvZygiICAgICIsIGl0ZXItPmtleSwgIjpcbiIpOworICAgICAgICAgICAgZGF0YUxvZygi
ICAgICAgICAiLCBpdGVyLT52YWx1ZSwgIlxuIik7CisgICAgICAgIH0KKyAgICB9Cit9CisKK0Nh
bGxMaW5rU3RhdHVzIENhbGxMaW5rU3RhdHVzOjpjb21wdXRlRm9yKAorICAgIENvZGVCbG9jayog
cHJvZmlsZWRCbG9jaywgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBjb25zdCBDYWxsTGlua1N0YXR1
czo6Q29udGV4dE1hcCYgbWFwKQoreworICAgIENvbnRleHRNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0
ZXIgPSBtYXAuZmluZChjb2RlT3JpZ2luKTsKKyAgICBpZiAoaXRlciAhPSBtYXAuZW5kKCkpCisg
ICAgICAgIHJldHVybiBpdGVyLT52YWx1ZTsKKyAgICAKKyAgICByZXR1cm4gY29tcHV0ZUZvcihw
cm9maWxlZEJsb2NrLCBjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgpOwogfQogCiB2b2lkIENhbGxM
aW5rU3RhdHVzOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua1N0YXR1cy5oCmluZGV4IDUxOTY1ZmU0YThiOTk3
NDFhM2I5M2ZlM2IxNGY0YzJkN2FiZjVkNTYuLmY5YTlhMjY0Nzc2YTUzN2Q5M2U4NWViMzYxZWQx
NTdjNzY4YmNjM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
YWxsTGlua1N0YXR1cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxs
TGlua1N0YXR1cy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiwg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNiw3ICsyNiw5IEBACiAjaWZuZGVmIENhbGxMaW5r
U3RhdHVzX2gKICNkZWZpbmUgQ2FsbExpbmtTdGF0dXNfaAogCisjaW5jbHVkZSAiQ29kZU9yaWdp
bi5oIgogI2luY2x1ZGUgIkNvZGVTcGVjaWFsaXphdGlvbktpbmQuaCIKKyNpbmNsdWRlICJDb25j
dXJyZW50SklUTG9jay5oIgogI2luY2x1ZGUgIkludHJpbnNpYy5oIgogI2luY2x1ZGUgIkpTQ0pT
VmFsdWUuaCIKIApAQCAtMzcsNiArMzksNyBAQCBjbGFzcyBFeGVjdXRhYmxlQmFzZTsKIGNsYXNz
IEludGVybmFsRnVuY3Rpb247CiBjbGFzcyBKU0Z1bmN0aW9uOwogY2xhc3MgU3RydWN0dXJlOwor
c3RydWN0IENhbGxMaW5rSW5mbzsKIAogY2xhc3MgQ2FsbExpbmtTdGF0dXMgewogcHVibGljOgpA
QCAtNzQsMzEgKzc3LDE5IEBAIHB1YmxpYzoKICAgICAKICAgICBzdGF0aWMgQ2FsbExpbmtTdGF0
dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sqLCB1bnNpZ25lZCBieXRlY29kZUluZGV4KTsKICAgICAK
LSAgICBDYWxsTGlua1N0YXR1cyYgc2V0SGFzQmFkRnVuY3Rpb25FeGl0U2l0ZShib29sIGRpZEhh
dmVFeGl0U2l0ZSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9pc1Byb3ZlZCk7Ci0gICAgICAg
IGlmIChkaWRIYXZlRXhpdFNpdGUpIHsKLSAgICAgICAgICAgIC8vIFR1cm4gdGhpcyBpbnRvIGEg
Y2xvc3VyZSBjYWxsLgotICAgICAgICAgICAgbV9jYWxsVGFyZ2V0ID0gSlNWYWx1ZSgpOwotICAg
ICAgICB9Ci0gICAgICAgIHJldHVybiAqdGhpczsKLSAgICB9CisgICAgLy8gQ29tcHV0ZXMgdGhl
IHN0YXR1cyBhc3N1bWluZyB0aGF0IHdlIG5ldmVyIHRvb2sgc2xvdyBwYXRoIGFuZCBuZXZlciBw
cmV2aW91c2x5CisgICAgLy8gZXhpdGVkLgorICAgIHN0YXRpYyBDYWxsTGlua1N0YXR1cyBjb21w
dXRlRm9yKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBDYWxsTGlua0luZm8mKTsKICAgICAK
LSAgICBDYWxsTGlua1N0YXR1cyYgc2V0SGFzQmFkQ2FjaGVFeGl0U2l0ZShib29sIGRpZEhhdmVF
eGl0U2l0ZSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9pc1Byb3ZlZCk7Ci0gICAgICAgIGlm
IChkaWRIYXZlRXhpdFNpdGUpCi0gICAgICAgICAgICAqdGhpcyA9IHRha2VzU2xvd1BhdGgoKTsK
LSAgICAgICAgcmV0dXJuICp0aGlzOwotICAgIH0KKyAgICB0eXBlZGVmIEhhc2hNYXA8Q29kZU9y
aWdpbiwgQ2FsbExpbmtTdGF0dXMsIENvZGVPcmlnaW5BcHByb3hpbWF0ZUhhc2g+IENvbnRleHRN
YXA7CiAgICAgCi0gICAgQ2FsbExpbmtTdGF0dXMmIHNldEhhc0JhZEV4ZWN1dGFibGVFeGl0U2l0
ZShib29sIGRpZEhhdmVFeGl0U2l0ZSkKLSAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9pc1Byb3Zl
ZCk7Ci0gICAgICAgIGlmIChkaWRIYXZlRXhpdFNpdGUpCi0gICAgICAgICAgICAqdGhpcyA9IHRh
a2VzU2xvd1BhdGgoKTsKLSAgICAgICAgcmV0dXJuICp0aGlzOwotICAgIH0KKyAgICAvLyBDb21w
dXRlcyBhbGwgb2YgdGhlIHN0YXR1c2VzIG9mIHRoZSBERkcgY29kZSBibG9jay4gRG9lc24ndCBp
bmNsdWRlIHN0YXR1c2VzIHRoYXQgaGFkCisgICAgLy8gbm8gaW5mb3JtYXRpb24uIEN1cnJlbnRs
eSB3ZSB1c2UgdGhpcyB3aGVuIGNvbXBpbGluZyBGVEwgY29kZSwgdG8gZW5hYmxlIHBvbHl2YXJp
YW50CisgICAgLy8gaW5saW5pbmcuCisgICAgc3RhdGljIHZvaWQgY29tcHV0ZURGR1N0YXR1c2Vz
KENvZGVCbG9jayogZGZnQ29kZUJsb2NrLCBDb250ZXh0TWFwJik7CisgICAgCisgICAgLy8gSGVs
cGVyIHRoYXQgZmlyc3QgY29uc3VsdHMgdGhlIENvbnRleHRNYXAgYW5kIHRoZW4gZG9lcyBjb21w
dXRlRm9yKCkuCisgICAgc3RhdGljIENhbGxMaW5rU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2Nr
KiwgQ29kZU9yaWdpbiwgY29uc3QgQ29udGV4dE1hcCYpOwogICAgIAogICAgIGJvb2wgaXNTZXQo
KSBjb25zdCB7IHJldHVybiBtX2NhbGxUYXJnZXQgfHwgbV9leGVjdXRhYmxlIHx8IG1fY291bGRU
YWtlU2xvd1BhdGg7IH0KICAgICAKQEAgLTExOSw3ICsxMTAsMTQgQEAgcHVibGljOgogICAgIHZv
aWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIAogcHJpdmF0ZToKLSAgICBzdGF0aWMg
Q2FsbExpbmtTdGF0dXMgY29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqLCB1bnNpZ25lZCBieXRl
Y29kZUluZGV4KTsKKyAgICB2b2lkIG1ha2VDbG9zdXJlQ2FsbCgpCisgICAgeworICAgICAgICBB
U1NFUlQoIW1faXNQcm92ZWQpOworICAgICAgICAvLyBUdXJuIHRoaXMgaW50byBhIGNsb3N1cmUg
Y2FsbC4KKyAgICAgICAgbV9jYWxsVGFyZ2V0ID0gSlNWYWx1ZSgpOworICAgIH0KKyAgICAKKyAg
ICBzdGF0aWMgQ2FsbExpbmtTdGF0dXMgY29tcHV0ZUZyb21MTEludChjb25zdCBDb25jdXJyZW50
SklUTG9ja2VyJiwgQ29kZUJsb2NrKiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCk7CiAgICAgCiAg
ICAgSlNWYWx1ZSBtX2NhbGxUYXJnZXQ7CiAgICAgRXhlY3V0YWJsZUJhc2UqIG1fZXhlY3V0YWJs
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXgg
ZGE4MTQzMzY5MzljOGEzOGYyZDY3Mzk4NWI2ODI5ZTY3YmY2MGMxOS4uNzg2M2E2NjhhYjczMDAz
M2Q2YmI2NGYwZDliMDMwYzI4NWE0ZGFiNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAgLTEyOSwxMCArMTI5LDE1IEBAIENTdHJpbmcgQ29kZUJs
b2NrOjpzb3VyY2VDb2RlT25PbmVMaW5lKCkgY29uc3QKIAogdm9pZCBDb2RlQmxvY2s6OmR1bXBB
c3N1bWluZ0pJVFR5cGUoUHJpbnRTdHJlYW0mIG91dCwgSklUQ29kZTo6SklUVHlwZSBqaXRUeXBl
KSBjb25zdAogeworICAgIG91dC5wcmludChpbmZlcnJlZE5hbWUoKSwgIiMiKTsKICAgICBpZiAo
aGFzSGFzaCgpIHx8IGlzU2FmZVRvQ29tcHV0ZUhhc2goKSkKLSAgICAgICAgb3V0LnByaW50KGlu
ZmVycmVkTmFtZSgpLCAiIyIsIGhhc2goKSwgIjpbIiwgUmF3UG9pbnRlcih0aGlzKSwgIi0+Iiwg
UmF3UG9pbnRlcihvd25lckV4ZWN1dGFibGUoKSksICIsICIsIGppdFR5cGUsIGNvZGVUeXBlKCkp
OworICAgICAgICBvdXQucHJpbnQoaGFzaCgpKTsKICAgICBlbHNlCi0gICAgICAgIG91dC5wcmlu
dChpbmZlcnJlZE5hbWUoKSwgIiM8bm8taGFzaD46WyIsIFJhd1BvaW50ZXIodGhpcyksICItPiIs
IFJhd1BvaW50ZXIob3duZXJFeGVjdXRhYmxlKCkpLCAiLCAiLCBqaXRUeXBlLCBjb2RlVHlwZSgp
KTsKKyAgICAgICAgb3V0LnByaW50KCI8bm8taGFzaD4iKTsKKyAgICBvdXQucHJpbnQoIjpbIiwg
UmF3UG9pbnRlcih0aGlzKSwgIi0+Iik7CisgICAgaWYgKCEhbV9hbHRlcm5hdGl2ZSkKKyAgICAg
ICAgb3V0LnByaW50KFJhd1BvaW50ZXIobV9hbHRlcm5hdGl2ZS5nZXQoKSksICItPiIpOworICAg
IG91dC5wcmludChSYXdQb2ludGVyKG93bmVyRXhlY3V0YWJsZSgpKSwgIiwgIiwgaml0VHlwZSwg
Y29kZVR5cGUoKSk7CiAKICAgICBpZiAoY29kZVR5cGUoKSA9PSBGdW5jdGlvbkNvZGUpCiAgICAg
ICAgIG91dC5wcmludChzcGVjaWFsaXphdGlvbktpbmQoKSk7CkBAIC0xNDMsNiArMTQ4LDEwIEBA
IHZvaWQgQ29kZUJsb2NrOjpkdW1wQXNzdW1pbmdKSVRUeXBlKFByaW50U3RyZWFtJiBvdXQsIEpJ
VENvZGU6OkpJVFR5cGUgaml0VHlwZSkKICAgICAgICAgb3V0LnByaW50KCIgKE5ldmVySW5saW5l
KSIpOwogICAgIGlmIChvd25lckV4ZWN1dGFibGUoKS0+aXNTdHJpY3RNb2RlKCkpCiAgICAgICAg
IG91dC5wcmludCgiIChTdHJpY3RNb2RlKSIpOworICAgIGlmICh0aGlzLT5qaXRUeXBlKCkgPT0g
SklUQ29kZTo6QmFzZWxpbmVKSVQgJiYgbV9kaWRGYWlsRlRMQ29tcGlsYXRpb24pCisgICAgICAg
IG91dC5wcmludCgiIChGVExGYWlsKSIpOworICAgIGlmICh0aGlzLT5qaXRUeXBlKCkgPT0gSklU
Q29kZTo6QmFzZWxpbmVKSVQgJiYgbV9oYXNCZWVuQ29tcGlsZWRXaXRoRlRMKQorICAgICAgICBv
dXQucHJpbnQoIiAoSGFkRlRMUmVwbGFjZW1lbnQpIik7CiAgICAgb3V0LnByaW50KCJdIik7CiB9
CiAKQEAgLTUyNiwxMiArNTM1LDcgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZShQcmlu
dFN0cmVhbSYgb3V0KQogICAgIG91dC5wcmludGYoIlxuIik7CiAgICAgCiAgICAgU3R1YkluZm9N
YXAgc3R1YkluZm9zOwotI2lmIEVOQUJMRShKSVQpCi0gICAgewotICAgICAgICBDb25jdXJyZW50
SklUTG9ja2VyIGxvY2tlcihtX2xvY2spOwotICAgICAgICBnZXRTdHViSW5mb01hcChsb2NrZXIs
IHN0dWJJbmZvcyk7Ci0gICAgfQotI2VuZGlmCisgICAgZ2V0U3R1YkluZm9NYXAoc3R1YkluZm9z
KTsKICAgICAKICAgICBjb25zdCBJbnN0cnVjdGlvbiogYmVnaW4gPSBpbnN0cnVjdGlvbnMoKS5i
ZWdpbigpOwogICAgIGNvbnN0IEluc3RydWN0aW9uKiBlbmQgPSBpbnN0cnVjdGlvbnMoKS5lbmQo
KTsKQEAgLTE0NjksNiArMTQ3Myw3IEBAIENvZGVCbG9jazo6Q29kZUJsb2NrKENvcHlQYXJzZWRC
bG9ja1RhZywgQ29kZUJsb2NrJiBvdGhlcikKICAgICAsIG1faXNDb25zdHJ1Y3RvcihvdGhlci5t
X2lzQ29uc3RydWN0b3IpCiAgICAgLCBtX3Nob3VsZEFsd2F5c0JlSW5saW5lZCh0cnVlKQogICAg
ICwgbV9kaWRGYWlsRlRMQ29tcGlsYXRpb24oZmFsc2UpCisgICAgLCBtX2hhc0JlZW5Db21waWxl
ZFdpdGhGVEwoZmFsc2UpCiAgICAgLCBtX3VubGlua2VkQ29kZSgqb3RoZXIubV92bSwgb3RoZXIu
bV9vd25lckV4ZWN1dGFibGUuZ2V0KCksIG90aGVyLm1fdW5saW5rZWRDb2RlLmdldCgpKQogICAg
ICwgbV9zdGVwcGluZ01vZGUoU3RlcHBpbmdNb2RlRGlzYWJsZWQpCiAgICAgLCBtX251bUJyZWFr
cG9pbnRzKDApCkBAIC0xNTI1LDYgKzE1MzAsNyBAQCBDb2RlQmxvY2s6OkNvZGVCbG9jayhTY3Jp
cHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1dGFibGUsIFVubGlua2VkQ29kZUJsb2NrKiB1bmxpbgog
ICAgICwgbV9pc0NvbnN0cnVjdG9yKHVubGlua2VkQ29kZUJsb2NrLT5pc0NvbnN0cnVjdG9yKCkp
CiAgICAgLCBtX3Nob3VsZEFsd2F5c0JlSW5saW5lZCh0cnVlKQogICAgICwgbV9kaWRGYWlsRlRM
Q29tcGlsYXRpb24oZmFsc2UpCisgICAgLCBtX2hhc0JlZW5Db21waWxlZFdpdGhGVEwoZmFsc2Up
CiAgICAgLCBtX3VubGlua2VkQ29kZShtX2dsb2JhbE9iamVjdC0+dm0oKSwgb3duZXJFeGVjdXRh
YmxlLCB1bmxpbmtlZENvZGVCbG9jaykKICAgICAsIG1fc3RlcHBpbmdNb2RlKFN0ZXBwaW5nTW9k
ZURpc2FibGVkKQogICAgICwgbV9udW1CcmVha3BvaW50cygwKQpAQCAtMTg1NCwyMyArMTg2MCwx
MyBAQCBDb2RlQmxvY2s6OkNvZGVCbG9jayhTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1dGFi
bGUsIFVubGlua2VkQ29kZUJsb2NrKiB1bmxpbgogCiAgICAgLy8gSWYgdGhlIGNvbmN1cnJlbnQg
dGhyZWFkIHdpbGwgd2FudCB0aGUgY29kZSBibG9jaydzIGhhc2gsIHRoZW4gY29tcHV0ZSBpdCBo
ZXJlCiAgICAgLy8gc3luY2hyb25vdXNseS4KLSAgICBpZiAoT3B0aW9uczo6c2hvd0Rpc2Fzc2Vt
Ymx5KCkKLSAgICAgICAgfHwgT3B0aW9uczo6c2hvd0RGR0Rpc2Fzc2VtYmx5KCkKLSAgICAgICAg
fHwgT3B0aW9uczo6ZHVtcEJ5dGVjb2RlQXRERkdUaW1lKCkKLSAgICAgICAgfHwgT3B0aW9uczo6
ZHVtcEdyYXBoQXRFYWNoUGhhc2UoKQotICAgICAgICB8fCBPcHRpb25zOjp2ZXJib3NlQ29tcGls
YXRpb24oKQotICAgICAgICB8fCBPcHRpb25zOjpsb2dDb21waWxhdGlvbkNoYW5nZXMoKQotICAg
ICAgICB8fCBPcHRpb25zOjp2YWxpZGF0ZUdyYXBoKCkKLSAgICAgICAgfHwgT3B0aW9uczo6dmFs
aWRhdGVHcmFwaEF0RWFjaFBoYXNlKCkKLSAgICAgICAgfHwgT3B0aW9uczo6dmVyYm9zZU9TUigp
Ci0gICAgICAgIHx8IE9wdGlvbnM6OnZlcmJvc2VDb21waWxhdGlvblF1ZXVlKCkKLSAgICAgICAg
fHwgT3B0aW9uczo6cmVwb3J0Q29tcGlsZVRpbWVzKCkKLSAgICAgICAgfHwgT3B0aW9uczo6dmVy
Ym9zZUNGQSgpKQorICAgIGlmIChPcHRpb25zOjphbHdheXNDb21wdXRlSGFzaCgpKQogICAgICAg
ICBoYXNoKCk7CiAKICAgICBpZiAoT3B0aW9uczo6ZHVtcEdlbmVyYXRlZEJ5dGVjb2RlcygpKQog
ICAgICAgICBkdW1wQnl0ZWNvZGUoKTsKIAorICAgIAogICAgIG1faGVhcC0+bV9jb2RlQmxvY2tz
LmFkZCh0aGlzKTsKICAgICBtX2hlYXAtPnJlcG9ydEV4dHJhTWVtb3J5Q29zdChzaXplb2YoQ29k
ZUJsb2NrKSArIG1faW5zdHJ1Y3Rpb25zLnNpemUoKSAqIHNpemVvZihJbnN0cnVjdGlvbikpOwog
fQpAQCAtMjMzNCwxNiArMjMzMCwyNiBAQCB2b2lkIENvZGVCbG9jazo6ZmluYWxpemVVbmNvbmRp
dGlvbmFsbHkoKQogI2VuZGlmCiB9CiAKK3ZvaWQgQ29kZUJsb2NrOjpnZXRTdHViSW5mb01hcChj
b25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgU3R1YkluZm9NYXAmIHJlc3VsdCkKK3sKICNpZiBF
TkFCTEUoSklUKQotU3RydWN0dXJlU3R1YkluZm8qIENvZGVCbG9jazo6YWRkU3R1YkluZm8oKQor
ICAgIHRvSGFzaE1hcChtX3N0dWJJbmZvcywgZ2V0U3RydWN0dXJlU3R1YkluZm9Db2RlT3JpZ2lu
LCByZXN1bHQpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocmVzdWx0KTsKKyNlbmRpZgorfQor
Cit2b2lkIENvZGVCbG9jazo6Z2V0U3R1YkluZm9NYXAoU3R1YkluZm9NYXAmIHJlc3VsdCkKIHsK
ICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xvY2spOwotICAgIHJldHVybiBtX3N0
dWJJbmZvcy5hZGQoKTsKKyAgICBnZXRTdHViSW5mb01hcChsb2NrZXIsIHJlc3VsdCk7CiB9CiAK
LXZvaWQgQ29kZUJsb2NrOjpnZXRTdHViSW5mb01hcChjb25zdCBDb25jdXJyZW50SklUTG9ja2Vy
JiwgU3R1YkluZm9NYXAmIHJlc3VsdCkKKyNpZiBFTkFCTEUoSklUKQorU3RydWN0dXJlU3R1Yklu
Zm8qIENvZGVCbG9jazo6YWRkU3R1YkluZm8oKQogewotICAgIHRvSGFzaE1hcChtX3N0dWJJbmZv
cywgZ2V0U3RydWN0dXJlU3R1YkluZm9Db2RlT3JpZ2luLCByZXN1bHQpOworICAgIENvbmN1cnJl
bnRKSVRMb2NrZXIgbG9ja2VyKG1fbG9jayk7CisgICAgcmV0dXJuIG1fc3R1YkluZm9zLmFkZCgp
OwogfQogCiB2b2lkIENvZGVCbG9jazo6cmVzZXRTdHViKFN0cnVjdHVyZVN0dWJJbmZvJiBzdHVi
SW5mbykKQEAgLTI4OTksNiArMjkwNSwxMSBAQCB2b2lkIENvZGVCbG9jazo6Y291bnRSZW9wdGlt
aXphdGlvbigpCiB1bnNpZ25lZCBDb2RlQmxvY2s6Om51bWJlck9mREZHQ29tcGlsZXMoKQogewog
ICAgIEFTU0VSVChKSVRDb2RlOjppc0Jhc2VsaW5lQ29kZShqaXRUeXBlKCkpKTsKKyAgICBpZiAo
T3B0aW9uczo6dGVzdFRoZUZUTCgpKSB7CisgICAgICAgIGlmIChtX2RpZEZhaWxGVExDb21waWxh
dGlvbikKKyAgICAgICAgICAgIHJldHVybiAxMDAwMDAwOworICAgICAgICByZXR1cm4gKG1faGFz
QmVlbkNvbXBpbGVkV2l0aEZUTCA/IDEgOiAwKSArIG1fcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50
ZXI7CisgICAgfQogICAgIHJldHVybiAoSklUQ29kZTo6aXNPcHRpbWl6aW5nSklUKHJlcGxhY2Vt
ZW50KCktPmppdFR5cGUoKSkgPyAxIDogMCkgKyBtX3Jlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVy
OwogfQogCkBAIC0zMDEwLDcgKzMwMjEsNyBAQCBpbnQzMl90IENvZGVCbG9jazo6YWRqdXN0ZWRD
b3VudGVyVmFsdWUoaW50MzJfdCBkZXNpcmVkVGhyZXNob2xkKQogYm9vbCBDb2RlQmxvY2s6OmNo
ZWNrSWZPcHRpbWl6YXRpb25UaHJlc2hvbGRSZWFjaGVkKCkKIHsKICNpZiBFTkFCTEUoREZHX0pJ
VCkKLSAgICBpZiAoREZHOjpXb3JrbGlzdCogd29ya2xpc3QgPSBtX3ZtLT53b3JrbGlzdC5nZXQo
KSkgeworICAgIGlmIChERkc6OldvcmtsaXN0KiB3b3JrbGlzdCA9IERGRzo6ZXhpc3RpbmdHbG9i
YWxERkdXb3JrbGlzdE9yTnVsbCgpKSB7CiAgICAgICAgIGlmICh3b3JrbGlzdC0+Y29tcGlsYXRp
b25TdGF0ZShERkc6OkNvbXBpbGF0aW9uS2V5KHRoaXMsIERGRzo6REZHTW9kZSkpCiAgICAgICAg
ICAgICA9PSBERkc6OldvcmtsaXN0OjpDb21waWxlZCkgewogICAgICAgICAgICAgb3B0aW1pemVO
ZXh0SW52b2NhdGlvbigpOwpAQCAtMzM0MSw2ICszMzUyLDExIEBAIHVuc2lnbmVkIENvZGVCbG9j
azo6ZnJhbWVSZWdpc3RlckNvdW50KCkKICAgICB9CiB9CiAKK2ludCBDb2RlQmxvY2s6OnN0YWNr
UG9pbnRlck9mZnNldCgpCit7CisgICAgcmV0dXJuIHZpcnR1YWxSZWdpc3RlckZvckxvY2FsKGZy
YW1lUmVnaXN0ZXJDb3VudCgpIC0gMSkub2Zmc2V0KCk7Cit9CisKIHNpemVfdCBDb2RlQmxvY2s6
OnByZWRpY3RlZE1hY2hpbmVDb2RlU2l6ZSgpCiB7CiAgICAgLy8gVGhpcyB3aWxsIGJlIGNhbGxl
ZCBmcm9tIENvZGVCbG9jazo6Q29kZUJsb2NrIGJlZm9yZSBlaXRoZXIgbV92bSBvciB0aGUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAppbmRleCA2OWY0MjE4NGVk
YTEwZmNkZWY0YmQzNjEzNmFiMzk4OTg0YzJmZGRjLi5jYmRjMzgxN2M4ZWZhNGIyZGUxODM3NDFl
OWFlMmJhZDg3YjMzMzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZUJsb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVC
bG9jay5oCkBAIC0xNzUsNiArMTc1LDkgQEAgcHVibGljOgogICAgIHZvaWQgZXhwcmVzc2lvblJh
bmdlRm9yQnl0ZWNvZGVPZmZzZXQodW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQsIGludCYgZGl2b3Qs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQmIHN0YXJ0T2Zm
c2V0LCBpbnQmIGVuZE9mZnNldCwgdW5zaWduZWQmIGxpbmUsIHVuc2lnbmVkJiBjb2x1bW4pOwog
CisgICAgdm9pZCBnZXRTdHViSW5mb01hcChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgU3R1
YkluZm9NYXAmIHJlc3VsdCk7CisgICAgdm9pZCBnZXRTdHViSW5mb01hcChTdHViSW5mb01hcCYg
cmVzdWx0KTsKKwogI2lmIEVOQUJMRShKSVQpCiAgICAgU3RydWN0dXJlU3R1YkluZm8qIGFkZFN0
dWJJbmZvKCk7CiAgICAgQmFnPFN0cnVjdHVyZVN0dWJJbmZvPjo6aXRlcmF0b3IgYmVnaW4oKSB7
IHJldHVybiBtX3N0dWJJbmZvcy5iZWdpbigpOyB9CkBAIC0xODIsOCArMTg1LDYgQEAgcHVibGlj
OgogCiAgICAgdm9pZCByZXNldFN0dWIoU3RydWN0dXJlU3R1YkluZm8mKTsKICAgICAKLSAgICB2
b2lkIGdldFN0dWJJbmZvTWFwKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBTdHViSW5mb01h
cCYgcmVzdWx0KTsKLQogICAgIEJ5VmFsSW5mbyYgZ2V0QnlWYWxJbmZvKHVuc2lnbmVkIGJ5dGVj
b2RlSW5kZXgpCiAgICAgewogICAgICAgICByZXR1cm4gKihiaW5hcnlTZWFyY2g8QnlWYWxJbmZv
LCB1bnNpZ25lZD4obV9ieVZhbEluZm9zLCBtX2J5VmFsSW5mb3Muc2l6ZSgpLCBieXRlY29kZUlu
ZGV4LCBnZXRCeVZhbEluZm9CeXRlY29kZUluZGV4KSk7CkBAIC0yNTYsMTcgKzI1NywxNSBAQCBw
dWJsaWM6CiAgICAgLy8gRXhhY3RseSBlcXVpdmFsZW50IHRvIGNvZGVCbG9jay0+b3duZXJFeGVj
dXRhYmxlKCktPm5ld1JlcGxhY2VtZW50Q29kZUJsb2NrRm9yKGNvZGVCbG9jay0+c3BlY2lhbGl6
YXRpb25LaW5kKCkpCiAgICAgUGFzc1JlZlB0cjxDb2RlQmxvY2s+IG5ld1JlcGxhY2VtZW50KCk7
CiAgICAgCi0gICAgdm9pZCBzZXRKSVRDb2RlKFBhc3NSZWZQdHI8SklUQ29kZT4gY29kZSwgTWFj
cm9Bc3NlbWJsZXJDb2RlUHRyIGNvZGVXaXRoQXJpdHlDaGVjaykKKyAgICB2b2lkIHNldEpJVENv
ZGUoUGFzc1JlZlB0cjxKSVRDb2RlPiBjb2RlKQogICAgIHsKICAgICAgICAgQVNTRVJUKG1faGVh
cC0+aXNEZWZlcnJlZCgpKTsKICAgICAgICAgbV9oZWFwLT5yZXBvcnRFeHRyYU1lbW9yeUNvc3Qo
Y29kZS0+c2l6ZSgpKTsKICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9sb2Nr
KTsKICAgICAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsgLy8gVGhpcyBpcyBwcm9iYWJseSBu
b3QgbmVlZGVkIGJlY2F1c2UgdGhlIGxvY2sgd2lsbCBhbHNvIGRvIHNvbWV0aGluZyBzaW1pbGFy
LCBidXQgaXQncyBnb29kIHRvIGJlIHBhcmFub2lkLgogICAgICAgICBtX2ppdENvZGUgPSBjb2Rl
OwotICAgICAgICBtX2ppdENvZGVXaXRoQXJpdHlDaGVjayA9IGNvZGVXaXRoQXJpdHlDaGVjazsK
ICAgICB9CiAgICAgUGFzc1JlZlB0cjxKSVRDb2RlPiBqaXRDb2RlKCkgeyByZXR1cm4gbV9qaXRD
b2RlOyB9Ci0gICAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIGppdENvZGVXaXRoQXJpdHlDaGVjaygp
IHsgcmV0dXJuIG1faml0Q29kZVdpdGhBcml0eUNoZWNrOyB9CiAgICAgSklUQ29kZTo6SklUVHlw
ZSBqaXRUeXBlKCkgY29uc3QKICAgICB7CiAgICAgICAgIEpJVENvZGUqIGppdENvZGUgPSBtX2pp
dENvZGUuZ2V0KCk7CkBAIC00ODksOCArNDg4LDggQEAgcHVibGljOgogICAgIFJhcmVDYXNlUHJv
ZmlsZSogc3BlY2lhbEZhc3RDYXNlUHJvZmlsZUZvckJ5dGVjb2RlT2Zmc2V0KGludCBieXRlY29k
ZU9mZnNldCkKICAgICB7CiAgICAgICAgIHJldHVybiB0cnlCaW5hcnlTZWFyY2g8UmFyZUNhc2VQ
cm9maWxlLCBpbnQ+KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBtX3NwZWNpYWxGYXN0Q2FzZVByb2ZpbGVzLCBtX3NwZWNpYWxGYXN0Q2FzZVBy
b2ZpbGVzLnNpemUoKSwgYnl0ZWNvZGVPZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldFJhcmVDYXNlUHJvZmlsZUJ5dGVjb2RlT2Zm
c2V0KTsKKyAgICAgICAgICAgIG1fc3BlY2lhbEZhc3RDYXNlUHJvZmlsZXMsIG1fc3BlY2lhbEZh
c3RDYXNlUHJvZmlsZXMuc2l6ZSgpLCBieXRlY29kZU9mZnNldCwKKyAgICAgICAgICAgIGdldFJh
cmVDYXNlUHJvZmlsZUJ5dGVjb2RlT2Zmc2V0KTsKICAgICB9CiAKICAgICBib29sIGxpa2VseVRv
VGFrZVNwZWNpYWxGYXN0Q2FzZShpbnQgYnl0ZWNvZGVPZmZzZXQpCkBAIC01NzYsMTEgKzU3NSwx
NSBAQCBwdWJsaWM6CiAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKG1fbG9jayk7
CiAgICAgICAgIHJldHVybiBtX2V4aXRQcm9maWxlLmFkZChsb2NrZXIsIHNpdGUpOwogICAgIH0K
LSAgICAgICAgCisgICAgIAorICAgIGJvb2wgaGFzRXhpdFNpdGUoY29uc3QgQ29uY3VycmVudEpJ
VExvY2tlciYgbG9ja2VyLCBjb25zdCBERkc6OkZyZXF1ZW50RXhpdFNpdGUmIHNpdGUpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gbV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShsb2NrZXIs
IHNpdGUpOworICAgIH0KICAgICBib29sIGhhc0V4aXRTaXRlKGNvbnN0IERGRzo6RnJlcXVlbnRF
eGl0U2l0ZSYgc2l0ZSkgY29uc3QKICAgICB7CiAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIg
bG9ja2VyKG1fbG9jayk7Ci0gICAgICAgIHJldHVybiBtX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRl
KGxvY2tlciwgc2l0ZSk7CisgICAgICAgIHJldHVybiBoYXNFeGl0U2l0ZShsb2NrZXIsIHNpdGUp
OwogICAgIH0KIAogICAgIERGRzo6RXhpdFByb2ZpbGUmIGV4aXRQcm9maWxlKCkgeyByZXR1cm4g
bV9leGl0UHJvZmlsZTsgfQpAQCAtNjc5LDkgKzY4MiwxOSBAQCBwdWJsaWM6CiAKICAgICBCeXRl
Y29kZUxpdmVuZXNzQW5hbHlzaXMmIGxpdmVuZXNzQW5hbHlzaXMoKQogICAgIHsKLSAgICAgICAg
aWYgKCFtX2xpdmVuZXNzQW5hbHlzaXMpCi0gICAgICAgICAgICBtX2xpdmVuZXNzQW5hbHlzaXMg
PSBzdGQ6Om1ha2VfdW5pcXVlPEJ5dGVjb2RlTGl2ZW5lc3NBbmFseXNpcz4odGhpcyk7Ci0gICAg
ICAgIHJldHVybiAqbV9saXZlbmVzc0FuYWx5c2lzOworICAgICAgICB7CisgICAgICAgICAgICBD
b25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xvY2spOworICAgICAgICAgICAgaWYgKCEhbV9s
aXZlbmVzc0FuYWx5c2lzKQorICAgICAgICAgICAgICAgIHJldHVybiAqbV9saXZlbmVzc0FuYWx5
c2lzOworICAgICAgICB9CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxCeXRlY29kZUxpdmVuZXNz
QW5hbHlzaXM+IGFuYWx5c2lzID0KKyAgICAgICAgICAgIHN0ZDo6bWFrZV91bmlxdWU8Qnl0ZWNv
ZGVMaXZlbmVzc0FuYWx5c2lzPih0aGlzKTsKKyAgICAgICAgeworICAgICAgICAgICAgQ29uY3Vy
cmVudEpJVExvY2tlciBsb2NrZXIobV9sb2NrKTsKKyAgICAgICAgICAgIGlmICghbV9saXZlbmVz
c0FuYWx5c2lzKQorICAgICAgICAgICAgICAgIG1fbGl2ZW5lc3NBbmFseXNpcyA9IHN0ZDo6bW92
ZShhbmFseXNpcyk7CisgICAgICAgICAgICByZXR1cm4gKm1fbGl2ZW5lc3NBbmFseXNpczsKKyAg
ICAgICAgfQogICAgIH0KICAgICAKICAgICB2b2lkIHZhbGlkYXRlKCk7CkBAIC04NjYsNiArODc5
LDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlQWxsUHJlZGljdGlvbnMoKTsKIAogICAgIHVu
c2lnbmVkIGZyYW1lUmVnaXN0ZXJDb3VudCgpOworICAgIGludCBzdGFja1BvaW50ZXJPZmZzZXQo
KTsKIAogICAgIGJvb2wgaGFzT3BEZWJ1Z0ZvckxpbmVBbmRDb2x1bW4odW5zaWduZWQgbGluZSwg
dW5zaWduZWQgY29sdW1uKTsKIApAQCAtODkxLDcgKzkwNSw3IEBAIHB1YmxpYzoKIAogICAgIGlu
dCBtX251bUNhbGxlZVJlZ2lzdGVyczsKICAgICBpbnQgbV9udW1WYXJzOwotICAgIGJvb2wgbV9p
c0NvbnN0cnVjdG9yOworICAgIGJvb2wgbV9pc0NvbnN0cnVjdG9yIDogMTsKICAgICAKICAgICAv
LyBUaGlzIGlzIGludGVudGlvbmFsbHkgcHVibGljOyBpdCdzIHRoZSByZXNwb25zaWJpbGl0eSBv
ZiBhbnlvbmUgZG9pbmcgYW55CiAgICAgLy8gb2YgdGhlIGZvbGxvd2luZyB0byBob2xkIHRoZSBs
b2NrOgpAQCAtOTExLDEwICs5MjUsMTEgQEAgcHVibGljOgogICAgIC8vIGNvbmN1cnJlbnQgY29t
cGlsYXRpb24gdGhyZWFkcyBmaW5pc2ggd2hhdCB0aGV5J3JlIGRvaW5nLgogICAgIG11dGFibGUg
Q29uY3VycmVudEpJVExvY2sgbV9sb2NrOwogICAgIAotICAgIGJvb2wgbV9zaG91bGRBbHdheXNC
ZUlubGluZWQ7Ci0gICAgYm9vbCBtX2FsbFRyYW5zaXRpb25zSGF2ZUJlZW5NYXJrZWQ7IC8vIElu
aXRpYWxpemVkIGFuZCB1c2VkIG9uIGV2ZXJ5IEdDLgorICAgIGJvb2wgbV9zaG91bGRBbHdheXNC
ZUlubGluZWQ7IC8vIE5vdCBhIGJpdGZpZWxkIGJlY2F1c2UgdGhlIEpJVCB3YW50cyB0byBzdG9y
ZSB0byBpdC4KKyAgICBib29sIG1fYWxsVHJhbnNpdGlvbnNIYXZlQmVlbk1hcmtlZCA6IDE7IC8v
IEluaXRpYWxpemVkIGFuZCB1c2VkIG9uIGV2ZXJ5IEdDLgogICAgIAotICAgIGJvb2wgbV9kaWRG
YWlsRlRMQ29tcGlsYXRpb247CisgICAgYm9vbCBtX2RpZEZhaWxGVExDb21waWxhdGlvbiA6IDE7
CisgICAgYm9vbCBtX2hhc0JlZW5Db21waWxlZFdpdGhGVEwgOiAxOwogCiAgICAgLy8gSW50ZXJu
YWwgbWV0aG9kcyBmb3IgdXNlIGJ5IHZhbGlkYXRpb24gY29kZS4gSXQgd291bGQgYmUgcHJpdmF0
ZSBpZiBpdCB3YXNuJ3QKICAgICAvLyBmb3IgdGhlIGZhY3QgdGhhdCB3ZSB1c2UgaXQgZnJvbSBh
bm9ueW1vdXMgbmFtZXNwYWNlcy4KQEAgLTEwNTQsNyArMTA2OSw2IEBAIHByaXZhdGU6CiAgICAg
U2VudGluZWxMaW5rZWRMaXN0PExMSW50Q2FsbExpbmtJbmZvLCBCYXNpY1Jhd1NlbnRpbmVsTm9k
ZTxMTEludENhbGxMaW5rSW5mbz4+IG1faW5jb21pbmdMTEludENhbGxzOwogI2VuZGlmCiAgICAg
UmVmUHRyPEpJVENvZGU+IG1faml0Q29kZTsKLSAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgbV9q
aXRDb2RlV2l0aEFyaXR5Q2hlY2s7CiAjaWYgRU5BQkxFKEpJVCkKICAgICBCYWc8U3RydWN0dXJl
U3R1YkluZm8+IG1fc3R1YkluZm9zOwogICAgIFZlY3RvcjxCeVZhbEluZm8+IG1fYnlWYWxJbmZv
czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlT3JpZ2lu
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlT3JpZ2luLmNwcAppbmRl
eCAzOWI4M2ZlYWRjNTI1ZGM2MWM4ZWZhYmY0MDE2ZjFkYzNiODJlZDczLi42OGRjNmIwNTMzNTU5
MGVjNGM4MWM0MjM0NmJiNzRkYmJkOGZhYzU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZU9yaWdpbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVPcmlnaW4uY3BwCkBAIC00NSw3ICs0NSw2NCBAQCB1bnNpZ25lZCBDb2Rl
T3JpZ2luOjppbmxpbmVEZXB0aCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlubGluZURlcHRoRm9y
Q2FsbEZyYW1lKGlubGluZUNhbGxGcmFtZSk7CiB9CisKK2Jvb2wgQ29kZU9yaWdpbjo6aXNBcHBy
b3hpbWF0ZWx5RXF1YWxUbyhjb25zdCBDb2RlT3JpZ2luJiBvdGhlcikgY29uc3QKK3sKKyAgICBD
b2RlT3JpZ2luIGEgPSAqdGhpczsKKyAgICBDb2RlT3JpZ2luIGIgPSBvdGhlcjsKKworICAgIGlm
ICghYS5pc1NldCgpKQorICAgICAgICByZXR1cm4gIWIuaXNTZXQoKTsKKyAgICBpZiAoIWIuaXNT
ZXQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAorICAgIGlmIChhLmlzSGFzaFRhYmxl
RGVsZXRlZFZhbHVlKCkpCisgICAgICAgIHJldHVybiBiLmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVl
KCk7CisgICAgaWYgKGIuaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIAorICAgIGZvciAoOzspIHsKKyAgICAgICAgQVNTRVJUKGEuaXNTZXQoKSk7
CisgICAgICAgIEFTU0VSVChiLmlzU2V0KCkpOworICAgICAgICAKKyAgICAgICAgaWYgKGEuYnl0
ZWNvZGVJbmRleCAhPSBiLmJ5dGVjb2RlSW5kZXgpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIAorICAgICAgICBpZiAoKCEhYS5pbmxpbmVDYWxsRnJhbWUpICE9ICghIWIuaW5s
aW5lQ2FsbEZyYW1lKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAg
ICAgIGlmICghYS5pbmxpbmVDYWxsRnJhbWUpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgCisgICAgICAgIGlmIChhLmlubGluZUNhbGxGcmFtZS0+ZXhlY3V0YWJsZSAhPSBiLmlu
bGluZUNhbGxGcmFtZS0+ZXhlY3V0YWJsZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgCisgICAgICAgIGEgPSBhLmlubGluZUNhbGxGcmFtZS0+Y2FsbGVyOworICAgICAgICBi
ID0gYi5pbmxpbmVDYWxsRnJhbWUtPmNhbGxlcjsKKyAgICB9Cit9CisKK3Vuc2lnbmVkIENvZGVP
cmlnaW46OmFwcHJveGltYXRlSGFzaCgpIGNvbnN0Cit7CisgICAgaWYgKCFpc1NldCgpKQorICAg
ICAgICByZXR1cm4gMDsKKyAgICBpZiAoaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSkKKyAgICAg
ICAgcmV0dXJuIDE7CiAgICAgCisgICAgdW5zaWduZWQgcmVzdWx0ID0gMjsKKyAgICBDb2RlT3Jp
Z2luIGNvZGVPcmlnaW4gPSAqdGhpczsKKyAgICBmb3IgKDs7KSB7CisgICAgICAgIHJlc3VsdCAr
PSBjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXg7CisgICAgICAgIAorICAgICAgICBpZiAoIWNvZGVP
cmlnaW4uaW5saW5lQ2FsbEZyYW1lKQorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAg
ICAgCisgICAgICAgIHJlc3VsdCArPSBXVEY6OlB0ckhhc2g8SlNDZWxsKj46Omhhc2goY29kZU9y
aWdpbi5pbmxpbmVDYWxsRnJhbWUtPmV4ZWN1dGFibGUuZ2V0KCkpOworICAgICAgICAKKyAgICAg
ICAgY29kZU9yaWdpbiA9IGNvZGVPcmlnaW4uaW5saW5lQ2FsbEZyYW1lLT5jYWxsZXI7CisgICAg
fQorfQorCiBWZWN0b3I8Q29kZU9yaWdpbj4gQ29kZU9yaWdpbjo6aW5saW5lU3RhY2soKSBjb25z
dAogewogICAgIFZlY3RvcjxDb2RlT3JpZ2luPiByZXN1bHQoaW5saW5lRGVwdGgoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZU9yaWdpbi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4uaAppbmRleCBlZDY2MGMyNDc5
NWRlNjE4MjcxYmU5OTgwNzllYWZiMmQwNGE5YmMxLi5jNTI1MTc5YjY3YWNiMzc0MjAyNzkzZDVi
ZWEyYzBiODkwMTM1MzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZU9yaWdpbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
T3JpZ2luLmgKQEAgLTYzLDcgKzYzLDcgQEAgc3RydWN0IENvZGVPcmlnaW4gewogICAgIAogICAg
IENvZGVPcmlnaW4oV1RGOjpIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKQogICAgICAgICA6IGJ5
dGVjb2RlSW5kZXgoaW52YWxpZEJ5dGVjb2RlSW5kZXgpCi0gICAgICAgICwgaW5saW5lQ2FsbEZy
YW1lKGJpdHdpc2VfY2FzdDxJbmxpbmVDYWxsRnJhbWUqPihzdGF0aWNfY2FzdDx1aW50cHRyX3Q+
KDEpKSkKKyAgICAgICAgLCBpbmxpbmVDYWxsRnJhbWUoZGVsZXRlZE1hcmtlcigpKQogICAgIHsK
ICAgICB9CiAgICAgCkBAIC05NywxNSArOTcsMjcgQEAgc3RydWN0IENvZGVPcmlnaW4gewogICAg
IGJvb2wgb3BlcmF0b3I9PShjb25zdCBDb2RlT3JpZ2luJiBvdGhlcikgY29uc3Q7CiAgICAgYm9v
bCBvcGVyYXRvciE9KGNvbnN0IENvZGVPcmlnaW4mIG90aGVyKSBjb25zdCB7IHJldHVybiAhKCp0
aGlzID09IG90aGVyKTsgfQogICAgIAorICAgIC8vIFRoaXMgY2hlY2tzIGlmIHRoZSB0d28gY29k
ZSBvcmlnaW5zIGNvcnJlc3BvbmQgdG8gdGhlIHNhbWUgc3RhY2sgdHJhY2Ugc25pcHBldHMsCisg
ICAgLy8gYnV0IGlnbm9yZSB3aGV0aGVyIHRoZSBJbmxpbmVDYWxsRnJhbWUncyBhcmUgaWRlbnRp
Y2FsLgorICAgIGJvb2wgaXNBcHByb3hpbWF0ZWx5RXF1YWxUbyhjb25zdCBDb2RlT3JpZ2luJiBv
dGhlcikgY29uc3Q7CisgICAgCisgICAgdW5zaWduZWQgYXBwcm94aW1hdGVIYXNoKCkgY29uc3Q7
CisgICAgCiAgICAgLy8gR2V0IHRoZSBpbmxpbmUgc3RhY2suIFRoaXMgaXMgc2xvdywgYW5kIGlz
IGludGVuZGVkIGZvciBkZWJ1Z2dpbmcgb25seS4KICAgICBWZWN0b3I8Q29kZU9yaWdpbj4gaW5s
aW5lU3RhY2soKSBjb25zdDsKICAgICAKICAgICB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mKSBjb25z
dDsKICAgICB2b2lkIGR1bXBJbkNvbnRleHQoUHJpbnRTdHJlYW0mLCBEdW1wQ29udGV4dCopIGNv
bnN0OworCitwcml2YXRlOgorICAgIHN0YXRpYyBJbmxpbmVDYWxsRnJhbWUqIGRlbGV0ZWRNYXJr
ZXIoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGJpdHdpc2VfY2FzdDxJbmxpbmVDYWxsRnJhbWUq
PihzdGF0aWNfY2FzdDx1aW50cHRyX3Q+KDEpKTsKKyAgICB9CiB9OwogCiBzdHJ1Y3QgSW5saW5l
Q2FsbEZyYW1lIHsKLSAgICBWZWN0b3I8VmFsdWVSZWNvdmVyeT4gYXJndW1lbnRzOworICAgIFZl
Y3RvcjxWYWx1ZVJlY292ZXJ5PiBhcmd1bWVudHM7IC8vIEluY2x1ZGVzICd0aGlzJy4KICAgICBX
cml0ZUJhcnJpZXI8U2NyaXB0RXhlY3V0YWJsZT4gZXhlY3V0YWJsZTsKICAgICBWYWx1ZVJlY292
ZXJ5IGNhbGxlZVJlY292ZXJ5OwogICAgIENvZGVPcmlnaW4gY2FsbGVyOwpAQCAtMTg1LDYgKzE5
NywxMiBAQCBzdHJ1Y3QgQ29kZU9yaWdpbkhhc2ggewogICAgIHN0YXRpYyBjb25zdCBib29sIHNh
ZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKIH07CiAKK3N0cnVjdCBDb2RlT3Jp
Z2luQXBwcm94aW1hdGVIYXNoIHsKKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBDb2Rl
T3JpZ2luJiBrZXkpIHsgcmV0dXJuIGtleS5hcHByb3hpbWF0ZUhhc2goKTsgfQorICAgIHN0YXRp
YyBib29sIGVxdWFsKGNvbnN0IENvZGVPcmlnaW4mIGEsIGNvbnN0IENvZGVPcmlnaW4mIGIpIHsg
cmV0dXJuIGEuaXNBcHByb3hpbWF0ZWx5RXF1YWxUbyhiKTsgfQorICAgIHN0YXRpYyBjb25zdCBi
b29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gdHJ1ZTsKK307CisKIH0gLy8gbmFt
ZXNwYWNlIEpTQwogCiBuYW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0UHJvZmlsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvREZHRXhpdFByb2ZpbGUuY3BwCmluZGV4IDVkMDViYmIyZjA3OTgxNjczYzc3
NGUzNWRmMGYzZDRmMGUxNzU1MDcuLjczYmE4OGNkMDM0MmEzZmJhMzAyYzMwZDM3NjAyM2I3Y2Jl
NDk3MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0
UHJvZmlsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RGR0V4aXRQ
cm9maWxlLmNwcApAQCAtMzcsNiArMzcsOCBAQCBFeGl0UHJvZmlsZTo6fkV4aXRQcm9maWxlKCkg
eyB9CiAKIGJvb2wgRXhpdFByb2ZpbGU6OmFkZChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwg
Y29uc3QgRnJlcXVlbnRFeGl0U2l0ZSYgc2l0ZSkKIHsKKyAgICBBU1NFUlQoc2l0ZS5qaXRUeXBl
KCkgIT0gRXhpdEZyb21Bbnl0aGluZyk7CisgICAgCiAgICAgLy8gSWYgd2UndmUgbmV2ZXIgc2Vl
biBhbnkgZnJlcXVlbnQgZXhpdHMgdGhlbiBjcmVhdGUgdGhlIGxpc3QgYW5kIHB1dCB0aGlzIHNp
dGUKICAgICAvLyBpbnRvIGl0LgogICAgIGlmICghbV9mcmVxdWVudEV4aXRTaXRlcykgewpAQCAt
NzgsNyArODAsNyBAQCBib29sIEV4aXRQcm9maWxlOjpoYXNFeGl0U2l0ZShjb25zdCBDb25jdXJy
ZW50SklUTG9ja2VyJiwgY29uc3QgRnJlcXVlbnRFeGl0U2l0ZQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbV9mcmVxdWVudEV4aXRTaXRlcy0+c2l6
ZSgpOyBpLS07KSB7Ci0gICAgICAgIGlmIChtX2ZyZXF1ZW50RXhpdFNpdGVzLT5hdChpKSA9PSBz
aXRlKQorICAgICAgICBpZiAoc2l0ZS5zdWJzdW1lcyhtX2ZyZXF1ZW50RXhpdFNpdGVzLT5hdChp
KSkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RGR0V4aXRQcm9maWxl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvREZHRXhpdFByb2ZpbGUuaAppbmRl
eCBhYjFhNjBkNThkMWViNmM2YTY1ZjI0ZTA4NTgzZTU5NWI2NWM0OTlmLi4zNGI4YTliODhmNjFm
MDU5YmVkYmRiMzAyZmQ1NWM2Yjc4ZDAyMzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvREZHRXhpdFByb2ZpbGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvREZHRXhpdFByb2ZpbGUuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTEsIDIwMTIsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyLCAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgs
NiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ29uY3VycmVudEpJVExvY2suaCIKICNpbmNsdWRlICJF
eGl0S2luZC5oIgorI2luY2x1ZGUgIkV4aXRpbmdKSVRUeXBlLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgpAQCAtMzksMTggKzQwLDIyIEBAIHB1YmxpYzoKICAgICBGcmVxdWVudEV4aXRTaXRlKCkKICAg
ICAgICAgOiBtX2J5dGVjb2RlT2Zmc2V0KDApIC8vIDAgPSBlbXB0eSB2YWx1ZQogICAgICAgICAs
IG1fa2luZChFeGl0S2luZFVuc2V0KQorICAgICAgICAsIG1faml0VHlwZShFeGl0RnJvbUFueXRo
aW5nKQogICAgIHsKICAgICB9CiAgICAgCiAgICAgRnJlcXVlbnRFeGl0U2l0ZShXVEY6Okhhc2hU
YWJsZURlbGV0ZWRWYWx1ZVR5cGUpCiAgICAgICAgIDogbV9ieXRlY29kZU9mZnNldCgxKSAvLyAx
ID0gZGVsZXRlZCB2YWx1ZQogICAgICAgICAsIG1fa2luZChFeGl0S2luZFVuc2V0KQorICAgICAg
ICAsIG1faml0VHlwZShFeGl0RnJvbUFueXRoaW5nKQogICAgIHsKICAgICB9CiAgICAgCi0gICAg
ZXhwbGljaXQgRnJlcXVlbnRFeGl0U2l0ZSh1bnNpZ25lZCBieXRlY29kZU9mZnNldCwgRXhpdEtp
bmQga2luZCkKKyAgICBleHBsaWNpdCBGcmVxdWVudEV4aXRTaXRlKAorICAgICAgICB1bnNpZ25l
ZCBieXRlY29kZU9mZnNldCwgRXhpdEtpbmQga2luZCwgRXhpdGluZ0pJVFR5cGUgaml0VHlwZSA9
IEV4aXRGcm9tQW55dGhpbmcpCiAgICAgICAgIDogbV9ieXRlY29kZU9mZnNldChieXRlY29kZU9m
ZnNldCkKICAgICAgICAgLCBtX2tpbmQoa2luZCkKKyAgICAgICAgLCBtX2ppdFR5cGUoaml0VHlw
ZSkKICAgICB7CiAgICAgICAgIGlmIChtX2tpbmQgPT0gQXJndW1lbnRzRXNjYXBlZCkgewogICAg
ICAgICAgICAgLy8gQ291bnQgdGhpcyBvbmUgZ2xvYmFsbHkuIEl0IGRvZXNuJ3QgbWF0dGVyIHdo
ZXJlIGluIHRoZSBjb2RlIGJsb2NrIHRoZSBhcmd1bWVudHMgZXhjYXBlZDsKQEAgLTYxLDkgKzY2
LDEwIEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBVc2UgdGhpcyBjb25zdHJ1Y3RvciBpZiB5b3Ug
d2lzaCBmb3IgdGhlIGV4aXQgc2l0ZSB0byBiZSBjb3VudGVkIGdsb2JhbGx5IHdpdGhpbiBpdHMK
ICAgICAvLyBjb2RlIGJsb2NrLgotICAgIGV4cGxpY2l0IEZyZXF1ZW50RXhpdFNpdGUoRXhpdEtp
bmQga2luZCkKKyAgICBleHBsaWNpdCBGcmVxdWVudEV4aXRTaXRlKEV4aXRLaW5kIGtpbmQsIEV4
aXRpbmdKSVRUeXBlIGppdFR5cGUgPSBFeGl0RnJvbUFueXRoaW5nKQogICAgICAgICA6IG1fYnl0
ZWNvZGVPZmZzZXQoMCkKICAgICAgICAgLCBtX2tpbmQoa2luZCkKKyAgICAgICAgLCBtX2ppdFR5
cGUoaml0VHlwZSkKICAgICB7CiAgICAgfQogICAgIApAQCAtNzUsMTYgKzgxLDM2IEBAIHB1Ymxp
YzoKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgRnJlcXVlbnRFeGl0U2l0ZSYgb3RoZXIpIGNv
bnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV9ieXRlY29kZU9mZnNldCA9PSBvdGhlci5tX2J5
dGVjb2RlT2Zmc2V0Ci0gICAgICAgICAgICAmJiBtX2tpbmQgPT0gb3RoZXIubV9raW5kOworICAg
ICAgICAgICAgJiYgbV9raW5kID09IG90aGVyLm1fa2luZAorICAgICAgICAgICAgJiYgbV9qaXRU
eXBlID09IG90aGVyLm1faml0VHlwZTsKKyAgICB9CisgICAgCisgICAgYm9vbCBzdWJzdW1lcyhj
b25zdCBGcmVxdWVudEV4aXRTaXRlJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIGlmICht
X2J5dGVjb2RlT2Zmc2V0ICE9IG90aGVyLm1fYnl0ZWNvZGVPZmZzZXQpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIGlmIChtX2tpbmQgIT0gb3RoZXIubV9raW5kKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAobV9qaXRUeXBlID09IEV4aXRGcm9tQW55
dGhpbmcpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIG1faml0VHlw
ZSA9PSBvdGhlci5tX2ppdFR5cGU7CiAgICAgfQogICAgIAogICAgIHVuc2lnbmVkIGhhc2goKSBj
b25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIFdURjo6aW50SGFzaChtX2J5dGVjb2RlT2Zmc2V0
KSArIG1fa2luZDsKKyAgICAgICAgcmV0dXJuIFdURjo6aW50SGFzaChtX2J5dGVjb2RlT2Zmc2V0
KSArIG1fa2luZCArIG1faml0VHlwZSAqIDc7CiAgICAgfQogICAgIAogICAgIHVuc2lnbmVkIGJ5
dGVjb2RlT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9ieXRlY29kZU9mZnNldDsgfQogICAgIEV4
aXRLaW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQ7IH0KKyAgICBFeGl0aW5nSklUVHlw
ZSBqaXRUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9qaXRUeXBlOyB9CisgICAgCisgICAgRnJlcXVl
bnRFeGl0U2l0ZSB3aXRoSklUVHlwZShFeGl0aW5nSklUVHlwZSBqaXRUeXBlKSBjb25zdAorICAg
IHsKKyAgICAgICAgRnJlcXVlbnRFeGl0U2l0ZSByZXN1bHQgPSAqdGhpczsKKyAgICAgICAgcmVz
dWx0Lm1faml0VHlwZSA9IGppdFR5cGU7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQog
CiAgICAgYm9vbCBpc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIGNvbnN0CiAgICAgewpAQCAtOTQs
NiArMTIwLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2J5dGVjb2RlT2Zm
c2V0OwogICAgIEV4aXRLaW5kIG1fa2luZDsKKyAgICBFeGl0aW5nSklUVHlwZSBtX2ppdFR5cGU7
CiB9OwogCiBzdHJ1Y3QgRnJlcXVlbnRFeGl0U2l0ZUhhc2ggewpAQCAtMTY2LDYgKzE5MywxMCBA
QCBwdWJsaWM6CiAKICAgICBib29sIGhhc0V4aXRTaXRlKGNvbnN0IEZyZXF1ZW50RXhpdFNpdGUm
IHNpdGUpIGNvbnN0CiAgICAgeworICAgICAgICBpZiAoc2l0ZS5qaXRUeXBlKCkgPT0gRXhpdEZy
b21Bbnl0aGluZykgeworICAgICAgICAgICAgcmV0dXJuIGhhc0V4aXRTaXRlKHNpdGUud2l0aEpJ
VFR5cGUoRXhpdEZyb21ERkcpKQorICAgICAgICAgICAgICAgIHx8IGhhc0V4aXRTaXRlKHNpdGUu
d2l0aEpJVFR5cGUoRXhpdEZyb21GVEwpKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gbV9m
cmVxdWVudEV4aXRTaXRlcy5maW5kKHNpdGUpICE9IG1fZnJlcXVlbnRFeGl0U2l0ZXMuZW5kKCk7
CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0V4aXRLaW5kLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhpdEtpbmQuaApp
bmRleCBhOWY2ZGY2ZDRjMzExMjE3ZDQyNGQ2YjA1ZTRmMDdhNGYzODc1ZGVlLi42YWM3OGEyNTQz
N2IwNGE3ZDY0ZTUwMWMyMGM4NWU1NTM3NDI2Yjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvRXhpdEtpbmQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvRXhpdEtpbmQuaApAQCAtMjgsNyArMjgsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsK
IAotZW51bSBFeGl0S2luZCB7CitlbnVtIEV4aXRLaW5kIDogdWludDhfdCB7CiAgICAgRXhpdEtp
bmRVbnNldCwKICAgICBCYWRUeXBlLCAvLyBXZSBleGl0ZWQgYmVjYXVzZSBhIHR5cGUgcHJlZGlj
dGlvbiB3YXMgd3JvbmcuCiAgICAgQmFkRnVuY3Rpb24sIC8vIFdlIGV4aXRlZCBiZWNhdXNlIHdl
IG1hZGUgYW4gaW5jb3JyZWN0IGFzc3VtcHRpb24gYWJvdXQgd2hhdCBmdW5jdGlvbiB3ZSB3b3Vs
ZCBzZWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhpdGlu
Z0pJVFR5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FeGl0aW5nSklUVHlw
ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmZiZGMyOGU0NWQxNzY5NjE4MmY5NDQwMzgwNDg1YmU0ZTk2NzU3YzYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhpdGlu
Z0pJVFR5cGUuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgRXhpdGluZ0pJVFR5cGVfaAorI2RlZmluZSBFeGl0
aW5nSklUVHlwZV9oCisKKyNpbmNsdWRlICJKSVRDb2RlLmgiCisKK25hbWVzcGFjZSBKU0Mgewor
CitlbnVtIEV4aXRpbmdKSVRUeXBlIDogdWludDhfdCB7CisgICAgRXhpdEZyb21Bbnl0aGluZywK
KyAgICBFeGl0RnJvbURGRywKKyAgICBFeGl0RnJvbUZUTAorfTsKKworaW5saW5lIEV4aXRpbmdK
SVRUeXBlIGV4aXRpbmdKSVRUeXBlRm9yKEpJVENvZGU6OkpJVFR5cGUgdHlwZSkKK3sKKyAgICBz
d2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIEpJVENvZGU6OkRGR0pJVDoKKyAgICAgICAgcmV0dXJu
IEV4aXRGcm9tREZHOworICAgIGNhc2UgSklUQ29kZTo6RlRMSklUOgorICAgICAgICByZXR1cm4g
RXhpdEZyb21GVEw7CisgICAgZGVmYXVsdDoKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIEV4aXRGcm9tQW55dGhpbmc7CisgICAgfQorfQorCit9
IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEV4aXRpbmdKSVRUeXBlX2gKKwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5SWRTdGF0dXMuY3BwCmluZGV4IGZi
YjNkYTFhNTE3MWRiMmFhMmZjOThiMTYzNzc5NjI2NjNhZmUxNDAuLmVkODVkNjJkNGYyZmM1NjAw
YTNkNmVjNjcwNmE1ZDExYjExMjlhODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM0LDYgKzM0LDE0IEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCitib29sIEdldEJ5SWRTdGF0dXM6Omhhc0V4aXRTaXRlKGNvbnN0
IENvbmN1cnJlbnRKSVRMb2NrZXImIGxvY2tlciwgQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCB1
bnNpZ25lZCBieXRlY29kZUluZGV4LCBFeGl0aW5nSklUVHlwZSBqaXRUeXBlKQoreworICAgIHJl
dHVybiBwcm9maWxlZEJsb2NrLT5oYXNFeGl0U2l0ZShsb2NrZXIsIERGRzo6RnJlcXVlbnRFeGl0
U2l0ZShieXRlY29kZUluZGV4LCBCYWRDYWNoZSwgaml0VHlwZSkpCisgICAgICAgIHx8IHByb2Zp
bGVkQmxvY2stPmhhc0V4aXRTaXRlKGxvY2tlciwgREZHOjpGcmVxdWVudEV4aXRTaXRlKGJ5dGVj
b2RlSW5kZXgsIEJhZENhY2hlV2F0Y2hwb2ludCwgaml0VHlwZSkpCisgICAgICAgIHx8IHByb2Zp
bGVkQmxvY2stPmhhc0V4aXRTaXRlKGxvY2tlciwgREZHOjpGcmVxdWVudEV4aXRTaXRlKGJ5dGVj
b2RlSW5kZXgsIEJhZFdlYWtDb25zdGFudENhY2hlLCBqaXRUeXBlKSkKKyAgICAgICAgfHwgcHJv
ZmlsZWRCbG9jay0+aGFzRXhpdFNpdGUobG9ja2VyLCBERkc6OkZyZXF1ZW50RXhpdFNpdGUoYnl0
ZWNvZGVJbmRleCwgQmFkV2Vha0NvbnN0YW50Q2FjaGVXYXRjaHBvaW50LCBqaXRUeXBlKSk7Cit9
CisKIEdldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZyb21MTEludChDb2RlQmxv
Y2sqIHByb2ZpbGVkQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFN0cmluZ0ltcGwqIHVp
ZCkKIHsKICAgICBVTlVTRURfUEFSQU0ocHJvZmlsZWRCbG9jayk7CkBAIC0xMjAsMTMgKzEyOCwy
NyBAQCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoQ29kZUJsb2NrKiBw
cm9maWxlZEJsb2NrLCBTdHViSW5mb01hcCYgbQogewogICAgIENvbmN1cnJlbnRKSVRMb2NrZXIg
bG9ja2VyKHByb2ZpbGVkQmxvY2stPm1fbG9jayk7CiAgICAgCi0gICAgVU5VU0VEX1BBUkFNKHBy
b2ZpbGVkQmxvY2spOwotICAgIFVOVVNFRF9QQVJBTShieXRlY29kZUluZGV4KTsKLSAgICBVTlVT
RURfUEFSQU0odWlkKTsKKyAgICBHZXRCeUlkU3RhdHVzIHJlc3VsdCA9IGNvbXB1dGVGb3JTdHVi
SW5mbygKKyAgICAgICAgbG9ja2VyLCBwcm9maWxlZEJsb2NrLCBtYXAuZ2V0KENvZGVPcmlnaW4o
Ynl0ZWNvZGVJbmRleCkpLCB1aWQpOworICAgIAorICAgIGlmICghcmVzdWx0LnRha2VzU2xvd1Bh
dGgoKQorICAgICAgICAmJiAoaGFzRXhpdFNpdGUobG9ja2VyLCBwcm9maWxlZEJsb2NrLCBieXRl
Y29kZUluZGV4KQorICAgICAgICAgICAgfHwgcHJvZmlsZWRCbG9jay0+bGlrZWx5VG9UYWtlU2xv
d0Nhc2UoYnl0ZWNvZGVJbmRleCkpKQorICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhUYWtl
c1Nsb3dQYXRoLCB0cnVlKTsKKworICAgIGlmICghcmVzdWx0KQorICAgICAgICByZXR1cm4gY29t
cHV0ZUZyb21MTEludChwcm9maWxlZEJsb2NrLCBieXRlY29kZUluZGV4LCB1aWQpOworICAgIAor
ICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0dldEJ5SWRTdGF0dXMgR2V0QnlJZFN0YXR1czo6Y29t
cHV0ZUZvclN0dWJJbmZvKAorICAgIGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBDb2RlQmxv
Y2sqIHByb2ZpbGVkQmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywKKyAgICBTdHJp
bmdJbXBsKiB1aWQpCit7CiAjaWYgRU5BQkxFKEpJVCkKLSAgICBTdHJ1Y3R1cmVTdHViSW5mbyog
c3R1YkluZm8gPSBtYXAuZ2V0KENvZGVPcmlnaW4oYnl0ZWNvZGVJbmRleCkpOwogICAgIGlmICgh
c3R1YkluZm8gfHwgIXN0dWJJbmZvLT5zZWVuKQotICAgICAgICByZXR1cm4gY29tcHV0ZUZyb21M
TEludChwcm9maWxlZEJsb2NrLCBieXRlY29kZUluZGV4LCB1aWQpOworICAgICAgICByZXR1cm4g
R2V0QnlJZFN0YXR1cyhOb0luZm9ybWF0aW9uKTsKICAgICAKICAgICBpZiAoc3R1YkluZm8tPnJl
c2V0QnlHQykKICAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoVGFrZXNTbG93UGF0aCwgdHJ1
ZSk7CkBAIC0xNTIsMTYgKzE3NCwxMiBAQCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNv
bXB1dGVGb3IoQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHViSW5mb01hcCYgbQogICAgICAg
ICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoTWFrZXNDYWxscywgdHJ1ZSk7CiAgICAgfQogICAg
IAotICAgIC8vIE5leHQgY2hlY2sgaWYgaXQgdGFrZXMgc2xvdyBjYXNlLCBpbiB3aGljaCBjYXNl
IHdlIHdhbnQgdG8gYmUga2luZCBvZiBjYXJlZnVsLgotICAgIGlmIChwcm9maWxlZEJsb2NrLT5s
aWtlbHlUb1Rha2VTbG93Q2FzZShieXRlY29kZUluZGV4KSkKLSAgICAgICAgcmV0dXJuIEdldEJ5
SWRTdGF0dXMoVGFrZXNTbG93UGF0aCwgdHJ1ZSk7Ci0gICAgCiAgICAgLy8gRmluYWxseSBmaWd1
cmUgb3V0IGlmIHdlIGNhbiBkZXJpdmUgYW4gYWNjZXNzIHN0cmF0ZWd5LgogICAgIEdldEJ5SWRT
dGF0dXMgcmVzdWx0OwogICAgIHJlc3VsdC5tX3dhc1NlZW5JbkpJVCA9IHRydWU7IC8vIFRoaXMg
aXMgaW50ZXJlc3RpbmcgZm9yIGJ5dGVjb2RlIGR1bXBpbmcgb25seS4KICAgICBzd2l0Y2ggKHN0
dWJJbmZvLT5hY2Nlc3NUeXBlKSB7CiAgICAgY2FzZSBhY2Nlc3NfdW5zZXQ6Ci0gICAgICAgIHJl
dHVybiBjb21wdXRlRnJvbUxMSW50KHByb2ZpbGVkQmxvY2ssIGJ5dGVjb2RlSW5kZXgsIHVpZCk7
CisgICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKE5vSW5mb3JtYXRpb24pOwogICAgICAgICAK
ICAgICBjYXNlIGFjY2Vzc19nZXRfYnlfaWRfc2VsZjogewogICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IHN0dWJJbmZvLT51LmdldEJ5SWRTZWxmLmJhc2VPYmplY3RTdHJ1Y3R1cmUuZ2V0
KCk7CkBAIC0yNjIsMTEgKzI4MCw0MCBAQCBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNv
bXB1dGVGb3IoQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHViSW5mb01hcCYgbQogICAgIAog
ICAgIHJldHVybiByZXN1bHQ7CiAjZWxzZSAvLyBFTkFCTEUoSklUKQotICAgIFVOVVNFRF9QQVJB
TShtYXApOworICAgIFVOVVNFRF9QQVJBTShwcm9maWxlZEJsb2NrKTsKKyAgICBVTlVTRURfUEFS
QU0oc3R1YkluZm8pOworICAgIFVOVVNFRF9QQVJBTSh1aWQpOwogICAgIHJldHVybiBHZXRCeUlk
U3RhdHVzKE5vSW5mb3JtYXRpb24sIGZhbHNlKTsKICNlbmRpZiAvLyBFTkFCTEUoSklUKQogfQog
CitHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoCisgICAgQ29kZUJsb2Nr
KiBwcm9maWxlZEJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxp
bmVNYXAsCisgICAgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBT
dHJpbmdJbXBsKiB1aWQpCit7CisgICAgaWYgKGRmZ0Jsb2NrKSB7CisgICAgICAgIEdldEJ5SWRT
dGF0dXMgcmVzdWx0OworICAgICAgICB7CisgICAgICAgICAgICBDb25jdXJyZW50SklUTG9ja2Vy
IGxvY2tlcihkZmdCbG9jay0+bV9sb2NrKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IGNvbXB1dGVG
b3JTdHViSW5mbyhsb2NrZXIsIGRmZ0Jsb2NrLCBkZmdNYXAuZ2V0KGNvZGVPcmlnaW4pLCB1aWQp
OworICAgICAgICB9CisgICAgCisgICAgICAgIGlmIChyZXN1bHQudGFrZXNTbG93UGF0aCgpKQor
ICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAKKyAgICAgICAgeworICAgICAgICAgICAg
Q29uY3VycmVudEpJVExvY2tlciBsb2NrZXIocHJvZmlsZWRCbG9jay0+bV9sb2NrKTsKKyAgICAg
ICAgICAgIGlmIChoYXNFeGl0U2l0ZShsb2NrZXIsIHByb2ZpbGVkQmxvY2ssIGNvZGVPcmlnaW4u
Ynl0ZWNvZGVJbmRleCwgRXhpdEZyb21GVEwpKQorICAgICAgICAgICAgICAgIHJldHVybiBHZXRC
eUlkU3RhdHVzKFRha2VzU2xvd1BhdGgsIHRydWUpOworICAgICAgICB9CisgICAgICAgIAorICAg
ICAgICBpZiAocmVzdWx0LmlzU2V0KCkpCisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAg
IH0KKworICAgIHJldHVybiBjb21wdXRlRm9yKHByb2ZpbGVkQmxvY2ssIGJhc2VsaW5lTWFwLCBj
b2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgsIHVpZCk7Cit9CisKIEdldEJ5SWRTdGF0dXMgR2V0QnlJ
ZFN0YXR1czo6Y29tcHV0ZUZvcihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJpbmdJ
bXBsKiB1aWQpCiB7CiAgICAgLy8gRm9yIG5vdyB3ZSBvbmx5IGhhbmRsZSB0aGUgc3VwZXIgc2lt
cGxlIHNlbGYgYWNjZXNzIGNhc2UuIFdlIGNvdWxkIGhhbmRsZSB0aGUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5oCmluZGV4IGExZTgwMWNjYTg4NTA4
ODkzN2QwNjI2ZWI5ZWExNmY1Y2QxYzgyYzQuLmUwMjA5OTQxZTFhMGQ1N2ZjNWIzZDAzYjE2NWYz
MDZkNzMxNWIxMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9H
ZXRCeUlkU3RhdHVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5
SWRTdGF0dXMuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEy
LCAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsNiArMjYsOSBAQAogI2lmbmRlZiBHZXRCeUlkU3Rh
dHVzX2gKICNkZWZpbmUgR2V0QnlJZFN0YXR1c19oCiAKKyNpbmNsdWRlICJDb2RlT3JpZ2luLmgi
CisjaW5jbHVkZSAiQ29uY3VycmVudEpJVExvY2suaCIKKyNpbmNsdWRlICJFeGl0aW5nSklUVHlw
ZS5oIgogI2luY2x1ZGUgIkludGVuZGVkU3RydWN0dXJlQ2hhaW4uaCIKICNpbmNsdWRlICJQcm9w
ZXJ0eU9mZnNldC5oIgogI2luY2x1ZGUgIlN0cnVjdHVyZVNldC5oIgpAQCAtNzQsNiArNzcsOCBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sq
LCBTdHViSW5mb01hcCYsIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIFN0cmluZ0ltcGwqIHVpZCk7
CiAgICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihWTSYsIFN0cnVjdHVyZSosIFN0
cmluZ0ltcGwqIHVpZCk7CiAgICAgCisgICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZv
cihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnQmxvY2ssIFN0dWJJbmZv
TWFwJiBiYXNlbGluZU1hcCwgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdpbiwgU3RyaW5n
SW1wbCogdWlkKTsKKyAgICAKICAgICBTdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Rh
dGU7IH0KICAgICAKICAgICBib29sIGlzU2V0KCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZSAhPSBO
b0luZm9ybWF0aW9uOyB9CkBAIC05MCw2ICs5NSw4IEBAIHB1YmxpYzoKICAgICBib29sIHdhc1Nl
ZW5JbkpJVCgpIGNvbnN0IHsgcmV0dXJuIG1fd2FzU2VlbkluSklUOyB9CiAgICAgCiBwcml2YXRl
OgorICAgIHN0YXRpYyBib29sIGhhc0V4aXRTaXRlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXIm
LCBDb2RlQmxvY2sqLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBFeGl0aW5nSklUVHlwZSA9IEV4
aXRGcm9tQW55dGhpbmcpOworICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3JTdHVi
SW5mbyhjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgQ29kZUJsb2NrKiwgU3RydWN0dXJlU3R1
YkluZm8qLCBTdHJpbmdJbXBsKiB1aWQpOwogICAgIHN0YXRpYyB2b2lkIGNvbXB1dGVGb3JDaGFp
bihHZXRCeUlkU3RhdHVzJiByZXN1bHQsIENvZGVCbG9jayosIFN0cmluZ0ltcGwqIHVpZCk7CiAg
ICAgc3RhdGljIEdldEJ5SWRTdGF0dXMgY29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqLCB1bnNp
Z25lZCBieXRlY29kZUluZGV4LCBTdHJpbmdJbXBsKiB1aWQpOwogICAgIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Byb2ZpbGVkQ29kZUJsb2NrSmV0dGlzb25p
bmdXYXRjaHBvaW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9maWxl
ZENvZGVCbG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludC5jcHAKaW5kZXggZWRmOGUyMjhkNmQxYzlh
ZDcxNTdhYmQ3MmE4NWRhOWVkZjc5ZWNhNy4uMDI2YWEzZGFiODM3N2Y3MjIzMmM3NDE5MjczNTMy
NWE5NjNlYzk5YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1By
b2ZpbGVkQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvZmlsZWRDb2RlQmxvY2tKZXR0aXNvbmluZ1dhdGNocG9p
bnQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC00OSw3ICs0OSw5IEBAIHZvaWQgUHJvZmlsZWRDb2RlQmxvY2tKZXR0aXNvbmluZ1dh
dGNocG9pbnQ6OmZpcmVJbnRlcm5hbCgpCiAgICAgCiAgICAgaWYgKHNvdXJjZUJhc2VsaW5lQ29k
ZUJsb2NrKSB7CiAgICAgICAgIHNvdXJjZUJhc2VsaW5lQ29kZUJsb2NrLT5hZGRGcmVxdWVudEV4
aXRTaXRlKAotICAgICAgICAgICAgREZHOjpGcmVxdWVudEV4aXRTaXRlKG1fY29kZU9yaWdpbi5i
eXRlY29kZUluZGV4LCBtX2V4aXRLaW5kKSk7CisgICAgICAgICAgICBERkc6OkZyZXF1ZW50RXhp
dFNpdGUoCisgICAgICAgICAgICAgICAgbV9jb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgsIG1fZXhp
dEtpbmQsCisgICAgICAgICAgICAgICAgZXhpdGluZ0pJVFR5cGVGb3IobV9jb2RlQmxvY2stPmpp
dFR5cGUoKSkpKTsKICAgICB9CiAgICAgCiAgICAgbV9jb2RlQmxvY2stPmpldHRpc29uKENvdW50
UmVvcHRpbWl6YXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1B1dEJ5SWRTdGF0dXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1
dEJ5SWRTdGF0dXMuY3BwCmluZGV4IDE3Y2Y3MDg5NzMzZjBmMGFhZWQxZTAzNjRjNWYzOTg5Y2I4
NzE0MDcuLjExNjAxMzA5NTcwZWIwMGFhMjkxN2U4OTg2Y2U4NWMwNWIyMzg4Y2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMywgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTM1LDYgKzM1LDE0IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitib29sIFB1dEJ5SWRT
dGF0dXM6Omhhc0V4aXRTaXRlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImIGxvY2tlciwgQ29k
ZUJsb2NrKiBwcm9maWxlZEJsb2NrLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBFeGl0aW5nSklU
VHlwZSBleGl0VHlwZSkKK3sKKyAgICByZXR1cm4gcHJvZmlsZWRCbG9jay0+aGFzRXhpdFNpdGUo
bG9ja2VyLCBERkc6OkZyZXF1ZW50RXhpdFNpdGUoYnl0ZWNvZGVJbmRleCwgQmFkQ2FjaGUsIGV4
aXRUeXBlKSkKKyAgICAgICAgfHwgcHJvZmlsZWRCbG9jay0+aGFzRXhpdFNpdGUobG9ja2VyLCBE
Rkc6OkZyZXF1ZW50RXhpdFNpdGUoYnl0ZWNvZGVJbmRleCwgQmFkQ2FjaGVXYXRjaHBvaW50LCBl
eGl0VHlwZSkpCisgICAgICAgIHx8IHByb2ZpbGVkQmxvY2stPmhhc0V4aXRTaXRlKGxvY2tlciwg
REZHOjpGcmVxdWVudEV4aXRTaXRlKGJ5dGVjb2RlSW5kZXgsIEJhZFdlYWtDb25zdGFudENhY2hl
LCBleGl0VHlwZSkpCisgICAgICAgIHx8IHByb2ZpbGVkQmxvY2stPmhhc0V4aXRTaXRlKGxvY2tl
ciwgREZHOjpGcmVxdWVudEV4aXRTaXRlKGJ5dGVjb2RlSW5kZXgsIEJhZFdlYWtDb25zdGFudENh
Y2hlV2F0Y2hwb2ludCwgZXhpdFR5cGUpKTsKK30KKwogUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3Rh
dHVzOjpjb21wdXRlRnJvbUxMSW50KENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQg
Ynl0ZWNvZGVJbmRleCwgU3RyaW5nSW1wbCogdWlkKQogewogICAgIFVOVVNFRF9QQVJBTShwcm9m
aWxlZEJsb2NrKTsKQEAgLTg5LDEzICs5NywyNyBAQCBQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0
dXM6OmNvbXB1dGVGb3IoQ29kZUJsb2NrKiBwcm9maWxlZEJsb2NrLCBTdHViSW5mb01hcCYgbQog
ICAgIFVOVVNFRF9QQVJBTShieXRlY29kZUluZGV4KTsKICAgICBVTlVTRURfUEFSQU0odWlkKTsK
ICNpZiBFTkFCTEUoSklUKQotICAgIGlmIChwcm9maWxlZEJsb2NrLT5saWtlbHlUb1Rha2VTbG93
Q2FzZShieXRlY29kZUluZGV4KSkKKyAgICBpZiAocHJvZmlsZWRCbG9jay0+bGlrZWx5VG9UYWtl
U2xvd0Nhc2UoYnl0ZWNvZGVJbmRleCkKKyAgICAgICAgfHwgaGFzRXhpdFNpdGUobG9ja2VyLCBw
cm9maWxlZEJsb2NrLCBieXRlY29kZUluZGV4KSkKICAgICAgICAgcmV0dXJuIFB1dEJ5SWRTdGF0
dXMoVGFrZXNTbG93UGF0aCwgMCwgMCwgMCwgaW52YWxpZE9mZnNldCk7CiAgICAgCiAgICAgU3Ry
dWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvID0gbWFwLmdldChDb2RlT3JpZ2luKGJ5dGVjb2RlSW5k
ZXgpKTsKLSAgICBpZiAoIXN0dWJJbmZvIHx8ICFzdHViSW5mby0+c2VlbikKKyAgICBQdXRCeUlk
U3RhdHVzIHJlc3VsdCA9IGNvbXB1dGVGb3JTdHViSW5mbyhsb2NrZXIsIHByb2ZpbGVkQmxvY2ss
IHN0dWJJbmZvLCB1aWQpOworICAgIGlmICghcmVzdWx0KQogICAgICAgICByZXR1cm4gY29tcHV0
ZUZyb21MTEludChwcm9maWxlZEJsb2NrLCBieXRlY29kZUluZGV4LCB1aWQpOwogICAgIAorICAg
IHJldHVybiByZXN1bHQ7CisjZWxzZSAvLyBFTkFCTEUoSklUKQorICAgIFVOVVNFRF9QQVJBTSht
YXApOworICAgIHJldHVybiBQdXRCeUlkU3RhdHVzKE5vSW5mb3JtYXRpb24sIDAsIDAsIDAsIGlu
dmFsaWRPZmZzZXQpOworI2VuZGlmIC8vIEVOQUJMRShKSVQpCit9CisKK1B1dEJ5SWRTdGF0dXMg
UHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvclN0dWJJbmZvKGNvbnN0IENvbmN1cnJlbnRKSVRMb2Nr
ZXImLCBDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5m
bywgU3RyaW5nSW1wbCogdWlkKQoreworICAgIGlmICghc3R1YkluZm8gfHwgIXN0dWJJbmZvLT5z
ZWVuKQorICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cygpOworICAgIAogICAgIGlmIChzdHVi
SW5mby0+cmVzZXRCeUdDKQogICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhUYWtlc1Nsb3dQ
YXRoLCAwLCAwLCAwLCBpbnZhbGlkT2Zmc2V0KTsKIApAQCAtMTQyLDEwICsxNjQsMjggQEAgUHV0
QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJvZmlsZWRC
bG9jaywgU3R1YkluZm9NYXAmIG0KICAgICAgICAgLy8gd2UgY291bGQgZG8gYWJvdXQgaXQuCiAg
ICAgICAgIHJldHVybiBQdXRCeUlkU3RhdHVzKFRha2VzU2xvd1BhdGgsIDAsIDAsIDAsIGludmFs
aWRPZmZzZXQpOwogICAgIH0KLSNlbHNlIC8vIEVOQUJMRShKSVQpCi0gICAgVU5VU0VEX1BBUkFN
KG1hcCk7Ci0gICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMoTm9JbmZvcm1hdGlvbiwgMCwgMCwgMCwg
aW52YWxpZE9mZnNldCk7Ci0jZW5kaWYgLy8gRU5BQkxFKEpJVCkKK30KKworUHV0QnlJZFN0YXR1
cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogYmFzZWxpbmVCbG9jaywgQ29k
ZUJsb2NrKiBkZmdCbG9jaywgU3R1YkluZm9NYXAmIGJhc2VsaW5lTWFwLCBTdHViSW5mb01hcCYg
ZGZnTWFwLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIFN0cmluZ0ltcGwqIHVpZCkKK3sKKyAgICBp
ZiAoZGZnQmxvY2spIHsKKyAgICAgICAgeworICAgICAgICAgICAgQ29uY3VycmVudEpJVExvY2tl
ciBsb2NrZXIoYmFzZWxpbmVCbG9jay0+bV9sb2NrKTsKKyAgICAgICAgICAgIGlmIChoYXNFeGl0
U2l0ZShsb2NrZXIsIGJhc2VsaW5lQmxvY2ssIGNvZGVPcmlnaW4uYnl0ZWNvZGVJbmRleCwgRXhp
dEZyb21GVEwpKQorICAgICAgICAgICAgICAgIHJldHVybiBQdXRCeUlkU3RhdHVzKFRha2VzU2xv
d1BhdGgpOworICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgUHV0QnlJZFN0YXR1cyBy
ZXN1bHQ7CisgICAgICAgIHsKKyAgICAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2Vy
KGRmZ0Jsb2NrLT5tX2xvY2spOworICAgICAgICAgICAgcmVzdWx0ID0gY29tcHV0ZUZvclN0dWJJ
bmZvKGxvY2tlciwgZGZnQmxvY2ssIGRmZ01hcC5nZXQoY29kZU9yaWdpbiksIHVpZCk7CisgICAg
ICAgIH0KKyAgICAgICAgCisgICAgICAgIGlmIChyZXN1bHQuaXNTZXQoKSkKKyAgICAgICAgICAg
IHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIAorICAgIHJldHVybiBjb21wdXRlRm9yKGJhc2Vs
aW5lQmxvY2ssIGJhc2VsaW5lTWFwLCBjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgsIHVpZCk7CiB9
CiAKIFB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTdHJpbmdJbXBs
KiB1aWQsIGJvb2wgaXNEaXJlY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1B1dEJ5SWRTdGF0dXMuaAppbmRleCBjMGExYmMzNWNiZjAyYzdjNTlkZDA4NWI3ZjZkMGM1ZDQz
ZDI3NzFmLi4xZmE2OWI2ZjI0NzkzOWY0NjdlMDYwOTQ1YmFiYjNlYWJhNjg5ZjM2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmgKQEAgLTI2LDYg
KzI2LDcgQEAKICNpZm5kZWYgUHV0QnlJZFN0YXR1c19oCiAjZGVmaW5lIFB1dEJ5SWRTdGF0dXNf
aAogCisjaW5jbHVkZSAiRXhpdGluZ0pJVFR5cGUuaCIKICNpbmNsdWRlICJJbnRlbmRlZFN0cnVj
dHVyZUNoYWluLmgiCiAjaW5jbHVkZSAiUHJvcGVydHlPZmZzZXQuaCIKICNpbmNsdWRlICJTdHJ1
Y3R1cmVTdHViSW5mby5oIgpAQCAtOTQsNiArOTUsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFB1
dEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihDb2RlQmxvY2sqLCBTdHViSW5mb01hcCYsIHVuc2lnbmVk
IGJ5dGVjb2RlSW5kZXgsIFN0cmluZ0ltcGwqIHVpZCk7CiAgICAgc3RhdGljIFB1dEJ5SWRTdGF0
dXMgY29tcHV0ZUZvcihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgU3RyaW5nSW1w
bCogdWlkLCBib29sIGlzRGlyZWN0KTsKICAgICAKKyAgICBzdGF0aWMgUHV0QnlJZFN0YXR1cyBj
b21wdXRlRm9yKENvZGVCbG9jayogYmFzZWxpbmVCbG9jaywgQ29kZUJsb2NrKiBkZmdCbG9jaywg
U3R1YkluZm9NYXAmIGJhc2VsaW5lTWFwLCBTdHViSW5mb01hcCYgZGZnTWFwLCBDb2RlT3JpZ2lu
LCBTdHJpbmdJbXBsKiB1aWQpOworICAgIAogICAgIFN0YXRlIHN0YXRlKCkgY29uc3QgeyByZXR1
cm4gbV9zdGF0ZTsgfQogICAgIAogICAgIGJvb2wgaXNTZXQoKSBjb25zdCB7IHJldHVybiBtX3N0
YXRlICE9IE5vSW5mb3JtYXRpb247IH0KQEAgLTEwOCw2ICsxMTEsOCBAQCBwdWJsaWM6CiAgICAg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9vZmZzZXQ7IH0KICAgICAK
IHByaXZhdGU6CisgICAgc3RhdGljIGJvb2wgaGFzRXhpdFNpdGUoY29uc3QgQ29uY3VycmVudEpJ
VExvY2tlciYsIENvZGVCbG9jayosIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIEV4aXRpbmdKSVRU
eXBlID0gRXhpdEZyb21Bbnl0aGluZyk7CisgICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0
ZUZvclN0dWJJbmZvKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBDb2RlQmxvY2sqLCBTdHJ1
Y3R1cmVTdHViSW5mbyosIFN0cmluZ0ltcGwqIHVpZCk7CiAgICAgc3RhdGljIFB1dEJ5SWRTdGF0
dXMgY29tcHV0ZUZyb21MTEludChDb2RlQmxvY2sqLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBT
dHJpbmdJbXBsKiB1aWQpOwogICAgIAogICAgIFN0YXRlIG1fc3RhdGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU2V0LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU2V0LmgKaW5kZXggNGNkY2QwMWNiZTNkOTZm
NjNkN2I3ZWRjZjI5MDkzZDA4ZjRhNjk3Ni4uZjg5Njg0ZjcxMWMzODg5ZDU2NDJmZTJjYjAwMDcz
NGRjNTdmMDNhYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0
cnVjdHVyZVNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1
cmVTZXQuaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgU3RydWN0dXJlU2V0
KFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIHsKKyAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSk7
CiAgICAgICAgIG1fc3RydWN0dXJlcy5hcHBlbmQoc3RydWN0dXJlKTsKICAgICB9CiAgICAgCkBA
IC01NSw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICAKICAgICB2b2lkIGFkZChTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKICAgICB7CisgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUpOwogICAgICAgICBBU1NF
UlQoIWNvbnRhaW5zKHN0cnVjdHVyZSkpOwogICAgICAgICBtX3N0cnVjdHVyZXMuYXBwZW5kKHN0
cnVjdHVyZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1N0cnVjdHVyZVN0dWJJbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
U3RydWN0dXJlU3R1YkluZm8uaAppbmRleCA1NDYzZjNlOTU2ZWMwZmQ5MzU5ODUwMmE0YWI5MjEy
NjAyYzQwNzlhLi45MjE3Y2I4MDA0ZTg2MzEwNGM2YmMxZDk0MjBmNzQwYTBiZDg5ZGIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8u
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8u
aApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMTIsIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAy
MDEyLCAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjE2LDcgKzIxNiw2IEBAIHN0cnVjdCBTdHJ1Y3R1
cmVTdHViSW5mbyB7CiAKICAgICBzdHJ1Y3QgewogICAgICAgICBpbnQ4X3QgcmVnaXN0ZXJzRmx1
c2hlZDsKLSAgICAgICAgaW50OF90IGNhbGxGcmFtZVJlZ2lzdGVyOwogICAgICAgICBpbnQ4X3Qg
YmFzZUdQUjsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQogICAgICAgICBpbnQ4X3QgdmFsdWVUYWdH
UFI7CkBAIC0yOTAsNyArMjg5LDcgQEAgaW5saW5lIENvZGVPcmlnaW4gZ2V0U3RydWN0dXJlU3R1
YkluZm9Db2RlT3JpZ2luKFN0cnVjdHVyZVN0dWJJbmZvJiBzdHJ1Y3R1cmVTdHUKICAgICByZXR1
cm4gc3RydWN0dXJlU3R1YkluZm8uY29kZU9yaWdpbjsKIH0KIAotdHlwZWRlZiBIYXNoTWFwPENv
ZGVPcmlnaW4sIFN0cnVjdHVyZVN0dWJJbmZvKj4gU3R1YkluZm9NYXA7Cit0eXBlZGVmIEhhc2hN
YXA8Q29kZU9yaWdpbiwgU3RydWN0dXJlU3R1YkluZm8qLCBDb2RlT3JpZ2luQXBwcm94aW1hdGVI
YXNoPiBTdHViSW5mb01hcDsKIAogI2Vsc2UKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9WYWx1ZVJlY292ZXJ5LmgKaW5kZXggM2FmMmMzNDA5NjMxZWY4NDBhZGRkZjNkOTgy
OWIxMGQxZmQxNWI3MC4uNDAzMTI1MjVkZDI3YzM2ZGVjZGU3NmM1MmI3NDZhODIwMjM3MDNlOSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3Zlcnku
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVSZWNvdmVyeS5oCkBA
IC0yMzAsNiArMjMwLDI3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIFZpcnR1YWxSZWdpc3Rl
cihtX3NvdXJjZS52aXJ0dWFsUmVnKTsKICAgICB9CiAgICAgCisgICAgVmFsdWVSZWNvdmVyeSB3
aXRoTG9jYWxzT2Zmc2V0KGludCBvZmZzZXQpIGNvbnN0CisgICAgeworICAgICAgICBzd2l0Y2gg
KG1fdGVjaG5pcXVlKSB7CisgICAgICAgIGNhc2UgRGlzcGxhY2VkSW5KU1N0YWNrOgorICAgICAg
ICBjYXNlIEludDMyRGlzcGxhY2VkSW5KU1N0YWNrOgorICAgICAgICBjYXNlIERvdWJsZURpc3Bs
YWNlZEluSlNTdGFjazoKKyAgICAgICAgY2FzZSBDZWxsRGlzcGxhY2VkSW5KU1N0YWNrOgorICAg
ICAgICBjYXNlIEJvb2xlYW5EaXNwbGFjZWRJbkpTU3RhY2s6CisgICAgICAgIGNhc2UgSW50NTJE
aXNwbGFjZWRJbkpTU3RhY2s6CisgICAgICAgIGNhc2UgU3RyaWN0SW50NTJEaXNwbGFjZWRJbkpT
U3RhY2s6IHsKKyAgICAgICAgICAgIFZhbHVlUmVjb3ZlcnkgcmVzdWx0OworICAgICAgICAgICAg
cmVzdWx0Lm1fdGVjaG5pcXVlID0gbV90ZWNobmlxdWU7CisgICAgICAgICAgICByZXN1bHQubV9z
b3VyY2UudmlydHVhbFJlZyA9IG1fc291cmNlLnZpcnR1YWxSZWcgKyBvZmZzZXQ7CisgICAgICAg
ICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgZGVm
YXVsdDoKKyAgICAgICAgICAgIHJldHVybiAqdGhpczsKKyAgICAgICAgfQorICAgIH0KKyAgICAK
ICAgICBKU1ZhbHVlIGNvbnN0YW50KCkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3Rl
Y2huaXF1ZSA9PSBDb25zdGFudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvVmlydHVhbFJlZ2lzdGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvVmlydHVhbFJlZ2lzdGVyLmgKaW5kZXggYzYzYWVlODVmZGY4MDAwM2M4ZDllYjZkZTMwYjcz
YjQ4YTZjYTE4NS4uNjFiMDRiNWJjODFmMDE5MWM4NDMyMGZjNGEyZDlmNWU4ZjU0ZWEyYiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZpcnR1YWxSZWdpc3Rlci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WaXJ0dWFsUmVnaXN0ZXIuaApA
QCAtNjUsNiArNjUsNyBAQCBwdWJsaWM6CiAgICAgaW50IHRvQXJndW1lbnQoKSBjb25zdCB7IEFT
U0VSVChpc0FyZ3VtZW50KCkpOyByZXR1cm4gb3BlcmFuZFRvQXJndW1lbnQobV92aXJ0dWFsUmVn
aXN0ZXIpOyB9CiAgICAgaW50IHRvQ29uc3RhbnRJbmRleCgpIGNvbnN0IHsgQVNTRVJUKGlzQ29u
c3RhbnQoKSk7IHJldHVybiBtX3ZpcnR1YWxSZWdpc3RlciAtIHNfZmlyc3RDb25zdGFudFJlZ2lz
dGVySW5kZXg7IH0KICAgICBpbnQgb2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV92aXJ0dWFsUmVn
aXN0ZXI7IH0KKyAgICBpbnQgb2Zmc2V0SW5CeXRlcygpIGNvbnN0IHsgcmV0dXJuIG1fdmlydHVh
bFJlZ2lzdGVyICogc2l6ZW9mKFJlZ2lzdGVyKTsgfQogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNv
bnN0IFZpcnR1YWxSZWdpc3RlciBvdGhlcikgY29uc3QgeyByZXR1cm4gbV92aXJ0dWFsUmVnaXN0
ZXIgPT0gb3RoZXIubV92aXJ0dWFsUmVnaXN0ZXI7IH0KICAgICBib29sIG9wZXJhdG9yIT0oY29u
c3QgVmlydHVhbFJlZ2lzdGVyIG90aGVyKSBjb25zdCB7IHJldHVybiBtX3ZpcnR1YWxSZWdpc3Rl
ciAhPSBvdGhlci5tX3ZpcnR1YWxSZWdpc3RlcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQ2FsbEZyYW1lLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckNhbGxGcmFtZS5jcHAKaW5kZXggOTBjZWU4YzIzNjU4
YTI0YzJjZGM4ZWYxZTA1YzJkZWJiZDU3NTdmOC4uNTQwNzMwYmEzYTYyYmYyNzFhZmYxYTJhYmZh
NTU4MjQ3ZjAyNWQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2Vy
L0RlYnVnZ2VyQ2FsbEZyYW1lLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdn
ZXIvRGVidWdnZXJDYWxsRnJhbWUuY3BwCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiT3Bl
cmF0aW9ucy5oIgogI2luY2x1ZGUgIlBhcnNlci5oIgogI2luY2x1ZGUgIlN0YWNrVmlzaXRvci5o
IgotI2luY2x1ZGUgIlZNRW50cnlTY29wZS5oIgogCiBuYW1lc3BhY2UgSlNDIHsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwCmluZGV4IGVmOWIxYzQ5NGFiYTM4
MDQ1YzlkOWRlYjUwYzA5Mjk1N2IyMzRlMjUuLjczNjhlYWViNjlhY2U0YWZlYzZmNDM0NGE3ZmEx
NThjZWY0MmMxZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJy
YXlNb2RlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5j
cHAKQEAgLTEzMSw3ICsxMzEsMTAgQEAgQXJyYXlNb2RlIEFycmF5TW9kZTo6ZnJvbU9ic2VydmVk
KGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImIGxvY2tlciwgQXJyYXlQcm9maWwKICAgICB9CiB9
CiAKLUFycmF5TW9kZSBBcnJheU1vZGU6OnJlZmluZShTcGVjdWxhdGVkVHlwZSBiYXNlLCBTcGVj
dWxhdGVkVHlwZSBpbmRleCwgU3BlY3VsYXRlZFR5cGUgdmFsdWUsIE5vZGVGbGFncyBmbGFncykg
Y29uc3QKK0FycmF5TW9kZSBBcnJheU1vZGU6OnJlZmluZSgKKyAgICBHcmFwaCYgZ3JhcGgsIENv
ZGVPcmlnaW4gY29kZU9yaWdpbiwKKyAgICBTcGVjdWxhdGVkVHlwZSBiYXNlLCBTcGVjdWxhdGVk
VHlwZSBpbmRleCwgU3BlY3VsYXRlZFR5cGUgdmFsdWUsCisgICAgTm9kZUZsYWdzIGZsYWdzKSBj
b25zdAogewogICAgIGlmICghYmFzZSB8fCAhaW5kZXgpIHsKICAgICAgICAgLy8gSXQgY2FuIGJl
IHRoYXQgd2UgaGFkIGEgbGVnaXRpbWF0ZSBhcnJheU1vZGUgYnV0IG5vIGluY29taW5nIHByZWRp
Y3Rpb25zLiBUaGF0J2xsCkBAIC0xODYsNyArMTg5LDcgQEAgQXJyYXlNb2RlIEFycmF5TW9kZTo6
cmVmaW5lKFNwZWN1bGF0ZWRUeXBlIGJhc2UsIFNwZWN1bGF0ZWRUeXBlIGluZGV4LCBTcGVjdWxh
dGUKICAgICAgICAgICAgIHJldHVybiB3aXRoQ29udmVyc2lvbihBcnJheTo6UmFnZUNvbnZlcnQp
OwogICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAgICAgIAotICAgIGNhc2UgQXJyYXk6OlNlbGVj
dFVzaW5nUHJlZGljdGlvbnM6CisgICAgY2FzZSBBcnJheTo6U2VsZWN0VXNpbmdQcmVkaWN0aW9u
czogewogICAgICAgICBiYXNlICY9IH5TcGVjT3RoZXI7CiAgICAgICAgIAogICAgICAgICBpZiAo
aXNTdHJpbmdTcGVjdWxhdGlvbihiYXNlKSkKQEAgLTE5NSwzNCArMTk4LDQxIEBAIEFycmF5TW9k
ZSBBcnJheU1vZGU6OnJlZmluZShTcGVjdWxhdGVkVHlwZSBiYXNlLCBTcGVjdWxhdGVkVHlwZSBp
bmRleCwgU3BlY3VsYXRlCiAgICAgICAgIGlmIChpc0FyZ3VtZW50c1NwZWN1bGF0aW9uKGJhc2Up
KQogICAgICAgICAgICAgcmV0dXJuIHdpdGhUeXBlKEFycmF5OjpBcmd1bWVudHMpOwogICAgICAg
ICAKKyAgICAgICAgQXJyYXlNb2RlIHJlc3VsdDsKKyAgICAgICAgaWYgKGdyYXBoLmhhc0V4aXRT
aXRlKGNvZGVPcmlnaW4sIE91dE9mQm91bmRzKSkKKyAgICAgICAgICAgIHJlc3VsdCA9IHdpdGhT
cGVjdWxhdGlvbihBcnJheTo6T3V0T2ZCb3VuZHMpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICByZXN1bHQgPSAqdGhpczsKKyAgICAgICAgCiAgICAgICAgIGlmIChpc0ludDhBcnJheVNwZWN1
bGF0aW9uKGJhc2UpKQotICAgICAgICAgICAgcmV0dXJuIHdpdGhUeXBlKEFycmF5OjpJbnQ4QXJy
YXkpOworICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC53aXRoVHlwZShBcnJheTo6SW50OEFycmF5
KTsKICAgICAgICAgCiAgICAgICAgIGlmIChpc0ludDE2QXJyYXlTcGVjdWxhdGlvbihiYXNlKSkK
LSAgICAgICAgICAgIHJldHVybiB3aXRoVHlwZShBcnJheTo6SW50MTZBcnJheSk7CisgICAgICAg
ICAgICByZXR1cm4gcmVzdWx0LndpdGhUeXBlKEFycmF5OjpJbnQxNkFycmF5KTsKICAgICAgICAg
CiAgICAgICAgIGlmIChpc0ludDMyQXJyYXlTcGVjdWxhdGlvbihiYXNlKSkKLSAgICAgICAgICAg
IHJldHVybiB3aXRoVHlwZShBcnJheTo6SW50MzJBcnJheSk7CisgICAgICAgICAgICByZXR1cm4g
cmVzdWx0LndpdGhUeXBlKEFycmF5OjpJbnQzMkFycmF5KTsKICAgICAgICAgCiAgICAgICAgIGlm
IChpc1VpbnQ4QXJyYXlTcGVjdWxhdGlvbihiYXNlKSkKLSAgICAgICAgICAgIHJldHVybiB3aXRo
VHlwZShBcnJheTo6VWludDhBcnJheSk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0LndpdGhU
eXBlKEFycmF5OjpVaW50OEFycmF5KTsKICAgICAgICAgCiAgICAgICAgIGlmIChpc1VpbnQ4Q2xh
bXBlZEFycmF5U3BlY3VsYXRpb24oYmFzZSkpCi0gICAgICAgICAgICByZXR1cm4gd2l0aFR5cGUo
QXJyYXk6OlVpbnQ4Q2xhbXBlZEFycmF5KTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQud2l0
aFR5cGUoQXJyYXk6OlVpbnQ4Q2xhbXBlZEFycmF5KTsKICAgICAgICAgCiAgICAgICAgIGlmIChp
c1VpbnQxNkFycmF5U3BlY3VsYXRpb24oYmFzZSkpCi0gICAgICAgICAgICByZXR1cm4gd2l0aFR5
cGUoQXJyYXk6OlVpbnQxNkFycmF5KTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQud2l0aFR5
cGUoQXJyYXk6OlVpbnQxNkFycmF5KTsKICAgICAgICAgCiAgICAgICAgIGlmIChpc1VpbnQzMkFy
cmF5U3BlY3VsYXRpb24oYmFzZSkpCi0gICAgICAgICAgICByZXR1cm4gd2l0aFR5cGUoQXJyYXk6
OlVpbnQzMkFycmF5KTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQud2l0aFR5cGUoQXJyYXk6
OlVpbnQzMkFycmF5KTsKICAgICAgICAgCiAgICAgICAgIGlmIChpc0Zsb2F0MzJBcnJheVNwZWN1
bGF0aW9uKGJhc2UpKQotICAgICAgICAgICAgcmV0dXJuIHdpdGhUeXBlKEFycmF5OjpGbG9hdDMy
QXJyYXkpOworICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC53aXRoVHlwZShBcnJheTo6RmxvYXQz
MkFycmF5KTsKICAgICAgICAgCiAgICAgICAgIGlmIChpc0Zsb2F0NjRBcnJheVNwZWN1bGF0aW9u
KGJhc2UpKQotICAgICAgICAgICAgcmV0dXJuIHdpdGhUeXBlKEFycmF5OjpGbG9hdDY0QXJyYXkp
OworICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC53aXRoVHlwZShBcnJheTo6RmxvYXQ2NEFycmF5
KTsKIAogICAgICAgICByZXR1cm4gQXJyYXlNb2RlKEFycmF5OjpHZW5lcmljKTsKKyAgICB9CiAK
ICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gKnRoaXM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBcnJheU1vZGUuaAppbmRleCBjYmI4N2JkOTM1MGVmYzNkZGVjYzEwMjNhNGNmMjVj
MDNmZjJhMWZiLi4yYmE2YjA2Y2E4ZDgyZTdhNjU3MTc5N2Q5MWUxNTdjYzViYjQ5ZDFiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgKQEAgLTIxMSw3ICsyMTEsNyBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBBcnJheU1vZGUodHlwZSwgYXJyYXlDbGFzcygpLCBz
cGVjdWxhdGlvbigpLCBjb252ZXJzaW9uKTsKICAgICB9CiAgICAgCi0gICAgQXJyYXlNb2RlIHJl
ZmluZShTcGVjdWxhdGVkVHlwZSBiYXNlLCBTcGVjdWxhdGVkVHlwZSBpbmRleCwgU3BlY3VsYXRl
ZFR5cGUgdmFsdWUgPSBTcGVjTm9uZSwgTm9kZUZsYWdzID0gMCkgY29uc3Q7CisgICAgQXJyYXlN
b2RlIHJlZmluZShHcmFwaCYsIENvZGVPcmlnaW4sIFNwZWN1bGF0ZWRUeXBlIGJhc2UsIFNwZWN1
bGF0ZWRUeXBlIGluZGV4LCBTcGVjdWxhdGVkVHlwZSB2YWx1ZSA9IFNwZWNOb25lLCBOb2RlRmxh
Z3MgPSAwKSBjb25zdDsKICAgICAKICAgICBib29sIGFscmVhZHlDaGVja2VkKEdyYXBoJiwgTm9k
ZSosIEFic3RyYWN0VmFsdWUmKSBjb25zdDsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggYzU3MmU3YTNlMGZiMmI3NzE2NjVl
M2Y5OGUyYmNhZjE1NWI4Y2I1Yi4uZjRhMzU2MzZmZTg4ZDdiYzcyZmIwYzNhZGQ5ZTY2ZTNiNTdi
Y2EzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBh
cnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHAKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJPcGVyYXRpb25zLmgiCiAjaW5jbHVk
ZSAiUHJlY2lzZUp1bXBUYXJnZXRzLmgiCiAjaW5jbHVkZSAiUHV0QnlJZFN0YXR1cy5oIgorI2lu
Y2x1ZGUgIlN0YWNrQWxpZ25tZW50LmgiCiAjaW5jbHVkZSAiU3RyaW5nQ29uc3RydWN0b3IuaCIK
ICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
QEAgLTE2MCw3ICsxNjEsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgaGFuZGxlTWluTWF4KGludCBy
ZXN1bHRPcGVyYW5kLCBOb2RlVHlwZSBvcCwgaW50IHJlZ2lzdGVyT2Zmc2V0LCBpbnQgYXJndW1l
bnRDb3VudEluY2x1ZGluZ1RoaXMpOwogICAgIAogICAgIC8vIEhhbmRsZSBjYWxscy4gVGhpcyBy
ZXNvbHZlcyBpc3N1ZXMgc3Vycm91bmRpbmcgaW5saW5pbmcgYW5kIGludHJpbnNpY3MuCi0gICAg
dm9pZCBoYW5kbGVDYWxsKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24sIE5vZGVUeXBl
IG9wLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kKTsKKyAgICB2b2lkIGhhbmRsZUNhbGwoaW50IHJl
c3VsdCwgTm9kZVR5cGUgb3AsIENvZGVTcGVjaWFsaXphdGlvbktpbmQsIHVuc2lnbmVkIGluc3Ry
dWN0aW9uU2l6ZSwgaW50IGNhbGxlZSwgaW50IGFyZ0NvdW50LCBpbnQgcmVnaXN0ZXJPZmZzZXQp
OworICAgIHZvaWQgaGFuZGxlQ2FsbChJbnN0cnVjdGlvbiogcGMsIE5vZGVUeXBlIG9wLCBDb2Rl
U3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpOwogICAgIHZvaWQgZW1pdEZ1bmN0aW9uQ2hlY2tzKGNv
bnN0IENhbGxMaW5rU3RhdHVzJiwgTm9kZSogY2FsbFRhcmdldCwgaW50IHJlZ2lzdGVyT2Zmc2V0
LCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kKTsKICAgICB2b2lkIGVtaXRBcmd1bWVudFBoYW50b21z
KGludCByZWdpc3Rlck9mZnNldCwgaW50IGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCBDb2Rl
U3BlY2lhbGl6YXRpb25LaW5kKTsKICAgICAvLyBIYW5kbGUgaW5saW5pbmcuIFJldHVybiB0cnVl
IGlmIGl0IHN1Y2NlZWRlZCwgZmFsc2UgaWYgd2UgbmVlZCB0byBwbGFudCBhIGNhbGwuCkBAIC03
NzMsMjIgKzc3NSwyMSBAQCBwcml2YXRlOgogICAgICAgICBtX251bVBhc3NlZFZhckFyZ3MrKzsK
ICAgICB9CiAgICAgCi0gICAgTm9kZSogYWRkQ2FsbChJbnN0cnVjdGlvbiogY3VycmVudEluc3Ry
dWN0aW9uLCBOb2RlVHlwZSBvcCkKKyAgICBOb2RlKiBhZGRDYWxsKGludCByZXN1bHQsIE5vZGVU
eXBlIG9wLCBpbnQgY2FsbGVlLCBpbnQgYXJnQ291bnQsIGludCByZWdpc3Rlck9mZnNldCkKICAg
ICB7CiAgICAgICAgIFNwZWN1bGF0ZWRUeXBlIHByZWRpY3Rpb24gPSBnZXRQcmVkaWN0aW9uKCk7
CiAgICAgICAgIAotICAgICAgICBhZGRWYXJBcmdDaGlsZChnZXQoVmlydHVhbFJlZ2lzdGVyKGN1
cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSk7Ci0gICAgICAgIGludCBhcmdDb3VudCA9
IGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQ7Ci0gICAgICAgIGlmIChKU1N0YWNrOjpU
aGlzQXJndW1lbnQgKyAodW5zaWduZWQpYXJnQ291bnQgPiBtX3BhcmFtZXRlclNsb3RzKQotICAg
ICAgICAgICAgbV9wYXJhbWV0ZXJTbG90cyA9IEpTU3RhY2s6OlRoaXNBcmd1bWVudCArIGFyZ0Nv
dW50OworICAgICAgICBhZGRWYXJBcmdDaGlsZChnZXQoVmlydHVhbFJlZ2lzdGVyKGNhbGxlZSkp
KTsKKyAgICAgICAgc2l6ZV90IHBhcmFtZXRlclNsb3RzID0gSlNTdGFjazo6Q2FsbEZyYW1lSGVh
ZGVyU2l6ZSAtIEpTU3RhY2s6OkNhbGxlckZyYW1lQW5kUENTaXplICsgYXJnQ291bnQ7CisgICAg
ICAgIGlmIChwYXJhbWV0ZXJTbG90cyA+IG1fcGFyYW1ldGVyU2xvdHMpCisgICAgICAgICAgICBt
X3BhcmFtZXRlclNsb3RzID0gcGFyYW1ldGVyU2xvdHM7CiAKLSAgICAgICAgaW50IHJlZ2lzdGVy
T2Zmc2V0ID0gLWN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQ7CiAgICAgICAgIGludCBk
dW1teVRoaXNBcmd1bWVudCA9IG9wID09IENhbGwgPyAwIDogMTsKICAgICAgICAgZm9yIChpbnQg
aSA9IDAgKyBkdW1teVRoaXNBcmd1bWVudDsgaSA8IGFyZ0NvdW50OyArK2kpCiAgICAgICAgICAg
ICBhZGRWYXJBcmdDaGlsZChnZXQodmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnQoaSwgcmVnaXN0
ZXJPZmZzZXQpKSk7CiAKICAgICAgICAgTm9kZSogY2FsbCA9IGFkZFRvR3JhcGgoTm9kZTo6VmFy
QXJnLCBvcCwgT3BJbmZvKDApLCBPcEluZm8ocHJlZGljdGlvbikpOwotICAgICAgICBzZXQoVmly
dHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBjYWxsKTsKKyAg
ICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihyZXN1bHQpLCBjYWxsKTsKICAgICAgICAgcmV0dXJu
IGNhbGw7CiAgICAgfQogICAgIApAQCAtOTkzLDkgKzk5NCwxMCBAQCBwcml2YXRlOgogICAgIC8v
IFRoZSBudW1iZXIgb2YgbG9jYWxzICh2YXJzICsgdGVtcG9yYXJpZXMpIHVzZWQgaW4gdGhlIGZ1
bmN0aW9uLgogICAgIHVuc2lnbmVkIG1fbnVtTG9jYWxzOwogICAgIC8vIFRoZSBudW1iZXIgb2Yg
c2xvdHMgKGluIHVuaXRzIG9mIHNpemVvZihSZWdpc3RlcikpIHRoYXQgd2UgbmVlZCB0bwotICAg
IC8vIHByZWFsbG9jYXRlIGZvciBjYWxscyBlbWFuYXRpbmcgZnJvbSB0aGlzIGZyYW1lLiBUaGlz
IGluY2x1ZGVzIHRoZQotICAgIC8vIHNpemUgb2YgdGhlIENhbGxGcmFtZSwgb25seSBpZiB0aGlz
IGlzIG5vdCBhIGxlYWYgZnVuY3Rpb24uICAoSS5lLgotICAgIC8vIHRoaXMgaXMgMCBpZiBhbmQg
b25seSBpZiB0aGlzIGZ1bmN0aW9uIGlzIGEgbGVhZi4pCisgICAgLy8gcHJlYWxsb2NhdGUgZm9y
IGFyZ3VtZW50cyB0byBvdXRnb2luZyBjYWxscyBmcm9tIHRoaXMgZnJhbWUuIFRoaXMKKyAgICAv
LyBudW1iZXIgaW5jbHVkZXMgdGhlIENhbGxGcmFtZSBzbG90cyB0aGF0IHdlIGluaXRpYWxpemUg
Zm9yIHRoZSBjYWxsZWUKKyAgICAvLyAoYnV0IG5vdCB0aGUgY2FsbGVlLWluaXRpYWxpemVkIENh
bGxlckZyYW1lIGFuZCBSZXR1cm5QQyBzbG90cykuCisgICAgLy8gVGhpcyBudW1iZXIgaXMgMCBp
ZiBhbmQgb25seSBpZiB0aGlzIGZ1bmN0aW9uIGlzIGEgbGVhZi4KICAgICB1bnNpZ25lZCBtX3Bh
cmFtZXRlclNsb3RzOwogICAgIC8vIFRoZSBudW1iZXIgb2YgdmFyIGFyZ3MgcGFzc2VkIHRvIHRo
ZSBuZXh0IHZhciBhcmcgbm9kZS4KICAgICB1bnNpZ25lZCBtX251bVBhc3NlZFZhckFyZ3M7CkBA
IC0xMTM0LDYgKzExMzYsMTAgQEAgcHJpdmF0ZToKICAgICAvLyB3b3JrLWFyb3VuZCBmb3IgdGhl
IGZhY3QgdGhhdCBKU1ZhbHVlTWFwIGNhbid0IGhhbmRsZSAiZW1wdHkiIHZhbHVlcy4KICAgICB1
bnNpZ25lZCBtX2VtcHR5SlNWYWx1ZUluZGV4OwogICAgIAorICAgIENvZGVCbG9jayogbV9kZmdD
b2RlQmxvY2s7CisgICAgQ2FsbExpbmtTdGF0dXM6OkNvbnRleHRNYXAgbV9jYWxsQ29udGV4dE1h
cDsKKyAgICBTdHViSW5mb01hcCBtX2RmZ1N0dWJJbmZvczsKKyAgICAKICAgICBJbnN0cnVjdGlv
biogbV9jdXJyZW50SW5zdHJ1Y3Rpb247CiB9OwogCkBAIC0xMTQ1LDQzICsxMTUxLDQ1IEBAIHBy
aXZhdGU6CiAgICAgbV9jdXJyZW50SW5kZXggKz0gT1BDT0RFX0xFTkdUSChuYW1lKTsgXAogICAg
IHJldHVybiBzaG91bGRDb250aW51ZVBhcnNpbmcKIAotCi12b2lkIEJ5dGVDb2RlUGFyc2VyOjpo
YW5kbGVDYWxsKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24sIE5vZGVUeXBlIG9wLCBD
b2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCit2b2lkIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVD
YWxsKEluc3RydWN0aW9uKiBwYywgTm9kZVR5cGUgb3AsIENvZGVTcGVjaWFsaXphdGlvbktpbmQg
a2luZCkKIHsKICAgICBBU1NFUlQoT1BDT0RFX0xFTkdUSChvcF9jYWxsKSA9PSBPUENPREVfTEVO
R1RIKG9wX2NvbnN0cnVjdCkpOworICAgIGhhbmRsZUNhbGwoCisgICAgICAgIHBjWzFdLnUub3Bl
cmFuZCwgb3AsIGtpbmQsIE9QQ09ERV9MRU5HVEgob3BfY2FsbCksCisgICAgICAgIHBjWzJdLnUu
b3BlcmFuZCwgcGNbM10udS5vcGVyYW5kLCAtcGNbNF0udS5vcGVyYW5kKTsKK30KKwordm9pZCBC
eXRlQ29kZVBhcnNlcjo6aGFuZGxlQ2FsbCgKKyAgICBpbnQgcmVzdWx0LCBOb2RlVHlwZSBvcCwg
Q29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kLCB1bnNpZ25lZCBpbnN0cnVjdGlvblNpemUsCisg
ICAgaW50IGNhbGxlZSwgaW50IGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCBpbnQgcmVnaXN0
ZXJPZmZzZXQpCit7CisgICAgQVNTRVJUKHJlZ2lzdGVyT2Zmc2V0IDw9IDApOwogICAgIAotICAg
IE5vZGUqIGNhbGxUYXJnZXQgPSBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlv
blsyXS51Lm9wZXJhbmQpKTsKKyAgICBOb2RlKiBjYWxsVGFyZ2V0ID0gZ2V0KFZpcnR1YWxSZWdp
c3RlcihjYWxsZWUpKTsKICAgICAKICAgICBDYWxsTGlua1N0YXR1cyBjYWxsTGlua1N0YXR1czsK
IAotICAgIGlmIChtX2dyYXBoLmlzQ29uc3RhbnQoY2FsbFRhcmdldCkpCi0gICAgICAgIGNhbGxM
aW5rU3RhdHVzID0gQ2FsbExpbmtTdGF0dXMobV9ncmFwaC52YWx1ZU9mSlNDb25zdGFudChjYWxs
VGFyZ2V0KSkuc2V0SXNQcm92ZWQodHJ1ZSk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIGNhbGxMaW5r
U3RhdHVzID0gQ2FsbExpbmtTdGF0dXM6OmNvbXB1dGVGb3IobV9pbmxpbmVTdGFja1RvcC0+bV9w
cm9maWxlZEJsb2NrLCBtX2N1cnJlbnRJbmRleCk7Ci0gICAgICAgIGNhbGxMaW5rU3RhdHVzLnNl
dEhhc0JhZEZ1bmN0aW9uRXhpdFNpdGUobV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5o
YXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkRnVuY3Rpb24pKTsKLSAgICAgICAgY2FsbExp
bmtTdGF0dXMuc2V0SGFzQmFkQ2FjaGVFeGl0U2l0ZSgKLSAgICAgICAgICAgIG1faW5saW5lU3Rh
Y2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZENhY2hl
KQotICAgICAgICAgICAgfHwgbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0
U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkQ2FjaGVXYXRjaHBvaW50KSk7Ci0gICAgICAgIGNhbGxM
aW5rU3RhdHVzLnNldEhhc0JhZEV4ZWN1dGFibGVFeGl0U2l0ZShtX2lubGluZVN0YWNrVG9wLT5t
X2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRFeGVjdXRhYmxlKSk7
CisgICAgaWYgKG1fZ3JhcGguaXNDb25zdGFudChjYWxsVGFyZ2V0KSkgeworICAgICAgICBjYWxs
TGlua1N0YXR1cyA9IENhbGxMaW5rU3RhdHVzKAorICAgICAgICAgICAgbV9ncmFwaC52YWx1ZU9m
SlNDb25zdGFudChjYWxsVGFyZ2V0KSkuc2V0SXNQcm92ZWQodHJ1ZSk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgY2FsbExpbmtTdGF0dXMgPSBDYWxsTGlua1N0YXR1czo6Y29tcHV0ZUZvcigKKyAg
ICAgICAgICAgIG1faW5saW5lU3RhY2tUb3AtPm1fcHJvZmlsZWRCbG9jaywgY3VycmVudENvZGVP
cmlnaW4oKSwgbV9jYWxsQ29udGV4dE1hcCk7CiAgICAgfQogICAgIAogICAgIGlmICghY2FsbExp
bmtTdGF0dXMuY2FuT3B0aW1pemUoKSkgewogICAgICAgICAvLyBPZGRseSwgdGhpcyBjb25mbGF0
ZXMgY2FsbHMgdGhhdCBoYXZlbid0IGV4ZWN1dGVkIHdpdGggY2FsbHMgdGhhdCBiZWhhdmVkIHN1
ZmZpY2llbnRseSBwb2x5bW9ycGhpY2FsbHkKICAgICAgICAgLy8gdGhhdCB3ZSBjYW5ub3Qgb3B0
aW1pemUgdGhlbS4KICAgICAgICAgCi0gICAgICAgIGFkZENhbGwoY3VycmVudEluc3RydWN0aW9u
LCBvcCk7CisgICAgICAgIGFkZENhbGwocmVzdWx0LCBvcCwgY2FsbGVlLCBhcmd1bWVudENvdW50
SW5jbHVkaW5nVGhpcywgcmVnaXN0ZXJPZmZzZXQpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
ICAgIAotICAgIGludCBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyA9IGN1cnJlbnRJbnN0cnVj
dGlvblszXS51Lm9wZXJhbmQ7Ci0gICAgaW50IHJlZ2lzdGVyT2Zmc2V0ID0gLWN1cnJlbnRJbnN0
cnVjdGlvbls0XS51Lm9wZXJhbmQ7Ci0KLSAgICBpbnQgcmVzdWx0T3BlcmFuZCA9IGN1cnJlbnRJ
bnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7Ci0gICAgdW5zaWduZWQgbmV4dE9mZnNldCA9IG1fY3Vy
cmVudEluZGV4ICsgT1BDT0RFX0xFTkdUSChvcF9jYWxsKTsKKyAgICB1bnNpZ25lZCBuZXh0T2Zm
c2V0ID0gbV9jdXJyZW50SW5kZXggKyBpbnN0cnVjdGlvblNpemU7CiAgICAgU3BlY3VsYXRlZFR5
cGUgcHJlZGljdGlvbiA9IGdldFByZWRpY3Rpb24oKTsKIAogICAgIGlmIChJbnRlcm5hbEZ1bmN0
aW9uKiBmdW5jdGlvbiA9IGNhbGxMaW5rU3RhdHVzLmludGVybmFsRnVuY3Rpb24oKSkgewotICAg
ICAgICBpZiAoaGFuZGxlQ29uc3RhbnRJbnRlcm5hbEZ1bmN0aW9uKHJlc3VsdE9wZXJhbmQsIGZ1
bmN0aW9uLCByZWdpc3Rlck9mZnNldCwgYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMsIHByZWRp
Y3Rpb24sIGtpbmQpKSB7CisgICAgICAgIGlmIChoYW5kbGVDb25zdGFudEludGVybmFsRnVuY3Rp
b24ocmVzdWx0LCBmdW5jdGlvbiwgcmVnaXN0ZXJPZmZzZXQsIGFyZ3VtZW50Q291bnRJbmNsdWRp
bmdUaGlzLCBwcmVkaWN0aW9uLCBraW5kKSkgewogICAgICAgICAgICAgLy8gVGhpcyBwaGFudG9t
aW5nIGhhcyB0byBiZSAqYWZ0ZXIqIHRoZSBjb2RlIGZvciB0aGUgaW50cmluc2ljLCB0byBzaWdu
aWZ5IHRoYXQKICAgICAgICAgICAgIC8vIHRoZSBpbnB1dHMgbXVzdCBiZSBrZXB0IGFsaXZlIHdo
YXRldmVyIGV4aXRzIHRoZSBpbnRyaW5zaWMgbWF5IGRvLgogICAgICAgICAgICAgYWRkVG9HcmFw
aChQaGFudG9tLCBjYWxsVGFyZ2V0KTsKQEAgLTExOTAsNyArMTE5OCw3IEBAIHZvaWQgQnl0ZUNv
ZGVQYXJzZXI6OmhhbmRsZUNhbGwoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgTm9k
ZVR5cGUgb3AsIENvCiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIC8vIENhbiBvbmx5IGhh
bmRsZSB0aGlzIHVzaW5nIHRoZSBnZW5lcmljIGNhbGwgaGFuZGxlci4KLSAgICAgICAgYWRkQ2Fs
bChjdXJyZW50SW5zdHJ1Y3Rpb24sIG9wKTsKKyAgICAgICAgYWRkQ2FsbChyZXN1bHQsIG9wLCBj
YWxsZWUsIGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCByZWdpc3Rlck9mZnNldCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAgICAgICAgIApAQCAtMTE5OCw3ICsxMjA2LDcgQEAgdm9pZCBC
eXRlQ29kZVBhcnNlcjo6aGFuZGxlQ2FsbChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9u
LCBOb2RlVHlwZSBvcCwgQ28KICAgICBpZiAoaW50cmluc2ljICE9IE5vSW50cmluc2ljKSB7CiAg
ICAgICAgIGVtaXRGdW5jdGlvbkNoZWNrcyhjYWxsTGlua1N0YXR1cywgY2FsbFRhcmdldCwgcmVn
aXN0ZXJPZmZzZXQsIGtpbmQpOwogICAgICAgICAgICAgCi0gICAgICAgIGlmIChoYW5kbGVJbnRy
aW5zaWMocmVzdWx0T3BlcmFuZCwgaW50cmluc2ljLCByZWdpc3Rlck9mZnNldCwgYXJndW1lbnRD
b3VudEluY2x1ZGluZ1RoaXMsIHByZWRpY3Rpb24pKSB7CisgICAgICAgIGlmIChoYW5kbGVJbnRy
aW5zaWMocmVzdWx0LCBpbnRyaW5zaWMsIHJlZ2lzdGVyT2Zmc2V0LCBhcmd1bWVudENvdW50SW5j
bHVkaW5nVGhpcywgcHJlZGljdGlvbikpIHsKICAgICAgICAgICAgIC8vIFRoaXMgcGhhbnRvbWlu
ZyBoYXMgdG8gYmUgKmFmdGVyKiB0aGUgY29kZSBmb3IgdGhlIGludHJpbnNpYywgdG8gc2lnbmlm
eSB0aGF0CiAgICAgICAgICAgICAvLyB0aGUgaW5wdXRzIG11c3QgYmUga2VwdCBhbGl2ZSB3aGF0
ZXZlciBleGl0cyB0aGUgaW50cmluc2ljIG1heSBkby4KICAgICAgICAgICAgIGFkZFRvR3JhcGgo
UGhhbnRvbSwgY2FsbFRhcmdldCk7CkBAIC0xMjA3LDEzICsxMjE1LDEzIEBAIHZvaWQgQnl0ZUNv
ZGVQYXJzZXI6OmhhbmRsZUNhbGwoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgTm9k
ZVR5cGUgb3AsIENvCiAgICAgICAgICAgICAgICAgbV9ncmFwaC5jb21waWxhdGlvbigpLT5ub3Rp
Y2VJbmxpbmVkQ2FsbCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgfSBl
bHNlIGlmIChoYW5kbGVJbmxpbmluZyhjYWxsVGFyZ2V0LCByZXN1bHRPcGVyYW5kLCBjYWxsTGlu
a1N0YXR1cywgcmVnaXN0ZXJPZmZzZXQsIGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCBuZXh0
T2Zmc2V0LCBraW5kKSkgeworICAgIH0gZWxzZSBpZiAoaGFuZGxlSW5saW5pbmcoY2FsbFRhcmdl
dCwgcmVzdWx0LCBjYWxsTGlua1N0YXR1cywgcmVnaXN0ZXJPZmZzZXQsIGFyZ3VtZW50Q291bnRJ
bmNsdWRpbmdUaGlzLCBuZXh0T2Zmc2V0LCBraW5kKSkgewogICAgICAgICBpZiAobV9ncmFwaC5j
b21waWxhdGlvbigpKQogICAgICAgICAgICAgbV9ncmFwaC5jb21waWxhdGlvbigpLT5ub3RpY2VJ
bmxpbmVkQ2FsbCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIAotICAgIGFkZENhbGwo
Y3VycmVudEluc3RydWN0aW9uLCBvcCk7CisgICAgYWRkQ2FsbChyZXN1bHQsIG9wLCBjYWxsZWUs
IGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCByZWdpc3Rlck9mZnNldCk7CiB9CiAKIHZvaWQg
Qnl0ZUNvZGVQYXJzZXI6OmVtaXRGdW5jdGlvbkNoZWNrcyhjb25zdCBDYWxsTGlua1N0YXR1cyYg
Y2FsbExpbmtTdGF0dXMsIE5vZGUqIGNhbGxUYXJnZXQsIGludCByZWdpc3Rlck9mZnNldCwgQ29k
ZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQpAQCAtMTI1MCwzMCArMTI1OCwzMiBAQCB2b2lkIEJ5
dGVDb2RlUGFyc2VyOjplbWl0QXJndW1lbnRQaGFudG9tcyhpbnQgcmVnaXN0ZXJPZmZzZXQsIGlu
dCBhcmd1bWVudENvdW50SQogCiBib29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVJbmxpbmluZyhO
b2RlKiBjYWxsVGFyZ2V0Tm9kZSwgaW50IHJlc3VsdE9wZXJhbmQsIGNvbnN0IENhbGxMaW5rU3Rh
dHVzJiBjYWxsTGlua1N0YXR1cywgaW50IHJlZ2lzdGVyT2Zmc2V0LCBpbnQgYXJndW1lbnRDb3Vu
dEluY2x1ZGluZ1RoaXMsIHVuc2lnbmVkIG5leHRPZmZzZXQsIENvZGVTcGVjaWFsaXphdGlvbktp
bmQga2luZCkKIHsKKyAgICBzdGF0aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CisgICAg
CisgICAgaWYgKHZlcmJvc2UpCisgICAgICAgIGRhdGFMb2coIkNvbnNpZGVyaW5nIGlubGluaW5n
ICIsIGNhbGxMaW5rU3RhdHVzLCAiIGludG8gIiwgY3VycmVudENvZGVPcmlnaW4oKSwgIlxuIik7
CisgICAgCiAgICAgLy8gRmlyc3QsIHRoZSByZWFsbHkgc2ltcGxlIGNoZWNrczogZG8gd2UgaGF2
ZSBhbiBhY3R1YWwgSlMgZnVuY3Rpb24/Ci0gICAgaWYgKCFjYWxsTGlua1N0YXR1cy5leGVjdXRh
YmxlKCkpCisgICAgaWYgKCFjYWxsTGlua1N0YXR1cy5leGVjdXRhYmxlKCkpIHsKKyAgICAgICAg
aWYgKHZlcmJvc2UpCisgICAgICAgICAgICBkYXRhTG9nKCIgICAgRmFpbGluZyBiZWNhdXNlIHRo
ZXJlIGlzIG5vIGV4ZWN1dGFibGUuXG4iKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlm
IChjYWxsTGlua1N0YXR1cy5leGVjdXRhYmxlKCktPmlzSG9zdEZ1bmN0aW9uKCkpCisgICAgfQor
ICAgIGlmIChjYWxsTGlua1N0YXR1cy5leGVjdXRhYmxlKCktPmlzSG9zdEZ1bmN0aW9uKCkpIHsK
KyAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICBkYXRhTG9nKCIgICAgRmFpbGluZyBi
ZWNhdXNlIGl0J3MgYSBob3N0IGZ1bmN0aW9uLlxuIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CiAgICAgCiAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0ganNDYXN0
PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGNhbGxMaW5rU3RhdHVzLmV4ZWN1dGFibGUoKSk7CiAgICAg
CiAgICAgLy8gRG9lcyB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyB3ZSdyZSBwYXNzaW5nIG1hdGNo
IHRoZSBhcml0eSBvZiB0aGUgdGFyZ2V0PyBXZSBjdXJyZW50bHkKICAgICAvLyBpbmxpbmUgb25s
eSBpZiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cyBwYXNzZWQgaXMgZ3JlYXRlciB0aGFuIG9yIGVx
dWFsIHRvIHRoZSBudW1iZXIKICAgICAvLyBhcmd1bWVudHMgZXhwZWN0ZWQuCi0gICAgaWYgKHN0
YXRpY19jYXN0PGludD4oZXhlY3V0YWJsZS0+cGFyYW1ldGVyQ291bnQoKSkgKyAxID4gYXJndW1l
bnRDb3VudEluY2x1ZGluZ1RoaXMpCisgICAgaWYgKHN0YXRpY19jYXN0PGludD4oZXhlY3V0YWJs
ZS0+cGFyYW1ldGVyQ291bnQoKSkgKyAxID4gYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMpIHsK
KyAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICBkYXRhTG9nKCIgICAgRmFpbGluZyBi
ZWNhdXNlIG9mIGFyaXR5IG1pc21hdGNoLlxuIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAKLSAgICAvLyBIYXZlIHdlIGV4Y2VlZGVkIGlubGluZSBzdGFjayBkZXB0aCwgb3IgYXJlIHdl
IHRyeWluZyB0byBpbmxpbmUgYSByZWN1cnNpdmUgY2FsbD8KLSAgICAvLyBJZiBlaXRoZXIgb2Yg
dGhlc2UgYXJlIGRldGVjdGVkLCB0aGVuIGRvbid0IGlubGluZS4KLSAgICB1bnNpZ25lZCBkZXB0
aCA9IDA7Ci0gICAgZm9yIChJbmxpbmVTdGFja0VudHJ5KiBlbnRyeSA9IG1faW5saW5lU3RhY2tU
b3A7IGVudHJ5OyBlbnRyeSA9IGVudHJ5LT5tX2NhbGxlcikgewotICAgICAgICArK2RlcHRoOwot
ICAgICAgICBpZiAoZGVwdGggPj0gT3B0aW9uczo6bWF4aW11bUlubGluaW5nRGVwdGgoKSkKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gRGVwdGggZXhjZWVkZWQuCi0gICAgICAgIAotICAg
ICAgICBpZiAoZW50cnktPmV4ZWN1dGFibGUoKSA9PSBleGVjdXRhYmxlKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOyAvLyBSZWN1cnNpb24gZGV0ZWN0ZWQuCiAgICAgfQogICAgIAogICAgIC8v
IERvIHdlIGhhdmUgYSBjb2RlIGJsb2NrLCBhbmQgZG9lcyB0aGUgY29kZSBibG9jaydzIHNpemUg
bWF0Y2ggdGhlIGhldXJpc3RpY3MvcmVxdWlyZW1lbnRzIGZvcgpAQCAtMTI4MywxMCArMTI5Myw2
MCBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVJbmxpbmluZyhOb2RlKiBjYWxsVGFyZ2V0
Tm9kZSwgaW50IHJlc3VsdE9wZXJhbmQsIGNvbgogICAgIC8vIGdsb2JhbCBmdW5jdGlvbiwgd2hl
cmUgd2F0Y2hwb2ludGluZyBnaXZlcyB1cyBzdGF0aWMgaW5mb3JtYXRpb24uIE92ZXJhbGwsIGl0
J3MgYSByYXJlIGNhc2UKICAgICAvLyBiZWNhdXNlIHdlIGV4cGVjdCB0aGF0IGFueSBob3QgY2Fs
bGVlcyB3b3VsZCBoYXZlIGFscmVhZHkgYmVlbiBjb21waWxlZC4KICAgICBDb2RlQmxvY2sqIGNv
ZGVCbG9jayA9IGV4ZWN1dGFibGUtPmJhc2VsaW5lQ29kZUJsb2NrRm9yKGtpbmQpOwotICAgIGlm
ICghY29kZUJsb2NrKQorICAgIGlmICghY29kZUJsb2NrKSB7CisgICAgICAgIGlmICh2ZXJib3Nl
KQorICAgICAgICAgICAgZGF0YUxvZygiICAgIEZhaWxpbmcgYmVjYXVzZSBubyBjb2RlIGJsb2Nr
IGF2YWlsYWJsZS5cbiIpOwogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFjYW5Jbmxp
bmVGdW5jdGlvbkZvcihjb2RlQmxvY2ssIGtpbmQsIGNhbGxMaW5rU3RhdHVzLmlzQ2xvc3VyZUNh
bGwoKSkpCisgICAgfQorICAgIENhcGFiaWxpdHlMZXZlbCBjYXBhYmlsaXR5TGV2ZWwgPSBpbmxp
bmVGdW5jdGlvbkZvckNhcGFiaWxpdHlMZXZlbCgKKyAgICAgICAgY29kZUJsb2NrLCBraW5kLCBj
YWxsTGlua1N0YXR1cy5pc0Nsb3N1cmVDYWxsKCkpOworICAgIGlmICghY2FuSW5saW5lKGNhcGFi
aWxpdHlMZXZlbCkpIHsKKyAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAgICBkYXRhTG9n
KCIgICAgRmFpbGluZyBiZWNhdXNlIHRoZSBmdW5jdGlvbiBpcyBub3QgaW5saW5lYWJsZS5cbiIp
OwogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIAorICAgIC8vIEZJWE1FOiB0aGlz
IHNob3VsZCBiZSBiZXR0ZXIgYXQgcHJlZGljdGluZyBob3cgbXVjaCBibG9hdCB3ZSB3aWxsIGlu
dHJvZHVjZSBieSBpbmxpbmluZworICAgIC8vIHRoaXMgZnVuY3Rpb24uCisgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzYyNworICAgIAorICAgIC8vIEhh
dmUgd2UgZXhjZWVkZWQgaW5saW5lIHN0YWNrIGRlcHRoLCBvciBhcmUgd2UgdHJ5aW5nIHRvIGlu
bGluZSBhIHJlY3Vyc2l2ZSBjYWxsIHRvCisgICAgLy8gdG9vIG1hbnkgbGV2ZWxzPyBJZiBlaXRo
ZXIgb2YgdGhlc2UgYXJlIGRldGVjdGVkLCB0aGVuIGRvbid0IGlubGluZS4gV2UgYWRqdXN0IG91
cgorICAgIC8vIGhldXJpc3RpY3MgaWYgd2UgYXJlIGRlYWxpbmcgd2l0aCBhIGZ1bmN0aW9uIHRo
YXQgY2Fubm90IG90aGVyd2lzZSBiZSBjb21waWxlZC4KKyAgICAKKyAgICB1bnNpZ25lZCBkZXB0
aExpbWl0OworICAgIHVuc2lnbmVkIHJlY3Vyc2lvbkxpbWl0OworICAgIGlmIChjYW5Db21waWxl
KGNhcGFiaWxpdHlMZXZlbCkpIHsKKyAgICAgICAgZGVwdGhMaW1pdCA9IE9wdGlvbnM6Om1heGlt
dW1JbmxpbmluZ0RlcHRoKCk7CisgICAgICAgIHJlY3Vyc2lvbkxpbWl0ID0gT3B0aW9uczo6bWF4
aW11bUlubGluaW5nUmVjdXJzaW9uKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVwdGhMaW1p
dCA9IE9wdGlvbnM6Om1heGltdW1JbmxpbmluZ0RlcHRoRm9yTXVzdElubGluZSgpOworICAgICAg
ICByZWN1cnNpb25MaW1pdCA9IE9wdGlvbnM6Om1heGltdW1JbmxpbmluZ1JlY3Vyc2lvbkZvck11
c3RJbmxpbmUoKTsKKyAgICB9CisgICAgCisgICAgdW5zaWduZWQgZGVwdGggPSAwOworICAgIHVu
c2lnbmVkIHJlY3Vyc2lvbiA9IDA7CisgICAgCisgICAgZm9yIChJbmxpbmVTdGFja0VudHJ5KiBl
bnRyeSA9IG1faW5saW5lU3RhY2tUb3A7IGVudHJ5OyBlbnRyeSA9IGVudHJ5LT5tX2NhbGxlcikg
eworICAgICAgICArK2RlcHRoOworICAgICAgICBpZiAoZGVwdGggPj0gT3B0aW9uczo6bWF4aW11
bUlubGluaW5nRGVwdGgoKSkgeworICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAg
ICAgICAgZGF0YUxvZygiICAgIEZhaWxpbmcgYmVjYXVzZSBkZXB0aCBleGNlZWRlZC5cbiIpOwor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBp
ZiAoZW50cnktPmV4ZWN1dGFibGUoKSA9PSBleGVjdXRhYmxlKSB7CisgICAgICAgICAgICArK3Jl
Y3Vyc2lvbjsKKyAgICAgICAgICAgIGlmIChyZWN1cnNpb24gPj0gT3B0aW9uczo6bWF4aW11bUlu
bGluaW5nUmVjdXJzaW9uKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAg
ICAgICAgICAgICAgICAgZGF0YUxvZygiICAgIEZhaWxpbmcgYmVjYXVzZSByZWN1cnNpb24gZGV0
ZWN0ZWQuXG4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICB9CisgICAgCisgICAgaWYgKHZlcmJvc2UpCisgICAgICAgIGRhdGFM
b2coIiAgICBDb21taXR0aW5nIHRvIGlubGluaW5nLlxuIik7CiAgICAgCiAgICAgLy8gTm93IHdl
IGtub3cgd2l0aG91dCBhIGRvdWJ0IHRoYXQgd2UgYXJlIGNvbW1pdHRlZCB0byBpbmxpbmluZy4g
U28gYmVnaW4gdGhlIHByb2Nlc3MKICAgICAvLyBieSBjaGVja2luZyB0aGUgY2FsbGVlIChpZiBu
ZWNlc3NhcnkpIGFuZCBtYWtpbmcgc3VyZSB0aGF0IGFyZ3VtZW50cyBhbmQgdGhlIGNhbGxlZQpA
QCAtMTc3MywxMSArMTgzMyw3IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUdldEJ5SWQo
CiAgICAgaW50IGRlc3RpbmF0aW9uT3BlcmFuZCwgU3BlY3VsYXRlZFR5cGUgcHJlZGljdGlvbiwg
Tm9kZSogYmFzZSwgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciwKICAgICBjb25zdCBHZXRCeUlk
U3RhdHVzJiBnZXRCeUlkU3RhdHVzKQogewotICAgIGlmICghZ2V0QnlJZFN0YXR1cy5pc1NpbXBs
ZSgpCi0gICAgICAgIHx8IG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNp
dGUobV9jdXJyZW50SW5kZXgsIEJhZENhY2hlKQotICAgICAgICB8fCBtX2lubGluZVN0YWNrVG9w
LT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDYWNoZVdhdGNo
cG9pbnQpCi0gICAgICAgIHx8IG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhp
dFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZFdlYWtDb25zdGFudENhY2hlKQotICAgICAgICB8fCBt
X2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4
LCBCYWRXZWFrQ29uc3RhbnRDYWNoZVdhdGNocG9pbnQpKSB7CisgICAgaWYgKCFnZXRCeUlkU3Rh
dHVzLmlzU2ltcGxlKCkpIHsKICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihkZXN0aW5hdGlv
bk9wZXJhbmQpLAogICAgICAgICAgICAgYWRkVG9HcmFwaCgKICAgICAgICAgICAgICAgICBnZXRC
eUlkU3RhdHVzLm1ha2VzQ2FsbHMoKSA/IEdldEJ5SWRGbHVzaCA6IEdldEJ5SWQsCkBAIC0yNDQ0
LDYgKzI1MDAsNyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxp
bWl0KQogICAgICAgICAgICAgYWRkVmFyQXJnQ2hpbGQocHJvcGVydHkpOwogICAgICAgICAgICAg
YWRkVmFyQXJnQ2hpbGQodmFsdWUpOwogICAgICAgICAgICAgYWRkVmFyQXJnQ2hpbGQoMCk7IC8v
IExlYXZlIHJvb20gZm9yIHByb3BlcnR5IHN0b3JhZ2UuCisgICAgICAgICAgICBhZGRWYXJBcmdD
aGlsZCgwKTsgLy8gTGVhdmUgcm9vbSBmb3IgbGVuZ3RoLgogICAgICAgICAgICAgYWRkVG9HcmFw
aChOb2RlOjpWYXJBcmcsIG9wY29kZUlEID09IG9wX3B1dF9ieV92YWxfZGlyZWN0ID8gUHV0QnlW
YWxEaXJlY3QgOiBQdXRCeVZhbCwgT3BJbmZvKGFycmF5TW9kZS5hc1dvcmQoKSksIE9wSW5mbygw
KSk7CiAKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX3B1dF9ieV92YWwpOwpAQCAtMjQ1OSw4
ICsyNTE2LDkgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1p
dCkKICAgICAgICAgICAgIAogICAgICAgICAgICAgU3RyaW5nSW1wbCogdWlkID0gbV9ncmFwaC5p
ZGVudGlmaWVycygpW2lkZW50aWZpZXJOdW1iZXJdOwogICAgICAgICAgICAgR2V0QnlJZFN0YXR1
cyBnZXRCeUlkU3RhdHVzID0gR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcigKLSAgICAgICAgICAg
ICAgICBtX2lubGluZVN0YWNrVG9wLT5tX3Byb2ZpbGVkQmxvY2ssIG1faW5saW5lU3RhY2tUb3At
Pm1fc3R1YkluZm9zLAotICAgICAgICAgICAgICAgIG1fY3VycmVudEluZGV4LCB1aWQpOworICAg
ICAgICAgICAgICAgIG1faW5saW5lU3RhY2tUb3AtPm1fcHJvZmlsZWRCbG9jaywgbV9kZmdDb2Rl
QmxvY2ssCisgICAgICAgICAgICAgICAgbV9pbmxpbmVTdGFja1RvcC0+bV9zdHViSW5mb3MsIG1f
ZGZnU3R1YkluZm9zLAorICAgICAgICAgICAgICAgIGN1cnJlbnRDb2RlT3JpZ2luKCksIHVpZCk7
CiAgICAgICAgICAgICAKICAgICAgICAgICAgIGhhbmRsZUdldEJ5SWQoCiAgICAgICAgICAgICAg
ICAgY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCwgcHJlZGljdGlvbiwgYmFzZSwgaWRl
bnRpZmllck51bWJlciwgZ2V0QnlJZFN0YXR1cyk7CkBAIC0yNDc5LDI2ICsyNTM3LDIwIEBAIGJv
b2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAg
ICBib29sIGRpcmVjdCA9IGN1cnJlbnRJbnN0cnVjdGlvbls4XS51Lm9wZXJhbmQ7CiAKICAgICAg
ICAgICAgIFB1dEJ5SWRTdGF0dXMgcHV0QnlJZFN0YXR1cyA9IFB1dEJ5SWRTdGF0dXM6OmNvbXB1
dGVGb3IoCi0gICAgICAgICAgICAgICAgbV9pbmxpbmVTdGFja1RvcC0+bV9wcm9maWxlZEJsb2Nr
LCBtX2lubGluZVN0YWNrVG9wLT5tX3N0dWJJbmZvcywKLSAgICAgICAgICAgICAgICBtX2N1cnJl
bnRJbmRleCwgbV9ncmFwaC5pZGVudGlmaWVycygpW2lkZW50aWZpZXJOdW1iZXJdKTsKKyAgICAg
ICAgICAgICAgICBtX2lubGluZVN0YWNrVG9wLT5tX3Byb2ZpbGVkQmxvY2ssIG1fZGZnQ29kZUJs
b2NrLAorICAgICAgICAgICAgICAgIG1faW5saW5lU3RhY2tUb3AtPm1fc3R1YkluZm9zLCBtX2Rm
Z1N0dWJJbmZvcywKKyAgICAgICAgICAgICAgICBjdXJyZW50Q29kZU9yaWdpbigpLCBtX2dyYXBo
LmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51bWJlcl0pOwogICAgICAgICAgICAgYm9vbCBjYW5D
b3VudEFzSW5saW5lZCA9IHRydWU7CiAgICAgICAgICAgICBpZiAoIXB1dEJ5SWRTdGF0dXMuaXNT
ZXQoKSkgewogICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoRm9yY2VPU1JFeGl0KTsKICAgICAg
ICAgICAgICAgICBjYW5Db3VudEFzSW5saW5lZCA9IGZhbHNlOwogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgCi0gICAgICAgICAgICBib29sIGhhc0V4aXRTaXRlID0KLSAgICAgICAgICAgICAg
ICBtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudElu
ZGV4LCBCYWRDYWNoZSkKLSAgICAgICAgICAgICAgICB8fCBtX2lubGluZVN0YWNrVG9wLT5tX2V4
aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDYWNoZVdhdGNocG9pbnQp
Ci0gICAgICAgICAgICAgICAgfHwgbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNF
eGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkV2Vha0NvbnN0YW50Q2FjaGUpCi0gICAgICAgICAg
ICAgICAgfHwgbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1
cnJlbnRJbmRleCwgQmFkV2Vha0NvbnN0YW50Q2FjaGVXYXRjaHBvaW50KTsKLSAgICAgICAgICAg
IAotICAgICAgICAgICAgaWYgKCFoYXNFeGl0U2l0ZSAmJiBwdXRCeUlkU3RhdHVzLmlzU2ltcGxl
UmVwbGFjZSgpKSB7CisgICAgICAgICAgICBpZiAocHV0QnlJZFN0YXR1cy5pc1NpbXBsZVJlcGxh
Y2UoKSkgewogICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoQ2hlY2tTdHJ1Y3R1cmUsIE9wSW5m
byhtX2dyYXBoLmFkZFN0cnVjdHVyZVNldChwdXRCeUlkU3RhdHVzLm9sZFN0cnVjdHVyZSgpKSks
IGJhc2UpOwogICAgICAgICAgICAgICAgIGhhbmRsZVB1dEJ5T2Zmc2V0KGJhc2UsIGlkZW50aWZp
ZXJOdW1iZXIsIHB1dEJ5SWRTdGF0dXMub2Zmc2V0KCksIHZhbHVlKTsKICAgICAgICAgICAgIH0g
ZWxzZSBpZiAoCi0gICAgICAgICAgICAgICAgIWhhc0V4aXRTaXRlCi0gICAgICAgICAgICAgICAg
JiYgcHV0QnlJZFN0YXR1cy5pc1NpbXBsZVRyYW5zaXRpb24oKQorICAgICAgICAgICAgICAgIHB1
dEJ5SWRTdGF0dXMuaXNTaW1wbGVUcmFuc2l0aW9uKCkKICAgICAgICAgICAgICAgICAmJiAoIXB1
dEJ5SWRTdGF0dXMuc3RydWN0dXJlQ2hhaW4oKQogICAgICAgICAgICAgICAgICAgICB8fCBwdXRC
eUlkU3RhdHVzLnN0cnVjdHVyZUNoYWluKCktPmlzU3RpbGxWYWxpZCgpKSkgewogICAgICAgICAg
ICAgICAgIApAQCAtMjk3MywzMCArMzAyNSw0MSBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJz
ZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVYVF9PUENPREUob3BfY29uc3Ry
dWN0KTsKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIG9wX2NhbGxfdmFyYXJnczogeworICAg
ICAgICAgICAgaW50IHJlc3VsdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7Cisg
ICAgICAgICAgICBpbnQgY2FsbGVlID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsK
KyAgICAgICAgICAgIGludCB0aGlzUmVnID0gY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFu
ZDsKKyAgICAgICAgICAgIGludCBhcmd1bWVudHMgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5v
cGVyYW5kOworICAgICAgICAgICAgaW50IGZpcnN0RnJlZVJlZyA9IGN1cnJlbnRJbnN0cnVjdGlv
bls1XS51Lm9wZXJhbmQ7CisgICAgICAgICAgICAKICAgICAgICAgICAgIEFTU0VSVChpbmxpbmVD
YWxsRnJhbWUoKSk7Ci0gICAgICAgICAgICBBU1NFUlQoY3VycmVudEluc3RydWN0aW9uWzRdLnUu
b3BlcmFuZCA9PSBtX2lubGluZVN0YWNrVG9wLT5tX2NvZGVCbG9jay0+YXJndW1lbnRzUmVnaXN0
ZXIoKS5vZmZzZXQoKSk7CisgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGFyZ3VtZW50cywgYXJn
dW1lbnRzID09IG1faW5saW5lU3RhY2tUb3AtPm1fY29kZUJsb2NrLT5hcmd1bWVudHNSZWdpc3Rl
cigpLm9mZnNldCgpKTsKICAgICAgICAgICAgIEFTU0VSVCghbV9pbmxpbmVTdGFja1RvcC0+bV9j
b2RlQmxvY2stPnN5bWJvbFRhYmxlKCktPnNsb3dBcmd1bWVudHMoKSk7Ci0gICAgICAgICAgICAv
LyBJdCB3b3VsZCBiZSBjb29sIHRvIGZ1bm5lbCB0aGlzIGludG8gaGFuZGxlQ2FsbCgpIHNvIHRo
YXQgaXQgY2FuIGhhbmRsZQotICAgICAgICAgICAgLy8gaW5saW5pbmcuIEJ1dCBjdXJyZW50bHkg
dGhhdCB3b24ndCBiZSBwcm9maXRhYmxlIGFueXdheSwgc2luY2Ugbm9uZSBvZiB0aGUKLSAgICAg
ICAgICAgIC8vIHVzZXMgb2YgY2FsbF92YXJhcmdzIHdpbGwgYmUgaW5saW5lYWJsZS4gU28gd2Ug
c2V0IHRoaXMgdXAgbWFudWFsbHkgYW5kCi0gICAgICAgICAgICAvLyB3aXRob3V0IGlubGluZS9p
bnRyaW5zaWMgZGV0ZWN0aW9uLgotICAgICAgICAgICAgCi0gICAgICAgICAgICBTcGVjdWxhdGVk
VHlwZSBwcmVkaWN0aW9uID0gZ2V0UHJlZGljdGlvbigpOwotICAgICAgICAgICAgCisKICAgICAg
ICAgICAgIGFkZFRvR3JhcGgoQ2hlY2tBcmd1bWVudHNOb3RDcmVhdGVkKTsKLSAgICAgICAgICAg
IAorCiAgICAgICAgICAgICB1bnNpZ25lZCBhcmdDb3VudCA9IGlubGluZUNhbGxGcmFtZSgpLT5h
cmd1bWVudHMuc2l6ZSgpOwotICAgICAgICAgICAgaWYgKEpTU3RhY2s6OlRoaXNBcmd1bWVudCAr
IGFyZ0NvdW50ID4gbV9wYXJhbWV0ZXJTbG90cykKLSAgICAgICAgICAgICAgICBtX3BhcmFtZXRl
clNsb3RzID0gSlNTdGFjazo6VGhpc0FyZ3VtZW50ICsgYXJnQ291bnQ7CiAgICAgICAgICAgICAK
LSAgICAgICAgICAgIGFkZFZhckFyZ0NoaWxkKGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudElu
c3RydWN0aW9uWzJdLnUub3BlcmFuZCkpKTsgLy8gY2FsbGVlCi0gICAgICAgICAgICBhZGRWYXJB
cmdDaGlsZChnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJh
bmQpKSk7IC8vIHRoaXMKKyAgICAgICAgICAgIC8vIExldCdzIGNvbXB1dGUgdGhlIHJlZ2lzdGVy
IG9mZnNldC4gV2Ugc3RhcnQgd2l0aCB0aGUgbGFzdCB1c2VkIHJlZ2lzdGVyLCBhbmQKKyAgICAg
ICAgICAgIC8vIHRoZW4gYWRqdXN0IGZvciB0aGUgdGhpbmdzIHdlIHdhbnQgaW4gdGhlIGNhbGwg
ZnJhbWUuCisgICAgICAgICAgICBpbnQgcmVnaXN0ZXJPZmZzZXQgPSBmaXJzdEZyZWVSZWcgKyAx
OworICAgICAgICAgICAgcmVnaXN0ZXJPZmZzZXQgLT0gYXJnQ291bnQ7IC8vIFdlIHdpbGwgYmUg
cGFzc2luZyBzb21lIGFyZ3VtZW50cy4KKyAgICAgICAgICAgIHJlZ2lzdGVyT2Zmc2V0IC09IEpT
U3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemU7IC8vIFdlIHdpbGwgcHJldGVuZCB0byBoYXZlIGEg
Y2FsbCBmcmFtZSBoZWFkZXIuCisgICAgICAgICAgICAKKyAgICAgICAgICAgIC8vIEdldCB0aGUg
YWxpZ25tZW50IHJpZ2h0LgorICAgICAgICAgICAgcmVnaXN0ZXJPZmZzZXQgPSAtV1RGOjpyb3Vu
ZFVwVG9NdWx0aXBsZU9mKAorICAgICAgICAgICAgICAgIHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJz
KCksCisgICAgICAgICAgICAgICAgLXJlZ2lzdGVyT2Zmc2V0KTsKKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgLy8gVGhlIGJ5dGVjb2RlIHdvdWxkbid0IGhhdmUgc2V0IHVwIHRoZSBhcmd1bWVu
dHMuIEJ1dCB3ZSdsbCBkbyBpdCBhbmQgbWFrZSBpdAorICAgICAgICAgICAgLy8gbG9vayBsaWtl
IHRoZSBieXRlY29kZSBoYWQgZG9uZSBpdC4KKyAgICAgICAgICAgIGludCBuZXh0UmVnaXN0ZXIg
PSByZWdpc3Rlck9mZnNldCArIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemU7CisgICAgICAg
ICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKG5leHRSZWdpc3RlcisrKSwgZ2V0KFZpcnR1YWxSZWdp
c3Rlcih0aGlzUmVnKSksIEltbWVkaWF0ZVNldCk7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IGFyZ3VtZW50ID0gMTsgYXJndW1lbnQgPCBhcmdDb3VudDsgKythcmd1bWVudCkKLSAgICAgICAg
ICAgICAgICBhZGRWYXJBcmdDaGlsZChnZXQodmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnQoYXJn
dW1lbnQpKSk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIo
Y3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksCi0gICAgICAgICAgICAgICAgYWRkVG9H
cmFwaChOb2RlOjpWYXJBcmcsIENhbGwsIE9wSW5mbygwKSwgT3BJbmZvKHByZWRpY3Rpb24pKSk7
CisgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihuZXh0UmVnaXN0ZXIrKyksIGdl
dCh2aXJ0dWFsUmVnaXN0ZXJGb3JBcmd1bWVudChhcmd1bWVudCkpLCBJbW1lZGlhdGVTZXQpOwog
ICAgICAgICAgICAgCisgICAgICAgICAgICBoYW5kbGVDYWxsKAorICAgICAgICAgICAgICAgIHJl
c3VsdCwgQ2FsbCwgQ29kZUZvckNhbGwsIE9QQ09ERV9MRU5HVEgob3BfY2FsbF92YXJhcmdzKSwK
KyAgICAgICAgICAgICAgICBjYWxsZWUsIGFyZ0NvdW50LCByZWdpc3Rlck9mZnNldCk7CiAgICAg
ICAgICAgICBORVhUX09QQ09ERShvcF9jYWxsX3ZhcmFyZ3MpOwogICAgICAgICB9CiAgICAgICAg
ICAgICAKQEAgLTM2NTQsNiArMzcxNywxNiBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZSgp
CiAgICAgLy8gU2V0IGR1cmluZyBjb25zdHJ1Y3Rpb24uCiAgICAgQVNTRVJUKCFtX2N1cnJlbnRJ
bmRleCk7CiAgICAgCisgICAgaWYgKGlzRlRMKG1fZ3JhcGgubV9wbGFuLm1vZGUpKSB7CisgICAg
ICAgIG1fZGZnQ29kZUJsb2NrID0gbV9ncmFwaC5tX3BsYW4ucHJvZmlsZWRERkdDb2RlQmxvY2su
Z2V0KCk7CisgICAgICAgIGlmIChtX2RmZ0NvZGVCbG9jaykgeworICAgICAgICAgICAgaWYgKE9w
dGlvbnM6OmVuYWJsZVBvbHl2YXJpYW50Q2FsbElubGluaW5nKCkpCisgICAgICAgICAgICAgICAg
Q2FsbExpbmtTdGF0dXM6OmNvbXB1dGVERkdTdGF0dXNlcyhtX2RmZ0NvZGVCbG9jaywgbV9jYWxs
Q29udGV4dE1hcCk7CisgICAgICAgICAgICBpZiAoT3B0aW9uczo6ZW5hYmxlUG9seXZhcmlhbnRC
eUlkSW5saW5pbmcoKSkKKyAgICAgICAgICAgICAgICBtX2RmZ0NvZGVCbG9jay0+Z2V0U3R1Yklu
Zm9NYXAobV9kZmdTdHViSW5mb3MpOworICAgICAgICB9CisgICAgfQorICAgIAogICAgIGlmICht
X2NvZGVCbG9jay0+Y2FwdHVyZUNvdW50KCkpIHsKICAgICAgICAgU3ltYm9sVGFibGUqIHN5bWJv
bFRhYmxlID0gbV9jb2RlQmxvY2stPnN5bWJvbFRhYmxlKCk7CiAgICAgICAgIENvbmN1cnJlbnRK
SVRMb2NrZXIgbG9ja2VyKHN5bWJvbFRhYmxlLT5tX2xvY2spOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDRkdTaW1wbGlmaWNhdGlvblBoYXNlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ0ZHU2ltcGxpZmljYXRpb25QaGFzZS5jcHAKaW5kZXgg
NWRlMzZhMGRhMmNlNDliY2Y0ODczNzI4ODhiOTY5ZmJjODM4OTUyMi4uNjNmMWU5OGI3ZjNhYTcx
NDU1OWJiYmUwZWFlOTFkZTU0M2U1NWMyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdDRkdTaW1wbGlmaWNhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0NGR1NpbXBsaWZpY2F0aW9uUGhhc2UuY3BwCkBAIC03OSw2ICs3OSw4
IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICAgICAgLy8gc3Vib3B0aW1hbCwgYmVjYXVzZSBp
ZiBteSBzdWNjZXNzb3IgaGFzIG11bHRpcGxlIHByZWRlY2Vzc29ycyB0aGVuIHdlJ2xsCiAgICAg
ICAgICAgICAgICAgICAgIC8vIGJlIGtlZXBpbmcgYWxpdmUgdGhpbmdzIG9uIG90aGVyIHByZWRl
Y2Vzc29yIGVkZ2VzIHVubmVjZXNzYXJpbHkuCiAgICAgICAgICAgICAgICAgICAgIC8vIFdoYXQg
d2UgcmVhbGx5IG5lZWQgaXMgdGhlIG5vdGlvbiBvZiBlbmQtb2YtYmxvY2sgZ2hvc3RpZXMhCisg
ICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBBbGxvdyBwdXR0aW5nIHBoYW50b21zIGFmdGVy
IHRlcm1pbmFscy4KKyAgICAgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyNjc3OAogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NTRVBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQ1NFUGhhc2UuY3BwCmluZGV4IGE0ZTE1OWU3M2IzMzhmYzBiMTlmZTk5YTZlODgwYzEy
ZDdiZmM3NjkuLmQzYmZjNTBiZGU4ZDZkNzg0NjhkZmQwN2RlMzZiOWVmYWE1ZGIxYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3BwCkBAIC0yOCw2ICsyOCw4IEBA
CiAKICNpZiBFTkFCTEUoREZHX0pJVCkKIAorI2luY2x1ZGUgIkRGR0Fic3RyYWN0SGVhcC5oIgor
I2luY2x1ZGUgIkRGR0Nsb2JiZXJpemUuaCIKICNpbmNsdWRlICJERkdFZGdlVXNlc1N0cnVjdHVy
ZS5oIgogI2luY2x1ZGUgIkRGR0dyYXBoLmgiCiAjaW5jbHVkZSAiREZHUGhhc2UuaCIKQEAgLTEw
MDYsNiArMTAwOCwxOCBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0K
ICAgICAKKyAgICBib29sIGludmFsaWRhdGlvblBvaW50RWxpbWluYXRpb24oKQorICAgIHsKKyAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gbV9pbmRleEluQmxvY2s7IGktLTspIHsKKyAgICAgICAg
ICAgIE5vZGUqIG5vZGUgPSBtX2N1cnJlbnRCbG9jay0+YXQoaSk7CisgICAgICAgICAgICBpZiAo
bm9kZS0+b3AoKSA9PSBJbnZhbGlkYXRpb25Qb2ludCkKKyAgICAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAgICAgICAgIGlmICh3cml0ZXNPdmVybGFwKG1fZ3JhcGgsIG5vZGUsIFdhdGNo
cG9pbnRfZmlyZSkpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0KKyAgICAKICAgICB2b2lkIGVsaW1pbmF0ZUlycmVsZXZhbnRQ
aGFudG9tQ2hpbGRyZW4oTm9kZSogbm9kZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChub2RlLT5v
cCgpID09IFBoYW50b20pOwpAQCAtMTM4NSw5ICsxMzk5LDEzIEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICBlbGltaW5hdGUocHV0QnlPZmZzZXRTdG9yZUVsaW1pbmF0aW9uKG1fZ3JhcGgubV9zdG9y
YWdlQWNjZXNzRGF0YVtub2RlLT5zdG9yYWdlQWNjZXNzRGF0YUluZGV4KCldLmlkZW50aWZpZXJO
dW1iZXIsIG5vZGUtPmNoaWxkMSgpLm5vZGUoKSkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICAKKyAgICAgICAgY2FzZSBJbnZhbGlkYXRpb25Qb2ludDoKKyAgICAgICAgICAgIGlm
IChpbnZhbGlkYXRpb25Qb2ludEVsaW1pbmF0aW9uKCkpCisgICAgICAgICAgICAgICAgZWxpbWlu
YXRlKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIAogICAgICAgICBjYXNlIFBo
YW50b206CiAgICAgICAgICAgICAvLyBGSVhNRTogd2Ugb3VnaHQgdG8gcmVtb3ZlIFBoYW50b20n
cyB0aGF0IGhhdmUgbm8gY2hpbGRyZW4uCi0gICAgICAgICAgICAKICAgICAgICAgICAgIGVsaW1p
bmF0ZUlycmVsZXZhbnRQaGFudG9tQ2hpbGRyZW4obm9kZSk7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRp
ZXMuY3BwCmluZGV4IGU2ZmNkOGMxMWM4YmIwMTU3NDRjNjk2ZTlmMjQzZWE4NTI0Y2Y1YmEuLmQx
YmViOTMxMjQ1OGI1MjliODg4YjFjMTllZmU1Y2NiYzZiMTRiZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKQEAgLTE5OCw2ICsxOTgsOCBAQCBD
YXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxv
Y2sqIGNvZGVCbG9jaywgSW5zdHJ1YwogICAgIGNhc2Ugb3BfY2FsbF92YXJhcmdzOgogICAgICAg
ICBpZiAoY29kZUJsb2NrLT51c2VzQXJndW1lbnRzKCkgJiYgcGNbNF0udS5vcGVyYW5kID09IGNv
ZGVCbG9jay0+YXJndW1lbnRzUmVnaXN0ZXIoKS5vZmZzZXQoKSkKICAgICAgICAgICAgIHJldHVy
biBDYW5JbmxpbmU7CisgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaGFuZGxlIHRoaXMuCisg
ICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2MjYK
ICAgICAgICAgcmV0dXJuIENhbm5vdENvbXBpbGU7CiAKICAgICBjYXNlIG9wX25ld19yZWdleHA6
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmgKaW5kZXggNWJk
ODBjNTE3Y2E0OGYwOTU3OTgyMzQwNDRhMTY4NTY1YTNkNTRlYy4uM2NiOTI0NzIyMDEyNThlZjk4
MWJjZWRmMzYyNzQxZGE2MmMwN2QwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdDYXBhYmlsaXRpZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0NhcGFiaWxpdGllcy5oCkBAIC05NiwxOSArOTYsMjggQEAgaW5saW5lIENhcGFiaWxpdHlMZXZl
bCBmdW5jdGlvbkZvckNvbnN0cnVjdENhcGFiaWxpdHlMZXZlbChDb2RlQmxvY2sqIGNvZGVCbG9j
aykKICAgICByZXR1cm4gY2FwYWJpbGl0eUxldmVsKGNvZGVCbG9jayk7CiB9CiAKLWlubGluZSBi
b29sIGNhbklubGluZUZ1bmN0aW9uRm9yQ2FsbChDb2RlQmxvY2sqIGNvZGVCbG9jaykKK2lubGlu
ZSBDYXBhYmlsaXR5TGV2ZWwgaW5saW5lRnVuY3Rpb25Gb3JDYWxsQ2FwYWJpbGl0eUxldmVsKENv
ZGVCbG9jayogY29kZUJsb2NrKQogewotICAgIHJldHVybiBtaWdodElubGluZUZ1bmN0aW9uRm9y
Q2FsbChjb2RlQmxvY2spICYmIGNhbklubGluZShjYXBhYmlsaXR5TGV2ZWwoY29kZUJsb2NrKSk7
CisgICAgaWYgKCFtaWdodElubGluZUZ1bmN0aW9uRm9yQ2FsbChjb2RlQmxvY2spKQorICAgICAg
ICByZXR1cm4gQ2Fubm90Q29tcGlsZTsKKyAgICAKKyAgICByZXR1cm4gY2FwYWJpbGl0eUxldmVs
KGNvZGVCbG9jayk7CiB9CiAKLWlubGluZSBib29sIGNhbklubGluZUZ1bmN0aW9uRm9yQ2xvc3Vy
ZUNhbGwoQ29kZUJsb2NrKiBjb2RlQmxvY2spCitpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGlubGlu
ZUZ1bmN0aW9uRm9yQ2xvc3VyZUNhbGxDYXBhYmlsaXR5TGV2ZWwoQ29kZUJsb2NrKiBjb2RlQmxv
Y2spCiB7Ci0gICAgcmV0dXJuIG1pZ2h0SW5saW5lRnVuY3Rpb25Gb3JDbG9zdXJlQ2FsbChjb2Rl
QmxvY2spICYmIGNhbklubGluZShjYXBhYmlsaXR5TGV2ZWwoY29kZUJsb2NrKSk7CisgICAgaWYg
KCFtaWdodElubGluZUZ1bmN0aW9uRm9yQ2xvc3VyZUNhbGwoY29kZUJsb2NrKSkKKyAgICAgICAg
cmV0dXJuIENhbm5vdENvbXBpbGU7CisgICAgCisgICAgcmV0dXJuIGNhcGFiaWxpdHlMZXZlbChj
b2RlQmxvY2spOwogfQogCi1pbmxpbmUgYm9vbCBjYW5JbmxpbmVGdW5jdGlvbkZvckNvbnN0cnVj
dChDb2RlQmxvY2sqIGNvZGVCbG9jaykKK2lubGluZSBDYXBhYmlsaXR5TGV2ZWwgaW5saW5lRnVu
Y3Rpb25Gb3JDb25zdHJ1Y3RDYXBhYmlsaXR5TGV2ZWwoQ29kZUJsb2NrKiBjb2RlQmxvY2spCiB7
Ci0gICAgcmV0dXJuIG1pZ2h0SW5saW5lRnVuY3Rpb25Gb3JDb25zdHJ1Y3QoY29kZUJsb2NrKSAm
JiBjYW5JbmxpbmUoY2FwYWJpbGl0eUxldmVsKGNvZGVCbG9jaykpOworICAgIGlmICghbWlnaHRJ
bmxpbmVGdW5jdGlvbkZvckNvbnN0cnVjdChjb2RlQmxvY2spKQorICAgICAgICByZXR1cm4gQ2Fu
bm90Q29tcGlsZTsKKyAgICAKKyAgICByZXR1cm4gY2FwYWJpbGl0eUxldmVsKGNvZGVCbG9jayk7
CiB9CiAKIGlubGluZSBib29sIG1pZ2h0SW5saW5lRnVuY3Rpb25Gb3IoQ29kZUJsb2NrKiBjb2Rl
QmxvY2ssIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkKQEAgLTEyNCwxNiArMTMzLDE2IEBA
IGlubGluZSBib29sIG1pZ2h0SW5saW5lRnVuY3Rpb24oQ29kZUJsb2NrKiBjb2RlQmxvY2spCiAg
ICAgcmV0dXJuIG1pZ2h0SW5saW5lRnVuY3Rpb25Gb3IoY29kZUJsb2NrLCBjb2RlQmxvY2stPnNw
ZWNpYWxpemF0aW9uS2luZCgpKTsKIH0KIAotaW5saW5lIGJvb2wgY2FuSW5saW5lRnVuY3Rpb25G
b3IoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCwgYm9v
bCBpc0Nsb3N1cmVDYWxsKQoraW5saW5lIENhcGFiaWxpdHlMZXZlbCBpbmxpbmVGdW5jdGlvbkZv
ckNhcGFiaWxpdHlMZXZlbChDb2RlQmxvY2sqIGNvZGVCbG9jaywgQ29kZVNwZWNpYWxpemF0aW9u
S2luZCBraW5kLCBib29sIGlzQ2xvc3VyZUNhbGwpCiB7CiAgICAgaWYgKGlzQ2xvc3VyZUNhbGwp
IHsKICAgICAgICAgQVNTRVJUKGtpbmQgPT0gQ29kZUZvckNhbGwpOwotICAgICAgICByZXR1cm4g
Y2FuSW5saW5lRnVuY3Rpb25Gb3JDbG9zdXJlQ2FsbChjb2RlQmxvY2spOworICAgICAgICByZXR1
cm4gaW5saW5lRnVuY3Rpb25Gb3JDbG9zdXJlQ2FsbENhcGFiaWxpdHlMZXZlbChjb2RlQmxvY2sp
OwogICAgIH0KICAgICBpZiAoa2luZCA9PSBDb2RlRm9yQ2FsbCkKLSAgICAgICAgcmV0dXJuIGNh
bklubGluZUZ1bmN0aW9uRm9yQ2FsbChjb2RlQmxvY2spOworICAgICAgICByZXR1cm4gaW5saW5l
RnVuY3Rpb25Gb3JDYWxsQ2FwYWJpbGl0eUxldmVsKGNvZGVCbG9jayk7CiAgICAgQVNTRVJUKGtp
bmQgPT0gQ29kZUZvckNvbnN0cnVjdCk7Ci0gICAgcmV0dXJuIGNhbklubGluZUZ1bmN0aW9uRm9y
Q29uc3RydWN0KGNvZGVCbG9jayk7CisgICAgcmV0dXJuIGlubGluZUZ1bmN0aW9uRm9yQ29uc3Ry
dWN0Q2FwYWJpbGl0eUxldmVsKGNvZGVCbG9jayk7CiB9CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlND
OjpERkcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbi5oCmluZGV4IDdiNGIxZGI1ZjA4
ZTdjNDljNGY2N2NlMmY0N2IzNTM3ZGY0ZTEyZWIuLmU5ZWFjYmQ1YzRiOWEyZDM3NDFkN2U5ODhh
NDNiOTRiZDBlMmY2ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Q29tbW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24uaApAQCAt
ODcsMTUgKzg3LDYgQEAgaW5saW5lIGJvb2wgdmFsaWRhdGlvbkVuYWJsZWQoKQogI2VuZGlmCiB9
CiAKLWlubGluZSBib29sIGVuYWJsZUNvbmN1cnJlbnRKSVQoKQotewotI2lmIEVOQUJMRShDT05D
VVJSRU5UX0pJVCkKLSAgICByZXR1cm4gT3B0aW9uczo6ZW5hYmxlQ29uY3VycmVudEpJVCgpICYm
IE9wdGlvbnM6Om51bWJlck9mQ29tcGlsZXJUaHJlYWRzKCk7Ci0jZWxzZQotICAgIHJldHVybiBm
YWxzZTsKLSNlbmRpZgotfQotCiBpbmxpbmUgYm9vbCBlbmFibGVJbnQ1MigpCiB7CiAjaWYgVVNF
KEpTVkFMVUU2NCkKQEAgLTIzNSw3ICsyMjYsMTMgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFj
ZSBERkcgewogCiAvLyBQdXQgdGhpbmdzIGhlcmUgdGhhdCBtdXN0IGJlIGRlZmluZWQgZXZlbiBp
ZiBFTkFCTEUoREZHX0pJVCkgaXMgZmFsc2UuCiAKLWVudW0gQ2FwYWJpbGl0eUxldmVsIHsgQ2Fu
bm90Q29tcGlsZSwgQ2FuSW5saW5lLCBDYW5Db21waWxlLCBDYW5Db21waWxlQW5kSW5saW5lLCBD
YXBhYmlsaXR5TGV2ZWxOb3RTZXQgfTsKK2VudW0gQ2FwYWJpbGl0eUxldmVsIHsKKyAgICBDYW5u
b3RDb21waWxlLAorICAgIENhbklubGluZSwKKyAgICBDYW5Db21waWxlLAorICAgIENhbkNvbXBp
bGVBbmRJbmxpbmUsCisgICAgQ2FwYWJpbGl0eUxldmVsTm90U2V0Cit9OwogCiBpbmxpbmUgYm9v
bCBjYW5Db21waWxlKENhcGFiaWxpdHlMZXZlbCBsZXZlbCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tcGlsYXRpb25Nb2RlLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0NvbXBpbGF0aW9uTW9kZS5oCmluZGV4IDEwMzVmNjBiYzlkOWZiYjAy
MmEwNTIzN2U4N2U2OGU5Y2I4NGRhNDUuLjJkNmU0OWFkNTgzZTIxYmUwOGE3YzZhNzUwNWFmNmFj
MWU2NmI4NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tcGls
YXRpb25Nb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21waWxhdGlv
bk1vZGUuaApAQCAtMzcsNiArMzcsMTcgQEAgZW51bSBDb21waWxhdGlvbk1vZGUgewogICAgIEZU
TEZvck9TUkVudHJ5TW9kZQogfTsKIAoraW5saW5lIGJvb2wgaXNGVEwoQ29tcGlsYXRpb25Nb2Rl
IG1vZGUpCit7CisgICAgc3dpdGNoIChtb2RlKSB7CisgICAgY2FzZSBGVExNb2RlOgorICAgIGNh
c2UgRlRMRm9yT1NSRW50cnlNb2RlOgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBkZWZhdWx0
OgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCiB9IH0gLy8gbmFtZXNwYWNlIEpT
Qzo6REZHCiAKIG5hbWVzcGFjZSBXVEYgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdEcml2ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2
ZXIuY3BwCmluZGV4IGE4MWY3ZjJmOTZlOTljODA4ZGQ1NmI1NWY4NzRjMTk3NmE0YzZkMTMuLjVk
MjdjMTAxYjkzZTZkZTE1MjFkYWMxNjI5YTNjYjFlZjY1ZTYzOTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRHJpdmVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0RyaXZlci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDExLCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU1LDkgKzU1
LDkgQEAgdW5zaWduZWQgZ2V0TnVtQ29tcGlsYXRpb25zKCkKIAogI2lmIEVOQUJMRShERkdfSklU
KQogc3RhdGljIENvbXBpbGF0aW9uUmVzdWx0IGNvbXBpbGVJbXBsKAotICAgIFZNJiB2bSwgQ29k
ZUJsb2NrKiBjb2RlQmxvY2ssIENvbXBpbGF0aW9uTW9kZSBtb2RlLCB1bnNpZ25lZCBvc3JFbnRy
eUJ5dGVjb2RlSW5kZXgsCi0gICAgY29uc3QgT3BlcmFuZHM8SlNWYWx1ZT4mIG11c3RIYW5kbGVW
YWx1ZXMsCi0gICAgUGFzc1JlZlB0cjxEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s+IGNhbGxi
YWNrLCBXb3JrbGlzdCogd29ya2xpc3QpCisgICAgVk0mIHZtLCBDb2RlQmxvY2sqIGNvZGVCbG9j
aywgQ29kZUJsb2NrKiBwcm9maWxlZERGR0NvZGVCbG9jaywgQ29tcGlsYXRpb25Nb2RlIG1vZGUs
CisgICAgdW5zaWduZWQgb3NyRW50cnlCeXRlY29kZUluZGV4LCBjb25zdCBPcGVyYW5kczxKU1Zh
bHVlPiYgbXVzdEhhbmRsZVZhbHVlcywKKyAgICBQYXNzUmVmUHRyPERlZmVycmVkQ29tcGlsYXRp
b25DYWxsYmFjaz4gY2FsbGJhY2spCiB7CiAgICAgU2FtcGxpbmdSZWdpb24gc2FtcGxpbmdSZWdp
b24oIkRGRyBDb21waWxhdGlvbiAoRHJpdmVyKSIpOwogICAgIApAQCAtNjYsNiArNjYsNyBAQCBz
dGF0aWMgQ29tcGlsYXRpb25SZXN1bHQgY29tcGlsZUltcGwoCiAgICAgQVNTRVJUKGNvZGVCbG9j
ayk7CiAgICAgQVNTRVJUKGNvZGVCbG9jay0+YWx0ZXJuYXRpdmUoKSk7CiAgICAgQVNTRVJUKGNv
ZGVCbG9jay0+YWx0ZXJuYXRpdmUoKS0+aml0VHlwZSgpID09IEpJVENvZGU6OkJhc2VsaW5lSklU
KTsKKyAgICBBU1NFUlQoIXByb2ZpbGVkREZHQ29kZUJsb2NrIHx8IHByb2ZpbGVkREZHQ29kZUJs
b2NrLT5qaXRUeXBlKCkgPT0gSklUQ29kZTo6REZHSklUKTsKICAgICAKICAgICBpZiAoIU9wdGlv
bnM6OnVzZURGR0pJVCgpIHx8ICFNYWNyb0Fzc2VtYmxlcjo6c3VwcG9ydHNGbG9hdGluZ1BvaW50
KCkpCiAgICAgICAgIHJldHVybiBDb21waWxhdGlvbkZhaWxlZDsKQEAgLTgwLDE2ICs4MSwzMSBA
QCBzdGF0aWMgQ29tcGlsYXRpb25SZXN1bHQgY29tcGlsZUltcGwoCiAgICAgLy8gbWFrZSBzdXJl
IHRoYXQgYWxsIEpJVCBjb2RlIGdlbmVyYXRpb24gZG9lcyBmaW5hbGl6YXRpb24gb24gdGhlIG1h
aW4gdGhyZWFkLgogICAgIHZtLmdldENUSVN0dWIob3NyRXhpdEdlbmVyYXRpb25UaHVua0dlbmVy
YXRvcik7CiAgICAgdm0uZ2V0Q1RJU3R1Yih0aHJvd0V4Y2VwdGlvbkZyb21DYWxsU2xvd1BhdGhH
ZW5lcmF0b3IpOwotICAgIHZtLmdldENUSVN0dWIobGlua0NhbGxUaHVua0dlbmVyYXRvcik7Ci0g
ICAgdm0uZ2V0Q1RJU3R1YihsaW5rQ29uc3RydWN0VGh1bmtHZW5lcmF0b3IpOwotICAgIHZtLmdl
dENUSVN0dWIobGlua0Nsb3N1cmVDYWxsVGh1bmtHZW5lcmF0b3IpOwotICAgIHZtLmdldENUSVN0
dWIodmlydHVhbENhbGxUaHVua0dlbmVyYXRvcik7Ci0gICAgdm0uZ2V0Q1RJU3R1Yih2aXJ0dWFs
Q29uc3RydWN0VGh1bmtHZW5lcmF0b3IpOworICAgIGlmIChtb2RlID09IERGR01vZGUpIHsKKyAg
ICAgICAgdm0uZ2V0Q1RJU3R1YihsaW5rQ2FsbFRodW5rR2VuZXJhdG9yKTsKKyAgICAgICAgdm0u
Z2V0Q1RJU3R1YihsaW5rQ29uc3RydWN0VGh1bmtHZW5lcmF0b3IpOworICAgICAgICB2bS5nZXRD
VElTdHViKGxpbmtDbG9zdXJlQ2FsbFRodW5rR2VuZXJhdG9yKTsKKyAgICAgICAgdm0uZ2V0Q1RJ
U3R1Yih2aXJ0dWFsQ2FsbFRodW5rR2VuZXJhdG9yKTsKKyAgICAgICAgdm0uZ2V0Q1RJU3R1Yih2
aXJ0dWFsQ29uc3RydWN0VGh1bmtHZW5lcmF0b3IpOworICAgIH0gZWxzZSB7CisgICAgICAgIHZt
LmdldENUSVN0dWIobGlua0NhbGxUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9yKTsKKyAg
ICAgICAgdm0uZ2V0Q1RJU3R1YihsaW5rQ29uc3RydWN0VGhhdFByZXNlcnZlc1JlZ3NUaHVua0dl
bmVyYXRvcik7CisgICAgICAgIHZtLmdldENUSVN0dWIobGlua0Nsb3N1cmVDYWxsVGhhdFByZXNl
cnZlc1JlZ3NUaHVua0dlbmVyYXRvcik7CisgICAgICAgIHZtLmdldENUSVN0dWIodmlydHVhbENh
bGxUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9yKTsKKyAgICAgICAgdm0uZ2V0Q1RJU3R1
Yih2aXJ0dWFsQ29uc3RydWN0VGhhdFByZXNlcnZlc1JlZ3NUaHVua0dlbmVyYXRvcik7CisgICAg
fQogICAgIAogICAgIFJlZlB0cjxQbGFuPiBwbGFuID0gYWRvcHRSZWYoCi0gICAgICAgIG5ldyBQ
bGFuKGNvZGVCbG9jaywgbW9kZSwgb3NyRW50cnlCeXRlY29kZUluZGV4LCBtdXN0SGFuZGxlVmFs
dWVzKSk7CisgICAgICAgIG5ldyBQbGFuKGNvZGVCbG9jaywgcHJvZmlsZWRERkdDb2RlQmxvY2ss
IG1vZGUsIG9zckVudHJ5Qnl0ZWNvZGVJbmRleCwgbXVzdEhhbmRsZVZhbHVlcykpOwogICAgIAot
ICAgIGlmICh3b3JrbGlzdCkgeworICAgIGJvb2wgZW5hYmxlQ29uY3VycmVudEpJVDsKKyNpZiBF
TkFCTEUoQ09OQ1VSUkVOVF9KSVQpCisgICAgZW5hYmxlQ29uY3VycmVudEpJVCA9IE9wdGlvbnM6
OmVuYWJsZUNvbmN1cnJlbnRKSVQoKTsKKyNlbHNlIC8vIEVOQUJMRShDT05DVVJSRU5UX0pJVCkK
KyAgICBlbmFibGVDb25jdXJyZW50SklUID0gZmFsc2U7CisjZW5kaWYgLy8gRU5BQkxFKENPTkNV
UlJFTlRfSklUKQorICAgIGlmIChlbmFibGVDb25jdXJyZW50SklUKSB7CisgICAgICAgIFdvcmts
aXN0KiB3b3JrbGlzdCA9IGVuc3VyZUdsb2JhbFdvcmtsaXN0Rm9yKG1vZGUpOwogICAgICAgICBw
bGFuLT5jYWxsYmFjayA9IGNhbGxiYWNrOwogICAgICAgICBpZiAobG9nQ29tcGlsYXRpb25DaGFu
Z2VzKCkpCiAgICAgICAgICAgICBkYXRhTG9nKCJEZWZlcnJpbmcgREZHIGNvbXBpbGF0aW9uIG9m
ICIsICpjb2RlQmxvY2ssICIgd2l0aCBxdWV1ZSBsZW5ndGggIiwgd29ya2xpc3QtPnF1ZXVlTGVu
Z3RoKCksICIuXG4iKTsKQEAgLTEwMiwyMSArMTE4LDIyIEBAIHN0YXRpYyBDb21waWxhdGlvblJl
c3VsdCBjb21waWxlSW1wbCgKIH0KICNlbHNlIC8vIEVOQUJMRShERkdfSklUKQogc3RhdGljIENv
bXBpbGF0aW9uUmVzdWx0IGNvbXBpbGVJbXBsKAotICAgIFZNJiwgQ29kZUJsb2NrKiwgQ29tcGls
YXRpb25Nb2RlLCB1bnNpZ25lZCwgY29uc3QgT3BlcmFuZHM8SlNWYWx1ZT4mLAotICAgIFBhc3NS
ZWZQdHI8RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrPiwgV29ya2xpc3QqKQorICAgIFZNJiwg
Q29kZUJsb2NrKiwgQ29kZUJsb2NrKiwgQ29tcGlsYXRpb25Nb2RlLCB1bnNpZ25lZCwgY29uc3Qg
T3BlcmFuZHM8SlNWYWx1ZT4mLAorICAgIFBhc3NSZWZQdHI8RGVmZXJyZWRDb21waWxhdGlvbkNh
bGxiYWNrPikKIHsKICAgICByZXR1cm4gQ29tcGlsYXRpb25GYWlsZWQ7CiB9CiAjZW5kaWYgLy8g
RU5BQkxFKERGR19KSVQpCiAKIENvbXBpbGF0aW9uUmVzdWx0IGNvbXBpbGUoCi0gICAgVk0mIHZt
LCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgQ29tcGlsYXRpb25Nb2RlIG1vZGUsIHVuc2lnbmVkIG9z
ckVudHJ5Qnl0ZWNvZGVJbmRleCwKLSAgICBjb25zdCBPcGVyYW5kczxKU1ZhbHVlPiYgbXVzdEhh
bmRsZVZhbHVlcywKLSAgICBQYXNzUmVmUHRyPERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjaz4g
cGFzc2VkQ2FsbGJhY2ssIFdvcmtsaXN0KiB3b3JrbGlzdCkKKyAgICBWTSYgdm0sIENvZGVCbG9j
ayogY29kZUJsb2NrLCBDb2RlQmxvY2sqIHByb2ZpbGVkREZHQ29kZUJsb2NrLCBDb21waWxhdGlv
bk1vZGUgbW9kZSwKKyAgICB1bnNpZ25lZCBvc3JFbnRyeUJ5dGVjb2RlSW5kZXgsIGNvbnN0IE9w
ZXJhbmRzPEpTVmFsdWU+JiBtdXN0SGFuZGxlVmFsdWVzLAorICAgIFBhc3NSZWZQdHI8RGVmZXJy
ZWRDb21waWxhdGlvbkNhbGxiYWNrPiBwYXNzZWRDYWxsYmFjaykKIHsKICAgICBSZWZQdHI8RGVm
ZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrPiBjYWxsYmFjayA9IHBhc3NlZENhbGxiYWNrOwogICAg
IENvbXBpbGF0aW9uUmVzdWx0IHJlc3VsdCA9IGNvbXBpbGVJbXBsKAotICAgICAgICB2bSwgY29k
ZUJsb2NrLCBtb2RlLCBvc3JFbnRyeUJ5dGVjb2RlSW5kZXgsIG11c3RIYW5kbGVWYWx1ZXMsIGNh
bGxiYWNrLCB3b3JrbGlzdCk7CisgICAgICAgIHZtLCBjb2RlQmxvY2ssIHByb2ZpbGVkREZHQ29k
ZUJsb2NrLCBtb2RlLCBvc3JFbnRyeUJ5dGVjb2RlSW5kZXgsIG11c3RIYW5kbGVWYWx1ZXMsCisg
ICAgICAgIGNhbGxiYWNrKTsKICAgICBpZiAocmVzdWx0ICE9IENvbXBpbGF0aW9uRGVmZXJyZWQp
CiAgICAgICAgIGNhbGxiYWNrLT5jb21waWxhdGlvbkRpZENvbXBsZXRlKGNvZGVCbG9jaywgcmVz
dWx0KTsKICAgICByZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdEcml2ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRHJpdmVy
LmgKaW5kZXggOWQ0MzYzOGRmNzAwY2JlODM4YWU1NmJhNGVkMzc1Y2Q1YzVlNDExMC4uYzk2Yjhk
YzY2NTc5MDk2NjEzMTExZmYxN2YyOThjYTc3Yzg3NDJkYyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0RyaXZlci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MSwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00MCwxNiArNDAsMTQgQEAgY2xhc3MgVk07CiAK
IG5hbWVzcGFjZSBERkcgewogCi1jbGFzcyBXb3JrbGlzdDsKLQogSlNfRVhQT1JUX1BSSVZBVEUg
dW5zaWduZWQgZ2V0TnVtQ29tcGlsYXRpb25zKCk7CiAKIC8vIElmIHRoZSB3b3JrbGlzdCBpcyBu
b24tbnVsbCwgd2UgZG8gYSBjb25jdXJyZW50IGNvbXBpbGUuIE90aGVyd2lzZSB3ZSBkbyBhIHN5
bmNocm9ub3VzCiAvLyBjb21waWxlLiBFdmVuIGlmIHdlIGRvIGEgc3luY2hyb25vdXMgY29tcGls
ZSwgd2UgY2FsbCB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgcmVzdWx0LgogQ29tcGlsYXRpb25SZXN1
bHQgY29tcGlsZSgKLSAgICBWTSYsIENvZGVCbG9jayosIENvbXBpbGF0aW9uTW9kZSwgdW5zaWdu
ZWQgb3NyRW50cnlCeXRlY29kZUluZGV4LAotICAgIGNvbnN0IE9wZXJhbmRzPEpTVmFsdWU+JiBt
dXN0SGFuZGxlVmFsdWVzLAotICAgIFBhc3NSZWZQdHI8RGVmZXJyZWRDb21waWxhdGlvbkNhbGxi
YWNrPiwgV29ya2xpc3QqKTsKKyAgICBWTSYsIENvZGVCbG9jayosIENvZGVCbG9jayogcHJvZmls
ZWRERkdDb2RlQmxvY2ssIENvbXBpbGF0aW9uTW9kZSwKKyAgICB1bnNpZ25lZCBvc3JFbnRyeUJ5
dGVjb2RlSW5kZXgsIGNvbnN0IE9wZXJhbmRzPEpTVmFsdWU+JiBtdXN0SGFuZGxlVmFsdWVzLAor
ICAgIFBhc3NSZWZQdHI8RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrPik7CiAKIH0gfSAvLyBu
YW1lc3BhY2UgSlNDOjpERkcKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdGYWlsZWRGaW5hbGl6ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdG
YWlsZWRGaW5hbGl6ZXIuY3BwCmluZGV4IGZiMDBlMjAyMWQzYWVhY2NjMTVkNjY5ODMwOTQyYzE1
YTEwMzViNDAuLjgwYTRjNjQ3MjE4NmVlYzUxZWMxYjg2YzNkZjdjMTA2MDg3MTEwYTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRmFpbGVkRmluYWxpemVyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZhaWxlZEZpbmFsaXplci5jcHAKQEAg
LTM5LDYgKzM5LDExIEBAIEZhaWxlZEZpbmFsaXplcjo6fkZhaWxlZEZpbmFsaXplcigpCiB7CiB9
CiAKK3NpemVfdCBGYWlsZWRGaW5hbGl6ZXI6OmNvZGVTaXplKCkKK3sKKyAgICByZXR1cm4gMDsK
K30KKwogYm9vbCBGYWlsZWRGaW5hbGl6ZXI6OmZpbmFsaXplKCkKIHsKICAgICByZXR1cm4gZmFs
c2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZhaWxlZEZpbmFs
aXplci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGYWlsZWRGaW5hbGl6ZXIuaApp
bmRleCA2ZGY1YTMwYWRlMzQ5YjE3ZjVmMzFjZWEwZTE5MWRlZmE5ZWNhYWIyLi40NjQ4NmU3ZWQ3
YTEyZGEwN2UxN2U1ZTFjZGQxZTk4MWM5YzFlYTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0ZhaWxlZEZpbmFsaXplci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRmFpbGVkRmluYWxpemVyLmgKQEAgLTM5LDYgKzM5LDcgQEAgcHVibGljOgog
ICAgIEZhaWxlZEZpbmFsaXplcihQbGFuJik7CiAgICAgdmlydHVhbCB+RmFpbGVkRmluYWxpemVy
KCk7CiAgICAgCisgICAgdmlydHVhbCBzaXplX3QgY29kZVNpemUoKSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIGJvb2wgZmluYWxpemUoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgZmluYWxp
emVGdW5jdGlvbigpIG92ZXJyaWRlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRmluYWxpemVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Zp
bmFsaXplci5oCmluZGV4IDc4MmM3NDRiMWY2YzliYjcxY2U4ZTljOWI0ZjE1MDZjM2ExMjRkNWQu
LjgyYmMwN2RmNWI0OTE5MjVlZTdkNzg1N2RlNDRlZTQwNmY2YmUyNTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRmluYWxpemVyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdGaW5hbGl6ZXIuaApAQCAtNDYsNiArNDYsNyBAQCBwdWJsaWM6CiAg
ICAgRmluYWxpemVyKFBsYW4mKTsKICAgICB2aXJ0dWFsIH5GaW5hbGl6ZXIoKTsKICAgICAKKyAg
ICB2aXJ0dWFsIHNpemVfdCBjb2RlU2l6ZSgpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgZmluYWxp
emUoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGZpbmFsaXplRnVuY3Rpb24oKSA9IDA7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCmluZGV4IDE4NWYwMzU5
MTIxMjk0ZTBiZTVjOGViNDg3Mzg5NjQwMGVmYzg1MTIuLjBlYzEzMTk3MTQ4YTY0YWRiNzEyNTcx
MDFhNzM3MzNhNGFkOTZjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1
cFBoYXNlLmNwcApAQCAtMTAwLDEyICsxMDAsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBC
aXRSU2hpZnQ6CiAgICAgICAgIGNhc2UgQml0TFNoaWZ0OgogICAgICAgICBjYXNlIEJpdFVSU2hp
ZnQ6IHsKLSAgICAgICAgICAgIGZpeEJpbmFyeUludEVkZ2VzKCk7CisgICAgICAgICAgICBmaXhJ
bnRFZGdlKG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgICAgIGZpeEludEVkZ2Uobm9kZS0+Y2hp
bGQyKCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAogICAgICAgICBjYXNlIEFy
aXRoSU11bDogewotICAgICAgICAgICAgZml4QmluYXJ5SW50RWRnZXMoKTsKKyAgICAgICAgICAg
IGZpeEludEVkZ2Uobm9kZS0+Y2hpbGQxKCkpOworICAgICAgICAgICAgZml4SW50RWRnZShub2Rl
LT5jaGlsZDIoKSk7CiAgICAgICAgICAgICBub2RlLT5zZXRPcChBcml0aE11bCk7CiAgICAgICAg
ICAgICBub2RlLT5zZXRBcml0aE1vZGUoQXJpdGg6OlVuY2hlY2tlZCk7CiAgICAgICAgICAgICBu
b2RlLT5jaGlsZDEoKS5zZXRVc2VLaW5kKEludDMyVXNlKTsKQEAgLTQ1MCw2ICs0NTIsNyBAQCBw
cml2YXRlOgogICAgICAgICBjYXNlIEdldEJ5VmFsOiB7CiAgICAgICAgICAgICBub2RlLT5zZXRB
cnJheU1vZGUoCiAgICAgICAgICAgICAgICAgbm9kZS0+YXJyYXlNb2RlKCkucmVmaW5lKAorICAg
ICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5jb2RlT3JpZ2luLAogICAgICAgICAgICAg
ICAgICAgICBub2RlLT5jaGlsZDEoKS0+cHJlZGljdGlvbigpLAogICAgICAgICAgICAgICAgICAg
ICBub2RlLT5jaGlsZDIoKS0+cHJlZGljdGlvbigpLAogICAgICAgICAgICAgICAgICAgICBTcGVj
Tm9uZSwgbm9kZS0+ZmxhZ3MoKSkpOwpAQCAtNTA3LDYgKzUxMCw3IEBAIHByaXZhdGU6CiAKICAg
ICAgICAgICAgIG5vZGUtPnNldEFycmF5TW9kZSgKICAgICAgICAgICAgICAgICBub2RlLT5hcnJh
eU1vZGUoKS5yZWZpbmUoCisgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPmNvZGVP
cmlnaW4sCiAgICAgICAgICAgICAgICAgICAgIGNoaWxkMS0+cHJlZGljdGlvbigpLAogICAgICAg
ICAgICAgICAgICAgICBjaGlsZDItPnByZWRpY3Rpb24oKSwKICAgICAgICAgICAgICAgICAgICAg
Y2hpbGQzLT5wcmVkaWN0aW9uKCkpKTsKQEAgLTU5Miw2ICs1OTYsNyBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgLy8gdGhhdCB3b3VsZCBicmVhayB0aGluZ3MuCiAgICAgICAgICAgICBub2RlLT5z
ZXRBcnJheU1vZGUoCiAgICAgICAgICAgICAgICAgbm9kZS0+YXJyYXlNb2RlKCkucmVmaW5lKAor
ICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5jb2RlT3JpZ2luLAogICAgICAgICAg
ICAgICAgICAgICBub2RlLT5jaGlsZDEoKS0+cHJlZGljdGlvbigpICYgU3BlY0NlbGwsCiAgICAg
ICAgICAgICAgICAgICAgIFNwZWNJbnQzMiwKICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y2hp
bGQyKCktPnByZWRpY3Rpb24oKSkpOwpAQCAtOTQ2LDcgKzk1MSw2IEBAIHByaXZhdGU6CiAgICAg
ICAgICAgICAgICAgT3BJbmZvKG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPmNvZGVPcmln
aW4pKSk7CiAgICAgICAgICAgICBOb2RlKiBiYXJyaWVyTm9kZSA9IG1fZ3JhcGguYWRkTm9kZShT
cGVjTm9uZSwgQ29uZGl0aW9uYWxTdG9yZUJhcnJpZXIsIG1fY3VycmVudE5vZGUtPmNvZGVPcmln
aW4sIAogICAgICAgICAgICAgICAgIEVkZ2UoZ2xvYmFsT2JqZWN0Tm9kZSwgS25vd25DZWxsVXNl
KSwgRWRnZShub2RlLT5jaGlsZDEoKS5ub2RlKCksIFVudHlwZWRVc2UpKTsKLSAgICAgICAgICAg
IGZpeHVwTm9kZShiYXJyaWVyTm9kZSk7CiAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNl
cnQobV9pbmRleEluQmxvY2ssIGJhcnJpZXJOb2RlKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CkBAIC05NTQsNyArOTU4LDYgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBUZWFyT2Zm
QWN0aXZhdGlvbjogewogICAgICAgICAgICAgTm9kZSogYmFycmllck5vZGUgPSBtX2dyYXBoLmFk
ZE5vZGUoU3BlY05vbmUsIFN0b3JlQmFycmllcldpdGhOdWxsQ2hlY2ssIG1fY3VycmVudE5vZGUt
PmNvZGVPcmlnaW4sIAogICAgICAgICAgICAgICAgIEVkZ2Uobm9kZS0+Y2hpbGQxKCkubm9kZSgp
LCBVbnR5cGVkVXNlKSk7Ci0gICAgICAgICAgICBmaXh1cE5vZGUoYmFycmllck5vZGUpOwogICAg
ICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KG1faW5kZXhJbkJsb2NrLCBiYXJyaWVyTm9k
ZSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMTAzNCw2ICsxMDM3LDI0IEBA
IHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBpZiAoIW5vZGUtPmNvbnRhaW5zTW92SGludCgp
KQogICAgICAgICAgICAgREZHX05PREVfRE9fVE9fQ0hJTERSRU4obV9ncmFwaCwgbm9kZSwgb2Jz
ZXJ2ZVVudHlwZWRFZGdlKTsKKyAgICAgICAgCisgICAgICAgIGlmIChub2RlLT5pc1Rlcm1pbmFs
KCkpIHsKKyAgICAgICAgICAgIC8vIFRlcm1pbmFsIG5vZGVzIGRvbid0IG5lZWQgcG9zdC1waGFu
dG9tcywgYW5kIGluc2VydGluZyB0aGVtIHdvdWxkIHZpb2xhdGUKKyAgICAgICAgICAgIC8vIHRo
ZSBjdXJyZW50IHJlcXVpcmVtZW50IHRoYXQgYSB0ZXJtaW5hbCBpcyB0aGUgbGFzdCB0aGluZyBp
biBhIGJsb2NrLiBXZQorICAgICAgICAgICAgLy8gc2hvdWxkIGV2ZW50dWFsbHkgY2hhbmdlIHRo
YXQgcmVxdWlyZW1lbnQgYnV0IGV2ZW4gaWYgd2UgZGlkLCB0aGlzIHdvdWxkCisgICAgICAgICAg
ICAvLyBzdGlsbCBiZSBhIHZhbGlkIG9wdGltaXphdGlvbi4gQWxsIHRlcm1pbmFscyBhY2NlcHQg
anVzdCBvbmUgaW5wdXQsIGFuZAorICAgICAgICAgICAgLy8gaWYgdGhhdCBpbnB1dCBpcyBhIGNv
bnZlcnNpb24gbm9kZSB0aGVuIG5vIGZ1cnRoZXIgc3BlY3VsYXRpb25zIHdpbGwgYmUKKyAgICAg
ICAgICAgIC8vIHBlcmZvcm1lZC4KKyAgICAgICAgICAgIC8vIEZJWE1FOiBHZXQgcmlkIG9mIHRo
aXMgYnkgYWxsb3dpbmcgUGhhbnRvbXMgYWZ0ZXIgdGVybWluYWxzLgorICAgICAgICAgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjc3OAorICAgICAgICAg
ICAgbV9yZXF1aXJlZFBoYW50b21zLnJlc2l6ZSgwKTsKKyAgICAgICAgLy8gU2luY2UgU3RvcmVC
YXJyaWVycyBhcmUgcmVjdXJzaXZlbHkgZml4ZWQgdXAgc28gdGhhdCB0aGVpciBjaGlsZHJlbiBs
b29rIAorICAgICAgICAvLyBpZGVudGljYWwgdG8gdGhhdCBvZiB0aGUgbm9kZSB0aGV5J3JlIGJh
cnJpZXItaW5nLCB3ZSBuZWVkIHRvIGF2b2lkIGFkZGluZworICAgICAgICAvLyBhbnkgUGhhbnRv
bXMgd2hlbiBwcm9jZXNzaW5nIHRoZW0gYmVjYXVzZSB0aGlzIHdvdWxkIGludmFsaWRhdGUgdGhl
IAorICAgICAgICAvLyBJbnNlcnRpb25TZXQncyBpbnZhcmlhbnQgb2YgaW5zZXJ0aW5nIHRoaW5n
cyBpbiBhIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZworICAgICAgICAvLyBvcmRlci4gVGhpcyBz
aG91bGQgYmUgb2theSBhbnl3YXlzIGJlY2F1c2UgU3RvcmVCYXJyaWVycyBjYW4ndCBleGl0LiAK
KyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBhZGRQaGFudG9tc0lmTmVjZXNzYXJ5KCk7CiAg
ICAgfQogICAgIAogICAgIHZvaWQgb2JzZXJ2ZVVudHlwZWRFZGdlKE5vZGUqLCBFZGdlJiBlZGdl
KQpAQCAtMTMxOSw2ICsxMzQwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgfQorICAgICAgICAgICAgYWRkUGhhbnRvbXNJZk5lY2Vzc2FyeSgpOwogICAgICAgICB9CiAg
ICAgICAgIG1faW5zZXJ0aW9uU2V0LmV4ZWN1dGUoYmxvY2spOwogICAgIH0KQEAgLTEzMzQsOCAr
MTM1NiwxMCBAQCBwcml2YXRlOgogICAgICAgICAgICAgaWYgKG5vZGUtPm9wKCkgIT0gU2V0TG9j
YWwpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAKLSAgICAgICAgICAg
IGlmIChub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKKyAgICAgICAgICAg
IGlmIChub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkgewogICAgICAgICAg
ICAgICAgIGZpeEVkZ2U8VW50eXBlZFVzZT4obm9kZS0+Y2hpbGQxKCkpOworICAgICAgICAgICAg
ICAgIGFkZFBoYW50b21zSWZOZWNlc3NhcnkoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgICAgICBtX2luc2VydGlvblNldC5leGVjdXRlKGJsb2NrKTsKICAgICB9CkBAIC0xNTA5LDYg
KzE1MzMsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIC8vIEludDhUb0RvdWJsZSB3aWxs
IGNvbnZlcnQgaW50NTIncyB0aGF0IGZpdCBpbiBhbiBpbnQzMiBpbnRvIGEgZG91YmxlCiAgICAg
ICAgICAgICAgICAgLy8gcmF0aGVyIHRoYW4gdHJ5aW5nIHRvIGNyZWF0ZSBhIGJveGVkIGludDMy
IGxpa2UgSW50NTJUb1ZhbHVlIGRvZXMuCiAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAg
ICAgbV9yZXF1aXJlZFBoYW50b21zLmFwcGVuZChlZGdlLm5vZGUoKSk7CiAgICAgICAgICAgICAg
ICAgTm9kZSogcmVzdWx0ID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKICAgICAgICAgICAg
ICAgICAgICAgbV9pbmRleEluQmxvY2ssIFNwZWNJbnQ1MkFzRG91YmxlLCBJbnQ1MlRvRG91Ymxl
LAogICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnROb2RlLT5jb2RlT3JpZ2luLCBFZGdlKGVk
Z2Uubm9kZSgpLCBOdW1iZXJVc2UpKTsKQEAgLTE1NjIsNiArMTU4Nyw3IEBAIHByaXZhdGU6CiAg
ICAgICAgICAgICAvLwogICAgICAgICAgICAgLy8gQnV0IHRoZSBzb2x1dGlvbiB3ZSB1c2UgaGFu
ZGxlcyB0aGUgYWJvdmUgZ3JhY2VmdWxseS4KICAgICAgICAgICAgIAorICAgICAgICAgICAgbV9y
ZXF1aXJlZFBoYW50b21zLmFwcGVuZChlZGdlLm5vZGUoKSk7CiAgICAgICAgICAgICBOb2RlKiBy
ZXN1bHQgPSBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAogICAgICAgICAgICAgICAgIG1faW5k
ZXhJbkJsb2NrLCBTcGVjSW50NTIsIEludDUyVG9WYWx1ZSwKICAgICAgICAgICAgICAgICBtX2N1
cnJlbnROb2RlLT5jb2RlT3JpZ2luLCBFZGdlKGVkZ2Uubm9kZSgpLCBVbnR5cGVkVXNlKSk7CkBA
IC0xNTgzLDE2ICsxNjA5LDE1IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBiYXJyaWVyTm9kZSA9
IG1fZ3JhcGguYWRkTm9kZShTcGVjTm9uZSwgQ29uZGl0aW9uYWxTdG9yZUJhcnJpZXIsIG1fY3Vy
cmVudE5vZGUtPmNvZGVPcmlnaW4sIAogICAgICAgICAgICAgICAgIEVkZ2UoY2hpbGQxLm5vZGUo
KSwgY2hpbGQxLnVzZUtpbmQoKSksIEVkZ2UoY2hpbGQyLm5vZGUoKSwgY2hpbGQyLnVzZUtpbmQo
KSkpOwogICAgICAgICB9Ci0gICAgICAgIGZpeHVwTm9kZShiYXJyaWVyTm9kZSk7CiAgICAgICAg
IG1faW5zZXJ0aW9uU2V0Lmluc2VydChpbmRleEluQmxvY2ssIGJhcnJpZXJOb2RlKTsKICAgICB9
CiAKLSAgICBib29sIGZpeEludEVkZ2UoRWRnZSYgZWRnZSkKKyAgICB2b2lkIGZpeEludEVkZ2Uo
RWRnZSYgZWRnZSkKICAgICB7CiAgICAgICAgIE5vZGUqIG5vZGUgPSBlZGdlLm5vZGUoKTsKICAg
ICAgICAgaWYgKG5vZGUtPnNob3VsZFNwZWN1bGF0ZUludDMyKCkpIHsKICAgICAgICAgICAgIGZp
eEVkZ2U8SW50MzJVc2U+KGVkZ2UpOwotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBVc2VLaW5kIHVzZUtp
bmQ7CkBAIC0xNjEwLDI0ICsxNjM1LDEzIEBAIHByaXZhdGU6CiAgICAgICAgIG9ic2VydmVVc2VL
aW5kT25Ob2RlKG5vZGUsIHVzZUtpbmQpOwogICAgICAgICAKICAgICAgICAgZWRnZSA9IEVkZ2Uo
bmV3Tm9kZSwgS25vd25JbnQzMlVzZSk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAg
ICAKLSAgICB2b2lkIGZpeEJpbmFyeUludEVkZ2VzKCkKLSAgICB7Ci0gICAgICAgIEFkamFjZW5j
eUxpc3QgY2hpbGRyZW4gPSBtX2N1cnJlbnROb2RlLT5jaGlsZHJlbjsKLSAgICAgICAgCi0gICAg
ICAgIC8vIENhbGwgZml4SW50RWRnZSgpIG9uIGJvdGggZWRnZXMuCi0gICAgICAgIGJvb2wgbmVl
ZFBoYW50b20gPQotICAgICAgICAgICAgZml4SW50RWRnZShtX2N1cnJlbnROb2RlLT5jaGlsZDEo
KSkgfCBmaXhJbnRFZGdlKG1fY3VycmVudE5vZGUtPmNoaWxkMigpKTsKLSAgICAgICAgCi0gICAg
ICAgIGlmICghbmVlZFBoYW50b20pCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG1faW5z
ZXJ0aW9uU2V0Lmluc2VydE5vZGUobV9pbmRleEluQmxvY2sgKyAxLCBTcGVjTm9uZSwgUGhhbnRv
bSwgbV9jdXJyZW50Tm9kZS0+Y29kZU9yaWdpbiwgY2hpbGRyZW4pOworICAgICAgICBtX3JlcXVp
cmVkUGhhbnRvbXMuYXBwZW5kKG5vZGUpOwogICAgIH0KICAgICAKICAgICB2b2lkIGluamVjdElu
dDMyVG9Eb3VibGVOb2RlKEVkZ2UmIGVkZ2UsIFVzZUtpbmQgdXNlS2luZCA9IE51bWJlclVzZSkK
ICAgICB7CisgICAgICAgIG1fcmVxdWlyZWRQaGFudG9tcy5hcHBlbmQoZWRnZS5ub2RlKCkpOwor
ICAgICAgICAKICAgICAgICAgTm9kZSogcmVzdWx0ID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9k
ZSgKICAgICAgICAgICAgIG1faW5kZXhJbkJsb2NrLCBTcGVjSW50NTJBc0RvdWJsZSwgSW50MzJU
b0RvdWJsZSwKICAgICAgICAgICAgIG1fY3VycmVudE5vZGUtPmNvZGVPcmlnaW4sIEVkZ2UoZWRn
ZS5ub2RlKCksIE51bWJlclVzZSkpOwpAQCAtMTcyMiw3ICsxNzM2LDggQEAgcHJpdmF0ZToKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICAgICAgCi0gICAgICAgIGFycmF5TW9kZSA9
IGFycmF5TW9kZS5yZWZpbmUobm9kZS0+Y2hpbGQxKCktPnByZWRpY3Rpb24oKSwgbm9kZS0+cHJl
ZGljdGlvbigpKTsKKyAgICAgICAgYXJyYXlNb2RlID0gYXJyYXlNb2RlLnJlZmluZSgKKyAgICAg
ICAgICAgIG1fZ3JhcGgsIG5vZGUtPmNvZGVPcmlnaW4sIG5vZGUtPmNoaWxkMSgpLT5wcmVkaWN0
aW9uKCksIG5vZGUtPnByZWRpY3Rpb24oKSk7CiAgICAgICAgICAgICAKICAgICAgICAgaWYgKGFy
cmF5TW9kZS50eXBlKCkgPT0gQXJyYXk6OkdlbmVyaWMpIHsKICAgICAgICAgICAgIC8vIENoZWNr
IGlmIHRoZSBpbnB1dCBpcyBzb21ldGhpbmcgdGhhdCB3ZSBjYW4ndCBnZXQgYXJyYXkgbGVuZ3Ro
IGZvciwgYnV0IGZvciB3aGljaCB3ZQpAQCAtMTgxMywxMiArMTgyOCwyNyBAQCBwcml2YXRlOgog
ICAgICAgICBmaXhFZGdlPEtub3duQ2VsbFVzZT4obm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CisgICAgCisgICAgdm9pZCBhZGRQaGFudG9tc0lmTmVjZXNzYXJ5
KCkKKyAgICB7CisgICAgICAgIGlmIChtX3JlcXVpcmVkUGhhbnRvbXMuaXNFbXB0eSgpKQorICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbV9y
ZXF1aXJlZFBoYW50b21zLnNpemUoKTsgaS0tOykgeworICAgICAgICAgICAgbV9pbnNlcnRpb25T
ZXQuaW5zZXJ0Tm9kZSgKKyAgICAgICAgICAgICAgICBtX2luZGV4SW5CbG9jayArIDEsIFNwZWNO
b25lLCBQaGFudG9tLCBtX2N1cnJlbnROb2RlLT5jb2RlT3JpZ2luLAorICAgICAgICAgICAgICAg
IEVkZ2UobV9yZXF1aXJlZFBoYW50b21zW2ldLCBVbnR5cGVkVXNlKSk7CisgICAgICAgIH0KKyAg
ICAgICAgCisgICAgICAgIG1fcmVxdWlyZWRQaGFudG9tcy5yZXNpemUoMCk7CisgICAgfQogCiAg
ICAgQmFzaWNCbG9jayogbV9ibG9jazsKICAgICB1bnNpZ25lZCBtX2luZGV4SW5CbG9jazsKICAg
ICBOb2RlKiBtX2N1cnJlbnROb2RlOwogICAgIEluc2VydGlvblNldCBtX2luc2VydGlvblNldDsK
ICAgICBib29sIG1fcHJvZml0YWJpbGl0eUNoYW5nZWQ7CisgICAgVmVjdG9yPE5vZGUqLCAzPiBt
X3JlcXVpcmVkUGhhbnRvbXM7CiB9OwogICAgIAogYm9vbCBwZXJmb3JtRml4dXAoR3JhcGgmIGdy
YXBoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAppbmRleCA4MjU2MDA3ZTlj
NDAxNDIzNzhkMmZiMjZkNGU5OWZhYzI2NDhlMGJjLi4xMzVjYTg1ZmM5MTc3MDFlMzU1MjQ1Yzli
MDEwMGMyMGZlZWI5YTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0dyYXBoLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcApA
QCAtMzYsOCArMzYsMTAgQEAKICNpbmNsdWRlICJGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmgiCiAj
aW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSlNBY3RpdmF0aW9uLmgiCisjaW5jbHVkZSAiTWF4
RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwuaCIKICNpbmNsdWRlICJPcGVyYW5kc0lubGluZXMu
aCIKICNpbmNsdWRlICJPcGVyYXRpb25zLmgiCisjaW5jbHVkZSAiU3RhY2tBbGlnbm1lbnQuaCIK
ICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3REdW1wLmg+
CiAKQEAgLTY3OCwxMCArNjgwLDEwIEBAIEZ1bGxCeXRlY29kZUxpdmVuZXNzJiBHcmFwaDo6bGl2
ZW5lc3NGb3IoSW5saW5lQ2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJhbWUpCiBib29sIEdyYXBoOjpp
c0xpdmVJbkJ5dGVjb2RlKFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kLCBDb2RlT3JpZ2luIGNvZGVP
cmlnaW4pCiB7CiAgICAgZm9yICg7OykgeworICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgcmVnID0g
VmlydHVhbFJlZ2lzdGVyKAorICAgICAgICAgICAgb3BlcmFuZC5vZmZzZXQoKSAtIGNvZGVPcmln
aW4uc3RhY2tPZmZzZXQoKSk7CisgICAgICAgIAogICAgICAgICBpZiAob3BlcmFuZC5vZmZzZXQo
KSA8IGNvZGVPcmlnaW4uc3RhY2tPZmZzZXQoKSArIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNp
emUpIHsKLSAgICAgICAgICAgIFZpcnR1YWxSZWdpc3RlciByZWcgPSBWaXJ0dWFsUmVnaXN0ZXIo
Ci0gICAgICAgICAgICAgICAgb3BlcmFuZC5vZmZzZXQoKSAtIGNvZGVPcmlnaW4uc3RhY2tPZmZz
ZXQoKSk7Ci0gICAgICAgICAgICAKICAgICAgICAgICAgIGlmIChyZWcuaXNBcmd1bWVudCgpKSB7
CiAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQocmVnLm9mZnNldCgpIDwgSlNTdGFjazo6
Q2FsbEZyYW1lSGVhZGVyU2l6ZSk7CiAgICAgICAgICAgICAgICAgCkBAIC03MDAsMTAgKzcwMiwx
OCBAQCBib29sIEdyYXBoOjppc0xpdmVJbkJ5dGVjb2RlKFZpcnR1YWxSZWdpc3RlciBvcGVyYW5k
LCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4pCiAgICAgICAgICAgICAgICAgcmVnLm9mZnNldCgpLCBj
b2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgpOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBp
ZiAoIWNvZGVPcmlnaW4uaW5saW5lQ2FsbEZyYW1lKQorICAgICAgICBJbmxpbmVDYWxsRnJhbWUq
IGlubGluZUNhbGxGcmFtZSA9IGNvZGVPcmlnaW4uaW5saW5lQ2FsbEZyYW1lOworICAgICAgICBp
ZiAoIWlubGluZUNhbGxGcmFtZSkKICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIC8vIEFy
Z3VtZW50cyBhcmUgYWx3YXlzIGxpdmUuIFRoaXMgd291bGQgYmUgcmVkdW5kYW50IGlmIGl0IHdh
c24ndCBmb3Igb3VyCisgICAgICAgIC8vIG9wX2NhbGxfdmFyYXJncyBpbmxpbmluZy4KKyAgICAg
ICAgaWYgKHJlZy5pc0FyZ3VtZW50KCkKKyAgICAgICAgICAgICYmIHJlZy50b0FyZ3VtZW50KCkK
KyAgICAgICAgICAgICYmIHN0YXRpY19jYXN0PHNpemVfdD4ocmVnLnRvQXJndW1lbnQoKSkgPCBp
bmxpbmVDYWxsRnJhbWUtPmFyZ3VtZW50cy5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICAgICAgCi0gICAgICAgIGNvZGVPcmlnaW4gPSBjb2RlT3JpZ2luLmlubGluZUNhbGxG
cmFtZS0+Y2FsbGVyOworICAgICAgICBjb2RlT3JpZ2luID0gaW5saW5lQ2FsbEZyYW1lLT5jYWxs
ZXI7CiAgICAgfQogICAgIAogICAgIHJldHVybiB0cnVlOwpAQCAtNzExLDcgKzcyMSwxMyBAQCBi
b29sIEdyYXBoOjppc0xpdmVJbkJ5dGVjb2RlKFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kLCBDb2Rl
T3JpZ2luIGNvZGVPcmlnaW4pCiAKIHVuc2lnbmVkIEdyYXBoOjpmcmFtZVJlZ2lzdGVyQ291bnQo
KQogewotICAgIHJldHVybiBtX25leHRNYWNoaW5lTG9jYWwgKyBtX3BhcmFtZXRlclNsb3RzOwor
ICAgIHVuc2lnbmVkIHJlc3VsdCA9IG1fbmV4dE1hY2hpbmVMb2NhbCArIHN0ZDo6bWF4KG1fcGFy
YW1ldGVyU2xvdHMsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihtYXhGcmFtZUV4dGVudEZvclNsb3dQ
YXRoQ2FsbEluUmVnaXN0ZXJzKSk7CisgICAgcmV0dXJuIHJvdW5kTG9jYWxSZWdpc3RlckNvdW50
Rm9yRnJhbWVQb2ludGVyT2Zmc2V0KHJlc3VsdCk7Cit9CisKK3Vuc2lnbmVkIEdyYXBoOjpzdGFj
a1BvaW50ZXJPZmZzZXQoKQoreworICAgIHJldHVybiB2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChm
cmFtZVJlZ2lzdGVyQ291bnQoKSAtIDEpLm9mZnNldCgpOwogfQogCiB1bnNpZ25lZCBHcmFwaDo6
cmVxdWlyZWRSZWdpc3RlckNvdW50Rm9yRXhpdCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0dyYXBoLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dy
YXBoLmgKaW5kZXggN2E1MTcwMDQ4NzFiNzc1ODc3MDk2OTJmMDQ3MmUzMmI5ZDlkMDFhMC4uMjkx
OWFmNDg3NjJiZjI1MzliMDhmMjBkZWRhNjVhZTU1NjNiNmU0ZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHR3JhcGguaApAQCAtNzkzLDYgKzc5Myw3IEBAIHB1YmxpYzoKICAgICBib29sIGlz
TGl2ZUluQnl0ZWNvZGUoVmlydHVhbFJlZ2lzdGVyLCBDb2RlT3JpZ2luKTsKICAgICAKICAgICB1
bnNpZ25lZCBmcmFtZVJlZ2lzdGVyQ291bnQoKTsKKyAgICB1bnNpZ25lZCBzdGFja1BvaW50ZXJP
ZmZzZXQoKTsKICAgICB1bnNpZ25lZCByZXF1aXJlZFJlZ2lzdGVyQ291bnRGb3JFeGl0KCk7CiAg
ICAgdW5zaWduZWQgcmVxdWlyZWRSZWdpc3RlckNvdW50Rm9yRXhlY3V0aW9uQW5kRXhpdCgpOwog
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZS5jcHAKaW5kZXggYzUzNjUz
ZjhmYWI1MzQ1OTc3MTJiMDAwY2QwMmQxNGE1MzNiMTAzMC4uMDYyNzVkM2E0YTE4ZmEzZDU3MWI5
NDMyNjJiODY5Y2MwODAxN2M4MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdKSVRDb2RlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENv
ZGUuY3BwCkBAIC0xNTYsNiArMTU2LDcgQEAgdm9pZCBKSVRDb2RlOjpzZXRPcHRpbWl6YXRpb25U
aHJlc2hvbGRCYXNlZE9uQ29tcGlsYXRpb25SZXN1bHQoCiAgICAgc3dpdGNoIChyZXN1bHQpIHsK
ICAgICBjYXNlIENvbXBpbGF0aW9uU3VjY2Vzc2Z1bDoKICAgICAgICAgb3B0aW1pemVOZXh0SW52
b2NhdGlvbihjb2RlQmxvY2spOworICAgICAgICBjb2RlQmxvY2stPmJhc2VsaW5lVmVyc2lvbigp
LT5tX2hhc0JlZW5Db21waWxlZFdpdGhGVEwgPSB0cnVlOwogICAgICAgICByZXR1cm47CiAgICAg
Y2FzZSBDb21waWxhdGlvbkZhaWxlZDoKICAgICAgICAgZG9udE9wdGltaXplQW55dGltZVNvb24o
Y29kZUJsb2NrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklU
Q29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlLmgKaW5kZXggMGU3
NzFlMDQ2NWI3M2Y1OGJmZmFmM2Y0OTU1ZjBjOTA5MzYyMzQ3OS4uMDJkNDc4ZWIyYjM2YTllZTE0
Y2Q3MGY2YmIyYzIwZDg1MTAyMjUzNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdKSVRDb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRD
b2RlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTExOSw2ICsxMTksNyBAQCBwdWJsaWM6CiAgICAgVmVjdG9yPERGRzo6T1NSRW50cnlE
YXRhPiBvc3JFbnRyeTsKICAgICBTZWdtZW50ZWRWZWN0b3I8REZHOjpPU1JFeGl0LCA4PiBvc3JF
eGl0OwogICAgIFZlY3RvcjxERkc6OlNwZWN1bGF0aW9uUmVjb3Zlcnk+IHNwZWN1bGF0aW9uUmVj
b3Zlcnk7CisgICAgVmVjdG9yPHVuc2lnbmVkPiBzbG93UGF0aENhbGxzOwogICAgIERGRzo6VmFy
aWFibGVFdmVudFN0cmVhbSB2YXJpYWJsZUV2ZW50U3RyZWFtOwogICAgIERGRzo6TWluaWZpZWRH
cmFwaCBtaW5pZmllZERGRzsKICNpZiBFTkFCTEUoRlRMX0pJVCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5jcHAKaW5kZXggMjkzNGQyYmE5YjA3MmYzOWI3N2U3
MTRlZTFjNjg3YTlkMWUxYTBkNi4uYTljMGYwZjIxZTI0YWExNDRjZWY0MjQyYWUxMzUxZmRlODRk
NDQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxl
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5jcHAK
QEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShERkdfSklUKQogCisjaW5jbHVkZSAiQXJp
dHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuaCIKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNs
dWRlICJERkdGYWlsZWRGaW5hbGl6ZXIuaCIKICNpbmNsdWRlICJERkdJbmxpbmVDYWNoZVdyYXBw
ZXJJbmxpbmVzLmgiCkBAIC00MCw2ICs0MSw3IEBACiAjaW5jbHVkZSAiREZHU3BlY3VsYXRpdmVK
SVQuaCIKICNpbmNsdWRlICJERkdUaHVua3MuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlSW5saW5l
cy5oIgorI2luY2x1ZGUgIk1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmgiCiAjaW5jbHVk
ZSAiVk0uaCIKICNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCiAKQEAgLTkyLDE1ICs5NCwxNCBAQCB2
b2lkIEpJVENvbXBpbGVyOjpsaW5rT1NSRXhpdHMoKQogdm9pZCBKSVRDb21waWxlcjo6Y29tcGls
ZUVudHJ5KCkKIHsKICAgICAvLyBUaGlzIGNvZGUgY3VycmVudGx5IG1hdGNoZXMgdGhlIG9sZCBK
SVQuIEluIHRoZSBmdW5jdGlvbiBoZWFkZXIgd2UgbmVlZCB0bwotICAgIC8vIHBvcCB0aGUgcmV0
dXJuIGFkZHJlc3MgKHNpbmNlIHdlIGRvIG5vdCBhbGxvdyBhbnkgcmVjdXJzaW9uIG9uIHRoZSBt
YWNoaW5lCi0gICAgLy8gc3RhY2spLCBhbmQgcGVyZm9ybSBhIGZhc3Qgc3RhY2sgY2hlY2suCisg
ICAgLy8gc2F2ZSByZXR1cm4gYWRkcmVzcyBhbmQgY2FsbCBmcmFtZSB2aWEgdGhlIHByb2xvZ3Vl
IGFuZCBwZXJmb3JtIGEgZmFzdCBzdGFjayBjaGVjay4KICAgICAvLyBGSVhNRTogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2MjkyCiAgICAgLy8gV2UnbGwgbmVlZCB0
byBjb252ZXJ0IHRoZSByZW1haW5pbmcgY3RpXyBzdHlsZSBjYWxscyAoc3BlY2lmaWNhbGx5IHRo
ZSBzdGFjawogICAgIC8vIGNoZWNrKSB3aGljaCB3aWxsIGJlIGRlcGVuZGVudCBvbiBzdGFjayBs
YXlvdXQuIChXZSdkIG5lZWQgdG8gYWNjb3VudCBmb3IgdGhpcyBpbgogICAgIC8vIGJvdGggbm9y
bWFsIHJldHVybiBjb2RlIGFuZCB3aGVuIGp1bXBpbmcgdG8gYW4gZXhjZXB0aW9uIGhhbmRsZXIp
LgotICAgIHByZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVyQ2FsbChHUFJJbmZvOjpyZWdUMik7Ci0g
ICAgZW1pdFB1dFJldHVyblBDVG9DYWxsRnJhbWVIZWFkZXIoR1BSSW5mbzo6cmVnVDIpOworICAg
IGVtaXRGdW5jdGlvblByb2xvZ3VlKCk7CiAgICAgZW1pdFB1dEltbWVkaWF0ZVRvQ2FsbEZyYW1l
SGVhZGVyKG1fY29kZUJsb2NrLCBKU1N0YWNrOjpDb2RlQmxvY2spOworICAgIGppdEFzc2VydFRh
Z3NJblBsYWNlKCk7CiB9CiAKIHZvaWQgSklUQ29tcGlsZXI6OmNvbXBpbGVCb2R5KCkKQEAgLTEy
MSwyMiArMTIyLDI1IEBAIHZvaWQgSklUQ29tcGlsZXI6OmNvbXBpbGVFeGNlcHRpb25IYW5kbGVy
cygpCiAKICAgICBpZiAoIW1fZXhjZXB0aW9uQ2hlY2tzV2l0aENhbGxGcmFtZVJvbGxiYWNrLmVt
cHR5KCkpIHsKICAgICAgICAgbV9leGNlcHRpb25DaGVja3NXaXRoQ2FsbEZyYW1lUm9sbGJhY2su
bGluayh0aGlzKTsKLSAgICAgICAgZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRl
clB0cihHUFJJbmZvOjphcmd1bWVudEdQUjApOworICAgICAgICBlbWl0R2V0Q2FsbGVyRnJhbWVG
cm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEdQUkluZm86OmFyZ3VtZW50R1BSMSk7CiAgICAgICAgIGRv
TG9va3VwID0ganVtcCgpOwogICAgIH0KIAogICAgIGlmICghbV9leGNlcHRpb25DaGVja3MuZW1w
dHkoKSkKICAgICAgICAgbV9leGNlcHRpb25DaGVja3MubGluayh0aGlzKTsKIAotICAgIC8vIGxv
b2t1cEV4Y2VwdGlvbkhhbmRsZXIgaXMgcGFzc2VkIG9uZSBhcmd1bWVudCwgdGhlIGV4ZWMgKHRo
ZSBDYWxsRnJhbWUqKS4KLSAgICBtb3ZlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJ
bmZvOjphcmd1bWVudEdQUjApOworICAgIC8vIGxvb2t1cEV4Y2VwdGlvbkhhbmRsZXIgaXMgcGFz
c2VkIHR3byBhcmd1bWVudHMsIHRoZSBWTSBhbmQgdGhlIGV4ZWMgKHRoZSBDYWxsRnJhbWUqKS4K
KyAgICBtb3ZlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJbmZvOjphcmd1bWVudEdQ
UjEpOwogCiAgICAgaWYgKGRvTG9va3VwLmlzU2V0KCkpCiAgICAgICAgIGRvTG9va3VwLmxpbmso
dGhpcyk7CiAKKyAgICBtb3ZlKFRydXN0ZWRJbW1QdHIodm0oKSksIEdQUkluZm86OmFyZ3VtZW50
R1BSMCk7CisKICNpZiBDUFUoWDg2KQogICAgIC8vIEZJWE1FOiBzaG91bGQgdXNlIHRoZSBjYWxs
IGFic3RyYWN0aW9uLCBidXQgdGhpcyBpcyBjdXJyZW50bHkgaW4gdGhlIFNwZWN1bGF0aXZlSklU
IGxheWVyIQogICAgIHBva2UoR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKKyAgICBwb2tlKEdQUklu
Zm86OmFyZ3VtZW50R1BSMSwgMSk7CiAjZW5kaWYKICAgICBtX2NhbGxzLmFwcGVuZChDYWxsTGlu
a1JlY29yZChjYWxsKCksIGxvb2t1cEV4Y2VwdGlvbkhhbmRsZXIpKTsKICAgICBqdW1wVG9FeGNl
cHRpb25IYW5kbGVyKCk7CkBAIC0yMjgsMTMgKzIzMiwxNiBAQCB2b2lkIEpJVENvbXBpbGVyOjps
aW5rKExpbmtCdWZmZXImIGxpbmtCdWZmZXIpCiAgICAgICAgIGluZm8ucGF0Y2guZGVsdGFDYWxs
VG9TbG93Q2FzZSA9IGRpZmZlcmVuY2VCZXR3ZWVuQ29kZVB0cihjYWxsUmV0dXJuTG9jYXRpb24s
IGxpbmtCdWZmZXIubG9jYXRpb25PZihtX2luc1tpXS5tX3Nsb3dQYXRoR2VuZXJhdG9yLT5sYWJl
bCgpKSk7CiAgICAgfQogICAgIAorICAgIFJFTEVBU0VfQVNTRVJUKCFtX2dyYXBoLm1fcGxhbi53
aWxsVHJ5VG9UaWVyVXAgfHwgbV9qaXRDb2RlLT5zbG93UGF0aENhbGxzLnNpemUoKSA+PSBtX2pz
Q2FsbHMuc2l6ZSgpKTsKICAgICBtX2NvZGVCbG9jay0+c2V0TnVtYmVyT2ZDYWxsTGlua0luZm9z
KG1fanNDYWxscy5zaXplKCkpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2pzQ2Fs
bHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgQ2FsbExpbmtJbmZvJiBpbmZvID0gbV9jb2RlQmxv
Y2stPmNhbGxMaW5rSW5mbyhpKTsKICAgICAgICAgaW5mby5jYWxsVHlwZSA9IG1fanNDYWxsc1tp
XS5tX2NhbGxUeXBlOwotICAgICAgICBpbmZvLmlzREZHID0gdHJ1ZTsKICAgICAgICAgaW5mby5j
b2RlT3JpZ2luID0gbV9qc0NhbGxzW2ldLm1fY29kZU9yaWdpbjsKLSAgICAgICAgbGlua0J1ZmZl
ci5saW5rKG1fanNDYWxsc1tpXS5tX3Nsb3dDYWxsLCBGdW5jdGlvblB0cigobV92bS0+Z2V0Q1RJ
U3R1YihpbmZvLmNhbGxUeXBlID09IENhbGxMaW5rSW5mbzo6Q29uc3RydWN0ID8gbGlua0NvbnN0
cnVjdFRodW5rR2VuZXJhdG9yIDogbGlua0NhbGxUaHVua0dlbmVyYXRvcikpLmNvZGUoKS5leGVj
dXRhYmxlQWRkcmVzcygpKSk7CisgICAgICAgIFRodW5rR2VuZXJhdG9yIGdlbmVyYXRvciA9IGxp
bmtUaHVua0dlbmVyYXRvckZvcigKKyAgICAgICAgICAgIGluZm8uY2FsbFR5cGUgPT0gQ2FsbExp
bmtJbmZvOjpDb25zdHJ1Y3QgPyBDb2RlRm9yQ29uc3RydWN0IDogQ29kZUZvckNhbGwsCisgICAg
ICAgICAgICBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsKKyAgICAgICAgbGlua0J1
ZmZlci5saW5rKG1fanNDYWxsc1tpXS5tX3Nsb3dDYWxsLCBGdW5jdGlvblB0cihtX3ZtLT5nZXRD
VElTdHViKGdlbmVyYXRvcikuY29kZSgpLmV4ZWN1dGFibGVBZGRyZXNzKCkpKTsKICAgICAgICAg
aW5mby5jYWxsUmV0dXJuTG9jYXRpb24gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2ZOZWFyQ2FsbCht
X2pzQ2FsbHNbaV0ubV9zbG93Q2FsbCk7CiAgICAgICAgIGluZm8uaG90UGF0aEJlZ2luID0gbGlu
a0J1ZmZlci5sb2NhdGlvbk9mKG1fanNDYWxsc1tpXS5tX3RhcmdldFRvQ2hlY2spOwogICAgICAg
ICBpbmZvLmhvdFBhdGhPdGhlciA9IGxpbmtCdWZmZXIubG9jYXRpb25PZk5lYXJDYWxsKG1fanND
YWxsc1tpXS5tX2Zhc3RDYWxsKTsKQEAgLTI3OCw2ICsyODUsOCBAQCB2b2lkIEpJVENvbXBpbGVy
Ojpjb21waWxlKCkKICAgICBzZXRTdGFydE9mQ29kZSgpOwogICAgIGNvbXBpbGVFbnRyeSgpOwog
ICAgIG1fc3BlY3VsYXRpdmUgPSBhZG9wdFB0cihuZXcgU3BlY3VsYXRpdmVKSVQoKnRoaXMpKTsK
KyAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKG1fZ3JhcGguc3RhY2tQb2ludGVyT2Zmc2V0KCkgKiBz
aXplb2YoUmVnaXN0ZXIpKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIHN0YWNrUG9pbnRl
clJlZ2lzdGVyKTsKKyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwogICAgIGNvbXBp
bGVCb2R5KCk7CiAgICAgc2V0RW5kT2ZNYWluUGF0aCgpOwogCkBAIC0zMjUsMTEgKzMzNCwxMiBA
QCB2b2lkIEpJVENvbXBpbGVyOjpjb21waWxlRnVuY3Rpb24oKQogICAgIC8vIHNvIGVudGVyIGFm
dGVyIHRoaXMuCiAgICAgTGFiZWwgZnJvbUFyaXR5Q2hlY2sodGhpcyk7CiAgICAgLy8gUGxhbnQg
YSBjaGVjayB0aGF0IHN1ZmZpY2llbnQgc3BhY2UgaXMgYXZhaWxhYmxlIGluIHRoZSBKU1N0YWNr
LgotICAgIGFkZFB0cihUcnVzdGVkSW1tMzIodmlydHVhbFJlZ2lzdGVyRm9yTG9jYWwobV9ncmFw
aC5yZXF1aXJlZFJlZ2lzdGVyQ291bnRGb3JFeGVjdXRpb25BbmRFeGl0KCkpLm9mZnNldCgpICog
c2l6ZW9mKFJlZ2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJbmZvOjpy
ZWdUMSk7Ci0gICAgSnVtcCBzdGFja0NoZWNrID0gYnJhbmNoUHRyKEFib3ZlLCBBYnNvbHV0ZUFk
ZHJlc3MobV92bS0+YWRkcmVzc09mSlNTdGFja0xpbWl0KCkpLCBHUFJJbmZvOjpyZWdUMSk7Ci0g
ICAgLy8gUmV0dXJuIGhlcmUgYWZ0ZXIgc3RhY2sgY2hlY2suCi0gICAgTGFiZWwgZnJvbVN0YWNr
Q2hlY2sgPSBsYWJlbCgpOworICAgIGFkZFB0cihUcnVzdGVkSW1tMzIodmlydHVhbFJlZ2lzdGVy
Rm9yTG9jYWwobV9ncmFwaC5yZXF1aXJlZFJlZ2lzdGVyQ291bnRGb3JFeGVjdXRpb25BbmRFeGl0
KCkgLSAxKS5vZmZzZXQoKSAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxsRnJhbWVS
ZWdpc3RlciwgR1BSSW5mbzo6cmVnVDEpOworICAgIEp1bXAgc3RhY2tPdmVyZmxvdyA9IGJyYW5j
aFB0cihBYm92ZSwgQWJzb2x1dGVBZGRyZXNzKG1fdm0tPmFkZHJlc3NPZkpTU3RhY2tMaW1pdCgp
KSwgR1BSSW5mbzo6cmVnVDEpOwogCisgICAgLy8gTW92ZSB0aGUgc3RhY2sgcG9pbnRlciBkb3du
IHRvIGFjY29tbW9kYXRlIGxvY2FscworICAgIGFkZFB0cihUcnVzdGVkSW1tMzIobV9ncmFwaC5z
dGFja1BvaW50ZXJPZmZzZXQoKSAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxsRnJh
bWVSZWdpc3Rlciwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIGNoZWNrU3RhY2tQb2ludGVy
QWxpZ25tZW50KCk7CiAKICAgICAvLyA9PT0gRnVuY3Rpb24gYm9keSBjb2RlIGdlbmVyYXRpb24g
PT09CiAgICAgbV9zcGVjdWxhdGl2ZSA9IGFkb3B0UHRyKG5ldyBTcGVjdWxhdGl2ZUpJVCgqdGhp
cykpOwpAQCAtMzM4LDE3ICszNDgsMTkgQEAgdm9pZCBKSVRDb21waWxlcjo6Y29tcGlsZUZ1bmN0
aW9uKCkKIAogICAgIC8vID09PSBGdW5jdGlvbiBmb290ZXIgY29kZSBnZW5lcmF0aW9uID09PQog
ICAgIC8vCi0gICAgLy8gR2VuZXJhdGUgY29kZSB0byBwZXJmb3JtIHRoZSBzbG93IHN0YWNrIGNo
ZWNrIChpZiB0aGUgZmFzdCBvbmUgaW4KKyAgICAvLyBHZW5lcmF0ZSBjb2RlIHRvIHBlcmZvcm0g
dGhlIHN0YWNrIG92ZXJmbG93IGhhbmRsaW5nIChpZiB0aGUgc3RhY2sgY2hlY2sgaW4KICAgICAv
LyB0aGUgZnVuY3Rpb24gaGVhZGVyIGZhaWxzKSwgYW5kIGdlbmVyYXRlIHRoZSBlbnRyeSBwb2lu
dCB3aXRoIGFyaXR5IGNoZWNrLgogICAgIC8vCi0gICAgLy8gR2VuZXJhdGUgdGhlIHN0YWNrIGNo
ZWNrOyBpZiB0aGUgZmFzdCBjaGVjayBpbiB0aGUgZnVuY3Rpb24gaGVhZCBmYWlscywKLSAgICAv
LyB3ZSBuZWVkIHRvIGNhbGwgb3V0IHRvIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIHdoZXRo
ZXIgbW9yZSBzcGFjZSBpcyBhdmFpbGFibGUuCi0gICAgLy8gRklYTUU6IGNoYW5nZSB0aGlzIGZy
b20gYSBjdGkgY2FsbCB0byBhIERGRyBzdHlsZSBvcGVyYXRpb24gKG5vcm1hbCBDIGNhbGxpbmcg
Y29udmVudGlvbnMpLgotICAgIHN0YWNrQ2hlY2subGluayh0aGlzKTsKKyAgICAvLyBHZW5lcmF0
ZSB0aGUgc3RhY2sgb3ZlcmZsb3cgaGFuZGxpbmc7IGlmIHRoZSBzdGFjayBjaGVjayBpbiB0aGUg
ZnVuY3Rpb24gaGVhZCBmYWlscywKKyAgICAvLyB3ZSBuZWVkIHRvIGNhbGwgb3V0IHRvIGEgaGVs
cGVyIGZ1bmN0aW9uIHRvIHRocm93IHRoZSBTdGFja092ZXJmbG93RXJyb3IuCisgICAgc3RhY2tP
dmVyZmxvdy5saW5rKHRoaXMpOwogCiAgICAgZW1pdFN0b3JlQ29kZU9yaWdpbihDb2RlT3JpZ2lu
KDApKTsKLSAgICBtX3NwZWN1bGF0aXZlLT5jYWxsT3BlcmF0aW9uV2l0aENhbGxGcmFtZVJvbGxi
YWNrT25FeGNlcHRpb24ob3BlcmF0aW9uU3RhY2tDaGVjaywgbV9jb2RlQmxvY2spOwotICAgIGp1
bXAoZnJvbVN0YWNrQ2hlY2spOworCisgICAgaWYgKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhD
YWxsKQorICAgICAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKC1tYXhGcmFtZUV4dGVudEZvclNsb3dQ
YXRoQ2FsbCksIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKworICAgIG1fc3BlY3VsYXRpdmUtPmNh
bGxPcGVyYXRpb25XaXRoQ2FsbEZyYW1lUm9sbGJhY2tPbkV4Y2VwdGlvbihvcGVyYXRpb25UaHJv
d1N0YWNrT3ZlcmZsb3dFcnJvciwgbV9jb2RlQmxvY2spOwogICAgIAogICAgIC8vIFRoZSBmYXN0
IGVudHJ5IHBvaW50IGludG8gYSBmdW5jdGlvbiBkb2VzIG5vdCBjaGVjayB0aGUgY29ycmVjdCBu
dW1iZXIgb2YgYXJndW1lbnRzCiAgICAgLy8gaGF2ZSBiZWVuIHBhc3NlZCB0byB0aGUgY2FsbCAo
d2Ugb25seSB1c2UgdGhlIGZhc3QgZW50cnkgcG9pbnQgd2hlcmUgd2UgY2FuIHN0YXRpY2FsbHkK
QEAgLTM2MSw5ICszNzMsMTUgQEAgdm9pZCBKSVRDb21waWxlcjo6Y29tcGlsZUZ1bmN0aW9uKCkK
ICAgICBsb2FkMzIoQXNzZW1ibHlIZWxwZXJzOjpwYXlsb2FkRm9yKChWaXJ0dWFsUmVnaXN0ZXIp
SlNTdGFjazo6QXJndW1lbnRDb3VudCksIEdQUkluZm86OnJlZ1QxKTsKICAgICBicmFuY2gzMihB
Ym92ZU9yRXF1YWwsIEdQUkluZm86OnJlZ1QxLCBUcnVzdGVkSW1tMzIobV9jb2RlQmxvY2stPm51
bVBhcmFtZXRlcnMoKSkpLmxpbmtUbyhmcm9tQXJpdHlDaGVjaywgdGhpcyk7CiAgICAgZW1pdFN0
b3JlQ29kZU9yaWdpbihDb2RlT3JpZ2luKDApKTsKKyAgICBpZiAobWF4RnJhbWVFeHRlbnRGb3JT
bG93UGF0aENhbGwpCisgICAgICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoLW1heEZyYW1lRXh0ZW50
Rm9yU2xvd1BhdGhDYWxsKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogICAgIG1fc3BlY3VsYXRp
dmUtPmNhbGxPcGVyYXRpb25XaXRoQ2FsbEZyYW1lUm9sbGJhY2tPbkV4Y2VwdGlvbihtX2NvZGVC
bG9jay0+bV9pc0NvbnN0cnVjdG9yID8gb3BlcmF0aW9uQ29uc3RydWN0QXJpdHlDaGVjayA6IG9w
ZXJhdGlvbkNhbGxBcml0eUNoZWNrLCBHUFJJbmZvOjpyZWdUMCk7CisgICAgaWYgKG1heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsKQorICAgICAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKG1heEZy
YW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogICAgIGJy
YW5jaFRlc3QzMihaZXJvLCBHUFJJbmZvOjpyZWdUMCkubGlua1RvKGZyb21Bcml0eUNoZWNrLCB0
aGlzKTsKICAgICBlbWl0U3RvcmVDb2RlT3JpZ2luKENvZGVPcmlnaW4oMCkpOworICAgIG1vdmUo
VHJ1c3RlZEltbVB0cihtX3ZtLT5hcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy0+cmV0dXJuUENz
Rm9yKCptX3ZtLCBtX2NvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpKSksIEdQUkluZm86OnJlZ1Q1
KTsKKyAgICBsb2FkUHRyKEJhc2VJbmRleChHUFJJbmZvOjpyZWdUNSwgR1BSSW5mbzo6cmVnVDAs
IHRpbWVzUHRyKCkpLCBHUFJJbmZvOjpyZWdUNSk7CiAgICAgbV9jYWxsQXJpdHlGaXh1cCA9IGNh
bGwoKTsKICAgICBqdW1wKGZyb21Bcml0eUNoZWNrKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuaAppbmRleCA4MDJlNDdhZDg3MWI4NjViYTJlMmQxOGVh
MDFlMDllOGU0ZmVjNmFhLi44MmVhYzBmZDBmNDFjMDU0YzljODY5ODI4NzY4OWYyNTdkYjc0ZDZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5oCkBAIC0yMjEs
NiArMjIxLDExIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIG1faW5zLmFwcGVuZChyZWNvcmQp
OwogICAgIH0KKyAgICAKKyAgICB1bnNpZ25lZCBjdXJyZW50SlNDYWxsSW5kZXgoKSBjb25zdAor
ICAgIHsKKyAgICAgICAgcmV0dXJuIG1fanNDYWxscy5zaXplKCk7CisgICAgfQogCiAgICAgdm9p
ZCBhZGRKU0NhbGwoQ2FsbCBmYXN0Q2FsbCwgQ2FsbCBzbG93Q2FsbCwgRGF0YUxhYmVsUHRyIHRh
cmdldFRvQ2hlY2ssIENhbGxMaW5rSW5mbzo6Q2FsbFR5cGUgY2FsbFR5cGUsIEdQUlJlZyBjYWxs
ZWUsIENvZGVPcmlnaW4gY29kZU9yaWdpbikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0pJVEZpbmFsaXplci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0pJVEZpbmFsaXplci5jcHAKaW5kZXggYjdlYTU5NGM2N2RiZjNkZWFmNDdmODk2
NzI2MmU2ZDQwZGY0ZGU4ZS4uNzk5ZThjYTVkYmEzMTczYWU4MzJkYjc4ZWYxNTc5ZTdjMDc3YTY1
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRGaW5hbGl6ZXIu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklURmluYWxpemVyLmNwcApA
QCAtNDYsMTAgKzQ2LDE2IEBAIEpJVEZpbmFsaXplcjo6fkpJVEZpbmFsaXplcigpCiB7CiB9CiAK
K3NpemVfdCBKSVRGaW5hbGl6ZXI6OmNvZGVTaXplKCkKK3sKKyAgICByZXR1cm4gbV9saW5rQnVm
ZmVyLT5zaXplKCk7Cit9CisKIGJvb2wgSklURmluYWxpemVyOjpmaW5hbGl6ZSgpCiB7Ci0gICAg
bV9qaXRDb2RlLT5pbml0aWFsaXplQ29kZVJlZihtX2xpbmtCdWZmZXItPmZpbmFsaXplQ29kZVdp
dGhvdXREaXNhc3NlbWJseSgpKTsKLSAgICBtX3BsYW4uY29kZUJsb2NrLT5zZXRKSVRDb2RlKG1f
aml0Q29kZSwgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyKCkpOworICAgIG1faml0Q29kZS0+aW5pdGlh
bGl6ZUNvZGVSZWYoCisgICAgICAgIG1fbGlua0J1ZmZlci0+ZmluYWxpemVDb2RlV2l0aG91dERp
c2Fzc2VtYmx5KCksIE1hY3JvQXNzZW1ibGVyQ29kZVB0cigpKTsKKyAgICBtX3BsYW4uY29kZUJs
b2NrLT5zZXRKSVRDb2RlKG1faml0Q29kZSk7CiAgICAgCiAgICAgZmluYWxpemVDb21tb24oKTsK
ICAgICAKQEAgLTU5LDggKzY1LDkgQEAgYm9vbCBKSVRGaW5hbGl6ZXI6OmZpbmFsaXplKCkKIGJv
b2wgSklURmluYWxpemVyOjpmaW5hbGl6ZUZ1bmN0aW9uKCkKIHsKICAgICBSRUxFQVNFX0FTU0VS
VCghbV93aXRoQXJpdHlDaGVjay5pc0VtcHR5VmFsdWUoKSk7Ci0gICAgbV9qaXRDb2RlLT5pbml0
aWFsaXplQ29kZVJlZihtX2xpbmtCdWZmZXItPmZpbmFsaXplQ29kZVdpdGhvdXREaXNhc3NlbWJs
eSgpKTsKLSAgICBtX3BsYW4uY29kZUJsb2NrLT5zZXRKSVRDb2RlKG1faml0Q29kZSwgbV93aXRo
QXJpdHlDaGVjayk7CisgICAgbV9qaXRDb2RlLT5pbml0aWFsaXplQ29kZVJlZigKKyAgICAgICAg
bV9saW5rQnVmZmVyLT5maW5hbGl6ZUNvZGVXaXRob3V0RGlzYXNzZW1ibHkoKSwgbV93aXRoQXJp
dHlDaGVjayk7CisgICAgbV9wbGFuLmNvZGVCbG9jay0+c2V0SklUQ29kZShtX2ppdENvZGUpOwog
ICAgIAogICAgIGZpbmFsaXplQ29tbW9uKCk7CiAgICAgCkBAIC03NSw2ICs4Miw5IEBAIHZvaWQg
SklURmluYWxpemVyOjpmaW5hbGl6ZUNvbW1vbigpCiAgICAgCiAgICAgaWYgKG1fcGxhbi5jb21w
aWxhdGlvbikKICAgICAgICAgbV9wbGFuLnZtLm1fcGVyQnl0ZWNvZGVQcm9maWxlci0+YWRkQ29t
cGlsYXRpb24obV9wbGFuLmNvbXBpbGF0aW9uKTsKKyAgICAKKyAgICBpZiAoIW1fcGxhbi53aWxs
VHJ5VG9UaWVyVXApCisgICAgICAgIG1fcGxhbi5jb2RlQmxvY2stPmJhc2VsaW5lVmVyc2lvbigp
LT5tX2RpZEZhaWxGVExDb21waWxhdGlvbiA9IHRydWU7CiB9CiAKIH0gfSAvLyBuYW1lc3BhY2Ug
SlNDOjpERkcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklURmlu
YWxpemVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVEZpbmFsaXplci5oCmlu
ZGV4IDVjN2M4MmI2NjViYTU0MDY5NmQxYjRkMDU5ZTdmYzY5ZmIwOTRiNjAuLjU0MmFmNTdhYTNh
NzQ2NDkzYTBkZWJiNmQ1NGJiYTYwYzNkMTQ2NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHSklURmluYWxpemVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdKSVRGaW5hbGl6ZXIuaApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiAgICAgSklU
RmluYWxpemVyKFBsYW4mLCBQYXNzUmVmUHRyPEpJVENvZGU+LCBQYXNzT3duUHRyPExpbmtCdWZm
ZXI+LCBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgd2l0aEFyaXR5Q2hlY2sgPSBNYWNyb0Fzc2VtYmxl
ckNvZGVQdHIoTWFjcm9Bc3NlbWJsZXJDb2RlUHRyOjpFbXB0eVZhbHVlKSk7CiAgICAgdmlydHVh
bCB+SklURmluYWxpemVyKCk7CiAgICAgCisgICAgdmlydHVhbCBzaXplX3QgY29kZVNpemUoKSBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgZmluYWxpemUoKSBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIGJvb2wgZmluYWxpemVGdW5jdGlvbigpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTm9kZS5oCmluZGV4IDU1YTllZGU4ZGI4YjhjMzBhNjdiZWRjOWJhNGU1MTQ1NGEwYmI4
NGIuLjc1YWY2NmNlNzRiZjVhNTQ2ZDUzNjRkZjBhNDFjMzBmMTg3NDExM2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHTm9kZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMSwgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMTk4LDYgKzEx
OTgsMTEgQEAgc3RydWN0IE5vZGUgewogICAgICAgICAgICAgcmV0dXJuIHNob3VsZEdlbmVyYXRl
KCk7CiAgICAgICAgIH0KICAgICB9CisgICAgCisgICAgYm9vbCBpc1NlbWFudGljYWxseVNraXBw
YWJsZSgpCisgICAgeworICAgICAgICByZXR1cm4gb3AoKSA9PSBDb3VudEV4ZWN1dGlvbjsKKyAg
ICB9CiAKICAgICB1bnNpZ25lZCByZWZDb3VudCgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlRmxhZ3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdOb2RlRmxhZ3MuY3BwCmluZGV4IDM5NmNhNjExOTIxZGMxNjg1ZGMwNGJhM2Rl
NjA5N2I4NjRkMmI3NmYuLjYxZTllYzc0MjlmYjcxOWUyYTQ2MTg5ZDk5OTI5MjcwOTZkZjc0MmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZUZsYWdzLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVGbGFncy5jcHAKQEAgLTQ5LDYg
KzQ5LDkgQEAgdm9pZCBkdW1wTm9kZUZsYWdzKFByaW50U3RyZWFtJiBhY3R1YWxPdXQsIE5vZGVG
bGFncyBmbGFncykKICAgICAgICAgY2FzZSBOb2RlUmVzdWx0SW50MzI6CiAgICAgICAgICAgICBv
dXQucHJpbnQoY29tbWEsICJJbnQzMiIpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgTm9kZVJlc3VsdEludDUyOgorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiSW50NTIi
KTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE5vZGVSZXN1bHRCb29sZWFuOgog
ICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiQm9vbGVhbiIpOwogICAgICAgICAgICAgYnJl
YWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkF2YWlsYWJp
bGl0eUFuYWx5c2lzUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JB
dmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmNwcAppbmRleCBhNjQ5NjM1ODFhNDczN2M0ZThhMjkw
ODM4YTYyOGQyYTVjOTMzMTBmLi5mY2IyYzk0ODVjMTJmZmI5NjhmNjcwNDU0OTcyMzljN2YwODNi
Y2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkF2YWlsYWJp
bGl0eUFuYWx5c2lzUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
T1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHAKQEAgLTYxLDE1ICs2MSwxMyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICAgICAgQXZhaWxhYmlsaXR5Ojp1bmF2YWlsYWJsZSgpLndpdGhGbHVz
aCgKICAgICAgICAgICAgICAgICAgICAgRmx1c2hlZEF0KEZsdXNoZWRKU1ZhbHVlLCB2aXJ0dWFs
UmVnaXN0ZXJGb3JBcmd1bWVudChhcmd1bWVudCkpKTsKICAgICAgICAgfQotICAgICAgICBmb3Ig
KHVuc2lnbmVkIGxvY2FsID0gcm9vdC0+c3NhLT5hdmFpbGFiaWxpdHlBdEhlYWQubnVtYmVyT2ZM
b2NhbHMoKTsgbG9jYWwtLTspCi0gICAgICAgICAgICByb290LT5zc2EtPmF2YWlsYWJpbGl0eUF0
SGVhZC5sb2NhbChsb2NhbCkgPSBBdmFpbGFiaWxpdHk6OnVuYXZhaWxhYmxlKCk7Ci0gICAgICAg
IAorCiAgICAgICAgIGlmIChtX2dyYXBoLm1fcGxhbi5tb2RlID09IEZUTEZvck9TUkVudHJ5TW9k
ZSkgewotICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBsb2NhbCA9IG1fZ3JhcGgubV9wcm9maWxl
ZEJsb2NrLT5tX251bUNhbGxlZVJlZ2lzdGVyczsgbG9jYWwtLTspIHsKLSAgICAgICAgICAgICAg
ICByb290LT5zc2EtPmF2YWlsYWJpbGl0eUF0SGVhZC5sb2NhbChsb2NhbCkgPQotICAgICAgICAg
ICAgICAgICAgICBBdmFpbGFiaWxpdHk6OnVuYXZhaWxhYmxlKCkud2l0aEZsdXNoKAotICAgICAg
ICAgICAgICAgICAgICAgICAgRmx1c2hlZEF0KEZsdXNoZWRKU1ZhbHVlLCB2aXJ0dWFsUmVnaXN0
ZXJGb3JMb2NhbChsb2NhbCkpKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAodW5z
aWduZWQgbG9jYWwgPSBtX2dyYXBoLm1fcHJvZmlsZWRCbG9jay0+bV9udW1DYWxsZWVSZWdpc3Rl
cnM7IGxvY2FsLS07KQorICAgICAgICAgICAgICAgIHJvb3QtPnNzYS0+YXZhaWxhYmlsaXR5QXRI
ZWFkLmxvY2FsKGxvY2FsKSA9IEF2YWlsYWJpbGl0eTo6dW5hdmFpbGFibGUoKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgbG9jYWwgPSByb290LT5zc2EtPmF2
YWlsYWJpbGl0eUF0SGVhZC5udW1iZXJPZkxvY2FscygpOyBsb2NhbC0tOykKKyAgICAgICAgICAg
ICAgICByb290LT5zc2EtPmF2YWlsYWJpbGl0eUF0SGVhZC5sb2NhbChsb2NhbCkgPSBBdmFpbGFi
aWxpdHk6OnVuYXZhaWxhYmxlKCk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIC8vIFRo
aXMgY291bGQgYmUgbWFkZSBtb3JlIGVmZmljaWVudCBieSBwcm9jZXNzaW5nIGJsb2NrcyBpbiBy
ZXZlcnNlIHBvc3RvcmRlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHT1NSRW50cnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFbnRyeS5j
cHAKaW5kZXggYzEyODgxODc0MGM1MGJmOGVjZmFkZTFlNDhlNmQ3ZTI2MDcwMzhmNS4uZmVhY2Fl
OTdiODIxZDA4Mjc1NjQ3MzM5NjhhOGZhMzY2MWNhYzM0NiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFbnRyeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPU1JFbnRyeS5jcHAKQEAgLTQ0LDcgKzQ0LDEwIEBAIHZvaWQqIHByZXBhcmVP
U1JFbnRyeShFeGVjU3RhdGUqIGV4ZWMsIENvZGVCbG9jayogY29kZUJsb2NrLCB1bnNpZ25lZCBi
eXRlY29kZUluCiAgICAgQVNTRVJUKGNvZGVCbG9jay0+YWx0ZXJuYXRpdmUoKSk7CiAgICAgQVNT
RVJUKGNvZGVCbG9jay0+YWx0ZXJuYXRpdmUoKS0+aml0VHlwZSgpID09IEpJVENvZGU6OkJhc2Vs
aW5lSklUKTsKICAgICBBU1NFUlQoIWNvZGVCbG9jay0+aml0Q29kZU1hcCgpKTsKLSAgICAKKwor
ICAgIGlmICghT3B0aW9uczo6ZW5hYmxlT1NSRW50cnlUb0RGRygpKQorICAgICAgICByZXR1cm4g
MDsKKwogICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NSKCkpIHsKICAgICAgICAgZGF0YUxvZygK
ICAgICAgICAgICAgICJERkcgT1NSIGluICIsICpjb2RlQmxvY2stPmFsdGVybmF0aXZlKCksICIg
LT4gIiwgKmNvZGVCbG9jaywKQEAgLTUyLDggKzU1LDggQEAgdm9pZCogcHJlcGFyZU9TUkVudHJ5
KEV4ZWNTdGF0ZSogZXhlYywgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2Rl
SW4KICAgICB9CiAgICAgCiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7Ci0gICAgCi0gICAgdm0t
PmludGVycHJldGVyLT5zdGFjaygpLnNhbml0aXplU3RhY2soKTsKKworICAgIHNhbml0aXplU3Rh
Y2tGb3JWTSh2bSk7CiAgICAgCiAgICAgaWYgKGNvZGVCbG9jay0+aml0VHlwZSgpICE9IEpJVENv
ZGU6OkRGR0pJVCkgewogICAgICAgICBSRUxFQVNFX0FTU0VSVChjb2RlQmxvY2stPmppdFR5cGUo
KSA9PSBKSVRDb2RlOjpGVExKSVQpOwpAQCAtMTg1LDcgKzE4OCw3IEBAIHZvaWQqIHByZXBhcmVP
U1JFbnRyeShFeGVjU3RhdGUqIGV4ZWMsIENvZGVCbG9jayogY29kZUJsb2NrLCB1bnNpZ25lZCBi
eXRlY29kZUluCiAgICAgLy8gICAgd291bGQgaGF2ZSBvdGhlcndpc2UganVzdCBrZXB0IHJ1bm5p
bmcgYWxiZWl0IGxlc3MgcXVpY2tseS4KICAgICAKICAgICB1bnNpZ25lZCBmcmFtZVNpemUgPSBq
aXRDb2RlLT5jb21tb24ucmVxdWlyZWRSZWdpc3RlckNvdW50Rm9yRXhlY3V0aW9uQW5kRXhpdCgp
OwotICAgIGlmICghdm0tPmludGVycHJldGVyLT5zdGFjaygpLmdyb3coJmV4ZWMtPnJlZ2lzdGVy
cygpW3ZpcnR1YWxSZWdpc3RlckZvckxvY2FsKGZyYW1lU2l6ZSkub2Zmc2V0KCldKSkgeworICAg
IGlmICghdm0tPmludGVycHJldGVyLT5zdGFjaygpLmVuc3VyZUNhcGFjaXR5Rm9yKCZleGVjLT5y
ZWdpc3RlcnMoKVt2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChmcmFtZVNpemUgLSAxKS5vZmZzZXQo
KV0pKSB7CiAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NSKCkpCiAgICAgICAgICAgICBk
YXRhTG9nRigiICAgIE9TUiBmYWlsZWQgYmVjYXVzZSBzdGFjayBncm93dGggZmFpbGVkLlxuIik7
CiAgICAgICAgIHJldHVybiAwOwpAQCAtMjEzLDEyICsyMTYsMTQgQEAgdm9pZCogcHJlcGFyZU9T
UkVudHJ5KEV4ZWNTdGF0ZSogZXhlYywgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5
dGVjb2RlSW4KICAgICAKICAgICAvLyA1KSBDbGVhciB0aG9zZSBwYXJ0cyBvZiB0aGUgY2FsbCBm
cmFtZSB0aGF0IHRoZSBERkcgYWluJ3QgdXNpbmcuIFRoaXMgaGVscHMgR0Mgb24gc29tZQogICAg
IC8vICAgIHByb2dyYW1zIGJ5IGVsaW1pbmF0aW5nIHNvbWUgc3RhbGUgcG9pbnRlciBwYXRob2xv
Z2llcy4KLSAgICAKKworI2lmIDAgLy8gRklYTUU6IENTdGFjayAtIFRoaXMgbmVlZHMgdG8gYmUg
dmVyaWZpZWQgYmVmb3JlIGJlaW5nIGVuYWJsZWQKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBmcmFt
ZVNpemU7IGktLTspIHsKICAgICAgICAgaWYgKGVudHJ5LT5tX21hY2hpbmVTdGFja1VzZWQuZ2V0
KGkpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIHJlZ2lzdGVyc1t2aXJ0dWFsUmVn
aXN0ZXJGb3JMb2NhbChpKS5vZmZzZXQoKV0gPSBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsK
ICAgICB9CisjZW5kaWYKICAgICAKICAgICAvLyA2KSBGaXggdGhlIGNhbGwgZnJhbWUuCiAgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkVudHJ5cG9pbnRD
cmVhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRW50cnlw
b2ludENyZWF0aW9uUGhhc2UuY3BwCmluZGV4IDRmODJkMTVmYWNhZWMzOTNhNzMwMTVlMGY4ZjE2
MWZkOGQzZDZhNjMuLjI2NjE1MTA1MjZlN2RmYzE1ZTA3MmNlZDZlMWU4Njg3NzNjMGQxZDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRW50cnlwb2ludENyZWF0
aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRW50cnlw
b2ludENyZWF0aW9uUGhhc2UuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC02Myw3ICs2MywxMCBAQCBwdWJsaWM6CiAgICAgICAgICAg
ICBCYXNpY0Jsb2NrKiBibG9jayA9IG1fZ3JhcGguYmxvY2soYmxvY2tJbmRleCk7CiAgICAgICAg
ICAgICBpZiAoIWJsb2NrKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
dW5zaWduZWQgbm9kZUluZGV4ID0gMDsKICAgICAgICAgICAgIE5vZGUqIGZpcnN0Tm9kZSA9IGJs
b2NrLT5hdCgwKTsKKyAgICAgICAgICAgIHdoaWxlIChmaXJzdE5vZGUtPmlzU2VtYW50aWNhbGx5
U2tpcHBhYmxlKCkpCisgICAgICAgICAgICAgICAgZmlyc3ROb2RlID0gYmxvY2stPmF0KCsrbm9k
ZUluZGV4KTsKICAgICAgICAgICAgIGlmIChmaXJzdE5vZGUtPm9wKCkgPT0gTG9vcEhpbnQKICAg
ICAgICAgICAgICAgICAmJiBmaXJzdE5vZGUtPmNvZGVPcmlnaW4gPT0gQ29kZU9yaWdpbihieXRl
Y29kZUluZGV4KSkgewogICAgICAgICAgICAgICAgIHRhcmdldCA9IGJsb2NrOwpAQCAtODMsMTcg
Kzg2LDYgQEAgcHVibGljOgogICAgICAgICBCYXNpY0Jsb2NrKiBuZXdSb290ID0gaW5zZXJ0aW9u
U2V0Lmluc2VydCgwKTsKICAgICAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2luID0gdGFyZ2V0LT5h
dCgwKS0+Y29kZU9yaWdpbjsKICAgICAgICAgCi0gICAgICAgIGZvciAoaW50IGFyZ3VtZW50ID0g
MDsgYXJndW1lbnQgPCBiYXNlbGluZS0+bnVtUGFyYW1ldGVycygpOyArK2FyZ3VtZW50KSB7Ci0g
ICAgICAgICAgICBOb2RlKiBvbGROb2RlID0gdGFyZ2V0LT52YXJpYWJsZXNBdEhlYWQuYXJndW1l
bnQoYXJndW1lbnQpOwotICAgICAgICAgICAgaWYgKCFvbGROb2RlKSB7Ci0gICAgICAgICAgICAg
ICAgLy8gSnVzdCBmb3Igc2FuaXR5LCBhbHdheXMgaGF2ZSBhIFNldEFyZ3VtZW50IGV2ZW4gaWYg
aXQncyBub3QgbmVlZGVkLgotICAgICAgICAgICAgICAgIG9sZE5vZGUgPSBtX2dyYXBoLm1fYXJn
dW1lbnRzW2FyZ3VtZW50XTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIE5vZGUqIG5vZGUg
PSBuZXdSb290LT5hcHBlbmROb2RlKAotICAgICAgICAgICAgICAgIG1fZ3JhcGgsIFNwZWNOb25l
LCBTZXRBcmd1bWVudCwgY29kZU9yaWdpbiwKLSAgICAgICAgICAgICAgICBPcEluZm8ob2xkTm9k
ZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCkpKTsKLSAgICAgICAgICAgIG1fZ3JhcGgubV9hcmd1bWVu
dHNbYXJndW1lbnRdID0gbm9kZTsKLSAgICAgICAgfQogICAgICAgICBWZWN0b3I8Tm9kZSo+IGxv
Y2FscyhiYXNlbGluZS0+bV9udW1DYWxsZWVSZWdpc3RlcnMpOwogICAgICAgICBmb3IgKGludCBs
b2NhbCA9IDA7IGxvY2FsIDwgYmFzZWxpbmUtPm1fbnVtQ2FsbGVlUmVnaXN0ZXJzOyArK2xvY2Fs
KSB7CiAgICAgICAgICAgICBOb2RlKiBwcmV2aW91c0hlYWQgPSB0YXJnZXQtPnZhcmlhYmxlc0F0
SGVhZC5sb2NhbChsb2NhbCk7CkBAIC0xMDgsNiArMTAwLDE5IEBAIHB1YmxpYzoKICAgICAgICAg
ICAgICAgICBtX2dyYXBoLCBTcGVjTm9uZSwgTW92SGludCwgY29kZU9yaWdpbiwgT3BJbmZvKHZh
cmlhYmxlLT5sb2NhbCgpLm9mZnNldCgpKSwKICAgICAgICAgICAgICAgICBFZGdlKGxvY2Fsc1ts
b2NhbF0pKTsKICAgICAgICAgfQorCisgICAgICAgIGZvciAoaW50IGFyZ3VtZW50ID0gMDsgYXJn
dW1lbnQgPCBiYXNlbGluZS0+bnVtUGFyYW1ldGVycygpOyArK2FyZ3VtZW50KSB7CisgICAgICAg
ICAgICBOb2RlKiBvbGROb2RlID0gdGFyZ2V0LT52YXJpYWJsZXNBdEhlYWQuYXJndW1lbnQoYXJn
dW1lbnQpOworICAgICAgICAgICAgaWYgKCFvbGROb2RlKSB7CisgICAgICAgICAgICAgICAgLy8g
SnVzdCBmb3Igc2FuaXR5LCBhbHdheXMgaGF2ZSBhIFNldEFyZ3VtZW50IGV2ZW4gaWYgaXQncyBu
b3QgbmVlZGVkLgorICAgICAgICAgICAgICAgIG9sZE5vZGUgPSBtX2dyYXBoLm1fYXJndW1lbnRz
W2FyZ3VtZW50XTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBuZXdS
b290LT5hcHBlbmROb2RlKAorICAgICAgICAgICAgICAgIG1fZ3JhcGgsIFNwZWNOb25lLCBTZXRB
cmd1bWVudCwgY29kZU9yaWdpbiwKKyAgICAgICAgICAgICAgICBPcEluZm8ob2xkTm9kZS0+dmFy
aWFibGVBY2Nlc3NEYXRhKCkpKTsKKyAgICAgICAgICAgIG1fZ3JhcGgubV9hcmd1bWVudHNbYXJn
dW1lbnRdID0gbm9kZTsKKyAgICAgICAgfQorICAgICAgICAKICAgICAgICAgZm9yIChpbnQgbG9j
YWwgPSAwOyBsb2NhbCA8IGJhc2VsaW5lLT5tX251bUNhbGxlZVJlZ2lzdGVyczsgKytsb2NhbCkg
ewogICAgICAgICAgICAgTm9kZSogcHJldmlvdXNIZWFkID0gdGFyZ2V0LT52YXJpYWJsZXNBdEhl
YWQubG9jYWwobG9jYWwpOwogICAgICAgICAgICAgaWYgKCFwcmV2aW91c0hlYWQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5oCmluZGV4IGQ0MGVmZTRlMGZjZDQ3NjFlNGRmYjg5
MmNhOWEwNTUzYjhkMmNmMDIuLmFmMmVkYzlhMjM5OGI4ZTY2ZTMwNWRiNDAwYmM3MTk2NjFhMTI5
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5oCkBAIC0xMDUsNiArMTA1
LDExIEBAIHN0cnVjdCBPU1JFeGl0IDogcHVibGljIE9TUkV4aXRCYXNlIHsKICAgICB1bnNpZ25l
ZCBtX3N0cmVhbUluZGV4OwogICAgIAogICAgIFJlZlB0cjxWYWx1ZVJlY292ZXJ5T3ZlcnJpZGU+
IG1fdmFsdWVSZWNvdmVyeU92ZXJyaWRlOworICAgIAorICAgIGJvb2wgY29uc2lkZXJBZGRpbmdB
c0ZyZXF1ZW50RXhpdFNpdGUoQ29kZUJsb2NrKiBwcm9maWxlZENvZGVCbG9jaykKKyAgICB7Cisg
ICAgICAgIHJldHVybiBPU1JFeGl0QmFzZTo6Y29uc2lkZXJBZGRpbmdBc0ZyZXF1ZW50RXhpdFNp
dGUocHJvZmlsZWRDb2RlQmxvY2ssIEV4aXRGcm9tREZHKTsKKyAgICB9CiB9OwogCiBzdHJ1Y3Qg
U3BlY3VsYXRpb25GYWlsdXJlRGVidWdJbmZvIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHT1NSRXhpdEJhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdPU1JFeGl0QmFzZS5jcHAKaW5kZXggZWJmZDI3ZjJlMjg5YjUyMDMwYTVlZGJjMGViZmVh
MGNlY2ExN2M3OS4uYzVmMDAxZDdlNDI2ZjgzMWI4NjE5MGIzYjA3YmJkMDNiZjAzZTAzNCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0QmFzZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0QmFzZS5jcHAKQEAgLTM1LDcg
KzM1LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogCi1ib29sIE9TUkV4
aXRCYXNlOjpjb25zaWRlckFkZGluZ0FzRnJlcXVlbnRFeGl0U2l0ZVNsb3coQ29kZUJsb2NrKiBw
cm9maWxlZENvZGVCbG9jaykKK2Jvb2wgT1NSRXhpdEJhc2U6OmNvbnNpZGVyQWRkaW5nQXNGcmVx
dWVudEV4aXRTaXRlU2xvdyhDb2RlQmxvY2sqIHByb2ZpbGVkQ29kZUJsb2NrLCBFeGl0aW5nSklU
VHlwZSBqaXRUeXBlKQogewogICAgIENvZGVCbG9jayogc291cmNlUHJvZmlsZWRDb2RlQmxvY2sg
PQogICAgICAgICBiYXNlbGluZUNvZGVCbG9ja0Zvck9yaWdpbkFuZEJhc2VsaW5lQ29kZUJsb2Nr
KApAQCAtNDMsNyArNDMsNyBAQCBib29sIE9TUkV4aXRCYXNlOjpjb25zaWRlckFkZGluZ0FzRnJl
cXVlbnRFeGl0U2l0ZVNsb3coQ29kZUJsb2NrKiBwcm9maWxlZENvZGVCbAogICAgIGlmICghc291
cmNlUHJvZmlsZWRDb2RlQmxvY2spCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4g
c291cmNlUHJvZmlsZWRDb2RlQmxvY2stPmFkZEZyZXF1ZW50RXhpdFNpdGUoCi0gICAgICAgICAg
ICBGcmVxdWVudEV4aXRTaXRlKG1fY29kZU9yaWdpbkZvckV4aXRQcm9maWxlLmJ5dGVjb2RlSW5k
ZXgsIG1fa2luZCkpOworICAgICAgICBGcmVxdWVudEV4aXRTaXRlKG1fY29kZU9yaWdpbkZvckV4
aXRQcm9maWxlLmJ5dGVjb2RlSW5kZXgsIG1fa2luZCwgaml0VHlwZSkpOwogfQogCiB9IH0gLy8g
bmFtZXNwYWNlIEpTQzo6REZHCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR09TUkV4aXRCYXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRC
YXNlLmgKaW5kZXggZWUxZDY5ZGU3ZTE4YTQwMzBhNTYxYmM5MWMyMjM1ZDA2YzU2OGQyNy4uYzAy
MTQ2NWE3NTk1YmUzYzBkOTRjZTI1YmM1NTM3OWIxMWI5MTBiMCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0QmFzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHT1NSRXhpdEJhc2UuaApAQCAtNTgsMTUgKzU4LDE2IEBAIHN0cnVjdCBP
U1JFeGl0QmFzZSB7CiAgICAgQ29kZU9yaWdpbiBtX2NvZGVPcmlnaW47CiAgICAgQ29kZU9yaWdp
biBtX2NvZGVPcmlnaW5Gb3JFeGl0UHJvZmlsZTsKIAotICAgIGJvb2wgY29uc2lkZXJBZGRpbmdB
c0ZyZXF1ZW50RXhpdFNpdGUoQ29kZUJsb2NrKiBwcm9maWxlZENvZGVCbG9jaykKK3Byb3RlY3Rl
ZDoKKyAgICBib29sIGNvbnNpZGVyQWRkaW5nQXNGcmVxdWVudEV4aXRTaXRlKENvZGVCbG9jayog
cHJvZmlsZWRDb2RlQmxvY2ssIEV4aXRpbmdKSVRUeXBlIGppdFR5cGUpCiAgICAgewogICAgICAg
ICBpZiAoIW1fY291bnQpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJldHVy
biBjb25zaWRlckFkZGluZ0FzRnJlcXVlbnRFeGl0U2l0ZVNsb3cocHJvZmlsZWRDb2RlQmxvY2sp
OworICAgICAgICByZXR1cm4gY29uc2lkZXJBZGRpbmdBc0ZyZXF1ZW50RXhpdFNpdGVTbG93KHBy
b2ZpbGVkQ29kZUJsb2NrLCBqaXRUeXBlKTsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgYm9vbCBj
b25zaWRlckFkZGluZ0FzRnJlcXVlbnRFeGl0U2l0ZVNsb3coQ29kZUJsb2NrKiBwcm9maWxlZENv
ZGVCbG9jayk7CisgICAgYm9vbCBjb25zaWRlckFkZGluZ0FzRnJlcXVlbnRFeGl0U2l0ZVNsb3co
Q29kZUJsb2NrKiBwcm9maWxlZENvZGVCbG9jaywgRXhpdGluZ0pJVFR5cGUgaml0VHlwZSk7CiB9
OwogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09TUkV4aXRDb21waWxlci5jcHAKaW5kZXggZjhjOWZiMDY3YjFkN2I2MzMxM2Fk
NjAzM2Q0Mjk2YTQ2ZTY2NzUzNy4uMDNmMGQ4NTExYzY4MmU3YzA5MWIxOTA1Njg1NGM2ZTFmOTdl
NjhiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29t
cGlsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBp
bGVyLmNwcApAQCAtOTYsNyArOTYsNyBAQCB2b2lkIGNvbXBpbGVPU1JFeGl0KEV4ZWNTdGF0ZSog
ZXhlYykKICAgICAgICAgCiAgICAgICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIoKnZtLCAmaml0
LCBjb2RlQmxvY2spOwogICAgICAgICBleGl0Lm1fY29kZSA9IEZJTkFMSVpFX0NPREVfSUYoCi0g
ICAgICAgICAgICBzaG91bGRTaG93RGlzYXNzZW1ibHkoKSwKKyAgICAgICAgICAgIHNob3VsZFNo
b3dEaXNhc3NlbWJseSgpIHx8IE9wdGlvbnM6OnZlcmJvc2VPU1IoKSwKICAgICAgICAgICAgIHBh
dGNoQnVmZmVyLAogICAgICAgICAgICAgKCJERkcgT1NSIGV4aXQgIyV1ICglcywgJXMpIGZyb20g
JXMsIHdpdGggb3BlcmFuZHMgPSAlcyIsCiAgICAgICAgICAgICAgICAgZXhpdEluZGV4LCB0b0NT
dHJpbmcoZXhpdC5tX2NvZGVPcmlnaW4pLmRhdGEoKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyMzJfNjQuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIzMl82NC5jcHAKaW5kZXggOTQwMmQxMTVl
ODdmYWUxYWJlN2MyOWIzMjMwYjllYThmOTA1MTQxNi4uYTE3Yzk3NzhkY2RlMzhkZWUxYTU3ZmQy
NTY4OGQ1YTg2OGEwMmM1ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdPU1JFeGl0Q29tcGlsZXIzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdPU1JFeGl0Q29tcGlsZXIzMl82NC5jcHAKQEAgLTQ2LDYgKzQ2LDEyIEBAIHZvaWQgT1NS
RXhpdENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCBPU1JFeGl0JiBleGl0LCBjb25zdCBPcGVy
YW5kczxWYWx1ZVJlY292CiAgICAgICAgIG1faml0LmRlYnVnQ2FsbChkZWJ1Z09wZXJhdGlvblBy
aW50U3BlY3VsYXRpb25GYWlsdXJlLCBkZWJ1Z0luZm8pOwogICAgIH0KICAgICAKKyAgICAvLyBO
ZWVkIHRvIGVuc3VyZSB0aGF0IHRoZSBzdGFjayBwb2ludGVyIGFjY291bnRzIGZvciB0aGUgd29y
c3QtY2FzZSBzdGFjayB1c2FnZSBhdCBleGl0LgorICAgIG1faml0LmFkZFB0cigKKyAgICAgICAg
Q0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoCisgICAgICAgICAgICAtbV9qaXQuY29kZUJsb2Nr
KCktPmppdENvZGUoKS0+ZGZnQ29tbW9uKCktPnJlcXVpcmVkUmVnaXN0ZXJDb3VudEZvckV4aXQg
KiBzaXplb2YoUmVnaXN0ZXIpKSwKKyAgICAgICAgQ0NhbGxIZWxwZXJzOjpmcmFtZVBvaW50ZXJS
ZWdpc3RlciwgQ0NhbGxIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgCiAgICAg
Ly8gMikgUGVyZm9ybSBzcGVjdWxhdGlvbiByZWNvdmVyeS4gVGhpcyBvbmx5IGNvbWVzIGludG8g
cGxheSB3aGVuIGFuIG9wZXJhdGlvbgogICAgIC8vICAgIHN0YXJ0cyBtdXRhdGluZyBzdGF0ZSBi
ZWZvcmUgdmVyaWZ5aW5nIHRoZSBzcGVjdWxhdGlvbiBpdCBoYXMgYWxyZWFkeSBtYWRlLgogICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGls
ZXI2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjY0
LmNwcAppbmRleCAyMTlhNWU2OGFmZGNiMGM4MTk4YWMxYjE1NWM3NzFhZTU5ZDJmZTY1Li5hNTNi
NGNlOTExYmJlMjEyZGViZWRlYmI0NDVkMDVlNDkyOWMxMmE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjY0LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjY0LmNwcApAQCAtNDAsNiArNDAs
OCBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAKIHZvaWQgT1NSRXhpdENvbXBp
bGVyOjpjb21waWxlRXhpdChjb25zdCBPU1JFeGl0JiBleGl0LCBjb25zdCBPcGVyYW5kczxWYWx1
ZVJlY292ZXJ5PiYgb3BlcmFuZHMsIFNwZWN1bGF0aW9uUmVjb3ZlcnkqIHJlY292ZXJ5KQogewor
ICAgIG1faml0LmppdEFzc2VydFRhZ3NJblBsYWNlKCk7CisKICAgICAvLyAxKSBQcm8tZm9ybWEg
c3R1ZmYuCiAgICAgaWYgKE9wdGlvbnM6OnByaW50RWFjaE9TUkV4aXQoKSkgewogICAgICAgICBT
cGVjdWxhdGlvbkZhaWx1cmVEZWJ1Z0luZm8qIGRlYnVnSW5mbyA9IG5ldyBTcGVjdWxhdGlvbkZh
aWx1cmVEZWJ1Z0luZm87CkBAIC00OCw2ICs1MCwxMiBAQCB2b2lkIE9TUkV4aXRDb21waWxlcjo6
Y29tcGlsZUV4aXQoY29uc3QgT1NSRXhpdCYgZXhpdCwgY29uc3QgT3BlcmFuZHM8VmFsdWVSZWNv
dgogICAgICAgICBtX2ppdC5kZWJ1Z0NhbGwoZGVidWdPcGVyYXRpb25QcmludFNwZWN1bGF0aW9u
RmFpbHVyZSwgZGVidWdJbmZvKTsKICAgICB9CiAgICAgCisgICAgLy8gTmVlZCB0byBlbnN1cmUg
dGhhdCB0aGUgc3RhY2sgcG9pbnRlciBhY2NvdW50cyBmb3IgdGhlIHdvcnN0LWNhc2Ugc3RhY2sg
dXNhZ2UgYXQgZXhpdC4KKyAgICBtX2ppdC5hZGRQdHIoCisgICAgICAgIENDYWxsSGVscGVyczo6
VHJ1c3RlZEltbTMyKAorICAgICAgICAgICAgLW1faml0LmNvZGVCbG9jaygpLT5qaXRDb2RlKCkt
PmRmZ0NvbW1vbigpLT5yZXF1aXJlZFJlZ2lzdGVyQ291bnRGb3JFeGl0ICogc2l6ZW9mKFJlZ2lz
dGVyKSksCisgICAgICAgIENDYWxsSGVscGVyczo6ZnJhbWVQb2ludGVyUmVnaXN0ZXIsIENDYWxs
SGVscGVyczo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIAogICAgIC8vIDIpIFBlcmZvcm0g
c3BlY3VsYXRpb24gcmVjb3ZlcnkuIFRoaXMgb25seSBjb21lcyBpbnRvIHBsYXkgd2hlbiBhbiBv
cGVyYXRpb24KICAgICAvLyAgICBzdGFydHMgbXV0YXRpbmcgc3RhdGUgYmVmb3JlIHZlcmlmeWlu
ZyB0aGUgc3BlY3VsYXRpb24gaXQgaGFzIGFscmVhZHkgbWFkZS4KICAgICAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNwcApp
bmRleCA5Zjg0YTI5NjgwODAzYWQzMWEyYjJlNTIxMTZmM2JkZjJkYjkyNWRjLi43ZjFkOGM0YzY4
YzM3MjYzNzBjYWNkMzJmMjAwNzZiZDIzY2M0NTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwCkBAIC0zMCw2ICsz
MCw3IEBACiAKICNpbmNsdWRlICJBcmd1bWVudHMuaCIKICNpbmNsdWRlICJERkdPcGVyYXRpb25z
LmgiCisjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZUlubGluZXMuaCIKICNp
bmNsdWRlICJPcGVyYXRpb25zLmgiCiAKQEAgLTE3Myw3ICsxNzQsMTEgQEAgdm9pZCBhZGp1c3RB
bmRKdW1wVG9UYXJnZXQoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IE9TUkV4aXRCYXNlJiBleGl0
KQogICAgIEFTU0VSVChtYXBwaW5nLT5tX2J5dGVjb2RlSW5kZXggPT0gZXhpdC5tX2NvZGVPcmln
aW4uYnl0ZWNvZGVJbmRleCk7CiAgICAgCiAgICAgdm9pZCoganVtcFRhcmdldCA9IGJhc2VsaW5l
Q29kZUJsb2NrLT5qaXRDb2RlKCktPmV4ZWN1dGFibGVBZGRyZXNzQXRPZmZzZXQobWFwcGluZy0+
bV9tYWNoaW5lQ29kZU9mZnNldCk7CisKKyAgICBqaXQuYWRkUHRyKEFzc2VtYmx5SGVscGVyczo6
VHJ1c3RlZEltbTMyKEpJVDo6c3RhY2tQb2ludGVyT2Zmc2V0Rm9yKGJhc2VsaW5lQ29kZUJsb2Nr
KSAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgQXNzZW1i
bHlIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAgICAgCisgICAgaml0LmppdEFzc2Vy
dFRhZ3NJblBsYWNlKCk7CisKICAgICBqaXQubW92ZShBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJ
bW1QdHIoanVtcFRhcmdldCksIEdQUkluZm86OnJlZ1QyKTsKICAgICBqaXQuanVtcChHUFJJbmZv
OjpyZWdUMik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09w
ZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNw
cAppbmRleCBiMzFiNmZjZGM0MjIyOGY3Mjk3MDA5YTdlMjczMTAwYmY1NTM4YzYxLi4yZmYwYzM0
MTQ2ZTJjMGJhMmZmNzZjNGQzZjdjNDZiYTNlMjU1MTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKQEAgLTExNDAsNyArMTE0MCw3IEBAIHZvaWQgSklU
X09QRVJBVElPTiB0cmlnZ2VyVGllclVwTm93KEV4ZWNTdGF0ZSogZXhlYykKICAgICB9CiAgICAg
CiAgICAgV29ya2xpc3Q6OlN0YXRlIHdvcmtsaXN0U3RhdGU7Ci0gICAgaWYgKFdvcmtsaXN0KiB3
b3JrbGlzdCA9IHZtLT53b3JrbGlzdC5nZXQoKSkgeworICAgIGlmIChXb3JrbGlzdCogd29ya2xp
c3QgPSBleGlzdGluZ0dsb2JhbEZUTFdvcmtsaXN0T3JOdWxsKCkpIHsKICAgICAgICAgd29ya2xp
c3RTdGF0ZSA9IHdvcmtsaXN0LT5jb21wbGV0ZUFsbFJlYWR5UGxhbnNGb3JWTSgKICAgICAgICAg
ICAgICp2bSwgQ29tcGlsYXRpb25LZXkoY29kZUJsb2NrLT5iYXNlbGluZVZlcnNpb24oKSwgRlRM
TW9kZSkpOwogICAgIH0gZWxzZQpAQCAtMTE2OSw4ICsxMTY5LDggQEAgdm9pZCBKSVRfT1BFUkFU
SU9OIHRyaWdnZXJUaWVyVXBOb3coRXhlY1N0YXRlKiBleGVjKQogCiAgICAgLy8gV2UgbmVlZCB0
byBjb21waWxlIHRoZSBjb2RlLgogICAgIGNvbXBpbGUoCi0gICAgICAgICp2bSwgY29kZUJsb2Nr
LT5uZXdSZXBsYWNlbWVudCgpLmdldCgpLCBGVExNb2RlLCBVSU5UX01BWCwgT3BlcmFuZHM8SlNW
YWx1ZT4oKSwKLSAgICAgICAgVG9GVExEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s6OmNyZWF0
ZShjb2RlQmxvY2spLCB2bS0+ZW5zdXJlV29ya2xpc3QoKSk7CisgICAgICAgICp2bSwgY29kZUJs
b2NrLT5uZXdSZXBsYWNlbWVudCgpLmdldCgpLCBjb2RlQmxvY2ssIEZUTE1vZGUsIFVJTlRfTUFY
LAorICAgICAgICBPcGVyYW5kczxKU1ZhbHVlPigpLCBUb0ZUTERlZmVycmVkQ29tcGlsYXRpb25D
YWxsYmFjazo6Y3JlYXRlKGNvZGVCbG9jaykpOwogfQogCiBjaGFyKiBKSVRfT1BFUkFUSU9OIHRy
aWdnZXJPU1JFbnRyeU5vdygKQEAgLTEyMDIsOCArMTIwMiwxMCBAQCBjaGFyKiBKSVRfT1BFUkFU
SU9OIHRyaWdnZXJPU1JFbnRyeU5vdygKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgIAor
ICAgIFdvcmtsaXN0KiB3b3JrbGlzdCA9IGV4aXN0aW5nR2xvYmFsRlRMV29ya2xpc3RPck51bGwo
KTsKKwogICAgIFdvcmtsaXN0OjpTdGF0ZSB3b3JrbGlzdFN0YXRlOwotICAgIGlmIChXb3JrbGlz
dCogd29ya2xpc3QgPSB2bS0+d29ya2xpc3QuZ2V0KCkpIHsKKyAgICBpZiAod29ya2xpc3QpIHsK
ICAgICAgICAgd29ya2xpc3RTdGF0ZSA9IHdvcmtsaXN0LT5jb21wbGV0ZUFsbFJlYWR5UGxhbnNG
b3JWTSgKICAgICAgICAgICAgICp2bSwgQ29tcGlsYXRpb25LZXkoY29kZUJsb2NrLT5iYXNlbGlu
ZVZlcnNpb24oKSwgRlRMRm9yT1NSRW50cnlNb2RlKSk7CiAgICAgfSBlbHNlCkBAIC0xMjUyLDEw
ICsxMjU0LDkgQEAgY2hhciogSklUX09QRVJBVElPTiB0cmlnZ2VyT1NSRW50cnlOb3coCiAgICAg
T3BlcmFuZHM8SlNWYWx1ZT4gbXVzdEhhbmRsZVZhbHVlczsKICAgICBqaXRDb2RlLT5yZWNvbnN0
cnVjdCgKICAgICAgICAgZXhlYywgY29kZUJsb2NrLCBDb2RlT3JpZ2luKGJ5dGVjb2RlSW5kZXgp
LCBzdHJlYW1JbmRleCwgbXVzdEhhbmRsZVZhbHVlcyk7Ci0gICAgQ29tcGlsYXRpb25SZXN1bHQg
Zm9yRW50cnlSZXN1bHQgPSBERkc6OmNvbXBpbGUoCi0gICAgICAgICp2bSwgY29kZUJsb2NrLT5u
ZXdSZXBsYWNlbWVudCgpLmdldCgpLCBGVExGb3JPU1JFbnRyeU1vZGUsIGJ5dGVjb2RlSW5kZXgs
Ci0gICAgICAgIG11c3RIYW5kbGVWYWx1ZXMsIFRvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENvbXBp
bGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZShjb2RlQmxvY2spLAotICAgICAgICB2bS0+ZW5zdXJlV29y
a2xpc3QoKSk7CisgICAgQ29tcGlsYXRpb25SZXN1bHQgZm9yRW50cnlSZXN1bHQgPSBjb21waWxl
KAorICAgICAgICAqdm0sIGNvZGVCbG9jay0+bmV3UmVwbGFjZW1lbnQoKS5nZXQoKSwgY29kZUJs
b2NrLCBGVExGb3JPU1JFbnRyeU1vZGUsIGJ5dGVjb2RlSW5kZXgsCisgICAgICAgIG11c3RIYW5k
bGVWYWx1ZXMsIFRvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s6OmNy
ZWF0ZShjb2RlQmxvY2spKTsKICAgICAKICAgICAvLyBCdXQgd2UgYWxzbyB3YW50IHRvIHRyaWdn
ZXIgYSByZXBsYWNlbWVudCBjb21waWxlLiBPZiBjb3Vyc2UsIHdlIGRvbid0IHdhbnQgdG8KICAg
ICAvLyB0cmlnZ2VyIGl0IGlmIHdlIGRvbid0IG5lZWQgdG8uIE5vdGUgdGhhdCB0aGlzIGlzIGtp
bmQgb2Ygd2VpcmQgYmVjYXVzZSB3ZSBtaWdodApAQCAtMTI2OCwxMSArMTI2OSwxMSBAQCBjaGFy
KiBKSVRfT1BFUkFUSU9OIHRyaWdnZXJPU1JFbnRyeU5vdygKICAgICBDb21waWxhdGlvbktleSBr
ZXlGb3JSZXBsYWNlbWVudChjb2RlQmxvY2stPmJhc2VsaW5lVmVyc2lvbigpLCBGVExNb2RlKTsK
ICAgICBpZiAoY29kZUJsb2NrLT5jb2RlVHlwZSgpICE9IEdsb2JhbENvZGUKICAgICAgICAgJiYg
IWNvZGVCbG9jay0+aGFzT3B0aW1pemVkUmVwbGFjZW1lbnQoKQotICAgICAgICAmJiAoIXZtLT53
b3JrbGlzdC5nZXQoKQotICAgICAgICAgICAgfHwgdm0tPndvcmtsaXN0LT5jb21waWxhdGlvblN0
YXRlKGtleUZvclJlcGxhY2VtZW50KSA9PSBXb3JrbGlzdDo6Tm90S25vd24pKSB7CisgICAgICAg
ICYmICghd29ya2xpc3QKKyAgICAgICAgICAgIHx8IHdvcmtsaXN0LT5jb21waWxhdGlvblN0YXRl
KGtleUZvclJlcGxhY2VtZW50KSA9PSBXb3JrbGlzdDo6Tm90S25vd24pKSB7CiAgICAgICAgIGNv
bXBpbGUoCi0gICAgICAgICAgICAqdm0sIGNvZGVCbG9jay0+bmV3UmVwbGFjZW1lbnQoKS5nZXQo
KSwgRlRMTW9kZSwgVUlOVF9NQVgsIE9wZXJhbmRzPEpTVmFsdWU+KCksCi0gICAgICAgICAgICBU
b0ZUTERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjazo6Y3JlYXRlKGNvZGVCbG9jayksIHZtLT5l
bnN1cmVXb3JrbGlzdCgpKTsKKyAgICAgICAgICAgICp2bSwgY29kZUJsb2NrLT5uZXdSZXBsYWNl
bWVudCgpLmdldCgpLCBjb2RlQmxvY2ssIEZUTE1vZGUsIFVJTlRfTUFYLAorICAgICAgICAgICAg
T3BlcmFuZHM8SlNWYWx1ZT4oKSwgVG9GVExEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s6OmNy
ZWF0ZShjb2RlQmxvY2spKTsKICAgICB9CiAgICAgCiAgICAgaWYgKGZvckVudHJ5UmVzdWx0ICE9
IENvbXBpbGF0aW9uU3VjY2Vzc2Z1bCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHUGxhbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3Bw
CmluZGV4IDhjMzcwODM4MzBmODBjNTY4OGJkNWY1MjczY2QyZWRjNjNjOWM1NWMuLjI4NjNhMDhk
MDI3YzRjNGMyOTU0NjI1YTgwOTIyZmU1YjdmMzAxMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQbGFuLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtOTAsMTcgKzkwLDM3IEBAIHN0YXRpYyB2b2lkIGR1bXBBbmRWZXJpZnlH
cmFwaChHcmFwaCYgZ3JhcGgsIGNvbnN0IGNoYXIqIHRleHQpCiAgICAgICAgIHZhbGlkYXRlKGdy
YXBoLCBtb2RlRm9yRmluYWxWYWxpZGF0ZSk7CiB9CiAKK3N0YXRpYyBQcm9maWxlcjo6Q29tcGls
YXRpb25LaW5kIHByb2ZpbGVyQ29tcGlsYXRpb25LaW5kRm9yTW9kZShDb21waWxhdGlvbk1vZGUg
bW9kZSkKK3sKKyAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICBjYXNlIEludmFsaWRDb21waWxhdGlv
bk1vZGU6CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJl
dHVybiBQcm9maWxlcjo6REZHOworICAgIGNhc2UgREZHTW9kZToKKyAgICAgICAgcmV0dXJuIFBy
b2ZpbGVyOjpERkc7CisgICAgY2FzZSBGVExNb2RlOgorICAgICAgICByZXR1cm4gUHJvZmlsZXI6
OkZUTDsKKyAgICBjYXNlIEZUTEZvck9TUkVudHJ5TW9kZToKKyAgICAgICAgcmV0dXJuIFByb2Zp
bGVyOjpGVExGb3JPU1JFbnRyeTsKKyAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICByZXR1cm4gUHJvZmlsZXI6OkRGRzsKK30KKwogUGxhbjo6UGxhbigKLSAgICBQ
YXNzUmVmUHRyPENvZGVCbG9jaz4gcGFzc2VkQ29kZUJsb2NrLCBDb21waWxhdGlvbk1vZGUgbW9k
ZSwKLSAgICB1bnNpZ25lZCBvc3JFbnRyeUJ5dGVjb2RlSW5kZXgsIGNvbnN0IE9wZXJhbmRzPEpT
VmFsdWU+JiBtdXN0SGFuZGxlVmFsdWVzKQorICAgIFBhc3NSZWZQdHI8Q29kZUJsb2NrPiBwYXNz
ZWRDb2RlQmxvY2ssIENvZGVCbG9jayogcHJvZmlsZWRERkdDb2RlQmxvY2ssCisgICAgQ29tcGls
YXRpb25Nb2RlIG1vZGUsIHVuc2lnbmVkIG9zckVudHJ5Qnl0ZWNvZGVJbmRleCwKKyAgICBjb25z
dCBPcGVyYW5kczxKU1ZhbHVlPiYgbXVzdEhhbmRsZVZhbHVlcykKICAgICA6IHZtKCpwYXNzZWRD
b2RlQmxvY2stPnZtKCkpCiAgICAgLCBjb2RlQmxvY2socGFzc2VkQ29kZUJsb2NrKQorICAgICwg
cHJvZmlsZWRERkdDb2RlQmxvY2socHJvZmlsZWRERkdDb2RlQmxvY2spCiAgICAgLCBtb2RlKG1v
ZGUpCiAgICAgLCBvc3JFbnRyeUJ5dGVjb2RlSW5kZXgob3NyRW50cnlCeXRlY29kZUluZGV4KQog
ICAgICwgbXVzdEhhbmRsZVZhbHVlcyhtdXN0SGFuZGxlVmFsdWVzKQotICAgICwgY29tcGlsYXRp
b24oY29kZUJsb2NrLT52bSgpLT5tX3BlckJ5dGVjb2RlUHJvZmlsZXIgPyBhZG9wdFJlZihuZXcg
UHJvZmlsZXI6OkNvbXBpbGF0aW9uKGNvZGVCbG9jay0+dm0oKS0+bV9wZXJCeXRlY29kZVByb2Zp
bGVyLT5lbnN1cmVCeXRlY29kZXNGb3IoY29kZUJsb2NrLmdldCgpKSwgUHJvZmlsZXI6OkRGRykp
IDogMCkKKyAgICAsIGNvbXBpbGF0aW9uKGNvZGVCbG9jay0+dm0oKS0+bV9wZXJCeXRlY29kZVBy
b2ZpbGVyID8gYWRvcHRSZWYobmV3IFByb2ZpbGVyOjpDb21waWxhdGlvbihjb2RlQmxvY2stPnZt
KCktPm1fcGVyQnl0ZWNvZGVQcm9maWxlci0+ZW5zdXJlQnl0ZWNvZGVzRm9yKGNvZGVCbG9jay5n
ZXQoKSksIHByb2ZpbGVyQ29tcGlsYXRpb25LaW5kRm9yTW9kZShtb2RlKSkpIDogMCkKICAgICAs
IGlkZW50aWZpZXJzKGNvZGVCbG9jay5nZXQoKSkKICAgICAsIHdlYWtSZWZlcmVuY2VzKGNvZGVC
bG9jay5nZXQoKSkKKyAgICAsIHdpbGxUcnlUb1RpZXJVcChmYWxzZSkKICAgICAsIGlzQ29tcGls
ZWQoZmFsc2UpCiB7CiB9CkBAIC0xMDksMTAgKzEyOSwxNiBAQCBQbGFuOjp+UGxhbigpCiB7CiB9
CiAKK2Jvb2wgUGxhbjo6cmVwb3J0Q29tcGlsZVRpbWVzKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
T3B0aW9uczo6cmVwb3J0Q29tcGlsZVRpbWVzKCkKKyAgICAgICAgfHwgKE9wdGlvbnM6OnJlcG9y
dEZUTENvbXBpbGVUaW1lcygpICYmIGlzRlRMKG1vZGUpKTsKK30KKwogdm9pZCBQbGFuOjpjb21w
aWxlSW5UaHJlYWQoTG9uZ0xpdmVkU3RhdGUmIGxvbmdMaXZlZFN0YXRlKQogewogICAgIGRvdWJs
ZSBiZWZvcmUgPSAwOwotICAgIGlmIChPcHRpb25zOjpyZXBvcnRDb21waWxlVGltZXMoKSkKKyAg
ICBpZiAocmVwb3J0Q29tcGlsZVRpbWVzKCkpCiAgICAgICAgIGJlZm9yZSA9IGN1cnJlbnRUaW1l
TVMoKTsKICAgICAKICAgICBTYW1wbGluZ1JlZ2lvbiBzYW1wbGluZ1JlZ2lvbigiREZHIENvbXBp
bGF0aW9uIChQbGFuKSIpOwpAQCAtMTI1LDcgKzE1MSw3IEBAIHZvaWQgUGxhbjo6Y29tcGlsZUlu
VGhyZWFkKExvbmdMaXZlZFN0YXRlJiBsb25nTGl2ZWRTdGF0ZSkKIAogICAgIFJFTEVBU0VfQVNT
RVJUKGZpbmFsaXplcik7CiAgICAgCi0gICAgaWYgKE9wdGlvbnM6OnJlcG9ydENvbXBpbGVUaW1l
cygpKSB7CisgICAgaWYgKHJlcG9ydENvbXBpbGVUaW1lcygpKSB7CiAgICAgICAgIGNvbnN0IGNo
YXIqIHBhdGhOYW1lOwogICAgICAgICBzd2l0Y2ggKHBhdGgpIHsKICAgICAgICAgY2FzZSBGYWls
UGF0aDoKQEAgLTE0Myw3ICsxNjksNyBAQCB2b2lkIFBsYW46OmNvbXBpbGVJblRocmVhZChMb25n
TGl2ZWRTdGF0ZSYgbG9uZ0xpdmVkU3RhdGUpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgICAgICBkb3VibGUgbm93ID0gY3VycmVudFRpbWVNUygpOwotICAgICAgICBkYXRhTG9n
KCJPcHRpbWl6ZWQgIiwgKmNvZGVCbG9jay0+YWx0ZXJuYXRpdmUoKSwgIiB1c2luZyAiLCBtb2Rl
LCAiIHdpdGggIiwgcGF0aE5hbWUsICIgaW4gIiwgbm93IC0gYmVmb3JlLCAiIG1zIik7CisgICAg
ICAgIGRhdGFMb2coIk9wdGltaXplZCAiLCAqY29kZUJsb2NrLCAiIHVzaW5nICIsIG1vZGUsICIg
d2l0aCAiLCBwYXRoTmFtZSwgIiBpbnRvICIsIGZpbmFsaXplci0+Y29kZVNpemUoKSwgIiBieXRl
cyBpbiAiLCBub3cgLSBiZWZvcmUsICIgbXMiKTsKICAgICAgICAgaWYgKHBhdGggPT0gRlRMUGF0
aCkKICAgICAgICAgICAgIGRhdGFMb2coIiAoREZHOiAiLCBiZWZvcmVGVEwgLSBiZWZvcmUsICIs
IExMVk06ICIsIG5vdyAtIGJlZm9yZUZUTCwgIikiKTsKICAgICAgICAgZGF0YUxvZygiLlxuIik7
CkBAIC0yOTIsNyArMzE4LDcgQEAgUGxhbjo6Q29tcGlsYXRpb25QYXRoIFBsYW46OmNvbXBpbGVJ
blRocmVhZEltcGwoTG9uZ0xpdmVkU3RhdGUmIGxvbmdMaXZlZFN0YXRlKQogICAgICAgICBGVEw6
OlN0YXRlIHN0YXRlKGRmZyk7CiAgICAgICAgIEZUTDo6bG93ZXJERkdUb0xMVk0oc3RhdGUpOwog
ICAgICAgICAKLSAgICAgICAgaWYgKE9wdGlvbnM6OnJlcG9ydENvbXBpbGVUaW1lcygpKQorICAg
ICAgICBpZiAocmVwb3J0Q29tcGlsZVRpbWVzKCkpCiAgICAgICAgICAgICBiZWZvcmVGVEwgPSBj
dXJyZW50VGltZU1TKCk7CiAgICAgICAgIAogICAgICAgICBpZiAoT3B0aW9uczo6bGx2bUFsd2F5
c0ZhaWxzQmVmb3JlQ29tcGlsZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1BsYW4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5oCmlu
ZGV4IGE2MDI2OTc5ODgzZTMyNzE5M2E3ODY2NDE5OTMyZGY3MDEyYzc2ZWIuLjFmNmJjZTBjNDE3
YjE1MzI4Nzk4NDkzNWZkYmY5NThjODc5YjRhODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHUGxhbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
UGxhbi5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC01NSw3ICs1NSw4IEBAIGNsYXNzIExvbmdMaXZlZFN0YXRlOwogCiBzdHJ1Y3QgUGxh
biA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxQbGFuPiB7CiAgICAgUGxhbigKLSAgICAg
ICAgUGFzc1JlZlB0cjxDb2RlQmxvY2s+LCBDb21waWxhdGlvbk1vZGUsIHVuc2lnbmVkIG9zckVu
dHJ5Qnl0ZWNvZGVJbmRleCwKKyAgICAgICAgUGFzc1JlZlB0cjxDb2RlQmxvY2s+IGNvZGVCbG9j
a1RvQ29tcGlsZSwgQ29kZUJsb2NrKiBwcm9maWxlZERGR0NvZGVCbG9jaywKKyAgICAgICAgQ29t
cGlsYXRpb25Nb2RlLCB1bnNpZ25lZCBvc3JFbnRyeUJ5dGVjb2RlSW5kZXgsCiAgICAgICAgIGNv
bnN0IE9wZXJhbmRzPEpTVmFsdWU+JiBtdXN0SGFuZGxlVmFsdWVzKTsKICAgICB+UGxhbigpOwog
ICAgIApAQCAtNzAsNiArNzEsNyBAQCBzdHJ1Y3QgUGxhbiA6IHB1YmxpYyBUaHJlYWRTYWZlUmVm
Q291bnRlZDxQbGFuPiB7CiAgICAgCiAgICAgVk0mIHZtOwogICAgIFJlZlB0cjxDb2RlQmxvY2s+
IGNvZGVCbG9jazsKKyAgICBSZWZQdHI8Q29kZUJsb2NrPiBwcm9maWxlZERGR0NvZGVCbG9jazsK
ICAgICBDb21waWxhdGlvbk1vZGUgbW9kZTsKICAgICBjb25zdCB1bnNpZ25lZCBvc3JFbnRyeUJ5
dGVjb2RlSW5kZXg7CiAgICAgT3BlcmFuZHM8SlNWYWx1ZT4gbXVzdEhhbmRsZVZhbHVlczsKQEAg
LTg0LDYgKzg2LDggQEAgc3RydWN0IFBsYW4gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
UGxhbj4gewogICAgIERlc2lyZWRXZWFrUmVmZXJlbmNlcyB3ZWFrUmVmZXJlbmNlczsKICAgICBE
ZXNpcmVkV3JpdGVCYXJyaWVycyB3cml0ZUJhcnJpZXJzOwogICAgIERlc2lyZWRUcmFuc2l0aW9u
cyB0cmFuc2l0aW9uczsKKyAgICAKKyAgICBib29sIHdpbGxUcnlUb1RpZXJVcDsKIAogICAgIGRv
dWJsZSBiZWZvcmVGVEw7CiAgICAgCkBAIC05Miw2ICs5Niw4IEBAIHN0cnVjdCBQbGFuIDogcHVi
bGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFBsYW4+IHsKICAgICBSZWZQdHI8RGVmZXJyZWRDb21w
aWxhdGlvbkNhbGxiYWNrPiBjYWxsYmFjazsKIAogcHJpdmF0ZToKKyAgICBib29sIHJlcG9ydENv
bXBpbGVUaW1lcygpIGNvbnN0OworICAgIAogICAgIGVudW0gQ29tcGlsYXRpb25QYXRoIHsgRmFp
bFBhdGgsIERGR1BhdGgsIEZUTFBhdGggfTsKICAgICBDb21waWxhdGlvblBhdGggY29tcGlsZUlu
VGhyZWFkSW1wbChMb25nTGl2ZWRTdGF0ZSYpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTU0FMb3dlcmluZ1BoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU1NBTG93ZXJpbmdQaGFzZS5jcHAKaW5kZXggNTFkNWZkMGU0OTdkNjU1
MjExNzZmMzFlOTljNTQxYWVmNWRkMjAzZS4uMGY0NjE1NTkyZGRhM2ZiNGNjYmUzNmU1MDdlZTM2
YTEzYmVmZWYwOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTU0FM
b3dlcmluZ1BoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NTQUxv
d2VyaW5nUGhhc2UuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMs
IDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC03MywyMiArNzMsMzMgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgUHV0QnlWYWw6Ci0gICAgICAgIGNhc2Ug
UHV0QnlWYWxEaXJlY3Q6Ci0gICAgICAgICAgICBsb3dlckJvdW5kc0NoZWNrKAotICAgICAgICAg
ICAgICAgIG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAwKSwKLSAgICAgICAgICAgICAgICBt
X2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMSksCi0gICAgICAgICAgICAgICAgbV9ncmFwaC52
YXJBcmdDaGlsZChtX25vZGUsIDMpKTsKKyAgICAgICAgY2FzZSBQdXRCeVZhbERpcmVjdDogewor
ICAgICAgICAgICAgRWRnZSBiYXNlID0gbV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDApOwor
ICAgICAgICAgICAgRWRnZSBpbmRleCA9IG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAxKTsK
KyAgICAgICAgICAgIEVkZ2Ugc3RvcmFnZSA9IG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAz
KTsKKyAgICAgICAgICAgIGlmIChsb3dlckJvdW5kc0NoZWNrKGJhc2UsIGluZGV4LCBzdG9yYWdl
KSkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYg
KG1fbm9kZS0+YXJyYXlNb2RlKCkudHlwZWRBcnJheVR5cGUoKSAhPSBOb3RUeXBlZEFycmF5ICYm
IG1fbm9kZS0+YXJyYXlNb2RlKCkuaXNPdXRPZkJvdW5kcygpKSB7CisgICAgICAgICAgICAgICAg
Tm9kZSogbGVuZ3RoID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKKyAgICAgICAgICAgICAg
ICAgICAgbV9ub2RlSW5kZXgsIFNwZWNJbnQzMiwgR2V0QXJyYXlMZW5ndGgsIG1fbm9kZS0+Y29k
ZU9yaWdpbiwKKyAgICAgICAgICAgICAgICAgICAgT3BJbmZvKG1fbm9kZS0+YXJyYXlNb2RlKCku
YXNXb3JkKCkpLCBiYXNlLCBzdG9yYWdlKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAg
ICAgICBtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgNCkgPSBFZGdlKGxlbmd0aCwgS25vd25J
bnQzMlVzZSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgIGRlZmF1bHQ6CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICB2b2lkIGxvd2Vy
Qm91bmRzQ2hlY2soRWRnZSBiYXNlLCBFZGdlIGluZGV4LCBFZGdlIHN0b3JhZ2UpCisgICAgYm9v
bCBsb3dlckJvdW5kc0NoZWNrKEVkZ2UgYmFzZSwgRWRnZSBpbmRleCwgRWRnZSBzdG9yYWdlKQog
ICAgIHsKICAgICAgICAgaWYgKCFtX25vZGUtPmFycmF5TW9kZSgpLnBlcm1pdHNCb3VuZHNDaGVj
a0xvd2VyaW5nKCkpCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIAogICAgICAgICBpZiAoIW1fbm9kZS0+YXJyYXlNb2RlKCkubGVuZ3RoTmVl
ZHNTdG9yYWdlKCkpCiAgICAgICAgICAgICBzdG9yYWdlID0gRWRnZSgpOwpAQCAtOTksNiArMTEw
LDcgQEAgcHJpdmF0ZToKICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKICAgICAg
ICAgICAgIG1fbm9kZUluZGV4LCBTcGVjSW50MzIsIENoZWNrSW5Cb3VuZHMsIG1fbm9kZS0+Y29k
ZU9yaWdpbiwKICAgICAgICAgICAgIGluZGV4LCBFZGdlKGxlbmd0aCwgS25vd25JbnQzMlVzZSkp
OworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgCiAgICAgSW5zZXJ0aW9uU2V0IG1f
aW5zZXJ0aW9uU2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcAppbmRleCA3ZDIyMjIwYmQ4YmRjYTNhZjFiODVlZmY4MzcxODJhNDUxOTE5ODNm
Li4yOTkzZDk3NjE4YjYxNWQzMzJhNmZmNGFiMmVhZGYwMjEyZTU3ZWQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtMTM0Niw2ICsx
MzQ2LDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUN1cnJlbnRCbG9jaygpCiAgICAg
bV9zdHJlYW0tPmFwcGVuZEFuZExvZyhWYXJpYWJsZUV2ZW50OjpyZXNldCgpKTsKICAgICAKICAg
ICBtX2ppdC5qaXRBc3NlcnRIYXNWYWxpZENhbGxGcmFtZSgpOworICAgIG1faml0LmppdEFzc2Vy
dFRhZ3NJblBsYWNlKCk7CisgICAgbV9qaXQuaml0QXNzZXJ0QXJndW1lbnRDb3VudFNhbmUoKTsK
IAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9ibG9jay0+dmFyaWFibGVzQXRIZWFkLm51
bWJlck9mQXJndW1lbnRzKCk7ICsraSkgewogICAgICAgICBtX3N0cmVhbS0+YXBwZW5kQW5kTG9n
KApAQCAtMTUzMiwxMCArMTUzNCw0MCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjaGVja0FyZ3Vt
ZW50VHlwZXMoKQogICAgIG1faXNDaGVja2luZ0FyZ3VtZW50VHlwZXMgPSBmYWxzZTsKIH0KIAor
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6cHJlcGFyZUpJVENvZGVGb3JUaWVyVXAoKQoreworICAgIHVu
c2lnbmVkIG51bWJlck9mQ2FsbHMgPSAwOworICAgIAorICAgIGZvciAoQmxvY2tJbmRleCBibG9j
a0luZGV4ID0gbV9qaXQuZ3JhcGgoKS5udW1CbG9ja3MoKTsgYmxvY2tJbmRleC0tOykgeworICAg
ICAgICBCYXNpY0Jsb2NrKiBibG9jayA9IG1faml0LmdyYXBoKCkuYmxvY2soYmxvY2tJbmRleCk7
CisgICAgICAgIGlmICghYmxvY2spCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgCisg
ICAgICAgIGZvciAodW5zaWduZWQgbm9kZUluZGV4ID0gYmxvY2stPnNpemUoKTsgbm9kZUluZGV4
LS07KSB7CisgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KG5vZGVJbmRleCk7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgeworICAgICAgICAg
ICAgY2FzZSBDYWxsOgorICAgICAgICAgICAgY2FzZSBDb25zdHJ1Y3Q6CisgICAgICAgICAgICAg
ICAgbnVtYmVyT2ZDYWxscysrOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
ICAgIAorICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICBtX2ppdC5qaXRDb2RlKCktPnNs
b3dQYXRoQ2FsbHMuZmlsbCgwLCBudW1iZXJPZkNhbGxzKTsKK30KKwogYm9vbCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZSgpCiB7CiAgICAgY2hlY2tBcmd1bWVudFR5cGVzKCk7Ci0KKyAgICAKKyAg
ICBpZiAobV9qaXQuZ3JhcGgoKS5tX3BsYW4ud2lsbFRyeVRvVGllclVwKQorICAgICAgICBwcmVw
YXJlSklUQ29kZUZvclRpZXJVcCgpOworICAgIAogICAgIEFTU0VSVCghbV9jdXJyZW50Tm9kZSk7
CiAgICAgZm9yIChCbG9ja0luZGV4IGJsb2NrSW5kZXggPSAwOyBibG9ja0luZGV4IDwgbV9qaXQu
Z3JhcGgoKS5udW1CbG9ja3MoKTsgKytibG9ja0luZGV4KSB7CiAgICAgICAgIG1faml0LnNldEZv
ckJsb2NrSW5kZXgoYmxvY2tJbmRleCk7CkBAIC0yMzkwLDYgKzI0MjIsMTAgQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5VmFsRm9ySW50VHlwZWRBcnJheShHUFJSZWcgYmFzZSwg
R1BSUmVnIHByb3BlcnQKICAgICBBU1NFUlQodmFsdWVHUFIgIT0gYmFzZSk7CiAgICAgQVNTRVJU
KHZhbHVlR1BSICE9IHN0b3JhZ2VSZWcpOwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG91dE9m
Qm91bmRzID0ganVtcEZvclR5cGVkQXJyYXlPdXRPZkJvdW5kcyhub2RlLCBiYXNlLCBwcm9wZXJ0
eSk7CisgICAgaWYgKG5vZGUtPmFycmF5TW9kZSgpLmlzSW5Cb3VuZHMoKSAmJiBvdXRPZkJvdW5k
cy5pc1NldCgpKSB7CisgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soT3V0T2ZCb3VuZHMsIEpTVmFs
dWVTb3VyY2UoKSwgMCwgb3V0T2ZCb3VuZHMpOworICAgICAgICBvdXRPZkJvdW5kcyA9IE1hY3Jv
QXNzZW1ibGVyOjpKdW1wKCk7CisgICAgfQogCiAgICAgc3dpdGNoIChlbGVtZW50U2l6ZSh0eXBl
KSkgewogICAgIGNhc2UgMToKQEAgLTI0NjUsNiArMjUwMSwxMCBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlUHV0QnlWYWxGb3JGbG9hdFR5cGVkQXJyYXkoR1BSUmVnIGJhc2UsIEdQUlJl
ZyBwcm9wZQogICAgIEFTU0VSVF9VTlVTRUQoYmFzZVVzZSwgbm9kZS0+YXJyYXlNb2RlKCkuYWxy
ZWFkeUNoZWNrZWQobV9qaXQuZ3JhcGgoKSwgbm9kZSwgbV9zdGF0ZS5mb3JOb2RlKGJhc2VVc2Up
KSk7CiAgICAgCiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgb3V0T2ZCb3VuZHMgPSBqdW1wRm9y
VHlwZWRBcnJheU91dE9mQm91bmRzKG5vZGUsIGJhc2UsIHByb3BlcnR5KTsKKyAgICBpZiAobm9k
ZS0+YXJyYXlNb2RlKCkuaXNJbkJvdW5kcygpICYmIG91dE9mQm91bmRzLmlzU2V0KCkpIHsKKyAg
ICAgICAgc3BlY3VsYXRpb25DaGVjayhPdXRPZkJvdW5kcywgSlNWYWx1ZVNvdXJjZSgpLCAwLCBv
dXRPZkJvdW5kcyk7CisgICAgICAgIG91dE9mQm91bmRzID0gTWFjcm9Bc3NlbWJsZXI6Okp1bXAo
KTsKKyAgICB9CiAgICAgCiAgICAgc3dpdGNoIChlbGVtZW50U2l6ZSh0eXBlKSkgewogICAgIGNh
c2UgNDogewpAQCAtMzQyOSw2ICszNDY5LDE3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVBcml0aE1vZChOb2RlKiBub2RlKQogICAgICAgICBHUFJSZWcgcXVvdGllbnRUaGVuUmVtYWlu
ZGVyR1BSID0gcXVvdGllbnRUaGVuUmVtYWluZGVyLmdwcigpOwogICAgICAgICBHUFJSZWcgbXVs
dGlwbHlBbnN3ZXJHUFIgPSBtdWx0aXBseUFuc3dlci5ncHIoKTsKIAorICAgICAgICBKSVRDb21w
aWxlcjo6SnVtcExpc3QgZG9uZTsKKyAgICAgICAgCisgICAgICAgIGlmIChzaG91bGRDaGVja092
ZXJmbG93KG5vZGUtPmFyaXRoTW9kZSgpKSkKKyAgICAgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2so
T3ZlcmZsb3csIEpTVmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5jaFRlc3QzMihKSVRDb21waWxl
cjo6WmVybywgZGl2aXNvckdQUikpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIEpJVENv
bXBpbGVyOjpKdW1wIGRlbm9taW5hdG9yTm90WmVybyA9IG1faml0LmJyYW5jaFRlc3QzMihKSVRD
b21waWxlcjo6Tm9uWmVybywgZGl2aXNvckdQUik7CisgICAgICAgICAgICBtX2ppdC5tb3ZlKGRp
dmlzb3JHUFIsIHF1b3RpZW50VGhlblJlbWFpbmRlckdQUik7CisgICAgICAgICAgICBkb25lLmFw
cGVuZChtX2ppdC5qdW1wKCkpOworICAgICAgICAgICAgZGVub21pbmF0b3JOb3RaZXJvLmxpbmso
Jm1faml0KTsKKyAgICAgICAgfQorCiAgICAgICAgIG1faml0LmFzc2VtYmxlcigpLnNkaXYocXVv
dGllbnRUaGVuUmVtYWluZGVyR1BSLCBkaXZpZGVuZEdQUiwgZGl2aXNvckdQUik7CiAgICAgICAg
IC8vIEZJWE1FOiBJdCBzZWVtcyBsaWtlIHRoZXJlIGFyZSBjYXNlcyB3aGVyZSB3ZSBkb24ndCBu
ZWVkIHRoaXM/IFdoYXQgaWYgd2UgaGF2ZQogICAgICAgICAvLyBhcml0aE1vZGUoKSA9PSBBcml0
aDo6VW5jaGVja2VkPwpAQCAtMzQ0NSw2ICszNDk2LDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZUFyaXRoTW9kKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICBudW1lcmF0b3JQb3NpdGl2
ZS5saW5rKCZtX2ppdCk7CiAgICAgICAgIH0KIAorICAgICAgICBkb25lLmxpbmsoJm1faml0KTsK
KyAgICAgICAgCiAgICAgICAgIGludDMyUmVzdWx0KHF1b3RpZW50VGhlblJlbWFpbmRlckdQUiwg
bm9kZSk7CiAjZWxpZiBDUFUoQVJNNjQpCiAgICAgICAgIEdQUlRlbXBvcmFyeSB0ZW1wKHRoaXMp
OwpAQCAtMzQ1NSw2ICszNTA4LDE3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVBcml0
aE1vZChOb2RlKiBub2RlKQogICAgICAgICBHUFJSZWcgcXVvdGllbnRUaGVuUmVtYWluZGVyR1BS
ID0gcXVvdGllbnRUaGVuUmVtYWluZGVyLmdwcigpOwogICAgICAgICBHUFJSZWcgbXVsdGlwbHlB
bnN3ZXJHUFIgPSBtdWx0aXBseUFuc3dlci5ncHIoKTsKIAorICAgICAgICBKSVRDb21waWxlcjo6
SnVtcExpc3QgZG9uZTsKKyAgICAKKyAgICAgICAgaWYgKHNob3VsZENoZWNrT3ZlcmZsb3cobm9k
ZS0+YXJpdGhNb2RlKCkpKQorICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVjayhPdmVyZmxvdywg
SlNWYWx1ZVJlZ3MoKSwgMCwgbV9qaXQuYnJhbmNoVGVzdDMyKEpJVENvbXBpbGVyOjpaZXJvLCBk
aXZpc29yR1BSKSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgSklUQ29tcGlsZXI6Okp1
bXAgZGVub21pbmF0b3JOb3RaZXJvID0gbV9qaXQuYnJhbmNoVGVzdDMyKEpJVENvbXBpbGVyOjpO
b25aZXJvLCBkaXZpc29yR1BSKTsKKyAgICAgICAgICAgIG1faml0Lm1vdmUoZGl2aXNvckdQUiwg
cXVvdGllbnRUaGVuUmVtYWluZGVyR1BSKTsKKyAgICAgICAgICAgIGRvbmUuYXBwZW5kKG1faml0
Lmp1bXAoKSk7CisgICAgICAgICAgICBkZW5vbWluYXRvck5vdFplcm8ubGluaygmbV9qaXQpOwor
ICAgICAgICB9CisKICAgICAgICAgbV9qaXQuYXNzZW1ibGVyKCkuc2RpdjwzMj4ocXVvdGllbnRU
aGVuUmVtYWluZGVyR1BSLCBkaXZpZGVuZEdQUiwgZGl2aXNvckdQUik7CiAgICAgICAgIC8vIEZJ
WE1FOiBJdCBzZWVtcyBsaWtlIHRoZXJlIGFyZSBjYXNlcyB3aGVyZSB3ZSBkb24ndCBuZWVkIHRo
aXM/IFdoYXQgaWYgd2UgaGF2ZQogICAgICAgICAvLyBhcml0aE1vZGUoKSA9PSBBcml0aDo6VW5j
aGVja2VkPwpAQCAtMzQ3MSw2ICszNTM1LDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZUFyaXRoTW9kKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICBudW1lcmF0b3JQb3NpdGl2ZS5saW5r
KCZtX2ppdCk7CiAgICAgICAgIH0KIAorICAgICAgICBkb25lLmxpbmsoJm1faml0KTsKKwogICAg
ICAgICBpbnQzMlJlc3VsdChxdW90aWVudFRoZW5SZW1haW5kZXJHUFIsIG5vZGUpOwogI2Vsc2Ug
Ly8gbm90IGFyY2hpdGVjdHVyZSB0aGF0IGNhbiBkbyBpbnRlZ2VyIGRpdmlzaW9uCiAgICAgICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggMzUzNGM3YjE1MmVlYzdmNWJjZjVhOWYxM2Vi
OGMxODYxYWYxMjUwOS4uOGY1NmE1MTc4NmQyYzNiZmYxZjNiOTVlYmFhMWE1YWZkMjg2MTAxNSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApAQCAt
MTE5LDYgKzExOSw5IEBAIHB1YmxpYzoKICAgICB+U3BlY3VsYXRpdmVKSVQoKTsKIAogICAgIGJv
b2wgY29tcGlsZSgpOworICAgIAorICAgIHZvaWQgcHJlcGFyZUpJVENvZGVGb3JUaWVyVXAoKTsK
KyAgICAKICAgICB2b2lkIGNyZWF0ZU9TUkVudHJpZXMoKTsKICAgICB2b2lkIGxpbmtPU1JFbnRy
aWVzKExpbmtCdWZmZXImKTsKIApAQCAtNzQyLDQ0ICs3NDUsNDUgQEAgcHVibGljOgogICAgIAog
ICAgIHB0cmRpZmZfdCBjYWxsZWVGcmFtZU9mZnNldChpbnQgbnVtQXJncykKICAgICB7Ci0gICAg
ICAgIHJldHVybiB2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChtX2ppdC5ncmFwaCgpLm1fbmV4dE1h
Y2hpbmVMb2NhbCArIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUgKyBudW1BcmdzKS5vZmZz
ZXQoKSAqIHNpemVvZihSZWdpc3Rlcik7CisgICAgICAgIHJldHVybiB2aXJ0dWFsUmVnaXN0ZXJG
b3JMb2NhbChtX2ppdC5ncmFwaCgpLm1fbmV4dE1hY2hpbmVMb2NhbCAtIDEgKyBKU1N0YWNrOjpD
YWxsRnJhbWVIZWFkZXJTaXplICsgbnVtQXJncykub2Zmc2V0KCkgKiBzaXplb2YoUmVnaXN0ZXIp
OwogICAgIH0KICAgICAKICAgICAvLyBBY2Nlc3MgdG8gb3VyIGZpeGVkIGNhbGxlZSBDYWxsRnJh
bWUuCi0gICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MgY2FsbGVlRnJhbWVTbG90KGludCBudW1B
cmdzLCBpbnQgc2xvdCkKKyAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyBjYWxsZWVGcmFtZVNs
b3QoaW50IHNsb3QpCiAgICAgewotICAgICAgICByZXR1cm4gTWFjcm9Bc3NlbWJsZXI6OkFkZHJl
c3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIGNhbGxlZUZyYW1lT2Zmc2V0KG51bUFyZ3Mp
ICsgc2l6ZW9mKFJlZ2lzdGVyKSAqIHNsb3QpOworICAgICAgICBBU1NFUlQoc2xvdCA+PSBKU1N0
YWNrOjpDYWxsZXJGcmFtZUFuZFBDU2l6ZSk7CisgICAgICAgIHJldHVybiBNYWNyb0Fzc2VtYmxl
cjo6QWRkcmVzcyhNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIHNpemVvZihS
ZWdpc3RlcikgKiAoc2xvdCAtIEpTU3RhY2s6OkNhbGxlckZyYW1lQW5kUENTaXplKSk7CiAgICAg
fQogCiAgICAgLy8gQWNjZXNzIHRvIG91ciBmaXhlZCBjYWxsZWUgQ2FsbEZyYW1lLgotICAgIE1h
Y3JvQXNzZW1ibGVyOjpBZGRyZXNzIGNhbGxlZUFyZ3VtZW50U2xvdChpbnQgbnVtQXJncywgaW50
IGFyZ3VtZW50KQorICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzIGNhbGxlZUFyZ3VtZW50U2xv
dChpbnQgYXJndW1lbnQpCiAgICAgewotICAgICAgICByZXR1cm4gY2FsbGVlRnJhbWVTbG90KG51
bUFyZ3MsIHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50KGFyZ3VtZW50KS5vZmZzZXQoKSk7Cisg
ICAgICAgIHJldHVybiBjYWxsZWVGcmFtZVNsb3QodmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnQo
YXJndW1lbnQpLm9mZnNldCgpKTsKICAgICB9CiAKLSAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVz
cyBjYWxsZWVGcmFtZVRhZ1Nsb3QoaW50IG51bUFyZ3MsIGludCBzbG90KQorICAgIE1hY3JvQXNz
ZW1ibGVyOjpBZGRyZXNzIGNhbGxlZUZyYW1lVGFnU2xvdChpbnQgc2xvdCkKICAgICB7Ci0gICAg
ICAgIHJldHVybiBjYWxsZWVGcmFtZVNsb3QobnVtQXJncywgc2xvdCkud2l0aE9mZnNldChPQkpF
Q1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnRhZykpOworICAgICAg
ICByZXR1cm4gY2FsbGVlRnJhbWVTbG90KHNsb3QpLndpdGhPZmZzZXQoT0JKRUNUX09GRlNFVE9G
KEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy50YWcpKTsKICAgICB9CiAKLSAgICBNYWNy
b0Fzc2VtYmxlcjo6QWRkcmVzcyBjYWxsZWVGcmFtZVBheWxvYWRTbG90KGludCBudW1BcmdzLCBp
bnQgc2xvdCkKKyAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyBjYWxsZWVGcmFtZVBheWxvYWRT
bG90KGludCBzbG90KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGNhbGxlZUZyYW1lU2xvdChudW1B
cmdzLCBzbG90KS53aXRoT2Zmc2V0KE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlw
dG9yLCBhc0JpdHMucGF5bG9hZCkpOworICAgICAgICByZXR1cm4gY2FsbGVlRnJhbWVTbG90KHNs
b3QpLndpdGhPZmZzZXQoT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFz
Qml0cy5wYXlsb2FkKSk7CiAgICAgfQogCi0gICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MgY2Fs
bGVlQXJndW1lbnRUYWdTbG90KGludCBudW1BcmdzLCBpbnQgYXJndW1lbnQpCisgICAgTWFjcm9B
c3NlbWJsZXI6OkFkZHJlc3MgY2FsbGVlQXJndW1lbnRUYWdTbG90KGludCBhcmd1bWVudCkKICAg
ICB7Ci0gICAgICAgIHJldHVybiBjYWxsZWVBcmd1bWVudFNsb3QobnVtQXJncywgYXJndW1lbnQp
LndpdGhPZmZzZXQoT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0
cy50YWcpKTsKKyAgICAgICAgcmV0dXJuIGNhbGxlZUFyZ3VtZW50U2xvdChhcmd1bWVudCkud2l0
aE9mZnNldChPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnRh
ZykpOwogICAgIH0KIAotICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzIGNhbGxlZUFyZ3VtZW50
UGF5bG9hZFNsb3QoaW50IG51bUFyZ3MsIGludCBhcmd1bWVudCkKKyAgICBNYWNyb0Fzc2VtYmxl
cjo6QWRkcmVzcyBjYWxsZWVBcmd1bWVudFBheWxvYWRTbG90KGludCBhcmd1bWVudCkKICAgICB7
Ci0gICAgICAgIHJldHVybiBjYWxsZWVBcmd1bWVudFNsb3QobnVtQXJncywgYXJndW1lbnQpLndp
dGhPZmZzZXQoT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy5w
YXlsb2FkKSk7CisgICAgICAgIHJldHVybiBjYWxsZWVBcmd1bWVudFNsb3QoYXJndW1lbnQpLndp
dGhPZmZzZXQoT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy5w
YXlsb2FkKSk7CiAgICAgfQogCi0gICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MgY2FsbGVlRnJh
bWVDYWxsZXJGcmFtZShpbnQgbnVtQXJncykKKyAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyBj
YWxsZWVGcmFtZUNhbGxlckZyYW1lKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBjYWxsZWVGcmFt
ZVNsb3QobnVtQXJncywgMCkud2l0aE9mZnNldChDYWxsRnJhbWU6OmNhbGxlckZyYW1lT2Zmc2V0
KCkpOworICAgICAgICByZXR1cm4gY2FsbGVlRnJhbWVTbG90KDApLndpdGhPZmZzZXQoQ2FsbEZy
YW1lOjpjYWxsZXJGcmFtZU9mZnNldCgpKTsKICAgICB9CiAKICAgICB2b2lkIGVtaXRDYWxsKE5v
ZGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUMzJfNjQuY3BwCmluZGV4IDk2NWFhZjgxYTkzNWZhYmIyODQxOGIxY2UyMWI2MmM0Y2E2MmVj
MWMuLjFlOGZhY2E5NDRhNmEyN2E2MTQ4YmQ4NWIzOWIxZGQ3YWQ4ZjhkNTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApA
QCAtMTcyLDcgKzE3Miw3IEBAIGJvb2wgU3BlY3VsYXRpdmVKSVQ6OmZpbGxKU1ZhbHVlKEVkZ2Ug
ZWRnZSwgR1BSUmVnJiB0YWdHUFIsIEdQUlJlZyYgcGF5bG9hZEdQUiwKIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNhY2hlZEdldEJ5SWQoQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBHUFJSZWcgYmFzZVRh
Z0dQUk9yTm9uZSwgR1BSUmVnIGJhc2VQYXlsb2FkR1BSLCBHUFJSZWcgcmVzdWx0VGFnR1BSLCBH
UFJSZWcgcmVzdWx0UGF5bG9hZEdQUiwgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciwgSklUQ29t
cGlsZXI6Okp1bXAgc2xvd1BhdGhUYXJnZXQsIFNwaWxsUmVnaXN0ZXJzTW9kZSBzcGlsbE1vZGUp
CiB7CiAgICAgSklUR2V0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1faml0LmNvZGVCbG9j
aygpLCBjb2RlT3JpZ2luLCB1c2VkUmVnaXN0ZXJzKCksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lz
dGVyLAorICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwgdXNlZFJlZ2lzdGVy
cygpLAogICAgICAgICBKU1ZhbHVlUmVncyhiYXNlVGFnR1BST3JOb25lLCBiYXNlUGF5bG9hZEdQ
UiksCiAgICAgICAgIEpTVmFsdWVSZWdzKHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUiks
IHNwaWxsTW9kZSAhPSBOZWVkVG9TcGlsbCk7CiAgICAgCkBAIC0yMDQsNyArMjA0LDcgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkR2V0QnlJZChDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIEdQ
UlJlZyBiYXNlVGFnR1BST3JOb24KIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNhY2hlZFB1dEJ5SWQo
Q29kZU9yaWdpbiBjb2RlT3JpZ2luLCBHUFJSZWcgYmFzZVBheWxvYWRHUFIsIEdQUlJlZyB2YWx1
ZVRhZ0dQUiwgR1BSUmVnIHZhbHVlUGF5bG9hZEdQUiwgR1BSUmVnIHNjcmF0Y2hHUFIsIHVuc2ln
bmVkIGlkZW50aWZpZXJOdW1iZXIsIFB1dEtpbmQgcHV0S2luZCwgSklUQ29tcGlsZXI6Okp1bXAg
c2xvd1BhdGhUYXJnZXQpCiB7CiAgICAgSklUUHV0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAg
IG1faml0LmNvZGVCbG9jaygpLCBjb2RlT3JpZ2luLCB1c2VkUmVnaXN0ZXJzKCksIEdQUkluZm86
OmNhbGxGcmFtZVJlZ2lzdGVyLAorICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdp
biwgdXNlZFJlZ2lzdGVycygpLAogICAgICAgICBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkoYmFz
ZVBheWxvYWRHUFIpLCBKU1ZhbHVlUmVncyh2YWx1ZVRhZ0dQUiwgdmFsdWVQYXlsb2FkR1BSKSwK
ICAgICAgICAgc2NyYXRjaEdQUiwgZmFsc2UsIG1faml0LmVjbWFNb2RlRm9yKGNvZGVPcmlnaW4p
LCBwdXRLaW5kKTsKICAgICAKQEAgLTYzMSwxMCArNjMxLDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6ZW1pdENhbGwoTm9kZSogbm9kZSkKICAgICAKICAgICBpbnQgbnVtQXJncyA9IG51bVBhc3Nl
ZEFyZ3MgKyBkdW1teVRoaXNBcmd1bWVudDsKIAotICAgIG1faml0LnN0b3JlMzIoTWFjcm9Bc3Nl
bWJsZXI6OlRydXN0ZWRJbW0zMihudW1BcmdzKSwgY2FsbGVlRnJhbWVQYXlsb2FkU2xvdChudW1B
cmdzLCBKU1N0YWNrOjpBcmd1bWVudENvdW50KSk7Ci0gICAgbV9qaXQuc3RvcmVQdHIoR1BSSW5m
bzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIGNhbGxlZUZyYW1lQ2FsbGVyRnJhbWUobnVtQXJncykpOwot
ICAgIG1faml0LnN0b3JlMzIoY2FsbGVlUGF5bG9hZEdQUiwgY2FsbGVlRnJhbWVQYXlsb2FkU2xv
dChudW1BcmdzLCBKU1N0YWNrOjpDYWxsZWUpKTsKLSAgICBtX2ppdC5zdG9yZTMyKGNhbGxlZVRh
Z0dQUiwgY2FsbGVlRnJhbWVUYWdTbG90KG51bUFyZ3MsIEpTU3RhY2s6OkNhbGxlZSkpOworICAg
IG1faml0LnN0b3JlMzIoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihudW1BcmdzKSwgY2Fs
bGVlRnJhbWVQYXlsb2FkU2xvdChKU1N0YWNrOjpBcmd1bWVudENvdW50KSk7CisgICAgbV9qaXQu
c3RvcmUzMihjYWxsZWVQYXlsb2FkR1BSLCBjYWxsZWVGcmFtZVBheWxvYWRTbG90KEpTU3RhY2s6
OkNhbGxlZSkpOworICAgIG1faml0LnN0b3JlMzIoY2FsbGVlVGFnR1BSLCBjYWxsZWVGcmFtZVRh
Z1Nsb3QoSlNTdGFjazo6Q2FsbGVlKSk7CiAKICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bVBh
c3NlZEFyZ3M7IGkrKykgewogICAgICAgICBFZGdlIGFyZ0VkZ2UgPSBtX2ppdC5ncmFwaCgpLm1f
dmFyQXJnQ2hpbGRyZW5bbm9kZS0+Zmlyc3RDaGlsZCgpICsgMSArIGldOwpAQCAtNjQzLDggKzY0
Miw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUpCiAgICAgICAg
IEdQUlJlZyBhcmdQYXlsb2FkR1BSID0gYXJnLnBheWxvYWRHUFIoKTsKICAgICAgICAgdXNlKGFy
Z0VkZ2UpOwogCi0gICAgICAgIG1faml0LnN0b3JlMzIoYXJnVGFnR1BSLCBjYWxsZWVBcmd1bWVu
dFRhZ1Nsb3QobnVtQXJncywgaSArIGR1bW15VGhpc0FyZ3VtZW50KSk7Ci0gICAgICAgIG1faml0
LnN0b3JlMzIoYXJnUGF5bG9hZEdQUiwgY2FsbGVlQXJndW1lbnRQYXlsb2FkU2xvdChudW1Bcmdz
LCBpICsgZHVtbXlUaGlzQXJndW1lbnQpKTsKKyAgICAgICAgbV9qaXQuc3RvcmUzMihhcmdUYWdH
UFIsIGNhbGxlZUFyZ3VtZW50VGFnU2xvdChpICsgZHVtbXlUaGlzQXJndW1lbnQpKTsKKyAgICAg
ICAgbV9qaXQuc3RvcmUzMihhcmdQYXlsb2FkR1BSLCBjYWxsZWVBcmd1bWVudFBheWxvYWRTbG90
KGkgKyBkdW1teVRoaXNBcmd1bWVudCkpOwogICAgIH0KIAogICAgIGZsdXNoUmVnaXN0ZXJzKCk7
CkBAIC02NTksMTMgKzY1OCwxMSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0Q2FsbChOb2Rl
KiBub2RlKQogCiAgICAgbV9qaXQuZW1pdFN0b3JlQ29kZU9yaWdpbihub2RlLT5jb2RlT3JpZ2lu
KTsKICAgICAKLSAgICBtX2ppdC5hZGRQdHIoVHJ1c3RlZEltbTMyKGNhbGxlZUZyYW1lT2Zmc2V0
KG51bUFyZ3MpKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwotICAgIAogICAgIHNsb3dQ
YXRoLmFwcGVuZChtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1YWwsIGNhbGxl
ZVRhZ0dQUiwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpKSk7CiAgICAgc2xvd1BhdGgu
YXBwZW5kKG1faml0LmJyYW5jaFB0cldpdGhQYXRjaChNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1YWws
IGNhbGxlZVBheWxvYWRHUFIsIHRhcmdldFRvQ2hlY2spKTsKICAgICBtX2ppdC5sb2FkUHRyKE1h
Y3JvQXNzZW1ibGVyOjpBZGRyZXNzKGNhbGxlZVBheWxvYWRHUFIsIE9CSkVDVF9PRkZTRVRPRihK
U0Z1bmN0aW9uLCBtX3Njb3BlKSksIHJlc3VsdFBheWxvYWRHUFIpOwotICAgIG1faml0LnN0b3Jl
UHRyKHJlc3VsdFBheWxvYWRHUFIsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKEdQUkluZm86OmNh
bGxGcmFtZVJlZ2lzdGVyLCBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihSZWdpc3Rlcikp
ICogSlNTdGFjazo6U2NvcGVDaGFpbiArIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNj
cmlwdG9yLCBhc0JpdHMucGF5bG9hZCkpKTsKLSAgICBtX2ppdC5zdG9yZTMyKE1hY3JvQXNzZW1i
bGVyOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZyksIE1hY3JvQXNzZW1ibGVyOjpBZGRy
ZXNzKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNp
emVvZihSZWdpc3RlcikpICogSlNTdGFjazo6U2NvcGVDaGFpbiArIE9CSkVDVF9PRkZTRVRPRihF
bmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMudGFnKSkpOworICAgIG1faml0LnN0b3JlUHRy
KHJlc3VsdFBheWxvYWRHUFIsIGNhbGxlZUZyYW1lUGF5bG9hZFNsb3QoSlNTdGFjazo6U2NvcGVD
aGFpbikpOworICAgIG1faml0LnN0b3JlUHRyKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIo
SlNWYWx1ZTo6Q2VsbFRhZyksIGNhbGxlZUZyYW1lVGFnU2xvdChKU1N0YWNrOjpTY29wZUNoYWlu
KSk7CiAKICAgICBKSVRDb21waWxlcjo6Q2FsbCBmYXN0Q2FsbCA9IG1faml0Lm5lYXJDYWxsKCk7
CiAKQEAgLTMwNDcsMTIgKzMwNDQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5v
ZGUqIG5vZGUpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICAvLyBHcmFiIHRo
ZSByZXR1cm4gYWRkcmVzcy4KLSAgICAgICAgbV9qaXQuZW1pdEdldFJldHVyblBDRnJvbUNhbGxG
cmFtZUhlYWRlclB0cihHUFJJbmZvOjpyZWdUMik7Ci0gICAgICAgIC8vIFJlc3RvcmUgb3VyIGNh
bGxlcidzICJyIi4KLSAgICAgICAgbV9qaXQuZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFt
ZUhlYWRlclB0cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7Ci0gICAgICAgIC8vIFJldHVy
bi4KLSAgICAgICAgbV9qaXQucmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4oR1BSSW5m
bzo6cmVnVDIpOworICAgICAgICBtX2ppdC5lbWl0RnVuY3Rpb25FcGlsb2d1ZSgpOwogICAgICAg
ICBtX2ppdC5yZXQoKTsKICAgICAgICAgCiAgICAgICAgIG5vUmVzdWx0KG5vZGUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXgg
MGFhNjRhNjA5MzBkYjEwMzRjYjgyZmExMDdhNTM0YWM2YTYzMTRhYy4uZWU0ZjlhZGZlYzNmODhk
NTE2MWRjMTg0MjVhNzgyNzQzMTAwMTBhZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC0xOTAsOCArMTkwLDggQEAgR1BSUmVn
IFNwZWN1bGF0aXZlSklUOjpmaWxsSlNWYWx1ZShFZGdlIGVkZ2UpCiB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjYWNoZWRHZXRCeUlkKENvZGVPcmlnaW4gY29kZU9yaWdpbiwgR1BSUmVnIGJhc2VHUFIs
IEdQUlJlZyByZXN1bHRHUFIsIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsIEpJVENvbXBpbGVy
OjpKdW1wIHNsb3dQYXRoVGFyZ2V0LCBTcGlsbFJlZ2lzdGVyc01vZGUgc3BpbGxNb2RlKQogewog
ICAgIEpJVEdldEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwg
Y29kZU9yaWdpbiwgdXNlZFJlZ2lzdGVycygpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwK
LSAgICAgICAgSlNWYWx1ZVJlZ3MoYmFzZUdQUiksIEpTVmFsdWVSZWdzKHJlc3VsdEdQUiksIHNw
aWxsTW9kZSAhPSBOZWVkVG9TcGlsbCk7CisgICAgICAgIG1faml0LmNvZGVCbG9jaygpLCBjb2Rl
T3JpZ2luLCB1c2VkUmVnaXN0ZXJzKCksIEpTVmFsdWVSZWdzKGJhc2VHUFIpLAorICAgICAgICBK
U1ZhbHVlUmVncyhyZXN1bHRHUFIpLCBzcGlsbE1vZGUgIT0gTmVlZFRvU3BpbGwpOwogICAgIGdl
bi5nZW5lcmF0ZUZhc3RQYXRoKG1faml0KTsKICAgICAKICAgICBKSVRDb21waWxlcjo6SnVtcExp
c3Qgc2xvd0Nhc2VzOwpAQCAtMjEwLDkgKzIxMCw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNh
Y2hlZEdldEJ5SWQoQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBHUFJSZWcgYmFzZUdQUiwgR1BSUmVn
CiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjYWNoZWRQdXRCeUlkKENvZGVPcmlnaW4gY29kZU9yaWdp
biwgR1BSUmVnIGJhc2VHUFIsIEdQUlJlZyB2YWx1ZUdQUiwgR1BSUmVnIHNjcmF0Y2hHUFIsIHVu
c2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsIFB1dEtpbmQgcHV0S2luZCwgSklUQ29tcGlsZXI6Okp1
bXAgc2xvd1BhdGhUYXJnZXQpCiB7CiAgICAgSklUUHV0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAg
ICAgIG1faml0LmNvZGVCbG9jaygpLCBjb2RlT3JpZ2luLCB1c2VkUmVnaXN0ZXJzKCksIEdQUklu
Zm86OmNhbGxGcmFtZVJlZ2lzdGVyLAotICAgICAgICBKU1ZhbHVlUmVncyhiYXNlR1BSKSwgSlNW
YWx1ZVJlZ3ModmFsdWVHUFIpLCBzY3JhdGNoR1BSLCBmYWxzZSwKLSAgICAgICAgbV9qaXQuZWNt
YU1vZGVGb3IoY29kZU9yaWdpbiksIHB1dEtpbmQpOworICAgICAgICBtX2ppdC5jb2RlQmxvY2so
KSwgY29kZU9yaWdpbiwgdXNlZFJlZ2lzdGVycygpLCBKU1ZhbHVlUmVncyhiYXNlR1BSKSwKKyAg
ICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBzY3JhdGNoR1BSLCBmYWxzZSwgbV9qaXQuZWNt
YU1vZGVGb3IoY29kZU9yaWdpbiksIHB1dEtpbmQpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRo
KG1faml0KTsKICAgICAKICAgICBKSVRDb21waWxlcjo6SnVtcExpc3Qgc2xvd0Nhc2VzOwpAQCAt
NjYzLDkgKzY2Miw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUp
CiAgICAgCiAgICAgaW50IG51bUFyZ3MgPSBudW1QYXNzZWRBcmdzICsgZHVtbXlUaGlzQXJndW1l
bnQ7CiAgICAgCi0gICAgbV9qaXQuc3RvcmUzMihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMy
KG51bUFyZ3MpLCBjYWxsZWVGcmFtZVBheWxvYWRTbG90KG51bUFyZ3MsIEpTU3RhY2s6OkFyZ3Vt
ZW50Q291bnQpKTsKLSAgICBtX2ppdC5zdG9yZTY0KEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVy
LCBjYWxsZWVGcmFtZUNhbGxlckZyYW1lKG51bUFyZ3MpKTsKLSAgICBtX2ppdC5zdG9yZTY0KGNh
bGxlZUdQUiwgY2FsbGVlRnJhbWVTbG90KG51bUFyZ3MsIEpTU3RhY2s6OkNhbGxlZSkpOworICAg
IG1faml0LnN0b3JlMzIoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihudW1BcmdzKSwgY2Fs
bGVlRnJhbWVQYXlsb2FkU2xvdChKU1N0YWNrOjpBcmd1bWVudENvdW50KSk7CisgICAgbV9qaXQu
c3RvcmU2NChjYWxsZWVHUFIsIGNhbGxlZUZyYW1lU2xvdChKU1N0YWNrOjpDYWxsZWUpKTsKICAg
ICAKICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bVBhc3NlZEFyZ3M7IGkrKykgewogICAgICAg
ICBFZGdlIGFyZ0VkZ2UgPSBtX2ppdC5ncmFwaCgpLm1fdmFyQXJnQ2hpbGRyZW5bbm9kZS0+Zmly
c3RDaGlsZCgpICsgMSArIGldOwpAQCAtNjczLDcgKzY3MSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUpCiAgICAgICAgIEdQUlJlZyBhcmdHUFIgPSBhcmcuZ3By
KCk7CiAgICAgICAgIHVzZShhcmdFZGdlKTsKICAgICAgICAgCi0gICAgICAgIG1faml0LnN0b3Jl
NjQoYXJnR1BSLCBjYWxsZWVBcmd1bWVudFNsb3QobnVtQXJncywgaSArIGR1bW15VGhpc0FyZ3Vt
ZW50KSk7CisgICAgICAgIG1faml0LnN0b3JlNjQoYXJnR1BSLCBjYWxsZWVBcmd1bWVudFNsb3Qo
aSArIGR1bW15VGhpc0FyZ3VtZW50KSk7CiAgICAgfQogCiAgICAgZmx1c2hSZWdpc3RlcnMoKTsK
QEAgLTY4MiwyMyArNjgwLDI4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUq
IG5vZGUpCiAgICAgR1BSUmVnIHJlc3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKIAogICAgIEpJVENv
bXBpbGVyOjpEYXRhTGFiZWxQdHIgdGFyZ2V0VG9DaGVjazsKLSAgICBKSVRDb21waWxlcjo6SnVt
cExpc3Qgc2xvd1BhdGg7CisgICAgSklUQ29tcGlsZXI6Okp1bXAgc2xvd1BhdGg7CiAKICAgICBt
X2ppdC5lbWl0U3RvcmVDb2RlT3JpZ2luKG5vZGUtPmNvZGVPcmlnaW4pOwogICAgIAotICAgIG1f
aml0LmFkZFB0cihUcnVzdGVkSW1tMzIoY2FsbGVlRnJhbWVPZmZzZXQobnVtQXJncykpLCBHUFJJ
bmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7Ci0gICAgCi0gICAgc2xvd1BhdGguYXBwZW5kKG1faml0
LmJyYW5jaFB0cldpdGhQYXRjaChNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1YWwsIGNhbGxlZUdQUiwg
dGFyZ2V0VG9DaGVjaywgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIoMCkpKTsKKyAgICBz
bG93UGF0aCA9IG1faml0LmJyYW5jaFB0cldpdGhQYXRjaChNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1
YWwsIGNhbGxlZUdQUiwgdGFyZ2V0VG9DaGVjaywgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1Q
dHIoMCkpOwogCiAgICAgbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhjYWxs
ZWVHUFIsIE9CSkVDVF9PRkZTRVRPRihKU0Z1bmN0aW9uLCBtX3Njb3BlKSksIHJlc3VsdEdQUik7
Ci0gICAgbV9qaXQuc3RvcmU2NChyZXN1bHRHUFIsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKEdQ
UkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihS
ZWdpc3RlcikpICogSlNTdGFjazo6U2NvcGVDaGFpbikpOworICAgIG1faml0LnN0b3JlNjQocmVz
dWx0R1BSLCBjYWxsZWVGcmFtZVNsb3QoSlNTdGFjazo6U2NvcGVDaGFpbikpOwogCiAgICAgSklU
Q29tcGlsZXI6OkNhbGwgZmFzdENhbGwgPSBtX2ppdC5uZWFyQ2FsbCgpOwotICAgIAorCiAgICAg
SklUQ29tcGlsZXI6Okp1bXAgZG9uZSA9IG1faml0Lmp1bXAoKTsKICAgICAKICAgICBzbG93UGF0
aC5saW5rKCZtX2ppdCk7CiAgICAgCisgICAgaWYgKG1faml0LmdyYXBoKCkubV9wbGFuLndpbGxU
cnlUb1RpZXJVcCkgeworICAgICAgICBtX2ppdC5hZGQzMigKKyAgICAgICAgICAgIFRydXN0ZWRJ
bW0zMigxKSwKKyAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBYnNvbHV0ZUFkZHJlc3MoCisg
ICAgICAgICAgICAgICAgbV9qaXQuaml0Q29kZSgpLT5zbG93UGF0aENhbGxzLmJlZ2luKCkgKyBt
X2ppdC5jdXJyZW50SlNDYWxsSW5kZXgoKSkpOworICAgIH0KKyAgICAKICAgICBtX2ppdC5tb3Zl
KGNhbGxlZUdQUiwgR1BSSW5mbzo6cmVnVDApOyAvLyBDYWxsZWUgbmVlZHMgdG8gYmUgaW4gcmVn
VDAKICAgICBKSVRDb21waWxlcjo6Q2FsbCBzbG93Q2FsbCA9IG1faml0Lm5lYXJDYWxsKCk7CiAg
ICAgCkBAIC0zMjAwLDcgKzMyMDMsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5v
ZGUqIG5vZGUpCiAgICAgICAgICAgICAKICAgICAgICAgICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9y
KAogICAgICAgICAgICAgICAgIHNsb3dQYXRoQ2FsbCgKLSAgICAgICAgICAgICAgICAgICAgc2xv
d1BhdGgsIHRoaXMsIG9wZXJhdGlvbkFycmF5UHVzaCwgTm9SZXN1bHQsIHN0b3JhZ2VMZW5ndGhH
UFIsCisgICAgICAgICAgICAgICAgICAgIHNsb3dQYXRoLCB0aGlzLCBvcGVyYXRpb25BcnJheVB1
c2gsIHN0b3JhZ2VMZW5ndGhHUFIsCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlR1BSLCBiYXNl
R1BSKSk7CiAgICAgICAgIAogICAgICAgICAgICAganNWYWx1ZVJlc3VsdChzdG9yYWdlTGVuZ3Ro
R1BSLCBub2RlKTsKQEAgLTMyMjQsNyArMzIyNyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgIAogICAgICAgICAgICAgYWRkU2xvd1BhdGhH
ZW5lcmF0b3IoCiAgICAgICAgICAgICAgICAgc2xvd1BhdGhDYWxsKAotICAgICAgICAgICAgICAg
ICAgICBzbG93UGF0aCwgdGhpcywgb3BlcmF0aW9uQXJyYXlQdXNoRG91YmxlLCBOb1Jlc3VsdCwg
c3RvcmFnZUxlbmd0aEdQUiwKKyAgICAgICAgICAgICAgICAgICAgc2xvd1BhdGgsIHRoaXMsIG9w
ZXJhdGlvbkFycmF5UHVzaERvdWJsZSwgc3RvcmFnZUxlbmd0aEdQUiwKICAgICAgICAgICAgICAg
ICAgICAgdmFsdWVGUFIsIGJhc2VHUFIpKTsKICAgICAgICAgCiAgICAgICAgICAgICBqc1ZhbHVl
UmVzdWx0KHN0b3JhZ2VMZW5ndGhHUFIsIG5vZGUpOwpAQCAtMzM4OCwxMiArMzM5MSw3IEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgSlNWYWx1ZU9w
ZXJhbmQgb3AxKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgbV9qaXQubW92ZShvcDEu
Z3ByKCksIEdQUkluZm86OnJldHVyblZhbHVlR1BSKTsKIAotICAgICAgICAvLyBHcmFiIHRoZSBy
ZXR1cm4gYWRkcmVzcy4KLSAgICAgICAgbV9qaXQuZW1pdEdldFJldHVyblBDRnJvbUNhbGxGcmFt
ZUhlYWRlclB0cihHUFJJbmZvOjpyZWdUMSk7Ci0gICAgICAgIC8vIFJlc3RvcmUgb3VyIGNhbGxl
cidzICJyIi4KLSAgICAgICAgbV9qaXQuZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFtZUhl
YWRlclB0cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7Ci0gICAgICAgIC8vIFJldHVybi4K
LSAgICAgICAgbV9qaXQucmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4oR1BSSW5mbzo6
cmVnVDEpOworICAgICAgICBtX2ppdC5lbWl0RnVuY3Rpb25FcGlsb2d1ZSgpOwogICAgICAgICBt
X2ppdC5yZXQoKTsKICAgICAgICAgCiAgICAgICAgIG5vUmVzdWx0KG5vZGUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdUaWVyVXBDaGVja0luamVjdGlvblBoYXNl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVGllclVwQ2hlY2tJbmplY3Rpb25Q
aGFzZS5jcHAKaW5kZXggZDUxYTFmMGQ4MjczNDRiNDExYzE0ZDUxZGU5YmRmNzVhY2YxYTk2YS4u
YmVmMGRhOTE0Mzc4ZjQ5NTdiMjk2YmU1ZmUwMzkzMWMzZDI0MzcxMCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdUaWVyVXBDaGVja0luamVjdGlvblBoYXNlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1RpZXJVcENoZWNrSW5qZWN0aW9uUGhh
c2UuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC00OSwyNyArNDksNTkgQEAgcHVibGljOgogICAgICAgICAKICAgICAgICAgaWYgKCFP
cHRpb25zOjp1c2VFeHBlcmltZW50YWxGVEwoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LQorICAgICAgICAKKyAgICAgICAgaWYgKG1fZ3JhcGgubV9wcm9maWxlZEJsb2NrLT5tX2RpZEZh
aWxGVExDb21waWxhdGlvbikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAKICNp
ZiBFTkFCTEUoRlRMX0pJVCkKICAgICAgICAgRlRMOjpDYXBhYmlsaXR5TGV2ZWwgbGV2ZWwgPSBG
VEw6OmNhbkNvbXBpbGUobV9ncmFwaCk7CiAgICAgICAgIGlmIChsZXZlbCA9PSBGVEw6OkNhbm5v
dENvbXBpbGUpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIAorICAgICAgICBp
ZiAoIU9wdGlvbnM6OmVuYWJsZU9TUkVudHJ5VG9GVEwoKSkKKyAgICAgICAgICAgIGxldmVsID0g
RlRMOjpDYW5Db21waWxlOworICAgICAgICAKICAgICAgICAgSW5zZXJ0aW9uU2V0IGluc2VydGlv
blNldChtX2dyYXBoKTsKICAgICAgICAgZm9yIChCbG9ja0luZGV4IGJsb2NrSW5kZXggPSBtX2dy
YXBoLm51bUJsb2NrcygpOyBibG9ja0luZGV4LS07KSB7CiAgICAgICAgICAgICBCYXNpY0Jsb2Nr
KiBibG9jayA9IG1fZ3JhcGguYmxvY2soYmxvY2tJbmRleCk7CiAgICAgICAgICAgICBpZiAoIWJs
b2NrKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgCi0gICAgICAgICAg
ICBpZiAoYmxvY2stPmF0KDApLT5vcCgpID09IExvb3BIaW50KSB7Ci0gICAgICAgICAgICAgICAg
Q29kZU9yaWdpbiBjb2RlT3JpZ2luID0gYmxvY2stPmF0KDApLT5jb2RlT3JpZ2luOwotICAgICAg
ICAgICAgICAgIE5vZGVUeXBlIG5vZGVUeXBlOwotICAgICAgICAgICAgICAgIGlmIChsZXZlbCA9
PSBGVEw6OkNhbkNvbXBpbGVBbmRPU1JFbnRlciAmJiAhY29kZU9yaWdpbi5pbmxpbmVDYWxsRnJh
bWUpIHsKLSAgICAgICAgICAgICAgICAgICAgbm9kZVR5cGUgPSBDaGVja1RpZXJVcEFuZE9TUkVu
dGVyOwotICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChibG9jay0+Ynl0ZWNvZGVC
ZWdpbiA9PSBjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgpOwotICAgICAgICAgICAgICAgIH0gZWxz
ZQotICAgICAgICAgICAgICAgICAgICBub2RlVHlwZSA9IENoZWNrVGllclVwSW5Mb29wOwotICAg
ICAgICAgICAgICAgIGluc2VydGlvblNldC5pbnNlcnROb2RlKDEsIFNwZWNOb25lLCBub2RlVHlw
ZSwgY29kZU9yaWdpbik7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIG5vZGVJbmRleCA9IDA7
IG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7CisgICAgICAgICAgICAg
ICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChub2RlSW5kZXgpOworICAgICAgICAgICAgICAgIGlm
IChub2RlLT5vcCgpICE9IExvb3BIaW50KQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IHB1dCBPU1IgY2hl
Y2tzIGZvciB0aGUgZmlyc3QgTG9vcEhpbnQgaW4gdGhlIGJsb2NrLiBOb3RlIHRoYXQKKyAgICAg
ICAgICAgICAgICAvLyBtb3JlIHRoYW4gb25lIExvb3BIaW50IGNvdWxkIGhhcHBlbiBpbiBjYXNl
cyB3aGVyZSB3ZSBkaWQgYSBsb3Qgb2YgQ0ZHCisgICAgICAgICAgICAgICAgLy8gc2ltcGxpZmlj
YXRpb24gaW4gdGhlIGJ5dGVjb2RlIHBhcnNlciwgYnV0IGl0IHNob3VsZCBiZSB2ZXJ5IHJhcmUu
CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2lu
ID0gbm9kZS0+Y29kZU9yaWdpbjsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBp
ZiAobGV2ZWwgIT0gRlRMOjpDYW5Db21waWxlQW5kT1NSRW50ZXIgfHwgY29kZU9yaWdpbi5pbmxp
bmVDYWxsRnJhbWUpIHsKKyAgICAgICAgICAgICAgICAgICAgaW5zZXJ0aW9uU2V0Lmluc2VydE5v
ZGUoCisgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLCBTcGVjTm9uZSwgQ2hl
Y2tUaWVyVXBJbkxvb3AsIGNvZGVPcmlnaW4pOworICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgYm9v
bCBpc0F0VG9wID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIHN1Yk5vZGVJ
bmRleCA9IG5vZGVJbmRleDsgc3ViTm9kZUluZGV4LS07KSB7CisgICAgICAgICAgICAgICAgICAg
IGlmICghYmxvY2stPmF0KHN1Yk5vZGVJbmRleCktPmlzU2VtYW50aWNhbGx5U2tpcHBhYmxlKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlzQXRUb3AgPSBmYWxzZTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlmICghaXNBdFRvcCkgewor
ICAgICAgICAgICAgICAgICAgICBpbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKKyAgICAgICAgICAg
ICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsIFNwZWNOb25lLCBDaGVja1RpZXJVcEluTG9vcCwg
Y29kZU9yaWdpbik7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChibG9j
ay0+Ynl0ZWNvZGVCZWdpbiA9PSBjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgpOworICAgICAgICAg
ICAgICAgIGluc2VydGlvblNldC5pbnNlcnROb2RlKAorICAgICAgICAgICAgICAgICAgICBub2Rl
SW5kZXggKyAxLCBTcGVjTm9uZSwgQ2hlY2tUaWVyVXBBbmRPU1JFbnRlciwgY29kZU9yaWdpbik7
CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIGlmIChibG9jay0+bGFzdCgpLT5vcCgpID09IFJldHVybikgewpAQCAtODAsNiAr
MTEyLDcgQEAgcHVibGljOgogICAgICAgICAgICAgaW5zZXJ0aW9uU2V0LmV4ZWN1dGUoYmxvY2sp
OwogICAgICAgICB9CiAgICAgICAgIAorICAgICAgICBtX2dyYXBoLm1fcGxhbi53aWxsVHJ5VG9U
aWVyVXAgPSB0cnVlOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbHNlIC8vIEVOQUJMRShGVExf
SklUKQogICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcAppbmRleCAwOWJlYTQwNmZmZmI3ZGRhZTRmMGVl
NGIxMDc2NzcyZGNjYTliYWY1Li4wNDA4NjVmYTIzZDM0ODdkOTE5MmUwYzRmMGNlYTIxNWIzMmEx
ZjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcApAQCAtMTgy
LDYgKzE4MiwxOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgICAgICBWX0VRVUFMKChub2RlKSwgbm9kZS0+cmVmQ291bnQoKSwgMSk7CiAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwIDsgaSA8IGJs
b2NrLT5zaXplKCkgLSAxOyArK2kpIHsKKyAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxv
Y2stPmF0KGkpOworICAgICAgICAgICAgICAgIFZBTElEQVRFKChub2RlKSwgIW5vZGUtPmlzVGVy
bWluYWwoKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgYmxvY2stPnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAg
Tm9kZSogbm9kZSA9IGJsb2NrLT5hdChpKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAg
ICAgICBpZiAobm9kZS0+aGFzU3RydWN0dXJlKCkpCisgICAgICAgICAgICAgICAgICAgIFZBTElE
QVRFKChub2RlKSwgISFub2RlLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAgICAgICB9CiAgICAgICAg
IH0KICAgICAgICAgCiAgICAgICAgIHN3aXRjaCAobV9ncmFwaC5tX2Zvcm0pIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHV29ya2xpc3QuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdXb3JrbGlzdC5jcHAKaW5kZXggM2RmMTlhYzExMTAzZmExNGRm
NTdkOGMwOWRlODZhZDlmYTQwNDZjYi4uYTM2ZWIzODM2Yzk0OGE0MmYxNjNhODg3NjgyMjhmZDIy
NGZlMjU2NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdXb3JrbGlz
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdXb3JrbGlzdC5jcHAKQEAg
LTI2MSwyMyArMjYxLDUyIEBAIHZvaWQgV29ya2xpc3Q6OnRocmVhZEZ1bmN0aW9uKHZvaWQqIGFy
Z3VtZW50KQogICAgIHN0YXRpY19jYXN0PFdvcmtsaXN0Kj4oYXJndW1lbnQpLT5ydW5UaHJlYWQo
KTsKIH0KIAotc3RhdGljIFdvcmtsaXN0KiB0aGVHbG9iYWxXb3JrbGlzdDsKK3N0YXRpYyBXb3Jr
bGlzdCogdGhlR2xvYmFsREZHV29ya2xpc3Q7CiAKLVdvcmtsaXN0KiBnbG9iYWxXb3JrbGlzdCgp
CitXb3JrbGlzdCogZW5zdXJlR2xvYmFsREZHV29ya2xpc3QoKQogewogICAgIHN0YXRpYyBzdGQ6
Om9uY2VfZmxhZyBpbml0aWFsaXplR2xvYmFsV29ya2xpc3RPbmNlRmxhZzsKICAgICBzdGQ6OmNh
bGxfb25jZShpbml0aWFsaXplR2xvYmFsV29ya2xpc3RPbmNlRmxhZywgW10gewotICAgICAgICB1
bnNpZ25lZCBudW1iZXJPZlRocmVhZHM7CisgICAgICAgIHRoZUdsb2JhbERGR1dvcmtsaXN0ID0g
V29ya2xpc3Q6OmNyZWF0ZShPcHRpb25zOjpudW1iZXJPZkRGR0NvbXBpbGVyVGhyZWFkcygpKS5s
ZWFrUmVmKCk7CisgICAgfSk7CisgICAgcmV0dXJuIHRoZUdsb2JhbERGR1dvcmtsaXN0OworfQog
Ci0gICAgICAgIGlmIChPcHRpb25zOjp1c2VFeHBlcmltZW50YWxGVEwoKSkKLSAgICAgICAgICAg
IG51bWJlck9mVGhyZWFkcyA9IDE7IC8vIFdlIGRvbid0IHlldCB1c2UgTExWTSBpbiBhIHRocmVh
ZC1zYWZlIHdheS4KLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbnVtYmVyT2ZUaHJlYWRzID0g
T3B0aW9uczo6bnVtYmVyT2ZDb21waWxlclRocmVhZHMoKTsKK1dvcmtsaXN0KiBleGlzdGluZ0ds
b2JhbERGR1dvcmtsaXN0T3JOdWxsKCkKK3sKKyAgICByZXR1cm4gdGhlR2xvYmFsREZHV29ya2xp
c3Q7Cit9CiAKLSAgICAgICAgdGhlR2xvYmFsV29ya2xpc3QgPSBXb3JrbGlzdDo6Y3JlYXRlKG51
bWJlck9mVGhyZWFkcykubGVha1JlZigpOworc3RhdGljIFdvcmtsaXN0KiB0aGVHbG9iYWxGVExX
b3JrbGlzdDsKKworV29ya2xpc3QqIGVuc3VyZUdsb2JhbEZUTFdvcmtsaXN0KCkKK3sKKyAgICBz
dGF0aWMgc3RkOjpvbmNlX2ZsYWcgaW5pdGlhbGl6ZUdsb2JhbFdvcmtsaXN0T25jZUZsYWc7Cisg
ICAgc3RkOjpjYWxsX29uY2UoaW5pdGlhbGl6ZUdsb2JhbFdvcmtsaXN0T25jZUZsYWcsIFtdIHsK
KyAgICAgICAgdGhlR2xvYmFsRlRMV29ya2xpc3QgPSBXb3JrbGlzdDo6Y3JlYXRlKE9wdGlvbnM6
Om51bWJlck9mRlRMQ29tcGlsZXJUaHJlYWRzKCkpLmxlYWtSZWYoKTsKICAgICB9KTsKKyAgICBy
ZXR1cm4gdGhlR2xvYmFsRlRMV29ya2xpc3Q7Cit9CiAKLSAgICByZXR1cm4gdGhlR2xvYmFsV29y
a2xpc3Q7CitXb3JrbGlzdCogZXhpc3RpbmdHbG9iYWxGVExXb3JrbGlzdE9yTnVsbCgpCit7Cisg
ICAgcmV0dXJuIHRoZUdsb2JhbEZUTFdvcmtsaXN0OworfQorCitXb3JrbGlzdCogZW5zdXJlR2xv
YmFsV29ya2xpc3RGb3IoQ29tcGlsYXRpb25Nb2RlIG1vZGUpCit7CisgICAgc3dpdGNoIChtb2Rl
KSB7CisgICAgY2FzZSBJbnZhbGlkQ29tcGlsYXRpb25Nb2RlOgorICAgICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKKyAgICBjYXNlIERGR01vZGU6
CisgICAgICAgIHJldHVybiBlbnN1cmVHbG9iYWxERkdXb3JrbGlzdCgpOworICAgIGNhc2UgRlRM
TW9kZToKKyAgICBjYXNlIEZUTEZvck9TUkVudHJ5TW9kZToKKyAgICAgICAgcmV0dXJuIGVuc3Vy
ZUdsb2JhbEZUTFdvcmtsaXN0KCk7CisgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgcmV0dXJuIDA7CiB9CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHV29ya2xpc3QuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHV29ya2xpc3QuaAppbmRleCBkMzQxOWYwYTkxYWY5NzFh
MWUyMjFkOWNhOWI0NzljOGQzY2QxNzY4Li4yNWEzMTY4ZTA5Y2UyZmQ4ODlkMWY2MDlkZDY2ODI5
NDYyMDljYmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1dvcmts
aXN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdXb3JrbGlzdC5oCkBAIC05
NSwxMCArOTUsMTUgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX251bWJlck9mQWN0aXZlVGhy
ZWFkczsKIH07CiAKLS8vIEZvciBub3cgd2UgdXNlIGEgc2luZ2xlIGdsb2JhbCB3b3JrbGlzdC4g
SXQncyBub3QgY2xlYXIgdGhhdCB0aGlzCi0vLyBpcyB0aGUgcmlnaHQgdGhpbmcgdG8gZG8sIGJ1
dCBpdCBpcyB3aGF0IHdlIGRvLCBmb3Igbm93LiBUaGlzIGZ1bmN0aW9uCi0vLyB3aWxsIGxhemls
eSBjcmVhdGUgb25lIHdoZW4gaXQncyBuZWVkZWQuCi1Xb3JrbGlzdCogZ2xvYmFsV29ya2xpc3Qo
KTsKKy8vIEZvciBERkdNb2RlIGNvbXBpbGF0aW9ucy4KK1dvcmtsaXN0KiBlbnN1cmVHbG9iYWxE
RkdXb3JrbGlzdCgpOworV29ya2xpc3QqIGV4aXN0aW5nR2xvYmFsREZHV29ya2xpc3RPck51bGwo
KTsKKworLy8gRm9yIEZUTE1vZGUgYW5kIEZUTEZvck9TUkVudHJ5TW9kZSBjb21waWxhdGlvbnMu
CitXb3JrbGlzdCogZW5zdXJlR2xvYmFsRlRMV29ya2xpc3QoKTsKK1dvcmtsaXN0KiBleGlzdGlu
Z0dsb2JhbEZUTFdvcmtsaXN0T3JOdWxsKCk7CisKK1dvcmtsaXN0KiBlbnN1cmVHbG9iYWxXb3Jr
bGlzdEZvcihDb21waWxhdGlvbk1vZGUpOwogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvQVJNNjQvQTY0
RE9wY29kZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0FSTTY0L0E2
NERPcGNvZGUuY3BwCmluZGV4IDBlYTgxN2E0NjFhZDUyYWRhMGYyNzJhZjc0MzVjMjVhMWE5MTU4
YzMuLjQxNWRiZGI4ZTAyZGVkNGUzMThjODI3MTVkZjY1NDJmNWIxMzQyYWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvQVJNNjQvQTY0RE9wY29kZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9BUk02NC9BNjRET3Bjb2Rl
LmNwcApAQCAtNjIsNiArNjIsOCBAQCBzdHJ1Y3QgT3Bjb2RlR3JvdXBJbml0aWFsaXplciB7CiB7
IGdyb3VwSW5kZXgsIGdyb3VwQ2xhc3M6Om1hc2ssIGdyb3VwQ2xhc3M6OnBhdHRlcm4sIGdyb3Vw
Q2xhc3M6OmZvcm1hdCB9CiAKIHN0YXRpYyBPcGNvZGVHcm91cEluaXRpYWxpemVyIG9wY29kZUdy
b3VwTGlzdFtdID0geworICAgIE9QQ09ERV9HUk9VUF9FTlRSWSgweDA4LCBBNjRET3Bjb2RlTG9h
ZFN0b3JlUmVnaXN0ZXJQYWlyKSwKKyAgICBPUENPREVfR1JPVVBfRU5UUlkoMHgwOSwgQTY0RE9w
Y29kZUxvYWRTdG9yZVJlZ2lzdGVyUGFpciksCiAgICAgT1BDT0RFX0dST1VQX0VOVFJZKDB4MGEs
IEE2NERPcGNvZGVMb2dpY2FsU2hpZnRlZFJlZ2lzdGVyKSwKICAgICBPUENPREVfR1JPVVBfRU5U
UlkoMHgwYiwgQTY0RE9wY29kZUFkZFN1YnRyYWN0RXh0ZW5kZWRSZWdpc3RlciksCiAgICAgT1BD
T0RFX0dST1VQX0VOVFJZKDB4MGIsIEE2NERPcGNvZGVBZGRTdWJ0cmFjdFNoaWZ0ZWRSZWdpc3Rl
ciksCkBAIC0xNzIsNiArMTc0LDExIEBAIGNvbnN0IGNoYXIqIEE2NERPcGNvZGU6OmZvcm1hdCgp
CiAKIHZvaWQgQTY0RE9wY29kZTo6YXBwZW5kUmVnaXN0ZXJOYW1lKHVuc2lnbmVkIHJlZ2lzdGVy
TnVtYmVyLCBib29sIGlzNjRCaXQpCiB7CisgICAgaWYgKHJlZ2lzdGVyTnVtYmVyID09IDI5KSB7
CisgICAgICAgIGJ1ZmZlclByaW50ZihpczY0Qml0ID8gImZwIiA6ICJ3ZnAiKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKwogICAgIGlmIChyZWdpc3Rlck51bWJlciA9PSAzMCkgewogICAgICAg
ICBidWZmZXJQcmludGYoaXM2NEJpdCA/ICJsciIgOiAid2xyIik7CiAgICAgICAgIHJldHVybjsK
QEAgLTkzOSw2ICs5NDYsNjMgQEAgY29uc3QgY2hhciogQTY0RE9wY29kZUxvYWRTdG9yZVJlZ2lz
dGVyT2Zmc2V0Ojpmb3JtYXQoKQogICAgIHJldHVybiBtX2Zvcm1hdEJ1ZmZlcjsKIH0KIAorY29u
c3QgY2hhciogQTY0RE9wY29kZUxvYWRTdG9yZVJlZ2lzdGVyUGFpcjo6b3BOYW1lKCkKK3sKKyAg
ICBpZiAoIXZCaXQoKSAmJiBsQml0KCkgJiYgc2l6ZSgpID09IDB4MSkKKyAgICAgICAgcmV0dXJu
ICJsZHBzdyI7CisgICAgaWYgKGxCaXQoKSkKKyAgICAgICAgcmV0dXJuICJsZHAiOworICAgIHJl
dHVybiAic3RwIjsKK30KKworY29uc3QgY2hhciogQTY0RE9wY29kZUxvYWRTdG9yZVJlZ2lzdGVy
UGFpcjo6Zm9ybWF0KCkKK3sKKyAgICBjb25zdCBjaGFyKiB0aGlzT3BOYW1lID0gb3BOYW1lKCk7
CisgICAgCisgICAgaWYgKHNpemUoKSA9PSAweDMpCisgICAgICAgIHJldHVybiBBNjRET3Bjb2Rl
Ojpmb3JtYXQoKTsKKworICAgIGlmICgob2Zmc2V0TW9kZSgpIDwgMHgxKSB8fCAob2Zmc2V0TW9k
ZSgpID4gMHgzKSkKKyAgICAgICAgcmV0dXJuIEE2NERPcGNvZGU6OmZvcm1hdCgpOworCisgICAg
aWYgKChvZmZzZXRNb2RlKCkgPT0gMHgxKSAmJiAhdkJpdCgpICYmICFsQml0KCkpCisgICAgICAg
IHJldHVybiBBNjRET3Bjb2RlOjpmb3JtYXQoKTsKKworICAgIGFwcGVuZEluc3RydWN0aW9uTmFt
ZSh0aGlzT3BOYW1lKTsKKyAgICB1bnNpZ25lZCBvZmZzZXRTaGlmdDsKKyAgICBpZiAodkJpdCgp
KSB7CisgICAgICAgIGFwcGVuZEZQUmVnaXN0ZXJOYW1lKHJ0KCksIHNpemUoKSk7CisgICAgICAg
IGFwcGVuZFNlcGFyYXRvcigpOworICAgICAgICBhcHBlbmRGUFJlZ2lzdGVyTmFtZShydDIoKSwg
c2l6ZSgpKTsKKyAgICAgICAgb2Zmc2V0U2hpZnQgPSBzaXplKCkgKyAyOworICAgIH0gZWxzZSB7
CisgICAgICAgIGFwcGVuZFJlZ2lzdGVyTmFtZShydCgpLCBpczY0Qml0KCkpOworICAgICAgICBh
cHBlbmRTZXBhcmF0b3IoKTsKKyAgICAgICAgYXBwZW5kUmVnaXN0ZXJOYW1lKHJ0MigpLCBpczY0
Qml0KCkpOworICAgICAgICBvZmZzZXRTaGlmdCA9IChzaXplKCkgPj4gMSkgKyAyOworICAgIH0K
KworICAgIGFwcGVuZFNlcGFyYXRvcigpOworICAgIGFwcGVuZENoYXJhY3RlcignWycpOworICAg
IGFwcGVuZFNQT3JSZWdpc3Rlck5hbWUocm4oKSk7CisKKyAgICBpbnQgb2Zmc2V0ID0gaW1tZWRp
YXRlNygpIDw8IG9mZnNldFNoaWZ0OworCisgICAgaWYgKG9mZnNldE1vZGUoKSA9PSAxKSB7Cisg
ICAgICAgIGFwcGVuZENoYXJhY3RlcignXScpOworICAgICAgICBhcHBlbmRTZXBhcmF0b3IoKTsK
KyAgICAgICAgYXBwZW5kU2lnbmVkSW1tZWRpYXRlKG9mZnNldCk7CisgICAgfSBlbHNlIHsKKyAg
ICAgICAgYXBwZW5kU2VwYXJhdG9yKCk7CisgICAgICAgIGFwcGVuZFNpZ25lZEltbWVkaWF0ZShv
ZmZzZXQpOworICAgICAgICBhcHBlbmRDaGFyYWN0ZXIoJ10nKTsKKyAgICAgICAgaWYgKG9mZnNl
dE1vZGUoKSA9PSAweDMpCisgICAgICAgICAgICBhcHBlbmRDaGFyYWN0ZXIoJyEnKTsKKyAgICB9
CisKKyAgICByZXR1cm4gbV9mb3JtYXRCdWZmZXI7Cit9CisKIGNvbnN0IGNoYXIqIEE2NERPcGNv
ZGVMb2FkU3RvcmVVbnNpZ25lZEltbWVkaWF0ZTo6Zm9ybWF0KCkKIHsKICAgICBjb25zdCBjaGFy
KiB0aGlzT3BOYW1lID0gb3BOYW1lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGlzYXNzZW1ibGVyL0FSTTY0L0E2NERPcGNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kaXNhc3NlbWJsZXIvQVJNNjQvQTY0RE9wY29kZS5oCmluZGV4IGVkMThkMzBkZmRjZmM5OWM5
OGY1NzI4M2NmODZjNzYzYzczYmM2ZTcuLjFjNmFjNDMxOTA2Njk0YTc1NWJhZTBiY2FhYTJlNWVh
NmIxYzk2NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIv
QVJNNjQvQTY0RE9wY29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJs
ZXIvQVJNNjQvQTY0RE9wY29kZS5oCkBAIC01NjUsNiArNTY1LDIyIEBAIHB1YmxpYzoKICAgICBp
bnQgc0JpdCgpIHsgcmV0dXJuIChtX29wY29kZSA+PiAxMikgJiAweDE7IH0KIH07CiAKK2NsYXNz
IEE2NERPcGNvZGVMb2FkU3RvcmVSZWdpc3RlclBhaXIgOiBwdWJsaWMgQTY0RE9wY29kZUxvYWRT
dG9yZSB7CitwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0IHVpbnQzMl90IG1hc2sgPSAweDNhMDAw
MDAwOworICAgIHN0YXRpYyBjb25zdCB1aW50MzJfdCBwYXR0ZXJuID0gMHgyODAwMDAwMDsKKwor
ICAgIERFRklORV9TVEFUSUNfRk9STUFUKEE2NERPcGNvZGVMb2FkU3RvcmVSZWdpc3RlclBhaXIs
IHRoaXNPYmopOworCisgICAgY29uc3QgY2hhciogZm9ybWF0KCk7CisgICAgY29uc3QgY2hhciog
b3BOYW1lKCk7CisKKyAgICB1bnNpZ25lZCBydDIoKSB7IHJldHVybiAobV9vcGNvZGUgPj4gMTAp
ICYgMHgxZjsgfQorICAgIGludCBpbW1lZGlhdGU3KCkgeyByZXR1cm4gKHN0YXRpY19jYXN0PGlu
dD4oKG1fb3Bjb2RlID4+IDE1KSAmIDB4N2YpIDw8IDI1KSA+PiAyNTsgfQorICAgIHVuc2lnbmVk
IG9mZnNldE1vZGUoKSB7IHJldHVybiAobV9vcGNvZGUgPj4gMjMpICYgMHg3OyB9CisgICAgaW50
IGxCaXQoKSB7IHJldHVybiAobV9vcGNvZGUgPj4gMjIpICYgMHgxOyB9Cit9OworCiBjbGFzcyBB
NjRET3Bjb2RlTG9hZFN0b3JlVW5zaWduZWRJbW1lZGlhdGUgOiBwdWJsaWMgQTY0RE9wY29kZUxv
YWRTdG9yZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IHVpbnQzMl90IG1hc2sgPSAweDNi
MDAwMDAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZp
YXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFiYnJldmlhdGlvbnMuaApp
bmRleCAwMmUwYzA0YzMwMjkxNWJhZTRiMzQ4NjA5NTg0ZjcyM2Q4NDQwNjU0Li4wZjlmYTRjMzAx
YzE5MTA5YTc2N2RiYjQ2ODc0NjM3ZGUxOWVmM2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEFiYnJldmlhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEFiYnJldmlhdGlvbnMuaApAQCAtNTgsNiArNTgsNyBAQCBzdGF0aWMgaW5saW5l
IExUeXBlIGZsb2F0VHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5GbG9hdFR5
cGVJbkNvbnRleAogc3RhdGljIGlubGluZSBMVHlwZSBkb3VibGVUeXBlKExDb250ZXh0IGNvbnRl
eHQpIHsgcmV0dXJuIGxsdm0tPkRvdWJsZVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KIAogc3Rh
dGljIGlubGluZSBMVHlwZSBwb2ludGVyVHlwZShMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5Q
b2ludGVyVHlwZSh0eXBlLCAwKTsgfQorc3RhdGljIGlubGluZSBMVHlwZSBhcnJheVR5cGUoTFR5
cGUgdHlwZSwgdW5zaWduZWQgY291bnQpIHsgcmV0dXJuIGxsdm0tPkFycmF5VHlwZSh0eXBlLCBj
b3VudCk7IH0KIHN0YXRpYyBpbmxpbmUgTFR5cGUgdmVjdG9yVHlwZShMVHlwZSB0eXBlLCB1bnNp
Z25lZCBjb3VudCkgeyByZXR1cm4gbGx2bS0+VmVjdG9yVHlwZSh0eXBlLCBjb3VudCk7IH0KIAog
ZW51bSBQYWNraW5nTW9kZSB7IE5vdFBhY2tlZCwgUGFja2VkIH07CkBAIC0xMzIsNiArMTMzLDcg
QEAgc3RhdGljIGlubGluZSB2b2lkIHNldE1ldGFkYXRhKExWYWx1ZSBpbnN0cnVjdGlvbiwgdW5z
aWduZWQga2luZCwgTFZhbHVlIG1ldGFkYXQKIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGFkZEZ1bmN0
aW9uKExNb2R1bGUgbW9kdWxlLCBjb25zdCBjaGFyKiBuYW1lLCBMVHlwZSB0eXBlKSB7IHJldHVy
biBsbHZtLT5BZGRGdW5jdGlvbihtb2R1bGUsIG5hbWUsIHR5cGUpOyB9CiBzdGF0aWMgaW5saW5l
IHZvaWQgc2V0TGlua2FnZShMVmFsdWUgZ2xvYmFsLCBMTGlua2FnZSBsaW5rYWdlKSB7IGxsdm0t
PlNldExpbmthZ2UoZ2xvYmFsLCBsaW5rYWdlKTsgfQogc3RhdGljIGlubGluZSB2b2lkIHNldEZ1
bmN0aW9uQ2FsbGluZ0NvbnYoTFZhbHVlIGZ1bmN0aW9uLCBMQ2FsbENvbnYgY29udmVudGlvbikg
eyBsbHZtLT5TZXRGdW5jdGlvbkNhbGxDb252KGZ1bmN0aW9uLCBjb252ZW50aW9uKTsgfQorc3Rh
dGljIGlubGluZSB2b2lkIGFkZFRhcmdldERlcGVuZGVudEZ1bmN0aW9uQXR0cihMVmFsdWUgZnVu
Y3Rpb24sIGNvbnN0IGNoYXIqIGtleSwgY29uc3QgY2hhciogdmFsdWUpIHsgbGx2bS0+QWRkVGFy
Z2V0RGVwZW5kZW50RnVuY3Rpb25BdHRyKGZ1bmN0aW9uLCBrZXksIHZhbHVlKTsgfQogCiBzdGF0
aWMgaW5saW5lIExWYWx1ZSBhZGRFeHRlcm5GdW5jdGlvbihMTW9kdWxlIG1vZHVsZSwgY29uc3Qg
Y2hhciogbmFtZSwgTFR5cGUgdHlwZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMQWJzdHJhY3RIZWFwLmNwcAppbmRleCBlYWRkNWFmOTdlZWQ0M2U5ZDE3NDllYTNlYTdmYTdh
NzcyNzU5YWU0Li5iZTk5YzUwMTUwNjkyZjE0ODhiNjZlYWRhZTE5MDUyMjcyYmU2NzRkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXAuY3BwCkBAIC01Myw5
ICs1MywxMCBAQCB2b2lkIEFic3RyYWN0SGVhcDo6ZGVjb3JhdGVJbnN0cnVjdGlvbihMVmFsdWUg
aW5zdHJ1Y3Rpb24sIGNvbnN0IEFic3RyYWN0SGVhcFJlcAogICAgIHNldE1ldGFkYXRhKGluc3Ry
dWN0aW9uLCByZXBvc2l0b3J5Lm1fdGJhYUtpbmQsIHRiYWFNZXRhZGF0YShyZXBvc2l0b3J5KSk7
CiB9CiAKLUluZGV4ZWRBYnN0cmFjdEhlYXA6OkluZGV4ZWRBYnN0cmFjdEhlYXAoTENvbnRleHQg
Y29udGV4dCwgQWJzdHJhY3RIZWFwKiBwYXJlbnQsIGNvbnN0IGNoYXIqIGhlYXBOYW1lLCBzaXpl
X3QgZWxlbWVudFNpemUpCitJbmRleGVkQWJzdHJhY3RIZWFwOjpJbmRleGVkQWJzdHJhY3RIZWFw
KExDb250ZXh0IGNvbnRleHQsIEFic3RyYWN0SGVhcCogcGFyZW50LCBjb25zdCBjaGFyKiBoZWFw
TmFtZSwgcHRyZGlmZl90IG9mZnNldCwgc2l6ZV90IGVsZW1lbnRTaXplKQogICAgIDogbV9oZWFw
Rm9yQW55SW5kZXgocGFyZW50LCBoZWFwTmFtZSkKICAgICAsIG1faGVhcE5hbWVMZW5ndGgoc3Ry
bGVuKGhlYXBOYW1lKSkKKyAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAgICAsIG1fZWxlbWVudFNp
emUoZWxlbWVudFNpemUpCiAgICAgLCBtX3NjYWxlVGVybSgwKQogICAgICwgbV9jYW5TaGlmdChm
YWxzZSkKQEAgLTkzLDcgKzk0LDcgQEAgVHlwZWRQb2ludGVyIEluZGV4ZWRBYnN0cmFjdEhlYXA6
OmJhc2VJbmRleChPdXRwdXQmIG91dCwgTFZhbHVlIGJhc2UsIExWYWx1ZSBpbmQKICAgICB9IGVs
c2UKICAgICAgICAgcmVzdWx0ID0gb3V0LmFkZChiYXNlLCBvdXQubXVsKGluZGV4LCBtX3NjYWxl
VGVybSkpOwogICAgIAotICAgIHJldHVybiBUeXBlZFBvaW50ZXIoYXRBbnlJbmRleCgpLCBvdXQu
YWRkUHRyKHJlc3VsdCwgb2Zmc2V0KSk7CisgICAgcmV0dXJuIFR5cGVkUG9pbnRlcihhdEFueUlu
ZGV4KCksIG91dC5hZGRQdHIocmVzdWx0LCBtX29mZnNldCArIG9mZnNldCkpOwogfQogCiBjb25z
dCBBYnN0cmFjdEZpZWxkJiBJbmRleGVkQWJzdHJhY3RIZWFwOjphdFNsb3cocHRyZGlmZl90IGlu
ZGV4KQpAQCAtMTY4LDcgKzE2OSw3IEBAIHZvaWQgSW5kZXhlZEFic3RyYWN0SGVhcDo6aW5pdGlh
bGl6ZShBYnN0cmFjdEZpZWxkJiBmaWVsZCwgcHRyZGlmZl90IHNpZ25lZEluZGV4CiAgICAgICAg
ICAgICBhY2N1bXVsYXRvciA+Pj0gNDsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgZmll
bGQuaW5pdGlhbGl6ZSgmbV9oZWFwRm9yQW55SW5kZXgsIGNoYXJhY3RlcnMsIHNpZ25lZEluZGV4
ICogbV9lbGVtZW50U2l6ZSk7CisgICAgICAgIGZpZWxkLmluaXRpYWxpemUoJm1faGVhcEZvckFu
eUluZGV4LCBjaGFyYWN0ZXJzLCBtX29mZnNldCArIHNpZ25lZEluZGV4ICogbV9lbGVtZW50U2l6
ZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCkBAIC0xNzcsNyArMTc4LDcgQEAgdm9p
ZCBJbmRleGVkQWJzdHJhY3RIZWFwOjppbml0aWFsaXplKEFic3RyYWN0RmllbGQmIGZpZWxkLCBw
dHJkaWZmX3Qgc2lnbmVkSW5kZXgKIAogTnVtYmVyZWRBYnN0cmFjdEhlYXA6Ok51bWJlcmVkQWJz
dHJhY3RIZWFwKAogICAgIExDb250ZXh0IGNvbnRleHQsIEFic3RyYWN0SGVhcCogaGVhcCwgY29u
c3QgY2hhciogaGVhcE5hbWUpCi0gICAgOiBtX2luZGV4ZWRIZWFwKGNvbnRleHQsIGhlYXAsIGhl
YXBOYW1lLCAxKQorICAgIDogbV9pbmRleGVkSGVhcChjb250ZXh0LCBoZWFwLCBoZWFwTmFtZSwg
MCwgMSkKIHsKIH0KIApAQCAtMTg3LDcgKzE4OCw3IEBAIE51bWJlcmVkQWJzdHJhY3RIZWFwOjp+
TnVtYmVyZWRBYnN0cmFjdEhlYXAoKQogCiBBYnNvbHV0ZUFic3RyYWN0SGVhcDo6QWJzb2x1dGVB
YnN0cmFjdEhlYXAoCiAgICAgTENvbnRleHQgY29udGV4dCwgQWJzdHJhY3RIZWFwKiBoZWFwLCBj
b25zdCBjaGFyKiBoZWFwTmFtZSkKLSAgICA6IG1faW5kZXhlZEhlYXAoY29udGV4dCwgaGVhcCwg
aGVhcE5hbWUsIDEpCisgICAgOiBtX2luZGV4ZWRIZWFwKGNvbnRleHQsIGhlYXAsIGhlYXBOYW1l
LCAwLCAxKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TEFic3RyYWN0SGVhcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhl
YXAuaAppbmRleCBlOTJhMmZjMmMwMWMzMDk1ODMwNzBkOTYxYjFhNzA5MTQxMWNhYzZkLi4yZjBj
YWE3MjcxMGEyM2JkMTExYzEyOTAxMWQyOTY0NTI3NjdlMDU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwLmgKQEAgLTEzOSw3ICsxMzksNyBAQCBwcml2YXRl
OgogCiBjbGFzcyBJbmRleGVkQWJzdHJhY3RIZWFwIHsKIHB1YmxpYzoKLSAgICBJbmRleGVkQWJz
dHJhY3RIZWFwKExDb250ZXh0LCBBYnN0cmFjdEhlYXAqIHBhcmVudCwgY29uc3QgY2hhciogaGVh
cE5hbWUsIHNpemVfdCBlbGVtZW50U2l6ZSk7CisgICAgSW5kZXhlZEFic3RyYWN0SGVhcChMQ29u
dGV4dCwgQWJzdHJhY3RIZWFwKiBwYXJlbnQsIGNvbnN0IGNoYXIqIGhlYXBOYW1lLCBwdHJkaWZm
X3Qgb2Zmc2V0LCBzaXplX3QgZWxlbWVudFNpemUpOwogICAgIH5JbmRleGVkQWJzdHJhY3RIZWFw
KCk7CiAgICAgCiAgICAgY29uc3QgQWJzdHJhY3RIZWFwJiBhdEFueUluZGV4KCkgY29uc3QgeyBy
ZXR1cm4gbV9oZWFwRm9yQW55SW5kZXg7IH0KQEAgLTE2OCw2ICsxNjgsNyBAQCBwcml2YXRlOgog
CiAgICAgQWJzdHJhY3RIZWFwIG1faGVhcEZvckFueUluZGV4OwogICAgIHNpemVfdCBtX2hlYXBO
YW1lTGVuZ3RoOworICAgIHB0cmRpZmZfdCBtX29mZnNldDsKICAgICBzaXplX3QgbV9lbGVtZW50
U2l6ZTsKICAgICBMVmFsdWUgbV9zY2FsZVRlcm07CiAgICAgYm9vbCBtX2NhblNoaWZ0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0
b3J5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3Np
dG9yeS5jcHAKaW5kZXggZDdmODNjOTYwMWM4ZGVjYjNjNGZkOTYwZjllOTNmZWUyNGY5NzJlZi4u
ZTZiMGUxNjFmMmM5YWJhZGRiNDZlYzYxZjZiYjgwMTE3ZjgyNGYxOCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3Bw
CkBAIC00Nyw3ICs0Nyw3IEBAIEFic3RyYWN0SGVhcFJlcG9zaXRvcnk6OkFic3RyYWN0SGVhcFJl
cG9zaXRvcnkoTENvbnRleHQgY29udGV4dCkKICAgICAKICAgICAsIEpTQ2VsbF9mcmVlTGlzdE5l
eHQoSlNDZWxsX3N0cnVjdHVyZSkKICAgICAKLSNkZWZpbmUgSU5ERVhFRF9BQlNUUkFDVF9IRUFQ
X0lOSVRJQUxJWkFUSU9OKG5hbWUsIHNpemUpICwgbmFtZShjb250ZXh0LCAmcm9vdCwgI25hbWUs
IHNpemUpCisjZGVmaW5lIElOREVYRURfQUJTVFJBQ1RfSEVBUF9JTklUSUFMSVpBVElPTihuYW1l
LCBvZmZzZXQsIHNpemUpICwgbmFtZShjb250ZXh0LCAmcm9vdCwgI25hbWUsIG9mZnNldCwgc2l6
ZSkKICAgICBGT1JfRUFDSF9JTkRFWEVEX0FCU1RSQUNUX0hFQVAoSU5ERVhFRF9BQlNUUkFDVF9I
RUFQX0lOSVRJQUxJWkFUSU9OKQogI3VuZGVmIElOREVYRURfQUJTVFJBQ1RfSEVBUF9JTklUSUFM
SVpBVElPTgogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExB
YnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFi
c3RyYWN0SGVhcFJlcG9zaXRvcnkuaAppbmRleCBmODExYzhiZTVkMWE3NTY0MjkyMzAzNjQwNTcx
ZjEyNTk1YWE0MDc2Li5kZDk0NjZkOTJmZjIzYTA4YTU4YzFlMmIzNGNhYWUxMjQxZDM4YjQxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9z
aXRvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJl
cG9zaXRvcnkuaApAQCAtNDgsMTEgKzQ4LDE1IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2Ug
RlRMIHsKICAgICBtYWNybyhKU0FycmF5QnVmZmVyVmlld19tb2RlLCBKU0FycmF5QnVmZmVyVmll
dzo6b2Zmc2V0T2ZNb2RlKCkpIFwKICAgICBtYWNybyhKU0FycmF5QnVmZmVyVmlld192ZWN0b3Is
IEpTQXJyYXlCdWZmZXJWaWV3OjpvZmZzZXRPZlZlY3RvcigpKSBcCiAgICAgbWFjcm8oSlNDZWxs
X3N0cnVjdHVyZSwgSlNDZWxsOjpzdHJ1Y3R1cmVPZmZzZXQoKSkgXAorICAgIG1hY3JvKEpTRnVu
Y3Rpb25fZXhlY3V0YWJsZSwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpIFwKKyAg
ICBtYWNybyhKU0Z1bmN0aW9uX3Njb3BlLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZlNjb3BlQ2hhaW4o
KSkgXAogICAgIG1hY3JvKEpTT2JqZWN0X2J1dHRlcmZseSwgSlNPYmplY3Q6OmJ1dHRlcmZseU9m
ZnNldCgpKSBcCiAgICAgbWFjcm8oSlNTY29wZV9uZXh0LCBKU1Njb3BlOjpvZmZzZXRPZk5leHQo
KSkgXAorICAgIG1hY3JvKEpTU3RyaW5nX2ZsYWdzLCBKU1N0cmluZzo6b2Zmc2V0T2ZGbGFncygp
KSBcCiAgICAgbWFjcm8oSlNTdHJpbmdfbGVuZ3RoLCBKU1N0cmluZzo6b2Zmc2V0T2ZMZW5ndGgo
KSkgXAogICAgIG1hY3JvKEpTU3RyaW5nX3ZhbHVlLCBKU1N0cmluZzo6b2Zmc2V0T2ZWYWx1ZSgp
KSBcCiAgICAgbWFjcm8oSlNWYXJpYWJsZU9iamVjdF9yZWdpc3RlcnMsIEpTVmFyaWFibGVPYmpl
Y3Q6Om9mZnNldE9mUmVnaXN0ZXJzKCkpIFwKKyAgICBtYWNybyhKU1dyYXBwZXJPYmplY3RfaW50
ZXJuYWxWYWx1ZSwgSlNXcmFwcGVyT2JqZWN0OjppbnRlcm5hbFZhbHVlT2Zmc2V0KCkpIFwKICAg
ICBtYWNybyhNYXJrZWRBbGxvY2F0b3JfZnJlZUxpc3RIZWFkLCBNYXJrZWRBbGxvY2F0b3I6Om9m
ZnNldE9mRnJlZUxpc3RIZWFkKCkpIFwKICAgICBtYWNybyhNYXJrZWRCbG9ja19tYXJrQml0cywg
TWFya2VkQmxvY2s6Om9mZnNldE9mTWFya3MoKSkgXAogICAgIG1hY3JvKFN0cmluZ0ltcGxfZGF0
YSwgU3RyaW5nSW1wbDo6ZGF0YU9mZnNldCgpKSBcCkBAIC02NCwxNCArNjgsMTUgQEAgbmFtZXNw
YWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3JvKFN0cnVjdHVyZV90eXBlSW5mb1R5
cGUsIFN0cnVjdHVyZTo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpCiAKICNkZWZpbmUgRk9SX0VBQ0hf
SU5ERVhFRF9BQlNUUkFDVF9IRUFQKG1hY3JvKSBcCi0gICAgbWFjcm8oY2hhcmFjdGVyczgsIHNp
emVvZihMQ2hhcikpIFwKLSAgICBtYWNybyhjaGFyYWN0ZXJzMTYsIHNpemVvZihVQ2hhcikpIFwK
LSAgICBtYWNybyhpbmRleGVkSW50MzJQcm9wZXJ0aWVzLCBzaXplb2YoRW5jb2RlZEpTVmFsdWUp
KSBcCi0gICAgbWFjcm8oaW5kZXhlZERvdWJsZVByb3BlcnRpZXMsIHNpemVvZihkb3VibGUpKSBc
Ci0gICAgbWFjcm8oaW5kZXhlZENvbnRpZ3VvdXNQcm9wZXJ0aWVzLCBzaXplb2YoRW5jb2RlZEpT
VmFsdWUpKSBcCi0gICAgbWFjcm8oaW5kZXhlZEFycmF5U3RvcmFnZVByb3BlcnRpZXMsIHNpemVv
ZihFbmNvZGVkSlNWYWx1ZSkpIFwKLSAgICBtYWNybyhzaW5nbGVDaGFyYWN0ZXJTdHJpbmdzLCBz
aXplb2YoSlNTdHJpbmcqKSkgXAotICAgIG1hY3JvKHZhcmlhYmxlcywgc2l6ZW9mKFJlZ2lzdGVy
KSkKKyAgICBtYWNybyhKU1JvcGVTdHJpbmdfZmliZXJzLCBKU1JvcGVTdHJpbmc6Om9mZnNldE9m
RmliZXJzKCksIHNpemVvZihXcml0ZUJhcnJpZXI8SlNTdHJpbmc+KSkgXAorICAgIG1hY3JvKGNo
YXJhY3RlcnM4LCAwLCBzaXplb2YoTENoYXIpKSBcCisgICAgbWFjcm8oY2hhcmFjdGVyczE2LCAw
LCBzaXplb2YoVUNoYXIpKSBcCisgICAgbWFjcm8oaW5kZXhlZEludDMyUHJvcGVydGllcywgMCwg
c2l6ZW9mKEVuY29kZWRKU1ZhbHVlKSkgXAorICAgIG1hY3JvKGluZGV4ZWREb3VibGVQcm9wZXJ0
aWVzLCAwLCBzaXplb2YoZG91YmxlKSkgXAorICAgIG1hY3JvKGluZGV4ZWRDb250aWd1b3VzUHJv
cGVydGllcywgMCwgc2l6ZW9mKEVuY29kZWRKU1ZhbHVlKSkgXAorICAgIG1hY3JvKGluZGV4ZWRB
cnJheVN0b3JhZ2VQcm9wZXJ0aWVzLCAwLCBzaXplb2YoRW5jb2RlZEpTVmFsdWUpKSBcCisgICAg
bWFjcm8oc2luZ2xlQ2hhcmFjdGVyU3RyaW5ncywgMCwgc2l6ZW9mKEpTU3RyaW5nKikpIFwKKyAg
ICBtYWNybyh2YXJpYWJsZXMsIDAsIHNpemVvZihSZWdpc3RlcikpCiAgICAgCiAjZGVmaW5lIEZP
Ul9FQUNIX05VTUJFUkVEX0FCU1RSQUNUX0hFQVAobWFjcm8pIFwKICAgICBtYWNybyhwcm9wZXJ0
aWVzKQpAQCAtOTcsNyArMTAyLDcgQEAgcHVibGljOgogICAgIAogICAgIEFic3RyYWN0RmllbGQm
IEpTQ2VsbF9mcmVlTGlzdE5leHQ7CiAgICAgCi0jZGVmaW5lIElOREVYRURfQUJTVFJBQ1RfSEVB
UF9ERUNMQVJBVElPTihuYW1lLCBzaXplKSBJbmRleGVkQWJzdHJhY3RIZWFwIG5hbWU7CisjZGVm
aW5lIElOREVYRURfQUJTVFJBQ1RfSEVBUF9ERUNMQVJBVElPTihuYW1lLCBvZmZzZXQsIHNpemUp
IEluZGV4ZWRBYnN0cmFjdEhlYXAgbmFtZTsKICAgICBGT1JfRUFDSF9JTkRFWEVEX0FCU1RSQUNU
X0hFQVAoSU5ERVhFRF9BQlNUUkFDVF9IRUFQX0RFQ0xBUkFUSU9OKQogI3VuZGVmIElOREVYRURf
QUJTVFJBQ1RfSEVBUF9ERUNMQVJBVElPTgogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExBdmFpbGFibGVSZWNvdmVyeS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTEF2YWlsYWJsZVJlY292ZXJ5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzAwZmE0ZDkw
OTViODMxNWJhMjdjMWNjOTEzNTdhYzIyMDU5NTU4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBdmFpbGFibGVSZWNvdmVyeS5jcHAKQEAgLTAsMCArMSw0
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRlRMQXZhaWxhYmxlUmVjb3ZlcnkuaCIKKworI2lm
IEVOQUJMRShGVExfSklUKQorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CisKK3Zv
aWQgQXZhaWxhYmxlUmVjb3Zlcnk6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAg
ICBvdXQucHJpbnQobm9kZSgpLCAiID0+ICIsIG9wY29kZSgpLCAiLCAiLCBSYXdQb2ludGVyKG1f
bGVmdCksICIsICIsIFJhd1BvaW50ZXIobV9yaWdodCksICIsICIsIG1fZm9ybWF0KTsKK30KKwor
fSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTAorCisjZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQpCisK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQXZhaWxhYmxlUmVjb3Zl
cnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQXZhaWxhYmxlUmVjb3ZlcnkuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mY2FmNGEyMmQyODA5YTZmYmQzNTBjZWRmMTg4MjM5MzkyMDcwMWU4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBdmFpbGFibGVSZWNv
dmVyeS5oCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2lmbmRlZiBGVExBdmFpbGFibGVSZWNvdmVyeV9oCisjZGVmaW5lIEZU
TEF2YWlsYWJsZVJlY292ZXJ5X2gKKworI2lmIEVOQUJMRShGVExfSklUKQorCisjaW5jbHVkZSAi
REZHTm9kZS5oIgorI2luY2x1ZGUgIkZUTEFiYnJldmlhdGVkVHlwZXMuaCIKKyNpbmNsdWRlICJG
VExSZWNvdmVyeU9wY29kZS5oIgorI2luY2x1ZGUgIkZUTFZhbHVlRm9ybWF0LmgiCisKK25hbWVz
cGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKKworY2xhc3MgQXZhaWxhYmxlUmVjb3Zlcnkgewor
cHVibGljOgorICAgIEF2YWlsYWJsZVJlY292ZXJ5KCkKKyAgICAgICAgOiBtX25vZGUoMCkKKyAg
ICAgICAgLCBtX2Zvcm1hdChJbnZhbGlkVmFsdWVGb3JtYXQpCisgICAgICAgICwgbV9vcGNvZGUo
QWRkUmVjb3ZlcnkpCisgICAgICAgICwgbV9sZWZ0KDApCisgICAgICAgICwgbV9yaWdodCgwKQor
ICAgIHsKKyAgICB9CisgICAgCisgICAgQXZhaWxhYmxlUmVjb3ZlcnkoREZHOjpOb2RlKiBub2Rl
LCBSZWNvdmVyeU9wY29kZSBvcGNvZGUsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQsIFZhbHVl
Rm9ybWF0IGZvcm1hdCkKKyAgICAgICAgOiBtX25vZGUobm9kZSkKKyAgICAgICAgLCBtX2Zvcm1h
dChmb3JtYXQpCisgICAgICAgICwgbV9vcGNvZGUob3Bjb2RlKQorICAgICAgICAsIG1fbGVmdChs
ZWZ0KQorICAgICAgICAsIG1fcmlnaHQocmlnaHQpCisgICAgeworICAgIH0KKyAgICAKKyAgICBE
Rkc6Ok5vZGUqIG5vZGUoKSBjb25zdCB7IHJldHVybiBtX25vZGU7IH0KKyAgICBWYWx1ZUZvcm1h
dCBmb3JtYXQoKSBjb25zdCB7IHJldHVybiBtX2Zvcm1hdDsgfQorICAgIFJlY292ZXJ5T3Bjb2Rl
IG9wY29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fb3Bjb2RlOyB9CisgICAgTFZhbHVlIGxlZnQoKSBj
b25zdCB7IHJldHVybiBtX2xlZnQ7IH0KKyAgICBMVmFsdWUgcmlnaHQoKSBjb25zdCB7IHJldHVy
biBtX3JpZ2h0OyB9CisgICAgCisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Q7Cisg
ICAgCitwcml2YXRlOgorICAgIERGRzo6Tm9kZSogbV9ub2RlOworICAgIFZhbHVlRm9ybWF0IG1f
Zm9ybWF0OworICAgIFJlY292ZXJ5T3Bjb2RlIG1fb3Bjb2RlOworICAgIExWYWx1ZSBtX2xlZnQ7
CisgICAgTFZhbHVlIG1fcmlnaHQ7Cit9OworCit9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCisK
KyNlbmRpZiAvLyBFTkFCTEUoRlRMX0pJVCkKKworI2VuZGlmIC8vIEZUTEF2YWlsYWJsZVJlY292
ZXJ5X2gKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmls
aXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3Bw
CmluZGV4IDg2YTI4Y2Y4YWVmNDBkMmY3YWRiNTM1ZjQ3MjRkMmYzMzBiZjhhMDYuLmQxNmIxN2Jk
NjYxMjc5ZDBjYWQzMDAyMjMzZTllMzAxMTAwOTNlNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKQEAgLTMyLDYgKzMyLDExIEBAIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIAogdXNpbmcgbmFtZXNwYWNlIERGRzsKIAorc3RhdGlj
IGJvb2wgdmVyYm9zZUNhcGFiaWxpdGllcygpCit7CisgICAgcmV0dXJuIHZlcmJvc2VDb21waWxh
dGlvbkVuYWJsZWQoKSB8fCBPcHRpb25zOjp2ZXJib3NlRlRMRmFpbHVyZSgpOworfQorCiBpbmxp
bmUgQ2FwYWJpbGl0eUxldmVsIGNhbkNvbXBpbGUoTm9kZSogbm9kZSkKIHsKICAgICAvLyBOT1RF
OiBJZiB3ZSBldmVyIGhhdmUgcGhhbnRvbSBhcmd1bWVudHMsIHdlIGNhbiBjb21waWxlIHRoZW0g
YnV0IHdlIGNhbm5vdApAQCAtNzcsNiArODIsOSBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNh
bkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIEFyaXRoTWluOgogICAgIGNhc2UgQXJpdGhN
YXg6CiAgICAgY2FzZSBBcml0aEFiczoKKyAgICBjYXNlIEFyaXRoU2luOgorICAgIGNhc2UgQXJp
dGhDb3M6CisgICAgY2FzZSBBcml0aFNxcnQ6CiAgICAgY2FzZSBBcml0aE5lZ2F0ZToKICAgICBj
YXNlIFVJbnQzMlRvTnVtYmVyOgogICAgIGNhc2UgSW50MzJUb0RvdWJsZToKQEAgLTg4LDggKzk2
LDYgQEAgaW5saW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAg
Y2FzZSBVcHNpbG9uOgogICAgIGNhc2UgRXh0cmFjdE9TUkVudHJ5TG9jYWw6CiAgICAgY2FzZSBM
b29wSGludDoKLSAgICBjYXNlIENhbGw6Ci0gICAgY2FzZSBDb25zdHJ1Y3Q6CiAgICAgY2FzZSBH
ZXRNeVNjb3BlOgogICAgIGNhc2UgU2tpcFNjb3BlOgogICAgIGNhc2UgR2V0Q2xvc3VyZVJlZ2lz
dGVyczoKQEAgLTEwOCwxNSArMTE0LDI3IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29t
cGlsZShOb2RlKiBub2RlKQogICAgIGNhc2UgU3RvcmVCYXJyaWVyOgogICAgIGNhc2UgQ29uZGl0
aW9uYWxTdG9yZUJhcnJpZXI6CiAgICAgY2FzZSBTdG9yZUJhcnJpZXJXaXRoTnVsbENoZWNrOgor
ICAgIGNhc2UgQ2FsbDoKKyAgICBjYXNlIENvbnN0cnVjdDoKICAgICBjYXNlIFZhbHVlVG9JbnQz
MjoKICAgICBjYXNlIEJyYW5jaDoKICAgICBjYXNlIExvZ2ljYWxOb3Q6CiAgICAgY2FzZSBDaGVj
a0luQm91bmRzOgogICAgIGNhc2UgQ29uc3RhbnRTdG9yYWdlUG9pbnRlcjoKICAgICBjYXNlIENo
ZWNrOgorICAgIGNhc2UgQ291bnRFeGVjdXRpb246CisgICAgY2FzZSBDaGVja0V4ZWN1dGFibGU6
CisgICAgY2FzZSBHZXRTY29wZToKKyAgICBjYXNlIEFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2lu
dDoKKyAgICBjYXNlIENoZWNrQXJndW1lbnRzTm90Q3JlYXRlZDoKKyAgICBjYXNlIEdldENhbGxl
ZToKKyAgICBjYXNlIFRvU3RyaW5nOgorICAgIGNhc2UgTWFrZVJvcGU6CisgICAgY2FzZSBOZXdB
cnJheVdpdGhTaXplOgogICAgICAgICAvLyBUaGVzZSBhcmUgT0suCiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgR2V0QnlJZDoKKyAgICBjYXNlIFB1dEJ5SWREaXJlY3Q6CiAgICAgY2FzZSBQdXRC
eUlkOgogICAgICAgICBpZiAobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IENlbGxVc2UpCiAg
ICAgICAgICAgICBicmVhazsKQEAgLTIzNyw4ICsyNTUsMTcgQEAgaW5saW5lIENhcGFiaWxpdHlM
ZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGlsZShH
cmFwaCYgZ3JhcGgpCiB7CiAgICAgaWYgKGdyYXBoLm1fY29kZUJsb2NrLT5jb2RlVHlwZSgpICE9
IEZ1bmN0aW9uQ29kZSkgewotICAgICAgICBpZiAodmVyYm9zZUNvbXBpbGF0aW9uRW5hYmxlZCgp
KQotICAgICAgICAgICAgZGF0YUxvZygiRlRMIHJlamVjdGluZyBjb2RlIGJsb2NrIHRoYXQgZG9l
c24ndCBiZWxvbmcgdG8gYSBmdW5jdGlvbi5cbiIpOworICAgICAgICBpZiAodmVyYm9zZUNhcGFi
aWxpdGllcygpKQorICAgICAgICAgICAgZGF0YUxvZygiRlRMIHJlamVjdGluZyAiLCAqZ3JhcGgu
bV9jb2RlQmxvY2ssICIgYmVjYXVzZSBpdCBkb2Vzbid0IGJlbG9uZyB0byBhIGZ1bmN0aW9uLlxu
Iik7CisgICAgICAgIHJldHVybiBDYW5ub3RDb21waWxlOworICAgIH0KKyAgICAKKyAgICBpZiAo
Z3JhcGgubV9jb2RlQmxvY2stPm5lZWRzQWN0aXZhdGlvbigpKSB7CisgICAgICAgIC8vIE5lZWQg
dGhpcyBiZWNhdXNlIGFsdGhvdWdoIHdlIGFsc28gZG9uJ3Qgc3VwcG9ydAorICAgICAgICAvLyBD
cmVhdGVBY3RpdmF0aW9uL1RlYXJPZmZBY3RpdmF0aW9uLCB3ZSBtaWdodCBub3Qgc2VlIHRob3Nl
IG5vZGVzIGluIGNhc2Ugb2YKKyAgICAgICAgLy8gT1NSIGVudHJ5LgorICAgICAgICBpZiAodmVy
Ym9zZUNhcGFiaWxpdGllcygpKQorICAgICAgICAgICAgZGF0YUxvZygiRlRMIHJlamVjdGluZyAi
LCAqZ3JhcGgubV9jb2RlQmxvY2ssICIgYmVjYXVzZSBpdCB1c2VzIGFjdGl2YXRpb25zLlxuIik7
CiAgICAgICAgIHJldHVybiBDYW5ub3RDb21waWxlOwogICAgIH0KICAgICAKQEAgLTI3NCwxMyAr
MzAxLDE2IEBAIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKEdyYXBoJiBncmFwaCkKICAgICAg
ICAgICAgICAgICBjYXNlIE9iamVjdFVzZToKICAgICAgICAgICAgICAgICBjYXNlIE9iamVjdE9y
T3RoZXJVc2U6CiAgICAgICAgICAgICAgICAgY2FzZSBTdHJpbmdVc2U6CisgICAgICAgICAgICAg
ICAgY2FzZSBLbm93blN0cmluZ1VzZToKKyAgICAgICAgICAgICAgICBjYXNlIFN0cmluZ09iamVj
dFVzZToKKyAgICAgICAgICAgICAgICBjYXNlIFN0cmluZ09yU3RyaW5nT2JqZWN0VXNlOgogICAg
ICAgICAgICAgICAgIGNhc2UgRmluYWxPYmplY3RVc2U6CiAgICAgICAgICAgICAgICAgICAgIC8v
IFRoZXNlIGFyZSBPSy4KICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAg
ICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgLy8gRG9uJ3Qga25vdyBob3cgdG8gaGFu
ZGxlIGFueXRoaW5nIGVsc2UuCi0gICAgICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlQ29tcGls
YXRpb25FbmFibGVkKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIkZUTCBy
ZWplY3Rpbmcgbm9kZSBiZWNhdXNlIG9mIGJhZCB1c2Uga2luZDogIiwgZWRnZS51c2VLaW5kKCks
ICIgaW4gbm9kZTpcbiIpOworICAgICAgICAgICAgICAgICAgICBpZiAodmVyYm9zZUNhcGFiaWxp
dGllcygpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCJGVEwgcmVqZWN0aW5n
IG5vZGUgaW4gIiwgKmdyYXBoLm1fY29kZUJsb2NrLCAiIGJlY2F1c2Ugb2YgYmFkIHVzZSBraW5k
OiAiLCBlZGdlLnVzZUtpbmQoKSwgIiBpbiBub2RlOlxuIik7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBncmFwaC5kdW1wKFdURjo6ZGF0YUZpbGUoKSwgIiAgICAiLCBub2RlKTsKICAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gQ2Fubm90Q29tcGlsZTsK
QEAgLTI4OSw4ICszMTksOCBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGlsZShHcmFwaCYgZ3Jh
cGgpCiAgICAgICAgICAgICAKICAgICAgICAgICAgIHN3aXRjaCAoY2FuQ29tcGlsZShub2RlKSkg
ewogICAgICAgICAgICAgY2FzZSBDYW5ub3RDb21waWxlOiAKLSAgICAgICAgICAgICAgICBpZiAo
dmVyYm9zZUNvbXBpbGF0aW9uRW5hYmxlZCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGRhdGFM
b2coIkZUTCByZWplY3Rpbmcgbm9kZTpcbiIpOworICAgICAgICAgICAgICAgIGlmICh2ZXJib3Nl
Q2FwYWJpbGl0aWVzKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiRlRMIHJlamVj
dGluZyBub2RlIGluICIsICpncmFwaC5tX2NvZGVCbG9jaywgIjpcbiIpOwogICAgICAgICAgICAg
ICAgICAgICBncmFwaC5kdW1wKFdURjo6ZGF0YUZpbGUoKSwgIiAgICAiLCBub2RlKTsKICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgcmV0dXJuIENhbm5vdENvbXBpbGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbW1vblZhbHVlcy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbW1vblZhbHVlcy5jcHAKaW5kZXggNjUzYmI3
ZGRkY2UyNDgyNzFlOGU2YzYxMDRmYTE5ZjdkYmFjNjFhYS4uY2NhOTBkM2E2M2E2Mjg3Zjc0OTUz
MGMzM2ExMDJlZDY4ZTdkYTE3YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExDb21tb25WYWx1ZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
Q29tbW9uVmFsdWVzLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEz
LCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtNjEsNiArNjEsOCBAQCBDb21tb25WYWx1ZXM6OkNvbW1vblZhbHVl
cyhMQ29udGV4dCBjb250ZXh0KQogICAgICwgaW50UHRyRWlnaHQoY29uc3RJbnQoaW50UHRyLCA4
LCBTaWduRXh0ZW5kKSkKICAgICAsIGludFB0clB0cihjb25zdEludChpbnRQdHIsIHNpemVvZih2
b2lkKiksIFNpZ25FeHRlbmQpKQogICAgICwgZG91YmxlWmVybyhjb25zdFJlYWwoZG91YmxlVHlw
ZSwgMCkpCisgICAgLCByYW5nZUtpbmQobWRLaW5kSUQoY29udGV4dCwgInJhbmdlIikpCisgICAg
LCBub25OZWdhdGl2ZUludDMyKGNvbnN0SW50KGludDMyLCAwLCBTaWduRXh0ZW5kKSwgY29uc3RJ
bnQoaW50MzIsIDFsbCA8PCAzMSwgU2lnbkV4dGVuZCkpCiAgICAgLCBtX2NvbnRleHQoY29udGV4
dCkKICAgICAsIG1fbW9kdWxlKDApCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTENvbW1vblZhbHVlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExD
b21tb25WYWx1ZXMuaAppbmRleCA4NDgwOTAyMTBjZGQ3MDRiZjA1NjAzYTU4MWUyZmIxZGM4MWEy
MDUxLi45ZjMzMWNmYmQwN2U1MTVkNmEzODkzMjM2NjI4NDFlYjMyNmQwMTM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbW1vblZhbHVlcy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tbW9uVmFsdWVzLmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDYgKzMxLDcgQEAKICNp
ZiBFTkFCTEUoRlRMX0pJVCkKIAogI2luY2x1ZGUgIkZUTEFiYnJldmlhdGlvbnMuaCIKKyNpbmNs
dWRlICJGVExWYWx1ZVJhbmdlLmgiCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsK
IApAQCAtNzQsNiArNzUsMTAgQEAgcHVibGljOgogICAgIGNvbnN0IExWYWx1ZSBpbnRQdHJQdHI7
CiAgICAgY29uc3QgTFZhbHVlIGRvdWJsZVplcm87CiAgICAgCisgICAgY29uc3QgdW5zaWduZWQg
cmFuZ2VLaW5kOworICAgIAorICAgIGNvbnN0IFZhbHVlUmFuZ2Ugbm9uTmVnYXRpdmVJbnQzMjsK
KyAgICAKICAgICBMQ29udGV4dCBjb25zdCBtX2NvbnRleHQ7CiAgICAgTE1vZHVsZSBtX21vZHVs
ZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAppbmRleCA2YzAx
ZjRmYTUyZjFmOWU5ZDg1NWIxODdjNzkxZWE0ZmM4ZTIxMDA4Li5lMjNjNzQ1NzUzZWEyM2UxNWQz
M2JmNzVlOGM2MGE3Y2EyYjg0ZThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTENvbXBpbGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29t
cGlsZS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJGVExJbmxpbmVDYWNoZVNpemUuaCIK
ICNpbmNsdWRlICJGVExKSVRDb2RlLmgiCiAjaW5jbHVkZSAiRlRMVGh1bmtzLmgiCisjaW5jbHVk
ZSAiRlRMVW53aW5kSW5mby5oIgogI2luY2x1ZGUgIkpJVFN0dWJzLmgiCiAjaW5jbHVkZSAiTExW
TUFQSS5oIgogI2luY2x1ZGUgIkxpbmtCdWZmZXIuaCIKQEAgLTQ5LDcgKzUwLDYgQEAgdXNpbmcg
bmFtZXNwYWNlIERGRzsKIHN0YXRpYyB1aW50OF90KiBtbUFsbG9jYXRlQ29kZVNlY3Rpb24oCiAg
ICAgdm9pZCogb3BhcXVlU3RhdGUsIHVpbnRwdHJfdCBzaXplLCB1bnNpZ25lZCBhbGlnbm1lbnQs
IHVuc2lnbmVkLCBjb25zdCBjaGFyKiBzZWN0aW9uTmFtZSkKIHsKLSAgICAKICAgICBTdGF0ZSYg
c3RhdGUgPSAqc3RhdGljX2Nhc3Q8U3RhdGUqPihvcGFxdWVTdGF0ZSk7CiAgICAgCiAgICAgUkVM
RUFTRV9BU1NFUlQoYWxpZ25tZW50IDw9IGppdEFsbG9jYXRpb25HcmFudWxlKTsKQEAgLTU4LDYg
KzU4LDExIEBAIHN0YXRpYyB1aW50OF90KiBtbUFsbG9jYXRlQ29kZVNlY3Rpb24oCiAgICAgICAg
IHN0YXRlLmdyYXBoLm1fdm0uZXhlY3V0YWJsZUFsbG9jYXRvci5hbGxvY2F0ZSgKICAgICAgICAg
ICAgIHN0YXRlLmdyYXBoLm1fdm0sIHNpemUsIHN0YXRlLmdyYXBoLm1fY29kZUJsb2NrLCBKSVRD
b21waWxhdGlvbk11c3RTdWNjZWVkKTsKICAgICAKKyAgICBpZiAoIXN0cmNtcChzZWN0aW9uTmFt
ZSwgIl9fY29tcGFjdF91bndpbmQiKSkgeworICAgICAgICBzdGF0ZS5jb21wYWN0VW53aW5kID0g
cmVzdWx0LT5zdGFydCgpOworICAgICAgICBzdGF0ZS5jb21wYWN0VW53aW5kU2l6ZSA9IHJlc3Vs
dC0+c2l6ZUluQnl0ZXMoKTsKKyAgICB9CisgICAgCiAgICAgc3RhdGUuaml0Q29kZS0+YWRkSGFu
ZGxlKHJlc3VsdCk7CiAgICAgc3RhdGUuY29kZVNlY3Rpb25OYW1lcy5hcHBlbmQoc2VjdGlvbk5h
bWUpOwogICAgIApAQCAtMTQ5LDggKzE1NCw2MyBAQCBzdGF0aWMgdm9pZCBmaXhGdW5jdGlvbkJh
c2VkT25TdGFja01hcHMoCiAgICAgU3RhdGUmIHN0YXRlLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywg
SklUQ29kZSogaml0Q29kZSwgR2VuZXJhdGVkRnVuY3Rpb24gZ2VuZXJhdGVkRnVuY3Rpb24sCiAg
ICAgU3RhY2tNYXBzOjpSZWNvcmRNYXAmIHJlY29yZE1hcCkKIHsKLSAgICBWTSYgdm0gPSBzdGF0
ZS5ncmFwaC5tX3ZtOworICAgIEdyYXBoJiBncmFwaCA9IHN0YXRlLmdyYXBoOworICAgIFZNJiB2
bSA9IGdyYXBoLm1fdm07CiAgICAgU3RhY2tNYXBzIHN0YWNrbWFwcyA9IGppdENvZGUtPnN0YWNr
bWFwczsKKyAgICAKKyAgICBTdGFja01hcHM6OlJlY29yZE1hcDo6aXRlcmF0b3IgaXRlciA9IHJl
Y29yZE1hcC5maW5kKHN0YXRlLmNhcHR1cmVkU3RhY2ttYXBJRCk7CisgICAgUkVMRUFTRV9BU1NF
UlQoaXRlciAhPSByZWNvcmRNYXAuZW5kKCkpOworICAgIFJFTEVBU0VfQVNTRVJUKGl0ZXItPnZh
bHVlLmxvY2F0aW9ucy5zaXplKCkgPT0gMSk7CisgICAgTG9jYXRpb24gY2FwdHVyZWRMb2NhdGlv
biA9CisgICAgICAgIExvY2F0aW9uOjpmb3JTdGFja21hcHMoJmppdENvZGUtPnN0YWNrbWFwcywg
aXRlci0+dmFsdWUubG9jYXRpb25zWzBdKTsKKyAgICBSRUxFQVNFX0FTU0VSVChjYXB0dXJlZExv
Y2F0aW9uLmtpbmQoKSA9PSBMb2NhdGlvbjo6UmVnaXN0ZXIpOworICAgIFJFTEVBU0VfQVNTRVJU
KGNhcHR1cmVkTG9jYXRpb24uZ3ByKCkgPT0gR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwor
ICAgIFJFTEVBU0VfQVNTRVJUKCEoY2FwdHVyZWRMb2NhdGlvbi5hZGRlbmQoKSAlIHNpemVvZihS
ZWdpc3RlcikpKTsKKyAgICBpbnQzMl90IGxvY2Fsc09mZnNldCA9IGNhcHR1cmVkTG9jYXRpb24u
YWRkZW5kKCkgLyBzaXplb2YoUmVnaXN0ZXIpICsgZ3JhcGgubV9uZXh0TWFjaGluZUxvY2FsOwor
ICAgIAorICAgIGZvciAodW5zaWduZWQgaSA9IGdyYXBoLm1faW5saW5lVmFyaWFibGVEYXRhLnNp
emUoKTsgaS0tOykgeworICAgICAgICBJbmxpbmVDYWxsRnJhbWUqIGlubGluZUNhbGxGcmFtZSA9
IGdyYXBoLm1faW5saW5lVmFyaWFibGVEYXRhW2ldLmlubGluZUNhbGxGcmFtZTsKKyAgICAgICAg
CisgICAgICAgIGlmIChpbmxpbmVDYWxsRnJhbWUtPmFyZ3VtZW50c1JlZ2lzdGVyLmlzVmFsaWQo
KSkgeworICAgICAgICAgICAgaW5saW5lQ2FsbEZyYW1lLT5hcmd1bWVudHNSZWdpc3RlciA9IFZp
cnR1YWxSZWdpc3RlcigKKyAgICAgICAgICAgICAgICBpbmxpbmVDYWxsRnJhbWUtPmFyZ3VtZW50
c1JlZ2lzdGVyLm9mZnNldCgpICsgbG9jYWxzT2Zmc2V0KTsKKyAgICAgICAgfQorICAgICAgICAK
KyAgICAgICAgZm9yICh1bnNpZ25lZCBhcmd1bWVudCA9IGlubGluZUNhbGxGcmFtZS0+YXJndW1l
bnRzLnNpemUoKTsgYXJndW1lbnQtLSA+IDE7KSB7CisgICAgICAgICAgICBpbmxpbmVDYWxsRnJh
bWUtPmFyZ3VtZW50c1thcmd1bWVudF0gPQorICAgICAgICAgICAgICAgIGlubGluZUNhbGxGcmFt
ZS0+YXJndW1lbnRzW2FyZ3VtZW50XS53aXRoTG9jYWxzT2Zmc2V0KGxvY2Fsc09mZnNldCk7Cisg
ICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlmIChpbmxpbmVDYWxsRnJhbWUtPmlzQ2xvc3Vy
ZUNhbGwpIHsKKyAgICAgICAgICAgIGlubGluZUNhbGxGcmFtZS0+Y2FsbGVlUmVjb3ZlcnkgPQor
ICAgICAgICAgICAgICAgIGlubGluZUNhbGxGcmFtZS0+Y2FsbGVlUmVjb3Zlcnkud2l0aExvY2Fs
c09mZnNldChsb2NhbHNPZmZzZXQpOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIGlmIChj
b2RlQmxvY2stPnVzZXNBcmd1bWVudHMoKSkgeworICAgICAgICBjb2RlQmxvY2stPnNldEFyZ3Vt
ZW50c1JlZ2lzdGVyKAorICAgICAgICAgICAgVmlydHVhbFJlZ2lzdGVyKGNvZGVCbG9jay0+YXJn
dW1lbnRzUmVnaXN0ZXIoKS5vZmZzZXQoKSArIGxvY2Fsc09mZnNldCkpOworICAgIH0KKworICAg
IHsKKyAgICAgICAgQ0NhbGxIZWxwZXJzIGNoZWNrSklUKCZ2bSwgY29kZUJsb2NrKTsKKyAgICAg
ICAgCisgICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgaXQncyBwZXJmZWN0bHkgZmFpciB0byBqdXN0
IGJsb3cgYXdheSBhbGwgc3RhdGUgYW5kIHJlc3RvcmUgdGhlCisgICAgICAgIC8vIEpTIEpJVCB2
aWV3IG9mIHRoZSB1bml2ZXJzZS4KKyAgICAgICAgY2hlY2tKSVQubW92ZShNYWNyb0Fzc2VtYmxl
cjo6VHJ1c3RlZEltbTY0KFRhZ1R5cGVOdW1iZXIpLCBHUFJJbmZvOjp0YWdUeXBlTnVtYmVyUmVn
aXN0ZXIpOworICAgICAgICBjaGVja0pJVC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
NjQoVGFnTWFzayksIEdQUkluZm86OnRhZ01hc2tSZWdpc3Rlcik7CisgICAgICAgIAorICAgICAg
ICBjaGVja0pJVC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKCZ2bSksIEdQUklu
Zm86OmFyZ3VtZW50R1BSMCk7CisgICAgICAgIGNoZWNrSklULm1vdmUoR1BSSW5mbzo6Y2FsbEZy
YW1lUmVnaXN0ZXIsIEdQUkluZm86OmFyZ3VtZW50R1BSMSk7CisgICAgICAgIE1hY3JvQXNzZW1i
bGVyOjpDYWxsIGNhbGwgPSBjaGVja0pJVC5jYWxsKCk7CisgICAgICAgIGNoZWNrSklULmp1bXBU
b0V4Y2VwdGlvbkhhbmRsZXIoKTsKKyAgICAgICAgCisgICAgICAgIE93blB0cjxMaW5rQnVmZmVy
PiBsaW5rQnVmZmVyID0gYWRvcHRQdHIobmV3IExpbmtCdWZmZXIoCisgICAgICAgICAgICB2bSwg
JmNoZWNrSklULCBjb2RlQmxvY2ssIEpJVENvbXBpbGF0aW9uTXVzdFN1Y2NlZWQpKTsKKyAgICAg
ICAgbGlua0J1ZmZlci0+bGluayhjYWxsLCBGdW5jdGlvblB0cihsb29rdXBFeGNlcHRpb25IYW5k
bGVyKSk7CisgICAgICAgIAorICAgICAgICBzdGF0ZS5maW5hbGl6ZXItPmhhbmRsZUV4Y2VwdGlv
bnNMaW5rQnVmZmVyID0gbGlua0J1ZmZlci5yZWxlYXNlKCk7CisgICAgfQogCiAgICAgRXhpdFRo
dW5rR2VuZXJhdG9yIGV4aXRUaHVua0dlbmVyYXRvcihzdGF0ZSk7CiAgICAgZXhpdFRodW5rR2Vu
ZXJhdG9yLmVtaXRUaHVua3MoKTsKQEAgLTE2NiwxNiArMjI2LDMwIEBAIHN0YXRpYyB2b2lkIGZp
eEZ1bmN0aW9uQmFzZWRPblN0YWNrTWFwcygKICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYg
KE9wdGlvbnM6OnZlcmJvc2VDb21waWxhdGlvbigpKQogICAgICAgICAgICAgICAgIGRhdGFMb2co
IkhhbmRsaW5nIE9TUiBzdGFja21hcCAjIiwgZXhpdC5tX3N0YWNrbWFwSUQsICIgZm9yICIsIGV4
aXQubV9jb2RlT3JpZ2luLCAiXG4iKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgU3RhY2tN
YXBzOjpSZWNvcmRNYXA6Oml0ZXJhdG9yIGl0ZXIgPSByZWNvcmRNYXAuZmluZChleGl0Lm1fc3Rh
Y2ttYXBJRCk7CisKKyAgICAgICAgICAgIGl0ZXIgPSByZWNvcmRNYXAuZmluZChleGl0Lm1fc3Rh
Y2ttYXBJRCk7CiAgICAgICAgICAgICBpZiAoaXRlciA9PSByZWNvcmRNYXAuZW5kKCkpIHsKICAg
ICAgICAgICAgICAgICAvLyBJdCB3YXMgb3B0aW1pemVkIG91dC4KICAgICAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAogICAgICAgICAgICAgaW5mby5t
X3RodW5rQWRkcmVzcyA9IGxpbmtCdWZmZXItPmxvY2F0aW9uT2YoaW5mby5tX3RodW5rTGFiZWwp
OwotICAgICAgICAgICAgCiAgICAgICAgICAgICBleGl0Lm1fcGF0Y2hhYmxlQ29kZU9mZnNldCA9
IGxpbmtCdWZmZXItPm9mZnNldE9mKGluZm8ubV90aHVua0p1bXApOworICAgICAgICAgICAgCisg
ICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSBleGl0Lm1fdmFsdWVzLnNpemUoKTsgai0tOykg
eworICAgICAgICAgICAgICAgIEV4aXRWYWx1ZSB2YWx1ZSA9IGV4aXQubV92YWx1ZXNbal07Cisg
ICAgICAgICAgICAgICAgaWYgKCF2YWx1ZS5pc0luSlNTdGFja1NvbWVob3coKSkKKyAgICAgICAg
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZS52aXJ0dWFs
UmVnaXN0ZXIoKS5pc0xvY2FsKCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAgICAgICAgIGV4aXQubV92YWx1ZXNbal0gPSB2YWx1ZS53aXRoVmlydHVhbFJlZ2lzdGVy
KAorICAgICAgICAgICAgICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIodmFsdWUudmlydHVhbFJlZ2lz
dGVyKCkub2Zmc2V0KCkgKyBsb2NhbHNPZmZzZXQpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VDb21waWxhdGlvbigpKSB7Cisg
ICAgICAgICAgICAgICAgRHVtcENvbnRleHQgY29udGV4dDsKKyAgICAgICAgICAgICAgICBkYXRh
TG9nKCIgICAgRXhpdCB2YWx1ZXM6ICIsIGluQ29udGV4dChleGl0Lm1fdmFsdWVzLCAmY29udGV4
dCksICJcbiIpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBz
dGF0ZS5maW5hbGl6ZXItPmV4aXRUaHVua3NMaW5rQnVmZmVyID0gbGlua0J1ZmZlci5yZWxlYXNl
KCk7CkBAIC0xODQsMTMgKzI1OCwxNSBAQCBzdGF0aWMgdm9pZCBmaXhGdW5jdGlvbkJhc2VkT25T
dGFja01hcHMoCiAgICAgaWYgKCFzdGF0ZS5nZXRCeUlkcy5pc0VtcHR5KCkgfHwgIXN0YXRlLnB1
dEJ5SWRzLmlzRW1wdHkoKSkgewogICAgICAgICBDQ2FsbEhlbHBlcnMgc2xvd1BhdGhKSVQoJnZt
LCBjb2RlQmxvY2spOwogICAgICAgICAKKyAgICAgICAgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBl
eGNlcHRpb25UYXJnZXQ7CisgICAgICAgIAogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGF0
ZS5nZXRCeUlkcy5zaXplKCk7IGktLTspIHsKICAgICAgICAgICAgIEdldEJ5SWREZXNjcmlwdG9y
JiBnZXRCeUlkID0gc3RhdGUuZ2V0QnlJZHNbaV07CiAgICAgICAgICAgICAKICAgICAgICAgICAg
IGlmIChPcHRpb25zOjp2ZXJib3NlQ29tcGlsYXRpb24oKSkKICAgICAgICAgICAgICAgICBkYXRh
TG9nKCJIYW5kbGluZyBHZXRCeUlkIHN0YWNrbWFwICMiLCBnZXRCeUlkLnN0YWNrbWFwSUQoKSwg
IlxuIik7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIFN0YWNrTWFwczo6UmVjb3JkTWFwOjpp
dGVyYXRvciBpdGVyID0gcmVjb3JkTWFwLmZpbmQoZ2V0QnlJZC5zdGFja21hcElEKCkpOworICAg
ICAgICAgICAgaXRlciA9IHJlY29yZE1hcC5maW5kKGdldEJ5SWQuc3RhY2ttYXBJRCgpKTsKICAg
ICAgICAgICAgIGlmIChpdGVyID09IHJlY29yZE1hcC5lbmQoKSkgewogICAgICAgICAgICAgICAg
IC8vIEl0IHdhcyBvcHRpbWl6ZWQgb3V0LgogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAt
MjAyLDE4ICsyNzgsMTcgQEAgc3RhdGljIHZvaWQgZml4RnVuY3Rpb25CYXNlZE9uU3RhY2tNYXBz
KAogICAgICAgICAgICAgUmVnaXN0ZXJTZXQgdXNlZFJlZ2lzdGVycyA9IFJlZ2lzdGVyU2V0Ojph
bGxSZWdpc3RlcnMoKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgR1BSUmVnIHJlc3VsdCA9
IHJlY29yZC5sb2NhdGlvbnNbMF0uZGlyZWN0R1BSKCk7Ci0gICAgICAgICAgICBHUFJSZWcgY2Fs
bEZyYW1lUmVnaXN0ZXIgPSByZWNvcmQubG9jYXRpb25zWzFdLmRpcmVjdEdQUigpOwotICAgICAg
ICAgICAgR1BSUmVnIGJhc2UgPSByZWNvcmQubG9jYXRpb25zWzJdLmRpcmVjdEdQUigpOworICAg
ICAgICAgICAgR1BSUmVnIGJhc2UgPSByZWNvcmQubG9jYXRpb25zWzFdLmRpcmVjdEdQUigpOwog
ICAgICAgICAgICAgCiAgICAgICAgICAgICBKSVRHZXRCeUlkR2VuZXJhdG9yIGdlbigKLSAgICAg
ICAgICAgICAgICBjb2RlQmxvY2ssIGdldEJ5SWQuY29kZU9yaWdpbigpLCB1c2VkUmVnaXN0ZXJz
LCBjYWxsRnJhbWVSZWdpc3RlciwKLSAgICAgICAgICAgICAgICBKU1ZhbHVlUmVncyhiYXNlKSwg
SlNWYWx1ZVJlZ3MocmVzdWx0KSwgZmFsc2UpOworICAgICAgICAgICAgICAgIGNvZGVCbG9jaywg
Z2V0QnlJZC5jb2RlT3JpZ2luKCksIHVzZWRSZWdpc3RlcnMsIEpTVmFsdWVSZWdzKGJhc2UpLAor
ICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzKHJlc3VsdCksIGZhbHNlKTsKICAgICAgICAgICAg
IAogICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIGJlZ2luID0gc2xvd1BhdGhKSVQu
bGFiZWwoKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
Y2FsbCA9IGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICAgICAgc3RhdGUsIHVzZWRSZWdpc3Rl
cnMsIHNsb3dQYXRoSklULCBvcGVyYXRpb25HZXRCeUlkT3B0aW1pemUsIHJlc3VsdCwKLSAgICAg
ICAgICAgICAgICBjYWxsRnJhbWVSZWdpc3RlciwgZ2VuLnN0dWJJbmZvKCksIGJhc2UsIGdldEJ5
SWQudWlkKCkpOworICAgICAgICAgICAgICAgIHN0YXRlLCB1c2VkUmVnaXN0ZXJzLCBzbG93UGF0
aEpJVCwgZ2V0QnlJZC5jb2RlT3JpZ2luKCksICZleGNlcHRpb25UYXJnZXQsCisgICAgICAgICAg
ICAgICAgb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplLCByZXN1bHQsIGdlbi5zdHViSW5mbygpLCBi
YXNlLCBnZXRCeUlkLnVpZCgpKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgZ2VuLnJlcG9y
dFNsb3dQYXRoQ2FsbChiZWdpbiwgY2FsbCk7CiAgICAgICAgICAgICAKQEAgLTIyNyw3ICszMDIs
NyBAQCBzdGF0aWMgdm9pZCBmaXhGdW5jdGlvbkJhc2VkT25TdGFja01hcHMoCiAgICAgICAgICAg
ICBpZiAoT3B0aW9uczo6dmVyYm9zZUNvbXBpbGF0aW9uKCkpCiAgICAgICAgICAgICAgICAgZGF0
YUxvZygiSGFuZGxpbmcgUHV0QnlJZCBzdGFja21hcCAjIiwgcHV0QnlJZC5zdGFja21hcElEKCks
ICJcbiIpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBTdGFja01hcHM6OlJlY29yZE1hcDo6
aXRlcmF0b3IgaXRlciA9IHJlY29yZE1hcC5maW5kKHB1dEJ5SWQuc3RhY2ttYXBJRCgpKTsKKyAg
ICAgICAgICAgIGl0ZXIgPSByZWNvcmRNYXAuZmluZChwdXRCeUlkLnN0YWNrbWFwSUQoKSk7CiAg
ICAgICAgICAgICBpZiAoaXRlciA9PSByZWNvcmRNYXAuZW5kKCkpIHsKICAgICAgICAgICAgICAg
ICAvLyBJdCB3YXMgb3B0aW1pemVkIG91dC4KICAgICAgICAgICAgICAgICBjb250aW51ZTsKQEAg
LTIzOCwyMCArMzEzLDE5IEBAIHN0YXRpYyB2b2lkIGZpeEZ1bmN0aW9uQmFzZWRPblN0YWNrTWFw
cygKICAgICAgICAgICAgIC8vIEZJWE1FOiBMTFZNIHNob3VsZCB0ZWxsIHVzIHdoaWNoIHJlZ2lz
dGVycyBhcmUgbGl2ZS4KICAgICAgICAgICAgIFJlZ2lzdGVyU2V0IHVzZWRSZWdpc3RlcnMgPSBS
ZWdpc3RlclNldDo6YWxsUmVnaXN0ZXJzKCk7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIEdQ
UlJlZyBjYWxsRnJhbWVSZWdpc3RlciA9IHJlY29yZC5sb2NhdGlvbnNbMF0uZGlyZWN0R1BSKCk7
Ci0gICAgICAgICAgICBHUFJSZWcgYmFzZSA9IHJlY29yZC5sb2NhdGlvbnNbMV0uZGlyZWN0R1BS
KCk7Ci0gICAgICAgICAgICBHUFJSZWcgdmFsdWUgPSByZWNvcmQubG9jYXRpb25zWzJdLmRpcmVj
dEdQUigpOworICAgICAgICAgICAgR1BSUmVnIGJhc2UgPSByZWNvcmQubG9jYXRpb25zWzBdLmRp
cmVjdEdQUigpOworICAgICAgICAgICAgR1BSUmVnIHZhbHVlID0gcmVjb3JkLmxvY2F0aW9uc1sx
XS5kaXJlY3RHUFIoKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgSklUUHV0QnlJZEdlbmVy
YXRvciBnZW4oCi0gICAgICAgICAgICAgICAgY29kZUJsb2NrLCBwdXRCeUlkLmNvZGVPcmlnaW4o
KSwgdXNlZFJlZ2lzdGVycywgY2FsbEZyYW1lUmVnaXN0ZXIsCi0gICAgICAgICAgICAgICAgSlNW
YWx1ZVJlZ3MoYmFzZSksIEpTVmFsdWVSZWdzKHZhbHVlKSwgTWFjcm9Bc3NlbWJsZXI6OnNjcmF0
Y2hSZWdpc3RlciwKLSAgICAgICAgICAgICAgICBmYWxzZSwgcHV0QnlJZC5lY21hTW9kZSgpLCBw
dXRCeUlkLnB1dEtpbmQoKSk7CisgICAgICAgICAgICAgICAgY29kZUJsb2NrLCBwdXRCeUlkLmNv
ZGVPcmlnaW4oKSwgdXNlZFJlZ2lzdGVycywgSlNWYWx1ZVJlZ3MoYmFzZSksCisgICAgICAgICAg
ICAgICAgSlNWYWx1ZVJlZ3ModmFsdWUpLCBNYWNyb0Fzc2VtYmxlcjo6c2NyYXRjaFJlZ2lzdGVy
LCBmYWxzZSwgcHV0QnlJZC5lY21hTW9kZSgpLAorICAgICAgICAgICAgICAgIHB1dEJ5SWQucHV0
S2luZCgpKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IGJlZ2luID0gc2xvd1BhdGhKSVQubGFiZWwoKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbCA9IGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICAg
ICAgc3RhdGUsIHVzZWRSZWdpc3RlcnMsIHNsb3dQYXRoSklULCBnZW4uc2xvd1BhdGhGdW5jdGlv
bigpLCBjYWxsRnJhbWVSZWdpc3RlciwKLSAgICAgICAgICAgICAgICBnZW4uc3R1YkluZm8oKSwg
dmFsdWUsIGJhc2UsIHB1dEJ5SWQudWlkKCkpOworICAgICAgICAgICAgICAgIHN0YXRlLCB1c2Vk
UmVnaXN0ZXJzLCBzbG93UGF0aEpJVCwgcHV0QnlJZC5jb2RlT3JpZ2luKCksICZleGNlcHRpb25U
YXJnZXQsCisgICAgICAgICAgICAgICAgZ2VuLnNsb3dQYXRoRnVuY3Rpb24oKSwgZ2VuLnN0dWJJ
bmZvKCksIHZhbHVlLCBiYXNlLCBwdXRCeUlkLnVpZCgpKTsKICAgICAgICAgICAgIAogICAgICAg
ICAgICAgZ2VuLnJlcG9ydFNsb3dQYXRoQ2FsbChiZWdpbiwgY2FsbCk7CiAgICAgICAgICAgICAK
QEAgLTI1OSw4ICszMzMsMTMgQEAgc3RhdGljIHZvaWQgZml4RnVuY3Rpb25CYXNlZE9uU3RhY2tN
YXBzKAogICAgICAgICAgICAgcHV0QnlJZC5tX2dlbmVyYXRvciA9IGdlbjsKICAgICAgICAgfQog
ICAgICAgICAKKyAgICAgICAgZXhjZXB0aW9uVGFyZ2V0LmxpbmsoJnNsb3dQYXRoSklUKTsKKyAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgZXhjZXB0aW9uSnVtcCA9IHNsb3dQYXRoSklULmp1
bXAoKTsKKyAgICAgICAgCiAgICAgICAgIHN0YXRlLmZpbmFsaXplci0+c2lkZUNvZGVMaW5rQnVm
ZmVyID0gYWRvcHRQdHIoCiAgICAgICAgICAgICBuZXcgTGlua0J1ZmZlcih2bSwgJnNsb3dQYXRo
SklULCBjb2RlQmxvY2ssIEpJVENvbXBpbGF0aW9uTXVzdFN1Y2NlZWQpKTsKKyAgICAgICAgc3Rh
dGUuZmluYWxpemVyLT5zaWRlQ29kZUxpbmtCdWZmZXItPmxpbmsoCisgICAgICAgICAgICBleGNl
cHRpb25KdW1wLCBzdGF0ZS5maW5hbGl6ZXItPmhhbmRsZUV4Y2VwdGlvbnNMaW5rQnVmZmVyLT5l
bnRyeXBvaW50KCkpOwogICAgICAgICAKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhdGUu
Z2V0QnlJZHMuc2l6ZSgpOyBpLS07KSB7CiAgICAgICAgICAgICBnZW5lcmF0ZUlDRmFzdFBhdGgo
CkBAIC0yNzQsMjggKzM1Myw4MSBAQCBzdGF0aWMgdm9pZCBmaXhGdW5jdGlvbkJhc2VkT25TdGFj
a01hcHMoCiAgICAgICAgIH0KICAgICB9CiAgICAgCi0gICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNo
QnVmZmVyKGNvZGVCbG9jayk7Ci0gICAgCi0gICAgZm9yICh1bnNpZ25lZCBleGl0SW5kZXggPSBq
aXRDb2RlLT5vc3JFeGl0LnNpemUoKTsgZXhpdEluZGV4LS07KSB7Ci0gICAgICAgIE9TUkV4aXRD
b21waWxhdGlvbkluZm8mIGluZm8gPSBzdGF0ZS5maW5hbGl6ZXItPm9zckV4aXRbZXhpdEluZGV4
XTsKLSAgICAgICAgT1NSRXhpdCYgZXhpdCA9IGppdENvZGUtPm9zckV4aXRbZXhpdEluZGV4XTsK
LSAgICAgICAgU3RhY2tNYXBzOjpSZWNvcmRNYXA6Oml0ZXJhdG9yIGl0ZXIgPSByZWNvcmRNYXAu
ZmluZChleGl0Lm1fc3RhY2ttYXBJRCk7CisgICAgLy8gSGFuZGxpbmcgSlMgY2FsbHMgaXMgd2Vp
cmQ6IHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgd2Ugc29ydCB0aGVtIGJ5IHRoZSBQQyBpbiBMTFZN
CisgICAgLy8gZ2VuZXJhdGVkIGNvZGUuIFRoYXQgaW1wbGllcyBmaXJzdCBwcnVuaW5nIHRoZSBv
bmVzIHRoYXQgTExWTSBkaWRuJ3QgZ2VuZXJhdGUuCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IHN0YXRlLmpzQ2FsbHMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgSlNDYWxsJiBjYWxsID0g
c3RhdGUuanNDYWxsc1tpXTsKKyAgICAgICAgCisgICAgICAgIFN0YWNrTWFwczo6UmVjb3JkTWFw
OjppdGVyYXRvciBpdGVyID0gcmVjb3JkTWFwLmZpbmQoY2FsbC5zdGFja21hcElEKCkpOwogICAg
ICAgICBpZiAoaXRlciA9PSByZWNvcmRNYXAuZW5kKCkpIHsKLSAgICAgICAgICAgIC8vIFRoaXMg
Y291bGQgaGFwcGVuIGlmIExMVk0gb3B0aW1pemVzIG91dCBhbiBPU1IgZXhpdC4KKyAgICAgICAg
ICAgIC8vIEl0IHdhcyBvcHRpbWl6ZWQgb3V0LiBQcnVuZSBpdC4KKyAgICAgICAgICAgIGNhbGwg
PSBzdGF0ZS5qc0NhbGxzLmxhc3QoKTsKKyAgICAgICAgICAgIHN0YXRlLmpzQ2FsbHMucmVtb3Zl
TGFzdCgpOworICAgICAgICAgICAgaS0tOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
IH0KICAgICAgICAgCisgICAgICAgIGNhbGwubV9pbnN0cnVjdGlvbk9mZnNldCA9IGl0ZXItPnZh
bHVlLmluc3RydWN0aW9uT2Zmc2V0OworICAgIH0KKyAgICAKKyAgICBzdGQ6OnNvcnQoc3RhdGUu
anNDYWxscy5iZWdpbigpLCBzdGF0ZS5qc0NhbGxzLmVuZCgpKTsKKyAgICAKKyAgICBjb2RlQmxv
Y2stPnNldE51bWJlck9mQ2FsbExpbmtJbmZvcyhzdGF0ZS5qc0NhbGxzLnNpemUoKSk7CisgICAg
Zm9yICh1bnNpZ25lZCBpID0gc3RhdGUuanNDYWxscy5zaXplKCk7IGktLTspIHsKKyAgICAgICAg
SlNDYWxsJiBjYWxsID0gc3RhdGUuanNDYWxsc1tpXTsKKworICAgICAgICBDQ2FsbEhlbHBlcnMg
ZmFzdFBhdGhKSVQoJnZtLCBjb2RlQmxvY2spOworICAgICAgICBjYWxsLmVtaXQoZmFzdFBhdGhK
SVQpOworICAgICAgICAKKyAgICAgICAgY2hhciogc3RhcnRPZklDID0gYml0d2lzZV9jYXN0PGNo
YXIqPihnZW5lcmF0ZWRGdW5jdGlvbikgKyBjYWxsLm1faW5zdHJ1Y3Rpb25PZmZzZXQ7CisgICAg
ICAgIAorICAgICAgICBMaW5rQnVmZmVyIGxpbmtCdWZmZXIodm0sICZmYXN0UGF0aEpJVCwgc3Rh
cnRPZklDLCBzaXplT2ZDYWxsKCkpOworICAgICAgICBSRUxFQVNFX0FTU0VSVChsaW5rQnVmZmVy
LmlzVmFsaWQoKSk7CisgICAgICAgIAorICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QXNzZW1ibGVy
VHlwZV9UOjpmaWxsTm9wcygKKyAgICAgICAgICAgIHN0YXJ0T2ZJQyArIGxpbmtCdWZmZXIuc2l6
ZSgpLCBzaXplT2ZDYWxsKCkgLSBsaW5rQnVmZmVyLnNpemUoKSk7CisgICAgICAgIAorICAgICAg
ICBDYWxsTGlua0luZm8mIGluZm8gPSBjb2RlQmxvY2stPmNhbGxMaW5rSW5mbyhpKTsKKyAgICAg
ICAgY2FsbC5saW5rKHZtLCBsaW5rQnVmZmVyLCBpbmZvKTsKKyAgICB9CisgICAgCisgICAgUmVw
YXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVyKGNvZGVCbG9jayk7CisgICAgCisgICAgaXRlciA9IHJl
Y29yZE1hcC5maW5kKHN0YXRlLmhhbmRsZUV4Y2VwdGlvblN0YWNrbWFwSUQpOworICAgIC8vIEl0
J3Mgc29ydCBvZiByZW1vdGVseSBwb3NzaWJsZSB0aGF0IHdlIHdvbid0IGhhdmUgYW4gaW4tYmFu
ZCBleGNlcHRpb24gaGFuZGxpbmcKKyAgICAvLyBwYXRoLCBmb3Igc29tZSBraW5kcyBvZiBmdW5j
dGlvbnMuCisgICAgaWYgKGl0ZXIgIT0gcmVjb3JkTWFwLmVuZCgpKSB7CiAgICAgICAgIFN0YWNr
TWFwczo6UmVjb3JkJiByZWNvcmQgPSBpdGVyLT52YWx1ZTsKICAgICAgICAgCiAgICAgICAgIENv
ZGVMb2NhdGlvbkxhYmVsIHNvdXJjZSA9IENvZGVMb2NhdGlvbkxhYmVsKAogICAgICAgICAgICAg
Yml0d2lzZV9jYXN0PGNoYXIqPihnZW5lcmF0ZWRGdW5jdGlvbikgKyByZWNvcmQuaW5zdHJ1Y3Rp
b25PZmZzZXQpOworCisgICAgICAgIHJlcGF0Y2hCdWZmZXIucmVwbGFjZVdpdGhKdW1wKHNvdXJj
ZSwgc3RhdGUuZmluYWxpemVyLT5oYW5kbGVFeGNlcHRpb25zTGlua0J1ZmZlci0+ZW50cnlwb2lu
dCgpKTsKKyAgICB9CisgICAgCisgICAgZm9yICh1bnNpZ25lZCBleGl0SW5kZXggPSAwOyBleGl0
SW5kZXggPCBqaXRDb2RlLT5vc3JFeGl0LnNpemUoKTsgKytleGl0SW5kZXgpIHsKKyAgICAgICAg
T1NSRXhpdENvbXBpbGF0aW9uSW5mbyYgaW5mbyA9IHN0YXRlLmZpbmFsaXplci0+b3NyRXhpdFtl
eGl0SW5kZXhdOworICAgICAgICBPU1JFeGl0JiBleGl0ID0gaml0Q29kZS0+b3NyRXhpdFtleGl0
SW5kZXhdOworICAgICAgICBpdGVyID0gcmVjb3JkTWFwLmZpbmQoZXhpdC5tX3N0YWNrbWFwSUQp
OwogICAgICAgICAKLSAgICAgICAgaWYgKGluZm8ubV9pc0ludmFsaWRhdGlvblBvaW50KSB7Ci0g
ICAgICAgICAgICBqaXRDb2RlLT5jb21tb24uanVtcFJlcGxhY2VtZW50cy5hcHBlbmQoSnVtcFJl
cGxhY2VtZW50KHNvdXJjZSwgaW5mby5tX3RodW5rQWRkcmVzcykpOwotICAgICAgICAgICAgY29u
dGludWU7CisgICAgICAgIFZlY3Rvcjxjb25zdCB2b2lkKj4gY29kZUFkZHJlc3NlczsKKyAgICAg
ICAgCisgICAgICAgIGlmIChpdGVyICE9IHJlY29yZE1hcC5lbmQoKSkgeworICAgICAgICAgICAg
U3RhY2tNYXBzOjpSZWNvcmQmIHJlY29yZCA9IGl0ZXItPnZhbHVlOworICAgICAgICAgICAgCisg
ICAgICAgICAgICBDb2RlTG9jYXRpb25MYWJlbCBzb3VyY2UgPSBDb2RlTG9jYXRpb25MYWJlbCgK
KyAgICAgICAgICAgICAgICBiaXR3aXNlX2Nhc3Q8Y2hhcio+KGdlbmVyYXRlZEZ1bmN0aW9uKSAr
IHJlY29yZC5pbnN0cnVjdGlvbk9mZnNldCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGNv
ZGVBZGRyZXNzZXMuYXBwZW5kKGJpdHdpc2VfY2FzdDxjaGFyKj4oZ2VuZXJhdGVkRnVuY3Rpb24p
ICsgcmVjb3JkLmluc3RydWN0aW9uT2Zmc2V0ICsgTWFjcm9Bc3NlbWJsZXI6Om1heEp1bXBSZXBs
YWNlbWVudFNpemUoKSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChpbmZvLm1faXNJ
bnZhbGlkYXRpb25Qb2ludCkKKyAgICAgICAgICAgICAgICBqaXRDb2RlLT5jb21tb24uanVtcFJl
cGxhY2VtZW50cy5hcHBlbmQoSnVtcFJlcGxhY2VtZW50KHNvdXJjZSwgaW5mby5tX3RodW5rQWRk
cmVzcykpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJlcGF0Y2hCdWZmZXIu
cmVwbGFjZVdpdGhKdW1wKHNvdXJjZSwgaW5mby5tX3RodW5rQWRkcmVzcyk7CiAgICAgICAgIH0K
ICAgICAgICAgCi0gICAgICAgIHJlcGF0Y2hCdWZmZXIucmVwbGFjZVdpdGhKdW1wKHNvdXJjZSwg
aW5mby5tX3RodW5rQWRkcmVzcyk7CisgICAgICAgIGlmIChncmFwaC5jb21waWxhdGlvbigpKQor
ICAgICAgICAgICAgZ3JhcGguY29tcGlsYXRpb24oKS0+YWRkT1NSRXhpdFNpdGUoY29kZUFkZHJl
c3Nlcyk7CiAgICAgfQogfQogCkBAIC0zNzMsNyArNTA1LDcgQEAgdm9pZCBjb21waWxlKFN0YXRl
JiBzdGF0ZSkKICAgICAgICAgICAgIEV4ZWN1dGFibGVNZW1vcnlIYW5kbGUqIGhhbmRsZSA9IHN0
YXRlLmppdENvZGUtPmhhbmRsZXMoKVtpXS5nZXQoKTsKICAgICAgICAgICAgIGRhdGFMb2coCiAg
ICAgICAgICAgICAgICAgIkdlbmVyYXRlZCBMTFZNIGNvZGUgZm9yICIsCi0gICAgICAgICAgICAg
ICAgQ29kZUJsb2NrV2l0aEpJVFR5cGUoc3RhdGUuZ3JhcGgubV9jb2RlQmxvY2ssIEpJVENvZGU6
OkRGR0pJVCksCisgICAgICAgICAgICAgICAgQ29kZUJsb2NrV2l0aEpJVFR5cGUoc3RhdGUuZ3Jh
cGgubV9jb2RlQmxvY2ssIEpJVENvZGU6OkZUTEpJVCksCiAgICAgICAgICAgICAgICAgIiAjIiwg
aSwgIiwgIiwgc3RhdGUuY29kZVNlY3Rpb25OYW1lc1tpXSwgIjpcbiIpOwogICAgICAgICAgICAg
ZGlzYXNzZW1ibGUoCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyKGhhbmRs
ZS0+c3RhcnQoKSksIGhhbmRsZS0+c2l6ZUluQnl0ZXMoKSwKQEAgLTM4NCwxNyArNTE2LDIyIEBA
IHZvaWQgY29tcGlsZShTdGF0ZSYgc3RhdGUpCiAgICAgICAgICAgICBjb25zdCBSZWZDb3VudGVk
QXJyYXk8TFNlY3Rpb25Xb3JkPiYgc2VjdGlvbiA9IHN0YXRlLmppdENvZGUtPmRhdGFTZWN0aW9u
cygpW2ldOwogICAgICAgICAgICAgZGF0YUxvZygKICAgICAgICAgICAgICAgICAiR2VuZXJhdGVk
IExMVk0gZGF0YSBzZWN0aW9uIGZvciAiLAotICAgICAgICAgICAgICAgIENvZGVCbG9ja1dpdGhK
SVRUeXBlKHN0YXRlLmdyYXBoLm1fY29kZUJsb2NrLCBKSVRDb2RlOjpERkdKSVQpLAorICAgICAg
ICAgICAgICAgIENvZGVCbG9ja1dpdGhKSVRUeXBlKHN0YXRlLmdyYXBoLm1fY29kZUJsb2NrLCBK
SVRDb2RlOjpGVExKSVQpLAogICAgICAgICAgICAgICAgICIgIyIsIGksICIsICIsIHN0YXRlLmRh
dGFTZWN0aW9uTmFtZXNbaV0sICI6XG4iKTsKICAgICAgICAgICAgIGR1bXBEYXRhU2VjdGlvbihz
ZWN0aW9uLCAiICAgICIpOwogICAgICAgICB9CiAgICAgfQogICAgIAorICAgIHN0YXRlLmppdENv
ZGUtPnVud2luZEluZm8ucGFyc2UoCisgICAgICAgIHN0YXRlLmNvbXBhY3RVbndpbmQsIHN0YXRl
LmNvbXBhY3RVbndpbmRTaXplLCBzdGF0ZS5nZW5lcmF0ZWRGdW5jdGlvbik7CisgICAgaWYgKERG
Rzo6c2hvdWxkU2hvd0Rpc2Fzc2VtYmx5KCkpCisgICAgICAgIGRhdGFMb2coIlVud2luZCBpbmZv
IGZvciAiLCBDb2RlQmxvY2tXaXRoSklUVHlwZShzdGF0ZS5ncmFwaC5tX2NvZGVCbG9jaywgSklU
Q29kZTo6RlRMSklUKSwgIjpcbiAgICAiLCBzdGF0ZS5qaXRDb2RlLT51bndpbmRJbmZvLCAiXG4i
KTsKKyAgICAKICAgICBpZiAoc3RhdGUuc3RhY2ttYXBzU2VjdGlvbi5zaXplKCkpIHsKICAgICAg
ICAgaWYgKHNob3VsZFNob3dEaXNhc3NlbWJseSgpKSB7CiAgICAgICAgICAgICBkYXRhTG9nKAog
ICAgICAgICAgICAgICAgICJHZW5lcmF0ZWQgTExWTSBzdGFja21hcHMgc2VjdGlvbiBmb3IgIiwK
LSAgICAgICAgICAgICAgICBDb2RlQmxvY2tXaXRoSklUVHlwZShzdGF0ZS5ncmFwaC5tX2NvZGVC
bG9jaywgSklUQ29kZTo6REZHSklUKSwgIjpcbiIpOworICAgICAgICAgICAgICAgIENvZGVCbG9j
a1dpdGhKSVRUeXBlKHN0YXRlLmdyYXBoLm1fY29kZUJsb2NrLCBKSVRDb2RlOjpGVExKSVQpLCAi
OlxuIik7CiAgICAgICAgICAgICBkYXRhTG9nKCIgICAgUmF3IGRhdGE6XG4iKTsKICAgICAgICAg
ICAgIGR1bXBEYXRhU2VjdGlvbihzdGF0ZS5zdGFja21hcHNTZWN0aW9uLCAiICAgICIpOwogICAg
ICAgICB9CkBAIC00MjEsOCArNTU4LDkgQEAgdm9pZCBjb21waWxlKFN0YXRlJiBzdGF0ZSkKICAg
ICAgICAgICAgICAgICBFeGVjdXRhYmxlTWVtb3J5SGFuZGxlKiBoYW5kbGUgPSBzdGF0ZS5qaXRD
b2RlLT5oYW5kbGVzKClbaV0uZ2V0KCk7CiAgICAgICAgICAgICAgICAgZGF0YUxvZygKICAgICAg
ICAgICAgICAgICAgICAgIkdlbmVyYXRlZCBMTFZNIGNvZGUgYWZ0ZXIgc3RhY2ttYXAtYmFzZWQg
Zml4LXVwIGZvciAiLAotICAgICAgICAgICAgICAgICAgICBDb2RlQmxvY2tXaXRoSklUVHlwZShz
dGF0ZS5ncmFwaC5tX2NvZGVCbG9jaywgSklUQ29kZTo6REZHSklUKSwKLSAgICAgICAgICAgICAg
ICAgICAgIiAjIiwgaSwgIiwgIiwgc3RhdGUuY29kZVNlY3Rpb25OYW1lc1tpXSwgIjpcbiIpOwor
ICAgICAgICAgICAgICAgICAgICBDb2RlQmxvY2tXaXRoSklUVHlwZShzdGF0ZS5ncmFwaC5tX2Nv
ZGVCbG9jaywgSklUQ29kZTo6RlRMSklUKSwKKyAgICAgICAgICAgICAgICAgICAgIiBpbiAiLCBz
dGF0ZS5ncmFwaC5tX3BsYW4ubW9kZSwgIiAjIiwgaSwgIiwgIiwKKyAgICAgICAgICAgICAgICAg
ICAgc3RhdGUuY29kZVNlY3Rpb25OYW1lc1tpXSwgIjpcbiIpOwogICAgICAgICAgICAgICAgIGRp
c2Fzc2VtYmxlKAogICAgICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIoaGFu
ZGxlLT5zdGFydCgpKSwgaGFuZGxlLT5zaXplSW5CeXRlcygpLAogICAgICAgICAgICAgICAgICAg
ICAiICAgICIsIFdURjo6ZGF0YUZpbGUoKSwgTExWTVN1YnNldCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEV4aXRWYWx1ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTEV4aXRWYWx1ZS5jcHAKaW5kZXggYTk4N2M2MGNlNDdjZDllMTI5OWIwNTY2
NGMzMmUyNWRiY2VjNjAwYy4uNzIxZjY0MzkzNWM2YmExMDdkYjcyMGI5ZDQxOTY5ZWVlMjZhNWQz
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExFeGl0VmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRXhpdFZhbHVlLmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTksNiAr
NTksOSBAQCB2b2lkIEV4aXRWYWx1ZTo6ZHVtcEluQ29udGV4dChQcmludFN0cmVhbSYgb3V0LCBE
dW1wQ29udGV4dCogY29udGV4dCkgY29uc3QKICAgICBjYXNlIEV4aXRWYWx1ZUluSlNTdGFja0Fz
RG91YmxlOgogICAgICAgICBvdXQucHJpbnQoIkluSlNTdGFja0FzRG91YmxlOnIiLCB2aXJ0dWFs
UmVnaXN0ZXIoKSk7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIEV4aXRWYWx1ZVJlY292ZXJ5
OgorICAgICAgICBvdXQucHJpbnQoIlJlY292ZXJ5KCIsIHJlY292ZXJ5T3Bjb2RlKCksICIsIGFy
ZyIsIGxlZnRSZWNvdmVyeUFyZ3VtZW50KCksICIsIGFyZyIsIHJpZ2h0UmVjb3ZlcnlBcmd1bWVu
dCgpLCAiLCAiLCByZWNvdmVyeUZvcm1hdCgpLCAiKSIpOworICAgICAgICByZXR1cm47CiAgICAg
fQogICAgIAogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEV4aXRWYWx1ZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExFeGl0VmFsdWUuaAppbmRleCA3YWFhZWRkOGQxZjk5YmEwNWNlY2I2OWUz
Mzc0YTkzZTEzMTg4ZWRmLi44MjNmOGE0MjQyYzI2NmY0MDY0YjAyOTI2ZmRkYTgwMWRhMmJlNWMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEV4aXRWYWx1ZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRXhpdFZhbHVlLmgKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDYgKzMxLDcg
QEAKICNpZiBFTkFCTEUoRlRMX0pJVCkKIAogI2luY2x1ZGUgIkZUTEV4aXRBcmd1bWVudC5oIgor
I2luY2x1ZGUgIkZUTFJlY292ZXJ5T3Bjb2RlLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgog
I2luY2x1ZGUgIlZpcnR1YWxSZWdpc3Rlci5oIgogI2luY2x1ZGUgPHd0Zi9QcmludFN0cmVhbS5o
PgpAQCAtNTEsNyArNTIsOCBAQCBlbnVtIEV4aXRWYWx1ZUtpbmQgewogICAgIEV4aXRWYWx1ZUlu
SlNTdGFjaywKICAgICBFeGl0VmFsdWVJbkpTU3RhY2tBc0ludDMyLAogICAgIEV4aXRWYWx1ZUlu
SlNTdGFja0FzSW50NTIsCi0gICAgRXhpdFZhbHVlSW5KU1N0YWNrQXNEb3VibGUKKyAgICBFeGl0
VmFsdWVJbkpTU3RhY2tBc0RvdWJsZSwKKyAgICBFeGl0VmFsdWVSZWNvdmVyeQogfTsKIAogY2xh
c3MgRXhpdFZhbHVlIHsKQEAgLTExOCw2ICsxMjAsMTcgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gcmVzdWx0OwogICAgIH0KICAgICAKKyAgICBzdGF0aWMgRXhpdFZhbHVlIHJlY292ZXJ5KFJl
Y292ZXJ5T3Bjb2RlIG9wY29kZSwgdW5zaWduZWQgbGVmdEFyZ3VtZW50LCB1bnNpZ25lZCByaWdo
dEFyZ3VtZW50LCBWYWx1ZUZvcm1hdCBmb3JtYXQpCisgICAgeworICAgICAgICBFeGl0VmFsdWUg
cmVzdWx0OworICAgICAgICByZXN1bHQubV9raW5kID0gRXhpdFZhbHVlUmVjb3Zlcnk7CisgICAg
ICAgIHJlc3VsdC51LnJlY292ZXJ5Lm9wY29kZSA9IG9wY29kZTsKKyAgICAgICAgcmVzdWx0LnUu
cmVjb3ZlcnkubGVmdEFyZ3VtZW50ID0gbGVmdEFyZ3VtZW50OworICAgICAgICByZXN1bHQudS5y
ZWNvdmVyeS5yaWdodEFyZ3VtZW50ID0gcmlnaHRBcmd1bWVudDsKKyAgICAgICAgcmVzdWx0LnUu
cmVjb3ZlcnkuZm9ybWF0ID0gZm9ybWF0OworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0K
KyAgICAKICAgICBFeGl0VmFsdWVLaW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQ7IH0K
ICAgICAKICAgICBib29sIGlzRGVhZCgpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBFeGl0VmFs
dWVEZWFkOyB9CkBAIC0xMzUsNiArMTQ4LDcgQEAgcHVibGljOgogICAgIH0KICAgICBib29sIGlz
Q29uc3RhbnQoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gRXhpdFZhbHVlQ29uc3RhbnQ7IH0K
ICAgICBib29sIGlzQXJndW1lbnQoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gRXhpdFZhbHVl
QXJndW1lbnQ7IH0KKyAgICBib29sIGlzUmVjb3ZlcnkoKSBjb25zdCB7IHJldHVybiBraW5kKCkg
PT0gRXhpdFZhbHVlUmVjb3Zlcnk7IH0KICAgICAKICAgICBFeGl0QXJndW1lbnQgZXhpdEFyZ3Vt
ZW50KCkgY29uc3QKICAgICB7CkBAIC0xNDIsNiArMTU2LDMwIEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIEV4aXRBcmd1bWVudCh1LmFyZ3VtZW50KTsKICAgICB9CiAgICAgCisgICAgdW5zaWdu
ZWQgbGVmdFJlY292ZXJ5QXJndW1lbnQoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGlz
UmVjb3ZlcnkoKSk7CisgICAgICAgIHJldHVybiB1LnJlY292ZXJ5LmxlZnRBcmd1bWVudDsKKyAg
ICB9CisgICAgCisgICAgdW5zaWduZWQgcmlnaHRSZWNvdmVyeUFyZ3VtZW50KCkgY29uc3QKKyAg
ICB7CisgICAgICAgIEFTU0VSVChpc1JlY292ZXJ5KCkpOworICAgICAgICByZXR1cm4gdS5yZWNv
dmVyeS5yaWdodEFyZ3VtZW50OworICAgIH0KKyAgICAKKyAgICBWYWx1ZUZvcm1hdCByZWNvdmVy
eUZvcm1hdCgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQoaXNSZWNvdmVyeSgpKTsKKyAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFZhbHVlRm9ybWF0Pih1LnJlY292ZXJ5LmZvcm1hdCk7
CisgICAgfQorICAgIAorICAgIFJlY292ZXJ5T3Bjb2RlIHJlY292ZXJ5T3Bjb2RlKCkgY29uc3QK
KyAgICB7CisgICAgICAgIEFTU0VSVChpc1JlY292ZXJ5KCkpOworICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8UmVjb3ZlcnlPcGNvZGU+KHUucmVjb3Zlcnkub3Bjb2RlKTsKKyAgICB9CisgICAg
CiAgICAgSlNWYWx1ZSBjb25zdGFudCgpIGNvbnN0CiAgICAgewogICAgICAgICBBU1NFUlQoaXND
b25zdGFudCgpKTsKQEAgLTE1Myw2ICsxOTEsMTUgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQo
aXNJbkpTU3RhY2tTb21laG93KCkpOwogICAgICAgICByZXR1cm4gVmlydHVhbFJlZ2lzdGVyKHUu
dmlydHVhbFJlZ2lzdGVyKTsKICAgICB9CisgICAgCisgICAgRXhpdFZhbHVlIHdpdGhWaXJ0dWFs
UmVnaXN0ZXIoVmlydHVhbFJlZ2lzdGVyIHZpcnR1YWxSZWdpc3RlcikKKyAgICB7CisgICAgICAg
IEFTU0VSVChpc0luSlNTdGFja1NvbWVob3coKSk7CisgICAgICAgIEV4aXRWYWx1ZSByZXN1bHQ7
CisgICAgICAgIHJlc3VsdC5tX2tpbmQgPSBtX2tpbmQ7CisgICAgICAgIHJlc3VsdC51LnZpcnR1
YWxSZWdpc3RlciA9IHZpcnR1YWxSZWdpc3Rlci5vZmZzZXQoKTsKKyAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKyAgICB9CiAKICAgICAvLyBJZiBpdCdzIGluIHRoZSBKU1N0YWNrIHNvbWVob3csIHRo
aXMgd2lsbCB0ZWxsIHlvdSB3aGF0IGZvcm1hdCBpdCdzIGluLCBpbiBhIG1hbm5lcgogICAgIC8v
IHRoYXQgaXMgY29tcGF0aWJsZSB3aXRoIGV4aXRBcmd1bWVudCgpLmZvcm1hdCgpLiBJZiBpdCdz
IGEgY29uc3RhbnQgb3IgaXQncyBkZWFkLCBpdApAQCAtMTgxLDYgKzIyOCw5IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgIAogICAgICAgICBjYXNlIEV4aXRWYWx1ZUluSlNTdGFja0FzRG91YmxlOgog
ICAgICAgICAgICAgcmV0dXJuIFZhbHVlRm9ybWF0RG91YmxlOworICAgICAgICAgICAgCisgICAg
ICAgIGNhc2UgRXhpdFZhbHVlUmVjb3Zlcnk6CisgICAgICAgICAgICByZXR1cm4gcmVjb3ZlcnlG
b3JtYXQoKTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKQEAgLTE5Niw2ICsyNDYsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgRXhpdEFy
Z3VtZW50UmVwcmVzZW50YXRpb24gYXJndW1lbnQ7CiAgICAgICAgIEVuY29kZWRKU1ZhbHVlIGNv
bnN0YW50OwogICAgICAgICBpbnQgdmlydHVhbFJlZ2lzdGVyOworICAgICAgICBzdHJ1Y3Qgewor
ICAgICAgICAgICAgdWludDE2X3QgbGVmdEFyZ3VtZW50OworICAgICAgICAgICAgdWludDE2X3Qg
cmlnaHRBcmd1bWVudDsKKyAgICAgICAgICAgIHVpbnQxNl90IG9wY29kZTsKKyAgICAgICAgICAg
IHVpbnQxNl90IGZvcm1hdDsKKyAgICAgICAgfSByZWNvdmVyeTsKICAgICB9IHU7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElubGluZUNhY2hlU2l6ZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElubGluZUNhY2hlU2l6ZS5jcHAKaW5k
ZXggODJkNGJlNTZhN2IzN2FjOGE1YWIwNGY0NmM2YjFiYzUzMjBjMTMwNy4uYWI4MjU2MTI3Nzkz
NGIyMWZlMDdkNWYyMzRkZTM2MjNjNThkMTFiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExJbmxpbmVDYWNoZVNpemUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMSW5saW5lQ2FjaGVTaXplLmNwcApAQCAtNDcsNiArNDcsMTEgQEAgc2l6ZV90
IHNpemVPZlB1dEJ5SWQoKQogICAgIHJldHVybiAzMjsKIH0KIAorc2l6ZV90IHNpemVPZkNhbGwo
KQoreworICAgIHJldHVybiA0MzsKK30KKwogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTAogCiAj
ZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTElubGluZUNhY2hlU2l6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExJbmxpbmVDYWNoZVNpemUuaAppbmRleCBhYWMwZjNlOTM3YjBhZTZlZDEyODIyOWQyNGI5N2Rk
MDNkODFmZTAxLi43YzdjMTg5NzI1ZTRjYWM3NGM3MWM2YzhiNDI3OWUyYjAzZTc1Mjg4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElubGluZUNhY2hlU2l6ZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW5saW5lQ2FjaGVTaXplLmgKQEAgLTMy
LDYgKzMyLDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogCiBzaXplX3Qgc2l6
ZU9mR2V0QnlJZCgpOwogc2l6ZV90IHNpemVPZlB1dEJ5SWQoKTsKK3NpemVfdCBzaXplT2ZDYWxs
KCk7CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpGVEwKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAppbmRleCA3ZjU2MGRkOTVhNWZi
ZWFjYjJiNjU1ZmJmNzE1ZWRjZGM4ZjJhYWU0Li5jNTBkOTRiNzEyYTRjYmY3NGI5Nzk1NGEwOTEz
OTYwNzE2NTEwYmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElu
dHJpbnNpY1JlcG9zaXRvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElu
dHJpbnNpY1JlcG9zaXRvcnkuaApAQCAtNDAsMTcgKzQwLDI1IEBAIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgRlRMIHsKICAgICBtYWNybyhhZGRXaXRoT3ZlcmZsb3czMiwgImxsdm0uc2FkZC53
aXRoLm92ZXJmbG93LmkzMiIsIGZ1bmN0aW9uVHlwZShzdHJ1Y3RUeXBlKG1fY29udGV4dCwgaW50
MzIsIGJvb2xlYW4pLCBpbnQzMiwgaW50MzIpKSBcCiAgICAgbWFjcm8oYWRkV2l0aE92ZXJmbG93
NjQsICJsbHZtLnNhZGQud2l0aC5vdmVyZmxvdy5pNjQiLCBmdW5jdGlvblR5cGUoc3RydWN0VHlw
ZShtX2NvbnRleHQsIGludDY0LCBib29sZWFuKSwgaW50NjQsIGludDY0KSkgXAogICAgIG1hY3Jv
KGRvdWJsZUFicywgImxsdm0uZmFicy5mNjQiLCBmdW5jdGlvblR5cGUoZG91YmxlVHlwZSwgZG91
YmxlVHlwZSkpIFwKKyAgICBtYWNybyhkb3VibGVTaW4sICJsbHZtLnNpbi5mNjQiLCBmdW5jdGlv
blR5cGUoZG91YmxlVHlwZSwgZG91YmxlVHlwZSkpIFwKKyAgICBtYWNybyhkb3VibGVDb3MsICJs
bHZtLmNvcy5mNjQiLCBmdW5jdGlvblR5cGUoZG91YmxlVHlwZSwgZG91YmxlVHlwZSkpIFwKKyAg
ICBtYWNybyhkb3VibGVTcXJ0LCAibGx2bS5zcXJ0LmY2NCIsIGZ1bmN0aW9uVHlwZShkb3VibGVU
eXBlLCBkb3VibGVUeXBlKSkgXAorICAgIG1hY3JvKGZyYW1lQWRkcmVzcywgImxsdm0uZnJhbWVh
ZGRyZXNzIiwgZnVuY3Rpb25UeXBlKHBvaW50ZXJUeXBlKGludDgpLCBpbnQzMikpIFwKICAgICBt
YWNybyhtdWxXaXRoT3ZlcmZsb3czMiwgImxsdm0uc211bC53aXRoLm92ZXJmbG93LmkzMiIsIGZ1
bmN0aW9uVHlwZShzdHJ1Y3RUeXBlKG1fY29udGV4dCwgaW50MzIsIGJvb2xlYW4pLCBpbnQzMiwg
aW50MzIpKSBcCiAgICAgbWFjcm8obXVsV2l0aE92ZXJmbG93NjQsICJsbHZtLnNtdWwud2l0aC5v
dmVyZmxvdy5pNjQiLCBmdW5jdGlvblR5cGUoc3RydWN0VHlwZShtX2NvbnRleHQsIGludDY0LCBi
b29sZWFuKSwgaW50NjQsIGludDY0KSkgXAotICAgIG1hY3JvKHBhdGNocG9pbnRJbnQ2NCwgImxs
dm0uZXhwZXJpbWVudGFsLnBhdGNocG9pbnQuaTY0IiwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnQz
MiwgaW50MzIsIHJlZjgsIGludDMyLCBWYXJpYWRpYykpIFwKLSAgICBtYWNybyhwYXRjaHBvaW50
Vm9pZCwgImxsdm0uZXhwZXJpbWVudGFsLnBhdGNocG9pbnQudm9pZCIsIGZ1bmN0aW9uVHlwZSh2
b2lkVHlwZSwgaW50MzIsIGludDMyLCByZWY4LCBpbnQzMiwgVmFyaWFkaWMpKSBcCi0gICAgbWFj
cm8oc3RhY2ttYXAsICJsbHZtLmV4cGVyaW1lbnRhbC5zdGFja21hcCIsIGZ1bmN0aW9uVHlwZSh2
b2lkVHlwZSwgaW50MzIsIGludDMyLCBWYXJpYWRpYykpIFwKKyAgICBtYWNybyhwYXRjaHBvaW50
SW50NjQsICJsbHZtLmV4cGVyaW1lbnRhbC5wYXRjaHBvaW50Lmk2NCIsIGZ1bmN0aW9uVHlwZShp
bnQ2NCwgaW50NjQsIGludDMyLCByZWY4LCBpbnQzMiwgVmFyaWFkaWMpKSBcCisgICAgbWFjcm8o
cGF0Y2hwb2ludFZvaWQsICJsbHZtLmV4cGVyaW1lbnRhbC5wYXRjaHBvaW50LnZvaWQiLCBmdW5j
dGlvblR5cGUodm9pZFR5cGUsIGludDY0LCBpbnQzMiwgcmVmOCwgaW50MzIsIFZhcmlhZGljKSkg
XAorICAgIG1hY3JvKHN0YWNrbWFwLCAibGx2bS5leHBlcmltZW50YWwuc3RhY2ttYXAiLCBmdW5j
dGlvblR5cGUodm9pZFR5cGUsIGludDY0LCBpbnQzMiwgVmFyaWFkaWMpKSBcCiAgICAgbWFjcm8o
c3ViV2l0aE92ZXJmbG93MzIsICJsbHZtLnNzdWIud2l0aC5vdmVyZmxvdy5pMzIiLCBmdW5jdGlv
blR5cGUoc3RydWN0VHlwZShtX2NvbnRleHQsIGludDMyLCBib29sZWFuKSwgaW50MzIsIGludDMy
KSkgXAogICAgIG1hY3JvKHN1YldpdGhPdmVyZmxvdzY0LCAibGx2bS5zc3ViLndpdGgub3ZlcmZs
b3cuaTY0IiwgZnVuY3Rpb25UeXBlKHN0cnVjdFR5cGUobV9jb250ZXh0LCBpbnQ2NCwgYm9vbGVh
biksIGludDY0LCBpbnQ2NCkpIFwKICAgICBtYWNybyh0cmFwLCAibGx2bS50cmFwIiwgZnVuY3Rp
b25UeXBlKHZvaWRUeXBlKSkgXAogICAgIG1hY3JvKHg4NlNTRTJDdnRUU0QyU0ksICJsbHZtLng4
Ni5zc2UyLmN2dHRzZDJzaSIsIGZ1bmN0aW9uVHlwZShpbnQzMiwgdmVjdG9yVHlwZShkb3VibGVU
eXBlLCAyKSkpCiAKICNkZWZpbmUgRk9SX0VBQ0hfRlVOQ1RJT05fVFlQRShtYWNybykgXAorICAg
IG1hY3JvKENfSklUT3BlcmF0aW9uX0VDLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGlu
dFB0cikpIFwKKyAgICBtYWNybyhDX0pJVE9wZXJhdGlvbl9FSiwgZnVuY3Rpb25UeXBlKGludFB0
ciwgaW50UHRyLCBpbnQ2NCkpIFwKKyAgICBtYWNybyhDX0pJVE9wZXJhdGlvbl9FSnNzSnNzLCBm
dW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAorICAgIG1hY3Jv
KENfSklUT3BlcmF0aW9uX0VKc3NKc3NKc3MsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwg
aW50UHRyLCBpbnRQdHIsIGludFB0cikpIFwKICAgICBtYWNybyhDX0pJVE9wZXJhdGlvbl9FU3Qs
IGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAogICAgIG1hY3JvKElfSklU
T3BlcmF0aW9uX0VKc3MsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAog
ICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0UsIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyKSkg
XApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRDb2RlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSklUQ29kZS5jcHAKaW5kZXggY2RjN2RlMGMz
NWYzNDk0ZWE1ZWFmOWU0Y2U4ZGFkYjJhM2RmMGMwYy4uZWRiYmIzMTVhMmEwN2VhOWRkNzU4NWU0
ZTRjOWQyY2Y1ZGZkZmE1NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExKSVRDb2RlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVENvZGUu
Y3BwCkBAIC01NCwyNyArNTQsMzUgQEAgdm9pZCBKSVRDb2RlOjphZGREYXRhU2VjdGlvbihSZWZD
b3VudGVkQXJyYXk8TFNlY3Rpb25Xb3JkPiBkYXRhU2VjdGlvbikKICAgICBtX2RhdGFTZWN0aW9u
cy5hcHBlbmQoZGF0YVNlY3Rpb24pOwogfQogCi12b2lkIEpJVENvZGU6OmluaXRpYWxpemVDb2Rl
KENvZGVSZWYgZW50cnlwb2ludCkKK3ZvaWQgSklUQ29kZTo6aW5pdGlhbGl6ZUFyaXR5Q2hlY2tF
bnRyeXBvaW50KENvZGVSZWYgZW50cnlwb2ludCkKIHsKLSAgICBtX2VudHJ5cG9pbnQgPSBlbnRy
eXBvaW50OworICAgIG1fYXJpdHlDaGVja0VudHJ5cG9pbnQgPSBlbnRyeXBvaW50OwogfQogCi1K
SVRDb2RlOjpDb2RlUHRyIEpJVENvZGU6OmFkZHJlc3NGb3JDYWxsKCkKK3ZvaWQgSklUQ29kZTo6
aW5pdGlhbGl6ZUFkZHJlc3NGb3JDYWxsKENvZGVQdHIgYWRkcmVzcykKIHsKLSAgICBSRUxFQVNF
X0FTU0VSVChtX2VudHJ5cG9pbnQpOwotICAgIHJldHVybiBtX2VudHJ5cG9pbnQuY29kZSgpOwor
ICAgIG1fYWRkcmVzc0ZvckNhbGwgPSBhZGRyZXNzOworfQorCitKSVRDb2RlOjpDb2RlUHRyIEpJ
VENvZGU6OmFkZHJlc3NGb3JDYWxsKFZNJiwgRXhlY3V0YWJsZUJhc2UqLCBBcml0eUNoZWNrTW9k
ZSBhcml0eUNoZWNrLCBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGUpCit7CisgICAgc3dpdGNoIChh
cml0eUNoZWNrKSB7CisgICAgY2FzZSBBcml0eUNoZWNrTm90UmVxdWlyZWQ6CisgICAgICAgIHJl
dHVybiBtX2FkZHJlc3NGb3JDYWxsOworICAgIGNhc2UgTXVzdENoZWNrQXJpdHk6CisgICAgICAg
IHJldHVybiBtX2FyaXR5Q2hlY2tFbnRyeXBvaW50LmNvZGUoKTsKKyAgICB9CisgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gQ29kZVB0cigpOwogfQogCiB2b2lk
KiBKSVRDb2RlOjpleGVjdXRhYmxlQWRkcmVzc0F0T2Zmc2V0KHNpemVfdCBvZmZzZXQpCiB7Ci0g
ICAgUkVMRUFTRV9BU1NFUlQobV9lbnRyeXBvaW50KTsKLSAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxjaGFyKj4obV9lbnRyeXBvaW50LmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpKSArIG9m
ZnNldDsKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4obV9hZGRyZXNzRm9yQ2Fs
bC5leGVjdXRhYmxlQWRkcmVzcygpKSArIG9mZnNldDsKIH0KIAogdm9pZCogSklUQ29kZTo6ZGF0
YUFkZHJlc3NBdE9mZnNldChzaXplX3QpCiB7Ci0gICAgUkVMRUFTRV9BU1NFUlQobV9lbnRyeXBv
aW50KTsKLQogICAgIC8vIFdlIGNhbid0IHBhdGNoIEZUTCBjb2RlLCB5ZXQuIEV2ZW4gaWYgd2Ug
ZGlkLCBpdCdzIG5vdCBjbGVhciB0aGF0IHdlIHdvdWxkIGRvIHNvCiAgICAgLy8gdGhyb3VnaCB0
aGlzIEFQSS4KICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtODMsOCArOTEs
NiBAQCB2b2lkKiBKSVRDb2RlOjpkYXRhQWRkcmVzc0F0T2Zmc2V0KHNpemVfdCkKIAogdW5zaWdu
ZWQgSklUQ29kZTo6b2Zmc2V0T2Yodm9pZCopCiB7Ci0gICAgUkVMRUFTRV9BU1NFUlQobV9lbnRy
eXBvaW50KTsKLQogICAgIC8vIFdlIGN1cnJlbnRseSBkb24ndCBoYXZlIHZpc2liaWxpdHkgaW50
byB0aGUgRlRMIGNvZGUuCiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICBy
ZXR1cm4gMDsKQEAgLTkyLDggKzk4LDYgQEAgdW5zaWduZWQgSklUQ29kZTo6b2Zmc2V0T2Yodm9p
ZCopCiAKIHNpemVfdCBKSVRDb2RlOjpzaXplKCkKIHsKLSAgICBSRUxFQVNFX0FTU0VSVChtX2Vu
dHJ5cG9pbnQpOwotCiAgICAgLy8gV2UgZG9uJ3Qga25vdyB0aGUgc2l6ZSBvZiBGVEwgY29kZSwg
eWV0LiBNYWtlIGEgd2lsZCBndWVzcy4gVGhpcyBpcyBtb3N0bHkgdXNlZCBmb3IKICAgICAvLyBH
QyBsb2FkIGVzdGltYXRlcy4KICAgICByZXR1cm4gMTAwMDsKQEAgLTEwMSw4ICsxMDUsNiBAQCBz
aXplX3QgSklUQ29kZTo6c2l6ZSgpCiAKIGJvb2wgSklUQ29kZTo6Y29udGFpbnModm9pZCopCiB7
Ci0gICAgUkVMRUFTRV9BU1NFUlQobV9lbnRyeXBvaW50KTsKLQogICAgIC8vIFdlIGhhdmUgbm8g
aWRlYSB3aGF0IGFkZHJlc3NlcyB0aGUgRlRMIGNvZGUgY29udGFpbnMsIHlldC4KICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSklUQ29kZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExKSVRDb2RlLmgKaW5kZXggM2U3MjEzOTgzYjg1NTQzM2MwMjk4MmEzYzBj
NWJjMDYzYjM1MDIyMS4uNzEzMDQwMGI2NTU1Mjc1MzA1MWI4ZjZkMTRhMGViN2FhZDE0OWViNCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRDb2RlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRDb2RlLmgKQEAgLTMzLDYgKzMzLDcgQEAK
ICNpbmNsdWRlICJERkdDb21tb25EYXRhLmgiCiAjaW5jbHVkZSAiRlRMT1NSRXhpdC5oIgogI2lu
Y2x1ZGUgIkZUTFN0YWNrTWFwcy5oIgorI2luY2x1ZGUgIkZUTFVud2luZEluZm8uaCIKICNpbmNs
dWRlICJKSVRDb2RlLmgiCiAjaW5jbHVkZSAiTExWTUFQSS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkQXJyYXkuaD4KQEAgLTQ2LDE3ICs0NywxOCBAQCBwdWJsaWM6CiAgICAgSklUQ29kZSgp
OwogICAgIH5KSVRDb2RlKCk7CiAgICAgCi0gICAgQ29kZVB0ciBhZGRyZXNzRm9yQ2FsbCgpOwot
ICAgIHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzQXRPZmZzZXQoc2l6ZV90IG9mZnNldCk7Ci0gICAg
dm9pZCogZGF0YUFkZHJlc3NBdE9mZnNldChzaXplX3Qgb2Zmc2V0KTsKLSAgICB1bnNpZ25lZCBv
ZmZzZXRPZih2b2lkKiBwb2ludGVySW50b0NvZGUpOwotICAgIHNpemVfdCBzaXplKCk7Ci0gICAg
Ym9vbCBjb250YWlucyh2b2lkKik7CisgICAgQ29kZVB0ciBhZGRyZXNzRm9yQ2FsbChWTSYsIEV4
ZWN1dGFibGVCYXNlKiwgQXJpdHlDaGVja01vZGUsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZSkg
b3ZlcnJpZGU7CisgICAgdm9pZCogZXhlY3V0YWJsZUFkZHJlc3NBdE9mZnNldChzaXplX3Qgb2Zm
c2V0KSBvdmVycmlkZTsKKyAgICB2b2lkKiBkYXRhQWRkcmVzc0F0T2Zmc2V0KHNpemVfdCBvZmZz
ZXQpIG92ZXJyaWRlOworICAgIHVuc2lnbmVkIG9mZnNldE9mKHZvaWQqIHBvaW50ZXJJbnRvQ29k
ZSkgb3ZlcnJpZGU7CisgICAgc2l6ZV90IHNpemUoKSBvdmVycmlkZTsKKyAgICBib29sIGNvbnRh
aW5zKHZvaWQqKSBvdmVycmlkZTsKICAgICAKICAgICB2b2lkIGluaXRpYWxpemVFeGl0VGh1bmtz
KENvZGVSZWYpOwogICAgIHZvaWQgYWRkSGFuZGxlKFBhc3NSZWZQdHI8RXhlY3V0YWJsZU1lbW9y
eUhhbmRsZT4pOwogICAgIHZvaWQgYWRkRGF0YVNlY3Rpb24oUmVmQ291bnRlZEFycmF5PExTZWN0
aW9uV29yZD4pOwotICAgIHZvaWQgaW5pdGlhbGl6ZUNvZGUoQ29kZVJlZiBlbnRyeXBvaW50KTsK
KyAgICB2b2lkIGluaXRpYWxpemVBcml0eUNoZWNrRW50cnlwb2ludChDb2RlUmVmKTsKKyAgICB2
b2lkIGluaXRpYWxpemVBZGRyZXNzRm9yQ2FsbChDb2RlUHRyKTsKICAgICAKICAgICBjb25zdCBW
ZWN0b3I8UmVmUHRyPEV4ZWN1dGFibGVNZW1vcnlIYW5kbGU+PiYgaGFuZGxlcygpIGNvbnN0IHsg
cmV0dXJuIG1faGFuZGxlczsgfQogICAgIGNvbnN0IFZlY3RvcjxSZWZDb3VudGVkQXJyYXk8TFNl
Y3Rpb25Xb3JkPj4mIGRhdGFTZWN0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YVNlY3Rpb25z
OyB9CkBAIC02OSwxMSArNzEsMTMgQEAgcHVibGljOgogICAgIERGRzo6Q29tbW9uRGF0YSBjb21t
b247CiAgICAgU2VnbWVudGVkVmVjdG9yPE9TUkV4aXQsIDg+IG9zckV4aXQ7CiAgICAgU3RhY2tN
YXBzIHN0YWNrbWFwczsKKyAgICBVbndpbmRJbmZvIHVud2luZEluZm87CiAgICAgCiBwcml2YXRl
OgogICAgIFZlY3RvcjxSZWZDb3VudGVkQXJyYXk8TFNlY3Rpb25Xb3JkPj4gbV9kYXRhU2VjdGlv
bnM7CiAgICAgVmVjdG9yPFJlZlB0cjxFeGVjdXRhYmxlTWVtb3J5SGFuZGxlPj4gbV9oYW5kbGVz
OwotICAgIENvZGVSZWYgbV9lbnRyeXBvaW50OworICAgIENvZGVQdHIgbV9hZGRyZXNzRm9yQ2Fs
bDsKKyAgICBDb2RlUmVmIG1fYXJpdHlDaGVja0VudHJ5cG9pbnQ7CiAgICAgQ29kZVJlZiBtX2V4
aXRUaHVua3M7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TEpJVEZpbmFsaXplci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVEZpbmFs
aXplci5jcHAKaW5kZXggYThhOTliNjNhMzY0M2Q2MDE3NzZhNjg3NmE1ZTBmZTIzOTlkYTNmNC4u
NTBkNWVlMjgzYWMzNWVmYWMzMGZiMDgwOTI5ZDljZTFiNjllODYyNiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRGaW5hbGl6ZXIuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMSklURmluYWxpemVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDUsNiArNDUsMjIgQEAgSklU
RmluYWxpemVyOjp+SklURmluYWxpemVyKCkKIHsKIH0KIAorc2l6ZV90IEpJVEZpbmFsaXplcjo6
Y29kZVNpemUoKQoreworICAgIHNpemVfdCByZXN1bHQgPSAwOworICAgIAorICAgIHJlc3VsdCAr
PSBleGl0VGh1bmtzTGlua0J1ZmZlci0+c2l6ZSgpOworICAgIHJlc3VsdCArPSBlbnRyeXBvaW50
TGlua0J1ZmZlci0+c2l6ZSgpOworICAgIGlmIChzaWRlQ29kZUxpbmtCdWZmZXIpCisgICAgICAg
IHJlc3VsdCArPSBzaWRlQ29kZUxpbmtCdWZmZXItPnNpemUoKTsKKyAgICByZXN1bHQgKz0gaGFu
ZGxlRXhjZXB0aW9uc0xpbmtCdWZmZXItPnNpemUoKTsKKyAgICAKKyAgICBmb3IgKHVuc2lnbmVk
IGkgPSBqaXRDb2RlLT5oYW5kbGVzKCkuc2l6ZSgpOyBpLS07KQorICAgICAgICByZXN1bHQgKz0g
aml0Q29kZS0+aGFuZGxlcygpW2ldLT5zaXplSW5CeXRlcygpOworICAgIAorICAgIHJldHVybiBy
ZXN1bHQ7Cit9CisKIGJvb2wgSklURmluYWxpemVyOjpmaW5hbGl6ZSgpCiB7CiAgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTczLDkgKzg5LDcgQEAgYm9vbCBKSVRGaW5hbGl6
ZXI6OmZpbmFsaXplRnVuY3Rpb24oKQogICAgICAgICAgICAgZXhpdFRodW5rc0xpbmtCdWZmZXIt
PmxpbmsoCiAgICAgICAgICAgICAgICAgaW5mby5tX3RodW5rSnVtcCwKICAgICAgICAgICAgICAg
ICBDb2RlTG9jYXRpb25MYWJlbCgKLSAgICAgICAgICAgICAgICAgICAgbV9wbGFuLnZtLmZ0bFRo
dW5rcy0+Z2V0T1NSRXhpdEdlbmVyYXRpb25UaHVuaygKLSAgICAgICAgICAgICAgICAgICAgICAg
IG1fcGxhbi52bSwgTG9jYXRpb246OmZvclN0YWNrbWFwcygKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmaml0Q29kZS0+c3RhY2ttYXBzLCBpdGVyLT52YWx1ZS5sb2NhdGlvbnNbMF0pKS5j
b2RlKCkpKTsKKyAgICAgICAgICAgICAgICAgICAgbV9wbGFuLnZtLmdldENUSVN0dWIob3NyRXhp
dEdlbmVyYXRpb25UaHVua0dlbmVyYXRvcikuY29kZSgpKSk7CiAgICAgICAgIH0KICAgICAgICAg
CiAgICAgICAgIGppdENvZGUtPmluaXRpYWxpemVFeGl0VGh1bmtzKApAQCAtMTAyLDE1ICsxMTYs
MjYgQEAgYm9vbCBKSVRGaW5hbGl6ZXI6OmZpbmFsaXplRnVuY3Rpb24oKQogICAgICAgICAgICAg
LmV4ZWN1dGFibGVNZW1vcnkoKSk7CiAgICAgfQogICAgIAorICAgIGlmIChoYW5kbGVFeGNlcHRp
b25zTGlua0J1ZmZlcikgeworICAgICAgICBqaXRDb2RlLT5hZGRIYW5kbGUoRklOQUxJWkVfREZH
X0NPREUoCisgICAgICAgICAgICAqaGFuZGxlRXhjZXB0aW9uc0xpbmtCdWZmZXIsCisgICAgICAg
ICAgICAoIkZUTCBleGNlcHRpb24gaGFuZGxlciBmb3IgJXMiLAorICAgICAgICAgICAgICAgIHRv
Q1N0cmluZyhDb2RlQmxvY2tXaXRoSklUVHlwZShtX3BsYW4uY29kZUJsb2NrLmdldCgpLCBKSVRD
b2RlOjpGVExKSVQpKS5kYXRhKCkpKQorICAgICAgICAgICAgLmV4ZWN1dGFibGVNZW1vcnkoKSk7
CisgICAgfQorICAgIAogICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciB3aXRoQXJpdHlDaGVjazsK
ICAgICBpZiAoYXJpdHlDaGVjay5pc1NldCgpKQogICAgICAgICB3aXRoQXJpdHlDaGVjayA9IGVu
dHJ5cG9pbnRMaW5rQnVmZmVyLT5sb2NhdGlvbk9mKGFyaXR5Q2hlY2spOwotICAgIGppdENvZGUt
PmluaXRpYWxpemVDb2RlKAorICAgIGppdENvZGUtPmluaXRpYWxpemVBcml0eUNoZWNrRW50cnlw
b2ludCgKICAgICAgICAgRklOQUxJWkVfREZHX0NPREUoCiAgICAgICAgICAgICAqZW50cnlwb2lu
dExpbmtCdWZmZXIsCiAgICAgICAgICAgICAoIkZUTCBlbnRyeXBvaW50IHRodW5rIGZvciAlcyB3
aXRoIExMVk0gZ2VuZXJhdGVkIGNvZGUgYXQgJXAiLCB0b0NTdHJpbmcoQ29kZUJsb2NrV2l0aEpJ
VFR5cGUobV9wbGFuLmNvZGVCbG9jay5nZXQoKSwgSklUQ29kZTo6RlRMSklUKSkuZGF0YSgpLCBm
dW5jdGlvbikpKTsKICAgICAKLSAgICBtX3BsYW4uY29kZUJsb2NrLT5zZXRKSVRDb2RlKGppdENv
ZGUsIHdpdGhBcml0eUNoZWNrKTsKKyAgICBtX3BsYW4uY29kZUJsb2NrLT5zZXRKSVRDb2RlKGpp
dENvZGUpOworICAgIAorICAgIGlmIChtX3BsYW4uY29tcGlsYXRpb24pCisgICAgICAgIG1fcGxh
bi52bS5tX3BlckJ5dGVjb2RlUHJvZmlsZXItPmFkZENvbXBpbGF0aW9uKG1fcGxhbi5jb21waWxh
dGlvbik7CiAgICAgCiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTEpJVEZpbmFsaXplci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExKSVRGaW5hbGl6ZXIuaAppbmRleCBhN2VjZDk0ODYwNTJhZGUwMGYwNDA1ZDkwZDMw
MjMyMDVjNTRiYzM4Li5iYTQ0NTFlZDkwNzc1Yzc1ZDQ1ZDhjODE1NmQxZGFhZWZhYjMwMjQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVEZpbmFsaXplci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSklURmluYWxpemVyLmgKQEAgLTQ2LDEy
ICs0NiwxNCBAQCBwdWJsaWM6CiAgICAgSklURmluYWxpemVyKERGRzo6UGxhbiYpOwogICAgIHZp
cnR1YWwgfkpJVEZpbmFsaXplcigpOwogICAgIAotICAgIGJvb2wgZmluYWxpemUoKTsKLSAgICBi
b29sIGZpbmFsaXplRnVuY3Rpb24oKTsKKyAgICBzaXplX3QgY29kZVNpemUoKSBvdmVycmlkZTsK
KyAgICBib29sIGZpbmFsaXplKCkgb3ZlcnJpZGU7CisgICAgYm9vbCBmaW5hbGl6ZUZ1bmN0aW9u
KCkgb3ZlcnJpZGU7CiAKICAgICBPd25QdHI8TGlua0J1ZmZlcj4gZXhpdFRodW5rc0xpbmtCdWZm
ZXI7CiAgICAgT3duUHRyPExpbmtCdWZmZXI+IGVudHJ5cG9pbnRMaW5rQnVmZmVyOwogICAgIE93
blB0cjxMaW5rQnVmZmVyPiBzaWRlQ29kZUxpbmtCdWZmZXI7CisgICAgT3duUHRyPExpbmtCdWZm
ZXI+IGhhbmRsZUV4Y2VwdGlvbnNMaW5rQnVmZmVyOwogICAgIFZlY3RvcjxTbG93UGF0aENhbGw+
IHNsb3dQYXRoQ2FsbHM7IC8vIENhbGxzIGluc2lkZSB0aGUgc2lkZSBjb2RlLgogICAgIFZlY3Rv
cjxPU1JFeGl0Q29tcGlsYXRpb25JbmZvPiBvc3JFeGl0OwogICAgIE1hY3JvQXNzZW1ibGVyOjpM
YWJlbCBhcml0eUNoZWNrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExKU0NhbGwuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKU0NhbGwuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjllYTBiM2U2NmQ4ZmQwM2FjYTQzNzM1NDNkOThjMDYzMzQyZjdlZWYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpTQ2FsbC5jcHAKQEAg
LTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRlRMSlNDYWxsLmgiCisKKyNpZiBF
TkFCTEUoRlRMX0pJVCkKKworI2luY2x1ZGUgIkRGR05vZGUuaCIKKworbmFtZXNwYWNlIEpTQyB7
IG5hbWVzcGFjZSBGVEwgeworCitKU0NhbGw6OkpTQ2FsbCh1bnNpZ25lZCBzdGFja21hcElELCBE
Rkc6Ok5vZGUqIG5vZGUpCisgICAgOiBtX3N0YWNrbWFwSUQoc3RhY2ttYXBJRCkKKyAgICAsIG1f
bm9kZShub2RlKQorICAgICwgbV9pbnN0cnVjdGlvbk9mZnNldCgwKQoreworfQorCit2b2lkIEpT
Q2FsbDo6ZW1pdChDQ2FsbEhlbHBlcnMmIGppdCkKK3sKKyAgICBDQ2FsbEhlbHBlcnM6Okp1bXAg
c2xvd1BhdGggPSBqaXQuYnJhbmNoUHRyV2l0aFBhdGNoKAorICAgICAgICBDQ2FsbEhlbHBlcnM6
Ok5vdEVxdWFsLCBHUFJJbmZvOjpyZWdUMCwgbV90YXJnZXRUb0NoZWNrLAorICAgICAgICBDQ2Fs
bEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoMCkpOworICAgIAorICAgIGppdC5sb2FkUHRyKAorICAg
ICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6cmVnVDAsIEpTRnVuY3Rpb246Om9m
ZnNldE9mU2NvcGVDaGFpbigpKSwKKyAgICAgICAgR1BSSW5mbzo6cmVnVDEpOworICAgIGppdC5z
dG9yZTY0KAorICAgICAgICBHUFJJbmZvOjpyZWdUMSwKKyAgICAgICAgQ0NhbGxIZWxwZXJzOjpB
ZGRyZXNzKAorICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3RlciwK
KyAgICAgICAgICAgIHNpemVvZihSZWdpc3RlcikgKiAoSlNTdGFjazo6U2NvcGVDaGFpbiAtIEpT
U3RhY2s6OkNhbGxlckZyYW1lQW5kUENTaXplKSkpOworICAgIAorICAgIG1fZmFzdENhbGwgPSBq
aXQubmVhckNhbGwoKTsKKyAgICBDQ2FsbEhlbHBlcnM6Okp1bXAgZG9uZSA9IGppdC5qdW1wKCk7
CisgICAgCisgICAgc2xvd1BhdGgubGluaygmaml0KTsKKyAgICBtX3Nsb3dDYWxsID0gaml0Lm5l
YXJDYWxsKCk7CisgICAgCisgICAgZG9uZS5saW5rKCZqaXQpOworfQorCit2b2lkIEpTQ2FsbDo6
bGluayhWTSYgdm0sIExpbmtCdWZmZXImIGxpbmtCdWZmZXIsIENhbGxMaW5rSW5mbyYgY2FsbElu
Zm8pCit7CisgICAgVGh1bmtHZW5lcmF0b3IgZ2VuZXJhdG9yID0gbGlua1RodW5rR2VuZXJhdG9y
Rm9yKAorICAgICAgICBtX25vZGUtPm9wKCkgPT0gREZHOjpDb25zdHJ1Y3QgPyBDb2RlRm9yQ29u
c3RydWN0IDogQ29kZUZvckNhbGwsCisgICAgICAgIE11c3RQcmVzZXJ2ZVJlZ2lzdGVycyk7Cisg
ICAgCisgICAgbGlua0J1ZmZlci5saW5rKAorICAgICAgICBtX3Nsb3dDYWxsLCBGdW5jdGlvblB0
cih2bS5nZXRDVElTdHViKGdlbmVyYXRvcikuY29kZSgpLmV4ZWN1dGFibGVBZGRyZXNzKCkpKTsK
KyAgICAKKyAgICBjYWxsSW5mby5pc0ZUTCA9IHRydWU7CisgICAgY2FsbEluZm8uY2FsbFR5cGUg
PSBtX25vZGUtPm9wKCkgPT0gREZHOjpDb25zdHJ1Y3QgPyBDYWxsTGlua0luZm86OkNvbnN0cnVj
dCA6IENhbGxMaW5rSW5mbzo6Q2FsbDsKKyAgICBjYWxsSW5mby5jb2RlT3JpZ2luID0gbV9ub2Rl
LT5jb2RlT3JpZ2luOworICAgIGNhbGxJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbiA9IGxpbmtCdWZm
ZXIubG9jYXRpb25PZk5lYXJDYWxsKG1fc2xvd0NhbGwpOworICAgIGNhbGxJbmZvLmhvdFBhdGhC
ZWdpbiA9IGxpbmtCdWZmZXIubG9jYXRpb25PZihtX3RhcmdldFRvQ2hlY2spOworICAgIGNhbGxJ
bmZvLmhvdFBhdGhPdGhlciA9IGxpbmtCdWZmZXIubG9jYXRpb25PZk5lYXJDYWxsKG1fZmFzdENh
bGwpOworICAgIGNhbGxJbmZvLmNhbGxlZUdQUiA9IEdQUkluZm86OnJlZ1QwOworfQorCit9IH0g
Ly8gbmFtZXNwYWNlIEpTQzo6RlRMCisKKyNlbmRpZiAvLyBFTkFCTEUoRlRMX0pJVCkKKwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKU0NhbGwuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMSlNDYWxsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTExN2Y4YjI2MWUwNmE3
Nzc1NzNlYjE1MjM1MzE1NWJmMzhhMWI2OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMSlNDYWxsLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIEZUTEpTQ2FsbF9oCisj
ZGVmaW5lIEZUTEpTQ2FsbF9oCisKKyNpZiBFTkFCTEUoRlRMX0pJVCkKKworI2luY2x1ZGUgIkND
YWxsSGVscGVycy5oIgorI2luY2x1ZGUgIkNhbGxMaW5rSW5mby5oIgorI2luY2x1ZGUgIkNvZGVP
cmlnaW4uaCIKKyNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCisKK25hbWVzcGFjZSBKU0MgeworCitu
YW1lc3BhY2UgREZHIHsKK3N0cnVjdCBOb2RlOworfQorCituYW1lc3BhY2UgRlRMIHsKKworY2xh
c3MgSlNDYWxsIHsKK3B1YmxpYzoKKyAgICBKU0NhbGwodW5zaWduZWQgc3RhY2ttYXBJRCwgREZH
OjpOb2RlKik7CisgICAgCisgICAgdm9pZCBlbWl0KENDYWxsSGVscGVycyYpOworICAgIHZvaWQg
bGluayhWTSYsIExpbmtCdWZmZXImLCBDYWxsTGlua0luZm8mKTsKKyAgICAKKyAgICB1bnNpZ25l
ZCBzdGFja21hcElEKCkgY29uc3QgeyByZXR1cm4gbV9zdGFja21hcElEOyB9CisgICAgCisgICAg
Ym9vbCBvcGVyYXRvcjwoY29uc3QgSlNDYWxsJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAg
IHJldHVybiBtX2luc3RydWN0aW9uT2Zmc2V0IDwgb3RoZXIubV9pbnN0cnVjdGlvbk9mZnNldDsK
KyAgICB9CisgICAgCitwcml2YXRlOgorICAgIHVuc2lnbmVkIG1fc3RhY2ttYXBJRDsKKyAgICBE
Rkc6Ok5vZGUqIG1fbm9kZTsKKyAgICBDQ2FsbEhlbHBlcnM6OkRhdGFMYWJlbFB0ciBtX3Rhcmdl
dFRvQ2hlY2s7CisgICAgQ0NhbGxIZWxwZXJzOjpDYWxsIG1fZmFzdENhbGw7CisgICAgQ0NhbGxI
ZWxwZXJzOjpDYWxsIG1fc2xvd0NhbGw7CisKK3B1YmxpYzoKKyAgICB1aW50MzJfdCBtX2luc3Ry
dWN0aW9uT2Zmc2V0OworfTsKKworfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTAorCisjZW5kaWYg
Ly8gRU5BQkxFKEZUTF9KSVQpCisKKyNlbmRpZiAvLyBGVExKU0NhbGxfaAorCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExpbmsuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExMaW5rLmNwcAppbmRleCA4NTA1MGQxNTExNTBhOTY4ODg4MWIzMjlmYWZl
MDA2ODBiNmY0NzVkLi44ODAzOTFhYTE0ZDc2MTU3MGFlYTVkMjEyODg3NzExNTY3YjUwMjg4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExpbmsuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTGluay5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lm
IEVOQUJMRShGVExfSklUKQogCisjaW5jbHVkZSAiQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3Mu
aCIKICNpbmNsdWRlICJDQ2FsbEhlbHBlcnMuaCIKICNpbmNsdWRlICJDYWxsRnJhbWVJbmxpbmVz
LmgiCiAjaW5jbHVkZSAiQ29kZUJsb2NrV2l0aEpJVFR5cGUuaCIKQEAgLTM3LDEyMSArMzgsMTUw
IEBACiAjaW5jbHVkZSAiSklUU3R1YnMuaCIKICNpbmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVk
ZSAiTGlua0J1ZmZlci5oIgorI2luY2x1ZGUgIlByb2ZpbGVyQ29tcGlsYXRpb24uaCIKICNpbmNs
dWRlICJWaXJ0dWFsUmVnaXN0ZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwg
ewogCiB1c2luZyBuYW1lc3BhY2UgREZHOwogCi1zdGF0aWMgdm9pZCBjb21waWxlRW50cnkoQ0Nh
bGxIZWxwZXJzJiBqaXQpCi17Ci0gICAgaml0LnByZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVyQ2Fs
bChHUFJJbmZvOjpyZWdUMik7Ci0gICAgaml0LmVtaXRQdXRSZXR1cm5QQ1RvQ2FsbEZyYW1lSGVh
ZGVyKEdQUkluZm86OnJlZ1QyKTsKLSAgICBqaXQuZW1pdFB1dEltbWVkaWF0ZVRvQ2FsbEZyYW1l
SGVhZGVyKGppdC5jb2RlQmxvY2soKSwgSlNTdGFjazo6Q29kZUJsb2NrKTsKLX0KLQogdm9pZCBs
aW5rKFN0YXRlJiBzdGF0ZSkKIHsKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IHN0YXRlLmdy
YXBoLm1fY29kZUJsb2NrOworICAgIEdyYXBoJiBncmFwaCA9IHN0YXRlLmdyYXBoOworICAgIENv
ZGVCbG9jayogY29kZUJsb2NrID0gZ3JhcGgubV9jb2RlQmxvY2s7CisgICAgVk0mIHZtID0gZ3Jh
cGgubV92bTsKICAgICAKICAgICAvLyBMTFZNIHdpbGwgY3JlYXRlIGl0cyBvd24ganVtcCB0YWJs
ZXMgYXMgbmVlZGVkLgogICAgIGNvZGVCbG9jay0+Y2xlYXJTd2l0Y2hKdW1wVGFibGVzKCk7CiAg
ICAgCi0gICAgc3RhdGUuaml0Q29kZS0+Y29tbW9uLmZyYW1lUmVnaXN0ZXJDb3VudCA9IHN0YXRl
LmdyYXBoLmZyYW1lUmVnaXN0ZXJDb3VudCgpOwotICAgIHN0YXRlLmppdENvZGUtPmNvbW1vbi5y
ZXF1aXJlZFJlZ2lzdGVyQ291bnRGb3JFeGl0ID0gc3RhdGUuZ3JhcGgucmVxdWlyZWRSZWdpc3Rl
ckNvdW50Rm9yRXhpdCgpOworICAgIC8vIEZJWE1FOiBOZWVkIHRvIGtub3cgdGhlIHJlYWwgZnJh
bWUgcmVnaXN0ZXIgY291bnQuCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNTcyNworICAgIHN0YXRlLmppdENvZGUtPmNvbW1vbi5mcmFtZVJlZ2lzdGVy
Q291bnQgPSAxMDAwOworICAgIAorICAgIHN0YXRlLmppdENvZGUtPmNvbW1vbi5yZXF1aXJlZFJl
Z2lzdGVyQ291bnRGb3JFeGl0ID0gZ3JhcGgucmVxdWlyZWRSZWdpc3RlckNvdW50Rm9yRXhpdCgp
OwogICAgIAotICAgIGlmICghc3RhdGUuZ3JhcGgubV9pbmxpbmVDYWxsRnJhbWVzLT5pc0VtcHR5
KCkpCi0gICAgICAgIHN0YXRlLmppdENvZGUtPmNvbW1vbi5pbmxpbmVDYWxsRnJhbWVzID0gc3Rk
Ojptb3ZlKHN0YXRlLmdyYXBoLm1faW5saW5lQ2FsbEZyYW1lcyk7CisgICAgaWYgKCFncmFwaC5t
X2lubGluZUNhbGxGcmFtZXMtPmlzRW1wdHkoKSkKKyAgICAgICAgc3RhdGUuaml0Q29kZS0+Y29t
bW9uLmlubGluZUNhbGxGcmFtZXMgPSBzdGQ6Om1vdmUoZ3JhcGgubV9pbmxpbmVDYWxsRnJhbWVz
KTsKICAgICAKICAgICAvLyBDcmVhdGUgdGhlIGVudHJ5cG9pbnQuIE5vdGUgdGhhdCB3ZSB1c2Ug
dGhpcyBlbnRyeXBvaW50IHRvdGFsbHkgZGlmZmVyZW50bHkKICAgICAvLyBkZXBlbmRpbmcgb24g
d2hldGhlciB3ZSdyZSBkb2luZyBPU1IgZW50cnkgb3Igbm90LgotICAgIC8vIEZJWE1FOiBFeGNl
cHQgZm9yIE9TUiBlbnRyeSwgdGhpcyBpcyBhIHRvdGFsIGtsdWRnZSAtIExMVk0gc2hvdWxkIGp1
c3QgdXNlIG91cgotICAgIC8vIGNhbGxpbmcgY29udmVudGlvbi4KLSAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjIxCi0gICAgQ0NhbGxIZWxwZXJzIGpp
dCgmc3RhdGUuZ3JhcGgubV92bSwgY29kZUJsb2NrKTsKKyAgICBDQ2FsbEhlbHBlcnMgaml0KCZ2
bSwgY29kZUJsb2NrKTsKICAgICAKICAgICBPd25QdHI8TGlua0J1ZmZlcj4gbGlua0J1ZmZlcjsK
ICAgICBDQ2FsbEhlbHBlcnM6OkxhYmVsIGFyaXR5Q2hlY2s7Ci0gICAgc3dpdGNoIChzdGF0ZS5n
cmFwaC5tX3BsYW4ubW9kZSkgewotICAgIGNhc2UgRlRMTW9kZTogewotICAgICAgICBjb21waWxl
RW50cnkoaml0KTsKKworICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyBmcmFtZSA9IENDYWxsSGVs
cGVyczo6QWRkcmVzcygKKyAgICAgICAgQ0NhbGxIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3Rl
ciwgLXN0YXRpY19jYXN0PGludDMyX3Q+KHNpemVvZih2b2lkKikpKTsKICAgICAKLSAgICAgICAg
Ly8gVGhpcyBwYXJ0IGlzIG9ubHkgbmVjZXNzYXJ5IGZvciBmdW5jdGlvbnMuIFdlIGN1cnJlbnRs
eSBvbmx5IGNvbXBpbGUgZnVuY3Rpb25zLgorICAgIGlmIChQcm9maWxlcjo6Q29tcGlsYXRpb24q
IGNvbXBpbGF0aW9uID0gZ3JhcGguY29tcGlsYXRpb24oKSkgeworICAgICAgICBjb21waWxhdGlv
bi0+YWRkRGVzY3JpcHRpb24oCisgICAgICAgICAgICBQcm9maWxlcjo6T3JpZ2luU3RhY2soKSwK
KyAgICAgICAgICAgIHRvQ1N0cmluZygiR2VuZXJhdGVkIEZUTCBKSVQgY29kZSBmb3IgIiwgQ29k
ZUJsb2NrV2l0aEpJVFR5cGUoY29kZUJsb2NrLCBKSVRDb2RlOjpGVExKSVQpLCAiLCBpbnN0cnVj
dGlvbiBjb3VudCA9ICIsIGdyYXBoLm1fY29kZUJsb2NrLT5pbnN0cnVjdGlvbkNvdW50KCksICI6
XG4iKSk7CiAgICAgICAgIAotICAgICAgICBDQ2FsbEhlbHBlcnM6OkxhYmVsIGZyb21Bcml0eUNo
ZWNrID0gaml0LmxhYmVsKCk7CisgICAgICAgIGdyYXBoLm1fZG9taW5hdG9ycy5jb21wdXRlSWZO
ZWNlc3NhcnkoZ3JhcGgpOworICAgICAgICBncmFwaC5tX25hdHVyYWxMb29wcy5jb21wdXRlSWZO
ZWNlc3NhcnkoZ3JhcGgpOwogICAgICAgICAKLSAgICAgICAgLy8gUGxhbnQgYSBjaGVjayB0aGF0
IHN1ZmZpY2llbnQgc3BhY2UgaXMgYXZhaWxhYmxlIGluIHRoZSBKU1N0YWNrLgotICAgICAgICAv
LyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2MjkxCi0g
ICAgICAgIGppdC5hZGRQdHIoCi0gICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0z
Mih2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChzdGF0ZS5qaXRDb2RlLT5jb21tb24ucmVxdWlyZWRS
ZWdpc3RlckNvdW50Rm9yRXhpdCkub2Zmc2V0KCkgKiBzaXplb2YoUmVnaXN0ZXIpKSwKLSAgICAg
ICAgICAgIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJbmZvOjpyZWdUMSk7Ci0gICAg
ICAgIENDYWxsSGVscGVyczo6SnVtcCBzdGFja0NoZWNrID0gaml0LmJyYW5jaFB0cigKLSAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6QWJvdmUsCi0gICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFi
c29sdXRlQWRkcmVzcyhzdGF0ZS5ncmFwaC5tX3ZtLmFkZHJlc3NPZkpTU3RhY2tMaW1pdCgpKSwK
LSAgICAgICAgICAgIEdQUkluZm86OnJlZ1QxKTsKLSAgICAgICAgQ0NhbGxIZWxwZXJzOjpMYWJl
bCBmcm9tU3RhY2tDaGVjayA9IGppdC5sYWJlbCgpOworICAgICAgICBjb25zdCBjaGFyKiBwcmVm
aXggPSAiICAgICI7CiAgICAgICAgIAotICAgICAgICBqaXQuc2V0dXBBcmd1bWVudHNFeGVjU3Rh
dGUoKTsKLSAgICAgICAgaml0Lm1vdmUoCi0gICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oc3RhdGUuZ2VuZXJhdGVkRnVuY3Rpb24p
KSwKLSAgICAgICAgICAgIEdQUkluZm86Om5vbkFyZ0dQUjApOwotICAgICAgICBqaXQuY2FsbChH
UFJJbmZvOjpub25BcmdHUFIwKTsKLSAgICAgICAgaml0LmVtaXRHZXRSZXR1cm5QQ0Zyb21DYWxs
RnJhbWVIZWFkZXJQdHIoR1BSSW5mbzo6cmVnVDEpOwotICAgICAgICBqaXQuZW1pdEdldENhbGxl
ckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRlclB0cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7
Ci0gICAgICAgIGppdC5yZXN0b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybihHUFJJbmZvOjpy
ZWdUMSk7Ci0gICAgICAgIGppdC5yZXQoKTsKKyAgICAgICAgRHVtcENvbnRleHQgZHVtcENvbnRl
eHQ7CisgICAgICAgIFN0cmluZ1ByaW50U3RyZWFtIG91dDsKKyAgICAgICAgTm9kZSogbGFzdE5v
ZGUgPSAwOworICAgICAgICBmb3IgKHNpemVfdCBibG9ja0luZGV4ID0gMDsgYmxvY2tJbmRleCA8
IGdyYXBoLm51bUJsb2NrcygpOyArK2Jsb2NrSW5kZXgpIHsKKyAgICAgICAgICAgIEJhc2ljQmxv
Y2sqIGJsb2NrID0gZ3JhcGguYmxvY2soYmxvY2tJbmRleCk7CisgICAgICAgICAgICBpZiAoIWJs
b2NrKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgCisgICAgICAgICAg
ICBncmFwaC5kdW1wQmxvY2tIZWFkZXIob3V0LCBwcmVmaXgsIGJsb2NrLCBHcmFwaDo6RHVtcExp
dmVQaGlzT25seSwgJmR1bXBDb250ZXh0KTsKKyAgICAgICAgICAgIGNvbXBpbGF0aW9uLT5hZGRE
ZXNjcmlwdGlvbihQcm9maWxlcjo6T3JpZ2luU3RhY2soKSwgb3V0LnRvQ1N0cmluZygpKTsKKyAg
ICAgICAgICAgIG91dC5yZXNldCgpOworICAgICAgICAgICAgCisgICAgICAgICAgICBmb3IgKHNp
emVfdCBub2RlSW5kZXggPSAwOyBub2RlSW5kZXggPCBibG9jay0+c2l6ZSgpOyArK25vZGVJbmRl
eCkgeworICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+YXQobm9kZUluZGV4KTsK
KyAgICAgICAgICAgICAgICBpZiAoIW5vZGUtPndpbGxIYXZlQ29kZUdlbk9yT1NSKCkgJiYgIU9w
dGlvbnM6OnNob3dBbGxERkdOb2RlcygpKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBQcm9maWxlcjo6T3JpZ2luU3RhY2sg
c3RhY2s7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKG5vZGUtPmNvZGVP
cmlnaW4uaXNTZXQoKSkgeworICAgICAgICAgICAgICAgICAgICBzdGFjayA9IFByb2ZpbGVyOjpP
cmlnaW5TdGFjaygKKyAgICAgICAgICAgICAgICAgICAgICAgICp2bS5tX3BlckJ5dGVjb2RlUHJv
ZmlsZXIsIGNvZGVCbG9jaywgbm9kZS0+Y29kZU9yaWdpbik7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlmIChncmFwaC5kdW1wQ29kZU9yaWdp
bihvdXQsIHByZWZpeCwgbGFzdE5vZGUsIG5vZGUsICZkdW1wQ29udGV4dCkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgY29tcGlsYXRpb24tPmFkZERlc2NyaXB0aW9uKHN0YWNrLCBvdXQudG9DU3Ry
aW5nKCkpOworICAgICAgICAgICAgICAgICAgICBvdXQucmVzZXQoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgZ3JhcGguZHVtcChvdXQsIHBy
ZWZpeCwgbm9kZSwgJmR1bXBDb250ZXh0KTsKKyAgICAgICAgICAgICAgICBjb21waWxhdGlvbi0+
YWRkRGVzY3JpcHRpb24oc3RhY2ssIG91dC50b0NTdHJpbmcoKSk7CisgICAgICAgICAgICAgICAg
b3V0LnJlc2V0KCk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKG5vZGUt
PmNvZGVPcmlnaW4uaXNTZXQoKSkKKyAgICAgICAgICAgICAgICAgICAgbGFzdE5vZGUgPSBub2Rl
OworICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBzdGFja0NoZWNr
LmxpbmsoJmppdCk7Ci0gICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0
cihjb2RlQmxvY2spLCBHUFJJbmZvOjphcmd1bWVudEdQUjEpOwotICAgICAgICBqaXQubW92ZShH
UFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKLSAgICAg
ICAgaml0LnN0b3JlMzIoCi0gICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihD
YWxsRnJhbWU6OkxvY2F0aW9uOjplbmNvZGVBc0J5dGVjb2RlT2Zmc2V0KDApKSwKLSAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6dGFnRm9yKHN0YXRpY19jYXN0PFZpcnR1YWxSZWdpc3Rlcj4oSlNT
dGFjazo6QXJndW1lbnRDb3VudCkpKTsKLSAgICAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OmNh
bGxGcmFtZVJlZ2lzdGVyLCAmc3RhdGUuZ3JhcGgubV92bS50b3BDYWxsRnJhbWUpOwotICAgICAg
ICBDQ2FsbEhlbHBlcnM6OkNhbGwgY2FsbFN0YWNrQ2hlY2sgPSBqaXQuY2FsbCgpOwotI2lmICFB
U1NFUlRfRElTQUJMRUQKLSAgICAgICAgLy8gRklYTUU6IG5lZWQgdG8gbWFrZSB0aGlzIGNhbGwg
cmVnaXN0ZXIgd2l0aCBleGNlcHRpb24gaGFuZGxpbmcgc29tZWhvdy4gVGhpcyBpcwotICAgICAg
ICAvLyBwYXJ0IG9mIGEgYmlnZ2VyIHByb2JsZW06IEZUTCBzaG91bGQgYmUgYWJsZSB0byBoYW5k
bGUgZXhjZXB0aW9ucy4KLSAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMzYyMgotICAgICAgICAvLyBVbnRpbCB0aGVuLCB1c2UgYSBKSVQgQVNTRVJU
LgotICAgICAgICBqaXQubG9hZDY0KHN0YXRlLmdyYXBoLm1fdm0uYWRkcmVzc09mRXhjZXB0aW9u
KCksIEdQUkluZm86OnJlZ1QwKTsKLSAgICAgICAgaml0LmppdEFzc2VydElzTnVsbChHUFJJbmZv
OjpyZWdUMCk7Ci0jZW5kaWYKLSAgICAgICAgaml0Lmp1bXAoZnJvbVN0YWNrQ2hlY2spOworICAg
ICAgICBkdW1wQ29udGV4dC5kdW1wKG91dCwgcHJlZml4KTsKKyAgICAgICAgY29tcGlsYXRpb24t
PmFkZERlc2NyaXB0aW9uKFByb2ZpbGVyOjpPcmlnaW5TdGFjaygpLCBvdXQudG9DU3RyaW5nKCkp
OworICAgICAgICBvdXQucmVzZXQoKTsKICAgICAgICAgCi0gICAgICAgIGFyaXR5Q2hlY2sgPSBq
aXQubGFiZWwoKTsKLSAgICAgICAgY29tcGlsZUVudHJ5KGppdCk7CisgICAgICAgIG91dC5wcmlu
dCgiICAgIERpc2Fzc2VtYmx5OlxuIik7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBzdGF0ZS5qaXRDb2RlLT5oYW5kbGVzKCkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGlm
IChzdGF0ZS5jb2RlU2VjdGlvbk5hbWVzW2ldICE9ICJfX3RleHQiKQorICAgICAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgRXhlY3V0YWJsZU1lbW9y
eUhhbmRsZSogaGFuZGxlID0gc3RhdGUuaml0Q29kZS0+aGFuZGxlcygpW2ldLmdldCgpOworICAg
ICAgICAgICAgICAgIGRpc2Fzc2VtYmxlKAorICAgICAgICAgICAgICAgICAgICBNYWNyb0Fzc2Vt
YmxlckNvZGVQdHIoaGFuZGxlLT5zdGFydCgpKSwgaGFuZGxlLT5zaXplSW5CeXRlcygpLAorICAg
ICAgICAgICAgICAgICAgICAiICAgICAgIiwgb3V0LCBMTFZNU3Vic2V0KTsKKyAgICAgICAgfQor
ICAgICAgICBjb21waWxhdGlvbi0+YWRkRGVzY3JpcHRpb24oUHJvZmlsZXI6Ok9yaWdpblN0YWNr
KCksIG91dC50b0NTdHJpbmcoKSk7CisgICAgICAgIG91dC5yZXNldCgpOworICAgICAgICAKKyAg
ICAgICAgc3RhdGUuaml0Q29kZS0+Y29tbW9uLmNvbXBpbGF0aW9uID0gY29tcGlsYXRpb247Cisg
ICAgfQorICAgIAorICAgIHN3aXRjaCAoZ3JhcGgubV9wbGFuLm1vZGUpIHsKKyAgICBjYXNlIEZU
TE1vZGU6IHsKKyAgICAgICAgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBtYWluUGF0aEp1bXBzOwor
ICAgIAogICAgICAgICBqaXQubG9hZDMyKAotICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpwYXls
b2FkRm9yKHN0YXRpY19jYXN0PFZpcnR1YWxSZWdpc3Rlcj4oSlNTdGFjazo6QXJndW1lbnRDb3Vu
dCkpLAorICAgICAgICAgICAgZnJhbWUud2l0aE9mZnNldChzaXplb2YoUmVnaXN0ZXIpICogSlNT
dGFjazo6QXJndW1lbnRDb3VudCksCiAgICAgICAgICAgICBHUFJJbmZvOjpyZWdUMSk7Ci0gICAg
ICAgIGppdC5icmFuY2gzMigKKyAgICAgICAgbWFpblBhdGhKdW1wcy5hcHBlbmQoaml0LmJyYW5j
aDMyKAogICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBYm92ZU9yRXF1YWwsIEdQUkluZm86OnJl
Z1QxLAotICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoY29kZUJsb2NrLT5u
dW1QYXJhbWV0ZXJzKCkpKQotICAgICAgICAgICAgLmxpbmtUbyhmcm9tQXJpdHlDaGVjaywgJmpp
dCk7CisgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihjb2RlQmxvY2stPm51
bVBhcmFtZXRlcnMoKSkpKTsKKyAgICAgICAgaml0LmVtaXRGdW5jdGlvblByb2xvZ3VlKCk7CiAg
ICAgICAgIGppdC5tb3ZlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJbmZvOjphcmd1
bWVudEdQUjApOwogICAgICAgICBqaXQuc3RvcmUzMigKICAgICAgICAgICAgIENDYWxsSGVscGVy
czo6VHJ1c3RlZEltbTMyKENhbGxGcmFtZTo6TG9jYXRpb246OmVuY29kZUFzQnl0ZWNvZGVPZmZz
ZXQoMCkpLAotICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjp0YWdGb3Ioc3RhdGljX2Nhc3Q8Vmly
dHVhbFJlZ2lzdGVyPihKU1N0YWNrOjpBcmd1bWVudENvdW50KSkpOwotICAgICAgICBqaXQuc3Rv
cmVQdHIoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsICZzdGF0ZS5ncmFwaC5tX3ZtLnRvcENh
bGxGcmFtZSk7CisgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OnRhZ0ZvcihKU1N0YWNrOjpBcmd1
bWVudENvdW50KSk7CisgICAgICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdp
c3RlciwgJnZtLnRvcENhbGxGcmFtZSk7CiAgICAgICAgIENDYWxsSGVscGVyczo6Q2FsbCBjYWxs
QXJpdHlDaGVjayA9IGppdC5jYWxsKCk7CiAjaWYgIUFTU0VSVF9ESVNBQkxFRAogICAgICAgICAv
LyBGSVhNRTogbmVlZCB0byBtYWtlIHRoaXMgY2FsbCByZWdpc3RlciB3aXRoIGV4Y2VwdGlvbiBo
YW5kbGluZyBzb21laG93LiBUaGlzIGlzCiAgICAgICAgIC8vIHBhcnQgb2YgYSBiaWdnZXIgcHJv
YmxlbTogRlRMIHNob3VsZCBiZSBhYmxlIHRvIGhhbmRsZSBleGNlcHRpb25zLgogICAgICAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjIyCiAgICAgICAg
IC8vIFVudGlsIHRoZW4sIHVzZSBhIEpJVCBBU1NFUlQuCi0gICAgICAgIGppdC5sb2FkNjQoc3Rh
dGUuZ3JhcGgubV92bS5hZGRyZXNzT2ZFeGNlcHRpb24oKSwgR1BSSW5mbzo6cmVnVDEpOworICAg
ICAgICBqaXQubG9hZDY0KHZtLmFkZHJlc3NPZkV4Y2VwdGlvbigpLCBHUFJJbmZvOjpyZWdUMSk7
CiAgICAgICAgIGppdC5qaXRBc3NlcnRJc051bGwoR1BSSW5mbzo6cmVnVDEpOwogI2VuZGlmCi0g
ICAgICAgIGlmIChHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiAhPSBHUFJJbmZvOjpyZWdUMCkKLSAg
ICAgICAgICAgIGppdC5tb3ZlKEdQUkluZm86OnJldHVyblZhbHVlR1BSLCBHUFJJbmZvOjpyZWdU
MCk7Ci0gICAgICAgIGppdC5icmFuY2hUZXN0MzIoQ0NhbGxIZWxwZXJzOjpaZXJvLCBHUFJJbmZv
OjpyZWdUMCkubGlua1RvKGZyb21Bcml0eUNoZWNrLCAmaml0KTsKKyAgICAgICAgaml0Lm1vdmUo
R1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIsIEdQUkluZm86OnJlZ1QwKTsKKyAgICAgICAgaml0LmVt
aXRGdW5jdGlvbkVwaWxvZ3VlKCk7CisgICAgICAgIG1haW5QYXRoSnVtcHMuYXBwZW5kKGppdC5i
cmFuY2hUZXN0MzIoQ0NhbGxIZWxwZXJzOjpaZXJvLCBHUFJJbmZvOjpyZWdUMCkpOworICAgICAg
ICBqaXQuZW1pdEZ1bmN0aW9uUHJvbG9ndWUoKTsKKyAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tUHRyKHZtLmFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLT5yZXR1cm5Q
Q3NGb3Iodm0sIGNvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpKSksIEdQUkluZm86OnJlZ1Q1KTsK
KyAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpCYXNlSW5kZXgoR1BSSW5mbzo6cmVn
VDUsIEdQUkluZm86OnJlZ1QwLCBDQ2FsbEhlbHBlcnM6OnRpbWVzUHRyKCkpLCBHUFJJbmZvOjpy
ZWdUNSk7CiAgICAgICAgIENDYWxsSGVscGVyczo6Q2FsbCBjYWxsQXJpdHlGaXh1cCA9IGppdC5j
YWxsKCk7Ci0gICAgICAgIGppdC5qdW1wKGZyb21Bcml0eUNoZWNrKTsKLSAgICAgICAgCi0gICAg
ICAgIGxpbmtCdWZmZXIgPSBhZG9wdFB0cihuZXcgTGlua0J1ZmZlcihzdGF0ZS5ncmFwaC5tX3Zt
LCAmaml0LCBjb2RlQmxvY2ssIEpJVENvbXBpbGF0aW9uTXVzdFN1Y2NlZWQpKTsKLSAgICAgICAg
bGlua0J1ZmZlci0+bGluayhjYWxsU3RhY2tDaGVjaywgb3BlcmF0aW9uU3RhY2tDaGVjayk7Cisg
ICAgICAgIGppdC5lbWl0RnVuY3Rpb25FcGlsb2d1ZSgpOworICAgICAgICBtYWluUGF0aEp1bXBz
LmFwcGVuZChqaXQuanVtcCgpKTsKKworICAgICAgICBsaW5rQnVmZmVyID0gYWRvcHRQdHIobmV3
IExpbmtCdWZmZXIodm0sICZqaXQsIGNvZGVCbG9jaywgSklUQ29tcGlsYXRpb25NdXN0U3VjY2Vl
ZCkpOwogICAgICAgICBsaW5rQnVmZmVyLT5saW5rKGNhbGxBcml0eUNoZWNrLCBjb2RlQmxvY2st
Pm1faXNDb25zdHJ1Y3RvciA/IG9wZXJhdGlvbkNvbnN0cnVjdEFyaXR5Q2hlY2sgOiBvcGVyYXRp
b25DYWxsQXJpdHlDaGVjayk7Ci0gICAgICAgIGxpbmtCdWZmZXItPmxpbmsoY2FsbEFyaXR5Rml4
dXAsIEZ1bmN0aW9uUHRyKChzdGF0ZS5ncmFwaC5tX3ZtLmdldENUSVN0dWIoYXJpdHlGaXh1cCkp
LmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpKSk7CisgICAgICAgIGxpbmtCdWZmZXItPmxpbmso
Y2FsbEFyaXR5Rml4dXAsIEZ1bmN0aW9uUHRyKCh2bS5nZXRDVElTdHViKGFyaXR5Rml4dXApKS5j
b2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSkpOworICAgICAgICBsaW5rQnVmZmVyLT5saW5rKG1h
aW5QYXRoSnVtcHMsIENvZGVMb2NhdGlvbkxhYmVsKGJpdHdpc2VfY2FzdDx2b2lkKj4oc3RhdGUu
Z2VuZXJhdGVkRnVuY3Rpb24pKSk7CisKKyAgICAgICAgc3RhdGUuaml0Q29kZS0+aW5pdGlhbGl6
ZUFkZHJlc3NGb3JDYWxsKE1hY3JvQXNzZW1ibGVyQ29kZVB0cihiaXR3aXNlX2Nhc3Q8dm9pZCo+
KHN0YXRlLmdlbmVyYXRlZEZ1bmN0aW9uKSkpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAg
ICAgIApAQCAtMTYwLDE4ICsxOTAsMTQgQEAgdm9pZCBsaW5rKFN0YXRlJiBzdGF0ZSkKICAgICAg
ICAgLy8gdmFsdWVzIGludG8gdGhlIHNjcmF0Y2ggYnVmZmVyLiBFdmVyeXRoaW5nIHNob3VsZCBi
ZSBnb29kIHRvIGdvIC0gYXQgdGhpcwogICAgICAgICAvLyBwb2ludCB3ZSd2ZSBldmVuIGRvbmUg
dGhlIHN0YWNrIGNoZWNrLiBCYXNpY2FsbHkgd2UganVzdCBoYXZlIHRvIG1ha2UgdGhlCiAgICAg
ICAgIC8vIGNhbGwgdG8gdGhlIExMVk0tZ2VuZXJhdGVkIGNvZGUuCi0gICAgICAgIGppdC5zZXR1
cEFyZ3VtZW50c0V4ZWNTdGF0ZSgpOwotICAgICAgICBqaXQubW92ZSgKLSAgICAgICAgICAgIEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZvaWQqPihzdGF0ZS5n
ZW5lcmF0ZWRGdW5jdGlvbikpLAotICAgICAgICAgICAgR1BSSW5mbzo6bm9uQXJnR1BSMCk7Ci0g
ICAgICAgIGppdC5jYWxsKEdQUkluZm86Om5vbkFyZ0dQUjApOwotICAgICAgICBqaXQuZW1pdEdl
dFJldHVyblBDRnJvbUNhbGxGcmFtZUhlYWRlclB0cihHUFJJbmZvOjpyZWdUMSk7Ci0gICAgICAg
IGppdC5lbWl0R2V0Q2FsbGVyRnJhbWVGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEdQUkluZm86OmNh
bGxGcmFtZVJlZ2lzdGVyKTsKLSAgICAgICAgaml0LnJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3Jl
UmV0dXJuKEdQUkluZm86OnJlZ1QxKTsKLSAgICAgICAgaml0LnJldCgpOworICAgICAgICBDQ2Fs
bEhlbHBlcnM6OkxhYmVsIHN0YXJ0ID0gaml0LmxhYmVsKCk7CisgICAgICAgIGppdC5lbWl0RnVu
Y3Rpb25FcGlsb2d1ZSgpOworICAgICAgICBDQ2FsbEhlbHBlcnM6Okp1bXAgbWFpblBhdGhKdW1w
ID0gaml0Lmp1bXAoKTsKICAgICAgICAgCi0gICAgICAgIGxpbmtCdWZmZXIgPSBhZG9wdFB0cihu
ZXcgTGlua0J1ZmZlcigKLSAgICAgICAgICAgIHN0YXRlLmdyYXBoLm1fdm0sICZqaXQsIGNvZGVC
bG9jaywgSklUQ29tcGlsYXRpb25NdXN0U3VjY2VlZCkpOworICAgICAgICBsaW5rQnVmZmVyID0g
YWRvcHRQdHIobmV3IExpbmtCdWZmZXIodm0sICZqaXQsIGNvZGVCbG9jaywgSklUQ29tcGlsYXRp
b25NdXN0U3VjY2VlZCkpOworICAgICAgICBsaW5rQnVmZmVyLT5saW5rKG1haW5QYXRoSnVtcCwg
Q29kZUxvY2F0aW9uTGFiZWwoYml0d2lzZV9jYXN0PHZvaWQqPihzdGF0ZS5nZW5lcmF0ZWRGdW5j
dGlvbikpKTsKKworICAgICAgICBzdGF0ZS5qaXRDb2RlLT5pbml0aWFsaXplQWRkcmVzc0ZvckNh
bGwobGlua0J1ZmZlci0+bG9jYXRpb25PZihzdGFydCkpOwogICAgICAgICBicmVhazsKICAgICB9
CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvTExWTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9M
TFZNLmNwcAppbmRleCBiZTJhNDBjN2RkYzg3OWE4MDg1ZDBiMzhiMWZkOThkMzZmN2YxMWQzLi5j
NTc5NjlkN2E3MmNlNjA0YmQ3ZTNkM2E0OTUzNzU4MTMwYjFmOTY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzIsNiArMzIsNyBAQAog
I2luY2x1ZGUgIkRGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgiCiAjaW5jbHVkZSAiREZH
SW5QbGFjZUFic3RyYWN0U3RhdGUuaCIKICNpbmNsdWRlICJGVExBYnN0cmFjdEhlYXBSZXBvc2l0
b3J5LmgiCisjaW5jbHVkZSAiRlRMQXZhaWxhYmxlUmVjb3ZlcnkuaCIKICNpbmNsdWRlICJGVExG
b3JPU1JFbnRyeUpJVENvZGUuaCIKICNpbmNsdWRlICJGVExGb3JtYXR0ZWRWYWx1ZS5oIgogI2lu
Y2x1ZGUgIkZUTElubGluZUNhY2hlU2l6ZS5oIgpAQCAtNTEsNiArNTIsMTAgQEAgdXNpbmcgbmFt
ZXNwYWNlIERGRzsKIAogc3RhdGljIHN0ZDo6YXRvbWljPGludD4gY29tcGlsZUNvdW50ZXI7CiAK
Ky8vIEZJWE1FOiBHZXQgcmlkIG9mIHRoaXMgYW5kIGludHJvZHVjZSBhIHJlYWwgc3RhY2sgY2hl
Y2suCisvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1NjUwCitz
dGF0aWMgdWludHB0cl90IHN0YWNrTGltaXQ7CisKIC8vIFVzaW5nIHRoaXMgaW5zdGVhZCBvZiB0
eXBlQ2hlY2soKSBoZWxwcyB0byByZWR1Y2UgdGhlIGxvYWQgb24gTExWTSwgYnkgY3JlYXRpbmcK
IC8vIHNpZ25pZmljYW50bHkgbGVzcyBkZWFkIGNvZGUuCiAjZGVmaW5lIEZUTF9UWVBFX0NIRUNL
KGxvd1ZhbHVlLCBoaWdoVmFsdWUsIHR5cGVzUGFzc2VkVGhyb3VnaCwgZmFpbENvbmRpdGlvbikg
ZG8geyBcCkBAIC05MiwxOSArOTcsMjAgQEAgcHVibGljOgogICAgICAgICAgICAgbGx2bS0+TW9k
dWxlQ3JlYXRlV2l0aE5hbWVJbkNvbnRleHQobmFtZS5kYXRhKCksIG1fZnRsU3RhdGUuY29udGV4
dCk7CiAgICAgICAgIAogICAgICAgICBtX2Z0bFN0YXRlLmZ1bmN0aW9uID0gYWRkRnVuY3Rpb24o
Ci0gICAgICAgICAgICBtX2Z0bFN0YXRlLm1vZHVsZSwgbmFtZS5kYXRhKCksIGZ1bmN0aW9uVHlw
ZShtX291dC5pbnQ2NCwgbV9vdXQuaW50UHRyKSk7CisgICAgICAgICAgICBtX2Z0bFN0YXRlLm1v
ZHVsZSwgbmFtZS5kYXRhKCksIGZ1bmN0aW9uVHlwZShtX291dC5pbnQ2NCkpOwogICAgICAgICBz
ZXRGdW5jdGlvbkNhbGxpbmdDb252KG1fZnRsU3RhdGUuZnVuY3Rpb24sIExMVk1DQ2FsbENvbnYp
OworICAgICAgICBpZiAoaXNYODYoKSAmJiBPcHRpb25zOjpsbHZtRGlzYWxsb3dBVlgoKSkgewor
ICAgICAgICAgICAgLy8gQVZYIG1ha2VzIFY4L3JheXRyYWNlIDgwJSBzbG93ZXIuIEl0IG1ha2Vz
IEtyYWtlbi9hdWRpby1vc2NpbGxhdG9yIDQuNXgKKyAgICAgICAgICAgIC8vIHNsb3dlci4gSXQg
c2hvdWxkIGJlIGRpc2FibGVkLgorICAgICAgICAgICAgYWRkVGFyZ2V0RGVwZW5kZW50RnVuY3Rp
b25BdHRyKG1fZnRsU3RhdGUuZnVuY3Rpb24sICJ0YXJnZXQtZmVhdHVyZXMiLCAiLWF2eCIpOwor
ICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBtX291dC5pbml0aWFsaXplKG1fZnRsU3RhdGUu
bW9kdWxlLCBtX2Z0bFN0YXRlLmZ1bmN0aW9uLCBtX2hlYXBzKTsKICAgICAgICAgCi0gICAgICAg
IG1fcHJvbG9ndWUgPSBhcHBlbmRCYXNpY0Jsb2NrKG1fZnRsU3RhdGUuY29udGV4dCwgbV9mdGxT
dGF0ZS5mdW5jdGlvbik7Ci0gICAgICAgIG1fb3V0LmFwcGVuZFRvKG1fcHJvbG9ndWUpOwotICAg
ICAgICBjcmVhdGVQaGlWYXJpYWJsZXMoKTsKLSAgICAgICAgCi0gICAgICAgIG1fY2FsbEZyYW1l
ID0gbV9vdXQucGFyYW0oMCk7Ci0gICAgICAgIG1fdGFnVHlwZU51bWJlciA9IG1fb3V0LmNvbnN0
SW50NjQoVGFnVHlwZU51bWJlcik7Ci0gICAgICAgIG1fdGFnTWFzayA9IG1fb3V0LmNvbnN0SW50
NjQoVGFnTWFzayk7Ci0gICAgICAgIAorICAgICAgICBtX3Byb2xvZ3VlID0gRlRMX05FV19CTE9D
SyhtX291dCwgKCJQcm9sb2d1ZSIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgc3RhY2tPdmVyZmxv
dyA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiU3RhY2sgb3ZlcmZsb3ciKSk7CisgICAgICAgIG1f
aGFuZGxlRXhjZXB0aW9ucyA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiSGFuZGxlIEV4Y2VwdGlv
bnMiKSk7CisKICAgICAgICAgZm9yIChCbG9ja0luZGV4IGJsb2NrSW5kZXggPSAwOyBibG9ja0lu
ZGV4IDwgbV9ncmFwaC5udW1CbG9ja3MoKTsgKytibG9ja0luZGV4KSB7CiAgICAgICAgICAgICBt
X2hpZ2hCbG9jayA9IG1fZ3JhcGguYmxvY2soYmxvY2tJbmRleCk7CiAgICAgICAgICAgICBpZiAo
IW1faGlnaEJsb2NrKQpAQCAtMTEyLDggKzExOCw0MiBAQCBwdWJsaWM6CiAgICAgICAgICAgICBt
X2Jsb2Nrcy5hZGQobV9oaWdoQmxvY2ssIEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiQmxvY2sgIiwg
Km1faGlnaEJsb2NrKSkpOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBtX291dC5hcHBl
bmRUbyhtX3Byb2xvZ3VlKTsKLSAgICAgICAgbV9vdXQuanVtcChsb3dCbG9jayhtX2dyYXBoLmJs
b2NrKDApKSk7CisgICAgICAgIG1fb3V0LmFwcGVuZFRvKG1fcHJvbG9ndWUsIHN0YWNrT3ZlcmZs
b3cpOworICAgICAgICBjcmVhdGVQaGlWYXJpYWJsZXMoKTsKKyAgICAgICAgTFZhbHVlIGNhcHR1
cmVkQWxsb2NhID0gbV9vdXQuYWxsb2NhKGFycmF5VHlwZShtX291dC5pbnQ2NCwgbV9ncmFwaC5t
X25leHRNYWNoaW5lTG9jYWwpKTsKKyAgICAgICAgbV9jYXB0dXJlZCA9IG1fb3V0LmFkZCgKKyAg
ICAgICAgICAgIG1fb3V0LnB0clRvSW50KGNhcHR1cmVkQWxsb2NhLCBtX291dC5pbnRQdHIpLAor
ICAgICAgICAgICAgbV9vdXQuY29uc3RJbnRQdHIobV9ncmFwaC5tX25leHRNYWNoaW5lTG9jYWwg
KiBzaXplb2YoUmVnaXN0ZXIpKSk7OworICAgICAgICAKKyAgICAgICAgLy8gV2Ugc2hvdWxkIG5v
dCBjcmVhdGUgYW55IGFsbG9jYSdzIGFmdGVyIHRoaXMgcG9pbnQsIHNpbmNlIHRoZXkgd2lsbCBj
ZWFzZSB0bworICAgICAgICAvLyBiZSBtZW0ycmVnIGNhbmRpZGF0ZXMuCisgICAgICAgIAorICAg
ICAgICBtX2Z0bFN0YXRlLmNhcHR1cmVkU3RhY2ttYXBJRCA9IG1fc3RhY2ttYXBJRHMrKzsKKyAg
ICAgICAgbV9vdXQuY2FsbCgKKyAgICAgICAgICAgIG1fb3V0LnN0YWNrbWFwSW50cmluc2ljKCks
IG1fb3V0LmNvbnN0SW50NjQobV9mdGxTdGF0ZS5jYXB0dXJlZFN0YWNrbWFwSUQpLAorICAgICAg
ICAgICAgbV9vdXQuaW50MzJaZXJvLCBjYXB0dXJlZEFsbG9jYSk7CisgICAgICAgIAorICAgICAg
ICBtX2NhbGxGcmFtZSA9IG1fb3V0LnB0clRvSW50KAorICAgICAgICAgICAgbV9vdXQuY2FsbCht
X291dC5mcmFtZUFkZHJlc3NJbnRyaW5zaWMoKSwgbV9vdXQuaW50MzJaZXJvKSwgbV9vdXQuaW50
UHRyKTsKKyAgICAgICAgbV90YWdUeXBlTnVtYmVyID0gbV9vdXQuY29uc3RJbnQ2NChUYWdUeXBl
TnVtYmVyKTsKKyAgICAgICAgbV90YWdNYXNrID0gbV9vdXQuY29uc3RJbnQ2NChUYWdNYXNrKTsK
KyAgICAgICAgCisgICAgICAgIG1fb3V0LnN0b3JlUHRyKG1fb3V0LmNvbnN0SW50UHRyKGNvZGVC
bG9jaygpKSwgYWRkcmVzc0ZvcihKU1N0YWNrOjpDb2RlQmxvY2spKTsKKyAgICAgICAgbV9vdXQu
YnJhbmNoKAorICAgICAgICAgICAgbV9vdXQuYmVsb3cobV9jYWxsRnJhbWUsIG1fb3V0LmxvYWRQ
dHIobV9vdXQuYWJzb2x1dGUoJnN0YWNrTGltaXQpKSksCisgICAgICAgICAgICBzdGFja092ZXJm
bG93LCBsb3dCbG9jayhtX2dyYXBoLmJsb2NrKDApKSk7CisgICAgICAgIAorICAgICAgICBtX291
dC5hcHBlbmRUbyhzdGFja092ZXJmbG93LCBtX2hhbmRsZUV4Y2VwdGlvbnMpOworICAgICAgICAv
LyBGSVhNRTogRG8gYSByZWFsIHN0YWNrIGNoZWNrIGFuZCB0aHJvdyB0aGUgZXhjZXB0aW9uIGFw
cHJvcHJpYXRlbHkuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjU2NTAKKyAgICAgICAgbV9vdXQuY3Jhc2goKTsKKyAgICAgICAgCisgICAgICAg
IG1fb3V0LmFwcGVuZFRvKG1faGFuZGxlRXhjZXB0aW9ucywgbG93QmxvY2sobV9ncmFwaC5ibG9j
aygwKSkpOworICAgICAgICBtX2Z0bFN0YXRlLmhhbmRsZUV4Y2VwdGlvblN0YWNrbWFwSUQgPSBt
X3N0YWNrbWFwSURzKys7CisgICAgICAgIG1fb3V0LmNhbGwoCisgICAgICAgICAgICBtX291dC5z
dGFja21hcEludHJpbnNpYygpLCBtX291dC5jb25zdEludDY0KG1fZnRsU3RhdGUuaGFuZGxlRXhj
ZXB0aW9uU3RhY2ttYXBJRCksCisgICAgICAgICAgICBtX291dC5jb25zdEludDMyKE1hY3JvQXNz
ZW1ibGVyOjptYXhKdW1wUmVwbGFjZW1lbnRTaXplKCkpKTsKKyAgICAgICAgbV9vdXQudW5yZWFj
aGFibGUoKTsKICAgICAgICAgCiAgICAgICAgIFZlY3RvcjxCYXNpY0Jsb2NrKj4gZGVwdGhGaXJz
dDsKICAgICAgICAgbV9ncmFwaC5nZXRCbG9ja3NJbkRlcHRoRmlyc3RPcmRlcihkZXB0aEZpcnN0
KTsKQEAgLTIyNiw2ICsyNjYsOCBAQCBwcml2YXRlOgogICAgICAgICBpZiAodmVyYm9zZUNvbXBp
bGF0aW9uRW5hYmxlZCgpKQogICAgICAgICAgICAgZGF0YUxvZygiTG93ZXJpbmcgIiwgbV9ub2Rl
LCAiXG4iKTsKICAgICAgICAgCisgICAgICAgIG1fYXZhaWxhYmxlUmVjb3Zlcmllcy5yZXNpemUo
MCk7CisgICAgICAgIAogICAgICAgICBib29sIHNob3VsZEV4ZWN1dGVFZmZlY3RzID0gbV9pbnRl
cnByZXRlci5zdGFydEV4ZWN1dGluZyhtX25vZGUpOwogICAgICAgICAKICAgICAgICAgc3dpdGNo
IChtX25vZGUtPm9wKCkpIHsKQEAgLTI2NSwxOSArMzA3LDE3IEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICBjb21waWxlVmFsdWVBZGQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IEFyaXRoQWRkOgotICAgICAgICAgICAgY29tcGlsZUFkZFN1YigpOwotICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGNhc2UgQXJpdGhTdWI6Ci0gICAgICAgICAgICBjb21waWxlQWRkU3ViKCk7
CisgICAgICAgICAgICBjb21waWxlQXJpdGhBZGRPclN1YigpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgQXJpdGhNdWw6CiAgICAgICAgICAgICBjb21waWxlQXJpdGhNdWwoKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFyaXRoRGl2OgotICAgICAgICAgICAg
Y29tcGlsZUFyaXRoRGl2TW9kKCk7CisgICAgICAgICAgICBjb21waWxlQXJpdGhEaXYoKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFyaXRoTW9kOgotICAgICAgICAgICAgY29t
cGlsZUFyaXRoRGl2TW9kKCk7CisgICAgICAgICAgICBjb21waWxlQXJpdGhNb2QoKTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFyaXRoTWluOgogICAgICAgICBjYXNlIEFyaXRo
TWF4OgpAQCAtMjg2LDYgKzMyNiwxNSBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEFyaXRoQWJz
OgogICAgICAgICAgICAgY29tcGlsZUFyaXRoQWJzKCk7CiAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBBcml0aFNpbjoKKyAgICAgICAgICAgIGNvbXBpbGVBcml0aFNpbigpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQXJpdGhDb3M6CisgICAgICAgICAgICBjb21w
aWxlQXJpdGhDb3MoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFyaXRoU3Fy
dDoKKyAgICAgICAgICAgIGNvbXBpbGVBcml0aFNxcnQoKTsKKyAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIEFyaXRoTmVnYXRlOgogICAgICAgICAgICAgY29tcGlsZUFyaXRoTmVnYXRl
KCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTMyMiw2ICszNzEsOSBAQCBwcml2YXRlOgogICAg
ICAgICBjYXNlIENoZWNrRnVuY3Rpb246CiAgICAgICAgICAgICBjb21waWxlQ2hlY2tGdW5jdGlv
bigpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2hlY2tFeGVjdXRhYmxlOgor
ICAgICAgICAgICAgY29tcGlsZUNoZWNrRXhlY3V0YWJsZSgpOworICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgQXJyYXlpZnlUb1N0cnVjdHVyZToKICAgICAgICAgICAgIGNvbXBpbGVB
cnJheWlmeVRvU3RydWN0dXJlKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTMzNCw2ICszODYs
NyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEdldEJ5SWQ6CiAgICAgICAgICAgICBjb21waWxl
R2V0QnlJZCgpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUHV0QnlJZERpcmVj
dDoKICAgICAgICAgY2FzZSBQdXRCeUlkOgogICAgICAgICAgICAgY29tcGlsZVB1dEJ5SWQoKTsK
ICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzcyLDkgKzQyNSwxOCBAQCBwcml2YXRlOgogICAgICAg
ICBjYXNlIE5ld0FycmF5QnVmZmVyOgogICAgICAgICAgICAgY29tcGlsZU5ld0FycmF5QnVmZmVy
KCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBOZXdBcnJheVdpdGhTaXplOgor
ICAgICAgICAgICAgY29tcGlsZU5ld0FycmF5V2l0aFNpemUoKTsKKyAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIEFsbG9jYXRlUHJvcGVydHlTdG9yYWdlOgogICAgICAgICAgICAgY29t
cGlsZUFsbG9jYXRlUHJvcGVydHlTdG9yYWdlKCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY2FzZSBUb1N0cmluZzoKKyAgICAgICAgICAgIGNvbXBpbGVUb1N0cmluZygpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTWFrZVJvcGU6CisgICAgICAgICAgICBjb21waWxl
TWFrZVJvcGUoKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFN0cmluZ0NoYXJB
dDoKICAgICAgICAgICAgIGNvbXBpbGVTdHJpbmdDaGFyQXQoKTsKICAgICAgICAgICAgIGJyZWFr
OwpAQCAtMzk2LDYgKzQ1OCwxMiBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIE5vdGlmeVdyaXRl
OgogICAgICAgICAgICAgY29tcGlsZU5vdGlmeVdyaXRlKCk7CiAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBHZXRDYWxsZWU6CisgICAgICAgICAgICBjb21waWxlR2V0Q2FsbGVlKCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBHZXRTY29wZToKKyAgICAgICAgICAg
IGNvbXBpbGVHZXRTY29wZSgpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgR2V0
TXlTY29wZToKICAgICAgICAgICAgIGNvbXBpbGVHZXRNeVNjb3BlKCk7CiAgICAgICAgICAgICBi
cmVhazsKQEAgLTQ2Niw2ICs1MzQsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBJbnQ1MlRv
VmFsdWU6CiAgICAgICAgICAgICBjb21waWxlSW50NTJUb1ZhbHVlKCk7CiAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBDaGVja0FyZ3VtZW50c05vdENyZWF0ZWQ6CisgICAgICAgICAg
ICBjb21waWxlQ2hlY2tBcmd1bWVudHNOb3RDcmVhdGVkKCk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBDb3VudEV4ZWN1dGlvbjoKKyAgICAgICAgICAgIGNvbXBpbGVDb3VudEV4
ZWN1dGlvbigpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgU3RvcmVCYXJyaWVy
OgogICAgICAgICAgICAgY29tcGlsZVN0b3JlQmFycmllcigpOwogICAgICAgICAgICAgYnJlYWs7
CkBAIC00ODIsNiArNTU2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBWYXJpYWJsZVdhdGNo
cG9pbnQ6CiAgICAgICAgIGNhc2UgRnVuY3Rpb25SZWVudHJ5V2F0Y2hwb2ludDoKICAgICAgICAg
Y2FzZSBUeXBlZEFycmF5V2F0Y2hwb2ludDoKKyAgICAgICAgY2FzZSBBbGxvY2F0aW9uUHJvZmls
ZVdhdGNocG9pbnQ6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC04MTUsMjQgKzg5MCw1MyBA
QCBwcml2YXRlOgogICAgICAgICAgICAgbG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMSgpKSwgbG93
SlNWYWx1ZShtX25vZGUtPmNoaWxkMigpKSkpOwogICAgIH0KICAgICAKLSAgICB2b2lkIGNvbXBp
bGVBZGRTdWIoKQorICAgIHZvaWQgY29tcGlsZUFyaXRoQWRkT3JTdWIoKQogICAgIHsKICAgICAg
ICAgYm9vbCBpc1N1YiA9ICBtX25vZGUtPm9wKCkgPT0gQXJpdGhTdWI7CiAgICAgICAgIHN3aXRj
aCAobV9ub2RlLT5iaW5hcnlVc2VLaW5kKCkpIHsKICAgICAgICAgY2FzZSBJbnQzMlVzZTogewog
ICAgICAgICAgICAgTFZhbHVlIGxlZnQgPSBsb3dJbnQzMihtX25vZGUtPmNoaWxkMSgpKTsKICAg
ICAgICAgICAgIExWYWx1ZSByaWdodCA9IGxvd0ludDMyKG1fbm9kZS0+Y2hpbGQyKCkpOwotICAg
ICAgICAgICAgTFZhbHVlIHJlc3VsdCA9IGlzU3ViID8gbV9vdXQuc3ViKGxlZnQsIHJpZ2h0KSA6
IG1fb3V0LmFkZChsZWZ0LCByaWdodCk7CiAKICAgICAgICAgICAgIGlmICghc2hvdWxkQ2hlY2tP
dmVyZmxvdyhtX25vZGUtPmFyaXRoTW9kZSgpKSkgewotICAgICAgICAgICAgICAgIHNldEludDMy
KHJlc3VsdCk7CisgICAgICAgICAgICAgICAgc2V0SW50MzIoaXNTdWIgPyBtX291dC5zdWIobGVm
dCwgcmlnaHQpIDogbV9vdXQuYWRkKGxlZnQsIHJpZ2h0KSk7CiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIExWYWx1ZSBvdmVyZmxvdyA9IGlzU3Vi
ID8gbV9vdXQuc3ViV2l0aE92ZXJmbG93MzIobGVmdCwgcmlnaHQpIDogbV9vdXQuYWRkV2l0aE92
ZXJmbG93MzIobGVmdCwgcmlnaHQpOworICAgICAgICAgICAgTFZhbHVlIHJlc3VsdDsKKyAgICAg
ICAgICAgIGlmICghaXNTdWIpIHsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBtX291dC5hZGRX
aXRoT3ZlcmZsb3czMihsZWZ0LCByaWdodCk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAg
ICAgICAgaWYgKGRvZXNLaWxsKG1fbm9kZS0+Y2hpbGQyKCkpKSB7CisgICAgICAgICAgICAgICAg
ICAgIGFkZEF2YWlsYWJsZVJlY292ZXJ5KAorICAgICAgICAgICAgICAgICAgICAgICAgbV9ub2Rl
LT5jaGlsZDIoKSwgU3ViUmVjb3ZlcnksCisgICAgICAgICAgICAgICAgICAgICAgICBtX291dC5l
eHRyYWN0VmFsdWUocmVzdWx0LCAwKSwgbGVmdCwgVmFsdWVGb3JtYXRJbnQzMik7CisgICAgICAg
ICAgICAgICAgfSBlbHNlIGlmIChkb2VzS2lsbChtX25vZGUtPmNoaWxkMSgpKSkgeworICAgICAg
ICAgICAgICAgICAgICBhZGRBdmFpbGFibGVSZWNvdmVyeSgKKyAgICAgICAgICAgICAgICAgICAg
ICAgIG1fbm9kZS0+Y2hpbGQxKCksIFN1YlJlY292ZXJ5LAorICAgICAgICAgICAgICAgICAgICAg
ICAgbV9vdXQuZXh0cmFjdFZhbHVlKHJlc3VsdCwgMCksIHJpZ2h0LCBWYWx1ZUZvcm1hdEludDMy
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgIHJlc3VsdCA9IG1fb3V0LnN1YldpdGhPdmVyZmxvdzMyKGxlZnQsIHJpZ2h0KTsKKyAgICAg
ICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoZG9lc0tpbGwobV9ub2RlLT5jaGlsZDIo
KSkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gcmVzdWx0ID0gbGVmdCAtIHJpZ2h0CisgICAg
ICAgICAgICAgICAgICAgIC8vIHJlc3VsdCAtIGxlZnQgPSAtcmlnaHQKKyAgICAgICAgICAgICAg
ICAgICAgLy8gcmlnaHQgPSBsZWZ0IC0gcmVzdWx0CisgICAgICAgICAgICAgICAgICAgIGFkZEF2
YWlsYWJsZVJlY292ZXJ5KAorICAgICAgICAgICAgICAgICAgICAgICAgbV9ub2RlLT5jaGlsZDIo
KSwgU3ViUmVjb3ZlcnksCisgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0LCBtX291dC5leHRy
YWN0VmFsdWUocmVzdWx0LCAwKSwgVmFsdWVGb3JtYXRJbnQzMik7CisgICAgICAgICAgICAgICAg
fSBlbHNlIGlmIChkb2VzS2lsbChtX25vZGUtPmNoaWxkMSgpKSkgeworICAgICAgICAgICAgICAg
ICAgICAvLyByZXN1bHQgPSBsZWZ0IC0gcmlnaHQKKyAgICAgICAgICAgICAgICAgICAgLy8gcmVz
dWx0ICsgcmlnaHQgPSBsZWZ0CisgICAgICAgICAgICAgICAgICAgIGFkZEF2YWlsYWJsZVJlY292
ZXJ5KAorICAgICAgICAgICAgICAgICAgICAgICAgbV9ub2RlLT5jaGlsZDEoKSwgQWRkUmVjb3Zl
cnksCisgICAgICAgICAgICAgICAgICAgICAgICBtX291dC5leHRyYWN0VmFsdWUocmVzdWx0LCAw
KSwgcmlnaHQsIFZhbHVlRm9ybWF0SW50MzIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgc3BlY3VsYXRlKE92ZXJmbG93LCBub1ZhbHVlKCksIDAsIG1f
b3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvdywgMSkpOwotICAgICAgICAgICAgc2V0SW50MzIocmVz
dWx0KTsKKyAgICAgICAgICAgIHNwZWN1bGF0ZShPdmVyZmxvdywgbm9WYWx1ZSgpLCAwLCBtX291
dC5leHRyYWN0VmFsdWUocmVzdWx0LCAxKSk7CisgICAgICAgICAgICBzZXRJbnQzMihtX291dC5l
eHRyYWN0VmFsdWUocmVzdWx0LCAwKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
ICAgICAgICAgICAgCkBAIC04NDgsMTEgKzk1Miw0MSBAQCBwcml2YXRlOgogICAgICAgICAgICAg
CiAgICAgICAgICAgICBMVmFsdWUgbGVmdCA9IGxvd0ludDUyKG1fbm9kZS0+Y2hpbGQxKCkpOwog
ICAgICAgICAgICAgTFZhbHVlIHJpZ2h0ID0gbG93SW50NTIobV9ub2RlLT5jaGlsZDIoKSk7Ci0g
ICAgICAgICAgICBMVmFsdWUgcmVzdWx0ID0gaXNTdWIgPyBtX291dC5zdWIobGVmdCwgcmlnaHQp
IDogbV9vdXQuYWRkKGxlZnQsIHJpZ2h0KTsKIAotICAgICAgICAgICAgTFZhbHVlIG92ZXJmbG93
ID0gaXNTdWIgPyBtX291dC5zdWJXaXRoT3ZlcmZsb3c2NChsZWZ0LCByaWdodCkgOiBtX291dC5h
ZGRXaXRoT3ZlcmZsb3c2NChsZWZ0LCByaWdodCk7Ci0gICAgICAgICAgICBzcGVjdWxhdGUoSW50
NTJPdmVyZmxvdywgbm9WYWx1ZSgpLCAwLCBtX291dC5leHRyYWN0VmFsdWUob3ZlcmZsb3csIDEp
KTsKLSAgICAgICAgICAgIHNldEludDUyKHJlc3VsdCk7CisgICAgICAgICAgICBMVmFsdWUgcmVz
dWx0OworICAgICAgICAgICAgaWYgKCFpc1N1YikgeworICAgICAgICAgICAgICAgIHJlc3VsdCA9
IG1fb3V0LmFkZFdpdGhPdmVyZmxvdzY0KGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgICAgICAgICAK
KyAgICAgICAgICAgICAgICBpZiAoZG9lc0tpbGwobV9ub2RlLT5jaGlsZDIoKSkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgYWRkQXZhaWxhYmxlUmVjb3ZlcnkoCisgICAgICAgICAgICAgICAgICAg
ICAgICBtX25vZGUtPmNoaWxkMigpLCBTdWJSZWNvdmVyeSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIG1fb3V0LmV4dHJhY3RWYWx1ZShyZXN1bHQsIDApLCBsZWZ0LCBWYWx1ZUZvcm1hdEludDUy
KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGRvZXNLaWxsKG1fbm9kZS0+Y2hpbGQxKCkp
KSB7CisgICAgICAgICAgICAgICAgICAgIGFkZEF2YWlsYWJsZVJlY292ZXJ5KAorICAgICAgICAg
ICAgICAgICAgICAgICAgbV9ub2RlLT5jaGlsZDEoKSwgU3ViUmVjb3ZlcnksCisgICAgICAgICAg
ICAgICAgICAgICAgICBtX291dC5leHRyYWN0VmFsdWUocmVzdWx0LCAwKSwgcmlnaHQsIFZhbHVl
Rm9ybWF0SW50NTIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgcmVzdWx0ID0gbV9vdXQuc3ViV2l0aE92ZXJmbG93NjQobGVmdCwgcmln
aHQpOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlmIChkb2VzS2lsbChtX25v
ZGUtPmNoaWxkMigpKSkgeworICAgICAgICAgICAgICAgICAgICAvLyByZXN1bHQgPSBsZWZ0IC0g
cmlnaHQKKyAgICAgICAgICAgICAgICAgICAgLy8gcmVzdWx0IC0gbGVmdCA9IC1yaWdodAorICAg
ICAgICAgICAgICAgICAgICAvLyByaWdodCA9IGxlZnQgLSByZXN1bHQKKyAgICAgICAgICAgICAg
ICAgICAgYWRkQXZhaWxhYmxlUmVjb3ZlcnkoCisgICAgICAgICAgICAgICAgICAgICAgICBtX25v
ZGUtPmNoaWxkMigpLCBTdWJSZWNvdmVyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQs
IG1fb3V0LmV4dHJhY3RWYWx1ZShyZXN1bHQsIDApLCBWYWx1ZUZvcm1hdEludDUyKTsKKyAgICAg
ICAgICAgICAgICB9IGVsc2UgaWYgKGRvZXNLaWxsKG1fbm9kZS0+Y2hpbGQxKCkpKSB7CisgICAg
ICAgICAgICAgICAgICAgIC8vIHJlc3VsdCA9IGxlZnQgLSByaWdodAorICAgICAgICAgICAgICAg
ICAgICAvLyByZXN1bHQgKyByaWdodCA9IGxlZnQKKyAgICAgICAgICAgICAgICAgICAgYWRkQXZh
aWxhYmxlUmVjb3ZlcnkoCisgICAgICAgICAgICAgICAgICAgICAgICBtX25vZGUtPmNoaWxkMSgp
LCBBZGRSZWNvdmVyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fb3V0LmV4dHJhY3RWYWx1
ZShyZXN1bHQsIDApLCByaWdodCwgVmFsdWVGb3JtYXRJbnQ1Mik7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzcGVjdWxhdGUoSW50NTJPdmVyZmxvdywg
bm9WYWx1ZSgpLCAwLCBtX291dC5leHRyYWN0VmFsdWUocmVzdWx0LCAxKSk7CisgICAgICAgICAg
ICBzZXRJbnQ1MihtX291dC5leHRyYWN0VmFsdWUocmVzdWx0LCAwKSk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQogICAgICAgICAgICAgCkBAIC04NzYsMTEgKzEwMTAsMTUgQEAgcHJp
dmF0ZToKICAgICAgICAgY2FzZSBJbnQzMlVzZTogewogICAgICAgICAgICAgTFZhbHVlIGxlZnQg
PSBsb3dJbnQzMihtX25vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIExWYWx1ZSByaWdodCA9
IGxvd0ludDMyKG1fbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICAgICAgTFZhbHVlIHJlc3VsdCA9
IG1fb3V0Lm11bChsZWZ0LCByaWdodCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIExWYWx1
ZSByZXN1bHQ7CiAKLSAgICAgICAgICAgIGlmIChzaG91bGRDaGVja092ZXJmbG93KG1fbm9kZS0+
YXJpdGhNb2RlKCkpKSB7CisgICAgICAgICAgICBpZiAoIXNob3VsZENoZWNrT3ZlcmZsb3cobV9u
b2RlLT5hcml0aE1vZGUoKSkpCisgICAgICAgICAgICAgICAgcmVzdWx0ID0gbV9vdXQubXVsKGxl
ZnQsIHJpZ2h0KTsKKyAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIExWYWx1ZSBv
dmVyZmxvd1Jlc3VsdCA9IG1fb3V0Lm11bFdpdGhPdmVyZmxvdzMyKGxlZnQsIHJpZ2h0KTsKICAg
ICAgICAgICAgICAgICBzcGVjdWxhdGUoT3ZlcmZsb3csIG5vVmFsdWUoKSwgMCwgbV9vdXQuZXh0
cmFjdFZhbHVlKG92ZXJmbG93UmVzdWx0LCAxKSk7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0g
bV9vdXQuZXh0cmFjdFZhbHVlKG92ZXJmbG93UmVzdWx0LCAwKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIAogICAgICAgICAgICAgaWYgKHNob3VsZENoZWNrTmVnYXRpdmVaZXJvKG1fbm9k
ZS0+YXJpdGhNb2RlKCkpKSB7CkBAIC05MDQsMTEgKzEwNDIsMTAgQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgIEludDUyS2luZCBraW5kOwogICAgICAgICAgICAgTFZhbHVlIGxlZnQgPSBsb3dXaGlj
aGV2ZXJJbnQ1MihtX25vZGUtPmNoaWxkMSgpLCBraW5kKTsKICAgICAgICAgICAgIExWYWx1ZSBy
aWdodCA9IGxvd0ludDUyKG1fbm9kZS0+Y2hpbGQyKCksIG9wcG9zaXRlKGtpbmQpKTsKLSAgICAg
ICAgICAgIExWYWx1ZSByZXN1bHQgPSBtX291dC5tdWwobGVmdCwgcmlnaHQpOwotCiAKICAgICAg
ICAgICAgIExWYWx1ZSBvdmVyZmxvd1Jlc3VsdCA9IG1fb3V0Lm11bFdpdGhPdmVyZmxvdzY0KGxl
ZnQsIHJpZ2h0KTsKICAgICAgICAgICAgIHNwZWN1bGF0ZShJbnQ1Mk92ZXJmbG93LCBub1ZhbHVl
KCksIDAsIG1fb3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvd1Jlc3VsdCwgMSkpOworICAgICAgICAg
ICAgTFZhbHVlIHJlc3VsdCA9IG1fb3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvd1Jlc3VsdCwgMCk7
CiAKICAgICAgICAgICAgIGlmIChzaG91bGRDaGVja05lZ2F0aXZlWmVybyhtX25vZGUtPmFyaXRo
TW9kZSgpKSkgewogICAgICAgICAgICAgICAgIExCYXNpY0Jsb2NrIHNsb3dDYXNlID0gRlRMX05F
V19CTE9DSyhtX291dCwgKCJBcml0aE11bCBzbG93IGNhc2UiKSk7CkBAIC05MzksMTYgKzEwNzYs
MTYgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgIH0KIAotICAgIHZvaWQgY29tcGlsZUFyaXRo
RGl2TW9kKCkKKyAgICB2b2lkIGNvbXBpbGVBcml0aERpdigpCiAgICAgewogICAgICAgICBzd2l0
Y2ggKG1fbm9kZS0+YmluYXJ5VXNlS2luZCgpKSB7CiAgICAgICAgIGNhc2UgSW50MzJVc2U6IHsK
ICAgICAgICAgICAgIExWYWx1ZSBudW1lcmF0b3IgPSBsb3dJbnQzMihtX25vZGUtPmNoaWxkMSgp
KTsKICAgICAgICAgICAgIExWYWx1ZSBkZW5vbWluYXRvciA9IGxvd0ludDMyKG1fbm9kZS0+Y2hp
bGQyKCkpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBMQmFzaWNCbG9jayB1bnNhZmVEZW5v
bWluYXRvciA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiQXJpdGhEaXZNb2QgdW5zYWZlIGRlbm9t
aW5hdG9yIikpOwotICAgICAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gRlRMX05F
V19CTE9DSyhtX291dCwgKCJBcml0aERpdk1vZCBjb250aW51YXRpb24iKSk7Ci0gICAgICAgICAg
ICBMQmFzaWNCbG9jayBkb25lID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJBcml0aERpdk1vZCBk
b25lIikpOworICAgICAgICAgICAgTEJhc2ljQmxvY2sgdW5zYWZlRGVub21pbmF0b3IgPSBGVExf
TkVXX0JMT0NLKG1fb3V0LCAoIkFyaXRoRGl2IHVuc2FmZSBkZW5vbWluYXRvciIpKTsKKyAgICAg
ICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgi
QXJpdGhEaXYgY29udGludWF0aW9uIikpOworICAgICAgICAgICAgTEJhc2ljQmxvY2sgZG9uZSA9
IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiQXJpdGhEaXYgZG9uZSIpKTsKICAgICAgICAgICAgIAog
ICAgICAgICAgICAgVmVjdG9yPFZhbHVlRnJvbUJsb2NrLCAzPiByZXN1bHRzOwogICAgICAgICAg
ICAgCkBAIC05OTEsOCArMTEyOCw4IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX291dC5hcHBl
bmRUbyhjb250aW51YXRpb24sIGRvbmUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBpZiAo
c2hvdWxkQ2hlY2tOZWdhdGl2ZVplcm8obV9ub2RlLT5hcml0aE1vZGUoKSkpIHsKLSAgICAgICAg
ICAgICAgICBMQmFzaWNCbG9jayB6ZXJvTnVtZXJhdG9yID0gRlRMX05FV19CTE9DSyhtX291dCwg
KCJBcml0aERpdk1vZCB6ZXJvIG51bWVyYXRvciIpKTsKLSAgICAgICAgICAgICAgICBMQmFzaWNC
bG9jayBudW1lcmF0b3JDb250aW51YXRpb24gPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIkFyaXRo
RGl2TW9kIG51bWVyYXRvciBjb250aW51YXRpb24iKSk7CisgICAgICAgICAgICAgICAgTEJhc2lj
QmxvY2sgemVyb051bWVyYXRvciA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiQXJpdGhEaXYgemVy
byBudW1lcmF0b3IiKSk7CisgICAgICAgICAgICAgICAgTEJhc2ljQmxvY2sgbnVtZXJhdG9yQ29u
dGludWF0aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJBcml0aERpdiBudW1lcmF0b3IgY29u
dGludWF0aW9uIikpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIG1fb3V0LmJy
YW5jaChtX291dC5pc1plcm8zMihudW1lcmF0b3IpLCB6ZXJvTnVtZXJhdG9yLCBudW1lcmF0b3JD
b250aW51YXRpb24pOwogICAgICAgICAgICAgICAgIApAQCAtMTAwNiwxNyArMTE0MywxNSBAQCBw
cml2YXRlOgogICAgICAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRvKG51bWVyYXRvckNvbnRpbnVh
dGlvbiwgaW5uZXJMYXN0TmV4dCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAg
ICAgICAgIExWYWx1ZSBkaXZNb2RSZXN1bHQgPSBtX25vZGUtPm9wKCkgPT0gQXJpdGhEaXYKLSAg
ICAgICAgICAgICAgICA/IG1fb3V0LmRpdihudW1lcmF0b3IsIGRlbm9taW5hdG9yKQotICAgICAg
ICAgICAgICAgIDogbV9vdXQucmVtKG51bWVyYXRvciwgZGVub21pbmF0b3IpOworICAgICAgICAg
ICAgTFZhbHVlIHJlc3VsdCA9IG1fb3V0LmRpdihudW1lcmF0b3IsIGRlbm9taW5hdG9yKTsKICAg
ICAgICAgICAgIAogICAgICAgICAgICAgaWYgKHNob3VsZENoZWNrT3ZlcmZsb3cobV9ub2RlLT5h
cml0aE1vZGUoKSkpIHsKICAgICAgICAgICAgICAgICBzcGVjdWxhdGUoCiAgICAgICAgICAgICAg
ICAgICAgIE92ZXJmbG93LCBub1ZhbHVlKCksIDAsCi0gICAgICAgICAgICAgICAgICAgIG1fb3V0
Lm5vdEVxdWFsKG1fb3V0Lm11bChkaXZNb2RSZXN1bHQsIGRlbm9taW5hdG9yKSwgbnVtZXJhdG9y
KSk7CisgICAgICAgICAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKG1fb3V0Lm11bChyZXN1bHQs
IGRlbm9taW5hdG9yKSwgbnVtZXJhdG9yKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAK
LSAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKG1fb3V0LmFuY2hvcihkaXZNb2RSZXN1bHQpKTsK
KyAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKG1fb3V0LmFuY2hvcihyZXN1bHQpKTsKICAgICAg
ICAgICAgIG1fb3V0Lmp1bXAoZG9uZSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIG1fb3V0
LmFwcGVuZFRvKGRvbmUsIGxhc3ROZXh0KTsKQEAgLTEwMjYsOSArMTE2MSw4IEBAIHByaXZhdGU6
CiAgICAgICAgIH0KICAgICAgICAgICAgIAogICAgICAgICBjYXNlIE51bWJlclVzZTogewotICAg
ICAgICAgICAgTFZhbHVlIEMxID0gbG93RG91YmxlKG1fbm9kZS0+Y2hpbGQxKCkpOwotICAgICAg
ICAgICAgTFZhbHVlIEMyID0gbG93RG91YmxlKG1fbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICAg
ICAgc2V0RG91YmxlKG1fbm9kZS0+b3AoKSA9PSBBcml0aERpdiA/IG1fb3V0LmRvdWJsZURpdihD
MSwgQzIpIDogbV9vdXQuZG91YmxlUmVtKEMxLCBDMikpOworICAgICAgICAgICAgc2V0RG91Ymxl
KG1fb3V0LmRvdWJsZURpdigKKyAgICAgICAgICAgICAgICBsb3dEb3VibGUobV9ub2RlLT5jaGls
ZDEoKSksIGxvd0RvdWJsZShtX25vZGUtPmNoaWxkMigpKSkpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KICAgICAgICAgICAgIApAQCAtMTAzOCw2ICsxMTcyLDk5IEBAIHByaXZhdGU6
CiAgICAgICAgIH0KICAgICB9CiAgICAgCisgICAgdm9pZCBjb21waWxlQXJpdGhNb2QoKQorICAg
IHsKKyAgICAgICAgc3dpdGNoIChtX25vZGUtPmJpbmFyeVVzZUtpbmQoKSkgeworICAgICAgICBj
YXNlIEludDMyVXNlOiB7CisgICAgICAgICAgICBMVmFsdWUgbnVtZXJhdG9yID0gbG93SW50MzIo
bV9ub2RlLT5jaGlsZDEoKSk7CisgICAgICAgICAgICBMVmFsdWUgZGVub21pbmF0b3IgPSBsb3dJ
bnQzMihtX25vZGUtPmNoaWxkMigpKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgTEJhc2lj
QmxvY2sgdW5zYWZlRGVub21pbmF0b3IgPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIkFyaXRoTW9k
IHVuc2FmZSBkZW5vbWluYXRvciIpKTsKKyAgICAgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVh
dGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiQXJpdGhNb2QgY29udGludWF0aW9uIikpOwor
ICAgICAgICAgICAgTEJhc2ljQmxvY2sgZG9uZSA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiQXJp
dGhNb2QgZG9uZSIpKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgVmVjdG9yPFZhbHVlRnJv
bUJsb2NrLCAzPiByZXN1bHRzOworICAgICAgICAgICAgCisgICAgICAgICAgICBMVmFsdWUgYWRq
dXN0ZWREZW5vbWluYXRvciA9IG1fb3V0LmFkZChkZW5vbWluYXRvciwgbV9vdXQuaW50MzJPbmUp
OworICAgICAgICAgICAgCisgICAgICAgICAgICBtX291dC5icmFuY2gobV9vdXQuYWJvdmUoYWRq
dXN0ZWREZW5vbWluYXRvciwgbV9vdXQuaW50MzJPbmUpLCBjb250aW51YXRpb24sIHVuc2FmZURl
bm9taW5hdG9yKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5l
eHQgPSBtX291dC5hcHBlbmRUbyh1bnNhZmVEZW5vbWluYXRvciwgY29udGludWF0aW9uKTsKKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgTFZhbHVlIG5lZzJUb1RoZTMxID0gbV9vdXQuY29uc3RJ
bnQzMigtMjE0NzQ4MzY0Ny0xKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgLy8gRklYTUU6
IC0yXjMxIC8gLTEgd2lsbCBhY3R1YWxseSB5aWVsZCBuZWdhdGl2ZSB6ZXJvLCBzbyB3ZSBjb3Vs
ZCBoYXZlIGEKKyAgICAgICAgICAgIC8vIHNlcGFyYXRlIGNhc2UgZm9yIHRoYXQuIEJ1dCBpdCBw
cm9iYWJseSBkb2Vzbid0IG1hdHRlciBzbyBtdWNoLgorICAgICAgICAgICAgaWYgKHNob3VsZENo
ZWNrT3ZlcmZsb3cobV9ub2RlLT5hcml0aE1vZGUoKSkpIHsKKyAgICAgICAgICAgICAgICBMVmFs
dWUgY29uZCA9IG1fb3V0LmJpdE9yKG1fb3V0LmlzWmVybzMyKGRlbm9taW5hdG9yKSwgbV9vdXQu
ZXF1YWwobnVtZXJhdG9yLCBuZWcyVG9UaGUzMSkpOworICAgICAgICAgICAgICAgIHNwZWN1bGF0
ZShPdmVyZmxvdywgbm9WYWx1ZSgpLCAwLCBjb25kKTsKKyAgICAgICAgICAgICAgICBtX291dC5q
dW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IC8vIFRoaXMgaXMgdGhlIGNhc2Ugd2hlcmUgd2UgY29udmVydCB0aGUgcmVzdWx0IHRvIGFuIGlu
dCBhZnRlciB3ZSdyZSBkb25lLiBTbywKKyAgICAgICAgICAgICAgICAvLyBpZiB0aGUgZGVub21p
bmF0b3IgaXMgemVybywgdGhlbiB0aGUgcmVzdWx0IHNob3VsZCBiZSByZXN1bHQgc2hvdWxkIGJl
IHplcm8uCisgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGRlbm9taW5hdG9yIGlzIG5vdCB6ZXJv
IChpLmUuIGl0J3MgLTEgYmVjYXVzZSB3ZSdyZSBndWFyZGVkIGJ5IHRoZQorICAgICAgICAgICAg
ICAgIC8vIGNoZWNrIGFib3ZlKSBhbmQgdGhlIG51bWVyYXRvciBpcyAtMl4zMSB0aGVuIHRoZSBy
ZXN1bHQgc2hvdWxkIGJlIC0yXjMxLgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAg
IExCYXNpY0Jsb2NrIG1vZEJ5WmVybyA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiQXJpdGhNb2Qg
bW9kdWxvIGJ5IHplcm8iKSk7CisgICAgICAgICAgICAgICAgTEJhc2ljQmxvY2sgbm90TW9kQnla
ZXJvID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJBcml0aE1vZCBub3QgbW9kdWxvIGJ5IHplcm8i
KSk7CisgICAgICAgICAgICAgICAgTEJhc2ljQmxvY2sgbmVnMlRvVGhlMzFCeU5lZzEgPSBGVExf
TkVXX0JMT0NLKG1fb3V0LCAoIkFyaXRoTW9kIC0yXjMxLy0xIikpOworICAgICAgICAgICAgICAg
IAorICAgICAgICAgICAgICAgIG1fb3V0LmJyYW5jaChtX291dC5pc1plcm8zMihkZW5vbWluYXRv
ciksIG1vZEJ5WmVybywgbm90TW9kQnlaZXJvKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAg
ICAgICAgICBtX291dC5hcHBlbmRUbyhtb2RCeVplcm8sIG5vdE1vZEJ5WmVybyk7CisgICAgICAg
ICAgICAgICAgcmVzdWx0cy5hcHBlbmQobV9vdXQuYW5jaG9yKG1fb3V0LmludDMyWmVybykpOwor
ICAgICAgICAgICAgICAgIG1fb3V0Lmp1bXAoZG9uZSk7CisgICAgICAgICAgICAgICAgCisgICAg
ICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8obm90TW9kQnlaZXJvLCBuZWcyVG9UaGUzMUJ5TmVn
MSk7CisgICAgICAgICAgICAgICAgbV9vdXQuYnJhbmNoKG1fb3V0LmVxdWFsKG51bWVyYXRvciwg
bmVnMlRvVGhlMzEpLCBuZWcyVG9UaGUzMUJ5TmVnMSwgY29udGludWF0aW9uKTsKKyAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgICAgICBtX291dC5hcHBlbmRUbyhuZWcyVG9UaGUzMUJ5TmVn
MSwgY29udGludWF0aW9uKTsKKyAgICAgICAgICAgICAgICByZXN1bHRzLmFwcGVuZChtX291dC5h
bmNob3IobV9vdXQuaW50MzJaZXJvKSk7CisgICAgICAgICAgICAgICAgbV9vdXQuanVtcChkb25l
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgbV9vdXQuYXBwZW5k
VG8oY29udGludWF0aW9uLCBkb25lKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgTFZhbHVl
IHJlbWFpbmRlciA9IG1fb3V0LnJlbShudW1lcmF0b3IsIGRlbm9taW5hdG9yKTsKKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgaWYgKHNob3VsZENoZWNrTmVnYXRpdmVaZXJvKG1fbm9kZS0+YXJp
dGhNb2RlKCkpKSB7CisgICAgICAgICAgICAgICAgTEJhc2ljQmxvY2sgbmVnYXRpdmVOdW1lcmF0
b3IgPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIkFyaXRoTW9kIG5lZ2F0aXZlIG51bWVyYXRvciIp
KTsKKyAgICAgICAgICAgICAgICBMQmFzaWNCbG9jayBudW1lcmF0b3JDb250aW51YXRpb24gPSBG
VExfTkVXX0JMT0NLKG1fb3V0LCAoIkFyaXRoTW9kIG51bWVyYXRvciBjb250aW51YXRpb24iKSk7
CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgbV9vdXQuYnJhbmNoKAorICAgICAg
ICAgICAgICAgICAgICBtX291dC5sZXNzVGhhbihudW1lcmF0b3IsIG1fb3V0LmludDMyWmVybyks
CisgICAgICAgICAgICAgICAgICAgIG5lZ2F0aXZlTnVtZXJhdG9yLCBudW1lcmF0b3JDb250aW51
YXRpb24pOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIExCYXNpY0Jsb2NrIGlu
bmVyTGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyhuZWdhdGl2ZU51bWVyYXRvciwgbnVtZXJhdG9y
Q29udGludWF0aW9uKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBzcGVjdWxh
dGUoTmVnYXRpdmVaZXJvLCBub1ZhbHVlKCksIDAsIG1fb3V0LmlzWmVybzMyKHJlbWFpbmRlcikp
OworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIG1fb3V0Lmp1bXAobnVtZXJhdG9y
Q29udGludWF0aW9uKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBtX291dC5h
cHBlbmRUbyhudW1lcmF0b3JDb250aW51YXRpb24sIGlubmVyTGFzdE5leHQpOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICByZXN1bHRzLmFwcGVuZChtX291dC5hbmNo
b3IocmVtYWluZGVyKSk7CisgICAgICAgICAgICBtX291dC5qdW1wKGRvbmUpOworICAgICAgICAg
ICAgCisgICAgICAgICAgICBtX291dC5hcHBlbmRUbyhkb25lLCBsYXN0TmV4dCk7CisgICAgICAg
ICAgICAKKyAgICAgICAgICAgIHNldEludDMyKG1fb3V0LnBoaShtX291dC5pbnQzMiwgcmVzdWx0
cykpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAg
ICBjYXNlIE51bWJlclVzZTogeworICAgICAgICAgICAgc2V0RG91YmxlKAorICAgICAgICAgICAg
ICAgIG1fb3V0LmRvdWJsZVJlbShsb3dEb3VibGUobV9ub2RlLT5jaGlsZDEoKSksIGxvd0RvdWJs
ZShtX25vZGUtPmNoaWxkMigpKSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAg
ICAgICAgICAgIAorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCiAg
ICAgdm9pZCBjb21waWxlQXJpdGhNaW5Pck1heCgpCiAgICAgewogICAgICAgICBzd2l0Y2ggKG1f
bm9kZS0+YmluYXJ5VXNlS2luZCgpKSB7CkBAIC0xMTE0LDYgKzEzNDEsMTIgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfQorCisgICAgdm9pZCBjb21waWxl
QXJpdGhTaW4oKSB7IHNldERvdWJsZShtX291dC5kb3VibGVTaW4obG93RG91YmxlKG1fbm9kZS0+
Y2hpbGQxKCkpKSk7IH0KKworICAgIHZvaWQgY29tcGlsZUFyaXRoQ29zKCkgeyBzZXREb3VibGUo
bV9vdXQuZG91YmxlQ29zKGxvd0RvdWJsZShtX25vZGUtPmNoaWxkMSgpKSkpOyB9CisKKyAgICB2
b2lkIGNvbXBpbGVBcml0aFNxcnQoKSB7IHNldERvdWJsZShtX291dC5kb3VibGVTcXJ0KGxvd0Rv
dWJsZShtX25vZGUtPmNoaWxkMSgpKSkpOyB9CiAgICAgCiAgICAgdm9pZCBjb21waWxlQXJpdGhO
ZWdhdGUoKQogICAgIHsKQEAgLTExMjEsMTYgKzEzNTQsMTggQEAgcHJpdmF0ZToKICAgICAgICAg
Y2FzZSBJbnQzMlVzZTogewogICAgICAgICAgICAgTFZhbHVlIHZhbHVlID0gbG93SW50MzIobV9u
b2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIExWYWx1ZSByZXN1bHQg
PSBtX291dC5uZWcodmFsdWUpOwotICAgICAgICAgICAgaWYgKHNob3VsZENoZWNrT3ZlcmZsb3co
bV9ub2RlLT5hcml0aE1vZGUoKSkpIHsKLSAgICAgICAgICAgICAgICBpZiAoIXNob3VsZENoZWNr
TmVnYXRpdmVaZXJvKG1fbm9kZS0+YXJpdGhNb2RlKCkpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IC8vIFdlIGRvbid0IGhhdmUgYSBuZWdhdGUtd2l0aC1vdmVyZmxvdyBpbnRyaW5zaWMuIEhvcGVm
dWxseSB0aGlzCi0gICAgICAgICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLCB0aG91Z2gu
Ci0gICAgICAgICAgICAgICAgICAgIExWYWx1ZSBvdmVyZmxvd1Jlc3VsdCA9IG1fb3V0LnN1Yldp
dGhPdmVyZmxvdzMyKG1fb3V0LmludDMyWmVybywgdmFsdWUpOwotICAgICAgICAgICAgICAgICAg
ICBzcGVjdWxhdGUoT3ZlcmZsb3csIG5vVmFsdWUoKSwgMCwgbV9vdXQuZXh0cmFjdFZhbHVlKG92
ZXJmbG93UmVzdWx0LCAxKSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAg
ICAgICAgIHNwZWN1bGF0ZShPdmVyZmxvdywgbm9WYWx1ZSgpLCAwLCBtX291dC50ZXN0SXNaZXJv
MzIodmFsdWUsIG1fb3V0LmNvbnN0SW50MzIoMHg3ZmZmZmZmZikpKTsKLQorICAgICAgICAgICAg
TFZhbHVlIHJlc3VsdDsKKyAgICAgICAgICAgIGlmICghc2hvdWxkQ2hlY2tPdmVyZmxvdyhtX25v
ZGUtPmFyaXRoTW9kZSgpKSkKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBtX291dC5uZWcodmFs
dWUpOworICAgICAgICAgICAgZWxzZSBpZiAoIXNob3VsZENoZWNrTmVnYXRpdmVaZXJvKG1fbm9k
ZS0+YXJpdGhNb2RlKCkpKSB7CisgICAgICAgICAgICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSBhIG5l
Z2F0ZS13aXRoLW92ZXJmbG93IGludHJpbnNpYy4gSG9wZWZ1bGx5IHRoaXMKKyAgICAgICAgICAg
ICAgICAvLyBkb2VzIHRoZSB0cmljaywgdGhvdWdoLgorICAgICAgICAgICAgICAgIExWYWx1ZSBv
dmVyZmxvd1Jlc3VsdCA9IG1fb3V0LnN1YldpdGhPdmVyZmxvdzMyKG1fb3V0LmludDMyWmVybywg
dmFsdWUpOworICAgICAgICAgICAgICAgIHNwZWN1bGF0ZShPdmVyZmxvdywgbm9WYWx1ZSgpLCAw
LCBtX291dC5leHRyYWN0VmFsdWUob3ZlcmZsb3dSZXN1bHQsIDEpKTsKKyAgICAgICAgICAgICAg
ICByZXN1bHQgPSBtX291dC5leHRyYWN0VmFsdWUob3ZlcmZsb3dSZXN1bHQsIDApOworICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBzcGVjdWxhdGUoT3ZlcmZsb3csIG5vVmFs
dWUoKSwgMCwgbV9vdXQudGVzdElzWmVybzMyKHZhbHVlLCBtX291dC5jb25zdEludDMyKDB4N2Zm
ZmZmZmYpKSk7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gbV9vdXQubmVnKHZhbHVlKTsKICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgc2V0SW50MzIocmVzdWx0KTsKQEAgLTExNTEsNyAr
MTM4Niw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBMVmFsdWUgdmFsdWUgPSBsb3dJbnQ1Miht
X25vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIExWYWx1ZSBvdmVyZmxvd1Jlc3VsdCA9IG1f
b3V0LnN1YldpdGhPdmVyZmxvdzY0KG1fb3V0LmludDY0WmVybywgdmFsdWUpOwogICAgICAgICAg
ICAgc3BlY3VsYXRlKEludDUyT3ZlcmZsb3csIG5vVmFsdWUoKSwgMCwgbV9vdXQuZXh0cmFjdFZh
bHVlKG92ZXJmbG93UmVzdWx0LCAxKSk7Ci0gICAgICAgICAgICBMVmFsdWUgcmVzdWx0ID0gbV9v
dXQubmVnKHZhbHVlKTsKKyAgICAgICAgICAgIExWYWx1ZSByZXN1bHQgPSBtX291dC5leHRyYWN0
VmFsdWUob3ZlcmZsb3dSZXN1bHQsIDApOwogICAgICAgICAgICAgc3BlY3VsYXRlKE5lZ2F0aXZl
WmVybywgbm9WYWx1ZSgpLCAwLCBtX291dC5pc1plcm82NChyZXN1bHQpKTsKICAgICAgICAgICAg
IHNldEludDUyKHJlc3VsdCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTEyNzUsNiArMTUxMCwx
NyBAQCBwcml2YXRlOgogICAgICAgICAgICAgbV9vdXQubm90RXF1YWwoY2VsbCwgd2Vha1BvaW50
ZXIobV9ub2RlLT5mdW5jdGlvbigpKSkpOwogICAgIH0KICAgICAKKyAgICB2b2lkIGNvbXBpbGVD
aGVja0V4ZWN1dGFibGUoKQorICAgIHsKKyAgICAgICAgTFZhbHVlIGNlbGwgPSBsb3dDZWxsKG1f
bm9kZS0+Y2hpbGQxKCkpOworICAgICAgICAKKyAgICAgICAgc3BlY3VsYXRlKAorICAgICAgICAg
ICAgQmFkRXhlY3V0YWJsZSwganNWYWx1ZVZhbHVlKGNlbGwpLCBtX25vZGUtPmNoaWxkMSgpLm5v
ZGUoKSwKKyAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKAorICAgICAgICAgICAgICAgIG1fb3V0
LmxvYWRQdHIoY2VsbCwgbV9oZWFwcy5KU0Z1bmN0aW9uX2V4ZWN1dGFibGUpLAorICAgICAgICAg
ICAgICAgIHdlYWtQb2ludGVyKG1fbm9kZS0+ZXhlY3V0YWJsZSgpKSkpOworICAgIH0KKyAgICAK
ICAgICB2b2lkIGNvbXBpbGVBcnJheWlmeVRvU3RydWN0dXJlKCkKICAgICB7CiAgICAgICAgIExW
YWx1ZSBjZWxsID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsKQEAgLTEzNzAsOCArMTYxNiw4
IEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgY2FsbCA9IG1fb3V0LmNhbGwo
CiAgICAgICAgICAgICBtX291dC5wYXRjaHBvaW50SW50NjRJbnRyaW5zaWMoKSwKLSAgICAgICAg
ICAgIG1fb3V0LmNvbnN0SW50MzIoc3RhY2ttYXBJRCksIG1fb3V0LmNvbnN0SW50MzIoc2l6ZU9m
R2V0QnlJZCgpKSwKLSAgICAgICAgICAgIGNvbnN0TnVsbChtX291dC5yZWY4KSwgbV9vdXQuY29u
c3RJbnQzMigyKSwgbV9jYWxsRnJhbWUsIGJhc2UpOworICAgICAgICAgICAgbV9vdXQuY29uc3RJ
bnQ2NChzdGFja21hcElEKSwgbV9vdXQuY29uc3RJbnQzMihzaXplT2ZHZXRCeUlkKCkpLAorICAg
ICAgICAgICAgY29uc3ROdWxsKG1fb3V0LnJlZjgpLCBtX291dC5jb25zdEludDMyKDEpLCBiYXNl
KTsKICAgICAgICAgc2V0SW5zdHJ1Y3Rpb25DYWxsaW5nQ29udmVudGlvbihjYWxsLCBMTFZNQW55
UmVnQ2FsbENvbnYpOwogICAgICAgICBzZXRKU1ZhbHVlKGNhbGwpOwogICAgICAgICAKQEAgLTEz
OTUsOCArMTY0MSw4IEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgY2FsbCA9
IG1fb3V0LmNhbGwoCiAgICAgICAgICAgICBtX291dC5wYXRjaHBvaW50Vm9pZEludHJpbnNpYygp
LAotICAgICAgICAgICAgbV9vdXQuY29uc3RJbnQzMihzdGFja21hcElEKSwgbV9vdXQuY29uc3RJ
bnQzMihzaXplT2ZQdXRCeUlkKCkpLAotICAgICAgICAgICAgY29uc3ROdWxsKG1fb3V0LnJlZjgp
LCBtX291dC5jb25zdEludDMyKDMpLCBtX2NhbGxGcmFtZSwgYmFzZSwgdmFsdWUpOworICAgICAg
ICAgICAgbV9vdXQuY29uc3RJbnQ2NChzdGFja21hcElEKSwgbV9vdXQuY29uc3RJbnQzMihzaXpl
T2ZQdXRCeUlkKCkpLAorICAgICAgICAgICAgY29uc3ROdWxsKG1fb3V0LnJlZjgpLCBtX291dC5j
b25zdEludDMyKDIpLCBiYXNlLCB2YWx1ZSk7CiAgICAgICAgIHNldEluc3RydWN0aW9uQ2FsbGlu
Z0NvbnZlbnRpb24oY2FsbCwgTExWTUFueVJlZ0NhbGxDb252KTsKICAgICAgICAgCiAgICAgICAg
IG1fZnRsU3RhdGUucHV0QnlJZHMuYXBwZW5kKFB1dEJ5SWREZXNjcmlwdG9yKApAQCAtMTQ2Mywy
MCArMTcwOSwyMCBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEFycmF5OjpJbnQzMjoKICAgICAg
ICAgY2FzZSBBcnJheTo6RG91YmxlOgogICAgICAgICBjYXNlIEFycmF5OjpDb250aWd1b3VzOiB7
Ci0gICAgICAgICAgICBzZXRJbnQzMihtX291dC5sb2FkMzIobG93U3RvcmFnZShtX25vZGUtPmNo
aWxkMigpKSwgbV9oZWFwcy5CdXR0ZXJmbHlfcHVibGljTGVuZ3RoKSk7CisgICAgICAgICAgICBz
ZXRJbnQzMihtX291dC5sb2FkMzJOb25OZWdhdGl2ZShsb3dTdG9yYWdlKG1fbm9kZS0+Y2hpbGQy
KCkpLCBtX2hlYXBzLkJ1dHRlcmZseV9wdWJsaWNMZW5ndGgpKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgQXJyYXk6OlN0cmluZzog
ewogICAgICAgICAgICAgTFZhbHVlIHN0cmluZyA9IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7
Ci0gICAgICAgICAgICBzZXRJbnQzMihtX291dC5sb2FkMzIoc3RyaW5nLCBtX2hlYXBzLkpTU3Ry
aW5nX2xlbmd0aCkpOworICAgICAgICAgICAgc2V0SW50MzIobV9vdXQubG9hZDMyTm9uTmVnYXRp
dmUoc3RyaW5nLCBtX2hlYXBzLkpTU3RyaW5nX2xlbmd0aCkpOwogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg
IGlmIChpc1R5cGVkVmlldyhtX25vZGUtPmFycmF5TW9kZSgpLnR5cGVkQXJyYXlUeXBlKCkpKSB7
CiAgICAgICAgICAgICAgICAgc2V0SW50MzIoCi0gICAgICAgICAgICAgICAgICAgIG1fb3V0Lmxv
YWQzMihsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpLCBtX2hlYXBzLkpTQXJyYXlCdWZmZXJWaWV3
X2xlbmd0aCkpOworICAgICAgICAgICAgICAgICAgICBtX291dC5sb2FkMzJOb25OZWdhdGl2ZShs
b3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpLCBtX2hlYXBzLkpTQXJyYXlCdWZmZXJWaWV3X2xlbmd0
aCkpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IApAQCAtMTUxOCw3ICsxNzY0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIAogICAgICAgICAg
ICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgICAgIG1fb3V0LmFib3ZlT3JFcXVhbCgKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZXgsIG1fb3V0LmxvYWQzMihzdG9yYWdlLCBtX2hlYXBzLkJ1
dHRlcmZseV9wdWJsaWNMZW5ndGgpKSwKKyAgICAgICAgICAgICAgICAgICAgaW5kZXgsIG1fb3V0
LmxvYWQzMk5vbk5lZ2F0aXZlKHN0b3JhZ2UsIG1faGVhcHMuQnV0dGVyZmx5X3B1YmxpY0xlbmd0
aCkpLAogICAgICAgICAgICAgICAgIHNsb3dDYXNlLCBmYXN0Q2FzZSk7CiAgICAgICAgICAgICAK
ICAgICAgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuYXBwZW5kVG8oZmFzdENh
c2UsIHNsb3dDYXNlKTsKQEAgLTE1NjUsNyArMTgxMSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgICAgICBtX291dC5hYm92
ZU9yRXF1YWwoCi0gICAgICAgICAgICAgICAgICAgIGluZGV4LCBtX291dC5sb2FkMzIoc3RvcmFn
ZSwgbV9oZWFwcy5CdXR0ZXJmbHlfcHVibGljTGVuZ3RoKSksCisgICAgICAgICAgICAgICAgICAg
IGluZGV4LCBtX291dC5sb2FkMzJOb25OZWdhdGl2ZShzdG9yYWdlLCBtX2hlYXBzLkJ1dHRlcmZs
eV9wdWJsaWNMZW5ndGgpKSwKICAgICAgICAgICAgICAgICBzbG93Q2FzZSwgaW5Cb3VuZHMpOwog
ICAgICAgICAgICAgCiAgICAgICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFw
cGVuZFRvKGluQm91bmRzLCBib3hQYXRoKTsKQEAgLTE2ODcsNiArMTkzMyw3IEBAIHByaXZhdGU6
CiAgICAgICAgIEVkZ2UgY2hpbGQyID0gbV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDEpOwog
ICAgICAgICBFZGdlIGNoaWxkMyA9IG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAyKTsKICAg
ICAgICAgRWRnZSBjaGlsZDQgPSBtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMyk7CisgICAg
ICAgIEVkZ2UgY2hpbGQ1ID0gbV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDQpOwogICAgICAg
ICAKICAgICAgICAgc3dpdGNoIChtX25vZGUtPmFycmF5TW9kZSgpLnR5cGUoKSkgewogICAgICAg
ICBjYXNlIEFycmF5OjpHZW5lcmljOiB7CkBAIC0xODAxLDYgKzIwNDgsOSBAQCBwcml2YXRlOgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fb3V0Lnplcm9FeHQoaW5kZXgsIG1fb3V0Lmlu
dFB0ciksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9vdXQuY29uc3RJbnRQdHIobG9n
RWxlbWVudFNpemUodHlwZSkpKSkpOwogICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAg
IExUeXBlIHJlZlR5cGU7CisgICAgICAgICAgICAgICAgTFZhbHVlIHZhbHVlVG9TdG9yZTsKKyAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBpZiAoaXNJbnQodHlwZSkpIHsKICAgICAg
ICAgICAgICAgICAgICAgTFZhbHVlIGludFZhbHVlOwogICAgICAgICAgICAgICAgICAgICBzd2l0
Y2ggKGNoaWxkMy51c2VLaW5kKCkpIHsKQEAgLTE4NzYsMzQgKzIxMjYsNTMgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZWxlbWVu
dFNpemUodHlwZSkpIHsKICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAg
ICAgICAgICAgICAgbV9vdXQuc3RvcmU4KG1fb3V0LmludENhc3QoaW50VmFsdWUsIG1fb3V0Lmlu
dDgpLCBwb2ludGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlVG9TdG9yZSA9IG1f
b3V0LmludENhc3QoaW50VmFsdWUsIG1fb3V0LmludDgpOworICAgICAgICAgICAgICAgICAgICAg
ICAgcmVmVHlwZSA9IG1fb3V0LnJlZjg7CiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgICAgICAgICAgICAgbV9v
dXQuc3RvcmUxNihtX291dC5pbnRDYXN0KGludFZhbHVlLCBtX291dC5pbnQxNiksIHBvaW50ZXIp
OworICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVUb1N0b3JlID0gbV9vdXQuaW50Q2FzdChp
bnRWYWx1ZSwgbV9vdXQuaW50MTYpOworICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZSA9
IG1fb3V0LnJlZjE2OwogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICAgICAgICAgIGNhc2UgNDoKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fb3V0LnN0b3JlMzIo
aW50VmFsdWUsIHBvaW50ZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVUb1N0b3Jl
ID0gaW50VmFsdWU7CisgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlID0gbV9vdXQucmVm
MzI7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgLyog
IWlzSW50KHR5cGUpICovIHsKKyAgICAgICAgICAgICAgICAgICAgTFZhbHVlIHZhbHVlID0gbG93
RG91YmxlKGNoaWxkMyk7CisgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAg
ICAgICAgICAgICAgICAgICBjYXNlIFR5cGVGbG9hdDMyOgorICAgICAgICAgICAgICAgICAgICAg
ICAgdmFsdWVUb1N0b3JlID0gbV9vdXQuZnBDYXN0KHZhbHVlLCBtX291dC5mbG9hdFR5cGUpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZSA9IG1fb3V0LnJlZkZsb2F0OworICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgVHlwZUZs
b2F0NjQ6CisgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVRvU3RvcmUgPSB2YWx1ZTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGUgPSBtX291dC5yZWZEb3VibGU7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAg
ICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgCi0gICAgICAg
ICAgICAgICAgQVNTRVJUKGlzRmxvYXQodHlwZSkpOwotICAgICAgICAgICAgICAgIAotICAgICAg
ICAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IGxvd0RvdWJsZShjaGlsZDMpOwotICAgICAgICAgICAg
ICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICAgICAgICAgIGNhc2UgVHlwZUZsb2F0MzI6Ci0g
ICAgICAgICAgICAgICAgICAgIG1fb3V0LnN0b3JlRmxvYXQobV9vdXQuZnBDYXN0KHZhbHVlLCBt
X291dC5mbG9hdFR5cGUpLCBwb2ludGVyKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKLSAgICAgICAgICAgICAgICAgICAgbV9v
dXQuc3RvcmVEb3VibGUodmFsdWUsIHBvaW50ZXIpOwotICAgICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgICAgIGlmIChtX25vZGUtPmFycmF5
TW9kZSgpLmlzSW5Cb3VuZHMoKSkKKyAgICAgICAgICAgICAgICAgICAgbV9vdXQuc3RvcmUodmFs
dWVUb1N0b3JlLCBwb2ludGVyLCByZWZUeXBlKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAg
ICAgICAgICAgICAgICAgICAgTEJhc2ljQmxvY2sgaXNJbkJvdW5kcyA9IEZUTF9ORVdfQkxPQ0so
bV9vdXQsICgiUHV0QnlWYWwgdHlwZWQgYXJyYXkgaW4gYm91bmRzIGNhc2UiKSk7CisgICAgICAg
ICAgICAgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9v
dXQsICgiUHV0QnlWYWwgdHlwZWQgYXJyYXkgY29udGludWF0aW9uIikpOworICAgICAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgbV9vdXQuYnJhbmNoKAorICAgICAgICAgICAg
ICAgICAgICAgICAgbV9vdXQuYWJvdmVPckVxdWFsKGluZGV4LCBsb3dJbnQzMihjaGlsZDUpKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVhdGlvbiwgaXNJbkJvdW5kcyk7CisgICAg
ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4
dCA9IG1fb3V0LmFwcGVuZFRvKGlzSW5Cb3VuZHMsIGNvbnRpbnVhdGlvbik7CisgICAgICAgICAg
ICAgICAgICAgIG1fb3V0LnN0b3JlKHZhbHVlVG9TdG9yZSwgcG9pbnRlciwgcmVmVHlwZSk7Cisg
ICAgICAgICAgICAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAgICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlv
biwgbGFzdE5leHQpOwogICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKQEAgLTIwNjAs
NiArMjMyOSwxMDkgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIG1fb3V0LmNvbnN0SW50UHRyKG1f
bm9kZS0+bnVtQ29uc3RhbnRzKCkpKSk7CiAgICAgfQogICAgIAorICAgIHZvaWQgY29tcGlsZU5l
d0FycmF5V2l0aFNpemUoKQorICAgIHsKKyAgICAgICAgTFZhbHVlIHB1YmxpY0xlbmd0aCA9IGxv
d0ludDMyKG1fbm9kZS0+Y2hpbGQxKCkpOworICAgICAgICAKKyAgICAgICAgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCA9IG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG1fbm9kZS0+Y29kZU9y
aWdpbik7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5hcnJh
eVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oCisgICAgICAgICAgICBt
X25vZGUtPmluZGV4aW5nVHlwZSgpKTsKKyAgICAgICAgCisgICAgICAgIGlmICghZ2xvYmFsT2Jq
ZWN0LT5pc0hhdmluZ0FCYWRUaW1lKCkgJiYgIWhhc0FycmF5U3RvcmFnZShtX25vZGUtPmluZGV4
aW5nVHlwZSgpKSkgeworICAgICAgICAgICAgQVNTRVJUKAorICAgICAgICAgICAgICAgIGhhc1Vu
ZGVjaWRlZChzdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpKQorICAgICAgICAgICAgICAgIHx8IGhh
c0ludDMyKHN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCkpCisgICAgICAgICAgICAgICAgfHwgaGFz
RG91YmxlKHN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCkpCisgICAgICAgICAgICAgICAgfHwgaGFz
Q29udGlndW91cyhzdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpKSk7CisKKyAgICAgICAgICAgIExC
YXNpY0Jsb2NrIGZhc3RDYXNlID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJOZXdBcnJheVdpdGhT
aXplIGZhc3QgY2FzZSIpKTsKKyAgICAgICAgICAgIExCYXNpY0Jsb2NrIGxhcmdlQ2FzZSA9IEZU
TF9ORVdfQkxPQ0sobV9vdXQsICgiTmV3QXJyYXlXaXRoU2l6ZSBsYXJnZSBjYXNlIikpOworICAg
ICAgICAgICAgTEJhc2ljQmxvY2sgZmFpbENhc2UgPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIk5l
d0FycmF5V2l0aFNpemUgZmFpbCBjYXNlIikpOworICAgICAgICAgICAgTEJhc2ljQmxvY2sgc2xv
d0Nhc2UgPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIk5ld0FycmF5V2l0aFNpemUgc2xvdyBjYXNl
IikpOworICAgICAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gRlRMX05FV19CTE9D
SyhtX291dCwgKCJOZXdBcnJheVdpdGhTaXplIGNvbnRpbnVhdGlvbiIpKTsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgbV9vdXQuYnJhbmNoKAorICAgICAgICAgICAgICAgIG1fb3V0LmFib3Zl
T3JFcXVhbChwdWJsaWNMZW5ndGgsIG1fb3V0LmNvbnN0SW50MzIoTUlOX1NQQVJTRV9BUlJBWV9J
TkRFWCkpLAorICAgICAgICAgICAgICAgIGxhcmdlQ2FzZSwgZmFzdENhc2UpOworCisgICAgICAg
ICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGZhc3RDYXNlLCBsYXJn
ZUNhc2UpOworICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBXZSBkb24ndCByb3VuZCB1cCB0
byBCQVNFX1ZFQ1RPUl9MRU4gZm9yIG5ldyBBcnJheShibGFoKS4KKyAgICAgICAgICAgIExWYWx1
ZSB2ZWN0b3JMZW5ndGggPSBwdWJsaWNMZW5ndGg7CisgICAgICAgICAgICAKKyAgICAgICAgICAg
IExWYWx1ZSBwYXlsb2FkU2l6ZSA9CisgICAgICAgICAgICAgICAgbV9vdXQuc2hsKG1fb3V0Lnpl
cm9FeHQodmVjdG9yTGVuZ3RoLCBtX291dC5pbnRQdHIpLCBtX291dC5jb25zdEludFB0cigzKSk7
CisgICAgICAgICAgICAKKyAgICAgICAgICAgIExWYWx1ZSBidXR0ZXJmbHlTaXplID0gbV9vdXQu
YWRkKAorICAgICAgICAgICAgICAgIHBheWxvYWRTaXplLCBtX291dC5jb25zdEludFB0cihzaXpl
b2YoSW5kZXhpbmdIZWFkZXIpKSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIExWYWx1ZSBl
bmRPZlN0b3JhZ2UgPSBhbGxvY2F0ZUJhc2ljU3RvcmFnZUFuZEdldEVuZChidXR0ZXJmbHlTaXpl
LCBmYWlsQ2FzZSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIExWYWx1ZSBidXR0ZXJmbHkg
PSBtX291dC5zdWIoZW5kT2ZTdG9yYWdlLCBwYXlsb2FkU2l6ZSk7CisgICAgICAgICAgICAKKyAg
ICAgICAgICAgIExWYWx1ZSBvYmplY3QgPSBhbGxvY2F0ZU9iamVjdDxKU0FycmF5PigKKyAgICAg
ICAgICAgICAgICBtX291dC5jb25zdEludFB0cihzdHJ1Y3R1cmUpLCBidXR0ZXJmbHksIGZhaWxD
YXNlKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbV9vdXQuc3RvcmUzMihwdWJsaWNMZW5n
dGgsIGJ1dHRlcmZseSwgbV9oZWFwcy5CdXR0ZXJmbHlfcHVibGljTGVuZ3RoKTsKKyAgICAgICAg
ICAgIG1fb3V0LnN0b3JlMzIodmVjdG9yTGVuZ3RoLCBidXR0ZXJmbHksIG1faGVhcHMuQnV0dGVy
Zmx5X3ZlY3Rvckxlbmd0aCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChoYXNEb3Vi
bGUobV9ub2RlLT5pbmRleGluZ1R5cGUoKSkpIHsKKyAgICAgICAgICAgICAgICBMQmFzaWNCbG9j
ayBpbml0TG9vcCA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiTmV3QXJyYXlXaXRoU2l6ZSBkb3Vi
bGUgaW5pdCBsb29wIikpOworICAgICAgICAgICAgICAgIExCYXNpY0Jsb2NrIGluaXREb25lID0g
RlRMX05FV19CTE9DSyhtX291dCwgKCJOZXdBcnJheVdpdGhTaXplIGRvdWJsZSBpbml0IGRvbmUi
KSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3Jp
Z2luYWxJbmRleCA9IG1fb3V0LmFuY2hvcih2ZWN0b3JMZW5ndGgpOworICAgICAgICAgICAgICAg
IFZhbHVlRnJvbUJsb2NrIG9yaWdpbmFsUG9pbnRlciA9IG1fb3V0LmFuY2hvcihidXR0ZXJmbHkp
OworICAgICAgICAgICAgICAgIG1fb3V0LmJyYW5jaChtX291dC5ub3RaZXJvMzIodmVjdG9yTGVu
Z3RoKSwgaW5pdExvb3AsIGluaXREb25lKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAg
ICAgICBMQmFzaWNCbG9jayBpbml0TGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyhpbml0TG9vcCwg
aW5pdERvbmUpOworICAgICAgICAgICAgICAgIExWYWx1ZSBpbmRleCA9IG1fb3V0LnBoaShtX291
dC5pbnQzMiwgb3JpZ2luYWxJbmRleCk7CisgICAgICAgICAgICAgICAgTFZhbHVlIHBvaW50ZXIg
PSBtX291dC5waGkobV9vdXQuaW50UHRyLCBvcmlnaW5hbFBvaW50ZXIpOworICAgICAgICAgICAg
ICAgIAorICAgICAgICAgICAgICAgIG1fb3V0LnN0b3JlNjQoCisgICAgICAgICAgICAgICAgICAg
IG1fb3V0LmNvbnN0SW50NjQoYml0d2lzZV9jYXN0PGludDY0X3Q+KFFOYU4pKSwKKyAgICAgICAg
ICAgICAgICAgICAgVHlwZWRQb2ludGVyKG1faGVhcHMuaW5kZXhlZERvdWJsZVByb3BlcnRpZXMu
YXRBbnlJbmRleCgpLCBwb2ludGVyKSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAg
ICAgTFZhbHVlIG5leHRJbmRleCA9IG1fb3V0LnN1YihpbmRleCwgbV9vdXQuaW50MzJPbmUpOwor
ICAgICAgICAgICAgICAgIGFkZEluY29taW5nKGluZGV4LCBtX291dC5hbmNob3IobmV4dEluZGV4
KSk7CisgICAgICAgICAgICAgICAgYWRkSW5jb21pbmcocG9pbnRlciwgbV9vdXQuYW5jaG9yKG1f
b3V0LmFkZChwb2ludGVyLCBtX291dC5pbnRQdHJFaWdodCkpKTsKKyAgICAgICAgICAgICAgICBt
X291dC5icmFuY2gobV9vdXQubm90WmVybzMyKG5leHRJbmRleCksIGluaXRMb29wLCBpbml0RG9u
ZSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8oaW5p
dERvbmUsIGluaXRMYXN0TmV4dCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAg
ICAgICAgIFZhbHVlRnJvbUJsb2NrIGZhc3RSZXN1bHQgPSBtX291dC5hbmNob3Iob2JqZWN0KTsK
KyAgICAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgbV9vdXQuYXBwZW5kVG8obGFyZ2VDYXNlLCBmYWlsQ2FzZSk7CisgICAgICAgICAg
ICBWYWx1ZUZyb21CbG9jayBsYXJnZVN0cnVjdHVyZSA9IG1fb3V0LmFuY2hvcihtX291dC5jb25z
dEludFB0cigKKyAgICAgICAgICAgICAgICBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlRm9y
SW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhBcnJheVN0b3JhZ2UpKSk7Cisg
ICAgICAgICAgICBtX291dC5qdW1wKHNsb3dDYXNlKTsKKyAgICAgICAgICAgIAorICAgICAgICAg
ICAgbV9vdXQuYXBwZW5kVG8oZmFpbENhc2UsIHNsb3dDYXNlKTsKKyAgICAgICAgICAgIFZhbHVl
RnJvbUJsb2NrIGZhaWxTdHJ1Y3R1cmUgPSBtX291dC5hbmNob3IobV9vdXQuY29uc3RJbnRQdHIo
c3RydWN0dXJlKSk7CisgICAgICAgICAgICBtX291dC5qdW1wKHNsb3dDYXNlKTsKKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8oc2xvd0Nhc2UsIGNvbnRpbnVhdGlvbik7
CisgICAgICAgICAgICBMVmFsdWUgc3RydWN0dXJlVmFsdWUgPSBtX291dC5waGkoCisgICAgICAg
ICAgICAgICAgbV9vdXQuaW50UHRyLCBsYXJnZVN0cnVjdHVyZSwgZmFpbFN0cnVjdHVyZSk7Cisg
ICAgICAgICAgICBWYWx1ZUZyb21CbG9jayBzbG93UmVzdWx0ID0gbV9vdXQuYW5jaG9yKHZtQ2Fs
bCgKKyAgICAgICAgICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyYXlXaXRo
U2l6ZSksCisgICAgICAgICAgICAgICAgbV9jYWxsRnJhbWUsIHN0cnVjdHVyZVZhbHVlLCBwdWJs
aWNMZW5ndGgpKTsKKyAgICAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4
dCk7CisgICAgICAgICAgICBzZXRKU1ZhbHVlKG1fb3V0LnBoaShtX291dC5pbnRQdHIsIGZhc3RS
ZXN1bHQsIHNsb3dSZXN1bHQpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
ICAgICAKKyAgICAgICAgTFZhbHVlIHN0cnVjdHVyZVZhbHVlID0gbV9vdXQuc2VsZWN0KAorICAg
ICAgICAgICAgbV9vdXQuYWJvdmVPckVxdWFsKHB1YmxpY0xlbmd0aCwgbV9vdXQuY29uc3RJbnQz
MihNSU5fU1BBUlNFX0FSUkFZX0lOREVYKSksCisgICAgICAgICAgICBtX291dC5jb25zdEludFB0
cigKKyAgICAgICAgICAgICAgICBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlRm9ySW5kZXhp
bmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhBcnJheVN0b3JhZ2UpKSwKKyAgICAgICAg
ICAgIG1fb3V0LmNvbnN0SW50UHRyKHN0cnVjdHVyZSkpOworICAgICAgICBzZXRKU1ZhbHVlKHZt
Q2FsbChtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZSksIG1fY2FsbEZy
YW1lLCBzdHJ1Y3R1cmVWYWx1ZSwgcHVibGljTGVuZ3RoKSk7CisgICAgfQorICAgIAogICAgIHZv
aWQgY29tcGlsZUFsbG9jYXRlUHJvcGVydHlTdG9yYWdlKCkKICAgICB7CiAgICAgICAgIFN0cnVj
dHVyZVRyYW5zaXRpb25EYXRhJiBkYXRhID0gbV9ub2RlLT5zdHJ1Y3R1cmVUcmFuc2l0aW9uRGF0
YSgpOwpAQCAtMjEwMiw2ICsyNDc0LDE2MCBAQCBwcml2YXRlOgogICAgICAgICBzZXRTdG9yYWdl
KHJlc3VsdCk7CiAgICAgfQogICAgIAorICAgIHZvaWQgY29tcGlsZVRvU3RyaW5nKCkKKyAgICB7
CisgICAgICAgIHN3aXRjaCAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkpIHsKKyAgICAgICAg
Y2FzZSBTdHJpbmdPYmplY3RVc2U6IHsKKyAgICAgICAgICAgIExWYWx1ZSBjZWxsID0gbG93Q2Vs
bChtX25vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgICAgIHNwZWN1bGF0ZVN0cmluZ09iamVjdEZv
ckNlbGwobV9ub2RlLT5jaGlsZDEoKSwgY2VsbCk7CisgICAgICAgICAgICBtX2ludGVycHJldGVy
LmZpbHRlcihtX25vZGUtPmNoaWxkMSgpLCBTcGVjU3RyaW5nT2JqZWN0KTsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgc2V0SlNWYWx1ZShtX291dC5sb2FkUHRyKGNlbGwsIG1faGVhcHMuSlNX
cmFwcGVyT2JqZWN0X2ludGVybmFsVmFsdWUpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorICAgICAgICAgICAgCisgICAgICAgIGNhc2UgU3RyaW5nT3JTdHJpbmdPYmplY3RVc2U6
IHsKKyAgICAgICAgICAgIExWYWx1ZSBjZWxsID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsK
KyAgICAgICAgICAgIExWYWx1ZSBzdHJ1Y3R1cmUgPSBtX291dC5sb2FkUHRyKGNlbGwsIG1faGVh
cHMuSlNDZWxsX3N0cnVjdHVyZSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIExCYXNpY0Js
b2NrIG5vdFN0cmluZyA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiVG9TdHJpbmcgU3RyaW5nT3JT
dHJpbmdPYmplY3Qgbm90IHN0cmluZyBjYXNlIikpOworICAgICAgICAgICAgTEJhc2ljQmxvY2sg
Y29udGludWF0aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJUb1N0cmluZyBTdHJpbmdPclN0
cmluZ09iamVjdCBjb250aW51YXRpb24iKSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIFZh
bHVlRnJvbUJsb2NrIHNpbXBsZVJlc3VsdCA9IG1fb3V0LmFuY2hvcihjZWxsKTsKKyAgICAgICAg
ICAgIG1fb3V0LmJyYW5jaCgKKyAgICAgICAgICAgICAgICBtX291dC5lcXVhbChzdHJ1Y3R1cmUs
IG1fb3V0LmNvbnN0SW50UHRyKHZtKCkuc3RyaW5nU3RydWN0dXJlLmdldCgpKSksCisgICAgICAg
ICAgICAgICAgY29udGludWF0aW9uLCBub3RTdHJpbmcpOworICAgICAgICAgICAgCisgICAgICAg
ICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKG5vdFN0cmluZywgY29u
dGludWF0aW9uKTsKKyAgICAgICAgICAgIHNwZWN1bGF0ZVN0cmluZ09iamVjdEZvclN0cnVjdHVy
ZShtX25vZGUtPmNoaWxkMSgpLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgVmFsdWVGcm9tQmxv
Y2sgdW5ib3hlZFJlc3VsdCA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAgICAgICAgICBtX291dC5s
b2FkUHRyKGNlbGwsIG1faGVhcHMuSlNXcmFwcGVyT2JqZWN0X2ludGVybmFsVmFsdWUpKTsKKyAg
ICAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAgICAgICAgIAorICAgICAg
ICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAgICAgICAg
ICBzZXRKU1ZhbHVlKG1fb3V0LnBoaShtX291dC5pbnQ2NCwgc2ltcGxlUmVzdWx0LCB1bmJveGVk
UmVzdWx0KSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1faW50ZXJwcmV0ZXIuZmlsdGVy
KG1fbm9kZS0+Y2hpbGQxKCksIFNwZWNTdHJpbmcgfCBTcGVjU3RyaW5nT2JqZWN0KTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgIGNhc2UgQ2Vs
bFVzZToKKyAgICAgICAgY2FzZSBVbnR5cGVkVXNlOiB7CisgICAgICAgICAgICBMVmFsdWUgdmFs
dWU7CisgICAgICAgICAgICBpZiAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gQ2VsbFVz
ZSkKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgdmFsdWUgPSBsb3dKU1ZhbHVlKG1fbm9k
ZS0+Y2hpbGQxKCkpOworICAgICAgICAgICAgCisgICAgICAgICAgICBMQmFzaWNCbG9jayBpc0Nl
bGwgPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIlRvU3RyaW5nIENlbGxVc2UvVW50eXBlZFVzZSBp
cyBjZWxsIikpOworICAgICAgICAgICAgTEJhc2ljQmxvY2sgbm90U3RyaW5nID0gRlRMX05FV19C
TE9DSyhtX291dCwgKCJUb1N0cmluZyBDZWxsVXNlL1VudHlwZWRVc2Ugbm90IHN0cmluZyIpKTsK
KyAgICAgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9v
dXQsICgiVG9TdHJpbmcgQ2VsbFVzZS9VbnR5cGVkVXNlIGNvbnRpbnVhdGlvbiIpKTsKKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgTFZhbHVlIGlzQ2VsbFByZWRpY2F0ZTsKKyAgICAgICAgICAg
IGlmIChtX25vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBDZWxsVXNlKQorICAgICAgICAgICAg
ICAgIGlzQ2VsbFByZWRpY2F0ZSA9IG1fb3V0LmJvb2xlYW5UcnVlOworICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgIGlzQ2VsbFByZWRpY2F0ZSA9IHRoaXMtPmlzQ2VsbCh2YWx1ZSk7
CisgICAgICAgICAgICBtX291dC5icmFuY2goaXNDZWxsUHJlZGljYXRlLCBpc0NlbGwsIG5vdFN0
cmluZyk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0g
bV9vdXQuYXBwZW5kVG8oaXNDZWxsLCBub3RTdHJpbmcpOworICAgICAgICAgICAgVmFsdWVGcm9t
QmxvY2sgc2ltcGxlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKHZhbHVlKTsKKyAgICAgICAgICAgIExW
YWx1ZSBpc1N0cmluZ1ByZWRpY2F0ZTsKKyAgICAgICAgICAgIGlmIChtX25vZGUtPmNoaWxkMSgp
LT5wcmVkaWN0aW9uKCkgJiBTcGVjU3RyaW5nKSB7CisgICAgICAgICAgICAgICAgaXNTdHJpbmdQ
cmVkaWNhdGUgPSBtX291dC5lcXVhbCgKKyAgICAgICAgICAgICAgICAgICAgbV9vdXQubG9hZFB0
cih2YWx1ZSwgbV9oZWFwcy5KU0NlbGxfc3RydWN0dXJlKSwKKyAgICAgICAgICAgICAgICAgICAg
bV9vdXQuY29uc3RJbnRQdHIodm0oKS5zdHJpbmdTdHJ1Y3R1cmUuZ2V0KCkpKTsKKyAgICAgICAg
ICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGlzU3RyaW5nUHJlZGljYXRlID0gbV9vdXQuYm9v
bGVhbkZhbHNlOworICAgICAgICAgICAgbV9vdXQuYnJhbmNoKGlzU3RyaW5nUHJlZGljYXRlLCBj
b250aW51YXRpb24sIG5vdFN0cmluZyk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1fb3V0
LmFwcGVuZFRvKG5vdFN0cmluZywgY29udGludWF0aW9uKTsKKyAgICAgICAgICAgIExWYWx1ZSBv
cGVyYXRpb247CisgICAgICAgICAgICBpZiAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0g
Q2VsbFVzZSkKKyAgICAgICAgICAgICAgICBvcGVyYXRpb24gPSBtX291dC5vcGVyYXRpb24ob3Bl
cmF0aW9uVG9TdHJpbmdPbkNlbGwpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
IG9wZXJhdGlvbiA9IG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25Ub1N0cmluZyk7CisgICAgICAg
ICAgICBWYWx1ZUZyb21CbG9jayBjb252ZXJ0ZWRSZXN1bHQgPSBtX291dC5hbmNob3Iodm1DYWxs
KG9wZXJhdGlvbiwgbV9jYWxsRnJhbWUsIHZhbHVlKSk7CisgICAgICAgICAgICBtX291dC5qdW1w
KGNvbnRpbnVhdGlvbik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRv
KGNvbnRpbnVhdGlvbiwgbGFzdE5leHQpOworICAgICAgICAgICAgc2V0SlNWYWx1ZShtX291dC5w
aGkobV9vdXQuaW50NjQsIHNpbXBsZVJlc3VsdCwgY29udmVydGVkUmVzdWx0KSk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIHZvaWQgY29tcGlsZU1ha2VSb3BlKCkK
KyAgICB7CisgICAgICAgIExWYWx1ZSBraWRzWzNdOworICAgICAgICB1bnNpZ25lZCBudW1LaWRz
OworICAgICAgICBraWRzWzBdID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAg
a2lkc1sxXSA9IGxvd0NlbGwobV9ub2RlLT5jaGlsZDIoKSk7CisgICAgICAgIGlmIChtX25vZGUt
PmNoaWxkMygpKSB7CisgICAgICAgICAgICBraWRzWzJdID0gbG93Q2VsbChtX25vZGUtPmNoaWxk
MygpKTsKKyAgICAgICAgICAgIG51bUtpZHMgPSAzOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAga2lkc1syXSA9IDA7CisgICAgICAgICAgICBudW1LaWRzID0gMjsKKyAgICAgICAgfQor
ICAgICAgICAKKyAgICAgICAgTEJhc2ljQmxvY2sgc2xvd1BhdGggPSBGVExfTkVXX0JMT0NLKG1f
b3V0LCAoIk1ha2VSb3BlIHNsb3cgcGF0aCIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGlu
dWF0aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJNYWtlUm9wZSBjb250aW51YXRpb24iKSk7
CisgICAgICAgIAorICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0Lmluc2VydE5l
d0Jsb2Nrc0JlZm9yZShzbG93UGF0aCk7CisgICAgICAgIAorICAgICAgICBNYXJrZWRBbGxvY2F0
b3ImIGFsbG9jYXRvciA9CisgICAgICAgICAgICB2bSgpLmhlYXAuYWxsb2NhdG9yRm9yT2JqZWN0
V2l0aEltbW9ydGFsU3RydWN0dXJlRGVzdHJ1Y3RvcihzaXplb2YoSlNSb3BlU3RyaW5nKSk7Cisg
ICAgICAgIAorICAgICAgICBMVmFsdWUgcmVzdWx0ID0gYWxsb2NhdGVDZWxsKAorICAgICAgICAg
ICAgbV9vdXQuY29uc3RJbnRQdHIoJmFsbG9jYXRvciksCisgICAgICAgICAgICBtX291dC5jb25z
dEludFB0cih2bSgpLnN0cmluZ1N0cnVjdHVyZS5nZXQoKSksCisgICAgICAgICAgICBzbG93UGF0
aCk7CisgICAgICAgIAorICAgICAgICBtX291dC5zdG9yZVB0cihtX291dC5pbnRQdHJaZXJvLCBy
ZXN1bHQsIG1faGVhcHMuSlNTdHJpbmdfdmFsdWUpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgbnVtS2lkczsgKytpKQorICAgICAgICAgICAgbV9vdXQuc3RvcmVQdHIoa2lkc1tp
XSwgcmVzdWx0LCBtX2hlYXBzLkpTUm9wZVN0cmluZ19maWJlcnNbaV0pOworICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSBudW1LaWRzOyBpIDwgSlNSb3BlU3RyaW5nOjpzX21heEludGVybmFsUm9w
ZUxlbmd0aDsgKytpKQorICAgICAgICAgICAgbV9vdXQuc3RvcmVQdHIobV9vdXQuaW50UHRyWmVy
bywgcmVzdWx0LCBtX2hlYXBzLkpTUm9wZVN0cmluZ19maWJlcnNbaV0pOworICAgICAgICBMVmFs
dWUgZmxhZ3MgPSBtX291dC5sb2FkMzIoa2lkc1swXSwgbV9oZWFwcy5KU1N0cmluZ19mbGFncyk7
CisgICAgICAgIExWYWx1ZSBsZW5ndGggPSBtX291dC5sb2FkMzIoa2lkc1swXSwgbV9oZWFwcy5K
U1N0cmluZ19sZW5ndGgpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgbnVtS2lk
czsgKytpKSB7CisgICAgICAgICAgICBmbGFncyA9IG1fb3V0LmJpdEFuZChmbGFncywgbV9vdXQu
bG9hZDMyKGtpZHNbaV0sIG1faGVhcHMuSlNTdHJpbmdfZmxhZ3MpKTsKKyAgICAgICAgICAgIGxl
bmd0aCA9IG1fb3V0LmFkZChsZW5ndGgsIG1fb3V0LmxvYWQzMihraWRzW2ldLCBtX2hlYXBzLkpT
U3RyaW5nX2xlbmd0aCkpOworICAgICAgICB9CisgICAgICAgIG1fb3V0LnN0b3JlMzIoCisgICAg
ICAgICAgICBtX291dC5iaXRBbmQobV9vdXQuY29uc3RJbnQzMihKU1N0cmluZzo6SXM4Qml0KSwg
ZmxhZ3MpLAorICAgICAgICAgICAgcmVzdWx0LCBtX2hlYXBzLkpTU3RyaW5nX2ZsYWdzKTsKKyAg
ICAgICAgbV9vdXQuc3RvcmUzMihsZW5ndGgsIHJlc3VsdCwgbV9oZWFwcy5KU1N0cmluZ19sZW5n
dGgpOworICAgICAgICAKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZmFzdFJlc3VsdCA9IG1fb3V0
LmFuY2hvcihyZXN1bHQpOworICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CisgICAg
ICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhzbG93UGF0aCwgY29udGludWF0aW9uKTsKKyAg
ICAgICAgVmFsdWVGcm9tQmxvY2sgc2xvd1Jlc3VsdDsKKyAgICAgICAgc3dpdGNoIChudW1LaWRz
KSB7CisgICAgICAgIGNhc2UgMjoKKyAgICAgICAgICAgIHNsb3dSZXN1bHQgPSBtX291dC5hbmNo
b3Iodm1DYWxsKAorICAgICAgICAgICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25NYWtl
Um9wZTIpLCBtX2NhbGxGcmFtZSwga2lkc1swXSwga2lkc1sxXSkpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgMzoKKyAgICAgICAgICAgIHNsb3dSZXN1bHQgPSBtX291dC5hbmNo
b3Iodm1DYWxsKAorICAgICAgICAgICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25NYWtl
Um9wZTMpLCBtX2NhbGxGcmFtZSwga2lkc1swXSwga2lkc1sxXSwga2lkc1syXSkpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAg
bV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAKKyAgICAgICAgbV9vdXQuYXBwZW5k
VG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAgICAgIHNldEpTVmFsdWUobV9vdXQucGhp
KG1fb3V0LmludDY0LCBmYXN0UmVzdWx0LCBzbG93UmVzdWx0KSk7CisgICAgfQorICAgIAogICAg
IHZvaWQgY29tcGlsZVN0cmluZ0NoYXJBdCgpCiAgICAgewogICAgICAgICBMVmFsdWUgYmFzZSA9
IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7CkBAIC0yMTE0LDcgKzI2NDAsNyBAQCBwcml2YXRl
OgogICAgICAgICAgICAgCiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0
LmFib3ZlT3JFcXVhbCgKLSAgICAgICAgICAgICAgICBpbmRleCwgbV9vdXQubG9hZDMyKGJhc2Us
IG1faGVhcHMuSlNTdHJpbmdfbGVuZ3RoKSksCisgICAgICAgICAgICAgICAgaW5kZXgsIG1fb3V0
LmxvYWQzMk5vbk5lZ2F0aXZlKGJhc2UsIG1faGVhcHMuSlNTdHJpbmdfbGVuZ3RoKSksCiAgICAg
ICAgICAgICBzbG93UGF0aCwgZmFzdFBhdGgpOwogICAgICAgICAgICAgCiAgICAgICAgIExCYXNp
Y0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuYXBwZW5kVG8oZmFzdFBhdGgsIHNsb3dQYXRoKTsKQEAg
LTIyMTAsNyArMjczNiw4IEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBzcGVjdWxhdGUo
CiAgICAgICAgICAgICBVbmNvdW50YWJsZSwgbm9WYWx1ZSgpLCAwLAotICAgICAgICAgICAgbV9v
dXQuYWJvdmVPckVxdWFsKGluZGV4LCBtX291dC5sb2FkMzIoYmFzZSwgbV9oZWFwcy5KU1N0cmlu
Z19sZW5ndGgpKSk7CisgICAgICAgICAgICBtX291dC5hYm92ZU9yRXF1YWwoCisgICAgICAgICAg
ICAgICAgaW5kZXgsIG1fb3V0LmxvYWQzMk5vbk5lZ2F0aXZlKGJhc2UsIG1faGVhcHMuSlNTdHJp
bmdfbGVuZ3RoKSkpOwogICAgICAgICAKICAgICAgICAgTFZhbHVlIHN0cmluZ0ltcGwgPSBtX291
dC5sb2FkUHRyKGJhc2UsIG1faGVhcHMuSlNTdHJpbmdfdmFsdWUpOwogICAgICAgICAKQEAgLTIz
NDUsNiArMjg3MiwxNiBAQCBwcml2YXRlOgogICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51
YXRpb24sIGxhc3ROZXh0KTsKICAgICB9CiAgICAgCisgICAgdm9pZCBjb21waWxlR2V0Q2FsbGVl
KCkKKyAgICB7CisgICAgICAgIHNldEpTVmFsdWUobV9vdXQubG9hZFB0cihhZGRyZXNzRm9yKEpT
U3RhY2s6OkNhbGxlZSkpKTsKKyAgICB9CisgICAgCisgICAgdm9pZCBjb21waWxlR2V0U2NvcGUo
KQorICAgIHsKKyAgICAgICAgc2V0SlNWYWx1ZShtX291dC5sb2FkUHRyKGxvd0NlbGwobV9ub2Rl
LT5jaGlsZDEoKSksIG1faGVhcHMuSlNGdW5jdGlvbl9zY29wZSkpOworICAgIH0KKyAgICAKICAg
ICB2b2lkIGNvbXBpbGVHZXRNeVNjb3BlKCkKICAgICB7CiAgICAgICAgIHNldEpTVmFsdWUobV9v
dXQubG9hZFB0cihhZGRyZXNzRm9yKApAQCAtMjQ4OCwzNSArMzAyNSwzNyBAQCBwcml2YXRlOgog
ICAgIAogICAgIHZvaWQgY29tcGlsZUNhbGxPckNvbnN0cnVjdCgpCiAgICAgewotICAgICAgICAv
LyBGSVhNRTogVGhpcyBpcyB1bmFjY2VwdGFibHkgc2xvdy4KLSAgICAgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzYyMQorICAgICAgICBpbnQgZHVtbXlU
aGlzQXJndW1lbnQgPSBtX25vZGUtPm9wKCkgPT0gQ2FsbCA/IDAgOiAxOworICAgICAgICBpbnQg
bnVtUGFzc2VkQXJncyA9IG1fbm9kZS0+bnVtQ2hpbGRyZW4oKSAtIDE7CisgICAgICAgIGludCBu
dW1BcmdzID0gbnVtUGFzc2VkQXJncyArIGR1bW15VGhpc0FyZ3VtZW50OwogICAgICAgICAKLSAg
ICAgICAgSl9KSVRPcGVyYXRpb25fRSBmdW5jdGlvbiA9Ci0gICAgICAgICAgICBtX25vZGUtPm9w
KCkgPT0gQ2FsbCA/IG9wZXJhdGlvbkZUTENhbGwgOiBvcGVyYXRpb25GVExDb25zdHJ1Y3Q7Cisg
ICAgICAgIExWYWx1ZSBjYWxsZWUgPSBsb3dKU1ZhbHVlKG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9u
b2RlLCAwKSk7CiAgICAgICAgIAotICAgICAgICBpbnQgZHVtbXlUaGlzQXJndW1lbnQgPSBtX25v
ZGUtPm9wKCkgPT0gQ2FsbCA/IDAgOiAxOworICAgICAgICB1bnNpZ25lZCBzdGFja21hcElEID0g
bV9zdGFja21hcElEcysrOwogICAgICAgICAKLSAgICAgICAgaW50IG51bVBhc3NlZEFyZ3MgPSBt
X25vZGUtPm51bUNoaWxkcmVuKCkgLSAxOworICAgICAgICBWZWN0b3I8TFZhbHVlPiBhcmd1bWVu
dHM7CisgICAgICAgIGFyZ3VtZW50cy5hcHBlbmQobV9vdXQuY29uc3RJbnQ2NChzdGFja21hcElE
KSk7CisgICAgICAgIGFyZ3VtZW50cy5hcHBlbmQobV9vdXQuY29uc3RJbnQzMihzaXplT2ZDYWxs
KCkpKTsKKyAgICAgICAgYXJndW1lbnRzLmFwcGVuZChjb25zdE51bGwobV9vdXQucmVmOCkpOwor
ICAgICAgICBhcmd1bWVudHMuYXBwZW5kKG1fb3V0LmNvbnN0SW50MzIoMSArIEpTU3RhY2s6OkNh
bGxGcmFtZUhlYWRlclNpemUgLSBKU1N0YWNrOjpDYWxsZXJGcmFtZUFuZFBDU2l6ZSArIG51bUFy
Z3MpKTsKKyAgICAgICAgYXJndW1lbnRzLmFwcGVuZChjYWxsZWUpOyAvLyBjYWxsZWUgLT4gJXJh
eAorICAgICAgICBhcmd1bWVudHMuYXBwZW5kKGdldFVuZGVmKG1fb3V0LmludDY0KSk7IC8vIGNv
ZGUgYmxvY2sKKyAgICAgICAgYXJndW1lbnRzLmFwcGVuZChnZXRVbmRlZihtX291dC5pbnQ2NCkp
OyAvLyBzY29wZSBjaGFpbgorICAgICAgICBhcmd1bWVudHMuYXBwZW5kKGNhbGxlZSk7IC8vIGNh
bGxlZSAtPiBzdGFjaworICAgICAgICBhcmd1bWVudHMuYXBwZW5kKG1fb3V0LmNvbnN0SW50NjQo
bnVtQXJncykpOyAvLyBhcmd1bWVudCBjb3VudCBhbmQgemVyb3MgZm9yIHRoZSB0YWcKKyAgICAg
ICAgaWYgKGR1bW15VGhpc0FyZ3VtZW50KQorICAgICAgICAgICAgYXJndW1lbnRzLmFwcGVuZChn
ZXRVbmRlZihtX291dC5pbnQ2NCkpOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bVBh
c3NlZEFyZ3M7ICsraSkKKyAgICAgICAgICAgIGFyZ3VtZW50cy5hcHBlbmQobG93SlNWYWx1ZSht
X2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMSArIGkpKSk7CiAgICAgICAgIAotICAgICAgICBM
VmFsdWUgY2FsbGVlRnJhbWUgPSBtX291dC5hZGQoCi0gICAgICAgICAgICBtX2NhbGxGcmFtZSwK
LSAgICAgICAgICAgIG1fb3V0LmNvbnN0SW50UHRyKHNpemVvZihSZWdpc3RlcikgKiB2aXJ0dWFs
UmVnaXN0ZXJGb3JMb2NhbChtX2dyYXBoLmZyYW1lUmVnaXN0ZXJDb3VudCgpKS5vZmZzZXQoKSkp
OworICAgICAgICBjYWxsUHJlZmxpZ2h0KCk7CiAgICAgICAgIAotICAgICAgICBtX291dC5zdG9y
ZTMyKAotICAgICAgICAgICAgbV9vdXQuY29uc3RJbnQzMihudW1QYXNzZWRBcmdzICsgZHVtbXlU
aGlzQXJndW1lbnQpLAotICAgICAgICAgICAgcGF5bG9hZEZvcihjYWxsZWVGcmFtZSwgSlNTdGFj
azo6QXJndW1lbnRDb3VudCkpOwotICAgICAgICBtX291dC5zdG9yZTY0KG1fY2FsbEZyYW1lLCBj
YWxsZWVGcmFtZSwgbV9oZWFwcy5DYWxsRnJhbWVfY2FsbGVyRnJhbWUpOwotICAgICAgICBtX291
dC5zdG9yZTY0KAotICAgICAgICAgICAgbG93SlNWYWx1ZShtX2dyYXBoLnZhckFyZ0NoaWxkKG1f
bm9kZSwgMCkpLAotICAgICAgICAgICAgYWRkcmVzc0ZvcihjYWxsZWVGcmFtZSwgSlNTdGFjazo6
Q2FsbGVlKSk7CisgICAgICAgIExWYWx1ZSBjYWxsID0gbV9vdXQuY2FsbChtX291dC5wYXRjaHBv
aW50SW50NjRJbnRyaW5zaWMoKSwgYXJndW1lbnRzKTsKKyAgICAgICAgc2V0SW5zdHJ1Y3Rpb25D
YWxsaW5nQ29udmVudGlvbihjYWxsLCBMTFZNV2ViS2l0SlNDYWxsQ29udik7CiAgICAgICAgIAot
ICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bVBhc3NlZEFyZ3M7ICsraSkgewotICAgICAg
ICAgICAgbV9vdXQuc3RvcmU2NCgKLSAgICAgICAgICAgICAgICBsb3dKU1ZhbHVlKG1fZ3JhcGgu
dmFyQXJnQ2hpbGQobV9ub2RlLCAxICsgaSkpLAotICAgICAgICAgICAgICAgIGFkZHJlc3NGb3Io
Y2FsbGVlRnJhbWUsIHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50KGkgKyBkdW1teVRoaXNBcmd1
bWVudCkub2Zmc2V0KCkpKTsKLSAgICAgICAgfQorICAgICAgICBtX2Z0bFN0YXRlLmpzQ2FsbHMu
YXBwZW5kKEpTQ2FsbChzdGFja21hcElELCBtX25vZGUpKTsKICAgICAgICAgCi0gICAgICAgIHNl
dEpTVmFsdWUodm1DYWxsKG1fb3V0Lm9wZXJhdGlvbihmdW5jdGlvbiksIGNhbGxlZUZyYW1lKSk7
CisgICAgICAgIHNldEpTVmFsdWUoY2FsbCk7CiAgICAgfQogICAgIAogICAgIHZvaWQgY29tcGls
ZUp1bXAoKQpAQCAtMjYyNyw3ICszMTY2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIAogICAg
ICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKAot
ICAgICAgICAgICAgICAgICAgICBtX291dC5sb2FkMzIoc3RyaW5nVmFsdWUsIG1faGVhcHMuSlNT
dHJpbmdfbGVuZ3RoKSwKKyAgICAgICAgICAgICAgICAgICAgbV9vdXQubG9hZDMyTm9uTmVnYXRp
dmUoc3RyaW5nVmFsdWUsIG1faGVhcHMuSlNTdHJpbmdfbGVuZ3RoKSwKICAgICAgICAgICAgICAg
ICAgICAgbV9vdXQuaW50MzJPbmUpLAogICAgICAgICAgICAgICAgIGxvd0Jsb2NrKGRhdGEtPmZh
bGxUaHJvdWdoKSwgbGVuZ3RoSXMxKTsKICAgICAgICAgICAgIApAQCAtMjcwOCw2ICszMjQ3LDIy
IEBAIHByaXZhdGU6CiAgICAgICAgIGluZm8ubV9pc0ludmFsaWRhdGlvblBvaW50ID0gdHJ1ZTsK
ICAgICB9CiAgICAgCisgICAgdm9pZCBjb21waWxlQ2hlY2tBcmd1bWVudHNOb3RDcmVhdGVkKCkK
KyAgICB7CisgICAgICAgIEFTU0VSVCghaXNFbXB0eVNwZWN1bGF0aW9uKAorICAgICAgICAgICAg
bV9zdGF0ZS52YXJpYWJsZXMoKS5vcGVyYW5kKAorICAgICAgICAgICAgICAgIG1fZ3JhcGguYXJn
dW1lbnRzUmVnaXN0ZXJGb3IobV9ub2RlLT5jb2RlT3JpZ2luKSkubV90eXBlKSk7CisgICAgICAg
IAorICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgcmVnID0gbV9ncmFwaC5tYWNoaW5lQXJndW1lbnRz
UmVnaXN0ZXJGb3IobV9ub2RlLT5jb2RlT3JpZ2luKTsKKyAgICAgICAgc3BlY3VsYXRlKEFyZ3Vt
ZW50c0VzY2FwZWQsIG5vVmFsdWUoKSwgMCwgbV9vdXQubm90WmVybzY0KG1fb3V0LmxvYWQ2NChh
ZGRyZXNzRm9yKHJlZykpKSk7CisgICAgfQorICAgIAorICAgIHZvaWQgY29tcGlsZUNvdW50RXhl
Y3V0aW9uKCkKKyAgICB7CisgICAgICAgIFR5cGVkUG9pbnRlciBjb3VudGVyID0gbV9vdXQuYWJz
b2x1dGUobV9ub2RlLT5leGVjdXRpb25Db3VudGVyKCktPmFkZHJlc3MoKSk7CisgICAgICAgIG1f
b3V0LnN0b3JlNjQobV9vdXQuYWRkKG1fb3V0LmxvYWQ2NChjb3VudGVyKSwgbV9vdXQuY29uc3RJ
bnQ2NCgxKSksIGNvdW50ZXIpOworICAgIH0KKyAgICAKICAgICBUeXBlZFBvaW50ZXIgYmFzZUlu
ZGV4KEluZGV4ZWRBYnN0cmFjdEhlYXAmIGhlYXAsIExWYWx1ZSBzdG9yYWdlLCBMVmFsdWUgaW5k
ZXgsIEVkZ2UgZWRnZSkKICAgICB7CiAgICAgICAgIHJldHVybiBtX291dC5iYXNlSW5kZXgoCkBA
IC0yOTI0LDcgKzM0NzksNyBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgaWYgKEpTQXJyYXlC
dWZmZXJWaWV3KiB2aWV3ID0gbV9ncmFwaC50cnlHZXRGb2xkYWJsZVZpZXcoYmFzZUVkZ2Uubm9k
ZSgpLCBhcnJheU1vZGUpKQogICAgICAgICAgICAgcmV0dXJuIG1fb3V0LmNvbnN0SW50MzIodmll
dy0+bGVuZ3RoKCkpOwotICAgICAgICByZXR1cm4gbV9vdXQubG9hZDMyKGJhc2UsIG1faGVhcHMu
SlNBcnJheUJ1ZmZlclZpZXdfbGVuZ3RoKTsKKyAgICAgICAgcmV0dXJuIG1fb3V0LmxvYWQzMk5v
bk5lZ2F0aXZlKGJhc2UsIG1faGVhcHMuSlNBcnJheUJ1ZmZlclZpZXdfbGVuZ3RoKTsKICAgICB9
CiAgICAgCiAgICAgTFZhbHVlIHR5cGVkQXJyYXlMZW5ndGgoRWRnZSBiYXNlRWRnZSwgQXJyYXlN
b2RlIGFycmF5TW9kZSkKQEAgLTI5NDgsNyArMzUwMyw3IEBAIHByaXZhdGU6CiAgICAgICAgICAg
ICAgICAgICAgIE1hbnVhbE9wZXJhbmRTcGVjdWxhdGlvbikpOwogICAgICAgICBjYXNlIFN0cmlu
Z1VzZTogewogICAgICAgICAgICAgTFZhbHVlIHN0cmluZ1ZhbHVlID0gbG93U3RyaW5nKG1fbm9k
ZS0+Y2hpbGQxKCkpOwotICAgICAgICAgICAgTFZhbHVlIGxlbmd0aCA9IG1fb3V0LmxvYWQzMihz
dHJpbmdWYWx1ZSwgbV9oZWFwcy5KU1N0cmluZ19sZW5ndGgpOworICAgICAgICAgICAgTFZhbHVl
IGxlbmd0aCA9IG1fb3V0LmxvYWQzMk5vbk5lZ2F0aXZlKHN0cmluZ1ZhbHVlLCBtX2hlYXBzLkpT
U3RyaW5nX2xlbmd0aCk7CiAgICAgICAgICAgICByZXR1cm4gbV9vdXQubm90RXF1YWwobGVuZ3Ro
LCBtX291dC5pbnQzMlplcm8pOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgVW50eXBlZFVzZTog
ewpAQCAtMzA4Miw3ICszNjM3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgTEJhc2ljQmxvY2sgY29u
dGludWF0aW9uKQogICAgIHsKICAgICAgICAgTFZhbHVlIGlzTm90SW5Cb3VuZHMgPSBtX291dC5h
Ym92ZU9yRXF1YWwoCi0gICAgICAgICAgICBpbmRleCwgbV9vdXQubG9hZDMyKHN0b3JhZ2UsIG1f
aGVhcHMuQnV0dGVyZmx5X3B1YmxpY0xlbmd0aCkpOworICAgICAgICAgICAgaW5kZXgsIG1fb3V0
LmxvYWQzMk5vbk5lZ2F0aXZlKHN0b3JhZ2UsIG1faGVhcHMuQnV0dGVyZmx5X3B1YmxpY0xlbmd0
aCkpOwogICAgICAgICBpZiAoIW1fbm9kZS0+YXJyYXlNb2RlKCkuaXNJbkJvdW5kcygpKSB7CiAg
ICAgICAgICAgICBMQmFzaWNCbG9jayBub3RJbkJvdW5kc0Nhc2UgPQogICAgICAgICAgICAgICAg
IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiUHV0QnlWYWwgbm90IGluIGJvdW5kcyIpKTsKQEAgLTMw
OTQsNyArMzY0OSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4
dCA9IG1fb3V0LmFwcGVuZFRvKG5vdEluQm91bmRzQ2FzZSwgcGVyZm9ybVN0b3JlKTsKICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgIExWYWx1ZSBpc091dE9mQm91bmRzID0gbV9vdXQuYWJv
dmVPckVxdWFsKAotICAgICAgICAgICAgICAgIGluZGV4LCBtX291dC5sb2FkMzIoc3RvcmFnZSwg
bV9oZWFwcy5CdXR0ZXJmbHlfdmVjdG9yTGVuZ3RoKSk7CisgICAgICAgICAgICAgICAgaW5kZXgs
IG1fb3V0LmxvYWQzMk5vbk5lZ2F0aXZlKHN0b3JhZ2UsIG1faGVhcHMuQnV0dGVyZmx5X3ZlY3Rv
ckxlbmd0aCkpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKCFtX25vZGUtPmFy
cmF5TW9kZSgpLmlzT3V0T2ZCb3VuZHMoKSkKICAgICAgICAgICAgICAgICBzcGVjdWxhdGUoT3V0
T2ZCb3VuZHMsIG5vVmFsdWUoKSwgMCwgaXNPdXRPZkJvdW5kcyk7CkBAIC0zNzE4LDYgKzQyNzMs
NyBAQCBwcml2YXRlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgS25vd25JbnQz
MlVzZToKICAgICAgICAgY2FzZSBLbm93bk51bWJlclVzZToKKyAgICAgICAgY2FzZSBLbm93blN0
cmluZ1VzZToKICAgICAgICAgICAgIEFTU0VSVCghbV9pbnRlcnByZXRlci5uZWVkc1R5cGVDaGVj
ayhlZGdlKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBJbnQzMlVzZToKQEAg
LTM3NDEsNiArNDI5NywxMiBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIFN0cmluZ1VzZToKICAg
ICAgICAgICAgIHNwZWN1bGF0ZVN0cmluZyhlZGdlKTsKICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIFN0cmluZ09iamVjdFVzZToKKyAgICAgICAgICAgIHNwZWN1bGF0ZVN0cmluZ09i
amVjdChlZGdlKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFN0cmluZ09yU3Ry
aW5nT2JqZWN0VXNlOgorICAgICAgICAgICAgc3BlY3VsYXRlU3RyaW5nT3JTdHJpbmdPYmplY3Qo
ZWRnZSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBSZWFsTnVtYmVyVXNlOgog
ICAgICAgICAgICAgc3BlY3VsYXRlUmVhbE51bWJlcihlZGdlKTsKICAgICAgICAgICAgIGJyZWFr
OwpAQCAtMzkyOCw2ICs0NDkwLDU1IEBAIHByaXZhdGU6CiAgICAgICAgIHNwZWN1bGF0ZVN0cmlu
ZyhlZGdlLCBsb3dDZWxsKGVkZ2UpKTsKICAgICB9CiAgICAgCisgICAgdm9pZCBzcGVjdWxhdGVT
dHJpbmdPYmplY3QoRWRnZSBlZGdlKQorICAgIHsKKyAgICAgICAgaWYgKCFtX2ludGVycHJldGVy
Lm5lZWRzVHlwZUNoZWNrKGVkZ2UsIFNwZWNTdHJpbmdPYmplY3QpKQorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAKKyAgICAgICAgc3BlY3VsYXRlU3RyaW5nT2JqZWN0Rm9yQ2VsbChlZGdl
LCBsb3dDZWxsKGVkZ2UpKTsKKyAgICAgICAgbV9pbnRlcnByZXRlci5maWx0ZXIoZWRnZSwgU3Bl
Y1N0cmluZ09iamVjdCk7CisgICAgfQorICAgIAorICAgIHZvaWQgc3BlY3VsYXRlU3RyaW5nT3JT
dHJpbmdPYmplY3QoRWRnZSBlZGdlKQorICAgIHsKKyAgICAgICAgaWYgKCFtX2ludGVycHJldGVy
Lm5lZWRzVHlwZUNoZWNrKGVkZ2UsIFNwZWNTdHJpbmcgfCBTcGVjU3RyaW5nT2JqZWN0KSkKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgCisgICAgICAgIExCYXNpY0Jsb2NrIG5vdFN0cmlu
ZyA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiU3BlY3VsYXRlIFN0cmluZ09yU3RyaW5nT2JqZWN0
IG5vdCBzdHJpbmcgY2FzZSIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0g
RlRMX05FV19CTE9DSyhtX291dCwgKCJTcGVjdWxhdGUgU3RyaW5nT3JTdHJpbmdPYmplY3QgY29u
dGludWF0aW9uIikpOworICAgICAgICAKKyAgICAgICAgTFZhbHVlIHN0cnVjdHVyZSA9IG1fb3V0
LmxvYWRQdHIobG93Q2VsbChlZGdlKSwgbV9oZWFwcy5KU0NlbGxfc3RydWN0dXJlKTsKKyAgICAg
ICAgbV9vdXQuYnJhbmNoKAorICAgICAgICAgICAgbV9vdXQuZXF1YWwoc3RydWN0dXJlLCBtX291
dC5jb25zdEludFB0cih2bSgpLnN0cmluZ1N0cnVjdHVyZS5nZXQoKSkpLAorICAgICAgICAgICAg
Y29udGludWF0aW9uLCBub3RTdHJpbmcpOworICAgICAgICAKKyAgICAgICAgTEJhc2ljQmxvY2sg
bGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyhub3RTdHJpbmcsIGNvbnRpbnVhdGlvbik7CisgICAg
ICAgIHNwZWN1bGF0ZVN0cmluZ09iamVjdEZvclN0cnVjdHVyZShlZGdlLCBzdHJ1Y3R1cmUpOwor
ICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAgICBtX291
dC5hcHBlbmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0KTsKKyAgICAgICAgCisgICAgICAgIG1f
aW50ZXJwcmV0ZXIuZmlsdGVyKGVkZ2UsIFNwZWNTdHJpbmcgfCBTcGVjU3RyaW5nT2JqZWN0KTsK
KyAgICB9CisgICAgCisgICAgdm9pZCBzcGVjdWxhdGVTdHJpbmdPYmplY3RGb3JDZWxsKEVkZ2Ug
ZWRnZSwgTFZhbHVlIGNlbGwpCisgICAgeworICAgICAgICBzcGVjdWxhdGVTdHJpbmdPYmplY3RG
b3JTdHJ1Y3R1cmUoZWRnZSwgbV9vdXQubG9hZFB0cihjZWxsLCBtX2hlYXBzLkpTQ2VsbF9zdHJ1
Y3R1cmUpKTsKKyAgICB9CisgICAgCisgICAgdm9pZCBzcGVjdWxhdGVTdHJpbmdPYmplY3RGb3JT
dHJ1Y3R1cmUoRWRnZSBlZGdlLCBMVmFsdWUgc3RydWN0dXJlKQorICAgIHsKKyAgICAgICAgU3Ry
dWN0dXJlKiBzdHJpbmdPYmplY3RTdHJ1Y3R1cmUgPQorICAgICAgICAgICAgbV9ncmFwaC5nbG9i
YWxPYmplY3RGb3IobV9ub2RlLT5jb2RlT3JpZ2luKS0+c3RyaW5nT2JqZWN0U3RydWN0dXJlKCk7
CisgICAgICAgIAorICAgICAgICBpZiAobV9zdGF0ZS5mb3JOb2RlKGVkZ2UpLm1fY3VycmVudEtu
b3duU3RydWN0dXJlLmlzU3Vic2V0T2YoU3RydWN0dXJlU2V0KHN0cmluZ09iamVjdFN0cnVjdHVy
ZSkpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAKKyAgICAgICAgc3BlY3VsYXRlKAor
ICAgICAgICAgICAgTm90U3RyaW5nT2JqZWN0LCBub1ZhbHVlKCksIDAsCisgICAgICAgICAgICBt
X291dC5ub3RFcXVhbChzdHJ1Y3R1cmUsIHdlYWtQb2ludGVyKHN0cmluZ09iamVjdFN0cnVjdHVy
ZSkpKTsKKyAgICB9CisgICAgCiAgICAgdm9pZCBzcGVjdWxhdGVOb25OdWxsT2JqZWN0KEVkZ2Ug
ZWRnZSwgTFZhbHVlIGNlbGwpCiAgICAgewogICAgICAgICBMVmFsdWUgc3RydWN0dXJlID0gbV9v
dXQubG9hZFB0cihjZWxsLCBtX2hlYXBzLkpTQ2VsbF9zdHJ1Y3R1cmUpOwpAQCAtNDEwNiwxOCAr
NDcxNywxMyBAQCBwcml2YXRlOgogICAgICAgICBpZiAobW9kZSA9PSBOb0V4Y2VwdGlvbnMpCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIAotICAgICAgICBMQmFzaWNCbG9jayBkaWRIYXZl
RXhjZXB0aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJEaWQgaGF2ZSBleGNlcHRpb24iKSk7
CiAgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9vdXQs
ICgiRXhjZXB0aW9uIGNoZWNrIGNvbnRpbnVhdGlvbiIpKTsKICAgICAgICAgCiAgICAgICAgIG1f
b3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0Lm5vdFplcm82NChtX291dC5sb2FkNjQobV9v
dXQuYWJzb2x1dGUodm0oKS5hZGRyZXNzT2ZFeGNlcHRpb24oKSkpKSwKLSAgICAgICAgICAgIGRp
ZEhhdmVFeGNlcHRpb24sIGNvbnRpbnVhdGlvbik7CisgICAgICAgICAgICBtX2hhbmRsZUV4Y2Vw
dGlvbnMsIGNvbnRpbnVhdGlvbik7CiAgICAgICAgIAotICAgICAgICBMQmFzaWNCbG9jayBsYXN0
TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGRpZEhhdmVFeGNlcHRpb24sIGNvbnRpbnVhdGlvbik7Ci0g
ICAgICAgIC8vIEZJWE1FOiBIYW5kbGUgZXhjZXB0aW9ucy4gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExMzYyMgotICAgICAgICBtX291dC5jcmFzaCgpOwotICAgICAg
ICAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAg
ICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlvbik7CiAgICAgfQogICAgIAogICAgIExCYXNp
Y0Jsb2NrIGxvd0Jsb2NrKEJhc2ljQmxvY2sqIGJsb2NrKQpAQCAtNDEzMyw4ICs0NzM5LDExIEBA
IHByaXZhdGU6CiAgICAgdm9pZCBhcHBlbmRPU1JFeGl0KAogICAgICAgICBFeGl0S2luZCBraW5k
LCBGb3JtYXR0ZWRWYWx1ZSBsb3dWYWx1ZSwgTm9kZSogaGlnaFZhbHVlLCBMVmFsdWUgZmFpbENv
bmRpdGlvbikKICAgICB7Ci0gICAgICAgIGlmICh2ZXJib3NlQ29tcGlsYXRpb25FbmFibGVkKCkp
CisgICAgICAgIGlmICh2ZXJib3NlQ29tcGlsYXRpb25FbmFibGVkKCkpIHsKICAgICAgICAgICAg
IGRhdGFMb2coIiAgICBPU1IgZXhpdCAjIiwgbV9mdGxTdGF0ZS5qaXRDb2RlLT5vc3JFeGl0LnNp
emUoKSwgIiB3aXRoIGF2YWlsYWJpbGl0eTogIiwgbV9hdmFpbGFiaWxpdHksICJcbiIpOworICAg
ICAgICAgICAgaWYgKCFtX2F2YWlsYWJsZVJlY292ZXJpZXMuaXNFbXB0eSgpKQorICAgICAgICAg
ICAgICAgIGRhdGFMb2coIiAgICAgICAgQXZhaWxhYmxlIHJlY292ZXJpZXM6ICIsIGxpc3REdW1w
KG1fYXZhaWxhYmxlUmVjb3ZlcmllcyksICJcbiIpOworICAgICAgICB9CiAKICAgICAgICAgQVNT
RVJUKG1fZnRsU3RhdGUuaml0Q29kZS0+b3NyRXhpdC5zaXplKCkgPT0gbV9mdGxTdGF0ZS5maW5h
bGl6ZXItPm9zckV4aXQuc2l6ZSgpKTsKICAgICAgICAgCkBAIC00MTc4LDcgKzQ3ODcsNiBAQCBw
cml2YXRlOgogICAgICAgICBPU1JFeGl0JiBleGl0LCBFeGl0QXJndW1lbnRMaXN0JiBhcmd1bWVu
dHMsIEZvcm1hdHRlZFZhbHVlIGxvd1ZhbHVlLAogICAgICAgICBDb2RlT3JpZ2luIGNvZGVPcmln
aW4pCiAgICAgewotICAgICAgICBhcmd1bWVudHMuYXBwZW5kKG1fY2FsbEZyYW1lKTsKICAgICAg
ICAgaWYgKCEhbG93VmFsdWUpCiAgICAgICAgICAgICBhcmd1bWVudHMuYXBwZW5kKGxvd1ZhbHVl
LnZhbHVlKCkpOwogICAgICAgICAKQEAgLTQyNDYsNyArNDg1NCw3IEBAIHByaXZhdGU6CiAgICAg
ewogICAgICAgICBleGl0Lm1fc3RhY2ttYXBJRCA9IG1fc3RhY2ttYXBJRHMrKzsKICAgICAgICAg
YXJndW1lbnRzLmluc2VydCgwLCBtX291dC5jb25zdEludDMyKE1hY3JvQXNzZW1ibGVyOjptYXhK
dW1wUmVwbGFjZW1lbnRTaXplKCkpKTsKLSAgICAgICAgYXJndW1lbnRzLmluc2VydCgwLCBtX291
dC5jb25zdEludDMyKGV4aXQubV9zdGFja21hcElEKSk7CisgICAgICAgIGFyZ3VtZW50cy5pbnNl
cnQoMCwgbV9vdXQuY29uc3RJbnQ2NChleGl0Lm1fc3RhY2ttYXBJRCkpOwogICAgICAgICAKICAg
ICAgICAgbV9vdXQuY2FsbChtX291dC5zdGFja21hcEludHJpbnNpYygpLCBhcmd1bWVudHMpOwog
ICAgIH0KQEAgLTQyNjAsNiArNDg2OCwxOSBAQCBwcml2YXRlOgogICAgICAgICBpZiAodHJ5VG9T
ZXRDb25zdGFudEV4aXRBcmd1bWVudChleGl0LCBpbmRleCwgbm9kZSkpCiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIAorICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9hdmFp
bGFibGVSZWNvdmVyaWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBBdmFpbGFibGVSZWNv
dmVyeSByZWNvdmVyeSA9IG1fYXZhaWxhYmxlUmVjb3Zlcmllc1tpXTsKKyAgICAgICAgICAgIGlm
IChyZWNvdmVyeS5ub2RlKCkgIT0gbm9kZSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgZXhpdC5tX3ZhbHVlc1tpbmRleF0gPSBFeGl0VmFsdWU6
OnJlY292ZXJ5KAorICAgICAgICAgICAgICAgIHJlY292ZXJ5Lm9wY29kZSgpLCBhcmd1bWVudHMu
c2l6ZSgpLCBhcmd1bWVudHMuc2l6ZSgpICsgMSwKKyAgICAgICAgICAgICAgICByZWNvdmVyeS5m
b3JtYXQoKSk7CisgICAgICAgICAgICBhcmd1bWVudHMuYXBwZW5kKHJlY292ZXJ5LmxlZnQoKSk7
CisgICAgICAgICAgICBhcmd1bWVudHMuYXBwZW5kKHJlY292ZXJ5LnJpZ2h0KCkpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIAogICAgICAgICBMb3dlcmVkTm9kZVZh
bHVlIHZhbHVlID0gbV9pbnQzMlZhbHVlcy5nZXQobm9kZSk7CiAgICAgICAgIGlmIChpc1ZhbGlk
KHZhbHVlKSkgewogICAgICAgICAgICAgYWRkRXhpdEFyZ3VtZW50KGV4aXQsIGFyZ3VtZW50cywg
aW5kZXgsIFZhbHVlRm9ybWF0SW50MzIsIHZhbHVlLnZhbHVlKCkpOwpAQCAtNDMyOSw2ICs0OTUw
LDI5IEBAIHByaXZhdGU6CiAgICAgICAgIGFyZ3VtZW50cy5hcHBlbmQodmFsdWUpOwogICAgIH0K
ICAgICAKKyAgICBib29sIGRvZXNLaWxsKEVkZ2UgZWRnZSkKKyAgICB7CisgICAgICAgIGlmIChl
ZGdlLmRvZXNOb3RLaWxsKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAor
ICAgICAgICBpZiAoZWRnZS0+aGFzQ29uc3RhbnQoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHZvaWQgYWRk
QXZhaWxhYmxlUmVjb3ZlcnkoCisgICAgICAgIE5vZGUqIG5vZGUsIFJlY292ZXJ5T3Bjb2RlIG9w
Y29kZSwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCwgVmFsdWVGb3JtYXQgZm9ybWF0KQorICAg
IHsKKyAgICAgICAgbV9hdmFpbGFibGVSZWNvdmVyaWVzLmFwcGVuZChBdmFpbGFibGVSZWNvdmVy
eShub2RlLCBvcGNvZGUsIGxlZnQsIHJpZ2h0LCBmb3JtYXQpKTsKKyAgICB9CisgICAgCisgICAg
dm9pZCBhZGRBdmFpbGFibGVSZWNvdmVyeSgKKyAgICAgICAgRWRnZSBlZGdlLCBSZWNvdmVyeU9w
Y29kZSBvcGNvZGUsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQsIFZhbHVlRm9ybWF0IGZvcm1h
dCkKKyAgICB7CisgICAgICAgIGFkZEF2YWlsYWJsZVJlY292ZXJ5KGVkZ2Uubm9kZSgpLCBvcGNv
ZGUsIGxlZnQsIHJpZ2h0LCBmb3JtYXQpOworICAgIH0KKyAgICAKICAgICB2b2lkIHNldEludDMy
KE5vZGUqIG5vZGUsIExWYWx1ZSB2YWx1ZSkKICAgICB7CiAgICAgICAgIG1faW50MzJWYWx1ZXMu
c2V0KG5vZGUsIExvd2VyZWROb2RlVmFsdWUodmFsdWUsIG1faGlnaEJsb2NrKSk7CkBAIC00NDMx
LDM1ICs1MDc1LDM3IEBAIHByaXZhdGU6CiAgICAgfQogICAgIFR5cGVkUG9pbnRlciBwYXlsb2Fk
Rm9yKExWYWx1ZSBiYXNlLCBpbnQgb3BlcmFuZCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZGRy
ZXNzRm9yKGJhc2UsIG9wZXJhbmQsIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlw
dG9yLCBhc0JpdHMucGF5bG9hZCkpOworICAgICAgICByZXR1cm4gYWRkcmVzc0ZvcihiYXNlLCBv
cGVyYW5kLCBQYXlsb2FkT2Zmc2V0KTsKICAgICB9CiAgICAgVHlwZWRQb2ludGVyIHRhZ0ZvcihM
VmFsdWUgYmFzZSwgaW50IG9wZXJhbmQpCiAgICAgewotICAgICAgICByZXR1cm4gYWRkcmVzc0Zv
cihiYXNlLCBvcGVyYW5kLCBPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwg
YXNCaXRzLnRhZykpOworICAgICAgICByZXR1cm4gYWRkcmVzc0ZvcihiYXNlLCBvcGVyYW5kLCBU
YWdPZmZzZXQpOwogICAgIH0KLSAgICBUeXBlZFBvaW50ZXIgYWRkcmVzc0ZvcihpbnQgb3BlcmFu
ZCkKKyAgICBUeXBlZFBvaW50ZXIgYWRkcmVzc0ZvcihpbnQgb3BlcmFuZCwgcHRyZGlmZl90IG9m
ZnNldCA9IDApCiAgICAgewotICAgICAgICByZXR1cm4gYWRkcmVzc0ZvcihtX2NhbGxGcmFtZSwg
b3BlcmFuZCk7CisgICAgICAgIHJldHVybiBhZGRyZXNzRm9yKFZpcnR1YWxSZWdpc3RlcihvcGVy
YW5kKSwgb2Zmc2V0KTsKICAgICB9Ci0gICAgVHlwZWRQb2ludGVyIGFkZHJlc3NGb3IoVmlydHVh
bFJlZ2lzdGVyIG9wZXJhbmQpCisgICAgVHlwZWRQb2ludGVyIGFkZHJlc3NGb3IoVmlydHVhbFJl
Z2lzdGVyIG9wZXJhbmQsIHB0cmRpZmZfdCBvZmZzZXQgPSAwKQogICAgIHsKLSAgICAgICAgcmV0
dXJuIGFkZHJlc3NGb3IobV9jYWxsRnJhbWUsIG9wZXJhbmQub2Zmc2V0KCkpOworICAgICAgICBp
ZiAob3BlcmFuZC5pc0xvY2FsKCkpCisgICAgICAgICAgICByZXR1cm4gYWRkcmVzc0ZvcihtX2Nh
cHR1cmVkLCBvcGVyYW5kLm9mZnNldCgpLCBvZmZzZXQpOworICAgICAgICByZXR1cm4gYWRkcmVz
c0ZvcihtX2NhbGxGcmFtZSwgb3BlcmFuZC5vZmZzZXQoKSwgb2Zmc2V0KTsKICAgICB9CiAgICAg
VHlwZWRQb2ludGVyIHBheWxvYWRGb3IoaW50IG9wZXJhbmQpCiAgICAgewotICAgICAgICByZXR1
cm4gcGF5bG9hZEZvcihtX2NhbGxGcmFtZSwgb3BlcmFuZCk7CisgICAgICAgIHJldHVybiBwYXls
b2FkRm9yKFZpcnR1YWxSZWdpc3RlcihvcGVyYW5kKSk7CiAgICAgfQogICAgIFR5cGVkUG9pbnRl
ciBwYXlsb2FkRm9yKFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kKQogICAgIHsKLSAgICAgICAgcmV0
dXJuIHBheWxvYWRGb3IobV9jYWxsRnJhbWUsIG9wZXJhbmQub2Zmc2V0KCkpOworICAgICAgICBy
ZXR1cm4gYWRkcmVzc0ZvcihvcGVyYW5kLCBQYXlsb2FkT2Zmc2V0KTsKICAgICB9CiAgICAgVHlw
ZWRQb2ludGVyIHRhZ0ZvcihpbnQgb3BlcmFuZCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0YWdG
b3IobV9jYWxsRnJhbWUsIG9wZXJhbmQpOworICAgICAgICByZXR1cm4gdGFnRm9yKFZpcnR1YWxS
ZWdpc3RlcihvcGVyYW5kKSk7CiAgICAgfQogICAgIFR5cGVkUG9pbnRlciB0YWdGb3IoVmlydHVh
bFJlZ2lzdGVyIG9wZXJhbmQpCiAgICAgewotICAgICAgICByZXR1cm4gdGFnRm9yKG1fY2FsbEZy
YW1lLCBvcGVyYW5kLm9mZnNldCgpKTsKKyAgICAgICAgcmV0dXJuIGFkZHJlc3NGb3Iob3BlcmFu
ZCwgVGFnT2Zmc2V0KTsKICAgICB9CiAgICAgCiAgICAgVk0mIHZtKCkgeyByZXR1cm4gbV9ncmFw
aC5tX3ZtOyB9CkBAIC00NDcxLDkgKzUxMTcsMTEgQEAgcHJpdmF0ZToKICAgICBPdXRwdXQgbV9v
dXQ7CiAgICAgCiAgICAgTEJhc2ljQmxvY2sgbV9wcm9sb2d1ZTsKKyAgICBMQmFzaWNCbG9jayBt
X2hhbmRsZUV4Y2VwdGlvbnM7CiAgICAgSGFzaE1hcDxCYXNpY0Jsb2NrKiwgTEJhc2ljQmxvY2s+
IG1fYmxvY2tzOwogICAgIAogICAgIExWYWx1ZSBtX2NhbGxGcmFtZTsKKyAgICBMVmFsdWUgbV9j
YXB0dXJlZDsKICAgICBMVmFsdWUgbV90YWdUeXBlTnVtYmVyOwogICAgIExWYWx1ZSBtX3RhZ01h
c2s7CiAgICAgCkBAIC00NDg5LDYgKzUxMzcsOCBAQCBwcml2YXRlOgogICAgIAogICAgIE9wZXJh
bmRzPEF2YWlsYWJpbGl0eT4gbV9hdmFpbGFiaWxpdHk7CiAgICAgCisgICAgVmVjdG9yPEF2YWls
YWJsZVJlY292ZXJ5LCAzPiBtX2F2YWlsYWJsZVJlY292ZXJpZXM7CisgICAgCiAgICAgSW5QbGFj
ZUFic3RyYWN0U3RhdGUgbV9zdGF0ZTsKICAgICBBYnN0cmFjdEludGVycHJldGVyPEluUGxhY2VB
YnN0cmFjdFN0YXRlPiBtX2ludGVycHJldGVyOwogICAgIEJhc2ljQmxvY2sqIG1faGlnaEJsb2Nr
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFbnRyeS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkVudHJ5LmNwcAppbmRleCAxODUwNDYw
NTQ3Mjg0MzRhYWE2YjZhNDRkMmVmNjBhNTFlN2RjMGMyLi4xZjZhMjkxOGY0ZWY3MjA5MmYzZmI2
ZDcwNzE2N2I1ZmEzMDZjZWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTE9TUkVudHJ5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkVu
dHJ5LmNwcApAQCAtNDMsNiArNDMsNyBAQCB2b2lkKiBwcmVwYXJlT1NSRW50cnkoCiB7CiAgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBDb2RlQmxvY2sqIGJhc2VsaW5lID0gZGZnQ29kZUJs
b2NrLT5iYXNlbGluZVZlcnNpb24oKTsKKyAgICBFeGVjdXRhYmxlQmFzZSogZXhlY3V0YWJsZSA9
IGRmZ0NvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCk7CiAgICAgREZHOjpKSVRDb2RlKiBkZmdD
b2RlID0gZGZnQ29kZUJsb2NrLT5qaXRDb2RlKCktPmRmZygpOwogICAgIEZvck9TUkVudHJ5SklU
Q29kZSogZW50cnlDb2RlID0gZW50cnlDb2RlQmxvY2stPmppdENvZGUoKS0+ZnRsRm9yT1NSRW50
cnkoKTsKICAgICAKQEAgLTgwLDcgKzgxLDcgQEAgdm9pZCogcHJlcGFyZU9TUkVudHJ5KAogICAg
ICAgICBzY3JhdGNoW2xvY2FsXSA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZXMubG9jYWwobG9jYWwp
KTsKICAgICAKICAgICBpbnQgc3RhY2tGcmFtZVNpemUgPSBlbnRyeUNvZGUtPmNvbW1vbi5yZXF1
aXJlZFJlZ2lzdGVyQ291bnRGb3JFeGVjdXRpb25BbmRFeGl0KCk7Ci0gICAgaWYgKCF2bS5pbnRl
cnByZXRlci0+c3RhY2soKS5ncm93KCZleGVjLT5yZWdpc3RlcnMoKVt2aXJ0dWFsUmVnaXN0ZXJG
b3JMb2NhbChzdGFja0ZyYW1lU2l6ZSkub2Zmc2V0KCldKSkgeworICAgIGlmICghdm0uaW50ZXJw
cmV0ZXItPnN0YWNrKCkuZW5zdXJlQ2FwYWNpdHlGb3IoJmV4ZWMtPnJlZ2lzdGVycygpW3ZpcnR1
YWxSZWdpc3RlckZvckxvY2FsKHN0YWNrRnJhbWVTaXplIC0gMSkub2Zmc2V0KCldKSkgewogICAg
ICAgICBpZiAoT3B0aW9uczo6dmVyYm9zZU9TUigpKQogICAgICAgICAgICAgZGF0YUxvZygiICAg
IE9TUiBmYWlsZWQgYmVjYXVzZSBzdGFjayBncm93dGggZmFpbGVkLlxuIik7CiAgICAgICAgIHJl
dHVybiAwOwpAQCAtODgsNyArODksOSBAQCB2b2lkKiBwcmVwYXJlT1NSRW50cnkoCiAgICAgCiAg
ICAgZXhlYy0+c2V0Q29kZUJsb2NrKGVudHJ5Q29kZUJsb2NrKTsKICAgICAKLSAgICB2b2lkKiBy
ZXN1bHQgPSBlbnRyeUNvZGUtPmFkZHJlc3NGb3JDYWxsKCkuZXhlY3V0YWJsZUFkZHJlc3MoKTsK
KyAgICB2b2lkKiByZXN1bHQgPSBlbnRyeUNvZGUtPmFkZHJlc3NGb3JDYWxsKAorICAgICAgICB2
bSwgZXhlY3V0YWJsZSwgQXJpdHlDaGVja05vdFJlcXVpcmVkLAorICAgICAgICBSZWdpc3RlclBy
ZXNlcnZhdGlvbk5vdFJlcXVpcmVkKS5leGVjdXRhYmxlQWRkcmVzcygpOwogICAgIGlmIChPcHRp
b25zOjp2ZXJib3NlT1NSKCkpCiAgICAgICAgIGRhdGFMb2coIiAgICBFbnRyeSB3aWxsIHN1Y2Nl
ZWQsIGdvaW5nIHRvIGFkZHJlc3MiLCBSYXdQb2ludGVyKHJlc3VsdCksICJcbiIpOwogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXQuaAppbmRleCA0ZTQ3OWViZGQwY2E1OTg5
MGUxZmEzYTI5YTg5YzU2ZTAwZjgwNzFmLi44N2I0YmQwY2QzODEzYTEyY2Q0ZTI3MzNmZDFhZjY3
Yzk3NTg1Y2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4
aXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXQuaApAQCAtMTY2
LDYgKzE2NiwxMSBAQCBzdHJ1Y3QgT1NSRXhpdCA6IHB1YmxpYyBERkc6Ok9TUkV4aXRCYXNlIHsK
ICAgICB1aW50MzJfdCBtX3N0YWNrbWFwSUQ7CiAgICAgCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBj
b2RlTG9jYXRpb25Gb3JSZXBhdGNoKENvZGVCbG9jayogZnRsQ29kZUJsb2NrKSBjb25zdDsKKyAg
ICAKKyAgICBib29sIGNvbnNpZGVyQWRkaW5nQXNGcmVxdWVudEV4aXRTaXRlKENvZGVCbG9jayog
cHJvZmlsZWRDb2RlQmxvY2spCisgICAgeworICAgICAgICByZXR1cm4gT1NSRXhpdEJhc2U6OmNv
bnNpZGVyQWRkaW5nQXNGcmVxdWVudEV4aXRTaXRlKHByb2ZpbGVkQ29kZUJsb2NrLCBFeGl0RnJv
bUZUTCk7CisgICAgfQogfTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwCmluZGV4IDA3NmE0
OTVlYTY1YjEyYWFhZGQ4OWJkMzg4MGJkZmNmYmRmMzIyMjcuLmI1ODZlZjJiNWVhZjIyNjYwMTk0
N2IwMWQ5NDY1ODk3ODZjMDU5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTE9TUkV4aXRDb21waWxlci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM1LDcgKzM1LDkgQEAKICNpbmNsdWRlICJGVExPU1JF
eGl0LmgiCiAjaW5jbHVkZSAiRlRMU2F2ZVJlc3RvcmUuaCIKICNpbmNsdWRlICJPcGVyYW5kc0lu
bGluZXMuaCIKKyNpbmNsdWRlICJNYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oIgogI2lu
Y2x1ZGUgIk9wZXJhdGlvbnMuaCIKKyNpbmNsdWRlICJSZWdpc3RlclByZXNlcnZhdGlvbldyYXBw
ZXJHZW5lcmF0b3IuaCIKICNpbmNsdWRlICJSZXBhdGNoQnVmZmVyLmgiCiAKIG5hbWVzcGFjZSBK
U0MgeyBuYW1lc3BhY2UgRlRMIHsKQEAgLTYyLDkgKzY0LDEwIEBAIHN0YXRpYyB2b2lkIGNvbXBp
bGVTdHViKAogICAgIAogICAgIC8vIFdlIG5lZWQgc2NyYXRjaCBzcGFjZSB0byBzYXZlIGFsbCBy
ZWdpc3RlcnMgYW5kIHRvIGJ1aWxkIHVwIHRoZSBKU1N0YWNrLgogICAgIC8vIFVzZSBhIHNjcmF0
Y2ggYnVmZmVyIHRvIHRyYW5zZmVyIGFsbCB2YWx1ZXMuCi0gICAgU2NyYXRjaEJ1ZmZlciogc2Ny
YXRjaEJ1ZmZlciA9IHZtLT5zY3JhdGNoQnVmZmVyRm9yU2l6ZShzaXplb2YoRW5jb2RlZEpTVmFs
dWUpICogZXhpdC5tX3ZhbHVlcy5zaXplKCkgKyByZXF1aXJlZFNjcmF0Y2hNZW1vcnlTaXplSW5C
eXRlcygpKTsKKyAgICBTY3JhdGNoQnVmZmVyKiBzY3JhdGNoQnVmZmVyID0gdm0tPnNjcmF0Y2hC
dWZmZXJGb3JTaXplKHNpemVvZihFbmNvZGVkSlNWYWx1ZSkgKiBleGl0Lm1fdmFsdWVzLnNpemUo
KSArIHJlcXVpcmVkU2NyYXRjaE1lbW9yeVNpemVJbkJ5dGVzKCkgKyBqaXRDb2RlLT51bndpbmRJ
bmZvLm1fcmVnaXN0ZXJzLnNpemUoKSAqIHNpemVvZih1aW50NjRfdCkpOwogICAgIEVuY29kZWRK
U1ZhbHVlKiBzY3JhdGNoID0gc2NyYXRjaEJ1ZmZlciA/IHN0YXRpY19jYXN0PEVuY29kZWRKU1Zh
bHVlKj4oc2NyYXRjaEJ1ZmZlci0+ZGF0YUJ1ZmZlcigpKSA6IDA7CiAgICAgY2hhciogcmVnaXN0
ZXJTY3JhdGNoID0gYml0d2lzZV9jYXN0PGNoYXIqPihzY3JhdGNoICsgZXhpdC5tX3ZhbHVlcy5z
aXplKCkpOworICAgIHVpbnQ2NF90KiB1bndpbmRTY3JhdGNoID0gYml0d2lzZV9jYXN0PHVpbnQ2
NF90Kj4ocmVnaXN0ZXJTY3JhdGNoICsgcmVxdWlyZWRTY3JhdGNoTWVtb3J5U2l6ZUluQnl0ZXMo
KSk7CiAgICAgCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgc2F2ZUFsbFJlZ2lzdGVycygpIGhhcyBh
IHBsYWNlIG9uIHRvcCBvZiB0aGUgc3RhY2sgdG8gc3BpbGwgdGhpbmdzLiBUaGF0CiAgICAgLy8g
ZnVuY3Rpb24gZXhwZWN0cyB0byBiZSBhYmxlIHRvIHVzZSB0b3Agb2Ygc3RhY2sgZm9yIHNjcmF0
Y2ggbWVtb3J5LgpAQCAtNzUsMTggKzc4LDI3IEBAIHN0YXRpYyB2b2lkIGNvbXBpbGVTdHViKAog
ICAgIGppdC5wb3AoR1BSSW5mbzo6cmVnVDApOwogICAgIGppdC5wb3AoR1BSSW5mbzo6cmVnVDAp
OwogICAgIAorICAgIGlmICh2bS0+bV9wZXJCeXRlY29kZVByb2ZpbGVyICYmIGNvZGVCbG9jay0+
aml0Q29kZSgpLT5kZmdDb21tb24oKS0+Y29tcGlsYXRpb24pIHsKKyAgICAgICAgUHJvZmlsZXI6
OkRhdGFiYXNlJiBkYXRhYmFzZSA9ICp2bS0+bV9wZXJCeXRlY29kZVByb2ZpbGVyOworICAgICAg
ICBQcm9maWxlcjo6Q29tcGlsYXRpb24qIGNvbXBpbGF0aW9uID0gY29kZUJsb2NrLT5qaXRDb2Rl
KCktPmRmZ0NvbW1vbigpLT5jb21waWxhdGlvbi5nZXQoKTsKKyAgICAgICAgCisgICAgICAgIFBy
b2ZpbGVyOjpPU1JFeGl0KiBwcm9maWxlckV4aXQgPSBjb21waWxhdGlvbi0+YWRkT1NSRXhpdCgK
KyAgICAgICAgICAgIGV4aXRJRCwgUHJvZmlsZXI6Ok9yaWdpblN0YWNrKGRhdGFiYXNlLCBjb2Rl
QmxvY2ssIGV4aXQubV9jb2RlT3JpZ2luKSwKKyAgICAgICAgICAgIGV4aXQubV9raW5kLCBpc1dh
dGNocG9pbnQoZXhpdC5tX2tpbmQpKTsKKyAgICAgICAgaml0LmFkZDY0KENDYWxsSGVscGVyczo6
VHJ1c3RlZEltbTMyKDEpLCBDQ2FsbEhlbHBlcnM6OkFic29sdXRlQWRkcmVzcyhwcm9maWxlckV4
aXQtPmNvdW50ZXJBZGRyZXNzKCkpKTsKKyAgICB9CisKICAgICAvLyBUaGUgcmVtYWluaW5nIGNv
ZGUgYXNzdW1lcyB0aGF0IFNQL0ZQIGFyZSBpbiB0aGUgc2FtZSBzdGF0ZSB0aGF0IHRoZXkgd2Vy
ZSBpbiB0aGUgRlRMJ3MKICAgICAvLyBjYWxsIGZyYW1lLgogICAgIAogICAgIC8vIEdldCB0aGUg
Y2FsbCBmcmFtZSBhbmQgdGFnIHRoaW5naWVzLgogICAgIC8vIFJlc3RvcmUgdGhlIGV4aXRpbmcg
ZnVuY3Rpb24ncyBjYWxsRnJhbWUgdmFsdWUgaW50byBhIHJlZ1Q0Ci0gICAgcmVjb3JkLT5sb2Nh
dGlvbnNbMF0ucmVzdG9yZUludG8oaml0LCBqaXRDb2RlLT5zdGFja21hcHMsIHJlZ2lzdGVyU2Ny
YXRjaCwgR1BSSW5mbzo6cmVnVDQpOwogICAgIGppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVz
dGVkSW1tNjQoVGFnVHlwZU51bWJlciksIEdQUkluZm86OnRhZ1R5cGVOdW1iZXJSZWdpc3Rlcik7
CiAgICAgaml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW02NChUYWdNYXNrKSwgR1BS
SW5mbzo6dGFnTWFza1JlZ2lzdGVyKTsKICAgICAKICAgICAvLyBEbyBzb21lIHZhbHVlIHByb2Zp
bGluZy4KICAgICBpZiAoZXhpdC5tX3Byb2ZpbGVWYWx1ZUZvcm1hdCAhPSBJbnZhbGlkVmFsdWVG
b3JtYXQpIHsKLSAgICAgICAgcmVjb3JkLT5sb2NhdGlvbnNbMV0ucmVzdG9yZUludG8oaml0LCBq
aXRDb2RlLT5zdGFja21hcHMsIHJlZ2lzdGVyU2NyYXRjaCwgR1BSSW5mbzo6cmVnVDApOworICAg
ICAgICByZWNvcmQtPmxvY2F0aW9uc1swXS5yZXN0b3JlSW50byhqaXQsIGppdENvZGUtPnN0YWNr
bWFwcywgcmVnaXN0ZXJTY3JhdGNoLCBHUFJJbmZvOjpyZWdUMCk7CiAgICAgICAgIHJlYm94QWNj
b3JkaW5nVG9Gb3JtYXQoCiAgICAgICAgICAgICBleGl0Lm1fcHJvZmlsZVZhbHVlRm9ybWF0LCBq
aXQsIEdQUkluZm86OnJlZ1QwLCBHUFJJbmZvOjpyZWdUMSwgR1BSSW5mbzo6cmVnVDIpOwogICAg
ICAgICAKQEAgLTEzMCw3ICsxNDIsNDUgQEAgc3RhdGljIHZvaWQgY29tcGlsZVN0dWIoCiAgICAg
ICAgIGNhc2UgRXhpdFZhbHVlSW5KU1N0YWNrQXNJbnQzMjoKICAgICAgICAgY2FzZSBFeGl0VmFs
dWVJbkpTU3RhY2tBc0ludDUyOgogICAgICAgICBjYXNlIEV4aXRWYWx1ZUluSlNTdGFja0FzRG91
YmxlOgotICAgICAgICAgICAgaml0LmxvYWQ2NChBc3NlbWJseUhlbHBlcnM6OmFkZHJlc3NGb3Io
dmFsdWUudmlydHVhbFJlZ2lzdGVyKCksIEdQUkluZm86OnJlZ1Q0KSwgR1BSSW5mbzo6cmVnVDAp
OworICAgICAgICAgICAgaml0LmxvYWQ2NChBc3NlbWJseUhlbHBlcnM6OmFkZHJlc3NGb3IodmFs
dWUudmlydHVhbFJlZ2lzdGVyKCkpLCBHUFJJbmZvOjpyZWdUMCk7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIAorICAgICAgICBjYXNlIEV4aXRWYWx1ZVJlY292ZXJ5OgorICAgICAg
ICAgICAgcmVjb3JkLT5sb2NhdGlvbnNbdmFsdWUucmlnaHRSZWNvdmVyeUFyZ3VtZW50KCldLnJl
c3RvcmVJbnRvKAorICAgICAgICAgICAgICAgIGppdCwgaml0Q29kZS0+c3RhY2ttYXBzLCByZWdp
c3RlclNjcmF0Y2gsIEdQUkluZm86OnJlZ1QxKTsKKyAgICAgICAgICAgIHJlY29yZC0+bG9jYXRp
b25zW3ZhbHVlLmxlZnRSZWNvdmVyeUFyZ3VtZW50KCldLnJlc3RvcmVJbnRvKAorICAgICAgICAg
ICAgICAgIGppdCwgaml0Q29kZS0+c3RhY2ttYXBzLCByZWdpc3RlclNjcmF0Y2gsIEdQUkluZm86
OnJlZ1QwKTsKKyAgICAgICAgICAgIHN3aXRjaCAodmFsdWUucmVjb3ZlcnlPcGNvZGUoKSkgewor
ICAgICAgICAgICAgY2FzZSBBZGRSZWNvdmVyeToKKyAgICAgICAgICAgICAgICBzd2l0Y2ggKHZh
bHVlLnJlY292ZXJ5Rm9ybWF0KCkpIHsKKyAgICAgICAgICAgICAgICBjYXNlIFZhbHVlRm9ybWF0
SW50MzI6CisgICAgICAgICAgICAgICAgICAgIGppdC5hZGQzMihHUFJJbmZvOjpyZWdUMSwgR1BS
SW5mbzo6cmVnVDApOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICBjYXNlIFZhbHVlRm9ybWF0SW50NTI6CisgICAgICAgICAgICAgICAgICAgIGppdC5hZGQ2NChH
UFJJbmZvOjpyZWdUMSwgR1BSSW5mbzo6cmVnVDApOworICAgICAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFN1
YlJlY292ZXJ5OgorICAgICAgICAgICAgICAgIHN3aXRjaCAodmFsdWUucmVjb3ZlcnlGb3JtYXQo
KSkgeworICAgICAgICAgICAgICAgIGNhc2UgVmFsdWVGb3JtYXRJbnQzMjoKKyAgICAgICAgICAg
ICAgICAgICAgaml0LnN1YjMyKEdQUkluZm86OnJlZ1QxLCBHUFJJbmZvOjpyZWdUMCk7CisgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgVmFsdWVGb3JtYXRJ
bnQ1MjoKKyAgICAgICAgICAgICAgICAgICAgaml0LnN1YjY0KEdQUkluZm86OnJlZ1QxLCBHUFJJ
bmZvOjpyZWdUMCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAg
IGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgCiAgICAgICAgIGRl
ZmF1bHQ6CkBAIC0xNDEsNiArMTkxLDEzNyBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1YigKICAg
ICAgICAgaml0LnN0b3JlNjQoR1BSSW5mbzo6cmVnVDAsIHNjcmF0Y2ggKyBpbmRleCk7CiAgICAg
fQogICAgIAorICAgIC8vIEhlbmNlZm9ydGggd2UgbWFrZSBpdCBsb29rIGxpa2UgdGhlIGV4aXRp
bmcgZnVuY3Rpb24gd2FzIGNhbGxlZCB0aHJvdWdoIGEgcmVnaXN0ZXIKKyAgICAvLyBwcmVzZXJ2
YXRpb24gd3JhcHBlci4gVGhpcyBpbXBsaWVzIHRoYXQgRlAgbXVzdCBiZSBudWRnZWQgZG93biBi
eSBhIGNlcnRhaW4gYW1vdW50LiBUaGVuCisgICAgLy8gd2UgcmVzdG9yZSB0aGUgdmFyaW91cyB0
aGluZ3MgYWNjb3JkaW5nIHRvIGVpdGhlciBleGl0Lm1fdmFsdWVzIG9yIGJ5IGNvcHlpbmcgZnJv
bSB0aGUKKyAgICAvLyBvbGQgZnJhbWUsIGFuZCBmaW5hbGx5IHdlIHNhdmUgdGhlIHZhcmlvdXMg
Y2FsbGVlLXNhdmUgcmVnaXN0ZXJzIGludG8gd2hlcmUgdGhlCisgICAgLy8gcmVzdG9yYXRpb24g
dGh1bmsgd291bGQgcmVzdG9yZSB0aGVtIGZyb20uCisgICAgCisgICAgcHRyZGlmZl90IG9mZnNl
dCA9IHJlZ2lzdGVyUHJlc2VydmF0aW9uT2Zmc2V0KCk7CisgICAgUmVnaXN0ZXJTZXQgdG9TYXZl
ID0gcmVnaXN0ZXJzVG9QcmVzZXJ2ZSgpOworICAgIAorICAgIC8vIEJlZm9yZSB3ZSBzdGFydCBt
ZXNzaW5nIHdpdGggdGhlIGZyYW1lLCB3ZSBuZWVkIHRvIHNldCBhc2lkZSBhbnkgcmVnaXN0ZXJz
IHRoYXQgdGhlCisgICAgLy8gRlRMIGNvZGUgd2FzIHByZXNlcnZpbmcuCisgICAgZm9yICh1bnNp
Z25lZCBpID0gaml0Q29kZS0+dW53aW5kSW5mby5tX3JlZ2lzdGVycy5zaXplKCk7IGktLTspIHsK
KyAgICAgICAgUmVnaXN0ZXJBdE9mZnNldCBlbnRyeSA9IGppdENvZGUtPnVud2luZEluZm8ubV9y
ZWdpc3RlcnNbaV07CisgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6QWRkcmVzcyhNYWNyb0Fzc2VtYmxlcjo6ZnJhbWVQb2ludGVyUmVnaXN0ZXIsIGVudHJ5
Lm9mZnNldCgpKSwKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1QwKTsKKyAgICAgICAgaml0LnN0
b3JlNjQoR1BSSW5mbzo6cmVnVDAsIHVud2luZFNjcmF0Y2ggKyBpKTsKKyAgICB9CisgICAgCisg
ICAgaml0LmxvYWQzMihDQ2FsbEhlbHBlcnM6OnBheWxvYWRGb3IoSlNTdGFjazo6QXJndW1lbnRD
b3VudCksIEdQUkluZm86OnJlZ1QyKTsKKyAgICAKKyAgICAvLyBMZXQncyBzYXkgdGhhdCB0aGUg
RlRMIGZ1bmN0aW9uIGhhZCBmYWlsZWQgaXRzIGFyaXR5IGNoZWNrLiBJbiB0aGF0IGNhc2UsIHRo
ZSBzdGFjayB3aWxsCisgICAgLy8gY29udGFpbiBzb21lIGV4dHJhIHN0dWZmLgorICAgIC8vCisg
ICAgLy8gRmlyc3Qgd2UgY29tcHV0ZSB0aGUgcGFkZGVkIHN0YWNrIHNwYWNlOgorICAgIC8vCisg
ICAgLy8gICAgIHBhZGRlZFN0YWNrU3BhY2UgPSByb3VuZFVwKGNvZGVCbG9jay0+bnVtUGFyYW1l
dGVycyAtIHJlZ1QyICsgMSkKKyAgICAvLworICAgIC8vIFRoZSBzdGFjayB3aWxsIGhhdmUgcmVn
VDIgKyBDYWxsRnJhbWVIZWFkZXJTaXplIHN0dWZmLCBidXQgYWJvdmUgaXQgdGhlcmUgd2lsbCBi
ZQorICAgIC8vIHBhZGRlZFN0YWNrU3BhY2UgZ3VuayB1c2VkIGJ5IHRoZSBhcml0eSBjaGVjayBm
YWlsIHJlc3RvcmF0aW9uIHRodW5rLiBXaGVuIHRoYXQgaGFwcGVucworICAgIC8vIHdlIHdhbnQg
dG8gbWFrZSB0aGUgc3RhY2sgbG9vayBsaWtlIHRoaXMsIGZyb20gaGlnaGVyIGFkZHJlc3NlcyBk
b3duOgorICAgIC8vCisgICAgLy8gICAgIC0gcmVnaXN0ZXIgcHJlc2VydmF0aW9uIHJldHVybiBQ
QworICAgIC8vICAgICAtIHByZXNlcnZlZCByZWdpc3RlcnMKKyAgICAvLyAgICAgLSBhcml0eSBj
aGVjayBmYWlsIHJldHVybiBQQworICAgIC8vICAgICAtIGFyZ3VtZW50IHBhZGRpbmcKKyAgICAv
LyAgICAgLSBhY3R1YWwgYXJndW1lbnRzCisgICAgLy8gICAgIC0gY2FsbCBmcmFtZSBoZWFkZXIK
KyAgICAvLworICAgIC8vIFNvIHRoYXQgdGhlIGFjdHVhbCBjYWxsIGZyYW1lIGhlYWRlciBhcHBl
YXJzIHRvIHJldHVybiB0byB0aGUgYXJpdHkgY2hlY2sgZmFpbCByZXR1cm4KKyAgICAvLyBQQywg
YW5kIHRoYXQgdGhlbiByZXR1cm5zIHRvIHRoZSByZWdpc3RlciBwcmVzZXJ2YXRpb24gdGh1bmsu
IFRoZSBhcml0eSBjaGVjayB0aHVuayB0aGF0CisgICAgLy8gd2UgcmV0dXJuIHRvIHdpbGwgaGF2
ZSB0aGUgcGFkZGluZyBzaXplIGVuY29kZWQgaW50byBpdC4gSXQgd2lsbCB0aGVuIGtub3cgdG8g
cmV0dXJuCisgICAgLy8gaW50byB0aGUgcmVnaXN0ZXIgcHJlc2VydmF0aW9uIHRodW5rLCB3aGlj
aCB1c2VzIHRoZSBhcmd1bWVudCBjb3VudCB0byBmaWd1cmUgb3V0IHdoZXJlCisgICAgLy8gcmVn
aXN0ZXJzIGFyZSBwcmVzZXJ2ZWQuCisKKyAgICAvLyBUaGlzIGNvZGUgYXNzdW1lcyB0aGF0IHdl
J3JlIGRlYWxpbmcgd2l0aCBGdW5jdGlvbkNvZGUuCisgICAgUkVMRUFTRV9BU1NFUlQoY29kZUJs
b2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSk7CisgICAgCisgICAgaml0LmFkZDMyKAor
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKC1jb2RlQmxvY2stPm51bVBhcmFt
ZXRlcnMoKSksIEdQUkluZm86OnJlZ1QyLAorICAgICAgICBHUFJJbmZvOjpyZWdUMyk7CisgICAg
TWFjcm9Bc3NlbWJsZXI6Okp1bXAgYXJpdHlJbnRhY3QgPSBqaXQuYnJhbmNoVGVzdDMyKE1hY3Jv
QXNzZW1ibGVyOjpaZXJvLCBHUFJJbmZvOjpyZWdUMyk7CisgICAgaml0Lm5lZzMyKEdQUkluZm86
OnJlZ1QzKTsKKyAgICBqaXQuYWRkMzIoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMigxICsg
c3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSAtIDEpLCBHUFJJbmZvOjpyZWdUMyk7CisgICAgaml0
LmFuZDMyKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoLXN0YWNrQWxpZ25tZW50UmVnaXN0
ZXJzKCkpLCBHUFJJbmZvOjpyZWdUMyk7CisgICAgaml0LmFkZDMyKEdQUkluZm86OnJlZ1QzLCBH
UFJJbmZvOjpyZWdUMik7CisgICAgYXJpdHlJbnRhY3QubGluaygmaml0KTsKKworICAgIC8vIEZp
cnN0IHNldCB1cCBTUCBzbyB0aGF0IG91ciBkYXRhIGRvZXNuJ3QgZ2V0IGNsb2JiZXJlZCBieSBz
aWduYWxzLgorICAgIGppdC5hZGRQdHIoCisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVk
SW1tMzIoCisgICAgICAgICAgICBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2YoCisgICAgICAgICAg
ICAgICAgc3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSwKKyAgICAgICAgICAgICAgICAtcmVnaXN0
ZXJQcmVzZXJ2YXRpb25PZmZzZXQoKSAtIGV4aXQubV92YWx1ZXMubnVtYmVyT2ZMb2NhbHMoKSAq
IHNpemVvZihSZWdpc3RlcikgLSBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCkpLAorICAg
ICAgICBNYWNyb0Fzc2VtYmxlcjo6ZnJhbWVQb2ludGVyUmVnaXN0ZXIsIE1hY3JvQXNzZW1ibGVy
OjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgCisgICAgaml0LnN1YlB0cigKKyAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihyZWdpc3RlclByZXNlcnZhdGlvbk9mZnNldCgp
KSwKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OmZyYW1lUG9pbnRlclJlZ2lzdGVyKTsKKyAgICAK
KyAgICAvLyBDb3B5IHRoZSBvbGQgZnJhbWUgZGF0YSBpbnRvIGl0cyBuZXcgbG9jYXRpb24uCisg
ICAgaml0LmFkZDMyKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoSlNTdGFjazo6Q2FsbEZy
YW1lSGVhZGVyU2l6ZSksIEdQUkluZm86OnJlZ1QyKTsKKyAgICBqaXQubW92ZShNYWNyb0Fzc2Vt
Ymxlcjo6ZnJhbWVQb2ludGVyUmVnaXN0ZXIsIEdQUkluZm86OnJlZ1QxKTsKKyAgICBNYWNyb0Fz
c2VtYmxlcjo6TGFiZWwgbG9vcCA9IGppdC5sYWJlbCgpOworICAgIGppdC5zdWIzMihNYWNyb0Fz
c2VtYmxlcjo6VHJ1c3RlZEltbTMyKDEpLCBHUFJJbmZvOjpyZWdUMik7CisgICAgaml0LmxvYWQ2
NChNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMSwgb2Zmc2V0KSwgR1BSSW5m
bzo6cmVnVDApOworICAgIGppdC5zdG9yZTY0KEdQUkluZm86OnJlZ1QwLCBHUFJJbmZvOjpyZWdU
MSk7CisgICAgaml0LmFkZFB0cihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKHNpemVvZihS
ZWdpc3RlcikpLCBHUFJJbmZvOjpyZWdUMSk7CisgICAgaml0LmJyYW5jaFRlc3QzMihNYWNyb0Fz
c2VtYmxlcjo6Tm9uWmVybywgR1BSSW5mbzo6cmVnVDIpLmxpbmtUbyhsb29wLCAmaml0KTsKKyAg
ICAKKyAgICAvLyBBdCB0aGlzIHBvaW50IHJlZ1QxIHBvaW50cyB0byB3aGVyZSB3ZSB3b3VsZCBz
YXZlIG91ciByZWdpc3RlcnMuIFNhdmUgdGhlbSBoZXJlLgorICAgIHB0cmRpZmZfdCBjdXJyZW50
T2Zmc2V0ID0gMDsKKyAgICBmb3IgKEdQUlJlZyBncHIgPSBBc3NlbWJseUhlbHBlcnM6OmZpcnN0
UmVnaXN0ZXIoKTsgZ3ByIDw9IEFzc2VtYmx5SGVscGVyczo6bGFzdFJlZ2lzdGVyKCk7IGdwciA9
IHN0YXRpY19jYXN0PEdQUlJlZz4oZ3ByICsgMSkpIHsKKyAgICAgICAgaWYgKCF0b1NhdmUuZ2V0
KGdwcikpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgY3VycmVudE9mZnNldCArPSBz
aXplb2YoUmVnaXN0ZXIpOworICAgICAgICB1bnNpZ25lZCB1bndpbmRJbmRleCA9IGppdENvZGUt
PnVud2luZEluZm8uaW5kZXhPZihncHIpOworICAgICAgICBpZiAodW53aW5kSW5kZXggPT0gVUlO
VF9NQVgpIHsKKyAgICAgICAgICAgIC8vIFRoZSBGVEwgY29tcGlsYXRpb24gZGlkbid0IHByZXNl
cnZlIHRoaXMgcmVnaXN0ZXIuIFRoaXMgbWVhbnMgdGhhdCBpdCBhbHNvCisgICAgICAgICAgICAv
LyBkaWRuJ3QgdXNlIHRoZSByZWdpc3Rlci4gU28gaXRzIHZhbHVlIGF0IHRoZSBiZWdpbm5pbmcg
b2YgT1NSIGV4aXQgc2hvdWxkIGJlCisgICAgICAgICAgICAvLyBwcmVzZXJ2ZWQgYnkgdGhlIHRo
dW5rLiBMdWNraWx5LCB3ZSBzYXZlZCBhbGwgcmVnaXN0ZXJzIGludG8gdGhlIHJlZ2lzdGVyCisg
ICAgICAgICAgICAvLyBzY3JhdGNoIGJ1ZmZlciwgc28gd2UgY2FuIHJlc3RvcmUgdGhlbSBmcm9t
IHRoZXJlLgorICAgICAgICAgICAgaml0LmxvYWQ2NChyZWdpc3RlclNjcmF0Y2ggKyBvZmZzZXRP
ZkdQUihncHIpLCBHUFJJbmZvOjpyZWdUMCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAvLyBUaGUgRlRMIGNvbXBpbGF0aW9uIHByZXNlcnZlZCB0aGUgcmVnaXN0ZXIuIEl0cyBuZXcg
dmFsdWUgaXMgdGhlcmVmb3JlCisgICAgICAgICAgICAvLyBpcnJlbGV2YW50LCBidXQgd2UgY2Fu
IGdldCB0aGUgdmFsdWUgdGhhdCB3YXMgcHJlc2VydmVkIGJ5IHVzaW5nIHRoZSB1bndpbmQKKyAg
ICAgICAgICAgIC8vIGRhdGEuIFdlJ3ZlIGFscmVhZHkgY29waWVkIGFsbCB1bndpbmQtYWJsZSBw
cmVzZXJ2ZWQgcmVnaXN0ZXJzIGludG8gdGhlIHVud2luZAorICAgICAgICAgICAgLy8gc2NyYXRj
aCBidWZmZXIsIHNvIHdlIGNhbiBnZXQgaXQgZnJvbSB0aGVyZS4KKyAgICAgICAgICAgIGppdC5s
b2FkNjQodW53aW5kU2NyYXRjaCArIHVud2luZEluZGV4LCBHUFJJbmZvOjpyZWdUMCk7CisgICAg
ICAgIH0KKyAgICAgICAgaml0LnN0b3JlNjQoR1BSSW5mbzo6cmVnVDAsIEFzc2VtYmx5SGVscGVy
czo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMSwgY3VycmVudE9mZnNldCkpOworICAgIH0KKyAgICAK
KyAgICAvLyBXZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIHJldHVybiBpbnRvIHRoZSByZWdp
c3RlciByZXN0b3JhdGlvbiB0aHVuay4gVGhpcyB3b3JrcworICAgIC8vIGRpZmZlcmVudGx5IGRl
cGVuZGluZyBvbiB3aGV0aGVyIG9yIG5vdCB3ZSBoYWQgYXJpdHkgaXNzdWVzLgorICAgIE1hY3Jv
QXNzZW1ibGVyOjpKdW1wIGFyaXR5SW50YWN0Rm9yUmV0dXJuUEMgPQorICAgICAgICBqaXQuYnJh
bmNoVGVzdDMyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCBHUFJJbmZvOjpyZWdUMyk7CisgICAgCisg
ICAgLy8gVGhlIHJldHVybiBQQyBpbiB0aGUgY2FsbCBmcmFtZSBoZWFkZXIgcG9pbnRzIGF0IGV4
YWN0bHkgdGhlIHJpZ2h0IGFyaXR5IHJlc3RvcmF0aW9uCisgICAgLy8gdGh1bmsuIFdlIGRvbid0
IHdhbnQgdG8gY2hhbmdlIHRoYXQuIEJ1dCB0aGUgYXJpdHkgcmVzdG9yYXRpb24gdGh1bmsncyBm
cmFtZSBoYXMgYQorICAgIC8vIHJldHVybiBQQyBhbmQgd2Ugd2FudCB0byByZXJvdXRlIHRoYXQg
dG8gb3VyIHJlZ2lzdGVyIHJlc3RvcmF0aW9uIHRodW5rLiBUaGUgYXJpdHkKKyAgICAvLyByZXN0
b3JhdGlvbidzIHJldHVybiBQQyBqdXN0IGp1c3QgYmVsb3cgcmVnVDEsIGFuZCB0aGUgcmVnaXN0
ZXIgcmVzdG9yYXRpb24ncyByZXR1cm4gUEMKKyAgICAvLyBpcyByaWdodCBhdCByZWdUMS4KKyAg
ICBqaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMSwgLXN0
YXRpY19jYXN0PHB0cmRpZmZfdD4oc2l6ZW9mKFJlZ2lzdGVyKSkpLCBHUFJJbmZvOjpyZWdUMCk7
CisgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OnJlZ1QwLCBHUFJJbmZvOjpyZWdUMSk7CisgICAg
aml0LnN0b3JlUHRyKAorICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cih2bS0+
Z2V0Q1RJU3R1YihyZWdpc3RlclJlc3RvcmF0aW9uVGh1bmtHZW5lcmF0b3IpLmNvZGUoKS5leGVj
dXRhYmxlQWRkcmVzcygpKSwKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoR1BSSW5m
bzo6cmVnVDEsIC1zdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihSZWdpc3RlcikpKSk7Cisg
ICAgCisgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgYXJpdHlSZXR1cm5QQ1JlYWR5ID0gaml0Lmp1
bXAoKTsKKworICAgIGFyaXR5SW50YWN0Rm9yUmV0dXJuUEMubGluaygmaml0KTsKKyAgICAKKyAg
ICBqaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhNYWNyb0Fzc2VtYmxlcjo6ZnJh
bWVQb2ludGVyUmVnaXN0ZXIsIENhbGxGcmFtZTo6cmV0dXJuUENPZmZzZXQoKSksIEdQUkluZm86
OnJlZ1QwKTsKKyAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6cmVnVDAsIEdQUkluZm86OnJlZ1Qx
KTsKKyAgICBqaXQuc3RvcmVQdHIoCisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
UHRyKHZtLT5nZXRDVElTdHViKHJlZ2lzdGVyUmVzdG9yYXRpb25UaHVua0dlbmVyYXRvcikuY29k
ZSgpLmV4ZWN1dGFibGVBZGRyZXNzKCkpLAorICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVz
cyhNYWNyb0Fzc2VtYmxlcjo6ZnJhbWVQb2ludGVyUmVnaXN0ZXIsIENhbGxGcmFtZTo6cmV0dXJu
UENPZmZzZXQoKSkpOworICAgIAorICAgIGFyaXR5UmV0dXJuUENSZWFkeS5saW5rKCZqaXQpOwor
ICAgIAogICAgIC8vIE5vdyBnZXQgc3RhdGUgb3V0IG9mIHRoZSBzY3JhdGNoIGJ1ZmZlciBhbmQg
cGxhY2UgaXQgYmFjayBpbnRvIHRoZSBzdGFjay4gVGhpcyBwYXJ0IGRvZXMKICAgICAvLyBhbGwg
cmVib3hpbmcuCiAgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IGV4aXQubV92YWx1ZXMuc2l6ZSgp
OyBpbmRleC0tOykgewpAQCAtMTUwLDI2ICszMzEsMTYgQEAgc3RhdGljIHZvaWQgY29tcGlsZVN0
dWIoCiAgICAgICAgIGppdC5sb2FkNjQoc2NyYXRjaCArIGluZGV4LCBHUFJJbmZvOjpyZWdUMCk7
CiAgICAgICAgIHJlYm94QWNjb3JkaW5nVG9Gb3JtYXQoCiAgICAgICAgICAgICB2YWx1ZS52YWx1
ZUZvcm1hdCgpLCBqaXQsIEdQUkluZm86OnJlZ1QwLCBHUFJJbmZvOjpyZWdUMSwgR1BSSW5mbzo6
cmVnVDIpOwotICAgICAgICBqaXQuc3RvcmU2NChHUFJJbmZvOjpyZWdUMCwgQXNzZW1ibHlIZWxw
ZXJzOjphZGRyZXNzRm9yKHN0YXRpY19jYXN0PFZpcnR1YWxSZWdpc3Rlcj4ob3BlcmFuZCksIEdQ
UkluZm86OnJlZ1Q0KSk7CisgICAgICAgIGppdC5zdG9yZTY0KEdQUkluZm86OnJlZ1QwLCBBc3Nl
bWJseUhlbHBlcnM6OmFkZHJlc3NGb3Ioc3RhdGljX2Nhc3Q8VmlydHVhbFJlZ2lzdGVyPihvcGVy
YW5kKSkpOwogICAgIH0KICAgICAKLSAgICAvLyBSZXN0b3JlIHRoZSBvbGQgc3RhY2sgcG9pbnRl
ciBhbmQgdGhlbiBwdXQgcmVnVDQgaW50byBjYWxsRnJhbWVSZWdpc3Rlci4gVGhlIGlkZWEgaXMK
LSAgICAvLyB0aGF0IHRoZSBGVEwgY2FsbCBmcmFtZSBpcyBwdXNoZWQgb250byB0aGUgSlMgY2Fs
bCBmcmFtZSBhbmQgd2UgY2FuIHJlY292ZXIgdGhlIG9sZAotICAgIC8vIHZhbHVlIG9mIHRoZSBz
dGFjayBwb2ludGVyIGJ5IHBvcHBpbmcgdGhlIEZUTCBjYWxsIGZyYW1lLiBXZSBhbHJlYWR5IGtu
b3cgd2hhdCB0aGUKLSAgICAvLyBmcmFtZSBwb2ludGVyIGluIHRoZSBKUyBjYWxsIGZyYW1lIHdh
cyBiZWNhdXNlIGl0IHdvdWxkIGhhdmUgYmVlbiBwYXNzZWQgYXMgYW4gYXJndW1lbnQKLSAgICAv
LyB0byB0aGUgRlRMIGNhbGwgZnJhbWUuCi0gICAgaml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OmZy
YW1lUG9pbnRlclJlZ2lzdGVyLCBNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIp
OwotICAgIGppdC5wb3AoR1BSSW5mbzo6bm9uQXJnR1BSMCk7Ci0gICAgaml0LnBvcChHUFJJbmZv
Ojpub25BcmdHUFIwKTsKLSAgICBqaXQubW92ZShHUFJJbmZvOjpyZWdUNCwgR1BSSW5mbzo6Y2Fs
bEZyYW1lUmVnaXN0ZXIpOwotICAgIAogICAgIGhhbmRsZUV4aXRDb3VudHMoaml0LCBleGl0KTsK
ICAgICByZWlmeUlubGluZWRDYWxsRnJhbWVzKGppdCwgZXhpdCk7CiAgICAgYWRqdXN0QW5kSnVt
cFRvVGFyZ2V0KGppdCwgZXhpdCk7CiAgICAgCiAgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcigq
dm0sICZqaXQsIGNvZGVCbG9jayk7CiAgICAgZXhpdC5tX2NvZGUgPSBGSU5BTElaRV9DT0RFX0lG
KAotICAgICAgICBzaG91bGRTaG93RGlzYXNzZW1ibHkoKSwKKyAgICAgICAgc2hvdWxkU2hvd0Rp
c2Fzc2VtYmx5KCkgfHwgT3B0aW9uczo6dmVyYm9zZU9TUigpLAogICAgICAgICBwYXRjaEJ1ZmZl
ciwKICAgICAgICAgKCJGVEwgT1NSIGV4aXQgIyV1ICglcywgJXMpIGZyb20gJXMsIHdpdGggb3Bl
cmFuZHMgPSAlcywgYW5kIHJlY29yZCA9ICVzIiwKICAgICAgICAgICAgIGV4aXRJRCwgdG9DU3Ry
aW5nKGV4aXQubV9jb2RlT3JpZ2luKS5kYXRhKCksCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExP
dXRwdXQuaAppbmRleCAyZWM4NzM1MDNhNWU3MmI1NTRiYjMxYWU5YTA2ZjBkNTQ3YzgyNTU2Li5i
ZTQwZDExMTFiOTdlMmE1OWRhMDg5MGU1NTNmNGM0ZmFmYmZjZjkxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMT3V0cHV0LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTE4NCw3ICsxODQsMjMgQEAgcHVibGljOgogICAgIHsKICAg
ICAgICAgcmV0dXJuIGNhbGwoZG91YmxlQWJzSW50cmluc2ljKCksIHZhbHVlKTsKICAgICB9Ci0g
ICAgCisgICAgTFZhbHVlIGRvdWJsZVNpbihMVmFsdWUgdmFsdWUpCisgICAgeworICAgICAgICBy
ZXR1cm4gY2FsbChkb3VibGVTaW5JbnRyaW5zaWMoKSwgdmFsdWUpOworICAgIH0KKworCisgICAg
TFZhbHVlIGRvdWJsZUNvcyhMVmFsdWUgdmFsdWUpCisgICAgeworICAgICAgICByZXR1cm4gY2Fs
bChkb3VibGVDb3NJbnRyaW5zaWMoKSwgdmFsdWUpOworICAgIH0KKworICAgIExWYWx1ZSBkb3Vi
bGVTcXJ0KExWYWx1ZSB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBjYWxsKGRvdWJsZVNx
cnRJbnRyaW5zaWMoKSwgdmFsdWUpOworICAgIH0KKworCiAgICAgc3RhdGljIGJvb2wgaGFzU2Vu
c2libGVEb3VibGVUb0ludCgpIHsgcmV0dXJuIGlzWDg2KCk7IH0KICAgICBMVmFsdWUgc2Vuc2li
bGVEb3VibGVUb0ludChMVmFsdWUgdmFsdWUpCiAgICAgewpAQCAtMjEwLDYgKzIyNiw3IEBAIHB1
YmxpYzoKICAgICBMVmFsdWUgY2FzdFRvSW50MzIoTFZhbHVlIHZhbHVlKSB7IHJldHVybiBpbnRD
YXN0KHZhbHVlLCBpbnQzMik7IH0KICAgICBMVmFsdWUgZnBDYXN0KExWYWx1ZSB2YWx1ZSwgTFR5
cGUgdHlwZSkgeyByZXR1cm4gYnVpbGRGUENhc3QobV9idWlsZGVyLCB2YWx1ZSwgdHlwZSk7IH0K
ICAgICBMVmFsdWUgaW50VG9QdHIoTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBi
dWlsZEludFRvUHRyKG1fYnVpbGRlciwgdmFsdWUsIHR5cGUpOyB9CisgICAgTFZhbHVlIHB0clRv
SW50KExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gYnVpbGRQdHJUb0ludChtX2J1
aWxkZXIsIHZhbHVlLCB0eXBlKTsgfQogICAgIExWYWx1ZSBiaXRDYXN0KExWYWx1ZSB2YWx1ZSwg
TFR5cGUgdHlwZSkgeyByZXR1cm4gYnVpbGRCaXRDYXN0KG1fYnVpbGRlciwgdmFsdWUsIHR5cGUp
OyB9CiAgICAgCiAgICAgTFZhbHVlIGFsbG9jYShMVHlwZSB0eXBlKSB7IHJldHVybiBidWlsZEFs
bG9jYShtX2J1aWxkZXIsIHR5cGUpOyB9CkBAIC0zMTQsNiArMzMxLDIwIEBAIHB1YmxpYzoKICAg
ICB2b2lkIHN0b3JlUHRyKExWYWx1ZSB2YWx1ZSwgTFZhbHVlIGJhc2UsIGNvbnN0IEFic3RyYWN0
RmllbGQmIGZpZWxkKSB7IHN0b3JlUHRyKHZhbHVlLCBhZGRyZXNzKGJhc2UsIGZpZWxkKSk7IH0K
ICAgICB2b2lkIHN0b3JlRG91YmxlKExWYWx1ZSB2YWx1ZSwgTFZhbHVlIGJhc2UsIGNvbnN0IEFi
c3RyYWN0RmllbGQmIGZpZWxkKSB7IHN0b3JlRG91YmxlKHZhbHVlLCBhZGRyZXNzKGJhc2UsIGZp
ZWxkKSk7IH0KICAgICAKKyAgICB2b2lkIGFzY3JpYmVSYW5nZShMVmFsdWUgbG9hZEluc3RydWN0
aW9uLCBjb25zdCBWYWx1ZVJhbmdlJiByYW5nZSkKKyAgICB7CisgICAgICAgIHJhbmdlLmRlY29y
YXRlSW5zdHJ1Y3Rpb24obV9jb250ZXh0LCBsb2FkSW5zdHJ1Y3Rpb24sIHJhbmdlS2luZCk7Cisg
ICAgfQorICAgIAorICAgIExWYWx1ZSBub25OZWdhdGl2ZTMyKExWYWx1ZSBsb2FkSW5zdHJ1Y3Rp
b24pCisgICAgeworICAgICAgICBhc2NyaWJlUmFuZ2UobG9hZEluc3RydWN0aW9uLCBub25OZWdh
dGl2ZUludDMyKTsKKyAgICAgICAgcmV0dXJuIGxvYWRJbnN0cnVjdGlvbjsKKyAgICB9CisgICAg
CisgICAgTFZhbHVlIGxvYWQzMk5vbk5lZ2F0aXZlKFR5cGVkUG9pbnRlciBwb2ludGVyKSB7IHJl
dHVybiBub25OZWdhdGl2ZTMyKGxvYWQzMihwb2ludGVyKSk7IH0KKyAgICBMVmFsdWUgbG9hZDMy
Tm9uTmVnYXRpdmUoTFZhbHVlIGJhc2UsIGNvbnN0IEFic3RyYWN0RmllbGQmIGZpZWxkKSB7IHJl
dHVybiBub25OZWdhdGl2ZTMyKGxvYWQzMihiYXNlLCBmaWVsZCkpOyB9CisgICAgCiAgICAgTFZh
bHVlIGljbXAoTEludFByZWRpY2F0ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7
IHJldHVybiBidWlsZElDbXAobV9idWlsZGVyLCBjb25kLCBsZWZ0LCByaWdodCk7IH0KICAgICBM
VmFsdWUgZXF1YWwoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gaWNtcChMTFZN
SW50RVEsIGxlZnQsIHJpZ2h0KTsgfQogICAgIExWYWx1ZSBub3RFcXVhbChMVmFsdWUgbGVmdCwg
TFZhbHVlIHJpZ2h0KSB7IHJldHVybiBpY21wKExMVk1JbnRORSwgbGVmdCwgcmlnaHQpOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFJlY292ZXJ5T3Bjb2RlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMUmVjb3ZlcnlPcGNvZGUuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjcwNzcwZGQ4MTE2NGJjMGI2YzBmNGQ1YjUyYTgyYTg3OTliMTllMTcKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFJlY292ZXJ5T3Bjb2RlLmNw
cApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJGVExSZWNvdmVyeU9wY29k
ZS5oIgorCisjaWYgRU5BQkxFKEZUTF9KSVQpCisKKyNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0u
aD4KKworbmFtZXNwYWNlIFdURiB7CisKK3ZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYg
b3V0LCBKU0M6OkZUTDo6UmVjb3ZlcnlPcGNvZGUgb3Bjb2RlKQoreworICAgIHN3aXRjaCAob3Bj
b2RlKSB7CisgICAgY2FzZSBKU0M6OkZUTDo6QWRkUmVjb3Zlcnk6CisgICAgICAgIG91dC5wcmlu
dCgiQWRkIik7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIEpTQzo6RlRMOjpTdWJSZWNvdmVy
eToKKyAgICAgICAgb3V0LnByaW50KCJTdWIiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXVEYK
KworI2VuZGlmIC8vIEVOQUJMRShGVExfSklUKQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTFJlY292ZXJ5T3Bjb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTFJlY292ZXJ5T3Bjb2RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDNhNzU1YTk0NmQzMzFjYjE3YjAz
MzQ4YTE3OWE1YTMyYjk0YjZjMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMUmVjb3ZlcnlPcGNvZGUuaApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgRlRMUmVjb3ZlcnlP
cGNvZGVfaAorI2RlZmluZSBGVExSZWNvdmVyeU9wY29kZV9oCisKKyNpZiBFTkFCTEUoRlRMX0pJ
VCkKKworbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgeworCitlbnVtIFJlY292ZXJ5T3Bj
b2RlIHsKKyAgICBBZGRSZWNvdmVyeSwKKyAgICBTdWJSZWNvdmVyeQorfTsKKworfSB9IC8vIG5h
bWVzcGFjZSBKU0M6OkZUTAorCituYW1lc3BhY2UgV1RGIHsKKworY2xhc3MgUHJpbnRTdHJlYW07
Cit2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBKU0M6OkZUTDo6UmVjb3ZlcnlPcGNv
ZGUpOworCit9IC8vIG5hbWVzcGFjZSBXVEYKKworI2VuZGlmIC8vIEVOQUJMRShGVExfSklUKQor
CisjZW5kaWYgLy8gRlRMUmVjb3ZlcnlPcGNvZGVfaAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTFJlZ2lzdGVyQXRPZmZzZXQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExSZWdpc3RlckF0T2Zmc2V0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNzA3N2ZkNTBk
YzQwNjFhYTRiYzA1MDY5MmM3YjU3YTIyOGIwOGY0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExSZWdpc3RlckF0T2Zmc2V0LmNwcApAQCAtMCwwICsxLDQx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJGVExSZWdpc3RlckF0T2Zmc2V0LmgiCisKKyNpZiBF
TkFCTEUoRlRMX0pJVCkKKworbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgeworCit2b2lk
IFJlZ2lzdGVyQXRPZmZzZXQ6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBv
dXQucHJpbnQoZ3ByKCksICIgYXQgIiwgb2Zmc2V0KCkpOworfQorCit9IH0gLy8gbmFtZXNwYWNl
IEpTQzo6RlRMCisKKyNlbmRpZiAvLyBFTkFCTEUoRlRMX0pJVCkKKwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExSZWdpc3RlckF0T2Zmc2V0LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTFJlZ2lzdGVyQXRPZmZzZXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZDllOWFi
MDNkMDNmNzk5YzYwYTczM2ZjNTI3MTczZjRhYmEwMzA2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExSZWdpc3RlckF0T2Zmc2V0LmgKQEAgLTAsMCArMSw4
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZu
ZGVmIEZUTFJlZ2lzdGVyQXRPZmZzZXRfaAorI2RlZmluZSBGVExSZWdpc3RlckF0T2Zmc2V0X2gK
KworI2lmIEVOQUJMRShGVExfSklUKQorCisjaW5jbHVkZSAiR1BSSW5mby5oIgorI2luY2x1ZGUg
PHd0Zi9QcmludFN0cmVhbS5oPgorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CisK
K2NsYXNzIFJlZ2lzdGVyQXRPZmZzZXQgeworcHVibGljOgorICAgIFJlZ2lzdGVyQXRPZmZzZXQo
KQorICAgICAgICA6IG1fZ3ByKEludmFsaWRHUFJSZWcpCisgICAgICAgICwgbV9vZmZzZXQoMCkK
KyAgICB7CisgICAgfQorICAgIAorICAgIFJlZ2lzdGVyQXRPZmZzZXQoR1BSUmVnIGdwciwgcHRy
ZGlmZl90IG9mZnNldCkKKyAgICAgICAgOiBtX2dwcihncHIpCisgICAgICAgICwgbV9vZmZzZXQo
b2Zmc2V0KQorICAgIHsKKyAgICB9CisgICAgCisgICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdCB7
IHJldHVybiBtX2dwciA9PSBJbnZhbGlkR1BSUmVnOyB9CisgICAgCisgICAgR1BSUmVnIGdwcigp
IGNvbnN0IHsgcmV0dXJuIG1fZ3ByOyB9CisgICAgcHRyZGlmZl90IG9mZnNldCgpIGNvbnN0IHsg
cmV0dXJuIG1fb2Zmc2V0OyB9CisgICAgCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlZ2lz
dGVyQXRPZmZzZXQmIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGdwcigpID09
IG90aGVyLmdwcigpICYmIG9mZnNldCgpID09IG90aGVyLm9mZnNldCgpOworICAgIH0KKyAgICAK
KyAgICBib29sIG9wZXJhdG9yPChjb25zdCBSZWdpc3RlckF0T2Zmc2V0JiBvdGhlcikgY29uc3QK
KyAgICB7CisgICAgICAgIGlmIChncHIoKSAhPSBvdGhlci5ncHIoKSkKKyAgICAgICAgICAgIHJl
dHVybiBncHIoKSA8IG90aGVyLmdwcigpOworICAgICAgICByZXR1cm4gb2Zmc2V0KCkgPCBvdGhl
ci5vZmZzZXQoKTsKKyAgICB9CisgICAgCisgICAgc3RhdGljIEdQUlJlZyBnZXRHUFIoUmVnaXN0
ZXJBdE9mZnNldCogdmFsdWUpIHsgcmV0dXJuIHZhbHVlLT5ncHIoKTsgfQorICAgIAorICAgIHZv
aWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBHUFJSZWcg
bV9ncHI7CisgICAgcHRyZGlmZl90IG1fb2Zmc2V0OworfTsKKworfSB9IC8vIG5hbWVzcGFjZSBK
U0M6OkZUTAorCisjZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQpCisKKyNlbmRpZiAvLyBGVExSZWdp
c3RlckF0T2Zmc2V0X2gKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExTbG93UGF0aENhbGwuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0
aENhbGwuY3BwCmluZGV4IDNjZjZhZTBlM2Y2MGI1Y2YzOTFjZmM0ODA1NWRmMGZkZTRjZTAxNjcu
LjJlMGZhODg5YzczNzNmZDliMDYwM2VlMzE4MmM3YmJjM2NjYTY0ODggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxsLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5jcHAKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDYgKzI5LDcgQEAKICNp
ZiBFTkFCTEUoRlRMX0pJVCkKIAogI2luY2x1ZGUgIkNDYWxsSGVscGVycy5oIgorI2luY2x1ZGUg
IkNhbGxGcmFtZUlubGluZXMuaCIKICNpbmNsdWRlICJGVExTdGF0ZS5oIgogI2luY2x1ZGUgIkdQ
UkluZm8uaCIKIApAQCAtMTM0LDExICsxMzUsMTMgQEAgcHVibGljOgogICAgICAgICByZXR1cm4g
U2xvd1BhdGhDYWxsS2V5KHVzZWRSZWdpc3RlcnMoKSwgY2FsbFRhcmdldCwgb2Zmc2V0KCkpOwog
ICAgIH0KICAgICAKLSAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBtYWtlQ2FsbCh2b2lkKiBjYWxs
VGFyZ2V0KQorICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIG1ha2VDYWxsKHZvaWQqIGNhbGxUYXJn
ZXQsIE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCogZXhjZXB0aW9uVGFyZ2V0KQogICAgIHsKICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgcmVzdWx0ID0gbV9qaXQuY2FsbCgpOwogICAgICAg
ICBtX3N0YXRlLmZpbmFsaXplci0+c2xvd1BhdGhDYWxscy5hcHBlbmQoU2xvd1BhdGhDYWxsKAog
ICAgICAgICAgICAgcmVzdWx0LCBrZXlXaXRoVGFyZ2V0KGNhbGxUYXJnZXQpKSk7CisgICAgICAg
IGlmIChleGNlcHRpb25UYXJnZXQpCisgICAgICAgICAgICBleGNlcHRpb25UYXJnZXQtPmFwcGVu
ZChtX2ppdC5lbWl0RXhjZXB0aW9uQ2hlY2soKSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAg
ICAgfQogICAgIApAQCAtMTU3LDMyICsxNjAsNDQgQEAgcHJpdmF0ZToKIAogfSAvLyBhbm9ueW1v
dXMgbmFtZXNwYWNlCiAKK3ZvaWQgc3RvcmVDb2RlT3JpZ2luKFN0YXRlJiBzdGF0ZSwgQ0NhbGxI
ZWxwZXJzJiBqaXQsIENvZGVPcmlnaW4gY29kZU9yaWdpbikKK3sKKyAgICBpZiAoIWNvZGVPcmln
aW4uaXNTZXQoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIHVuc2lnbmVkIGluZGV4ID0g
c3RhdGUuaml0Q29kZS0+Y29tbW9uLmFkZENvZGVPcmlnaW4oY29kZU9yaWdpbik7CisgICAgdW5z
aWduZWQgbG9jYXRpb25CaXRzID0gQ2FsbEZyYW1lOjpMb2NhdGlvbjo6ZW5jb2RlQXNDb2RlT3Jp
Z2luSW5kZXgoaW5kZXgpOworICAgIGppdC5zdG9yZTMyKAorICAgICAgICBDQ2FsbEhlbHBlcnM6
OlRydXN0ZWRJbW0zMihsb2NhdGlvbkJpdHMpLAorICAgICAgICBDQ2FsbEhlbHBlcnM6OnRhZ0Zv
cihzdGF0aWNfY2FzdDxWaXJ0dWFsUmVnaXN0ZXI+KEpTU3RhY2s6OkFyZ3VtZW50Q291bnQpKSk7
Cit9CisKIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oCi0gICAgU3RhdGUmIHN0
YXRlLCBjb25zdCBSZWdpc3RlclNldCYgdXNlZFJlZ2lzdGVycywgQ0NhbGxIZWxwZXJzJiBqaXQs
IAotICAgIEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQ
UlJlZyBjYWxsRnJhbWVSZWdpc3RlciwKLSAgICBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEdQUlJlZyBvYmplY3QsIFN0cmluZ0ltcGwqIHVpZCkKKyAgICBTdGF0ZSYgc3RhdGUsIGNvbnN0
IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzLCBDQ2FsbEhlbHBlcnMmIGppdCwKKyAgICBDb2Rl
T3JpZ2luIGNvZGVPcmlnaW4sIE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCogZXhjZXB0aW9uVGFy
Z2V0LAorICAgIEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQs
IFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywKKyAgICBHUFJSZWcgb2JqZWN0LCBTdHJpbmdJ
bXBsKiB1aWQpCiB7CisgICAgc3RvcmVDb2RlT3JpZ2luKHN0YXRlLCBqaXQsIGNvZGVPcmlnaW4p
OwogICAgIENhbGxDb250ZXh0IGNvbnRleHQoc3RhdGUsIHVzZWRSZWdpc3RlcnMsIGppdCwgNCwg
cmVzdWx0KTsKLSAgICBqaXQuc2V0dXBBcmd1bWVudHMoCi0gICAgICAgIGNhbGxGcmFtZVJlZ2lz
dGVyLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBvYmplY3QsCisgICAg
aml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZSgKKyAgICAgICAgQ0NhbGxIZWxwZXJzOjpU
cnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwgb2JqZWN0LAogICAgICAgICBDQ2FsbEhlbHBlcnM6OlRy
dXN0ZWRJbW1QdHIodWlkKSk7Ci0gICAgcmV0dXJuIGNvbnRleHQubWFrZUNhbGwoYml0d2lzZV9j
YXN0PHZvaWQqPihvcGVyYXRpb24pKTsKLSAgICAvLyBGSVhNRTogRlRMIHNob3VsZCBzdXBwb3J0
IGV4Y2VwdGlvbnMuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExMzYyMgorICAgIHJldHVybiBjb250ZXh0Lm1ha2VDYWxsKGJpdHdpc2VfY2FzdDx2b2lk
Kj4ob3BlcmF0aW9uKSwgZXhjZXB0aW9uVGFyZ2V0KTsKIH0KIAogTWFjcm9Bc3NlbWJsZXI6OkNh
bGwgY2FsbE9wZXJhdGlvbigKICAgICBTdGF0ZSYgc3RhdGUsIGNvbnN0IFJlZ2lzdGVyU2V0JiB1
c2VkUmVnaXN0ZXJzLCBDQ2FsbEhlbHBlcnMmIGppdCwgCi0gICAgVl9KSVRPcGVyYXRpb25fRVNz
aUpKSSBvcGVyYXRpb24sIEdQUlJlZyBjYWxsRnJhbWVSZWdpc3RlciwKLSAgICBTdHJ1Y3R1cmVT
dHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyB2YWx1ZSwgR1BSUmVnIG9iamVjdCwgU3RyaW5nSW1w
bCogdWlkKQorICAgIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgTWFjcm9Bc3NlbWJsZXI6Okp1bXBM
aXN0KiBleGNlcHRpb25UYXJnZXQsCisgICAgVl9KSVRPcGVyYXRpb25fRVNzaUpKSSBvcGVyYXRp
b24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIHZhbHVlLAorICAgIEdQUlJl
ZyBvYmplY3QsIFN0cmluZ0ltcGwqIHVpZCkKIHsKKyAgICBzdG9yZUNvZGVPcmlnaW4oc3RhdGUs
IGppdCwgY29kZU9yaWdpbik7CiAgICAgQ2FsbENvbnRleHQgY29udGV4dChzdGF0ZSwgdXNlZFJl
Z2lzdGVycywgaml0LCA1LCBJbnZhbGlkR1BSUmVnKTsKLSAgICBqaXQuc2V0dXBBcmd1bWVudHMo
Ci0gICAgICAgIGNhbGxGcmFtZVJlZ2lzdGVyLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIo
c3R1YkluZm8pLCB2YWx1ZSwgb2JqZWN0LAorICAgIGppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoCisgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihzdHViSW5mbyksIHZh
bHVlLCBvYmplY3QsCiAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cih1aWQpKTsK
LSAgICByZXR1cm4gY29udGV4dC5tYWtlQ2FsbChiaXR3aXNlX2Nhc3Q8dm9pZCo+KG9wZXJhdGlv
bikpOwotICAgIC8vIEZJWE1FOiBGVEwgc2hvdWxkIHN1cHBvcnQgZXhjZXB0aW9ucy4KLSAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjIyCisgICAgcmV0
dXJuIGNvbnRleHQubWFrZUNhbGwoYml0d2lzZV9jYXN0PHZvaWQqPihvcGVyYXRpb24pLCBleGNl
cHRpb25UYXJnZXQpOwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0aENhbGwuaAppbmRleCA0MzVlZmRjODM0ZTQwMjQ1
ZTlkYmMwOTc5ZmY5M2FiZTM5NmNiNWZkLi42OGUwOWU2NmI5N2VjNDBmNDlmZjVmOTdiOGM0ODgx
Yzc0ZGEzMzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQ
YXRoQ2FsbC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxs
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTU1LDEzICs1NSwxNSBAQCBwcml2YXRlOgogICAgIFNsb3dQYXRoQ2FsbEtleSBtX2tleTsK
IH07CiAKK3ZvaWQgc3RvcmVDb2RlT3JpZ2luKFN0YXRlJiwgQ0NhbGxIZWxwZXJzJiwgQ29kZU9y
aWdpbik7CisKIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oCi0gICAgU3RhdGUm
LCBjb25zdCBSZWdpc3RlclNldCYsIENDYWxsSGVscGVycyYsIEpfSklUT3BlcmF0aW9uX0VTc2lK
SSwKLSAgICBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgY2FsbEZyYW1lUmVnaXN0ZXIsIFN0cnVjdHVy
ZVN0dWJJbmZvKiwgR1BSUmVnIG9iamVjdCwKKyAgICBTdGF0ZSYsIGNvbnN0IFJlZ2lzdGVyU2V0
JiwgQ0NhbGxIZWxwZXJzJiwgQ29kZU9yaWdpbiwgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCosCisg
ICAgSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBHUFJSZWcgcmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5m
byosIEdQUlJlZyBvYmplY3QsCiAgICAgU3RyaW5nSW1wbCogdWlkKTsKIE1hY3JvQXNzZW1ibGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oCi0gICAgU3RhdGUmLCBjb25zdCBSZWdpc3RlclNldCYsIEND
YWxsSGVscGVycyYsIFZfSklUT3BlcmF0aW9uX0VTc2lKSkksCi0gICAgR1BSUmVnIGNhbGxGcmFt
ZVJlZ2lzdGVyLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZyB2YWx1ZSwgR1BSUmVnIG9iamVj
dCwKKyAgICBTdGF0ZSYsIGNvbnN0IFJlZ2lzdGVyU2V0JiwgQ0NhbGxIZWxwZXJzJiwgQ29kZU9y
aWdpbiwgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCosCisgICAgVl9KSVRPcGVyYXRpb25fRVNzaUpK
SSwgU3RydWN0dXJlU3R1YkluZm8qLCBHUFJSZWcgdmFsdWUsIEdQUlJlZyBvYmplY3QsCiAgICAg
U3RyaW5nSW1wbCogdWlkKTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGFja01hcHMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExTdGFja01hcHMuY3BwCmluZGV4IDVhZjIwODJjOGNjYTA2OGZj
MTIwNjZmMGNjNDg4ZmZlOGMzOWJjYzkuLjQwMzM4OTFhOWI0MzdjYTQ4ZTJhZTY0ZGUwZTU0M2Zm
MzNlNmM2NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhY2tN
YXBzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YWNrTWFwcy5jcHAK
QEAgLTc5LDcgKzc5LDkgQEAgdm9pZCBTdGFja01hcHM6OkxvY2F0aW9uOjpyZXN0b3JlSW50bygK
IAogYm9vbCBTdGFja01hcHM6OlJlY29yZDo6cGFyc2UoRGF0YVZpZXcqIHZpZXcsIHVuc2lnbmVk
JiBvZmZzZXQpCiB7Ci0gICAgcGF0Y2hwb2ludElEID0gdmlldy0+cmVhZDx1aW50MzJfdD4ob2Zm
c2V0LCB0cnVlKTsKKyAgICBpbnQ2NF90IGlkID0gdmlldy0+cmVhZDxpbnQ2NF90PihvZmZzZXQs
IHRydWUpOworICAgIEFTU0VSVChzdGF0aWNfY2FzdDxpbnQzMl90PihpZCkgPT0gaWQpOworICAg
IHBhdGNocG9pbnRJRCA9IHN0YXRpY19jYXN0PHVpbnQzMl90PihpZCk7CiAgICAgaWYgKHN0YXRp
Y19jYXN0PGludDMyX3Q+KHBhdGNocG9pbnRJRCkgPCAwKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgCkBAIC05MCw2ICs5MiwxMyBAQCBib29sIFN0YWNrTWFwczo6UmVjb3JkOjpwYXJzZShE
YXRhVmlldyogdmlldywgdW5zaWduZWQmIG9mZnNldCkKICAgICB3aGlsZSAobGVuZ3RoLS0pCiAg
ICAgICAgIGxvY2F0aW9ucy5hcHBlbmQocmVhZE9iamVjdDxMb2NhdGlvbj4odmlldywgb2Zmc2V0
KSk7CiAgICAgCisgICAgdW5zaWduZWQgbnVtTGl2ZU91dHMgPSB2aWV3LT5yZWFkPHVpbnQxNl90
PihvZmZzZXQsIHRydWUpOworICAgIHdoaWxlIChudW1MaXZlT3V0cy0tKSB7CisgICAgICAgIHZp
ZXctPnJlYWQ8dWludDE2X3Q+KG9mZnNldCwgdHJ1ZSk7IC8vIHJlZ251bQorICAgICAgICB2aWV3
LT5yZWFkPHVpbnQ4X3Q+KG9mZnNldCwgdHJ1ZSk7IC8vIHJlc2VydmVkCisgICAgICAgIHZpZXct
PnJlYWQ8dWludDhfdD4ob2Zmc2V0LCB0cnVlKTsgLy8gc2l6ZSBpbiBieXRlcworICAgIH0KKyAg
ICAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExTdGFja01hcHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3Rh
Y2tNYXBzLmgKaW5kZXggZjE3NTkyNWQ1MDEyYzE3Y2ExMDY1ZmU5MmI5ZDJiNjNhYzg1ODlkYS4u
MDNiNzY2MTVmZDdmMDNhMmJmYmQzY2RkZGU4MTg4ODZhYTVjYWE1NiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGFja01hcHMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTFN0YWNrTWFwcy5oCkBAIC02MSw3ICs2MSw3IEBAIHN0cnVjdCBTdGFj
a01hcHMgewogICAgICAgICB1aW50MTZfdCBkd2FyZlJlZ051bTsgLy8gUmVwcmVzZW50ZWQgYXMg
YSAxMi1iaXQgaW50IGluIHRoZSBzZWN0aW9uLgogICAgICAgICBpbnQ4X3Qgc2l6ZTsKICAgICAg
ICAgS2luZCBraW5kOwotICAgICAgICBpbnQxNl90IG9mZnNldDsKKyAgICAgICAgaW50MzJfdCBv
ZmZzZXQ7CiAgICAgICAgIAogICAgICAgICB2b2lkIHBhcnNlKERhdGFWaWV3KiwgdW5zaWduZWQm
IG9mZnNldCk7CiAgICAgICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhdGUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAKaW5kZXggYzI2M2IyNjRiNGRkMzEyNjVj
ZjE2YTRhMzljNjQ4MjkzMTUzYzFiNC4uMzI5NDRkNmI0MzNmYjk5ZGIyMDNlOWQ1YmU5YmMzNGEx
ZmFhY2EyOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAKQEAgLTQzLDYg
KzQzLDggQEAgU3RhdGU6OlN0YXRlKEdyYXBoJiBncmFwaCkKICAgICAsIG1vZHVsZSgwKQogICAg
ICwgZnVuY3Rpb24oMCkKICAgICAsIGdlbmVyYXRlZEZ1bmN0aW9uKDApCisgICAgLCBjb21wYWN0
VW53aW5kKDApCisgICAgLCBjb21wYWN0VW53aW5kU2l6ZSgwKQogewogICAgIHN3aXRjaCAoZ3Jh
cGgubV9wbGFuLm1vZGUpIHsKICAgICBjYXNlIEZUTE1vZGU6IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhdGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMU3RhdGUuaAppbmRleCBjODJkYjY3Mjg0MmViZWJhNmQ1NmJiNTYxNGNiNGMxZGFlMzEx
NjkzLi42ZTRhMzgxNjMwM2Q1NjZiNDc3YzFjODM3NTliNjM0M2FhYjM4ZDlhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiRlRMSW5s
aW5lQ2FjaGVEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiRlRMSklUQ29kZS5oIgogI2luY2x1ZGUg
IkZUTEpJVEZpbmFsaXplci5oIgorI2luY2x1ZGUgIkZUTEpTQ2FsbC5oIgogI2luY2x1ZGUgIkZU
TFN0YWNrTWFwcy5oIgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCkBAIC01NywxMCAr
NTgsMTUgQEAgcHVibGljOgogICAgIFJlZlB0cjxKSVRDb2RlPiBqaXRDb2RlOwogICAgIEdlbmVy
YXRlZEZ1bmN0aW9uIGdlbmVyYXRlZEZ1bmN0aW9uOwogICAgIEpJVEZpbmFsaXplciogZmluYWxp
emVyOworICAgIHVuc2lnbmVkIGhhbmRsZUV4Y2VwdGlvblN0YWNrbWFwSUQ7CisgICAgdW5zaWdu
ZWQgY2FwdHVyZWRTdGFja21hcElEOwogICAgIFNlZ21lbnRlZFZlY3RvcjxHZXRCeUlkRGVzY3Jp
cHRvcj4gZ2V0QnlJZHM7CiAgICAgU2VnbWVudGVkVmVjdG9yPFB1dEJ5SWREZXNjcmlwdG9yPiBw
dXRCeUlkczsKKyAgICBWZWN0b3I8SlNDYWxsPiBqc0NhbGxzOwogICAgIFZlY3RvcjxDU3RyaW5n
PiBjb2RlU2VjdGlvbk5hbWVzOwogICAgIFZlY3RvcjxDU3RyaW5nPiBkYXRhU2VjdGlvbk5hbWVz
OworICAgIHZvaWQqIGNvbXBhY3RVbndpbmQ7CisgICAgc2l6ZV90IGNvbXBhY3RVbndpbmRTaXpl
OwogICAgIFJlZkNvdW50ZWRBcnJheTxMU2VjdGlvbldvcmQ+IHN0YWNrbWFwc1NlY3Rpb247CiAg
ICAgCiAgICAgdm9pZCBkdW1wU3RhdGUoY29uc3QgY2hhciogd2hlbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFRodW5rcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTFRodW5rcy5jcHAKaW5kZXggYmYwNGFmMDJhMzk4NTczNDU5YjQ1NzYyYWJl
MDU2YWMwMTAzY2Y3NC4uMTlmMmZlMmEwMjU2ZjYxNmIyN2E1NWQzMzlkOWVlMjI5NDFiOTdjZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExUaHVua3MuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMVGh1bmtzLmNwcApAQCAtMzksOSArMzksOSBA
QCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAKIHVzaW5nIG5hbWVzcGFjZSBERkc7
CiAKLU1hY3JvQXNzZW1ibGVyQ29kZVJlZiBvc3JFeGl0R2VuZXJhdGlvblRodW5rR2VuZXJhdG9y
KFZNJiB2bSwgY29uc3QgTG9jYXRpb24mIGxvY2F0aW9uKQorTWFjcm9Bc3NlbWJsZXJDb2RlUmVm
IG9zckV4aXRHZW5lcmF0aW9uVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQogewotICAgIEFzc2VtYmx5
SGVscGVycyBqaXQoJnZtLCAwKTsKKyAgICBBc3NlbWJseUhlbHBlcnMgaml0KHZtLCAwKTsKICAg
ICAKICAgICAvLyBOb3RlIHRoYXQgdGhlICJyZXR1cm4gYWRkcmVzcyIgd2lsbCBiZSB0aGUgT1NS
IGV4aXQgSUQuCiAgICAgCkBAIC01MSw3ICs1MSw3IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBv
c3JFeGl0R2VuZXJhdGlvblRodW5rR2VuZXJhdG9yKFZNJiB2bSwgY29uc3QgTG9jYXRpb24mIGxv
CiAgICAgaml0LnB1c2goR1BSSW5mbzo6cmVnVDApOwogICAgIGppdC5wdXNoKEdQUkluZm86OnJl
Z1QwKTsKICAgICAKLSAgICBTY3JhdGNoQnVmZmVyKiBzY3JhdGNoQnVmZmVyID0gdm0uc2NyYXRj
aEJ1ZmZlckZvclNpemUocmVxdWlyZWRTY3JhdGNoTWVtb3J5U2l6ZUluQnl0ZXMoKSk7CisgICAg
U2NyYXRjaEJ1ZmZlciogc2NyYXRjaEJ1ZmZlciA9IHZtLT5zY3JhdGNoQnVmZmVyRm9yU2l6ZShy
ZXF1aXJlZFNjcmF0Y2hNZW1vcnlTaXplSW5CeXRlcygpKTsKICAgICBjaGFyKiBidWZmZXIgPSBz
dGF0aWNfY2FzdDxjaGFyKj4oc2NyYXRjaEJ1ZmZlci0+ZGF0YUJ1ZmZlcigpKTsKICAgICAKICAg
ICBzYXZlQWxsUmVnaXN0ZXJzKGppdCwgYnVmZmVyKTsKQEAgLTYwLDcgKzYwLDcgQEAgTWFjcm9B
c3NlbWJsZXJDb2RlUmVmIG9zckV4aXRHZW5lcmF0aW9uVGh1bmtHZW5lcmF0b3IoVk0mIHZtLCBj
b25zdCBMb2NhdGlvbiYgbG8KICAgICBqaXQubW92ZShNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZElt
bVB0cihzY3JhdGNoQnVmZmVyLT5hY3RpdmVMZW5ndGhQdHIoKSksIEdQUkluZm86Om5vbkFyZ0dQ
UjEpOwogICAgIGppdC5zdG9yZVB0cihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihyZXF1
aXJlZFNjcmF0Y2hNZW1vcnlTaXplSW5CeXRlcygpKSwgR1BSSW5mbzo6bm9uQXJnR1BSMSk7CiAK
LSAgICBsb2NhdGlvbi5yZXN0b3JlSW50byhqaXQsIGJ1ZmZlciwgR1BSSW5mbzo6YXJndW1lbnRH
UFIwLCAxKTsKKyAgICBqaXQubG9hZFB0cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgR1BS
SW5mbzo6YXJndW1lbnRHUFIwKTsKICAgICBqaXQucGVlayhHUFJJbmZvOjphcmd1bWVudEdQUjEs
IDMpOwogICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGZ1bmN0aW9uQ2FsbCA9IGppdC5jYWxsKCk7
CiAgICAgCkBAIC03MSw2ICs3MSwxMCBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgb3NyRXhpdEdl
bmVyYXRpb25UaHVua0dlbmVyYXRvcihWTSYgdm0sIGNvbnN0IExvY2F0aW9uJiBsbwogICAgIAog
ICAgIGppdC5tb3ZlKEdQUkluZm86OnJldHVyblZhbHVlR1BSLCBHUFJJbmZvOjpyZWdUMCk7CiAg
ICAgCisgICAgLy8gTWFrZSBzdXJlIHdlIHRlbGwgdGhlIEdDIHRoYXQgd2UncmUgbm90IHVzaW5n
IHRoZSBzY3JhdGNoIGJ1ZmZlciBhbnltb3JlLgorICAgIGppdC5tb3ZlKE1hY3JvQXNzZW1ibGVy
OjpUcnVzdGVkSW1tUHRyKHNjcmF0Y2hCdWZmZXItPmFjdGl2ZUxlbmd0aFB0cigpKSwgR1BSSW5m
bzo6cmVnVDEpOworICAgIGppdC5zdG9yZVB0cihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0
cigwKSwgR1BSSW5mbzo6cmVnVDEpOworICAgIAogICAgIC8vIFByZXBhcmUgZm9yIHRhaWwgY2Fs
bC4KICAgICBqaXQucG9wKEdQUkluZm86OnJlZ1QxKTsKICAgICBqaXQucG9wKEdQUkluZm86OnJl
Z1QxKTsKQEAgLTgxLDE0ICs4NSwxNCBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgb3NyRXhpdEdl
bmVyYXRpb25UaHVua0dlbmVyYXRvcihWTSYgdm0sIGNvbnN0IExvY2F0aW9uJiBsbwogICAgIC8v
IHJlc3RvcmUgYWxsIHJlZ2lzdGVycy4KICAgICAKICAgICBqaXQucmVzdG9yZVJldHVybkFkZHJl
c3NCZWZvcmVSZXR1cm4oR1BSSW5mbzo6cmVnVDApOwotICAgIAorCiAgICAgcmVzdG9yZUFsbFJl
Z2lzdGVycyhqaXQsIGJ1ZmZlcik7CiAKICAgICBqaXQucmV0KCk7CiAgICAgCi0gICAgTGlua0J1
ZmZlciBwYXRjaEJ1ZmZlcih2bSwgJmppdCwgR0xPQkFMX1RIVU5LX0lEKTsKKyAgICBMaW5rQnVm
ZmVyIHBhdGNoQnVmZmVyKCp2bSwgJmppdCwgR0xPQkFMX1RIVU5LX0lEKTsKICAgICBwYXRjaEJ1
ZmZlci5saW5rKGZ1bmN0aW9uQ2FsbCwgY29tcGlsZUZUTE9TUkV4aXQpOwotICAgIHJldHVybiBG
SU5BTElaRV9DT0RFKHBhdGNoQnVmZmVyLCAoIkZUTCBPU1IgZXhpdCBnZW5lcmF0aW9uIHRodW5r
IGZvciBjYWxsRnJhbWUgYXQgJXMiLCB0b0NTdHJpbmcobG9jYXRpb24pLmRhdGEoKSkpOworICAg
IHJldHVybiBGSU5BTElaRV9DT0RFKHBhdGNoQnVmZmVyLCAoIkZUTCBPU1IgZXhpdCBnZW5lcmF0
aW9uIHRodW5rIikpOwogfQogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgc2xvd1BhdGhDYWxsVGh1
bmtHZW5lcmF0b3IoVk0mIHZtLCBjb25zdCBTbG93UGF0aENhbGxLZXkmIGtleSkKQEAgLTExOSwx
MSArMTIzLDEzIEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBzbG93UGF0aENhbGxUaHVua0dlbmVy
YXRvcihWTSYgdm0sIGNvbnN0IFNsb3dQYXRoQ2FsbEtleSYKICAgICAgICAgY3VycmVudE9mZnNl
dCArPSBzaXplb2YoZG91YmxlKTsKICAgICB9CiAgICAgCisgICAgLy8gRklYTUU6IENTdGFjayAt
IE5lZWQgdG8gZG8gc29lbWV0aGluZyBsaWtlIGppdC5lbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpOwog
ICAgIGppdC5wcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwoR1BSSW5mbzo6bm9uQXJnR1BS
MCk7CiAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86Om5vbkFyZ0dQUjAsIEFzc2VtYmx5SGVscGVy
czo6QWRkcmVzcyhNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIGtleS5vZmZz
ZXQoKSkpOwogICAgIAogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGwgPSBqaXQuY2FsbCgpOwot
ICAgIAorCisgICAgLy8gRklYTUU6IENTdGFjayAtIE5lZWQgdG8gZG8gc29tZXRoaW5nIGxpa2Ug
aml0LmVtaXRGdW5jdGlvbkVwaWxvZ3VlKCk7CiAgICAgaml0LmxvYWRQdHIoQXNzZW1ibHlIZWxw
ZXJzOjpBZGRyZXNzKE1hY3JvQXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlciwga2V5Lm9m
ZnNldCgpKSwgR1BSSW5mbzo6bm9uUHJlc2VydmVkTm9uUmV0dXJuR1BSKTsKICAgICBqaXQucmVz
dG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4oR1BSSW5mbzo6bm9uUHJlc2VydmVkTm9uUmV0
dXJuR1BSKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
VGh1bmtzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFRodW5rcy5oCmluZGV4IGJi
Y2RiZGRjOTJhNWQ1ODcwZDMwYzU5ZmZjMTc3OTE5NWFhMjYzZjQuLjMwMDg0NDU0OTY0OTE3ODkx
MGIyNGVkODYxZDlhM2NmZjFiOWViNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMVGh1bmtzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExUaHVu
a3MuaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBWTTsKIAogbmFtZXNwYWNlIEZUTCB7CiAKLU1h
Y3JvQXNzZW1ibGVyQ29kZVJlZiBvc3JFeGl0R2VuZXJhdGlvblRodW5rR2VuZXJhdG9yKFZNJiwg
Y29uc3QgTG9jYXRpb24mKTsKK01hY3JvQXNzZW1ibGVyQ29kZVJlZiBvc3JFeGl0R2VuZXJhdGlv
blRodW5rR2VuZXJhdG9yKFZNKik7CiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgc2xvd1BhdGhDYWxs
VGh1bmtHZW5lcmF0b3IoVk0mLCBjb25zdCBTbG93UGF0aENhbGxLZXkmKTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgS2V5VHlwZUFyZ3VtZW50PgpAQCAtNzgsMTIgKzc4LDYgQEAgdHlwZW5hbWUgTWFw
VHlwZTo6S2V5VHlwZSBrZXlGb3JUaHVuayhNYXBUeXBlJiBtYXAsIE1hY3JvQXNzZW1ibGVyQ29k
ZVB0ciBwdHIpCiAKIGNsYXNzIFRodW5rcyB7CiBwdWJsaWM6Ci0gICAgTWFjcm9Bc3NlbWJsZXJD
b2RlUmVmIGdldE9TUkV4aXRHZW5lcmF0aW9uVGh1bmsoVk0mIHZtLCBjb25zdCBMb2NhdGlvbiYg
bG9jYXRpb24pCi0gICAgewotICAgICAgICByZXR1cm4gZ2VuZXJhdGVJZk5lY2Vzc2FyeSgKLSAg
ICAgICAgICAgIHZtLCBtX29zckV4aXRUaHVua3MsIGxvY2F0aW9uLCBvc3JFeGl0R2VuZXJhdGlv
blRodW5rR2VuZXJhdG9yKTsKLSAgICB9Ci0gICAgCiAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVm
IGdldFNsb3dQYXRoQ2FsbFRodW5rKFZNJiB2bSwgY29uc3QgU2xvd1BhdGhDYWxsS2V5JiBrZXkp
CiAgICAgewogICAgICAgICByZXR1cm4gZ2VuZXJhdGVJZk5lY2Vzc2FyeSgKQEAgLTk2LDcgKzkw
LDYgQEAgcHVibGljOgogICAgIH0KICAgICAKIHByaXZhdGU6Ci0gICAgVGh1bmtNYXA8TG9jYXRp
b24+IG1fb3NyRXhpdFRodW5rczsKICAgICBUaHVua01hcDxTbG93UGF0aENhbGxLZXk+IG1fc2xv
d1BhdGhDYWxsVGh1bmtzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExVbndpbmRJbmZvLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMVW53
aW5kSW5mby5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmU0MGI5MjIyMzE3MWExYWEyNThkN2Q5YWVkNzdhZWVm
NmNkNjcyZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
VW53aW5kSW5mby5jcHAKQEAgLTAsMCArMSwxMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkZU
TFVud2luZEluZm8uaCIKKworI2lmIEVOQUJMRShGVExfSklUKQorCisjaW5jbHVkZSA8d3RmL0xp
c3REdW1wLmg+CisjaW5jbHVkZSA8bWFjaC1vL2NvbXBhY3RfdW53aW5kX2VuY29kaW5nLmg+CisK
K25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKKworVW53aW5kSW5mbzo6VW53aW5kSW5m
bygpIHsgfQorVW53aW5kSW5mbzo6flVud2luZEluZm8oKSB7IH0KKworbmFtZXNwYWNlIHsKKwor
c3RydWN0IENvbXBhY3RVbndpbmQgeworICAgIHZvaWQqIGZ1bmN0aW9uOworICAgIHVpbnQzMl90
IHNpemU7CisgICAgY29tcGFjdF91bndpbmRfZW5jb2RpbmdfdCBlbmNvZGluZzsKKyAgICB2b2lk
KiBwZXJzb25hbGl0eTsKKyAgICB2b2lkKiBsc2RhOworfTsKKworfSAvLyBhbm9ueW1vdXMgbmFt
ZXNwYWNlCisKK3ZvaWQgVW53aW5kSW5mbzo6cGFyc2Uodm9pZCogc2VjdGlvbiwgc2l6ZV90IHNp
emUsIEdlbmVyYXRlZEZ1bmN0aW9uIGdlbmVyYXRlZEZ1bmN0aW9uKQoreworICAgIG1fcmVnaXN0
ZXJzLmNsZWFyKCk7CisgICAgCisgICAgUkVMRUFTRV9BU1NFUlQoc2VjdGlvbik7CisgICAgUkVM
RUFTRV9BU1NFUlQoc2l6ZSA+PSBzaXplb2YoQ29tcGFjdFVud2luZCkpOworICAgIAorICAgIENv
bXBhY3RVbndpbmQqIGRhdGEgPSBiaXR3aXNlX2Nhc3Q8Q29tcGFjdFVud2luZCo+KHNlY3Rpb24p
OworICAgIAorICAgIFJFTEVBU0VfQVNTRVJUKCFkYXRhLT5wZXJzb25hbGl0eSk7IC8vIFdlIGRv
bid0IGtub3cgaG93IHRvIGhhbmRsZSB0aGlzLgorICAgIFJFTEVBU0VfQVNTRVJUKCFkYXRhLT5s
c2RhKTsgLy8gV2UgZG9uJ3Qga25vdyBob3cgdG8gaGFuZGxlIHRoaXMuCisgICAgUkVMRUFTRV9B
U1NFUlQoZGF0YS0+ZnVuY3Rpb24gPT0gZ2VuZXJhdGVkRnVuY3Rpb24pOyAvLyBUaGUgdW53aW5k
IGRhdGEgYmV0dGVyIGJlIGZvciBvdXIgZnVuY3Rpb24uCisgICAgCisgICAgY29tcGFjdF91bndp
bmRfZW5jb2RpbmdfdCBlbmNvZGluZyA9IGRhdGEtPmVuY29kaW5nOworICAgIFJFTEVBU0VfQVNT
RVJUKCEoZW5jb2RpbmcgJiBVTldJTkRfSVNfTk9UX0ZVTkNUSU9OX1NUQVJUKSk7CisgICAgUkVM
RUFTRV9BU1NFUlQoIShlbmNvZGluZyAmIFVOV0lORF9IQVNfTFNEQSkpOworICAgIFJFTEVBU0Vf
QVNTRVJUKCEoZW5jb2RpbmcgJiBVTldJTkRfUEVSU09OQUxJVFlfTUFTSykpOworICAgIFJFTEVB
U0VfQVNTRVJUKChlbmNvZGluZyAmIFVOV0lORF9YODZfNjRfTU9ERV9NQVNLKSA9PSBVTldJTkRf
WDg2XzY0X01PREVfUkJQX0ZSQU1FKTsKKyAgICAKKyAgICBpbnQzMl90IG9mZnNldCA9IC0oKGVu
Y29kaW5nICYgVU5XSU5EX1g4Nl82NF9SQlBfRlJBTUVfT0ZGU0VUKSA+PiAxNikgKiA4OworICAg
IHVpbnQzMl90IG5leHRSZWdpc3RlcnMgPSBlbmNvZGluZzsKKyAgICBmb3IgKHVuc2lnbmVkIGkg
PSA1OyBpLS07KSB7CisgICAgICAgIHVpbnQzMl90IGN1cnJlbnRSZWdpc3RlciA9IG5leHRSZWdp
c3RlcnMgJiA3OworICAgICAgICBuZXh0UmVnaXN0ZXJzID4+PSAzOworICAgICAgICAKKyAgICAg
ICAgc3dpdGNoIChjdXJyZW50UmVnaXN0ZXIpIHsKKyAgICAgICAgY2FzZSBVTldJTkRfWDg2XzY0
X1JFR19OT05FOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAKKyAgICAgICAgY2Fz
ZSBVTldJTkRfWDg2XzY0X1JFR19SQlg6CisgICAgICAgICAgICBtX3JlZ2lzdGVycy5hcHBlbmQo
UmVnaXN0ZXJBdE9mZnNldChYODZSZWdpc3RlcnM6OmVieCwgb2Zmc2V0KSk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIAorICAgICAgICBjYXNlIFVOV0lORF9YODZfNjRfUkVHX1Ix
MjoKKyAgICAgICAgICAgIG1fcmVnaXN0ZXJzLmFwcGVuZChSZWdpc3RlckF0T2Zmc2V0KFg4NlJl
Z2lzdGVyczo6cjEyLCBvZmZzZXQpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
CisgICAgICAgIGNhc2UgVU5XSU5EX1g4Nl82NF9SRUdfUjEzOgorICAgICAgICAgICAgbV9yZWdp
c3RlcnMuYXBwZW5kKFJlZ2lzdGVyQXRPZmZzZXQoWDg2UmVnaXN0ZXJzOjpyMTMsIG9mZnNldCkp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAKKyAgICAgICAgY2FzZSBVTldJTkRf
WDg2XzY0X1JFR19SMTQ6CisgICAgICAgICAgICBtX3JlZ2lzdGVycy5hcHBlbmQoUmVnaXN0ZXJB
dE9mZnNldChYODZSZWdpc3RlcnM6OnIxNCwgb2Zmc2V0KSk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIAorICAgICAgICBjYXNlIFVOV0lORF9YODZfNjRfUkVHX1IxNToKKyAgICAg
ICAgICAgIG1fcmVnaXN0ZXJzLmFwcGVuZChSZWdpc3RlckF0T2Zmc2V0KFg4NlJlZ2lzdGVyczo6
cjE1LCBvZmZzZXQpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgCisgICAgICAg
IGNhc2UgVU5XSU5EX1g4Nl82NF9SRUdfUkJQOgorICAgICAgICAgICAgbV9yZWdpc3RlcnMuYXBw
ZW5kKFJlZ2lzdGVyQXRPZmZzZXQoWDg2UmVnaXN0ZXJzOjplYnAsIG9mZnNldCkpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAg
ICAgIG9mZnNldCArPSA4OworICAgIH0KKyAgICAKKyAgICBzdGQ6OnNvcnQobV9yZWdpc3RlcnMu
YmVnaW4oKSwgbV9yZWdpc3RlcnMuZW5kKCkpOworfQorCit2b2lkIFVud2luZEluZm86OmR1bXAo
UHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBvdXQucHJpbnQobGlzdER1bXAobV9yZWdp
c3RlcnMpKTsKK30KKworUmVnaXN0ZXJBdE9mZnNldCogVW53aW5kSW5mbzo6ZmluZChHUFJSZWcg
Z3ByKSBjb25zdAoreworICAgIHJldHVybiB0cnlCaW5hcnlTZWFyY2g8UmVnaXN0ZXJBdE9mZnNl
dCwgR1BSUmVnPihtX3JlZ2lzdGVycywgbV9yZWdpc3RlcnMuc2l6ZSgpLCBncHIsIFJlZ2lzdGVy
QXRPZmZzZXQ6OmdldEdQUik7Cit9CisKK3Vuc2lnbmVkIFVud2luZEluZm86OmluZGV4T2YoR1BS
UmVnIGdwcikgY29uc3QKK3sKKyAgICBpZiAoUmVnaXN0ZXJBdE9mZnNldCogcG9pbnRlciA9IGZp
bmQoZ3ByKSkKKyAgICAgICAgcmV0dXJuIHBvaW50ZXIgLSBtX3JlZ2lzdGVycy5iZWdpbigpOwor
ICAgIHJldHVybiBVSU5UX01BWDsKK30KKworfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTAorCisj
ZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQpCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMVW53aW5kSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExV
bndpbmRJbmZvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGU1NDE3MjhkNDUyMTUyZDdmZmNlOWM4NjZlYzdhZDkx
MjE0MmU4YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
VW53aW5kSW5mby5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBGVExVbndpbmRJbmZvX2gKKyNkZWZpbmUgRlRM
VW53aW5kSW5mb19oCisKKyNpZiBFTkFCTEUoRlRMX0pJVCkKKworI2luY2x1ZGUgIkZUTEdlbmVy
YXRlZEZ1bmN0aW9uLmgiCisjaW5jbHVkZSAiRlRMUmVnaXN0ZXJBdE9mZnNldC5oIgorCituYW1l
c3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CisKK3N0cnVjdCBVbndpbmRJbmZvIHsKKyAgICBV
bndpbmRJbmZvKCk7CisgICAgflVud2luZEluZm8oKTsKKyAgICAKKyAgICB2b2lkIHBhcnNlKHZv
aWQqLCBzaXplX3QsIEdlbmVyYXRlZEZ1bmN0aW9uKTsKKyAgICAKKyAgICB2b2lkIGR1bXAoUHJp
bnRTdHJlYW0mKSBjb25zdDsKKyAgICAKKyAgICBSZWdpc3RlckF0T2Zmc2V0KiBmaW5kKEdQUlJl
ZyBncHIpIGNvbnN0OworICAgIHVuc2lnbmVkIGluZGV4T2YoR1BSUmVnIGdwcikgY29uc3Q7IC8v
IFJldHVybnMgVUlOVF9NQVggaWYgbm90IGZvdW5kLgorICAgIAorICAgIFZlY3RvcjxSZWdpc3Rl
ckF0T2Zmc2V0PiBtX3JlZ2lzdGVyczsKK307CisKK30gfSAvLyBuYW1lc3BhY2UgSlNDOjpGVEwK
KworI2VuZGlmIC8vIEVOQUJMRShGVExfSklUKQorCisjZW5kaWYgLy8gRlRMVW53aW5kSW5mb19o
CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMVmFsdWVSYW5nZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFZhbHVlUmFuZ2UuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA4OTdjODZiZDQwNWYzYjRkMmY0NWRmOTc3YjM2OWFhN2M5MzZkOTYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFZhbHVlUmFuZ2UuY3BwCkBAIC0w
LDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkZUTFZhbHVlUmFuZ2UuaCIKKworI2lu
Y2x1ZGUgIkZUTEFiYnJldmlhdGlvbnMuaCIKKworI2lmIEVOQUJMRShGVExfSklUKQorCituYW1l
c3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CisKK3ZvaWQgVmFsdWVSYW5nZTo6ZGVjb3JhdGVJ
bnN0cnVjdGlvbigKKyAgICBMQ29udGV4dCBjb250ZXh0LCBMVmFsdWUgbG9hZEluc3RydWN0aW9u
LCB1bnNpZ25lZCByYW5nZUtpbmQpIGNvbnN0Cit7CisgICAgaWYgKCFtX3JhbmdlTWV0YWRhdGEp
CisgICAgICAgIG1fcmFuZ2VNZXRhZGF0YSA9IG1kTm9kZShjb250ZXh0LCBtX2JlZ2luLCBtX2Vu
ZCk7CisgICAgc2V0TWV0YWRhdGEobG9hZEluc3RydWN0aW9uLCByYW5nZUtpbmQsIG1fcmFuZ2VN
ZXRhZGF0YSk7Cit9CisKK30gfSAvLyBuYW1lc3BhY2UgSlNDOjpGVEwKKworI2VuZGlmIC8vIEVO
QUJMRShGVExfSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExW
YWx1ZVJhbmdlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFZhbHVlUmFuZ2UuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iZWU0NGVmYTE4ODAxOTBmZTBjZDhkMjQzNGM4ZDA1ZTRhMjhhMDU1Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExWYWx1ZVJhbmdlLmgK
QEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaWZuZGVmIEZUTFZhbHVlUmFuZ2VfaAorI2RlZmluZSBGVExWYWx1ZVJhbmdlX2gK
KworI2lmIEVOQUJMRShGVExfSklUKQorCisjaW5jbHVkZSAiRlRMQWJicmV2aWF0ZWRUeXBlcy5o
IgorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CisKK2NsYXNzIFZhbHVlUmFuZ2Ug
eworcHVibGljOgorICAgIFZhbHVlUmFuZ2UoKQorICAgICAgICA6IG1fYmVnaW4oMCkKKyAgICAg
ICAgLCBtX2VuZCgwKQorICAgICAgICAsIG1fcmFuZ2VNZXRhZGF0YSgwKQorICAgIHsKKyAgICB9
CisgICAgCisgICAgVmFsdWVSYW5nZShMVmFsdWUgYmVnaW4sIExWYWx1ZSBlbmQpCisgICAgICAg
IDogbV9iZWdpbihiZWdpbikKKyAgICAgICAgLCBtX2VuZChlbmQpCisgICAgICAgICwgbV9yYW5n
ZU1ldGFkYXRhKDApCisgICAgeworICAgIH0KKyAgICAKKyAgICBMVmFsdWUgYmVnaW4oKSBjb25z
dCB7IHJldHVybiBtX2JlZ2luOyB9CisgICAgTFZhbHVlIGVuZCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZW5kOyB9CisgICAgCisgICAgdm9pZCBkZWNvcmF0ZUluc3RydWN0aW9uKExDb250ZXh0LCBMVmFs
dWUgbG9hZEluc3RydWN0aW9uLCB1bnNpZ25lZCByYW5nZUtpbmQpIGNvbnN0OworICAgIAorcHJp
dmF0ZToKKyAgICBMVmFsdWUgbV9iZWdpbjsKKyAgICBMVmFsdWUgbV9lbmQ7CisgICAgbXV0YWJs
ZSBMVmFsdWUgbV9yYW5nZU1ldGFkYXRhOworfTsKKworfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZU
TAorCisjZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQpCisKKyNlbmRpZiAvLyBGVExWYWx1ZVJhbmdl
X2gKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29uc2VydmF0aXZl
Um9vdHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29uc2VydmF0aXZlUm9vdHMu
Y3BwCmluZGV4IDdmYzhlZWUzZmY4MjIzNDUzY2FjOGU1NzNmOTNiMWUzN2QzYzc5ODIuLjQwZGY5
MDNjMDg0MzE2YzkxNzJkNjg1MmMzNjU1OGQwZGE1ZjFhZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0NvbnNlcnZhdGl2ZVJvb3RzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9Db25zZXJ2YXRpdmVSb290cy5jcHAKQEAgLTk5LDcgKzk5LDYgQEAg
dm9pZCBDb25zZXJ2YXRpdmVSb290czo6Z2VuZXJpY0FkZFNwYW4odm9pZCogYmVnaW4sIHZvaWQq
IGVuZCwgTWFya0hvb2smIG1hcmtIb28KICAgICAgICAgZW5kID0gc3dhcFRlbXA7CiAgICAgfQog
Ci0gICAgQVNTRVJUKChzdGF0aWNfY2FzdDxjaGFyKj4oZW5kKSAtIHN0YXRpY19jYXN0PGNoYXIq
PihiZWdpbikpIDwgMHgxMDAwMDAwKTsKICAgICBBU1NFUlQoaXNQb2ludGVyQWxpZ25lZChiZWdp
bikpOwogICAgIEFTU0VSVChpc1BvaW50ZXJBbGlnbmVkKGVuZCkpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9oZWFwL0hlYXAuY3BwCmluZGV4IDJhYmEzYWE5ZDAxZTcxMjhhMDA0MGY4ZmI2NGI5YjliMDdh
OTYzNzYuLmE2MmEyMzdiNWMzNmIyZjcxMzM0Y2Y4N2VhMTYzMDQ2Nzg2ZTNlNzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqICBDb3B5cmln
aHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTEsIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogIENvcHlyaWdodCAoQykgMjAw
MywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMSwgMjAxMywgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAgQ29weXJpZ2h0IChDKSAyMDA3IEVy
aWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAgKgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTQ1MSwyNCArNDUx
LDI3IEBAIHZvaWQgSGVhcDo6bWFya1Jvb3RzKCkKICAgICBkb3VibGUgZ2NTdGFydFRpbWUgPSBX
VEY6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlmCiAKKyAgICBtX2NvZGVC
bG9ja3MuY2xlYXJNYXJrcygpOwogICAgIHZvaWQqIGR1bW15OwotICAgIAorCiAgICAgLy8gV2Ug
Z2F0aGVyIGNvbnNlcnZhdGl2ZSByb290cyBiZWZvcmUgY2xlYXJpbmcgbWFyayBiaXRzIGJlY2F1
c2UgY29uc2VydmF0aXZlCiAgICAgLy8gZ2F0aGVyaW5nIHVzZXMgdGhlIG1hcmsgYml0cyB0byBk
ZXRlcm1pbmUgd2hldGhlciBhIHJlZmVyZW5jZSBpcyB2YWxpZC4KICAgICBDb25zZXJ2YXRpdmVS
b290cyBtYWNoaW5lVGhyZWFkUm9vdHMoJm1fb2JqZWN0U3BhY2UuYmxvY2tzKCksICZtX3N0b3Jh
Z2VTcGFjZSk7CiAgICAgbV9qaXRTdHViUm91dGluZXMuY2xlYXJNYXJrcygpOwogICAgIHsKICAg
ICAgICAgR0NQSEFTRShHYXRoZXJDb25zZXJ2YXRpdmVSb290cyk7Ci0gICAgICAgIG1fbWFjaGlu
ZVRocmVhZHMuZ2F0aGVyQ29uc2VydmF0aXZlUm9vdHMobWFjaGluZVRocmVhZFJvb3RzLCAmZHVt
bXkpOworICAgICAgICBtX21hY2hpbmVUaHJlYWRzLmdhdGhlckNvbnNlcnZhdGl2ZVJvb3RzKG1h
Y2hpbmVUaHJlYWRSb290cywgbV9qaXRTdHViUm91dGluZXMsIG1fY29kZUJsb2NrcywgJmR1bW15
KTsKICAgICB9CiAKKyNpZiBFTkFCTEUoTExJTlRfQ19MT09QKQogICAgIENvbnNlcnZhdGl2ZVJv
b3RzIHN0YWNrUm9vdHMoJm1fb2JqZWN0U3BhY2UuYmxvY2tzKCksICZtX3N0b3JhZ2VTcGFjZSk7
Ci0gICAgbV9jb2RlQmxvY2tzLmNsZWFyTWFya3MoKTsKICAgICB7CiAgICAgICAgIEdDUEhBU0Uo
R2F0aGVyU3RhY2tSb290cyk7CiAgICAgICAgIHN0YWNrKCkuZ2F0aGVyQ29uc2VydmF0aXZlUm9v
dHMoc3RhY2tSb290cywgbV9qaXRTdHViUm91dGluZXMsIG1fY29kZUJsb2Nrcyk7Ci0gICAgICAg
IHN0YWNrKCkuc2FuaXRpemVTdGFjaygpOwogICAgIH0KKyNlbmRpZgorCisgICAgc2FuaXRpemVT
dGFja0ZvclZNKG1fdm0pOwogCiAjaWYgRU5BQkxFKERGR19KSVQpCiAgICAgQ29uc2VydmF0aXZl
Um9vdHMgc2NyYXRjaEJ1ZmZlclJvb3RzKCZtX29iamVjdFNwYWNlLmJsb2NrcygpLCAmbV9zdG9y
YWdlU3BhY2UpOwpAQCAtNTA1LDEyICs1MDgsMTQgQEAgdm9pZCBIZWFwOjptYXJrUm9vdHMoKQog
ICAgICAgICAgICAgdmlzaXRvci5hcHBlbmQobWFjaGluZVRocmVhZFJvb3RzKTsKICAgICAgICAg
ICAgIHZpc2l0b3IuZG9uYXRlQW5kRHJhaW4oKTsKICAgICAgICAgfQorI2lmIEVOQUJMRShMTElO
VF9DX0xPT1ApCiAgICAgICAgIHsKICAgICAgICAgICAgIEdDUEhBU0UoVmlzaXRTdGFja1Jvb3Rz
KTsKICAgICAgICAgICAgIE1BUktfTE9HX1JPT1QodmlzaXRvciwgIlN0YWNrIik7CiAgICAgICAg
ICAgICB2aXNpdG9yLmFwcGVuZChzdGFja1Jvb3RzKTsKICAgICAgICAgICAgIHZpc2l0b3IuZG9u
YXRlQW5kRHJhaW4oKTsKICAgICAgICAgfQorI2VuZGlmCiAjaWYgRU5BQkxFKERGR19KSVQpCiAg
ICAgICAgIHsKICAgICAgICAgICAgIEdDUEhBU0UoVmlzaXRTY3JhdGNoQnVmZmVyUm9vdHMpOwpA
QCAtOTUyLDEyICs5NTcsMTIgQEAgdm9pZCBIZWFwOjpjb2xsZWN0KCkKIAogYm9vbCBIZWFwOjpj
b2xsZWN0SWZOZWNlc3NhcnlPckRlZmVyKCkKIHsKLSAgICBpZiAobV9kZWZlcnJhbERlcHRoKQor
ICAgIGlmIChpc0RlZmVycmVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKKwogICAg
IGlmICghc2hvdWxkQ29sbGVjdCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgCisKICAg
ICBjb2xsZWN0KCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9IZWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFw
LmgKaW5kZXggN2JhMTVjYTU4NGNjMTU3YmFkYjBhMTBiMjRhYmFlZDg2MWQzN2Q3MC4uNWYyYWNh
ZWIwZDU0YzZmYzI3ZmE2ZDFlZDBhMDA2ODRhNDZkZDdhNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L0hlYXAuaApAQCAtMTk3LDcgKzE5Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAKICAg
ICAgICAgdm9pZCBhZGRSZWZlcmVuY2UoSlNDZWxsKiwgQXJyYXlCdWZmZXIqKTsKICAgICAgICAg
Ci0gICAgICAgIGJvb2wgaXNEZWZlcnJlZCgpIGNvbnN0IHsgcmV0dXJuICEhbV9kZWZlcnJhbERl
cHRoOyB9CisgICAgICAgIGJvb2wgaXNEZWZlcnJlZCgpIGNvbnN0IHsgcmV0dXJuICEhbV9kZWZl
cnJhbERlcHRoIHx8IE9wdGlvbnM6OmRpc2FibGVHQygpOyB9CiAKICNpZiBVU0UoQ0YpCiAgICAg
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgcmVsZWFzZVNvb24oUmV0YWluUHRyPFQ+JiYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFjaGluZVN0YWNrTWFy
a2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hY2hpbmVTdGFja01hcmtlci5j
cHAKaW5kZXggZjU0NmNiMzhiYmM2NTFmMTE4N2Q2ZmQzNmEzNjYyYjRkODY4ZjMxMC4uODI2MzE5
MmQxY2Q5YWUyY2ExNzMyYmFkMmE3YzM4ZjkyNDJkMDdiZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvTWFjaGluZVN0YWNrTWFya2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9NYWNoaW5lU3RhY2tNYXJrZXIuY3BwCkBAIC0yMzIsNyArMjMyLDcg
QEAgdm9pZCBNYWNoaW5lVGhyZWFkczo6cmVtb3ZlQ3VycmVudFRocmVhZCgpCiAjZGVmaW5lIFJF
R0lTVEVSX0JVRkZFUl9BTElHTk1FTlQKICNlbmRpZgogCi12b2lkIE1hY2hpbmVUaHJlYWRzOjpn
YXRoZXJGcm9tQ3VycmVudFRocmVhZChDb25zZXJ2YXRpdmVSb290cyYgY29uc2VydmF0aXZlUm9v
dHMsIHZvaWQqIHN0YWNrQ3VycmVudCkKK3ZvaWQgTWFjaGluZVRocmVhZHM6OmdhdGhlckZyb21D
dXJyZW50VGhyZWFkKENvbnNlcnZhdGl2ZVJvb3RzJiBjb25zZXJ2YXRpdmVSb290cywgSklUU3R1
YlJvdXRpbmVTZXQmIGppdFN0dWJSb3V0aW5lcywgQ29kZUJsb2NrU2V0JiBjb2RlQmxvY2tzLCB2
b2lkKiBzdGFja0N1cnJlbnQpCiB7CiAgICAgLy8gc2V0am1wIGZvcmNlcyB2b2xhdGlsZSByZWdp
c3RlcnMgb250byB0aGUgc3RhY2sKICAgICBqbXBfYnVmIHJlZ2lzdGVycyBSRUdJU1RFUl9CVUZG
RVJfQUxJR05NRU5UOwpAQCAtMjQ4LDEyICsyNDgsMTIgQEAgdm9pZCBNYWNoaW5lVGhyZWFkczo6
Z2F0aGVyRnJvbUN1cnJlbnRUaHJlYWQoQ29uc2VydmF0aXZlUm9vdHMmIGNvbnNlcnZhdGl2ZVJv
b3QKICAgICB2b2lkKiByZWdpc3RlcnNCZWdpbiA9ICZyZWdpc3RlcnM7CiAgICAgdm9pZCogcmVn
aXN0ZXJzRW5kID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4ocm91bmRVcFRvTXVsdGlwbGVPZjxz
aXplb2Yodm9pZCopPihyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oJnJlZ2lzdGVycyArIDEp
KSk7CiAgICAgc3dhcElmQmFja3dhcmRzKHJlZ2lzdGVyc0JlZ2luLCByZWdpc3RlcnNFbmQpOwot
ICAgIGNvbnNlcnZhdGl2ZVJvb3RzLmFkZChyZWdpc3RlcnNCZWdpbiwgcmVnaXN0ZXJzRW5kKTsK
KyAgICBjb25zZXJ2YXRpdmVSb290cy5hZGQocmVnaXN0ZXJzQmVnaW4sIHJlZ2lzdGVyc0VuZCwg
aml0U3R1YlJvdXRpbmVzLCBjb2RlQmxvY2tzKTsKIAogICAgIHZvaWQqIHN0YWNrQmVnaW4gPSBz
dGFja0N1cnJlbnQ7CiAgICAgdm9pZCogc3RhY2tFbmQgPSB3dGZUaHJlYWREYXRhKCkuc3RhY2so
KS5vcmlnaW4oKTsKICAgICBzd2FwSWZCYWNrd2FyZHMoc3RhY2tCZWdpbiwgc3RhY2tFbmQpOwot
ICAgIGNvbnNlcnZhdGl2ZVJvb3RzLmFkZChzdGFja0JlZ2luLCBzdGFja0VuZCk7CisgICAgY29u
c2VydmF0aXZlUm9vdHMuYWRkKHN0YWNrQmVnaW4sIHN0YWNrRW5kLCBqaXRTdHViUm91dGluZXMs
IGNvZGVCbG9ja3MpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgc3VzcGVuZFRocmVhZChjb25z
dCBQbGF0Zm9ybVRocmVhZCYgcGxhdGZvcm1UaHJlYWQpCkBAIC00MzQsMjQgKzQzNCwyNCBAQCBz
dGF0aWMgdm9pZCBmcmVlUGxhdGZvcm1UaHJlYWRSZWdpc3RlcnMoUGxhdGZvcm1UaHJlYWRSZWdp
c3RlcnMmIHJlZ3MpCiAjZW5kaWYKIH0KIAotdm9pZCBNYWNoaW5lVGhyZWFkczo6Z2F0aGVyRnJv
bU90aGVyVGhyZWFkKENvbnNlcnZhdGl2ZVJvb3RzJiBjb25zZXJ2YXRpdmVSb290cywgVGhyZWFk
KiB0aHJlYWQpCit2b2lkIE1hY2hpbmVUaHJlYWRzOjpnYXRoZXJGcm9tT3RoZXJUaHJlYWQoQ29u
c2VydmF0aXZlUm9vdHMmIGNvbnNlcnZhdGl2ZVJvb3RzLCBUaHJlYWQqIHRocmVhZCwgSklUU3R1
YlJvdXRpbmVTZXQmIGppdFN0dWJSb3V0aW5lcywgQ29kZUJsb2NrU2V0JiBjb2RlQmxvY2tzKQog
ewogICAgIFBsYXRmb3JtVGhyZWFkUmVnaXN0ZXJzIHJlZ3M7CiAgICAgc2l6ZV90IHJlZ1NpemUg
PSBnZXRQbGF0Zm9ybVRocmVhZFJlZ2lzdGVycyh0aHJlYWQtPnBsYXRmb3JtVGhyZWFkLCByZWdz
KTsKIAotICAgIGNvbnNlcnZhdGl2ZVJvb3RzLmFkZChzdGF0aWNfY2FzdDx2b2lkKj4oJnJlZ3Mp
LCBzdGF0aWNfY2FzdDx2b2lkKj4ocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oJnJlZ3MpICsgcmVn
U2l6ZSkpOworICAgIGNvbnNlcnZhdGl2ZVJvb3RzLmFkZChzdGF0aWNfY2FzdDx2b2lkKj4oJnJl
Z3MpLCBzdGF0aWNfY2FzdDx2b2lkKj4ocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oJnJlZ3MpICsg
cmVnU2l6ZSksIGppdFN0dWJSb3V0aW5lcywgY29kZUJsb2Nrcyk7CiAKICAgICB2b2lkKiBzdGFj
a1BvaW50ZXIgPSBvdGhlclRocmVhZFN0YWNrUG9pbnRlcihyZWdzKTsKICAgICB2b2lkKiBzdGFj
a0Jhc2UgPSB0aHJlYWQtPnN0YWNrQmFzZTsKICAgICBzd2FwSWZCYWNrd2FyZHMoc3RhY2tQb2lu
dGVyLCBzdGFja0Jhc2UpOwotICAgIGNvbnNlcnZhdGl2ZVJvb3RzLmFkZChzdGFja1BvaW50ZXIs
IHN0YWNrQmFzZSk7CisgICAgY29uc2VydmF0aXZlUm9vdHMuYWRkKHN0YWNrUG9pbnRlciwgc3Rh
Y2tCYXNlLCBqaXRTdHViUm91dGluZXMsIGNvZGVCbG9ja3MpOwogCiAgICAgZnJlZVBsYXRmb3Jt
VGhyZWFkUmVnaXN0ZXJzKHJlZ3MpOwogfQogCi12b2lkIE1hY2hpbmVUaHJlYWRzOjpnYXRoZXJD
b25zZXJ2YXRpdmVSb290cyhDb25zZXJ2YXRpdmVSb290cyYgY29uc2VydmF0aXZlUm9vdHMsIHZv
aWQqIHN0YWNrQ3VycmVudCkKK3ZvaWQgTWFjaGluZVRocmVhZHM6OmdhdGhlckNvbnNlcnZhdGl2
ZVJvb3RzKENvbnNlcnZhdGl2ZVJvb3RzJiBjb25zZXJ2YXRpdmVSb290cywgSklUU3R1YlJvdXRp
bmVTZXQmIGppdFN0dWJSb3V0aW5lcywgQ29kZUJsb2NrU2V0JiBjb2RlQmxvY2tzLCB2b2lkKiBz
dGFja0N1cnJlbnQpCiB7Ci0gICAgZ2F0aGVyRnJvbUN1cnJlbnRUaHJlYWQoY29uc2VydmF0aXZl
Um9vdHMsIHN0YWNrQ3VycmVudCk7CisgICAgZ2F0aGVyRnJvbUN1cnJlbnRUaHJlYWQoY29uc2Vy
dmF0aXZlUm9vdHMsIGppdFN0dWJSb3V0aW5lcywgY29kZUJsb2Nrcywgc3RhY2tDdXJyZW50KTsK
IAogICAgIGlmIChtX3RocmVhZFNwZWNpZmljKSB7CiAgICAgICAgIFBsYXRmb3JtVGhyZWFkIGN1
cnJlbnRQbGF0Zm9ybVRocmVhZCA9IGdldEN1cnJlbnRQbGF0Zm9ybVRocmVhZCgpOwpAQCAtNDcz
LDcgKzQ3Myw3IEBAIHZvaWQgTWFjaGluZVRocmVhZHM6OmdhdGhlckNvbnNlcnZhdGl2ZVJvb3Rz
KENvbnNlcnZhdGl2ZVJvb3RzJiBjb25zZXJ2YXRpdmVSb290CiAgICAgICAgIC8vIGFuZCBzaW5j
ZSB0aGlzIGlzIGEgc2hhcmVkIGhlYXAsIHRoZXkgYXJlIHJlYWwgbG9ja3MuCiAgICAgICAgIGZv
ciAoVGhyZWFkKiB0aHJlYWQgPSBtX3JlZ2lzdGVyZWRUaHJlYWRzOyB0aHJlYWQ7IHRocmVhZCA9
IHRocmVhZC0+bmV4dCkgewogICAgICAgICAgICAgaWYgKCFlcXVhbFRocmVhZCh0aHJlYWQtPnBs
YXRmb3JtVGhyZWFkLCBjdXJyZW50UGxhdGZvcm1UaHJlYWQpKQotICAgICAgICAgICAgICAgIGdh
dGhlckZyb21PdGhlclRocmVhZChjb25zZXJ2YXRpdmVSb290cywgdGhyZWFkKTsKKyAgICAgICAg
ICAgICAgICBnYXRoZXJGcm9tT3RoZXJUaHJlYWQoY29uc2VydmF0aXZlUm9vdHMsIHRocmVhZCwg
aml0U3R1YlJvdXRpbmVzLCBjb2RlQmxvY2tzKTsKICAgICAgICAgfQogCiAgICAgICAgIGZvciAo
VGhyZWFkKiB0aHJlYWQgPSBtX3JlZ2lzdGVyZWRUaHJlYWRzOyB0aHJlYWQ7IHRocmVhZCA9IHRo
cmVhZC0+bmV4dCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFj
aGluZVN0YWNrTWFya2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYWNoaW5lU3Rh
Y2tNYXJrZXIuaAppbmRleCA0OTgyM2Q0M2UyN2I1M2M5ZGViN2IwMTA2ODlmYTY3YjViYzY3NTI2
Li4zM2I3MmM4NjE0ZjA2YWZlYjQxZGMwNDkwMjUyYTYxMDY3YjUzOTY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYWNoaW5lU3RhY2tNYXJrZXIuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYWNoaW5lU3RhY2tNYXJrZXIuaApAQCAtMjgsOCArMjgs
MTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKKyAgICBjbGFzcyBDb2RlQmxvY2tTZXQ7CiAgICAg
Y2xhc3MgQ29uc2VydmF0aXZlUm9vdHM7CiAgICAgY2xhc3MgSGVhcDsKKyAgICBjbGFzcyBKSVRT
dHViUm91dGluZVNldDsKIAogICAgIGNsYXNzIE1hY2hpbmVUaHJlYWRzIHsKICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTWFjaGluZVRocmVhZHMpOwpAQCAtMzcsMjAgKzM5LDIwIEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICBNYWNoaW5lVGhyZWFkcyhIZWFwKik7CiAgICAgICAgIH5N
YWNoaW5lVGhyZWFkcygpOwogCi0gICAgICAgIHZvaWQgZ2F0aGVyQ29uc2VydmF0aXZlUm9vdHMo
Q29uc2VydmF0aXZlUm9vdHMmLCB2b2lkKiBzdGFja0N1cnJlbnQpOworICAgICAgICB2b2lkIGdh
dGhlckNvbnNlcnZhdGl2ZVJvb3RzKENvbnNlcnZhdGl2ZVJvb3RzJiwgSklUU3R1YlJvdXRpbmVT
ZXQmLCBDb2RlQmxvY2tTZXQmLCB2b2lkKiBzdGFja0N1cnJlbnQpOwogCiAgICAgICAgIEpTX0VY
UE9SVF9QUklWQVRFIHZvaWQgbWFrZVVzYWJsZUZyb21NdWx0aXBsZVRocmVhZHMoKTsKICAgICAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBhZGRDdXJyZW50VGhyZWFkKCk7IC8vIE9ubHkgbmVl
ZHMgdG8gYmUgY2FsbGVkIGJ5IGNsaWVudHMgdGhhdCBjYW4gdXNlIHRoZSBzYW1lIGhlYXAgZnJv
bSBtdWx0aXBsZSB0aHJlYWRzLgogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgdm9pZCBnYXRoZXJG
cm9tQ3VycmVudFRocmVhZChDb25zZXJ2YXRpdmVSb290cyYsIHZvaWQqIHN0YWNrQ3VycmVudCk7
CisgICAgICAgIHZvaWQgZ2F0aGVyRnJvbUN1cnJlbnRUaHJlYWQoQ29uc2VydmF0aXZlUm9vdHMm
LCBKSVRTdHViUm91dGluZVNldCYsIENvZGVCbG9ja1NldCYsIHZvaWQqIHN0YWNrQ3VycmVudCk7
CiAKICAgICAgICAgY2xhc3MgVGhyZWFkOwogCiAgICAgICAgIHN0YXRpYyB2b2lkIHJlbW92ZVRo
cmVhZCh2b2lkKik7CiAgICAgICAgIHZvaWQgcmVtb3ZlQ3VycmVudFRocmVhZCgpOwogCi0gICAg
ICAgIHZvaWQgZ2F0aGVyRnJvbU90aGVyVGhyZWFkKENvbnNlcnZhdGl2ZVJvb3RzJiwgVGhyZWFk
Kik7CisgICAgICAgIHZvaWQgZ2F0aGVyRnJvbU90aGVyVGhyZWFkKENvbnNlcnZhdGl2ZVJvb3Rz
JiwgVGhyZWFkKiwgSklUU3R1YlJvdXRpbmVTZXQmLCBDb2RlQmxvY2tTZXQmKTsKIAogICAgICAg
ICBNdXRleCBtX3JlZ2lzdGVyZWRUaHJlYWRzTXV0ZXg7CiAgICAgICAgIFRocmVhZCogbV9yZWdp
c3RlcmVkVGhyZWFkczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9DYWxsRnJhbWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0Nh
bGxGcmFtZS5jcHAKaW5kZXggYTIyNmU5ODQ4YmY5YTE0N2U5MGRiNjRmMDFmYzE2NjJhY2UwOWJk
NS4uNGE2MDgwOWUyOWQxNmY3MWMyOTQ4ZjY2MTg2OGFkMmI2ZDlkYzg5YiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhbGxGcmFtZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhbGxGcmFtZS5jcHAKQEAgLTExNiwxMSAr
MTE2LDExIEBAIENvZGVPcmlnaW4gQ2FsbEZyYW1lOjpjb2RlT3JpZ2luKCkKICAgICByZXR1cm4g
Q29kZU9yaWdpbihsb2NhdGlvbkFzQnl0ZWNvZGVPZmZzZXQoKSk7CiB9CiAKLVJlZ2lzdGVyKiBD
YWxsRnJhbWU6OmZyYW1lRXh0ZW50SW50ZXJuYWwoKQorUmVnaXN0ZXIqIENhbGxGcmFtZTo6dG9w
T2ZGcmFtZUludGVybmFsKCkKIHsKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IHRoaXMtPmNv
ZGVCbG9jaygpOwogICAgIEFTU0VSVChjb2RlQmxvY2spOwotICAgIHJldHVybiByZWdpc3RlcnMo
KSArIHZpcnR1YWxSZWdpc3RlckZvckxvY2FsKGNvZGVCbG9jay0+ZnJhbWVSZWdpc3RlckNvdW50
KCkpLm9mZnNldCgpOworICAgIHJldHVybiByZWdpc3RlcnMoKSArIGNvZGVCbG9jay0+c3RhY2tQ
b2ludGVyT2Zmc2V0KCk7CiB9CiAKIEpTR2xvYmFsT2JqZWN0KiBDYWxsRnJhbWU6OnZtRW50cnlH
bG9iYWxPYmplY3QoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0NhbGxGcmFtZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhbGxG
cmFtZS5oCmluZGV4IDQ4ZmJjZDc3OWI5ODRjM2Q4MTI4OWY0MmY1YjUzNDdjYjNkYzBjNWUuLjZm
NTA4NDIyYTU3MDYwZGExZjg3NmFhNGFlYWU4Njk1MGY3MDJkN2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmgKQEAgLTE3NiwxNSArMTc2LDEzIEBA
IG5hbWVzcGFjZSBKU0MgIHsKICAgICAgICAgLy8gQ29kZU9yaWdpbigwKSBpZiB3ZSdyZSBpbiBu
YXRpdmUgY29kZS4KICAgICAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2luKCk7CiAKLSAgICAgICAg
UmVnaXN0ZXIqIGZyYW1lRXh0ZW50KCkKKyAgICAgICAgUmVnaXN0ZXIqIHRvcE9mRnJhbWUoKQog
ICAgICAgICB7CiAgICAgICAgICAgICBpZiAoaXNWTUVudHJ5U2VudGluZWwoKSB8fCAhY29kZUJs
b2NrKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJlZ2lzdGVycygpIC0gMTsKLSAgICAgICAg
ICAgIHJldHVybiBmcmFtZUV4dGVudEludGVybmFsKCk7CisgICAgICAgICAgICAgICAgcmV0dXJu
IHJlZ2lzdGVycygpOworICAgICAgICAgICAgcmV0dXJuIHRvcE9mRnJhbWVJbnRlcm5hbCgpOwog
ICAgICAgICB9CiAgICAgCi0gICAgICAgIFJlZ2lzdGVyKiBmcmFtZUV4dGVudEludGVybmFsKCk7
Ci0KICNpZiBVU0UoSlNWQUxVRTMyXzY0KQogICAgICAgICBJbnN0cnVjdGlvbiogY3VycmVudFZQ
QygpIGNvbnN0CiAgICAgICAgIHsKQEAgLTMxOCw2ICszMTYsOCBAQCBuYW1lc3BhY2UgSlNDICB7
CiAgICAgICAgIEV4ZWNTdGF0ZSgpOwogICAgICAgICB+RXhlY1N0YXRlKCk7CiAKKyAgICAgICAg
UmVnaXN0ZXIqIHRvcE9mRnJhbWVJbnRlcm5hbCgpOworCiAgICAgICAgIC8vIFRoZSBmb2xsb3dp
bmcgYXJlIGZvciBpbnRlcm5hbCB1c2UgaW4gZGVidWdnaW5nIGFuZCB2ZXJpZmljYXRpb24KICAg
ICAgICAgLy8gY29kZSBvbmx5IGFuZCBub3QgbWVhbnQgYXMgYW4gQVBJIGZvciBnZW5lcmFsIHVz
YWdlOgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJl
dGVyLmNwcAppbmRleCA0ZmJjODIyOWFjZTk3ZjEyYTk1MTg3Mjc2NWYxMTgxMTQxNDFkM2E5Li4y
MWY1ZGZiNWIxMmVlZDRmODE0ZTU2YThhMDNlOGQ3NWRiNjZlNTY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTY1LDYgKzY1
LDcgQEAKICNpbmNsdWRlICJSZWdFeHBQcm90b3R5cGUuaCIKICNpbmNsdWRlICJSZWdpc3Rlci5o
IgogI2luY2x1ZGUgIlNhbXBsaW5nVG9vbC5oIgorI2luY2x1ZGUgIlN0YWNrQWxpZ25tZW50Lmgi
CiAjaW5jbHVkZSAiU3RhY2tWaXNpdG9yLmgiCiAjaW5jbHVkZSAiU3RyaWN0RXZhbEFjdGl2YXRp
b24uaCIKICNpbmNsdWRlICJTdHJvbmdJbmxpbmVzLmgiCkBAIC03NCw2ICs3NSw3IEBACiAjaW5j
bHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDx3dGYvU3RhY2tT
dGF0cy5oPgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3Ry
aW5nUHJpbnRTdHJlYW0uaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8
d3RmL1dURlRocmVhZERhdGEuaD4KQEAgLTg5LDIyICs5MSw2IEBAIHVzaW5nIG5hbWVzcGFjZSBz
dGQ7CiAKIG5hbWVzcGFjZSBKU0MgewogCi1JbnRlcnByZXRlcjo6RXJyb3JIYW5kbGluZ01vZGU6
OkVycm9ySGFuZGxpbmdNb2RlKEV4ZWNTdGF0ZSAqZXhlYykKLSAgICA6IG1faW50ZXJwcmV0ZXIo
KmV4ZWMtPmludGVycHJldGVyKCkpCi17Ci0gICAgaWYgKCFtX2ludGVycHJldGVyLm1fZXJyb3JI
YW5kbGluZ01vZGVSZWVudHJ5KQotICAgICAgICBtX2ludGVycHJldGVyLnN0YWNrKCkuZW5hYmxl
RXJyb3JTdGFja1Jlc2VydmUoKTsKLSAgICBtX2ludGVycHJldGVyLm1fZXJyb3JIYW5kbGluZ01v
ZGVSZWVudHJ5Kys7Ci19Ci0KLUludGVycHJldGVyOjpFcnJvckhhbmRsaW5nTW9kZTo6fkVycm9y
SGFuZGxpbmdNb2RlKCkKLXsKLSAgICBtX2ludGVycHJldGVyLm1fZXJyb3JIYW5kbGluZ01vZGVS
ZWVudHJ5LS07Ci0gICAgQVNTRVJUKG1faW50ZXJwcmV0ZXIubV9lcnJvckhhbmRsaW5nTW9kZVJl
ZW50cnkgPj0gMCk7Ci0gICAgaWYgKCFtX2ludGVycHJldGVyLm1fZXJyb3JIYW5kbGluZ01vZGVS
ZWVudHJ5KQotICAgICAgICBtX2ludGVycHJldGVyLnN0YWNrKCkuZGlzYWJsZUVycm9yU3RhY2tS
ZXNlcnZlKCk7Ci19Ci0KIEpTVmFsdWUgZXZhbChDYWxsRnJhbWUqIGNhbGxGcmFtZSkKIHsKICAg
ICBpZiAoIWNhbGxGcmFtZS0+YXJndW1lbnRDb3VudCgpKQpAQCAtMTUyLDIyICsxMzgsMjUgQEAg
SlNWYWx1ZSBldmFsKENhbGxGcmFtZSogY2FsbEZyYW1lKQogICAgIHJldHVybiBpbnRlcnByZXRl
ci0+ZXhlY3V0ZShldmFsLCBjYWxsRnJhbWUsIHRoaXNWYWx1ZSwgY2FsbGVyU2NvcGVDaGFpbik7
CiB9CiAKLUNhbGxGcmFtZSogc2l6ZUFuZEFsbG9jRnJhbWVGb3JWYXJhcmdzKENhbGxGcmFtZSog
Y2FsbEZyYW1lLCBKU1N0YWNrKiBzdGFjaywgSlNWYWx1ZSBhcmd1bWVudHMsIGludCBmaXJzdEZy
ZWVSZWdpc3RlcikKK0NhbGxGcmFtZSogc2l6ZUZyYW1lRm9yVmFyYXJncyhDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSlNTdGFjayogc3RhY2ssIEpTVmFsdWUgYXJndW1lbnRzLCBpbnQgZmlyc3RGcmVl
UmVnaXN0ZXIpCiB7CiAgICAgaWYgKCFhcmd1bWVudHMpIHsgLy8gZi5hcHBseSh4LCBhcmd1bWVu
dHMpLCB3aXRoIGFyZ3VtZW50cyB1bm1vZGlmaWVkLgogICAgICAgICB1bnNpZ25lZCBhcmd1bWVu
dENvdW50SW5jbHVkaW5nVGhpcyA9IGNhbGxGcmFtZS0+YXJndW1lbnRDb3VudEluY2x1ZGluZ1Ro
aXMoKTsKLSAgICAgICAgQ2FsbEZyYW1lKiBuZXdDYWxsRnJhbWUgPSBDYWxsRnJhbWU6OmNyZWF0
ZShjYWxsRnJhbWUtPnJlZ2lzdGVycygpICsgZmlyc3RGcmVlUmVnaXN0ZXIgLSBhcmd1bWVudENv
dW50SW5jbHVkaW5nVGhpcyAtIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUgLSAxKTsKLSAg
ICAgICAgaWYgKGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzID4gQXJndW1lbnRzOjpNYXhBcmd1
bWVudHMgKyAxIHx8ICFzdGFjay0+Z3JvdyhuZXdDYWxsRnJhbWUtPnJlZ2lzdGVycygpKSkgewot
ICAgICAgICAgICAgY2FsbEZyYW1lLT52bSgpLnRocm93RXhjZXB0aW9uKGNhbGxGcmFtZSwgY3Jl
YXRlU3RhY2tPdmVyZmxvd0Vycm9yKGNhbGxGcmFtZSkpOworICAgICAgICB1bnNpZ25lZCBwYWRk
ZWRDYWxsZWVGcmFtZU9mZnNldCA9IFdURjo6cm91bmRVcFRvTXVsdGlwbGVPZihzdGFja0FsaWdu
bWVudFJlZ2lzdGVycygpLCAtZmlyc3RGcmVlUmVnaXN0ZXIgKyBhcmd1bWVudENvdW50SW5jbHVk
aW5nVGhpcyArIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUgKyAxKTsKKyAgICAgICAgQ2Fs
bEZyYW1lKiBuZXdDYWxsRnJhbWUgPSBDYWxsRnJhbWU6OmNyZWF0ZShjYWxsRnJhbWUtPnJlZ2lz
dGVycygpIC0gcGFkZGVkQ2FsbGVlRnJhbWVPZmZzZXQpOworICAgICAgICBpZiAoYXJndW1lbnRD
b3VudEluY2x1ZGluZ1RoaXMgPiBBcmd1bWVudHM6Ok1heEFyZ3VtZW50cyArIDEgfHwgIXN0YWNr
LT5lbnN1cmVDYXBhY2l0eUZvcihuZXdDYWxsRnJhbWUtPnJlZ2lzdGVycygpKSkgeworICAgICAg
ICAgICAgdGhyb3dTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKTsKICAgICAgICAgICAgIHJl
dHVybiAwOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBuZXdDYWxsRnJhbWU7CiAgICAgfQog
CiAgICAgaWYgKGFyZ3VtZW50cy5pc1VuZGVmaW5lZE9yTnVsbCgpKSB7Ci0gICAgICAgIENhbGxG
cmFtZSogbmV3Q2FsbEZyYW1lID0gQ2FsbEZyYW1lOjpjcmVhdGUoY2FsbEZyYW1lLT5yZWdpc3Rl
cnMoKSArIGZpcnN0RnJlZVJlZ2lzdGVyIC0gMSAtIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNp
emUgLSAxKTsKLSAgICAgICAgaWYgKCFzdGFjay0+Z3JvdyhuZXdDYWxsRnJhbWUtPnJlZ2lzdGVy
cygpKSkgewotICAgICAgICAgICAgY2FsbEZyYW1lLT52bSgpLnRocm93RXhjZXB0aW9uKGNhbGxG
cmFtZSwgY3JlYXRlU3RhY2tPdmVyZmxvd0Vycm9yKGNhbGxGcmFtZSkpOworICAgICAgICB1bnNp
Z25lZCBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyA9IDE7CisgICAgICAgIHVuc2lnbmVkIHBh
ZGRlZENhbGxlZUZyYW1lT2Zmc2V0ID0gV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9mKHN0YWNrQWxp
Z25tZW50UmVnaXN0ZXJzKCksICAtZmlyc3RGcmVlUmVnaXN0ZXIgKyBhcmd1bWVudENvdW50SW5j
bHVkaW5nVGhpcyArIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUgKyAxKTsKKyAgICAgICAg
Q2FsbEZyYW1lKiBuZXdDYWxsRnJhbWUgPSBDYWxsRnJhbWU6OmNyZWF0ZShjYWxsRnJhbWUtPnJl
Z2lzdGVycygpIC0gcGFkZGVkQ2FsbGVlRnJhbWVPZmZzZXQpOworICAgICAgICBpZiAoIXN0YWNr
LT5lbnN1cmVDYXBhY2l0eUZvcihuZXdDYWxsRnJhbWUtPnJlZ2lzdGVycygpKSkgeworICAgICAg
ICAgICAgdGhyb3dTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKTsKICAgICAgICAgICAgIHJl
dHVybiAwOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBuZXdDYWxsRnJhbWU7CkBAIC0xODEs
OSArMTcwLDEwIEBAIENhbGxGcmFtZSogc2l6ZUFuZEFsbG9jRnJhbWVGb3JWYXJhcmdzKENhbGxG
cmFtZSogY2FsbEZyYW1lLCBKU1N0YWNrKiBzdGFjaywgSlNWCiAgICAgaWYgKGFzT2JqZWN0KGFy
Z3VtZW50cyktPmNsYXNzSW5mbygpID09IEFyZ3VtZW50czo6aW5mbygpKSB7CiAgICAgICAgIEFy
Z3VtZW50cyogYXJnc09iamVjdCA9IGFzQXJndW1lbnRzKGFyZ3VtZW50cyk7CiAgICAgICAgIHVu
c2lnbmVkIGFyZ0NvdW50ID0gYXJnc09iamVjdC0+bGVuZ3RoKGNhbGxGcmFtZSk7Ci0gICAgICAg
IENhbGxGcmFtZSogbmV3Q2FsbEZyYW1lID0gQ2FsbEZyYW1lOjpjcmVhdGUoY2FsbEZyYW1lLT5y
ZWdpc3RlcnMoKSArIGZpcnN0RnJlZVJlZ2lzdGVyIC0gQ2FsbEZyYW1lOjpvZmZzZXRGb3IoYXJn
Q291bnQgKyAxKSk7Ci0gICAgICAgIGlmIChhcmdDb3VudCA+IEFyZ3VtZW50czo6TWF4QXJndW1l
bnRzIHx8ICFzdGFjay0+Z3JvdyhuZXdDYWxsRnJhbWUtPnJlZ2lzdGVycygpKSkgewotICAgICAg
ICAgICAgY2FsbEZyYW1lLT52bSgpLnRocm93RXhjZXB0aW9uKGNhbGxGcmFtZSwgY3JlYXRlU3Rh
Y2tPdmVyZmxvd0Vycm9yKGNhbGxGcmFtZSkpOworICAgICAgICB1bnNpZ25lZCBwYWRkZWRDYWxs
ZWVGcmFtZU9mZnNldCA9IFdURjo6cm91bmRVcFRvTXVsdGlwbGVPZihzdGFja0FsaWdubWVudFJl
Z2lzdGVycygpLCAtZmlyc3RGcmVlUmVnaXN0ZXIgKyBDYWxsRnJhbWU6Om9mZnNldEZvcihhcmdD
b3VudCArIDEpKTsKKyAgICAgICAgQ2FsbEZyYW1lKiBuZXdDYWxsRnJhbWUgPSBDYWxsRnJhbWU6
OmNyZWF0ZShjYWxsRnJhbWUtPnJlZ2lzdGVycygpIC0gcGFkZGVkQ2FsbGVlRnJhbWVPZmZzZXQp
OworICAgICAgICBpZiAoYXJnQ291bnQgPiBBcmd1bWVudHM6Ok1heEFyZ3VtZW50cyB8fCAhc3Rh
Y2stPmVuc3VyZUNhcGFjaXR5Rm9yKG5ld0NhbGxGcmFtZS0+cmVnaXN0ZXJzKCkpKSB7CisgICAg
ICAgICAgICB0aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihjYWxsRnJhbWUpOwogICAgICAgICAgICAg
cmV0dXJuIDA7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIG5ld0NhbGxGcmFtZTsKQEAgLTE5
Miw5ICsxODIsMTAgQEAgQ2FsbEZyYW1lKiBzaXplQW5kQWxsb2NGcmFtZUZvclZhcmFyZ3MoQ2Fs
bEZyYW1lKiBjYWxsRnJhbWUsIEpTU3RhY2sqIHN0YWNrLCBKU1YKICAgICBpZiAoaXNKU0FycmF5
KGFyZ3VtZW50cykpIHsKICAgICAgICAgSlNBcnJheSogYXJyYXkgPSBhc0FycmF5KGFyZ3VtZW50
cyk7CiAgICAgICAgIHVuc2lnbmVkIGFyZ0NvdW50ID0gYXJyYXktPmxlbmd0aCgpOwotICAgICAg
ICBDYWxsRnJhbWUqIG5ld0NhbGxGcmFtZSA9IENhbGxGcmFtZTo6Y3JlYXRlKGNhbGxGcmFtZS0+
cmVnaXN0ZXJzKCkgKyBmaXJzdEZyZWVSZWdpc3RlciAtIENhbGxGcmFtZTo6b2Zmc2V0Rm9yKGFy
Z0NvdW50ICsgMSkpOwotICAgICAgICBpZiAoYXJnQ291bnQgPiBBcmd1bWVudHM6Ok1heEFyZ3Vt
ZW50cyB8fCAhc3RhY2stPmdyb3cobmV3Q2FsbEZyYW1lLT5yZWdpc3RlcnMoKSkpIHsKLSAgICAg
ICAgICAgIGNhbGxGcmFtZS0+dm0oKS50aHJvd0V4Y2VwdGlvbihjYWxsRnJhbWUsIGNyZWF0ZVN0
YWNrT3ZlcmZsb3dFcnJvcihjYWxsRnJhbWUpKTsKKyAgICAgICAgdW5zaWduZWQgcGFkZGVkQ2Fs
bGVlRnJhbWVPZmZzZXQgPSBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Yoc3RhY2tBbGlnbm1lbnRS
ZWdpc3RlcnMoKSwgLWZpcnN0RnJlZVJlZ2lzdGVyICsgQ2FsbEZyYW1lOjpvZmZzZXRGb3IoYXJn
Q291bnQgKyAxKSk7CisgICAgICAgIENhbGxGcmFtZSogbmV3Q2FsbEZyYW1lID0gQ2FsbEZyYW1l
OjpjcmVhdGUoY2FsbEZyYW1lLT5yZWdpc3RlcnMoKSAtIHBhZGRlZENhbGxlZUZyYW1lT2Zmc2V0
KTsKKyAgICAgICAgaWYgKGFyZ0NvdW50ID4gQXJndW1lbnRzOjpNYXhBcmd1bWVudHMgfHwgIXN0
YWNrLT5lbnN1cmVDYXBhY2l0eUZvcihuZXdDYWxsRnJhbWUtPnJlZ2lzdGVycygpKSkgeworICAg
ICAgICAgICAgdGhyb3dTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKTsKICAgICAgICAgICAg
IHJldHVybiAwOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBuZXdDYWxsRnJhbWU7CkBAIC0y
MDIsOSArMTkzLDEwIEBAIENhbGxGcmFtZSogc2l6ZUFuZEFsbG9jRnJhbWVGb3JWYXJhcmdzKENh
bGxGcmFtZSogY2FsbEZyYW1lLCBKU1N0YWNrKiBzdGFjaywgSlNWCiAKICAgICBKU09iamVjdCog
YXJnT2JqZWN0ID0gYXNPYmplY3QoYXJndW1lbnRzKTsKICAgICB1bnNpZ25lZCBhcmdDb3VudCA9
IGFyZ09iamVjdC0+Z2V0KGNhbGxGcmFtZSwgY2FsbEZyYW1lLT5wcm9wZXJ0eU5hbWVzKCkubGVu
Z3RoKS50b1VJbnQzMihjYWxsRnJhbWUpOwotICAgIENhbGxGcmFtZSogbmV3Q2FsbEZyYW1lID0g
Q2FsbEZyYW1lOjpjcmVhdGUoY2FsbEZyYW1lLT5yZWdpc3RlcnMoKSArIGZpcnN0RnJlZVJlZ2lz
dGVyIC0gQ2FsbEZyYW1lOjpvZmZzZXRGb3IoYXJnQ291bnQgKyAxKSk7Ci0gICAgaWYgKGFyZ0Nv
dW50ID4gQXJndW1lbnRzOjpNYXhBcmd1bWVudHMgfHwgIXN0YWNrLT5ncm93KG5ld0NhbGxGcmFt
ZS0+cmVnaXN0ZXJzKCkpKSB7Ci0gICAgICAgIGNhbGxGcmFtZS0+dm0oKS50aHJvd0V4Y2VwdGlv
bihjYWxsRnJhbWUsICBjcmVhdGVTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKSk7CisgICAg
dW5zaWduZWQgcGFkZGVkQ2FsbGVlRnJhbWVPZmZzZXQgPSBXVEY6OnJvdW5kVXBUb011bHRpcGxl
T2Yoc3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSwgLWZpcnN0RnJlZVJlZ2lzdGVyICsgQ2FsbEZy
YW1lOjpvZmZzZXRGb3IoYXJnQ291bnQgKyAxKSk7CisgICAgQ2FsbEZyYW1lKiBuZXdDYWxsRnJh
bWUgPSBDYWxsRnJhbWU6OmNyZWF0ZShjYWxsRnJhbWUtPnJlZ2lzdGVycygpIC0gcGFkZGVkQ2Fs
bGVlRnJhbWVPZmZzZXQpOworICAgIGlmIChhcmdDb3VudCA+IEFyZ3VtZW50czo6TWF4QXJndW1l
bnRzIHx8ICFzdGFjay0+ZW5zdXJlQ2FwYWNpdHlGb3IobmV3Q2FsbEZyYW1lLT5yZWdpc3RlcnMo
KSkpIHsKKyAgICAgICAgdGhyb3dTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKTsKICAgICAg
ICAgcmV0dXJuIDA7CiAgICAgfQogICAgIHJldHVybiBuZXdDYWxsRnJhbWU7CkBAIC00MjEsNyAr
NDEzLDYgQEAgc3RhdGljIGJvb2wgdW53aW5kQ2FsbEZyYW1lKFN0YWNrVmlzaXRvciYgdmlzaXRv
cikKIHsKICAgICBDYWxsRnJhbWUqIGNhbGxGcmFtZSA9IHZpc2l0b3ItPmNhbGxGcmFtZSgpOwog
ICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gdmlzaXRvci0+Y29kZUJsb2NrKCk7Ci0gICAgQ29k
ZUJsb2NrKiBvbGRDb2RlQmxvY2sgPSBjb2RlQmxvY2s7CiAgICAgSlNTY29wZSogc2NvcGUgPSBj
YWxsRnJhbWUtPnNjb3BlKCk7CiAKICAgICBpZiAoRGVidWdnZXIqIGRlYnVnZ2VyID0gY2FsbEZy
YW1lLT52bUVudHJ5R2xvYmFsT2JqZWN0KCktPmRlYnVnZ2VyKCkpIHsKQEAgLTQzMiwxNiArNDIz
LDE2IEBAIHN0YXRpYyBib29sIHVud2luZENhbGxGcmFtZShTdGFja1Zpc2l0b3ImIHZpc2l0b3Ip
CiAgICAgfQogCiAgICAgSlNWYWx1ZSBhY3RpdmF0aW9uOwotICAgIGlmIChvbGRDb2RlQmxvY2st
PmNvZGVUeXBlKCkgPT0gRnVuY3Rpb25Db2RlICYmIG9sZENvZGVCbG9jay0+bmVlZHNBY3RpdmF0
aW9uKCkpIHsKKyAgICBpZiAoY29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSAm
JiBjb2RlQmxvY2stPm5lZWRzQWN0aXZhdGlvbigpKSB7CiAjaWYgRU5BQkxFKERGR19KSVQpCiAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKCF2aXNpdG9yLT5pc0lubGluZWRGcmFtZSgpKTsKICNlbmRp
ZgotICAgICAgICBhY3RpdmF0aW9uID0gY2FsbEZyYW1lLT51bmNoZWNrZWRSKG9sZENvZGVCbG9j
ay0+YWN0aXZhdGlvblJlZ2lzdGVyKCkub2Zmc2V0KCkpLmpzVmFsdWUoKTsKKyAgICAgICAgYWN0
aXZhdGlvbiA9IGNhbGxGcmFtZS0+dW5jaGVja2VkUihjb2RlQmxvY2stPmFjdGl2YXRpb25SZWdp
c3RlcigpLm9mZnNldCgpKS5qc1ZhbHVlKCk7CiAgICAgICAgIGlmIChhY3RpdmF0aW9uKQogICAg
ICAgICAgICAganNDYXN0PEpTQWN0aXZhdGlvbio+KGFjdGl2YXRpb24pLT50ZWFyT2ZmKCpzY29w
ZS0+dm0oKSk7CiAgICAgfQogCi0gICAgaWYgKG9sZENvZGVCbG9jay0+Y29kZVR5cGUoKSA9PSBG
dW5jdGlvbkNvZGUgJiYgb2xkQ29kZUJsb2NrLT51c2VzQXJndW1lbnRzKCkpIHsKKyAgICBpZiAo
Y29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSAmJiBjb2RlQmxvY2stPnVzZXNB
cmd1bWVudHMoKSkgewogICAgICAgICBpZiAoQXJndW1lbnRzKiBhcmd1bWVudHMgPSB2aXNpdG9y
LT5leGlzdGluZ0FyZ3VtZW50cygpKSB7CiAgICAgICAgICAgICBpZiAoYWN0aXZhdGlvbikKICAg
ICAgICAgICAgICAgICBhcmd1bWVudHMtPmRpZFRlYXJPZmZBY3RpdmF0aW9uKGNhbGxGcmFtZSwg
anNDYXN0PEpTQWN0aXZhdGlvbio+KGFjdGl2YXRpb24pKTsKQEAgLTQ1NSwxMSArNDQ2LDcgQEAg
c3RhdGljIGJvb2wgdW53aW5kQ2FsbEZyYW1lKFN0YWNrVmlzaXRvciYgdmlzaXRvcikKICAgICB9
CiAKICAgICBDYWxsRnJhbWUqIGNhbGxlckZyYW1lID0gY2FsbEZyYW1lLT5jYWxsZXJGcmFtZSgp
OwotICAgIGlmIChjYWxsZXJGcmFtZS0+aXNWTUVudHJ5U2VudGluZWwoKSkgewotICAgICAgICBj
YWxsRnJhbWUtPnZtKCkudG9wQ2FsbEZyYW1lID0gY2FsbGVyRnJhbWUtPnZtRW50cnlTZW50aW5l
bENhbGxlckZyYW1lKCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgcmV0dXJu
IHRydWU7CisgICAgcmV0dXJuICFjYWxsZXJGcmFtZS0+aXNWTUVudHJ5U2VudGluZWwoKTsKIH0K
IAogc3RhdGljIFN0YWNrRnJhbWVDb2RlVHlwZSBnZXRTdGFja0ZyYW1lQ29kZVR5cGUoU3RhY2tW
aXNpdG9yJiB2aXNpdG9yKQpAQCAtNjYyLDcgKzY0OSwxNyBAQCBwcml2YXRlOgogCiBORVZFUl9J
TkxJTkUgSGFuZGxlckluZm8qIEludGVycHJldGVyOjp1bndpbmQoQ2FsbEZyYW1lKiYgY2FsbEZy
YW1lLCBKU1ZhbHVlJiBleGNlcHRpb25WYWx1ZSkKIHsKKyAgICBpZiAoY2FsbEZyYW1lLT5pc1ZN
RW50cnlTZW50aW5lbCgpKSB7CisgICAgICAgIC8vIFRoaXMgaGFwcGVucyB3aGVuIHdlIHRocm93
IHN0YWNrIG92ZXJmbG93IGluIGEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQKKyAgICAgICAgLy8g
ZGlyZWN0bHkgZnJvbSBjYWxsVG9KYXZhU2NyaXB0LiAgU3RhY2sgb3ZlcmZsb3cgdGhyb3dzIHRo
ZSBleGNlcHRpb24gaW4gdGhlCisgICAgICAgIC8vIGNvbnRleHQgb2YgdGhlIGNhbGxlci4gIElu
IHRoYXQgY2FzZSB0aGUgY2FsbGVyIGlzIHRoZSBzZW50aW5lbCBmcmFtZS4gIFRoZQorICAgICAg
ICAvLyByaWdodCB0aGluZyB0byBkbyBpcyB0byBwcmV0ZW5kIHRoYXQgdGhlIGV4Y2VwdGlvbiBp
cyB1bmNhdWdodCBzbyB0aGF0IHdlCisgICAgICAgIC8vIGdvIHRvIHRoZSB1bmNhdWdodCBleGNl
cHRpb24gaGFuZGxlciwgd2hpY2ggcmV0dXJucyB0aHJvdWdoIGNhbGxUb0phdmFTY3JpcHQuCisg
ICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICAKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9
IGNhbGxGcmFtZS0+Y29kZUJsb2NrKCk7CisgICAgQVNTRVJUKGNvZGVCbG9jayk7CiAgICAgYm9v
bCBpc1Rlcm1pbmF0aW9uID0gZmFsc2U7CiAKICAgICBBU1NFUlQoIWV4Y2VwdGlvblZhbHVlLmlz
RW1wdHkoKSk7CkBAIC03NjcsNyArNzY0LDYgQEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6ZXhlY3V0
ZShQcm9ncmFtRXhlY3V0YWJsZSogcHJvZ3JhbSwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEoKICAg
ICBpZiAodm0uaXNDb2xsZWN0b3JCdXN5KCkpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsKIAot
ICAgIFZNRW50cnlTY29wZSBlbnRyeVNjb3BlKHZtLCBzY29wZS0+Z2xvYmFsT2JqZWN0KCkpOwog
ICAgIGlmICghdm0uaXNTYWZlVG9SZWN1cnNlKCkpCiAgICAgICAgIHJldHVybiBjaGVja2VkUmV0
dXJuKHRocm93U3RhY2tPdmVyZmxvd0Vycm9yKGNhbGxGcmFtZSkpOwogCkBAIC04NzQsNiArODcw
LDggQEAgZmFpbGVkSlNPTlA6CiAgICAgLy8gSWYgd2UgZ2V0IGhlcmUsIHRoZW4gd2UgaGF2ZSBh
bHJlYWR5IHByb3ZlbiB0aGF0IHRoZSBzY3JpcHQgaXMgbm90IGEgSlNPTgogICAgIC8vIG9iamVj
dC4KIAorICAgIFZNRW50cnlTY29wZSBlbnRyeVNjb3BlKHZtLCBzY29wZS0+Z2xvYmFsT2JqZWN0
KCkpOworCiAgICAgLy8gQ29tcGlsZSBzb3VyY2UgdG8gYnl0ZWNvZGUgaWYgbmVjZXNzYXJ5Ogog
ICAgIGlmIChKU09iamVjdCogZXJyb3IgPSBwcm9ncmFtLT5pbml0aWFsaXplR2xvYmFsUHJvcGVy
dGllcyh2bSwgY2FsbEZyYW1lLCBzY29wZSkpCiAgICAgICAgIHJldHVybiBjaGVja2VkUmV0dXJu
KGNhbGxGcmFtZS0+dm0oKS50aHJvd0V4Y2VwdGlvbihjYWxsRnJhbWUsIGVycm9yKSk7CkBAIC04
ODgsOSArODg2LDYgQEAgZmFpbGVkSlNPTlA6CiAKICAgICBBU1NFUlQoY29kZUJsb2NrLT5udW1Q
YXJhbWV0ZXJzKCkgPT0gMSk7IC8vIDEgcGFyYW1ldGVyIGZvciAndGhpcycuCiAKLSAgICBpZiAo
VU5MSUtFTFkoIW1fc3RhY2suZW50cnlDaGVjayhjb2RlQmxvY2ssIDEpKSkKLSAgICAgICAgcmV0
dXJuIGNoZWNrZWRSZXR1cm4odGhyb3dTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKSk7Ci0K
ICAgICBQcm90b0NhbGxGcmFtZSBwcm90b0NhbGxGcmFtZTsKICAgICBwcm90b0NhbGxGcmFtZS5p
bml0KGNvZGVCbG9jaywgc2NvcGUsIDAsIHRoaXNPYmosIDEpOwogCkBAIC05MDMsNyArODk4LDcg
QEAgZmFpbGVkSlNPTlA6CiAgICAgICAgIFNhbXBsaW5nVG9vbDo6Q2FsbFJlY29yZCBjYWxsUmVj
b3JkKG1fc2FtcGxlci5nZXQoKSk7CiAgICAgICAgIFdhdGNoZG9nOjpTY29wZSB3YXRjaGRvZ1Nj
b3BlKHZtLndhdGNoZG9nKTsKIAotICAgICAgICByZXN1bHQgPSBwcm9ncmFtLT5nZW5lcmF0ZWRK
SVRDb2RlKCktPmV4ZWN1dGUoJnZtLCAmcHJvdG9DYWxsRnJhbWUsIG1fc3RhY2suZ2V0VG9wT2ZT
dGFjaygpKTsKKyAgICAgICAgcmVzdWx0ID0gcHJvZ3JhbS0+Z2VuZXJhdGVkSklUQ29kZSgpLT5l
eGVjdXRlKCZ2bSwgJnByb3RvQ2FsbEZyYW1lKTsKICAgICB9CiAKICAgICBpZiAoTGVnYWN5UHJv
ZmlsZXIqIHByb2ZpbGVyID0gdm0uZW5hYmxlZFByb2ZpbGVyKCkpCkBAIC05NTEsOSArOTQ2LDYg
QEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6ZXhlY3V0ZUNhbGwoQ2FsbEZyYW1lKiBjYWxsRnJhbWUs
IEpTT2JqZWN0KiBmdW5jdGlvbiwgQ2FsbFQKICAgICBpZiAoVU5MSUtFTFkodm0ud2F0Y2hkb2cu
ZGlkRmlyZShjYWxsRnJhbWUpKSkKICAgICAgICAgcmV0dXJuIHRocm93VGVybWluYXRlZEV4ZWN1
dGlvbkV4Y2VwdGlvbihjYWxsRnJhbWUpOwogCi0gICAgaWYgKFVOTElLRUxZKCFtX3N0YWNrLmVu
dHJ5Q2hlY2sobmV3Q29kZUJsb2NrLCBhcmdzQ291bnQpKSkKLSAgICAgICAgcmV0dXJuIGNoZWNr
ZWRSZXR1cm4odGhyb3dTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKSk7Ci0KICAgICBQcm90
b0NhbGxGcmFtZSBwcm90b0NhbGxGcmFtZTsKICAgICBwcm90b0NhbGxGcmFtZS5pbml0KG5ld0Nv
ZGVCbG9jaywgc2NvcGUsIGZ1bmN0aW9uLCB0aGlzVmFsdWUsIGFyZ3NDb3VudCwgYXJncy5kYXRh
KCkpOwogCkBAIC05NjcsOSArOTU5LDEyIEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6OmV4ZWN1dGVD
YWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU09iamVjdCogZnVuY3Rpb24sIENhbGxUCiAKICAg
ICAgICAgLy8gRXhlY3V0ZSB0aGUgY29kZToKICAgICAgICAgaWYgKGlzSlNDYWxsKQotICAgICAg
ICAgICAgcmVzdWx0ID0gY2FsbERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlLT5nZW5lcmF0ZWRK
SVRDb2RlRm9yQ2FsbCgpLT5leGVjdXRlKCZ2bSwgJnByb3RvQ2FsbEZyYW1lLCBtX3N0YWNrLmdl
dFRvcE9mU3RhY2soKSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlc3VsdCA9IEpTVmFs
dWU6OmRlY29kZShjYWxsVG9OYXRpdmVGdW5jdGlvbihyZWludGVycHJldF9jYXN0PHZvaWQqPihj
YWxsRGF0YS5uYXRpdmUuZnVuY3Rpb24pLCAmdm0udG9wQ2FsbEZyYW1lLCAmcHJvdG9DYWxsRnJh
bWUsIG1fc3RhY2suZ2V0VG9wT2ZTdGFjaygpKSk7CisgICAgICAgICAgICByZXN1bHQgPSBjYWxs
RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUtPmdlbmVyYXRlZEpJVENvZGVGb3JDYWxsKCktPmV4
ZWN1dGUoJnZtLCAmcHJvdG9DYWxsRnJhbWUpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAg
IHJlc3VsdCA9IEpTVmFsdWU6OmRlY29kZShjYWxsVG9OYXRpdmVGdW5jdGlvbihyZWludGVycHJl
dF9jYXN0PHZvaWQqPihjYWxsRGF0YS5uYXRpdmUuZnVuY3Rpb24pLCAmdm0sICZwcm90b0NhbGxG
cmFtZSkpOworICAgICAgICAgICAgaWYgKGNhbGxGcmFtZS0+aGFkRXhjZXB0aW9uKCkpCisgICAg
ICAgICAgICAgICAgcmVzdWx0ID0ganNOdWxsKCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBp
ZiAoTGVnYWN5UHJvZmlsZXIqIHByb2ZpbGVyID0gdm0uZW5hYmxlZFByb2ZpbGVyKCkpCkBAIC0x
MDE5LDkgKzEwMTQsNiBAQCBKU09iamVjdCogSW50ZXJwcmV0ZXI6OmV4ZWN1dGVDb25zdHJ1Y3Qo
Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTT2JqZWN0KiBjb25zdHJ1YwogICAgIGlmIChVTkxJS0VM
WSh2bS53YXRjaGRvZy5kaWRGaXJlKGNhbGxGcmFtZSkpKQogICAgICAgICByZXR1cm4gdGhyb3dU
ZXJtaW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9uKGNhbGxGcmFtZSk7CiAKLSAgICBpZiAoVU5MSUtF
TFkoIW1fc3RhY2suZW50cnlDaGVjayhuZXdDb2RlQmxvY2ssIGFyZ3NDb3VudCkpKQotICAgICAg
ICByZXR1cm4gY2hlY2tlZFJldHVybih0aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihjYWxsRnJhbWUp
KTsKLQogICAgIFByb3RvQ2FsbEZyYW1lIHByb3RvQ2FsbEZyYW1lOwogICAgIHByb3RvQ2FsbEZy
YW1lLmluaXQobmV3Q29kZUJsb2NrLCBzY29wZSwgY29uc3RydWN0b3IsIGpzVW5kZWZpbmVkKCks
IGFyZ3NDb3VudCwgYXJncy5kYXRhKCkpOwogCkBAIC0xMDM1LDkgKzEwMjcsOSBAQCBKU09iamVj
dCogSW50ZXJwcmV0ZXI6OmV4ZWN1dGVDb25zdHJ1Y3QoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpT
T2JqZWN0KiBjb25zdHJ1YwogCiAgICAgICAgIC8vIEV4ZWN1dGUgdGhlIGNvZGUuCiAgICAgICAg
IGlmIChpc0pTQ29uc3RydWN0KQotICAgICAgICAgICAgcmVzdWx0ID0gY29uc3RydWN0RGF0YS5q
cy5mdW5jdGlvbkV4ZWN1dGFibGUtPmdlbmVyYXRlZEpJVENvZGVGb3JDb25zdHJ1Y3QoKS0+ZXhl
Y3V0ZSgmdm0sICZwcm90b0NhbGxGcmFtZSwgbV9zdGFjay5nZXRUb3BPZlN0YWNrKCkpOworICAg
ICAgICAgICAgcmVzdWx0ID0gY29uc3RydWN0RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUtPmdl
bmVyYXRlZEpJVENvZGVGb3JDb25zdHJ1Y3QoKS0+ZXhlY3V0ZSgmdm0sICZwcm90b0NhbGxGcmFt
ZSk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgcmVzdWx0ID0gSlNWYWx1ZTo6ZGVjb2Rl
KGNhbGxUb05hdGl2ZUZ1bmN0aW9uKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGNvbnN0cnVjdERh
dGEubmF0aXZlLmZ1bmN0aW9uKSwgJnZtLnRvcENhbGxGcmFtZSwgJnByb3RvQ2FsbEZyYW1lLCBt
X3N0YWNrLmdldFRvcE9mU3RhY2soKSkpOworICAgICAgICAgICAgcmVzdWx0ID0gSlNWYWx1ZTo6
ZGVjb2RlKGNhbGxUb05hdGl2ZUZ1bmN0aW9uKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGNvbnN0
cnVjdERhdGEubmF0aXZlLmZ1bmN0aW9uKSwgJnZtLCAmcHJvdG9DYWxsRnJhbWUpKTsKIAogICAg
ICAgICAgICAgaWYgKCFjYWxsRnJhbWUtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICAgICAgICAg
IFJFTEVBU0VfQVNTRVJUKHJlc3VsdC5pc09iamVjdCgpKTsKQEAgLTEwNzIsMTEgKzEwNjQsNiBA
QCBDYWxsRnJhbWVDbG9zdXJlIEludGVycHJldGVyOjpwcmVwYXJlRm9yUmVwZWF0Q2FsbChGdW5j
dGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uRQogCiAgICAgc2l6ZV90IGFyZ3NDb3VudCA9IGFyZ3Vt
ZW50Q291bnRJbmNsdWRpbmdUaGlzOwogCi0gICAgaWYgKFVOTElLRUxZKCFtX3N0YWNrLmVudHJ5
Q2hlY2sobmV3Q29kZUJsb2NrLCBhcmdzQ291bnQpKSkgewotICAgICAgICB0aHJvd1N0YWNrT3Zl
cmZsb3dFcnJvcihjYWxsRnJhbWUpOwotICAgICAgICByZXR1cm4gQ2FsbEZyYW1lQ2xvc3VyZSgp
OwotICAgIH0KLQogICAgIHByb3RvQ2FsbEZyYW1lLT5pbml0KG5ld0NvZGVCbG9jaywgc2NvcGUs
IGZ1bmN0aW9uLCBqc1VuZGVmaW5lZCgpLCBhcmdzQ291bnQsIGFyZ3MpOwogICAgIC8vIFJldHVy
biB0aGUgc3VjY2Vzc2Z1bCBjbG9zdXJlOgogICAgIENhbGxGcmFtZUNsb3N1cmUgcmVzdWx0ID0g
eyBjYWxsRnJhbWUsIHByb3RvQ2FsbEZyYW1lLCBmdW5jdGlvbiwgZnVuY3Rpb25FeGVjdXRhYmxl
LCAmdm0sIHNjb3BlLCBuZXdDb2RlQmxvY2stPm51bVBhcmFtZXRlcnMoKSwgYXJndW1lbnRDb3Vu
dEluY2x1ZGluZ1RoaXMgfTsKQEAgLTExMDcsNyArMTA5NCw3IEBAIEpTVmFsdWUgSW50ZXJwcmV0
ZXI6OmV4ZWN1dGUoQ2FsbEZyYW1lQ2xvc3VyZSYgY2xvc3VyZSkKICAgICAgICAgU2FtcGxpbmdU
b29sOjpDYWxsUmVjb3JkIGNhbGxSZWNvcmQobV9zYW1wbGVyLmdldCgpKTsKICAgICAgICAgV2F0
Y2hkb2c6OlNjb3BlIHdhdGNoZG9nU2NvcGUodm0ud2F0Y2hkb2cpOwogCi0gICAgICAgIHJlc3Vs
dCA9IGNsb3N1cmUuZnVuY3Rpb25FeGVjdXRhYmxlLT5nZW5lcmF0ZWRKSVRDb2RlRm9yQ2FsbCgp
LT5leGVjdXRlKCZ2bSwgY2xvc3VyZS5wcm90b0NhbGxGcmFtZSwgbV9zdGFjay5nZXRUb3BPZlN0
YWNrKCkpOworICAgICAgICByZXN1bHQgPSBjbG9zdXJlLmZ1bmN0aW9uRXhlY3V0YWJsZS0+Z2Vu
ZXJhdGVkSklUQ29kZUZvckNhbGwoKS0+ZXhlY3V0ZSgmdm0sIGNsb3N1cmUucHJvdG9DYWxsRnJh
bWUpOwogICAgIH0KIAogICAgIGlmIChMZWdhY3lQcm9maWxlciogcHJvZmlsZXIgPSB2bS5lbmFi
bGVkUHJvZmlsZXIoKSkKQEAgLTExNzgsOSArMTE2NSw2IEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6
OmV4ZWN1dGUoRXZhbEV4ZWN1dGFibGUqIGV2YWwsIENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU1Zh
bHVlCiAKICAgICBBU1NFUlQoY29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCkgPT0gMSk7IC8vIDEg
cGFyYW1ldGVyIGZvciAndGhpcycuCiAKLSAgICBpZiAoVU5MSUtFTFkoIW1fc3RhY2suZW50cnlD
aGVjayhjb2RlQmxvY2ssIDEpKSkKLSAgICAgICAgcmV0dXJuIGNoZWNrZWRSZXR1cm4odGhyb3dT
dGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKSk7Ci0KICAgICBQcm90b0NhbGxGcmFtZSBwcm90
b0NhbGxGcmFtZTsKICAgICBwcm90b0NhbGxGcmFtZS5pbml0KGNvZGVCbG9jaywgc2NvcGUsIDAs
IHRoaXNWYWx1ZSwgMSk7CiAKQEAgLTExOTMsNyArMTE3Nyw3IEBAIEpTVmFsdWUgSW50ZXJwcmV0
ZXI6OmV4ZWN1dGUoRXZhbEV4ZWN1dGFibGUqIGV2YWwsIENhbGxGcmFtZSogY2FsbEZyYW1lLCBK
U1ZhbHVlCiAgICAgICAgIFNhbXBsaW5nVG9vbDo6Q2FsbFJlY29yZCBjYWxsUmVjb3JkKG1fc2Ft
cGxlci5nZXQoKSk7CiAgICAgICAgIFdhdGNoZG9nOjpTY29wZSB3YXRjaGRvZ1Njb3BlKHZtLndh
dGNoZG9nKTsKIAotICAgICAgICByZXN1bHQgPSBldmFsLT5nZW5lcmF0ZWRKSVRDb2RlKCktPmV4
ZWN1dGUoJnZtLCAmcHJvdG9DYWxsRnJhbWUsIG1fc3RhY2suZ2V0VG9wT2ZTdGFjaygpKTsKKyAg
ICAgICAgcmVzdWx0ID0gZXZhbC0+Z2VuZXJhdGVkSklUQ29kZSgpLT5leGVjdXRlKCZ2bSwgJnBy
b3RvQ2FsbEZyYW1lKTsKICAgICB9CiAKICAgICBpZiAoTGVnYWN5UHJvZmlsZXIqIHByb2ZpbGVy
ID0gdm0uZW5hYmxlZFByb2ZpbGVyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5oCmluZGV4IGNmYzcyMWIzODE3ODIzODFlNDVkNDcwMzlkZGI1
NGFmZmJmMDZmOWQuLmI0NTMwMzcwMGFhMDNhYTgwNGQ1YTU1NDhlZDhhYTJkYjM4YmRkNTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBA
IC0xODAsNiArMTgwLDE1IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgQVNTRVJUKCFj
YWxsRnJhbWUtPmlzVk1FbnRyeVNlbnRpbmVsKCkpOwogICAgICAgICAgICAgdm0tPnRvcENhbGxG
cmFtZSA9IGNhbGxGcmFtZTsKICAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZW51bSBWTUVu
dHJ5U2VudGluZWxPS1RhZyB7IFZNRW50cnlTZW50aW5lbE9LIH07CisgICAgICAgIEFMV0FZU19J
TkxJTkUgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyKFZNKiB2bSwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUs
IFZNRW50cnlTZW50aW5lbE9LVGFnKQorICAgICAgICB7CisgICAgICAgICAgICBBU1NFUlQodm0p
OworICAgICAgICAgICAgQVNTRVJUKGNhbGxGcmFtZSk7CisgICAgICAgICAgICBpZiAoIWNhbGxG
cmFtZS0+aXNWTUVudHJ5U2VudGluZWwoKSkKKyAgICAgICAgICAgICAgICB2bS0+dG9wQ2FsbEZy
YW1lID0gY2FsbEZyYW1lOworICAgICAgICB9CiAgICAgfTsKIAogICAgIGNsYXNzIEludGVycHJl
dGVyIHsKQEAgLTE5MCwxNCArMTk5LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGZyaWVu
ZCBjbGFzcyBWTTsKIAogICAgIHB1YmxpYzoKLSAgICAgICAgY2xhc3MgRXJyb3JIYW5kbGluZ01v
ZGUgewotICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICBKU19FWFBPUlRfUFJJVkFURSBFcnJv
ckhhbmRsaW5nTW9kZShFeGVjU3RhdGUqKTsKLSAgICAgICAgICAgIEpTX0VYUE9SVF9QUklWQVRF
IH5FcnJvckhhbmRsaW5nTW9kZSgpOwotICAgICAgICBwcml2YXRlOgotICAgICAgICAgICAgSW50
ZXJwcmV0ZXImIG1faW50ZXJwcmV0ZXI7Ci0gICAgICAgIH07Ci0KICAgICAgICAgSW50ZXJwcmV0
ZXIoVk0gJik7CiAgICAgICAgIH5JbnRlcnByZXRlcigpOwogICAgICAgICAKQEAgLTIzNyw4ICsy
MzgsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgCiAgICAgICAgIFNhbXBsaW5nVG9vbCog
c2FtcGxlcigpIHsgcmV0dXJuIG1fc2FtcGxlci5nZXQoKTsgfQogCi0gICAgICAgIGJvb2wgaXNJ
bkVycm9ySGFuZGxpbmdNb2RlKCkgeyByZXR1cm4gbV9lcnJvckhhbmRsaW5nTW9kZVJlZW50cnk7
IH0KLQogICAgICAgICBORVZFUl9JTkxJTkUgSGFuZGxlckluZm8qIHVud2luZChDYWxsRnJhbWUq
JiwgSlNWYWx1ZSYpOwogICAgICAgICBORVZFUl9JTkxJTkUgdm9pZCBkZWJ1ZyhDYWxsRnJhbWUq
LCBEZWJ1Z0hvb2tJRCk7CiAgICAgICAgIEpTU3RyaW5nKiBzdGFja1RyYWNlQXNTdHJpbmcoRXhl
Y1N0YXRlKiwgVmVjdG9yPFN0YWNrRnJhbWU+KTsKQEAgLTI4Niw3ICsyODUsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICB9OwogCiAgICAgSlNWYWx1ZSBldmFsKENhbGxGcmFtZSopOwotICAgIENh
bGxGcmFtZSogc2l6ZUFuZEFsbG9jRnJhbWVGb3JWYXJhcmdzKENhbGxGcmFtZSosIEpTU3RhY2sq
LCBKU1ZhbHVlLCBpbnQpOworICAgIENhbGxGcmFtZSogc2l6ZUZyYW1lRm9yVmFyYXJncyhDYWxs
RnJhbWUqLCBKU1N0YWNrKiwgSlNWYWx1ZSwgaW50KTsKICAgICB2b2lkIGxvYWRWYXJhcmdzKENh
bGxGcmFtZSosIENhbGxGcmFtZSosIEpTVmFsdWUsIEpTVmFsdWUpOwogfSAvLyBuYW1lc3BhY2Ug
SlNDCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9KU1N0
YWNrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9KU1N0YWNrLmNwcApp
bmRleCBmYTNlM2Q1MGQ3ZWVkNWRmM2E2YmZkZGIxY2NjMTYxOWQzYWNmNTQzLi4wN2JjNTJlMmFl
MGFmMjZhZWIyNzZhODBlODMyODNiNTFmNzJiYzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvSlNTdGFjay5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0pTU3RhY2suY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAwOCwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDgsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMSw5ICszMSwxMSBAQAog
CiAjaW5jbHVkZSAiQ29uc2VydmF0aXZlUm9vdHMuaCIKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgorI2luY2x1ZGUgIk9wdGlvbnMuaCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKKyNpZiBFTkFCTEUo
TExJTlRfQ19MT09QKQogc3RhdGljIHNpemVfdCBjb21taXR0ZWRCeXRlc0NvdW50ID0gMDsKIAog
c3RhdGljIE11dGV4JiBzdGFja1N0YXRpc3RpY3NNdXRleCgpCkBAIC00MSw4NyArNDMsOTggQEAg
c3RhdGljIE11dGV4JiBzdGFja1N0YXRpc3RpY3NNdXRleCgpCiAgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChNdXRleCwgc3RhdGljTXV0ZXgsICgpKTsKICAgICByZXR1cm4gc3RhdGljTXV0ZXg7CiB9
ICAgIAorI2VuZGlmIC8vIEVOQUJMRShMTElOVF9DX0xPT1ApCiAKLUpTU3RhY2s6OkpTU3RhY2so
Vk0mIHZtLCBzaXplX3QgY2FwYWNpdHkpCitKU1N0YWNrOjpKU1N0YWNrKFZNJiB2bSkKICAgICA6
IG1fdm0odm0pCi0gICAgLCBtX2VuZCgwKQogICAgICwgbV90b3BDYWxsRnJhbWUodm0udG9wQ2Fs
bEZyYW1lKQorI2lmIEVOQUJMRShMTElOVF9DX0xPT1ApCisgICAgLCBtX2VuZCgwKQorICAgICwg
bV9yZXNlcnZlZFpvbmVTaXplSW5SZWdpc3RlcnMoMCkKKyNlbmRpZgogeworI2lmIEVOQUJMRShM
TElOVF9DX0xPT1ApCisgICAgc2l6ZV90IGNhcGFjaXR5ID0gT3B0aW9uczo6bWF4UGVyVGhyZWFk
U3RhY2tVc2FnZSgpOwogICAgIEFTU0VSVChjYXBhY2l0eSAmJiBpc1BhZ2VBbGlnbmVkKGNhcGFj
aXR5KSk7CiAKLSAgICBtX3Jlc2VydmF0aW9uID0gUGFnZVJlc2VydmF0aW9uOjpyZXNlcnZlKHJv
dW5kVXBBbGxvY2F0aW9uU2l6ZShjYXBhY2l0eSAqIHNpemVvZihSZWdpc3RlciksIGNvbW1pdFNp
emUpLCBPU0FsbG9jYXRvcjo6SlNWTVN0YWNrUGFnZXMpOwotICAgIHVwZGF0ZVN0YWNrTGltaXQo
aGlnaEFkZHJlc3MoKSk7Ci0gICAgbV9jb21taXRFbmQgPSBoaWdoQWRkcmVzcygpOworICAgIG1f
cmVzZXJ2YXRpb24gPSBQYWdlUmVzZXJ2YXRpb246OnJlc2VydmUoV1RGOjpyb3VuZFVwVG9NdWx0
aXBsZU9mKGNvbW1pdFNpemUsIGNhcGFjaXR5KSwgT1NBbGxvY2F0b3I6OkpTVk1TdGFja1BhZ2Vz
KTsKKyAgICBzZXRTdGFja0xpbWl0KGhpZ2hBZGRyZXNzKCkpOworICAgIG1fY29tbWl0VG9wID0g
aGlnaEFkZHJlc3MoKTsKICAgICAKLSAgICBtX2xhc3RTdGFja1RvcCA9IGdldEJhc2VPZlN0YWNr
KCk7Ci0KLSAgICBkaXNhYmxlRXJyb3JTdGFja1Jlc2VydmUoKTsKKyAgICBtX2xhc3RTdGFja1Rv
cCA9IGJhc2VPZlN0YWNrKCk7CisjZW5kaWYgLy8gRU5BQkxFKExMSU5UX0NfTE9PUCkKIAogICAg
IG1fdG9wQ2FsbEZyYW1lID0gMDsKIH0KIAorI2lmIEVOQUJMRShMTElOVF9DX0xPT1ApCiBKU1N0
YWNrOjp+SlNTdGFjaygpCiB7Ci0gICAgdm9pZCogaGlnaEFkZHJlc3MgPSByZWludGVycHJldF9j
YXN0PHZvaWQqPihzdGF0aWNfY2FzdDxjaGFyKj4obV9yZXNlcnZhdGlvbi5iYXNlKCkpICsgbV9y
ZXNlcnZhdGlvbi5zaXplKCkpOwotICAgIG1fcmVzZXJ2YXRpb24uZGVjb21taXQocmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKj4obV9jb21taXRFbmQpLCByZWludGVycHJldF9jYXN0PGludHB0cl90Piho
aWdoQWRkcmVzcykgLSByZWludGVycHJldF9jYXN0PGludHB0cl90PihtX2NvbW1pdEVuZCkpOwot
ICAgIGFkZFRvQ29tbWl0dGVkQnl0ZUNvdW50KC0ocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4o
aGlnaEFkZHJlc3MpIC0gcmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4obV9jb21taXRFbmQpKSk7
CisgICAgcHRyZGlmZl90IHNpemVUb0RlY29tbWl0ID0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4o
aGlnaEFkZHJlc3MoKSkgLSByZWludGVycHJldF9jYXN0PGNoYXIqPihtX2NvbW1pdFRvcCk7Cisg
ICAgbV9yZXNlcnZhdGlvbi5kZWNvbW1pdChyZWludGVycHJldF9jYXN0PHZvaWQqPihtX2NvbW1p
dFRvcCksIHNpemVUb0RlY29tbWl0KTsKKyAgICBhZGRUb0NvbW1pdHRlZEJ5dGVDb3VudCgtc2l6
ZVRvRGVjb21taXQpOwogICAgIG1fcmVzZXJ2YXRpb24uZGVhbGxvY2F0ZSgpOwogfQogCi1ib29s
IEpTU3RhY2s6Omdyb3dTbG93Q2FzZShSZWdpc3RlciogbmV3RW5kKQorYm9vbCBKU1N0YWNrOjpn
cm93U2xvd0Nhc2UoUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCiB7CisgICAgUmVnaXN0ZXIqIG5l
d1RvcE9mU3RhY2tXaXRoUmVzZXJ2ZWRab25lID0gbmV3VG9wT2ZTdGFjayAtIG1fcmVzZXJ2ZWRa
b25lU2l6ZUluUmVnaXN0ZXJzOworCiAgICAgLy8gSWYgd2UgaGF2ZSBhbHJlYWR5IGNvbW1pdHRl
ZCBlbm91Z2ggbWVtb3J5IHRvIHNhdGlzZnkgdGhpcyByZXF1ZXN0LAogICAgIC8vIGp1c3QgdXBk
YXRlIHRoZSBlbmQgcG9pbnRlciBhbmQgcmV0dXJuLgotICAgIGlmIChuZXdFbmQgPj0gbV9jb21t
aXRFbmQpIHsKLSAgICAgICAgdXBkYXRlU3RhY2tMaW1pdChuZXdFbmQpOworICAgIGlmIChuZXdU
b3BPZlN0YWNrV2l0aFJlc2VydmVkWm9uZSA+PSBtX2NvbW1pdFRvcCkgeworICAgICAgICBzZXRT
dGFja0xpbWl0KG5ld1RvcE9mU3RhY2spOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAK
ICAgICAvLyBDb21wdXRlIHRoZSBjaHVuayBzaXplIG9mIGFkZGl0aW9uYWwgbWVtb3J5IHRvIGNv
bW1pdCwgYW5kIHNlZSBpZiB3ZQogICAgIC8vIGhhdmUgaXQgaXMgc3RpbGwgd2l0aGluIG91ciBi
dWRnZXQuIElmIG5vdCwgd2UnbGwgZmFpbCB0byBncm93IGFuZAogICAgIC8vIHJldHVybiBmYWxz
ZS4KLSAgICBsb25nIGRlbHRhID0gcm91bmRVcEFsbG9jYXRpb25TaXplKHJlaW50ZXJwcmV0X2Nh
c3Q8Y2hhcio+KG1fY29tbWl0RW5kKSAtIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KG5ld0VuZCks
IGNvbW1pdFNpemUpOwotICAgIGlmIChyZWludGVycHJldF9jYXN0PGNoYXIqPihtX2NvbW1pdEVu
ZCkgLSBkZWx0YSA8PSByZWludGVycHJldF9jYXN0PGNoYXIqPihtX3VzZWFibGVFbmQpKQorICAg
IHB0cmRpZmZfdCBkZWx0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KG1fY29tbWl0VG9wKSAt
IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KG5ld1RvcE9mU3RhY2tXaXRoUmVzZXJ2ZWRab25lKTsK
KyAgICBkZWx0YSA9IFdURjo6cm91bmRVcFRvTXVsdGlwbGVPZihjb21taXRTaXplLCBkZWx0YSk7
CisgICAgUmVnaXN0ZXIqIG5ld0NvbW1pdFRvcCA9IG1fY29tbWl0VG9wIC0gKGRlbHRhIC8gc2l6
ZW9mKFJlZ2lzdGVyKSk7CisgICAgaWYgKG5ld0NvbW1pdFRvcCA8IHJlc2VydmF0aW9uVG9wKCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIE90aGVyd2lzZSwgdGhlIGdyb3d0aCBp
cyBzdGlsbCB3aXRoaW4gb3VyIGJ1ZGdldC4gR28gYWhlYWQgYW5kIGNvbW1pdAogICAgIC8vIGl0
IGFuZCByZXR1cm4gdHJ1ZS4KLSAgICBtX3Jlc2VydmF0aW9uLmNvbW1pdChyZWludGVycHJldF9j
YXN0PGNoYXIqPihtX2NvbW1pdEVuZCkgLSBkZWx0YSwgZGVsdGEpOworICAgIG1fcmVzZXJ2YXRp
b24uY29tbWl0KG5ld0NvbW1pdFRvcCwgZGVsdGEpOwogICAgIGFkZFRvQ29tbWl0dGVkQnl0ZUNv
dW50KGRlbHRhKTsKLSAgICBtX2NvbW1pdEVuZCA9IHJlaW50ZXJwcmV0X2Nhc3RfcHRyPFJlZ2lz
dGVyKj4ocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4obV9jb21taXRFbmQpIC0gZGVsdGEpOwotICAg
IHVwZGF0ZVN0YWNrTGltaXQobmV3RW5kKTsKKyAgICBtX2NvbW1pdFRvcCA9IG5ld0NvbW1pdFRv
cDsKKyAgICBzZXRTdGFja0xpbWl0KG5ld1RvcE9mU3RhY2spOwogICAgIHJldHVybiB0cnVlOwog
fQogCiB2b2lkIEpTU3RhY2s6OmdhdGhlckNvbnNlcnZhdGl2ZVJvb3RzKENvbnNlcnZhdGl2ZVJv
b3RzJiBjb25zZXJ2YXRpdmVSb290cykKIHsKLSAgICBjb25zZXJ2YXRpdmVSb290cy5hZGQoZ2V0
QmFzZU9mU3RhY2soKSwgZ2V0VG9wT2ZTdGFjaygpKTsKKyAgICBjb25zZXJ2YXRpdmVSb290cy5h
ZGQodG9wT2ZTdGFjaygpICsgMSwgaGlnaEFkZHJlc3MoKSk7CiB9CiAKIHZvaWQgSlNTdGFjazo6
Z2F0aGVyQ29uc2VydmF0aXZlUm9vdHMoQ29uc2VydmF0aXZlUm9vdHMmIGNvbnNlcnZhdGl2ZVJv
b3RzLCBKSVRTdHViUm91dGluZVNldCYgaml0U3R1YlJvdXRpbmVzLCBDb2RlQmxvY2tTZXQmIGNv
ZGVCbG9ja3MpCiB7Ci0gICAgY29uc2VydmF0aXZlUm9vdHMuYWRkKGdldEJhc2VPZlN0YWNrKCks
IGdldFRvcE9mU3RhY2soKSwgaml0U3R1YlJvdXRpbmVzLCBjb2RlQmxvY2tzKTsKKyAgICBjb25z
ZXJ2YXRpdmVSb290cy5hZGQodG9wT2ZTdGFjaygpICsgMSwgaGlnaEFkZHJlc3MoKSwgaml0U3R1
YlJvdXRpbmVzLCBjb2RlQmxvY2tzKTsKIH0KIAogdm9pZCBKU1N0YWNrOjpzYW5pdGl6ZVN0YWNr
KCkKIHsKLSAgICBBU1NFUlQoZ2V0VG9wT2ZTdGFjaygpIDw9IGdldEJhc2VPZlN0YWNrKCkpOwor
ICAgIEFTU0VSVCh0b3BPZlN0YWNrKCkgPD0gYmFzZU9mU3RhY2soKSk7CiAgICAgCi0gICAgaWYg
KG1fbGFzdFN0YWNrVG9wIDwgZ2V0VG9wT2ZTdGFjaygpKSB7Ci0gICAgICAgIGNoYXIqIGJlZ2lu
ID0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4obV9sYXN0U3RhY2tUb3ApOwotICAgICAgICBjaGFy
KiBlbmQgPSByZWludGVycHJldF9jYXN0PGNoYXIqPihnZXRUb3BPZlN0YWNrKCkpOworICAgIGlm
IChtX2xhc3RTdGFja1RvcCA8IHRvcE9mU3RhY2soKSkgeworICAgICAgICBjaGFyKiBiZWdpbiA9
IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KG1fbGFzdFN0YWNrVG9wICsgMSk7CisgICAgICAgIGNo
YXIqIGVuZCA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KHRvcE9mU3RhY2soKSArIDEpOwogICAg
ICAgICBtZW1zZXQoYmVnaW4sIDAsIGVuZCAtIGJlZ2luKTsKICAgICB9CiAgICAgCi0gICAgbV9s
YXN0U3RhY2tUb3AgPSBnZXRUb3BPZlN0YWNrKCk7CisgICAgbV9sYXN0U3RhY2tUb3AgPSB0b3BP
ZlN0YWNrKCk7CiB9CiAKIHZvaWQgSlNTdGFjazo6cmVsZWFzZUV4Y2Vzc0NhcGFjaXR5KCkKIHsK
LSAgICBwdHJkaWZmX3QgZGVsdGEgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oaGlnaEFk
ZHJlc3MoKSkgLSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4obV9jb21taXRFbmQpOwotICAg
IG1fcmVzZXJ2YXRpb24uZGVjb21taXQobV9jb21taXRFbmQsIGRlbHRhKTsKKyAgICBSZWdpc3Rl
ciogaGlnaEFkZHJlc3NXaXRoUmVzZXJ2ZWRab25lID0gaGlnaEFkZHJlc3MoKSAtIG1fcmVzZXJ2
ZWRab25lU2l6ZUluUmVnaXN0ZXJzOworICAgIHB0cmRpZmZfdCBkZWx0YSA9IHJlaW50ZXJwcmV0
X2Nhc3Q8Y2hhcio+KGhpZ2hBZGRyZXNzV2l0aFJlc2VydmVkWm9uZSkgLSByZWludGVycHJldF9j
YXN0PGNoYXIqPihtX2NvbW1pdFRvcCk7CisgICAgbV9yZXNlcnZhdGlvbi5kZWNvbW1pdChtX2Nv
bW1pdFRvcCwgZGVsdGEpOwogICAgIGFkZFRvQ29tbWl0dGVkQnl0ZUNvdW50KC1kZWx0YSk7Ci0g
ICAgbV9jb21taXRFbmQgPSBoaWdoQWRkcmVzcygpOworICAgIG1fY29tbWl0VG9wID0gaGlnaEFk
ZHJlc3NXaXRoUmVzZXJ2ZWRab25lOwogfQogCiB2b2lkIEpTU3RhY2s6OmluaXRpYWxpemVUaHJl
YWRpbmcoKQpAQCAtMTI5LDEyICsxNDIsNiBAQCB2b2lkIEpTU3RhY2s6OmluaXRpYWxpemVUaHJl
YWRpbmcoKQogICAgIHN0YWNrU3RhdGlzdGljc011dGV4KCk7CiB9CiAKLXNpemVfdCBKU1N0YWNr
Ojpjb21taXR0ZWRCeXRlQ291bnQoKQotewotICAgIE11dGV4TG9ja2VyIGxvY2tlcihzdGFja1N0
YXRpc3RpY3NNdXRleCgpKTsKLSAgICByZXR1cm4gY29tbWl0dGVkQnl0ZXNDb3VudDsKLX0KLQog
dm9pZCBKU1N0YWNrOjphZGRUb0NvbW1pdHRlZEJ5dGVDb3VudChsb25nIGJ5dGVDb3VudCkKIHsK
ICAgICBNdXRleExvY2tlciBsb2NrZXIoc3RhY2tTdGF0aXN0aWNzTXV0ZXgoKSk7CkBAIC0xNDIs
MjUgKzE0OSw0MSBAQCB2b2lkIEpTU3RhY2s6OmFkZFRvQ29tbWl0dGVkQnl0ZUNvdW50KGxvbmcg
Ynl0ZUNvdW50KQogICAgIGNvbW1pdHRlZEJ5dGVzQ291bnQgKz0gYnl0ZUNvdW50OwogfQogCi12
b2lkIEpTU3RhY2s6OmVuYWJsZUVycm9yU3RhY2tSZXNlcnZlKCkKK3ZvaWQgSlNTdGFjazo6c2V0
UmVzZXJ2ZWRab25lU2l6ZShzaXplX3QgcmVzZXJ2ZWRab25lU2l6ZSkKIHsKLSAgICBtX3VzZWFi
bGVFbmQgPSByZXNlcnZhdGlvbkVuZCgpOworICAgIG1fcmVzZXJ2ZWRab25lU2l6ZUluUmVnaXN0
ZXJzID0gcmVzZXJ2ZWRab25lU2l6ZSAvIHNpemVvZihSZWdpc3Rlcik7CisgICAgaWYgKG1fY29t
bWl0VG9wID49IChtX2VuZCArIDEpIC0gbV9yZXNlcnZlZFpvbmVTaXplSW5SZWdpc3RlcnMpCisg
ICAgICAgIGdyb3dTbG93Q2FzZShtX2VuZCArIDEpOwogfQorI2VuZGlmIC8vIEVOQUJMRShMTElO
VF9DX0xPT1ApCiAKLXZvaWQgSlNTdGFjazo6ZGlzYWJsZUVycm9yU3RhY2tSZXNlcnZlKCkKKyNp
ZiAhRU5BQkxFKExMSU5UX0NfTE9PUCkKK1JlZ2lzdGVyKiBKU1N0YWNrOjpsb3dBZGRyZXNzKCkg
Y29uc3QKIHsKLSAgICBjaGFyKiB1c2VhYmxlRW5kID0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4o
cmVzZXJ2YXRpb25FbmQoKSkgKyBjb21taXRTaXplOwotICAgIG1fdXNlYWJsZUVuZCA9IHJlaW50
ZXJwcmV0X2Nhc3RfcHRyPFJlZ2lzdGVyKj4odXNlYWJsZUVuZCk7Ci0KLSAgICAvLyBCeSB0aGUg
dGltZSB3ZSBnZXQgaGVyZSwgd2UgYXJlIGd1YXJhbnRlZWQgdG8gYmUgZGVzdHJ1Y3RpbmcgdGhl
IGxhc3QKLSAgICAvLyBJbnRlcnByZXRlcjo6RXJyb3JIYW5kbGluZ01vZGUgdGhhdCBlbmFibGVk
IHRoaXMgcmVzZXJ2ZSBpbiB0aGUgZmlyc3QKLSAgICAvLyBwbGFjZS4gVGhhdCBtZWFucyB0aGUg
c3RhY2sgc3BhY2UgYmV5b25kIG1fdXNlYWJsZUVuZCBiZWZvcmUgd2UKLSAgICAvLyBlbmFibGVk
IHRoZSByZXNlcnZlIHdhcyBub3QgcHJldmlvdXNseSBpbiB1c2UuIEhlbmNlLCBpdCBpcyBzYWZl
IHRvCi0gICAgLy8gc2hyaW5rIGJhY2sgdG8gdGhhdCBtX3VzZWFibGVFbmQuCi0gICAgaWYgKG1f
ZW5kIDwgbV91c2VhYmxlRW5kKSB7Ci0gICAgICAgIEFTU0VSVChtX3RvcENhbGxGcmFtZS0+ZnJh
bWVFeHRlbnQoKSA+PSBtX3VzZWFibGVFbmQpOwotICAgICAgICBzaHJpbmsobV91c2VhYmxlRW5k
KTsKLSAgICB9CisgICAgQVNTRVJUKHd0ZlRocmVhZERhdGEoKS5zdGFjaygpLmlzR3Jvd2luZ0Rv
d253YXJkKCkpOworICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFJlZ2lzdGVyKj4obV92bS5z
dGFja0xpbWl0KCkpOworfQorCitSZWdpc3RlciogSlNTdGFjazo6aGlnaEFkZHJlc3MoKSBjb25z
dAoreworICAgIEFTU0VSVCh3dGZUaHJlYWREYXRhKCkuc3RhY2soKS5pc0dyb3dpbmdEb3dud2Fy
ZCgpKTsKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxSZWdpc3Rlcio+KHd0ZlRocmVhZERh
dGEoKS5zdGFjaygpLm9yaWdpbigpKTsKK30KKyNlbmRpZiAvLyAhRU5BQkxFKExMSU5UX0NfTE9P
UCkKKworc2l6ZV90IEpTU3RhY2s6OmNvbW1pdHRlZEJ5dGVDb3VudCgpCit7CisjaWYgRU5BQkxF
KExMSU5UX0NfTE9PUCkKKyAgICBNdXRleExvY2tlciBsb2NrZXIoc3RhY2tTdGF0aXN0aWNzTXV0
ZXgoKSk7CisgICAgcmV0dXJuIGNvbW1pdHRlZEJ5dGVzQ291bnQ7CisjZWxzZQorICAgIC8vIFdo
ZW4gdXNpbmcgdGhlIEMgc3RhY2ssIHdlIGRvbid0IGtub3cgaG93IG1hbnkgc3RhY2sgcGFnZXMg
YXJlIGFjdHVhbGx5CisgICAgLy8gY29tbWl0dGVkLiBTbywgd2UgdXNlIHRoZSBjdXJyZW50IHN0
YWNrIHVzYWdlIGFzIGFuIGVzdGltYXRlLgorICAgIEFTU0VSVCh3dGZUaHJlYWREYXRhKCkuc3Rh
Y2soKS5pc0dyb3dpbmdEb3dud2FyZCgpKTsKKyAgICBpbnQ4X3QqIGN1cnJlbnQgPSByZWludGVy
cHJldF9jYXN0PGludDhfdCo+KCZjdXJyZW50KTsKKyAgICBpbnQ4X3QqIGhpZ2ggPSByZWludGVy
cHJldF9jYXN0PGludDhfdCo+KHd0ZlRocmVhZERhdGEoKS5zdGFjaygpLm9yaWdpbigpKTsKKyAg
ICByZXR1cm4gaGlnaCAtIGN1cnJlbnQ7CisjZW5kaWYKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlND
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSlNTdGFjay5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0pTU3RhY2suaAppbmRleCA5MWY5
M2UyYmY5YjU0NDVhMjQ3ZmJhNjI2Y2YzZWNkMjQ4MTc3YWFkLi4xZjZmZTIwYzE2MDhhNTI5NWE1
NzJkZTEwYTQ3N2JlYTg4ODU5MzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvSlNTdGFjay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9KU1N0YWNrLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4
LCAyMDA5LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAwOCwgMjAwOSwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM1LDExICszNSw2IEBACiAj
aW5jbHVkZSA8d3RmL1BhZ2VSZXNlcnZhdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9WTVRhZ3MuaD4K
IAotI2RlZmluZSBFTkFCTEVfREVCVUdfSlNTVEFDSyAwCi0jaWYgIWRlZmluZWQoTkRFQlVHKSAm
JiAhZGVmaW5lZChFTkFCTEVfREVCVUdfSlNTVEFDSykKLSNkZWZpbmUgRU5BQkxFX0RFQlVHX0pT
U1RBQ0sgMQotI2VuZGlmCi0KIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgQ29kZUJsb2Nr
U2V0OwpAQCAtNjEsNyArNTYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSlNTdGFjayk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIENhbGxGcmFt
ZUhlYWRlckVudHJ5IHsKLSAgICAgICAgICAgIENvZGVCbG9jayA9IHNpemVvZihDYWxsZXJGcmFt
ZUFuZFBDKSAvIHNpemVvZihSZWdpc3RlciksCisgICAgICAgICAgICBDYWxsZXJGcmFtZUFuZFBD
U2l6ZSA9IHNpemVvZihDYWxsZXJGcmFtZUFuZFBDKSAvIHNpemVvZihSZWdpc3RlciksCisgICAg
ICAgICAgICBDb2RlQmxvY2sgPSBDYWxsZXJGcmFtZUFuZFBDU2l6ZSwKICAgICAgICAgICAgIFNj
b3BlQ2hhaW4sCiAgICAgICAgICAgICBDYWxsZWUsCiAgICAgICAgICAgICBBcmd1bWVudENvdW50
LApAQCAtNzIsOTIgKzY4LDg3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgRmlyc3RB
cmd1bWVudCwKICAgICAgICAgfTsKIAotICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGRlZmF1
bHRDYXBhY2l0eSA9IDUxMiAqIDEwMjQ7CiAgICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgY29t
bWl0U2l6ZSA9IDE2ICogMTAyNDsKICAgICAgICAgLy8gQWxsb3cgOGsgb2YgZXhjZXNzIHJlZ2lz
dGVycyBiZWZvcmUgd2Ugc3RhcnQgdHJ5aW5nIHRvIHJlYXAgdGhlIHN0YWNrCiAgICAgICAgIHN0
YXRpYyBjb25zdCBwdHJkaWZmX3QgbWF4RXhjZXNzQ2FwYWNpdHkgPSA4ICogMTAyNDsKIAotICAg
ICAgICBKU1N0YWNrKFZNJiwgc2l6ZV90IGNhcGFjaXR5ID0gZGVmYXVsdENhcGFjaXR5KTsKLSAg
ICAgICAgfkpTU3RhY2soKTsKKyAgICAgICAgSlNTdGFjayhWTSYpOwogICAgICAgICAKKyAgICAg
ICAgYm9vbCBlbnN1cmVDYXBhY2l0eUZvcihSZWdpc3RlciogbmV3VG9wT2ZTdGFjayk7CisKKyAg
ICAgICAgYm9vbCBjb250YWluc0FkZHJlc3MoUmVnaXN0ZXIqIGFkZHJlc3MpIHsgcmV0dXJuIChs
b3dBZGRyZXNzKCkgPD0gYWRkcmVzcyAmJiBhZGRyZXNzIDwgaGlnaEFkZHJlc3MoKSk7IH0KKyAg
ICAgICAgc3RhdGljIHNpemVfdCBjb21taXR0ZWRCeXRlQ291bnQoKTsKKworI2lmICFFTkFCTEUo
TExJTlRfQ19MT09QKQorICAgICAgICB2b2lkIGdhdGhlckNvbnNlcnZhdGl2ZVJvb3RzKENvbnNl
cnZhdGl2ZVJvb3RzJikgeyB9CisgICAgICAgIHZvaWQgZ2F0aGVyQ29uc2VydmF0aXZlUm9vdHMo
Q29uc2VydmF0aXZlUm9vdHMmLCBKSVRTdHViUm91dGluZVNldCYsIENvZGVCbG9ja1NldCYpIHsg
fQorICAgICAgICB2b2lkIHNhbml0aXplU3RhY2soKSB7IH0KKyAgICAgICAgc3RhdGljIHZvaWQg
aW5pdGlhbGl6ZVRocmVhZGluZygpIHsgfQorI2Vsc2UKKyAgICAgICAgfkpTU3RhY2soKTsKKwog
ICAgICAgICB2b2lkIGdhdGhlckNvbnNlcnZhdGl2ZVJvb3RzKENvbnNlcnZhdGl2ZVJvb3RzJik7
CiAgICAgICAgIHZvaWQgZ2F0aGVyQ29uc2VydmF0aXZlUm9vdHMoQ29uc2VydmF0aXZlUm9vdHMm
LCBKSVRTdHViUm91dGluZVNldCYsIENvZGVCbG9ja1NldCYpOwogICAgICAgICB2b2lkIHNhbml0
aXplU3RhY2soKTsKIAotICAgICAgICBSZWdpc3RlciogZ2V0QmFzZU9mU3RhY2soKSBjb25zdAor
ICAgICAgICBSZWdpc3RlciogYmFzZU9mU3RhY2soKSBjb25zdAogICAgICAgICB7CiAgICAgICAg
ICAgICByZXR1cm4gaGlnaEFkZHJlc3MoKSAtIDE7CiAgICAgICAgIH0KIAogICAgICAgICBzaXpl
X3Qgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGhpZ2hBZGRyZXNzKCkgLSBsb3dBZGRyZXNzKCk7IH0K
IAotICAgICAgICBib29sIGdyb3coUmVnaXN0ZXIqKTsKLSAgICAgICAgCi0gICAgICAgIHN0YXRp
YyBzaXplX3QgY29tbWl0dGVkQnl0ZUNvdW50KCk7CiAgICAgICAgIHN0YXRpYyB2b2lkIGluaXRp
YWxpemVUaHJlYWRpbmcoKTsKIAotICAgICAgICBSZWdpc3RlciogZ2V0VG9wT2ZGcmFtZShDYWxs
RnJhbWUqKTsKLSAgICAgICAgUmVnaXN0ZXIqIGdldFN0YXJ0T2ZGcmFtZShDYWxsRnJhbWUqKTsK
LSAgICAgICAgUmVnaXN0ZXIqIGdldFRvcE9mU3RhY2soKTsKLQotICAgICAgICBib29sIGVudHJ5
Q2hlY2soY2xhc3MgQ29kZUJsb2NrKiwgaW50KTsKKyAgICAgICAgdm9pZCBzZXRSZXNlcnZlZFpv
bmVTaXplKHNpemVfdCk7CiAKLSAgICAgICAgQ2FsbEZyYW1lKiBwdXNoRnJhbWUoY2xhc3MgQ29k
ZUJsb2NrKiwgSlNTY29wZSosIGludCBhcmdzQ291bnQsIEpTT2JqZWN0KiBjYWxsZWUpOwotCi0g
ICAgICAgIHZvaWQgcG9wRnJhbWUoQ2FsbEZyYW1lKik7Ci0KLSAgICAgICAgYm9vbCBjb250YWlu
c0FkZHJlc3MoUmVnaXN0ZXIqIGFkZHJlc3MpIHsgcmV0dXJuIChsb3dBZGRyZXNzKCkgPD0gYWRk
cmVzcyAmJiBhZGRyZXNzIDw9IGhpZ2hBZGRyZXNzKCkpOyB9Ci0KLSAgICAgICAgdm9pZCBlbmFi
bGVFcnJvclN0YWNrUmVzZXJ2ZSgpOwotICAgICAgICB2b2lkIGRpc2FibGVFcnJvclN0YWNrUmVz
ZXJ2ZSgpOwotCi0jaWYgRU5BQkxFKERFQlVHX0pTU1RBQ0spCi0gICAgICAgIHZvaWQgaW5zdGFs
bEZlbmNlKENhbGxGcmFtZSosIGNvbnN0IGNoYXIgKmZ1bmN0aW9uID0gIiIsIGludCBsaW5lTm8g
PSAwKTsKLSAgICAgICAgdm9pZCB2YWxpZGF0ZUZlbmNlKENhbGxGcmFtZSosIGNvbnN0IGNoYXIg
KmZ1bmN0aW9uID0gIiIsIGludCBsaW5lTm8gPSAwKTsKLSAgICAgICAgc3RhdGljIGNvbnN0IGlu
dCBGZW5jZVNpemUgPSA0OwotI2Vsc2UgLy8gIUVOQUJMRShERUJVR19KU1NUQUNLKQotICAgICAg
ICB2b2lkIGluc3RhbGxGZW5jZShDYWxsRnJhbWUqLCBjb25zdCBjaGFyKiA9ICIiLCBpbnQgPSAw
KSB7IH0KLSAgICAgICAgdm9pZCB2YWxpZGF0ZUZlbmNlKENhbGxGcmFtZSosIGNvbnN0IGNoYXIq
ID0gIiIsIGludCA9IDApIHsgfQotI2VuZGlmIC8vICFFTkFCTEUoREVCVUdfSlNTVEFDSykKKyAg
ICAgICAgaW5saW5lIFJlZ2lzdGVyKiB0b3BPZlN0YWNrKCk7CisjZW5kaWYgLy8gRU5BQkxFKExM
SU5UX0NfTE9PUCkKIAogICAgIHByaXZhdGU6CisKKyNpZiBFTkFCTEUoTExJTlRfQ19MT09QKQog
ICAgICAgICBSZWdpc3RlciogbG93QWRkcmVzcygpIGNvbnN0CiAgICAgICAgIHsKLSAgICAgICAg
ICAgIHJldHVybiBtX2VuZDsKKyAgICAgICAgICAgIHJldHVybiBtX2VuZCArIDE7CiAgICAgICAg
IH0KIAogICAgICAgICBSZWdpc3RlciogaGlnaEFkZHJlc3MoKSBjb25zdAogICAgICAgICB7CiAg
ICAgICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdF9wdHI8UmVnaXN0ZXIqPihzdGF0aWNf
Y2FzdDxjaGFyKj4obV9yZXNlcnZhdGlvbi5iYXNlKCkpICsgbV9yZXNlcnZhdGlvbi5zaXplKCkp
OwogICAgICAgICB9CisjZWxzZQorICAgICAgICBSZWdpc3RlciogbG93QWRkcmVzcygpIGNvbnN0
OworICAgICAgICBSZWdpc3RlciogaGlnaEFkZHJlc3MoKSBjb25zdDsKKyNlbmRpZiAvLyBFTkFC
TEUoTExJTlRfQ19MT09QKQogCi0gICAgICAgIFJlZ2lzdGVyKiByZXNlcnZhdGlvbkVuZCgpIGNv
bnN0CisjaWYgRU5BQkxFKExMSU5UX0NfTE9PUCkKKyAgICAgICAgaW5saW5lIFJlZ2lzdGVyKiB0
b3BPZkZyYW1lRm9yKENhbGxGcmFtZSopOworCisgICAgICAgIFJlZ2lzdGVyKiByZXNlcnZhdGlv
blRvcCgpIGNvbnN0CiAgICAgICAgIHsKLSAgICAgICAgICAgIGNoYXIqIHJlc2VydmF0aW9uRW5k
ID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG1fcmVzZXJ2YXRpb24uYmFzZSgpKTsKLSAgICAgICAgICAg
IHJldHVybiByZWludGVycHJldF9jYXN0X3B0cjxSZWdpc3Rlcio+KHJlc2VydmF0aW9uRW5kKTsK
KyAgICAgICAgICAgIGNoYXIqIHJlc2VydmF0aW9uVG9wID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG1f
cmVzZXJ2YXRpb24uYmFzZSgpKTsKKyAgICAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0
X3B0cjxSZWdpc3Rlcio+KHJlc2VydmF0aW9uVG9wKTsKICAgICAgICAgfQogCi0jaWYgRU5BQkxF
KERFQlVHX0pTU1RBQ0spCi0gICAgICAgIHN0YXRpYyBKU1ZhbHVlIGdlbmVyYXRlRmVuY2VWYWx1
ZShzaXplX3QgYXJnSW5kZXgpOwotICAgICAgICB2b2lkIGluc3RhbGxUcmFwc0FmdGVyRnJhbWUo
Q2FsbEZyYW1lKik7Ci0jZWxzZQotICAgICAgICB2b2lkIGluc3RhbGxUcmFwc0FmdGVyRnJhbWUo
Q2FsbEZyYW1lKikgeyB9Ci0jZW5kaWYKLQotICAgICAgICBib29sIGdyb3dTbG93Q2FzZShSZWdp
c3RlciopOwotICAgICAgICB2b2lkIHNocmluayhSZWdpc3RlciopOworICAgICAgICBib29sIGdy
b3coUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spOworICAgICAgICBib29sIGdyb3dTbG93Q2FzZShS
ZWdpc3RlciogbmV3VG9wT2ZTdGFjayk7CisgICAgICAgIHZvaWQgc2hyaW5rKFJlZ2lzdGVyKiBu
ZXdUb3BPZlN0YWNrKTsKICAgICAgICAgdm9pZCByZWxlYXNlRXhjZXNzQ2FwYWNpdHkoKTsKICAg
ICAgICAgdm9pZCBhZGRUb0NvbW1pdHRlZEJ5dGVDb3VudChsb25nKTsKIAotICAgICAgICB2b2lk
IHVwZGF0ZVN0YWNrTGltaXQoUmVnaXN0ZXIqIG5ld0VuZCk7CisgICAgICAgIHZvaWQgc2V0U3Rh
Y2tMaW1pdChSZWdpc3RlciogbmV3VG9wT2ZTdGFjayk7CisjZW5kaWYgLy8gRU5BQkxFKExMSU5U
X0NfTE9PUCkKIAogICAgICAgICBWTSYgbV92bTsKKyAgICAgICAgQ2FsbEZyYW1lKiYgbV90b3BD
YWxsRnJhbWU7CisjaWYgRU5BQkxFKExMSU5UX0NfTE9PUCkKICAgICAgICAgUmVnaXN0ZXIqIG1f
ZW5kOwotICAgICAgICBSZWdpc3RlciogbV9jb21taXRFbmQ7Ci0gICAgICAgIFJlZ2lzdGVyKiBt
X3VzZWFibGVFbmQ7CisgICAgICAgIFJlZ2lzdGVyKiBtX2NvbW1pdFRvcDsKICAgICAgICAgUGFn
ZVJlc2VydmF0aW9uIG1fcmVzZXJ2YXRpb247Ci0gICAgICAgIENhbGxGcmFtZSomIG1fdG9wQ2Fs
bEZyYW1lOwogICAgICAgICBSZWdpc3RlciogbV9sYXN0U3RhY2tUb3A7CisgICAgICAgIHB0cmRp
ZmZfdCBtX3Jlc2VydmVkWm9uZVNpemVJblJlZ2lzdGVyczsKKyNlbmRpZiAvLyBFTkFCTEUoTExJ
TlRfQ19MT09QKQogCiAgICAgICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7
CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9K
U1N0YWNrSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0pTU3Rh
Y2tJbmxpbmVzLmgKaW5kZXggNWEyYWZmMTE3MWRkMWRiMjYzN2RjMWI4OTViYTNhZjM1ZDVjZTQz
Ni4uYjA3NGIzN2ViMGIwZjZlZjgxOGE4Y2FiMjk5MWFiNDZmZDczZGZmZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0pTU3RhY2tJbmxpbmVzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0pTU3RhY2tJbmxpbmVzLmgKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMywgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTMzLDI2MiArMzMsNjUgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWlubGluZSBSZWdp
c3RlciogSlNTdGFjazo6Z2V0VG9wT2ZGcmFtZShDYWxsRnJhbWUqIGZyYW1lKQoraW5saW5lIGJv
b2wgSlNTdGFjazo6ZW5zdXJlQ2FwYWNpdHlGb3IoUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCiB7
Ci0gICAgaWYgKFVOTElLRUxZKCFmcmFtZSkpCi0gICAgICAgIHJldHVybiBnZXRCYXNlT2ZTdGFj
aygpOwotICAgIHJldHVybiBmcmFtZS0+ZnJhbWVFeHRlbnQoKTsKLX0KLQotaW5saW5lIFJlZ2lz
dGVyKiBKU1N0YWNrOjpnZXRUb3BPZlN0YWNrKCkKLXsKLSAgICByZXR1cm4gZ2V0VG9wT2ZGcmFt
ZShtX3RvcENhbGxGcmFtZSk7CisjaWYgRU5BQkxFKExMSU5UX0NfTE9PUCkKKyAgICByZXR1cm4g
Z3JvdyhuZXdUb3BPZlN0YWNrKTsKKyNlbHNlCisgICAgQVNTRVJUKHd0ZlRocmVhZERhdGEoKS5z
dGFjaygpLmlzR3Jvd2luZ0Rvd253YXJkKCkpOworICAgIHJldHVybiBuZXdUb3BPZlN0YWNrID49
IG1fdm0uc3RhY2tMaW1pdCgpOworI2VuZGlmCiB9CiAKLWlubGluZSBSZWdpc3RlciogSlNTdGFj
azo6Z2V0U3RhcnRPZkZyYW1lKENhbGxGcmFtZSogZnJhbWUpCi17Ci0gICAgQ2FsbEZyYW1lKiBj
YWxsZXJGcmFtZSA9IGZyYW1lLT5jYWxsZXJGcmFtZVNraXBwaW5nVk1FbnRyeVNlbnRpbmVsKCk7
Ci0gICAgcmV0dXJuIGdldFRvcE9mRnJhbWUoY2FsbGVyRnJhbWUpOwotfQorI2lmIEVOQUJMRShM
TElOVF9DX0xPT1ApCiAKLWlubGluZSBib29sIEpTU3RhY2s6OmVudHJ5Q2hlY2soY2xhc3MgQ29k
ZUJsb2NrKiBjb2RlQmxvY2ssIGludCBhcmdzQ291bnQpCitpbmxpbmUgUmVnaXN0ZXIqIEpTU3Rh
Y2s6OnRvcE9mRnJhbWVGb3IoQ2FsbEZyYW1lKiBmcmFtZSkKIHsKLSAgICBSZWdpc3Rlciogb2xk
RW5kID0gZ2V0VG9wT2ZTdGFjaygpOwotCi0gICAgLy8gRW5zdXJlIHRoYXQgd2UgaGF2ZSBlbm91
Z2ggc3BhY2UgZm9yIHRoZSBwYXJhbWV0ZXJzOgotICAgIHNpemVfdCBwYWRkZWRBcmdzQ291bnQg
PSBhcmdzQ291bnQ7Ci0gICAgaWYgKGNvZGVCbG9jaykgewotICAgICAgICBzaXplX3QgbnVtUGFy
YW1ldGVycyA9IGNvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpOwotICAgICAgICBpZiAocGFkZGVk
QXJnc0NvdW50IDwgbnVtUGFyYW1ldGVycykKLSAgICAgICAgICAgIHBhZGRlZEFyZ3NDb3VudCA9
IG51bVBhcmFtZXRlcnM7Ci0gICAgfQotCi0gICAgUmVnaXN0ZXIqIG5ld0NhbGxGcmFtZVNsb3Qg
PSBvbGRFbmQgLSBwYWRkZWRBcmdzQ291bnQgLSAoMiAqIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRl
clNpemUpICsgMTsKLQotI2lmIEVOQUJMRShERUJVR19KU1NUQUNLKQotICAgIG5ld0NhbGxGcmFt
ZVNsb3QgLT0gSlNTdGFjazo6RmVuY2VTaXplOworI2lmIEVOQUJMRShMTElOVF9DX0xPT1ApCisg
ICAgaWYgKFVOTElLRUxZKCFmcmFtZSkpCisgICAgICAgIHJldHVybiBiYXNlT2ZTdGFjaygpOwog
I2VuZGlmCi0KLSAgICBSZWdpc3RlciogbmV3RW5kID0gbmV3Q2FsbEZyYW1lU2xvdDsKLSAgICBp
ZiAoISFjb2RlQmxvY2spCi0gICAgICAgIG5ld0VuZCArPSB2aXJ0dWFsUmVnaXN0ZXJGb3JMb2Nh
bChjb2RlQmxvY2stPmZyYW1lUmVnaXN0ZXJDb3VudCgpKS5vZmZzZXQoKTsKLQotICAgIC8vIEVu
c3VyZSB0aGF0IHdlIGhhdmUgdGhlIG5lZWRlZCBzdGFjayBjYXBhY2l0eSB0byBwdXNoIHRoZSBu
ZXcgZnJhbWU6Ci0gICAgaWYgKCFncm93KG5ld0VuZCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBmcmFtZS0+dG9wT2ZGcmFtZSgpIC0gMTsK
IH0KIAotaW5saW5lIENhbGxGcmFtZSogSlNTdGFjazo6cHVzaEZyYW1lKGNsYXNzIENvZGVCbG9j
ayogY29kZUJsb2NrLCBKU1Njb3BlKiBzY29wZSwgaW50IGFyZ3NDb3VudCwgSlNPYmplY3QqIGNh
bGxlZSkKK2lubGluZSBSZWdpc3RlciogSlNTdGFjazo6dG9wT2ZTdGFjaygpCiB7Ci0gICAgQVNT
RVJUKCEhc2NvcGUpOwotICAgIFJlZ2lzdGVyKiBvbGRFbmQgPSBnZXRUb3BPZlN0YWNrKCk7Ci0K
LSAgICAvLyBFbnN1cmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBzcGFjZSBmb3IgdGhlIHBhcmFtZXRl
cnM6Ci0gICAgc2l6ZV90IHBhZGRlZEFyZ3NDb3VudCA9IGFyZ3NDb3VudDsKLSAgICBpZiAoY29k
ZUJsb2NrKSB7Ci0gICAgICAgIHNpemVfdCBudW1QYXJhbWV0ZXJzID0gY29kZUJsb2NrLT5udW1Q
YXJhbWV0ZXJzKCk7Ci0gICAgICAgIGlmIChwYWRkZWRBcmdzQ291bnQgPCBudW1QYXJhbWV0ZXJz
KQotICAgICAgICAgICAgcGFkZGVkQXJnc0NvdW50ID0gbnVtUGFyYW1ldGVyczsKLSAgICB9Ci0K
LSAgICBSZWdpc3RlciogbmV3Q2FsbEZyYW1lU2xvdCA9IG9sZEVuZCAtIHBhZGRlZEFyZ3NDb3Vu
dCAtICgyICogSlNTdGFjazo6Q2FsbEZyYW1lSGVhZGVyU2l6ZSkgKyAxOwotCi0jaWYgRU5BQkxF
KERFQlVHX0pTU1RBQ0spCi0gICAgbmV3Q2FsbEZyYW1lU2xvdCAtPSBKU1N0YWNrOjpGZW5jZVNp
emU7Ci0jZW5kaWYKLQotICAgIFJlZ2lzdGVyKiBuZXdFbmQgPSBuZXdDYWxsRnJhbWVTbG90Owot
ICAgIGlmICghIWNvZGVCbG9jaykKLSAgICAgICAgbmV3RW5kICs9IHZpcnR1YWxSZWdpc3RlckZv
ckxvY2FsKGNvZGVCbG9jay0+ZnJhbWVSZWdpc3RlckNvdW50KCkpLm9mZnNldCgpOwotCi0gICAg
Ly8gRW5zdXJlIHRoYXQgd2UgaGF2ZSB0aGUgbmVlZGVkIHN0YWNrIGNhcGFjaXR5IHRvIHB1c2gg
dGhlIG5ldyBmcmFtZToKLSAgICBpZiAoIWdyb3cobmV3RW5kKSkKLSAgICAgICAgcmV0dXJuIDA7
Ci0KLSAgICAvLyBDb21wdXRlIHRoZSBhZGRyZXNzIG9mIHRoZSBuZXcgVk0gc2VudGluZWwgZnJh
bWUgZm9yIHRoaXMgaW52b2NhdGlvbjoKLSAgICBDYWxsRnJhbWUqIG5ld1ZNRW50cnlTZW50aW5l
bEZyYW1lID0gQ2FsbEZyYW1lOjpjcmVhdGUobmV3Q2FsbEZyYW1lU2xvdCArIHBhZGRlZEFyZ3ND
b3VudCArIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUpOwotICAgIEFTU0VSVCghIW5ld1ZN
RW50cnlTZW50aW5lbEZyYW1lKTsKLQotICAgIC8vIENvbXB1dGUgdGhlIGFkZHJlc3Mgb2YgdGhl
IG5ldyBmcmFtZSBmb3IgdGhpcyBpbnZvY2F0aW9uOgotICAgIENhbGxGcmFtZSogbmV3Q2FsbEZy
YW1lID0gQ2FsbEZyYW1lOjpjcmVhdGUobmV3Q2FsbEZyYW1lU2xvdCk7Ci0gICAgQVNTRVJUKCEh
bmV3Q2FsbEZyYW1lKTsKLQotICAgIC8vIFRoZSBjYWxsZXIgZnJhbWUgc2hvdWxkIGFsd2F5cyBi
ZSB0aGUgcmVhbCBwcmV2aW91cyBmcmFtZSBvbiB0aGUgc3RhY2ssCi0gICAgLy8gYW5kIG5vdCBh
IHBvdGVudGlhbCBHbG9iYWxFeGVjIHRoYXQgd2FzIHBhc3NlZCBpbi4gUG9pbnQgY2FsbGVyRnJh
bWUgdG8KLSAgICAvLyB0aGUgdG9wIGZyYW1lIG9uIHRoZSBzdGFjay4KLSAgICBDYWxsRnJhbWUq
IGNhbGxlckZyYW1lID0gbV90b3BDYWxsRnJhbWU7Ci0KLSAgICAvLyBJbml0aWFsaXplIHRoZSBW
TSBzZW50aW5lbCBmcmFtZSBoZWFkZXI6Ci0gICAgbmV3Vk1FbnRyeVNlbnRpbmVsRnJhbWUtPmlu
aXRpYWxpemVWTUVudHJ5U2VudGluZWxGcmFtZShjYWxsZXJGcmFtZSk7Ci0KLSAgICAvLyBJbml0
aWFsaXplIHRoZSBjYWxsZWUgZnJhbWUgaGVhZGVyOgotICAgIG5ld0NhbGxGcmFtZS0+aW5pdChj
b2RlQmxvY2ssIDAsIHNjb3BlLCBuZXdWTUVudHJ5U2VudGluZWxGcmFtZSwgYXJnc0NvdW50LCBj
YWxsZWUpOwotCi0gICAgQVNTRVJUKCEhbmV3Q2FsbEZyYW1lLT5zY29wZSgpKTsKLQotICAgIC8v
IFBhZCBhZGRpdGlvbmFsIGFyZ3MgaWYgbmVlZGVkOgotICAgIC8vIE5vdGU6IHdlIG5lZWQgdG8g
c3VidHJhY3QgMSBmcm9tIGFyZ3NDb3VudCBhbmQgcGFkZGVkQXJnc0NvdW50IHRvCi0gICAgLy8g
ZXhjbHVkZSB0aGUgdGhpcyBwb2ludGVyLgotICAgIGZvciAoc2l6ZV90IGkgPSBhcmdzQ291bnQt
MTsgaSA8IHBhZGRlZEFyZ3NDb3VudC0xOyArK2kpCi0gICAgICAgIG5ld0NhbGxGcmFtZS0+c2V0
QXJndW1lbnQoaSwganNVbmRlZmluZWQoKSk7Ci0KLSAgICBpbnN0YWxsRmVuY2UobmV3Q2FsbEZy
YW1lLCBfX0ZVTkNUSU9OX18sIF9fTElORV9fKTsKLSAgICB2YWxpZGF0ZUZlbmNlKG5ld0NhbGxG
cmFtZSwgX19GVU5DVElPTl9fLCBfX0xJTkVfXyk7Ci0gICAgaW5zdGFsbFRyYXBzQWZ0ZXJGcmFt
ZShuZXdDYWxsRnJhbWUpOwotCi0gICAgLy8gUHVzaCB0aGUgbmV3IGZyYW1lOgotICAgIG1fdG9w
Q2FsbEZyYW1lID0gbmV3Q2FsbEZyYW1lOwotCi0gICAgcmV0dXJuIG5ld0NhbGxGcmFtZTsKKyAg
ICByZXR1cm4gdG9wT2ZGcmFtZUZvcihtX3RvcENhbGxGcmFtZSk7CiB9CiAKLWlubGluZSB2b2lk
IEpTU3RhY2s6OnBvcEZyYW1lKENhbGxGcmFtZSogZnJhbWUpCi17Ci0gICAgdmFsaWRhdGVGZW5j
ZShmcmFtZSwgX19GVU5DVElPTl9fLCBfX0xJTkVfXyk7Ci0KLSAgICAvLyBQb3Agb2ZmIHRoZSBj
YWxsZWUgZnJhbWUgYW5kIHRoZSBzZW50aW5lbCBmcmFtZS4KLSAgICBDYWxsRnJhbWUqIGNhbGxl
ckZyYW1lID0gZnJhbWUtPmNhbGxlckZyYW1lKCktPnZtRW50cnlTZW50aW5lbENhbGxlckZyYW1l
KCk7Ci0KLSAgICAvLyBQb3AgdG8gdGhlIGNhbGxlcjoKLSAgICBtX3RvcENhbGxGcmFtZSA9IGNh
bGxlckZyYW1lOwotCi0gICAgLy8gSWYgd2UgYXJlIHBvcHBpbmcgdGhlIHZlcnkgZmlyc3QgZnJh
bWUgZnJvbSB0aGUgc3RhY2sgaS5lLiBubyBtb3JlCi0gICAgLy8gZnJhbWVzIGJlZm9yZSB0aGlz
LCB0aGVuIHdlIGNhbiBub3cgc2FmZWx5IHNocmluayB0aGUgc3RhY2suIEluCi0gICAgLy8gdGhp
cyBjYXNlLCB3ZSdyZSBzaHJpbmtpbmcgYWxsIHRoZSB3YXkgdG8gdGhlIGJlZ2lubmluZyBzaW5j
ZSB0aGVyZQotICAgIC8vIGFyZSBubyBtb3JlIGZyYW1lcyBvbiB0aGUgc3RhY2suCi0gICAgaWYg
KCFjYWxsZXJGcmFtZSkKLSAgICAgICAgc2hyaW5rKGdldEJhc2VPZlN0YWNrKCkpOwotCi0gICAg
aW5zdGFsbFRyYXBzQWZ0ZXJGcmFtZShjYWxsZXJGcmFtZSk7Ci19Ci0KLWlubGluZSB2b2lkIEpT
U3RhY2s6OnNocmluayhSZWdpc3RlciogbmV3RW5kKQoraW5saW5lIHZvaWQgSlNTdGFjazo6c2hy
aW5rKFJlZ2lzdGVyKiBuZXdUb3BPZlN0YWNrKQogeworICAgIFJlZ2lzdGVyKiBuZXdFbmQgPSBu
ZXdUb3BPZlN0YWNrIC0gMTsKICAgICBpZiAobmV3RW5kID49IG1fZW5kKQogICAgICAgICByZXR1
cm47Ci0gICAgdXBkYXRlU3RhY2tMaW1pdChuZXdFbmQpOwotICAgIGlmIChtX2VuZCA9PSBnZXRC
YXNlT2ZTdGFjaygpICYmIChtX2NvbW1pdEVuZCAtIGdldEJhc2VPZlN0YWNrKCkpID49IG1heEV4
Y2Vzc0NhcGFjaXR5KQorICAgIHNldFN0YWNrTGltaXQobmV3VG9wT2ZTdGFjayk7CisgICAgLy8g
Tm90ZTogQ2xhbmcgY29tcGxhaW5zIG9mIGFuIHVucmVzb2x2ZWQgbGlua2FnZSB0byBtYXhFeGNl
c3NDYXBhY2l0eSBpZgorICAgIC8vIGludm9rZSBzdGQ6Om1heCgpIHdpdGggaXQgYXMgYW4gYXJn
dW1lbnQuIFRvIHdvcmsgYXJvdW5kIHRoaXMsIHdlIGZpcnN0CisgICAgLy8gYXNzaWduIHRoZSBj
b25zdGFudCB0byBhIGxvY2FsIHZhcmlhYmxlLCBhbmQgdXNlIHRoZSBsb2NhbCBpbnN0ZWFkLgor
ICAgIHB0cmRpZmZfdCBtYXhFeGNlc3NDYXBhY2l0eSA9IEpTU3RhY2s6Om1heEV4Y2Vzc0NhcGFj
aXR5OworICAgIHB0cmRpZmZfdCBtYXhFeGNlc3NJblJlZ2lzdGVycyA9IHN0ZDo6bWF4KG1heEV4
Y2Vzc0NhcGFjaXR5LCBtX3Jlc2VydmVkWm9uZVNpemVJblJlZ2lzdGVycyk7CisgICAgaWYgKG1f
ZW5kID09IGJhc2VPZlN0YWNrKCkgJiYgKGhpZ2hBZGRyZXNzKCkgLSBtX2NvbW1pdFRvcCkgPj0g
bWF4RXhjZXNzSW5SZWdpc3RlcnMpCiAgICAgICAgIHJlbGVhc2VFeGNlc3NDYXBhY2l0eSgpOwog
fQogCi1pbmxpbmUgYm9vbCBKU1N0YWNrOjpncm93KFJlZ2lzdGVyKiBuZXdFbmQpCitpbmxpbmUg
Ym9vbCBKU1N0YWNrOjpncm93KFJlZ2lzdGVyKiBuZXdUb3BPZlN0YWNrKQogeworICAgIFJlZ2lz
dGVyKiBuZXdFbmQgPSBuZXdUb3BPZlN0YWNrIC0gMTsKICAgICBpZiAobmV3RW5kID49IG1fZW5k
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICByZXR1cm4gZ3Jvd1Nsb3dDYXNlKG5ld0VuZCk7
CisgICAgcmV0dXJuIGdyb3dTbG93Q2FzZShuZXdUb3BPZlN0YWNrKTsKIH0KIAotaW5saW5lIHZv
aWQgSlNTdGFjazo6dXBkYXRlU3RhY2tMaW1pdChSZWdpc3RlciogbmV3RW5kKQoraW5saW5lIHZv
aWQgSlNTdGFjazo6c2V0U3RhY2tMaW1pdChSZWdpc3RlciogbmV3VG9wT2ZTdGFjaykKIHsKKyAg
ICBSZWdpc3RlciogbmV3RW5kID0gbmV3VG9wT2ZTdGFjayAtIDE7CiAgICAgbV9lbmQgPSBuZXdF
bmQ7Ci0jaWYgVVNFKFNFUEFSQVRFX0NfQU5EX0pTX1NUQUNLKQotICAgIG1fdm0uc2V0SlNTdGFj
a0xpbWl0KG5ld0VuZCk7CisjaWYgRU5BQkxFKExMSU5UX0NfTE9PUCkKKyAgICBtX3ZtLnNldEpT
U3RhY2tMaW1pdChuZXdUb3BPZlN0YWNrKTsKICNlbmRpZgogfQogCi0jaWYgRU5BQkxFKERFQlVH
X0pTU1RBQ0spCi1pbmxpbmUgSlNWYWx1ZSBKU1N0YWNrOjpnZW5lcmF0ZUZlbmNlVmFsdWUoc2l6
ZV90IGFyZ0luZGV4KQotewotICAgIHVuc2lnbmVkIGZlbmNlQml0cyA9IDB4ZmFjZWJhZDAgfCAo
KGFyZ0luZGV4KzEpICYgMHhmKTsKLSAgICBKU1ZhbHVlIGZlbmNlVmFsdWUgPSBKU1ZhbHVlKGZl
bmNlQml0cyk7Ci0gICAgcmV0dXJuIGZlbmNlVmFsdWU7Ci19Ci0KLS8vIFRoZSBKU1N0YWNrIGZl
bmNlcyBtZWNoYW5pc20gd29ya3MgYXMgZm9sbG93czoKLS8vIDEuIEEgZmVuY2UgaXMgYSBudW1i
ZXIgKEpTU3RhY2s6OkZlbmNlU2l6ZSkgb2YgSlNWYWx1ZXMgdGhhdCBhcmUgaW5pdGlhbGl6ZWQK
LS8vICAgIHdpdGggdmFsdWVzIGdlbmVyYXRlZCBieSBKU1N0YWNrOjpnZW5lcmF0ZUZlbmNlVmFs
dWUoKS4KLS8vIDIuIFdoZW4gcHVzaEZyYW1lKCkgaXMgY2FsbGVkLCB0aGUgZmVuY2UgaXMgaW5z
dGFsbGVkIGFmdGVyIHRoZSBtYXggZXh0ZW50Ci0vLyAgICBvZiB0aGUgcHJldmlvdXMgdG9wQ2Fs
bEZyYW1lIGFuZCB0aGUgbGFzdCBhcmcgb2YgdGhlIG5ldyBmcmFtZToKLS8vCi0vLyAgICAgICAg
ICAgICAgICAgICAgIHwgLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLS8v
ICAgICAgICAgICAgICAgICAgICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tfAotLy8gICAgICAgICAgICAgICAgICAgICB8IEZyYW1lIEhlYWRlciBvZiBwcmV2aW91cyBm
cmFtZSAgICAgICB8Ci0vLyAgICAgICAgICAgICAgICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLXwKLS8vICAgIHRvcENhbGxGcmFtZSAtLT4gfCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotLy8gICAgICAgICAgICAgICAgICAgICB8IExv
Y2FscyBvZiBwcmV2aW91cyBmcmFtZSAgICAgICAgICAgICB8Ci0vLyAgICAgICAgICAgICAgICAg
ICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKLS8vICAgICAgICAg
ICAgICAgICAgICAgfCAqKiogdGhlIEZlbmNlICoqKiAgICAgICAgICAgICAgICAgICAgfAotLy8g
ICAgICAgICAgICAgICAgICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS18Ci0vLyAgICAgICAgICAgICAgICAgICAgIHwgVk0gZW50cnkgc2VudGluZWwgZnJhbWUgaGVh
ZGVyICAgICAgIHwKLS8vICAgICAgICAgICAgICAgICAgICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tfAotLy8gICAgICAgICAgICAgICAgICAgICB8IEFyZ3Mgb2YgbmV3
IGZyYW1lICAgICAgICAgICAgICAgICAgICB8Ci0vLyAgICAgICAgICAgICAgICAgICAgIHwtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKLS8vICAgICAgICAgICAgICAgICAg
ICAgfCBGcmFtZSBIZWFkZXIgb2YgbmV3IGZyYW1lICAgICAgICAgICAgfAotLy8gICAgICAgICAg
ICAgICAgICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18Ci0vLyAg
ICAgICAgICAgZnJhbWUgLS0+IHwgTG9jYWxzIG9mIG5ldyBmcmFtZSAgICAgICAgICAgICAgICAg
IHwKLS8vICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfAotLy8KLS8vIDMuIEluIHBvcEZyYW1lKCkgYW5kIGVsc2V3aGVyZSwgd2UgY2Fu
IGNhbGwgSlNTdGFjazo6dmFsaWRhdGVGZW5jZSgpIHRvCi0vLyAgICBhc3NlcnQgdGhhdCB0aGUg
ZmVuY2UgY29udGFpbnMgdGhlIHZhbHVlcyB3ZSBleHBlY3QuCi0KLWlubGluZSB2b2lkIEpTU3Rh
Y2s6Omluc3RhbGxGZW5jZShDYWxsRnJhbWUqIGZyYW1lLCBjb25zdCBjaGFyICpmdW5jdGlvbiwg
aW50IGxpbmVObykKLXsKLSAgICBVTlVTRURfUEFSQU0oZnVuY3Rpb24pOwotICAgIFVOVVNFRF9Q
QVJBTShsaW5lTm8pOwotICAgIFJlZ2lzdGVyKiBzdGFydE9mRnJhbWUgPSBnZXRTdGFydE9mRnJh
bWUoZnJhbWUpOwotCi0gICAgLy8gVGhlIGxhc3QgYXJnSW5kZXggaXMgYXQ6Ci0gICAgc2l6ZV90
IG1heEluZGV4ID0gZnJhbWUtPmFyZ0luZGV4Rm9yUmVnaXN0ZXIoc3RhcnRPZkZyYW1lKSArIDE7
Ci0gICAgc2l6ZV90IHN0YXJ0SW5kZXggPSBtYXhJbmRleCAtIEZlbmNlU2l6ZTsKLSAgICBmb3Ig
KHNpemVfdCBpID0gc3RhcnRJbmRleDsgaSA8IG1heEluZGV4OyArK2kpIHsKLSAgICAgICAgSlNW
YWx1ZSBmZW5jZVZhbHVlID0gZ2VuZXJhdGVGZW5jZVZhbHVlKGkpOwotICAgICAgICBmcmFtZS0+
c2V0QXJndW1lbnQoaSwgZmVuY2VWYWx1ZSk7Ci0gICAgfQotfQotCi1pbmxpbmUgdm9pZCBKU1N0
YWNrOjp2YWxpZGF0ZUZlbmNlKENhbGxGcmFtZSogZnJhbWUsIGNvbnN0IGNoYXIgKmZ1bmN0aW9u
LCBpbnQgbGluZU5vKQotewotICAgIFVOVVNFRF9QQVJBTShmdW5jdGlvbik7Ci0gICAgVU5VU0VE
X1BBUkFNKGxpbmVObyk7Ci0gICAgQVNTRVJUKCEhZnJhbWUtPnNjb3BlKCkpOwotICAgIFJlZ2lz
dGVyKiBzdGFydE9mRnJhbWUgPSBnZXRTdGFydE9mRnJhbWUoZnJhbWUpOwotICAgIHNpemVfdCBt
YXhJbmRleCA9IGZyYW1lLT5hcmdJbmRleEZvclJlZ2lzdGVyKHN0YXJ0T2ZGcmFtZSkgKyAxOwot
ICAgIHNpemVfdCBzdGFydEluZGV4ID0gbWF4SW5kZXggLSBGZW5jZVNpemU7Ci0gICAgZm9yIChz
aXplX3QgaSA9IHN0YXJ0SW5kZXg7IGkgPCBtYXhJbmRleDsgKytpKSB7Ci0gICAgICAgIEpTVmFs
dWUgZmVuY2VWYWx1ZSA9IGdlbmVyYXRlRmVuY2VWYWx1ZShpKTsKLSAgICAgICAgSlNWYWx1ZSBh
Y3R1YWxWYWx1ZSA9IGZyYW1lLT5nZXRBcmd1bWVudFVuc2FmZShpKTsKLSAgICAgICAgQVNTRVJU
KGZlbmNlVmFsdWUgPT0gYWN0dWFsVmFsdWUpOwotICAgIH0KLX0KLQotLy8gV2hlbiBkZWJ1Z2dp
bmcgdGhlIEpTU3RhY2ssIHdlIGluc3RhbGwgYmFkIHZhbHVlcyBhZnRlciB0aGUgZXh0ZW50IG9m
IHRoZQotLy8gdG9wQ2FsbEZyYW1lIGF0IHRoZSBlbmQgb2YgcHVzaEZyYW1lKCkgYW5kIHBvcEZy
YW1lKCkuIFRoZSBpbnRlbnRpb24gaXMKLS8vIHRvIHRyaWdnZXIgY3Jhc2hlcyBpbiB0aGUgZXZl
bnQgdGhhdCBtZW1vcnkgaW4gdGhpcyBzdXBwb3NlZGx5IHVudXNlZAotLy8gcmVnaW9uIGlzIHJl
YWQgYW5kIGNvbnN1bWVkIHdpdGhvdXQgcHJvcGVyIGluaXRpYWxpemF0aW9uLiBBZnRlciB0aGUg
dHJhcAotLy8gd29yZHMgYXJlIGluc3RhbGxlZCwgdGhlIHN0YWNrIGxvb2tzIGxpa2UgdGhpczoK
LS8vCi0vLyAgICAgICAgICAgICAgICAgICAgIHwgLi4uICAgICAgICAgICAgICAgICAgICAgICAg
IHwKLS8vICAgICAgICAgICAgICAgICAgICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
fAotLy8gICAgICAgICAgICAgICAgICAgICB8IEZyYW1lIEhlYWRlciBvZiBmcmFtZSAgICAgICB8
Ci0vLyAgICAgICAgICAgICAgICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwK
LS8vICAgIHRvcENhbGxGcmFtZSAtLT4gfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAot
Ly8gICAgICAgICAgICAgICAgICAgICB8IExvY2FscyBvZiBmcmFtZSAgICAgICAgICAgICB8Ci0v
LyAgICAgICAgICAgICAgICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKLS8v
ICAgICAgICAgICAgICAgICAgICAgfCAqKiogVHJhcCB3b3JkcyAqKiogICAgICAgICAgfAotLy8g
ICAgICAgICAgICAgICAgICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18Ci0vLyAg
ICAgICAgICAgICAgICAgICAgIHwgVW51c2VkIHNwYWNlIC4uLiAgICAgICAgICAgIHwKLS8vICAg
ICAgICAgICAgICAgICAgICAgfCAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgfAotCi1pbmxp
bmUgdm9pZCBKU1N0YWNrOjppbnN0YWxsVHJhcHNBZnRlckZyYW1lKENhbGxGcmFtZSogZnJhbWUp
Ci17Ci0gICAgUmVnaXN0ZXIqIHRvcE9mRnJhbWUgPSBnZXRUb3BPZkZyYW1lKGZyYW1lKTsKLSAg
ICBjb25zdCBpbnQgc2l6ZU9mVHJhcCA9IDY0OwotICAgIGludDMyX3QqIHN0YXJ0T2ZUcmFwID0g
cmVpbnRlcnByZXRfY2FzdDxpbnQzMl90Kj4odG9wT2ZGcmFtZSk7Ci0gICAgaW50MzJfdCogZW5k
T2ZUcmFwID0gc3RhcnRPZlRyYXAgLSBzaXplT2ZUcmFwOwotICAgIGludDMyX3QqIGVuZE9mQ29t
bWl0ZWRNZW1vcnkgPSByZWludGVycHJldF9jYXN0PGludDMyX3QqPihtX2NvbW1pdEVuZCk7Ci0K
LSAgICAvLyBNYWtlIHN1cmUgd2UncmUgbm90IGV4Y2VlZGluZyB0aGUgYW1vdW50IG9mIGF2YWls
YWJsZSBtZW1vcnkgdG8gd3JpdGUgdG86Ci0gICAgaWYgKGVuZE9mVHJhcCA8IGVuZE9mQ29tbWl0
ZWRNZW1vcnkpCi0gICAgICAgIGVuZE9mVHJhcCA9IGVuZE9mQ29tbWl0ZWRNZW1vcnk7Ci0KLSAg
ICAvLyBMYXkgdGhlIHRyYXBzOgotICAgIGludDMyX3QqIHAgPSBzdGFydE9mVHJhcDsKLSAgICB3
aGlsZSAocCA+IGVuZE9mVHJhcCkKLSAgICAgICAgKnAtLSA9IDB4YWJhZGNhZmU7IC8vIEEgYmFk
IHdvcmQgdG8gdHJpZ2dlciBhIGNyYXNoIGlmIGRlcmVmJ2VkLgotfQotI2VuZGlmIC8vIEVOQUJM
RShERUJVR19KU1NUQUNLKQorI2VuZGlmIC8vIEVOQUJMRShMTElOVF9DX0xPT1ApCiAKIH0gLy8g
bmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvUHJvdG9DYWxsRnJhbWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL1Byb3RvQ2FsbEZyYW1lLmNwcAppbmRleCBhMzYwMDE0Mzc4MTEwZDNlNDcyMGY4MGVlYTMz
NzZjN2E4NDNkN2Y5Li5mMGUwMmJhNGU0NzZmOTljYzkxM2IwNDYyYWQyNzk1MDA2MDlmYTNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUHJvdG9DYWxsRnJh
bWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9Qcm90b0NhbGxG
cmFtZS5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJQcm90b0NhbGxGcmFtZS5oIgog
CiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCisjaW5jbHVkZSAiU3RhY2tBbGlnbm1lbnQuaCIKIAog
bmFtZXNwYWNlIEpTQyB7CiAKQEAgLTQzLDcgKzQ0LDkgQEAgdm9pZCBQcm90b0NhbGxGcmFtZTo6
aW5pdChDb2RlQmxvY2sqIGNvZGVCbG9jaywgSlNTY29wZSogc2NvcGUsIEpTT2JqZWN0KiBjYWxs
ZWUKICAgICAgICAgaWYgKHBhZGRlZEFyZ3NDb3VudCA8IG51bVBhcmFtZXRlcnMpCiAgICAgICAg
ICAgICBwYWRkZWRBcmdzQ291bnQgPSBudW1QYXJhbWV0ZXJzOwogICAgIH0KLSAgICB0aGlzLT5z
ZXRQYWRkZWRBcmdzQ291bnQocGFkZGVkQXJnc0NvdW50KTsKKyAgICAvLyBSb3VuZCB1cCBwYWRk
ZWRBcmdzQ291bnQgdG8ga2VlcCB0aGUgc3RhY2sgZnJhbWUgc2l6ZSBhbGlnbmVkLgorICAgIHBh
ZGRlZEFyZ3NDb3VudCA9IHJvdW5kQXJndW1lbnRDb3VudFRvQWxpZ25GcmFtZShwYWRkZWRBcmdz
Q291bnQpOworICAgIHRoaXMtPnNldFBhZGRlZEFyZ0NvdW50KHBhZGRlZEFyZ3NDb3VudCk7CiAg
ICAgdGhpcy0+Y2xlYXJDdXJyZW50VlBDKCk7CiAgICAgdGhpcy0+c2V0VGhpc1ZhbHVlKHRoaXNW
YWx1ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
UHJvdG9DYWxsRnJhbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9Qcm90
b0NhbGxGcmFtZS5oCmluZGV4IGI3MTUxZWVmZmM1ZGNjYWEwMjAwOTc3MzA2YzcxYThlODdiYTk5
Y2IuLjU2MTI4NmIzZjliNTRiYTVhOTQ1YmIwYjA2ZDBhNWVjZDk0M2U2MzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9Qcm90b0NhbGxGcmFtZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9Qcm90b0NhbGxGcmFtZS5oCkBAIC01
Myw3ICs1Myw3IEBAIHN0cnVjdCBQcm90b0NhbGxGcmFtZSB7CiAgICAgaW50IGFyZ3VtZW50Q291
bnRJbmNsdWRpbmdUaGlzKCkgY29uc3QgeyByZXR1cm4gYXJnQ291bnRBbmRDb2RlT3JpZ2luVmFs
dWUucGF5bG9hZCgpOyB9CiAgICAgaW50IGFyZ3VtZW50Q291bnQoKSBjb25zdCB7IHJldHVybiBh
cmd1bWVudENvdW50SW5jbHVkaW5nVGhpcygpIC0gMTsgfQogICAgIHZvaWQgc2V0QXJndW1lbnRD
b3VudEluY2x1ZGluZ1RoaXMoaW50IGNvdW50KSB7IGFyZ0NvdW50QW5kQ29kZU9yaWdpblZhbHVl
LnBheWxvYWQoKSA9IGNvdW50OyB9Ci0gICAgdm9pZCBzZXRQYWRkZWRBcmdzQ291bnQoc2l6ZV90
IGFyZ0NvdW50KSB7IHBhZGRlZEFyZ0NvdW50ID0gYXJnQ291bnQ7IH0KKyAgICB2b2lkIHNldFBh
ZGRlZEFyZ0NvdW50KHNpemVfdCBhcmdDb3VudCkgeyBwYWRkZWRBcmdDb3VudCA9IGFyZ0NvdW50
OyB9CiAKICAgICB2b2lkIGNsZWFyQ3VycmVudFZQQygpIHsgYXJnQ291bnRBbmRDb2RlT3JpZ2lu
VmFsdWUudGFnKCkgPSAwOyB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0FyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwZWIx
YjY1Zjc3YzNlY2I3N2IwZTM5NWE0NjdlNGJhMWVkMTg2ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0FyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmNwcApA
QCAtMCwwICsxLDEzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQXJpdHlDaGVja0ZhaWxSZXR1
cm5UaHVua3MuaCIKKworI2lmIEVOQUJMRShKSVQpCisKKyNpbmNsdWRlICJBc3NlbWJseUhlbHBl
cnMuaCIKKyNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCisjaW5jbHVkZSAiU3RhY2tBbGlnbm1lbnQu
aCIKKworbmFtZXNwYWNlIEpTQyB7CisKK0FyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzOjpBcml0
eUNoZWNrRmFpbFJldHVyblRodW5rcygpCisgICAgOiBtX25leHRTaXplKDApCit7Cit9CisKK0Fy
aXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzOjp+QXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MoKSB7
IH0KKworQ29kZUxvY2F0aW9uTGFiZWwqIEFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzOjpyZXR1
cm5QQ3NGb3IoCisgICAgVk0mIHZtLCB1bnNpZ25lZCBudW1FeHBlY3RlZEFyZ3VtZW50c0luY2x1
ZGluZ1RoaXMpCit7CisgICAgQVNTRVJUKG51bUV4cGVjdGVkQXJndW1lbnRzSW5jbHVkaW5nVGhp
cyA+PSAxKTsKKyAgICAKKyAgICBudW1FeHBlY3RlZEFyZ3VtZW50c0luY2x1ZGluZ1RoaXMgPSBX
VEY6OnJvdW5kVXBUb011bHRpcGxlT2YoCisgICAgICAgIHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJz
KCksIG51bUV4cGVjdGVkQXJndW1lbnRzSW5jbHVkaW5nVGhpcyk7CisgICAgCisgICAgeworICAg
ICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xvY2spOworICAgICAgICBpZiAobnVt
RXhwZWN0ZWRBcmd1bWVudHNJbmNsdWRpbmdUaGlzIDwgbV9uZXh0U2l6ZSkKKyAgICAgICAgICAg
IHJldHVybiBtX3JldHVyblBDQXJyYXlzLmxhc3QoKS5nZXQoKTsKKyAgICB9CisgICAgCisgICAg
QVNTRVJUKCFpc0NvbXBpbGF0aW9uVGhyZWFkKCkpOworICAgIAorICAgIG51bUV4cGVjdGVkQXJn
dW1lbnRzSW5jbHVkaW5nVGhpcyA9IHN0ZDo6bWF4KAorICAgICAgICBudW1FeHBlY3RlZEFyZ3Vt
ZW50c0luY2x1ZGluZ1RoaXMsCisgICAgICAgIG1fbmV4dFNpemUgKiAyKTsKKyAgICAKKyAgICBB
c3NlbWJseUhlbHBlcnMgaml0KCZ2bSwgMCk7CisgICAgCisgICAgVmVjdG9yPEFzc2VtYmx5SGVs
cGVyczo6TGFiZWw+IGxhYmVsczsKKyAgICAKKyAgICBmb3IgKHVuc2lnbmVkIHNpemUgPSBtX25l
eHRTaXplOyBzaXplIDw9IG51bUV4cGVjdGVkQXJndW1lbnRzSW5jbHVkaW5nVGhpczsgc2l6ZSAr
PSBzdGFja0FsaWdubWVudFJlZ2lzdGVycygpKSB7CisgICAgICAgIGxhYmVscy5hcHBlbmQoaml0
LmxhYmVsKCkpOworICAgICAgICAKKyAgICAgICAgaml0LmxvYWQzMigKKyAgICAgICAgICAgIEFz
c2VtYmx5SGVscGVyczo6QWRkcmVzcygKKyAgICAgICAgICAgICAgICBBc3NlbWJseUhlbHBlcnM6
OnN0YWNrUG9pbnRlclJlZ2lzdGVyLAorICAgICAgICAgICAgICAgIChKU1N0YWNrOjpBcmd1bWVu
dENvdW50IC0gSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUpICogc2l6ZW9mKFJlZ2lzdGVy
KSArCisgICAgICAgICAgICAgICAgUGF5bG9hZE9mZnNldCksCisgICAgICAgICAgICBHUFJJbmZv
OjpyZWdUNCk7CisgICAgICAgIGppdC5hZGQzMigKKyAgICAgICAgICAgIEFzc2VtYmx5SGVscGVy
czo6VHJ1c3RlZEltbTMyKAorICAgICAgICAgICAgICAgIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRl
clNpemUgLSBKU1N0YWNrOjpDYWxsZXJGcmFtZUFuZFBDU2l6ZSArIHNpemUgLSAxKSwKKyAgICAg
ICAgICAgIEdQUkluZm86OnJlZ1Q0LCBHUFJJbmZvOjpyZWdUMik7CisgICAgICAgIGppdC5sc2hp
ZnQzMihBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW0zMigzKSwgR1BSSW5mbzo6cmVnVDIpOwor
ICAgICAgICBqaXQuYWRkUHRyKEFzc2VtYmx5SGVscGVyczo6c3RhY2tQb2ludGVyUmVnaXN0ZXIs
IEdQUkluZm86OnJlZ1QyKTsKKyAgICAgICAgaml0LmxvYWRQdHIoR1BSSW5mbzo6cmVnVDIsIEdQ
UkluZm86OnJlZ1QyKTsKKyAgICAgICAgCisgICAgICAgIGppdC5hZGRQdHIoCisgICAgICAgICAg
ICBBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW0zMihzaXplICogc2l6ZW9mKFJlZ2lzdGVyKSks
CisgICAgICAgICAgICBBc3NlbWJseUhlbHBlcnM6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKyAg
ICAgICAgCisgICAgICAgIC8vIFRodW5rcyBsaWtlIG91cnMgd2FudCB0byB1c2UgdGhlIHJldHVy
biBQQyB0byBmaWd1cmUgb3V0IHdoZXJlIHRoaW5ncworICAgICAgICAvLyB3ZXJlIHNhdmVkLiBT
bywgd2UgcGF5IGl0IGZvcndhcmQuCisgICAgICAgIGppdC5zdG9yZTMyKAorICAgICAgICAgICAg
R1BSSW5mbzo6cmVnVDQsCisgICAgICAgICAgICBBc3NlbWJseUhlbHBlcnM6OkFkZHJlc3MoCisg
ICAgICAgICAgICAgICAgQXNzZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3RlciwKKyAg
ICAgICAgICAgICAgICAoSlNTdGFjazo6QXJndW1lbnRDb3VudCAtIEpTU3RhY2s6OkNhbGxlckZy
YW1lQW5kUENTaXplKSAqIHNpemVvZihSZWdpc3RlcikgKworICAgICAgICAgICAgICAgIFBheWxv
YWRPZmZzZXQpKTsKKyAgICAgICAgCisgICAgICAgIGppdC5qdW1wKEdQUkluZm86OnJlZ1QyKTsK
KyAgICB9CisgICAgCisgICAgTGlua0J1ZmZlciBsaW5rQnVmZmVyKHZtLCAmaml0LCBHTE9CQUxf
VEhVTktfSUQpOworICAgIAorICAgIHVuc2lnbmVkIHJldHVyblBDc1NpemUgPSBudW1FeHBlY3Rl
ZEFyZ3VtZW50c0luY2x1ZGluZ1RoaXMgLyBzdGFja0FsaWdubWVudFJlZ2lzdGVycygpICsgMTsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8Q29kZUxvY2F0aW9uTGFiZWxbXT4gcmV0dXJuUENzID0KKyAg
ICAgICAgc3RkOjptYWtlX3VuaXF1ZTxDb2RlTG9jYXRpb25MYWJlbFtdPihyZXR1cm5QQ3NTaXpl
KTsKKyAgICBmb3IgKHVuc2lnbmVkIHNpemUgPSAwOyBzaXplIDw9IG51bUV4cGVjdGVkQXJndW1l
bnRzSW5jbHVkaW5nVGhpczsgc2l6ZSArPSBzdGFja0FsaWdubWVudFJlZ2lzdGVycygpKSB7Cisg
ICAgICAgIHVuc2lnbmVkIGluZGV4ID0gc2l6ZSAvIHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCk7
CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGluZGV4IDwgcmV0dXJuUENzU2l6ZSk7CisgICAgICAg
IGlmIChzaXplIDwgbV9uZXh0U2l6ZSkKKyAgICAgICAgICAgIHJldHVyblBDc1tpbmRleF0gPSBt
X3JldHVyblBDQXJyYXlzLmxhc3QoKVtpbmRleF07CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHJldHVyblBDc1tpbmRleF0gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2YobGFiZWxzWyhzaXplIC0g
bV9uZXh0U2l6ZSkgLyBzdGFja0FsaWdubWVudFJlZ2lzdGVycygpXSk7CisgICAgfQorCisgICAg
Q29kZUxvY2F0aW9uTGFiZWwqIHJlc3VsdCA9IHJldHVyblBDcy5nZXQoKTsKKworICAgIHsKKyAg
ICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9sb2NrKTsKKyAgICAgICAgbV9yZXR1
cm5QQ0FycmF5cy5hcHBlbmQoc3RkOjptb3ZlKHJldHVyblBDcykpOworICAgICAgICBtX3JlZnMu
YXBwZW5kKEZJTkFMSVpFX0NPREUobGlua0J1ZmZlciwgKCJBcml0eSBjaGVjayBmYWlsIHJldHVy
biB0aHVua3MgZm9yIHVwIHRvIG51bUFyZ3MgPSAldSIsIG51bUV4cGVjdGVkQXJndW1lbnRzSW5j
bHVkaW5nVGhpcykpKTsKKyAgICAgICAgbV9uZXh0U2l6ZSA9IG51bUV4cGVjdGVkQXJndW1lbnRz
SW5jbHVkaW5nVGhpcyArIHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCk7CisgICAgfQorICAgIAor
ICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0NvZGVMb2NhdGlvbkxhYmVsIEFyaXR5Q2hlY2tGYWls
UmV0dXJuVGh1bmtzOjpyZXR1cm5QQ0ZvcihWTSYgdm0sIHVuc2lnbmVkIHNsb3RzVG9BZGQpCit7
CisgICAgcmV0dXJuIHJldHVyblBDc0Zvcih2bSwgc2xvdHNUb0FkZClbc2xvdHNUb0FkZCAvIHN0
YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCldOworfQorCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2Vu
ZGlmIC8vIEVOQUJMRShKSVQpCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMmQwMzQxMzkxY2M0
MjU0N2VhMDYxYzRiOTEwNDY3NzQ1NzQ0NmYwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9Bcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5oCkBAIC0wLDAgKzEs
NTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lm
bmRlZiBBcml0eUNoZWNrRmFpbFJldHVyblRodW5rc19oCisjZGVmaW5lIEFyaXR5Q2hlY2tGYWls
UmV0dXJuVGh1bmtzX2gKKworI2lmIEVOQUJMRShKSVQpCisKKyNpbmNsdWRlICJDb2RlTG9jYXRp
b24uaCIKKyNpbmNsdWRlICJDb25jdXJyZW50SklUTG9jay5oIgorI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBBcml0eUNoZWNrRmFpbFJldHVyblRo
dW5rcyB7CitwdWJsaWM6CisgICAgQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MoKTsKKyAgICB+
QXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MoKTsKKyAgICAKKyAgICAvLyBSZXR1cm5zIGEgcG9p
bnRlciB0byBhbiBhcnJheSBvZiByZXR1cm4gbGFiZWxzIGluZGV4ZWQgYnkgbWlzc2luZ0FyZ3Mu
CisgICAgQ29kZUxvY2F0aW9uTGFiZWwqIHJldHVyblBDc0ZvcihWTSYsIHVuc2lnbmVkIG51bUV4
cGVjdGVkQXJndW1lbnRzSW5jbHVkaW5nVGhpcyk7CisgICAgCisgICAgQ29kZUxvY2F0aW9uTGFi
ZWwgcmV0dXJuUENGb3IoVk0mLCB1bnNpZ25lZCBzbG90c1RvQWRkKTsKKyAgICAKK3ByaXZhdGU6
CisgICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxDb2RlTG9jYXRpb25MYWJlbFtdPj4gbV9yZXR1
cm5QQ0FycmF5czsKKyAgICB1bnNpZ25lZCBtX25leHRTaXplOworICAgIFZlY3RvcjxNYWNyb0Fz
c2VtYmxlckNvZGVSZWY+IG1fcmVmczsKKyAgICBDb25jdXJyZW50SklUTG9jayBtX2xvY2s7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEVOQUJMRShKSVQpCisKKyNlbmRp
ZiAvLyBBcml0eUNoZWNrRmFpbFJldHVyblRodW5rc19oCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmNwcAppbmRleCBkZGYxZDYzNTkyMWJkNWQ1MzIzZmZl
Y2M4MWE3ZmRmODM2MmJjNjM2Li5kZDM2OTE3NWVlYzMwYmU0ZmJhODEzMTk1NjlkZWY3YTQ0OTlj
Yzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVy
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3Bw
CkBAIC0xMTAsNiArMTEwLDE3IEBAIHZvaWQgQXNzZW1ibHlIZWxwZXJzOjpqaXRBc3NlcnRJc0Nl
bGwoR1BSUmVnIGdwcikKICAgICBicmVha3BvaW50KCk7CiAgICAgY2hlY2tDZWxsLmxpbmsodGhp
cyk7CiB9CisKK3ZvaWQgQXNzZW1ibHlIZWxwZXJzOjpqaXRBc3NlcnRUYWdzSW5QbGFjZSgpCit7
CisgICAgSnVtcCBvayA9IGJyYW5jaDY0KEVxdWFsLCBHUFJJbmZvOjp0YWdUeXBlTnVtYmVyUmVn
aXN0ZXIsIFRydXN0ZWRJbW02NChUYWdUeXBlTnVtYmVyKSk7CisgICAgYnJlYWtwb2ludCgpOwor
ICAgIG9rLmxpbmsodGhpcyk7CisgICAgCisgICAgb2sgPSBicmFuY2g2NChFcXVhbCwgR1BSSW5m
bzo6dGFnTWFza1JlZ2lzdGVyLCBUcnVzdGVkSW1tNjQoVGFnTWFzaykpOworICAgIGJyZWFrcG9p
bnQoKTsKKyAgICBvay5saW5rKHRoaXMpOworfQogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKIHZv
aWQgQXNzZW1ibHlIZWxwZXJzOjpqaXRBc3NlcnRJc0ludDMyKEdQUlJlZyBncHIpCiB7CkBAIC0x
NDUsNiArMTU2LDEwIEBAIHZvaWQgQXNzZW1ibHlIZWxwZXJzOjpqaXRBc3NlcnRJc0NlbGwoR1BS
UmVnIGdwcikKICAgICBicmVha3BvaW50KCk7CiAgICAgY2hlY2tDZWxsLmxpbmsodGhpcyk7CiB9
CisKK3ZvaWQgQXNzZW1ibHlIZWxwZXJzOjpqaXRBc3NlcnRUYWdzSW5QbGFjZSgpCit7Cit9CiAj
ZW5kaWYgLy8gVVNFKEpTVkFMVUUzMl82NCkKIAogdm9pZCBBc3NlbWJseUhlbHBlcnM6OmppdEFz
c2VydEhhc1ZhbGlkQ2FsbEZyYW1lKCkKQEAgLTE2MCw2ICsxNzUsMTMgQEAgdm9pZCBBc3NlbWJs
eUhlbHBlcnM6OmppdEFzc2VydElzTnVsbChHUFJSZWcgZ3ByKQogICAgIGJyZWFrcG9pbnQoKTsK
ICAgICBjaGVja051bGwubGluayh0aGlzKTsKIH0KKwordm9pZCBBc3NlbWJseUhlbHBlcnM6Ompp
dEFzc2VydEFyZ3VtZW50Q291bnRTYW5lKCkKK3sKKyAgICBKdW1wIG9rID0gYnJhbmNoMzIoQmVs
b3csIHBheWxvYWRGb3IoSlNTdGFjazo6QXJndW1lbnRDb3VudCksIFRydXN0ZWRJbW0zMigxMDAw
MDAwMCkpOworICAgIGJyZWFrcG9pbnQoKTsKKyAgICBvay5saW5rKHRoaXMpOworfQogI2VuZGlm
IC8vICFBU1NFUlRfRElTQUJMRUQKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaAppbmRleCAzNmQ1ODMxMzkxMzQ1NmQ3NDE0
MTA3NTUxODM5N2ZmMmI2ODc0MTliLi42NWNiNzM5YTM1YzY3OTdiMzA2YjNkNWY5MDFlNDU5MjIx
NTVkMjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVs
cGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgK
QEAgLTU4LDggKzU4LDM2IEBAIHB1YmxpYzoKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jaygpIHsg
cmV0dXJuIG1fY29kZUJsb2NrOyB9CiAgICAgVk0qIHZtKCkgeyByZXR1cm4gbV92bTsgfQogICAg
IEFzc2VtYmxlclR5cGVfVCYgYXNzZW1ibGVyKCkgeyByZXR1cm4gbV9hc3NlbWJsZXI7IH0KLSAg
ICAKKworICAgIHZvaWQgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoKQorICAgIHsKKyAgICAg
ICAgLy8gVGhpcyBjaGVjayBpcyBib3RoIHVubmVlZGVkIGFuZCBoYXJkZXIgdG8gd3JpdGUgY29y
cmVjdGx5IGZvciBBUk02NAorI2lmICFkZWZpbmVkKE5ERUJVRykgJiYgIUNQVShBUk02NCkKKyAg
ICAgICAgSnVtcCBzdGFja1BvaW50ZXJBbGlnbmVkID0gYnJhbmNoVGVzdFB0cihaZXJvLCBzdGFj
a1BvaW50ZXJSZWdpc3RlciwgVHJ1c3RlZEltbTMyKDB4ZikpOworICAgICAgICBicmVha3BvaW50
KCk7CisgICAgICAgIHN0YWNrUG9pbnRlckFsaWduZWQubGluayh0aGlzKTsKKyNlbmRpZgorICAg
IH0KKwogI2lmIENQVShYODZfNjQpIHx8IENQVShYODYpCisgICAgc2l6ZV90IHByb2xvZ3VlU3Rh
Y2tQb2ludGVyRGVsdGEoKQorICAgIHsKKyAgICAgICAgLy8gUHJvbG9ndWUgb25seSBzYXZlcyB0
aGUgZnJhbWVQb2ludGVyUmVnaXN0ZXIKKyAgICAgICAgcmV0dXJuIHNpemVvZih2b2lkKik7Cisg
ICAgfQorCisgICAgdm9pZCBlbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpCisgICAgeworICAgICAgICBw
dXNoKGZyYW1lUG9pbnRlclJlZ2lzdGVyKTsKKyAgICAgICAgbW92ZShzdGFja1BvaW50ZXJSZWdp
c3RlciwgZnJhbWVQb2ludGVyUmVnaXN0ZXIpOworICAgIH0KKworICAgIHZvaWQgZW1pdEZ1bmN0
aW9uRXBpbG9ndWUoKQorICAgIHsKKyAgICAgICAgbW92ZShmcmFtZVBvaW50ZXJSZWdpc3Rlciwg
c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgICAgICBwb3AoZnJhbWVQb2ludGVyUmVnaXN0ZXIp
OworICAgIH0KKwogICAgIHZvaWQgcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKEdQUlJl
ZyByZWcpCiAgICAgewogICAgICAgICBwb3AocmVnKTsKQEAgLTc3LDYgKzEwNSwyNCBAQCBwdWJs
aWM6CiAjZW5kaWYgLy8gQ1BVKFg4Nl82NCkgfHwgQ1BVKFg4NikKIAogI2lmIENQVShBUk0pIHx8
IENQVShBUk02NCkKKyAgICBzaXplX3QgcHJvbG9ndWVTdGFja1BvaW50ZXJEZWx0YSgpCisgICAg
eworICAgICAgICAvLyBQcm9sb2d1ZSBzYXZlcyB0aGUgZnJhbWVQb2ludGVyUmVnaXN0ZXIgYW5k
IGxpbmtSZWdpc3RlcgorICAgICAgICByZXR1cm4gMiAqIHNpemVvZih2b2lkKik7CisgICAgfQor
CisgICAgdm9pZCBlbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpCisgICAgeworICAgICAgICBwdXNoUGFp
cihmcmFtZVBvaW50ZXJSZWdpc3RlciwgbGlua1JlZ2lzdGVyKTsKKyAgICAgICAgbW92ZShzdGFj
a1BvaW50ZXJSZWdpc3RlciwgZnJhbWVQb2ludGVyUmVnaXN0ZXIpOworICAgIH0KKworICAgIHZv
aWQgZW1pdEZ1bmN0aW9uRXBpbG9ndWUoKQorICAgIHsKKyAgICAgICAgbW92ZShmcmFtZVBvaW50
ZXJSZWdpc3Rlciwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgICAgICBwb3BQYWlyKGZyYW1l
UG9pbnRlclJlZ2lzdGVyLCBsaW5rUmVnaXN0ZXIpOworICAgIH0KKwogICAgIEFMV0FZU19JTkxJ
TkUgdm9pZCBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwoUmVnaXN0ZXJJRCByZWcpCiAg
ICAgewogICAgICAgICBtb3ZlKGxpbmtSZWdpc3RlciwgcmVnKTsKQEAgLTk0LDYgKzE0MCwxMiBA
QCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIENQVShNSVBTKQorICAgIHNpemVfdCBwcm9sb2d1ZVN0
YWNrUG9pbnRlckRlbHRhKCkKKyAgICB7CisgICAgICAgIC8vIFByb2xvZ3VlIHNhdmVzIHRoZSBm
cmFtZVBvaW50ZXJSZWdpc3RlciBhbmQgcmV0dXJuQWRkcmVzc1JlZ2lzdGVyCisgICAgICAgIHJl
dHVybiAyICogc2l6ZW9mKHZvaWQqKTsKKyAgICB9CisKICAgICBBTFdBWVNfSU5MSU5FIHZvaWQg
cHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKFJlZ2lzdGVySUQgcmVnKQogICAgIHsKICAg
ICAgICAgbW92ZShyZXR1cm5BZGRyZXNzUmVnaXN0ZXIsIHJlZyk7CkBAIC0xMTEsNiArMTYzLDEy
IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgQ1BVKFNINCkKKyAgICBzaXplX3QgcHJvbG9ndWVT
dGFja1BvaW50ZXJEZWx0YSgpCisgICAgeworICAgICAgICAvLyBQcm9sb2d1ZSBzYXZlcyB0aGUg
ZnJhbWVQb2ludGVyUmVnaXN0ZXIgYW5kIGxpbmsgcmVnaXN0ZXIKKyAgICAgICAgcmV0dXJuIDIg
KiBzaXplb2Yodm9pZCopOworICAgIH0KKwogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBwcmVzZXJ2
ZVJldHVybkFkZHJlc3NBZnRlckNhbGwoUmVnaXN0ZXJJRCByZWcpCiAgICAgewogICAgICAgICBt
X2Fzc2VtYmxlci5zdHNwcihyZWcpOwpAQCAtMTUwLDEwICsyMDgsNiBAQCBwdWJsaWM6CiAgICAg
ICAgIHN0b3JlUHRyKGZyb20sIEFkZHJlc3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIENh
bGxGcmFtZTo6Y2FsbGVyRnJhbWVPZmZzZXQoKSkpOwogICAgIH0KIAotICAgIHZvaWQgZW1pdEdl
dFJldHVyblBDRnJvbUNhbGxGcmFtZUhlYWRlclB0cihSZWdpc3RlcklEIHRvKQotICAgIHsKLSAg
ICAgICAgbG9hZFB0cihBZGRyZXNzKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBDYWxsRnJh
bWU6OnJldHVyblBDT2Zmc2V0KCkpLCB0byk7Ci0gICAgfQogICAgIHZvaWQgZW1pdFB1dFJldHVy
blBDVG9DYWxsRnJhbWVIZWFkZXIoUmVnaXN0ZXJJRCBmcm9tKQogICAgIHsKICAgICAgICAgc3Rv
cmVQdHIoZnJvbSwgQWRkcmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgQ2FsbEZyYW1l
OjpyZXR1cm5QQ09mZnNldCgpKSk7CkBAIC0xNjMsNiArMjE3LDI5IEBAIHB1YmxpYzoKICAgICAg
ICAgc3RvcmVQdHIoZnJvbSwgQWRkcmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgQ2Fs
bEZyYW1lOjpyZXR1cm5QQ09mZnNldCgpKSk7CiAgICAgfQogCisgICAgLy8gZW1pdFB1dFRvQ2Fs
bEZyYW1lSGVhZGVyQmVmb3JlUHJvbG9ndWUoKSBhbmQgcmVsYXRlZCBhcmUgdXNlZCB0byBhY2Nl
c3MgY2FsbGVlIGZyYW1lIGhlYWRlcgorICAgIC8vIGZpZWxkcyBiZWZvcmUgdGhlIGNvZGUgZnJv
bSBlbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpIGhhcyBleGVjdXRlZC4KKyAgICAvLyBGaXJzdCwgdGhl
IGFjY2VzcyBpcyB2aWEgdGhlIHN0YWNrIHBvaW50ZXIuIFNlY29uZCwgdGhlIGFkZHJlc3MgY2Fs
Y3VsYXRpb24gbXVzdCBhbHNvIHRha2UKKyAgICAvLyBpbnRvIGFjY291bnQgdGhhdCB0aGUgc3Rh
Y2sgcG9pbnRlciBtYXkgbm90IGhhdmUgYmVlbiBhZGp1c3RlZCBkb3duIGZvciB0aGUgcmV0dXJu
IFBDIGFuZC9vcgorICAgIC8vIGNhbGxlcidzIGZyYW1lIHBvaW50ZXIuIE9uIHNvbWUgcGxhdGZv
cm1zLCB0aGUgY2FsbGVlIGlzIHJlc3BvbnNpYmxlIGZvciBwdXNoaW5nIHRoZQorICAgIC8vICJs
aW5rIHJlZ2lzdGVyIiBjb250YWluaW5nIHRoZSByZXR1cm4gYWRkcmVzcyBpbiB0aGUgZnVuY3Rp
b24gcHJvbG9ndWUuCisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICB2b2lkIGVtaXRQdXRUb0NhbGxG
cmFtZUhlYWRlckJlZm9yZVByb2xvZ3VlKEdQUlJlZyBmcm9tLCBKU1N0YWNrOjpDYWxsRnJhbWVI
ZWFkZXJFbnRyeSBlbnRyeSkKKyAgICB7CisgICAgICAgIHN0b3JlUHRyKGZyb20sIEFkZHJlc3Mo
c3RhY2tQb2ludGVyUmVnaXN0ZXIsIGVudHJ5ICogc3RhdGljX2Nhc3Q8cHRyZGlmZl90PihzaXpl
b2YoUmVnaXN0ZXIpKSAtIHByb2xvZ3VlU3RhY2tQb2ludGVyRGVsdGEoKSkpOworICAgIH0KKyNl
bHNlCisgICAgdm9pZCBlbWl0UHV0UGF5bG9hZFRvQ2FsbEZyYW1lSGVhZGVyQmVmb3JlUHJvbG9n
dWUoR1BSUmVnIGZyb20sIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlckVudHJ5IGVudHJ5KQorICAg
IHsKKyAgICAgICAgc3RvcmVQdHIoZnJvbSwgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3Rlciwg
ZW50cnkgKiBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihSZWdpc3RlcikpIC0gcHJvbG9n
dWVTdGFja1BvaW50ZXJEZWx0YSgpICsgT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2Ny
aXB0b3IsIGFzQml0cy5wYXlsb2FkKSkpOworICAgIH0KKworICAgIHZvaWQgZW1pdFB1dFRhZ1Rv
Q2FsbEZyYW1lSGVhZGVyQmVmb3JlUHJvbG9ndWUoVHJ1c3RlZEltbTMyIHRhZywgSlNTdGFjazo6
Q2FsbEZyYW1lSGVhZGVyRW50cnkgZW50cnkpCisgICAgeworICAgICAgICBzdG9yZVB0cih0YWcs
IEFkZHJlc3Moc3RhY2tQb2ludGVyUmVnaXN0ZXIsIGVudHJ5ICogc3RhdGljX2Nhc3Q8cHRyZGlm
Zl90PihzaXplb2YoUmVnaXN0ZXIpKSAtIHByb2xvZ3VlU3RhY2tQb2ludGVyRGVsdGEoKSArIE9C
SkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMudGFnKSkpOworICAg
IH0KKyNlbmRpZgorCiAgICAgSnVtcCBicmFuY2hJZk5vdENlbGwoR1BSUmVnIHJlZykKICAgICB7
CiAjaWYgVVNFKEpTVkFMVUU2NCkKQEAgLTE5NCw3ICsyNzEsNyBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIEFkZHJlc3MgdGFnRm9yKFZpcnR1YWxSZWdpc3RlciB2aXJ0dWFsUmVnaXN0ZXIpCiAgICAg
ewogICAgICAgICBBU1NFUlQodmlydHVhbFJlZ2lzdGVyLmlzVmFsaWQoKSk7Ci0gICAgICAgIHJl
dHVybiBBZGRyZXNzKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCB2aXJ0dWFsUmVnaXN0ZXIu
b2Zmc2V0KCkgKiBzaXplb2YoUmVnaXN0ZXIpICsgT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1
ZURlc2NyaXB0b3IsIGFzQml0cy50YWcpKTsKKyAgICAgICAgcmV0dXJuIEFkZHJlc3MoR1BSSW5m
bzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIHZpcnR1YWxSZWdpc3Rlci5vZmZzZXQoKSAqIHNpemVvZihS
ZWdpc3RlcikgKyBUYWdPZmZzZXQpOwogICAgIH0KICAgICBzdGF0aWMgQWRkcmVzcyB0YWdGb3Io
aW50IG9wZXJhbmQpCiAgICAgewpAQCAtMjA0LDcgKzI4MSw3IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgQWRkcmVzcyBwYXlsb2FkRm9yKFZpcnR1YWxSZWdpc3RlciB2aXJ0dWFsUmVnaXN0ZXIpCiAg
ICAgewogICAgICAgICBBU1NFUlQodmlydHVhbFJlZ2lzdGVyLmlzVmFsaWQoKSk7Ci0gICAgICAg
IHJldHVybiBBZGRyZXNzKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCB2aXJ0dWFsUmVnaXN0
ZXIub2Zmc2V0KCkgKiBzaXplb2YoUmVnaXN0ZXIpICsgT0JKRUNUX09GRlNFVE9GKEVuY29kZWRW
YWx1ZURlc2NyaXB0b3IsIGFzQml0cy5wYXlsb2FkKSk7CisgICAgICAgIHJldHVybiBBZGRyZXNz
KEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCB2aXJ0dWFsUmVnaXN0ZXIub2Zmc2V0KCkgKiBz
aXplb2YoUmVnaXN0ZXIpICsgUGF5bG9hZE9mZnNldCk7CiAgICAgfQogICAgIHN0YXRpYyBBZGRy
ZXNzIHBheWxvYWRGb3IoaW50IG9wZXJhbmQpCiAgICAgewpAQCAtMjk4LDYgKzM3NSw4IEBAIHB1
YmxpYzoKICAgICB2b2lkIGppdEFzc2VydElzQ2VsbChHUFJSZWcpOwogICAgIHZvaWQgaml0QXNz
ZXJ0SGFzVmFsaWRDYWxsRnJhbWUoKTsKICAgICB2b2lkIGppdEFzc2VydElzTnVsbChHUFJSZWcp
OworICAgIHZvaWQgaml0QXNzZXJ0VGFnc0luUGxhY2UoKTsKKyAgICB2b2lkIGppdEFzc2VydEFy
Z3VtZW50Q291bnRTYW5lKCk7CiAjZWxzZQogICAgIHZvaWQgaml0QXNzZXJ0SXNJbnQzMihHUFJS
ZWcpIHsgfQogICAgIHZvaWQgaml0QXNzZXJ0SXNKU0ludDMyKEdQUlJlZykgeyB9CkBAIC0zMDYs
NiArMzg1LDggQEAgcHVibGljOgogICAgIHZvaWQgaml0QXNzZXJ0SXNDZWxsKEdQUlJlZykgeyB9
CiAgICAgdm9pZCBqaXRBc3NlcnRIYXNWYWxpZENhbGxGcmFtZSgpIHsgfQogICAgIHZvaWQgaml0
QXNzZXJ0SXNOdWxsKEdQUlJlZykgeyB9CisgICAgdm9pZCBqaXRBc3NlcnRUYWdzSW5QbGFjZSgp
IHsgfQorICAgIHZvaWQgaml0QXNzZXJ0QXJndW1lbnRDb3VudFNhbmUoKSB7IH0KICNlbmRpZgog
CiAgICAgLy8gVGhlc2UgbWV0aG9kcyBjb252ZXJ0IGJldHdlZW4gZG91YmxlcywgYW5kIGRvdWJs
ZXMgYm94ZWQgYW5kIEpTVmFsdWVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9DQ2FsbEhlbHBlcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxw
ZXJzLmgKaW5kZXggODM2NTczYmUxZGY4MDc5MmZlODMwMGJiNTAwNzJmOTZhMzJhNDE5MC4uZDRh
NzVlY2EyMTY4MjU3ZWZiZjUwODY4ZGZhNmY5M2IwMjdlNWE0ZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0NDYWxsSGVscGVycy5oCkBAIC05NSw2ICs5NSwxMyBAQCBwdWJsaWM6CiAgICAg
ICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKICAgICB9CiAgICAgCisgICAgQUxXQVlTX0lOTElO
RSB2b2lkIHNldHVwQXJndW1lbnRzKFRydXN0ZWRJbW1QdHIgYXJnMSwgR1BSUmVnIGFyZzIpCisg
ICAgeworICAgICAgICByZXNldENhbGxBcmd1bWVudHMoKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3Vt
ZW50KGFyZzEpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMik7CisgICAgfQorICAgIAog
ICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50cyhHUFJSZWcgYXJnMSwgR1BSUmVn
IGFyZzIsIEdQUlJlZyBhcmczKQogICAgIHsKICAgICAgICAgcmVzZXRDYWxsQXJndW1lbnRzKCk7
CkBAIC05MzksNiArOTQ2LDEyIEBAIHB1YmxpYzoKICAgICAgICAgbW92ZShhcmcxLCBHUFJJbmZv
Ojphcmd1bWVudEdQUjApOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFy
Z3VtZW50cyhUcnVzdGVkSW1tUHRyIGFyZzEsIEdQUlJlZyBhcmcyKQorICAgIHsKKyAgICAgICAg
bW92ZShhcmcyLCBHUFJJbmZvOjphcmd1bWVudEdQUjEpOworICAgICAgICBtb3ZlKGFyZzEsIEdQ
UkluZm86OmFyZ3VtZW50R1BSMCk7CisgICAgfQorICAgIAogICAgIEFMV0FZU19JTkxJTkUgdm9p
ZCBzZXR1cEFyZ3VtZW50cyhHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIpCiAgICAgewogICAgICAg
ICBzZXR1cFR3b1N0dWJBcmdzR1BSPEdQUkluZm86OmFyZ3VtZW50R1BSMCwgR1BSSW5mbzo6YXJn
dW1lbnRHUFIxPihhcmcxLCBhcmcyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9F
eGVjdXRhYmxlQWxsb2NhdG9yLmgKaW5kZXggMDFiZTdjMWFhZWQ2MTM3NTBkNzg5Y2ZlZmU5YTI5
MDMwMTRjYmZjYS4uNTVmOWU3NzQ2NGEwMDkxM2JmMjkyNzBjZmMxYmI2ZTk1NDc0MGNjMiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKQEAg
LTc4LDIxICs3OCw2IEBAIHZvaWQgcmVsZWFzZUV4ZWN1dGFibGVNZW1vcnkoVk0mKTsKIAogc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGppdEFsbG9jYXRpb25HcmFudWxlID0gMzI7CiAKLWlubGluZSBz
aXplX3Qgcm91bmRVcEFsbG9jYXRpb25TaXplKHNpemVfdCByZXF1ZXN0LCBzaXplX3QgZ3JhbnVs
YXJpdHkpCi17Ci0gICAgUkVMRUFTRV9BU1NFUlQoKHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90
Pjo6bWF4KCkgLSBncmFudWxhcml0eSkgPiByZXF1ZXN0KTsKLSAgICAKLSAgICAvLyBSb3VuZCB1
cCB0byBuZXh0IHBhZ2UgYm91bmRhcnkKLSAgICBzaXplX3Qgc2l6ZSA9IHJlcXVlc3QgKyAoZ3Jh
bnVsYXJpdHkgLSAxKTsKLSAgICBzaXplID0gc2l6ZSAmIH4oZ3JhbnVsYXJpdHkgLSAxKTsKLSAg
ICBBU1NFUlQoc2l6ZSA+PSByZXF1ZXN0KTsKLSAgICByZXR1cm4gc2l6ZTsKLX0KLQotfQotCi1u
YW1lc3BhY2UgSlNDIHsKLQogdHlwZWRlZiBXVEY6Ok1ldGFBbGxvY2F0b3JIYW5kbGUgRXhlY3V0
YWJsZU1lbW9yeUhhbmRsZTsKIAogI2lmIEVOQUJMRShBU1NFTUJMRVIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5jcHAKaW5kZXggYzM1MDhiMDFkNzA0NDBkOTliMzIxNzE2Nzc4MzRiNDNhYzgwOGM1
OC4uMjg2MTc0NGEwNWZhZDE5NWM2Mjc1YWE0MDE1MGYzNGJkN2Y4NmRmNCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklULmNwcApAQCAtMzQsNiArMzQsNyBAQAogSlNDOjpNYWNyb0Fzc2VtYmxlclg4
NkNvbW1vbjo6U1NFMkNoZWNrU3RhdGUgSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c19z
c2UyQ2hlY2tTdGF0ZSA9IE5vdENoZWNrZWRTU0UyOwogI2VuZGlmCiAKKyNpbmNsdWRlICJBcml0
eUNoZWNrRmFpbFJldHVyblRodW5rcy5oIgogI2luY2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1
ZGUgIkRGR0NhcGFiaWxpdGllcy5oIgogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCkBAIC00Miwx
MSArNDMsMTMgQEAgSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6U1NFMkNoZWNrU3RhdGUg
SlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c19zc2UKICNpbmNsdWRlICJKU0FycmF5Lmgi
CiAjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkxpbmtCdWZmZXIuaCIKKyNpbmNs
dWRlICJNYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oIgogI2luY2x1ZGUgIk9wZXJhdGlv
bnMuaCIKICNpbmNsdWRlICJSZXBhdGNoQnVmZmVyLmgiCiAjaW5jbHVkZSAiUmVzdWx0VHlwZS5o
IgogI2luY2x1ZGUgIlNhbXBsaW5nVG9vbC5oIgogI2luY2x1ZGUgIlNsb3dQYXRoQ2FsbC5oIgor
I2luY2x1ZGUgIlN0YWNrQWxpZ25tZW50LmgiCiAjaW5jbHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNh
bGx5UmFuZG9tTnVtYmVyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC05OCw2ICsxMDEs
NyBAQCB2b2lkIEpJVDo6ZW1pdEVudGVyT3B0aW1pemF0aW9uQ2hlY2soKQogICAgIEFTU0VSVCgh
bV9ieXRlY29kZU9mZnNldCk7CiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25PcHRpbWl6ZSwg
bV9ieXRlY29kZU9mZnNldCk7CiAgICAgc2tpcE9wdGltaXplLmFwcGVuZChicmFuY2hUZXN0UHRy
KFplcm8sIHJldHVyblZhbHVlR1BSKSk7CisgICAgbW92ZShyZXR1cm5WYWx1ZUdQUjIsIHN0YWNr
UG9pbnRlclJlZ2lzdGVyKTsKICAgICBqdW1wKHJldHVyblZhbHVlR1BSKTsKICAgICBza2lwT3B0
aW1pemUubGluayh0aGlzKTsKIH0KQEAgLTEyOCw2ICsxMzIsOSBAQCB2b2lkIEpJVDo6ZW1pdEVu
dGVyT3B0aW1pemF0aW9uQ2hlY2soKQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFz
cygpCiB7CisgICAgaml0QXNzZXJ0VGFnc0luUGxhY2UoKTsKKyAgICBqaXRBc3NlcnRBcmd1bWVu
dENvdW50U2FuZSgpOworICAgIAogICAgIEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbnNCZWdpbiA9
IG1fY29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigpOwogICAgIHVuc2lnbmVkIGluc3Ry
dWN0aW9uQ291bnQgPSBtX2NvZGVCbG9jay0+aW5zdHJ1Y3Rpb25zKCkuc2l6ZSgpOwogCkBAIC00
OTYsOCArNTAzLDcgQEAgQ29tcGlsYXRpb25SZXN1bHQgSklUOjpwcml2YXRlQ29tcGlsZShKSVRD
b21waWxhdGlvbkVmZm9ydCBlZmZvcnQpCiAgICAgaWYgKG1fcmFuZG9tR2VuZXJhdG9yLmdldFVp
bnQzMigpICYgMSkKICAgICAgICAgbm9wKCk7CiAKLSAgICBwcmVzZXJ2ZVJldHVybkFkZHJlc3NB
ZnRlckNhbGwocmVnVDIpOwotICAgIGVtaXRQdXRSZXR1cm5QQ1RvQ2FsbEZyYW1lSGVhZGVyKHJl
Z1QyKTsKKyAgICBlbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpOwogICAgIGVtaXRQdXRJbW1lZGlhdGVU
b0NhbGxGcmFtZUhlYWRlcihtX2NvZGVCbG9jaywgSlNTdGFjazo6Q29kZUJsb2NrKTsKIAogICAg
IExhYmVsIGJlZ2luTGFiZWwodGhpcyk7CkBAIC01MDcsNyArNTEzLDcgQEAgQ29tcGlsYXRpb25S
ZXN1bHQgSklUOjpwcml2YXRlQ29tcGlsZShKSVRDb21waWxhdGlvbkVmZm9ydCBlZmZvcnQpCiAg
ICAgc2FtcGxlSW5zdHJ1Y3Rpb24obV9jb2RlQmxvY2stPmluc3RydWN0aW9ucygpLmJlZ2luKCkp
OwogI2VuZGlmCiAKLSAgICBKdW1wIHN0YWNrQ2hlY2s7CisgICAgSnVtcCBzdGFja092ZXJmbG93
OwogICAgIGlmIChtX2NvZGVCbG9jay0+Y29kZVR5cGUoKSA9PSBGdW5jdGlvbkNvZGUpIHsKICAg
ICAgICAgQVNTRVJUKG1fYnl0ZWNvZGVPZmZzZXQgPT0gKHVuc2lnbmVkKS0xKTsKICAgICAgICAg
aWYgKHNob3VsZEVtaXRQcm9maWxpbmcoKSkgewpAQCAtNTI3LDEyICs1MzMsMTMgQEAgQ29tcGls
YXRpb25SZXN1bHQgSklUOjpwcml2YXRlQ29tcGlsZShKSVRDb21waWxhdGlvbkVmZm9ydCBlZmZv
cnQpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBhZGRQdHIoVHJ1c3RlZElt
bTMyKHZpcnR1YWxSZWdpc3RlckZvckxvY2FsKGZyYW1lUmVnaXN0ZXJDb3VudEZvcihtX2NvZGVC
bG9jaykpLm9mZnNldCgpICogc2l6ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCBy
ZWdUMSk7Ci0gICAgICAgIHN0YWNrQ2hlY2sgPSBicmFuY2hQdHIoQWJvdmUsIEFic29sdXRlQWRk
cmVzcyhtX3ZtLT5hZGRyZXNzT2ZKU1N0YWNrTGltaXQoKSksIHJlZ1QxKTsKKyAgICAgICAgYWRk
UHRyKFRydXN0ZWRJbW0zMihzdGFja1BvaW50ZXJPZmZzZXRGb3IobV9jb2RlQmxvY2spICogc2l6
ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCByZWdUMSk7CisgICAgICAgIHN0YWNr
T3ZlcmZsb3cgPSBicmFuY2hQdHIoQWJvdmUsIEFic29sdXRlQWRkcmVzcyhtX3ZtLT5hZGRyZXNz
T2ZKU1N0YWNrTGltaXQoKSksIHJlZ1QxKTsKICAgICB9CiAKLSAgICBMYWJlbCBmdW5jdGlvbkJv
ZHkgPSBsYWJlbCgpOwotICAgIAorICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoc3RhY2tQb2ludGVy
T2Zmc2V0Rm9yKG1fY29kZUJsb2NrKSAqIHNpemVvZihSZWdpc3RlcikpLCBjYWxsRnJhbWVSZWdp
c3Rlciwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25t
ZW50KCk7CisKICAgICBwcml2YXRlQ29tcGlsZU1haW5QYXNzKCk7CiAgICAgcHJpdmF0ZUNvbXBp
bGVMaW5rUGFzcygpOwogICAgIHByaXZhdGVDb21waWxlU2xvd0Nhc2VzKCk7CkBAIC01NDIsMTgg
KzU0OSwxNSBAQCBDb21waWxhdGlvblJlc3VsdCBKSVQ6OnByaXZhdGVDb21waWxlKEpJVENvbXBp
bGF0aW9uRWZmb3J0IGVmZm9ydCkKIAogICAgIExhYmVsIGFyaXR5Q2hlY2s7CiAgICAgaWYgKG1f
Y29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSkgewotICAgICAgICBzdGFja0No
ZWNrLmxpbmsodGhpcyk7CisgICAgICAgIHN0YWNrT3ZlcmZsb3cubGluayh0aGlzKTsKICAgICAg
ICAgbV9ieXRlY29kZU9mZnNldCA9IDA7Ci0gICAgICAgIGNhbGxPcGVyYXRpb25XaXRoQ2FsbEZy
YW1lUm9sbGJhY2tPbkV4Y2VwdGlvbihvcGVyYXRpb25TdGFja0NoZWNrLCBtX2NvZGVCbG9jayk7
Ci0jaWZuZGVmIE5ERUJVRwotICAgICAgICBtX2J5dGVjb2RlT2Zmc2V0ID0gKHVuc2lnbmVkKS0x
OyAvLyBSZXNldCB0aGlzLCBpbiBvcmRlciB0byBndWFyZCBpdHMgdXNlIHdpdGggQVNTRVJUcy4K
LSNlbmRpZgotICAgICAgICBqdW1wKGZ1bmN0aW9uQm9keSk7CisgICAgICAgIGlmIChtYXhGcmFt
ZUV4dGVudEZvclNsb3dQYXRoQ2FsbCkKKyAgICAgICAgICAgIGFkZFB0cihUcnVzdGVkSW1tMzIo
LW1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwor
ICAgICAgICBjYWxsT3BlcmF0aW9uV2l0aENhbGxGcmFtZVJvbGxiYWNrT25FeGNlcHRpb24ob3Bl
cmF0aW9uVGhyb3dTdGFja092ZXJmbG93RXJyb3IsIG1fY29kZUJsb2NrKTsKIAogICAgICAgICBh
cml0eUNoZWNrID0gbGFiZWwoKTsKICAgICAgICAgc3RvcmU4KFRydXN0ZWRJbW0zMigwKSwgJm1f
Y29kZUJsb2NrLT5tX3Nob3VsZEFsd2F5c0JlSW5saW5lZCk7Ci0gICAgICAgIHByZXNlcnZlUmV0
dXJuQWRkcmVzc0FmdGVyQ2FsbChyZWdUMik7Ci0gICAgICAgIGVtaXRQdXRSZXR1cm5QQ1RvQ2Fs
bEZyYW1lSGVhZGVyKHJlZ1QyKTsKKyAgICAgICAgZW1pdEZ1bmN0aW9uUHJvbG9ndWUoKTsKICAg
ICAgICAgZW1pdFB1dEltbWVkaWF0ZVRvQ2FsbEZyYW1lSGVhZGVyKG1fY29kZUJsb2NrLCBKU1N0
YWNrOjpDb2RlQmxvY2spOwogCiAgICAgICAgIGxvYWQzMihwYXlsb2FkRm9yKEpTU3RhY2s6OkFy
Z3VtZW50Q291bnQpLCByZWdUMSk7CkBAIC01NjEsMTAgKzU2NSwxNiBAQCBDb21waWxhdGlvblJl
c3VsdCBKSVQ6OnByaXZhdGVDb21waWxlKEpJVENvbXBpbGF0aW9uRWZmb3J0IGVmZm9ydCkKIAog
ICAgICAgICBtX2J5dGVjb2RlT2Zmc2V0ID0gMDsKIAorICAgICAgICBpZiAobWF4RnJhbWVFeHRl
bnRGb3JTbG93UGF0aENhbGwpCisgICAgICAgICAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKC1tYXhG
cmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCksIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKICAgICAg
ICAgY2FsbE9wZXJhdGlvbldpdGhDYWxsRnJhbWVSb2xsYmFja09uRXhjZXB0aW9uKG1fY29kZUJs
b2NrLT5tX2lzQ29uc3RydWN0b3IgPyBvcGVyYXRpb25Db25zdHJ1Y3RBcml0eUNoZWNrIDogb3Bl
cmF0aW9uQ2FsbEFyaXR5Q2hlY2spOworICAgICAgICBpZiAobWF4RnJhbWVFeHRlbnRGb3JTbG93
UGF0aENhbGwpCisgICAgICAgICAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKG1heEZyYW1lRXh0ZW50
Rm9yU2xvd1BhdGhDYWxsKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogICAgICAgICBpZiAocmV0
dXJuVmFsdWVHUFIgIT0gcmVnVDApCiAgICAgICAgICAgICBtb3ZlKHJldHVyblZhbHVlR1BSLCBy
ZWdUMCk7CiAgICAgICAgIGJyYW5jaFRlc3QzMihaZXJvLCByZWdUMCkubGlua1RvKGJlZ2luTGFi
ZWwsIHRoaXMpOworICAgICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIobV92bS0+YXJpdHlDaGVja0Zh
aWxSZXR1cm5UaHVua3MtPnJldHVyblBDc0ZvcigqbV92bSwgbV9jb2RlQmxvY2stPm51bVBhcmFt
ZXRlcnMoKSkpLCByZWdUNSk7CisgICAgICAgIGxvYWRQdHIoQmFzZUluZGV4KHJlZ1Q1LCByZWdU
MCwgdGltZXNQdHIoKSksIHJlZ1Q1KTsKICAgICAgICAgZW1pdE5ha2VkQ2FsbChtX3ZtLT5nZXRD
VElTdHViKGFyaXR5Rml4dXApLmNvZGUoKSk7CiAKICNpZiAhQVNTRVJUX0RJU0FCTEVECkBAIC02
NTMsMjAgKzY2MywxMiBAQCBDb21waWxhdGlvblJlc3VsdCBKSVQ6OnByaXZhdGVDb21waWxlKEpJ
VENvbXBpbGF0aW9uRWZmb3J0IGVmZm9ydCkKICAgICAgICAgaW5mby5jYWxsZWVHUFIgPSByZWdU
MDsKICAgICB9CiAKLSNpZiBFTkFCTEUoREZHX0pJVCkgfHwgRU5BQkxFKExMSU5UKQotICAgIGlm
IChjYW5CZU9wdGltaXplZE9ySW5saW5lZCgpCi0jaWYgRU5BQkxFKExMSU5UKQotICAgICAgICB8
fCB0cnVlCi0jZW5kaWYKLSAgICAgICAgKSB7Ci0gICAgICAgIENvbXBhY3RKSVRDb2RlTWFwOjpF
bmNvZGVyIGppdENvZGVNYXBFbmNvZGVyOwotICAgICAgICBmb3IgKHVuc2lnbmVkIGJ5dGVjb2Rl
T2Zmc2V0ID0gMDsgYnl0ZWNvZGVPZmZzZXQgPCBtX2xhYmVscy5zaXplKCk7ICsrYnl0ZWNvZGVP
ZmZzZXQpIHsKLSAgICAgICAgICAgIGlmIChtX2xhYmVsc1tieXRlY29kZU9mZnNldF0uaXNTZXQo
KSkKLSAgICAgICAgICAgICAgICBqaXRDb2RlTWFwRW5jb2Rlci5hcHBlbmQoYnl0ZWNvZGVPZmZz
ZXQsIHBhdGNoQnVmZmVyLm9mZnNldE9mKG1fbGFiZWxzW2J5dGVjb2RlT2Zmc2V0XSkpOwotICAg
ICAgICB9Ci0gICAgICAgIG1fY29kZUJsb2NrLT5zZXRKSVRDb2RlTWFwKGppdENvZGVNYXBFbmNv
ZGVyLmZpbmlzaCgpKTsKKyAgICBDb21wYWN0SklUQ29kZU1hcDo6RW5jb2RlciBqaXRDb2RlTWFw
RW5jb2RlcjsKKyAgICBmb3IgKHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0ID0gMDsgYnl0ZWNvZGVP
ZmZzZXQgPCBtX2xhYmVscy5zaXplKCk7ICsrYnl0ZWNvZGVPZmZzZXQpIHsKKyAgICAgICAgaWYg
KG1fbGFiZWxzW2J5dGVjb2RlT2Zmc2V0XS5pc1NldCgpKQorICAgICAgICAgICAgaml0Q29kZU1h
cEVuY29kZXIuYXBwZW5kKGJ5dGVjb2RlT2Zmc2V0LCBwYXRjaEJ1ZmZlci5vZmZzZXRPZihtX2xh
YmVsc1tieXRlY29kZU9mZnNldF0pKTsKICAgICB9Ci0jZW5kaWYKKyAgICBtX2NvZGVCbG9jay0+
c2V0SklUQ29kZU1hcChqaXRDb2RlTWFwRW5jb2Rlci5maW5pc2goKSk7CiAKICAgICBNYWNyb0Fz
c2VtYmxlckNvZGVQdHIgd2l0aEFyaXR5Q2hlY2s7CiAgICAgaWYgKG1fY29kZUJsb2NrLT5jb2Rl
VHlwZSgpID09IEZ1bmN0aW9uQ29kZSkKQEAgLTY4Nyw4ICs2ODksNyBAQCBDb21waWxhdGlvblJl
c3VsdCBKSVQ6OnByaXZhdGVDb21waWxlKEpJVENvbXBpbGF0aW9uRWZmb3J0IGVmZm9ydCkKICAg
ICAKICAgICBtX2NvZGVCbG9jay0+c2hyaW5rVG9GaXQoQ29kZUJsb2NrOjpMYXRlU2hyaW5rKTsK
ICAgICBtX2NvZGVCbG9jay0+c2V0SklUQ29kZSgKLSAgICAgICAgYWRvcHRSZWYobmV3IERpcmVj
dEpJVENvZGUocmVzdWx0LCBKSVRDb2RlOjpCYXNlbGluZUpJVCkpLAotICAgICAgICB3aXRoQXJp
dHlDaGVjayk7CisgICAgICAgIGFkb3B0UmVmKG5ldyBEaXJlY3RKSVRDb2RlKHJlc3VsdCwgd2l0
aEFyaXR5Q2hlY2ssIEpJVENvZGU6OkJhc2VsaW5lSklUKSkpOwogICAgIAogI2lmIEVOQUJMRShK
SVRfVkVSQk9TRSkKICAgICBkYXRhTG9nRigiSklUIGdlbmVyYXRlZCBjb2RlIGZvciAlcCBhdCBb
JXAsICVwKS5cbiIsIG1fY29kZUJsb2NrLCByZXN1bHQuZXhlY3V0YWJsZU1lbW9yeSgpLT5zdGFy
dCgpLCByZXN1bHQuZXhlY3V0YWJsZU1lbW9yeSgpLT5lbmQoKSk7CkBAIC02OTcsNDIgKzY5OCw2
IEBAIENvbXBpbGF0aW9uUmVzdWx0IEpJVDo6cHJpdmF0ZUNvbXBpbGUoSklUQ29tcGlsYXRpb25F
ZmZvcnQgZWZmb3J0KQogICAgIHJldHVybiBDb21waWxhdGlvblN1Y2Nlc3NmdWw7CiB9CiAKLXZv
aWQgSklUOjpsaW5rRm9yKEV4ZWNTdGF0ZSogZXhlYywgSlNGdW5jdGlvbiogY2FsbGVlLCBDb2Rl
QmxvY2sqIGNhbGxlckNvZGVCbG9jaywgQ29kZUJsb2NrKiBjYWxsZWVDb2RlQmxvY2ssIEpJVDo6
Q29kZVB0ciBjb2RlLCBDYWxsTGlua0luZm8qIGNhbGxMaW5rSW5mbywgVk0qIHZtLCBDb2RlU3Bl
Y2lhbGl6YXRpb25LaW5kIGtpbmQpCi17Ci0gICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVy
KGNhbGxlckNvZGVCbG9jayk7Ci0KLSAgICBBU1NFUlQoIWNhbGxMaW5rSW5mby0+aXNMaW5rZWQo
KSk7Ci0gICAgY2FsbExpbmtJbmZvLT5jYWxsZWUuc2V0KCp2bSwgY2FsbExpbmtJbmZvLT5ob3RQ
YXRoQmVnaW4sIGNhbGxlckNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCksIGNhbGxlZSk7Ci0g
ICAgY2FsbExpbmtJbmZvLT5sYXN0U2VlbkNhbGxlZS5zZXQoKnZtLCBjYWxsZXJDb2RlQmxvY2st
Pm93bmVyRXhlY3V0YWJsZSgpLCBjYWxsZWUpOwotICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGNh
bGxMaW5rSW5mby0+aG90UGF0aE90aGVyLCBjb2RlKTsKLQotICAgIGlmIChjYWxsZWVDb2RlQmxv
Y2spCi0gICAgICAgIGNhbGxlZUNvZGVCbG9jay0+bGlua0luY29taW5nQ2FsbChleGVjLCBjYWxs
TGlua0luZm8pOwotCi0gICAgLy8gUGF0Y2ggdGhlIHNsb3cgcGF0Y2ggc28gd2UgZG8gbm90IGNv
bnRpbnVlIHRvIHRyeSB0byBsaW5rLgotICAgIGlmIChraW5kID09IENvZGVGb3JDYWxsKSB7Ci0g
ICAgICAgIEFTU0VSVChjYWxsTGlua0luZm8tPmNhbGxUeXBlID09IENhbGxMaW5rSW5mbzo6Q2Fs
bAotICAgICAgICAgICAgICAgfHwgY2FsbExpbmtJbmZvLT5jYWxsVHlwZSA9PSBDYWxsTGlua0lu
Zm86OkNhbGxWYXJhcmdzKTsKLSAgICAgICAgaWYgKGNhbGxMaW5rSW5mby0+Y2FsbFR5cGUgPT0g
Q2FsbExpbmtJbmZvOjpDYWxsKSB7Ci0gICAgICAgICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhj
YWxsTGlua0luZm8tPmNhbGxSZXR1cm5Mb2NhdGlvbiwgdm0tPmdldENUSVN0dWIobGlua0Nsb3N1
cmVDYWxsVGh1bmtHZW5lcmF0b3IpLmNvZGUoKSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIH0KLQotICAgICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhjYWxsTGlua0luZm8tPmNhbGxS
ZXR1cm5Mb2NhdGlvbiwgdm0tPmdldENUSVN0dWIodmlydHVhbENhbGxUaHVua0dlbmVyYXRvciku
Y29kZSgpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIEFTU0VSVChraW5kID09IENv
ZGVGb3JDb25zdHJ1Y3QpOwotICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGNhbGxMaW5rSW5mby0+
Y2FsbFJldHVybkxvY2F0aW9uLCB2bS0+Z2V0Q1RJU3R1Yih2aXJ0dWFsQ29uc3RydWN0VGh1bmtH
ZW5lcmF0b3IpLmNvZGUoKSk7Ci19Ci0KLXZvaWQgSklUOjpsaW5rU2xvd0NhbGwoQ29kZUJsb2Nr
KiBjYWxsZXJDb2RlQmxvY2ssIENhbGxMaW5rSW5mbyogY2FsbExpbmtJbmZvKQotewotICAgIFJl
cGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihjYWxsZXJDb2RlQmxvY2spOwotCi0gICAgcmVwYXRj
aEJ1ZmZlci5yZWxpbmsoY2FsbExpbmtJbmZvLT5jYWxsUmV0dXJuTG9jYXRpb24sIGNhbGxlckNv
ZGVCbG9jay0+dm0oKS0+Z2V0Q1RJU3R1Yih2aXJ0dWFsQ2FsbFRodW5rR2VuZXJhdG9yKS5jb2Rl
KCkpOwotfQotCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVFeGNlcHRpb25IYW5kbGVycygpCiB7
CiAgICAgaWYgKG1fZXhjZXB0aW9uQ2hlY2tzLmVtcHR5KCkgJiYgbV9leGNlcHRpb25DaGVja3NX
aXRoQ2FsbEZyYW1lUm9sbGJhY2suZW1wdHkoKSkKQEAgLTc0Miw3ICs3MDcsNyBAQCB2b2lkIEpJ
VDo6cHJpdmF0ZUNvbXBpbGVFeGNlcHRpb25IYW5kbGVycygpCiAKICAgICBpZiAoIW1fZXhjZXB0
aW9uQ2hlY2tzV2l0aENhbGxGcmFtZVJvbGxiYWNrLmVtcHR5KCkpIHsKICAgICAgICAgbV9leGNl
cHRpb25DaGVja3NXaXRoQ2FsbEZyYW1lUm9sbGJhY2subGluayh0aGlzKTsKLSAgICAgICAgZW1p
dEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRlclB0cihHUFJJbmZvOjphcmd1bWVudEdQ
UjApOworICAgICAgICBlbWl0R2V0Q2FsbGVyRnJhbWVGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEdQ
UkluZm86OmFyZ3VtZW50R1BSMSk7CiAgICAgICAgIGRvTG9va3VwID0ganVtcCgpOwogICAgIH0K
IApAQCAtNzUwLDE5ICs3MTUsMzMgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlRXhjZXB0aW9u
SGFuZGxlcnMoKQogICAgICAgICBtX2V4Y2VwdGlvbkNoZWNrcy5saW5rKHRoaXMpOwogICAgIAog
ICAgIC8vIGxvb2t1cEV4Y2VwdGlvbkhhbmRsZXIgaXMgcGFzc2VkIG9uZSBhcmd1bWVudCwgdGhl
IGV4ZWMgKHRoZSBDYWxsRnJhbWUqKS4KLSAgICBtb3ZlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lz
dGVyLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOworICAgIG1vdmUoR1BSSW5mbzo6Y2FsbEZyYW1l
UmVnaXN0ZXIsIEdQUkluZm86OmFyZ3VtZW50R1BSMSk7CiAKICAgICBpZiAoZG9Mb29rdXAuaXNT
ZXQoKSkKICAgICAgICAgZG9Mb29rdXAubGluayh0aGlzKTsKIAorICAgIG1vdmUoVHJ1c3RlZElt
bVB0cih2bSgpKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKKwogI2lmIENQVShYODYpCiAgICAg
Ly8gRklYTUU6IHNob3VsZCB1c2UgdGhlIGNhbGwgYWJzdHJhY3Rpb24sIGJ1dCB0aGlzIGlzIGN1
cnJlbnRseSBpbiB0aGUgU3BlY3VsYXRpdmVKSVQgbGF5ZXIhCiAgICAgcG9rZShHUFJJbmZvOjph
cmd1bWVudEdQUjApOworICAgIHBva2UoR1BSSW5mbzo6YXJndW1lbnRHUFIxLCAxKTsKICNlbmRp
ZgogICAgIG1fY2FsbHMuYXBwZW5kKENhbGxSZWNvcmQoY2FsbCgpLCAodW5zaWduZWQpLTEsIEZ1
bmN0aW9uUHRyKGxvb2t1cEV4Y2VwdGlvbkhhbmRsZXIpLnZhbHVlKCkpKTsKICAgICBqdW1wVG9F
eGNlcHRpb25IYW5kbGVyKCk7CiB9CiAKK3Vuc2lnbmVkIEpJVDo6ZnJhbWVSZWdpc3RlckNvdW50
Rm9yKENvZGVCbG9jayogY29kZUJsb2NrKQoreworICAgIEFTU0VSVChzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oY29kZUJsb2NrLT5tX251bUNhbGxlZVJlZ2lzdGVycykgPT0gV1RGOjpyb3VuZFVwVG9N
dWx0aXBsZU9mKHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCksIHN0YXRpY19jYXN0PHVuc2lnbmVk
Pihjb2RlQmxvY2stPm1fbnVtQ2FsbGVlUmVnaXN0ZXJzKSkpOworCisgICAgcmV0dXJuIHJvdW5k
TG9jYWxSZWdpc3RlckNvdW50Rm9yRnJhbWVQb2ludGVyT2Zmc2V0KGNvZGVCbG9jay0+bV9udW1D
YWxsZWVSZWdpc3RlcnMgKyBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbEluUmVnaXN0ZXJz
KTsKK30KKworaW50IEpJVDo6c3RhY2tQb2ludGVyT2Zmc2V0Rm9yKENvZGVCbG9jayogY29kZUJs
b2NrKQoreworICAgIHJldHVybiB2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChmcmFtZVJlZ2lzdGVy
Q291bnRGb3IoY29kZUJsb2NrKSAtIDEpLm9mZnNldCgpOworfQogCiB9IC8vIG5hbWVzcGFjZSBK
U0MKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggMjk4MDc1NzA2MWI2YzliZmQyZTdiM2Ix
NTM1MzgzMzgyZWM2NmI2Yy4uZmU4NTAzZTc5NDg4Y2I3ZGFiOGY4ZDRhYzQzNjAyYjMwNGMzNTJk
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC0yNDEsMTMgKzI0MSw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIGppdC5wcml2YXRlQ29tcGlsZUNUSU5hdGl2ZUNh
bGwodm0sIGZ1bmMpOwogICAgICAgICB9CiAKLSAgICAgICAgc3RhdGljIHZvaWQgbGlua0ZvcihF
eGVjU3RhdGUqLCBKU0Z1bmN0aW9uKiBjYWxsZWUsIENvZGVCbG9jayogY2FsbGVyQ29kZUJsb2Nr
LCBDb2RlQmxvY2sqIGNhbGxlZUNvZGVCbG9jaywgQ29kZVB0ciwgQ2FsbExpbmtJbmZvKiwgVk0q
LCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kKTsKLSAgICAgICAgc3RhdGljIHZvaWQgbGlua1Nsb3dD
YWxsKENvZGVCbG9jayogY2FsbGVyQ29kZUJsb2NrLCBDYWxsTGlua0luZm8qKTsKLSAgICAgICAg
Ci0gICAgICAgIHN0YXRpYyB1bnNpZ25lZCBmcmFtZVJlZ2lzdGVyQ291bnRGb3IoQ29kZUJsb2Nr
KiBjb2RlQmxvY2spCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBjb2RlQmxvY2stPm1f
bnVtQ2FsbGVlUmVnaXN0ZXJzOwotICAgICAgICB9CisgICAgICAgIHN0YXRpYyB1bnNpZ25lZCBm
cmFtZVJlZ2lzdGVyQ291bnRGb3IoQ29kZUJsb2NrKik7CisgICAgICAgIHN0YXRpYyBpbnQgc3Rh
Y2tQb2ludGVyT2Zmc2V0Rm9yKENvZGVCbG9jayopOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAg
SklUKFZNKiwgQ29kZUJsb2NrKiA9IDApOwpAQCAtNjk3LDExICs2OTIsMTEgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oV2l0aFBy
b2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VQYywgaW50LCBJbnN0cnVjdGlvbiopOwogICAgICAg
ICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VaLCBp
bnQsIGludDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KFBfSklUT3BlcmF0aW9uX0VKUywgR1BSUmVnLCBzaXplX3QpOwotICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFBfSklUT3BlcmF0aW9uX0VaLCBpbnQzMl90KTsKICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihTX0pJVE9wZXJhdGlvbl9F
Q0MsIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2Fs
bCBjYWxsT3BlcmF0aW9uKFNfSklUT3BlcmF0aW9uX0VKLCBSZWdpc3RlcklEKTsKICAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihTX0pJVE9wZXJhdGlvbl9FSkosIFJl
Z2lzdGVySUQsIFJlZ2lzdGVySUQpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKFNfSklUT3BlcmF0aW9uX0VPSnNzLCBSZWdpc3RlcklELCBSZWdpc3RlcklEKTsK
KyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihTcHJ0X0pJVE9wZXJh
dGlvbl9FWiwgaW50MzJfdCk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oVl9KSVRPcGVyYXRpb25fRSk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNh
bGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRUMsIFJlZ2lzdGVySUQpOwogICAgICAgICBNYWNy
b0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VDQywgUmVnaXN0
ZXJJRCwgUmVnaXN0ZXJJRCk7CkBAIC03MjYsNiArNzIxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25f
RVBjLCBJbnN0cnVjdGlvbiopOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3Bl
cmF0aW9uKFZfSklUT3BlcmF0aW9uX0VaLCBpbnQzMl90KTsKICAgICAgICAgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbldpdGhDYWxsRnJhbWVSb2xsYmFja09uRXhjZXB0aW9uKEpf
SklUT3BlcmF0aW9uX0UpOworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0
aW9uTm9FeGNlcHRpb25DaGVjayhKX0pJVE9wZXJhdGlvbl9FRSwgUmVnaXN0ZXJJRCk7CiAgICAg
ICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb25XaXRoQ2FsbEZyYW1lUm9sbGJh
Y2tPbkV4Y2VwdGlvbihWX0pJVE9wZXJhdGlvbl9FQ2IsIENvZGVCbG9jayopOwogICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uV2l0aENhbGxGcmFtZVJvbGxiYWNrT25F
eGNlcHRpb24oWl9KSVRPcGVyYXRpb25fRSk7CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwCmluZGV4IDkwYzJlNGZiOTJmMDlkODMyZWQzYTk2
ZmVjYmYyNzM0MDg3N2NhZWQuLmFlZjY3MmIxY2YwM2ExM2Y5M2RlYTUzNWYzNGZkMGJmNmI5Njc3
MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcApAQCAtMzksNiArMzksNyBA
QAogI2luY2x1ZGUgIlJlcGF0Y2hCdWZmZXIuaCIKICNpbmNsdWRlICJSZXN1bHRUeXBlLmgiCiAj
aW5jbHVkZSAiU2FtcGxpbmdUb29sLmgiCisjaW5jbHVkZSAiU3RhY2tBbGlnbm1lbnQuaCIKICNp
bmNsdWRlICJUaHVua0dlbmVyYXRvcnMuaCIKICNpbmNsdWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJl
YW0uaD4KIApAQCAtNzEsMTAgKzcyLDE0IEBAIHZvaWQgSklUOjpjb21waWxlTG9hZFZhcmFyZ3Mo
SW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQogICAgICAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhl
YWRlcjMyKEpTU3RhY2s6OkFyZ3VtZW50Q291bnQsIHJlZ1QwKTsKICAgICAgICAgc2xvd0Nhc2Uu
YXBwZW5kKGJyYW5jaDMyKEFib3ZlLCByZWdUMCwgVHJ1c3RlZEltbTMyKEFyZ3VtZW50czo6TWF4
QXJndW1lbnRzICsgMSkpKTsKICAgICAgICAgLy8gcmVnVDA6IGFyZ3VtZW50Q291bnRJbmNsdWRp
bmdUaGlzCi0KICAgICAgICAgbW92ZShyZWdUMCwgcmVnVDEpOworICAgICAgICBhZGQ2NChUcnVz
dGVkSW1tMzIoLWZpcnN0RnJlZVJlZ2lzdGVyICsgSlNTdGFjazo6Q2FsbEZyYW1lSGVhZGVyU2l6
ZSksIHJlZ1QxKTsKKyAgICAgICAgLy8gcmVnVDEgbm93IGhhcyB0aGUgcmVxdWlyZWQgZnJhbWUg
c2l6ZSBpbiBSZWdpc3RlciB1bml0cworICAgICAgICAvLyBSb3VuZCByZWdUMSB0byBuZXh0IG11
bHRpcGxlIG9mIHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCkKKyAgICAgICAgYWRkNjQoVHJ1c3Rl
ZEltbTMyKHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCkgLSAxKSwgcmVnVDEpOworICAgICAgICBh
bmQ2NChUcnVzdGVkSW1tMzIofihzdGFja0FsaWdubWVudFJlZ2lzdGVycygpIC0gMSkpLCByZWdU
MSk7CisKICAgICAgICAgbmVnNjQocmVnVDEpOwotICAgICAgICBhZGQ2NChUcnVzdGVkSW1tMzIo
Zmlyc3RGcmVlUmVnaXN0ZXIgLSBKU1N0YWNrOjpDYWxsRnJhbWVIZWFkZXJTaXplKSwgcmVnVDEp
OwogICAgICAgICBsc2hpZnQ2NChUcnVzdGVkSW1tMzIoMyksIHJlZ1QxKTsKICAgICAgICAgYWRk
UHRyKGNhbGxGcmFtZVJlZ2lzdGVyLCByZWdUMSk7CiAgICAgICAgIC8vIHJlZ1QxOiBuZXdDYWxs
RnJhbWUKQEAgLTEwNSw3ICsxMTAsOCBAQCB2b2lkIEpJVDo6Y29tcGlsZUxvYWRWYXJhcmdzKElu
c3RydWN0aW9uKiBpbnN0cnVjdGlvbikKICAgICAgICAgc2xvd0Nhc2UubGluayh0aGlzKTsKIAog
ICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoYXJndW1lbnRzLCByZWdUMSk7Ci0gICAgY2FsbE9w
ZXJhdGlvbihvcGVyYXRpb25TaXplQW5kQWxsb2NGcmFtZUZvclZhcmFyZ3MsIHJlZ1QxLCBmaXJz
dEZyZWVSZWdpc3Rlcik7CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25TaXplRnJhbWVGb3JW
YXJhcmdzLCByZWdUMSwgZmlyc3RGcmVlUmVnaXN0ZXIpOworICAgIG1vdmUocmV0dXJuVmFsdWVH
UFIsIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHRo
aXNWYWx1ZSwgcmVnVDEpOwogICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoYXJndW1lbnRzLCBy
ZWdUMik7CiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25Mb2FkVmFyYXJncywgcmV0dXJuVmFs
dWVHUFIsIHJlZ1QxLCByZWdUMik7CkBAIC0xMTMsMTMgKzExOSwyNCBAQCB2b2lkIEpJVDo6Y29t
cGlsZUxvYWRWYXJhcmdzKEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbikKIAogICAgIGlmIChjYW5P
cHRpbWl6ZSkKICAgICAgICAgZW5kLmxpbmsodGhpcyk7CisgICAgCisgICAgYWRkUHRyKFRydXN0
ZWRJbW0zMihzaXplb2YoQ2FsbGVyRnJhbWVBbmRQQykpLCByZWdUMSwgc3RhY2tQb2ludGVyUmVn
aXN0ZXIpOwogfQogCiB2b2lkIEpJVDo6Y29tcGlsZUNhbGxFdmFsKEluc3RydWN0aW9uKiBpbnN0
cnVjdGlvbikKIHsKLSAgICBjYWxsT3BlcmF0aW9uV2l0aENhbGxGcmFtZVJvbGxiYWNrT25FeGNl
cHRpb24ob3BlcmF0aW9uQ2FsbEV2YWwpOworICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoLXN0YXRp
Y19jYXN0PHB0cmRpZmZfdD4oc2l6ZW9mKENhbGxlckZyYW1lQW5kUEMpKSksIHN0YWNrUG9pbnRl
clJlZ2lzdGVyLCByZWdUMSk7CisgICAgY2FsbE9wZXJhdGlvbk5vRXhjZXB0aW9uQ2hlY2sob3Bl
cmF0aW9uQ2FsbEV2YWwsIHJlZ1QxKTsKKworICAgIEp1bXAgbm9FeGNlcHRpb24gPSBlbWl0RXhj
ZXB0aW9uQ2hlY2soSW52ZXJ0ZWRFeGNlcHRpb25DaGVjayk7CisgICAgYWRkUHRyKFRydXN0ZWRJ
bW0zMihzdGFja1BvaW50ZXJPZmZzZXRGb3IobV9jb2RlQmxvY2spICogc2l6ZW9mKFJlZ2lzdGVy
KSksIGNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7ICAgIAorICAgIGV4
Y2VwdGlvbkNoZWNrKGp1bXAoKSk7CisKKyAgICBub0V4Y2VwdGlvbi5saW5rKHRoaXMpOwogICAg
IGFkZFNsb3dDYXNlKGJyYW5jaDY0KEVxdWFsLCByZWdUMCwgVHJ1c3RlZEltbTY0KEpTVmFsdWU6
OmVuY29kZShKU1ZhbHVlKCkpKSkpOwotICAgIGVtaXRHZXRDYWxsZXJGcmFtZUZyb21DYWxsRnJh
bWVIZWFkZXJQdHIoY2FsbEZyYW1lUmVnaXN0ZXIpOworCisgICAgYWRkUHRyKFRydXN0ZWRJbW0z
MihzdGFja1BvaW50ZXJPZmZzZXRGb3IobV9jb2RlQmxvY2spICogc2l6ZW9mKFJlZ2lzdGVyKSks
IGNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgY2hlY2tTdGFj
a1BvaW50ZXJBbGlnbm1lbnQoKTsKIAogICAgIHNhbXBsZUNvZGVCbG9jayhtX2NvZGVCbG9jayk7
CiAgICAgCkBAIC0xMzAsOCArMTQ3LDEwIEBAIHZvaWQgSklUOjpjb21waWxlQ2FsbEV2YWxTbG93
Q2FzZShJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24sIFZlY3RvcjxTbG93Q2FzZUVudHJ5CiB7CiAg
ICAgbGlua1Nsb3dDYXNlKGl0ZXIpOwogCi0gICAgZW1pdEdldEZyb21DYWxsRnJhbWVIZWFkZXI2
NChKU1N0YWNrOjpDYWxsZWUsIHJlZ1QwKTsKKyAgICBsb2FkNjQoQWRkcmVzcyhzdGFja1BvaW50
ZXJSZWdpc3Rlciwgc2l6ZW9mKFJlZ2lzdGVyKSAqIEpTU3RhY2s6OkNhbGxlZSAtIHNpemVvZihD
YWxsZXJGcmFtZUFuZFBDKSksIHJlZ1QwKTsKICAgICBlbWl0TmFrZWRDYWxsKG1fdm0tPmdldENU
SVN0dWIodmlydHVhbENhbGxUaHVua0dlbmVyYXRvcikuY29kZSgpKTsKKyAgICBhZGRQdHIoVHJ1
c3RlZEltbTMyKHN0YWNrUG9pbnRlck9mZnNldEZvcihtX2NvZGVCbG9jaykgKiBzaXplb2YoUmVn
aXN0ZXIpKSwgY2FsbEZyYW1lUmVnaXN0ZXIsIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKyAgICBj
aGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwogCiAgICAgc2FtcGxlQ29kZUJsb2NrKG1fY29k
ZUJsb2NrKTsKICAgICAKQEAgLTE3MCwxOCArMTg5LDE2IEBAIHZvaWQgSklUOjpjb21waWxlT3BD
YWxsKE9wY29kZUlEIG9wY29kZUlELCBJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24sIHVuc2lnbmVk
IGNhCiAgICAgICAgICAgICBkb25lLmxpbmsodGhpcyk7CiAgICAgICAgIH0KICAgICAKLSAgICAg
ICAgYWRkUHRyKFRydXN0ZWRJbW0zMihyZWdpc3Rlck9mZnNldCAqIHNpemVvZihSZWdpc3Rlcikp
LCBjYWxsRnJhbWVSZWdpc3RlciwgcmVnVDEpOwotICAgICAgICBzdG9yZTMyKFRydXN0ZWRJbW0z
MihhcmdDb3VudCksIEFkZHJlc3MocmVnVDEsIEpTU3RhY2s6OkFyZ3VtZW50Q291bnQgKiBzdGF0
aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpICsgT0JKRUNUX09GRlNFVE9GKEVuY29kZWRW
YWx1ZURlc2NyaXB0b3IsIGFzQml0cy5wYXlsb2FkKSkpOwotICAgIH0gLy8gcmVnVDEgaG9sZHMg
bmV3Q2FsbEZyYW1lIHdpdGggQXJndW1lbnRDb3VudCBpbml0aWFsaXplZC4KKyAgICAgICAgYWRk
UHRyKFRydXN0ZWRJbW0zMihyZWdpc3Rlck9mZnNldCAqIHNpemVvZihSZWdpc3RlcikgKyBzaXpl
b2YoQ2FsbGVyRnJhbWVBbmRQQykpLCBjYWxsRnJhbWVSZWdpc3Rlciwgc3RhY2tQb2ludGVyUmVn
aXN0ZXIpOworICAgICAgICBzdG9yZTMyKFRydXN0ZWRJbW0zMihhcmdDb3VudCksIEFkZHJlc3Mo
c3RhY2tQb2ludGVyUmVnaXN0ZXIsIEpTU3RhY2s6OkFyZ3VtZW50Q291bnQgKiBzdGF0aWNfY2Fz
dDxpbnQ+KHNpemVvZihSZWdpc3RlcikpICsgUGF5bG9hZE9mZnNldCAtIHNpemVvZihDYWxsZXJG
cmFtZUFuZFBDKSkpOworICAgIH0gLy8gU1AgaG9sZHMgbmV3Q2FsbEZyYW1lICsgc2l6ZW9mKENh
bGxlckZyYW1lQW5kUEMpLCB3aXRoIEFyZ3VtZW50Q291bnQgaW5pdGlhbGl6ZWQuCiAgICAgCiAg
ICAgdWludDMyX3QgYnl0ZWNvZGVPZmZzZXQgPSBpbnN0cnVjdGlvbiAtIG1fY29kZUJsb2NrLT5p
bnN0cnVjdGlvbnMoKS5iZWdpbigpOwogICAgIHVpbnQzMl90IGxvY2F0aW9uQml0cyA9IENhbGxG
cmFtZTo6TG9jYXRpb246OmVuY29kZUFzQnl0ZWNvZGVPZmZzZXQoYnl0ZWNvZGVPZmZzZXQpOwot
ICAgIHN0b3JlMzIoVHJ1c3RlZEltbTMyKGxvY2F0aW9uQml0cyksIEFkZHJlc3MoY2FsbEZyYW1l
UmVnaXN0ZXIsIEpTU3RhY2s6OkFyZ3VtZW50Q291bnQgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVv
ZihSZWdpc3RlcikpICsgT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFz
Qml0cy50YWcpKSk7CisgICAgc3RvcmUzMihUcnVzdGVkSW1tMzIobG9jYXRpb25CaXRzKSwgQWRk
cmVzcyhjYWxsRnJhbWVSZWdpc3RlciwgSlNTdGFjazo6QXJndW1lbnRDb3VudCAqIHN0YXRpY19j
YXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkgKyBUYWdPZmZzZXQpKTsKICAgICBlbWl0R2V0Vmly
dHVhbFJlZ2lzdGVyKGNhbGxlZSwgcmVnVDApOyAvLyByZWdUMCBob2xkcyBjYWxsZWUuCiAKLSAg
ICBzdG9yZTY0KGNhbGxGcmFtZVJlZ2lzdGVyLCBBZGRyZXNzKHJlZ1QxLCBDYWxsRnJhbWU6OmNh
bGxlckZyYW1lT2Zmc2V0KCkpKTsKLSAgICBzdG9yZTY0KHJlZ1QwLCBBZGRyZXNzKHJlZ1QxLCBK
U1N0YWNrOjpDYWxsZWUgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpKSk7Ci0g
ICAgbW92ZShyZWdUMSwgY2FsbEZyYW1lUmVnaXN0ZXIpOworICAgIHN0b3JlNjQocmVnVDAsIEFk
ZHJlc3Moc3RhY2tQb2ludGVyUmVnaXN0ZXIsIEpTU3RhY2s6OkNhbGxlZSAqIHN0YXRpY19jYXN0
PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkgLSBzaXplb2YoQ2FsbGVyRnJhbWVBbmRQQykpKTsKIAog
ICAgIGlmIChvcGNvZGVJRCA9PSBvcF9jYWxsX2V2YWwpIHsKICAgICAgICAgY29tcGlsZUNhbGxF
dmFsKGluc3RydWN0aW9uKTsKQEAgLTE5OCwxMCArMjE1LDE0IEBAIHZvaWQgSklUOjpjb21waWxl
T3BDYWxsKE9wY29kZUlEIG9wY29kZUlELCBJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24sIHVuc2ln
bmVkIGNhCiAgICAgbV9jYWxsU3RydWN0dXJlU3R1YkNvbXBpbGF0aW9uSW5mb1tjYWxsTGlua0lu
Zm9JbmRleF0uY2FsbFR5cGUgPSBDYWxsTGlua0luZm86OmNhbGxUeXBlRm9yKG9wY29kZUlEKTsK
ICAgICBtX2NhbGxTdHJ1Y3R1cmVTdHViQ29tcGlsYXRpb25JbmZvW2NhbGxMaW5rSW5mb0luZGV4
XS5ieXRlY29kZUluZGV4ID0gbV9ieXRlY29kZU9mZnNldDsKIAotICAgIGxvYWRQdHIoQWRkcmVz
cyhyZWdUMCwgT0JKRUNUX09GRlNFVE9GKEpTRnVuY3Rpb24sIG1fc2NvcGUpKSwgcmVnVDEpOwot
ICAgIGVtaXRQdXRUb0NhbGxGcmFtZUhlYWRlcihyZWdUMSwgSlNTdGFjazo6U2NvcGVDaGFpbik7
CisgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QwLCBPQkpFQ1RfT0ZGU0VUT0YoSlNGdW5jdGlvbiwg
bV9zY29wZSkpLCByZWdUMik7CisgICAgc3RvcmU2NChyZWdUMiwgQWRkcmVzcyhNYWNyb0Fzc2Vt
Ymxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIEpTU3RhY2s6OlNjb3BlQ2hhaW4gKiBzaXplb2Yo
UmVnaXN0ZXIpIC0gc2l6ZW9mKENhbGxlckZyYW1lQW5kUEMpKSk7CisKICAgICBtX2NhbGxTdHJ1
Y3R1cmVTdHViQ29tcGlsYXRpb25JbmZvW2NhbGxMaW5rSW5mb0luZGV4XS5ob3RQYXRoT3RoZXIg
PSBlbWl0TmFrZWRDYWxsKCk7CiAKKyAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKHN0YWNrUG9pbnRl
ck9mZnNldEZvcihtX2NvZGVCbG9jaykgKiBzaXplb2YoUmVnaXN0ZXIpKSwgY2FsbEZyYW1lUmVn
aXN0ZXIsIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdu
bWVudCgpOworCiAgICAgc2FtcGxlQ29kZUJsb2NrKG1fY29kZUJsb2NrKTsKICAgICAKICAgICBl
bWl0UHV0Q2FsbFJlc3VsdChpbnN0cnVjdGlvbik7CkBAIC0yMTYsNyArMjM3LDE0IEBAIHZvaWQg
SklUOjpjb21waWxlT3BDYWxsU2xvd0Nhc2UoT3Bjb2RlSUQgb3Bjb2RlSUQsIEluc3RydWN0aW9u
KiBpbnN0cnVjdGlvbiwgVmVjCiAKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CiAKLSAgICBtX2Nh
bGxTdHJ1Y3R1cmVTdHViQ29tcGlsYXRpb25JbmZvW2NhbGxMaW5rSW5mb0luZGV4XS5jYWxsUmV0
dXJuTG9jYXRpb24gPSBlbWl0TmFrZWRDYWxsKG9wY29kZUlEID09IG9wX2NvbnN0cnVjdCA/IG1f
dm0tPmdldENUSVN0dWIobGlua0NvbnN0cnVjdFRodW5rR2VuZXJhdG9yKS5jb2RlKCkgOiBtX3Zt
LT5nZXRDVElTdHViKGxpbmtDYWxsVGh1bmtHZW5lcmF0b3IpLmNvZGUoKSk7CisgICAgVGh1bmtH
ZW5lcmF0b3IgZ2VuZXJhdG9yID0gbGlua1RodW5rR2VuZXJhdG9yRm9yKAorICAgICAgICBvcGNv
ZGVJRCA9PSBvcF9jb25zdHJ1Y3QgPyBDb2RlRm9yQ29uc3RydWN0IDogQ29kZUZvckNhbGwsCisg
ICAgICAgIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQpOworICAgIAorICAgIG1fY2Fs
bFN0cnVjdHVyZVN0dWJDb21waWxhdGlvbkluZm9bY2FsbExpbmtJbmZvSW5kZXhdLmNhbGxSZXR1
cm5Mb2NhdGlvbiA9IGVtaXROYWtlZENhbGwobV92bS0+Z2V0Q1RJU3R1YihnZW5lcmF0b3IpLmNv
ZGUoKSk7CisKKyAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKHN0YWNrUG9pbnRlck9mZnNldEZvciht
X2NvZGVCbG9jaykgKiBzaXplb2YoUmVnaXN0ZXIpKSwgY2FsbEZyYW1lUmVnaXN0ZXIsIHN0YWNr
UG9pbnRlclJlZ2lzdGVyKTsKKyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwogCiAg
ICAgc2FtcGxlQ29kZUJsb2NrKG1fY29kZUJsb2NrKTsKICAgICAKQEAgLTIyNiw3ICsyNTQsNyBA
QCB2b2lkIEpJVDo6Y29tcGlsZU9wQ2FsbFNsb3dDYXNlKE9wY29kZUlEIG9wY29kZUlELCBJbnN0
cnVjdGlvbiogaW5zdHJ1Y3Rpb24sIFZlYwogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlQ2xvc3Vy
ZUNhbGwoQ2FsbExpbmtJbmZvKiBjYWxsTGlua0luZm8sIENvZGVCbG9jayogY2FsbGVlQ29kZUJs
b2NrLCBTdHJ1Y3R1cmUqIGV4cGVjdGVkU3RydWN0dXJlLCBFeGVjdXRhYmxlQmFzZSogZXhwZWN0
ZWRFeGVjdXRhYmxlLCBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgY29kZVB0cikKIHsKICAgICBKdW1w
TGlzdCBzbG93Q2FzZXM7Ci0gICAgCisKICAgICBzbG93Q2FzZXMuYXBwZW5kKGJyYW5jaFRlc3RQ
dHIoTm9uWmVybywgcmVnVDAsIHRhZ01hc2tSZWdpc3RlcikpOwogICAgIHNsb3dDYXNlcy5hcHBl
bmQoYnJhbmNoUHRyKE5vdEVxdWFsLCBBZGRyZXNzKHJlZ1QwLCBKU0NlbGw6OnN0cnVjdHVyZU9m
ZnNldCgpKSwgVHJ1c3RlZEltbVB0cihleHBlY3RlZFN0cnVjdHVyZSkpKTsKICAgICBzbG93Q2Fz
ZXMuYXBwZW5kKGJyYW5jaFB0cihOb3RFcXVhbCwgQWRkcmVzcyhyZWdUMCwgSlNGdW5jdGlvbjo6
b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpLCBUcnVzdGVkSW1tUHRyKGV4cGVjdGVkRXhlY3V0YWJsZSkp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcAppbmRleCA2MDg2
MDM4YTI2N2JlMjhjNWU0YjMzNWE4Njc3MTkzOWQ3ZTVkNGI2Li42OWZhMGYwZTY0YzVkZjIzM2Y2
YzljYjVhYWZmMDg0Y2FkOWMyZDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVENhbGwzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRD
YWxsMzJfNjQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDgsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiUmVwYXRj
aEJ1ZmZlci5oIgogI2luY2x1ZGUgIlJlc3VsdFR5cGUuaCIKICNpbmNsdWRlICJTYW1wbGluZ1Rv
b2wuaCIKKyNpbmNsdWRlICJTdGFja0FsaWdubWVudC5oIgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdQ
cmludFN0cmVhbS5oPgogCiAKQEAgLTU2LDEwICs1Nyw5IEBAIHZvaWQgSklUOjplbWl0X29wX3Jl
dChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIHVuc2lnbmVkIGRzdCA9IGN1
cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CiAKICAgICBlbWl0TG9hZChkc3QsIHJlZ1Qx
LCByZWdUMCk7Ci0gICAgZW1pdEdldFJldHVyblBDRnJvbUNhbGxGcmFtZUhlYWRlclB0cihyZWdU
Mik7Ci0gICAgZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRlclB0cihjYWxsRnJh
bWVSZWdpc3Rlcik7CiAKLSAgICByZXN0b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybihyZWdU
Mik7CisgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoKTsKKyAgICBlbWl0RnVuY3Rpb25F
cGlsb2d1ZSgpOwogICAgIHJldCgpOwogfQogCkBAIC03MywyMCArNzMsMTYgQEAgdm9pZCBKSVQ6
OmVtaXRfb3BfcmV0X29iamVjdF9vcl90aGlzKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rp
b24pCiAgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QwLCBKU0NlbGw6OnN0cnVjdHVyZU9mZnNldCgp
KSwgcmVnVDIpOwogICAgIEp1bXAgbm90T2JqZWN0ID0gZW1pdEp1bXBJZk5vdE9iamVjdChyZWdU
Mik7CiAKLSAgICBlbWl0R2V0UmV0dXJuUENGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKHJlZ1QyKTsK
LSAgICBlbWl0R2V0Q2FsbGVyRnJhbWVGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKGNhbGxGcmFtZVJl
Z2lzdGVyKTsKLQotICAgIHJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKHJlZ1QyKTsK
KyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOworICAgIGVtaXRGdW5jdGlvbkVwaWxv
Z3VlKCk7CiAgICAgcmV0KCk7CiAKICAgICBub3RKU0NlbGwubGluayh0aGlzKTsKICAgICBub3RP
YmplY3QubGluayh0aGlzKTsKICAgICBlbWl0TG9hZCh0aGlzUmVnLCByZWdUMSwgcmVnVDApOwog
Ci0gICAgZW1pdEdldFJldHVyblBDRnJvbUNhbGxGcmFtZUhlYWRlclB0cihyZWdUMik7Ci0gICAg
ZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRlclB0cihjYWxsRnJhbWVSZWdpc3Rl
cik7Ci0KLSAgICByZXN0b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybihyZWdUMik7CisgICAg
Y2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoKTsKKyAgICBlbWl0RnVuY3Rpb25FcGlsb2d1ZSgp
OwogICAgIHJldCgpOwogfQogCkBAIC0xNTEsOCArMTQ3LDEyIEBAIHZvaWQgSklUOjpjb21waWxl
TG9hZFZhcmFyZ3MoSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQogICAgICAgICAvLyByZWdUMjog
YXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMKIAogICAgICAgICBtb3ZlKHJlZ1QyLCByZWdUMyk7
CisgICAgICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoLWZpcnN0RnJlZVJlZ2lzdGVyICsgSlNTdGFj
azo6Q2FsbEZyYW1lSGVhZGVyU2l6ZSksIHJlZ1QzKTsKKyAgICAgICAgLy8gcmVnVDEgbm93IGhh
cyB0aGUgcmVxdWlyZWQgZnJhbWUgc2l6ZSBpbiBSZWdpc3RlciB1bml0cworICAgICAgICAvLyBS
b3VuZCByZWdUMSB0byBuZXh0IG11bHRpcGxlIG9mIHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCkK
KyAgICAgICAgYWRkUHRyKFRydXN0ZWRJbW0zMihzdGFja0FsaWdubWVudFJlZ2lzdGVycygpIC0g
MSksIHJlZ1QzKTsKKyAgICAgICAgYW5kUHRyKFRydXN0ZWRJbW0zMih+KHN0YWNrQWxpZ25tZW50
UmVnaXN0ZXJzKCkgLSAxKSksIHJlZ1QzKTsKICAgICAgICAgbmVnMzIocmVnVDMpOwotICAgICAg
ICBhZGQzMihUcnVzdGVkSW1tMzIoZmlyc3RGcmVlUmVnaXN0ZXIgLSBKU1N0YWNrOjpDYWxsRnJh
bWVIZWFkZXJTaXplKSwgcmVnVDMpOwogICAgICAgICBsc2hpZnQzMihUcnVzdGVkSW1tMzIoMyks
IHJlZ1QzKTsKICAgICAgICAgYWRkUHRyKGNhbGxGcmFtZVJlZ2lzdGVyLCByZWdUMyk7CiAgICAg
ICAgIC8vIHJlZ1QzOiBuZXdDYWxsRnJhbWUKQEAgLTE4NSwyMiArMTg1LDM0IEBAIHZvaWQgSklU
Ojpjb21waWxlTG9hZFZhcmFyZ3MoSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQogICAgICAgICBz
bG93Q2FzZS5saW5rKHRoaXMpOwogCiAgICAgZW1pdExvYWQoYXJndW1lbnRzLCByZWdUMSwgcmVn
VDApOwotICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uU2l6ZUFuZEFsbG9jRnJhbWVGb3JWYXJh
cmdzLCByZWdUMSwgcmVnVDAsIGZpcnN0RnJlZVJlZ2lzdGVyKTsKLSAgICBtb3ZlKHJldHVyblZh
bHVlR1BSLCByZWdUNSk7Ci0gICAgZW1pdExvYWQodGhpc1ZhbHVlLCByZWdUMSwgcmVnVDApOwor
ICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uU2l6ZUZyYW1lRm9yVmFyYXJncywgcmVnVDEsIHJl
Z1QwLCBmaXJzdEZyZWVSZWdpc3Rlcik7CisgICAgbW92ZShyZXR1cm5WYWx1ZUdQUiwgc3RhY2tQ
b2ludGVyUmVnaXN0ZXIpOworICAgIGVtaXRMb2FkKHRoaXNWYWx1ZSwgcmVnVDEsIHJlZ1Q0KTsK
ICAgICBlbWl0TG9hZChhcmd1bWVudHMsIHJlZ1QzLCByZWdUMik7Ci0gICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25Mb2FkVmFyYXJncywgcmVnVDUsIHJlZ1QxLCByZWdUMCwgcmVnVDMsIHJlZ1Qy
KTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkxvYWRWYXJhcmdzLCByZXR1cm5WYWx1ZUdQ
UiwgcmVnVDEsIHJlZ1Q0LCByZWdUMywgcmVnVDIpOwogICAgIG1vdmUocmV0dXJuVmFsdWVHUFIs
IHJlZ1QzKTsKIAogICAgIGlmIChjYW5PcHRpbWl6ZSkKICAgICAgICAgZW5kLmxpbmsodGhpcyk7
CisKKyAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKHNpemVvZihDYWxsZXJGcmFtZUFuZFBDKSksIHJl
Z1QzLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiB9CiAKIHZvaWQgSklUOjpjb21waWxlQ2FsbEV2
YWwoSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQogewotICAgIGNhbGxPcGVyYXRpb25XaXRoQ2Fs
bEZyYW1lUm9sbGJhY2tPbkV4Y2VwdGlvbihvcGVyYXRpb25DYWxsRXZhbCk7CisgICAgYWRkUHRy
KFRydXN0ZWRJbW0zMigtc3RhdGljX2Nhc3Q8cHRyZGlmZl90PihzaXplb2YoQ2FsbGVyRnJhbWVB
bmRQQykpKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIsIHJlZ1QxKTsKKworICAgIGNhbGxPcGVyYXRp
b25Ob0V4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbkNhbGxFdmFsLCByZWdUMSk7CisKKyAgICBKdW1w
IG5vRXhjZXB0aW9uID0gZW1pdEV4Y2VwdGlvbkNoZWNrKEludmVydGVkRXhjZXB0aW9uQ2hlY2sp
OworICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoc3RhY2tQb2ludGVyT2Zmc2V0Rm9yKG1fY29kZUJs
b2NrKSAqIHNpemVvZihSZWdpc3RlcikpLCBjYWxsRnJhbWVSZWdpc3Rlciwgc3RhY2tQb2ludGVy
UmVnaXN0ZXIpOworICAgIGV4Y2VwdGlvbkNoZWNrKGp1bXAoKSk7CisKKyAgICBub0V4Y2VwdGlv
bi5saW5rKHRoaXMpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaDMyKEVxdWFsLCByZWdUMSwgVHJ1
c3RlZEltbTMyKEpTVmFsdWU6OkVtcHR5VmFsdWVUYWcpKSk7Ci0gICAgZW1pdEdldENhbGxlckZy
YW1lRnJvbUNhbGxGcmFtZUhlYWRlclB0cihjYWxsRnJhbWVSZWdpc3Rlcik7CisKKyAgICBhZGRQ
dHIoVHJ1c3RlZEltbTMyKHN0YWNrUG9pbnRlck9mZnNldEZvcihtX2NvZGVCbG9jaykgKiBzaXpl
b2YoUmVnaXN0ZXIpKSwgY2FsbEZyYW1lUmVnaXN0ZXIsIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsK
KyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwogCiAgICAgc2FtcGxlQ29kZUJsb2Nr
KG1fY29kZUJsb2NrKTsKICAgICAKQEAgLTIxMSw4ICsyMjMsMTMgQEAgdm9pZCBKSVQ6OmNvbXBp
bGVDYWxsRXZhbFNsb3dDYXNlKEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dD
YXNlRW50cnkKIHsKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CiAKKyAgICBsb2FkUHRyKEFkZHJl
c3Moc3RhY2tQb2ludGVyUmVnaXN0ZXIsIHNpemVvZihSZWdpc3RlcikgKiBKU1N0YWNrOjpDYWxs
ZWUgLSBzaXplb2YoQ2FsbGVyRnJhbWVBbmRQQykpLCByZWdUMCk7CisgICAgbG9hZFB0cihBZGRy
ZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCBzaXplb2YoUmVnaXN0ZXIpICogSlNTdGFjazo6Q2Fs
bGVlIC0gc2l6ZW9mKENhbGxlckZyYW1lQW5kUEMpKSwgcmVnVDEpOworCiAgICAgZW1pdExvYWQo
SlNTdGFjazo6Q2FsbGVlLCByZWdUMSwgcmVnVDApOwogICAgIGVtaXROYWtlZENhbGwobV92bS0+
Z2V0Q1RJU3R1Yih2aXJ0dWFsQ2FsbFRodW5rR2VuZXJhdG9yKS5jb2RlKCkpOworICAgIGFkZFB0
cihUcnVzdGVkSW1tMzIoc3RhY2tQb2ludGVyT2Zmc2V0Rm9yKG1fY29kZUJsb2NrKSAqIHNpemVv
ZihSZWdpc3RlcikpLCBjYWxsRnJhbWVSZWdpc3Rlciwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwor
ICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KCk7CiAKICAgICBzYW1wbGVDb2RlQmxvY2so
bV9jb2RlQmxvY2spOwogICAgIApAQCAtMjUxLDE4ICsyNjgsMTcgQEAgdm9pZCBKSVQ6OmNvbXBp
bGVPcENhbGwoT3Bjb2RlSUQgb3Bjb2RlSUQsIEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbiwgdW5z
aWduZWQgY2EKICAgICAgICAgICAgIGRvbmUubGluayh0aGlzKTsKICAgICAgICAgfQogICAgIAot
ICAgICAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKHJlZ2lzdGVyT2Zmc2V0ICogc2l6ZW9mKFJlZ2lz
dGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCByZWdUMyk7CisgICAgICAgIGFkZFB0cihUcnVzdGVk
SW1tMzIocmVnaXN0ZXJPZmZzZXQgKiBzaXplb2YoUmVnaXN0ZXIpICsgc2l6ZW9mKENhbGxlckZy
YW1lQW5kUEMpKSwgY2FsbEZyYW1lUmVnaXN0ZXIsIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKIAot
ICAgICAgICBzdG9yZTMyKFRydXN0ZWRJbW0zMihhcmdDb3VudCksIHBheWxvYWRGb3IoSlNTdGFj
azo6QXJndW1lbnRDb3VudCwgcmVnVDMpKTsKLSAgICB9IC8vIHJlZ1QzIGhvbGRzIG5ld0NhbGxG
cmFtZSB3aXRoIEFyZ3VtZW50Q291bnQgaW5pdGlhbGl6ZWQuCisgICAgICAgIHN0b3JlMzIoVHJ1
c3RlZEltbTMyKGFyZ0NvdW50KSwgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlciwgSlNTdGFj
azo6QXJndW1lbnRDb3VudCAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkgKyBQ
YXlsb2FkT2Zmc2V0IC0gc2l6ZW9mKENhbGxlckZyYW1lQW5kUEMpKSk7CisgICAgfSAvLyBTUCBo
b2xkcyBuZXdDYWxsRnJhbWUgKyBzaXplb2YoQ2FsbGVyRnJhbWVBbmRQQyksIHdpdGggQXJndW1l
bnRDb3VudCBpbml0aWFsaXplZC4KICAgICAKICAgICB1aW50MzJfdCBsb2NhdGlvbkJpdHMgPSBD
YWxsRnJhbWU6OkxvY2F0aW9uOjplbmNvZGVBc0J5dGVjb2RlSW5zdHJ1Y3Rpb24oaW5zdHJ1Y3Rp
b24pOwogICAgIHN0b3JlMzIoVHJ1c3RlZEltbTMyKGxvY2F0aW9uQml0cyksIHRhZ0ZvcihKU1N0
YWNrOjpBcmd1bWVudENvdW50LCBjYWxsRnJhbWVSZWdpc3RlcikpOwogICAgIGVtaXRMb2FkKGNh
bGxlZSwgcmVnVDEsIHJlZ1QwKTsgLy8gcmVnVDEsIHJlZ1QwIGhvbGRzIGNhbGxlZS4KIAotICAg
IHN0b3JlUHRyKGNhbGxGcmFtZVJlZ2lzdGVyLCBBZGRyZXNzKHJlZ1QzLCBDYWxsRnJhbWU6OmNh
bGxlckZyYW1lT2Zmc2V0KCkpKTsKLSAgICBlbWl0U3RvcmUoSlNTdGFjazo6Q2FsbGVlLCByZWdU
MSwgcmVnVDAsIHJlZ1QzKTsKLSAgICBtb3ZlKHJlZ1QzLCBjYWxsRnJhbWVSZWdpc3Rlcik7Cisg
ICAgc3RvcmUzMihyZWdUMCwgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlciwgSlNTdGFjazo6
Q2FsbGVlICogc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0ZXIpKSArIFBheWxvYWRPZmZz
ZXQgLSBzaXplb2YoQ2FsbGVyRnJhbWVBbmRQQykpKTsKKyAgICBzdG9yZTMyKHJlZ1QxLCBBZGRy
ZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCBKU1N0YWNrOjpDYWxsZWUgKiBzdGF0aWNfY2FzdDxp
bnQ+KHNpemVvZihSZWdpc3RlcikpICsgVGFnT2Zmc2V0IC0gc2l6ZW9mKENhbGxlckZyYW1lQW5k
UEMpKSk7CiAKICAgICBpZiAob3Bjb2RlSUQgPT0gb3BfY2FsbF9ldmFsKSB7CiAgICAgICAgIGNv
bXBpbGVDYWxsRXZhbChpbnN0cnVjdGlvbik7CkBAIC0yODEsMTAgKzI5NywxNiBAQCB2b2lkIEpJ
VDo6Y29tcGlsZU9wQ2FsbChPcGNvZGVJRCBvcGNvZGVJRCwgSW5zdHJ1Y3Rpb24qIGluc3RydWN0
aW9uLCB1bnNpZ25lZCBjYQogICAgIG1fY2FsbFN0cnVjdHVyZVN0dWJDb21waWxhdGlvbkluZm9b
Y2FsbExpbmtJbmZvSW5kZXhdLmNhbGxUeXBlID0gQ2FsbExpbmtJbmZvOjpjYWxsVHlwZUZvcihv
cGNvZGVJRCk7CiAgICAgbV9jYWxsU3RydWN0dXJlU3R1YkNvbXBpbGF0aW9uSW5mb1tjYWxsTGlu
a0luZm9JbmRleF0uYnl0ZWNvZGVJbmRleCA9IG1fYnl0ZWNvZGVPZmZzZXQ7CiAKLSAgICBsb2Fk
UHRyKEFkZHJlc3MocmVnVDAsIE9CSkVDVF9PRkZTRVRPRihKU0Z1bmN0aW9uLCBtX3Njb3BlKSks
IHJlZ1QxKTsKLSAgICBlbWl0UHV0Q2VsbFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QxLCBKU1N0YWNr
OjpTY29wZUNoYWluKTsKKyAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDAsIE9CSkVDVF9PRkZTRVRP
RihKU0Z1bmN0aW9uLCBtX3Njb3BlKSksIHJlZ1QyKTsKKyAgICBzdG9yZTMyKHJlZ1QyLCBBZGRy
ZXNzKE1hY3JvQXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3RlciwgSlNTdGFjazo6U2NvcGVD
aGFpbiAqIHNpemVvZihSZWdpc3RlcikgKyBQYXlsb2FkT2Zmc2V0IC0gc2l6ZW9mKENhbGxlckZy
YW1lQW5kUEMpKSk7CisgICAgc3RvcmUzMihUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZyks
IEFkZHJlc3Moc3RhY2tQb2ludGVyUmVnaXN0ZXIsIEpTU3RhY2s6OlNjb3BlQ2hhaW4gKiBzaXpl
b2YoUmVnaXN0ZXIpICsgVGFnT2Zmc2V0IC0gc2l6ZW9mKENhbGxlckZyYW1lQW5kUEMpKSk7CisK
KyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwogICAgIG1fY2FsbFN0cnVjdHVyZVN0
dWJDb21waWxhdGlvbkluZm9bY2FsbExpbmtJbmZvSW5kZXhdLmhvdFBhdGhPdGhlciA9IGVtaXRO
YWtlZENhbGwoKTsKIAorICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoc3RhY2tQb2ludGVyT2Zmc2V0
Rm9yKG1fY29kZUJsb2NrKSAqIHNpemVvZihSZWdpc3RlcikpLCBjYWxsRnJhbWVSZWdpc3Rlciwg
c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KCk7
CisKICAgICBzYW1wbGVDb2RlQmxvY2sobV9jb2RlQmxvY2spOwogICAgIGVtaXRQdXRDYWxsUmVz
dWx0KGluc3RydWN0aW9uKTsKIH0KQEAgLTI5OSw3ICszMjEsMTQgQEAgdm9pZCBKSVQ6OmNvbXBp
bGVPcENhbGxTbG93Q2FzZShPcGNvZGVJRCBvcGNvZGVJRCwgSW5zdHJ1Y3Rpb24qIGluc3RydWN0
aW9uLCBWZWMKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIp
OwogCi0gICAgbV9jYWxsU3RydWN0dXJlU3R1YkNvbXBpbGF0aW9uSW5mb1tjYWxsTGlua0luZm9J
bmRleF0uY2FsbFJldHVybkxvY2F0aW9uID0gZW1pdE5ha2VkQ2FsbChvcGNvZGVJRCA9PSBvcF9j
b25zdHJ1Y3QgPyBtX3ZtLT5nZXRDVElTdHViKGxpbmtDb25zdHJ1Y3RUaHVua0dlbmVyYXRvciku
Y29kZSgpIDogbV92bS0+Z2V0Q1RJU3R1YihsaW5rQ2FsbFRodW5rR2VuZXJhdG9yKS5jb2RlKCkp
OworICAgIFRodW5rR2VuZXJhdG9yIGdlbmVyYXRvciA9IGxpbmtUaHVua0dlbmVyYXRvckZvcigK
KyAgICAgICAgb3Bjb2RlSUQgPT0gb3BfY29uc3RydWN0ID8gQ29kZUZvckNvbnN0cnVjdCA6IENv
ZGVGb3JDYWxsLAorICAgICAgICBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsKKyAg
ICAKKyAgICBtX2NhbGxTdHJ1Y3R1cmVTdHViQ29tcGlsYXRpb25JbmZvW2NhbGxMaW5rSW5mb0lu
ZGV4XS5jYWxsUmV0dXJuTG9jYXRpb24gPSBlbWl0TmFrZWRDYWxsKG1fdm0tPmdldENUSVN0dWIo
Z2VuZXJhdG9yKS5jb2RlKCkpOworCisgICAgYWRkUHRyKFRydXN0ZWRJbW0zMihzdGFja1BvaW50
ZXJPZmZzZXRGb3IobV9jb2RlQmxvY2spICogc2l6ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJl
Z2lzdGVyLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgY2hlY2tTdGFja1BvaW50ZXJBbGln
bm1lbnQoKTsKIAogICAgIHNhbXBsZUNvZGVCbG9jayhtX2NvZGVCbG9jayk7CiAgICAgZW1pdFB1
dENhbGxSZXN1bHQoaW5zdHJ1Y3Rpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRDb2RlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5j
cHAKaW5kZXggMjEzYjcwMDBjYmIyODM0NTgxNGRiNWUyYmJhYjQxNDQ2N2Y0YzkyZC4uZWQwODdj
ZDNhNDRkNmUwNmFlNTQ2MzdjZDNiMDg3MjJkNzM4ZTNjYSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRDb2RlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVENvZGUuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJMTEludFRodW5r
cy5oIgogI2luY2x1ZGUgIk9wZXJhdGlvbnMuaCIKKyNpbmNsdWRlICJSZWdpc3RlclByZXNlcnZh
dGlvbldyYXBwZXJHZW5lcmF0b3IuaCIKICNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KIAog
bmFtZXNwYWNlIEpTQyB7CkBAIC00MSwxMSArNDIsOSBAQCBKSVRDb2RlOjp+SklUQ29kZSgpCiB7
CiB9CiAKLUpTVmFsdWUgSklUQ29kZTo6ZXhlY3V0ZShWTSogdm0sIFByb3RvQ2FsbEZyYW1lKiBw
cm90b0NhbGxGcmFtZSwgUmVnaXN0ZXIqIHRvcE9mU3RhY2spCitKU1ZhbHVlIEpJVENvZGU6OmV4
ZWN1dGUoVk0qIHZtLCBQcm90b0NhbGxGcmFtZSogcHJvdG9DYWxsRnJhbWUpCiB7Ci0gICAgQVNT
RVJUKCF2bS0+dG9wQ2FsbEZyYW1lIHx8ICgoUmVnaXN0ZXIqKSh2bS0+dG9wQ2FsbEZyYW1lKSA+
PSB0b3BPZlN0YWNrKSk7Ci0KLSAgICBKU1ZhbHVlIHJlc3VsdCA9IEpTVmFsdWU6OmRlY29kZShj
YWxsVG9KYXZhU2NyaXB0KGV4ZWN1dGFibGVBZGRyZXNzKCksICZ2bS0+dG9wQ2FsbEZyYW1lLCBw
cm90b0NhbGxGcmFtZSwgdG9wT2ZTdGFjaykpOworICAgIEpTVmFsdWUgcmVzdWx0ID0gSlNWYWx1
ZTo6ZGVjb2RlKGNhbGxUb0phdmFTY3JpcHQoZXhlY3V0YWJsZUFkZHJlc3MoKSwgdm0sIHByb3Rv
Q2FsbEZyYW1lKSk7CiAgICAgcmV0dXJuIHZtLT5leGNlcHRpb24oKSA/IGpzTnVsbCgpIDogcmVz
dWx0OwogfQogCkBAIC03Myw1MiArNzIsMzUgQEAgRlRMOjpGb3JPU1JFbnRyeUpJVENvZGUqIEpJ
VENvZGU6OmZ0bEZvck9TUkVudHJ5KCkKICAgICByZXR1cm4gMDsKIH0KIAotUGFzc1JlZlB0cjxK
SVRDb2RlPiBKSVRDb2RlOjpob3N0RnVuY3Rpb24oSklUQ29kZTo6Q29kZVJlZiBjb2RlKQotewot
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGlyZWN0SklUQ29kZShjb2RlLCBIb3N0Q2FsbFRodW5r
KSk7Ci19Ci0KLURpcmVjdEpJVENvZGU6OkRpcmVjdEpJVENvZGUoSklUVHlwZSBqaXRUeXBlKQor
SklUQ29kZVdpdGhDb2RlUmVmOjpKSVRDb2RlV2l0aENvZGVSZWYoSklUVHlwZSBqaXRUeXBlKQog
ICAgIDogSklUQ29kZShqaXRUeXBlKQogewogfQogCi1EaXJlY3RKSVRDb2RlOjpEaXJlY3RKSVRD
b2RlKGNvbnN0IEpJVENvZGU6OkNvZGVSZWYgcmVmLCBKSVRUeXBlIGppdFR5cGUpCitKSVRDb2Rl
V2l0aENvZGVSZWY6OkpJVENvZGVXaXRoQ29kZVJlZihDb2RlUmVmIHJlZiwgSklUVHlwZSBqaXRU
eXBlKQogICAgIDogSklUQ29kZShqaXRUeXBlKQogICAgICwgbV9yZWYocmVmKQogewogfQogCi1E
aXJlY3RKSVRDb2RlOjp+RGlyZWN0SklUQ29kZSgpCi17Ci19Ci0KLXZvaWQgRGlyZWN0SklUQ29k
ZTo6aW5pdGlhbGl6ZUNvZGVSZWYoY29uc3QgSklUQ29kZTo6Q29kZVJlZiByZWYpCi17Ci0gICAg
UkVMRUFTRV9BU1NFUlQoIW1fcmVmKTsKLSAgICBtX3JlZiA9IHJlZjsKLX0KLQotSklUQ29kZTo6
Q29kZVB0ciBEaXJlY3RKSVRDb2RlOjphZGRyZXNzRm9yQ2FsbCgpCitKSVRDb2RlV2l0aENvZGVS
ZWY6On5KSVRDb2RlV2l0aENvZGVSZWYoKQogewotICAgIFJFTEVBU0VfQVNTRVJUKG1fcmVmKTsK
LSAgICByZXR1cm4gbV9yZWYuY29kZSgpOwogfQogCi12b2lkKiBEaXJlY3RKSVRDb2RlOjpleGVj
dXRhYmxlQWRkcmVzc0F0T2Zmc2V0KHNpemVfdCBvZmZzZXQpCit2b2lkKiBKSVRDb2RlV2l0aENv
ZGVSZWY6OmV4ZWN1dGFibGVBZGRyZXNzQXRPZmZzZXQoc2l6ZV90IG9mZnNldCkKIHsKICAgICBS
RUxFQVNFX0FTU0VSVChtX3JlZik7CiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+
KG1fcmVmLmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpKSArIG9mZnNldDsKIH0KIAotdm9pZCog
RGlyZWN0SklUQ29kZTo6ZGF0YUFkZHJlc3NBdE9mZnNldChzaXplX3Qgb2Zmc2V0KQordm9pZCog
SklUQ29kZVdpdGhDb2RlUmVmOjpkYXRhQWRkcmVzc0F0T2Zmc2V0KHNpemVfdCBvZmZzZXQpCiB7
CiAgICAgUkVMRUFTRV9BU1NFUlQobV9yZWYpOwogICAgIEFTU0VSVChvZmZzZXQgPD0gc2l6ZSgp
KTsgLy8gdXNlIDw9IGluc3RlYWQgb2YgPCBiZWNhdXNlIGl0IGlzIHZhbGlkIHRvIGFzayBmb3Ig
YW4gYWRkcmVzcyBhdCB0aGUgZXhjbHVzaXZlIGVuZCBvZiB0aGUgY29kZS4KICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxjaGFyKj4obV9yZWYuY29kZSgpLmRhdGFMb2NhdGlvbigpKSArIG9m
ZnNldDsKIH0KIAotdW5zaWduZWQgRGlyZWN0SklUQ29kZTo6b2Zmc2V0T2Yodm9pZCogcG9pbnRl
ckludG9Db2RlKQordW5zaWduZWQgSklUQ29kZVdpdGhDb2RlUmVmOjpvZmZzZXRPZih2b2lkKiBw
b2ludGVySW50b0NvZGUpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQobV9yZWYpOwogICAgIGludHB0
cl90IHJlc3VsdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHBvaW50ZXJJbnRvQ29kZSkg
LSByZWludGVycHJldF9jYXN0PGludHB0cl90PihtX3JlZi5jb2RlKCkuZXhlY3V0YWJsZUFkZHJl
c3MoKSk7CkBAIC0xMjYsMTggKzEwOCwxMTcgQEAgdW5zaWduZWQgRGlyZWN0SklUQ29kZTo6b2Zm
c2V0T2Yodm9pZCogcG9pbnRlckludG9Db2RlKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4ocmVzdWx0KTsKIH0KIAotc2l6ZV90IERpcmVjdEpJVENvZGU6OnNpemUoKQorc2l6ZV90
IEpJVENvZGVXaXRoQ29kZVJlZjo6c2l6ZSgpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQobV9yZWYp
OwogICAgIHJldHVybiBtX3JlZi5zaXplKCk7CiB9CiAKLWJvb2wgRGlyZWN0SklUQ29kZTo6Y29u
dGFpbnModm9pZCogYWRkcmVzcykKK2Jvb2wgSklUQ29kZVdpdGhDb2RlUmVmOjpjb250YWlucyh2
b2lkKiBhZGRyZXNzKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG1fcmVmKTsKICAgICByZXR1cm4g
bV9yZWYuZXhlY3V0YWJsZU1lbW9yeSgpLT5jb250YWlucyhhZGRyZXNzKTsKIH0KIAorRGlyZWN0
SklUQ29kZTo6RGlyZWN0SklUQ29kZShKSVRUeXBlIGppdFR5cGUpCisgICAgOiBKSVRDb2RlV2l0
aENvZGVSZWYoaml0VHlwZSkKK3sKK30KKworRGlyZWN0SklUQ29kZTo6RGlyZWN0SklUQ29kZSgK
KyAgICBKSVRDb2RlOjpDb2RlUmVmIHJlZiwgSklUQ29kZTo6Q29kZVB0ciB3aXRoQXJpdHlDaGVj
aywgSklUVHlwZSBqaXRUeXBlKQorICAgIDogSklUQ29kZVdpdGhDb2RlUmVmKHJlZiwgaml0VHlw
ZSkKKyAgICAsIG1fd2l0aEFyaXR5Q2hlY2sod2l0aEFyaXR5Q2hlY2spCit7Cit9CisKK0RpcmVj
dEpJVENvZGU6On5EaXJlY3RKSVRDb2RlKCkKK3sKK30KKwordm9pZCBEaXJlY3RKSVRDb2RlOjpp
bml0aWFsaXplQ29kZVJlZihKSVRDb2RlOjpDb2RlUmVmIHJlZiwgSklUQ29kZTo6Q29kZVB0ciB3
aXRoQXJpdHlDaGVjaykKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCghbV9yZWYpOworICAgIG1fcmVm
ID0gcmVmOworICAgIG1fd2l0aEFyaXR5Q2hlY2sgPSB3aXRoQXJpdHlDaGVjazsKK30KKworRGly
ZWN0SklUQ29kZTo6UmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVycyogRGlyZWN0SklUQ29kZTo6
ZW5zdXJlV3JhcHBlcnMoKQoreworICAgIGlmICghbV93cmFwcGVycykKKyAgICAgICAgbV93cmFw
cGVycyA9IHN0ZDo6bWFrZV91bmlxdWU8UmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVycz4oKTsK
KyAgICByZXR1cm4gbV93cmFwcGVycy5nZXQoKTsKK30KKworSklUQ29kZTo6Q29kZVB0ciBEaXJl
Y3RKSVRDb2RlOjphZGRyZXNzRm9yQ2FsbCgKKyAgICBWTSYgdm0sIEV4ZWN1dGFibGVCYXNlKiBl
eGVjdXRhYmxlLCBBcml0eUNoZWNrTW9kZSBhcml0eSwKKyAgICBSZWdpc3RlclByZXNlcnZhdGlv
bk1vZGUgcmVnaXN0ZXJzKQoreworICAgIHN3aXRjaCAoYXJpdHkpIHsKKyAgICBjYXNlIEFyaXR5
Q2hlY2tOb3RSZXF1aXJlZDoKKyAgICAgICAgc3dpdGNoIChyZWdpc3RlcnMpIHsKKyAgICAgICAg
Y2FzZSBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkOgorICAgICAgICAgICAgUkVMRUFT
RV9BU1NFUlQobV9yZWYpOworICAgICAgICAgICAgcmV0dXJuIG1fcmVmLmNvZGUoKTsKKyAgICAg
ICAgY2FzZSBNdXN0UHJlc2VydmVSZWdpc3RlcnM6IHsKKyNpZiBFTkFCTEUoSklUKQorICAgICAg
ICAgICAgUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVycyogd3JhcHBlcnMgPSBlbnN1cmVXcmFw
cGVycygpOworICAgICAgICAgICAgaWYgKCF3cmFwcGVycy0+d2l0aG91dEFyaXR5Q2hlY2spCisg
ICAgICAgICAgICAgICAgd3JhcHBlcnMtPndpdGhvdXRBcml0eUNoZWNrID0gZ2VuZXJhdGVSZWdp
c3RlclByZXNlcnZhdGlvbldyYXBwZXIodm0sIGV4ZWN1dGFibGUsIG1fcmVmLmNvZGUoKSk7Cisg
ICAgICAgICAgICByZXR1cm4gd3JhcHBlcnMtPndpdGhvdXRBcml0eUNoZWNrLmNvZGUoKTsKKyNl
bHNlCisgICAgICAgICAgICBVTlVTRURfUEFSQU0odm0pOworICAgICAgICAgICAgVU5VU0VEX1BB
UkFNKGV4ZWN1dGFibGUpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyNlbmRpZgorICAgICAgICB9IH0KKyAgICBjYXNlIE11c3RDaGVja0FyaXR5OgorICAgICAg
ICBzd2l0Y2ggKHJlZ2lzdGVycykgeworICAgICAgICBjYXNlIFJlZ2lzdGVyUHJlc2VydmF0aW9u
Tm90UmVxdWlyZWQ6CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChtX3dpdGhBcml0eUNoZWNr
KTsKKyAgICAgICAgICAgIHJldHVybiBtX3dpdGhBcml0eUNoZWNrOworICAgICAgICBjYXNlIE11
c3RQcmVzZXJ2ZVJlZ2lzdGVyczogeworI2lmIEVOQUJMRShKSVQpCisgICAgICAgICAgICBSZWdp
c3RlclByZXNlcnZhdGlvbldyYXBwZXJzKiB3cmFwcGVycyA9IGVuc3VyZVdyYXBwZXJzKCk7Cisg
ICAgICAgICAgICBpZiAoIXdyYXBwZXJzLT53aXRoQXJpdHlDaGVjaykKKyAgICAgICAgICAgICAg
ICB3cmFwcGVycy0+d2l0aEFyaXR5Q2hlY2sgPSBnZW5lcmF0ZVJlZ2lzdGVyUHJlc2VydmF0aW9u
V3JhcHBlcih2bSwgZXhlY3V0YWJsZSwgbV93aXRoQXJpdHlDaGVjayk7CisgICAgICAgICAgICBy
ZXR1cm4gd3JhcHBlcnMtPndpdGhBcml0eUNoZWNrLmNvZGUoKTsKKyNlbHNlCisgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworI2VuZGlmCisgICAgICAgIH0gfQorICAg
IH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBDb2RlUHRy
KCk7Cit9CisKK05hdGl2ZUpJVENvZGU6Ok5hdGl2ZUpJVENvZGUoSklUVHlwZSBqaXRUeXBlKQor
ICAgIDogSklUQ29kZVdpdGhDb2RlUmVmKGppdFR5cGUpCit7Cit9CisKK05hdGl2ZUpJVENvZGU6
Ok5hdGl2ZUpJVENvZGUoQ29kZVJlZiByZWYsIEpJVFR5cGUgaml0VHlwZSkKKyAgICA6IEpJVENv
ZGVXaXRoQ29kZVJlZihyZWYsIGppdFR5cGUpCit7Cit9CisKK05hdGl2ZUpJVENvZGU6On5OYXRp
dmVKSVRDb2RlKCkKK3sKK30KKwordm9pZCBOYXRpdmVKSVRDb2RlOjppbml0aWFsaXplQ29kZVJl
ZihDb2RlUmVmIHJlZikKK3sKKyAgICBBU1NFUlQoIW1fcmVmKTsKKyAgICBtX3JlZiA9IHJlZjsK
K30KKworSklUQ29kZTo6Q29kZVB0ciBOYXRpdmVKSVRDb2RlOjphZGRyZXNzRm9yQ2FsbCgKKyAg
ICBWTSYsIEV4ZWN1dGFibGVCYXNlKiwgQXJpdHlDaGVja01vZGUsIFJlZ2lzdGVyUHJlc2VydmF0
aW9uTW9kZSkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCghIW1fcmVmKTsKKyAgICByZXR1cm4gbV9y
ZWYuY29kZSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogbmFtZXNwYWNlIFdURiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENvZGUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5oCmluZGV4IDUyYzc4MTExYTRkNjhlYjBmYWY5NzQ5
MDM4N2M1ODJlMjc2MmRlZmQuLjQxYjMxZjJmMTYwMWZmYjVmZTQ3ZWFjMTU3MzdlMGFjZDQ4ODNl
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5oCkBAIC0yNiwxNCArMjYsMTQgQEAK
ICNpZm5kZWYgSklUQ29kZV9oCiAjZGVmaW5lIEpJVENvZGVfaAogCi0jaWYgRU5BQkxFKEpJVCkg
fHwgRU5BQkxFKExMSU5UKQorI2luY2x1ZGUgIkFyaXR5Q2hlY2tNb2RlLmgiCiAjaW5jbHVkZSAi
Q2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiRGlzYXNzZW1ibGVyLmgiCiAjaW5jbHVkZSAiSklUU3R1
YnMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiTGVnYWN5UHJvZmlsZXIu
aCIKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCIKLSNlbmRpZgorI2luY2x1ZGUg
IlJlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZS5oIgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNTQs
NyArNTQsMTQgQEAgcHVibGljOgogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIENv
ZGVSZWY7CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgQ29kZVB0cjsKIAotICAg
IGVudW0gSklUVHlwZSB7IE5vbmUsIEhvc3RDYWxsVGh1bmssIEludGVycHJldGVyVGh1bmssIEJh
c2VsaW5lSklULCBERkdKSVQsIEZUTEpJVCB9OworICAgIGVudW0gSklUVHlwZSA6IHVpbnQ4X3Qg
eworICAgICAgICBOb25lLAorICAgICAgICBIb3N0Q2FsbFRodW5rLAorICAgICAgICBJbnRlcnBy
ZXRlclRodW5rLAorICAgICAgICBCYXNlbGluZUpJVCwKKyAgICAgICAgREZHSklULAorICAgICAg
ICBGVExKSVQKKyAgICB9OwogICAgIAogICAgIHN0YXRpYyBKSVRUeXBlIGJvdHRvbVRpZXJKSVQo
KQogICAgIHsKQEAgLTE2NCw3ICsxNzEsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBqaXRD
b2RlLT5qaXRUeXBlKCk7CiAgICAgfQogICAgIAotICAgIHZpcnR1YWwgQ29kZVB0ciBhZGRyZXNz
Rm9yQ2FsbCgpID0gMDsKKyAgICB2aXJ0dWFsIENvZGVQdHIgYWRkcmVzc0ZvckNhbGwoVk0mLCBF
eGVjdXRhYmxlQmFzZSosIEFyaXR5Q2hlY2tNb2RlLCBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGUp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzQXRPZmZzZXQoc2l6ZV90
IG9mZnNldCkgPSAwOwogICAgIHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzKCkgeyByZXR1cm4gZXhl
Y3V0YWJsZUFkZHJlc3NBdE9mZnNldCgwKTsgfQogICAgIHZpcnR1YWwgdm9pZCogZGF0YUFkZHJl
c3NBdE9mZnNldChzaXplX3Qgb2Zmc2V0KSA9IDA7CkBAIC0xNzUsNyArMTgyLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgRlRMOjpKSVRDb2RlKiBmdGwoKTsKICAgICB2aXJ0dWFsIEZUTDo6Rm9y
T1NSRW50cnlKSVRDb2RlKiBmdGxGb3JPU1JFbnRyeSgpOwogICAgIAotICAgIEpTVmFsdWUgZXhl
Y3V0ZShWTSosIFByb3RvQ2FsbEZyYW1lKiwgUmVnaXN0ZXIqKTsKKyAgICBKU1ZhbHVlIGV4ZWN1
dGUoVk0qLCBQcm90b0NhbGxGcmFtZSopOwogICAgIAogICAgIHZvaWQqIHN0YXJ0KCkgeyByZXR1
cm4gZGF0YUFkZHJlc3NBdE9mZnNldCgwKTsgfQogICAgIHZpcnR1YWwgc2l6ZV90IHNpemUoKSA9
IDA7CkBAIC0xODMsMzEgKzE5MCw2MiBAQCBwdWJsaWM6CiAgICAgCiAgICAgdmlydHVhbCBib29s
IGNvbnRhaW5zKHZvaWQqKSA9IDA7CiAKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxKSVRDb2RlPiBo
b3N0RnVuY3Rpb24oQ29kZVJlZik7Ci0KIHByaXZhdGU6CiAgICAgSklUVHlwZSBtX2ppdFR5cGU7
CiB9OwogCi1jbGFzcyBEaXJlY3RKSVRDb2RlIDogcHVibGljIEpJVENvZGUgeworY2xhc3MgSklU
Q29kZVdpdGhDb2RlUmVmIDogcHVibGljIEpJVENvZGUgeworcHJvdGVjdGVkOgorICAgIEpJVENv
ZGVXaXRoQ29kZVJlZihKSVRUeXBlKTsKKyAgICBKSVRDb2RlV2l0aENvZGVSZWYoQ29kZVJlZiwg
SklUVHlwZSk7CisKIHB1YmxpYzoKLSAgICBEaXJlY3RKSVRDb2RlKEpJVFR5cGUpOwotICAgIERp
cmVjdEpJVENvZGUoY29uc3QgQ29kZVJlZiwgSklUVHlwZSk7Ci0gICAgdmlydHVhbCB+RGlyZWN0
SklUQ29kZSgpOwotICAgIAotICAgIHZvaWQgaW5pdGlhbGl6ZUNvZGVSZWYoQ29kZVJlZiByZWYp
OworICAgIHZpcnR1YWwgfkpJVENvZGVXaXRoQ29kZVJlZigpOwogCi0gICAgdmlydHVhbCBDb2Rl
UHRyIGFkZHJlc3NGb3JDYWxsKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkKiBleGVjdXRh
YmxlQWRkcmVzc0F0T2Zmc2V0KHNpemVfdCBvZmZzZXQpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCogZGF0YUFkZHJlc3NBdE9mZnNldChzaXplX3Qgb2Zmc2V0KSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIHVuc2lnbmVkIG9mZnNldE9mKHZvaWQqIHBvaW50ZXJJbnRvQ29kZSkgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCBzaXplX3Qgc2l6ZSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBj
b250YWlucyh2b2lkKikgb3ZlcnJpZGU7CiAKLXByaXZhdGU6Citwcm90ZWN0ZWQ6CiAgICAgQ29k
ZVJlZiBtX3JlZjsKIH07CiAKK2NsYXNzIERpcmVjdEpJVENvZGUgOiBwdWJsaWMgSklUQ29kZVdp
dGhDb2RlUmVmIHsKK3B1YmxpYzoKKyAgICBEaXJlY3RKSVRDb2RlKEpJVFR5cGUpOworICAgIERp
cmVjdEpJVENvZGUoQ29kZVJlZiwgQ29kZVB0ciB3aXRoQXJpdHlDaGVjaywgSklUVHlwZSk7Cisg
ICAgdmlydHVhbCB+RGlyZWN0SklUQ29kZSgpOworICAgIAorICAgIHZvaWQgaW5pdGlhbGl6ZUNv
ZGVSZWYoQ29kZVJlZiByZWYsIENvZGVQdHIgd2l0aEFyaXR5Q2hlY2spOworCisgICAgdmlydHVh
bCBDb2RlUHRyIGFkZHJlc3NGb3JDYWxsKFZNJiwgRXhlY3V0YWJsZUJhc2UqLCBBcml0eUNoZWNr
TW9kZSwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlKSBvdmVycmlkZTsKKworcHJpdmF0ZToKKyAg
ICBzdHJ1Y3QgUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVycyB7CisgICAgICAgIENvZGVSZWYg
d2l0aG91dEFyaXR5Q2hlY2s7CisgICAgICAgIENvZGVSZWYgd2l0aEFyaXR5Q2hlY2s7CisgICAg
fTsKKworICAgIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlcnMqIGVuc3VyZVdyYXBwZXJzKCk7
CisgICAgCisgICAgQ29kZVB0ciBtX3dpdGhBcml0eUNoZWNrOworICAgIAorICAgIHN0ZDo6dW5p
cXVlX3B0cjxSZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJzPiBtX3dyYXBwZXJzOworfTsKKwor
Y2xhc3MgTmF0aXZlSklUQ29kZSA6IHB1YmxpYyBKSVRDb2RlV2l0aENvZGVSZWYgeworcHVibGlj
OgorICAgIE5hdGl2ZUpJVENvZGUoSklUVHlwZSk7CisgICAgTmF0aXZlSklUQ29kZShDb2RlUmVm
LCBKSVRUeXBlKTsKKyAgICB2aXJ0dWFsIH5OYXRpdmVKSVRDb2RlKCk7CisgICAgCisgICAgdm9p
ZCBpbml0aWFsaXplQ29kZVJlZihDb2RlUmVmIHJlZik7CisKKyAgICB2aXJ0dWFsIENvZGVQdHIg
YWRkcmVzc0ZvckNhbGwoVk0mLCBFeGVjdXRhYmxlQmFzZSosIEFyaXR5Q2hlY2tNb2RlLCBSZWdp
c3RlclByZXNlcnZhdGlvbk1vZGUpIG92ZXJyaWRlOworfTsKKwogfSAvLyBuYW1lc3BhY2UgSlND
CiAKIG5hbWVzcGFjZSBXVEYgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRFeGNlcHRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklURXhjZXB0
aW9ucy5jcHAKaW5kZXggODA4NGY3NzNiMjFkZDZkN2ZjMGFjMzg5ZDU3YTNkZDI2YWM0YmNkZC4u
MmI2MzdjMTE2NDZmYzY1OTdhNDE5Y2VjZTNjZjM2YzNlYzA4MjJkYiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRFeGNlcHRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVEV4Y2VwdGlvbnMuY3BwCkBAIC00Myw2ICs0MywxMSBAQCBuYW1l
c3BhY2UgSlNDIHsKIAogdm9pZCBnZW5lcmljVW53aW5kKFZNKiB2bSwgRXhlY1N0YXRlKiBjYWxs
RnJhbWUsIEpTVmFsdWUgZXhjZXB0aW9uVmFsdWUpCiB7CisgICAgaWYgKE9wdGlvbnM6OmJyZWFr
T25UaHJvdygpKSB7CisgICAgICAgIGRhdGFMb2coIkluIGNhbGwgZnJhbWUgIiwgUmF3UG9pbnRl
cihjYWxsRnJhbWUpLCAiIGZvciBjb2RlIGJsb2NrICIsICpjYWxsRnJhbWUtPmNvZGVCbG9jaygp
LCAiXG4iKTsKKyAgICAgICAgQ1JBU0goKTsKKyAgICB9CisgICAgCiAgICAgUkVMRUFTRV9BU1NF
UlQoZXhjZXB0aW9uVmFsdWUpOwogICAgIEhhbmRsZXJJbmZvKiBoYW5kbGVyID0gdm0tPmludGVy
cHJldGVyLT51bndpbmQoY2FsbEZyYW1lLCBleGNlcHRpb25WYWx1ZSk7IC8vIFRoaXMgbWF5IHVw
ZGF0ZSBjYWxsRnJhbWUuCiAKQEAgLTU2LDcgKzYxLDcgQEAgdm9pZCBnZW5lcmljVW53aW5kKFZN
KiB2bSwgRXhlY1N0YXRlKiBjYWxsRnJhbWUsIEpTVmFsdWUgZXhjZXB0aW9uVmFsdWUpCiAgICAg
ICAgIGNhdGNoUm91dGluZSA9IGNhdGNoUENGb3JJbnRlcnByZXRlci0+dS5wb2ludGVyOwogI2Vu
ZGlmCiAgICAgfSBlbHNlCi0gICAgICAgIGNhdGNoUm91dGluZSA9IExMSW50OjpnZXRDb2RlUHRy
KHJldHVybkZyb21KYXZhU2NyaXB0KTsKKyAgICAgICAgY2F0Y2hSb3V0aW5lID0gTExJbnQ6Omdl
dENvZGVQdHIoaGFuZGxlVW5jYXVnaHRFeGNlcHRpb24pOwogICAgIAogICAgIHZtLT5jYWxsRnJh
bWVGb3JUaHJvdyA9IGNhbGxGcmFtZTsKICAgICB2bS0+dGFyZ2V0TWFjaGluZVBDRm9yVGhyb3cg
PSBjYXRjaFJvdXRpbmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VElubGluZUNhY2hlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
SW5saW5lQ2FjaGVHZW5lcmF0b3IuY3BwCmluZGV4IDc0YjA4NmE3YzU3MzQ2M2QwNzNmZjMxNDg2
NTdiMGQwY2FjNTFmYjYuLjJmM2VmNTcwZDU4OGQ5ZTdhODczOWY0OTQwNmFlMmYxNjYxMjc1Njcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5l
cmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVH
ZW5lcmF0b3IuY3BwCkBAIC00OSw3ICs0OSw3IEBAIEpJVElubGluZUNhY2hlR2VuZXJhdG9yOjpK
SVRJbmxpbmVDYWNoZUdlbmVyYXRvcihDb2RlQmxvY2sqIGNvZGVCbG9jaywgQ29kZU9yaWdpCiAK
IEpJVEJ5SWRHZW5lcmF0b3I6OkpJVEJ5SWRHZW5lcmF0b3IoCiAgICAgQ29kZUJsb2NrKiBjb2Rl
QmxvY2ssIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgY29uc3QgUmVnaXN0ZXJTZXQmIHVzZWRSZWdp
c3RlcnMsCi0gICAgR1BSUmVnIGNhbGxGcmFtZVJlZ2lzdGVyLCBKU1ZhbHVlUmVncyBiYXNlLCBK
U1ZhbHVlUmVncyB2YWx1ZSwgYm9vbCByZWdpc3RlcnNGbHVzaGVkKQorICAgIEpTVmFsdWVSZWdz
IGJhc2UsIEpTVmFsdWVSZWdzIHZhbHVlLCBib29sIHJlZ2lzdGVyc0ZsdXNoZWQpCiAgICAgOiBK
SVRJbmxpbmVDYWNoZUdlbmVyYXRvcihjb2RlQmxvY2ssIGNvZGVPcmlnaW4pCiAgICAgLCBtX2Jh
c2UoYmFzZSkKICAgICAsIG1fdmFsdWUodmFsdWUpCkBAIC02Miw3ICs2Miw2IEBAIEpJVEJ5SWRH
ZW5lcmF0b3I6OkpJVEJ5SWRHZW5lcmF0b3IoCiAgICAgbV9zdHViSW5mby0+cGF0Y2gudXNlZFJl
Z2lzdGVycy5zZXQoYmFzZSk7CiAgICAgbV9zdHViSW5mby0+cGF0Y2gudXNlZFJlZ2lzdGVycy5z
ZXQodmFsdWUpOwogICAgIAotICAgIG1fc3R1YkluZm8tPnBhdGNoLmNhbGxGcmFtZVJlZ2lzdGVy
ID0gc3RhdGljX2Nhc3Q8aW50OF90PihjYWxsRnJhbWVSZWdpc3Rlcik7CiAgICAgbV9zdHViSW5m
by0+cGF0Y2guYmFzZUdQUiA9IHN0YXRpY19jYXN0PGludDhfdD4oYmFzZS5wYXlsb2FkR1BSKCkp
OwogICAgIG1fc3R1YkluZm8tPnBhdGNoLnZhbHVlR1BSID0gc3RhdGljX2Nhc3Q8aW50OF90Pih2
YWx1ZS5wYXlsb2FkR1BSKCkpOwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCkBAIC0xMzAsMTEgKzEy
OSw5IEBAIHZvaWQgSklUR2V0QnlJZEdlbmVyYXRvcjo6Z2VuZXJhdGVGYXN0UGF0aChNYWNyb0Fz
c2VtYmxlciYgaml0KQogCiBKSVRQdXRCeUlkR2VuZXJhdG9yOjpKSVRQdXRCeUlkR2VuZXJhdG9y
KAogICAgIENvZGVCbG9jayogY29kZUJsb2NrLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIGNvbnN0
IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzLAotICAgIEdQUlJlZyBjYWxsRnJhbWVSZWdpc3Rl
ciwgSlNWYWx1ZVJlZ3MgYmFzZSwgSlNWYWx1ZVJlZ3MgdmFsdWUsIEdQUlJlZyBzY3JhdGNoLAot
ICAgIGJvb2wgcmVnaXN0ZXJzRmx1c2hlZCwgRUNNQU1vZGUgZWNtYU1vZGUsIFB1dEtpbmQgcHV0
S2luZCkKLSAgICA6IEpJVEJ5SWRHZW5lcmF0b3IoCi0gICAgICAgIGNvZGVCbG9jaywgY29kZU9y
aWdpbiwgdXNlZFJlZ2lzdGVycywgY2FsbEZyYW1lUmVnaXN0ZXIsIGJhc2UsIHZhbHVlLAotICAg
ICAgICByZWdpc3RlcnNGbHVzaGVkKQorICAgIEpTVmFsdWVSZWdzIGJhc2UsIEpTVmFsdWVSZWdz
IHZhbHVlLCBHUFJSZWcgc2NyYXRjaCwgYm9vbCByZWdpc3RlcnNGbHVzaGVkLAorICAgIEVDTUFN
b2RlIGVjbWFNb2RlLCBQdXRLaW5kIHB1dEtpbmQpCisgICAgOiBKSVRCeUlkR2VuZXJhdG9yKGNv
ZGVCbG9jaywgY29kZU9yaWdpbiwgdXNlZFJlZ2lzdGVycywgYmFzZSwgdmFsdWUsIHJlZ2lzdGVy
c0ZsdXNoZWQpCiAgICAgLCBtX3NjcmF0Y2goc2NyYXRjaCkKICAgICAsIG1fZWNtYU1vZGUoZWNt
YU1vZGUpCiAgICAgLCBtX3B1dEtpbmQocHV0S2luZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuaAppbmRleCA2ZmYwYzA5YjUxNDNj
YzIyN2VmNGVhMWJiMjY4YmE3M2NkMzJiOGQ4Li42ZGI5ODM2ZDAyYzM1ZWVmZGM4OWIwODc0MDM0
NGEwNzJlZWEyN2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElu
bGluZUNhY2hlR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVDYWNoZUdlbmVyYXRvci5oCkBAIC01Niw4ICs1Niw4IEBAIHByb3RlY3RlZDoKICAgICBK
SVRCeUlkR2VuZXJhdG9yKCkgeyB9CiAKICAgICBKSVRCeUlkR2VuZXJhdG9yKAotICAgICAgICBD
b2RlQmxvY2sqLCBDb2RlT3JpZ2luLCBjb25zdCBSZWdpc3RlclNldCYsIEdQUlJlZyBjYWxsRnJh
bWVSZWdpc3RlciwKLSAgICAgICAgSlNWYWx1ZVJlZ3MgYmFzZSwgSlNWYWx1ZVJlZ3MgdmFsdWUs
IGJvb2wgcmVnaXN0ZXJzRmx1c2hlZCk7CisgICAgICAgIENvZGVCbG9jayosIENvZGVPcmlnaW4s
IGNvbnN0IFJlZ2lzdGVyU2V0JiwgSlNWYWx1ZVJlZ3MgYmFzZSwgSlNWYWx1ZVJlZ3MgdmFsdWUs
CisgICAgICAgIGJvb2wgcmVnaXN0ZXJzRmx1c2hlZCk7CiAgICAgCiBwdWJsaWM6CiAgICAgdm9p
ZCByZXBvcnRTbG93UGF0aENhbGwoTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIHNsb3dQYXRoQmVnaW4s
IE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGwpCkBAIC05NiwxMSArOTYsOCBAQCBwdWJsaWM6CiAK
ICAgICBKSVRHZXRCeUlkR2VuZXJhdG9yKAogICAgICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jaywg
Q29kZU9yaWdpbiBjb2RlT3JpZ2luLCBjb25zdCBSZWdpc3RlclNldCYgdXNlZFJlZ2lzdGVycywK
LSAgICAgICAgR1BSUmVnIGNhbGxGcmFtZVJlZ2lzdGVyLCBKU1ZhbHVlUmVncyBiYXNlLCBKU1Zh
bHVlUmVncyB2YWx1ZSwKLSAgICAgICAgYm9vbCByZWdpc3RlcnNGbHVzaGVkKQotICAgICAgICA6
IEpJVEJ5SWRHZW5lcmF0b3IoCi0gICAgICAgICAgICBjb2RlQmxvY2ssIGNvZGVPcmlnaW4sIHVz
ZWRSZWdpc3RlcnMsIGNhbGxGcmFtZVJlZ2lzdGVyLCBiYXNlLCB2YWx1ZSwKLSAgICAgICAgICAg
IHJlZ2lzdGVyc0ZsdXNoZWQpCisgICAgICAgIEpTVmFsdWVSZWdzIGJhc2UsIEpTVmFsdWVSZWdz
IHZhbHVlLCBib29sIHJlZ2lzdGVyc0ZsdXNoZWQpCisgICAgICAgIDogSklUQnlJZEdlbmVyYXRv
cihjb2RlQmxvY2ssIGNvZGVPcmlnaW4sIHVzZWRSZWdpc3RlcnMsIGJhc2UsIHZhbHVlLCByZWdp
c3RlcnNGbHVzaGVkKQogICAgIHsKICAgICB9CiAgICAgCkBAIC0xMTIsOSArMTA5LDggQEAgcHVi
bGljOgogICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IoKSB7IH0KIAogICAgIEpJVFB1dEJ5SWRHZW5l
cmF0b3IoCi0gICAgICAgIENvZGVCbG9jayosIENvZGVPcmlnaW4sIGNvbnN0IFJlZ2lzdGVyU2V0
JiB1c2VkUmVnaXN0ZXJzLCBHUFJSZWcgY2FsbEZyYW1lUmVnaXN0ZXIsCi0gICAgICAgIEpTVmFs
dWVSZWdzIGJhc2UsIEpTVmFsdWVSZWdzIHZhbHVlLCBHUFJSZWcgc2NyYXRjaCwgYm9vbCByZWdp
c3RlcnNGbHVzaGVkLAotICAgICAgICBFQ01BTW9kZSwgUHV0S2luZCk7CisgICAgICAgIENvZGVC
bG9jayosIENvZGVPcmlnaW4sIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzLCBKU1Zh
bHVlUmVncyBiYXNlLAorICAgICAgICBKU1ZhbHVlUmVncyB2YWx1ZSwgR1BSUmVnIHNjcmF0Y2gs
IGJvb2wgcmVnaXN0ZXJzRmx1c2hlZCwgRUNNQU1vZGUsIFB1dEtpbmQpOwogICAgIAogICAgIHZv
aWQgZ2VuZXJhdGVGYXN0UGF0aChNYWNyb0Fzc2VtYmxlciYpOwogICAgIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVElubGluZXMuaAppbmRleCA5MzMwZTc3M2U3NDUxNDM1NDIyMGVmYTY2Nzg2
M2E2ZTlkN2U3MzI2Li43MGJiNGYzZWNiNDIwM2RkMTY1MDIzZTIzNDBiZGY5ZDUyYWM1YjM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaApAQCAtOTMsNyArOTMsNiBAQCBB
TFdBWVNfSU5MSU5FIHZvaWQgSklUOjplbWl0TG9hZENoYXJhY3RlclN0cmluZyhSZWdpc3RlcklE
IHNyYywgUmVnaXN0ZXJJRCBkc3QsCiBBTFdBWVNfSU5MSU5FIEpJVDo6Q2FsbCBKSVQ6OmVtaXRO
YWtlZENhbGwoQ29kZVB0ciBmdW5jdGlvbikKIHsKICAgICBBU1NFUlQobV9ieXRlY29kZU9mZnNl
dCAhPSAodW5zaWduZWQpLTEpOyAvLyBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBjYWxsZWQg
ZHVyaW5nIGhvdC9jb2xkIHBhdGggZ2VuZXJhdGlvbiwgc28gdGhhdCBtX2J5dGVjb2RlT2Zmc2V0
IGlzIHNldC4KLQogICAgIENhbGwgbmFrZWRDYWxsID0gbmVhckNhbGwoKTsKICAgICBtX2NhbGxz
LmFwcGVuZChDYWxsUmVjb3JkKG5ha2VkQ2FsbCwgbV9ieXRlY29kZU9mZnNldCwgZnVuY3Rpb24u
ZXhlY3V0YWJsZUFkZHJlc3MoKSkpOwogICAgIHJldHVybiBuYWtlZENhbGw7CkBAIC0yMjMsMjEg
KzIyMiwyMSBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9w
ZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FWiBvcGVyYXRpbwogICAgIHJldHVybiBhcHBlbmRDYWxs
V2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7CiB9CiAK
LUFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFBf
SklUT3BlcmF0aW9uX0VaIG9wZXJhdGlvbiwgaW50MzJfdCBvcCkKK0FMV0FZU19JTkxJTkUgTWFj
cm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFNfSklUT3BlcmF0aW9uX0VDQyBv
cGVyYXRpb24sIFJlZ2lzdGVySUQgcmVnT3AxLCBSZWdpc3RlcklEIHJlZ09wMikKIHsKLSAgICBz
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbTMyKG9wKSk7CisgICAgc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKHJlZ09wMSwgcmVnT3AyKTsKICAgICByZXR1cm4gYXBwZW5k
Q2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24pOwogfQogCi1BTFdBWVNfSU5MSU5FIE1h
Y3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihTX0pJVE9wZXJhdGlvbl9FQ0Mg
b3BlcmF0aW9uLCBSZWdpc3RlcklEIHJlZ09wMSwgUmVnaXN0ZXJJRCByZWdPcDIpCitBTFdBWVNf
SU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihTX0pJVE9wZXJh
dGlvbl9FT0pzcyBvcGVyYXRpb24sIFJlZ2lzdGVySUQgcmVnT3AxLCBSZWdpc3RlcklEIHJlZ09w
MikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUocmVnT3AxLCByZWdPcDIpOwog
ICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiB9CiAK
LUFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFNf
SklUT3BlcmF0aW9uX0VPSnNzIG9wZXJhdGlvbiwgUmVnaXN0ZXJJRCByZWdPcDEsIFJlZ2lzdGVy
SUQgcmVnT3AyKQorQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxP
cGVyYXRpb24oU3BydF9KSVRPcGVyYXRpb25fRVogb3BlcmF0aW9uLCBpbnQzMl90IG9wKQogewot
ICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShyZWdPcDEsIHJlZ09wMik7CisgICAgc2V0
dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW0zMihvcCkpOwogICAgIHJldHVybiBh
cHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiB9CiAKQEAgLTI3Nyw2ICsy
NzYsMTMgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVy
YXRpb25XaXRoQ2FsbEZyYW1lUm9sbGJhY2tPbkV4Y2UKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdp
dGhDYWxsRnJhbWVSb2xsYmFja09uRXhjZXB0aW9uKG9wZXJhdGlvbik7CiB9CiAKK0FMV0FZU19J
TkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uTm9FeGNlcHRpb25D
aGVjayhKX0pJVE9wZXJhdGlvbl9FRSBvcGVyYXRpb24sIFJlZ2lzdGVySUQgcmVnT3ApCit7Cisg
ICAgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKHJlZ09wKTsKKyAgICB1cGRhdGVUb3BDYWxs
RnJhbWUoKTsKKyAgICByZXR1cm4gYXBwZW5kQ2FsbChvcGVyYXRpb24pOworfQorCiBBTFdBWVNf
SU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbldpdGhDYWxsRnJh
bWVSb2xsYmFja09uRXhjZXB0aW9uKFZfSklUT3BlcmF0aW9uX0VDYiBvcGVyYXRpb24sIENvZGVC
bG9jayogcG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3Rl
ZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNw
cAppbmRleCAyYmRhZTE5MTRkMDc1YTRkZjYwYmE2MDk4ZTMxNjM5NzFmYWI1MzFmLi5jYTdhZDEx
ZjJlMGI4YTNiOGIxODU4OTFkN2U1MjJiYWU0MDNhMjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJKU0Z1bmN0
aW9uLmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVJdGVyYXRvci5oIgogI2luY2x1ZGUgIkxp
bmtCdWZmZXIuaCIKKyNpbmNsdWRlICJNYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oIgog
I2luY2x1ZGUgIlNsb3dQYXRoQ2FsbC5oIgogI2luY2x1ZGUgIlZpcnR1YWxSZWdpc3Rlci5oIgog
CkBAIC03Myw3ICs3NCw3IEBAIHZvaWQgSklUOjplbWl0X29wX2VuZChJbnN0cnVjdGlvbiogY3Vy
cmVudEluc3RydWN0aW9uKQogewogICAgIFJFTEVBU0VfQVNTRVJUKHJldHVyblZhbHVlR1BSICE9
IGNhbGxGcmFtZVJlZ2lzdGVyKTsKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvblsxXS51Lm9wZXJhbmQsIHJldHVyblZhbHVlR1BSKTsKLSAgICByZXN0b3JlUmV0
dXJuQWRkcmVzc0JlZm9yZVJldHVybihBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBDYWxsRnJh
bWU6OnJldHVyblBDT2Zmc2V0KCkpKTsKKyAgICBlbWl0RnVuY3Rpb25FcGlsb2d1ZSgpOwogICAg
IHJldCgpOwogfQogCkBAIC0yNjIsMTQgKzI2Myw4IEBAIHZvaWQgSklUOjplbWl0X29wX3JldChJ
bnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIC8vIFJldHVybiB0aGUgcmVzdWx0
IGluICVlYXguCiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kLCByZXR1cm5WYWx1ZUdQUik7CiAKLSAgICAvLyBHcmFiIHRoZSByZXR1cm4g
YWRkcmVzcy4KLSAgICBlbWl0R2V0UmV0dXJuUENGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKHJlZ1Qx
KTsKLQotICAgIC8vIFJlc3RvcmUgb3VyIGNhbGxlcidzICJyIi4KLSAgICBlbWl0R2V0Q2FsbGVy
RnJhbWVGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKGNhbGxGcmFtZVJlZ2lzdGVyKTsKLQotICAgIC8v
IFJldHVybi4KLSAgICByZXN0b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybihyZWdUMSk7Cisg
ICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoKTsKKyAgICBlbWl0RnVuY3Rpb25FcGlsb2d1
ZSgpOwogICAgIHJldCgpOwogfQogCkBAIC0yODUsMTQgKzI4MCw4IEBAIHZvaWQgSklUOjplbWl0
X29wX3JldF9vYmplY3Rfb3JfdGhpcyhJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQog
ICAgIGxvYWRQdHIoQWRkcmVzcyhyZXR1cm5WYWx1ZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVPZmZz
ZXQoKSksIHJlZ1QyKTsKICAgICBKdW1wIG5vdE9iamVjdCA9IGVtaXRKdW1wSWZOb3RPYmplY3Qo
cmVnVDIpOwogCi0gICAgLy8gR3JhYiB0aGUgcmV0dXJuIGFkZHJlc3MuCi0gICAgZW1pdEdldFJl
dHVyblBDRnJvbUNhbGxGcmFtZUhlYWRlclB0cihyZWdUMSk7Ci0KLSAgICAvLyBSZXN0b3JlIG91
ciBjYWxsZXIncyAiciIuCi0gICAgZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRl
clB0cihjYWxsRnJhbWVSZWdpc3Rlcik7Ci0KICAgICAvLyBSZXR1cm4uCi0gICAgcmVzdG9yZVJl
dHVybkFkZHJlc3NCZWZvcmVSZXR1cm4ocmVnVDEpOworICAgIGVtaXRGdW5jdGlvbkVwaWxvZ3Vl
KCk7CiAgICAgcmV0KCk7CiAKICAgICAvLyBSZXR1cm4gJ3RoaXMnIGluICVlYXguCkBAIC0zMDAs
MTQgKzI4OSw4IEBAIHZvaWQgSklUOjplbWl0X29wX3JldF9vYmplY3Rfb3JfdGhpcyhJbnN0cnVj
dGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIG5vdE9iamVjdC5saW5rKHRoaXMpOwogICAg
IGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwg
cmV0dXJuVmFsdWVHUFIpOwogCi0gICAgLy8gR3JhYiB0aGUgcmV0dXJuIGFkZHJlc3MuCi0gICAg
ZW1pdEdldFJldHVyblBDRnJvbUNhbGxGcmFtZUhlYWRlclB0cihyZWdUMSk7Ci0KLSAgICAvLyBS
ZXN0b3JlIG91ciBjYWxsZXIncyAiciIuCi0gICAgZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxG
cmFtZUhlYWRlclB0cihjYWxsRnJhbWVSZWdpc3Rlcik7Ci0KICAgICAvLyBSZXR1cm4uCi0gICAg
cmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4ocmVnVDEpOworICAgIGVtaXRGdW5jdGlv
bkVwaWxvZ3VlKCk7CiAgICAgcmV0KCk7CiB9CiAKQEAgLTY1MCw2ICs2MzMsOSBAQCB2b2lkIEpJ
VDo6ZW1pdF9vcF9jYXRjaChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogewogICAg
IG1vdmUoVHJ1c3RlZEltbVB0cihtX3ZtKSwgcmVnVDMpOwogICAgIGxvYWQ2NChBZGRyZXNzKHJl
Z1QzLCBWTTo6Y2FsbEZyYW1lRm9yVGhyb3dPZmZzZXQoKSksIGNhbGxGcmFtZVJlZ2lzdGVyKTsK
KworICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoc3RhY2tQb2ludGVyT2Zmc2V0Rm9yKGNvZGVCbG9j
aygpKSAqIHNpemVvZihSZWdpc3RlcikpLCBjYWxsRnJhbWVSZWdpc3Rlciwgc3RhY2tQb2ludGVy
UmVnaXN0ZXIpOworCiAgICAgbG9hZDY0KEFkZHJlc3MocmVnVDMsIFZNOjpleGNlcHRpb25PZmZz
ZXQoKSksIHJlZ1QwKTsKICAgICBzdG9yZTY0KFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUo
SlNWYWx1ZSgpKSksIEFkZHJlc3MocmVnVDMsIFZNOjpleGNlcHRpb25PZmZzZXQoKSkpOwogICAg
IGVtaXRQdXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCk7
CkBAIC0xMTAzLDIwICsxMDg5LDggQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbG9vcF9oaW50KEluc3Ry
dWN0aW9uKikKIHsKICAgICAvLyBFbWl0IHRoZSBKSVQgb3B0aW1pemF0aW9uIGNoZWNrOiAKICAg
ICBpZiAoY2FuQmVPcHRpbWl6ZWQoKSkgewotICAgICAgICBpZiAoT3B0aW9uczo6ZW5hYmxlT1NS
RW50cnlJbkxvb3BzKCkpIHsKLSAgICAgICAgICAgIGFkZFNsb3dDYXNlKGJyYW5jaEFkZDMyKFBv
c2l0aXZlT3JaZXJvLCBUcnVzdGVkSW1tMzIoT3B0aW9uczo6ZXhlY3V0aW9uQ291bnRlckluY3Jl
bWVudEZvckxvb3AoKSksCi0gICAgICAgICAgICAgICAgQWJzb2x1dGVBZGRyZXNzKG1fY29kZUJs
b2NrLT5hZGRyZXNzT2ZKSVRFeGVjdXRlQ291bnRlcigpKSkpOwotICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgLy8gQWRkIHdpdGggc2F0dXJhdGlvbi4KLSAgICAgICAgICAgIG1vdmUoVHJ1
c3RlZEltbVB0cihtX2NvZGVCbG9jay0+YWRkcmVzc09mSklURXhlY3V0ZUNvdW50ZXIoKSksIHJl
Z1QzKTsKLSAgICAgICAgICAgIGxvYWQzMihyZWdUMywgcmVnVDIpOwotICAgICAgICAgICAgSnVt
cCBkb250QWRkID0gYnJhbmNoMzIoCi0gICAgICAgICAgICAgICAgR3JlYXRlclRoYW4sIHJlZ1Qy
LAotICAgICAgICAgICAgICAgIFRydXN0ZWRJbW0zMihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMy
X3Q+OjptYXgoKSAtIE9wdGlvbnM6OmV4ZWN1dGlvbkNvdW50ZXJJbmNyZW1lbnRGb3JMb29wKCkp
KTsKLSAgICAgICAgICAgIGFkZDMyKFRydXN0ZWRJbW0zMihPcHRpb25zOjpleGVjdXRpb25Db3Vu
dGVySW5jcmVtZW50Rm9yTG9vcCgpKSwgcmVnVDIpOwotICAgICAgICAgICAgc3RvcmUzMihyZWdU
MiwgcmVnVDMpOwotICAgICAgICAgICAgZG9udEFkZC5saW5rKHRoaXMpOwotICAgICAgICB9Cisg
ICAgICAgIGFkZFNsb3dDYXNlKGJyYW5jaEFkZDMyKFBvc2l0aXZlT3JaZXJvLCBUcnVzdGVkSW1t
MzIoT3B0aW9uczo6ZXhlY3V0aW9uQ291bnRlckluY3JlbWVudEZvckxvb3AoKSksCisgICAgICAg
ICAgICBBYnNvbHV0ZUFkZHJlc3MobV9jb2RlQmxvY2stPmFkZHJlc3NPZkpJVEV4ZWN1dGVDb3Vu
dGVyKCkpKSk7CiAgICAgfQogCiAgICAgLy8gRW1pdCB0aGUgd2F0Y2hkb2cgdGltZXIgY2hlY2s6
CkBAIC0xMTI4LDExICsxMTAyLDEyIEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9sb29wX2hpbnQo
SW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJiBpCiB7CiAjaWYg
RU5BQkxFKERGR19KSVQpCiAgICAgLy8gRW1pdCB0aGUgc2xvdyBwYXRoIGZvciB0aGUgSklUIG9w
dGltaXphdGlvbiBjaGVjazoKLSAgICBpZiAoY2FuQmVPcHRpbWl6ZWQoKSAmJiBPcHRpb25zOjpl
bmFibGVPU1JFbnRyeUluTG9vcHMoKSkgeworICAgIGlmIChjYW5CZU9wdGltaXplZCgpKSB7CiAg
ICAgICAgIGxpbmtTbG93Q2FzZShpdGVyKTsKICAgICAgICAgCiAgICAgICAgIGNhbGxPcGVyYXRp
b24ob3BlcmF0aW9uT3B0aW1pemUsIG1fYnl0ZWNvZGVPZmZzZXQpOwogICAgICAgICBKdW1wIG5v
T3B0aW1pemVkRW50cnkgPSBicmFuY2hUZXN0UHRyKFplcm8sIHJldHVyblZhbHVlR1BSKTsKKyAg
ICAgICAgbW92ZShyZXR1cm5WYWx1ZUdQUjIsIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKICAgICAg
ICAganVtcChyZXR1cm5WYWx1ZUdQUik7CiAgICAgICAgIG5vT3B0aW1pemVkRW50cnkubGluayh0
aGlzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVz
MzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3Bw
CmluZGV4IDI5ZTg4ODBhYTU2NWM1MmRkNjNiZjMyNDZhNTBiYTg5OTlmNWUwY2MuLjk4ZDEwYTNm
NGRjYjEyZDg5ZjM3YTEyZjIyNjA0Yjk0NmUwOGU2MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDA5LCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgUGF0cmljayBHYW5zdGVy
ZXIgPHBhcm9nYUBwYXJvZ2EuY29tPgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzksNiArMzksNyBA
QAogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lSXRlcmF0b3IuaCIKICNpbmNsdWRlICJKU1Zhcmlh
YmxlT2JqZWN0LmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgorI2luY2x1ZGUgIk1heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmgiCiAjaW5jbHVkZSAiU2xvd1BhdGhDYWxsLmgiCiAjaW5j
bHVkZSAiVmlydHVhbFJlZ2lzdGVyLmgiCiAKQEAgLTQ4LDYgKzQ5LDcgQEAgSklUOjpDb2RlUmVm
IEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElOYXRpdmVDYWxsKFZNKiB2bSwgTmF0aXZlRnVuY3Rpb24g
ZnVuYykKIHsKICAgICBDYWxsIG5hdGl2ZUNhbGw7CiAKKyAgICBlbWl0RnVuY3Rpb25Qcm9sb2d1
ZSgpOwogICAgIGVtaXRQdXRJbW1lZGlhdGVUb0NhbGxGcmFtZUhlYWRlcigwLCBKU1N0YWNrOjpD
b2RlQmxvY2spOwogICAgIHN0b3JlUHRyKGNhbGxGcmFtZVJlZ2lzdGVyLCAmbV92bS0+dG9wQ2Fs
bEZyYW1lKTsKIApAQCAtNTgsMjEgKzYwLDE3IEBAIEpJVDo6Q29kZVJlZiBKSVQ6OnByaXZhdGVD
b21waWxlQ1RJTmF0aXZlQ2FsbChWTSogdm0sIE5hdGl2ZUZ1bmN0aW9uIGZ1bmMpCiAgICAgZW1p
dEdldEZyb21DYWxsRnJhbWVIZWFkZXJQdHIoSlNTdGFjazo6U2NvcGVDaGFpbiwgcmVnVDEsIHJl
Z1QwKTsKICAgICBlbWl0UHV0Q2VsbFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QxLCBKU1N0YWNrOjpT
Y29wZUNoYWluKTsKIAotICAgIHBlZWsocmVnVDEpOwotICAgIGVtaXRQdXRSZXR1cm5QQ1RvQ2Fs
bEZyYW1lSGVhZGVyKHJlZ1QxKTsKLQogICAgIC8vIENhbGxpbmcgY29udmVudGlvbjogICAgICBm
KGVjeCwgZWR4LCAuLi4pOwogICAgIC8vIEhvc3QgZnVuY3Rpb24gc2lnbmF0dXJlOiBmKEV4ZWNT
dGF0ZSopOwogICAgIG1vdmUoY2FsbEZyYW1lUmVnaXN0ZXIsIFg4NlJlZ2lzdGVyczo6ZWN4KTsK
IAotICAgIHN1YlB0cihUcnVzdGVkSW1tMzIoMTYgLSBzaXplb2Yodm9pZCopKSwgc3RhY2tQb2lu
dGVyUmVnaXN0ZXIpOyAvLyBBbGlnbiBzdGFjayBhZnRlciBjYWxsLgotCi0gICAgbW92ZShyZWdU
MCwgY2FsbEZyYW1lUmVnaXN0ZXIpOyAvLyBFYWdlcmx5IHJlc3RvcmUgY2FsbGVyIGZyYW1lIHJl
Z2lzdGVyIHRvIGF2b2lkIGxvYWRpbmcgZnJvbSBzdGFjay4KKyAgICBzdWJQdHIoVHJ1c3RlZElt
bTMyKDgpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7IC8vIEFsaWduIHN0YWNrIGZvciBjYWxsLgor
ICAgIHN0b3JlUHRyKFg4NlJlZ2lzdGVyczo6ZWN4LCBBZGRyZXNzKHN0YWNrUG9pbnRlclJlZ2lz
dGVyKSk7CiAKICAgICAvLyBjYWxsIHRoZSBmdW5jdGlvbgogICAgIG5hdGl2ZUNhbGwgPSBjYWxs
KCk7CiAKLSAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKDE2IC0gc2l6ZW9mKHZvaWQqKSksIHN0YWNr
UG9pbnRlclJlZ2lzdGVyKTsKKyAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKDgpLCBzdGFja1BvaW50
ZXJSZWdpc3Rlcik7CiAKICNlbGlmIENQVShBUk0pIHx8IENQVShTSDQpIHx8IENQVShNSVBTKQog
ICAgIC8vIExvYWQgY2FsbGVyIGZyYW1lJ3Mgc2NvcGUgY2hhaW4gaW50byB0aGlzIGNhbGxmcmFt
ZSBzbyB0aGF0IHdoYXRldmVyIHdlIGNhbGwgY2FuIGdldCB0byBpdHMgZ2xvYmFsIGRhdGEuCkBA
IC04MCw5ICs3OCw2IEBAIEpJVDo6Q29kZVJlZiBKSVQ6OnByaXZhdGVDb21waWxlQ1RJTmF0aXZl
Q2FsbChWTSogdm0sIE5hdGl2ZUZ1bmN0aW9uIGZ1bmMpCiAgICAgZW1pdEdldEZyb21DYWxsRnJh
bWVIZWFkZXJQdHIoSlNTdGFjazo6U2NvcGVDaGFpbiwgcmVnVDEsIHJlZ1QyKTsKICAgICBlbWl0
UHV0Q2VsbFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QxLCBKU1N0YWNrOjpTY29wZUNoYWluKTsKIAot
ICAgIHByZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVyQ2FsbChyZWdUMyk7IC8vIENhbGxlZSBwcmVz
ZXJ2ZWQKLSAgICBlbWl0UHV0UmV0dXJuUENUb0NhbGxGcmFtZUhlYWRlcihyZWdUMyk7Ci0KICNp
ZiBDUFUoTUlQUykKICAgICAvLyBBbGxvY2F0ZSBzdGFjayBzcGFjZSBmb3IgKHVudXNlZCkgMTYg
Ynl0ZXMgKDgtYnl0ZSBhbGlnbmVkKSBmb3IgNCBhcmd1bWVudHMuCiAgICAgc3ViUHRyKFRydXN0
ZWRJbW0zMigxNiksIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKQEAgLTkzLDcgKzg4LDYgQEAgSklU
OjpDb2RlUmVmIEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElOYXRpdmVDYWxsKFZNKiB2bSwgTmF0aXZl
RnVuY3Rpb24gZnVuYykKICAgICBtb3ZlKGNhbGxGcmFtZVJlZ2lzdGVyLCBhcmd1bWVudEdQUjAp
OwogCiAgICAgZW1pdEdldEZyb21DYWxsRnJhbWVIZWFkZXJQdHIoSlNTdGFjazo6Q2FsbGVlLCBh
cmd1bWVudEdQUjEpOwotICAgIG1vdmUocmVnVDIsIGNhbGxGcmFtZVJlZ2lzdGVyKTsgLy8gRWFn
ZXJseSByZXN0b3JlIGNhbGxlciBmcmFtZSByZWdpc3RlciB0byBhdm9pZCBsb2FkaW5nIGZyb20g
c3RhY2suCiAgICAgbG9hZFB0cihBZGRyZXNzKGFyZ3VtZW50R1BSMSwgT0JKRUNUX09GRlNFVE9G
KEpTRnVuY3Rpb24sIG1fZXhlY3V0YWJsZSkpLCByZWdUMik7CiAKICAgICAvLyBjYWxsIHRoZSBm
dW5jdGlvbgpAQCAtMTEzLDMwICsxMDcsMjcgQEAgSklUOjpDb2RlUmVmIEpJVDo6cHJpdmF0ZUNv
bXBpbGVDVElOYXRpdmVDYWxsKFZNKiB2bSwgTmF0aXZlRnVuY3Rpb24gZnVuYykKICAgICAvLyBD
aGVjayBmb3IgYW4gZXhjZXB0aW9uCiAgICAgSnVtcCBzYXdFeGNlcHRpb24gPSBicmFuY2gzMihO
b3RFcXVhbCwgQWJzb2x1dGVBZGRyZXNzKHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KHZtLT5hZGRy
ZXNzT2ZFeGNlcHRpb24oKSkgKyBPQkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMudGFn
KSksIFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpFbXB0eVZhbHVlVGFnKSk7IAogCisgICAgZW1pdEZ1
bmN0aW9uRXBpbG9ndWUoKTsKICAgICAvLyBSZXR1cm4uCiAgICAgcmV0KCk7CiAKICAgICAvLyBI
YW5kbGUgYW4gZXhjZXB0aW9uCiAgICAgc2F3RXhjZXB0aW9uLmxpbmsodGhpcyk7CiAKLSAgICAv
LyBHcmFiIHRoZSByZXR1cm4gYWRkcmVzcy4KLSAgICBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRl
ckNhbGwocmVnVDEpOwotCi0gICAgbW92ZShUcnVzdGVkSW1tUHRyKCZ2bS0+ZXhjZXB0aW9uTG9j
YXRpb24pLCByZWdUMik7Ci0gICAgc3RvcmVQdHIocmVnVDEsIHJlZ1QyKTsKICAgICBzdG9yZVB0
cihjYWxsRnJhbWVSZWdpc3RlciwgJm1fdm0tPnRvcENhbGxGcmFtZSk7CiAKICNpZiBDUFUoWDg2
KQotICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoLTEyKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwot
ICAgIHB1c2goY2FsbEZyYW1lUmVnaXN0ZXIpOworICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoLTQp
LCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgbG9hZFB0cihBZGRyZXNzKGNhbGxGcmFtZVJl
Z2lzdGVyKSwgWDg2UmVnaXN0ZXJzOjplY3gpOworICAgIHB1c2goWDg2UmVnaXN0ZXJzOjplY3gp
OwogI2Vsc2UKLSAgICBtb3ZlKGNhbGxGcmFtZVJlZ2lzdGVyLCBhcmd1bWVudEdQUjApOworICAg
IGxvYWRQdHIoQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3RlciksIGFyZ3VtZW50R1BSMCk7CiAjZW5k
aWYKICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIoRnVuY3Rpb25QdHIob3BlcmF0aW9uVk1IYW5kbGVF
eGNlcHRpb24pLnZhbHVlKCkpLCByZWdUMyk7CiAgICAgY2FsbChyZWdUMyk7CiAKICNpZiBDUFUo
WDg2KQotICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoMTYpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7
CisgICAgYWRkUHRyKFRydXN0ZWRJbW0zMig4KSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogI2Vu
ZGlmCiAKICAgICBqdW1wVG9FeGNlcHRpb25IYW5kbGVyKCk7CkBAIC0xNzUsNyArMTY2LDcgQEAg
dm9pZCBKSVQ6OmVtaXRfb3BfZW5kKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7
CiAgICAgQVNTRVJUKHJldHVyblZhbHVlR1BSICE9IGNhbGxGcmFtZVJlZ2lzdGVyKTsKICAgICBl
bWl0TG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kLCByZWdUMSwgcmVnVDApOwot
ICAgIHJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKEFkZHJlc3MoY2FsbEZyYW1lUmVn
aXN0ZXIsIENhbGxGcmFtZTo6cmV0dXJuUENPZmZzZXQoKSkpOworICAgIGVtaXRGdW5jdGlvbkVw
aWxvZ3VlKCk7CiAgICAgcmV0KCk7CiB9CiAKQEAgLTkyNyw2ICs5MTgsOSBAQCB2b2lkIEpJVDo6
ZW1pdF9vcF9jYXRjaChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIG1vdmUo
VHJ1c3RlZEltbVB0cihtX3ZtKSwgcmVnVDMpOwogICAgIC8vIG9wZXJhdGlvblRocm93IHJldHVy
bnMgdGhlIGNhbGxGcmFtZSBmb3IgdGhlIGhhbmRsZXIuCiAgICAgbG9hZDMyKEFkZHJlc3MocmVn
VDMsIFZNOjpjYWxsRnJhbWVGb3JUaHJvd09mZnNldCgpKSwgY2FsbEZyYW1lUmVnaXN0ZXIpOwor
CisgICAgYWRkUHRyKFRydXN0ZWRJbW0zMihzdGFja1BvaW50ZXJPZmZzZXRGb3IoY29kZUJsb2Nr
KCkpICogc2l6ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50ZXJS
ZWdpc3Rlcik7CisKICAgICAvLyBOb3cgc3RvcmUgdGhlIGV4Y2VwdGlvbiByZXR1cm5lZCBieSBv
cGVyYXRpb25UaHJvdy4KICAgICBsb2FkMzIoQWRkcmVzcyhyZWdUMywgVk06OmV4Y2VwdGlvbk9m
ZnNldCgpICsgT0JKRUNUX09GRlNFVE9GKEpTVmFsdWUsIHUuYXNCaXRzLnBheWxvYWQpKSwgcmVn
VDApOwogICAgIGxvYWQzMihBZGRyZXNzKHJlZ1QzLCBWTTo6ZXhjZXB0aW9uT2Zmc2V0KCkgKyBP
QkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMudGFnKSksIHJlZ1QxKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4IDViNjYwYWRhNDg4ZDUx
ZmQzMjk3MTk2ZTUyMjdlYjJkNGE4MGYwM2MuLjUwM2NmN2Q5Njk1ZGUxMTBlMmNlOTFhYzFlYzJk
NGNiNzFhZGQ4MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bl
cmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25z
LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMzAsMTIgKzMwLDEyIEBACiAjaW5jbHVkZSAiQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAi
QXJyYXlDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkNhbGxGcmFtZUlubGluZXMuaCIKLSNpbmNs
dWRlICJDb21tb25TbG93UGF0aHMuaCIKICNpbmNsdWRlICJERkdDb21waWxhdGlvbk1vZGUuaCIK
ICNpbmNsdWRlICJERkdEcml2ZXIuaCIKICNpbmNsdWRlICJERkdPU1JFbnRyeS5oIgogI2luY2x1
ZGUgIkRGR1dvcmtsaXN0LmgiCiAjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJFcnJvckhh
bmRsaW5nU2NvcGUuaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJIb3N0
Q2FsbFJldHVyblZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgiCkBAIC03MSw3ICs3MSw3IEBAIHZv
aWQgKiBfUmV0dXJuQWRkcmVzcyh2b2lkKTsKICNlbmRpZgogCiAKLXZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25TdGFja0NoZWNrKEV4ZWNTdGF0ZSogZXhlYywgQ29kZUJsb2NrKiBjb2RlQmxv
Y2spCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVGhyb3dTdGFja092ZXJmbG93RXJyb3Io
RXhlY1N0YXRlKiBleGVjLCBDb2RlQmxvY2sqIGNvZGVCbG9jaykKIHsKICAgICAvLyBXZSBwYXNz
IGluIG91ciBvd24gY29kZSBibG9jaywgYmVjYXVzZSB0aGUgY2FsbGZyYW1lIGhhc24ndCBiZWVu
IHBvcHVsYXRlZC4KICAgICBWTSogdm0gPSBjb2RlQmxvY2stPnZtKCk7CkBAIC04MCwxMSArODAs
OCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uU3RhY2tDaGVjayhFeGVjU3RhdGUqIGV4
ZWMsIENvZGVCbG9jayogY29kZUJsb2NrKQogICAgICAgICBjYWxsZXJGcmFtZSA9IGV4ZWM7CiAK
ICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBjYWxsZXJGcmFtZSk7Ci0KLSAg
ICBKU1N0YWNrJiBzdGFjayA9IHZtLT5pbnRlcnByZXRlci0+c3RhY2soKTsKLQotICAgIGlmIChV
TkxJS0VMWSghc3RhY2suZ3JvdygmZXhlYy0+cmVnaXN0ZXJzKClbdmlydHVhbFJlZ2lzdGVyRm9y
TG9jYWwoY29kZUJsb2NrLT5mcmFtZVJlZ2lzdGVyQ291bnQoKSkub2Zmc2V0KCldKSkpCi0gICAg
ICAgIHZtLT50aHJvd0V4Y2VwdGlvbihjYWxsZXJGcmFtZSwgY3JlYXRlU3RhY2tPdmVyZmxvd0Vy
cm9yKGNhbGxlckZyYW1lKSk7CisgICAgRXJyb3JIYW5kbGluZ1Njb3BlIGVycm9yU2NvcGUoKnZt
KTsKKyAgICB2bS0+dGhyb3dFeGNlcHRpb24oY2FsbGVyRnJhbWUsIGNyZWF0ZVN0YWNrT3ZlcmZs
b3dFcnJvcihjYWxsZXJGcmFtZSkpOwogfQogCiBpbnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uQ2FsbEFyaXR5Q2hlY2soRXhlY1N0YXRlKiBleGVjKQpAQCAtOTcsNyArOTQsNyBAQCBpbnQz
Ml90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ2FsbEFyaXR5Q2hlY2soRXhlY1N0YXRlKiBleGVj
KQogCiAgICAgaW50MzJfdCBtaXNzaW5nQXJnQ291bnQgPSBDb21tb25TbG93UGF0aHM6OmFyaXR5
Q2hlY2tGb3IoZXhlYywgJnN0YWNrLCBDb2RlRm9yQ2FsbCk7CiAgICAgaWYgKG1pc3NpbmdBcmdD
b3VudCA8IDApCi0gICAgICAgIHZtLT50aHJvd0V4Y2VwdGlvbihjYWxsZXJGcmFtZSwgY3JlYXRl
U3RhY2tPdmVyZmxvd0Vycm9yKGNhbGxlckZyYW1lKSk7CisgICAgICAgIHRocm93U3RhY2tPdmVy
Zmxvd0Vycm9yKGNhbGxlckZyYW1lKTsKIAogICAgIHJldHVybiBtaXNzaW5nQXJnQ291bnQ7CiB9
CkBAIC0xMTIsNyArMTA5LDcgQEAgaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNvbnN0
cnVjdEFyaXR5Q2hlY2soRXhlY1N0YXRlKiBleGVjKQogCiAgICAgaW50MzJfdCBtaXNzaW5nQXJn
Q291bnQgPSBDb21tb25TbG93UGF0aHM6OmFyaXR5Q2hlY2tGb3IoZXhlYywgJnN0YWNrLCBDb2Rl
Rm9yQ29uc3RydWN0KTsKICAgICBpZiAobWlzc2luZ0FyZ0NvdW50IDwgMCkKLSAgICAgICAgdm0t
PnRocm93RXhjZXB0aW9uKGNhbGxlckZyYW1lLCBjcmVhdGVTdGFja092ZXJmbG93RXJyb3IoY2Fs
bGVyRnJhbWUpKTsKKyAgICAgICAgdGhyb3dTdGFja092ZXJmbG93RXJyb3IoY2FsbGVyRnJhbWUp
OwogCiAgICAgcmV0dXJuIG1pc3NpbmdBcmdDb3VudDsKIH0KQEAgLTYxMiwxNSArNjA5LDEzIEBA
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25EaXJlY3RQdXRCeVZhbEdlbmVyaWMoRXhlY1N0
YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1CiAgICAgZGlyZWN0UHV0QnlWYWwoZXhlYywgYXNPYmpl
Y3QoYmFzZVZhbHVlKSwgc3Vic2NyaXB0LCB2YWx1ZSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uQ2FsbEV2YWwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlKQorRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25DYWxsRXZhbChFeGVjU3RhdGUqIGV4
ZWMsIEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSkKIHsKLSAgICBDYWxsRnJhbWUqIGNhbGxlckZyYW1l
ID0gZXhlY0NhbGxlZS0+Y2FsbGVyRnJhbWUoKTsKLSAgICBBU1NFUlQoZXhlY0NhbGxlZS0+Y2Fs
bGVyRnJhbWUoKS0+Y29kZUJsb2NrKCktPmNvZGVUeXBlKCkgIT0gRnVuY3Rpb25Db2RlCi0gICAg
ICAgIHx8ICFleGVjQ2FsbGVlLT5jYWxsZXJGcmFtZSgpLT5jb2RlQmxvY2soKS0+bmVlZHNGdWxs
U2NvcGVDaGFpbigpCi0gICAgICAgIHx8IGV4ZWNDYWxsZWUtPmNhbGxlckZyYW1lKCktPnVuY2hl
Y2tlZFIoZXhlY0NhbGxlZS0+Y2FsbGVyRnJhbWUoKS0+Y29kZUJsb2NrKCktPmFjdGl2YXRpb25S
ZWdpc3RlcigpLm9mZnNldCgpKS5qc1ZhbHVlKCkpOworICAgIEFTU0VSVChleGVjLT5jb2RlQmxv
Y2soKS0+Y29kZVR5cGUoKSAhPSBGdW5jdGlvbkNvZGUKKyAgICAgICAgfHwgIWV4ZWMtPmNvZGVC
bG9jaygpLT5uZWVkc0Z1bGxTY29wZUNoYWluKCkKKyAgICAgICAgfHwgZXhlYy0+dW5jaGVja2Vk
UihleGVjLT5jb2RlQmxvY2soKS0+YWN0aXZhdGlvblJlZ2lzdGVyKCkub2Zmc2V0KCkpLmpzVmFs
dWUoKSk7CiAKLSAgICBleGVjQ2FsbGVlLT5zZXRTY29wZShjYWxsZXJGcmFtZS0+c2NvcGUoKSk7
Ci0gICAgZXhlY0NhbGxlZS0+c2V0UmV0dXJuUEMoc3RhdGljX2Nhc3Q8SW5zdHJ1Y3Rpb24qPihP
VVJfUkVUVVJOX0FERFJFU1MpKTsKKyAgICBleGVjQ2FsbGVlLT5zZXRTY29wZShleGVjLT5zY29w
ZSgpKTsKICAgICBleGVjQ2FsbGVlLT5zZXRDb2RlQmxvY2soMCk7CiAKICAgICBpZiAoIWlzSG9z
dEZ1bmN0aW9uKGV4ZWNDYWxsZWUtPmNhbGxlZUFzVmFsdWUoKSwgZ2xvYmFsRnVuY0V2YWwpKQpA
QCAtNjg1LDcgKzY4MCw4IEBAIHN0YXRpYyB2b2lkKiBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUq
IGV4ZWNDYWxsZWUsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6CiAgICAgcmV0dXJuIHZt
LT5nZXRDVElTdHViKHRocm93RXhjZXB0aW9uRnJvbUNhbGxTbG93UGF0aEdlbmVyYXRvcikuY29k
ZSgpLmV4ZWN1dGFibGVBZGRyZXNzKCk7CiB9CiAKLWlubGluZSBjaGFyKiBsaW5rRm9yKEV4ZWNT
dGF0ZSogZXhlY0NhbGxlZSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQoraW5saW5lIGNo
YXIqIGxpbmtGb3IoCisgICAgRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBDb2RlU3BlY2lhbGl6YXRp
b25LaW5kIGtpbmQsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZSByZWdpc3RlcnMpCiB7CiAgICAg
RXhlY1N0YXRlKiBleGVjID0gZXhlY0NhbGxlZS0+Y2FsbGVyRnJhbWUoKTsKICAgICBWTSogdm0g
PSAmZXhlYy0+dm0oKTsKQEAgLTcwMywzOSArNjk5LDUzIEBAIGlubGluZSBjaGFyKiBsaW5rRm9y
KEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQogICAg
IE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBjb2RlUHRyOwogICAgIENvZGVCbG9jayogY29kZUJsb2Nr
ID0gMDsKICAgICBDYWxsTGlua0luZm8mIGNhbGxMaW5rSW5mbyA9IGV4ZWMtPmNvZGVCbG9jaygp
LT5nZXRDYWxsTGlua0luZm8oZXhlY0NhbGxlZS0+cmV0dXJuUEMoKSk7Ci0gICAgaWYgKGV4ZWN1
dGFibGUtPmlzSG9zdEZ1bmN0aW9uKCkpCi0gICAgICAgIGNvZGVQdHIgPSBleGVjdXRhYmxlLT5n
ZW5lcmF0ZWRKSVRDb2RlRm9yKGtpbmQpLT5hZGRyZXNzRm9yQ2FsbCgpOwotICAgIGVsc2Ugewor
ICAgIGlmIChleGVjdXRhYmxlLT5pc0hvc3RGdW5jdGlvbigpKSB7CisgICAgICAgIGNvZGVQdHIg
PSBleGVjdXRhYmxlLT5lbnRyeXBvaW50Rm9yKCp2bSwga2luZCwgTXVzdENoZWNrQXJpdHksIHJl
Z2lzdGVycyk7CisgICAgfSBlbHNlIHsKICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5j
dGlvbkV4ZWN1dGFibGUgPSBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihleGVjdXRh
YmxlKTsKICAgICAgICAgSlNPYmplY3QqIGVycm9yID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5wcmVw
YXJlRm9yRXhlY3V0aW9uKGV4ZWNDYWxsZWUsIGNhbGxlZS0+c2NvcGUoKSwga2luZCk7CiAgICAg
ICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgdm0tPnRocm93RXhjZXB0aW9uKGV4ZWMsIGNy
ZWF0ZVN0YWNrT3ZlcmZsb3dFcnJvcihleGVjKSk7CisgICAgICAgICAgICB0aHJvd1N0YWNrT3Zl
cmZsb3dFcnJvcihleGVjKTsKICAgICAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNo
YXIqPih2bS0+Z2V0Q1RJU3R1Yih0aHJvd0V4Y2VwdGlvbkZyb21DYWxsU2xvd1BhdGhHZW5lcmF0
b3IpLmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpKTsKICAgICAgICAgfQogICAgICAgICBjb2Rl
QmxvY2sgPSBmdW5jdGlvbkV4ZWN1dGFibGUtPmNvZGVCbG9ja0ZvcihraW5kKTsKKyAgICAgICAg
QXJpdHlDaGVja01vZGUgYXJpdHk7CiAgICAgICAgIGlmIChleGVjQ2FsbGVlLT5hcmd1bWVudENv
dW50SW5jbHVkaW5nVGhpcygpIDwgc3RhdGljX2Nhc3Q8c2l6ZV90Pihjb2RlQmxvY2stPm51bVBh
cmFtZXRlcnMoKSkgfHwgY2FsbExpbmtJbmZvLmNhbGxUeXBlID09IENhbGxMaW5rSW5mbzo6Q2Fs
bFZhcmFyZ3MpCi0gICAgICAgICAgICBjb2RlUHRyID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5nZW5l
cmF0ZWRKSVRDb2RlV2l0aEFyaXR5Q2hlY2tGb3Ioa2luZCk7CisgICAgICAgICAgICBhcml0eSA9
IE11c3RDaGVja0FyaXR5OwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBjb2RlUHRyID0gZnVu
Y3Rpb25FeGVjdXRhYmxlLT5nZW5lcmF0ZWRKSVRDb2RlRm9yKGtpbmQpLT5hZGRyZXNzRm9yQ2Fs
bCgpOworICAgICAgICAgICAgYXJpdHkgPSBBcml0eUNoZWNrTm90UmVxdWlyZWQ7CisgICAgICAg
IGNvZGVQdHIgPSBmdW5jdGlvbkV4ZWN1dGFibGUtPmVudHJ5cG9pbnRGb3IoKnZtLCBraW5kLCBh
cml0eSwgcmVnaXN0ZXJzKTsKICAgICB9CiAgICAgaWYgKCFjYWxsTGlua0luZm8uc2Vlbk9uY2Uo
KSkKICAgICAgICAgY2FsbExpbmtJbmZvLnNldFNlZW4oKTsKICAgICBlbHNlCi0gICAgICAgIGxp
bmtGb3IoZXhlY0NhbGxlZSwgY2FsbExpbmtJbmZvLCBjb2RlQmxvY2ssIGNhbGxlZSwgY29kZVB0
ciwga2luZCk7CisgICAgICAgIGxpbmtGb3IoZXhlY0NhbGxlZSwgY2FsbExpbmtJbmZvLCBjb2Rl
QmxvY2ssIGNhbGxlZSwgY29kZVB0ciwga2luZCwgcmVnaXN0ZXJzKTsKICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxjaGFyKj4oY29kZVB0ci5leGVjdXRhYmxlQWRkcmVzcygpKTsKIH0KIAog
Y2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5rQ2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxs
ZWUpCiB7Ci0gICAgcmV0dXJuIGxpbmtGb3IoZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwpOworICAg
IHJldHVybiBsaW5rRm9yKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxsLCBSZWdpc3RlclByZXNlcnZh
dGlvbk5vdFJlcXVpcmVkKTsKIH0KIAogY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5r
Q29uc3RydWN0KEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSkKIHsKLSAgICByZXR1cm4gbGlua0Zvcihl
eGVjQ2FsbGVlLCBDb2RlRm9yQ29uc3RydWN0KTsKKyAgICByZXR1cm4gbGlua0ZvcihleGVjQ2Fs
bGVlLCBDb2RlRm9yQ29uc3RydWN0LCBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsK
K30KKworY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5rQ2FsbFRoYXRQcmVzZXJ2ZXNS
ZWdzKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSkKK3sKKyAgICByZXR1cm4gbGlua0ZvcihleGVjQ2Fs
bGVlLCBDb2RlRm9yQ2FsbCwgTXVzdFByZXNlcnZlUmVnaXN0ZXJzKTsKIH0KIAotaW5saW5lIGNo
YXIqIHZpcnR1YWxGb3JXaXRoRnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBDb2RlU3Bl
Y2lhbGl6YXRpb25LaW5kIGtpbmQsIEpTQ2VsbComIGNhbGxlZUFzRnVuY3Rpb25DZWxsKQorY2hh
ciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5rQ29uc3RydWN0VGhhdFByZXNlcnZlc1JlZ3Mo
RXhlY1N0YXRlKiBleGVjQ2FsbGVlKQoreworICAgIHJldHVybiBsaW5rRm9yKGV4ZWNDYWxsZWUs
IENvZGVGb3JDb25zdHJ1Y3QsIE11c3RQcmVzZXJ2ZVJlZ2lzdGVycyk7Cit9CisKK2lubGluZSBj
aGFyKiB2aXJ0dWFsRm9yV2l0aEZ1bmN0aW9uKAorICAgIEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwg
Q29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kLCBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGUgcmVn
aXN0ZXJzLAorICAgIEpTQ2VsbComIGNhbGxlZUFzRnVuY3Rpb25DZWxsKQogewogICAgIEV4ZWNT
dGF0ZSogZXhlYyA9IGV4ZWNDYWxsZWUtPmNhbGxlckZyYW1lKCk7CiAgICAgVk0qIHZtID0gJmV4
ZWMtPnZtKCk7CkBAIC03NTcsMTYgKzc2NywyMCBAQCBpbmxpbmUgY2hhciogdmlydHVhbEZvcldp
dGhGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIENvZGVTcGVjaWFsaXphdGlvbktpbgog
ICAgICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KHZtLT5nZXRDVElTdHVi
KHRocm93RXhjZXB0aW9uRnJvbUNhbGxTbG93UGF0aEdlbmVyYXRvcikuY29kZSgpLmV4ZWN1dGFi
bGVBZGRyZXNzKCkpOwogICAgICAgICB9CiAgICAgfQotICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PGNoYXIqPihleGVjdXRhYmxlLT5nZW5lcmF0ZWRKSVRDb2RlV2l0aEFyaXR5Q2hlY2tGb3Io
a2luZCkuZXhlY3V0YWJsZUFkZHJlc3MoKSk7CisgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
Y2hhcio+KGV4ZWN1dGFibGUtPmVudHJ5cG9pbnRGb3IoCisgICAgICAgICp2bSwga2luZCwgTXVz
dENoZWNrQXJpdHksIHJlZ2lzdGVycykuZXhlY3V0YWJsZUFkZHJlc3MoKSk7CiB9CiAKLWlubGlu
ZSBjaGFyKiB2aXJ0dWFsRm9yKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgQ29kZVNwZWNpYWxpemF0
aW9uS2luZCBraW5kKQoraW5saW5lIGNoYXIqIHZpcnR1YWxGb3IoCisgICAgRXhlY1N0YXRlKiBl
eGVjQ2FsbGVlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQsIFJlZ2lzdGVyUHJlc2VydmF0
aW9uTW9kZSByZWdpc3RlcnMpCiB7CiAgICAgSlNDZWxsKiBjYWxsZWVBc0Z1bmN0aW9uQ2VsbEln
bm9yZWQ7Ci0gICAgcmV0dXJuIHZpcnR1YWxGb3JXaXRoRnVuY3Rpb24oZXhlY0NhbGxlZSwga2lu
ZCwgY2FsbGVlQXNGdW5jdGlvbkNlbGxJZ25vcmVkKTsKKyAgICByZXR1cm4gdmlydHVhbEZvcldp
dGhGdW5jdGlvbihleGVjQ2FsbGVlLCBraW5kLCByZWdpc3RlcnMsIGNhbGxlZUFzRnVuY3Rpb25D
ZWxsSWdub3JlZCk7CiB9CiAKLXN0YXRpYyBib29sIGF0dGVtcHRUb09wdGltaXplQ2xvc3VyZUNh
bGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBKU0NlbGwqIGNhbGxlZUFzRnVuY3Rpb25DZWxsLCBD
YWxsTGlua0luZm8mIGNhbGxMaW5rSW5mbykKK3N0YXRpYyBib29sIGF0dGVtcHRUb09wdGltaXpl
Q2xvc3VyZUNhbGwoCisgICAgRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBSZWdpc3RlclByZXNlcnZh
dGlvbk1vZGUgcmVnaXN0ZXJzLCBKU0NlbGwqIGNhbGxlZUFzRnVuY3Rpb25DZWxsLAorICAgIENh
bGxMaW5rSW5mbyYgY2FsbExpbmtJbmZvKQogewogICAgIGlmICghY2FsbGVlQXNGdW5jdGlvbkNl
bGwpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTc4MCw3ICs3OTQsMTAgQEAgc3RhdGljIGJv
b2wgYXR0ZW1wdFRvT3B0aW1pemVDbG9zdXJlQ2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEpT
Q2VsbCogY2FsbGVlQXMKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAgIEFTU0VSVChj
YWxsZWUtPmV4ZWN1dGFibGUoKS0+aGFzSklUQ29kZUZvckNhbGwoKSk7Ci0gICAgTWFjcm9Bc3Nl
bWJsZXJDb2RlUHRyIGNvZGVQdHIgPSBjYWxsZWUtPmV4ZWN1dGFibGUoKS0+Z2VuZXJhdGVkSklU
Q29kZUZvckNhbGwoKS0+YWRkcmVzc0ZvckNhbGwoKTsKKyAgICBNYWNyb0Fzc2VtYmxlckNvZGVQ
dHIgY29kZVB0ciA9CisgICAgICAgIGNhbGxlZS0+ZXhlY3V0YWJsZSgpLT5nZW5lcmF0ZWRKSVRD
b2RlRm9yQ2FsbCgpLT5hZGRyZXNzRm9yQ2FsbCgKKyAgICAgICAgICAgICpleGVjQ2FsbGVlLT5j
YWxsZXJGcmFtZSgpLT5jb2RlQmxvY2soKS0+dm0oKSwgY2FsbGVlLT5leGVjdXRhYmxlKCksCisg
ICAgICAgICAgICBBcml0eUNoZWNrTm90UmVxdWlyZWQsIHJlZ2lzdGVycyk7CiAgICAgCiAgICAg
Q29kZUJsb2NrKiBjb2RlQmxvY2s7CiAgICAgaWYgKGNhbGxlZS0+ZXhlY3V0YWJsZSgpLT5pc0hv
c3RGdW5jdGlvbigpKQpAQCAtNzkzLDcgKzgxMCw3IEBAIHN0YXRpYyBib29sIGF0dGVtcHRUb09w
dGltaXplQ2xvc3VyZUNhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBKU0NlbGwqIGNhbGxlZUFz
CiAgICAgCiAgICAgbGlua0Nsb3N1cmVDYWxsKAogICAgICAgICBleGVjQ2FsbGVlLCBjYWxsTGlu
a0luZm8sIGNvZGVCbG9jaywKLSAgICAgICAgY2FsbGVlLT5zdHJ1Y3R1cmUoKSwgY2FsbGVlLT5l
eGVjdXRhYmxlKCksIGNvZGVQdHIpOworICAgICAgICBjYWxsZWUtPnN0cnVjdHVyZSgpLCBjYWxs
ZWUtPmV4ZWN1dGFibGUoKSwgY29kZVB0ciwgcmVnaXN0ZXJzKTsKICAgICAKICAgICByZXR1cm4g
dHJ1ZTsKIH0KQEAgLTgwMSwyNSArODE4LDQ2IEBAIHN0YXRpYyBib29sIGF0dGVtcHRUb09wdGlt
aXplQ2xvc3VyZUNhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBKU0NlbGwqIGNhbGxlZUFzCiBj
aGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxpbmtDbG9zdXJlQ2FsbChFeGVjU3RhdGUqIGV4
ZWNDYWxsZWUpCiB7CiAgICAgSlNDZWxsKiBjYWxsZWVBc0Z1bmN0aW9uQ2VsbDsKLSAgICBjaGFy
KiByZXN1bHQgPSB2aXJ0dWFsRm9yV2l0aEZ1bmN0aW9uKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxs
LCBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCk7CisgICAgY2hhciogcmVzdWx0ID0gdmlydHVhbEZvcldp
dGhGdW5jdGlvbihleGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25O
b3RSZXF1aXJlZCwgY2FsbGVlQXNGdW5jdGlvbkNlbGwpOwogICAgIENhbGxMaW5rSW5mbyYgY2Fs
bExpbmtJbmZvID0gZXhlY0NhbGxlZS0+Y2FsbGVyRnJhbWUoKS0+Y29kZUJsb2NrKCktPmdldENh
bGxMaW5rSW5mbyhleGVjQ2FsbGVlLT5yZXR1cm5QQygpKTsKIAotICAgIGlmICghYXR0ZW1wdFRv
T3B0aW1pemVDbG9zdXJlQ2FsbChleGVjQ2FsbGVlLCBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCwgY2Fs
bExpbmtJbmZvKSkKLSAgICAgICAgbGlua1Nsb3dGb3IoZXhlY0NhbGxlZSwgY2FsbExpbmtJbmZv
LCBDb2RlRm9yQ2FsbCk7CisgICAgaWYgKCFhdHRlbXB0VG9PcHRpbWl6ZUNsb3N1cmVDYWxsKGV4
ZWNDYWxsZWUsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQsIGNhbGxlZUFzRnVuY3Rp
b25DZWxsLCBjYWxsTGlua0luZm8pKQorICAgICAgICBsaW5rU2xvd0ZvcihleGVjQ2FsbGVlLCBj
YWxsTGlua0luZm8sIENvZGVGb3JDYWxsLCBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVk
KTsKICAgICAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblZpcnR1YWxDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSkKIHsgICAgCi0gICAgcmV0
dXJuIHZpcnR1YWxGb3IoZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwpOworICAgIHJldHVybiB2aXJ0
dWFsRm9yKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxsLCBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJl
cXVpcmVkKTsKIH0KIAogY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25WaXJ0dWFsQ29uc3Ry
dWN0KEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSkKIHsKLSAgICByZXR1cm4gdmlydHVhbEZvcihleGVj
Q2FsbGVlLCBDb2RlRm9yQ29uc3RydWN0KTsKKyAgICByZXR1cm4gdmlydHVhbEZvcihleGVjQ2Fs
bGVlLCBDb2RlRm9yQ29uc3RydWN0LCBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsK
IH0KIAorY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5rQ2xvc3VyZUNhbGxUaGF0UHJl
c2VydmVzUmVncyhFeGVjU3RhdGUqIGV4ZWNDYWxsZWUpCit7CisgICAgSlNDZWxsKiBjYWxsZWVB
c0Z1bmN0aW9uQ2VsbDsKKyAgICBjaGFyKiByZXN1bHQgPSB2aXJ0dWFsRm9yV2l0aEZ1bmN0aW9u
KGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxsLCBNdXN0UHJlc2VydmVSZWdpc3RlcnMsIGNhbGxlZUFz
RnVuY3Rpb25DZWxsKTsKKyAgICBDYWxsTGlua0luZm8mIGNhbGxMaW5rSW5mbyA9IGV4ZWNDYWxs
ZWUtPmNhbGxlckZyYW1lKCktPmNvZGVCbG9jaygpLT5nZXRDYWxsTGlua0luZm8oZXhlY0NhbGxl
ZS0+cmV0dXJuUEMoKSk7CisKKyAgICBpZiAoIWF0dGVtcHRUb09wdGltaXplQ2xvc3VyZUNhbGwo
ZXhlY0NhbGxlZSwgTXVzdFByZXNlcnZlUmVnaXN0ZXJzLCBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCwg
Y2FsbExpbmtJbmZvKSkKKyAgICAgICAgbGlua1Nsb3dGb3IoZXhlY0NhbGxlZSwgY2FsbExpbmtJ
bmZvLCBDb2RlRm9yQ2FsbCwgTXVzdFByZXNlcnZlUmVnaXN0ZXJzKTsKKyAgICAKKyAgICByZXR1
cm4gcmVzdWx0OworfQorCitjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZpcnR1YWxDYWxs
VGhhdFByZXNlcnZlc1JlZ3MoRXhlY1N0YXRlKiBleGVjQ2FsbGVlKQoreyAgICAKKyAgICByZXR1
cm4gdmlydHVhbEZvcihleGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgTXVzdFByZXNlcnZlUmVnaXN0
ZXJzKTsKK30KKworY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25WaXJ0dWFsQ29uc3RydWN0
VGhhdFByZXNlcnZlc1JlZ3MoRXhlY1N0YXRlKiBleGVjQ2FsbGVlKQoreworICAgIHJldHVybiB2
aXJ0dWFsRm9yKGV4ZWNDYWxsZWUsIENvZGVGb3JDb25zdHJ1Y3QsIE11c3RQcmVzZXJ2ZVJlZ2lz
dGVycyk7Cit9CiAKIHNpemVfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNvbXBhcmVMZXNzKEV4
ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZE9wMikKIHsKQEAgLTk3NCw3ICsxMDEyLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkRlYnVnKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBkZWJ1Z0hvb2tJRCkKIH0KIAog
I2lmIEVOQUJMRShERkdfSklUKQotY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6
ZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZWNvZGVJbmRleCkKK1Nsb3dQYXRoUmV0dXJu
VHlwZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50
MzJfdCBieXRlY29kZUluZGV4KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwpAQCAtMTAyNCw3ICsxMDYyLDcg
QEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMs
IGludDMyX3QgYnl0ZWNvZGVJbmRleCkKICAgICAgICAgY29kZUJsb2NrLT51cGRhdGVBbGxQcmVk
aWN0aW9ucygpOwogICAgICAgICBpZiAoT3B0aW9uczo6dmVyYm9zZU9TUigpKQogICAgICAgICAg
ICAgZGF0YUxvZygiQ2hvb3Npbmcgbm90IHRvIG9wdGltaXplICIsICpjb2RlQmxvY2ssICIgeWV0
LCBiZWNhdXNlIHRoZSB0aHJlc2hvbGQgaGFzbid0IGJlZW4gcmVhY2hlZC5cbiIpOwotICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIGVuY29kZVJlc3VsdCgwLCAwKTsKICAgICB9CiAg
ICAgCiAgICAgaWYgKGNvZGVCbG9jay0+bV9zaG91bGRBbHdheXNCZUlubGluZWQpIHsKQEAgLTEw
MzIsMTggKzEwNzAsMTkgQEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShF
eGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZWNvZGVJbmRleCkKICAgICAgICAgY29kZUJsb2Nr
LT5vcHRpbWl6ZUFmdGVyV2FybVVwKCk7CiAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NS
KCkpCiAgICAgICAgICAgICBkYXRhTG9nKCJDaG9vc2luZyBub3QgdG8gb3B0aW1pemUgIiwgKmNv
ZGVCbG9jaywgIiB5ZXQsIGJlY2F1c2UgbV9zaG91bGRBbHdheXNCZUlubGluZWQgPT0gdHJ1ZS5c
biIpOwotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIGVuY29kZVJlc3VsdCgwLCAw
KTsKICAgICB9CiAKICAgICAvLyBXZSBjYW5ub3QgYmUgaW4gdGhlIHByb2Nlc3Mgb2YgYXN5bmNo
cm9ub3VzIGNvbXBpbGF0aW9uIGFuZCBhbHNvIGhhdmUgYW4gb3B0aW1pemVkCiAgICAgLy8gcmVw
bGFjZW1lbnQuCisgICAgREZHOjpXb3JrbGlzdCogd29ya2xpc3QgPSBERkc6OmV4aXN0aW5nR2xv
YmFsREZHV29ya2xpc3RPck51bGwoKTsKICAgICBBU1NFUlQoCi0gICAgICAgICF2bS53b3JrbGlz
dAotICAgICAgICB8fCAhKHZtLndvcmtsaXN0LT5jb21waWxhdGlvblN0YXRlKERGRzo6Q29tcGls
YXRpb25LZXkoY29kZUJsb2NrLCBERkc6OkRGR01vZGUpKSAhPSBERkc6OldvcmtsaXN0OjpOb3RL
bm93bgorICAgICAgICAhd29ya2xpc3QKKyAgICAgICAgfHwgISh3b3JrbGlzdC0+Y29tcGlsYXRp
b25TdGF0ZShERkc6OkNvbXBpbGF0aW9uS2V5KGNvZGVCbG9jaywgREZHOjpERkdNb2RlKSkgIT0g
REZHOjpXb3JrbGlzdDo6Tm90S25vd24KICAgICAgICAgJiYgY29kZUJsb2NrLT5oYXNPcHRpbWl6
ZWRSZXBsYWNlbWVudCgpKSk7CiAKICAgICBERkc6OldvcmtsaXN0OjpTdGF0ZSB3b3JrbGlzdFN0
YXRlOwotICAgIGlmICh2bS53b3JrbGlzdCkgeworICAgIGlmICh3b3JrbGlzdCkgewogICAgICAg
ICAvLyBUaGUgY2FsbCB0byBERkc6OldvcmtsaXN0Ojpjb21wbGV0ZUFsbFJlYWR5UGxhbnNGb3JW
TSgpIHdpbGwgY29tcGxldGUgYWxsIHJlYWR5CiAgICAgICAgIC8vIChpLmUuIGNvbXBpbGVkKSBj
b2RlIGJsb2Nrcy4gQnV0IGlmIGl0IGNvbXBsZXRlcyBvdXJzLCB3ZSBhbHNvIG5lZWQgdG8ga25v
dwogICAgICAgICAvLyB3aGF0IHRoZSByZXN1bHQgd2FzIHNvIHRoYXQgd2UgZG9uJ3QgcGxvdyBh
aGVhZCBhbmQgYXR0ZW1wdCBPU1Igb3IgaW1tZWRpYXRlCkBAIC0xMDYyLDcgKzExMDEsNyBAQCBj
aGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50
MzJfdCBieXRlY29kZUluZGV4KQogICAgICAgICAvLyBwcm9iYWJseSBhIHdhc3RlIG9mIG1lbW9y
eS4gT3VyIGdvYWwgaGVyZSBpcyB0byBjb21wbGV0ZSBjb2RlIGJsb2NrcyBhcyBzb29uIGFzCiAg
ICAgICAgIC8vIHBvc3NpYmxlIGluIG9yZGVyIHRvIG1pbmltaXplIHRoZSBjaGFuY2VzIG9mIHVz
IGV4ZWN1dGluZyBiYXNlbGluZSBjb2RlIGFmdGVyCiAgICAgICAgIC8vIG9wdGltaXplZCBjb2Rl
IGlzIGFscmVhZHkgYXZhaWxhYmxlLgotICAgICAgICB3b3JrbGlzdFN0YXRlID0gdm0ud29ya2xp
c3QtPmNvbXBsZXRlQWxsUmVhZHlQbGFuc0ZvclZNKAorICAgICAgICB3b3JrbGlzdFN0YXRlID0g
d29ya2xpc3QtPmNvbXBsZXRlQWxsUmVhZHlQbGFuc0ZvclZNKAogICAgICAgICAgICAgdm0sIERG
Rzo6Q29tcGlsYXRpb25LZXkoY29kZUJsb2NrLCBERkc6OkRGR01vZGUpKTsKICAgICB9IGVsc2UK
ICAgICAgICAgd29ya2xpc3RTdGF0ZSA9IERGRzo6V29ya2xpc3Q6Ok5vdEtub3duOwpAQCAtMTA3
Miw3ICsxMTExLDcgQEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVj
U3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZWNvZGVJbmRleCkKICAgICAgICAgLy8gcmVwbGFjZW1l
bnQuCiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFjb2RlQmxvY2stPmhhc09wdGltaXplZFJlcGxh
Y2VtZW50KCkpOwogICAgICAgICBjb2RlQmxvY2stPnNldE9wdGltaXphdGlvblRocmVzaG9sZEJh
c2VkT25Db21waWxhdGlvblJlc3VsdChDb21waWxhdGlvbkRlZmVycmVkKTsKLSAgICAgICAgcmV0
dXJuIDA7CisgICAgICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CiAgICAgfQogCiAgICAg
aWYgKHdvcmtsaXN0U3RhdGUgPT0gREZHOjpXb3JrbGlzdDo6Q29tcGlsZWQpIHsKQEAgLTEwODUs
NyArMTEyNCw3IEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0
YXRlKiBleGVjLCBpbnQzMl90IGJ5dGVjb2RlSW5kZXgpCiAgICAgICAgICAgICBjb2RlQmxvY2st
PnVwZGF0ZUFsbFByZWRpY3Rpb25zKCk7CiAgICAgICAgICAgICBpZiAoT3B0aW9uczo6dmVyYm9z
ZU9TUigpKQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkNvZGUgYmxvY2sgIiwgKmNvZGVCbG9j
aywgIiB3YXMgY29tcGlsZWQgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhbiBvcHRpbWl6ZWQgcmVwbGFj
ZW1lbnQuXG4iKTsKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJuIGVu
Y29kZVJlc3VsdCgwLCAwKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoY29kZUJsb2NrLT5o
YXNPcHRpbWl6ZWRSZXBsYWNlbWVudCgpKSB7CiAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJib3Nl
T1NSKCkpCkBAIC0xMTEwLDcgKzExNDksNyBAQCBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlY29kZUluZGV4KQogICAgICAg
ICAgICAgICAgICAgICAiKCIsICpjb2RlQmxvY2stPnJlcGxhY2VtZW50KCksICIpIChpbiBsb29w
KS5cbiIpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgY29kZUJsb2NrLT5yZXBsYWNlbWVu
dCgpLT5qZXR0aXNvbihDb3VudFJlb3B0aW1pemF0aW9uKTsKLSAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICAgICAgcmV0dXJuIGVuY29kZVJlc3VsdCgwLCAwKTsKICAgICAgICAgfQogICAg
IH0gZWxzZSB7CiAgICAgICAgIGlmICghY29kZUJsb2NrLT5zaG91bGRPcHRpbWl6ZU5vdygpKSB7
CkBAIC0xMTE5LDcgKzExNTgsNyBAQCBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGlt
aXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlY29kZUluZGV4KQogICAgICAgICAgICAg
ICAgICAgICAiRGVsYXlpbmcgb3B0aW1pemF0aW9uIGZvciAiLCAqY29kZUJsb2NrLAogICAgICAg
ICAgICAgICAgICAgICAiIGJlY2F1c2Ugb2YgaW5zdWZmaWNpZW50IHByb2ZpbGluZy5cbiIpOwog
ICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICByZXR1cm4g
ZW5jb2RlUmVzdWx0KDAsIDApOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKE9wdGlvbnM6OnZl
cmJvc2VPU1IoKSkKQEAgLTExNDcsMTIgKzExODYsMTEgQEAgY2hhciogSklUX09QRVJBVElPTiBv
cGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZWNvZGVJbmRleCkK
ICAgICAgICAgfQogCiAgICAgICAgIENvbXBpbGF0aW9uUmVzdWx0IHJlc3VsdCA9IERGRzo6Y29t
cGlsZSgKLSAgICAgICAgICAgIHZtLCBjb2RlQmxvY2stPm5ld1JlcGxhY2VtZW50KCkuZ2V0KCks
IERGRzo6REZHTW9kZSwgYnl0ZWNvZGVJbmRleCwKLSAgICAgICAgICAgIG11c3RIYW5kbGVWYWx1
ZXMsIEpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrOjpjcmVhdGUoKSwKLSAgICAg
ICAgICAgIHZtLmVuc3VyZVdvcmtsaXN0KCkpOworICAgICAgICAgICAgdm0sIGNvZGVCbG9jay0+
bmV3UmVwbGFjZW1lbnQoKS5nZXQoKSwgMCwgREZHOjpERkdNb2RlLCBieXRlY29kZUluZGV4LAor
ICAgICAgICAgICAgbXVzdEhhbmRsZVZhbHVlcywgSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9u
Q2FsbGJhY2s6OmNyZWF0ZSgpKTsKICAgICAgICAgCiAgICAgICAgIGlmIChyZXN1bHQgIT0gQ29t
cGlsYXRpb25TdWNjZXNzZnVsKQotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICBy
ZXR1cm4gZW5jb2RlUmVzdWx0KDAsIDApOwogICAgIH0KICAgICAKICAgICBDb2RlQmxvY2sqIG9w
dGltaXplZENvZGVCbG9jayA9IGNvZGVCbG9jay0+cmVwbGFjZW1lbnQoKTsKQEAgLTExNjYsNyAr
MTIwNCw4IEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0YXRl
KiBleGVjLCBpbnQzMl90IGJ5dGVjb2RlSW5kZXgpCiAgICAgICAgIH0KIAogICAgICAgICBjb2Rl
QmxvY2stPm9wdGltaXplU29vbigpOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y2hhcio+
KGFkZHJlc3MpOworICAgICAgICBBU1NFUlQoZXhlYy0+Y29kZUJsb2NrKCkgPT0gb3B0aW1pemVk
Q29kZUJsb2NrKTsKKyAgICAgICAgcmV0dXJuIGVuY29kZVJlc3VsdChhZGRyZXNzLCBleGVjLT50
b3BPZkZyYW1lKCkpOwogICAgIH0KIAogICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NSKCkpIHsK
QEAgLTExOTUsMTQgKzEyMzQsMTQgQEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRp
bWl6ZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZWNvZGVJbmRleCkKICAgICAgICAgICAg
ICAgICAqY29kZUJsb2NrLT5yZXBsYWNlbWVudCgpLCAiIChhZnRlciBPU1IgZmFpbCkuXG4iKTsK
ICAgICAgICAgfQogICAgICAgICBvcHRpbWl6ZWRDb2RlQmxvY2stPmpldHRpc29uKENvdW50UmVv
cHRpbWl6YXRpb24pOwotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIGVuY29kZVJl
c3VsdCgwLCAwKTsKICAgICB9CiAKICAgICAvLyBPU1IgZmFpbGVkIHRoaXMgdGltZSwgYnV0IGl0
IG1pZ2h0IHN1Y2NlZWQgbmV4dCB0aW1lISBMZXQgdGhlIGNvZGUgcnVuIGEgYml0CiAgICAgLy8g
bG9uZ2VyIGFuZCB0aGVuIHRyeSBhZ2Fpbi4KICAgICBjb2RlQmxvY2stPm9wdGltaXplQWZ0ZXJX
YXJtVXAoKTsKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gZW5jb2RlUmVzdWx0KDAs
IDApOwogfQogI2VuZGlmCiAKQEAgLTE1MzAsMTMgKzE1NjksMTMgQEAgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25JbnN0YW5jZU9mKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2Rl
ZEpTVmFsdWUKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihyZXN1bHQpKTsK
IH0KIAotQ2FsbEZyYW1lKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblNpemVBbmRBbGxvY0ZyYW1l
Rm9yVmFyYXJncyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRBcmd1bWVu
dHMsIGludDMyX3QgZmlyc3RGcmVlUmVnaXN0ZXIpCitDYWxsRnJhbWUqIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uU2l6ZUZyYW1lRm9yVmFyYXJncyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRBcmd1bWVudHMsIGludDMyX3QgZmlyc3RGcmVlUmVnaXN0ZXIpCiB7CiAgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2
bSwgZXhlYyk7CiAgICAgSlNTdGFjayogc3RhY2sgPSAmZXhlYy0+aW50ZXJwcmV0ZXIoKS0+c3Rh
Y2soKTsKICAgICBKU1ZhbHVlIGFyZ3VtZW50cyA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQXJn
dW1lbnRzKTsKLSAgICBDYWxsRnJhbWUqIG5ld0NhbGxGcmFtZSA9IHNpemVBbmRBbGxvY0ZyYW1l
Rm9yVmFyYXJncyhleGVjLCBzdGFjaywgYXJndW1lbnRzLCBmaXJzdEZyZWVSZWdpc3Rlcik7Cisg
ICAgQ2FsbEZyYW1lKiBuZXdDYWxsRnJhbWUgPSBzaXplRnJhbWVGb3JWYXJhcmdzKGV4ZWMsIHN0
YWNrLCBhcmd1bWVudHMsIGZpcnN0RnJlZVJlZ2lzdGVyKTsKICAgICByZXR1cm4gbmV3Q2FsbEZy
YW1lOwogfQogCkBAIC0xNzI5LDEyICsxNzY4LDExIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVy
YXRpb25Jbml0R2xvYmFsQ29uc3QoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogcGMpCiAg
ICAgcGNbMV0udS5yZWdpc3RlclBvaW50ZXItPnNldCgqdm0sIGV4ZWMtPmNvZGVCbG9jaygpLT5n
bG9iYWxPYmplY3QoKSwgdmFsdWUpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gbG9va3VwRXhj
ZXB0aW9uSGFuZGxlcihFeGVjU3RhdGUqIGV4ZWMpCit2b2lkIEpJVF9PUEVSQVRJT04gbG9va3Vw
RXhjZXB0aW9uSGFuZGxlcihWTSogdm0sIEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICBWTSogdm0g
PSAmZXhlYy0+dm0oKTsKLSAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVj
KTsKKyAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjLCBOYXRpdmVDYWxs
RnJhbWVUcmFjZXI6OlZNRW50cnlTZW50aW5lbE9LKTsKIAotICAgIEpTVmFsdWUgZXhjZXB0aW9u
VmFsdWUgPSBleGVjLT5leGNlcHRpb24oKTsKKyAgICBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlID0g
dm0tPmV4Y2VwdGlvbigpOwogICAgIEFTU0VSVChleGNlcHRpb25WYWx1ZSk7CiAgICAgCiAgICAg
Z2VuZXJpY1Vud2luZCh2bSwgZXhlYywgZXhjZXB0aW9uVmFsdWUpOwpAQCAtMTc2Nyw3ICsxODA1
LDYgQEAgYXNtICgKICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFs
dWUpICJcbiIKIEhJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKIFNZTUJP
TF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKLSAgICAibW92IDAoJXJi
cCksICVyYnBcbiIgLy8gQ2FsbGVyRnJhbWVBbmRQQzo6Y2FsbGVyRnJhbWUKICAgICAibW92ICVy
YnAsICVyZGlcbiIKICAgICAiam1wICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCiApOwpAQCAtMTc3OCw4ICsxODE1LDExIEBAIGFzbSAo
CiAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCiBI
SURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCiBTWU1CT0xfU1RSSU5HKGdl
dEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCi0gICAgIm1vdiAwKCVlYnApLCAlZWJwXG4i
IC8vIENhbGxlckZyYW1lQW5kUEM6OmNhbGxlckZyYW1lCi0gICAgIm1vdiAlZWJwLCA0KCVlc3Ap
XG4iCisgICAgIm1vdiAoJWVzcCksICVlYXhcbiIKKyAgICAicHVzaCAlZWJwXG4iCisgICAgImxl
YWwgLTQoJWVzcCksICVlc3BcbiIKKyAgICAicHVzaCAlZWJwXG4iCisgICAgInB1c2ggJWVheFxu
IgogICAgICJqbXAgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhF
eGVjU3RhdGUpICJcbiIKICk7CiAKQEAgLTE3OTIsNyArMTgzMiw2IEBAIEhJREVfU1lNQk9MKGdl
dEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKICIudGh1bWIiICJcbiIKICIudGh1bWJfZnVuYyAi
IFRIVU1CX0ZVTkNfUEFSQU0oZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgogU1lNQk9MX1NU
UklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgotICAgICJsZHIgcjcsIFtyNywg
IzBdIiAiXG4iIC8vIENhbGxlckZyYW1lQW5kUEM6OmNhbGxlckZyYW1lCiAgICAgIm1vdiByMCwg
cjciICJcbiIKICAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVl
V2l0aEV4ZWNTdGF0ZSkgIlxuIgogKTsKQEAgLTE4MDQsNyArMTg0Myw2IEBAIGFzbSAoCiBISURF
X1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCiBJTkxJTkVfQVJNX0ZVTkNUSU9O
KGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpCiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWUpICI6IiAiXG4iCi0gICAgImxkciByMTEsIFtyMTEsICMwXSIgIlxuIiAvLyBDYWxsZXJG
cmFtZUFuZFBDOjpjYWxsZXJGcmFtZQogICAgICJtb3YgcjAsIHIxMSIgIlxuIgogICAgICJiICIg
TE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4i
CiApOwpAQCAtMTgxNiw3ICsxODU0LDYgQEAgYXNtICgKICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5H
KGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKIEhJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0
dXJuVmFsdWUpICJcbiIKIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoi
ICJcbiIKLSAgICAibGR1ciB4MjksIFt4MjksICMwXSIgIlxuIgogICAgICAibW92IHgwLCB4Mjki
ICJcbiIKICAgICAgImIgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdp
dGhFeGVjU3RhdGUpICJcbiIKICk7CkBAIC0xODI4LDcgKzE4NjUsNiBAQCBhc20gKAogSElERV9T
WU1CT0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgogU1lNQk9MX1NUUklORyhnZXRIb3N0
Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgogICAgIExPQURfRlVOQ1RJT05fVE9fVDkoZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpCi0gICAgImx3ICRmcCwgMCgkZnApIiAiXG4i
IC8vIENhbGxlckZyYW1lQW5kUEM6OmNhbGxlckZyYW1lCiAgICAgIm1vdmUgJGEwLCAkZnAiICJc
biIKICAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4
ZWNTdGF0ZSkgIlxuIgogKTsKQEAgLTE4MzksNyArMTg3NSw2IEBAIGFzbSAoCiAiLmdsb2JsICIg
U1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCiBISURFX1NZTUJPTChn
ZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0
dXJuVmFsdWUpICI6IiAiXG4iCi0gICAgIm1vdi5sIEByMTQsIHIxNCIgIlxuIiAvLyBDYWxsZXJG
cmFtZUFuZFBDOjpjYWxsZXJGcmFtZQogICAgICJtb3YgcjE0LCByNCIgIlxuIgogICAgICJtb3Yu
bCAyZiwgIiBTSDRfU0NSQVRDSF9SRUdJU1RFUiAiXG4iCiAgICAgImJyYWYgIiBTSDRfU0NSQVRD
SF9SRUdJU1RFUiAiXG4iCkBAIC0xODUyLDcgKzE4ODcsNiBAQCBTWU1CT0xfU1RSSU5HKGdldEhv
c3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCiBleHRlcm4gIkMiIHsKICAgICBfX2RlY2xzcGVj
KG5ha2VkKSBFbmNvZGVkSlNWYWx1ZSBIT1NUX0NBTExfUkVUVVJOX1ZBTFVFX09QVElPTiBnZXRI
b3N0Q2FsbFJldHVyblZhbHVlKCkKICAgICB7Ci0gICAgICAgIF9fYXNtIG1vdiBlYnAsIFtlYnAg
KyAwXTsgLy8gQ2FsbGVyRnJhbWVBbmRQQzo6Y2FsbGVyRnJhbWUKICAgICAgICAgX19hc20gbW92
IFtlc3AgKyA0XSwgZWJwOwogICAgICAgICBfX2FzbSBqbXAgZ2V0SG9zdENhbGxSZXR1cm5WYWx1
ZVdpdGhFeGVjU3RhdGUKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5oCmluZGV4IDQzY2E2MTc3YmZiZDFkNWQzNDQ4NTY0ZTAwMTEwZWRhMmVhOTcwMzcuLjkz
M2IzMTEyMWQ2NjIxYzZiMTUwMTRmN2EyYWJkZmNkYmZmNGJmOTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxF
KEpJVCkKIAogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgorI2luY2x1ZGUgIkNvbW1vblNsb3dQYXRo
cy5oIgogI2luY2x1ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCiAj
aW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgpAQCAtNzIsNiArNzMsNyBAQCBleHRlcm4gIkMiIHsKICAg
ICBQYzogSW5zdHJ1Y3Rpb24qIGkuZS4gYnl0ZWNvZGUgUEMKICAgICBSOiBSZWdpc3RlcgogICAg
IFM6IHNpemVfdAorICAgIFNwcnQ6IFNsb3dQYXRoUmV0dXJuVHlwZQogICAgIFNzaTogU3RydWN0
dXJlU3R1YkluZm8qCiAgICAgU3Q6IFN0cnVjdHVyZSoKICAgICBWOiB2b2lkCkBAIC05Miw2ICs5
NCw3IEBAIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0
aW9uX0VDQykoRXhlY1N0YXRlKiwgSlNDZWxsKiwKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VDSSkoRXhlY1N0YXRlKiwgSlNDZWxsKiwgU3Ry
aW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRUNKKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBl
ZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FREEpKEV4
ZWNTdGF0ZSosIGRvdWJsZSwgSlNBcnJheSopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUUpKEV4ZWNTdGF0ZSosIEV4ZWNTdGF0ZSopOwog
dHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUkp
KEV4ZWNTdGF0ZSosIFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSk7
CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9F
SkEpKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBKU0FycmF5Kik7CkBAIC0xMzMsNiArMTM2
LDcgQEAgdHlwZWRlZiBzaXplX3QgSklUX09QRVJBVElPTiAoKlNfSklUT3BlcmF0aW9uX0VKKShF
eGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIHNpemVfdCBKSVRfT1BFUkFUSU9O
ICgqU19KSVRPcGVyYXRpb25fRUpKKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUpOwogdHlwZWRlZiBzaXplX3QgSklUX09QRVJBVElPTiAoKlNfSklUT3BlcmF0aW9u
X0VPSnNzKShFeGVjU3RhdGUqLCBKU09iamVjdCosIEpTU3RyaW5nKik7CiB0eXBlZGVmIHNpemVf
dCBKSVRfT1BFUkFUSU9OICgqU19KSVRPcGVyYXRpb25fSikoRW5jb2RlZEpTVmFsdWUpOwordHlw
ZWRlZiBTbG93UGF0aFJldHVyblR5cGUgSklUX09QRVJBVElPTiAoKlNwcnRfSklUT3BlcmF0aW9u
X0VaKShFeGVjU3RhdGUqLCBpbnQzMl90KTsKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgq
Vl9KSVRPcGVyYXRpb25fRSkoRXhlY1N0YXRlKik7CiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElP
TiAoKlZfSklUT3BlcmF0aW9uX0VDKShFeGVjU3RhdGUqLCBKU0NlbGwqKTsKIHR5cGVkZWYgdm9p
ZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUNiKShFeGVjU3RhdGUqLCBDb2RlQmxv
Y2sqKTsKQEAgLTE3NCwxOCArMTc4LDE3IEBAIHR5cGVkZWYgY2hhciogSklUX09QRVJBVElPTiAo
KlBfSklUT3BlcmF0aW9uX0VTdEopKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSosIEVuY29kCiB0eXBl
ZGVmIGNoYXIqIEpJVF9PUEVSQVRJT04gKCpQX0pJVE9wZXJhdGlvbl9FU3RQUykoRXhlY1N0YXRl
KiwgU3RydWN0dXJlKiwgdm9pZCosIHNpemVfdCk7CiB0eXBlZGVmIGNoYXIqIEpJVF9PUEVSQVRJ
T04gKCpQX0pJVE9wZXJhdGlvbl9FU3RTUykoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgc2l6ZV90
LCBzaXplX3QpOwogdHlwZWRlZiBjaGFyKiBKSVRfT1BFUkFUSU9OICgqUF9KSVRPcGVyYXRpb25f
RVN0WikoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgaW50MzJfdCk7Ci10eXBlZGVmIGNoYXIqIEpJ
VF9PUEVSQVRJT04gKCpQX0pJVE9wZXJhdGlvbl9FWikoRXhlY1N0YXRlKiwgaW50MzJfdCk7CiB0
eXBlZGVmIGNoYXIqIEpJVF9PUEVSQVRJT04gKCpQX0pJVE9wZXJhdGlvbl9FWlopKEV4ZWNTdGF0
ZSosIGludDMyX3QsIGludDMyX3QpOwogdHlwZWRlZiBTdHJpbmdJbXBsKiBKSVRfT1BFUkFUSU9O
ICgqSV9KSVRPcGVyYXRpb25fRUpzcykoRXhlY1N0YXRlKiwgSlNTdHJpbmcqKTsKIHR5cGVkZWYg
SlNTdHJpbmcqIEpJVF9PUEVSQVRJT04gKCpKc3NfSklUT3BlcmF0aW9uX0VaKShFeGVjU3RhdGUq
LCBpbnQzMl90KTsKIAogLy8gVGhpcyBtZXRob2QgaXMgdXNlZCB0byBsb29rdXAgYW4gZXhjZXB0
aW9uIGhhbmRlciwga2V5ZWQgYnkgZmF1bHRMb2NhdGlvbiwgd2hpY2ggaXMKIC8vIHRoZSByZXR1
cm4gbG9jYXRpb24gZnJvbSBvbmUgb2YgdGhlIGNhbGxzIG91dCB0byBvbmUgb2YgdGhlIGhlbHBl
ciBvcGVyYXRpb25zIGFib3ZlLgotICAgIAotdm9pZCBKSVRfT1BFUkFUSU9OIGxvb2t1cEV4Y2Vw
dGlvbkhhbmRsZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOworCit2b2lkIEpJVF9PUEVSQVRJ
T04gbG9va3VwRXhjZXB0aW9uSGFuZGxlcihWTSosIEV4ZWNTdGF0ZSopIFdURl9JTlRFUk5BTDsK
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25WTUhhbmRsZUV4Y2VwdGlvbihFeGVjU3RhdGUq
KSBXVEZfSU5URVJOQUw7CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25TdGFja0NoZWNr
KEV4ZWNTdGF0ZSosIENvZGVCbG9jayopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25UaHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihFeGVjU3RhdGUqLCBDb2RlQmxvY2sq
KSBXVEZfSU5URVJOQUw7CiBpbnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ2FsbEFyaXR5
Q2hlY2soRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwogaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkNvbnN0cnVjdEFyaXR5Q2hlY2soRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwogRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkKEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJO
QUw7CkBAIC0yMTMsMTIgKzIxNiwxOCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlWYWwoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLAogdm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsKEV4ZWNTdGF0ZSosIEVuY29kZWRK
U1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKIHZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeVZhbEdlbmVyaWMoRXhlY1N0YXRlKiwgRW5j
b2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFM
Owogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsR2VuZXJpYyhFeGVj
U3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlKSBX
VEZfSU5URVJOQUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNhbGxF
dmFsKEV4ZWNTdGF0ZSopIFdURl9JTlRFUk5BTDsKLWNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uVmlydHVhbENhbGwoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOworRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25DYWxsRXZhbChFeGVjU3RhdGUqLCBFeGVjU3RhdGUqKSBX
VEZfSU5URVJOQUw7CiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxpbmtDYWxsKEV4ZWNT
dGF0ZSopIFdURl9JTlRFUk5BTDsKIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTGlua0Ns
b3N1cmVDYWxsKEV4ZWNTdGF0ZSopIFdURl9JTlRFUk5BTDsKK2NoYXIqIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uVmlydHVhbENhbGwoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwogY2hhciogSklU
X09QRVJBVElPTiBvcGVyYXRpb25WaXJ0dWFsQ29uc3RydWN0KEV4ZWNTdGF0ZSopIFdURl9JTlRF
Uk5BTDsKIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTGlua0NvbnN0cnVjdChFeGVjU3Rh
dGUqKSBXVEZfSU5URVJOQUw7CitjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxpbmtDYWxs
VGhhdFByZXNlcnZlc1JlZ3MoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOworY2hhciogSklUX09Q
RVJBVElPTiBvcGVyYXRpb25MaW5rQ2xvc3VyZUNhbGxUaGF0UHJlc2VydmVzUmVncyhFeGVjU3Rh
dGUqKSBXVEZfSU5URVJOQUw7CitjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZpcnR1YWxD
YWxsVGhhdFByZXNlcnZlc1JlZ3MoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOworY2hhciogSklU
X09QRVJBVElPTiBvcGVyYXRpb25WaXJ0dWFsQ29uc3RydWN0VGhhdFByZXNlcnZlc1JlZ3MoRXhl
Y1N0YXRlKikgV1RGX0lOVEVSTkFMOworY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5r
Q29uc3RydWN0VGhhdFByZXNlcnZlc1JlZ3MoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOworCiBz
aXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25Db21wYXJlTGVzcyhFeGVjU3RhdGUqLCBFbmNv
ZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKIHNpemVfdCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkNvbXBhcmVMZXNzRXEoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUs
IEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CiBzaXplX3QgSklUX09QRVJBVElPTiBvcGVy
YXRpb25Db21wYXJlR3JlYXRlcihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUpIFdURl9JTlRFUk5BTDsKQEAgLTI0Miw3ICsyNTEsNyBAQCB2b2lkIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uVGhyb3dTdGF0aWNFcnJvcihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwg
aW50MzJfdAogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblRocm93KEV4ZWNTdGF0ZSosIEVu
Y29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
RGVidWcoRXhlY1N0YXRlKiwgaW50MzJfdCkgV1RGX0lOVEVSTkFMOwogI2lmIEVOQUJMRShERkdf
SklUKQotY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqLCBp
bnQzMl90KSBXVEZfSU5URVJOQUw7CitTbG93UGF0aFJldHVyblR5cGUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqLCBpbnQzMl90KSBXVEZfSU5URVJOQUw7CiAjZW5k
aWYKIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUluZGV4KEV4ZWNTdGF0ZSosIEVu
Y29kZWRKU1ZhbHVlLCBpbnQzMl90LCBFbmNvZGVkSlNWYWx1ZSk7CiAjaWYgVVNFKEpTVkFMVUU2
NCkKQEAgLTI2Nyw3ICsyNzYsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVGVhck9m
ZkFyZ3VtZW50cyhFeGVjU3RhdGUqLCBKU0NlbGwqLCBKU0NlbGwqKSBXVEZfSQogRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeUlkKEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlIGJhc2UsIGNvbnN0IElkZW50aWZpZXIqKSBXVEZfSU5URVJOQUw7CiBKU0NlbGwq
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0UE5hbWVzKEV4ZWNTdGF0ZSosIEpTT2JqZWN0Kikg
V1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbnN0
YW5jZU9mKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBwcm90bykg
V1RGX0lOVEVSTkFMOwotQ2FsbEZyYW1lKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblNpemVBbmRB
bGxvY0ZyYW1lRm9yVmFyYXJncyhFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBhcmd1bWVudHMs
IGludDMyX3QgZmlyc3RGcmVlUmVnaXN0ZXIpIFdURl9JTlRFUk5BTDsKK0NhbGxGcmFtZSogSklU
X09QRVJBVElPTiBvcGVyYXRpb25TaXplRnJhbWVGb3JWYXJhcmdzKEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlIGFyZ3VtZW50cywgaW50MzJfdCBmaXJzdEZyZWVSZWdpc3RlcikgV1RGX0lOVEVS
TkFMOwogQ2FsbEZyYW1lKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxvYWRWYXJhcmdzKEV4ZWNT
dGF0ZSosIENhbGxGcmFtZSosIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgYXJndW1lbnRzKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblRvT2JqZWN0KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJO
QUw7CiAKQEAgLTI4Nyw2ICsyOTYsNjggQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbklu
aXRHbG9iYWxDb25zdChFeGVjU3RhdGUqLCBJbnN0cnVjdGlvbiopOwogCiB9IC8vIGV4dGVybiAi
QyIKIAoraW5saW5lIFBfSklUT3BlcmF0aW9uX0Ugb3BlcmF0aW9uTGlua0ZvcigKKyAgICBDb2Rl
U3BlY2lhbGl6YXRpb25LaW5kIGtpbmQsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZSByZWdpc3Rl
cnMpCit7CisgICAgc3dpdGNoIChraW5kKSB7CisgICAgY2FzZSBDb2RlRm9yQ2FsbDoKKyAgICAg
ICAgc3dpdGNoIChyZWdpc3RlcnMpIHsKKyAgICAgICAgY2FzZSBSZWdpc3RlclByZXNlcnZhdGlv
bk5vdFJlcXVpcmVkOgorICAgICAgICAgICAgcmV0dXJuIG9wZXJhdGlvbkxpbmtDYWxsOworICAg
ICAgICBjYXNlIE11c3RQcmVzZXJ2ZVJlZ2lzdGVyczoKKyAgICAgICAgICAgIHJldHVybiBvcGVy
YXRpb25MaW5rQ2FsbFRoYXRQcmVzZXJ2ZXNSZWdzOworICAgICAgICB9CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQ29kZUZvckNvbnN0cnVjdDoKKyAgICAgICAgc3dpdGNoIChyZWdpc3RlcnMp
IHsKKyAgICAgICAgY2FzZSBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkOgorICAgICAg
ICAgICAgcmV0dXJuIG9wZXJhdGlvbkxpbmtDb25zdHJ1Y3Q7CisgICAgICAgIGNhc2UgTXVzdFBy
ZXNlcnZlUmVnaXN0ZXJzOgorICAgICAgICAgICAgcmV0dXJuIG9wZXJhdGlvbkxpbmtDb25zdHJ1
Y3RUaGF0UHJlc2VydmVzUmVnczsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICB9Cisg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKworaW5s
aW5lIFBfSklUT3BlcmF0aW9uX0Ugb3BlcmF0aW9uVmlydHVhbEZvcigKKyAgICBDb2RlU3BlY2lh
bGl6YXRpb25LaW5kIGtpbmQsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZSByZWdpc3RlcnMpCit7
CisgICAgc3dpdGNoIChraW5kKSB7CisgICAgY2FzZSBDb2RlRm9yQ2FsbDoKKyAgICAgICAgc3dp
dGNoIChyZWdpc3RlcnMpIHsKKyAgICAgICAgY2FzZSBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJl
cXVpcmVkOgorICAgICAgICAgICAgcmV0dXJuIG9wZXJhdGlvblZpcnR1YWxDYWxsOworICAgICAg
ICBjYXNlIE11c3RQcmVzZXJ2ZVJlZ2lzdGVyczoKKyAgICAgICAgICAgIHJldHVybiBvcGVyYXRp
b25WaXJ0dWFsQ2FsbFRoYXRQcmVzZXJ2ZXNSZWdzOworICAgICAgICB9CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQ29kZUZvckNvbnN0cnVjdDoKKyAgICAgICAgc3dpdGNoIChyZWdpc3RlcnMp
IHsKKyAgICAgICAgY2FzZSBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkOgorICAgICAg
ICAgICAgcmV0dXJuIG9wZXJhdGlvblZpcnR1YWxDb25zdHJ1Y3Q7CisgICAgICAgIGNhc2UgTXVz
dFByZXNlcnZlUmVnaXN0ZXJzOgorICAgICAgICAgICAgcmV0dXJuIG9wZXJhdGlvblZpcnR1YWxD
b25zdHJ1Y3RUaGF0UHJlc2VydmVzUmVnczsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAg
ICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30K
KworaW5saW5lIFBfSklUT3BlcmF0aW9uX0Ugb3BlcmF0aW9uTGlua0Nsb3N1cmVDYWxsRm9yKFJl
Z2lzdGVyUHJlc2VydmF0aW9uTW9kZSByZWdpc3RlcnMpCit7CisgICAgc3dpdGNoIChyZWdpc3Rl
cnMpIHsKKyAgICBjYXNlIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQ6CisgICAgICAg
IHJldHVybiBvcGVyYXRpb25MaW5rQ2xvc3VyZUNhbGw7CisgICAgY2FzZSBNdXN0UHJlc2VydmVS
ZWdpc3RlcnM6CisgICAgICAgIHJldHVybiBvcGVyYXRpb25MaW5rQ2xvc3VyZUNhbGxUaGF0UHJl
c2VydmVzUmVnczsKKyAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICByZXR1cm4gMDsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBFTkFCTEUo
SklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFj
Y2Vzcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNw
cAppbmRleCA0MjQxYmFmMzJhZDljNDUyZDU3MmYyOTQ2NzRmNjYxZGJhOTgxMGZiLi4yNmRkNGQx
YWY3NDVhZmExZmJjNTNhOWMwMjNhNmU0NzQxYTY2YTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5LCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTIwLDcgKzUy
MCw3IEBAIHZvaWQgSklUOjplbWl0X29wX2dldF9ieV9pZChJbnN0cnVjdGlvbiogY3VycmVudElu
c3RydWN0aW9uKQogCiAgICAgSklUR2V0QnlJZEdlbmVyYXRvciBnZW4oCiAgICAgICAgIG1fY29k
ZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBSZWdpc3RlclNldDo6c3BlY2lh
bFJlZ2lzdGVycygpLAotICAgICAgICBjYWxsRnJhbWVSZWdpc3RlciwgSlNWYWx1ZVJlZ3MocmVn
VDApLCBKU1ZhbHVlUmVncyhyZWdUMCksIHRydWUpOworICAgICAgICBKU1ZhbHVlUmVncyhyZWdU
MCksIEpTVmFsdWVSZWdzKHJlZ1QwKSwgdHJ1ZSk7CiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgo
KnRoaXMpOwogICAgIGFkZFNsb3dDYXNlKGdlbi5zbG93UGF0aEp1bXAoKSk7CiAgICAgbV9nZXRC
eUlkcy5hcHBlbmQoZ2VuKTsKQEAgLTU2Niw4ICs1NjYsOCBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9w
dXRfYnlfaWQoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIAogICAgIEpJVFB1dEJ5
SWRHZW5lcmF0b3IgZ2VuKAogICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVj
b2RlT2Zmc2V0KSwgUmVnaXN0ZXJTZXQ6OnNwZWNpYWxSZWdpc3RlcnMoKSwKLSAgICAgICAgY2Fs
bEZyYW1lUmVnaXN0ZXIsIEpTVmFsdWVSZWdzKHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDEpLCBy
ZWdUMiwgdHJ1ZSwKLSAgICAgICAgbV9jb2RlQmxvY2stPmVjbWFNb2RlKCksIGRpcmVjdCA/IERp
cmVjdCA6IE5vdERpcmVjdCk7CisgICAgICAgIEpTVmFsdWVSZWdzKHJlZ1QwKSwgSlNWYWx1ZVJl
Z3MocmVnVDEpLCByZWdUMiwgdHJ1ZSwgbV9jb2RlQmxvY2stPmVjbWFNb2RlKCksCisgICAgICAg
IGRpcmVjdCA/IERpcmVjdCA6IE5vdERpcmVjdCk7CiAgICAgCiAgICAgZ2VuLmdlbmVyYXRlRmFz
dFBhdGgoKnRoaXMpOwogICAgIGFkZFNsb3dDYXNlKGdlbi5zbG93UGF0aEp1bXAoKSk7CkBAIC0x
MDc4LDcgKzEwNzgsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeVZhbChCeVZhbElu
Zm8qIGJ5VmFsSW5mbywgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZAogICAgIHBhdGNoQnVmZmVy
LmxpbmsoZG9uZSwgYnlWYWxJbmZvLT5iYWRUeXBlSnVtcC5sYWJlbEF0T2Zmc2V0KGJ5VmFsSW5m
by0+YmFkVHlwZUp1bXBUb0RvbmUpKTsKICAgICAKICAgICBieVZhbEluZm8tPnN0dWJSb3V0aW5l
ID0gRklOQUxJWkVfQ09ERV9GT1JfU1RVQigKLSAgICAgICAgcGF0Y2hCdWZmZXIsCisgICAgICAg
IG1fY29kZUJsb2NrLCBwYXRjaEJ1ZmZlciwKICAgICAgICAgKCJCYXNlbGluZSBnZXRfYnlfdmFs
IHN0dWIgZm9yICVzLCByZXR1cm4gcG9pbnQgJXAiLCB0b0NTdHJpbmcoKm1fY29kZUJsb2NrKS5k
YXRhKCksIHJldHVybkFkZHJlc3MudmFsdWUoKSkpOwogICAgIAogICAgIFJlcGF0Y2hCdWZmZXIg
cmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CkBAIC0xMTQxLDEyICsxMTQxLDEyIEBAIHZvaWQg
SklUOjpwcml2YXRlQ29tcGlsZVB1dEJ5VmFsKEJ5VmFsSW5mbyogYnlWYWxJbmZvLCBSZXR1cm5B
ZGRyZXNzUHRyIHJldHVybkFkCiAgICAgYm9vbCBpc0RpcmVjdCA9IG1faW50ZXJwcmV0ZXItPmdl
dE9wY29kZUlEKGN1cnJlbnRJbnN0cnVjdGlvbi0+dS5vcGNvZGUpID09IG9wX3B1dF9ieV92YWxf
ZGlyZWN0OwogICAgIGlmICghaXNEaXJlY3QpIHsKICAgICAgICAgYnlWYWxJbmZvLT5zdHViUm91
dGluZSA9IEZJTkFMSVpFX0NPREVfRk9SX1NUVUIoCi0gICAgICAgICAgICBwYXRjaEJ1ZmZlciwK
KyAgICAgICAgICAgIG1fY29kZUJsb2NrLCBwYXRjaEJ1ZmZlciwKICAgICAgICAgICAgICgiQmFz
ZWxpbmUgcHV0X2J5X3ZhbCBzdHViIGZvciAlcywgcmV0dXJuIHBvaW50ICVwIiwgdG9DU3RyaW5n
KCptX2NvZGVCbG9jaykuZGF0YSgpLCByZXR1cm5BZGRyZXNzLnZhbHVlKCkpKTsKICAgICAgICAg
CiAgICAgfSBlbHNlIHsKICAgICAgICAgYnlWYWxJbmZvLT5zdHViUm91dGluZSA9IEZJTkFMSVpF
X0NPREVfRk9SX1NUVUIoCi0gICAgICAgICAgICBwYXRjaEJ1ZmZlciwKKyAgICAgICAgICAgIG1f
Y29kZUJsb2NrLCBwYXRjaEJ1ZmZlciwKICAgICAgICAgICAgICgiQmFzZWxpbmUgcHV0X2J5X3Zh
bF9kaXJlY3Qgc3R1YiBmb3IgJXMsIHJldHVybiBwb2ludCAlcCIsIHRvQ1N0cmluZygqbV9jb2Rl
QmxvY2spLmRhdGEoKSwgcmV0dXJuQWRkcmVzcy52YWx1ZSgpKSk7CiAgICAgfQogICAgIFJlcGF0
Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAppbmRleCA1YmM4ZDFh
YmI0NDBhOTYwMzE0ZWRkMzY4ODY3NGNmZDAxYWEwYjc5Li5kMThmZWE3MTVjYjAzYjM3YWE5MjZk
ODQ5YThlNWFiOTU2M2VjZDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ4Miw3ICs0ODIsNyBA
QCB2b2lkIEpJVDo6ZW1pdF9vcF9nZXRfYnlfaWQoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVj
dGlvbikKIAogICAgIEpJVEdldEJ5SWRHZW5lcmF0b3IgZ2VuKAogICAgICAgICBtX2NvZGVCbG9j
aywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgUmVnaXN0ZXJTZXQ6OnNwZWNpYWxSZWdp
c3RlcnMoKSwKLSAgICAgICAgY2FsbEZyYW1lUmVnaXN0ZXIsIEpTVmFsdWVSZWdzOjpwYXlsb2Fk
T25seShyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QxLCByZWdUMCksIHRydWUpOworICAgICAgICBK
U1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDAp
LCB0cnVlKTsKICAgICBnZW4uZ2VuZXJhdGVGYXN0UGF0aCgqdGhpcyk7CiAgICAgYWRkU2xvd0Nh
c2UoZ2VuLnNsb3dQYXRoSnVtcCgpKTsKICAgICBtX2dldEJ5SWRzLmFwcGVuZChnZW4pOwpAQCAt
NTMwLDcgKzUzMCw3IEBAIHZvaWQgSklUOjplbWl0X29wX3B1dF9ieV9pZChJbnN0cnVjdGlvbiog
Y3VycmVudEluc3RydWN0aW9uKQogCiAgICAgSklUUHV0QnlJZEdlbmVyYXRvciBnZW4oCiAgICAg
ICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBSZWdpc3RlclNl
dDo6c3BlY2lhbFJlZ2lzdGVycygpLAotICAgICAgICBjYWxsRnJhbWVSZWdpc3RlciwgSlNWYWx1
ZVJlZ3M6OnBheWxvYWRPbmx5KHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDMsIHJlZ1QyKSwKKyAg
ICAgICAgSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDMs
IHJlZ1QyKSwKICAgICAgICAgcmVnVDEsIHRydWUsIG1fY29kZUJsb2NrLT5lY21hTW9kZSgpLCBk
aXJlY3QgPyBEaXJlY3QgOiBOb3REaXJlY3QpOwogICAgIAogICAgIGdlbi5nZW5lcmF0ZUZhc3RQ
YXRoKCp0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1
YlJvdXRpbmUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YlJvdXRpbmUuaApp
bmRleCAwMjBlZjY5MDc5ZDMxN2JhNmEyY2EwNzYwMDYxYjQ5OTVkY2VkYjJkLi43NDg2NTRiYmM2
MTM0N2RlOWJjNjA5ZTg2YmMxMTU2NTFhM2RkNDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFN0dWJSb3V0aW5lLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRTdHViUm91dGluZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0xNTAsMTEgKzE1MCw4IEBAIHByb3RlY3RlZDoKIH07CiAK
IC8vIEhlbHBlciBmb3IgdGhlIGNyZWF0aW9uIG9mIHNpbXBsZSBzdHViIHJvdXRpbmVzIHRoYXQg
bmVlZCBubyBoZWxwIGZyb20gdGhlIEdDLgotI2RlZmluZSBGSU5BTElaRV9DT0RFX0ZPUl9TVFVC
KHBhdGNoQnVmZmVyLCBkYXRhTG9nRkFyZ3VtZW50cykgXAotICAgIChhZG9wdFJlZihuZXcgSklU
U3R1YlJvdXRpbmUoRklOQUxJWkVfQ09ERSgocGF0Y2hCdWZmZXIpLCBkYXRhTG9nRkFyZ3VtZW50
cykpKSkKLQotI2RlZmluZSBGSU5BTElaRV9DT0RFX0ZPUl9ERkdfU1RVQihwYXRjaEJ1ZmZlciwg
ZGF0YUxvZ0ZBcmd1bWVudHMpIFwKLSAgICAoYWRvcHRSZWYobmV3IEpJVFN0dWJSb3V0aW5lKEZJ
TkFMSVpFX0RGR19DT0RFKChwYXRjaEJ1ZmZlciksIGRhdGFMb2dGQXJndW1lbnRzKSkpKQorI2Rl
ZmluZSBGSU5BTElaRV9DT0RFX0ZPUl9TVFVCKGNvZGVCbG9jaywgcGF0Y2hCdWZmZXIsIGRhdGFM
b2dGQXJndW1lbnRzKSBcCisgICAgKGFkb3B0UmVmKG5ldyBKSVRTdHViUm91dGluZShGSU5BTEla
RV9DT0RFX0ZPUigoY29kZUJsb2NrKSwgKHBhdGNoQnVmZmVyKSwgZGF0YUxvZ0ZBcmd1bWVudHMp
KSkpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVFN0dWJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJz
LmgKaW5kZXggMjRkOTVkZmQ0OWI4ZTRhZjFjMjUwNmE4NDI5N2EyYzhmZmU5NDY3ZC4uMTMzMTQ0
ZTE4OWEzOGNhZGVmMWEzNmViM2UyMmUxMmI2NjI4ZjA5MCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUU3R1YnMuaApAQCAtMzcsMTQgKzM3LDEzIEBAIG5hbWVzcGFjZSBKU0MgewogI2lmIEVO
QUJMRShKSVQpCiAKICNpZiBPUyhXSU5ET1dTKQotY2xhc3MgRXhlY1N0YXRlOwotY2xhc3MgUmVn
aXN0ZXI7CiBzdHJ1Y3QgUHJvdG9DYWxsRnJhbWU7CitjbGFzcyBWTTsKIAogZXh0ZXJuICJDIiB7
Ci0gICAgRW5jb2RlZEpTVmFsdWUgY2FsbFRvSmF2YVNjcmlwdCh2b2lkKiwgRXhlY1N0YXRlKios
IFByb3RvQ2FsbEZyYW1lKiwgUmVnaXN0ZXIqKTsKLSAgICB2b2lkIHJldHVybkZyb21KYXZhU2Ny
aXB0KCk7Ci0gICAgRW5jb2RlZEpTVmFsdWUgY2FsbFRvTmF0aXZlRnVuY3Rpb24odm9pZCosIEV4
ZWNTdGF0ZSoqLCBQcm90b0NhbGxGcmFtZSosIFJlZ2lzdGVyKik7CisgICAgRW5jb2RlZEpTVmFs
dWUgY2FsbFRvSmF2YVNjcmlwdCh2b2lkKiwgVk0qLCBQcm90b0NhbGxGcmFtZSopOworICAgIEVu
Y29kZWRKU1ZhbHVlIGNhbGxUb05hdGl2ZUZ1bmN0aW9uKHZvaWQqLCBWTSosIFByb3RvQ2FsbEZy
YW1lKik7CisgICAgdm9pZCBoYW5kbGVVbmNhdWdodEV4Y2VwdGlvbigpOwogfQogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNNU1ZDNjQuYXNt
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic01TVkM2NC5hc20KZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBiY2Q5ZGRiNDlmZGQ3ZTZjMTY0ODE5YWQ3ZjY2OTI1NzI1
ZTUyZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic01TVkM2NC5hc20KKysrIC9kZXYvbnVsbApA
QCAtMSwyNTUgKzAsMCBAQAotOy8qCi07IENvcHlyaWdodCAoQykgMjAxMyBEaWdpYSBQbGMuIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotOwotOyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLTsgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi07
IGFyZSBtZXQ6Ci07IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci07ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLTsgMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLTsgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotOyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotOwotOyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLTsgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLTsgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci07IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi07IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotOyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi07IFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotOyBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi07IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotOyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLTsgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLTsqLwotCi1FWFRFUk4g
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUgOiBuZWFyCi0KLVBVQkxJQyBjYWxs
VG9KYXZhU2NyaXB0Ci1QVUJMSUMgcmV0dXJuRnJvbUphdmFTY3JpcHQKLVBVQkxJQyBnZXRIb3N0
Q2FsbFJldHVyblZhbHVlCi0KLV9URVhUICAgU0VHTUVOVAotCi1jYWxsVG9KYXZhU2NyaXB0IFBS
T0MKLSAgICA7OyBUaGlzIGZ1bmN0aW9uIGlzIGJlbGlldmVkIHRvIGJlIGFuIGFjY3VyYXRlIGFk
YXB0YXRpb24gb2YgdGhlIGFzc2VtYmx5IGNyZWF0ZWQgYnkgdGhlIGxsaW50IHN0dWIgb2YgdGhl
Ci0gICAgOzsgc2FtZSBuYW1lIHdpdGggY2hhbmdlcyBmb3IgYXJndW1lbnQgcmVnaXN0ZXIgZGlm
ZmVyZW5jZXMuCi0gICAgbW92IHIxMCwgcXdvcmQgcHRyW3JzcF0KLSAgICBwdXNoIHJicAotICAg
IG1vdiByYXgsIHJicCA7IFNhdmUgcHJldmlvdXMgZnJhbWUgcG9pbnRlcgotICAgIG1vdiByYnAs
IHJzcAotICAgIHB1c2ggcjEyCi0gICAgcHVzaCByMTMKLSAgICBwdXNoIHIxNAotICAgIHB1c2gg
cjE1Ci0gICAgcHVzaCByYngKLSAgICBwdXNoIHJzaQotICAgIHB1c2ggcmRpCi0KLSAgICA7IEpJ
VCBvcGVyYXRpb25zIGNhbiB1c2UgdXAgdG8gNiBhcmdzICg0IGluIHJlZ2lzdGVycyBhbmQgMiBv
biB0aGUgc3RhY2spLgotICAgIDsgSW4gYWRkaXRpb24sIFg4Nl82NCBBQkkgc3BlY2lmaWVzIHRo
YXQgdGhlIHdvcnNlIGNhc2Ugc3RhY2sgYWxpZ25tZW50Ci0gICAgOyByZXF1aXJlbWVudCBpcyAz
MiBieXRlcy4gQmFzZWQgb24gdGhlc2UgZmFjdG9ycywgd2UgbmVlZCB0byBwYWQgdGhlIHN0YWNr
Ci0gICAgOyBhbiBhZGRpdGlvbmFsIDI4aCBieXRlcy4KLSAgICBzdWIgcnNwLCAyOGgKLQotICAg
IG1vdiByYnAsIHI5Ci0gICAgc3ViIHJicCwgNDAKLSAgICBtb3YgcXdvcmQgcHRyW3JicCArIDQw
XSwgMAotICAgIG1vdiBxd29yZCBwdHJbcmJwICsgMzJdLCByZHgKLQotICAgIG1vdiByYXgsIHF3
b3JkIHB0cltyZHhdCi0gICAgbW92IHF3b3JkIHB0cltyYnAgKyAyNF0sIHJheAotICAgIG1vdiBx
d29yZCBwdHJbcmJwICsgMTZdLCAxCi0gICAgbW92IHF3b3JkIHB0cltyYnAgKyA4XSwgcjEwCi0g
ICAgbW92IHF3b3JkIHB0cltyYnBdLCByYXgKLSAgICBtb3YgcmF4LCByYnAKLQotICAgIG1vdiBl
YngsIGR3b3JkIHB0cltyOCArIDQwXQotICAgIGFkZCByYngsIDYKLSAgICBzYWwgcmJ4LCAzCi0g
ICAgc3ViIHJicCwgcmJ4Ci0gICAgbW92IHF3b3JkIHB0cltyYnBdLCByYXgKLQotICAgIG1vdiBy
YXgsIDUKLQotY29weUhlYWRlckxvb3A6Ci0gICAgc3ViIHJheCwgMQotICAgIG1vdiByMTAsIHF3
b3JkIHB0cltyOCArIHJheCAqIDhdCi0gICAgbW92IHF3b3JkIHB0cltyYnAgKyByYXggKiA4ICsg
MTZdLCByMTAKLSAgICB0ZXN0IHJheCwgcmF4Ci0gICAgam56IGNvcHlIZWFkZXJMb29wCi0KLSAg
ICBtb3YgZWJ4LCBkd29yZCBwdHJbcjggKyAyNF0KLSAgICBzdWIgcmJ4LCAxCi0gICAgbW92IHIx
MGQsIGR3b3JkIHB0cltyOCArIDQwXQotICAgIHN1YiByMTAsIDEKLSAgICBjbXAgcmJ4LCByMTAK
LSAgICBqZSBjb3B5QXJncwotICAgIG1vdiByYXgsIDBhaAotCi1maWxsRXh0cmFBcmdzTG9vcDoK
LSAgICBzdWIgcjEwLCAxCi0gICAgbW92IHF3b3JkIHB0cltyYnAgKyByMTAgKiA4ICsgNTZdLCBy
YXgKLSAgICBjbXAgcmJ4LCByMTAKLSAgICBqbmUgZmlsbEV4dHJhQXJnc0xvb3AKLQotY29weUFy
Z3M6Ci0gICAgbW92IHJheCwgcXdvcmQgcHRyW3I4ICsgNDhdCi0KLWNvcHlBcmdzTG9vcDoKLSAg
ICB0ZXN0IGVieCwgZWJ4Ci0gICAganogY29weUFyZ3NEb25lCi0gICAgc3ViIGVieCwgMQotICAg
IG1vdiByMTAsIHF3b3JkIHB0cltyYXggKyByYnggKiA4XQotICAgIG1vdiBxd29yZCBwdHJbcmJw
ICsgcmJ4ICogOCArIDU2XSwgcjEwCi0gICAgam1wIGNvcHlBcmdzTG9vcAotCi1jb3B5QXJnc0Rv
bmU6Ci0gICAgbW92IHF3b3JkIHB0cltyZHhdLCByYnAKLSAgICBtb3YgcjE0LCAwRkZGRjAwMDAw
MDAwMDAwMGgKLSAgICBtb3YgcjE1LCAwRkZGRjAwMDAwMDAwMDAwMmgKLSAgICBjYWxsIHJjeAot
ICAgIGNtcCBxd29yZCBwdHJbcmJwICsgMTZdLCAxCi0gICAgamUgY2FsbGVlRnJhbWVQb3BwZWQK
LSAgICBtb3YgcmJwLCBxd29yZCBwdHJbcmJwXQotCi1jYWxsZWVGcmFtZVBvcHBlZDoKLSAgICBt
b3YgcmJ4LCBxd29yZCBwdHJbcmJwICsgMzJdIDsgVk0udG9wQ2FsbEZyYW1lCi0gICAgbW92IHIx
MCwgcXdvcmQgcHRyW3JicCArIDI0XQotICAgIG1vdiBxd29yZCBwdHJbcmJ4XSwgcjEwCi0gICAg
YWRkIHJzcCwgMjhoCi0gICAgcG9wIHJkaQotICAgIHBvcCByc2kKLSAgICBwb3AgcmJ4Ci0gICAg
cG9wIHIxNQotICAgIHBvcCByMTQKLSAgICBwb3AgcjEzCi0gICAgcG9wIHIxMgotICAgIHBvcCBy
YnAKLSAgICByZXQKLWNhbGxUb0phdmFTY3JpcHQgRU5EUAotCi1jYWxsVG9OYXRpdmVGdW5jdGlv
biBQUk9DCi0gICAgOzsgVGhpcyBmdW5jdGlvbiBpcyBiZWxpZXZlZCB0byBiZSBhbiBhY2N1cmF0
ZSBhZGFwdGF0aW9uIG9mIHRoZSBhc3NlbWJseSBjcmVhdGVkIGJ5IHRoZSBsbGludCBzdHViIG9m
IHRoZQotICAgIDs7IHNhbWUgbmFtZSB3aXRoIGNoYW5nZXMgZm9yIGFyZ3VtZW50IHJlZ2lzdGVy
IGRpZmZlcmVuY2VzLgotICAgIG1vdiByMTAsIHF3b3JkIHB0cltyc3BdCi0gICAgcHVzaCByYnAK
LSAgICBtb3YgcmF4LCByYnAgOyBTYXZlIHByZXZpb3VzIGZyYW1lIHBvaW50ZXIKLSAgICBtb3Yg
cmJwLCByc3AKLSAgICBwdXNoIHIxMgotICAgIHB1c2ggcjEzCi0gICAgcHVzaCByMTQKLSAgICBw
dXNoIHIxNQotICAgIHB1c2ggcmJ4Ci0gICAgcHVzaCByc2kKLSAgICBwdXNoIHJkaQotCi0gICAg
OyBKSVQgb3BlcmF0aW9ucyBjYW4gdXNlIHVwIHRvIDYgYXJncyAoNCBpbiByZWdpc3RlcnMgYW5k
IDIgb24gdGhlIHN0YWNrKS4KLSAgICA7IEluIGFkZGl0aW9uLCBYODZfNjQgQUJJIHNwZWNpZmll
cyB0aGF0IHRoZSB3b3JzZSBjYXNlIHN0YWNrIGFsaWdubWVudAotICAgIDsgcmVxdWlyZW1lbnQg
aXMgMzIgYnl0ZXMuIEJhc2VkIG9uIHRoZXNlIGZhY3RvcnMsIHdlIG5lZWQgdG8gcGFkIHRoZSBz
dGFjawotICAgIDsgYW4gYWRkaXRpb25hbCAyOGggYnl0ZXMuCi0gICAgc3ViIHJzcCwgMjhoCi0K
LSAgICBtb3YgcmJwLCByOQotICAgIHN1YiByYnAsIDQwCi0gICAgbW92IHF3b3JkIHB0cltyYnAg
KyA0MF0sIDAKLSAgICBtb3YgcXdvcmQgcHRyW3JicCArIDMyXSwgcmR4Ci0KLSAgICBtb3YgcmF4
LCBxd29yZCBwdHJbcmR4XQotICAgIG1vdiBxd29yZCBwdHJbcmJwICsgMjRdLCByYXgKLSAgICBt
b3YgcXdvcmQgcHRyW3JicCArIDE2XSwgMQotICAgIG1vdiBxd29yZCBwdHJbcmJwICsgOF0sIHIx
MAotICAgIG1vdiBxd29yZCBwdHJbcmJwXSwgcmF4Ci0gICAgbW92IHJheCwgcmJwCi0KLSAgICBt
b3YgZWJ4LCBkd29yZCBwdHJbcjggKyA0MF0KLSAgICBhZGQgcmJ4LCA2Ci0gICAgc2FsIHJieCwg
MwotICAgIHN1YiByYnAsIHJieAotICAgIG1vdiBxd29yZCBwdHJbcmJwXSwgcmF4Ci0KLSAgICBt
b3YgcmF4LCA1Ci0KLWNvcHlIZWFkZXJMb29wOgotICAgIHN1YiByYXgsIDEKLSAgICBtb3YgcjEw
LCBxd29yZCBwdHJbcjggKyByYXggKiA4XQotICAgIG1vdiBxd29yZCBwdHJbcmJwICsgcmF4ICog
OCArIDE2XSwgcjEwCi0gICAgdGVzdCByYXgsIHJheAotICAgIGpueiBjb3B5SGVhZGVyTG9vcAot
Ci0gICAgbW92IGVieCwgZHdvcmQgcHRyW3I4ICsgMjRdCi0gICAgc3ViIHJieCwgMQotICAgIG1v
diByMTBkLCBkd29yZCBwdHJbcjggKyA0MF0KLSAgICBzdWIgcjEwLCAxCi0gICAgY21wIHJieCwg
cjEwCi0gICAgamUgY29weUFyZ3MKLSAgICBtb3YgcmF4LCAwYWgKLQotZmlsbEV4dHJhQXJnc0xv
b3A6Ci0gICAgc3ViIHIxMCwgMQotICAgIG1vdiBxd29yZCBwdHJbcmJwICsgcjEwICogOCArIDU2
XSwgcmF4Ci0gICAgY21wIHJieCwgcjEwCi0gICAgam5lIGZpbGxFeHRyYUFyZ3NMb29wCi0KLWNv
cHlBcmdzOgotICAgIG1vdiByYXgsIHF3b3JkIHB0cltyOCArIDQ4XQotCi1jb3B5QXJnc0xvb3A6
Ci0gICAgdGVzdCByYngsIHJieAotICAgIGp6IGNvcHlBcmdzRG9uZQotICAgIHN1YiByYngsIDEK
LSAgICBtb3YgcjEwLCBxd29yZCBwdHJbcmF4ICsgcmJ4ICogOF0KLSAgICBtb3YgcXdvcmQgcHRy
W3JicCArIHJieCAqIDggKyA1Nl0sIHIxMAotICAgIGptcCBjb3B5QXJnc0xvb3AKLQotY29weUFy
Z3NEb25lOgotICAgIG1vdiBxd29yZCBwdHJbcmR4XSwgcmJwCi0gICAgbW92IHIxNCwgMEZGRkYw
MDAwMDAwMDAwMDBoCi0gICAgbW92IHIxNSwgMEZGRkYwMDAwMDAwMDAwMDJoCi0KLSAgICBtb3Yg
cmF4LCByY3gKLSAgICBtb3YgcmN4LCByYnAKLSAgICBjYWxsIHJheAotCi0gICAgY21wIHF3b3Jk
IHB0cltyYnAgKyAxNl0sIDEKLSAgICBqZSBjYWxsZWVGcmFtZVBvcHBlZAotICAgIG1vdiByYnAs
IHF3b3JkIHB0cltyYnBdCi0KLWNhbGxlZUZyYW1lUG9wcGVkOgotICAgIG1vdiByYngsIHF3b3Jk
IHB0cltyYnAgKyAzMl0gOyBWTS50b3BDYWxsRnJhbWUKLSAgICBtb3YgcjEwLCBxd29yZCBwdHJb
cmJwICsgMjRdCi0gICAgbW92IHF3b3JkIHB0cltyYnhdLCByMTAKLSAgICBhZGQgcnNwLCAyOGgK
LSAgICBwb3AgcmRpCi0gICAgcG9wIHJzaQotICAgIHBvcCByYngKLSAgICBwb3AgcjE1Ci0gICAg
cG9wIHIxNAotICAgIHBvcCByMTMKLSAgICBwb3AgcjEyCi0gICAgcG9wIHJicAotICAgIHJldAot
Y2FsbFRvTmF0aXZlRnVuY3Rpb24gRU5EUAotCi1yZXR1cm5Gcm9tSmF2YVNjcmlwdCBQUk9DCi0g
ICAgYWRkIHJzcCwgMjhoCi0gICAgcG9wIHJkaQotICAgIHBvcCByc2kKLSAgICBwb3AgcmJ4Ci0g
ICAgcG9wIHIxNQotICAgIHBvcCByMTQKLSAgICBwb3AgcjEzCi0gICAgcG9wIHIxMgotICAgIHBv
cCByYnAKLSAgICByZXQKLXJldHVybkZyb21KYXZhU2NyaXB0IEVORFAKLQkKLWdldEhvc3RDYWxs
UmV0dXJuVmFsdWUgUFJPQwotICAgIG1vdiByYnAsIFtyYnBdIDsgQ2FsbEZyYW1lCi0gICAgbW92
IHJjeCwgcmJwIDsgcmN4IGlzIGZpcnN0IGFyZ3VtZW50IHJlZ2lzdGVyIG9uIFdpbmRvd3MKLSAg
ICBqbXAgZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUKLWdldEhvc3RDYWxsUmV0
dXJuVmFsdWUgRU5EUAotCi1fVEVYVCAgIEVORFMKLQotRU5ECmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFN0dWJzWDg2LmgKaW5kZXggYTFmYmRlZjJhMjRhMjZjMDE4NDBiYmFjNTU3MjA0ZTc1
NGViZWNjMS4uZGRkYjIxOTE3ZWFiODAzZGZjMDI1ZjViMjQ5NjVmMzVhZTg3NGM4YyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4Ni5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNYODYuaApAQCAtMjAwLDIzMCArMjAwLDYgQEAg
U1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lRW5kKSAiOiIgIlxuIgogCiAjZW5k
aWYgLy8gQ09NUElMRVIoR0NDKQogCi0jaWYgQ09NUElMRVIoTVNWQykKLQotZXh0ZXJuICJDIiB7
Ci0KLSAgICAvLyBGSVhNRTogU2luY2UgV2luZG93cyBkb2Vzbid0IHVzZSB0aGUgTExJbnQsIHdl
IGhhdmUgaW5saW5lIHN0dWJzIGhlcmUuCi0gICAgLy8gVW50aWwgdGhlIExMSW50IGlzIGNoYW5n
ZWQgdG8gc3VwcG9ydCBXaW5kb3dzLCB0aGVzZSBzdHViIG5lZWRzIHRvIGJlIHVwZGF0ZWQuCi0g
ICAgX19kZWNsc3BlYyhuYWtlZCkgRW5jb2RlZEpTVmFsdWUgY2FsbFRvSmF2YVNjcmlwdCh2b2lk
KiBjb2RlLCBFeGVjU3RhdGUqKiwgUHJvdG9DYWxsRnJhbWUqLCBSZWdpc3RlciopCi0gICAgewot
ICAgICAgICBfX2FzbSB7Ci0gICAgICAgICAgICBtb3YgZWR4LCBbZXNwXQotICAgICAgICAgICAg
cHVzaCBlYnA7Ci0gICAgICAgICAgICBtb3YgZWF4LCBlYnA7Ci0gICAgICAgICAgICBtb3YgZWJw
LCBlc3A7Ci0gICAgICAgICAgICBwdXNoIGVzaTsKLSAgICAgICAgICAgIHB1c2ggZWRpOwotICAg
ICAgICAgICAgcHVzaCBlYng7Ci0gICAgICAgICAgICBzdWIgZXNwLCAweDFjOwotICAgICAgICAg
ICAgbW92IGVjeCwgZHdvcmQgcHRyW2VzcCArIDB4MzRdOwotICAgICAgICAgICAgbW92IGVzaSwg
ZHdvcmQgcHRyW2VzcCArIDB4MzhdOwotICAgICAgICAgICAgbW92IGVicCwgZHdvcmQgcHRyW2Vz
cCArIDB4M2NdOwotICAgICAgICAgICAgc3ViIGVicCwgMHgyMDsKLSAgICAgICAgICAgIG1vdiBk
d29yZCBwdHJbZWJwICsgMHgyNF0sIDA7Ci0gICAgICAgICAgICBtb3YgZHdvcmQgcHRyW2VicCAr
IDB4MjBdLCAwOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltlYnAgKyAweDFjXSwgMDsKLSAg
ICAgICAgICAgIG1vdiBkd29yZCBwdHJbZWJwICsgMHgxOF0sIGVjeDsKLSAgICAgICAgICAgIG1v
diBlYngsIFtlY3hdOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltlYnAgKyAweDE0XSwgMDsK
LSAgICAgICAgICAgIG1vdiBkd29yZCBwdHJbZWJwICsgMHgxMF0sIGVieDsKLSAgICAgICAgICAg
IG1vdiBkd29yZCBwdHJbZWJwICsgMHhjXSwgMDsKLSAgICAgICAgICAgIG1vdiBkd29yZCBwdHJb
ZWJwICsgMHg4XSwgMTsKLSAgICAgICAgICAgIG1vdiBkd29yZCBwdHJbZWJwICsgMHg0XSwgZWR4
OwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltlYnBdLCBlYXg7Ci0gICAgICAgICAgICBtb3Yg
ZWF4LCBlYnA7Ci0KLSAgICAgICAgICAgIG1vdiBlZHgsIGR3b3JkIHB0cltlc2kgKyAweDI4XTsK
LSAgICAgICAgICAgIGFkZCBlZHgsIDU7Ci0gICAgICAgICAgICBzYWwgZWR4LCAzOwotICAgICAg
ICAgICAgc3ViIGVicCwgZWR4OwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltlYnBdLCBlYXg7
Ci0KLSAgICAgICAgICAgIG1vdiBlYXgsIDU7Ci0KLSAgICAgICAgY29weUhlYWRlckxvb3A6Ci0g
ICAgICAgICAgICBzdWIgZWF4LCAxOwotICAgICAgICAgICAgbW92IGVjeCwgZHdvcmQgcHRyW2Vz
aSArIGVheCAqIDhdOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0ciA4W2VicCArIGVheCAqIDhd
LCBlY3g7Ci0gICAgICAgICAgICBtb3YgZWN4LCBkd29yZCBwdHIgNFtlc2kgKyBlYXggKiA4XTsK
LSAgICAgICAgICAgIG1vdiBkd29yZCBwdHIgMTJbZWJwICsgZWF4ICogOF0sIGVjeDsKLSAgICAg
ICAgICAgIHRlc3QgZWF4LCBlYXg7Ci0gICAgICAgICAgICBqbnogY29weUhlYWRlckxvb3A7Ci0K
LSAgICAgICAgICAgIG1vdiBlZHgsIGR3b3JkIHB0cltlc2kgKyAweDE4XTsKLSAgICAgICAgICAg
IHN1YiBlZHgsIDE7Ci0gICAgICAgICAgICBtb3YgZWN4LCBkd29yZCBwdHJbZXNpICsgMHgyOF07
Ci0gICAgICAgICAgICBzdWIgZWN4LCAxOwotCi0gICAgICAgICAgICBjbXAgZWR4LCBlY3g7Ci0g
ICAgICAgICAgICBqZSBjb3B5QXJnczsKLQotICAgICAgICAgICAgeG9yIGVheCwgZWF4OwotICAg
ICAgICAgICAgbW92IGVieCwgLTQ7Ci0KLSAgICAgICAgZmlsbEV4dHJhQXJnc0xvb3A6Ci0gICAg
ICAgICAgICBzdWIgZWN4LCAxOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0ciAweDMwW2VicCAr
IGVjeCAqIDhdLCBlYXg7ICAgICAgICAgICAgCi0gICAgICAgICAgICBtb3YgZHdvcmQgcHRyIDB4
MzRbZWJwICsgZWN4ICogOF0sIGVieDsKLSAgICAgICAgICAgIGNtcCBlZHgsIGVjeDsKLSAgICAg
ICAgICAgIGpuZSBmaWxsRXh0cmFBcmdzTG9vcDsKLQotICAgICAgICBjb3B5QXJnczoKLSAgICAg
ICAgICAgIG1vdiBlYXgsIGR3b3JkIHB0cltlc2kgKyAweDJjXTsKLQotICAgICAgICBjb3B5QXJn
c0xvb3A6Ci0gICAgICAgICAgICB0ZXN0IGVkeCwgZWR4OwotICAgICAgICAgICAganogY29weUFy
Z3NEb25lOwotICAgICAgICAgICAgc3ViIGVkeCwgMTsKLSAgICAgICAgICAgIG1vdiBlY3gsIGR3
b3JkIHB0ciAwW2VheCArIGVkeCAqIDhdOwotICAgICAgICAgICAgbW92IGVieCwgZHdvcmQgcHRy
IDRbZWF4ICsgZWR4ICogOF07Ci0gICAgICAgICAgICBtb3YgZHdvcmQgcHRyIDB4MzBbZWJwICsg
ZWR4ICogOF0sIGVjeDsKLSAgICAgICAgICAgIG1vdiBkd29yZCBwdHIgMHgzNFtlYnAgKyBlZHgg
KiA4XSwgZWJ4OwotICAgICAgICAgICAgam1wIGNvcHlBcmdzTG9vcDsKLQotICAgICAgICBjb3B5
QXJnc0RvbmU6Ci0gICAgICAgICAgICBtb3YgZWN4LCBkd29yZCBwdHJbZXNwICsgMHgzNF07Ci0g
ICAgICAgICAgICBtb3YgZHdvcmQgcHRyW2VjeF0sIGVicDsKLQotICAgICAgICAgICAgY2FsbCBk
d29yZCBwdHJbZXNwICsgMHgzMF07Ci0KLSAgICAgICAgICAgIGNtcCBkd29yZCBwdHJbZWJwICsg
OF0sIDE7Ci0gICAgICAgICAgICBqZSBjYWxsZWVGcmFtZVBvcHBlZDsKLSAgICAgICAgICAgIG1v
diBlYnAsIGR3b3JkIHB0cltlYnBdOwotCi0gICAgICAgIGNhbGxlZUZyYW1lUG9wcGVkOgotICAg
ICAgICAgICAgbW92IGVjeCwgZHdvcmQgcHRyW2VicCArIDB4MThdOwotICAgICAgICAgICAgbW92
IGVieCwgZHdvcmQgcHRyW2VicCArIDB4MTBdOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltl
Y3hdLCBlYng7Ci0KLSAgICAgICAgICAgIGFkZCBlc3AsIDB4MWM7Ci0gICAgICAgICAgICBwb3Ag
ZWJ4OwotICAgICAgICAgICAgcG9wIGVkaTsKLSAgICAgICAgICAgIHBvcCBlc2k7Ci0gICAgICAg
ICAgICBwb3AgZWJwOwotICAgICAgICAgICAgcmV0OwotICAgICAgICB9Ci0gICAgfQotCi0gICAg
X19kZWNsc3BlYyhuYWtlZCkgdm9pZCByZXR1cm5Gcm9tSmF2YVNjcmlwdCgpCi0gICAgewotICAg
ICAgICBfX2FzbSB7Ci0gICAgICAgICAgICBhZGQgZXNwLCAweDFjOwotICAgICAgICAgICAgcG9w
IGVieDsKLSAgICAgICAgICAgIHBvcCBlZGk7Ci0gICAgICAgICAgICBwb3AgZXNpOwotICAgICAg
ICAgICAgcG9wIGVicDsKLSAgICAgICAgICAgIHJldDsKLSAgICAgICAgfQotICAgIH0KLQotICAg
IF9fZGVjbHNwZWMobmFrZWQpIEVuY29kZWRKU1ZhbHVlIGNhbGxUb05hdGl2ZUZ1bmN0aW9uKHZv
aWQqIGNvZGUsIEV4ZWNTdGF0ZSoqLCBQcm90b0NhbGxGcmFtZSosIFJlZ2lzdGVyKikKLSAgICB7
Ci0gICAgICAgIF9fYXNtIHsKLSAgICAgICAgICAgIG1vdiBlZHgsIFtlc3BdCi0gICAgICAgICAg
ICBwdXNoIGVicDsKLSAgICAgICAgICAgIG1vdiBlYXgsIGVicDsKLSAgICAgICAgICAgIG1vdiBl
YnAsIGVzcDsKLSAgICAgICAgICAgIHB1c2ggZXNpOwotICAgICAgICAgICAgcHVzaCBlZGk7Ci0g
ICAgICAgICAgICBwdXNoIGVieDsKLSAgICAgICAgICAgIHN1YiBlc3AsIDB4MWM7Ci0gICAgICAg
ICAgICBtb3YgZWN4LCBbZXNwICsgMHgzNF07Ci0gICAgICAgICAgICBtb3YgZXNpLCBbZXNwICsg
MHgzOF07Ci0gICAgICAgICAgICBtb3YgZWJwLCBbZXNwICsgMHgzY107Ci0gICAgICAgICAgICBz
dWIgZWJwLCAweDIwOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltlYnAgKyAweDI0XSwgMDsK
LSAgICAgICAgICAgIG1vdiBkd29yZCBwdHJbZWJwICsgMHgyMF0sIDA7Ci0gICAgICAgICAgICBt
b3YgZHdvcmQgcHRyW2VicCArIDB4MWNdLCAwOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltl
YnAgKyAweDE4XSwgZWN4OwotICAgICAgICAgICAgbW92IGVieCwgW2VjeF07Ci0gICAgICAgICAg
ICBtb3YgZHdvcmQgcHRyW2VicCArIDB4MTRdLCAwOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0
cltlYnAgKyAweDEwXSwgZWJ4OwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltlYnAgKyAweGNd
LCAwOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltlYnAgKyAweDhdLCAxOwotICAgICAgICAg
ICAgbW92IGR3b3JkIHB0cltlYnAgKyAweDRdLCBlZHg7Ci0gICAgICAgICAgICBtb3YgZHdvcmQg
cHRyW2VicF0sIGVheDsKLSAgICAgICAgICAgIG1vdiBlYXgsIGVicDsKLQotICAgICAgICAgICAg
bW92IGVkeCwgZHdvcmQgcHRyW2VzaSArIDB4MjhdOwotICAgICAgICAgICAgYWRkIGVkeCwgNTsK
LSAgICAgICAgICAgIHNhbCBlZHgsIDM7Ci0gICAgICAgICAgICBzdWIgZWJwLCBlZHg7Ci0gICAg
ICAgICAgICBtb3YgZHdvcmQgcHRyW2VicF0sIGVheDsKLQotICAgICAgICAgICAgbW92IGVheCwg
NTsKLQotICAgICAgICBjb3B5SGVhZGVyTG9vcDoKLSAgICAgICAgICAgIHN1YiBlYXgsIDE7Ci0g
ICAgICAgICAgICBtb3YgZWN4LCBkd29yZCBwdHJbZXNpICsgZWF4ICogOF07Ci0gICAgICAgICAg
ICBtb3YgZHdvcmQgcHRyIDhbZWJwICsgZWF4ICogOF0sIGVjeDsKLSAgICAgICAgICAgIG1vdiBl
Y3gsIGR3b3JkIHB0ciA0W2VzaSArIGVheCAqIDhdOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0
ciAxMltlYnAgKyBlYXggKiA4XSwgZWN4OwotICAgICAgICAgICAgdGVzdCBlYXgsIGVheDsKLSAg
ICAgICAgICAgIGpueiBjb3B5SGVhZGVyTG9vcDsKLQotICAgICAgICAgICAgbW92IGVkeCwgZHdv
cmQgcHRyW2VzaSArIDB4MThdOwotICAgICAgICAgICAgc3ViIGVkeCwgMTsKLSAgICAgICAgICAg
IG1vdiBlY3gsIGR3b3JkIHB0cltlc2kgKyAweDI4XTsKLSAgICAgICAgICAgIHN1YiBlY3gsIDE7
Ci0KLSAgICAgICAgICAgIGNtcCBlZHgsIGVjeDsKLSAgICAgICAgICAgIGplIGNvcHlBcmdzOwot
Ci0gICAgICAgICAgICB4b3IgZWF4LCBlYXg7Ci0gICAgICAgICAgICBtb3YgZWJ4LCAtNDsKLQot
ICAgICAgICBmaWxsRXh0cmFBcmdzTG9vcDoKLSAgICAgICAgICAgIHN1YiBlY3gsIDE7Ci0gICAg
ICAgICAgICBtb3YgZHdvcmQgcHRyIDB4MzBbZWJwICsgZWN4ICogOF0sIGVheDsgICAgICAgICAg
ICAKLSAgICAgICAgICAgIG1vdiBkd29yZCBwdHIgMHgzNFtlYnAgKyBlY3ggKiA4XSwgZWJ4Owot
ICAgICAgICAgICAgY21wIGVkeCwgZWN4OwotICAgICAgICAgICAgam5lIGZpbGxFeHRyYUFyZ3NM
b29wOwotCi0gICAgICAgIGNvcHlBcmdzOgotICAgICAgICAgICAgbW92IGVheCwgZHdvcmQgcHRy
W2VzaSArIDB4MmNdOwotCi0gICAgICAgIGNvcHlBcmdzTG9vcDoKLSAgICAgICAgICAgIHRlc3Qg
ZWR4LCBlZHg7Ci0gICAgICAgICAgICBqeiBjb3B5QXJnc0RvbmU7Ci0gICAgICAgICAgICBzdWIg
ZWR4LCAxOwotICAgICAgICAgICAgbW92IGVjeCwgZHdvcmQgcHRyIDBbZWF4ICsgZWR4ICogOF07
Ci0gICAgICAgICAgICBtb3YgZWJ4LCBkd29yZCBwdHIgNFtlYXggKyBlZHggKiA4XTsKLSAgICAg
ICAgICAgIG1vdiBkd29yZCBwdHIgMHgzMFtlYnAgKyBlZHggKiA4XSwgZWN4OwotICAgICAgICAg
ICAgbW92IGR3b3JkIHB0ciAweDM0W2VicCArIGVkeCAqIDhdLCBlYng7Ci0gICAgICAgICAgICBq
bXAgY29weUFyZ3NMb29wOwotCi0gICAgICAgIGNvcHlBcmdzRG9uZToKLSAgICAgICAgICAgIG1v
diBlY3gsIGR3b3JkIHB0cltlc3AgKyAweDM0XTsKLSAgICAgICAgICAgIG1vdiBkd29yZCBwdHJb
ZWN4XSwgZWJwOwotCi0gICAgICAgICAgICBtb3YgZWRpLCBkd29yZCBwdHJbZXNwICsgMHgzMF07
Ci0gICAgICAgICAgICBtb3YgZHdvcmQgcHRyW2VzcCArIDB4MzBdLCBlYnA7Ci0gICAgICAgICAg
ICBtb3YgZWN4LCBlYnA7Ci0gICAgICAgICAgICBjYWxsIGVkaTsKLQotICAgICAgICAgICAgY21w
IGR3b3JkIHB0cltlYnAgKyA4XSwgMTsKLSAgICAgICAgICAgIGplIGNhbGxlZUZyYW1lUG9wcGVk
OwotICAgICAgICAgICAgbW92IGVicCwgZHdvcmQgcHRyW2VicF07Ci0KLSAgICAgICAgY2FsbGVl
RnJhbWVQb3BwZWQ6Ci0gICAgICAgICAgICBtb3YgZWN4LCBkd29yZCBwdHJbZWJwICsgMHgxOF07
Ci0gICAgICAgICAgICBtb3YgZWJ4LCBkd29yZCBwdHJbZWJwICsgMHgxMF07Ci0gICAgICAgICAg
ICBtb3YgZHdvcmQgcHRyW2VjeF0sIGVieDsKLQotICAgICAgICAgICAgYWRkIGVzcCwgMHgxYzsK
LSAgICAgICAgICAgIHBvcCBlYng7Ci0gICAgICAgICAgICBwb3AgZWRpOwotICAgICAgICAgICAg
cG9wIGVzaTsKLSAgICAgICAgICAgIHBvcCBlYnA7Ci0gICAgICAgICAgICByZXQ7Ci0gICAgICAg
IH0KLSAgICB9Ci19Ci0KLSNlbmRpZiAvLyBDT01QSUxFUihNU1ZDKQotCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKIAogI2VuZGlmIC8vIEpJVFN0dWJzWDg2X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUVGh1bmtzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUVGh1bmtzLmNwcAppbmRleCA0YzQ4MTYzZTlmZDAzNzAyYmE2ZTllOWJhN2FlYjVkZmU4MWZh
OTlkLi41MGM3ZjY0YjYyMGU2YmMyM2I2YTQzYTVjNzBlNGFhMTRkNjU5NWE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFRodW5rcy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRUaHVua3MuY3BwCkBAIC01Miw2ICs1Miw3IEBAIE1hY3JvQXNz
ZW1ibGVyQ29kZVB0ciBKSVRUaHVua3M6OmN0aU5hdGl2ZUNhbGwoVk0qIHZtKQogI2VuZGlmCiAg
ICAgcmV0dXJuIGN0aVN0dWIodm0sIG5hdGl2ZUNhbGxHZW5lcmF0b3IpLmNvZGUoKTsKIH0KKwog
TWFjcm9Bc3NlbWJsZXJDb2RlUHRyIEpJVFRodW5rczo6Y3RpTmF0aXZlQ29uc3RydWN0KFZNKiB2
bSkKIHsKICNpZiBFTkFCTEUoTExJTlQpCkBAIC02MSw2ICs2MiwxMiBAQCBNYWNyb0Fzc2VtYmxl
ckNvZGVQdHIgSklUVGh1bmtzOjpjdGlOYXRpdmVDb25zdHJ1Y3QoVk0qIHZtKQogICAgIHJldHVy
biBjdGlTdHViKHZtLCBuYXRpdmVDb25zdHJ1Y3RHZW5lcmF0b3IpLmNvZGUoKTsKIH0KIAorTWFj
cm9Bc3NlbWJsZXJDb2RlUHRyIEpJVFRodW5rczo6Y3RpTmF0aXZlVGFpbENhbGwoVk0qIHZtKQor
eworICAgIEFTU0VSVCh2bS0+Y2FuVXNlSklUKCkpOworICAgIHJldHVybiBjdGlTdHViKHZtLCBu
YXRpdmVUYWlsQ2FsbEdlbmVyYXRvcikuY29kZSgpOworfQorCiBNYWNyb0Fzc2VtYmxlckNvZGVS
ZWYgSklUVGh1bmtzOjpjdGlTdHViKFZNKiB2bSwgVGh1bmtHZW5lcmF0b3IgZ2VuZXJhdG9yKQog
ewogICAgIExvY2tlciBsb2NrZXIobV9sb2NrKTsKQEAgLTgwLDcgKzg3LDEyIEBAIE5hdGl2ZUV4
ZWN1dGFibGUqIEpJVFRodW5rczo6aG9zdEZ1bmN0aW9uU3R1YihWTSogdm0sIE5hdGl2ZUZ1bmN0
aW9uIGZ1bmN0aW9uLCBOCiAgICAgaWYgKE5hdGl2ZUV4ZWN1dGFibGUqIG5hdGl2ZUV4ZWN1dGFi
bGUgPSBtX2hvc3RGdW5jdGlvblN0dWJNYXAtPmdldChzdGQ6Om1ha2VfcGFpcihmdW5jdGlvbiwg
Y29uc3RydWN0b3IpKSkKICAgICAgICAgcmV0dXJuIG5hdGl2ZUV4ZWN1dGFibGU7CiAKLSAgICBO
YXRpdmVFeGVjdXRhYmxlKiBuYXRpdmVFeGVjdXRhYmxlID0gTmF0aXZlRXhlY3V0YWJsZTo6Y3Jl
YXRlKCp2bSwgSklUOjpjb21waWxlQ1RJTmF0aXZlQ2FsbCh2bSwgZnVuY3Rpb24pLCBmdW5jdGlv
biwgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVTZWxmTWFuYWdlZENvZGVSZWYoY3RpTmF0
aXZlQ29uc3RydWN0KHZtKSksIGNvbnN0cnVjdG9yLCBOb0ludHJpbnNpYyk7CisgICAgTmF0aXZl
RXhlY3V0YWJsZSogbmF0aXZlRXhlY3V0YWJsZSA9IE5hdGl2ZUV4ZWN1dGFibGU6OmNyZWF0ZSgK
KyAgICAgICAgKnZtLAorICAgICAgICBhZG9wdFJlZihuZXcgTmF0aXZlSklUQ29kZShKSVQ6OmNv
bXBpbGVDVElOYXRpdmVDYWxsKHZtLCBmdW5jdGlvbiksIEpJVENvZGU6Okhvc3RDYWxsVGh1bmsp
KSwKKyAgICAgICAgZnVuY3Rpb24sCisgICAgICAgIGFkb3B0UmVmKG5ldyBOYXRpdmVKSVRDb2Rl
KE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3JlYXRlU2VsZk1hbmFnZWRDb2RlUmVmKGN0aU5hdGl2
ZUNvbnN0cnVjdCh2bSkpLCBKSVRDb2RlOjpIb3N0Q2FsbFRodW5rKSksCisgICAgICAgIGNvbnN0
cnVjdG9yLCBOb0ludHJpbnNpYyk7CiAgICAgd2Vha0FkZCgqbV9ob3N0RnVuY3Rpb25TdHViTWFw
LCBzdGQ6Om1ha2VfcGFpcihmdW5jdGlvbiwgY29uc3RydWN0b3IpLCBXZWFrPE5hdGl2ZUV4ZWN1
dGFibGU+KG5hdGl2ZUV4ZWN1dGFibGUpKTsKICAgICByZXR1cm4gbmF0aXZlRXhlY3V0YWJsZTsK
IH0KQEAgLTkyLDE2ICsxMDQsMTggQEAgTmF0aXZlRXhlY3V0YWJsZSogSklUVGh1bmtzOjpob3N0
RnVuY3Rpb25TdHViKFZNKiB2bSwgTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb24sIFQKICAgICBpZiAo
TmF0aXZlRXhlY3V0YWJsZSogbmF0aXZlRXhlY3V0YWJsZSA9IG1faG9zdEZ1bmN0aW9uU3R1Yk1h
cC0+Z2V0KHN0ZDo6bWFrZV9wYWlyKGZ1bmN0aW9uLCAmY2FsbEhvc3RGdW5jdGlvbkFzQ29uc3Ry
dWN0b3IpKSkKICAgICAgICAgcmV0dXJuIG5hdGl2ZUV4ZWN1dGFibGU7CiAKLSAgICBNYWNyb0Fz
c2VtYmxlckNvZGVSZWYgY29kZTsKKyAgICBSZWZQdHI8SklUQ29kZT4gZm9yQ2FsbDsKICAgICBp
ZiAoZ2VuZXJhdG9yKSB7Ci0gICAgICAgIGlmICh2bS0+Y2FuVXNlSklUKCkpCi0gICAgICAgICAg
ICBjb2RlID0gZ2VuZXJhdG9yKHZtKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgY29kZSA9
IE1hY3JvQXNzZW1ibGVyQ29kZVJlZigpOworICAgICAgICBpZiAodm0tPmNhblVzZUpJVCgpKSB7
CisgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgZW50cnkgPSBnZW5lcmF0b3Iodm0p
OworICAgICAgICAgICAgZm9yQ2FsbCA9IGFkb3B0UmVmKG5ldyBEaXJlY3RKSVRDb2RlKGVudHJ5
LCBlbnRyeS5jb2RlKCksIEpJVENvZGU6Okhvc3RDYWxsVGh1bmspKTsKKyAgICAgICAgfQogICAg
IH0gZWxzZQotICAgICAgICBjb2RlID0gSklUOjpjb21waWxlQ1RJTmF0aXZlQ2FsbCh2bSwgZnVu
Y3Rpb24pOwotCi0gICAgTmF0aXZlRXhlY3V0YWJsZSogbmF0aXZlRXhlY3V0YWJsZSA9IE5hdGl2
ZUV4ZWN1dGFibGU6OmNyZWF0ZSgqdm0sIGNvZGUsIGZ1bmN0aW9uLCBNYWNyb0Fzc2VtYmxlckNv
ZGVSZWY6OmNyZWF0ZVNlbGZNYW5hZ2VkQ29kZVJlZihjdGlOYXRpdmVDb25zdHJ1Y3Qodm0pKSwg
Y2FsbEhvc3RGdW5jdGlvbkFzQ29uc3RydWN0b3IsIGludHJpbnNpYyk7CisgICAgICAgIGZvckNh
bGwgPSBhZG9wdFJlZihuZXcgTmF0aXZlSklUQ29kZShKSVQ6OmNvbXBpbGVDVElOYXRpdmVDYWxs
KHZtLCBmdW5jdGlvbiksIEpJVENvZGU6Okhvc3RDYWxsVGh1bmspKTsKKyAgICAKKyAgICBSZWZQ
dHI8SklUQ29kZT4gZm9yQ29uc3RydWN0ID0gYWRvcHRSZWYobmV3IE5hdGl2ZUpJVENvZGUoTWFj
cm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVTZWxmTWFuYWdlZENvZGVSZWYoY3RpTmF0aXZlQ29u
c3RydWN0KHZtKSksIEpJVENvZGU6Okhvc3RDYWxsVGh1bmspKTsKKyAgICAKKyAgICBOYXRpdmVF
eGVjdXRhYmxlKiBuYXRpdmVFeGVjdXRhYmxlID0gTmF0aXZlRXhlY3V0YWJsZTo6Y3JlYXRlKCp2
bSwgZm9yQ2FsbCwgZnVuY3Rpb24sIGZvckNvbnN0cnVjdCwgY2FsbEhvc3RGdW5jdGlvbkFzQ29u
c3RydWN0b3IsIGludHJpbnNpYyk7CiAgICAgd2Vha0FkZCgqbV9ob3N0RnVuY3Rpb25TdHViTWFw
LCBzdGQ6Om1ha2VfcGFpcihmdW5jdGlvbiwgJmNhbGxIb3N0RnVuY3Rpb25Bc0NvbnN0cnVjdG9y
KSwgV2VhazxOYXRpdmVFeGVjdXRhYmxlPihuYXRpdmVFeGVjdXRhYmxlKSk7CiAgICAgcmV0dXJu
IG5hdGl2ZUV4ZWN1dGFibGU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFRodW5rcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRUaHVua3MuaApp
bmRleCA5N2U3ZWNkNmJiNzRhOTA3MGQwNDlkMzI3MTQ4YzA5MzdkMzRiNTZmLi4yZGFhNTBhYTdh
NTdlMDIyODMzZTI5Mzg2YjgwNmExMzNkOTVlNjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFRodW5rcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUVGh1bmtzLmgKQEAgLTU0LDYgKzU0LDcgQEAgcHVibGljOgogCiAgICAgTWFjcm9Bc3NlbWJs
ZXJDb2RlUHRyIGN0aU5hdGl2ZUNhbGwoVk0qKTsKICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIg
Y3RpTmF0aXZlQ29uc3RydWN0KFZNKik7CisgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIGN0aU5h
dGl2ZVRhaWxDYWxsKFZNKik7ICAgIAogCiAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGN0aVN0
dWIoVk0qLCBUaHVua0dlbmVyYXRvcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9y
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40OTcwNGNiY2I4YTJiYmZlOWI3MGU1ZmFhZjMwODQ1ZDg5NmE0YmE5
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclBy
ZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuY3BwCkBAIC0wLDAgKzEsMjIzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJSZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuaCIKKwor
I2lmIEVOQUJMRShKSVQpCisKKyNpbmNsdWRlICJBc3NlbWJseUhlbHBlcnMuaCIKKyNpbmNsdWRl
ICJMaW5rQnVmZmVyLmgiCisjaW5jbHVkZSAiU3RhY2tBbGlnbm1lbnQuaCIKKworbmFtZXNwYWNl
IEpTQyB7CisKK1JlZ2lzdGVyU2V0IHJlZ2lzdGVyc1RvUHJlc2VydmUoKQoreworICAgIFJlZ2lz
dGVyU2V0IGNhbGxlZVNhdmVzID0gUmVnaXN0ZXJTZXQ6OmNhbGxlZVNhdmVSZWdpc3RlcnMoKTsK
KyAgICAKKyAgICAvLyBObyBuZWVkIHRvIHByZXNlcnZlIEZQIHNpbmNlIHRoYXQgYWx3YXlzIGdl
dHMgcHJlc2VydmVkIGFueXdheS4KKyAgICBjYWxsZWVTYXZlcy5jbGVhcihHUFJJbmZvOjpjYWxs
RnJhbWVSZWdpc3Rlcik7CisgICAgCisgICAgcmV0dXJuIGNhbGxlZVNhdmVzOworfQorCitwdHJk
aWZmX3QgcmVnaXN0ZXJQcmVzZXJ2YXRpb25PZmZzZXQoKQoreworICAgIHVuc2lnbmVkIG51bWJl
ck9mQ2FsbGVlU2F2ZXMgPSByZWdpc3RlcnNUb1ByZXNlcnZlKCkubnVtYmVyT2ZTZXRSZWdpc3Rl
cnMoKTsKKyAgICAKKyAgICAvLyBOZWVkIHRvIHByZXNlcnZlIHRoZSBvbGQgcmV0dXJuIFBDLgor
ICAgIHVuc2lnbmVkIG51bWJlck9mVmFsdWVzVG9TYXZlID0gbnVtYmVyT2ZDYWxsZWVTYXZlcyAr
IDE7CisgICAgCisgICAgLy8gQWxpZ25tZW50LiBQcmVzZXJ2ZSB0aGUgc2FtZSBhbGlnbm1lbnQg
aW52YXJpYW50cyB0aGF0IHRoZSBjYWxsZXIgaW1wb3NlZC4KKyAgICB1bnNpZ25lZCBudW1iZXJP
Zk5ld1N0YWNrU2xvdHMgPQorICAgICAgICBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Yoc3RhY2tB
bGlnbm1lbnRSZWdpc3RlcnMoKSwgbnVtYmVyT2ZWYWx1ZXNUb1NhdmUpOworICAgIAorICAgIHJl
dHVybiBzaXplb2YoUmVnaXN0ZXIpICogbnVtYmVyT2ZOZXdTdGFja1Nsb3RzOworfQorCitNYWNy
b0Fzc2VtYmxlckNvZGVSZWYgZ2VuZXJhdGVSZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXIoVk0m
IHZtLCBFeGVjdXRhYmxlQmFzZSogZXhlY3V0YWJsZSwgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIHRh
cmdldCkKK3sKKyNpZiBFTkFCTEUoRlRMX0pJVCkKKyAgICAvLyBXZSBzaG91bGRuJ3QgZXZlciBi
ZSBnZW5lcmF0aW5nIHdyYXBwZXJzIGZvciBuYXRpdmUgZnVuY3Rpb25zLgorICAgIFJlZ2lzdGVy
U2V0IHRvU2F2ZSA9IHJlZ2lzdGVyc1RvUHJlc2VydmUoKTsKKyAgICBwdHJkaWZmX3Qgb2Zmc2V0
ID0gcmVnaXN0ZXJQcmVzZXJ2YXRpb25PZmZzZXQoKTsKKyAgICAKKyAgICBBc3NlbWJseUhlbHBl
cnMgaml0KCZ2bSwgMCk7CisgICAgCisgICAgaml0LnByZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVy
Q2FsbChHUFJJbmZvOjpyZWdUMSk7CisgICAgaml0LmxvYWQzMigKKyAgICAgICAgQXNzZW1ibHlI
ZWxwZXJzOjpBZGRyZXNzKAorICAgICAgICAgICAgQXNzZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50
ZXJSZWdpc3RlciwKKyAgICAgICAgICAgIChKU1N0YWNrOjpBcmd1bWVudENvdW50IC0gSlNTdGFj
azo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUpICogc2l6ZW9mKFJlZ2lzdGVyKSArIFBheWxvYWRPZmZz
ZXQpLAorICAgICAgICBHUFJJbmZvOjpyZWdUMik7CisgICAgCisgICAgLy8gUGxhY2UgdGhlIHN0
YWNrIHBvaW50ZXIgd2hlcmUgd2Ugd2FudCBpdCB0byBiZS4KKyAgICBqaXQuc3ViUHRyKEFzc2Vt
Ymx5SGVscGVyczo6VHJ1c3RlZEltbTMyKG9mZnNldCksIEFzc2VtYmx5SGVscGVyczo6c3RhY2tQ
b2ludGVyUmVnaXN0ZXIpOworICAgIAorICAgIC8vIENvbXB1dGUgdGhlIG51bWJlciBvZiB0aGlu
Z3Mgd2Ugd2lsbCBiZSBjb3B5aW5nLgorICAgIGppdC5hZGQzMigKKyAgICAgICAgQXNzZW1ibHlI
ZWxwZXJzOjpUcnVzdGVkSW1tMzIoCisgICAgICAgICAgICBKU1N0YWNrOjpDYWxsRnJhbWVIZWFk
ZXJTaXplIC0gSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUpLAorICAgICAgICBHUFJJbmZv
OjpyZWdUMik7CisKKyAgICBBU1NFUlQoIXRvU2F2ZS5nZXQoR1BSSW5mbzo6cmVnVDQpKTsKKyAg
ICBqaXQubW92ZShBc3NlbWJseUhlbHBlcnM6OnN0YWNrUG9pbnRlclJlZ2lzdGVyLCBHUFJJbmZv
OjpyZWdUNCk7CisgICAgCisgICAgQXNzZW1ibHlIZWxwZXJzOjpMYWJlbCBsb29wID0gaml0Lmxh
YmVsKCk7CisgICAgaml0LnN1YjMyKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbTMyKDEpLCBH
UFJJbmZvOjpyZWdUMik7CisgICAgaml0LmxvYWQ2NChBc3NlbWJseUhlbHBlcnM6OkFkZHJlc3Mo
R1BSSW5mbzo6cmVnVDQsIG9mZnNldCksIEdQUkluZm86OnJlZ1QwKTsKKyAgICBqaXQuc3RvcmU2
NChHUFJJbmZvOjpyZWdUMCwgR1BSSW5mbzo6cmVnVDQpOworICAgIGppdC5hZGRQdHIoQXNzZW1i
bHlIZWxwZXJzOjpUcnVzdGVkSW1tMzIoc2l6ZW9mKFJlZ2lzdGVyKSksIEdQUkluZm86OnJlZ1Q0
KTsKKyAgICBqaXQuYnJhbmNoVGVzdDMyKEFzc2VtYmx5SGVscGVyczo6Tm9uWmVybywgR1BSSW5m
bzo6cmVnVDIpLmxpbmtUbyhsb29wLCAmaml0KTsKKworICAgIC8vIEF0IHRoaXMgcG9pbnQgcmVn
VDQgKyBvZmZzZXQgcG9pbnRzIHRvIHdoZXJlIHdlIHNhdmUgdGhpbmdzLgorICAgIHB0cmRpZmZf
dCBjdXJyZW50T2Zmc2V0ID0gMDsKKyAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6cmVnVDEsIEFz
c2VtYmx5SGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUNCwgY3VycmVudE9mZnNldCkpOwor
ICAgIAorICAgIGZvciAoR1BSUmVnIGdwciA9IEFzc2VtYmx5SGVscGVyczo6Zmlyc3RSZWdpc3Rl
cigpOyBncHIgPD0gQXNzZW1ibHlIZWxwZXJzOjpsYXN0UmVnaXN0ZXIoKTsgZ3ByID0gc3RhdGlj
X2Nhc3Q8R1BSUmVnPihncHIgKyAxKSkgeworICAgICAgICBpZiAoIXRvU2F2ZS5nZXQoZ3ByKSkK
KyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBjdXJyZW50T2Zmc2V0ICs9IHNpemVvZihS
ZWdpc3Rlcik7CisgICAgICAgIGppdC5zdG9yZTY0KGdwciwgQXNzZW1ibHlIZWxwZXJzOjpBZGRy
ZXNzKEdQUkluZm86OnJlZ1Q0LCBjdXJyZW50T2Zmc2V0KSk7CisgICAgfQorICAgIAorICAgIC8v
IEFzc3VtZSB0aGF0IHRoZXJlIGFyZW4ndCBhbnkgc2F2ZWQgRlAgcmVnaXN0ZXJzLgorICAgIAor
ICAgIC8vIFJlc3RvcmUgdGhlIHRhZyByZWdpc3RlcnMuCisgICAgaml0Lm1vdmUoQXNzZW1ibHlI
ZWxwZXJzOjpUcnVzdGVkSW1tNjQoVGFnVHlwZU51bWJlciksIEdQUkluZm86OnRhZ1R5cGVOdW1i
ZXJSZWdpc3Rlcik7CisgICAgaml0LmFkZDY0KEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbTMy
KFRhZ01hc2sgLSBUYWdUeXBlTnVtYmVyKSwgR1BSSW5mbzo6dGFnVHlwZU51bWJlclJlZ2lzdGVy
LCBHUFJJbmZvOjp0YWdNYXNrUmVnaXN0ZXIpOworICAgIAorICAgIGppdC5tb3ZlKAorICAgICAg
ICBBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoCisgICAgICAgICAgICB2bS5nZXRDVElT
dHViKHJlZ2lzdGVyUmVzdG9yYXRpb25UaHVua0dlbmVyYXRvcikuY29kZSgpLmV4ZWN1dGFibGVB
ZGRyZXNzKCkpLAorICAgICAgICBHUFJJbmZvOjpub25BcmdHUFIwKTsKKyAgICBqaXQucmVzdG9y
ZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4oR1BSSW5mbzo6bm9uQXJnR1BSMCk7CisgICAgQXNz
ZW1ibHlIZWxwZXJzOjpKdW1wIGp1bXAgPSBqaXQuanVtcCgpOworICAgIAorICAgIExpbmtCdWZm
ZXIgbGlua0J1ZmZlcih2bSwgJmppdCwgR0xPQkFMX1RIVU5LX0lEKTsKKyAgICBsaW5rQnVmZmVy
LmxpbmsoanVtcCwgQ29kZUxvY2F0aW9uTGFiZWwodGFyZ2V0KSk7CisKKyAgICBpZiAoT3B0aW9u
czo6dmVyYm9zZUZUTFRvSlNUaHVuaygpKQorICAgICAgICBkYXRhTG9nKCJOZWVkIGEgdGh1bmsg
Zm9yIGNhbGxzIGZyb20gRlRMIHRvIG5vbi1GVEwgdmVyc2lvbiBvZiAiLCAqZXhlY3V0YWJsZSwg
IlxuIik7CisgICAgCisgICAgcmV0dXJuIEZJTkFMSVpFX0RGR19DT0RFKGxpbmtCdWZmZXIsICgi
UmVnaXN0ZXIgcHJlc2VydmF0aW9uIHdyYXBwZXIgZm9yICVzLyVzLCAlcCIsIHRvQ1N0cmluZyhl
eGVjdXRhYmxlLT5oYXNoRm9yKENvZGVGb3JDYWxsKSkuZGF0YSgpLCB0b0NTdHJpbmcoZXhlY3V0
YWJsZS0+aGFzaEZvcihDb2RlRm9yQ29uc3RydWN0KSkuZGF0YSgpLCB0YXJnZXQuZXhlY3V0YWJs
ZUFkZHJlc3MoKSkpOworI2Vsc2UgLy8gRU5BQkxFKEZUTF9KSVQpCisgICAgVU5VU0VEX1BBUkFN
KHZtKTsKKyAgICBVTlVTRURfUEFSQU0oZXhlY3V0YWJsZSk7CisgICAgVU5VU0VEX1BBUkFNKHRh
cmdldCk7CisgICAgLy8gV2UgZG9uJ3Qgc3VwcG9ydCBub24tRlRMIGJ1aWxkcyBmb3IgdHdvIHJl
YXNvbnM6CisgICAgLy8gLSBJdCBqdXN0IHNvIGhhcHBlbnMgdGhhdCBjdXJyZW50bHkgb25seSB0
aGUgRlRMIGJvdHRvbXMgb3V0IGluIHRoaXMgY29kZS4KKyAgICAvLyAtIFRoZSBjb2RlIGFib3Zl
IHVzZXMgNjQtYml0IGluc3RydWN0aW9ucy4gSXQgZG9lc24ndCBuZWNlc3NhcmlseSBoYXZlIHRv
OyBpdCB3b3VsZCBiZQorICAgIC8vICAgZWFzeSB0byBjaGFuZ2UgaXQgc28gdGhhdCBpdCBkb2Vz
bid0LiBCdXQgb2J2aW91c2x5IG1ha2luZyB0aGF0IGNoYW5nZSB3b3VsZCBiZSBhCisgICAgLy8g
ICBwcmVyZXF1aXNpdGUgdG8gcmVtb3ZpbmcgdGhpcyAjaWYuCisgICAgVU5SRUFDSEFCTEVfRk9S
X1BMQVRGT1JNKCk7CisgICAgcmV0dXJuIE1hY3JvQXNzZW1ibGVyQ29kZVJlZigpOworI2VuZGlm
IC8vIEVOQUJMRShGVExfSklUKQorfQorCitzdGF0aWMgdm9pZCBnZW5lcmF0ZVJlZ2lzdGVyUmVz
dG9yYXRpb24oQXNzZW1ibHlIZWxwZXJzJiBqaXQpCit7CisjaWYgRU5BQkxFKEZUTF9KSVQpCisg
ICAgUmVnaXN0ZXJTZXQgdG9TYXZlID0gcmVnaXN0ZXJzVG9QcmVzZXJ2ZSgpOworICAgIHB0cmRp
ZmZfdCBvZmZzZXQgPSByZWdpc3RlclByZXNlcnZhdGlvbk9mZnNldCgpOworICAgIAorICAgIEFT
U0VSVCghdG9TYXZlLmdldChHUFJJbmZvOjpyZWdUNCkpOworCisgICAgLy8gV2UgbmVlZCB0byBw
bGFjZSB0aGUgc3RhY2sgcG9pbnRlciBiYWNrIHRvIHdoZXJlIHRoZSBjYWxsZXIgdGhvdWdodCB0
aGV5IGxlZnQgaXQuCisgICAgLy8gQnV0IGFsc28sIGluIG9yZGVyIHRvIHJlY292ZXIgdGhlIHJl
Z2lzdGVycywgd2UgbmVlZCB0byBmaWd1cmUgb3V0IGhvdyBiaWcgdGhlCisgICAgLy8gYXJndW1l
bnRzIGFyZWEgaXMuCisgICAgCisgICAgaml0LmxvYWQzMigKKyAgICAgICAgQXNzZW1ibHlIZWxw
ZXJzOjpBZGRyZXNzKAorICAgICAgICAgICAgQXNzZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50ZXJS
ZWdpc3RlciwKKyAgICAgICAgICAgIChKU1N0YWNrOjpBcmd1bWVudENvdW50IC0gSlNTdGFjazo6
Q2FsbGVyRnJhbWVBbmRQQ1NpemUpICogc2l6ZW9mKFJlZ2lzdGVyKSArIFBheWxvYWRPZmZzZXQp
LAorICAgICAgICBHUFJJbmZvOjpyZWdUNCk7CisgICAgCisgICAgaml0Lm1vdmUoR1BSSW5mbzo6
cmVnVDQsIEdQUkluZm86OnJlZ1QyKTsKKyAgICBqaXQubHNoaWZ0MzIoQXNzZW1ibHlIZWxwZXJz
OjpUcnVzdGVkSW1tMzIoMyksIEdQUkluZm86OnJlZ1QyKTsKKyAgICAKKyAgICBqaXQuYWRkUHRy
KEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbTMyKG9mZnNldCksIEFzc2VtYmx5SGVscGVyczo6
c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIGppdC5hZGRQdHIoQXNzZW1ibHlIZWxwZXJzOjpz
dGFja1BvaW50ZXJSZWdpc3RlciwgR1BSSW5mbzo6cmVnVDIpOworICAgIAorICAgIC8vIFdlIHNh
dmVkIHRoaW5ncyBhdDoKKyAgICAvLworICAgIC8vICAgICBhZGpTUCArIChKU1N0YWNrOjpDYWxs
RnJhbWVIZWFkZXJTaXplIC0gSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUgKyBOdW1Bcmdz
KSAqIDgKKyAgICAvLworICAgIC8vIFdoZXJlOgorICAgIC8vCisgICAgLy8gICAgIGFkalNQID0g
b3JpZ1NQIC0gb2Zmc2V0CisgICAgLy8KKyAgICAvLyByZWdUMiBub3cgcG9pbnRzIGF0OgorICAg
IC8vCisgICAgLy8gICAgIG9yaWdTUCArIE51bUFyZ3MgKiA4CisgICAgLy8gICA9IGFkalNQICsg
b2Zmc2V0ICsgTnVtQXJncyAqIDgKKyAgICAvLyAKKyAgICAvLyBTbyBpZiB3ZSBzdWJ0cmFjdCBv
ZmZzZXQgYW5kIHRoZW4gYWRkIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUgYW5kIHN1YnRy
YWN0CisgICAgLy8gSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUsIHdlJ2xsIGdldCB0aGUg
dGhpbmcgd2Ugd2FudC4KKyAgICBwdHJkaWZmX3QgY3VycmVudE9mZnNldCA9IC1vZmZzZXQgKyBz
aXplb2YoUmVnaXN0ZXIpICogKAorICAgICAgICBKU1N0YWNrOjpDYWxsRnJhbWVIZWFkZXJTaXpl
IC0gSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUpOworICAgIGppdC5sb2FkUHRyKEFzc2Vt
Ymx5SGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMiwgY3VycmVudE9mZnNldCksIEdQUklu
Zm86OnJlZ1QxKTsKKyAgICAKKyAgICBmb3IgKEdQUlJlZyBncHIgPSBBc3NlbWJseUhlbHBlcnM6
OmZpcnN0UmVnaXN0ZXIoKTsgZ3ByIDw9IEFzc2VtYmx5SGVscGVyczo6bGFzdFJlZ2lzdGVyKCk7
IGdwciA9IHN0YXRpY19jYXN0PEdQUlJlZz4oZ3ByICsgMSkpIHsKKyAgICAgICAgaWYgKCF0b1Nh
dmUuZ2V0KGdwcikpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgY3VycmVudE9mZnNl
dCArPSBzaXplb2YoUmVnaXN0ZXIpOworICAgICAgICBqaXQubG9hZDY0KEFzc2VtYmx5SGVscGVy
czo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMiwgY3VycmVudE9mZnNldCksIGdwcik7CisgICAgfQor
ICAgIAorICAgIC8vIFRodW5rcyBsaWtlIHRoaXMgcmVseSBvbiB0aGUgQXJndW1lbnRDb3VudCBi
ZWluZyBpbnRhY3QuIFBheSBpdCBmb3J3YXJkLgorICAgIGppdC5zdG9yZTMyKAorICAgICAgICBH
UFJJbmZvOjpyZWdUNCwKKyAgICAgICAgQXNzZW1ibHlIZWxwZXJzOjpBZGRyZXNzKAorICAgICAg
ICAgICAgQXNzZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3RlciwKKyAgICAgICAgICAg
IChKU1N0YWNrOjpBcmd1bWVudENvdW50IC0gSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUp
ICogc2l6ZW9mKFJlZ2lzdGVyKSArIFBheWxvYWRPZmZzZXQpKTsKKyAgICAKKyAgICBpZiAoIUFT
U0VSVF9ESVNBQkxFRCkgeworICAgICAgICBBc3NlbWJseUhlbHBlcnM6Okp1bXAgb2sgPSBqaXQu
YnJhbmNoUHRyKAorICAgICAgICAgICAgQXNzZW1ibHlIZWxwZXJzOjpBYm92ZSwgR1BSSW5mbzo6
cmVnVDEsIEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbVB0cihzdGF0aWNfY2FzdDxzaXplX3Q+
KDB4MTAwMCkpKTsKKyAgICAgICAgaml0LmJyZWFrcG9pbnQoKTsKKyAgICAgICAgb2subGluaygm
aml0KTsKKyAgICB9CisgICAgCisgICAgaml0Lmp1bXAoR1BSSW5mbzo6cmVnVDEpOworI2Vsc2Ug
Ly8gRU5BQkxFKEZUTF9KSVQpCisgICAgVU5VU0VEX1BBUkFNKGppdCk7CisgICAgVU5SRUFDSEFC
TEVfRk9SX1BMQVRGT1JNKCk7CisjZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQpCit9CisKK01hY3Jv
QXNzZW1ibGVyQ29kZVJlZiByZWdpc3RlclJlc3RvcmF0aW9uVGh1bmtHZW5lcmF0b3IoVk0qIHZt
KQoreworICAgIEFzc2VtYmx5SGVscGVycyBqaXQodm0sIDApOworICAgIGdlbmVyYXRlUmVnaXN0
ZXJSZXN0b3JhdGlvbihqaXQpOworICAgIExpbmtCdWZmZXIgbGlua0J1ZmZlcigqdm0sICZqaXQs
IEdMT0JBTF9USFVOS19JRCk7CisgICAgcmV0dXJuIEZJTkFMSVpFX0NPREUobGlua0J1ZmZlciwg
KCJSZWdpc3RlciByZXN0b3JhdGlvbiB0aHVuayIpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgSlND
CisKKyNlbmRpZiAvLyBFTkFCTEUoSklUKQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1JlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdlbmVyYXRvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3Iu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44ZWUxZmM2YWY3MWU3MjE4NDIxZjFlNzI1MDUyOGI1NWRiOGU1NzIwCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclByZXNl
cnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgUmVnaXN0ZXJQcmVzZXJ2
YXRpb25XcmFwcGVyR2VuZXJhdG9yX2gKKyNkZWZpbmUgUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFw
cGVyR2VuZXJhdG9yX2gKKworI2lmIEVOQUJMRShKSVQpCisKKyNpbmNsdWRlICJBcml0eUNoZWNr
TW9kZS5oIgorI2luY2x1ZGUgIkFzc2VtYmx5SGVscGVycy5oIgorI2luY2x1ZGUgIk1hY3JvQXNz
ZW1ibGVyQ29kZVJlZi5oIgorI2luY2x1ZGUgIlZNLmgiCisKK25hbWVzcGFjZSBKU0MgeworCitS
ZWdpc3RlclNldCByZWdpc3RlcnNUb1ByZXNlcnZlKCk7CisKK3B0cmRpZmZfdCByZWdpc3RlclBy
ZXNlcnZhdGlvbk9mZnNldCgpOworCitNYWNyb0Fzc2VtYmxlckNvZGVSZWYgZ2VuZXJhdGVSZWdp
c3RlclByZXNlcnZhdGlvbldyYXBwZXIoVk0mLCBFeGVjdXRhYmxlQmFzZSosIE1hY3JvQXNzZW1i
bGVyQ29kZVB0ciB0YXJnZXQpOworCitNYWNyb0Fzc2VtYmxlckNvZGVSZWYgcmVnaXN0ZXJSZXN0
b3JhdGlvblRodW5rR2VuZXJhdG9yKFZNKik7CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5k
aWYgLy8gRU5BQkxFKEpJVCkKKworI2VuZGlmIC8vIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBl
ckdlbmVyYXRvcl9oCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVw
YXRjaC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCmluZGV4IDVj
OWFhOTY1ODY2MmE1MDZkNjk4YmRkNjJkNGQ4NDBlMjBmNWJiOTcuLjkyYjhjNDdkZGRjZTQ0YzYy
NDBkN2M2ZGQ3NWRmZGU4MjYwY2M2OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvUmVwYXRjaC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNo
LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIsIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEx
LCAyMDEyLCAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTEsMTEgKzUxLDYgQEAgbmFtZXNwYWNlIEpT
QyB7CiAvLyB0aGF0IHdvdWxkIG9yZGluYXJpbHkgaGF2ZSB3ZWxsLWtub3duIHZhbHVlczoKIC8v
IC0gdGFnVHlwZU51bWJlclJlZ2lzdGVyCiAvLyAtIHRhZ01hc2tSZWdpc3RlcgotLy8gLSBjYWxs
RnJhbWVSZWdpc3RlciAqKgotLy8KLS8vIFdlIGN1cnJlbnRseSBvbmx5IHVzZSB0aGUgY2FsbEZy
YW1lUmVnaXN0ZXIgZm9yIGNsb3N1cmUgY2FsbCBwYXRjaGluZywgYW5kIHdlJ3JlIG5vdCBnb2lu
ZyB0bwotLy8gZ2l2ZSB0aGUgRlRMIGNsb3N1cmUgY2FsbCBwYXRjaGluZyBzdXBwb3J0IHVudGls
IHdlIHN3aXRjaCB0byB0aGUgQyBzdGFjayAtIGJ1dCB3aGVuIHdlIGRvIHRoYXQsCi0vLyBjYWxs
RnJhbWVSZWdpc3RlciB3aWxsIGRpc2FwcGVhci4KIAogc3RhdGljIEZ1bmN0aW9uUHRyIHJlYWRD
YWxsVGFyZ2V0KFJlcGF0Y2hCdWZmZXImIHJlcGF0Y2hCdWZmZXIsIENvZGVMb2NhdGlvbkNhbGwg
Y2FsbCkKIHsKQEAgLTI5OCwyMyArMjkzLDIzIEBAIHN0YXRpYyBQcm90b0NoYWluR2VuZXJhdGlv
blJlc3VsdCBnZW5lcmF0ZVByb3RvQ2hhaW5BY2Nlc3NTdHViKEV4ZWNTdGF0ZSogZXhlYywKICNl
bmRpZgogICAgICAgICB9CiAgICAgfQorCiAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgb3BlcmF0
aW9uQ2FsbDsKICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBoYW5kbGVyQ2FsbDsKICAgICBGdW5j
dGlvblB0ciBvcGVyYXRpb25GdW5jdGlvbjsKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBzdWNj
ZXNzLCBmYWlsOwogICAgIGlmIChpc0FjY2Vzc29yKSB7Ci0gICAgICAgIEdQUlJlZyBjYWxsRnJh
bWVSZWdpc3RlciA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2guY2FsbEZyYW1l
UmVnaXN0ZXIpOwogICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZUdldHRlcigpKSB7Ci0gICAg
ICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRzKGNhbGxGcmFtZVJlZ2lzdGVyLCBzY3JhdGNo
R1BSLCByZXN1bHRHUFIpOworICAgICAgICAgICAgc3R1YkppdC5zZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoc2NyYXRjaEdQUiwgcmVzdWx0R1BSKTsKICAgICAgICAgICAgIG9wZXJhdGlvbkZ1
bmN0aW9uID0gb3BlcmF0aW9uQ2FsbEdldHRlcjsKICAgICAgICAgfSBlbHNlIHsKICNpZiBVU0Uo
SlNWQUxVRTY0KQogICAgICAgICAgICAgLy8gRW5jb2RlZEpTVmFsdWUgKCpHZXRWYWx1ZUZ1bmMp
KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIFByb3BlcnR5TmFtZSk7Ci0gICAgICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRz
KGNhbGxGcmFtZVJlZ2lzdGVyLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihwcm90b09i
amVjdCksIHNjcmF0Y2hHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKHByb3BlcnR5
TmFtZS5pbXBsKCkpKTsKKyAgICAgICAgICAgIHN0dWJKaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhl
Y1N0YXRlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKHByb3RvT2JqZWN0KSwgc2NyYXRj
aEdQUiwgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIocHJvcGVydHlOYW1lLmltcGwoKSkp
OwogICAgICAgICAgICAgb3BlcmF0aW9uRnVuY3Rpb24gPSBGdW5jdGlvblB0cihzbG90LmN1c3Rv
bUdldHRlcigpKTsKICNlbHNlCiAgICAgICAgICAgICBzdHViSml0Lm1vdmUoTWFjcm9Bc3NlbWJs
ZXI6OlRydXN0ZWRJbW1QdHIocHJvdG9PYmplY3QpLCBzY3JhdGNoR1BSKTsKLSAgICAgICAgICAg
IHN0dWJKaXQuc2V0dXBBcmd1bWVudHMoY2FsbEZyYW1lUmVnaXN0ZXIsIHNjcmF0Y2hHUFIsCisg
ICAgICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShzY3JhdGNoR1BS
LAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKEZ1bmN0aW9u
UHRyKHNsb3QuY3VzdG9tR2V0dGVyKCkpLmV4ZWN1dGFibGVBZGRyZXNzKCkpLAogICAgICAgICAg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKHByb3BlcnR5TmFtZS5pbXBsKCkp
KTsKICAgICAgICAgICAgIG9wZXJhdGlvbkZ1bmN0aW9uID0gb3BlcmF0aW9uQ2FsbEN1c3RvbUdl
dHRlcjsKQEAgLTM1MCw5ICszNDUsMTAgQEAgc3RhdGljIFByb3RvQ2hhaW5HZW5lcmF0aW9uUmVz
dWx0IGdlbmVyYXRlUHJvdG9DaGFpbkFjY2Vzc1N0dWIoRXhlY1N0YXRlKiBleGVjLAogICAgICAg
ICBwYXRjaEJ1ZmZlci5saW5rKG9wZXJhdGlvbkNhbGwsIG9wZXJhdGlvbkZ1bmN0aW9uKTsKICAg
ICAgICAgcGF0Y2hCdWZmZXIubGluayhoYW5kbGVyQ2FsbCwgbG9va3VwRXhjZXB0aW9uSGFuZGxl
cik7CiAgICAgfQotICAgIHN0dWJSb3V0aW5lID0gRklOQUxJWkVfQ09ERV9GT1JfREZHX1NUVUIo
Ci0gICAgICAgIHBhdGNoQnVmZmVyLAotICAgICAgICAoIkRGRyBwcm90b3R5cGUgY2hhaW4gYWNj
ZXNzIHN0dWIgZm9yICVzLCByZXR1cm4gcG9pbnQgJXAiLAorICAgIAorICAgIHN0dWJSb3V0aW5l
ID0gRklOQUxJWkVfQ09ERV9GT1JfU1RVQigKKyAgICAgICAgZXhlYy0+Y29kZUJsb2NrKCksIHBh
dGNoQnVmZmVyLAorICAgICAgICAoIlByb3RvdHlwZSBjaGFpbiBhY2Nlc3Mgc3R1YiBmb3IgJXMs
IHJldHVybiBwb2ludCAlcCIsCiAgICAgICAgICAgICB0b0NTdHJpbmcoKmV4ZWMtPmNvZGVCbG9j
aygpKS5kYXRhKCksIHN1Y2Nlc3NMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpKSk7CiAgICAgcmV0
dXJuIFByb3RvQ2hhaW5HZW5lcmF0aW9uU3VjY2VlZGVkOwogfQpAQCAtNDEyLDkgKzQwOCw5IEBA
IHN0YXRpYyBib29sIHRyeUNhY2hlR2V0QnlJRChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFz
ZVZhbHVlLCBjb25zdCBJZGVudGlmaWVyCiAgICAgICAgIAogICAgICAgICBsaW5rUmVzdG9yZVNj
cmF0Y2gocGF0Y2hCdWZmZXIsIG5lZWRUb1Jlc3RvcmVTY3JhdGNoLCBzdHViSW5mbywgc3VjY2Vz
cywgZmFpbCwgZmFpbHVyZUNhc2VzKTsKICAgICAgICAgCi0gICAgICAgIHN0dWJJbmZvLnN0dWJS
b3V0aW5lID0gRklOQUxJWkVfQ09ERV9GT1JfREZHX1NUVUIoCi0gICAgICAgICAgICBwYXRjaEJ1
ZmZlciwKLSAgICAgICAgICAgICgiREZHIEdldEJ5SWQgYXJyYXkgbGVuZ3RoIHN0dWIgZm9yICVz
LCByZXR1cm4gcG9pbnQgJXAiLAorICAgICAgICBzdHViSW5mby5zdHViUm91dGluZSA9IEZJTkFM
SVpFX0NPREVfRk9SX1NUVUIoCisgICAgICAgICAgICBleGVjLT5jb2RlQmxvY2soKSwgcGF0Y2hC
dWZmZXIsCisgICAgICAgICAgICAoIkdldEJ5SWQgYXJyYXkgbGVuZ3RoIHN0dWIgZm9yICVzLCBy
ZXR1cm4gcG9pbnQgJXAiLAogICAgICAgICAgICAgICAgIHRvQ1N0cmluZygqZXhlYy0+Y29kZUJs
b2NrKCkpLmRhdGEoKSwgc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmxhYmVsQXRPZmZzZXQo
CiAgICAgICAgICAgICAgICAgICAgIHN0dWJJbmZvLnBhdGNoLmRlbHRhQ2FsbFRvRG9uZSkuZXhl
Y3V0YWJsZUFkZHJlc3MoKSkpOwogICAgICAgICAKQEAgLTU3Miw3ICs1NjgsNiBAQCBzdGF0aWMg
Ym9vbCB0cnlCdWlsZEdldEJ5SURMaXN0KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBiYXNlVmFs
dWUsIGNvbnN0IElkZW50aQogICAgICAgICAKICAgICAgICAgc3R1YkluZm8udS5nZXRCeUlkU2Vs
Zkxpc3QubGlzdFNpemUrKzsKICAgICAgICAgCi0gICAgICAgIEdQUlJlZyBjYWxsRnJhbWVSZWdp
c3RlciA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2guY2FsbEZyYW1lUmVnaXN0
ZXIpOwogICAgICAgICBHUFJSZWcgYmFzZUdQUiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1Yklu
Zm8ucGF0Y2guYmFzZUdQUik7CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICAgICAgR1BSUmVn
IHJlc3VsdFRhZ0dQUiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2gudmFsdWVU
YWdHUFIpOwpAQCAtNTk2LDYgKzU5MSwxMCBAQCBzdGF0aWMgYm9vbCB0cnlCdWlsZEdldEJ5SURM
aXN0KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBiYXNlVmFsdWUsIGNvbnN0IElkZW50aQogICAg
ICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBzdWNjZXNzOwogICAgICAgICAKICAgICAgICAgaWYg
KHNsb3QuaXNDYWNoZWFibGVHZXR0ZXIoKSB8fCBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkpIHsK
KyAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNvZGUgc2hvdWxkbid0IGJlIGFzc3VtaW5nIHRo
YXQgdGhlIHRvcCBvZiBzdGFjayBpcyBzZXQgdXAgZm9yIEpTQworICAgICAgICAgICAgLy8gSklU
LXN0eWxlIEMgY2FsbHMsIHNpbmNlIHdlIG1heSBiZSBjdXJyZW50bHkgb24gdG9wIG9mIGFuIEZU
TCBmcmFtZS4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjU3MTEKKyAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKHNsb3QuaXNDYWNo
ZWFibGVHZXR0ZXIoKSkgewogICAgICAgICAgICAgICAgIEFTU0VSVChzY3JhdGNoR1BSICE9IElu
dmFsaWRHUFJSZWcpOwogICAgICAgICAgICAgICAgIEFTU0VSVChiYXNlR1BSICE9IHNjcmF0Y2hH
UFIpOwpAQCAtNjEzLDE2ICs2MTIsMTYgQEAgc3RhdGljIGJvb2wgdHJ5QnVpbGRHZXRCeUlETGlz
dChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFzZVZhbHVlLCBjb25zdCBJZGVudGkKICAgICAg
ICAgICAgICAgICAgICAgc3R1YkppdC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2Ny
YXRjaEdQUiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2Uoc2xvdC5jYWNoZWRPZmZzZXQoKSkpLCBzY3Jh
dGNoR1BSKTsKICNlbmRpZgogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBzdHVi
Sml0LnNldHVwQXJndW1lbnRzKGNhbGxGcmFtZVJlZ2lzdGVyLCBiYXNlR1BSLCBzY3JhdGNoR1BS
KTsKKyAgICAgICAgICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShi
YXNlR1BSLCBzY3JhdGNoR1BSKTsKICAgICAgICAgICAgICAgICBvcGVyYXRpb25GdW5jdGlvbiA9
IG9wZXJhdGlvbkNhbGxHZXR0ZXI7CiAgICAgICAgICAgICB9IGVsc2UgewogI2lmIFVTRShKU1ZB
TFVFNjQpCiAgICAgICAgICAgICAgICAgLy8gRW5jb2RlZEpTVmFsdWUgKCpHZXRWYWx1ZUZ1bmMp
KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIFByb3BlcnR5TmFtZSk7Ci0gICAgICAgICAgICAgICAgc3R1YkppdC5zZXR1cEFyZ3Vt
ZW50cyhjYWxsRnJhbWVSZWdpc3RlciwgYmFzZUdQUiwgYmFzZUdQUiwgTWFjcm9Bc3NlbWJsZXI6
OlRydXN0ZWRJbW1QdHIoaWRlbnQuaW1wbCgpKSk7CisgICAgICAgICAgICAgICAgc3R1YkppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYmFzZUdQUiwgYmFzZUdQUiwgTWFjcm9Bc3NlbWJs
ZXI6OlRydXN0ZWRJbW1QdHIoaWRlbnQuaW1wbCgpKSk7CiAgICAgICAgICAgICAgICAgb3BlcmF0
aW9uRnVuY3Rpb24gPSBGdW5jdGlvblB0cihzbG90LmN1c3RvbUdldHRlcigpKTsKICNlbHNlCi0g
ICAgICAgICAgICAgICAgc3R1YkppdC5zZXR1cEFyZ3VtZW50cygKLSAgICAgICAgICAgICAgICAg
ICAgY2FsbEZyYW1lUmVnaXN0ZXIsIGJhc2VHUFIsCisgICAgICAgICAgICAgICAgc3R1YkppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoCisgICAgICAgICAgICAgICAgICAgIGJhc2VHUFIs
CiAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKEZ1bmN0
aW9uUHRyKHNsb3QuY3VzdG9tR2V0dGVyKCkpLmV4ZWN1dGFibGVBZGRyZXNzKCkpLAogICAgICAg
ICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihpZGVudC5pbXBsKCkp
KTsKICAgICAgICAgICAgICAgICBvcGVyYXRpb25GdW5jdGlvbiA9IG9wZXJhdGlvbkNhbGxDdXN0
b21HZXR0ZXI7CkBAIC02NDQsNyArNjQzLDcgQEAgc3RhdGljIGJvb2wgdHJ5QnVpbGRHZXRCeUlE
TGlzdChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFzZVZhbHVlLCBjb25zdCBJZGVudGkKICNl
bmRpZgogICAgICAgICAgICAgc3VjY2VzcyA9IHN0dWJKaXQuZW1pdEV4Y2VwdGlvbkNoZWNrKEND
YWxsSGVscGVyczo6SW52ZXJ0ZWRFeGNlcHRpb25DaGVjayk7CiAgICAgICAgICAgICAKLSAgICAg
ICAgICAgIHN0dWJKaXQuc2V0dXBBcmd1bWVudHNFeGVjU3RhdGUoKTsKKyAgICAgICAgICAgIHN0
dWJKaXQuc2V0dXBBcmd1bWVudHMoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKHZtKSwgR1BS
SW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwogICAgICAgICAgICAgaGFuZGxlckNhbGwgPSBzdHVi
Sml0LmNhbGwoKTsKICAgICAgICAgICAgIHN0dWJKaXQuanVtcFRvRXhjZXB0aW9uSGFuZGxlcigp
OwogICAgICAgICB9IGVsc2UgewpAQCAtNjg0LDkgKzY4Myw5IEBAIHN0YXRpYyBib29sIHRyeUJ1
aWxkR2V0QnlJRExpc3QoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgY29uc3Qg
SWRlbnRpCiAgICAgICAgIAogICAgICAgICBSZWZQdHI8SklUU3R1YlJvdXRpbmU+IHN0dWJSb3V0
aW5lID0KICAgICAgICAgICAgIGNyZWF0ZUpJVFN0dWJSb3V0aW5lKAotICAgICAgICAgICAgICAg
IEZJTkFMSVpFX0RGR19DT0RFKAotICAgICAgICAgICAgICAgICAgICBwYXRjaEJ1ZmZlciwKLSAg
ICAgICAgICAgICAgICAgICAgKCJERkcgR2V0QnlJZCBwb2x5bW9ycGhpYyBsaXN0IGFjY2VzcyBm
b3IgJXMsIHJldHVybiBwb2ludCAlcCIsCisgICAgICAgICAgICAgICAgRklOQUxJWkVfQ09ERV9G
T1IoCisgICAgICAgICAgICAgICAgICAgIGV4ZWMtPmNvZGVCbG9jaygpLCBwYXRjaEJ1ZmZlciwK
KyAgICAgICAgICAgICAgICAgICAgKCJHZXRCeUlkIHBvbHltb3JwaGljIGxpc3QgYWNjZXNzIGZv
ciAlcywgcmV0dXJuIHBvaW50ICVwIiwKICAgICAgICAgICAgICAgICAgICAgICAgIHRvQ1N0cmlu
ZygqZXhlYy0+Y29kZUJsb2NrKCkpLmRhdGEoKSwgc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9u
LmxhYmVsQXRPZmZzZXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R1YkluZm8ucGF0
Y2guZGVsdGFDYWxsVG9Eb25lKS5leGVjdXRhYmxlQWRkcmVzcygpKSksCiAgICAgICAgICAgICAg
ICAgKnZtLApAQCAtNzc1LDcgKzc3NCw3IEBAIHN0YXRpYyBWX0pJVE9wZXJhdGlvbl9FU3NpSkpJ
IGFwcHJvcHJpYXRlTGlzdEJ1aWxkaW5nUHV0QnlJZEZ1bmN0aW9uKGNvbnN0IFB1dFByCiB9CiAK
ICNpZiBFTkFCTEUoR0dDKQotc3RhdGljIE1hY3JvQXNzZW1ibGVyOjpDYWxsIHN0b3JlVG9Xcml0
ZUJhcnJpZXJCdWZmZXIoQ0NhbGxIZWxwZXJzJiBqaXQsIEdQUlJlZyBjZWxsLCBHUFJSZWcgc2Ny
YXRjaDEsIEdQUlJlZyBzY3JhdGNoMiwgR1BSUmVnIGNhbGxGcmFtZVJlZ2lzdGVyLCBTY3JhdGNo
UmVnaXN0ZXJBbGxvY2F0b3ImIGFsbG9jYXRvcikKK3N0YXRpYyBNYWNyb0Fzc2VtYmxlcjo6Q2Fs
bCBzdG9yZVRvV3JpdGVCYXJyaWVyQnVmZmVyKENDYWxsSGVscGVycyYgaml0LCBHUFJSZWcgY2Vs
bCwgR1BSUmVnIHNjcmF0Y2gxLCBHUFJSZWcgc2NyYXRjaDIsIFNjcmF0Y2hSZWdpc3RlckFsbG9j
YXRvciYgYWxsb2NhdG9yKQogewogICAgIEFTU0VSVChzY3JhdGNoMSAhPSBzY3JhdGNoMik7CiAg
ICAgV3JpdGVCYXJyaWVyQnVmZmVyKiB3cml0ZUJhcnJpZXJCdWZmZXIgPSAmaml0LnZtKCktPmhl
YXAud3JpdGVCYXJyaWVyQnVmZmVyKCk7CkBAIC04MDgsNyArODA3LDcgQEAgc3RhdGljIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIHN0b3JlVG9Xcml0ZUJhcnJpZXJCdWZmZXIoQ0NhbGxIZWxwZXJzJiBq
aXQsIEdQUlJlZwogICAgIGlmIChieXRlc1RvU3VidHJhY3QpCiAgICAgICAgIGppdC5zdWJQdHIo
TWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihieXRlc1RvU3VidHJhY3QpLCBNYWNyb0Fzc2Vt
Ymxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOyAKIAotICAgIGppdC5zZXR1cEFyZ3VtZW50cyhj
YWxsRnJhbWVSZWdpc3RlciwgY2VsbCk7CisgICAgaml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNT
dGF0ZShjZWxsKTsKICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsID0gaml0LmNhbGwoKTsK
IAogICAgIGlmIChieXRlc1RvU3VidHJhY3QpCkBAIC04MjAsMTMgKzgxOSwxMyBAQCBzdGF0aWMg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgc3RvcmVUb1dyaXRlQmFycmllckJ1ZmZlcihDQ2FsbEhlbHBl
cnMmIGppdCwgR1BSUmVnCiAgICAgcmV0dXJuIGNhbGw7CiB9CiAKLXN0YXRpYyBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCB3cml0ZUJhcnJpZXIoQ0NhbGxIZWxwZXJzJiBqaXQsIEdQUlJlZyBvd25lciwg
R1BSUmVnIHNjcmF0Y2gxLCBHUFJSZWcgc2NyYXRjaDIsIEdQUlJlZyBjYWxsRnJhbWVSZWdpc3Rl
ciwgU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yJiBhbGxvY2F0b3IpCitzdGF0aWMgTWFjcm9Bc3Nl
bWJsZXI6OkNhbGwgd3JpdGVCYXJyaWVyKENDYWxsSGVscGVycyYgaml0LCBHUFJSZWcgb3duZXIs
IEdQUlJlZyBzY3JhdGNoMSwgR1BSUmVnIHNjcmF0Y2gyLCBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0
b3ImIGFsbG9jYXRvcikKIHsKICAgICBBU1NFUlQob3duZXIgIT0gc2NyYXRjaDEpOwogICAgIEFT
U0VSVChvd25lciAhPSBzY3JhdGNoMik7CiAKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBkZWZp
bml0ZWx5Tm90TWFya2VkID0gREZHOjpTcGVjdWxhdGl2ZUpJVDo6Z2VuZXJpY1dyaXRlQmFycmll
cihqaXQsIG93bmVyLCBzY3JhdGNoMSwgc2NyYXRjaDIpOwotICAgIE1hY3JvQXNzZW1ibGVyOjpD
YWxsIGNhbGwgPSBzdG9yZVRvV3JpdGVCYXJyaWVyQnVmZmVyKGppdCwgb3duZXIsIHNjcmF0Y2gx
LCBzY3JhdGNoMiwgY2FsbEZyYW1lUmVnaXN0ZXIsIGFsbG9jYXRvcik7CisgICAgTWFjcm9Bc3Nl
bWJsZXI6OkNhbGwgY2FsbCA9IHN0b3JlVG9Xcml0ZUJhcnJpZXJCdWZmZXIoaml0LCBvd25lciwg
c2NyYXRjaDEsIHNjcmF0Y2gyLCBhbGxvY2F0b3IpOwogICAgIGRlZmluaXRlbHlOb3RNYXJrZWQu
bGluaygmaml0KTsKICAgICByZXR1cm4gY2FsbDsKIH0KQEAgLTg0NCw5ICs4NDMsNiBAQCBzdGF0
aWMgdm9pZCBlbWl0UHV0UmVwbGFjZVN0dWIoCiAgICAgUmVmUHRyPEpJVFN0dWJSb3V0aW5lPiYg
c3R1YlJvdXRpbmUpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7Ci0jaWYgRU5BQkxFKEdH
QykKLSAgICBHUFJSZWcgY2FsbEZyYW1lUmVnaXN0ZXIgPSBzdGF0aWNfY2FzdDxHUFJSZWc+KHN0
dWJJbmZvLnBhdGNoLmNhbGxGcmFtZVJlZ2lzdGVyKTsKLSNlbmRpZgogICAgIEdQUlJlZyBiYXNl
R1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5wYXRjaC5iYXNlR1BSKTsKICNpZiBV
U0UoSlNWQUxVRTMyXzY0KQogICAgIEdQUlJlZyB2YWx1ZVRhZ0dQUiA9IHN0YXRpY19jYXN0PEdQ
UlJlZz4oc3R1YkluZm8ucGF0Y2gudmFsdWVUYWdHUFIpOwpAQCAtODkzLDcgKzg4OSw3IEBAIHN0
YXRpYyB2b2lkIGVtaXRQdXRSZXBsYWNlU3R1YigKICNlbmRpZgogICAgIAogI2lmIEVOQUJMRShH
R0MpCi0gICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgd3JpdGVCYXJyaWVyT3BlcmF0aW9uID0gd3Jp
dGVCYXJyaWVyKHN0dWJKaXQsIGJhc2VHUFIsIHNjcmF0Y2hHUFIxLCBzY3JhdGNoR1BSMiwgY2Fs
bEZyYW1lUmVnaXN0ZXIsIGFsbG9jYXRvcik7CisgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgd3Jp
dGVCYXJyaWVyT3BlcmF0aW9uID0gd3JpdGVCYXJyaWVyKHN0dWJKaXQsIGJhc2VHUFIsIHNjcmF0
Y2hHUFIxLCBzY3JhdGNoR1BSMiwgYWxsb2NhdG9yKTsKICNlbmRpZgogICAgIAogICAgIE1hY3Jv
QXNzZW1ibGVyOjpKdW1wIHN1Y2Nlc3M7CkBAIC05MTgsOSArOTE0LDkgQEAgc3RhdGljIHZvaWQg
ZW1pdFB1dFJlcGxhY2VTdHViKAogICAgIHBhdGNoQnVmZmVyLmxpbmsoc3VjY2Vzcywgc3R1Yklu
Zm8uY2FsbFJldHVybkxvY2F0aW9uLmxhYmVsQXRPZmZzZXQoc3R1YkluZm8ucGF0Y2guZGVsdGFD
YWxsVG9Eb25lKSk7CiAgICAgcGF0Y2hCdWZmZXIubGluayhmYWlsdXJlLCBmYWlsdXJlTGFiZWwp
OwogICAgICAgICAgICAgCi0gICAgc3R1YlJvdXRpbmUgPSBGSU5BTElaRV9DT0RFX0ZPUl9ERkdf
U1RVQigKLSAgICAgICAgcGF0Y2hCdWZmZXIsCi0gICAgICAgICgiREZHIFB1dEJ5SWQgcmVwbGFj
ZSBzdHViIGZvciAlcywgcmV0dXJuIHBvaW50ICVwIiwKKyAgICBzdHViUm91dGluZSA9IEZJTkFM
SVpFX0NPREVfRk9SX1NUVUIoCisgICAgICAgIGV4ZWMtPmNvZGVCbG9jaygpLCBwYXRjaEJ1ZmZl
ciwKKyAgICAgICAgKCJQdXRCeUlkIHJlcGxhY2Ugc3R1YiBmb3IgJXMsIHJldHVybiBwb2ludCAl
cCIsCiAgICAgICAgICAgICB0b0NTdHJpbmcoKmV4ZWMtPmNvZGVCbG9jaygpKS5kYXRhKCksIHN0
dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5sYWJlbEF0T2Zmc2V0KAogICAgICAgICAgICAgICAg
IHN0dWJJbmZvLnBhdGNoLmRlbHRhQ2FsbFRvRG9uZSkuZXhlY3V0YWJsZUFkZHJlc3MoKSkpOwog
fQpAQCAtOTQwLDcgKzkzNiw2IEBAIHN0YXRpYyB2b2lkIGVtaXRQdXRUcmFuc2l0aW9uU3R1YigK
IHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKIAotICAgIEdQUlJlZyBjYWxsRnJhbWVSZWdp
c3RlciA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2guY2FsbEZyYW1lUmVnaXN0
ZXIpOwogICAgIEdQUlJlZyBiYXNlR1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5w
YXRjaC5iYXNlR1BSKTsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQogICAgIEdQUlJlZyB2YWx1ZVRh
Z0dQUiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2gudmFsdWVUYWdHUFIpOwpA
QCAtMTA2MCw3ICsxMDU1LDcgQEAgc3RhdGljIHZvaWQgZW1pdFB1dFRyYW5zaXRpb25TdHViKAog
I2VuZGlmCiAgICAgCiAjaWYgRU5BQkxFKEdHQykKLSAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCB3
cml0ZUJhcnJpZXJPcGVyYXRpb24gPSB3cml0ZUJhcnJpZXIoc3R1YkppdCwgYmFzZUdQUiwgc2Ny
YXRjaEdQUjEsIHNjcmF0Y2hHUFIyLCBjYWxsRnJhbWVSZWdpc3RlciwgYWxsb2NhdG9yKTsKKyAg
ICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCB3cml0ZUJhcnJpZXJPcGVyYXRpb24gPSB3cml0ZUJhcnJp
ZXIoc3R1YkppdCwgYmFzZUdQUiwgc2NyYXRjaEdQUjEsIHNjcmF0Y2hHUFIyLCBhbGxvY2F0b3Ip
OwogI2VuZGlmCiAgICAgCiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgc3VjY2VzczsKQEAgLTEw
ODYsOSArMTA4MSw5IEBAIHN0YXRpYyB2b2lkIGVtaXRQdXRUcmFuc2l0aW9uU3R1YigKICAgICAg
ICAgU2NyYXRjaEJ1ZmZlciogc2NyYXRjaEJ1ZmZlciA9IHZtLT5zY3JhdGNoQnVmZmVyRm9yU2l6
ZShhbGxvY2F0b3IuZGVzaXJlZFNjcmF0Y2hCdWZmZXJTaXplKCkpOwogICAgICAgICBhbGxvY2F0
b3IucHJlc2VydmVVc2VkUmVnaXN0ZXJzVG9TY3JhdGNoQnVmZmVyKHN0dWJKaXQsIHNjcmF0Y2hC
dWZmZXIsIHNjcmF0Y2hHUFIxKTsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBzdHViSml0
LnNldHVwQXJndW1lbnRzKGNhbGxGcmFtZVJlZ2lzdGVyLCBiYXNlR1BSLCBNYWNyb0Fzc2VtYmxl
cjo6VHJ1c3RlZEltbVB0cihzdHJ1Y3R1cmUpLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMy
KHNsb3QuY2FjaGVkT2Zmc2V0KCkpLCB2YWx1ZUdQUik7CisgICAgICAgIHN0dWJKaXQuc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKGJhc2VHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
UHRyKHN0cnVjdHVyZSksIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoc2xvdC5jYWNoZWRP
ZmZzZXQoKSksIHZhbHVlR1BSKTsKICNlbHNlCi0gICAgICAgIHN0dWJKaXQuc2V0dXBBcmd1bWVu
dHMoY2FsbEZyYW1lUmVnaXN0ZXIsIGJhc2VHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
UHRyKHN0cnVjdHVyZSksIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoc2xvdC5jYWNoZWRP
ZmZzZXQoKSksIHZhbHVlR1BSLCB2YWx1ZVRhZ0dQUik7CisgICAgICAgIHN0dWJKaXQuc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKGJhc2VHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
UHRyKHN0cnVjdHVyZSksIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoc2xvdC5jYWNoZWRP
ZmZzZXQoKSksIHZhbHVlR1BSLCB2YWx1ZVRhZ0dQUik7CiAjZW5kaWYKICAgICAgICAgb3BlcmF0
aW9uQ2FsbCA9IHN0dWJKaXQuY2FsbCgpOwogICAgICAgICBhbGxvY2F0b3IucmVzdG9yZVVzZWRS
ZWdpc3RlcnNGcm9tU2NyYXRjaEJ1ZmZlcihzdHViSml0LCBzY3JhdGNoQnVmZmVyLCBzY3JhdGNo
R1BSMSk7CkBAIC0xMTExLDkgKzExMDYsOSBAQCBzdGF0aWMgdm9pZCBlbWl0UHV0VHJhbnNpdGlv
blN0dWIoCiAgICAgCiAgICAgc3R1YlJvdXRpbmUgPQogICAgICAgICBjcmVhdGVKSVRTdHViUm91
dGluZSgKLSAgICAgICAgICAgIEZJTkFMSVpFX0RGR19DT0RFKAotICAgICAgICAgICAgICAgIHBh
dGNoQnVmZmVyLAotICAgICAgICAgICAgICAgICgiREZHIFB1dEJ5SWQgJXN0cmFuc2l0aW9uIHN0
dWIgKCVwIC0+ICVwKSBmb3IgJXMsIHJldHVybiBwb2ludCAlcCIsCisgICAgICAgICAgICBGSU5B
TElaRV9DT0RFX0ZPUigKKyAgICAgICAgICAgICAgICBleGVjLT5jb2RlQmxvY2soKSwgcGF0Y2hC
dWZmZXIsCisgICAgICAgICAgICAgICAgKCJQdXRCeUlkICVzdHJhbnNpdGlvbiBzdHViICglcCAt
PiAlcCkgZm9yICVzLCByZXR1cm4gcG9pbnQgJXAiLAogICAgICAgICAgICAgICAgICAgICBzdHJ1
Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCkgIT0gb2xkU3RydWN0dXJlLT5vdXRPZkxpbmVDYXBh
Y2l0eSgpID8gInJlYWxsb2NhdGluZyAiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgIG9sZFN0
cnVjdHVyZSwgc3RydWN0dXJlLAogICAgICAgICAgICAgICAgICAgICB0b0NTdHJpbmcoKmV4ZWMt
PmNvZGVCbG9jaygpKS5kYXRhKCksIHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5sYWJlbEF0
T2Zmc2V0KApAQCAtMTM5NCw5ICsxMzg5LDkgQEAgc3RhdGljIGJvb2wgdHJ5UmVwYXRjaEluKAog
CiAgICAgICAgIGxpbmtSZXN0b3JlU2NyYXRjaChwYXRjaEJ1ZmZlciwgbmVlZFRvUmVzdG9yZVNj
cmF0Y2gsIHN1Y2Nlc3MsIGZhaWwsIGZhaWx1cmVDYXNlcywgc3VjY2Vzc0xhYmVsLCBzbG93Q2Fz
ZUxhYmVsKTsKICAgICAgICAgCi0gICAgICAgIHN0dWJSb3V0aW5lID0gRklOQUxJWkVfQ09ERV9G
T1JfREZHX1NUVUIoCi0gICAgICAgICAgICBwYXRjaEJ1ZmZlciwKLSAgICAgICAgICAgICgiREZH
IEluIChmb3VuZCA9ICVzKSBzdHViIGZvciAlcywgcmV0dXJuIHBvaW50ICVwIiwKKyAgICAgICAg
c3R1YlJvdXRpbmUgPSBGSU5BTElaRV9DT0RFX0ZPUl9TVFVCKAorICAgICAgICAgICAgZXhlYy0+
Y29kZUJsb2NrKCksIHBhdGNoQnVmZmVyLAorICAgICAgICAgICAgKCJJbiAoZm91bmQgPSAlcykg
c3R1YiBmb3IgJXMsIHJldHVybiBwb2ludCAlcCIsCiAgICAgICAgICAgICAgICAgd2FzRm91bmQg
PyAieWVzIiA6ICJubyIsIHRvQ1N0cmluZygqZXhlYy0+Y29kZUJsb2NrKCkpLmRhdGEoKSwKICAg
ICAgICAgICAgICAgICBzdWNjZXNzTGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSkpOwogICAgIH0K
QEAgLTE0MTksMTcgKzE0MTQsMTkgQEAgdm9pZCByZXBhdGNoSW4oCiAgICAgcmVwYXRjaENhbGwo
ZXhlYy0+Y29kZUJsb2NrKCksIHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbiwgb3BlcmF0aW9u
SW4pOwogfQogCi1zdGF0aWMgdm9pZCBsaW5rU2xvd0ZvcihSZXBhdGNoQnVmZmVyJiByZXBhdGNo
QnVmZmVyLCBWTSogdm0sIENhbGxMaW5rSW5mbyYgY2FsbExpbmtJbmZvLCBDb2RlU3BlY2lhbGl6
YXRpb25LaW5kIGtpbmQpCitzdGF0aWMgdm9pZCBsaW5rU2xvd0ZvcigKKyAgICBSZXBhdGNoQnVm
ZmVyJiByZXBhdGNoQnVmZmVyLCBWTSogdm0sIENhbGxMaW5rSW5mbyYgY2FsbExpbmtJbmZvLAor
ICAgIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2Rl
IHJlZ2lzdGVycykKIHsKLSAgICBpZiAoa2luZCA9PSBDb2RlRm9yQ2FsbCkgewotICAgICAgICBy
ZXBhdGNoQnVmZmVyLnJlbGluayhjYWxsTGlua0luZm8uY2FsbFJldHVybkxvY2F0aW9uLCB2bS0+
Z2V0Q1RJU3R1Yih2aXJ0dWFsQ2FsbFRodW5rR2VuZXJhdG9yKS5jb2RlKCkpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotICAgIEFTU0VSVChraW5kID09IENvZGVGb3JDb25zdHJ1Y3QpOwotICAg
IHJlcGF0Y2hCdWZmZXIucmVsaW5rKGNhbGxMaW5rSW5mby5jYWxsUmV0dXJuTG9jYXRpb24sIHZt
LT5nZXRDVElTdHViKHZpcnR1YWxDb25zdHJ1Y3RUaHVua0dlbmVyYXRvcikuY29kZSgpKTsKKyAg
ICByZXBhdGNoQnVmZmVyLnJlbGluaygKKyAgICAgICAgY2FsbExpbmtJbmZvLmNhbGxSZXR1cm5M
b2NhdGlvbiwKKyAgICAgICAgdm0tPmdldENUSVN0dWIodmlydHVhbFRodW5rR2VuZXJhdG9yRm9y
KGtpbmQsIHJlZ2lzdGVycykpLmNvZGUoKSk7CiB9CiAKLXZvaWQgbGlua0ZvcihFeGVjU3RhdGUq
IGV4ZWMsIENhbGxMaW5rSW5mbyYgY2FsbExpbmtJbmZvLCBDb2RlQmxvY2sqIGNhbGxlZUNvZGVC
bG9jaywgSlNGdW5jdGlvbiogY2FsbGVlLCBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgY29kZVB0ciwg
Q29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQordm9pZCBsaW5rRm9yKAorICAgIEV4ZWNTdGF0
ZSogZXhlYywgQ2FsbExpbmtJbmZvJiBjYWxsTGlua0luZm8sIENvZGVCbG9jayogY2FsbGVlQ29k
ZUJsb2NrLAorICAgIEpTRnVuY3Rpb24qIGNhbGxlZSwgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIGNv
ZGVQdHIsIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCwKKyAgICBSZWdpc3RlclByZXNlcnZh
dGlvbk1vZGUgcmVnaXN0ZXJzKQogewogICAgIEFTU0VSVCghY2FsbExpbmtJbmZvLnN0dWIpOwog
ICAgIApAQCAtMTQ0NSwzMSArMTQ0MiwzOCBAQCB2b2lkIGxpbmtGb3IoRXhlY1N0YXRlKiBleGVj
LCBDYWxsTGlua0luZm8mIGNhbGxMaW5rSW5mbywgQ29kZUJsb2NrKiBjYWxsZWVDb2RlQgogICAg
IEFTU0VSVCghY2FsbExpbmtJbmZvLmlzTGlua2VkKCkpOwogICAgIGNhbGxMaW5rSW5mby5jYWxs
ZWUuc2V0KGV4ZWMtPmNhbGxlckZyYW1lKCktPnZtKCksIGNhbGxMaW5rSW5mby5ob3RQYXRoQmVn
aW4sIGNhbGxlckNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCksIGNhbGxlZSk7CiAgICAgY2Fs
bExpbmtJbmZvLmxhc3RTZWVuQ2FsbGVlLnNldChleGVjLT5jYWxsZXJGcmFtZSgpLT52bSgpLCBj
YWxsZXJDb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpLCBjYWxsZWUpOworICAgIGlmIChzaG91
bGRTaG93RGlzYXNzZW1ibHlGb3IoY2FsbGVyQ29kZUJsb2NrKSkKKyAgICAgICAgZGF0YUxvZygi
TGlua2luZyBjYWxsIGluICIsICpjYWxsZXJDb2RlQmxvY2ssICIgYXQgIiwgY2FsbExpbmtJbmZv
LmNvZGVPcmlnaW4sICIgdG8gIiwgcG9pbnRlckR1bXAoY2FsbGVlQ29kZUJsb2NrKSwgIiwgZW50
cnlwb2ludCBhdCAiLCBjb2RlUHRyLCAiXG4iKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhj
YWxsTGlua0luZm8uaG90UGF0aE90aGVyLCBjb2RlUHRyKTsKICAgICAKICAgICBpZiAoY2FsbGVl
Q29kZUJsb2NrKQogICAgICAgICBjYWxsZWVDb2RlQmxvY2stPmxpbmtJbmNvbWluZ0NhbGwoZXhl
Yy0+Y2FsbGVyRnJhbWUoKSwgJmNhbGxMaW5rSW5mbyk7CiAgICAgCiAgICAgaWYgKGtpbmQgPT0g
Q29kZUZvckNhbGwpIHsKLSAgICAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoY2FsbExpbmtJbmZv
LmNhbGxSZXR1cm5Mb2NhdGlvbiwgdm0tPmdldENUSVN0dWIobGlua0Nsb3N1cmVDYWxsVGh1bmtH
ZW5lcmF0b3IpLmNvZGUoKSk7CisgICAgICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGNhbGxMaW5r
SW5mby5jYWxsUmV0dXJuTG9jYXRpb24sIHZtLT5nZXRDVElTdHViKGxpbmtDbG9zdXJlQ2FsbFRo
dW5rR2VuZXJhdG9yRm9yKHJlZ2lzdGVycykpLmNvZGUoKSk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAgICAgCiAgICAgQVNTRVJUKGtpbmQgPT0gQ29kZUZvckNvbnN0cnVjdCk7Ci0gICAgbGlu
a1Nsb3dGb3IocmVwYXRjaEJ1ZmZlciwgdm0sIGNhbGxMaW5rSW5mbywgQ29kZUZvckNvbnN0cnVj
dCk7CisgICAgbGlua1Nsb3dGb3IocmVwYXRjaEJ1ZmZlciwgdm0sIGNhbGxMaW5rSW5mbywgQ29k
ZUZvckNvbnN0cnVjdCwgcmVnaXN0ZXJzKTsKIH0KIAotdm9pZCBsaW5rU2xvd0ZvcihFeGVjU3Rh
dGUqIGV4ZWMsIENhbGxMaW5rSW5mbyYgY2FsbExpbmtJbmZvLCBDb2RlU3BlY2lhbGl6YXRpb25L
aW5kIGtpbmQpCit2b2lkIGxpbmtTbG93Rm9yKAorICAgIEV4ZWNTdGF0ZSogZXhlYywgQ2FsbExp
bmtJbmZvJiBjYWxsTGlua0luZm8sIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCwKKyAgICBS
ZWdpc3RlclByZXNlcnZhdGlvbk1vZGUgcmVnaXN0ZXJzKQogewogICAgIENvZGVCbG9jayogY2Fs
bGVyQ29kZUJsb2NrID0gZXhlYy0+Y2FsbGVyRnJhbWUoKS0+Y29kZUJsb2NrKCk7CiAgICAgVk0q
IHZtID0gY2FsbGVyQ29kZUJsb2NrLT52bSgpOwogICAgIAogICAgIFJlcGF0Y2hCdWZmZXIgcmVw
YXRjaEJ1ZmZlcihjYWxsZXJDb2RlQmxvY2spOwogICAgIAotICAgIGxpbmtTbG93Rm9yKHJlcGF0
Y2hCdWZmZXIsIHZtLCBjYWxsTGlua0luZm8sIGtpbmQpOworICAgIGxpbmtTbG93Rm9yKHJlcGF0
Y2hCdWZmZXIsIHZtLCBjYWxsTGlua0luZm8sIGtpbmQsIHJlZ2lzdGVycyk7CiB9CiAKLXZvaWQg
bGlua0Nsb3N1cmVDYWxsKEV4ZWNTdGF0ZSogZXhlYywgQ2FsbExpbmtJbmZvJiBjYWxsTGlua0lu
Zm8sIENvZGVCbG9jayogY2FsbGVlQ29kZUJsb2NrLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRXhl
Y3V0YWJsZUJhc2UqIGV4ZWN1dGFibGUsIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBjb2RlUHRyKQor
dm9pZCBsaW5rQ2xvc3VyZUNhbGwoCisgICAgRXhlY1N0YXRlKiBleGVjLCBDYWxsTGlua0luZm8m
IGNhbGxMaW5rSW5mbywgQ29kZUJsb2NrKiBjYWxsZWVDb2RlQmxvY2ssCisgICAgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEV4ZWN1dGFibGVCYXNlKiBleGVjdXRhYmxlLCBNYWNyb0Fzc2VtYmxlckNv
ZGVQdHIgY29kZVB0ciwKKyAgICBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGUgcmVnaXN0ZXJzKQog
ewogICAgIEFTU0VSVCghY2FsbExpbmtJbmZvLnN0dWIpOwogICAgIApAQCAtMTQ4Miw2ICsxNDg2
LDE1IEBAIHZvaWQgbGlua0Nsb3N1cmVDYWxsKEV4ZWNTdGF0ZSogZXhlYywgQ2FsbExpbmtJbmZv
JiBjYWxsTGlua0luZm8sIENvZGVCbG9jayogY2FsCiAgICAgCiAgICAgQ0NhbGxIZWxwZXJzOjpK
dW1wTGlzdCBzbG93UGF0aDsKICAgICAKKyAgICBwdHJkaWZmX3Qgb2Zmc2V0VG9GcmFtZSA9IC1z
aXplb2YoQ2FsbGVyRnJhbWVBbmRQQyk7CisKKyAgICBpZiAoIUFTU0VSVF9ESVNBQkxFRCkgewor
ICAgICAgICBDQ2FsbEhlbHBlcnM6Okp1bXAgb2tBcmd1bWVudENvdW50ID0gc3R1YkppdC5icmFu
Y2gzMigKKyAgICAgICAgICAgIENDYWxsSGVscGVyczo6QmVsb3csIENDYWxsSGVscGVyczo6QWRk
cmVzcyhDQ2FsbEhlbHBlcnM6OnN0YWNrUG9pbnRlclJlZ2lzdGVyLCBzdGF0aWNfY2FzdDxwdHJk
aWZmX3Q+KHNpemVvZihSZWdpc3RlcikgKiBKU1N0YWNrOjpBcmd1bWVudENvdW50KSArIG9mZnNl
dFRvRnJhbWUgKyBQYXlsb2FkT2Zmc2V0KSwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoMTAw
MDAwMDApKTsKKyAgICAgICAgc3R1YkppdC5icmVha3BvaW50KCk7CisgICAgICAgIG9rQXJndW1l
bnRDb3VudC5saW5rKCZzdHViSml0KTsKKyAgICB9CisgICAgICAgICAgICAKICNpZiBVU0UoSlNW
QUxVRTY0KQogICAgIC8vIFdlIGNhbiBzYWZlbHkgY2xvYmJlciBldmVyeXRoaW5nIGV4Y2VwdCB0
aGUgY2FsbGVlR1BSLiBXZSBjYW4ndCByZWx5IG9uIHRhZ01hc2tSZWdpc3RlcgogICAgIC8vIGJl
aW5nIHNldC4gU28gd2UgZG8gdGhpcyB0aGUgaGFyZCB3YXkuCkBAIC0xNTA3LDE4ICsxNTIwLDE4
IEBAIHZvaWQgbGlua0Nsb3N1cmVDYWxsKEV4ZWNTdGF0ZSogZXhlYywgQ2FsbExpbmtJbmZvJiBj
YWxsTGlua0luZm8sIENvZGVCbG9jayogY2FsCiAgICAgc3R1YkppdC5sb2FkUHRyKAogICAgICAg
ICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoY2FsbGVlR1BSLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZlNj
b3BlQ2hhaW4oKSksCiAgICAgICAgIEdQUkluZm86OnJldHVyblZhbHVlR1BSKTsKLQorICAgIAog
I2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgc3R1YkppdC5zdG9yZTY0KAogICAgICAgICBHUFJJbmZv
OjpyZXR1cm5WYWx1ZUdQUiwKLSAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86
OmNhbGxGcmFtZVJlZ2lzdGVyLCBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihSZWdpc3Rl
cikgKiBKU1N0YWNrOjpTY29wZUNoYWluKSkpOworICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJl
c3MoTWFjcm9Bc3NlbWJsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVyLCBzdGF0aWNfY2FzdDxwdHJk
aWZmX3Q+KHNpemVvZihSZWdpc3RlcikgKiBKU1N0YWNrOjpTY29wZUNoYWluKSArIG9mZnNldFRv
RnJhbWUpKTsKICNlbHNlCiAgICAgc3R1YkppdC5zdG9yZVB0cigKICAgICAgICAgR1BSSW5mbzo6
cmV0dXJuVmFsdWVHUFIsCi0gICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpj
YWxsRnJhbWVSZWdpc3Rlciwgc3RhdGljX2Nhc3Q8cHRyZGlmZl90PihzaXplb2YoUmVnaXN0ZXIp
ICogSlNTdGFjazo6U2NvcGVDaGFpbikgKyBPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVz
Y3JpcHRvciwgYXNCaXRzLnBheWxvYWQpKSk7CisgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVz
cyhNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIHN0YXRpY19jYXN0PHB0cmRp
ZmZfdD4oc2l6ZW9mKFJlZ2lzdGVyKSAqIEpTU3RhY2s6OlNjb3BlQ2hhaW4pICsgT0JKRUNUX09G
RlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy5wYXlsb2FkKSArIG9mZnNldFRv
RnJhbWUpKTsKICAgICBzdHViSml0LnN0b3JlMzIoCiAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1
c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpLAotICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJl
c3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIHN0YXRpY19jYXN0PHB0cmRpZmZfdD4oc2l6
ZW9mKFJlZ2lzdGVyKSAqIEpTU3RhY2s6OlNjb3BlQ2hhaW4pICsgT0JKRUNUX09GRlNFVE9GKEVu
Y29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy50YWcpKSk7CisgICAgICAgIENDYWxsSGVscGVy
czo6QWRkcmVzcyhNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIHN0YXRpY19j
YXN0PHB0cmRpZmZfdD4oc2l6ZW9mKFJlZ2lzdGVyKSAqIEpTU3RhY2s6OlNjb3BlQ2hhaW4pICsg
T0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy50YWcpICsgb2Zm
c2V0VG9GcmFtZSkpOwogI2VuZGlmCiAgICAgCiAgICAgQXNzZW1ibHlIZWxwZXJzOjpDYWxsIGNh
bGwgPSBzdHViSml0Lm5lYXJDYWxsKCk7CkBAIC0xNTI5LDIwICsxNTQyLDI0IEBAIHZvaWQgbGlu
a0Nsb3N1cmVDYWxsKEV4ZWNTdGF0ZSogZXhlYywgQ2FsbExpbmtJbmZvJiBjYWxsTGlua0luZm8s
IENvZGVCbG9jayogY2FsCiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICBzdHViSml0Lm1vdmUo
Q0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZyksIEdQUkluZm86OnJl
Z1QxKTsKICNlbmRpZgotICAgIHN0dWJKaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1Q
dHIoY2FsbExpbmtJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5leGVjdXRhYmxlQWRkcmVzcygpKSwg
R1BSSW5mbzo6bm9uQXJnR1BSMik7Ci0gICAgc3R1YkppdC5yZXN0b3JlUmV0dXJuQWRkcmVzc0Jl
Zm9yZVJldHVybihHUFJJbmZvOjpub25BcmdHUFIyKTsKKyAgICBzdHViSml0Lm1vdmUoQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGNhbGxMaW5rSW5mby5jYWxsUmV0dXJuTG9jYXRpb24uZXhl
Y3V0YWJsZUFkZHJlc3MoKSksIEdQUkluZm86OnJlZ1QyKTsKKyAgICAKKyAgICBzdHViSml0LnJl
c3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKEdQUkluZm86OnJlZ1QyKTsKICAgICBBc3Nl
bWJseUhlbHBlcnM6Okp1bXAgc2xvdyA9IHN0dWJKaXQuanVtcCgpOwogICAgIAogICAgIExpbmtC
dWZmZXIgcGF0Y2hCdWZmZXIoKnZtLCAmc3R1YkppdCwgY2FsbGVyQ29kZUJsb2NrKTsKICAgICAK
ICAgICBwYXRjaEJ1ZmZlci5saW5rKGNhbGwsIEZ1bmN0aW9uUHRyKGNvZGVQdHIuZXhlY3V0YWJs
ZUFkZHJlc3MoKSkpOwotICAgIHBhdGNoQnVmZmVyLmxpbmsoZG9uZSwgY2FsbExpbmtJbmZvLmNh
bGxSZXR1cm5Mb2NhdGlvbi5sYWJlbEF0T2Zmc2V0KDApKTsKLSAgICBwYXRjaEJ1ZmZlci5saW5r
KHNsb3csIENvZGVMb2NhdGlvbkxhYmVsKHZtLT5nZXRDVElTdHViKHZpcnR1YWxDYWxsVGh1bmtH
ZW5lcmF0b3IpLmNvZGUoKSkpOworICAgIGlmIChKSVRDb2RlOjppc09wdGltaXppbmdKSVQoY2Fs
bGVyQ29kZUJsb2NrLT5qaXRUeXBlKCkpKQorICAgICAgICBwYXRjaEJ1ZmZlci5saW5rKGRvbmUs
IGNhbGxMaW5rSW5mby5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldCgwKSk7CisgICAg
ZWxzZQorICAgICAgICBwYXRjaEJ1ZmZlci5saW5rKGRvbmUsIGNhbGxMaW5rSW5mby5ob3RQYXRo
T3RoZXIubGFiZWxBdE9mZnNldCgwKSk7CisgICAgcGF0Y2hCdWZmZXIubGluayhzbG93LCBDb2Rl
TG9jYXRpb25MYWJlbCh2bS0+Z2V0Q1RJU3R1Yih2aXJ0dWFsVGh1bmtHZW5lcmF0b3JGb3IoQ29k
ZUZvckNhbGwsIHJlZ2lzdGVycykpLmNvZGUoKSkpOwogICAgIAogICAgIFJlZlB0cjxDbG9zdXJl
Q2FsbFN0dWJSb3V0aW5lPiBzdHViUm91dGluZSA9IGFkb3B0UmVmKG5ldyBDbG9zdXJlQ2FsbFN0
dWJSb3V0aW5lKAotICAgICAgICBGSU5BTElaRV9ERkdfQ09ERSgKLSAgICAgICAgICAgIHBhdGNo
QnVmZmVyLAotICAgICAgICAgICAgKCJERkcgY2xvc3VyZSBjYWxsIHN0dWIgZm9yICVzLCByZXR1
cm4gcG9pbnQgJXAsIHRhcmdldCAlcCAoJXMpIiwKKyAgICAgICAgRklOQUxJWkVfQ09ERV9GT1Io
CisgICAgICAgICAgICBjYWxsZXJDb2RlQmxvY2ssIHBhdGNoQnVmZmVyLAorICAgICAgICAgICAg
KCJDbG9zdXJlIGNhbGwgc3R1YiBmb3IgJXMsIHJldHVybiBwb2ludCAlcCwgdGFyZ2V0ICVwICgl
cykiLAogICAgICAgICAgICAgICAgIHRvQ1N0cmluZygqY2FsbGVyQ29kZUJsb2NrKS5kYXRhKCks
IGNhbGxMaW5rSW5mby5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldCgwKS5leGVjdXRh
YmxlQWRkcmVzcygpLAogICAgICAgICAgICAgICAgIGNvZGVQdHIuZXhlY3V0YWJsZUFkZHJlc3Mo
KSwgdG9DU3RyaW5nKHBvaW50ZXJEdW1wKGNhbGxlZUNvZGVCbG9jaykpLmRhdGEoKSkpLAogICAg
ICAgICAqdm0sIGNhbGxlckNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCksIHN0cnVjdHVyZSwg
ZXhlY3V0YWJsZSwgY2FsbExpbmtJbmZvLmNvZGVPcmlnaW4pKTsKQEAgLTE1NTIsNyArMTU2OSw3
IEBAIHZvaWQgbGlua0Nsb3N1cmVDYWxsKEV4ZWNTdGF0ZSogZXhlYywgQ2FsbExpbmtJbmZvJiBj
YWxsTGlua0luZm8sIENvZGVCbG9jayogY2FsCiAgICAgcmVwYXRjaEJ1ZmZlci5yZXBsYWNlV2l0
aEp1bXAoCiAgICAgICAgIFJlcGF0Y2hCdWZmZXI6OnN0YXJ0T2ZCcmFuY2hQdHJXaXRoUGF0Y2hP
blJlZ2lzdGVyKGNhbGxMaW5rSW5mby5ob3RQYXRoQmVnaW4pLAogICAgICAgICBDb2RlTG9jYXRp
b25MYWJlbChzdHViUm91dGluZS0+Y29kZSgpLmNvZGUoKSkpOwotICAgIGxpbmtTbG93Rm9yKHJl
cGF0Y2hCdWZmZXIsIHZtLCBjYWxsTGlua0luZm8sIENvZGVGb3JDYWxsKTsKKyAgICBsaW5rU2xv
d0ZvcihyZXBhdGNoQnVmZmVyLCB2bSwgY2FsbExpbmtJbmZvLCBDb2RlRm9yQ2FsbCwgcmVnaXN0
ZXJzKTsKICAgICAKICAgICBjYWxsTGlua0luZm8uc3R1YiA9IHN0dWJSb3V0aW5lLnJlbGVhc2Uo
KTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmgKaW5kZXggZmFhNzg3NjEzMzAz
OGM1M2RmM2FkZmMwMjFiNWU2MmY3YTg3ZmE0ZC4uNzk2Yzg1NTkxZjNkMjE0MmIwYmM4NzI5ZTJh
YzY3MWFhZjFhMTUzOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBh
dGNoLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmgKQEAgLTQxLDkg
KzQxLDkgQEAgdm9pZCBidWlsZEdldEJ5SURQcm90b0xpc3QoRXhlY1N0YXRlKiwgSlNWYWx1ZSwg
Y29uc3QgSWRlbnRpZmllciYsIGNvbnN0IFByb3BlcnQKIHZvaWQgcmVwYXRjaFB1dEJ5SUQoRXhl
Y1N0YXRlKiwgSlNWYWx1ZSwgY29uc3QgSWRlbnRpZmllciYsIGNvbnN0IFB1dFByb3BlcnR5U2xv
dCYsIFN0cnVjdHVyZVN0dWJJbmZvJiwgUHV0S2luZCk7CiB2b2lkIGJ1aWxkUHV0QnlJZExpc3Qo
RXhlY1N0YXRlKiwgSlNWYWx1ZSwgY29uc3QgSWRlbnRpZmllciYsIGNvbnN0IFB1dFByb3BlcnR5
U2xvdCYsIFN0cnVjdHVyZVN0dWJJbmZvJiwgUHV0S2luZCk7CiB2b2lkIHJlcGF0Y2hJbihFeGVj
U3RhdGUqLCBKU0NlbGwqLCBjb25zdCBJZGVudGlmaWVyJiwgYm9vbCB3YXNGb3VuZCwgY29uc3Qg
UHJvcGVydHlTbG90JiwgU3RydWN0dXJlU3R1YkluZm8mKTsKLXZvaWQgbGlua0ZvcihFeGVjU3Rh
dGUqLCBDYWxsTGlua0luZm8mLCBDb2RlQmxvY2sqLCBKU0Z1bmN0aW9uKiBjYWxsZWUsIE1hY3Jv
QXNzZW1ibGVyQ29kZVB0ciwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCk7Ci12b2lkIGxpbmtTbG93
Rm9yKEV4ZWNTdGF0ZSosIENhbGxMaW5rSW5mbyYsIENvZGVTcGVjaWFsaXphdGlvbktpbmQpOwot
dm9pZCBsaW5rQ2xvc3VyZUNhbGwoRXhlY1N0YXRlKiwgQ2FsbExpbmtJbmZvJiwgQ29kZUJsb2Nr
KiwgU3RydWN0dXJlKiwgRXhlY3V0YWJsZUJhc2UqLCBNYWNyb0Fzc2VtYmxlckNvZGVQdHIpOwor
dm9pZCBsaW5rRm9yKEV4ZWNTdGF0ZSosIENhbGxMaW5rSW5mbyYsIENvZGVCbG9jayosIEpTRnVu
Y3Rpb24qIGNhbGxlZSwgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyLCBDb2RlU3BlY2lhbGl6YXRpb25L
aW5kLCBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGUpOwordm9pZCBsaW5rU2xvd0ZvcihFeGVjU3Rh
dGUqLCBDYWxsTGlua0luZm8mLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLCBSZWdpc3RlclByZXNl
cnZhdGlvbk1vZGUpOwordm9pZCBsaW5rQ2xvc3VyZUNhbGwoRXhlY1N0YXRlKiwgQ2FsbExpbmtJ
bmZvJiwgQ29kZUJsb2NrKiwgU3RydWN0dXJlKiwgRXhlY3V0YWJsZUJhc2UqLCBNYWNyb0Fzc2Vt
YmxlckNvZGVQdHIsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZSk7CiB2b2lkIHJlc2V0R2V0QnlJ
RChSZXBhdGNoQnVmZmVyJiwgU3RydWN0dXJlU3R1YkluZm8mKTsKIHZvaWQgcmVzZXRQdXRCeUlE
KFJlcGF0Y2hCdWZmZXImLCBTdHJ1Y3R1cmVTdHViSW5mbyYpOwogdm9pZCByZXNldEluKFJlcGF0
Y2hCdWZmZXImLCBTdHJ1Y3R1cmVTdHViSW5mbyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9TcGVjaWFsaXplZFRodW5rSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1NwZWNpYWxpemVkVGh1bmtKSVQuaAppbmRleCA2ZWMxZTcxYTdiYTg3YTIyYmEyN2Mz
MTRjMjcwZjQ5YjM3OWU4OGMyLi5kODA1MzdiNDE4YmExYjYxNmNhOGMzMzJhZWM0MWM1YWE4Mjdh
MjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1NwZWNpYWxpemVkVGh1
bmtKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1NwZWNpYWxpemVkVGh1bmtK
SVQuaApAQCAtNDEsNiArNDEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgU3BlY2lhbGl6
ZWRUaHVua0pJVChWTSogdm0sIGludCBleHBlY3RlZEFyZ0NvdW50KQogICAgICAgICAgICAgOiBK
U0ludGVyZmFjZUpJVCh2bSkKICAgICAgICAgeworICAgICAgICAgICAgZW1pdEZ1bmN0aW9uUHJv
bG9ndWUoKTsKICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgd2UgaGF2ZSB0aGUgZXhwZWN0ZWQg
bnVtYmVyIG9mIGFyZ3VtZW50cwogICAgICAgICAgICAgbV9mYWlsdXJlcy5hcHBlbmQoYnJhbmNo
MzIoTm90RXF1YWwsIHBheWxvYWRGb3IoSlNTdGFjazo6QXJndW1lbnRDb3VudCksIFRydXN0ZWRJ
bW0zMihleHBlY3RlZEFyZ0NvdW50ICsgMSkpKTsKICAgICAgICAgfQpAQCAtNDgsNiArNDksNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgZXhwbGljaXQgU3BlY2lhbGl6ZWRUaHVua0pJVChW
TSogdm0pCiAgICAgICAgICAgICA6IEpTSW50ZXJmYWNlSklUKHZtKQogICAgICAgICB7CisgICAg
ICAgICAgICBlbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpOwogICAgICAgICB9CiAgICAgICAgIAogICAg
ICAgICB2b2lkIGxvYWREb3VibGVBcmd1bWVudChpbnQgYXJndW1lbnQsIEZQUmVnaXN0ZXJJRCBk
c3QsIFJlZ2lzdGVySUQgc2NyYXRjaCkKQEAgLTk3LDcgKzk5LDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChzcmMgIT0gcmVnVDApCiAgICAgICAgICAgICAg
ICAgbW92ZShzcmMsIHJlZ1QwKTsKLSAgICAgICAgICAgIGxvYWRQdHIoQWRkcmVzcyhjYWxsRnJh
bWVSZWdpc3RlciwgQ2FsbEZyYW1lOjpjYWxsZXJGcmFtZU9mZnNldCgpKSwgY2FsbEZyYW1lUmVn
aXN0ZXIpOworICAgICAgICAgICAgZW1pdEZ1bmN0aW9uRXBpbG9ndWUoKTsKICAgICAgICAgICAg
IHJldCgpOwogICAgICAgICB9CiAjZWxzZQpAQCAtMTA1LDcgKzEwNyw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICB7CiAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKHBheWxvYWQsIHBheWxv
YWQgPT0gcmVnVDApOwogICAgICAgICAgICAgQVNTRVJUX1VOVVNFRCh0YWcsIHRhZyA9PSByZWdU
MSk7Ci0gICAgICAgICAgICBsb2FkUHRyKEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIENhbGxG
cmFtZTo6Y2FsbGVyRnJhbWVPZmZzZXQoKSksIGNhbGxGcmFtZVJlZ2lzdGVyKTsKKyAgICAgICAg
ICAgIGVtaXRGdW5jdGlvbkVwaWxvZ3VlKCk7CiAgICAgICAgICAgICByZXQoKTsKICAgICAgICAg
fQogI2VuZGlmCkBAIC0xMzYsNyArMTM4LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAg
ICBsb3dOb25aZXJvLmxpbmsodGhpcyk7CiAgICAgICAgICAgICBoaWdoTm9uWmVyby5saW5rKHRo
aXMpOwogI2VuZGlmCi0gICAgICAgICAgICBsb2FkUHRyKEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0
ZXIsIENhbGxGcmFtZTo6Y2FsbGVyRnJhbWVPZmZzZXQoKSksIGNhbGxGcmFtZVJlZ2lzdGVyKTsK
KyAgICAgICAgICAgIGVtaXRGdW5jdGlvbkVwaWxvZ3VlKCk7CiAgICAgICAgICAgICByZXQoKTsK
ICAgICAgICAgfQogCkBAIC0xNDUsNyArMTQ3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
ICAgICBpZiAoc3JjICE9IHJlZ1QwKQogICAgICAgICAgICAgICAgIG1vdmUoc3JjLCByZWdUMCk7
CiAgICAgICAgICAgICB0YWdSZXR1cm5Bc0ludDMyKCk7Ci0gICAgICAgICAgICBsb2FkUHRyKEFk
ZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIENhbGxGcmFtZTo6Y2FsbGVyRnJhbWVPZmZzZXQoKSks
IGNhbGxGcmFtZVJlZ2lzdGVyKTsKKyAgICAgICAgICAgIGVtaXRGdW5jdGlvbkVwaWxvZ3VlKCk7
CiAgICAgICAgICAgICByZXQoKTsKICAgICAgICAgfQogCkBAIC0xNTQsNyArMTU2LDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBpZiAoc3JjICE9IHJlZ1QwKQogICAgICAgICAgICAg
ICAgIG1vdmUoc3JjLCByZWdUMCk7CiAgICAgICAgICAgICB0YWdSZXR1cm5Bc0pTQ2VsbCgpOwot
ICAgICAgICAgICAgbG9hZFB0cihBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBDYWxsRnJhbWU6
OmNhbGxlckZyYW1lT2Zmc2V0KCkpLCBjYWxsRnJhbWVSZWdpc3Rlcik7CisgICAgICAgICAgICBl
bWl0RnVuY3Rpb25FcGlsb2d1ZSgpOwogICAgICAgICAgICAgcmV0KCk7CiAgICAgICAgIH0KICAg
ICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJh
dG9ycy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAK
aW5kZXggMTE4NzVjY2JmY2YyOGRlOWY5YjBlNmE4MGNiNmY3ZmY2ZTdkZGQxYi4uMjU3ODhmYzA5
N2JlMTdkNjEyMjEwMDNkYzY3ZWIzNzNmNmQxZWM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTAsIDIwMTIsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEyLCAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzEs
NiArMzEsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0
b3IuaCIKICNpbmNsdWRlICJKU1N0YWNrLmgiCisjaW5jbHVkZSAiTWF4RnJhbWVFeHRlbnRGb3JT
bG93UGF0aENhbGwuaCIKICNpbmNsdWRlICJPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiU3BlY2lh
bGl6ZWRUaHVua0pJVC5oIgogI2luY2x1ZGUgPHd0Zi9JbmxpbmVBU00uaD4KQEAgLTY2LDEwICs2
Nyw3IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiB0aHJvd0V4Y2VwdGlvbkZyb21DYWxsU2xvd1Bh
dGhHZW5lcmF0b3IoVk0qIHZtKQogICAgIC8vIGV2ZW4gdGhvdWdoIHdlIHdvbid0IHVzZSBpdC4K
ICAgICBqaXQucHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKEdQUkluZm86Om5vblByZXNl
cnZlZE5vblJldHVybkdQUik7CiAKLSAgICAvLyBUaGUgQ2FsbEZyYW1lIHJlZ2lzdGVyIHBvaW50
cyB0byB0aGUgKGZhaWxlZCkgY2FsbGVlIGZyYW1lLCBzbyB3ZSBuZWVkIHRvIHBvcCBiYWNrIG9u
ZSBmcmFtZS4KLSAgICBqaXQuZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRlclB0
cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7Ci0KLSAgICBqaXQuc2V0dXBBcmd1bWVudHNF
eGVjU3RhdGUoKTsKKyAgICBqaXQuc2V0dXBBcmd1bWVudHMoQ0NhbGxIZWxwZXJzOjpUcnVzdGVk
SW1tUHRyKHZtKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwogICAgIGppdC5tb3ZlKEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihiaXR3aXNlX2Nhc3Q8dm9pZCo+KGxvb2t1cEV4Y2Vw
dGlvbkhhbmRsZXIpKSwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CiAgICAgZW1pdFBvaW50ZXJWYWxp
ZGF0aW9uKGppdCwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CiAgICAgaml0LmNhbGwoR1BSSW5mbzo6
bm9uQXJnR1BSMCk7CkBAIC04MiwyOSArODAsMjggQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHRo
cm93RXhjZXB0aW9uRnJvbUNhbGxTbG93UGF0aEdlbmVyYXRvcihWTSogdm0pCiBzdGF0aWMgdm9p
ZCBzbG93UGF0aEZvcigKICAgICBDQ2FsbEhlbHBlcnMmIGppdCwgVk0qIHZtLCBQX0pJVE9wZXJh
dGlvbl9FIHNsb3dQYXRoRnVuY3Rpb24pCiB7Ci0gICAgaml0LnByZXNlcnZlUmV0dXJuQWRkcmVz
c0FmdGVyQ2FsbChHUFJJbmZvOjpub25BcmdHUFIyKTsKLSAgICBlbWl0UG9pbnRlclZhbGlkYXRp
b24oaml0LCBHUFJJbmZvOjpub25BcmdHUFIyKTsKLSAgICBqaXQuZW1pdFB1dFJldHVyblBDVG9D
YWxsRnJhbWVIZWFkZXIoR1BSSW5mbzo6bm9uQXJnR1BSMik7CisgICAgaml0LmVtaXRGdW5jdGlv
blByb2xvZ3VlKCk7CiAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVy
LCAmdm0tPnRvcENhbGxGcmFtZSk7CisgICAgaWYgKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhD
YWxsKQorICAgICAgICBqaXQuYWRkUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKC1tYXhG
cmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCksIENDYWxsSGVscGVyczo6c3RhY2tQb2ludGVyUmVn
aXN0ZXIpOwogICAgIGppdC5zZXR1cEFyZ3VtZW50c0V4ZWNTdGF0ZSgpOwogICAgIGppdC5tb3Zl
KENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihiaXR3aXNlX2Nhc3Q8dm9pZCo+KHNsb3dQYXRo
RnVuY3Rpb24pKSwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CiAgICAgZW1pdFBvaW50ZXJWYWxpZGF0
aW9uKGppdCwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CiAgICAgaml0LmNhbGwoR1BSSW5mbzo6bm9u
QXJnR1BSMCk7CisgICAgaWYgKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsKQorICAgICAg
ICBqaXQuYWRkUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKG1heEZyYW1lRXh0ZW50Rm9y
U2xvd1BhdGhDYWxsKSwgQ0NhbGxIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAgICAg
CiAgICAgLy8gVGhpcyBzbG93IGNhbGwgd2lsbCByZXR1cm4gdGhlIGFkZHJlc3Mgb2Ygb25lIG9m
IHRoZSBmb2xsb3dpbmc6CiAgICAgLy8gMSkgRXhjZXB0aW9uIHRocm93aW5nIHRodW5rLgogICAg
IC8vIDIpIEhvc3QgY2FsbCByZXR1cm4gdmFsdWUgcmV0dXJuZXIgdGhpbmd5LgogICAgIC8vIDMp
IFRoZSBmdW5jdGlvbiB0byBjYWxsLgotICAgIGppdC5lbWl0R2V0UmV0dXJuUENGcm9tQ2FsbEZy
YW1lSGVhZGVyUHRyKEdQUkluZm86Om5vblByZXNlcnZlZE5vblJldHVybkdQUik7Ci0gICAgaml0
LmVtaXRQdXRSZXR1cm5QQ1RvQ2FsbEZyYW1lSGVhZGVyKENDYWxsSGVscGVyczo6VHJ1c3RlZElt
bVB0cigwKSk7Ci0gICAgZW1pdFBvaW50ZXJWYWxpZGF0aW9uKGppdCwgR1BSSW5mbzo6bm9uUHJl
c2VydmVkTm9uUmV0dXJuR1BSKTsKLSAgICBqaXQucmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVS
ZXR1cm4oR1BSSW5mbzo6bm9uUHJlc2VydmVkTm9uUmV0dXJuR1BSKTsKICAgICBlbWl0UG9pbnRl
clZhbGlkYXRpb24oaml0LCBHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUik7CisgICAgaml0LmVtaXRG
dW5jdGlvbkVwaWxvZ3VlKCk7CiAgICAgaml0Lmp1bXAoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIp
OwogfQogCiBzdGF0aWMgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGxpbmtGb3JUaHVua0dlbmVyYXRv
cigKLSAgICBWTSogdm0sIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkKKyAgICBWTSogdm0s
IENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlIHJl
Z2lzdGVycykKIHsKICAgICAvLyBUaGUgcmV0dXJuIGFkZHJlc3MgaXMgb24gdGhlIHN0YWNrIG9y
IGluIHRoZSBsaW5rIHJlZ2lzdGVyLiBXZSB3aWxsIGhlbmNlCiAgICAgLy8gc2F2ZSB0aGUgcmV0
dXJuIGFkZHJlc3MgdG8gdGhlIGNhbGwgZnJhbWUgd2hpbGUgd2UgbWFrZSBhIEMrKyBmdW5jdGlv
biBjYWxsCkBAIC0xMTQsMzggKzExMSw1OSBAQCBzdGF0aWMgTWFjcm9Bc3NlbWJsZXJDb2RlUmVm
IGxpbmtGb3JUaHVua0dlbmVyYXRvcigKICAgICAKICAgICBDQ2FsbEhlbHBlcnMgaml0KHZtKTsK
ICAgICAKLSAgICBzbG93UGF0aEZvcihqaXQsIHZtLCBraW5kID09IENvZGVGb3JDYWxsID8gb3Bl
cmF0aW9uTGlua0NhbGwgOiBvcGVyYXRpb25MaW5rQ29uc3RydWN0KTsKKyAgICBzbG93UGF0aEZv
cihqaXQsIHZtLCBvcGVyYXRpb25MaW5rRm9yKGtpbmQsIHJlZ2lzdGVycykpOwogICAgIAogICAg
IExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIoKnZtLCAmaml0LCBHTE9CQUxfVEhVTktfSUQpOwogICAg
IHJldHVybiBGSU5BTElaRV9DT0RFKAogICAgICAgICBwYXRjaEJ1ZmZlciwKLSAgICAgICAgKCJM
aW5rICVzIHNsb3cgcGF0aCB0aHVuayIsIGtpbmQgPT0gQ29kZUZvckNhbGwgPyAiY2FsbCIgOiAi
Y29uc3RydWN0IikpOworICAgICAgICAoIkxpbmsgJXMlcyBzbG93IHBhdGggdGh1bmsiLCBraW5k
ID09IENvZGVGb3JDYWxsID8gImNhbGwiIDogImNvbnN0cnVjdCIsIHJlZ2lzdGVycyA9PSBNdXN0
UHJlc2VydmVSZWdpc3RlcnMgPyAiIHRoYXQgcHJlc2VydmVzIHJlZ2lzdGVycyIgOiAiIikpOwog
fQogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbGlua0NhbGxUaHVua0dlbmVyYXRvcihWTSogdm0p
CiB7Ci0gICAgcmV0dXJuIGxpbmtGb3JUaHVua0dlbmVyYXRvcih2bSwgQ29kZUZvckNhbGwpOwor
ICAgIHJldHVybiBsaW5rRm9yVGh1bmtHZW5lcmF0b3Iodm0sIENvZGVGb3JDYWxsLCBSZWdpc3Rl
clByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsKIH0KIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGxp
bmtDb25zdHJ1Y3RUaHVua0dlbmVyYXRvcihWTSogdm0pCiB7Ci0gICAgcmV0dXJuIGxpbmtGb3JU
aHVua0dlbmVyYXRvcih2bSwgQ29kZUZvckNvbnN0cnVjdCk7CisgICAgcmV0dXJuIGxpbmtGb3JU
aHVua0dlbmVyYXRvcih2bSwgQ29kZUZvckNvbnN0cnVjdCwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25O
b3RSZXF1aXJlZCk7CiB9CiAKLS8vIEZvciBjbG9zdXJlIG9wdGltaXphdGlvbnMsIHdlIG9ubHkg
aW5jbHVkZSBjYWxscywgc2luY2UgaWYgeW91J3JlIHVzaW5nIGNsb3N1cmVzIGZvcgotLy8gb2Jq
ZWN0IGNvbnN0cnVjdGlvbiB0aGVuIHlvdSdyZSBnb2luZyB0byBsb3NlIGJpZyB0aW1lIGFueXdh
eS4KLU1hY3JvQXNzZW1ibGVyQ29kZVJlZiBsaW5rQ2xvc3VyZUNhbGxUaHVua0dlbmVyYXRvcihW
TSogdm0pCitNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbGlua0NhbGxUaGF0UHJlc2VydmVzUmVnc1Ro
dW5rR2VuZXJhdG9yKFZNKiB2bSkKK3sKKyAgICByZXR1cm4gbGlua0ZvclRodW5rR2VuZXJhdG9y
KHZtLCBDb2RlRm9yQ2FsbCwgTXVzdFByZXNlcnZlUmVnaXN0ZXJzKTsKK30KKworTWFjcm9Bc3Nl
bWJsZXJDb2RlUmVmIGxpbmtDb25zdHJ1Y3RUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9y
KFZNKiB2bSkKK3sKKyAgICByZXR1cm4gbGlua0ZvclRodW5rR2VuZXJhdG9yKHZtLCBDb2RlRm9y
Q29uc3RydWN0LCBNdXN0UHJlc2VydmVSZWdpc3RlcnMpOworfQorCitzdGF0aWMgTWFjcm9Bc3Nl
bWJsZXJDb2RlUmVmIGxpbmtDbG9zdXJlQ2FsbEZvclRodW5rR2VuZXJhdG9yKAorICAgIFZNKiB2
bSwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlIHJlZ2lzdGVycykKIHsKICAgICBDQ2FsbEhlbHBl
cnMgaml0KHZtKTsKICAgICAKLSAgICBzbG93UGF0aEZvcihqaXQsIHZtLCBvcGVyYXRpb25MaW5r
Q2xvc3VyZUNhbGwpOworICAgIHNsb3dQYXRoRm9yKGppdCwgdm0sIG9wZXJhdGlvbkxpbmtDbG9z
dXJlQ2FsbEZvcihyZWdpc3RlcnMpKTsKICAgICAKICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVy
KCp2bSwgJmppdCwgR0xPQkFMX1RIVU5LX0lEKTsKLSAgICByZXR1cm4gRklOQUxJWkVfQ09ERShw
YXRjaEJ1ZmZlciwgKCJMaW5rIGNsb3N1cmUgY2FsbCBzbG93IHBhdGggdGh1bmsiKSk7CisgICAg
cmV0dXJuIEZJTkFMSVpFX0NPREUocGF0Y2hCdWZmZXIsICgiTGluayBjbG9zdXJlIGNhbGwgJXMg
c2xvdyBwYXRoIHRodW5rIiwgcmVnaXN0ZXJzID09IE11c3RQcmVzZXJ2ZVJlZ2lzdGVycyA/ICIg
dGhhdCBwcmVzZXJ2ZXMgcmVnaXN0ZXJzIiA6ICIiKSk7Cit9CisKKy8vIEZvciBjbG9zdXJlIG9w
dGltaXphdGlvbnMsIHdlIG9ubHkgaW5jbHVkZSBjYWxscywgc2luY2UgaWYgeW91J3JlIHVzaW5n
IGNsb3N1cmVzIGZvcgorLy8gb2JqZWN0IGNvbnN0cnVjdGlvbiB0aGVuIHlvdSdyZSBnb2luZyB0
byBsb3NlIGJpZyB0aW1lIGFueXdheS4KK01hY3JvQXNzZW1ibGVyQ29kZVJlZiBsaW5rQ2xvc3Vy
ZUNhbGxUaHVua0dlbmVyYXRvcihWTSogdm0pCit7CisgICAgcmV0dXJuIGxpbmtDbG9zdXJlQ2Fs
bEZvclRodW5rR2VuZXJhdG9yKHZtLCBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsK
K30KKworTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGxpbmtDbG9zdXJlQ2FsbFRoYXRQcmVzZXJ2ZXNS
ZWdzVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQoreworICAgIHJldHVybiBsaW5rQ2xvc3VyZUNhbGxG
b3JUaHVua0dlbmVyYXRvcih2bSwgTXVzdFByZXNlcnZlUmVnaXN0ZXJzKTsKIH0KIAogc3RhdGlj
IE1hY3JvQXNzZW1ibGVyQ29kZVJlZiB2aXJ0dWFsRm9yVGh1bmtHZW5lcmF0b3IoCi0gICAgVk0q
IHZtLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCisgICAgVk0qIHZtLCBDb2RlU3BlY2lh
bGl6YXRpb25LaW5kIGtpbmQsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZSByZWdpc3RlcnMpCiB7
CiAgICAgLy8gVGhlIGNhbGxlZSBpcyBpbiByZWdUMCAoZm9yIEpTVkFMVUUzMl82NCwgdGhlIHRh
ZyBpcyBpbiByZWdUMSkuCiAgICAgLy8gVGhlIHJldHVybiBhZGRyZXNzIGlzIG9uIHRoZSBzdGFj
aywgb3IgaW4gdGhlIGxpbmsgcmVnaXN0ZXIuIFdlIHdpbGwgaGVuY2UKQEAgLTE2MCwzMyArMTc4
LDM0IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdmlydHVhbEZvclRodW5rR2VuZXJh
dG9yKAogICAgIC8vIHRoZSBERkcga25vd3MgdGhhdCB0aGUgdmFsdWUgaXMgZGVmaW5pdGVseSBh
IGNlbGwsIG9yIGRlZmluaXRlbHkgYSBmdW5jdGlvbi4KICAgICAKICNpZiBVU0UoSlNWQUxVRTY0
KQorICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFRhZ01hc2spLCBHUFJJ
bmZvOjpyZWdUMik7CisgICAgCiAgICAgc2xvd0Nhc2UuYXBwZW5kKAogICAgICAgICBqaXQuYnJh
bmNoVGVzdDY0KAotICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb25aZXJvLCBHUFJJbmZvOjpy
ZWdUMCwgR1BSSW5mbzo6dGFnTWFza1JlZ2lzdGVyKSk7CisgICAgICAgICAgICBDQ2FsbEhlbHBl
cnM6Ok5vblplcm8sIEdQUkluZm86OnJlZ1QwLCBHUFJJbmZvOjpyZWdUMikpOwogI2Vsc2UKICAg
ICBzbG93Q2FzZS5hcHBlbmQoCiAgICAgICAgIGppdC5icmFuY2gzMigKICAgICAgICAgICAgIEND
YWxsSGVscGVyczo6Tm90RXF1YWwsIEdQUkluZm86OnJlZ1QxLAogICAgICAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZykpKTsKICNlbmRpZgotICAgIGpp
dC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMCwgSlNDZWxsOjpz
dHJ1Y3R1cmVPZmZzZXQoKSksIEdQUkluZm86Om5vbkFyZ0dQUjIpOworICAgIGppdC5sb2FkUHRy
KENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMCwgSlNDZWxsOjpzdHJ1Y3R1cmVP
ZmZzZXQoKSksIEdQUkluZm86OnJlZ1QyKTsKICAgICBzbG93Q2FzZS5hcHBlbmQoCiAgICAgICAg
IGppdC5icmFuY2hQdHIoCiAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAg
ICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86Om5vbkFyZ0dQUjIsIFN0cnVj
dHVyZTo6Y2xhc3NJbmZvT2Zmc2V0KCkpLAorICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKEdQUkluZm86OnJlZ1QyLCBTdHJ1Y3R1cmU6OmNsYXNzSW5mb09mZnNldCgpKSwKICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihKU0Z1bmN0aW9uOjppbmZvKCkpKSk7
CiAgICAgCiAgICAgLy8gTm93IHdlIGtub3cgd2UgaGF2ZSBhIEpTRnVuY3Rpb24uCiAgICAgCiAg
ICAgaml0LmxvYWRQdHIoCiAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpy
ZWdUMCwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpLAotICAgICAgICBHUFJJbmZv
Ojpub25BcmdHUFIyKTsKLSAgICBzbG93Q2FzZS5hcHBlbmQoCi0gICAgICAgIGppdC5icmFuY2gz
MigKLSAgICAgICAgICAgIENDYWxsSGVscGVyczo6TGVzc1RoYW4sCi0gICAgICAgICAgICBDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoCi0gICAgICAgICAgICAgICAgR1BSSW5mbzo6bm9uQXJnR1BSMiwg
RXhlY3V0YWJsZUJhc2U6Om9mZnNldE9mTnVtUGFyYW1ldGVyc0ZvcihraW5kKSksCi0gICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMigwKSkpOworICAgICAgICBHUFJJbmZvOjpy
ZWdUMik7CisgICAgaml0LmxvYWRQdHIoCisgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcygK
KyAgICAgICAgICAgIEdQUkluZm86OnJlZ1QyLCBFeGVjdXRhYmxlQmFzZTo6b2Zmc2V0T2ZKSVRD
b2RlV2l0aEFyaXR5Q2hlY2tGb3Ioa2luZCwgcmVnaXN0ZXJzKSksCisgICAgICAgIEdQUkluZm86
OnJlZ1QyKTsKKyAgICBzbG93Q2FzZS5hcHBlbmQoaml0LmJyYW5jaFRlc3RQdHIoQ0NhbGxIZWxw
ZXJzOjpaZXJvLCBHUFJJbmZvOjpyZWdUMikpOwogICAgIAogICAgIC8vIE5vdyB3ZSBrbm93IHRo
YXQgd2UgaGF2ZSBhIENvZGVCbG9jaywgYW5kIHdlJ3JlIGNvbW1pdHRlZCB0byBtYWtpbmcgYSBm
YXN0CiAgICAgLy8gY2FsbC4KQEAgLTE5NSw2MiArMjE0LDYwIEBAIHN0YXRpYyBNYWNyb0Fzc2Vt
YmxlckNvZGVSZWYgdmlydHVhbEZvclRodW5rR2VuZXJhdG9yKAogICAgICAgICBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoR1BSSW5mbzo6cmVnVDAsIEpTRnVuY3Rpb246Om9mZnNldE9mU2NvcGVDaGFp
bigpKSwKICAgICAgICAgR1BSSW5mbzo6cmVnVDEpOwogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAg
aml0LnN0b3JlNjQoCi0gICAgICAgIEdQUkluZm86OnJlZ1QxLAotICAgICAgICBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoCi0gICAgICAgICAgICBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwKLSAg
ICAgICAgICAgIHN0YXRpY19jYXN0PHB0cmRpZmZfdD4oc2l6ZW9mKFJlZ2lzdGVyKSkgKiBKU1N0
YWNrOjpTY29wZUNoYWluKSk7CisgICAgaml0LmVtaXRQdXRUb0NhbGxGcmFtZUhlYWRlckJlZm9y
ZVByb2xvZ3VlKEdQUkluZm86OnJlZ1QxLCBKU1N0YWNrOjpTY29wZUNoYWluKTsKICNlbHNlCi0g
ICAgaml0LnN0b3JlUHRyKAotICAgICAgICBHUFJJbmZvOjpyZWdUMSwKLSAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKAotICAgICAgICAgICAgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIs
Ci0gICAgICAgICAgICBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihSZWdpc3RlcikpICog
SlNTdGFjazo6U2NvcGVDaGFpbiArCi0gICAgICAgICAgICBPQkpFQ1RfT0ZGU0VUT0YoRW5jb2Rl
ZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnBheWxvYWQpKSk7Ci0gICAgaml0LnN0b3JlMzIoCi0g
ICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpLAotICAg
ICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoCi0gICAgICAgICAgICBHUFJJbmZvOjpjYWxsRnJh
bWVSZWdpc3RlciwKLSAgICAgICAgICAgIHN0YXRpY19jYXN0PHB0cmRpZmZfdD4oc2l6ZW9mKFJl
Z2lzdGVyKSkgKiBKU1N0YWNrOjpTY29wZUNoYWluICsKLSAgICAgICAgICAgIE9CSkVDVF9PRkZT
RVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMudGFnKSkpOworICAgIGppdC5lbWl0
UHV0UGF5bG9hZFRvQ2FsbEZyYW1lSGVhZGVyQmVmb3JlUHJvbG9ndWUoR1BSSW5mbzo6cmVnVDEs
IEpTU3RhY2s6OlNjb3BlQ2hhaW4pOworICAgIGppdC5lbWl0UHV0VGFnVG9DYWxsRnJhbWVIZWFk
ZXJCZWZvcmVQcm9sb2d1ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihKU1ZhbHVlOjpDZWxs
VGFnKSwKKyAgICAgICAgSlNTdGFjazo6U2NvcGVDaGFpbik7CiAjZW5kaWYKICAgICAKLSAgICBq
aXQubG9hZFB0cigKLSAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86Om5vbkFy
Z0dQUjIsIEV4ZWN1dGFibGVCYXNlOjpvZmZzZXRPZkpJVENvZGVXaXRoQXJpdHlDaGVja0Zvcihr
aW5kKSksCi0gICAgICAgIEdQUkluZm86OnJlZ1QwKTsKLSAgICAKICAgICAvLyBNYWtlIGEgdGFp
bCBjYWxsLiBUaGlzIHdpbGwgcmV0dXJuIGJhY2sgdG8gSklUIGNvZGUuCi0gICAgZW1pdFBvaW50
ZXJWYWxpZGF0aW9uKGppdCwgR1BSSW5mbzo6cmVnVDApOwotICAgIGppdC5qdW1wKEdQUkluZm86
OnJlZ1QwKTsKKyAgICBlbWl0UG9pbnRlclZhbGlkYXRpb24oaml0LCBHUFJJbmZvOjpyZWdUMik7
CisgICAgaml0Lmp1bXAoR1BSSW5mbzo6cmVnVDIpOwogCiAgICAgc2xvd0Nhc2UubGluaygmaml0
KTsKICAgICAKICAgICAvLyBIZXJlIHdlIGRvbid0IGtub3cgYW55dGhpbmcsIHNvIHJldmVydCB0
byB0aGUgZnVsbCBzbG93IHBhdGguCiAgICAgCi0gICAgc2xvd1BhdGhGb3Ioaml0LCB2bSwga2lu
ZCA9PSBDb2RlRm9yQ2FsbCA/IG9wZXJhdGlvblZpcnR1YWxDYWxsIDogb3BlcmF0aW9uVmlydHVh
bENvbnN0cnVjdCk7CisgICAgc2xvd1BhdGhGb3Ioaml0LCB2bSwgb3BlcmF0aW9uVmlydHVhbEZv
cihraW5kLCByZWdpc3RlcnMpKTsKICAgICAKICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCp2
bSwgJmppdCwgR0xPQkFMX1RIVU5LX0lEKTsKICAgICByZXR1cm4gRklOQUxJWkVfQ09ERSgKICAg
ICAgICAgcGF0Y2hCdWZmZXIsCi0gICAgICAgICgiVmlydHVhbCAlcyBzbG93IHBhdGggdGh1bmsi
LCBraW5kID09IENvZGVGb3JDYWxsID8gImNhbGwiIDogImNvbnN0cnVjdCIpKTsKKyAgICAgICAg
KCJWaXJ0dWFsICVzJXMgc2xvdyBwYXRoIHRodW5rIiwga2luZCA9PSBDb2RlRm9yQ2FsbCA/ICJj
YWxsIiA6ICJjb25zdHJ1Y3QiLCByZWdpc3RlcnMgPT0gTXVzdFByZXNlcnZlUmVnaXN0ZXJzID8g
IiB0aGF0IHByZXNlcnZlcyByZWdpc3RlcnMiIDogIiIpKTsKIH0KIAogTWFjcm9Bc3NlbWJsZXJD
b2RlUmVmIHZpcnR1YWxDYWxsVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQogewotICAgIHJldHVybiB2
aXJ0dWFsRm9yVGh1bmtHZW5lcmF0b3Iodm0sIENvZGVGb3JDYWxsKTsKKyAgICByZXR1cm4gdmly
dHVhbEZvclRodW5rR2VuZXJhdG9yKHZtLCBDb2RlRm9yQ2FsbCwgUmVnaXN0ZXJQcmVzZXJ2YXRp
b25Ob3RSZXF1aXJlZCk7CiB9CiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiB2aXJ0dWFsQ29uc3Ry
dWN0VGh1bmtHZW5lcmF0b3IoVk0qIHZtKQogewotICAgIHJldHVybiB2aXJ0dWFsRm9yVGh1bmtH
ZW5lcmF0b3Iodm0sIENvZGVGb3JDb25zdHJ1Y3QpOworICAgIHJldHVybiB2aXJ0dWFsRm9yVGh1
bmtHZW5lcmF0b3Iodm0sIENvZGVGb3JDb25zdHJ1Y3QsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90
UmVxdWlyZWQpOwogfQogCi1zdGF0aWMgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIG5hdGl2ZUZvckdl
bmVyYXRvcihWTSogdm0sIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkKK01hY3JvQXNzZW1i
bGVyQ29kZVJlZiB2aXJ0dWFsQ2FsbFRoYXRQcmVzZXJ2ZXNSZWdzVGh1bmtHZW5lcmF0b3IoVk0q
IHZtKQoreworICAgIHJldHVybiB2aXJ0dWFsRm9yVGh1bmtHZW5lcmF0b3Iodm0sIENvZGVGb3JD
YWxsLCBNdXN0UHJlc2VydmVSZWdpc3RlcnMpOworfQorCitNYWNyb0Fzc2VtYmxlckNvZGVSZWYg
dmlydHVhbENvbnN0cnVjdFRoYXRQcmVzZXJ2ZXNSZWdzVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQor
eworICAgIHJldHVybiB2aXJ0dWFsRm9yVGh1bmtHZW5lcmF0b3Iodm0sIENvZGVGb3JDb25zdHJ1
Y3QsIE11c3RQcmVzZXJ2ZVJlZ2lzdGVycyk7Cit9CisKK2VudW0gVGh1bmtFbnRyeVR5cGUgeyBF
bnRlclZpYUNhbGwsIEVudGVyVmlhSnVtcCB9OworCitzdGF0aWMgTWFjcm9Bc3NlbWJsZXJDb2Rl
UmVmIG5hdGl2ZUZvckdlbmVyYXRvcihWTSogdm0sIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2lu
ZCwgVGh1bmtFbnRyeVR5cGUgZW50cnlUeXBlID0gRW50ZXJWaWFDYWxsKQogewogICAgIGludCBl
eGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvbiA9IE5hdGl2ZUV4ZWN1dGFibGU6Om9mZnNldE9mTmF0
aXZlRnVuY3Rpb25Gb3Ioa2luZCk7CiAgICAgCiAgICAgSlNJbnRlcmZhY2VKSVQgaml0KHZtKTsK
LSAgICAKKworICAgIGlmIChlbnRyeVR5cGUgPT0gRW50ZXJWaWFDYWxsKQorICAgICAgICBqaXQu
ZW1pdEZ1bmN0aW9uUHJvbG9ndWUoKTsKKwogICAgIGppdC5lbWl0UHV0SW1tZWRpYXRlVG9DYWxs
RnJhbWVIZWFkZXIoMCwgSlNTdGFjazo6Q29kZUJsb2NrKTsKICAgICBqaXQuc3RvcmVQdHIoSlNJ
bnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyLCAmdm0tPnRvcENhbGxGcmFtZSk7CiAKQEAg
LTI2MSwyMiArMjc4LDE4IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbmF0aXZlRm9y
R2VuZXJhdG9yKFZNKiB2bSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBrCiAgICAgaml0LmVtaXRH
ZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEpTU3RhY2s6OlNjb3BlQ2hhaW4sIEpTSW50ZXJmYWNl
SklUOjpyZWdUMSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QwKTsKICAgICBqaXQuZW1pdFB1dENlbGxU
b0NhbGxGcmFtZUhlYWRlcihKU0ludGVyZmFjZUpJVDo6cmVnVDEsIEpTU3RhY2s6OlNjb3BlQ2hh
aW4pOwogCi0gICAgaml0LnBlZWsoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKLSAgICBqaXQuZW1p
dFB1dFJldHVyblBDVG9DYWxsRnJhbWVIZWFkZXIoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKLQog
ICAgIC8vIENhbGxpbmcgY29udmVudGlvbjogICAgICBmKGVjeCwgZWR4LCAuLi4pOwogICAgIC8v
IEhvc3QgZnVuY3Rpb24gc2lnbmF0dXJlOiBmKEV4ZWNTdGF0ZSopOwogICAgIGppdC5tb3ZlKEpT
SW50ZXJmYWNlSklUOjpjYWxsRnJhbWVSZWdpc3RlciwgWDg2UmVnaXN0ZXJzOjplY3gpOwogCi0g
ICAgaml0LnN1YlB0cihKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKDE2IC0gc2l6ZW9mKHZv
aWQqKSksIEpTSW50ZXJmYWNlSklUOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7IC8vIEFsaWduIHN0
YWNrIGFmdGVyIGNhbGwuCisgICAgaml0LnN1YlB0cihKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZElt
bTMyKDgpLCBKU0ludGVyZmFjZUpJVDo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOyAvLyBBbGlnbiBz
dGFjayBhZnRlciBwcm9sb2d1ZS4KIAogICAgIC8vIGNhbGwgdGhlIGZ1bmN0aW9uCiAgICAgaml0
LmVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEpTU3RhY2s6OkNhbGxlZSwgSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1QxKTsKICAgICBqaXQubG9hZFB0cihKU0ludGVyZmFjZUpJVDo6QWRkcmVzcyhK
U0ludGVyZmFjZUpJVDo6cmVnVDEsIEpTRnVuY3Rpb246Om9mZnNldE9mRXhlY3V0YWJsZSgpKSwg
SlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKLSAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6cmVn
VDAsIEpTSW50ZXJmYWNlSklUOjpjYWxsRnJhbWVSZWdpc3Rlcik7IC8vIEVhZ2VybHkgcmVzdG9y
ZSBjYWxsZXIgZnJhbWUgcmVnaXN0ZXIgdG8gYXZvaWQgbG9hZGluZyBmcm9tIHN0YWNrLgogICAg
IGppdC5jYWxsKEpTSW50ZXJmYWNlSklUOjpBZGRyZXNzKEpTSW50ZXJmYWNlSklUOjpyZWdUMSwg
ZXhlY3V0YWJsZU9mZnNldFRvRnVuY3Rpb24pKTsKIAotICAgIGppdC5hZGRQdHIoSlNJbnRlcmZh
Y2VKSVQ6OlRydXN0ZWRJbW0zMigxNiAtIHNpemVvZih2b2lkKikpLCBKU0ludGVyZmFjZUpJVDo6
c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIGppdC5hZGRQdHIoSlNJbnRlcmZhY2VKSVQ6OlRy
dXN0ZWRJbW0zMig4KSwgSlNJbnRlcmZhY2VKSVQ6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKIAog
I2VsaWYgQ1BVKFg4Nl82NCkKICAgICAvLyBMb2FkIGNhbGxlciBmcmFtZSdzIHNjb3BlIGNoYWlu
IGludG8gdGhpcyBjYWxsZnJhbWUgc28gdGhhdCB3aGF0ZXZlciB3ZSBjYWxsIGNhbgpAQCAtMjg0
LDIzICsyOTcsMTUgQEAgc3RhdGljIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBuYXRpdmVGb3JHZW5l
cmF0b3IoVk0qIHZtLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGsKICAgICBqaXQuZW1pdEdldENh
bGxlckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRlclB0cihKU0ludGVyZmFjZUpJVDo6cmVnVDApOwog
ICAgIGppdC5lbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihKU1N0YWNrOjpTY29wZUNoYWlu
LCBKU0ludGVyZmFjZUpJVDo6cmVnVDEsIEpTSW50ZXJmYWNlSklUOjpyZWdUMCk7CiAgICAgaml0
LmVtaXRQdXRDZWxsVG9DYWxsRnJhbWVIZWFkZXIoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxLCBKU1N0
YWNrOjpTY29wZUNoYWluKTsKLQotICAgIGppdC5wZWVrKEpTSW50ZXJmYWNlSklUOjpyZWdUMSk7
Ci0gICAgaml0LmVtaXRQdXRSZXR1cm5QQ1RvQ2FsbEZyYW1lSGVhZGVyKEpTSW50ZXJmYWNlSklU
OjpyZWdUMSk7Ci0KICNpZiAhT1MoV0lORE9XUykKICAgICAvLyBDYWxsaW5nIGNvbnZlbnRpb246
ICAgICAgZihlZGksIGVzaSwgZWR4LCBlY3gsIC4uLik7CiAgICAgLy8gSG9zdCBmdW5jdGlvbiBz
aWduYXR1cmU6IGYoRXhlY1N0YXRlKik7CiAgICAgaml0Lm1vdmUoSlNJbnRlcmZhY2VKSVQ6OmNh
bGxGcmFtZVJlZ2lzdGVyLCBYODZSZWdpc3RlcnM6OmVkaSk7CiAKLSAgICBqaXQuc3ViUHRyKEpT
SW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMTYgLSBzaXplb2YoaW50NjRfdCkpLCBKU0ludGVy
ZmFjZUpJVDo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOyAvLyBBbGlnbiBzdGFjayBhZnRlciBjYWxs
LgotCiAgICAgaml0LmVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEpTU3RhY2s6OkNhbGxl
ZSwgWDg2UmVnaXN0ZXJzOjplc2kpOwogICAgIGppdC5sb2FkUHRyKEpTSW50ZXJmYWNlSklUOjpB
ZGRyZXNzKFg4NlJlZ2lzdGVyczo6ZXNpLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZkV4ZWN1dGFibGUo
KSksIFg4NlJlZ2lzdGVyczo6cjkpOwotICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpyZWdU
MCwgSlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyKTsgLy8gRWFnZXJseSByZXN0b3Jl
IGNhbGxlciBmcmFtZSByZWdpc3RlciB0byBhdm9pZCBsb2FkaW5nIGZyb20gc3RhY2suCiAgICAg
aml0LmNhbGwoSlNJbnRlcmZhY2VKSVQ6OkFkZHJlc3MoWDg2UmVnaXN0ZXJzOjpyOSwgZXhlY3V0
YWJsZU9mZnNldFRvRnVuY3Rpb24pKTsKIAotICAgIGppdC5hZGRQdHIoSlNJbnRlcmZhY2VKSVQ6
OlRydXN0ZWRJbW0zMigxNiAtIHNpemVvZihpbnQ2NF90KSksIEpTSW50ZXJmYWNlSklUOjpzdGFj
a1BvaW50ZXJSZWdpc3Rlcik7CiAjZWxzZQogICAgIC8vIENhbGxpbmcgY29udmVudGlvbjogICAg
ICBmKGVjeCwgZWR4LCByOCwgcjksIC4uLik7CiAgICAgLy8gSG9zdCBmdW5jdGlvbiBzaWduYXR1
cmU6IGYoRXhlY1N0YXRlKik7CkBAIC0zMTEsNyArMzE2LDYgQEAgc3RhdGljIE1hY3JvQXNzZW1i
bGVyQ29kZVJlZiBuYXRpdmVGb3JHZW5lcmF0b3IoVk0qIHZtLCBDb2RlU3BlY2lhbGl6YXRpb25L
aW5kIGsKIAogICAgIGppdC5lbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihKU1N0YWNrOjpD
YWxsZWUsIFg4NlJlZ2lzdGVyczo6ZWR4KTsKICAgICBqaXQubG9hZFB0cihKU0ludGVyZmFjZUpJ
VDo6QWRkcmVzcyhYODZSZWdpc3RlcnM6OmVkeCwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRh
YmxlKCkpLCBYODZSZWdpc3RlcnM6OnI5KTsKLSAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6
cmVnVDAsIEpTSW50ZXJmYWNlSklUOjpjYWxsRnJhbWVSZWdpc3Rlcik7IC8vIEVhZ2VybHkgcmVz
dG9yZSBjYWxsZXIgZnJhbWUgcmVnaXN0ZXIgdG8gYXZvaWQgbG9hZGluZyBmcm9tIHN0YWNrLgog
ICAgIGppdC5jYWxsKEpTSW50ZXJmYWNlSklUOjpBZGRyZXNzKFg4NlJlZ2lzdGVyczo6cjksIGV4
ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uKSk7CiAKICAgICBqaXQuYWRkUHRyKEpTSW50ZXJmYWNl
SklUOjpUcnVzdGVkSW1tMzIoNCAqIHNpemVvZihpbnQ2NF90KSArIDE2IC0gc2l6ZW9mKGludDY0
X3QpKSwgSlNJbnRlcmZhY2VKSVQ6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKQEAgLTMzMCwyOCAr
MzM0LDE4IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbmF0aXZlRm9yR2VuZXJhdG9y
KFZNKiB2bSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBrCiAgICAgaml0LmVtaXRHZXRGcm9tQ2Fs
bEZyYW1lSGVhZGVyUHRyKEpTU3RhY2s6OlNjb3BlQ2hhaW4sIEpTSW50ZXJmYWNlSklUOjpyZWdU
MSwgQVJNNjRSZWdpc3RlcnM6OngzKTsKICAgICBqaXQuZW1pdFB1dENlbGxUb0NhbGxGcmFtZUhl
YWRlcihKU0ludGVyZmFjZUpJVDo6cmVnVDEsIEpTU3RhY2s6OlNjb3BlQ2hhaW4pOwogCi0gICAg
aml0LnByZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVyQ2FsbChKU0ludGVyZmFjZUpJVDo6cmVnVDMp
OyAvLyBDYWxsZWUgcHJlc2VydmVkCi0gICAgaml0LmVtaXRQdXRSZXR1cm5QQ1RvQ2FsbEZyYW1l
SGVhZGVyKEFSTTY0UmVnaXN0ZXJzOjpscik7Ci0KICAgICAvLyBIb3N0IGZ1bmN0aW9uIHNpZ25h
dHVyZTogZihFeGVjU3RhdGUqKTsKICAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6Y2FsbEZy
YW1lUmVnaXN0ZXIsIEFSTTY0UmVnaXN0ZXJzOjp4MCk7CiAKICAgICBqaXQuZW1pdEdldEZyb21D
YWxsRnJhbWVIZWFkZXJQdHIoSlNTdGFjazo6Q2FsbGVlLCBBUk02NFJlZ2lzdGVyczo6eDEpOwog
ICAgIGppdC5sb2FkUHRyKEpTSW50ZXJmYWNlSklUOjpBZGRyZXNzKEFSTTY0UmVnaXN0ZXJzOjp4
MSwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpLCBBUk02NFJlZ2lzdGVyczo6eDIp
OwotICAgIGppdC5tb3ZlKEFSTTY0UmVnaXN0ZXJzOjp4MywgSlNJbnRlcmZhY2VKSVQ6OmNhbGxG
cmFtZVJlZ2lzdGVyKTsgLy8gRWFnZXJseSByZXN0b3JlIGNhbGxlciBmcmFtZSByZWdpc3RlciB0
byBhdm9pZCBsb2FkaW5nIGZyb20gc3RhY2suCiAgICAgaml0LmNhbGwoSlNJbnRlcmZhY2VKSVQ6
OkFkZHJlc3MoQVJNNjRSZWdpc3RlcnM6OngyLCBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvbikp
OwotCi0gICAgaml0LnJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKEpTSW50ZXJmYWNl
SklUOjpyZWdUMyk7Ci0KICNlbGlmIENQVShBUk0pIHx8IENQVShTSDQpIHx8IENQVShNSVBTKQog
ICAgIC8vIExvYWQgY2FsbGVyIGZyYW1lJ3Mgc2NvcGUgY2hhaW4gaW50byB0aGlzIGNhbGxmcmFt
ZSBzbyB0aGF0IHdoYXRldmVyIHdlIGNhbGwgY2FuIGdldCB0byBpdHMgZ2xvYmFsIGRhdGEuCiAg
ICAgaml0LmVtaXRHZXRDYWxsZXJGcmFtZUZyb21DYWxsRnJhbWVIZWFkZXJQdHIoSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1QyKTsKICAgICBqaXQuZW1pdEdldEZyb21DYWxsRnJhbWVIZWFkZXJQdHIoSlNT
dGFjazo6U2NvcGVDaGFpbiwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxLCBKU0ludGVyZmFjZUpJVDo6
cmVnVDIpOwogICAgIGppdC5lbWl0UHV0Q2VsbFRvQ2FsbEZyYW1lSGVhZGVyKEpTSW50ZXJmYWNl
SklUOjpyZWdUMSwgSlNTdGFjazo6U2NvcGVDaGFpbik7CiAKLSAgICBqaXQucHJlc2VydmVSZXR1
cm5BZGRyZXNzQWZ0ZXJDYWxsKEpTSW50ZXJmYWNlSklUOjpyZWdUMyk7IC8vIENhbGxlZSBwcmVz
ZXJ2ZWQKLSAgICBqaXQuZW1pdFB1dFJldHVyblBDVG9DYWxsRnJhbWVIZWFkZXIoSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1QzKTsKLQogI2lmIENQVShNSVBTKQogICAgIC8vIEFsbG9jYXRlIHN0YWNrIHNw
YWNlIGZvciAodW51c2VkKSAxNiBieXRlcyAoOC1ieXRlIGFsaWduZWQpIGZvciA0IGFyZ3VtZW50
cy4KICAgICBqaXQuc3ViUHRyKEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMTYpLCBKU0lu
dGVyZmFjZUpJVDo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOwpAQCAtMzYyLDcgKzM1Niw2IEBAIHN0
YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbmF0aXZlRm9yR2VuZXJhdG9yKFZNKiB2bSwgQ29k
ZVNwZWNpYWxpemF0aW9uS2luZCBrCiAgICAgaml0Lm1vdmUoSlNJbnRlcmZhY2VKSVQ6OmNhbGxG
cmFtZVJlZ2lzdGVyLCBKU0ludGVyZmFjZUpJVDo6YXJndW1lbnRHUFIwKTsKIAogICAgIGppdC5l
bWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihKU1N0YWNrOjpDYWxsZWUsIEpTSW50ZXJmYWNl
SklUOjphcmd1bWVudEdQUjEpOwotICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpyZWdUMiwg
SlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyKTsgLy8gRWFnZXJseSByZXN0b3JlIGNh
bGxlciBmcmFtZSByZWdpc3RlciB0byBhdm9pZCBsb2FkaW5nIGZyb20gc3RhY2suCiAgICAgaml0
LmxvYWRQdHIoSlNJbnRlcmZhY2VKSVQ6OkFkZHJlc3MoSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50
R1BSMSwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpLCBKU0ludGVyZmFjZUpJVDo6
cmVnVDIpOwogICAgIGppdC5jYWxsKEpTSW50ZXJmYWNlSklUOjpBZGRyZXNzKEpTSW50ZXJmYWNl
SklUOjpyZWdUMiwgZXhlY3V0YWJsZU9mZnNldFRvRnVuY3Rpb24pKTsKIApAQCAtMzcwLDggKzM2
Myw2IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbmF0aXZlRm9yR2VuZXJhdG9yKFZN
KiB2bSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBrCiAgICAgLy8gUmVzdG9yZSBzdGFjayBzcGFj
ZQogICAgIGppdC5hZGRQdHIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMigxNiksIEpTSW50
ZXJmYWNlSklUOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAjZW5kaWYKLQotICAgIGppdC5yZXN0
b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybihKU0ludGVyZmFjZUpJVDo6cmVnVDMpOwogI2Vs
c2UKICNlcnJvciAiSklUIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS4iCiAgICAgVU5V
U0VEX1BBUkFNKGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uKTsKQEAgLTM4OSwyNSArMzgwLDIx
IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbmF0aXZlRm9yR2VuZXJhdG9yKFZNKiB2
bSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBrCiAgICAgICAgIEpTSW50ZXJmYWNlSklUOjpUcnVz
dGVkSW1tMzIoSlNWYWx1ZTo6RW1wdHlWYWx1ZVRhZykpOwogI2VuZGlmCiAKKyAgICBqaXQuZW1p
dEZ1bmN0aW9uRXBpbG9ndWUoKTsKICAgICAvLyBSZXR1cm4uCiAgICAgaml0LnJldCgpOwogCiAg
ICAgLy8gSGFuZGxlIGFuIGV4Y2VwdGlvbgogICAgIGV4Y2VwdGlvbkhhbmRsZXIubGluaygmaml0
KTsKIAotICAgIC8vIEdyYWIgdGhlIHJldHVybiBhZGRyZXNzLgotICAgIGppdC5wcmVzZXJ2ZVJl
dHVybkFkZHJlc3NBZnRlckNhbGwoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKLSAgICAKLSAgICBq
aXQubW92ZShKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbVB0cigmdm0tPmV4Y2VwdGlvbkxvY2F0
aW9uKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKTsKLSAgICBqaXQuc3RvcmVQdHIoSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1QxLCBKU0ludGVyZmFjZUpJVDo6cmVnVDIpOwotCiAgICAgaml0LnN0b3JlUHRy
KEpTSW50ZXJmYWNlSklUOjpjYWxsRnJhbWVSZWdpc3RlciwgJnZtLT50b3BDYWxsRnJhbWUpOwog
CiAjaWYgQ1BVKFg4NikgJiYgVVNFKEpTVkFMVUUzMl82NCkKICAgICBqaXQuYWRkUHRyKEpTSW50
ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoLTEyKSwgSlNJbnRlcmZhY2VKSVQ6OnN0YWNrUG9pbnRl
clJlZ2lzdGVyKTsKLSAgICBqaXQucHVzaChKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1lUmVnaXN0
ZXIpOworICAgIGppdC5sb2FkUHRyKEpTSW50ZXJmYWNlSklUOjpBZGRyZXNzKEpTSW50ZXJmYWNl
SklUOjpjYWxsRnJhbWVSZWdpc3RlciksIEpTSW50ZXJmYWNlSklUOjpyZWdUMCk7CisgICAgaml0
LnB1c2goSlNJbnRlcmZhY2VKSVQ6OnJlZ1QwKTsKICNlbHNlCi0gICAgaml0Lm1vdmUoSlNJbnRl
cmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyLCBKU0ludGVyZmFjZUpJVDo6YXJndW1lbnRHUFIw
KTsKKyAgICBqaXQubG9hZFB0cihKU0ludGVyZmFjZUpJVDo6QWRkcmVzcyhKU0ludGVyZmFjZUpJ
VDo6Y2FsbEZyYW1lUmVnaXN0ZXIpLCBKU0ludGVyZmFjZUpJVDo6YXJndW1lbnRHUFIwKTsKICNl
bmRpZgogICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tUHRyKEZ1bmN0aW9u
UHRyKG9wZXJhdGlvblZNSGFuZGxlRXhjZXB0aW9uKS52YWx1ZSgpKSwgSlNJbnRlcmZhY2VKSVQ6
OnJlZ1QzKTsKICAgICBqaXQuY2FsbChKU0ludGVyZmFjZUpJVDo6cmVnVDMpOwpAQCAtNDE4LDcg
KzQwNSw3IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbmF0aXZlRm9yR2VuZXJhdG9y
KFZNKiB2bSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBrCiAgICAgaml0Lmp1bXBUb0V4Y2VwdGlv
bkhhbmRsZXIoKTsKIAogICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIoKnZtLCAmaml0LCBHTE9C
QUxfVEhVTktfSUQpOwotICAgIHJldHVybiBGSU5BTElaRV9DT0RFKHBhdGNoQnVmZmVyLCAoIm5h
dGl2ZSAlcyB0cmFtcG9saW5lIiwgdG9DU3RyaW5nKGtpbmQpLmRhdGEoKSkpOworICAgIHJldHVy
biBGSU5BTElaRV9DT0RFKHBhdGNoQnVmZmVyLCAoIm5hdGl2ZSAlcyVzIHRyYW1wb2xpbmUiLCBl
bnRyeVR5cGUgPT0gRW50ZXJWaWFKdW1wID8gIlRhaWwgIiA6ICIiLCB0b0NTdHJpbmcoa2luZCku
ZGF0YSgpKSk7CiB9CiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBuYXRpdmVDYWxsR2VuZXJhdG9y
KFZNKiB2bSkKQEAgLTQyNiw2ICs0MTMsMTEgQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIG5hdGl2
ZUNhbGxHZW5lcmF0b3IoVk0qIHZtKQogICAgIHJldHVybiBuYXRpdmVGb3JHZW5lcmF0b3Iodm0s
IENvZGVGb3JDYWxsKTsKIH0KIAorTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIG5hdGl2ZVRhaWxDYWxs
R2VuZXJhdG9yKFZNKiB2bSkKK3sKKyAgICByZXR1cm4gbmF0aXZlRm9yR2VuZXJhdG9yKHZtLCBD
b2RlRm9yQ2FsbCwgRW50ZXJWaWFKdW1wKTsKK30KKwogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIG5h
dGl2ZUNvbnN0cnVjdEdlbmVyYXRvcihWTSogdm0pCiB7CiAgICAgcmV0dXJuIG5hdGl2ZUZvckdl
bmVyYXRvcih2bSwgQ29kZUZvckNvbnN0cnVjdCk7CkBAIC00MzUsMTQgKzQyNywxNiBAQCBNYWNy
b0Fzc2VtYmxlckNvZGVSZWYgYXJpdHlGaXh1cChWTSogdm0pCiB7CiAgICAgSlNJbnRlcmZhY2VK
SVQgaml0KHZtKTsKIAotICAgIC8vIFdlIGVudGVyIHdpdGggZml4dXAgY291bnQgaW4gcmVnVDAK
KyAgICAvLyBXZSBlbnRlciB3aXRoIGZpeHVwIGNvdW50LCBpbiBhbGlnbmVkIHN0YWNrIHVuaXRz
LCBpbiByZWdUMCBhbmQgdGhlIHJldHVybiB0aHVuayBpbgorICAgIC8vIHJlZ1Q1LiBXZSB1c2Ug
Vk06OmN1cnJlbnRSZXR1cm5UaHVua1BDIGluc3RlYWQgb2YgcmVnVDUgb24gWDg2LTMyLgogI2lm
IFVTRShKU1ZBTFVFNjQpCiAjICBpZiBDUFUoWDg2XzY0KQogICAgIGppdC5wb3AoSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1Q0KTsKICMgIGVuZGlmCisgICAgaml0LmxzaGlmdDMyKEpTSW50ZXJmYWNlSklU
OjpUcnVzdGVkSW1tMzIobG9nU3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSksIEpTSW50ZXJmYWNl
SklUOjpyZWdUMCk7CiAgICAgaml0Lm5lZzY0KEpTSW50ZXJmYWNlSklUOjpyZWdUMCk7CiAgICAg
aml0Lm1vdmUoSlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyLCBKU0ludGVyZmFjZUpJ
VDo6cmVnVDMpOwotICAgIGppdC5sb2FkMzIoSlNJbnRlcmZhY2VKSVQ6OkFkZHJlc3MoSlNJbnRl
cmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyLCBKU1N0YWNrOjpBcmd1bWVudENvdW50ICogOCks
IEpTSW50ZXJmYWNlSklUOjpyZWdUMik7CisgICAgaml0LmxvYWQzMihKU0ludGVyZmFjZUpJVDo6
QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1lUmVnaXN0ZXIsIEpTU3RhY2s6OkFyZ3Vt
ZW50Q291bnQgKiBzaXplb2YoUmVnaXN0ZXIpKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKTsKICAg
ICBqaXQuYWRkMzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMihKU1N0YWNrOjpDYWxsRnJh
bWVIZWFkZXJTaXplKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKTsKIAogICAgIC8vIE1vdmUgY3Vy
cmVudCBmcmFtZSBkb3duIHJlZ1QwIG51bWJlciBvZiBzbG90cwpAQCAtNDUyLDE3ICs0NDYsMjcg
QEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGFyaXR5Rml4dXAoVk0qIHZtKQogICAgIGppdC5hZGRQ
dHIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMig4KSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1Qz
KTsKICAgICBqaXQuYnJhbmNoU3ViMzIoTWFjcm9Bc3NlbWJsZXI6Ok5vblplcm8sIEpTSW50ZXJm
YWNlSklUOjpUcnVzdGVkSW1tMzIoMSksIEpTSW50ZXJmYWNlSklUOjpyZWdUMikubGlua1RvKGNv
cHlMb29wLCAmaml0KTsKIAotICAgIC8vIEZpbGwgaW4gcmVnVDAgbWlzc2luZyBhcmcgc2xvdHMg
d2l0aCB1bmRlZmluZWQKKyAgICAvLyBGaWxsIGluIHJlZ1QwIC0gMSBtaXNzaW5nIGFyZyBzbG90
cyB3aXRoIHVuZGVmaW5lZAogICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpyZWdUMCwgSlNJ
bnRlcmZhY2VKSVQ6OnJlZ1QyKTsKICAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6VHJ1c3Rl
ZEltbTY0KFZhbHVlVW5kZWZpbmVkKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKKyAgICBqaXQu
YWRkMzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMigxKSwgSlNJbnRlcmZhY2VKSVQ6OnJl
Z1QyKTsKICAgICBKU0ludGVyZmFjZUpJVDo6TGFiZWwgZmlsbFVuZGVmaW5lZExvb3Aoaml0Lmxh
YmVsKCkpOwogICAgIGppdC5zdG9yZTY0KEpTSW50ZXJmYWNlSklUOjpyZWdUMSwgTWFjcm9Bc3Nl
bWJsZXI6OkJhc2VJbmRleChKU0ludGVyZmFjZUpJVDo6cmVnVDMsIEpTSW50ZXJmYWNlSklUOjpy
ZWdUMCwgSlNJbnRlcmZhY2VKSVQ6OlRpbWVzRWlnaHQpKTsKICAgICBqaXQuYWRkUHRyKEpTSW50
ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoOCksIEpTSW50ZXJmYWNlSklUOjpyZWdUMyk7CiAgICAg
aml0LmJyYW5jaEFkZDMyKE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCBKU0ludGVyZmFjZUpJVDo6
VHJ1c3RlZEltbTMyKDEpLCBKU0ludGVyZmFjZUpJVDo6cmVnVDIpLmxpbmtUbyhmaWxsVW5kZWZp
bmVkTG9vcCwgJmppdCk7Ci0KLSAgICAvLyBBZGp1c3QgY2FsbCBmcmFtZSByZWdpc3RlciB0byBh
Y2NvdW50IGZvciBtaXNzaW5nIGFyZ3MKLSAgICBqaXQubHNoaWZ0NjQoSlNJbnRlcmZhY2VKSVQ6
OlRydXN0ZWRJbW0zMigzKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QwKTsKLSAgICBqaXQuYWRkUHRy
KEpTSW50ZXJmYWNlSklUOjpyZWdUMCwgSlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVy
KTsKKyAgICAKKyAgICAvLyBBZGp1c3QgY2FsbCBmcmFtZSByZWdpc3RlciBhbmQgc3RhY2sgcG9p
bnRlciB0byBhY2NvdW50IGZvciBtaXNzaW5nIGFyZ3MKKyAgICBqaXQubW92ZShKU0ludGVyZmFj
ZUpJVDo6cmVnVDAsIEpTSW50ZXJmYWNlSklUOjpyZWdUMSk7CisgICAgaml0LmxzaGlmdDY0KEpT
SW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMyksIEpTSW50ZXJmYWNlSklUOjpyZWdUMSk7Cisg
ICAgaml0LmFkZFB0cihKU0ludGVyZmFjZUpJVDo6cmVnVDEsIEpTSW50ZXJmYWNlSklUOjpjYWxs
RnJhbWVSZWdpc3Rlcik7CisgICAgaml0LmFkZFB0cihKU0ludGVyZmFjZUpJVDo6cmVnVDEsIEpT
SW50ZXJmYWNlSklUOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisKKyAgICAvLyBTYXZlIHRoZSBv
cmlnaW5hbCByZXR1cm4gUEMuCisgICAgaml0LmxvYWRQdHIoSlNJbnRlcmZhY2VKSVQ6OkFkZHJl
c3MoSlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyLCBDYWxsRnJhbWU6OnJldHVyblBD
T2Zmc2V0KCkpLCBHUFJJbmZvOjpyZWdUMSk7CisgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OnJl
Z1QxLCBNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KEpTSW50ZXJmYWNlSklUOjpyZWdUMywgSlNJ
bnRlcmZhY2VKSVQ6OnJlZ1QwLCBKU0ludGVyZmFjZUpJVDo6VGltZXNFaWdodCkpOworICAgIAor
ICAgIC8vIEluc3RhbGwgdGhlIG5ldyByZXR1cm4gUEMuCisgICAgaml0LnN0b3JlUHRyKEdQUklu
Zm86OnJlZ1Q1LCBKU0ludGVyZmFjZUpJVDo6QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6Y2FsbEZy
YW1lUmVnaXN0ZXIsIENhbGxGcmFtZTo6cmV0dXJuUENPZmZzZXQoKSkpOwogCiAjICBpZiBDUFUo
WDg2XzY0KQogICAgIGppdC5wdXNoKEpTSW50ZXJmYWNlSklUOjpyZWdUNCk7CkBAIC00NzIsOSAr
NDc2LDEwIEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBhcml0eUZpeHVwKFZNKiB2bSkKICMgIGlm
IENQVShYODYpCiAgICAgaml0LnBvcChKU0ludGVyZmFjZUpJVDo6cmVnVDQpOwogIyAgZW5kaWYK
KyAgICBqaXQubHNoaWZ0MzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMihsb2dTdGFja0Fs
aWdubWVudFJlZ2lzdGVycygpKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QwKTsKICAgICBqaXQubmVn
MzIoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QwKTsKICAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6
Y2FsbEZyYW1lUmVnaXN0ZXIsIEpTSW50ZXJmYWNlSklUOjpyZWdUMyk7Ci0gICAgaml0LmxvYWQz
MihKU0ludGVyZmFjZUpJVDo6QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1lUmVnaXN0
ZXIsIEpTU3RhY2s6OkFyZ3VtZW50Q291bnQgKiA4KSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKTsK
KyAgICBqaXQubG9hZDMyKEpTSW50ZXJmYWNlSklUOjpBZGRyZXNzKEpTSW50ZXJmYWNlSklUOjpj
YWxsRnJhbWVSZWdpc3RlciwgSlNTdGFjazo6QXJndW1lbnRDb3VudCAqIHNpemVvZihSZWdpc3Rl
cikpLCBKU0ludGVyZmFjZUpJVDo6cmVnVDIpOwogICAgIGppdC5hZGQzMihKU0ludGVyZmFjZUpJ
VDo6VHJ1c3RlZEltbTMyKEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUpLCBKU0ludGVyZmFj
ZUpJVDo6cmVnVDIpOwogCiAgICAgLy8gTW92ZSBjdXJyZW50IGZyYW1lIGRvd24gcmVnVDAgbnVt
YmVyIG9mIHNsb3RzCkBAIC00ODYsOCArNDkxLDkgQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGFy
aXR5Rml4dXAoVk0qIHZtKQogICAgIGppdC5hZGRQdHIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJ
bW0zMig4KSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QzKTsKICAgICBqaXQuYnJhbmNoU3ViMzIoTWFj
cm9Bc3NlbWJsZXI6Ok5vblplcm8sIEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMSksIEpT
SW50ZXJmYWNlSklUOjpyZWdUMikubGlua1RvKGNvcHlMb29wLCAmaml0KTsKIAotICAgIC8vIEZp
bGwgaW4gcmVnVDAgbWlzc2luZyBhcmcgc2xvdHMgd2l0aCB1bmRlZmluZWQKKyAgICAvLyBGaWxs
IGluIHJlZ1QwIC0gMSBtaXNzaW5nIGFyZyBzbG90cyB3aXRoIHVuZGVmaW5lZAogICAgIGppdC5t
b3ZlKEpTSW50ZXJmYWNlSklUOjpyZWdUMCwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKTsKKyAgICBq
aXQuYWRkMzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMigxKSwgSlNJbnRlcmZhY2VKSVQ6
OnJlZ1QyKTsKICAgICBKU0ludGVyZmFjZUpJVDo6TGFiZWwgZmlsbFVuZGVmaW5lZExvb3Aoaml0
LmxhYmVsKCkpOwogICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMCks
IEpTSW50ZXJmYWNlSklUOjpyZWdUMSk7CiAgICAgaml0LnN0b3JlMzIoSlNJbnRlcmZhY2VKSVQ6
OnJlZ1QxLCBNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KEpTSW50ZXJmYWNlSklUOjpyZWdUMywg
SlNJbnRlcmZhY2VKSVQ6OnJlZ1QwLCBKU0ludGVyZmFjZUpJVDo6VGltZXNFaWdodCkpOwpAQCAt
NDk3LDEwICs1MDMsMjUgQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGFyaXR5Rml4dXAoVk0qIHZt
KQogICAgIGppdC5hZGRQdHIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMig4KSwgSlNJbnRl
cmZhY2VKSVQ6OnJlZ1QzKTsKICAgICBqaXQuYnJhbmNoQWRkMzIoTWFjcm9Bc3NlbWJsZXI6Ok5v
blplcm8sIEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMSksIEpTSW50ZXJmYWNlSklUOjpy
ZWdUMikubGlua1RvKGZpbGxVbmRlZmluZWRMb29wLCAmaml0KTsKIAotICAgIC8vIEFkanVzdCBj
YWxsIGZyYW1lIHJlZ2lzdGVyIHRvIGFjY291bnQgZm9yIG1pc3NpbmcgYXJncwotICAgIGppdC5s
c2hpZnQzMihKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKDMpLCBKU0ludGVyZmFjZUpJVDo6
cmVnVDApOwotICAgIGppdC5hZGRQdHIoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QwLCBKU0ludGVyZmFj
ZUpJVDo6Y2FsbEZyYW1lUmVnaXN0ZXIpOworICAgIC8vIEFkanVzdCBjYWxsIGZyYW1lIHJlZ2lz
dGVyIGFuZCBzdGFjayBwb2ludGVyIHRvIGFjY291bnQgZm9yIG1pc3NpbmcgYXJncworICAgIGpp
dC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpyZWdUMCwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKKyAg
ICBqaXQubHNoaWZ0MzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMigzKSwgSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1QxKTsKKyAgICBqaXQuYWRkUHRyKEpTSW50ZXJmYWNlSklUOjpyZWdUMSwgSlNJ
bnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyKTsKKyAgICBqaXQuYWRkUHRyKEpTSW50ZXJm
YWNlSklUOjpyZWdUMSwgSlNJbnRlcmZhY2VKSVQ6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKIAor
ICAgIC8vIFNhdmUgdGhlIG9yaWdpbmFsIHJldHVybiBQQy4KKyAgICBqaXQubG9hZFB0cihKU0lu
dGVyZmFjZUpJVDo6QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1lUmVnaXN0ZXIsIENh
bGxGcmFtZTo6cmV0dXJuUENPZmZzZXQoKSksIEdQUkluZm86OnJlZ1QxKTsKKyAgICBqaXQuc3Rv
cmVQdHIoR1BSSW5mbzo6cmVnVDEsIE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgoSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1QzLCBKU0ludGVyZmFjZUpJVDo6cmVnVDAsIEpTSW50ZXJmYWNlSklUOjpUaW1l
c0VpZ2h0KSk7CisgICAgCisgICAgLy8gSW5zdGFsbCB0aGUgbmV3IHJldHVybiBQQy4KKyAgICAv
LyBGSVhNRTogSSBkb24ndCB0aGluayBjdXJyZW50UmV0dXJuVGh1bmtQQyBpcyB1c2VkIGFuZCBz
aG91bGQgYmUgZGVsZXRlZC4KKyMgIGlmIDAKKyAgICBqaXQubG9hZFB0cigmdm0tPmN1cnJlbnRS
ZXR1cm5UaHVua1BDLCBHUFJJbmZvOjpyZWdUMik7CisgICAgaml0LnN0b3JlUHRyKEdQUkluZm86
OnJlZ1QyLCBKU0ludGVyZmFjZUpJVDo6QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1l
UmVnaXN0ZXIsIENhbGxGcmFtZTo6cmV0dXJuUENPZmZzZXQoKSkpOworIyAgIGVsc2UKKyAgICBq
aXQuc3RvcmVQdHIoR1BSSW5mbzo6cmVnVDUsIEpTSW50ZXJmYWNlSklUOjpBZGRyZXNzKEpTSW50
ZXJmYWNlSklUOjpjYWxsRnJhbWVSZWdpc3RlciwgQ2FsbEZyYW1lOjpyZXR1cm5QQ09mZnNldCgp
KSk7CisjICAgZW5kaWYKKyAgICAKICMgIGlmIENQVShYODYpCiAgICAgaml0LnB1c2goSlNJbnRl
cmZhY2VKSVQ6OnJlZ1Q0KTsKICMgIGVuZGlmCkBAIC01NTQsNyArNTc1LDcgQEAgTWFjcm9Bc3Nl
bWJsZXJDb2RlUmVmIGNoYXJDb2RlQXRUaHVua0dlbmVyYXRvcihWTSogdm0pCiAgICAgU3BlY2lh
bGl6ZWRUaHVua0pJVCBqaXQodm0sIDEpOwogICAgIHN0cmluZ0NoYXJMb2FkKGppdCwgdm0pOwog
ICAgIGppdC5yZXR1cm5JbnQzMihTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMCk7Ci0gICAgcmV0
dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMtPmN0aU5hdGl2ZUNhbGwodm0pLCAiY2hhckNv
ZGVBdCIpOworICAgIHJldHVybiBqaXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVU
YWlsQ2FsbCh2bSksICJjaGFyQ29kZUF0Iik7CiB9CiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBj
aGFyQXRUaHVua0dlbmVyYXRvcihWTSogdm0pCkBAIC01NjMsNyArNTg0LDcgQEAgTWFjcm9Bc3Nl
bWJsZXJDb2RlUmVmIGNoYXJBdFRodW5rR2VuZXJhdG9yKFZNKiB2bSkKICAgICBzdHJpbmdDaGFy
TG9hZChqaXQsIHZtKTsKICAgICBjaGFyVG9TdHJpbmcoaml0LCB2bSwgU3BlY2lhbGl6ZWRUaHVu
a0pJVDo6cmVnVDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1QwLCBTcGVjaWFsaXplZFRodW5r
SklUOjpyZWdUMSk7CiAgICAgaml0LnJldHVybkpTQ2VsbChTcGVjaWFsaXplZFRodW5rSklUOjpy
ZWdUMCk7Ci0gICAgcmV0dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMtPmN0aU5hdGl2ZUNh
bGwodm0pLCAiY2hhckF0Iik7CisgICAgcmV0dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMt
PmN0aU5hdGl2ZVRhaWxDYWxsKHZtKSwgImNoYXJBdCIpOwogfQogCiBNYWNyb0Fzc2VtYmxlckNv
ZGVSZWYgZnJvbUNoYXJDb2RlVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQpAQCAtNTczLDcgKzU5NCw3
IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBmcm9tQ2hhckNvZGVUaHVua0dlbmVyYXRvcihWTSog
dm0pCiAgICAgaml0LmxvYWRJbnQzMkFyZ3VtZW50KDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJl
Z1QwKTsKICAgICBjaGFyVG9TdHJpbmcoaml0LCB2bSwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVn
VDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1QwLCBTcGVjaWFsaXplZFRodW5rSklUOjpyZWdU
MSk7CiAgICAgaml0LnJldHVybkpTQ2VsbChTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMCk7Ci0g
ICAgcmV0dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMtPmN0aU5hdGl2ZUNhbGwodm0pLCAi
ZnJvbUNoYXJDb2RlIik7CisgICAgcmV0dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMtPmN0
aU5hdGl2ZVRhaWxDYWxsKHZtKSwgImZyb21DaGFyQ29kZSIpOwogfQogCiBNYWNyb0Fzc2VtYmxl
ckNvZGVSZWYgc3FydFRodW5rR2VuZXJhdG9yKFZNKiB2bSkKQEAgLTU4NSw3ICs2MDYsNyBAQCBN
YWNyb0Fzc2VtYmxlckNvZGVSZWYgc3FydFRodW5rR2VuZXJhdG9yKFZNKiB2bSkKICAgICBqaXQu
bG9hZERvdWJsZUFyZ3VtZW50KDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDAsIFNwZWNp
YWxpemVkVGh1bmtKSVQ6OnJlZ1QwKTsKICAgICBqaXQuc3FydERvdWJsZShTcGVjaWFsaXplZFRo
dW5rSklUOjpmcFJlZ1QwLCBTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1QwKTsKICAgICBqaXQu
cmV0dXJuRG91YmxlKFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDApOwotICAgIHJldHVybiBq
aXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVDYWxsKHZtKSwgInNxcnQiKTsKKyAg
ICByZXR1cm4gaml0LmZpbmFsaXplKHZtLT5qaXRTdHVicy0+Y3RpTmF0aXZlVGFpbENhbGwodm0p
LCAic3FydCIpOwogfQogCiAKQEAgLTYxMSw3ICs2MzIsOSBAQCBkb3VibGUganNSb3VuZChkb3Vi
bGUgZCkKICAgICAgICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZnVuY3Rpb24jI1RodW5rKSAi
XG4iIFwKICAgICAgICAgSElERV9TWU1CT0woZnVuY3Rpb24jI1RodW5rKSAiXG4iIFwKICAgICAg
ICAgU1lNQk9MX1NUUklORyhmdW5jdGlvbiMjVGh1bmspICI6IiAiXG4iIFwKKyAgICAgICAgInB1
c2hxICVyYXhcbiIgXAogICAgICAgICAiY2FsbCAiIEdMT0JBTF9SRUZFUkVOQ0UoZnVuY3Rpb24p
ICJcbiIgXAorICAgICAgICAicG9wcSAlcmN4XG4iIFwKICAgICAgICAgInJldFxuIiBcCiAgICAg
KTtcCiAgICAgZXh0ZXJuICJDIiB7IFwKQEAgLTYyNiwxMiArNjQ5LDEyIEBAIGRvdWJsZSBqc1Jv
dW5kKGRvdWJsZSBkKQogICAgICAgICAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhmdW5jdGlvbiMj
VGh1bmspICJcbiIgXAogICAgICAgICBISURFX1NZTUJPTChmdW5jdGlvbiMjVGh1bmspICJcbiIg
XAogICAgICAgICBTWU1CT0xfU1RSSU5HKGZ1bmN0aW9uIyNUaHVuaykgIjoiICJcbiIgXAotICAg
ICAgICAic3VibCAkOCwgJWVzcFxuIiBcCisgICAgICAgICJzdWJsICQyMCwgJWVzcFxuIiBcCiAg
ICAgICAgICJtb3ZzZCAleG1tMCwgKCVlc3ApIFxuIiBcCiAgICAgICAgICJjYWxsICIgR0xPQkFM
X1JFRkVSRU5DRShmdW5jdGlvbikgIlxuIiBcCiAgICAgICAgICJmc3RwbCAoJWVzcCkgXG4iIFwK
ICAgICAgICAgIm1vdnNkICglZXNwKSwgJXhtbTAgXG4iIFwKLSAgICAgICAgImFkZGwgJDgsICVl
c3BcbiIgXAorICAgICAgICAiYWRkbCAkMjAsICVlc3BcbiIgXAogICAgICAgICAicmV0XG4iIFwK
ICAgICApO1wKICAgICBleHRlcm4gIkMiIHsgXApAQCAtNzMzLDcgKzc1Niw3IEBAIE1hY3JvQXNz
ZW1ibGVyQ29kZVJlZiBmbG9vclRodW5rR2VuZXJhdG9yKFZNKiB2bSkKICAgICBkb3VibGVSZXN1
bHQubGluaygmaml0KTsKICAgICBqaXQucmV0dXJuRG91YmxlKFNwZWNpYWxpemVkVGh1bmtKSVQ6
OmZwUmVnVDApOwogI2VuZGlmIC8vIENQVShBUk02NCkKLSAgICByZXR1cm4gaml0LmZpbmFsaXpl
KHZtLT5qaXRTdHVicy0+Y3RpTmF0aXZlQ2FsbCh2bSksICJmbG9vciIpOworICAgIHJldHVybiBq
aXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVUYWlsQ2FsbCh2bSksICJmbG9vciIp
OwogfQogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgY2VpbFRodW5rR2VuZXJhdG9yKFZNKiB2bSkK
QEAgLTc1Niw3ICs3NzksNyBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgY2VpbFRodW5rR2VuZXJh
dG9yKFZNKiB2bSkKICAgICBqaXQucmV0dXJuSW50MzIoU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVn
VDApOwogICAgIGRvdWJsZVJlc3VsdC5saW5rKCZqaXQpOwogICAgIGppdC5yZXR1cm5Eb3VibGUo
U3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdUMCk7Ci0gICAgcmV0dXJuIGppdC5maW5hbGl6ZSh2
bS0+aml0U3R1YnMtPmN0aU5hdGl2ZUNhbGwodm0pLCAiY2VpbCIpOworICAgIHJldHVybiBqaXQu
ZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVUYWlsQ2FsbCh2bSksICJjZWlsIik7CiB9
CiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiByb3VuZFRodW5rR2VuZXJhdG9yKFZNKiB2bSkKQEAg
LTc5MCw3ICs4MTMsNyBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgcm91bmRUaHVua0dlbmVyYXRv
cihWTSogdm0pCiAgICAgaml0LnJldHVybkludDMyKFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1Qw
KTsKICAgICBkb3VibGVSZXN1bHQubGluaygmaml0KTsKICAgICBqaXQucmV0dXJuRG91YmxlKFNw
ZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDApOwotICAgIHJldHVybiBqaXQuZmluYWxpemUodm0t
PmppdFN0dWJzLT5jdGlOYXRpdmVDYWxsKHZtKSwgInJvdW5kIik7CisgICAgcmV0dXJuIGppdC5m
aW5hbGl6ZSh2bS0+aml0U3R1YnMtPmN0aU5hdGl2ZVRhaWxDYWxsKHZtKSwgInJvdW5kIik7CiB9
CiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBleHBUaHVua0dlbmVyYXRvcihWTSogdm0pCkBAIC04
MDMsNyArODI2LDcgQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGV4cFRodW5rR2VuZXJhdG9yKFZN
KiB2bSkKICAgICBqaXQubG9hZERvdWJsZUFyZ3VtZW50KDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6
OmZwUmVnVDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1QwKTsKICAgICBqaXQuY2FsbERvdWJs
ZVRvRG91YmxlUHJlc2VydmluZ1JldHVybihVbmFyeURvdWJsZU9wV3JhcHBlcihleHApKTsKICAg
ICBqaXQucmV0dXJuRG91YmxlKFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDApOwotICAgIHJl
dHVybiBqaXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVDYWxsKHZtKSwgImV4cCIp
OworICAgIHJldHVybiBqaXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVUYWlsQ2Fs
bCh2bSksICJleHAiKTsKIH0KIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGxvZ1RodW5rR2VuZXJh
dG9yKFZNKiB2bSkKQEAgLTgxNiw3ICs4MzksNyBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbG9n
VGh1bmtHZW5lcmF0b3IoVk0qIHZtKQogICAgIGppdC5sb2FkRG91YmxlQXJndW1lbnQoMCwgU3Bl
Y2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdUMCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDApOwog
ICAgIGppdC5jYWxsRG91YmxlVG9Eb3VibGVQcmVzZXJ2aW5nUmV0dXJuKFVuYXJ5RG91YmxlT3BX
cmFwcGVyKGxvZykpOwogICAgIGppdC5yZXR1cm5Eb3VibGUoU3BlY2lhbGl6ZWRUaHVua0pJVDo6
ZnBSZWdUMCk7Ci0gICAgcmV0dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMtPmN0aU5hdGl2
ZUNhbGwodm0pLCAibG9nIik7CisgICAgcmV0dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMt
PmN0aU5hdGl2ZVRhaWxDYWxsKHZtKSwgImxvZyIpOwogfQogCiBNYWNyb0Fzc2VtYmxlckNvZGVS
ZWYgYWJzVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQpAQCAtODM2LDcgKzg1OSw3IEBAIE1hY3JvQXNz
ZW1ibGVyQ29kZVJlZiBhYnNUaHVua0dlbmVyYXRvcihWTSogdm0pCiAgICAgaml0LmxvYWREb3Vi
bGVBcmd1bWVudCgwLCBTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1QwLCBTcGVjaWFsaXplZFRo
dW5rSklUOjpyZWdUMCk7CiAgICAgaml0LmFic0RvdWJsZShTcGVjaWFsaXplZFRodW5rSklUOjpm
cFJlZ1QwLCBTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1QxKTsKICAgICBqaXQucmV0dXJuRG91
YmxlKFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDEpOwotICAgIHJldHVybiBqaXQuZmluYWxp
emUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVDYWxsKHZtKSwgImFicyIpOworICAgIHJldHVybiBq
aXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVUYWlsQ2FsbCh2bSksICJhYnMiKTsK
IH0KIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHBvd1RodW5rR2VuZXJhdG9yKFZNKiB2bSkKQEAg
LTg4OCw3ICs5MTEsNyBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgcG93VGh1bmtHZW5lcmF0b3Io
Vk0qIHZtKQogICAgIH0gZWxzZQogICAgICAgICBqaXQuYXBwZW5kRmFpbHVyZShub25JbnRFeHBv
bmVudCk7CiAKLSAgICByZXR1cm4gaml0LmZpbmFsaXplKHZtLT5qaXRTdHVicy0+Y3RpTmF0aXZl
Q2FsbCh2bSksICJwb3ciKTsKKyAgICByZXR1cm4gaml0LmZpbmFsaXplKHZtLT5qaXRTdHVicy0+
Y3RpTmF0aXZlVGFpbENhbGwodm0pLCAicG93Iik7CiB9CiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJl
ZiBpbXVsVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQpAQCAtOTIxLDcgKzk0NCw3IEBAIE1hY3JvQXNz
ZW1ibGVyQ29kZVJlZiBpbXVsVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQogICAgIH0gZWxzZQogICAg
ICAgICBqaXQuYXBwZW5kRmFpbHVyZShub25JbnRBcmcxSnVtcCk7CiAKLSAgICByZXR1cm4gaml0
LmZpbmFsaXplKHZtLT5qaXRTdHVicy0+Y3RpTmF0aXZlQ2FsbCh2bSksICJpbXVsIik7CisgICAg
cmV0dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMtPmN0aU5hdGl2ZVRhaWxDYWxsKHZtKSwg
ImltdWwiKTsKIH0KIAogc3RhdGljIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBhcnJheUl0ZXJhdG9y
TmV4dFRodW5rR2VuZXJhdG9yKFZNKiB2bSwgQXJyYXlJdGVyYXRpb25LaW5kIGtpbmQpCkBAIC05
NjEsNyArOTg0LDcgQEAgc3RhdGljIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBhcnJheUl0ZXJhdG9y
TmV4dFRodW5rR2VuZXJhdG9yKFZNKiB2bSwgQXJyYXlJdGVyYXQKICAgICBpZiAoa2luZCA9PSBB
cnJheUl0ZXJhdGVLZXkpIHsKICAgICAgICAgaml0LmFkZDMyKFRydXN0ZWRJbW0zMigxKSwgQWRk
cmVzcyhTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUNCwgSlNBcnJheUl0ZXJhdG9yOjpvZmZzZXRP
Zk5leHRJbmRleCgpKSk7CiAgICAgICAgIGppdC5yZXR1cm5JbnQzMihTcGVjaWFsaXplZFRodW5r
SklUOjpyZWdUMSk7Ci0gICAgICAgIHJldHVybiBqaXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5j
dGlOYXRpdmVDYWxsKHZtKSwgImFycmF5LWl0ZXJhdG9yLW5leHQta2V5Iik7CisgICAgICAgIHJl
dHVybiBqaXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVUYWlsQ2FsbCh2bSksICJh
cnJheS1pdGVyYXRvci1uZXh0LWtleSIpOwogICAgICAgICAKICAgICB9CiAgICAgQVNTRVJUKGtp
bmQgPT0gQXJyYXlJdGVyYXRlVmFsdWUpOwpAQCAtMTAxMiw3ICsxMDM1LDcgQEAgc3RhdGljIE1h
Y3JvQXNzZW1ibGVyQ29kZVJlZiBhcnJheUl0ZXJhdG9yTmV4dFRodW5rR2VuZXJhdG9yKFZNKiB2
bSwgQXJyYXlJdGVyYXQKICAgICBqaXQuYWRkMzIoVHJ1c3RlZEltbTMyKDEpLCBBZGRyZXNzKFNw
ZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1Q0LCBKU0FycmF5SXRlcmF0b3I6Om9mZnNldE9mTmV4dElu
ZGV4KCkpKTsKICAgICBqaXQucmV0dXJuRG91YmxlKFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVn
VDApOwogICAgIAotICAgIHJldHVybiBqaXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRp
dmVDYWxsKHZtKSwgImFycmF5LWl0ZXJhdG9yLW5leHQtdmFsdWUiKTsKKyAgICByZXR1cm4gaml0
LmZpbmFsaXplKHZtLT5qaXRTdHVicy0+Y3RpTmF0aXZlVGFpbENhbGwodm0pLCAiYXJyYXktaXRl
cmF0b3ItbmV4dC12YWx1ZSIpOwogfQogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgYXJyYXlJdGVy
YXRvck5leHRLZXlUaHVua0dlbmVyYXRvcihWTSogdm0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9UaHVua0dlbmVyYXRvcnMuaAppbmRleCAwZTI3NjI4OTA4YzJmNzE2ZjIxZjBhZDZlYzA2
NmQzNTgyY2I2ZDU0Li5jMzVhMmY1NDc5OWNjOGE2YTQ0OGRmZWFmMTFiNWVmM2FmZGVjMDg4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmgKQEAgLTI2LDYg
KzI2LDggQEAKICNpZm5kZWYgVGh1bmtHZW5lcmF0b3JzX2gKICNkZWZpbmUgVGh1bmtHZW5lcmF0
b3JzX2gKIAorI2luY2x1ZGUgIkNvZGVTcGVjaWFsaXphdGlvbktpbmQuaCIKKyNpbmNsdWRlICJS
ZWdpc3RlclByZXNlcnZhdGlvbk1vZGUuaCIKICNpbmNsdWRlICJUaHVua0dlbmVyYXRvci5oIgog
CiAjaWYgRU5BQkxFKEpJVCkKQEAgLTM1LDE0ICszNyw4MiBAQCBNYWNyb0Fzc2VtYmxlckNvZGVS
ZWYgdGhyb3dFeGNlcHRpb25Gcm9tQ2FsbFNsb3dQYXRoR2VuZXJhdG9yKFZNKik7CiAKIE1hY3Jv
QXNzZW1ibGVyQ29kZVJlZiBsaW5rQ2FsbFRodW5rR2VuZXJhdG9yKFZNKik7CiBNYWNyb0Fzc2Vt
YmxlckNvZGVSZWYgbGlua0NvbnN0cnVjdFRodW5rR2VuZXJhdG9yKFZNKik7CitNYWNyb0Fzc2Vt
YmxlckNvZGVSZWYgbGlua0NhbGxUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9yKFZNKik7
CitNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbGlua0NvbnN0cnVjdFRoYXRQcmVzZXJ2ZXNSZWdzVGh1
bmtHZW5lcmF0b3IoVk0qKTsKKworaW5saW5lIFRodW5rR2VuZXJhdG9yIGxpbmtUaHVua0dlbmVy
YXRvckZvcigKKyAgICBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQsIFJlZ2lzdGVyUHJlc2Vy
dmF0aW9uTW9kZSByZWdpc3RlcnMpCit7CisgICAgc3dpdGNoIChraW5kKSB7CisgICAgY2FzZSBD
b2RlRm9yQ2FsbDoKKyAgICAgICAgc3dpdGNoIChyZWdpc3RlcnMpIHsKKyAgICAgICAgY2FzZSBS
ZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkOgorICAgICAgICAgICAgcmV0dXJuIGxpbmtD
YWxsVGh1bmtHZW5lcmF0b3I7CisgICAgICAgIGNhc2UgTXVzdFByZXNlcnZlUmVnaXN0ZXJzOgor
ICAgICAgICAgICAgcmV0dXJuIGxpbmtDYWxsVGhhdFByZXNlcnZlc1JlZ3NUaHVua0dlbmVyYXRv
cjsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBjYXNlIENvZGVGb3JDb25zdHJ1Y3Q6
CisgICAgICAgIHN3aXRjaCAocmVnaXN0ZXJzKSB7CisgICAgICAgIGNhc2UgUmVnaXN0ZXJQcmVz
ZXJ2YXRpb25Ob3RSZXF1aXJlZDoKKyAgICAgICAgICAgIHJldHVybiBsaW5rQ29uc3RydWN0VGh1
bmtHZW5lcmF0b3I7CisgICAgICAgIGNhc2UgTXVzdFByZXNlcnZlUmVnaXN0ZXJzOgorICAgICAg
ICAgICAgcmV0dXJuIGxpbmtDb25zdHJ1Y3RUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9y
OworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYg
bGlua0Nsb3N1cmVDYWxsVGh1bmtHZW5lcmF0b3IoVk0qKTsKK01hY3JvQXNzZW1ibGVyQ29kZVJl
ZiBsaW5rQ2xvc3VyZUNhbGxUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9yKFZNKik7CisK
K2lubGluZSBUaHVua0dlbmVyYXRvciBsaW5rQ2xvc3VyZUNhbGxUaHVua0dlbmVyYXRvckZvcihS
ZWdpc3RlclByZXNlcnZhdGlvbk1vZGUgcmVnaXN0ZXJzKQoreworICAgIHN3aXRjaCAocmVnaXN0
ZXJzKSB7CisgICAgY2FzZSBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkOgorICAgICAg
ICByZXR1cm4gbGlua0Nsb3N1cmVDYWxsVGh1bmtHZW5lcmF0b3I7CisgICAgY2FzZSBNdXN0UHJl
c2VydmVSZWdpc3RlcnM6CisgICAgICAgIHJldHVybiBsaW5rQ2xvc3VyZUNhbGxUaGF0UHJlc2Vy
dmVzUmVnc1RodW5rR2VuZXJhdG9yOworICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIHJldHVybiAwOworfQogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdmlydHVh
bENhbGxUaHVua0dlbmVyYXRvcihWTSopOwogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHZpcnR1YWxD
b25zdHJ1Y3RUaHVua0dlbmVyYXRvcihWTSopOworTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHZpcnR1
YWxDYWxsVGhhdFByZXNlcnZlc1JlZ3NUaHVua0dlbmVyYXRvcihWTSopOworTWFjcm9Bc3NlbWJs
ZXJDb2RlUmVmIHZpcnR1YWxDb25zdHJ1Y3RUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9y
KFZNKik7CisKK2lubGluZSBUaHVua0dlbmVyYXRvciB2aXJ0dWFsVGh1bmtHZW5lcmF0b3JGb3Io
CisgICAgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kLCBSZWdpc3RlclByZXNlcnZhdGlvbk1v
ZGUgcmVnaXN0ZXJzKQoreworICAgIHN3aXRjaCAoa2luZCkgeworICAgIGNhc2UgQ29kZUZvckNh
bGw6CisgICAgICAgIHN3aXRjaCAocmVnaXN0ZXJzKSB7CisgICAgICAgIGNhc2UgUmVnaXN0ZXJQ
cmVzZXJ2YXRpb25Ob3RSZXF1aXJlZDoKKyAgICAgICAgICAgIHJldHVybiB2aXJ0dWFsQ2FsbFRo
dW5rR2VuZXJhdG9yOworICAgICAgICBjYXNlIE11c3RQcmVzZXJ2ZVJlZ2lzdGVyczoKKyAgICAg
ICAgICAgIHJldHVybiB2aXJ0dWFsQ2FsbFRoYXRQcmVzZXJ2ZXNSZWdzVGh1bmtHZW5lcmF0b3I7
CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb2RlRm9yQ29uc3RydWN0Ogor
ICAgICAgICBzd2l0Y2ggKHJlZ2lzdGVycykgeworICAgICAgICBjYXNlIFJlZ2lzdGVyUHJlc2Vy
dmF0aW9uTm90UmVxdWlyZWQ6CisgICAgICAgICAgICByZXR1cm4gdmlydHVhbENvbnN0cnVjdFRo
dW5rR2VuZXJhdG9yOworICAgICAgICBjYXNlIE11c3RQcmVzZXJ2ZVJlZ2lzdGVyczoKKyAgICAg
ICAgICAgIHJldHVybiB2aXJ0dWFsQ29uc3RydWN0VGhhdFByZXNlcnZlc1JlZ3NUaHVua0dlbmVy
YXRvcjsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICB9CisgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KIAogTWFjcm9Bc3NlbWJsZXJDb2Rl
UmVmIG5hdGl2ZUNhbGxHZW5lcmF0b3IoVk0qKTsKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBuYXRp
dmVDb25zdHJ1Y3RHZW5lcmF0b3IoVk0qKTsKK01hY3JvQXNzZW1ibGVyQ29kZVJlZiBuYXRpdmVU
YWlsQ2FsbEdlbmVyYXRvcihWTSopOwogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGFyaXR5Rml4dXAo
Vk0qKTsKIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGNoYXJDb2RlQXRUaHVua0dlbmVyYXRvcihW
TSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3Au
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuY3BwCmluZGV4IDE4
YzJiOTljMTJjNDhlZWUxMDFmMmUwNDZlZDNkYTJjNjVmODJhMmYuLjI3ZGIxMTVlMzFiNDRkOWFi
ZTYwM2M0OGJkZWI4MzYyYzBlNmZiNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludENMb29wLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRDTG9vcC5jcHAKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIExMSW50IHsKIAogdm9p
ZCBDTG9vcDo6aW5pdGlhbGl6ZSgpCiB7Ci0gICAgZXhlY3V0ZSgwLCBnZXRPcGNvZGUobGxpbnRf
dW51c2VkKSwgdHJ1ZSk7CisgICAgZXhlY3V0ZShsbGludF91bnVzZWQsIDAsIDAsIDAsIHRydWUp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBMTEludApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludENMb29wLmgKaW5kZXggODc1OTU3MWYzNWRlNjYyYTkzNjViMzlkMGNiN2UzNzdhZDA3YTA4
OS4uYjM1NzcxMjhjY2Q2OWNjZmFiYmRjNDc0OTgyNzBlZTA3OWY1ODJhMiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTExJbnRDTG9vcC5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVk
ZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgogI2luY2x1ZGUgIk9wY29k
ZS5oIgorI2luY2x1ZGUgIlByb3RvQ2FsbEZyYW1lLmgiCiAKIG5hbWVzcGFjZSBKU0MgewogbmFt
ZXNwYWNlIExMSW50IHsKQEAgLTQwLDcgKzQxLDcgQEAgY29uc3QgT3Bjb2RlSUQgbGxpbnRfdW51
c2VkID0gbGxpbnRfZW5kOwogY2xhc3MgQ0xvb3AgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lk
IGluaXRpYWxpemUoKTsKLSAgICBzdGF0aWMgSlNWYWx1ZSBleGVjdXRlKENhbGxGcmFtZSosIE9w
Y29kZSBlbnRyeU9wY29kZSwgYm9vbCBpc0luaXRpYWxpemF0aW9uUGFzcyA9IGZhbHNlKTsKKyAg
ICBzdGF0aWMgSlNWYWx1ZSBleGVjdXRlKE9wY29kZUlEIGVudHJ5T3Bjb2RlSUQsIHZvaWQqIGV4
ZWN1dGFibGVBZGRyZXNzLCBWTSosIFByb3RvQ2FsbEZyYW1lKiwgYm9vbCBpc0luaXRpYWxpemF0
aW9uUGFzcyA9IGZhbHNlKTsKIH07CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpMTEludApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmNwcAppbmRleCBhYzc3ODM2YzBiYjk0
MTlkZWRiZGU4YzY1MzhjZmY2M2I3YjA5ZGIwLi5lN2Y5YzZkN2E1YzQ4OWMxNWMwYjY2NTUxMmM5
M2UxNzMxZDk3MzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnREYXRhLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmNw
cApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkluc3RydWN0aW9uLmgiCiAjaW5jbHVkZSAi
SlNTY29wZS5oIgogI2luY2x1ZGUgIkxMSW50Q0xvb3AuaCIKKyNpbmNsdWRlICJNYXhGcmFtZUV4
dGVudEZvclNsb3dQYXRoQ2FsbC5oIgogI2luY2x1ZGUgIk9wY29kZS5oIgogI2luY2x1ZGUgIlBy
b3BlcnR5T2Zmc2V0LmgiCiAKQEAgLTg3LDYgKzg4LDcgQEAgdm9pZCBEYXRhOjpwZXJmb3JtQXNz
ZXJ0aW9ucyhWTSYgdm0pCiAgICAgQVNTRVJUKEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUg
PT0gQ2FsbEZyYW1lSGVhZGVyU2xvdHMpOwogCiAgICAgQVNTRVJUKCFDYWxsRnJhbWU6OmNhbGxl
ckZyYW1lT2Zmc2V0KCkpOworICAgIEFTU0VSVChKU1N0YWNrOjpDYWxsZXJGcmFtZUFuZFBDU2l6
ZSA9PSAoUHRyU2l6ZSAqIDIpIC8gU2xvdFNpemUpOwogICAgIEFTU0VSVChDYWxsRnJhbWU6OnJl
dHVyblBDT2Zmc2V0KCkgPT0gQ2FsbEZyYW1lOjpjYWxsZXJGcmFtZU9mZnNldCgpICsgUHRyU2l6
ZSk7CiAgICAgQVNTRVJUKEpTU3RhY2s6OkNvZGVCbG9jayAqIHNpemVvZihSZWdpc3RlcikgPT0g
Q2FsbEZyYW1lOjpyZXR1cm5QQ09mZnNldCgpICsgUHRyU2l6ZSk7CiAgICAgQVNTRVJUKEpTU3Rh
Y2s6OlNjb3BlQ2hhaW4gKiBzaXplb2YoUmVnaXN0ZXIpID09IEpTU3RhY2s6OkNvZGVCbG9jayAq
IHNpemVvZihSZWdpc3RlcikgKyBTbG90U2l6ZSk7CkBAIC0xMjMsNiArMTI1LDEzIEBAIHZvaWQg
RGF0YTo6cGVyZm9ybUFzc2VydGlvbnMoVk0mIHZtKQogICAgIEFTU0VSVChWYWx1ZVVuZGVmaW5l
ZCA9PSAoVGFnQml0VHlwZU90aGVyIHwgVGFnQml0VW5kZWZpbmVkKSk7CiAgICAgQVNTRVJUKFZh
bHVlTnVsbCA9PSBUYWdCaXRUeXBlT3RoZXIpOwogI2VuZGlmCisjaWYgQ1BVKFg4Nl82NCkgfHwg
Q1BVKEFSTTY0KSB8fCBFTkFCTEUoTExJTlRfQ19MT09QKQorICAgIEFTU0VSVChtYXhGcmFtZUV4
dGVudEZvclNsb3dQYXRoQ2FsbCA9PSAwKTsKKyNlbGlmIENQVShBUk0pIHx8IENQVShTSDQpCisg
ICAgQVNTRVJUKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID09IDI0KTsKKyNlbGlmIENQ
VShYODYpIHx8IENQVShNSVBTKQorICAgIEFTU0VSVChtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRo
Q2FsbCA9PSA0MCk7CisjZW5kaWYKICAgICBBU1NFUlQoU3RyaW5nVHlwZSA9PSA1KTsKICAgICBB
U1NFUlQoT2JqZWN0VHlwZSA9PSAxNyk7CiAgICAgQVNTRVJUKEZpbmFsT2JqZWN0VHlwZSA9PSAx
OCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRFbnRyeXBv
aW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludEVudHJ5cG9pbnQuY3Bw
CmluZGV4IDk5M2VjNjdiOTkzYjA0Zjg0NTQxMmUzN2JkZmE2ZGMxNWQ4ZDU3ZjkuLjVkOTFiZTYz
MDNkYmQ1ZDU2ZThjYzBjZTY1YjcxNWM1MmEyN2MyYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludEVudHJ5cG9pbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludEVudHJ5cG9pbnQuY3BwCkBAIC0zMyw2ICszMyw4IEBACiAjaW5j
bHVkZSAiSlNPYmplY3QuaCIKICNpbmNsdWRlICJMTEludFRodW5rcy5oIgogI2luY2x1ZGUgIkxv
d0xldmVsSW50ZXJwcmV0ZXIuaCIKKyNpbmNsdWRlICJNYXhGcmFtZUV4dGVudEZvclNsb3dQYXRo
Q2FsbC5oIgorI2luY2x1ZGUgIlN0YWNrQWxpZ25tZW50LmgiCiAjaW5jbHVkZSAiVk0uaCIKIAog
bmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTEludCB7CkBAIC00NSwxNCArNDcsMTIgQEAgc3Rh
dGljIHZvaWQgc2V0RnVuY3Rpb25FbnRyeXBvaW50KFZNJiB2bSwgQ29kZUJsb2NrKiBjb2RlQmxv
Y2spCiAgICAgaWYgKHZtLmNhblVzZUpJVCgpKSB7CiAgICAgICAgIGlmIChraW5kID09IENvZGVG
b3JDYWxsKSB7CiAgICAgICAgICAgICBjb2RlQmxvY2stPnNldEpJVENvZGUoCi0gICAgICAgICAg
ICAgICAgYWRvcHRSZWYobmV3IERpcmVjdEpJVENvZGUodm0uZ2V0Q1RJU3R1YihmdW5jdGlvbkZv
ckNhbGxFbnRyeVRodW5rR2VuZXJhdG9yKSwgSklUQ29kZTo6SW50ZXJwcmV0ZXJUaHVuaykpLAot
ICAgICAgICAgICAgICAgIHZtLmdldENUSVN0dWIoZnVuY3Rpb25Gb3JDYWxsQXJpdHlDaGVja1Ro
dW5rR2VuZXJhdG9yKS5jb2RlKCkpOworICAgICAgICAgICAgICAgIGFkb3B0UmVmKG5ldyBEaXJl
Y3RKSVRDb2RlKHZtLmdldENUSVN0dWIoZnVuY3Rpb25Gb3JDYWxsRW50cnlUaHVua0dlbmVyYXRv
ciksIHZtLmdldENUSVN0dWIoZnVuY3Rpb25Gb3JDYWxsQXJpdHlDaGVja1RodW5rR2VuZXJhdG9y
KS5jb2RlKCksIEpJVENvZGU6OkludGVycHJldGVyVGh1bmspKSk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KICAgICAgICAgQVNTRVJUKGtpbmQgPT0gQ29kZUZvckNvbnN0cnVjdCk7
CiAgICAgICAgIGNvZGVCbG9jay0+c2V0SklUQ29kZSgKLSAgICAgICAgICAgIGFkb3B0UmVmKG5l
dyBEaXJlY3RKSVRDb2RlKHZtLmdldENUSVN0dWIoZnVuY3Rpb25Gb3JDb25zdHJ1Y3RFbnRyeVRo
dW5rR2VuZXJhdG9yKSwgSklUQ29kZTo6SW50ZXJwcmV0ZXJUaHVuaykpLAotICAgICAgICAgICAg
dm0uZ2V0Q1RJU3R1YihmdW5jdGlvbkZvckNvbnN0cnVjdEFyaXR5Q2hlY2tUaHVua0dlbmVyYXRv
cikuY29kZSgpKTsKKyAgICAgICAgICAgIGFkb3B0UmVmKG5ldyBEaXJlY3RKSVRDb2RlKHZtLmdl
dENUSVN0dWIoZnVuY3Rpb25Gb3JDb25zdHJ1Y3RFbnRyeVRodW5rR2VuZXJhdG9yKSwgdm0uZ2V0
Q1RJU3R1YihmdW5jdGlvbkZvckNvbnN0cnVjdEFyaXR5Q2hlY2tUaHVua0dlbmVyYXRvcikuY29k
ZSgpLCBKSVRDb2RlOjpJbnRlcnByZXRlclRodW5rKSkpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogI2VuZGlmIC8vIEVOQUJMRShKSVQpCkBAIC02MCwxNCArNjAsMTIgQEAgc3RhdGljIHZvaWQg
c2V0RnVuY3Rpb25FbnRyeXBvaW50KFZNJiB2bSwgQ29kZUJsb2NrKiBjb2RlQmxvY2spCiAgICAg
VU5VU0VEX1BBUkFNKHZtKTsKICAgICBpZiAoa2luZCA9PSBDb2RlRm9yQ2FsbCkgewogICAgICAg
ICBjb2RlQmxvY2stPnNldEpJVENvZGUoCi0gICAgICAgICAgICBhZG9wdFJlZihuZXcgRGlyZWN0
SklUQ29kZShNYWNyb0Fzc2VtYmxlckNvZGVSZWY6OmNyZWF0ZUxMSW50Q29kZVJlZihsbGludF9m
dW5jdGlvbl9mb3JfY2FsbF9wcm9sb2d1ZSksIEpJVENvZGU6OkludGVycHJldGVyVGh1bmspKSwK
LSAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjo6Y3JlYXRlTExJbnRDb2RlUHRyKGxs
aW50X2Z1bmN0aW9uX2Zvcl9jYWxsX2FyaXR5X2NoZWNrKSk7CisgICAgICAgICAgICBhZG9wdFJl
ZihuZXcgRGlyZWN0SklUQ29kZShNYWNyb0Fzc2VtYmxlckNvZGVSZWY6OmNyZWF0ZUxMSW50Q29k
ZVJlZihsbGludF9mdW5jdGlvbl9mb3JfY2FsbF9wcm9sb2d1ZSksIE1hY3JvQXNzZW1ibGVyQ29k
ZVB0cjo6Y3JlYXRlTExJbnRDb2RlUHRyKGxsaW50X2Z1bmN0aW9uX2Zvcl9jYWxsX2FyaXR5X2No
ZWNrKSwgSklUQ29kZTo6SW50ZXJwcmV0ZXJUaHVuaykpKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBBU1NFUlQoa2luZCA9PSBDb2RlRm9yQ29uc3RydWN0KTsKICAgICBjb2RlQmxvY2st
PnNldEpJVENvZGUoCi0gICAgICAgIGFkb3B0UmVmKG5ldyBEaXJlY3RKSVRDb2RlKE1hY3JvQXNz
ZW1ibGVyQ29kZVJlZjo6Y3JlYXRlTExJbnRDb2RlUmVmKGxsaW50X2Z1bmN0aW9uX2Zvcl9jb25z
dHJ1Y3RfcHJvbG9ndWUpLCBKSVRDb2RlOjpJbnRlcnByZXRlclRodW5rKSksCi0gICAgICAgIE1h
Y3JvQXNzZW1ibGVyQ29kZVB0cjo6Y3JlYXRlTExJbnRDb2RlUHRyKGxsaW50X2Z1bmN0aW9uX2Zv
cl9jb25zdHJ1Y3RfYXJpdHlfY2hlY2spKTsKKyAgICAgICAgYWRvcHRSZWYobmV3IERpcmVjdEpJ
VENvZGUoTWFjcm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVMTEludENvZGVSZWYobGxpbnRfZnVu
Y3Rpb25fZm9yX2NvbnN0cnVjdF9wcm9sb2d1ZSksIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjo6Y3Jl
YXRlTExJbnRDb2RlUHRyKGxsaW50X2Z1bmN0aW9uX2Zvcl9jb25zdHJ1Y3RfYXJpdHlfY2hlY2sp
LCBKSVRDb2RlOjpJbnRlcnByZXRlclRodW5rKSkpOwogfQogCiBzdGF0aWMgdm9pZCBzZXRFdmFs
RW50cnlwb2ludChWTSYgdm0sIENvZGVCbG9jayogY29kZUJsb2NrKQpAQCAtNzUsMTYgKzczLDE0
IEBAIHN0YXRpYyB2b2lkIHNldEV2YWxFbnRyeXBvaW50KFZNJiB2bSwgQ29kZUJsb2NrKiBjb2Rl
QmxvY2spCiAjaWYgRU5BQkxFKEpJVCkKICAgICBpZiAodm0uY2FuVXNlSklUKCkpIHsKICAgICAg
ICAgY29kZUJsb2NrLT5zZXRKSVRDb2RlKAotICAgICAgICAgICAgYWRvcHRSZWYobmV3IERpcmVj
dEpJVENvZGUodm0uZ2V0Q1RJU3R1YihldmFsRW50cnlUaHVua0dlbmVyYXRvciksIEpJVENvZGU6
OkludGVycHJldGVyVGh1bmspKSwKLSAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0cigp
KTsKKyAgICAgICAgICAgIGFkb3B0UmVmKG5ldyBEaXJlY3RKSVRDb2RlKHZtLmdldENUSVN0dWIo
ZXZhbEVudHJ5VGh1bmtHZW5lcmF0b3IpLCBNYWNyb0Fzc2VtYmxlckNvZGVQdHIoKSwgSklUQ29k
ZTo6SW50ZXJwcmV0ZXJUaHVuaykpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICNlbmRpZiAv
LyBFTkFCTEUoSklUKQogCiAgICAgVU5VU0VEX1BBUkFNKHZtKTsKICAgICBjb2RlQmxvY2stPnNl
dEpJVENvZGUoCi0gICAgICAgIGFkb3B0UmVmKG5ldyBEaXJlY3RKSVRDb2RlKE1hY3JvQXNzZW1i
bGVyQ29kZVJlZjo6Y3JlYXRlTExJbnRDb2RlUmVmKGxsaW50X2V2YWxfcHJvbG9ndWUpLCBKSVRD
b2RlOjpJbnRlcnByZXRlclRodW5rKSksCi0gICAgICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0cigp
KTsKKyAgICAgICAgYWRvcHRSZWYobmV3IERpcmVjdEpJVENvZGUoTWFjcm9Bc3NlbWJsZXJDb2Rl
UmVmOjpjcmVhdGVMTEludENvZGVSZWYobGxpbnRfZXZhbF9wcm9sb2d1ZSksIE1hY3JvQXNzZW1i
bGVyQ29kZVB0cigpLCBKSVRDb2RlOjpJbnRlcnByZXRlclRodW5rKSkpOwogfQogCiBzdGF0aWMg
dm9pZCBzZXRQcm9ncmFtRW50cnlwb2ludChWTSYgdm0sIENvZGVCbG9jayogY29kZUJsb2NrKQpA
QCAtOTIsMTYgKzg4LDE0IEBAIHN0YXRpYyB2b2lkIHNldFByb2dyYW1FbnRyeXBvaW50KFZNJiB2
bSwgQ29kZUJsb2NrKiBjb2RlQmxvY2spCiAjaWYgRU5BQkxFKEpJVCkKICAgICBpZiAodm0uY2Fu
VXNlSklUKCkpIHsKICAgICAgICAgY29kZUJsb2NrLT5zZXRKSVRDb2RlKAotICAgICAgICAgICAg
YWRvcHRSZWYobmV3IERpcmVjdEpJVENvZGUodm0uZ2V0Q1RJU3R1Yihwcm9ncmFtRW50cnlUaHVu
a0dlbmVyYXRvciksIEpJVENvZGU6OkludGVycHJldGVyVGh1bmspKSwKLSAgICAgICAgICAgIE1h
Y3JvQXNzZW1ibGVyQ29kZVB0cigpKTsKKyAgICAgICAgICAgIGFkb3B0UmVmKG5ldyBEaXJlY3RK
SVRDb2RlKHZtLmdldENUSVN0dWIocHJvZ3JhbUVudHJ5VGh1bmtHZW5lcmF0b3IpLCBNYWNyb0Fz
c2VtYmxlckNvZGVQdHIoKSwgSklUQ29kZTo6SW50ZXJwcmV0ZXJUaHVuaykpKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICNlbmRpZiAvLyBFTkFCTEUoSklUKQogCiAgICAgVU5VU0VEX1BBUkFN
KHZtKTsKICAgICBjb2RlQmxvY2stPnNldEpJVENvZGUoCi0gICAgICAgIGFkb3B0UmVmKG5ldyBE
aXJlY3RKSVRDb2RlKE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3JlYXRlTExJbnRDb2RlUmVmKGxs
aW50X3Byb2dyYW1fcHJvbG9ndWUpLCBKSVRDb2RlOjpJbnRlcnByZXRlclRodW5rKSksCi0gICAg
ICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0cigpKTsKKyAgICAgICAgYWRvcHRSZWYobmV3IERpcmVj
dEpJVENvZGUoTWFjcm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVMTEludENvZGVSZWYobGxpbnRf
cHJvZ3JhbV9wcm9sb2d1ZSksIE1hY3JvQXNzZW1ibGVyQ29kZVB0cigpLCBKSVRDb2RlOjpJbnRl
cnByZXRlclRodW5rKSkpOwogfQogCiB2b2lkIHNldEVudHJ5cG9pbnQoVk0mIHZtLCBDb2RlQmxv
Y2sqIGNvZGVCbG9jaykKQEAgLTEyMyw3ICsxMTcsOSBAQCB2b2lkIHNldEVudHJ5cG9pbnQoVk0m
IHZtLCBDb2RlQmxvY2sqIGNvZGVCbG9jaykKIAogdW5zaWduZWQgZnJhbWVSZWdpc3RlckNvdW50
Rm9yKENvZGVCbG9jayogY29kZUJsb2NrKQogewotICAgIHJldHVybiBjb2RlQmxvY2stPm1fbnVt
Q2FsbGVlUmVnaXN0ZXJzOworICAgIEFTU0VSVChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29kZUJs
b2NrLT5tX251bUNhbGxlZVJlZ2lzdGVycykgPT0gV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9mKHN0
YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihjb2RlQmxvY2st
Pm1fbnVtQ2FsbGVlUmVnaXN0ZXJzKSkpOworCisgICAgcmV0dXJuIHJvdW5kTG9jYWxSZWdpc3Rl
ckNvdW50Rm9yRnJhbWVQb2ludGVyT2Zmc2V0KGNvZGVCbG9jay0+bV9udW1DYWxsZWVSZWdpc3Rl
cnMgKyBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbEluUmVnaXN0ZXJzKTsKIH0KIAogfSB9
IC8vIG5hbWVzcGFjZSBKU0M6OkxMSW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRPZmZzZXRzRXh0cmFjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludE9mZnNldHNFeHRyYWN0b3IuY3BwCmluZGV4IGEwY2JmYTBiYTNlMDc2OWZj
NTQ0MWIyZTNhNzE5ZDA5NzQzZDQzYWYuLjYwNGNjMjYzY2Y5N2UwODZmZWQwNmVjOTAzYjBlYzE5
ODNlNzgxMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9m
ZnNldHNFeHRyYWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dE9mZnNldHNFeHRyYWN0b3IuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJBcnJh
eVByb2ZpbGUuaCIKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKKyNpbmNsdWRlICJDb21tb25TbG93
UGF0aHMuaCIKICNpbmNsdWRlICJEZWJ1Z2dlci5oIgogI2luY2x1ZGUgIkV4ZWN1dGFibGUuaCIK
ICNpbmNsdWRlICJIZWFwLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRPcGNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9wY29k
ZS5oCmluZGV4IDdlZTUzZGY4MjNjZjUzODJkMDU4N2JkN2ExZWZiNDMxYmI0ZDc4YzYuLmZhMWZh
NmFhOGQ5ZmVhNGIxNDNiZDBmOGYwNzViYzRhYmZjMmNmMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9wY29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludE9wY29kZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNCw3ICszNCwxOCBAQAogCiAj
ZGVmaW5lIEZPUl9FQUNIX0xMSU5UX05PSklUX05BVElWRV9IRUxQRVIobWFjcm8pIFwKICAgICBt
YWNybyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlLCAxKSBcCi0gICAgbWFjcm8ocmV0dXJuRnJvbUph
dmFTY3JpcHQsIDEpCisgICAgbWFjcm8obGxpbnRfcmV0dXJuX3RvX2hvc3QsIDEpIFwKKyAgICBt
YWNybyhsbGludF9jYWxsX3RvX2phdmFzY3JpcHQsIDEpIFwKKyAgICBtYWNybyhsbGludF9jYWxs
X3RvX25hdGl2ZV9mdW5jdGlvbiwgMSkgXAorICAgIG1hY3JvKGhhbmRsZVVuY2F1Z2h0RXhjZXB0
aW9uLCAxKSBcCisgICAgXAorICAgIG1hY3JvKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9q
c18xLCAxKSBcCisgICAgbWFjcm8obGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzIsIDEp
IFwKKyAgICBtYWNybyhsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfMywgMSkgXAorICAg
IG1hY3JvKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc180LCAxKSBcCisgICAgbWFjcm8o
bGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzUsIDEpIFwKKyAgICBtYWNybyhsbGludF9j
bG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfNiwgMSkgXAorICAgIG1hY3JvKGxsaW50X2Nsb29wX2Rp
ZF9yZXR1cm5fZnJvbV9qc183LCAxKSBcCiAKICNlbHNlIC8vICFFTkFCTEUoTExJTlRfQ19MT09Q
KQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0
aHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcApp
bmRleCAyNjI2NDE3MWQ2YzcwMzg0Y2NkMDAzOTYwNjk2ZmIxMDgwZjI3NGJjLi44NjM1MmQ0NWQy
M2Q5NjY4NTQxY2Q3ZTljNmE0NWEwNTBlNjBkZjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDExLCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMz
LDYgKzMzLDcgQEAKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJDb21tb25TbG93
UGF0aHMuaCIKICNpbmNsdWRlICJDb21tb25TbG93UGF0aHNFeGNlcHRpb25zLmgiCisjaW5jbHVk
ZSAiRXJyb3JIYW5kbGluZ1Njb3BlLmgiCiAjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5j
bHVkZSAiSG9zdENhbGxSZXR1cm5WYWx1ZS5oIgogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCkBA
IC01MSw2ICs1Miw3IEBACiAjaW5jbHVkZSAiTG93TGV2ZWxJbnRlcnByZXRlci5oIgogI2luY2x1
ZGUgIk9iamVjdENvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiT3BlcmF0aW9ucy5oIgorI2luY2x1
ZGUgIlByb3RvQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlUmFyZURhdGFJbmxpbmVz
LmgiCiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAKQEAgLTgyLDcgKzg0LDcg
QEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTEludCB7CiAgICAgICAgIHJldHVybiBlbmNv
ZGVSZXN1bHQoZmlyc3QsIHNlY29uZCk7ICAgICAgICBcCiAgICAgfSB3aGlsZSAoZmFsc2UpCiAK
LSNkZWZpbmUgTExJTlRfRU5EX0lNUEwoKSBMTElOVF9SRVRVUk5fVFdPKHBjLCBleGVjKQorI2Rl
ZmluZSBMTElOVF9FTkRfSU1QTCgpIExMSU5UX1JFVFVSTl9UV08ocGMsIDApCiAKICNkZWZpbmUg
TExJTlRfVEhST1coZXhjZXB0aW9uVG9UaHJvdykgZG8geyAgICAgICAgICAgICAgICAgICAgICAg
IFwKICAgICAgICAgdm0udGhyb3dFeGNlcHRpb24oZXhlYywgZXhjZXB0aW9uVG9UaHJvdyk7ICAg
ICAgICAgICAgICAgIFwKQEAgLTEzNywyMiArMTM5LDI4IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1l
c3BhY2UgTExJbnQgewogI2RlZmluZSBMTElOVF9DQUxMX1RIUk9XKGV4ZWMsIGV4Y2VwdGlvblRv
VGhyb3cpIGRvIHsgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBFeGVjU3RhdGUqIF9fY3Rf
ZXhlYyA9IChleGVjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAg
ICB2bS50aHJvd0V4Y2VwdGlvbihfX2N0X2V4ZWMsIGV4Y2VwdGlvblRvVGhyb3cpOyAgICAgICAg
ICAgICAgICAgXAotICAgICAgICBMTElOVF9DQUxMX0VORF9JTVBMKF9fY3RfZXhlYywgY2FsbFRv
VGhyb3coX19jdF9leGVjKSk7ICAgICAgICAgXAorICAgICAgICBMTElOVF9DQUxMX0VORF9JTVBM
KDAsIGNhbGxUb1Rocm93KF9fY3RfZXhlYykpOyAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hp
bGUgKGZhbHNlKQogCiAjZGVmaW5lIExMSU5UX0NBTExfQ0hFQ0tfRVhDRVBUSU9OKGV4ZWMpIGRv
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIEV4ZWNTdGF0ZSogX19jY2Vf
ZXhlYyA9IChleGVjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAg
IGlmIChVTkxJS0VMWSh2bS5leGNlcHRpb24oKSkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICBMTElOVF9DQUxMX0VORF9JTVBMKF9fY2NlX2V4ZWMsIGNh
bGxUb1Rocm93KF9fY2NlX2V4ZWMpKTsgICBcCisgICAgICAgICAgICBMTElOVF9DQUxMX0VORF9J
TVBMKDAsIGNhbGxUb1Rocm93KF9fY2NlX2V4ZWMpKTsgICAgICAgICAgICBcCiAgICAgfSB3aGls
ZSAoZmFsc2UpCiAKICNkZWZpbmUgTExJTlRfQ0FMTF9SRVRVUk4oZXhlYywgY2FsbFRhcmdldCkg
ZG8geyAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgRXhlY1N0YXRlKiBfX2NyX2V4
ZWMgPSAoZXhlYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAg
dm9pZCogX19jcl9jYWxsVGFyZ2V0ID0gKGNhbGxUYXJnZXQpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgTExJTlRfQ0FMTF9DSEVDS19FWENFUFRJT04oX19jcl9leGVjLT5j
YWxsZXJGcmFtZSgpKTsgICAgICAgICAgIFwKKyAgICAgICAgTExJTlRfQ0FMTF9DSEVDS19FWENF
UFRJT04oX19jcl9leGVjKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgTExJ
TlRfQ0FMTF9FTkRfSU1QTChfX2NyX2V4ZWMsIF9fY3JfY2FsbFRhcmdldCk7ICAgICAgICAgICAg
ICAgIFwKICAgICB9IHdoaWxlIChmYWxzZSkKIAorI2RlZmluZSBMTElOVF9SRVRVUk5fQ0FMTEVF
X0ZSQU1FKGV4ZWNDYWxsZWUpIGRvIHsgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBF
eGVjU3RhdGUqIF9fcmNmX2V4ZWMgPSAoZXhlY0NhbGxlZSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCBfX3JjZl9leGVjKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gd2hpbGUgKGZhbHNlKQorICAgIAorCiBl
eHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF90cmFjZV9vcGVyYW5kKEV4ZWNTdGF0
ZSogZXhlYywgSW5zdHJ1Y3Rpb24qIHBjLCBpbnQgZnJvbVdoZXJlLCBpbnQgb3BlcmFuZCkKIHsK
ICAgICBMTElOVF9CRUdJTigpOwpAQCAtMjQyLDYgKzI1MCwxMCBAQCBMTElOVF9TTE9XX1BBVEhf
REVDTCh0cmFjZSkKICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludHB0cl90PihwYyAtIGV4ZWMt
PmNvZGVCbG9jaygpLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigpKSwKICAgICAgICAgICAgIG9wY29k
ZU5hbWVzW2V4ZWMtPnZtKCkuaW50ZXJwcmV0ZXItPmdldE9wY29kZUlEKHBjWzBdLnUub3Bjb2Rl
KV0sCiAgICAgICAgICAgICBleGVjLT5zY29wZSgpLCBwYyk7CisgICAgaWYgKGV4ZWMtPnZtKCku
aW50ZXJwcmV0ZXItPmdldE9wY29kZUlEKHBjWzBdLnUub3Bjb2RlKSA9PSBvcF9lbnRlcikgewor
ICAgICAgICBkYXRhTG9nRigiRnJhbWUgd2lsbCBldmVudHVhbGx5IHJldHVybiB0byAlcFxuIiwg
ZXhlYy0+cmV0dXJuUEMoKS52YWx1ZSgpKTsKKyAgICAgICAgKmJpdHdpc2VfY2FzdDx2b2xhdGls
ZSBjaGFyKj4oZXhlYy0+cmV0dXJuUEMoKS52YWx1ZSgpKTsKKyAgICB9CiAgICAgaWYgKGV4ZWMt
PnZtKCkuaW50ZXJwcmV0ZXItPmdldE9wY29kZUlEKHBjWzBdLnUub3Bjb2RlKSA9PSBvcF9yZXQp
IHsKICAgICAgICAgZGF0YUxvZ0YoIldpbGwgYmUgcmV0dXJuaW5nIHRvICVwXG4iLCBleGVjLT5y
ZXR1cm5QQygpLnZhbHVlKCkpOwogICAgICAgICBkYXRhTG9nRigiVGhlIG5ldyBjZnIgd2lsbCBi
ZSAlcFxuIiwgZXhlYy0+Y2FsbGVyRnJhbWUoKSk7CkBAIC0zMjUsMTUgKzMzNywxNyBAQCBzdGF0
aWMgU2xvd1BhdGhSZXR1cm5UeXBlIGVudHJ5T1NSKEV4ZWNTdGF0ZSogZXhlYywgSW5zdHJ1Y3Rp
b24qLCBDb2RlQmxvY2sqIGNvZAogICAgIAogICAgIGlmICghc2hvdWxkSklUKGV4ZWMpKSB7CiAg
ICAgICAgIGNvZGVCbG9jay0+ZG9udEpJVEFueXRpbWVTb29uKCk7Ci0gICAgICAgIExMSU5UX1JF
VFVSTl9UV08oMCwgZXhlYyk7CisgICAgICAgIExMSU5UX1JFVFVSTl9UV08oMCwgMCk7CiAgICAg
fQogICAgIGlmICghaml0Q29tcGlsZUFuZFNldEhldXJpc3RpY3MoY29kZUJsb2NrLCBleGVjKSkK
LSAgICAgICAgTExJTlRfUkVUVVJOX1RXTygwLCBleGVjKTsKKyAgICAgICAgTExJTlRfUkVUVVJO
X1RXTygwLCAwKTsKICAgICAKICAgICBpZiAoa2luZCA9PSBQcm9sb2d1ZSkKLSAgICAgICAgTExJ
TlRfUkVUVVJOX1RXTyhjb2RlQmxvY2stPmppdENvZGUoKS0+ZXhlY3V0YWJsZUFkZHJlc3MoKSwg
ZXhlYyk7CisgICAgICAgIExMSU5UX1JFVFVSTl9UV08oY29kZUJsb2NrLT5qaXRDb2RlKCktPmV4
ZWN1dGFibGVBZGRyZXNzKCksIDApOwogICAgIEFTU0VSVChraW5kID09IEFyaXR5Q2hlY2spOwot
ICAgIExMSU5UX1JFVFVSTl9UV08oY29kZUJsb2NrLT5qaXRDb2RlV2l0aEFyaXR5Q2hlY2soKS5l
eGVjdXRhYmxlQWRkcmVzcygpLCBleGVjKTsKKyAgICBMTElOVF9SRVRVUk5fVFdPKGNvZGVCbG9j
ay0+aml0Q29kZSgpLT5hZGRyZXNzRm9yQ2FsbCgKKyAgICAgICAgKmNvZGVCbG9jay0+dm0oKSwg
Y29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUoKSwgTXVzdENoZWNrQXJpdHksCisgICAgICAgIFJl
Z2lzdGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQpLmV4ZWN1dGFibGVBZGRyZXNzKCksIDApOwog
fQogI2Vsc2UgLy8gRU5BQkxFKEpJVCkKIHN0YXRpYyBTbG93UGF0aFJldHVyblR5cGUgZW50cnlP
U1IoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiosIENvZGVCbG9jayogY29kZUJsb2NrLCBj
b25zdCBjaGFyKiwgRW50cnlLaW5kKQpAQCAtMzgxLDExICszOTUsMTEgQEAgTExJTlRfU0xPV19Q
QVRIX0RFQ0wobG9vcF9vc3IpCiAgICAgCiAgICAgaWYgKCFzaG91bGRKSVQoZXhlYykpIHsKICAg
ICAgICAgY29kZUJsb2NrLT5kb250SklUQW55dGltZVNvb24oKTsKLSAgICAgICAgTExJTlRfUkVU
VVJOX1RXTygwLCBleGVjKTsKKyAgICAgICAgTExJTlRfUkVUVVJOX1RXTygwLCAwKTsKICAgICB9
CiAgICAgCiAgICAgaWYgKCFqaXRDb21waWxlQW5kU2V0SGV1cmlzdGljcyhjb2RlQmxvY2ssIGV4
ZWMpKQotICAgICAgICBMTElOVF9SRVRVUk5fVFdPKDAsIGV4ZWMpOworICAgICAgICBMTElOVF9S
RVRVUk5fVFdPKDAsIDApOwogICAgIAogICAgIEFTU0VSVChjb2RlQmxvY2stPmppdFR5cGUoKSA9
PSBKSVRDb2RlOjpCYXNlbGluZUpJVCk7CiAgICAgCkBAIC0zOTgsMTAgKzQxMiwxMCBAQCBMTElO
VF9TTE9XX1BBVEhfREVDTChsb29wX29zcikKICAgICB2b2lkKiBqdW1wVGFyZ2V0ID0gY29kZUJs
b2NrLT5qaXRDb2RlKCktPmV4ZWN1dGFibGVBZGRyZXNzQXRPZmZzZXQobWFwcGluZy0+bV9tYWNo
aW5lQ29kZU9mZnNldCk7CiAgICAgQVNTRVJUKGp1bXBUYXJnZXQpOwogICAgIAotICAgIExMSU5U
X1JFVFVSTl9UV08oanVtcFRhcmdldCwgZXhlYyk7CisgICAgTExJTlRfUkVUVVJOX1RXTyhqdW1w
VGFyZ2V0LCBleGVjLT50b3BPZkZyYW1lKCkpOwogI2Vsc2UgLy8gRU5BQkxFKEpJVCkKICAgICBj
b2RlQmxvY2stPmRvbnRKSVRBbnl0aW1lU29vbigpOwotICAgIExMSU5UX1JFVFVSTl9UV08oMCwg
ZXhlYyk7CisgICAgTExJTlRfUkVUVVJOX1RXTygwLCAwKTsKICNlbmRpZiAvLyBFTkFCTEUoSklU
KQogfQogCkBAIC00MzcsMTMgKzQ1MSwzNCBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzdGFja19j
aGVjaykKICAgICBkYXRhTG9nRigiTnVtIHZhcnMgPSAldS5cbiIsIGV4ZWMtPmNvZGVCbG9jaygp
LT5tX251bVZhcnMpOwogICAgIGRhdGFMb2dGKCJDdXJyZW50IGVuZCBpcyBhdCAlcC5cbiIsIGV4
ZWMtPnZtKCkuaW50ZXJwcmV0ZXItPnN0YWNrKCkuZW5kKCkpOwogI2VuZGlmCi0gICAgQVNTRVJU
KCFleGVjLT52bSgpLmludGVycHJldGVyLT5zdGFjaygpLmNvbnRhaW5zQWRkcmVzcygmZXhlYy0+
cmVnaXN0ZXJzKClbdmlydHVhbFJlZ2lzdGVyRm9yTG9jYWwoZXhlYy0+Y29kZUJsb2NrKCktPm1f
bnVtQ2FsbGVlUmVnaXN0ZXJzKS5vZmZzZXQoKV0pKTsKLSAgICBpZiAoVU5MSUtFTFkoIXZtLmlu
dGVycHJldGVyLT5zdGFjaygpLmdyb3coJmV4ZWMtPnJlZ2lzdGVycygpW3ZpcnR1YWxSZWdpc3Rl
ckZvckxvY2FsKGV4ZWMtPmNvZGVCbG9jaygpLT5tX251bUNhbGxlZVJlZ2lzdGVycykub2Zmc2V0
KCldKSkpIHsKLSAgICAgICAgZXhlYyA9IGV4ZWMtPmNhbGxlckZyYW1lKCk7Ci0gICAgICAgIENv
bW1vblNsb3dQYXRoczo6aW50ZXJwcmV0ZXJUaHJvd0luQ2FsbGVyKGV4ZWMsIGNyZWF0ZVN0YWNr
T3ZlcmZsb3dFcnJvcihleGVjKSk7Ci0gICAgICAgIHBjID0gcmV0dXJuVG9UaHJvd0ZvclRocm93
bkV4Y2VwdGlvbihleGVjKTsKLSAgICB9Ci0gICAgTExJTlRfRU5EX0lNUEwoKTsKKworICAgIC8v
IFRoaXMgc3RhY2sgY2hlY2sgaXMgZG9uZSBpbiB0aGUgcHJvbG9ndWUgZm9yIGEgZnVuY3Rpb24g
Y2FsbCwgYW5kIHRoZQorICAgIC8vIENhbGxGcmFtZSBpcyBub3QgY29tcGxldGVseSBzZXQgdXAg
eWV0LiBGb3IgZXhhbXBsZSwgaWYgdGhlIGZyYW1lIG5lZWRzCisgICAgLy8gYW4gYWN0aXZhdGlv
biBvYmplY3QsIHRoZSBhY3RpdmF0aW9uIG9iamVjdCB3aWxsIG9ubHkgYmUgc2V0IHVwIGFmdGVy
CisgICAgLy8gd2Ugc3RhcnQgZXhlY3V0aW5nIHRoZSBmdW5jdGlvbi4gSWYgd2UgbmVlZCB0byB0
aHJvdyBhIFN0YWNrT3ZlcmZsb3dFcnJvcgorICAgIC8vIGhlcmUsIHRoZW4gd2UgbmVlZCB0byB0
ZWxsIHRoZSBwcm9sb2d1ZSB0byBzdGFydCB0aGUgc3RhY2sgdW53aW5kaW5nIGZyb20KKyAgICAv
LyB0aGUgY2FsbGVyIGZyYW1lICh3aGljaCBpcyBmdWxseSBzZXQgdXApIGluc3RlYWQuIFRvIGRv
IHRoYXQsIHdlIHJldHVybgorICAgIC8vIHRoZSBjYWxsZXIncyBDYWxsRnJhbWUgaW4gdGhlIHNl
Y29uZCByZXR1cm4gdmFsdWUuCisgICAgLy8KKyAgICAvLyBJZiB0aGUgc3RhY2sgY2hlY2sgc3Vj
Y2VlZHMgYW5kIHdlIGRvbid0IG5lZWQgdG8gdGhyb3cgdGhlIGVycm9yLCB0aGVuCisgICAgLy8g
d2UnbGwgcmV0dXJuIDAgaW5zdGVhZC4gVGhlIHByb2xvZ3VlIHdpbGwgY2hlY2sgZm9yIGEgbm9u
LXplcm8gdmFsdWUKKyAgICAvLyB3aGVuIGRldGVybWluaW5nIHdoZXRoZXIgdG8gc2V0IHRoZSBj
YWxsRnJhbWUgb3Igbm90LgorCisgICAgLy8gRm9yIEpJVCBlbmFibGVkIGJ1aWxkcyB3aGljaCB1
c2VzIHRoZSBDIHN0YWNrLCB0aGUgc3RhY2sgaXMgbm90IGdyb3dhYmxlLgorICAgIC8vIEhlbmNl
LCBpZiB3ZSBnZXQgaGVyZSwgdGhlbiB3ZSBrbm93IGEgc3RhY2sgb3ZlcmZsb3cgaXMgaW1taW5l
bnQuIFNvLCBqdXN0CisgICAgLy8gdGhyb3cgdGhlIFN0YWNrT3ZlcmZsb3dFcnJvciB1bmNvbmRp
dGlvbmFsbHkuCisjaWYgRU5BQkxFKExMSU5UX0NfTE9PUCkKKyAgICBBU1NFUlQoIXZtLmludGVy
cHJldGVyLT5zdGFjaygpLmNvbnRhaW5zQWRkcmVzcyhleGVjLT50b3BPZkZyYW1lKCkpKTsKKyAg
ICBpZiAoTElLRUxZKHZtLmludGVycHJldGVyLT5zdGFjaygpLmVuc3VyZUNhcGFjaXR5Rm9yKGV4
ZWMtPnRvcE9mRnJhbWUoKSkpKQorICAgICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCAwKTsKKyNl
bmRpZgorCisgICAgZXhlYyA9IGV4ZWMtPmNhbGxlckZyYW1lKCk7CisgICAgdm0udG9wQ2FsbEZy
YW1lID0gZXhlYzsKKyAgICBFcnJvckhhbmRsaW5nU2NvcGUgZXJyb3JTY29wZSh2bSk7CisgICAg
Q29tbW9uU2xvd1BhdGhzOjppbnRlcnByZXRlclRocm93SW5DYWxsZXIoZXhlYywgY3JlYXRlU3Rh
Y2tPdmVyZmxvd0Vycm9yKGV4ZWMpKTsKKyAgICBwYyA9IHJldHVyblRvVGhyb3dGb3JUaHJvd25F
eGNlcHRpb24oZXhlYyk7CisgICAgTExJTlRfUkVUVVJOX1RXTyhwYywgZXhlYyk7CiB9CiAKIExM
SU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfYWN0aXZhdGlvbikKQEAgLTEwNDUs
NyArMTA4MCw3IEBAIGlubGluZSBTbG93UGF0aFJldHVyblR5cGUgc2V0VXBDYWxsKEV4ZWNTdGF0
ZSogZXhlY0NhbGxlZSwgSW5zdHJ1Y3Rpb24qIHBjLCBDb2RlCiAgICAgTWFjcm9Bc3NlbWJsZXJD
b2RlUHRyIGNvZGVQdHI7CiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSAwOwogICAgIGlmIChl
eGVjdXRhYmxlLT5pc0hvc3RGdW5jdGlvbigpKQotICAgICAgICBjb2RlUHRyID0gZXhlY3V0YWJs
ZS0+aG9zdENvZGVFbnRyeUZvcihraW5kKTsKKyAgICAgICAgY29kZVB0ciA9IGV4ZWN1dGFibGUt
PmVudHJ5cG9pbnRGb3Iodm0sIGtpbmQsIE11c3RDaGVja0FyaXR5LCBSZWdpc3RlclByZXNlcnZh
dGlvbk5vdFJlcXVpcmVkKTsKICAgICBlbHNlIHsKICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxl
KiBmdW5jdGlvbkV4ZWN1dGFibGUgPSBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihl
eGVjdXRhYmxlKTsKICAgICAgICAgSlNPYmplY3QqIGVycm9yID0gZnVuY3Rpb25FeGVjdXRhYmxl
LT5wcmVwYXJlRm9yRXhlY3V0aW9uKGV4ZWNDYWxsZWUsIGNhbGxlZS0+c2NvcGUoKSwga2luZCk7
CkBAIC0xMDUzLDEyICsxMDg4LDE2IEBAIGlubGluZSBTbG93UGF0aFJldHVyblR5cGUgc2V0VXBD
YWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSW5zdHJ1Y3Rpb24qIHBjLCBDb2RlCiAgICAgICAg
ICAgICBMTElOVF9DQUxMX1RIUk9XKGV4ZWNDYWxsZWUtPmNhbGxlckZyYW1lKCksIGVycm9yKTsK
ICAgICAgICAgY29kZUJsb2NrID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5jb2RlQmxvY2tGb3Ioa2lu
ZCk7CiAgICAgICAgIEFTU0VSVChjb2RlQmxvY2spOworICAgICAgICBBcml0eUNoZWNrTW9kZSBh
cml0eTsKICAgICAgICAgaWYgKGV4ZWNDYWxsZWUtPmFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlz
KCkgPCBzdGF0aWNfY2FzdDxzaXplX3Q+KGNvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpKSkKLSAg
ICAgICAgICAgIGNvZGVQdHIgPSBmdW5jdGlvbkV4ZWN1dGFibGUtPmpzQ29kZVdpdGhBcml0eUNo
ZWNrRW50cnlGb3Ioa2luZCk7CisgICAgICAgICAgICBhcml0eSA9IE11c3RDaGVja0FyaXR5Owog
ICAgICAgICBlbHNlCi0gICAgICAgICAgICBjb2RlUHRyID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5q
c0NvZGVFbnRyeUZvcihraW5kKTsKKyAgICAgICAgICAgIGFyaXR5ID0gQXJpdHlDaGVja05vdFJl
cXVpcmVkOworICAgICAgICBjb2RlUHRyID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5lbnRyeXBvaW50
Rm9yKHZtLCBraW5kLCBhcml0eSwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Ob3RSZXF1aXJlZCk7CiAg
ICAgfQogICAgIAorICAgIEFTU0VSVCghIWNvZGVQdHIpOworICAgIAogICAgIGlmICghTExJTlRf
QUxXQVlTX0FDQ0VTU19TTE9XICYmIGNhbGxMaW5rSW5mbykgewogICAgICAgICBFeGVjU3RhdGUq
IGV4ZWNDYWxsZXIgPSBleGVjQ2FsbGVlLT5jYWxsZXJGcmFtZSgpOwogICAgICAgICAKQEAgLTEx
MTAsMTkgKzExNDksMTkgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX2NvbnN0cnVj
dCkKICAgICByZXR1cm4gZ2VuZXJpY0NhbGwoZXhlYywgcGMsIENvZGVGb3JDb25zdHJ1Y3QpOwog
fQogCi1MTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfc2l6ZV9hbmRfYWxsb2NfZnJhbWVf
Zm9yX3ZhcmFyZ3MpCitMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfc2l6ZV9mcmFtZV9m
b3JfdmFyYXJncykKIHsKICAgICBMTElOVF9CRUdJTigpOwogICAgIC8vIFRoaXMgbmVlZHMgdG86
CiAgICAgLy8gLSBTZXQgdXAgYSBjYWxsIGZyYW1lIHdoaWxlIHJlc3BlY3RpbmcgdGhlIHZhcmlh
YmxlIGFyZ3VtZW50cy4KICAgICAKLSAgICBFeGVjU3RhdGUqIGV4ZWNDYWxsZWUgPSBzaXplQW5k
QWxsb2NGcmFtZUZvclZhcmFyZ3MoZXhlYywgJnZtLmludGVycHJldGVyLT5zdGFjaygpLAorICAg
IEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSA9IHNpemVGcmFtZUZvclZhcmFyZ3MoZXhlYywgJnZtLmlu
dGVycHJldGVyLT5zdGFjaygpLAogICAgICAgICBMTElOVF9PUF9DKDQpLmpzVmFsdWUoKSwgcGNb
NV0udS5vcGVyYW5kKTsKICAgICBMTElOVF9DQUxMX0NIRUNLX0VYQ0VQVElPTihleGVjKTsKICAg
ICAKICAgICB2bS5uZXdDYWxsRnJhbWVSZXR1cm5WYWx1ZSA9IGV4ZWNDYWxsZWU7CiAKLSAgICBM
TElOVF9FTkQoKTsKKyAgICBMTElOVF9SRVRVUk5fQ0FMTEVFX0ZSQU1FKGV4ZWNDYWxsZWUpOwog
fQogCiBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfY2FsbF92YXJhcmdzKQpAQCAtMTMx
MiwxMyArMTM1MSw2IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wcm9maWxlX2Rp
ZF9jYWxsKQogICAgIExMSU5UX0VORCgpOwogfQogCi1MTElOVF9TTE9XX1BBVEhfREVDTCh0aHJv
d19mcm9tX25hdGl2ZV9jYWxsKQotewotICAgIExMSU5UX0JFR0lOKCk7Ci0gICAgQVNTRVJUKHZt
LmV4Y2VwdGlvbigpKTsKLSAgICBMTElOVF9FTkQoKTsKLX0KLQogTExJTlRfU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX2hhbmRsZV9leGNlcHRpb24pCiB7CiAgICAgTExJTlRfQkVHSU5fTk9fU0VU
X1BDKCk7CkBAIC0xMzg4LDYgKzE0MjAsMjMgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX3B1dF90b19zY29wZSkKICAgICBMTElOVF9FTkQoKTsKIH0KIAorU2xvd1BhdGhSZXR1cm5U
eXBlIGxsaW50X3Rocm93X3N0YWNrX292ZXJmbG93X2Vycm9yKFZNKiB2bSwgUHJvdG9DYWxsRnJh
bWUqIHByb3RvRnJhbWUpCit7CisgICAgRXhlY1N0YXRlKiBleGVjID0gdm0tPnRvcENhbGxGcmFt
ZTsKKyAgICBpZiAoIWV4ZWMpCisgICAgICAgIGV4ZWMgPSBwcm90b0ZyYW1lLT5zY29wZSgpLT5n
bG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpOworICAgIHRocm93U3RhY2tPdmVyZmxvd0Vycm9y
KGV4ZWMpOworICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7Cit9CisKKyNpZiBFTkFCTEUo
TExJTlRfQ19MT09QKQorU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3N0YWNrX2NoZWNrX2F0X3Zt
X2VudHJ5KFZNKiB2bSwgUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCit7CisgICAgYm9vbCBzdWNj
ZXNzID0gdm0tPmludGVycHJldGVyLT5zdGFjaygpLmVuc3VyZUNhcGFjaXR5Rm9yKG5ld1RvcE9m
U3RhY2spOworICAgIHJldHVybiBlbmNvZGVSZXN1bHQocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4o
c3VjY2VzcyksIDApOworfQorI2VuZGlmCisKIGV4dGVybiAiQyIgdm9pZCBsbGludF93cml0ZV9i
YXJyaWVyX3Nsb3coRXhlY1N0YXRlKiwgSlNDZWxsKiBjZWxsKQogewogICAgIEhlYXA6OndyaXRl
QmFycmllcihjZWxsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1Bh
dGhzLmgKaW5kZXggOGQ2MGFmYTI0YWRmYTMwMmIxNTI4YTBlNDNlYzIzMjc3MGU4ZmU3ZS4uOThh
ODcwMmI4MmIzMzQ2YjhmZTNjN2I1ZTYyNGVjNTQyNmQyMDgwZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM2LDYgKzM2LDcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAKIGNsYXNzIEV4ZWNTdGF0ZTsKIHN0cnVjdCBJbnN0cnVjdGlvbjsKK3N0cnVjdCBQ
cm90b0NhbGxGcmFtZTsKIAogbmFtZXNwYWNlIExMSW50IHsKIApAQCAtMTAxLDcgKzEwMiw3IEBA
IExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpOwogTExJTlRf
U0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApOwogTExJTlRfU0xP
V19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURE
RU5fREVDTChzbG93X3BhdGhfY29uc3RydWN0KTsKLUxMSU5UX1NMT1dfUEFUSF9ISURERU5fREVD
TChzbG93X3BhdGhfc2l6ZV9hbmRfYWxsb2NfZnJhbWVfZm9yX3ZhcmFyZ3MpOworTExJTlRfU0xP
V19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zaXplX2ZyYW1lX2Zvcl92YXJhcmdzKTsKIExM
SU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfY2FsbF92YXJhcmdzKTsKIExMSU5U
X1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfY2FsbF9ldmFsKTsKIExMSU5UX1NMT1df
UEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfdGVhcl9vZmZfYWN0aXZhdGlvbik7CkBAIC0xMTks
MTEgKzEyMCwxNCBAQCBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2hhbmRs
ZV93YXRjaGRvZ190aW1lcik7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRo
X2RlYnVnKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfcHJvZmlsZV93
aWxsX2NhbGwpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9wcm9maWxl
X2RpZF9jYWxsKTsKLUxMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTCh0aHJvd19mcm9tX25hdGl2
ZV9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfaGFuZGxlX2V4
Y2VwdGlvbik7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3Jlc29sdmVf
c2NvcGUpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9nZXRfZnJvbV9z
Y29wZSk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3B1dF90b19zY29w
ZSk7CitleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF90aHJvd19zdGFja19vdmVy
Zmxvd19lcnJvcihWTSosIFByb3RvQ2FsbEZyYW1lKik7CisjaWYgRU5BQkxFKExMSU5UX0NfTE9P
UCkKK2V4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3N0YWNrX2NoZWNrX2F0X3Zt
X2VudHJ5KFZNKiwgUmVnaXN0ZXIqKTsKKyNlbmRpZgogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6
TExJbnQKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50VGh1
bmtzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5jcHAKaW5k
ZXggOTQyOWU2Y2I1MmRiZTA5YzE3M2E1MWY2MjY5ZTEyOWY5YWQwODY3Ni4uM2VjMTRkMjQxMGQz
ZThkYzY0ODA4NTc5OTMzMmU1OTNlNWMzZjJkYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50VGh1bmtzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRUaHVua3MuY3BwCkBAIC05NCw1OCArOTQsMTYgQEAgTWFjcm9Bc3NlbWJsZXJD
b2RlUmVmIHByb2dyYW1FbnRyeVRodW5rR2VuZXJhdG9yKFZNKiB2bSkKIAogLy8gTm9uLUpJVCAo
aS5lLiBDIExvb3AgTExJTlQpIGNhc2U6CiAKLXR5cGVkZWYgSlNWYWx1ZSAoKkV4ZWN1dGVDb2Rl
KSAoQ2FsbEZyYW1lKiwgdm9pZCogZXhlY3V0YWJsZUFkZHJlc3MpOwotCi10ZW1wbGF0ZTxFeGVj
dXRlQ29kZSBleGVjdXRlPgotRW5jb2RlZEpTVmFsdWUgZG9DYWxsVG9KYXZhU2NyaXB0KHZvaWQq
IGV4ZWN1dGFibGVBZGRyZXNzLCBQcm90b0NhbGxGcmFtZSogcHJvdG9DYWxsRnJhbWUpCitFbmNv
ZGVkSlNWYWx1ZSBjYWxsVG9KYXZhU2NyaXB0KHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzLCBWTSog
dm0sIFByb3RvQ2FsbEZyYW1lKiBwcm90b0NhbGxGcmFtZSkKIHsKLSAgICBDb2RlQmxvY2sqIGNv
ZGVCbG9jayA9IHByb3RvQ2FsbEZyYW1lLT5jb2RlQmxvY2soKTsKLSAgICBKU1Njb3BlKiBzY29w
ZSA9IHByb3RvQ2FsbEZyYW1lLT5zY29wZSgpOwotICAgIEpTT2JqZWN0KiBjYWxsZWUgPSBwcm90
b0NhbGxGcmFtZS0+Y2FsbGVlKCk7Ci0gICAgaW50IGFyZ0NvdW50SW5jbHVkaW5nVGhpcyA9IHBy
b3RvQ2FsbEZyYW1lLT5hcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcygpOwotICAgIGludCBhcmdD
b3VudCA9IHByb3RvQ2FsbEZyYW1lLT5hcmd1bWVudENvdW50KCk7Ci0gICAgSlNWYWx1ZSB0aGlz
VmFsdWUgPSBwcm90b0NhbGxGcmFtZS0+dGhpc1ZhbHVlKCk7Ci0gICAgSlNTdGFjayYgc3RhY2sg
PSBzY29wZS0+dm0oKS0+aW50ZXJwcmV0ZXItPnN0YWNrKCk7Ci0KLSAgICBDYWxsRnJhbWUqIG5l
d0NhbGxGcmFtZSA9IHN0YWNrLnB1c2hGcmFtZShjb2RlQmxvY2ssIHNjb3BlLCBhcmdDb3VudElu
Y2x1ZGluZ1RoaXMsIGNhbGxlZSk7Ci0gICAgaWYgKFVOTElLRUxZKCFuZXdDYWxsRnJhbWUpKSB7
Ci0gICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBzY29wZS0+Z2xvYmFsT2Jq
ZWN0KCk7Ci0gICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhl
YygpOwotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93U3RhY2tPdmVyZmxvd0Vy
cm9yKGV4ZWMpKTsKLSAgICB9Ci0KLSAgICAvLyBTZXQgdGhlIGFyZ3VtZW50cyBmb3IgdGhlIGNh
bGxlZToKLSAgICBuZXdDYWxsRnJhbWUtPnNldFRoaXNWYWx1ZSh0aGlzVmFsdWUpOwotICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgYXJnQ291bnQ7ICsraSkKLSAgICAgICAgbmV3Q2FsbEZyYW1lLT5z
ZXRBcmd1bWVudChpLCBwcm90b0NhbGxGcmFtZS0+YXJndW1lbnQoaSkpOwotCi0gICAgSlNWYWx1
ZSByZXN1bHQgPSBleGVjdXRlKG5ld0NhbGxGcmFtZSwgZXhlY3V0YWJsZUFkZHJlc3MpOwotCi0g
ICAgc3RhY2sucG9wRnJhbWUobmV3Q2FsbEZyYW1lKTsKLQorICAgIEpTVmFsdWUgcmVzdWx0ID0g
Q0xvb3A6OmV4ZWN1dGUobGxpbnRfY2FsbF90b19qYXZhc2NyaXB0LCBleGVjdXRhYmxlQWRkcmVz
cywgdm0sIHByb3RvQ2FsbEZyYW1lKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3Vs
dCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBleGVjdXRlSlMoQ2FsbEZyYW1lKiBuZXdD
YWxsRnJhbWUsIHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzKQotewotICAgIE9wY29kZSBlbnRyeU9w
Y29kZSA9ICpyZWludGVycHJldF9jYXN0PE9wY29kZSo+KCZleGVjdXRhYmxlQWRkcmVzcyk7Ci0g
ICAgcmV0dXJuIENMb29wOjpleGVjdXRlKG5ld0NhbGxGcmFtZSwgZW50cnlPcGNvZGUpOwotfQot
Ci1FbmNvZGVkSlNWYWx1ZSBjYWxsVG9KYXZhU2NyaXB0KHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNz
LCBFeGVjU3RhdGUqKiwgUHJvdG9DYWxsRnJhbWUqIHByb3RvQ2FsbEZyYW1lLCBSZWdpc3Rlciop
Ci17Ci0gICAgcmV0dXJuIGRvQ2FsbFRvSmF2YVNjcmlwdDxleGVjdXRlSlM+KGV4ZWN1dGFibGVB
ZGRyZXNzLCBwcm90b0NhbGxGcmFtZSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBleGVj
dXRlTmF0aXZlKENhbGxGcmFtZSogbmV3Q2FsbEZyYW1lLCB2b2lkKiBleGVjdXRhYmxlQWRkcmVz
cykKLXsKLSAgICBOYXRpdmVGdW5jdGlvbiBmdW5jdGlvbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8TmF0
aXZlRnVuY3Rpb24+KGV4ZWN1dGFibGVBZGRyZXNzKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZGVj
b2RlKGZ1bmN0aW9uKG5ld0NhbGxGcmFtZSkpOwotfQotCi1FbmNvZGVkSlNWYWx1ZSBjYWxsVG9O
YXRpdmVGdW5jdGlvbih2b2lkKiBleGVjdXRhYmxlQWRkcmVzcywgRXhlY1N0YXRlKiosIFByb3Rv
Q2FsbEZyYW1lKiBwcm90b0NhbGxGcmFtZSwgUmVnaXN0ZXIqKQorRW5jb2RlZEpTVmFsdWUgY2Fs
bFRvTmF0aXZlRnVuY3Rpb24odm9pZCogZXhlY3V0YWJsZUFkZHJlc3MsIFZNKiB2bSwgUHJvdG9D
YWxsRnJhbWUqIHByb3RvQ2FsbEZyYW1lKQogewotICAgIHJldHVybiBkb0NhbGxUb0phdmFTY3Jp
cHQ8ZXhlY3V0ZU5hdGl2ZT4oZXhlY3V0YWJsZUFkZHJlc3MsIHByb3RvQ2FsbEZyYW1lKTsKKyAg
ICBKU1ZhbHVlIHJlc3VsdCA9IENMb29wOjpleGVjdXRlKGxsaW50X2NhbGxfdG9fbmF0aXZlX2Z1
bmN0aW9uLCBleGVjdXRhYmxlQWRkcmVzcywgdm0sIHByb3RvQ2FsbEZyYW1lKTsKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoSklUKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50VGh1bmtzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRUaHVua3MuaAppbmRleCA4YTg5NGFhNDFj
Mjg5MWY4Y2JiMzcyMDliZGFhMjk3ZDZhNjg5ZGM3Li4zNjE4Njk1MmNhZDg4ZGQyYzhkZTA0OGIx
ZjdjOGFiYTFhNGNiZmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRUaHVua3MuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRUaHVu
a3MuaApAQCAtMzQsMTYgKzM0LDE0IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1jbGFzcyBFeGVj
U3RhdGU7Ci1jbGFzcyBSZWdpc3RlcjsKIGNsYXNzIFZNOwogc3RydWN0IFByb3RvQ2FsbEZyYW1l
OwogCiBleHRlcm4gIkMiIHsKLSAgICBFbmNvZGVkSlNWYWx1ZSBjYWxsVG9KYXZhU2NyaXB0KHZv
aWQqLCBFeGVjU3RhdGUqKiwgUHJvdG9DYWxsRnJhbWUqLCBSZWdpc3RlciopOwotICAgIEVuY29k
ZWRKU1ZhbHVlIGNhbGxUb05hdGl2ZUZ1bmN0aW9uKHZvaWQqLCBFeGVjU3RhdGUqKiwgUHJvdG9D
YWxsRnJhbWUqLCBSZWdpc3RlciopOworICAgIEVuY29kZWRKU1ZhbHVlIGNhbGxUb0phdmFTY3Jp
cHQodm9pZCosIFZNKiwgUHJvdG9DYWxsRnJhbWUqKTsKKyAgICBFbmNvZGVkSlNWYWx1ZSBjYWxs
VG9OYXRpdmVGdW5jdGlvbih2b2lkKiwgVk0qLCBQcm90b0NhbGxGcmFtZSopOwogI2lmIEVOQUJM
RShKSVQpCi0gICAgdm9pZCByZXR1cm5Gcm9tSmF2YVNjcmlwdCgpOworICAgIHZvaWQgaGFuZGxl
VW5jYXVnaHRFeGNlcHRpb24oKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggYmU4NGRlZTM2NmNi
ZWRjMmIzZjE5NzdkMzkyMTQyYjBkOGE1N2UzYS4uMTllN2YzMzY1YThjNDA3ZWQxMDQwYTg3NTUz
MTBlYjY4Yjk1MWMyZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtMzgsOSArMzgsMTIgQEAgY29uc3QgQ2FsbEZyYW1l
SGVhZGVyU2xvdHMgPSA2CiBlbHNlCiBjb25zdCBQdHJTaXplID0gNAogY29uc3QgQ2FsbEZyYW1l
SGVhZGVyU2xvdHMgPSA1Citjb25zdCBDYWxsRnJhbWVBbGlnblNsb3RzID0gMQogZW5kCiBjb25z
dCBTbG90U2l6ZSA9IDgKIAorY29uc3QgQ2FsbGVyRnJhbWVBbmRQQ1NpemUgPSAyICogUHRyU2l6
ZQorCiBjb25zdCBDYWxsZXJGcmFtZSA9IDAKIGNvbnN0IFJldHVyblBDID0gQ2FsbGVyRnJhbWUg
KyBQdHJTaXplCiBjb25zdCBDb2RlQmxvY2sgPSBSZXR1cm5QQyArIFB0clNpemUKQEAgLTcxLDYg
Kzc0LDE2IEBAIGNvbnN0IERlbGV0ZWRWYWx1ZVRhZyA9IC03CiBjb25zdCBMb3dlc3RUYWcgPSBE
ZWxldGVkVmFsdWVUYWcKIGVuZAogCitpZiBYODZfNjQgb3IgQVJNNjQgb3IgQ19MT09QCitjb25z
dCBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9IDAKK2Vsc2lmIEFSTSBvciBBUk12N19U
UkFESVRJT05BTCBvciBBUk12NyBvciBTSDQKK2NvbnN0IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1Bh
dGhDYWxsID0gMjQKK2Vsc2lmIFg4NgorY29uc3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENh
bGwgPSA0MAorZWxzaWYgTUlQUworY29uc3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwg
PSA0MAorZW5kCisKICMgV2F0Y2hwb2ludCBzdGF0ZXMKIGNvbnN0IENsZWFyV2F0Y2hwb2ludCA9
IDAKIGNvbnN0IElzV2F0Y2hlZCA9IDEKQEAgLTg1LDcgKzk4LDcgQEAgaWYgSlNWQUxVRTY0CiAg
ICAgIyAgIHRvIEMgZnVuY3Rpb25zLgogICAgICMgLSBDIGNhbGxzIGFyZSBzdGlsbCBnaXZlbiB0
aGUgSW5zdHJ1Y3Rpb24qIHJhdGhlciB0aGFuIHRoZSBQQyBpbmRleC4KICAgICAjICAgVGhpcyBy
ZXF1aXJlcyBhbiBhZGQgYmVmb3JlIHRoZSBjYWxsLCBhbmQgYSBzdWIgYWZ0ZXIuCi0gICAgY29u
c3QgUEMgPSB0NAorICAgIGNvbnN0IFBDID0gdDUKICAgICBjb25zdCBQQiA9IHQ2CiAgICAgY29u
c3QgdGFnVHlwZU51bWJlciA9IGNzcjEKICAgICBjb25zdCB0YWdNYXNrID0gY3NyMgpAQCAtMTAz
LDcgKzExNiw3IEBAIGlmIEpTVkFMVUU2NAogICAgIGVuZAogCiBlbHNlCi0gICAgY29uc3QgUEMg
PSB0NAorICAgIGNvbnN0IFBDID0gdDUKICAgICBtYWNybyBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24o
b2Zmc2V0LCBkZXN0KQogICAgICAgICBsb2FkaXMgb2Zmc2V0ICogNFtQQ10sIGRlc3QKICAgICBl
bmQKQEAgLTIxMCw2ICsyMjMsNTIgQEAgbWFjcm8gYXNzZXJ0KGFzc2VydGlvbikKICAgICBlbmQK
IGVuZAogCittYWNybyBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0ZW1wUmVnLCBsb2NhdGlv
bikKKyAgICBpZiBBUk02NCBvciBDX0xPT1AKKyAgICAgICAgIyBBUk02NCB3aWxsIGNoZWNrIGZv
ciB1cyEKKyAgICAgICAgIyBDX0xPT1AgZG9lcyBub3QgbmVlZCB0aGUgYWxpZ25tZW50LCBhbmQg
Y2FuIHVzZSBhIGxpdHRsZSBwZXJmCisgICAgICAgICMgaW1wcm92ZW1lbnQgZnJvbSBhdm9pZGlu
ZyB1c2VsZXNzIHdvcmsuCisgICAgZWxzZQorICAgICAgICBpZiBBUk0gb3IgQVJNdjcgb3IgQVJN
djdfVFJBRElUSU9OQUwKKyAgICAgICAgICAgICMgQVJNIGNhbid0IGRvIGxvZ2ljYWwgb3BzIHdp
dGggdGhlIHNwIGFzIGEgc291cmNlCisgICAgICAgICAgICBtb3ZlIHNwLCB0ZW1wUmVnCisgICAg
ICAgICAgICBhbmRwIDB4ZiwgdGVtcFJlZworICAgICAgICBlbHNlCisgICAgICAgICAgICBhbmRw
IHNwLCAweGYsIHRlbXBSZWcKKyAgICAgICAgZW5kCisgICAgICAgIGJ0cHogdGVtcFJlZywgLnN0
YWNrUG9pbnRlck9rYXkKKyAgICAgICAgbW92ZSBsb2NhdGlvbiwgdGVtcFJlZworICAgICAgICBi
cmVhaworICAgIC5zdGFja1BvaW50ZXJPa2F5OgorICAgIGVuZAorZW5kCisKK21hY3JvIHByZXNl
cnZlQ2FsbGVyUENBbmRDRlIoKQorICAgIGlmIENfTE9PUCBvciBBUk0gb3IgQVJNdjcgb3IgQVJN
djdfVFJBRElUSU9OQUwgb3IgTUlQUyBvciBTSDQKKyAgICAgICAgcHVzaCBscgorICAgICAgICBw
dXNoIGNmcgorICAgIGVsc2lmIFg4NiBvciBYODZfNjQKKyAgICAgICAgcHVzaCBjZnIKKyAgICBl
bHNpZiBBUk02NAorICAgICAgICBwdXNoTFJBbmRGUAorICAgIGVsc2UKKyAgICAgICAgZXJyb3IK
KyAgICBlbmQKKyAgICBtb3ZlIHNwLCBjZnIKK2VuZAorCittYWNybyByZXN0b3JlQ2FsbGVyUENB
bmRDRlIoKQorICAgIG1vdmUgY2ZyLCBzcAorICAgIGlmIENfTE9PUCBvciBBUk0gb3IgQVJNdjcg
b3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgTUlQUyBvciBTSDQKKyAgICAgICAgcG9wIGNmcgorICAg
ICAgICBwb3AgbHIKKyAgICBlbHNpZiBYODYgb3IgWDg2XzY0CisgICAgICAgIHBvcCBjZnIKKyAg
ICBlbHNpZiBBUk02NAorICAgICAgICBwb3BMUkFuZEZQCisgICAgZW5kCitlbmQKKwogbWFjcm8g
cHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKGRlc3RpbmF0aW9uUmVnaXN0ZXIpCiAgICAg
aWYgQ19MT09QIG9yIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTCBvciBBUk02NCBv
ciBNSVBTIG9yIFNINAogICAgICAgICAjIEluIENfTE9PUCBjYXNlLCB3ZSdyZSBvbmx5IHByZXNl
cnZpbmcgdGhlIGJ5dGVjb2RlIHZQQy4KQEAgLTIzMiwzMSArMjkxLDEyMiBAQCBtYWNybyByZXN0
b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybihzb3VyY2VSZWdpc3RlcikKICAgICBlbmQKIGVu
ZAogCittYWNybyBmdW5jdGlvblByb2xvZ3VlKCkKKyAgICBpZiBYODYgb3IgWDg2XzY0CisgICAg
ICAgIHB1c2ggY2ZyCisgICAgZWxzaWYgQVJNNjQKKyAgICAgICAgcHVzaExSQW5kRlAKKyAgICBl
bHNpZiBDX0xPT1Agb3IgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIE1JUFMK
KyAgICAgICAgcHVzaCBscgorICAgICAgICBwdXNoIGNmcgorICAgIGVuZAorICAgIG1vdmUgc3As
IGNmcgorZW5kCisKK21hY3JvIGZ1bmN0aW9uRXBpbG9ndWUoKQorICAgIGlmIFg4NiBvciBYODZf
NjQKKyAgICAgICAgcG9wIGNmcgorICAgIGVsc2lmIEFSTTY0CisgICAgICAgIHBvcExSQW5kRlAK
KyAgICBlbHNpZiBDX0xPT1Agb3IgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9y
IE1JUFMKKyAgICAgICAgcG9wIGNmcgorICAgICAgICBwb3AgbHIKKyAgICBlbmQKK2VuZAorCitt
YWNybyBjYWxsVG9KYXZhU2NyaXB0UHJvbG9ndWUoKQorICAgIGlmIFg4Nl82NAorICAgICAgICBw
dXNoIGNmcgorICAgICAgICBwdXNoIHQwCisgICAgZWxzaWYgWDg2CisgICAgICAgIHB1c2ggY2Zy
CisgICAgZWxzaWYgQVJNNjQKKyAgICAgICAgcHVzaExSQW5kRlAKKyAgICBlbHNpZiBDX0xPT1Ag
b3IgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIE1JUFMKKyAgICAgICAgcHVz
aCBscgorICAgICAgICBwdXNoIGNmcgorICAgIGVuZAorICAgIHB1c2hDYWxsZWVTYXZlcworICAg
IGlmIFg4NgorICAgICAgICBzdWJwIDEyLCBzcAorICAgIGVsc2lmIEFSTSBvciBBUk12NyBvciBB
Uk12N19UUkFESVRJT05BTAorICAgICAgICBzdWJwIDQsIHNwCisgICAgICAgIG1vdmUgc3AsIHQ0
CisgICAgICAgIGNscmJwIHQ0LCAweGYsIHQ1CisgICAgICAgIG1vdmUgdDUsIHNwCisgICAgICAg
IHN0b3JlcCB0NCwgW3NwXQorICAgIGVuZAorZW5kCisKK21hY3JvIGNhbGxUb0phdmFTY3JpcHRF
cGlsb2d1ZSgpCisgICAgYWRkcCBDYWxsRnJhbWVIZWFkZXJTbG90cyAqIDgsIGNmciwgc3AKKyAg
ICBsb2FkcCBDYWxsZXJGcmFtZVtjZnJdLCBjZnIKKworICAgIGlmIFg4NgorICAgICAgICBhZGRw
IDEyLCBzcAorICAgIGVsc2lmIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTAorICAg
ICAgICBwb3AgdDQKKyAgICAgICAgbW92ZSB0NCwgc3AKKyAgICAgICAgYWRkcCA0LCBzcAorICAg
IGVuZAorCisgICAgcG9wQ2FsbGVlU2F2ZXMKKyAgICBpZiBYODZfNjQKKyAgICAgICAgcG9wIHQy
CisgICAgICAgIHBvcCBjZnIKKyAgICBlbHNpZiBYODYKKyAgICAgICAgcG9wIGNmcgorICAgIGVs
c2lmIEFSTTY0CisgICAgICAgIHBvcExSQW5kRlAKKyAgICBlbHNpZiBDX0xPT1Agb3IgQVJNIG9y
IEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIE1JUFMKKyAgICAgICAgcG9wIGNmcgorICAg
ICAgICBwb3AgbHIKKyAgICBlbmQKK2VuZAorCittYWNybyBtb3ZlU3RhY2tQb2ludGVyRm9yQ29k
ZUJsb2NrKGNvZGVCbG9jaywgc2NyYXRjaCkKKyAgICBsb2FkaSBDb2RlQmxvY2s6Om1fbnVtQ2Fs
bGVlUmVnaXN0ZXJzW2NvZGVCbG9ja10sIHNjcmF0Y2gKKyAgICBsc2hpZnRwIDMsIHNjcmF0Y2gK
KyAgICBhZGRwIG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLCBzY3JhdGNoCisgICAgc3Vi
cCBjZnIsIHNjcmF0Y2gsIHNwCitlbmQKKworbWFjcm8gcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVy
Q2FsbCgpCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQyCisgICAgbW92ZVN0YWNrUG9pbnRl
ckZvckNvZGVCbG9jayh0MiwgdDQpCitlbmQKKwogbWFjcm8gdHJhY2VFeGVjdXRpb24oKQogICAg
IGlmIEVYRUNVVElPTl9UUkFDSU5HCiAgICAgICAgIGNhbGxTbG93UGF0aChfbGxpbnRfdHJhY2Up
CiAgICAgZW5kCiBlbmQKIAotbWFjcm8gY2FsbFRhcmdldEZ1bmN0aW9uKGNhbGxMaW5rSW5mbykK
K21hY3JvIGNhbGxUYXJnZXRGdW5jdGlvbihjYWxsTGlua0luZm8sIGNhbGxlZUZyYW1lUHRyKQor
ICAgIG1vdmUgY2FsbGVlRnJhbWVQdHIsIHNwCiAgICAgaWYgQ19MT09QCiAgICAgICAgIGNsb29w
Q2FsbEpTRnVuY3Rpb24gTExJbnRDYWxsTGlua0luZm86Om1hY2hpbmVDb2RlVGFyZ2V0W2NhbGxM
aW5rSW5mb10KICAgICBlbHNlCiAgICAgICAgIGNhbGwgTExJbnRDYWxsTGlua0luZm86Om1hY2hp
bmVDb2RlVGFyZ2V0W2NhbGxMaW5rSW5mb10KLSAgICAgICAgZGlzcGF0Y2hBZnRlckNhbGwoKQog
ICAgIGVuZAorICAgIHJlc3RvcmVTdGFja1BvaW50ZXJBZnRlckNhbGwoKQorICAgIGRpc3BhdGNo
QWZ0ZXJDYWxsKCkKIGVuZAogCiBtYWNybyBzbG93UGF0aEZvckNhbGwoc2xvd1BhdGgpCiAgICAg
Y2FsbENhbGxTbG93UGF0aCgKICAgICAgICAgc2xvd1BhdGgsCiAgICAgICAgIG1hY3JvIChjYWxs
ZWUpCisgICAgICAgICAgICBidHB6IHQxLCAuZG9udFVwZGF0ZVNQCisgICAgICAgICAgICBhZGRw
IENhbGxlckZyYW1lQW5kUENTaXplLCB0MSwgc3AKKyAgICAgICAgLmRvbnRVcGRhdGVTUDoKICAg
ICAgICAgICAgIGlmIENfTE9PUAogICAgICAgICAgICAgICAgIGNsb29wQ2FsbEpTRnVuY3Rpb24g
Y2FsbGVlCiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgY2FsbCBjYWxsZWUKLSAg
ICAgICAgICAgICAgICBkaXNwYXRjaEFmdGVyQ2FsbCgpCiAgICAgICAgICAgICBlbmQKKyAgICAg
ICAgICAgIHJlc3RvcmVTdGFja1BvaW50ZXJBZnRlckNhbGwoKQorICAgICAgICAgICAgZGlzcGF0
Y2hBZnRlckNhbGwoKQogICAgICAgICBlbmQpCiBlbmQKIApAQCAtMzI1LDI2ICs0NzUsNDggQEAg
ZW5kCiAjIERvIHRoZSBiYXJlIG1pbmltdW0gcmVxdWlyZWQgdG8gZXhlY3V0ZSBjb2RlLiBTZXRz
IHVwIHRoZSBQQywgbGVhdmUgdGhlIENvZGVCbG9jayoKICMgaW4gdDEuIE1heSBhbHNvIHRyaWdn
ZXIgcHJvbG9ndWUgZW50cnkgT1NSLgogbWFjcm8gcHJvbG9ndWUoY29kZUJsb2NrR2V0dGVyLCBj
b2RlQmxvY2tTZXR0ZXIsIG9zclNsb3dQYXRoLCB0cmFjZVNsb3dQYXRoKQotICAgIHByZXNlcnZl
UmV0dXJuQWRkcmVzc0FmdGVyQ2FsbCh0MikKLSAgICAKICAgICAjIFNldCB1cCB0aGUgY2FsbCBm
cmFtZSBhbmQgY2hlY2sgaWYgd2Ugc2hvdWxkIE9TUi4KLSAgICBzdG9yZXAgdDIsIFJldHVyblBD
W2Nmcl0KKyAgICBwcmVzZXJ2ZUNhbGxlclBDQW5kQ0ZSKCkKKwogICAgIGlmIEVYRUNVVElPTl9U
UkFDSU5HCisgICAgICAgIHN1YnAgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwsIHNwCiAg
ICAgICAgIGNhbGxTbG93UGF0aCh0cmFjZVNsb3dQYXRoKQorICAgICAgICBhZGRwIG1heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsLCBzcAogICAgIGVuZAogICAgIGNvZGVCbG9ja0dldHRlcih0
MSkKK2lmIENfTE9PUAorZWxzZQogICAgIGJhZGRpcyA1LCBDb2RlQmxvY2s6Om1fbGxpbnRFeGVj
dXRlQ291bnRlciArIEV4ZWN1dGlvbkNvdW50ZXI6Om1fY291bnRlclt0MV0sIC5jb250aW51ZQot
ICAgIGNDYWxsMihvc3JTbG93UGF0aCwgY2ZyLCBQQykKLSAgICBtb3ZlIHQxLCBjZnIKKyAgICBp
ZiBKU1ZBTFVFNjQKKyAgICAgICAgY0NhbGwyKG9zclNsb3dQYXRoLCBjZnIsIFBDKQorICAgIGVs
c2UKKyAgICAgICAgIyBXZSBhcmUgYWZ0ZXIgdGhlIGZ1bmN0aW9uIHByb2xvZ3VlLCBidXQgYmVm
b3JlIHdlIGhhdmUgc2V0IHVwIHNwIGZyb20gdGhlIENvZGVCbG9jay4KKyAgICAgICAgIyBUZW1w
b3JhcmlseSBhbGlnbiBzdGFjayBwb2ludGVyIGZvciB0aGlzIGNhbGwuCisgICAgICAgIHN1YnAg
OCwgc3AKKyAgICAgICAgY0NhbGwyKG9zclNsb3dQYXRoLCBjZnIsIFBDKQorICAgICAgICBhZGRw
IDgsIHNwCisgICAgZW5kCiAgICAgYnRweiB0MCwgLnJlY292ZXIKLSAgICBsb2FkcCBSZXR1cm5Q
Q1tjZnJdLCB0MgotICAgIHJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKHQyKQorICAg
IG1vdmUgY2ZyLCBzcCAjIHJlc3RvcmUgdGhlIHByZXZpb3VzIHNwCisgICAgIyBwb3AgdGhlIGNh
bGxlckZyYW1lIHNpbmNlIHdlIHdpbGwganVtcCB0byBhIGZ1bmN0aW9uIHRoYXQgd2FudHMgdG8g
c2F2ZSBpdAorICAgIGlmIEFSTTY0CisgICAgICAgIHBvcExSQW5kRlAKKyAgICBlbHNpZiBBUk0g
b3IgQVJNdjcgb3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgTUlQUyBvciBTSDQKKyAgICAgICAgcG9w
IGNmcgorICAgICAgICBwb3AgbHIKKyAgICBlbHNlCisgICAgICAgIHBvcCBjZnIKKyAgICBlbmQK
ICAgICBqbXAgdDAKIC5yZWNvdmVyOgogICAgIGNvZGVCbG9ja0dldHRlcih0MSkKIC5jb250aW51
ZToKK2VuZAorCiAgICAgY29kZUJsb2NrU2V0dGVyKHQxKQogICAgIAorICAgIG1vdmVTdGFja1Bv
aW50ZXJGb3JDb2RlQmxvY2sodDEsIHQyKQorCiAgICAgIyBTZXQgdXAgdGhlIFBDLgogICAgIGlm
IEpTVkFMVUU2NAogICAgICAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1Y3Rpb25zW3QxXSwg
UEIKQEAgLTM4OSwxNCArNTYxLDE2IEBAIG1hY3JvIGZ1bmN0aW9uSW5pdGlhbGl6YXRpb24ocHJv
ZmlsZUFyZ1NraXApCiAgICAgICAgIAogICAgICMgQ2hlY2sgc3RhY2sgaGVpZ2h0LgogICAgIGxv
YWRpIENvZGVCbG9jazo6bV9udW1DYWxsZWVSZWdpc3RlcnNbdDFdLCB0MAotICAgIGFkZGkgMSwg
dDAgIyBBY2NvdW50IHRoYXQgbG9jYWwwIGdvZXMgYXQgc2xvdCAtMQogICAgIGxvYWRwIENvZGVC
bG9jazo6bV92bVt0MV0sIHQyCiAgICAgbHNoaWZ0cCAzLCB0MAorICAgIGFkZGkgbWF4RnJhbWVF
eHRlbnRGb3JTbG93UGF0aENhbGwsIHQwCiAgICAgc3VicCBjZnIsIHQwLCB0MAogICAgIGJwYmVx
IFZNOjptX2pzU3RhY2tMaW1pdFt0Ml0sIHQwLCAuc3RhY2tIZWlnaHRPSwogCiAgICAgIyBTdGFj
ayBoZWlnaHQgY2hlY2sgZmFpbGVkIC0gbmVlZCB0byBjYWxsIGEgc2xvd19wYXRoLgogICAgIGNh
bGxTbG93UGF0aChfbGxpbnRfc3RhY2tfY2hlY2spCisgICAgYnBlcSB0MSwgMCwgLnN0YWNrSGVp
Z2h0T0sKKyAgICBtb3ZlIHQxLCBjZnIKIC5zdGFja0hlaWdodE9LOgogZW5kCiAKQEAgLTQyMywy
NSArNTk3LDY5IEBAIG1hY3JvIGFsbG9jYXRlSlNPYmplY3QoYWxsb2NhdG9yLCBzdHJ1Y3R1cmUs
IHJlc3VsdCwgc2NyYXRjaDEsIHNsb3dDYXNlKQogZW5kCiAKIG1hY3JvIGRvUmV0dXJuKCkKLSAg
ICBsb2FkcCBSZXR1cm5QQ1tjZnJdLCB0MgotICAgIGxvYWRwIENhbGxlckZyYW1lW2Nmcl0sIGNm
cgotICAgIHJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKHQyKQorICAgIHJlc3RvcmVD
YWxsZXJQQ0FuZENGUigpCiAgICAgcmV0CiBlbmQKIAotaWYgQ19MT09QCi1lbHNlCiAjIHN0dWIg
dG8gY2FsbCBpbnRvIEphdmFTY3JpcHQgb3IgTmF0aXZlIGZ1bmN0aW9ucwotIyBFbmNvZGVkSlNW
YWx1ZSBjYWxsVG9KYXZhU2NyaXB0KHZvaWQqIGNvZGUsIEV4ZWNTdGF0ZSoqIHZtLCBQcm90b0Nh
bGxGcmFtZSogcHJvdG9GcmFtZSwgUmVnaXN0ZXIqIHRvcE9mU3RhY2spCi0jIEVuY29kZWRKU1Zh
bHVlIGNhbGxUb05hdGl2ZUZ1bmN0aW9uKHZvaWQqIGNvZGUsIEV4ZWNTdGF0ZSoqIHZtLCBQcm90
b0NhbGxGcmFtZSogcHJvdG9GcmFtZSwgUmVnaXN0ZXIqIHRvcE9mU3RhY2spCisjIEVuY29kZWRK
U1ZhbHVlIGNhbGxUb0phdmFTY3JpcHQodm9pZCogY29kZSwgRXhlY1N0YXRlKiogdm1Ub3BDYWxs
RnJhbWUsIFByb3RvQ2FsbEZyYW1lKiBwcm90b0ZyYW1lKQorIyBFbmNvZGVkSlNWYWx1ZSBjYWxs
VG9OYXRpdmVGdW5jdGlvbih2b2lkKiBjb2RlLCBFeGVjU3RhdGUqKiB2bVRvcENhbGxGcmFtZSwg
UHJvdG9DYWxsRnJhbWUqIHByb3RvRnJhbWUpCiAjIE5vdGUsIGlmIHRoZXNlIHN0dWJzIG9yIG9u
ZSBvZiB0aGVpciByZWxhdGVkIG1hY3JvcyBhcmUgY2hhbmdlZCwgbWFrZSB0aGUKICMgZXF1aXZh
bGVudCBjaGFuZ2VzIGluIGppdC9KSVRTdHVic1g4Ni5oIGFuZC9vciBqaXQvSklUU3R1YnNNU1ZD
NjQuYXNtCisKK2lmIENfTE9PUAorX2xsaW50X2NhbGxfdG9famF2YXNjcmlwdDoKK2Vsc2UKIF9j
YWxsVG9KYXZhU2NyaXB0OgotICAgIGRvQ2FsbFRvSmF2YVNjcmlwdChtYWtlSmF2YVNjcmlwdENh
bGwsIGRvUmV0dXJuRnJvbUphdmFTY3JpcHQpCitlbmQKKyAgICBkb0NhbGxUb0phdmFTY3JpcHQo
bWFrZUphdmFTY3JpcHRDYWxsKQogCisKK2lmIENfTE9PUAorX2xsaW50X2NhbGxfdG9fbmF0aXZl
X2Z1bmN0aW9uOgorZWxzZQogX2NhbGxUb05hdGl2ZUZ1bmN0aW9uOgotICAgIGRvQ2FsbFRvSmF2
YVNjcmlwdChtYWtlSG9zdEZ1bmN0aW9uQ2FsbCwgZG9SZXR1cm5Gcm9tSG9zdEZ1bmN0aW9uKQog
ZW5kCisgICAgZG9DYWxsVG9KYXZhU2NyaXB0KG1ha2VIb3N0RnVuY3Rpb25DYWxsKQorCisKK2lm
IENfTE9PUAorZWxzZQorIyB2b2lkIHNhbml0aXplU3RhY2tGb3JWTUltcGwoVk0qIHZtKQorX3Nh
bml0aXplU3RhY2tGb3JWTUltcGw6CisgICAgaWYgWDg2XzY0CisgICAgICAgIGNvbnN0IHZtID0g
dDQKKyAgICAgICAgY29uc3QgYWRkcmVzcyA9IHQxCisgICAgICAgIGNvbnN0IHplcm9WYWx1ZSA9
IHQwCisgICAgZWxzaWYgWDg2CisgICAgICAgIGNvbnN0IHZtID0gdDIKKyAgICAgICAgY29uc3Qg
YWRkcmVzcyA9IHQxCisgICAgICAgIGNvbnN0IHplcm9WYWx1ZSA9IHQwCisgICAgZWxzZQorICAg
ICAgICBjb25zdCB2bSA9IGEwCisgICAgICAgIGNvbnN0IGFkZHJlc3MgPSB0MQorICAgICAgICBj
b25zdCB6ZXJvVmFsdWUgPSB0MgorICAgIGVuZAorCisgICAgaWYgWDg2CisgICAgICAgIGxvYWRw
IDRbc3BdLCB2bQorICAgIGVuZAorCisgICAgbG9hZHAgVk06Om1fbGFzdFN0YWNrVG9wW3ZtXSwg
YWRkcmVzcworICAgIGJwYmVxIHNwLCBhZGRyZXNzLCAuemVyb0ZpbGxEb25lCisKKyAgICBtb3Zl
IDAsIHplcm9WYWx1ZQorLnplcm9GaWxsTG9vcDoKKyAgICBzdG9yZXAgemVyb1ZhbHVlLCBbYWRk
cmVzc10KKyAgICBhZGRwIFB0clNpemUsIGFkZHJlc3MKKyAgICBicGEgc3AsIGFkZHJlc3MsIC56
ZXJvRmlsbExvb3AKKworLnplcm9GaWxsRG9uZToKKyAgICBtb3ZlIHNwLCBhZGRyZXNzCisgICAg
c3RvcmVwIGFkZHJlc3MsIFZNOjptX2xhc3RTdGFja1RvcFt2bV0KKyAgICByZXQKK2VuZAorCiAK
ICMgSW5kaWNhdGUgdGhlIGJlZ2lubmluZyBvZiBMTEludC4KIF9sbGludF9iZWdpbjoKQEAgLTcz
MSw4ICs5NDksMTUgQEAgX2xsaW50X29wX2NvbnN0cnVjdDoKIAogX2xsaW50X29wX2NhbGxfdmFy
YXJnczoKICAgICB0cmFjZUV4ZWN1dGlvbigpCi0gICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93
X3BhdGhfc2l6ZV9hbmRfYWxsb2NfZnJhbWVfZm9yX3ZhcmFyZ3MpCisgICAgY2FsbFNsb3dQYXRo
KF9sbGludF9zbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncykKICAgICBicmFuY2hJZkV4
Y2VwdGlvbihfbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZSkKKyAgICAjIGNh
bGxlZUZyYW1lIGluIHQxCisgICAgaWYgSlNWQUxVRTY0CisgICAgICAgIG1vdmUgdDEsIHNwCisg
ICAgZWxzZQorICAgICAgICAjIFRoZSBjYWxsZWVGcmFtZSBpcyBub3Qgc3RhY2sgYWxpZ25lZCwg
bW92ZSBkb3duIGJ5IENhbGxlckZyYW1lQW5kUENTaXplIHRvIGFsaWduCisgICAgICAgIHN1YnAg
dDEsIENhbGxlckZyYW1lQW5kUENTaXplLCBzcAorICAgIGVuZAogICAgIHNsb3dQYXRoRm9yQ2Fs
bChfbGxpbnRfc2xvd19wYXRoX2NhbGxfdmFyYXJncykKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5jcHAKaW5kZXggNDgxNDhjNmY0
NTRmOTI5NGMyMDM4YzIzZjdkY2IyYmM5YmQ0ZjRjMi4uOWJjNTVkZTI0NDZjMmRiNzg5YzA2N2E1
MTc4YzA0YzFiMTFhZDllYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDEyLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtOTAsNiArOTAsMTIgQEAgdXNpbmcgbmFtZXNwYWNl
IEpTQzo6TExJbnQ7CiAjZGVmaW5lIE9GRkxJTkVfQVNNX0JFR0lOCiAjZGVmaW5lIE9GRkxJTkVf
QVNNX0VORAogCisjaWYgRU5BQkxFKE9QQ09ERV9UUkFDSU5HKQorI2RlZmluZSBUUkFDRV9PUENP
REUob3Bjb2RlKSBkYXRhTG9nRigiICAgb3AgJXNcbiIsICNvcGNvZGUpCisjZWxzZQorI2RlZmlu
ZSBUUkFDRV9PUENPREUob3Bjb2RlKQorI2VuZGlmCisKIC8vIFRvIGtlZXAgY29tcGlsZXJzIGhh
cHB5IGluIGNhc2Ugb2YgdW51c2VkIGxhYmVscywgZm9yY2UgdXNhZ2Ugb2YgdGhlIGxhYmVsOgog
I2RlZmluZSBVU0VfTEFCRUwobGFiZWwpIFwKICAgICBkbyB7IFwKQEAgLTk3LDcgKzEwMyw3IEBA
IHVzaW5nIG5hbWVzcGFjZSBKU0M6OkxMSW50OwogICAgICAgICAgICAgZ290byBsYWJlbDsgXAog
ICAgIH0gd2hpbGUgKGZhbHNlKQogCi0jZGVmaW5lIE9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cGNvZGUpIERFRklORV9PUENPREUob3Bjb2RlKSBVU0VfTEFCRUwob3Bjb2RlKTsKKyNkZWZpbmUg
T0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wY29kZSkgREVGSU5FX09QQ09ERShvcGNvZGUpIFVT
RV9MQUJFTChvcGNvZGUpOyBUUkFDRV9PUENPREUob3Bjb2RlKTsKIAogI2lmIEVOQUJMRShDT01Q
VVRFRF9HT1RPX09QQ09ERVMpCiAjZGVmaW5lIE9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGFiZWwp
ICBsYWJlbDogVVNFX0xBQkVMKGxhYmVsKTsKQEAgLTIxMiwxMCArMjE4LDE0IEBAIHN0cnVjdCBD
TG9vcFJlZ2lzdGVyIHsKICNlbmRpZiAvLyAhQ1BVKEJJR19FTkRJQU4pCiAjZW5kaWYgLy8gIVVT
RShKU1ZBTFVFNjQpCiAKKyAgICAgICAgaW50cHRyX3QqIGlwOwogICAgICAgICBpbnQ4X3QqIGk4
cDsKICAgICAgICAgdm9pZCogdnA7CisgICAgICAgIENhbGxGcmFtZSogY2FsbEZyYW1lOwogICAg
ICAgICBFeGVjU3RhdGUqIGV4ZWNTdGF0ZTsKICAgICAgICAgdm9pZCogaW5zdHJ1Y3Rpb247Cisg
ICAgICAgIFZNKiB2bTsKKyAgICAgICAgUHJvdG9DYWxsRnJhbWUqIHByb3RvQ2FsbEZyYW1lOwog
ICAgICAgICBOYXRpdmVGdW5jdGlvbiBuYXRpdmVGdW5jOwogI2lmIFVTRShKU1ZBTFVFNjQpCiAg
ICAgICAgIGludDY0X3QgaTY0OwpAQCAtMjI2LDYgKzIzNiwxMiBAQCBzdHJ1Y3QgQ0xvb3BSZWdp
c3RlciB7CiAgICAgICAgIE9wY29kZSBvcGNvZGU7CiAgICAgfTsKIAorICAgIG9wZXJhdG9yIEV4
ZWNTdGF0ZSooKSB7IHJldHVybiBleGVjU3RhdGU7IH0KKyAgICBvcGVyYXRvciBJbnN0cnVjdGlv
biooKSB7IHJldHVybiByZWludGVycHJldF9jYXN0PEluc3RydWN0aW9uKj4oaW5zdHJ1Y3Rpb24p
OyB9CisgICAgb3BlcmF0b3IgVk0qKCkgeyByZXR1cm4gdm07IH0KKyAgICBvcGVyYXRvciBQcm90
b0NhbGxGcmFtZSooKSB7IHJldHVybiBwcm90b0NhbGxGcmFtZTsgfQorICAgIG9wZXJhdG9yIFJl
Z2lzdGVyKigpIHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8UmVnaXN0ZXIqPih2cCk7IH0KKwog
I2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgaW5saW5lIHZvaWQgY2xlYXJIaWdoV29yZCgpIHsgaTMy
cGFkZGluZyA9IDA7IH0KICNlbHNlCkBAIC0yMzcsNyArMjUzLDcgQEAgc3RydWN0IENMb29wUmVn
aXN0ZXIgewogLy8gVGhlIGxsaW50IEMrKyBpbnRlcnByZXRlciBsb29wOgogLy8KIAotSlNWYWx1
ZSBDTG9vcDo6ZXhlY3V0ZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgT3Bjb2RlIGVudHJ5T3Bjb2Rl
LCBib29sIGlzSW5pdGlhbGl6YXRpb25QYXNzKQorSlNWYWx1ZSBDTG9vcDo6ZXhlY3V0ZShPcGNv
ZGVJRCBlbnRyeU9wY29kZUlELCB2b2lkKiBleGVjdXRhYmxlQWRkcmVzcywgVk0qIHZtLCBQcm90
b0NhbGxGcmFtZSogcHJvdG9DYWxsRnJhbWUsIGJvb2wgaXNJbml0aWFsaXphdGlvblBhc3MpCiB7
CiAgICAgI2RlZmluZSBDQVNUIHJlaW50ZXJwcmV0X2Nhc3QKICAgICAjZGVmaW5lIFNJR05fQklU
MzIoeCkgKCh4KSAmIDB4ODAwMDAwMDApCkBAIC0yNzIsOCArMjg4LDYgQEAgSlNWYWx1ZSBDTG9v
cDo6ZXhlY3V0ZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgT3Bjb2RlIGVudHJ5T3Bjb2RlLCBib29s
IGlzSW5pdGlhbGkKICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKICAgICB9CiAKLSAgICBBU1NF
UlQoY2FsbEZyYW1lLT52bSgpLnRvcENhbGxGcmFtZSA9PSBjYWxsRnJhbWUpOwotCiAgICAgLy8g
RGVmaW5lIHRoZSBwc2V1ZG8gcmVnaXN0ZXJzIHVzZWQgYnkgdGhlIExMSU5UIEMgTG9vcCBiYWNr
ZW5kOgogICAgIEFTU0VSVChzaXplb2YoQ0xvb3BSZWdpc3RlcikgPT0gc2l6ZW9mKGludHB0cl90
KSk7CiAKQEAgLTMwOCw1MCArMzIyLDQ4IEBAIEpTVmFsdWUgQ0xvb3A6OmV4ZWN1dGUoQ2FsbEZy
YW1lKiBjYWxsRnJhbWUsIE9wY29kZSBlbnRyeU9wY29kZSwgYm9vbCBpc0luaXRpYWxpCiAgICAg
Ly8gMi4gMzIgYml0IHJlc3VsdCB2YWx1ZXMgd2lsbCBiZSBpbiB0aGUgbG93IDMyLWJpdCBvZiB0
MC4KICAgICAvLyAzLiA2NCBiaXQgcmVzdWx0IHZhbHVlcyB3aWxsIGJlIGluIHQwLgogCi0gICAg
Q0xvb3BSZWdpc3RlciB0MCwgdDEsIHQyLCB0MzsKKyAgICBDTG9vcFJlZ2lzdGVyIHQwLCB0MSwg
dDIsIHQzLCB0NSwgc3AsIGNmciwgbHIsIHBjOwogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgQ0xv
b3BSZWdpc3RlciByQmFzZVBDLCB0YWdUeXBlTnVtYmVyLCB0YWdNYXNrOworICAgIENMb29wUmVn
aXN0ZXIgcGNCYXNlLCB0YWdUeXBlTnVtYmVyLCB0YWdNYXNrOwogI2VuZGlmCi0gICAgQ0xvb3BS
ZWdpc3RlciByUmV0VlBDOwogICAgIENMb29wRG91YmxlUmVnaXN0ZXIgZDAsIGQxOwogCi0gICAg
Ly8gS2VlcCB0aGUgY29tcGlsZXIgaGFwcHkuIFdlIGRvbid0IHJlYWxseSBuZWVkIHRoaXMsIGJ1
dCB0aGUgY29tcGlsZXIKLSAgICAvLyB3aWxsIGNvbXBsYWluLiBUaGlzIG1ha2VzIHRoZSB3YXJu
aW5nIGdvIGF3YXkuCi0gICAgdDAuaSA9IDA7Ci0gICAgdDEuaSA9IDA7Ci0KLSAgICBWTSogdm0g
PSAmY2FsbEZyYW1lLT52bSgpOwotCi0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBjYWxsRnJh
bWUtPmNvZGVCbG9jaygpOwotICAgIEluc3RydWN0aW9uKiB2UEM7CisgICAgbHIub3Bjb2RlID0g
Z2V0T3Bjb2RlKGxsaW50X3JldHVybl90b19ob3N0KTsKKyAgICBzcC52cCA9IHZtLT5pbnRlcnBy
ZXRlci0+c3RhY2soKS50b3BPZlN0YWNrKCkgKyAxOworICAgIGNmci5jYWxsRnJhbWUgPSB2bS0+
dG9wQ2FsbEZyYW1lOworI2lmbmRlZiBOREVCVUcKKyAgICB2b2lkKiBzdGFydFNQID0gc3AudnA7
CisgICAgQ2FsbEZyYW1lKiBzdGFydENGUiA9IGNmci5jYWxsRnJhbWU7CisjZW5kaWYKIAotICAg
IC8vIHJQQyBpcyBhbiBhbGlhcyBmb3IgdlBDLiBTZXQgdXAgdGhlIGFsaWFzOgotICAgIENMb29w
UmVnaXN0ZXImIHJQQyA9ICpDQVNUPENMb29wUmVnaXN0ZXIqPigmdlBDKTsKLQotI2lmIFVTRShK
U1ZBTFVFMzJfNjQpCi0gICAgdlBDID0gY29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigp
OwotI2Vsc2UgLy8gVVNFKEpTVkFMVUU2NCkKLSAgICB2UEMgPSAwOwotICAgIHJCYXNlUEMudnAg
PSBjb2RlQmxvY2stPmluc3RydWN0aW9ucygpLmJlZ2luKCk7CisgICAgLy8gSW5pdGlhbGl6ZSB0
aGUgaW5jb21pbmcgYXJncyBmb3IgZG9DYWxsVG9KYXZhU2NyaXB0OgorICAgIHQwLnZwID0gZXhl
Y3V0YWJsZUFkZHJlc3M7CisgICAgdDEudm0gPSB2bTsKKyAgICB0Mi5wcm90b0NhbGxGcmFtZSA9
IHByb3RvQ2FsbEZyYW1lOwogCisjaWYgVVNFKEpTVkFMVUU2NCkKICAgICAvLyBGb3IgdGhlIEFT
TSBsbGludCwgSklUU3R1YnMgdGFrZXMgY2FyZSBvZiB0aGlzIGluaXRpYWxpemF0aW9uLiBXZSBk
bwogICAgIC8vIGl0IGV4cGxpY2l0bHkgaGVyZSBmb3IgdGhlIEMgbG9vcDoKICAgICB0YWdUeXBl
TnVtYmVyLmkgPSAweEZGRkYwMDAwMDAwMDAwMDA7CiAgICAgdGFnTWFzay5pID0gMHhGRkZGMDAw
MDAwMDAwMDAyOwogI2VuZGlmIC8vIFVTRShKU1ZBTFVFNjQpCiAKLSAgICAvLyBjZnIgaXMgYW4g
YWxpYXMgZm9yIGNhbGxGcmFtZS4gU2V0IHVwIHRoaXMgYWxpYXM6Ci0gICAgQ0xvb3BSZWdpc3Rl
ciYgY2ZyID0gKkNBU1Q8Q0xvb3BSZWdpc3Rlcio+KCZjYWxsRnJhbWUpOwotCi0gICAgLy8gU2lt
dWxhdGUgYSBuYXRpdmUgcmV0dXJuIFBDIHdoaWNoIHNob3VsZCBuZXZlciBiZSB1c2VkOgotICAg
IHJSZXRWUEMuaSA9IDB4YmJhZGJlZWY7Ci0KICAgICAvLyBJbnRlcnByZXRlciB2YXJpYWJsZXMg
Zm9yIHZhbHVlIHBhc3NpbmcgYmV0d2VlbiBvcGNvZGVzIGFuZC9vciBoZWxwZXJzOgogICAgIE5h
dGl2ZUZ1bmN0aW9uIG5hdGl2ZUZ1bmMgPSAwOwogICAgIEpTVmFsdWUgZnVuY3Rpb25SZXR1cm5W
YWx1ZTsKLSAgICBPcGNvZGUgb3Bjb2RlOworICAgIE9wY29kZSBvcGNvZGUgPSBnZXRPcGNvZGUo
ZW50cnlPcGNvZGVJRCk7CiAKLSAgICBvcGNvZGUgPSBlbnRyeU9wY29kZTsKKyAgICAjZGVmaW5l
IFBVU0goY2xvb3BSZWcpIFwKKyAgICAgICAgZG8geyBcCisgICAgICAgICAgICBzcC5pcC0tOyBc
CisgICAgICAgICAgICAqc3AuaXAgPSBjbG9vcFJlZy5pOyBcCisgICAgICAgIH0gd2hpbGUgKGZh
bHNlKQorICAgIAorICAgICNkZWZpbmUgUE9QKGNsb29wUmVnKSBcCisgICAgICAgIGRvIHsgXAor
ICAgICAgICAgICAgY2xvb3BSZWcuaSA9ICpzcC5pcDsgXAorICAgICAgICAgICAgc3AuaXArKzsg
XAorICAgICAgICB9IHdoaWxlIChmYWxzZSkKIAogICAgICNpZiBFTkFCTEUoT1BDT0RFX1NUQVRT
KQogICAgICAgICAjZGVmaW5lIFJFQ09SRF9PUENPREVfU1RBVFMoX19vcGNvZGUpIFwKQEAgLTM2
MSw5ICszNzMsOSBAQCBKU1ZhbHVlIENMb29wOjpleGVjdXRlKENhbGxGcmFtZSogY2FsbEZyYW1l
LCBPcGNvZGUgZW50cnlPcGNvZGUsIGJvb2wgaXNJbml0aWFsaQogICAgICNlbmRpZgogCiAgICAg
I2lmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgICAgICNkZWZpbmUgRkVUQ0hfT1BDT0RFKCkgdlBD
LT51Lm9wY29kZQorICAgICAgICAjZGVmaW5lIEZFVENIX09QQ09ERSgpIHBjLm9wY29kZQogICAg
ICNlbHNlIC8vIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgICNkZWZpbmUgRkVUQ0hfT1BDT0RFKCkg
KmJpdHdpc2VfY2FzdDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIHJQQy5pICogOCkKKyAgICAgICAg
I2RlZmluZSBGRVRDSF9PUENPREUoKSAqYml0d2lzZV9jYXN0PE9wY29kZSo+KHBjQmFzZS5pOHAg
KyBwYy5pICogOCkKICAgICAjZW5kaWYgLy8gVVNFKEpTVkFMVUU2NCkKIAogICAgICNkZWZpbmUg
TkVYVF9JTlNUUlVDVElPTigpIFwKQEAgLTQxMiwxNCArNDI0LDIyIEBAIEpTVmFsdWUgQ0xvb3A6
OmV4ZWN1dGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIE9wY29kZSBlbnRyeU9wY29kZSwgYm9vbCBp
c0luaXRpYWxpCiAKICAgICAgICAgI2luY2x1ZGUgIkxMSW50QXNzZW1ibHkuaCIKIAorICAgICAg
ICBPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X3JldHVybl90b19ob3N0KQorICAgICAgICB7
CisgICAgICAgICAgICBBU1NFUlQoc3RhcnRTUCA9PSBzcC52cCk7CisgICAgICAgICAgICBBU1NF
UlQoc3RhcnRDRlIgPT0gY2ZyLmNhbGxGcmFtZSk7CisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAg
ICAgICAgICAgIHJldHVybiBKU1ZhbHVlKHQxLmksIHQwLmkpOyAvLyByZXR1cm5pbmcgSlNWYWx1
ZSh0YWcsIHBheWxvYWQpOworI2Vsc2UKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpkZWNv
ZGUodDAuZW5jb2RlZEpTVmFsdWUpOworI2VuZGlmCisgICAgICAgIH0KKwogICAgICAgICAvLyBJ
biB0aGUgQVNNIGxsaW50LCBnZXRIb3N0Q2FsbFJldHVyblZhbHVlKCkgaXMgYSBwaWVjZSBvZiBn
bHVlCi0gICAgICAgIC8vIGZ1bmN0aW9uIHByb3ZpZGVkIGJ5IHRoZSBKSVQgKHNlZSBkZmcvREZH
T3BlcmF0aW9ucy5jcHApLgorICAgICAgICAvLyBmdW5jdGlvbiBwcm92aWRlZCBieSB0aGUgSklU
IChzZWUgaml0L0pJVE9wZXJhdGlvbnMuY3BwKS4KICAgICAgICAgLy8gV2Ugc2ltdWxhdGUgaXQg
aGVyZSB3aXRoIGEgcHNlZHVvLW9wY29kZSBoYW5kbGVyLgogICAgICAgICBPRkZMSU5FX0FTTV9H
TFVFX0xBQkVMKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpCiAgICAgICAgIHsKLSAgICAgICAgICAg
IC8vIFRoZSBBU00gcGFydCBwb3BzIHRoZSBmcmFtZToKLSAgICAgICAgICAgIGNhbGxGcmFtZSA9
IGNhbGxGcmFtZS0+Y2FsbGVyRnJhbWUoKTsKLQogICAgICAgICAgICAgLy8gVGhlIHBhcnQgaW4g
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUoKToKICAgICAgICAgICAgIEpTVmFs
dWUgcmVzdWx0ID0gdm0tPmhvc3RDYWxsUmV0dXJuVmFsdWU7CiAjaWYgVVNFKEpTVkFMVUUzMl82
NCkKQEAgLTQyOCwxMiArNDQ4LDggQEAgSlNWYWx1ZSBDTG9vcDo6ZXhlY3V0ZShDYWxsRnJhbWUq
IGNhbGxGcmFtZSwgT3Bjb2RlIGVudHJ5T3Bjb2RlLCBib29sIGlzSW5pdGlhbGkKICNlbHNlCiAg
ICAgICAgICAgICB0MC5lbmNvZGVkSlNWYWx1ZSA9IEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwog
I2VuZGlmCi0gICAgICAgICAgICBnb3RvIGRvUmV0dXJuSGVscGVyOwotICAgICAgICB9Ci0KLSAg
ICAgICAgT0ZGTElORV9BU01fR0xVRV9MQUJFTChyZXR1cm5Gcm9tSmF2YVNjcmlwdCkKLSAgICAg
ICAgewotICAgICAgICAgICAgcmV0dXJuIHZtLT5leGNlcHRpb24oKTsKKyAgICAgICAgICAgIG9w
Y29kZSA9IGxyLm9wY29kZTsKKyAgICAgICAgICAgIERJU1BBVENIX09QQ09ERSgpOwogICAgICAg
ICB9CiAKICNpZiAhRU5BQkxFKENPTVBVVEVEX0dPVE9fT1BDT0RFUykKQEAgLTQ0Myw1NSArNDU5
LDYgQEAgSlNWYWx1ZSBDTG9vcDo6ZXhlY3V0ZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgT3Bjb2Rl
IGVudHJ5T3Bjb2RlLCBib29sIGlzSW5pdGlhbGkKIAogICAgIH0gLy8gRU5EIGJ5dGVjb2RlIGhh
bmRsZXIgY2FzZXMuCiAKLSAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICAgIC8vIEJ5dGVjb2RlIGhl
bHBlcnM6Ci0KLSAgICBkb1JldHVybkhlbHBlcjogewotICAgICAgICBBU1NFUlQoISFjYWxsRnJh
bWUpOwotICAgICAgICBpZiAoY2FsbEZyYW1lLT5pc1ZNRW50cnlTZW50aW5lbCgpKSB7Ci0jaWYg
VVNFKEpTVkFMVUUzMl82NCkKLSAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlKHQxLmksIHQwLmkp
OyAvLyByZXR1cm5pbmcgSlNWYWx1ZSh0YWcsIHBheWxvYWQpOwotI2Vsc2UKLSAgICAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjpkZWNvZGUodDAuZW5jb2RlZEpTVmFsdWUpOwotI2VuZGlmCi0gICAg
ICAgIH0KLQotICAgICAgICAvLyBUaGUgbm9ybWFsIEFTTSBsbGludCBjYWxsIGltcGxlbWVudGF0
aW9uIHJldHVybnMgdG8gdGhlIGNhbGxlciBhcwotICAgICAgICAvLyByZWNvcmRlZCBpbiByUmV0
VlBDLCBhbmQgdGhlIGNhbGxlciB3b3VsZCBmZXRjaCB0aGUgcmV0dXJuIGFkZHJlc3MKLSAgICAg
ICAgLy8gZnJvbSBBcmd1bWVudENvdW50LnRhZygpIChzZWUgdGhlIGRpc3BhdGNoQWZ0ZXJDYWxs
KCkgbWFjcm8gdXNlZCBpbgotICAgICAgICAvLyB0aGUgY2FsbFRhcmdldEZ1bmN0aW9uKCkgbWFj
cm8gaW4gdGhlIGxsaW50IGFzbSBmaWxlcykuCi0gICAgICAgIC8vCi0gICAgICAgIC8vIEZvciB0
aGUgQyBsb29wLCB3ZSBkb24ndCBoYXZlIHRoZSBKSVQgc3R1YiB0byBkbyB0aGlzIHdvcmsgZm9y
IHVzLiBTbywKLSAgICAgICAgLy8gd2UganVtcCB0byBsbGludF9nZW5lcmljX3JldHVybl9wb2lu
dC4KLQotICAgICAgICB2UEMgPSBjYWxsRnJhbWUtPmN1cnJlbnRWUEMoKTsKLQotI2lmIFVTRShK
U1ZBTFVFNjQpCi0gICAgICAgIC8vIEJhc2VkIG9uIExvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20n
cyBkaXNwYXRjaEFmdGVyQ2FsbCgpOgotCi0gICAgICAgIC8vIFdoZW4gcmV0dXJuaW5nIGZyb20g
YSBuYXRpdmUgdHJhbXBvbGluZSBjYWxsLCB1bmxpa2UgdGhlIGFzc2VtYmx5Ci0gICAgICAgIC8v
IExMSW50LCB3ZSBjYW4ndCBzaW1wbHkgcmV0dXJuIHRvIHRoZSBjYWxsZXIuIEluIG91ciBjYXNl
LCB3ZSBncmFiCi0gICAgICAgIC8vIHRoZSBjYWxsZXIncyBWUEMgYW5kIHJlc3VtZSBleGVjdXRp
b24gdGhlcmUuIEhvd2V2ZXIsIHRoZSBjYWxsZXIncwotICAgICAgICAvLyBWUEMgcmV0dXJuZWQg
YnkgY2FsbEZyYW1lLT5jdXJyZW50VlBDKCkgaXMgaW4gdGhlIGZvcm0gb2YgdGhlIHJlYWwKLSAg
ICAgICAgLy8gYWRkcmVzcyBvZiB0aGUgdGFyZ2V0IGJ5dGVjb2RlLCBidXQgdGhlIDY0LWJpdCBs
bGludCBleHBlY3RzIHRoZQotICAgICAgICAvLyBWUEMgdG8gYmUgYSBieXRlY29kZSBvZmZzZXQu
IEhlbmNlLCB3ZSBuZWVkIHRvIG1hcCBpdCBiYWNrIHRvIGEKLSAgICAgICAgLy8gYnl0ZWNvZGUg
b2Zmc2V0IGJlZm9yZSB3ZSBkaXNwYXRjaCB2aWEgdGhlIHVzdWFsIGRpc3BhdGNoIG1lY2hhbmlz
bQotICAgICAgICAvLyBpLmUuIE5FWFRfSU5TVFJVQ1RJT04oKToKLQotICAgICAgICBjb2RlQmxv
Y2sgPSBjYWxsRnJhbWUtPmNvZGVCbG9jaygpOwotICAgICAgICBBU1NFUlQoY29kZUJsb2NrKTsK
LSAgICAgICAgclBDLnZwID0gY2FsbEZyYW1lLT5jdXJyZW50VlBDKCk7Ci0gICAgICAgIHJQQy5p
ID0gclBDLmk4cCAtIHJlaW50ZXJwcmV0X2Nhc3Q8aW50OF90Kj4oY29kZUJsb2NrLT5pbnN0cnVj
dGlvbnMoKS5iZWdpbigpKTsKLSAgICAgICAgclBDLmkgPj49IDM7Ci0KLSAgICAgICAgckJhc2VQ
Qy52cCA9IGNvZGVCbG9jay0+aW5zdHJ1Y3Rpb25zKCkuYmVnaW4oKTsKLSNlbmRpZiAvLyBVU0Uo
SlNWQUxVRTY0KQotCi0gICAgICAgIGdvdG8gbGxpbnRfZ2VuZXJpY19yZXR1cm5fcG9pbnQ7Ci0K
LSAgICB9IC8vIEVORCBkb1JldHVybkhlbHBlci4KLQotCiAjaWYgRU5BQkxFKENPTVBVVEVEX0dP
VE9fT1BDT0RFUykKICAgICAvLyBLZWVwIHRoZSBjb21waWxlciBoYXBweSBzbyB0aGF0IGl0IGRv
ZXNuJ3QgY29tcGxhaW4gYWJvdXQgdW51c2VkCiAgICAgLy8gbGFiZWxzIGZvciB0aGUgTExJbnQg
dHJhbXBvbGluZSBnbHVlLiBUaGUgbGFiZWxzIGFyZSBhdXRvbWF0aWNhbGx5CkBAIC01MjMsMTIg
KzQ5MCwxMiBAQCBKU1ZhbHVlIENMb29wOjpleGVjdXRlKENhbGxGcmFtZSogY2FsbEZyYW1lLCBP
cGNvZGUgZW50cnlPcGNvZGUsIGJvb2wgaXNJbml0aWFsaQogCiAvLyBUaGVzZSBhcmUgZm9yIGJ1
aWxkaW5nIGFuIGludGVycHJldGVyIGZyb20gZ2VuZXJhdGVkIGFzc2VtYmx5IGNvZGU6CiAjaWYg
Q1BVKFg4Nl82NCkgJiYgQ09NUElMRVIoQ0xBTkcpCi0jZGVmaW5lIE9GRkxJTkVfQVNNX0JFR0lO
ICAgYXNtICggXAorI2RlZmluZSBPRkZMSU5FX0FTTV9CRUdJTiAgIGFzbSAoICAgICAgICAgICAg
ICAgIFwKICAgICAiLmNmaV9zdGFydHByb2NcbiIKIAotI2RlZmluZSBPRkZMSU5FX0FTTV9FTkQg
ICAgIFwKLSAgICAiLmNmaV9lbmRwcm9jXG4iIFwKLSk7CisjZGVmaW5lIE9GRkxJTkVfQVNNX0VO
RCAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICIuY2ZpX2VuZHByb2NcbiIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwog
I2Vsc2UKICNkZWZpbmUgT0ZGTElORV9BU01fQkVHSU4gICBhc20gKAogI2RlZmluZSBPRkZMSU5F
X0FTTV9FTkQgICAgICk7CkBAIC01NTEsOSArNTE4LDkgQEAgSlNWYWx1ZSBDTG9vcDo6ZXhlY3V0
ZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgT3Bjb2RlIGVudHJ5T3Bjb2RlLCBib29sIGlzSW5pdGlh
bGkKICAgICAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhsYWJlbCkgIlxuIiAgICAgICAgIFwKICAg
ICBISURFX1NZTUJPTChsYWJlbCkgIlxuIiAgICAgICAgICAgICAgICAgICAgIFwKICAgICBTWU1C
T0xfU1RSSU5HKGxhYmVsKSAiOlxuIiAgICAgICAgICAgICAgICAgIFwKLSAgICAiLmNmaV9kZWZf
Y2ZhIHJicCwgMFxuIiAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiLmNmaV9vZmZzZXQgMTYs
IDhcbiIgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiLmNmaV9vZmZzZXQgNiwgMFxuIgor
ICAgICIuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2XG4iICAgICAgICAgICAgICAgICAgXAorICAgICIu
Y2ZpX29mZnNldCAlcmJwLCAtMTZcbiIgICAgICAgICAgICAgICAgICAgXAorICAgICIuY2ZpX2Rl
Zl9jZmFfcmVnaXN0ZXIgcmJwXG4iCiAjZWxzZQogI2RlZmluZSBPRkZMSU5FX0FTTV9HTE9CQUxf
TEFCRUwobGFiZWwpICAgICAgICAgXAogICAgICIudGV4dFxuIiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQppbmRleCBmMWE0NzBlYWVhYjkwMWMzYTc0
MWM5MDllM2E1MzY2MDliNDhmYWI0Li5jODhmZmNlYmQ0NmI4MDVhMDkxMGFkMTYzMTMxMjliMDFl
NWQxZTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjMyXzY0LmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQpAQCAtMSw0ICsxLDQgQEAKLSMgQ29weXJpZ2h0IChD
KSAyMDExLCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29w
eXJpZ2h0IChDKSAyMDExLCAyMDEyLCAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTAyLDkgKzEwMiwxMSBA
QCBtYWNybyBjQ2FsbDIoZnVuY3Rpb24sIGFyZzEsIGFyZzIpCiAgICAgICAgIG1vdmUgYXJnMiwg
YTEKICAgICAgICAgY2FsbCBmdW5jdGlvbgogICAgIGVsc2lmIFg4NgotICAgICAgICBwb2tlIGFy
ZzEsIDAKLSAgICAgICAgcG9rZSBhcmcyLCAxCisgICAgICAgIHN1YnAgOCwgc3AKKyAgICAgICAg
cHVzaCBhcmcyCisgICAgICAgIHB1c2ggYXJnMQogICAgICAgICBjYWxsIGZ1bmN0aW9uCisgICAg
ICAgIGFkZHAgMTYsIHNwCiAgICAgZWxzaWYgU0g0CiAgICAgICAgIHNldGFyZ3MgYXJnMSwgYXJn
MgogICAgICAgICBjYWxsIGZ1bmN0aW9uCkBAIC0xMjQsMTEgKzEyNiwxMiBAQCBtYWNybyBjQ2Fs
bDQoZnVuY3Rpb24sIGFyZzEsIGFyZzIsIGFyZzMsIGFyZzQpCiAgICAgICAgIG1vdmUgYXJnNCwg
YTMKICAgICAgICAgY2FsbCBmdW5jdGlvbgogICAgIGVsc2lmIFg4NgotICAgICAgICBwb2tlIGFy
ZzEsIDAKLSAgICAgICAgcG9rZSBhcmcyLCAxCi0gICAgICAgIHBva2UgYXJnMywgMgotICAgICAg
ICBwb2tlIGFyZzQsIDMKKyAgICAgICAgcHVzaCBhcmc0CisgICAgICAgIHB1c2ggYXJnMworICAg
ICAgICBwdXNoIGFyZzIKKyAgICAgICAgcHVzaCBhcmcxCiAgICAgICAgIGNhbGwgZnVuY3Rpb24K
KyAgICAgICAgYWRkcCAxNiwgc3AKICAgICBlbHNpZiBTSDQKICAgICAgICAgc2V0YXJncyBhcmcx
LCBhcmcyLCBhcmczLCBhcmc0CiAgICAgICAgIGNhbGwgZnVuY3Rpb24KQEAgLTE0Miw4NSArMTQ1
LDQyIEBAIGVuZAogbWFjcm8gY2FsbFNsb3dQYXRoKHNsb3dQYXRoKQogICAgIGNDYWxsMihzbG93
UGF0aCwgY2ZyLCBQQykKICAgICBtb3ZlIHQwLCBQQwotICAgIG1vdmUgdDEsIGNmcgotZW5kCi0K
LW1hY3JvIGZ1bmN0aW9uUHJvbG9ndWUoZXh0cmFTdGFja1NwYWNlKQotICAgIGlmIFg4NgotICAg
ICAgICBwdXNoIGNmcgotICAgICAgICBtb3ZlIHNwLCBjZnIKLSAgICBlbmQKLSAgICBwdXNoQ2Fs
bGVlU2F2ZXMKLSAgICBpZiBBUk0gb3IgQVJNdjcgb3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgTUlQ
UwotICAgICAgICBwdXNoIGNmcgotICAgICAgICBwdXNoIGxyCi0gICAgZW5kCi0gICAgc3VicCBl
eHRyYVN0YWNrU3BhY2UsIHNwCiBlbmQKIAotbWFjcm8gZnVuY3Rpb25FcGlsb2d1ZShleHRyYVN0
YWNrU3BhY2UpCi0gICAgYWRkcCBleHRyYVN0YWNrU3BhY2UsIHNwCi0gICAgaWYgQVJNIG9yIEFS
TXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIE1JUFMKLSAgICAgICAgcG9wIGxyCi0gICAgICAg
IHBvcCBjZnIKLSAgICBlbmQKLSAgICBwb3BDYWxsZWVTYXZlcworbWFjcm8gZG9DYWxsVG9KYXZh
U2NyaXB0KG1ha2VDYWxsKQogICAgIGlmIFg4NgotICAgICAgICBwb3AgY2ZyCi0gICAgZW5kCi1l
bmQKKyAgICAgICAgY29uc3QgZW50cnkgPSB0NAorICAgICAgICBjb25zdCB2bSA9IHQzCisgICAg
ICAgIGNvbnN0IHByb3RvQ2FsbEZyYW1lID0gdDUKIAotbWFjcm8gZG9DYWxsVG9KYXZhU2NyaXB0
KG1ha2VDYWxsLCBkb1JldHVybikKLSAgICBpZiBYODYKLSAgICAgICAgY29uc3QgZW50cnkgPSB0
NQotICAgICAgICBjb25zdCB2bVRvcENhbGxGcmFtZSA9IHQyCi0gICAgICAgIGNvbnN0IHByb3Rv
Q2FsbEZyYW1lID0gdDQKLQotICAgICAgICBjb25zdCBleHRyYVN0YWNrU3BhY2UgPSAyOAogICAg
ICAgICBjb25zdCBwcmV2aW91c0NGUiA9IHQwCiAgICAgICAgIGNvbnN0IHByZXZpb3VzUEMgPSB0
MQogICAgICAgICBjb25zdCB0ZW1wMSA9IHQwICMgU2FtZSBhcyBwcmV2aW91c0NGUgogICAgICAg
ICBjb25zdCB0ZW1wMiA9IHQxICMgU2FtZSBhcyBwcmV2aW91c1BDCi0gICAgICAgIGNvbnN0IHRl
bXAzID0gdDIgIyBzYW1lIGFzIHZtVG9wQ2FsbEZyYW1lCi0gICAgICAgIGNvbnN0IHRlbXA0ID0g
dDMKLSAgICBlbHNpZiBBUk0gb3IgQVJNdjdfVFJBRElUSU9OQUwKLSAgICAgICAgY29uc3QgZW50
cnkgPSBhMAotICAgICAgICBjb25zdCB2bVRvcENhbGxGcmFtZSA9IGExCi0gICAgICAgIGNvbnN0
IHByb3RvQ2FsbEZyYW1lID0gYTIKLSAgICAgICAgY29uc3QgdG9wT2ZTdGFjayA9IGEzCi0KLSAg
ICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNlID0gMTYKLSAgICAgICAgY29uc3QgcHJldmlvdXND
RlIgPSB0MwotICAgICAgICBjb25zdCBwcmV2aW91c1BDID0gbHIKLSAgICAgICAgY29uc3QgdGVt
cDEgPSB0MyAjIFNhbWUgYXMgcHJldmlvdXNDRlIKLSAgICAgICAgY29uc3QgdGVtcDIgPSBhMyAj
IFNhbWUgYXMgdG9wT2ZTdGFjawotICAgICAgICBjb25zdCB0ZW1wMyA9IHQ0Ci0gICAgICAgIGNv
bnN0IHRlbXA0ID0gdDUKLSAgICBlbHNpZiBBUk12NworICAgICAgICBjb25zdCB0ZW1wMyA9IHQy
CisgICAgICAgIGNvbnN0IHRlbXA0ID0gdDMgIyBzYW1lIGFzIHZtCisgICAgZWxzaWYgQVJNIG9y
IEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIENfTE9PUAogICAgICAgICBjb25zdCBlbnRy
eSA9IGEwCi0gICAgICAgIGNvbnN0IHZtVG9wQ2FsbEZyYW1lID0gYTEKKyAgICAgICAgY29uc3Qg
dm0gPSBhMQogICAgICAgICBjb25zdCBwcm90b0NhbGxGcmFtZSA9IGEyCi0gICAgICAgIGNvbnN0
IHRvcE9mU3RhY2sgPSBhMwogCi0gICAgICAgIGNvbnN0IGV4dHJhU3RhY2tTcGFjZSA9IDI4CiAg
ICAgICAgIGNvbnN0IHByZXZpb3VzQ0ZSID0gdDMKICAgICAgICAgY29uc3QgcHJldmlvdXNQQyA9
IGxyCiAgICAgICAgIGNvbnN0IHRlbXAxID0gdDMgIyBTYW1lIGFzIHByZXZpb3VzQ0ZSCi0gICAg
ICAgIGNvbnN0IHRlbXAyID0gYTMgIyBTYW1lIGFzIHRvcE9mU3RhY2sKLSAgICAgICAgY29uc3Qg
dGVtcDMgPSB0NAotICAgICAgICBjb25zdCB0ZW1wNCA9IHQ1CisgICAgICAgIGNvbnN0IHRlbXAy
ID0gdDQKKyAgICAgICAgY29uc3QgdGVtcDMgPSB0NQorICAgICAgICBjb25zdCB0ZW1wNCA9IHQ0
ICMgU2FtZSBhcyB0ZW1wMgogICAgIGVsc2lmIE1JUFMKICAgICAgICAgY29uc3QgZW50cnkgPSBh
MAogICAgICAgICBjb25zdCB2bVRvcENhbGxGcmFtZSA9IGExCiAgICAgICAgIGNvbnN0IHByb3Rv
Q2FsbEZyYW1lID0gYTIKICAgICAgICAgY29uc3QgdG9wT2ZTdGFjayA9IGEzCiAKLSAgICAgICAg
Y29uc3QgZXh0cmFTdGFja1NwYWNlID0gMzYKICAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0
MgogICAgICAgICBjb25zdCBwcmV2aW91c1BDID0gbHIKICAgICAgICAgY29uc3QgdGVtcDEgPSB0
MwotICAgICAgICBjb25zdCB0ZW1wMiA9IHQ0Ci0gICAgICAgIGNvbnN0IHRlbXAzID0gdDUKKyAg
ICAgICAgY29uc3QgdGVtcDIgPSB0NQorICAgICAgICBjb25zdCB0ZW1wMyA9IHQ0CiAgICAgICAg
IGNvbnN0IHRlbXA0ID0gdDYKICAgICBlbHNpZiBTSDQKICAgICAgICAgY29uc3QgZW50cnkgPSBh
MApAQCAtMjI4LDcgKzE4OCw2IEBAIG1hY3JvIGRvQ2FsbFRvSmF2YVNjcmlwdChtYWtlQ2FsbCwg
ZG9SZXR1cm4pCiAgICAgICAgIGNvbnN0IHByb3RvQ2FsbEZyYW1lID0gYTIKICAgICAgICAgY29u
c3QgdG9wT2ZTdGFjayA9IGEzCiAKLSAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNlID0gMjAK
ICAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0MwogICAgICAgICBjb25zdCBwcmV2aW91c1BD
ID0gbHIKICAgICAgICAgY29uc3QgdGVtcDEgPSB0MyAjIFNhbWUgYXMgcHJldmlvdXNDRlIKQEAg
LTIzNyw0OSArMTk2LDc4IEBAIG1hY3JvIGRvQ2FsbFRvSmF2YVNjcmlwdChtYWtlQ2FsbCwgZG9S
ZXR1cm4pCiAgICAgICAgIGNvbnN0IHRlbXA0ID0gdDkKICAgICBlbmQKIAorICAgIGNhbGxUb0ph
dmFTY3JpcHRQcm9sb2d1ZSgpCisKICAgICBpZiBYODYKLSAgICAgICAgbG9hZHAgW3NwXSwgcHJl
dmlvdXNQQwotICAgICAgICBtb3ZlIGNmciwgcHJldmlvdXNDRlIKLSAgICBlbmQKLSAgICBmdW5j
dGlvblByb2xvZ3VlKGV4dHJhU3RhY2tTcGFjZSkKLSAgICBpZiBYODYKLSAgICAgICAgbG9hZHAg
ZXh0cmFTdGFja1NwYWNlKzIwW3NwXSwgZW50cnkKLSAgICAgICAgbG9hZHAgZXh0cmFTdGFja1Nw
YWNlKzI0W3NwXSwgdm1Ub3BDYWxsRnJhbWUKLSAgICAgICAgbG9hZHAgZXh0cmFTdGFja1NwYWNl
KzI4W3NwXSwgcHJvdG9DYWxsRnJhbWUKLSAgICAgICAgbG9hZHAgZXh0cmFTdGFja1NwYWNlKzMy
W3NwXSwgY2ZyCisgICAgICAgIGxvYWRwIDM2W3NwXSwgdm0KKyAgICAgICAgbG9hZHAgMzJbc3Bd
LCBlbnRyeQogICAgIGVsc2UKICAgICAgICAgbW92ZSBjZnIsIHByZXZpb3VzQ0ZSCi0gICAgICAg
IG1vdmUgdG9wT2ZTdGFjaywgY2ZyCiAgICAgZW5kCiAKLSAgICBzdWJwIChDYWxsRnJhbWVIZWFk
ZXJTbG90cy0xKSo4LCBjZnIKLSAgICBzdG9yZXAgMCwgQXJndW1lbnRDb3VudCs0W2Nmcl0KKyAg
ICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0ZW1wMiwgMHhiYWQwZGMwMSkKKworICAgICMg
VGhlIHN0YWNrIHJlc2VydmVkIHpvbmUgZW5zdXJlcyB0aGF0IHdlIGhhdmUgYWRlcXVhdGUgc3Bh
Y2UgZm9yIHRoZQorICAgICMgVk1FbnRyeVNlbnRpbmVsRnJhbWUuIFByb2NlZWQgd2l0aCBhbGxv
Y2F0aW5nIGFuZCBpbml0aWFsaXppbmcgdGhlCisgICAgIyBzZW50aW5lbCBmcmFtZS4KKyAgICBt
b3ZlIHNwLCBjZnIKKyAgICBzdWJwIENhbGxGcmFtZUhlYWRlclNsb3RzICogOCwgY2ZyCiAgICAg
c3RvcmVwIDAsIEFyZ3VtZW50Q291bnRbY2ZyXQotICAgIHN0b3JlcCAwLCBDYWxsZWUrNFtjZnJd
Ci0gICAgc3RvcmVwIHZtVG9wQ2FsbEZyYW1lLCBDYWxsZWVbY2ZyXQotICAgIGxvYWRwIFt2bVRv
cENhbGxGcmFtZV0sIHRlbXA0Ci0gICAgc3RvcmVwIDAsIFNjb3BlQ2hhaW4rNFtjZnJdCi0gICAg
c3RvcmVwIHRlbXA0LCBTY29wZUNoYWluW2Nmcl0KLSAgICBzdG9yZXAgMCwgQ29kZUJsb2NrKzRb
Y2ZyXQorICAgIHN0b3JlcCB2bSwgQ2FsbGVlW2Nmcl0KKyAgICBsb2FkcCBWTTo6dG9wQ2FsbEZy
YW1lW3ZtXSwgdGVtcDIKKyAgICBzdG9yZXAgdGVtcDIsIFNjb3BlQ2hhaW5bY2ZyXQogICAgIHN0
b3JlcCAxLCBDb2RlQmxvY2tbY2ZyXQorICAgIGlmIFg4NgorICAgICAgICBsb2FkcCAyOFtzcF0s
IHByZXZpb3VzUEMKKyAgICAgICAgbG9hZHAgMjRbc3BdLCBwcmV2aW91c0NGUgorICAgIGVuZAog
ICAgIHN0b3JlcCBwcmV2aW91c1BDLCBSZXR1cm5QQ1tjZnJdCiAgICAgc3RvcmVwIHByZXZpb3Vz
Q0ZSLCBDYWxsZXJGcmFtZVtjZnJdCi0gICAgbW92ZSBjZnIsIHRlbXAxCisKKyAgICBpZiBYODYK
KyAgICAgICAgbG9hZHAgNDBbc3BdLCBwcm90b0NhbGxGcmFtZQorICAgIGVuZAogCiAgICAgbG9h
ZGkgUHJvdG9DYWxsRnJhbWU6OnBhZGRlZEFyZ0NvdW50W3Byb3RvQ2FsbEZyYW1lXSwgdGVtcDIK
ICAgICBhZGRwIENhbGxGcmFtZUhlYWRlclNsb3RzLCB0ZW1wMiwgdGVtcDIKICAgICBsc2hpZnRw
IDMsIHRlbXAyCi0gICAgc3VicCB0ZW1wMiwgY2ZyCi0gICAgc3RvcmVwIHRlbXAxLCBDYWxsZXJG
cmFtZVtjZnJdCisgICAgc3VicCBjZnIsIHRlbXAyLCB0ZW1wMQorCisgICAgIyBFbnN1cmUgdGhh
dCB3ZSBoYXZlIGVub3VnaCBhZGRpdGlvbmFsIHN0YWNrIGNhcGFjaXR5IGZvciB0aGUgaW5jb21p
bmcgYXJncywKKyAgICAjIGFuZCB0aGUgZnJhbWUgZm9yIHRoZSBKUyBjb2RlIHdlJ3JlIGV4ZWN1
dGluZy4gV2UgbmVlZCB0byBkbyB0aGlzIGNoZWNrCisgICAgIyBiZWZvcmUgd2Ugc3RhcnQgY29w
eWluZyB0aGUgYXJncyBmcm9tIHRoZSBwcm90b0NhbGxGcmFtZSBiZWxvdy4KKyAgICBicGFlcSB0
ZW1wMSwgVk06Om1fanNTdGFja0xpbWl0W3ZtXSwgLnN0YWNrSGVpZ2h0T0sKKworICAgIHN1YnAg
Y2ZyLCA4LCBzcAorCisgICAgaWYgQ19MT09QCisgICAgICAgIG1vdmUgZW50cnksIHRlbXAyCisg
ICAgICAgIG1vdmUgdm0sIHRlbXAzCisgICAgICAgIGNsb29wQ2FsbFNsb3dQYXRoIF9sbGludF9z
dGFja19jaGVja19hdF92bV9lbnRyeSwgdm0sIHRlbXAxCisgICAgICAgIGJwZXEgdDAsIDAsIC5z
dGFja0NoZWNrRmFpbGVkCisgICAgICAgIG1vdmUgdGVtcDIsIGVudHJ5CisgICAgICAgIG1vdmUg
dGVtcDMsIHZtCisgICAgICAgIGptcCAuc3RhY2tIZWlnaHRPSworCisuc3RhY2tDaGVja0ZhaWxl
ZDoKKyAgICAgICAgbW92ZSB0ZW1wMiwgZW50cnkKKyAgICAgICAgbW92ZSB0ZW1wMywgdm0KKyAg
ICBlbmQKIAorICAgIGNDYWxsMihfbGxpbnRfdGhyb3dfc3RhY2tfb3ZlcmZsb3dfZXJyb3IsIHZt
LCBwcm90b0NhbGxGcmFtZSkKKyAgICBjYWxsVG9KYXZhU2NyaXB0RXBpbG9ndWUoKQorICAgIHJl
dAorCisuc3RhY2tIZWlnaHRPSzoKKyAgICBtb3ZlIHRlbXAxLCBzcAogICAgIG1vdmUgNSwgdGVt
cDEKIAogLmNvcHlIZWFkZXJMb29wOgogICAgIHN1YmkgMSwgdGVtcDEKLSAgICBsb2FkcCBbcHJv
dG9DYWxsRnJhbWUsIHRlbXAxLCA4XSwgdGVtcDMKLSAgICBzdG9yZXAgdGVtcDMsIENvZGVCbG9j
a1tjZnIsIHRlbXAxLCA4XQotICAgIGxvYWRwIDRbcHJvdG9DYWxsRnJhbWUsIHRlbXAxLCA4XSwg
dGVtcDMKLSAgICBzdG9yZXAgdGVtcDMsIENvZGVCbG9jays0W2NmciwgdGVtcDEsIDhdCisgICAg
bG9hZGkgVGFnT2Zmc2V0W3Byb3RvQ2FsbEZyYW1lLCB0ZW1wMSwgOF0sIHRlbXAzCisgICAgc3Rv
cmVpIHRlbXAzLCBUYWdPZmZzZXQgKyBDb2RlQmxvY2tbc3AsIHRlbXAxLCA4XQorICAgIGxvYWRp
IFBheWxvYWRPZmZzZXRbcHJvdG9DYWxsRnJhbWUsIHRlbXAxLCA4XSwgdGVtcDMKKyAgICBzdG9y
ZWkgdGVtcDMsIFBheWxvYWRPZmZzZXQgKyBDb2RlQmxvY2tbc3AsIHRlbXAxLCA4XQogICAgIGJ0
aW56IHRlbXAxLCAuY29weUhlYWRlckxvb3AKIAogICAgIGxvYWRpIFByb3RvQ2FsbEZyYW1lOjph
cmdDb3VudEFuZENvZGVPcmlnaW5WYWx1ZVtwcm90b0NhbGxGcmFtZV0sIHRlbXAyCkBAIC0yODgs
MTIgKzI3NiwxMCBAQCBtYWNybyBkb0NhbGxUb0phdmFTY3JpcHQobWFrZUNhbGwsIGRvUmV0dXJu
KQogICAgIHN1YmkgMSwgdGVtcDMKIAogICAgIGJpZXEgdGVtcDIsIHRlbXAzLCAuY29weUFyZ3MK
LSAgICBtb3ZlIDAsIHRlbXAxCi0gICAgbW92ZSBVbmRlZmluZWRUYWcsIHRlbXA0CiAuZmlsbEV4
dHJhQXJnc0xvb3A6CiAgICAgc3ViaSAxLCB0ZW1wMwotICAgIHN0b3JlcCB0ZW1wMSwgVGhpc0Fy
Z3VtZW50T2Zmc2V0KzgrUGF5bG9hZE9mZnNldFtjZnIsIHRlbXAzLCA4XQotICAgIHN0b3JlcCB0
ZW1wNCwgVGhpc0FyZ3VtZW50T2Zmc2V0KzgrVGFnT2Zmc2V0W2NmciwgdGVtcDMsIDhdCisgICAg
c3RvcmVpIFVuZGVmaW5lZFRhZywgVGhpc0FyZ3VtZW50T2Zmc2V0ICsgOCArIFRhZ09mZnNldFtz
cCwgdGVtcDMsIDhdCisgICAgc3RvcmVpIDAsIFRoaXNBcmd1bWVudE9mZnNldCArIDggKyBQYXls
b2FkT2Zmc2V0W3NwLCB0ZW1wMywgOF0KICAgICBiaW5lcSB0ZW1wMiwgdGVtcDMsIC5maWxsRXh0
cmFBcmdzTG9vcAogCiAuY29weUFyZ3M6CkBAIC0zMDIsNTIgKzI4OCw4NyBAQCBtYWNybyBkb0Nh
bGxUb0phdmFTY3JpcHQobWFrZUNhbGwsIGRvUmV0dXJuKQogLmNvcHlBcmdzTG9vcDoKICAgICBi
dGl6IHRlbXAyLCAuY29weUFyZ3NEb25lCiAgICAgc3ViaSAxLCB0ZW1wMgotICAgIGxvYWRwIFBh
eWxvYWRPZmZzZXRbdGVtcDEsIHRlbXAyLCA4XSwgdGVtcDMKLSAgICBsb2FkcCBUYWdPZmZzZXRb
dGVtcDEsIHRlbXAyLCA4XSwgdGVtcDQKLSAgICBzdG9yZXAgdGVtcDMsIFRoaXNBcmd1bWVudE9m
ZnNldCs4K1BheWxvYWRPZmZzZXRbY2ZyLCB0ZW1wMiwgOF0KLSAgICBzdG9yZXAgdGVtcDQsIFRo
aXNBcmd1bWVudE9mZnNldCs4K1RhZ09mZnNldFtjZnIsIHRlbXAyLCA4XQorICAgIGxvYWRpIFRh
Z09mZnNldFt0ZW1wMSwgdGVtcDIsIDhdLCB0ZW1wMworICAgIHN0b3JlaSB0ZW1wMywgVGhpc0Fy
Z3VtZW50T2Zmc2V0ICsgOCArIFRhZ09mZnNldFtzcCwgdGVtcDIsIDhdCisgICAgbG9hZGkgUGF5
bG9hZE9mZnNldFt0ZW1wMSwgdGVtcDIsIDhdLCB0ZW1wMworICAgIHN0b3JlaSB0ZW1wMywgVGhp
c0FyZ3VtZW50T2Zmc2V0ICsgOCArIFBheWxvYWRPZmZzZXRbc3AsIHRlbXAyLCA4XQogICAgIGpt
cCAuY29weUFyZ3NMb29wCiAKIC5jb3B5QXJnc0RvbmU6Ci0gICAgaWYgWDg2Ci0gICAgICAgIGxv
YWRwIGV4dHJhU3RhY2tTcGFjZSsyNFtzcF0sIHZtVG9wQ2FsbEZyYW1lCi0gICAgZW5kCi0gICAg
c3RvcmVwIGNmciwgW3ZtVG9wQ2FsbEZyYW1lXQorICAgIHN0b3JlcCBzcCwgVk06OnRvcENhbGxG
cmFtZVt2bV0KIAotICAgIG1ha2VDYWxsKGVudHJ5LCB0ZW1wMSkKKyAgICBtYWtlQ2FsbChlbnRy
eSwgdGVtcDEsIHRlbXAyKQogCiAgICAgYnBlcSBDb2RlQmxvY2tbY2ZyXSwgMSwgLmNhbGxlZUZy
YW1lUG9wcGVkCiAgICAgbG9hZHAgQ2FsbGVyRnJhbWVbY2ZyXSwgY2ZyCiAKIC5jYWxsZWVGcmFt
ZVBvcHBlZDoKLSAgICBsb2FkcCBDYWxsZWVbY2ZyXSwgdGVtcDMgIyBWTS50b3BDYWxsRnJhbWUK
LSAgICBsb2FkcCBTY29wZUNoYWluW2Nmcl0sIHRlbXA0Ci0gICAgc3RvcmVwIHRlbXA0LCBbdGVt
cDNdCisgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHRlbXAzICMgVk0KKyAgICBsb2FkcCBTY29wZUNo
YWluW2Nmcl0sIHRlbXA0ICMgcHJldmlvdXMgdG9wQ2FsbEZyYW1lCisgICAgc3RvcmVwIHRlbXA0
LCBWTTo6dG9wQ2FsbEZyYW1lW3RlbXAzXQogCi0gICAgZG9SZXR1cm4oZXh0cmFTdGFja1NwYWNl
KQorICAgIGNhbGxUb0phdmFTY3JpcHRFcGlsb2d1ZSgpCisgICAgcmV0CiBlbmQKIAotbWFjcm8g
bWFrZUphdmFTY3JpcHRDYWxsKGVudHJ5LCB0ZW1wKQotICAgIGNhbGwgZW50cnkKK21hY3JvIG1h
a2VKYXZhU2NyaXB0Q2FsbChlbnRyeSwgdGVtcCwgdW51c2VkKQorICAgIGFkZHAgQ2FsbGVyRnJh
bWVBbmRQQ1NpemUsIHNwCisgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDIsIDB4YmFk
MGRjMDIpCisgICAgaWYgQ19MT09QCisgICAgICAgIGNsb29wQ2FsbEpTRnVuY3Rpb24gZW50cnkK
KyAgICBlbHNlCisgICAgICAgIGNhbGwgZW50cnkKKyAgICBlbmQKKyAgICBjaGVja1N0YWNrUG9p
bnRlckFsaWdubWVudCh0MiwgMHhiYWQwZGMwMykKKyAgICBzdWJwIENhbGxlckZyYW1lQW5kUENT
aXplLCBzcAogZW5kCiAKLW1hY3JvIG1ha2VIb3N0RnVuY3Rpb25DYWxsKGVudHJ5LCB0ZW1wKQot
ICAgIG1vdmUgZW50cnksIHRlbXAKLSAgICBpZiBYODYKLSAgICAgICAgIyBQdXQgY2ZyIG9uIHN0
YWNrIGFzIGFyZzAsIGFsc28gcHV0IGl0IGluIGVjeCBmb3IgImZhc3RjYWxsIiB0YXJnZXRzCi0g
ICAgICAgIHBva2UgY2ZyLCAwCi0gICAgICAgIG1vdmUgY2ZyLCB0MgorbWFjcm8gbWFrZUhvc3RG
dW5jdGlvbkNhbGwoZW50cnksIHRlbXAxLCB0ZW1wMikKKyAgICBtb3ZlIGVudHJ5LCB0ZW1wMQor
ICAgIGlmIENfTE9PUAorICAgICAgICBtb3ZlIHNwLCBhMAorICAgICAgICBzdG9yZXAgY2ZyLCBb
c3BdCisgICAgICAgIHN0b3JlcCBsciwgUHRyU2l6ZVtzcF0KKyAgICAgICAgY2xvb3BDYWxsTmF0
aXZlIHRlbXAxCiAgICAgZWxzZQotICAgICAgICBtb3ZlIGNmciwgYTAKKyAgICAgICAgaWYgWDg2
CisgICAgICAgICAgICAjIFB1dCBjYWxsZWUgZnJhbWUgcG9pbnRlciBvbiBzdGFjayBhcyBhcmcw
LCBhbHNvIHB1dCBpdCBpbiBlY3ggZm9yICJmYXN0Y2FsbCIgdGFyZ2V0cworICAgICAgICAgICAg
bW92ZSAwLCB0ZW1wMgorICAgICAgICAgICAgbW92ZSB0ZW1wMiwgNFtzcF0gIyBwdXQgMCBpbiBS
ZXR1cm5QQworICAgICAgICAgICAgbW92ZSBjZnIsIFtzcF0gIyBwdXQgY2FsbGVyIGZyYW1lIHBv
aW50ZXIgaW50byBjYWxsZWUgZnJhbWUgc2luY2UgY2FsbGVlIHByb2xvZ3VlIGNhbid0CisgICAg
ICAgICAgICBtb3ZlIHNwLCB0MiAjIHQyIGlzIGVjeAorICAgICAgICAgICAgcHVzaCB0ZW1wMiAj
IFB1c2ggZHVtbXkgYXJnMQorICAgICAgICAgICAgcHVzaCB0MgorICAgICAgICBlbHNlCisgICAg
ICAgICAgICBtb3ZlIHNwLCBhMAorICAgICAgICAgICAgYWRkcCBDYWxsZXJGcmFtZUFuZFBDU2l6
ZSwgc3AKKyAgICAgICAgZW5kCisgICAgICAgIGNhbGwgdGVtcDEKKyAgICAgICAgaWYgWDg2Cisg
ICAgICAgICAgICBhZGRwIDgsIHNwCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHN1YnAgQ2Fs
bGVyRnJhbWVBbmRQQ1NpemUsIHNwCisgICAgICAgIGVuZAogICAgIGVuZAotICAgIGNhbGwgdGVt
cAogZW5kCiAKLW1hY3JvIGRvUmV0dXJuRnJvbUphdmFTY3JpcHQoZXh0cmFTdGFja1NwYWNlKQot
X3JldHVybkZyb21KYXZhU2NyaXB0OgotICAgIGZ1bmN0aW9uRXBpbG9ndWUoZXh0cmFTdGFja1Nw
YWNlKQorX2hhbmRsZVVuY2F1Z2h0RXhjZXB0aW9uOgorICAgIGxvYWRwIFNjb3BlQ2hhaW4gKyBQ
YXlsb2FkT2Zmc2V0W2Nmcl0sIHQzCisgICAgYW5kcCBNYXJrZWRCbG9ja01hc2ssIHQzCisgICAg
bG9hZHAgTWFya2VkQmxvY2s6Om1fd2Vha1NldCArIFdlYWtTZXQ6Om1fdm1bdDNdLCB0MworICAg
IGxvYWRwIFZNOjpjYWxsRnJhbWVGb3JUaHJvd1t0M10sIGNmcgorCisgICAgIyBTbyBmYXIsIHdl
J3ZlIHVud291bmQgdGhlIHN0YWNrIHRvIHRoZSBmcmFtZSBqdXN0IGJlbG93IHRoZSBzZW50aW5l
bCBmcmFtZS4KKyAgICAjIFdlIG5lZWQgdG8gcG9wIHRvIHRoZSBzZW50aW5lbCBmcmFtZSBhbmQg
ZG8gdGhlIG5lY2Vzc2FyeSBjbGVhbiB1cCBmb3IKKyAgICAjIHJldHVybmluZyB0byB0aGUgY2Fs
bGVyIEMgZnJhbWUuCisgICAgbG9hZHAgQ2FsbGVyRnJhbWUgKyBQYXlsb2FkT2Zmc2V0W2Nmcl0s
IGNmcgorCisgICAgbG9hZHAgQ2FsbGVlICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0MyAjIFZNCisg
ICAgbG9hZHAgU2NvcGVDaGFpbiArIFBheWxvYWRPZmZzZXRbY2ZyXSwgdDUgIyBwcmV2aW91cyB0
b3BDYWxsRnJhbWUKKyAgICBzdG9yZXAgdDUsIFZNOjp0b3BDYWxsRnJhbWVbdDNdCisKKyAgICBj
YWxsVG9KYXZhU2NyaXB0RXBpbG9ndWUoKQogICAgIHJldAotZW5kCiAKIG1hY3JvIGRvUmV0dXJu
RnJvbUhvc3RGdW5jdGlvbihleHRyYVN0YWNrU3BhY2UpCiAgICAgZnVuY3Rpb25FcGlsb2d1ZShl
eHRyYVN0YWNrU3BhY2UpCkBAIC0zNzcsMTQgKzM5OCwxMiBAQCBlbmQKIG1hY3JvIGNhbGxDYWxs
U2xvd1BhdGgoc2xvd1BhdGgsIGFjdGlvbikKICAgICBzdG9yZXAgUEMsIEFyZ3VtZW50Q291bnQg
KyBUYWdPZmZzZXRbY2ZyXQogICAgIGNDYWxsMihzbG93UGF0aCwgY2ZyLCBQQykKLSAgICBtb3Zl
IHQxLCBjZnIKICAgICBhY3Rpb24odDApCiBlbmQKIAogbWFjcm8gY2FsbFdhdGNoZG9nVGltZXJI
YW5kbGVyKHRocm93SGFuZGxlcikKICAgICBzdG9yZWkgUEMsIEFyZ3VtZW50Q291bnQgKyBUYWdP
ZmZzZXRbY2ZyXQogICAgIGNDYWxsMihfbGxpbnRfc2xvd19wYXRoX2hhbmRsZV93YXRjaGRvZ190
aW1lciwgY2ZyLCBQQykKLSAgICBtb3ZlIHQxLCBjZnIKICAgICBidHBueiB0MCwgdGhyb3dIYW5k
bGVyCiAgICAgbG9hZGkgQXJndW1lbnRDb3VudCArIFRhZ09mZnNldFtjZnJdLCBQQwogZW5kCkBA
IC0zOTUsOCArNDE0LDggQEAgbWFjcm8gY2hlY2tTd2l0Y2hUb0pJVEZvckxvb3AoKQogICAgICAg
ICBtYWNybyAoKQogICAgICAgICAgICAgc3RvcmVpIFBDLCBBcmd1bWVudENvdW50ICsgVGFnT2Zm
c2V0W2Nmcl0KICAgICAgICAgICAgIGNDYWxsMihfbGxpbnRfbG9vcF9vc3IsIGNmciwgUEMpCi0g
ICAgICAgICAgICBtb3ZlIHQxLCBjZnIKICAgICAgICAgICAgIGJ0cHogdDAsIC5yZWNvdmVyCisg
ICAgICAgICAgICBtb3ZlIHQxLCBzcAogICAgICAgICAgICAgam1wIHQwCiAgICAgICAgIC5yZWNv
dmVyOgogICAgICAgICAgICAgbG9hZGkgQXJndW1lbnRDb3VudCArIFRhZ09mZnNldFtjZnJdLCBQ
QwpAQCAtNTUzLDE4ICs1NzIsMzQgQEAgZW5kCiAjIEVudHJ5cG9pbnRzIGludG8gdGhlIGludGVy
cHJldGVyCiAKICMgRXhwZWN0cyB0aGF0IENvZGVCbG9jayBpcyBpbiB0MSwgd2hpY2ggaXMgd2hh
dCBwcm9sb2d1ZSgpIGxlYXZlcyBiZWhpbmQuCi1tYWNybyBmdW5jdGlvbkFyaXR5Q2hlY2soZG9u
ZUxhYmVsLCBzbG93X3BhdGgpCittYWNybyBmdW5jdGlvbkFyaXR5Q2hlY2soZG9uZUxhYmVsLCBz
bG93UGF0aCkKICAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0ICsgQXJndW1lbnRDb3VudFtjZnJdLCB0
MAogICAgIGJpYWVxIHQwLCBDb2RlQmxvY2s6Om1fbnVtUGFyYW1ldGVyc1t0MV0sIGRvbmVMYWJl
bAotICAgIGNDYWxsMihzbG93X3BhdGgsIGNmciwgUEMpICAgIyBUaGlzIHNsb3dfcGF0aCBoYXMg
YSBzaW1wbGUgcHJvdG9jb2w6IHQwID0gMCA9PiBubyBlcnJvciwgdDAgIT0gMCA9PiBlcnJvcgot
ICAgIGJ0aXogdDAsIC5pc0FyaXR5Rml4dXBOZWVkZWQKKyAgICBjQ2FsbDIoc2xvd1BhdGgsIGNm
ciwgUEMpICAgIyBUaGlzIHNsb3dQYXRoIGhhcyBhIHNpbXBsZSBwcm90b2NvbDogdDAgPSAwID0+
IG5vIGVycm9yLCB0MCAhPSAwID0+IGVycm9yCisgICAgYnRpeiB0MCwgLm5vRXJyb3IKICAgICBt
b3ZlIHQxLCBjZnIgICAjIHQxIGNvbnRhaW5zIGNhbGxlciBmcmFtZQogICAgIGptcCBfbGxpbnRf
dGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZQogCi0uaXNBcml0eUZpeHVwTmVlZGVkOgor
Lm5vRXJyb3I6CisgICAgIyB0MSBwb2ludHMgdG8gQXJpdHlDaGVja0RhdGEuCisgICAgbG9hZHAg
Q29tbW9uU2xvd1BhdGhzOjpBcml0eUNoZWNrRGF0YTo6dGh1bmtUb0NhbGxbdDFdLCB0MgorICAg
IGJ0cHogdDIsIC5wcm9jZWVkSW5saW5lCisgICAgCisgICAgbG9hZHAgQ29tbW9uU2xvd1BhdGhz
OjpBcml0eUNoZWNrRGF0YTo6cmV0dXJuUENbdDFdLCB0NQorICAgIGxvYWRwIENvbW1vblNsb3dQ
YXRoczo6QXJpdHlDaGVja0RhdGE6OnBhZGRlZFN0YWNrU3BhY2VbdDFdLCB0MAorICAgIGNhbGwg
dDIKKyAgICBpZiBBU1NFUlRfRU5BQkxFRAorICAgICAgICBsb2FkcCBSZXR1cm5QQ1tjZnJdLCB0
MAorICAgICAgICBsb2FkcCBbdDBdLCB0MAorICAgIGVuZAorICAgIGptcCAuY29udGludWUKKwor
LnByb2NlZWRJbmxpbmU6CisgICAgbG9hZGkgQ29tbW9uU2xvd1BhdGhzOjpBcml0eUNoZWNrRGF0
YTo6cGFkZGVkU3RhY2tTcGFjZVt0MV0sIHQxCiAgICAgYnRpeiB0MSwgLmNvbnRpbnVlCiAKLSAg
ICAvLyBNb3ZlIGZyYW1lIHVwICJ0MSIgc2xvdHMKKyAgICAvLyBNb3ZlIGZyYW1lIHVwICJ0MSAq
IDIiIHNsb3RzCisgICAgbHNoaWZ0cCAxLCB0MQogICAgIG5lZ2kgdDEKICAgICBtb3ZlIGNmciwg
dDMKICAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0ICsgQXJndW1lbnRDb3VudFtjZnJdLCB0MgpAQCAt
NTg5LDYgKzYyNCw3IEBAIG1hY3JvIGZ1bmN0aW9uQXJpdHlDaGVjayhkb25lTGFiZWwsIHNsb3df
cGF0aCkKIAogICAgIGxzaGlmdHAgMywgdDEKICAgICBhZGRwIHQxLCBjZnIKKyAgICBhZGRwIHQx
LCBzcAogLmNvbnRpbnVlOgogICAgICMgUmVsb2FkIENvZGVCbG9jayBhbmQgUEMsIHNpbmNlIHRo
ZSBzbG93X3BhdGggY2xvYmJlcmVkIGl0LgogICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MQpA
QCAtNTk2LDcgKzYzMiw2IEBAIG1hY3JvIGZ1bmN0aW9uQXJpdHlDaGVjayhkb25lTGFiZWwsIHNs
b3dfcGF0aCkKICAgICBqbXAgZG9uZUxhYmVsCiBlbmQKIAotCiBtYWNybyBicmFuY2hJZkV4Y2Vw
dGlvbihsYWJlbCkKICAgICBsb2FkcCBTY29wZUNoYWluW2Nmcl0sIHQzCiAgICAgYW5kcCBNYXJr
ZWRCbG9ja01hc2ssIHQzCkBAIC02MTEsNiArNjQ2LDcgQEAgZW5kCiAKIF9sbGludF9vcF9lbnRl
cjoKICAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQo
dDIsIDB4ZGVhZDAwZTEpCiAgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQyICAgICAgICAgICAg
ICAgIC8vIHQyPENvZGVCbG9jaz4gPSBjZnIuQ29kZUJsb2NrCiAgICAgbG9hZGkgQ29kZUJsb2Nr
OjptX251bVZhcnNbdDJdLCB0MiAgICAgIC8vIHQyPHNpemVfdD4gPSB0MjxDb2RlQmxvY2s+Lm1f
bnVtVmFycwogICAgIGJ0aXogdDIsIC5vcEVudGVyRG9uZQpAQCAtMTkyMCwxMiArMTk1NiwxMSBA
QCBtYWNybyBkb0NhbGwoc2xvd1BhdGgpCiAgICAgc3RvcmVpIHQwLCBTY29wZUNoYWluICsgUGF5
bG9hZE9mZnNldFt0M10KICAgICBsb2FkaSAxMltQQ10sIHQyCiAgICAgc3RvcmVpIFBDLCBBcmd1
bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0KLSAgICBzdG9yZXAgY2ZyLCBDYWxsZXJGcmFtZVt0
M10KICAgICBzdG9yZWkgdDIsIEFyZ3VtZW50Q291bnQgKyBQYXlsb2FkT2Zmc2V0W3QzXQogICAg
IHN0b3JlaSBDZWxsVGFnLCBDYWxsZWUgKyBUYWdPZmZzZXRbdDNdCiAgICAgc3RvcmVpIENlbGxU
YWcsIFNjb3BlQ2hhaW4gKyBUYWdPZmZzZXRbdDNdCi0gICAgbW92ZSB0MywgY2ZyCi0gICAgY2Fs
bFRhcmdldEZ1bmN0aW9uKHQxKQorICAgIGFkZHAgQ2FsbGVyRnJhbWVBbmRQQ1NpemUsIHQzCisg
ICAgY2FsbFRhcmdldEZ1bmN0aW9uKHQxLCB0MykKIAogLm9wQ2FsbFNsb3c6CiAgICAgc2xvd1Bh
dGhGb3JDYWxsKHNsb3dQYXRoKQpAQCAtMjAzOSwxMCArMjA3NCwxMiBAQCBfbGxpbnRfb3BfY2F0
Y2g6CiAgICAgIyB0aGUgaW50ZXJwcmV0ZXIncyB0aHJvdyB0cmFtcG9saW5lIChzZWUgX2xsaW50
X3Rocm93X3RyYW1wb2xpbmUpLgogICAgICMgVGhlIHRocm93aW5nIGNvZGUgbXVzdCBoYXZlIGtu
b3duIHRoYXQgd2Ugd2VyZSB0aHJvd2luZyB0byB0aGUgaW50ZXJwcmV0ZXIsCiAgICAgIyBhbmQg
aGF2ZSBzZXQgVk06OnRhcmdldEludGVycHJldGVyUENGb3JUaHJvdy4KLSAgICBsb2FkcCBTY29w
ZUNoYWluW2Nmcl0sIHQzCisgICAgbG9hZHAgU2NvcGVDaGFpbiArIFBheWxvYWRPZmZzZXRbY2Zy
XSwgdDMKICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKICAgICBsb2FkcCBNYXJrZWRCbG9j
azo6bV93ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0M10sIHQzCiAgICAgbG9hZHAgVk06OmNhbGxG
cmFtZUZvclRocm93W3QzXSwgY2ZyCisgICAgcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVyQ2FsbCgp
CisKICAgICBsb2FkaSBWTTo6dGFyZ2V0SW50ZXJwcmV0ZXJQQ0ZvclRocm93W3QzXSwgUEMKICAg
ICBsb2FkaSBWTTo6bV9leGNlcHRpb24gKyBQYXlsb2FkT2Zmc2V0W3QzXSwgdDAKICAgICBsb2Fk
aSBWTTo6bV9leGNlcHRpb24gKyBUYWdPZmZzZXRbdDNdLCB0MQpAQCAtMjExNiw3NCArMjE1Myw2
MiBAQCBfbGxpbnRfdGhyb3dfZHVyaW5nX2NhbGxfdHJhbXBvbGluZToKIAogCiBtYWNybyBuYXRp
dmVDYWxsVHJhbXBvbGluZShleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvbikKKworICAgIGZ1bmN0
aW9uUHJvbG9ndWUoKQogICAgIHN0b3JlcCAwLCBDb2RlQmxvY2tbY2ZyXQogICAgIGxvYWRwIENh
bGxlckZyYW1lW2Nmcl0sIHQwCiAgICAgbG9hZGkgU2NvcGVDaGFpbiArIFBheWxvYWRPZmZzZXRb
dDBdLCB0MQogICAgIHN0b3JlaSBDZWxsVGFnLCBTY29wZUNoYWluICsgVGFnT2Zmc2V0W2Nmcl0K
ICAgICBzdG9yZWkgdDEsIFNjb3BlQ2hhaW4gKyBQYXlsb2FkT2Zmc2V0W2Nmcl0KICAgICBpZiBY
ODYKLSAgICAgICAgbG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0MwotICAgICAgICBhbmRwIE1hcmtl
ZEJsb2NrTWFzaywgdDMKLSAgICAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fd2Vha1NldCArIFdl
YWtTZXQ6Om1fdm1bdDNdLCB0MworICAgICAgICBzdWJwIDgsIHNwICMgYWxpZ24gc3RhY2sgcG9p
bnRlcgorICAgICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDEKKyAgICAgICAgbG9hZHAgTWFy
a2VkQmxvY2s6Om1fd2Vha1NldCArIFdlYWtTZXQ6Om1fdm1bdDFdLCB0MwogICAgICAgICBzdG9y
ZXAgY2ZyLCBWTTo6dG9wQ2FsbEZyYW1lW3QzXQotICAgICAgICBwZWVrIDAsIHQxCi0gICAgICAg
IHN0b3JlcCB0MSwgUmV0dXJuUENbY2ZyXQogICAgICAgICBtb3ZlIGNmciwgdDIgICMgdDIgPSBl
Y3gKLSAgICAgICAgc3VicCAxNiAtIDQsIHNwCisgICAgICAgIHN0b3JlcCB0MiwgW3NwXQogICAg
ICAgICBsb2FkaSBDYWxsZWUgKyBQYXlsb2FkT2Zmc2V0W2Nmcl0sIHQxCiAgICAgICAgIGxvYWRw
IEpTRnVuY3Rpb246Om1fZXhlY3V0YWJsZVt0MV0sIHQxCi0gICAgICAgIG1vdmUgdDAsIGNmcgor
ICAgICAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0MywgMHhkZWFkMDAwMSkKICAgICAg
ICAgY2FsbCBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvblt0MV0KLSAgICAgICAgYWRkcCAxNiAt
IDQsIHNwCi0gICAgICAgIGxvYWRwIFNjb3BlQ2hhaW5bY2ZyXSwgdDMKLSAgICAgICAgYW5kcCBN
YXJrZWRCbG9ja01hc2ssIHQzCi0gICAgICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3dlYWtTZXQg
KyBXZWFrU2V0OjptX3ZtW3QzXSwgdDMKLSAgICBlbHNpZiBBUk0gb3IgQVJNdjcgb3IgQVJNdjdf
VFJBRElUSU9OQUwgb3IgTUlQUyBvciBTSDQKICAgICAgICAgbG9hZHAgU2NvcGVDaGFpbltjZnJd
LCB0MwogICAgICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKICAgICAgICAgbG9hZHAgTWFy
a2VkQmxvY2s6Om1fd2Vha1NldCArIFdlYWtTZXQ6Om1fdm1bdDNdLCB0MwotICAgICAgICBzdG9y
ZXAgY2ZyLCBWTTo6dG9wQ2FsbEZyYW1lW3QzXQotICAgICAgICBtb3ZlIHQwLCB0MgotICAgICAg
ICBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwodDMpCi0gICAgICAgIHN0b3JlcCB0Mywg
UmV0dXJuUENbY2ZyXQotICAgICAgICBtb3ZlIGNmciwgdDAKLSAgICAgICAgbG9hZGkgQ2FsbGVl
ICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0MQotICAgICAgICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4
ZWN1dGFibGVbdDFdLCB0MQotICAgICAgICBtb3ZlIHQyLCBjZnIKKyAgICAgICAgYWRkcCA4LCBz
cAorICAgIGVsc2lmIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTCBvciBDX0xPT1Ag
b3IgTUlQUyBvciBTSDQKKyAgICAgICAgc3VicCA4LCBzcCAjIGFsaWduIHN0YWNrIHBvaW50ZXIK
KyAgICAgICAgIyB0MSBhbHJlYWR5IGNvbnRhaW5zIHRoZSBTY29wZUNoYWluLgorICAgICAgICBh
bmRwIE1hcmtlZEJsb2NrTWFzaywgdDEKKyAgICAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fd2Vh
a1NldCArIFdlYWtTZXQ6Om1fdm1bdDFdLCB0MQorICAgICAgICBzdG9yZXAgY2ZyLCBWTTo6dG9w
Q2FsbEZyYW1lW3QxXQogICAgICAgICBpZiBNSVBTIG9yIFNINAotICAgICAgICAgICAgbW92ZSB0
MCwgYTAKKyAgICAgICAgICAgIG1vdmUgY2ZyLCBhMAorICAgICAgICBlbHNlCisgICAgICAgICAg
ICBtb3ZlIGNmciwgdDAKICAgICAgICAgZW5kCi0gICAgICAgIGNhbGwgZXhlY3V0YWJsZU9mZnNl
dFRvRnVuY3Rpb25bdDFdCi0gICAgICAgIHJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJu
KHQzKQotICAgICAgICBsb2FkcCBTY29wZUNoYWluW2Nmcl0sIHQzCi0gICAgICAgIGFuZHAgTWFy
a2VkQmxvY2tNYXNrLCB0MwotICAgICAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV93ZWFrU2V0ICsg
V2Vha1NldDo6bV92bVt0M10sIHQzCi0gICAgZWxzaWYgQ19MT09QCi0gICAgICAgIGxvYWRwIFNj
b3BlQ2hhaW5bY2ZyXSwgdDMKLSAgICAgICAgYW5kcCBNYXJrZWRCbG9ja01hc2ssIHQzCi0gICAg
ICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3dlYWtTZXQgKyBXZWFrU2V0OjptX3ZtW3QzXSwgdDMK
LSAgICAgICAgc3RvcmVwIGNmciwgVk06OnRvcENhbGxGcmFtZVt0M10KLSAgICAgICAgbW92ZSB0
MCwgdDIKLSAgICAgICAgcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKHQzKQotICAgICAg
ICBzdG9yZXAgdDMsIFJldHVyblBDW2Nmcl0KLSAgICAgICAgbW92ZSBjZnIsIHQwCiAgICAgICAg
IGxvYWRpIENhbGxlZSArIFBheWxvYWRPZmZzZXRbY2ZyXSwgdDEKICAgICAgICAgbG9hZHAgSlNG
dW5jdGlvbjo6bV9leGVjdXRhYmxlW3QxXSwgdDEKLSAgICAgICAgbW92ZSB0MiwgY2ZyCi0gICAg
ICAgIGNsb29wQ2FsbE5hdGl2ZSBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvblt0MV0KLSAgICAg
ICAgcmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4odDMpCisgICAgICAgIGNoZWNrU3Rh
Y2tQb2ludGVyQWxpZ25tZW50KHQzLCAweGRlYWQwMDAxKQorICAgICAgICBpZiBDX0xPT1AKKyAg
ICAgICAgICAgIGNsb29wQ2FsbE5hdGl2ZSBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvblt0MV0K
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgY2FsbCBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlv
blt0MV0KKyAgICAgICAgZW5kCiAgICAgICAgIGxvYWRwIFNjb3BlQ2hhaW5bY2ZyXSwgdDMKICAg
ICAgICAgYW5kcCBNYXJrZWRCbG9ja01hc2ssIHQzCiAgICAgICAgIGxvYWRwIE1hcmtlZEJsb2Nr
OjptX3dlYWtTZXQgKyBXZWFrU2V0OjptX3ZtW3QzXSwgdDMKKyAgICAgICAgYWRkcCA4LCBzcAog
ICAgIGVsc2UKICAgICAgICAgZXJyb3IKICAgICBlbmQKLSAgICBiaW5lcSBWTTo6bV9leGNlcHRp
b24gKyBUYWdPZmZzZXRbdDNdLCBFbXB0eVZhbHVlVGFnLCAuZXhjZXB0aW9uCisgICAgCisgICAg
ZnVuY3Rpb25FcGlsb2d1ZSgpCisgICAgYmluZXEgVk06Om1fZXhjZXB0aW9uICsgVGFnT2Zmc2V0
W3QzXSwgRW1wdHlWYWx1ZVRhZywgLmhhbmRsZUV4Y2VwdGlvbgogICAgIHJldAotLmV4Y2VwdGlv
bjoKLSAgICBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwodDEpICMgVGhpcyBpcyByZWFs
bHkgb25seSBuZWVkZWQgb24gWDg2Ci0gICAgbG9hZGkgQXJndW1lbnRDb3VudCArIFRhZ09mZnNl
dFtjZnJdLCBQQwotICAgIGNhbGxTbG93UGF0aChfbGxpbnRfdGhyb3dfZnJvbV9uYXRpdmVfY2Fs
bCkKKworLmhhbmRsZUV4Y2VwdGlvbjoKKyAgICBzdG9yZXAgY2ZyLCBWTTo6dG9wQ2FsbEZyYW1l
W3QzXQorICAgIHJlc3RvcmVTdGFja1BvaW50ZXJBZnRlckNhbGwoKQogICAgIGptcCBfbGxpbnRf
dGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZQogZW5kCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KaW5kZXggMWJj
NWVkNjhkN2U0NjQ0ZjdkNzEzOTAxYzZhNDUwYzVmOTVjNDgyNS4uZDIwYmI2NTkyZjBhNzRjNjVj
YTQyYmNmMjMwNGIyYzM0ODhmY2NhYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KQEAgLTEsNCArMSw0IEBACi0jIENv
cHlyaWdodCAoQykgMjAxMSwgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisjIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUyLDkg
KzUyLDEwIEBAIG1hY3JvIGRpc3BhdGNoQWZ0ZXJDYWxsKCkKIGVuZAogCiBtYWNybyBjQ2FsbDIo
ZnVuY3Rpb24sIGFyZzEsIGFyZzIpCisgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDQs
IDB4YmFkMGMwMDIpCiAgICAgaWYgWDg2XzY0Ci0gICAgICAgIG1vdmUgYXJnMSwgdDUKLSAgICAg
ICAgbW92ZSBhcmcyLCB0NAorICAgICAgICBtb3ZlIGFyZzEsIHQ0CisgICAgICAgIG1vdmUgYXJn
MiwgdDUKICAgICAgICAgY2FsbCBmdW5jdGlvbgogICAgIGVsc2lmIEFSTTY0CiAgICAgICAgIG1v
dmUgYXJnMSwgdDAKQEAgLTY5LDkgKzcwLDEwIEBAIGVuZAogCiAjIFRoaXMgYmFyZWx5IHdvcmtz
LiBhcmczIGFuZCBhcmc0IHNob3VsZCBwcm9iYWJseSBiZSBpbW1lZGlhdGVzLgogbWFjcm8gY0Nh
bGw0KGZ1bmN0aW9uLCBhcmcxLCBhcmcyLCBhcmczLCBhcmc0KQorICAgIGNoZWNrU3RhY2tQb2lu
dGVyQWxpZ25tZW50KHQ0LCAweGJhZDBjMDA0KQogICAgIGlmIFg4Nl82NAotICAgICAgICBtb3Zl
IGFyZzEsIHQ1Ci0gICAgICAgIG1vdmUgYXJnMiwgdDQKKyAgICAgICAgbW92ZSBhcmcxLCB0NAor
ICAgICAgICBtb3ZlIGFyZzIsIHQ1CiAgICAgICAgIG1vdmUgYXJnMywgdDEKICAgICAgICAgbW92
ZSBhcmc0LCB0MgogICAgICAgICBjYWxsIGZ1bmN0aW9uCkBAIC04OCw2NiArOTAsNDkgQEAgbWFj
cm8gY0NhbGw0KGZ1bmN0aW9uLCBhcmcxLCBhcmcyLCBhcmczLCBhcmc0KQogICAgIGVuZAogZW5k
CiAKLW1hY3JvIGZ1bmN0aW9uUHJvbG9ndWUoZXh0cmFTdGFja1NwYWNlKQorbWFjcm8gZG9DYWxs
VG9KYXZhU2NyaXB0KG1ha2VDYWxsKQogICAgIGlmIFg4Nl82NAotICAgICAgICBwdXNoIGNmcgot
ICAgICAgICBtb3ZlIHNwLCBjZnIKLSAgICBlbHNpZiBBUk02NAotICAgICAgICBwdXNoTFJBbmRG
UAotICAgIGVuZAotICAgIHB1c2hDYWxsZWVTYXZlcwotICAgIGlmIFg4Nl82NAotICAgICAgICBz
dWJwIGV4dHJhU3RhY2tTcGFjZSwgc3AKLSAgICBlbmQKLWVuZAotCi1tYWNybyBmdW5jdGlvbkVw
aWxvZ3VlKGV4dHJhU3RhY2tTcGFjZSkKLSAgICBpZiBYODZfNjQKLSAgICAgICAgYWRkcCBleHRy
YVN0YWNrU3BhY2UsIHNwCi0gICAgZW5kCi0gICAgcG9wQ2FsbGVlU2F2ZXMKLSAgICBpZiBYODZf
NjQKLSAgICAgICAgcG9wIGNmcgotICAgIGVsc2lmIEFSTTY0Ci0gICAgICAgIHBvcExSQW5kRlAK
LSAgICBlbmQKLWVuZAotCi1tYWNybyBkb0NhbGxUb0phdmFTY3JpcHQobWFrZUNhbGwsIGRvUmV0
dXJuKQotICAgIGlmIFg4Nl82NAotICAgICAgICBjb25zdCBlbnRyeSA9IHQ1Ci0gICAgICAgIGNv
bnN0IHZtVG9wQ2FsbEZyYW1lID0gdDQKKyAgICAgICAgY29uc3QgZW50cnkgPSB0NAorICAgICAg
ICBjb25zdCB2bSA9IHQ1CiAgICAgICAgIGNvbnN0IHByb3RvQ2FsbEZyYW1lID0gdDEKLSAgICAg
ICAgY29uc3QgdG9wT2ZTdGFjayA9IHQyCiAKLSAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNl
ID0gOAogICAgICAgICBjb25zdCBwcmV2aW91c0NGUiA9IHQwCiAgICAgICAgIGNvbnN0IHByZXZp
b3VzUEMgPSB0NgogICAgICAgICBjb25zdCB0ZW1wMSA9IHQwCiAgICAgICAgIGNvbnN0IHRlbXAy
ID0gdDMKICAgICAgICAgY29uc3QgdGVtcDMgPSB0NgotICAgIGVsc2lmIEFSTTY0CisgICAgZWxz
aWYgQVJNNjQgb3IgQ19MT09QCiAgICAgICAgIGNvbnN0IGVudHJ5ID0gYTAKLSAgICAgICAgY29u
c3Qgdm1Ub3BDYWxsRnJhbWUgPSBhMQorICAgICAgICBjb25zdCB2bSA9IGExCiAgICAgICAgIGNv
bnN0IHByb3RvQ2FsbEZyYW1lID0gYTIKLSAgICAgICAgY29uc3QgdG9wT2ZTdGFjayA9IGEzCiAK
LSAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNlID0gMAotICAgICAgICBjb25zdCBwcmV2aW91
c0NGUiA9IHQ0CisgICAgICAgIGNvbnN0IHByZXZpb3VzQ0ZSID0gdDUKICAgICAgICAgY29uc3Qg
cHJldmlvdXNQQyA9IGxyCiAgICAgICAgIGNvbnN0IHRlbXAxID0gdDMKLSAgICAgICAgY29uc3Qg
dGVtcDIgPSB0NQorICAgICAgICBjb25zdCB0ZW1wMiA9IHQ0CiAgICAgICAgIGNvbnN0IHRlbXAz
ID0gdDYKICAgICBlbmQKIAotICAgIGZ1bmN0aW9uUHJvbG9ndWUoZXh0cmFTdGFja1NwYWNlKQor
ICAgIGNhbGxUb0phdmFTY3JpcHRQcm9sb2d1ZSgpCisKKyAgICBpZiBYODZfNjQKKyAgICAgICAg
bG9hZHAgNyo4W3NwXSwgcHJldmlvdXNQQworICAgICAgICBtb3ZlIDYqOFtzcF0sIHByZXZpb3Vz
Q0ZSCisgICAgZWxzaWYgQVJNNjQKKyAgICAgICAgbW92ZSBjZnIsIHByZXZpb3VzQ0ZSCisgICAg
ZW5kCisKKyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0ZW1wMiwgMHhiYWQwZGMwMSkK
IAotICAgIG1vdmUgdG9wT2ZTdGFjaywgY2ZyCi0gICAgc3VicCAoQ2FsbEZyYW1lSGVhZGVyU2xv
dHMtMSkqOCwgY2ZyCisgICAgIyBUaGUgc3RhY2sgcmVzZXJ2ZWQgem9uZSBlbnN1cmVzIHRoYXQg
d2UgaGF2ZSBhZGVxdWF0ZSBzcGFjZSBmb3IgdGhlCisgICAgIyBWTUVudHJ5U2VudGluZWxGcmFt
ZS4gUHJvY2VlZCB3aXRoIGFsbG9jYXRpbmcgYW5kIGluaXRpYWxpemluZyB0aGUKKyAgICAjIHNl
bnRpbmVsIGZyYW1lLgorICAgIG1vdmUgc3AsIGNmcgorICAgIHN1YnAgQ2FsbEZyYW1lSGVhZGVy
U2xvdHMgKiA4LCBjZnIKICAgICBzdG9yZXAgMCwgQXJndW1lbnRDb3VudFtjZnJdCi0gICAgc3Rv
cmVwIHZtVG9wQ2FsbEZyYW1lLCBDYWxsZWVbY2ZyXQotICAgIGxvYWRwIFt2bVRvcENhbGxGcmFt
ZV0sIHRlbXAxCi0gICAgc3RvcmVwIHRlbXAxLCBTY29wZUNoYWluW2Nmcl0KKyAgICBzdG9yZXAg
dm0sIENhbGxlZVtjZnJdCisgICAgbG9hZHAgVk06OnRvcENhbGxGcmFtZVt2bV0sIHRlbXAyCisg
ICAgc3RvcmVwIHRlbXAyLCBTY29wZUNoYWluW2Nmcl0KICAgICBzdG9yZXAgMSwgQ29kZUJsb2Nr
W2Nmcl0KICAgICBpZiBYODZfNjQKICAgICAgICAgbG9hZHAgNyo4W3NwXSwgcHJldmlvdXNQQwpA
QCAtMTU1LDIwICsxNDAsNDUgQEAgbWFjcm8gZG9DYWxsVG9KYXZhU2NyaXB0KG1ha2VDYWxsLCBk
b1JldHVybikKICAgICBlbmQKICAgICBzdG9yZXAgcHJldmlvdXNQQywgUmV0dXJuUENbY2ZyXQog
ICAgIHN0b3JlcCBwcmV2aW91c0NGUiwgQ2FsbGVyRnJhbWVbY2ZyXQotICAgIG1vdmUgY2ZyLCB0
ZW1wMQogCiAgICAgbG9hZGkgUHJvdG9DYWxsRnJhbWU6OnBhZGRlZEFyZ0NvdW50W3Byb3RvQ2Fs
bEZyYW1lXSwgdGVtcDIKICAgICBhZGRwIENhbGxGcmFtZUhlYWRlclNsb3RzLCB0ZW1wMiwgdGVt
cDIKICAgICBsc2hpZnRwIDMsIHRlbXAyCi0gICAgc3VicCB0ZW1wMiwgY2ZyCi0gICAgc3RvcmVw
IHRlbXAxLCBDYWxsZXJGcmFtZVtjZnJdCisgICAgc3VicCBjZnIsIHRlbXAyLCB0ZW1wMQorCisg
ICAgIyBFbnN1cmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBhZGRpdGlvbmFsIHN0YWNrIGNhcGFjaXR5
IGZvciB0aGUgaW5jb21pbmcgYXJncywKKyAgICAjIGFuZCB0aGUgZnJhbWUgZm9yIHRoZSBKUyBj
b2RlIHdlJ3JlIGV4ZWN1dGluZy4gV2UgbmVlZCB0byBkbyB0aGlzIGNoZWNrCisgICAgIyBiZWZv
cmUgd2Ugc3RhcnQgY29weWluZyB0aGUgYXJncyBmcm9tIHRoZSBwcm90b0NhbGxGcmFtZSBiZWxv
dy4KKyAgICBicGFlcSB0ZW1wMSwgVk06Om1fanNTdGFja0xpbWl0W3ZtXSwgLnN0YWNrSGVpZ2h0
T0sKKworICAgIG1vdmUgY2ZyLCBzcAorCisgICAgaWYgQ19MT09QCisgICAgICAgIG1vdmUgZW50
cnksIHRlbXAyCisgICAgICAgIG1vdmUgdm0sIHRlbXAzCisgICAgICAgIGNsb29wQ2FsbFNsb3dQ
YXRoIF9sbGludF9zdGFja19jaGVja19hdF92bV9lbnRyeSwgdm0sIHRlbXAxCisgICAgICAgIGJw
ZXEgdDAsIDAsIC5zdGFja0NoZWNrRmFpbGVkCisgICAgICAgIG1vdmUgdGVtcDIsIGVudHJ5Cisg
ICAgICAgIG1vdmUgdGVtcDMsIHZtCisgICAgICAgIGptcCAuc3RhY2tIZWlnaHRPSworCisuc3Rh
Y2tDaGVja0ZhaWxlZDoKKyAgICAgICAgbW92ZSB0ZW1wMiwgZW50cnkKKyAgICAgICAgbW92ZSB0
ZW1wMywgdm0KKyAgICBlbmQKKworICAgIGNDYWxsMihfbGxpbnRfdGhyb3dfc3RhY2tfb3ZlcmZs
b3dfZXJyb3IsIHZtLCBwcm90b0NhbGxGcmFtZSkKKyAgICBjYWxsVG9KYXZhU2NyaXB0RXBpbG9n
dWUoKQorICAgIHJldAogCisuc3RhY2tIZWlnaHRPSzoKKyAgICBtb3ZlIHRlbXAxLCBzcAogICAg
IG1vdmUgNSwgdGVtcDEKIAogLmNvcHlIZWFkZXJMb29wOgogICAgIHN1YmkgMSwgdGVtcDEKLSAg
ICBsb2FkcCBbcHJvdG9DYWxsRnJhbWUsIHRlbXAxLCA4XSwgdGVtcDMKLSAgICBzdG9yZXAgdGVt
cDMsIENvZGVCbG9ja1tjZnIsIHRlbXAxLCA4XQorICAgIGxvYWRxIFtwcm90b0NhbGxGcmFtZSwg
dGVtcDEsIDhdLCB0ZW1wMworICAgIHN0b3JlcSB0ZW1wMywgQ29kZUJsb2NrW3NwLCB0ZW1wMSwg
OF0KICAgICBidGlueiB0ZW1wMSwgLmNvcHlIZWFkZXJMb29wCiAKICAgICBsb2FkaSBQcm90b0Nh
bGxGcmFtZTo6YXJnQ291bnRBbmRDb2RlT3JpZ2luVmFsdWVbcHJvdG9DYWxsRnJhbWVdLCB0ZW1w
MgpAQCAtMTgwLDcgKzE5MCw3IEBAIG1hY3JvIGRvQ2FsbFRvSmF2YVNjcmlwdChtYWtlQ2FsbCwg
ZG9SZXR1cm4pCiAgICAgbW92ZSBWYWx1ZVVuZGVmaW5lZCwgdGVtcDEKIC5maWxsRXh0cmFBcmdz
TG9vcDoKICAgICBzdWJpIDEsIHRlbXAzCi0gICAgc3RvcmVwIHRlbXAxLCBUaGlzQXJndW1lbnRP
ZmZzZXQrOFtjZnIsIHRlbXAzLCA4XQorICAgIHN0b3JlcSB0ZW1wMSwgVGhpc0FyZ3VtZW50T2Zm
c2V0ICsgOFtzcCwgdGVtcDMsIDhdCiAgICAgYmluZXEgdGVtcDIsIHRlbXAzLCAuZmlsbEV4dHJh
QXJnc0xvb3AKIAogLmNvcHlBcmdzOgpAQCAtMTg5LDUzICsxOTksOTcgQEAgbWFjcm8gZG9DYWxs
VG9KYXZhU2NyaXB0KG1ha2VDYWxsLCBkb1JldHVybikKIC5jb3B5QXJnc0xvb3A6CiAgICAgYnRp
eiB0ZW1wMiwgLmNvcHlBcmdzRG9uZQogICAgIHN1YmkgMSwgdGVtcDIKLSAgICBsb2FkcCBbdGVt
cDEsIHRlbXAyLCA4XSwgdGVtcDMKLSAgICBzdG9yZXAgdGVtcDMsIFRoaXNBcmd1bWVudE9mZnNl
dCs4W2NmciwgdGVtcDIsIDhdCisgICAgbG9hZHEgW3RlbXAxLCB0ZW1wMiwgOF0sIHRlbXAzCisg
ICAgc3RvcmVxIHRlbXAzLCBUaGlzQXJndW1lbnRPZmZzZXQgKyA4W3NwLCB0ZW1wMiwgOF0KICAg
ICBqbXAgLmNvcHlBcmdzTG9vcAogCiAuY29weUFyZ3NEb25lOgotICAgIHN0b3JlcCBjZnIsIFt2
bVRvcENhbGxGcmFtZV0KKyAgICBpZiBBUk02NAorICAgICAgICBtb3ZlIHNwLCB0ZW1wMgorICAg
ICAgICBzdG9yZXAgdGVtcDIsIFZNOjp0b3BDYWxsRnJhbWVbdm1dCisgICAgZWxzZQorICAgICAg
ICBzdG9yZXAgc3AsIFZNOjp0b3BDYWxsRnJhbWVbdm1dCisgICAgZW5kCiAKICAgICBtb3ZlIDB4
ZmZmZjAwMDAwMDAwMDAwMCwgY3NyMQogICAgIGFkZHAgMiwgY3NyMSwgY3NyMgogCisgICAgY2hl
Y2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodGVtcDMsIDB4YmFkMGRjMDIpCisKICAgICBtYWtlQ2Fs
bChlbnRyeSwgdGVtcDEpCiAKKyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0ZW1wMywg
MHhiYWQwZGMwMykKKwogICAgIGJwZXEgQ29kZUJsb2NrW2Nmcl0sIDEsIC5jYWxsZWVGcmFtZVBv
cHBlZAogICAgIGxvYWRwIENhbGxlckZyYW1lW2Nmcl0sIGNmcgogCiAuY2FsbGVlRnJhbWVQb3Bw
ZWQ6Ci0gICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHRlbXAyICMgVk0udG9wQ2FsbEZyYW1lCi0gICAg
bG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0ZW1wMwotICAgIHN0b3JlcCB0ZW1wMywgW3RlbXAyXQor
ICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0ZW1wMiAjIFZNCisgICAgbG9hZHAgU2NvcGVDaGFpbltj
ZnJdLCB0ZW1wMyAjIHByZXZpb3VzIHRvcENhbGxGcmFtZQorICAgIHN0b3JlcCB0ZW1wMywgVk06
OnRvcENhbGxGcmFtZVt0ZW1wMl0KKworICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHRl
bXAzLCAweGJhZDBkYzA0KQogCi0gICAgZG9SZXR1cm4oZXh0cmFTdGFja1NwYWNlKQorICAgIGlm
IFg4Nl82NAorICAgICAgICBwb3AgdDUKKyAgICBlbmQKKyAgICBjYWxsVG9KYXZhU2NyaXB0RXBp
bG9ndWUoKQorCisgICAgcmV0CiBlbmQKIAorCiBtYWNybyBtYWtlSmF2YVNjcmlwdENhbGwoZW50
cnksIHRlbXApCi0gICAgY2FsbCBlbnRyeQorICAgIGFkZHAgMTYsIHNwCisgICAgaWYgQ19MT09Q
CisgICAgICAgIGNsb29wQ2FsbEpTRnVuY3Rpb24gZW50cnkKKyAgICBlbHNlCisgICAgICAgIGNh
bGwgZW50cnkKKyAgICBlbmQKKyAgICBzdWJwIDE2LCBzcAogZW5kCiAKKwogbWFjcm8gbWFrZUhv
c3RGdW5jdGlvbkNhbGwoZW50cnksIHRlbXApCiAgICAgbW92ZSBlbnRyeSwgdGVtcAogICAgIGlm
IFg4Nl82NAotICAgICAgICBtb3ZlIGNmciwgdDUKKyAgICAgICAgbW92ZSBzcCwgdDQKICAgICBl
bHNpZiBBUk02NCBvciBDX0xPT1AKLSAgICAgICAgbW92ZSBjZnIsIGEwCisgICAgICAgIG1vdmUg
c3AsIGEwCisgICAgZW5kCisgICAgaWYgQ19MT09QCisgICAgICAgIHN0b3JlcCBjZnIsIFtzcF0K
KyAgICAgICAgc3RvcmVwIGxyLCA4W3NwXQorICAgICAgICBjbG9vcENhbGxOYXRpdmUgdGVtcAor
ICAgIGVsc2UKKyAgICAgICAgYWRkcCAxNiwgc3AgCisgICAgICAgIGNhbGwgdGVtcAorICAgICAg
ICBzdWJwIDE2LCBzcAogICAgIGVuZAotICAgIGNhbGwgdGVtcAogZW5kCiAKLW1hY3JvIGRvUmV0
dXJuRnJvbUphdmFTY3JpcHQoZXh0cmFTdGFja1NwYWNlKQotX3JldHVybkZyb21KYXZhU2NyaXB0
OgotICAgIGZ1bmN0aW9uRXBpbG9ndWUoZXh0cmFTdGFja1NwYWNlKQotICAgIHJldAotZW5kCiAK
LW1hY3JvIGRvUmV0dXJuRnJvbUhvc3RGdW5jdGlvbihleHRyYVN0YWNrU3BhY2UpCi0gICAgZnVu
Y3Rpb25FcGlsb2d1ZShleHRyYVN0YWNrU3BhY2UpCitfaGFuZGxlVW5jYXVnaHRFeGNlcHRpb246
CisgICAgbG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0MworICAgIGFuZHAgTWFya2VkQmxvY2tNYXNr
LCB0MworICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3dlYWtTZXQgKyBXZWFrU2V0OjptX3ZtW3Qz
XSwgdDMKKyAgICBsb2FkcCBWTTo6Y2FsbEZyYW1lRm9yVGhyb3dbdDNdLCBjZnIKKworICAgICMg
U28gZmFyLCB3ZSd2ZSB1bndvdW5kIHRoZSBzdGFjayB0byB0aGUgZnJhbWUganVzdCBiZWxvdyB0
aGUgc2VudGluZWwgZnJhbWUsIGV4Y2VwdAorICAgICMgaW4gdGhlIGNhc2Ugb2Ygc3RhY2sgb3Zl
cmZsb3cgaW4gdGhlIGZpcnN0IGZ1bmN0aW9uIGNhbGxlZCBmcm9tIGNhbGxUb0phdmFTY3JpcHQu
CisgICAgIyBDaGVjayBpZiB3ZSBuZWVkIHRvIHBvcCB0byB0aGUgc2VudGluZWwgZnJhbWUgYW5k
IGRvIHRoZSBuZWNlc3NhcnkgY2xlYW4gdXAgZm9yCisgICAgIyByZXR1cm5pbmcgdG8gdGhlIGNh
bGxlciBDIGZyYW1lLgorICAgIGJwZXEgQ29kZUJsb2NrW2Nmcl0sIDEsIC5oYW5kbGVVbmNhdWdo
dEV4Y2VwdGlvbkFscmVhZHlJc1NlbnRpbmVsCisgICAgbG9hZHAgQ2FsbGVyRnJhbWVbY2ZyXSwg
Y2ZyCisuaGFuZGxlVW5jYXVnaHRFeGNlcHRpb25BbHJlYWR5SXNTZW50aW5lbDoKKworICAgIGxv
YWRwIENhbGxlZVtjZnJdLCB0MyAjIFZNCisgICAgbG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0NSAj
IHByZXZpb3VzIHRvcENhbGxGcmFtZQorICAgIHN0b3JlcCB0NSwgVk06OnRvcENhbGxGcmFtZVt0
M10KKworICAgIGNhbGxUb0phdmFTY3JpcHRFcGlsb2d1ZSgpCiAgICAgcmV0Ci1lbmQKKwogCiBt
YWNybyBwcmVwYXJlU3RhdGVGb3JDQ2FsbCgpCiAgICAgbGVhcCBbUEIsIFBDLCA4XSwgUEMKQEAg
LTI0NCw3ICsyOTgsNiBAQCBlbmQKIAogbWFjcm8gcmVzdG9yZVN0YXRlQWZ0ZXJDQ2FsbCgpCiAg
ICAgbW92ZSB0MCwgUEMKLSAgICBtb3ZlIHQxLCBjZnIKICAgICBtb3ZlIHQzLCBQQgogICAgIHN1
YnAgUEIsIFBDCiAgICAgcnNoaWZ0cCAzLCBQQwpAQCAtMjczLDcgKzMyNiw2IEBAIG1hY3JvIGNh
bGxDYWxsU2xvd1BhdGgoc2xvd1BhdGgsIGFjdGlvbikKICAgICBzdG9yZWkgUEMsIEFyZ3VtZW50
Q291bnQgKyBUYWdPZmZzZXRbY2ZyXQogICAgIHByZXBhcmVTdGF0ZUZvckNDYWxsKCkKICAgICBj
Q2FsbDIoc2xvd1BhdGgsIGNmciwgUEMpCi0gICAgbW92ZSB0MSwgY2ZyCiAgICAgYWN0aW9uKHQw
KQogZW5kCiAKQEAgLTI4MSw3ICszMzMsNiBAQCBtYWNybyBjYWxsV2F0Y2hkb2dUaW1lckhhbmRs
ZXIodGhyb3dIYW5kbGVyKQogICAgIHN0b3JlaSBQQywgQXJndW1lbnRDb3VudCArIFRhZ09mZnNl
dFtjZnJdCiAgICAgcHJlcGFyZVN0YXRlRm9yQ0NhbGwoKQogICAgIGNDYWxsMihfbGxpbnRfc2xv
d19wYXRoX2hhbmRsZV93YXRjaGRvZ190aW1lciwgY2ZyLCBQQykKLSAgICBtb3ZlIHQxLCBjZnIK
ICAgICBidHBueiB0MCwgdGhyb3dIYW5kbGVyCiAgICAgbW92ZSB0MywgUEIKICAgICBsb2FkaSBB
cmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0sIFBDCkBAIC0yOTQsOCArMzQ1LDggQEAgbWFj
cm8gY2hlY2tTd2l0Y2hUb0pJVEZvckxvb3AoKQogICAgICAgICAgICAgc3RvcmVpIFBDLCBBcmd1
bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0KICAgICAgICAgICAgIHByZXBhcmVTdGF0ZUZvckND
YWxsKCkKICAgICAgICAgICAgIGNDYWxsMihfbGxpbnRfbG9vcF9vc3IsIGNmciwgUEMpCi0gICAg
ICAgICAgICBtb3ZlIHQxLCBjZnIKICAgICAgICAgICAgIGJ0cHogdDAsIC5yZWNvdmVyCisgICAg
ICAgICAgICBtb3ZlIHQxLCBzcAogICAgICAgICAgICAgam1wIHQwCiAgICAgICAgIC5yZWNvdmVy
OgogICAgICAgICAgICAgbW92ZSB0MywgUEIKQEAgLTM4NywxOSArNDM4LDM1IEBAIGVuZAogIyBF
bnRyeXBvaW50cyBpbnRvIHRoZSBpbnRlcnByZXRlci4KIAogIyBFeHBlY3RzIHRoYXQgQ29kZUJs
b2NrIGlzIGluIHQxLCB3aGljaCBpcyB3aGF0IHByb2xvZ3VlKCkgbGVhdmVzIGJlaGluZC4KLW1h
Y3JvIGZ1bmN0aW9uQXJpdHlDaGVjayhkb25lTGFiZWwsIHNsb3dfcGF0aCkKK21hY3JvIGZ1bmN0
aW9uQXJpdHlDaGVjayhkb25lTGFiZWwsIHNsb3dQYXRoKQogICAgIGxvYWRpIFBheWxvYWRPZmZz
ZXQgKyBBcmd1bWVudENvdW50W2Nmcl0sIHQwCiAgICAgYmlhZXEgdDAsIENvZGVCbG9jazo6bV9u
dW1QYXJhbWV0ZXJzW3QxXSwgZG9uZUxhYmVsCiAgICAgcHJlcGFyZVN0YXRlRm9yQ0NhbGwoKQot
ICAgIGNDYWxsMihzbG93X3BhdGgsIGNmciwgUEMpICAgIyBUaGlzIHNsb3dfcGF0aCBoYXMgYSBz
aW1wbGUgcHJvdG9jb2w6IHQwID0gMCA9PiBubyBlcnJvciwgdDAgIT0gMCA9PiBlcnJvcgotICAg
IGJ0aXogdDAsIC5pc0FyaXR5Rml4dXBOZWVkZWQKKyAgICBjQ2FsbDIoc2xvd1BhdGgsIGNmciwg
UEMpICAgIyBUaGlzIHNsb3dQYXRoIGhhcyB0aGUgcHJvdG9jb2w6IHQwID0gMCA9PiBubyBlcnJv
ciwgdDAgIT0gMCA9PiBlcnJvcgorICAgIGJ0aXogdDAsIC5ub0Vycm9yCiAgICAgbW92ZSB0MSwg
Y2ZyICAgIyB0MSBjb250YWlucyBjYWxsZXIgZnJhbWUKICAgICBqbXAgX2xsaW50X3Rocm93X2Zy
b21fc2xvd19wYXRoX3RyYW1wb2xpbmUKIAotLmlzQXJpdHlGaXh1cE5lZWRlZDoKKy5ub0Vycm9y
OgorICAgICMgdDEgcG9pbnRzIHRvIEFyaXR5Q2hlY2tEYXRhLgorICAgIGxvYWRwIENvbW1vblNs
b3dQYXRoczo6QXJpdHlDaGVja0RhdGE6OnRodW5rVG9DYWxsW3QxXSwgdDIKKyAgICBidHB6IHQy
LCAucHJvY2VlZElubGluZQorICAgIAorICAgIGxvYWRwIENvbW1vblNsb3dQYXRoczo6QXJpdHlD
aGVja0RhdGE6OnJldHVyblBDW3QxXSwgdDUKKyAgICBsb2FkcCBDb21tb25TbG93UGF0aHM6OkFy
aXR5Q2hlY2tEYXRhOjpwYWRkZWRTdGFja1NwYWNlW3QxXSwgdDAKKyAgICBjYWxsIHQyCisgICAg
aWYgQVNTRVJUX0VOQUJMRUQKKyAgICAgICAgbG9hZHAgUmV0dXJuUENbY2ZyXSwgdDAKKyAgICAg
ICAgbG9hZHAgW3QwXSwgdDAKKyAgICBlbmQKKyAgICBqbXAgLmNvbnRpbnVlCisKKy5wcm9jZWVk
SW5saW5lOgorICAgIGxvYWRpIENvbW1vblNsb3dQYXRoczo6QXJpdHlDaGVja0RhdGE6OnBhZGRl
ZFN0YWNrU3BhY2VbdDFdLCB0MQogICAgIGJ0aXogdDEsIC5jb250aW51ZQogCi0gICAgLy8gTW92
ZSBmcmFtZSB1cCAidDEiIHNsb3RzCisgICAgLy8gTW92ZSBmcmFtZSB1cCAidDEgKiAyIiBzbG90
cworICAgIGxzaGlmdHAgMSwgdDEKICAgICBuZWdxIHQxCiAgICAgbW92ZSBjZnIsIHQzCiAgICAg
bG9hZGkgUGF5bG9hZE9mZnNldCArIEFyZ3VtZW50Q291bnRbY2ZyXSwgdDIKQEAgLTQyMCw2ICs0
ODcsNyBAQCBtYWNybyBmdW5jdGlvbkFyaXR5Q2hlY2soZG9uZUxhYmVsLCBzbG93X3BhdGgpCiAK
ICAgICBsc2hpZnRwIDMsIHQxCiAgICAgYWRkcCB0MSwgY2ZyCisgICAgYWRkcCB0MSwgc3AKIAog
LmNvbnRpbnVlOgogICAgICMgUmVsb2FkIENvZGVCbG9jayBhbmQgcmVzZXQgUEMsIHNpbmNlIHRo
ZSBzbG93X3BhdGggY2xvYmJlcmVkIHRoZW0uCkBAIC00MjksNyArNDk3LDYgQEAgbWFjcm8gZnVu
Y3Rpb25Bcml0eUNoZWNrKGRvbmVMYWJlbCwgc2xvd19wYXRoKQogICAgIGptcCBkb25lTGFiZWwK
IGVuZAogCi0KIG1hY3JvIGJyYW5jaElmRXhjZXB0aW9uKGxhYmVsKQogICAgIGxvYWRwIFNjb3Bl
Q2hhaW5bY2ZyXSwgdDMKICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKQEAgLTQ0NCw2ICs1
MTEsNyBAQCBlbmQKIAogX2xsaW50X29wX2VudGVyOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0MiwgMHhkZWFkMDBlMSkKICAgICBsb2FkcCBD
b2RlQmxvY2tbY2ZyXSwgdDIgICAgICAgICAgICAgICAgLy8gdDI8Q29kZUJsb2NrPiA9IGNmci5D
b2RlQmxvY2sKICAgICBsb2FkaSBDb2RlQmxvY2s6Om1fbnVtVmFyc1t0Ml0sIHQyICAgICAgLy8g
dDI8c2l6ZV90PiA9IHQyPENvZGVCbG9jaz4ubV9udW1WYXJzCiAgICAgYnRpeiB0MiwgLm9wRW50
ZXJEb25lCkBAIC0xNzE3LDEwICsxNzg1LDkgQEAgbWFjcm8gZG9DYWxsKHNsb3dQYXRoKQogICAg
IHN0b3JlcSB0MCwgU2NvcGVDaGFpblt0M10KICAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywg
dDIpCiAgICAgc3RvcmVpIFBDLCBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0KLSAgICBz
dG9yZXEgY2ZyLCBDYWxsZXJGcmFtZVt0M10KICAgICBzdG9yZWkgdDIsIEFyZ3VtZW50Q291bnQg
KyBQYXlsb2FkT2Zmc2V0W3QzXQotICAgIG1vdmUgdDMsIGNmcgotICAgIGNhbGxUYXJnZXRGdW5j
dGlvbih0MSkKKyAgICBhZGRwIENhbGxlckZyYW1lQW5kUENTaXplLCB0MworICAgIGNhbGxUYXJn
ZXRGdW5jdGlvbih0MSwgdDMpCiAKIC5vcENhbGxTbG93OgogICAgIHNsb3dQYXRoRm9yQ2FsbChz
bG93UGF0aCkKQEAgLTE4NDAsNiArMTkwNyw4IEBAIF9sbGludF9vcF9jYXRjaDoKICAgICBhbmRw
IE1hcmtlZEJsb2NrTWFzaywgdDMKICAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV93ZWFrU2V0ICsg
V2Vha1NldDo6bV92bVt0M10sIHQzCiAgICAgbG9hZHAgVk06OmNhbGxGcmFtZUZvclRocm93W3Qz
XSwgY2ZyCisgICAgcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVyQ2FsbCgpCisKICAgICBsb2FkcCBD
b2RlQmxvY2tbY2ZyXSwgUEIKICAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1Y3Rpb25zW1BC
XSwgUEIKICAgICBsb2FkcCBWTTo6dGFyZ2V0SW50ZXJwcmV0ZXJQQ0ZvclRocm93W3QzXSwgUEMK
QEAgLTE4NzksNiArMTk0OCw4IEBAIF9sbGludF90aHJvd19kdXJpbmdfY2FsbF90cmFtcG9saW5l
OgogCiAKIG1hY3JvIG5hdGl2ZUNhbGxUcmFtcG9saW5lKGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0
aW9uKQorCisgICAgZnVuY3Rpb25Qcm9sb2d1ZSgpCiAgICAgc3RvcmVwIDAsIENvZGVCbG9ja1tj
ZnJdCiAgICAgaWYgWDg2XzY0CiAgICAgICAgIGxvYWRwIFNjb3BlQ2hhaW5bY2ZyXSwgdDAKQEAg
LTE4ODgsMTkgKzE5NTksMTUgQEAgbWFjcm8gbmF0aXZlQ2FsbFRyYW1wb2xpbmUoZXhlY3V0YWJs
ZU9mZnNldFRvRnVuY3Rpb24pCiAgICAgICAgIGxvYWRwIENhbGxlckZyYW1lW2Nmcl0sIHQwCiAg
ICAgICAgIGxvYWRxIFNjb3BlQ2hhaW5bdDBdLCB0MQogICAgICAgICBzdG9yZXEgdDEsIFNjb3Bl
Q2hhaW5bY2ZyXQotICAgICAgICBwZWVrIDAsIHQxCi0gICAgICAgIHN0b3JlcCB0MSwgUmV0dXJu
UENbY2ZyXQotICAgICAgICBtb3ZlIGNmciwgdDUgICMgdDUgPSByZGkKLSAgICAgICAgc3VicCAx
NiAtIDgsIHNwCi0gICAgICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0NCAjIHQ0ID0gcnNpCi0gICAg
ICAgIGxvYWRwIEpTRnVuY3Rpb246Om1fZXhlY3V0YWJsZVt0NF0sIHQxCi0gICAgICAgIG1vdmUg
dDAsIGNmciAjIFJlc3RvcmUgY2ZyIHRvIGF2b2lkIGxvYWRpbmcgZnJvbSBzdGFjaworICAgICAg
ICBtb3ZlIGNmciwgdDQgICMgdDQgPSByZGkKKyAgICAgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQ1
ICMgdDUgPSByc2kKKyAgICAgICAgbG9hZHAgSlNGdW5jdGlvbjo6bV9leGVjdXRhYmxlW3Q1XSwg
dDEKKyAgICAgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDMsIDB4ZGVhZDAwMDEpCiAg
ICAgICAgIGNhbGwgZXhlY3V0YWJsZU9mZnNldFRvRnVuY3Rpb25bdDFdCi0gICAgICAgIGFkZHAg
MTYgLSA4LCBzcAogICAgICAgICBsb2FkcCBTY29wZUNoYWluW2Nmcl0sIHQzCiAgICAgICAgIGFu
ZHAgTWFya2VkQmxvY2tNYXNrLCB0MwogICAgICAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV93ZWFr
U2V0ICsgV2Vha1NldDo6bV92bVt0M10sIHQzCi0gICAgZWxzaWYgQVJNNjQKKyAgICBlbHNpZiBB
Uk02NCBvciBDX0xPT1AKICAgICAgICAgbG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0MAogICAgICAg
ICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDAKICAgICAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1f
d2Vha1NldCArIFdlYWtTZXQ6Om1fdm1bdDBdLCB0MApAQCAtMTkxNCwzMCArMTk4MSwxMSBAQCBt
YWNybyBuYXRpdmVDYWxsVHJhbXBvbGluZShleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvbikKICAg
ICAgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQxCiAgICAgICAgIGxvYWRwIEpTRnVuY3Rpb246Om1f
ZXhlY3V0YWJsZVt0MV0sIHQxCiAgICAgICAgIG1vdmUgdDIsIGNmciAjIFJlc3RvcmUgY2ZyIHRv
IGF2b2lkIGxvYWRpbmcgZnJvbSBzdGFjawotICAgICAgICBjYWxsIGV4ZWN1dGFibGVPZmZzZXRU
b0Z1bmN0aW9uW3QxXQotICAgICAgICByZXN0b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybih0
MykKLSAgICAgICAgbG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0MwotICAgICAgICBhbmRwIE1hcmtl
ZEJsb2NrTWFzaywgdDMKLSAgICAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fd2Vha1NldCArIFdl
YWtTZXQ6Om1fdm1bdDNdLCB0MwotICAgIGVsc2lmIENfTE9PUAotICAgICAgICBsb2FkcCBDYWxs
ZXJGcmFtZVtjZnJdLCB0MAotICAgICAgICBsb2FkcCBTY29wZUNoYWluW3QwXSwgdDEKLSAgICAg
ICAgc3RvcmVwIHQxLCBTY29wZUNoYWluW2Nmcl0KLQotICAgICAgICBsb2FkcCBTY29wZUNoYWlu
W2Nmcl0sIHQzCi0gICAgICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MwotICAgICAgICBsb2Fk
cCBNYXJrZWRCbG9jazo6bV93ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0M10sIHQzCi0gICAgICAg
IHN0b3JlcCBjZnIsIFZNOjp0b3BDYWxsRnJhbWVbdDNdCi0KLSAgICAgICAgbW92ZSB0MCwgdDIK
LSAgICAgICAgcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKHQzKQotICAgICAgICBzdG9y
ZXAgdDMsIFJldHVyblBDW2Nmcl0KLSAgICAgICAgbW92ZSBjZnIsIHQwCi0gICAgICAgIGxvYWRw
IENhbGxlZVtjZnJdLCB0MQotICAgICAgICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4ZWN1dGFibGVb
dDFdLCB0MQotICAgICAgICBtb3ZlIHQyLCBjZnIKLSAgICAgICAgY2xvb3BDYWxsTmF0aXZlIGV4
ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uW3QxXQotCisgICAgICAgIGlmIENfTE9PUAorICAgICAg
ICAgICAgY2xvb3BDYWxsTmF0aXZlIGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uW3QxXQorICAg
ICAgICBlbHNlCisgICAgICAgICAgICBjYWxsIGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uW3Qx
XQorICAgICAgICBlbmQKICAgICAgICAgcmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4o
dDMpCiAgICAgICAgIGxvYWRwIFNjb3BlQ2hhaW5bY2ZyXSwgdDMKICAgICAgICAgYW5kcCBNYXJr
ZWRCbG9ja01hc2ssIHQzCkBAIC0xOTQ2LDE2ICsxOTk0LDE0IEBAIG1hY3JvIG5hdGl2ZUNhbGxU
cmFtcG9saW5lKGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uKQogICAgICAgICBlcnJvcgogICAg
IGVuZAogCi0gICAgYnRxbnogVk06Om1fZXhjZXB0aW9uW3QzXSwgLmV4Y2VwdGlvbgorICAgIGZ1
bmN0aW9uRXBpbG9ndWUoKQorCisgICAgYnRxbnogVk06Om1fZXhjZXB0aW9uW3QzXSwgLmhhbmRs
ZUV4Y2VwdGlvbgogICAgIHJldAotLmV4Y2VwdGlvbjoKLSAgICBwcmVzZXJ2ZVJldHVybkFkZHJl
c3NBZnRlckNhbGwodDEpICMgVGhpcyBpcyByZWFsbHkgb25seSBuZWVkZWQgb24gWDg2XzY0Ci0g
ICAgbG9hZGkgQXJndW1lbnRDb3VudCArIFRhZ09mZnNldFtjZnJdLCBQQwotICAgIGxvYWRwIENv
ZGVCbG9ja1tjZnJdLCBQQgotICAgIGxvYWRwIENvZGVCbG9jazo6bV92bVtQQl0sIHQwCi0gICAg
bG9hZHAgQ29kZUJsb2NrOjptX2luc3RydWN0aW9uc1tQQl0sIFBCCi0gICAgc3RvcmVwIGNmciwg
Vk06OnRvcENhbGxGcmFtZVt0MF0KLSAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Rocm93X2Zyb21f
bmF0aXZlX2NhbGwpCisKKy5oYW5kbGVFeGNlcHRpb246CisgICAgc3RvcmVwIGNmciwgVk06OnRv
cENhbGxGcmFtZVt0M10KKyAgICByZXN0b3JlU3RhY2tQb2ludGVyQWZ0ZXJDYWxsKCkKICAgICBq
bXAgX2xsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmUKIGVuZAogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1FeHBvcnRzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCmluZGV4
IDZlNzRiNTBhNDc1OWFlMzFiMGU3MWI3YmE4ZjU2MmUxYmRjMjY3N2YuLjQ5NDBhNGM3NjBlMDM5
MGNmMzNhMmUyOTdhNjhkNWMzNWQzNTcyMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCkBAIC00Miw2ICs0MiwxMCBAQCBleHRl
cm4gIkMiIEpTQzo6TExWTUFQSSogaW5pdGlhbGl6ZUFuZEdldEpTQ0xMVk1BUEkodm9pZCAoKmNh
bGxiYWNrKShjb25zdCBjaGFyKgogICAgIGdfbGx2bVRyYXBDYWxsYmFjayA9IGNhbGxiYWNrOwog
ICAgIAogICAgIExMVk1JbnN0YWxsRmF0YWxFcnJvckhhbmRsZXIobGx2bUNyYXNoKTsKKworICAg
IGlmICghTExWTVN0YXJ0TXVsdGl0aHJlYWRlZCgpKQorICAgICAgICBjYWxsYmFjaygiQ291bGQg
bm90IHN0YXJ0IExMVk0gbXVsdGl0aHJlYWRpbmciKTsKKyAgICAKICAgICBMTFZNTGlua0luTUNK
SVQoKTsKICAgICBMTFZNSW5pdGlhbGl6ZU5hdGl2ZVRhcmdldCgpOwogICAgIExMVk1Jbml0aWFs
aXplWDg2QXNtUHJpbnRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29m
ZmxpbmVhc20vYXJtLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXJtLnJi
CmluZGV4IDEwYjMzOWViNjdiOGMwODhhYjRhNzg3Y2VkOGY1ZmM2ZDE0ZjA2NWIuLmMzZGJjNTEw
YzA4NDY3NjgyYmUyNWM4OWU2YzUwNDQ3Yjk5ZWVjMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FybS5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS9hcm0ucmIKQEAgLTYwMSw2ICs2MDEsOCBAQCBjbGFzcyBJbnN0cnVjdGlvbgog
ICAgICAgICAgICAgJGFzbS5wdXRzICJzbXVsbCAje29wZXJhbmRzWzJdLmFybU9wZXJhbmR9LCAj
e29wZXJhbmRzWzNdLmFybU9wZXJhbmR9LCAje29wZXJhbmRzWzBdLmFybU9wZXJhbmR9LCAje29w
ZXJhbmRzWzFdLmFybU9wZXJhbmR9IgogICAgICAgICB3aGVuICJtZW1mZW5jZSIKICAgICAgICAg
ICAgICRhc20ucHV0cyAiZG1iIHN5IgorICAgICAgICB3aGVuICJjbHJicCIKKyAgICAgICAgICAg
ICRhc20ucHV0cyAiYmljICN7b3BlcmFuZHNbMl0uYXJtT3BlcmFuZH0sICN7b3BlcmFuZHNbMF0u
YXJtT3BlcmFuZH0sICN7b3BlcmFuZHNbMV0uYXJtT3BlcmFuZH0iCiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIGxvd2VyRGVmYXVsdAogICAgICAgICBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FybTY0LnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L29mZmxpbmVhc20vYXJtNjQucmIKaW5kZXggZTBhMjNmZjM3ODFlZWM5OWM4OTMxODE1YzgyZmM0
NTQwOTNlOGFlYi4uMjA4ODIxNmMwY2M5YWJhNmVmMGMwMTAyMzM0ZjY4YzFhY2RkYjZkZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXJtNjQucmIKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXJtNjQucmIKQEAgLTQwLDE0ICs0MCwx
NCBAQCByZXF1aXJlICJyaXNjIgogIyAgeDEgID0+IHQxLCBhMSwgcjEKICMgIHgyICA9PiB0Miwg
YTIKICMgIHgzICA9PiBhMworIyAgeDUgID0+IHQ1CisjICB4NiAgPT4gdDYKICMgIHg5ICA9PiAo
bm9uQXJnR1BSMSBpbiBiYXNlbGluZSkKLSMgeDEwICA9PiB0NCAodW51c2VkIGluIGJhc2VsaW5l
KQotIyB4MTEgID0+IHQ1ICh1bnVzZWQgaW4gYmFzZWxpbmUpCi0jIHgxMiAgPT4gdDYgKHVudXNl
ZCBpbiBiYXNlbGluZSkKICMgeDEzICA9PiBzY3JhdGNoICh1bnVzZWQgaW4gYmFzZWxpbmUpCiAj
IHgxNiAgPT4gc2NyYXRjaAogIyB4MTcgID0+IHNjcmF0Y2gKICMgeDIzICA9PiB0MworIyB4MjQg
ID0+IHQ0CiAjIHgyNyAgPT4gY3NyMSAodGFnVHlwZU51bWJlcikKICMgeDI4ICA9PiBjc3IyICh0
YWdNYXNrKQogIyB4MjkgID0+IGNmcgpAQCAtMTEzLDExICsxMTMsMTEgQEAgY2xhc3MgUmVnaXN0
ZXJJRAogICAgICAgICB3aGVuICd0MycKICAgICAgICAgICAgIGFybTY0R1BSTmFtZSgneDIzJywg
a2luZCkKICAgICAgICAgd2hlbiAndDQnCi0gICAgICAgICAgICBhcm02NEdQUk5hbWUoJ3gxMCcs
IGtpbmQpCisgICAgICAgICAgICBhcm02NEdQUk5hbWUoJ3gyNCcsIGtpbmQpCiAgICAgICAgIHdo
ZW4gJ3Q1JwotICAgICAgICAgICAgYXJtNjRHUFJOYW1lKCd4MTEnLCBraW5kKQorICAgICAgICAg
ICAgYXJtNjRHUFJOYW1lKCd4NScsIGtpbmQpCiAgICAgICAgIHdoZW4gJ3Q2JwotICAgICAgICAg
ICAgYXJtNjRHUFJOYW1lKCd4MTInLCBraW5kKQorICAgICAgICAgICAgYXJtNjRHUFJOYW1lKCd4
NicsIGtpbmQpCiAgICAgICAgIHdoZW4gJ2NmcicKICAgICAgICAgICAgIGFybTY0R1BSTmFtZSgn
eDI5Jywga2luZCkKICAgICAgICAgd2hlbiAnY3NyMScKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9vZmZsaW5lYXNtL2Nsb29wLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29m
ZmxpbmVhc20vY2xvb3AucmIKaW5kZXggODUyZTg2NGU5OWEzYjg3YjVkYzFkZWIwMGRhY2M0N2U1
ODkyZTNmOS4uOWI5MjA0N2RlMjE2ZjdlYjY4YTFiYjI2ZjJiNmJlYTk3ODdiMjI3ZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vY2xvb3AucmIKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vY2xvb3AucmIKQEAgLTEsNCArMSw0IEBACi0j
IENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENv
cHlyaWdodCAoQykgMjAxMiwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAj
CiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY4LDM0ICs2OCwyMiBAQCBDX0xPT1BfU0NS
QVRDSF9GUFIgPSBTcGVjaWFsUmVnaXN0ZXIubmV3KCJkNiIpCiBjbGFzcyBSZWdpc3RlcklECiAg
ICAgZGVmIGNsRHVtcAogICAgICAgICBjYXNlIG5hbWUKLSAgICAgICAgd2hlbiAiYTAiCi0gICAg
ICAgICAgICAiYTAiCi0gICAgICAgIHdoZW4gImExIgotICAgICAgICAgICAgImExIgotICAgICAg
ICB3aGVuICJhMiIKLSAgICAgICAgICAgICJhMiIKLSAgICAgICAgd2hlbiAiYTMiCi0gICAgICAg
ICAgICAiYTMiCi0gICAgICAgIHdoZW4gImE0IgotICAgICAgICAgICAgImE0IgotICAgICAgICB3
aGVuICJhNSIKLSAgICAgICAgICAgICJhNSIKLSAgICAgICAgd2hlbiAiYTYiCi0gICAgICAgICAg
ICAiYTYiCi0gICAgICAgIHdoZW4gImE2IgotICAgICAgICAgICAgImE2IgotICAgICAgICB3aGVu
ICJ0MCIKKyAgICAgICAgIyBUaGUgY2xvb3AgaXMgbW9kZWxsZWQgb24gdGhlIEFSTSBpbXBsZW1l
bnRhdGlvbi4gSGVuY2UsIHRoZSBhMC1hMworICAgICAgICAjIHJlZ2lzdGVycyBhcmUgYWxpYXNl
cyBmb3IgcjAtcjMgaS5lLiB0MC10MyBpbiBvdXIgY2FzZS4KKyAgICAgICAgd2hlbiAidDAiLCAi
YTAiCiAgICAgICAgICAgICAidDAiCi0gICAgICAgIHdoZW4gInQxIgorICAgICAgICB3aGVuICJ0
MSIsICJhMSIKICAgICAgICAgICAgICJ0MSIKLSAgICAgICAgd2hlbiAidDIiCisgICAgICAgIHdo
ZW4gInQyIiwgImEyIgogICAgICAgICAgICAgInQyIgotICAgICAgICB3aGVuICJ0MyIKKyAgICAg
ICAgd2hlbiAidDMiLCAiYTMiCiAgICAgICAgICAgICAidDMiCiAgICAgICAgIHdoZW4gInQ0Igot
ICAgICAgICAgICAgInJQQyIKKyAgICAgICAgICAgICJwYyIKKyAgICAgICAgd2hlbiAidDUiCisg
ICAgICAgICAgICAidDUiCiAgICAgICAgIHdoZW4gInQ2IgotICAgICAgICAgICAgInJCYXNlUEMi
CisgICAgICAgICAgICAicGNCYXNlIgogICAgICAgICB3aGVuICJjc3IxIgogICAgICAgICAgICAg
InRhZ1R5cGVOdW1iZXIiCiAgICAgICAgIHdoZW4gImNzcjIiCkBAIC0xMDMsNyArOTEsNyBAQCBj
bGFzcyBSZWdpc3RlcklECiAgICAgICAgIHdoZW4gImNmciIKICAgICAgICAgICAgICJjZnIiCiAg
ICAgICAgIHdoZW4gImxyIgotICAgICAgICAgICAgInJSZXRWUEMiCisgICAgICAgICAgICAibHIi
CiAgICAgICAgIHdoZW4gInNwIgogICAgICAgICAgICAgInNwIgogICAgICAgICBlbHNlCkBAIC01
NTUsMTQgKzU0MywxNCBAQCBlbmQKICMgb3BlcmFuZHM6IGNhbGxUYXJnZXQsIGN1cnJlbnRGcmFt
ZSwgY3VycmVudFBDCiBkZWYgY2xvb3BFbWl0Q2FsbFNsb3dQYXRoKG9wZXJhbmRzKQogICAgICRh
c20ucHV0YyAieyIKLSAgICAkYXNtLnB1dGMgIiAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4
ZWNTdGF0ZSo+KCN7b3BlcmFuZHNbMV0uY2xWYWx1ZSg6dm9pZFB0cil9KTsiCi0gICAgJGFzbS5w
dXRjICIgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KCN7b3BlcmFuZHNb
Ml0uY2xWYWx1ZSg6dm9pZFB0cil9KTsiCi0gICAgJGFzbS5wdXRjICIgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9ICN7b3BlcmFuZHNbMF0uY0xhYmVsfShleGVjLCBwYyk7IgotICAgICRh
c20ucHV0YyAiICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS52cCk7
IgorICAgICRhc20ucHV0YyAiICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSAje29wZXJh
bmRzWzBdLmNMYWJlbH0oI3tvcGVyYW5kc1sxXS5jbER1bXB9LCAje29wZXJhbmRzWzJdLmNsRHVt
cH0pOyIKKyAgICAkYXNtLnB1dGMgIiAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC52cCwgdDEu
dnApOyIKICAgICAkYXNtLnB1dGMgIn0iCiBlbmQKIAogY2xhc3MgSW5zdHJ1Y3Rpb24KKyAgICBA
QGRpZFJldHVybkZyb21KU0xhYmVsQ291bnRlciA9IDAKKwogICAgIGRlZiBsb3dlckNfTE9PUAog
ICAgICAgICAkYXNtLmNvZGVPcmlnaW4gY29kZU9yaWdpblN0cmluZyBpZiAkZW5hYmxlQ29kZU9y
aWdpbkNvbW1lbnRzCiAgICAgICAgICRhc20uYW5ub3RhdGlvbiBhbm5vdGF0aW9uIGlmICRlbmFi
bGVJbnN0ckFubm90YXRpb25zICYmIChvcGNvZGUgIT0gImNsb29wRG8iKQpAQCAtODc2LDcgKzg2
NCw4IEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgIHdoZW4gImJyZWFrIgogICAgICAgICAg
ICAgJGFzbS5wdXRjICJDUkFTSCgpOyAvLyBicmVhayBpbnN0cnVjdGlvbiBub3QgaW1wbGVtZW50
ZWQuIgogICAgICAgICB3aGVuICJyZXQiCi0gICAgICAgICAgICAkYXNtLnB1dGMgImdvdG8gZG9S
ZXR1cm5IZWxwZXI7IgorICAgICAgICAgICAgJGFzbS5wdXRjICJvcGNvZGUgPSBsci5vcGNvZGU7
IgorICAgICAgICAgICAgJGFzbS5wdXRjICJESVNQQVRDSF9PUENPREUoKTsiCiAKICAgICAgICAg
d2hlbiAiY2JlcSIKICAgICAgICAgICAgIGNsb29wRW1pdENvbXBhcmVBbmRTZXQob3BlcmFuZHMs
IDp1aW50OCwgIj09IikKQEAgLTEwOTcsNiArMTA4NiwxMiBAQCBjbGFzcyBJbnN0cnVjdGlvbgog
ICAgICAgICAgICAgY2xvb3BFbWl0T3BBbmRCcmFuY2gob3BlcmFuZHMsICJ8IiwgOmludDMyLCAi
IT0gMCIpCiAgICAgICAgICAgICAKICAgICAgICAgd2hlbiAibWVtZmVuY2UiCisKKyAgICAgICAg
d2hlbiAicHVzaCIKKyAgICAgICAgICAgICRhc20ucHV0YyAiUFVTSCgje29wZXJhbmRzWzBdLmNs
RHVtcH0pOyIKKyAgICAgICAgd2hlbiAicG9wIgorICAgICAgICAgICAgJGFzbS5wdXRjICJQT1Ao
I3tvcGVyYW5kc1swXS5jbER1bXB9KTsiCisKICAgICAgICAgd2hlbiAicHVzaENhbGxlZVNhdmVz
IgogICAgICAgICB3aGVuICJwb3BDYWxsZWVTYXZlcyIKIApAQCAtMTExMyw4ICsxMTA4LDExIEBA
IGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgICMgdXNlIG9mIHRoZSBjYWxsIGluc3RydWN0aW9u
LiBJbnN0ZWFkLCB3ZSBqdXN0IGltcGxlbWVudCBKUyBjYWxscwogICAgICAgICAjIGFzIGFuIG9w
Y29kZSBkaXNwYXRjaC4KICAgICAgICAgd2hlbiAiY2xvb3BDYWxsSlNGdW5jdGlvbiIKKyAgICAg
ICAgICAgIEBAZGlkUmV0dXJuRnJvbUpTTGFiZWxDb3VudGVyICs9IDEKKyAgICAgICAgICAgICRh
c20ucHV0YyAibHIub3Bjb2RlID0gZ2V0T3Bjb2RlKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJv
bV9qc18je0BAZGlkUmV0dXJuRnJvbUpTTGFiZWxDb3VudGVyfSk7IgogICAgICAgICAgICAgJGFz
bS5wdXRjICJvcGNvZGUgPSAje29wZXJhbmRzWzBdLmNsVmFsdWUoOm9wY29kZSl9OyIKICAgICAg
ICAgICAgICRhc20ucHV0YyAiRElTUEFUQ0hfT1BDT0RFKCk7IgorICAgICAgICAgICAgJGFzbS5w
dXRzTGFiZWwoImxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc18je0BAZGlkUmV0dXJuRnJv
bUpTTGFiZWxDb3VudGVyfSIpCiAKICAgICAgICAgIyBXZSBjYW4ndCBkbyBnZW5lcmljIGZ1bmN0
aW9uIGNhbGxzIHdpdGggYW4gYXJiaXRyYXJ5IHNldCBvZiBhcmdzLCBidXQKICAgICAgICAgIyBm
b3J0dW5hdGVseSB3ZSBkb24ndCBoYXZlIHRvIGhlcmUuIEFsbCBuYXRpdmUgZnVuY3Rpb24gY2Fs
bHMgYWx3YXlzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9p
bnN0cnVjdGlvbnMucmIgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9pbnN0cnVj
dGlvbnMucmIKaW5kZXggNWEzNDYzZmM5YWNjYTVlY2MyZTUyY2E4NTMzNGJkOTU3NDE5MDQ0MC4u
OTg5ZWU4MmMyNzgzYWU2MTEwOGM4MWQ4NGRlZmUxYjdlNjE1YzAzZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vaW5zdHJ1Y3Rpb25zLnJiCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2luc3RydWN0aW9ucy5yYgpAQCAtMjU4LDYgKzI1
OCwxMSBAQCBYODZfSU5TVFJVQ1RJT05TID0KICAgICAgImlkaXZpIgogICAgIF0KIAorQVJNX0lO
U1RSVUNUSU9OUyA9CisgICAgWworICAgICAiY2xyYnAiCisgICAgXQorCiBBUk02NF9JTlNUUlVD
VElPTlMgPQogICAgIFsKICAgICAgInBvcExSQW5kRlAiLCAgICMgQVJNNjQgcmVxdWlyZXMgcmVn
aXN0ZXJzIHRvIGJlIHB1c2hlZCBhbmQgcG9wcGVkIGluIHBhaXJzLApAQCAtMzEzLDcgKzMxOCw3
IEBAIENYWF9JTlNUUlVDVElPTlMgPQogICAgICAiY2xvb3BEbyIsICAgICAgICAgICAgICAjIG5v
IG9wZXJhbmRzCiAgICAgXQogCi1JTlNUUlVDVElPTlMgPSBNQUNST19JTlNUUlVDVElPTlMgKyBY
ODZfSU5TVFJVQ1RJT05TICsgQVJNNjRfSU5TVFJVQ1RJT05TICsgUklTQ19JTlNUUlVDVElPTlMg
KyBNSVBTX0lOU1RSVUNUSU9OUyArIFNINF9JTlNUUlVDVElPTlMgKyBDWFhfSU5TVFJVQ1RJT05T
CitJTlNUUlVDVElPTlMgPSBNQUNST19JTlNUUlVDVElPTlMgKyBYODZfSU5TVFJVQ1RJT05TICsg
QVJNX0lOU1RSVUNUSU9OUyArIEFSTTY0X0lOU1RSVUNUSU9OUyArIFJJU0NfSU5TVFJVQ1RJT05T
ICsgTUlQU19JTlNUUlVDVElPTlMgKyBTSDRfSU5TVFJVQ1RJT05TICsgQ1hYX0lOU1RSVUNUSU9O
UwogCiBJTlNUUlVDVElPTl9QQVRURVJOID0gUmVnZXhwLm5ldygnXFxBKCgnICsgSU5TVFJVQ1RJ
T05TLmpvaW4oJyl8KCcpICsgJykpXFxaJykKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL29mZmxpbmVhc20veDg2LnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVh
c20veDg2LnJiCmluZGV4IGU0N2YyOTU2MTE1MDc2ODRkMTY0ZWQ0ZjgyZWJlOWRmYTU2NDcyNzYu
LmMxNjEyNDJiZTY3NmJmNmZkYjYzZjU1NDYzOWVkYmUxNzY5M2VjMDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3g4Ni5yYgorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvb2ZmbGluZWFzbS94ODYucmIKQEAgLTE1MCwxNSArMTUwLDE1IEBAIGNsYXNzIFJl
Z2lzdGVySUQKICAgICAgICAgd2hlbiAidDQiCiAgICAgICAgICAgICBjYXNlIGtpbmQKICAgICAg
ICAgICAgIHdoZW4gOmJ5dGUKLSAgICAgICAgICAgICAgICAiJXNpbCIKKyAgICAgICAgICAgICAg
ICAiJWRpbCIKICAgICAgICAgICAgIHdoZW4gOmhhbGYKLSAgICAgICAgICAgICAgICAiJXNpIgor
ICAgICAgICAgICAgICAgICIlZGkiCiAgICAgICAgICAgICB3aGVuIDppbnQKLSAgICAgICAgICAg
ICAgICAiJWVzaSIKKyAgICAgICAgICAgICAgICAiJWVkaSIKICAgICAgICAgICAgIHdoZW4gOnB0
cgotICAgICAgICAgICAgICAgIGlzWDY0ID8gIiVyc2kiIDogIiVlc2kiCisgICAgICAgICAgICAg
ICAgaXNYNjQgPyAiJXJkaSIgOiAiJWVkaSIKICAgICAgICAgICAgIHdoZW4gOnF1YWQKLSAgICAg
ICAgICAgICAgICBpc1g2NCA/ICIlcnNpIiA6IHJhaXNlCisgICAgICAgICAgICAgICAgaXNYNjQg
PyAiJXJkaSIgOiByYWlzZQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHJhaXNl
CiAgICAgICAgICAgICBlbmQKQEAgLTIwNiwxNSArMjA2LDE1IEBAIGNsYXNzIFJlZ2lzdGVySUQK
ICAgICAgICAgd2hlbiAidDUiCiAgICAgICAgICAgICBjYXNlIGtpbmQKICAgICAgICAgICAgIHdo
ZW4gOmJ5dGUKLSAgICAgICAgICAgICAgICAiJWRpbCIKKyAgICAgICAgICAgICAgICAiJXNpbCIK
ICAgICAgICAgICAgIHdoZW4gOmhhbGYKLSAgICAgICAgICAgICAgICAiJWRpIgorICAgICAgICAg
ICAgICAgICIlc2kiCiAgICAgICAgICAgICB3aGVuIDppbnQKLSAgICAgICAgICAgICAgICAiJWVk
aSIKKyAgICAgICAgICAgICAgICAiJWVzaSIKICAgICAgICAgICAgIHdoZW4gOnB0cgotICAgICAg
ICAgICAgICAgIGlzWDY0ID8gIiVyZGkiIDogIiVlZGkiCisgICAgICAgICAgICAgICAgaXNYNjQg
PyAiJXJzaSIgOiAiJWVzaSIKICAgICAgICAgICAgIHdoZW4gOnF1YWQKLSAgICAgICAgICAgICAg
ICBpc1g2NCA/ICIlcmRpIiA6IHJhaXNlCisgICAgICAgICAgICAgICAgaXNYNjQgPyAiJXJzaSIg
OiByYWlzZQogICAgICAgICAgICAgZW5kCiAgICAgICAgIHdoZW4gInQ2IgogICAgICAgICAgICAg
cmFpc2UgIkNhbm5vdCB1c2UgI3tuYW1lfSBpbiAzMi1iaXQgWDg2IGF0ICN7Y29kZU9yaWdpblN0
cmluZ30iIHVubGVzcyBpc1g2NApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXJFcnJvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJF
cnJvci5oCmluZGV4IGJhYTQ0NjVkMDc4ZGUxNzY0YWE4ZWYyN2I3NTU5MWE4YmJiZTVhYWMuLmRm
MzhhMDY3NDI5YWViMmJiNzY5YTVmYjgzOTY0MDRmZTg4YTQ1NjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRXJyb3IuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlckVycm9yLmgKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUg
UGFyc2VyRXJyb3JfaAogCiAjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJFcnJvckhhbmRs
aW5nU2NvcGUuaCIKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCiAjaW5jbHVkZSAiUGFy
c2VyVG9rZW5zLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC05NCw4ICs5
NSwxMCBAQCBzdHJ1Y3QgUGFyc2VyRXJyb3IgewogICAgICAgICAgICAgcmV0dXJuIGFkZEVycm9y
SW5mbyhnbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKSwgY3JlYXRlU3ludGF4RXJyb3IoZ2xvYmFs
T2JqZWN0LCBtX21lc3NhZ2UpLCBtX2xpbmUsIHNvdXJjZSk7CiAgICAgICAgIGNhc2UgRXZhbEVy
cm9yOgogICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVN5bnRheEVycm9yKGdsb2JhbE9iamVjdCwg
bV9tZXNzYWdlKTsKLSAgICAgICAgY2FzZSBTdGFja092ZXJmbG93OgorICAgICAgICBjYXNlIFN0
YWNrT3ZlcmZsb3c6IHsKKyAgICAgICAgICAgIEVycm9ySGFuZGxpbmdTY29wZSBlcnJvclNjb3Bl
KGdsb2JhbE9iamVjdC0+dm0oKSk7CiAgICAgICAgICAgICByZXR1cm4gY3JlYXRlU3RhY2tPdmVy
Zmxvd0Vycm9yKGdsb2JhbE9iamVjdCk7CisgICAgICAgIH0KICAgICAgICAgY2FzZSBPdXRPZk1l
bW9yeToKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVPdXRPZk1lbW9yeUVycm9yKGdsb2JhbE9i
amVjdCk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9m
aWxlci9Qcm9maWxlckNvbXBpbGF0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9m
aWxlci9Qcm9maWxlckNvbXBpbGF0aW9uLmNwcAppbmRleCA1NTc2NmNlNWM4MGVhMTlmZTI4YzJk
OTI2NDM0MDNmOTgyYTE0YmE2Li4wMDhjYWYxY2Q5MWFmZGQzOTM0NWY5Yjk0Yzk3NzY2OTcyMjBk
OGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJD
b21waWxhdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2Zp
bGVyQ29tcGlsYXRpb24uY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02Nyw2ICs2NywxMSBAQCB2b2lkIENvbXBp
bGF0aW9uOjphZGREZXNjcmlwdGlvbihjb25zdCBDb21waWxlZEJ5dGVjb2RlJiBjb21waWxlZEJ5
dGVjb2RlKQogICAgIG1fZGVzY3JpcHRpb25zLmFwcGVuZChjb21waWxlZEJ5dGVjb2RlKTsKIH0K
IAordm9pZCBDb21waWxhdGlvbjo6YWRkRGVzY3JpcHRpb24oY29uc3QgT3JpZ2luU3RhY2smIHN0
YWNrLCBjb25zdCBDU3RyaW5nJiBkZXNjcmlwdGlvbikKK3sKKyAgICBhZGREZXNjcmlwdGlvbihD
b21waWxlZEJ5dGVjb2RlKHN0YWNrLCBkZXNjcmlwdGlvbikpOworfQorCiBFeGVjdXRpb25Db3Vu
dGVyKiBDb21waWxhdGlvbjo6ZXhlY3V0aW9uQ291bnRlckZvcihjb25zdCBPcmlnaW5TdGFjayYg
b3JpZ2luKQogewogICAgIHN0ZDo6dW5pcXVlX3B0cjxFeGVjdXRpb25Db3VudGVyPiYgY291bnRl
ciA9IG1fY291bnRlcnMuYWRkKG9yaWdpbiwgbnVsbHB0cikuaXRlcmF0b3ItPnZhbHVlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRp
b24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckNvbXBpbGF0aW9u
LmgKaW5kZXggZGMyODEwNTI1Yjc3YzY4NmM2MTExYTM5MDQ0ODNhMmU0YjBhMjFkNS4uZDE2NzU3
ZTJhZWUzYzYxMWM4OGFiYmZhMTNiZWZiNTVhNjE2ZDZiZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb24uaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJDb21waWxhdGlvbi5oCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMsIDIwMTQgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC02Myw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBDb21waWxhdGlvbktpbmQga2luZCgpIGNvbnN0
IHsgcmV0dXJuIG1fa2luZDsgfQogICAgIAogICAgIHZvaWQgYWRkRGVzY3JpcHRpb24oY29uc3Qg
Q29tcGlsZWRCeXRlY29kZSYpOworICAgIHZvaWQgYWRkRGVzY3JpcHRpb24oY29uc3QgT3JpZ2lu
U3RhY2smLCBjb25zdCBDU3RyaW5nJiBkZXNjcmlwdGlvbik7CiAgICAgRXhlY3V0aW9uQ291bnRl
ciogZXhlY3V0aW9uQ291bnRlckZvcihjb25zdCBPcmlnaW5TdGFjayYpOwogICAgIHZvaWQgYWRk
T1NSRXhpdFNpdGUoY29uc3QgVmVjdG9yPGNvbnN0IHZvaWQqPiYgY29kZUFkZHJlc3Nlcyk7CiAg
ICAgT1NSRXhpdCogYWRkT1NSRXhpdCh1bnNpZ25lZCBpZCwgY29uc3QgT3JpZ2luU3RhY2smLCBF
eGl0S2luZCwgYm9vbCBpc1dhdGNocG9pbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckNvbXBpbGF0aW9uS2luZC5jcHAKaW5kZXggNzhj
ZTcwNTg2ZGQwMWJlNWI2MzNjZWRiMmQwY2FmYWZjYTQyYzljZS4uM2ZiZTI1MTkyNWFkYjM4M2I3
OGJlNWExZWQxZTJjZTQ1YmI4ODMzOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Byb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJDb21waWxhdGlvbktpbmQuY3BwCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00Miw2ICs0Miwx
MiBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpQcm9maWxlcjo6
Q29tcGlsYXRpb25LaW5kIGtpbmQpCiAgICAgY2FzZSBKU0M6OlByb2ZpbGVyOjpERkc6CiAgICAg
ICAgIG91dC5wcmludCgiREZHIik7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIEpTQzo6UHJv
ZmlsZXI6OkZUTDoKKyAgICAgICAgb3V0LnByaW50KCJGVEwiKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIGNhc2UgSlNDOjpQcm9maWxlcjo6RlRMRm9yT1NSRW50cnk6CisgICAgICAgIG91dC5wcmlu
dCgiRlRMRm9yT1NSRW50cnkiKTsKKyAgICAgICAgcmV0dXJuOwogICAgIGRlZmF1bHQ6CiAgICAg
ICAgIENSQVNIKCk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckNvbXBpbGF0aW9uS2luZC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmgKaW5kZXggNDgwNmQz
OWI5M2ZiMDg0NGZkNDA2MTQ0MjE3MjgxN2Q2Mzg1MDIwYi4uNTc1ZWMyOTQ3YTc2MWU0ZmZjZTVk
MjJjNDllOWFmZGMxYjQ1YTc4NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3By
b2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Byb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDcgKzMxLDkgQEAgbmFt
ZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBQcm9maWxlciB7CiBlbnVtIENvbXBpbGF0aW9uS2luZCB7
CiAgICAgTExJbnQsCiAgICAgQmFzZWxpbmUsCi0gICAgREZHCisgICAgREZHLAorICAgIEZUTCwK
KyAgICBGVExGb3JPU1JFbnRyeQogfTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OlByb2ZpbGVy
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcml0eUNoZWNrTW9k
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJpdHlDaGVja01vZGUuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMjA5MGMwNTdmZGFmMGNiMWEwOTRhOTJmYTk5NTY2MTQ3OWRmM2Y3Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJpdHlDaGVja01vZGUu
aApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorICovCisKKyNpZm5kZWYgQXJpdHlDaGVja01vZGVfaAorI2RlZmluZSBBcml0eUNoZWNrTW9k
ZV9oCisKK25hbWVzcGFjZSBKU0MgeworCitlbnVtIEFyaXR5Q2hlY2tNb2RlIHsKKyAgICBBcml0
eUNoZWNrTm90UmVxdWlyZWQsCisgICAgTXVzdENoZWNrQXJpdHkKK307CisKK30gLy8gbmFtZXNw
YWNlIEpTQworCisjZW5kaWYgLy8gQXJpdHlDaGVja01vZGVfaAorCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAppbmRleCBmNmExNDJlNmQy
YzA1NDIxMjE1MjQ4N2IzOTEzOThiNTg0ZGE3YmY2Li4wNzU4NzVmYjIzMTZhNTU1NzA1MGE2Njkw
Y2QwZjk4ODI0ODRmNWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db21tb25TbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0NvbW1vblNsb3dQYXRocy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDExLCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDEwICsyOSwx
MiBAQAogI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShMTElOVCkKIAogI2luY2x1ZGUgIkFyZ3Vt
ZW50cy5oIgorI2luY2x1ZGUgIkFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmgiCiAjaW5jbHVk
ZSAiQXJyYXlDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgogI2luY2x1ZGUg
IkNvZGVQcm9maWxpbmcuaCIKICNpbmNsdWRlICJDb21tb25TbG93UGF0aHNFeGNlcHRpb25zLmgi
CisjaW5jbHVkZSAiRXJyb3JIYW5kbGluZ1Njb3BlLmgiCiAjaW5jbHVkZSAiR2V0dGVyU2V0dGVy
LmgiCiAjaW5jbHVkZSAiSG9zdENhbGxSZXR1cm5WYWx1ZS5oIgogI2luY2x1ZGUgIkludGVycHJl
dGVyLmgiCkBAIC0xNjEsMjggKzE2Myw0NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgQ0FM
TF9FTkRfSU1QTChjckV4ZWMsIGNyQ2FsbFRhcmdldCk7ICAgICAgICAgICAgICAgIFwKICAgICB9
IHdoaWxlIChmYWxzZSkKIAorc3RhdGljIENvbW1vblNsb3dQYXRoczo6QXJpdHlDaGVja0RhdGEq
IHNldHVwQXJpdHlDaGVja0RhdGEoVk0mIHZtLCBpbnQgc2xvdHNUb0FkZCkKK3sKKyAgICBDb21t
b25TbG93UGF0aHM6OkFyaXR5Q2hlY2tEYXRhKiByZXN1bHQgPSB2bS5hcml0eUNoZWNrRGF0YS5n
ZXQoKTsKKyAgICByZXN1bHQtPnBhZGRlZFN0YWNrU3BhY2UgPSBzbG90c1RvQWRkOworI2lmIEVO
QUJMRShKSVQpCisgICAgaWYgKHZtLmNhblVzZUpJVCgpKSB7CisgICAgICAgIHJlc3VsdC0+dGh1
bmtUb0NhbGwgPSB2bS5nZXRDVElTdHViKGFyaXR5Rml4dXApLmNvZGUoKS5leGVjdXRhYmxlQWRk
cmVzcygpOworICAgICAgICByZXN1bHQtPnJldHVyblBDID0gdm0uYXJpdHlDaGVja0ZhaWxSZXR1
cm5UaHVua3MtPnJldHVyblBDRm9yKHZtLCBzbG90c1RvQWRkICogc3RhY2tBbGlnbm1lbnRSZWdp
c3RlcnMoKSkuZXhlY3V0YWJsZUFkZHJlc3MoKTsKKyAgICB9IGVsc2UKKyNlbmRpZgorICAgIHsK
KyAgICAgICAgcmVzdWx0LT50aHVua1RvQ2FsbCA9IDA7CisgICAgICAgIHJlc3VsdC0+cmV0dXJu
UEMgPSAwOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBTTE9XX1BBVEhfREVDTChz
bG93X3BhdGhfY2FsbF9hcml0eUNoZWNrKQogewogICAgIEJFR0lOKCk7Ci0gICAgaW50IFNsb3Rz
VG9BZGQgPSBDb21tb25TbG93UGF0aHM6OmFyaXR5Q2hlY2tGb3IoZXhlYywgJnZtLmludGVycHJl
dGVyLT5zdGFjaygpLCBDb2RlRm9yQ2FsbCk7Ci0gICAgaWYgKFNsb3RzVG9BZGQgPCAwKSB7Cisg
ICAgaW50IHNsb3RzVG9BZGQgPSBDb21tb25TbG93UGF0aHM6OmFyaXR5Q2hlY2tGb3IoZXhlYywg
JnZtLmludGVycHJldGVyLT5zdGFjaygpLCBDb2RlRm9yQ2FsbCk7CisgICAgaWYgKHNsb3RzVG9B
ZGQgPCAwKSB7CiAgICAgICAgIGV4ZWMgPSBleGVjLT5jYWxsZXJGcmFtZSgpOworICAgICAgICBF
cnJvckhhbmRsaW5nU2NvcGUgZXJyb3JTY29wZShleGVjLT52bSgpKTsKICAgICAgICAgQ29tbW9u
U2xvd1BhdGhzOjppbnRlcnByZXRlclRocm93SW5DYWxsZXIoZXhlYywgY3JlYXRlU3RhY2tPdmVy
Zmxvd0Vycm9yKGV4ZWMpKTsKICAgICAgICAgUkVUVVJOX1RXTyhiaXR3aXNlX2Nhc3Q8dm9pZCo+
KHN0YXRpY19jYXN0PHVpbnRwdHJfdD4oMSkpLCBleGVjKTsKICAgICB9Ci0gICAgUkVUVVJOX1RX
TygwLCByZWludGVycHJldF9jYXN0PEV4ZWNTdGF0ZSo+KFNsb3RzVG9BZGQpKTsKKyAgICBSRVRV
Uk5fVFdPKDAsIHNldHVwQXJpdHlDaGVja0RhdGEodm0sIHNsb3RzVG9BZGQpKTsKIH0KIAogU0xP
V19QQVRIX0RFQ0woc2xvd19wYXRoX2NvbnN0cnVjdF9hcml0eUNoZWNrKQogewogICAgIEJFR0lO
KCk7Ci0gICAgaW50IFNsb3RzVG9BZGQgPSBDb21tb25TbG93UGF0aHM6OmFyaXR5Q2hlY2tGb3Io
ZXhlYywgJnZtLmludGVycHJldGVyLT5zdGFjaygpLCBDb2RlRm9yQ29uc3RydWN0KTsKLSAgICBp
ZiAoU2xvdHNUb0FkZCA8IDApIHsKKyAgICBpbnQgc2xvdHNUb0FkZCA9IENvbW1vblNsb3dQYXRo
czo6YXJpdHlDaGVja0ZvcihleGVjLCAmdm0uaW50ZXJwcmV0ZXItPnN0YWNrKCksIENvZGVGb3JD
b25zdHJ1Y3QpOworICAgIGlmIChzbG90c1RvQWRkIDwgMCkgewogICAgICAgICBleGVjID0gZXhl
Yy0+Y2FsbGVyRnJhbWUoKTsKKyAgICAgICAgRXJyb3JIYW5kbGluZ1Njb3BlIGVycm9yU2NvcGUo
ZXhlYy0+dm0oKSk7CiAgICAgICAgIENvbW1vblNsb3dQYXRoczo6aW50ZXJwcmV0ZXJUaHJvd0lu
Q2FsbGVyKGV4ZWMsIGNyZWF0ZVN0YWNrT3ZlcmZsb3dFcnJvcihleGVjKSk7CiAgICAgICAgIFJF
VFVSTl9UV08oYml0d2lzZV9jYXN0PHZvaWQqPihzdGF0aWNfY2FzdDx1aW50cHRyX3Q+KDEpKSwg
ZXhlYyk7CiAgICAgfQotICAgIFJFVFVSTl9UV08oMCwgcmVpbnRlcnByZXRfY2FzdDxFeGVjU3Rh
dGUqPihTbG90c1RvQWRkKSk7CisgICAgUkVUVVJOX1RXTygwLCBzZXR1cEFyaXR5Q2hlY2tEYXRh
KHZtLCBzbG90c1RvQWRkKSk7CiB9CiAKIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF90b3VjaF9l
bnRyeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNs
b3dQYXRocy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhz
LmgKaW5kZXggY2ZjOGJkYmI3NmFkZDczNzY5OTlmMWIyZjI2YWUyYjU5ZmM3YTliNy4uNjhmNjQw
ODRmYTI4MTEyZmVlMGQ5NDQyZGJkZWUzOGQ1MjExNDU3MSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmgKQEAgLTQ5LDYgKzQ5LDEyIEBAIG5h
bWVzcGFjZSBKU0MgewogCiBuYW1lc3BhY2UgQ29tbW9uU2xvd1BhdGhzIHsKIAorc3RydWN0IEFy
aXR5Q2hlY2tEYXRhIHsKKyAgICB1bnNpZ25lZCBwYWRkZWRTdGFja1NwYWNlOworICAgIHZvaWQq
IHRodW5rVG9DYWxsOworICAgIHZvaWQqIHJldHVyblBDOworfTsKKwogQUxXQVlTX0lOTElORSBp
bnQgYXJpdHlDaGVja0ZvcihFeGVjU3RhdGUqIGV4ZWMsIEpTU3RhY2sqIHN0YWNrLCBDb2RlU3Bl
Y2lhbGl6YXRpb25LaW5kIGtpbmQpCiB7CiAgICAgSlNGdW5jdGlvbiogY2FsbGVlID0ganNDYXN0
PEpTRnVuY3Rpb24qPihleGVjLT5jYWxsZWUoKSk7CkBAIC01OCwxOCArNjQsMTIgQEAgQUxXQVlT
X0lOTElORSBpbnQgYXJpdHlDaGVja0ZvcihFeGVjU3RhdGUqIGV4ZWMsIEpTU3RhY2sqIHN0YWNr
LCBDb2RlU3BlY2lhbGl6YXQKICAgICAKICAgICBBU1NFUlQoYXJndW1lbnRDb3VudEluY2x1ZGlu
Z1RoaXMgPCBuZXdDb2RlQmxvY2stPm51bVBhcmFtZXRlcnMoKSk7CiAgICAgaW50IG1pc3NpbmdB
cmd1bWVudENvdW50ID0gbmV3Q29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCkgLSBhcmd1bWVudENv
dW50SW5jbHVkaW5nVGhpczsKLSAgICBpbnQgcGFkZGVkTWlzc2luZ0FyZ3VtZW50Q291bnQgPSBX
VEY6OnJvdW5kVXBUb011bHRpcGxlT2Yoc3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSwgbWlzc2lu
Z0FyZ3VtZW50Q291bnQpOworICAgIGludCBuZWVkZWRTdGFja1NwYWNlID0gbWlzc2luZ0FyZ3Vt
ZW50Q291bnQgKyAxOyAvLyBBbGxvdyBzcGFjZSB0byBzYXZlIHRoZSBvcmlnaW5hbCByZXR1cm4g
UEMuCisgICAgaW50IHBhZGRlZFN0YWNrU3BhY2UgPSBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Yo
c3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSwgbmVlZGVkU3RhY2tTcGFjZSk7CiAKLSNpZiBVU0Uo
U0VQQVJBVEVfQ19BTkRfSlNfU1RBQ0spCi0gICAgaWYgKCFzdGFjay0+Z3JvdyhleGVjLT5yZWdp
c3RlcnMoKSAtIHBhZGRlZE1pc3NpbmdBcmd1bWVudENvdW50KSkKKyAgICBpZiAoIXN0YWNrLT5l
bnN1cmVDYXBhY2l0eUZvcihleGVjLT5yZWdpc3RlcnMoKSAtIHBhZGRlZFN0YWNrU3BhY2UpKQog
ICAgICAgICByZXR1cm4gLTE7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShzdGFjayk7Ci0gICAg
aWYgKCFleGVjLT52bSgpLmlzU2FmZVRvUmVjdXJzZShwYWRkZWRNaXNzaW5nQXJndW1lbnRDb3Vu
dCAqIHNpemVvZihSZWdpc3RlcikpKQotICAgICAgICByZXR1cm4gLTE7Ci0jZW5kaWYgLy8gVVNF
KFNFUEFSQVRFX0NfQU5EX0pTX1NUQUNLKQotCi0gICAgcmV0dXJuIHBhZGRlZE1pc3NpbmdBcmd1
bWVudENvdW50OworICAgIHJldHVybiBwYWRkZWRTdGFja1NwYWNlIC8gc3RhY2tBbGlnbm1lbnRS
ZWdpc3RlcnMoKTsKIH0KIAogaW5saW5lIGJvb2wgb3BJbihFeGVjU3RhdGUqIGV4ZWMsIEpTVmFs
dWUgcHJvcE5hbWUsIEpTVmFsdWUgYmFzZVZhbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Vycm9ySGFuZGxpbmdTY29wZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FcnJvckhhbmRsaW5nU2NvcGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyMmM1ZmU1
MjMxMTk3M2I0YzJlOGNiZDU2YjViZDc1ZWRjODJjOTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckhhbmRsaW5nU2NvcGUuY3BwCkBAIC0wLDAg
KzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkVycm9ySGFuZGxpbmdTY29wZS5oIgorCisj
aW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKKyNpbmNsdWRlICJPcHRpb25zLmgiCisjaW5jbHVkZSAi
Vk0uaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK0Vycm9ySGFuZGxpbmdTY29wZTo6RXJyb3JIYW5k
bGluZ1Njb3BlKFZNJiB2bSkKKyAgICA6IG1fdm0odm0pCit7CisgICAgaWYgKCFtX3ZtLnN0YWNr
UG9pbnRlckF0Vk1FbnRyeSkKKyAgICAgICAgbV92bS5zdGFja1BvaW50ZXJBdFZNRW50cnkgPSB0
aGlzOworICAgIHNpemVfdCBuZXdSZXNlcnZlZFpvbmVTaXplID0gT3B0aW9uczo6ZXJyb3JNb2Rl
UmVzZXJ2ZWRab25lU2l6ZSgpOworICAgIG1fc2F2ZWRSZXNlcnZlZFpvbmVTaXplID0gbV92bS51
cGRhdGVTdGFja0xpbWl0V2l0aFJlc2VydmVkWm9uZVNpemUobmV3UmVzZXJ2ZWRab25lU2l6ZSk7
CisjaWYgRU5BQkxFKExMSU5UX0NfTE9PUCkKKyAgICBtX3ZtLmludGVycHJldGVyLT5zdGFjaygp
LnNldFJlc2VydmVkWm9uZVNpemUobmV3UmVzZXJ2ZWRab25lU2l6ZSk7CisjZW5kaWYKK30KKwor
RXJyb3JIYW5kbGluZ1Njb3BlOjp+RXJyb3JIYW5kbGluZ1Njb3BlKCkKK3sKKyAgICBpZiAobV92
bS5zdGFja1BvaW50ZXJBdFZNRW50cnkgPT0gdGhpcykKKyAgICAgICAgbV92bS5zdGFja1BvaW50
ZXJBdFZNRW50cnkgPSBudWxscHRyOworICAgIG1fdm0udXBkYXRlU3RhY2tMaW1pdFdpdGhSZXNl
cnZlZFpvbmVTaXplKG1fc2F2ZWRSZXNlcnZlZFpvbmVTaXplKTsKKyNpZiBFTkFCTEUoTExJTlRf
Q19MT09QKQorICAgIG1fdm0uaW50ZXJwcmV0ZXItPnN0YWNrKCkuc2V0UmVzZXJ2ZWRab25lU2l6
ZShtX3NhdmVkUmVzZXJ2ZWRab25lU2l6ZSk7CisjZW5kaWYKK30KKworfSAvLyBuYW1lc3BhY2Ug
SlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckhhbmRs
aW5nU2NvcGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySGFuZGxpbmdT
Y29wZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ1MWIyNDFlNDhjMjUzY2EyYjdkODEzYTFiZDFmNmM2MTkyMzEz
OGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
ckhhbmRsaW5nU2NvcGUuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgRXJyb3JIYW5kbGluZ1Njb3BlX2gKKyNk
ZWZpbmUgRXJyb3JIYW5kbGluZ1Njb3BlX2gKKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIFZN
OworCitjbGFzcyBFcnJvckhhbmRsaW5nU2NvcGUgeworcHVibGljOgorICAgIEpTX0VYUE9SVF9Q
UklWQVRFIEVycm9ySGFuZGxpbmdTY29wZShWTSYpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIH5F
cnJvckhhbmRsaW5nU2NvcGUoKTsKK3ByaXZhdGU6CisgICAgVk0mIG1fdm07CisgICAgc2l6ZV90
IG1fc2F2ZWRSZXNlcnZlZFpvbmVTaXplOworfTsKKworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNl
bmRpZiAvLyBFcnJvckhhbmRsaW5nU2NvcGVfaAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuY3BwCmluZGV4IDhmNDQyNDhlMzg2MTU5NTQ3
NWQyYzFjYTJjYWViZmE5MDYzZmRiZGQuLjA1ZTExZTBiODBhMzQzMGFlYWIyMmIwMjIyYTIxMmY0
YThlMmM0OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2Vw
dGlvbkhlbHBlcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2Vw
dGlvbkhlbHBlcnMuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAKICNpbmNsdWRlICJDb2RlQmxvY2su
aCIKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKKyNpbmNsdWRlICJFcnJvckhhbmRsaW5nU2NvcGUu
aCIKICNpbmNsdWRlICJFcnJvckluc3RhbmNlLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3RG
dW5jdGlvbnMuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgpAQCAtMTYwLDE0ICsxNjEsMTYgQEAg
SlNPYmplY3QqIHRocm93T3V0T2ZNZW1vcnlFcnJvcihFeGVjU3RhdGUqIGV4ZWMpCiAKIEpTT2Jq
ZWN0KiB0aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgSW50
ZXJwcmV0ZXI6OkVycm9ySGFuZGxpbmdNb2RlIG1vZGUoZXhlYyk7Ci0gICAgcmV0dXJuIGV4ZWMt
PnZtKCkudGhyb3dFeGNlcHRpb24oZXhlYywgY3JlYXRlU3RhY2tPdmVyZmxvd0Vycm9yKGV4ZWMp
KTsKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIEVycm9ySGFuZGxpbmdTY29wZSBlcnJv
clNjb3BlKHZtKTsKKyAgICByZXR1cm4gdm0udGhyb3dFeGNlcHRpb24oZXhlYywgY3JlYXRlU3Rh
Y2tPdmVyZmxvd0Vycm9yKGV4ZWMpKTsKIH0KIAogSlNPYmplY3QqIHRocm93VGVybWluYXRlZEV4
ZWN1dGlvbkV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgSW50ZXJwcmV0ZXI6OkVy
cm9ySGFuZGxpbmdNb2RlIG1vZGUoZXhlYyk7Ci0gICAgcmV0dXJuIGV4ZWMtPnZtKCkudGhyb3dF
eGNlcHRpb24oZXhlYywgY3JlYXRlVGVybWluYXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbigmZXhlYy0+
dm0oKSkpOworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgRXJyb3JIYW5kbGluZ1Njb3Bl
IGVycm9yU2NvcGUodm0pOworICAgIHJldHVybiB2bS50aHJvd0V4Y2VwdGlvbihleGVjLCBjcmVh
dGVUZXJtaW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9uKCZ2bSkpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFi
bGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKaW5k
ZXggYmJkNmVkMjNlMjZmYTJjZDk3NWQ2MzdjNTRhMmVkMmU2MTViMGY5MS4uNmJjNDY0ZDM3ZWU5
NTdlMDg4YjFiNzcyOTE0ODg0YjdmYjFlNzcxNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJMTElu
dEVudHJ5cG9pbnQuaCIKICNpbmNsdWRlICJPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiUGFyc2Vy
LmgiCisjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKQEAgLTExOCwxMiArMTE5
LDE0IEBAIHZvaWQgU2NyaXB0RXhlY3V0YWJsZTo6aW5zdGFsbENvZGUoQ29kZUJsb2NrKiBnZW5l
cmljQ29kZUJsb2NrKQogICAgIHN3aXRjaCAoa2luZCkgewogICAgIGNhc2UgQ29kZUZvckNhbGw6
CiAgICAgICAgIG1faml0Q29kZUZvckNhbGwgPSBnZW5lcmljQ29kZUJsb2NrLT5qaXRDb2RlKCk7
Ci0gICAgICAgIG1faml0Q29kZUZvckNhbGxXaXRoQXJpdHlDaGVjayA9IGdlbmVyaWNDb2RlQmxv
Y2stPmppdENvZGVXaXRoQXJpdHlDaGVjaygpOworICAgICAgICBtX2ppdENvZGVGb3JDYWxsV2l0
aEFyaXR5Q2hlY2sgPSBNYWNyb0Fzc2VtYmxlckNvZGVQdHIoKTsKKyAgICAgICAgbV9qaXRDb2Rl
Rm9yQ2FsbFdpdGhBcml0eUNoZWNrQW5kUHJlc2VydmVSZWdzID0gTWFjcm9Bc3NlbWJsZXJDb2Rl
UHRyKCk7CiAgICAgICAgIG1fbnVtUGFyYW1ldGVyc0ZvckNhbGwgPSBnZW5lcmljQ29kZUJsb2Nr
LT5udW1QYXJhbWV0ZXJzKCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29kZUZvckNvbnN0
cnVjdDoKICAgICAgICAgbV9qaXRDb2RlRm9yQ29uc3RydWN0ID0gZ2VuZXJpY0NvZGVCbG9jay0+
aml0Q29kZSgpOwotICAgICAgICBtX2ppdENvZGVGb3JDb25zdHJ1Y3RXaXRoQXJpdHlDaGVjayA9
IGdlbmVyaWNDb2RlQmxvY2stPmppdENvZGVXaXRoQXJpdHlDaGVjaygpOworICAgICAgICBtX2pp
dENvZGVGb3JDb25zdHJ1Y3RXaXRoQXJpdHlDaGVjayA9IE1hY3JvQXNzZW1ibGVyQ29kZVB0cigp
OworICAgICAgICBtX2ppdENvZGVGb3JDb25zdHJ1Y3RXaXRoQXJpdHlDaGVja0FuZFByZXNlcnZl
UmVncyA9IE1hY3JvQXNzZW1ibGVyQ29kZVB0cigpOwogICAgICAgICBtX251bVBhcmFtZXRlcnNG
b3JDb25zdHJ1Y3QgPSBnZW5lcmljQ29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCk7CiAgICAgICAg
IGJyZWFrOwogICAgIH0KQEAgLTEzMyw3ICsxMzYsNiBAQCB2b2lkIFNjcmlwdEV4ZWN1dGFibGU6
Omluc3RhbGxDb2RlKENvZGVCbG9jayogZ2VuZXJpY0NvZGVCbG9jaykKICAgICAgICAgUHJvZ3Jh
bUV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBqc0Nhc3Q8UHJvZ3JhbUV4ZWN1dGFibGUqPih0aGlz
KTsKICAgICAgICAgUHJvZ3JhbUNvZGVCbG9jayogY29kZUJsb2NrID0gc3RhdGljX2Nhc3Q8UHJv
Z3JhbUNvZGVCbG9jayo+KGdlbmVyaWNDb2RlQmxvY2spOwogICAgICAgICAKLSAgICAgICAgQVNT
RVJUKCFjb2RlQmxvY2stPmppdENvZGVXaXRoQXJpdHlDaGVjaygpKTsKICAgICAgICAgQVNTRVJU
KGtpbmQgPT0gQ29kZUZvckNhbGwpOwogICAgICAgICAKICAgICAgICAgb2xkQ29kZUJsb2NrID0g
ZXhlY3V0YWJsZS0+bV9wcm9ncmFtQ29kZUJsb2NrOwpAQCAtMTQ1LDcgKzE0Nyw2IEBAIHZvaWQg
U2NyaXB0RXhlY3V0YWJsZTo6aW5zdGFsbENvZGUoQ29kZUJsb2NrKiBnZW5lcmljQ29kZUJsb2Nr
KQogICAgICAgICBFdmFsRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGpzQ2FzdDxFdmFsRXhlY3V0
YWJsZSo+KHRoaXMpOwogICAgICAgICBFdmFsQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBzdGF0aWNf
Y2FzdDxFdmFsQ29kZUJsb2NrKj4oZ2VuZXJpY0NvZGVCbG9jayk7CiAgICAgICAgIAotICAgICAg
ICBBU1NFUlQoIWNvZGVCbG9jay0+aml0Q29kZVdpdGhBcml0eUNoZWNrKCkpOwogICAgICAgICBB
U1NFUlQoa2luZCA9PSBDb2RlRm9yQ2FsbCk7CiAgICAgICAgIAogICAgICAgICBvbGRDb2RlQmxv
Y2sgPSBleGVjdXRhYmxlLT5tX2V2YWxDb2RlQmxvY2s7CkBAIC02MTAsNiArNjExLDQ2IEBAIFN0
cmluZyBGdW5jdGlvbkV4ZWN1dGFibGU6OnBhcmFtU3RyaW5nKCkgY29uc3QKICAgICByZXR1cm4g
bV91bmxpbmtlZEV4ZWN1dGFibGUtPnBhcmFtU3RyaW5nKCk7CiB9CiAKK3ZvaWQgRXhlY3V0YWJs
ZUJhc2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBFeGVjdXRhYmxlQmFz
ZSogcmVhbFRoaXMgPSBjb25zdF9jYXN0PEV4ZWN1dGFibGVCYXNlKj4odGhpcyk7CisgICAgCisg
ICAgaWYgKGNsYXNzSW5mbygpID09IE5hdGl2ZUV4ZWN1dGFibGU6OmluZm8oKSkgeworICAgICAg
ICBOYXRpdmVFeGVjdXRhYmxlKiBuYXRpdmUgPSBqc0Nhc3Q8TmF0aXZlRXhlY3V0YWJsZSo+KHJl
YWxUaGlzKTsKKyAgICAgICAgb3V0LnByaW50KCJOYXRpdmVFeGVjdXRhYmxlOiIsIFJhd1BvaW50
ZXIoYml0d2lzZV9jYXN0PHZvaWQqPihuYXRpdmUtPmZ1bmN0aW9uKCkpKSwgIi8iLCBSYXdQb2lu
dGVyKGJpdHdpc2VfY2FzdDx2b2lkKj4obmF0aXZlLT5jb25zdHJ1Y3RvcigpKSkpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIAorICAgIGlmIChjbGFzc0luZm8oKSA9PSBFdmFsRXhlY3V0
YWJsZTo6aW5mbygpKSB7CisgICAgICAgIEV2YWxFeGVjdXRhYmxlKiBldmFsID0ganNDYXN0PEV2
YWxFeGVjdXRhYmxlKj4ocmVhbFRoaXMpOworICAgICAgICBpZiAoQ29kZUJsb2NrKiBjb2RlQmxv
Y2sgPSBldmFsLT5jb2RlQmxvY2soKSkKKyAgICAgICAgICAgIG91dC5wcmludCgqY29kZUJsb2Nr
KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgb3V0LnByaW50KCJFdmFsRXhlY3V0YWJsZSB3
L28gQ29kZUJsb2NrIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAgaWYgKGNs
YXNzSW5mbygpID09IFByb2dyYW1FeGVjdXRhYmxlOjppbmZvKCkpIHsKKyAgICAgICAgUHJvZ3Jh
bUV4ZWN1dGFibGUqIGV2YWwgPSBqc0Nhc3Q8UHJvZ3JhbUV4ZWN1dGFibGUqPihyZWFsVGhpcyk7
CisgICAgICAgIGlmIChDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV2YWwtPmNvZGVCbG9jaygpKQor
ICAgICAgICAgICAgb3V0LnByaW50KCpjb2RlQmxvY2spOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBvdXQucHJpbnQoIlByb2dyYW1FeGVjdXRhYmxlIHcvbyBDb2RlQmxvY2siKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9u
ID0ganNDYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KHJlYWxUaGlzKTsKKyAgICBpZiAoIWZ1bmN0
aW9uLT5laXRoZXJDb2RlQmxvY2soKSkKKyAgICAgICAgb3V0LnByaW50KCJGdW5jdGlvbkV4ZWN1
dGFibGUgdy9vIENvZGVCbG9jayIpOworICAgIGVsc2UgeworICAgICAgICBDb21tYVByaW50ZXIg
Y29tbWEoIi8iKTsKKyAgICAgICAgaWYgKGZ1bmN0aW9uLT5jb2RlQmxvY2tGb3JDYWxsKCkpCisg
ICAgICAgICAgICBvdXQucHJpbnQoY29tbWEsICpmdW5jdGlvbi0+Y29kZUJsb2NrRm9yQ2FsbCgp
KTsKKyAgICAgICAgaWYgKGZ1bmN0aW9uLT5jb2RlQmxvY2tGb3JDb25zdHJ1Y3QoKSkKKyAgICAg
ICAgICAgIG91dC5wcmludChjb21tYSwgKmZ1bmN0aW9uLT5jb2RlQmxvY2tGb3JDb25zdHJ1Y3Qo
KSk7CisgICAgfQorfQorCiBDb2RlQmxvY2tIYXNoIEV4ZWN1dGFibGVCYXNlOjpoYXNoRm9yKENv
ZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkgY29uc3QKIHsKICAgICBpZiAodGhpcy0+Y2xhc3NJ
bmZvKCkgPT0gTmF0aXZlRXhlY3V0YWJsZTo6aW5mbygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXhlY3V0YWJsZS5oCmluZGV4IDZmZjI3YWVlOWZjM2I4MjY4YWU2Yjk3NmE5ZWRk
ODZjM2Y5MDI1NWMuLjE5ODk3NmJiM2ZlNmU2ZTkxMTc5ODEyZDFjYWY5YjhiZjliZmQwYmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmgKQEAgLTI2LDYgKzI2
LDcgQEAKICNpZm5kZWYgRXhlY3V0YWJsZV9oCiAjZGVmaW5lIEV4ZWN1dGFibGVfaAogCisjaW5j
bHVkZSAiQXJpdHlDaGVja01vZGUuaCIKICNpbmNsdWRlICJDYWxsRGF0YS5oIgogI2luY2x1ZGUg
IkNvZGVCbG9ja0hhc2guaCIKICNpbmNsdWRlICJDb2RlU3BlY2lhbGl6YXRpb25LaW5kLmgiCkBA
IC0zNiw2ICszNyw3IEBACiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJKSVRD
b2RlLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJSZWdpc3RlclBy
ZXNlcnZhdGlvbk1vZGUuaCIKICNpbmNsdWRlICJTYW1wbGluZ1Rvb2wuaCIKICNpbmNsdWRlICJT
b3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiVW5saW5rZWRDb2RlQmxvY2suaCIKQEAgLTE0NCwzNyAr
MTQ2LDk0IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKGtpbmQgPT0gQ29kZUZvckNvbnN0cnVj
dCk7CiAgICAgICAgIHJldHVybiBnZW5lcmF0ZWRKSVRDb2RlRm9yQ29uc3RydWN0KCk7CiAgICAg
fQotCi0gICAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIGdlbmVyYXRlZEpJVENvZGVGb3JDYWxsV2l0
aEFyaXR5Q2hlY2soKQotICAgIHsKLSAgICAgICAgQVNTRVJUKG1faml0Q29kZUZvckNhbGwpOwot
ICAgICAgICBBU1NFUlQobV9qaXRDb2RlRm9yQ2FsbFdpdGhBcml0eUNoZWNrKTsKLSAgICAgICAg
cmV0dXJuIG1faml0Q29kZUZvckNhbGxXaXRoQXJpdHlDaGVjazsKLSAgICB9Ci0KLSAgICBNYWNy
b0Fzc2VtYmxlckNvZGVQdHIgZ2VuZXJhdGVkSklUQ29kZUZvckNvbnN0cnVjdFdpdGhBcml0eUNo
ZWNrKCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChtX2ppdENvZGVGb3JDb25zdHJ1Y3QpOwotICAg
ICAgICBBU1NFUlQobV9qaXRDb2RlRm9yQ29uc3RydWN0V2l0aEFyaXR5Q2hlY2spOwotICAgICAg
ICByZXR1cm4gbV9qaXRDb2RlRm9yQ29uc3RydWN0V2l0aEFyaXR5Q2hlY2s7Ci0gICAgfQotICAg
ICAgICAKLSAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgZ2VuZXJhdGVkSklUQ29kZVdpdGhBcml0
eUNoZWNrRm9yKENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkKLSAgICB7Ci0gICAgICAgIGlm
IChraW5kID09IENvZGVGb3JDYWxsKQotICAgICAgICAgICAgcmV0dXJuIGdlbmVyYXRlZEpJVENv
ZGVGb3JDYWxsV2l0aEFyaXR5Q2hlY2soKTsKLSAgICAgICAgQVNTRVJUKGtpbmQgPT0gQ29kZUZv
ckNvbnN0cnVjdCk7Ci0gICAgICAgIHJldHVybiBnZW5lcmF0ZWRKSVRDb2RlRm9yQ29uc3RydWN0
V2l0aEFyaXR5Q2hlY2soKTsKLSAgICB9Ci0gICAgICAgIAotICAgIHN0YXRpYyBwdHJkaWZmX3Qg
b2Zmc2V0T2ZKSVRDb2RlV2l0aEFyaXR5Q2hlY2tGb3IoQ29kZVNwZWNpYWxpemF0aW9uS2luZCBr
aW5kKQotICAgIHsKLSAgICAgICAgaWYgKGtpbmQgPT0gQ29kZUZvckNhbGwpCi0gICAgICAgICAg
ICByZXR1cm4gT0JKRUNUX09GRlNFVE9GKEV4ZWN1dGFibGVCYXNlLCBtX2ppdENvZGVGb3JDYWxs
V2l0aEFyaXR5Q2hlY2spOwotICAgICAgICBBU1NFUlQoa2luZCA9PSBDb2RlRm9yQ29uc3RydWN0
KTsKLSAgICAgICAgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihFeGVjdXRhYmxlQmFzZSwgbV9qaXRD
b2RlRm9yQ29uc3RydWN0V2l0aEFyaXR5Q2hlY2spOworICAgIAorICAgIE1hY3JvQXNzZW1ibGVy
Q29kZVB0ciBlbnRyeXBvaW50Rm9yKAorICAgICAgICBWTSYgdm0sIENvZGVTcGVjaWFsaXphdGlv
bktpbmQga2luZCwgQXJpdHlDaGVja01vZGUgYXJpdHksIFJlZ2lzdGVyUHJlc2VydmF0aW9uTW9k
ZSByZWdpc3RlcnMpCisgICAgeworICAgICAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGEgY2FjaGVk
IHJlc3VsdC4gV2Ugb25seSBoYXZlIGl0IGZvciBhcml0eSBjaGVjayBiZWNhdXNlIHdlIHVzZSB0
aGUKKyAgICAgICAgLy8gbm8tYXJpdHkgZW50cnlwb2ludCBpbiBub24tdmlydHVhbCBjYWxscywg
d2hpY2ggd2lsbCAiY2FjaGUiIHRoaXMgdmFsdWUgZGlyZWN0bHkgaW4KKyAgICAgICAgLy8gbWFj
aGluZSBjb2RlLgorICAgICAgICBpZiAoYXJpdHkgPT0gTXVzdENoZWNrQXJpdHkpIHsKKyAgICAg
ICAgICAgIHN3aXRjaCAoa2luZCkgeworICAgICAgICAgICAgY2FzZSBDb2RlRm9yQ2FsbDoKKyAg
ICAgICAgICAgICAgICBzd2l0Y2ggKHJlZ2lzdGVycykgeworICAgICAgICAgICAgICAgIGNhc2Ug
UmVnaXN0ZXJQcmVzZXJ2YXRpb25Ob3RSZXF1aXJlZDoKKyAgICAgICAgICAgICAgICAgICAgaWYg
KE1hY3JvQXNzZW1ibGVyQ29kZVB0ciByZXN1bHQgPSBtX2ppdENvZGVGb3JDYWxsV2l0aEFyaXR5
Q2hlY2spCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIE11c3RQcmVzZXJ2ZVJlZ2lz
dGVyczoKKyAgICAgICAgICAgICAgICAgICAgaWYgKE1hY3JvQXNzZW1ibGVyQ29kZVB0ciByZXN1
bHQgPSBtX2ppdENvZGVGb3JDYWxsV2l0aEFyaXR5Q2hlY2tBbmRQcmVzZXJ2ZVJlZ3MpCisgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlIENvZGVGb3JDb25zdHJ1Y3Q6CisgICAgICAgICAgICAgICAgc3dpdGNoIChyZWdp
c3RlcnMpIHsKKyAgICAgICAgICAgICAgICBjYXNlIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90UmVx
dWlyZWQ6CisgICAgICAgICAgICAgICAgICAgIGlmIChNYWNyb0Fzc2VtYmxlckNvZGVQdHIgcmVz
dWx0ID0gbV9qaXRDb2RlRm9yQ29uc3RydWN0V2l0aEFyaXR5Q2hlY2spCisgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgICAgICBjYXNlIE11c3RQcmVzZXJ2ZVJlZ2lzdGVyczoKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKE1hY3JvQXNzZW1ibGVyQ29kZVB0ciByZXN1bHQgPSBtX2ppdENvZGVGb3JDb25z
dHJ1Y3RXaXRoQXJpdHlDaGVja0FuZFByZXNlcnZlUmVncykKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgcmVzdWx0ID0KKyAgICAgICAgICAgIGdl
bmVyYXRlZEpJVENvZGVGb3Ioa2luZCktPmFkZHJlc3NGb3JDYWxsKHZtLCB0aGlzLCBhcml0eSwg
cmVnaXN0ZXJzKTsKKyAgICAgICAgaWYgKGFyaXR5ID09IE11c3RDaGVja0FyaXR5KSB7CisgICAg
ICAgICAgICAvLyBDYWNoZSB0aGUgcmVzdWx0OyB0aGlzIGlzIG5lY2Vzc2FyeSBmb3IgdGhlIEpJ
VCdzIHZpcnR1YWwgY2FsbCBvcHRpbWl6YXRpb25zLgorICAgICAgICAgICAgc3dpdGNoIChraW5k
KSB7CisgICAgICAgICAgICBjYXNlIENvZGVGb3JDYWxsOgorICAgICAgICAgICAgICAgIHN3aXRj
aCAocmVnaXN0ZXJzKSB7CisgICAgICAgICAgICAgICAgY2FzZSBSZWdpc3RlclByZXNlcnZhdGlv
bk5vdFJlcXVpcmVkOgorICAgICAgICAgICAgICAgICAgICBtX2ppdENvZGVGb3JDYWxsV2l0aEFy
aXR5Q2hlY2sgPSByZXN1bHQ7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgIGNhc2UgTXVzdFByZXNlcnZlUmVnaXN0ZXJzOgorICAgICAgICAgICAgICAgICAgICBt
X2ppdENvZGVGb3JDYWxsV2l0aEFyaXR5Q2hlY2tBbmRQcmVzZXJ2ZVJlZ3MgPSByZXN1bHQ7Cisg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ29kZUZvckNvbnN0cnVjdDoKKyAgICAgICAg
ICAgICAgICBzd2l0Y2ggKHJlZ2lzdGVycykgeworICAgICAgICAgICAgICAgIGNhc2UgUmVnaXN0
ZXJQcmVzZXJ2YXRpb25Ob3RSZXF1aXJlZDoKKyAgICAgICAgICAgICAgICAgICAgbV9qaXRDb2Rl
Rm9yQ29uc3RydWN0V2l0aEFyaXR5Q2hlY2sgPSByZXN1bHQ7CisgICAgICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgTXVzdFByZXNlcnZlUmVnaXN0ZXJzOgorICAg
ICAgICAgICAgICAgICAgICBtX2ppdENvZGVGb3JDb25zdHJ1Y3RXaXRoQXJpdHlDaGVja0FuZFBy
ZXNlcnZlUmVncyA9IHJlc3VsdDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgc3RhdGljIHB0cmRpZmZf
dCBvZmZzZXRPZkpJVENvZGVXaXRoQXJpdHlDaGVja0ZvcigKKyAgICAgICAgQ29kZVNwZWNpYWxp
emF0aW9uS2luZCBraW5kLCBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGUgcmVnaXN0ZXJzKQorICAg
IHsKKyAgICAgICAgc3dpdGNoIChraW5kKSB7CisgICAgICAgIGNhc2UgQ29kZUZvckNhbGw6Cisg
ICAgICAgICAgICBzd2l0Y2ggKHJlZ2lzdGVycykgeworICAgICAgICAgICAgY2FzZSBSZWdpc3Rl
clByZXNlcnZhdGlvbk5vdFJlcXVpcmVkOgorICAgICAgICAgICAgICAgIHJldHVybiBPQkpFQ1Rf
T0ZGU0VUT0YoRXhlY3V0YWJsZUJhc2UsIG1faml0Q29kZUZvckNhbGxXaXRoQXJpdHlDaGVjayk7
CisgICAgICAgICAgICBjYXNlIE11c3RQcmVzZXJ2ZVJlZ2lzdGVyczoKKyAgICAgICAgICAgICAg
ICByZXR1cm4gT0JKRUNUX09GRlNFVE9GKEV4ZWN1dGFibGVCYXNlLCBtX2ppdENvZGVGb3JDYWxs
V2l0aEFyaXR5Q2hlY2tBbmRQcmVzZXJ2ZVJlZ3MpOworICAgICAgICAgICAgfQorICAgICAgICBj
YXNlIENvZGVGb3JDb25zdHJ1Y3Q6CisgICAgICAgICAgICBzd2l0Y2ggKHJlZ2lzdGVycykgewor
ICAgICAgICAgICAgY2FzZSBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkOgorICAgICAg
ICAgICAgICAgIHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoRXhlY3V0YWJsZUJhc2UsIG1faml0Q29k
ZUZvckNvbnN0cnVjdFdpdGhBcml0eUNoZWNrKTsKKyAgICAgICAgICAgIGNhc2UgTXVzdFByZXNl
cnZlUmVnaXN0ZXJzOgorICAgICAgICAgICAgICAgIHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoRXhl
Y3V0YWJsZUJhc2UsIG1faml0Q29kZUZvckNvbnN0cnVjdFdpdGhBcml0eUNoZWNrQW5kUHJlc2Vy
dmVSZWdzKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBSRUxFQVNFX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICAgICAgIAorICAg
IAogICAgIHN0YXRpYyBwdHJkaWZmX3Qgb2Zmc2V0T2ZOdW1QYXJhbWV0ZXJzRm9yKENvZGVTcGVj
aWFsaXphdGlvbktpbmQga2luZCkKICAgICB7CiAgICAgICAgIGlmIChraW5kID09IENvZGVGb3JD
YWxsKQpAQCAtMjEwLDIyICsyNjksOSBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm4gaW50
cmluc2ljKCk7CiAgICAgICAgIHJldHVybiBOb0ludHJpbnNpYzsKICAgICB9CisgICAgCisgICAg
dm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Q7CiAgICAgICAgIAotICAgIE1hY3JvQXNzZW1i
bGVyQ29kZVB0ciBob3N0Q29kZUVudHJ5Rm9yKENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkK
LSAgICB7Ci0gICAgICAgIHJldHVybiBnZW5lcmF0ZWRKSVRDb2RlRm9yKGtpbmQpLT5hZGRyZXNz
Rm9yQ2FsbCgpOwotICAgIH0KLQotICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBqc0NvZGVFbnRy
eUZvcihDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCi0gICAgewotICAgICAgICByZXR1cm4g
Z2VuZXJhdGVkSklUQ29kZUZvcihraW5kKS0+YWRkcmVzc0ZvckNhbGwoKTsKLSAgICB9Ci0KLSAg
ICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIganNDb2RlV2l0aEFyaXR5Q2hlY2tFbnRyeUZvcihDb2Rl
U3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCi0gICAgewotICAgICAgICByZXR1cm4gZ2VuZXJhdGVk
SklUQ29kZVdpdGhBcml0eUNoZWNrRm9yKGtpbmQpOwotICAgIH0KLQogcHJvdGVjdGVkOgogICAg
IEV4ZWN1dGFibGVCYXNlKiBtX3ByZXY7CiAgICAgRXhlY3V0YWJsZUJhc2UqIG1fbmV4dDsKQEAg
LTIzNCw2ICsyODAsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgUmVmUHRyPEpJVENvZGU+IG1faml0Q29k
ZUZvckNvbnN0cnVjdDsKICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgbV9qaXRDb2RlRm9yQ2Fs
bFdpdGhBcml0eUNoZWNrOwogICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBtX2ppdENvZGVGb3JD
b25zdHJ1Y3RXaXRoQXJpdHlDaGVjazsKKyAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgbV9qaXRD
b2RlRm9yQ2FsbFdpdGhBcml0eUNoZWNrQW5kUHJlc2VydmVSZWdzOworICAgIE1hY3JvQXNzZW1i
bGVyQ29kZVB0ciBtX2ppdENvZGVGb3JDb25zdHJ1Y3RXaXRoQXJpdHlDaGVja0FuZFByZXNlcnZl
UmVnczsKIH07CiAKIGNsYXNzIE5hdGl2ZUV4ZWN1dGFibGUgOiBwdWJsaWMgRXhlY3V0YWJsZUJh
c2UgewpAQCAtMjQyLDE0ICsyOTAsMTEgQEAgY2xhc3MgTmF0aXZlRXhlY3V0YWJsZSA6IHB1Ymxp
YyBFeGVjdXRhYmxlQmFzZSB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBFeGVjdXRhYmxlQmFzZSBC
YXNlOwogCi0gICAgc3RhdGljIE5hdGl2ZUV4ZWN1dGFibGUqIGNyZWF0ZShWTSYgdm0sIE1hY3Jv
QXNzZW1ibGVyQ29kZVJlZiBjYWxsVGh1bmssIE5hdGl2ZUZ1bmN0aW9uIGZ1bmN0aW9uLCBNYWNy
b0Fzc2VtYmxlckNvZGVSZWYgY29uc3RydWN0VGh1bmssIE5hdGl2ZUZ1bmN0aW9uIGNvbnN0cnVj
dG9yLCBJbnRyaW5zaWMgaW50cmluc2ljKQorICAgIHN0YXRpYyBOYXRpdmVFeGVjdXRhYmxlKiBj
cmVhdGUoVk0mIHZtLCBQYXNzUmVmUHRyPEpJVENvZGU+IGNhbGxUaHVuaywgTmF0aXZlRnVuY3Rp
b24gZnVuY3Rpb24sIFBhc3NSZWZQdHI8SklUQ29kZT4gY29uc3RydWN0VGh1bmssIE5hdGl2ZUZ1
bmN0aW9uIGNvbnN0cnVjdG9yLCBJbnRyaW5zaWMgaW50cmluc2ljKQogICAgIHsKICAgICAgICAg
TmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZTsKICAgICAgICAgZXhlY3V0YWJsZSA9IG5ldyAo
Tm90TnVsbCwgYWxsb2NhdGVDZWxsPE5hdGl2ZUV4ZWN1dGFibGU+KHZtLmhlYXApKSBOYXRpdmVF
eGVjdXRhYmxlKHZtLCBmdW5jdGlvbiwgY29uc3RydWN0b3IpOwotICAgICAgICBpZiAoIWNhbGxU
aHVuaykKLSAgICAgICAgICAgIGV4ZWN1dGFibGUtPmZpbmlzaENyZWF0aW9uKHZtLCAwLCAwLCBp
bnRyaW5zaWMpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBleGVjdXRhYmxlLT5maW5pc2hD
cmVhdGlvbih2bSwgSklUQ29kZTo6aG9zdEZ1bmN0aW9uKGNhbGxUaHVuayksIEpJVENvZGU6Omhv
c3RGdW5jdGlvbihjb25zdHJ1Y3RUaHVuayksIGludHJpbnNpYyk7CisgICAgICAgIGV4ZWN1dGFi
bGUtPmZpbmlzaENyZWF0aW9uKHZtLCBjYWxsVGh1bmssIGNvbnN0cnVjdFRodW5rLCBpbnRyaW5z
aWMpOwogICAgICAgICByZXR1cm4gZXhlY3V0YWJsZTsKICAgICB9CiAKQEAgLTI4OCw4ICszMzMs
NiBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFBhc3NSZWZQ
dHI8SklUQ29kZT4gY2FsbFRodW5rLCBQYXNzUmVmUHRyPEpJVENvZGU+IGNvbnN0cnVjdFRodW5r
LCBJbnRyaW5zaWMgaW50cmluc2ljKQogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0pOwotICAgICAgICBtX2ppdENvZGVGb3JDYWxsV2l0aEFyaXR5Q2hlY2sgPSBjYWxsVGh1
bmsgPyBjYWxsVGh1bmstPmFkZHJlc3NGb3JDYWxsKCkgOiBNYWNyb0Fzc2VtYmxlckNvZGVQdHIo
KTsKLSAgICAgICAgbV9qaXRDb2RlRm9yQ29uc3RydWN0V2l0aEFyaXR5Q2hlY2sgPSBjb25zdHJ1
Y3RUaHVuayA/IGNvbnN0cnVjdFRodW5rLT5hZGRyZXNzRm9yQ2FsbCgpIDogTWFjcm9Bc3NlbWJs
ZXJDb2RlUHRyKCk7CiAgICAgICAgIG1faml0Q29kZUZvckNhbGwgPSBjYWxsVGh1bms7CiAgICAg
ICAgIG1faml0Q29kZUZvckNvbnN0cnVjdCA9IGNvbnN0cnVjdFRodW5rOwogICAgICAgICBtX2lu
dHJpbnNpYyA9IGludHJpbnNpYzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ0pTVmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pT
VmFsdWUuaAppbmRleCA4NWFjMzJiZGRmZmRhNmY1NTU4YTgwY2UxYzBkYmJhNmUxZDUyM2MwLi45
MThkZTE0ZDUyODM1NDU1Y2RjNjdhZTc5ZjE3YzgzOGRjYmFjMDM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5oCkBAIC05Nyw2ICs5Nyw5IEBAIHVuaW9uIEVu
Y29kZWRWYWx1ZURlc2NyaXB0b3IgewogI2VuZGlmCiB9OwogCisjZGVmaW5lIFRhZ09mZnNldCAo
T0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy50YWcpKQorI2Rl
ZmluZSBQYXlsb2FkT2Zmc2V0IChPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRv
ciwgYXNCaXRzLnBheWxvYWQpKQorCiBlbnVtIFdoaWNoVmFsdWVXb3JkIHsKICAgICBUYWdXb3Jk
LAogICAgIFBheWxvYWRXb3JkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0xvY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNw
cAppbmRleCA3NjA0MDc1ZjhiOWYzOTRmYWM0YWZiMmRjYWQ4M2ZlNzcwYjlmYTcxLi44NDE1YWQ1
ZWM1ZDgyZWFiYjdmMWEyM2NjYzRlMmM3ZWE0NzQ0YzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTTG9jay5jcHAKQEAgLTI5MCw2ICsyOTAsMTAgQEAgSlNMb2NrOjpEcm9wQWxs
TG9ja3M6OkRyb3BBbGxMb2NrcyhFeGVjU3RhdGUqIGV4ZWMsIEFsd2F5c0Ryb3BMb2Nrc1RhZyBh
bHdheXNEcm8KICNpZiBQTEFURk9STShJT1MpCiAgICAgU3BpbkxvY2tIb2xkZXIgaG9sZGVyKCZz
cGluTG9jayk7CiAjZW5kaWYKKyAgICBtX3NhdmVkUmVzZXJ2ZWRab25lU2l6ZSA9IG1fdm0tPnJl
c2VydmVkWm9uZVNpemUoKTsKKyAgICBtX3NhdmVkU3RhY2tQb2ludGVyQXRWTUVudHJ5ID0gbV92
bS0+c3RhY2tQb2ludGVyQXRWTUVudHJ5OworICAgIG1fdm0tPnN0YWNrUG9pbnRlckF0Vk1FbnRy
eSA9IG51bGxwdHI7CisKICAgICBpZiAoYWx3YXlzRHJvcExvY2tzKQogICAgICAgICBtX2xvY2tD
b3VudCA9IG1fdm0tPmFwaUxvY2soKS5kcm9wQWxsTG9ja3NVbmNvbmRpdGlvbmFsbHkoc3Bpbkxv
Y2spOwogICAgIGVsc2UKQEAgLTMwNiw2ICszMTAsMTAgQEAgSlNMb2NrOjpEcm9wQWxsTG9ja3M6
OkRyb3BBbGxMb2NrcyhWTSogdm0sIEFsd2F5c0Ryb3BMb2Nrc1RhZyBhbHdheXNEcm9wTG9ja3Mp
CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFNwaW5Mb2NrSG9sZGVyIGhvbGRlcigmc3BpbkxvY2sp
OwogI2VuZGlmCisgICAgbV9zYXZlZFJlc2VydmVkWm9uZVNpemUgPSBtX3ZtLT5yZXNlcnZlZFpv
bmVTaXplKCk7CisgICAgbV9zYXZlZFN0YWNrUG9pbnRlckF0Vk1FbnRyeSA9IG1fdm0tPnN0YWNr
UG9pbnRlckF0Vk1FbnRyeTsKKyAgICBtX3ZtLT5zdGFja1BvaW50ZXJBdFZNRW50cnkgPSBudWxs
cHRyOworCiAgICAgaWYgKGFsd2F5c0Ryb3BMb2NrcykKICAgICAgICAgbV9sb2NrQ291bnQgPSBt
X3ZtLT5hcGlMb2NrKCkuZHJvcEFsbExvY2tzVW5jb25kaXRpb25hbGx5KHNwaW5Mb2NrKTsKICAg
ICBlbHNlCkBAIC0zMjEsNiArMzI5LDkgQEAgSlNMb2NrOjpEcm9wQWxsTG9ja3M6On5Ecm9wQWxs
TG9ja3MoKQogICAgIFNwaW5Mb2NrSG9sZGVyIGhvbGRlcigmc3BpbkxvY2spOwogI2VuZGlmCiAg
ICAgbV92bS0+YXBpTG9jaygpLmdyYWJBbGxMb2NrcyhtX2xvY2tDb3VudCwgc3BpbkxvY2spOwor
CisgICAgbV92bS0+c3RhY2tQb2ludGVyQXRWTUVudHJ5ID0gbV9zYXZlZFN0YWNrUG9pbnRlckF0
Vk1FbnRyeTsKKyAgICBtX3ZtLT51cGRhdGVTdGFja0xpbWl0V2l0aFJlc2VydmVkWm9uZVNpemUo
bV9zYXZlZFJlc2VydmVkWm9uZVNpemUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKaW5kZXggMzAwMmFkZDY0N2EyNTAwZDg1NWRh
YjBhZGZjOTc3M2VjODcyZGZmZS4uMGRhY2RmMGJjOWY4MWFhNWM2NzNjZWQ5ZGYyY2Q5YWU5ZGUx
NjI3MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTk1LDEwICs5
NSw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wg
Y3VycmVudFRocmVhZElzSG9sZGluZ0xvY2soKTsKIAotICAgICAgICB1bnNpZ25lZCBkcm9wQWxs
TG9ja3MoU3BpbkxvY2smKTsKLSAgICAgICAgdW5zaWduZWQgZHJvcEFsbExvY2tzVW5jb25kaXRp
b25hbGx5KFNwaW5Mb2NrJik7Ci0gICAgICAgIHZvaWQgZ3JhYkFsbExvY2tzKHVuc2lnbmVkIGxv
Y2tDb3VudCwgU3BpbkxvY2smKTsKLQogICAgICAgICB2b2lkIHdpbGxEZXN0cm95Vk0oVk0qKTsK
IAogICAgICAgICBjbGFzcyBEcm9wQWxsTG9ja3MgewpAQCAtMTE0LDkgKzExMCwxNSBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgcHJpdmF0ZToKICAgICAgICAgICAgIGludHB0cl90IG1fbG9j
a0NvdW50OwogICAgICAgICAgICAgUmVmUHRyPFZNPiBtX3ZtOworICAgICAgICAgICAgc2l6ZV90
IG1fc2F2ZWRSZXNlcnZlZFpvbmVTaXplOworICAgICAgICAgICAgdm9pZCogbV9zYXZlZFN0YWNr
UG9pbnRlckF0Vk1FbnRyeTsKICAgICAgICAgfTsKIAogICAgIHByaXZhdGU6CisgICAgICAgIHVu
c2lnbmVkIGRyb3BBbGxMb2NrcyhTcGluTG9jayYpOworICAgICAgICB1bnNpZ25lZCBkcm9wQWxs
TG9ja3NVbmNvbmRpdGlvbmFsbHkoU3BpbkxvY2smKTsKKyAgICAgICAgdm9pZCBncmFiQWxsTG9j
a3ModW5zaWduZWQgbG9ja0NvdW50LCBTcGluTG9jayYpOworCiAgICAgICAgIFNwaW5Mb2NrIG1f
c3BpbkxvY2s7CiAgICAgICAgIE11dGV4IG1fbG9jazsKICAgICAgICAgVGhyZWFkSWRlbnRpZmll
ciBtX293bmVyVGhyZWFkOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNPTk9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2Jq
ZWN0LmNwcAppbmRleCA5ODI2Mjg5MTcxYjhkNDBmY2Y4YWM0NTA1ZmJhYjY3N2RkNWFlMWZiLi4w
ZDNkN2UzZTBhY2U5MmQxN2I3ZDgxZmFlMWI5YmIyYWJlOThhZWIxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcApAQCAtNjU0LDcgKzY1NCw3IEBAIE5F
VkVSX0lOTElORSBKU1ZhbHVlIFdhbGtlcjo6d2FsayhKU1ZhbHVlIHVuZmlsdGVyZWQpCiAgICAg
ICAgICAgICAgICAgQVNTRVJUKGluVmFsdWUuaXNPYmplY3QoKSk7CiAgICAgICAgICAgICAgICAg
QVNTRVJUKGlzSlNBcnJheShhc09iamVjdChpblZhbHVlKSkgfHwgYXNPYmplY3QoaW5WYWx1ZSkt
PmluaGVyaXRzKEpTQXJyYXk6OmluZm8oKSkpOwogICAgICAgICAgICAgICAgIGlmIChvYmplY3RT
dGFjay5zaXplKCkgKyBhcnJheVN0YWNrLnNpemUoKSA+IG1heGltdW1GaWx0ZXJSZWN1cnNpb24p
Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBtX2V4ZWMtPnZtKCkudGhyb3dFeGNlcHRpb24o
bV9leGVjLCBjcmVhdGVTdGFja092ZXJmbG93RXJyb3IobV9leGVjKSk7CisgICAgICAgICAgICAg
ICAgICAgIHJldHVybiB0aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihtX2V4ZWMpOwogCiAgICAgICAg
ICAgICAgICAgSlNBcnJheSogYXJyYXkgPSBhc0FycmF5KGluVmFsdWUpOwogICAgICAgICAgICAg
ICAgIGFycmF5U3RhY2sucHVzaChhcnJheSk7CkBAIC03MDUsNyArNzA1LDcgQEAgTkVWRVJfSU5M
SU5FIEpTVmFsdWUgV2Fsa2VyOjp3YWxrKEpTVmFsdWUgdW5maWx0ZXJlZCkKICAgICAgICAgICAg
ICAgICBBU1NFUlQoaW5WYWx1ZS5pc09iamVjdCgpKTsKICAgICAgICAgICAgICAgICBBU1NFUlQo
IWlzSlNBcnJheShhc09iamVjdChpblZhbHVlKSkgJiYgIWFzT2JqZWN0KGluVmFsdWUpLT5pbmhl
cml0cyhKU0FycmF5OjppbmZvKCkpKTsKICAgICAgICAgICAgICAgICBpZiAob2JqZWN0U3RhY2su
c2l6ZSgpICsgYXJyYXlTdGFjay5zaXplKCkgPiBtYXhpbXVtRmlsdGVyUmVjdXJzaW9uKQotICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gbV9leGVjLT52bSgpLnRocm93RXhjZXB0aW9uKG1fZXhl
YywgY3JlYXRlU3RhY2tPdmVyZmxvd0Vycm9yKG1fZXhlYykpOworICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gdGhyb3dTdGFja092ZXJmbG93RXJyb3IobV9leGVjKTsKIAogICAgICAgICAgICAg
ICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChpblZhbHVlKTsKICAgICAgICAgICAgICAg
ICBvYmplY3RTdGFjay5wdXNoKG9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PcHRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09wdGlvbnMuY3BwCmluZGV4IGFhOGNjYzc1MTc1NmQ1NmYzNjdjYmZjYmI2YzMxYjZlZDBkYmRj
YzIuLjkyNjNmMjgyZGZiNjZlNjVkMjUwZDAzMTMyN2ExNjU1MDk2NmJjMWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5j
bHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgor
I2luY2x1ZGUgPHd0Zi9EYXRhTG9nLmg+CiAjaW5jbHVkZSA8d3RmL051bWJlck9mQ29yZXMuaD4K
ICNpbmNsdWRlIDx3dGYvUGFnZUJsb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5o
PgpAQCAtMTc1LDYgKzE3Niw0NSBAQCBjb25zdCBPcHRpb25zOjpFbnRyeUluZm8gT3B0aW9uczo6
c19vcHRpb25zSW5mb1tPcHRpb25zOjpudW1iZXJPZk9wdGlvbnNdID0gewogI3VuZGVmIEZPUl9F
QUNIX09QVElPTgogfTsKIAorc3RhdGljIHZvaWQgcmVjb21wdXRlRGVwZW5kZW50T3B0aW9ucygp
Cit7CisjaWYgIUVOQUJMRShKSVQpCisgICAgT3B0aW9uczo6dXNlSklUKCkgPSBmYWxzZTsKKyAg
ICBPcHRpb25zOjp1c2VERkdKSVQoKSA9IGZhbHNlOworI2VuZGlmCisjaWYgIUVOQUJMRShZQVJS
X0pJVCkKKyAgICBPcHRpb25zOjp1c2VSZWdFeHBKSVQoKSA9IGZhbHNlOworI2VuZGlmCisgICAg
CisgICAgaWYgKE9wdGlvbnM6OnNob3dEaXNhc3NlbWJseSgpCisgICAgICAgIHx8IE9wdGlvbnM6
OnNob3dERkdEaXNhc3NlbWJseSgpCisgICAgICAgIHx8IE9wdGlvbnM6OmR1bXBCeXRlY29kZUF0
REZHVGltZSgpCisgICAgICAgIHx8IE9wdGlvbnM6OmR1bXBHcmFwaEF0RWFjaFBoYXNlKCkKKyAg
ICAgICAgfHwgT3B0aW9uczo6dmVyYm9zZUNvbXBpbGF0aW9uKCkKKyAgICAgICAgfHwgT3B0aW9u
czo6bG9nQ29tcGlsYXRpb25DaGFuZ2VzKCkKKyAgICAgICAgfHwgT3B0aW9uczo6dmFsaWRhdGVH
cmFwaCgpCisgICAgICAgIHx8IE9wdGlvbnM6OnZhbGlkYXRlR3JhcGhBdEVhY2hQaGFzZSgpCisg
ICAgICAgIHx8IE9wdGlvbnM6OnZlcmJvc2VPU1IoKQorICAgICAgICB8fCBPcHRpb25zOjp2ZXJi
b3NlQ29tcGlsYXRpb25RdWV1ZSgpCisgICAgICAgIHx8IE9wdGlvbnM6OnJlcG9ydENvbXBpbGVU
aW1lcygpCisgICAgICAgIHx8IE9wdGlvbnM6OnJlcG9ydEZUTENvbXBpbGVUaW1lcygpCisgICAg
ICAgIHx8IE9wdGlvbnM6OnZlcmJvc2VDRkEoKQorICAgICAgICB8fCBPcHRpb25zOjp2ZXJib3Nl
RlRMRmFpbHVyZSgpKQorICAgICAgICBPcHRpb25zOjphbHdheXNDb21wdXRlSGFzaCgpID0gdHJ1
ZTsKKyAgICAKKyAgICAvLyBDb21wdXRlIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSByZW9wdGlt
aXphdGlvbiByZXRyeSBjb3VudGVyLiBUaGlzIGlzIHNpbXBseQorICAgIC8vIHRoZSBsYXJnZXN0
IHZhbHVlIGF0IHdoaWNoIHdlIGRvbid0IG92ZXJmbG93IHRoZSBleGVjdXRlIGNvdW50ZXIsIHdo
ZW4gdXNpbmcgaXQKKyAgICAvLyB0byBsZWZ0LXNoaWZ0IHRoZSBleGVjdXRpb24gY291bnRlciBi
eSB0aGlzIGFtb3VudC4gQ3VycmVudGx5IHRoZSB2YWx1ZSBlbmRzCisgICAgLy8gdXAgYmVpbmcg
MTgsIHNvIHRoaXMgbG9vcCBpcyBub3Qgc28gdGVycmlibGU7IGl0IHByb2JhYmx5IHRha2VzIHVw
IH4xMDAgY3ljbGVzCisgICAgLy8gdG90YWwgb24gYSAzMi1iaXQgcHJvY2Vzc29yLgorICAgIE9w
dGlvbnM6OnJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyTWF4KCkgPSAwOworICAgIHdoaWxlICgo
c3RhdGljX2Nhc3Q8aW50NjRfdD4oT3B0aW9uczo6dGhyZXNob2xkRm9yT3B0aW1pemVBZnRlckxv
bmdXYXJtVXAoKSkgPDwgKE9wdGlvbnM6OnJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyTWF4KCkg
KyAxKSkgPD0gc3RhdGljX2Nhc3Q8aW50NjRfdD4oc3RkOjpudW1lcmljX2xpbWl0czxpbnQzMl90
Pjo6bWF4KCkpKQorICAgICAgICBPcHRpb25zOjpyZW9wdGltaXphdGlvblJldHJ5Q291bnRlck1h
eCgpKys7CisKKyAgICBBU1NFUlQoKHN0YXRpY19jYXN0PGludDY0X3Q+KE9wdGlvbnM6OnRocmVz
aG9sZEZvck9wdGltaXplQWZ0ZXJMb25nV2FybVVwKCkpIDw8IE9wdGlvbnM6OnJlb3B0aW1pemF0
aW9uUmV0cnlDb3VudGVyTWF4KCkpID4gMCk7CisgICAgQVNTRVJUKChzdGF0aWNfY2FzdDxpbnQ2
NF90PihPcHRpb25zOjp0aHJlc2hvbGRGb3JPcHRpbWl6ZUFmdGVyTG9uZ1dhcm1VcCgpKSA8PCBP
cHRpb25zOjpyZW9wdGltaXphdGlvblJldHJ5Q291bnRlck1heCgpKSA8PSBzdGF0aWNfY2FzdDxp
bnQ2NF90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptYXgoKSkpOworfQorCiB2b2lk
IE9wdGlvbnM6OmluaXRpYWxpemUoKQogewogICAgIC8vIEluaXRpYWxpemUgZWFjaCBvZiB0aGUg
b3B0aW9ucyB3aXRoIHRoZWlyIGRlZmF1bHQgdmFsdWVzOgpAQCAtMjA0LDMwICsyNDQsMTIgQEAg
dm9pZCBPcHRpb25zOjppbml0aWFsaXplKCkKICAgICA7IC8vIERlY29uZnVzZSBlZGl0b3JzIHRo
YXQgZG8gYXV0byBpbmRlbnRhdGlvbgogI2VuZGlmCiAgICAgCi0jaWYgIUVOQUJMRShKSVQpCi0g
ICAgdXNlSklUKCkgPSBmYWxzZTsKLSAgICB1c2VERkdKSVQoKSA9IGZhbHNlOwotI2VuZGlmCi0j
aWYgIUVOQUJMRShZQVJSX0pJVCkKLSAgICB1c2VSZWdFeHBKSVQoKSA9IGZhbHNlOwotI2VuZGlm
CisgICAgcmVjb21wdXRlRGVwZW5kZW50T3B0aW9ucygpOwogCiAgICAgLy8gRG8gcmFuZ2UgY2hl
Y2tzIHdoZXJlIG5lZWRlZCBhbmQgbWFrZSBjb3JyZWN0aW9ucyB0byB0aGUgb3B0aW9uczoKLSAg
ICBBU1NFUlQodGhyZXNob2xkRm9yT3B0aW1pemVBZnRlckxvbmdXYXJtVXAoKSA+PSB0aHJlc2hv
bGRGb3JPcHRpbWl6ZUFmdGVyV2FybVVwKCkpOwotICAgIEFTU0VSVCh0aHJlc2hvbGRGb3JPcHRp
bWl6ZUFmdGVyV2FybVVwKCkgPj0gdGhyZXNob2xkRm9yT3B0aW1pemVTb29uKCkpOwotICAgIEFT
U0VSVCh0aHJlc2hvbGRGb3JPcHRpbWl6ZUFmdGVyV2FybVVwKCkgPj0gMCk7Ci0KLSAgICAvLyBD
b21wdXRlIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSByZW9wdGltaXphdGlvbiByZXRyeSBjb3Vu
dGVyLiBUaGlzIGlzIHNpbXBseQotICAgIC8vIHRoZSBsYXJnZXN0IHZhbHVlIGF0IHdoaWNoIHdl
IGRvbid0IG92ZXJmbG93IHRoZSBleGVjdXRlIGNvdW50ZXIsIHdoZW4gdXNpbmcgaXQKLSAgICAv
LyB0byBsZWZ0LXNoaWZ0IHRoZSBleGVjdXRpb24gY291bnRlciBieSB0aGlzIGFtb3VudC4gQ3Vy
cmVudGx5IHRoZSB2YWx1ZSBlbmRzCi0gICAgLy8gdXAgYmVpbmcgMTgsIHNvIHRoaXMgbG9vcCBp
cyBub3Qgc28gdGVycmlibGU7IGl0IHByb2JhYmx5IHRha2VzIHVwIH4xMDAgY3ljbGVzCi0gICAg
Ly8gdG90YWwgb24gYSAzMi1iaXQgcHJvY2Vzc29yLgotICAgIHJlb3B0aW1pemF0aW9uUmV0cnlD
b3VudGVyTWF4KCkgPSAwOwotICAgIHdoaWxlICgoc3RhdGljX2Nhc3Q8aW50NjRfdD4odGhyZXNo
b2xkRm9yT3B0aW1pemVBZnRlckxvbmdXYXJtVXAoKSkgPDwgKHJlb3B0aW1pemF0aW9uUmV0cnlD
b3VudGVyTWF4KCkgKyAxKSkgPD0gc3RhdGljX2Nhc3Q8aW50NjRfdD4oc3RkOjpudW1lcmljX2xp
bWl0czxpbnQzMj46Om1heCgpKSkKLSAgICAgICAgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJN
YXgoKSsrOwotCi0gICAgQVNTRVJUKChzdGF0aWNfY2FzdDxpbnQ2NF90Pih0aHJlc2hvbGRGb3JP
cHRpbWl6ZUFmdGVyTG9uZ1dhcm1VcCgpKSA8PCByZW9wdGltaXphdGlvblJldHJ5Q291bnRlck1h
eCgpKSA+IDApOwotICAgIEFTU0VSVCgoc3RhdGljX2Nhc3Q8aW50NjRfdD4odGhyZXNob2xkRm9y
T3B0aW1pemVBZnRlckxvbmdXYXJtVXAoKSkgPDwgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJN
YXgoKSkgPD0gc3RhdGljX2Nhc3Q8aW50NjRfdD4oc3RkOjpudW1lcmljX2xpbWl0czxpbnQzMj46
Om1heCgpKSk7CisgICAgQVNTRVJUKE9wdGlvbnM6OnRocmVzaG9sZEZvck9wdGltaXplQWZ0ZXJM
b25nV2FybVVwKCkgPj0gT3B0aW9uczo6dGhyZXNob2xkRm9yT3B0aW1pemVBZnRlcldhcm1VcCgp
KTsKKyAgICBBU1NFUlQoT3B0aW9uczo6dGhyZXNob2xkRm9yT3B0aW1pemVBZnRlcldhcm1VcCgp
ID49IE9wdGlvbnM6OnRocmVzaG9sZEZvck9wdGltaXplU29vbigpKTsKKyAgICBBU1NFUlQoT3B0
aW9uczo6dGhyZXNob2xkRm9yT3B0aW1pemVBZnRlcldhcm1VcCgpID49IDApOwogfQogCiAvLyBQ
YXJzZXMgYSBzaW5nbGUgY29tbWFuZCBsaW5lIG9wdGlvbiBpbiB0aGUgZm9ybWF0ICI8b3B0aW9u
TmFtZT49PHZhbHVlPiIKQEAgLTI1MSw2ICsyNzMsNyBAQCBib29sIE9wdGlvbnM6OnNldE9wdGlv
bihjb25zdCBjaGFyKiBhcmcpCiAgICAgICAgIGJvb2wgc3VjY2VzcyA9IHBhcnNlKHZhbHVlU3Ry
LCB2YWx1ZSk7ICAgICAgICAgIFwKICAgICAgICAgaWYgKHN1Y2Nlc3MpIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgbmFtZV8oKSA9IHZhbHVlOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICByZWNvbXB1dGVEZXBlbmRlbnRP
cHRpb25zKCk7ICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgIHJldHVybiB0cnVlOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICB9ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIHJldHVybiBmYWxzZTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTI1OSw3ICsyODIsNyBAQCBib29s
IE9wdGlvbnM6OnNldE9wdGlvbihjb25zdCBjaGFyKiBhcmcpCiAgICAgSlNDX09QVElPTlMoRk9S
X0VBQ0hfT1BUSU9OKQogI3VuZGVmIEZPUl9FQUNIX09QVElPTgogCi0gICAgICAgIHJldHVybiBm
YWxzZTsgLy8gTm8gb3B0aW9uIG1hdGNoZWQuCisgICAgcmV0dXJuIGZhbHNlOyAvLyBObyBvcHRp
b24gbWF0Y2hlZC4KIH0KIAogdm9pZCBPcHRpb25zOjpkdW1wQWxsT3B0aW9ucyhGSUxFKiBzdHJl
YW0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKaW5kZXggYzg4YjNhYzZj
MzZiZTkwOGEyMmUwNDI1MmNkNzU5NzZlMmFlMGRlYy4uMDViNmZlMDFkMWZhZDRlMjJhNDMxYWVj
Mzc2NzIzYTJjMWZhOTkyNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMu
aApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIsIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAy
MDEyLCAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkpTRXhw
b3J0TWFjcm9zLmgiCiAjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KKyNp
bmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC05NCw2
ICs5NSwxMCBAQCB0eXBlZGVmIE9wdGlvblJhbmdlIG9wdGlvblJhbmdlOwogICAgIHYoYm9vbCwg
dXNlREZHSklULCB0cnVlKSBcCiAgICAgdihib29sLCB1c2VSZWdFeHBKSVQsIHRydWUpIFwKICAg
ICBcCisgICAgdih1bnNpZ25lZCwgbWF4UGVyVGhyZWFkU3RhY2tVc2FnZSwgNCAqIE1CKSBcCisg
ICAgdih1bnNpZ25lZCwgcmVzZXJ2ZWRab25lU2l6ZSwgMTI4ICogS0IpIFwKKyAgICB2KHVuc2ln
bmVkLCBlcnJvck1vZGVSZXNlcnZlZFpvbmVTaXplLCA2NCAqIEtCKSBcCisgICAgXAogICAgIHYo
Ym9vbCwgY3Jhc2hJZkNhbnRBbGxvY2F0ZUpJVE1lbW9yeSwgZmFsc2UpIFwKICAgICBcCiAgICAg
dihib29sLCBmb3JjZURGR0NvZGVCbG9ja0xpdmVuZXNzLCBmYWxzZSkgXApAQCAtMTE4LDExICsx
MjMsMTkgQEAgdHlwZWRlZiBPcHRpb25SYW5nZSBvcHRpb25SYW5nZTsKICAgICB2KGJvb2wsIHZl
cmJvc2VDYWxsTGluaywgZmFsc2UpIFwKICAgICB2KGJvb2wsIHZlcmJvc2VDb21waWxhdGlvblF1
ZXVlLCBmYWxzZSkgXAogICAgIHYoYm9vbCwgcmVwb3J0Q29tcGlsZVRpbWVzLCBmYWxzZSkgXAor
ICAgIHYoYm9vbCwgcmVwb3J0RlRMQ29tcGlsZVRpbWVzLCBmYWxzZSkgXAogICAgIHYoYm9vbCwg
dmVyYm9zZUNGQSwgZmFsc2UpIFwKKyAgICB2KGJvb2wsIHZlcmJvc2VGVExUb0pTVGh1bmssIGZh
bHNlKSBcCisgICAgdihib29sLCB2ZXJib3NlRlRMRmFpbHVyZSwgZmFsc2UpIFwKKyAgICB2KGJv
b2wsIGFsd2F5c0NvbXB1dGVIYXNoLCBmYWxzZSkgXAorICAgIHYoYm9vbCwgdGVzdFRoZUZUTCwg
ZmFsc2UpIFwKKyAgICB2KGJvb2wsIHZlcmJvc2VTYW5pdGl6ZVN0YWNrLCBmYWxzZSkgXAogICAg
IFwKLSAgICB2KGJvb2wsIGVuYWJsZU9TUkVudHJ5SW5Mb29wcywgdHJ1ZSkgXAorICAgIHYoYm9v
bCwgZW5hYmxlT1NSRW50cnlUb0RGRywgdHJ1ZSkgXAorICAgIHYoYm9vbCwgZW5hYmxlT1NSRW50
cnlUb0ZUTCwgdHJ1ZSkgXAogICAgIFwKICAgICB2KGJvb2wsIHVzZUV4cGVyaW1lbnRhbEZUTCwg
ZmFsc2UpIFwKKyAgICB2KGJvb2wsIGVuYWJsZUV4cGVyaW1lbnRhbEZUTENvdmVyYWdlLCBmYWxz
ZSkgXAogICAgIHYoYm9vbCwgdXNlRlRMVEJBQSwgdHJ1ZSkgXAogICAgIHYoYm9vbCwgZW5hYmxl
TExWTUZhc3RJU2VsLCBmYWxzZSkgXAogICAgIHYoYm9vbCwgdXNlTExWTVNtYWxsQ29kZU1vZGVs
LCBmYWxzZSkgXApAQCAtMTM0LDEwICsxNDcsMTIgQEAgdHlwZWRlZiBPcHRpb25SYW5nZSBvcHRp
b25SYW5nZTsKICAgICB2KHVuc2lnbmVkLCBsbHZtQmFja2VuZE9wdGltaXphdGlvbkxldmVsLCAy
KSBcCiAgICAgdih1bnNpZ25lZCwgbGx2bU9wdGltaXphdGlvbkxldmVsLCAyKSBcCiAgICAgdih1
bnNpZ25lZCwgbGx2bVNpemVMZXZlbCwgMCkgXAorICAgIHYoYm9vbCwgbGx2bURpc2FsbG93QVZY
LCB0cnVlKSBcCiAgICAgdihib29sLCBmdGxDcmFzaGVzLCBmYWxzZSkgLyogZm9vbC1wcm9vZiB3
YXkgb2YgY2hlY2tpbmcgdGhhdCB5b3UgZW5kZWQgdXAgaW4gdGhlIEZUTC4gOy0pICovXAogICAg
IFwKICAgICB2KGJvb2wsIGVuYWJsZUNvbmN1cnJlbnRKSVQsIHRydWUpIFwKLSAgICB2KHVuc2ln
bmVkLCBudW1iZXJPZkNvbXBpbGVyVGhyZWFkcywgY29tcHV0ZU51bWJlck9mV29ya2VyVGhyZWFk
cygyKSAtIDEpIFwKKyAgICB2KHVuc2lnbmVkLCBudW1iZXJPZkRGR0NvbXBpbGVyVGhyZWFkcywg
Y29tcHV0ZU51bWJlck9mV29ya2VyVGhyZWFkcygyKSAtIDEpIFwKKyAgICB2KHVuc2lnbmVkLCBu
dW1iZXJPZkZUTENvbXBpbGVyVGhyZWFkcywgY29tcHV0ZU51bWJlck9mV29ya2VyVGhyZWFkcyg4
KSAtIDEpIFwKICAgICBcCiAgICAgdihib29sLCBlbmFibGVQcm9maWxlciwgZmFsc2UpIFwKICAg
ICBcCkBAIC0xNDYsNiArMTYxLDggQEAgdHlwZWRlZiBPcHRpb25SYW5nZSBvcHRpb25SYW5nZTsK
ICAgICBcCiAgICAgdihib29sLCBlbmFibGVBcmNoaXRlY3R1cmVTcGVjaWZpY09wdGltaXphdGlv
bnMsIHRydWUpIFwKICAgICBcCisgICAgdihib29sLCBicmVha09uVGhyb3csIGZhbHNlKSBcCisg
ICAgXAogICAgIHYodW5zaWduZWQsIG1heGltdW1PcHRpbWl6YXRpb25DYW5kaWRhdGVJbnN0cnVj
dGlvbkNvdW50LCAxMDAwMCkgXAogICAgIFwKICAgICB2KHVuc2lnbmVkLCBtYXhpbXVtRnVuY3Rp
b25Gb3JDYWxsSW5saW5lQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudCwgMTgwKSBcCkBAIC0xNTQs
NiArMTcxLDEyIEBAIHR5cGVkZWYgT3B0aW9uUmFuZ2Ugb3B0aW9uUmFuZ2U7CiAgICAgXAogICAg
IC8qIERlcHRoIG9mIGlubGluZSBzdGFjaywgc28gMSA9IG5vIGlubGluaW5nLCAyID0gb25lIGxl
dmVsLCBldGMuICovIFwKICAgICB2KHVuc2lnbmVkLCBtYXhpbXVtSW5saW5pbmdEZXB0aCwgNSkg
XAorICAgIHYodW5zaWduZWQsIG1heGltdW1JbmxpbmluZ1JlY3Vyc2lvbiwgMikgXAorICAgIHYo
dW5zaWduZWQsIG1heGltdW1JbmxpbmluZ0RlcHRoRm9yTXVzdElubGluZSwgNykgXAorICAgIHYo
dW5zaWduZWQsIG1heGltdW1JbmxpbmluZ1JlY3Vyc2lvbkZvck11c3RJbmxpbmUsIDMpIFwKKyAg
ICBcCisgICAgdihib29sLCBlbmFibGVQb2x5dmFyaWFudENhbGxJbmxpbmluZywgdHJ1ZSkgXAor
ICAgIHYoYm9vbCwgZW5hYmxlUG9seXZhcmlhbnRCeUlkSW5saW5pbmcsIHRydWUpIFwKICAgICBc
CiAgICAgdih1bnNpZ25lZCwgbWF4aW11bUJpbmFyeVN0cmluZ1N3aXRjaENhc2VMZW5ndGgsIDUw
KSBcCiAgICAgdih1bnNpZ25lZCwgbWF4aW11bUJpbmFyeVN0cmluZ1N3aXRjaFRvdGFsTGVuZ3Ro
LCAyMDAwKSBcCkBAIC0yMTAsNiArMjMzLDcgQEAgdHlwZWRlZiBPcHRpb25SYW5nZSBvcHRpb25S
YW5nZTsKICAgICB2KGJvb2wsIHNob3dPYmplY3RTdGF0aXN0aWNzLCBmYWxzZSkgXAogICAgIFwK
ICAgICB2KGJvb2wsIGxvZ0dDLCBmYWxzZSkgXAorICAgIHYoYm9vbCwgZGlzYWJsZUdDLCBmYWxz
ZSkgXAogICAgIHYodW5zaWduZWQsIGdjTWF4SGVhcFNpemUsIDApIFwKICAgICB2KGJvb2wsIHJl
Y29yZEdDUGF1c2VUaW1lcywgZmFsc2UpIFwKICAgICB2KGJvb2wsIGxvZ0hlYXBTdGF0aXN0aWNz
QXRFeGl0LCBmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1JlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzM1MWRiNGEzMjYzYTQ4
MTFmYTRjNGU4MmJjMDQ0YTllZGMzZTM4NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZS5oCkBAIC0wLDAgKzEs
MzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lm
bmRlZiBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGVfaAorI2RlZmluZSBSZWdpc3RlclByZXNlcnZh
dGlvbk1vZGVfaAorCituYW1lc3BhY2UgSlNDIHsKKworZW51bSBSZWdpc3RlclByZXNlcnZhdGlv
bk1vZGUgeworICAgIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQsCisgICAgTXVzdFBy
ZXNlcnZlUmVnaXN0ZXJzCit9OworCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIFJl
Z2lzdGVyUHJlc2VydmF0aW9uTW9kZV9oCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0YWNrQWxpZ25tZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdGFja0FsaWdubWVudC5oCmluZGV4IGI4MDNlNGRlZGQ5OGVkMjhhYjI5YzJkMTkwMjVk
NDM3Yzg2OTc2YzguLmQyOTgwMmIzZmRiY2U1NTkyNmM2M2EzYjEyY2RiYjRlNWI1MzQxNTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0YWNrQWxpZ25tZW50LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RhY2tBbGlnbm1lbnQuaApAQCAt
MjcsNiArMjcsOCBAQAogI2RlZmluZSBTdGFja0FsaWdubWVudF9oCiAKICNpbmNsdWRlICJKU0NK
U1ZhbHVlLmgiCisjaW5jbHVkZSAiSlNTdGFjay5oIgorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFz
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0zOCw2ICs0MCwyNSBAQCBpbmxpbmUgdW5zaWdu
ZWQgc3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKQogICAgIHJldHVybiBzdGFja0FsaWdubWVudEJ5
dGVzKCkgLyBzaXplb2YoRW5jb2RlZEpTVmFsdWUpOwogfQogCisvLyBBbGlnbiBhcmd1bWVudCBj
b3VudCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBDYWxsRnJhbWVIZWFkZXJTaXplIG1heSBiZQor
Ly8gYW4gInVuYWxpZ25lZCIgY291bnQgb2YgcmVnaXN0ZXJzLgoraW5saW5lIHVuc2lnbmVkIHJv
dW5kQXJndW1lbnRDb3VudFRvQWxpZ25GcmFtZSh1bnNpZ25lZCBhcmd1bWVudENvdW50KQorewor
ICAgIHJldHVybiBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Yoc3RhY2tBbGlnbm1lbnRSZWdpc3Rl
cnMoKSwgYXJndW1lbnRDb3VudCArIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUpIC0gSlNT
dGFjazo6Q2FsbEZyYW1lSGVhZGVyU2l6ZTsKK30KKworLy8gQWxpZ24gbG9jYWwgcmVnaXN0ZXIg
Y291bnQgdG8gbWFrZSB0aGUgbGFzdCBsb2NhbCBlbmQgb24gYSBzdGFjayBhbGlnbmVkIGFkZHJl
c3MgZ2l2ZW4gdGhlCisvLyBDYWxsRnJhbWUgaXMgYXQgYW4gYWRkcmVzcyB0aGF0IGlzIHN0YWNr
IGFsaWduZWQgbWludXMgSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUKK2lubGluZSB1bnNp
Z25lZCByb3VuZExvY2FsUmVnaXN0ZXJDb3VudEZvckZyYW1lUG9pbnRlck9mZnNldCh1bnNpZ25l
ZCBsb2NhbFJlZ2lzdGVyQ291bnQpCit7CisgICAgcmV0dXJuIFdURjo6cm91bmRVcFRvTXVsdGlw
bGVPZihzdGFja0FsaWdubWVudFJlZ2lzdGVycygpLCBsb2NhbFJlZ2lzdGVyQ291bnQgKyBKU1N0
YWNrOjpDYWxsZXJGcmFtZUFuZFBDU2l6ZSkgLSBKU1N0YWNrOjpDYWxsZXJGcmFtZUFuZFBDU2l6
ZTsKK30KKworaW5saW5lIHVuc2lnbmVkIGxvZ1N0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCkKK3sK
KyAgICByZXR1cm4gV1RGOjpmYXN0TG9nMihzdGFja0FsaWdubWVudFJlZ2lzdGVycygpKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBTdGFja0FsaWdubWVudF9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdSZWN1cnNpb25DaGVj
a2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1JlY3Vyc2lvbkNo
ZWNrZXIuY3BwCmluZGV4IDFmMjA0MjMxZTk2MjgyZjQ1MTMwMmQxMmM1OTYwNmZiN2ZmMjUwMmYu
LjY3MjQ2YWE2MDQ2OTI1Nzk5MTI0ZTZjZDgxNjUxNWI1ZDc1Yjk4Y2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1JlY3Vyc2lvbkNoZWNrZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1JlY3Vyc2lvbkNoZWNrZXIu
Y3BwCkBAIC0yOCw3ICsyOCw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiBKU1ZhbHVlIFN0cmluZ1Jl
Y3Vyc2lvbkNoZWNrZXI6OnRocm93U3RhY2tPdmVyZmxvd0Vycm9yKCkKIHsKLSAgICByZXR1cm4g
bV9leGVjLT52bSgpLnRocm93RXhjZXB0aW9uKG1fZXhlYywgY3JlYXRlU3RhY2tPdmVyZmxvd0Vy
cm9yKG1fZXhlYykpOworICAgIHJldHVybiBKU0M6OnRocm93U3RhY2tPdmVyZmxvd0Vycm9yKG1f
ZXhlYyk7CiB9CiAKIEpTVmFsdWUgU3RyaW5nUmVjdXJzaW9uQ2hlY2tlcjo6ZW1wdHlTdHJpbmco
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKaW5kZXggODc4
MWFiMDA3MzRiMjBhMDljZGVlMTdjM2I1ZGVkNjVjZDBmZDc5OS4uMDQyOTFmN2U4ZGQyNGU4YWIz
M2Q3NWFmMWRhNDU2OGYyYmM5OWU2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmUuY3BwCkBAIC0xMDQ4LDggKzEwNDgsMTMgQEAgdm9pZCBTdHJ1Y3R1cmU6OmR1
bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKICAgICBpZiAodGFibGUpIHsKICAgICAgICAgUHJv
cGVydHlUYWJsZTo6aXRlcmF0b3IgaXRlciA9IHRhYmxlLT5iZWdpbigpOwogICAgICAgICBQcm9w
ZXJ0eVRhYmxlOjppdGVyYXRvciBlbmQgPSB0YWJsZS0+ZW5kKCk7Ci0gICAgICAgIGZvciAoOyBp
dGVyICE9IGVuZDsgKytpdGVyKQorICAgICAgICBmb3IgKDsgaXRlciAhPSBlbmQ7ICsraXRlcikg
ewogICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCBpdGVyLT5rZXksICI6Iiwgc3RhdGljX2Nh
c3Q8aW50PihpdGVyLT5vZmZzZXQpKTsKKyAgICAgICAgICAgIGlmIChpdGVyLT5zcGVjaWZpY1Zh
bHVlKSB7CisgICAgICAgICAgICAgICAgRHVtcENvbnRleHQgZHVtbXlDb250ZXh0OworICAgICAg
ICAgICAgICAgIG91dC5wcmludCgiPT4iLCBSYXdQb2ludGVyKGl0ZXItPnNwZWNpZmljVmFsdWUu
Z2V0KCkpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgc3Ry
dWN0dXJlLT5tX2xvY2sudW5sb2NrKCk7CiAgICAgfQpAQCAtMTA1OSw2ICsxMDY0LDEwIEBAIHZv
aWQgU3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiAgICAgICAgIGlmICgh
c3RydWN0dXJlLT5tX25hbWVJblByZXZpb3VzKQogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIG91dC5wcmludChjb21tYSwgc3RydWN0dXJlLT5tX25hbWVJblByZXZpb3VzLmdldCgpLCAi
OiIsIHN0YXRpY19jYXN0PGludD4oc3RydWN0dXJlLT5tX29mZnNldCkpOworICAgICAgICBpZiAo
c3RydWN0dXJlLT5tX3NwZWNpZmljVmFsdWVJblByZXZpb3VzKSB7CisgICAgICAgICAgICBEdW1w
Q29udGV4dCBkdW1teUNvbnRleHQ7CisgICAgICAgICAgICBvdXQucHJpbnQoIj0+IiwgUmF3UG9p
bnRlcihzdHJ1Y3R1cmUtPm1fc3BlY2lmaWNWYWx1ZUluUHJldmlvdXMuZ2V0KCkpKTsKKyAgICAg
ICAgfQogICAgIH0KICAgICAKICAgICBvdXQucHJpbnQoIn0sICIsIEluZGV4aW5nVHlwZUR1bXAo
aW5kZXhpbmdUeXBlKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAppbmRleCA5
NTU4YjhkNzIzNDEwYjAwZTE2MDE0ZDcwNTFmZDM1NmIwYmZmMDg2Li4zMzY1ZTQ1ZGJjYzMyZGZk
MDJjYmY3NDdkMmI5YmRkN2I3NWYwMmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9WTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0u
Y3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAxMSwgMjAx
MyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgs
IDIwMTEsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMCwxMSArMzAsMTMgQEAKICNpbmNsdWRlICJW
TS5oIgogCiAjaW5jbHVkZSAiQXJnTGlzdC5oIgorI2luY2x1ZGUgIkFyaXR5Q2hlY2tGYWlsUmV0
dXJuVGh1bmtzLmgiCiAjaW5jbHVkZSAiQXJyYXlCdWZmZXJOZXV0ZXJpbmdXYXRjaHBvaW50Lmgi
CiAjaW5jbHVkZSAiQ2FsbEZyYW1lSW5saW5lcy5oIgogI2luY2x1ZGUgIkNvZGVCbG9jay5oIgog
I2luY2x1ZGUgIkNvZGVDYWNoZS5oIgogI2luY2x1ZGUgIkNvbW1vbklkZW50aWZpZXJzLmgiCisj
aW5jbHVkZSAiQ29tbW9uU2xvd1BhdGhzLmgiCiAjaW5jbHVkZSAiREZHTG9uZ0xpdmVkU3RhdGUu
aCIKICNpbmNsdWRlICJERkdXb3JrbGlzdC5oIgogI2luY2x1ZGUgIkRlYnVnZ2VyQWN0aXZhdGlv
bi5oIgpAQCAtNDksNiArNTEsNyBAQAogI2luY2x1ZGUgIklkZW50aWZpZXIuaCIKICNpbmNsdWRl
ICJJbmNyZW1lbnRhbFN3ZWVwZXIuaCIKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgorI2luY2x1
ZGUgIkpJVENvZGUuaCIKICNpbmNsdWRlICJKU0FQSVZhbHVlV3JhcHBlci5oIgogI2luY2x1ZGUg
IkpTQWN0aXZhdGlvbi5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKQEAgLTE2Niw2ICsxNjksNyBA
QCBWTTo6Vk0oVk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUgaGVhcFR5cGUpCiAgICAgLCB2bVR5cGUo
dm1UeXBlKQogICAgICwgY2xpZW50RGF0YSgwKQogICAgICwgdG9wQ2FsbEZyYW1lKENhbGxGcmFt
ZTo6bm9DYWxsZXIoKSkKKyAgICAsIHN0YWNrUG9pbnRlckF0Vk1FbnRyeSgwKQogICAgICwgYXJy
YXlDb25zdHJ1Y3RvclRhYmxlKGFkb3B0UHRyKG5ldyBIYXNoVGFibGUoSlNDOjphcnJheUNvbnN0
cnVjdG9yVGFibGUpKSkKICAgICAsIGFycmF5UHJvdG90eXBlVGFibGUoYWRvcHRQdHIobmV3IEhh
c2hUYWJsZShKU0M6OmFycmF5UHJvdG90eXBlVGFibGUpKSkKICAgICAsIGJvb2xlYW5Qcm90b3R5
cGVUYWJsZShhZG9wdFB0cihuZXcgSGFzaFRhYmxlKEpTQzo6Ym9vbGVhblByb3RvdHlwZVRhYmxl
KSkpCkBAIC0yMTcsNyArMjIxLDcgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhl
YXBUeXBlKQogICAgICwgbV9pbml0aWFsaXppbmdPYmplY3RDbGFzcygwKQogI2VuZGlmCiAgICAg
LCBtX3N0YWNrTGltaXQoMCkKLSNpZiBVU0UoU0VQQVJBVEVfQ19BTkRfSlNfU1RBQ0spCisjaWYg
RU5BQkxFKExMSU5UX0NfTE9PUCkKICAgICAsIG1fanNTdGFja0xpbWl0KDApCiAjZW5kaWYKICAg
ICAsIG1faW5EZWZpbmVPd25Qcm9wZXJ0eShmYWxzZSkKQEAgLTIyNSw3ICsyMjksMTEgQEAgVk06
OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlKQogewogICAgIGludGVycHJldGVy
ID0gbmV3IEludGVycHJldGVyKCp0aGlzKTsKICAgICBTdGFja0JvdW5kcyBzdGFjayA9IHd0ZlRo
cmVhZERhdGEoKS5zdGFjaygpOwotICAgIHNldFN0YWNrTGltaXQoc3RhY2sucmVjdXJzaW9uTGlt
aXQoKSk7CisgICAgdXBkYXRlU3RhY2tMaW1pdFdpdGhSZXNlcnZlZFpvbmVTaXplKE9wdGlvbnM6
OnJlc2VydmVkWm9uZVNpemUoKSk7CisjaWYgRU5BQkxFKExMSU5UX0NfTE9PUCkKKyAgICBpbnRl
cnByZXRlci0+c3RhY2soKS5zZXRSZXNlcnZlZFpvbmVTaXplKE9wdGlvbnM6OnJlc2VydmVkWm9u
ZVNpemUoKSk7CisjZW5kaWYKKyAgICBzZXRMYXN0U3RhY2tUb3Aoc3RhY2sub3JpZ2luKCkpOwog
CiAgICAgLy8gTmVlZCB0byBiZSBjYXJlZnVsIHRvIGtlZXAgZXZlcnl0aGluZyBjb25zaXN0ZW50
IGhlcmUKICAgICBKU0xvY2tIb2xkZXIgbG9jayh0aGlzKTsKQEAgLTI2Nyw3ICsyNzUsOSBAQCBW
TTo6Vk0oVk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUgaGVhcFR5cGUpCiAKICNpZiBFTkFCTEUoSklU
KQogICAgIGppdFN0dWJzID0gYWRvcHRQdHIobmV3IEpJVFRodW5rcygpKTsKKyAgICBhcml0eUNo
ZWNrRmFpbFJldHVyblRodW5rcyA9IHN0ZDo6bWFrZV91bmlxdWU8QXJpdHlDaGVja0ZhaWxSZXR1
cm5UaHVua3M+KCk7CiAjZW5kaWYKKyAgICBhcml0eUNoZWNrRGF0YSA9IHN0ZDo6bWFrZV91bmlx
dWU8Q29tbW9uU2xvd1BhdGhzOjpBcml0eUNoZWNrRGF0YT4oKTsKIAogI2lmIEVOQUJMRShGVExf
SklUKQogICAgIGZ0bFRodW5rcyA9IHN0ZDo6bWFrZV91bmlxdWU8RlRMOjpUaHVua3M+KCk7CkBA
IC0yODAsNyArMjkwLDcgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBl
KQogI2VuZGlmCiAKICAgICBoZWFwLm5vdGlmeUlzU2FmZVRvQ29sbGVjdCgpOwotCisgICAgCiAg
ICAgTExJbnQ6OkRhdGE6OnBlcmZvcm1Bc3NlcnRpb25zKCp0aGlzKTsKICAgICAKICAgICBpZiAo
T3B0aW9uczo6ZW5hYmxlUHJvZmlsZXIoKSkgewpAQCAtMzA2LDYgKzMxNiwxNiBAQCBWTTo6Vk0o
Vk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUgaGVhcFR5cGUpCiAgICAgbV90eXBlZEFycmF5Q29udHJv
bGxlciA9IGFkb3B0UmVmKG5ldyBTaW1wbGVUeXBlZEFycmF5Q29udHJvbGxlcigpKTsKIH0KIAor
I2lmIEVOQUJMRShERkdfSklUKQorc3RhdGljIHZvaWQgY2xlYW5Xb3JrbGlzdChWTSYgdm0sIERG
Rzo6V29ya2xpc3QqIHdvcmtsaXN0KQoreworICAgIGlmICghd29ya2xpc3QpCisgICAgICAgIHJl
dHVybjsKKyAgICB3b3JrbGlzdC0+d2FpdFVudGlsQWxsUGxhbnNGb3JWTUFyZVJlYWR5KHZtKTsK
KyAgICB3b3JrbGlzdC0+cmVtb3ZlQWxsUmVhZHlQbGFuc0ZvclZNKHZtKTsKK30KKyNlbmRpZiAv
LyBFTkFCTEUoREZHX0pJVCkKKwogVk06On5WTSgpCiB7CiAgICAgLy8gTmV2ZXIgR0MsIGV2ZXIg
YWdhaW4uCkBAIC0zMTQsMTAgKzMzNCw4IEBAIFZNOjp+Vk0oKQogI2lmIEVOQUJMRShERkdfSklU
KQogICAgIC8vIE1ha2Ugc3VyZSBjb25jdXJyZW50IGNvbXBpbGF0aW9ucyBhcmUgZG9uZSwgYnV0
IGRvbid0IGluc3RhbGwgdGhlbSwgc2luY2UgdGhlcmUgaXMKICAgICAvLyBubyBwb2ludCB0byBk
b2luZyBzby4KLSAgICBpZiAod29ya2xpc3QpIHsKLSAgICAgICAgd29ya2xpc3QtPndhaXRVbnRp
bEFsbFBsYW5zRm9yVk1BcmVSZWFkeSgqdGhpcyk7Ci0gICAgICAgIHdvcmtsaXN0LT5yZW1vdmVB
bGxSZWFkeVBsYW5zRm9yVk0oKnRoaXMpOwotICAgIH0KKyAgICBjbGVhbldvcmtsaXN0KCp0aGlz
LCBERkc6OmV4aXN0aW5nR2xvYmFsREZHV29ya2xpc3RPck51bGwoKSk7CisgICAgY2xlYW5Xb3Jr
bGlzdCgqdGhpcywgREZHOjpleGlzdGluZ0dsb2JhbEZUTFdvcmtsaXN0T3JOdWxsKCkpOwogI2Vu
ZGlmIC8vIEVOQUJMRShERkdfSklUKQogICAgIAogICAgIC8vIENsZWFyIHRoaXMgZmlyc3QgdG8g
ZW5zdXJlIHRoYXQgbm9ib2R5IHRyaWVzIHRvIHJlbW92ZSB0aGVtc2VsdmVzIGZyb20gaXQuCkBA
IC00NjEsOCArNDc5LDggQEAgTmF0aXZlRXhlY3V0YWJsZSogVk06OmdldEhvc3RGdW5jdGlvbihO
YXRpdmVGdW5jdGlvbiBmdW5jdGlvbiwgSW50cmluc2ljIGludHJpbnMKIE5hdGl2ZUV4ZWN1dGFi
bGUqIFZNOjpnZXRIb3N0RnVuY3Rpb24oTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb24sIE5hdGl2ZUZ1
bmN0aW9uIGNvbnN0cnVjdG9yKQogewogICAgIHJldHVybiBOYXRpdmVFeGVjdXRhYmxlOjpjcmVh
dGUoKnRoaXMsCi0gICAgICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3JlYXRlTExJbnRDb2Rl
UmVmKGxsaW50X25hdGl2ZV9jYWxsX3RyYW1wb2xpbmUpLCBmdW5jdGlvbiwKLSAgICAgICAgTWFj
cm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVMTEludENvZGVSZWYobGxpbnRfbmF0aXZlX2NvbnN0
cnVjdF90cmFtcG9saW5lKSwgY29uc3RydWN0b3IsCisgICAgICAgIGFkb3B0UmVmKG5ldyBOYXRp
dmVKSVRDb2RlKE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3JlYXRlTExJbnRDb2RlUmVmKGxsaW50
X25hdGl2ZV9jYWxsX3RyYW1wb2xpbmUpLCBKSVRDb2RlOjpIb3N0Q2FsbFRodW5rKSksIGZ1bmN0
aW9uLAorICAgICAgICBhZG9wdFJlZihuZXcgTmF0aXZlSklUQ29kZShNYWNyb0Fzc2VtYmxlckNv
ZGVSZWY6OmNyZWF0ZUxMSW50Q29kZVJlZihsbGludF9uYXRpdmVfY29uc3RydWN0X3RyYW1wb2xp
bmUpLCBKSVRDb2RlOjpIb3N0Q2FsbFRodW5rKSksIGNvbnN0cnVjdG9yLAogICAgICAgICBOb0lu
dHJpbnNpYyk7CiB9CiAKQEAgLTQ5MCwxNCArNTA4LDIxIEBAIHZvaWQgVk06OnN0b3BTYW1wbGlu
ZygpCiAgICAgaW50ZXJwcmV0ZXItPnN0b3BTYW1wbGluZygpOwogfQogCi12b2lkIFZNOjpwcmVw
YXJlVG9EaXNjYXJkQ29kZSgpCi17CiAjaWYgRU5BQkxFKERGR19KSVQpCitzdGF0aWMgdm9pZCBw
cmVwYXJlVG9EaXNjYXJkQ29kZUZvcihWTSYgdm0sIERGRzo6V29ya2xpc3QqIHdvcmtsaXN0KQor
ewogICAgIGlmICghd29ya2xpc3QpCiAgICAgICAgIHJldHVybjsKLSAgICAKLSAgICB3b3JrbGlz
dC0+Y29tcGxldGVBbGxQbGFuc0ZvclZNKCp0aGlzKTsKLSNlbmRpZgorICAgIHdvcmtsaXN0LT5j
b21wbGV0ZUFsbFBsYW5zRm9yVk0odm0pOworfQorI2VuZGlmIC8vIEVOQUJMRShERkdfSklUKQor
Cit2b2lkIFZNOjpwcmVwYXJlVG9EaXNjYXJkQ29kZSgpCit7CisjaWYgRU5BQkxFKERGR19KSVQp
CisgICAgcHJlcGFyZVRvRGlzY2FyZENvZGVGb3IoKnRoaXMsIERGRzo6ZXhpc3RpbmdHbG9iYWxE
RkdXb3JrbGlzdE9yTnVsbCgpKTsKKyAgICBwcmVwYXJlVG9EaXNjYXJkQ29kZUZvcigqdGhpcywg
REZHOjpleGlzdGluZ0dsb2JhbEZUTFdvcmtsaXN0T3JOdWxsKCkpOworI2VuZGlmIC8vIEVOQUJM
RShERkdfSklUKQogfQogCiB2b2lkIFZNOjpkaXNjYXJkQWxsQ29kZSgpCkBAIC02MzIsNiArNjU3
LDExIEBAIHN0YXRpYyB2b2lkIGFwcGVuZFNvdXJjZVRvRXJyb3IoQ2FsbEZyYW1lKiBjYWxsRnJh
bWUsIEVycm9ySW5zdGFuY2UqIGV4Y2VwdGlvbiwKICAgICAKIEpTVmFsdWUgVk06OnRocm93RXhj
ZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBlcnJvcikKIHsKKyAgICBpZiAoT3B0aW9u
czo6YnJlYWtPblRocm93KCkpIHsKKyAgICAgICAgZGF0YUxvZygiSW4gY2FsbCBmcmFtZSAiLCBS
YXdQb2ludGVyKGV4ZWMpLCAiIGZvciBjb2RlIGJsb2NrICIsICpleGVjLT5jb2RlQmxvY2soKSwg
IlxuIik7CisgICAgICAgIENSQVNIKCk7CisgICAgfQorICAgIAogICAgIEFTU0VSVChleGVjID09
IHRvcENhbGxGcmFtZSB8fCBleGVjID09IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Z2xv
YmFsRXhlYygpIHx8IGV4ZWMgPT0gZXhlYy0+dm1FbnRyeUdsb2JhbE9iamVjdCgpLT5nbG9iYWxF
eGVjKCkpOwogICAgIAogICAgIFZlY3RvcjxTdGFja0ZyYW1lPiBzdGFja1RyYWNlOwpAQCAtNzA2
LDYgKzczNiwyNCBAQCB2b2lkIFZNOjogY2xlYXJFeGNlcHRpb25TdGFjaygpCiAgICAgbV9leGNl
cHRpb25TdGFjayA9IFJlZkNvdW50ZWRBcnJheTxTdGFja0ZyYW1lPigpOwogfQogCitzaXplX3Qg
Vk06OnVwZGF0ZVN0YWNrTGltaXRXaXRoUmVzZXJ2ZWRab25lU2l6ZShzaXplX3QgcmVzZXJ2ZWRa
b25lU2l6ZSkKK3sKKyAgICBzaXplX3Qgb2xkUmVzZXJ2ZWRab25lU2l6ZSA9IG1fcmVzZXJ2ZWRa
b25lU2l6ZTsKKyAgICBtX3Jlc2VydmVkWm9uZVNpemUgPSByZXNlcnZlZFpvbmVTaXplOworCisg
ICAgdm9pZCogc3RhY2tMaW1pdDsKKyAgICBpZiAoc3RhY2tQb2ludGVyQXRWTUVudHJ5KSB7Cisg
ICAgICAgIEFTU0VSVCh3dGZUaHJlYWREYXRhKCkuc3RhY2soKS5pc0dyb3dpbmdEb3dud2FyZCgp
KTsKKyAgICAgICAgY2hhciogc3RhcnRPZlN0YWNrID0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4o
c3RhY2tQb2ludGVyQXRWTUVudHJ5KTsKKyAgICAgICAgY2hhciogZGVzaXJlZFN0YWNrTGltaXQg
PSBzdGFydE9mU3RhY2sgLSBPcHRpb25zOjptYXhQZXJUaHJlYWRTdGFja1VzYWdlKCkgKyByZXNl
cnZlZFpvbmVTaXplOworICAgICAgICBzdGFja0xpbWl0ID0gd3RmVGhyZWFkRGF0YSgpLnN0YWNr
KCkucmVjdXJzaW9uTGltaXQocmVzZXJ2ZWRab25lU2l6ZSwgZGVzaXJlZFN0YWNrTGltaXQpOwor
ICAgIH0gZWxzZQorICAgICAgICBzdGFja0xpbWl0ID0gd3RmVGhyZWFkRGF0YSgpLnN0YWNrKCku
cmVjdXJzaW9uTGltaXQocmVzZXJ2ZWRab25lU2l6ZSk7CisKKyAgICBzZXRTdGFja0xpbWl0KHN0
YWNrTGltaXQpOworICAgIHJldHVybiBvbGRSZXNlcnZlZFpvbmVTaXplOworfQorCiB2b2lkIHJl
bGVhc2VFeGVjdXRhYmxlTWVtb3J5KFZNJiB2bSkKIHsKICAgICB2bS5yZWxlYXNlRXhlY3V0YWJs
ZU1lbW9yeSgpOwpAQCAtNzIyLDE2ICs3NzAsMTkgQEAgdm9pZCBWTTo6Z2F0aGVyQ29uc2VydmF0
aXZlUm9vdHMoQ29uc2VydmF0aXZlUm9vdHMmIGNvbnNlcnZhdGl2ZVJvb3RzKQogICAgICAgICB9
CiAgICAgfQogfQorI2VuZGlmCiAKLURGRzo6V29ya2xpc3QqIFZNOjplbnN1cmVXb3JrbGlzdCgp
Cit2b2lkIGxvZ1Nhbml0aXplU3RhY2soVk0qIHZtKQogewotICAgIGlmICghREZHOjplbmFibGVD
b25jdXJyZW50SklUKCkpCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmICghd29ya2xpc3QpCi0g
ICAgICAgIHdvcmtsaXN0ID0gREZHOjpnbG9iYWxXb3JrbGlzdCgpOwotICAgIHJldHVybiB3b3Jr
bGlzdC5nZXQoKTsKKyAgICBpZiAoT3B0aW9uczo6dmVyYm9zZVNhbml0aXplU3RhY2soKSAmJiB2
bS0+dG9wQ2FsbEZyYW1lKSB7CisgICAgICAgIGludCBkdW1teTsKKyAgICAgICAgZGF0YUxvZygK
KyAgICAgICAgICAgICJTYW5pdGl6aW5nIHN0YWNrIHdpdGggdG9wIGNhbGwgZnJhbWUgYXQgIiwg
UmF3UG9pbnRlcih2bS0+dG9wQ2FsbEZyYW1lKSwKKyAgICAgICAgICAgICIsIGN1cnJlbnQgc3Rh
Y2sgcG9pbnRlciBhdCAiLCBSYXdQb2ludGVyKCZkdW1teSksICIsIGluICIsCisgICAgICAgICAg
ICBwb2ludGVyRHVtcCh2bS0+dG9wQ2FsbEZyYW1lLT5jb2RlQmxvY2soKSksICIgYW5kIGxhc3Qg
Y29kZSBvcmlnaW4gPSAiLAorICAgICAgICAgICAgdm0tPnRvcENhbGxGcmFtZS0+Y29kZU9yaWdp
bigpLCAiXG4iKTsKKyAgICB9CiB9Ci0jZW5kaWYKIAogI2lmIEVOQUJMRShSRUdFWFBfVFJBQ0lO
RykKIHZvaWQgVk06OmFkZFJlZ0V4cFRvVHJhY2UoUmVnRXhwKiByZWdFeHApCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uaAppbmRleCA1MGEzMTVlZTQzMzg5OWQwMDAxMDI5ZTgxMDY0NDlkZmJh
ZWJiMDQ3Li44MzZmMmFkNjczMmJmOWVmZGYyMjA0OGNkZmU3NjU2NzI3YzA3NTk0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKQEAgLTY4LDYgKzY4LDcgQEAKIAogbmFtZXNwYWNlIEpT
QyB7CiAKKyAgICBjbGFzcyBBcml0eUNoZWNrRmFpbFJldHVyblRodW5rczsKICAgICBjbGFzcyBD
b2RlQmxvY2s7CiAgICAgY2xhc3MgQ29kZUNhY2hlOwogICAgIGNsYXNzIENvbW1vbklkZW50aWZp
ZXJzOwpAQCAtMTAzLDcgKzEwNCw2IEBAIG5hbWVzcGFjZSBKU0MgewogI2lmIEVOQUJMRShERkdf
SklUKQogICAgIG5hbWVzcGFjZSBERkcgewogICAgIGNsYXNzIExvbmdMaXZlZFN0YXRlOwotICAg
IGNsYXNzIFdvcmtsaXN0OwogICAgIH0KICNlbmRpZiAvLyBFTkFCTEUoREZHX0pJVCkKICNpZiBF
TkFCTEUoRlRMX0pJVCkKQEAgLTExMSw2ICsxMTEsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBj
bGFzcyBUaHVua3M7CiAgICAgfQogI2VuZGlmIC8vIEVOQUJMRShGVExfSklUKQorICAgIG5hbWVz
cGFjZSBDb21tb25TbG93UGF0aHMgeworICAgIHN0cnVjdCBBcml0eUNoZWNrRGF0YTsKKyAgICB9
CiAKICAgICBzdHJ1Y3QgSGFzaFRhYmxlOwogICAgIHN0cnVjdCBJbnN0cnVjdGlvbjsKQEAgLTIw
NCwxMCArMjA3LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgdm9pZCBtYWtlVXNhYmxl
RnJvbU11bHRpcGxlVGhyZWFkcygpIHsgaGVhcC5tYWNoaW5lVGhyZWFkcygpLm1ha2VVc2FibGVG
cm9tTXVsdGlwbGVUaHJlYWRzKCk7IH0KICAgICAgICAgCi0jaWYgRU5BQkxFKERGR19KSVQpCi0g
ICAgICAgIERGRzo6V29ya2xpc3QqIGVuc3VyZVdvcmtsaXN0KCk7Ci0jZW5kaWYgLy8gRU5BQkxF
KERGR19KSVQpCi0KICAgICBwcml2YXRlOgogICAgICAgICBSZWZQdHI8SlNMb2NrPiBtX2FwaUxv
Y2s7CiAKQEAgLTIyNCwxMiArMjIzLDEyIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAKICNp
ZiBFTkFCTEUoREZHX0pJVCkKICAgICAgICAgT3duUHRyPERGRzo6TG9uZ0xpdmVkU3RhdGU+IGRm
Z1N0YXRlOwotICAgICAgICBSZWZQdHI8REZHOjpXb3JrbGlzdD4gd29ya2xpc3Q7CiAjZW5kaWYg
Ly8gRU5BQkxFKERGR19KSVQpCiAKICAgICAgICAgVk1UeXBlIHZtVHlwZTsKICAgICAgICAgQ2xp
ZW50RGF0YSogY2xpZW50RGF0YTsKICAgICAgICAgRXhlY1N0YXRlKiB0b3BDYWxsRnJhbWU7Cisg
ICAgICAgIHZvaWQqIHN0YWNrUG9pbnRlckF0Vk1FbnRyeTsKICAgICAgICAgV2F0Y2hkb2cgd2F0
Y2hkb2c7CiAKICAgICAgICAgY29uc3QgT3duUHRyPGNvbnN0IEhhc2hUYWJsZT4gYXJyYXlDb25z
dHJ1Y3RvclRhYmxlOwpAQCAtMzQxLDcgKzM0MCwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgICAgIHJldHVybiBqaXRTdHVicy0+Y3RpU3R1Yih0aGlzLCBnZW5lcmF0b3IpOwogICAgICAg
ICB9CiAgICAgICAgIE5hdGl2ZUV4ZWN1dGFibGUqIGdldEhvc3RGdW5jdGlvbihOYXRpdmVGdW5j
dGlvbiwgSW50cmluc2ljKTsKLSNlbmRpZgorICAgICAgICAKKyAgICAgICAgc3RkOjp1bmlxdWVf
cHRyPEFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzPiBhcml0eUNoZWNrRmFpbFJldHVyblRodW5r
czsKKyNpZiBDUFUoWDg2KQorICAgICAgICB2b2lkKiBjdXJyZW50UmV0dXJuVGh1bmtQQzsKKyNl
bmRpZiAvLyBDUFUoWDg2KQorI2VuZGlmIC8vIEVOQUJMRShKSVQpCisgICAgICAgIHN0ZDo6dW5p
cXVlX3B0cjxDb21tb25TbG93UGF0aHM6OkFyaXR5Q2hlY2tEYXRhPiBhcml0eUNoZWNrRGF0YTsK
ICNpZiBFTkFCTEUoRlRMX0pJVCkKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEZUTDo6VGh1bmtz
PiBmdGxUaHVua3M7CiAjZW5kaWYKQEAgLTM3MywxMiArMzc4LDE2IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBKU19FWFBPUlRfUFJJVkFURSBKU1ZhbHVlIHRocm93RXhjZXB0aW9uKEV4ZWNT
dGF0ZSosIEpTVmFsdWUpOwogICAgICAgICBKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCogdGhy
b3dFeGNlcHRpb24oRXhlY1N0YXRlKiwgSlNPYmplY3QqKTsKICAgICAgICAgCisgICAgICAgIHNp
emVfdCByZXNlcnZlZFpvbmVTaXplKCkgY29uc3QgeyByZXR1cm4gbV9yZXNlcnZlZFpvbmVTaXpl
OyB9CisgICAgICAgIHNpemVfdCB1cGRhdGVTdGFja0xpbWl0V2l0aFJlc2VydmVkWm9uZVNpemUo
c2l6ZV90IHJlc2VydmVkWm9uZVNpemUpOworCiAgICAgICAgIHZvaWQqKiBhZGRyZXNzT2ZKU1N0
YWNrTGltaXQoKSB7IHJldHVybiAmbV9qc1N0YWNrTGltaXQ7IH0KKyNpZiBFTkFCTEUoTExJTlRf
Q19MT09QKQogICAgICAgICB2b2lkKiBqc1N0YWNrTGltaXQoKSB7IHJldHVybiBtX2pzU3RhY2tM
aW1pdDsgfQogICAgICAgICB2b2lkIHNldEpTU3RhY2tMaW1pdCh2b2lkKiBsaW1pdCkgeyBtX2pz
U3RhY2tMaW1pdCA9IGxpbWl0OyB9Ci0KKyNlbmRpZgogICAgICAgICB2b2lkKiBzdGFja0xpbWl0
KCkgeyByZXR1cm4gbV9zdGFja0xpbWl0OyB9Ci0gICAgICAgIHZvaWQgc2V0U3RhY2tMaW1pdCh2
b2lkKiBsaW1pdCkgeyBtX3N0YWNrTGltaXQgPSBsaW1pdDsgfQorCiAgICAgICAgIGJvb2wgaXNT
YWZlVG9SZWN1cnNlKHNpemVfdCBuZWVkZWRTdGFja0luQnl0ZXMgPSAwKSBjb25zdAogICAgICAg
ICB7CiAgICAgICAgICAgICBBU1NFUlQod3RmVGhyZWFkRGF0YSgpLnN0YWNrKCkuaXNHcm93aW5n
RG93bndhcmQoKSk7CkBAIC0zODcsMTAgKzM5NiwxMiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgICAgIHJldHVybiBjdXJyID49IGxpbWl0ICYmIHN0YXRpY19jYXN0PHNpemVfdD4oY3VyciAt
IGxpbWl0KSA+PSBuZWVkZWRTdGFja0luQnl0ZXM7CiAgICAgICAgIH0KIAorICAgICAgICB2b2lk
KiBsYXN0U3RhY2tUb3AoKSB7IHJldHVybiBtX2xhc3RTdGFja1RvcDsgfQorICAgICAgICB2b2lk
IHNldExhc3RTdGFja1RvcCh2b2lkKiBsYXN0U3RhY2tUb3ApIHsgbV9sYXN0U3RhY2tUb3AgPSBs
YXN0U3RhY2tUb3A7IH0KKwogICAgICAgICBjb25zdCBDbGFzc0luZm8qIGNvbnN0IGpzQXJyYXlD
bGFzc0luZm87CiAgICAgICAgIGNvbnN0IENsYXNzSW5mbyogY29uc3QganNGaW5hbE9iamVjdENs
YXNzSW5mbzsKIAotICAgICAgICBSZXR1cm5BZGRyZXNzUHRyIGV4Y2VwdGlvbkxvY2F0aW9uOwog
ICAgICAgICBKU1ZhbHVlIGhvc3RDYWxsUmV0dXJuVmFsdWU7CiAgICAgICAgIEV4ZWNTdGF0ZSog
bmV3Q2FsbEZyYW1lUmV0dXJuVmFsdWU7CiAgICAgICAgIEV4ZWNTdGF0ZSogY2FsbEZyYW1lRm9y
VGhyb3c7CkBAIC00MTMsNyArNDI0LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICAg
ICAgLy8gbWF4KHNjcmF0Y2ggYnVmZmVyIHNpemUpICogNC4KICAgICAgICAgICAgICAgICBzaXpl
T2ZMYXN0U2NyYXRjaEJ1ZmZlciA9IHNpemUgKiAyOwogCi0gICAgICAgICAgICAgICAgc2NyYXRj
aEJ1ZmZlcnMuYXBwZW5kKFNjcmF0Y2hCdWZmZXI6OmNyZWF0ZShzaXplT2ZMYXN0U2NyYXRjaEJ1
ZmZlcikpOworICAgICAgICAgICAgICAgIFNjcmF0Y2hCdWZmZXIqIG5ld0J1ZmZlciA9IFNjcmF0
Y2hCdWZmZXI6OmNyZWF0ZShzaXplT2ZMYXN0U2NyYXRjaEJ1ZmZlcik7CisgICAgICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQobmV3QnVmZmVyKTsKKyAgICAgICAgICAgICAgICBzY3JhdGNoQnVm
ZmVycy5hcHBlbmQobmV3QnVmZmVyKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgU2Ny
YXRjaEJ1ZmZlciogcmVzdWx0ID0gc2NyYXRjaEJ1ZmZlcnMubGFzdCgpOwpAQCAtNDk1LDYgKzUw
OCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBWTShWTVR5cGUsIEhlYXBUeXBlKTsKICAg
ICAgICAgc3RhdGljIFZNKiYgc2hhcmVkSW5zdGFuY2VJbnRlcm5hbCgpOwogICAgICAgICB2b2lk
IGNyZWF0ZU5hdGl2ZVRodW5rKCk7CisKKyAgICAgICAgdm9pZCBzZXRTdGFja0xpbWl0KHZvaWQq
IGxpbWl0KSB7IG1fc3RhY2tMaW1pdCA9IGxpbWl0OyB9CisKICNpZiBFTkFCTEUoQVNTRU1CTEVS
KQogICAgICAgICBib29sIG1fY2FuVXNlQXNzZW1ibGVyOwogI2VuZGlmCkBAIC01MDcsOCArNTIz
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAjaWYgRU5BQkxFKEdDX1ZBTElEQVRJT04pCiAgICAgICAg
IGNvbnN0IENsYXNzSW5mbyogbV9pbml0aWFsaXppbmdPYmplY3RDbGFzczsKICNlbmRpZgotCi0j
aWYgVVNFKFNFUEFSQVRFX0NfQU5EX0pTX1NUQUNLKQorICAgICAgICBzaXplX3QgbV9yZXNlcnZl
ZFpvbmVTaXplOworI2lmIEVOQUJMRShMTElOVF9DX0xPT1ApCiAgICAgICAgIHN0cnVjdCB7CiAg
ICAgICAgICAgICB2b2lkKiBtX3N0YWNrTGltaXQ7CiAgICAgICAgICAgICB2b2lkKiBtX2pzU3Rh
Y2tMaW1pdDsKQEAgLTUxOSw2ICs1MzUsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAg
IHZvaWQqIG1fanNTdGFja0xpbWl0OwogICAgICAgICB9OwogI2VuZGlmCisgICAgICAgIHZvaWQq
IG1fbGFzdFN0YWNrVG9wOwogICAgICAgICBKU1ZhbHVlIG1fZXhjZXB0aW9uOwogICAgICAgICBi
b29sIG1faW5EZWZpbmVPd25Qcm9wZXJ0eTsKICAgICAgICAgT3duUHRyPENvZGVDYWNoZT4gbV9j
b2RlQ2FjaGU7CkBAIC01NDQsNiArNTYxLDIyIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBy
ZXR1cm4gJm1fdm0tPmhlYXA7CiAgICAgfQogCisjaWYgIUVOQUJMRShMTElOVF9DX0xPT1ApCisg
ICAgZXh0ZXJuICJDIiB2b2lkIHNhbml0aXplU3RhY2tGb3JWTUltcGwoVk0qKTsKKyNlbmRpZgor
CisgICAgdm9pZCBsb2dTYW5pdGl6ZVN0YWNrKFZNKik7CisKKyAgICBBTFdBWVNfSU5MSU5FIHZv
aWQgc2FuaXRpemVTdGFja0ZvclZNKFZNKiB2bSkKKyAgICB7CisgICAgICAgIGxvZ1Nhbml0aXpl
U3RhY2sodm0pOworI2lmIEVOQUJMRShMTElOVF9DX0xPT1ApCisgICAgICAgIHZtLT5pbnRlcnBy
ZXRlci0+c3RhY2soKS5zYW5pdGl6ZVN0YWNrKCk7CisjZWxzZQorICAgICAgICBzYW5pdGl6ZVN0
YWNrRm9yVk1JbXBsKHZtKTsKKyNlbmRpZgorICAgIH0KKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAK
ICNlbmRpZiAvLyBWTV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9WTUVudHJ5U2NvcGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1FbnRy
eVNjb3BlLmNwcAppbmRleCA0Nzc4MmNlM2JjYTNlYWQzZDlhZjRlYjNiNWZhZDViZDViOWFjZmU4
Li44NDkzYzYyYWVhNDAzOGEyNTY3NGFkODRkOTdjMTczMDdiMGQ5YTQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUVudHJ5U2NvcGUuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNRW50cnlTY29wZS5jcHAKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDYgKzI3LDcgQEAK
ICNpbmNsdWRlICJWTUVudHJ5U2NvcGUuaCIKIAogI2luY2x1ZGUgIkRlYnVnZ2VyLmgiCisjaW5j
bHVkZSAiT3B0aW9ucy5oIgogI2luY2x1ZGUgIlZNLmgiCiAjaW5jbHVkZSA8d3RmL1N0YWNrQm91
bmRzLmg+CiAKQEAgLTM0LDEyICszNSwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogVk1FbnRyeVNj
b3BlOjpWTUVudHJ5U2NvcGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQog
ICAgIDogbV92bSh2bSkKLSAgICAsIG1fc3RhY2sod3RmVGhyZWFkRGF0YSgpLnN0YWNrKCkpCiAg
ICAgLCBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCi0gICAgLCBtX3ByZXYodm0uZW50cnlT
Y29wZSkKLSAgICAsIG1fcHJldlN0YWNrTGltaXQodm0uc3RhY2tMaW1pdCgpKQogICAgICwgbV9y
ZWNvbXBpbGF0aW9uTmVlZGVkKGZhbHNlKQogeworICAgIEFTU0VSVCh3dGZUaHJlYWREYXRhKCku
c3RhY2soKS5pc0dyb3dpbmdEb3dud2FyZCgpKTsKICAgICBpZiAoIXZtLmVudHJ5U2NvcGUpIHsK
ICNpZiBFTkFCTEUoQVNTRU1CTEVSKQogICAgICAgICBpZiAoRXhlY3V0YWJsZUFsbG9jYXRvcjo6
dW5kZXJNZW1vcnlQcmVzc3VyZSgpKQpAQCAtNTEsMTcgKzUwLDI0IEBAIFZNRW50cnlTY29wZTo6
Vk1FbnRyeVNjb3BlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAg
ICAgLy8gb2JzZXJ2ZSB0aW1lIHhvbmUgY2hhbmdlcy4KICAgICAgICAgdm0ucmVzZXREYXRlQ2Fj
aGUoKTsKICAgICB9Ci0gICAgLy8gQ2xlYXIgdGhlIGV4Y2VwdGlvbiBzdGFjayBiZXR3ZWVuIGVu
dHJpZXMKLSAgICB2bS5jbGVhckV4Y2VwdGlvblN0YWNrKCk7CiAKLSAgICB2b2lkKiBsaW1pdCA9
IG1fc3RhY2sucmVjdXJzaW9uTGltaXQocmVxdWlyZWRDYXBhY2l0eSgpKTsKLSAgICB2bS5zZXRT
dGFja0xpbWl0KGxpbWl0KTsKKyAgICBpZiAoIXZtLnN0YWNrUG9pbnRlckF0Vk1FbnRyeSkgewor
ICAgICAgICB2bS5zdGFja1BvaW50ZXJBdFZNRW50cnkgPSB0aGlzOworICAgICAgICBtX3NhdmVk
UmVzZXJ2ZWRab25lU2l6ZSA9IHZtLnVwZGF0ZVN0YWNrTGltaXRXaXRoUmVzZXJ2ZWRab25lU2l6
ZShPcHRpb25zOjpyZXNlcnZlZFpvbmVTaXplKCkpOworICAgIH0KKworICAgIC8vIENsZWFyIHRo
ZSBjYXB0dXJlZCBleGNlcHRpb24gc3RhY2sgYmV0d2VlbiBlbnRyaWVzCisgICAgdm0uY2xlYXJF
eGNlcHRpb25TdGFjaygpOwogfQogCiBWTUVudHJ5U2NvcGU6On5WTUVudHJ5U2NvcGUoKQogewot
ICAgIG1fdm0uZW50cnlTY29wZSA9IG1fcHJldjsKLSAgICBtX3ZtLnNldFN0YWNrTGltaXQobV9w
cmV2U3RhY2tMaW1pdCk7CisgICAgaWYgKG1fdm0uZW50cnlTY29wZSA9PSB0aGlzKQorICAgICAg
ICBtX3ZtLmVudHJ5U2NvcGUgPSBudWxscHRyOworICAgIGlmIChtX3ZtLnN0YWNrUG9pbnRlckF0
Vk1FbnRyeSA9PSB0aGlzKSB7CisgICAgICAgIG1fdm0uc3RhY2tQb2ludGVyQXRWTUVudHJ5ID0g
bnVsbHB0cjsKKyAgICAgICAgbV92bS51cGRhdGVTdGFja0xpbWl0V2l0aFJlc2VydmVkWm9uZVNp
emUobV9zYXZlZFJlc2VydmVkWm9uZVNpemUpOworICAgIH0KIAogICAgIGlmIChtX3JlY29tcGls
YXRpb25OZWVkZWQpIHsKICAgICAgICAgaWYgKG1fdm0uZW50cnlTY29wZSkKQEAgLTczLDIzICs3
OSw0IEBAIFZNRW50cnlTY29wZTo6flZNRW50cnlTY29wZSgpCiAgICAgfQogfQogCi1zaXplX3Qg
Vk1FbnRyeVNjb3BlOjpyZXF1aXJlZENhcGFjaXR5KCkgY29uc3QKLXsKLSAgICBJbnRlcnByZXRl
ciogaW50ZXJwcmV0ZXIgPSBtX3ZtLmludGVycHJldGVyOwotCi0gICAgLy8gV2UgcmVxdWlyZSBh
IHNtYWxsZXIgc3RhY2sgYnVkZ2V0IGZvciB0aGUgZXJyb3Igc3RhY2suIFRoaXMgaXMgdG8gYWxs
b3cKLSAgICAvLyBzb21lIG1pbmltYWwgSlMgZXhlY3V0aW9uIHRvIHByb2NlZWQgYW5kIGRvIHRo
ZSB3b3JrIG9mIHRocm93aW5nIGEgc3RhY2sKLSAgICAvLyBvdmVyZmxvdyBlcnJvciBpZiBuZWVk
ZWQuIEluIGNvbnRyYXN0LCBhcmJpdHJhcnkgSlMgY29kZSB3aWxsIHJlcXVpcmUgdGhlCi0gICAg
Ly8gbW9yZSBnZW5lcm91cyBzdGFjayBidWRnZXQgaW4gb3JkZXIgdG8gcHJvY2VlZC4KLSAgICAv
LwotICAgIC8vIFRoZXNlIHNpemVzIHdlcmUgZGVyaXZlZCBmcm9tIHRoZSBzdGFjayB1c2FnZSBv
ZiBhIG51bWJlciBvZiBzaXRlcyB3aGVuCi0gICAgLy8gbGF5b3V0IG9jY3VycyB3aGVuIHdlJ3Zl
IGFscmVhZHkgY29uc3VtZWQgbW9zdCBvZiB0aGUgQyBzdGFjay4KLSAgICBjb25zdCBzaXplX3Qg
cmVxdWlyZWRTdGFjayA9IDEyOCAqIEtCOwotICAgIGNvbnN0IHNpemVfdCBlcnJvck1vZGVSZXF1
aXJlZFN0YWNrID0gNjQgKiBLQjsKLQotICAgIHNpemVfdCByZXF1aXJlZENhcGFjaXR5ID0gaW50
ZXJwcmV0ZXItPmlzSW5FcnJvckhhbmRsaW5nTW9kZSgpID8gZXJyb3JNb2RlUmVxdWlyZWRTdGFj
ayA6IHJlcXVpcmVkU3RhY2s7Ci0gICAgUkVMRUFTRV9BU1NFUlQobV9zdGFjay5zaXplKCkgPj0g
cmVxdWlyZWRDYXBhY2l0eSk7Ci0gICAgcmV0dXJuIHJlcXVpcmVkQ2FwYWNpdHk7Ci19Ci0KIH0g
Ly8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVk1FbnRyeVNjb3BlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUVudHJ5
U2NvcGUuaAppbmRleCBkNWJhODIzZDA0YzIwODdhMGIyODBhODZlZjA1NDYwN2RmNmI2NjFhLi45
YTljY2JmZTQ1YjBiZjhmNWM2ZjVmYjliOTgwYjZjMmIwMGIyN2JjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUVudHJ5U2NvcGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9WTUVudHJ5U2NvcGUuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDUsMTYgKzQ1LDEwIEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldFJlY29tcGlsYXRpb25OZWVkZWQoYm9vbCByZWNvbXBpbGVOZWVkZWQp
IHsgbV9yZWNvbXBpbGF0aW9uTmVlZGVkID0gcmVjb21waWxlTmVlZGVkOyB9CiAKIHByaXZhdGU6
Ci0gICAgc2l6ZV90IHJlcXVpcmVkQ2FwYWNpdHkoKSBjb25zdDsKLQogICAgIFZNJiBtX3ZtOwog
ICAgIFN0YWNrU3RhdHM6OkNoZWNrUG9pbnQgbV9zdGFja0NoZWNrUG9pbnQ7Ci0gICAgU3RhY2tC
b3VuZHMgbV9zdGFjazsKICAgICBKU0dsb2JhbE9iamVjdCogbV9nbG9iYWxPYmplY3Q7Ci0KLSAg
ICAvLyBtX3ByZXYgYW5kIG1fcHJldlN0YWNrTGltaXQgbWF5IGJlbG9uZyB0byBhIGRpZmZlcmVu
dCB0aHJlYWQncyBzdGFjay4KLSAgICBWTUVudHJ5U2NvcGUqIG1fcHJldjsKLSAgICB2b2lkKiBt
X3ByZXZTdGFja0xpbWl0OworICAgIHNpemVfdCBtX3NhdmVkUmVzZXJ2ZWRab25lU2l6ZTsKICAg
ICBib29sIG1fcmVjb21waWxhdGlvbk5lZWRlZDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYWRkLWNvbnN0YW50LW92ZXJmbG93LXJlY292ZXJ5
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hZGQtY29uc3RhbnQtb3Zl
cmZsb3ctcmVjb3ZlcnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjRiYjJjYmUzY2E3Y2Q2ZjIyYzEzZjBkNWZj
MDZiN2NlZTBhNDFkYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYWRkLWNvbnN0YW50LW92ZXJmbG93LXJlY292ZXJ5LmpzCkBAIC0wLDAgKzEs
MTUgQEAKK2Z1bmN0aW9uIGZvbyhhKSB7CisgICAgcmV0dXJuIGEuZiArIDIwMDAwMDAwMDA7Cit9
CisKK25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsK
KyAgICB2YXIgcmVzdWx0ID0gZm9vKHtmOjF9KTsKKyAgICBpZiAocmVzdWx0ICE9IDIwMDAwMDAw
MDEpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30KKwor
dmFyIHJlc3VsdCA9IGZvbyh7ZjoyMDAwMDAwMDAwfSk7CitpZiAocmVzdWx0ICE9IDQwMDAwMDAw
MDApCisgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hZGQtaW50NTItY29uc3RhbnQt
b3ZlcmZsb3ctcmVjb3ZlcnkuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2FkZC1pbnQ1Mi1jb25zdGFudC1vdmVyZmxvdy1yZWNvdmVyeS5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTQ4
ZDM0ZmMxOTBjNTk4NjIwMTRkZTYyNDBlNDhiYTZjZGY2NjFmCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hZGQtaW50NTItY29uc3RhbnQtb3Zl
cmZsb3ctcmVjb3ZlcnkuanMKQEAgLTAsMCArMSwxNSBAQAorZnVuY3Rpb24gZm9vKGEpIHsKKyAg
ICByZXR1cm4gYSAqIDIwOTcxNDQgKyAxMDczNzQ1OTIwOworfQorCitub0lubGluZShmb28pOwor
Citmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZv
bygxMDczNzM2MzgzKTsKKyAgICBpZiAocmVzdWx0ICE9IDIyNTE3ODA4ODY5MzYwNzIpCisgICAg
ICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30KKwordmFyIHJlc3Vs
dCA9IGZvbygxMDczNzQ1OTE5KTsKK2lmIChyZXN1bHQgIT0gMjI1MTgwMDg4NTMwMTI1NikKKyAg
ICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2FkZC1pbnQ1Mi1sYXJnZS1jb25zdGFudC1v
dmVyZmxvdy1yZWNvdmVyeS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YWRkLWludDUyLWxhcmdlLWNvbnN0YW50LW92ZXJmbG93LXJlY292ZXJ5LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmM2NGJjM2ZlNTI5ZWZkYzU5MjIyZDJlMDgzM2RmZmJiMzY5MWNhNWQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2FkZC1pbnQ1Mi1sYXJnZS1j
b25zdGFudC1vdmVyZmxvdy1yZWNvdmVyeS5qcwpAQCAtMCwwICsxLDE1IEBACitmdW5jdGlvbiBm
b28oYSkgeworICAgIHJldHVybiBhICogMjA5NzE0NCArIDEwMDAwMDAwMDAwOworfQorCitub0lu
bGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFy
IHJlc3VsdCA9IGZvbygxMDczNzQxMTUxKTsKKyAgICBpZiAocmVzdWx0ICE9IDIyNTE3OTk4MTIz
NzI3NDQpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30K
KwordmFyIHJlc3VsdCA9IGZvbygxMDczNzQxMTUyKTsKK2lmIChyZXN1bHQgIT0gMjI1MTc5OTgx
NDQ2OTg4OCkKKyAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2FkZC1vdmVyZmxvdy1y
ZWNvdmVyeS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYWRkLW92ZXJm
bG93LXJlY292ZXJ5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlMTcxOGM1YzJiZTBlZGNkZGE2OTk4MGViYjMy
ZmEzMjgzZTQyZTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2FkZC1vdmVyZmxvdy1yZWNvdmVyeS5qcwpAQCAtMCwwICsxLDE1IEBACitmdW5j
dGlvbiBmb28oYSwgYikgeworICAgIHJldHVybiBhLmYgKyBiLmY7Cit9CisKK25vSW5saW5lKGZv
byk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2YXIgcmVzdWx0
ID0gZm9vKHtmOjF9LCB7ZjoyfSk7CisgICAgaWYgKHJlc3VsdCAhPSAzKQorICAgICAgICB0aHJv
dyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKK3ZhciByZXN1bHQgPSBmb28o
e2Y6MjAwMDAwMDAwMH0sIHtmOjIwMDAwMDAwMDB9KTsKK2lmIChyZXN1bHQgIT0gNDAwMDAwMDAw
MCkKKyAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2FkZC1zbWFsbC1jb25zdGFudC1v
dmVyZmxvdy1yZWNvdmVyeS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YWRkLXNtYWxsLWNvbnN0YW50LW92ZXJmbG93LXJlY292ZXJ5LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0ZDlm
MDRmNjhkZTg4ZDhkY2JjYjQ0ZGFkMTlmNTlhZDEyODQ2MzAKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2FkZC1zbWFsbC1jb25zdGFudC1vdmVy
Zmxvdy1yZWNvdmVyeS5qcwpAQCAtMCwwICsxLDE1IEBACitmdW5jdGlvbiBmb28oYSkgeworICAg
IHJldHVybiBhLmYgKyAxMDAwOworfQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0g
MDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbyh7ZjoxfSk7CisgICAg
aWYgKHJlc3VsdCAhPSAxMDAxKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIg
KyByZXN1bHQ7Cit9CisKK3ZhciByZXN1bHQgPSBmb28oe2Y6MjE0NzQ4MzE0OH0pOworaWYgKHJl
c3VsdCAhPSAyMTQ3NDg0MTQ4KQorICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJl
c3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
YXktcHVzaC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyYXktcHVz
aC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wNTYwOTg3YWJlZTE3ZjEzYjMwNTFjOTliNDI0NWJkYTJlNTliMzAy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJheS1wdXNoLmpzCkBAIC0wLDAgKzEsMTggQEAKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICB2YXIg
YXJyYXkgPSBbXTsKKyAgICB2YXIgcmVzdWx0ID0gW107CisgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCA0MjsgKytpKQorICAgICAgICByZXN1bHQucHVzaChhcnJheS5wdXNoKDcgLSBpKSk7CisgICAg
cmV0dXJuIFthcnJheSwgcmVzdWx0XTsKK30KKworbm9JbmxpbmUoZm9vKTsKKworZm9yICh2YXIg
aSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIHZhciByZXN1bHQgPSBmb28oKTsKKyAgICBp
ZiAocmVzdWx0WzBdLnRvU3RyaW5nKCkgIT0gIjcsNiw1LDQsMywyLDEsMCwtMSwtMiwtMywtNCwt
NSwtNiwtNywtOCwtOSwtMTAsLTExLC0xMiwtMTMsLTE0LC0xNSwtMTYsLTE3LC0xOCwtMTksLTIw
LC0yMSwtMjIsLTIzLC0yNCwtMjUsLTI2LC0yNywtMjgsLTI5LC0zMCwtMzEsLTMyLC0zMywtMzQi
KQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCBhcnJheTogIiArIHJlc3VsdFswXTsKKyAgICBp
ZiAocmVzdWx0WzFdLnRvU3RyaW5nKCkgIT0gIjEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEz
LDE0LDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyLDIzLDI0LDI1LDI2LDI3LDI4LDI5LDMwLDMxLDMy
LDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyIikKKyAgICAgICAgdGhyb3cgIkVycm9yOiBi
YWQgYXJyYXk6ICIgKyByZXN1bHRbMV07Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvZW1wdHktZnVuY3Rpb24uanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2VtcHR5LWZ1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxMmU1MTA1
ZWEyMzg1NTdhY2E5NmI3ZWU0ZDRlYjg4YjBkNTU4OGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2VtcHR5LWZ1bmN0aW9uLmpzCkBAIC0wLDAg
KzEsMTAgQEAKK2Z1bmN0aW9uIGZvbygpIHsgfQorCitub0lubGluZShmb28pOworCitmb3IgKHZh
ciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbygpOworICAg
IGlmIChyZXN1bHQgIT09IHZvaWQgMCkKKyAgICAgICAgdGhyb3cgIllvdSBicm9rZSBKU0Mgc28g
aGFyZCB0aGF0IGV2ZW4gdGhlIGVtcHR5IGZ1bmN0aW9uIGRvZXNuJ3Qgd29yazogIiArIHJlc3Vs
dDsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9l
eGl0LWFmdGVyLWludDMyLXRvLWRvdWJsZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvZXhpdC1hZnRlci1pbnQzMi10by1kb3VibGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTgwYzVh
OWI3MmE4ZGIzYzAwY2U4MDRjNDVjOGZiYzk1MDZhOTk3NgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhpdC1hZnRlci1pbnQzMi10by1kb3Vi
bGUuanMKQEAgLTAsMCArMSwxNSBAQAorZnVuY3Rpb24gZm9vKHgsIG8pIHsKKyAgICByZXR1cm4g
by5mICsgeDsKK30KKworbm9JbmxpbmUoZm9vKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAw
MDA7ICsraSkgeworICAgIHZhciByZXN1bHQgPSBmb28oNDIuNSwge2Y6NX0pOworICAgIGlmIChy
ZXN1bHQgIT0gNDcuNSkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVz
dWx0OworfQorCit2YXIgcmVzdWx0ID0gZm9vKCI0MiIsIHtmOjV9KTsKK2lmIChyZXN1bHQgIT0g
IjU0MiIpCisgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9leGl0LWFmdGVyLWludDUy
LXRvLWRvdWJsZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhpdC1h
ZnRlci1pbnQ1Mi10by1kb3VibGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDZiYWIzYjFkYWMxNWY2OGQyM2E0
NzIyOWZiYmI3MWE2YzZmYTk4NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvZXhpdC1hZnRlci1pbnQ1Mi10by1kb3VibGUuanMKQEAgLTAsMCAr
MSwxNiBAQAorZnVuY3Rpb24gZm9vKGEsIGIsIGMpIHsKKyAgICByZXR1cm4gYS5mICsgYi5mICsg
Yy5mOworfQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsg
KytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbyh7ZjoyMDAwMDAwMDAwfSwge2Y6MjAwMDAwMDAw
MH0sIHtmOjAuNX0pOworICAgIGlmIChyZXN1bHQgIT0gNDAwMDAwMDAwMC41KQorICAgICAgICB0
aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKK3ZhciByZXN1bHQgPSBm
b28oe2Y6MjAwMDAwMDAwMH0sIHtmOjIwMDAwMDAwMDB9LCB7ZjoiNDIifSk7CitpZiAocmVzdWx0
ICE9ICI0MDAwMDAwMDAwNDIiKQorICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJl
c3VsdDsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9l
eGl0LWFmdGVyLWludDUyLXRvLXZhbHVlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9leGl0LWFmdGVyLWludDUyLXRvLXZhbHVlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyZWQxZjg1
MzUwMjUwNjE4MDY2ZmJhYjI5Mzk5NGE0MjJmZTkwNTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4aXQtYWZ0ZXItaW50NTItdG8tdmFsdWUu
anMKQEAgLTAsMCArMSwyNSBAQAorZnVuY3Rpb24gZm9vKGEsIGIsIGMpIHsKKyAgICBjLmYuZiA9
IGEuZiArIGIuZjsKK30KKworbm9JbmxpbmUoZm9vKTsKKwordmFyIGNvdW50ZXIgPSAwOworZnVu
Y3Rpb24gbWFrZVdlaXJkT2JqZWN0KCkgeworICAgIHZhciByZXN1bHQgPSB7fTsKKyAgICByZXN1
bHRbImJsYWgiICsgKGNvdW50ZXIrKyldID0gNDI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwor
Zm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIHZhciBvID0gbWFrZVdlaXJk
T2JqZWN0KCk7CisgICAgZm9vKHtmOjIwMDAwMDAwMDB9LCB7ZjoyMDAwMDAwMDAwfSwge2Y6b30p
OworICAgIGlmIChvLmYgIT0gNDAwMDAwMDAwMCkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQg
cmVzdWx0OiAiICsgcmVzdWx0OworfQorCit2YXIgdGhpbmd5OworTnVtYmVyLnByb3RvdHlwZS5f
X2RlZmluZVNldHRlcl9fKCJmIiwgZnVuY3Rpb24odmFsdWUpIHsgdGhpbmd5ID0gdmFsdWU7IH0p
OworZm9vKHtmOjIwMDAwMDAwMDB9LCB7ZjoyMDAwMDAwMDAwfSwge2Y6NDJ9KTsKK2lmICh0aGlu
Z3kgIT0gNDAwMDAwMDAwMCkKKyAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyB0aGlu
Z3k7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4aXQt
YWZ0ZXItbGx2bS1mb2xkcy1sYXJnZS1pbnQtY29uc3RhbnQuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2V4aXQtYWZ0ZXItbGx2bS1mb2xkcy1sYXJnZS1pbnQtY29uc3Rh
bnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDhkMzVmZTViZDMwYTA0OWQ2NjkxMDgzZDNhOWNhMWJjMzE0MDFh
NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
ZXhpdC1hZnRlci1sbHZtLWZvbGRzLWxhcmdlLWludC1jb25zdGFudC5qcwpAQCAtMCwwICsxLDE4
IEBACitmdW5jdGlvbiBmb28obywgaW8pIHsKKyAgICB2YXIgaSA9IGlvLmY7CisgICAgaWYgKGkg
IT0gOTIxNjApCisgICAgICAgIG8uZyA9IDQyOworICAgIHJldHVybiBvLmYuZiArIGk7Cit9CisK
K25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAg
ICB2YXIgcmVzdWx0ID0gZm9vKHtmOntmOjQyfX0sIHtmOjkyMTYwfSk7CisgICAgaWYgKHJlc3Vs
dCAhPSA5MjIwMikKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0
OworfQorCit2YXIgcmVzdWx0ID0gZm9vKHtmOntnOjIwLCBmOjIxfX0sIHtmOjkyMTYwfSk7Citp
ZiAocmVzdWx0ICE9IDkyMTgxKQorICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJl
c3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhp
dC1mcm9tLWZ0bC13aXRoLWFyaXR5LWNoZWNrLWZhaWwuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2V4aXQtZnJvbS1mdGwtd2l0aC1hcml0eS1jaGVjay1mYWlsLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjZiZTNiMjEwYTAxZTAwNTZlN2E2ZDRlY2MxMTlmZWY3Y2VkZDI5ZWYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4aXQtZnJv
bS1mdGwtd2l0aC1hcml0eS1jaGVjay1mYWlsLmpzCkBAIC0wLDAgKzEsMTggQEAKK2Z1bmN0aW9u
IGZvbyhvLCBhLCBiLCBjLCBkLCBlLCBmLCBnLCBoLCBpLCBqKSB7CisgICAgcmV0dXJuIG8uZjsK
K30KKworZnVuY3Rpb24gYmFyKG8pIHsKKyAgICByZXR1cm4gZm9vKG8pOworfQorCitub0lubGlu
ZShmb28pOworbm9JbmxpbmUoYmFyKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsr
aSkKKyAgICBiYXIoe2Y6NDJ9KTsKKwordmFyIHJlc3VsdCA9IGJhcih7ZzoyNCwgZjo0M30pOwor
aWYgKHJlc3VsdCAhPSA0MykKKyAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1
bHQ7CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRs
LWFyaXRoY29zLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9mdGwtYXJp
dGhjb3MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzhhMWY1ZmMzMDJmMjJiYzZjNjdiYjJkZmFmMjg1NGRhNmY0
YTM0NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvZnRsLWFyaXRoY29zLmpzCkBAIC0wLDAgKzEsMTMgQEAKK2Z1bmN0aW9uIGZvbyh4KSB7Cisg
ICAgcmV0dXJuIE1hdGguY29zKHgpOworfQorCitub0lubGluZShmb28pOworCit2YXIgaiA9IDA7
Citmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKQorICAgIGogPSBmb28oaSk7CisKK2lm
ICgtMC41MDk4NzUzNzI0MTc5MDA5ICE9IGopeworICAgIHRocm93ICJFcnJvciIKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLWFyaXRoc2luLmpz
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9mdGwtYXJpdGhzaW4uanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjU1OWY0ZDQ5MDUxOWQyNzcxOWQ1YjQzOTMwMThhOTQ4NDVhOTUyNgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLWFyaXRo
c2luLmpzCkBAIC0wLDAgKzEsMTMgQEAKK2Z1bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0dXJuIE1h
dGguc2luKHgpOworfQorCitub0lubGluZShmb28pOworCit2YXIgaiA9IDA7Citmb3IgKHZhciBp
ID0gMDsgaSA8IDEwMDAwMDsgKytpKQorICAgIGogPSBmb28oaSk7CisKK2lmICgwLjg2MDI0ODI4
MDc4OTc0MiAhPSBqKXsKKyAgICB0aHJvdyAiRXJyb3IiCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Z0bC1hcml0aHNxcnQuanMgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Z0bC1hcml0aHNxcnQuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGJl
MDFjZTRiNzBlMjQwNTgwMDU0N2ZlZTZiMDFkNzE2MjcyN2NjMgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLWFyaXRoc3FydC5qcwpAQCAt
MCwwICsxLDEzIEBACitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiBNYXRoLnNxcnQoeCk7
Cit9CisKK25vSW5saW5lKGZvbyk7CisKK3ZhciBqID0gMDsKK2ZvciAodmFyIGkgPSAwOyBpIDwg
MTAwMDAwOyArK2kpCisgICAgaiA9IGZvbyhpKTsKKworaWYgKCAzMTYuMjI2MTg0ODc0MDU1ICE9
IGopeworICAgIHRocm93ICJFcnJvciIKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvZnRsLXB1dGJ5aWQuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Z0bC1wdXRieWlkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkZmQ5ZTRiZTY5ZjY1Yjk1
MjU2ZTBkMDM2MWMyOTY0NGQ1Mzk1NmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Z0bC1wdXRieWlkLmpzCkBAIC0wLDAgKzEsMTMgQEAKKwor
T2JqZWN0LnByb3RvdHlwZS5fX2RlZmluZVNldHRlcl9fKCJyIiwgZnVuY3Rpb24odmFsKXsgbyA9
IHZhbCB9KQorCitmdW5jdGlvbiBmb28oeCl7CisgICAgdmFyIG4gPSB7IH0KKyAgICBuLnIgPSB4
OworfQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytp
KQorICAgIGZvbyhpKTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9mdGwtcHV0YnlpZGRpcmVjdC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvZnRsLXB1dGJ5aWRkaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjUwYWQwZGNiMjZkNDFh
ZjdhYmQ5ZTY3MWY3NDNhOTNiOGRmYjNmNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLXB1dGJ5aWRkaXJlY3QuanMKQEAgLTAsMCArMSwx
MiBAQAorZnVuY3Rpb24gZm9vKHgpeworICAgIHJldHVybiB7IDAgOiAxICwgYSA6IHggfQorfQor
Citub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKQorICAg
IG8gPSBmb28oaSk7CisKK2lmIChvLmEgIT0gOTk5OTkgfHwgb1swXSAhPSAxKQorICAgIHRocm93
ICJFcnJvciIKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9nZXQtYnktaWQtdGhyb3ctZnJvbS1nZXR0ZXItdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS5qcyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2V0LWJ5LWlkLXRocm93LWZyb20t
Z2V0dGVyLXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWIzMDFkNzY5ZGQ3
NmZhZWQwNWFlZjYzZDc4YzA5OGJkYzE1YTY5ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2V0LWJ5LWlkLXRocm93LWZyb20tZ2V0dGVyLXRo
cm91Z2gtb3B0aW1pemVkLWNvZGUuanMKQEAgLTAsMCArMSwzNyBAQAorZnVuY3Rpb24gZm9vKG8p
IHsKKyAgICByZXR1cm4gby5mICsgMTsKK30KKworbm9JbmxpbmUoZm9vKTsKKwordmFyIHNob3Vs
ZFRocm93ID0gZmFsc2U7CisKK2Z1bmN0aW9uIG1ha2VXaXRoR2V0dGVyKCkgeworICAgIHZhciBv
ID0ge307CisgICAgby5fX2RlZmluZUdldHRlcl9fKCJmIiwgZnVuY3Rpb24oKSB7CisgICAgICAg
IGlmIChzaG91bGRUaHJvdykKKyAgICAgICAgICAgIHRocm93ICJoZWxsbyI7CisgICAgICAgIHJl
dHVybiA0MjsKKyAgICB9KTsKKyAgICByZXR1cm4gbzsKK30KKworZm9yICh2YXIgaSA9IDA7IGkg
PCAxMDAwMDA7ICsraSkgeworICAgIHZhciByZXN1bHQgPSBmb28oe2Y6MjN9KTsKKyAgICBpZiAo
cmVzdWx0ICE9IDI0KQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1
bHQ7CisgICAgcmVzdWx0ID0gZm9vKG1ha2VXaXRoR2V0dGVyKCkpOworICAgIGlmIChyZXN1bHQg
IT0gNDMpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30K
KwordmFyIGRpZFRocm93OwordHJ5IHsKKyAgICBzaG91bGRUaHJvdyA9IHRydWU7CisgICAgZm9v
KG1ha2VXaXRoR2V0dGVyKCkpOworfSBjYXRjaCAoZSkgeworICAgIGRpZFRocm93ID0gZTsKK30K
KworaWYgKGRpZFRocm93ICE9ICJoZWxsbyIpCisgICAgdGhyb3cgIkVycm9yOiBkaWRuJ3QgdGhy
b3cgb3IgdGhyZXcgd3JvbmcgZXhjZXB0aW9uOiAiICsgZGlkVGhyb3c7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2dldC1ieS1pZC10aHJvdy1mcm9tLXVu
ZXhwZWN0ZWQtZ2V0dGVyLXRocm91Z2gtb3B0aW1pemVkLWNvZGUtdGhhdC1kb2VzLW5vdC1leGl0
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9nZXQtYnktaWQtdGhyb3ct
ZnJvbS11bmV4cGVjdGVkLWdldHRlci10aHJvdWdoLW9wdGltaXplZC1jb2RlLXRoYXQtZG9lcy1u
b3QtZXhpdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMTRkMGNlYjZlY2IwYWI5N2ZmMDk3MWQwNGFjZTYxOTNi
M2UwNGI0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9nZXQtYnktaWQtdGhyb3ctZnJvbS11bmV4cGVjdGVkLWdldHRlci10aHJvdWdoLW9wdGlt
aXplZC1jb2RlLXRoYXQtZG9lcy1ub3QtZXhpdC5qcwpAQCAtMCwwICsxLDM1IEBACitmdW5jdGlv
biBmb28obykgeworICAgIHJldHVybiBvLmY7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2Z1bmN0
aW9uIG1ha2VXaXRoR2V0dGVyKCkgeworICAgIHZhciBvID0ge307CisgICAgby5fX2RlZmluZUdl
dHRlcl9fKCJmIiwgZnVuY3Rpb24oKSB7CisgICAgICAgIHRocm93ICJoZWxsbyI7CisgICAgfSk7
CisgICAgcmV0dXJuIG87Cit9CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsK
KyAgICB2YXIgcmVzdWx0ID0gZm9vKHtmOjIzfSk7CisgICAgaWYgKHJlc3VsdCAhPSAyMykKKyAg
ICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgIHJlc3VsdCA9
IGZvbyh7ZzoxMiwgZjoxM30pOworICAgIGlmIChyZXN1bHQgIT0gMTMpCisgICAgICAgIHRocm93
ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICByZXN1bHQgPSBmb28oe2c6MTIs
IGg6MTMsIGY6MTR9KTsKKyAgICBpZiAocmVzdWx0ICE9IDE0KQorICAgICAgICB0aHJvdyAiRXJy
b3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKK3ZhciBkaWRUaHJvdzsKK3RyeSB7Cisg
ICAgZm9vKG1ha2VXaXRoR2V0dGVyKCkpOworfSBjYXRjaCAoZSkgeworICAgIGRpZFRocm93ID0g
ZTsKK30KKworaWYgKGRpZFRocm93ICE9ICJoZWxsbyIpCisgICAgdGhyb3cgIkVycm9yOiBkaWRu
J3QgdGhyb3cgb3IgdGhyZXcgd3JvbmcgZXhjZXB0aW9uOiAiICsgZGlkVGhyb3c7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2dldC1ieS1pZC10aHJvdy1m
cm9tLXVuZXhwZWN0ZWQtZ2V0dGVyLXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2dldC1ieS1pZC10aHJvdy1mcm9tLXVuZXhwZWN0
ZWQtZ2V0dGVyLXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWVmNzcyNmE0
ODk4ZTU3NjQxYzJhZTNjMWUwYjAxNTdiZmZmMWFkMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2V0LWJ5LWlkLXRocm93LWZyb20tdW5leHBl
Y3RlZC1nZXR0ZXItdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS5qcwpAQCAtMCwwICsxLDM1IEBACitm
dW5jdGlvbiBmb28obykgeworICAgIHJldHVybiBvLmYgKyAxOworfQorCitub0lubGluZShmb28p
OworCitmdW5jdGlvbiBtYWtlV2l0aEdldHRlcigpIHsKKyAgICB2YXIgbyA9IHt9OworICAgIG8u
X19kZWZpbmVHZXR0ZXJfXygiZiIsIGZ1bmN0aW9uKCkgeworICAgICAgICB0aHJvdyAiaGVsbG8i
OworICAgIH0pOworICAgIHJldHVybiBvOworfQorCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAw
MDsgKytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbyh7ZjoyM30pOworICAgIGlmIChyZXN1bHQg
IT0gMjQpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAg
ICByZXN1bHQgPSBmb28oe2c6MTIsIGY6MTN9KTsKKyAgICBpZiAocmVzdWx0ICE9IDE0KQorICAg
ICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgcmVzdWx0ID0g
Zm9vKHtnOjEyLCBoOjEzLCBmOjE0fSk7CisgICAgaWYgKHJlc3VsdCAhPSAxNSkKKyAgICAgICAg
dGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworfQorCit2YXIgZGlkVGhyb3c7
Cit0cnkgeworICAgIGZvbyhtYWtlV2l0aEdldHRlcigpKTsKK30gY2F0Y2ggKGUpIHsKKyAgICBk
aWRUaHJvdyA9IGU7Cit9CisKK2lmIChkaWRUaHJvdyAhPSAiaGVsbG8iKQorICAgIHRocm93ICJF
cnJvcjogZGlkbid0IHRocm93IG9yIHRocmV3IHdyb25nIGV4Y2VwdGlvbjogIiArIGRpZFRocm93
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9pYy10aHJv
dy10aHJvdWdoLW9wdGltaXplZC1jb2RlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9pYy10aHJvdy10aHJvdWdoLW9wdGltaXplZC1jb2RlLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2
NDA0MjY0YTQwMzY5MGZiNTk5ZjE2MDliMDliZTliNTNiMzQwNWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2ljLXRocm93LXRocm91Z2gtb3B0
aW1pemVkLWNvZGUuanMKQEAgLTAsMCArMSwyOSBAQAorZnVuY3Rpb24gZm9vKG8pIHsKKyAgICBy
ZXR1cm4gby5mICsgMTsKK30KKworTnVtYmVyLnByb3RvdHlwZS5mID0gNDI7CisKK25vSW5saW5l
KGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2YXIgcmVz
dWx0ID0gZm9vKDIzKTsKKyAgICBpZiAocmVzdWx0ICE9IDQzKQorICAgICAgICB0aHJvdyAiRXJy
b3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgcmVzdWx0ID0gZm9vKHtmOjI1fSk7Cisg
ICAgaWYgKHJlc3VsdCAhPSAyNikKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAi
ICsgcmVzdWx0OworICAgIHJlc3VsdCA9IGZvbyh7ZzoxMiwgZjoxM30pOworICAgIGlmIChyZXN1
bHQgIT0gMTQpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsK
K30KKwordmFyIGRpZFRocm93OwordHJ5IHsKKyAgICBmb28odm9pZCAwKTsKK30gY2F0Y2ggKGUp
IHsKKyAgICBkaWRUaHJvdyA9IGU7Cit9CisKK2lmICghZGlkVGhyb3cgfHwgZGlkVGhyb3cudG9T
dHJpbmcoKS5pbmRleE9mKCJUeXBlRXJyb3I6IikgIT0gMCkKKyAgICB0aHJvdyAiRXJyb3I6IGRp
ZG4ndCB0aHJvdyBvciB0aHJldyB3cm9uZyBleGNlcHRpb246ICIgKyBkaWRUaHJvdzsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvaW5saW5lLWNhbGwtdmFy
YXJncy1hbmQtY2FsbC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvaW5s
aW5lLWNhbGwtdmFyYXJncy1hbmQtY2FsbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMDAxZDI1NjAwZGU0NTVk
OTIyMzY2NjJmMTZmZjY2MjAwYzI0ZTQwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9pbmxpbmUtY2FsbC12YXJhcmdzLWFuZC1jYWxsLmpzCkBA
IC0wLDAgKzEsMjUgQEAKK2Z1bmN0aW9uIGZvbyhhLCBiKSB7CisgICAgcmV0dXJuIGJhcihhLCBi
KTsKK30KKworZnVuY3Rpb24gYmFyKGEsIGIpIHsKKyAgICB2YXIgeCA9IGJhei5hcHBseShudWxs
LCBhcmd1bWVudHMpOworICAgIHZhciB5ID0gYmF6KGEsIGIpCisgICAgcmV0dXJuIHggKyB5ICog
MzsKK30KKworZnVuY3Rpb24gYmF6KGEsIGIpIHsKKyAgICByZXR1cm4gYSArIGIgKiAyOworfQor
Citub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7Cisg
ICAgdmFyIHJlc3VsdCA9IGZvbyg3LCAxMSk7CisgICAgaWYgKHJlc3VsdCAhPSAxMTYpCisgICAg
ICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30KKwordmFyIHJlc3Vs
dCA9IGZvbyg1LCAyMTQ3NDgzNjQ2KTsKK2lmIChyZXN1bHQgIT0gMTcxNzk4NjkxODgpCisgICAg
dGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9pbmxpbmUtY2FsbC12YXJhcmdzLmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9pbmxpbmUtY2FsbC12YXJhcmdzLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFlN2E1NDUwOWE3MjkyMjk1MDljOWNmYjExZGFhMDFkYjM3NDFhNmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2lubGluZS1j
YWxsLXZhcmFyZ3MuanMKQEAgLTAsMCArMSwyMyBAQAorZnVuY3Rpb24gZm9vKGEsIGIpIHsKKyAg
ICByZXR1cm4gYmFyKGEsIGIpOworfQorCitmdW5jdGlvbiBiYXIoYSwgYikgeworICAgIHJldHVy
biBiYXouYXBwbHkobnVsbCwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gYmF6KGEsIGIpIHsK
KyAgICByZXR1cm4gYSArIGIgKiAyOworfQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBp
ID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbyg3LCAxMSk7Cisg
ICAgaWYgKHJlc3VsdCAhPSAyOSkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAi
ICsgcmVzdWx0OworfQorCit2YXIgcmVzdWx0ID0gZm9vKDUsIDIxNDc0ODM2NDYpOworaWYgKHJl
c3VsdCAhPSA0Mjk0OTY3Mjk3KQorICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJl
c3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvaW5s
aW5lLWNsb3N1cmUtY2FsbC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
aW5saW5lLWNsb3N1cmUtY2FsbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZDlhNjE0ZGZhNGVjOGYzNDZhMjAw
MTJhNjBiZGU4OThkYmFhYjBiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9pbmxpbmUtY2xvc3VyZS1jYWxsLmpzCkBAIC0wLDAgKzEsMTYgQEAK
K2Z1bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0dXJuIGZ1bmN0aW9uKHkpIHsgcmV0dXJuIHggKyB5
OyB9Cit9CisKK2Z1bmN0aW9uIGJhcihhLCBiKSB7CisgICAgcmV0dXJuIGZvbyhhKShiKTsKK30K
Kworbm9JbmxpbmUoZm9vKTsKK25vSW5saW5lKGJhcik7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwg
MTAwMDAwOyArK2kpIHsKKyAgICB2YXIgcmVzdWx0ID0gYmFyKGksIGkgKyAxKTsKKyAgICBpZiAo
cmVzdWx0ICE9IGkgKiAyICsgMSkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0IGZv
ciAiICsgaSArICI6ICIgKyByZXN1bHQ7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2ludDE2LXB1dC1ieS12YWwtaW4tYW5kLW91dC1vZi1ib3VuZHMu
anMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2ludDE2LXB1dC1ieS12YWwt
aW4tYW5kLW91dC1vZi1ib3VuZHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTcwZjg1ZWZhNzdhZTY0NjM2NjVh
ZDM1NjVhNzk4ZjhhZmRlZGE3ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvaW50MTYtcHV0LWJ5LXZhbC1pbi1hbmQtb3V0LW9mLWJvdW5kcy5q
cwpAQCAtMCwwICsxLDE4IEBACitmdW5jdGlvbiBmb28oYSkgeworICAgIGFbNDJdID0gOTUwMTA7
Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2Z1bmN0aW9uIHRlc3QobGVuZ3RoLCBleHBlY3RlZCkg
eworICAgIHZhciBhID0gbmV3IEludDE2QXJyYXkobGVuZ3RoKTsKKyAgICBmb28oYSk7CisgICAg
dmFyIHJlc3VsdCA9IGFbNDJdOworICAgIGlmIChyZXN1bHQgIT0gZXhwZWN0ZWQpCisgICAgICAg
IHRocm93ICJFcnJvcjogYmFkIHZhbHVlIGF0IGFbNDJdOiAiICsgcmVzdWx0OworfQorCitmb3Ig
KHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdGVzdCgxMCwgdm9pZCAwKTsKKyAg
ICB0ZXN0KDEwMCwgMjk0NzQpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9pbnQxNi1wdXQtYnktdmFsLWluLWJvdW5kcy10aGVuLWV4aXQtb3V0LW9m
LWJvdW5kcy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvaW50MTYtcHV0
LWJ5LXZhbC1pbi1ib3VuZHMtdGhlbi1leGl0LW91dC1vZi1ib3VuZHMuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGVkNzQ2MmE0MzIzMjdiZDIzOGQzOWU5M2IzOGY4NTM0NjkxNTQ2MwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvaW50MTYtcHV0LWJ5LXZhbC1p
bi1ib3VuZHMtdGhlbi1leGl0LW91dC1vZi1ib3VuZHMuanMKQEAgLTAsMCArMSwxOSBAQAorZnVu
Y3Rpb24gZm9vKGEpIHsKKyAgICBhWzQyXSA9IDk1MDEwOworfQorCitub0lubGluZShmb28pOwor
CitmdW5jdGlvbiB0ZXN0KGxlbmd0aCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgYSA9IG5ldyBJbnQx
NkFycmF5KGxlbmd0aCk7CisgICAgZm9vKGEpOworICAgIHZhciByZXN1bHQgPSBhWzQyXTsKKyAg
ICBpZiAocmVzdWx0ICE9IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCB2YWx1
ZSBhdCBhWzQyXTogIiArIHJlc3VsdDsKK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7
ICsraSkKKyAgICB0ZXN0KDEwMCwgMjk0NzQpOworCit0ZXN0KDEwLCB2b2lkIDApOworCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2ludDE2LXB1dC1ieS12
YWwtb3V0LW9mLWJvdW5kcy1ib3VuZHMtdGhlbi1kby1pbi1ib3VuZHMuanMgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2ludDE2LXB1dC1ieS12YWwtb3V0LW9mLWJvdW5kcy1i
b3VuZHMtdGhlbi1kby1pbi1ib3VuZHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2JiOTY0Y2EwNzM2ZDNhNjA0
MjYxNTM3MDVkNWNlYTMxZDE3ODE3NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvaW50MTYtcHV0LWJ5LXZhbC1vdXQtb2YtYm91bmRzLWJvdW5k
cy10aGVuLWRvLWluLWJvdW5kcy5qcwpAQCAtMCwwICsxLDE5IEBACitmdW5jdGlvbiBmb28oYSkg
eworICAgIGFbNDJdID0gOTUwMTA7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2Z1bmN0aW9uIHRl
c3QobGVuZ3RoLCBleHBlY3RlZCkgeworICAgIHZhciBhID0gbmV3IEludDE2QXJyYXkobGVuZ3Ro
KTsKKyAgICBmb28oYSk7CisgICAgdmFyIHJlc3VsdCA9IGFbNDJdOworICAgIGlmIChyZXN1bHQg
IT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHZhbHVlIGF0IGFbNDJdOiAi
ICsgcmVzdWx0OworfQorCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKQorICAgIHRl
c3QoMTAsIHZvaWQgMCk7CisKK3Rlc3QoMTAwLCAyOTQ3NCk7CisKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvaW52YWxpZGF0aW9uLXBvaW50LmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9pbnZhbGlkYXRpb24tcG9pbnQuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNmY4YjU1YzdjNjNiZWZiZjNjNjllOGE5ZDhjMjY1ZjVlMjA0YTdiYgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvaW52YWxpZGF0
aW9uLXBvaW50LmpzCkBAIC0wLDAgKzEsMjQgQEAKK2Z1bmN0aW9uIGZvbyhvLCBwKSB7CisgICAg
cG9zc2libHlEb0JhZFRoaW5ncyhwKTsKKyAgICByZXR1cm4gby5mKCk7Cit9Citub0lubGluZShm
b28pOworCitmdW5jdGlvbiBUaGluZ3koKSB7IH0KK1RoaW5neS5wcm90b3R5cGUuZiA9IGZ1bmN0
aW9uKCkgeyByZXR1cm4gNDI7IH0KKworZnVuY3Rpb24gcG9zc2libHlEb0JhZFRoaW5ncyhwKSB7
CisgICAgaWYgKHApCisgICAgICAgIFRoaW5neS5wcm90b3R5cGUuZiA9IGZ1bmN0aW9uKCkgeyBy
ZXR1cm4gMjQ7IH0KK30KK25vSW5saW5lKHBvc3NpYmx5RG9CYWRUaGluZ3MpOworCitmb3IgKHZh
ciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbyhuZXcgVGhp
bmd5KCksIGZhbHNlKTsKKyAgICBpZiAocmVzdWx0ICE9IDQyKQorICAgICAgICB0aHJvdyAiRXJy
b3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKK3ZhciByZXN1bHQgPSBmb28obmV3IFRo
aW5neSgpLCB0cnVlKTsKK2lmIChyZXN1bHQgIT0gMjQpCisgICAgdGhyb3cgIkVycm9yOiBiYWQg
cmVzdWx0OiAiICsgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9tYWtlLXJvcGUtMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvbWFrZS1yb3BlLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjJhMjNhYjU1ODMwYmVlMTViZGQ5NDRj
YzJkMWU4ODYyNTZjMWNhMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvbWFrZS1yb3BlLTIuanMKQEAgLTAsMCArMSwxNiBAQAorZnVuY3Rpb24g
Zm9vKHgpIHsKKyAgICByZXR1cm4gImhlbGxvIiArIHg7Cit9CisKK25vSW5saW5lKGZvbyk7CisK
K2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2YXIgcmVzdWx0ID0gZm9v
KCIgd29ybGQiKTsKKyAgICBpZiAodHlwZW9mIHJlc3VsdCAhPSAic3RyaW5nIikgeworICAgICAg
ICBkZXNjcmliZShyZXN1bHQpOworICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQgdHlw
ZTogIiArIHJlc3VsdDsKKyAgICB9CisgICAgaWYgKHJlc3VsdCAhPSAiaGVsbG8gd29ybGQiKQor
ICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbWFrZS1yb3BlLTMuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL21ha2Utcm9wZS0zLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjNhODUyY2MzNzFhYmU0ODM4NmEyMDBjMGM1NjdjMzVjMmFjYWVjOGQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL21ha2Utcm9wZS0z
LmpzCkBAIC0wLDAgKzEsMTYgQEAKK2Z1bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0dXJuICJoZWxs
byIgKyB4ICsgIiEhIjsKK30KKworbm9JbmxpbmUoZm9vKTsKKworZm9yICh2YXIgaSA9IDA7IGkg
PCAxMDAwMDA7ICsraSkgeworICAgIHZhciByZXN1bHQgPSBmb28oIiB3b3JsZCIpOworICAgIGlm
ICh0eXBlb2YgcmVzdWx0ICE9ICJzdHJpbmciKSB7CisgICAgICAgIGRlc2NyaWJlKHJlc3VsdCk7
CisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdCB0eXBlOiAiICsgcmVzdWx0OworICAg
IH0KKyAgICBpZiAocmVzdWx0ICE9ICJoZWxsbyB3b3JsZCEhIikKKyAgICAgICAgdGhyb3cgIkVy
cm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL25ldy1hcnJheS1zdG9yYWdlLWFycmF5LXdpdGgtc2l6
ZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbmV3LWFycmF5LXN0b3Jh
Z2UtYXJyYXktd2l0aC1zaXplLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkNjFiZTk1NmFjNTVhYWYxMjBhOWQ4
NGFlYzRiNmVhOTJlYTNjMmMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL25ldy1hcnJheS1zdG9yYWdlLWFycmF5LXdpdGgtc2l6ZS5qcwpAQCAt
MCwwICsxLDIzIEBACitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiBuZXcgQXJyYXkoeCk7
Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2Z1bmN0aW9uIHRlc3Qoc2l6ZSkgeworICAgIHZhciBy
ZXN1bHQgPSBmb28oc2l6ZSk7CisgICAgaWYgKHJlc3VsdC5sZW5ndGggIT0gc2l6ZSkKKyAgICAg
ICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgIHZhciBzYXdUaGlu
Z3MgPSBmYWxzZTsKKyAgICBmb3IgKHZhciBzIGluIHJlc3VsdCkKKyAgICAgICAgc2F3VGhpbmdz
ID0gdHJ1ZTsKKyAgICBpZiAoc2F3VGhpbmdzKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGFycmF5
IGlzIGluIGJhZCBzdGF0ZTogIiArIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAiNDIuNSI7Cisg
ICAgaWYgKHJlc3VsdFswXSAhPSAiNDIuNSIpCisgICAgICAgIHRocm93ICJFcnJvcjogYXJyYXkg
aXMgaW4gd2llcmQgc3RhdGU6ICIgKyByZXN1bHQ7Cit9CisKK2ZvciAodmFyIGkgPSAwOyBpIDwg
MTAwMDAwOyArK2kpIHsKKyAgICB0ZXN0KDEwMDAwMDApOworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9uZXctYXJyYXktd2l0aC1zaXplLXdpdGgtYmFk
LXRpbWUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL25ldy1hcnJheS13
aXRoLXNpemUtd2l0aC1iYWQtdGltZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTY3NzQxNTZmMjljYjkxYmRi
NTk5MTNhZjQ1OTEyMTRiNTQ3NmQxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9uZXctYXJyYXktd2l0aC1zaXplLXdpdGgtYmFkLXRpbWUuanMK
QEAgLTAsMCArMSwzNCBAQAorZnVuY3Rpb24gZm9vKHgpIHsKKyAgICByZXR1cm4gbmV3IEFycmF5
KHgpOworfQorCitub0lubGluZShmb28pOworCit2YXIgcG9rZTsKK0FycmF5LnByb3RvdHlwZS5f
X2RlZmluZVNldHRlcl9fKCIxIiwgZnVuY3Rpb24oKSB7CisgICAgcG9rZSA9ICJwb2tlIjsKK30p
OworCitmdW5jdGlvbiB0ZXN0KHNpemUpIHsKKyAgICB2YXIgcmVzdWx0ID0gZm9vKHNpemUpOwor
ICAgIGlmIChyZXN1bHQubGVuZ3RoICE9IHNpemUpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFk
IHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICB2YXIgc2F3VGhpbmdzID0gZmFsc2U7CisgICAgZm9y
ICh2YXIgcyBpbiByZXN1bHQpIHsKKyAgICAgICAgaWYgKHMgIT0gIjEiKQorICAgICAgICAgICAg
c2F3VGhpbmdzID0gdHJ1ZTsKKyAgICB9CisgICAgaWYgKHNhd1RoaW5ncykKKyAgICAgICAgdGhy
b3cgIkVycm9yOiBhcnJheSBpcyBpbiBiYWQgc3RhdGU6ICIgKyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gIjQyLjUiOworICAgIGlmIChyZXN1bHRbMF0gIT0gIjQyLjUiKQorICAgICAgICB0aHJv
dyAiRXJyb3I6IGFycmF5IGlzIGluIHdpZXJkIHN0YXRlOiAiICsgcmVzdWx0OworICAgIHBva2Ug
PSBudWxsOworICAgIHJlc3VsdFsxXSA9IDQyOworICAgIGlmIChwb2tlICE9ICJwb2tlIikKKyAg
ICAgICAgdGhyb3cgIkVycm9yOiBzZXR0ZXIgbm90IGNhbGxlZC4iOworfQorCitmb3IgKHZhciBp
ID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdGVzdCg0Mik7Cit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL25ldy1jb250aWd1b3VzLWFycmF5LXdp
dGgtc2l6ZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbmV3LWNvbnRp
Z3VvdXMtYXJyYXktd2l0aC1zaXplLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwOGE2ZjY3ZTgxOTVhNWUyNTQx
MjY5ODdjOTk0NWJiZTZjNWQ5YzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL25ldy1jb250aWd1b3VzLWFycmF5LXdpdGgtc2l6ZS5qcwpAQCAt
MCwwICsxLDMxIEBACitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiBuZXcgQXJyYXkoeCk7
Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2Z1bmN0aW9uIHRlc3Qoc2l6ZSkgeworICAgIHZhciBy
ZXN1bHQgPSBmb28oc2l6ZSk7CisgICAgaWYgKHJlc3VsdC5sZW5ndGggIT0gc2l6ZSkgeworICAg
ICAgICBwcmludCgiR290IGEgd2VpcmQgbGVuZ3RoOiAiICsgcmVzdWx0Lmxlbmd0aCk7CisgICAg
ICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICB9CisgICAgdmFy
IHNhd1RoaW5ncyA9IGZhbHNlOworICAgIGZvciAodmFyIHMgaW4gcmVzdWx0KQorICAgICAgICBz
YXdUaGluZ3MgPSB0cnVlOworICAgIGlmIChzYXdUaGluZ3MpIHsKKyAgICAgICAgcHJpbnQoIlNh
dyB0aGluZ3MhIik7CisgICAgICAgIHRocm93ICJFcnJvcjogYXJyYXkgaXMgaW4gYmFkIHN0YXRl
OiAiICsgcmVzdWx0OworICAgIH0KKyAgICByZXN1bHRbMF0gPSAiNDIuNSI7CisgICAgaWYgKHJl
c3VsdFswXSAhPSAiNDIuNSIpIHsKKyAgICAgICAgcHJpbnQoIkRpZG4ndCBzdG9yZSB3aGF0IEkg
dGhvdWdodCBJIHN0b3JlZC4iKTsKKyAgICAgICAgdGhyb3cgIkVycm9yOiBhcnJheSBpcyBpbiB3
aWVyZCBzdGF0ZTogIiArIHJlc3VsdDsKKyAgICB9Cit9CisKK2ZvciAodmFyIGkgPSAwOyBpIDwg
MTAwMDAwOyArK2kpIHsKKyAgICB0ZXN0KDApOworICAgIHRlc3QoMSk7CisgICAgdGVzdCg0Mik7
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL25ldy1k
b3VibGUtYXJyYXktd2l0aC1zaXplLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9uZXctZG91YmxlLWFycmF5LXdpdGgtc2l6ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGYyOGJhNjQz
ODljZmMwYTVlMDA3ZGI2NWVhYmY5YjBlZTc2NDhhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9uZXctZG91YmxlLWFycmF5LXdpdGgtc2l6ZS5q
cwpAQCAtMCwwICsxLDI1IEBACitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiBuZXcgQXJy
YXkoeCk7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2Z1bmN0aW9uIHRlc3Qoc2l6ZSkgeworICAg
IHZhciByZXN1bHQgPSBmb28oc2l6ZSk7CisgICAgaWYgKHJlc3VsdC5sZW5ndGggIT0gc2l6ZSkK
KyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgIHZhciBz
YXdUaGluZ3MgPSBmYWxzZTsKKyAgICBmb3IgKHZhciBzIGluIHJlc3VsdCkKKyAgICAgICAgc2F3
VGhpbmdzID0gdHJ1ZTsKKyAgICBpZiAoc2F3VGhpbmdzKQorICAgICAgICB0aHJvdyAiRXJyb3I6
IGFycmF5IGlzIGluIGJhZCBzdGF0ZTogIiArIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSA0Mi41
OworICAgIGlmIChyZXN1bHRbMF0gIT0gNDIuNSkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBhcnJh
eSBpcyBpbiB3aWVyZCBzdGF0ZTogIiArIHJlc3VsdDsKK30KKworZm9yICh2YXIgaSA9IDA7IGkg
PCAxMDAwMDA7ICsraSkgeworICAgIHRlc3QoMCk7CisgICAgdGVzdCgxKTsKKyAgICB0ZXN0KDQy
KTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbmV3
LWludDMyLWFycmF5LXdpdGgtc2l6ZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvbmV3LWludDMyLWFycmF5LXdpdGgtc2l6ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjhjNWRiNzIw
N2VkYTQ0M2M3ZjIyYjJiMjMxNjVjMTFlZjRmMjQzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9uZXctaW50MzItYXJyYXktd2l0aC1zaXplLmpz
CkBAIC0wLDAgKzEsMjUgQEAKK2Z1bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0dXJuIG5ldyBBcnJh
eSh4KTsKK30KKworbm9JbmxpbmUoZm9vKTsKKworZnVuY3Rpb24gdGVzdChzaXplKSB7CisgICAg
dmFyIHJlc3VsdCA9IGZvbyhzaXplKTsKKyAgICBpZiAocmVzdWx0Lmxlbmd0aCAhPSBzaXplKQor
ICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgdmFyIHNh
d1RoaW5ncyA9IGZhbHNlOworICAgIGZvciAodmFyIHMgaW4gcmVzdWx0KQorICAgICAgICBzYXdU
aGluZ3MgPSB0cnVlOworICAgIGlmIChzYXdUaGluZ3MpCisgICAgICAgIHRocm93ICJFcnJvcjog
YXJyYXkgaXMgaW4gYmFkIHN0YXRlOiAiICsgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDQyOwor
ICAgIGlmIChyZXN1bHRbMF0gIT0gNDIpCisgICAgICAgIHRocm93ICJFcnJvcjogYXJyYXkgaXMg
aW4gd2llcmQgc3RhdGU6ICIgKyByZXN1bHQ7Cit9CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAw
MDAwOyArK2kpIHsKKyAgICB0ZXN0KDApOworICAgIHRlc3QoMSk7CisgICAgdGVzdCg0Mik7Cit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL25ldy11bmRl
Y2lkZWQtYXJyYXktd2l0aC1zaXplLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9uZXctdW5kZWNpZGVkLWFycmF5LXdpdGgtc2l6ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMTQyYzdl
MjExZGVlMzE0MDcyNmRmYzdkOWUxMGZhNDFmODAyZjlkCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9uZXctdW5kZWNpZGVkLWFycmF5LXdpdGgt
c2l6ZS5qcwpAQCAtMCwwICsxLDIyIEBACitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiBu
ZXcgQXJyYXkoeCk7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2Z1bmN0aW9uIHRlc3Qoc2l6ZSkg
eworICAgIHZhciByZXN1bHQgPSBmb28oc2l6ZSk7CisgICAgaWYgKHJlc3VsdC5sZW5ndGggIT0g
c2l6ZSkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAg
IHZhciBzYXdUaGluZ3MgPSBmYWxzZTsKKyAgICBmb3IgKHZhciBzIGluIHJlc3VsdCkKKyAgICAg
ICAgc2F3VGhpbmdzID0gdHJ1ZTsKKyAgICBpZiAoc2F3VGhpbmdzKQorICAgICAgICB0aHJvdyAi
RXJyb3I6IGFycmF5IGlzIGluIGJhZCBzdGF0ZTogIiArIHJlc3VsdDsKK30KKworZm9yICh2YXIg
aSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIHRlc3QoMCk7CisgICAgdGVzdCgxKTsKKyAg
ICB0ZXN0KDQyKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvcHV0LWJ5LWlkLXRocm93LXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3B1dC1ieS1pZC10aHJvdy10aHJvdWdoLW9wdGlt
aXplZC1jb2RlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3NTQxYmE5NjMyZTRlZjg5NjlmZTg2NDUyMTEyNjc3
Yzc5ZDE2NzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL3B1dC1ieS1pZC10aHJvdy10aHJvdWdoLW9wdGltaXplZC1jb2RlLmpzCkBAIC0wLDAg
KzEsMzMgQEAKK2Z1bmN0aW9uIGZvbyhvKSB7CisgICAgInVzZSBzdHJpY3QiOworICAgIG8uZiA9
IDQyOworfQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsg
KytpKSB7CisgICAgdmFyIG8gPSB7fTsKKyAgICBmb28obyk7CisgICAgaWYgKG8uZiAhPSA0MikK
KyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgby5mOworICAgIG8gPSB7Zjoy
M307CisgICAgZm9vKG8pOworICAgIGlmIChvLmYgIT0gNDIpCisgICAgICAgIHRocm93ICJFcnJv
cjogYmFkIHJlc3VsdDogIiArIG8uZjsKKyAgICBvID0ge2c6MTJ9OworICAgIGZvbyhvKTsKKyAg
ICBpZiAoby5mICE9IDQyKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyBv
LmY7Cit9CisKK3ZhciBkaWRUaHJvdzsKK3RyeSB7CisgICAgdmFyIG8gPSB7fTsKKyAgICBPYmpl
Y3QuZnJlZXplKG8pOworICAgIGZvbyhvKTsKK30gY2F0Y2ggKGUpIHsKKyAgICBkaWRUaHJvdyA9
IGU7Cit9CisKK2lmICghZGlkVGhyb3cgfHwgZGlkVGhyb3cudG9TdHJpbmcoKS5pbmRleE9mKCJU
eXBlRXJyb3I6IikgIT0gMCkKKyAgICB0aHJvdyAiRXJyb3I6IGRpZG4ndCB0aHJvdyBvciB0aHJl
dyB3cm9uZyBleGNlcHRpb246ICIgKyBkaWRUaHJvdzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvcmVjdXJzZS1pbmZpbml0ZWx5LW9uLWdldHRlci5qcyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvcmVjdXJzZS1pbmZpbml0ZWx5LW9u
LWdldHRlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTBiZThiNDJmNzA4MTBmZTExYThjMzk3NmI4NzQ3YzFk
YzhiNDdhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9yZWN1cnNlLWluZmluaXRlbHktb24tZ2V0dGVyLmpzCkBAIC0wLDAgKzEsMTkgQEAKK2Zv
ciAodmFyIGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICB2YXIgbyA9IHt9OworICAgIG8uX19k
ZWZpbmVHZXR0ZXJfXygiZiIsIGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1cm4gby5mOworICAg
IH0pOworICAgIHZhciBkaWRUaHJvdzsKKyAgICB2YXIgcmVzdWx0OworICAgIHJlc3VsdCA9ICJu
b3Qgc2V0IjsKKyAgICB0cnkgeworICAgICAgICByZXN1bHQgPSBvLmY7CisgICAgfSBjYXRjaCAo
ZSkgeworICAgICAgICBkaWRUaHJvdyA9IGU7CisgICAgfQorICAgIGlmIChyZXN1bHQgIT0gIm5v
dCBzZXQiKQorICAgICAgICB0aHJvdyAiRGlkIHNldCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAg
aWYgKCFkaWRUaHJvdyB8fCBkaWRUaHJvdy50b1N0cmluZygpLmluZGV4T2YoIlJhbmdlRXJyb3Ii
KSAhPSAwKQorICAgICAgICB0aHJvdyAiQmFkIGV4Y2VwdGlvbjogIiArIGRpZFRocm93OworfQor
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3JlcGVhdGVk
LWFyaXR5LWNoZWNrLWZhaWwuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L3JlcGVhdGVkLWFyaXR5LWNoZWNrLWZhaWwuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM4YzQ4ZjczMDJhYzA5
YTAwODQzYWIxM2IyYWFlMjgwYTVkYTY1YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvcmVwZWF0ZWQtYXJpdHktY2hlY2stZmFpbC5qcwpAQCAt
MCwwICsxLDggQEAKK2Z1bmN0aW9uIGJhcihhLGIsYyxkLGUsZixnLGgsaSxqLGspIHsKK30KKwor
bm9JbmxpbmUoYmFyKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDAwMDsgKytpKQorICAg
IGJhcigpOworCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L3J1bnRpbWUtdGhyb3ctdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS5qcyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvcnVudGltZS10aHJvdy10aHJvdWdoLW9wdGltaXplZC1jb2Rl
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjFkOWRmMWRkZmJjNTI3ZjcwN2FjNzJmYjBkNTM2MDhkZDZiNmYxOTgK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3J1
bnRpbWUtdGhyb3ctdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS5qcwpAQCAtMCwwICsxLDMzIEBACitm
dW5jdGlvbiBmb28oYSwgcykgeworICAgIHJldHVybiBhW3NdICsgMTsKK30KKwordmFyIHNob3Vs
ZFRocm93ID0gZmFsc2U7CitmdW5jdGlvbiBiYXIoKSB7CisgICAgaWYgKHNob3VsZFRocm93KQor
ICAgICAgICB0aHJvdyAiaGVsbG8iOworICAgIHJldHVybiA0MjsKK30KKwordmFyIGEgPSB7fTsK
K2EuX19kZWZpbmVHZXR0ZXJfXygiYmFyIiwgYmFyKTsKKworbm9JbmxpbmUoZm9vKTsKK25vSW5s
aW5lKGJhcik7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2YXIg
cmVzdWx0ID0gZm9vKGEsICJiYXIiKTsKKyAgICBpZiAocmVzdWx0ICE9IDQzKQorICAgICAgICB0
aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKK3ZhciBkaWRUaHJvdzsK
K3RyeSB7CisgICAgc2hvdWxkVGhyb3cgPSB0cnVlOworICAgIGZvbyhhLCAiYmFyIik7Cit9IGNh
dGNoIChlKSB7CisgICAgZGlkVGhyb3cgPSBlOworfQorCitpZiAoZGlkVGhyb3cgIT0gImhlbGxv
IikKKyAgICB0aHJvdyAiRXJyb3I6IGRpZG4ndCB0aHJvdyBvciB0aHJldyB3cm9uZyBleGNlcHRp
b246ICIgKyBkaWRUaHJvdzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3Mvc2ltcGxlLXBvbHl2YXJpYW50LWNhbGwtaW5saW5pbmctZXhhbXBsZS5qcyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvc2ltcGxlLXBvbHl2YXJpYW50LWNhbGwt
aW5saW5pbmctZXhhbXBsZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzNiMjc2Y2FjYjhlNGE3MzRhYjIzYjQy
Yjg2MmY1NjVkOGY0ZTAzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9zaW1wbGUtcG9seXZhcmlhbnQtY2FsbC1pbmxpbmluZy1leGFtcGxlLmpz
CkBAIC0wLDAgKzEsMzIgQEAKK2Z1bmN0aW9uIGZvbyhiYXopIHsKKyAgICByZXR1cm4gYmFyKGJh
eik7Cit9CisKK2Z1bmN0aW9uIGZ1enooYmF6KSB7CisgICAgcmV0dXJuIGJhcihiYXopOworfQor
CitmdW5jdGlvbiBiYXIoYmF6KSB7CisgICAgcmV0dXJuIGJheigpOworfQorCitmdW5jdGlvbiBi
YXoxKCkgeworICAgIHJldHVybiA0MjsKK30KKworZnVuY3Rpb24gYmF6MigpIHsKKyAgICByZXR1
cm4gMjQ7Cit9CisKK25vSW5saW5lKGZvbyk7Citub0lubGluZShmdXp6KTsKKworZm9yICh2YXIg
aSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIHZhciByZXN1bHQgPSBmb28oYmF6MSk7Cisg
ICAgaWYgKHJlc3VsdCAhPSA0MikKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAi
ICsgcmVzdWx0OworICAgIHZhciByZXN1bHQgPSBmdXp6KGJhejIpOworICAgIGlmIChyZXN1bHQg
IT0gMjQpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30K
KwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zaW1wbGUt
cG9seXZhcmlhbnQtZ2V0LWJ5LWlkLWlubGluaW5nLWV4YW1wbGUuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL3NpbXBsZS1wb2x5dmFyaWFudC1nZXQtYnktaWQtaW5saW5p
bmctZXhhbXBsZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NTRhYjA5YzczMDg0MGZlZjFiN2QwZTU4ZGE4Mjk2
ODE0MmM1ZDhmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9zaW1wbGUtcG9seXZhcmlhbnQtZ2V0LWJ5LWlkLWlubGluaW5nLWV4YW1wbGUuanMK
QEAgLTAsMCArMSwyNCBAQAorZnVuY3Rpb24gZm9vKG8pIHsKKyAgICByZXR1cm4gYmFyKG8pOwor
fQorCitmdW5jdGlvbiBmdXp6KG8pIHsKKyAgICByZXR1cm4gYmFyKG8pOworfQorCitmdW5jdGlv
biBiYXIobykgeworICAgIHJldHVybiBvLmY7Cit9CisKK25vSW5saW5lKGZvbyk7Citub0lubGlu
ZShmdXp6KTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIHZhciBy
ZXN1bHQgPSBmb28oe2Y6NDJ9KTsKKyAgICBpZiAocmVzdWx0ICE9IDQyKQorICAgICAgICB0aHJv
dyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgdmFyIHJlc3VsdCA9IGZ1enoo
e2c6MjMsIGY6MjR9KTsKKyAgICBpZiAocmVzdWx0ICE9IDI0KQorICAgICAgICB0aHJvdyAiRXJy
b3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvc2ltcGxlLXBvbHl2YXJpYW50LXB1dC1ieS1pZC1pbmxp
bmluZy1leGFtcGxlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zaW1w
bGUtcG9seXZhcmlhbnQtcHV0LWJ5LWlkLWlubGluaW5nLWV4YW1wbGUuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OGViNjI3MmY3ZWU4ZmY0OTc5Nzg5MzkyNWQ5MmM5N2FkN2I1NzQxNQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvc2ltcGxlLXBvbHl2YXJpYW50
LXB1dC1ieS1pZC1pbmxpbmluZy1leGFtcGxlLmpzCkBAIC0wLDAgKzEsMjYgQEAKK2Z1bmN0aW9u
IGZvbyhvKSB7CisgICAgYmFyKG8pOworfQorCitmdW5jdGlvbiBmdXp6KG8pIHsKKyAgICBiYXIo
byk7Cit9CisKK2Z1bmN0aW9uIGJhcihvKSB7CisgICAgby5mID0gNDI7Cit9CisKK25vSW5saW5l
KGZvbyk7Citub0lubGluZShmdXp6KTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsr
aSkgeworICAgIHZhciBvID0ge307CisgICAgZm9vKG8pOworICAgIGlmIChvLmYgIT0gNDIpCisg
ICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIG8uZjsKKyAgICBvID0ge2Y6MjN9
OworICAgIHZhciByZXN1bHQgPSBmdXp6KG8pOworICAgIGlmIChvLmYgIT0gNDIpCisgICAgICAg
IHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIG8uZjsKK30KKwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90aHJvdy10aHJvdWdoLW9wdGltaXplZC1j
b2RlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90aHJvdy10aHJvdWdo
LW9wdGltaXplZC1jb2RlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmZWIyNDBlZDM3OGZhMWY4MWNhM2UwMGI1
MTdkODIwZDU1OTcxOWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL3Rocm93LXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanMKQEAgLTAsMCArMSwz
MCBAQAorZnVuY3Rpb24gZm9vKGYpIHsKKyAgICByZXR1cm4gZigxKSArIDE7Cit9CisKK3ZhciBz
aG91bGRUaHJvdyA9IGZhbHNlOworZnVuY3Rpb24gYmFyKHgpIHsKKyAgICBpZiAoc2hvdWxkVGhy
b3cpCisgICAgICAgIHRocm93ICJoZWxsbyI7CisgICAgcmV0dXJuIDQyIC0geDsKK30KKworbm9J
bmxpbmUoZm9vKTsKK25vSW5saW5lKGJhcik7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAw
OyArK2kpIHsKKyAgICB2YXIgcmVzdWx0ID0gZm9vKGJhcik7CisgICAgaWYgKHJlc3VsdCAhPSA0
MikKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworfQorCit2
YXIgZGlkVGhyb3c7Cit0cnkgeworICAgIHNob3VsZFRocm93ID0gdHJ1ZTsKKyAgICBmb28oYmFy
KTsKK30gY2F0Y2ggKGUpIHsKKyAgICBkaWRUaHJvdyA9IGU7Cit9CisKK2lmIChkaWRUaHJvdyAh
PSAiaGVsbG8iKQorICAgIHRocm93ICJFcnJvcjogZGlkbid0IHRocm93IG9yIHRocmV3IHdyb25n
IGV4Y2VwdGlvbjogIiArIGRpZFRocm93OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy90by1zdHJpbmctb24tb2JqZWN0LW9yLXN0cmluZy5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvdG8tc3RyaW5nLW9uLW9iamVjdC1vci1zdHJp
bmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDM2MzhjMTRjZjFlZDY3MTU0MzE3YWY4YWRhYTBhMGU4ZmVjNzE2
ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
dG8tc3RyaW5nLW9uLW9iamVjdC1vci1zdHJpbmcuanMKQEAgLTAsMCArMSwyNyBAQAorZnVuY3Rp
b24gRm9vKCkgeyB9CisKK0Zvby5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0
dXJuICJoZWxsbyIgfTsKKworZnVuY3Rpb24gZm9vKG8pIHsKKyAgICByZXR1cm4gU3RyaW5nKG8p
OworfQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytp
KSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbyhuZXcgRm9vKCkpOworICAgIGlmICh0eXBlb2YgcmVz
dWx0ICE9ICJzdHJpbmciKSB7CisgICAgICAgIGRlc2NyaWJlKHJlc3VsdCk7CisgICAgICAgIHRo
cm93ICJFcnJvcjogcmVzdWx0IGlzbid0IGEgc3RyaW5nIjsKKyAgICB9CisgICAgaWYgKHJlc3Vs
dCAhPSAiaGVsbG8iKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1
bHQ7CisgICAgCisgICAgcmVzdWx0ID0gZm9vKCJ3b3JsZCIpOworICAgIGlmICh0eXBlb2YgcmVz
dWx0ICE9ICJzdHJpbmciKSB7CisgICAgICAgIGRlc2NyaWJlKHJlc3VsdCk7CisgICAgICAgIHRo
cm93ICJFcnJvcjogcmVzdWx0IGlzbid0IGEgc3RyaW5nIjsKKyAgICB9CisgICAgaWYgKHJlc3Vs
dCAhPSAid29ybGQiKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1
bHQ7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3Rv
LXN0cmluZy1vbi1vYmplY3QuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L3RvLXN0cmluZy1vbi1vYmplY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBhODlhNGM0MzM1ZDdiM2UxZGUz
ZDRlZDNjYjg2NWI5YTBlMDU3NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvdG8tc3RyaW5nLW9uLW9iamVjdC5qcwpAQCAtMCwwICsxLDE5IEBA
CitmdW5jdGlvbiBGb28oKSB7IH0KKworRm9vLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9u
KCkgeyByZXR1cm4gImhlbGxvIiB9OworCitmdW5jdGlvbiBmb28obykgeworICAgIHJldHVybiBT
dHJpbmcobyk7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAw
MDAwOyArK2kpIHsKKyAgICB2YXIgcmVzdWx0ID0gZm9vKG5ldyBGb28oKSk7CisgICAgaWYgKHR5
cGVvZiByZXN1bHQgIT0gInN0cmluZyIpIHsKKyAgICAgICAgZGVzY3JpYmUocmVzdWx0KTsKKyAg
ICAgICAgdGhyb3cgIkVycm9yOiByZXN1bHQgaXNuJ3QgYSBzdHJpbmciOworICAgIH0KKyAgICBp
ZiAocmVzdWx0ICE9ICJoZWxsbyIpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDog
IiArIHJlc3VsdDsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvdG8tc3RyaW5nLW9uLXN0cmluZy1vYmplY3QuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL3RvLXN0cmluZy1vbi1zdHJpbmctb2JqZWN0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU0NDM1ZTVhYWMxYjRlNDMzYzAxOTNmYjM3MzFmNzc4ZGUxODIyNTIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RvLXN0cmluZy1vbi1zdHJp
bmctb2JqZWN0LmpzCkBAIC0wLDAgKzEsMTUgQEAKK2Z1bmN0aW9uIGZvbyhvKSB7CisgICAgcmV0
dXJuIFN0cmluZyhvKTsKK30KKworbm9JbmxpbmUoZm9vKTsKKworZm9yICh2YXIgaSA9IDA7IGkg
PCAxMDAwMDA7ICsraSkgeworICAgIHZhciByZXN1bHQgPSBmb28obmV3IFN0cmluZygiaGVsbG8i
KSk7CisgICAgaWYgKHR5cGVvZiByZXN1bHQgIT0gInN0cmluZyIpIHsKKyAgICAgICAgZGVzY3Jp
YmUocmVzdWx0KTsKKyAgICAgICAgdGhyb3cgIkVycm9yOiByZXN1bHQgaXNuJ3QgYSBzdHJpbmci
OworICAgIH0KKyAgICBpZiAocmVzdWx0ICE9ICJoZWxsbyIpCisgICAgICAgIHRocm93ICJFcnJv
cjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvdG8tc3RyaW5nLW9uLXN0cmluZy1vci1zdHJpbmctb2JqZWN0
LXRoZW4tb2JqZWN0LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90by1z
dHJpbmctb24tc3RyaW5nLW9yLXN0cmluZy1vYmplY3QtdGhlbi1vYmplY3QuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOGViMDQwYjc4YTFmNmMyNDdiNzhmYWY4NWY1YWE1N2QzM2Y5MDE5YgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvdG8tc3RyaW5nLW9uLXN0
cmluZy1vci1zdHJpbmctb2JqZWN0LXRoZW4tb2JqZWN0LmpzCkBAIC0wLDAgKzEsMzUgQEAKK2Z1
bmN0aW9uIGZvbyhvKSB7CisgICAgcmV0dXJuIFN0cmluZyhvKTsKK30KKworbm9JbmxpbmUoZm9v
KTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIHZhciByZXN1bHQg
PSBmb28obmV3IFN0cmluZygiaGVsbG8iKSk7CisgICAgaWYgKHR5cGVvZiByZXN1bHQgIT0gInN0
cmluZyIpIHsKKyAgICAgICAgZGVzY3JpYmUocmVzdWx0KTsKKyAgICAgICAgdGhyb3cgIkVycm9y
OiByZXN1bHQgaXNuJ3QgYSBzdHJpbmciOworICAgIH0KKyAgICBpZiAocmVzdWx0ICE9ICJoZWxs
byIpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICAK
KyAgICByZXN1bHQgPSBmb28oIndvcmxkIik7CisgICAgaWYgKHR5cGVvZiByZXN1bHQgIT0gInN0
cmluZyIpIHsKKyAgICAgICAgZGVzY3JpYmUocmVzdWx0KTsKKyAgICAgICAgdGhyb3cgIkVycm9y
OiByZXN1bHQgaXNuJ3QgYSBzdHJpbmciOworICAgIH0KKyAgICBpZiAocmVzdWx0ICE9ICJ3b3Js
ZCIpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30KKwor
ZnVuY3Rpb24gRm9vKCkgeyB9CisKK0Zvby5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbigp
IHsgcmV0dXJuICJoZWxsbyIgfTsKKwordmFyIHJlc3VsdCA9IGZvbyhuZXcgRm9vKCkpOworaWYg
KHR5cGVvZiByZXN1bHQgIT0gInN0cmluZyIpIHsKKyAgICBkZXNjcmliZShyZXN1bHQpOworICAg
IHRocm93ICJFcnJvcjogcmVzdWx0IGlzbid0IGEgc3RyaW5nIjsKK30KK2lmIChyZXN1bHQgIT0g
ImhlbGxvIikKKyAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RvLXN0cmluZy1vbi1z
dHJpbmctb3Itc3RyaW5nLW9iamVjdC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvdG8tc3RyaW5nLW9uLXN0cmluZy1vci1zdHJpbmctb2JqZWN0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjVhNWRlOTZmNDdkYzEwNTc1MmVkMDIzNDM0MTRhOWRiNzg3ODI2NGIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RvLXN0cmluZy1vbi1zdHJp
bmctb3Itc3RyaW5nLW9iamVjdC5qcwpAQCAtMCwwICsxLDIzIEBACitmdW5jdGlvbiBmb28obykg
eworICAgIHJldHVybiBTdHJpbmcobyk7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFy
IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2YXIgcmVzdWx0ID0gZm9vKG5ldyBTdHJp
bmcoImhlbGxvIikpOworICAgIGlmICh0eXBlb2YgcmVzdWx0ICE9ICJzdHJpbmciKSB7CisgICAg
ICAgIGRlc2NyaWJlKHJlc3VsdCk7CisgICAgICAgIHRocm93ICJFcnJvcjogcmVzdWx0IGlzbid0
IGEgc3RyaW5nIjsKKyAgICB9CisgICAgaWYgKHJlc3VsdCAhPSAiaGVsbG8iKQorICAgICAgICB0
aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgCisgICAgcmVzdWx0ID0g
Zm9vKCJ3b3JsZCIpOworICAgIGlmICh0eXBlb2YgcmVzdWx0ICE9ICJzdHJpbmciKSB7CisgICAg
ICAgIGRlc2NyaWJlKHJlc3VsdCk7CisgICAgICAgIHRocm93ICJFcnJvcjogcmVzdWx0IGlzbid0
IGEgc3RyaW5nIjsKKyAgICB9CisgICAgaWYgKHJlc3VsdCAhPSAid29ybGQiKQorICAgICAgICB0
aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RvLXN0cmluZy1vbi12YWx1ZS1vci1zdHJp
bmcuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RvLXN0cmluZy1vbi12
YWx1ZS1vci1zdHJpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGNlZDZjMDgzYTRjOGNhMzg1OWU3ZjdhZmY3
MDFjYThjZTRkZDI2YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvdG8tc3RyaW5nLW9uLXZhbHVlLW9yLXN0cmluZy5qcwpAQCAtMCwwICsxLDIz
IEBACitmdW5jdGlvbiBmb28obykgeworICAgIHJldHVybiBTdHJpbmcobyk7Cit9CisKK25vSW5s
aW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2YXIg
cmVzdWx0ID0gZm9vKDQyKTsKKyAgICBpZiAodHlwZW9mIHJlc3VsdCAhPSAic3RyaW5nIikgewor
ICAgICAgICBkZXNjcmliZShyZXN1bHQpOworICAgICAgICB0aHJvdyAiRXJyb3I6IHJlc3VsdCBp
c24ndCBhIHN0cmluZyI7CisgICAgfQorICAgIGlmIChyZXN1bHQgIT0gIjQyIikKKyAgICAgICAg
dGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgIAorICAgIHJlc3VsdCA9
IGZvbygid29ybGQiKTsKKyAgICBpZiAodHlwZW9mIHJlc3VsdCAhPSAic3RyaW5nIikgeworICAg
ICAgICBkZXNjcmliZShyZXN1bHQpOworICAgICAgICB0aHJvdyAiRXJyb3I6IHJlc3VsdCBpc24n
dCBhIHN0cmluZyI7CisgICAgfQorICAgIGlmIChyZXN1bHQgIT0gIndvcmxkIikKKyAgICAgICAg
dGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90by1zdHJpbmctb24tdmFsdWUuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RvLXN0cmluZy1vbi12YWx1ZS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40MDhlNWJhNGM5ZWQxZTA2ODUwOWJjMzU1ZDBmZmE2ZjVkNGM3NDRjCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90by1zdHJp
bmctb24tdmFsdWUuanMKQEAgLTAsMCArMSwxNSBAQAorZnVuY3Rpb24gZm9vKG8pIHsKKyAgICBy
ZXR1cm4gU3RyaW5nKG8pOworfQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsg
aSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbyg0Mik7CisgICAgaWYgKHR5
cGVvZiByZXN1bHQgIT0gInN0cmluZyIpIHsKKyAgICAgICAgZGVzY3JpYmUocmVzdWx0KTsKKyAg
ICAgICAgdGhyb3cgIkVycm9yOiByZXN1bHQgaXNuJ3QgYSBzdHJpbmciOworICAgIH0KKyAgICBp
ZiAocmVzdWx0ICE9ICI0MiIpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiAr
IHJlc3VsdDsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0JhZ1RvSGFzaE1hcC5oIGIv
U291cmNlL1dURi93dGYvQmFnVG9IYXNoTWFwLmgKaW5kZXggYzFiZTdmZjk1MTA3YTNhMWY0NDUz
ZjQ4N2ZlOTMzYmYwMzRhNzZkYy4uNTM5Nzk1ZmRlMWY1NzcxMjY2MjFkNzRjMTNhNmYyZjU2NGE3
NTg3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQmFnVG9IYXNoTWFwLmgKKysrIGIvU291
cmNlL1dURi93dGYvQmFnVG9IYXNoTWFwLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDggKzMyLDggQEAKIAogbmFtZXNwYWNlIFdU
RiB7CiAKLXRlbXBsYXRlPHR5cGVuYW1lIEVsZW1lbnRUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCB0
eXBlbmFtZSBLZXlHZXR0ZXJGdW5jdG9yPgotdm9pZCB0b0hhc2hNYXAoQmFnPEVsZW1lbnRUeXBl
PiYgYmFnLCBLZXlHZXR0ZXJGdW5jdG9yJiBnZXRLZXksIEhhc2hNYXA8S2V5VHlwZSwgRWxlbWVu
dFR5cGUqPiYgcmVzdWx0KQordGVtcGxhdGU8dHlwZW5hbWUgRWxlbWVudFR5cGUsIHR5cGVuYW1l
IEtleVR5cGUsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1lIEtleUdldHRlckZ1bmN0b3I+Cit2
b2lkIHRvSGFzaE1hcChCYWc8RWxlbWVudFR5cGU+JiBiYWcsIEtleUdldHRlckZ1bmN0b3ImIGdl
dEtleSwgSGFzaE1hcDxLZXlUeXBlLCBFbGVtZW50VHlwZSosIEhhc2hBcmc+JiByZXN1bHQpCiB7
CiAgICAgZm9yICh0eXBlbmFtZSBCYWc8RWxlbWVudFR5cGU+OjppdGVyYXRvciBpdGVyID0gYmFn
LmJlZ2luKCk7ICEhaXRlcjsgKytpdGVyKSB7CiAgICAgICAgIEVsZW1lbnRUeXBlKiBlbGVtZW50
ID0gKml0ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNl
L1dURi93dGYvUGxhdGZvcm0uaAppbmRleCBhYTBhYzU3MzQxNGIzMjhkOWE1OWE3NTkxMzhmYmQ0
MWM0ZmYwYjJlLi43MmNhNjRhZTNkMzc3YTg1OWU3MzIxOGM4NWRhZjEwMjQxYjkxNTkwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtLmgKQEAgLTY2MCwxMiArNjYwLDEyIEBACiAjZGVmaW5lIEVOQUJMRV9KSVQgMAogI2Vu
ZGlmCiAKLS8qIFRoZSBKSVQgaXMgZW5hYmxlZCBieSBkZWZhdWx0IG9uIGFsbCB4ODYsIHg4Ni02
NCwgQVJNICYgTUlQUyBwbGF0Zm9ybXMgZXhjZXB0IFdpbjY0LiAqLworLyogVGhlIEpJVCBpcyBl
bmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4NiwgeDg2LTY0LCBBUk0gJiBNSVBTIHBsYXRmb3Jt
cyBleGNlcHQgV2luZG93cy4gKi8KICNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSBcCiAgICAgJiYg
KENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShBUk02NCkgfHwgQ1BV
KE1JUFMpKSBcCiAgICAgJiYgKE9TKERBUldJTikgfHwgIUNPTVBJTEVSKEdDQykgfHwgR0NDX1ZF
UlNJT05fQVRfTEVBU1QoNCwgMSwgMCkpIFwKICAgICAmJiAhT1MoV0lOQ0UpIFwKLSAgICAmJiAh
KE9TKFdJTkRPV1MpICYmIENQVShYODZfNjQpKQorICAgICYmICFPUyhXSU5ET1dTKQogI2RlZmlu
ZSBFTkFCTEVfSklUIDEKICNlbmRpZgogCkBAIC04MzUsMTQgKzgzNSw2IEBACiAjZW5kaWYKICNl
bmRpZgogCi0vKiBGSVhNRTogV2UgY3VycmVudGx5IHVuY29uZGl0aW9uYWxseSB1c2Ugc3BlYXJh
dGUgc3RhY2tzLiBXaGVuIHdlIHN3aXRjaCB0byB1c2luZyB0aGUKLSAgIEMgc3RhY2sgZm9yIEpT
IGZyYW1lcywgd2UnbGwgbmVlZCB0byBtYWtlIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgb24g
RU5BQkxFKExMSU5UX0NMT09QKQotICAgb25seS4KLSovCi0jaWYgRU5BQkxFKExMSU5UX0NMT09Q
KSB8fCAxCi0jZGVmaW5lIFdURl9VU0VfU0VQQVJBVEVfQ19BTkRfSlNfU1RBQ0sgMQotI2VuZGlm
Ci0KIC8qIFBpY2sgd2hpY2ggYWxsb2NhdG9yIHRvIHVzZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1
dGFibGUgYWxsb2NhdG9yIGlmIHRoZSBhc3NlbWJsZXIgaXMgY29tcGlsZWQgaW4uCiAgICBPbiB4
ODYtNjQgd2UgdXNlIGEgc2luZ2xlIGZpeGVkIG1tYXAsIG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBt
bWFwIG9uIGRlbWFuZC4gKi8KICNpZiBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvU3RhY2tCb3VuZHMuaCBiL1NvdXJjZS9XVEYvd3RmL1N0YWNrQm91bmRzLmgK
aW5kZXggY2EzOTc0OTZmMDQ5MTVkZDQ5YTk4MTEwZjQzYjIwOTQ4NDQ2MTc4YS4uNzg3NjdjYzI4
NDY2NDQ4ZGM2MDA1OTNhN2I1MjMzNjZlYzY1Yjk2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvU3RhY2tCb3VuZHMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TdGFja0JvdW5kcy5oCkBAIC0y
Nyw2ICsyNyw4IEBACiAjaWZuZGVmIFN0YWNrQm91bmRzX2gKICNkZWZpbmUgU3RhY2tCb3VuZHNf
aAogCisjaW5jbHVkZSA8YWxnb3JpdGhtPgorCiBuYW1lc3BhY2UgV1RGIHsKIAogY2xhc3MgU3Rh
Y2tCb3VuZHMgewpAQCAtNjcsNiArNjksMTcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Y2hhcio+KG1fYm91bmQpIC0gbWluQXZhaWxhYmxlRGVsdGE7CiAgICAgfQogCisg
ICAgdm9pZCogcmVjdXJzaW9uTGltaXQoc2l6ZV90IGhvc3Rab25lU2l6ZSwgdm9pZCogZGVzaXJl
ZExpbWl0KSBjb25zdAorICAgIHsKKyAgICAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOworICAgICAg
ICBpZiAoaXNHcm93aW5nRG93bndhcmQoKSkgeworICAgICAgICAgICAgY2hhciogZW5kT2ZTdGFj
a1dpdGhIb3N0Wm9uZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KG1fYm91bmQpICsgaG9zdFpv
bmVTaXplOworICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bWF4KGRlc2lyZWRMaW1pdCwgcmVpbnRl
cnByZXRfY2FzdDx2b2lkKj4oZW5kT2ZTdGFja1dpdGhIb3N0Wm9uZSkpOworICAgICAgICB9Cisg
ICAgICAgIGNoYXIqIGVuZE9mU3RhY2tXaXRoSG9zdFpvbmUgPSByZWludGVycHJldF9jYXN0PGNo
YXIqPihtX2JvdW5kKSAtIGhvc3Rab25lU2l6ZTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWluKGRl
c2lyZWRMaW1pdCwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZW5kT2ZTdGFja1dpdGhIb3N0Wm9u
ZSkpOworICAgIH0KKwogICAgIGJvb2wgaXNHcm93aW5nRG93bndhcmQoKSBjb25zdAogICAgIHsK
ICAgICAgICAgQVNTRVJUKG1fb3JpZ2luICYmIG1fYm91bmQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlsaXRp
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db250ZW50
U2VhcmNoVXRpbGl0aWVzLmgKaW5kZXggOGVlZTEyNTYxYmI3NTdkMjg0MzIzNWUyMmFkNjcxNTVh
MWU5MjhlNS4uMDdjNDdjYWEwZmEwODUxY2M0M2U1ZmIyODFiNjhiMjA0MTEzZTM1YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL0NvbnRlbnRT
ZWFyY2hVdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9p
bnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGllcy5oCkBAIC0yLDMgKzIsNyBAQAogI2RlZmlu
ZSBXZWJDb3JlX0ZXRF9Db250ZW50U2VhcmNoVXRpbGl0aWVzX2gKICNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9Db250ZW50U2VhcmNoVXRpbGl0aWVzLmg+CiAjZW5kaWYKKyNpZm5kZWYgV2ViQ29y
ZV9GV0RfQ29udGVudFNlYXJjaFV0aWxpdGllc19oCisjZGVmaW5lIFdlYkNvcmVfRldEX0NvbnRl
bnRTZWFyY2hVdGlsaXRpZXNfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbnRlbnRTZWFy
Y2hVdGlsaXRpZXMuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2Fy
ZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdEJyZWFrcG9pbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRCcmVha3BvaW50LmgKaW5kZXggMTlk
ZTQyNTczYmI5ZDI0YTE5OGI1MGRiZDA5MmI2OWI1ZWE5OThiYy4uMzYyMGE0ZjBiYzIxNjEyMjE0
MWQwYmVkMTBmNjcxYzcwODEzYzA1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRm9yd2Fy
ZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdEJyZWFrcG9pbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0QnJlYWtwb2ludC5oCkBAIC0y
LDMgKzIsNyBAQAogI2RlZmluZSBXZWJDb3JlX0ZXRF9TY3JpcHRCcmVha3BvaW50X2gKICNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRCcmVha3BvaW50Lmg+CiAjZW5kaWYKKyNpZm5kZWYg
V2ViQ29yZV9GV0RfU2NyaXB0QnJlYWtwb2ludF9oCisjZGVmaW5lIFdlYkNvcmVfRldEX1Njcmlw
dEJyZWFrcG9pbnRfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdEJyZWFrcG9pbnQu
aD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMv
aW5zcGVjdG9yL1NjcmlwdERlYnVnTGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRp
bmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHREZWJ1Z0xpc3RlbmVyLmgKaW5kZXggZWM2ZmVhN2Uy
NzAyODljOTJmYTA3NzYyMzFhM2M4Zjc4NWEzMjc1MS4uMTlkZDcwY2ViYmI3NGYxNzdkOTQ1MmE2
MTQxODQxYTE3Mzc0MGNhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hl
YWRlcnMvaW5zcGVjdG9yL1NjcmlwdERlYnVnTGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0RGVidWdMaXN0ZW5lci5oCkBAIC0y
LDMgKzIsNyBAQAogI2RlZmluZSBXZWJDb3JlX0ZXRF9TY3JpcHREZWJ1Z0xpc3RlbmVyX2gKICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHREZWJ1Z0xpc3RlbmVyLmg+CiAjZW5kaWYKKyNp
Zm5kZWYgV2ViQ29yZV9GV0RfU2NyaXB0RGVidWdMaXN0ZW5lcl9oCisjZGVmaW5lIFdlYkNvcmVf
RldEX1NjcmlwdERlYnVnTGlzdGVuZXJfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1Njcmlw
dERlYnVnTGlzdGVuZXIuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9y
d2FyZGluZ0hlYWRlcnMvcnVudGltZS9FcnJvckhhbmRsaW5nU2NvcGUuaCBiL1NvdXJjZS9XZWJD
b3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvRXJyb3JIYW5kbGluZ1Njb3BlLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjZmZDJmZTAxZDFhNWQzMTE4NmE0MmMwNTNmZDMzMjY2Y2ZlNTQyMAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvRXJyb3JI
YW5kbGluZ1Njb3BlLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX0Vycm9y
SGFuZGxpbmdTY29wZV9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0Vycm9ySGFuZGxpbmdTY29wZV9o
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRXJyb3JIYW5kbGluZ1Njb3BlLmg+CisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3lhcnIvUmVndWxh
ckV4cHJlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3lhcnIvUmVn
dWxhckV4cHJlc3Npb24uaAppbmRleCAwOTlmYTQ2NDZmYTlkNzI1ZWFkOTI0NmM5ZjRmNzhkOWNh
NDdhMjJiLi5iYzI5M2UwNDk2NjZlOTFjNzE4MTJiZDhiNTFkZWQxYjRkOGFkZWZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy95YXJyL1JlZ3VsYXJFeHByZXNz
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMveWFyci9SZWd1bGFy
RXhwcmVzc2lvbi5oCkBAIC0yLDMgKzIsNyBAQAogI2RlZmluZSBXZWJDb3JlX0ZXRF9SZWd1bGFy
RXhwcmVzc2lvbl9oCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUmVndWxhckV4cHJlc3Npb24u
aD4KICNlbmRpZgorI2lmbmRlZiBXZWJDb3JlX0ZXRF9SZWd1bGFyRXhwcmVzc2lvbl9oCisjZGVm
aW5lIFdlYkNvcmVfRldEX1JlZ3VsYXJFeHByZXNzaW9uX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9SZWd1bGFyRXhwcmVzc2lvbi5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCBhMTM4NWI4YThkNjQ4MTAwN2I0NTk0
NzI5ZTdlMmE0OTIzNTMwYjRjLi42YTU3YmNmMjkwYjRhZjJlZGU5ZDY5Mzk0ZmI0MGVlZWFmNDU2
Nzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKQEAgLTE4NTAyLDYgKzE4NTAyLDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZv
cndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcQ29uc3RydWN0RGF0YS5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxEYXRlSW5zdGFuY2UuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVc
RXJyb3IuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XHJ1bnRpbWVcRXJyb3JIYW5kbGluZ1Njb3BlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEVycm9yUHJvdG90eXBlLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEV4Y2VwdGlv
bkhlbHBlcnMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFk
ZXJzXHJ1bnRpbWVcRXhlY3V0YWJsZS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDkwMDY3MjFjMjlj
Nzc0NWM1YTc2MTQzZDI3ZTBlNDIxMTEyYmU4MWMuLmJkYjAyODJhOTgyY2UyZDk0NmI1NGM2YWU2
MWRlODEyNDYzNWQ2NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTEyNDkyLDYgKzEyNDkyLDkgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcRXJyb3Iu
aCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWU8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFk
ZXJzXHJ1bnRpbWVcRXJyb3JIYW5kbGluZ1Njb3BlLmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJk
aW5nSGVhZGVyc1xydW50aW1lPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEVycm9yUHJvdG90eXBl
LmgiPgogICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lPC9GaWx0ZXI+CiAg
ICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5n
LmNwcAppbmRleCBhMzJkMzMyYWQyZTlhN2I4ZDE1ZjMwYmU0YTk1Njk5OTljZjk4ZWRhLi41ODIy
MWQwMGU0OTZiN2EwOTdlMDk4MmI0NDM5MWMwM2IyOGY0YzJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRl
IDxpbnRlcnByZXRlci9JbnRlcnByZXRlci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvRGF0ZUluc3Rh
bmNlLmg+CiAjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvRXJy
b3JIYW5kbGluZ1Njb3BlLmg+CiAjaW5jbHVkZSA8cnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmg+
CiAjaW5jbHVkZSA8cnVudGltZS9KU0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRy
YXMuaD4KQEAgLTE1NCw3ICsxNTUsNyBAQCB2b2lkIHJlcG9ydEV4Y2VwdGlvbihFeGVjU3RhdGUq
IGV4ZWMsIEpTVmFsdWUgZXhjZXB0aW9uLCBDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcgogICAgIGlm
IChpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24oZXhjZXB0aW9uKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgSW50ZXJwcmV0ZXI6OkVycm9ySGFuZGxpbmdNb2RlIG1vZGUoZXhlYyk7Cisg
ICAgRXJyb3JIYW5kbGluZ1Njb3BlIGVycm9yU2NvcGUoZXhlYy0+dm0oKSk7CiAKICAgICBSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2soY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRnJvbUV4
Y2VwdGlvbihleGVjLCBleGNlcHRpb24sIFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6
ZVRvQ2FwdHVyZSkpOwogICAgIGV4ZWMtPmNsZWFyRXhjZXB0aW9uKCk7CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzZiYmZiYjA1ZGYxNWQzZjE5
Y2ZkMzgyYjU4MTI1NzUxYzNjNDBlMy4uMTg2ODY5OTM5MTliZjk0NDUzNjRjZDg5NDYzZGQ2Yzdl
MTZjN2M1OSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDE0LTAxLTI4ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVu
YmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgTWVyZ2UgdGhlIGpzQ1N0YWNrIGJyYW5jaAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NzYzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL2Rp
c3BsYXktcHJvZmlsZXItb3V0cHV0OgorICAgICAgICAqIFNjcmlwdHMvcnVuLWpzYy1zdHJlc3Mt
dGVzdHM6CisKIDIwMTQtMDEtMjggIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBBZGQgQVBJIHRvIGFsbG93IHNldHRpbmcgdGhlIHBy
b2Nlc3MgbW9kZWwgaW4gV2ViS2l0V2ViQ29udGV4dApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy9kaXNwbGF5LXByb2ZpbGVyLW91dHB1dCBiL1Rvb2xzL1NjcmlwdHMvZGlzcGxheS1wcm9maWxl
ci1vdXRwdXQKaW5kZXggOTZhZjNmNTljZjRmOWM3YTljYjFmYjJlMzg2MjkyMTdjZTQ4YmJiMy4u
OGIyNjIyYTlmZTBiMWM0YWIyZDI5ZjgyYmI3MTBkMjg0ZDRlODYzYSAxMDA3NTUKLS0tIGEvVG9v
bHMvU2NyaXB0cy9kaXNwbGF5LXByb2ZpbGVyLW91dHB1dAorKysgYi9Ub29scy9TY3JpcHRzL2Rp
c3BsYXktcHJvZmlsZXItb3V0cHV0CkBAIC0xLDYgKzEsNiBAQAogIyEvdXNyL2Jpbi9lbnYgcnVi
eQogCi0jIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQzNyw3ICs0
MzcsMTEgQEAgJGNvbXBpbGF0aW9ucyA9ICRqc29uWyJjb21waWxhdGlvbnMiXS5tYXAgewogICAg
IHwgc3ViSnNvbiB8CiAgICAgQ29tcGlsYXRpb24ubmV3KHN1Ykpzb24pCiB9Ci0kZW5naW5lcyA9
IFsiQmFzZWxpbmUiLCAiREZHIl0KKyRlbmdpbmVzID0gWyJCYXNlbGluZSIsICJERkciLCAiRlRM
IiwgIkZUTEZvck9TUkVudHJ5Il0KKworZGVmIGlzT3B0aW1pemluZyhlbmdpbmUpCisgICAgZW5n
aW5lID09ICJERkciIG9yIGVuZ2luZSA9PSAiRlRMIiBvciBlbmdpbmUgPT0gIkZUTEZvck9TUkVu
dHJ5IgorZW5kCiAKICRzaG93Q291bnRzID0gdHJ1ZQogJHNvcnRNb2RlID0gOnRpbWUKQEAgLTU3
Miw5ICs1NzYsOSBAQCBkZWYgc3VtbWFyeShtb2RlKQogICAgIGlmIG1vZGUgPT0gOmZ1bGwKICAg
ICAgICAgcHJpbnQoIiAiICsgKCIgIiAqIGluc3RydWN0aW9uQ291bnRDb2xzKSkKICAgICBlbmQK
LSAgICBwcmludCgiICIgKyBjZW50ZXIoIkJhc2UvREZHIiwgY291bnRDb2xzKSkKKyAgICBwcmlu
dCgiICIgKyBjZW50ZXIoIkJhc2UvREZHL0ZUTC9GVExPU1IiLCBjb3VudENvbHMpKQogICAgIGlm
IG1vZGUgPT0gOmZ1bGwKLSAgICAgICAgcHJpbnQoIiAiICsgY2VudGVyKCJCYXNlL0RGRyIsIG1h
Y2hpbmVDb3VudENvbHMpKQorICAgICAgICBwcmludCgiICIgKyBjZW50ZXIoIkJhc2UvREZHL0ZU
TC9GVExPU1IiLCBtYWNoaW5lQ291bnRDb2xzKSkKICAgICAgICAgcHJpbnQoIiAiICsgKCIgIiAq
IGNvbXBpbGF0aW9uc0NvbHMpKQogICAgICAgICBwcmludCgiICIgKyBjZW50ZXIoIlNyYy9Ub3Rh
bCIsIGlubGluZXNDb2xzKSkKICAgICAgICAgcHJpbnQoIiAiICsgKCIgIiAqIGV4aXRDb3VudENv
bHMpKQpAQCAtNjc0LDcgKzY3OCw3IEBAIGRlZiBleGVjdXRlQ29tbWFuZCgqY29tbWFuZEFycmF5
KQogICAgICAgICAgICAgaWYgJHNob3dDb3VudHMKICAgICAgICAgICAgICAgICBwdXRzKGNlbnRl
cigiU291cmNlIENvdW50cyIsIGNvdW50Q29scykgKyAiICIgKyBjZW50ZXIoIk1hY2hpbmUgQ291
bnRzIiwgbWFjaGluZUNvbHMpICsKICAgICAgICAgICAgICAgICAgICAgICgiICIgKiBwYWQpICsg
Y2VudGVyKCJCeXRlY29kZSBmb3IgI3tieXRlY29kZXN9Iiwgc2NyZWVuV2lkdGggLSBwYWQgLSBj
b3VudENvbHMgLSAxIC0gbWFjaGluZUNvbHMpKQotICAgICAgICAgICAgICAgIHB1dHMoY2VudGVy
KCJCYXNlL0RGRyIsIGNvdW50Q29scykgKyAiICIgKyBjZW50ZXIoIkJhc2UvREZHIiwgY291bnRD
b2xzKSkKKyAgICAgICAgICAgICAgICBwdXRzKGNlbnRlcigiQmFzZS9ERkcvRlRML0ZUTE9TUiIs
IGNvdW50Q29scykgKyAiICIgKyBjZW50ZXIoIkJhc2UvREZHL0ZUTC9GVExPU1IiLCBjb3VudENv
bHMpKQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHB1dHMoIkJ5dGVjb2RlIGZv
ciAje2J5dGVjb2Rlc306IikKICAgICAgICAgICAgIGVuZApAQCAtODk0LDcgKzg5OCw3IEBAIGRl
ZiBleGVjdXRlQ29tbWFuZCgqY29tbWFuZEFycmF5KQogICAgICAgICAgICAgcHV0cygiQ29tcGls
YXRpb24gI3tjb21waWxhdGlvbn06IikKICAgICAgICAgICAgIGlmICRzaG93Q291bnRzCiAgICAg
ICAgICAgICAgICAgcHV0cyhjZW50ZXIoIkFjdHVhbCBDb3VudHMiLCBhY3R1YWxDb3VudENvbHMp
ICsgIiAiICsgY2VudGVyKCJTb3VyY2UgQ291bnRzIiwgc291cmNlQ291bnRDb2xzKSArICIgIiAr
IGNlbnRlcigiRGlzYXNzZW1ibHkgaW4gI3tjb21waWxhdGlvbi5lbmdpbmV9Iiwgc2NyZWVuV2lk
dGggLSAxIC0gc291cmNlQ291bnRDb2xzIC0gMSAtIGFjdHVhbENvdW50Q29scykpCi0gICAgICAg
ICAgICAgICAgcHV0cygoIiAiICogYWN0dWFsQ291bnRDb2xzKSArICIgIiArIGNlbnRlcigiQmFz
ZS9ERkciLCBzb3VyY2VDb3VudENvbHMpKQorICAgICAgICAgICAgICAgIHB1dHMoKCIgIiAqIGFj
dHVhbENvdW50Q29scykgKyAiICIgKyBjZW50ZXIoIkJhc2UvREZHL0ZUTC9GVExPU1IiLCBzb3Vy
Y2VDb3VudENvbHMpKQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHB1dHMoIkRp
c2Fzc2VtYmx5IGluICN7Y29tcGlsYXRpb24uZW5naW5lfSIpCiAgICAgICAgICAgICBlbmQKQEAg
LTkwNSwxMSArOTA5LDE1IEBAIGRlZiBleGVjdXRlQ29tbWFuZCgqY29tbWFuZEFycmF5KQogICAg
ICAgICAgICAgICAgIHwgZGVzY3JpcHRpb24gfAogICAgICAgICAgICAgICAgICMgRklYTUU6IFdl
IHNob3VsZCBoYXZlIGEgYmV0dGVyIHdheSBvZiBkZXRlY3RpbmcgdGhpbmdzIGxpa2UgQ291bnRF
eGVjdXRpb24gbm9kZXMKICAgICAgICAgICAgICAgICAjIGFuZCBzbG93IHBhdGggZW50cmllcyBp
biB0aGUgYmFzZWxpbmUgSklULgotICAgICAgICAgICAgICAgIGlmIGRlc2NyaXB0aW9uLmRlc2Ny
aXB0aW9uID1+IC9Db3VudEV4ZWN1dGlvblwoLyBhbmQgY29tcGlsYXRpb24uZW5naW5lID09ICJE
RkciCisgICAgICAgICAgICAgICAgaWYgZGVzY3JpcHRpb24uZGVzY3JpcHRpb24gPX4gL0NvdW50
RXhlY3V0aW9uXCgvIGFuZCBpc09wdGltaXppbmcoY29tcGlsYXRpb24uZW5naW5lKQogICAgICAg
ICAgICAgICAgICAgICBzaG91bGRTaG93ID0gZmFsc2UKICAgICAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgIHNob3VsZFNob3cgPSB0cnVlCiAgICAgICAgICAgICAgICAgZW5k
CisgICAgICAgICAgICAgICAgaWYgbm90IGRlc2NyaXB0aW9uLm9yaWdpbi5lbXB0eT8gYW5kIG5v
dCBkZXNjcmlwdGlvbi5vcmlnaW5bLTFdCisgICAgICAgICAgICAgICAgICAgIHAgZGVzY3JpcHRp
b24ub3JpZ2luCisgICAgICAgICAgICAgICAgICAgIHAgZGVzY3JpcHRpb24uZGVzY3JpcHRpb24K
KyAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgICBpZiBkZXNjcmlwdGlvbi5vcmln
aW4uZW1wdHk/IG9yIG5vdCBkZXNjcmlwdGlvbi5vcmlnaW5bLTFdLnNob3VsZEhhdmVDb3VudHM/
IG9yIChjb21waWxhdGlvbi5lbmdpbmUgPT0gIkJhc2VsaW5lIiBhbmQgZGVzY3JpcHRpb24uZGVz
Y3JpcHRpb24gPX4gL15ccypcKFNcKS8pCiAgICAgICAgICAgICAgICAgICAgIGFjdHVhbENvdW50
c1N0cmluZyA9ICIiCiAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUNvdW50c1N0cmluZyA9ICIi
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzIGIvVG9vbHMv
U2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwppbmRleCAxMTQ3Yzc3ZDA3NWQ2NDU4NmE5NTJl
OTljN2VkZGI1MGM1YzlmYjBhLi5hMmM0NWVhODNmMDJjMzZkOTdlMGU2ZDFkYzQ0YTk1MTI4Y2Ri
YjAxIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCisrKyBi
L1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKQEAgLTE4MCw2ICsxODAsOCBAQCAk
bnVtRmFpbHVyZXMgPSAwCiAKIEVBR0VSX09QVElPTlMgPSBbIi0tdGhyZXNob2xkRm9ySklUQWZ0
ZXJXYXJtVXA9MTAiLCAiLS10aHJlc2hvbGRGb3JKSVRTb29uPTEwIiwgIi0tdGhyZXNob2xkRm9y
T3B0aW1pemVBZnRlcldhcm1VcD0yMCIsICItLXRocmVzaG9sZEZvck9wdGltaXplQWZ0ZXJMb25n
V2FybVVwPTIwIiwgIi0tdGhyZXNob2xkRm9yT3B0aW1pemVTb29uPTIwIiwgIi0tdGhyZXNob2xk
Rm9yRlRMT3B0aW1pemVBZnRlcldhcm1VcD0yMCIsICItLXRocmVzaG9sZEZvckZUTE9wdGltaXpl
U29vbj0yMCJdCiAKK0ZUTF9PUFRJT05TID0gWyItLXVzZUV4cGVyaW1lbnRhbEZUTD10cnVlIiwg
Ii0tZW5hYmxlRXhwZXJpbWVudGFsRlRMQ292ZXJhZ2U9dHJ1ZSJdCisKICRydW5saXN0ID0gW10K
IAogZGVmIGZyYW1ld29ya0Zyb21KU0NQYXRoKGpzY1BhdGgpCkBAIC01MzIsMTkgKzUzNCwxOSBA
QCBkZWYgcnVuTm9DSklUVmFsaWRhdGVQaGFzZXMKIGVuZAogCiBkZWYgcnVuRGVmYXVsdEZUTAot
ICAgIHJ1bigiZGVmYXVsdC1mdGwiLCAiLS11c2VFeHBlcmltZW50YWxGVEw9dHJ1ZSIpCisgICAg
cnVuKCJkZWZhdWx0LWZ0bCIsICpGVExfT1BUSU9OUykKIGVuZAogCiBkZWYgcnVuRlRMTm9DSklU
Ci0gICAgcnVuKCJmdGwtbm8tY2ppdCIsICItLWVuYWJsZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAi
LS11c2VFeHBlcmltZW50YWxGVEw9dHJ1ZSIpCisgICAgcnVuKCJmdGwtbm8tY2ppdCIsICItLWVu
YWJsZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAqRlRMX09QVElPTlMpCiBlbmQKIAogZGVmIHJ1bkZU
TE5vQ0pJVFZhbGlkYXRlCi0gICAgcnVuKCJmdGwtbm8tY2ppdC12YWxpZGF0ZSIsICItLWVuYWJs
ZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAiLS11c2VFeHBlcmltZW50YWxGVEw9dHJ1ZSIsICItLXZh
bGlkYXRlR3JhcGg9dHJ1ZSIpCisgICAgcnVuKCJmdGwtbm8tY2ppdC12YWxpZGF0ZSIsICItLWVu
YWJsZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAiLS12YWxpZGF0ZUdyYXBoPXRydWUiLCAqRlRMX09Q
VElPTlMpCiBlbmQKIAogZGVmIHJ1bkZUTE5vQ0pJVE9TUlZhbGlkYXRpb24KLSAgICBydW4oImZ0
bC1uby1jaml0LW9zci12YWxpZGF0aW9uIiwgIi0tZW5hYmxlQ29uY3VycmVudEpJVD1mYWxzZSIs
ICItLXVzZUV4cGVyaW1lbnRhbEZUTD10cnVlIiwgIi0tdmFsaWRhdGVGVExPU1JFeGl0TGl2ZW5l
c3M9dHJ1ZSIpCisgICAgcnVuKCJmdGwtbm8tY2ppdC1vc3ItdmFsaWRhdGlvbiIsICItLWVuYWJs
ZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAiLS12YWxpZGF0ZUZUTE9TUkV4aXRMaXZlbmVzcz10cnVl
IiwgKkZUTF9PUFRJT05TKQogZW5kCiAKIGRlZiBydW5ERkdFYWdlcgpAQCAtNTU2LDE1ICs1NTgs
MTUgQEAgZGVmIHJ1bkRGR0VhZ2VyTm9DSklUVmFsaWRhdGUKIGVuZAogCiBkZWYgcnVuRlRMRWFn
ZXIKLSAgICBydW4oImZ0bC1lYWdlciIsICItLXVzZUV4cGVyaW1lbnRhbEZUTD10cnVlIiwgKkVB
R0VSX09QVElPTlMpCisgICAgcnVuKCJmdGwtZWFnZXIiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJf
T1BUSU9OUykpCiBlbmQKIAogZGVmIHJ1bkZUTEVhZ2VyTm9DSklUVmFsaWRhdGUKLSAgICBydW4o
ImZ0bC1lYWdlci1uby1jaml0IiwgIi0tdXNlRXhwZXJpbWVudGFsRlRMPXRydWUiLCAiLS1lbmFi
bGVDb25jdXJyZW50SklUPWZhbHNlIiwgIi0tdmFsaWRhdGVHcmFwaD10cnVlIiwgKkVBR0VSX09Q
VElPTlMpCisgICAgcnVuKCJmdGwtZWFnZXItbm8tY2ppdCIsICItLWVuYWJsZUNvbmN1cnJlbnRK
SVQ9ZmFsc2UiLCAiLS12YWxpZGF0ZUdyYXBoPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJf
T1BUSU9OUykpCiBlbmQKIAogZGVmIHJ1bkZUTEVhZ2VyTm9DSklUT1NSVmFsaWRhdGlvbgotICAg
IHJ1bigiZnRsLWVhZ2VyLW5vLWNqaXQtb3NyLXZhbGlkYXRpb24iLCAiLS11c2VFeHBlcmltZW50
YWxGVEw9dHJ1ZSIsICItLWVuYWJsZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAiLS12YWxpZGF0ZUZU
TE9TUkV4aXRMaXZlbmVzcz10cnVlIiwgKkVBR0VSX09QVElPTlMpCisgICAgcnVuKCJmdGwtZWFn
ZXItbm8tY2ppdC1vc3ItdmFsaWRhdGlvbiIsICItLWVuYWJsZUNvbmN1cnJlbnRKSVQ9ZmFsc2Ui
LCAiLS12YWxpZGF0ZUZUTE9TUkV4aXRMaXZlbmVzcz10cnVlIiwgKihGVExfT1BUSU9OUyArIEVB
R0VSX09QVElPTlMpKQogZW5kCiAKIGRlZiBydW5BbHdheXNUcmlnZ2VyQ29weVBoYXNlCkBAIC02
NDYsMTMgKzY0OCwzNCBAQCBkZWYgcnVuTGF5b3V0VGVzdERGR0VhZ2VyTm9DSklUCiAgICAgcnVu
TGF5b3V0VGVzdCgiZGZnLWVhZ2VyLW5vLWNqaXQiLCAiLS1lbmFibGVDb25jdXJyZW50SklUPWZh
bHNlIiwgKkVBR0VSX09QVElPTlMpCiBlbmQKIAotZGVmIGRlZmF1bHRSdW5MYXlvdXRUZXN0Citk
ZWYgcnVuTGF5b3V0VGVzdERlZmF1bHRGVEwKKyAgICBydW5MYXlvdXRUZXN0KCJmdGwiLCAiLS10
ZXN0VGhlRlRMPXRydWUiLCAqRlRMX09QVElPTlMpCitlbmQKKworZGVmIHJ1bkxheW91dFRlc3RG
VExOb0NKSVQKKyAgICBydW5MYXlvdXRUZXN0KCJmdGwtbm8tY2ppdCIsICItLXRlc3RUaGVGVEw9
dHJ1ZSIsICItLWVuYWJsZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAqRlRMX09QVElPTlMpCitlbmQK
KworZGVmIHJ1bkxheW91dFRlc3RGVExFYWdlck5vQ0pJVAorICAgIHJ1bkxheW91dFRlc3QoImZ0
bC1lYWdlci1uby1jaml0IiwgIi0tdGVzdFRoZUZUTD10cnVlIiwgIi0tZW5hYmxlQ29uY3VycmVu
dEpJVD1mYWxzZSIsICooRlRMX09QVElPTlMgKyBFQUdFUl9PUFRJT05TKSkKK2VuZAorCitkZWYg
bm9GVExSdW5MYXlvdXRUZXN0CiAgICAgcnVuTGF5b3V0VGVzdERlZmF1bHQKICAgICBydW5MYXlv
dXRUZXN0Tm9MTEludAogICAgIHJ1bkxheW91dFRlc3ROb0NKSVQKICAgICBydW5MYXlvdXRUZXN0
REZHRWFnZXJOb0NKSVQKIGVuZAogCitkZWYgZGVmYXVsdFJ1bkxheW91dFRlc3QKKyAgICBub0ZU
TFJ1bkxheW91dFRlc3QKKyAgICBpZiAkZW5hYmxlRlRMCisgICAgICAgIHJ1bkxheW91dFRlc3RE
ZWZhdWx0RlRMCisgICAgICAgIHJ1bkxheW91dFRlc3RGVExOb0NKSVQKKyAgICAgICAgcnVuTGF5
b3V0VGVzdEZUTEVhZ2VyTm9DSklUCisgICAgZW5kCitlbmQKKwogZGVmIHByZXBhcmVFeHRyYVJl
bGF0aXZlRmlsZXMoZXh0cmFGaWxlcywgZGVzdGluYXRpb24pCiAgICAgRGlyLmNoZGlyKCRvdXRw
dXREaXIpIHsKICAgICAgICAgZXh0cmFGaWxlcy5lYWNoIHsKQEAgLTcwNiw2ICs3MjksMTAgQEAg
ZGVmIHJ1bk1vemlsbGFUZXN0RGVmYXVsdChtb2RlLCAqZXh0cmFGaWxlcykKICAgICBydW5Nb3pp
bGxhVGVzdChuaWwsIG1vZGUsIGV4dHJhRmlsZXMpCiBlbmQKIAorZGVmIHJ1bk1vemlsbGFUZXN0
RGVmYXVsdEZUTChtb2RlLCAqZXh0cmFGaWxlcykKKyAgICBydW5Nb3ppbGxhVGVzdCgiZnRsIiwg
bW9kZSwgZXh0cmFGaWxlcywgKkZUTF9PUFRJT05TKQorZW5kCisKIGRlZiBydW5Nb3ppbGxhVGVz
dExMSW50KG1vZGUsICpleHRyYUZpbGVzKQogICAgIHJ1bk1vemlsbGFUZXN0KCJsbGludCIsIG1v
ZGUsIGV4dHJhRmlsZXMsICItLXVzZUpJVD1mYWxzZSIpCiBlbmQKQEAgLTcxOCwxMSArNzQ1LDE5
IEBAIGRlZiBydW5Nb3ppbGxhVGVzdERGR0VhZ2VyTm9DSklUVmFsaWRhdGVQaGFzZXMobW9kZSwg
KmV4dHJhRmlsZXMpCiAgICAgcnVuTW96aWxsYVRlc3QoImRmZy1lYWdlci1uby1jaml0LXZhbGlk
YXRlLXBoYXNlcyIsIG1vZGUsIGV4dHJhRmlsZXMsICItLWVuYWJsZUNvbmN1cnJlbnRKSVQ9ZmFs
c2UiLCAiLS12YWxpZGF0ZUJ5dGVjb2RlPXRydWUiLCAiLS12YWxpZGF0ZUdyYXBoQXRFYWNoUGhh
c2U9dHJ1ZSIsICpFQUdFUl9PUFRJT05TKQogZW5kCiAKK2RlZiBydW5Nb3ppbGxhVGVzdEZUTEVh
Z2VyTm9DSklUVmFsaWRhdGVQaGFzZXMobW9kZSwgKmV4dHJhRmlsZXMpCisgICAgcnVuTW96aWxs
YVRlc3QoImZ0bC1lYWdlci1uby1jaml0LXZhbGlkYXRlLXBoYXNlcyIsIG1vZGUsIGV4dHJhRmls
ZXMsICItLWVuYWJsZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAiLS12YWxpZGF0ZUJ5dGVjb2RlPXRy
dWUiLCAiLS12YWxpZGF0ZUdyYXBoQXRFYWNoUGhhc2U9dHJ1ZSIsICooRlRMX09QVElPTlMgKyBF
QUdFUl9PUFRJT05TKSkKK2VuZAorCiBkZWYgZGVmYXVsdFJ1bk1vemlsbGFUZXN0KG1vZGUsICpl
eHRyYUZpbGVzKQogICAgIHJ1bk1vemlsbGFUZXN0RGVmYXVsdChtb2RlLCAqZXh0cmFGaWxlcykK
ICAgICBydW5Nb3ppbGxhVGVzdExMSW50KG1vZGUsICpleHRyYUZpbGVzKQogICAgIHJ1bk1vemls
bGFUZXN0QmFzZWxpbmVKSVQobW9kZSwgKmV4dHJhRmlsZXMpCiAgICAgcnVuTW96aWxsYVRlc3RE
RkdFYWdlck5vQ0pJVFZhbGlkYXRlUGhhc2VzKG1vZGUsICpleHRyYUZpbGVzKQorICAgIGlmICRl
bmFibGVGVEwKKyAgICAgICAgcnVuTW96aWxsYVRlc3REZWZhdWx0RlRMKG1vZGUsICpleHRyYUZp
bGVzKQorICAgICAgICBydW5Nb3ppbGxhVGVzdEZUTEVhZ2VyTm9DSklUVmFsaWRhdGVQaGFzZXMo
bW9kZSwgKmV4dHJhRmlsZXMpCisgICAgZW5kCiBlbmQKIAogZGVmIHNraXAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1MjYw
MmI5ODgwYTQ0ZjM5OGY5YmVhZTk1ZjI3ZDIyODFhMGY2NGJjLi42YzU4ZWFkY2NlOTQ4MWY4NTFk
OGE2ZGVjZmM1Zjg0NmQxMjVjNjk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTQtMDEtMjgg
IE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBNZXJn
ZSB0aGUganNDU3RhY2sgYnJhbmNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjc3NjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGpzL2xhcmdlLWV4cHJlc3Npb25zLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBqcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9zdGVwYW5vdl9jb250YWluZXIuanM6CisgICAg
ICAgICoganMvcmVncmVzcy9zdGVwYW5vdl9jb250YWluZXItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGpzL3JlZ3Jlc3Mvc3RlcGFub3ZfY29udGFpbmVyLmh0bWw6CisgICAgICAgICoganMvc2Ny
aXB0LXRlc3RzL2RmZy1hZGQtbm90LW51bWJlci5qczoKKyAgICAgICAgKiBqcy9zY3JpcHQtdGVz
dHMvbGFyZ2UtZXhwcmVzc2lvbnMuanM6CisKIDIwMTQtMDEtMjcgIEJyaWFuIEJ1cmcgIDxiYnVy
Z0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY2xlYW4gdXAgaW5pdGlhbGl6
YXRpb24gb2YgbWFuYWdlcnMgYW5kIG9ic2VydmVycyBpbiBJbnNwZWN0b3JUZXN0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9sYXJnZS1leHByZXNzaW9ucy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9qcy9sYXJnZS1leHByZXNzaW9ucy1leHBlY3RlZC50eHQKaW5kZXggODc5ZTI2NDll
ZjRjOTlkYjU2ZjJlZmZmMThjMzEyZTI4NzJhYmM1NC4uYWEwNjE0M2I3NDJmOTI2MWM4MDRmMGY2
MzM5MjFmNWY5ZTc1OGVjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvbGFyZ2UtZXhwcmVz
c2lvbnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pzL2xhcmdlLWV4cHJlc3Npb25z
LWV4cGVjdGVkLnR4dApAQCAtNSw3ICs1LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAog
UEFTUyBldmFsKHJlcGVhdGVkRXhwcmVzc2lvbigibGV0dGVyQSIsICIrIiwgMTAwKSkgaXMgcmVw
ZWF0ZWRTdHJpbmcoImEiLCAxMDApCiBQQVNTIGV2YWwocmVwZWF0ZWRFeHByZXNzaW9uKCJsZXR0
ZXJBIiwgIisiLCAxMDAwKSkgaXMgcmVwZWF0ZWRTdHJpbmcoImEiLCAxMDAwKQotUEFTUyBldmFs
KHJlcGVhdGVkRXhwcmVzc2lvbigibGV0dGVyQSIsICIrIiwgMTAwMDApKSBpcyByZXBlYXRlZFN0
cmluZygiYSIsIDEwMDAwKQorUEFTUyBldmFsKHJlcGVhdGVkRXhwcmVzc2lvbigibGV0dGVyQSIs
ICIrIiwgMTAwMDApKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IE91dCBvZiBtZW1vcnkuCiBQQVNT
IGV2YWwocmVwZWF0ZWRFeHByZXNzaW9uKCJsZXR0ZXJBIiwgIisiLCAxMDAwMDApKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IE91dCBvZiBtZW1vcnkuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3Rz
L3N0ZXBhbm92X2NvbnRhaW5lci5qcyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRl
c3RzL3N0ZXBhbm92X2NvbnRhaW5lci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MzI4MzcxMDhkNzgwZGYyYWNiMjEwY2U3N2E0ODA2MWNjMGJiYzNhYi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Nj
cmlwdC10ZXN0cy9zdGVwYW5vdl9jb250YWluZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSw2NDA0
ICswLDAgQEAKLS8vQCBzbG93IQotLy9AIHJ1bkRlZmF1bHQKLS8vQCBydW5EZWZhdWx0RlRMIGlm
ICRlbmFibGVGVEwKLQotLy8gTm90ZTogRm9yIG1heGltdW0tc3BlZWQgY29kZSwgc2VlICJPcHRp
bWl6aW5nIENvZGUiIG9uIHRoZSBFbXNjcmlwdGVuIHdpa2ksIGh0dHBzOi8vZ2l0aHViLmNvbS9r
cmlwa2VuL2Vtc2NyaXB0ZW4vd2lraS9PcHRpbWl6aW5nLUNvZGUKLS8vIE5vdGU6IFNvbWUgRW1z
Y3JpcHRlbiBzZXR0aW5ncyBtYXkgbGltaXQgdGhlIHNwZWVkIG9mIHRoZSBnZW5lcmF0ZWQgY29k
ZS4KLS8vIFRoZSBNb2R1bGUgb2JqZWN0OiBPdXIgaW50ZXJmYWNlIHRvIHRoZSBvdXRzaWRlIHdv
cmxkLiBXZSBpbXBvcnQKLS8vIGFuZCBleHBvcnQgdmFsdWVzIG9uIGl0LCBhbmQgZG8gdGhlIHdv
cmsgdG8gZ2V0IHRoYXQgdGhyb3VnaAotLy8gY2xvc3VyZSBjb21waWxlciBpZiBuZWNlc3Nhcnku
IFRoZXJlIGFyZSB2YXJpb3VzIHdheXMgTW9kdWxlIGNhbiBiZSB1c2VkOgotLy8gMS4gTm90IGRl
ZmluZWQuIFdlIGNyZWF0ZSBpdCBoZXJlCi0vLyAyLiBBIGZ1bmN0aW9uIHBhcmFtZXRlciwgZnVu
Y3Rpb24oTW9kdWxlKSB7IC4uZ2VuZXJhdGVkIGNvZGUuLiB9Ci0vLyAzLiBwcmUtcnVuIGFwcGVu
ZGVkIGl0LCB2YXIgTW9kdWxlID0ge307IC4uZ2VuZXJhdGVkIGNvZGUuLgotLy8gNC4gRXh0ZXJu
YWwgc2NyaXB0IHRhZyBkZWZpbmVzIHZhciBNb2R1bGUuCi0vLyBXZSBuZWVkIHRvIGRvIGFuIGV2
YWwgaW4gb3JkZXIgdG8gaGFuZGxlIHRoZSBjbG9zdXJlIGNvbXBpbGVyCi0vLyBjYXNlLCB3aGVy
ZSB0aGlzIGNvZGUgaGVyZSBpcyBtaW5pZmllZCBidXQgTW9kdWxlIHdhcyBkZWZpbmVkCi0vLyBl
bHNld2hlcmUgKGUuZy4gY2FzZSA0IGFib3ZlKS4gV2UgYWxzbyBuZWVkIHRvIGNoZWNrIGlmIE1v
ZHVsZQotLy8gYWxyZWFkeSBleGlzdHMgKGUuZy4gY2FzZSAzIGFib3ZlKS4KLS8vIE5vdGUgdGhh
dCBpZiB5b3Ugd2FudCB0byBydW4gY2xvc3VyZSwgYW5kIGFsc28gdG8gdXNlIE1vZHVsZQotLy8g
YWZ0ZXIgdGhlIGdlbmVyYXRlZCBjb2RlLCB5b3Ugd2lsbCBuZWVkIHRvIGRlZmluZSAgIHZhciBN
b2R1bGUgPSB7fTsKLS8vIGJlZm9yZSB0aGUgY29kZS4gVGhlbiB0aGF0IG9iamVjdCB3aWxsIGJl
IHVzZWQgaW4gdGhlIGNvZGUsIGFuZCB5b3UKLS8vIGNhbiBjb250aW51ZSB0byB1c2UgTW9kdWxl
IGFmdGVyd2FyZHMgYXMgd2VsbC4KLXZhciBNb2R1bGU7Ci1pZiAoIU1vZHVsZSkgTW9kdWxlID0g
ZXZhbCgnKGZ1bmN0aW9uKCkgeyB0cnkgeyByZXR1cm4gTW9kdWxlIHx8IHt9IH0gY2F0Y2goZSkg
eyByZXR1cm4ge30gfSB9KSgpJyk7Ci0vLyBTb21ldGltZXMgYW4gZXhpc3RpbmcgTW9kdWxlIG9i
amVjdCBleGlzdHMgd2l0aCBwcm9wZXJ0aWVzCi0vLyBtZWFudCB0byBvdmVyd3JpdGUgdGhlIGRl
ZmF1bHQgbW9kdWxlIGZ1bmN0aW9uYWxpdHkuIEhlcmUKLS8vIHdlIGNvbGxlY3QgdGhvc2UgcHJv
cGVydGllcyBhbmQgcmVhcHBseSBfYWZ0ZXJfIHdlIGNvbmZpZ3VyZQotLy8gdGhlIGN1cnJlbnQg
ZW52aXJvbm1lbnQncyBkZWZhdWx0cyB0byBhdm9pZCBoYXZpbmcgdG8gYmUgc28KLS8vIGRlZmVu
c2l2ZSBkdXJpbmcgaW5pdGlhbGl6YXRpb24uCi12YXIgbW9kdWxlT3ZlcnJpZGVzID0ge307Ci1m
b3IgKHZhciBrZXkgaW4gTW9kdWxlKSB7Ci0gIGlmIChNb2R1bGUuaGFzT3duUHJvcGVydHkoa2V5
KSkgewotICAgIG1vZHVsZU92ZXJyaWRlc1trZXldID0gTW9kdWxlW2tleV07Ci0gIH0KLX0KLS8v
IFRoZSBlbnZpcm9ubWVudCBzZXR1cCBjb2RlIGJlbG93IGlzIGN1c3RvbWl6ZWQgdG8gdXNlIE1v
ZHVsZS4KLS8vICoqKiBFbnZpcm9ubWVudCBzZXR1cCBjb2RlICoqKgotdmFyIEVOVklST05NRU5U
X0lTX05PREUgPSB0eXBlb2YgcHJvY2VzcyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIHJlcXVpcmUg
PT09ICdmdW5jdGlvbic7Ci12YXIgRU5WSVJPTk1FTlRfSVNfV0VCID0gdHlwZW9mIHdpbmRvdyA9
PT0gJ29iamVjdCc7Ci12YXIgRU5WSVJPTk1FTlRfSVNfV09SS0VSID0gdHlwZW9mIGltcG9ydFNj
cmlwdHMgPT09ICdmdW5jdGlvbic7Ci12YXIgRU5WSVJPTk1FTlRfSVNfU0hFTEwgPSAhRU5WSVJP
Tk1FTlRfSVNfV0VCICYmICFFTlZJUk9OTUVOVF9JU19OT0RFICYmICFFTlZJUk9OTUVOVF9JU19X
T1JLRVI7Ci1pZiAoRU5WSVJPTk1FTlRfSVNfTk9ERSkgewotICAvLyBFeHBvc2UgZnVuY3Rpb25h
bGl0eSBpbiB0aGUgc2FtZSBzaW1wbGUgd2F5IHRoYXQgdGhlIHNoZWxscyB3b3JrCi0gIC8vIE5v
dGUgdGhhdCB3ZSBwb2xsdXRlIHRoZSBnbG9iYWwgbmFtZXNwYWNlIGhlcmUsIG90aGVyd2lzZSB3
ZSBicmVhayBpbiBub2RlCi0gIE1vZHVsZVsncHJpbnQnXSA9IGZ1bmN0aW9uKHgpIHsKLSAgICBw
cm9jZXNzWydzdGRvdXQnXS53cml0ZSh4ICsgJ1xuJyk7Ci0gIH07Ci0gIE1vZHVsZVsncHJpbnRF
cnInXSA9IGZ1bmN0aW9uKHgpIHsKLSAgICBwcm9jZXNzWydzdGRlcnInXS53cml0ZSh4ICsgJ1xu
Jyk7Ci0gIH07Ci0gIHZhciBub2RlRlMgPSByZXF1aXJlKCdmcycpOwotICB2YXIgbm9kZVBhdGgg
PSByZXF1aXJlKCdwYXRoJyk7Ci0gIE1vZHVsZVsncmVhZCddID0gZnVuY3Rpb24oZmlsZW5hbWUs
IGJpbmFyeSkgewotICAgIGZpbGVuYW1lID0gbm9kZVBhdGhbJ25vcm1hbGl6ZSddKGZpbGVuYW1l
KTsKLSAgICB2YXIgcmV0ID0gbm9kZUZTWydyZWFkRmlsZVN5bmMnXShmaWxlbmFtZSk7Ci0gICAg
Ly8gVGhlIHBhdGggaXMgYWJzb2x1dGUgaWYgdGhlIG5vcm1hbGl6ZWQgdmVyc2lvbiBpcyB0aGUg
c2FtZSBhcyB0aGUgcmVzb2x2ZWQuCi0gICAgaWYgKCFyZXQgJiYgZmlsZW5hbWUgIT0gbm9kZVBh
dGhbJ3Jlc29sdmUnXShmaWxlbmFtZSkpIHsKLSAgICAgIGZpbGVuYW1lID0gcGF0aC5qb2luKF9f
ZGlybmFtZSwgJy4uJywgJ3NyYycsIGZpbGVuYW1lKTsKLSAgICAgIHJldCA9IG5vZGVGU1sncmVh
ZEZpbGVTeW5jJ10oZmlsZW5hbWUpOwotICAgIH0KLSAgICBpZiAocmV0ICYmICFiaW5hcnkpIHJl
dCA9IHJldC50b1N0cmluZygpOwotICAgIHJldHVybiByZXQ7Ci0gIH07Ci0gIE1vZHVsZVsncmVh
ZEJpbmFyeSddID0gZnVuY3Rpb24oZmlsZW5hbWUpIHsgcmV0dXJuIE1vZHVsZVsncmVhZCddKGZp
bGVuYW1lLCB0cnVlKSB9OwotICBNb2R1bGVbJ2xvYWQnXSA9IGZ1bmN0aW9uKGYpIHsKLSAgICBn
bG9iYWxFdmFsKHJlYWQoZikpOwotICB9OwotICBNb2R1bGVbJ2FyZ3VtZW50cyddID0gcHJvY2Vz
c1snYXJndiddLnNsaWNlKDIpOwotICBtb2R1bGUuZXhwb3J0cyA9IE1vZHVsZTsKLX0KLWVsc2Ug
aWYgKEVOVklST05NRU5UX0lTX1NIRUxMKSB7Ci0gIE1vZHVsZVsncHJpbnQnXSA9IHByaW50Owot
ICBpZiAodHlwZW9mIHByaW50RXJyICE9ICd1bmRlZmluZWQnKSBNb2R1bGVbJ3ByaW50RXJyJ10g
PSBwcmludEVycjsgLy8gbm90IHByZXNlbnQgaW4gdjggb3Igb2xkZXIgc20KLSAgaWYgKHR5cGVv
ZiByZWFkICE9ICd1bmRlZmluZWQnKSB7Ci0gICAgTW9kdWxlWydyZWFkJ10gPSByZWFkOwotICB9
IGVsc2UgewotICAgIE1vZHVsZVsncmVhZCddID0gZnVuY3Rpb24oKSB7IHRocm93ICdubyByZWFk
KCkgYXZhaWxhYmxlIChqc2M/KScgfTsKLSAgfQotICBNb2R1bGVbJ3JlYWRCaW5hcnknXSA9IGZ1
bmN0aW9uKGYpIHsKLSAgICByZXR1cm4gcmVhZChmLCAnYmluYXJ5Jyk7Ci0gIH07Ci0gIGlmICh0
eXBlb2Ygc2NyaXB0QXJncyAhPSAndW5kZWZpbmVkJykgewotICAgIE1vZHVsZVsnYXJndW1lbnRz
J10gPSBzY3JpcHRBcmdzOwotICB9IGVsc2UgaWYgKHR5cGVvZiBhcmd1bWVudHMgIT0gJ3VuZGVm
aW5lZCcpIHsKLSAgICBNb2R1bGVbJ2FyZ3VtZW50cyddID0gYXJndW1lbnRzOwotICB9Ci0gIHRo
aXNbJ01vZHVsZSddID0gTW9kdWxlOwotfQotZWxzZSBpZiAoRU5WSVJPTk1FTlRfSVNfV0VCIHx8
IEVOVklST05NRU5UX0lTX1dPUktFUikgewotICBNb2R1bGVbJ3JlYWQnXSA9IGZ1bmN0aW9uKHVy
bCkgewotICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub3Blbign
R0VUJywgdXJsLCBmYWxzZSk7Ci0gICAgeGhyLnNlbmQobnVsbCk7Ci0gICAgcmV0dXJuIHhoci5y
ZXNwb25zZVRleHQ7Ci0gIH07Ci0gIGlmICh0eXBlb2YgYXJndW1lbnRzICE9ICd1bmRlZmluZWQn
KSB7Ci0gICAgTW9kdWxlWydhcmd1bWVudHMnXSA9IGFyZ3VtZW50czsKLSAgfQotICBpZiAoRU5W
SVJPTk1FTlRfSVNfV0VCKSB7Ci0gICAgTW9kdWxlWydwcmludCddID0gZnVuY3Rpb24oeCkgewot
ICAgICAgY29uc29sZS5sb2coeCk7Ci0gICAgfTsKLSAgICBNb2R1bGVbJ3ByaW50RXJyJ10gPSBm
dW5jdGlvbih4KSB7Ci0gICAgICBjb25zb2xlLmxvZyh4KTsKLSAgICB9OwotICAgIHRoaXNbJ01v
ZHVsZSddID0gTW9kdWxlOwotICB9IGVsc2UgaWYgKEVOVklST05NRU5UX0lTX1dPUktFUikgewot
ICAgIC8vIFdlIGNhbiBkbyB2ZXJ5IGxpdHRsZSBoZXJlLi4uCi0gICAgdmFyIFRSWV9VU0VfRFVN
UCA9IGZhbHNlOwotICAgIE1vZHVsZVsncHJpbnQnXSA9IChUUllfVVNFX0RVTVAgJiYgKHR5cGVv
ZihkdW1wKSAhPT0gInVuZGVmaW5lZCIpID8gKGZ1bmN0aW9uKHgpIHsKLSAgICAgIGR1bXAoeCk7
Ci0gICAgfSkgOiAoZnVuY3Rpb24oeCkgewotICAgICAgLy8gc2VsZi5wb3N0TWVzc2FnZSh4KTsg
Ly8gZW5hYmxlIHRoaXMgaWYgeW91IHdhbnQgc3Rkb3V0IHRvIGJlIHNlbnQgYXMgbWVzc2FnZXMK
LSAgICB9KSk7Ci0gICAgTW9kdWxlWydsb2FkJ10gPSBpbXBvcnRTY3JpcHRzOwotICB9Ci19Ci1l
bHNlIHsKLSAgLy8gVW5yZWFjaGFibGUgYmVjYXVzZSBTSEVMTCBpcyBkZXBlbmRhbnQgb24gdGhl
IG90aGVycwotICB0aHJvdyAnVW5rbm93biBydW50aW1lIGVudmlyb25tZW50LiBXaGVyZSBhcmUg
d2U/JzsKLX0KLWZ1bmN0aW9uIGdsb2JhbEV2YWwoeCkgewotICBldmFsLmNhbGwobnVsbCwgeCk7
Ci19Ci1pZiAoIU1vZHVsZVsnbG9hZCddID09ICd1bmRlZmluZWQnICYmIE1vZHVsZVsncmVhZCdd
KSB7Ci0gIE1vZHVsZVsnbG9hZCddID0gZnVuY3Rpb24oZikgewotICAgIGdsb2JhbEV2YWwoTW9k
dWxlWydyZWFkJ10oZikpOwotICB9OwotfQotaWYgKCFNb2R1bGVbJ3ByaW50J10pIHsKLSAgTW9k
dWxlWydwcmludCddID0gZnVuY3Rpb24oKXt9OwotfQotaWYgKCFNb2R1bGVbJ3ByaW50RXJyJ10p
IHsKLSAgTW9kdWxlWydwcmludEVyciddID0gTW9kdWxlWydwcmludCddOwotfQotaWYgKCFNb2R1
bGVbJ2FyZ3VtZW50cyddKSB7Ci0gIE1vZHVsZVsnYXJndW1lbnRzJ10gPSBbXTsKLX0KLS8vICoq
KiBFbnZpcm9ubWVudCBzZXR1cCBjb2RlICoqKgotLy8gQ2xvc3VyZSBoZWxwZXJzCi1Nb2R1bGUu
cHJpbnQgPSBNb2R1bGVbJ3ByaW50J107Ci1Nb2R1bGUucHJpbnRFcnIgPSBNb2R1bGVbJ3ByaW50
RXJyJ107Ci0vLyBDYWxsYmFja3MKLU1vZHVsZVsncHJlUnVuJ10gPSBbXTsKLU1vZHVsZVsncG9z
dFJ1biddID0gW107Ci0vLyBNZXJnZSBiYWNrIGluIHRoZSBvdmVycmlkZXMKLWZvciAodmFyIGtl
eSBpbiBtb2R1bGVPdmVycmlkZXMpIHsKLSAgaWYgKG1vZHVsZU92ZXJyaWRlcy5oYXNPd25Qcm9w
ZXJ0eShrZXkpKSB7Ci0gICAgTW9kdWxlW2tleV0gPSBtb2R1bGVPdmVycmlkZXNba2V5XTsKLSAg
fQotfQotLy8gPT09IEF1dG8tZ2VuZXJhdGVkIHByZWFtYmxlIGxpYnJhcnkgc3R1ZmYgPT09Ci0v
Lz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS8vIFJ1bnRpbWUgY29k
ZSBzaGFyZWQgd2l0aCBjb21waWxlcgotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci12YXIgUnVudGltZSA9IHsKLSAgc3RhY2tTYXZlOiBmdW5jdGlvbiAoKSB7Ci0g
ICAgcmV0dXJuIFNUQUNLVE9QOwotICB9LAotICBzdGFja1Jlc3RvcmU6IGZ1bmN0aW9uIChzdGFj
a1RvcCkgewotICAgIFNUQUNLVE9QID0gc3RhY2tUb3A7Ci0gIH0sCi0gIGZvcmNlQWxpZ246IGZ1
bmN0aW9uICh0YXJnZXQsIHF1YW50dW0pIHsKLSAgICBxdWFudHVtID0gcXVhbnR1bSB8fCA0Owot
ICAgIGlmIChxdWFudHVtID09IDEpIHJldHVybiB0YXJnZXQ7Ci0gICAgaWYgKGlzTnVtYmVyKHRh
cmdldCkgJiYgaXNOdW1iZXIocXVhbnR1bSkpIHsKLSAgICAgIHJldHVybiBNYXRoLmNlaWwodGFy
Z2V0L3F1YW50dW0pKnF1YW50dW07Ci0gICAgfSBlbHNlIGlmIChpc051bWJlcihxdWFudHVtKSAm
JiBpc1Bvd2VyT2ZUd28ocXVhbnR1bSkpIHsKLSAgICAgIHZhciBsb2dnID0gbG9nMihxdWFudHVt
KTsKLSAgICAgIHJldHVybiAnKCgoKCcgK3RhcmdldCArICcpKycgKyAocXVhbnR1bS0xKSArICcp
Pj4nICsgbG9nZyArICcpPDwnICsgbG9nZyArICcpJzsKLSAgICB9Ci0gICAgcmV0dXJuICdNYXRo
LmNlaWwoKCcgKyB0YXJnZXQgKyAnKS8nICsgcXVhbnR1bSArICcpKicgKyBxdWFudHVtOwotICB9
LAotICBpc051bWJlclR5cGU6IGZ1bmN0aW9uICh0eXBlKSB7Ci0gICAgcmV0dXJuIHR5cGUgaW4g
UnVudGltZS5JTlRfVFlQRVMgfHwgdHlwZSBpbiBSdW50aW1lLkZMT0FUX1RZUEVTOwotICB9LAot
ICBpc1BvaW50ZXJUeXBlOiBmdW5jdGlvbiBpc1BvaW50ZXJUeXBlKHR5cGUpIHsKLSAgcmV0dXJu
IHR5cGVbdHlwZS5sZW5ndGgtMV0gPT0gJyonOwotfSwKLSAgaXNTdHJ1Y3RUeXBlOiBmdW5jdGlv
biBpc1N0cnVjdFR5cGUodHlwZSkgewotICBpZiAoaXNQb2ludGVyVHlwZSh0eXBlKSkgcmV0dXJu
IGZhbHNlOwotICBpZiAoaXNBcnJheVR5cGUodHlwZSkpIHJldHVybiB0cnVlOwotICBpZiAoLzw/
eyA/W159XSogP30+Py8udGVzdCh0eXBlKSkgcmV0dXJuIHRydWU7IC8vIHsgaTMyLCBpOCB9IGV0
Yy4gLSBhbm9ueW1vdXMgc3RydWN0IHR5cGVzCi0gIC8vIFNlZSBjb21tZW50IGluIGlzU3RydWN0
UG9pbnRlclR5cGUoKQotICByZXR1cm4gdHlwZVswXSA9PSAnJSc7Ci19LAotICBJTlRfVFlQRVM6
IHsiaTEiOjAsImk4IjowLCJpMTYiOjAsImkzMiI6MCwiaTY0IjowfSwKLSAgRkxPQVRfVFlQRVM6
IHsiZmxvYXQiOjAsImRvdWJsZSI6MH0sCi0gIG9yNjQ6IGZ1bmN0aW9uICh4LCB5KSB7Ci0gICAg
dmFyIGwgPSAoeCB8IDApIHwgKHkgfCAwKTsKLSAgICB2YXIgaCA9IChNYXRoLnJvdW5kKHggLyA0
Mjk0OTY3Mjk2KSB8IE1hdGgucm91bmQoeSAvIDQyOTQ5NjcyOTYpKSAqIDQyOTQ5NjcyOTY7Ci0g
ICAgcmV0dXJuIGwgKyBoOwotICB9LAotICBhbmQ2NDogZnVuY3Rpb24gKHgsIHkpIHsKLSAgICB2
YXIgbCA9ICh4IHwgMCkgJiAoeSB8IDApOwotICAgIHZhciBoID0gKE1hdGgucm91bmQoeCAvIDQy
OTQ5NjcyOTYpICYgTWF0aC5yb3VuZCh5IC8gNDI5NDk2NzI5NikpICogNDI5NDk2NzI5NjsKLSAg
ICByZXR1cm4gbCArIGg7Ci0gIH0sCi0gIHhvcjY0OiBmdW5jdGlvbiAoeCwgeSkgewotICAgIHZh
ciBsID0gKHggfCAwKSBeICh5IHwgMCk7Ci0gICAgdmFyIGggPSAoTWF0aC5yb3VuZCh4IC8gNDI5
NDk2NzI5NikgXiBNYXRoLnJvdW5kKHkgLyA0Mjk0OTY3Mjk2KSkgKiA0Mjk0OTY3Mjk2OwotICAg
IHJldHVybiBsICsgaDsKLSAgfSwKLSAgZ2V0TmF0aXZlVHlwZVNpemU6IGZ1bmN0aW9uICh0eXBl
LCBxdWFudHVtU2l6ZSkgewotICAgIGlmIChSdW50aW1lLlFVQU5UVU1fU0laRSA9PSAxKSByZXR1
cm4gMTsKLSAgICB2YXIgc2l6ZSA9IHsKLSAgICAgICclaTEnOiAxLAotICAgICAgJyVpOCc6IDEs
Ci0gICAgICAnJWkxNic6IDIsCi0gICAgICAnJWkzMic6IDQsCi0gICAgICAnJWk2NCc6IDgsCi0g
ICAgICAiJWZsb2F0IjogNCwKLSAgICAgICIlZG91YmxlIjogOAotICAgIH1bJyUnK3R5cGVdOyAv
LyBhZGQgJyUnIHNpbmNlIGZsb2F0IGFuZCBkb3VibGUgY29uZnVzZSBDbG9zdXJlIGNvbXBpbGVy
IGFzIGtleXMsIGFuZCBhbHNvIHNwaWRlcm1vbmtleSBhcyBhIGNvbXBpbGVyIHdpbGwgcmVtb3Zl
ICdzIGZyb20gJ19pOCcgZXRjCi0gICAgaWYgKCFzaXplKSB7Ci0gICAgICBpZiAodHlwZS5jaGFy
QXQodHlwZS5sZW5ndGgtMSkgPT0gJyonKSB7Ci0gICAgICAgIHNpemUgPSBSdW50aW1lLlFVQU5U
VU1fU0laRTsgLy8gQSBwb2ludGVyCi0gICAgICB9IGVsc2UgaWYgKHR5cGVbMF0gPT0gJ2knKSB7
Ci0gICAgICAgIHZhciBiaXRzID0gcGFyc2VJbnQodHlwZS5zdWJzdHIoMSkpOwotICAgICAgICBh
c3NlcnQoYml0cyAlIDggPT0gMCk7Ci0gICAgICAgIHNpemUgPSBiaXRzLzg7Ci0gICAgICB9Ci0g
ICAgfQotICAgIHJldHVybiBzaXplOwotICB9LAotICBnZXROYXRpdmVGaWVsZFNpemU6IGZ1bmN0
aW9uICh0eXBlKSB7Ci0gICAgcmV0dXJuIE1hdGgubWF4KFJ1bnRpbWUuZ2V0TmF0aXZlVHlwZVNp
emUodHlwZSksIFJ1bnRpbWUuUVVBTlRVTV9TSVpFKTsKLSAgfSwKLSAgZGVkdXA6IGZ1bmN0aW9u
IGRlZHVwKGl0ZW1zLCBpZGVudCkgewotICB2YXIgc2VlbiA9IHt9OwotICBpZiAoaWRlbnQpIHsK
LSAgICByZXR1cm4gaXRlbXMuZmlsdGVyKGZ1bmN0aW9uKGl0ZW0pIHsKLSAgICAgIGlmIChzZWVu
W2l0ZW1baWRlbnRdXSkgcmV0dXJuIGZhbHNlOwotICAgICAgc2VlbltpdGVtW2lkZW50XV0gPSB0
cnVlOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSk7Ci0gIH0gZWxzZSB7Ci0gICAgcmV0dXJu
IGl0ZW1zLmZpbHRlcihmdW5jdGlvbihpdGVtKSB7Ci0gICAgICBpZiAoc2VlbltpdGVtXSkgcmV0
dXJuIGZhbHNlOwotICAgICAgc2VlbltpdGVtXSA9IHRydWU7Ci0gICAgICByZXR1cm4gdHJ1ZTsK
LSAgICB9KTsKLSAgfQotfSwKLSAgc2V0OiBmdW5jdGlvbiBzZXQoKSB7Ci0gIHZhciBhcmdzID0g
dHlwZW9mIGFyZ3VtZW50c1swXSA9PT0gJ29iamVjdCcgPyBhcmd1bWVudHNbMF0gOiBhcmd1bWVu
dHM7Ci0gIHZhciByZXQgPSB7fTsKLSAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsg
aSsrKSB7Ci0gICAgcmV0W2FyZ3NbaV1dID0gMDsKLSAgfQotICByZXR1cm4gcmV0OwotfSwKLSAg
U1RBQ0tfQUxJR046IDgsCi0gIGdldEFsaWduU2l6ZTogZnVuY3Rpb24gKHR5cGUsIHNpemUsIHZh
cmFyZykgewotICAgIC8vIHdlIGFsaWduIGk2NHMgYW5kIGRvdWJsZXMgb24gNjQtYml0IGJvdW5k
YXJpZXMsIHVubGlrZSB4ODYKLSAgICBpZiAodHlwZSA9PSAnaTY0JyB8fCB0eXBlID09ICdkb3Vi
bGUnIHx8IHZhcmFyZykgcmV0dXJuIDg7Ci0gICAgaWYgKCF0eXBlKSByZXR1cm4gTWF0aC5taW4o
c2l6ZSwgOCk7IC8vIGFsaWduIHN0cnVjdHVyZXMgaW50ZXJuYWxseSB0byA2NCBiaXRzCi0gICAg
cmV0dXJuIE1hdGgubWluKHNpemUgfHwgKHR5cGUgPyBSdW50aW1lLmdldE5hdGl2ZUZpZWxkU2l6
ZSh0eXBlKSA6IDApLCBSdW50aW1lLlFVQU5UVU1fU0laRSk7Ci0gIH0sCi0gIGNhbGN1bGF0ZVN0
cnVjdEFsaWdubWVudDogZnVuY3Rpb24gY2FsY3VsYXRlU3RydWN0QWxpZ25tZW50KHR5cGUpIHsK
LSAgICB0eXBlLmZsYXRTaXplID0gMDsKLSAgICB0eXBlLmFsaWduU2l6ZSA9IDA7Ci0gICAgdmFy
IGRpZmZzID0gW107Ci0gICAgdmFyIHByZXYgPSAtMTsKLSAgICB2YXIgaW5kZXggPSAwOwotICAg
IHR5cGUuZmxhdEluZGV4ZXMgPSB0eXBlLmZpZWxkcy5tYXAoZnVuY3Rpb24oZmllbGQpIHsKLSAg
ICAgIGluZGV4Kys7Ci0gICAgICB2YXIgc2l6ZSwgYWxpZ25TaXplOwotICAgICAgaWYgKFJ1bnRp
bWUuaXNOdW1iZXJUeXBlKGZpZWxkKSB8fCBSdW50aW1lLmlzUG9pbnRlclR5cGUoZmllbGQpKSB7
Ci0gICAgICAgIHNpemUgPSBSdW50aW1lLmdldE5hdGl2ZVR5cGVTaXplKGZpZWxkKTsgLy8gcGFj
ayBjaGFyOyBjaGFyOyBpbiBzdHJ1Y3RzLCBhbHNvIGNoYXJbWF1zLgotICAgICAgICBhbGlnblNp
emUgPSBSdW50aW1lLmdldEFsaWduU2l6ZShmaWVsZCwgc2l6ZSk7Ci0gICAgICB9IGVsc2UgaWYg
KFJ1bnRpbWUuaXNTdHJ1Y3RUeXBlKGZpZWxkKSkgewotICAgICAgICBpZiAoZmllbGRbMV0gPT09
ICcwJykgewotICAgICAgICAgIC8vIHRoaXMgaXMgWzAgeCBzb21ldGhpbmddLiBXaGVuIGluc2lk
ZSBhbm90aGVyIHN0cnVjdHVyZSBsaWtlIGhlcmUsIGl0IG11c3QgYmUgYXQgdGhlIGVuZCwKLSAg
ICAgICAgICAvLyBhbmQgaXQgYWRkcyBubyBzaXplCi0gICAgICAgICAgLy8gWFhYIHRoaXMgaGFw
cGVucyBpbiBqYXZhLW5ib2R5IGZvciBleGFtcGxlLi4uIGFzc2VydChpbmRleCA9PT0gdHlwZS5m
aWVsZHMubGVuZ3RoLCAnemVyby1sZW5ndGggaW4gdGhlIG1pZGRsZSEnKTsKLSAgICAgICAgICBz
aXplID0gMDsKLSAgICAgICAgICBhbGlnblNpemUgPSB0eXBlLmFsaWduU2l6ZSB8fCBRVUFOVFVN
X1NJWkU7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgc2l6ZSA9IFR5cGVzLnR5cGVzW2Zp
ZWxkXS5mbGF0U2l6ZTsKLSAgICAgICAgICBhbGlnblNpemUgPSBSdW50aW1lLmdldEFsaWduU2l6
ZShudWxsLCBUeXBlcy50eXBlc1tmaWVsZF0uYWxpZ25TaXplKTsKLSAgICAgICAgfQotICAgICAg
fSBlbHNlIGlmIChmaWVsZFswXSA9PSAnYicpIHsKLSAgICAgICAgLy8gYk4sIGxhcmdlIG51bWJl
ciBmaWVsZCwgbGlrZSBhIFtOIHggaThdCi0gICAgICAgIHNpemUgPSBmaWVsZC5zdWJzdHIoMSl8
MDsKLSAgICAgICAgYWxpZ25TaXplID0gMTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHRocm93
ICdVbmNsZWFyIHR5cGUgaW4gc3RydWN0OiAnICsgZmllbGQgKyAnLCBpbiAnICsgdHlwZS5uYW1l
XyArICcgOjogJyArIGR1bXAoVHlwZXMudHlwZXNbdHlwZS5uYW1lX10pOwotICAgICAgfQotICAg
ICAgaWYgKHR5cGUucGFja2VkKSBhbGlnblNpemUgPSAxOwotICAgICAgdHlwZS5hbGlnblNpemUg
PSBNYXRoLm1heCh0eXBlLmFsaWduU2l6ZSwgYWxpZ25TaXplKTsKLSAgICAgIHZhciBjdXJyID0g
UnVudGltZS5hbGlnbk1lbW9yeSh0eXBlLmZsYXRTaXplLCBhbGlnblNpemUpOyAvLyBpZiBuZWNl
c3NhcnksIHBsYWNlIHRoaXMgb24gYWxpZ25lZCBtZW1vcnkKLSAgICAgIHR5cGUuZmxhdFNpemUg
PSBjdXJyICsgc2l6ZTsKLSAgICAgIGlmIChwcmV2ID49IDApIHsKLSAgICAgICAgZGlmZnMucHVz
aChjdXJyLXByZXYpOwotICAgICAgfQotICAgICAgcHJldiA9IGN1cnI7Ci0gICAgICByZXR1cm4g
Y3VycjsKLSAgICB9KTsKLSAgICB0eXBlLmZsYXRTaXplID0gUnVudGltZS5hbGlnbk1lbW9yeSh0
eXBlLmZsYXRTaXplLCB0eXBlLmFsaWduU2l6ZSk7Ci0gICAgaWYgKGRpZmZzLmxlbmd0aCA9PSAw
KSB7Ci0gICAgICB0eXBlLmZsYXRGYWN0b3IgPSB0eXBlLmZsYXRTaXplOwotICAgIH0gZWxzZSBp
ZiAoUnVudGltZS5kZWR1cChkaWZmcykubGVuZ3RoID09IDEpIHsKLSAgICAgIHR5cGUuZmxhdEZh
Y3RvciA9IGRpZmZzWzBdOwotICAgIH0KLSAgICB0eXBlLm5lZWRzRmxhdHRlbmluZyA9ICh0eXBl
LmZsYXRGYWN0b3IgIT0gMSk7Ci0gICAgcmV0dXJuIHR5cGUuZmxhdEluZGV4ZXM7Ci0gIH0sCi0g
IGdlbmVyYXRlU3RydWN0SW5mbzogZnVuY3Rpb24gKHN0cnVjdCwgdHlwZU5hbWUsIG9mZnNldCkg
ewotICAgIHZhciB0eXBlLCBhbGlnbm1lbnQ7Ci0gICAgaWYgKHR5cGVOYW1lKSB7Ci0gICAgICBv
ZmZzZXQgPSBvZmZzZXQgfHwgMDsKLSAgICAgIHR5cGUgPSAodHlwZW9mIFR5cGVzID09PSAndW5k
ZWZpbmVkJyA/IFJ1bnRpbWUudHlwZUluZm8gOiBUeXBlcy50eXBlcylbdHlwZU5hbWVdOwotICAg
ICAgaWYgKCF0eXBlKSByZXR1cm4gbnVsbDsKLSAgICAgIGlmICh0eXBlLmZpZWxkcy5sZW5ndGgg
IT0gc3RydWN0Lmxlbmd0aCkgewotICAgICAgICBwcmludEVycignTnVtYmVyIG9mIG5hbWVkIGZp
ZWxkcyBtdXN0IG1hdGNoIHRoZSB0eXBlIGZvciAnICsgdHlwZU5hbWUgKyAnOiBwb3NzaWJseSBk
dXBsaWNhdGUgc3RydWN0IG5hbWVzLiBDYW5ub3QgcmV0dXJuIHN0cnVjdEluZm8nKTsKLSAgICAg
ICAgcmV0dXJuIG51bGw7Ci0gICAgICB9Ci0gICAgICBhbGlnbm1lbnQgPSB0eXBlLmZsYXRJbmRl
eGVzOwotICAgIH0gZWxzZSB7Ci0gICAgICB2YXIgdHlwZSA9IHsgZmllbGRzOiBzdHJ1Y3QubWFw
KGZ1bmN0aW9uKGl0ZW0pIHsgcmV0dXJuIGl0ZW1bMF0gfSkgfTsKLSAgICAgIGFsaWdubWVudCA9
IFJ1bnRpbWUuY2FsY3VsYXRlU3RydWN0QWxpZ25tZW50KHR5cGUpOwotICAgIH0KLSAgICB2YXIg
cmV0ID0gewotICAgICAgX19zaXplX186IHR5cGUuZmxhdFNpemUKLSAgICB9OwotICAgIGlmICh0
eXBlTmFtZSkgewotICAgICAgc3RydWN0LmZvckVhY2goZnVuY3Rpb24oaXRlbSwgaSkgewotICAg
ICAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnKSB7Ci0gICAgICAgICAgcmV0W2l0ZW1d
ID0gYWxpZ25tZW50W2ldICsgb2Zmc2V0OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIC8v
IGVtYmVkZGVkIHN0cnVjdAotICAgICAgICAgIHZhciBrZXk7Ci0gICAgICAgICAgZm9yICh2YXIg
ayBpbiBpdGVtKSBrZXkgPSBrOwotICAgICAgICAgIHJldFtrZXldID0gUnVudGltZS5nZW5lcmF0
ZVN0cnVjdEluZm8oaXRlbVtrZXldLCB0eXBlLmZpZWxkc1tpXSwgYWxpZ25tZW50W2ldKTsKLSAg
ICAgICAgfQotICAgICAgfSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHN0cnVjdC5mb3JFYWNoKGZ1
bmN0aW9uKGl0ZW0sIGkpIHsKLSAgICAgICAgcmV0W2l0ZW1bMV1dID0gYWxpZ25tZW50W2ldOwot
ICAgICAgfSk7Ci0gICAgfQotICAgIHJldHVybiByZXQ7Ci0gIH0sCi0gIGR5bkNhbGw6IGZ1bmN0
aW9uIChzaWcsIHB0ciwgYXJncykgewotICAgIGlmIChhcmdzICYmIGFyZ3MubGVuZ3RoKSB7Ci0g
ICAgICBpZiAoIWFyZ3Muc3BsaWNlKSBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwo
YXJncyk7Ci0gICAgICBhcmdzLnNwbGljZSgwLCAwLCBwdHIpOwotICAgICAgcmV0dXJuIE1vZHVs
ZVsnZHluQ2FsbF8nICsgc2lnXS5hcHBseShudWxsLCBhcmdzKTsKLSAgICB9IGVsc2UgewotICAg
ICAgcmV0dXJuIE1vZHVsZVsnZHluQ2FsbF8nICsgc2lnXS5jYWxsKG51bGwsIHB0cik7Ci0gICAg
fQotICB9LAotICBmdW5jdGlvblBvaW50ZXJzOiBbXSwKLSAgYWRkRnVuY3Rpb246IGZ1bmN0aW9u
IChmdW5jKSB7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBSdW50aW1lLmZ1bmN0aW9uUG9pbnRl
cnMubGVuZ3RoOyBpKyspIHsKLSAgICAgIGlmICghUnVudGltZS5mdW5jdGlvblBvaW50ZXJzW2ld
KSB7Ci0gICAgICAgIFJ1bnRpbWUuZnVuY3Rpb25Qb2ludGVyc1tpXSA9IGZ1bmM7Ci0gICAgICAg
IHJldHVybiAyICsgMippOwotICAgICAgfQotICAgIH0KLSAgICB0aHJvdyAnRmluaXNoZWQgdXAg
YWxsIHJlc2VydmVkIGZ1bmN0aW9uIHBvaW50ZXJzLiBVc2UgYSBoaWdoZXIgdmFsdWUgZm9yIFJF
U0VSVkVEX0ZVTkNUSU9OX1BPSU5URVJTLic7Ci0gIH0sCi0gIHJlbW92ZUZ1bmN0aW9uOiBmdW5j
dGlvbiAoaW5kZXgpIHsKLSAgICBSdW50aW1lLmZ1bmN0aW9uUG9pbnRlcnNbKGluZGV4LTIpLzJd
ID0gbnVsbDsKLSAgfSwKLSAgd2Fybk9uY2U6IGZ1bmN0aW9uICh0ZXh0KSB7Ci0gICAgaWYgKCFS
dW50aW1lLndhcm5PbmNlLnNob3duKSBSdW50aW1lLndhcm5PbmNlLnNob3duID0ge307Ci0gICAg
aWYgKCFSdW50aW1lLndhcm5PbmNlLnNob3duW3RleHRdKSB7Ci0gICAgICBSdW50aW1lLndhcm5P
bmNlLnNob3duW3RleHRdID0gMTsKLSAgICAgIE1vZHVsZS5wcmludEVycih0ZXh0KTsKLSAgICB9
Ci0gIH0sCi0gIGZ1bmNXcmFwcGVyczoge30sCi0gIGdldEZ1bmNXcmFwcGVyOiBmdW5jdGlvbiAo
ZnVuYywgc2lnKSB7Ci0gICAgYXNzZXJ0KHNpZyk7Ci0gICAgaWYgKCFSdW50aW1lLmZ1bmNXcmFw
cGVyc1tmdW5jXSkgewotICAgICAgUnVudGltZS5mdW5jV3JhcHBlcnNbZnVuY10gPSBmdW5jdGlv
bigpIHsKLSAgICAgICAgcmV0dXJuIFJ1bnRpbWUuZHluQ2FsbChzaWcsIGZ1bmMsIGFyZ3VtZW50
cyk7Ci0gICAgICB9OwotICAgIH0KLSAgICByZXR1cm4gUnVudGltZS5mdW5jV3JhcHBlcnNbZnVu
Y107Ci0gIH0sCi0gIFVURjhQcm9jZXNzb3I6IGZ1bmN0aW9uICgpIHsKLSAgICB2YXIgYnVmZmVy
ID0gW107Ci0gICAgdmFyIG5lZWRlZCA9IDA7Ci0gICAgdGhpcy5wcm9jZXNzQ0NoYXIgPSBmdW5j
dGlvbiAoY29kZSkgewotICAgICAgY29kZSA9IGNvZGUgJiAweEZGOwotICAgICAgaWYgKGJ1ZmZl
ci5sZW5ndGggPT0gMCkgewotICAgICAgICBpZiAoKGNvZGUgJiAweDgwKSA9PSAweDAwKSB7ICAg
ICAgICAvLyAweHh4eHh4eAotICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGNv
ZGUpOwotICAgICAgICB9Ci0gICAgICAgIGJ1ZmZlci5wdXNoKGNvZGUpOwotICAgICAgICBpZiAo
KGNvZGUgJiAweEUwKSA9PSAweEMwKSB7ICAgICAgICAvLyAxMTB4eHh4eAotICAgICAgICAgIG5l
ZWRlZCA9IDE7Ci0gICAgICAgIH0gZWxzZSBpZiAoKGNvZGUgJiAweEYwKSA9PSAweEUwKSB7IC8v
IDExMTB4eHh4Ci0gICAgICAgICAgbmVlZGVkID0gMjsKLSAgICAgICAgfSBlbHNlIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gMTExMTB4eHgKLSAgICAgICAgICBuZWVkZWQgPSAzOwot
ICAgICAgICB9Ci0gICAgICAgIHJldHVybiAnJzsKLSAgICAgIH0KLSAgICAgIGlmIChuZWVkZWQp
IHsKLSAgICAgICAgYnVmZmVyLnB1c2goY29kZSk7Ci0gICAgICAgIG5lZWRlZC0tOwotICAgICAg
ICBpZiAobmVlZGVkID4gMCkgcmV0dXJuICcnOwotICAgICAgfQotICAgICAgdmFyIGMxID0gYnVm
ZmVyWzBdOwotICAgICAgdmFyIGMyID0gYnVmZmVyWzFdOwotICAgICAgdmFyIGMzID0gYnVmZmVy
WzJdOwotICAgICAgdmFyIGM0ID0gYnVmZmVyWzNdOwotICAgICAgdmFyIHJldDsKLSAgICAgIGlm
IChidWZmZXIubGVuZ3RoID09IDIpIHsKLSAgICAgICAgcmV0ID0gU3RyaW5nLmZyb21DaGFyQ29k
ZSgoKGMxICYgMHgxRikgPDwgNikgIHwgKGMyICYgMHgzRikpOwotICAgICAgfSBlbHNlIGlmIChi
dWZmZXIubGVuZ3RoID09IDMpIHsKLSAgICAgICAgcmV0ID0gU3RyaW5nLmZyb21DaGFyQ29kZSgo
KGMxICYgMHgwRikgPDwgMTIpIHwgKChjMiAmIDB4M0YpIDw8IDYpICB8IChjMyAmIDB4M0YpKTsK
LSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIC8vIGh0dHA6Ly9tYXRoaWFzYnluZW5zLmJlL25vdGVz
L2phdmFzY3JpcHQtZW5jb2Rpbmcjc3Vycm9nYXRlLWZvcm11bGFlCi0gICAgICAgIHZhciBjb2Rl
UG9pbnQgPSAoKGMxICYgMHgwNykgPDwgMTgpIHwgKChjMiAmIDB4M0YpIDw8IDEyKSB8Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAoKGMzICYgMHgzRikgPDwgNikgIHwgKGM0ICYgMHgzRik7Ci0g
ICAgICAgIHJldCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoCi0gICAgICAgICAgTWF0aC5mbG9vcigo
Y29kZVBvaW50IC0gMHgxMDAwMCkgLyAweDQwMCkgKyAweEQ4MDAsCi0gICAgICAgICAgKGNvZGVQ
b2ludCAtIDB4MTAwMDApICUgMHg0MDAgKyAweERDMDApOwotICAgICAgfQotICAgICAgYnVmZmVy
Lmxlbmd0aCA9IDA7Ci0gICAgICByZXR1cm4gcmV0OwotICAgIH0KLSAgICB0aGlzLnByb2Nlc3NK
U1N0cmluZyA9IGZ1bmN0aW9uKHN0cmluZykgewotICAgICAgc3RyaW5nID0gdW5lc2NhcGUoZW5j
b2RlVVJJQ29tcG9uZW50KHN0cmluZykpOwotICAgICAgdmFyIHJldCA9IFtdOwotICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBzdHJpbmcubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgcmV0LnB1c2go
c3RyaW5nLmNoYXJDb2RlQXQoaSkpOwotICAgICAgfQotICAgICAgcmV0dXJuIHJldDsKLSAgICB9
Ci0gIH0sCi0gIHN0YWNrQWxsb2M6IGZ1bmN0aW9uIChzaXplKSB7IHZhciByZXQgPSBTVEFDS1RP
UDtTVEFDS1RPUCA9IChTVEFDS1RPUCArIHNpemUpfDA7U1RBQ0tUT1AgPSAoKCgoU1RBQ0tUT1Ap
KzcpPj4zKTw8Myk7IHJldHVybiByZXQ7IH0sCi0gIHN0YXRpY0FsbG9jOiBmdW5jdGlvbiAoc2l6
ZSkgeyB2YXIgcmV0ID0gU1RBVElDVE9QO1NUQVRJQ1RPUCA9IChTVEFUSUNUT1AgKyBzaXplKXww
O1NUQVRJQ1RPUCA9ICgoKChTVEFUSUNUT1ApKzcpPj4zKTw8Myk7IHJldHVybiByZXQ7IH0sCi0g
IGR5bmFtaWNBbGxvYzogZnVuY3Rpb24gKHNpemUpIHsgdmFyIHJldCA9IERZTkFNSUNUT1A7RFlO
QU1JQ1RPUCA9IChEWU5BTUlDVE9QICsgc2l6ZSl8MDtEWU5BTUlDVE9QID0gKCgoKERZTkFNSUNU
T1ApKzcpPj4zKTw8Myk7IGlmIChEWU5BTUlDVE9QID49IFRPVEFMX01FTU9SWSkgZW5sYXJnZU1l
bW9yeSgpOzsgcmV0dXJuIHJldDsgfSwKLSAgYWxpZ25NZW1vcnk6IGZ1bmN0aW9uIChzaXplLHF1
YW50dW0pIHsgdmFyIHJldCA9IHNpemUgPSBNYXRoLmNlaWwoKHNpemUpLyhxdWFudHVtID8gcXVh
bnR1bSA6IDgpKSoocXVhbnR1bSA/IHF1YW50dW0gOiA4KTsgcmV0dXJuIHJldDsgfSwKLSAgbWFr
ZUJpZ0ludDogZnVuY3Rpb24gKGxvdyxoaWdoLHVuc2lnbmVkKSB7IHZhciByZXQgPSAodW5zaWdu
ZWQgPyAoKCsoKChsb3cpPj4+KDApKSkpKygoKygoKGhpZ2gpPj4+KDApKSkpKigrKDQyOTQ5Njcy
OTYpKSkpIDogKCgrKCgobG93KT4+PigwKSkpKSsoKCsoKChoaWdoKXwoMCkpKSkqKCsoNDI5NDk2
NzI5NikpKSkpOyByZXR1cm4gcmV0OyB9LAotICBHTE9CQUxfQkFTRTogOCwKLSAgUVVBTlRVTV9T
SVpFOiA0LAotICBfX2R1bW15X186IDAKLX0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLy8gUnVudGltZSBlc3NlbnRpYWxzCi0vLz09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLXZhciBfX1RIUkVXX18gPSAwOyAvLyBVc2VkIGluIGNo
ZWNraW5nIGZvciB0aHJvd24gZXhjZXB0aW9ucy4KLXZhciBBQk9SVCA9IGZhbHNlOyAvLyB3aGV0
aGVyIHdlIGFyZSBxdWl0dGluZyB0aGUgYXBwbGljYXRpb24uIG5vIGNvZGUgc2hvdWxkIHJ1biBh
ZnRlciB0aGlzLiBzZXQgaW4gZXhpdCgpIGFuZCBhYm9ydCgpCi12YXIgRVhJVFNUQVRVUyA9IDA7
Ci12YXIgdW5kZWYgPSAwOwotLy8gdGVtcEludCBpcyB1c2VkIGZvciAzMi1iaXQgc2lnbmVkIHZh
bHVlcyBvciBzbWFsbGVyLiB0ZW1wQmlnSW50IGlzIHVzZWQKLS8vIGZvciAzMi1iaXQgdW5zaWdu
ZWQgdmFsdWVzIG9yIG1vcmUgdGhhbiAzMiBiaXRzLiBUT0RPOiBhdWRpdCBhbGwgdXNlcyBvZiB0
ZW1wSW50Ci12YXIgdGVtcFZhbHVlLCB0ZW1wSW50LCB0ZW1wQmlnSW50LCB0ZW1wSW50MiwgdGVt
cEJpZ0ludDIsIHRlbXBQYWlyLCB0ZW1wQmlnSW50SSwgdGVtcEJpZ0ludFIsIHRlbXBCaWdJbnRT
LCB0ZW1wQmlnSW50UCwgdGVtcEJpZ0ludEQ7Ci12YXIgdGVtcEk2NCwgdGVtcEk2NGI7Ci12YXIg
dGVtcFJldDAsIHRlbXBSZXQxLCB0ZW1wUmV0MiwgdGVtcFJldDMsIHRlbXBSZXQ0LCB0ZW1wUmV0
NSwgdGVtcFJldDYsIHRlbXBSZXQ3LCB0ZW1wUmV0OCwgdGVtcFJldDk7Ci1mdW5jdGlvbiBhc3Nl
cnQoY29uZGl0aW9uLCB0ZXh0KSB7Ci0gIGlmICghY29uZGl0aW9uKSB7Ci0gICAgYWJvcnQoJ0Fz
c2VydGlvbiBmYWlsZWQ6ICcgKyB0ZXh0KTsKLSAgfQotfQotdmFyIGdsb2JhbFNjb3BlID0gdGhp
czsKLS8vIEMgY2FsbGluZyBpbnRlcmZhY2UuIEEgY29udmVuaWVudCB3YXkgdG8gY2FsbCBDIGZ1
bmN0aW9ucyAoaW4gQyBmaWxlcywgb3IKLS8vIGRlZmluZWQgd2l0aCBleHRlcm4gIkMiKS4KLS8v
Ci0vLyBOb3RlOiBMTFZNIG9wdGltaXphdGlvbnMgY2FuIGlubGluZSBhbmQgcmVtb3ZlIGZ1bmN0
aW9ucywgYWZ0ZXIgd2hpY2ggeW91IHdpbGwgbm90IGJlCi0vLyAgICAgICBhYmxlIHRvIGNhbGwg
dGhlbS4gQ2xvc3VyZSBjYW4gYWxzbyBkbyBzby4gVG8gYXZvaWQgdGhhdCwgYWRkIHlvdXIgZnVu
Y3Rpb24gdG8KLS8vICAgICAgIHRoZSBleHBvcnRzIHVzaW5nIHNvbWV0aGluZyBsaWtlCi0vLwot
Ly8gICAgICAgICAtcyBFWFBPUlRFRF9GVU5DVElPTlM9J1siX21haW4iLCAiX215ZnVuYyJdJwot
Ly8KLS8vIEBwYXJhbSBpZGVudCAgICAgIFRoZSBuYW1lIG9mIHRoZSBDIGZ1bmN0aW9uIChub3Rl
IHRoYXQgQysrIGZ1bmN0aW9ucyB3aWxsIGJlIG5hbWUtbWFuZ2xlZCAtIHVzZSBleHRlcm4gIkMi
KQotLy8gQHBhcmFtIHJldHVyblR5cGUgVGhlIHJldHVybiB0eXBlIG9mIHRoZSBmdW5jdGlvbiwg
b25lIG9mIHRoZSBKUyB0eXBlcyAnbnVtYmVyJywgJ3N0cmluZycgb3IgJ2FycmF5JyAodXNlICdu
dW1iZXInIGZvciBhbnkgQyBwb2ludGVyLCBhbmQKLS8vICAgICAgICAgICAgICAgICAgICdhcnJh
eScgZm9yIEphdmFTY3JpcHQgYXJyYXlzIGFuZCB0eXBlZCBhcnJheXM7IG5vdGUgdGhhdCBhcnJh
eXMgYXJlIDgtYml0KS4KLS8vIEBwYXJhbSBhcmdUeXBlcyAgIEFuIGFycmF5IG9mIHRoZSB0eXBl
cyBvZiBhcmd1bWVudHMgZm9yIHRoZSBmdW5jdGlvbiAoaWYgdGhlcmUgYXJlIG5vIGFyZ3VtZW50
cywgdGhpcyBjYW4gYmUgb21taXR0ZWQpLiBUeXBlcyBhcmUgYXMgaW4gcmV0dXJuVHlwZSwKLS8v
ICAgICAgICAgICAgICAgICAgIGV4Y2VwdCB0aGF0ICdhcnJheScgaXMgbm90IHBvc3NpYmxlICh0
aGVyZSBpcyBubyB3YXkgZm9yIHVzIHRvIGtub3cgdGhlIGxlbmd0aCBvZiB0aGUgYXJyYXkpCi0v
LyBAcGFyYW0gYXJncyAgICAgICBBbiBhcnJheSBvZiB0aGUgYXJndW1lbnRzIHRvIHRoZSBmdW5j
dGlvbiwgYXMgbmF0aXZlIEpTIHZhbHVlcyAoYXMgaW4gcmV0dXJuVHlwZSkKLS8vICAgICAgICAg
ICAgICAgICAgIE5vdGUgdGhhdCBzdHJpbmcgYXJndW1lbnRzIHdpbGwgYmUgc3RvcmVkIG9uIHRo
ZSBzdGFjayAodGhlIEpTIHN0cmluZyB3aWxsIGJlY29tZSBhIEMgc3RyaW5nIG9uIHRoZSBzdGFj
aykuCi0vLyBAcmV0dXJuICAgICAgICAgICBUaGUgcmV0dXJuIHZhbHVlLCBhcyBhIG5hdGl2ZSBK
UyB2YWx1ZSAoYXMgaW4gcmV0dXJuVHlwZSkKLWZ1bmN0aW9uIGNjYWxsKGlkZW50LCByZXR1cm5U
eXBlLCBhcmdUeXBlcywgYXJncykgewotICByZXR1cm4gY2NhbGxGdW5jKGdldENGdW5jKGlkZW50
KSwgcmV0dXJuVHlwZSwgYXJnVHlwZXMsIGFyZ3MpOwotfQotTW9kdWxlWyJjY2FsbCJdID0gY2Nh
bGw7Ci0vLyBSZXR1cm5zIHRoZSBDIGZ1bmN0aW9uIHdpdGggYSBzcGVjaWZpZWQgaWRlbnRpZmll
ciAoZm9yIEMrKywgeW91IG5lZWQgdG8gZG8gbWFudWFsIG5hbWUgbWFuZ2xpbmcpCi1mdW5jdGlv
biBnZXRDRnVuYyhpZGVudCkgewotICB0cnkgewotICAgIHZhciBmdW5jID0gTW9kdWxlWydfJyAr
IGlkZW50XTsgLy8gY2xvc3VyZSBleHBvcnRlZCBmdW5jdGlvbgotICAgIGlmICghZnVuYykgZnVu
YyA9IGV2YWwoJ18nICsgaWRlbnQpOyAvLyBleHBsaWNpdCBsb29rdXAKLSAgfSBjYXRjaChlKSB7
Ci0gIH0KLSAgYXNzZXJ0KGZ1bmMsICdDYW5ub3QgY2FsbCB1bmtub3duIGZ1bmN0aW9uICcgKyBp
ZGVudCArICcgKHBlcmhhcHMgTExWTSBvcHRpbWl6YXRpb25zIG9yIGNsb3N1cmUgcmVtb3ZlZCBp
dD8pJyk7Ci0gIHJldHVybiBmdW5jOwotfQotLy8gSW50ZXJuYWwgZnVuY3Rpb24gdGhhdCBkb2Vz
IGEgQyBjYWxsIHVzaW5nIGEgZnVuY3Rpb24sIG5vdCBhbiBpZGVudGlmaWVyCi1mdW5jdGlvbiBj
Y2FsbEZ1bmMoZnVuYywgcmV0dXJuVHlwZSwgYXJnVHlwZXMsIGFyZ3MpIHsKLSAgdmFyIHN0YWNr
ID0gMDsKLSAgZnVuY3Rpb24gdG9DKHZhbHVlLCB0eXBlKSB7Ci0gICAgaWYgKHR5cGUgPT0gJ3N0
cmluZycpIHsKLSAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVk
IHx8IHZhbHVlID09PSAwKSByZXR1cm4gMDsgLy8gbnVsbCBzdHJpbmcKLSAgICAgIGlmICghc3Rh
Y2spIHN0YWNrID0gUnVudGltZS5zdGFja1NhdmUoKTsKLSAgICAgIHZhciByZXQgPSBSdW50aW1l
LnN0YWNrQWxsb2ModmFsdWUubGVuZ3RoKzEpOwotICAgICAgd3JpdGVTdHJpbmdUb01lbW9yeSh2
YWx1ZSwgcmV0KTsKLSAgICAgIHJldHVybiByZXQ7Ci0gICAgfSBlbHNlIGlmICh0eXBlID09ICdh
cnJheScpIHsKLSAgICAgIGlmICghc3RhY2spIHN0YWNrID0gUnVudGltZS5zdGFja1NhdmUoKTsK
LSAgICAgIHZhciByZXQgPSBSdW50aW1lLnN0YWNrQWxsb2ModmFsdWUubGVuZ3RoKTsKLSAgICAg
IHdyaXRlQXJyYXlUb01lbW9yeSh2YWx1ZSwgcmV0KTsKLSAgICAgIHJldHVybiByZXQ7Ci0gICAg
fQotICAgIHJldHVybiB2YWx1ZTsKLSAgfQotICBmdW5jdGlvbiBmcm9tQyh2YWx1ZSwgdHlwZSkg
ewotICAgIGlmICh0eXBlID09ICdzdHJpbmcnKSB7Ci0gICAgICByZXR1cm4gUG9pbnRlcl9zdHJp
bmdpZnkodmFsdWUpOwotICAgIH0KLSAgICBhc3NlcnQodHlwZSAhPSAnYXJyYXknKTsKLSAgICBy
ZXR1cm4gdmFsdWU7Ci0gIH0KLSAgdmFyIGkgPSAwOwotICB2YXIgY0FyZ3MgPSBhcmdzID8gYXJn
cy5tYXAoZnVuY3Rpb24oYXJnKSB7Ci0gICAgcmV0dXJuIHRvQyhhcmcsIGFyZ1R5cGVzW2krK10p
OwotICB9KSA6IFtdOwotICB2YXIgcmV0ID0gZnJvbUMoZnVuYy5hcHBseShudWxsLCBjQXJncyks
IHJldHVyblR5cGUpOwotICBpZiAoc3RhY2spIFJ1bnRpbWUuc3RhY2tSZXN0b3JlKHN0YWNrKTsK
LSAgcmV0dXJuIHJldDsKLX0KLS8vIFJldHVybnMgYSBuYXRpdmUgSlMgd3JhcHBlciBmb3IgYSBD
IGZ1bmN0aW9uLiBUaGlzIGlzIHNpbWlsYXIgdG8gY2NhbGwsIGJ1dAotLy8gcmV0dXJucyBhIGZ1
bmN0aW9uIHlvdSBjYW4gY2FsbCByZXBlYXRlZGx5IGluIGEgbm9ybWFsIHdheS4gRm9yIGV4YW1w
bGU6Ci0vLwotLy8gICB2YXIgbXlfZnVuY3Rpb24gPSBjd3JhcCgnbXlfY19mdW5jdGlvbicsICdu
dW1iZXInLCBbJ251bWJlcicsICdudW1iZXInXSk7Ci0vLyAgIGFsZXJ0KG15X2Z1bmN0aW9uKDUs
IDIyKSk7Ci0vLyAgIGFsZXJ0KG15X2Z1bmN0aW9uKDk5LCAxMikpOwotLy8KLWZ1bmN0aW9uIGN3
cmFwKGlkZW50LCByZXR1cm5UeXBlLCBhcmdUeXBlcykgewotICB2YXIgZnVuYyA9IGdldENGdW5j
KGlkZW50KTsKLSAgcmV0dXJuIGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBjY2FsbEZ1bmMoZnVu
YywgcmV0dXJuVHlwZSwgYXJnVHlwZXMsIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3Vt
ZW50cykpOwotICB9Ci19Ci1Nb2R1bGVbImN3cmFwIl0gPSBjd3JhcDsKLS8vIFNldHMgYSB2YWx1
ZSBpbiBtZW1vcnkgaW4gYSBkeW5hbWljIHdheSBhdCBydW4tdGltZS4gVXNlcyB0aGUKLS8vIHR5
cGUgZGF0YS4gVGhpcyBpcyB0aGUgc2FtZSBhcyBtYWtlU2V0VmFsdWUsIGV4Y2VwdCB0aGF0Ci0v
LyBtYWtlU2V0VmFsdWUgaXMgZG9uZSBhdCBjb21waWxlLXRpbWUgYW5kIGdlbmVyYXRlcyB0aGUg
bmVlZGVkCi0vLyBjb2RlIHRoZW4sIHdoZXJlYXMgdGhpcyBmdW5jdGlvbiBwaWNrcyB0aGUgcmln
aHQgY29kZSBhdAotLy8gcnVuLXRpbWUuCi0vLyBOb3RlIHRoYXQgc2V0VmFsdWUgYW5kIGdldFZh
bHVlIG9ubHkgZG8gKmFsaWduZWQqIHdyaXRlcyBhbmQgcmVhZHMhCi0vLyBOb3RlIHRoYXQgY2Nh
bGwgdXNlcyBKUyB0eXBlcyBhcyBmb3IgZGVmaW5pbmcgdHlwZXMsIHdoaWxlIHNldFZhbHVlIGFu
ZAotLy8gZ2V0VmFsdWUgbmVlZCBMTFZNIHR5cGVzICgnaTgnLCAnaTMyJykgLSB0aGlzIGlzIGEg
bG93ZXItbGV2ZWwgb3BlcmF0aW9uCi1mdW5jdGlvbiBzZXRWYWx1ZShwdHIsIHZhbHVlLCB0eXBl
LCBub1NhZmUpIHsKLSAgdHlwZSA9IHR5cGUgfHwgJ2k4JzsKLSAgaWYgKHR5cGUuY2hhckF0KHR5
cGUubGVuZ3RoLTEpID09PSAnKicpIHR5cGUgPSAnaTMyJzsgLy8gcG9pbnRlcnMgYXJlIDMyLWJp
dAotICAgIHN3aXRjaCh0eXBlKSB7Ci0gICAgICBjYXNlICdpMSc6IEhFQVA4WyhwdHIpXT12YWx1
ZTsgYnJlYWs7Ci0gICAgICBjYXNlICdpOCc6IEhFQVA4WyhwdHIpXT12YWx1ZTsgYnJlYWs7Ci0g
ICAgICBjYXNlICdpMTYnOiBIRUFQMTZbKChwdHIpPj4xKV09dmFsdWU7IGJyZWFrOwotICAgICAg
Y2FzZSAnaTMyJzogSEVBUDMyWygocHRyKT4+MildPXZhbHVlOyBicmVhazsKLSAgICAgIGNhc2Ug
J2k2NCc6ICh0ZW1wSTY0ID0gW3ZhbHVlPj4+MCwodGVtcERvdWJsZT12YWx1ZSwoKyhNYXRoLmFi
cyh0ZW1wRG91YmxlKSkpID49ICgrKDEpKSA/ICh0ZW1wRG91YmxlID4gKCsoMCkpID8gKChNYXRo
Lm1pbigoKyhNYXRoLmZsb29yKCh0ZW1wRG91YmxlKS8oKyg0Mjk0OTY3Mjk2KSkpKSksICgrKDQy
OTQ5NjcyOTUpKSkpfDApPj4+MCA6ICh+figoKyhNYXRoLmNlaWwoKHRlbXBEb3VibGUgLSArKCgo
fn4odGVtcERvdWJsZSkpKT4+PjApKS8oKyg0Mjk0OTY3Mjk2KSkpKSkpKT4+PjApIDogMCldLEhF
QVAzMlsoKHB0cik+PjIpXT10ZW1wSTY0WzBdLEhFQVAzMlsoKChwdHIpKyg0KSk+PjIpXT10ZW1w
STY0WzFdKTsgYnJlYWs7Ci0gICAgICBjYXNlICdmbG9hdCc6IEhFQVBGMzJbKChwdHIpPj4yKV09
dmFsdWU7IGJyZWFrOwotICAgICAgY2FzZSAnZG91YmxlJzogSEVBUEY2NFsoKHB0cik+PjMpXT12
YWx1ZTsgYnJlYWs7Ci0gICAgICBkZWZhdWx0OiBhYm9ydCgnaW52YWxpZCB0eXBlIGZvciBzZXRW
YWx1ZTogJyArIHR5cGUpOwotICAgIH0KLX0KLU1vZHVsZVsnc2V0VmFsdWUnXSA9IHNldFZhbHVl
OwotLy8gUGFyYWxsZWwgdG8gc2V0VmFsdWUuCi1mdW5jdGlvbiBnZXRWYWx1ZShwdHIsIHR5cGUs
IG5vU2FmZSkgewotICB0eXBlID0gdHlwZSB8fCAnaTgnOwotICBpZiAodHlwZS5jaGFyQXQodHlw
ZS5sZW5ndGgtMSkgPT09ICcqJykgdHlwZSA9ICdpMzInOyAvLyBwb2ludGVycyBhcmUgMzItYml0
Ci0gICAgc3dpdGNoKHR5cGUpIHsKLSAgICAgIGNhc2UgJ2kxJzogcmV0dXJuIEhFQVA4WyhwdHIp
XTsKLSAgICAgIGNhc2UgJ2k4JzogcmV0dXJuIEhFQVA4WyhwdHIpXTsKLSAgICAgIGNhc2UgJ2kx
Nic6IHJldHVybiBIRUFQMTZbKChwdHIpPj4xKV07Ci0gICAgICBjYXNlICdpMzInOiByZXR1cm4g
SEVBUDMyWygocHRyKT4+MildOwotICAgICAgY2FzZSAnaTY0JzogcmV0dXJuIEhFQVAzMlsoKHB0
cik+PjIpXTsKLSAgICAgIGNhc2UgJ2Zsb2F0JzogcmV0dXJuIEhFQVBGMzJbKChwdHIpPj4yKV07
Ci0gICAgICBjYXNlICdkb3VibGUnOiByZXR1cm4gSEVBUEY2NFsoKHB0cik+PjMpXTsKLSAgICAg
IGRlZmF1bHQ6IGFib3J0KCdpbnZhbGlkIHR5cGUgZm9yIHNldFZhbHVlOiAnICsgdHlwZSk7Ci0g
ICAgfQotICByZXR1cm4gbnVsbDsKLX0KLU1vZHVsZVsnZ2V0VmFsdWUnXSA9IGdldFZhbHVlOwot
dmFyIEFMTE9DX05PUk1BTCA9IDA7IC8vIFRyaWVzIHRvIHVzZSBfbWFsbG9jKCkKLXZhciBBTExP
Q19TVEFDSyA9IDE7IC8vIExpdmVzIGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIGN1cnJlbnQgZnVu
Y3Rpb24gY2FsbAotdmFyIEFMTE9DX1NUQVRJQyA9IDI7IC8vIENhbm5vdCBiZSBmcmVlZAotdmFy
IEFMTE9DX0RZTkFNSUMgPSAzOyAvLyBDYW5ub3QgYmUgZnJlZWQgZXhjZXB0IHRocm91Z2ggc2Jy
awotdmFyIEFMTE9DX05PTkUgPSA0OyAvLyBEbyBub3QgYWxsb2NhdGUKLU1vZHVsZVsnQUxMT0Nf
Tk9STUFMJ10gPSBBTExPQ19OT1JNQUw7Ci1Nb2R1bGVbJ0FMTE9DX1NUQUNLJ10gPSBBTExPQ19T
VEFDSzsKLU1vZHVsZVsnQUxMT0NfU1RBVElDJ10gPSBBTExPQ19TVEFUSUM7Ci1Nb2R1bGVbJ0FM
TE9DX0RZTkFNSUMnXSA9IEFMTE9DX0RZTkFNSUM7Ci1Nb2R1bGVbJ0FMTE9DX05PTkUnXSA9IEFM
TE9DX05PTkU7Ci0vLyBhbGxvY2F0ZSgpOiBUaGlzIGlzIGZvciBpbnRlcm5hbCB1c2UuIFlvdSBj
YW4gdXNlIGl0IHlvdXJzZWxmIGFzIHdlbGwsIGJ1dCB0aGUgaW50ZXJmYWNlCi0vLyAgICAgICAg
ICAgICBpcyBhIGxpdHRsZSB0cmlja3kgKHNlZSBkb2NzIHJpZ2h0IGJlbG93KS4gVGhlIHJlYXNv
biBpcyB0aGF0IGl0IGlzIG9wdGltaXplZAotLy8gICAgICAgICAgICAgZm9yIG11bHRpcGxlIHN5
bnRheGVzIHRvIHNhdmUgc3BhY2UgaW4gZ2VuZXJhdGVkIGNvZGUuIFNvIHlvdSBzaG91bGQKLS8v
ICAgICAgICAgICAgIG5vcm1hbGx5IG5vdCB1c2UgYWxsb2NhdGUoKSwgYW5kIGluc3RlYWQgYWxs
b2NhdGUgbWVtb3J5IHVzaW5nIF9tYWxsb2MoKSwKLS8vICAgICAgICAgICAgIGluaXRpYWxpemUg
aXQgd2l0aCBzZXRWYWx1ZSgpLCBhbmQgc28gZm9ydGguCi0vLyBAc2xhYjogQW4gYXJyYXkgb2Yg
ZGF0YSwgb3IgYSBudW1iZXIuIElmIGEgbnVtYmVyLCB0aGVuIHRoZSBzaXplIG9mIHRoZSBibG9j
ayB0byBhbGxvY2F0ZSwKLS8vICAgICAgICBpbiAqYnl0ZXMqIChub3RlIHRoYXQgdGhpcyBpcyBz
b21ldGltZXMgY29uZnVzaW5nOiB0aGUgbmV4dCBwYXJhbWV0ZXIgZG9lcyBub3QKLS8vICAgICAg
ICBhZmZlY3QgdGhpcyEpCi0vLyBAdHlwZXM6IEVpdGhlciBhbiBhcnJheSBvZiB0eXBlcywgb25l
IGZvciBlYWNoIGJ5dGUgKG9yIDAgaWYgbm8gdHlwZSBhdCB0aGF0IHBvc2l0aW9uKSwKLS8vICAg
ICAgICAgb3IgYSBzaW5nbGUgdHlwZSB3aGljaCBpcyB1c2VkIGZvciB0aGUgZW50aXJlIGJsb2Nr
LiBUaGlzIG9ubHkgbWF0dGVycyBpZiB0aGVyZQotLy8gICAgICAgICBpcyBpbml0aWFsIGRhdGEg
LSBpZiBAc2xhYiBpcyBhIG51bWJlciwgdGhlbiB0aGlzIGRvZXMgbm90IG1hdHRlciBhdCBhbGwg
YW5kIGlzCi0vLyAgICAgICAgIGlnbm9yZWQuCi0vLyBAYWxsb2NhdG9yOiBIb3cgdG8gYWxsb2Nh
dGUgbWVtb3J5LCBzZWUgQUxMT0NfKgotZnVuY3Rpb24gYWxsb2NhdGUoc2xhYiwgdHlwZXMsIGFs
bG9jYXRvciwgcHRyKSB7Ci0gIHZhciB6ZXJvaW5pdCwgc2l6ZTsKLSAgaWYgKHR5cGVvZiBzbGFi
ID09PSAnbnVtYmVyJykgewotICAgIHplcm9pbml0ID0gdHJ1ZTsKLSAgICBzaXplID0gc2xhYjsK
LSAgfSBlbHNlIHsKLSAgICB6ZXJvaW5pdCA9IGZhbHNlOwotICAgIHNpemUgPSBzbGFiLmxlbmd0
aDsKLSAgfQotICB2YXIgc2luZ2xlVHlwZSA9IHR5cGVvZiB0eXBlcyA9PT0gJ3N0cmluZycgPyB0
eXBlcyA6IG51bGw7Ci0gIHZhciByZXQ7Ci0gIGlmIChhbGxvY2F0b3IgPT0gQUxMT0NfTk9ORSkg
ewotICAgIHJldCA9IHB0cjsKLSAgfSBlbHNlIHsKLSAgICByZXQgPSBbX21hbGxvYywgUnVudGlt
ZS5zdGFja0FsbG9jLCBSdW50aW1lLnN0YXRpY0FsbG9jLCBSdW50aW1lLmR5bmFtaWNBbGxvY11b
YWxsb2NhdG9yID09PSB1bmRlZmluZWQgPyBBTExPQ19TVEFUSUMgOiBhbGxvY2F0b3JdKE1hdGgu
bWF4KHNpemUsIHNpbmdsZVR5cGUgPyAxIDogdHlwZXMubGVuZ3RoKSk7Ci0gIH0KLSAgaWYgKHpl
cm9pbml0KSB7Ci0gICAgdmFyIHB0ciA9IHJldCwgc3RvcDsKLSAgICBhc3NlcnQoKHJldCAmIDMp
ID09IDApOwotICAgIHN0b3AgPSByZXQgKyAoc2l6ZSAmIH4zKTsKLSAgICBmb3IgKDsgcHRyIDwg
c3RvcDsgcHRyICs9IDQpIHsKLSAgICAgIEhFQVAzMlsoKHB0cik+PjIpXT0wOwotICAgIH0KLSAg
ICBzdG9wID0gcmV0ICsgc2l6ZTsKLSAgICB3aGlsZSAocHRyIDwgc3RvcCkgewotICAgICAgSEVB
UDhbKChwdHIrKyl8MCldPTA7Ci0gICAgfQotICAgIHJldHVybiByZXQ7Ci0gIH0KLSAgaWYgKHNp
bmdsZVR5cGUgPT09ICdpOCcpIHsKLSAgICBpZiAoc2xhYi5zdWJhcnJheSB8fCBzbGFiLnNsaWNl
KSB7Ci0gICAgICBIRUFQVTguc2V0KHNsYWIsIHJldCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIEhF
QVBVOC5zZXQobmV3IFVpbnQ4QXJyYXkoc2xhYiksIHJldCk7Ci0gICAgfQotICAgIHJldHVybiBy
ZXQ7Ci0gIH0KLSAgdmFyIGkgPSAwLCB0eXBlLCB0eXBlU2l6ZSwgcHJldmlvdXNUeXBlOwotICB3
aGlsZSAoaSA8IHNpemUpIHsKLSAgICB2YXIgY3VyciA9IHNsYWJbaV07Ci0gICAgaWYgKHR5cGVv
ZiBjdXJyID09PSAnZnVuY3Rpb24nKSB7Ci0gICAgICBjdXJyID0gUnVudGltZS5nZXRGdW5jdGlv
bkluZGV4KGN1cnIpOwotICAgIH0KLSAgICB0eXBlID0gc2luZ2xlVHlwZSB8fCB0eXBlc1tpXTsK
LSAgICBpZiAodHlwZSA9PT0gMCkgewotICAgICAgaSsrOwotICAgICAgY29udGludWU7Ci0gICAg
fQotICAgIGlmICh0eXBlID09ICdpNjQnKSB0eXBlID0gJ2kzMic7IC8vIHNwZWNpYWwgY2FzZTog
d2UgaGF2ZSBvbmUgaTMyIGhlcmUsIGFuZCBvbmUgaTMyIGxhdGVyCi0gICAgc2V0VmFsdWUocmV0
K2ksIGN1cnIsIHR5cGUpOwotICAgIC8vIG5vIG5lZWQgdG8gbG9vayB1cCBzaXplIHVubGVzcyB0
eXBlIGNoYW5nZXMsIHNvIGNhY2hlIGl0Ci0gICAgaWYgKHByZXZpb3VzVHlwZSAhPT0gdHlwZSkg
ewotICAgICAgdHlwZVNpemUgPSBSdW50aW1lLmdldE5hdGl2ZVR5cGVTaXplKHR5cGUpOwotICAg
ICAgcHJldmlvdXNUeXBlID0gdHlwZTsKLSAgICB9Ci0gICAgaSArPSB0eXBlU2l6ZTsKLSAgfQot
ICByZXR1cm4gcmV0OwotfQotTW9kdWxlWydhbGxvY2F0ZSddID0gYWxsb2NhdGU7Ci1mdW5jdGlv
biBQb2ludGVyX3N0cmluZ2lmeShwdHIsIC8qIG9wdGlvbmFsICovIGxlbmd0aCkgewotICAvLyBU
T0RPOiB1c2UgVGV4dERlY29kZXIKLSAgLy8gRmluZCB0aGUgbGVuZ3RoLCBhbmQgY2hlY2sgZm9y
IFVURiB3aGlsZSBkb2luZyBzbwotICB2YXIgaGFzVXRmID0gZmFsc2U7Ci0gIHZhciB0OwotICB2
YXIgaSA9IDA7Ci0gIHdoaWxlICgxKSB7Ci0gICAgdCA9IEhFQVBVOFsoKChwdHIpKyhpKSl8MCld
OwotICAgIGlmICh0ID49IDEyOCkgaGFzVXRmID0gdHJ1ZTsKLSAgICBlbHNlIGlmICh0ID09IDAg
JiYgIWxlbmd0aCkgYnJlYWs7Ci0gICAgaSsrOwotICAgIGlmIChsZW5ndGggJiYgaSA9PSBsZW5n
dGgpIGJyZWFrOwotICB9Ci0gIGlmICghbGVuZ3RoKSBsZW5ndGggPSBpOwotICB2YXIgcmV0ID0g
Jyc7Ci0gIGlmICghaGFzVXRmKSB7Ci0gICAgdmFyIE1BWF9DSFVOSyA9IDEwMjQ7IC8vIHNwbGl0
IHVwIGludG8gY2h1bmtzLCBiZWNhdXNlIC5hcHBseSBvbiBhIGh1Z2Ugc3RyaW5nIGNhbiBvdmVy
ZmxvdyB0aGUgc3RhY2sKLSAgICB2YXIgY3VycjsKLSAgICB3aGlsZSAobGVuZ3RoID4gMCkgewot
ICAgICAgY3VyciA9IFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLCBIRUFQVTguc3Vi
YXJyYXkocHRyLCBwdHIgKyBNYXRoLm1pbihsZW5ndGgsIE1BWF9DSFVOSykpKTsKLSAgICAgIHJl
dCA9IHJldCA/IHJldCArIGN1cnIgOiBjdXJyOwotICAgICAgcHRyICs9IE1BWF9DSFVOSzsKLSAg
ICAgIGxlbmd0aCAtPSBNQVhfQ0hVTks7Ci0gICAgfQotICAgIHJldHVybiByZXQ7Ci0gIH0KLSAg
dmFyIHV0ZjggPSBuZXcgUnVudGltZS5VVEY4UHJvY2Vzc29yKCk7Ci0gIGZvciAoaSA9IDA7IGkg
PCBsZW5ndGg7IGkrKykgewotICAgIHQgPSBIRUFQVThbKCgocHRyKSsoaSkpfDApXTsKLSAgICBy
ZXQgKz0gdXRmOC5wcm9jZXNzQ0NoYXIodCk7Ci0gIH0KLSAgcmV0dXJuIHJldDsKLX0KLU1vZHVs
ZVsnUG9pbnRlcl9zdHJpbmdpZnknXSA9IFBvaW50ZXJfc3RyaW5naWZ5OwotLy8gTWVtb3J5IG1h
bmFnZW1lbnQKLXZhciBQQUdFX1NJWkUgPSA0MDk2OwotZnVuY3Rpb24gYWxpZ25NZW1vcnlQYWdl
KHgpIHsKLSAgcmV0dXJuICgoeCs0MDk1KT4+MTIpPDwxMjsKLX0KLXZhciBIRUFQOwotdmFyIEhF
QVA4LCBIRUFQVTgsIEhFQVAxNiwgSEVBUFUxNiwgSEVBUDMyLCBIRUFQVTMyLCBIRUFQRjMyLCBI
RUFQRjY0OwotdmFyIFNUQVRJQ19CQVNFID0gMCwgU1RBVElDVE9QID0gMCwgc3RhdGljU2VhbGVk
ID0gZmFsc2U7IC8vIHN0YXRpYyBhcmVhCi12YXIgU1RBQ0tfQkFTRSA9IDAsIFNUQUNLVE9QID0g
MCwgU1RBQ0tfTUFYID0gMDsgLy8gc3RhY2sgYXJlYQotdmFyIERZTkFNSUNfQkFTRSA9IDAsIERZ
TkFNSUNUT1AgPSAwOyAvLyBkeW5hbWljIGFyZWEgaGFuZGxlZCBieSBzYnJrCi1mdW5jdGlvbiBl
bmxhcmdlTWVtb3J5KCkgewotICBhYm9ydCgnQ2Fubm90IGVubGFyZ2UgbWVtb3J5IGFycmF5cyBp
biBhc20uanMuIEVpdGhlciAoMSkgY29tcGlsZSB3aXRoIC1zIFRPVEFMX01FTU9SWT1YIHdpdGgg
WCBoaWdoZXIgdGhhbiB0aGUgY3VycmVudCB2YWx1ZSwgb3IgKDIpIHNldCBNb2R1bGUuVE9UQUxf
TUVNT1JZIGJlZm9yZSB0aGUgcHJvZ3JhbSBydW5zLicpOwotfQotdmFyIFRPVEFMX1NUQUNLID0g
TW9kdWxlWydUT1RBTF9TVEFDSyddIHx8IDUyNDI4ODA7Ci12YXIgVE9UQUxfTUVNT1JZID0gTW9k
dWxlWydUT1RBTF9NRU1PUlknXSB8fCAxNjc3NzIxNjsKLXZhciBGQVNUX01FTU9SWSA9IE1vZHVs
ZVsnRkFTVF9NRU1PUlknXSB8fCAyMDk3MTUyOwotLy8gSW5pdGlhbGl6ZSB0aGUgcnVudGltZSdz
IG1lbW9yeQotLy8gY2hlY2sgZm9yIGZ1bGwgZW5naW5lIHN1cHBvcnQgKHVzZSBzdHJpbmcgJ3N1
YmFycmF5JyB0byBhdm9pZCBjbG9zdXJlIGNvbXBpbGVyIGNvbmZ1c2lvbikKLWFzc2VydCghIUlu
dDMyQXJyYXkgJiYgISFGbG9hdDY0QXJyYXkgJiYgISEobmV3IEludDMyQXJyYXkoMSlbJ3N1YmFy
cmF5J10pICYmICEhKG5ldyBJbnQzMkFycmF5KDEpWydzZXQnXSksCi0gICAgICAgJ0Nhbm5vdCBm
YWxsYmFjayB0byBub24tdHlwZWQgYXJyYXkgY2FzZTogQ29kZSBpcyB0b28gc3BlY2lhbGl6ZWQn
KTsKLXZhciBidWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoVE9UQUxfTUVNT1JZKTsKLUhFQVA4ID0g
bmV3IEludDhBcnJheShidWZmZXIpOwotSEVBUDE2ID0gbmV3IEludDE2QXJyYXkoYnVmZmVyKTsK
LUhFQVAzMiA9IG5ldyBJbnQzMkFycmF5KGJ1ZmZlcik7Ci1IRUFQVTggPSBuZXcgVWludDhBcnJh
eShidWZmZXIpOwotSEVBUFUxNiA9IG5ldyBVaW50MTZBcnJheShidWZmZXIpOwotSEVBUFUzMiA9
IG5ldyBVaW50MzJBcnJheShidWZmZXIpOwotSEVBUEYzMiA9IG5ldyBGbG9hdDMyQXJyYXkoYnVm
ZmVyKTsKLUhFQVBGNjQgPSBuZXcgRmxvYXQ2NEFycmF5KGJ1ZmZlcik7Ci0vLyBFbmRpYW5uZXNz
IGNoZWNrIChub3RlOiBhc3N1bWVzIGNvbXBpbGVyIGFyY2ggd2FzIGxpdHRsZS1lbmRpYW4pCi1I
RUFQMzJbMF0gPSAyNTU7Ci1hc3NlcnQoSEVBUFU4WzBdID09PSAyNTUgJiYgSEVBUFU4WzNdID09
PSAwLCAnVHlwZWQgYXJyYXlzIDIgbXVzdCBiZSBydW4gb24gYSBsaXR0bGUtZW5kaWFuIHN5c3Rl
bScpOwotTW9kdWxlWydIRUFQJ10gPSBIRUFQOwotTW9kdWxlWydIRUFQOCddID0gSEVBUDg7Ci1N
b2R1bGVbJ0hFQVAxNiddID0gSEVBUDE2OwotTW9kdWxlWydIRUFQMzInXSA9IEhFQVAzMjsKLU1v
ZHVsZVsnSEVBUFU4J10gPSBIRUFQVTg7Ci1Nb2R1bGVbJ0hFQVBVMTYnXSA9IEhFQVBVMTY7Ci1N
b2R1bGVbJ0hFQVBVMzInXSA9IEhFQVBVMzI7Ci1Nb2R1bGVbJ0hFQVBGMzInXSA9IEhFQVBGMzI7
Ci1Nb2R1bGVbJ0hFQVBGNjQnXSA9IEhFQVBGNjQ7Ci1mdW5jdGlvbiBjYWxsUnVudGltZUNhbGxi
YWNrcyhjYWxsYmFja3MpIHsKLSAgd2hpbGUoY2FsbGJhY2tzLmxlbmd0aCA+IDApIHsKLSAgICB2
YXIgY2FsbGJhY2sgPSBjYWxsYmFja3Muc2hpZnQoKTsKLSAgICBpZiAodHlwZW9mIGNhbGxiYWNr
ID09ICdmdW5jdGlvbicpIHsKLSAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICBjb250aW51ZTsKLSAg
ICB9Ci0gICAgdmFyIGZ1bmMgPSBjYWxsYmFjay5mdW5jOwotICAgIGlmICh0eXBlb2YgZnVuYyA9
PT0gJ251bWJlcicpIHsKLSAgICAgIGlmIChjYWxsYmFjay5hcmcgPT09IHVuZGVmaW5lZCkgewot
ICAgICAgICBSdW50aW1lLmR5bkNhbGwoJ3YnLCBmdW5jKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgIFJ1bnRpbWUuZHluQ2FsbCgndmknLCBmdW5jLCBbY2FsbGJhY2suYXJnXSk7Ci0gICAgICB9
Ci0gICAgfSBlbHNlIHsKLSAgICAgIGZ1bmMoY2FsbGJhY2suYXJnID09PSB1bmRlZmluZWQgPyBu
dWxsIDogY2FsbGJhY2suYXJnKTsKLSAgICB9Ci0gIH0KLX0KLXZhciBfX0FUUFJFUlVOX18gID0g
W107IC8vIGZ1bmN0aW9ucyBjYWxsZWQgYmVmb3JlIHRoZSBydW50aW1lIGlzIGluaXRpYWxpemVk
Ci12YXIgX19BVElOSVRfXyAgICA9IFtdOyAvLyBmdW5jdGlvbnMgY2FsbGVkIGR1cmluZyBzdGFy
dHVwCi12YXIgX19BVE1BSU5fXyAgICA9IFtdOyAvLyBmdW5jdGlvbnMgY2FsbGVkIHdoZW4gbWFp
bigpIGlzIHRvIGJlIHJ1bgotdmFyIF9fQVRFWElUX18gICAgPSBbXTsgLy8gZnVuY3Rpb25zIGNh
bGxlZCBkdXJpbmcgc2h1dGRvd24KLXZhciBfX0FUUE9TVFJVTl9fID0gW107IC8vIGZ1bmN0aW9u
cyBjYWxsZWQgYWZ0ZXIgdGhlIHJ1bnRpbWUgaGFzIGV4aXRlZAotdmFyIHJ1bnRpbWVJbml0aWFs
aXplZCA9IGZhbHNlOwotZnVuY3Rpb24gcHJlUnVuKCkgewotICAvLyBjb21wYXRpYmlsaXR5IC0g
bWVyZ2UgaW4gYW55dGhpbmcgZnJvbSBNb2R1bGVbJ3ByZVJ1biddIGF0IHRoaXMgdGltZQotICBp
ZiAoTW9kdWxlWydwcmVSdW4nXSkgewotICAgIGlmICh0eXBlb2YgTW9kdWxlWydwcmVSdW4nXSA9
PSAnZnVuY3Rpb24nKSBNb2R1bGVbJ3ByZVJ1biddID0gW01vZHVsZVsncHJlUnVuJ11dOwotICAg
IHdoaWxlIChNb2R1bGVbJ3ByZVJ1biddLmxlbmd0aCkgewotICAgICAgYWRkT25QcmVSdW4oTW9k
dWxlWydwcmVSdW4nXS5zaGlmdCgpKTsKLSAgICB9Ci0gIH0KLSAgY2FsbFJ1bnRpbWVDYWxsYmFj
a3MoX19BVFBSRVJVTl9fKTsKLX0KLWZ1bmN0aW9uIGVuc3VyZUluaXRSdW50aW1lKCkgewotICBp
ZiAocnVudGltZUluaXRpYWxpemVkKSByZXR1cm47Ci0gIHJ1bnRpbWVJbml0aWFsaXplZCA9IHRy
dWU7Ci0gIGNhbGxSdW50aW1lQ2FsbGJhY2tzKF9fQVRJTklUX18pOwotfQotZnVuY3Rpb24gcHJl
TWFpbigpIHsKLSAgY2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVE1BSU5fXyk7Ci19Ci1mdW5jdGlv
biBleGl0UnVudGltZSgpIHsKLSAgY2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVEVYSVRfXyk7Ci19
Ci1mdW5jdGlvbiBwb3N0UnVuKCkgewotICAvLyBjb21wYXRpYmlsaXR5IC0gbWVyZ2UgaW4gYW55
dGhpbmcgZnJvbSBNb2R1bGVbJ3Bvc3RSdW4nXSBhdCB0aGlzIHRpbWUKLSAgaWYgKE1vZHVsZVsn
cG9zdFJ1biddKSB7Ci0gICAgaWYgKHR5cGVvZiBNb2R1bGVbJ3Bvc3RSdW4nXSA9PSAnZnVuY3Rp
b24nKSBNb2R1bGVbJ3Bvc3RSdW4nXSA9IFtNb2R1bGVbJ3Bvc3RSdW4nXV07Ci0gICAgd2hpbGUg
KE1vZHVsZVsncG9zdFJ1biddLmxlbmd0aCkgewotICAgICAgYWRkT25Qb3N0UnVuKE1vZHVsZVsn
cG9zdFJ1biddLnNoaWZ0KCkpOwotICAgIH0KLSAgfQotICBjYWxsUnVudGltZUNhbGxiYWNrcyhf
X0FUUE9TVFJVTl9fKTsKLX0KLWZ1bmN0aW9uIGFkZE9uUHJlUnVuKGNiKSB7Ci0gIF9fQVRQUkVS
VU5fXy51bnNoaWZ0KGNiKTsKLX0KLU1vZHVsZVsnYWRkT25QcmVSdW4nXSA9IE1vZHVsZS5hZGRP
blByZVJ1biA9IGFkZE9uUHJlUnVuOwotZnVuY3Rpb24gYWRkT25Jbml0KGNiKSB7Ci0gIF9fQVRJ
TklUX18udW5zaGlmdChjYik7Ci19Ci1Nb2R1bGVbJ2FkZE9uSW5pdCddID0gTW9kdWxlLmFkZE9u
SW5pdCA9IGFkZE9uSW5pdDsKLWZ1bmN0aW9uIGFkZE9uUHJlTWFpbihjYikgewotICBfX0FUTUFJ
Tl9fLnVuc2hpZnQoY2IpOwotfQotTW9kdWxlWydhZGRPblByZU1haW4nXSA9IE1vZHVsZS5hZGRP
blByZU1haW4gPSBhZGRPblByZU1haW47Ci1mdW5jdGlvbiBhZGRPbkV4aXQoY2IpIHsKLSAgX19B
VEVYSVRfXy51bnNoaWZ0KGNiKTsKLX0KLU1vZHVsZVsnYWRkT25FeGl0J10gPSBNb2R1bGUuYWRk
T25FeGl0ID0gYWRkT25FeGl0OwotZnVuY3Rpb24gYWRkT25Qb3N0UnVuKGNiKSB7Ci0gIF9fQVRQ
T1NUUlVOX18udW5zaGlmdChjYik7Ci19Ci1Nb2R1bGVbJ2FkZE9uUG9zdFJ1biddID0gTW9kdWxl
LmFkZE9uUG9zdFJ1biA9IGFkZE9uUG9zdFJ1bjsKLS8vIFRvb2xzCi0vLyBUaGlzIHByb2Nlc3Nl
cyBhIEpTIHN0cmluZyBpbnRvIGEgQy1saW5lIGFycmF5IG9mIG51bWJlcnMsIDAtdGVybWluYXRl
ZC4KLS8vIEZvciBMTFZNLW9yaWdpbmF0aW5nIHN0cmluZ3MsIHNlZSBwYXJzZXIuanM6cGFyc2VM
TFZNU3RyaW5nIGZ1bmN0aW9uCi1mdW5jdGlvbiBpbnRBcnJheUZyb21TdHJpbmcoc3RyaW5neSwg
ZG9udEFkZE51bGwsIGxlbmd0aCAvKiBvcHRpb25hbCAqLykgewotICB2YXIgcmV0ID0gKG5ldyBS
dW50aW1lLlVURjhQcm9jZXNzb3IoKSkucHJvY2Vzc0pTU3RyaW5nKHN0cmluZ3kpOwotICBpZiAo
bGVuZ3RoKSB7Ci0gICAgcmV0Lmxlbmd0aCA9IGxlbmd0aDsKLSAgfQotICBpZiAoIWRvbnRBZGRO
dWxsKSB7Ci0gICAgcmV0LnB1c2goMCk7Ci0gIH0KLSAgcmV0dXJuIHJldDsKLX0KLU1vZHVsZVsn
aW50QXJyYXlGcm9tU3RyaW5nJ10gPSBpbnRBcnJheUZyb21TdHJpbmc7Ci1mdW5jdGlvbiBpbnRB
cnJheVRvU3RyaW5nKGFycmF5KSB7Ci0gIHZhciByZXQgPSBbXTsKLSAgZm9yICh2YXIgaSA9IDA7
IGkgPCBhcnJheS5sZW5ndGg7IGkrKykgewotICAgIHZhciBjaHIgPSBhcnJheVtpXTsKLSAgICBp
ZiAoY2hyID4gMHhGRikgewotICAgICAgY2hyICY9IDB4RkY7Ci0gICAgfQotICAgIHJldC5wdXNo
KFN0cmluZy5mcm9tQ2hhckNvZGUoY2hyKSk7Ci0gIH0KLSAgcmV0dXJuIHJldC5qb2luKCcnKTsK
LX0KLU1vZHVsZVsnaW50QXJyYXlUb1N0cmluZyddID0gaW50QXJyYXlUb1N0cmluZzsKLS8vIFdy
aXRlIGEgSmF2YXNjcmlwdCBhcnJheSB0byBzb21ld2hlcmUgaW4gdGhlIGhlYXAKLWZ1bmN0aW9u
IHdyaXRlU3RyaW5nVG9NZW1vcnkoc3RyaW5nLCBidWZmZXIsIGRvbnRBZGROdWxsKSB7Ci0gIHZh
ciBhcnJheSA9IGludEFycmF5RnJvbVN0cmluZyhzdHJpbmcsIGRvbnRBZGROdWxsKTsKLSAgdmFy
IGkgPSAwOwotICB3aGlsZSAoaSA8IGFycmF5Lmxlbmd0aCkgewotICAgIHZhciBjaHIgPSBhcnJh
eVtpXTsKLSAgICBIRUFQOFsoKChidWZmZXIpKyhpKSl8MCldPWNocgotICAgIGkgPSBpICsgMTsK
LSAgfQotfQotTW9kdWxlWyd3cml0ZVN0cmluZ1RvTWVtb3J5J10gPSB3cml0ZVN0cmluZ1RvTWVt
b3J5OwotZnVuY3Rpb24gd3JpdGVBcnJheVRvTWVtb3J5KGFycmF5LCBidWZmZXIpIHsKLSAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykgewotICAgIEhFQVA4WygoKGJ1ZmZl
cikrKGkpKXwwKV09YXJyYXlbaV07Ci0gIH0KLX0KLU1vZHVsZVsnd3JpdGVBcnJheVRvTWVtb3J5
J10gPSB3cml0ZUFycmF5VG9NZW1vcnk7Ci1mdW5jdGlvbiB1blNpZ24odmFsdWUsIGJpdHMsIGln
bm9yZSwgc2lnKSB7Ci0gIGlmICh2YWx1ZSA+PSAwKSB7Ci0gICAgcmV0dXJuIHZhbHVlOwotICB9
Ci0gIHJldHVybiBiaXRzIDw9IDMyID8gMipNYXRoLmFicygxIDw8IChiaXRzLTEpKSArIHZhbHVl
IC8vIE5lZWQgc29tZSB0cmlja2VyeSwgc2luY2UgaWYgYml0cyA9PSAzMiwgd2UgYXJlIHJpZ2h0
IGF0IHRoZSBsaW1pdCBvZiB0aGUgYml0cyBKUyB1c2VzIGluIGJpdHNoaWZ0cwotICAgICAgICAg
ICAgICAgICAgICA6IE1hdGgucG93KDIsIGJpdHMpICAgICAgICAgKyB2YWx1ZTsKLX0KLWZ1bmN0
aW9uIHJlU2lnbih2YWx1ZSwgYml0cywgaWdub3JlLCBzaWcpIHsKLSAgaWYgKHZhbHVlIDw9IDAp
IHsKLSAgICByZXR1cm4gdmFsdWU7Ci0gIH0KLSAgdmFyIGhhbGYgPSBiaXRzIDw9IDMyID8gTWF0
aC5hYnMoMSA8PCAoYml0cy0xKSkgLy8gYWJzIGlzIG5lZWRlZCBpZiBiaXRzID09IDMyCi0gICAg
ICAgICAgICAgICAgICAgICAgICA6IE1hdGgucG93KDIsIGJpdHMtMSk7Ci0gIGlmICh2YWx1ZSA+
PSBoYWxmICYmIChiaXRzIDw9IDMyIHx8IHZhbHVlID4gaGFsZikpIHsgLy8gZm9yIGh1Z2UgdmFs
dWVzLCB3ZSBjYW4gaGl0IHRoZSBwcmVjaXNpb24gbGltaXQgYW5kIGFsd2F5cyBnZXQgdHJ1ZSBo
ZXJlLiBzbyBkb24ndCBkbyB0aGF0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gYnV0LCBpbiBnZW5lcmFsIHRoZXJlIGlzIG5vIHBlcmZl
Y3Qgc29sdXRpb24gaGVyZS4gV2l0aCA2NC1iaXQgaW50cywgd2UgZ2V0IHJvdW5kaW5nIGFuZCBl
cnJvcnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBUT0RPOiBJbiBpNjQgbW9kZSAxLCByZXNpZ24gdGhlIHR3byBwYXJ0cyBzZXBhcmF0
ZWx5IGFuZCBzYWZlbHkKLSAgICB2YWx1ZSA9IC0yKmhhbGYgKyB2YWx1ZTsgLy8gQ2Fubm90IGJp
dHNoaWZ0IGhhbGYsIGFzIGl0IG1heSBiZSBhdCB0aGUgbGltaXQgb2YgdGhlIGJpdHMgSlMgdXNl
cyBpbiBiaXRzaGlmdHMKLSAgfQotICByZXR1cm4gdmFsdWU7Ci19Ci1pZiAoIU1hdGhbJ2ltdWwn
XSkgTWF0aFsnaW11bCddID0gZnVuY3Rpb24oYSwgYikgewotICB2YXIgYWggID0gYSA+Pj4gMTY7
Ci0gIHZhciBhbCA9IGEgJiAweGZmZmY7Ci0gIHZhciBiaCAgPSBiID4+PiAxNjsKLSAgdmFyIGJs
ID0gYiAmIDB4ZmZmZjsKLSAgcmV0dXJuIChhbCpibCArICgoYWgqYmwgKyBhbCpiaCkgPDwgMTYp
KXwwOwotfTsKLU1hdGguaW11bCA9IE1hdGhbJ2ltdWwnXTsKLS8vIEEgY291bnRlciBvZiBkZXBl
bmRlbmNpZXMgZm9yIGNhbGxpbmcgcnVuKCkuIElmIHdlIG5lZWQgdG8KLS8vIGRvIGFzeW5jaHJv
bm91cyB3b3JrIGJlZm9yZSBydW5uaW5nLCBpbmNyZW1lbnQgdGhpcyBhbmQKLS8vIGRlY3JlbWVu
dCBpdC4gSW5jcmVtZW50aW5nIG11c3QgaGFwcGVuIGluIGEgcGxhY2UgbGlrZQotLy8gUFJFX1JV
Tl9BRERJVElPTlMgKHVzZWQgYnkgZW1jYyB0byBhZGQgZmlsZSBwcmVsb2FkaW5nKS4KLS8vIE5v
dGUgdGhhdCB5b3UgY2FuIGFkZCBkZXBlbmRlbmNpZXMgaW4gcHJlUnVuLCBldmVuIHRob3VnaAot
Ly8gaXQgaGFwcGVucyByaWdodCBiZWZvcmUgcnVuIC0gcnVuIHdpbGwgYmUgcG9zdHBvbmVkIHVu
dGlsCi0vLyB0aGUgZGVwZW5kZW5jaWVzIGFyZSBtZXQuCi12YXIgcnVuRGVwZW5kZW5jaWVzID0g
MDsKLXZhciBydW5EZXBlbmRlbmN5VHJhY2tpbmcgPSB7fTsKLXZhciBjYWxsZWRJbml0ID0gZmFs
c2UsIGNhbGxlZFJ1biA9IGZhbHNlOwotdmFyIHJ1bkRlcGVuZGVuY3lXYXRjaGVyID0gbnVsbDsK
LWZ1bmN0aW9uIGFkZFJ1bkRlcGVuZGVuY3koaWQpIHsKLSAgcnVuRGVwZW5kZW5jaWVzKys7Ci0g
IGlmIChNb2R1bGVbJ21vbml0b3JSdW5EZXBlbmRlbmNpZXMnXSkgewotICAgIE1vZHVsZVsnbW9u
aXRvclJ1bkRlcGVuZGVuY2llcyddKHJ1bkRlcGVuZGVuY2llcyk7Ci0gIH0KLSAgaWYgKGlkKSB7
Ci0gICAgYXNzZXJ0KCFydW5EZXBlbmRlbmN5VHJhY2tpbmdbaWRdKTsKLSAgICBydW5EZXBlbmRl
bmN5VHJhY2tpbmdbaWRdID0gMTsKLSAgfSBlbHNlIHsKLSAgICBNb2R1bGUucHJpbnRFcnIoJ3dh
cm5pbmc6IHJ1biBkZXBlbmRlbmN5IGFkZGVkIHdpdGhvdXQgSUQnKTsKLSAgfQotfQotTW9kdWxl
WydhZGRSdW5EZXBlbmRlbmN5J10gPSBhZGRSdW5EZXBlbmRlbmN5OwotZnVuY3Rpb24gcmVtb3Zl
UnVuRGVwZW5kZW5jeShpZCkgewotICBydW5EZXBlbmRlbmNpZXMtLTsKLSAgaWYgKE1vZHVsZVsn
bW9uaXRvclJ1bkRlcGVuZGVuY2llcyddKSB7Ci0gICAgTW9kdWxlWydtb25pdG9yUnVuRGVwZW5k
ZW5jaWVzJ10ocnVuRGVwZW5kZW5jaWVzKTsKLSAgfQotICBpZiAoaWQpIHsKLSAgICBhc3NlcnQo
cnVuRGVwZW5kZW5jeVRyYWNraW5nW2lkXSk7Ci0gICAgZGVsZXRlIHJ1bkRlcGVuZGVuY3lUcmFj
a2luZ1tpZF07Ci0gIH0gZWxzZSB7Ci0gICAgTW9kdWxlLnByaW50RXJyKCd3YXJuaW5nOiBydW4g
ZGVwZW5kZW5jeSByZW1vdmVkIHdpdGhvdXQgSUQnKTsKLSAgfQotICBpZiAocnVuRGVwZW5kZW5j
aWVzID09IDApIHsKLSAgICBpZiAocnVuRGVwZW5kZW5jeVdhdGNoZXIgIT09IG51bGwpIHsKLSAg
ICAgIGNsZWFySW50ZXJ2YWwocnVuRGVwZW5kZW5jeVdhdGNoZXIpOwotICAgICAgcnVuRGVwZW5k
ZW5jeVdhdGNoZXIgPSBudWxsOwotICAgIH0gCi0gICAgLy8gSWYgcnVuIGhhcyBuZXZlciBiZWVu
IGNhbGxlZCwgYW5kIHdlIHNob3VsZCBjYWxsIHJ1biAoSU5WT0tFX1JVTiBpcyB0cnVlLCBhbmQg
TW9kdWxlLm5vSW5pdGlhbFJ1biBpcyBub3QgZmFsc2UpCi0gICAgaWYgKCFjYWxsZWRSdW4gJiYg
c2hvdWxkUnVuTm93KSBydW4oKTsKLSAgfQotfQotTW9kdWxlWydyZW1vdmVSdW5EZXBlbmRlbmN5
J10gPSByZW1vdmVSdW5EZXBlbmRlbmN5OwotTW9kdWxlWyJwcmVsb2FkZWRJbWFnZXMiXSA9IHt9
OyAvLyBtYXBzIHVybCB0byBpbWFnZSBkYXRhCi1Nb2R1bGVbInByZWxvYWRlZEF1ZGlvcyJdID0g
e307IC8vIG1hcHMgdXJsIHRvIGF1ZGlvIGRhdGEKLWZ1bmN0aW9uIGxvYWRNZW1vcnlJbml0aWFs
aXplcihmaWxlbmFtZSkgewotICBmdW5jdGlvbiBhcHBseURhdGEoZGF0YSkgewotICAgIEhFQVBV
OC5zZXQoZGF0YSwgU1RBVElDX0JBU0UpOwotICB9Ci0gIC8vIGFsd2F5cyBkbyB0aGlzIGFzeW5j
aHJvbm91c2x5LCB0byBrZWVwIHNoZWxsIGFuZCB3ZWIgYXMgc2ltaWxhciBhcyBwb3NzaWJsZQot
ICBhZGRPblByZVJ1bihmdW5jdGlvbigpIHsKLSAgICBpZiAoRU5WSVJPTk1FTlRfSVNfTk9ERSB8
fCBFTlZJUk9OTUVOVF9JU19TSEVMTCkgewotICAgICAgYXBwbHlEYXRhKE1vZHVsZVsncmVhZEJp
bmFyeSddKGZpbGVuYW1lKSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIEJyb3dzZXIuYXN5bmNMb2Fk
KGZpbGVuYW1lLCBmdW5jdGlvbihkYXRhKSB7Ci0gICAgICAgIGFwcGx5RGF0YShkYXRhKTsKLSAg
ICAgIH0sIGZ1bmN0aW9uKGRhdGEpIHsKLSAgICAgICAgdGhyb3cgJ2NvdWxkIG5vdCBsb2FkIG1l
bW9yeSBpbml0aWFsaXplciAnICsgZmlsZW5hbWU7Ci0gICAgICB9KTsKLSAgICB9Ci0gIH0pOwot
fQotLy8gPT09IEJvZHkgPT09Ci1TVEFUSUNfQkFTRSA9IDg7Ci1TVEFUSUNUT1AgPSBTVEFUSUNf
QkFTRSArIDE2MzkyOwotdmFyIF9zdGRvdXQ7Ci12YXIgX3N0ZGluOwotdmFyIF9zdGRlcnI7Ci0v
KiBnbG9iYWwgaW5pdGlhbGl6ZXJzICovIF9fQVRJTklUX18ucHVzaCh7IGZ1bmM6IGZ1bmN0aW9u
KCkgeyBydW5Qb3N0U2V0cygpIH0gfSx7IGZ1bmM6IGZ1bmN0aW9uKCkgeyBfX0dMT0JBTF9fSV9h
KCkgfSB9LHsgZnVuYzogZnVuY3Rpb24oKSB7IF9fR0xPQkFMX19JX2E4KCkgfSB9KTsKLXZhciBf
X19mc211ODsKLXZhciBfX19kc29faGFuZGxlOwotdmFyIF9fWlRWTjEwX19jeHhhYml2MTIwX19z
aV9jbGFzc190eXBlX2luZm9FOwotdmFyIF9fWlRWTjEwX19jeHhhYml2MTE3X19jbGFzc190eXBl
X2luZm9FOwotdmFyIF9fWk5TdDNfXzExMl9fcnNfZGVmYXVsdEQxRXY7Ci12YXIgX19aTlN0MTNy
dW50aW1lX2Vycm9yQzFFUEtjOwotdmFyIF9fWk5TdDEzcnVudGltZV9lcnJvckQxRXY7Ci12YXIg
X19aTlN0MTJsZW5ndGhfZXJyb3JEMUV2OwotdmFyIF9fWk5TdDNfXzE2bG9jYWxlQzFFdjsKLXZh
ciBfX1pOU3QzX18xNmxvY2FsZUMxRVJLUzBfOwotdmFyIF9fWk5TdDNfXzE2bG9jYWxlRDFFdjsK
LXZhciBfX1pOU3Q4YmFkX2Nhc3RDMUV2OwotdmFyIF9fWk5TdDhiYWRfY2FzdEQxRXY7Ci12YXIg
X3N0ZG91dCA9IF9zdGRvdXQ9YWxsb2NhdGUoWzAsMCwwLDAsMCwwLDAsMF0sICJpOCIsIEFMTE9D
X1NUQVRJQyk7Ci12YXIgX3N0ZGluID0gX3N0ZGluPWFsbG9jYXRlKFswLDAsMCwwLDAsMCwwLDBd
LCAiaTgiLCBBTExPQ19TVEFUSUMpOwotdmFyIF9zdGRlcnIgPSBfc3RkZXJyPWFsbG9jYXRlKFsw
LDAsMCwwLDAsMCwwLDBdLCAiaTgiLCBBTExPQ19TVEFUSUMpOwotX19aVFZOMTBfX2N4eGFiaXYx
MjBfX3NpX2NsYXNzX3R5cGVfaW5mb0U9YWxsb2NhdGUoWzAsMCwwLDAsMjAwLDM3LDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwXSwgImk4IiwgQUxMT0NfU1RBVElDKTsKLV9fWlRWTjEwX19jeHhh
Yml2MTE3X19jbGFzc190eXBlX2luZm9FPWFsbG9jYXRlKFswLDAsMCwwLDIxNiwzNywwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMF0sICJpOCIsIEFMTE9DX1NUQVRJQyk7Ci0vKiBtZW1vcnkgaW5p
dGlhbGl6ZXIgKi8gYWxsb2NhdGUoWzAsMCwwLDAsMCwwLDM2LDY0LDAsMCwwLDAsMCwwLDg5LDY0
LDAsMCwwLDAsMCwxMzYsMTk1LDY0LDAsMCwwLDAsMTMyLDIxNSwxNTEsNjUsMCwxMjgsMjI0LDU1
LDEyMSwxOTUsNjUsNjcsMjMsMTEwLDUsMTgxLDE4MSwxODQsMTQ3LDcwLDI0NSwyNDksNjMsMjMz
LDMsNzksNTYsNzcsNTAsMjksNDgsMjQ5LDcyLDExOSwxMzAsOTAsNjAsMTkxLDExNSwxMjcsMjIx
LDc5LDIxLDExNyw3NCwxMTcsMTA4LDAsMCwwLDAsMCw3NCwxMTcsMTEwLDAsMCwwLDAsMCw2NSwx
MTIsMTE0LDAsMCwwLDAsMCw3Nyw5NywxMTQsMCwwLDAsMCwwLDcwLDEwMSw5OCwwLDAsMCwwLDAs
NzQsOTcsMTEwLDAsMCwwLDAsMCw2OCwxMDEsOTksMTAxLDEwOSw5OCwxMDEsMTE0LDAsMCwwLDAs
MCwwLDAsMCw3OCwxMTEsMTE4LDEwMSwxMDksOTgsMTAxLDExNCwwLDAsMCwwLDAsMCwwLDAsNzks
OTksMTE2LDExMSw5OCwxMDEsMTE0LDAsODMsMTAxLDExMiwxMTYsMTAxLDEwOSw5OCwxMDEsMTE0
LDAsMCwwLDAsMCwwLDAsMTE3LDExMCwxMTUsMTE3LDExMiwxMTIsMTExLDExNCwxMTYsMTAxLDEw
MCwzMiwxMDgsMTExLDk5LDk3LDEwOCwxMDEsMzIsMTAyLDExMSwxMTQsMzIsMTE1LDExNiw5Nywx
MTAsMTAwLDk3LDExNCwxMDAsMzIsMTA1LDExMCwxMTIsMTE3LDExNiwwLDAsMCw2NSwxMTcsMTAz
LDExNywxMTUsMTE2LDAsMCw3NCwxMTcsMTA4LDEyMSwwLDAsMCwwLDc0LDExNywxMTAsMTAxLDAs
MCwwLDAsNzcsOTcsMTIxLDAsMCwwLDAsMCw2NSwxMTIsMTE0LDEwNSwxMDgsMCwwLDAsNzcsOTcs
MTE0LDk5LDEwNCwwLDAsMCw3MCwxMDEsOTgsMTE0LDExNyw5NywxMTQsMTIxLDAsMCwwLDAsMCww
LDAsMCw3NCw5NywxMTAsMTE3LDk3LDExNCwxMjEsMCw2OCwwLDAsMCwxMDEsMCwwLDAsOTksMCww
LDAsMCwwLDAsMCw3OCwwLDAsMCwxMTEsMCwwLDAsMTE4LDAsMCwwLDAsMCwwLDAsNzksMCwwLDAs
OTksMCwwLDAsMTE2LDAsMCwwLDAsMCwwLDAsODMsMCwwLDAsMTAxLDAsMCwwLDExMiwwLDAsMCww
LDAsMCwwLDk4LDk3LDExNSwxMDUsOTksOTUsMTE1LDExNiwxMTQsMTA1LDExMCwxMDMsMCwwLDAs
MCw2NSwwLDAsMCwxMTcsMCwwLDAsMTAzLDAsMCwwLDAsMCwwLDAsNzQsMCwwLDAsMTE3LDAsMCww
LDEwOCwwLDAsMCwwLDAsMCwwLDc0LDAsMCwwLDExNywwLDAsMCwxMTAsMCwwLDAsMCwwLDAsMCw3
NywwLDAsMCw5NywwLDAsMCwxMjEsMCwwLDAsMCwwLDAsMCw2NSwwLDAsMCwxMTIsMCwwLDAsMTE0
LDAsMCwwLDAsMCwwLDAsNzcsMCwwLDAsOTcsMCwwLDAsMTE0LDAsMCwwLDAsMCwwLDAsNzAsMCww
LDAsMTAxLDAsMCwwLDk4LDAsMCwwLDAsMCwwLDAsNzQsMCwwLDAsOTcsMCwwLDAsMTEwLDAsMCww
LDAsMCwwLDAsNjgsMCwwLDAsMTAxLDAsMCwwLDk5LDAsMCwwLDEwMSwwLDAsMCwxMDksMCwwLDAs
OTgsMCwwLDAsMTAxLDAsMCwwLDExNCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNzgsMCwwLDAsMTEx
LDAsMCwwLDExOCwwLDAsMCwxMDEsMCwwLDAsMTA5LDAsMCwwLDk4LDAsMCwwLDEwMSwwLDAsMCwx
MTQsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDc5LDAsMCwwLDk5LDAsMCwwLDExNiwwLDAsMCwxMTEs
MCwwLDAsOTgsMCwwLDAsMTAxLDAsMCwwLDExNCwwLDAsMCwwLDAsMCwwLDgzLDAsMCwwLDEwMSww
LDAsMCwxMTIsMCwwLDAsMTE2LDAsMCwwLDEwMSwwLDAsMCwxMDksMCwwLDAsOTgsMCwwLDAsMTAx
LDAsMCwwLDExNCwwLDAsMCwwLDAsMCwwLDY1LDAsMCwwLDExNywwLDAsMCwxMDMsMCwwLDAsMTE3
LDAsMCwwLDExNSwwLDAsMCwxMTYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDc0LDAsMCwwLDExNyww
LDAsMCwxMDgsMCwwLDAsMTIxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw3NCwwLDAsMCwxMTcsMCww
LDAsMTEwLDAsMCwwLDEwMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNjUsMCwwLDAsMTEyLDAsMCww
LDExNCwwLDAsMCwxMDUsMCwwLDAsMTA4LDAsMCwwLDAsMCwwLDAsNzcsMCwwLDAsOTcsMCwwLDAs
MTE0LDAsMCwwLDk5LDAsMCwwLDEwNCwwLDAsMCwwLDAsMCwwLDcwLDAsMCwwLDEwMSwwLDAsMCw5
OCwwLDAsMCwxMTQsMCwwLDAsMTE3LDAsMCwwLDk3LDAsMCwwLDExNCwwLDAsMCwxMjEsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDc0LDAsMCwwLDk3LDAsMCwwLDExMCwwLDAsMCwxMTcsMCwwLDAsOTcs
MCwwLDAsMTE0LDAsMCwwLDEyMSwwLDAsMCwwLDAsMCwwLDgwLDc3LDAsMCwwLDAsMCwwLDY1LDc3
LDAsMCwwLDAsMCwwLDgwLDAsMCwwLDc3LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw2NSwwLDAsMCw3
NywwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTA4LDExMSw5OSw5NywxMDgsMTAxLDMyLDExMCwxMTEs
MTE2LDMyLDExNSwxMTcsMTEyLDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDAsMCwwLDAsMzcsMCww
LDAsNzMsMCwwLDAsNTgsMCwwLDAsMzcsMCwwLDAsNzcsMCwwLDAsNTgsMCwwLDAsMzcsMCwwLDAs
ODMsMCwwLDAsMzIsMCwwLDAsMzcsMCwwLDAsMTEyLDAsMCwwLDAsMCwwLDAsMzcsNzMsNTgsMzcs
NzcsNTgsMzcsODMsMzIsMzcsMTEyLDAsMCwwLDAsMCwzNywwLDAsMCw5NywwLDAsMCwzMiwwLDAs
MCwzNywwLDAsMCw5OCwwLDAsMCwzMiwwLDAsMCwzNywwLDAsMCwxMDAsMCwwLDAsMzIsMCwwLDAs
MzcsMCwwLDAsNzIsMCwwLDAsNTgsMCwwLDAsMzcsMCwwLDAsNzcsMCwwLDAsNTgsMCwwLDAsMzcs
MCwwLDAsODMsMCwwLDAsMzIsMCwwLDAsMzcsMCwwLDAsODksMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDM3LDk3LDMyLDM3LDk4LDMyLDM3LDEwMCwzMiwzNyw3Miw1OCwzNyw3Nyw1OCwzNyw4MywzMiwz
Nyw4OSwwLDAsMCwwLDM3LDAsMCwwLDcyLDAsMCwwLDU4LDAsMCwwLDM3LDAsMCwwLDc3LDAsMCww
LDU4LDAsMCwwLDM3LDAsMCwwLDgzLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwzNyw3Miw1OCwzNyw3
Nyw1OCwzNyw4MywwLDAsMCwwLDAsMCwwLDAsMTE1LDExNiwxMDAsNTgsNTgsOTgsOTcsMTAwLDk1
LDk3LDEwOCwxMDgsMTExLDk5LDAsMCwzNywwLDAsMCwxMDksMCwwLDAsNDcsMCwwLDAsMzcsMCww
LDAsMTAwLDAsMCwwLDQ3LDAsMCwwLDM3LDAsMCwwLDEyMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MzcsMTA5LDQ3LDM3LDEwMCw0NywzNywxMjEsMCwwLDAsMCwwLDAsMCwwLDEwMiwwLDAsMCw5Nyww
LDAsMCwxMDgsMCwwLDAsMTE1LDAsMCwwLDEwMSwwLDAsMCwwLDAsMCwwLDEwMiw5NywxMDgsMTE1
LDEwMSwwLDAsMCwxMTYsMCwwLDAsMTE0LDAsMCwwLDExNywwLDAsMCwxMDEsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDExNiwxMTQsMTE3LDEwMSwwLDAsMCwwLDU4LDMyLDAsMCwwLDAsMCwwLDEwNSwx
MTEsMTE1LDk1LDk4LDk3LDExNSwxMDEsNTgsNTgsOTksMTA4LDEwMSw5NywxMTQsMCwzNywxMTIs
MCwwLDAsMCwwLDAsMTE1LDExNiwxMDAsNTgsNTgsOTgsOTcsMTAwLDk1LDk5LDk3LDExNSwxMTYs
MCwwLDAsNjcsMCwwLDAsMCwwLDAsMCwxMTgsMTAxLDk5LDExNiwxMTEsMTE0LDAsMCwzNyw0Niw0
OCw3NiwxMDIsMCwwLDAsMTA5LDExMSwxMTAsMTAxLDEyMSw5NSwxMDMsMTAxLDExNiwzMiwxMDEs
MTE0LDExNCwxMTEsMTE0LDAsODMsOTcsMTE2LDAsMCwwLDAsMCw3MCwxMTQsMTA1LDAsMCwwLDAs
MCw4NCwxMDQsMTE3LDAsMCwwLDAsMCwzNyw3NiwxMDIsMCwwLDAsMCwwLDEwNSwxMTEsMTE1LDEx
NiwxMTQsMTAxLDk3LDEwOSwwLDAsMCwwLDAsMCwwLDAsODcsMTAxLDEwMCwwLDAsMCwwLDAsODQs
MTE3LDEwMSwwLDAsMCwwLDAsNzcsMTExLDExMCwwLDAsMCwwLDAsODMsMTE3LDExMCwwLDAsMCww
LDAsODMsOTcsMTE2LDExNywxMTQsMTAwLDk3LDEyMSwwLDAsMCwwLDAsMCwwLDAsNzAsMTE0LDEw
NSwxMDAsOTcsMTIxLDAsMCw4NCwxMDQsMTE3LDExNCwxMTUsMTAwLDk3LDEyMSwwLDAsMCwwLDAs
MCwwLDAsODcsMTAxLDEwMCwxMTAsMTAxLDExNSwxMDAsOTcsMTIxLDAsMCwwLDAsMCwwLDAsODQs
MTE3LDEwMSwxMTUsMTAwLDk3LDEyMSwwLDc3LDExMSwxMTAsMTAwLDk3LDEyMSwwLDAsODMsMTE3
LDExMCwxMDAsOTcsMTIxLDAsMCw4MywwLDAsMCw5NywwLDAsMCwxMTYsMCwwLDAsMCwwLDAsMCw3
MCwwLDAsMCwxMTQsMCwwLDAsMTA1LDAsMCwwLDAsMCwwLDAsODQsMCwwLDAsMTA0LDAsMCwwLDEx
NywwLDAsMCwwLDAsMCwwLDg3LDAsMCwwLDEwMSwwLDAsMCwxMDAsMCwwLDAsMCwwLDAsMCw4NCww
LDAsMCwxMTcsMCwwLDAsMTAxLDAsMCwwLDAsMCwwLDAsNzcsMCwwLDAsMTExLDAsMCwwLDExMCww
LDAsMCwwLDAsMCwwLDExNywxMTAsMTE1LDExMiwxMDEsOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwz
MiwxMDUsMTExLDExNSwxMTYsMTE0LDEwMSw5NywxMDksOTUsOTksOTcsMTE2LDEwMSwxMDMsMTEx
LDExNCwxMjEsMzIsMTAxLDExNCwxMTQsMTExLDExNCwwLDAsMCwwLDAsODMsMCwwLDAsMTE3LDAs
MCwwLDExMCwwLDAsMCwwLDAsMCwwLDgzLDAsMCwwLDk3LDAsMCwwLDExNiwwLDAsMCwxMTcsMCww
LDAsMTE0LDAsMCwwLDEwMCwwLDAsMCw5NywwLDAsMCwxMjEsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDcwLDAsMCwwLDExNCwwLDAsMCwxMDUsMCwwLDAsMTAwLDAsMCwwLDk3LDAsMCwwLDEyMSwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsODQsMCwwLDAsMTA0LDAsMCwwLDExNywwLDAsMCwxMTQsMCwwLDAs
MTE1LDAsMCwwLDEwMCwwLDAsMCw5NywwLDAsMCwxMjEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDg3
LDAsMCwwLDEwMSwwLDAsMCwxMDAsMCwwLDAsMTEwLDAsMCwwLDEwMSwwLDAsMCwxMTUsMCwwLDAs
MTAwLDAsMCwwLDk3LDAsMCwwLDEyMSwwLDAsMCwwLDAsMCwwLDg0LDAsMCwwLDExNywwLDAsMCwx
MDEsMCwwLDAsMTE1LDAsMCwwLDEwMCwwLDAsMCw5NywwLDAsMCwxMjEsMCwwLDAsMCwwLDAsMCw3
NywwLDAsMCwxMTEsMCwwLDAsMTEwLDAsMCwwLDEwMCwwLDAsMCw5NywwLDAsMCwxMjEsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDgzLDAsMCwwLDExNywwLDAsMCwxMTAsMCwwLDAsMTAwLDAsMCwwLDk3
LDAsMCwwLDEyMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNjgsMTAxLDk5LDAsMCwwLDAsMCw3OCwx
MTEsMTE4LDAsMCwwLDAsMCw3OSw5OSwxMTYsMCwwLDAsMCwwLDgzLDEwMSwxMTIsMCwwLDAsMCww
LDY1LDExNywxMDMsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsNDgsNDksNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsMCwwLDAsMCww
LDAsNDgsNDksNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsMCwwLDAsMCwwLDAsMzcsMCwwLDAsODks
MCwwLDAsNDUsMCwwLDAsMzcsMCwwLDAsMTA5LDAsMCwwLDQ1LDAsMCwwLDM3LDAsMCwwLDEwMCww
LDAsMCwzNywwLDAsMCw3MiwwLDAsMCw1OCwwLDAsMCwzNywwLDAsMCw3NywwLDAsMCw1OCwwLDAs
MCwzNywwLDAsMCw4MywwLDAsMCwzNywwLDAsMCw3MiwwLDAsMCw1OCwwLDAsMCwzNywwLDAsMCw3
NywwLDAsMCwwLDAsMCwwLDM3LDAsMCwwLDczLDAsMCwwLDU4LDAsMCwwLDM3LDAsMCwwLDc3LDAs
MCwwLDU4LDAsMCwwLDM3LDAsMCwwLDgzLDAsMCwwLDMyLDAsMCwwLDM3LDAsMCwwLDExMiwwLDAs
MCwwLDAsMCwwLDM3LDAsMCwwLDEwOSwwLDAsMCw0NywwLDAsMCwzNywwLDAsMCwxMDAsMCwwLDAs
NDcsMCwwLDAsMzcsMCwwLDAsMTIxLDAsMCwwLDM3LDAsMCwwLDcyLDAsMCwwLDU4LDAsMCwwLDM3
LDAsMCwwLDc3LDAsMCwwLDU4LDAsMCwwLDM3LDAsMCwwLDgzLDAsMCwwLDM3LDcyLDU4LDM3LDc3
LDU4LDM3LDgzLDM3LDcyLDU4LDM3LDc3LDAsMCwwLDM3LDczLDU4LDM3LDc3LDU4LDM3LDgzLDMy
LDM3LDExMiwwLDAsMCwwLDAsMzcsODksNDUsMzcsMTA5LDQ1LDM3LDEwMCwzNywxMDksNDcsMzcs
MTAwLDQ3LDM3LDEyMSwzNyw3Miw1OCwzNyw3Nyw1OCwzNyw4MywzNywwLDAsMCwwLDAsMCwwLDM3
LDExMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDIyNCwzMSwwLDAsMzAsMCwwLDAsMTE2LDAsMCwwLDk4
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMjQwLDMxLDAsMCwxOTYsMCww
LDAsMTY0LDAsMCwwLDM2LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwz
MiwwLDAsNzAsMCwwLDAsNiwxLDAsMCwzOCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDE2LDMyLDAsMCw5NCwwLDAsMCw4LDAsMCwwLDExMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDMyLDMyLDAsMCw5NCwwLDAsMCwyMCwwLDAsMCwxMTAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw1NiwzMiwwLDAsMTY4LDAsMCwwLDg0LDAs
MCwwLDQ4LDAsMCwwLDIsMCwwLDAsOCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDg4LDMyLDAsMCwyMzAsMCwwLDAsMTg2LDAsMCwwLDQ4LDAsMCwwLDQsMCwwLDAsMTQsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxMjAsMzIsMCwwLDE2MiwwLDAsMCwx
ODgsMCwwLDAsNDgsMCwwLDAsOCwwLDAsMCwxMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDE1MiwzMiwwLDAsMjU0LDAsMCwwLDE0MCwwLDAsMCw0OCwwLDAsMCw2LDAsMCww
LDEwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNTYsMzMsMCwwLDI1Miww
LDAsMCwxNiwwLDAsMCw0OCwwLDAsMCwyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDg4
LDMzLDAsMCwxNjAsMCwwLDAsMTA4LDAsMCwwLDQ4LDAsMCwwLDQsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMTIwLDMzLDAsMCwzOCwwLDAsMCwxMTAsMCwwLDAsNDgsMCwwLDAsMTIwLDAs
MCwwLDQsMCwwLDAsMzIsMCwwLDAsNiwwLDAsMCwyMCwwLDAsMCw1NiwwLDAsMCwyLDAsMCwwLDI0
OCwyNTUsMjU1LDI1NSwxMjAsMzMsMCwwLDIyLDAsMCwwLDgsMCwwLDAsMzIsMCwwLDAsMTIsMCww
LDAsMiwwLDAsMCwzMCwwLDAsMCwxMjQsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwxNjAsMzMsMCwwLDI0MiwwLDAsMCwyMjIsMCwwLDAsNDgsMCwwLDAsMjAsMCwwLDAsMTYs
MCwwLDAsNjAsMCwwLDAsMjYsMCwwLDAsMTgsMCwwLDAsMiwwLDAsMCw0LDAsMCwwLDI0OCwyNTUs
MjU1LDI1NSwxNjAsMzMsMCwwLDcwLDAsMCwwLDEwNCwwLDAsMCwxMTYsMCwwLDAsMTIyLDAsMCww
LDY0LDAsMCwwLDQ0LDAsMCwwLDU0LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMjAwLDMzLDAsMCw3OCwwLDAsMCwxOTAsMCwwLDAsNDgsMCwwLDAsNDgsMCwwLDAsNDAsMCww
LDAsOCwwLDAsMCwzOCwwLDAsMCw0OCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyMTYs
MzMsMCwwLDU4LDAsMCwwLDY0LDAsMCwwLDQ4LDAsMCwwLDQyLDAsMCwwLDg0LDAsMCwwLDEyLDAs
MCwwLDU0LDAsMCwwLDIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMjMyLDMzLDAsMCwy
NDYsMCwwLDAsMiwwLDAsMCw0OCwwLDAsMCwyNCwwLDAsMCwzMCwwLDAsMCw2NCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCw4LDM0LDAsMCw0NiwwLDAsMCwyMDgsMCwwLDAsNDgsMCwwLDAs
MzYsMCwwLDAsMTQsMCwwLDAsMTQsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNDAsMzQs
MCwwLDIxMCwwLDAsMCwxMTIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNDgsMzQsMCww
LDI4LDAsMCwwLDEzOCwwLDAsMCwzOCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDY0LDM0LDAsMCw2LDAsMCwwLDE3NCwwLDAsMCw0OCwwLDAsMCw4LDAsMCwwLDYsMCwwLDAs
MTIsMCwwLDAsNCwwLDAsMCwxMCwwLDAsMCw0LDAsMCwwLDIsMCwwLDAsMTIsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw5NiwzNCwwLDAsOTgsMCwwLDAsMTgsMCwwLDAsNDgs
MCwwLDAsMjAsMCwwLDAsMjQsMCwwLDAsMzQsMCwwLDAsMjIsMCwwLDAsMjIsMCwwLDAsOCwwLDAs
MCw2LDAsMCwwLDE4LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTI4LDM0
LDAsMCw0MCwwLDAsMCwyNCwwLDAsMCw0OCwwLDAsMCw0OCwwLDAsMCw0NiwwLDAsMCwzOCwwLDAs
MCw0MCwwLDAsMCwzMCwwLDAsMCw0NCwwLDAsMCwzNiwwLDAsMCw1NCwwLDAsMCw1MiwwLDAsMCw1
MCwwLDAsMCwyNCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNjAsMzQsMCwwLDUyLDAs
MCwwLDQsMCwwLDAsNDgsMCwwLDAsNzYsMCwwLDAsNzAsMCwwLDAsNjQsMCwwLDAsNjYsMCwwLDAs
NTgsMCwwLDAsNjgsMCwwLDAsNjIsMCwwLDAsMjgsMCwwLDAsNzQsMCwwLDAsNzIsMCwwLDAsNDIs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTkyLDM0LDAsMCw3NCwwLDAsMCw5MiwwLDAs
MCw0OCwwLDAsMCwxNiwwLDAsMCwxMiwwLDAsMCwxMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwyMDgsMzQsMCwwLDI2LDAsMCwwLDE3NiwwLDAsMCw0OCwwLDAsMCwyMiwwLDAsMCwxNCww
LDAsMCwyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIyNCwzNCwwLDAsMjI4LDAsMCww
LDEzMCwwLDAsMCw0OCwwLDAsMCwxNCwwLDAsMCw0LDAsMCwwLDIwLDAsMCwwLDE2LDAsMCwwLDYy
LDAsMCwwLDQsMCwwLDAsNzYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwzNSwwLDAs
MTgwLDAsMCwwLDYwLDAsMCwwLDQ4LDAsMCwwLDIsMCwwLDAsOCwwLDAsMCw4LDAsMCwwLDEwNiww
LDAsMCw5NiwwLDAsMCwxOCwwLDAsMCw5NCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwz
MiwzNSwwLDAsMTgwLDAsMCwwLDEzMiwwLDAsMCw0OCwwLDAsMCwxNiwwLDAsMCw2LDAsMCwwLDIs
MCwwLDAsMTI2LDAsMCwwLDQ2LDAsMCwwLDEyLDAsMCwwLDE4LDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDY0LDM1LDAsMCwxODAsMCwwLDAsMTUyLDAsMCwwLDQ4LDAsMCwwLDEwLDAsMCww
LDEyLDAsMCwwLDI0LDAsMCwwLDM0LDAsMCwwLDc0LDAsMCwwLDYsMCwwLDAsNjYsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsOTYsMzUsMCwwLDE4MCwwLDAsMCwzNCwwLDAsMCw0OCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDExMiwzNSwwLDAsNTYsMCwwLDAsMTU2
LDAsMCwwLDQ4LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTI4LDM1LDAs
MCwxODAsMCwwLDAsODAsMCwwLDAsNDgsMCwwLDAsMjAsMCwwLDAsMiwwLDAsMCw0LDAsMCwwLDEw
LDAsMCwwLDE2LDAsMCwwLDI4LDAsMCwwLDIyLDAsMCwwLDYsMCwwLDAsNiwwLDAsMCw4LDAsMCww
LDEwLDAsMCwwLDEwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTYwLDM1
LDAsMCw0LDEsMCwwLDM2LDAsMCwwLDQ4LDAsMCwwLDIsMCwwLDAsNCwwLDAsMCwxOCwwLDAsMCwz
NCwwLDAsMCw4LDAsMCwwLDYsMCwwLDAsMjYsMCwwLDAsMTQsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwyMDgsMzUsMCwwLDY2LDAsMCwwLDIxOCwwLDAsMCw3OCwwLDAsMCwy
LDAsMCwwLDE0LDAsMCwwLDMyLDAsMCwwLDQsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwyMjQsMzUsMCwwLDE4MCwwLDAsMCw4NiwwLDAsMCw0OCwwLDAsMCwxMCwwLDAsMCwx
MiwwLDAsMCwyNCwwLDAsMCwzNCwwLDAsMCw3NCwwLDAsMCw2LDAsMCwwLDY2LDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDI0MCwzNSwwLDAsMTgwLDAsMCwwLDIzOCwwLDAsMCw0OCwwLDAs
MCwxMCwwLDAsMCwxMiwwLDAsMCwyNCwwLDAsMCwzNCwwLDAsMCw3NCwwLDAsMCw2LDAsMCwwLDY2
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMzYsMCwwLDEyNiwwLDAsMCwyMzQsMCww
LDAsMTYsMCwwLDAsMjIsMCwwLDAsMTYsMCwwLDAsMTAsMCwwLDAsODgsMCwwLDAsMTAwLDAsMCww
LDMwLDAsMCwwLDI4LDAsMCwwLDI2LDAsMCwwLDI4LDAsMCwwLDQwLDAsMCwwLDIwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDgsMzYsMCwwLDEwLDAsMCwwLDExOCwwLDAsMCw1OCwwLDAs
MCwzOCwwLDAsMCwyOCwwLDAsMCw2LDAsMCwwLDUwLDAsMCwwLDg2LDAsMCwwLDE4LDAsMCwwLDYs
MCwwLDAsMTAsMCwwLDAsMjQsMCwwLDAsMTYsMCwwLDAsMTAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMTYsMzYsMCwwLDEwMCwwLDAsMCwxOTQsMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDE0
LDAsMCwwLDMyLDAsMCwwLDIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNCwwLDAsMCww
LDAsMCwwLDU2LDM2LDAsMCw0NCwwLDAsMCwyMDYsMCwwLDAsMjUyLDI1NSwyNTUsMjU1LDI1Miwy
NTUsMjU1LDI1NSw1NiwzNiwwLDAsMTQ2LDAsMCwwLDEyNCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
NCwwLDAsMCwwLDAsMCwwLDgwLDM2LDAsMCwyMTIsMCwwLDAsMjM2LDAsMCwwLDI1MiwyNTUsMjU1
LDI1NSwyNTIsMjU1LDI1NSwyNTUsODAsMzYsMCwwLDEwNiwwLDAsMCwyMDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDgsMCwwLDAsMCwwLDAsMCwxMDQsMzYsMCwwLDg4LDAsMCwwLDgsMSwwLDAsMjQ4
LDI1NSwyNTUsMjU1LDI0OCwyNTUsMjU1LDI1NSwxMDQsMzYsMCwwLDE4MiwwLDAsMCwyMzIsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDgsMCwwLDAsMCwwLDAsMCwxMjgsMzYsMCwwLDEwNCwwLDAsMCwy
MDQsMCwwLDAsMjQ4LDI1NSwyNTUsMjU1LDI0OCwyNTUsMjU1LDI1NSwxMjgsMzYsMCwwLDEzNiww
LDAsMCw1MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNTIsMzYsMCwwLDIwMiwwLDAs
MCwxODQsMCwwLDAsMzgsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxOTIs
MzYsMCwwLDI0OCwwLDAsMCwyMjYsMCwwLDAsNCwwLDAsMCwyMiwwLDAsMCwxNiwwLDAsMCwxMCww
LDAsMCw1OCwwLDAsMCwxMDAsMCwwLDAsMzAsMCwwLDAsMjgsMCwwLDAsMjYsMCwwLDAsMjgsMCww
LDAsNDAsMCwwLDAsMjYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMjA4LDM2LDAsMCwx
NTQsMCwwLDAsMTc4LDAsMCwwLDM0LDAsMCwwLDM4LDAsMCwwLDI4LDAsMCwwLDYsMCwwLDAsOTAs
MCwwLDAsODYsMCwwLDAsMTgsMCwwLDAsNiwwLDAsMCwxMCwwLDAsMCwyNCwwLDAsMCwxNiwwLDAs
MCwxNCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDM3LDAsMCwyMjAsMCwwLDAsMTQ0
LDAsMCwwLDQ4LDAsMCwwLDY4LDAsMCwwLDExOCwwLDAsMCw0MCwwLDAsMCw4MCwwLDAsMCw2LDAs
MCwwLDI4LDAsMCwwLDUyLDAsMCwwLDIwLDAsMCwwLDM2LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDMyLDM3LDAsMCwxMDIsMCwwLDAsNTQsMCwwLDAsNDgsMCwwLDAsMTEyLDAsMCwwLDQs
MCwwLDAsNjYsMCwwLDAsNzQsMCwwLDAsNzYsMCwwLDAsMjIsMCwwLDAsMTE0LDAsMCwwLDUwLDAs
MCwwLDEwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDY0LDM3LDAsMCwyMjQsMCwwLDAs
MTE0LDAsMCwwLDQ4LDAsMCwwLDE0LDAsMCwwLDYwLDAsMCwwLDQ2LDAsMCwwLDQyLDAsMCwwLDc4
LDAsMCwwLDUyLDAsMCwwLDkyLDAsMCwwLDU2LDAsMCwwLDMyLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDk2LDM3LDAsMCw3NiwwLDAsMCwxNzIsMCwwLDAsNDgsMCwwLDAsMTAyLDAsMCww
LDEwOCwwLDAsMCwyNiwwLDAsMCw3MiwwLDAsMCwyNCwwLDAsMCwxOCwwLDAsMCw4MCwwLDAsMCw3
MCwwLDAsMCw2OCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNTIsMzcsMCwwLDkwLDAs
MCwwLDY4LDAsMCwwLDYyLDAsMCwwLDIyLDAsMCwwLDE2LDAsMCwwLDEwLDAsMCwwLDg4LDAsMCww
LDEwMCwwLDAsMCwzMCwwLDAsMCw3MiwwLDAsMCw4MiwwLDAsMCwxMiwwLDAsMCw0MCwwLDAsMCwy
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNjgsMzcsMCwwLDE0LDAsMCwwLDIxNCww
LDAsMCw2MCwwLDAsMCwzOCwwLDAsMCwyOCwwLDAsMCw2LDAsMCwwLDUwLDAsMCwwLDg2LDAsMCww
LDE4LDAsMCwwLDU2LDAsMCwwLDI0LDAsMCwwLDQsMCwwLDAsMTYsMCwwLDAsMTAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMTg0LDM3LDAsMCwyNTAsMCwwLDAsMTk4LDAsMCwwLDYyLDAs
MCwwLDE1MCwwLDAsMCw4LDAsMCwwLDIsMCwwLDAsNiwwLDAsMCw0LDAsMCwwLDAsMCwwLDAsMCww
LDAsMCw4MywxMTYsNTcsMTE2LDEyMSwxMTIsMTAxLDk1LDEwNSwxMTAsMTAyLDExMSwwLDAsMCww
LDgzLDExNiw1NywxMDEsMTIwLDk5LDEwMSwxMTIsMTE2LDEwNSwxMTEsMTEwLDAsMCwwLDAsODMs
MTE2LDU3LDk4LDk3LDEwMCw5NSw5NywxMDgsMTA4LDExMSw5OSwwLDAsMCwwLDgzLDExNiw1Niw5
OCw5NywxMDAsOTUsOTksOTcsMTE1LDExNiwwLDAsMCwwLDAsODMsMTE2LDQ5LDUxLDExNCwxMTcs
MTEwLDExNiwxMDUsMTA5LDEwMSw5NSwxMDEsMTE0LDExNCwxMTEsMTE0LDAsMCwwLDAsMCwwLDAs
ODMsMTE2LDQ5LDUwLDEwOCwxMDEsMTEwLDEwMywxMTYsMTA0LDk1LDEwMSwxMTQsMTE0LDExMSwx
MTQsMCwwLDAsMCwwLDAsMCwwLDgzLDExNiw0OSw0OSwxMDgsMTExLDEwMywxMDUsOTksOTUsMTAx
LDExNCwxMTQsMTExLDExNCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1NywxMTYsMTA1LDEwOSwx
MDEsOTUsOTgsOTcsMTE1LDEwMSw2OSwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDks
NTcsMTA5LDExMSwxMTAsMTAxLDEyMSw5NSwxMTIsMTE3LDExNiw3MywxMTksNzgsODMsOTUsNDks
NTcsMTExLDExNSwxMTYsMTE0LDEwMSw5NywxMDksOTgsMTE3LDEwMiw5NSwxMDUsMTE2LDEwMSwx
MTQsOTcsMTE2LDExMSwxMTQsNzMsMTE5LDc4LDgzLDk1LDQ5LDQ5LDk5LDEwNCw5NywxMTQsOTUs
MTE2LDExNCw5NywxMDUsMTE2LDExNSw3MywxMTksNjksNjksNjksNjksNjksNjksMCwwLDAsNzgs
ODMsMTE2LDUxLDk1LDk1LDQ5LDU3LDEwOSwxMTEsMTEwLDEwMSwxMjEsOTUsMTEyLDExNywxMTYs
NzMsOTksNzgsODMsOTUsNDksNTcsMTExLDExNSwxMTYsMTE0LDEwMSw5NywxMDksOTgsMTE3LDEw
Miw5NSwxMDUsMTE2LDEwMSwxMTQsOTcsMTE2LDExMSwxMTQsNzMsOTksNzgsODMsOTUsNDksNDks
OTksMTA0LDk3LDExNCw5NSwxMTYsMTE0LDk3LDEwNSwxMTYsMTE1LDczLDk5LDY5LDY5LDY5LDY5
LDY5LDY5LDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1NywxMDksMTExLDExMCwxMDEsMTIx
LDk1LDEwMywxMDEsMTE2LDczLDExOSw3OCw4Myw5NSw0OSw1NywxMDUsMTE1LDExNiwxMTQsMTAx
LDk3LDEwOSw5OCwxMTcsMTAyLDk1LDEwNSwxMTYsMTAxLDExNCw5NywxMTYsMTExLDExNCw3Mywx
MTksNzgsODMsOTUsNDksNDksOTksMTA0LDk3LDExNCw5NSwxMTYsMTE0LDk3LDEwNSwxMTYsMTE1
LDczLDExOSw2OSw2OSw2OSw2OSw2OSw2OSwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTcs
MTA5LDExMSwxMTAsMTAxLDEyMSw5NSwxMDMsMTAxLDExNiw3Myw5OSw3OCw4Myw5NSw0OSw1Nywx
MDUsMTE1LDExNiwxMTQsMTAxLDk3LDEwOSw5OCwxMTcsMTAyLDk1LDEwNSwxMTYsMTAxLDExNCw5
NywxMTYsMTExLDExNCw3Myw5OSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwx
MTQsOTcsMTA1LDExNiwxMTUsNzMsOTksNjksNjksNjksNjksNjksNjksMCwwLDAsNzgsODMsMTE2
LDUxLDk1LDk1LDQ5LDU3LDk4LDk3LDExNSwxMDUsOTksOTUsMTA1LDExMSwxMTUsNzMsMTE5LDc4
LDgzLDk1LDQ5LDQ5LDk5LDEwNCw5NywxMTQsOTUsMTE2LDExNCw5NywxMDUsMTE2LDExNSw3Mywx
MTksNjksNjksNjksNjksMCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTcsOTgs
OTcsMTE1LDEwNSw5OSw5NSwxMDUsMTExLDExNSw3Myw5OSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQs
OTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUsNzMsOTksNjksNjksNjksNjksMCwwLDAs
MCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTcsOTUsOTUsMTEwLDExNywxMDksOTUsMTEy
LDExNywxMTYsNzMsMTE5LDY5LDY5LDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1Nyw5NSw5
NSwxMTAsMTE3LDEwOSw5NSwxMTIsMTE3LDExNiw3Myw5OSw2OSw2OSwwLDAsMCw3OCw4MywxMTYs
NTEsOTUsOTUsNDksNTcsOTUsOTUsMTEwLDExNywxMDksOTUsMTAzLDEwMSwxMTYsNzMsMTE5LDY5
LDY5LDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1Nyw5NSw5NSwxMTAsMTE3LDEwOSw5NSwx
MDMsMTAxLDExNiw3Myw5OSw2OSw2OSwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTYsMTE2
LDEwNSwxMDksMTAxLDk1LDExMiwxMTcsMTE2LDczLDExOSw3OCw4Myw5NSw0OSw1NywxMTEsMTE1
LDExNiwxMTQsMTAxLDk3LDEwOSw5OCwxMTcsMTAyLDk1LDEwNSwxMTYsMTAxLDExNCw5NywxMTYs
MTExLDExNCw3MywxMTksNzgsODMsOTUsNDksNDksOTksMTA0LDk3LDExNCw5NSwxMTYsMTE0LDk3
LDEwNSwxMTYsMTE1LDczLDExOSw2OSw2OSw2OSw2OSw2OSw2OSwwLDAsMCwwLDc4LDgzLDExNiw1
MSw5NSw5NSw0OSw1NiwxMTYsMTA1LDEwOSwxMDEsOTUsMTEyLDExNywxMTYsNzMsOTksNzgsODMs
OTUsNDksNTcsMTExLDExNSwxMTYsMTE0LDEwMSw5NywxMDksOTgsMTE3LDEwMiw5NSwxMDUsMTE2
LDEwMSwxMTQsOTcsMTE2LDExMSwxMTQsNzMsOTksNzgsODMsOTUsNDksNDksOTksMTA0LDk3LDEx
NCw5NSwxMTYsMTE0LDk3LDEwNSwxMTYsMTE1LDczLDk5LDY5LDY5LDY5LDY5LDY5LDY5LDAsMCww
LDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDU2LDExNiwxMDUsMTA5LDEwMSw5NSwxMDMsMTAxLDEx
Niw3MywxMTksNzgsODMsOTUsNDksNTcsMTA1LDExNSwxMTYsMTE0LDEwMSw5NywxMDksOTgsMTE3
LDEwMiw5NSwxMDUsMTE2LDEwMSwxMTQsOTcsMTE2LDExMSwxMTQsNzMsMTE5LDc4LDgzLDk1LDQ5
LDQ5LDk5LDEwNCw5NywxMTQsOTUsMTE2LDExNCw5NywxMDUsMTE2LDExNSw3MywxMTksNjksNjks
NjksNjksNjksNjksMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTYsMTE2LDEwNSwxMDks
MTAxLDk1LDEwMywxMDEsMTE2LDczLDk5LDc4LDgzLDk1LDQ5LDU3LDEwNSwxMTUsMTE2LDExNCwx
MDEsOTcsMTA5LDk4LDExNywxMDIsOTUsMTA1LDExNiwxMDEsMTE0LDk3LDExNiwxMTEsMTE0LDcz
LDk5LDc4LDgzLDk1LDQ5LDQ5LDk5LDEwNCw5NywxMTQsOTUsMTE2LDExNCw5NywxMDUsMTE2LDEx
NSw3Myw5OSw2OSw2OSw2OSw2OSw2OSw2OSwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1
NiwxMTAsMTE3LDEwOSwxMTIsMTE3LDExMCw5OSwxMTYsNzMsMTE5LDY5LDY5LDAsMCwwLDAsNzgs
ODMsMTE2LDUxLDk1LDk1LDQ5LDU2LDExMCwxMTcsMTA5LDExMiwxMTcsMTEwLDk5LDExNiw3Myw5
OSw2OSw2OSwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1NiwxMDksMTAxLDExNSwxMTUs
OTcsMTAzLDEwMSwxMTUsNzMsMTE5LDY5LDY5LDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5
LDU2LDEwOSwxMDEsMTE1LDExNSw5NywxMDMsMTAxLDExNSw3Myw5OSw2OSw2OSwwLDAsMCwwLDc4
LDgzLDExNiw1MSw5NSw5NSw0OSw1NiwxMDUsMTExLDExNSw5NSw5OCw5NywxMTUsMTAxLDY5LDAs
MCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDU2LDEwNSwxMTEsMTE1LDk1LDk4LDk3
LDExNSwxMDEsNTUsMTAyLDk3LDEwNSwxMDgsMTE3LDExNCwxMDEsNjksMCwwLDAsMCwwLDAsMCw3
OCw4MywxMTYsNTEsOTUsOTUsNDksNTUsMTEwLDExNywxMDksOTUsMTEyLDExNywxMTYsNzMsMTE5
LDc4LDgzLDk1LDQ5LDU3LDExMSwxMTUsMTE2LDExNCwxMDEsOTcsMTA5LDk4LDExNywxMDIsOTUs
MTA1LDExNiwxMDEsMTE0LDk3LDExNiwxMTEsMTE0LDczLDExOSw3OCw4Myw5NSw0OSw0OSw5OSwx
MDQsOTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUsNzMsMTE5LDY5LDY5LDY5LDY5LDY5
LDY5LDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTUsMTEwLDExNywxMDksOTUsMTEy
LDExNywxMTYsNzMsOTksNzgsODMsOTUsNDksNTcsMTExLDExNSwxMTYsMTE0LDEwMSw5NywxMDks
OTgsMTE3LDEwMiw5NSwxMDUsMTE2LDEwMSwxMTQsOTcsMTE2LDExMSwxMTQsNzMsOTksNzgsODMs
OTUsNDksNDksOTksMTA0LDk3LDExNCw5NSwxMTYsMTE0LDk3LDEwNSwxMTYsMTE1LDczLDk5LDY5
LDY5LDY5LDY5LDY5LDY5LDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTUsMTEwLDEx
NywxMDksOTUsMTAzLDEwMSwxMTYsNzMsMTE5LDc4LDgzLDk1LDQ5LDU3LDEwNSwxMTUsMTE2LDEx
NCwxMDEsOTcsMTA5LDk4LDExNywxMDIsOTUsMTA1LDExNiwxMDEsMTE0LDk3LDExNiwxMTEsMTE0
LDczLDExOSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDEx
NiwxMTUsNzMsMTE5LDY5LDY5LDY5LDY5LDY5LDY5LDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUs
OTUsNDksNTUsMTEwLDExNywxMDksOTUsMTAzLDEwMSwxMTYsNzMsOTksNzgsODMsOTUsNDksNTcs
MTA1LDExNSwxMTYsMTE0LDEwMSw5NywxMDksOTgsMTE3LDEwMiw5NSwxMDUsMTE2LDEwMSwxMTQs
OTcsMTE2LDExMSwxMTQsNzMsOTksNzgsODMsOTUsNDksNDksOTksMTA0LDk3LDExNCw5NSwxMTYs
MTE0LDk3LDEwNSwxMTYsMTE1LDczLDk5LDY5LDY5LDY5LDY5LDY5LDY5LDAsMCwwLDAsMCw3OCw4
MywxMTYsNTEsOTUsOTUsNDksNTUsOTksMTExLDEwOCwxMDgsOTcsMTE2LDEwMSw3MywxMTksNjks
NjksMCwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1NSw5OSwxMTEsMTA4LDEwOCw5Nywx
MTYsMTAxLDczLDk5LDY5LDY5LDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTUsOTks
MTExLDEwMCwxMDEsOTksMTE4LDExNiw3MywxMTksOTksNDksNDgsOTUsMTA5LDk4LDExNSwxMTYs
OTcsMTE2LDEwMSw5NSwxMTYsNjksNjksMCwwLDAsMCwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5
NSw0OSw1NSw5OSwxMTEsMTAwLDEwMSw5OSwxMTgsMTE2LDczLDk5LDk5LDQ5LDQ4LDk1LDEwOSw5
OCwxMTUsMTE2LDk3LDExNiwxMDEsOTUsMTE2LDY5LDY5LDAsMCwwLDAsMCwwLDAsMCw3OCw4Mywx
MTYsNTEsOTUsOTUsNDksNTUsOTksMTExLDEwMCwxMDEsOTksMTE4LDExNiw3Myw2OCwxMTUsOTks
NDksNDgsOTUsMTA5LDk4LDExNSwxMTYsOTcsMTE2LDEwMSw5NSwxMTYsNjksNjksMCwwLDAsMCww
LDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTUsOTksMTExLDEwMCwxMDEsOTksMTE4LDExNiw3
Myw2OCwxMDUsOTksNDksNDgsOTUsMTA5LDk4LDExNSwxMTYsOTcsMTE2LDEwMSw5NSwxMTYsNjks
NjksMCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTQsMTA4LDExMSw5OSw5Nywx
MDgsMTAxLDUzLDEwMiw5Nyw5OSwxMDEsMTE2LDY5LDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0
OSw1NCwxMDgsMTExLDk5LDk3LDEwOCwxMDEsNTMsOTUsOTUsMTA1LDEwOSwxMTIsNjksMCwwLDAs
NzgsODMsMTE2LDUxLDk1LDk1LDQ5LDUzLDk5LDExNiwxMjEsMTEyLDEwMSw3MywxMTksNjksNjks
MCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTMsOTksMTE2LDEyMSwxMTIsMTAx
LDczLDk5LDY5LDY5LDAsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDUwLDQ4LDk1
LDk1LDExNiwxMDUsMTA5LDEwMSw5NSwxMDMsMTAxLDExNiw5NSw5OSw5NSwxMTUsMTE2LDExMSwx
MTQsOTcsMTAzLDEwMSw3MywxMTksNjksNjksMCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUs
OTUsNDksNTAsNDgsOTUsOTUsMTE2LDEwNSwxMDksMTAxLDk1LDEwMywxMDEsMTE2LDk1LDk5LDk1
LDExNSwxMTYsMTExLDExNCw5NywxMDMsMTAxLDczLDk5LDY5LDY5LDAsMCwwLDAsMCwwLDAsNzgs
ODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDU3LDk1LDk1LDEwNSwxMTEsMTE1LDExNiwxMTQsMTAxLDk3
LDEwOSw5NSw5OSw5NywxMTYsMTAxLDEwMywxMTEsMTE0LDEyMSw2OSwwLDAsMCw3OCw4MywxMTYs
NTEsOTUsOTUsNDksNDksNTUsOTUsOTUsMTE5LDEwNSwxMDAsMTAxLDExMCw5NSwxMDIsMTE0LDEx
MSwxMDksOTUsMTE3LDExNiwxMDIsNTYsNzMsNzYsMTA2LDUxLDUwLDY5LDY5LDY5LDAsMCwwLDAs
MCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1NCw5NSw5NSwxMTAsOTcsMTE0LDExNCwxMTEs
MTE5LDk1LDExNiwxMTEsOTUsMTE3LDExNiwxMDIsNTYsNzMsNzYsMTA2LDUxLDUwLDY5LDY5LDY5
LDAsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDUzLDk4LDk3LDExNSwxMDUs
OTksOTUsMTE1LDExNiwxMTQsMTAxLDk3LDEwOSw5OCwxMTcsMTAyLDczLDExOSw3OCw4Myw5NSw0
OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUsNzMsMTE5LDY5LDY5
LDY5LDY5LDAsMCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNTMsOTgsOTcs
MTE1LDEwNSw5OSw5NSwxMTUsMTE2LDExNCwxMDEsOTcsMTA5LDk4LDExNywxMDIsNzMsOTksNzgs
ODMsOTUsNDksNDksOTksMTA0LDk3LDExNCw5NSwxMTYsMTE0LDk3LDEwNSwxMTYsMTE1LDczLDk5
LDY5LDY5LDY5LDY5LDAsMCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNTIs
MTAxLDExNCwxMTQsMTExLDExNCw5NSw5OSw5NywxMTYsMTAxLDEwMywxMTEsMTE0LDEyMSw2OSww
LDAsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDUyLDk1LDk1LDExNSwxMDQs
OTcsMTE0LDEwMSwxMDAsOTUsOTksMTExLDExNywxMTAsMTE2LDY5LDAsMCwwLDAsMCwwLDAsMCw3
OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNTIsOTUsOTUsMTEwLDExNywxMDksOTUsMTEyLDExNywx
MTYsOTUsOTgsOTcsMTE1LDEwMSw2OSwwLDAsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1
LDQ5LDQ5LDUyLDk1LDk1LDExMCwxMTcsMTA5LDk1LDEwMywxMDEsMTE2LDk1LDk4LDk3LDExNSwx
MDEsNjksMCwwLDAsMCwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1MSwxMDksMTAx
LDExNSwxMTUsOTcsMTAzLDEwMSwxMTUsOTUsOTgsOTcsMTE1LDEwMSw2OSwwLDc4LDgzLDExNiw1
MSw5NSw5NSw0OSw0OSw1MSw5OCw5NywxMTUsMTA1LDk5LDk1LDExMSwxMTUsMTE2LDExNCwxMDEs
OTcsMTA5LDczLDExOSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwxMTQsOTcs
MTA1LDExNiwxMTUsNzMsMTE5LDY5LDY5LDY5LDY5LDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDks
NDksNTEsOTgsOTcsMTE1LDEwNSw5OSw5NSwxMTEsMTE1LDExNiwxMTQsMTAxLDk3LDEwOSw3Myw5
OSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUs
NzMsOTksNjksNjksNjksNjksMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1MSw5OCw5Nywx
MTUsMTA1LDk5LDk1LDEwNSwxMTUsMTE2LDExNCwxMDEsOTcsMTA5LDczLDExOSw3OCw4Myw5NSw0
OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUsNzMsMTE5LDY5LDY5
LDY5LDY5LDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNTEsOTgsOTcsMTE1LDEwNSw5OSw5
NSwxMDUsMTE1LDExNiwxMTQsMTAxLDk3LDEwOSw3Myw5OSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQs
OTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUsNzMsOTksNjksNjksNjksNjksMCwwLDc4
LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1MCwxMTUsMTIxLDExNSwxMTYsMTAxLDEwOSw5NSwxMDEs
MTE0LDExNCwxMTEsMTE0LDY5LDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNTAsOTksMTEx
LDEwMCwxMDEsOTksMTE4LDExNiw5NSw5OCw5NywxMTUsMTAxLDY5LDAsMCw3OCw4MywxMTYsNTEs
OTUsOTUsNDksNDksNTAsOTUsOTUsMTAwLDExMSw5NSwxMDksMTAxLDExNSwxMTUsOTcsMTAzLDEw
MSw2OSwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ5LDk1LDk1LDExNSwxMTYsMTAwLDEx
MSwxMTcsMTE2LDk4LDExNywxMDIsNzMsMTE5LDY5LDY5LDAsMCwwLDAsMCwwLDAsMCw3OCw4Mywx
MTYsNTEsOTUsOTUsNDksNDksNDksOTUsOTUsMTE1LDExNiwxMDAsMTExLDExNywxMTYsOTgsMTE3
LDEwMiw3Myw5OSw2OSw2OSwwLDAsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5
LDQ5LDk1LDk1LDEwOSwxMTEsMTEwLDEwMSwxMjEsOTUsMTEyLDExNywxMTYsNzMsMTE5LDY5LDY5
LDAsMCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNDksOTUsOTUsMTA5LDEx
MSwxMTAsMTAxLDEyMSw5NSwxMTIsMTE3LDExNiw3Myw5OSw2OSw2OSwwLDAsMCwwLDAsMCwwLDAs
NzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ5LDk1LDk1LDEwOSwxMTEsMTEwLDEwMSwxMjEsOTUs
MTAzLDEwMSwxMTYsNzMsMTE5LDY5LDY5LDAsMCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUs
OTUsNDksNDksNDksOTUsOTUsMTA5LDExMSwxMTAsMTAxLDEyMSw5NSwxMDMsMTAxLDExNiw3Myw5
OSw2OSw2OSwwLDAsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ4LDEwOSwx
MTEsMTEwLDEwMSwxMjEsMTEyLDExNywxMTAsOTksMTE2LDczLDExOSw3Niw5OCw0OSw2OSw2OSw2
OSwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ4LDEwOSwxMTEsMTEwLDEwMSwx
MjEsMTEyLDExNywxMTAsOTksMTE2LDczLDExOSw3Niw5OCw0OCw2OSw2OSw2OSwwLDAsMCwwLDAs
NzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ4LDEwOSwxMTEsMTEwLDEwMSwxMjEsMTEyLDExNywx
MTAsOTksMTE2LDczLDk5LDc2LDk4LDQ5LDY5LDY5LDY5LDAsMCwwLDAsMCw3OCw4MywxMTYsNTEs
OTUsOTUsNDksNDksNDgsMTA5LDExMSwxMTAsMTAxLDEyMSwxMTIsMTE3LDExMCw5OSwxMTYsNzMs
OTksNzYsOTgsNDgsNjksNjksNjksMCwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw0
OCwxMDksMTExLDExMCwxMDEsMTIxLDk1LDk4LDk3LDExNSwxMDEsNjksMCwwLDAsMCw3OCw4Mywx
MTYsNTEsOTUsOTUsNDksNDksNDgsOTksMTE2LDEyMSwxMTIsMTAxLDk1LDk4LDk3LDExNSwxMDEs
NjksMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNDgsOTUsOTUsMTE2LDEwNSwxMDks
MTAxLDk1LDExMiwxMTcsMTE2LDY5LDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ4
LDk1LDk1LDExNSwxMTYsMTAwLDEwNSwxMTAsOTgsMTE3LDEwMiw3MywxMTksNjksNjksMCw3OCw4
MywxMTYsNTEsOTUsOTUsNDksNDksNDgsOTUsOTUsMTE1LDExNiwxMDAsMTA1LDExMCw5OCwxMTcs
MTAyLDczLDk5LDY5LDY5LDAsNzgsNDksNDgsOTUsOTUsOTksMTIwLDEyMCw5Nyw5OCwxMDUsMTE4
LDQ5LDUwLDQ5LDk1LDk1LDExOCwxMDksMTA1LDk1LDk5LDEwOCw5NywxMTUsMTE1LDk1LDExNiwx
MjEsMTEyLDEwMSw5NSwxMDUsMTEwLDEwMiwxMTEsNjksMCwwLDAsNzgsNDksNDgsOTUsOTUsOTks
MTIwLDEyMCw5Nyw5OCwxMDUsMTE4LDQ5LDUwLDQ4LDk1LDk1LDExNSwxMDUsOTUsOTksMTA4LDk3
LDExNSwxMTUsOTUsMTE2LDEyMSwxMTIsMTAxLDk1LDEwNSwxMTAsMTAyLDExMSw2OSwwLDAsMCww
LDc4LDQ5LDQ4LDk1LDk1LDk5LDEyMCwxMjAsOTcsOTgsMTA1LDExOCw0OSw0OSw1NSw5NSw5NSw5
OSwxMDgsOTcsMTE1LDExNSw5NSwxMTYsMTIxLDExMiwxMDEsOTUsMTA1LDExMCwxMDIsMTExLDY5
LDAsMCwwLDAsMCwwLDAsNzgsNDksNDgsOTUsOTUsOTksMTIwLDEyMCw5Nyw5OCwxMDUsMTE4LDQ5
LDQ5LDU0LDk1LDk1LDExNSwxMDQsMTA1LDEwOSw5NSwxMTYsMTIxLDExMiwxMDEsOTUsMTA1LDEx
MCwxMDIsMTExLDY5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDQwLDIwLDAsMCwwLDAsMCwwLDU2
LDIwLDAsMCwwLDAsMCwwLDcyLDIwLDAsMCwyMTYsMzEsMCwwLDAsMCwwLDAsMCwwLDAsMCw4OCwy
MCwwLDAsMjE2LDMxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTA0LDIwLDAsMCwyMTYsMzEsMCwwLDAs
MCwwLDAsMCwwLDAsMCwxMjgsMjAsMCwwLDMyLDMyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTUyLDIw
LDAsMCwyMTYsMzEsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNjgsMjAsMCwwLDAsMjAsMCwwLDE5Miwy
MCwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAsMCwwLDIyNCwzNiwwLDAsMCwwLDAs
MCwwLDIwLDAsMCw4LDIxLDAsMCwwLDAsMCwwLDIsMCwwLDAsOTYsMzUsMCwwLDIsMCwwLDAsMjMy
LDM2LDAsMCwwLDAsMCwwLDAsMjAsMCwwLDgwLDIxLDAsMCwwLDAsMCwwLDIsMCwwLDAsOTYsMzUs
MCwwLDIsMCwwLDAsMjQwLDM2LDAsMCwwLDAsMCwwLDAsMjAsMCwwLDE1MiwyMSwwLDAsMCwwLDAs
MCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAsMCwwLDI0OCwzNiwwLDAsMCwwLDAsMCwwLDAsMCwwLDIy
NCwyMSwwLDAsNDAsMzQsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNiwyMiwwLDAsNDAsMzQsMCwwLDAs
MCwwLDAsMCwyMCwwLDAsNjQsMjIsMCwwLDAsMCwwLDAsMSwwLDAsMCwzMiwzNiwwLDAsMCwwLDAs
MCwwLDIwLDAsMCw4OCwyMiwwLDAsMCwwLDAsMCwxLDAsMCwwLDMyLDM2LDAsMCwwLDAsMCwwLDAs
MjAsMCwwLDExMiwyMiwwLDAsMCwwLDAsMCwxLDAsMCwwLDQwLDM2LDAsMCwwLDAsMCwwLDAsMjAs
MCwwLDEzNiwyMiwwLDAsMCwwLDAsMCwxLDAsMCwwLDQwLDM2LDAsMCwwLDAsMCwwLDAsMjAsMCww
LDE2MCwyMiwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAsMCwwLDE0NCwzNywwLDAs
MCw4LDAsMCwwLDIwLDAsMCwyMzIsMjIsMCwwLDAsMCwwLDAsMiwwLDAsMCw5NiwzNSwwLDAsMiww
LDAsMCwxNDQsMzcsMCwwLDAsOCwwLDAsMCwyMCwwLDAsNDgsMjMsMCwwLDAsMCwwLDAsMywwLDAs
MCw5NiwzNSwwLDAsMiwwLDAsMCw0OCwzMiwwLDAsMiwwLDAsMCwxOTIsMzUsMCwwLDAsOCwwLDAs
MCwyMCwwLDAsMTIwLDIzLDAsMCwwLDAsMCwwLDMsMCwwLDAsOTYsMzUsMCwwLDIsMCwwLDAsNDgs
MzIsMCwwLDIsMCwwLDAsMjAwLDM1LDAsMCwwLDgsMCwwLDAsMCwwLDAsMTkyLDIzLDAsMCw5Niwz
NSwwLDAsMCwwLDAsMCwwLDAsMCwwLDIxNiwyMywwLDAsOTYsMzUsMCwwLDAsMCwwLDAsMCwyMCww
LDAsMjQwLDIzLDAsMCwwLDAsMCwwLDIsMCwwLDAsOTYsMzUsMCwwLDIsMCwwLDAsNDgsMzYsMCww
LDIsMCwwLDAsMCwyMCwwLDAsOCwyNCwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAs
MCwwLDQ4LDM2LDAsMCwyLDAsMCwwLDAsMCwwLDAsMzIsMjQsMCwwLDAsMCwwLDAsNTYsMjQsMCww
LDE1MiwzNiwwLDAsMCwwLDAsMCwwLDIwLDAsMCw4OCwyNCwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2
LDM1LDAsMCwyLDAsMCwwLDIxNiwzMiwwLDAsMCwwLDAsMCwwLDIwLDAsMCwxNjAsMjQsMCwwLDAs
MCwwLDAsMiwwLDAsMCw5NiwzNSwwLDAsMiwwLDAsMCwyNDAsMzIsMCwwLDAsMCwwLDAsMCwyMCww
LDAsMjMyLDI0LDAsMCwwLDAsMCwwLDIsMCwwLDAsOTYsMzUsMCwwLDIsMCwwLDAsOCwzMywwLDAs
MCwwLDAsMCwwLDIwLDAsMCw0OCwyNSwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAs
MCwwLDMyLDMzLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTIwLDI1LDAsMCw5NiwzNSwwLDAsMCwwLDAs
MCwwLDAsMCwwLDE0NCwyNSwwLDAsOTYsMzUsMCwwLDAsMCwwLDAsMCwyMCwwLDAsMTY4LDI1LDAs
MCwwLDAsMCwwLDIsMCwwLDAsOTYsMzUsMCwwLDIsMCwwLDAsMTY4LDM2LDAsMCwyLDAsMCwwLDAs
MjAsMCwwLDIwOCwyNSwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAsMCwwLDE2OCwz
NiwwLDAsMiwwLDAsMCwwLDIwLDAsMCwyNDgsMjUsMCwwLDAsMCwwLDAsMiwwLDAsMCw5NiwzNSww
LDAsMiwwLDAsMCwxNjgsMzYsMCwwLDIsMCwwLDAsMCwyMCwwLDAsMzIsMjYsMCwwLDAsMCwwLDAs
MiwwLDAsMCw5NiwzNSwwLDAsMiwwLDAsMCwxNjgsMzYsMCwwLDIsMCwwLDAsMCwwLDAsMCw3Miwy
NiwwLDAsMjQsMzYsMCwwLDAsMCwwLDAsMCwwLDAsMCw5NiwyNiwwLDAsOTYsMzUsMCwwLDAsMCww
LDAsMCwyMCwwLDAsMTIwLDI2LDAsMCwwLDAsMCwwLDIsMCwwLDAsOTYsMzUsMCwwLDIsMCwwLDAs
MTM2LDM3LDAsMCwyLDAsMCwwLDAsMjAsMCwwLDE0NCwyNiwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2
LDM1LDAsMCwyLDAsMCwwLDEzNiwzNywwLDAsMiwwLDAsMCwwLDAsMCwwLDE2OCwyNiwwLDAsMCww
LDAsMCwyMDgsMjYsMCwwLDAsMCwwLDAsMjQ4LDI2LDAsMCwxNzYsMzYsMCwwLDAsMCwwLDAsMCww
LDAsMCwyNCwyNywwLDAsNjQsMzUsMCwwLDAsMCwwLDAsMCwwLDAsMCw2NCwyNywwLDAsNjQsMzUs
MCwwLDAsMCwwLDAsMCwwLDAsMCwxMDQsMjcsMCwwLDAsMCwwLDAsMTYwLDI3LDAsMCwwLDAsMCww
LDIxNiwyNywwLDAsMCwwLDAsMCwyNDgsMjcsMCwwLDAsMCwwLDAsMjQsMjgsMCwwLDAsMCwwLDAs
NTYsMjgsMCwwLDAsMCwwLDAsODgsMjgsMCwwLDAsMjAsMCwwLDExMiwyOCwwLDAsMCwwLDAsMCwx
LDAsMCwwLDE4NCwzMiwwLDAsMywyNDQsMjU1LDI1NSwwLDIwLDAsMCwxNjAsMjgsMCwwLDAsMCww
LDAsMSwwLDAsMCwyMDAsMzIsMCwwLDMsMjQ0LDI1NSwyNTUsMCwyMCwwLDAsMjA4LDI4LDAsMCww
LDAsMCwwLDEsMCwwLDAsMTg0LDMyLDAsMCwzLDI0NCwyNTUsMjU1LDAsMjAsMCwwLDAsMjksMCww
LDAsMCwwLDAsMSwwLDAsMCwyMDAsMzIsMCwwLDMsMjQ0LDI1NSwyNTUsMCwwLDAsMCw0OCwyOSww
LDAsMCwzMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDcyLDI5LDAsMCwwLDAsMCwwLDk2LDI5LDAsMCwx
NiwzNiwwLDAsMCwwLDAsMCwwLDAsMCwwLDEyMCwyOSwwLDAsMCwzNiwwLDAsMCwwLDAsMCwwLDAs
MCwwLDE1MiwyOSwwLDAsOCwzNiwwLDAsMCwwLDAsMCwwLDAsMCwwLDE4NCwyOSwwLDAsMCwwLDAs
MCwyMTYsMjksMCwwLDAsMCwwLDAsMjQ4LDI5LDAsMCwwLDAsMCwwLDI0LDMwLDAsMCwwLDIwLDAs
MCw1NiwzMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAsMCwwLDEyOCwzNywwLDAs
MiwwLDAsMCwwLDIwLDAsMCw4OCwzMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAs
MCwwLDEyOCwzNywwLDAsMiwwLDAsMCwwLDIwLDAsMCwxMjAsMzAsMCwwLDAsMCwwLDAsMiwwLDAs
MCw5NiwzNSwwLDAsMiwwLDAsMCwxMjgsMzcsMCwwLDIsMCwwLDAsMCwyMCwwLDAsMTUyLDMwLDAs
MCwwLDAsMCwwLDIsMCwwLDAsOTYsMzUsMCwwLDIsMCwwLDAsMTI4LDM3LDAsMCwyLDAsMCwwLDAs
MCwwLDAsMTg0LDMwLDAsMCwwLDAsMCwwLDIwOCwzMCwwLDAsMCwwLDAsMCwyMzIsMzAsMCwwLDAs
MCwwLDAsMCwzMSwwLDAsMCwzNiwwLDAsMCwwLDAsMCwwLDAsMCwwLDI0LDMxLDAsMCw4LDM2LDAs
MCwwLDAsMCwwLDAsMCwwLDAsNDgsMzEsMCwwLDIxNiwzNywwLDAsMCwwLDAsMCwwLDAsMCwwLDg4
LDMxLDAsMCwyMTYsMzcsMCwwLDAsMCwwLDAsMCwwLDAsMCwxMjgsMzEsMCwwLDIzMiwzNywwLDAs
MCwwLDAsMCwwLDAsMCwwLDE2OCwzMSwwLDAsMjA4LDMxLDAsMCwwLDAsMCwwLDI1NSwyNTUsMjU1
LDI1NSwwLDAsMCwwLDI1NSwyNTUsMjU1LDI1NSwwLDAsMCwwLDI1NSwyNTUsMjU1LDI1NSwwLDAs
MCwwLDQ4LDQ5LDUwLDUxLDUyLDUzLDU0LDU1LDU2LDU3LDk3LDk4LDk5LDEwMCwxMDEsMTAyLDY1
LDY2LDY3LDY4LDY5LDcwLDEyMCw4OCw0Myw0NSwxMTIsODAsMTA1LDczLDExMCw3OCwwLDAsMCww
LDAsMCwwLDBdLCAiaTgiLCBBTExPQ19OT05FLCBSdW50aW1lLkdMT0JBTF9CQVNFKQotdmFyIHRl
bXBEb3VibGVQdHIgPSBSdW50aW1lLmFsaWduTWVtb3J5KGFsbG9jYXRlKDEyLCAiaTgiLCBBTExP
Q19TVEFUSUMpLCA4KTsKLWFzc2VydCh0ZW1wRG91YmxlUHRyICUgOCA9PSAwKTsKLWZ1bmN0aW9u
IGNvcHlUZW1wRmxvYXQocHRyKSB7IC8vIGZ1bmN0aW9ucywgYmVjYXVzZSBpbmxpbmluZyB0aGlz
IGNvZGUgaW5jcmVhc2VzIGNvZGUgc2l6ZSB0b28gbXVjaAotICBIRUFQOFt0ZW1wRG91YmxlUHRy
XSA9IEhFQVA4W3B0cl07Ci0gIEhFQVA4W3RlbXBEb3VibGVQdHIrMV0gPSBIRUFQOFtwdHIrMV07
Ci0gIEhFQVA4W3RlbXBEb3VibGVQdHIrMl0gPSBIRUFQOFtwdHIrMl07Ci0gIEhFQVA4W3RlbXBE
b3VibGVQdHIrM10gPSBIRUFQOFtwdHIrM107Ci19Ci1mdW5jdGlvbiBjb3B5VGVtcERvdWJsZShw
dHIpIHsKLSAgSEVBUDhbdGVtcERvdWJsZVB0cl0gPSBIRUFQOFtwdHJdOwotICBIRUFQOFt0ZW1w
RG91YmxlUHRyKzFdID0gSEVBUDhbcHRyKzFdOwotICBIRUFQOFt0ZW1wRG91YmxlUHRyKzJdID0g
SEVBUDhbcHRyKzJdOwotICBIRUFQOFt0ZW1wRG91YmxlUHRyKzNdID0gSEVBUDhbcHRyKzNdOwot
ICBIRUFQOFt0ZW1wRG91YmxlUHRyKzRdID0gSEVBUDhbcHRyKzRdOwotICBIRUFQOFt0ZW1wRG91
YmxlUHRyKzVdID0gSEVBUDhbcHRyKzVdOwotICBIRUFQOFt0ZW1wRG91YmxlUHRyKzZdID0gSEVB
UDhbcHRyKzZdOwotICBIRUFQOFt0ZW1wRG91YmxlUHRyKzddID0gSEVBUDhbcHRyKzddOwotfQot
ICBmdW5jdGlvbiBfYXRleGl0KGZ1bmMsIGFyZykgewotICAgICAgX19BVEVYSVRfXy51bnNoaWZ0
KHsgZnVuYzogZnVuYywgYXJnOiBhcmcgfSk7Ci0gICAgfXZhciBfX19jeGFfYXRleGl0PV9hdGV4
aXQ7Ci0gIGZ1bmN0aW9uIF9sbHZtX3VtdWxfd2l0aF9vdmVyZmxvd19pMzIoeCwgeSkgewotICAg
ICAgeCA9IHg+Pj4wOwotICAgICAgeSA9IHk+Pj4wOwotICAgICAgcmV0dXJuICgoYXNtWyJzZXRU
ZW1wUmV0MCJdKHgqeSA+IDQyOTQ5NjcyOTUpLCh4KnkpPj4+MCl8MCk7Ci0gICAgfQotICBmdW5j
dGlvbiBfX19neHhfcGVyc29uYWxpdHlfdjAoKSB7Ci0gICAgfQotICBmdW5jdGlvbiBfX2V4aXQo
c3RhdHVzKSB7Ci0gICAgICAvLyB2b2lkIF9leGl0KGludCBzdGF0dXMpOwotICAgICAgLy8gaHR0
cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5OS9mdW5jdGlvbnMvZXhp
dC5odG1sCi0gICAgICBNb2R1bGUucHJpbnQoJ2V4aXQoJyArIHN0YXR1cyArICcpIGNhbGxlZCcp
OwotICAgICAgTW9kdWxlWydleGl0J10oc3RhdHVzKTsKLSAgICB9ZnVuY3Rpb24gX2V4aXQoc3Rh
dHVzKSB7Ci0gICAgICBfX2V4aXQoc3RhdHVzKTsKLSAgICB9ZnVuY3Rpb24gX19aU3Q5dGVybWlu
YXRldigpIHsKLSAgICAgIF9leGl0KC0xMjM0KTsKLSAgICB9Ci0gIE1vZHVsZVsiX21lbWNweSJd
ID0gX21lbWNweTt2YXIgX2xsdm1fbWVtY3B5X3AwaThfcDBpOF9pMzI9X21lbWNweTsKLSAgdmFy
IF9sb2c9TWF0aC5sb2c7Ci0gIHZhciBfZmxvb3I9TWF0aC5mbG9vcjsKLSAgdmFyIGN0bHpfaTgg
PSBhbGxvY2F0ZShbOCw3LDYsNiw1LDUsNSw1LDQsNCw0LDQsNCw0LDQsNCwzLDMsMywzLDMsMywz
LDMsMywzLDMsMywzLDMsMywzLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIs
MiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwx
LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEs
MSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMF0sICJpOCIsIEFMTE9DX1NUQVRJQyk7IAotICBNb2R1bGVbIl9sbHZtX2N0bHpf
aTMyIl0gPSBfbGx2bV9jdGx6X2kzMjsKLSAgZnVuY3Rpb24gX19aU3QxOHVuY2F1Z2h0X2V4Y2Vw
dGlvbnYoKSB7IC8vIHN0ZDo6dW5jYXVnaHRfZXhjZXB0aW9uKCkKLSAgICAgIHJldHVybiAhIV9f
WlN0MTh1bmNhdWdodF9leGNlcHRpb252LnVuY2F1Z2h0X2V4Y2VwdGlvbjsKLSAgICB9ZnVuY3Rp
b24gX19fY3hhX2JlZ2luX2NhdGNoKHB0cikgewotICAgICAgX19aU3QxOHVuY2F1Z2h0X2V4Y2Vw
dGlvbnYudW5jYXVnaHRfZXhjZXB0aW9uLS07Ci0gICAgICByZXR1cm4gcHRyOwotICAgIH0KLSAg
ZnVuY3Rpb24gX2xsdm1fZWhfZXhjZXB0aW9uKCkgewotICAgICAgcmV0dXJuIEhFQVAzMlsoKF9s
bHZtX2VoX2V4Y2VwdGlvbi5idWYpPj4yKV07Ci0gICAgfQotICBmdW5jdGlvbiBfX19jeGFfZnJl
ZV9leGNlcHRpb24ocHRyKSB7Ci0gICAgICB0cnkgewotICAgICAgICByZXR1cm4gX2ZyZWUocHRy
KTsKLSAgICAgIH0gY2F0Y2goZSkgeyAvLyBYWFggRklYTUUKLSAgICAgIH0KLSAgICB9ZnVuY3Rp
b24gX19fY3hhX2VuZF9jYXRjaCgpIHsKLSAgICAgIGlmIChfX19jeGFfZW5kX2NhdGNoLnJldGhy
b3duKSB7Ci0gICAgICAgIF9fX2N4YV9lbmRfY2F0Y2gucmV0aHJvd24gPSBmYWxzZTsKLSAgICAg
ICAgcmV0dXJuOwotICAgICAgfQotICAgICAgLy8gQ2xlYXIgc3RhdGUgZmxhZy4KLSAgICAgIGFz
bVsnc2V0VGhyZXcnXSgwKTsKLSAgICAgIC8vIENsZWFyIHR5cGUuCi0gICAgICBIRUFQMzJbKCgo
X2xsdm1fZWhfZXhjZXB0aW9uLmJ1ZikrKDQpKT4+MildPTAKLSAgICAgIC8vIENhbGwgZGVzdHJ1
Y3RvciBpZiBvbmUgaXMgcmVnaXN0ZXJlZCB0aGVuIGNsZWFyIGl0LgotICAgICAgdmFyIHB0ciA9
IEhFQVAzMlsoKF9sbHZtX2VoX2V4Y2VwdGlvbi5idWYpPj4yKV07Ci0gICAgICB2YXIgZGVzdHJ1
Y3RvciA9IEhFQVAzMlsoKChfbGx2bV9laF9leGNlcHRpb24uYnVmKSsoOCkpPj4yKV07Ci0gICAg
ICBpZiAoZGVzdHJ1Y3RvcikgewotICAgICAgICBSdW50aW1lLmR5bkNhbGwoJ3ZpJywgZGVzdHJ1
Y3RvciwgW3B0cl0pOwotICAgICAgICBIRUFQMzJbKCgoX2xsdm1fZWhfZXhjZXB0aW9uLmJ1Zikr
KDgpKT4+MildPTAKLSAgICAgIH0KLSAgICAgIC8vIEZyZWUgcHRyIGlmIGl0IGlzbid0IG51bGwu
Ci0gICAgICBpZiAocHRyKSB7Ci0gICAgICAgIF9fX2N4YV9mcmVlX2V4Y2VwdGlvbihwdHIpOwot
ICAgICAgICBIRUFQMzJbKChfbGx2bV9laF9leGNlcHRpb24uYnVmKT4+MildPTAKLSAgICAgIH0K
LSAgICB9ZnVuY3Rpb24gX19fY3hhX3JldGhyb3coKSB7Ci0gICAgICBfX19jeGFfZW5kX2NhdGNo
LnJldGhyb3duID0gdHJ1ZTsKLSAgICAgIHRocm93IEhFQVAzMlsoKF9sbHZtX2VoX2V4Y2VwdGlv
bi5idWYpPj4yKV0gKyAiIC0gRXhjZXB0aW9uIGNhdGNoaW5nIGlzIGRpc2FibGVkLCB0aGlzIGV4
Y2VwdGlvbiBjYW5ub3QgYmUgY2F1Z2h0LiBDb21waWxlIHdpdGggLXMgRElTQUJMRV9FWENFUFRJ
T05fQ0FUQ0hJTkc9MCBvciBESVNBQkxFX0VYQ0VQVElPTl9DQVRDSElORz0yIHRvIGNhdGNoLiI7
OwotICAgIH0KLSAgTW9kdWxlWyJfbWVtbW92ZSJdID0gX21lbW1vdmU7dmFyIF9sbHZtX21lbW1v
dmVfcDBpOF9wMGk4X2kzMj1fbWVtbW92ZTsKLSAgTW9kdWxlWyJfbWVtc2V0Il0gPSBfbWVtc2V0
O3ZhciBfbGx2bV9tZW1zZXRfcDBpOF9pNjQ9X21lbXNldDsKLSAgZnVuY3Rpb24gX2xsdm1fbGlm
ZXRpbWVfc3RhcnQoKSB7fQotICBmdW5jdGlvbiBfbGx2bV9saWZldGltZV9lbmQoKSB7fQotICBm
dW5jdGlvbiBfcHRocmVhZF9tdXRleF9sb2NrKCkge30KLSAgZnVuY3Rpb24gX3B0aHJlYWRfbXV0
ZXhfdW5sb2NrKCkge30KLSAgZnVuY3Rpb24gX19fY3hhX2d1YXJkX2FjcXVpcmUodmFyaWFibGUp
IHsKLSAgICAgIGlmICghSEVBUDhbKHZhcmlhYmxlKV0pIHsgLy8gaWdub3JlIFNBRkVfSEVBUCBz
dHVmZiBiZWNhdXNlIGxsdm0gbWl4ZXMgaTY0IGFuZCBpOCBoZXJlCi0gICAgICAgIEhFQVA4Wyh2
YXJpYWJsZSldPTE7Ci0gICAgICAgIHJldHVybiAxOwotICAgICAgfQotICAgICAgcmV0dXJuIDA7
Ci0gICAgfQotICBmdW5jdGlvbiBfX19jeGFfZ3VhcmRfcmVsZWFzZSgpIHt9Ci0gIGZ1bmN0aW9u
IF9wdGhyZWFkX2NvbmRfYnJvYWRjYXN0KCkgewotICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICBm
dW5jdGlvbiBfcHRocmVhZF9jb25kX3dhaXQoKSB7Ci0gICAgICByZXR1cm4gMDsKLSAgICB9Ci0g
IGZ1bmN0aW9uIF9fX2N4YV9hbGxvY2F0ZV9leGNlcHRpb24oc2l6ZSkgewotICAgICAgcmV0dXJu
IF9tYWxsb2Moc2l6ZSk7Ci0gICAgfQotICBmdW5jdGlvbiBfX19jeGFfaXNfbnVtYmVyX3R5cGUo
dHlwZSkgewotICAgICAgdmFyIGlzTnVtYmVyID0gZmFsc2U7Ci0gICAgICB0cnkgeyBpZiAodHlw
ZSA9PSBfX1pUSWkpIGlzTnVtYmVyID0gdHJ1ZSB9IGNhdGNoKGUpe30KLSAgICAgIHRyeSB7IGlm
ICh0eXBlID09IF9fWlRJaikgaXNOdW1iZXIgPSB0cnVlIH0gY2F0Y2goZSl7fQotICAgICAgdHJ5
IHsgaWYgKHR5cGUgPT0gX19aVElsKSBpc051bWJlciA9IHRydWUgfSBjYXRjaChlKXt9Ci0gICAg
ICB0cnkgeyBpZiAodHlwZSA9PSBfX1pUSW0pIGlzTnVtYmVyID0gdHJ1ZSB9IGNhdGNoKGUpe30K
LSAgICAgIHRyeSB7IGlmICh0eXBlID09IF9fWlRJeCkgaXNOdW1iZXIgPSB0cnVlIH0gY2F0Y2go
ZSl7fQotICAgICAgdHJ5IHsgaWYgKHR5cGUgPT0gX19aVEl5KSBpc051bWJlciA9IHRydWUgfSBj
YXRjaChlKXt9Ci0gICAgICB0cnkgeyBpZiAodHlwZSA9PSBfX1pUSWYpIGlzTnVtYmVyID0gdHJ1
ZSB9IGNhdGNoKGUpe30KLSAgICAgIHRyeSB7IGlmICh0eXBlID09IF9fWlRJZCkgaXNOdW1iZXIg
PSB0cnVlIH0gY2F0Y2goZSl7fQotICAgICAgdHJ5IHsgaWYgKHR5cGUgPT0gX19aVEllKSBpc051
bWJlciA9IHRydWUgfSBjYXRjaChlKXt9Ci0gICAgICB0cnkgeyBpZiAodHlwZSA9PSBfX1pUSWMp
IGlzTnVtYmVyID0gdHJ1ZSB9IGNhdGNoKGUpe30KLSAgICAgIHRyeSB7IGlmICh0eXBlID09IF9f
WlRJYSkgaXNOdW1iZXIgPSB0cnVlIH0gY2F0Y2goZSl7fQotICAgICAgdHJ5IHsgaWYgKHR5cGUg
PT0gX19aVEloKSBpc051bWJlciA9IHRydWUgfSBjYXRjaChlKXt9Ci0gICAgICB0cnkgeyBpZiAo
dHlwZSA9PSBfX1pUSXMpIGlzTnVtYmVyID0gdHJ1ZSB9IGNhdGNoKGUpe30KLSAgICAgIHRyeSB7
IGlmICh0eXBlID09IF9fWlRJdCkgaXNOdW1iZXIgPSB0cnVlIH0gY2F0Y2goZSl7fQotICAgICAg
cmV0dXJuIGlzTnVtYmVyOwotICAgIH1mdW5jdGlvbiBfX19jeGFfZG9lc19pbmhlcml0KGRlZmlu
aXRlVHlwZSwgcG9zc2liaWxpdHlUeXBlLCBwb3NzaWJpbGl0eSkgewotICAgICAgaWYgKHBvc3Np
YmlsaXR5ID09IDApIHJldHVybiBmYWxzZTsKLSAgICAgIGlmIChwb3NzaWJpbGl0eVR5cGUgPT0g
MCB8fCBwb3NzaWJpbGl0eVR5cGUgPT0gZGVmaW5pdGVUeXBlKQotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgIHZhciBwb3NzaWJpbGl0eV90eXBlX2luZm87Ci0gICAgICBpZiAoX19fY3hhX2lz
X251bWJlcl90eXBlKHBvc3NpYmlsaXR5VHlwZSkpIHsKLSAgICAgICAgcG9zc2liaWxpdHlfdHlw
ZV9pbmZvID0gcG9zc2liaWxpdHlUeXBlOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgdmFyIHBv
c3NpYmlsaXR5X3R5cGVfaW5mb0FkZHIgPSBIRUFQMzJbKChwb3NzaWJpbGl0eVR5cGUpPj4yKV0g
LSA4OwotICAgICAgICBwb3NzaWJpbGl0eV90eXBlX2luZm8gPSBIRUFQMzJbKChwb3NzaWJpbGl0
eV90eXBlX2luZm9BZGRyKT4+MildOwotICAgICAgfQotICAgICAgc3dpdGNoIChwb3NzaWJpbGl0
eV90eXBlX2luZm8pIHsKLSAgICAgIGNhc2UgMDogLy8gcG9zc2liaWxpdHkgaXMgYSBwb2ludGVy
Ci0gICAgICAgIC8vIFNlZSBpZiBkZWZpbml0ZSB0eXBlIGlzIGEgcG9pbnRlcgotICAgICAgICB2
YXIgZGVmaW5pdGVfdHlwZV9pbmZvQWRkciA9IEhFQVAzMlsoKGRlZmluaXRlVHlwZSk+PjIpXSAt
IDg7Ci0gICAgICAgIHZhciBkZWZpbml0ZV90eXBlX2luZm8gPSBIRUFQMzJbKChkZWZpbml0ZV90
eXBlX2luZm9BZGRyKT4+MildOwotICAgICAgICBpZiAoZGVmaW5pdGVfdHlwZV9pbmZvID09IDAp
IHsKLSAgICAgICAgICAvLyBBbHNvIGEgcG9pbnRlcjsgY29tcGFyZSBiYXNlIHR5cGVzIG9mIHBv
aW50ZXJzCi0gICAgICAgICAgdmFyIGRlZlBvaW50ZXJCYXNlQWRkciA9IGRlZmluaXRlVHlwZSs4
OwotICAgICAgICAgIHZhciBkZWZQb2ludGVyQmFzZVR5cGUgPSBIRUFQMzJbKChkZWZQb2ludGVy
QmFzZUFkZHIpPj4yKV07Ci0gICAgICAgICAgdmFyIHBvc3NQb2ludGVyQmFzZUFkZHIgPSBwb3Nz
aWJpbGl0eVR5cGUrODsKLSAgICAgICAgICB2YXIgcG9zc1BvaW50ZXJCYXNlVHlwZSA9IEhFQVAz
MlsoKHBvc3NQb2ludGVyQmFzZUFkZHIpPj4yKV07Ci0gICAgICAgICAgcmV0dXJuIF9fX2N4YV9k
b2VzX2luaGVyaXQoZGVmUG9pbnRlckJhc2VUeXBlLCBwb3NzUG9pbnRlckJhc2VUeXBlLCBwb3Nz
aWJpbGl0eSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gb25l
IHBvaW50ZXIgYW5kIG9uZSBub24tcG9pbnRlcgotICAgICAgY2FzZSAxOiAvLyBjbGFzcyB3aXRo
IG5vIGJhc2UgY2xhc3MKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgY2FzZSAyOiAvLyBj
bGFzcyB3aXRoIGJhc2UgY2xhc3MKLSAgICAgICAgdmFyIHBhcmVudFR5cGVBZGRyID0gcG9zc2li
aWxpdHlUeXBlICsgODsKLSAgICAgICAgdmFyIHBhcmVudFR5cGUgPSBIRUFQMzJbKChwYXJlbnRU
eXBlQWRkcik+PjIpXTsKLSAgICAgICAgcmV0dXJuIF9fX2N4YV9kb2VzX2luaGVyaXQoZGVmaW5p
dGVUeXBlLCBwYXJlbnRUeXBlLCBwb3NzaWJpbGl0eSk7Ci0gICAgICBkZWZhdWx0OgotICAgICAg
ICByZXR1cm4gZmFsc2U7IC8vIHNvbWUgdW5lbmNvdW50ZXJlZCB0eXBlCi0gICAgICB9Ci0gICAg
fQotICBmdW5jdGlvbiBfX19yZXN1bWVFeGNlcHRpb24ocHRyKSB7Ci0gICAgICBpZiAoSEVBUDMy
WygoX2xsdm1fZWhfZXhjZXB0aW9uLmJ1Zik+PjIpXSA9PSAwKSBIRUFQMzJbKChfbGx2bV9laF9l
eGNlcHRpb24uYnVmKT4+MildPXB0cjsKLSAgICAgIHRocm93IHB0ciArICIgLSBFeGNlcHRpb24g
Y2F0Y2hpbmcgaXMgZGlzYWJsZWQsIHRoaXMgZXhjZXB0aW9uIGNhbm5vdCBiZSBjYXVnaHQuIENv
bXBpbGUgd2l0aCAtcyBESVNBQkxFX0VYQ0VQVElPTl9DQVRDSElORz0wIG9yIERJU0FCTEVfRVhD
RVBUSU9OX0NBVENISU5HPTIgdG8gY2F0Y2guIjs7Ci0gICAgfWZ1bmN0aW9uIF9fX2N4YV9maW5k
X21hdGNoaW5nX2NhdGNoKHRocm93biwgdGhyb3dudHlwZSkgewotICAgICAgaWYgKHRocm93biA9
PSAtMSkgdGhyb3duID0gSEVBUDMyWygoX2xsdm1fZWhfZXhjZXB0aW9uLmJ1Zik+PjIpXTsKLSAg
ICAgIGlmICh0aHJvd250eXBlID09IC0xKSB0aHJvd250eXBlID0gSEVBUDMyWygoKF9sbHZtX2Vo
X2V4Y2VwdGlvbi5idWYpKyg0KSk+PjIpXTsKLSAgICAgIHZhciB0eXBlQXJyYXkgPSBBcnJheS5w
cm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpOwotICAgICAgLy8gSWYgdGhyb3dudHlw
ZSBpcyBhIHBvaW50ZXIsIHRoaXMgbWVhbnMgYSBwb2ludGVyIGhhcyBiZWVuCi0gICAgICAvLyB0
aHJvd24uIFdoZW4gYSBwb2ludGVyIGlzIHRocm93biwgYWN0dWFsbHkgd2hhdCdzIHRocm93bgot
ICAgICAgLy8gaXMgYSBwb2ludGVyIHRvIHRoZSBwb2ludGVyLiBXZSdsbCBkZXJlZmVyZW5jZSBp
dC4KLSAgICAgIGlmICh0aHJvd250eXBlICE9IDAgJiYgIV9fX2N4YV9pc19udW1iZXJfdHlwZSh0
aHJvd250eXBlKSkgewotICAgICAgICB2YXIgdGhyb3dudHlwZUluZm9BZGRyPSBIRUFQMzJbKCh0
aHJvd250eXBlKT4+MildIC0gODsKLSAgICAgICAgdmFyIHRocm93bnR5cGVJbmZvPSBIRUFQMzJb
KCh0aHJvd250eXBlSW5mb0FkZHIpPj4yKV07Ci0gICAgICAgIGlmICh0aHJvd250eXBlSW5mbyA9
PSAwKQotICAgICAgICAgIHRocm93biA9IEhFQVAzMlsoKHRocm93bik+PjIpXTsKLSAgICAgIH0K
LSAgICAgIC8vIFRoZSBkaWZmZXJlbnQgY2F0Y2ggYmxvY2tzIGFyZSBkZW5vdGVkIGJ5IGRpZmZl
cmVudCB0eXBlcy4KLSAgICAgIC8vIER1ZSB0byBpbmhlcml0YW5jZSwgdGhvc2UgdHlwZXMgbWF5
IG5vdCBwcmVjaXNlbHkgbWF0Y2ggdGhlCi0gICAgICAvLyB0eXBlIG9mIHRoZSB0aHJvd24gb2Jq
ZWN0LiBGaW5kIG9uZSB3aGljaCBtYXRjaGVzLCBhbmQKLSAgICAgIC8vIHJldHVybiB0aGUgdHlw
ZSBvZiB0aGUgY2F0Y2ggYmxvY2sgd2hpY2ggc2hvdWxkIGJlIGNhbGxlZC4KLSAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgdHlwZUFycmF5Lmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIGlmIChfX19j
eGFfZG9lc19pbmhlcml0KHR5cGVBcnJheVtpXSwgdGhyb3dudHlwZSwgdGhyb3duKSkKLSAgICAg
ICAgICByZXR1cm4gKChhc21bInNldFRlbXBSZXQwIl0odHlwZUFycmF5W2ldKSx0aHJvd24pfDAp
OwotICAgICAgfQotICAgICAgLy8gU2hvdWxkbid0IGhhcHBlbiB1bmxlc3Mgd2UgaGF2ZSBib2d1
cyBkYXRhIGluIHR5cGVBcnJheQotICAgICAgLy8gb3IgZW5jb3VudGVyIGEgdHlwZSBmb3Igd2hp
Y2ggZW1zY3JpcHRlbiBkb2Vzbid0IGhhdmUgc3VpdGFibGUKLSAgICAgIC8vIHR5cGVpbmZvIGRl
ZmluZWQuIEJlc3QtZWZmb3J0cyBtYXRjaCBqdXN0IGluIGNhc2UuCi0gICAgICByZXR1cm4gKChh
c21bInNldFRlbXBSZXQwIl0odGhyb3dudHlwZSksdGhyb3duKXwwKTsKLSAgICB9ZnVuY3Rpb24g
X19fY3hhX3Rocm93KHB0ciwgdHlwZSwgZGVzdHJ1Y3RvcikgewotICAgICAgaWYgKCFfX19jeGFf
dGhyb3cuaW5pdGlhbGl6ZWQpIHsKLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICBIRUFQMzJbKChf
X1pUVk4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FKT4+MildPTA7IC8vIFdvcmth
cm91bmQgZm9yIGxpYmN4eGFiaSBpbnRlZ3JhdGlvbiBidWcKLSAgICAgICAgfSBjYXRjaChlKXt9
Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgSEVBUDMyWygoX19aVFZOMTBfX2N4eGFiaXYxMTdf
X2NsYXNzX3R5cGVfaW5mb0UpPj4yKV09MTsgLy8gV29ya2Fyb3VuZCBmb3IgbGliY3h4YWJpIGlu
dGVncmF0aW9uIGJ1ZwotICAgICAgICB9IGNhdGNoKGUpe30KLSAgICAgICAgdHJ5IHsKLSAgICAg
ICAgICBIRUFQMzJbKChfX1pUVk4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRSk+
PjIpXT0yOyAvLyBXb3JrYXJvdW5kIGZvciBsaWJjeHhhYmkgaW50ZWdyYXRpb24gYnVnCi0gICAg
ICAgIH0gY2F0Y2goZSl7fQotICAgICAgICBfX19jeGFfdGhyb3cuaW5pdGlhbGl6ZWQgPSB0cnVl
OwotICAgICAgfQotICAgICAgSEVBUDMyWygoX2xsdm1fZWhfZXhjZXB0aW9uLmJ1Zik+PjIpXT1w
dHIKLSAgICAgIEhFQVAzMlsoKChfbGx2bV9laF9leGNlcHRpb24uYnVmKSsoNCkpPj4yKV09dHlw
ZQotICAgICAgSEVBUDMyWygoKF9sbHZtX2VoX2V4Y2VwdGlvbi5idWYpKyg4KSk+PjIpXT1kZXN0
cnVjdG9yCi0gICAgICBpZiAoISgidW5jYXVnaHRfZXhjZXB0aW9uIiBpbiBfX1pTdDE4dW5jYXVn
aHRfZXhjZXB0aW9udikpIHsKLSAgICAgICAgX19aU3QxOHVuY2F1Z2h0X2V4Y2VwdGlvbnYudW5j
YXVnaHRfZXhjZXB0aW9uID0gMTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIF9fWlN0MTh1bmNh
dWdodF9leGNlcHRpb252LnVuY2F1Z2h0X2V4Y2VwdGlvbisrOwotICAgICAgfQotICAgICAgdGhy
b3cgcHRyICsgIiAtIEV4Y2VwdGlvbiBjYXRjaGluZyBpcyBkaXNhYmxlZCwgdGhpcyBleGNlcHRp
b24gY2Fubm90IGJlIGNhdWdodC4gQ29tcGlsZSB3aXRoIC1zIERJU0FCTEVfRVhDRVBUSU9OX0NB
VENISU5HPTAgb3IgRElTQUJMRV9FWENFUFRJT05fQ0FUQ0hJTkc9MiB0byBjYXRjaC4iOzsKLSAg
ICB9Ci0gIHZhciBFUlJOT19DT0RFUz17RVBFUk06MSxFTk9FTlQ6MixFU1JDSDozLEVJTlRSOjQs
RUlPOjUsRU5YSU86NixFMkJJRzo3LEVOT0VYRUM6OCxFQkFERjo5LEVDSElMRDoxMCxFQUdBSU46
MTEsRVdPVUxEQkxPQ0s6MTEsRU5PTUVNOjEyLEVBQ0NFUzoxMyxFRkFVTFQ6MTQsRU5PVEJMSzox
NSxFQlVTWToxNixFRVhJU1Q6MTcsRVhERVY6MTgsRU5PREVWOjE5LEVOT1RESVI6MjAsRUlTRElS
OjIxLEVJTlZBTDoyMixFTkZJTEU6MjMsRU1GSUxFOjI0LEVOT1RUWToyNSxFVFhUQlNZOjI2LEVG
QklHOjI3LEVOT1NQQzoyOCxFU1BJUEU6MjksRVJPRlM6MzAsRU1MSU5LOjMxLEVQSVBFOjMyLEVE
T006MzMsRVJBTkdFOjM0LEVOT01TRzozNSxFSURSTTozNixFQ0hSTkc6MzcsRUwyTlNZTkM6Mzgs
RUwzSExUOjM5LEVMM1JTVDo0MCxFTE5STkc6NDEsRVVOQVRDSDo0MixFTk9DU0k6NDMsRUwySExU
OjQ0LEVERUFETEs6NDUsRU5PTENLOjQ2LEVCQURFOjUwLEVCQURSOjUxLEVYRlVMTDo1MixFTk9B
Tk86NTMsRUJBRFJRQzo1NCxFQkFEU0xUOjU1LEVERUFETE9DSzo1NixFQkZPTlQ6NTcsRU5PU1RS
OjYwLEVOT0RBVEE6NjEsRVRJTUU6NjIsRU5PU1I6NjMsRU5PTkVUOjY0LEVOT1BLRzo2NSxFUkVN
T1RFOjY2LEVOT0xJTks6NjcsRUFEVjo2OCxFU1JNTlQ6NjksRUNPTU06NzAsRVBST1RPOjcxLEVN
VUxUSUhPUDo3NCxFRE9URE9UOjc2LEVCQURNU0c6NzcsRU5PVFVOSVE6ODAsRUJBREZEOjgxLEVS
RU1DSEc6ODIsRUxJQkFDQzo4MyxFTElCQkFEOjg0LEVMSUJTQ046ODUsRUxJQk1BWDo4NixFTElC
RVhFQzo4NyxFTk9TWVM6ODgsRU5PVEVNUFRZOjkwLEVOQU1FVE9PTE9ORzo5MSxFTE9PUDo5MixF
T1BOT1RTVVBQOjk1LEVQRk5PU1VQUE9SVDo5NixFQ09OTlJFU0VUOjEwNCxFTk9CVUZTOjEwNSxF
QUZOT1NVUFBPUlQ6MTA2LEVQUk9UT1RZUEU6MTA3LEVOT1RTT0NLOjEwOCxFTk9QUk9UT09QVDox
MDksRVNIVVRET1dOOjExMCxFQ09OTlJFRlVTRUQ6MTExLEVBRERSSU5VU0U6MTEyLEVDT05OQUJP
UlRFRDoxMTMsRU5FVFVOUkVBQ0g6MTE0LEVORVRET1dOOjExNSxFVElNRURPVVQ6MTE2LEVIT1NU
RE9XTjoxMTcsRUhPU1RVTlJFQUNIOjExOCxFSU5QUk9HUkVTUzoxMTksRUFMUkVBRFk6MTIwLEVE
RVNUQUREUlJFUToxMjEsRU1TR1NJWkU6MTIyLEVQUk9UT05PU1VQUE9SVDoxMjMsRVNPQ0tUTk9T
VVBQT1JUOjEyNCxFQUREUk5PVEFWQUlMOjEyNSxFTkVUUkVTRVQ6MTI2LEVJU0NPTk46MTI3LEVO
T1RDT05OOjEyOCxFVE9PTUFOWVJFRlM6MTI5LEVVU0VSUzoxMzEsRURRVU9UOjEzMixFU1RBTEU6
MTMzLEVOT1RTVVA6MTM0LEVOT01FRElVTToxMzUsRUlMU0VROjEzOCxFT1ZFUkZMT1c6MTM5LEVD
QU5DRUxFRDoxNDAsRU5PVFJFQ09WRVJBQkxFOjE0MSxFT1dORVJERUFEOjE0MixFU1RSUElQRTox
NDN9OwotICB2YXIgRVJSTk9fTUVTU0FHRVM9ezA6IlN1Y2Nlc3MiLDE6Ik5vdCBzdXBlci11c2Vy
IiwyOiJObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IiwzOiJObyBzdWNoIHByb2Nlc3MiLDQ6Iklu
dGVycnVwdGVkIHN5c3RlbSBjYWxsIiw1OiJJL08gZXJyb3IiLDY6Ik5vIHN1Y2ggZGV2aWNlIG9y
IGFkZHJlc3MiLDc6IkFyZyBsaXN0IHRvbyBsb25nIiw4OiJFeGVjIGZvcm1hdCBlcnJvciIsOToi
QmFkIGZpbGUgbnVtYmVyIiwxMDoiTm8gY2hpbGRyZW4iLDExOiJObyBtb3JlIHByb2Nlc3NlcyIs
MTI6Ik5vdCBlbm91Z2ggY29yZSIsMTM6IlBlcm1pc3Npb24gZGVuaWVkIiwxNDoiQmFkIGFkZHJl
c3MiLDE1OiJCbG9jayBkZXZpY2UgcmVxdWlyZWQiLDE2OiJNb3VudCBkZXZpY2UgYnVzeSIsMTc6
IkZpbGUgZXhpc3RzIiwxODoiQ3Jvc3MtZGV2aWNlIGxpbmsiLDE5OiJObyBzdWNoIGRldmljZSIs
MjA6Ik5vdCBhIGRpcmVjdG9yeSIsMjE6IklzIGEgZGlyZWN0b3J5IiwyMjoiSW52YWxpZCBhcmd1
bWVudCIsMjM6IlRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtIiwyNDoiVG9vIG1hbnkgb3Bl
biBmaWxlcyIsMjU6Ik5vdCBhIHR5cGV3cml0ZXIiLDI2OiJUZXh0IGZpbGUgYnVzeSIsMjc6IkZp
bGUgdG9vIGxhcmdlIiwyODoiTm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UiLDI5OiJJbGxlZ2FsIHNl
ZWsiLDMwOiJSZWFkIG9ubHkgZmlsZSBzeXN0ZW0iLDMxOiJUb28gbWFueSBsaW5rcyIsMzI6IkJy
b2tlbiBwaXBlIiwzMzoiTWF0aCBhcmcgb3V0IG9mIGRvbWFpbiBvZiBmdW5jIiwzNDoiTWF0aCBy
ZXN1bHQgbm90IHJlcHJlc2VudGFibGUiLDM1OiJObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZSIs
MzY6IklkZW50aWZpZXIgcmVtb3ZlZCIsMzc6IkNoYW5uZWwgbnVtYmVyIG91dCBvZiByYW5nZSIs
Mzg6IkxldmVsIDIgbm90IHN5bmNocm9uaXplZCIsMzk6IkxldmVsIDMgaGFsdGVkIiw0MDoiTGV2
ZWwgMyByZXNldCIsNDE6IkxpbmsgbnVtYmVyIG91dCBvZiByYW5nZSIsNDI6IlByb3RvY29sIGRy
aXZlciBub3QgYXR0YWNoZWQiLDQzOiJObyBDU0kgc3RydWN0dXJlIGF2YWlsYWJsZSIsNDQ6Ikxl
dmVsIDIgaGFsdGVkIiw0NToiRGVhZGxvY2sgY29uZGl0aW9uIiw0NjoiTm8gcmVjb3JkIGxvY2tz
IGF2YWlsYWJsZSIsNTA6IkludmFsaWQgZXhjaGFuZ2UiLDUxOiJJbnZhbGlkIHJlcXVlc3QgZGVz
Y3JpcHRvciIsNTI6IkV4Y2hhbmdlIGZ1bGwiLDUzOiJObyBhbm9kZSIsNTQ6IkludmFsaWQgcmVx
dWVzdCBjb2RlIiw1NToiSW52YWxpZCBzbG90Iiw1NjoiRmlsZSBsb2NraW5nIGRlYWRsb2NrIGVy
cm9yIiw1NzoiQmFkIGZvbnQgZmlsZSBmbXQiLDYwOiJEZXZpY2Ugbm90IGEgc3RyZWFtIiw2MToi
Tm8gZGF0YSAoZm9yIG5vIGRlbGF5IGlvKSIsNjI6IlRpbWVyIGV4cGlyZWQiLDYzOiJPdXQgb2Yg
c3RyZWFtcyByZXNvdXJjZXMiLDY0OiJNYWNoaW5lIGlzIG5vdCBvbiB0aGUgbmV0d29yayIsNjU6
IlBhY2thZ2Ugbm90IGluc3RhbGxlZCIsNjY6IlRoZSBvYmplY3QgaXMgcmVtb3RlIiw2NzoiVGhl
IGxpbmsgaGFzIGJlZW4gc2V2ZXJlZCIsNjg6IkFkdmVydGlzZSBlcnJvciIsNjk6IlNybW91bnQg
ZXJyb3IiLDcwOiJDb21tdW5pY2F0aW9uIGVycm9yIG9uIHNlbmQiLDcxOiJQcm90b2NvbCBlcnJv
ciIsNzQ6Ik11bHRpaG9wIGF0dGVtcHRlZCIsNzY6IkNyb3NzIG1vdW50IHBvaW50IChub3QgcmVh
bGx5IGVycm9yKSIsNzc6IlRyeWluZyB0byByZWFkIHVucmVhZGFibGUgbWVzc2FnZSIsODA6Ikdp
dmVuIGxvZy4gbmFtZSBub3QgdW5pcXVlIiw4MToiZi5kLiBpbnZhbGlkIGZvciB0aGlzIG9wZXJh
dGlvbiIsODI6IlJlbW90ZSBhZGRyZXNzIGNoYW5nZWQiLDgzOiJDYW4gICBhY2Nlc3MgYSBuZWVk
ZWQgc2hhcmVkIGxpYiIsODQ6IkFjY2Vzc2luZyBhIGNvcnJ1cHRlZCBzaGFyZWQgbGliIiw4NToi
LmxpYiBzZWN0aW9uIGluIGEub3V0IGNvcnJ1cHRlZCIsODY6IkF0dGVtcHRpbmcgdG8gbGluayBp
biB0b28gbWFueSBsaWJzIiw4NzoiQXR0ZW1wdGluZyB0byBleGVjIGEgc2hhcmVkIGxpYnJhcnki
LDg4OiJGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQiLDkwOiJEaXJlY3Rvcnkgbm90IGVtcHR5Iiw5
MToiRmlsZSBvciBwYXRoIG5hbWUgdG9vIGxvbmciLDkyOiJUb28gbWFueSBzeW1ib2xpYyBsaW5r
cyIsOTU6Ik9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIG9uIHRyYW5zcG9ydCBlbmRwb2ludCIsOTY6
IlByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkIiwxMDQ6IkNvbm5lY3Rpb24gcmVzZXQgYnkg
cGVlciIsMTA1OiJObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlIiwxMDY6IkFkZHJlc3MgZmFtaWx5
IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wgZmFtaWx5IiwxMDc6IlByb3RvY29sIHdyb25nIHR5
cGUgZm9yIHNvY2tldCIsMTA4OiJTb2NrZXQgb3BlcmF0aW9uIG9uIG5vbi1zb2NrZXQiLDEwOToi
UHJvdG9jb2wgbm90IGF2YWlsYWJsZSIsMTEwOiJDYW4ndCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0
ZG93biIsMTExOiJDb25uZWN0aW9uIHJlZnVzZWQiLDExMjoiQWRkcmVzcyBhbHJlYWR5IGluIHVz
ZSIsMTEzOiJDb25uZWN0aW9uIGFib3J0ZWQiLDExNDoiTmV0d29yayBpcyB1bnJlYWNoYWJsZSIs
MTE1OiJOZXR3b3JrIGludGVyZmFjZSBpcyBub3QgY29uZmlndXJlZCIsMTE2OiJDb25uZWN0aW9u
IHRpbWVkIG91dCIsMTE3OiJIb3N0IGlzIGRvd24iLDExODoiSG9zdCBpcyB1bnJlYWNoYWJsZSIs
MTE5OiJDb25uZWN0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MiLDEyMDoiU29ja2V0IGFscmVhZHkg
Y29ubmVjdGVkIiwxMjE6IkRlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQiLDEyMjoiTWVzc2Fn
ZSB0b28gbG9uZyIsMTIzOiJVbmtub3duIHByb3RvY29sIiwxMjQ6IlNvY2tldCB0eXBlIG5vdCBz
dXBwb3J0ZWQiLDEyNToiQWRkcmVzcyBub3QgYXZhaWxhYmxlIiwxMjY6IkNvbm5lY3Rpb24gcmVz
ZXQgYnkgbmV0d29yayIsMTI3OiJTb2NrZXQgaXMgYWxyZWFkeSBjb25uZWN0ZWQiLDEyODoiU29j
a2V0IGlzIG5vdCBjb25uZWN0ZWQiLDEyOToiVG9vIG1hbnkgcmVmZXJlbmNlcyIsMTMxOiJUb28g
bWFueSB1c2VycyIsMTMyOiJRdW90YSBleGNlZWRlZCIsMTMzOiJTdGFsZSBmaWxlIGhhbmRsZSIs
MTM0OiJOb3Qgc3VwcG9ydGVkIiwxMzU6Ik5vIG1lZGl1bSAoaW4gdGFwZSBkcml2ZSkiLDEzODoi
SWxsZWdhbCBieXRlIHNlcXVlbmNlIiwxMzk6IlZhbHVlIHRvbyBsYXJnZSBmb3IgZGVmaW5lZCBk
YXRhIHR5cGUiLDE0MDoiT3BlcmF0aW9uIGNhbmNlbGVkIiwxNDE6IlN0YXRlIG5vdCByZWNvdmVy
YWJsZSIsMTQyOiJQcmV2aW91cyBvd25lciBkaWVkIiwxNDM6IlN0cmVhbXMgcGlwZSBlcnJvciJ9
OwotICB2YXIgX19fZXJybm9fc3RhdGU9MDtmdW5jdGlvbiBfX19zZXRFcnJObyh2YWx1ZSkgewot
ICAgICAgLy8gRm9yIGNvbnZlbmllbnQgc2V0dGluZyBhbmQgcmV0dXJuaW5nIG9mIGVycm5vLgot
ICAgICAgSEVBUDMyWygoX19fZXJybm9fc3RhdGUpPj4yKV09dmFsdWUKLSAgICAgIHJldHVybiB2
YWx1ZTsKLSAgICB9Ci0gIHZhciBWRlM9dW5kZWZpbmVkOwotICB2YXIgUEFUSD17c3BsaXRQYXRo
OmZ1bmN0aW9uIChmaWxlbmFtZSkgewotICAgICAgICB2YXIgc3BsaXRQYXRoUmUgPSAvXihcLz98
KShbXHNcU10qPykoKD86XC57MSwyfXxbXlwvXSs/fCkoXC5bXi5cL10qfCkpKD86W1wvXSopJC87
Ci0gICAgICAgIHJldHVybiBzcGxpdFBhdGhSZS5leGVjKGZpbGVuYW1lKS5zbGljZSgxKTsKLSAg
ICAgIH0sbm9ybWFsaXplQXJyYXk6ZnVuY3Rpb24gKHBhcnRzLCBhbGxvd0Fib3ZlUm9vdCkgewot
ICAgICAgICAvLyBpZiB0aGUgcGF0aCB0cmllcyB0byBnbyBhYm92ZSB0aGUgcm9vdCwgYHVwYCBl
bmRzIHVwID4gMAotICAgICAgICB2YXIgdXAgPSAwOwotICAgICAgICBmb3IgKHZhciBpID0gcGFy
dHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsKLSAgICAgICAgICB2YXIgbGFzdCA9IHBhcnRz
W2ldOwotICAgICAgICAgIGlmIChsYXN0ID09PSAnLicpIHsKLSAgICAgICAgICAgIHBhcnRzLnNw
bGljZShpLCAxKTsKLSAgICAgICAgICB9IGVsc2UgaWYgKGxhc3QgPT09ICcuLicpIHsKLSAgICAg
ICAgICAgIHBhcnRzLnNwbGljZShpLCAxKTsKLSAgICAgICAgICAgIHVwKys7Ci0gICAgICAgICAg
fSBlbHNlIGlmICh1cCkgewotICAgICAgICAgICAgcGFydHMuc3BsaWNlKGksIDEpOwotICAgICAg
ICAgICAgdXAtLTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgLy8gaWYgdGhlIHBh
dGggaXMgYWxsb3dlZCB0byBnbyBhYm92ZSB0aGUgcm9vdCwgcmVzdG9yZSBsZWFkaW5nIC4ucwot
ICAgICAgICBpZiAoYWxsb3dBYm92ZVJvb3QpIHsKLSAgICAgICAgICBmb3IgKDsgdXAtLTsgdXAp
IHsKLSAgICAgICAgICAgIHBhcnRzLnVuc2hpZnQoJy4uJyk7Ci0gICAgICAgICAgfQotICAgICAg
ICB9Ci0gICAgICAgIHJldHVybiBwYXJ0czsKLSAgICAgIH0sbm9ybWFsaXplOmZ1bmN0aW9uIChw
YXRoKSB7Ci0gICAgICAgIHZhciBpc0Fic29sdXRlID0gcGF0aC5jaGFyQXQoMCkgPT09ICcvJywK
LSAgICAgICAgICAgIHRyYWlsaW5nU2xhc2ggPSBwYXRoLnN1YnN0cigtMSkgPT09ICcvJzsKLSAg
ICAgICAgLy8gTm9ybWFsaXplIHRoZSBwYXRoCi0gICAgICAgIHBhdGggPSBQQVRILm5vcm1hbGl6
ZUFycmF5KHBhdGguc3BsaXQoJy8nKS5maWx0ZXIoZnVuY3Rpb24ocCkgewotICAgICAgICAgIHJl
dHVybiAhIXA7Ci0gICAgICAgIH0pLCAhaXNBYnNvbHV0ZSkuam9pbignLycpOwotICAgICAgICBp
ZiAoIXBhdGggJiYgIWlzQWJzb2x1dGUpIHsKLSAgICAgICAgICBwYXRoID0gJy4nOwotICAgICAg
ICB9Ci0gICAgICAgIGlmIChwYXRoICYmIHRyYWlsaW5nU2xhc2gpIHsKLSAgICAgICAgICBwYXRo
ICs9ICcvJzsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gKGlzQWJzb2x1dGUgPyAnLycgOiAn
JykgKyBwYXRoOwotICAgICAgfSxkaXJuYW1lOmZ1bmN0aW9uIChwYXRoKSB7Ci0gICAgICAgIHZh
ciByZXN1bHQgPSBQQVRILnNwbGl0UGF0aChwYXRoKSwKLSAgICAgICAgICAgIHJvb3QgPSByZXN1
bHRbMF0sCi0gICAgICAgICAgICBkaXIgPSByZXN1bHRbMV07Ci0gICAgICAgIGlmICghcm9vdCAm
JiAhZGlyKSB7Ci0gICAgICAgICAgLy8gTm8gZGlybmFtZSB3aGF0c29ldmVyCi0gICAgICAgICAg
cmV0dXJuICcuJzsKLSAgICAgICAgfQotICAgICAgICBpZiAoZGlyKSB7Ci0gICAgICAgICAgLy8g
SXQgaGFzIGEgZGlybmFtZSwgc3RyaXAgdHJhaWxpbmcgc2xhc2gKLSAgICAgICAgICBkaXIgPSBk
aXIuc3Vic3RyKDAsIGRpci5sZW5ndGggLSAxKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4g
cm9vdCArIGRpcjsKLSAgICAgIH0sYmFzZW5hbWU6ZnVuY3Rpb24gKHBhdGgsIGV4dCkgewotICAg
ICAgICAvLyBFTVNDUklQVEVOIHJldHVybiAnLycnIGZvciAnLycsIG5vdCBhbiBlbXB0eSBzdHJp
bmcKLSAgICAgICAgaWYgKHBhdGggPT09ICcvJykgcmV0dXJuICcvJzsKLSAgICAgICAgdmFyIGYg
PSBQQVRILnNwbGl0UGF0aChwYXRoKVsyXTsKLSAgICAgICAgaWYgKGV4dCAmJiBmLnN1YnN0cigt
MSAqIGV4dC5sZW5ndGgpID09PSBleHQpIHsKLSAgICAgICAgICBmID0gZi5zdWJzdHIoMCwgZi5s
ZW5ndGggLSBleHQubGVuZ3RoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gZjsKLSAgICAg
IH0sam9pbjpmdW5jdGlvbiAoKSB7Ci0gICAgICAgIHZhciBwYXRocyA9IEFycmF5LnByb3RvdHlw
ZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMCk7Ci0gICAgICAgIHJldHVybiBQQVRILm5vcm1hbGl6
ZShwYXRocy5maWx0ZXIoZnVuY3Rpb24ocCwgaW5kZXgpIHsKLSAgICAgICAgICBpZiAodHlwZW9m
IHAgIT09ICdzdHJpbmcnKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1
bWVudHMgdG8gcGF0aC5qb2luIG11c3QgYmUgc3RyaW5ncycpOwotICAgICAgICAgIH0KLSAgICAg
ICAgICByZXR1cm4gcDsKLSAgICAgICAgfSkuam9pbignLycpKTsKLSAgICAgIH0scmVzb2x2ZTpm
dW5jdGlvbiAoKSB7Ci0gICAgICAgIHZhciByZXNvbHZlZFBhdGggPSAnJywKLSAgICAgICAgICBy
ZXNvbHZlZEFic29sdXRlID0gZmFsc2U7Ci0gICAgICAgIGZvciAodmFyIGkgPSBhcmd1bWVudHMu
bGVuZ3RoIC0gMTsgaSA+PSAtMSAmJiAhcmVzb2x2ZWRBYnNvbHV0ZTsgaS0tKSB7Ci0gICAgICAg
ICAgdmFyIHBhdGggPSAoaSA+PSAwKSA/IGFyZ3VtZW50c1tpXSA6IEZTLmN3ZCgpOwotICAgICAg
ICAgIC8vIFNraXAgZW1wdHkgYW5kIGludmFsaWQgZW50cmllcwotICAgICAgICAgIGlmICh0eXBl
b2YgcGF0aCAhPT0gJ3N0cmluZycpIHsKLSAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3Io
J0FyZ3VtZW50cyB0byBwYXRoLnJlc29sdmUgbXVzdCBiZSBzdHJpbmdzJyk7Ci0gICAgICAgICAg
fSBlbHNlIGlmICghcGF0aCkgewotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgfQot
ICAgICAgICAgIHJlc29sdmVkUGF0aCA9IHBhdGggKyAnLycgKyByZXNvbHZlZFBhdGg7Ci0gICAg
ICAgICAgcmVzb2x2ZWRBYnNvbHV0ZSA9IHBhdGguY2hhckF0KDApID09PSAnLyc7Ci0gICAgICAg
IH0KLSAgICAgICAgLy8gQXQgdGhpcyBwb2ludCB0aGUgcGF0aCBzaG91bGQgYmUgcmVzb2x2ZWQg
dG8gYSBmdWxsIGFic29sdXRlIHBhdGgsIGJ1dAotICAgICAgICAvLyBoYW5kbGUgcmVsYXRpdmUg
cGF0aHMgdG8gYmUgc2FmZSAobWlnaHQgaGFwcGVuIHdoZW4gcHJvY2Vzcy5jd2QoKSBmYWlscykK
LSAgICAgICAgcmVzb2x2ZWRQYXRoID0gUEFUSC5ub3JtYWxpemVBcnJheShyZXNvbHZlZFBhdGgu
c3BsaXQoJy8nKS5maWx0ZXIoZnVuY3Rpb24ocCkgewotICAgICAgICAgIHJldHVybiAhIXA7Ci0g
ICAgICAgIH0pLCAhcmVzb2x2ZWRBYnNvbHV0ZSkuam9pbignLycpOwotICAgICAgICByZXR1cm4g
KChyZXNvbHZlZEFic29sdXRlID8gJy8nIDogJycpICsgcmVzb2x2ZWRQYXRoKSB8fCAnLic7Ci0g
ICAgICB9LHJlbGF0aXZlOmZ1bmN0aW9uIChmcm9tLCB0bykgewotICAgICAgICBmcm9tID0gUEFU
SC5yZXNvbHZlKGZyb20pLnN1YnN0cigxKTsKLSAgICAgICAgdG8gPSBQQVRILnJlc29sdmUodG8p
LnN1YnN0cigxKTsKLSAgICAgICAgZnVuY3Rpb24gdHJpbShhcnIpIHsKLSAgICAgICAgICB2YXIg
c3RhcnQgPSAwOwotICAgICAgICAgIGZvciAoOyBzdGFydCA8IGFyci5sZW5ndGg7IHN0YXJ0Kysp
IHsKLSAgICAgICAgICAgIGlmIChhcnJbc3RhcnRdICE9PSAnJykgYnJlYWs7Ci0gICAgICAgICAg
fQotICAgICAgICAgIHZhciBlbmQgPSBhcnIubGVuZ3RoIC0gMTsKLSAgICAgICAgICBmb3IgKDsg
ZW5kID49IDA7IGVuZC0tKSB7Ci0gICAgICAgICAgICBpZiAoYXJyW2VuZF0gIT09ICcnKSBicmVh
azsKLSAgICAgICAgICB9Ci0gICAgICAgICAgaWYgKHN0YXJ0ID4gZW5kKSByZXR1cm4gW107Ci0g
ICAgICAgICAgcmV0dXJuIGFyci5zbGljZShzdGFydCwgZW5kIC0gc3RhcnQgKyAxKTsKLSAgICAg
ICAgfQotICAgICAgICB2YXIgZnJvbVBhcnRzID0gdHJpbShmcm9tLnNwbGl0KCcvJykpOwotICAg
ICAgICB2YXIgdG9QYXJ0cyA9IHRyaW0odG8uc3BsaXQoJy8nKSk7Ci0gICAgICAgIHZhciBsZW5n
dGggPSBNYXRoLm1pbihmcm9tUGFydHMubGVuZ3RoLCB0b1BhcnRzLmxlbmd0aCk7Ci0gICAgICAg
IHZhciBzYW1lUGFydHNMZW5ndGggPSBsZW5ndGg7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgbGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICBpZiAoZnJvbVBhcnRzW2ldICE9PSB0b1BhcnRz
W2ldKSB7Ci0gICAgICAgICAgICBzYW1lUGFydHNMZW5ndGggPSBpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIHZhciBvdXRwdXRQYXJ0cyA9IFtd
OwotICAgICAgICBmb3IgKHZhciBpID0gc2FtZVBhcnRzTGVuZ3RoOyBpIDwgZnJvbVBhcnRzLmxl
bmd0aDsgaSsrKSB7Ci0gICAgICAgICAgb3V0cHV0UGFydHMucHVzaCgnLi4nKTsKLSAgICAgICAg
fQotICAgICAgICBvdXRwdXRQYXJ0cyA9IG91dHB1dFBhcnRzLmNvbmNhdCh0b1BhcnRzLnNsaWNl
KHNhbWVQYXJ0c0xlbmd0aCkpOwotICAgICAgICByZXR1cm4gb3V0cHV0UGFydHMuam9pbignLycp
OwotICAgICAgfX07Ci0gIHZhciBUVFk9e3R0eXM6W10scmVnaXN0ZXI6ZnVuY3Rpb24gKGRldiwg
b3BzKSB7Ci0gICAgICAgIFRUWS50dHlzW2Rldl0gPSB7IGlucHV0OiBbXSwgb3V0cHV0OiBbXSwg
b3BzOiBvcHMgfTsKLSAgICAgICAgRlMucmVnaXN0ZXJEZXZpY2UoZGV2LCBUVFkuc3RyZWFtX29w
cyk7Ci0gICAgICB9LHN0cmVhbV9vcHM6e29wZW46ZnVuY3Rpb24gKHN0cmVhbSkgewotICAgICAg
ICAgIC8vIHRoaXMgd291bGRuJ3QgYmUgcmVxdWlyZWQgaWYgdGhlIGxpYnJhcnkgd2Fzbid0IGV2
YWwnZCBhdCBmaXJzdC4uLgotICAgICAgICAgIGlmICghVFRZLnV0ZjgpIHsKLSAgICAgICAgICAg
IFRUWS51dGY4ID0gbmV3IFJ1bnRpbWUuVVRGOFByb2Nlc3NvcigpOwotICAgICAgICAgIH0KLSAg
ICAgICAgICB2YXIgdHR5ID0gVFRZLnR0eXNbc3RyZWFtLm5vZGUucmRldl07Ci0gICAgICAgICAg
aWYgKCF0dHkpIHsKLSAgICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NP
REVTLkVOT0RFVik7Ci0gICAgICAgICAgfQotICAgICAgICAgIHN0cmVhbS50dHkgPSB0dHk7Ci0g
ICAgICAgICAgc3RyZWFtLnNlZWthYmxlID0gZmFsc2U7Ci0gICAgICAgIH0sY2xvc2U6ZnVuY3Rp
b24gKHN0cmVhbSkgewotICAgICAgICAgIC8vIGZsdXNoIGFueSBwZW5kaW5nIGxpbmUgZGF0YQot
ICAgICAgICAgIGlmIChzdHJlYW0udHR5Lm91dHB1dC5sZW5ndGgpIHsKLSAgICAgICAgICAgIHN0
cmVhbS50dHkub3BzLnB1dF9jaGFyKHN0cmVhbS50dHksIDEwKTsKLSAgICAgICAgICB9Ci0gICAg
ICAgIH0scmVhZDpmdW5jdGlvbiAoc3RyZWFtLCBidWZmZXIsIG9mZnNldCwgbGVuZ3RoLCBwb3Mg
LyogaWdub3JlZCAqLykgewotICAgICAgICAgIGlmICghc3RyZWFtLnR0eSB8fCAhc3RyZWFtLnR0
eS5vcHMuZ2V0X2NoYXIpIHsKLSAgICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVS
Uk5PX0NPREVTLkVOWElPKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgdmFyIGJ5dGVzUmVhZCA9
IDA7Ci0gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewotICAgICAg
ICAgICAgdmFyIHJlc3VsdDsKLSAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgIHJlc3Vs
dCA9IHN0cmVhbS50dHkub3BzLmdldF9jaGFyKHN0cmVhbS50dHkpOwotICAgICAgICAgICAgfSBj
YXRjaCAoZSkgewotICAgICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19D
T0RFUy5FSU8pOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gdW5k
ZWZpbmVkICYmIGJ5dGVzUmVhZCA9PT0gMCkgewotICAgICAgICAgICAgICB0aHJvdyBuZXcgRlMu
RXJybm9FcnJvcihFUlJOT19DT0RFUy5FQUdBSU4pOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgaWYgKHJlc3VsdCA9PT0gbnVsbCB8fCByZXN1bHQgPT09IHVuZGVmaW5lZCkgYnJlYWs7Ci0g
ICAgICAgICAgICBieXRlc1JlYWQrKzsKLSAgICAgICAgICAgIGJ1ZmZlcltvZmZzZXQraV0gPSBy
ZXN1bHQ7Ci0gICAgICAgICAgfQotICAgICAgICAgIGlmIChieXRlc1JlYWQpIHsKLSAgICAgICAg
ICAgIHN0cmVhbS5ub2RlLnRpbWVzdGFtcCA9IERhdGUubm93KCk7Ci0gICAgICAgICAgfQotICAg
ICAgICAgIHJldHVybiBieXRlc1JlYWQ7Ci0gICAgICAgIH0sd3JpdGU6ZnVuY3Rpb24gKHN0cmVh
bSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0aCwgcG9zKSB7Ci0gICAgICAgICAgaWYgKCFzdHJlYW0u
dHR5IHx8ICFzdHJlYW0udHR5Lm9wcy5wdXRfY2hhcikgewotICAgICAgICAgICAgdGhyb3cgbmV3
IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5YSU8pOwotICAgICAgICAgIH0KLSAgICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICB0cnkgewot
ICAgICAgICAgICAgICBzdHJlYW0udHR5Lm9wcy5wdXRfY2hhcihzdHJlYW0udHR5LCBidWZmZXJb
b2Zmc2V0K2ldKTsKLSAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgdGhy
b3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlPKTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICB9Ci0gICAgICAgICAgaWYgKGxlbmd0aCkgewotICAgICAgICAgICAgc3RyZWFtLm5v
ZGUudGltZXN0YW1wID0gRGF0ZS5ub3coKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgcmV0dXJu
IGk7Ci0gICAgICAgIH19LGRlZmF1bHRfdHR5X29wczp7Z2V0X2NoYXI6ZnVuY3Rpb24gKHR0eSkg
ewotICAgICAgICAgIGlmICghdHR5LmlucHV0Lmxlbmd0aCkgewotICAgICAgICAgICAgdmFyIHJl
c3VsdCA9IG51bGw7Ci0gICAgICAgICAgICBpZiAoRU5WSVJPTk1FTlRfSVNfTk9ERSkgewotICAg
ICAgICAgICAgICBpZiAocHJvY2Vzcy5zdGRpbi5kZXN0cm95ZWQpIHsKLSAgICAgICAgICAgICAg
ICByZXR1cm4gdW5kZWZpbmVkOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIHJlc3Vs
dCA9IHByb2Nlc3Muc3RkaW4ucmVhZCgpOwotICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2Yg
d2luZG93ICE9ICd1bmRlZmluZWQnICYmCi0gICAgICAgICAgICAgIHR5cGVvZiB3aW5kb3cucHJv
bXB0ID09ICdmdW5jdGlvbicpIHsKLSAgICAgICAgICAgICAgLy8gQnJvd3Nlci4KLSAgICAgICAg
ICAgICAgcmVzdWx0ID0gd2luZG93LnByb21wdCgnSW5wdXQ6ICcpOyAgLy8gcmV0dXJucyBudWxs
IG9uIGNhbmNlbAotICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7Ci0gICAgICAg
ICAgICAgICAgcmVzdWx0ICs9ICdcbic7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0g
ZWxzZSBpZiAodHlwZW9mIHJlYWRsaW5lID09ICdmdW5jdGlvbicpIHsKLSAgICAgICAgICAgICAg
Ly8gQ29tbWFuZCBsaW5lLgotICAgICAgICAgICAgICByZXN1bHQgPSByZWFkbGluZSgpOwotICAg
ICAgICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7Ci0gICAgICAgICAgICAgICAgcmVzdWx0
ICs9ICdcbic7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlm
ICghcmVzdWx0KSB7Ci0gICAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgdHR5LmlucHV0ID0gaW50QXJyYXlGcm9tU3RyaW5nKHJlc3VsdCwgdHJ1ZSk7
Ci0gICAgICAgICAgfQotICAgICAgICAgIHJldHVybiB0dHkuaW5wdXQuc2hpZnQoKTsKLSAgICAg
ICAgfSxwdXRfY2hhcjpmdW5jdGlvbiAodHR5LCB2YWwpIHsKLSAgICAgICAgICBpZiAodmFsID09
PSBudWxsIHx8IHZhbCA9PT0gMTApIHsKLSAgICAgICAgICAgIE1vZHVsZVsncHJpbnQnXSh0dHku
b3V0cHV0LmpvaW4oJycpKTsKLSAgICAgICAgICAgIHR0eS5vdXRwdXQgPSBbXTsKLSAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgdHR5Lm91dHB1dC5wdXNoKFRUWS51dGY4LnByb2Nlc3ND
Q2hhcih2YWwpKTsKLSAgICAgICAgICB9Ci0gICAgICAgIH19LGRlZmF1bHRfdHR5MV9vcHM6e3B1
dF9jaGFyOmZ1bmN0aW9uICh0dHksIHZhbCkgewotICAgICAgICAgIGlmICh2YWwgPT09IG51bGwg
fHwgdmFsID09PSAxMCkgewotICAgICAgICAgICAgTW9kdWxlWydwcmludEVyciddKHR0eS5vdXRw
dXQuam9pbignJykpOwotICAgICAgICAgICAgdHR5Lm91dHB1dCA9IFtdOwotICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICB0dHkub3V0cHV0LnB1c2goVFRZLnV0ZjgucHJvY2Vzc0NDaGFy
KHZhbCkpOwotICAgICAgICAgIH0KLSAgICAgICAgfX19OwotICB2YXIgTUVNRlM9e21vdW50OmZ1
bmN0aW9uIChtb3VudCkgewotICAgICAgICByZXR1cm4gTUVNRlMuY3JlYXRlX25vZGUobnVsbCwg
Jy8nLCAwMDQwMDAwIHwgMDc3NywgMCk7Ci0gICAgICB9LGNyZWF0ZV9ub2RlOmZ1bmN0aW9uIChw
YXJlbnQsIG5hbWUsIG1vZGUsIGRldikgewotICAgICAgICBpZiAoRlMuaXNCbGtkZXYobW9kZSkg
fHwgRlMuaXNGSUZPKG1vZGUpKSB7Ci0gICAgICAgICAgLy8gbm8gc3VwcG9ydGVkCi0gICAgICAg
ICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRVBFUk0pOwotICAgICAgICB9
Ci0gICAgICAgIHZhciBub2RlID0gRlMuY3JlYXRlTm9kZShwYXJlbnQsIG5hbWUsIG1vZGUsIGRl
dik7Ci0gICAgICAgIGlmIChGUy5pc0Rpcihub2RlLm1vZGUpKSB7Ci0gICAgICAgICAgbm9kZS5u
b2RlX29wcyA9IHsKLSAgICAgICAgICAgIGdldGF0dHI6IE1FTUZTLm5vZGVfb3BzLmdldGF0dHIs
Ci0gICAgICAgICAgICBzZXRhdHRyOiBNRU1GUy5ub2RlX29wcy5zZXRhdHRyLAotICAgICAgICAg
ICAgbG9va3VwOiBNRU1GUy5ub2RlX29wcy5sb29rdXAsCi0gICAgICAgICAgICBta25vZDogTUVN
RlMubm9kZV9vcHMubWtub2QsCi0gICAgICAgICAgICBta25vZDogTUVNRlMubm9kZV9vcHMubWtu
b2QsCi0gICAgICAgICAgICByZW5hbWU6IE1FTUZTLm5vZGVfb3BzLnJlbmFtZSwKLSAgICAgICAg
ICAgIHVubGluazogTUVNRlMubm9kZV9vcHMudW5saW5rLAotICAgICAgICAgICAgcm1kaXI6IE1F
TUZTLm5vZGVfb3BzLnJtZGlyLAotICAgICAgICAgICAgcmVhZGRpcjogTUVNRlMubm9kZV9vcHMu
cmVhZGRpciwKLSAgICAgICAgICAgIHN5bWxpbms6IE1FTUZTLm5vZGVfb3BzLnN5bWxpbmsKLSAg
ICAgICAgICB9OwotICAgICAgICAgIG5vZGUuc3RyZWFtX29wcyA9IHsKLSAgICAgICAgICAgIGxs
c2VlazogTUVNRlMuc3RyZWFtX29wcy5sbHNlZWsKLSAgICAgICAgICB9OwotICAgICAgICAgIG5v
ZGUuY29udGVudHMgPSB7fTsKLSAgICAgICAgfSBlbHNlIGlmIChGUy5pc0ZpbGUobm9kZS5tb2Rl
KSkgewotICAgICAgICAgIG5vZGUubm9kZV9vcHMgPSB7Ci0gICAgICAgICAgICBnZXRhdHRyOiBN
RU1GUy5ub2RlX29wcy5nZXRhdHRyLAotICAgICAgICAgICAgc2V0YXR0cjogTUVNRlMubm9kZV9v
cHMuc2V0YXR0cgotICAgICAgICAgIH07Ci0gICAgICAgICAgbm9kZS5zdHJlYW1fb3BzID0gewot
ICAgICAgICAgICAgbGxzZWVrOiBNRU1GUy5zdHJlYW1fb3BzLmxsc2VlaywKLSAgICAgICAgICAg
IHJlYWQ6IE1FTUZTLnN0cmVhbV9vcHMucmVhZCwKLSAgICAgICAgICAgIHdyaXRlOiBNRU1GUy5z
dHJlYW1fb3BzLndyaXRlLAotICAgICAgICAgICAgYWxsb2NhdGU6IE1FTUZTLnN0cmVhbV9vcHMu
YWxsb2NhdGUsCi0gICAgICAgICAgICBtbWFwOiBNRU1GUy5zdHJlYW1fb3BzLm1tYXAKLSAgICAg
ICAgICB9OwotICAgICAgICAgIG5vZGUuY29udGVudHMgPSBbXTsKLSAgICAgICAgfSBlbHNlIGlm
IChGUy5pc0xpbmsobm9kZS5tb2RlKSkgewotICAgICAgICAgIG5vZGUubm9kZV9vcHMgPSB7Ci0g
ICAgICAgICAgICBnZXRhdHRyOiBNRU1GUy5ub2RlX29wcy5nZXRhdHRyLAotICAgICAgICAgICAg
c2V0YXR0cjogTUVNRlMubm9kZV9vcHMuc2V0YXR0ciwKLSAgICAgICAgICAgIHJlYWRsaW5rOiBN
RU1GUy5ub2RlX29wcy5yZWFkbGluawotICAgICAgICAgIH07Ci0gICAgICAgICAgbm9kZS5zdHJl
YW1fb3BzID0ge307Ci0gICAgICAgIH0gZWxzZSBpZiAoRlMuaXNDaHJkZXYobm9kZS5tb2RlKSkg
ewotICAgICAgICAgIG5vZGUubm9kZV9vcHMgPSB7Ci0gICAgICAgICAgICBnZXRhdHRyOiBNRU1G
Uy5ub2RlX29wcy5nZXRhdHRyLAotICAgICAgICAgICAgc2V0YXR0cjogTUVNRlMubm9kZV9vcHMu
c2V0YXR0cgotICAgICAgICAgIH07Ci0gICAgICAgICAgbm9kZS5zdHJlYW1fb3BzID0gRlMuY2hy
ZGV2X3N0cmVhbV9vcHM7Ci0gICAgICAgIH0KLSAgICAgICAgbm9kZS50aW1lc3RhbXAgPSBEYXRl
Lm5vdygpOwotICAgICAgICAvLyBhZGQgdGhlIG5ldyBub2RlIHRvIHRoZSBwYXJlbnQKLSAgICAg
ICAgaWYgKHBhcmVudCkgewotICAgICAgICAgIHBhcmVudC5jb250ZW50c1tuYW1lXSA9IG5vZGU7
Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG5vZGU7Ci0gICAgICB9LG5vZGVfb3BzOntnZXRh
dHRyOmZ1bmN0aW9uIChub2RlKSB7Ci0gICAgICAgICAgdmFyIGF0dHIgPSB7fTsKLSAgICAgICAg
ICAvLyBkZXZpY2UgbnVtYmVycyByZXVzZSBpbm9kZSBudW1iZXJzLgotICAgICAgICAgIGF0dHIu
ZGV2ID0gRlMuaXNDaHJkZXYobm9kZS5tb2RlKSA/IG5vZGUuaWQgOiAxOwotICAgICAgICAgIGF0
dHIuaW5vID0gbm9kZS5pZDsKLSAgICAgICAgICBhdHRyLm1vZGUgPSBub2RlLm1vZGU7Ci0gICAg
ICAgICAgYXR0ci5ubGluayA9IDE7Ci0gICAgICAgICAgYXR0ci51aWQgPSAwOwotICAgICAgICAg
IGF0dHIuZ2lkID0gMDsKLSAgICAgICAgICBhdHRyLnJkZXYgPSBub2RlLnJkZXY7Ci0gICAgICAg
ICAgaWYgKEZTLmlzRGlyKG5vZGUubW9kZSkpIHsKLSAgICAgICAgICAgIGF0dHIuc2l6ZSA9IDQw
OTY7Ci0gICAgICAgICAgfSBlbHNlIGlmIChGUy5pc0ZpbGUobm9kZS5tb2RlKSkgewotICAgICAg
ICAgICAgYXR0ci5zaXplID0gbm9kZS5jb250ZW50cy5sZW5ndGg7Ci0gICAgICAgICAgfSBlbHNl
IGlmIChGUy5pc0xpbmsobm9kZS5tb2RlKSkgewotICAgICAgICAgICAgYXR0ci5zaXplID0gbm9k
ZS5saW5rLmxlbmd0aDsKLSAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgYXR0ci5zaXpl
ID0gMDsKLSAgICAgICAgICB9Ci0gICAgICAgICAgYXR0ci5hdGltZSA9IG5ldyBEYXRlKG5vZGUu
dGltZXN0YW1wKTsKLSAgICAgICAgICBhdHRyLm10aW1lID0gbmV3IERhdGUobm9kZS50aW1lc3Rh
bXApOwotICAgICAgICAgIGF0dHIuY3RpbWUgPSBuZXcgRGF0ZShub2RlLnRpbWVzdGFtcCk7Ci0g
ICAgICAgICAgLy8gTk9URTogSW4gb3VyIGltcGxlbWVudGF0aW9uLCBzdF9ibG9ja3MgPSBNYXRo
LmNlaWwoc3Rfc2l6ZS9zdF9ibGtzaXplKSwKLSAgICAgICAgICAvLyAgICAgICBidXQgdGhpcyBp
cyBub3QgcmVxdWlyZWQgYnkgdGhlIHN0YW5kYXJkLgotICAgICAgICAgIGF0dHIuYmxrc2l6ZSA9
IDQwOTY7Ci0gICAgICAgICAgYXR0ci5ibG9ja3MgPSBNYXRoLmNlaWwoYXR0ci5zaXplIC8gYXR0
ci5ibGtzaXplKTsKLSAgICAgICAgICByZXR1cm4gYXR0cjsKLSAgICAgICAgfSxzZXRhdHRyOmZ1
bmN0aW9uIChub2RlLCBhdHRyKSB7Ci0gICAgICAgICAgaWYgKGF0dHIubW9kZSAhPT0gdW5kZWZp
bmVkKSB7Ci0gICAgICAgICAgICBub2RlLm1vZGUgPSBhdHRyLm1vZGU7Ci0gICAgICAgICAgfQot
ICAgICAgICAgIGlmIChhdHRyLnRpbWVzdGFtcCAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgICAg
ICBub2RlLnRpbWVzdGFtcCA9IGF0dHIudGltZXN0YW1wOwotICAgICAgICAgIH0KLSAgICAgICAg
ICBpZiAoYXR0ci5zaXplICE9PSB1bmRlZmluZWQpIHsKLSAgICAgICAgICAgIHZhciBjb250ZW50
cyA9IG5vZGUuY29udGVudHM7Ci0gICAgICAgICAgICBpZiAoYXR0ci5zaXplIDwgY29udGVudHMu
bGVuZ3RoKSBjb250ZW50cy5sZW5ndGggPSBhdHRyLnNpemU7Ci0gICAgICAgICAgICBlbHNlIHdo
aWxlIChhdHRyLnNpemUgPiBjb250ZW50cy5sZW5ndGgpIGNvbnRlbnRzLnB1c2goMCk7Ci0gICAg
ICAgICAgfQotICAgICAgICB9LGxvb2t1cDpmdW5jdGlvbiAocGFyZW50LCBuYW1lKSB7Ci0gICAg
ICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PRU5UKTsKLSAgICAg
ICAgfSxta25vZDpmdW5jdGlvbiAocGFyZW50LCBuYW1lLCBtb2RlLCBkZXYpIHsKLSAgICAgICAg
ICByZXR1cm4gTUVNRlMuY3JlYXRlX25vZGUocGFyZW50LCBuYW1lLCBtb2RlLCBkZXYpOwotICAg
ICAgICB9LHJlbmFtZTpmdW5jdGlvbiAob2xkX25vZGUsIG5ld19kaXIsIG5ld19uYW1lKSB7Ci0g
ICAgICAgICAgLy8gaWYgd2UncmUgb3ZlcndyaXRpbmcgYSBkaXJlY3RvcnkgYXQgbmV3X25hbWUs
IG1ha2Ugc3VyZSBpdCdzIGVtcHR5LgotICAgICAgICAgIGlmIChGUy5pc0RpcihvbGRfbm9kZS5t
b2RlKSkgewotICAgICAgICAgICAgdmFyIG5ld19ub2RlOwotICAgICAgICAgICAgdHJ5IHsKLSAg
ICAgICAgICAgICAgbmV3X25vZGUgPSBGUy5sb29rdXBOb2RlKG5ld19kaXIsIG5ld19uYW1lKTsK
LSAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlm
IChuZXdfbm9kZSkgewotICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIG5ld19ub2RlLmNvbnRl
bnRzKSB7Ci0gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09E
RVMuRU5PVEVNUFRZKTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAg
IH0KLSAgICAgICAgICAvLyBkbyB0aGUgaW50ZXJuYWwgcmV3aXJpbmcKLSAgICAgICAgICBkZWxl
dGUgb2xkX25vZGUucGFyZW50LmNvbnRlbnRzW29sZF9ub2RlLm5hbWVdOwotICAgICAgICAgIG9s
ZF9ub2RlLm5hbWUgPSBuZXdfbmFtZTsKLSAgICAgICAgICBuZXdfZGlyLmNvbnRlbnRzW25ld19u
YW1lXSA9IG9sZF9ub2RlOwotICAgICAgICB9LHVubGluazpmdW5jdGlvbiAocGFyZW50LCBuYW1l
KSB7Ci0gICAgICAgICAgZGVsZXRlIHBhcmVudC5jb250ZW50c1tuYW1lXTsKLSAgICAgICAgfSxy
bWRpcjpmdW5jdGlvbiAocGFyZW50LCBuYW1lKSB7Ci0gICAgICAgICAgdmFyIG5vZGUgPSBGUy5s
b29rdXBOb2RlKHBhcmVudCwgbmFtZSk7Ci0gICAgICAgICAgZm9yICh2YXIgaSBpbiBub2RlLmNv
bnRlbnRzKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RF
Uy5FTk9URU1QVFkpOwotICAgICAgICAgIH0KLSAgICAgICAgICBkZWxldGUgcGFyZW50LmNvbnRl
bnRzW25hbWVdOwotICAgICAgICB9LHJlYWRkaXI6ZnVuY3Rpb24gKG5vZGUpIHsKLSAgICAgICAg
ICB2YXIgZW50cmllcyA9IFsnLicsICcuLiddCi0gICAgICAgICAgZm9yICh2YXIga2V5IGluIG5v
ZGUuY29udGVudHMpIHsKLSAgICAgICAgICAgIGlmICghbm9kZS5jb250ZW50cy5oYXNPd25Qcm9w
ZXJ0eShrZXkpKSB7Ci0gICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgZW50cmllcy5wdXNoKGtleSk7Ci0gICAgICAgICAgfQotICAgICAgICAgIHJldHVy
biBlbnRyaWVzOwotICAgICAgICB9LHN5bWxpbms6ZnVuY3Rpb24gKHBhcmVudCwgbmV3bmFtZSwg
b2xkcGF0aCkgewotICAgICAgICAgIHZhciBub2RlID0gTUVNRlMuY3JlYXRlX25vZGUocGFyZW50
LCBuZXduYW1lLCAwNzc3IHwgMDEyMDAwMCwgMCk7Ci0gICAgICAgICAgbm9kZS5saW5rID0gb2xk
cGF0aDsKLSAgICAgICAgICByZXR1cm4gbm9kZTsKLSAgICAgICAgfSxyZWFkbGluazpmdW5jdGlv
biAobm9kZSkgewotICAgICAgICAgIGlmICghRlMuaXNMaW5rKG5vZGUubW9kZSkpIHsKLSAgICAg
ICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTlZBTCk7Ci0gICAg
ICAgICAgfQotICAgICAgICAgIHJldHVybiBub2RlLmxpbms7Ci0gICAgICAgIH19LHN0cmVhbV9v
cHM6e3JlYWQ6ZnVuY3Rpb24gKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0aCwgcG9zaXRp
b24pIHsKLSAgICAgICAgICB2YXIgY29udGVudHMgPSBzdHJlYW0ubm9kZS5jb250ZW50czsKLSAg
ICAgICAgICB2YXIgc2l6ZSA9IE1hdGgubWluKGNvbnRlbnRzLmxlbmd0aCAtIHBvc2l0aW9uLCBs
ZW5ndGgpOwotICAgICAgICAgIGlmIChjb250ZW50cy5zdWJhcnJheSkgeyAvLyB0eXBlZCBhcnJh
eQotICAgICAgICAgICAgYnVmZmVyLnNldChjb250ZW50cy5zdWJhcnJheShwb3NpdGlvbiwgcG9z
aXRpb24gKyBzaXplKSwgb2Zmc2V0KTsKLSAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICB7Ci0g
ICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNpemU7IGkrKykgewotICAgICAgICAgICAg
ICBidWZmZXJbb2Zmc2V0ICsgaV0gPSBjb250ZW50c1twb3NpdGlvbiArIGldOwotICAgICAgICAg
ICAgfQotICAgICAgICAgIH0KLSAgICAgICAgICByZXR1cm4gc2l6ZTsKLSAgICAgICAgfSx3cml0
ZTpmdW5jdGlvbiAoc3RyZWFtLCBidWZmZXIsIG9mZnNldCwgbGVuZ3RoLCBwb3NpdGlvbikgewot
ICAgICAgICAgIHZhciBjb250ZW50cyA9IHN0cmVhbS5ub2RlLmNvbnRlbnRzOwotICAgICAgICAg
IHdoaWxlIChjb250ZW50cy5sZW5ndGggPCBwb3NpdGlvbikgY29udGVudHMucHVzaCgwKTsKLSAg
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICBj
b250ZW50c1twb3NpdGlvbiArIGldID0gYnVmZmVyW29mZnNldCArIGldOwotICAgICAgICAgIH0K
LSAgICAgICAgICBzdHJlYW0ubm9kZS50aW1lc3RhbXAgPSBEYXRlLm5vdygpOwotICAgICAgICAg
IHJldHVybiBsZW5ndGg7Ci0gICAgICAgIH0sbGxzZWVrOmZ1bmN0aW9uIChzdHJlYW0sIG9mZnNl
dCwgd2hlbmNlKSB7Ci0gICAgICAgICAgdmFyIHBvc2l0aW9uID0gb2Zmc2V0OwotICAgICAgICAg
IGlmICh3aGVuY2UgPT09IDEpIHsgIC8vIFNFRUtfQ1VSLgotICAgICAgICAgICAgcG9zaXRpb24g
Kz0gc3RyZWFtLnBvc2l0aW9uOwotICAgICAgICAgIH0gZWxzZSBpZiAod2hlbmNlID09PSAyKSB7
ICAvLyBTRUVLX0VORC4KLSAgICAgICAgICAgIGlmIChGUy5pc0ZpbGUoc3RyZWFtLm5vZGUubW9k
ZSkpIHsKLSAgICAgICAgICAgICAgcG9zaXRpb24gKz0gc3RyZWFtLm5vZGUuY29udGVudHMubGVu
Z3RoOwotICAgICAgICAgICAgfQotICAgICAgICAgIH0KLSAgICAgICAgICBpZiAocG9zaXRpb24g
PCAwKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5F
SU5WQUwpOwotICAgICAgICAgIH0KLSAgICAgICAgICBzdHJlYW0udW5nb3R0ZW4gPSBbXTsKLSAg
ICAgICAgICBzdHJlYW0ucG9zaXRpb24gPSBwb3NpdGlvbjsKLSAgICAgICAgICByZXR1cm4gcG9z
aXRpb247Ci0gICAgICAgIH0sYWxsb2NhdGU6ZnVuY3Rpb24gKHN0cmVhbSwgb2Zmc2V0LCBsZW5n
dGgpIHsKLSAgICAgICAgICB2YXIgY29udGVudHMgPSBzdHJlYW0ubm9kZS5jb250ZW50czsKLSAg
ICAgICAgICB2YXIgbGltaXQgPSBvZmZzZXQgKyBsZW5ndGg7Ci0gICAgICAgICAgd2hpbGUgKGxp
bWl0ID4gY29udGVudHMubGVuZ3RoKSBjb250ZW50cy5wdXNoKDApOwotICAgICAgICB9LG1tYXA6
ZnVuY3Rpb24gKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0aCwgcG9zaXRpb24sIHByb3Qs
IGZsYWdzKSB7Ci0gICAgICAgICAgaWYgKCFGUy5pc0ZpbGUoc3RyZWFtLm5vZGUubW9kZSkpIHsK
LSAgICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0RFVik7
Ci0gICAgICAgICAgfQotICAgICAgICAgIHZhciBwdHI7Ci0gICAgICAgICAgdmFyIGFsbG9jYXRl
ZDsKLSAgICAgICAgICB2YXIgY29udGVudHMgPSBzdHJlYW0ubm9kZS5jb250ZW50czsKLSAgICAg
ICAgICAvLyBPbmx5IG1ha2UgYSBuZXcgY29weSB3aGVuIE1BUF9QUklWQVRFIGlzIHNwZWNpZmll
ZC4KLSAgICAgICAgICBpZiAoIShmbGFncyAmIDB4MDIpKSB7Ci0gICAgICAgICAgICAvLyBXZSBj
YW4ndCBlbXVsYXRlIE1BUF9TSEFSRUQgd2hlbiB0aGUgZmlsZSBpcyBub3QgYmFja2VkIGJ5IHRo
ZSBidWZmZXIKLSAgICAgICAgICAgIC8vIHdlJ3JlIG1hcHBpbmcgdG8gKGUuZy4gdGhlIEhFQVAg
YnVmZmVyKS4KLSAgICAgICAgICAgIGFzc2VydChjb250ZW50cy5idWZmZXIgPT09IGJ1ZmZlciB8
fCBjb250ZW50cy5idWZmZXIgPT09IGJ1ZmZlci5idWZmZXIpOwotICAgICAgICAgICAgYWxsb2Nh
dGVkID0gZmFsc2U7Ci0gICAgICAgICAgICBwdHIgPSBjb250ZW50cy5ieXRlT2Zmc2V0OwotICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBUcnkgdG8gYXZvaWQgdW5uZWNlc3Nhcnkg
c2xpY2VzLgotICAgICAgICAgICAgaWYgKHBvc2l0aW9uID4gMCB8fCBwb3NpdGlvbiArIGxlbmd0
aCA8IGNvbnRlbnRzLmxlbmd0aCkgewotICAgICAgICAgICAgICBpZiAoY29udGVudHMuc3ViYXJy
YXkpIHsKLSAgICAgICAgICAgICAgICBjb250ZW50cyA9IGNvbnRlbnRzLnN1YmFycmF5KHBvc2l0
aW9uLCBwb3NpdGlvbiArIGxlbmd0aCk7Ci0gICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgY29udGVudHMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjb250ZW50cywg
cG9zaXRpb24sIHBvc2l0aW9uICsgbGVuZ3RoKTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgYWxsb2NhdGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIHB0ciA9IF9t
YWxsb2MobGVuZ3RoKTsKLSAgICAgICAgICAgIGlmICghcHRyKSB7Ci0gICAgICAgICAgICAgIHRo
cm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT01FTSk7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBidWZmZXIuc2V0KGNvbnRlbnRzLCBwdHIpOwotICAgICAgICAgIH0KLSAg
ICAgICAgICByZXR1cm4geyBwdHI6IHB0ciwgYWxsb2NhdGVkOiBhbGxvY2F0ZWQgfTsKLSAgICAg
ICAgfX19OwotICB2YXIgX3N0ZGluPWFsbG9jYXRlKDEsICJpMzIqIiwgQUxMT0NfU1RBVElDKTsK
LSAgdmFyIF9zdGRvdXQ9YWxsb2NhdGUoMSwgImkzMioiLCBBTExPQ19TVEFUSUMpOwotICB2YXIg
X3N0ZGVycj1hbGxvY2F0ZSgxLCAiaTMyKiIsIEFMTE9DX1NUQVRJQyk7Ci0gIGZ1bmN0aW9uIF9m
Zmx1c2goc3RyZWFtKSB7Ci0gICAgICAvLyBpbnQgZmZsdXNoKEZJTEUgKnN0cmVhbSk7Ci0gICAg
ICAvLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDAwMDk1Mzk5L2Z1bmN0
aW9ucy9mZmx1c2guaHRtbAotICAgICAgLy8gd2UgZG9uJ3QgY3VycmVudGx5IHBlcmZvcm0gYW55
IHVzZXItc3BhY2UgYnVmZmVyaW5nIG9mIGRhdGEKLSAgICB9dmFyIEZTPXtyb290Om51bGwsbm9k
ZXM6W251bGxdLGRldmljZXM6W251bGxdLHN0cmVhbXM6W251bGxdLG5leHRJbm9kZToxLG5hbWVf
dGFibGU6bnVsbCxjdXJyZW50UGF0aDoiLyIsaW5pdGlhbGl6ZWQ6ZmFsc2UsaWdub3JlUGVybWlz
c2lvbnM6dHJ1ZSxFcnJub0Vycm9yOmZ1bmN0aW9uIEVycm5vRXJyb3IoZXJybm8pIHsKLSAgICAg
ICAgICB0aGlzLmVycm5vID0gZXJybm87Ci0gICAgICAgICAgZm9yICh2YXIga2V5IGluIEVSUk5P
X0NPREVTKSB7Ci0gICAgICAgICAgICBpZiAoRVJSTk9fQ09ERVNba2V5XSA9PT0gZXJybm8pIHsK
LSAgICAgICAgICAgICAgdGhpcy5jb2RlID0ga2V5OwotICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICB9Ci0gICAgICAgICAgdGhpcy5tZXNzYWdlID0gRVJSTk9f
TUVTU0FHRVNbZXJybm9dOwotICAgICAgICB9LGhhbmRsZUZTRXJyb3I6ZnVuY3Rpb24gKGUpIHsK
LSAgICAgICAgaWYgKCEoZSBpbnN0YW5jZW9mIEZTLkVycm5vRXJyb3IpKSB0aHJvdyBlICsgJyA6
ICcgKyBuZXcgRXJyb3IoKS5zdGFjazsKLSAgICAgICAgcmV0dXJuIF9fX3NldEVyck5vKGUuZXJy
bm8pOwotICAgICAgfSxoYXNoTmFtZTpmdW5jdGlvbiAocGFyZW50aWQsIG5hbWUpIHsKLSAgICAg
ICAgdmFyIGhhc2ggPSAwOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5hbWUubGVuZ3Ro
OyBpKyspIHsKLSAgICAgICAgICBoYXNoID0gKChoYXNoIDw8IDUpIC0gaGFzaCArIG5hbWUuY2hh
ckNvZGVBdChpKSkgfCAwOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiAoKHBhcmVudGlkICsg
aGFzaCkgPj4+IDApICUgRlMubmFtZV90YWJsZS5sZW5ndGg7Ci0gICAgICB9LGhhc2hBZGROb2Rl
OmZ1bmN0aW9uIChub2RlKSB7Ci0gICAgICAgIHZhciBoYXNoID0gRlMuaGFzaE5hbWUobm9kZS5w
YXJlbnQuaWQsIG5vZGUubmFtZSk7Ci0gICAgICAgIG5vZGUubmFtZV9uZXh0ID0gRlMubmFtZV90
YWJsZVtoYXNoXTsKLSAgICAgICAgRlMubmFtZV90YWJsZVtoYXNoXSA9IG5vZGU7Ci0gICAgICB9
LGhhc2hSZW1vdmVOb2RlOmZ1bmN0aW9uIChub2RlKSB7Ci0gICAgICAgIHZhciBoYXNoID0gRlMu
aGFzaE5hbWUobm9kZS5wYXJlbnQuaWQsIG5vZGUubmFtZSk7Ci0gICAgICAgIGlmIChGUy5uYW1l
X3RhYmxlW2hhc2hdID09PSBub2RlKSB7Ci0gICAgICAgICAgRlMubmFtZV90YWJsZVtoYXNoXSA9
IG5vZGUubmFtZV9uZXh0OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIHZhciBjdXJyZW50
ID0gRlMubmFtZV90YWJsZVtoYXNoXTsKLSAgICAgICAgICB3aGlsZSAoY3VycmVudCkgewotICAg
ICAgICAgICAgaWYgKGN1cnJlbnQubmFtZV9uZXh0ID09PSBub2RlKSB7Ci0gICAgICAgICAgICAg
IGN1cnJlbnQubmFtZV9uZXh0ID0gbm9kZS5uYW1lX25leHQ7Ci0gICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQubmFtZV9uZXh0
OwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfSxsb29rdXBOb2RlOmZ1bmN0aW9uIChw
YXJlbnQsIG5hbWUpIHsKLSAgICAgICAgdmFyIGVyciA9IEZTLm1heUxvb2t1cChwYXJlbnQpOwot
ICAgICAgICBpZiAoZXJyKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoZXJy
KTsKLSAgICAgICAgfQotICAgICAgICB2YXIgaGFzaCA9IEZTLmhhc2hOYW1lKHBhcmVudC5pZCwg
bmFtZSk7Ci0gICAgICAgIGZvciAodmFyIG5vZGUgPSBGUy5uYW1lX3RhYmxlW2hhc2hdOyBub2Rl
OyBub2RlID0gbm9kZS5uYW1lX25leHQpIHsKLSAgICAgICAgICBpZiAobm9kZS5wYXJlbnQuaWQg
PT09IHBhcmVudC5pZCAmJiBub2RlLm5hbWUgPT09IG5hbWUpIHsKLSAgICAgICAgICAgIHJldHVy
biBub2RlOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICAvLyBpZiB3ZSBmYWlsZWQg
dG8gZmluZCBpdCBpbiB0aGUgY2FjaGUsIGNhbGwgaW50byB0aGUgVkZTCi0gICAgICAgIHJldHVy
biBGUy5sb29rdXAocGFyZW50LCBuYW1lKTsKLSAgICAgIH0sY3JlYXRlTm9kZTpmdW5jdGlvbiAo
cGFyZW50LCBuYW1lLCBtb2RlLCByZGV2KSB7Ci0gICAgICAgIHZhciBub2RlID0gewotICAgICAg
ICAgIGlkOiBGUy5uZXh0SW5vZGUrKywKLSAgICAgICAgICBuYW1lOiBuYW1lLAotICAgICAgICAg
IG1vZGU6IG1vZGUsCi0gICAgICAgICAgbm9kZV9vcHM6IHt9LAotICAgICAgICAgIHN0cmVhbV9v
cHM6IHt9LAotICAgICAgICAgIHJkZXY6IHJkZXYsCi0gICAgICAgICAgcGFyZW50OiBudWxsLAot
ICAgICAgICAgIG1vdW50OiBudWxsCi0gICAgICAgIH07Ci0gICAgICAgIGlmICghcGFyZW50KSB7
Ci0gICAgICAgICAgcGFyZW50ID0gbm9kZTsgIC8vIHJvb3Qgbm9kZSBzZXRzIHBhcmVudCB0byBp
dHNlbGYKLSAgICAgICAgfQotICAgICAgICBub2RlLnBhcmVudCA9IHBhcmVudDsKLSAgICAgICAg
bm9kZS5tb3VudCA9IHBhcmVudC5tb3VudDsKLSAgICAgICAgLy8gY29tcGF0aWJpbGl0eQotICAg
ICAgICB2YXIgcmVhZE1vZGUgPSAyOTIgfCA3MzsKLSAgICAgICAgdmFyIHdyaXRlTW9kZSA9IDE0
NjsKLSAgICAgICAgLy8gTk9URSB3ZSBtdXN0IHVzZSBPYmplY3QuZGVmaW5lUHJvcGVydGllcyBp
bnN0ZWFkIG9mIGluZGl2aWR1YWwgY2FsbHMgdG8KLSAgICAgICAgLy8gT2JqZWN0LmRlZmluZVBy
b3BlcnR5IGluIG9yZGVyIHRvIG1ha2UgY2xvc3VyZSBjb21waWxlciBoYXBweQotICAgICAgICBP
YmplY3QuZGVmaW5lUHJvcGVydGllcyhub2RlLCB7Ci0gICAgICAgICAgcmVhZDogewotICAgICAg
ICAgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIChub2RlLm1vZGUgJiByZWFkTW9kZSkgPT09
IHJlYWRNb2RlOyB9LAotICAgICAgICAgICAgc2V0OiBmdW5jdGlvbih2YWwpIHsgdmFsID8gbm9k
ZS5tb2RlIHw9IHJlYWRNb2RlIDogbm9kZS5tb2RlICY9IH5yZWFkTW9kZTsgfQotICAgICAgICAg
IH0sCi0gICAgICAgICAgd3JpdGU6IHsKLSAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7IHJl
dHVybiAobm9kZS5tb2RlICYgd3JpdGVNb2RlKSA9PT0gd3JpdGVNb2RlOyB9LAotICAgICAgICAg
ICAgc2V0OiBmdW5jdGlvbih2YWwpIHsgdmFsID8gbm9kZS5tb2RlIHw9IHdyaXRlTW9kZSA6IG5v
ZGUubW9kZSAmPSB+d3JpdGVNb2RlOyB9Ci0gICAgICAgICAgfSwKLSAgICAgICAgICBpc0ZvbGRl
cjogewotICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIEZTLmlzRGlyKG5vZGUu
bW9kZSk7IH0sCi0gICAgICAgICAgfSwKLSAgICAgICAgICBpc0RldmljZTogewotICAgICAgICAg
ICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIEZTLmlzQ2hyZGV2KG5vZGUubW9kZSk7IH0sCi0g
ICAgICAgICAgfSwKLSAgICAgICAgfSk7Ci0gICAgICAgIEZTLmhhc2hBZGROb2RlKG5vZGUpOwot
ICAgICAgICByZXR1cm4gbm9kZTsKLSAgICAgIH0sZGVzdHJveU5vZGU6ZnVuY3Rpb24gKG5vZGUp
IHsKLSAgICAgICAgRlMuaGFzaFJlbW92ZU5vZGUobm9kZSk7Ci0gICAgICB9LGlzUm9vdDpmdW5j
dGlvbiAobm9kZSkgewotICAgICAgICByZXR1cm4gbm9kZSA9PT0gbm9kZS5wYXJlbnQ7Ci0gICAg
ICB9LGlzTW91bnRwb2ludDpmdW5jdGlvbiAobm9kZSkgewotICAgICAgICByZXR1cm4gbm9kZS5t
b3VudGVkOwotICAgICAgfSxpc0ZpbGU6ZnVuY3Rpb24gKG1vZGUpIHsKLSAgICAgICAgcmV0dXJu
IChtb2RlICYgMDE3MDAwMCkgPT09IDAxMDAwMDA7Ci0gICAgICB9LGlzRGlyOmZ1bmN0aW9uICht
b2RlKSB7Ci0gICAgICAgIHJldHVybiAobW9kZSAmIDAxNzAwMDApID09PSAwMDQwMDAwOwotICAg
ICAgfSxpc0xpbms6ZnVuY3Rpb24gKG1vZGUpIHsKLSAgICAgICAgcmV0dXJuIChtb2RlICYgMDE3
MDAwMCkgPT09IDAxMjAwMDA7Ci0gICAgICB9LGlzQ2hyZGV2OmZ1bmN0aW9uIChtb2RlKSB7Ci0g
ICAgICAgIHJldHVybiAobW9kZSAmIDAxNzAwMDApID09PSAwMDIwMDAwOwotICAgICAgfSxpc0Js
a2RldjpmdW5jdGlvbiAobW9kZSkgewotICAgICAgICByZXR1cm4gKG1vZGUgJiAwMTcwMDAwKSA9
PT0gMDA2MDAwMDsKLSAgICAgIH0saXNGSUZPOmZ1bmN0aW9uIChtb2RlKSB7Ci0gICAgICAgIHJl
dHVybiAobW9kZSAmIDAxNzAwMDApID09PSAwMDEwMDAwOwotICAgICAgfSxjd2Q6ZnVuY3Rpb24g
KCkgewotICAgICAgICByZXR1cm4gRlMuY3VycmVudFBhdGg7Ci0gICAgICB9LGxvb2t1cFBhdGg6
ZnVuY3Rpb24gKHBhdGgsIG9wdHMpIHsKLSAgICAgICAgcGF0aCA9IFBBVEgucmVzb2x2ZShGUy5j
dXJyZW50UGF0aCwgcGF0aCk7Ci0gICAgICAgIG9wdHMgPSBvcHRzIHx8IHsgcmVjdXJzZV9jb3Vu
dDogMCB9OwotICAgICAgICBpZiAob3B0cy5yZWN1cnNlX2NvdW50ID4gOCkgeyAgLy8gbWF4IHJl
Y3Vyc2l2ZSBsb29rdXAgb2YgOAotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVS
Uk5PX0NPREVTLkVMT09QKTsKLSAgICAgICAgfQotICAgICAgICAvLyBzcGxpdCB0aGUgcGF0aAot
ICAgICAgICB2YXIgcGFydHMgPSBQQVRILm5vcm1hbGl6ZUFycmF5KHBhdGguc3BsaXQoJy8nKS5m
aWx0ZXIoZnVuY3Rpb24ocCkgewotICAgICAgICAgIHJldHVybiAhIXA7Ci0gICAgICAgIH0pLCBm
YWxzZSk7Ci0gICAgICAgIC8vIHN0YXJ0IGF0IHRoZSByb290Ci0gICAgICAgIHZhciBjdXJyZW50
ID0gRlMucm9vdDsKLSAgICAgICAgdmFyIGN1cnJlbnRfcGF0aCA9ICcvJzsKLSAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykgewotICAgICAgICAgIHZhciBpc2xh
c3QgPSAoaSA9PT0gcGFydHMubGVuZ3RoLTEpOwotICAgICAgICAgIGlmIChpc2xhc3QgJiYgb3B0
cy5wYXJlbnQpIHsKLSAgICAgICAgICAgIC8vIHN0b3AgcmVzb2x2aW5nCi0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICB9Ci0gICAgICAgICAgY3VycmVudCA9IEZTLmxvb2t1cE5vZGUoY3Vy
cmVudCwgcGFydHNbaV0pOwotICAgICAgICAgIGN1cnJlbnRfcGF0aCA9IFBBVEguam9pbihjdXJy
ZW50X3BhdGgsIHBhcnRzW2ldKTsKLSAgICAgICAgICAvLyBqdW1wIHRvIHRoZSBtb3VudCdzIHJv
b3Qgbm9kZSBpZiB0aGlzIGlzIGEgbW91bnRwb2ludAotICAgICAgICAgIGlmIChGUy5pc01vdW50
cG9pbnQoY3VycmVudCkpIHsKLSAgICAgICAgICAgIGN1cnJlbnQgPSBjdXJyZW50Lm1vdW50LnJv
b3Q7Ci0gICAgICAgICAgfQotICAgICAgICAgIC8vIGZvbGxvdyBzeW1saW5rcwotICAgICAgICAg
IC8vIGJ5IGRlZmF1bHQsIGxvb2t1cFBhdGggd2lsbCBub3QgZm9sbG93IGEgc3ltbGluayBpZiBp
dCBpcyB0aGUgZmluYWwgcGF0aCBjb21wb25lbnQuCi0gICAgICAgICAgLy8gc2V0dGluZyBvcHRz
LmZvbGxvdyA9IHRydWUgd2lsbCBvdmVycmlkZSB0aGlzIGJlaGF2aW9yLgotICAgICAgICAgIGlm
ICghaXNsYXN0IHx8IG9wdHMuZm9sbG93KSB7Ci0gICAgICAgICAgICB2YXIgY291bnQgPSAwOwot
ICAgICAgICAgICAgd2hpbGUgKEZTLmlzTGluayhjdXJyZW50Lm1vZGUpKSB7Ci0gICAgICAgICAg
ICAgIHZhciBsaW5rID0gRlMucmVhZGxpbmsoY3VycmVudF9wYXRoKTsKLSAgICAgICAgICAgICAg
Y3VycmVudF9wYXRoID0gUEFUSC5yZXNvbHZlKFBBVEguZGlybmFtZShjdXJyZW50X3BhdGgpLCBs
aW5rKTsKLSAgICAgICAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgoY3VycmVudF9w
YXRoLCB7IHJlY3Vyc2VfY291bnQ6IG9wdHMucmVjdXJzZV9jb3VudCB9KTsKLSAgICAgICAgICAg
ICAgY3VycmVudCA9IGxvb2t1cC5ub2RlOwotICAgICAgICAgICAgICBpZiAoY291bnQrKyA+IDQw
KSB7ICAvLyBsaW1pdCBtYXggY29uc2VjdXRpdmUgc3ltbGlua3MgdG8gNDAgKFNZTUxPT1BfTUFY
KS4KLSAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5F
TE9PUCk7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICAgICAgcmV0dXJuIHsgcGF0aDogY3VycmVudF9wYXRoLCBub2RlOiBjdXJyZW50
IH07Ci0gICAgICB9LGdldFBhdGg6ZnVuY3Rpb24gKG5vZGUpIHsKLSAgICAgICAgdmFyIHBhdGg7
Ci0gICAgICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICAgICAgaWYgKEZTLmlzUm9vdChub2RlKSkg
ewotICAgICAgICAgICAgcmV0dXJuIHBhdGggPyBQQVRILmpvaW4obm9kZS5tb3VudC5tb3VudHBv
aW50LCBwYXRoKSA6IG5vZGUubW91bnQubW91bnRwb2ludDsKLSAgICAgICAgICB9Ci0gICAgICAg
ICAgcGF0aCA9IHBhdGggPyBQQVRILmpvaW4obm9kZS5uYW1lLCBwYXRoKSA6IG5vZGUubmFtZTsK
LSAgICAgICAgICBub2RlID0gbm9kZS5wYXJlbnQ7Ci0gICAgICAgIH0KLSAgICAgIH0sZmxhZ01v
ZGVzOnsiciI6MCwicnMiOjgxOTIsInIrIjoyLCJ3IjoxNTM3LCJ3eCI6MzU4NSwieHciOjM1ODUs
IncrIjoxNTM4LCJ3eCsiOjM1ODYsInh3KyI6MzU4NiwiYSI6NTIxLCJheCI6MjU2OSwieGEiOjI1
NjksImErIjo1MjIsImF4KyI6MjU3MCwieGErIjoyNTcwfSxtb2RlU3RyaW5nVG9GbGFnczpmdW5j
dGlvbiAoc3RyKSB7Ci0gICAgICAgIHZhciBmbGFncyA9IEZTLmZsYWdNb2Rlc1tzdHJdOwotICAg
ICAgICBpZiAodHlwZW9mIGZsYWdzID09PSAndW5kZWZpbmVkJykgewotICAgICAgICAgIHRocm93
IG5ldyBFcnJvcignVW5rbm93biBmaWxlIG9wZW4gbW9kZTogJyArIHN0cik7Ci0gICAgICAgIH0K
LSAgICAgICAgcmV0dXJuIGZsYWdzOwotICAgICAgfSxmbGFnc1RvUGVybWlzc2lvblN0cmluZzpm
dW5jdGlvbiAoZmxhZykgewotICAgICAgICB2YXIgYWNjbW9kZSA9IGZsYWcgJiAzOwotICAgICAg
ICB2YXIgcGVybXMgPSBbJ3InLCAndycsICdydyddW2FjY21vZGVdOwotICAgICAgICBpZiAoKGZs
YWcgJiAxMDI0KSkgewotICAgICAgICAgIHBlcm1zICs9ICd3JzsKLSAgICAgICAgfQotICAgICAg
ICByZXR1cm4gcGVybXM7Ci0gICAgICB9LG5vZGVQZXJtaXNzaW9uczpmdW5jdGlvbiAobm9kZSwg
cGVybXMpIHsKLSAgICAgICAgaWYgKEZTLmlnbm9yZVBlcm1pc3Npb25zKSB7Ci0gICAgICAgICAg
cmV0dXJuIDA7Ci0gICAgICAgIH0KLSAgICAgICAgLy8gcmV0dXJuIDAgaWYgYW55IHVzZXIsIGdy
b3VwIG9yIG93bmVyIGJpdHMgYXJlIHNldC4KLSAgICAgICAgaWYgKHBlcm1zLmluZGV4T2YoJ3In
KSAhPT0gLTEgJiYgIShub2RlLm1vZGUgJiAyOTIpKSB7Ci0gICAgICAgICAgcmV0dXJuIEVSUk5P
X0NPREVTLkVBQ0NFUzsKLSAgICAgICAgfSBlbHNlIGlmIChwZXJtcy5pbmRleE9mKCd3JykgIT09
IC0xICYmICEobm9kZS5tb2RlICYgMTQ2KSkgewotICAgICAgICAgIHJldHVybiBFUlJOT19DT0RF
Uy5FQUNDRVM7Ci0gICAgICAgIH0gZWxzZSBpZiAocGVybXMuaW5kZXhPZigneCcpICE9PSAtMSAm
JiAhKG5vZGUubW9kZSAmIDczKSkgewotICAgICAgICAgIHJldHVybiBFUlJOT19DT0RFUy5FQUND
RVM7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgICB9LG1heUxvb2t1cDpmdW5j
dGlvbiAoZGlyKSB7Ci0gICAgICAgIHJldHVybiBGUy5ub2RlUGVybWlzc2lvbnMoZGlyLCAneCcp
OwotICAgICAgfSxtYXlNa25vZDpmdW5jdGlvbiAobW9kZSkgewotICAgICAgICBzd2l0Y2ggKG1v
ZGUgJiAwMTcwMDAwKSB7Ci0gICAgICAgICAgY2FzZSAwMTAwMDAwOgotICAgICAgICAgIGNhc2Ug
MDAyMDAwMDoKLSAgICAgICAgICBjYXNlIDAwNjAwMDA6Ci0gICAgICAgICAgY2FzZSAwMDEwMDAw
OgotICAgICAgICAgIGNhc2UgMDE0MDAwMDoKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gRVJSTk9fQ09ERVMuRUlOVkFMOwotICAg
ICAgICB9Ci0gICAgICB9LG1heUNyZWF0ZTpmdW5jdGlvbiAoZGlyLCBuYW1lKSB7Ci0gICAgICAg
IHRyeSB7Ci0gICAgICAgICAgdmFyIG5vZGUgPSBGUy5sb29rdXBOb2RlKGRpciwgbmFtZSk7Ci0g
ICAgICAgICAgcmV0dXJuIEVSUk5PX0NPREVTLkVFWElTVDsKLSAgICAgICAgfSBjYXRjaCAoZSkg
ewotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBGUy5ub2RlUGVybWlzc2lvbnMoZGlyLCAnd3gn
KTsKLSAgICAgIH0sbWF5RGVsZXRlOmZ1bmN0aW9uIChkaXIsIG5hbWUsIGlzZGlyKSB7Ci0gICAg
ICAgIHZhciBub2RlOwotICAgICAgICB0cnkgewotICAgICAgICAgIG5vZGUgPSBGUy5sb29rdXBO
b2RlKGRpciwgbmFtZSk7Ci0gICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICByZXR1cm4g
ZS5lcnJubzsKLSAgICAgICAgfQotICAgICAgICB2YXIgZXJyID0gRlMubm9kZVBlcm1pc3Npb25z
KGRpciwgJ3d4Jyk7Ci0gICAgICAgIGlmIChlcnIpIHsKLSAgICAgICAgICByZXR1cm4gZXJyOwot
ICAgICAgICB9Ci0gICAgICAgIGlmIChpc2RpcikgewotICAgICAgICAgIGlmICghRlMuaXNEaXIo
bm9kZS5tb2RlKSkgewotICAgICAgICAgICAgcmV0dXJuIEVSUk5PX0NPREVTLkVOT1RESVI7Ci0g
ICAgICAgICAgfQotICAgICAgICAgIGlmIChGUy5pc1Jvb3Qobm9kZSkgfHwgRlMuZ2V0UGF0aChu
b2RlKSA9PT0gRlMuY3VycmVudFBhdGgpIHsKLSAgICAgICAgICAgIHJldHVybiBFUlJOT19DT0RF
Uy5FQlVTWTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgaWYgKEZT
LmlzRGlyKG5vZGUubW9kZSkpIHsKLSAgICAgICAgICAgIHJldHVybiBFUlJOT19DT0RFUy5FSVNE
SVI7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIHJldHVybiAwOwotICAgICAgfSxt
YXlPcGVuOmZ1bmN0aW9uIChub2RlLCBmbGFncykgewotICAgICAgICBpZiAoIW5vZGUpIHsKLSAg
ICAgICAgICByZXR1cm4gRVJSTk9fQ09ERVMuRU5PRU5UOwotICAgICAgICB9Ci0gICAgICAgIGlm
IChGUy5pc0xpbmsobm9kZS5tb2RlKSkgewotICAgICAgICAgIHJldHVybiBFUlJOT19DT0RFUy5F
TE9PUDsKLSAgICAgICAgfSBlbHNlIGlmIChGUy5pc0Rpcihub2RlLm1vZGUpKSB7Ci0gICAgICAg
ICAgaWYgKChmbGFncyAmIDMpICE9PSAwIHx8ICAvLyBvcGVuaW5nIGZvciB3cml0ZQotICAgICAg
ICAgICAgICAoZmxhZ3MgJiAxMDI0KSkgewotICAgICAgICAgICAgcmV0dXJuIEVSUk5PX0NPREVT
LkVJU0RJUjsKLSAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIEZTLm5vZGVQ
ZXJtaXNzaW9ucyhub2RlLCBGUy5mbGFnc1RvUGVybWlzc2lvblN0cmluZyhmbGFncykpOwotICAg
ICAgfSxjaHJkZXZfc3RyZWFtX29wczp7b3BlbjpmdW5jdGlvbiAoc3RyZWFtKSB7Ci0gICAgICAg
ICAgdmFyIGRldmljZSA9IEZTLmdldERldmljZShzdHJlYW0ubm9kZS5yZGV2KTsKLSAgICAgICAg
ICAvLyBvdmVycmlkZSBub2RlJ3Mgc3RyZWFtIG9wcyB3aXRoIHRoZSBkZXZpY2UncwotICAgICAg
ICAgIHN0cmVhbS5zdHJlYW1fb3BzID0gZGV2aWNlLnN0cmVhbV9vcHM7Ci0gICAgICAgICAgLy8g
Zm9yd2FyZCB0aGUgb3BlbiBjYWxsCi0gICAgICAgICAgaWYgKHN0cmVhbS5zdHJlYW1fb3BzLm9w
ZW4pIHsKLSAgICAgICAgICAgIHN0cmVhbS5zdHJlYW1fb3BzLm9wZW4oc3RyZWFtKTsKLSAgICAg
ICAgICB9Ci0gICAgICAgIH0sbGxzZWVrOmZ1bmN0aW9uICgpIHsKLSAgICAgICAgICB0aHJvdyBu
ZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FU1BJUEUpOwotICAgICAgICB9fSxtYWpvcjpm
dW5jdGlvbiAoZGV2KSB7Ci0gICAgICAgIHJldHVybiAoKGRldikgPj4gOCk7Ci0gICAgICB9LG1p
bm9yOmZ1bmN0aW9uIChkZXYpIHsKLSAgICAgICAgcmV0dXJuICgoZGV2KSAmIDB4ZmYpOwotICAg
ICAgfSxtYWtlZGV2OmZ1bmN0aW9uIChtYSwgbWkpIHsKLSAgICAgICAgcmV0dXJuICgobWEpIDw8
IDggfCAobWkpKTsKLSAgICAgIH0scmVnaXN0ZXJEZXZpY2U6ZnVuY3Rpb24gKGRldiwgb3BzKSB7
Ci0gICAgICAgIEZTLmRldmljZXNbZGV2XSA9IHsgc3RyZWFtX29wczogb3BzIH07Ci0gICAgICB9
LGdldERldmljZTpmdW5jdGlvbiAoZGV2KSB7Ci0gICAgICAgIHJldHVybiBGUy5kZXZpY2VzW2Rl
dl07Ci0gICAgICB9LE1BWF9PUEVOX0ZEUzo0MDk2LG5leHRmZDpmdW5jdGlvbiAoZmRfc3RhcnQs
IGZkX2VuZCkgewotICAgICAgICBmZF9zdGFydCA9IGZkX3N0YXJ0IHx8IDE7Ci0gICAgICAgIGZk
X2VuZCA9IGZkX2VuZCB8fCBGUy5NQVhfT1BFTl9GRFM7Ci0gICAgICAgIGZvciAodmFyIGZkID0g
ZmRfc3RhcnQ7IGZkIDw9IGZkX2VuZDsgZmQrKykgewotICAgICAgICAgIGlmICghRlMuc3RyZWFt
c1tmZF0pIHsKLSAgICAgICAgICAgIHJldHVybiBmZDsKLSAgICAgICAgICB9Ci0gICAgICAgIH0K
LSAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU1GSUxFKTsKLSAg
ICAgIH0sZ2V0U3RyZWFtOmZ1bmN0aW9uIChmZCkgewotICAgICAgICByZXR1cm4gRlMuc3RyZWFt
c1tmZF07Ci0gICAgICB9LGNyZWF0ZVN0cmVhbTpmdW5jdGlvbiAoc3RyZWFtLCBmZF9zdGFydCwg
ZmRfZW5kKSB7Ci0gICAgICAgIHZhciBmZCA9IEZTLm5leHRmZChmZF9zdGFydCwgZmRfZW5kKTsK
LSAgICAgICAgc3RyZWFtLmZkID0gZmQ7Ci0gICAgICAgIC8vIGNvbXBhdGliaWxpdHkKLSAgICAg
ICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoc3RyZWFtLCB7Ci0gICAgICAgICAgb2JqZWN0OiB7
Ci0gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gc3RyZWFtLm5vZGU7IH0sCi0g
ICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKHZhbCkgeyBzdHJlYW0ubm9kZSA9IHZhbDsgfQotICAg
ICAgICAgIH0sCi0gICAgICAgICAgaXNSZWFkOiB7Ci0gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9u
KCkgeyByZXR1cm4gKHN0cmVhbS5mbGFncyAmIDMpICE9PSAxOyB9Ci0gICAgICAgICAgfSwKLSAg
ICAgICAgICBpc1dyaXRlOiB7Ci0gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4g
KHN0cmVhbS5mbGFncyAmIDMpICE9PSAwOyB9Ci0gICAgICAgICAgfSwKLSAgICAgICAgICBpc0Fw
cGVuZDogewotICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIChzdHJlYW0uZmxh
Z3MgJiA4KTsgfQotICAgICAgICAgIH0KLSAgICAgICAgfSk7Ci0gICAgICAgIEZTLnN0cmVhbXNb
ZmRdID0gc3RyZWFtOwotICAgICAgICByZXR1cm4gc3RyZWFtOwotICAgICAgfSxjbG9zZVN0cmVh
bTpmdW5jdGlvbiAoZmQpIHsKLSAgICAgICAgRlMuc3RyZWFtc1tmZF0gPSBudWxsOwotICAgICAg
fSxnZXRNb2RlOmZ1bmN0aW9uIChjYW5SZWFkLCBjYW5Xcml0ZSkgewotICAgICAgICB2YXIgbW9k
ZSA9IDA7Ci0gICAgICAgIGlmIChjYW5SZWFkKSBtb2RlIHw9IDI5MiB8IDczOwotICAgICAgICBp
ZiAoY2FuV3JpdGUpIG1vZGUgfD0gMTQ2OwotICAgICAgICByZXR1cm4gbW9kZTsKLSAgICAgIH0s
am9pblBhdGg6ZnVuY3Rpb24gKHBhcnRzLCBmb3JjZVJlbGF0aXZlKSB7Ci0gICAgICAgIHZhciBw
YXRoID0gUEFUSC5qb2luLmFwcGx5KG51bGwsIHBhcnRzKTsKLSAgICAgICAgaWYgKGZvcmNlUmVs
YXRpdmUgJiYgcGF0aFswXSA9PSAnLycpIHBhdGggPSBwYXRoLnN1YnN0cigxKTsKLSAgICAgICAg
cmV0dXJuIHBhdGg7Ci0gICAgICB9LGFic29sdXRlUGF0aDpmdW5jdGlvbiAocmVsYXRpdmUsIGJh
c2UpIHsKLSAgICAgICAgcmV0dXJuIFBBVEgucmVzb2x2ZShiYXNlLCByZWxhdGl2ZSk7Ci0gICAg
ICB9LHN0YW5kYXJkaXplUGF0aDpmdW5jdGlvbiAocGF0aCkgewotICAgICAgICByZXR1cm4gUEFU
SC5ub3JtYWxpemUocGF0aCk7Ci0gICAgICB9LGZpbmRPYmplY3Q6ZnVuY3Rpb24gKHBhdGgsIGRv
bnRSZXNvbHZlTGFzdExpbmspIHsKLSAgICAgICAgdmFyIHJldCA9IEZTLmFuYWx5emVQYXRoKHBh
dGgsIGRvbnRSZXNvbHZlTGFzdExpbmspOwotICAgICAgICBpZiAocmV0LmV4aXN0cykgewotICAg
ICAgICAgIHJldHVybiByZXQub2JqZWN0OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIF9f
X3NldEVyck5vKHJldC5lcnJvcik7Ci0gICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgIH0K
LSAgICAgIH0sYW5hbHl6ZVBhdGg6ZnVuY3Rpb24gKHBhdGgsIGRvbnRSZXNvbHZlTGFzdExpbmsp
IHsKLSAgICAgICAgLy8gb3BlcmF0ZSBmcm9tIHdpdGhpbiB0aGUgY29udGV4dCBvZiB0aGUgc3lt
bGluaydzIHRhcmdldAotICAgICAgICB0cnkgewotICAgICAgICAgIHZhciBsb29rdXAgPSBGUy5s
b29rdXBQYXRoKHBhdGgsIHsgZm9sbG93OiAhZG9udFJlc29sdmVMYXN0TGluayB9KTsKLSAgICAg
ICAgICBwYXRoID0gbG9va3VwLnBhdGg7Ci0gICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAg
fQotICAgICAgICB2YXIgcmV0ID0gewotICAgICAgICAgIGlzUm9vdDogZmFsc2UsIGV4aXN0czog
ZmFsc2UsIGVycm9yOiAwLCBuYW1lOiBudWxsLCBwYXRoOiBudWxsLCBvYmplY3Q6IG51bGwsCi0g
ICAgICAgICAgcGFyZW50RXhpc3RzOiBmYWxzZSwgcGFyZW50UGF0aDogbnVsbCwgcGFyZW50T2Jq
ZWN0OiBudWxsCi0gICAgICAgIH07Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgdmFyIGxvb2t1
cCA9IEZTLmxvb2t1cFBhdGgocGF0aCwgeyBwYXJlbnQ6IHRydWUgfSk7Ci0gICAgICAgICAgcmV0
LnBhcmVudEV4aXN0cyA9IHRydWU7Ci0gICAgICAgICAgcmV0LnBhcmVudFBhdGggPSBsb29rdXAu
cGF0aDsKLSAgICAgICAgICByZXQucGFyZW50T2JqZWN0ID0gbG9va3VwLm5vZGU7Ci0gICAgICAg
ICAgcmV0Lm5hbWUgPSBQQVRILmJhc2VuYW1lKHBhdGgpOwotICAgICAgICAgIGxvb2t1cCA9IEZT
Lmxvb2t1cFBhdGgocGF0aCwgeyBmb2xsb3c6ICFkb250UmVzb2x2ZUxhc3RMaW5rIH0pOwotICAg
ICAgICAgIHJldC5leGlzdHMgPSB0cnVlOwotICAgICAgICAgIHJldC5wYXRoID0gbG9va3VwLnBh
dGg7Ci0gICAgICAgICAgcmV0Lm9iamVjdCA9IGxvb2t1cC5ub2RlOwotICAgICAgICAgIHJldC5u
YW1lID0gbG9va3VwLm5vZGUubmFtZTsKLSAgICAgICAgICByZXQuaXNSb290ID0gbG9va3VwLnBh
dGggPT09ICcvJzsKLSAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgIHJldC5lcnJvciA9
IGUuZXJybm87Ci0gICAgICAgIH07Ci0gICAgICAgIHJldHVybiByZXQ7Ci0gICAgICB9LGNyZWF0
ZUZvbGRlcjpmdW5jdGlvbiAocGFyZW50LCBuYW1lLCBjYW5SZWFkLCBjYW5Xcml0ZSkgewotICAg
ICAgICB2YXIgcGF0aCA9IFBBVEguam9pbih0eXBlb2YgcGFyZW50ID09PSAnc3RyaW5nJyA/IHBh
cmVudCA6IEZTLmdldFBhdGgocGFyZW50KSwgbmFtZSk7Ci0gICAgICAgIHZhciBtb2RlID0gRlMu
Z2V0TW9kZShjYW5SZWFkLCBjYW5Xcml0ZSk7Ci0gICAgICAgIHJldHVybiBGUy5ta2RpcihwYXRo
LCBtb2RlKTsKLSAgICAgIH0sY3JlYXRlUGF0aDpmdW5jdGlvbiAocGFyZW50LCBwYXRoLCBjYW5S
ZWFkLCBjYW5Xcml0ZSkgewotICAgICAgICBwYXJlbnQgPSB0eXBlb2YgcGFyZW50ID09PSAnc3Ry
aW5nJyA/IHBhcmVudCA6IEZTLmdldFBhdGgocGFyZW50KTsKLSAgICAgICAgdmFyIHBhcnRzID0g
cGF0aC5zcGxpdCgnLycpLnJldmVyc2UoKTsKLSAgICAgICAgd2hpbGUgKHBhcnRzLmxlbmd0aCkg
ewotICAgICAgICAgIHZhciBwYXJ0ID0gcGFydHMucG9wKCk7Ci0gICAgICAgICAgaWYgKCFwYXJ0
KSBjb250aW51ZTsKLSAgICAgICAgICB2YXIgY3VycmVudCA9IFBBVEguam9pbihwYXJlbnQsIHBh
cnQpOwotICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBGUy5ta2RpcihjdXJyZW50LCAwNzc3
KTsKLSAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAvLyBpZ25vcmUgRUVYSVNU
Ci0gICAgICAgICAgfQotICAgICAgICAgIHBhcmVudCA9IGN1cnJlbnQ7Ci0gICAgICAgIH0KLSAg
ICAgICAgcmV0dXJuIGN1cnJlbnQ7Ci0gICAgICB9LGNyZWF0ZUZpbGU6ZnVuY3Rpb24gKHBhcmVu
dCwgbmFtZSwgcHJvcGVydGllcywgY2FuUmVhZCwgY2FuV3JpdGUpIHsKLSAgICAgICAgdmFyIHBh
dGggPSBQQVRILmpvaW4odHlwZW9mIHBhcmVudCA9PT0gJ3N0cmluZycgPyBwYXJlbnQgOiBGUy5n
ZXRQYXRoKHBhcmVudCksIG5hbWUpOwotICAgICAgICB2YXIgbW9kZSA9IEZTLmdldE1vZGUoY2Fu
UmVhZCwgY2FuV3JpdGUpOwotICAgICAgICByZXR1cm4gRlMuY3JlYXRlKHBhdGgsIG1vZGUpOwot
ICAgICAgfSxjcmVhdGVEYXRhRmlsZTpmdW5jdGlvbiAocGFyZW50LCBuYW1lLCBkYXRhLCBjYW5S
ZWFkLCBjYW5Xcml0ZSkgewotICAgICAgICB2YXIgcGF0aCA9IFBBVEguam9pbih0eXBlb2YgcGFy
ZW50ID09PSAnc3RyaW5nJyA/IHBhcmVudCA6IEZTLmdldFBhdGgocGFyZW50KSwgbmFtZSk7Ci0g
ICAgICAgIHZhciBtb2RlID0gRlMuZ2V0TW9kZShjYW5SZWFkLCBjYW5Xcml0ZSk7Ci0gICAgICAg
IHZhciBub2RlID0gRlMuY3JlYXRlKHBhdGgsIG1vZGUpOwotICAgICAgICBpZiAoZGF0YSkgewot
ICAgICAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHsKLSAgICAgICAgICAgIHZh
ciBhcnIgPSBuZXcgQXJyYXkoZGF0YS5sZW5ndGgpOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDAsIGxlbiA9IGRhdGEubGVuZ3RoOyBpIDwgbGVuOyArK2kpIGFycltpXSA9IGRhdGEuY2hhckNv
ZGVBdChpKTsKLSAgICAgICAgICAgIGRhdGEgPSBhcnI7Ci0gICAgICAgICAgfQotICAgICAgICAg
IC8vIG1ha2Ugc3VyZSB3ZSBjYW4gd3JpdGUgdG8gdGhlIGZpbGUKLSAgICAgICAgICBGUy5jaG1v
ZChwYXRoLCBtb2RlIHwgMTQ2KTsKLSAgICAgICAgICB2YXIgc3RyZWFtID0gRlMub3BlbihwYXRo
LCAndycpOwotICAgICAgICAgIEZTLndyaXRlKHN0cmVhbSwgZGF0YSwgMCwgZGF0YS5sZW5ndGgs
IDApOwotICAgICAgICAgIEZTLmNsb3NlKHN0cmVhbSk7Ci0gICAgICAgICAgRlMuY2htb2QocGF0
aCwgbW9kZSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG5vZGU7Ci0gICAgICB9LGNyZWF0
ZURldmljZTpmdW5jdGlvbiAocGFyZW50LCBuYW1lLCBpbnB1dCwgb3V0cHV0KSB7Ci0gICAgICAg
IHZhciBwYXRoID0gUEFUSC5qb2luKHR5cGVvZiBwYXJlbnQgPT09ICdzdHJpbmcnID8gcGFyZW50
IDogRlMuZ2V0UGF0aChwYXJlbnQpLCBuYW1lKTsKLSAgICAgICAgdmFyIG1vZGUgPSBpbnB1dCAm
JiBvdXRwdXQgPyAwNzc3IDogKGlucHV0ID8gMDMzMyA6IDA1NTUpOwotICAgICAgICBpZiAoIUZT
LmNyZWF0ZURldmljZS5tYWpvcikgRlMuY3JlYXRlRGV2aWNlLm1ham9yID0gNjQ7Ci0gICAgICAg
IHZhciBkZXYgPSBGUy5tYWtlZGV2KEZTLmNyZWF0ZURldmljZS5tYWpvcisrLCAwKTsKLSAgICAg
ICAgLy8gQ3JlYXRlIGEgZmFrZSBkZXZpY2UgdGhhdCBhIHNldCBvZiBzdHJlYW0gb3BzIHRvIGVt
dWxhdGUKLSAgICAgICAgLy8gdGhlIG9sZCBiZWhhdmlvci4KLSAgICAgICAgRlMucmVnaXN0ZXJE
ZXZpY2UoZGV2LCB7Ci0gICAgICAgICAgb3BlbjogZnVuY3Rpb24oc3RyZWFtKSB7Ci0gICAgICAg
ICAgICBzdHJlYW0uc2Vla2FibGUgPSBmYWxzZTsKLSAgICAgICAgICB9LAotICAgICAgICAgIGNs
b3NlOiBmdW5jdGlvbihzdHJlYW0pIHsKLSAgICAgICAgICAgIC8vIGZsdXNoIGFueSBwZW5kaW5n
IGxpbmUgZGF0YQotICAgICAgICAgICAgaWYgKG91dHB1dCAmJiBvdXRwdXQuYnVmZmVyICYmIG91
dHB1dC5idWZmZXIubGVuZ3RoKSB7Ci0gICAgICAgICAgICAgIG91dHB1dCgxMCk7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgfSwKLSAgICAgICAgICByZWFkOiBmdW5jdGlvbihzdHJlYW0sIGJ1
ZmZlciwgb2Zmc2V0LCBsZW5ndGgsIHBvcyAvKiBpZ25vcmVkICovKSB7Ci0gICAgICAgICAgICB2
YXIgYnl0ZXNSZWFkID0gMDsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3Ro
OyBpKyspIHsKLSAgICAgICAgICAgICAgdmFyIHJlc3VsdDsKLSAgICAgICAgICAgICAgdHJ5IHsK
LSAgICAgICAgICAgICAgICByZXN1bHQgPSBpbnB1dCgpOwotICAgICAgICAgICAgICB9IGNhdGNo
IChlKSB7Ci0gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09E
RVMuRUlPKTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBpZiAocmVzdWx0ID09PSB1
bmRlZmluZWQgJiYgYnl0ZXNSZWFkID09PSAwKSB7Ci0gICAgICAgICAgICAgICAgdGhyb3cgbmV3
IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUFHQUlOKTsKLSAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICBpZiAocmVzdWx0ID09PSBudWxsIHx8IHJlc3VsdCA9PT0gdW5kZWZpbmVkKSBi
cmVhazsKLSAgICAgICAgICAgICAgYnl0ZXNSZWFkKys7Ci0gICAgICAgICAgICAgIGJ1ZmZlcltv
ZmZzZXQraV0gPSByZXN1bHQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoYnl0ZXNS
ZWFkKSB7Ci0gICAgICAgICAgICAgIHN0cmVhbS5ub2RlLnRpbWVzdGFtcCA9IERhdGUubm93KCk7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gYnl0ZXNSZWFkOwotICAgICAgICAg
IH0sCi0gICAgICAgICAgd3JpdGU6IGZ1bmN0aW9uKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxl
bmd0aCwgcG9zKSB7Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsr
KSB7Ci0gICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgb3V0cHV0KGJ1ZmZlcltv
ZmZzZXQraV0pOwotICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAg
dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlPKTsKLSAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGxlbmd0aCkgewotICAgICAgICAgICAg
ICBzdHJlYW0ubm9kZS50aW1lc3RhbXAgPSBEYXRlLm5vdygpOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgcmV0dXJuIGk7Ci0gICAgICAgICAgfQotICAgICAgICB9KTsKLSAgICAgICAgcmV0
dXJuIEZTLm1rZGV2KHBhdGgsIG1vZGUsIGRldik7Ci0gICAgICB9LGNyZWF0ZUxpbms6ZnVuY3Rp
b24gKHBhcmVudCwgbmFtZSwgdGFyZ2V0LCBjYW5SZWFkLCBjYW5Xcml0ZSkgewotICAgICAgICB2
YXIgcGF0aCA9IFBBVEguam9pbih0eXBlb2YgcGFyZW50ID09PSAnc3RyaW5nJyA/IHBhcmVudCA6
IEZTLmdldFBhdGgocGFyZW50KSwgbmFtZSk7Ci0gICAgICAgIHJldHVybiBGUy5zeW1saW5rKHRh
cmdldCwgcGF0aCk7Ci0gICAgICB9LGZvcmNlTG9hZEZpbGU6ZnVuY3Rpb24gKG9iaikgewotICAg
ICAgICBpZiAob2JqLmlzRGV2aWNlIHx8IG9iai5pc0ZvbGRlciB8fCBvYmoubGluayB8fCBvYmou
Y29udGVudHMpIHJldHVybiB0cnVlOwotICAgICAgICB2YXIgc3VjY2VzcyA9IHRydWU7Ci0gICAg
ICAgIGlmICh0eXBlb2YgWE1MSHR0cFJlcXVlc3QgIT09ICd1bmRlZmluZWQnKSB7Ci0gICAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJMYXp5IGxvYWRpbmcgc2hvdWxkIGhhdmUgYmVlbiBwZXJmb3Jt
ZWQgKGNvbnRlbnRzIHNldCkgaW4gY3JlYXRlTGF6eUZpbGUsIGJ1dCBpdCB3YXMgbm90LiBMYXp5
IGxvYWRpbmcgb25seSB3b3JrcyBpbiB3ZWIgd29ya2Vycy4gVXNlIC0tZW1iZWQtZmlsZSBvciAt
LXByZWxvYWQtZmlsZSBpbiBlbWNjIG9uIHRoZSBtYWluIHRocmVhZC4iKTsKLSAgICAgICAgfSBl
bHNlIGlmIChNb2R1bGVbJ3JlYWQnXSkgewotICAgICAgICAgIC8vIENvbW1hbmQtbGluZS4KLSAg
ICAgICAgICB0cnkgewotICAgICAgICAgICAgLy8gV0FSTklORzogQ2FuJ3QgcmVhZCBiaW5hcnkg
ZmlsZXMgaW4gVjgncyBkOCBvciB0cmFjZW1vbmtleSdzIGpzLCBhcwotICAgICAgICAgICAgLy8g
ICAgICAgICAgcmVhZCgpIHdpbGwgdHJ5IHRvIHBhcnNlIFVURjguCi0gICAgICAgICAgICBvYmou
Y29udGVudHMgPSBpbnRBcnJheUZyb21TdHJpbmcoTW9kdWxlWydyZWFkJ10ob2JqLnVybCksIHRy
dWUpOwotICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIHN1Y2Nlc3MgPSBmYWxz
ZTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCdDYW5ub3QgbG9hZCB3aXRob3V0IHJlYWQoKSBvciBYTUxIdHRwUmVxdWVzdC4nKTsKLSAg
ICAgICAgfQotICAgICAgICBpZiAoIXN1Y2Nlc3MpIF9fX3NldEVyck5vKEVSUk5PX0NPREVTLkVJ
Tyk7Ci0gICAgICAgIHJldHVybiBzdWNjZXNzOwotICAgICAgfSxjcmVhdGVMYXp5RmlsZTpmdW5j
dGlvbiAocGFyZW50LCBuYW1lLCB1cmwsIGNhblJlYWQsIGNhbldyaXRlKSB7Ci0gICAgICAgIGlm
ICh0eXBlb2YgWE1MSHR0cFJlcXVlc3QgIT09ICd1bmRlZmluZWQnKSB7Ci0gICAgICAgICAgaWYg
KCFFTlZJUk9OTUVOVF9JU19XT1JLRVIpIHRocm93ICdDYW5ub3QgZG8gc3luY2hyb25vdXMgYmlu
YXJ5IFhIUnMgb3V0c2lkZSB3ZWJ3b3JrZXJzIGluIG1vZGVybiBicm93c2Vycy4gVXNlIC0tZW1i
ZWQtZmlsZSBvciAtLXByZWxvYWQtZmlsZSBpbiBlbWNjJzsKLSAgICAgICAgICAvLyBMYXp5IGNo
dW5rZWQgVWludDhBcnJheSAoaW1wbGVtZW50cyBnZXQgYW5kIGxlbmd0aCBmcm9tIFVpbnQ4QXJy
YXkpLiBBY3R1YWwgZ2V0dGluZyBpcyBhYnN0cmFjdGVkIGF3YXkgZm9yIGV2ZW50dWFsIHJldXNl
LgotICAgICAgICAgIHZhciBMYXp5VWludDhBcnJheSA9IGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgdGhpcy5sZW5ndGhLbm93biA9IGZhbHNlOwotICAgICAgICAgICAgdGhpcy5jaHVua3MgPSBb
XTsgLy8gTG9hZGVkIGNodW5rcy4gSW5kZXggaXMgdGhlIGNodW5rIG51bWJlcgotICAgICAgICAg
IH0KLSAgICAgICAgICBMYXp5VWludDhBcnJheS5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24oaWR4
KSB7Ci0gICAgICAgICAgICBpZiAoaWR4ID4gdGhpcy5sZW5ndGgtMSB8fCBpZHggPCAwKSB7Ci0g
ICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB2YXIgY2h1bmtPZmZzZXQgPSBpZHggJSB0aGlzLmNodW5rU2l6ZTsKLSAgICAgICAgICAgIHZh
ciBjaHVua051bSA9IE1hdGguZmxvb3IoaWR4IC8gdGhpcy5jaHVua1NpemUpOwotICAgICAgICAg
ICAgcmV0dXJuIHRoaXMuZ2V0dGVyKGNodW5rTnVtKVtjaHVua09mZnNldF07Ci0gICAgICAgICAg
fQotICAgICAgICAgIExhenlVaW50OEFycmF5LnByb3RvdHlwZS5zZXREYXRhR2V0dGVyID0gZnVu
Y3Rpb24oZ2V0dGVyKSB7Ci0gICAgICAgICAgICB0aGlzLmdldHRlciA9IGdldHRlcjsKLSAgICAg
ICAgICB9Ci0gICAgICAgICAgTGF6eVVpbnQ4QXJyYXkucHJvdG90eXBlLmNhY2hlTGVuZ3RoID0g
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgIC8vIEZpbmQgbGVuZ3RoCi0gICAgICAgICAgICAg
IHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICAgICAgICAgICAgeGhyLm9wZW4o
J0hFQUQnLCB1cmwsIGZhbHNlKTsKLSAgICAgICAgICAgICAgeGhyLnNlbmQobnVsbCk7Ci0gICAg
ICAgICAgICAgIGlmICghKHhoci5zdGF0dXMgPj0gMjAwICYmIHhoci5zdGF0dXMgPCAzMDAgfHwg
eGhyLnN0YXR1cyA9PT0gMzA0KSkgdGhyb3cgbmV3IEVycm9yKCJDb3VsZG4ndCBsb2FkICIgKyB1
cmwgKyAiLiBTdGF0dXM6ICIgKyB4aHIuc3RhdHVzKTsKLSAgICAgICAgICAgICAgdmFyIGRhdGFs
ZW5ndGggPSBOdW1iZXIoeGhyLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LWxlbmd0aCIpKTsK
LSAgICAgICAgICAgICAgdmFyIGhlYWRlcjsKLSAgICAgICAgICAgICAgdmFyIGhhc0J5dGVTZXJ2
aW5nID0gKGhlYWRlciA9IHhoci5nZXRSZXNwb25zZUhlYWRlcigiQWNjZXB0LVJhbmdlcyIpKSAm
JiBoZWFkZXIgPT09ICJieXRlcyI7Ci0gICAgICAgICAgICAgIHZhciBjaHVua1NpemUgPSAxMDI0
KjEwMjQ7IC8vIENodW5rIHNpemUgaW4gYnl0ZXMKLSAgICAgICAgICAgICAgaWYgKCFoYXNCeXRl
U2VydmluZykgY2h1bmtTaXplID0gZGF0YWxlbmd0aDsKLSAgICAgICAgICAgICAgLy8gRnVuY3Rp
b24gdG8gZ2V0IGEgcmFuZ2UgZnJvbSB0aGUgcmVtb3RlIFVSTC4KLSAgICAgICAgICAgICAgdmFy
IGRvWEhSID0gKGZ1bmN0aW9uKGZyb20sIHRvKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGZyb20g
PiB0bykgdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHJhbmdlICgiICsgZnJvbSArICIsICIgKyB0
byArICIpIG9yIG5vIGJ5dGVzIHJlcXVlc3RlZCEiKTsKLSAgICAgICAgICAgICAgICBpZiAodG8g
PiBkYXRhbGVuZ3RoLTEpIHRocm93IG5ldyBFcnJvcigib25seSAiICsgZGF0YWxlbmd0aCArICIg
Ynl0ZXMgYXZhaWxhYmxlISBwcm9ncmFtbWVyIGVycm9yISIpOwotICAgICAgICAgICAgICAgIC8v
IFRPRE86IFVzZSBtb3pSZXNwb25zZUFycmF5QnVmZmVyLCByZXNwb25zZVN0cmVhbSwgZXRjLiBp
ZiBhdmFpbGFibGUuCi0gICAgICAgICAgICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVz
dCgpOwotICAgICAgICAgICAgICAgIHhoci5vcGVuKCdHRVQnLCB1cmwsIGZhbHNlKTsKLSAgICAg
ICAgICAgICAgICBpZiAoZGF0YWxlbmd0aCAhPT0gY2h1bmtTaXplKSB4aHIuc2V0UmVxdWVzdEhl
YWRlcigiUmFuZ2UiLCAiYnl0ZXM9IiArIGZyb20gKyAiLSIgKyB0byk7Ci0gICAgICAgICAgICAg
ICAgLy8gU29tZSBoaW50cyB0byB0aGUgYnJvd3NlciB0aGF0IHdlIHdhbnQgYmluYXJ5IGRhdGEu
Ci0gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBVaW50OEFycmF5ICE9ICd1bmRlZmluZWQnKSB4
aHIucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJzsKLSAgICAgICAgICAgICAgICBpZiAoeGhy
Lm92ZXJyaWRlTWltZVR5cGUpIHsKLSAgICAgICAgICAgICAgICAgIHhoci5vdmVycmlkZU1pbWVU
eXBlKCd0ZXh0L3BsYWluOyBjaGFyc2V0PXgtdXNlci1kZWZpbmVkJyk7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIHhoci5zZW5kKG51bGwpOwotICAgICAgICAgICAgICAgIGlm
ICghKHhoci5zdGF0dXMgPj0gMjAwICYmIHhoci5zdGF0dXMgPCAzMDAgfHwgeGhyLnN0YXR1cyA9
PT0gMzA0KSkgdGhyb3cgbmV3IEVycm9yKCJDb3VsZG4ndCBsb2FkICIgKyB1cmwgKyAiLiBTdGF0
dXM6ICIgKyB4aHIuc3RhdHVzKTsKLSAgICAgICAgICAgICAgICBpZiAoeGhyLnJlc3BvbnNlICE9
PSB1bmRlZmluZWQpIHsKLSAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgVWludDhBcnJheSh4
aHIucmVzcG9uc2UgfHwgW10pOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICByZXR1cm4gaW50QXJyYXlGcm9tU3RyaW5nKHhoci5yZXNwb25zZVRleHQgfHwgJycs
IHRydWUpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAg
ICAgIHZhciBsYXp5QXJyYXkgPSB0aGlzOwotICAgICAgICAgICAgICBsYXp5QXJyYXkuc2V0RGF0
YUdldHRlcihmdW5jdGlvbihjaHVua051bSkgewotICAgICAgICAgICAgICAgIHZhciBzdGFydCA9
IGNodW5rTnVtICogY2h1bmtTaXplOwotICAgICAgICAgICAgICAgIHZhciBlbmQgPSAoY2h1bmtO
dW0rMSkgKiBjaHVua1NpemUgLSAxOyAvLyBpbmNsdWRpbmcgdGhpcyBieXRlCi0gICAgICAgICAg
ICAgICAgZW5kID0gTWF0aC5taW4oZW5kLCBkYXRhbGVuZ3RoLTEpOyAvLyBpZiBkYXRhbGVuZ3Ro
LTEgaXMgc2VsZWN0ZWQsIHRoaXMgaXMgdGhlIGxhc3QgYmxvY2sKLSAgICAgICAgICAgICAgICBp
ZiAodHlwZW9mKGxhenlBcnJheS5jaHVua3NbY2h1bmtOdW1dKSA9PT0gInVuZGVmaW5lZCIpIHsK
LSAgICAgICAgICAgICAgICAgIGxhenlBcnJheS5jaHVua3NbY2h1bmtOdW1dID0gZG9YSFIoc3Rh
cnQsIGVuZCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICh0eXBlb2Yo
bGF6eUFycmF5LmNodW5rc1tjaHVua051bV0pID09PSAidW5kZWZpbmVkIikgdGhyb3cgbmV3IEVy
cm9yKCJkb1hIUiBmYWlsZWQhIik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGxhenlBcnJheS5j
aHVua3NbY2h1bmtOdW1dOwotICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgdGhpcy5f
bGVuZ3RoID0gZGF0YWxlbmd0aDsKLSAgICAgICAgICAgICAgdGhpcy5fY2h1bmtTaXplID0gY2h1
bmtTaXplOwotICAgICAgICAgICAgICB0aGlzLmxlbmd0aEtub3duID0gdHJ1ZTsKLSAgICAgICAg
ICB9Ci0gICAgICAgICAgdmFyIGxhenlBcnJheSA9IG5ldyBMYXp5VWludDhBcnJheSgpOwotICAg
ICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsYXp5QXJyYXksICJsZW5ndGgiLCB7Ci0gICAg
ICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICBpZighdGhpcy5s
ZW5ndGhLbm93bikgewotICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FjaGVMZW5ndGgoKTsK
LSAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9sZW5n
dGg7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICB9KTsKLSAgICAgICAgICBPYmplY3QuZGVm
aW5lUHJvcGVydHkobGF6eUFycmF5LCAiY2h1bmtTaXplIiwgewotICAgICAgICAgICAgICBnZXQ6
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgaWYoIXRoaXMubGVuZ3RoS25vd24pIHsK
LSAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNhY2hlTGVuZ3RoKCk7Ci0gICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fY2h1bmtTaXplOwotICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgfSk7Ci0gICAgICAgICAgdmFyIHByb3BlcnRpZXMgPSB7IGlz
RGV2aWNlOiBmYWxzZSwgY29udGVudHM6IGxhenlBcnJheSB9OwotICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgIHZhciBwcm9wZXJ0aWVzID0geyBpc0RldmljZTogZmFsc2UsIHVybDogdXJsIH07
Ci0gICAgICAgIH0KLSAgICAgICAgdmFyIG5vZGUgPSBGUy5jcmVhdGVGaWxlKHBhcmVudCwgbmFt
ZSwgcHJvcGVydGllcywgY2FuUmVhZCwgY2FuV3JpdGUpOwotICAgICAgICAvLyBUaGlzIGlzIGEg
dG90YWwgaGFjaywgYnV0IEkgd2FudCB0byBnZXQgdGhpcyBsYXp5IGZpbGUgY29kZSBvdXQgb2Yg
dGhlCi0gICAgICAgIC8vIGNvcmUgb2YgTUVNRlMuIElmIHdlIHdhbnQgdG8ga2VlcCB0aGlzIGxh
enkgZmlsZSBjb25jZXB0IEkgZmVlbCBpdCBzaG91bGQKLSAgICAgICAgLy8gYmUgaXRzIG93biB0
aGluIExBWllGUyBwcm94eWluZyBjYWxscyB0byBNRU1GUy4KLSAgICAgICAgaWYgKHByb3BlcnRp
ZXMuY29udGVudHMpIHsKLSAgICAgICAgICBub2RlLmNvbnRlbnRzID0gcHJvcGVydGllcy5jb250
ZW50czsKLSAgICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0aWVzLnVybCkgewotICAgICAgICAgIG5v
ZGUuY29udGVudHMgPSBudWxsOwotICAgICAgICAgIG5vZGUudXJsID0gcHJvcGVydGllcy51cmw7
Ci0gICAgICAgIH0KLSAgICAgICAgLy8gb3ZlcnJpZGUgZWFjaCBzdHJlYW0gb3Agd2l0aCBvbmUg
dGhhdCB0cmllcyB0byBmb3JjZSBsb2FkIHRoZSBsYXp5IGZpbGUgZmlyc3QKLSAgICAgICAgdmFy
IHN0cmVhbV9vcHMgPSB7fTsKLSAgICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhub2RlLnN0
cmVhbV9vcHMpOwotICAgICAgICBrZXlzLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7Ci0gICAgICAg
ICAgdmFyIGZuID0gbm9kZS5zdHJlYW1fb3BzW2tleV07Ci0gICAgICAgICAgc3RyZWFtX29wc1tr
ZXldID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAoIUZTLmZvcmNlTG9hZEZpbGUobm9k
ZSkpIHsKLSAgICAgICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMu
RUlPKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBmbi5hcHBseShudWxsLCBh
cmd1bWVudHMpOwotICAgICAgICAgIH07Ci0gICAgICAgIH0pOwotICAgICAgICAvLyB1c2UgYSBj
dXN0b20gcmVhZCBmdW5jdGlvbgotICAgICAgICBzdHJlYW1fb3BzLnJlYWQgPSBmdW5jdGlvbihz
dHJlYW0sIGJ1ZmZlciwgb2Zmc2V0LCBsZW5ndGgsIHBvc2l0aW9uKSB7Ci0gICAgICAgICAgaWYg
KCFGUy5mb3JjZUxvYWRGaWxlKG5vZGUpKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJy
bm9FcnJvcihFUlJOT19DT0RFUy5FSU8pOwotICAgICAgICAgIH0KLSAgICAgICAgICB2YXIgY29u
dGVudHMgPSBzdHJlYW0ubm9kZS5jb250ZW50czsKLSAgICAgICAgICB2YXIgc2l6ZSA9IE1hdGgu
bWluKGNvbnRlbnRzLmxlbmd0aCAtIHBvc2l0aW9uLCBsZW5ndGgpOwotICAgICAgICAgIGlmIChj
b250ZW50cy5zbGljZSkgeyAvLyBub3JtYWwgYXJyYXkKLSAgICAgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgc2l6ZTsgaSsrKSB7Ci0gICAgICAgICAgICAgIGJ1ZmZlcltvZmZzZXQgKyBpXSA9
IGNvbnRlbnRzW3Bvc2l0aW9uICsgaV07Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7IC8vIExhenlV
aW50OEFycmF5IGZyb20gc3luYyBiaW5hcnkgWEhSCi0gICAgICAgICAgICAgIGJ1ZmZlcltvZmZz
ZXQgKyBpXSA9IGNvbnRlbnRzLmdldChwb3NpdGlvbiArIGkpOwotICAgICAgICAgICAgfQotICAg
ICAgICAgIH0KLSAgICAgICAgICByZXR1cm4gc2l6ZTsKLSAgICAgICAgfTsKLSAgICAgICAgbm9k
ZS5zdHJlYW1fb3BzID0gc3RyZWFtX29wczsKLSAgICAgICAgcmV0dXJuIG5vZGU7Ci0gICAgICB9
LGNyZWF0ZVByZWxvYWRlZEZpbGU6ZnVuY3Rpb24gKHBhcmVudCwgbmFtZSwgdXJsLCBjYW5SZWFk
LCBjYW5Xcml0ZSwgb25sb2FkLCBvbmVycm9yLCBkb250Q3JlYXRlRmlsZSkgewotICAgICAgICBC
cm93c2VyLmluaXQoKTsKLSAgICAgICAgLy8gVE9ETyB3ZSBzaG91bGQgYWxsb3cgcGVvcGxlIHRv
IGp1c3QgcGFzcyBpbiBhIGNvbXBsZXRlIGZpbGVuYW1lIGluc3RlYWQKLSAgICAgICAgLy8gb2Yg
cGFyZW50IGFuZCBuYW1lIGJlaW5nIHRoYXQgd2UganVzdCBqb2luIHRoZW0gYW55d2F5cwotICAg
ICAgICB2YXIgZnVsbG5hbWUgPSBQQVRILnJlc29sdmUoUEFUSC5qb2luKHBhcmVudCwgbmFtZSkp
OwotICAgICAgICBmdW5jdGlvbiBwcm9jZXNzRGF0YShieXRlQXJyYXkpIHsKLSAgICAgICAgICBm
dW5jdGlvbiBmaW5pc2goYnl0ZUFycmF5KSB7Ci0gICAgICAgICAgICBpZiAoIWRvbnRDcmVhdGVG
aWxlKSB7Ci0gICAgICAgICAgICAgIEZTLmNyZWF0ZURhdGFGaWxlKHBhcmVudCwgbmFtZSwgYnl0
ZUFycmF5LCBjYW5SZWFkLCBjYW5Xcml0ZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBp
ZiAob25sb2FkKSBvbmxvYWQoKTsKLSAgICAgICAgICAgIHJlbW92ZVJ1bkRlcGVuZGVuY3koJ2Nw
ICcgKyBmdWxsbmFtZSk7Ci0gICAgICAgICAgfQotICAgICAgICAgIHZhciBoYW5kbGVkID0gZmFs
c2U7Ci0gICAgICAgICAgTW9kdWxlWydwcmVsb2FkUGx1Z2lucyddLmZvckVhY2goZnVuY3Rpb24o
cGx1Z2luKSB7Ci0gICAgICAgICAgICBpZiAoaGFuZGxlZCkgcmV0dXJuOwotICAgICAgICAgICAg
aWYgKHBsdWdpblsnY2FuSGFuZGxlJ10oZnVsbG5hbWUpKSB7Ci0gICAgICAgICAgICAgIHBsdWdp
blsnaGFuZGxlJ10oYnl0ZUFycmF5LCBmdWxsbmFtZSwgZmluaXNoLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICBpZiAob25lcnJvcikgb25lcnJvcigpOwotICAgICAgICAgICAgICAgIHJl
bW92ZVJ1bkRlcGVuZGVuY3koJ2NwICcgKyBmdWxsbmFtZSk7Ci0gICAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICB9
KTsKLSAgICAgICAgICBpZiAoIWhhbmRsZWQpIGZpbmlzaChieXRlQXJyYXkpOwotICAgICAgICB9
Ci0gICAgICAgIGFkZFJ1bkRlcGVuZGVuY3koJ2NwICcgKyBmdWxsbmFtZSk7Ci0gICAgICAgIGlm
ICh0eXBlb2YgdXJsID09ICdzdHJpbmcnKSB7Ci0gICAgICAgICAgQnJvd3Nlci5hc3luY0xvYWQo
dXJsLCBmdW5jdGlvbihieXRlQXJyYXkpIHsKLSAgICAgICAgICAgIHByb2Nlc3NEYXRhKGJ5dGVB
cnJheSk7Ci0gICAgICAgICAgfSwgb25lcnJvcik7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgcHJvY2Vzc0RhdGEodXJsKTsKLSAgICAgICAgfQotICAgICAgfSxjcmVhdGVEZWZhdWx0RGly
ZWN0b3JpZXM6ZnVuY3Rpb24gKCkgewotICAgICAgICBGUy5ta2RpcignL3RtcCcsIDA3NzcpOwot
ICAgICAgfSxjcmVhdGVEZWZhdWx0RGV2aWNlczpmdW5jdGlvbiAoKSB7Ci0gICAgICAgIC8vIGNy
ZWF0ZSAvZGV2Ci0gICAgICAgIEZTLm1rZGlyKCcvZGV2JywgMDc3Nyk7Ci0gICAgICAgIC8vIHNl
dHVwIC9kZXYvbnVsbAotICAgICAgICBGUy5yZWdpc3RlckRldmljZShGUy5tYWtlZGV2KDEsIDMp
LCB7Ci0gICAgICAgICAgcmVhZDogZnVuY3Rpb24oKSB7IHJldHVybiAwOyB9LAotICAgICAgICAg
IHdyaXRlOiBmdW5jdGlvbigpIHsgcmV0dXJuIDA7IH0KLSAgICAgICAgfSk7Ci0gICAgICAgIEZT
Lm1rZGV2KCcvZGV2L251bGwnLCAwNjY2LCBGUy5tYWtlZGV2KDEsIDMpKTsKLSAgICAgICAgLy8g
c2V0dXAgL2Rldi90dHkgYW5kIC9kZXYvdHR5MQotICAgICAgICAvLyBzdGRlcnIgbmVlZHMgdG8g
cHJpbnQgb3V0cHV0IHVzaW5nIE1vZHVsZVsncHJpbnRFcnInXQotICAgICAgICAvLyBzbyB3ZSBy
ZWdpc3RlciBhIHNlY29uZCB0dHkganVzdCBmb3IgaXQuCi0gICAgICAgIFRUWS5yZWdpc3RlcihG
Uy5tYWtlZGV2KDUsIDApLCBUVFkuZGVmYXVsdF90dHlfb3BzKTsKLSAgICAgICAgVFRZLnJlZ2lz
dGVyKEZTLm1ha2VkZXYoNiwgMCksIFRUWS5kZWZhdWx0X3R0eTFfb3BzKTsKLSAgICAgICAgRlMu
bWtkZXYoJy9kZXYvdHR5JywgMDY2NiwgRlMubWFrZWRldig1LCAwKSk7Ci0gICAgICAgIEZTLm1r
ZGV2KCcvZGV2L3R0eTEnLCAwNjY2LCBGUy5tYWtlZGV2KDYsIDApKTsKLSAgICAgICAgLy8gd2Un
cmUgbm90IGdvaW5nIHRvIGVtdWxhdGUgdGhlIGFjdHVhbCBzaG0gZGV2aWNlLAotICAgICAgICAv
LyBqdXN0IGNyZWF0ZSB0aGUgdG1wIGRpcnMgdGhhdCByZXNpZGUgaW4gaXQgY29tbW9ubHkKLSAg
ICAgICAgRlMubWtkaXIoJy9kZXYvc2htJywgMDc3Nyk7Ci0gICAgICAgIEZTLm1rZGlyKCcvZGV2
L3NobS90bXAnLCAwNzc3KTsKLSAgICAgIH0sY3JlYXRlU3RhbmRhcmRTdHJlYW1zOmZ1bmN0aW9u
ICgpIHsKLSAgICAgICAgLy8gVE9ETyBkZXByZWNhdGUgdGhlIG9sZCBmdW5jdGlvbmFsaXR5IG9m
IGEgc2luZ2xlCi0gICAgICAgIC8vIGlucHV0IC8gb3V0cHV0IGNhbGxiYWNrIGFuZCB0aGF0IHV0
aWxpemVzIEZTLmNyZWF0ZURldmljZQotICAgICAgICAvLyBhbmQgaW5zdGVhZCByZXF1aXJlIGEg
dW5pcXVlIHNldCBvZiBzdHJlYW0gb3BzCi0gICAgICAgIC8vIGJ5IGRlZmF1bHQsIHdlIHN5bWxp
bmsgdGhlIHN0YW5kYXJkIHN0cmVhbXMgdG8gdGhlCi0gICAgICAgIC8vIGRlZmF1bHQgdHR5IGRl
dmljZXMuIGhvd2V2ZXIsIGlmIHRoZSBzdGFuZGFyZCBzdHJlYW1zCi0gICAgICAgIC8vIGhhdmUg
YmVlbiBvdmVyd3JpdHRlbiB3ZSBjcmVhdGUgYSB1bmlxdWUgZGV2aWNlIGZvcgotICAgICAgICAv
LyB0aGVtIGluc3RlYWQuCi0gICAgICAgIGlmIChNb2R1bGVbJ3N0ZGluJ10pIHsKLSAgICAgICAg
ICBGUy5jcmVhdGVEZXZpY2UoJy9kZXYnLCAnc3RkaW4nLCBNb2R1bGVbJ3N0ZGluJ10pOwotICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgIEZTLnN5bWxpbmsoJy9kZXYvdHR5JywgJy9kZXYvc3Rk
aW4nKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoTW9kdWxlWydzdGRvdXQnXSkgewotICAgICAg
ICAgIEZTLmNyZWF0ZURldmljZSgnL2RldicsICdzdGRvdXQnLCBudWxsLCBNb2R1bGVbJ3N0ZG91
dCddKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICBGUy5zeW1saW5rKCcvZGV2L3R0eScs
ICcvZGV2L3N0ZG91dCcpOwotICAgICAgICB9Ci0gICAgICAgIGlmIChNb2R1bGVbJ3N0ZGVycidd
KSB7Ci0gICAgICAgICAgRlMuY3JlYXRlRGV2aWNlKCcvZGV2JywgJ3N0ZGVycicsIG51bGwsIE1v
ZHVsZVsnc3RkZXJyJ10pOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIEZTLnN5bWxpbmso
Jy9kZXYvdHR5MScsICcvZGV2L3N0ZGVycicpOwotICAgICAgICB9Ci0gICAgICAgIC8vIG9wZW4g
ZGVmYXVsdCBzdHJlYW1zIGZvciB0aGUgc3RkaW4sIHN0ZG91dCBhbmQgc3RkZXJyIGRldmljZXMK
LSAgICAgICAgdmFyIHN0ZGluID0gRlMub3BlbignL2Rldi9zdGRpbicsICdyJyk7Ci0gICAgICAg
IEhFQVAzMlsoKF9zdGRpbik+PjIpXT1zdGRpbi5mZDsKLSAgICAgICAgYXNzZXJ0KHN0ZGluLmZk
ID09PSAxLCAnaW52YWxpZCBoYW5kbGUgZm9yIHN0ZGluICgnICsgc3RkaW4uZmQgKyAnKScpOwot
ICAgICAgICB2YXIgc3Rkb3V0ID0gRlMub3BlbignL2Rldi9zdGRvdXQnLCAndycpOwotICAgICAg
ICBIRUFQMzJbKChfc3Rkb3V0KT4+MildPXN0ZG91dC5mZDsKLSAgICAgICAgYXNzZXJ0KHN0ZG91
dC5mZCA9PT0gMiwgJ2ludmFsaWQgaGFuZGxlIGZvciBzdGRvdXQgKCcgKyBzdGRvdXQuZmQgKyAn
KScpOwotICAgICAgICB2YXIgc3RkZXJyID0gRlMub3BlbignL2Rldi9zdGRlcnInLCAndycpOwot
ICAgICAgICBIRUFQMzJbKChfc3RkZXJyKT4+MildPXN0ZGVyci5mZDsKLSAgICAgICAgYXNzZXJ0
KHN0ZGVyci5mZCA9PT0gMywgJ2ludmFsaWQgaGFuZGxlIGZvciBzdGRlcnIgKCcgKyBzdGRlcnIu
ZmQgKyAnKScpOwotICAgICAgfSxzdGF0aWNJbml0OmZ1bmN0aW9uICgpIHsKLSAgICAgICAgRlMu
bmFtZV90YWJsZSA9IG5ldyBBcnJheSg0MDk2KTsKLSAgICAgICAgRlMucm9vdCA9IEZTLmNyZWF0
ZU5vZGUobnVsbCwgJy8nLCAwMDQwMDAwIHwgMDc3NywgMCk7Ci0gICAgICAgIEZTLm1vdW50KE1F
TUZTLCB7fSwgJy8nKTsKLSAgICAgICAgRlMuY3JlYXRlRGVmYXVsdERpcmVjdG9yaWVzKCk7Ci0g
ICAgICAgIEZTLmNyZWF0ZURlZmF1bHREZXZpY2VzKCk7Ci0gICAgICB9LGluaXQ6ZnVuY3Rpb24g
KGlucHV0LCBvdXRwdXQsIGVycm9yKSB7Ci0gICAgICAgIGFzc2VydCghRlMuaW5pdC5pbml0aWFs
aXplZCwgJ0ZTLmluaXQgd2FzIHByZXZpb3VzbHkgY2FsbGVkLiBJZiB5b3Ugd2FudCB0byBpbml0
aWFsaXplIGxhdGVyIHdpdGggY3VzdG9tIHBhcmFtZXRlcnMsIHJlbW92ZSBhbnkgZWFybGllciBj
YWxscyAobm90ZSB0aGF0IG9uZSBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBnZW5lcmF0
ZWQgY29kZSknKTsKLSAgICAgICAgRlMuaW5pdC5pbml0aWFsaXplZCA9IHRydWU7Ci0gICAgICAg
IC8vIEFsbG93IE1vZHVsZS5zdGRpbiBldGMuIHRvIHByb3ZpZGUgZGVmYXVsdHMsIGlmIG5vbmUg
ZXhwbGljaXRseSBwYXNzZWQgdG8gdXMgaGVyZQotICAgICAgICBNb2R1bGVbJ3N0ZGluJ10gPSBp
bnB1dCB8fCBNb2R1bGVbJ3N0ZGluJ107Ci0gICAgICAgIE1vZHVsZVsnc3Rkb3V0J10gPSBvdXRw
dXQgfHwgTW9kdWxlWydzdGRvdXQnXTsKLSAgICAgICAgTW9kdWxlWydzdGRlcnInXSA9IGVycm9y
IHx8IE1vZHVsZVsnc3RkZXJyJ107Ci0gICAgICAgIEZTLmNyZWF0ZVN0YW5kYXJkU3RyZWFtcygp
OwotICAgICAgfSxxdWl0OmZ1bmN0aW9uICgpIHsKLSAgICAgICAgRlMuaW5pdC5pbml0aWFsaXpl
ZCA9IGZhbHNlOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IEZTLnN0cmVhbXMubGVuZ3Ro
OyBpKyspIHsKLSAgICAgICAgICB2YXIgc3RyZWFtID0gRlMuc3RyZWFtc1tpXTsKLSAgICAgICAg
ICBpZiAoIXN0cmVhbSkgewotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgfQotICAg
ICAgICAgIEZTLmNsb3NlKHN0cmVhbSk7Ci0gICAgICAgIH0KLSAgICAgIH0sbW91bnQ6ZnVuY3Rp
b24gKHR5cGUsIG9wdHMsIG1vdW50cG9pbnQpIHsKLSAgICAgICAgdmFyIG1vdW50ID0gewotICAg
ICAgICAgIHR5cGU6IHR5cGUsCi0gICAgICAgICAgb3B0czogb3B0cywKLSAgICAgICAgICBtb3Vu
dHBvaW50OiBtb3VudHBvaW50LAotICAgICAgICAgIHJvb3Q6IG51bGwKLSAgICAgICAgfTsKLSAg
ICAgICAgdmFyIGxvb2t1cDsKLSAgICAgICAgaWYgKG1vdW50cG9pbnQpIHsKLSAgICAgICAgICBs
b29rdXAgPSBGUy5sb29rdXBQYXRoKG1vdW50cG9pbnQsIHsgZm9sbG93OiBmYWxzZSB9KTsKLSAg
ICAgICAgfQotICAgICAgICAvLyBjcmVhdGUgYSByb290IG5vZGUgZm9yIHRoZSBmcwotICAgICAg
ICB2YXIgcm9vdCA9IHR5cGUubW91bnQobW91bnQpOwotICAgICAgICByb290Lm1vdW50ID0gbW91
bnQ7Ci0gICAgICAgIG1vdW50LnJvb3QgPSByb290OwotICAgICAgICAvLyBhc3NpZ24gdGhlIG1v
dW50IGluZm8gdG8gdGhlIG1vdW50cG9pbnQncyBub2RlCi0gICAgICAgIGlmIChsb29rdXApIHsK
LSAgICAgICAgICBsb29rdXAubm9kZS5tb3VudCA9IG1vdW50OwotICAgICAgICAgIGxvb2t1cC5u
b2RlLm1vdW50ZWQgPSB0cnVlOwotICAgICAgICAgIC8vIGNvbXBhdGliaWxpdHkgdXBkYXRlIEZT
LnJvb3QgaWYgd2UgbW91bnQgdG8gLwotICAgICAgICAgIGlmIChtb3VudHBvaW50ID09PSAnLycp
IHsKLSAgICAgICAgICAgIEZTLnJvb3QgPSBtb3VudC5yb290OwotICAgICAgICAgIH0KLSAgICAg
ICAgfQotICAgICAgICByZXR1cm4gcm9vdDsKLSAgICAgIH0sbG9va3VwOmZ1bmN0aW9uIChwYXJl
bnQsIG5hbWUpIHsKLSAgICAgICAgcmV0dXJuIHBhcmVudC5ub2RlX29wcy5sb29rdXAocGFyZW50
LCBuYW1lKTsKLSAgICAgIH0sbWtub2Q6ZnVuY3Rpb24gKHBhdGgsIG1vZGUsIGRldikgewotICAg
ICAgICB2YXIgbG9va3VwID0gRlMubG9va3VwUGF0aChwYXRoLCB7IHBhcmVudDogdHJ1ZSB9KTsK
LSAgICAgICAgdmFyIHBhcmVudCA9IGxvb2t1cC5ub2RlOwotICAgICAgICB2YXIgbmFtZSA9IFBB
VEguYmFzZW5hbWUocGF0aCk7Ci0gICAgICAgIHZhciBlcnIgPSBGUy5tYXlDcmVhdGUocGFyZW50
LCBuYW1lKTsKLSAgICAgICAgaWYgKGVycikgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJu
b0Vycm9yKGVycik7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCFwYXJlbnQubm9kZV9vcHMubWtu
b2QpIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FUEVS
TSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHBhcmVudC5ub2RlX29wcy5ta25vZChwYXJl
bnQsIG5hbWUsIG1vZGUsIGRldik7Ci0gICAgICB9LGNyZWF0ZTpmdW5jdGlvbiAocGF0aCwgbW9k
ZSkgewotICAgICAgICBtb2RlICY9IDQwOTU7Ci0gICAgICAgIG1vZGUgfD0gMDEwMDAwMDsKLSAg
ICAgICAgcmV0dXJuIEZTLm1rbm9kKHBhdGgsIG1vZGUsIDApOwotICAgICAgfSxta2RpcjpmdW5j
dGlvbiAocGF0aCwgbW9kZSkgewotICAgICAgICBtb2RlICY9IDUxMSB8IDAwMDEwMDA7Ci0gICAg
ICAgIG1vZGUgfD0gMDA0MDAwMDsKLSAgICAgICAgcmV0dXJuIEZTLm1rbm9kKHBhdGgsIG1vZGUs
IDApOwotICAgICAgfSxta2RldjpmdW5jdGlvbiAocGF0aCwgbW9kZSwgZGV2KSB7Ci0gICAgICAg
IG1vZGUgfD0gMDAyMDAwMDsKLSAgICAgICAgcmV0dXJuIEZTLm1rbm9kKHBhdGgsIG1vZGUsIGRl
dik7Ci0gICAgICB9LHN5bWxpbms6ZnVuY3Rpb24gKG9sZHBhdGgsIG5ld3BhdGgpIHsKLSAgICAg
ICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgobmV3cGF0aCwgeyBwYXJlbnQ6IHRydWUgfSk7
Ci0gICAgICAgIHZhciBwYXJlbnQgPSBsb29rdXAubm9kZTsKLSAgICAgICAgdmFyIG5ld25hbWUg
PSBQQVRILmJhc2VuYW1lKG5ld3BhdGgpOwotICAgICAgICB2YXIgZXJyID0gRlMubWF5Q3JlYXRl
KHBhcmVudCwgbmV3bmFtZSk7Ci0gICAgICAgIGlmIChlcnIpIHsKLSAgICAgICAgICB0aHJvdyBu
ZXcgRlMuRXJybm9FcnJvcihlcnIpOwotICAgICAgICB9Ci0gICAgICAgIGlmICghcGFyZW50Lm5v
ZGVfb3BzLnN5bWxpbmspIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJO
T19DT0RFUy5FUEVSTSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHBhcmVudC5ub2RlX29w
cy5zeW1saW5rKHBhcmVudCwgbmV3bmFtZSwgb2xkcGF0aCk7Ci0gICAgICB9LHJlbmFtZTpmdW5j
dGlvbiAob2xkX3BhdGgsIG5ld19wYXRoKSB7Ci0gICAgICAgIHZhciBvbGRfZGlybmFtZSA9IFBB
VEguZGlybmFtZShvbGRfcGF0aCk7Ci0gICAgICAgIHZhciBuZXdfZGlybmFtZSA9IFBBVEguZGly
bmFtZShuZXdfcGF0aCk7Ci0gICAgICAgIHZhciBvbGRfbmFtZSA9IFBBVEguYmFzZW5hbWUob2xk
X3BhdGgpOwotICAgICAgICB2YXIgbmV3X25hbWUgPSBQQVRILmJhc2VuYW1lKG5ld19wYXRoKTsK
LSAgICAgICAgLy8gcGFyZW50cyBtdXN0IGV4aXN0Ci0gICAgICAgIHZhciBsb29rdXAsIG9sZF9k
aXIsIG5ld19kaXI7Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgbG9va3VwID0gRlMubG9va3Vw
UGF0aChvbGRfcGF0aCwgeyBwYXJlbnQ6IHRydWUgfSk7Ci0gICAgICAgICAgb2xkX2RpciA9IGxv
b2t1cC5ub2RlOwotICAgICAgICAgIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgobmV3X3BhdGgsIHsg
cGFyZW50OiB0cnVlIH0pOwotICAgICAgICAgIG5ld19kaXIgPSBsb29rdXAubm9kZTsKLSAgICAg
ICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5P
X0NPREVTLkVCVVNZKTsKLSAgICAgICAgfQotICAgICAgICAvLyBuZWVkIHRvIGJlIHBhcnQgb2Yg
dGhlIHNhbWUgbW91bnQKLSAgICAgICAgaWYgKG9sZF9kaXIubW91bnQgIT09IG5ld19kaXIubW91
bnQpIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FWERF
Vik7Ci0gICAgICAgIH0KLSAgICAgICAgLy8gc291cmNlIG11c3QgZXhpc3QKLSAgICAgICAgdmFy
IG9sZF9ub2RlID0gRlMubG9va3VwTm9kZShvbGRfZGlyLCBvbGRfbmFtZSk7Ci0gICAgICAgIC8v
IG9sZCBwYXRoIHNob3VsZCBub3QgYmUgYW4gYW5jZXN0b3Igb2YgdGhlIG5ldyBwYXRoCi0gICAg
ICAgIHZhciByZWxhdGl2ZSA9IFBBVEgucmVsYXRpdmUob2xkX3BhdGgsIG5ld19kaXJuYW1lKTsK
LSAgICAgICAgaWYgKHJlbGF0aXZlLmNoYXJBdCgwKSAhPT0gJy4nKSB7Ci0gICAgICAgICAgdGhy
b3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKTsKLSAgICAgICAgfQotICAg
ICAgICAvLyBuZXcgcGF0aCBzaG91bGQgbm90IGJlIGFuIGFuY2VzdG9yIG9mIHRoZSBvbGQgcGF0
aAotICAgICAgICByZWxhdGl2ZSA9IFBBVEgucmVsYXRpdmUobmV3X3BhdGgsIG9sZF9kaXJuYW1l
KTsKLSAgICAgICAgaWYgKHJlbGF0aXZlLmNoYXJBdCgwKSAhPT0gJy4nKSB7Ci0gICAgICAgICAg
dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PVEVNUFRZKTsKLSAgICAgICAg
fQotICAgICAgICAvLyBzZWUgaWYgdGhlIG5ldyBwYXRoIGFscmVhZHkgZXhpc3RzCi0gICAgICAg
IHZhciBuZXdfbm9kZTsKLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICBuZXdfbm9kZSA9IEZTLmxv
b2t1cE5vZGUobmV3X2RpciwgbmV3X25hbWUpOwotICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAg
ICAgICAgLy8gbm90IGZhdGFsCi0gICAgICAgIH0KLSAgICAgICAgLy8gZWFybHkgb3V0IGlmIG5v
dGhpbmcgbmVlZHMgdG8gY2hhbmdlCi0gICAgICAgIGlmIChvbGRfbm9kZSA9PT0gbmV3X25vZGUp
IHsKLSAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgLy8gd2UnbGwgbmVlZCB0
byBkZWxldGUgdGhlIG9sZCBlbnRyeQotICAgICAgICB2YXIgaXNkaXIgPSBGUy5pc0RpcihvbGRf
bm9kZS5tb2RlKTsKLSAgICAgICAgdmFyIGVyciA9IEZTLm1heURlbGV0ZShvbGRfZGlyLCBvbGRf
bmFtZSwgaXNkaXIpOwotICAgICAgICBpZiAoZXJyKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZT
LkVycm5vRXJyb3IoZXJyKTsKLSAgICAgICAgfQotICAgICAgICAvLyBuZWVkIGRlbGV0ZSBwZXJt
aXNzaW9ucyBpZiB3ZSdsbCBiZSBvdmVyd3JpdGluZy4KLSAgICAgICAgLy8gbmVlZCBjcmVhdGUg
cGVybWlzc2lvbnMgaWYgbmV3IGRvZXNuJ3QgYWxyZWFkeSBleGlzdC4KLSAgICAgICAgZXJyID0g
bmV3X25vZGUgPwotICAgICAgICAgIEZTLm1heURlbGV0ZShuZXdfZGlyLCBuZXdfbmFtZSwgaXNk
aXIpIDoKLSAgICAgICAgICBGUy5tYXlDcmVhdGUobmV3X2RpciwgbmV3X25hbWUpOwotICAgICAg
ICBpZiAoZXJyKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoZXJyKTsKLSAg
ICAgICAgfQotICAgICAgICBpZiAoIW9sZF9kaXIubm9kZV9vcHMucmVuYW1lKSB7Ci0gICAgICAg
ICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRVBFUk0pOwotICAgICAgICB9
Ci0gICAgICAgIGlmIChGUy5pc01vdW50cG9pbnQob2xkX25vZGUpIHx8IChuZXdfbm9kZSAmJiBG
Uy5pc01vdW50cG9pbnQobmV3X25vZGUpKSkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJu
b0Vycm9yKEVSUk5PX0NPREVTLkVCVVNZKTsKLSAgICAgICAgfQotICAgICAgICAvLyBpZiB3ZSBh
cmUgZ29pbmcgdG8gY2hhbmdlIHRoZSBwYXJlbnQsIGNoZWNrIHdyaXRlIHBlcm1pc3Npb25zCi0g
ICAgICAgIGlmIChuZXdfZGlyICE9PSBvbGRfZGlyKSB7Ci0gICAgICAgICAgZXJyID0gRlMubm9k
ZVBlcm1pc3Npb25zKG9sZF9kaXIsICd3Jyk7Ci0gICAgICAgICAgaWYgKGVycikgewotICAgICAg
ICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoZXJyKTsKLSAgICAgICAgICB9Ci0gICAgICAg
IH0KLSAgICAgICAgLy8gcmVtb3ZlIHRoZSBub2RlIGZyb20gdGhlIGxvb2t1cCBoYXNoCi0gICAg
ICAgIEZTLmhhc2hSZW1vdmVOb2RlKG9sZF9ub2RlKTsKLSAgICAgICAgLy8gZG8gdGhlIHVuZGVy
bHlpbmcgZnMgcmVuYW1lCi0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgb2xkX2Rpci5ub2RlX29w
cy5yZW5hbWUob2xkX25vZGUsIG5ld19kaXIsIG5ld19uYW1lKTsKLSAgICAgICAgfSBjYXRjaCAo
ZSkgewotICAgICAgICAgIHRocm93IGU7Ci0gICAgICAgIH0gZmluYWxseSB7Ci0gICAgICAgICAg
Ly8gYWRkIHRoZSBub2RlIGJhY2sgdG8gdGhlIGhhc2ggKGluIGNhc2Ugbm9kZV9vcHMucmVuYW1l
Ci0gICAgICAgICAgLy8gY2hhbmdlZCBpdHMgbmFtZSkKLSAgICAgICAgICBGUy5oYXNoQWRkTm9k
ZShvbGRfbm9kZSk7Ci0gICAgICAgIH0KLSAgICAgIH0scm1kaXI6ZnVuY3Rpb24gKHBhdGgpIHsK
LSAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgocGF0aCwgeyBwYXJlbnQ6IHRydWUg
fSk7Ci0gICAgICAgIHZhciBwYXJlbnQgPSBsb29rdXAubm9kZTsKLSAgICAgICAgdmFyIG5hbWUg
PSBQQVRILmJhc2VuYW1lKHBhdGgpOwotICAgICAgICB2YXIgbm9kZSA9IEZTLmxvb2t1cE5vZGUo
cGFyZW50LCBuYW1lKTsKLSAgICAgICAgdmFyIGVyciA9IEZTLm1heURlbGV0ZShwYXJlbnQsIG5h
bWUsIHRydWUpOwotICAgICAgICBpZiAoZXJyKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVy
cm5vRXJyb3IoZXJyKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoIXBhcmVudC5ub2RlX29wcy5y
bWRpcikgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVQ
RVJNKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoRlMuaXNNb3VudHBvaW50KG5vZGUpKSB7Ci0g
ICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUJVU1kpOwotICAg
ICAgICB9Ci0gICAgICAgIHBhcmVudC5ub2RlX29wcy5ybWRpcihwYXJlbnQsIG5hbWUpOwotICAg
ICAgICBGUy5kZXN0cm95Tm9kZShub2RlKTsKLSAgICAgIH0scmVhZGRpcjpmdW5jdGlvbiAocGF0
aCkgewotICAgICAgICB2YXIgbG9va3VwID0gRlMubG9va3VwUGF0aChwYXRoLCB7IGZvbGxvdzog
dHJ1ZSB9KTsKLSAgICAgICAgdmFyIG5vZGUgPSBsb29rdXAubm9kZTsKLSAgICAgICAgaWYgKCFu
b2RlLm5vZGVfb3BzLnJlYWRkaXIpIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJv
cihFUlJOT19DT0RFUy5FTk9URElSKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gbm9kZS5u
b2RlX29wcy5yZWFkZGlyKG5vZGUpOwotICAgICAgfSx1bmxpbms6ZnVuY3Rpb24gKHBhdGgpIHsK
LSAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgocGF0aCwgeyBwYXJlbnQ6IHRydWUg
fSk7Ci0gICAgICAgIHZhciBwYXJlbnQgPSBsb29rdXAubm9kZTsKLSAgICAgICAgdmFyIG5hbWUg
PSBQQVRILmJhc2VuYW1lKHBhdGgpOwotICAgICAgICB2YXIgbm9kZSA9IEZTLmxvb2t1cE5vZGUo
cGFyZW50LCBuYW1lKTsKLSAgICAgICAgdmFyIGVyciA9IEZTLm1heURlbGV0ZShwYXJlbnQsIG5h
bWUsIGZhbHNlKTsKLSAgICAgICAgaWYgKGVycikgewotICAgICAgICAgIC8vIFBPU0lYIHNheXMg
dW5saW5rIHNob3VsZCBzZXQgRVBFUk0sIG5vdCBFSVNESVIKLSAgICAgICAgICBpZiAoZXJyID09
PSBFUlJOT19DT0RFUy5FSVNESVIpIGVyciA9IEVSUk5PX0NPREVTLkVQRVJNOwotICAgICAgICAg
IHRocm93IG5ldyBGUy5FcnJub0Vycm9yKGVycik7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCFw
YXJlbnQubm9kZV9vcHMudW5saW5rKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJy
b3IoRVJSTk9fQ09ERVMuRVBFUk0pOwotICAgICAgICB9Ci0gICAgICAgIGlmIChGUy5pc01vdW50
cG9pbnQobm9kZSkpIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19D
T0RFUy5FQlVTWSk7Ci0gICAgICAgIH0KLSAgICAgICAgcGFyZW50Lm5vZGVfb3BzLnVubGluayhw
YXJlbnQsIG5hbWUpOwotICAgICAgICBGUy5kZXN0cm95Tm9kZShub2RlKTsKLSAgICAgIH0scmVh
ZGxpbms6ZnVuY3Rpb24gKHBhdGgpIHsKLSAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBh
dGgocGF0aCwgeyBmb2xsb3c6IGZhbHNlIH0pOwotICAgICAgICB2YXIgbGluayA9IGxvb2t1cC5u
b2RlOwotICAgICAgICBpZiAoIWxpbmsubm9kZV9vcHMucmVhZGxpbmspIHsKLSAgICAgICAgICB0
aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpOwotICAgICAgICB9Ci0g
ICAgICAgIHJldHVybiBsaW5rLm5vZGVfb3BzLnJlYWRsaW5rKGxpbmspOwotICAgICAgfSxzdGF0
OmZ1bmN0aW9uIChwYXRoLCBkb250Rm9sbG93KSB7Ci0gICAgICAgIHZhciBsb29rdXAgPSBGUy5s
b29rdXBQYXRoKHBhdGgsIHsgZm9sbG93OiAhZG9udEZvbGxvdyB9KTsKLSAgICAgICAgdmFyIG5v
ZGUgPSBsb29rdXAubm9kZTsKLSAgICAgICAgaWYgKCFub2RlLm5vZGVfb3BzLmdldGF0dHIpIHsK
LSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FUEVSTSk7Ci0g
ICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG5vZGUubm9kZV9vcHMuZ2V0YXR0cihub2RlKTsKLSAg
ICAgIH0sbHN0YXQ6ZnVuY3Rpb24gKHBhdGgpIHsKLSAgICAgICAgcmV0dXJuIEZTLnN0YXQocGF0
aCwgdHJ1ZSk7Ci0gICAgICB9LGNobW9kOmZ1bmN0aW9uIChwYXRoLCBtb2RlLCBkb250Rm9sbG93
KSB7Ci0gICAgICAgIHZhciBub2RlOwotICAgICAgICBpZiAodHlwZW9mIHBhdGggPT09ICdzdHJp
bmcnKSB7Ci0gICAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgocGF0aCwgeyBmb2xs
b3c6ICFkb250Rm9sbG93IH0pOwotICAgICAgICAgIG5vZGUgPSBsb29rdXAubm9kZTsKLSAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICBub2RlID0gcGF0aDsKLSAgICAgICAgfQotICAgICAgICBp
ZiAoIW5vZGUubm9kZV9vcHMuc2V0YXR0cikgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJu
b0Vycm9yKEVSUk5PX0NPREVTLkVQRVJNKTsKLSAgICAgICAgfQotICAgICAgICBub2RlLm5vZGVf
b3BzLnNldGF0dHIobm9kZSwgewotICAgICAgICAgIG1vZGU6IChtb2RlICYgNDA5NSkgfCAobm9k
ZS5tb2RlICYgfjQwOTUpLAotICAgICAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKQotICAgICAg
ICB9KTsKLSAgICAgIH0sbGNobW9kOmZ1bmN0aW9uIChwYXRoLCBtb2RlKSB7Ci0gICAgICAgIEZT
LmNobW9kKHBhdGgsIG1vZGUsIHRydWUpOwotICAgICAgfSxmY2htb2Q6ZnVuY3Rpb24gKGZkLCBt
b2RlKSB7Ci0gICAgICAgIHZhciBzdHJlYW0gPSBGUy5nZXRTdHJlYW0oZmQpOwotICAgICAgICBp
ZiAoIXN0cmVhbSkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NP
REVTLkVCQURGKTsKLSAgICAgICAgfQotICAgICAgICBGUy5jaG1vZChzdHJlYW0ubm9kZSwgbW9k
ZSk7Ci0gICAgICB9LGNob3duOmZ1bmN0aW9uIChwYXRoLCB1aWQsIGdpZCwgZG9udEZvbGxvdykg
ewotICAgICAgICB2YXIgbm9kZTsKLSAgICAgICAgaWYgKHR5cGVvZiBwYXRoID09PSAnc3RyaW5n
JykgewotICAgICAgICAgIHZhciBsb29rdXAgPSBGUy5sb29rdXBQYXRoKHBhdGgsIHsgZm9sbG93
OiAhZG9udEZvbGxvdyB9KTsKLSAgICAgICAgICBub2RlID0gbG9va3VwLm5vZGU7Ci0gICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgbm9kZSA9IHBhdGg7Ci0gICAgICAgIH0KLSAgICAgICAgaWYg
KCFub2RlLm5vZGVfb3BzLnNldGF0dHIpIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9F
cnJvcihFUlJOT19DT0RFUy5FUEVSTSk7Ci0gICAgICAgIH0KLSAgICAgICAgbm9kZS5ub2RlX29w
cy5zZXRhdHRyKG5vZGUsIHsKLSAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCkKLSAgICAg
ICAgICAvLyB3ZSBpZ25vcmUgdGhlIHVpZCAvIGdpZCBmb3Igbm93Ci0gICAgICAgIH0pOwotICAg
ICAgfSxsY2hvd246ZnVuY3Rpb24gKHBhdGgsIHVpZCwgZ2lkKSB7Ci0gICAgICAgIEZTLmNob3du
KHBhdGgsIHVpZCwgZ2lkLCB0cnVlKTsKLSAgICAgIH0sZmNob3duOmZ1bmN0aW9uIChmZCwgdWlk
LCBnaWQpIHsKLSAgICAgICAgdmFyIHN0cmVhbSA9IEZTLmdldFN0cmVhbShmZCk7Ci0gICAgICAg
IGlmICghc3RyZWFtKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9f
Q09ERVMuRUJBREYpOwotICAgICAgICB9Ci0gICAgICAgIEZTLmNob3duKHN0cmVhbS5ub2RlLCB1
aWQsIGdpZCk7Ci0gICAgICB9LHRydW5jYXRlOmZ1bmN0aW9uIChwYXRoLCBsZW4pIHsKLSAgICAg
ICAgaWYgKGxlbiA8IDApIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJO
T19DT0RFUy5FSU5WQUwpOwotICAgICAgICB9Ci0gICAgICAgIHZhciBub2RlOwotICAgICAgICBp
ZiAodHlwZW9mIHBhdGggPT09ICdzdHJpbmcnKSB7Ci0gICAgICAgICAgdmFyIGxvb2t1cCA9IEZT
Lmxvb2t1cFBhdGgocGF0aCwgeyBmb2xsb3c6IHRydWUgfSk7Ci0gICAgICAgICAgbm9kZSA9IGxv
b2t1cC5ub2RlOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIG5vZGUgPSBwYXRoOwotICAg
ICAgICB9Ci0gICAgICAgIGlmICghbm9kZS5ub2RlX29wcy5zZXRhdHRyKSB7Ci0gICAgICAgICAg
dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRVBFUk0pOwotICAgICAgICB9Ci0g
ICAgICAgIGlmIChGUy5pc0Rpcihub2RlLm1vZGUpKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZT
LkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlTRElSKTsKLSAgICAgICAgfQotICAgICAgICBpZiAo
IUZTLmlzRmlsZShub2RlLm1vZGUpKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJy
b3IoRVJSTk9fQ09ERVMuRUlOVkFMKTsKLSAgICAgICAgfQotICAgICAgICB2YXIgZXJyID0gRlMu
bm9kZVBlcm1pc3Npb25zKG5vZGUsICd3Jyk7Ci0gICAgICAgIGlmIChlcnIpIHsKLSAgICAgICAg
ICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihlcnIpOwotICAgICAgICB9Ci0gICAgICAgIG5vZGUu
bm9kZV9vcHMuc2V0YXR0cihub2RlLCB7Ci0gICAgICAgICAgc2l6ZTogbGVuLAotICAgICAgICAg
IHRpbWVzdGFtcDogRGF0ZS5ub3coKQotICAgICAgICB9KTsKLSAgICAgIH0sZnRydW5jYXRlOmZ1
bmN0aW9uIChmZCwgbGVuKSB7Ci0gICAgICAgIHZhciBzdHJlYW0gPSBGUy5nZXRTdHJlYW0oZmQp
OwotICAgICAgICBpZiAoIXN0cmVhbSkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vy
cm9yKEVSUk5PX0NPREVTLkVCQURGKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoKHN0cmVhbS5m
bGFncyAmIDMpID09PSAwKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJS
Tk9fQ09ERVMuRUlOVkFMKTsKLSAgICAgICAgfQotICAgICAgICBGUy50cnVuY2F0ZShzdHJlYW0u
bm9kZSwgbGVuKTsKLSAgICAgIH0sdXRpbWU6ZnVuY3Rpb24gKHBhdGgsIGF0aW1lLCBtdGltZSkg
ewotICAgICAgICB2YXIgbG9va3VwID0gRlMubG9va3VwUGF0aChwYXRoLCB7IGZvbGxvdzogdHJ1
ZSB9KTsKLSAgICAgICAgdmFyIG5vZGUgPSBsb29rdXAubm9kZTsKLSAgICAgICAgbm9kZS5ub2Rl
X29wcy5zZXRhdHRyKG5vZGUsIHsKLSAgICAgICAgICB0aW1lc3RhbXA6IE1hdGgubWF4KGF0aW1l
LCBtdGltZSkKLSAgICAgICAgfSk7Ci0gICAgICB9LG9wZW46ZnVuY3Rpb24gKHBhdGgsIGZsYWdz
LCBtb2RlLCBmZF9zdGFydCwgZmRfZW5kKSB7Ci0gICAgICAgIHBhdGggPSBQQVRILm5vcm1hbGl6
ZShwYXRoKTsKLSAgICAgICAgZmxhZ3MgPSB0eXBlb2YgZmxhZ3MgPT09ICdzdHJpbmcnID8gRlMu
bW9kZVN0cmluZ1RvRmxhZ3MoZmxhZ3MpIDogZmxhZ3M7Ci0gICAgICAgIG1vZGUgPSB0eXBlb2Yg
bW9kZSA9PT0gJ3VuZGVmaW5lZCcgPyAwNjY2IDogbW9kZTsKLSAgICAgICAgaWYgKChmbGFncyAm
IDUxMikpIHsKLSAgICAgICAgICBtb2RlID0gKG1vZGUgJiA0MDk1KSB8IDAxMDAwMDA7Ci0gICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgbW9kZSA9IDA7Ci0gICAgICAgIH0KLSAgICAgICAgdmFy
IG5vZGU7Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBh
dGgocGF0aCwgewotICAgICAgICAgICAgZm9sbG93OiAhKGZsYWdzICYgMDIwMDAwMCkKLSAgICAg
ICAgICB9KTsKLSAgICAgICAgICBub2RlID0gbG9va3VwLm5vZGU7Ci0gICAgICAgICAgcGF0aCA9
IGxvb2t1cC5wYXRoOwotICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgLy8gaWdub3Jl
Ci0gICAgICAgIH0KLSAgICAgICAgLy8gcGVyaGFwcyB3ZSBuZWVkIHRvIGNyZWF0ZSB0aGUgbm9k
ZQotICAgICAgICBpZiAoKGZsYWdzICYgNTEyKSkgewotICAgICAgICAgIGlmIChub2RlKSB7Ci0g
ICAgICAgICAgICAvLyBpZiBPX0NSRUFUIGFuZCBPX0VYQ0wgYXJlIHNldCwgZXJyb3Igb3V0IGlm
IHRoZSBub2RlIGFscmVhZHkgZXhpc3RzCi0gICAgICAgICAgICBpZiAoKGZsYWdzICYgMjA0OCkp
IHsKLSAgICAgICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUVY
SVNUKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8g
bm9kZSBkb2Vzbid0IGV4aXN0LCB0cnkgdG8gY3JlYXRlIGl0Ci0gICAgICAgICAgICBub2RlID0g
RlMubWtub2QocGF0aCwgbW9kZSwgMCk7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAg
IGlmICghbm9kZSkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NP
REVTLkVOT0VOVCk7Ci0gICAgICAgIH0KLSAgICAgICAgLy8gY2FuJ3QgdHJ1bmNhdGUgYSBkZXZp
Y2UKLSAgICAgICAgaWYgKEZTLmlzQ2hyZGV2KG5vZGUubW9kZSkpIHsKLSAgICAgICAgICBmbGFn
cyAmPSB+MTAyNDsKLSAgICAgICAgfQotICAgICAgICAvLyBjaGVjayBwZXJtaXNzaW9ucwotICAg
ICAgICB2YXIgZXJyID0gRlMubWF5T3Blbihub2RlLCBmbGFncyk7Ci0gICAgICAgIGlmIChlcnIp
IHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihlcnIpOwotICAgICAgICB9Ci0g
ICAgICAgIC8vIGRvIHRydW5jYXRpb24gaWYgbmVjZXNzYXJ5Ci0gICAgICAgIGlmICgoZmxhZ3Mg
JiAxMDI0KSkgewotICAgICAgICAgIEZTLnRydW5jYXRlKG5vZGUsIDApOwotICAgICAgICB9Ci0g
ICAgICAgIC8vIHJlZ2lzdGVyIHRoZSBzdHJlYW0gd2l0aCB0aGUgZmlsZXN5c3RlbQotICAgICAg
ICB2YXIgc3RyZWFtID0gRlMuY3JlYXRlU3RyZWFtKHsKLSAgICAgICAgICBwYXRoOiBwYXRoLAot
ICAgICAgICAgIG5vZGU6IG5vZGUsCi0gICAgICAgICAgZmxhZ3M6IGZsYWdzLAotICAgICAgICAg
IHNlZWthYmxlOiB0cnVlLAotICAgICAgICAgIHBvc2l0aW9uOiAwLAotICAgICAgICAgIHN0cmVh
bV9vcHM6IG5vZGUuc3RyZWFtX29wcywKLSAgICAgICAgICAvLyB1c2VkIGJ5IHRoZSBmaWxlIGZh
bWlseSBsaWJjIGNhbGxzIChmb3BlbiwgZndyaXRlLCBmZXJyb3IsIGV0Yy4pCi0gICAgICAgICAg
dW5nb3R0ZW46IFtdLAotICAgICAgICAgIGVycm9yOiBmYWxzZQotICAgICAgICB9LCBmZF9zdGFy
dCwgZmRfZW5kKTsKLSAgICAgICAgLy8gY2FsbCB0aGUgbmV3IHN0cmVhbSdzIG9wZW4gZnVuY3Rp
b24KLSAgICAgICAgaWYgKHN0cmVhbS5zdHJlYW1fb3BzLm9wZW4pIHsKLSAgICAgICAgICBzdHJl
YW0uc3RyZWFtX29wcy5vcGVuKHN0cmVhbSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHN0
cmVhbTsKLSAgICAgIH0sY2xvc2U6ZnVuY3Rpb24gKHN0cmVhbSkgewotICAgICAgICB0cnkgewot
ICAgICAgICAgIGlmIChzdHJlYW0uc3RyZWFtX29wcy5jbG9zZSkgewotICAgICAgICAgICAgc3Ry
ZWFtLnN0cmVhbV9vcHMuY2xvc2Uoc3RyZWFtKTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0gY2F0
Y2ggKGUpIHsKLSAgICAgICAgICB0aHJvdyBlOwotICAgICAgICB9IGZpbmFsbHkgewotICAgICAg
ICAgIEZTLmNsb3NlU3RyZWFtKHN0cmVhbS5mZCk7Ci0gICAgICAgIH0KLSAgICAgIH0sbGxzZWVr
OmZ1bmN0aW9uIChzdHJlYW0sIG9mZnNldCwgd2hlbmNlKSB7Ci0gICAgICAgIGlmICghc3RyZWFt
LnNlZWthYmxlIHx8ICFzdHJlYW0uc3RyZWFtX29wcy5sbHNlZWspIHsKLSAgICAgICAgICB0aHJv
dyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FU1BJUEUpOwotICAgICAgICB9Ci0gICAg
ICAgIHJldHVybiBzdHJlYW0uc3RyZWFtX29wcy5sbHNlZWsoc3RyZWFtLCBvZmZzZXQsIHdoZW5j
ZSk7Ci0gICAgICB9LHJlYWQ6ZnVuY3Rpb24gKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0
aCwgcG9zaXRpb24pIHsKLSAgICAgICAgaWYgKGxlbmd0aCA8IDAgfHwgcG9zaXRpb24gPCAwKSB7
Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKTsK
LSAgICAgICAgfQotICAgICAgICBpZiAoKHN0cmVhbS5mbGFncyAmIDMpID09PSAxKSB7Ci0gICAg
ICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUJBREYpOwotICAgICAg
ICB9Ci0gICAgICAgIGlmIChGUy5pc0RpcihzdHJlYW0ubm9kZS5tb2RlKSkgewotICAgICAgICAg
IHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJU0RJUik7Ci0gICAgICAgIH0K
LSAgICAgICAgaWYgKCFzdHJlYW0uc3RyZWFtX29wcy5yZWFkKSB7Ci0gICAgICAgICAgdGhyb3cg
bmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKTsKLSAgICAgICAgfQotICAgICAg
ICB2YXIgc2Vla2luZyA9IHRydWU7Ci0gICAgICAgIGlmICh0eXBlb2YgcG9zaXRpb24gPT09ICd1
bmRlZmluZWQnKSB7Ci0gICAgICAgICAgcG9zaXRpb24gPSBzdHJlYW0ucG9zaXRpb247Ci0gICAg
ICAgICAgc2Vla2luZyA9IGZhbHNlOwotICAgICAgICB9IGVsc2UgaWYgKCFzdHJlYW0uc2Vla2Fi
bGUpIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FU1BJ
UEUpOwotICAgICAgICB9Ci0gICAgICAgIHZhciBieXRlc1JlYWQgPSBzdHJlYW0uc3RyZWFtX29w
cy5yZWFkKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0aCwgcG9zaXRpb24pOwotICAgICAg
ICBpZiAoIXNlZWtpbmcpIHN0cmVhbS5wb3NpdGlvbiArPSBieXRlc1JlYWQ7Ci0gICAgICAgIHJl
dHVybiBieXRlc1JlYWQ7Ci0gICAgICB9LHdyaXRlOmZ1bmN0aW9uIChzdHJlYW0sIGJ1ZmZlciwg
b2Zmc2V0LCBsZW5ndGgsIHBvc2l0aW9uKSB7Ci0gICAgICAgIGlmIChsZW5ndGggPCAwIHx8IHBv
c2l0aW9uIDwgMCkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NP
REVTLkVJTlZBTCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKChzdHJlYW0uZmxhZ3MgJiAzKSA9
PT0gMCkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVC
QURGKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoRlMuaXNEaXIoc3RyZWFtLm5vZGUubW9kZSkp
IHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSVNESVIp
OwotICAgICAgICB9Ci0gICAgICAgIGlmICghc3RyZWFtLnN0cmVhbV9vcHMud3JpdGUpIHsKLSAg
ICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpOwotICAg
ICAgICB9Ci0gICAgICAgIHZhciBzZWVraW5nID0gdHJ1ZTsKLSAgICAgICAgaWYgKHR5cGVvZiBw
b3NpdGlvbiA9PT0gJ3VuZGVmaW5lZCcpIHsKLSAgICAgICAgICBwb3NpdGlvbiA9IHN0cmVhbS5w
b3NpdGlvbjsKLSAgICAgICAgICBzZWVraW5nID0gZmFsc2U7Ci0gICAgICAgIH0gZWxzZSBpZiAo
IXN0cmVhbS5zZWVrYWJsZSkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVS
Uk5PX0NPREVTLkVTUElQRSk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHN0cmVhbS5mbGFncyAm
IDgpIHsKLSAgICAgICAgICAvLyBzZWVrIHRvIHRoZSBlbmQgYmVmb3JlIHdyaXRpbmcgaW4gYXBw
ZW5kIG1vZGUKLSAgICAgICAgICBGUy5sbHNlZWsoc3RyZWFtLCAwLCAyKTsKLSAgICAgICAgfQot
ICAgICAgICB2YXIgYnl0ZXNXcml0dGVuID0gc3RyZWFtLnN0cmVhbV9vcHMud3JpdGUoc3RyZWFt
LCBidWZmZXIsIG9mZnNldCwgbGVuZ3RoLCBwb3NpdGlvbik7Ci0gICAgICAgIGlmICghc2Vla2lu
Zykgc3RyZWFtLnBvc2l0aW9uICs9IGJ5dGVzV3JpdHRlbjsKLSAgICAgICAgcmV0dXJuIGJ5dGVz
V3JpdHRlbjsKLSAgICAgIH0sYWxsb2NhdGU6ZnVuY3Rpb24gKHN0cmVhbSwgb2Zmc2V0LCBsZW5n
dGgpIHsKLSAgICAgICAgaWYgKG9mZnNldCA8IDAgfHwgbGVuZ3RoIDw9IDApIHsKLSAgICAgICAg
ICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpOwotICAgICAgICB9
Ci0gICAgICAgIGlmICgoc3RyZWFtLmZsYWdzICYgMykgPT09IDApIHsKLSAgICAgICAgICB0aHJv
dyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FQkFERik7Ci0gICAgICAgIH0KLSAgICAg
ICAgaWYgKCFGUy5pc0ZpbGUoc3RyZWFtLm5vZGUubW9kZSkgJiYgIUZTLmlzRGlyKG5vZGUubW9k
ZSkpIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FTk9E
RVYpOwotICAgICAgICB9Ci0gICAgICAgIGlmICghc3RyZWFtLnN0cmVhbV9vcHMuYWxsb2NhdGUp
IHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FT1BOT1RT
VVBQKTsKLSAgICAgICAgfQotICAgICAgICBzdHJlYW0uc3RyZWFtX29wcy5hbGxvY2F0ZShzdHJl
YW0sIG9mZnNldCwgbGVuZ3RoKTsKLSAgICAgIH0sbW1hcDpmdW5jdGlvbiAoc3RyZWFtLCBidWZm
ZXIsIG9mZnNldCwgbGVuZ3RoLCBwb3NpdGlvbiwgcHJvdCwgZmxhZ3MpIHsKLSAgICAgICAgLy8g
VE9ETyBpZiBQUk9UIGlzIFBST1RfV1JJVEUsIG1ha2Ugc3VyZSB3ZSBoYXZlIHdyaXRlIGFjY2Vz
cwotICAgICAgICBpZiAoKHN0cmVhbS5mbGFncyAmIDMpID09PSAxKSB7Ci0gICAgICAgICAgdGhy
b3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUFDQ0VTKTsKLSAgICAgICAgfQotICAg
ICAgICBpZiAoIXN0cmVhbS5zdHJlYW1fb3BzLm1tYXApIHsKLSAgICAgICAgICB0aHJvdyBuZXcg
RlMuZXJybm9FcnJvcihFUlJOT19DT0RFUy5FTk9ERVYpOwotICAgICAgICB9Ci0gICAgICAgIHJl
dHVybiBzdHJlYW0uc3RyZWFtX29wcy5tbWFwKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0
aCwgcG9zaXRpb24sIHByb3QsIGZsYWdzKTsKLSAgICAgIH19OwotICBmdW5jdGlvbiBfc2VuZChm
ZCwgYnVmLCBsZW4sIGZsYWdzKSB7Ci0gICAgICB2YXIgaW5mbyA9IEZTLmdldFN0cmVhbShmZCk7
Ci0gICAgICBpZiAoIWluZm8pIHsKLSAgICAgICAgX19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRUJB
REYpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgICB9Ci0gICAgICBpZiAoaW5mby5zb2NrZXQu
cmVhZHlTdGF0ZSA9PT0gV2ViU29ja2V0LkNMT1NJTkcgfHwgaW5mby5zb2NrZXQucmVhZHlTdGF0
ZSA9PT0gV2ViU29ja2V0LkNMT1NFRCkgewotICAgICAgICBfX19zZXRFcnJObyhFUlJOT19DT0RF
Uy5FTk9UQ09OTik7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICAgIH0gZWxzZSBpZiAoaW5mby5z
b2NrZXQucmVhZHlTdGF0ZSA9PT0gV2ViU29ja2V0LkNPTk5FQ1RJTkcpIHsKLSAgICAgICAgX19f
c2V0RXJyTm8oRVJSTk9fQ09ERVMuRUFHQUlOKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgICAg
fQotICAgICAgaW5mby5zZW5kZXIoSEVBUFU4LnN1YmFycmF5KGJ1ZiwgYnVmK2xlbikpOwotICAg
ICAgcmV0dXJuIGxlbjsKLSAgICB9Ci0gIGZ1bmN0aW9uIF9wd3JpdGUoZmlsZGVzLCBidWYsIG5i
eXRlLCBvZmZzZXQpIHsKLSAgICAgIC8vIHNzaXplX3QgcHdyaXRlKGludCBmaWxkZXMsIGNvbnN0
IHZvaWQgKmJ1Ziwgc2l6ZV90IG5ieXRlLCBvZmZfdCBvZmZzZXQpOwotICAgICAgLy8gaHR0cDov
L3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5OS9mdW5jdGlvbnMvd3JpdGUu
aHRtbAotICAgICAgdmFyIHN0cmVhbSA9IEZTLmdldFN0cmVhbShmaWxkZXMpOwotICAgICAgaWYg
KCFzdHJlYW0pIHsKLSAgICAgICAgX19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRUJBREYpOwotICAg
ICAgICByZXR1cm4gLTE7Ci0gICAgICB9Ci0gICAgICB0cnkgewotICAgICAgICB2YXIgc2xhYiA9
IEhFQVA4OwotICAgICAgICByZXR1cm4gRlMud3JpdGUoc3RyZWFtLCBzbGFiLCBidWYsIG5ieXRl
LCBvZmZzZXQpOwotICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICBGUy5oYW5kbGVGU0Vycm9y
KGUpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgICB9Ci0gICAgfWZ1bmN0aW9uIF93cml0ZShm
aWxkZXMsIGJ1ZiwgbmJ5dGUpIHsKLSAgICAgIC8vIHNzaXplX3Qgd3JpdGUoaW50IGZpbGRlcywg
Y29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgbmJ5dGUpOwotICAgICAgLy8gaHR0cDovL3B1YnMub3Bl
bmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5OS9mdW5jdGlvbnMvd3JpdGUuaHRtbAotICAg
ICAgdmFyIHN0cmVhbSA9IEZTLmdldFN0cmVhbShmaWxkZXMpOwotICAgICAgaWYgKCFzdHJlYW0p
IHsKLSAgICAgICAgX19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRUJBREYpOwotICAgICAgICByZXR1
cm4gLTE7Ci0gICAgICB9Ci0gICAgICBpZiAoc3RyZWFtICYmICgnc29ja2V0JyBpbiBzdHJlYW0p
KSB7Ci0gICAgICAgIHJldHVybiBfc2VuZChmaWxkZXMsIGJ1ZiwgbmJ5dGUsIDApOwotICAgICAg
fQotICAgICAgdHJ5IHsKLSAgICAgICAgdmFyIHNsYWIgPSBIRUFQODsKLSAgICAgICAgcmV0dXJu
IEZTLndyaXRlKHN0cmVhbSwgc2xhYiwgYnVmLCBuYnl0ZSk7Ci0gICAgICB9IGNhdGNoIChlKSB7
Ci0gICAgICAgIEZTLmhhbmRsZUZTRXJyb3IoZSk7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICAg
IH0KLSAgICB9ZnVuY3Rpb24gX2Z3cml0ZShwdHIsIHNpemUsIG5pdGVtcywgc3RyZWFtKSB7Ci0g
ICAgICAvLyBzaXplX3QgZndyaXRlKGNvbnN0IHZvaWQgKnJlc3RyaWN0IHB0ciwgc2l6ZV90IHNp
emUsIHNpemVfdCBuaXRlbXMsIEZJTEUgKnJlc3RyaWN0IHN0cmVhbSk7Ci0gICAgICAvLyBodHRw
Oi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDAwMDk1Mzk5L2Z1bmN0aW9ucy9md3Jp
dGUuaHRtbAotICAgICAgdmFyIGJ5dGVzVG9Xcml0ZSA9IG5pdGVtcyAqIHNpemU7Ci0gICAgICBp
ZiAoYnl0ZXNUb1dyaXRlID09IDApIHJldHVybiAwOwotICAgICAgdmFyIGJ5dGVzV3JpdHRlbiA9
IF93cml0ZShzdHJlYW0sIHB0ciwgYnl0ZXNUb1dyaXRlKTsKLSAgICAgIGlmIChieXRlc1dyaXR0
ZW4gPT0gLTEpIHsKLSAgICAgICAgdmFyIHN0cmVhbU9iaiA9IEZTLmdldFN0cmVhbShzdHJlYW0p
OwotICAgICAgICBpZiAoc3RyZWFtT2JqKSBzdHJlYW1PYmouZXJyb3IgPSB0cnVlOwotICAgICAg
ICByZXR1cm4gMDsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldHVybiBNYXRoLmZsb29yKGJ5
dGVzV3JpdHRlbiAvIHNpemUpOwotICAgICAgfQotICAgIH0KLSAgZnVuY3Rpb24gX3VuZ2V0Yyhj
LCBzdHJlYW0pIHsKLSAgICAgIC8vIGludCB1bmdldGMoaW50IGMsIEZJTEUgKnN0cmVhbSk7Ci0g
ICAgICAvLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDAwMDk1Mzk5L2Z1
bmN0aW9ucy91bmdldGMuaHRtbAotICAgICAgc3RyZWFtID0gRlMuZ2V0U3RyZWFtKHN0cmVhbSk7
Ci0gICAgICBpZiAoIXN0cmVhbSkgewotICAgICAgICByZXR1cm4gLTE7Ci0gICAgICB9Ci0gICAg
ICBpZiAoYyA9PT0gLTEpIHsKLSAgICAgICAgLy8gZG8gbm90aGluZyBmb3IgRU9GIGNoYXJhY3Rl
cgotICAgICAgICByZXR1cm4gYzsKLSAgICAgIH0KLSAgICAgIGMgPSB1blNpZ24oYyAmIDB4RkYp
OwotICAgICAgc3RyZWFtLnVuZ290dGVuLnB1c2goYyk7Ci0gICAgICBzdHJlYW0uZW9mID0gZmFs
c2U7Ci0gICAgICByZXR1cm4gYzsKLSAgICB9Ci0gIGZ1bmN0aW9uIF9yZWN2KGZkLCBidWYsIGxl
biwgZmxhZ3MpIHsKLSAgICAgIHZhciBpbmZvID0gRlMuZ2V0U3RyZWFtKGZkKTsKLSAgICAgIGlm
ICghaW5mbykgewotICAgICAgICBfX19zZXRFcnJObyhFUlJOT19DT0RFUy5FQkFERik7Ci0gICAg
ICAgIHJldHVybiAtMTsKLSAgICAgIH0KLSAgICAgIGlmICghaW5mby5oYXNEYXRhKCkpIHsKLSAg
ICAgICAgaWYgKGluZm8uc29ja2V0LnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5DTE9TSU5HIHx8
IGluZm8uc29ja2V0LnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5DTE9TRUQpIHsKLSAgICAgICAg
ICAvLyBzb2NrZXQgaGFzIGNsb3NlZAotICAgICAgICAgIHJldHVybiAwOwotICAgICAgICB9IGVs
c2UgewotICAgICAgICAgIC8vIGVsc2UsIG91ciBzb2NrZXQgaXMgaW4gYSB2YWxpZCBzdGF0ZSBi
dXQgdHJ1bHkgaGFzIG5vdGhpbmcgYXZhaWxhYmxlCi0gICAgICAgICAgX19fc2V0RXJyTm8oRVJS
Tk9fQ09ERVMuRUFHQUlOKTsKLSAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIH0KLSAgICAg
IH0KLSAgICAgIHZhciBidWZmZXIgPSBpbmZvLmluUXVldWUuc2hpZnQoKTsKLSAgICAgIGlmIChs
ZW4gPCBidWZmZXIubGVuZ3RoKSB7Ci0gICAgICAgIGlmIChpbmZvLnN0cmVhbSkgewotICAgICAg
ICAgIC8vIFRoaXMgaXMgdGNwIChyZWxpYWJsZSksIHNvIGlmIG5vdCBhbGwgd2FzIHJlYWQsIGtl
ZXAgaXQKLSAgICAgICAgICBpbmZvLmluUXVldWUudW5zaGlmdChidWZmZXIuc3ViYXJyYXkobGVu
KSk7Ci0gICAgICAgIH0KLSAgICAgICAgYnVmZmVyID0gYnVmZmVyLnN1YmFycmF5KDAsIGxlbik7
Ci0gICAgICB9Ci0gICAgICBIRUFQVTguc2V0KGJ1ZmZlciwgYnVmKTsKLSAgICAgIHJldHVybiBi
dWZmZXIubGVuZ3RoOwotICAgIH0KLSAgZnVuY3Rpb24gX3ByZWFkKGZpbGRlcywgYnVmLCBuYnl0
ZSwgb2Zmc2V0KSB7Ci0gICAgICAvLyBzc2l6ZV90IHByZWFkKGludCBmaWxkZXMsIHZvaWQgKmJ1
Ziwgc2l6ZV90IG5ieXRlLCBvZmZfdCBvZmZzZXQpOwotICAgICAgLy8gaHR0cDovL3B1YnMub3Bl
bmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5OS9mdW5jdGlvbnMvcmVhZC5odG1sCi0gICAg
ICB2YXIgc3RyZWFtID0gRlMuZ2V0U3RyZWFtKGZpbGRlcyk7Ci0gICAgICBpZiAoIXN0cmVhbSkg
ewotICAgICAgICBfX19zZXRFcnJObyhFUlJOT19DT0RFUy5FQkFERik7Ci0gICAgICAgIHJldHVy
biAtMTsKLSAgICAgIH0KLSAgICAgIHRyeSB7Ci0gICAgICAgIHZhciBzbGFiID0gSEVBUDg7Ci0g
ICAgICAgIHJldHVybiBGUy5yZWFkKHN0cmVhbSwgc2xhYiwgYnVmLCBuYnl0ZSwgb2Zmc2V0KTsK
LSAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgRlMuaGFuZGxlRlNFcnJvcihlKTsKLSAgICAg
ICAgcmV0dXJuIC0xOwotICAgICAgfQotICAgIH1mdW5jdGlvbiBfcmVhZChmaWxkZXMsIGJ1Ziwg
bmJ5dGUpIHsKLSAgICAgIC8vIHNzaXplX3QgcmVhZChpbnQgZmlsZGVzLCB2b2lkICpidWYsIHNp
emVfdCBuYnl0ZSk7Ci0gICAgICAvLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1
YnMvMDAwMDk1Mzk5L2Z1bmN0aW9ucy9yZWFkLmh0bWwKLSAgICAgIHZhciBzdHJlYW0gPSBGUy5n
ZXRTdHJlYW0oZmlsZGVzKTsKLSAgICAgIGlmICghc3RyZWFtKSB7Ci0gICAgICAgIF9fX3NldEVy
ck5vKEVSUk5PX0NPREVTLkVCQURGKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgICAgfQotICAg
ICAgaWYgKHN0cmVhbSAmJiAoJ3NvY2tldCcgaW4gc3RyZWFtKSkgewotICAgICAgICByZXR1cm4g
X3JlY3YoZmlsZGVzLCBidWYsIG5ieXRlLCAwKTsKLSAgICAgIH0KLSAgICAgIHRyeSB7Ci0gICAg
ICAgIHZhciBzbGFiID0gSEVBUDg7Ci0gICAgICAgIHJldHVybiBGUy5yZWFkKHN0cmVhbSwgc2xh
YiwgYnVmLCBuYnl0ZSk7Ci0gICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIEZTLmhhbmRsZUZT
RXJyb3IoZSk7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICAgIH0KLSAgICB9ZnVuY3Rpb24gX2Zy
ZWFkKHB0ciwgc2l6ZSwgbml0ZW1zLCBzdHJlYW0pIHsKLSAgICAgIC8vIHNpemVfdCBmcmVhZCh2
b2lkICpyZXN0cmljdCBwdHIsIHNpemVfdCBzaXplLCBzaXplX3Qgbml0ZW1zLCBGSUxFICpyZXN0
cmljdCBzdHJlYW0pOwotICAgICAgLy8gaHR0cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVw
dWJzLzAwMDA5NTM5OS9mdW5jdGlvbnMvZnJlYWQuaHRtbAotICAgICAgdmFyIGJ5dGVzVG9SZWFk
ID0gbml0ZW1zICogc2l6ZTsKLSAgICAgIGlmIChieXRlc1RvUmVhZCA9PSAwKSB7Ci0gICAgICAg
IHJldHVybiAwOwotICAgICAgfQotICAgICAgdmFyIGJ5dGVzUmVhZCA9IDA7Ci0gICAgICB2YXIg
c3RyZWFtT2JqID0gRlMuZ2V0U3RyZWFtKHN0cmVhbSk7Ci0gICAgICB3aGlsZSAoc3RyZWFtT2Jq
LnVuZ290dGVuLmxlbmd0aCAmJiBieXRlc1RvUmVhZCA+IDApIHsKLSAgICAgICAgSEVBUDhbKChw
dHIrKyl8MCldPXN0cmVhbU9iai51bmdvdHRlbi5wb3AoKQotICAgICAgICBieXRlc1RvUmVhZC0t
OwotICAgICAgICBieXRlc1JlYWQrKzsKLSAgICAgIH0KLSAgICAgIHZhciBlcnIgPSBfcmVhZChz
dHJlYW0sIHB0ciwgYnl0ZXNUb1JlYWQpOwotICAgICAgaWYgKGVyciA9PSAtMSkgewotICAgICAg
ICBpZiAoc3RyZWFtT2JqKSBzdHJlYW1PYmouZXJyb3IgPSB0cnVlOwotICAgICAgICByZXR1cm4g
MDsKLSAgICAgIH0KLSAgICAgIGJ5dGVzUmVhZCArPSBlcnI7Ci0gICAgICBpZiAoYnl0ZXNSZWFk
IDwgYnl0ZXNUb1JlYWQpIHN0cmVhbU9iai5lb2YgPSB0cnVlOwotICAgICAgcmV0dXJuIE1hdGgu
Zmxvb3IoYnl0ZXNSZWFkIC8gc2l6ZSk7Ci0gICAgfWZ1bmN0aW9uIF9mZ2V0YyhzdHJlYW0pIHsK
LSAgICAgIC8vIGludCBmZ2V0YyhGSUxFICpzdHJlYW0pOwotICAgICAgLy8gaHR0cDovL3B1YnMu
b3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5OS9mdW5jdGlvbnMvZmdldGMuaHRtbAot
ICAgICAgdmFyIHN0cmVhbU9iaiA9IEZTLmdldFN0cmVhbShzdHJlYW0pOwotICAgICAgaWYgKCFz
dHJlYW1PYmopIHJldHVybiAtMTsKLSAgICAgIGlmIChzdHJlYW1PYmouZW9mIHx8IHN0cmVhbU9i
ai5lcnJvcikgcmV0dXJuIC0xOwotICAgICAgdmFyIHJldCA9IF9mcmVhZChfZmdldGMucmV0LCAx
LCAxLCBzdHJlYW0pOwotICAgICAgaWYgKHJldCA9PSAwKSB7Ci0gICAgICAgIHN0cmVhbU9iai5l
b2YgPSB0cnVlOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgICB9IGVsc2UgaWYgKHJldCA9PSAt
MSkgewotICAgICAgICBzdHJlYW1PYmouZXJyb3IgPSB0cnVlOwotICAgICAgICByZXR1cm4gLTE7
Ci0gICAgICB9IGVsc2UgewotICAgICAgICByZXR1cm4gSEVBUFU4WygoX2ZnZXRjLnJldCl8MCld
OwotICAgICAgfQotICAgIH12YXIgX2dldGM9X2ZnZXRjOwotICBmdW5jdGlvbiBfX19jeGFfcHVy
ZV92aXJ0dWFsKCkgewotICAgICAgQUJPUlQgPSB0cnVlOwotICAgICAgdGhyb3cgJ1B1cmUgdmly
dHVhbCBmdW5jdGlvbiBjYWxsZWQhJzsKLSAgICB9Ci0gIGZ1bmN0aW9uIF9fX2Vycm5vX2xvY2F0
aW9uKCkgewotICAgICAgcmV0dXJuIF9fX2Vycm5vX3N0YXRlOwotICAgIH12YXIgX19fZXJybm89
X19fZXJybm9fbG9jYXRpb247Ci0gIHZhciBfbGx2bV9tZW1zZXRfcDBpOF9pMzI9X21lbXNldDsK
LSAgTW9kdWxlWyJfc3RybGVuIl0gPSBfc3RybGVuOwotICBmdW5jdGlvbiBfc3RyZXJyb3Jfcihl
cnJudW0sIHN0cmVycmJ1ZiwgYnVmbGVuKSB7Ci0gICAgICBpZiAoZXJybnVtIGluIEVSUk5PX01F
U1NBR0VTKSB7Ci0gICAgICAgIGlmIChFUlJOT19NRVNTQUdFU1tlcnJudW1dLmxlbmd0aCA+IGJ1
ZmxlbiAtIDEpIHsKLSAgICAgICAgICByZXR1cm4gX19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRVJB
TkdFKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICB2YXIgbXNnID0gRVJSTk9fTUVTU0FH
RVNbZXJybnVtXTsKLSAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkr
KykgewotICAgICAgICAgICAgSEVBUDhbKCgoc3RyZXJyYnVmKSsoaSkpfDApXT1tc2cuY2hhckNv
ZGVBdChpKQotICAgICAgICAgIH0KLSAgICAgICAgICBIRUFQOFsoKChzdHJlcnJidWYpKyhpKSl8
MCldPTAKLSAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQotICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgcmV0dXJuIF9fX3NldEVyck5vKEVSUk5PX0NPREVTLkVJTlZBTCk7Ci0gICAgICB9Ci0g
ICAgfWZ1bmN0aW9uIF9zdHJlcnJvcihlcnJudW0pIHsKLSAgICAgIGlmICghX3N0cmVycm9yLmJ1
ZmZlcikgX3N0cmVycm9yLmJ1ZmZlciA9IF9tYWxsb2MoMjU2KTsKLSAgICAgIF9zdHJlcnJvcl9y
KGVycm51bSwgX3N0cmVycm9yLmJ1ZmZlciwgMjU2KTsKLSAgICAgIHJldHVybiBfc3RyZXJyb3Iu
YnVmZmVyOwotICAgIH0KLSAgZnVuY3Rpb24gX2Fib3J0KCkgewotICAgICAgTW9kdWxlWydhYm9y
dCddKCk7Ci0gICAgfQotICBmdW5jdGlvbiBfX3JlYWxseU5lZ2F0aXZlKHgpIHsKLSAgICAgIHJl
dHVybiB4IDwgMCB8fCAoeCA9PT0gMCAmJiAoMS94KSA9PT0gLUluZmluaXR5KTsKLSAgICB9ZnVu
Y3Rpb24gX19mb3JtYXRTdHJpbmcoZm9ybWF0LCB2YXJhcmdzKSB7Ci0gICAgICB2YXIgdGV4dElu
ZGV4ID0gZm9ybWF0OwotICAgICAgdmFyIGFyZ0luZGV4ID0gMDsKLSAgICAgIGZ1bmN0aW9uIGdl
dE5leHRBcmcodHlwZSkgewotICAgICAgICAvLyBOT1RFOiBFeHBsaWNpdGx5IGlnbm9yaW5nIHR5
cGUgc2FmZXR5LiBPdGhlcndpc2UgdGhpcyBmYWlsczoKLSAgICAgICAgLy8gICAgICAgaW50IHgg
PSA0OyBwcmludGYoIiVjXG4iLCAoY2hhcil4KTsKLSAgICAgICAgdmFyIHJldDsKLSAgICAgICAg
aWYgKHR5cGUgPT09ICdkb3VibGUnKSB7Ci0gICAgICAgICAgcmV0ID0gSEVBUEY2NFsoKCh2YXJh
cmdzKSsoYXJnSW5kZXgpKT4+MyldOwotICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ2k2NCcp
IHsKLSAgICAgICAgICByZXQgPSBbSEVBUDMyWygoKHZhcmFyZ3MpKyhhcmdJbmRleCkpPj4yKV0s
Ci0gICAgICAgICAgICAgICAgIEhFQVAzMlsoKCh2YXJhcmdzKSsoYXJnSW5kZXgrOCkpPj4yKV1d
OwotICAgICAgICAgIGFyZ0luZGV4ICs9IDg7IC8vIGVhY2ggMzItYml0IGNodW5rIGlzIGluIGEg
NjQtYml0IGJsb2NrCi0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgdHlwZSA9ICdpMzInOyAv
LyB2YXJhcmdzIGFyZSBhbHdheXMgaTMyLCBpNjQsIG9yIGRvdWJsZQotICAgICAgICAgIHJldCA9
IEhFQVAzMlsoKCh2YXJhcmdzKSsoYXJnSW5kZXgpKT4+MildOwotICAgICAgICB9Ci0gICAgICAg
IGFyZ0luZGV4ICs9IE1hdGgubWF4KFJ1bnRpbWUuZ2V0TmF0aXZlRmllbGRTaXplKHR5cGUpLCBS
dW50aW1lLmdldEFsaWduU2l6ZSh0eXBlLCBudWxsLCB0cnVlKSk7Ci0gICAgICAgIHJldHVybiBy
ZXQ7Ci0gICAgICB9Ci0gICAgICB2YXIgcmV0ID0gW107Ci0gICAgICB2YXIgY3VyciwgbmV4dCwg
Y3VyckFyZzsKLSAgICAgIHdoaWxlKDEpIHsKLSAgICAgICAgdmFyIHN0YXJ0VGV4dEluZGV4ID0g
dGV4dEluZGV4OwotICAgICAgICBjdXJyID0gSEVBUDhbKHRleHRJbmRleCldOwotICAgICAgICBp
ZiAoY3VyciA9PT0gMCkgYnJlYWs7Ci0gICAgICAgIG5leHQgPSBIRUFQOFsoKHRleHRJbmRleCsx
KXwwKV07Ci0gICAgICAgIGlmIChjdXJyID09IDM3KSB7Ci0gICAgICAgICAgLy8gSGFuZGxlIGZs
YWdzLgotICAgICAgICAgIHZhciBmbGFnQWx3YXlzU2lnbmVkID0gZmFsc2U7Ci0gICAgICAgICAg
dmFyIGZsYWdMZWZ0QWxpZ24gPSBmYWxzZTsKLSAgICAgICAgICB2YXIgZmxhZ0FsdGVybmF0aXZl
ID0gZmFsc2U7Ci0gICAgICAgICAgdmFyIGZsYWdaZXJvUGFkID0gZmFsc2U7Ci0gICAgICAgICAg
ZmxhZ3NMb29wOiB3aGlsZSAoMSkgewotICAgICAgICAgICAgc3dpdGNoIChuZXh0KSB7Ci0gICAg
ICAgICAgICAgIGNhc2UgNDM6Ci0gICAgICAgICAgICAgICAgZmxhZ0Fsd2F5c1NpZ25lZCA9IHRy
dWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgIGNhc2UgNDU6Ci0gICAg
ICAgICAgICAgICAgZmxhZ0xlZnRBbGlnbiA9IHRydWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgIGNhc2UgMzU6Ci0gICAgICAgICAgICAgICAgZmxhZ0FsdGVybmF0aXZl
ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgY2FzZSA0ODoK
LSAgICAgICAgICAgICAgICBpZiAoZmxhZ1plcm9QYWQpIHsKLSAgICAgICAgICAgICAgICAgIGJy
ZWFrIGZsYWdzTG9vcDsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAg
ICAgZmxhZ1plcm9QYWQgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIGJyZWFr
IGZsYWdzTG9vcDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRleHRJbmRleCsrOwotICAg
ICAgICAgICAgbmV4dCA9IEhFQVA4WygodGV4dEluZGV4KzEpfDApXTsKLSAgICAgICAgICB9Ci0g
ICAgICAgICAgLy8gSGFuZGxlIHdpZHRoLgotICAgICAgICAgIHZhciB3aWR0aCA9IDA7Ci0gICAg
ICAgICAgaWYgKG5leHQgPT0gNDIpIHsKLSAgICAgICAgICAgIHdpZHRoID0gZ2V0TmV4dEFyZygn
aTMyJyk7Ci0gICAgICAgICAgICB0ZXh0SW5kZXgrKzsKLSAgICAgICAgICAgIG5leHQgPSBIRUFQ
OFsoKHRleHRJbmRleCsxKXwwKV07Ci0gICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHdo
aWxlIChuZXh0ID49IDQ4ICYmIG5leHQgPD0gNTcpIHsKLSAgICAgICAgICAgICAgd2lkdGggPSB3
aWR0aCAqIDEwICsgKG5leHQgLSA0OCk7Ci0gICAgICAgICAgICAgIHRleHRJbmRleCsrOwotICAg
ICAgICAgICAgICBuZXh0ID0gSEVBUDhbKCh0ZXh0SW5kZXgrMSl8MCldOwotICAgICAgICAgICAg
fQotICAgICAgICAgIH0KLSAgICAgICAgICAvLyBIYW5kbGUgcHJlY2lzaW9uLgotICAgICAgICAg
IHZhciBwcmVjaXNpb25TZXQgPSBmYWxzZTsKLSAgICAgICAgICBpZiAobmV4dCA9PSA0Nikgewot
ICAgICAgICAgICAgdmFyIHByZWNpc2lvbiA9IDA7Ci0gICAgICAgICAgICBwcmVjaXNpb25TZXQg
PSB0cnVlOwotICAgICAgICAgICAgdGV4dEluZGV4Kys7Ci0gICAgICAgICAgICBuZXh0ID0gSEVB
UDhbKCh0ZXh0SW5kZXgrMSl8MCldOwotICAgICAgICAgICAgaWYgKG5leHQgPT0gNDIpIHsKLSAg
ICAgICAgICAgICAgcHJlY2lzaW9uID0gZ2V0TmV4dEFyZygnaTMyJyk7Ci0gICAgICAgICAgICAg
IHRleHRJbmRleCsrOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgd2hpbGUo
MSkgewotICAgICAgICAgICAgICAgIHZhciBwcmVjaXNpb25DaHIgPSBIRUFQOFsoKHRleHRJbmRl
eCsxKXwwKV07Ci0gICAgICAgICAgICAgICAgaWYgKHByZWNpc2lvbkNociA8IDQ4IHx8Ci0gICAg
ICAgICAgICAgICAgICAgIHByZWNpc2lvbkNociA+IDU3KSBicmVhazsKLSAgICAgICAgICAgICAg
ICBwcmVjaXNpb24gPSBwcmVjaXNpb24gKiAxMCArIChwcmVjaXNpb25DaHIgLSA0OCk7Ci0gICAg
ICAgICAgICAgICAgdGV4dEluZGV4Kys7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIG5leHQgPSBIRUFQOFsoKHRleHRJbmRleCsxKXwwKV07Ci0gICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIHZhciBwcmVjaXNpb24gPSA2OyAvLyBTdGFuZGFyZCBkZWZh
dWx0LgotICAgICAgICAgIH0KLSAgICAgICAgICAvLyBIYW5kbGUgaW50ZWdlciBzaXplcy4gV0FS
TklORzogVGhlc2UgYXNzdW1lIGEgMzItYml0IGFyY2hpdGVjdHVyZSEKLSAgICAgICAgICB2YXIg
YXJnU2l6ZTsKLSAgICAgICAgICBzd2l0Y2ggKFN0cmluZy5mcm9tQ2hhckNvZGUobmV4dCkpIHsK
LSAgICAgICAgICAgIGNhc2UgJ2gnOgotICAgICAgICAgICAgICB2YXIgbmV4dE5leHQgPSBIRUFQ
OFsoKHRleHRJbmRleCsyKXwwKV07Ci0gICAgICAgICAgICAgIGlmIChuZXh0TmV4dCA9PSAxMDQp
IHsKLSAgICAgICAgICAgICAgICB0ZXh0SW5kZXgrKzsKLSAgICAgICAgICAgICAgICBhcmdTaXpl
ID0gMTsgLy8gY2hhciAoYWN0dWFsbHkgaTMyIGluIHZhcmFyZ3MpCi0gICAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgYXJnU2l6ZSA9IDI7IC8vIHNob3J0IChhY3R1YWxseSBp
MzIgaW4gdmFyYXJncykKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIGNhc2UgJ2wnOgotICAgICAgICAgICAgICB2YXIgbmV4dE5leHQgPSBIRUFQOFso
KHRleHRJbmRleCsyKXwwKV07Ci0gICAgICAgICAgICAgIGlmIChuZXh0TmV4dCA9PSAxMDgpIHsK
LSAgICAgICAgICAgICAgICB0ZXh0SW5kZXgrKzsKLSAgICAgICAgICAgICAgICBhcmdTaXplID0g
ODsgLy8gbG9uZyBsb25nCi0gICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
YXJnU2l6ZSA9IDQ7IC8vIGxvbmcKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIGNhc2UgJ0wnOiAvLyBsb25nIGxvbmcKLSAgICAgICAgICAgIGNhc2Ug
J3EnOiAvLyBpbnQ2NF90Ci0gICAgICAgICAgICBjYXNlICdqJzogLy8gaW50bWF4X3QKLSAgICAg
ICAgICAgICAgYXJnU2l6ZSA9IDg7Ci0gICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
Y2FzZSAneic6IC8vIHNpemVfdAotICAgICAgICAgICAgY2FzZSAndCc6IC8vIHB0cmRpZmZfdAot
ICAgICAgICAgICAgY2FzZSAnSSc6IC8vIHNpZ25lZCBwdHJkaWZmX3Qgb3IgdW5zaWduZWQgc2l6
ZV90Ci0gICAgICAgICAgICAgIGFyZ1NpemUgPSA0OwotICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgIGFyZ1NpemUgPSBudWxsOwotICAgICAg
ICAgIH0KLSAgICAgICAgICBpZiAoYXJnU2l6ZSkgdGV4dEluZGV4Kys7Ci0gICAgICAgICAgbmV4
dCA9IEhFQVA4WygodGV4dEluZGV4KzEpfDApXTsKLSAgICAgICAgICAvLyBIYW5kbGUgdHlwZSBz
cGVjaWZpZXIuCi0gICAgICAgICAgc3dpdGNoIChTdHJpbmcuZnJvbUNoYXJDb2RlKG5leHQpKSB7
Ci0gICAgICAgICAgICBjYXNlICdkJzogY2FzZSAnaSc6IGNhc2UgJ3UnOiBjYXNlICdvJzogY2Fz
ZSAneCc6IGNhc2UgJ1gnOiBjYXNlICdwJzogewotICAgICAgICAgICAgICAvLyBJbnRlZ2VyLgot
ICAgICAgICAgICAgICB2YXIgc2lnbmVkID0gbmV4dCA9PSAxMDAgfHwgbmV4dCA9PSAxMDU7Ci0g
ICAgICAgICAgICAgIGFyZ1NpemUgPSBhcmdTaXplIHx8IDQ7Ci0gICAgICAgICAgICAgIHZhciBj
dXJyQXJnID0gZ2V0TmV4dEFyZygnaScgKyAoYXJnU2l6ZSAqIDgpKTsKLSAgICAgICAgICAgICAg
dmFyIG9yaWdBcmcgPSBjdXJyQXJnOwotICAgICAgICAgICAgICB2YXIgYXJnVGV4dDsKLSAgICAg
ICAgICAgICAgLy8gRmxhdHRlbiBpNjQtMSBbbG93LCBoaWdoXSBpbnRvIGEgKHNsaWdodGx5IHJv
dW5kZWQpIGRvdWJsZQotICAgICAgICAgICAgICBpZiAoYXJnU2l6ZSA9PSA4KSB7Ci0gICAgICAg
ICAgICAgICAgY3VyckFyZyA9IFJ1bnRpbWUubWFrZUJpZ0ludChjdXJyQXJnWzBdLCBjdXJyQXJn
WzFdLCBuZXh0ID09IDExNyk7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgLy8gVHJ1
bmNhdGUgdG8gcmVxdWVzdGVkIHNpemUuCi0gICAgICAgICAgICAgIGlmIChhcmdTaXplIDw9IDQp
IHsKLSAgICAgICAgICAgICAgICB2YXIgbGltaXQgPSBNYXRoLnBvdygyNTYsIGFyZ1NpemUpIC0g
MTsKLSAgICAgICAgICAgICAgICBjdXJyQXJnID0gKHNpZ25lZCA/IHJlU2lnbiA6IHVuU2lnbiko
Y3VyckFyZyAmIGxpbWl0LCBhcmdTaXplICogOCk7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgLy8gRm9ybWF0IHRoZSBudW1iZXIuCi0gICAgICAgICAgICAgIHZhciBjdXJyQWJzQXJn
ID0gTWF0aC5hYnMoY3VyckFyZyk7Ci0gICAgICAgICAgICAgIHZhciBwcmVmaXggPSAnJzsKLSAg
ICAgICAgICAgICAgaWYgKG5leHQgPT0gMTAwIHx8IG5leHQgPT0gMTA1KSB7Ci0gICAgICAgICAg
ICAgICAgaWYgKGFyZ1NpemUgPT0gOCAmJiBpNjRNYXRoKSBhcmdUZXh0ID0gaTY0TWF0aC5zdHJp
bmdpZnkob3JpZ0FyZ1swXSwgb3JpZ0FyZ1sxXSwgbnVsbCk7IGVsc2UKLSAgICAgICAgICAgICAg
ICBhcmdUZXh0ID0gcmVTaWduKGN1cnJBcmcsIDggKiBhcmdTaXplLCAxKS50b1N0cmluZygxMCk7
Ci0gICAgICAgICAgICAgIH0gZWxzZSBpZiAobmV4dCA9PSAxMTcpIHsKLSAgICAgICAgICAgICAg
ICBpZiAoYXJnU2l6ZSA9PSA4ICYmIGk2NE1hdGgpIGFyZ1RleHQgPSBpNjRNYXRoLnN0cmluZ2lm
eShvcmlnQXJnWzBdLCBvcmlnQXJnWzFdLCB0cnVlKTsgZWxzZQotICAgICAgICAgICAgICAgIGFy
Z1RleHQgPSB1blNpZ24oY3VyckFyZywgOCAqIGFyZ1NpemUsIDEpLnRvU3RyaW5nKDEwKTsKLSAg
ICAgICAgICAgICAgICBjdXJyQXJnID0gTWF0aC5hYnMoY3VyckFyZyk7Ci0gICAgICAgICAgICAg
IH0gZWxzZSBpZiAobmV4dCA9PSAxMTEpIHsKLSAgICAgICAgICAgICAgICBhcmdUZXh0ID0gKGZs
YWdBbHRlcm5hdGl2ZSA/ICcwJyA6ICcnKSArIGN1cnJBYnNBcmcudG9TdHJpbmcoOCk7Ci0gICAg
ICAgICAgICAgIH0gZWxzZSBpZiAobmV4dCA9PSAxMjAgfHwgbmV4dCA9PSA4OCkgewotICAgICAg
ICAgICAgICAgIHByZWZpeCA9IChmbGFnQWx0ZXJuYXRpdmUgJiYgY3VyckFyZyAhPSAwKSA/ICcw
eCcgOiAnJzsKLSAgICAgICAgICAgICAgICBpZiAoYXJnU2l6ZSA9PSA4ICYmIGk2NE1hdGgpIHsK
LSAgICAgICAgICAgICAgICAgIGlmIChvcmlnQXJnWzFdKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGFyZ1RleHQgPSAob3JpZ0FyZ1sxXT4+PjApLnRvU3RyaW5nKDE2KTsKLSAgICAgICAgICAgICAg
ICAgICAgdmFyIGxvd2VyID0gKG9yaWdBcmdbMF0+Pj4wKS50b1N0cmluZygxNik7Ci0gICAgICAg
ICAgICAgICAgICAgIHdoaWxlIChsb3dlci5sZW5ndGggPCA4KSBsb3dlciA9ICcwJyArIGxvd2Vy
OwotICAgICAgICAgICAgICAgICAgICBhcmdUZXh0ICs9IGxvd2VyOwotICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgYXJnVGV4dCA9IChvcmlnQXJnWzBdPj4+
MCkudG9TdHJpbmcoMTYpOwotICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgICAgIGlmIChjdXJyQXJnIDwgMCkgewotICAgICAgICAgICAgICAg
ICAgLy8gUmVwcmVzZW50IG5lZ2F0aXZlIG51bWJlcnMgaW4gaGV4IGFzIDIncyBjb21wbGVtZW50
LgotICAgICAgICAgICAgICAgICAgY3VyckFyZyA9IC1jdXJyQXJnOwotICAgICAgICAgICAgICAg
ICAgYXJnVGV4dCA9IChjdXJyQWJzQXJnIC0gMSkudG9TdHJpbmcoMTYpOwotICAgICAgICAgICAg
ICAgICAgdmFyIGJ1ZmZlciA9IFtdOwotICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBhcmdUZXh0Lmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgICAgIGJ1ZmZlci5w
dXNoKCgweEYgLSBwYXJzZUludChhcmdUZXh0W2ldLCAxNikpLnRvU3RyaW5nKDE2KSk7Ci0gICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICBhcmdUZXh0ID0gYnVmZmVyLmpvaW4o
JycpOwotICAgICAgICAgICAgICAgICAgd2hpbGUgKGFyZ1RleHQubGVuZ3RoIDwgYXJnU2l6ZSAq
IDIpIGFyZ1RleHQgPSAnZicgKyBhcmdUZXh0OwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAgICAgICBhcmdUZXh0ID0gY3VyckFic0FyZy50b1N0cmluZygxNik7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChuZXh0ID09IDg4KSB7Ci0gICAgICAg
ICAgICAgICAgICBwcmVmaXggPSBwcmVmaXgudG9VcHBlckNhc2UoKTsKLSAgICAgICAgICAgICAg
ICAgIGFyZ1RleHQgPSBhcmdUZXh0LnRvVXBwZXJDYXNlKCk7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICB9IGVsc2UgaWYgKG5leHQgPT0gMTEyKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKGN1cnJBYnNBcmcgPT09IDApIHsKLSAgICAgICAgICAgICAgICAgIGFyZ1RleHQgPSAnKG5p
bCknOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICBwcmVmaXgg
PSAnMHgnOwotICAgICAgICAgICAgICAgICAgYXJnVGV4dCA9IGN1cnJBYnNBcmcudG9TdHJpbmco
MTYpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBp
ZiAocHJlY2lzaW9uU2V0KSB7Ci0gICAgICAgICAgICAgICAgd2hpbGUgKGFyZ1RleHQubGVuZ3Ro
IDwgcHJlY2lzaW9uKSB7Ci0gICAgICAgICAgICAgICAgICBhcmdUZXh0ID0gJzAnICsgYXJnVGV4
dDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgLy8g
QWRkIHNpZ24gaWYgbmVlZGVkCi0gICAgICAgICAgICAgIGlmIChmbGFnQWx3YXlzU2lnbmVkKSB7
Ci0gICAgICAgICAgICAgICAgaWYgKGN1cnJBcmcgPCAwKSB7Ci0gICAgICAgICAgICAgICAgICBw
cmVmaXggPSAnLScgKyBwcmVmaXg7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgIHByZWZpeCA9ICcrJyArIHByZWZpeDsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgLy8gQWRkIHBhZGRpbmcuCi0gICAgICAgICAgICAg
IHdoaWxlIChwcmVmaXgubGVuZ3RoICsgYXJnVGV4dC5sZW5ndGggPCB3aWR0aCkgewotICAgICAg
ICAgICAgICAgIGlmIChmbGFnTGVmdEFsaWduKSB7Ci0gICAgICAgICAgICAgICAgICBhcmdUZXh0
ICs9ICcgJzsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgaWYg
KGZsYWdaZXJvUGFkKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFyZ1RleHQgPSAnMCcgKyBhcmdU
ZXh0OwotICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcHJl
Zml4ID0gJyAnICsgcHJlZml4OwotICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAvLyBJbnNlcnQgdGhlIHJlc3VsdCBp
bnRvIHRoZSBidWZmZXIuCi0gICAgICAgICAgICAgIGFyZ1RleHQgPSBwcmVmaXggKyBhcmdUZXh0
OwotICAgICAgICAgICAgICBhcmdUZXh0LnNwbGl0KCcnKS5mb3JFYWNoKGZ1bmN0aW9uKGNocikg
ewotICAgICAgICAgICAgICAgIHJldC5wdXNoKGNoci5jaGFyQ29kZUF0KDApKTsKLSAgICAgICAg
ICAgICAgfSk7Ci0gICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgY2FzZSAnZic6IGNhc2UgJ0YnOiBjYXNlICdlJzogY2FzZSAnRSc6IGNhc2UgJ2cnOiBjYXNl
ICdHJzogewotICAgICAgICAgICAgICAvLyBGbG9hdC4KLSAgICAgICAgICAgICAgdmFyIGN1cnJB
cmcgPSBnZXROZXh0QXJnKCdkb3VibGUnKTsKLSAgICAgICAgICAgICAgdmFyIGFyZ1RleHQ7Ci0g
ICAgICAgICAgICAgIGlmIChpc05hTihjdXJyQXJnKSkgewotICAgICAgICAgICAgICAgIGFyZ1Rl
eHQgPSAnbmFuJzsKLSAgICAgICAgICAgICAgICBmbGFnWmVyb1BhZCA9IGZhbHNlOwotICAgICAg
ICAgICAgICB9IGVsc2UgaWYgKCFpc0Zpbml0ZShjdXJyQXJnKSkgewotICAgICAgICAgICAgICAg
IGFyZ1RleHQgPSAoY3VyckFyZyA8IDAgPyAnLScgOiAnJykgKyAnaW5mJzsKLSAgICAgICAgICAg
ICAgICBmbGFnWmVyb1BhZCA9IGZhbHNlOwotICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgICAgIHZhciBpc0dlbmVyYWwgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICB2YXIgZWZm
ZWN0aXZlUHJlY2lzaW9uID0gTWF0aC5taW4ocHJlY2lzaW9uLCAyMCk7Ci0gICAgICAgICAgICAg
ICAgLy8gQ29udmVydCBnL0cgdG8gZi9GIG9yIGUvRSwgYXMgcGVyOgotICAgICAgICAgICAgICAg
IC8vIGh0dHA6Ly9wdWJzLm9wZW5ncm91cC5vcmcvb25saW5lcHVicy85Njk5OTE5Nzk5L2Z1bmN0
aW9ucy9wcmludGYuaHRtbAotICAgICAgICAgICAgICAgIGlmIChuZXh0ID09IDEwMyB8fCBuZXh0
ID09IDcxKSB7Ci0gICAgICAgICAgICAgICAgICBpc0dlbmVyYWwgPSB0cnVlOwotICAgICAgICAg
ICAgICAgICAgcHJlY2lzaW9uID0gcHJlY2lzaW9uIHx8IDE7Ci0gICAgICAgICAgICAgICAgICB2
YXIgZXhwb25lbnQgPSBwYXJzZUludChjdXJyQXJnLnRvRXhwb25lbnRpYWwoZWZmZWN0aXZlUHJl
Y2lzaW9uKS5zcGxpdCgnZScpWzFdLCAxMCk7Ci0gICAgICAgICAgICAgICAgICBpZiAocHJlY2lz
aW9uID4gZXhwb25lbnQgJiYgZXhwb25lbnQgPj0gLTQpIHsKLSAgICAgICAgICAgICAgICAgICAg
bmV4dCA9ICgobmV4dCA9PSAxMDMpID8gJ2YnIDogJ0YnKS5jaGFyQ29kZUF0KDApOwotICAgICAg
ICAgICAgICAgICAgICBwcmVjaXNpb24gLT0gZXhwb25lbnQgKyAxOwotICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgbmV4dCA9ICgobmV4dCA9PSAxMDMpID8g
J2UnIDogJ0UnKS5jaGFyQ29kZUF0KDApOwotICAgICAgICAgICAgICAgICAgICBwcmVjaXNpb24t
LTsKLSAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgIGVmZmVjdGl2ZVByZWNp
c2lvbiA9IE1hdGgubWluKHByZWNpc2lvbiwgMjApOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBpZiAobmV4dCA9PSAxMDEgfHwgbmV4dCA9PSA2OSkgewotICAgICAgICAgICAg
ICAgICAgYXJnVGV4dCA9IGN1cnJBcmcudG9FeHBvbmVudGlhbChlZmZlY3RpdmVQcmVjaXNpb24p
OwotICAgICAgICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBleHBvbmVudCBoYXMgYXQgbGVh
c3QgMiBkaWdpdHMuCi0gICAgICAgICAgICAgICAgICBpZiAoL1tlRV1bLStdXGQkLy50ZXN0KGFy
Z1RleHQpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFyZ1RleHQgPSBhcmdUZXh0LnNsaWNlKDAs
IC0xKSArICcwJyArIGFyZ1RleHQuc2xpY2UoLTEpOwotICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIH0gZWxzZSBpZiAobmV4dCA9PSAxMDIgfHwgbmV4dCA9PSA3MCkgewotICAg
ICAgICAgICAgICAgICAgYXJnVGV4dCA9IGN1cnJBcmcudG9GaXhlZChlZmZlY3RpdmVQcmVjaXNp
b24pOwotICAgICAgICAgICAgICAgICAgaWYgKGN1cnJBcmcgPT09IDAgJiYgX19yZWFsbHlOZWdh
dGl2ZShjdXJyQXJnKSkgewotICAgICAgICAgICAgICAgICAgICBhcmdUZXh0ID0gJy0nICsgYXJn
VGV4dDsKLSAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgdmFyIHBhcnRzID0gYXJnVGV4dC5zcGxpdCgnZScpOwotICAgICAgICAgICAgICAgIGlm
IChpc0dlbmVyYWwgJiYgIWZsYWdBbHRlcm5hdGl2ZSkgewotICAgICAgICAgICAgICAgICAgLy8g
RGlzY2FyZCB0cmFpbGluZyB6ZXJvcyBhbmQgcGVyaW9kcy4KLSAgICAgICAgICAgICAgICAgIHdo
aWxlIChwYXJ0c1swXS5sZW5ndGggPiAxICYmIHBhcnRzWzBdLmluZGV4T2YoJy4nKSAhPSAtMSAm
JgotICAgICAgICAgICAgICAgICAgICAgICAgIChwYXJ0c1swXS5zbGljZSgtMSkgPT0gJzAnIHx8
IHBhcnRzWzBdLnNsaWNlKC0xKSA9PSAnLicpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHBhcnRz
WzBdID0gcGFydHNbMF0uc2xpY2UoMCwgLTEpOwotICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgd2UgaGF2
ZSBhIHBlcmlvZCBpbiBhbHRlcm5hdGl2ZSBtb2RlLgotICAgICAgICAgICAgICAgICAgaWYgKGZs
YWdBbHRlcm5hdGl2ZSAmJiBhcmdUZXh0LmluZGV4T2YoJy4nKSA9PSAtMSkgcGFydHNbMF0gKz0g
Jy4nOwotICAgICAgICAgICAgICAgICAgLy8gWmVybyBwYWQgdW50aWwgcmVxdWlyZWQgcHJlY2lz
aW9uLgotICAgICAgICAgICAgICAgICAgd2hpbGUgKHByZWNpc2lvbiA+IGVmZmVjdGl2ZVByZWNp
c2lvbisrKSBwYXJ0c1swXSArPSAnMCc7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIGFyZ1RleHQgPSBwYXJ0c1swXSArIChwYXJ0cy5sZW5ndGggPiAxID8gJ2UnICsgcGFydHNb
MV0gOiAnJyk7Ci0gICAgICAgICAgICAgICAgLy8gQ2FwaXRhbGl6ZSAnRScgaWYgbmVlZGVkLgot
ICAgICAgICAgICAgICAgIGlmIChuZXh0ID09IDY5KSBhcmdUZXh0ID0gYXJnVGV4dC50b1VwcGVy
Q2FzZSgpOwotICAgICAgICAgICAgICAgIC8vIEFkZCBzaWduLgotICAgICAgICAgICAgICAgIGlm
IChmbGFnQWx3YXlzU2lnbmVkICYmIGN1cnJBcmcgPj0gMCkgewotICAgICAgICAgICAgICAgICAg
YXJnVGV4dCA9ICcrJyArIGFyZ1RleHQ7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgIC8vIEFkZCBwYWRkaW5nLgotICAgICAgICAgICAgICB3aGlsZSAo
YXJnVGV4dC5sZW5ndGggPCB3aWR0aCkgewotICAgICAgICAgICAgICAgIGlmIChmbGFnTGVmdEFs
aWduKSB7Ci0gICAgICAgICAgICAgICAgICBhcmdUZXh0ICs9ICcgJzsKLSAgICAgICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgaWYgKGZsYWdaZXJvUGFkICYmIChhcmdUZXh0
WzBdID09ICctJyB8fCBhcmdUZXh0WzBdID09ICcrJykpIHsKLSAgICAgICAgICAgICAgICAgICAg
YXJnVGV4dCA9IGFyZ1RleHRbMF0gKyAnMCcgKyBhcmdUZXh0LnNsaWNlKDEpOwotICAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgYXJnVGV4dCA9IChmbGFnWmVy
b1BhZCA/ICcwJyA6ICcgJykgKyBhcmdUZXh0OwotICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAvLyBBZGp1c3QgY2Fz
ZS4KLSAgICAgICAgICAgICAgaWYgKG5leHQgPCA5NykgYXJnVGV4dCA9IGFyZ1RleHQudG9VcHBl
ckNhc2UoKTsKLSAgICAgICAgICAgICAgLy8gSW5zZXJ0IHRoZSByZXN1bHQgaW50byB0aGUgYnVm
ZmVyLgotICAgICAgICAgICAgICBhcmdUZXh0LnNwbGl0KCcnKS5mb3JFYWNoKGZ1bmN0aW9uKGNo
cikgewotICAgICAgICAgICAgICAgIHJldC5wdXNoKGNoci5jaGFyQ29kZUF0KDApKTsKLSAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgY2FzZSAncyc6IHsKLSAgICAgICAgICAgICAgLy8gU3RyaW5nLgotICAgICAgICAgICAg
ICB2YXIgYXJnID0gZ2V0TmV4dEFyZygnaTgqJyk7Ci0gICAgICAgICAgICAgIHZhciBhcmdMZW5n
dGggPSBhcmcgPyBfc3RybGVuKGFyZykgOiAnKG51bGwpJy5sZW5ndGg7Ci0gICAgICAgICAgICAg
IGlmIChwcmVjaXNpb25TZXQpIGFyZ0xlbmd0aCA9IE1hdGgubWluKGFyZ0xlbmd0aCwgcHJlY2lz
aW9uKTsKLSAgICAgICAgICAgICAgaWYgKCFmbGFnTGVmdEFsaWduKSB7Ci0gICAgICAgICAgICAg
ICAgd2hpbGUgKGFyZ0xlbmd0aCA8IHdpZHRoLS0pIHsKLSAgICAgICAgICAgICAgICAgIHJldC5w
dXNoKDMyKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgaWYgKGFyZykgewotICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJnTGVu
Z3RoOyBpKyspIHsKLSAgICAgICAgICAgICAgICAgIHJldC5wdXNoKEhFQVBVOFsoKGFyZysrKXww
KV0pOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICByZXQgPSByZXQuY29uY2F0KGludEFycmF5RnJvbVN0cmluZygnKG51bGwpJy5zdWJz
dHIoMCwgYXJnTGVuZ3RoKSwgdHJ1ZSkpOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
IGlmIChmbGFnTGVmdEFsaWduKSB7Ci0gICAgICAgICAgICAgICAgd2hpbGUgKGFyZ0xlbmd0aCA8
IHdpZHRoLS0pIHsKLSAgICAgICAgICAgICAgICAgIHJldC5wdXNoKDMyKTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBjYXNlICdjJzogewotICAgICAgICAgICAgICAvLyBDaGFyYWN0ZXIu
Ci0gICAgICAgICAgICAgIGlmIChmbGFnTGVmdEFsaWduKSByZXQucHVzaChnZXROZXh0QXJnKCdp
OCcpKTsKLSAgICAgICAgICAgICAgd2hpbGUgKC0td2lkdGggPiAwKSB7Ci0gICAgICAgICAgICAg
ICAgcmV0LnB1c2goMzIpOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIGlmICghZmxh
Z0xlZnRBbGlnbikgcmV0LnB1c2goZ2V0TmV4dEFyZygnaTgnKSk7Ci0gICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAnbic6IHsKLSAgICAgICAgICAg
ICAgLy8gV3JpdGUgdGhlIGxlbmd0aCB3cml0dGVuIHNvIGZhciB0byB0aGUgbmV4dCBwYXJhbWV0
ZXIuCi0gICAgICAgICAgICAgIHZhciBwdHIgPSBnZXROZXh0QXJnKCdpMzIqJyk7Ci0gICAgICAg
ICAgICAgIEhFQVAzMlsoKHB0cik+PjIpXT1yZXQubGVuZ3RoCi0gICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAnJSc6IHsKLSAgICAgICAgICAgICAg
Ly8gTGl0ZXJhbCBwZXJjZW50IHNpZ24uCi0gICAgICAgICAgICAgIHJldC5wdXNoKGN1cnIpOwot
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGRlZmF1bHQ6
IHsKLSAgICAgICAgICAgICAgLy8gVW5rbm93biBzcGVjaWZpZXJzIHJlbWFpbiB1bnRvdWNoZWQu
Ci0gICAgICAgICAgICAgIGZvciAodmFyIGkgPSBzdGFydFRleHRJbmRleDsgaSA8IHRleHRJbmRl
eCArIDI7IGkrKykgewotICAgICAgICAgICAgICAgIHJldC5wdXNoKEhFQVA4WyhpKV0pOwotICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgfQotICAgICAgICAgIHRleHRJ
bmRleCArPSAyOwotICAgICAgICAgIC8vIFRPRE86IFN1cHBvcnQgYS9BIChoZXggZmxvYXQpIGFu
ZCBtIChsYXN0IGVycm9yKSBzcGVjaWZpZXJzLgotICAgICAgICAgIC8vIFRPRE86IFN1cHBvcnQg
JTEke3NwZWNpZmllcn0gZm9yIGFyZyBzZWxlY3Rpb24uCi0gICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgcmV0LnB1c2goY3Vycik7Ci0gICAgICAgICAgdGV4dEluZGV4ICs9IDE7Ci0gICAgICAg
IH0KLSAgICAgIH0KLSAgICAgIHJldHVybiByZXQ7Ci0gICAgfWZ1bmN0aW9uIF9zbnByaW50Zihz
LCBuLCBmb3JtYXQsIHZhcmFyZ3MpIHsKLSAgICAgIC8vIGludCBzbnByaW50ZihjaGFyICpyZXN0
cmljdCBzLCBzaXplX3QgbiwgY29uc3QgY2hhciAqcmVzdHJpY3QgZm9ybWF0LCAuLi4pOwotICAg
ICAgLy8gaHR0cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5OS9mdW5j
dGlvbnMvcHJpbnRmLmh0bWwKLSAgICAgIHZhciByZXN1bHQgPSBfX2Zvcm1hdFN0cmluZyhmb3Jt
YXQsIHZhcmFyZ3MpOwotICAgICAgdmFyIGxpbWl0ID0gKG4gPT09IHVuZGVmaW5lZCkgPyByZXN1
bHQubGVuZ3RoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IE1hdGgubWlu
KHJlc3VsdC5sZW5ndGgsIE1hdGgubWF4KG4gLSAxLCAwKSk7Ci0gICAgICBpZiAocyA8IDApIHsK
LSAgICAgICAgcyA9IC1zOwotICAgICAgICB2YXIgYnVmID0gX21hbGxvYyhsaW1pdCsxKTsKLSAg
ICAgICAgSEVBUDMyWygocyk+PjIpXT1idWY7Ci0gICAgICAgIHMgPSBidWY7Ci0gICAgICB9Ci0g
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbWl0OyBpKyspIHsKLSAgICAgICAgSEVBUDhbKCgo
cykrKGkpKXwwKV09cmVzdWx0W2ldOwotICAgICAgfQotICAgICAgaWYgKGxpbWl0IDwgbiB8fCAo
biA9PT0gdW5kZWZpbmVkKSkgSEVBUDhbKCgocykrKGkpKXwwKV09MDsKLSAgICAgIHJldHVybiBy
ZXN1bHQubGVuZ3RoOwotICAgIH0KLSAgZnVuY3Rpb24gX3N5c2NvbmYobmFtZSkgewotICAgICAg
Ly8gbG9uZyBzeXNjb25mKGludCBuYW1lKTsKLSAgICAgIC8vIGh0dHA6Ly9wdWJzLm9wZW5ncm91
cC5vcmcvb25saW5lcHVicy8wMDk2OTUzOTkvZnVuY3Rpb25zL3N5c2NvbmYuaHRtbAotICAgICAg
c3dpdGNoKG5hbWUpIHsKLSAgICAgICAgY2FzZSA4OiByZXR1cm4gUEFHRV9TSVpFOwotICAgICAg
ICBjYXNlIDU0OgotICAgICAgICBjYXNlIDU2OgotICAgICAgICBjYXNlIDIxOgotICAgICAgICBj
YXNlIDYxOgotICAgICAgICBjYXNlIDYzOgotICAgICAgICBjYXNlIDIyOgotICAgICAgICBjYXNl
IDY3OgotICAgICAgICBjYXNlIDIzOgotICAgICAgICBjYXNlIDI0OgotICAgICAgICBjYXNlIDI1
OgotICAgICAgICBjYXNlIDI2OgotICAgICAgICBjYXNlIDI3OgotICAgICAgICBjYXNlIDY5Ogot
ICAgICAgICBjYXNlIDI4OgotICAgICAgICBjYXNlIDEwMToKLSAgICAgICAgY2FzZSA3MDoKLSAg
ICAgICAgY2FzZSA3MToKLSAgICAgICAgY2FzZSAyOToKLSAgICAgICAgY2FzZSAzMDoKLSAgICAg
ICAgY2FzZSAxOTk6Ci0gICAgICAgIGNhc2UgNzU6Ci0gICAgICAgIGNhc2UgNzY6Ci0gICAgICAg
IGNhc2UgMzI6Ci0gICAgICAgIGNhc2UgNDM6Ci0gICAgICAgIGNhc2UgNDQ6Ci0gICAgICAgIGNh
c2UgODA6Ci0gICAgICAgIGNhc2UgNDY6Ci0gICAgICAgIGNhc2UgNDc6Ci0gICAgICAgIGNhc2Ug
NDU6Ci0gICAgICAgIGNhc2UgNDg6Ci0gICAgICAgIGNhc2UgNDk6Ci0gICAgICAgIGNhc2UgNDI6
Ci0gICAgICAgIGNhc2UgODI6Ci0gICAgICAgIGNhc2UgMzM6Ci0gICAgICAgIGNhc2UgNzoKLSAg
ICAgICAgY2FzZSAxMDg6Ci0gICAgICAgIGNhc2UgMTA5OgotICAgICAgICBjYXNlIDEwNzoKLSAg
ICAgICAgY2FzZSAxMTI6Ci0gICAgICAgIGNhc2UgMTE5OgotICAgICAgICBjYXNlIDEyMToKLSAg
ICAgICAgICByZXR1cm4gMjAwODA5OwotICAgICAgICBjYXNlIDEzOgotICAgICAgICBjYXNlIDEw
NDoKLSAgICAgICAgY2FzZSA5NDoKLSAgICAgICAgY2FzZSA5NToKLSAgICAgICAgY2FzZSAzNDoK
LSAgICAgICAgY2FzZSAzNToKLSAgICAgICAgY2FzZSA3NzoKLSAgICAgICAgY2FzZSA4MToKLSAg
ICAgICAgY2FzZSA4MzoKLSAgICAgICAgY2FzZSA4NDoKLSAgICAgICAgY2FzZSA4NToKLSAgICAg
ICAgY2FzZSA4NjoKLSAgICAgICAgY2FzZSA4NzoKLSAgICAgICAgY2FzZSA4ODoKLSAgICAgICAg
Y2FzZSA4OToKLSAgICAgICAgY2FzZSA5MDoKLSAgICAgICAgY2FzZSA5MToKLSAgICAgICAgY2Fz
ZSA5NDoKLSAgICAgICAgY2FzZSA5NToKLSAgICAgICAgY2FzZSAxMTA6Ci0gICAgICAgIGNhc2Ug
MTExOgotICAgICAgICBjYXNlIDExMzoKLSAgICAgICAgY2FzZSAxMTQ6Ci0gICAgICAgIGNhc2Ug
MTE1OgotICAgICAgICBjYXNlIDExNjoKLSAgICAgICAgY2FzZSAxMTc6Ci0gICAgICAgIGNhc2Ug
MTE4OgotICAgICAgICBjYXNlIDEyMDoKLSAgICAgICAgY2FzZSA0MDoKLSAgICAgICAgY2FzZSAx
NjoKLSAgICAgICAgY2FzZSA3OToKLSAgICAgICAgY2FzZSAxOToKLSAgICAgICAgICByZXR1cm4g
LTE7Ci0gICAgICAgIGNhc2UgOTI6Ci0gICAgICAgIGNhc2UgOTM6Ci0gICAgICAgIGNhc2UgNToK
LSAgICAgICAgY2FzZSA3MjoKLSAgICAgICAgY2FzZSA2OgotICAgICAgICBjYXNlIDc0OgotICAg
ICAgICBjYXNlIDkyOgotICAgICAgICBjYXNlIDkzOgotICAgICAgICBjYXNlIDk2OgotICAgICAg
ICBjYXNlIDk3OgotICAgICAgICBjYXNlIDk4OgotICAgICAgICBjYXNlIDk5OgotICAgICAgICBj
YXNlIDEwMjoKLSAgICAgICAgY2FzZSAxMDM6Ci0gICAgICAgIGNhc2UgMTA1OgotICAgICAgICAg
IHJldHVybiAxOwotICAgICAgICBjYXNlIDM4OgotICAgICAgICBjYXNlIDY2OgotICAgICAgICBj
YXNlIDUwOgotICAgICAgICBjYXNlIDUxOgotICAgICAgICBjYXNlIDQ6Ci0gICAgICAgICAgcmV0
dXJuIDEwMjQ7Ci0gICAgICAgIGNhc2UgMTU6Ci0gICAgICAgIGNhc2UgNjQ6Ci0gICAgICAgIGNh
c2UgNDE6Ci0gICAgICAgICAgcmV0dXJuIDMyOwotICAgICAgICBjYXNlIDU1OgotICAgICAgICBj
YXNlIDM3OgotICAgICAgICBjYXNlIDE3OgotICAgICAgICAgIHJldHVybiAyMTQ3NDgzNjQ3Owot
ICAgICAgICBjYXNlIDE4OgotICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgcmV0dXJuIDQ3ODM5
OwotICAgICAgICBjYXNlIDU5OgotICAgICAgICBjYXNlIDU3OgotICAgICAgICAgIHJldHVybiA5
OTsKLSAgICAgICAgY2FzZSA2ODoKLSAgICAgICAgY2FzZSA1ODoKLSAgICAgICAgICByZXR1cm4g
MjA0ODsKLSAgICAgICAgY2FzZSAwOiByZXR1cm4gMjA5NzE1MjsKLSAgICAgICAgY2FzZSAzOiBy
ZXR1cm4gNjU1MzY7Ci0gICAgICAgIGNhc2UgMTQ6IHJldHVybiAzMjc2ODsKLSAgICAgICAgY2Fz
ZSA3MzogcmV0dXJuIDMyNzY3OwotICAgICAgICBjYXNlIDM5OiByZXR1cm4gMTYzODQ7Ci0gICAg
ICAgIGNhc2UgNjA6IHJldHVybiAxMDAwOwotICAgICAgICBjYXNlIDEwNjogcmV0dXJuIDcwMDsK
LSAgICAgICAgY2FzZSA1MjogcmV0dXJuIDI1NjsKLSAgICAgICAgY2FzZSA2MjogcmV0dXJuIDI1
NTsKLSAgICAgICAgY2FzZSAyOiByZXR1cm4gMTAwOwotICAgICAgICBjYXNlIDY1OiByZXR1cm4g
NjQ7Ci0gICAgICAgIGNhc2UgMzY6IHJldHVybiAyMDsKLSAgICAgICAgY2FzZSAxMDA6IHJldHVy
biAxNjsKLSAgICAgICAgY2FzZSAyMDogcmV0dXJuIDY7Ci0gICAgICAgIGNhc2UgNTM6IHJldHVy
biA0OwotICAgICAgICBjYXNlIDEwOiByZXR1cm4gMTsKLSAgICAgIH0KLSAgICAgIF9fX3NldEVy
ck5vKEVSUk5PX0NPREVTLkVJTlZBTCk7Ci0gICAgICByZXR1cm4gLTE7Ci0gICAgfQotICBmdW5j
dGlvbiBfX19jeGFfZ3VhcmRfYWJvcnQoKSB7fQotICBmdW5jdGlvbiBfaXN4ZGlnaXQoY2hyKSB7
Ci0gICAgICByZXR1cm4gKGNociA+PSA0OCAmJiBjaHIgPD0gNTcpIHx8Ci0gICAgICAgICAgICAg
KGNociA+PSA5NyAmJiBjaHIgPD0gMTAyKSB8fAotICAgICAgICAgICAgIChjaHIgPj0gNjUgJiYg
Y2hyIDw9IDcwKTsKLSAgICB9dmFyIF9pc3hkaWdpdF9sPV9pc3hkaWdpdDsKLSAgZnVuY3Rpb24g
X2lzZGlnaXQoY2hyKSB7Ci0gICAgICByZXR1cm4gY2hyID49IDQ4ICYmIGNociA8PSA1NzsKLSAg
ICB9dmFyIF9pc2RpZ2l0X2w9X2lzZGlnaXQ7Ci0gIGZ1bmN0aW9uIF9faXNGbG9hdCh0ZXh0KSB7
Ci0gICAgICByZXR1cm4gISEoL15bKy1dP1swLTldKlwuP1swLTldKyhbZUVdWystXT9bMC05XSsp
PyQvLmV4ZWModGV4dCkpOwotICAgIH1mdW5jdGlvbiBfX3NjYW5TdHJpbmcoZm9ybWF0LCBnZXQs
IHVuZ2V0LCB2YXJhcmdzKSB7Ci0gICAgICBpZiAoIV9fc2NhblN0cmluZy53aGl0ZVNwYWNlKSB7
Ci0gICAgICAgIF9fc2NhblN0cmluZy53aGl0ZVNwYWNlID0ge307Ci0gICAgICAgIF9fc2NhblN0
cmluZy53aGl0ZVNwYWNlWzMyXSA9IDE7Ci0gICAgICAgIF9fc2NhblN0cmluZy53aGl0ZVNwYWNl
WzldID0gMTsKLSAgICAgICAgX19zY2FuU3RyaW5nLndoaXRlU3BhY2VbMTBdID0gMTsKLSAgICAg
ICAgX19zY2FuU3RyaW5nLndoaXRlU3BhY2VbMTFdID0gMTsKLSAgICAgICAgX19zY2FuU3RyaW5n
LndoaXRlU3BhY2VbMTJdID0gMTsKLSAgICAgICAgX19zY2FuU3RyaW5nLndoaXRlU3BhY2VbMTNd
ID0gMTsKLSAgICAgICAgX19zY2FuU3RyaW5nLndoaXRlU3BhY2VbJyAnXSA9IDE7Ci0gICAgICAg
IF9fc2NhblN0cmluZy53aGl0ZVNwYWNlWydcdCddID0gMTsKLSAgICAgICAgX19zY2FuU3RyaW5n
LndoaXRlU3BhY2VbJ1xuJ10gPSAxOwotICAgICAgICBfX3NjYW5TdHJpbmcud2hpdGVTcGFjZVsn
XHYnXSA9IDE7Ci0gICAgICAgIF9fc2NhblN0cmluZy53aGl0ZVNwYWNlWydcZiddID0gMTsKLSAg
ICAgICAgX19zY2FuU3RyaW5nLndoaXRlU3BhY2VbJ1xyJ10gPSAxOwotICAgICAgfQotICAgICAg
Ly8gU3VwcG9ydHMgJXgsICU0eCwgJWQuJWQsICVsbGQsICVzLCAlZiwgJWxmLgotICAgICAgLy8g
VE9ETzogU3VwcG9ydCBhbGwgZm9ybWF0IHNwZWNpZmllcnMuCi0gICAgICBmb3JtYXQgPSBQb2lu
dGVyX3N0cmluZ2lmeShmb3JtYXQpOwotICAgICAgdmFyIHNvRmFyID0gMDsKLSAgICAgIGlmIChm
b3JtYXQuaW5kZXhPZignJW4nKSA+PSAwKSB7Ci0gICAgICAgIC8vIG5lZWQgdG8gdHJhY2sgc29G
YXIKLSAgICAgICAgdmFyIF9nZXQgPSBnZXQ7Ci0gICAgICAgIGdldCA9IGZ1bmN0aW9uKCkgewot
ICAgICAgICAgIHNvRmFyKys7Ci0gICAgICAgICAgcmV0dXJuIF9nZXQoKTsKLSAgICAgICAgfQot
ICAgICAgICB2YXIgX3VuZ2V0ID0gdW5nZXQ7Ci0gICAgICAgIHVuZ2V0ID0gZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgc29GYXItLTsKLSAgICAgICAgICByZXR1cm4gX3VuZ2V0KCk7Ci0gICAgICAg
IH0KLSAgICAgIH0KLSAgICAgIHZhciBmb3JtYXRJbmRleCA9IDA7Ci0gICAgICB2YXIgYXJnc2kg
PSAwOwotICAgICAgdmFyIGZpZWxkcyA9IDA7Ci0gICAgICB2YXIgYXJnSW5kZXggPSAwOwotICAg
ICAgdmFyIG5leHQ7Ci0gICAgICBtYWluTG9vcDoKLSAgICAgIGZvciAodmFyIGZvcm1hdEluZGV4
ID0gMDsgZm9ybWF0SW5kZXggPCBmb3JtYXQubGVuZ3RoOykgewotICAgICAgICBpZiAoZm9ybWF0
W2Zvcm1hdEluZGV4XSA9PT0gJyUnICYmIGZvcm1hdFtmb3JtYXRJbmRleCsxXSA9PSAnbicpIHsK
LSAgICAgICAgICB2YXIgYXJnUHRyID0gSEVBUDMyWygoKHZhcmFyZ3MpKyhhcmdJbmRleCkpPj4y
KV07Ci0gICAgICAgICAgYXJnSW5kZXggKz0gUnVudGltZS5nZXRBbGlnblNpemUoJ3ZvaWQqJywg
bnVsbCwgdHJ1ZSk7Ci0gICAgICAgICAgSEVBUDMyWygoYXJnUHRyKT4+MildPXNvRmFyOwotICAg
ICAgICAgIGZvcm1hdEluZGV4ICs9IDI7Ci0gICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0K
LSAgICAgICAgaWYgKGZvcm1hdFtmb3JtYXRJbmRleF0gPT09ICclJykgewotICAgICAgICAgIHZh
ciBuZXh0QyA9IGZvcm1hdC5pbmRleE9mKCdjJywgZm9ybWF0SW5kZXgrMSk7Ci0gICAgICAgICAg
aWYgKG5leHRDID4gMCkgewotICAgICAgICAgICAgdmFyIG1heHggPSAxOwotICAgICAgICAgICAg
aWYgKG5leHRDID4gZm9ybWF0SW5kZXgrMSkgewotICAgICAgICAgICAgICB2YXIgc3ViID0gZm9y
bWF0LnN1YnN0cmluZyhmb3JtYXRJbmRleCsxLCBuZXh0QykKLSAgICAgICAgICAgICAgbWF4eCA9
IHBhcnNlSW50KHN1Yik7Ci0gICAgICAgICAgICAgIGlmIChtYXh4ICE9IHN1YikgbWF4eCA9IDA7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAobWF4eCkgewotICAgICAgICAgICAgICB2
YXIgYXJnUHRyID0gSEVBUDMyWygoKHZhcmFyZ3MpKyhhcmdJbmRleCkpPj4yKV07Ci0gICAgICAg
ICAgICAgIGFyZ0luZGV4ICs9IFJ1bnRpbWUuZ2V0QWxpZ25TaXplKCd2b2lkKicsIG51bGwsIHRy
dWUpOwotICAgICAgICAgICAgICBmaWVsZHMrKzsKLSAgICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBtYXh4OyBpKyspIHsKLSAgICAgICAgICAgICAgICBuZXh0ID0gZ2V0KCk7Ci0gICAg
ICAgICAgICAgICAgSEVBUDhbKChhcmdQdHIrKyl8MCldPW5leHQ7Ci0gICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgZm9ybWF0SW5kZXggKz0gbmV4dEMgLSBmb3JtYXRJbmRleCArIDE7Ci0g
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgIH0KLSAgICAg
ICAgfQotICAgICAgICAvLyByZW1vdmUgd2hpdGVzcGFjZQotICAgICAgICB3aGlsZSAoMSkgewot
ICAgICAgICAgIG5leHQgPSBnZXQoKTsKLSAgICAgICAgICBpZiAobmV4dCA9PSAwKSByZXR1cm4g
ZmllbGRzOwotICAgICAgICAgIGlmICghKG5leHQgaW4gX19zY2FuU3RyaW5nLndoaXRlU3BhY2Up
KSBicmVhazsKLSAgICAgICAgfQotICAgICAgICB1bmdldCgpOwotICAgICAgICBpZiAoZm9ybWF0
W2Zvcm1hdEluZGV4XSA9PT0gJyUnKSB7Ci0gICAgICAgICAgZm9ybWF0SW5kZXgrKzsKLSAgICAg
ICAgICB2YXIgc3VwcHJlc3NBc3NpZ25tZW50ID0gZmFsc2U7Ci0gICAgICAgICAgaWYgKGZvcm1h
dFtmb3JtYXRJbmRleF0gPT0gJyonKSB7Ci0gICAgICAgICAgICBzdXBwcmVzc0Fzc2lnbm1lbnQg
PSB0cnVlOwotICAgICAgICAgICAgZm9ybWF0SW5kZXgrKzsKLSAgICAgICAgICB9Ci0gICAgICAg
ICAgdmFyIG1heFNwZWNpZmllclN0YXJ0ID0gZm9ybWF0SW5kZXg7Ci0gICAgICAgICAgd2hpbGUg
KGZvcm1hdFtmb3JtYXRJbmRleF0uY2hhckNvZGVBdCgwKSA+PSA0OCAmJgotICAgICAgICAgICAg
ICAgICBmb3JtYXRbZm9ybWF0SW5kZXhdLmNoYXJDb2RlQXQoMCkgPD0gNTcpIHsKLSAgICAgICAg
ICAgIGZvcm1hdEluZGV4Kys7Ci0gICAgICAgICAgfQotICAgICAgICAgIHZhciBtYXhfOwotICAg
ICAgICAgIGlmIChmb3JtYXRJbmRleCAhPSBtYXhTcGVjaWZpZXJTdGFydCkgewotICAgICAgICAg
ICAgbWF4XyA9IHBhcnNlSW50KGZvcm1hdC5zbGljZShtYXhTcGVjaWZpZXJTdGFydCwgZm9ybWF0
SW5kZXgpLCAxMCk7Ci0gICAgICAgICAgfQotICAgICAgICAgIHZhciBsb25nXyA9IGZhbHNlOwot
ICAgICAgICAgIHZhciBoYWxmID0gZmFsc2U7Ci0gICAgICAgICAgdmFyIGxvbmdMb25nID0gZmFs
c2U7Ci0gICAgICAgICAgaWYgKGZvcm1hdFtmb3JtYXRJbmRleF0gPT0gJ2wnKSB7Ci0gICAgICAg
ICAgICBsb25nXyA9IHRydWU7Ci0gICAgICAgICAgICBmb3JtYXRJbmRleCsrOwotICAgICAgICAg
ICAgaWYgKGZvcm1hdFtmb3JtYXRJbmRleF0gPT0gJ2wnKSB7Ci0gICAgICAgICAgICAgIGxvbmdM
b25nID0gdHJ1ZTsKLSAgICAgICAgICAgICAgZm9ybWF0SW5kZXgrKzsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICB9IGVsc2UgaWYgKGZvcm1hdFtmb3JtYXRJbmRleF0gPT0gJ2gnKSB7Ci0gICAg
ICAgICAgICBoYWxmID0gdHJ1ZTsKLSAgICAgICAgICAgIGZvcm1hdEluZGV4Kys7Ci0gICAgICAg
ICAgfQotICAgICAgICAgIHZhciB0eXBlID0gZm9ybWF0W2Zvcm1hdEluZGV4XTsKLSAgICAgICAg
ICBmb3JtYXRJbmRleCsrOwotICAgICAgICAgIHZhciBjdXJyID0gMDsKLSAgICAgICAgICB2YXIg
YnVmZmVyID0gW107Ci0gICAgICAgICAgLy8gUmVhZCBjaGFyYWN0ZXJzIGFjY29yZGluZyB0byB0
aGUgZm9ybWF0LiBmbG9hdHMgYXJlIHRyaWNraWVyLCB0aGV5IG1heSBiZSBpbiBhbiB1bmZsb2F0
IHN0YXRlIGluIHRoZSBtaWRkbGUsIHRoZW4gYmUgYSB2YWxpZCBmbG9hdCBsYXRlcgotICAgICAg
ICAgIGlmICh0eXBlID09ICdmJyB8fCB0eXBlID09ICdlJyB8fCB0eXBlID09ICdnJyB8fAotICAg
ICAgICAgICAgICB0eXBlID09ICdGJyB8fCB0eXBlID09ICdFJyB8fCB0eXBlID09ICdHJykgewot
ICAgICAgICAgICAgdmFyIGxhc3QgPSAwOwotICAgICAgICAgICAgbmV4dCA9IGdldCgpOwotICAg
ICAgICAgICAgd2hpbGUgKG5leHQgPiAwKSB7Ci0gICAgICAgICAgICAgIGJ1ZmZlci5wdXNoKFN0
cmluZy5mcm9tQ2hhckNvZGUobmV4dCkpOwotICAgICAgICAgICAgICBpZiAoX19pc0Zsb2F0KGJ1
ZmZlci5qb2luKCcnKSkpIHsKLSAgICAgICAgICAgICAgICBsYXN0ID0gYnVmZmVyLmxlbmd0aDsK
LSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBuZXh0ID0gZ2V0KCk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ1ZmZlci5sZW5ndGggLSBsYXN0
ICsgMTsgaSsrKSB7Ci0gICAgICAgICAgICAgIHVuZ2V0KCk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBidWZmZXIubGVuZ3RoID0gbGFzdDsKLSAgICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgbmV4dCA9IGdldCgpOwotICAgICAgICAgICAgdmFyIGZpcnN0ID0gdHJ1ZTsKLSAgICAg
ICAgICAgIHdoaWxlICgoY3VyciA8IG1heF8gfHwgaXNOYU4obWF4XykpICYmIG5leHQgPiAwKSB7
Ci0gICAgICAgICAgICAgIGlmICghKG5leHQgaW4gX19zY2FuU3RyaW5nLndoaXRlU3BhY2UpICYm
IC8vIHN0b3Agb24gd2hpdGVzcGFjZQotICAgICAgICAgICAgICAgICAgKHR5cGUgPT0gJ3MnIHx8
Ci0gICAgICAgICAgICAgICAgICAgKCh0eXBlID09PSAnZCcgfHwgdHlwZSA9PSAndScgfHwgdHlw
ZSA9PSAnaScpICYmICgobmV4dCA+PSA0OCAmJiBuZXh0IDw9IDU3KSB8fAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KGZpcnN0ICYmIG5leHQgPT0gNDUpKSkgfHwKLSAgICAgICAgICAgICAgICAgICAoKHR5cGUgPT09
ICd4JyB8fCB0eXBlID09PSAnWCcpICYmIChuZXh0ID49IDQ4ICYmIG5leHQgPD0gNTcgfHwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0ID49IDk3ICYmIG5leHQgPD0g
MTAyIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dCA+PSA2NSAm
JiBuZXh0IDw9IDcwKSkpICYmCi0gICAgICAgICAgICAgICAgICAoZm9ybWF0SW5kZXggPj0gZm9y
bWF0Lmxlbmd0aCB8fCBuZXh0ICE9PSBmb3JtYXRbZm9ybWF0SW5kZXhdLmNoYXJDb2RlQXQoMCkp
KSB7IC8vIFN0b3Agd2hlbiB3ZSByZWFkIHNvbWV0aGluZyB0aGF0IGlzIGNvbWluZyB1cAotICAg
ICAgICAgICAgICAgIGJ1ZmZlci5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUobmV4dCkpOwotICAg
ICAgICAgICAgICAgIG5leHQgPSBnZXQoKTsKLSAgICAgICAgICAgICAgICBjdXJyKys7Ci0gICAg
ICAgICAgICAgICAgZmlyc3QgPSBmYWxzZTsKLSAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgdW5nZXQoKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgaWYgKGJ1ZmZlci5sZW5ndGgg
PT09IDApIHJldHVybiAwOyAgLy8gRmFpbHVyZS4KLSAgICAgICAgICBpZiAoc3VwcHJlc3NBc3Np
Z25tZW50KSBjb250aW51ZTsKLSAgICAgICAgICB2YXIgdGV4dCA9IGJ1ZmZlci5qb2luKCcnKTsK
LSAgICAgICAgICB2YXIgYXJnUHRyID0gSEVBUDMyWygoKHZhcmFyZ3MpKyhhcmdJbmRleCkpPj4y
KV07Ci0gICAgICAgICAgYXJnSW5kZXggKz0gUnVudGltZS5nZXRBbGlnblNpemUoJ3ZvaWQqJywg
bnVsbCwgdHJ1ZSk7Ci0gICAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgICAgICBjYXNl
ICdkJzogY2FzZSAndSc6IGNhc2UgJ2knOgotICAgICAgICAgICAgICBpZiAoaGFsZikgewotICAg
ICAgICAgICAgICAgIEhFQVAxNlsoKGFyZ1B0cik+PjEpXT1wYXJzZUludCh0ZXh0LCAxMCk7Ci0g
ICAgICAgICAgICAgIH0gZWxzZSBpZiAobG9uZ0xvbmcpIHsKLSAgICAgICAgICAgICAgICAodGVt
cEk2NCA9IFtwYXJzZUludCh0ZXh0LCAxMCk+Pj4wLCh0ZW1wRG91YmxlPXBhcnNlSW50KHRleHQs
IDEwKSwoKyhNYXRoLmFicyh0ZW1wRG91YmxlKSkpID49ICgrKDEpKSA/ICh0ZW1wRG91YmxlID4g
KCsoMCkpID8gKChNYXRoLm1pbigoKyhNYXRoLmZsb29yKCh0ZW1wRG91YmxlKS8oKyg0Mjk0OTY3
Mjk2KSkpKSksICgrKDQyOTQ5NjcyOTUpKSkpfDApPj4+MCA6ICh+figoKyhNYXRoLmNlaWwoKHRl
bXBEb3VibGUgLSArKCgofn4odGVtcERvdWJsZSkpKT4+PjApKS8oKyg0Mjk0OTY3Mjk2KSkpKSkp
KT4+PjApIDogMCldLEhFQVAzMlsoKGFyZ1B0cik+PjIpXT10ZW1wSTY0WzBdLEhFQVAzMlsoKChh
cmdQdHIpKyg0KSk+PjIpXT10ZW1wSTY0WzFdKTsKLSAgICAgICAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgICAgICBIRUFQMzJbKChhcmdQdHIpPj4yKV09cGFyc2VJbnQodGV4dCwgMTApOwot
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAn
WCc6Ci0gICAgICAgICAgICBjYXNlICd4JzoKLSAgICAgICAgICAgICAgSEVBUDMyWygoYXJnUHRy
KT4+MildPXBhcnNlSW50KHRleHQsIDE2KQotICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgIGNhc2UgJ0YnOgotICAgICAgICAgICAgY2FzZSAnZic6Ci0gICAgICAgICAgICBjYXNlICdF
JzoKLSAgICAgICAgICAgIGNhc2UgJ2UnOgotICAgICAgICAgICAgY2FzZSAnRyc6Ci0gICAgICAg
ICAgICBjYXNlICdnJzoKLSAgICAgICAgICAgIGNhc2UgJ0UnOgotICAgICAgICAgICAgICAvLyBm
YWxsdGhyb3VnaCBpbnRlbmRlZAotICAgICAgICAgICAgICBpZiAobG9uZ18pIHsKLSAgICAgICAg
ICAgICAgICBIRUFQRjY0WygoYXJnUHRyKT4+MyldPXBhcnNlRmxvYXQodGV4dCkKLSAgICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBIRUFQRjMyWygoYXJnUHRyKT4+MildPXBh
cnNlRmxvYXQodGV4dCkKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIGNhc2UgJ3MnOgotICAgICAgICAgICAgICB2YXIgYXJyYXkgPSBpbnRBcnJheUZy
b21TdHJpbmcodGV4dCk7Ci0gICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgYXJyYXku
bGVuZ3RoOyBqKyspIHsKLSAgICAgICAgICAgICAgICBIRUFQOFsoKChhcmdQdHIpKyhqKSl8MCld
PWFycmF5W2pdCi0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgfQotICAgICAgICAgIGZpZWxkcysrOwotICAgICAgICB9IGVsc2UgaWYgKGZvcm1hdFtmb3Jt
YXRJbmRleF0gaW4gX19zY2FuU3RyaW5nLndoaXRlU3BhY2UpIHsKLSAgICAgICAgICBuZXh0ID0g
Z2V0KCk7Ci0gICAgICAgICAgd2hpbGUgKG5leHQgaW4gX19zY2FuU3RyaW5nLndoaXRlU3BhY2Up
IHsKLSAgICAgICAgICAgIGlmIChuZXh0IDw9IDApIGJyZWFrIG1haW5Mb29wOyAgLy8gRW5kIG9m
IGlucHV0LgotICAgICAgICAgICAgbmV4dCA9IGdldCgpOwotICAgICAgICAgIH0KLSAgICAgICAg
ICB1bmdldChuZXh0KTsKLSAgICAgICAgICBmb3JtYXRJbmRleCsrOwotICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgIC8vIE5vdCBhIHNwZWNpZmllci4KLSAgICAgICAgICBuZXh0ID0gZ2V0KCk7
Ci0gICAgICAgICAgaWYgKGZvcm1hdFtmb3JtYXRJbmRleF0uY2hhckNvZGVBdCgwKSAhPT0gbmV4
dCkgewotICAgICAgICAgICAgdW5nZXQobmV4dCk7Ci0gICAgICAgICAgICBicmVhayBtYWluTG9v
cDsKLSAgICAgICAgICB9Ci0gICAgICAgICAgZm9ybWF0SW5kZXgrKzsKLSAgICAgICAgfQotICAg
ICAgfQotICAgICAgcmV0dXJuIGZpZWxkczsKLSAgICB9ZnVuY3Rpb24gX3NzY2FuZihzLCBmb3Jt
YXQsIHZhcmFyZ3MpIHsKLSAgICAgIC8vIGludCBzc2NhbmYoY29uc3QgY2hhciAqcmVzdHJpY3Qg
cywgY29uc3QgY2hhciAqcmVzdHJpY3QgZm9ybWF0LCAuLi4gKTsKLSAgICAgIC8vIGh0dHA6Ly9w
dWJzLm9wZW5ncm91cC5vcmcvb25saW5lcHVicy8wMDAwOTUzOTkvZnVuY3Rpb25zL3NjYW5mLmh0
bWwKLSAgICAgIHZhciBpbmRleCA9IDA7Ci0gICAgICB2YXIgZ2V0ID0gZnVuY3Rpb24oKSB7IHJl
dHVybiBIRUFQOFsoKChzKSsoaW5kZXgrKykpfDApXTsgfTsKLSAgICAgIHZhciB1bmdldCA9IGZ1
bmN0aW9uKCkgeyBpbmRleC0tOyB9OwotICAgICAgcmV0dXJuIF9fc2NhblN0cmluZyhmb3JtYXQs
IGdldCwgdW5nZXQsIHZhcmFyZ3MpOwotICAgIH0KLSAgZnVuY3Rpb24gX19aN2NhdG9wZW5QS2Np
KCkgeyB0aHJvdyAnY2F0b3BlbiBub3QgaW1wbGVtZW50ZWQnIH0KLSAgZnVuY3Rpb24gX19aN2Nh
dGdldHNQOF9ubF9jYXRkaWlQS2MoKSB7IHRocm93ICdjYXRnZXRzIG5vdCBpbXBsZW1lbnRlZCcg
fQotICBmdW5jdGlvbiBfX1o4Y2F0Y2xvc2VQOF9ubF9jYXRkKCkgeyB0aHJvdyAnY2F0Y2xvc2Ug
bm90IGltcGxlbWVudGVkJyB9Ci0gIGZ1bmN0aW9uIF9uZXdsb2NhbGUobWFzaywgbG9jYWxlLCBi
YXNlKSB7Ci0gICAgICByZXR1cm4gMDsKLSAgICB9Ci0gIGZ1bmN0aW9uIF9mcmVlbG9jYWxlKGxv
Y2FsZSkge30KLSAgZnVuY3Rpb24gX19fY3R5cGVfYl9sb2MoKSB7Ci0gICAgICAvLyBodHRwOi8v
cmVmc3BlY3MuZnJlZXN0YW5kYXJkcy5vcmcvTFNCXzMuMC4wL0xTQi1Db3JlLWdlbmVyaWMvTFNC
LUNvcmUtZ2VuZXJpYy9iYXNlbGliLS0tY3R5cGUtYi1sb2MuaHRtbAotICAgICAgdmFyIG1lID0g
X19fY3R5cGVfYl9sb2M7Ci0gICAgICBpZiAoIW1lLnJldCkgewotICAgICAgICB2YXIgdmFsdWVz
ID0gWwotICAgICAgICAgIDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICAgICAgICAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsCi0gICAgICAgICAgMCwwLDAsMCww
LDAsMCwwLDAsMCwyLDIsMiwyLDIsMiwyLDIsMiw4MTk1LDgxOTQsODE5NCw4MTk0LDgxOTQsMiwy
LDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMjQ1NzcsNDkxNTYsNDkxNTYsNDkxNTYs
Ci0gICAgICAgICAgNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkx
NTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNTUzMDQsNTUzMDQsNTUzMDQsNTUzMDQsNTUzMDQs
NTUzMDQsNTUzMDQsNTUzMDQsCi0gICAgICAgICAgNTUzMDQsNTUzMDQsNDkxNTYsNDkxNTYsNDkx
NTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNTQ1MzYsNTQ1MzYsNTQ1MzYsNTQ1MzYsNTQ1MzYs
NTQ1MzYsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsCi0gICAgICAgICAgNTA0NDAsNTA0
NDAsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAs
NTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsCi0g
ICAgICAgICAgNDkxNTYsNTQ3OTIsNTQ3OTIsNTQ3OTIsNTQ3OTIsNTQ3OTIsNTQ3OTIsNTA2OTYs
NTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2
OTYsNTA2OTYsNTA2OTYsCi0gICAgICAgICAgNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYs
NTA2OTYsNTA2OTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsMiwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAotICAgICAgICAgIDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICAgICAg
ICAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKLSAgICAgICAgXTsKLSAgICAgICAgdmFy
IGkxNnNpemUgPSAyOwotICAgICAgICB2YXIgYXJyID0gX21hbGxvYyh2YWx1ZXMubGVuZ3RoICog
aTE2c2l6ZSk7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsr
KSB7Ci0gICAgICAgICAgSEVBUDE2WygoKGFycikrKGkgKiBpMTZzaXplKSk+PjEpXT12YWx1ZXNb
aV0KLSAgICAgICAgfQotICAgICAgICBtZS5yZXQgPSBhbGxvY2F0ZShbYXJyICsgMTI4ICogaTE2
c2l6ZV0sICdpMTYqJywgQUxMT0NfTk9STUFMKTsKLSAgICAgIH0KLSAgICAgIHJldHVybiBtZS5y
ZXQ7Ci0gICAgfQotICBmdW5jdGlvbiBfX19jdHlwZV90b2xvd2VyX2xvYygpIHsKLSAgICAgIC8v
IGh0dHA6Ly9yZWZzcGVjcy5mcmVlc3RhbmRhcmRzLm9yZy9MU0JfMy4xLjEvTFNCLUNvcmUtZ2Vu
ZXJpYy9MU0ItQ29yZS1nZW5lcmljL2xpYnV0aWwtLS1jdHlwZS10b2xvd2VyLWxvYy5odG1sCi0g
ICAgICB2YXIgbWUgPSBfX19jdHlwZV90b2xvd2VyX2xvYzsKLSAgICAgIGlmICghbWUucmV0KSB7
Ci0gICAgICAgIHZhciB2YWx1ZXMgPSBbCi0gICAgICAgICAgMTI4LDEyOSwxMzAsMTMxLDEzMiwx
MzMsMTM0LDEzNSwxMzYsMTM3LDEzOCwxMzksMTQwLDE0MSwxNDIsMTQzLDE0NCwxNDUsMTQ2LDE0
NywxNDgsMTQ5LDE1MCwxNTEsMTUyLDE1MywxNTQsMTU1LDE1NiwxNTcsCi0gICAgICAgICAgMTU4
LDE1OSwxNjAsMTYxLDE2MiwxNjMsMTY0LDE2NSwxNjYsMTY3LDE2OCwxNjksMTcwLDE3MSwxNzIs
MTczLDE3NCwxNzUsMTc2LDE3NywxNzgsMTc5LDE4MCwxODEsMTgyLDE4MywxODQsMTg1LDE4Niwx
ODcsCi0gICAgICAgICAgMTg4LDE4OSwxOTAsMTkxLDE5MiwxOTMsMTk0LDE5NSwxOTYsMTk3LDE5
OCwxOTksMjAwLDIwMSwyMDIsMjAzLDIwNCwyMDUsMjA2LDIwNywyMDgsMjA5LDIxMCwyMTEsMjEy
LDIxMywyMTQsMjE1LDIxNiwyMTcsCi0gICAgICAgICAgMjE4LDIxOSwyMjAsMjIxLDIyMiwyMjMs
MjI0LDIyNSwyMjYsMjI3LDIyOCwyMjksMjMwLDIzMSwyMzIsMjMzLDIzNCwyMzUsMjM2LDIzNywy
MzgsMjM5LDI0MCwyNDEsMjQyLDI0MywyNDQsMjQ1LDI0NiwyNDcsCi0gICAgICAgICAgMjQ4LDI0
OSwyNTAsMjUxLDI1MiwyNTMsMjU0LC0xLDAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMs
MTQsMTUsMTYsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksMzAsMzEsMzIs
Ci0gICAgICAgICAgMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDcs
NDgsNDksNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksNjAsNjEsNjIsNjMsNjQsOTcsOTgs
OTksMTAwLDEwMSwxMDIsMTAzLAotICAgICAgICAgIDEwNCwxMDUsMTA2LDEwNywxMDgsMTA5LDEx
MCwxMTEsMTEyLDExMywxMTQsMTE1LDExNiwxMTcsMTE4LDExOSwxMjAsMTIxLDEyMiw5MSw5Miw5
Myw5NCw5NSw5Niw5Nyw5OCw5OSwxMDAsMTAxLDEwMiwxMDMsCi0gICAgICAgICAgMTA0LDEwNSwx
MDYsMTA3LDEwOCwxMDksMTEwLDExMSwxMTIsMTEzLDExNCwxMTUsMTE2LDExNywxMTgsMTE5LDEy
MCwxMjEsMTIyLDEyMywxMjQsMTI1LDEyNiwxMjcsMTI4LDEyOSwxMzAsMTMxLDEzMiwxMzMsCi0g
ICAgICAgICAgMTM0LDEzNSwxMzYsMTM3LDEzOCwxMzksMTQwLDE0MSwxNDIsMTQzLDE0NCwxNDUs
MTQ2LDE0NywxNDgsMTQ5LDE1MCwxNTEsMTUyLDE1MywxNTQsMTU1LDE1NiwxNTcsMTU4LDE1OSwx
NjAsMTYxLDE2MiwxNjMsCi0gICAgICAgICAgMTY0LDE2NSwxNjYsMTY3LDE2OCwxNjksMTcwLDE3
MSwxNzIsMTczLDE3NCwxNzUsMTc2LDE3NywxNzgsMTc5LDE4MCwxODEsMTgyLDE4MywxODQsMTg1
LDE4NiwxODcsMTg4LDE4OSwxOTAsMTkxLDE5MiwxOTMsCi0gICAgICAgICAgMTk0LDE5NSwxOTYs
MTk3LDE5OCwxOTksMjAwLDIwMSwyMDIsMjAzLDIwNCwyMDUsMjA2LDIwNywyMDgsMjA5LDIxMCwy
MTEsMjEyLDIxMywyMTQsMjE1LDIxNiwyMTcsMjE4LDIxOSwyMjAsMjIxLDIyMiwyMjMsCi0gICAg
ICAgICAgMjI0LDIyNSwyMjYsMjI3LDIyOCwyMjksMjMwLDIzMSwyMzIsMjMzLDIzNCwyMzUsMjM2
LDIzNywyMzgsMjM5LDI0MCwyNDEsMjQyLDI0MywyNDQsMjQ1LDI0NiwyNDcsMjQ4LDI0OSwyNTAs
MjUxLDI1MiwyNTMsCi0gICAgICAgICAgMjU0LDI1NQotICAgICAgICBdOwotICAgICAgICB2YXIg
aTMyc2l6ZSA9IDQ7Ci0gICAgICAgIHZhciBhcnIgPSBfbWFsbG9jKHZhbHVlcy5sZW5ndGggKiBp
MzJzaXplKTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWx1ZXMubGVuZ3RoOyBpKysp
IHsKLSAgICAgICAgICBIRUFQMzJbKCgoYXJyKSsoaSAqIGkzMnNpemUpKT4+MildPXZhbHVlc1tp
XQotICAgICAgICB9Ci0gICAgICAgIG1lLnJldCA9IGFsbG9jYXRlKFthcnIgKyAxMjggKiBpMzJz
aXplXSwgJ2kzMionLCBBTExPQ19OT1JNQUwpOwotICAgICAgfQotICAgICAgcmV0dXJuIG1lLnJl
dDsKLSAgICB9Ci0gIGZ1bmN0aW9uIF9fX2N0eXBlX3RvdXBwZXJfbG9jKCkgewotICAgICAgLy8g
aHR0cDovL3JlZnNwZWNzLmZyZWVzdGFuZGFyZHMub3JnL0xTQl8zLjEuMS9MU0ItQ29yZS1nZW5l
cmljL0xTQi1Db3JlLWdlbmVyaWMvbGlidXRpbC0tLWN0eXBlLXRvdXBwZXItbG9jLmh0bWwKLSAg
ICAgIHZhciBtZSA9IF9fX2N0eXBlX3RvdXBwZXJfbG9jOwotICAgICAgaWYgKCFtZS5yZXQpIHsK
LSAgICAgICAgdmFyIHZhbHVlcyA9IFsKLSAgICAgICAgICAxMjgsMTI5LDEzMCwxMzEsMTMyLDEz
MywxMzQsMTM1LDEzNiwxMzcsMTM4LDEzOSwxNDAsMTQxLDE0MiwxNDMsMTQ0LDE0NSwxNDYsMTQ3
LDE0OCwxNDksMTUwLDE1MSwxNTIsMTUzLDE1NCwxNTUsMTU2LDE1NywKLSAgICAgICAgICAxNTgs
MTU5LDE2MCwxNjEsMTYyLDE2MywxNjQsMTY1LDE2NiwxNjcsMTY4LDE2OSwxNzAsMTcxLDE3Miwx
NzMsMTc0LDE3NSwxNzYsMTc3LDE3OCwxNzksMTgwLDE4MSwxODIsMTgzLDE4NCwxODUsMTg2LDE4
NywKLSAgICAgICAgICAxODgsMTg5LDE5MCwxOTEsMTkyLDE5MywxOTQsMTk1LDE5NiwxOTcsMTk4
LDE5OSwyMDAsMjAxLDIwMiwyMDMsMjA0LDIwNSwyMDYsMjA3LDIwOCwyMDksMjEwLDIxMSwyMTIs
MjEzLDIxNCwyMTUsMjE2LDIxNywKLSAgICAgICAgICAyMTgsMjE5LDIyMCwyMjEsMjIyLDIyMywy
MjQsMjI1LDIyNiwyMjcsMjI4LDIyOSwyMzAsMjMxLDIzMiwyMzMsMjM0LDIzNSwyMzYsMjM3LDIz
OCwyMzksMjQwLDI0MSwyNDIsMjQzLDI0NCwyNDUsMjQ2LDI0NywKLSAgICAgICAgICAyNDgsMjQ5
LDI1MCwyNTEsMjUyLDI1MywyNTQsLTEsMCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywx
NCwxNSwxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMSwzMiwK
LSAgICAgICAgICAzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0
OCw0OSw1MCw1MSw1Miw1Myw1NCw1NSw1Niw1Nyw1OCw1OSw2MCw2MSw2Miw2Myw2NCw2NSw2Niw2
Nyw2OCw2OSw3MCw3MSw3MiwKLSAgICAgICAgICA3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4
Miw4Myw4NCw4NSw4Niw4Nyw4OCw4OSw5MCw5MSw5Miw5Myw5NCw5NSw5Niw2NSw2Niw2Nyw2OCw2
OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCwKLSAgICAgICAgICA4MSw4Miw4Myw4
NCw4NSw4Niw4Nyw4OCw4OSw5MCwxMjMsMTI0LDEyNSwxMjYsMTI3LDEyOCwxMjksMTMwLDEzMSwx
MzIsMTMzLDEzNCwxMzUsMTM2LDEzNywxMzgsMTM5LDE0MCwxNDEsMTQyLDE0MywxNDQsCi0gICAg
ICAgICAgMTQ1LDE0NiwxNDcsMTQ4LDE0OSwxNTAsMTUxLDE1MiwxNTMsMTU0LDE1NSwxNTYsMTU3
LDE1OCwxNTksMTYwLDE2MSwxNjIsMTYzLDE2NCwxNjUsMTY2LDE2NywxNjgsMTY5LDE3MCwxNzEs
MTcyLDE3MywxNzQsCi0gICAgICAgICAgMTc1LDE3NiwxNzcsMTc4LDE3OSwxODAsMTgxLDE4Miwx
ODMsMTg0LDE4NSwxODYsMTg3LDE4OCwxODksMTkwLDE5MSwxOTIsMTkzLDE5NCwxOTUsMTk2LDE5
NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsCi0gICAgICAgICAgMjA1LDIwNiwyMDcsMjA4
LDIwOSwyMTAsMjExLDIxMiwyMTMsMjE0LDIxNSwyMTYsMjE3LDIxOCwyMTksMjIwLDIyMSwyMjIs
MjIzLDIyNCwyMjUsMjI2LDIyNywyMjgsMjI5LDIzMCwyMzEsMjMyLDIzMywyMzQsCi0gICAgICAg
ICAgMjM1LDIzNiwyMzcsMjM4LDIzOSwyNDAsMjQxLDI0MiwyNDMsMjQ0LDI0NSwyNDYsMjQ3LDI0
OCwyNDksMjUwLDI1MSwyNTIsMjUzLDI1NCwyNTUKLSAgICAgICAgXTsKLSAgICAgICAgdmFyIGkz
MnNpemUgPSA0OwotICAgICAgICB2YXIgYXJyID0gX21hbGxvYyh2YWx1ZXMubGVuZ3RoICogaTMy
c2l6ZSk7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7
Ci0gICAgICAgICAgSEVBUDMyWygoKGFycikrKGkgKiBpMzJzaXplKSk+PjIpXT12YWx1ZXNbaV0K
LSAgICAgICAgfQotICAgICAgICBtZS5yZXQgPSBhbGxvY2F0ZShbYXJyICsgMTI4ICogaTMyc2l6
ZV0sICdpMzIqJywgQUxMT0NfTk9STUFMKTsKLSAgICAgIH0KLSAgICAgIHJldHVybiBtZS5yZXQ7
Ci0gICAgfQotICB2YXIgX19fdG1fc3RydWN0X2xheW91dD17X19zaXplX186NDQsdG1fc2VjOjAs
dG1fbWluOjQsdG1faG91cjo4LHRtX21kYXk6MTIsdG1fbW9uOjE2LHRtX3llYXI6MjAsdG1fd2Rh
eToyNCx0bV95ZGF5OjI4LHRtX2lzZHN0OjMyLHRtX2dtdG9mZjozNix0bV96b25lOjQwfTsKLSAg
ZnVuY3Rpb24gX19pc0xlYXBZZWFyKHllYXIpIHsKLSAgICAgICAgcmV0dXJuIHllYXIlNCA9PT0g
MCAmJiAoeWVhciUxMDAgIT09IDAgfHwgeWVhciU0MDAgPT09IDApOwotICAgIH0KLSAgZnVuY3Rp
b24gX19hcnJheVN1bShhcnJheSwgaW5kZXgpIHsKLSAgICAgIHZhciBzdW0gPSAwOwotICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPD0gaW5kZXg7IHN1bSArPSBhcnJheVtpKytdKTsKLSAgICAgIHJl
dHVybiBzdW07Ci0gICAgfQotICB2YXIgX19NT05USF9EQVlTX0xFQVA9WzMxLDI5LDMxLDMwLDMx
LDMwLDMxLDMxLDMwLDMxLDMwLDMxXTsKLSAgdmFyIF9fTU9OVEhfREFZU19SRUdVTEFSPVszMSwy
OCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07ZnVuY3Rpb24gX19hZGREYXlzKGRhdGUs
IGRheXMpIHsKLSAgICAgIHZhciBuZXdEYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkpOwot
ICAgICAgd2hpbGUoZGF5cyA+IDApIHsKLSAgICAgICAgdmFyIGxlYXAgPSBfX2lzTGVhcFllYXIo
bmV3RGF0ZS5nZXRGdWxsWWVhcigpKTsKLSAgICAgICAgdmFyIGN1cnJlbnRNb250aCA9IG5ld0Rh
dGUuZ2V0TW9udGgoKTsKLSAgICAgICAgdmFyIGRheXNJbkN1cnJlbnRNb250aCA9IChsZWFwID8g
X19NT05USF9EQVlTX0xFQVAgOiBfX01PTlRIX0RBWVNfUkVHVUxBUilbY3VycmVudE1vbnRoXTsK
LSAgICAgICAgaWYgKGRheXMgPiBkYXlzSW5DdXJyZW50TW9udGgtbmV3RGF0ZS5nZXREYXRlKCkp
IHsKLSAgICAgICAgICAvLyB3ZSBzcGlsbCBvdmVyIHRvIG5leHQgbW9udGgKLSAgICAgICAgICBk
YXlzIC09IChkYXlzSW5DdXJyZW50TW9udGgtbmV3RGF0ZS5nZXREYXRlKCkrMSk7Ci0gICAgICAg
ICAgbmV3RGF0ZS5zZXREYXRlKDEpOwotICAgICAgICAgIGlmIChjdXJyZW50TW9udGggPCAxMSkg
ewotICAgICAgICAgICAgbmV3RGF0ZS5zZXRNb250aChjdXJyZW50TW9udGgrMSkKLSAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgbmV3RGF0ZS5zZXRNb250aCgwKTsKLSAgICAgICAgICAg
IG5ld0RhdGUuc2V0RnVsbFllYXIobmV3RGF0ZS5nZXRGdWxsWWVhcigpKzEpOwotICAgICAgICAg
IH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAvLyB3ZSBzdGF5IGluIGN1cnJlbnQgbW9u
dGggCi0gICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKG5ld0RhdGUuZ2V0RGF0ZSgpK2RheXMpOwot
ICAgICAgICAgIHJldHVybiBuZXdEYXRlOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICByZXR1
cm4gbmV3RGF0ZTsKLSAgICB9ZnVuY3Rpb24gX3N0cmZ0aW1lKHMsIG1heHNpemUsIGZvcm1hdCwg
dG0pIHsKLSAgICAgIC8vIHNpemVfdCBzdHJmdGltZShjaGFyICpyZXN0cmljdCBzLCBzaXplX3Qg
bWF4c2l6ZSwgY29uc3QgY2hhciAqcmVzdHJpY3QgZm9ybWF0LCBjb25zdCBzdHJ1Y3QgdG0gKnJl
c3RyaWN0IHRpbWVwdHIpOwotICAgICAgLy8gaHR0cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxp
bmVwdWJzLzAwOTY5NTM5OS9mdW5jdGlvbnMvc3RyZnRpbWUuaHRtbAotICAgICAgdmFyIGRhdGUg
PSB7Ci0gICAgICAgIHRtX3NlYzogSEVBUDMyWygoKHRtKSsoX19fdG1fc3RydWN0X2xheW91dC50
bV9zZWMpKT4+MildLAotICAgICAgICB0bV9taW46IEhFQVAzMlsoKCh0bSkrKF9fX3RtX3N0cnVj
dF9sYXlvdXQudG1fbWluKSk+PjIpXSwKLSAgICAgICAgdG1faG91cjogSEVBUDMyWygoKHRtKSso
X19fdG1fc3RydWN0X2xheW91dC50bV9ob3VyKSk+PjIpXSwKLSAgICAgICAgdG1fbWRheTogSEVB
UDMyWygoKHRtKSsoX19fdG1fc3RydWN0X2xheW91dC50bV9tZGF5KSk+PjIpXSwKLSAgICAgICAg
dG1fbW9uOiBIRUFQMzJbKCgodG0pKyhfX190bV9zdHJ1Y3RfbGF5b3V0LnRtX21vbikpPj4yKV0s
Ci0gICAgICAgIHRtX3llYXI6IEhFQVAzMlsoKCh0bSkrKF9fX3RtX3N0cnVjdF9sYXlvdXQudG1f
eWVhcikpPj4yKV0sCi0gICAgICAgIHRtX3dkYXk6IEhFQVAzMlsoKCh0bSkrKF9fX3RtX3N0cnVj
dF9sYXlvdXQudG1fd2RheSkpPj4yKV0sCi0gICAgICAgIHRtX3lkYXk6IEhFQVAzMlsoKCh0bSkr
KF9fX3RtX3N0cnVjdF9sYXlvdXQudG1feWRheSkpPj4yKV0sCi0gICAgICAgIHRtX2lzZHN0OiBI
RUFQMzJbKCgodG0pKyhfX190bV9zdHJ1Y3RfbGF5b3V0LnRtX2lzZHN0KSk+PjIpXQotICAgICAg
fTsKLSAgICAgIHZhciBwYXR0ZXJuID0gUG9pbnRlcl9zdHJpbmdpZnkoZm9ybWF0KTsKLSAgICAg
IC8vIGV4cGFuZCBmb3JtYXQKLSAgICAgIHZhciBFWFBBTlNJT05fUlVMRVNfMSA9IHsKLSAgICAg
ICAgJyVjJzogJyVhICViICVkICVIOiVNOiVTICVZJywgICAgIC8vIFJlcGxhY2VkIGJ5IHRoZSBs
b2NhbGUncyBhcHByb3ByaWF0ZSBkYXRlIGFuZCB0aW1lIHJlcHJlc2VudGF0aW9uIC0gZS5nLiwg
TW9uIEF1ZyAgMyAxNDowMjowMSAyMDEzCi0gICAgICAgICclRCc6ICclbS8lZC8leScsICAgICAg
ICAgICAgICAgICAvLyBFcXVpdmFsZW50IHRvICVtIC8gJWQgLyAleQotICAgICAgICAnJUYnOiAn
JVktJW0tJWQnLCAgICAgICAgICAgICAgICAgLy8gRXF1aXZhbGVudCB0byAlWSAtICVtIC0gJWQK
LSAgICAgICAgJyVoJzogJyViJywgICAgICAgICAgICAgICAgICAgICAgIC8vIEVxdWl2YWxlbnQg
dG8gJWIKLSAgICAgICAgJyVyJzogJyVJOiVNOiVTICVwJywgICAgICAgICAgICAgIC8vIFJlcGxh
Y2VkIGJ5IHRoZSB0aW1lIGluIGEubS4gYW5kIHAubS4gbm90YXRpb24KLSAgICAgICAgJyVSJzog
JyVIOiVNJywgICAgICAgICAgICAgICAgICAgIC8vIFJlcGxhY2VkIGJ5IHRoZSB0aW1lIGluIDI0
LWhvdXIgbm90YXRpb24KLSAgICAgICAgJyVUJzogJyVIOiVNOiVTJywgICAgICAgICAgICAgICAg
IC8vIFJlcGxhY2VkIGJ5IHRoZSB0aW1lCi0gICAgICAgICcleCc6ICclbS8lZC8leScsICAgICAg
ICAgICAgICAgICAvLyBSZXBsYWNlZCBieSB0aGUgbG9jYWxlJ3MgYXBwcm9wcmlhdGUgZGF0ZSBy
ZXByZXNlbnRhdGlvbgotICAgICAgICAnJVgnOiAnJUg6JU06JVMnLCAgICAgICAgICAgICAgICAg
Ly8gUmVwbGFjZWQgYnkgdGhlIGxvY2FsZSdzIGFwcHJvcHJpYXRlIGRhdGUgcmVwcmVzZW50YXRp
b24KLSAgICAgIH07Ci0gICAgICBmb3IgKHZhciBydWxlIGluIEVYUEFOU0lPTl9SVUxFU18xKSB7
Ci0gICAgICAgIHBhdHRlcm4gPSBwYXR0ZXJuLnJlcGxhY2UobmV3IFJlZ0V4cChydWxlLCAnZycp
LCBFWFBBTlNJT05fUlVMRVNfMVtydWxlXSk7Ci0gICAgICB9Ci0gICAgICB2YXIgV0VFS0RBWVMg
PSBbJ1N1bmRheScsICdNb25kYXknLCAnVHVlc2RheScsICdXZWRuZXNkYXknLCAnVGh1cnNkYXkn
LCAnRnJpZGF5JywgJ1NhdHVyZGF5J107Ci0gICAgICB2YXIgTU9OVEhTID0gWydKYW51YXJ5Jywg
J0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVn
dXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ107Ci0g
ICAgICB2YXIgbGVhZGluZ1NvbWV0aGluZyA9IGZ1bmN0aW9uKHZhbHVlLCBkaWdpdHMsIGNoYXJh
Y3RlcikgewotICAgICAgICB2YXIgc3RyID0gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyA/IHZh
bHVlLnRvU3RyaW5nKCkgOiAodmFsdWUgfHwgJycpOwotICAgICAgICB3aGlsZSAoc3RyLmxlbmd0
aCA8IGRpZ2l0cykgewotICAgICAgICAgIHN0ciA9IGNoYXJhY3RlclswXStzdHI7Ci0gICAgICAg
IH0KLSAgICAgICAgcmV0dXJuIHN0cjsKLSAgICAgIH07Ci0gICAgICB2YXIgbGVhZGluZ051bGxz
ID0gZnVuY3Rpb24odmFsdWUsIGRpZ2l0cykgewotICAgICAgICByZXR1cm4gbGVhZGluZ1NvbWV0
aGluZyh2YWx1ZSwgZGlnaXRzLCAnMCcpOwotICAgICAgfTsKLSAgICAgIHZhciBjb21wYXJlQnlE
YXkgPSBmdW5jdGlvbihkYXRlMSwgZGF0ZTIpIHsKLSAgICAgICAgdmFyIHNnbiA9IGZ1bmN0aW9u
KHZhbHVlKSB7Ci0gICAgICAgICAgcmV0dXJuIHZhbHVlIDwgMCA/IC0xIDogKHZhbHVlID4gMCA/
IDEgOiAwKTsKLSAgICAgICAgfTsKLSAgICAgICAgdmFyIGNvbXBhcmU7Ci0gICAgICAgIGlmICgo
Y29tcGFyZSA9IHNnbihkYXRlMS5nZXRGdWxsWWVhcigpLWRhdGUyLmdldEZ1bGxZZWFyKCkpKSA9
PT0gMCkgewotICAgICAgICAgIGlmICgoY29tcGFyZSA9IHNnbihkYXRlMS5nZXRNb250aCgpLWRh
dGUyLmdldE1vbnRoKCkpKSA9PT0gMCkgewotICAgICAgICAgICAgY29tcGFyZSA9IHNnbihkYXRl
MS5nZXREYXRlKCktZGF0ZTIuZ2V0RGF0ZSgpKTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0KLSAg
ICAgICAgcmV0dXJuIGNvbXBhcmU7Ci0gICAgICB9OwotICAgICAgdmFyIGdldEZpcnN0V2Vla1N0
YXJ0RGF0ZSA9IGZ1bmN0aW9uKGphbkZvdXJ0aCkgewotICAgICAgICAgIHN3aXRjaCAoamFuRm91
cnRoLmdldERheSgpKSB7Ci0gICAgICAgICAgICBjYXNlIDA6IC8vIFN1bmRheQotICAgICAgICAg
ICAgICByZXR1cm4gbmV3IERhdGUoamFuRm91cnRoLmdldEZ1bGxZZWFyKCktMSwgMTEsIDI5KTsK
LSAgICAgICAgICAgIGNhc2UgMTogLy8gTW9uZGF5Ci0gICAgICAgICAgICAgIHJldHVybiBqYW5G
b3VydGg7Ci0gICAgICAgICAgICBjYXNlIDI6IC8vIFR1ZXNkYXkKLSAgICAgICAgICAgICAgcmV0
dXJuIG5ldyBEYXRlKGphbkZvdXJ0aC5nZXRGdWxsWWVhcigpLCAwLCAzKTsKLSAgICAgICAgICAg
IGNhc2UgMzogLy8gV2VkbmVzZGF5Ci0gICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShqYW5G
b3VydGguZ2V0RnVsbFllYXIoKSwgMCwgMik7Ci0gICAgICAgICAgICBjYXNlIDQ6IC8vIFRodXJz
ZGF5Ci0gICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShqYW5Gb3VydGguZ2V0RnVsbFllYXIo
KSwgMCwgMSk7Ci0gICAgICAgICAgICBjYXNlIDU6IC8vIEZyaWRheQotICAgICAgICAgICAgICBy
ZXR1cm4gbmV3IERhdGUoamFuRm91cnRoLmdldEZ1bGxZZWFyKCktMSwgMTEsIDMxKTsKLSAgICAg
ICAgICAgIGNhc2UgNjogLy8gU2F0dXJkYXkKLSAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRl
KGphbkZvdXJ0aC5nZXRGdWxsWWVhcigpLTEsIDExLCAzMCk7Ci0gICAgICAgICAgfQotICAgICAg
fTsKLSAgICAgIHZhciBnZXRXZWVrQmFzZWRZZWFyID0gZnVuY3Rpb24oZGF0ZSkgewotICAgICAg
ICAgIHZhciB0aGlzRGF0ZSA9IF9fYWRkRGF5cyhuZXcgRGF0ZShkYXRlLnRtX3llYXIrMTkwMCwg
MCwgMSksIGRhdGUudG1feWRheSk7Ci0gICAgICAgICAgdmFyIGphbkZvdXJ0aFRoaXNZZWFyID0g
bmV3IERhdGUodGhpc0RhdGUuZ2V0RnVsbFllYXIoKSwgMCwgNCk7Ci0gICAgICAgICAgdmFyIGph
bkZvdXJ0aE5leHRZZWFyID0gbmV3IERhdGUodGhpc0RhdGUuZ2V0RnVsbFllYXIoKSsxLCAwLCA0
KTsKLSAgICAgICAgICB2YXIgZmlyc3RXZWVrU3RhcnRUaGlzWWVhciA9IGdldEZpcnN0V2Vla1N0
YXJ0RGF0ZShqYW5Gb3VydGhUaGlzWWVhcik7Ci0gICAgICAgICAgdmFyIGZpcnN0V2Vla1N0YXJ0
TmV4dFllYXIgPSBnZXRGaXJzdFdlZWtTdGFydERhdGUoamFuRm91cnRoTmV4dFllYXIpOwotICAg
ICAgICAgIGlmIChjb21wYXJlQnlEYXkoZmlyc3RXZWVrU3RhcnRUaGlzWWVhciwgdGhpc0RhdGUp
IDw9IDApIHsKLSAgICAgICAgICAgIC8vIHRoaXMgZGF0ZSBpcyBhZnRlciB0aGUgc3RhcnQgb2Yg
dGhlIGZpcnN0IHdlZWsgb2YgdGhpcyB5ZWFyCi0gICAgICAgICAgICBpZiAoY29tcGFyZUJ5RGF5
KGZpcnN0V2Vla1N0YXJ0TmV4dFllYXIsIHRoaXNEYXRlKSA8PSAwKSB7Ci0gICAgICAgICAgICAg
IHJldHVybiB0aGlzRGF0ZS5nZXRGdWxsWWVhcigpKzE7Ci0gICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICByZXR1cm4gdGhpc0RhdGUuZ2V0RnVsbFllYXIoKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICB9IGVsc2UgeyAKLSAgICAgICAgICAgIHJldHVybiB0aGlzRGF0ZS5nZXRG
dWxsWWVhcigpLTE7Ci0gICAgICAgICAgfQotICAgICAgfTsKLSAgICAgIHZhciBFWFBBTlNJT05f
UlVMRVNfMiA9IHsKLSAgICAgICAgJyVhJzogZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIHJl
dHVybiBXRUVLREFZU1tkYXRlLnRtX3dkYXldLnN1YnN0cmluZygwLDMpOwotICAgICAgICB9LAot
ICAgICAgICAnJUEnOiBmdW5jdGlvbihkYXRlKSB7Ci0gICAgICAgICAgcmV0dXJuIFdFRUtEQVlT
W2RhdGUudG1fd2RheV07Ci0gICAgICAgIH0sCi0gICAgICAgICclYic6IGZ1bmN0aW9uKGRhdGUp
IHsKLSAgICAgICAgICByZXR1cm4gTU9OVEhTW2RhdGUudG1fbW9uXS5zdWJzdHJpbmcoMCwzKTsK
LSAgICAgICAgfSwKLSAgICAgICAgJyVCJzogZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIHJl
dHVybiBNT05USFNbZGF0ZS50bV9tb25dOwotICAgICAgICB9LAotICAgICAgICAnJUMnOiBmdW5j
dGlvbihkYXRlKSB7Ci0gICAgICAgICAgdmFyIHllYXIgPSBkYXRlLnRtX3llYXIrMTkwMDsKLSAg
ICAgICAgICByZXR1cm4gbGVhZGluZ051bGxzKE1hdGguZmxvb3IoeWVhci8xMDApLDIpOwotICAg
ICAgICB9LAotICAgICAgICAnJWQnOiBmdW5jdGlvbihkYXRlKSB7Ci0gICAgICAgICAgcmV0dXJu
IGxlYWRpbmdOdWxscyhkYXRlLnRtX21kYXksIDIpOwotICAgICAgICB9LAotICAgICAgICAnJWUn
OiBmdW5jdGlvbihkYXRlKSB7Ci0gICAgICAgICAgcmV0dXJuIGxlYWRpbmdTb21ldGhpbmcoZGF0
ZS50bV9tZGF5LCAyLCAnICcpOwotICAgICAgICB9LAotICAgICAgICAnJWcnOiBmdW5jdGlvbihk
YXRlKSB7Ci0gICAgICAgICAgLy8gJWcsICVHLCBhbmQgJVYgZ2l2ZSB2YWx1ZXMgYWNjb3JkaW5n
IHRvIHRoZSBJU08gODYwMToyMDAwIHN0YW5kYXJkIHdlZWstYmFzZWQgeWVhci4gCi0gICAgICAg
ICAgLy8gSW4gdGhpcyBzeXN0ZW0sIHdlZWtzIGJlZ2luIG9uIGEgTW9uZGF5IGFuZCB3ZWVrIDEg
b2YgdGhlIHllYXIgaXMgdGhlIHdlZWsgdGhhdCBpbmNsdWRlcyAKLSAgICAgICAgICAvLyBKYW51
YXJ5IDR0aCwgd2hpY2ggaXMgYWxzbyB0aGUgd2VlayB0aGF0IGluY2x1ZGVzIHRoZSBmaXJzdCBU
aHVyc2RheSBvZiB0aGUgeWVhciwgYW5kIAotICAgICAgICAgIC8vIGlzIGFsc28gdGhlIGZpcnN0
IHdlZWsgdGhhdCBjb250YWlucyBhdCBsZWFzdCBmb3VyIGRheXMgaW4gdGhlIHllYXIuIAotICAg
ICAgICAgIC8vIElmIHRoZSBmaXJzdCBNb25kYXkgb2YgSmFudWFyeSBpcyB0aGUgMm5kLCAzcmQs
IG9yIDR0aCwgdGhlIHByZWNlZGluZyBkYXlzIGFyZSBwYXJ0IG9mIAotICAgICAgICAgIC8vIHRo
ZSBsYXN0IHdlZWsgb2YgdGhlIHByZWNlZGluZyB5ZWFyOyB0aHVzLCBmb3IgU2F0dXJkYXkgMm5k
IEphbnVhcnkgMTk5OSwgCi0gICAgICAgICAgLy8gJUcgaXMgcmVwbGFjZWQgYnkgMTk5OCBhbmQg
JVYgaXMgcmVwbGFjZWQgYnkgNTMuIElmIERlY2VtYmVyIDI5dGgsIDMwdGgsIAotICAgICAgICAg
IC8vIG9yIDMxc3QgaXMgYSBNb25kYXksIGl0IGFuZCBhbnkgZm9sbG93aW5nIGRheXMgYXJlIHBh
cnQgb2Ygd2VlayAxIG9mIHRoZSBmb2xsb3dpbmcgeWVhci4gCi0gICAgICAgICAgLy8gVGh1cywg
Zm9yIFR1ZXNkYXkgMzB0aCBEZWNlbWJlciAxOTk3LCAlRyBpcyByZXBsYWNlZCBieSAxOTk4IGFu
ZCAlViBpcyByZXBsYWNlZCBieSAwMS4KLSAgICAgICAgICByZXR1cm4gZ2V0V2Vla0Jhc2VkWWVh
cihkYXRlKS50b1N0cmluZygpLnN1YnN0cmluZygyKTsKLSAgICAgICAgfSwKLSAgICAgICAgJyVH
JzogZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIHJldHVybiBnZXRXZWVrQmFzZWRZZWFyKGRh
dGUpOwotICAgICAgICB9LAotICAgICAgICAnJUgnOiBmdW5jdGlvbihkYXRlKSB7Ci0gICAgICAg
ICAgcmV0dXJuIGxlYWRpbmdOdWxscyhkYXRlLnRtX2hvdXIsIDIpOwotICAgICAgICB9LAotICAg
ICAgICAnJUknOiBmdW5jdGlvbihkYXRlKSB7Ci0gICAgICAgICAgcmV0dXJuIGxlYWRpbmdOdWxs
cyhkYXRlLnRtX2hvdXIgPCAxMyA/IGRhdGUudG1faG91ciA6IGRhdGUudG1faG91ci0xMiwgMik7
Ci0gICAgICAgIH0sCi0gICAgICAgICclaic6IGZ1bmN0aW9uKGRhdGUpIHsKLSAgICAgICAgICAv
LyBEYXkgb2YgdGhlIHllYXIgKDAwMS0zNjYpCi0gICAgICAgICAgcmV0dXJuIGxlYWRpbmdOdWxs
cyhkYXRlLnRtX21kYXkrX19hcnJheVN1bShfX2lzTGVhcFllYXIoZGF0ZS50bV95ZWFyKzE5MDAp
ID8gX19NT05USF9EQVlTX0xFQVAgOiBfX01PTlRIX0RBWVNfUkVHVUxBUiwgZGF0ZS50bV9tb24t
MSksIDMpOwotICAgICAgICB9LAotICAgICAgICAnJW0nOiBmdW5jdGlvbihkYXRlKSB7Ci0gICAg
ICAgICAgcmV0dXJuIGxlYWRpbmdOdWxscyhkYXRlLnRtX21vbisxLCAyKTsKLSAgICAgICAgfSwK
LSAgICAgICAgJyVNJzogZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIHJldHVybiBsZWFkaW5n
TnVsbHMoZGF0ZS50bV9taW4sIDIpOwotICAgICAgICB9LAotICAgICAgICAnJW4nOiBmdW5jdGlv
bigpIHsKLSAgICAgICAgICByZXR1cm4gJ1xuJzsKLSAgICAgICAgfSwKLSAgICAgICAgJyVwJzog
ZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIGlmIChkYXRlLnRtX2hvdXIgPiAwICYmIGRhdGUu
dG1faG91ciA8IDEzKSB7Ci0gICAgICAgICAgICByZXR1cm4gJ0FNJzsKLSAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgcmV0dXJuICdQTSc7Ci0gICAgICAgICAgfQotICAgICAgICB9LAot
ICAgICAgICAnJVMnOiBmdW5jdGlvbihkYXRlKSB7Ci0gICAgICAgICAgcmV0dXJuIGxlYWRpbmdO
dWxscyhkYXRlLnRtX3NlYywgMik7Ci0gICAgICAgIH0sCi0gICAgICAgICcldCc6IGZ1bmN0aW9u
KCkgewotICAgICAgICAgIHJldHVybiAnXHQnOwotICAgICAgICB9LAotICAgICAgICAnJXUnOiBm
dW5jdGlvbihkYXRlKSB7Ci0gICAgICAgICAgdmFyIGRheSA9IG5ldyBEYXRlKGRhdGUudG1feWVh
cisxOTAwLCBkYXRlLnRtX21vbisxLCBkYXRlLnRtX21kYXksIDAsIDAsIDAsIDApOwotICAgICAg
ICAgIHJldHVybiBkYXkuZ2V0RGF5KCkgfHwgNzsKLSAgICAgICAgfSwKLSAgICAgICAgJyVVJzog
ZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIC8vIFJlcGxhY2VkIGJ5IHRoZSB3ZWVrIG51bWJl
ciBvZiB0aGUgeWVhciBhcyBhIGRlY2ltYWwgbnVtYmVyIFswMCw1M10uIAotICAgICAgICAgIC8v
IFRoZSBmaXJzdCBTdW5kYXkgb2YgSmFudWFyeSBpcyB0aGUgZmlyc3QgZGF5IG9mIHdlZWsgMTsg
Ci0gICAgICAgICAgLy8gZGF5cyBpbiB0aGUgbmV3IHllYXIgYmVmb3JlIHRoaXMgYXJlIGluIHdl
ZWsgMC4gWyB0bV95ZWFyLCB0bV93ZGF5LCB0bV95ZGF5XQotICAgICAgICAgIHZhciBqYW5GaXJz
dCA9IG5ldyBEYXRlKGRhdGUudG1feWVhcisxOTAwLCAwLCAxKTsKLSAgICAgICAgICB2YXIgZmly
c3RTdW5kYXkgPSBqYW5GaXJzdC5nZXREYXkoKSA9PT0gMCA/IGphbkZpcnN0IDogX19hZGREYXlz
KGphbkZpcnN0LCA3LWphbkZpcnN0LmdldERheSgpKTsKLSAgICAgICAgICB2YXIgZW5kRGF0ZSA9
IG5ldyBEYXRlKGRhdGUudG1feWVhcisxOTAwLCBkYXRlLnRtX21vbiwgZGF0ZS50bV9tZGF5KTsK
LSAgICAgICAgICAvLyBpcyB0YXJnZXQgZGF0ZSBhZnRlciB0aGUgZmlyc3QgU3VuZGF5PwotICAg
ICAgICAgIGlmIChjb21wYXJlQnlEYXkoZmlyc3RTdW5kYXksIGVuZERhdGUpIDwgMCkgewotICAg
ICAgICAgICAgLy8gY2FsY3VsYXRlIGRpZmZlcmVuY2UgaW4gZGF5cyBiZXR3ZWVuIGZpcnN0IFN1
bmRheSBhbmQgZW5kRGF0ZQotICAgICAgICAgICAgdmFyIGZlYnJ1YXJ5Rmlyc3RVbnRpbEVuZE1v
bnRoID0gX19hcnJheVN1bShfX2lzTGVhcFllYXIoZW5kRGF0ZS5nZXRGdWxsWWVhcigpKSA/IF9f
TU9OVEhfREFZU19MRUFQIDogX19NT05USF9EQVlTX1JFR1VMQVIsIGVuZERhdGUuZ2V0TW9udGgo
KS0xKS0zMTsKLSAgICAgICAgICAgIHZhciBmaXJzdFN1bmRheVVudGlsRW5kSmFudWFyeSA9IDMx
LWZpcnN0U3VuZGF5LmdldERhdGUoKTsKLSAgICAgICAgICAgIHZhciBkYXlzID0gZmlyc3RTdW5k
YXlVbnRpbEVuZEphbnVhcnkrZmVicnVhcnlGaXJzdFVudGlsRW5kTW9udGgrZW5kRGF0ZS5nZXRE
YXRlKCk7Ci0gICAgICAgICAgICByZXR1cm4gbGVhZGluZ051bGxzKE1hdGguY2VpbChkYXlzLzcp
LCAyKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgcmV0dXJuIGNvbXBhcmVCeURheShmaXJzdFN1
bmRheSwgamFuRmlyc3QpID09PSAwID8gJzAxJzogJzAwJzsKLSAgICAgICAgfSwKLSAgICAgICAg
JyVWJzogZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIC8vIFJlcGxhY2VkIGJ5IHRoZSB3ZWVr
IG51bWJlciBvZiB0aGUgeWVhciAoTW9uZGF5IGFzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsp
IAotICAgICAgICAgIC8vIGFzIGEgZGVjaW1hbCBudW1iZXIgWzAxLDUzXS4gSWYgdGhlIHdlZWsg
Y29udGFpbmluZyAxIEphbnVhcnkgaGFzIGZvdXIgCi0gICAgICAgICAgLy8gb3IgbW9yZSBkYXlz
IGluIHRoZSBuZXcgeWVhciwgdGhlbiBpdCBpcyBjb25zaWRlcmVkIHdlZWsgMS4gCi0gICAgICAg
ICAgLy8gT3RoZXJ3aXNlLCBpdCBpcyB0aGUgbGFzdCB3ZWVrIG9mIHRoZSBwcmV2aW91cyB5ZWFy
LCBhbmQgdGhlIG5leHQgd2VlayBpcyB3ZWVrIDEuIAotICAgICAgICAgIC8vIEJvdGggSmFudWFy
eSA0dGggYW5kIHRoZSBmaXJzdCBUaHVyc2RheSBvZiBKYW51YXJ5IGFyZSBhbHdheXMgaW4gd2Vl
ayAxLiBbIHRtX3llYXIsIHRtX3dkYXksIHRtX3lkYXldCi0gICAgICAgICAgdmFyIGphbkZvdXJ0
aFRoaXNZZWFyID0gbmV3IERhdGUoZGF0ZS50bV95ZWFyKzE5MDAsIDAsIDQpOwotICAgICAgICAg
IHZhciBqYW5Gb3VydGhOZXh0WWVhciA9IG5ldyBEYXRlKGRhdGUudG1feWVhcisxOTAxLCAwLCA0
KTsKLSAgICAgICAgICB2YXIgZmlyc3RXZWVrU3RhcnRUaGlzWWVhciA9IGdldEZpcnN0V2Vla1N0
YXJ0RGF0ZShqYW5Gb3VydGhUaGlzWWVhcik7Ci0gICAgICAgICAgdmFyIGZpcnN0V2Vla1N0YXJ0
TmV4dFllYXIgPSBnZXRGaXJzdFdlZWtTdGFydERhdGUoamFuRm91cnRoTmV4dFllYXIpOwotICAg
ICAgICAgIHZhciBlbmREYXRlID0gX19hZGREYXlzKG5ldyBEYXRlKGRhdGUudG1feWVhcisxOTAw
LCAwLCAxKSwgZGF0ZS50bV95ZGF5KTsKLSAgICAgICAgICBpZiAoY29tcGFyZUJ5RGF5KGVuZERh
dGUsIGZpcnN0V2Vla1N0YXJ0VGhpc1llYXIpIDwgMCkgewotICAgICAgICAgICAgLy8gaWYgZ2l2
ZW4gZGF0ZSBpcyBiZWZvcmUgdGhpcyB5ZWFycyBmaXJzdCB3ZWVrLCB0aGVuIGl0IGJlbG9uZ3Mg
dG8gdGhlIDUzcmQgd2VlayBvZiBsYXN0IHllYXIKLSAgICAgICAgICAgIHJldHVybiAnNTMnOwot
ICAgICAgICAgIH0gCi0gICAgICAgICAgaWYgKGNvbXBhcmVCeURheShmaXJzdFdlZWtTdGFydE5l
eHRZZWFyLCBlbmREYXRlKSA8PSAwKSB7Ci0gICAgICAgICAgICAvLyBpZiBnaXZlbiBkYXRlIGlz
IGFmdGVyIG5leHQgeWVhcnMgZmlyc3Qgd2VlaywgdGhlbiBpdCBiZWxvbmdzIHRvIHRoZSAwMXRo
IHdlZWsgb2YgbmV4dCB5ZWFyCi0gICAgICAgICAgICByZXR1cm4gJzAxJzsKLSAgICAgICAgICB9
Ci0gICAgICAgICAgLy8gZ2l2ZW4gZGF0ZSBpcyBpbiBiZXR3ZWVuIENXIDAxLi41MyBvZiB0aGlz
IGNhbGVuZGFyIHllYXIKLSAgICAgICAgICB2YXIgZGF5c0RpZmZlcmVuY2U7Ci0gICAgICAgICAg
aWYgKGZpcnN0V2Vla1N0YXJ0VGhpc1llYXIuZ2V0RnVsbFllYXIoKSA8IGRhdGUudG1feWVhcisx
OTAwKSB7Ci0gICAgICAgICAgICAvLyBmaXJzdCBDVyBvZiB0aGlzIHllYXIgc3RhcnRzIGxhc3Qg
eWVhcgotICAgICAgICAgICAgZGF5c0RpZmZlcmVuY2UgPSBkYXRlLnRtX3lkYXkrMzItZmlyc3RX
ZWVrU3RhcnRUaGlzWWVhci5nZXREYXRlKCkKLSAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgLy8gZmlyc3QgQ1cgb2YgdGhpcyB5ZWFyIHN0YXJ0cyB0aGlzIHllYXIKLSAgICAgICAgICAg
IGRheXNEaWZmZXJlbmNlID0gZGF0ZS50bV95ZGF5KzEtZmlyc3RXZWVrU3RhcnRUaGlzWWVhci5n
ZXREYXRlKCk7Ci0gICAgICAgICAgfQotICAgICAgICAgIHJldHVybiBsZWFkaW5nTnVsbHMoTWF0
aC5jZWlsKGRheXNEaWZmZXJlbmNlLzcpLCAyKTsKLSAgICAgICAgfSwKLSAgICAgICAgJyV3Jzog
ZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIHZhciBkYXkgPSBuZXcgRGF0ZShkYXRlLnRtX3ll
YXIrMTkwMCwgZGF0ZS50bV9tb24rMSwgZGF0ZS50bV9tZGF5LCAwLCAwLCAwLCAwKTsKLSAgICAg
ICAgICByZXR1cm4gZGF5LmdldERheSgpOwotICAgICAgICB9LAotICAgICAgICAnJVcnOiBmdW5j
dGlvbihkYXRlKSB7Ci0gICAgICAgICAgLy8gUmVwbGFjZWQgYnkgdGhlIHdlZWsgbnVtYmVyIG9m
IHRoZSB5ZWFyIGFzIGEgZGVjaW1hbCBudW1iZXIgWzAwLDUzXS4gCi0gICAgICAgICAgLy8gVGhl
IGZpcnN0IE1vbmRheSBvZiBKYW51YXJ5IGlzIHRoZSBmaXJzdCBkYXkgb2Ygd2VlayAxOyAKLSAg
ICAgICAgICAvLyBkYXlzIGluIHRoZSBuZXcgeWVhciBiZWZvcmUgdGhpcyBhcmUgaW4gd2VlayAw
LiBbIHRtX3llYXIsIHRtX3dkYXksIHRtX3lkYXldCi0gICAgICAgICAgdmFyIGphbkZpcnN0ID0g
bmV3IERhdGUoZGF0ZS50bV95ZWFyLCAwLCAxKTsKLSAgICAgICAgICB2YXIgZmlyc3RNb25kYXkg
PSBqYW5GaXJzdC5nZXREYXkoKSA9PT0gMSA/IGphbkZpcnN0IDogX19hZGREYXlzKGphbkZpcnN0
LCBqYW5GaXJzdC5nZXREYXkoKSA9PT0gMCA/IDEgOiA3LWphbkZpcnN0LmdldERheSgpKzEpOwot
ICAgICAgICAgIHZhciBlbmREYXRlID0gbmV3IERhdGUoZGF0ZS50bV95ZWFyKzE5MDAsIGRhdGUu
dG1fbW9uLCBkYXRlLnRtX21kYXkpOwotICAgICAgICAgIC8vIGlzIHRhcmdldCBkYXRlIGFmdGVy
IHRoZSBmaXJzdCBNb25kYXk/Ci0gICAgICAgICAgaWYgKGNvbXBhcmVCeURheShmaXJzdE1vbmRh
eSwgZW5kRGF0ZSkgPCAwKSB7Ci0gICAgICAgICAgICB2YXIgZmVicnVhcnlGaXJzdFVudGlsRW5k
TW9udGggPSBfX2FycmF5U3VtKF9faXNMZWFwWWVhcihlbmREYXRlLmdldEZ1bGxZZWFyKCkpID8g
X19NT05USF9EQVlTX0xFQVAgOiBfX01PTlRIX0RBWVNfUkVHVUxBUiwgZW5kRGF0ZS5nZXRNb250
aCgpLTEpLTMxOwotICAgICAgICAgICAgdmFyIGZpcnN0TW9uZGF5VW50aWxFbmRKYW51YXJ5ID0g
MzEtZmlyc3RNb25kYXkuZ2V0RGF0ZSgpOwotICAgICAgICAgICAgdmFyIGRheXMgPSBmaXJzdE1v
bmRheVVudGlsRW5kSmFudWFyeStmZWJydWFyeUZpcnN0VW50aWxFbmRNb250aCtlbmREYXRlLmdl
dERhdGUoKTsKLSAgICAgICAgICAgIHJldHVybiBsZWFkaW5nTnVsbHMoTWF0aC5jZWlsKGRheXMv
NyksIDIpOwotICAgICAgICAgIH0KLSAgICAgICAgICByZXR1cm4gY29tcGFyZUJ5RGF5KGZpcnN0
TW9uZGF5LCBqYW5GaXJzdCkgPT09IDAgPyAnMDEnOiAnMDAnOwotICAgICAgICB9LAotICAgICAg
ICAnJXknOiBmdW5jdGlvbihkYXRlKSB7Ci0gICAgICAgICAgLy8gUmVwbGFjZWQgYnkgdGhlIGxh
c3QgdHdvIGRpZ2l0cyBvZiB0aGUgeWVhciBhcyBhIGRlY2ltYWwgbnVtYmVyIFswMCw5OV0uIFsg
dG1feWVhcl0KLSAgICAgICAgICByZXR1cm4gKGRhdGUudG1feWVhcisxOTAwKS50b1N0cmluZygp
LnN1YnN0cmluZygyKTsKLSAgICAgICAgfSwKLSAgICAgICAgJyVZJzogZnVuY3Rpb24oZGF0ZSkg
ewotICAgICAgICAgIC8vIFJlcGxhY2VkIGJ5IHRoZSB5ZWFyIGFzIGEgZGVjaW1hbCBudW1iZXIg
KGZvciBleGFtcGxlLCAxOTk3KS4gWyB0bV95ZWFyXQotICAgICAgICAgIHJldHVybiBkYXRlLnRt
X3llYXIrMTkwMDsKLSAgICAgICAgfSwKLSAgICAgICAgJyV6JzogZnVuY3Rpb24oZGF0ZSkgewot
ICAgICAgICAgIC8vIFJlcGxhY2VkIGJ5IHRoZSBvZmZzZXQgZnJvbSBVVEMgaW4gdGhlIElTTyA4
NjAxOjIwMDAgc3RhbmRhcmQgZm9ybWF0ICggK2hobW0gb3IgLWhobW0gKSwKLSAgICAgICAgICAv
LyBvciBieSBubyBjaGFyYWN0ZXJzIGlmIG5vIHRpbWV6b25lIGlzIGRldGVybWluYWJsZS4gCi0g
ICAgICAgICAgLy8gRm9yIGV4YW1wbGUsICItMDQzMCIgbWVhbnMgNCBob3VycyAzMCBtaW51dGVz
IGJlaGluZCBVVEMgKHdlc3Qgb2YgR3JlZW53aWNoKS4gCi0gICAgICAgICAgLy8gSWYgdG1faXNk
c3QgaXMgemVybywgdGhlIHN0YW5kYXJkIHRpbWUgb2Zmc2V0IGlzIHVzZWQuIAotICAgICAgICAg
IC8vIElmIHRtX2lzZHN0IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLCB0aGUgZGF5bGlnaHQgc2F2aW5n
cyB0aW1lIG9mZnNldCBpcyB1c2VkLiAKLSAgICAgICAgICAvLyBJZiB0bV9pc2RzdCBpcyBuZWdh
dGl2ZSwgbm8gY2hhcmFjdGVycyBhcmUgcmV0dXJuZWQuIAotICAgICAgICAgIC8vIEZJWE1FOiB3
ZSBjYW5ub3QgZGV0ZXJtaW5lIHRpbWUgem9uZSAob3IgY2FuIHdlPykKLSAgICAgICAgICByZXR1
cm4gJyc7Ci0gICAgICAgIH0sCi0gICAgICAgICclWic6IGZ1bmN0aW9uKGRhdGUpIHsKLSAgICAg
ICAgICAvLyBSZXBsYWNlZCBieSB0aGUgdGltZXpvbmUgbmFtZSBvciBhYmJyZXZpYXRpb24sIG9y
IGJ5IG5vIGJ5dGVzIGlmIG5vIHRpbWV6b25lIGluZm9ybWF0aW9uIGV4aXN0cy4gWyB0bV9pc2Rz
dF0KLSAgICAgICAgICAvLyBGSVhNRTogd2UgY2Fubm90IGRldGVybWluZSB0aW1lIHpvbmUgKG9y
IGNhbiB3ZT8pCi0gICAgICAgICAgcmV0dXJuICcnOwotICAgICAgICB9LAotICAgICAgICAnJSUn
OiBmdW5jdGlvbigpIHsKLSAgICAgICAgICByZXR1cm4gJyUnOwotICAgICAgICB9Ci0gICAgICB9
OwotICAgICAgZm9yICh2YXIgcnVsZSBpbiBFWFBBTlNJT05fUlVMRVNfMikgewotICAgICAgICBp
ZiAocGF0dGVybi5pbmRleE9mKHJ1bGUpID49IDApIHsKLSAgICAgICAgICBwYXR0ZXJuID0gcGF0
dGVybi5yZXBsYWNlKG5ldyBSZWdFeHAocnVsZSwgJ2cnKSwgRVhQQU5TSU9OX1JVTEVTXzJbcnVs
ZV0oZGF0ZSkpOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICB2YXIgYnl0ZXMgPSBpbnRBcnJh
eUZyb21TdHJpbmcocGF0dGVybiwgZmFsc2UpOwotICAgICAgaWYgKGJ5dGVzLmxlbmd0aCA+IG1h
eHNpemUpIHsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgICB9IAotICAgICAgd3JpdGVBcnJheVRv
TWVtb3J5KGJ5dGVzLCBzKTsKLSAgICAgIHJldHVybiBieXRlcy5sZW5ndGgtMTsKLSAgICB9dmFy
IF9zdHJmdGltZV9sPV9zdHJmdGltZTsKLSAgZnVuY3Rpb24gX2lzc3BhY2UoY2hyKSB7Ci0gICAg
ICByZXR1cm4gKGNociA9PSAzMikgfHwgKGNociA+PSA5ICYmIGNociA8PSAxMyk7Ci0gICAgfQot
ICBmdW5jdGlvbiBfX3BhcnNlSW50NjQoc3RyLCBlbmRwdHIsIGJhc2UsIG1pbiwgbWF4LCB1bnNp
Z24pIHsKLSAgICAgIHZhciBpc05lZ2F0aXZlID0gZmFsc2U7Ci0gICAgICAvLyBTa2lwIHNwYWNl
LgotICAgICAgd2hpbGUgKF9pc3NwYWNlKEhFQVA4WyhzdHIpXSkpIHN0cisrOwotICAgICAgLy8g
Q2hlY2sgZm9yIGEgcGx1cy9taW51cyBzaWduLgotICAgICAgaWYgKEhFQVA4WyhzdHIpXSA9PSA0
NSkgewotICAgICAgICBzdHIrKzsKLSAgICAgICAgaXNOZWdhdGl2ZSA9IHRydWU7Ci0gICAgICB9
IGVsc2UgaWYgKEhFQVA4WyhzdHIpXSA9PSA0MykgewotICAgICAgICBzdHIrKzsKLSAgICAgIH0K
LSAgICAgIC8vIEZpbmQgYmFzZS4KLSAgICAgIHZhciBvayA9IGZhbHNlOwotICAgICAgdmFyIGZp
bmFsQmFzZSA9IGJhc2U7Ci0gICAgICBpZiAoIWZpbmFsQmFzZSkgewotICAgICAgICBpZiAoSEVB
UDhbKHN0cildID09IDQ4KSB7Ci0gICAgICAgICAgaWYgKEhFQVA4Wygoc3RyKzEpfDApXSA9PSAx
MjAgfHwKLSAgICAgICAgICAgICAgSEVBUDhbKChzdHIrMSl8MCldID09IDg4KSB7Ci0gICAgICAg
ICAgICBmaW5hbEJhc2UgPSAxNjsKLSAgICAgICAgICAgIHN0ciArPSAyOwotICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICBmaW5hbEJhc2UgPSA4OwotICAgICAgICAgICAgb2sgPSB0cnVl
OyAvLyB3ZSBzYXcgYW4gaW5pdGlhbCB6ZXJvLCBwZXJoYXBzIHRoZSBlbnRpcmUgdGhpbmcgaXMg
anVzdCAiMCIKLSAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgIH0gZWxzZSBpZiAoZmluYWxC
YXNlPT0xNikgewotICAgICAgICBpZiAoSEVBUDhbKHN0cildID09IDQ4KSB7Ci0gICAgICAgICAg
aWYgKEhFQVA4Wygoc3RyKzEpfDApXSA9PSAxMjAgfHwKLSAgICAgICAgICAgICAgSEVBUDhbKChz
dHIrMSl8MCldID09IDg4KSB7Ci0gICAgICAgICAgICBzdHIgKz0gMjsKLSAgICAgICAgICB9Ci0g
ICAgICAgIH0KLSAgICAgIH0KLSAgICAgIGlmICghZmluYWxCYXNlKSBmaW5hbEJhc2UgPSAxMDsK
LSAgICAgIHN0YXJ0ID0gc3RyOwotICAgICAgLy8gR2V0IGRpZ2l0cy4KLSAgICAgIHZhciBjaHI7
Ci0gICAgICB3aGlsZSAoKGNociA9IEhFQVA4WyhzdHIpXSkgIT0gMCkgewotICAgICAgICB2YXIg
ZGlnaXQgPSBwYXJzZUludChTdHJpbmcuZnJvbUNoYXJDb2RlKGNociksIGZpbmFsQmFzZSk7Ci0g
ICAgICAgIGlmIChpc05hTihkaWdpdCkpIHsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICBzdHIrKzsKLSAgICAgICAgICBvayA9IHRydWU7Ci0gICAgICAgIH0K
LSAgICAgIH0KLSAgICAgIGlmICghb2spIHsKLSAgICAgICAgX19fc2V0RXJyTm8oRVJSTk9fQ09E
RVMuRUlOVkFMKTsKLSAgICAgICAgcmV0dXJuICgoYXNtWyJzZXRUZW1wUmV0MCJdKDApLDApfDAp
OwotICAgICAgfQotICAgICAgLy8gU2V0IGVuZCBwb2ludGVyLgotICAgICAgaWYgKGVuZHB0cikg
ewotICAgICAgICBIRUFQMzJbKChlbmRwdHIpPj4yKV09c3RyCi0gICAgICB9Ci0gICAgICB0cnkg
ewotICAgICAgICB2YXIgbnVtYmVyU3RyaW5nID0gaXNOZWdhdGl2ZSA/ICctJytQb2ludGVyX3N0
cmluZ2lmeShzdGFydCwgc3RyIC0gc3RhcnQpIDogUG9pbnRlcl9zdHJpbmdpZnkoc3RhcnQsIHN0
ciAtIHN0YXJ0KTsKLSAgICAgICAgaTY0TWF0aC5mcm9tU3RyaW5nKG51bWJlclN0cmluZywgZmlu
YWxCYXNlLCBtaW4sIG1heCwgdW5zaWduKTsKLSAgICAgIH0gY2F0Y2goZSkgewotICAgICAgICBf
X19zZXRFcnJObyhFUlJOT19DT0RFUy5FUkFOR0UpOyAvLyBub3QgcXVpdGUgY29ycmVjdAotICAg
ICAgfQotICAgICAgcmV0dXJuICgoYXNtWyJzZXRUZW1wUmV0MCJdKCgoSEVBUDMyWygoKHRlbXBE
b3VibGVQdHIpKyg0KSk+PjIpXSl8MCkpLCgoSEVBUDMyWygodGVtcERvdWJsZVB0cik+PjIpXSl8
MCkpfDApOwotICAgIH1mdW5jdGlvbiBfc3RydG91bGwoc3RyLCBlbmRwdHIsIGJhc2UpIHsKLSAg
ICAgIHJldHVybiBfX3BhcnNlSW50NjQoc3RyLCBlbmRwdHIsIGJhc2UsIDAsICcxODQ0Njc0NDA3
MzcwOTU1MTYxNScsIHRydWUpOyAgLy8gVUxPTkdfTUFYLgotICAgIH12YXIgX3N0cnRvdWxsX2w9
X3N0cnRvdWxsOwotICBmdW5jdGlvbiBfc3RydG9sbChzdHIsIGVuZHB0ciwgYmFzZSkgewotICAg
ICAgcmV0dXJuIF9fcGFyc2VJbnQ2NChzdHIsIGVuZHB0ciwgYmFzZSwgJy05MjIzMzcyMDM2ODU0
Nzc1ODA4JywgJzkyMjMzNzIwMzY4NTQ3NzU4MDcnKTsgIC8vIExMT05HX01JTiwgTExPTkdfTUFY
LgotICAgIH12YXIgX3N0cnRvbGxfbD1fc3RydG9sbDsKLSAgZnVuY3Rpb24gX3VzZWxvY2FsZShs
b2NhbGUpIHsKLSAgICAgIHJldHVybiAwOwotICAgIH0KLSAgZnVuY3Rpb24gX19fbG9jYWxlX21i
X2N1cl9tYXgoKSB7IHRocm93ICdfX2xvY2FsZV9tYl9jdXJfbWF4IG5vdCBpbXBsZW1lbnRlZCcg
fQotICB2YXIgX2xsdm1fdmFfc3RhcnQ9dW5kZWZpbmVkOwotICBmdW5jdGlvbiBfc3ByaW50Zihz
LCBmb3JtYXQsIHZhcmFyZ3MpIHsKLSAgICAgIC8vIGludCBzcHJpbnRmKGNoYXIgKnJlc3RyaWN0
IHMsIGNvbnN0IGNoYXIgKnJlc3RyaWN0IGZvcm1hdCwgLi4uKTsKLSAgICAgIC8vIGh0dHA6Ly9w
dWJzLm9wZW5ncm91cC5vcmcvb25saW5lcHVicy8wMDAwOTUzOTkvZnVuY3Rpb25zL3ByaW50Zi5o
dG1sCi0gICAgICByZXR1cm4gX3NucHJpbnRmKHMsIHVuZGVmaW5lZCwgZm9ybWF0LCB2YXJhcmdz
KTsKLSAgICB9ZnVuY3Rpb24gX2FzcHJpbnRmKHMsIGZvcm1hdCwgdmFyYXJncykgewotICAgICAg
cmV0dXJuIF9zcHJpbnRmKC1zLCBmb3JtYXQsIHZhcmFyZ3MpOwotICAgIH1mdW5jdGlvbiBfdmFz
cHJpbnRmKHMsIGZvcm1hdCwgdmFfYXJnKSB7Ci0gICAgICByZXR1cm4gX2FzcHJpbnRmKHMsIGZv
cm1hdCwgSEVBUDMyWygodmFfYXJnKT4+MildKTsKLSAgICB9Ci0gIGZ1bmN0aW9uIF9sbHZtX3Zh
X2VuZCgpIHt9Ci0gIGZ1bmN0aW9uIF92c25wcmludGYocywgbiwgZm9ybWF0LCB2YV9hcmcpIHsK
LSAgICAgIHJldHVybiBfc25wcmludGYocywgbiwgZm9ybWF0LCBIRUFQMzJbKCh2YV9hcmcpPj4y
KV0pOwotICAgIH0KLSAgZnVuY3Rpb24gX3Zzc2NhbmYocywgZm9ybWF0LCB2YV9hcmcpIHsKLSAg
ICAgIHJldHVybiBfc3NjYW5mKHMsIGZvcm1hdCwgSEVBUDMyWygodmFfYXJnKT4+MildKTsKLSAg
ICB9Ci0gIGZ1bmN0aW9uIF9zYnJrKGJ5dGVzKSB7Ci0gICAgICAvLyBJbXBsZW1lbnQgYSBMaW51
eC1saWtlICdtZW1vcnkgYXJlYScgZm9yIG91ciAncHJvY2VzcycuCi0gICAgICAvLyBDaGFuZ2Vz
IHRoZSBzaXplIG9mIHRoZSBtZW1vcnkgYXJlYSBieSB8Ynl0ZXN8OyByZXR1cm5zIHRoZQotICAg
ICAgLy8gYWRkcmVzcyBvZiB0aGUgcHJldmlvdXMgdG9wICgnYnJlYWsnKSBvZiB0aGUgbWVtb3J5
IGFyZWEKLSAgICAgIC8vIFdlIGNvbnRyb2wgdGhlICJkeW5hbWljIiBtZW1vcnkgLSBEWU5BTUlD
X0JBU0UgdG8gRFlOQU1JQ1RPUAotICAgICAgdmFyIHNlbGYgPSBfc2JyazsKLSAgICAgIGlmICgh
c2VsZi5jYWxsZWQpIHsKLSAgICAgICAgRFlOQU1JQ1RPUCA9IGFsaWduTWVtb3J5UGFnZShEWU5B
TUlDVE9QKTsgLy8gbWFrZSBzdXJlIHdlIHN0YXJ0IG91dCBhbGlnbmVkCi0gICAgICAgIHNlbGYu
Y2FsbGVkID0gdHJ1ZTsKLSAgICAgICAgYXNzZXJ0KFJ1bnRpbWUuZHluYW1pY0FsbG9jKTsKLSAg
ICAgICAgc2VsZi5hbGxvYyA9IFJ1bnRpbWUuZHluYW1pY0FsbG9jOwotICAgICAgICBSdW50aW1l
LmR5bmFtaWNBbGxvYyA9IGZ1bmN0aW9uKCkgeyBhYm9ydCgnY2Fubm90IGR5bmFtaWNhbGx5IGFs
bG9jYXRlLCBzYnJrIG5vdyBoYXMgY29udHJvbCcpIH07Ci0gICAgICB9Ci0gICAgICB2YXIgcmV0
ID0gRFlOQU1JQ1RPUDsKLSAgICAgIGlmIChieXRlcyAhPSAwKSBzZWxmLmFsbG9jKGJ5dGVzKTsK
LSAgICAgIHJldHVybiByZXQ7ICAvLyBQcmV2aW91cyBicmVhayBsb2NhdGlvbi4KLSAgICB9Ci0g
IGZ1bmN0aW9uIF90aW1lKHB0cikgewotICAgICAgdmFyIHJldCA9IE1hdGguZmxvb3IoRGF0ZS5u
b3coKS8xMDAwKTsKLSAgICAgIGlmIChwdHIpIHsKLSAgICAgICAgSEVBUDMyWygocHRyKT4+Mild
PXJldAotICAgICAgfQotICAgICAgcmV0dXJuIHJldDsKLSAgICB9Ci0gIGZ1bmN0aW9uIF9fX2N4
YV9jYWxsX3VuZXhwZWN0ZWQoZXhjZXB0aW9uKSB7Ci0gICAgICBNb2R1bGUucHJpbnRFcnIoJ1Vu
ZXhwZWN0ZWQgZXhjZXB0aW9uIHRocm93biwgdGhpcyBpcyBub3QgcHJvcGVybHkgc3VwcG9ydGVk
IC0gYWJvcnRpbmcnKTsKLSAgICAgIEFCT1JUID0gdHJ1ZTsKLSAgICAgIHRocm93IGV4Y2VwdGlv
bjsKLSAgICB9Ci0gIHZhciBCcm93c2VyPXttYWluTG9vcDp7c2NoZWR1bGVyOm51bGwsc2hvdWxk
UGF1c2U6ZmFsc2UscGF1c2VkOmZhbHNlLHF1ZXVlOltdLHBhdXNlOmZ1bmN0aW9uICgpIHsKLSAg
ICAgICAgICBCcm93c2VyLm1haW5Mb29wLnNob3VsZFBhdXNlID0gdHJ1ZTsKLSAgICAgICAgfSxy
ZXN1bWU6ZnVuY3Rpb24gKCkgewotICAgICAgICAgIGlmIChCcm93c2VyLm1haW5Mb29wLnBhdXNl
ZCkgewotICAgICAgICAgICAgQnJvd3Nlci5tYWluTG9vcC5wYXVzZWQgPSBmYWxzZTsKLSAgICAg
ICAgICAgIEJyb3dzZXIubWFpbkxvb3Auc2NoZWR1bGVyKCk7Ci0gICAgICAgICAgfQotICAgICAg
ICAgIEJyb3dzZXIubWFpbkxvb3Auc2hvdWxkUGF1c2UgPSBmYWxzZTsKLSAgICAgICAgfSx1cGRh
dGVTdGF0dXM6ZnVuY3Rpb24gKCkgewotICAgICAgICAgIGlmIChNb2R1bGVbJ3NldFN0YXR1cydd
KSB7Ci0gICAgICAgICAgICB2YXIgbWVzc2FnZSA9IE1vZHVsZVsnc3RhdHVzTWVzc2FnZSddIHx8
ICdQbGVhc2Ugd2FpdC4uLic7Ci0gICAgICAgICAgICB2YXIgcmVtYWluaW5nID0gQnJvd3Nlci5t
YWluTG9vcC5yZW1haW5pbmdCbG9ja2VyczsKLSAgICAgICAgICAgIHZhciBleHBlY3RlZCA9IEJy
b3dzZXIubWFpbkxvb3AuZXhwZWN0ZWRCbG9ja2VyczsKLSAgICAgICAgICAgIGlmIChyZW1haW5p
bmcpIHsKLSAgICAgICAgICAgICAgaWYgKHJlbWFpbmluZyA8IGV4cGVjdGVkKSB7Ci0gICAgICAg
ICAgICAgICAgTW9kdWxlWydzZXRTdGF0dXMnXShtZXNzYWdlICsgJyAoJyArIChleHBlY3RlZCAt
IHJlbWFpbmluZykgKyAnLycgKyBleHBlY3RlZCArICcpJyk7Ci0gICAgICAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgTW9kdWxlWydzZXRTdGF0dXMnXShtZXNzYWdlKTsKLSAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgTW9kdWxlWydz
ZXRTdGF0dXMnXSgnJyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgfQotICAgICAgICB9fSxp
c0Z1bGxTY3JlZW46ZmFsc2UscG9pbnRlckxvY2s6ZmFsc2UsbW9kdWxlQ29udGV4dENyZWF0ZWRD
YWxsYmFja3M6W10sd29ya2VyczpbXSxpbml0OmZ1bmN0aW9uICgpIHsKLSAgICAgICAgaWYgKCFN
b2R1bGVbInByZWxvYWRQbHVnaW5zIl0pIE1vZHVsZVsicHJlbG9hZFBsdWdpbnMiXSA9IFtdOyAv
LyBuZWVkcyB0byBleGlzdCBldmVuIGluIHdvcmtlcnMKLSAgICAgICAgaWYgKEJyb3dzZXIuaW5p
dHRlZCB8fCBFTlZJUk9OTUVOVF9JU19XT1JLRVIpIHJldHVybjsKLSAgICAgICAgQnJvd3Nlci5p
bml0dGVkID0gdHJ1ZTsKLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICBuZXcgQmxvYigpOwotICAg
ICAgICAgIEJyb3dzZXIuaGFzQmxvYkNvbnN0cnVjdG9yID0gdHJ1ZTsKLSAgICAgICAgfSBjYXRj
aChlKSB7Ci0gICAgICAgICAgQnJvd3Nlci5oYXNCbG9iQ29uc3RydWN0b3IgPSBmYWxzZTsKLSAg
ICAgICAgICBjb25zb2xlLmxvZygid2FybmluZzogbm8gYmxvYiBjb25zdHJ1Y3RvciwgY2Fubm90
IGNyZWF0ZSBibG9icyB3aXRoIG1pbWV0eXBlcyIpOwotICAgICAgICB9Ci0gICAgICAgIEJyb3dz
ZXIuQmxvYkJ1aWxkZXIgPSB0eXBlb2YgTW96QmxvYkJ1aWxkZXIgIT0gInVuZGVmaW5lZCIgPyBN
b3pCbG9iQnVpbGRlciA6ICh0eXBlb2YgV2ViS2l0QmxvYkJ1aWxkZXIgIT0gInVuZGVmaW5lZCIg
PyBXZWJLaXRCbG9iQnVpbGRlciA6ICghQnJvd3Nlci5oYXNCbG9iQ29uc3RydWN0b3IgPyBjb25z
b2xlLmxvZygid2FybmluZzogbm8gQmxvYkJ1aWxkZXIiKSA6IG51bGwpKTsKLSAgICAgICAgQnJv
d3Nlci5VUkxPYmplY3QgPSB0eXBlb2Ygd2luZG93ICE9ICJ1bmRlZmluZWQiID8gKHdpbmRvdy5V
UkwgPyB3aW5kb3cuVVJMIDogd2luZG93LndlYmtpdFVSTCkgOiB1bmRlZmluZWQ7Ci0gICAgICAg
IGlmICghTW9kdWxlLm5vSW1hZ2VEZWNvZGluZyAmJiB0eXBlb2YgQnJvd3Nlci5VUkxPYmplY3Qg
PT09ICd1bmRlZmluZWQnKSB7Ci0gICAgICAgICAgY29uc29sZS5sb2coIndhcm5pbmc6IEJyb3dz
ZXIgZG9lcyBub3Qgc3VwcG9ydCBjcmVhdGluZyBvYmplY3QgVVJMcy4gQnVpbHQtaW4gYnJvd3Nl
ciBpbWFnZSBkZWNvZGluZyB3aWxsIG5vdCBiZSBhdmFpbGFibGUuIik7Ci0gICAgICAgICAgTW9k
dWxlLm5vSW1hZ2VEZWNvZGluZyA9IHRydWU7Ci0gICAgICAgIH0KLSAgICAgICAgLy8gU3VwcG9y
dCBmb3IgcGx1Z2lucyB0aGF0IGNhbiBwcm9jZXNzIHByZWxvYWRlZCBmaWxlcy4gWW91IGNhbiBh
ZGQgbW9yZSBvZiB0aGVzZSB0bwotICAgICAgICAvLyB5b3VyIGFwcCBieSBjcmVhdGluZyBhbmQg
YXBwZW5kaW5nIHRvIE1vZHVsZS5wcmVsb2FkUGx1Z2lucy4KLSAgICAgICAgLy8KLSAgICAgICAg
Ly8gRWFjaCBwbHVnaW4gaXMgYXNrZWQgaWYgaXQgY2FuIGhhbmRsZSBhIGZpbGUgYmFzZWQgb24g
dGhlIGZpbGUncyBuYW1lLiBJZiBpdCBjYW4sCi0gICAgICAgIC8vIGl0IGlzIGdpdmVuIHRoZSBm
aWxlJ3MgcmF3IGRhdGEuIFdoZW4gaXQgaXMgZG9uZSwgaXQgY2FsbHMgYSBjYWxsYmFjayB3aXRo
IHRoZSBmaWxlJ3MKLSAgICAgICAgLy8gKHBvc3NpYmx5IG1vZGlmaWVkKSBkYXRhLiBGb3IgZXhh
bXBsZSwgYSBwbHVnaW4gbWlnaHQgZGVjb21wcmVzcyBhIGZpbGUsIG9yIGl0Ci0gICAgICAgIC8v
IG1pZ2h0IGNyZWF0ZSBzb21lIHNpZGUgZGF0YSBzdHJ1Y3R1cmUgZm9yIHVzZSBsYXRlciAobGlr
ZSBhbiBJbWFnZSBlbGVtZW50LCBldGMuKS4KLSAgICAgICAgdmFyIGltYWdlUGx1Z2luID0ge307
Ci0gICAgICAgIGltYWdlUGx1Z2luWydjYW5IYW5kbGUnXSA9IGZ1bmN0aW9uKG5hbWUpIHsKLSAg
ICAgICAgICByZXR1cm4gIU1vZHVsZS5ub0ltYWdlRGVjb2RpbmcgJiYgL1wuKGpwZ3xqcGVnfHBu
Z3xibXApJC9pLnRlc3QobmFtZSk7Ci0gICAgICAgIH07Ci0gICAgICAgIGltYWdlUGx1Z2luWydo
YW5kbGUnXSA9IGZ1bmN0aW9uKGJ5dGVBcnJheSwgbmFtZSwgb25sb2FkLCBvbmVycm9yKSB7Ci0g
ICAgICAgICAgdmFyIGIgPSBudWxsOwotICAgICAgICAgIGlmIChCcm93c2VyLmhhc0Jsb2JDb25z
dHJ1Y3RvcikgewotICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgYiA9IG5ldyBCbG9i
KFtieXRlQXJyYXldLCB7IHR5cGU6IEJyb3dzZXIuZ2V0TWltZXR5cGUobmFtZSkgfSk7Ci0gICAg
ICAgICAgICAgIGlmIChiLnNpemUgIT09IGJ5dGVBcnJheS5sZW5ndGgpIHsgLy8gU2FmYXJpIGJ1
ZyAjMTE4NjMwCi0gICAgICAgICAgICAgICAgLy8gU2FmYXJpJ3MgQmxvYiBjYW4gb25seSB0YWtl
IGFuIEFycmF5QnVmZmVyCi0gICAgICAgICAgICAgICAgYiA9IG5ldyBCbG9iKFsobmV3IFVpbnQ4
QXJyYXkoYnl0ZUFycmF5KSkuYnVmZmVyXSwgeyB0eXBlOiBCcm93c2VyLmdldE1pbWV0eXBlKG5h
bWUpIH0pOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGNhdGNoKGUpIHsKLSAgICAg
ICAgICAgICAgUnVudGltZS53YXJuT25jZSgnQmxvYiBjb25zdHJ1Y3RvciBwcmVzZW50IGJ1dCBm
YWlsczogJyArIGUgKyAnOyBmYWxsaW5nIGJhY2sgdG8gYmxvYiBidWlsZGVyJyk7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgfQotICAgICAgICAgIGlmICghYikgewotICAgICAgICAgICAgdmFy
IGJiID0gbmV3IEJyb3dzZXIuQmxvYkJ1aWxkZXIoKTsKLSAgICAgICAgICAgIGJiLmFwcGVuZCgo
bmV3IFVpbnQ4QXJyYXkoYnl0ZUFycmF5KSkuYnVmZmVyKTsgLy8gd2UgbmVlZCB0byBwYXNzIGEg
YnVmZmVyLCBhbmQgbXVzdCBjb3B5IHRoZSBhcnJheSB0byBnZXQgdGhlIHJpZ2h0IGRhdGEgcmFu
Z2UKLSAgICAgICAgICAgIGIgPSBiYi5nZXRCbG9iKCk7Ci0gICAgICAgICAgfQotICAgICAgICAg
IHZhciB1cmwgPSBCcm93c2VyLlVSTE9iamVjdC5jcmVhdGVPYmplY3RVUkwoYik7Ci0gICAgICAg
ICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOwotICAgICAgICAgIGltZy5vbmxvYWQgPSBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgIGFzc2VydChpbWcuY29tcGxldGUsICdJbWFnZSAnICsgbmFtZSAr
ICcgY291bGQgbm90IGJlIGRlY29kZWQnKTsKLSAgICAgICAgICAgIHZhciBjYW52YXMgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKLSAgICAgICAgICAgIGNhbnZhcy53aWR0aCA9
IGltZy53aWR0aDsKLSAgICAgICAgICAgIGNhbnZhcy5oZWlnaHQgPSBpbWcuaGVpZ2h0OwotICAg
ICAgICAgICAgdmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwotICAgICAgICAgICAg
Y3R4LmRyYXdJbWFnZShpbWcsIDAsIDApOwotICAgICAgICAgICAgTW9kdWxlWyJwcmVsb2FkZWRJ
bWFnZXMiXVtuYW1lXSA9IGNhbnZhczsKLSAgICAgICAgICAgIEJyb3dzZXIuVVJMT2JqZWN0LnJl
dm9rZU9iamVjdFVSTCh1cmwpOwotICAgICAgICAgICAgaWYgKG9ubG9hZCkgb25sb2FkKGJ5dGVB
cnJheSk7Ci0gICAgICAgICAgfTsKLSAgICAgICAgICBpbWcub25lcnJvciA9IGZ1bmN0aW9uKGV2
ZW50KSB7Ci0gICAgICAgICAgICBjb25zb2xlLmxvZygnSW1hZ2UgJyArIHVybCArICcgY291bGQg
bm90IGJlIGRlY29kZWQnKTsKLSAgICAgICAgICAgIGlmIChvbmVycm9yKSBvbmVycm9yKCk7Ci0g
ICAgICAgICAgfTsKLSAgICAgICAgICBpbWcuc3JjID0gdXJsOwotICAgICAgICB9OwotICAgICAg
ICBNb2R1bGVbJ3ByZWxvYWRQbHVnaW5zJ10ucHVzaChpbWFnZVBsdWdpbik7Ci0gICAgICAgIHZh
ciBhdWRpb1BsdWdpbiA9IHt9OwotICAgICAgICBhdWRpb1BsdWdpblsnY2FuSGFuZGxlJ10gPSBm
dW5jdGlvbihuYW1lKSB7Ci0gICAgICAgICAgcmV0dXJuICFNb2R1bGUubm9BdWRpb0RlY29kaW5n
ICYmIG5hbWUuc3Vic3RyKC00KSBpbiB7ICcub2dnJzogMSwgJy53YXYnOiAxLCAnLm1wMyc6IDEg
fTsKLSAgICAgICAgfTsKLSAgICAgICAgYXVkaW9QbHVnaW5bJ2hhbmRsZSddID0gZnVuY3Rpb24o
Ynl0ZUFycmF5LCBuYW1lLCBvbmxvYWQsIG9uZXJyb3IpIHsKLSAgICAgICAgICB2YXIgZG9uZSA9
IGZhbHNlOwotICAgICAgICAgIGZ1bmN0aW9uIGZpbmlzaChhdWRpbykgewotICAgICAgICAgICAg
aWYgKGRvbmUpIHJldHVybjsKLSAgICAgICAgICAgIGRvbmUgPSB0cnVlOwotICAgICAgICAgICAg
TW9kdWxlWyJwcmVsb2FkZWRBdWRpb3MiXVtuYW1lXSA9IGF1ZGlvOwotICAgICAgICAgICAgaWYg
KG9ubG9hZCkgb25sb2FkKGJ5dGVBcnJheSk7Ci0gICAgICAgICAgfQotICAgICAgICAgIGZ1bmN0
aW9uIGZhaWwoKSB7Ci0gICAgICAgICAgICBpZiAoZG9uZSkgcmV0dXJuOwotICAgICAgICAgICAg
ZG9uZSA9IHRydWU7Ci0gICAgICAgICAgICBNb2R1bGVbInByZWxvYWRlZEF1ZGlvcyJdW25hbWVd
ID0gbmV3IEF1ZGlvKCk7IC8vIGVtcHR5IHNoaW0KLSAgICAgICAgICAgIGlmIChvbmVycm9yKSBv
bmVycm9yKCk7Ci0gICAgICAgICAgfQotICAgICAgICAgIGlmIChCcm93c2VyLmhhc0Jsb2JDb25z
dHJ1Y3RvcikgewotICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgdmFyIGIgPSBuZXcg
QmxvYihbYnl0ZUFycmF5XSwgeyB0eXBlOiBCcm93c2VyLmdldE1pbWV0eXBlKG5hbWUpIH0pOwot
ICAgICAgICAgICAgfSBjYXRjaChlKSB7Ci0gICAgICAgICAgICAgIHJldHVybiBmYWlsKCk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICB2YXIgdXJsID0gQnJvd3Nlci5VUkxPYmplY3QuY3Jl
YXRlT2JqZWN0VVJMKGIpOyAvLyBYWFggd2UgbmV2ZXIgcmV2b2tlIHRoaXMhCi0gICAgICAgICAg
ICB2YXIgYXVkaW8gPSBuZXcgQXVkaW8oKTsKLSAgICAgICAgICAgIGF1ZGlvLmFkZEV2ZW50TGlz
dGVuZXIoJ2NhbnBsYXl0aHJvdWdoJywgZnVuY3Rpb24oKSB7IGZpbmlzaChhdWRpbykgfSwgZmFs
c2UpOyAvLyB1c2UgYWRkRXZlbnRMaXN0ZW5lciBkdWUgdG8gY2hyb21pdW0gYnVnIDEyNDkyNgot
ICAgICAgICAgICAgYXVkaW8ub25lcnJvciA9IGZ1bmN0aW9uKGV2ZW50KSB7Ci0gICAgICAgICAg
ICAgIGlmIChkb25lKSByZXR1cm47Ci0gICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd3YXJuaW5n
OiBicm93c2VyIGNvdWxkIG5vdCBmdWxseSBkZWNvZGUgYXVkaW8gJyArIG5hbWUgKyAnLCB0cnlp
bmcgc2xvd2VyIGJhc2U2NCBhcHByb2FjaCcpOwotICAgICAgICAgICAgICBmdW5jdGlvbiBlbmNv
ZGU2NChkYXRhKSB7Ci0gICAgICAgICAgICAgICAgdmFyIEJBU0UgPSAnQUJDREVGR0hJSktMTU5P
UFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7Ci0gICAg
ICAgICAgICAgICAgdmFyIFBBRCA9ICc9JzsKLSAgICAgICAgICAgICAgICB2YXIgcmV0ID0gJyc7
Ci0gICAgICAgICAgICAgICAgdmFyIGxlZnRjaGFyID0gMDsKLSAgICAgICAgICAgICAgICB2YXIg
bGVmdGJpdHMgPSAwOwotICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0YS5s
ZW5ndGg7IGkrKykgewotICAgICAgICAgICAgICAgICAgbGVmdGNoYXIgPSAobGVmdGNoYXIgPDwg
OCkgfCBkYXRhW2ldOwotICAgICAgICAgICAgICAgICAgbGVmdGJpdHMgKz0gODsKLSAgICAgICAg
ICAgICAgICAgIHdoaWxlIChsZWZ0Yml0cyA+PSA2KSB7Ci0gICAgICAgICAgICAgICAgICAgIHZh
ciBjdXJyID0gKGxlZnRjaGFyID4+IChsZWZ0Yml0cy02KSkgJiAweDNmOwotICAgICAgICAgICAg
ICAgICAgICBsZWZ0Yml0cyAtPSA2OwotICAgICAgICAgICAgICAgICAgICByZXQgKz0gQkFTRVtj
dXJyXTsKLSAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgaWYgKGxlZnRiaXRzID09IDIpIHsKLSAgICAgICAgICAgICAgICAgIHJldCArPSBCQVNF
WyhsZWZ0Y2hhciYzKSA8PCA0XTsKLSAgICAgICAgICAgICAgICAgIHJldCArPSBQQUQgKyBQQUQ7
Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChsZWZ0Yml0cyA9PSA0KSB7Ci0gICAgICAgICAg
ICAgICAgICByZXQgKz0gQkFTRVsobGVmdGNoYXImMHhmKSA8PCAyXTsKLSAgICAgICAgICAgICAg
ICAgIHJldCArPSBQQUQ7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHJldHVy
biByZXQ7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgYXVkaW8uc3JjID0gJ2RhdGE6
YXVkaW8veC0nICsgbmFtZS5zdWJzdHIoLTMpICsgJztiYXNlNjQsJyArIGVuY29kZTY0KGJ5dGVB
cnJheSk7Ci0gICAgICAgICAgICAgIGZpbmlzaChhdWRpbyk7IC8vIHdlIGRvbid0IHdhaXQgZm9y
IGNvbmZpcm1hdGlvbiB0aGlzIHdvcmtlZCAtIGJ1dCBpdCdzIHdvcnRoIHRyeWluZwotICAgICAg
ICAgICAgfTsKLSAgICAgICAgICAgIGF1ZGlvLnNyYyA9IHVybDsKLSAgICAgICAgICAgIC8vIHdv
cmthcm91bmQgZm9yIGNocm9tZSBidWcgMTI0OTI2IC0gd2UgZG8gbm90IGFsd2F5cyBnZXQgb25j
YW5wbGF5dGhyb3VnaCBvciBvbmVycm9yCi0gICAgICAgICAgICBCcm93c2VyLnNhZmVTZXRUaW1l
b3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICBmaW5pc2goYXVkaW8pOyAvLyB0cnkgdG8g
dXNlIGl0IGV2ZW4gdGhvdWdoIGl0IGlzIG5vdCBuZWNlc3NhcmlseSByZWFkeSB0byBwbGF5Ci0g
ICAgICAgICAgICB9LCAxMDAwMCk7Ci0gICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHJl
dHVybiBmYWlsKCk7Ci0gICAgICAgICAgfQotICAgICAgICB9OwotICAgICAgICBNb2R1bGVbJ3By
ZWxvYWRQbHVnaW5zJ10ucHVzaChhdWRpb1BsdWdpbik7Ci0gICAgICAgIC8vIENhbnZhcyBldmVu
dCBzZXR1cAotICAgICAgICB2YXIgY2FudmFzID0gTW9kdWxlWydjYW52YXMnXTsKLSAgICAgICAg
Y2FudmFzLnJlcXVlc3RQb2ludGVyTG9jayA9IGNhbnZhc1sncmVxdWVzdFBvaW50ZXJMb2NrJ10g
fHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbnZhc1snbW96UmVxdWVz
dFBvaW50ZXJMb2NrJ10gfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNh
bnZhc1snd2Via2l0UmVxdWVzdFBvaW50ZXJMb2NrJ107Ci0gICAgICAgIGNhbnZhcy5leGl0UG9p
bnRlckxvY2sgPSBkb2N1bWVudFsnZXhpdFBvaW50ZXJMb2NrJ10gfHwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRvY3VtZW50Wydtb3pFeGl0UG9pbnRlckxvY2snXSB8fAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRbJ3dlYmtpdEV4aXRQb2ludGVy
TG9jayddIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpe307
IC8vIG5vLW9wIGlmIGZ1bmN0aW9uIGRvZXMgbm90IGV4aXN0Ci0gICAgICAgIGNhbnZhcy5leGl0
UG9pbnRlckxvY2sgPSBjYW52YXMuZXhpdFBvaW50ZXJMb2NrLmJpbmQoZG9jdW1lbnQpOwotICAg
ICAgICBmdW5jdGlvbiBwb2ludGVyTG9ja0NoYW5nZSgpIHsKLSAgICAgICAgICBCcm93c2VyLnBv
aW50ZXJMb2NrID0gZG9jdW1lbnRbJ3BvaW50ZXJMb2NrRWxlbWVudCddID09PSBjYW52YXMgfHwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRbJ21velBvaW50ZXJMb2Nr
RWxlbWVudCddID09PSBjYW52YXMgfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZG9jdW1lbnRbJ3dlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCddID09PSBjYW52YXM7Ci0gICAgICAg
IH0KLSAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmxvY2tjaGFuZ2Un
LCBwb2ludGVyTG9ja0NoYW5nZSwgZmFsc2UpOwotICAgICAgICBkb2N1bWVudC5hZGRFdmVudExp
c3RlbmVyKCdtb3pwb2ludGVybG9ja2NoYW5nZScsIHBvaW50ZXJMb2NrQ2hhbmdlLCBmYWxzZSk7
Ci0gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHBvaW50ZXJsb2NrY2hh
bmdlJywgcG9pbnRlckxvY2tDaGFuZ2UsIGZhbHNlKTsKLSAgICAgICAgaWYgKE1vZHVsZVsnZWxl
bWVudFBvaW50ZXJMb2NrJ10pIHsKLSAgICAgICAgICBjYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBmdW5jdGlvbihldikgewotICAgICAgICAgICAgaWYgKCFCcm93c2VyLnBvaW50ZXJM
b2NrICYmIGNhbnZhcy5yZXF1ZXN0UG9pbnRlckxvY2spIHsKLSAgICAgICAgICAgICAgY2FudmFz
LnJlcXVlc3RQb2ludGVyTG9jaygpOwotICAgICAgICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgp
OwotICAgICAgICAgICAgfQotICAgICAgICAgIH0sIGZhbHNlKTsKLSAgICAgICAgfQotICAgICAg
fSxjcmVhdGVDb250ZXh0OmZ1bmN0aW9uIChjYW52YXMsIHVzZVdlYkdMLCBzZXRJbk1vZHVsZSkg
ewotICAgICAgICB2YXIgY3R4OwotICAgICAgICB0cnkgewotICAgICAgICAgIGlmICh1c2VXZWJH
TCkgewotICAgICAgICAgICAgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJ2V4cGVyaW1lbnRhbC13
ZWJnbCcsIHsKLSAgICAgICAgICAgICAgYWxwaGE6IGZhbHNlCi0gICAgICAgICAgICB9KTsKLSAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJk
Jyk7Ci0gICAgICAgICAgfQotICAgICAgICAgIGlmICghY3R4KSB0aHJvdyAnOignOwotICAgICAg
ICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgTW9kdWxlLnByaW50KCdDb3VsZCBub3QgY3JlYXRl
IGNhbnZhcyAtICcgKyBlKTsKLSAgICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgICAgfQotICAg
ICAgICBpZiAodXNlV2ViR0wpIHsKLSAgICAgICAgICAvLyBTZXQgdGhlIGJhY2tncm91bmQgb2Yg
dGhlIFdlYkdMIGNhbnZhcyB0byBibGFjawotICAgICAgICAgIGNhbnZhcy5zdHlsZS5iYWNrZ3Jv
dW5kQ29sb3IgPSAiYmxhY2siOwotICAgICAgICAgIC8vIFdhcm4gb24gY29udGV4dCBsb3NzCi0g
ICAgICAgICAgY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmdsY29udGV4dGxvc3QnLCBmdW5j
dGlvbihldmVudCkgewotICAgICAgICAgICAgYWxlcnQoJ1dlYkdMIGNvbnRleHQgbG9zdC4gWW91
IHdpbGwgbmVlZCB0byByZWxvYWQgdGhlIHBhZ2UuJyk7Ci0gICAgICAgICAgfSwgZmFsc2UpOwot
ICAgICAgICB9Ci0gICAgICAgIGlmIChzZXRJbk1vZHVsZSkgewotICAgICAgICAgIE1vZHVsZS5j
dHggPSBjdHg7Ci0gICAgICAgICAgTW9kdWxlLnVzZVdlYkdMID0gdXNlV2ViR0w7Ci0gICAgICAg
ICAgQnJvd3Nlci5tb2R1bGVDb250ZXh0Q3JlYXRlZENhbGxiYWNrcy5mb3JFYWNoKGZ1bmN0aW9u
KGNhbGxiYWNrKSB7IGNhbGxiYWNrKCkgfSk7Ci0gICAgICAgICAgQnJvd3Nlci5pbml0KCk7Ci0g
ICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGN0eDsKLSAgICAgIH0sZGVzdHJveUNvbnRleHQ6ZnVu
Y3Rpb24gKGNhbnZhcywgdXNlV2ViR0wsIHNldEluTW9kdWxlKSB7fSxmdWxsU2NyZWVuSGFuZGxl
cnNJbnN0YWxsZWQ6ZmFsc2UsbG9ja1BvaW50ZXI6dW5kZWZpbmVkLHJlc2l6ZUNhbnZhczp1bmRl
ZmluZWQscmVxdWVzdEZ1bGxTY3JlZW46ZnVuY3Rpb24gKGxvY2tQb2ludGVyLCByZXNpemVDYW52
YXMpIHsKLSAgICAgICAgQnJvd3Nlci5sb2NrUG9pbnRlciA9IGxvY2tQb2ludGVyOwotICAgICAg
ICBCcm93c2VyLnJlc2l6ZUNhbnZhcyA9IHJlc2l6ZUNhbnZhczsKLSAgICAgICAgaWYgKHR5cGVv
ZiBCcm93c2VyLmxvY2tQb2ludGVyID09PSAndW5kZWZpbmVkJykgQnJvd3Nlci5sb2NrUG9pbnRl
ciA9IHRydWU7Ci0gICAgICAgIGlmICh0eXBlb2YgQnJvd3Nlci5yZXNpemVDYW52YXMgPT09ICd1
bmRlZmluZWQnKSBCcm93c2VyLnJlc2l6ZUNhbnZhcyA9IGZhbHNlOwotICAgICAgICB2YXIgY2Fu
dmFzID0gTW9kdWxlWydjYW52YXMnXTsKLSAgICAgICAgZnVuY3Rpb24gZnVsbFNjcmVlbkNoYW5n
ZSgpIHsKLSAgICAgICAgICBCcm93c2VyLmlzRnVsbFNjcmVlbiA9IGZhbHNlOwotICAgICAgICAg
IGlmICgoZG9jdW1lbnRbJ3dlYmtpdEZ1bGxTY3JlZW5FbGVtZW50J10gfHwgZG9jdW1lbnRbJ3dl
YmtpdEZ1bGxzY3JlZW5FbGVtZW50J10gfHwKLSAgICAgICAgICAgICAgIGRvY3VtZW50Wydtb3pG
dWxsU2NyZWVuRWxlbWVudCddIHx8IGRvY3VtZW50Wydtb3pGdWxsc2NyZWVuRWxlbWVudCddIHx8
Ci0gICAgICAgICAgICAgICBkb2N1bWVudFsnZnVsbFNjcmVlbkVsZW1lbnQnXSB8fCBkb2N1bWVu
dFsnZnVsbHNjcmVlbkVsZW1lbnQnXSkgPT09IGNhbnZhcykgewotICAgICAgICAgICAgY2FudmFz
LmNhbmNlbEZ1bGxTY3JlZW4gPSBkb2N1bWVudFsnY2FuY2VsRnVsbFNjcmVlbiddIHx8Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50Wydtb3pDYW5jZWxGdWxs
U2NyZWVuJ10gfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1l
bnRbJ3dlYmtpdENhbmNlbEZ1bGxTY3JlZW4nXTsKLSAgICAgICAgICAgIGNhbnZhcy5jYW5jZWxG
dWxsU2NyZWVuID0gY2FudmFzLmNhbmNlbEZ1bGxTY3JlZW4uYmluZChkb2N1bWVudCk7Ci0gICAg
ICAgICAgICBpZiAoQnJvd3Nlci5sb2NrUG9pbnRlcikgY2FudmFzLnJlcXVlc3RQb2ludGVyTG9j
aygpOwotICAgICAgICAgICAgQnJvd3Nlci5pc0Z1bGxTY3JlZW4gPSB0cnVlOwotICAgICAgICAg
ICAgaWYgKEJyb3dzZXIucmVzaXplQ2FudmFzKSBCcm93c2VyLnNldEZ1bGxTY3JlZW5DYW52YXNT
aXplKCk7Ci0gICAgICAgICAgfSBlbHNlIGlmIChCcm93c2VyLnJlc2l6ZUNhbnZhcyl7Ci0gICAg
ICAgICAgICBCcm93c2VyLnNldFdpbmRvd2VkQ2FudmFzU2l6ZSgpOwotICAgICAgICAgIH0KLSAg
ICAgICAgICBpZiAoTW9kdWxlWydvbkZ1bGxTY3JlZW4nXSkgTW9kdWxlWydvbkZ1bGxTY3JlZW4n
XShCcm93c2VyLmlzRnVsbFNjcmVlbik7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCFCcm93c2Vy
LmZ1bGxTY3JlZW5IYW5kbGVyc0luc3RhbGxlZCkgewotICAgICAgICAgIEJyb3dzZXIuZnVsbFNj
cmVlbkhhbmRsZXJzSW5zdGFsbGVkID0gdHJ1ZTsKLSAgICAgICAgICBkb2N1bWVudC5hZGRFdmVu
dExpc3RlbmVyKCdmdWxsc2NyZWVuY2hhbmdlJywgZnVsbFNjcmVlbkNoYW5nZSwgZmFsc2UpOwot
ICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vemZ1bGxzY3JlZW5jaGFuZ2Un
LCBmdWxsU2NyZWVuQ2hhbmdlLCBmYWxzZSk7Ci0gICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcignd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsIGZ1bGxTY3JlZW5DaGFuZ2UsIGZhbHNl
KTsKLSAgICAgICAgfQotICAgICAgICBjYW52YXMucmVxdWVzdEZ1bGxTY3JlZW4gPSBjYW52YXNb
J3JlcXVlc3RGdWxsU2NyZWVuJ10gfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2FudmFzWydtb3pSZXF1ZXN0RnVsbFNjcmVlbiddIHx8Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIChjYW52YXNbJ3dlYmtpdFJlcXVlc3RGdWxsU2NyZWVuJ10gPyBmdW5j
dGlvbigpIHsgY2FudmFzWyd3ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbiddKEVsZW1lbnRbJ0FMTE9X
X0tFWUJPQVJEX0lOUFVUJ10pIH0gOiBudWxsKTsKLSAgICAgICAgY2FudmFzLnJlcXVlc3RGdWxs
U2NyZWVuKCk7Ci0gICAgICB9LHJlcXVlc3RBbmltYXRpb25GcmFtZTpmdW5jdGlvbiAoZnVuYykg
ewotICAgICAgICBpZiAoIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpIHsKLSAgICAgICAg
ICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lID0gd2luZG93WydyZXF1ZXN0QW5pbWF0aW9u
RnJhbWUnXSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5k
b3dbJ21velJlcXVlc3RBbmltYXRpb25GcmFtZSddIHx8Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHdpbmRvd1snd2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lJ10g
fHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Wydtc1Jl
cXVlc3RBbmltYXRpb25GcmFtZSddIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHdpbmRvd1snb1JlcXVlc3RBbmltYXRpb25GcmFtZSddIHx8Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvd1snc2V0VGltZW91dCddOwotICAg
ICAgICB9Ci0gICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuYyk7Ci0gICAg
ICB9LHNhZmVDYWxsYmFjazpmdW5jdGlvbiAoZnVuYykgewotICAgICAgICByZXR1cm4gZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgaWYgKCFBQk9SVCkgcmV0dXJuIGZ1bmMuYXBwbHkobnVsbCwgYXJn
dW1lbnRzKTsKLSAgICAgICAgfTsKLSAgICAgIH0sc2FmZVJlcXVlc3RBbmltYXRpb25GcmFtZTpm
dW5jdGlvbiAoZnVuYykgewotICAgICAgICByZXR1cm4gQnJvd3Nlci5yZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgaWYgKCFBQk9SVCkgZnVuYygpOwotICAgICAg
ICB9KTsKLSAgICAgIH0sc2FmZVNldFRpbWVvdXQ6ZnVuY3Rpb24gKGZ1bmMsIHRpbWVvdXQpIHsK
LSAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgaWYgKCFB
Qk9SVCkgZnVuYygpOwotICAgICAgICB9LCB0aW1lb3V0KTsKLSAgICAgIH0sc2FmZVNldEludGVy
dmFsOmZ1bmN0aW9uIChmdW5jLCB0aW1lb3V0KSB7Ci0gICAgICAgIHJldHVybiBzZXRJbnRlcnZh
bChmdW5jdGlvbigpIHsKLSAgICAgICAgICBpZiAoIUFCT1JUKSBmdW5jKCk7Ci0gICAgICAgIH0s
IHRpbWVvdXQpOwotICAgICAgfSxnZXRNaW1ldHlwZTpmdW5jdGlvbiAobmFtZSkgewotICAgICAg
ICByZXR1cm4gewotICAgICAgICAgICdqcGcnOiAnaW1hZ2UvanBlZycsCi0gICAgICAgICAgJ2pw
ZWcnOiAnaW1hZ2UvanBlZycsCi0gICAgICAgICAgJ3BuZyc6ICdpbWFnZS9wbmcnLAotICAgICAg
ICAgICdibXAnOiAnaW1hZ2UvYm1wJywKLSAgICAgICAgICAnb2dnJzogJ2F1ZGlvL29nZycsCi0g
ICAgICAgICAgJ3dhdic6ICdhdWRpby93YXYnLAotICAgICAgICAgICdtcDMnOiAnYXVkaW8vbXBl
ZycKLSAgICAgICAgfVtuYW1lLnN1YnN0cihuYW1lLmxhc3RJbmRleE9mKCcuJykrMSldOwotICAg
ICAgfSxnZXRVc2VyTWVkaWE6ZnVuY3Rpb24gKGZ1bmMpIHsKLSAgICAgICAgaWYoIXdpbmRvdy5n
ZXRVc2VyTWVkaWEpIHsKLSAgICAgICAgICB3aW5kb3cuZ2V0VXNlck1lZGlhID0gbmF2aWdhdG9y
WydnZXRVc2VyTWVkaWEnXSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXZp
Z2F0b3JbJ21vekdldFVzZXJNZWRpYSddOwotICAgICAgICB9Ci0gICAgICAgIHdpbmRvdy5nZXRV
c2VyTWVkaWEoZnVuYyk7Ci0gICAgICB9LGdldE1vdmVtZW50WDpmdW5jdGlvbiAoZXZlbnQpIHsK
LSAgICAgICAgcmV0dXJuIGV2ZW50Wydtb3ZlbWVudFgnXSB8fAotICAgICAgICAgICAgICAgZXZl
bnRbJ21vek1vdmVtZW50WCddIHx8Ci0gICAgICAgICAgICAgICBldmVudFsnd2Via2l0TW92ZW1l
bnRYJ10gfHwKLSAgICAgICAgICAgICAgIDA7Ci0gICAgICB9LGdldE1vdmVtZW50WTpmdW5jdGlv
biAoZXZlbnQpIHsKLSAgICAgICAgcmV0dXJuIGV2ZW50Wydtb3ZlbWVudFknXSB8fAotICAgICAg
ICAgICAgICAgZXZlbnRbJ21vek1vdmVtZW50WSddIHx8Ci0gICAgICAgICAgICAgICBldmVudFsn
d2Via2l0TW92ZW1lbnRZJ10gfHwKLSAgICAgICAgICAgICAgIDA7Ci0gICAgICB9LG1vdXNlWDow
LG1vdXNlWTowLG1vdXNlTW92ZW1lbnRYOjAsbW91c2VNb3ZlbWVudFk6MCxjYWxjdWxhdGVNb3Vz
ZUV2ZW50OmZ1bmN0aW9uIChldmVudCkgeyAvLyBldmVudCBzaG91bGQgYmUgbW91c2Vtb3ZlLCBt
b3VzZWRvd24gb3IgbW91c2V1cAotICAgICAgICBpZiAoQnJvd3Nlci5wb2ludGVyTG9jaykgewot
ICAgICAgICAgIC8vIFdoZW4gdGhlIHBvaW50ZXIgaXMgbG9ja2VkLCBjYWxjdWxhdGUgdGhlIGNv
b3JkaW5hdGVzCi0gICAgICAgICAgLy8gYmFzZWQgb24gdGhlIG1vdmVtZW50IG9mIHRoZSBtb3Vz
ZS4KLSAgICAgICAgICAvLyBXb3JrYXJvdW5kIGZvciBGaXJlZm94IGJ1ZyA3NjQ0OTgKLSAgICAg
ICAgICBpZiAoZXZlbnQudHlwZSAhPSAnbW91c2Vtb3ZlJyAmJgotICAgICAgICAgICAgICAoJ21v
ek1vdmVtZW50WCcgaW4gZXZlbnQpKSB7Ci0gICAgICAgICAgICBCcm93c2VyLm1vdXNlTW92ZW1l
bnRYID0gQnJvd3Nlci5tb3VzZU1vdmVtZW50WSA9IDA7Ci0gICAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgIEJyb3dzZXIubW91c2VNb3ZlbWVudFggPSBCcm93c2VyLmdldE1vdmVtZW50WChl
dmVudCk7Ci0gICAgICAgICAgICBCcm93c2VyLm1vdXNlTW92ZW1lbnRZID0gQnJvd3Nlci5nZXRN
b3ZlbWVudFkoZXZlbnQpOwotICAgICAgICAgIH0KLSAgICAgICAgICAvLyBjaGVjayBpZiBTREwg
aXMgYXZhaWxhYmxlCi0gICAgICAgICAgaWYgKHR5cGVvZiBTREwgIT0gInVuZGVmaW5lZCIpIHsK
LSAgICAgICAgICAJQnJvd3Nlci5tb3VzZVggPSBTREwubW91c2VYICsgQnJvd3Nlci5tb3VzZU1v
dmVtZW50WDsKLSAgICAgICAgICAJQnJvd3Nlci5tb3VzZVkgPSBTREwubW91c2VZICsgQnJvd3Nl
ci5tb3VzZU1vdmVtZW50WTsKLSAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgIAkvLyBqdXN0
IGFkZCB0aGUgbW91c2UgZGVsdGEgdG8gdGhlIGN1cnJlbnQgYWJzb2x1dCBtb3VzZSBwb3NpdGlv
bgotICAgICAgICAgIAkvLyBGSVhNRTogaWRlYWxseSB0aGlzIHNob3VsZCBiZSBjbGFtcGVkIGFn
YWluc3QgdGhlIGNhbnZhcyBzaXplIGFuZCB6ZXJvCi0gICAgICAgICAgCUJyb3dzZXIubW91c2VY
ICs9IEJyb3dzZXIubW91c2VNb3ZlbWVudFg7Ci0gICAgICAgICAgCUJyb3dzZXIubW91c2VZICs9
IEJyb3dzZXIubW91c2VNb3ZlbWVudFk7Ci0gICAgICAgICAgfSAgICAgICAgCi0gICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgLy8gT3RoZXJ3aXNlLCBjYWxjdWxhdGUgdGhlIG1vdmVtZW50IGJh
c2VkIG9uIHRoZSBjaGFuZ2VzCi0gICAgICAgICAgLy8gaW4gdGhlIGNvb3JkaW5hdGVzLgotICAg
ICAgICAgIHZhciByZWN0ID0gTW9kdWxlWyJjYW52YXMiXS5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTsKLSAgICAgICAgICB2YXIgeCwgeTsKLSAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PSAndG91
Y2hzdGFydCcgfHwKLSAgICAgICAgICAgICAgZXZlbnQudHlwZSA9PSAndG91Y2hlbmQnIHx8Ci0g
ICAgICAgICAgICAgIGV2ZW50LnR5cGUgPT0gJ3RvdWNobW92ZScpIHsKLSAgICAgICAgICAgIHZh
ciB0ID0gZXZlbnQudG91Y2hlcy5pdGVtKDApOwotICAgICAgICAgICAgaWYgKHQpIHsKLSAgICAg
ICAgICAgICAgeCA9IHQucGFnZVggLSAod2luZG93LnNjcm9sbFggKyByZWN0LmxlZnQpOwotICAg
ICAgICAgICAgICB5ID0gdC5wYWdlWSAtICh3aW5kb3cuc2Nyb2xsWSArIHJlY3QudG9wKTsKLSAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgeCA9IGV2ZW50LnBhZ2VYIC0gKHdpbmRv
dy5zY3JvbGxYICsgcmVjdC5sZWZ0KTsKLSAgICAgICAgICAgIHkgPSBldmVudC5wYWdlWSAtICh3
aW5kb3cuc2Nyb2xsWSArIHJlY3QudG9wKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgLy8gdGhl
IGNhbnZhcyBtaWdodCBiZSBDU1Mtc2NhbGVkIGNvbXBhcmVkIHRvIGl0cyBiYWNrYnVmZmVyOwot
ICAgICAgICAgIC8vIFNETC11c2luZyBjb250ZW50IHdpbGwgd2FudCBtb3VzZSBjb29yZGluYXRl
cyBpbiB0ZXJtcwotICAgICAgICAgIC8vIG9mIGJhY2tidWZmZXIgdW5pdHMuCi0gICAgICAgICAg
dmFyIGN3ID0gTW9kdWxlWyJjYW52YXMiXS53aWR0aDsKLSAgICAgICAgICB2YXIgY2ggPSBNb2R1
bGVbImNhbnZhcyJdLmhlaWdodDsKLSAgICAgICAgICB4ID0geCAqIChjdyAvIHJlY3Qud2lkdGgp
OwotICAgICAgICAgIHkgPSB5ICogKGNoIC8gcmVjdC5oZWlnaHQpOwotICAgICAgICAgIEJyb3dz
ZXIubW91c2VNb3ZlbWVudFggPSB4IC0gQnJvd3Nlci5tb3VzZVg7Ci0gICAgICAgICAgQnJvd3Nl
ci5tb3VzZU1vdmVtZW50WSA9IHkgLSBCcm93c2VyLm1vdXNlWTsKLSAgICAgICAgICBCcm93c2Vy
Lm1vdXNlWCA9IHg7Ci0gICAgICAgICAgQnJvd3Nlci5tb3VzZVkgPSB5OwotICAgICAgICB9Ci0g
ICAgICB9LHhockxvYWQ6ZnVuY3Rpb24gKHVybCwgb25sb2FkLCBvbmVycm9yKSB7Ci0gICAgICAg
IHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICAgICAgeGhyLm9wZW4oJ0dFVCcs
IHVybCwgdHJ1ZSk7Ci0gICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSAnYXJyYXlidWZmZXInOwot
ICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgaWYgKHhoci5zdGF0
dXMgPT0gMjAwIHx8ICh4aHIuc3RhdHVzID09IDAgJiYgeGhyLnJlc3BvbnNlKSkgeyAvLyBmaWxl
IFVSTHMgY2FuIHJldHVybiAwCi0gICAgICAgICAgICBvbmxvYWQoeGhyLnJlc3BvbnNlKTsKLSAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgb25lcnJvcigpOwotICAgICAgICAgIH0KLSAg
ICAgICAgfTsKLSAgICAgICAgeGhyLm9uZXJyb3IgPSBvbmVycm9yOwotICAgICAgICB4aHIuc2Vu
ZChudWxsKTsKLSAgICAgIH0sYXN5bmNMb2FkOmZ1bmN0aW9uICh1cmwsIG9ubG9hZCwgb25lcnJv
ciwgbm9SdW5EZXApIHsKLSAgICAgICAgQnJvd3Nlci54aHJMb2FkKHVybCwgZnVuY3Rpb24oYXJy
YXlCdWZmZXIpIHsKLSAgICAgICAgICBhc3NlcnQoYXJyYXlCdWZmZXIsICdMb2FkaW5nIGRhdGEg
ZmlsZSAiJyArIHVybCArICciIGZhaWxlZCAobm8gYXJyYXlCdWZmZXIpLicpOwotICAgICAgICAg
IG9ubG9hZChuZXcgVWludDhBcnJheShhcnJheUJ1ZmZlcikpOwotICAgICAgICAgIGlmICghbm9S
dW5EZXApIHJlbW92ZVJ1bkRlcGVuZGVuY3koJ2FsICcgKyB1cmwpOwotICAgICAgICB9LCBmdW5j
dGlvbihldmVudCkgewotICAgICAgICAgIGlmIChvbmVycm9yKSB7Ci0gICAgICAgICAgICBvbmVy
cm9yKCk7Ci0gICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHRocm93ICdMb2FkaW5nIGRh
dGEgZmlsZSAiJyArIHVybCArICciIGZhaWxlZC4nOwotICAgICAgICAgIH0KLSAgICAgICAgfSk7
Ci0gICAgICAgIGlmICghbm9SdW5EZXApIGFkZFJ1bkRlcGVuZGVuY3koJ2FsICcgKyB1cmwpOwot
ICAgICAgfSxyZXNpemVMaXN0ZW5lcnM6W10sdXBkYXRlUmVzaXplTGlzdGVuZXJzOmZ1bmN0aW9u
ICgpIHsKLSAgICAgICAgdmFyIGNhbnZhcyA9IE1vZHVsZVsnY2FudmFzJ107Ci0gICAgICAgIEJy
b3dzZXIucmVzaXplTGlzdGVuZXJzLmZvckVhY2goZnVuY3Rpb24obGlzdGVuZXIpIHsKLSAgICAg
ICAgICBsaXN0ZW5lcihjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpOwotICAgICAgICB9KTsK
LSAgICAgIH0sc2V0Q2FudmFzU2l6ZTpmdW5jdGlvbiAod2lkdGgsIGhlaWdodCwgbm9VcGRhdGVz
KSB7Ci0gICAgICAgIHZhciBjYW52YXMgPSBNb2R1bGVbJ2NhbnZhcyddOwotICAgICAgICBjYW52
YXMud2lkdGggPSB3aWR0aDsKLSAgICAgICAgY2FudmFzLmhlaWdodCA9IGhlaWdodDsKLSAgICAg
ICAgaWYgKCFub1VwZGF0ZXMpIEJyb3dzZXIudXBkYXRlUmVzaXplTGlzdGVuZXJzKCk7Ci0gICAg
ICB9LHdpbmRvd2VkV2lkdGg6MCx3aW5kb3dlZEhlaWdodDowLHNldEZ1bGxTY3JlZW5DYW52YXNT
aXplOmZ1bmN0aW9uICgpIHsKLSAgICAgICAgdmFyIGNhbnZhcyA9IE1vZHVsZVsnY2FudmFzJ107
Ci0gICAgICAgIHRoaXMud2luZG93ZWRXaWR0aCA9IGNhbnZhcy53aWR0aDsKLSAgICAgICAgdGhp
cy53aW5kb3dlZEhlaWdodCA9IGNhbnZhcy5oZWlnaHQ7Ci0gICAgICAgIGNhbnZhcy53aWR0aCA9
IHNjcmVlbi53aWR0aDsKLSAgICAgICAgY2FudmFzLmhlaWdodCA9IHNjcmVlbi5oZWlnaHQ7Ci0g
ICAgICAgIC8vIGNoZWNrIGlmIFNETCBpcyBhdmFpbGFibGUgICAKLSAgICAgICAgaWYgKHR5cGVv
ZiBTREwgIT0gInVuZGVmaW5lZCIpIHsKLSAgICAgICAgCXZhciBmbGFncyA9IEhFQVBVMzJbKChT
REwuc2NyZWVuK1J1bnRpbWUuUVVBTlRVTV9TSVpFKjApPj4yKV07Ci0gICAgICAgIAlmbGFncyA9
IGZsYWdzIHwgMHgwMDgwMDAwMDsgLy8gc2V0IFNETF9GVUxMU0NSRUVOIGZsYWcKLSAgICAgICAg
CUhFQVAzMlsoKFNETC5zY3JlZW4rUnVudGltZS5RVUFOVFVNX1NJWkUqMCk+PjIpXT1mbGFncwot
ICAgICAgICB9Ci0gICAgICAgIEJyb3dzZXIudXBkYXRlUmVzaXplTGlzdGVuZXJzKCk7Ci0gICAg
ICB9LHNldFdpbmRvd2VkQ2FudmFzU2l6ZTpmdW5jdGlvbiAoKSB7Ci0gICAgICAgIHZhciBjYW52
YXMgPSBNb2R1bGVbJ2NhbnZhcyddOwotICAgICAgICBjYW52YXMud2lkdGggPSB0aGlzLndpbmRv
d2VkV2lkdGg7Ci0gICAgICAgIGNhbnZhcy5oZWlnaHQgPSB0aGlzLndpbmRvd2VkSGVpZ2h0Owot
ICAgICAgICAvLyBjaGVjayBpZiBTREwgaXMgYXZhaWxhYmxlICAgICAgIAotICAgICAgICBpZiAo
dHlwZW9mIFNETCAhPSAidW5kZWZpbmVkIikgewotICAgICAgICAJdmFyIGZsYWdzID0gSEVBUFUz
MlsoKFNETC5zY3JlZW4rUnVudGltZS5RVUFOVFVNX1NJWkUqMCk+PjIpXTsKLSAgICAgICAgCWZs
YWdzID0gZmxhZ3MgJiB+MHgwMDgwMDAwMDsgLy8gY2xlYXIgU0RMX0ZVTExTQ1JFRU4gZmxhZwot
ICAgICAgICAJSEVBUDMyWygoU0RMLnNjcmVlbitSdW50aW1lLlFVQU5UVU1fU0laRSowKT4+Mild
PWZsYWdzCi0gICAgICAgIH0KLSAgICAgICAgQnJvd3Nlci51cGRhdGVSZXNpemVMaXN0ZW5lcnMo
KTsKLSAgICAgIH19OwotX2xsdm1fZWhfZXhjZXB0aW9uLmJ1ZiA9IGFsbG9jYXRlKDEyLCAidm9p
ZCoiLCBBTExPQ19TVEFUSUMpOwotRlMuc3RhdGljSW5pdCgpO19fQVRJTklUX18udW5zaGlmdCh7
IGZ1bmM6IGZ1bmN0aW9uKCkgeyBpZiAoIU1vZHVsZVsibm9GU0luaXQiXSAmJiAhRlMuaW5pdC5p
bml0aWFsaXplZCkgRlMuaW5pdCgpIH0gfSk7X19BVE1BSU5fXy5wdXNoKHsgZnVuYzogZnVuY3Rp
b24oKSB7IEZTLmlnbm9yZVBlcm1pc3Npb25zID0gZmFsc2UgfSB9KTtfX0FURVhJVF9fLnB1c2go
eyBmdW5jOiBmdW5jdGlvbigpIHsgRlMucXVpdCgpIH0gfSk7TW9kdWxlWyJGU19jcmVhdGVGb2xk
ZXIiXSA9IEZTLmNyZWF0ZUZvbGRlcjtNb2R1bGVbIkZTX2NyZWF0ZVBhdGgiXSA9IEZTLmNyZWF0
ZVBhdGg7TW9kdWxlWyJGU19jcmVhdGVEYXRhRmlsZSJdID0gRlMuY3JlYXRlRGF0YUZpbGU7TW9k
dWxlWyJGU19jcmVhdGVQcmVsb2FkZWRGaWxlIl0gPSBGUy5jcmVhdGVQcmVsb2FkZWRGaWxlO01v
ZHVsZVsiRlNfY3JlYXRlTGF6eUZpbGUiXSA9IEZTLmNyZWF0ZUxhenlGaWxlO01vZHVsZVsiRlNf
Y3JlYXRlTGluayJdID0gRlMuY3JlYXRlTGluaztNb2R1bGVbIkZTX2NyZWF0ZURldmljZSJdID0g
RlMuY3JlYXRlRGV2aWNlOwotX19fZXJybm9fc3RhdGUgPSBSdW50aW1lLnN0YXRpY0FsbG9jKDQp
OyBIRUFQMzJbKChfX19lcnJub19zdGF0ZSk+PjIpXT0wOwotX2ZnZXRjLnJldCA9IGFsbG9jYXRl
KFswXSwgImk4IiwgQUxMT0NfU1RBVElDKTsKLU1vZHVsZVsicmVxdWVzdEZ1bGxTY3JlZW4iXSA9
IGZ1bmN0aW9uKGxvY2tQb2ludGVyLCByZXNpemVDYW52YXMpIHsgQnJvd3Nlci5yZXF1ZXN0RnVs
bFNjcmVlbihsb2NrUG9pbnRlciwgcmVzaXplQ2FudmFzKSB9OwotICBNb2R1bGVbInJlcXVlc3RB
bmltYXRpb25GcmFtZSJdID0gZnVuY3Rpb24oZnVuYykgeyBCcm93c2VyLnJlcXVlc3RBbmltYXRp
b25GcmFtZShmdW5jKSB9OwotICBNb2R1bGVbInNldENhbnZhc1NpemUiXSA9IGZ1bmN0aW9uKHdp
ZHRoLCBoZWlnaHQsIG5vVXBkYXRlcykgeyBCcm93c2VyLnNldENhbnZhc1NpemUod2lkdGgsIGhl
aWdodCwgbm9VcGRhdGVzKSB9OwotICBNb2R1bGVbInBhdXNlTWFpbkxvb3AiXSA9IGZ1bmN0aW9u
KCkgeyBCcm93c2VyLm1haW5Mb29wLnBhdXNlKCkgfTsKLSAgTW9kdWxlWyJyZXN1bWVNYWluTG9v
cCJdID0gZnVuY3Rpb24oKSB7IEJyb3dzZXIubWFpbkxvb3AucmVzdW1lKCkgfTsKLSAgTW9kdWxl
WyJnZXRVc2VyTWVkaWEiXSA9IGZ1bmN0aW9uKCkgeyBCcm93c2VyLmdldFVzZXJNZWRpYSgpIH0K
LVNUQUNLX0JBU0UgPSBTVEFDS1RPUCA9IFJ1bnRpbWUuYWxpZ25NZW1vcnkoU1RBVElDVE9QKTsK
LXN0YXRpY1NlYWxlZCA9IHRydWU7IC8vIHNlYWwgdGhlIHN0YXRpYyBwb3J0aW9uIG9mIG1lbW9y
eQotU1RBQ0tfTUFYID0gU1RBQ0tfQkFTRSArIDUyNDI4ODA7Ci1EWU5BTUlDX0JBU0UgPSBEWU5B
TUlDVE9QID0gUnVudGltZS5hbGlnbk1lbW9yeShTVEFDS19NQVgpOwotYXNzZXJ0KERZTkFNSUNf
QkFTRSA8IFRPVEFMX01FTU9SWSk7IC8vIFN0YWNrIG11c3QgZml0IGluIFRPVEFMX01FTU9SWTsg
YWxsb2NhdGlvbnMgZnJvbSBoZXJlIG9uIG1heSBlbmxhcmdlIFRPVEFMX01FTU9SWQotIHZhciBj
dHR6X2k4ID0gYWxsb2NhdGUoWzgsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwxLDAsNCwwLDEs
MCwyLDAsMSwwLDMsMCwxLDAsMiwwLDEsMCw1LDAsMSwwLDIsMCwxLDAsMywwLDEsMCwyLDAsMSww
LDQsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwxLDAsNiwwLDEsMCwyLDAsMSwwLDMsMCwxLDAs
MiwwLDEsMCw0LDAsMSwwLDIsMCwxLDAsMywwLDEsMCwyLDAsMSwwLDUsMCwxLDAsMiwwLDEsMCwz
LDAsMSwwLDIsMCwxLDAsNCwwLDEsMCwyLDAsMSwwLDMsMCwxLDAsMiwwLDEsMCw3LDAsMSwwLDIs
MCwxLDAsMywwLDEsMCwyLDAsMSwwLDQsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwxLDAsNSww
LDEsMCwyLDAsMSwwLDMsMCwxLDAsMiwwLDEsMCw0LDAsMSwwLDIsMCwxLDAsMywwLDEsMCwyLDAs
MSwwLDYsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwxLDAsNCwwLDEsMCwyLDAsMSwwLDMsMCwx
LDAsMiwwLDEsMCw1LDAsMSwwLDIsMCwxLDAsMywwLDEsMCwyLDAsMSwwLDQsMCwxLDAsMiwwLDEs
MCwzLDAsMSwwLDIsMCwxLDBdLCAiaTgiLCBBTExPQ19EWU5BTUlDKTsKLXZhciBNYXRoX21pbiA9
IE1hdGgubWluOwotZnVuY3Rpb24gaW52b2tlX3ZpaWlpaShpbmRleCxhMSxhMixhMyxhNCxhNSkg
ewotICB0cnkgewotICAgIE1vZHVsZVsiZHluQ2FsbF92aWlpaWkiXShpbmRleCxhMSxhMixhMyxh
NCxhNSk7Ci0gIH0gY2F0Y2goZSkgewotICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicgJiYg
ZSAhPT0gJ2xvbmdqbXAnKSB0aHJvdyBlOwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsKLSAg
fQotfQotZnVuY3Rpb24gaW52b2tlX3ZpaWlpaWlpKGluZGV4LGExLGEyLGEzLGE0LGE1LGE2LGE3
KSB7Ci0gIHRyeSB7Ci0gICAgTW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWlpIl0oaW5kZXgsYTEsYTIs
YTMsYTQsYTUsYTYsYTcpOwotICB9IGNhdGNoKGUpIHsKLSAgICBpZiAodHlwZW9mIGUgIT09ICdu
dW1iZXInICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsKLSAgICBhc21bInNldFRocmV3Il0o
MSwgMCk7Ci0gIH0KLX0KLWZ1bmN0aW9uIGludm9rZV92aShpbmRleCxhMSkgewotICB0cnkgewot
ICAgIE1vZHVsZVsiZHluQ2FsbF92aSJdKGluZGV4LGExKTsKLSAgfSBjYXRjaChlKSB7Ci0gICAg
aWYgKHR5cGVvZiBlICE9PSAnbnVtYmVyJyAmJiBlICE9PSAnbG9uZ2ptcCcpIHRocm93IGU7Ci0g
ICAgYXNtWyJzZXRUaHJldyJdKDEsIDApOwotICB9Ci19Ci1mdW5jdGlvbiBpbnZva2VfdmlpKGlu
ZGV4LGExLGEyKSB7Ci0gIHRyeSB7Ci0gICAgTW9kdWxlWyJkeW5DYWxsX3ZpaSJdKGluZGV4LGEx
LGEyKTsKLSAgfSBjYXRjaChlKSB7Ci0gICAgaWYgKHR5cGVvZiBlICE9PSAnbnVtYmVyJyAmJiBl
ICE9PSAnbG9uZ2ptcCcpIHRocm93IGU7Ci0gICAgYXNtWyJzZXRUaHJldyJdKDEsIDApOwotICB9
Ci19Ci1mdW5jdGlvbiBpbnZva2VfaWlpKGluZGV4LGExLGEyKSB7Ci0gIHRyeSB7Ci0gICAgcmV0
dXJuIE1vZHVsZVsiZHluQ2FsbF9paWkiXShpbmRleCxhMSxhMik7Ci0gIH0gY2F0Y2goZSkgewot
ICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicgJiYgZSAhPT0gJ2xvbmdqbXAnKSB0aHJvdyBl
OwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsKLSAgfQotfQotZnVuY3Rpb24gaW52b2tlX2lp
aWlpaShpbmRleCxhMSxhMixhMyxhNCxhNSkgewotICB0cnkgewotICAgIHJldHVybiBNb2R1bGVb
ImR5bkNhbGxfaWlpaWlpIl0oaW5kZXgsYTEsYTIsYTMsYTQsYTUpOwotICB9IGNhdGNoKGUpIHsK
LSAgICBpZiAodHlwZW9mIGUgIT09ICdudW1iZXInICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cg
ZTsKLSAgICBhc21bInNldFRocmV3Il0oMSwgMCk7Ci0gIH0KLX0KLWZ1bmN0aW9uIGludm9rZV9p
aShpbmRleCxhMSkgewotICB0cnkgewotICAgIHJldHVybiBNb2R1bGVbImR5bkNhbGxfaWkiXShp
bmRleCxhMSk7Ci0gIH0gY2F0Y2goZSkgewotICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicg
JiYgZSAhPT0gJ2xvbmdqbXAnKSB0aHJvdyBlOwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsK
LSAgfQotfQotZnVuY3Rpb24gaW52b2tlX2lpaWkoaW5kZXgsYTEsYTIsYTMpIHsKLSAgdHJ5IHsK
LSAgICByZXR1cm4gTW9kdWxlWyJkeW5DYWxsX2lpaWkiXShpbmRleCxhMSxhMixhMyk7Ci0gIH0g
Y2F0Y2goZSkgewotICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicgJiYgZSAhPT0gJ2xvbmdq
bXAnKSB0aHJvdyBlOwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsKLSAgfQotfQotZnVuY3Rp
b24gaW52b2tlX3ZpaWlpaWYoaW5kZXgsYTEsYTIsYTMsYTQsYTUsYTYpIHsKLSAgdHJ5IHsKLSAg
ICBNb2R1bGVbImR5bkNhbGxfdmlpaWlpZiJdKGluZGV4LGExLGEyLGEzLGE0LGE1LGE2KTsKLSAg
fSBjYXRjaChlKSB7Ci0gICAgaWYgKHR5cGVvZiBlICE9PSAnbnVtYmVyJyAmJiBlICE9PSAnbG9u
Z2ptcCcpIHRocm93IGU7Ci0gICAgYXNtWyJzZXRUaHJldyJdKDEsIDApOwotICB9Ci19Ci1mdW5j
dGlvbiBpbnZva2VfdmlpaShpbmRleCxhMSxhMixhMykgewotICB0cnkgewotICAgIE1vZHVsZVsi
ZHluQ2FsbF92aWlpIl0oaW5kZXgsYTEsYTIsYTMpOwotICB9IGNhdGNoKGUpIHsKLSAgICBpZiAo
dHlwZW9mIGUgIT09ICdudW1iZXInICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsKLSAgICBh
c21bInNldFRocmV3Il0oMSwgMCk7Ci0gIH0KLX0KLWZ1bmN0aW9uIGludm9rZV92aWlpaWlpaWko
aW5kZXgsYTEsYTIsYTMsYTQsYTUsYTYsYTcsYTgpIHsKLSAgdHJ5IHsKLSAgICBNb2R1bGVbImR5
bkNhbGxfdmlpaWlpaWlpIl0oaW5kZXgsYTEsYTIsYTMsYTQsYTUsYTYsYTcsYTgpOwotICB9IGNh
dGNoKGUpIHsKLSAgICBpZiAodHlwZW9mIGUgIT09ICdudW1iZXInICYmIGUgIT09ICdsb25nam1w
JykgdGhyb3cgZTsKLSAgICBhc21bInNldFRocmV3Il0oMSwgMCk7Ci0gIH0KLX0KLWZ1bmN0aW9u
IGludm9rZV92KGluZGV4KSB7Ci0gIHRyeSB7Ci0gICAgTW9kdWxlWyJkeW5DYWxsX3YiXShpbmRl
eCk7Ci0gIH0gY2F0Y2goZSkgewotICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicgJiYgZSAh
PT0gJ2xvbmdqbXAnKSB0aHJvdyBlOwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsKLSAgfQot
fQotZnVuY3Rpb24gaW52b2tlX2lpaWlpaWlpaShpbmRleCxhMSxhMixhMyxhNCxhNSxhNixhNyxh
OCkgewotICB0cnkgewotICAgIHJldHVybiBNb2R1bGVbImR5bkNhbGxfaWlpaWlpaWlpIl0oaW5k
ZXgsYTEsYTIsYTMsYTQsYTUsYTYsYTcsYTgpOwotICB9IGNhdGNoKGUpIHsKLSAgICBpZiAodHlw
ZW9mIGUgIT09ICdudW1iZXInICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsKLSAgICBhc21b
InNldFRocmV3Il0oMSwgMCk7Ci0gIH0KLX0KLWZ1bmN0aW9uIGludm9rZV92aWlpaWlpaWlpKGlu
ZGV4LGExLGEyLGEzLGE0LGE1LGE2LGE3LGE4LGE5KSB7Ci0gIHRyeSB7Ci0gICAgTW9kdWxlWyJk
eW5DYWxsX3ZpaWlpaWlpaWkiXShpbmRleCxhMSxhMixhMyxhNCxhNSxhNixhNyxhOCxhOSk7Ci0g
IH0gY2F0Y2goZSkgewotICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicgJiYgZSAhPT0gJ2xv
bmdqbXAnKSB0aHJvdyBlOwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsKLSAgfQotfQotZnVu
Y3Rpb24gaW52b2tlX3ZpaWlpaWlmKGluZGV4LGExLGEyLGEzLGE0LGE1LGE2LGE3KSB7Ci0gIHRy
eSB7Ci0gICAgTW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWlmIl0oaW5kZXgsYTEsYTIsYTMsYTQsYTUs
YTYsYTcpOwotICB9IGNhdGNoKGUpIHsKLSAgICBpZiAodHlwZW9mIGUgIT09ICdudW1iZXInICYm
IGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsKLSAgICBhc21bInNldFRocmV3Il0oMSwgMCk7Ci0g
IH0KLX0KLWZ1bmN0aW9uIGludm9rZV92aWlpaWlpKGluZGV4LGExLGEyLGEzLGE0LGE1LGE2KSB7
Ci0gIHRyeSB7Ci0gICAgTW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWkiXShpbmRleCxhMSxhMixhMyxh
NCxhNSxhNik7Ci0gIH0gY2F0Y2goZSkgewotICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicg
JiYgZSAhPT0gJ2xvbmdqbXAnKSB0aHJvdyBlOwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsK
LSAgfQotfQotZnVuY3Rpb24gaW52b2tlX2lpaWlpKGluZGV4LGExLGEyLGEzLGE0KSB7Ci0gIHRy
eSB7Ci0gICAgcmV0dXJuIE1vZHVsZVsiZHluQ2FsbF9paWlpaSJdKGluZGV4LGExLGEyLGEzLGE0
KTsKLSAgfSBjYXRjaChlKSB7Ci0gICAgaWYgKHR5cGVvZiBlICE9PSAnbnVtYmVyJyAmJiBlICE9
PSAnbG9uZ2ptcCcpIHRocm93IGU7Ci0gICAgYXNtWyJzZXRUaHJldyJdKDEsIDApOwotICB9Ci19
Ci1mdW5jdGlvbiBpbnZva2VfdmlpaWkoaW5kZXgsYTEsYTIsYTMsYTQpIHsKLSAgdHJ5IHsKLSAg
ICBNb2R1bGVbImR5bkNhbGxfdmlpaWkiXShpbmRleCxhMSxhMixhMyxhNCk7Ci0gIH0gY2F0Y2go
ZSkgewotICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicgJiYgZSAhPT0gJ2xvbmdqbXAnKSB0
aHJvdyBlOwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsKLSAgfQotfQotZnVuY3Rpb24gYXNt
UHJpbnRJbnQoeCwgeSkgewotICBNb2R1bGUucHJpbnQoJ2ludCAnICsgeCArICcsJyArIHkpOy8v
ICsgJyAnICsgbmV3IEVycm9yKCkuc3RhY2spOwotfQotZnVuY3Rpb24gYXNtUHJpbnRGbG9hdCh4
LCB5KSB7Ci0gIE1vZHVsZS5wcmludCgnZmxvYXQgJyArIHggKyAnLCcgKyB5KTsvLyArICcgJyAr
IG5ldyBFcnJvcigpLnN0YWNrKTsKLX0KLS8vIEVNU0NSSVBURU5fU1RBUlRfQVNNCi12YXIgYXNt
PShmdW5jdGlvbihnbG9iYWwsZW52LGJ1ZmZlcil7InVzZSBhc20iO3ZhciBhPW5ldyBnbG9iYWwu
SW50OEFycmF5KGJ1ZmZlcik7dmFyIGI9bmV3IGdsb2JhbC5JbnQxNkFycmF5KGJ1ZmZlcik7dmFy
IGM9bmV3IGdsb2JhbC5JbnQzMkFycmF5KGJ1ZmZlcik7dmFyIGQ9bmV3IGdsb2JhbC5VaW50OEFy
cmF5KGJ1ZmZlcik7dmFyIGU9bmV3IGdsb2JhbC5VaW50MTZBcnJheShidWZmZXIpO3ZhciBmPW5l
dyBnbG9iYWwuVWludDMyQXJyYXkoYnVmZmVyKTt2YXIgZz1uZXcgZ2xvYmFsLkZsb2F0MzJBcnJh
eShidWZmZXIpO3ZhciBoPW5ldyBnbG9iYWwuRmxvYXQ2NEFycmF5KGJ1ZmZlcik7dmFyIGk9ZW52
LlNUQUNLVE9QfDA7dmFyIGo9ZW52LlNUQUNLX01BWHwwO3ZhciBrPWVudi50ZW1wRG91YmxlUHRy
fDA7dmFyIGw9ZW52LkFCT1JUfDA7dmFyIG09ZW52LmN0dHpfaTh8MDt2YXIgbj1lbnYuY3Rsel9p
OHwwO3ZhciBvPWVudi5fc3RkaW58MDt2YXIgcD1lbnYuX19aVFZOMTBfX2N4eGFiaXYxMTdfX2Ns
YXNzX3R5cGVfaW5mb0V8MDt2YXIgcT1lbnYuX19aVFZOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNz
X3R5cGVfaW5mb0V8MDt2YXIgcj1lbnYuX3N0ZGVycnwwO3ZhciBzPWVudi5fX19mc211OHwwO3Zh
ciB0PWVudi5fc3Rkb3V0fDA7dmFyIHU9ZW52Ll9fX2Rzb19oYW5kbGV8MDt2YXIgdj0rZW52Lk5h
Tjt2YXIgdz0rZW52LkluZmluaXR5O3ZhciB4PTA7dmFyIHk9MDt2YXIgej0wO3ZhciBBPTA7dmFy
IEI9MCxDPTAsRD0wLEU9MCxGPTAuMCxHPTAsSD0wLEk9MCxKPTAuMDt2YXIgSz0wO3ZhciBMPTA7
dmFyIE09MDt2YXIgTj0wO3ZhciBPPTA7dmFyIFA9MDt2YXIgUT0wO3ZhciBSPTA7dmFyIFM9MDt2
YXIgVD0wO3ZhciBVPWdsb2JhbC5NYXRoLmZsb29yO3ZhciBWPWdsb2JhbC5NYXRoLmFiczt2YXIg
Vz1nbG9iYWwuTWF0aC5zcXJ0O3ZhciBYPWdsb2JhbC5NYXRoLnBvdzt2YXIgWT1nbG9iYWwuTWF0
aC5jb3M7dmFyIFo9Z2xvYmFsLk1hdGguc2luO3ZhciBfPWdsb2JhbC5NYXRoLnRhbjt2YXIgJD1n
bG9iYWwuTWF0aC5hY29zO3ZhciBhYT1nbG9iYWwuTWF0aC5hc2luO3ZhciBhYj1nbG9iYWwuTWF0
aC5hdGFuO3ZhciBhYz1nbG9iYWwuTWF0aC5hdGFuMjt2YXIgYWQ9Z2xvYmFsLk1hdGguZXhwO3Zh
ciBhZT1nbG9iYWwuTWF0aC5sb2c7dmFyIGFmPWdsb2JhbC5NYXRoLmNlaWw7dmFyIGFnPWdsb2Jh
bC5NYXRoLmltdWw7dmFyIGFoPWVudi5hYm9ydDt2YXIgYWk9ZW52LmFzc2VydDt2YXIgYWo9ZW52
LmFzbVByaW50SW50O3ZhciBhaz1lbnYuYXNtUHJpbnRGbG9hdDt2YXIgYWw9ZW52Lm1pbjt2YXIg
YW09ZW52Lmludm9rZV92aWlpaWk7dmFyIGFuPWVudi5pbnZva2VfdmlpaWlpaWk7dmFyIGFvPWVu
di5pbnZva2Vfdmk7dmFyIGFwPWVudi5pbnZva2VfdmlpO3ZhciBhcT1lbnYuaW52b2tlX2lpaTt2
YXIgYXI9ZW52Lmludm9rZV9paWlpaWk7dmFyIGFzPWVudi5pbnZva2VfaWk7dmFyIGF0PWVudi5p
bnZva2VfaWlpaTt2YXIgYXU9ZW52Lmludm9rZV92aWlpaWlmO3ZhciBhdj1lbnYuaW52b2tlX3Zp
aWk7dmFyIGF3PWVudi5pbnZva2VfdmlpaWlpaWlpO3ZhciBheD1lbnYuaW52b2tlX3Y7dmFyIGF5
PWVudi5pbnZva2VfaWlpaWlpaWlpO3ZhciBhej1lbnYuaW52b2tlX3ZpaWlpaWlpaWk7dmFyIGFB
PWVudi5pbnZva2VfdmlpaWlpaWY7dmFyIGFCPWVudi5pbnZva2VfdmlpaWlpaTt2YXIgYUM9ZW52
Lmludm9rZV9paWlpaTt2YXIgYUQ9ZW52Lmludm9rZV92aWlpaTt2YXIgYUU9ZW52Ll9sbHZtX2xp
ZmV0aW1lX2VuZDt2YXIgYUY9ZW52Ll9fc2NhblN0cmluZzt2YXIgYUc9ZW52Ll9wdGhyZWFkX211
dGV4X2xvY2s7dmFyIGFIPWVudi5fX19jeGFfZW5kX2NhdGNoO3ZhciBhST1lbnYuX3N0cnRvdWxs
O3ZhciBhSj1lbnYuX19pc0Zsb2F0O3ZhciBhSz1lbnYuX2ZmbHVzaDt2YXIgYUw9ZW52Ll9faXNM
ZWFwWWVhcjt2YXIgYU09ZW52Ll9md3JpdGU7dmFyIGFOPWVudi5fc2VuZDt2YXIgYU89ZW52Ll9s
bHZtX3VtdWxfd2l0aF9vdmVyZmxvd19pMzI7dmFyIGFQPWVudi5faXNzcGFjZTt2YXIgYVE9ZW52
Ll9yZWFkO3ZhciBhUj1lbnYuX19fY3hhX2d1YXJkX2Fib3J0O3ZhciBhUz1lbnYuX25ld2xvY2Fs
ZTt2YXIgYVQ9ZW52Ll9fX2d4eF9wZXJzb25hbGl0eV92MDt2YXIgYVU9ZW52Ll9wdGhyZWFkX2Nv
bmRfd2FpdDt2YXIgYVY9ZW52Ll9fX2N4YV9yZXRocm93O3ZhciBhVz1lbnYuX19fcmVzdW1lRXhj
ZXB0aW9uO3ZhciBhWD1lbnYuX2xsdm1fdmFfZW5kO3ZhciBhWT1lbnYuX3Zzc2NhbmY7dmFyIGFa
PWVudi5fc25wcmludGY7dmFyIGFfPWVudi5fZmdldGM7dmFyIGEkPWVudi5fYXRleGl0O3ZhciBh
MD1lbnYuX19fY3hhX2ZyZWVfZXhjZXB0aW9uO3ZhciBhMT1lbnYuX19aOGNhdGNsb3NlUDhfbmxf
Y2F0ZDt2YXIgYTI9ZW52Ll9fX3NldEVyck5vO3ZhciBhMz1lbnYuX2lzeGRpZ2l0O3ZhciBhND1l
bnYuX2V4aXQ7dmFyIGE1PWVudi5fc3ByaW50Zjt2YXIgYTY9ZW52Ll9fX2N0eXBlX2JfbG9jO3Zh
ciBhNz1lbnYuX2ZyZWVsb2NhbGU7dmFyIGE4PWVudi5fX1o3Y2F0b3BlblBLY2k7dmFyIGE5PWVu
di5fYXNwcmludGY7dmFyIGJhPWVudi5fX19jeGFfaXNfbnVtYmVyX3R5cGU7dmFyIGJiPWVudi5f
X19jeGFfZG9lc19pbmhlcml0O3ZhciBiYz1lbnYuX19fY3hhX2d1YXJkX2FjcXVpcmU7dmFyIGJk
PWVudi5fX19sb2NhbGVfbWJfY3VyX21heDt2YXIgYmU9ZW52Ll9fX2N4YV9iZWdpbl9jYXRjaDt2
YXIgYmY9ZW52Ll9yZWN2O3ZhciBiZz1lbnYuX19wYXJzZUludDY0O3ZhciBiaD1lbnYuX19aU3Qx
OHVuY2F1Z2h0X2V4Y2VwdGlvbnY7dmFyIGJpPWVudi5fX19jeGFfY2FsbF91bmV4cGVjdGVkO3Zh
ciBiaj1lbnYuX19leGl0O3ZhciBiaz1lbnYuX3N0cmZ0aW1lO3ZhciBibD1lbnYuX19fY3hhX3Ro
cm93O3ZhciBibT1lbnYuX2xsdm1fZWhfZXhjZXB0aW9uO3ZhciBibj1lbnYuX3ByZWFkO3ZhciBi
bz1lbnYuX19hcnJheVN1bTt2YXIgYnA9ZW52Ll9sb2c7dmFyIGJxPWVudi5fX19jeGFfZmluZF9t
YXRjaGluZ19jYXRjaDt2YXIgYnI9ZW52Ll9fZm9ybWF0U3RyaW5nO3ZhciBicz1lbnYuX3B0aHJl
YWRfY29uZF9icm9hZGNhc3Q7dmFyIGJ0PWVudi5fX1pTdDl0ZXJtaW5hdGV2O3ZhciBidT1lbnYu
X3B0aHJlYWRfbXV0ZXhfdW5sb2NrO3ZhciBidj1lbnYuX3Nicms7dmFyIGJ3PWVudi5fX19lcnJu
b19sb2NhdGlvbjt2YXIgYng9ZW52Ll9zdHJlcnJvcjt2YXIgYnk9ZW52Ll9sbHZtX2xpZmV0aW1l
X3N0YXJ0O3ZhciBiej1lbnYuX19fY3hhX2d1YXJkX3JlbGVhc2U7dmFyIGJBPWVudi5fdW5nZXRj
O3ZhciBiQj1lbnYuX3VzZWxvY2FsZTt2YXIgYkM9ZW52Ll92c25wcmludGY7dmFyIGJEPWVudi5f
c3NjYW5mO3ZhciBiRT1lbnYuX3N5c2NvbmY7dmFyIGJGPWVudi5fZnJlYWQ7dmFyIGJHPWVudi5f
YWJvcnQ7dmFyIGJIPWVudi5faXNkaWdpdDt2YXIgYkk9ZW52Ll9zdHJ0b2xsO3ZhciBiSj1lbnYu
X19hZGREYXlzO3ZhciBiSz1lbnYuX2Zsb29yO3ZhciBiTD1lbnYuX19yZWFsbHlOZWdhdGl2ZTt2
YXIgYk09ZW52Ll9fWjdjYXRnZXRzUDhfbmxfY2F0ZGlpUEtjO3ZhciBiTj1lbnYuX3dyaXRlO3Zh
ciBiTz1lbnYuX19fY3hhX2FsbG9jYXRlX2V4Y2VwdGlvbjt2YXIgYlA9ZW52Ll9fX2N4YV9wdXJl
X3ZpcnR1YWw7dmFyIGJRPWVudi5fdmFzcHJpbnRmO3ZhciBiUj1lbnYuX19fY3R5cGVfdG91cHBl
cl9sb2M7dmFyIGJTPWVudi5fX19jdHlwZV90b2xvd2VyX2xvYzt2YXIgYlQ9ZW52Ll9wd3JpdGU7
dmFyIGJVPWVudi5fc3RyZXJyb3Jfcjt2YXIgYlY9ZW52Ll90aW1lOwotLy8gRU1TQ1JJUFRFTl9T
VEFSVF9GVU5DUwotZnVuY3Rpb24gY2MoYSl7YT1hfDA7dmFyIGI9MDtiPWk7aT1pK2F8MDtpPWkr
Nz4+Mzw8MztyZXR1cm4gYnwwfWZ1bmN0aW9uIGNkKCl7cmV0dXJuIGl8MH1mdW5jdGlvbiBjZShh
KXthPWF8MDtpPWF9ZnVuY3Rpb24gY2YoYSxiKXthPWF8MDtiPWJ8MDtpZigoeHwwKT09MCl7eD1h
O3k9Yn19ZnVuY3Rpb24gY2coYil7Yj1ifDA7YVtrXT1hW2JdO2FbaysxfDBdPWFbYisxfDBdO2Fb
aysyfDBdPWFbYisyfDBdO2FbayszfDBdPWFbYiszfDBdfWZ1bmN0aW9uIGNoKGIpe2I9YnwwO2Fb
a109YVtiXTthW2srMXwwXT1hW2IrMXwwXTthW2srMnwwXT1hW2IrMnwwXTthW2srM3wwXT1hW2Ir
M3wwXTthW2srNHwwXT1hW2IrNHwwXTthW2srNXwwXT1hW2IrNXwwXTthW2srNnwwXT1hW2IrNnww
XTthW2srN3wwXT1hW2IrN3wwXX1mdW5jdGlvbiBjaShhKXthPWF8MDtLPWF9ZnVuY3Rpb24gY2oo
YSl7YT1hfDA7TD1hfWZ1bmN0aW9uIGNrKGEpe2E9YXwwO009YX1mdW5jdGlvbiBjbChhKXthPWF8
MDtOPWF9ZnVuY3Rpb24gY20oYSl7YT1hfDA7Tz1hfWZ1bmN0aW9uIGNuKGEpe2E9YXwwO1A9YX1m
dW5jdGlvbiBjbyhhKXthPWF8MDtRPWF9ZnVuY3Rpb24gY3AoYSl7YT1hfDA7Uj1hfWZ1bmN0aW9u
IGNxKGEpe2E9YXwwO1M9YX1mdW5jdGlvbiBjcihhKXthPWF8MDtUPWF9ZnVuY3Rpb24gY3MoKXtj
W3ErOD4+Ml09MjUwO2NbcSsxMj4+Ml09MTI4O2NbcSsxNj4+Ml09NjI7Y1txKzIwPj4yXT0xNTA7
Y1txKzI0Pj4yXT04O2NbcSsyOD4+Ml09MTA7Y1txKzMyPj4yXT0yO2NbcSszNj4+Ml09MjtjW3Ar
OD4+Ml09MjUwO2NbcCsxMj4+Ml09MjQ0O2NbcCsxNj4+Ml09NjI7Y1twKzIwPj4yXT0xNTA7Y1tw
KzI0Pj4yXT04O2NbcCsyOD4+Ml09MjY7Y1twKzMyPj4yXT00O2NbcCszNj4+Ml09ODtjWzIwMzZd
PXArODtjWzIwMzhdPXArODtjWzIwNDBdPXErODtjWzIwNDRdPXErODtjWzIwNDhdPXErODtjWzIw
NTJdPXErODtjWzIwNTZdPXErODtjWzIwNjBdPXArODtjWzIwOTRdPXErODtjWzIwOThdPXErODtj
WzIxNjJdPXErODtjWzIxNjZdPXErODtjWzIxODZdPXArODtjWzIxODhdPXErODtjWzIyMjRdPXEr
ODtjWzIyMjhdPXErODtjWzIyNjRdPXErODtjWzIyNjhdPXErODtjWzIyODhdPXArODtjWzIyOTBd
PXArODtjWzIyOTJdPXErODtjWzIyOTZdPXErODtjWzIzMDBdPXErODtjWzIzMDRdPXArODtjWzIz
MDZdPXArODtjWzIzMDhdPXArODtjWzIzMTBdPXArODtjWzIzMTJdPXArODtjWzIzMTRdPXArODtj
WzIzMTZdPXArODtjWzIzNDJdPXErODtjWzIzNDZdPXArODtjWzIzNDhdPXErODtjWzIzNTJdPXEr
ODtjWzIzNTZdPXErODtjWzIzNjBdPXArODtjWzIzNjJdPXArODtjWzIzNjRdPXArODtjWzIzNjZd
PXArODtjWzI0MDBdPXArODtjWzI0MDJdPXArODtjWzI0MDRdPXArODtjWzI0MDZdPXErODtjWzI0
MTBdPXErODtjWzI0MTRdPXErODtjWzI0MThdPXErODtjWzI0MjJdPXErODtjWzI0MjZdPXErOH1m
dW5jdGlvbiBjdChhKXthPWF8MDt2YXIgYj0wLGQ9MDtiPWNbYT4+Ml18MDtpZigoYnwwKT09MCl7
cmV0dXJufWQ9YSs0fDA7YT1jW2Q+PjJdfDA7aWYoKGJ8MCkhPShhfDApKXtjW2Q+PjJdPWErKH4o
KGEtOCsoLWJ8MCl8MCk+Pj4zKTw8Myl9a1MoYik7cmV0dXJufWZ1bmN0aW9uIGN1KGEsYixkKXth
PWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAs
cD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLjAsdz0wLHg9MCx5PTAuMCx6PTAuMDtkPWk7aT1p
KzI0fDA7ZT1kfDA7Zj1kKzh8MDtnPWZ8MDtjW2c+PjJdPTA7aj1mKzR8MDtjW2o+PjJdPTA7az1m
Kzh8MDtjW2s+PjJdPTA7bD1iLWF8MDttPWw+PjM7ZG97aWYoKG18MCk9PTApe249MDtvPTB9ZWxz
ZXtpZihtPj4+MD41MzY4NzA5MTEpe2lyKGYpfXA9a08obCl8MDtjW2o+PjJdPXA7Y1tnPj4yXT1w
O2Nbaz4+Ml09cCsobTw8Myk7aWYoKGF8MCk9PShifDApKXtuPXA7bz1wO2JyZWFrfWVsc2V7cT1h
O3I9cH1kb3tpZigocnwwKT09MCl7cz0wfWVsc2V7aFtyPj4zXT0raFtxPj4zXTtzPWNbaj4+Ml18
MH1yPXMrOHwwO2Nbaj4+Ml09cjtxPXErOHwwO313aGlsZSgocXwwKSE9KGJ8MCkpO249Y1tnPj4y
XXwwO289cn19d2hpbGUoMCk7Y1UobixvLGUpO2U9Y1tnPj4yXXwwO289Y1tqPj4yXXwwO0wyMzpk
b3tpZigoZXwwKT09KG98MCkpe3Q9ZX1lbHNle249ZTt3aGlsZSgxKXt1PW4rOHwwO2lmKCh1fDAp
PT0ob3wwKSl7dD1lO2JyZWFrIEwyM312PStoW24+PjNdO2lmKHY9PStoW3U+PjNdKXticmVha31l
bHNle249dX19aWYoKG58MCk9PShvfDApKXt0PWU7YnJlYWt9ZWxzZXt3PXU7eD1uO3k9dn1MMjg6
d2hpbGUoMSl7cj13O2Rve3I9cis4fDA7aWYoKHJ8MCk9PShvfDApKXticmVhayBMMjh9ej0raFty
Pj4zXTt9d2hpbGUoeT09eik7Yj14Kzh8MDtoW2I+PjNdPXo7dz1yO3g9Yjt5PXp9dD1jW2c+PjJd
fDB9fXdoaWxlKDApO2lmKCh0fDApPT0wKXtpPWQ7cmV0dXJufWc9Y1tqPj4yXXwwO2lmKCh0fDAp
IT0oZ3wwKSl7Y1tqPj4yXT1nKyh+KChnLTgrKC10fDApfDApPj4+Myk8PDMpfWtTKHQpO2k9ZDty
ZXR1cm59ZnVuY3Rpb24gY3YoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9
MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0w
LjAseD0wLjAseT0wLHo9MC4wO2Q9aTtpPWkrMjR8MDtlPWR8MDtmPWQrOHwwO2c9ZnwwO2NbZz4+
Ml09MDtqPWYrNHwwO2Nbaj4+Ml09MDtrPWYrOHwwO2Nbaz4+Ml09MDtsPWItYXwwO209bD4+Mztk
b3tpZigobXwwKT09MCl7bj0wO289MH1lbHNle2lmKG0+Pj4wPjUzNjg3MDkxMSl7aXIoZil9cD1r
TyhsKXwwO2Nbaj4+Ml09cDtjW2c+PjJdPXA7Y1trPj4yXT1wKyhtPDwzKTtpZigoYXwwKT09KGJ8
MCkpe249cDtvPXA7YnJlYWt9ZWxzZXtxPWE7cj1wfWRve2lmKChyfDApPT0wKXtzPTB9ZWxzZXto
W3I+PjNdPStoW3E+PjNdO3M9Y1tqPj4yXXwwfXI9cys4fDA7Y1tqPj4yXT1yO3E9cSs4fDA7fXdo
aWxlKChxfDApIT0oYnwwKSk7bj1jW2c+PjJdfDA7bz1yfX13aGlsZSgwKTtjVShuLG8sZSk7ZT1j
W2c+PjJdfDA7bz1jW2o+PjJdfDA7TDU4OmRve2lmKChlfDApPT0ob3wwKSl7dD1lO3U9NjJ9ZWxz
ZXtuPWU7d2hpbGUoMSl7cj1uKzh8MDtpZigocnwwKT09KG98MCkpe3Y9ZTticmVhayBMNTh9aWYo
K2hbbj4+M109PStoW3I+PjNdKXt0PW47dT02MjticmVha31lbHNle249cn19fX13aGlsZSgwKTtk
b3tpZigodXwwKT09NjIpe2lmKCh0fDApPT0ob3wwKSl7dj1lO2JyZWFrfW49dCsxNnwwO2lmKChu
fDApPT0ob3wwKSl7dj1lO2JyZWFrfXI9bjtuPXQ7dz0raFt0Pj4zXTt3aGlsZSgxKXt4PStoW3I+
PjNdO2lmKHc9PXgpe3k9bjt6PXd9ZWxzZXtiPW4rOHwwO2hbYj4+M109eDt5PWI7ej14fWI9cis4
fDA7aWYoKGJ8MCk9PShvfDApKXticmVha31lbHNle3I9YjtuPXk7dz16fX12PWNbZz4+Ml18MH19
d2hpbGUoMCk7aWYoKHZ8MCk9PTApe2k9ZDtyZXR1cm59Zz1jW2o+PjJdfDA7aWYoKHZ8MCkhPShn
fDApKXtjW2o+PjJdPWcrKH4oKGctOCsoLXZ8MCl8MCk+Pj4zKTw8Myl9a1Modik7aT1kO3JldHVy
bn1mdW5jdGlvbiBjdyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGo9
MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0w
LHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAs
TT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxf
PTAsJD0wLGFhPTAsYWI9MDtkPWk7aT1pKzh8MDtlPWR8MDtmPWU7Zz1pO2k9aSs4fDA7aj1nO2s9
aTtpPWkrMXwwO2k9aSs3Pj4zPDwzO2w9aTtpPWkrOHwwO209aTtpPWkrOHwwO249aTtpPWkrMXww
O2k9aSs3Pj4zPDwzO289aTtpPWkrMjR8MDtwPWk7aT1pKzh8MDtxPWk7aT1pKzh8MDtyPWI7cz1y
LWE+PjM7aFtwPj4zXT0wLjA7dD1vfDA7dT1vKzR8MDt2PW8rOHwwO2skKG98MCwwLDI0KTtkb3tp
Zigoc3wwKT09MCl7dz0wO3g9bysxNnwwO3k9MDt6PTA7QT0wO0I9MH1lbHNle2NPKG8scyxwKTtD
PWNbdT4+Ml18MDtEPW8rMTZ8MDtFPWNbRD4+Ml18MDtGPWNbdj4+Ml18MDtHPUMrKEU+Pj45PDwy
KXwwO2lmKChGfDApPT0oQ3wwKSl7dz0wO3g9RDt5PUY7ej1FO0E9QztCPUc7YnJlYWt9dz0oY1tH
Pj4yXXwwKSsoKEUmNTExKTw8Myl8MDt4PUQ7eT1GO3o9RTtBPUM7Qj1HfX13aGlsZSgwKTtpZigo
YXwwKT09KGJ8MCkpe0g9QTtJPXo7Sj15fWVsc2V7eT1hO2E9dzt3PUI7d2hpbGUoMSl7Qj1hO3o9
KGNbdz4+Ml18MCkrNDA5Ni1CPj4zO0E9eTtwPXItQT4+MztpZigocHwwKT4oenwwKSl7Sz15Kyh6
PDwzKXwwO0w9en1lbHNle0s9YjtMPXB9a18oYXwwLHl8MCxLLUF8MCk7ZG97aWYoKEx8MCk9PTAp
e009YTtOPXd9ZWxzZXtBPShCLShjW3c+PjJdfDApPj4zKStMfDA7aWYoKEF8MCk+MCl7cD13Kygo
KEF8MCkvNTEyfDApPDwyKXwwO009KGNbcD4+Ml18MCkrKCgoQXwwKSU1MTJ8MCk8PDMpfDA7Tj1w
O2JyZWFrfWVsc2V7cD01MTEtQXwwO0E9dysoKChwfDApLy01MTJ8MCk8PDIpfDA7TT0oY1tBPj4y
XXwwKSsoNTExLSgocHwwKSU1MTJ8MCk8PDMpfDA7Tj1BO2JyZWFrfX19d2hpbGUoMCk7aWYoKEt8
MCk9PShifDApKXticmVha31lbHNle3k9SzthPU07dz1OfX1IPWNbdT4+Ml18MDtJPWNbeD4+Ml18
MDtKPWNbdj4+Ml18MH1OPUgrKEk+Pj45PDwyKXwwO2lmKChKfDApPT0oSHwwKSl7Sj1vKzIwfDA7
Tz0wO1A9MDtRPTA7Uj0wO1M9SjtUPUgrKChJKyhjW0o+PjJdfDApfDApPj4+OTw8Mil8MH1lbHNl
e0o9bysyMHwwO289SSsoY1tKPj4yXXwwKXwwO3c9SCsobz4+Pjk8PDIpfDA7Tz0oY1t3Pj4yXXww
KSsoKG8mNTExKTw8Myl8MDtQPTA7UT0oY1tOPj4yXXwwKSsoKEkmNTExKTw8Myl8MDtSPTA7Uz1K
O1Q9d31jW2w+PjJdPVJ8TjtjW2wrND4+Ml09UTtjW20+PjJdPVB8VDtjW20rND4+Ml09TztjSyhs
LG0sbik7bj1jW3U+PjJdfDA7bT1jW3g+PjJdfDA7bD1uKyhtPj4+OTw8Mil8MDtpZigoY1t2Pj4y
XXwwKT09KG58MCkpe1U9MDtWPTA7Vz0wO1g9MDtZPW4rKChtKyhjW1M+PjJdfDApfDApPj4+OTw8
Mil8MH1lbHNle089bSsoY1tTPj4yXXwwKXwwO1Q9bisoTz4+Pjk8PDIpfDA7VT0oY1tUPj4yXXww
KSsoKE8mNTExKTw8Myl8MDtWPTA7Vz0oY1tsPj4yXXwwKSsoKG0mNTExKTw8Myl8MDtYPTA7WT1U
fWNbZT4+Ml09WHxsO2NbZSs0Pj4yXT1XO2NbZz4+Ml09VnxZO2NbZys0Pj4yXT1VO2NJKHEsZixq
LGspO2s9Y1t1Pj4yXXwwO2o9Y1t4Pj4yXXwwO2Y9aysoaj4+Pjk8PDIpfDA7cT1jW3Y+PjJdfDA7
aWYoKHF8MCk9PShrfDApKXtaPTA7Xz0wfWVsc2V7VT0oY1tTPj4yXXwwKStqfDA7Wj0oY1trKyhV
Pj4+OTw8Mik+PjJdfDApKygoVSY1MTEpPDwzKXwwO189KGNbZj4+Ml18MCkrKChqJjUxMSk8PDMp
fDB9aj1mO2Y9XztMMTEyOndoaWxlKDEpe189Zjtkb3tpZigoX3wwKT09KFp8MCkpe2JyZWFrIEwx
MTJ9Xz1fKzh8MDt9d2hpbGUoKF8tKGNbaj4+Ml18MCl8MCkhPTQwOTYpO189ais0fDA7aj1fO2Y9
Y1tfPj4yXXwwfWNbUz4+Ml09MDtTPXEtaz4+MjtpZihTPj4+MD4yKXtmPWs7d2hpbGUoMSl7a1Mo
Y1tmPj4yXXwwKTtqPShjW3U+PjJdfDApKzR8MDtjW3U+PjJdPWo7Wj1jW3Y+PjJdfDA7Xz1aLWo+
PjI7aWYoXz4+PjA+Mil7Zj1qfWVsc2V7JD1fO2FhPWo7YWI9WjticmVha319fWVsc2V7JD1TO2Fh
PWs7YWI9cX1zd2l0Y2goJHwwKXtjYXNlIDE6e2NbeD4+Ml09MjU2O2JyZWFrfTtjYXNlIDI6e2Nb
eD4+Ml09NTEyO2JyZWFrfTtkZWZhdWx0Ont9fWRve2lmKChhYXwwKSE9KGFifDApKXt4PWFhO2Rv
e2tTKGNbeD4+Ml18MCk7eD14KzR8MDt9d2hpbGUoKHh8MCkhPShhYnwwKSk7eD1jW3U+PjJdfDA7
JD1jW3Y+PjJdfDA7aWYoKHh8MCk9PSgkfDApKXticmVha31jW3Y+PjJdPSQrKH4oKCQtNCsoLXh8
MCl8MCk+Pj4yKTw8Mil9fXdoaWxlKDApO3Y9Y1t0Pj4yXXwwO2lmKCh2fDApPT0wKXtpPWQ7cmV0
dXJufWtTKHYpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gY3goYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHww
O3ZhciBlPTAsZj0wLGc9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAs
dD0wLHU9MCx2PTAsdz0wLHg9MC4wLHk9MCx6PTA7ZD1pO2k9aSs0OHwwO2U9ZHwwO2Y9ZCs4fDA7
Zz1kKzE2fDA7aj1kKzI0fDA7az1kKzMyfDA7bD1rfDA7bT1rO2NbbD4+Ml09bTtuPWsrNHwwO2Nb
bj4+Ml09bTtvPWsrOHwwO2Nbbz4+Ml09MDtpZigoYXwwKT09KGJ8MCkpe3A9bTtxPTB9ZWxzZXtr
PWE7YT1tO3I9MDt3aGlsZSgxKXtzPWtPKDE2KXwwO3Q9czt1PXMrOHwwO2lmKCh1fDApIT0wKXto
W3U+PjNdPStoW2s+PjNdfWNbYSs0Pj4yXT10O2Nbcz4+Ml09Y1tsPj4yXTtjW2w+PjJdPXQ7Y1tz
KzQ+PjJdPW07dj0oY1tvPj4yXXwwKSsxfDA7Y1tvPj4yXT12O3M9ays4fDA7aWYoKHN8MCk9PShi
fDApKXticmVha31lbHNle2s9czthPXQ7cj12fX1wPWNbbj4+Ml18MDtxPXZ9Y1tlPj4yXT1wO2Nb
Zj4+Ml09bTtjSihnLGUsZixxLGopO2o9Y1tuPj4yXXwwO2lmKChqfDApIT0obXwwKSl7cT1qO3do
aWxlKDEpe2o9Y1txKzQ+PjJdfDA7TDE1MDpkb3tpZigoanwwKT09KG18MCkpe3c9bX1lbHNle3g9
K2hbcSs4Pj4zXTtmPWo7d2hpbGUoMSl7aWYoeCE9K2hbZis4Pj4zXSl7dz1mO2JyZWFrIEwxNTB9
ZT1jW2YrND4+Ml18MDtpZigoZXwwKT09KG18MCkpe3c9bTticmVha31lbHNle2Y9ZX19fX13aGls
ZSgwKTtpZigoanwwKT09KHd8MCkpe3k9an1lbHNle2Y9KGNbdz4+Ml18MCkrNHwwO2U9anwwO2Nb
KGNbZT4+Ml18MCkrND4+Ml09Y1tmPj4yXTtjW2NbZj4+Ml0+PjJdPWNbZT4+Ml07ZT1qO3doaWxl
KDEpe2Y9Y1tlKzQ+PjJdfDA7Y1tvPj4yXT0oY1tvPj4yXXwwKS0xO2tTKGUpO2lmKChmfDApPT0o
d3wwKSl7eT13O2JyZWFrfWVsc2V7ZT1mfX19aWYoKHl8MCk9PShtfDApKXticmVha31lbHNle3E9
eX19fWlmKChjW28+PjJdfDApPT0wKXtpPWQ7cmV0dXJufXk9Y1tuPj4yXXwwO249KGNbbD4+Ml18
MCkrNHwwO2w9eXwwO2NbKGNbbD4+Ml18MCkrND4+Ml09Y1tuPj4yXTtjW2Nbbj4+Ml0+PjJdPWNb
bD4+Ml07Y1tvPj4yXT0wO2lmKCh5fDApPT0obXwwKSl7aT1kO3JldHVybn1lbHNle3o9eX13aGls
ZSgxKXt5PWNbeis0Pj4yXXwwO2tTKHopO2lmKCh5fDApPT0obXwwKSl7YnJlYWt9ZWxzZXt6PXl9
fWk9ZDtyZXR1cm59ZnVuY3Rpb24gY3koYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAs
Zj0wLGc9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wO2Q9aTtp
PWkrMzJ8MDtlPWR8MDtmPWQrOHwwO2c9ZCsxNnwwO2o9Z3wwO2s9Zys0fDA7Y1trPj4yXT0wO2w9
Zys4fDA7Y1tsPj4yXT0wO209aztrPWd8MDtjW2s+PjJdPW07aWYoKGF8MCk9PShifDApKXtuPTA7
Y0UoaixuKTtpPWQ7cmV0dXJufW89ZnwwO3A9Zys0fDA7Zz1hO2Rve2Nbbz4+Ml09bTthPWNIKGos
ZixlLGcpfDA7aWYoKGNbYT4+Ml18MCk9PTApe3E9a08oMjQpfDA7cj1xKzE2fDA7aWYoKHJ8MCkh
PTApe2hbcj4+M109K2hbZz4+M119cj1jW2U+PjJdfDA7cz1xO2NbcT4+Ml09MDtjW3ErND4+Ml09
MDtjW3ErOD4+Ml09cjtjW2E+PjJdPXM7cj1jW2Nbaz4+Ml0+PjJdfDA7aWYoKHJ8MCk9PTApe3Q9
c31lbHNle2Nbaz4+Ml09cjt0PWNbYT4+Ml18MH1jRyhjW3A+PjJdfDAsdCk7Y1tsPj4yXT0oY1ts
Pj4yXXwwKSsxfWc9Zys4fDA7fXdoaWxlKChnfDApIT0oYnwwKSk7bj1jW3A+PjJdfDA7Y0Uoaixu
KTtpPWQ7cmV0dXJufWZ1bmN0aW9uIGN6KGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0w
LGY9MCxnPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAs
dj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTA7ZD1pO2k9aSsz
MnwwO2U9ZHwwO2Y9ZCs4fDA7Zz1kKzE2fDA7aj1nfDA7az1nKzR8MDtjW2s+PjJdPTA7bD1nKzh8
MDtjW2w+PjJdPTA7bT1rO249Z3wwO2Nbbj4+Ml09bTtkb3tpZigoYXwwKSE9KGJ8MCkpe289Znww
O3A9Zys0fDA7cT1hO2Rve2Nbbz4+Ml09bTtyPWNDKGosZixlLHEpfDA7cz1rTygyNCl8MDt0PXMr
MTZ8MDtpZigodHwwKSE9MCl7aFt0Pj4zXT0raFtxPj4zXX10PWNbZT4+Ml18MDt1PXM7Y1tzPj4y
XT0wO2Nbcys0Pj4yXT0wO2Nbcys4Pj4yXT10O2Nbcj4+Ml09dTt0PWNbY1tuPj4yXT4+Ml18MDtp
ZigodHwwKT09MCl7dj11fWVsc2V7Y1tuPj4yXT10O3Y9Y1tyPj4yXXwwfWNHKGNbcD4+Ml18MCx2
KTtjW2w+PjJdPShjW2w+PjJdfDApKzE7cT1xKzh8MDt9d2hpbGUoKHF8MCkhPShifDApKTtxPWNb
bj4+Ml18MDtpZigocXwwKT09KG18MCkpe2JyZWFrfXA9aztvPWcrNHwwO3I9cTtMMjAyOndoaWxl
KDEpe3E9cnwwO3Q9cis0fDA7dT1yKzE2fDA7d2hpbGUoMSl7dz1jW3Q+PjJdfDA7aWYoKHd8MCk9
PTApe3M9cTt3aGlsZSgxKXt4PWNbcys4Pj4yXXwwO2lmKChzfDApPT0oY1t4Pj4yXXwwKSl7eT14
O2JyZWFrfWVsc2V7cz14fX19ZWxzZXtzPXc7d2hpbGUoMSl7eD1jW3M+PjJdfDA7aWYoKHh8MCk9
PTApe3k9czticmVha31lbHNle3M9eH19fXM9eTtpZigoeXwwKT09KHB8MCkpe3o9bztBPTIxMzti
cmVhayBMMjAyfWlmKCtoW3U+PjNdIT0raFt5KzE2Pj4zXSl7YnJlYWt9eD1jW3krND4+Ml18MDtp
ZigoeHwwKT09MCl7Qj15O3doaWxlKDEpe0M9Y1tCKzg+PjJdfDA7aWYoKEJ8MCk9PShjW0M+PjJd
fDApKXtEPUM7YnJlYWt9ZWxzZXtCPUN9fX1lbHNle0I9eDt3aGlsZSgxKXtDPWNbQj4+Ml18MDtp
ZigoQ3wwKT09MCl7RD1CO2JyZWFrfWVsc2V7Qj1DfX19aWYoKGNbbj4+Ml18MCk9PShzfDApKXtj
W24+PjJdPUR9Y1tsPj4yXT0oY1tsPj4yXXwwKS0xO2NCKGNbbz4+Ml18MCx5KTtrUyh5KX1pZigo
d3wwKT09MCl7dT1xO3doaWxlKDEpe3Q9Y1t1Kzg+PjJdfDA7aWYoKHV8MCk9PShjW3Q+PjJdfDAp
KXtFPXQ7YnJlYWt9ZWxzZXt1PXR9fX1lbHNle3U9dzt3aGlsZSgxKXtxPWNbdT4+Ml18MDtpZigo
cXwwKT09MCl7RT11O2JyZWFrfWVsc2V7dT1xfX19aWYoKEV8MCk9PShwfDApKXt6PW87QT0yMTQ7
YnJlYWt9ZWxzZXtyPUV9fWlmKChBfDApPT0yMTQpe0Y9Y1t6Pj4yXXwwO0c9RjtjRShqLEcpO2k9
ZDtyZXR1cm59ZWxzZSBpZigoQXwwKT09MjEzKXtGPWNbej4+Ml18MDtHPUY7Y0UoaixHKTtpPWQ7
cmV0dXJufX19d2hpbGUoMCk7ej1nKzR8MDtGPWNbej4+Ml18MDtHPUY7Y0UoaixHKTtpPWQ7cmV0
dXJufWZ1bmN0aW9uIGNBKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAuMCxnPTAsaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MC4wLHg9MCx5
PTAsej0wLjAsQT0wLEI9MC4wLEM9MCxEPTAsRT0wLEY9MC4wLEc9MCxIPTAsST0wLjAsSj0wLjAs
TD0wLE09MCxOPTAsTz0wLFA9MDtiPWk7aT1pKzI0fDA7ZD1ifDA7ZT1iKzh8MDtmPSsoYXwwKTtn
PX5+K1UoKygxOTkzMTU2OC41NjkzMjQxNzMvKGYqKCthZSgrZikvLjY5MzE0NzE4MDU1OTk0NTMp
KSkpO2o9YTw8MTtrPWNbMjQ0Nl18MDtsPWNbMjQ0N118MDtpZigoa3wwKSE9KGx8MCkpe2NbMjQ0
N109bCsofigobC04Kygta3wwKXwwKT4+PjMpPDwzKX1rPWV8MDtjW2s+PjJdPTA7bD1lKzR8MDtj
W2w+PjJdPTA7bT1lKzh8MDtjW20+PjJdPTA7aWYoKGp8MCk9PTApe249MH1lbHNle2lmKGo+Pj4w
PjUzNjg3MDkxMSl7aXIoZSl9ZT1rTyhhPDw0KXwwO2NbbD4+Ml09ZTtjW2s+PjJdPWU7Y1ttPj4y
XT1lKyhqPDwzKTttPWo7bz1lO2Rve2lmKChvfDApPT0wKXtwPTB9ZWxzZXtoW28+PjNdPTAuMDtw
PWNbbD4+Ml18MH1vPXArOHwwO2NbbD4+Ml09bzttPW0tMXwwO313aGlsZSgobXwwKSE9MCk7bj1j
W2s+PjJdfDB9bT1uKyhqPDwzKXwwO289bisoYTw8Myl8MDtpZigoYXwwKSE9MCl7cD1uO2Y9MC4w
O3doaWxlKDEpe2U9cCs4fDA7aFtwPj4zXT1mO2lmKChlfDApPT0ob3wwKSl7YnJlYWt9ZWxzZXtw
PWU7Zj1mKzEuMH19fWlmKChqfDApIT0oYXwwKSl7aj1vO2Y9MC4wO3doaWxlKDEpe289ais4fDA7
aFtqPj4zXT1mO2lmKChvfDApPT0obXwwKSl7YnJlYWt9ZWxzZXtqPW87Zj1mKzEuMH19fWNGKG4s
bSk7aWYoKGd8MCk+MCl7aj1hPDw0O2E9aj4+MztvPWFPKGF8MCw4KXwwO3A9bjtpZihLKXtlPWc7
d2hpbGUoMSl7cT1lLTF8MDtyPWtQKC0xKXwwO3M9cjtrWShyfDAscHwwLGopfDA7dD1zKyhhPDwz
KXwwO2NVKHMsdCxkKTtMMjY4OmRve2lmKChzfDApIT0odHwwKSl7dT1zO3doaWxlKDEpe3Y9dSs4
fDA7aWYoKHZ8MCk9PSh0fDApKXticmVhayBMMjY4fXc9K2hbdT4+M107aWYodz09K2hbdj4+M10p
e2JyZWFrfWVsc2V7dT12fX1pZigodXwwKT09KHR8MCkpe2JyZWFrfWVsc2V7eD12O3k9dTt6PXd9
d2hpbGUoMSl7QT14O2Rve0E9QSs4fDA7aWYoKEF8MCk9PSh0fDApKXticmVhayBMMjY4fUI9K2hb
QT4+M107fXdoaWxlKHo9PUIpO0M9eSs4fDA7aFtDPj4zXT1CO3g9QTt5PUM7ej1CfX19d2hpbGUo
MCk7aWYoKHJ8MCkhPTApe2tUKHIpfWlmKChxfDApPjApe2U9cX1lbHNle0Q9ZzticmVha319fWVs
c2V7ZT1nO3doaWxlKDEpe3k9ZS0xfDA7eD1rUChvKXwwO3Y9eDtrWSh4fDAscHwwLGopfDA7dD12
KyhhPDwzKXwwO2NVKHYsdCxkKTtMMjg3OmRve2lmKCh2fDApIT0odHwwKSl7cz12O3doaWxlKDEp
e0U9cys4fDA7aWYoKEV8MCk9PSh0fDApKXticmVhayBMMjg3fUY9K2hbcz4+M107aWYoRj09K2hb
RT4+M10pe2JyZWFrfWVsc2V7cz1FfX1pZigoc3wwKT09KHR8MCkpe2JyZWFrfWVsc2V7Rz1FO0g9
cztJPUZ9d2hpbGUoMSl7dT1HO2Rve3U9dSs4fDA7aWYoKHV8MCk9PSh0fDApKXticmVhayBMMjg3
fUo9K2hbdT4+M107fXdoaWxlKEk9PUopO0E9SCs4fDA7aFtBPj4zXT1KO0c9dTtIPUE7ST1KfX19
d2hpbGUoMCk7aWYoKHh8MCkhPTApe2tUKHgpfWlmKCh5fDApPjApe2U9eX1lbHNle0Q9ZzticmVh
a319fXdoaWxlKDEpe2U9RC0xfDA7Y3UobixtLGUpO2lmKChlfDApPjApe0Q9ZX1lbHNle0w9Zzti
cmVha319d2hpbGUoMSl7RD1MLTF8MDtjdihuLG0sRCk7aWYoKER8MCk+MCl7TD1EfWVsc2V7TT1n
O2JyZWFrfX13aGlsZSgxKXtMPU0tMXwwO2N3KG4sbSxMKTtpZigoTHwwKT4wKXtNPUx9ZWxzZXtO
PWc7YnJlYWt9fXdoaWxlKDEpe009Ti0xfDA7Y3gobixtLE0pO2lmKChNfDApPjApe049TX1lbHNl
e089ZzticmVha319d2hpbGUoMSl7Tj1PLTF8MDtjeShuLG0sTik7aWYoKE58MCk+MCl7Tz1OfWVs
c2V7UD1nO2JyZWFrfX1kb3tQPVAtMXwwO2N6KG4sbSxQKTt9d2hpbGUoKFB8MCk+MCl9UD1jW2s+
PjJdfDA7aWYoKFB8MCk9PTApe2k9YjtyZXR1cm59az1jW2w+PjJdfDA7aWYoKFB8MCkhPShrfDAp
KXtjW2w+PjJdPWsrKH4oKGstOCsoLVB8MCl8MCk+Pj4zKTw8Myl9a1MoUCk7aT1iO3JldHVybn1m
dW5jdGlvbiBjQihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxr
PTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9
MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wO2U9ZHwwO2Y9Y1tl
Pj4yXXwwO2Rve2lmKChmfDApPT0wKXtnPWQ7aD0zMDF9ZWxzZXtpPWNbZCs0Pj4yXXwwO2lmKChp
fDApPT0wKXtqPWY7az1kO2w9ZHwwO2g9MzAzO2JyZWFrfWVsc2V7bT1pO3doaWxlKDEpe2k9Y1tt
Pj4yXXwwO2lmKChpfDApPT0wKXtnPW07aD0zMDE7YnJlYWt9ZWxzZXttPWl9fX19fXdoaWxlKDAp
O2Rve2lmKChofDApPT0zMDEpe2Y9Z3wwO209Y1tnKzQ+PjJdfDA7aWYoKG18MCkhPTApe2o9bTtr
PWc7bD1mO2g9MzAzO2JyZWFrfW49MDtvPTA7cD1nKzh8MDtxPWc7cj1mfX13aGlsZSgwKTtpZigo
aHwwKT09MzAzKXtnPWsrOHwwO2Nbais4Pj4yXT1jW2c+PjJdO249ajtvPTE7cD1nO3E9aztyPWx9
bD1jW3A+PjJdfDA7az1sfDA7ZG97aWYoKHF8MCk9PShjW2s+PjJdfDApKXtjW2s+PjJdPW47aWYo
KHF8MCk9PShifDApKXtzPW47dD0wO2JyZWFrfXM9Yjt0PWNbKGNbcD4+Ml18MCkrND4+Ml18MH1l
bHNle2NbbCs0Pj4yXT1uO3M9Yjt0PWNbY1twPj4yXT4+Ml18MH19d2hpbGUoMCk7Yj1xKzEyfDA7
bD0oYVtiXSYxKT09MDtpZigocXwwKT09KGR8MCkpe3U9c31lbHNle2s9ZCs4fDA7Zz1jW2s+PjJd
fDA7Y1twPj4yXT1nO2lmKChjW2Nbaz4+Ml0+PjJdfDApPT0oZHwwKSl7Y1tnPj4yXT1xfWVsc2V7
Y1tnKzQ+PjJdPXF9Zz1jW2U+PjJdfDA7Y1tyPj4yXT1nO2NbZys4Pj4yXT1xO2c9Y1tkKzQ+PjJd
fDA7Y1txKzQ+PjJdPWc7aWYoKGd8MCkhPTApe2NbZys4Pj4yXT1xfWFbYl09YVtkKzEyfDBdJjE7
dT0oc3wwKT09KGR8MCk/cTpzfWlmKGx8KHV8MCk9PTApe3JldHVybn1pZihvKXthW24rMTJ8MF09
MTtyZXR1cm59ZWxzZXt2PXU7dz10fXdoaWxlKDEpe3Q9dys4fDA7dT1jW3Q+PjJdfDA7bj13KzEy
fDA7bz0oYVtuXSYxKSE9MDtpZigod3wwKT09KGNbdT4+Ml18MCkpe2lmKG8pe3g9djt5PXd9ZWxz
ZXthW25dPTE7YVt1KzEyfDBdPTA7bD1jW3Q+PjJdfDA7cz1sfDA7cT1jW3M+PjJdfDA7ZD1xKzR8
MDtiPWNbZD4+Ml18MDtjW3M+PjJdPWI7aWYoKGJ8MCkhPTApe2NbYis4Pj4yXT1sfWI9bCs4fDA7
Y1txKzg+PjJdPWNbYj4+Ml07cz1jW2I+PjJdfDA7Zz1zfDA7aWYoKGNbZz4+Ml18MCk9PShsfDAp
KXtjW2c+PjJdPXF9ZWxzZXtjW3MrND4+Ml09cX1jW2Q+PjJdPWw7Y1tiPj4yXT1xO3E9Y1t3KzQ+
PjJdfDA7eD0odnwwKT09KHF8MCk/dzp2O3k9Y1txPj4yXXwwfXo9Y1t5Pj4yXXwwO0E9KHp8MCk9
PTA7aWYoIUEpe2lmKChhW3orMTJ8MF0mMSk9PTApe2g9MzY1O2JyZWFrfX1xPWNbeSs0Pj4yXXww
O2lmKChxfDApIT0wKXtpZigoYVtxKzEyfDBdJjEpPT0wKXtoPTM2NDticmVha319YVt5KzEyfDBd
PTA7cT1jW3krOD4+Ml18MDtCPXErMTJ8MDtpZigoYVtCXSYxKT09MHwocXwwKT09KHh8MCkpe2g9
MzYxO2JyZWFrfWI9Y1txKzg+PjJdfDA7bD1jW2I+PjJdfDA7aWYoKHF8MCkhPShsfDApKXt2PXg7
dz1sO2NvbnRpbnVlfXY9eDt3PWNbYis0Pj4yXXwwO2NvbnRpbnVlfWlmKG8pe0M9djtEPXd9ZWxz
ZXthW25dPTE7YVt1KzEyfDBdPTA7dT1jW3Q+PjJdfDA7dD11KzR8MDtuPWNbdD4+Ml18MDtvPW58
MDtiPWNbbz4+Ml18MDtjW3Q+PjJdPWI7aWYoKGJ8MCkhPTApe2NbYis4Pj4yXT11fWI9dSs4fDA7
Y1tuKzg+PjJdPWNbYj4+Ml07dD1jW2I+PjJdfDA7bD10fDA7aWYoKGNbbD4+Ml18MCk9PSh1fDAp
KXtjW2w+PjJdPW59ZWxzZXtjW3QrND4+Ml09bn1jW28+PjJdPXU7Y1tiPj4yXT1uO249Y1t3Pj4y
XXwwO0M9KHZ8MCk9PShufDApP3c6djtEPWNbbis0Pj4yXXwwfUU9RHwwO0Y9Y1tFPj4yXXwwO2lm
KChGfDApIT0wKXtpZigoYVtGKzEyfDBdJjEpPT0wKXtoPTMzNTticmVha319bj1jW0QrND4+Ml18
MDtpZigobnwwKSE9MCl7aWYoKGFbbisxMnwwXSYxKT09MCl7Rz1uO2g9MzM2O2JyZWFrfX1hW0Qr
MTJ8MF09MDtuPWNbRCs4Pj4yXXwwO2lmKChufDApPT0oQ3wwKSl7SD1DO2g9MzMyO2JyZWFrfWlm
KChhW24rMTJ8MF0mMSk9PTApe0g9bjtoPTMzMjticmVha31iPWNbbis4Pj4yXXwwO3U9Y1tiPj4y
XXwwO2lmKChufDApIT0odXwwKSl7dj1DO3c9dTtjb250aW51ZX12PUM7dz1jW2IrND4+Ml18MH1p
ZigoaHwwKT09MzMyKXthW0grMTJ8MF09MTtyZXR1cm59ZWxzZSBpZigoaHwwKT09MzM1KXtIPWNb
RCs0Pj4yXXwwO2lmKChIfDApPT0wKXtoPTMzN31lbHNle0c9SDtoPTMzNn19ZWxzZSBpZigoaHww
KT09MzYxKXthW0JdPTE7cmV0dXJufWVsc2UgaWYoKGh8MCk9PTM2NCl7aWYoQSl7aD0zNjZ9ZWxz
ZXtoPTM2NX19aWYoKGh8MCk9PTMzNil7aWYoKGFbRysxMnwwXSYxKT09MCl7ST1EO2g9MzQzfWVs
c2V7aD0zMzd9fWVsc2UgaWYoKGh8MCk9PTM2NSl7aWYoKGFbeisxMnwwXSYxKT09MCl7Sj15O2g9
MzcyfWVsc2V7aD0zNjZ9fWlmKChofDApPT0zMzcpe2FbRisxMnwwXT0xO2FbRCsxMnwwXT0wO0Y9
Y1tFPj4yXXwwO3o9Ris0fDA7Rz1jW3o+PjJdfDA7Y1tFPj4yXT1HO2lmKChHfDApIT0wKXtjW0cr
OD4+Ml09RH1HPUQrOHwwO2NbRis4Pj4yXT1jW0c+PjJdO0U9Y1tHPj4yXXwwO0E9RXwwO2lmKChj
W0E+PjJdfDApPT0oRHwwKSl7Y1tBPj4yXT1GfWVsc2V7Y1tFKzQ+PjJdPUZ9Y1t6Pj4yXT1EO2Nb
Rz4+Ml09RjtJPUY7aD0zNDN9ZWxzZSBpZigoaHwwKT09MzY2KXtGPXkrNHwwO2FbKGNbRj4+Ml18
MCkrMTJ8MF09MTthW3krMTJ8MF09MDtHPWNbRj4+Ml18MDtEPUd8MDt6PWNbRD4+Ml18MDtjW0Y+
PjJdPXo7aWYoKHp8MCkhPTApe2Nbeis4Pj4yXT15fXo9eSs4fDA7Y1tHKzg+PjJdPWNbej4+Ml07
Rj1jW3o+PjJdfDA7RT1GfDA7aWYoKGNbRT4+Ml18MCk9PSh5fDApKXtjW0U+PjJdPUd9ZWxzZXtj
W0YrND4+Ml09R31jW0Q+PjJdPXk7Y1t6Pj4yXT1HO0o9RztoPTM3Mn1pZigoaHwwKT09MzQzKXtH
PUkrOHwwO3o9KGNbRz4+Ml18MCkrMTJ8MDthW0krMTJ8MF09YVt6XSYxO2Fbel09MTthWyhjW0kr
ND4+Ml18MCkrMTJ8MF09MTtJPWNbRz4+Ml18MDtHPUkrNHwwO3o9Y1tHPj4yXXwwO3k9enwwO0Q9
Y1t5Pj4yXXwwO2NbRz4+Ml09RDtpZigoRHwwKSE9MCl7Y1tEKzg+PjJdPUl9RD1JKzh8MDtjW3or
OD4+Ml09Y1tEPj4yXTtHPWNbRD4+Ml18MDtGPUd8MDtpZigoY1tGPj4yXXwwKT09KEl8MCkpe2Nb
Rj4+Ml09en1lbHNle2NbRys0Pj4yXT16fWNbeT4+Ml09STtjW0Q+PjJdPXo7cmV0dXJufWVsc2Ug
aWYoKGh8MCk9PTM3Mil7aD1KKzh8MDt6PShjW2g+PjJdfDApKzEyfDA7YVtKKzEyfDBdPWFbel0m
MTthW3pdPTE7YVsoY1tKPj4yXXwwKSsxMnwwXT0xO0o9Y1toPj4yXXwwO2g9SnwwO3o9Y1toPj4y
XXwwO0Q9eis0fDA7ST1jW0Q+PjJdfDA7Y1toPj4yXT1JO2lmKChJfDApIT0wKXtjW0krOD4+Ml09
Sn1JPUorOHwwO2Nbeis4Pj4yXT1jW0k+PjJdO2g9Y1tJPj4yXXwwO3k9aHwwO2lmKChjW3k+PjJd
fDApPT0oSnwwKSl7Y1t5Pj4yXT16fWVsc2V7Y1toKzQ+PjJdPXp9Y1tEPj4yXT1KO2NbST4+Ml09
ejtyZXR1cm59fWZ1bmN0aW9uIGNDKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3Zh
ciBmPTAsZz0wLGo9MCxrPTAuMCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1
PTAsdj0wO2Y9aTtnPWI7Yj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tiPj4yXT1jW2c+PjJdO2c9
YSs0fDA7aj1jW2I+PjJdfDA7ZG97aWYoKGp8MCkhPShnfDApKXtrPStoW2U+PjNdO2lmKCtoW2or
MTY+PjNdPj1rKXticmVha31iPWd8MDtsPWNbYj4+Ml18MDtpZigobHwwKT09MCl7Y1tkPj4yXT1n
O209YjtpPWY7cmV0dXJuIG18MH1lbHNle249bH13aGlsZSgxKXtpZigraFtuKzE2Pj4zXTxrKXtv
PW4rNHwwO2w9Y1tvPj4yXXwwO2lmKChsfDApPT0wKXtwPTQwNjticmVha31lbHNle249bDtjb250
aW51ZX19ZWxzZXtxPW58MDtsPWNbcT4+Ml18MDtpZigobHwwKT09MCl7cD00MDg7YnJlYWt9ZWxz
ZXtuPWw7Y29udGludWV9fX1pZigocHwwKT09NDA4KXtjW2Q+PjJdPW47bT1xO2k9ZjtyZXR1cm4g
bXwwfWVsc2UgaWYoKHB8MCk9PTQwNil7Y1tkPj4yXT1uO209bztpPWY7cmV0dXJuIG18MH19fXdo
aWxlKDApO289Y1tqPj4yXXwwO2Rve2lmKChqfDApPT0oY1thPj4yXXwwKSl7cj1qfWVsc2V7aWYo
KG98MCk9PTApe249anwwO3doaWxlKDEpe3E9Y1tuKzg+PjJdfDA7aWYoKG58MCk9PShjW3E+PjJd
fDApKXtuPXF9ZWxzZXtzPXE7YnJlYWt9fX1lbHNle249bzt3aGlsZSgxKXtxPWNbbis0Pj4yXXww
O2lmKChxfDApPT0wKXtzPW47YnJlYWt9ZWxzZXtuPXF9fX1rPStoW2U+PjNdO2lmKGs+PStoW3Mr
MTY+PjNdKXtyPXM7YnJlYWt9bj1nfDA7cT1jW24+PjJdfDA7aWYoKHF8MCk9PTApe2NbZD4+Ml09
ZzttPW47aT1mO3JldHVybiBtfDB9ZWxzZXt0PXF9d2hpbGUoMSl7aWYoazwraFt0KzE2Pj4zXSl7
dT10fDA7cT1jW3U+PjJdfDA7aWYoKHF8MCk9PTApe3A9Mzk5O2JyZWFrfWVsc2V7dD1xO2NvbnRp
bnVlfX1lbHNle3Y9dCs0fDA7cT1jW3Y+PjJdfDA7aWYoKHF8MCk9PTApe3A9NDAxO2JyZWFrfWVs
c2V7dD1xO2NvbnRpbnVlfX19aWYoKHB8MCk9PTM5OSl7Y1tkPj4yXT10O209dTtpPWY7cmV0dXJu
IG18MH1lbHNlIGlmKChwfDApPT00MDEpe2NbZD4+Ml09dDttPXY7aT1mO3JldHVybiBtfDB9fX13
aGlsZSgwKTtpZigob3wwKT09MCl7Y1tkPj4yXT1qO209anwwO2k9ZjtyZXR1cm4gbXwwfWVsc2V7
Y1tkPj4yXT1yO209cis0fDA7aT1mO3JldHVybiBtfDB9cmV0dXJuIDB9ZnVuY3Rpb24gY0QoKXtj
QSgxZTUpO3JldHVybiAwfWZ1bmN0aW9uIGNFKGEsYil7YT1hfDA7Yj1ifDA7aWYoKGJ8MCk9PTAp
e3JldHVybn1lbHNle2NFKGEsY1tiPj4yXXwwKTtjRShhLGNbYis0Pj4yXXwwKTtrUyhiKTtyZXR1
cm59fWZ1bmN0aW9uIGNGKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGY9MCxnPTAs
aj0wLGs9MCxsPTAsbT0wLjA7Yz1pO2k9aSs4fDA7ZD1jfDA7ZT1iLWF8MDtpZigoZXwwKTw9OCl7
aT1jO3JldHVybn1jWShkKTtmPWItOHwwO2lmKGY+Pj4wPmE+Pj4wKXtiPWE7YT1lPj4zO3doaWxl
KDEpe2U9YS0xfDA7ZG97aWYoKGV8MCkhPTApe2lmKChhfDApPT0wKXtnPWNYKGQpfDB9ZWxzZXtq
PTMyLShrWihhfDApfDApfDA7az0oKCgtMT4+PigoMzMtanwwKT4+PjApJmF8MCk9PTApPDwzMT4+
MzEpK2p8MDtqPShrPj4+MCkvKCgoKGsmMzF8MCkhPTApKyhrPj4+NSl8MCk+Pj4wKXwwO2lmKChq
fDApPT0wKXtsPTB9ZWxzZXtsPS0xPj4+KCgzMi1qfDApPj4+MCl9d2hpbGUoMSl7aj0oY1goZCl8
MCkmbDtpZihqPj4+MDxhPj4+MCl7Zz1qO2JyZWFrfX19aWYoKGd8MCk9PTApe2JyZWFrfWo9Yiso
Zzw8Myl8MDttPStoW2I+PjNdO2hbYj4+M109K2hbaj4+M107aFtqPj4zXT1tfX13aGlsZSgwKTtq
PWIrOHwwO2lmKGo+Pj4wPGY+Pj4wKXtiPWo7YT1lfWVsc2V7YnJlYWt9fX1jVyhkKTtpPWM7cmV0
dXJufWZ1bmN0aW9uIGNHKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAs
aj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wO2U9KGR8MCk9PShifDApO2Fb
ZCsxMnwwXT1lJjE7aWYoZSl7cmV0dXJufWVsc2V7Zj1kfXdoaWxlKDEpe2c9Zis4fDA7aD1jW2c+
PjJdfDA7ZD1oKzEyfDA7aWYoKGFbZF0mMSkhPTApe2k9NDg3O2JyZWFrfWo9aCs4fDA7az1jW2o+
PjJdfDA7ZT1jW2s+PjJdfDA7aWYoKGh8MCk9PShlfDApKXtsPWNbays0Pj4yXXwwO2lmKChsfDAp
PT0wKXtpPTQ1MjticmVha31tPWwrMTJ8MDtpZigoYVttXSYxKSE9MCl7aT00NTI7YnJlYWt9YVtk
XT0xO2FbaysxMnwwXT0oa3wwKT09KGJ8MCl8MDthW21dPTF9ZWxzZXtpZigoZXwwKT09MCl7aT00
Njk7YnJlYWt9bT1lKzEyfDA7aWYoKGFbbV0mMSkhPTApe2k9NDY5O2JyZWFrfWFbZF09MTthW2sr
MTJ8MF09KGt8MCk9PShifDApfDA7YVttXT0xfWlmKChrfDApPT0oYnwwKSl7aT00ODQ7YnJlYWt9
ZWxzZXtmPWt9fWlmKChpfDApPT00Njkpe2I9aHwwO2lmKChmfDApPT0oY1tiPj4yXXwwKSl7bT1m
KzR8MDtkPWNbbT4+Ml18MDtjW2I+PjJdPWQ7aWYoKGR8MCk9PTApe249a31lbHNle2NbZCs4Pj4y
XT1oO249Y1tqPj4yXXwwfWNbZz4+Ml09bjtuPWNbaj4+Ml18MDtkPW58MDtpZigoY1tkPj4yXXww
KT09KGh8MCkpe2NbZD4+Ml09Zn1lbHNle2Nbbis0Pj4yXT1mfWNbbT4+Ml09aDtjW2o+PjJdPWY7
bz1mO3A9Y1tnPj4yXXwwfWVsc2V7bz1oO3A9a31hW28rMTJ8MF09MTthW3ArMTJ8MF09MDtvPXAr
NHwwO2c9Y1tvPj4yXXwwO209Z3wwO249Y1ttPj4yXXwwO2Nbbz4+Ml09bjtpZigobnwwKSE9MCl7
Y1tuKzg+PjJdPXB9bj1wKzh8MDtjW2crOD4+Ml09Y1tuPj4yXTtvPWNbbj4+Ml18MDtkPW98MDtp
ZigoY1tkPj4yXXwwKT09KHB8MCkpe2NbZD4+Ml09Z31lbHNle2Nbbys0Pj4yXT1nfWNbbT4+Ml09
cDtjW24+PjJdPWc7cmV0dXJufWVsc2UgaWYoKGl8MCk9PTQ4NCl7cmV0dXJufWVsc2UgaWYoKGl8
MCk9PTQ4Nyl7cmV0dXJufWVsc2UgaWYoKGl8MCk9PTQ1Mil7aWYoKGZ8MCk9PShjW2g+PjJdfDAp
KXtxPWg7cj1rfWVsc2V7Zj1oKzR8MDtpPWNbZj4+Ml18MDtnPWl8MDtuPWNbZz4+Ml18MDtjW2Y+
PjJdPW47aWYoKG58MCk9PTApe3M9a31lbHNle2Nbbis4Pj4yXT1oO3M9Y1tqPj4yXXwwfW49aSs4
fDA7Y1tuPj4yXT1zO3M9Y1tqPj4yXXwwO2s9c3wwO2lmKChjW2s+PjJdfDApPT0oaHwwKSl7Y1tr
Pj4yXT1pfWVsc2V7Y1tzKzQ+PjJdPWl9Y1tnPj4yXT1oO2Nbaj4+Ml09aTtxPWk7cj1jW24+PjJd
fDB9YVtxKzEyfDBdPTE7YVtyKzEyfDBdPTA7cT1yfDA7bj1jW3E+PjJdfDA7aT1uKzR8MDtqPWNb
aT4+Ml18MDtjW3E+PjJdPWo7aWYoKGp8MCkhPTApe2Nbais4Pj4yXT1yfWo9cis4fDA7Y1tuKzg+
PjJdPWNbaj4+Ml07cT1jW2o+PjJdfDA7aD1xfDA7aWYoKGNbaD4+Ml18MCk9PShyfDApKXtjW2g+
PjJdPW59ZWxzZXtjW3ErND4+Ml09bn1jW2k+PjJdPXI7Y1tqPj4yXT1uO3JldHVybn19ZnVuY3Rp
b24gY0goYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaj0wLGs9
MC4wLGw9MC4wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0w
LHk9MCx6PTAsQT0wO2Y9aTtnPWI7Yj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tiPj4yXT1jW2c+
PjJdO2c9YSs0fDA7aj1jW2I+PjJdfDA7ZG97aWYoKGp8MCkhPShnfDApKXtrPStoW2U+PjNdO2w9
K2hbaisxNj4+M107aWYoazxsKXticmVha31pZihsPj1rKXtjW2Q+PjJdPWo7bT1kO2k9ZjtyZXR1
cm4gbXwwfWI9ais0fDA7bj1jW2I+PjJdfDA7bz0obnwwKT09MDtpZihvKXtwPWp8MDt3aGlsZSgx
KXtxPWNbcCs4Pj4yXXwwO2lmKChwfDApPT0oY1txPj4yXXwwKSl7cj1xO2JyZWFrfWVsc2V7cD1x
fX19ZWxzZXtwPW47d2hpbGUoMSl7cT1jW3A+PjJdfDA7aWYoKHF8MCk9PTApe3I9cDticmVha31l
bHNle3A9cX19fXA9Zztkb3tpZigocnwwKSE9KHB8MCkpe2lmKGs8K2hbcisxNj4+M10pe2JyZWFr
fW49Z3wwO3E9Y1tuPj4yXXwwO2lmKChxfDApPT0wKXtjW2Q+PjJdPXA7bT1uO2k9ZjtyZXR1cm4g
bXwwfWVsc2V7cz1xfXdoaWxlKDEpe2w9K2hbcysxNj4+M107aWYoazxsKXt0PXN8MDtxPWNbdD4+
Ml18MDtpZigocXwwKT09MCl7dT01MjE7YnJlYWt9ZWxzZXtzPXE7Y29udGludWV9fWlmKGw+PWsp
e3U9NTI1O2JyZWFrfXY9cys0fDA7cT1jW3Y+PjJdfDA7aWYoKHF8MCk9PTApe3U9NTI0O2JyZWFr
fWVsc2V7cz1xfX1pZigodXwwKT09NTIxKXtjW2Q+PjJdPXM7bT10O2k9ZjtyZXR1cm4gbXwwfWVs
c2UgaWYoKHV8MCk9PTUyNCl7Y1tkPj4yXT1zO209djtpPWY7cmV0dXJuIG18MH1lbHNlIGlmKCh1
fDApPT01MjUpe2NbZD4+Ml09czttPWQ7aT1mO3JldHVybiBtfDB9fX13aGlsZSgwKTtpZihvKXtj
W2Q+PjJdPWo7bT1iO2k9ZjtyZXR1cm4gbXwwfWVsc2V7Y1tkPj4yXT1yO209cnwwO2k9ZjtyZXR1
cm4gbXwwfX19d2hpbGUoMCk7cj1jW2o+PjJdfDA7ZG97aWYoKGp8MCk9PShjW2E+PjJdfDApKXt3
PWp9ZWxzZXtpZigocnwwKT09MCl7cz1qfDA7d2hpbGUoMSl7dj1jW3MrOD4+Ml18MDtpZigoc3ww
KT09KGNbdj4+Ml18MCkpe3M9dn1lbHNle3g9djticmVha319fWVsc2V7cz1yO3doaWxlKDEpe2I9
Y1tzKzQ+PjJdfDA7aWYoKGJ8MCk9PTApe3g9czticmVha31lbHNle3M9Yn19fWs9K2hbZT4+M107
aWYoK2hbeCsxNj4+M108ayl7dz14O2JyZWFrfXM9Z3wwO2I9Y1tzPj4yXXwwO2lmKChifDApPT0w
KXtjW2Q+PjJdPWc7bT1zO2k9ZjtyZXR1cm4gbXwwfWVsc2V7eT1ifXdoaWxlKDEpe2w9K2hbeSsx
Nj4+M107aWYoazxsKXt6PXl8MDtiPWNbej4+Ml18MDtpZigoYnwwKT09MCl7dT01MDI7YnJlYWt9
ZWxzZXt5PWI7Y29udGludWV9fWlmKGw+PWspe3U9NTA2O2JyZWFrfUE9eSs0fDA7Yj1jW0E+PjJd
fDA7aWYoKGJ8MCk9PTApe3U9NTA1O2JyZWFrfWVsc2V7eT1ifX1pZigodXwwKT09NTA1KXtjW2Q+
PjJdPXk7bT1BO2k9ZjtyZXR1cm4gbXwwfWVsc2UgaWYoKHV8MCk9PTUwNil7Y1tkPj4yXT15O209
ZDtpPWY7cmV0dXJuIG18MH1lbHNlIGlmKCh1fDApPT01MDIpe2NbZD4+Ml09eTttPXo7aT1mO3Jl
dHVybiBtfDB9fX13aGlsZSgwKTtpZigocnwwKT09MCl7Y1tkPj4yXT1qO209anwwO2k9ZjtyZXR1
cm4gbXwwfWVsc2V7Y1tkPj4yXT13O209dys0fDA7aT1mO3JldHVybiBtfDB9cmV0dXJuIDB9ZnVu
Y3Rpb24gY0koYixkLGUsZil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxqPTAsaz0w
LGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAs
ej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MC4wLEg9MCxJPTA7Zz1pO2o9ZDtkPWk7aT1p
Kzh8MDtjW2Q+PjJdPWNbaj4+Ml07Y1tkKzQ+PjJdPWNbais0Pj4yXTtqPWU7ZT1pO2k9aSs4fDA7
Y1tlPj4yXT1jW2o+PjJdO2NbZSs0Pj4yXT1jW2orND4+Ml07aj1mO2Y9aTtpPWkrMXwwO2k9aSs3
Pj4zPDwzO2FbZl09YVtqXXwwO2o9ZHwwO2Y9ZCs0fDA7az1jW2Y+PjJdfDA7bD1jW2U+PjJdfDA7
bT1jW2UrND4+Ml18MDtMNjU1OmRve2lmKChrfDApPT0obXwwKSl7bj1rO289bDtwPTU0OX1lbHNl
e2U9Y1tqPj4yXXwwO3E9ZTtyPWs7cz1jW2U+PjJdfDA7d2hpbGUoMSl7ZT1yKzh8MDtpZigoZS1z
fDApPT00MDk2KXt0PXErNHwwO3U9Y1t0Pj4yXXwwO3Y9dDt3PXU7eD11fWVsc2V7dj1xO3c9ZTt4
PXN9aWYoKHd8MCk9PShtfDApKXticmVha31pZigraFtyPj4zXT09K2hbdz4+M10pe249cjtvPXE7
cD01NDk7YnJlYWsgTDY1NX1lbHNle3E9djtyPXc7cz14fX1jW2o+PjJdPWw7Y1tmPj4yXT1tfX13
aGlsZSgwKTtkb3tpZigocHwwKT09NTQ5KXtjW2o+PjJdPW87Y1tmPj4yXT1uO2lmKChufDApPT0o
bXwwKSl7YnJlYWt9bD1uKzh8MDt4PWNbbz4+Ml18MDtpZigobC14fDApPT00MDk2KXt3PW8rNHww
O3Y9Y1t3Pj4yXXwwO3k9dzt6PXY7QT12O0I9bjtDPW99ZWxzZXt5PW87ej1sO0E9eDtCPW47Qz1v
fXdoaWxlKDEpe3g9eis4fDA7aWYoKHgtQXwwKT09NDA5Nil7bD15KzR8MDt2PWNbbD4+Ml18MDtE
PWw7RT12O0Y9dn1lbHNle0Q9eTtFPXg7Rj1BfWlmKChFfDApPT0obXwwKSl7YnJlYWt9Rz0raFtF
Pj4zXTtpZigraFtCPj4zXT09Ryl7eT1EO3o9RTtBPUY7Qj1CO0M9Qztjb250aW51ZX14PUIrOHww
O2NbZj4+Ml09eDtpZigoeC0oY1tDPj4yXXwwKXwwKT09NDA5Nil7dj1DKzR8MDtjW2o+PjJdPXY7
bD1jW3Y+PjJdfDA7Y1tmPj4yXT1sO0g9djtJPWx9ZWxzZXtIPUM7ST14fWhbST4+M109Rzt5PUQ7
ej1FO0E9Y1tEPj4yXXwwO0I9STtDPUh9eD1CKzh8MDtjW2Y+PjJdPXg7aWYoKHgtKGNbQz4+Ml18
MCl8MCkhPTQwOTYpe2JyZWFrfXg9Qys0fDA7Y1tqPj4yXT14O2NbZj4+Ml09Y1t4Pj4yXX19d2hp
bGUoMCk7Zj1kO2Q9YjtiPWNbZis0Pj4yXXwwO2NbZD4+Ml09Y1tmPj4yXTtjW2QrND4+Ml09Yjtp
PWc7cmV0dXJufWZ1bmN0aW9uIGNKKGEsYixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7
Zj1mfDA7dmFyIGc9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0w
LHU9MCx2PTAsdz0wLjAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAuMCxEPTA7Zz1pO2k9aSs0OHww
O2o9YjtiPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2I+PjJdPWNbaj4+Ml07aj1kO2Q9aTtpPWkr
NHwwO2k9aSs3Pj4zPDwzO2NbZD4+Ml09Y1tqPj4yXTtqPWd8MDtrPWcrOHwwO2w9ZysxNnwwO209
ZysyNHwwO249ZyszMnwwO289Zys0MHwwO3N3aXRjaChlfDApe2Nhc2UgMjp7cD1kfDA7cT1jW2Nb
cD4+Ml0+PjJdfDA7Y1twPj4yXT1xO3A9Y1tiPj4yXXwwO2lmKCtoW3ErOD4+M108K2hbcCs4Pj4z
XSl7cj1xKzR8MDtzPXF8MDtjWyhjW3M+PjJdfDApKzQ+PjJdPWNbcj4+Ml07Y1tjW3I+PjJdPj4y
XT1jW3M+PjJdO3Q9cHwwO2NbKGNbdD4+Ml18MCkrND4+Ml09cTtjW3M+PjJdPWNbdD4+Ml07Y1t0
Pj4yXT1xO2Nbcj4+Ml09cDtjW2E+PjJdPXE7aT1nO3JldHVybn1lbHNle2NbYT4+Ml09cDtpPWc7
cmV0dXJufWJyZWFrfTtjYXNlIDA6Y2FzZSAxOntjW2E+PjJdPWNbYj4+Ml07aT1nO3JldHVybn07
ZGVmYXVsdDp7cD1lPj4+MTtxPWJ8MDtiPWNbcT4+Ml18MDtpZigocHwwKT09MCl7dT1ifWVsc2V7
cj1wO3Q9Yjt3aGlsZSgxKXtzPXItMXwwO3Y9Y1t0KzQ+PjJdfDA7aWYoKHN8MCk+MCl7cj1zO3Q9
dn1lbHNle3U9djticmVha319fWNbaz4+Ml09YjtjW2w+PjJdPXU7Y0ooaixrLGwscCxmKTtsPWNb
aj4+Ml18MDtjW3E+PjJdPWw7Y1tuPj4yXT11O3U9ZHwwO2Q9Y1t1Pj4yXXwwO2Nbbz4+Ml09ZDtj
SihtLG4sbyxlLXB8MCxmKTtmPWNbbT4+Ml18MDt3PStoW2wrOD4+M107aWYoK2hbZis4Pj4zXTx3
KXttPWNbZis0Pj4yXXwwO0w2OTc6ZG97aWYoKG18MCk9PShkfDApKXt4PWR9ZWxzZXtwPW07d2hp
bGUoMSl7aWYoK2hbcCs4Pj4zXT49dyl7eD1wO2JyZWFrIEw2OTd9ZT1jW3ArND4+Ml18MDtpZigo
ZXwwKT09KGR8MCkpe3g9ZDticmVha31lbHNle3A9ZX19fX13aGlsZSgwKTttPWNbeD4+Ml18MDtw
PW0rNHwwO2U9ZnwwO2NbKGNbZT4+Ml18MCkrND4+Ml09Y1twPj4yXTtjW2NbcD4+Ml0+PjJdPWNb
ZT4+Ml07bz1jW2wrND4+Ml18MDtuPWx8MDtjWyhjW24+PjJdfDApKzQ+PjJdPWY7Y1tlPj4yXT1j
W24+PjJdO2Nbbj4+Ml09bTtjW3A+PjJdPWw7eT1mO3o9eDtBPW99ZWxzZXt5PWw7ej1mO0E9Y1ts
KzQ+PjJdfDB9Y1txPj4yXT1BO0w3MDQ6ZG97aWYoKEF8MCkhPSh6fDApKXtsPXo7Zj16O289QTt4
PWQ7d2hpbGUoMSl7cD1sKzh8MDtpZigobHwwKT09KHh8MCkpe2JyZWFrIEw3MDR9ZWxzZXtCPW99
d2hpbGUoMSl7Qz0raFtCKzg+PjNdO2lmKCtoW3A+PjNdPEMpe2JyZWFrfW09Y1tCKzQ+PjJdfDA7
Y1txPj4yXT1tO2lmKChtfDApPT0oZnwwKSl7YnJlYWsgTDcwNH1lbHNle0I9bX19cD1jW2wrND4+
Ml18MDtMNzExOmRve2lmKChwfDApPT0oeHwwKSl7RD14fWVsc2V7bT1wO3doaWxlKDEpe2lmKCto
W20rOD4+M10+PUMpe0Q9bTticmVhayBMNzExfW49Y1ttKzQ+PjJdfDA7aWYoKG58MCk9PSh4fDAp
KXtEPXg7YnJlYWt9ZWxzZXttPW59fX19d2hpbGUoMCk7cD1jW0Q+PjJdfDA7bT1wKzR8MDtuPWx8
MDtjWyhjW24+PjJdfDApKzQ+PjJdPWNbbT4+Ml07Y1tjW20+PjJdPj4yXT1jW24+PjJdO2U9Y1tC
KzQ+PjJdfDA7aj0oZnwwKT09KGx8MCk/RDpmO2s9QnwwO2NbKGNbaz4+Ml18MCkrND4+Ml09bDtj
W24+PjJdPWNbaz4+Ml07Y1trPj4yXT1wO2NbbT4+Ml09QjtjW3E+PjJdPWU7aWYoKGV8MCk9PShq
fDApKXticmVhayBMNzA0fWw9RDtmPWo7bz1lO3g9Y1t1Pj4yXXwwfX19d2hpbGUoMCk7Y1thPj4y
XT15O2k9ZztyZXR1cm59fX1mdW5jdGlvbiBjSyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFy
IGU9MCxmPTAsZz0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAs
dT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJ
PTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9
MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAsYWI9MCxhYz0wLGFkPTAsYWU9MCxhZj0wLGFnPTAs
YWg9MCxhaT0wLGFqPTAsYWs9MCxhbD0wLGFtPTAsYW49MCxhbz0wLGFwPTAsYXE9MCxhcj0wLGFz
PTAsYXQ9MCxhdT0wLGF2PTAsYXc9MCxheD0wLGF5PTAsYXo9MCxhQT0wLGFCPTAsYUM9MCxhRD0w
LGFFPTAsYUY9MCxhRz0wLjAsYUg9MC4wLGFJPTAuMCxhSj0wLjAsYUs9MC4wLGFMPTAsYU09MCxh
Tj0wLGFPPTAsYVA9MCxhUT0wLGFSPTAsYVM9MC4wLGFUPTAsYVU9MCxhVj0wLGFXPTAsYVg9MCxh
WT0wLGFaPTAsYV89MCxhJD0wLGEwPTAuMCxhMT0wLGEyPTAsYTM9MCxhND0wLGE1PTAsYTY9MCxh
Nz0wLGE4PTAuMCxhOT0wLGJhPTAsYmI9MCxiYz0wLGJkPTAuMCxiZT0wLGJmPTAsYmc9MCxiaD0w
LGJpPTAsYmo9MCxiaz0wLGJsPTAsYm09MCxibj0wLGJvPTAsYnA9MCxicT0wLGJyPTAsYnM9MCxi
dD0wLGJ1PTAuMCxidj0wLGJ3PTAsYng9MCxieT0wLGJ6PTAuMCxiQT0wLGJCPTAsYkM9MCxiRD0w
LGJFPTAsYkY9MCxiRz0wLGJIPTAsYkk9MCxiSj0wLGJLPTAsYkw9MCxiTT0wLGJOPTAsYk89MCxi
UD0wLGJRPTAuMCxiUj0wLGJTPTAsYlQ9MDtlPWk7aT1pKzh8MDtmPWE7YT1pO2k9aSs4fDA7Y1th
Pj4yXT1jW2Y+PjJdO2NbYSs0Pj4yXT1jW2YrND4+Ml07Zj1iO2I9aTtpPWkrOHwwO2NbYj4+Ml09
Y1tmPj4yXTtjW2IrND4+Ml09Y1tmKzQ+PjJdO2Y9ZXwwO2c9ZjtqPWk7aT1pKzh8MDtrPWo7bD1p
O2k9aSs4fDA7bT1sO249aTtpPWkrOHwwO289bjtwPWk7aT1pKzh8MDtxPXA7cj1pO2k9aSs4fDA7
cz1yO3Q9aTtpPWkrOHwwO3U9dDt2PWk7aT1pKzh8MDt3PXY7eD1pO2k9aSs4fDA7eT14O3o9aTtp
PWkrOHwwO0E9aTtpPWkrOHwwO0I9aTtpPWkrOHwwO0M9aTtpPWkrOHwwO0Q9QztFPWk7aT1pKzh8
MDtGPWk7aT1pKzh8MDtHPWk7aT1pKzh8MDtIPUc7ST1pO2k9aSs4fDA7Sj1JO0s9aTtpPWkrOHww
O0w9aTtpPWkrOHwwO009aTtpPWkrOHwwO049TTtPPWIrNHwwO1A9Y1tPPj4yXXwwO1E9YSs0fDA7
Uj1jW1E+PjJdfDA7aWYoKFB8MCk9PShSfDApKXtpPWU7cmV0dXJufVM9YnwwO1Q9YXwwO1U9YTth
PXkrNHwwO1Y9eDtXPXp8MDtYPXorNHwwO1k9QXwwO1o9QSs0fDA7Xz1CfDA7JD1CKzR8MDthYT1F
fDA7YWI9RSs0fDA7YWM9RnwwO2FkPUYrNHwwO2FlPWI7Yj1LfDA7YWY9Sys0fDA7YWc9THwwO2Fo
PUwrNHwwO2FpPVA7UD1SO0w3MjU6d2hpbGUoMSl7YWo9Y1tTPj4yXXwwO1I9Y1tUPj4yXXwwO2Fr
PWNbYWo+PjJdfDA7YWw9Y1tSPj4yXXwwO2FtPVAtYWw+PjM7YW49KGFpLWFrPj4zKSsoYWotUjw8
NyktYW18MDtzd2l0Y2goYW58MCl7Y2FzZSA1Onthbz02MzA7YnJlYWsgTDcyNTticmVha307Y2Fz
ZSA0Onthbz02MTA7YnJlYWsgTDcyNTticmVha307Y2FzZSAyOnthbz01OTM7YnJlYWsgTDcyNTti
cmVha307Y2FzZSAzOnthbz01OTc7YnJlYWsgTDcyNTticmVha307Y2FzZSAwOmNhc2UgMTp7YW89
NzYwO2JyZWFrIEw3MjU7YnJlYWt9O2RlZmF1bHQ6e319aWYoKGFufDApPDMxKXthbz02NDM7YnJl
YWt9aWYoKGFpfDApPT0oYWt8MCkpe2FwPWFqLTR8MDthcT1hcDthcj0oY1thcD4+Ml18MCkrNDA5
NnwwfWVsc2V7YXE9YWo7YXI9YWl9YXA9YXItOHwwO2FzPShhbnwwKS8yfDA7YXQ9KGFuKzF8MCk+
Pj4wPjI7ZG97aWYoKGFufDApPjk5OSl7ZG97aWYoYXQpe2F1PWFtK2FzfDA7aWYoKGF1fDApPjAp
e2F2PVIrKCgoYXV8MCkvNTEyfDApPDwyKXwwO2F3PWNbYXY+PjJdfDA7YXg9YXcrKCgoYXV8MCkl
NTEyfDApPDwzKXwwO2F5PWF2O2F6PWF3O2JyZWFrfWVsc2V7YXc9NTExLWF1fDA7YXU9UisoKChh
d3wwKS8tNTEyfDApPDwyKXwwO2F2PWNbYXU+PjJdfDA7YXg9YXYrKDUxMS0oKGF3fDApJTUxMnww
KTw8Myl8MDtheT1hdTthej1hdjticmVha319ZWxzZXtheD1QO2F5PVI7YXo9YWx9fXdoaWxlKDAp
O2F2PShhbnwwKS80fDA7YXU9Y1tVPj4yXXwwO2F3PWNbVSs0Pj4yXXwwO2Nbdj4+Ml09YXU7Y1t2
KzQ+PjJdPWF3O2NbeD4+Ml09YXU7Y1t4KzQ+PjJdPWF3O2FBPShhbiszfDApPj4+MD42O2FCPWF1
O2Rve2lmKGFBKXthdT0oYXctKGNbYUI+PjJdfDApPj4zKSthdnwwO2lmKChhdXwwKT4wKXthQz1h
QisoKChhdXwwKS81MTJ8MCk8PDIpfDA7Y1tWPj4yXT1hQztjW2E+PjJdPShjW2FDPj4yXXwwKSso
KChhdXwwKSU1MTJ8MCk8PDMpO2NbVz4+Ml09YXk7Y1tYPj4yXT1heDtjW1k+PjJdPWF5O2NbWj4+
Ml09YXg7aWYoIWFBKXticmVha319ZWxzZXthQz01MTEtYXV8MDthdT1hQisoKChhQ3wwKS8tNTEy
fDApPDwyKXwwO2NbVj4+Ml09YXU7Y1thPj4yXT0oY1thdT4+Ml18MCkrKDUxMS0oKGFDfDApJTUx
MnwwKTw8Myk7Y1tXPj4yXT1heTtjW1g+PjJdPWF4O2NbWT4+Ml09YXk7Y1taPj4yXT1heH1hQz0o
YXgtYXo+PjMpK2F2fDA7aWYoKGFDfDApPjApe2F1PWF5KygoKGFDfDApLzUxMnwwKTw8Mil8MDtj
W1k+PjJdPWF1O2NbWj4+Ml09KGNbYXU+PjJdfDApKygoKGFDfDApJTUxMnwwKTw8Myk7YnJlYWt9
ZWxzZXthdT01MTEtYUN8MDthQz1heSsoKChhdXwwKS8tNTEyfDApPDwyKXwwO2NbWT4+Ml09YUM7
Y1taPj4yXT0oY1thQz4+Ml18MCkrKDUxMS0oKGF1fDApJTUxMnwwKTw8Myk7YnJlYWt9fWVsc2V7
Y1tXPj4yXT1heTtjW1g+PjJdPWF4O2NbWT4+Ml09YXk7Y1taPj4yXT1heH19d2hpbGUoMCk7Y1tf
Pj4yXT1hcTtjWyQ+PjJdPWFwO2FEPWNMKHcseSx6LEEsQiwwKXwwO2FFPWF4fWVsc2V7ZG97aWYo
YXQpe2F2PWFtK2FzfDA7aWYoKGF2fDApPjApe2FGPShjW1IrKCgoYXZ8MCkvNTEyfDApPDwyKT4+
Ml18MCkrKCgoYXZ8MCklNTEyfDApPDwzKXwwO2JyZWFrfWVsc2V7YUI9NTExLWF2fDA7YUY9KGNb
UisoKChhQnwwKS8tNTEyfDApPDwyKT4+Ml18MCkrKDUxMS0oKGFCfDApJTUxMnwwKTw8Myl8MDti
cmVha319ZWxzZXthRj1QfX13aGlsZSgwKTthQj1jW1UrND4+Ml18MDthRz0raFthRj4+M107YUg9
K2hbYUI+PjNdO2FJPStoW2FwPj4zXTthdj1hSTxhRztpZihhRz49YUgpe2lmKCFhdil7YUQ9MDth
RT1hRjticmVha31oW2FGPj4zXT1hSTtoW2FwPj4zXT1hRzthSj0raFthRj4+M107YUs9K2hbYUI+
PjNdO2lmKGFKPj1hSyl7YUQ9MTthRT1hRjticmVha31oW2FCPj4zXT1hSjtoW2FGPj4zXT1hSzth
RD0yO2FFPWFGO2JyZWFrfWlmKGF2KXtoW2FCPj4zXT1hSTtoW2FwPj4zXT1hSDthRD0xO2FFPWFG
O2JyZWFrfWhbYUI+PjNdPWFHO2hbYUY+PjNdPWFIO2FHPStoW2FwPj4zXTtpZihhRz49YUgpe2FE
PTE7YUU9YUY7YnJlYWt9aFthRj4+M109YUc7aFthcD4+M109YUg7YUQ9MjthRT1hRn19d2hpbGUo
MCk7Uj1jW1Q+PjJdfDA7YXM9Y1tRPj4yXXwwO2FIPStoW2FzPj4zXTthRz0raFthRT4+M107ZG97
aWYoYUg8YUcpe2FMPWFEO2FNPWFxO2FOPWFwO2FvPTcwN31lbHNle2FtPWFxO2F0PWFwO2FuPWNb
YXE+PjJdfDA7d2hpbGUoMSl7aWYoKGF0fDApPT0oYW58MCkpe2FsPWFtLTR8MDthQj1jW2FsPj4y
XXwwO2FPPWFsO2FQPWFCKzQwOTZ8MDthUT1hQn1lbHNle2FPPWFtO2FQPWF0O2FRPWFufWFSPWFQ
LTh8MDtpZigoYXN8MCk9PShhUnwwKSl7YnJlYWt9YVM9K2hbYVI+PjNdO2lmKGFTPGFHKXthbz03
MDY7YnJlYWt9ZWxzZXthbT1hTzthdD1hUjthbj1hUX19aWYoKGFvfDApPT03MDYpe2FvPTA7aFth
cz4+M109YVM7aFthUj4+M109YUg7YUw9YUQrMXwwO2FNPWFPO2FOPWFSO2FvPTcwNzticmVha31h
bj1hcys4fDA7YXQ9Y1tSPj4yXXwwO2lmKChhbi1hdHwwKT09NDA5Nil7YW09Uis0fDA7YUI9Y1th
bT4+Ml18MDthVD1hQjthVT1hbTthVj1hQn1lbHNle2FUPWFuO2FVPVI7YVY9YXR9YXQ9Y1tTPj4y
XXwwO2FuPWNbTz4+Ml18MDtpZigoYW58MCk9PShjW2F0Pj4yXXwwKSl7YUI9YXQtNHwwO2FXPWFC
O2FYPShjW2FCPj4yXXwwKSs0MDk2fDB9ZWxzZXthVz1hdDthWD1hbn1hbj1hWC04fDA7YUk9K2hb
YW4+PjNdO2Rve2lmKGFIPGFJKXthWT1hVDthWj1hVTthXz1hVn1lbHNle2F0PWFUO2FCPWFVO2Ft
PWFWO0w3ODY6d2hpbGUoMSl7YSQ9YXQ7d2hpbGUoMSl7aWYoKGEkfDApPT0oYW58MCkpe2FvPTc2
NzticmVhayBMNzI1fWEwPStoW2EkPj4zXTtpZihhSDxhMCl7YnJlYWsgTDc4Nn1hbD1hJCs4fDA7
aWYoKGFsLWFtfDApPT00MDk2KXticmVha31lbHNle2EkPWFsfX1hbD1hQis0fDA7YXY9Y1thbD4+
Ml18MDthdD1hdjthQj1hbDthbT1hdn1oW2EkPj4zXT1hSTtoW2FuPj4zXT1hMDthbT1hJCs4fDA7
YXQ9Y1thQj4+Ml18MDtpZigoYW0tYXR8MCkhPTQwOTYpe2FZPWFtO2FaPWFCO2FfPWF0O2JyZWFr
fWF0PWFCKzR8MDthbT1jW2F0Pj4yXXwwO2FZPWFtO2FaPWF0O2FfPWFtfX13aGlsZSgwKTtpZigo
YVl8MCk9PShhbnwwKSl7YW89NzY4O2JyZWFrIEw3MjV9ZWxzZXthMT1hWTthMj1hWjthMz1hVzth
ND1hbjthNT1hX313aGlsZSgxKXthST0raFtjW1E+PjJdPj4zXTthbT1hMTthNj1hMjthdD1hNTtM
Nzk4OndoaWxlKDEpe2E3PWFtO3doaWxlKDEpe2E4PStoW2E3Pj4zXTtpZihhSTxhOCl7YnJlYWsg
TDc5OH1hdj1hNys4fDA7aWYoKGF2LWF0fDApPT00MDk2KXticmVha31lbHNle2E3PWF2fX1hdj1h
Nis0fDA7YWw9Y1thdj4+Ml18MDthbT1hbDthNj1hdjthdD1hbH1hdD1hMzthbT1hNDthQj1jW2Ez
Pj4yXXwwO3doaWxlKDEpe2lmKChhbXwwKT09KGFCfDApKXthbD1hdC00fDA7YXY9Y1thbD4+Ml18
MDthOT1hbDtiYT1hdis0MDk2fDA7YmI9YXZ9ZWxzZXthOT1hdDtiYT1hbTtiYj1hQn1iYz1iYS04
fDA7YmQ9K2hbYmM+PjNdO2lmKGFJPGJkKXthdD1hOTthbT1iYzthQj1iYn1lbHNle2JyZWFrfX1p
ZihhNj4+PjA+PWE5Pj4+MCl7aWYoYTc+Pj4wPj1iYz4+PjB8KGE2fDApIT0oYTl8MCkpe2JyZWFr
fX1oW2E3Pj4zXT1iZDtoW2JjPj4zXT1hODthQj1hNys4fDA7YW09Y1thNj4+Ml18MDtpZigoYUIt
YW18MCkhPTQwOTYpe2ExPWFCO2EyPWE2O2EzPWE5O2E0PWJjO2E1PWFtO2NvbnRpbnVlfWFtPWE2
KzR8MDthQj1jW2FtPj4yXXwwO2ExPWFCO2EyPWFtO2EzPWE5O2E0PWJjO2E1PWFCfWNbVD4+Ml09
YTY7Y1tRPj4yXT1hNztiZT1hN319d2hpbGUoMCk7TDgxNjpkb3tpZigoYW98MCk9PTcwNyl7YW89
MDthcD1hcys4fDA7YW49Y1tSPj4yXXwwO2lmKChhcC1hbnwwKT09NDA5Nil7YUI9Uis0fDA7YW09
Y1thQj4+Ml18MDtiZj1hbTtiZz1hQjtiaD1hbX1lbHNle2JmPWFwO2JnPVI7Ymg9YW59aWYoYmc+
Pj4wPGFNPj4+MCl7Ymk9YUw7Ymo9YmY7Yms9Ymc7Ymw9YUU7Ym09YU07Ym49YU47Ym89Ymg7YW89
NzExfWVsc2V7aWYoKGJnfDApPT0oYU18MCkmYmY+Pj4wPGFOPj4+MCl7Ymk9YUw7Ymo9YmY7Yms9
Ymc7Ymw9YUU7Ym09YU07Ym49YU47Ym89Ymg7YW89NzExfWVsc2V7YnA9YUw7YnE9YmY7YnI9Ymc7
YnM9YUV9fUw4MjM6ZG97aWYoKGFvfDApPT03MTEpe3doaWxlKDEpe2FvPTA7YUg9K2hbYmw+PjNd
O2FuPWJqO2FwPWJrO2FtPWJvO0w4MjY6d2hpbGUoMSl7YnQ9YW47d2hpbGUoMSl7YnU9K2hbYnQ+
PjNdO2lmKGJ1Pj1hSCl7YnJlYWsgTDgyNn1hQj1idCs4fDA7aWYoKGFCLWFtfDApPT00MDk2KXti
cmVha31lbHNle2J0PWFCfX1hQj1hcCs0fDA7YXQ9Y1thQj4+Ml18MDthbj1hdDthcD1hQjthbT1h
dH1hbT1ibTthbj1ibjthdD1jW2JtPj4yXXwwO3doaWxlKDEpe2lmKChhbnwwKT09KGF0fDApKXth
Qj1hbS00fDA7YXY9Y1thQj4+Ml18MDtidj1hQjtidz1hdis0MDk2fDA7Yng9YXZ9ZWxzZXtidj1h
bTtidz1hbjtieD1hdH1ieT1idy04fDA7Yno9K2hbYnk+PjNdO2lmKGJ6Pj1hSCl7YW09YnY7YW49
Ynk7YXQ9Ynh9ZWxzZXticmVha319aWYoYnY+Pj4wPGFwPj4+MCl7YnA9Ymk7YnE9YnQ7YnI9YXA7
YnM9Ymw7YnJlYWsgTDgyM31pZigoYnZ8MCk9PShhcHwwKSZieT4+PjA8YnQ+Pj4wKXticD1iaTti
cT1idDticj1hcDticz1ibDticmVhayBMODIzfWhbYnQ+PjNdPWJ6O2hbYnk+PjNdPWJ1O2F0PWJp
KzF8MDthbj0oYmx8MCk9PShidHwwKT9ieTpibDthbT1idCs4fDA7YXY9Y1thcD4+Ml18MDtpZigo
YW0tYXZ8MCkhPTQwOTYpe2JpPWF0O2JqPWFtO2JrPWFwO2JsPWFuO2JtPWJ2O2JuPWJ5O2JvPWF2
O2FvPTcxMTtjb250aW51ZX1hdj1hcCs0fDA7YW09Y1thdj4+Ml18MDtiaT1hdDtiaj1hbTtiaz1h
djtibD1hbjtibT1idjtibj1ieTtibz1hbTthbz03MTF9fX13aGlsZSgwKTtkb3tpZigoYnF8MCk9
PShic3wwKSl7YkE9YnB9ZWxzZXthSD0raFticz4+M107YUc9K2hbYnE+PjNdO2lmKGFIPj1hRyl7
YkE9YnA7YnJlYWt9aFticT4+M109YUg7aFticz4+M109YUc7YkE9YnArMXwwfX13aGlsZSgwKTtk
b3tpZigoYkF8MCk9PTApe2FtPWNbVSs0Pj4yXXwwO2NbQz4+Ml09Y1tVPj4yXTtjW0MrND4+Ml09
YW07Y1thYT4+Ml09YnI7Y1thYj4+Ml09YnE7YW09Y04oRCxFLDApfDA7Y1thYz4+Ml09YnI7Y1th
ZD4+Ml09YnE7YW49YnEtKGNbYnI+PjJdfDApPj4zO2F2PWFuKzF8MDtpZigoYXZ8MCk+MCl7YXQ9
YnIrKCgoYXZ8MCkvNTEyfDApPDwyKXwwO2NbYWM+PjJdPWF0O2JCPShjW2F0Pj4yXXwwKSsoKChh
dnwwKSU1MTJ8MCk8PDMpfDB9ZWxzZXthdj01MTAtYW58MDthbj1icisoKChhdnwwKS8tNTEyfDAp
PDwyKXwwO2NbYWM+PjJdPWFuO2JCPShjW2FuPj4yXXwwKSsoNTExLSgoYXZ8MCklNTEyfDApPDwz
KXwwfWNbYWQ+PjJdPWJCO2F2PWNbYWUrND4+Ml18MDtjW0c+PjJdPWNbYWU+PjJdO2NbRys0Pj4y
XT1hdjtpZihjTihGLEgsMCl8MCl7aWYoYW0pe2FvPTc3MDticmVhayBMNzI1fWNbUz4+Ml09YnI7
Y1tPPj4yXT1icTtiZT1jW1E+PjJdfDA7YnJlYWsgTDgxNn1pZighYW0pe2JyZWFrfWFtPWJxKzh8
MDtpZigoYW0tKGNbYnI+PjJdfDApfDApPT00MDk2KXthdj1icis0fDA7YkM9Y1thdj4+Ml18MDti
RD1hdn1lbHNle2JDPWFtO2JEPWJyfWNbVD4+Ml09YkQ7Y1tRPj4yXT1iQztiZT1iQzticmVhayBM
ODE2fX13aGlsZSgwKTthbT1jW1E+PjJdfDA7aWYoKGJxfDApPT0oYW18MCkpe2JFPTB9ZWxzZXth
dj1jW1Q+PjJdfDA7YkU9KGJxLShjW2JyPj4yXXwwKT4+MykrKGJyLWF2PDw3KS0oYW0tKGNbYXY+
PjJdfDApPj4zKXwwfWF2PWNbTz4+Ml18MDtpZigoYXZ8MCk9PShicXwwKSl7YkY9MH1lbHNle2Fu
PWNbUz4+Ml18MDtiRj0oYXYtKGNbYW4+PjJdfDApPj4zKSsoYW4tYnI8PDcpLShicS0oY1ticj4+
Ml18MCk+PjMpfDB9aWYoKGJFfDApPChiRnwwKSl7YW49Y1tVKzQ+PjJdfDA7Y1tJPj4yXT1jW1U+
PjJdO2NbSSs0Pj4yXT1hbjtjW2I+PjJdPWJyO2NbYWY+PjJdPWJxO2NLKEosSyxkKTthbj1icSs4
fDA7aWYoKGFuLShjW2JyPj4yXXwwKXwwKT09NDA5Nil7YXY9YnIrNHwwO2JHPWNbYXY+PjJdfDA7
Ykg9YXZ9ZWxzZXtiRz1hbjtiSD1icn1jW1Q+PjJdPWJIO2NbUT4+Ml09Ykc7YmU9Ykc7YnJlYWt9
Y1thZz4+Ml09YnI7Y1thaD4+Ml09YnE7YW49YnEtKGNbYnI+PjJdfDApPj4zO2F2PWFuKzF8MDtp
ZigoYXZ8MCk+MCl7YXQ9YnIrKCgoYXZ8MCkvNTEyfDApPDwyKXwwO2NbYWc+PjJdPWF0O2JJPShj
W2F0Pj4yXXwwKSsoKChhdnwwKSU1MTJ8MCk8PDMpfDB9ZWxzZXthdj01MTAtYW58MDthbj1iciso
KChhdnwwKS8tNTEyfDApPDwyKXwwO2NbYWc+PjJdPWFuO2JJPShjW2FuPj4yXXwwKSsoNTExLSgo
YXZ8MCklNTEyfDApPDwzKXwwfWNbYWg+PjJdPWJJO2F2PWNbYWUrND4+Ml18MDtjW00+PjJdPWNb
YWU+PjJdO2NbTSs0Pj4yXT1hdjtjSyhMLE4sZCk7Y1tTPj4yXT1icjtjW08+PjJdPWJxO2JlPWFt
fX13aGlsZSgwKTtSPWNbTz4+Ml18MDtpZigoUnwwKT09KGJlfDApKXthbz03Njk7YnJlYWt9ZWxz
ZXthaT1SO1A9YmV9fWlmKChhb3wwKT09NjMwKXtiZT1jW1U+PjJdfDA7YnE9Y1tVKzQ+PjJdfDA7
Y1tmPj4yXT1iZTtjW2YrND4+Ml09YnE7Y1tqPj4yXT1iZTtjW2orND4+Ml09YnE7Zj1icTticj1q
O2o9YmU7ZD1mLShjW2o+PjJdfDApPj4zO049ZCsxfDA7aWYoKE58MCk+MCl7TD1qKygoKE58MCkv
NTEyfDApPDwyKXwwO2NbYnI+PjJdPUw7Yko9KGNbTD4+Ml18MCkrKCgoTnwwKSU1MTJ8MCk8PDMp
fDB9ZWxzZXtOPTUxMC1kfDA7ZD1qKygoKE58MCkvLTUxMnwwKTw8Mil8MDtjW2JyPj4yXT1kO2JK
PShjW2Q+PjJdfDApKyg1MTEtKChOfDApJTUxMnwwKTw8Myl8MH1jW2srND4+Ml09Yko7Y1tsPj4y
XT1iZTtjW2wrND4+Ml09YnE7Yko9bDtsPWYtKGNbaj4+Ml18MCk+PjM7Tj1sKzJ8MDtpZigoTnww
KT4wKXtkPWorKCgoTnwwKS81MTJ8MCk8PDIpfDA7Y1tiSj4+Ml09ZDtiSz0oY1tkPj4yXXwwKSso
KChOfDApJTUxMnwwKTw8Myl8MH1lbHNle049NTA5LWx8MDtsPWorKCgoTnwwKS8tNTEyfDApPDwy
KXwwO2NbYko+PjJdPWw7Yks9KGNbbD4+Ml18MCkrKDUxMS0oKE58MCklNTEyfDApPDwzKXwwfWNb
bSs0Pj4yXT1iSztjW24+PjJdPWJlO2Nbbis0Pj4yXT1icTticT1uO249Zi0oY1tqPj4yXXwwKT4+
MztmPW4rM3wwO2lmKChmfDApPjApe2JlPWorKCgoZnwwKS81MTJ8MCk8PDIpfDA7Y1ticT4+Ml09
YmU7Ykw9KGNbYmU+PjJdfDApKygoKGZ8MCklNTEyfDApPDwzKXwwfWVsc2V7Zj01MDgtbnwwO249
aisoKChmfDApLy01MTJ8MCk8PDIpfDA7Y1ticT4+Ml09bjtiTD0oY1tuPj4yXXwwKSsoNTExLSgo
ZnwwKSU1MTJ8MCk8PDMpfDB9Y1tvKzQ+PjJdPWJMO2lmKChhaXwwKT09KGFrfDApKXtiTD1hai00
fDA7Y1tTPj4yXT1iTDtmPShjW2JMPj4yXXwwKSs0MDk2fDA7Y1tPPj4yXT1mO2JNPWZ9ZWxzZXti
TT1haX1jW08+PjJdPWJNLTg7Yk09Y1thZSs0Pj4yXXwwO2NbcD4+Ml09Y1thZT4+Ml07Y1twKzQ+
PjJdPWJNO2NMKGcsayxtLG8scSwwKXwwO2k9ZTtyZXR1cm59ZWxzZSBpZigoYW98MCk9PTYxMCl7
cT1jW1U+PjJdfDA7bz1jW1UrND4+Ml18MDttPW87az1vLShjW3E+PjJdfDApPj4zO289aysxfDA7
aWYoKG98MCk+MCl7Yk49KGNbcSsoKChvfDApLzUxMnwwKTw8Mik+PjJdfDApKygoKG98MCklNTEy
fDApPDwzKXwwfWVsc2V7bz01MTAta3wwO2JOPShjW3ErKCgob3wwKS8tNTEyfDApPDwyKT4+Ml18
MCkrKDUxMS0oKG98MCklNTEyfDApPDwzKXwwfW89aysyfDA7aWYoKG98MCk+MCl7Yk89KGNbcSso
KChvfDApLzUxMnwwKTw8Mik+PjJdfDApKygoKG98MCklNTEyfDApPDwzKXwwfWVsc2V7bz01MDkt
a3wwO2JPPShjW3ErKCgob3wwKS8tNTEyfDApPDwyKT4+Ml18MCkrKDUxMS0oKG98MCklNTEyfDAp
PDwzKXwwfWlmKChhaXwwKT09KGFrfDApKXtvPWFqLTR8MDtjW1M+PjJdPW87cT0oY1tvPj4yXXww
KSs0MDk2fDA7Y1tPPj4yXT1xO2JQPXF9ZWxzZXtiUD1haX1jW08+PjJdPWJQLTg7YlA9Y1thZSs0
Pj4yXXwwO2J1PStoW2JOPj4zXTtiej0raFttPj4zXTthOD0raFtiTz4+M107cT1hODxidTtkb3tp
ZihidTxieil7aWYocSl7aFttPj4zXT1hODtoW2JPPj4zXT1iejtiUT1iejticmVha31oW20+PjNd
PWJ1O2hbYk4+PjNdPWJ6O2JkPStoW2JPPj4zXTtpZihiZD49Ynope2JRPWJkO2JyZWFrfWhbYk4+
PjNdPWJkO2hbYk8+PjNdPWJ6O2JRPWJ6fWVsc2V7aWYoIXEpe2JRPWE4O2JyZWFrfWhbYk4+PjNd
PWE4O2hbYk8+PjNdPWJ1O2JkPStoW2JOPj4zXTthMD0raFttPj4zXTtpZihiZD49YTApe2JRPWJ1
O2JyZWFrfWhbbT4+M109YmQ7aFtiTj4+M109YTA7YlE9K2hbYk8+PjNdfX13aGlsZSgwKTtidT0r
aFtiUD4+M107aWYoYnU+PWJRKXtpPWU7cmV0dXJufWhbYk8+PjNdPWJ1O2hbYlA+PjNdPWJRO2JR
PStoW2JPPj4zXTtidT0raFtiTj4+M107aWYoYlE+PWJ1KXtpPWU7cmV0dXJufWhbYk4+PjNdPWJR
O2hbYk8+PjNdPWJ1O2J1PStoW2JOPj4zXTtiUT0raFttPj4zXTtpZihidT49YlEpe2k9ZTtyZXR1
cm59aFttPj4zXT1idTtoW2JOPj4zXT1iUTtpPWU7cmV0dXJufWVsc2UgaWYoKGFvfDApPT02NDMp
e2JOPWNbVSs0Pj4yXXwwO2Nbcj4+Ml09Y1tVPj4yXTtjW3IrND4+Ml09Yk47Yk49Y1thZSs0Pj4y
XXwwO2NbdD4+Ml09Y1thZT4+Ml07Y1t0KzQ+PjJdPWJOO2NNKHMsdSwwKTtpPWU7cmV0dXJufWVs
c2UgaWYoKGFvfDApPT01OTMpe2lmKChhaXwwKT09KGFrfDApKXt1PWFqLTR8MDtjW1M+PjJdPXU7
cz0oY1t1Pj4yXXwwKSs0MDk2fDA7Y1tPPj4yXT1zO2JSPXN9ZWxzZXtiUj1haX1zPWJSLTh8MDtj
W08+PjJdPXM7YlE9K2hbcz4+M107YnU9K2hbUD4+M107aWYoYlE+PWJ1KXtpPWU7cmV0dXJufWhb
UD4+M109YlE7aFtzPj4zXT1idTtpPWU7cmV0dXJufWVsc2UgaWYoKGFvfDApPT01OTcpe3M9Y1tV
Pj4yXXwwO1A9Y1tVKzQ+PjJdfDA7VT1QO2JSPVAtKGNbcz4+Ml18MCk+PjM7UD1iUisxfDA7aWYo
KFB8MCk+MCl7YlM9KGNbcysoKChQfDApLzUxMnwwKTw8Mik+PjJdfDApKygoKFB8MCklNTEyfDAp
PDwzKXwwfWVsc2V7UD01MTAtYlJ8MDtiUz0oY1tzKygoKFB8MCkvLTUxMnwwKTw8Mik+PjJdfDAp
Kyg1MTEtKChQfDApJTUxMnwwKTw8Myl8MH1pZigoYWl8MCk9PShha3wwKSl7YWs9YWotNHwwO2Nb
Uz4+Ml09YWs7Uz0oY1thaz4+Ml18MCkrNDA5NnwwO2NbTz4+Ml09UztiVD1TfWVsc2V7YlQ9YWl9
Y1tPPj4yXT1iVC04O2JUPWNbYWUrND4+Ml18MDtidT0raFtiUz4+M107YlE9K2hbVT4+M107YTg9
K2hbYlQ+PjNdO2FlPWE4PGJ1O2lmKGJ1Pj1iUSl7aWYoIWFlKXtpPWU7cmV0dXJufWhbYlM+PjNd
PWE4O2hbYlQ+PjNdPWJ1O2J6PStoW2JTPj4zXTthMD0raFtVPj4zXTtpZihiej49YTApe2k9ZTty
ZXR1cm59aFtVPj4zXT1iejtoW2JTPj4zXT1hMDtpPWU7cmV0dXJufWlmKGFlKXtoW1U+PjNdPWE4
O2hbYlQ+PjNdPWJRO2k9ZTtyZXR1cm59aFtVPj4zXT1idTtoW2JTPj4zXT1iUTtidT0raFtiVD4+
M107aWYoYnU+PWJRKXtpPWU7cmV0dXJufWhbYlM+PjNdPWJ1O2hbYlQ+PjNdPWJRO2k9ZTtyZXR1
cm59ZWxzZSBpZigoYW98MCk9PTc2MCl7aT1lO3JldHVybn1lbHNlIGlmKChhb3wwKT09NzY3KXtp
PWU7cmV0dXJufWVsc2UgaWYoKGFvfDApPT03Njgpe2k9ZTtyZXR1cm59ZWxzZSBpZigoYW98MCk9
PTc2OSl7aT1lO3JldHVybn1lbHNlIGlmKChhb3wwKT09NzcwKXtpPWU7cmV0dXJufX1mdW5jdGlv
biBjTChhLGIsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7dmFy
IGo9MCxrPTAsbD0wLG09MCxuPTAuMCxvPTAuMCxwPTAuMCxxPTAscj0wLHM9MC4wLHQ9MC4wLHU9
MC4wLHY9MCx3PTA7Zz1pO2o9YTthPWk7aT1pKzh8MDtjW2E+PjJdPWNbaj4+Ml07Y1thKzQ+PjJd
PWNbais0Pj4yXTtqPWI7Yj1pO2k9aSs4fDA7Y1tiPj4yXT1jW2o+PjJdO2NbYis0Pj4yXT1jW2or
ND4+Ml07aj1kO2Q9aTtpPWkrOHwwO2NbZD4+Ml09Y1tqPj4yXTtjW2QrND4+Ml09Y1tqKzQ+PjJd
O2o9ZTtlPWk7aT1pKzh8MDtjW2U+PjJdPWNbaj4+Ml07Y1tlKzQ+PjJdPWNbais0Pj4yXTtqPWY7
Zj1pO2k9aSs4fDA7Y1tmPj4yXT1jW2o+PjJdO2NbZis0Pj4yXT1jW2orND4+Ml07aj1jW2ErND4+
Ml18MDtrPWNbYis0Pj4yXXwwO2w9Y1tkKzQ+PjJdfDA7bT1jW2UrND4+Ml18MDtuPStoW2s+PjNd
O289K2hbaj4+M107cD0raFtsPj4zXTtxPXA8bjtkb3tpZihuPG8pe2lmKHEpe2hbaj4+M109cDto
W2w+PjNdPW87cj0xO3M9bzticmVha31oW2o+PjNdPW47aFtrPj4zXT1vO3Q9K2hbbD4+M107aWYo
dD49byl7cj0xO3M9dDticmVha31oW2s+PjNdPXQ7aFtsPj4zXT1vO3I9MjtzPW99ZWxzZXtpZigh
cSl7cj0wO3M9cDticmVha31oW2s+PjNdPXA7aFtsPj4zXT1uO3Q9K2hbaz4+M107dT0raFtqPj4z
XTtpZih0Pj11KXtyPTE7cz1uO2JyZWFrfWhbaj4+M109dDtoW2s+PjNdPXU7cj0yO3M9K2hbbD4+
M119fXdoaWxlKDApO249K2hbbT4+M107ZG97aWYobjxzKXtoW2w+PjNdPW47aFttPj4zXT1zO3A9
K2hbbD4+M107bz0raFtrPj4zXTtpZihwPj1vKXt2PXIrMXwwO2JyZWFrfWhbaz4+M109cDtoW2w+
PjNdPW87bz0raFtrPj4zXTtwPStoW2o+PjNdO2lmKG8+PXApe3Y9cisyfDA7YnJlYWt9aFtqPj4z
XT1vO2hbaz4+M109cDt2PXIrM3wwfWVsc2V7dj1yfX13aGlsZSgwKTtyPWNbZis0Pj4yXXwwO2Y9
Y1tlKzQ+PjJdfDA7cz0raFtyPj4zXTtuPStoW2Y+PjNdO2lmKHM+PW4pe3c9djtpPWc7cmV0dXJu
IHd8MH1oW2Y+PjNdPXM7aFtyPj4zXT1uO3I9Y1tkKzQ+PjJdfDA7bj0raFtmPj4zXTtzPStoW3I+
PjNdO2lmKG4+PXMpe3c9disxfDA7aT1nO3JldHVybiB3fDB9aFtyPj4zXT1uO2hbZj4+M109cztm
PWNbYis0Pj4yXXwwO3M9K2hbcj4+M107bj0raFtmPj4zXTtpZihzPj1uKXt3PXYrMnwwO2k9Zzty
ZXR1cm4gd3wwfWhbZj4+M109cztoW3I+PjNdPW47cj1jW2ErND4+Ml18MDtuPStoW2Y+PjNdO3M9
K2hbcj4+M107aWYobj49cyl7dz12KzN8MDtpPWc7cmV0dXJuIHd8MH1oW3I+PjNdPW47aFtmPj4z
XT1zO3c9dis0fDA7aT1nO3JldHVybiB3fDB9ZnVuY3Rpb24gY00oYSxiLGQpe2E9YXwwO2I9Ynww
O2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MC4wLHA9MC4wLHE9
MC4wLHI9MC4wLHM9MC4wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTA7ZD1pO2U9YTth
PWk7aT1pKzh8MDtjW2E+PjJdPWNbZT4+Ml07Y1thKzQ+PjJdPWNbZSs0Pj4yXTtlPWI7Yj1pO2k9
aSs4fDA7Y1tiPj4yXT1jW2U+PjJdO2NbYis0Pj4yXT1jW2UrND4+Ml07ZT1jW2E+PjJdfDA7Zj1h
KzR8MDtnPShjW2Y+PjJdfDApLShjW2U+PjJdfDApPj4zO2o9ZysyfDA7aWYoKGp8MCk+MCl7az1l
KygoKGp8MCkvNTEyfDApPDwyKXwwO2w9KGNbaz4+Ml18MCkrKCgoanwwKSU1MTJ8MCk8PDMpfDA7
bT1rfWVsc2V7az01MDktZ3wwO2c9ZSsoKChrfDApLy01MTJ8MCk8PDIpfDA7bD0oY1tnPj4yXXww
KSsoNTExLSgoa3wwKSU1MTJ8MCk8PDMpfDA7bT1nfWc9YTthPWNbZz4+Ml18MDtrPWNbZys0Pj4y
XXwwO2c9aztlPWstKGNbYT4+Ml18MCk+PjM7az1lKzF8MDtpZigoa3wwKT4wKXtuPShjW2ErKCgo
a3wwKS81MTJ8MCk8PDIpPj4yXXwwKSsoKChrfDApJTUxMnwwKTw8Myl8MH1lbHNle2s9NTEwLWV8
MDtuPShjW2ErKCgoa3wwKS8tNTEyfDApPDwyKT4+Ml18MCkrKDUxMS0oKGt8MCklNTEyfDApPDwz
KXwwfW89K2hbbj4+M107cD0raFtnPj4zXTtxPStoW2w+PjNdO2s9cTxvO2Rve2lmKG88cCl7aWYo
ayl7aFtnPj4zXT1xO2hbbD4+M109cDticmVha31oW2c+PjNdPW87aFtuPj4zXT1wO3I9K2hbbD4+
M107aWYocj49cCl7YnJlYWt9aFtuPj4zXT1yO2hbbD4+M109cH1lbHNle2lmKCFrKXticmVha31o
W24+PjNdPXE7aFtsPj4zXT1vO3I9K2hbbj4+M107cz0raFtnPj4zXTtpZihyPj1zKXticmVha31o
W2c+PjNdPXI7aFtuPj4zXT1zfX13aGlsZSgwKTtuPWwtKGNbbT4+Ml18MCk+PjM7Zz1uKzF8MDtp
ZigoZ3wwKT4wKXtrPW0rKCgoZ3wwKS81MTJ8MCk8PDIpfDA7YT1jW2s+PjJdfDA7dD1rO3U9YSso
KChnfDApJTUxMnwwKTw8Myl8MDt2PWF9ZWxzZXthPTUxMC1ufDA7bj1tKygoKGF8MCkvLTUxMnww
KTw8Mil8MDtnPWNbbj4+Ml18MDt0PW47dT1nKyg1MTEtKChhfDApJTUxMnwwKTw8Myl8MDt2PWd9
Zz1iKzR8MDtiPWw7bD10O3Q9dTt1PW07bT12O0wxMDIyOndoaWxlKDEpe3Y9YjthPXQ7bj11O2s9
bTt3aGlsZSgxKXtpZigoYXwwKT09KGNbZz4+Ml18MCkpe2JyZWFrIEwxMDIyfW89K2hbYT4+M107
cT0raFt2Pj4zXTtpZihvPHEpe2U9bjtqPXY7dz1hO3A9cTt3aGlsZSgxKXtoW3c+PjNdPXA7aWYo
KGp8MCk9PShjW2Y+PjJdfDApKXticmVha31pZigoanwwKT09KGNbZT4+Ml18MCkpe3g9ZS00fDA7
eT14O3o9KGNbeD4+Ml18MCkrNDA5NnwwfWVsc2V7eT1lO3o9an14PXotOHwwO3E9K2hbeD4+M107
aWYobzxxKXtlPXk7dz1qO2o9eDtwPXF9ZWxzZXticmVha319aFtqPj4zXT1vO0E9Y1tsPj4yXXww
fWVsc2V7QT1rfXc9YSs4fDA7aWYoKHctQXwwKT09NDA5Nil7YnJlYWt9ZWxzZXt2PWE7YT13O249
bDtrPUF9fWs9bCs0fDA7bj1jW2s+PjJdfDA7Yj1hO3U9bDtsPWs7dD1uO209bn1pPWQ7cmV0dXJu
fWZ1bmN0aW9uIGNOKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaj0w
LGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAs
eT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAuMCxFPTAuMCxGPTAsRz0wLEg9MC4wLEk9MC4wLEo9MC4w
LEs9MCxMPTAsTT0wLE49MC4wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9
MCxZPTAsWj0wLF89MCwkPTAsYWE9MCxhYj0wLGFjPTAsYWQ9MCxhZT0wLGFmPTA7ZD1pO2k9aSs4
fDA7ZT1hO2E9aTtpPWkrOHwwO2NbYT4+Ml09Y1tlPj4yXTtjW2ErND4+Ml09Y1tlKzQ+PjJdO2U9
YjtiPWk7aT1pKzh8MDtjW2I+PjJdPWNbZT4+Ml07Y1tiKzQ+PjJdPWNbZSs0Pj4yXTtlPWR8MDtm
PWU7Zz1pO2k9aSs4fDA7aj1nO2s9aTtpPWkrOHwwO2w9azttPWk7aT1pKzh8MDtuPW07bz1pO2k9
aSs4fDA7cD1vO3E9Yis0fDA7cj1jW3E+PjJdfDA7cz1hKzR8MDt0PWNbcz4+Ml18MDtpZigocnww
KT09KHR8MCkpe3U9MTtpPWQ7cmV0dXJuIHV8MH12PWJ8MDt3PWNbdj4+Ml18MDt4PWNbYT4+Ml18
MDt5PWNbdz4+Ml18MDt6PXQtKGNbeD4+Ml18MCk+PjM7c3dpdGNoKChyLXk+PjMpKyh3LXg8PDcp
LXp8MCl7Y2FzZSAyOntpZigocnwwKT09KHl8MCkpe0E9dy00fDA7Y1t2Pj4yXT1BO0I9KGNbQT4+
Ml18MCkrNDA5NnwwO2NbcT4+Ml09QjtDPUJ9ZWxzZXtDPXJ9Qj1DLTh8MDtjW3E+PjJdPUI7RD0r
aFtCPj4zXTtFPStoW3Q+PjNdO2lmKEQ+PUUpe3U9MTtpPWQ7cmV0dXJuIHV8MH1oW3Q+PjNdPUQ7
aFtCPj4zXT1FO3U9MTtpPWQ7cmV0dXJuIHV8MH07Y2FzZSAwOmNhc2UgMTp7dT0xO2k9ZDtyZXR1
cm4gdXwwfTtjYXNlIDM6e0I9YTt0PWNbQj4+Ml18MDtDPWNbQis0Pj4yXXwwO0I9QztBPUMtKGNb
dD4+Ml18MCk+PjM7Qz1BKzF8MDtpZigoQ3wwKT4wKXtGPShjW3QrKCgoQ3wwKS81MTJ8MCk8PDIp
Pj4yXXwwKSsoKChDfDApJTUxMnwwKTw8Myl8MH1lbHNle0M9NTEwLUF8MDtGPShjW3QrKCgoQ3ww
KS8tNTEyfDApPDwyKT4+Ml18MCkrKDUxMS0oKEN8MCklNTEyfDApPDwzKXwwfWlmKChyfDApPT0o
eXwwKSl7Qz13LTR8MDtjW3Y+PjJdPUM7dD0oY1tDPj4yXXwwKSs0MDk2fDA7Y1txPj4yXT10O0c9
dH1lbHNle0c9cn1jW3E+PjJdPUctODtHPWNbYis0Pj4yXXwwO0U9K2hbRj4+M107RD0raFtCPj4z
XTtIPStoW0c+PjNdO3Q9SDxFO2lmKEU+PUQpe2lmKCF0KXt1PTE7aT1kO3JldHVybiB1fDB9aFtG
Pj4zXT1IO2hbRz4+M109RTtJPStoW0Y+PjNdO0o9K2hbQj4+M107aWYoST49Sil7dT0xO2k9ZDty
ZXR1cm4gdXwwfWhbQj4+M109STtoW0Y+PjNdPUo7dT0xO2k9ZDtyZXR1cm4gdXwwfWlmKHQpe2hb
Qj4+M109SDtoW0c+PjNdPUQ7dT0xO2k9ZDtyZXR1cm4gdXwwfWhbQj4+M109RTtoW0Y+PjNdPUQ7
RT0raFtHPj4zXTtpZihFPj1EKXt1PTE7aT1kO3JldHVybiB1fDB9aFtGPj4zXT1FO2hbRz4+M109
RDt1PTE7aT1kO3JldHVybiB1fDB9O2Nhc2UgNDp7Rz1hO0Y9Y1tHPj4yXXwwO0I9Y1tHKzQ+PjJd
fDA7Rz1CO3Q9Qi0oY1tGPj4yXXwwKT4+MztCPXQrMXwwO2lmKChCfDApPjApe0s9KGNbRisoKChC
fDApLzUxMnwwKTw8Mik+PjJdfDApKygoKEJ8MCklNTEyfDApPDwzKXwwfWVsc2V7Qj01MTAtdHww
O0s9KGNbRisoKChCfDApLy01MTJ8MCk8PDIpPj4yXXwwKSsoNTExLSgoQnwwKSU1MTJ8MCk8PDMp
fDB9Qj10KzJ8MDtpZigoQnwwKT4wKXtMPShjW0YrKCgoQnwwKS81MTJ8MCk8PDIpPj4yXXwwKSso
KChCfDApJTUxMnwwKTw8Myl8MH1lbHNle0I9NTA5LXR8MDtMPShjW0YrKCgoQnwwKS8tNTEyfDAp
PDwyKT4+Ml18MCkrKDUxMS0oKEJ8MCklNTEyfDApPDwzKXwwfWlmKChyfDApPT0oeXwwKSl7Qj13
LTR8MDtjW3Y+PjJdPUI7Rj0oY1tCPj4yXXwwKSs0MDk2fDA7Y1txPj4yXT1GO009Rn1lbHNle009
cn1jW3E+PjJdPU0tODtNPWNbYis0Pj4yXXwwO0Q9K2hbSz4+M107RT0raFtHPj4zXTtIPStoW0w+
PjNdO0Y9SDxEO2Rve2lmKEQ8RSl7aWYoRil7aFtHPj4zXT1IO2hbTD4+M109RTtOPUU7YnJlYWt9
aFtHPj4zXT1EO2hbSz4+M109RTtKPStoW0w+PjNdO2lmKEo+PUUpe049SjticmVha31oW0s+PjNd
PUo7aFtMPj4zXT1FO049RX1lbHNle2lmKCFGKXtOPUg7YnJlYWt9aFtLPj4zXT1IO2hbTD4+M109
RDtKPStoW0s+PjNdO0k9K2hbRz4+M107aWYoSj49SSl7Tj1EO2JyZWFrfWhbRz4+M109SjtoW0s+
PjNdPUk7Tj0raFtMPj4zXX19d2hpbGUoMCk7RD0raFtNPj4zXTtpZihEPj1OKXt1PTE7aT1kO3Jl
dHVybiB1fDB9aFtMPj4zXT1EO2hbTT4+M109TjtOPStoW0w+PjNdO0Q9K2hbSz4+M107aWYoTj49
RCl7dT0xO2k9ZDtyZXR1cm4gdXwwfWhbSz4+M109TjtoW0w+PjNdPUQ7RD0raFtLPj4zXTtOPSto
W0c+PjNdO2lmKEQ+PU4pe3U9MTtpPWQ7cmV0dXJuIHV8MH1oW0c+PjNdPUQ7aFtLPj4zXT1OO3U9
MTtpPWQ7cmV0dXJuIHV8MH07Y2FzZSA1OntLPWE7Rz1jW0s+PjJdfDA7TD1jW0srND4+Ml18MDtj
W2U+PjJdPUc7Y1tlKzQ+PjJdPUw7Y1tnPj4yXT1HO2NbZys0Pj4yXT1MO2U9TDtLPWc7Zz1HO009
ZS0oY1tnPj4yXXwwKT4+MztGPU0rMXwwO2lmKChGfDApPjApe0I9ZysoKChGfDApLzUxMnwwKTw8
Mil8MDtjW0s+PjJdPUI7Tz0oY1tCPj4yXXwwKSsoKChGfDApJTUxMnwwKTw8Myl8MH1lbHNle0Y9
NTEwLU18MDtNPWcrKCgoRnwwKS8tNTEyfDApPDwyKXwwO2NbSz4+Ml09TTtPPShjW00+PjJdfDAp
Kyg1MTEtKChGfDApJTUxMnwwKTw8Myl8MH1jW2orND4+Ml09TztjW2s+PjJdPUc7Y1trKzQ+PjJd
PUw7Tz1rO2s9ZS0oY1tnPj4yXXwwKT4+MztGPWsrMnwwO2lmKChGfDApPjApe009ZysoKChGfDAp
LzUxMnwwKTw8Mil8MDtjW08+PjJdPU07UD0oY1tNPj4yXXwwKSsoKChGfDApJTUxMnwwKTw8Myl8
MH1lbHNle0Y9NTA5LWt8MDtrPWcrKCgoRnwwKS8tNTEyfDApPDwyKXwwO2NbTz4+Ml09aztQPShj
W2s+PjJdfDApKyg1MTEtKChGfDApJTUxMnwwKTw8Myl8MH1jW2wrND4+Ml09UDtjW20+PjJdPUc7
Y1ttKzQ+PjJdPUw7TD1tO209ZS0oY1tnPj4yXXwwKT4+MztlPW0rM3wwO2lmKChlfDApPjApe0c9
ZysoKChlfDApLzUxMnwwKTw8Mil8MDtjW0w+PjJdPUc7UT0oY1tHPj4yXXwwKSsoKChlfDApJTUx
MnwwKTw8Myl8MH1lbHNle2U9NTA4LW18MDttPWcrKCgoZXwwKS8tNTEyfDApPDwyKXwwO2NbTD4+
Ml09bTtRPShjW20+PjJdfDApKyg1MTEtKChlfDApJTUxMnwwKTw8Myl8MH1jW24rND4+Ml09UTtp
ZigocnwwKT09KHl8MCkpe3k9dy00fDA7Y1t2Pj4yXT15O3Y9KGNbeT4+Ml18MCkrNDA5NnwwO2Nb
cT4+Ml09djtSPXZ9ZWxzZXtSPXJ9Y1txPj4yXT1SLTg7Uj1iO2I9Y1tSKzQ+PjJdfDA7Y1tvPj4y
XT1jW1I+PjJdO2Nbbys0Pj4yXT1iO2NMKGYsaixsLG4scCwwKXwwO3U9MTtpPWQ7cmV0dXJuIHV8
MH07ZGVmYXVsdDp7cD16KzJ8MDtpZigocHwwKT4wKXtuPXgrKCgocHwwKS81MTJ8MCk8PDIpfDA7
Uz1uO1Q9KGNbbj4+Ml18MCkrKCgocHwwKSU1MTJ8MCk8PDMpfDB9ZWxzZXtwPTUwOS16fDA7ej14
KygoKHB8MCkvLTUxMnwwKTw8Mil8MDtTPXo7VD0oY1t6Pj4yXXwwKSsoNTExLSgocHwwKSU1MTJ8
MCk8PDMpfDB9cD1hO2E9Y1twPj4yXXwwO3o9Y1twKzQ+PjJdfDA7cD16O3g9ei0oY1thPj4yXXww
KT4+Mzt6PXgrMXwwO2lmKCh6fDApPjApe1U9KGNbYSsoKCh6fDApLzUxMnwwKTw8Mik+PjJdfDAp
KygoKHp8MCklNTEyfDApPDwzKXwwfWVsc2V7ej01MTAteHwwO1U9KGNbYSsoKCh6fDApLy01MTJ8
MCk8PDIpPj4yXXwwKSsoNTExLSgoenwwKSU1MTJ8MCk8PDMpfDB9Tj0raFtVPj4zXTtEPStoW3A+
PjNdO0g9K2hbVD4+M107ej1IPE47ZG97aWYoTjxEKXtpZih6KXtoW3A+PjNdPUg7aFtUPj4zXT1E
O2JyZWFrfWhbcD4+M109TjtoW1U+PjNdPUQ7RT0raFtUPj4zXTtpZihFPj1EKXticmVha31oW1U+
PjNdPUU7aFtUPj4zXT1EfWVsc2V7aWYoIXope2JyZWFrfWhbVT4+M109SDtoW1Q+PjNdPU47RT0r
aFtVPj4zXTtJPStoW3A+PjNdO2lmKEU+PUkpe2JyZWFrfWhbcD4+M109RTtoW1U+PjNdPUl9fXdo
aWxlKDApO1U9VC0oY1tTPj4yXXwwKT4+MztwPVUrMXwwO2lmKChwfDApPjApe3o9UysoKChwfDAp
LzUxMnwwKTw8Mil8MDthPWNbej4+Ml18MDtWPTA7Vz1hKygoKHB8MCklNTEyfDApPDwzKXwwO1g9
ejtZPVM7Wj1UO189YX1lbHNle2E9NTEwLVV8MDtVPVMrKCgoYXwwKS8tNTEyfDApPDwyKXwwO3o9
Y1tVPj4yXXwwO1Y9MDtXPXorKDUxMS0oKGF8MCklNTEyfDApPDwzKXwwO1g9VTtZPVM7Wj1UO189
en1MMTA2NTp3aGlsZSgxKXt6PVY7JD1XO1Q9WTtTPVo7VT1fO3doaWxlKDEpe2lmKCgkfDApPT0o
Y1txPj4yXXwwKSl7dT0xO2FhPTkwNjticmVhayBMMTA2NX1OPStoWyQ+PjNdO0g9K2hbUz4+M107
aWYoTjxIKXthPVQ7cD1TO3g9JDtEPUg7d2hpbGUoMSl7aFt4Pj4zXT1EO2lmKChwfDApPT0oY1tz
Pj4yXXwwKSl7YnJlYWt9aWYoKHB8MCk9PShjW2E+PjJdfDApKXtuPWEtNHwwO2FiPW47YWM9KGNb
bj4+Ml18MCkrNDA5NnwwfWVsc2V7YWI9YTthYz1wfW49YWMtOHwwO0g9K2hbbj4+M107aWYoTjxI
KXthPWFiO3g9cDtwPW47RD1IfWVsc2V7YnJlYWt9fWhbcD4+M109Tjt4PXorMXwwO2lmKCh4fDAp
PT04KXticmVhayBMMTA2NX1hZD14O2FlPWNbWD4+Ml18MH1lbHNle2FkPXo7YWU9VX14PSQrOHww
O2lmKCh4LWFlfDApPT00MDk2KXticmVha31lbHNle3o9YWQ7Uz0kOyQ9eDtUPVg7VT1hZX19VT1Y
KzR8MDtUPWNbVT4+Ml18MDtWPWFkO1c9VDtZPVg7WD1VO1o9JDtfPVR9aWYoKGFhfDApPT05MDYp
e2k9ZDtyZXR1cm4gdXwwfWFhPSQrOHwwO2lmKChhYS0oY1tYPj4yXXwwKXwwKT09NDA5Nil7YWY9
Y1tYKzQ+PjJdfDB9ZWxzZXthZj1hYX11PShhZnwwKT09KGNbcT4+Ml18MCk7aT1kO3JldHVybiB1
fDB9fXJldHVybiAwfWZ1bmN0aW9uIGNPKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0w
LGY9MCxnPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAs
dT0wLHY9MCx3PTAseD0wLHk9MDtlPWErOHwwO2Y9Y1tlPj4yXXwwO2c9YSs0fDA7aT1jW2c+PjJd
fDA7aWYoKGZ8MCk9PShpfDApKXtqPTB9ZWxzZXtqPShmLWk8PDcpLTF8MH1rPWErMTZ8MDtsPWNb
az4+Ml18MDttPWErMjB8MDtuPWNbbT4+Ml18MDtvPWotbC1ufDA7aWYobz4+PjA8Yj4+PjApe2NR
KGEsYi1vfDApO3A9Y1ttPj4yXXwwO3E9Y1trPj4yXXwwO3I9Y1tnPj4yXXwwO3M9Y1tlPj4yXXww
fWVsc2V7cD1uO3E9bDtyPWk7cz1mfWY9cStwfDA7cD1yKyhmPj4+OTw8Mil8MDtpZigoc3wwKT09
KHJ8MCkpe3Q9MH1lbHNle3Q9KGNbcD4+Ml18MCkrKChmJjUxMSk8PDMpfDB9aWYoKGJ8MCk9PTAp
e3JldHVybn1lbHNle3U9dDt2PXA7dz1ifXdoaWxlKDEpe2lmKCh1fDApIT0wKXtoW3U+PjNdPSto
W2Q+PjNdfWI9dy0xfDA7cD11Kzh8MDtpZigocC0oY1t2Pj4yXXwwKXwwKT09NDA5Nil7dD12KzR8
MDt4PXQ7eT1jW3Q+PjJdfDB9ZWxzZXt4PXY7eT1wfWNbbT4+Ml09KGNbbT4+Ml18MCkrMTtpZigo
YnwwKT09MCl7YnJlYWt9ZWxzZXt1PXk7dj14O3c9Yn19cmV0dXJufWZ1bmN0aW9uIGNQKGEsYil7
YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTA7ZD1hKzR8MDtlPWNbZD4+Ml18MDtmPWF8MDtkb3tp
ZigoZXwwKT09KGNbZj4+Ml18MCkpe2c9YSs4fDA7aD1jW2c+PjJdfDA7aT1hKzEyfDA7aj1jW2k+
PjJdfDA7az1qO2lmKGg+Pj4wPGo+Pj4wKXtqPWg7bD0oKGstaj4+MikrMXwwKS8yfDA7bT1qLWV8
MDtqPWgrKGwtKG0+PjIpPDwyKXwwO2tfKGp8MCxlfDAsbXwwKTtjW2Q+PjJdPWo7Y1tnPj4yXT0o
Y1tnPj4yXXwwKSsobDw8Mik7bj1qO2JyZWFrfWo9ay1lPj4xO2s9KGp8MCk9PTA/MTpqO2o9a08o
azw8Mil8MDtsPWorKChrKzN8MCk+Pj4yPDwyKXwwO209aisoazw8Mil8MDtpZigoZXwwKT09KGh8
MCkpe289bDtwPWV9ZWxzZXtrPWU7cT1sO2Rve2lmKChxfDApPT0wKXtyPTB9ZWxzZXtjW3E+PjJd
PWNbaz4+Ml07cj1xfXE9cis0fDA7az1rKzR8MDt9d2hpbGUoKGt8MCkhPShofDApKTtvPXE7cD1j
W2Y+PjJdfDB9Y1tmPj4yXT1qO2NbZD4+Ml09bDtjW2c+PjJdPW87Y1tpPj4yXT1tO2lmKChwfDAp
PT0wKXtuPWw7YnJlYWt9a1MocCk7bj1jW2Q+PjJdfDB9ZWxzZXtuPWV9fXdoaWxlKDApO2U9bi00
fDA7aWYoKGV8MCk9PTApe3M9bjt0PXMtNHwwO2NbZD4+Ml09dDtyZXR1cm59Y1tlPj4yXT1jW2I+
PjJdO3M9Y1tkPj4yXXwwO3Q9cy00fDA7Y1tkPj4yXT10O3JldHVybn1mdW5jdGlvbiBjUShhLGIp
e2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAs
bz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxD
PTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9
MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAsYWI9MCxh
Yz0wLGFkPTAsYWU9MCxhZj0wLGFnPTAsYWg9MCxhaT0wLGFqPTAsYWs9MDtkPWk7aT1pKzMyfDA7
ZT1kfDA7Zj1kKzh8MDtnPWF8MDtoPWErOHwwO2o9Y1toPj4yXXwwO2s9YSs0fDA7bD1jW2s+PjJd
fDA7bT0oKGp8MCk9PShsfDApKStifDA7Yj0oKG0mNTExfDApIT0wKSsobT4+PjkpfDA7bT1hKzE2
fDA7bj1jW20+PjJdfDA7bz1uPj4+OTtwPWI+Pj4wPG8+Pj4wP2I6bztxPWItcHwwO2lmKChifDAp
PT0ocHwwKSl7Y1ttPj4yXT1uLShiPDw5KTtpZigoYnwwKT09MCl7aT1kO3JldHVybn1uPWErMTJ8
MDtyPWF8MDtzPWI7dD1qO3U9bDt3aGlsZSgxKXt2PWNbdT4+Ml18MDt3PXUrNHwwO2Nbaz4+Ml09
dztkb3tpZigodHwwKT09KGNbbj4+Ml18MCkpe3g9Y1tyPj4yXXwwO2lmKHc+Pj4wPng+Pj4wKXt5
PXc7ej0oKHkteD4+MikrMXwwKS8tMnwwO0E9eisxfDA7Qj10LXl8MDtrXyh1KyhBPDwyKXwwLHd8
MCxCfDApO3k9dSsoQSsoQj4+Mik8PDIpfDA7Y1toPj4yXT15O2Nbaz4+Ml09KGNbaz4+Ml18MCkr
KHo8PDIpO0M9eTticmVha315PXQteD4+MTt6PSh5fDApPT0wPzE6eTt5PWtPKHo8PDIpfDA7Qj15
Kyh6Pj4+Mjw8Mil8MDtBPXkrKHo8PDIpfDA7aWYoKHd8MCk9PSh0fDApKXtEPUI7RT14fWVsc2V7
eD13O3o9Qjtkb3tpZigoenwwKT09MCl7Rj0wfWVsc2V7Y1t6Pj4yXT1jW3g+PjJdO0Y9en16PUYr
NHwwO3g9eCs0fDA7fXdoaWxlKCh4fDApIT0odHwwKSk7RD16O0U9Y1tyPj4yXXwwfWNbcj4+Ml09
eTtjW2s+PjJdPUI7Y1toPj4yXT1EO2Nbbj4+Ml09QTtpZigoRXwwKT09MCl7Qz1EO2JyZWFrfWtT
KEUpO0M9Y1toPj4yXXwwfWVsc2V7Qz10fX13aGlsZSgwKTtpZigoQ3wwKT09MCl7Rz0wfWVsc2V7
Y1tDPj4yXT12O0c9Y1toPj4yXXwwfXc9Rys0fDA7Y1toPj4yXT13O3g9cy0xfDA7aWYoKHh8MCk9
PTApe2JyZWFrfXM9eDt0PXc7dT1jW2s+PjJdfDB9aT1kO3JldHVybn11PWErMTJ8MDt0PXV8MDtz
PWNbdD4+Ml18MDtHPWF8MDthPXMtKGNbRz4+Ml18MCl8MDtDPWotbD4+MjtpZihxPj4+MDw9KChh
Pj4yKS1DfDApPj4+MCl7bD1xO0U9ajtqPXM7d2hpbGUoMSl7aWYoKGp8MCk9PShFfDApKXtIPTk3
MTticmVha31zPWtPKDQwOTYpfDA7aWYoKEV8MCk9PTApe0k9MH1lbHNle2NbRT4+Ml09cztJPWNb
aD4+Ml18MH1zPUkrNHwwO2NbaD4+Ml09cztEPWwtMXwwO2lmKChEfDApPT0wKXtKPXM7SD05NzI7
YnJlYWt9bD1EO0U9cztqPWNbdD4+Ml18MH1kb3tpZigoSHwwKT09OTcxKXtpZigobHwwKT09MCl7
Sj1qO0g9OTcyO2JyZWFrfUU9fm87ST1+YjtzPUU+Pj4wPkk+Pj4wP0U6STtJPWw7ZG97Y1tlPj4y
XT1rTyg0MDk2KXwwO2NQKGcsZSk7ST1JLTF8MDtLPWNbaD4+Ml18MDtMPShjW20+PjJdfDApKzUx
Mi0oKEstKGNbaz4+Ml18MCl8MCk9PTQpfDA7Y1ttPj4yXT1MO313aGlsZSgoSXwwKSE9MCk7TT1s
LTEtc3wwO049SztPPUx9fXdoaWxlKDApO2lmKChIfDApPT05NzIpe009cDtOPUo7Tz1jW20+PjJd
fDB9Y1ttPj4yXT1PLShNPDw5KTtpZigoTXwwKT09MCl7aT1kO3JldHVybn1lbHNle1A9TTtRPU59
ZG97Tj1jW2s+PjJdfDA7TT1jW04+PjJdfDA7Tz1OKzR8MDtjW2s+PjJdPU87ZG97aWYoKFF8MCk9
PShjW3Q+PjJdfDApKXtKPWNbRz4+Ml18MDtpZihPPj4+MD5KPj4+MCl7SD1PO0w9KChILUo+PjIp
KzF8MCkvLTJ8MDtLPUwrMXwwO2w9US1IfDA7a18oTisoSzw8Mil8MCxPfDAsbHwwKTtIPU4rKEsr
KGw+PjIpPDwyKXwwO2NbaD4+Ml09SDtjW2s+PjJdPShjW2s+PjJdfDApKyhMPDwyKTtSPUg7YnJl
YWt9SD1RLUo+PjE7TD0oSHwwKT09MD8xOkg7SD1rTyhMPDwyKXwwO2w9SCsoTD4+PjI8PDIpfDA7
Sz1IKyhMPDwyKXwwO2lmKChPfDApPT0oUXwwKSl7Uz1sO1Q9Sn1lbHNle0o9TztMPWw7ZG97aWYo
KEx8MCk9PTApe1U9MH1lbHNle2NbTD4+Ml09Y1tKPj4yXTtVPUx9TD1VKzR8MDtKPUorNHwwO313
aGlsZSgoSnwwKSE9KFF8MCkpO1M9TDtUPWNbRz4+Ml18MH1jW0c+PjJdPUg7Y1trPj4yXT1sO2Nb
aD4+Ml09UztjW3Q+PjJdPUs7aWYoKFR8MCk9PTApe1I9UzticmVha31rUyhUKTtSPWNbaD4+Ml18
MH1lbHNle1I9UX19d2hpbGUoMCk7aWYoKFJ8MCk9PTApe1Y9MH1lbHNle2NbUj4+Ml09TTtWPWNb
aD4+Ml18MH1RPVYrNHwwO2NbaD4+Ml09UTtQPVAtMXwwO313aGlsZSgoUHwwKSE9MCk7aT1kO3Jl
dHVybn1QPXA8PDk7UT1hPj4xO2E9cStDfDA7Vj1RPj4+MDxhPj4+MD9hOlE7UT1mKzEyfDA7Y1tR
Pj4yXT0wO2NbZisxNj4+Ml09dTtpZigoVnwwKT09MCl7Vz0wfWVsc2V7Vz1rTyhWPDwyKXwwfXU9
ZnwwO2NbdT4+Ml09VzthPVcrKEMtcDw8Mil8MDtDPWYrOHwwO2NbQz4+Ml09YTtSPWYrNHwwO2Nb
Uj4+Ml09YTtUPVcrKFY8PDIpfDA7Y1tRPj4yXT1UO1Y9cTtxPVc7Vz1hO1M9VDtUPWE7d2hpbGUo
MSl7YT1rTyg0MDk2KXwwO2Rve2lmKChXfDApPT0oU3wwKSl7aWYoVD4+PjA+cT4+PjApe1U9VDtP
PSgoVS1xPj4yKSsxfDApLy0yfDA7Tj1TLVV8MDtrXyhUKyhPPDwyKXwwLFR8MCxOfDApO1U9VCso
TysoTj4+Mik8PDIpfDA7Y1tDPj4yXT1VO049KGNbUj4+Ml18MCkrKE88PDIpfDA7Y1tSPj4yXT1O
O1g9VTtZPVM7Wj1xO189TjticmVha31OPVMtcT4+MTtVPShOfDApPT0wPzE6TjtOPWtPKFU8PDIp
fDA7Tz1OKyhVPj4+Mjw8Mil8MDtzPU4rKFU8PDIpfDA7aWYoKFR8MCk9PShTfDApKXskPU87YWE9
cX1lbHNle1U9VDtKPU87ZG97aWYoKEp8MCk9PTApe2FiPTB9ZWxzZXtjW0o+PjJdPWNbVT4+Ml07
YWI9Sn1KPWFiKzR8MDtVPVUrNHwwO313aGlsZSgoVXwwKSE9KFN8MCkpOyQ9SjthYT1jW3U+PjJd
fDB9Y1t1Pj4yXT1OO2NbUj4+Ml09TztjW0M+PjJdPSQ7Y1tRPj4yXT1zO2lmKChhYXwwKT09MCl7
WD0kO1k9cztaPU47Xz1PO2JyZWFrfWtTKGFhKTtYPSQ7WT1zO1o9TjtfPU99ZWxzZXtYPVc7WT1T
O1o9cTtfPVR9fXdoaWxlKDApO2lmKChYfDApPT0wKXthYz0wfWVsc2V7Y1tYPj4yXT1hO2FjPWNb
Qz4+Ml18MH1hZD1hYys0fDA7Y1tDPj4yXT1hZDtNPVYtMXwwO2lmKChNfDApPT0wKXticmVha31l
bHNle1Y9TTtxPVo7Vz1hZDtTPVk7VD1ffX1pZigocHwwKSE9MCl7Xz1wO3A9Y1trPj4yXXwwO1Q9
YWQ7YWQ9WTtZPVo7d2hpbGUoMSl7ZG97aWYoKFR8MCk9PShhZHwwKSl7Wj1jW1I+PjJdfDA7aWYo
Wj4+PjA+WT4+PjApe1M9WjtXPSgoUy1ZPj4yKSsxfDApLy0yfDA7cT1aKyhXPDwyKXwwO1Y9YWQt
U3wwO2tfKHF8MCxafDAsVnwwKTtTPVorKFcrKFY+PjIpPDwyKXwwO2NbQz4+Ml09UztjW1I+PjJd
PXE7YWU9UzthZj1hZDthZz1ZO2JyZWFrfVM9YWQtWT4+MTtxPShTfDApPT0wPzE6UztTPWtPKHE8
PDIpfDA7Vj1TKyhxPj4+Mjw8Mil8MDtXPVMrKHE8PDIpfDA7aWYoKFp8MCk9PShhZHwwKSl7YWg9
VjthaT1ZfWVsc2V7cT1aO1o9Vjtkb3tpZigoWnwwKT09MCl7YWo9MH1lbHNle2NbWj4+Ml09Y1tx
Pj4yXTthaj1afVo9YWorNHwwO3E9cSs0fDA7fXdoaWxlKChxfDApIT0oYWR8MCkpO2FoPVo7YWk9
Y1t1Pj4yXXwwfWNbdT4+Ml09UztjW1I+PjJdPVY7Y1tDPj4yXT1haDtjW1E+PjJdPVc7aWYoKGFp
fDApPT0wKXthZT1haDthZj1XO2FnPVM7YnJlYWt9a1MoYWkpO2FlPWFoO2FmPVc7YWc9U31lbHNl
e2FlPVQ7YWY9YWQ7YWc9WX19d2hpbGUoMCk7aWYoKGFlfDApPT0wKXthaz0wfWVsc2V7Y1thZT4+
Ml09Y1twPj4yXTthaz1jW0M+PjJdfDB9YT1hays0fDA7Y1tDPj4yXT1hO3E9KGNbaz4+Ml18MCkr
NHwwO2Nbaz4+Ml09cTtPPV8tMXwwO2lmKChPfDApPT0wKXticmVha31lbHNle189TztwPXE7VD1h
O2FkPWFmO1k9YWd9fX1hZz1jW2g+PjJdfDA7d2hpbGUoMSl7aWYoKGFnfDApPT0oY1trPj4yXXww
KSl7YnJlYWt9WT1hZy00fDA7Y1MoZixZKTthZz1ZfWY9Y1tHPj4yXXwwO2NbRz4+Ml09Y1t1Pj4y
XTtjW3U+PjJdPWY7Y1trPj4yXT1jW1I+PjJdO2NbUj4+Ml09YWc7Uj1jW2g+PjJdfDA7Y1toPj4y
XT1jW0M+PjJdO2NbQz4+Ml09UjtoPWNbdD4+Ml18MDtjW3Q+PjJdPWNbUT4+Ml07Y1tRPj4yXT1o
O2NbbT4+Ml09KGNbbT4+Ml18MCktUDtpZigoYWd8MCkhPShSfDApKXtjW0M+PjJdPVIrKH4oKFIt
NCsoLWFnfDApfDApPj4+Mik8PDIpfWlmKChmfDApPT0wKXtpPWQ7cmV0dXJufWtTKGYpO2k9ZDty
ZXR1cm59ZnVuY3Rpb24gY1IoYSxiLGMsZCxlLGYpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9
ZXwwO2Y9ZnwwO3ZhciBnPTAuMCxpPTAuMCxqPTAuMCxrPTAsbD0wLjAsbT0wLjAsbj0wLjAsbz0w
LHA9MDtnPStoW2I+PjNdO2k9K2hbYT4+M107aj0raFtjPj4zXTtmPWo8Zztkb3tpZihnPGkpe2lm
KGYpe2hbYT4+M109ajtoW2M+PjNdPWk7az0xO2w9aTticmVha31oW2E+PjNdPWc7aFtiPj4zXT1p
O209K2hbYz4+M107aWYobT49aSl7az0xO2w9bTticmVha31oW2I+PjNdPW07aFtjPj4zXT1pO2s9
MjtsPWl9ZWxzZXtpZighZil7az0wO2w9ajticmVha31oW2I+PjNdPWo7aFtjPj4zXT1nO209K2hb
Yj4+M107bj0raFthPj4zXTtpZihtPj1uKXtrPTE7bD1nO2JyZWFrfWhbYT4+M109bTtoW2I+PjNd
PW47az0yO2w9K2hbYz4+M119fXdoaWxlKDApO2c9K2hbZD4+M107ZG97aWYoZzxsKXtoW2M+PjNd
PWc7aFtkPj4zXT1sO2o9K2hbYz4+M107aT0raFtiPj4zXTtpZihqPj1pKXtvPWsrMXwwO2JyZWFr
fWhbYj4+M109ajtoW2M+PjNdPWk7aT0raFtiPj4zXTtqPStoW2E+PjNdO2lmKGk8ail7aFthPj4z
XT1pO2hbYj4+M109ajtvPWsrM3wwO2JyZWFrfWVsc2V7bz1rKzJ8MDticmVha319ZWxzZXtvPWt9
fXdoaWxlKDApO2w9K2hbZT4+M107Zz0raFtkPj4zXTtpZihsPj1nKXtwPW87cmV0dXJuIHB8MH1o
W2Q+PjNdPWw7aFtlPj4zXT1nO2c9K2hbZD4+M107bD0raFtjPj4zXTtpZihnPj1sKXtwPW8rMXww
O3JldHVybiBwfDB9aFtjPj4zXT1nO2hbZD4+M109bDtsPStoW2M+PjNdO2c9K2hbYj4+M107aWYo
bD49Zyl7cD1vKzJ8MDtyZXR1cm4gcHwwfWhbYj4+M109bDtoW2M+PjNdPWc7Zz0raFtiPj4zXTts
PStoW2E+PjNdO2lmKGc+PWwpe3A9byszfDA7cmV0dXJuIHB8MH1oW2E+PjNdPWc7aFtiPj4zXT1s
O3A9bys0fDA7cmV0dXJuIHB8MH1mdW5jdGlvbiBjUyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAs
ZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxz
PTAsdD0wO2Q9YSs0fDA7ZT1jW2Q+PjJdfDA7Zj1hfDA7ZG97aWYoKGV8MCk9PShjW2Y+PjJdfDAp
KXtnPWErOHwwO2g9Y1tnPj4yXXwwO2k9YSsxMnwwO2o9Y1tpPj4yXXwwO2s9ajtpZihoPj4+MDxq
Pj4+MCl7aj1oO2w9KChrLWo+PjIpKzF8MCkvMnwwO209ai1lfDA7aj1oKyhsLShtPj4yKTw8Mil8
MDtrXyhqfDAsZXwwLG18MCk7Y1tkPj4yXT1qO2NbZz4+Ml09KGNbZz4+Ml18MCkrKGw8PDIpO249
ajticmVha31qPWstZT4+MTtrPShqfDApPT0wPzE6ajtqPWtPKGs8PDIpfDA7bD1qKygoayszfDAp
Pj4+Mjw8Mil8MDttPWorKGs8PDIpfDA7aWYoKGV8MCk9PShofDApKXtvPWw7cD1lfWVsc2V7az1l
O3E9bDtkb3tpZigocXwwKT09MCl7cj0wfWVsc2V7Y1txPj4yXT1jW2s+PjJdO3I9cX1xPXIrNHww
O2s9ays0fDA7fXdoaWxlKChrfDApIT0oaHwwKSk7bz1xO3A9Y1tmPj4yXXwwfWNbZj4+Ml09ajtj
W2Q+PjJdPWw7Y1tnPj4yXT1vO2NbaT4+Ml09bTtpZigocHwwKT09MCl7bj1sO2JyZWFrfWtTKHAp
O249Y1tkPj4yXXwwfWVsc2V7bj1lfX13aGlsZSgwKTtlPW4tNHwwO2lmKChlfDApPT0wKXtzPW47
dD1zLTR8MDtjW2Q+PjJdPXQ7cmV0dXJufWNbZT4+Ml09Y1tiPj4yXTtzPWNbZD4+Ml18MDt0PXMt
NHwwO2NbZD4+Ml09dDtyZXR1cm59ZnVuY3Rpb24gY1QoKXtjWzI0NDZdPTA7Y1syNDQ3XT0wO2Nb
MjQ0OF09MDthJCg3Miw5Nzg0LHV8MCl8MDtyZXR1cm59ZnVuY3Rpb24gY1UoYSxiLGMpe2E9YXww
O2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAs
bz0wLHA9MC4wLHE9MC4wLHI9MC4wLHM9MC4wLHQ9MC4wLHU9MCx2PTAsdz0wLHg9MC4wLHk9MCx6
PTAuMCxBPTAsQj0wLEM9MCxEPTAuMCxFPTAsRj0wLEc9MC4wLEg9MCxJPTAsSj0wLEs9MC4wLEw9
MCxNPTAsTj0wLjAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAuMCxVPTAsVj0wLFc9MC4wLFg9MCxZ
PTAuMDtkPWE7YT1iO0wxMzk3OndoaWxlKDEpe2I9YTtlPWEtOHwwO2Y9ZDtMMTM5OTp3aGlsZSgx
KXtnPWY7aT1iLWd8MDtqPWk+PjM7c3dpdGNoKGp8MCl7Y2FzZSAzOntrPTExMDI7YnJlYWsgTDEz
OTc7YnJlYWt9O2Nhc2UgNTp7az0xMTIyO2JyZWFrIEwxMzk3O2JyZWFrfTtjYXNlIDI6e2s9MTEw
MDticmVhayBMMTM5NzticmVha307Y2FzZSAwOmNhc2UgMTp7az0xMTg1O2JyZWFrIEwxMzk3O2Jy
ZWFrfTtjYXNlIDQ6e2s9MTExMDticmVhayBMMTM5NzticmVha307ZGVmYXVsdDp7fX1pZigoaXww
KTwyNDgpe2s9MTEyNDticmVhayBMMTM5N31sPShqfDApLzJ8MDttPWYrKGw8PDMpfDA7ZG97aWYo
KGl8MCk+Nzk5Mil7bj0oanwwKS80fDA7bz1jUihmLGYrKG48PDMpfDAsbSxmKyhuK2w8PDMpfDAs
ZSwwKXwwfWVsc2V7cD0raFttPj4zXTtxPStoW2Y+PjNdO3I9K2hbZT4+M107bj1yPHA7aWYocD49
cSl7aWYoIW4pe289MDticmVha31oW20+PjNdPXI7aFtlPj4zXT1wO3M9K2hbbT4+M107dD0raFtm
Pj4zXTtpZihzPj10KXtvPTE7YnJlYWt9aFtmPj4zXT1zO2hbbT4+M109dDtvPTI7YnJlYWt9aWYo
bil7aFtmPj4zXT1yO2hbZT4+M109cTtvPTE7YnJlYWt9aFtmPj4zXT1wO2hbbT4+M109cTtwPSto
W2U+PjNdO2lmKHA+PXEpe289MTticmVha31oW20+PjNdPXA7aFtlPj4zXT1xO289Mn19d2hpbGUo
MCk7cT0raFtmPj4zXTtwPStoW20+PjNdO2Rve2lmKHE8cCl7dT1lO3Y9b31lbHNle2w9ZTt3aGls
ZSgxKXt3PWwtOHwwO2lmKChmfDApPT0od3wwKSl7YnJlYWt9eD0raFt3Pj4zXTtpZih4PHApe2s9
MTE2MjticmVha31lbHNle2w9d319aWYoKGt8MCk9PTExNjIpe2s9MDtoW2Y+PjNdPXg7aFt3Pj4z
XT1xO3U9dzt2PW8rMXwwO2JyZWFrfWw9Zis4fDA7cj0raFtlPj4zXTtpZihxPHIpe3k9bH1lbHNl
e2o9bDt3aGlsZSgxKXtpZigoanwwKT09KGV8MCkpe2s9MTE5NzticmVhayBMMTM5N316PStoW2o+
PjNdO0E9ais4fDA7aWYocTx6KXticmVha31lbHNle2o9QX19aFtqPj4zXT1yO2hbZT4+M109ejt5
PUF9aWYoKHl8MCk9PShlfDApKXtrPTExOTI7YnJlYWsgTDEzOTd9ZWxzZXtCPWU7Qz15fXdoaWxl
KDEpe3Q9K2hbZj4+M107bD1DO3doaWxlKDEpe0Q9K2hbbD4+M107RT1sKzh8MDtpZih0Pj1EKXts
PUV9ZWxzZXtGPUI7YnJlYWt9fWRve0Y9Ri04fDA7Rz0raFtGPj4zXTt9d2hpbGUodDxHKTtpZihs
Pj4+MD49Rj4+PjApe2Y9bDtjb250aW51ZSBMMTM5OX1oW2w+PjNdPUc7aFtGPj4zXT1EO0I9RjtD
PUV9fX13aGlsZSgwKTtqPWYrOHwwO0wxNDM4OmRve2lmKGo+Pj4wPHU+Pj4wKXtpPXU7bj1qO0g9
djtJPW07d2hpbGUoMSl7cT0raFtJPj4zXTtKPW47d2hpbGUoMSl7Sz0raFtKPj4zXTtMPUorOHww
O2lmKEs8cSl7Sj1MfWVsc2V7TT1pO2JyZWFrfX1kb3tNPU0tOHwwO049K2hbTT4+M107fXdoaWxl
KE4+PXEpO2lmKEo+Pj4wPk0+Pj4wKXtPPUo7UD1IO1E9STticmVhayBMMTQzOH1oW0o+PjNdPU47
aFtNPj4zXT1LO2k9TTtuPUw7SD1IKzF8MDtJPShJfDApPT0oSnwwKT9NOkl9fWVsc2V7Tz1qO1A9
djtRPW19fXdoaWxlKDApO2Rve2lmKChPfDApPT0oUXwwKSl7Uj1QfWVsc2V7cT0raFtRPj4zXTtw
PStoW08+PjNdO2lmKHE+PXApe1I9UDticmVha31oW08+PjNdPXE7aFtRPj4zXT1wO1I9UCsxfDB9
fXdoaWxlKDApO2lmKChSfDApPT0wKXtTPWNWKGYsTywwKXwwO209Tys4fDA7aWYoY1YobSxhLDAp
fDApe2s9MTE3NDticmVha31pZihTKXtmPW07Y29udGludWV9fW09TztpZigobS1nfDApPj0oYi1t
fDApKXtrPTExNzg7YnJlYWt9Y1UoZixPLGMpO2Y9Tys4fDB9aWYoKGt8MCk9PTExNzQpe2s9MDtp
ZihTKXtrPTExODY7YnJlYWt9ZWxzZXtkPWY7YT1PO2NvbnRpbnVlfX1lbHNlIGlmKChrfDApPT0x
MTc4KXtrPTA7Y1UoTys4fDAsYSxjKTtkPWY7YT1PO2NvbnRpbnVlfX1pZigoa3wwKT09MTEwMil7
Tz1mKzh8MDtLPStoW08+PjNdO049K2hbZj4+M107RD0raFtlPj4zXTtkPUQ8SztpZihLPj1OKXtp
ZighZCl7cmV0dXJufWhbTz4+M109RDtoW2U+PjNdPUs7Rz0raFtPPj4zXTt6PStoW2Y+PjNdO2lm
KEc+PXope3JldHVybn1oW2Y+PjNdPUc7aFtPPj4zXT16O3JldHVybn1pZihkKXtoW2Y+PjNdPUQ7
aFtlPj4zXT1OO3JldHVybn1oW2Y+PjNdPUs7aFtPPj4zXT1OO0s9K2hbZT4+M107aWYoSz49Til7
cmV0dXJufWhbTz4+M109SztoW2U+PjNdPU47cmV0dXJufWVsc2UgaWYoKGt8MCk9PTExMjIpe2NS
KGYsZis4fDAsZisxNnwwLGYrMjR8MCxlLDApfDA7cmV0dXJufWVsc2UgaWYoKGt8MCk9PTExMjQp
e089ZisxNnwwO2Q9Zis4fDA7Tj0raFtkPj4zXTtLPStoW2Y+PjNdO0Q9K2hbTz4+M107Yz1EPE47
ZG97aWYoTjxLKXtpZihjKXtoW2Y+PjNdPUQ7aFtPPj4zXT1LO1Q9SzticmVha31oW2Y+PjNdPU47
aFtkPj4zXT1LO2lmKEQ+PUspe1Q9RDticmVha31oW2Q+PjNdPUQ7aFtPPj4zXT1LO1Q9S31lbHNl
e2lmKCFjKXtUPUQ7YnJlYWt9aFtkPj4zXT1EO2hbTz4+M109TjtpZihEPj1LKXtUPU47YnJlYWt9
aFtmPj4zXT1EO2hbZD4+M109SztUPU59fXdoaWxlKDApO2Q9ZisyNHwwO2lmKChkfDApPT0oYXww
KSl7cmV0dXJufWVsc2V7VT1PO1Y9ZDtXPVR9d2hpbGUoMSl7VD0raFtWPj4zXTtpZihUPFcpe2Q9
VTtPPVY7Tj1XO3doaWxlKDEpe2hbTz4+M109TjtpZigoZHwwKT09KGZ8MCkpe1g9ZjticmVha31j
PWQtOHwwO0s9K2hbYz4+M107aWYoVDxLKXtPPWQ7ZD1jO049S31lbHNle1g9ZDticmVha319aFtY
Pj4zXT1UfWQ9Vis4fDA7aWYoKGR8MCk9PShhfDApKXticmVha31OPStoW1Y+PjNdO1U9VjtWPWQ7
Vz1OfXJldHVybn1lbHNlIGlmKChrfDApPT0xMTk3KXtyZXR1cm59ZWxzZSBpZigoa3wwKT09MTEw
MCl7Vz0raFtlPj4zXTtOPStoW2Y+PjNdO2lmKFc+PU4pe3JldHVybn1oW2Y+PjNdPVc7aFtlPj4z
XT1OO3JldHVybn1lbHNlIGlmKChrfDApPT0xMTg1KXtyZXR1cm59ZWxzZSBpZigoa3wwKT09MTE4
Nil7cmV0dXJufWVsc2UgaWYoKGt8MCk9PTExOTIpe3JldHVybn1lbHNlIGlmKChrfDApPT0xMTEw
KXtrPWYrOHwwO1Y9ZisxNnwwO049K2hbaz4+M107Vz0raFtmPj4zXTtLPStoW1Y+PjNdO1U9SzxO
O2Rve2lmKE48Vyl7aWYoVSl7aFtmPj4zXT1LO2hbVj4+M109VztZPVc7YnJlYWt9aFtmPj4zXT1O
O2hbaz4+M109VztpZihLPj1XKXtZPUs7YnJlYWt9aFtrPj4zXT1LO2hbVj4+M109VztZPVd9ZWxz
ZXtpZighVSl7WT1LO2JyZWFrfWhbaz4+M109SztoW1Y+PjNdPU47aWYoSz49Vyl7WT1OO2JyZWFr
fWhbZj4+M109SztoW2s+PjNdPVc7WT1OfX13aGlsZSgwKTtOPStoW2U+PjNdO2lmKE4+PVkpe3Jl
dHVybn1oW1Y+PjNdPU47aFtlPj4zXT1ZO1k9K2hbVj4+M107Tj0raFtrPj4zXTtpZihZPj1OKXty
ZXR1cm59aFtrPj4zXT1ZO2hbVj4+M109TjtOPStoW2Y+PjNdO2lmKFk+PU4pe3JldHVybn1oW2Y+
PjNdPVk7aFtrPj4zXT1OO3JldHVybn19ZnVuY3Rpb24gY1YoYSxiLGMpe2E9YXwwO2I9YnwwO2M9
Y3wwO3ZhciBkPTAsZT0wLGY9MC4wLGc9MC4wLGk9MC4wLGo9MCxrPTAuMCxsPTAuMCxtPTAsbj0w
LjAsbz0wLjAscD0wLHE9MCxyPTAscz0wLjAsdD0wLHU9MCx2PTA7c3dpdGNoKGItYT4+M3wwKXtj
YXNlIDA6Y2FzZSAxOntkPTE7cmV0dXJuIGR8MH07Y2FzZSAzOntjPWErOHwwO2U9Yi04fDA7Zj0r
aFtjPj4zXTtnPStoW2E+PjNdO2k9K2hbZT4+M107aj1pPGY7aWYoZj49Zyl7aWYoIWope2Q9MTty
ZXR1cm4gZHwwfWhbYz4+M109aTtoW2U+PjNdPWY7az0raFtjPj4zXTtsPStoW2E+PjNdO2lmKGs+
PWwpe2Q9MTtyZXR1cm4gZHwwfWhbYT4+M109aztoW2M+PjNdPWw7ZD0xO3JldHVybiBkfDB9aWYo
ail7aFthPj4zXT1pO2hbZT4+M109ZztkPTE7cmV0dXJuIGR8MH1oW2E+PjNdPWY7aFtjPj4zXT1n
O2Y9K2hbZT4+M107aWYoZj49Zyl7ZD0xO3JldHVybiBkfDB9aFtjPj4zXT1mO2hbZT4+M109Zztk
PTE7cmV0dXJuIGR8MH07Y2FzZSAyOntlPWItOHwwO2c9K2hbZT4+M107Zj0raFthPj4zXTtpZihn
Pj1mKXtkPTE7cmV0dXJuIGR8MH1oW2E+PjNdPWc7aFtlPj4zXT1mO2Q9MTtyZXR1cm4gZHwwfTtj
YXNlIDQ6e2U9YSs4fDA7Yz1hKzE2fDA7aj1iLTh8MDtmPStoW2U+PjNdO2c9K2hbYT4+M107aT0r
aFtjPj4zXTttPWk8Zjtkb3tpZihmPGcpe2lmKG0pe2hbYT4+M109aTtoW2M+PjNdPWc7bj1nO2Jy
ZWFrfWhbYT4+M109ZjtoW2U+PjNdPWc7aWYoaT49Zyl7bj1pO2JyZWFrfWhbZT4+M109aTtoW2M+
PjNdPWc7bj1nfWVsc2V7aWYoIW0pe249aTticmVha31oW2U+PjNdPWk7aFtjPj4zXT1mO2lmKGk+
PWcpe249ZjticmVha31oW2E+PjNdPWk7aFtlPj4zXT1nO249Zn19d2hpbGUoMCk7Zj0raFtqPj4z
XTtpZihmPj1uKXtkPTE7cmV0dXJuIGR8MH1oW2M+PjNdPWY7aFtqPj4zXT1uO249K2hbYz4+M107
Zj0raFtlPj4zXTtpZihuPj1mKXtkPTE7cmV0dXJuIGR8MH1oW2U+PjNdPW47aFtjPj4zXT1mO2Y9
K2hbYT4+M107aWYobj49Zil7ZD0xO3JldHVybiBkfDB9aFthPj4zXT1uO2hbZT4+M109ZjtkPTE7
cmV0dXJuIGR8MH07Y2FzZSA1OntjUihhLGErOHwwLGErMTZ8MCxhKzI0fDAsYi04fDAsMCl8MDtk
PTE7cmV0dXJuIGR8MH07ZGVmYXVsdDp7ZT1hKzE2fDA7Yz1hKzh8MDtmPStoW2M+PjNdO249K2hb
YT4+M107Zz0raFtlPj4zXTtqPWc8Zjtkb3tpZihmPG4pe2lmKGope2hbYT4+M109ZztoW2U+PjNd
PW47bz1uO2JyZWFrfWhbYT4+M109ZjtoW2M+PjNdPW47aWYoZz49bil7bz1nO2JyZWFrfWhbYz4+
M109ZztoW2U+PjNdPW47bz1ufWVsc2V7aWYoIWope289ZzticmVha31oW2M+PjNdPWc7aFtlPj4z
XT1mO2lmKGc+PW4pe289ZjticmVha31oW2E+PjNdPWc7aFtjPj4zXT1uO289Zn19d2hpbGUoMCk7
Yz1hKzI0fDA7aWYoKGN8MCk9PShifDApKXtkPTE7cmV0dXJuIGR8MH1lbHNle3A9ZTtxPTA7cj1j
O3M9b313aGlsZSgxKXtvPStoW3I+PjNdO2lmKG88cyl7Yz1wO2U9cjtmPXM7d2hpbGUoMSl7aFtl
Pj4zXT1mO2lmKChjfDApPT0oYXwwKSl7dD1hO2JyZWFrfWo9Yy04fDA7bj0raFtqPj4zXTtpZihv
PG4pe2U9YztjPWo7Zj1ufWVsc2V7dD1jO2JyZWFrfX1oW3Q+PjNdPW87Yz1xKzF8MDtpZigoY3ww
KT09OCl7YnJlYWt9ZWxzZXt1PWN9fWVsc2V7dT1xfWM9cis4fDA7aWYoKGN8MCk9PShifDApKXtk
PTE7dj0xMjU2O2JyZWFrfWY9K2hbcj4+M107cD1yO3E9dTtyPWM7cz1mfWlmKCh2fDApPT0xMjU2
KXtyZXR1cm4gZHwwfWQ9KHIrOHwwKT09KGJ8MCk7cmV0dXJuIGR8MH19cmV0dXJuIDB9ZnVuY3Rp
b24gY1coYSl7YT1hfDA7dmFyIGI9MDthPShjWzQwMzhdfDApLTF8MDtjWzQwMzhdPWE7aWYoKGF8
MCkhPTApe3JldHVybn1iO3JldHVybn1mdW5jdGlvbiBjWChiKXtiPWJ8MDt2YXIgZD0wLGU9MCxm
PTA7ZG97aWYoKGFbMTYyODBdfDApPT0wKXtpZigoYmMoMTYyODApfDApPT0wKXticmVha31jWzI5
NjJdPTU0ODk7Yj0xO2Q9NTQ4OTtkb3tkPShhZyhkPj4+MzBeZCwxODEyNDMzMjUzKXwwKStifDA7
Y1sxMTg0OCsoYjw8Mik+PjJdPWQ7Yj1iKzF8MDt9d2hpbGUoYj4+PjA8NjI0KTtjWzM1ODZdPTB9
fXdoaWxlKDApO2I9Y1szNTg2XXwwO2Q9KChiKzF8MCk+Pj4wKSU2MjR8MDtlPTExODQ4KyhiPDwy
KXwwO2Y9Y1sxMTg0OCsoZDw8Mik+PjJdfDA7Y1tlPj4yXT0tKGYmMSkmLTE3Mjc0ODM2ODFeY1sx
MTg0OCsoKCgoYiszOTd8MCk+Pj4wKSU2MjR8MCk8PDIpPj4yXV4oZiYyMTQ3NDgzNjQ2fGNbZT4+
Ml0mLTIxNDc0ODM2NDgpPj4+MTtlPWNbMTE4NDgrKGNbMzU4Nl08PDIpPj4yXXwwO2Y9ZT4+PjEx
XmU7Y1szNTg2XT1kO2Q9Zjw8NyYtMTY1ODAzODY1Nl5mO2Y9ZDw8MTUmLTI3MjIzNjU0NF5kO3Jl
dHVybiBmPj4+MTheZnwwfWZ1bmN0aW9uIGNZKGEpe2E9YXwwO3ZhciBiPTA7YjtjWzQwMzhdPTE7
cmV0dXJufWZ1bmN0aW9uIGNaKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGo9MCxr
PTAsbD0wO2I9aTtpPWkrMzJ8MDtkPWJ8MDtlPWIrOHwwO2Y9YisxNnwwO2c9YisyNHwwO2RxKDE1
MTM2LGNbbz4+Ml18MCwxNTE5Mik7Y1s0MDE0XT00NTAwO2NbNDAxNl09NDUyMDtjWzQwMTVdPTA7
aD1jWzExMjJdfDA7ZWsoMTYwNTYraHwwLDE1MTM2KTtjW2grMTYxMjg+PjJdPTA7Y1toKzE2MTMy
Pj4yXT0tMTtoPWNbdD4+Ml18MDtlcCgxNTA0MCk7Y1szNzYwXT00NjQ4O2NbMzc2OF09aDtpTihn
LDE1MDQ0KTtoPWlYKGcsMTUzOTIpfDA7aj1oO2lPKGcpO2NbMzc2OV09ajtjWzM3NzBdPTE1MjAw
O2FbMTUwODRdPShiMFtjWyhjW2g+PjJdfDApKzI4Pj4yXSYxMjddKGopfDApJjE7Y1szOTQ4XT00
NDA0O2NbMzk0OV09NDQyNDtqPWNbMTA5OF18MDtlaygxNTc5MitqfDAsMTUwNDApO2g9ais3Mnww
O2NbMTU3OTIraD4+Ml09MDtnPWorNzZ8MDtjWzE1NzkyK2c+PjJdPS0xO2s9Y1tyPj4yXXwwO2Vw
KDE1MDg4KTtjWzM3NzJdPTQ2NDg7Y1szNzgwXT1rO2lOKGYsMTUwOTIpO2s9aVgoZiwxNTM5Mil8
MDtsPWs7aU8oZik7Y1szNzgxXT1sO2NbMzc4Ml09MTUyMDg7YVsxNTEzMl09KGIwW2NbKGNbaz4+
Ml18MCkrMjg+PjJdJjEyN10obCl8MCkmMTtjWzM5OTJdPTQ0MDQ7Y1szOTkzXT00NDI0O2VrKDE1
OTY4K2p8MCwxNTA4OCk7Y1sxNTk2OCtoPj4yXT0wO2NbMTU5NjgrZz4+Ml09LTE7bD1jWyhjWyhj
WzM5OTJdfDApLTEyPj4yXXwwKSsxNTk5Mj4+Ml18MDtjWzM5NzBdPTQ0MDQ7Y1szOTcxXT00NDI0
O2VrKDE1ODgwK2p8MCxsKTtjWzE1ODgwK2g+PjJdPTA7Y1sxNTg4MCtnPj4yXT0tMTtjWyhjWyhj
WzQwMTRdfDApLTEyPj4yXXwwKSsxNjEyOD4+Ml09MTU3OTI7Zz0oY1soY1szOTkyXXwwKS0xMj4+
Ml18MCkrMTU5NzJ8MDtjW2c+PjJdPWNbZz4+Ml18ODE5MjtjWyhjWyhjWzM5OTJdfDApLTEyPj4y
XXwwKSsxNjA0MD4+Ml09MTU3OTI7YzMoMTQ5ODQsY1tvPj4yXXwwLDE1MjE2KTtjWzM5MjZdPTQ0
NTI7Y1szOTI4XT00NDcyO2NbMzkyN109MDtnPWNbMTExMF18MDtlaygxNTcwNCtnfDAsMTQ5ODQp
O2NbZysxNTc3Nj4+Ml09MDtjW2crMTU3ODA+PjJdPS0xO2c9Y1t0Pj4yXXwwO2V3KDE0ODg4KTtj
WzM3MjJdPTQ1NzY7Y1szNzMwXT1nO2lOKGUsMTQ4OTIpO2c9aVgoZSwxNTM4NCl8MDtoPWc7aU8o
ZSk7Y1szNzMxXT1oO2NbMzczMl09MTUyMjQ7YVsxNDkzMl09KGIwW2NbKGNbZz4+Ml18MCkrMjg+
PjJdJjEyN10oaCl8MCkmMTtjWzM4NTZdPTQzNTY7Y1szODU3XT00Mzc2O2g9Y1sxMDg2XXwwO2Vr
KDE1NDI0K2h8MCwxNDg4OCk7Zz1oKzcyfDA7Y1sxNTQyNCtnPj4yXT0wO2U9aCs3NnwwO2NbMTU0
MjQrZT4+Ml09LTE7bD1jW3I+PjJdfDA7ZXcoMTQ5MzYpO2NbMzczNF09NDU3NjtjWzM3NDJdPWw7
aU4oZCwxNDk0MCk7bD1pWChkLDE1Mzg0KXwwO2o9bDtpTyhkKTtjWzM3NDNdPWo7Y1szNzQ0XT0x
NTIzMjthWzE0OTgwXT0oYjBbY1soY1tsPj4yXXwwKSsyOD4+Ml0mMTI3XShqKXwwKSYxO2NbMzkw
MF09NDM1NjtjWzM5MDFdPTQzNzY7ZWsoMTU2MDAraHwwLDE0OTM2KTtjWzE1NjAwK2c+PjJdPTA7
Y1sxNTYwMCtlPj4yXT0tMTtqPWNbKGNbKGNbMzkwMF18MCktMTI+PjJdfDApKzE1NjI0Pj4yXXww
O2NbMzg3OF09NDM1NjtjWzM4NzldPTQzNzY7ZWsoMTU1MTIraHwwLGopO2NbMTU1MTIrZz4+Ml09
MDtjWzE1NTEyK2U+PjJdPS0xO2NbKGNbKGNbMzkyNl18MCktMTI+PjJdfDApKzE1Nzc2Pj4yXT0x
NTQyNDtlPShjWyhjWzM5MDBdfDApLTEyPj4yXXwwKSsxNTYwNHwwO2NbZT4+Ml09Y1tlPj4yXXw4
MTkyO2NbKGNbKGNbMzkwMF18MCktMTI+PjJdfDApKzE1NjcyPj4yXT0xNTQyNDtpPWI7cmV0dXJu
fWZ1bmN0aW9uIGNfKGEpe2E9YXwwO2V2KGF8MCk7cmV0dXJufWZ1bmN0aW9uIGMkKGEpe2E9YXww
O2V2KGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGMwKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9
MDtiMFtjWyhjW2I+PjJdfDApKzI0Pj4yXSYxMjddKGIpfDA7ZT1pWChkLDE1Mzg0KXwwO2Q9ZTtj
W2IrMzY+PjJdPWQ7YVtiKzQ0fDBdPShiMFtjWyhjW2U+PjJdfDApKzI4Pj4yXSYxMjddKGQpfDAp
JjE7cmV0dXJufWZ1bmN0aW9uIGMxKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAsZz0wLGg9
MCxqPTAsaz0wLGw9MCxtPTAsbj0wO2I9aTtpPWkrMTZ8MDtkPWJ8MDtlPWIrOHwwO2Y9YSszNnww
O2c9YSs0MHwwO2g9ZHwwO2o9ZCs4fDA7az1kO2Q9YSszMnwwO0wxNjQyOndoaWxlKDEpe2E9Y1tm
Pj4yXXwwO2w9YiRbY1soY1thPj4yXXwwKSsyMD4+Ml0mMzFdKGEsY1tnPj4yXXwwLGgsaixlKXww
O2E9KGNbZT4+Ml18MCkta3wwO2lmKChhTShofDAsMSxhfDAsY1tkPj4yXXwwKXwwKSE9KGF8MCkp
e209LTE7bj0xMzA0O2JyZWFrfXN3aXRjaChsfDApe2Nhc2UgMjp7bT0tMTtuPTEzMDU7YnJlYWsg
TDE2NDI7YnJlYWt9O2Nhc2UgMTp7YnJlYWt9O2RlZmF1bHQ6e249MTMwMTticmVhayBMMTY0Mn19
fWlmKChufDApPT0xMzA0KXtpPWI7cmV0dXJuIG18MH1lbHNlIGlmKChufDApPT0xMzA1KXtpPWI7
cmV0dXJuIG18MH1lbHNlIGlmKChufDApPT0xMzAxKXttPSgoYUsoY1tkPj4yXXwwKXwwKSE9MCk8
PDMxPj4zMTtpPWI7cmV0dXJuIG18MH1yZXR1cm4gMH1mdW5jdGlvbiBjMihiLGQpe2I9YnwwO2Q9
ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxy
PTAscz0wLHQ9MCx1PTAsdj0wLHc9MDtlPWk7aT1pKzMyfDA7Zj1lfDA7Zz1lKzh8MDtoPWUrMTZ8
MDtqPWUrMjR8MDtrPShkfDApPT0tMTtMMTY1MTpkb3tpZighayl7Y1tnPj4yXT1kO2lmKChhW2Ir
NDR8MF0mMSkhPTApe2lmKChhTShnfDAsNCwxLGNbYiszMj4+Ml18MCl8MCk9PTEpe2JyZWFrfWVs
c2V7bD0tMX1pPWU7cmV0dXJuIGx8MH1tPWZ8MDtjW2g+PjJdPW07bj1nKzR8MDtvPWIrMzZ8MDtw
PWIrNDB8MDtxPWYrOHwwO3I9ZjtzPWIrMzJ8MDt0PWc7d2hpbGUoMSl7dT1jW28+PjJdfDA7dj1i
NltjWyhjW3U+PjJdfDApKzEyPj4yXSYzMV0odSxjW3A+PjJdfDAsdCxuLGosbSxxLGgpfDA7aWYo
KGNbaj4+Ml18MCk9PSh0fDApKXtsPS0xO3c9MTMyMDticmVha31pZigodnwwKT09Myl7dz0xMzEy
O2JyZWFrfXU9KHZ8MCk9PTE7aWYodj4+PjA+PTIpe2w9LTE7dz0xMzIyO2JyZWFrfXY9KGNbaD4+
Ml18MCktcnwwO2lmKChhTShtfDAsMSx2fDAsY1tzPj4yXXwwKXwwKSE9KHZ8MCkpe2w9LTE7dz0x
MzIxO2JyZWFrfWlmKHUpe3Q9dT9jW2o+PjJdfDA6dH1lbHNle2JyZWFrIEwxNjUxfX1pZigod3ww
KT09MTMyMSl7aT1lO3JldHVybiBsfDB9ZWxzZSBpZigod3wwKT09MTMyMil7aT1lO3JldHVybiBs
fDB9ZWxzZSBpZigod3wwKT09MTMxMil7aWYoKGFNKHR8MCwxLDEsY1tzPj4yXXwwKXwwKT09MSl7
YnJlYWt9ZWxzZXtsPS0xfWk9ZTtyZXR1cm4gbHwwfWVsc2UgaWYoKHd8MCk9PTEzMjApe2k9ZTty
ZXR1cm4gbHwwfX19d2hpbGUoMCk7bD1rPzA6ZDtpPWU7cmV0dXJuIGx8MH1mdW5jdGlvbiBjMyhi
LGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGo9MDtmPWk7aT1pKzh8MDtn
PWZ8MDtldyhifDApO2NbYj4+Ml09NDk3NjtjW2IrMzI+PjJdPWQ7Y1tiKzQwPj4yXT1lO2NbYis0
OD4+Ml09LTE7YVtiKzUyfDBdPTA7aU4oZyxiKzR8MCk7ZT1pWChnLDE1Mzg0KXwwO2Q9ZTtoPWIr
MzZ8MDtjW2g+PjJdPWQ7aj1iKzQ0fDA7Y1tqPj4yXT1iMFtjWyhjW2U+PjJdfDApKzI0Pj4yXSYx
MjddKGQpfDA7ZD1jW2g+PjJdfDA7YVtiKzUzfDBdPShiMFtjWyhjW2Q+PjJdfDApKzI4Pj4yXSYx
MjddKGQpfDApJjE7aWYoKGNbaj4+Ml18MCk8PTgpe2lPKGcpO2k9ZjtyZXR1cm59aFYoMTg0KTtp
TyhnKTtpPWY7cmV0dXJufWZ1bmN0aW9uIGM0KGEpe2E9YXwwO2V2KGF8MCk7cmV0dXJufWZ1bmN0
aW9uIGM1KGEpe2E9YXwwO2V2KGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGM2KGIsZCl7Yj1i
fDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2U9aVgoZCwxNTM4NCl8MDtkPWU7Zj1iKzM2fDA7Y1tm
Pj4yXT1kO2c9Yis0NHwwO2NbZz4+Ml09YjBbY1soY1tlPj4yXXwwKSsyND4+Ml0mMTI3XShkKXww
O2Q9Y1tmPj4yXXwwO2FbYis1M3wwXT0oYjBbY1soY1tkPj4yXXwwKSsyOD4+Ml0mMTI3XShkKXww
KSYxO2lmKChjW2c+PjJdfDApPD04KXtyZXR1cm59aFYoMTg0KTtyZXR1cm59ZnVuY3Rpb24gYzco
YSl7YT1hfDA7cmV0dXJuIGRhKGEsMCl8MH1mdW5jdGlvbiBjOChhKXthPWF8MDtyZXR1cm4gZGEo
YSwxKXwwfWZ1bmN0aW9uIGM5KGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxq
PTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MDtlPWk7aT1pKzMyfDA7Zj1lfDA7Zz1l
Kzh8MDtoPWUrMTZ8MDtqPWUrMjR8MDtrPWIrNTJ8MDtsPShhW2tdJjEpIT0wO2lmKChkfDApPT0t
MSl7aWYobCl7bT0tMTtpPWU7cmV0dXJuIG18MH1uPWNbYis0OD4+Ml18MDthW2tdPShufDApIT0t
MXwwO209bjtpPWU7cmV0dXJuIG18MH1uPWIrNDh8MDtMMTY5NDpkb3tpZihsKXtjW2g+PjJdPWNb
bj4+Ml07bz1jW2IrMzY+PjJdfDA7cD1mfDA7c3dpdGNoKGI2W2NbKGNbbz4+Ml18MCkrMTI+PjJd
JjMxXShvLGNbYis0MD4+Ml18MCxoLGgrNHwwLGoscCxmKzh8MCxnKXwwKXtjYXNlIDI6Y2FzZSAx
OnttPS0xO2k9ZTtyZXR1cm4gbXwwfTtjYXNlIDM6e2FbcF09Y1tuPj4yXSYyNTU7Y1tnPj4yXT1m
KzE7YnJlYWt9O2RlZmF1bHQ6e319bz1iKzMyfDA7d2hpbGUoMSl7cT1jW2c+PjJdfDA7aWYocT4+
PjA8PXA+Pj4wKXticmVhayBMMTY5NH1yPXEtMXwwO2NbZz4+Ml09cjtpZigoYkEoYVtyXXwwLGNb
bz4+Ml18MCl8MCk9PS0xKXttPS0xO2JyZWFrfX1pPWU7cmV0dXJuIG18MH19d2hpbGUoMCk7Y1tu
Pj4yXT1kO2Fba109MTttPWQ7aT1lO3JldHVybiBtfDB9ZnVuY3Rpb24gZGEoYixkKXtiPWJ8MDtk
PWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAs
cj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MDtlPWk7aT1pKzMyfDA7Zj1lfDA7Zz1lKzh8
MDtoPWUrMTZ8MDtqPWUrMjR8MDtrPWIrNTJ8MDtpZigoYVtrXSYxKSE9MCl7bD1iKzQ4fDA7bT1j
W2w+PjJdfDA7aWYoIWQpe249bTtpPWU7cmV0dXJuIG58MH1jW2w+PjJdPS0xO2Fba109MDtuPW07
aT1lO3JldHVybiBufDB9bT1jW2IrNDQ+PjJdfDA7az0obXwwKT4xP206MTtMMTcxNDpkb3tpZigo
a3wwKT4wKXttPWIrMzJ8MDtsPTA7d2hpbGUoMSl7bz1hXyhjW20+PjJdfDApfDA7aWYoKG98MCk9
PS0xKXtuPS0xO2JyZWFrfWFbZitsfDBdPW8mMjU1O2w9bCsxfDA7aWYoKGx8MCk+PShrfDApKXti
cmVhayBMMTcxNH19aT1lO3JldHVybiBufDB9fXdoaWxlKDApO0wxNzIxOmRve2lmKChhW2IrNTN8
MF0mMSk9PTApe2w9Yis0MHwwO209YiszNnwwO289ZnwwO3A9Zys0fDA7cT1iKzMyfDA7cj1rO0wx
NzIzOndoaWxlKDEpe3M9Y1tsPj4yXXwwO3Q9czt1PWNbdD4+Ml18MDt2PWNbdCs0Pj4yXXwwO3Q9
Y1ttPj4yXXwwO3c9ZityfDA7c3dpdGNoKGI2W2NbKGNbdD4+Ml18MCkrMTY+PjJdJjMxXSh0LHMs
byx3LGgsZyxwLGopfDApe2Nhc2UgMTp7YnJlYWt9O2Nhc2UgMjp7bj0tMTt4PTEzODA7YnJlYWsg
TDE3MjM7YnJlYWt9O2Nhc2UgMzp7eD0xMzY5O2JyZWFrIEwxNzIzO2JyZWFrfTtkZWZhdWx0Ont5
PXI7YnJlYWsgTDE3MjF9fXM9Y1tsPj4yXXwwO2Nbcz4+Ml09dTtjW3MrND4+Ml09djtpZigocnww
KT09OCl7bj0tMTt4PTEzNzk7YnJlYWt9dj1hXyhjW3E+PjJdfDApfDA7aWYoKHZ8MCk9PS0xKXtu
PS0xO3g9MTM4NTticmVha31hW3ddPXYmMjU1O3I9cisxfDB9aWYoKHh8MCk9PTEzNzkpe2k9ZTty
ZXR1cm4gbnwwfWVsc2UgaWYoKHh8MCk9PTEzODApe2k9ZTtyZXR1cm4gbnwwfWVsc2UgaWYoKHh8
MCk9PTEzODUpe2k9ZTtyZXR1cm4gbnwwfWVsc2UgaWYoKHh8MCk9PTEzNjkpe2NbZz4+Ml09YVtv
XXwwO3k9cjticmVha319ZWxzZXtjW2c+PjJdPWFbZnwwXXwwO3k9a319d2hpbGUoMCk7aWYoZCl7
ZD1jW2c+PjJdfDA7Y1tiKzQ4Pj4yXT1kO249ZDtpPWU7cmV0dXJuIG58MH1kPWIrMzJ8MDtiPXk7
d2hpbGUoMSl7aWYoKGJ8MCk8PTApe2JyZWFrfXk9Yi0xfDA7aWYoKGJBKGFbZit5fDBdfDAsY1tk
Pj4yXXwwKXwwKT09LTEpe249LTE7eD0xMzgyO2JyZWFrfWVsc2V7Yj15fX1pZigoeHwwKT09MTM4
Mil7aT1lO3JldHVybiBufDB9bj1jW2c+PjJdfDA7aT1lO3JldHVybiBufDB9ZnVuY3Rpb24gZGIo
YSl7YT1hfDA7ZW8oYXwwKTtyZXR1cm59ZnVuY3Rpb24gZGMoYSl7YT1hfDA7ZW8oYXwwKTtrUyhh
KTtyZXR1cm59ZnVuY3Rpb24gZGQoYSl7YT1hfDA7ZmcoMTU3OTIpfDA7ZmcoMTU4ODApfDA7Zmgo
MTU0MjQpfDA7ZmgoMTU1MTIpfDA7cmV0dXJufWZ1bmN0aW9uIGRlKGEpe2E9YXwwO3JldHVybn1m
dW5jdGlvbiBkZihhKXthPWF8MDtyZXR1cm59ZnVuY3Rpb24gZGcoYSl7YT1hfDA7dmFyIGI9MDti
PWErNHwwO0k9Y1tiPj4yXXwwLGNbYj4+Ml09SSsxLEk7cmV0dXJufWZ1bmN0aW9uIGRoKGEpe2E9
YXwwO3JldHVybiBjW2ErND4+Ml18MH1mdW5jdGlvbiBkaShhKXthPWF8MDtyZXR1cm4gY1thKzQ+
PjJdfDB9ZnVuY3Rpb24gZGooYSl7YT1hfDA7Y1thPj4yXT00MzA0O3JldHVybn1mdW5jdGlvbiBk
ayhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7Y1thPj4yXT1kO2NbYSs0Pj4yXT1iO3JldHVybn1m
dW5jdGlvbiBkbChhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MDtpZigoY1tiKzQ+PjJd
fDApIT0oYXwwKSl7ZT0wO3JldHVybiBlfDB9ZT0oY1tiPj4yXXwwKT09KGR8MCk7cmV0dXJuIGV8
MH1mdW5jdGlvbiBkbShiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTA7YjBbY1soY1tiPj4yXXwwKSsy
ND4+Ml0mMTI3XShiKXwwO2U9aVgoZCwxNTM5Mil8MDtkPWU7Y1tiKzM2Pj4yXT1kO2FbYis0NHww
XT0oYjBbY1soY1tlPj4yXXwwKSsyOD4+Ml0mMTI3XShkKXwwKSYxO3JldHVybn1mdW5jdGlvbiBk
bihhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49
MDtiPWk7aT1pKzE2fDA7ZD1ifDA7ZT1iKzh8MDtmPWErMzZ8MDtnPWErNDB8MDtoPWR8MDtqPWQr
OHwwO2s9ZDtkPWErMzJ8MDtMMTc2Nzp3aGlsZSgxKXthPWNbZj4+Ml18MDtsPWIkW2NbKGNbYT4+
Ml18MCkrMjA+PjJdJjMxXShhLGNbZz4+Ml18MCxoLGosZSl8MDthPShjW2U+PjJdfDApLWt8MDtp
ZigoYU0oaHwwLDEsYXwwLGNbZD4+Ml18MCl8MCkhPShhfDApKXttPS0xO249MTQxNDticmVha31z
d2l0Y2gobHwwKXtjYXNlIDI6e209LTE7bj0xNDE1O2JyZWFrIEwxNzY3O2JyZWFrfTtjYXNlIDE6
e2JyZWFrfTtkZWZhdWx0OntuPTE0MTE7YnJlYWsgTDE3Njd9fX1pZigobnwwKT09MTQxNSl7aT1i
O3JldHVybiBtfDB9ZWxzZSBpZigobnwwKT09MTQxMSl7bT0oKGFLKGNbZD4+Ml18MCl8MCkhPTAp
PDwzMT4+MzE7aT1iO3JldHVybiBtfDB9ZWxzZSBpZigobnwwKT09MTQxNCl7aT1iO3JldHVybiBt
fDB9cmV0dXJuIDB9ZnVuY3Rpb24gZHAoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAs
aD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3
PTA7ZT1pO2k9aSszMnwwO2Y9ZXwwO2c9ZSs4fDA7aD1lKzE2fDA7aj1lKzI0fDA7az0oZHwwKT09
LTE7TDE3NzY6ZG97aWYoIWspe2FbZ109ZCYyNTU7aWYoKGFbYis0NHwwXSYxKSE9MCl7aWYoKGFN
KGd8MCwxLDEsY1tiKzMyPj4yXXwwKXwwKT09MSl7YnJlYWt9ZWxzZXtsPS0xfWk9ZTtyZXR1cm4g
bHwwfW09ZnwwO2NbaD4+Ml09bTtuPWcrMXwwO289YiszNnwwO3A9Yis0MHwwO3E9Zis4fDA7cj1m
O3M9YiszMnwwO3Q9Zzt3aGlsZSgxKXt1PWNbbz4+Ml18MDt2PWI2W2NbKGNbdT4+Ml18MCkrMTI+
PjJdJjMxXSh1LGNbcD4+Ml18MCx0LG4saixtLHEsaCl8MDtpZigoY1tqPj4yXXwwKT09KHR8MCkp
e2w9LTE7dz0xNDMzO2JyZWFrfWlmKCh2fDApPT0zKXt3PTE0MjI7YnJlYWt9dT0odnwwKT09MTtp
Zih2Pj4+MD49Mil7bD0tMTt3PTE0MzI7YnJlYWt9dj0oY1toPj4yXXwwKS1yfDA7aWYoKGFNKG18
MCwxLHZ8MCxjW3M+PjJdfDApfDApIT0odnwwKSl7bD0tMTt3PTE0MzA7YnJlYWt9aWYodSl7dD11
P2Nbaj4+Ml18MDp0fWVsc2V7YnJlYWsgTDE3NzZ9fWlmKCh3fDApPT0xNDMwKXtpPWU7cmV0dXJu
IGx8MH1lbHNlIGlmKCh3fDApPT0xNDIyKXtpZigoYU0odHwwLDEsMSxjW3M+PjJdfDApfDApPT0x
KXticmVha31lbHNle2w9LTF9aT1lO3JldHVybiBsfDB9ZWxzZSBpZigod3wwKT09MTQzMil7aT1l
O3JldHVybiBsfDB9ZWxzZSBpZigod3wwKT09MTQzMyl7aT1lO3JldHVybiBsfDB9fX13aGlsZSgw
KTtsPWs/MDpkO2k9ZTtyZXR1cm4gbHwwfWZ1bmN0aW9uIGRxKGIsZCxlKXtiPWJ8MDtkPWR8MDtl
PWV8MDt2YXIgZj0wLGc9MCxoPTAsaj0wO2Y9aTtpPWkrOHwwO2c9ZnwwO2VwKGJ8MCk7Y1tiPj4y
XT01MDQ4O2NbYiszMj4+Ml09ZDtjW2IrNDA+PjJdPWU7Y1tiKzQ4Pj4yXT0tMTthW2IrNTJ8MF09
MDtpTihnLGIrNHwwKTtlPWlYKGcsMTUzOTIpfDA7ZD1lO2g9YiszNnwwO2NbaD4+Ml09ZDtqPWIr
NDR8MDtjW2o+PjJdPWIwW2NbKGNbZT4+Ml18MCkrMjQ+PjJdJjEyN10oZCl8MDtkPWNbaD4+Ml18
MDthW2IrNTN8MF09KGIwW2NbKGNbZD4+Ml18MCkrMjg+PjJdJjEyN10oZCl8MCkmMTtpZigoY1tq
Pj4yXXwwKTw9OCl7aU8oZyk7aT1mO3JldHVybn1oVigxODQpO2lPKGcpO2k9ZjtyZXR1cm59ZnVu
Y3Rpb24gZHIoYSl7YT1hfDA7ZW8oYXwwKTtyZXR1cm59ZnVuY3Rpb24gZHMoYSl7YT1hfDA7ZW8o
YXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gZHQoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9
MCxnPTA7ZT1pWChkLDE1MzkyKXwwO2Q9ZTtmPWIrMzZ8MDtjW2Y+PjJdPWQ7Zz1iKzQ0fDA7Y1tn
Pj4yXT1iMFtjWyhjW2U+PjJdfDApKzI0Pj4yXSYxMjddKGQpfDA7ZD1jW2Y+PjJdfDA7YVtiKzUz
fDBdPShiMFtjWyhjW2Q+PjJdfDApKzI4Pj4yXSYxMjddKGQpfDApJjE7aWYoKGNbZz4+Ml18MCk8
PTgpe3JldHVybn1oVigxODQpO3JldHVybn1mdW5jdGlvbiBkdShhKXthPWF8MDtyZXR1cm4gZHgo
YSwwKXwwfWZ1bmN0aW9uIGR2KGEpe2E9YXwwO3JldHVybiBkeChhLDEpfDB9ZnVuY3Rpb24gZHco
YixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAs
bz0wLHA9MCxxPTAscj0wO2U9aTtpPWkrMzJ8MDtmPWV8MDtnPWUrOHwwO2g9ZSsxNnwwO2o9ZSsy
NHwwO2s9Yis1MnwwO2w9KGFba10mMSkhPTA7aWYoKGR8MCk9PS0xKXtpZihsKXttPS0xO2k9ZTty
ZXR1cm4gbXwwfW49Y1tiKzQ4Pj4yXXwwO2Fba109KG58MCkhPS0xfDA7bT1uO2k9ZTtyZXR1cm4g
bXwwfW49Yis0OHwwO0wxODE5OmRve2lmKGwpe2FbaF09Y1tuPj4yXSYyNTU7bz1jW2IrMzY+PjJd
fDA7cD1mfDA7c3dpdGNoKGI2W2NbKGNbbz4+Ml18MCkrMTI+PjJdJjMxXShvLGNbYis0MD4+Ml18
MCxoLGgrMXwwLGoscCxmKzh8MCxnKXwwKXtjYXNlIDM6e2FbcF09Y1tuPj4yXSYyNTU7Y1tnPj4y
XT1mKzE7YnJlYWt9O2Nhc2UgMjpjYXNlIDE6e209LTE7aT1lO3JldHVybiBtfDB9O2RlZmF1bHQ6
e319bz1iKzMyfDA7d2hpbGUoMSl7cT1jW2c+PjJdfDA7aWYocT4+PjA8PXA+Pj4wKXticmVhayBM
MTgxOX1yPXEtMXwwO2NbZz4+Ml09cjtpZigoYkEoYVtyXXwwLGNbbz4+Ml18MCl8MCk9PS0xKXtt
PS0xO2JyZWFrfX1pPWU7cmV0dXJuIG18MH19d2hpbGUoMCk7Y1tuPj4yXT1kO2Fba109MTttPWQ7
aT1lO3JldHVybiBtfDB9ZnVuY3Rpb24gZHgoYixlKXtiPWJ8MDtlPWV8MDt2YXIgZj0wLGc9MCxo
PTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9
MCx4PTAseT0wLHo9MCxBPTA7Zj1pO2k9aSszMnwwO2c9ZnwwO2g9Zis4fDA7aj1mKzE2fDA7az1m
KzI0fDA7bD1iKzUyfDA7aWYoKGFbbF0mMSkhPTApe209Yis0OHwwO249Y1ttPj4yXXwwO2lmKCFl
KXtvPW47aT1mO3JldHVybiBvfDB9Y1ttPj4yXT0tMTthW2xdPTA7bz1uO2k9ZjtyZXR1cm4gb3ww
fW49Y1tiKzQ0Pj4yXXwwO2w9KG58MCk+MT9uOjE7TDE4Mzk6ZG97aWYoKGx8MCk+MCl7bj1iKzMy
fDA7bT0wO3doaWxlKDEpe3A9YV8oY1tuPj4yXXwwKXwwO2lmKChwfDApPT0tMSl7bz0tMTticmVh
a31hW2crbXwwXT1wJjI1NTttPW0rMXwwO2lmKChtfDApPj0obHwwKSl7YnJlYWsgTDE4Mzl9fWk9
ZjtyZXR1cm4gb3wwfX13aGlsZSgwKTtMMTg0Njpkb3tpZigoYVtiKzUzfDBdJjEpPT0wKXttPWIr
NDB8MDtuPWIrMzZ8MDtwPWd8MDtxPWgrMXwwO3I9YiszMnwwO3M9bDtMMTg0ODp3aGlsZSgxKXt0
PWNbbT4+Ml18MDt1PXQ7dj1jW3U+PjJdfDA7dz1jW3UrND4+Ml18MDt1PWNbbj4+Ml18MDt4PWcr
c3wwO3N3aXRjaChiNltjWyhjW3U+PjJdfDApKzE2Pj4yXSYzMV0odSx0LHAseCxqLGgscSxrKXww
KXtjYXNlIDE6e2JyZWFrfTtjYXNlIDI6e289LTE7eT0xNDkwO2JyZWFrIEwxODQ4O2JyZWFrfTtj
YXNlIDM6e3k9MTQ3OTticmVhayBMMTg0ODticmVha307ZGVmYXVsdDp7ej1zO2JyZWFrIEwxODQ2
fX10PWNbbT4+Ml18MDtjW3Q+PjJdPXY7Y1t0KzQ+PjJdPXc7aWYoKHN8MCk9PTgpe289LTE7eT0x
NDkxO2JyZWFrfXc9YV8oY1tyPj4yXXwwKXwwO2lmKCh3fDApPT0tMSl7bz0tMTt5PTE0OTU7YnJl
YWt9YVt4XT13JjI1NTtzPXMrMXwwfWlmKCh5fDApPT0xNDkwKXtpPWY7cmV0dXJuIG98MH1lbHNl
IGlmKCh5fDApPT0xNDk1KXtpPWY7cmV0dXJuIG98MH1lbHNlIGlmKCh5fDApPT0xNDc5KXthW2hd
PWFbcF18MDt6PXM7YnJlYWt9ZWxzZSBpZigoeXwwKT09MTQ5MSl7aT1mO3JldHVybiBvfDB9fWVs
c2V7YVtoXT1hW2d8MF18MDt6PWx9fXdoaWxlKDApO2Rve2lmKGUpe2w9YVtoXXwwO2NbYis0OD4+
Ml09bCYyNTU7QT1sfWVsc2V7bD1iKzMyfDA7az16O3doaWxlKDEpe2lmKChrfDApPD0wKXt5PTE0
ODY7YnJlYWt9aj1rLTF8MDtpZigoYkEoZFtnK2p8MF18MHwwLGNbbD4+Ml18MCl8MCk9PS0xKXtv
PS0xO3k9MTQ5NDticmVha31lbHNle2s9an19aWYoKHl8MCk9PTE0ODYpe0E9YVtoXXwwO2JyZWFr
fWVsc2UgaWYoKHl8MCk9PTE0OTQpe2k9ZjtyZXR1cm4gb3wwfX19d2hpbGUoMCk7bz1BJjI1NTtp
PWY7cmV0dXJuIG98MH1mdW5jdGlvbiBkeSgpe2NaKDApO2EkKDE0MiwxNjE0NHwwLHV8MCl8MDty
ZXR1cm59ZnVuY3Rpb24gZHooYSl7YT1hfDA7dmFyIGI9MCxkPTA7Yj1hKzR8MDtpZigoKEk9Y1ti
Pj4yXXwwLGNbYj4+Ml09SSsgLTEsSSl8MCkhPTApe2Q9MDtyZXR1cm4gZHwwfWJZW2NbKGNbYT4+
Ml18MCkrOD4+Ml0mNTExXShhKTtkPTE7cmV0dXJuIGR8MH1mdW5jdGlvbiBkQShhLGIpe2E9YXww
O2I9YnwwO3ZhciBkPTAsZT0wLGY9MDtjW2E+PjJdPTI1MzY7ZD1hKzR8MDtpZigoZHwwKT09MCl7
cmV0dXJufWE9azAoYnwwKXwwO2U9YSsxfDA7Zj1rUChhKzEzfDApfDA7Y1tmKzQ+PjJdPWE7Y1tm
Pj4yXT1hO2E9ZisxMnwwO2NbZD4+Ml09YTtjW2YrOD4+Ml09MDtrWShhfDAsYnwwLGUpfDA7cmV0
dXJufWZ1bmN0aW9uIGRCKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MDtjW2E+PjJdPTI1MzY7Yj1h
KzR8MDtkPShjW2I+PjJdfDApLTR8MDtpZigoKEk9Y1tkPj4yXXwwLGNbZD4+Ml09SSsgLTEsSSkt
MXwwKT49MCl7ZT1hO2tTKGUpO3JldHVybn1kPShjW2I+PjJdfDApLTEyfDA7aWYoKGR8MCk9PTAp
e2U9YTtrUyhlKTtyZXR1cm59a1QoZCk7ZT1hO2tTKGUpO3JldHVybn1mdW5jdGlvbiBkQyhhKXth
PWF8MDt2YXIgYj0wO2NbYT4+Ml09MjUzNjtiPWErNHwwO2E9KGNbYj4+Ml18MCktNHwwO2lmKCgo
ST1jW2E+PjJdfDAsY1thPj4yXT1JKyAtMSxJKS0xfDApPj0wKXtyZXR1cm59YT0oY1tiPj4yXXww
KS0xMnwwO2lmKChhfDApPT0wKXtyZXR1cm59a1QoYSk7cmV0dXJufWZ1bmN0aW9uIGREKGIsZCl7
Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2NbYj4+Ml09MjQ3MjtlPWIrNHwwO2lmKChlfDAp
PT0wKXtyZXR1cm59aWYoKGFbZF0mMSk9PTApe2Y9ZCsxfDB9ZWxzZXtmPWNbZCs4Pj4yXXwwfWQ9
azAoZnwwKXwwO2I9ZCsxfDA7Zz1rUChkKzEzfDApfDA7Y1tnKzQ+PjJdPWQ7Y1tnPj4yXT1kO2Q9
ZysxMnwwO2NbZT4+Ml09ZDtjW2crOD4+Ml09MDtrWShkfDAsZnwwLGIpfDA7cmV0dXJufWZ1bmN0
aW9uIGRFKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wO2NbYT4+Ml09MjQ3MjtkPWEr
NHwwO2lmKChkfDApPT0wKXtyZXR1cm59YT1rMChifDApfDA7ZT1hKzF8MDtmPWtQKGErMTN8MCl8
MDtjW2YrND4+Ml09YTtjW2Y+PjJdPWE7YT1mKzEyfDA7Y1tkPj4yXT1hO2NbZis4Pj4yXT0wO2tZ
KGF8MCxifDAsZSl8MDtyZXR1cm59ZnVuY3Rpb24gZEYoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0w
O2NbYT4+Ml09MjQ3MjtiPWErNHwwO2Q9KGNbYj4+Ml18MCktNHwwO2lmKCgoST1jW2Q+PjJdfDAs
Y1tkPj4yXT1JKyAtMSxJKS0xfDApPj0wKXtlPWE7a1MoZSk7cmV0dXJufWQ9KGNbYj4+Ml18MCkt
MTJ8MDtpZigoZHwwKT09MCl7ZT1hO2tTKGUpO3JldHVybn1rVChkKTtlPWE7a1MoZSk7cmV0dXJu
fWZ1bmN0aW9uIGRHKGEpe2E9YXwwO3ZhciBiPTA7Y1thPj4yXT0yNDcyO2I9YSs0fDA7YT0oY1ti
Pj4yXXwwKS00fDA7aWYoKChJPWNbYT4+Ml18MCxjW2E+PjJdPUkrIC0xLEkpLTF8MCk+PTApe3Jl
dHVybn1hPShjW2I+PjJdfDApLTEyfDA7aWYoKGF8MCk9PTApe3JldHVybn1rVChhKTtyZXR1cm59
ZnVuY3Rpb24gZEgoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wO2NbYT4+Ml09MjUzNjtiPWErNHww
O2Q9KGNbYj4+Ml18MCktNHwwO2lmKCgoST1jW2Q+PjJdfDAsY1tkPj4yXT1JKyAtMSxJKS0xfDAp
Pj0wKXtlPWE7a1MoZSk7cmV0dXJufWQ9KGNbYj4+Ml18MCktMTJ8MDtpZigoZHwwKT09MCl7ZT1h
O2tTKGUpO3JldHVybn1rVChkKTtlPWE7a1MoZSk7cmV0dXJufWZ1bmN0aW9uIGRJKGEpe2E9YXww
O2tTKGEpO3JldHVybn1mdW5jdGlvbiBkSihhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9
MCxmPTAsZz0wO2U9aTtpPWkrOHwwO2Y9ZXwwO2IzW2NbKGNbYT4+Ml18MCkrMTI+PjJdJjddKGYs
YSxiKTtpZigoY1tmKzQ+PjJdfDApIT0oY1tkKzQ+PjJdfDApKXtnPTA7aT1lO3JldHVybiBnfDB9
Zz0oY1tmPj4yXXwwKT09KGNbZD4+Ml18MCk7aT1lO3JldHVybiBnfDB9ZnVuY3Rpb24gZEsoYSxi
LGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2I9YngoY3wwKXwwO2RaKGEsYixrMChifDApfDApO3JldHVy
bn1mdW5jdGlvbiBkTChiLGUsZil7Yj1ifDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTA7Zz1pO2g9ZjtqPWk7aT1pKzEyfDA7aT1pKzc+
PjM8PDM7az1lfDA7bD1jW2s+PjJdfDA7aWYoKGx8MCk9PTApe209YjtjW20+PjJdPWNbaD4+Ml07
Y1ttKzQ+PjJdPWNbaCs0Pj4yXTtjW20rOD4+Ml09Y1toKzg+PjJdO2skKGh8MCwwLDEyKTtpPWc7
cmV0dXJufW49ZFtoXXwwO2lmKChuJjF8MCk9PTApe289bj4+PjF9ZWxzZXtvPWNbZis0Pj4yXXww
fWlmKChvfDApPT0wKXtwPWx9ZWxzZXtkVChmLDEyOTYpfDA7cD1jW2s+PjJdfDB9az1jW2UrND4+
Ml18MDtiM1tjWyhjW2s+PjJdfDApKzI0Pj4yXSY3XShqLGsscCk7cD1hW2pdfDA7aWYoKHAmMSk9
PTApe3E9aisxfDB9ZWxzZXtxPWNbais4Pj4yXXwwfWs9cCYyNTU7aWYoKGsmMXwwKT09MCl7cj1r
Pj4+MX1lbHNle3I9Y1tqKzQ+PjJdfDB9ZFYoZixxLHIpfDA7ZFAoaik7bT1iO2NbbT4+Ml09Y1to
Pj4yXTtjW20rND4+Ml09Y1toKzQ+PjJdO2NbbSs4Pj4yXT1jW2grOD4+Ml07ayQoaHwwLDAsMTIp
O2k9ZztyZXR1cm59ZnVuY3Rpb24gZE0oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAs
Zj0wLGc9MDtlPWk7aT1pKzMyfDA7Zj1iO2I9aTtpPWkrOHwwO2NbYj4+Ml09Y1tmPj4yXTtjW2Ir
ND4+Ml09Y1tmKzQ+PjJdO2Y9ZXwwO2c9ZSsxNnwwO2RaKGcsZCxrMChkfDApfDApO2RMKGYsYixn
KTtkRChhfDAsZik7ZFAoZik7ZFAoZyk7Y1thPj4yXT00NTQ0O2c9YjtiPWErOHwwO2E9Y1tnKzQ+
PjJdfDA7Y1tiPj4yXT1jW2c+PjJdO2NbYis0Pj4yXT1hO2k9ZTtyZXR1cm59ZnVuY3Rpb24gZE4o
YSl7YT1hfDA7ZEcoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gZE8oYSl7YT1hfDA7ZEcoYXww
KTtyZXR1cm59ZnVuY3Rpb24gZFAoYil7Yj1ifDA7aWYoKGFbYl0mMSk9PTApe3JldHVybn1rUyhj
W2IrOD4+Ml18MCk7cmV0dXJufWZ1bmN0aW9uIGRRKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxm
PTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTA7ZT1rMChkfDApfDA7Zj1iO2c9YjtoPWFbZ118MDtp
ZigoaCYxKT09MCl7aT0xMDtqPWh9ZWxzZXtoPWNbYj4+Ml18MDtpPShoJi0yKS0xfDA7aj1oJjI1
NX1pZihpPj4+MDxlPj4+MCl7aD1qJjI1NTtpZigoaCYxfDApPT0wKXtrPWg+Pj4xfWVsc2V7az1j
W2IrND4+Ml18MH1kMChiLGksZS1pfDAsaywwLGssZSxkKTtyZXR1cm4gYnwwfWlmKChqJjEpPT0w
KXtsPWYrMXwwfWVsc2V7bD1jW2IrOD4+Ml18MH1rXyhsfDAsZHwwLGV8MCk7YVtsK2V8MF09MDtp
ZigoYVtnXSYxKT09MCl7YVtnXT1lPDwxJjI1NTtyZXR1cm4gYnwwfWVsc2V7Y1tiKzQ+PjJdPWU7
cmV0dXJuIGJ8MH1yZXR1cm4gMH1mdW5jdGlvbiBkUihiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7
dmFyIGY9MCxnPTAsaD0wLGk9MDtmPWI7Zz1hW2ZdfDA7aD1nJjI1NTtpZigoaCYxfDApPT0wKXtp
PWg+Pj4xfWVsc2V7aT1jW2IrND4+Ml18MH1pZihpPj4+MDxkPj4+MCl7aD1kLWl8MDtkUyhiLGgs
ZSl8MDtyZXR1cm59aWYoKGcmMSk9PTApe2FbYisxK2R8MF09MDthW2ZdPWQ8PDEmMjU1O3JldHVy
bn1lbHNle2FbKGNbYis4Pj4yXXwwKStkfDBdPTA7Y1tiKzQ+PjJdPWQ7cmV0dXJufX1mdW5jdGlv
biBkUyhiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0w
LGw9MDtpZigoZHwwKT09MCl7cmV0dXJuIGJ8MH1mPWI7Zz1hW2ZdfDA7aWYoKGcmMSk9PTApe2g9
MTA7aT1nfWVsc2V7Zz1jW2I+PjJdfDA7aD0oZyYtMiktMXwwO2k9ZyYyNTV9Zz1pJjI1NTtpZigo
ZyYxfDApPT0wKXtqPWc+Pj4xfWVsc2V7aj1jW2IrND4+Ml18MH1pZigoaC1qfDApPj4+MDxkPj4+
MCl7ZDEoYixoLGQtaCtqfDAsaixqLDAsMCk7az1hW2ZdfDB9ZWxzZXtrPWl9aWYoKGsmMSk9PTAp
e2w9YisxfDB9ZWxzZXtsPWNbYis4Pj4yXXwwfWskKGwranwwLGV8MCxkfDApO2U9aitkfDA7aWYo
KGFbZl0mMSk9PTApe2FbZl09ZTw8MSYyNTV9ZWxzZXtjW2IrND4+Ml09ZX1hW2wrZXwwXT0wO3Jl
dHVybiBifDB9ZnVuY3Rpb24gZFQoYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm4gZFYoYSxiLGswKGJ8
MCl8MCl8MH1mdW5jdGlvbiBkVShiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAs
aT0wLGo9MCxrPTAsbD0wLG09MDtlPWI7Zj1hW2VdfDA7aWYoKGYmMSk9PTApe2c9KGYmMjU1KT4+
PjE7aD0xMH1lbHNle2c9Y1tiKzQ+PjJdfDA7aD0oY1tiPj4yXSYtMiktMXwwfWlmKChnfDApPT0o
aHwwKSl7ZDEoYixoLDEsaCxoLDAsMCk7aT1hW2VdfDB9ZWxzZXtpPWZ9aWYoKGkmMSk9PTApe2Fb
ZV09KGc8PDEpKzImMjU1O2o9YisxfDA7az1nKzF8MDtsPWorZ3wwO2FbbF09ZDttPWora3wwO2Fb
bV09MDtyZXR1cm59ZWxzZXtlPWNbYis4Pj4yXXwwO2k9ZysxfDA7Y1tiKzQ+PjJdPWk7aj1lO2s9
aTtsPWorZ3wwO2FbbF09ZDttPWora3wwO2FbbV09MDtyZXR1cm59fWZ1bmN0aW9uIGRWKGIsZCxl
KXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7Zj1iO2c9YVtm
XXwwO2lmKChnJjEpPT0wKXtoPTEwO2k9Z31lbHNle2c9Y1tiPj4yXXwwO2g9KGcmLTIpLTF8MDtp
PWcmMjU1fWc9aSYyNTU7aWYoKGcmMXwwKT09MCl7aj1nPj4+MX1lbHNle2o9Y1tiKzQ+PjJdfDB9
aWYoKGgtanwwKT4+PjA8ZT4+PjApe2QwKGIsaCxlLWgranwwLGosaiwwLGUsZCk7cmV0dXJuIGJ8
MH1pZigoZXwwKT09MCl7cmV0dXJuIGJ8MH1pZigoaSYxKT09MCl7az1iKzF8MH1lbHNle2s9Y1ti
Kzg+PjJdfDB9aT1rK2p8MDtrWShpfDAsZHwwLGUpfDA7ZD1qK2V8MDtpZigoYVtmXSYxKT09MCl7
YVtmXT1kPDwxJjI1NX1lbHNle2NbYis0Pj4yXT1kfWFbaytkfDBdPTA7cmV0dXJuIGJ8MH1mdW5j
dGlvbiBkVyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTA7
ZTtpZigoY1thPj4yXXwwKT09MSl7ZG97YVUoOTczNiw5NzI4KXwwO313aGlsZSgoY1thPj4yXXww
KT09MSl9aWYoKGNbYT4+Ml18MCkhPTApe2Y7cmV0dXJufWNbYT4+Ml09MTtnO2JZW2QmNTExXShi
KTtoO2NbYT4+Ml09LTE7aTticyg5NzM2KXwwO3JldHVybn1mdW5jdGlvbiBkWChhKXthPWF8MDth
PWJPKDgpfDA7ZEEoYSwzNjApO2NbYT4+Ml09MjUwNDtibChhfDAsODIwOCwzMil9ZnVuY3Rpb24g
ZFkoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wO2U9ZDtpZigoYVtlXSYxKT09
MCl7Zj1iO2NbZj4+Ml09Y1tlPj4yXTtjW2YrND4+Ml09Y1tlKzQ+PjJdO2NbZis4Pj4yXT1jW2Ur
OD4+Ml07cmV0dXJufWU9Y1tkKzg+PjJdfDA7Zj1jW2QrND4+Ml18MDtpZigoZnwwKT09LTEpe2RY
KDApfWlmKGY+Pj4wPDExKXthW2JdPWY8PDEmMjU1O2c9YisxfDB9ZWxzZXtkPWYrMTYmLTE2O2g9
a08oZCl8MDtjW2IrOD4+Ml09aDtjW2I+PjJdPWR8MTtjW2IrND4+Ml09ZjtnPWh9a1koZ3wwLGV8
MCxmKXwwO2FbZytmfDBdPTA7cmV0dXJufWZ1bmN0aW9uIGRaKGIsZCxlKXtiPWJ8MDtkPWR8MDtl
PWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wO2lmKChlfDApPT0tMSl7ZFgoMCl9aWYoZT4+PjA8MTEp
e2FbYl09ZTw8MSYyNTU7Zj1iKzF8MDtrWShmfDAsZHwwLGUpfDA7Zz1mK2V8MDthW2ddPTA7cmV0
dXJufWVsc2V7aD1lKzE2Ji0xNjtpPWtPKGgpfDA7Y1tiKzg+PjJdPWk7Y1tiPj4yXT1ofDE7Y1ti
KzQ+PjJdPWU7Zj1pO2tZKGZ8MCxkfDAsZSl8MDtnPWYrZXwwO2FbZ109MDtyZXR1cm59fWZ1bmN0
aW9uIGRfKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTA7aWYoKGR8MCk9
PS0xKXtkWCgwKX1pZihkPj4+MDwxMSl7YVtiXT1kPDwxJjI1NTtmPWIrMXwwfWVsc2V7Zz1kKzE2
Ji0xNjtoPWtPKGcpfDA7Y1tiKzg+PjJdPWg7Y1tiPj4yXT1nfDE7Y1tiKzQ+PjJdPWQ7Zj1ofWsk
KGZ8MCxlfDAsZHwwKTthW2YrZHwwXT0wO3JldHVybn1mdW5jdGlvbiBkJChiLGQpe2I9YnwwO2Q9
ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxx
PTAscj0wO2lmKChkfDApPT0tMSl7ZFgoMCl9ZT1iO2Y9YjtnPWFbZl18MDtpZigoZyYxKT09MCl7
aD0xMDtpPWd9ZWxzZXtnPWNbYj4+Ml18MDtoPShnJi0yKS0xfDA7aT1nJjI1NX1nPWkmMjU1O2lm
KChnJjF8MCk9PTApe2o9Zz4+PjF9ZWxzZXtqPWNbYis0Pj4yXXwwfWc9aj4+PjA+ZD4+PjA/ajpk
O2lmKGc+Pj4wPDExKXtrPTExfWVsc2V7az1nKzE2Ji0xNn1nPWstMXwwO2lmKChnfDApPT0oaHww
KSl7cmV0dXJufWlmKChnfDApPT0xMCl7bD1lKzF8MDttPWNbYis4Pj4yXXwwO249MTtvPTB9ZWxz
ZXtpZihnPj4+MD5oPj4+MCl7cD1rTyhrKXwwfWVsc2V7cD1rTyhrKXwwfWg9aSYxO2lmKGg8PDI0
Pj4yND09MCl7cT1lKzF8MH1lbHNle3E9Y1tiKzg+PjJdfDB9bD1wO209cTtuPWg8PDI0Pj4yNCE9
MDtvPTF9aD1pJjI1NTtpZigoaCYxfDApPT0wKXtyPWg+Pj4xfWVsc2V7cj1jW2IrND4+Ml18MH1o
PXIrMXwwO2tZKGx8MCxtfDAsaCl8MDtpZihuKXtrUyhtKX1pZihvKXtjW2I+PjJdPWt8MTtjW2Ir
ND4+Ml09ajtjW2IrOD4+Ml09bDtyZXR1cm59ZWxzZXthW2ZdPWo8PDEmMjU1O3JldHVybn19ZnVu
Y3Rpb24gZDAoYixkLGUsZixnLGgsaSxqKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDto
PWh8MDtpPWl8MDtqPWp8MDt2YXIgaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAs
dD0wLHU9MDtpZigoLTMtZHwwKT4+PjA8ZT4+PjApe2RYKDApfWlmKChhW2JdJjEpPT0wKXtrPWIr
MXwwfWVsc2V7az1jW2IrOD4+Ml18MH1kb3tpZihkPj4+MDwyMTQ3NDgzNjMxKXtsPWUrZHwwO209
ZDw8MTtuPWw+Pj4wPG0+Pj4wP206bDtpZihuPj4+MDwxMSl7bz0xMTticmVha31vPW4rMTYmLTE2
fWVsc2V7bz0tMn19d2hpbGUoMCk7ZT1rTyhvKXwwO2lmKChnfDApIT0wKXtrWShlfDAsa3wwLGcp
fDB9aWYoKGl8MCkhPTApe249ZStnfDA7a1kobnwwLGp8MCxpKXwwfWo9Zi1ofDA7aWYoKGp8MCkh
PShnfDApKXtmPWotZ3wwO249ZSsoaStnKXwwO2w9aysoaCtnKXwwO2tZKG58MCxsfDAsZil8MH1p
ZigoZHwwKT09MTApe3A9Yis4fDA7Y1twPj4yXT1lO3E9b3wxO3I9YnwwO2Nbcj4+Ml09cTtzPWor
aXwwO3Q9Yis0fDA7Y1t0Pj4yXT1zO3U9ZStzfDA7YVt1XT0wO3JldHVybn1rUyhrKTtwPWIrOHww
O2NbcD4+Ml09ZTtxPW98MTtyPWJ8MDtjW3I+PjJdPXE7cz1qK2l8MDt0PWIrNHwwO2NbdD4+Ml09
czt1PWUrc3wwO2FbdV09MDtyZXR1cm59ZnVuY3Rpb24gZDEoYixkLGUsZixnLGgsaSl7Yj1ifDA7
ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7dmFyIGo9MCxrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTA7aWYoKC0zLWR8MCk+Pj4wPGU+Pj4wKXtkWCgwKX1pZigoYVtiXSYxKT09
MCl7aj1iKzF8MH1lbHNle2o9Y1tiKzg+PjJdfDB9ZG97aWYoZD4+PjA8MjE0NzQ4MzYzMSl7az1l
K2R8MDtsPWQ8PDE7bT1rPj4+MDxsPj4+MD9sOms7aWYobT4+PjA8MTEpe249MTE7YnJlYWt9bj1t
KzE2Ji0xNn1lbHNle249LTJ9fXdoaWxlKDApO2U9a08obil8MDtpZigoZ3wwKSE9MCl7a1koZXww
LGp8MCxnKXwwfW09Zi1ofDA7aWYoKG18MCkhPShnfDApKXtmPW0tZ3wwO209ZSsoaStnKXwwO2k9
aisoaCtnKXwwO2tZKG18MCxpfDAsZil8MH1pZigoZHwwKT09MTApe289Yis4fDA7Y1tvPj4yXT1l
O3A9bnwxO3E9YnwwO2NbcT4+Ml09cDtyZXR1cm59a1Moaik7bz1iKzh8MDtjW28+PjJdPWU7cD1u
fDE7cT1ifDA7Y1txPj4yXT1wO3JldHVybn1mdW5jdGlvbiBkMihhLGIpe2E9YXwwO2I9YnwwO3Jl
dHVybn1mdW5jdGlvbiBkMyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7cmV0dXJuIGF8MH1mdW5j
dGlvbiBkNChhKXthPWF8MDtyZXR1cm4gMH1mdW5jdGlvbiBkNShhKXthPWF8MDtyZXR1cm4gMH1m
dW5jdGlvbiBkNihhKXthPWF8MDtyZXR1cm4tMXwwfWZ1bmN0aW9uIGQ3KGEsYil7YT1hfDA7Yj1i
fDA7cmV0dXJuLTF8MH1mdW5jdGlvbiBkOChhLGIpe2E9YXwwO2I9YnwwO3JldHVybi0xfDB9ZnVu
Y3Rpb24gZDkoYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm59ZnVuY3Rpb24gZWEoYSxiLGMpe2E9YXww
O2I9YnwwO2M9Y3wwO3JldHVybiBhfDB9ZnVuY3Rpb24gZWIoYSxiLGQsZSxmLGcpe2E9YXwwO2I9
YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2c9YTtjW2c+PjJdPTA7Y1tnKzQ+PjJdPTA7Zz1h
Kzh8MDtjW2c+PjJdPS0xO2NbZys0Pj4yXT0tMTtyZXR1cm59ZnVuY3Rpb24gZWMoYSxiLGQsZSl7
YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7ZT1pO2I9ZDtkPWk7aT1pKzE2fDA7Y1tkPj4yXT1jW2I+
PjJdO2NbZCs0Pj4yXT1jW2IrND4+Ml07Y1tkKzg+PjJdPWNbYis4Pj4yXTtjW2QrMTI+PjJdPWNb
YisxMj4+Ml07Yj1hO2NbYj4+Ml09MDtjW2IrND4+Ml09MDtiPWErOHwwO2NbYj4+Ml09LTE7Y1ti
KzQ+PjJdPS0xO2k9ZTtyZXR1cm59ZnVuY3Rpb24gZWQoYSxiLGQsZSxmLGcpe2E9YXwwO2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2c9YTtjW2c+PjJdPTA7Y1tnKzQ+PjJdPTA7Zz1hKzh8
MDtjW2c+PjJdPS0xO2NbZys0Pj4yXT0tMTtyZXR1cm59ZnVuY3Rpb24gZWUoYil7Yj1ifDA7aWYo
KGFbYl0mMSk9PTApe3JldHVybn1rUyhjW2IrOD4+Ml18MCk7cmV0dXJufWZ1bmN0aW9uIGVmKGEs
Yil7YT1hfDA7Yj1ifDA7cmV0dXJuIGVnKGEsYixrbShiKXwwKXwwfWZ1bmN0aW9uIGVnKGIsZCxl
KXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7Zj1iO2c9YVtm
XXwwO2lmKChnJjEpPT0wKXtoPTE7aT1nfWVsc2V7Zz1jW2I+PjJdfDA7aD0oZyYtMiktMXwwO2k9
ZyYyNTV9aWYoaD4+PjA8ZT4+PjApe2c9aSYyNTU7aWYoKGcmMXwwKT09MCl7aj1nPj4+MX1lbHNl
e2o9Y1tiKzQ+PjJdfDB9ZUEoYixoLGUtaHwwLGosMCxqLGUsZCk7cmV0dXJuIGJ8MH1pZigoaSYx
KT09MCl7az1iKzR8MH1lbHNle2s9Y1tiKzg+PjJdfDB9a28oayxkLGUpfDA7Y1trKyhlPDwyKT4+
Ml09MDtpZigoYVtmXSYxKT09MCl7YVtmXT1lPDwxJjI1NTtyZXR1cm4gYnwwfWVsc2V7Y1tiKzQ+
PjJdPWU7cmV0dXJuIGJ8MH1yZXR1cm4gMH1mdW5jdGlvbiBlaChiLGQpe2I9YnwwO2Q9ZHwwO3Zh
ciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDtlPWI7Zj1hW2VdfDA7aWYoKGYm
MSk9PTApe2c9KGYmMjU1KT4+PjE7aD0xfWVsc2V7Zz1jW2IrND4+Ml18MDtoPShjW2I+PjJdJi0y
KS0xfDB9aWYoKGd8MCk9PShofDApKXtlQihiLGgsMSxoLGgsMCwwKTtpPWFbZV18MH1lbHNle2k9
Zn1pZigoaSYxKT09MCl7YVtlXT0oZzw8MSkrMiYyNTU7aj1iKzR8MDtrPWcrMXwwO2w9aisoZzw8
Mil8MDtjW2w+PjJdPWQ7bT1qKyhrPDwyKXwwO2NbbT4+Ml09MDtyZXR1cm59ZWxzZXtlPWNbYis4
Pj4yXXwwO2k9ZysxfDA7Y1tiKzQ+PjJdPWk7aj1lO2s9aTtsPWorKGc8PDIpfDA7Y1tsPj4yXT1k
O209aisoazw8Mil8MDtjW20+PjJdPTA7cmV0dXJufX1mdW5jdGlvbiBlaShhKXthPWF8MDtlRChh
fDApO3JldHVybn1mdW5jdGlvbiBlaihhLGIpe2E9YXwwO2I9YnwwO2lOKGEsYisyOHwwKTtyZXR1
cm59ZnVuY3Rpb24gZWsoYSxiKXthPWF8MDtiPWJ8MDtjW2ErMjQ+PjJdPWI7Y1thKzE2Pj4yXT0o
YnwwKT09MDtjW2ErMjA+PjJdPTA7Y1thKzQ+PjJdPTQwOTg7Y1thKzEyPj4yXT0wO2NbYSs4Pj4y
XT02O2I9YSsyOHwwO2skKGErMzJ8MCwwLDQwKTtpZigoYnwwKT09MCl7cmV0dXJufWlXKGIpO3Jl
dHVybn1mdW5jdGlvbiBlbChhKXthPWF8MDtlRChhfDApO3JldHVybn1mdW5jdGlvbiBlbShhKXth
PWF8MDtjW2E+PjJdPTQyMzI7aU8oYSs0fDApO2tTKGEpO3JldHVybn1mdW5jdGlvbiBlbihhKXth
PWF8MDtjW2E+PjJdPTQyMzI7aU8oYSs0fDApO3JldHVybn1mdW5jdGlvbiBlbyhhKXthPWF8MDtj
W2E+PjJdPTQyMzI7aU8oYSs0fDApO3JldHVybn1mdW5jdGlvbiBlcChhKXthPWF8MDtjW2E+PjJd
PTQyMzI7aVcoYSs0fDApO2skKGErOHwwLDAsMjQpO3JldHVybn1mdW5jdGlvbiBlcShiLGQsZSl7
Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7Zj1i
O2lmKChlfDApPD0wKXtnPTA7cmV0dXJuIGd8MH1oPWIrMTJ8MDtpPWIrMTZ8MDtqPWQ7ZD0wO3do
aWxlKDEpe2s9Y1toPj4yXXwwO2lmKGs+Pj4wPChjW2k+PjJdfDApPj4+MCl7Y1toPj4yXT1rKzE7
bD1hW2tdfDB9ZWxzZXtrPWIwW2NbKGNbZj4+Ml18MCkrNDA+PjJdJjEyN10oYil8MDtpZigoa3ww
KT09LTEpe2c9ZDttPTE4NTQ7YnJlYWt9bD1rJjI1NX1hW2pdPWw7az1kKzF8MDtpZigoa3wwKTwo
ZXwwKSl7aj1qKzF8MDtkPWt9ZWxzZXtnPWs7bT0xODU2O2JyZWFrfX1pZigobXwwKT09MTg1NCl7
cmV0dXJuIGd8MH1lbHNlIGlmKChtfDApPT0xODU2KXtyZXR1cm4gZ3wwfXJldHVybiAwfWZ1bmN0
aW9uIGVyKGEpe2E9YXwwO3ZhciBiPTAsZT0wO2lmKChiMFtjWyhjW2E+PjJdfDApKzM2Pj4yXSYx
MjddKGEpfDApPT0tMSl7Yj0tMTtyZXR1cm4gYnwwfWU9YSsxMnwwO2E9Y1tlPj4yXXwwO2NbZT4+
Ml09YSsxO2I9ZFthXXwwO3JldHVybiBifDB9ZnVuY3Rpb24gZXMoYixlLGYpe2I9YnwwO2U9ZXww
O2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO2c9YjtpZigoZnwwKTw9
MCl7aD0wO3JldHVybiBofDB9aT1iKzI0fDA7aj1iKzI4fDA7az0wO2w9ZTt3aGlsZSgxKXtlPWNb
aT4+Ml18MDtpZihlPj4+MDwoY1tqPj4yXXwwKT4+PjApe209YVtsXXwwO2NbaT4+Ml09ZSsxO2Fb
ZV09bX1lbHNle2lmKChiX1tjWyhjW2c+PjJdfDApKzUyPj4yXSYzMV0oYixkW2xdfDApfDApPT0t
MSl7aD1rO249MTg2OTticmVha319bT1rKzF8MDtpZigobXwwKTwoZnwwKSl7az1tO2w9bCsxfDB9
ZWxzZXtoPW07bj0xODcxO2JyZWFrfX1pZigobnwwKT09MTg2OSl7cmV0dXJuIGh8MH1lbHNlIGlm
KChufDApPT0xODcxKXtyZXR1cm4gaHwwfXJldHVybiAwfWZ1bmN0aW9uIGV0KGEpe2E9YXwwO2Nb
YT4+Ml09NDE2MDtpTyhhKzR8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGV1KGEpe2E9YXwwO2Nb
YT4+Ml09NDE2MDtpTyhhKzR8MCk7cmV0dXJufWZ1bmN0aW9uIGV2KGEpe2E9YXwwO2NbYT4+Ml09
NDE2MDtpTyhhKzR8MCk7cmV0dXJufWZ1bmN0aW9uIGV3KGEpe2E9YXwwO2NbYT4+Ml09NDE2MDtp
VyhhKzR8MCk7ayQoYSs4fDAsMCwyNCk7cmV0dXJufWZ1bmN0aW9uIGV4KGIsZCxlKXtiPWJ8MDtk
PWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MDtpZihlPj4+MD4xMDczNzQxODIyKXtk
WCgwKX1pZihlPj4+MDwyKXthW2JdPWU8PDEmMjU1O2Y9Yis0fDA7Zz1rbihmLGQsZSl8MDtoPWYr
KGU8PDIpfDA7Y1toPj4yXT0wO3JldHVybn1lbHNle2k9ZSs0Ji00O2o9a08oaTw8Mil8MDtjW2Ir
OD4+Ml09ajtjW2I+PjJdPWl8MTtjW2IrND4+Ml09ZTtmPWo7Zz1rbihmLGQsZSl8MDtoPWYrKGU8
PDIpfDA7Y1toPj4yXT0wO3JldHVybn19ZnVuY3Rpb24gZXkoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9
ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wO2lmKGQ+Pj4wPjEwNzM3NDE4MjIpe2RYKDApfWlm
KGQ+Pj4wPDIpe2FbYl09ZDw8MSYyNTU7Zj1iKzR8MDtnPWtwKGYsZSxkKXwwO2g9ZisoZDw8Mil8
MDtjW2g+PjJdPTA7cmV0dXJufWVsc2V7aT1kKzQmLTQ7aj1rTyhpPDwyKXwwO2NbYis4Pj4yXT1q
O2NbYj4+Ml09aXwxO2NbYis0Pj4yXT1kO2Y9ajtnPWtwKGYsZSxkKXwwO2g9ZisoZDw8Mil8MDtj
W2g+PjJdPTA7cmV0dXJufX1mdW5jdGlvbiBleihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0w
LGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTA7aWYoZD4+PjA+MTA3
Mzc0MTgyMil7ZFgoMCl9ZT1iO2Y9YVtlXXwwO2lmKChmJjEpPT0wKXtnPTE7aD1mfWVsc2V7Zj1j
W2I+PjJdfDA7Zz0oZiYtMiktMXwwO2g9ZiYyNTV9Zj1oJjI1NTtpZigoZiYxfDApPT0wKXtpPWY+
Pj4xfWVsc2V7aT1jW2IrND4+Ml18MH1mPWk+Pj4wPmQ+Pj4wP2k6ZDtpZihmPj4+MDwyKXtqPTJ9
ZWxzZXtqPWYrNCYtNH1mPWotMXwwO2lmKChmfDApPT0oZ3wwKSl7cmV0dXJufWlmKChmfDApPT0x
KXtrPWIrNHwwO2w9Y1tiKzg+PjJdfDA7bT0xO249MH1lbHNle2Q9ajw8MjtpZihmPj4+MD5nPj4+
MCl7bz1rTyhkKXwwfWVsc2V7bz1rTyhkKXwwfWQ9aCYxO2lmKGQ8PDI0Pj4yND09MCl7cD1iKzR8
MH1lbHNle3A9Y1tiKzg+PjJdfDB9az1vO2w9cDttPWQ8PDI0Pj4yNCE9MDtuPTF9ZD1rO2s9aCYy
NTU7aWYoKGsmMXwwKT09MCl7cT1rPj4+MX1lbHNle3E9Y1tiKzQ+PjJdfDB9a24oZCxsLHErMXww
KXwwO2lmKG0pe2tTKGwpfWlmKG4pe2NbYj4+Ml09anwxO2NbYis0Pj4yXT1pO2NbYis4Pj4yXT1k
O3JldHVybn1lbHNle2FbZV09aTw8MSYyNTU7cmV0dXJufX1mdW5jdGlvbiBlQShiLGQsZSxmLGcs
aCxpLGope2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2k9aXwwO2o9anwwO3Zh
ciBrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wO2lmKCgxMDczNzQx
ODIxLWR8MCk+Pj4wPGU+Pj4wKXtkWCgwKX1pZigoYVtiXSYxKT09MCl7az1iKzR8MH1lbHNle2s9
Y1tiKzg+PjJdfDB9ZG97aWYoZD4+PjA8NTM2ODcwODk1KXtsPWUrZHwwO209ZDw8MTtuPWw+Pj4w
PG0+Pj4wP206bDtpZihuPj4+MDwyKXtvPTI7YnJlYWt9bz1uKzQmLTR9ZWxzZXtvPTEwNzM3NDE4
MjJ9fXdoaWxlKDApO2U9a08obzw8Mil8MDtpZigoZ3wwKSE9MCl7a24oZSxrLGcpfDB9aWYoKGl8
MCkhPTApe249ZSsoZzw8Mil8MDtrbihuLGosaSl8MH1qPWYtaHwwO2lmKChqfDApIT0oZ3wwKSl7
Zj1qLWd8MDtuPWUrKGkrZzw8Mil8MDtsPWsrKGgrZzw8Mil8MDtrbihuLGwsZil8MH1pZigoZHww
KT09MSl7cD1iKzh8MDtjW3A+PjJdPWU7cT1vfDE7cj1ifDA7Y1tyPj4yXT1xO3M9aitpfDA7dD1i
KzR8MDtjW3Q+PjJdPXM7dT1lKyhzPDwyKXwwO2NbdT4+Ml09MDtyZXR1cm59a1Moayk7cD1iKzh8
MDtjW3A+PjJdPWU7cT1vfDE7cj1ifDA7Y1tyPj4yXT1xO3M9aitpfDA7dD1iKzR8MDtjW3Q+PjJd
PXM7dT1lKyhzPDwyKXwwO2NbdT4+Ml09MDtyZXR1cm59ZnVuY3Rpb24gZUIoYixkLGUsZixnLGgs
aSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7dmFyIGo9MCxrPTAs
bD0wLG09MCxuPTAsbz0wLHA9MCxxPTA7aWYoKDEwNzM3NDE4MjEtZHwwKT4+PjA8ZT4+PjApe2RY
KDApfWlmKChhW2JdJjEpPT0wKXtqPWIrNHwwfWVsc2V7aj1jW2IrOD4+Ml18MH1kb3tpZihkPj4+
MDw1MzY4NzA4OTUpe2s9ZStkfDA7bD1kPDwxO209az4+PjA8bD4+PjA/bDprO2lmKG0+Pj4wPDIp
e249MjticmVha31uPW0rNCYtNH1lbHNle249MTA3Mzc0MTgyMn19d2hpbGUoMCk7ZT1rTyhuPDwy
KXwwO2lmKChnfDApIT0wKXtrbihlLGosZyl8MH1tPWYtaHwwO2lmKChtfDApIT0oZ3wwKSl7Zj1t
LWd8MDttPWUrKGkrZzw8Mil8MDtpPWorKGgrZzw8Mil8MDtrbihtLGksZil8MH1pZigoZHwwKT09
MSl7bz1iKzh8MDtjW28+PjJdPWU7cD1ufDE7cT1ifDA7Y1txPj4yXT1wO3JldHVybn1rUyhqKTtv
PWIrOHwwO2Nbbz4+Ml09ZTtwPW58MTtxPWJ8MDtjW3E+PjJdPXA7cmV0dXJufWZ1bmN0aW9uIGVD
KGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2U9aTtpPWkrOHwwO2Y9ZXwwO2c9KGNb
YisyND4+Ml18MCk9PTA7aWYoZyl7Y1tiKzE2Pj4yXT1kfDF9ZWxzZXtjW2IrMTY+PjJdPWR9aWYo
KChnJjF8ZCkmY1tiKzIwPj4yXXwwKT09MCl7aT1lO3JldHVybn1lPWJPKDE2KXwwO2Rve2lmKChh
WzE2MjcyXXwwKT09MCl7aWYoKGJjKDE2MjcyKXwwKT09MCl7YnJlYWt9ZGooMTE4NDApO2NbMjk2
MF09NGUzO2EkKDY2LDExODQwLHV8MCl8MH19d2hpbGUoMCk7Yj1rMygxMTg0MCwwLDMyKXwwO2Q9
SztjW2Y+PjJdPWImMHwxO2NbZis0Pj4yXT1kfDA7ZE0oZSxmLDEzMDQpO2NbZT4+Ml09MzE4NDti
bChlfDAsODc1MiwyOCl9ZnVuY3Rpb24gZUQoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MDtj
W2E+PjJdPTMxNjA7Yj1jW2ErNDA+PjJdfDA7ZD1hKzMyfDA7ZT1hKzM2fDA7aWYoKGJ8MCkhPTAp
e2Y9Yjtkb3tmPWYtMXwwO2IzW2NbKGNbZD4+Ml18MCkrKGY8PDIpPj4yXSY3XSgwLGEsY1soY1tl
Pj4yXXwwKSsoZjw8Mik+PjJdfDApO313aGlsZSgoZnwwKSE9MCl9aU8oYSsyOHwwKTtrSyhjW2Q+
PjJdfDApO2tLKGNbZT4+Ml18MCk7a0soY1thKzQ4Pj4yXXwwKTtrSyhjW2ErNjA+PjJdfDApO3Jl
dHVybn1mdW5jdGlvbiBlRShhKXthPWF8MDtyZXR1cm4gMH1mdW5jdGlvbiBlRihhKXthPWF8MDty
ZXR1cm4gMH1mdW5jdGlvbiBlRyhhKXthPWF8MDtyZXR1cm4tMXwwfWZ1bmN0aW9uIGVIKGEsYil7
YT1hfDA7Yj1ifDA7cmV0dXJuLTF8MH1mdW5jdGlvbiBlSShhLGIpe2E9YXwwO2I9YnwwO3JldHVy
bi0xfDB9ZnVuY3Rpb24gZUooYSl7YT1hfDA7cmV0dXJuIDE0MTZ8MH1mdW5jdGlvbiBlSyhhLGIs
ZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtlPWk7Yj1kO2Q9aTtpPWkrMTZ8MDtjW2Q+PjJd
PWNbYj4+Ml07Y1tkKzQ+PjJdPWNbYis0Pj4yXTtjW2QrOD4+Ml09Y1tiKzg+PjJdO2NbZCsxMj4+
Ml09Y1tiKzEyPj4yXTtiPWE7Y1tiPj4yXT0wO2NbYis0Pj4yXT0wO2I9YSs4fDA7Y1tiPj4yXT0t
MTtjW2IrND4+Ml09LTE7aT1lO3JldHVybn1mdW5jdGlvbiBlTChiLGMsZCxlLGYpe2I9YnwwO2M9
Y3wwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtMMjQzNzpk
b3tpZigoZXwwKT09KGZ8MCkpe2c9Y31lbHNle2I9YztoPWU7d2hpbGUoMSl7aWYoKGJ8MCk9PShk
fDApKXtpPS0xO2o9MTk5MDticmVha31rPWFbYl18MDtsPWFbaF18MDtpZihrPDwyND4+MjQ8bDw8
MjQ+PjI0KXtpPS0xO2o9MTk5MzticmVha31pZihsPDwyND4+MjQ8azw8MjQ+PjI0KXtpPTE7aj0x
OTkyO2JyZWFrfWs9YisxfDA7bD1oKzF8MDtpZigobHwwKT09KGZ8MCkpe2c9azticmVhayBMMjQz
N31lbHNle2I9aztoPWx9fWlmKChqfDApPT0xOTkzKXtyZXR1cm4gaXwwfWVsc2UgaWYoKGp8MCk9
PTE5OTIpe3JldHVybiBpfDB9ZWxzZSBpZigoanwwKT09MTk5MCl7cmV0dXJuIGl8MH19fXdoaWxl
KDApO2k9KGd8MCkhPShkfDApfDA7cmV0dXJuIGl8MH1mdW5jdGlvbiBlTShiLGMsZCl7Yj1ifDA7
Yz1jfDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MDtpZigoY3wwKT09KGR8MCkpe2U9MDtyZXR1
cm4gZXwwfWVsc2V7Zj1jO2c9MH13aGlsZSgxKXtjPShhW2ZdfDApKyhnPDw0KXwwO2I9YyYtMjY4
NDM1NDU2O2g9KGI+Pj4yNHxiKV5jO2M9ZisxfDA7aWYoKGN8MCk9PShkfDApKXtlPWg7YnJlYWt9
ZWxzZXtmPWM7Zz1ofX1yZXR1cm4gZXwwfWZ1bmN0aW9uIGVOKGEsYixkKXthPWF8MDtiPWJ8MDtk
PWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtlPWE7aWYoKGR8MCk8PTAp
e2Y9MDtyZXR1cm4gZnwwfWc9YSsxMnwwO2g9YSsxNnwwO2k9YjtiPTA7d2hpbGUoMSl7aj1jW2c+
PjJdfDA7aWYoaj4+PjA8KGNbaD4+Ml18MCk+Pj4wKXtjW2c+PjJdPWorNDtrPWNbaj4+Ml18MH1l
bHNle2o9YjBbY1soY1tlPj4yXXwwKSs0MD4+Ml0mMTI3XShhKXwwO2lmKChqfDApPT0tMSl7Zj1i
O2w9MjAwNzticmVha31lbHNle2s9an19Y1tpPj4yXT1rO2o9YisxfDA7aWYoKGp8MCk8KGR8MCkp
e2k9aSs0fDA7Yj1qfWVsc2V7Zj1qO2w9MjAwODticmVha319aWYoKGx8MCk9PTIwMDgpe3JldHVy
biBmfDB9ZWxzZSBpZigobHwwKT09MjAwNyl7cmV0dXJuIGZ8MH1yZXR1cm4gMH1mdW5jdGlvbiBl
TyhhKXthPWF8MDt2YXIgYj0wLGQ9MDtpZigoYjBbY1soY1thPj4yXXwwKSszNj4+Ml0mMTI3XShh
KXwwKT09LTEpe2I9LTE7cmV0dXJuIGJ8MH1kPWErMTJ8MDthPWNbZD4+Ml18MDtjW2Q+PjJdPWEr
NDtiPWNbYT4+Ml18MDtyZXR1cm4gYnwwfWZ1bmN0aW9uIGVQKGEsYixkKXthPWF8MDtiPWJ8MDtk
PWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtlPWE7aWYoKGR8MCk8PTAp
e2Y9MDtyZXR1cm4gZnwwfWc9YSsyNHwwO2g9YSsyOHwwO2k9MDtqPWI7d2hpbGUoMSl7Yj1jW2c+
PjJdfDA7aWYoYj4+PjA8KGNbaD4+Ml18MCk+Pj4wKXtrPWNbaj4+Ml18MDtjW2c+PjJdPWIrNDtj
W2I+PjJdPWt9ZWxzZXtpZigoYl9bY1soY1tlPj4yXXwwKSs1Mj4+Ml0mMzFdKGEsY1tqPj4yXXww
KXwwKT09LTEpe2Y9aTtsPTIwMjM7YnJlYWt9fWs9aSsxfDA7aWYoKGt8MCk8KGR8MCkpe2k9aztq
PWorNHwwfWVsc2V7Zj1rO2w9MjAyMjticmVha319aWYoKGx8MCk9PTIwMjMpe3JldHVybiBmfDB9
ZWxzZSBpZigobHwwKT09MjAyMil7cmV0dXJuIGZ8MH1yZXR1cm4gMH1mdW5jdGlvbiBlUShhKXth
PWF8MDtlRChhKzh8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGVSKGEpe2E9YXwwO2VEKGErOHww
KTtyZXR1cm59ZnVuY3Rpb24gZVMoYSl7YT1hfDA7dmFyIGI9MCxkPTA7Yj1hO2Q9Y1soY1thPj4y
XXwwKS0xMj4+Ml18MDtlRChiKyhkKzgpfDApO2tTKGIrZHwwKTtyZXR1cm59ZnVuY3Rpb24gZVQo
YSl7YT1hfDA7ZUQoYSsoKGNbKGNbYT4+Ml18MCktMTI+PjJdfDApKzgpfDApO3JldHVybn1mdW5j
dGlvbiBlVShhKXthPWF8MDtlRChhKzh8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGVWKGEpe2E9
YXwwO2VEKGErOHwwKTtyZXR1cm59ZnVuY3Rpb24gZVcoYSl7YT1hfDA7dmFyIGI9MCxkPTA7Yj1h
O2Q9Y1soY1thPj4yXXwwKS0xMj4+Ml18MDtlRChiKyhkKzgpfDApO2tTKGIrZHwwKTtyZXR1cm59
ZnVuY3Rpb24gZVgoYSl7YT1hfDA7ZUQoYSsoKGNbKGNbYT4+Ml18MCktMTI+PjJdfDApKzgpfDAp
O3JldHVybn1mdW5jdGlvbiBlWShhKXthPWF8MDtlRChhKzR8MCk7a1MoYSk7cmV0dXJufWZ1bmN0
aW9uIGVaKGEpe2E9YXwwO2VEKGErNHwwKTtyZXR1cm59ZnVuY3Rpb24gZV8oYSl7YT1hfDA7dmFy
IGI9MCxkPTA7Yj1hO2Q9Y1soY1thPj4yXXwwKS0xMj4+Ml18MDtlRChiKyhkKzQpfDApO2tTKGIr
ZHwwKTtyZXR1cm59ZnVuY3Rpb24gZSQoYSl7YT1hfDA7ZUQoYSsoKGNbKGNbYT4+Ml18MCktMTI+
PjJdfDApKzQpfDApO3JldHVybn1mdW5jdGlvbiBlMChhKXthPWF8MDtlRChhKzR8MCk7a1MoYSk7
cmV0dXJufWZ1bmN0aW9uIGUxKGEpe2E9YXwwO2VEKGErNHwwKTtyZXR1cm59ZnVuY3Rpb24gZTIo
YSl7YT1hfDA7dmFyIGI9MCxkPTA7Yj1hO2Q9Y1soY1thPj4yXXwwKS0xMj4+Ml18MDtlRChiKyhk
KzQpfDApO2tTKGIrZHwwKTtyZXR1cm59ZnVuY3Rpb24gZTMoYSl7YT1hfDA7ZUQoYSsoKGNbKGNb
YT4+Ml18MCktMTI+PjJdfDApKzQpfDApO3JldHVybn1mdW5jdGlvbiBlNChhLGIsYyl7YT1hfDA7
Yj1ifDA7Yz1jfDA7aWYoKGN8MCk9PTEpe2RaKGEsMTY0MCwzNSk7cmV0dXJufWVsc2V7ZEsoYSxi
fDAsYyk7cmV0dXJufX1mdW5jdGlvbiBlNShhKXthPWF8MDtkZihhfDApO3JldHVybn1mdW5jdGlv
biBlNihhKXthPWF8MDtkTyhhfDApO2tTKGEpO3JldHVybn1mdW5jdGlvbiBlNyhhKXthPWF8MDtk
TyhhfDApO3JldHVybn1mdW5jdGlvbiBlOChhKXthPWF8MDtlRChhKTtrUyhhKTtyZXR1cm59ZnVu
Y3Rpb24gZTkoYSl7YT1hfDA7ZGYoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gZmEoYSl7YT1h
fDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gZmIoYSl7YT1hfDA7ZGUoYXwwKTtyZXR1
cm59ZnVuY3Rpb24gZmMoYSl7YT1hfDA7ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24gZmQoYixkLGUs
Zil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTA7ZD1lO2c9
Zi1kfDA7ZG97aWYoKGd8MCk9PS0xKXtkWChiKTtoPTIwNTh9ZWxzZXtpZihnPj4+MD49MTEpe2g9
MjA1ODticmVha31hW2JdPWc8PDEmMjU1O2k9YisxfDB9fXdoaWxlKDApO2lmKChofDApPT0yMDU4
KXtoPWcrMTYmLTE2O2o9a08oaCl8MDtjW2IrOD4+Ml09ajtjW2I+PjJdPWh8MTtjW2IrND4+Ml09
ZztpPWp9aWYoKGV8MCk9PShmfDApKXtrPWk7YVtrXT0wO3JldHVybn1qPWYrKC1kfDApfDA7ZD1p
O2c9ZTt3aGlsZSgxKXthW2RdPWFbZ118MDtlPWcrMXwwO2lmKChlfDApPT0oZnwwKSl7YnJlYWt9
ZWxzZXtkPWQrMXwwO2c9ZX19az1pK2p8MDthW2tdPTA7cmV0dXJufWZ1bmN0aW9uIGZlKGEpe2E9
YXwwO2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGZmKGEpe2E9YXwwO2RlKGF8MCk7cmV0
dXJufWZ1bmN0aW9uIGZnKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTA7
ZD1pO2k9aSs4fDA7ZT1kfDA7Zj1iO2c9Y1soY1tmPj4yXXwwKS0xMj4+Ml18MDtoPWI7aWYoKGNb
aCsoZysyNCk+PjJdfDApPT0wKXtpPWQ7cmV0dXJuIGJ8MH1qPWV8MDthW2pdPTA7Y1tlKzQ+PjJd
PWI7ZG97aWYoKGNbaCsoZysxNik+PjJdfDApPT0wKXtrPWNbaCsoZys3Mik+PjJdfDA7aWYoKGt8
MCkhPTApe2ZnKGspfDB9YVtqXT0xO2s9Y1toKygoY1soY1tmPj4yXXwwKS0xMj4+Ml18MCkrMjQp
Pj4yXXwwO2lmKChiMFtjWyhjW2s+PjJdfDApKzI0Pj4yXSYxMjddKGspfDApIT0tMSl7YnJlYWt9
az1jWyhjW2Y+PjJdfDApLTEyPj4yXXwwO2VDKGgra3wwLGNbaCsoaysxNik+PjJdfDEpfX13aGls
ZSgwKTtmaShlKTtpPWQ7cmV0dXJuIGJ8MH1mdW5jdGlvbiBmaChiKXtiPWJ8MDt2YXIgZD0wLGU9
MCxmPTAsZz0wLGg9MCxqPTAsaz0wO2Q9aTtpPWkrOHwwO2U9ZHwwO2Y9YjtnPWNbKGNbZj4+Ml18
MCktMTI+PjJdfDA7aD1iO2lmKChjW2grKGcrMjQpPj4yXXwwKT09MCl7aT1kO3JldHVybiBifDB9
aj1lfDA7YVtqXT0wO2NbZSs0Pj4yXT1iO2Rve2lmKChjW2grKGcrMTYpPj4yXXwwKT09MCl7az1j
W2grKGcrNzIpPj4yXXwwO2lmKChrfDApIT0wKXtmaChrKXwwfWFbal09MTtrPWNbaCsoKGNbKGNb
Zj4+Ml18MCktMTI+PjJdfDApKzI0KT4+Ml18MDtpZigoYjBbY1soY1trPj4yXXwwKSsyND4+Ml0m
MTI3XShrKXwwKSE9LTEpe2JyZWFrfWs9Y1soY1tmPj4yXXwwKS0xMj4+Ml18MDtlQyhoK2t8MCxj
W2grKGsrMTYpPj4yXXwxKX19d2hpbGUoMCk7ZmooZSk7aT1kO3JldHVybiBifDB9ZnVuY3Rpb24g
ZmkoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wO2I9YSs0fDA7YT1jW2I+PjJdfDA7ZD1jWyhjW2E+
PjJdfDApLTEyPj4yXXwwO2U9YTtpZigoY1tlKyhkKzI0KT4+Ml18MCk9PTApe3JldHVybn1pZigo
Y1tlKyhkKzE2KT4+Ml18MCkhPTApe3JldHVybn1pZigoY1tlKyhkKzQpPj4yXSY4MTkyfDApPT0w
KXtyZXR1cm59aWYoYmgoKXwwKXtyZXR1cm59ZD1jW2I+PjJdfDA7ZT1jW2QrKChjWyhjW2Q+PjJd
fDApLTEyPj4yXXwwKSsyNCk+PjJdfDA7aWYoKGIwW2NbKGNbZT4+Ml18MCkrMjQ+PjJdJjEyN10o
ZSl8MCkhPS0xKXtyZXR1cm59ZT1jW2I+PjJdfDA7Yj1jWyhjW2U+PjJdfDApLTEyPj4yXXwwO2Q9
ZTtlQyhkK2J8MCxjW2QrKGIrMTYpPj4yXXwxKTtyZXR1cm59ZnVuY3Rpb24gZmooYSl7YT1hfDA7
dmFyIGI9MCxkPTAsZT0wO2I9YSs0fDA7YT1jW2I+PjJdfDA7ZD1jWyhjW2E+PjJdfDApLTEyPj4y
XXwwO2U9YTtpZigoY1tlKyhkKzI0KT4+Ml18MCk9PTApe3JldHVybn1pZigoY1tlKyhkKzE2KT4+
Ml18MCkhPTApe3JldHVybn1pZigoY1tlKyhkKzQpPj4yXSY4MTkyfDApPT0wKXtyZXR1cm59aWYo
YmgoKXwwKXtyZXR1cm59ZD1jW2I+PjJdfDA7ZT1jW2QrKChjWyhjW2Q+PjJdfDApLTEyPj4yXXww
KSsyNCk+PjJdfDA7aWYoKGIwW2NbKGNbZT4+Ml18MCkrMjQ+PjJdJjEyN10oZSl8MCkhPS0xKXty
ZXR1cm59ZT1jW2I+PjJdfDA7Yj1jWyhjW2U+PjJdfDApLTEyPj4yXXwwO2Q9ZTtlQyhkK2J8MCxj
W2QrKGIrMTYpPj4yXXwxKTtyZXR1cm59ZnVuY3Rpb24gZmsoYSxiLGQsZSxmKXthPWF8MDtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTA7TDI1OTY6ZG97
aWYoKGV8MCk9PShmfDApKXtnPWJ9ZWxzZXthPWI7aD1lO3doaWxlKDEpe2lmKChhfDApPT0oZHww
KSl7aT0tMTtqPTIxNDc7YnJlYWt9az1jW2E+PjJdfDA7bD1jW2g+PjJdfDA7aWYoKGt8MCk8KGx8
MCkpe2k9LTE7aj0yMTUwO2JyZWFrfWlmKChsfDApPChrfDApKXtpPTE7aj0yMTQ4O2JyZWFrfWs9
YSs0fDA7bD1oKzR8MDtpZigobHwwKT09KGZ8MCkpe2c9azticmVhayBMMjU5Nn1lbHNle2E9azto
PWx9fWlmKChqfDApPT0yMTQ4KXtyZXR1cm4gaXwwfWVsc2UgaWYoKGp8MCk9PTIxNDcpe3JldHVy
biBpfDB9ZWxzZSBpZigoanwwKT09MjE1MCl7cmV0dXJuIGl8MH19fXdoaWxlKDApO2k9KGd8MCkh
PShkfDApfDA7cmV0dXJuIGl8MH1mdW5jdGlvbiBmbChhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7
dmFyIGU9MCxmPTAsZz0wLGg9MDtpZigoYnwwKT09KGR8MCkpe2U9MDtyZXR1cm4gZXwwfWVsc2V7
Zj1iO2c9MH13aGlsZSgxKXtiPShjW2Y+PjJdfDApKyhnPDw0KXwwO2E9YiYtMjY4NDM1NDU2O2g9
KGE+Pj4yNHxhKV5iO2I9Zis0fDA7aWYoKGJ8MCk9PShkfDApKXtlPWg7YnJlYWt9ZWxzZXtmPWI7
Zz1ofX1yZXR1cm4gZXwwfWZ1bmN0aW9uIGZtKGIsZCxlLGYpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9
ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wO2Q9ZTtnPWYtZHwwO2g9Zz4+MjtpZihoPj4+MD4x
MDczNzQxODIyKXtkWChiKX1pZihoPj4+MDwyKXthW2JdPWc+Pj4xJjI1NTtpPWIrNHwwfWVsc2V7
Zz1oKzQmLTQ7aj1rTyhnPDwyKXwwO2NbYis4Pj4yXT1qO2NbYj4+Ml09Z3wxO2NbYis0Pj4yXT1o
O2k9an1pZigoZXwwKT09KGZ8MCkpe2s9aTtjW2s+PjJdPTA7cmV0dXJufWo9KGYtNCsoLWR8MCl8
MCk+Pj4yO2Q9aTtoPWU7d2hpbGUoMSl7Y1tkPj4yXT1jW2g+PjJdO2U9aCs0fDA7aWYoKGV8MCk9
PShmfDApKXticmVha31lbHNle2Q9ZCs0fDA7aD1lfX1rPWkrKGorMTw8Mil8MDtjW2s+PjJdPTA7
cmV0dXJufWZ1bmN0aW9uIGZuKGEpe2E9YXwwO2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9u
IGZvKGEpe2E9YXwwO2RlKGF8MCk7cmV0dXJufWZ1bmN0aW9uIGZwKGIsZCxlLGYsZyxoLGope2I9
YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wO2s9
aTtpPWkrMTEyfDA7bD1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1tsPj4yXTts
PWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9a3wwO209aysxNnww
O249ayszMnwwO289ays0MHwwO3A9ays0OHwwO3E9ays1NnwwO3I9ays2NHwwO3M9ays3MnwwO3Q9
ays4MHwwO3U9aysxMDR8MDtpZigoY1tnKzQ+PjJdJjF8MCk9PTApe2Nbbj4+Ml09LTE7dj1jWyhj
W2Q+PjJdfDApKzE2Pj4yXXwwO3c9ZXwwO2NbcD4+Ml09Y1t3Pj4yXTtjW3E+PjJdPWNbZj4+Ml07
YlhbdiYxMjddKG8sZCxwLHEsZyxoLG4pO3E9Y1tvPj4yXXwwO2Nbdz4+Ml09cTtzd2l0Y2goY1tu
Pj4yXXwwKXtjYXNlIDE6e2Fbal09MTticmVha307Y2FzZSAwOnthW2pdPTA7YnJlYWt9O2RlZmF1
bHQ6e2Fbal09MTtjW2g+PjJdPTR9fWNbYj4+Ml09cTtpPWs7cmV0dXJufWVqKHIsZyk7cT1yfDA7
cj1jW3E+PjJdfDA7aWYoKGNbMzkyNF18MCkhPS0xKXtjW20+PjJdPTE1Njk2O2NbbSs0Pj4yXT0x
MjtjW20rOD4+Ml09MDtkVygxNTY5NixtLDk2KX1tPShjWzM5MjVdfDApLTF8MDtuPWNbcis4Pj4y
XXwwO2Rve2lmKChjW3IrMTI+PjJdfDApLW4+PjI+Pj4wPm0+Pj4wKXt3PWNbbisobTw8Mik+PjJd
fDA7aWYoKHd8MCk9PTApe2JyZWFrfW89dzt3PWNbcT4+Ml18MDtkeih3KXwwO2VqKHMsZyk7dz1z
fDA7cD1jW3c+PjJdfDA7aWYoKGNbMzgyOF18MCkhPS0xKXtjW2w+PjJdPTE1MzEyO2NbbCs0Pj4y
XT0xMjtjW2wrOD4+Ml09MDtkVygxNTMxMixsLDk2KX1kPShjWzM4MjldfDApLTF8MDt2PWNbcCs4
Pj4yXXwwO2Rve2lmKChjW3ArMTI+PjJdfDApLXY+PjI+Pj4wPmQ+Pj4wKXt4PWNbdisoZDw8Mik+
PjJdfDA7aWYoKHh8MCk9PTApe2JyZWFrfXk9eDt6PWNbdz4+Ml18MDtkeih6KXwwO3o9dHwwO0E9
eDtiWltjWyhjW0E+PjJdfDApKzI0Pj4yXSYxMjddKHoseSk7YlpbY1soY1tBPj4yXXwwKSsyOD4+
Ml0mMTI3XSh0KzEyfDAseSk7Y1t1Pj4yXT1jW2Y+PjJdO2Fbal09KGZxKGUsdSx6LHQrMjR8MCxv
LGgsMSl8MCk9PSh6fDApfDA7Y1tiPj4yXT1jW2U+PjJdO2RQKHQrMTJ8MCk7ZFAodHwwKTtpPWs7
cmV0dXJufX13aGlsZSgwKTtvPWJPKDQpfDA7a3Eobyk7Ymwob3wwLDgxNzYsMTM0KX19d2hpbGUo
MCk7az1iTyg0KXwwO2txKGspO2JsKGt8MCw4MTc2LDEzNCl9ZnVuY3Rpb24gZnEoYixlLGYsZyxo
LGosayl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxt
PTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9
MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0w
LFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wLFk9MCxaPTAsXz0wLCQ9MCxhYT0w
O2w9aTtpPWkrMTA0fDA7bT1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1ttPj4y
XTttPShnLWZ8MCkvMTJ8MDtuPWx8MDtkb3tpZihtPj4+MD4xMDApe289a0oobSl8MDtpZigob3ww
KSE9MCl7cD1vO3E9bzticmVha31rWCgpO3A9MDtxPTB9ZWxzZXtwPW47cT0wfX13aGlsZSgwKTtu
PShmfDApPT0oZ3wwKTtpZihuKXtyPW07cz0wfWVsc2V7bz1tO209MDt0PXA7dT1mO3doaWxlKDEp
e3Y9ZFt1XXwwO2lmKCh2JjF8MCk9PTApe3c9dj4+PjF9ZWxzZXt3PWNbdSs0Pj4yXXwwfWlmKCh3
fDApPT0wKXthW3RdPTI7eD1tKzF8MDt5PW8tMXwwfWVsc2V7YVt0XT0xO3g9bTt5PW99dj11KzEy
fDA7aWYoKHZ8MCk9PShnfDApKXtyPXk7cz14O2JyZWFrfWVsc2V7bz15O209eDt0PXQrMXwwO3U9
dn19fXU9YnwwO2I9ZXwwO2U9aDt0PTA7eD1zO3M9cjt3aGlsZSgxKXtyPWNbdT4+Ml18MDtkb3tp
ZigocnwwKT09MCl7ej0wfWVsc2V7aWYoKGNbcisxMj4+Ml18MCkhPShjW3IrMTY+PjJdfDApKXt6
PXI7YnJlYWt9aWYoKGIwW2NbKGNbcj4+Ml18MCkrMzY+PjJdJjEyN10ocil8MCk9PS0xKXtjW3U+
PjJdPTA7ej0wO2JyZWFrfWVsc2V7ej1jW3U+PjJdfDA7YnJlYWt9fX13aGlsZSgwKTtyPSh6fDAp
PT0wO209Y1tiPj4yXXwwO2lmKChtfDApPT0wKXtBPXo7Qj0wfWVsc2V7ZG97aWYoKGNbbSsxMj4+
Ml18MCk9PShjW20rMTY+PjJdfDApKXtpZigoYjBbY1soY1ttPj4yXXwwKSszNj4+Ml0mMTI3XSht
KXwwKSE9LTEpe0M9bTticmVha31jW2I+PjJdPTA7Qz0wfWVsc2V7Qz1tfX13aGlsZSgwKTtBPWNb
dT4+Ml18MDtCPUN9RD0oQnwwKT09MDtpZighKChyXkQpJihzfDApIT0wKSl7YnJlYWt9bT1jW0Er
MTI+PjJdfDA7aWYoKG18MCk9PShjW0ErMTY+PjJdfDApKXtFPShiMFtjWyhjW0E+PjJdfDApKzM2
Pj4yXSYxMjddKEEpfDApJjI1NX1lbHNle0U9YVttXXwwfWlmKGspe0Y9RX1lbHNle0Y9Yl9bY1so
Y1tlPj4yXXwwKSsxMj4+Ml0mMzFdKGgsRSl8MH1kb3tpZihuKXtHPXg7SD1zfWVsc2V7bT10KzF8
MDtMMjcwNzpkb3tpZihrKXt5PXM7bz14O3c9cDt2PTA7ST1mO3doaWxlKDEpe2Rve2lmKChhW3dd
fDApPT0xKXtKPUk7aWYoKGFbSl0mMSk9PTApe0s9SSsxfDB9ZWxzZXtLPWNbSSs4Pj4yXXwwfWlm
KEY8PDI0Pj4yNCE9KGFbSyt0fDBdfDApKXthW3ddPTA7TD12O009bztOPXktMXwwO2JyZWFrfU89
ZFtKXXwwO2lmKChPJjF8MCk9PTApe1A9Tz4+PjF9ZWxzZXtQPWNbSSs0Pj4yXXwwfWlmKChQfDAp
IT0obXwwKSl7TD0xO009bztOPXk7YnJlYWt9YVt3XT0yO0w9MTtNPW8rMXwwO049eS0xfDB9ZWxz
ZXtMPXY7TT1vO049eX19d2hpbGUoMCk7Tz1JKzEyfDA7aWYoKE98MCk9PShnfDApKXtRPU47Uj1N
O1M9TDticmVhayBMMjcwN315PU47bz1NO3c9dysxfDA7dj1MO0k9T319ZWxzZXtJPXM7dj14O3c9
cDtvPTA7eT1mO3doaWxlKDEpe2Rve2lmKChhW3ddfDApPT0xKXtPPXk7aWYoKGFbT10mMSk9PTAp
e1Q9eSsxfDB9ZWxzZXtUPWNbeSs4Pj4yXXwwfWlmKEY8PDI0Pj4yNCE9KGJfW2NbKGNbZT4+Ml18
MCkrMTI+PjJdJjMxXShoLGFbVCt0fDBdfDApfDApPDwyND4+MjQpe2Fbd109MDtVPW87Vj12O1c9
SS0xfDA7YnJlYWt9Sj1kW09dfDA7aWYoKEomMXwwKT09MCl7WD1KPj4+MX1lbHNle1g9Y1t5KzQ+
PjJdfDB9aWYoKFh8MCkhPShtfDApKXtVPTE7Vj12O1c9STticmVha31hW3ddPTI7VT0xO1Y9disx
fDA7Vz1JLTF8MH1lbHNle1U9bztWPXY7Vz1JfX13aGlsZSgwKTtKPXkrMTJ8MDtpZigoSnwwKT09
KGd8MCkpe1E9VztSPVY7Uz1VO2JyZWFrIEwyNzA3fUk9Vzt2PVY7dz13KzF8MDtvPVU7eT1KfX19
d2hpbGUoMCk7aWYoIVMpe0c9UjtIPVE7YnJlYWt9bT1jW3U+PjJdfDA7eT1tKzEyfDA7bz1jW3k+
PjJdfDA7aWYoKG98MCk9PShjW20rMTY+PjJdfDApKXt3PWNbKGNbbT4+Ml18MCkrNDA+PjJdfDA7
YjBbdyYxMjddKG0pfDB9ZWxzZXtjW3k+PjJdPW8rMX1pZigoUitRfDApPj4+MDwyfG4pe0c9UjtI
PVE7YnJlYWt9bz10KzF8MDt5PVI7bT1wO3c9Zjt3aGlsZSgxKXtkb3tpZigoYVttXXwwKT09Mil7
dj1kW3ddfDA7aWYoKHYmMXwwKT09MCl7WT12Pj4+MX1lbHNle1k9Y1t3KzQ+PjJdfDB9aWYoKFl8
MCk9PShvfDApKXtaPXk7YnJlYWt9YVttXT0wO1o9eS0xfDB9ZWxzZXtaPXl9fXdoaWxlKDApO3Y9
dysxMnwwO2lmKCh2fDApPT0oZ3wwKSl7Rz1aO0g9UTticmVha31lbHNle3k9WjttPW0rMXwwO3c9
dn19fX13aGlsZSgwKTt0PXQrMXwwO3g9RztzPUh9ZG97aWYoKEF8MCk9PTApe189MH1lbHNle2lm
KChjW0ErMTI+PjJdfDApIT0oY1tBKzE2Pj4yXXwwKSl7Xz1BO2JyZWFrfWlmKChiMFtjWyhjW0E+
PjJdfDApKzM2Pj4yXSYxMjddKEEpfDApPT0tMSl7Y1t1Pj4yXT0wO189MDticmVha31lbHNle189
Y1t1Pj4yXXwwO2JyZWFrfX19d2hpbGUoMCk7dT0oX3wwKT09MDtkb3tpZihEKXskPTIyOTN9ZWxz
ZXtpZigoY1tCKzEyPj4yXXwwKSE9KGNbQisxNj4+Ml18MCkpe2lmKHUpe2JyZWFrfWVsc2V7JD0y
Mjk1O2JyZWFrfX1pZigoYjBbY1soY1tCPj4yXXwwKSszNj4+Ml0mMTI3XShCKXwwKT09LTEpe2Nb
Yj4+Ml09MDskPTIyOTM7YnJlYWt9ZWxzZXtpZih1XihCfDApPT0wKXticmVha31lbHNleyQ9MjI5
NTticmVha319fX13aGlsZSgwKTtpZigoJHwwKT09MjI5Myl7aWYodSl7JD0yMjk1fX1pZigoJHww
KT09MjI5NSl7Y1tqPj4yXT1jW2o+PjJdfDJ9TDI3ODY6ZG97aWYobil7JD0yMzAwfWVsc2V7dT1m
O0I9cDt3aGlsZSgxKXtpZigoYVtCXXwwKT09Mil7YWE9dTticmVhayBMMjc4Nn1iPXUrMTJ8MDtp
ZigoYnwwKT09KGd8MCkpeyQ9MjMwMDticmVhayBMMjc4Nn11PWI7Qj1CKzF8MH19fXdoaWxlKDAp
O2lmKCgkfDApPT0yMzAwKXtjW2o+PjJdPWNbaj4+Ml18NDthYT1nfWlmKChxfDApPT0wKXtpPWw7
cmV0dXJuIGFhfDB9a0socSk7aT1sO3JldHVybiBhYXwwfWZ1bmN0aW9uIGZyKGIsZSxmLGcsaCxq
LGspe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0w
LG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAs
Qj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQ
PTAsUT0wLFI9MCxTPTAsVD0wLFU9MDtlPWk7aT1pKzcyfDA7bD1mO2Y9aTtpPWkrNHwwO2k9aSs3
Pj4zPDwzO2NbZj4+Ml09Y1tsPj4yXTtsPWc7Zz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tnPj4y
XT1jW2w+PjJdO2w9ZSszMnwwO209ZSs0MHwwO249ZSs1NnwwO289bjtwPWk7aT1pKzR8MDtpPWkr
Nz4+Mzw8MztxPWk7aT1pKzE2MHwwO3I9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3M9aTtpPWkrNHww
O2k9aSs3Pj4zPDwzO3N3aXRjaChjW2grND4+Ml0mNzR8MCl7Y2FzZSA2NDp7dD04O2JyZWFrfTtj
YXNlIDg6e3Q9MTY7YnJlYWt9O2Nhc2UgMDp7dD0wO2JyZWFrfTtkZWZhdWx0Ont0PTEwfX11PWV8
MDtmeChtLGgsdSxsKTtrJChvfDAsMCwxMik7aD1uO2RSKG4sMTAsMCk7aWYoKGFbb10mMSk9PTAp
e3Y9aCsxfDA7dz12O3g9djt5PW4rOHwwfWVsc2V7dj1uKzh8MDt3PWNbdj4+Ml18MDt4PWgrMXww
O3k9dn1jW3A+PjJdPXc7dj1xfDA7Y1tyPj4yXT12O2Nbcz4+Ml09MDtoPWZ8MDtmPWd8MDtnPW58
MDt6PW4rNHwwO0E9YVtsXXwwO2w9dzt3PWNbaD4+Ml18MDtMMjgwOTp3aGlsZSgxKXtkb3tpZigo
d3wwKT09MCl7Qj0wfWVsc2V7aWYoKGNbdysxMj4+Ml18MCkhPShjW3crMTY+PjJdfDApKXtCPXc7
YnJlYWt9aWYoKGIwW2NbKGNbdz4+Ml18MCkrMzY+PjJdJjEyN10odyl8MCkhPS0xKXtCPXc7YnJl
YWt9Y1toPj4yXT0wO0I9MH19d2hpbGUoMCk7Qz0oQnwwKT09MDtEPWNbZj4+Ml18MDtkb3tpZigo
RHwwKT09MCl7RT0yMzI3fWVsc2V7aWYoKGNbRCsxMj4+Ml18MCkhPShjW0QrMTY+PjJdfDApKXtp
ZihDKXtGPUQ7Rz0wO2JyZWFrfWVsc2V7SD1sO0k9RDtKPTA7YnJlYWsgTDI4MDl9fWlmKChiMFtj
WyhjW0Q+PjJdfDApKzM2Pj4yXSYxMjddKEQpfDApPT0tMSl7Y1tmPj4yXT0wO0U9MjMyNzticmVh
a31lbHNle0s9KER8MCk9PTA7aWYoQ15LKXtGPUQ7Rz1LO2JyZWFrfWVsc2V7SD1sO0k9RDtKPUs7
YnJlYWsgTDI4MDl9fX19d2hpbGUoMCk7aWYoKEV8MCk9PTIzMjcpe0U9MDtpZihDKXtIPWw7ST0w
O0o9MTticmVha31lbHNle0Y9MDtHPTF9fUQ9ZFtvXXwwO0s9KEQmMXwwKT09MDtpZigoKGNbcD4+
Ml18MCktbHwwKT09KChLP0Q+Pj4xOmNbej4+Ml18MCl8MCkpe2lmKEspe0w9RD4+PjE7TT1EPj4+
MX1lbHNle0Q9Y1t6Pj4yXXwwO0w9RDtNPUR9ZFIobixMPDwxLDApO2lmKChhW29dJjEpPT0wKXtO
PTEwfWVsc2V7Tj0oY1tnPj4yXSYtMiktMXwwfWRSKG4sTiwwKTtpZigoYVtvXSYxKT09MCl7Tz14
fWVsc2V7Tz1jW3k+PjJdfDB9Y1twPj4yXT1PK007UD1PfWVsc2V7UD1sfUQ9QisxMnwwO0s9Y1tE
Pj4yXXwwO1E9QisxNnwwO2lmKChLfDApPT0oY1tRPj4yXXwwKSl7Uj0oYjBbY1soY1tCPj4yXXww
KSszNj4+Ml0mMTI3XShCKXwwKSYyNTV9ZWxzZXtSPWFbS118MH1pZigoZnMoUix0LFAscCxzLEEs
bSx2LHIsdSl8MCkhPTApe0g9UDtJPUY7Sj1HO2JyZWFrfUs9Y1tEPj4yXXwwO2lmKChLfDApPT0o
Y1tRPj4yXXwwKSl7UT1jWyhjW0I+PjJdfDApKzQwPj4yXXwwO2IwW1EmMTI3XShCKXwwO2w9UDt3
PUI7Y29udGludWV9ZWxzZXtjW0Q+PjJdPUsrMTtsPVA7dz1CO2NvbnRpbnVlfX13PWRbbV18MDtp
ZigodyYxfDApPT0wKXtTPXc+Pj4xfWVsc2V7Uz1jW20rND4+Ml18MH1kb3tpZigoU3wwKSE9MCl7
dz1jW3I+PjJdfDA7aWYoKHctcXwwKT49MTYwKXticmVha31QPWNbcz4+Ml18MDtjW3I+PjJdPXcr
NDtjW3c+PjJdPVB9fXdoaWxlKDApO2Nbaz4+Ml09ZnUoSCxjW3A+PjJdfDAsaix0KXwwO2Z0KG0s
dixjW3I+PjJdfDAsaik7ZG97aWYoQyl7VD0wfWVsc2V7aWYoKGNbQisxMj4+Ml18MCkhPShjW0Ir
MTY+PjJdfDApKXtUPUI7YnJlYWt9aWYoKGIwW2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8
MCkhPS0xKXtUPUI7YnJlYWt9Y1toPj4yXT0wO1Q9MH19d2hpbGUoMCk7aD0oVHwwKT09MDtMMjg2
OTpkb3tpZihKKXtFPTIzNjh9ZWxzZXtkb3tpZigoY1tJKzEyPj4yXXwwKT09KGNbSSsxNj4+Ml18
MCkpe2lmKChiMFtjWyhjW0k+PjJdfDApKzM2Pj4yXSYxMjddKEkpfDApIT0tMSl7YnJlYWt9Y1tm
Pj4yXT0wO0U9MjM2ODticmVhayBMMjg2OX19d2hpbGUoMCk7aWYoIShoXihJfDApPT0wKSl7YnJl
YWt9VT1ifDA7Y1tVPj4yXT1UO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lm
KChFfDApPT0yMzY4KXtpZihoKXticmVha31VPWJ8MDtjW1U+PjJdPVQ7ZFAobik7ZFAobSk7aT1l
O3JldHVybn19d2hpbGUoMCk7Y1tqPj4yXT1jW2o+PjJdfDI7VT1ifDA7Y1tVPj4yXT1UO2RQKG4p
O2RQKG0pO2k9ZTtyZXR1cm59ZnVuY3Rpb24gZnMoYixlLGYsZyxoLGksaixrLGwsbSl7Yj1ifDA7
ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7aj1qfDA7az1rfDA7bD1sfDA7bT1tfDA7dmFy
IG49MCxvPTAscD0wLHE9MCxyPTAscz0wO249Y1tnPj4yXXwwO289KG58MCk9PShmfDApO2Rve2lm
KG8pe3A9KGFbbSsyNHwwXXwwKT09Yjw8MjQ+PjI0O2lmKCFwKXtpZigoYVttKzI1fDBdfDApIT1i
PDwyND4+MjQpe2JyZWFrfX1jW2c+PjJdPWYrMTthW2ZdPXA/NDM6NDU7Y1toPj4yXT0wO3E9MDty
ZXR1cm4gcXwwfX13aGlsZSgwKTtwPWRbal18MDtpZigocCYxfDApPT0wKXtyPXA+Pj4xfWVsc2V7
cj1jW2orND4+Ml18MH1pZigocnwwKSE9MCZiPDwyND4+MjQ9PWk8PDI0Pj4yNCl7aT1jW2w+PjJd
fDA7aWYoKGkta3wwKT49MTYwKXtxPTA7cmV0dXJuIHF8MH1rPWNbaD4+Ml18MDtjW2w+PjJdPWkr
NDtjW2k+PjJdPWs7Y1toPj4yXT0wO3E9MDtyZXR1cm4gcXwwfWs9bSsyNnwwO2k9bTt3aGlsZSgx
KXtpZigoaXwwKT09KGt8MCkpe3M9azticmVha31pZigoYVtpXXwwKT09Yjw8MjQ+PjI0KXtzPWk7
YnJlYWt9ZWxzZXtpPWkrMXwwfX1pPXMtbXwwO2lmKChpfDApPjIzKXtxPS0xO3JldHVybiBxfDB9
TDI5MDg6ZG97c3dpdGNoKGV8MCl7Y2FzZSA4OmNhc2UgMTA6e2lmKChpfDApPChlfDApKXticmVh
ayBMMjkwOH1lbHNle3E9LTF9cmV0dXJuIHF8MH07Y2FzZSAxNjp7aWYoKGl8MCk8MjIpe2JyZWFr
IEwyOTA4fWlmKG8pe3E9LTE7cmV0dXJuIHF8MH1pZigobi1mfDApPj0zKXtxPS0xO3JldHVybiBx
fDB9aWYoKGFbbi0xfDBdfDApIT00OCl7cT0tMTtyZXR1cm4gcXwwfWNbaD4+Ml09MDttPWFbOTc0
NCtpfDBdfDA7cz1jW2c+PjJdfDA7Y1tnPj4yXT1zKzE7YVtzXT1tO3E9MDtyZXR1cm4gcXwwfTtk
ZWZhdWx0Ont9fX13aGlsZSgwKTtmPWFbOTc0NCtpfDBdfDA7Y1tnPj4yXT1uKzE7YVtuXT1mO2Nb
aD4+Ml09KGNbaD4+Ml18MCkrMTtxPTA7cmV0dXJuIHF8MH1mdW5jdGlvbiBmdChiLGQsZSxmKXti
PWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49
MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTA7Zz1iO2g9YjtpPWFbaF18MDtqPWkmMjU1O2lm
KChqJjF8MCk9PTApe2s9aj4+PjF9ZWxzZXtrPWNbYis0Pj4yXXwwfWlmKChrfDApPT0wKXtyZXR1
cm59ZG97aWYoKGR8MCk9PShlfDApKXtsPWl9ZWxzZXtrPWUtNHwwO2lmKGs+Pj4wPmQ+Pj4wKXtt
PWQ7bj1rfWVsc2V7bD1pO2JyZWFrfWRve2s9Y1ttPj4yXXwwO2NbbT4+Ml09Y1tuPj4yXTtjW24+
PjJdPWs7bT1tKzR8MDtuPW4tNHwwO313aGlsZShtPj4+MDxuPj4+MCk7bD1hW2hdfDB9fXdoaWxl
KDApO2lmKChsJjEpPT0wKXtvPWcrMXwwfWVsc2V7bz1jW2IrOD4+Ml18MH1nPWwmMjU1O2lmKChn
JjF8MCk9PTApe3A9Zz4+PjF9ZWxzZXtwPWNbYis0Pj4yXXwwfWI9ZS00fDA7ZT1hW29dfDA7Zz1l
PDwyND4+MjQ7bD1lPDwyND4+MjQ8MXxlPDwyND4+MjQ9PTEyNztMMjk0Nzpkb3tpZihiPj4+MD5k
Pj4+MCl7ZT1vK3B8MDtoPW87bj1kO209ZztpPWw7d2hpbGUoMSl7aWYoIWkpe2lmKChtfDApIT0o
Y1tuPj4yXXwwKSl7YnJlYWt9fWs9KGUtaHwwKT4xP2grMXwwOmg7aj1uKzR8MDtxPWFba118MDty
PXE8PDI0Pj4yNDtzPXE8PDI0Pj4yNDwxfHE8PDI0Pj4yND09MTI3O2lmKGo+Pj4wPGI+Pj4wKXto
PWs7bj1qO209cjtpPXN9ZWxzZXt0PXI7dT1zO2JyZWFrIEwyOTQ3fX1jW2Y+PjJdPTQ7cmV0dXJu
fWVsc2V7dD1nO3U9bH19d2hpbGUoMCk7aWYodSl7cmV0dXJufXU9Y1tiPj4yXXwwO2lmKCEodD4+
PjA8dT4+PjB8KHV8MCk9PTApKXtyZXR1cm59Y1tmPj4yXT00O3JldHVybn1mdW5jdGlvbiBmdShi
LGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTAsaz0wLGw9MDtn
PWk7aT1pKzh8MDtoPWd8MDtpZigoYnwwKT09KGR8MCkpe2NbZT4+Ml09NDtqPTA7aT1nO3JldHVy
biBqfDB9az1jWyhidygpfDApPj4yXXwwO2NbKGJ3KCl8MCk+PjJdPTA7ZG97aWYoKGFbMTYyNjRd
fDApPT0wKXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXww
fX13aGlsZSgwKTtsPWJJKGJ8MCxofDAsZnwwLGNbMjk1OF18MCl8MDtmPUs7Yj1jWyhidygpfDAp
Pj4yXXwwO2lmKChifDApPT0wKXtjWyhidygpfDApPj4yXT1rfWlmKChjW2g+PjJdfDApIT0oZHww
KSl7Y1tlPj4yXT00O2o9MDtpPWc7cmV0dXJuIGp8MH1kPS0xO2g9MDtpZigoYnwwKT09MzR8KChm
fDApPChkfDApfChmfDApPT0oZHwwKSZsPj4+MDwtMjE0NzQ4MzY0OD4+PjApfCgoZnwwKT4oaHww
KXwoZnwwKT09KGh8MCkmbD4+PjA+MjE0NzQ4MzY0Nz4+PjApKXtjW2U+PjJdPTQ7ZT0wO2o9KGZ8
MCk+KGV8MCl8KGZ8MCk9PShlfDApJmw+Pj4wPjA+Pj4wPzIxNDc0ODM2NDc6LTIxNDc0ODM2NDg7
aT1nO3JldHVybiBqfDB9ZWxzZXtqPWw7aT1nO3JldHVybiBqfDB9cmV0dXJuIDB9ZnVuY3Rpb24g
ZnYoYixlLGYsZyxoLGosayl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1r
fDA7dmFyIGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9
MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxMPTAsTT0w
LE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wO2U9aTtpPWkrNzJ8MDtsPWY7Zj1p
O2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9ZztnPWk7aT1pKzR8MDtpPWkr
Nz4+Mzw8MztjW2c+PjJdPWNbbD4+Ml07bD1lKzMyfDA7bT1lKzQwfDA7bj1lKzU2fDA7bz1uO3A9
aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3E9aTtpPWkrMTYwfDA7cj1pO2k9aSs0fDA7aT1pKzc+PjM8
PDM7cz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7c3dpdGNoKGNbaCs0Pj4yXSY3NHwwKXtjYXNlIDg6
e3Q9MTY7YnJlYWt9O2Nhc2UgNjQ6e3Q9ODticmVha307Y2FzZSAwOnt0PTA7YnJlYWt9O2RlZmF1
bHQ6e3Q9MTB9fXU9ZXwwO2Z4KG0saCx1LGwpO2skKG98MCwwLDEyKTtoPW47ZFIobiwxMCwwKTtp
ZigoYVtvXSYxKT09MCl7dj1oKzF8MDt3PXY7eD12O3k9bis4fDB9ZWxzZXt2PW4rOHwwO3c9Y1t2
Pj4yXXwwO3g9aCsxfDA7eT12fWNbcD4+Ml09dzt2PXF8MDtjW3I+PjJdPXY7Y1tzPj4yXT0wO2g9
ZnwwO2Y9Z3wwO2c9bnwwO3o9bis0fDA7QT1hW2xdfDA7bD13O3c9Y1toPj4yXXwwO0wyOTk3Ondo
aWxlKDEpe2Rve2lmKCh3fDApPT0wKXtCPTB9ZWxzZXtpZigoY1t3KzEyPj4yXXwwKSE9KGNbdysx
Nj4+Ml18MCkpe0I9dzticmVha31pZigoYjBbY1soY1t3Pj4yXXwwKSszNj4+Ml0mMTI3XSh3KXww
KSE9LTEpe0I9dzticmVha31jW2g+PjJdPTA7Qj0wfX13aGlsZSgwKTtDPShCfDApPT0wO0Q9Y1tm
Pj4yXXwwO2Rve2lmKChEfDApPT0wKXtFPTI0NzZ9ZWxzZXtpZigoY1tEKzEyPj4yXXwwKSE9KGNb
RCsxNj4+Ml18MCkpe2lmKEMpe0Y9RDtHPTA7YnJlYWt9ZWxzZXtIPWw7ST1EO0o9MDticmVhayBM
Mjk5N319aWYoKGIwW2NbKGNbRD4+Ml18MCkrMzY+PjJdJjEyN10oRCl8MCk9PS0xKXtjW2Y+PjJd
PTA7RT0yNDc2O2JyZWFrfWVsc2V7TD0oRHwwKT09MDtpZihDXkwpe0Y9RDtHPUw7YnJlYWt9ZWxz
ZXtIPWw7ST1EO0o9TDticmVhayBMMjk5N319fX13aGlsZSgwKTtpZigoRXwwKT09MjQ3Nil7RT0w
O2lmKEMpe0g9bDtJPTA7Sj0xO2JyZWFrfWVsc2V7Rj0wO0c9MX19RD1kW29dfDA7TD0oRCYxfDAp
PT0wO2lmKCgoY1twPj4yXXwwKS1sfDApPT0oKEw/RD4+PjE6Y1t6Pj4yXXwwKXwwKSl7aWYoTCl7
TT1EPj4+MTtOPUQ+Pj4xfWVsc2V7RD1jW3o+PjJdfDA7TT1EO049RH1kUihuLE08PDEsMCk7aWYo
KGFbb10mMSk9PTApe089MTB9ZWxzZXtPPShjW2c+PjJdJi0yKS0xfDB9ZFIobixPLDApO2lmKChh
W29dJjEpPT0wKXtQPXh9ZWxzZXtQPWNbeT4+Ml18MH1jW3A+PjJdPVArTjtRPVB9ZWxzZXtRPWx9
RD1CKzEyfDA7TD1jW0Q+PjJdfDA7Uj1CKzE2fDA7aWYoKEx8MCk9PShjW1I+PjJdfDApKXtTPShi
MFtjWyhjW0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDApJjI1NX1lbHNle1M9YVtMXXwwfWlmKChm
cyhTLHQsUSxwLHMsQSxtLHYscix1KXwwKSE9MCl7SD1RO0k9RjtKPUc7YnJlYWt9TD1jW0Q+PjJd
fDA7aWYoKEx8MCk9PShjW1I+PjJdfDApKXtSPWNbKGNbQj4+Ml18MCkrNDA+PjJdfDA7YjBbUiYx
MjddKEIpfDA7bD1RO3c9Qjtjb250aW51ZX1lbHNle2NbRD4+Ml09TCsxO2w9UTt3PUI7Y29udGlu
dWV9fXc9ZFttXXwwO2lmKCh3JjF8MCk9PTApe1Q9dz4+PjF9ZWxzZXtUPWNbbSs0Pj4yXXwwfWRv
e2lmKChUfDApIT0wKXt3PWNbcj4+Ml18MDtpZigody1xfDApPj0xNjApe2JyZWFrfVE9Y1tzPj4y
XXwwO2Nbcj4+Ml09dys0O2Nbdz4+Ml09UX19d2hpbGUoMCk7cz1mdyhILGNbcD4+Ml18MCxqLHQp
fDA7Y1trPj4yXT1zO2Nbays0Pj4yXT1LO2Z0KG0sdixjW3I+PjJdfDAsaik7ZG97aWYoQyl7VT0w
fWVsc2V7aWYoKGNbQisxMj4+Ml18MCkhPShjW0IrMTY+PjJdfDApKXtVPUI7YnJlYWt9aWYoKGIw
W2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MCkhPS0xKXtVPUI7YnJlYWt9Y1toPj4yXT0w
O1U9MH19d2hpbGUoMCk7aD0oVXwwKT09MDtMMzA1Nzpkb3tpZihKKXtFPTI1MTd9ZWxzZXtkb3tp
ZigoY1tJKzEyPj4yXXwwKT09KGNbSSsxNj4+Ml18MCkpe2lmKChiMFtjWyhjW0k+PjJdfDApKzM2
Pj4yXSYxMjddKEkpfDApIT0tMSl7YnJlYWt9Y1tmPj4yXT0wO0U9MjUxNzticmVhayBMMzA1N319
d2hpbGUoMCk7aWYoIShoXihJfDApPT0wKSl7YnJlYWt9Vj1ifDA7Y1tWPj4yXT1VO2RQKG4pO2RQ
KG0pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lmKChFfDApPT0yNTE3KXtpZihoKXticmVha31W
PWJ8MDtjW1Y+PjJdPVU7ZFAobik7ZFAobSk7aT1lO3JldHVybn19d2hpbGUoMCk7Y1tqPj4yXT1j
W2o+PjJdfDI7Vj1ifDA7Y1tWPj4yXT1VO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59ZnVuY3Rpb24g
ZncoYixkLGUsZil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxs
PTAsbT0wO2c9aTtpPWkrOHwwO2g9Z3wwO2lmKChifDApPT0oZHwwKSl7Y1tlPj4yXT00O2o9MDtr
PTA7aT1nO3JldHVybihLPWosayl8MH1sPWNbKGJ3KCl8MCk+PjJdfDA7Y1soYncoKXwwKT4+Ml09
MDtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1
OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDApO209YkkoYnwwLGh8MCxmfDAsY1syOTU4XXwwKXww
O2Y9SztiPWNbKGJ3KCl8MCk+PjJdfDA7aWYoKGJ8MCk9PTApe2NbKGJ3KCl8MCk+PjJdPWx9aWYo
KGNbaD4+Ml18MCkhPShkfDApKXtjW2U+PjJdPTQ7aj0wO2s9MDtpPWc7cmV0dXJuKEs9aixrKXww
fWlmKChifDApIT0zNCl7aj1mO2s9bTtpPWc7cmV0dXJuKEs9aixrKXwwfWNbZT4+Ml09NDtlPTA7
Yj0oZnwwKT4oZXwwKXwoZnwwKT09KGV8MCkmbT4+PjA+MD4+PjA7aj1iPzIxNDc0ODM2NDc6LTIx
NDc0ODM2NDg7az1iPy0xOjA7aT1nO3JldHVybihLPWosayl8MH1mdW5jdGlvbiBmeChiLGQsZSxm
KXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0w
LG89MCxwPTAscT0wO2c9aTtpPWkrNDB8MDtoPWd8MDtqPWcrMTZ8MDtrPWcrMzJ8MDtlaihrLGQp
O2Q9a3wwO2s9Y1tkPj4yXXwwO2lmKChjWzM5MjRdfDApIT0tMSl7Y1tqPj4yXT0xNTY5NjtjW2or
ND4+Ml09MTI7Y1tqKzg+PjJdPTA7ZFcoMTU2OTYsaiw5Nil9aj0oY1szOTI1XXwwKS0xfDA7bD1j
W2srOD4+Ml18MDtkb3tpZigoY1trKzEyPj4yXXwwKS1sPj4yPj4+MD5qPj4+MCl7bT1jW2wrKGo8
PDIpPj4yXXwwO2lmKChtfDApPT0wKXticmVha31uPW07bz1jWyhjW20+PjJdfDApKzMyPj4yXXww
O2NhW28mMTVdKG4sOTc0NCw5NzcwLGUpfDA7bj1jW2Q+PjJdfDA7aWYoKGNbMzgyOF18MCkhPS0x
KXtjW2g+PjJdPTE1MzEyO2NbaCs0Pj4yXT0xMjtjW2grOD4+Ml09MDtkVygxNTMxMixoLDk2KX1v
PShjWzM4MjldfDApLTF8MDttPWNbbis4Pj4yXXwwO2Rve2lmKChjW24rMTI+PjJdfDApLW0+PjI+
Pj4wPm8+Pj4wKXtwPWNbbSsobzw8Mik+PjJdfDA7aWYoKHB8MCk9PTApe2JyZWFrfXE9cDthW2Zd
PWIwW2NbKGNbcD4+Ml18MCkrMTY+PjJdJjEyN10ocSl8MDtiWltjWyhjW3A+PjJdfDApKzIwPj4y
XSYxMjddKGIscSk7cT1jW2Q+PjJdfDA7ZHoocSl8MDtpPWc7cmV0dXJufX13aGlsZSgwKTtvPWJP
KDQpfDA7a3Eobyk7Ymwob3wwLDgxNzYsMTM0KX19d2hpbGUoMCk7Zz1iTyg0KXwwO2txKGcpO2Js
KGd8MCw4MTc2LDEzNCl9ZnVuY3Rpb24gZnkoZSxmLGcsaCxqLGssbCl7ZT1lfDA7Zj1mfDA7Zz1n
fDA7aD1ofDA7aj1qfDA7az1rfDA7bD1sfDA7dmFyIG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9
MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0w
LEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAs
Vj0wO2Y9aTtpPWkrNzJ8MDttPWc7Zz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tnPj4yXT1jW20+
PjJdO209aDtoPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2g+PjJdPWNbbT4+Ml07bT1mKzMyfDA7
bj1mKzQwfDA7bz1mKzU2fDA7cD1vO3E9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3I9aTtpPWkrMTYw
fDA7cz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7dD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7c3dpdGNo
KGNbais0Pj4yXSY3NHwwKXtjYXNlIDA6e3U9MDticmVha307Y2FzZSA4Ont1PTE2O2JyZWFrfTtj
YXNlIDY0Ont1PTg7YnJlYWt9O2RlZmF1bHQ6e3U9MTB9fXY9ZnwwO2Z4KG4saix2LG0pO2skKHB8
MCwwLDEyKTtqPW87ZFIobywxMCwwKTtpZigoYVtwXSYxKT09MCl7dz1qKzF8MDt4PXc7eT13O3o9
bys4fDB9ZWxzZXt3PW8rOHwwO3g9Y1t3Pj4yXXwwO3k9aisxfDA7ej13fWNbcT4+Ml09eDt3PXJ8
MDtjW3M+PjJdPXc7Y1t0Pj4yXT0wO2o9Z3wwO2c9aHwwO2g9b3wwO0E9bys0fDA7Qj1hW21dfDA7
bT14O3g9Y1tqPj4yXXwwO0wzMTIyOndoaWxlKDEpe2Rve2lmKCh4fDApPT0wKXtDPTB9ZWxzZXtp
ZigoY1t4KzEyPj4yXXwwKSE9KGNbeCsxNj4+Ml18MCkpe0M9eDticmVha31pZigoYjBbY1soY1t4
Pj4yXXwwKSszNj4+Ml0mMTI3XSh4KXwwKSE9LTEpe0M9eDticmVha31jW2o+PjJdPTA7Qz0wfX13
aGlsZSgwKTtEPShDfDApPT0wO0U9Y1tnPj4yXXwwO2Rve2lmKChFfDApPT0wKXtGPTI1Nzl9ZWxz
ZXtpZigoY1tFKzEyPj4yXXwwKSE9KGNbRSsxNj4+Ml18MCkpe2lmKEQpe0c9RTtIPTA7YnJlYWt9
ZWxzZXtJPW07Sj1FO0s9MDticmVhayBMMzEyMn19aWYoKGIwW2NbKGNbRT4+Ml18MCkrMzY+PjJd
JjEyN10oRSl8MCk9PS0xKXtjW2c+PjJdPTA7Rj0yNTc5O2JyZWFrfWVsc2V7TD0oRXwwKT09MDtp
ZihEXkwpe0c9RTtIPUw7YnJlYWt9ZWxzZXtJPW07Sj1FO0s9TDticmVhayBMMzEyMn19fX13aGls
ZSgwKTtpZigoRnwwKT09MjU3OSl7Rj0wO2lmKEQpe0k9bTtKPTA7Sz0xO2JyZWFrfWVsc2V7Rz0w
O0g9MX19RT1kW3BdfDA7TD0oRSYxfDApPT0wO2lmKCgoY1txPj4yXXwwKS1tfDApPT0oKEw/RT4+
PjE6Y1tBPj4yXXwwKXwwKSl7aWYoTCl7TT1FPj4+MTtOPUU+Pj4xfWVsc2V7RT1jW0E+PjJdfDA7
TT1FO049RX1kUihvLE08PDEsMCk7aWYoKGFbcF0mMSk9PTApe089MTB9ZWxzZXtPPShjW2g+PjJd
Ji0yKS0xfDB9ZFIobyxPLDApO2lmKChhW3BdJjEpPT0wKXtQPXl9ZWxzZXtQPWNbej4+Ml18MH1j
W3E+PjJdPVArTjtRPVB9ZWxzZXtRPW19RT1DKzEyfDA7TD1jW0U+PjJdfDA7Uj1DKzE2fDA7aWYo
KEx8MCk9PShjW1I+PjJdfDApKXtTPShiMFtjWyhjW0M+PjJdfDApKzM2Pj4yXSYxMjddKEMpfDAp
JjI1NX1lbHNle1M9YVtMXXwwfWlmKChmcyhTLHUsUSxxLHQsQixuLHcscyx2KXwwKSE9MCl7ST1R
O0o9RztLPUg7YnJlYWt9TD1jW0U+PjJdfDA7aWYoKEx8MCk9PShjW1I+PjJdfDApKXtSPWNbKGNb
Qz4+Ml18MCkrNDA+PjJdfDA7YjBbUiYxMjddKEMpfDA7bT1RO3g9Qztjb250aW51ZX1lbHNle2Nb
RT4+Ml09TCsxO209UTt4PUM7Y29udGludWV9fXg9ZFtuXXwwO2lmKCh4JjF8MCk9PTApe1Q9eD4+
PjF9ZWxzZXtUPWNbbis0Pj4yXXwwfWRve2lmKChUfDApIT0wKXt4PWNbcz4+Ml18MDtpZigoeC1y
fDApPj0xNjApe2JyZWFrfVE9Y1t0Pj4yXXwwO2Nbcz4+Ml09eCs0O2NbeD4+Ml09UX19d2hpbGUo
MCk7YltsPj4xXT1meihJLGNbcT4+Ml18MCxrLHUpfDA7ZnQobix3LGNbcz4+Ml18MCxrKTtkb3tp
ZihEKXtVPTB9ZWxzZXtpZigoY1tDKzEyPj4yXXwwKSE9KGNbQysxNj4+Ml18MCkpe1U9QzticmVh
a31pZigoYjBbY1soY1tDPj4yXXwwKSszNj4+Ml0mMTI3XShDKXwwKSE9LTEpe1U9QzticmVha31j
W2o+PjJdPTA7VT0wfX13aGlsZSgwKTtqPShVfDApPT0wO0wzMTgyOmRve2lmKEspe0Y9MjYyMH1l
bHNle2Rve2lmKChjW0orMTI+PjJdfDApPT0oY1tKKzE2Pj4yXXwwKSl7aWYoKGIwW2NbKGNbSj4+
Ml18MCkrMzY+PjJdJjEyN10oSil8MCkhPS0xKXticmVha31jW2c+PjJdPTA7Rj0yNjIwO2JyZWFr
IEwzMTgyfX13aGlsZSgwKTtpZighKGpeKEp8MCk9PTApKXticmVha31WPWV8MDtjW1Y+PjJdPVU7
ZFAobyk7ZFAobik7aT1mO3JldHVybn19d2hpbGUoMCk7ZG97aWYoKEZ8MCk9PTI2MjApe2lmKGop
e2JyZWFrfVY9ZXwwO2NbVj4+Ml09VTtkUChvKTtkUChuKTtpPWY7cmV0dXJufX13aGlsZSgwKTtj
W2s+PjJdPWNbaz4+Ml18MjtWPWV8MDtjW1Y+PjJdPVU7ZFAobyk7ZFAobik7aT1mO3JldHVybn1m
dW5jdGlvbiBmeihiLGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxq
PTAsaz0wLGw9MDtnPWk7aT1pKzh8MDtoPWd8MDtpZigoYnwwKT09KGR8MCkpe2NbZT4+Ml09NDtq
PTA7aT1nO3JldHVybiBqfDB9aWYoKGFbYl18MCk9PTQ1KXtjW2U+PjJdPTQ7aj0wO2k9ZztyZXR1
cm4ganwwfWs9Y1soYncoKXwwKT4+Ml18MDtjWyhidygpfDApPj4yXT0wO2Rve2lmKChhWzE2MjY0
XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8
MH19d2hpbGUoMCk7bD1hSShifDAsaHwwLGZ8MCxjWzI5NThdfDApfDA7Zj1LO2I9Y1soYncoKXww
KT4+Ml18MDtpZigoYnwwKT09MCl7Y1soYncoKXwwKT4+Ml09a31pZigoY1toPj4yXXwwKSE9KGR8
MCkpe2NbZT4+Ml09NDtqPTA7aT1nO3JldHVybiBqfDB9ZD0wO2lmKChifDApPT0zNHwoZj4+PjA+
ZD4+PjB8Zj4+PjA9PWQ+Pj4wJmw+Pj4wPjY1NTM1Pj4+MCkpe2NbZT4+Ml09NDtqPS0xO2k9Zzty
ZXR1cm4ganwwfWVsc2V7aj1sJjY1NTM1O2k9ZztyZXR1cm4ganwwfXJldHVybiAwfWZ1bmN0aW9u
IGZBKGIsZSxmLGcsaCxqLGspe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9
a3wwO3ZhciBsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4
PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9
MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MDtlPWk7aT1pKzcyfDA7bD1mO2Y9
aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1tsPj4yXTtsPWc7Zz1pO2k9aSs0fDA7aT1p
Kzc+PjM8PDM7Y1tnPj4yXT1jW2w+PjJdO2w9ZSszMnwwO209ZSs0MHwwO249ZSs1NnwwO289bjtw
PWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztxPWk7aT1pKzE2MHwwO3I9aTtpPWkrNHwwO2k9aSs3Pj4z
PDwzO3M9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3N3aXRjaChjW2grND4+Ml0mNzR8MCl7Y2FzZSA2
NDp7dD04O2JyZWFrfTtjYXNlIDA6e3Q9MDticmVha307Y2FzZSA4Ont0PTE2O2JyZWFrfTtkZWZh
dWx0Ont0PTEwfX11PWV8MDtmeChtLGgsdSxsKTtrJChvfDAsMCwxMik7aD1uO2RSKG4sMTAsMCk7
aWYoKGFbb10mMSk9PTApe3Y9aCsxfDA7dz12O3g9djt5PW4rOHwwfWVsc2V7dj1uKzh8MDt3PWNb
dj4+Ml18MDt4PWgrMXwwO3k9dn1jW3A+PjJdPXc7dj1xfDA7Y1tyPj4yXT12O2Nbcz4+Ml09MDto
PWZ8MDtmPWd8MDtnPW58MDt6PW4rNHwwO0E9YVtsXXwwO2w9dzt3PWNbaD4+Ml18MDtMMzIzMjp3
aGlsZSgxKXtkb3tpZigod3wwKT09MCl7Qj0wfWVsc2V7aWYoKGNbdysxMj4+Ml18MCkhPShjW3cr
MTY+PjJdfDApKXtCPXc7YnJlYWt9aWYoKGIwW2NbKGNbdz4+Ml18MCkrMzY+PjJdJjEyN10odyl8
MCkhPS0xKXtCPXc7YnJlYWt9Y1toPj4yXT0wO0I9MH19d2hpbGUoMCk7Qz0oQnwwKT09MDtEPWNb
Zj4+Ml18MDtkb3tpZigoRHwwKT09MCl7RT0yNjY5fWVsc2V7aWYoKGNbRCsxMj4+Ml18MCkhPShj
W0QrMTY+PjJdfDApKXtpZihDKXtGPUQ7Rz0wO2JyZWFrfWVsc2V7SD1sO0k9RDtKPTA7YnJlYWsg
TDMyMzJ9fWlmKChiMFtjWyhjW0Q+PjJdfDApKzM2Pj4yXSYxMjddKEQpfDApPT0tMSl7Y1tmPj4y
XT0wO0U9MjY2OTticmVha31lbHNle0s9KER8MCk9PTA7aWYoQ15LKXtGPUQ7Rz1LO2JyZWFrfWVs
c2V7SD1sO0k9RDtKPUs7YnJlYWsgTDMyMzJ9fX19d2hpbGUoMCk7aWYoKEV8MCk9PTI2Njkpe0U9
MDtpZihDKXtIPWw7ST0wO0o9MTticmVha31lbHNle0Y9MDtHPTF9fUQ9ZFtvXXwwO0s9KEQmMXww
KT09MDtpZigoKGNbcD4+Ml18MCktbHwwKT09KChLP0Q+Pj4xOmNbej4+Ml18MCl8MCkpe2lmKEsp
e0w9RD4+PjE7TT1EPj4+MX1lbHNle0Q9Y1t6Pj4yXXwwO0w9RDtNPUR9ZFIobixMPDwxLDApO2lm
KChhW29dJjEpPT0wKXtOPTEwfWVsc2V7Tj0oY1tnPj4yXSYtMiktMXwwfWRSKG4sTiwwKTtpZigo
YVtvXSYxKT09MCl7Tz14fWVsc2V7Tz1jW3k+PjJdfDB9Y1twPj4yXT1PK007UD1PfWVsc2V7UD1s
fUQ9QisxMnwwO0s9Y1tEPj4yXXwwO1E9QisxNnwwO2lmKChLfDApPT0oY1tRPj4yXXwwKSl7Uj0o
YjBbY1soY1tCPj4yXXwwKSszNj4+Ml0mMTI3XShCKXwwKSYyNTV9ZWxzZXtSPWFbS118MH1pZigo
ZnMoUix0LFAscCxzLEEsbSx2LHIsdSl8MCkhPTApe0g9UDtJPUY7Sj1HO2JyZWFrfUs9Y1tEPj4y
XXwwO2lmKChLfDApPT0oY1tRPj4yXXwwKSl7UT1jWyhjW0I+PjJdfDApKzQwPj4yXXwwO2IwW1Em
MTI3XShCKXwwO2w9UDt3PUI7Y29udGludWV9ZWxzZXtjW0Q+PjJdPUsrMTtsPVA7dz1CO2NvbnRp
bnVlfX13PWRbbV18MDtpZigodyYxfDApPT0wKXtTPXc+Pj4xfWVsc2V7Uz1jW20rND4+Ml18MH1k
b3tpZigoU3wwKSE9MCl7dz1jW3I+PjJdfDA7aWYoKHctcXwwKT49MTYwKXticmVha31QPWNbcz4+
Ml18MDtjW3I+PjJdPXcrNDtjW3c+PjJdPVB9fXdoaWxlKDApO2Nbaz4+Ml09ZkIoSCxjW3A+PjJd
fDAsaix0KXwwO2Z0KG0sdixjW3I+PjJdfDAsaik7ZG97aWYoQyl7VD0wfWVsc2V7aWYoKGNbQisx
Mj4+Ml18MCkhPShjW0IrMTY+PjJdfDApKXtUPUI7YnJlYWt9aWYoKGIwW2NbKGNbQj4+Ml18MCkr
MzY+PjJdJjEyN10oQil8MCkhPS0xKXtUPUI7YnJlYWt9Y1toPj4yXT0wO1Q9MH19d2hpbGUoMCk7
aD0oVHwwKT09MDtMMzI5Mjpkb3tpZihKKXtFPTI3MTB9ZWxzZXtkb3tpZigoY1tJKzEyPj4yXXww
KT09KGNbSSsxNj4+Ml18MCkpe2lmKChiMFtjWyhjW0k+PjJdfDApKzM2Pj4yXSYxMjddKEkpfDAp
IT0tMSl7YnJlYWt9Y1tmPj4yXT0wO0U9MjcxMDticmVhayBMMzI5Mn19d2hpbGUoMCk7aWYoISho
XihJfDApPT0wKSl7YnJlYWt9VT1ifDA7Y1tVPj4yXT1UO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59
fXdoaWxlKDApO2Rve2lmKChFfDApPT0yNzEwKXtpZihoKXticmVha31VPWJ8MDtjW1U+PjJdPVQ7
ZFAobik7ZFAobSk7aT1lO3JldHVybn19d2hpbGUoMCk7Y1tqPj4yXT1jW2o+PjJdfDI7VT1ifDA7
Y1tVPj4yXT1UO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59ZnVuY3Rpb24gZkIoYixkLGUsZil7Yj1i
fDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxsPTA7Zz1pO2k9aSs4fDA7
aD1nfDA7aWYoKGJ8MCk9PShkfDApKXtjW2U+PjJdPTQ7aj0wO2k9ZztyZXR1cm4ganwwfWlmKChh
W2JdfDApPT00NSl7Y1tlPj4yXT00O2o9MDtpPWc7cmV0dXJuIGp8MH1rPWNbKGJ3KCl8MCk+PjJd
fDA7Y1soYncoKXwwKT4+Ml09MDtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8
MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDApO2w9YUkoYnwwLGh8
MCxmfDAsY1syOTU4XXwwKXwwO2Y9SztiPWNbKGJ3KCl8MCk+PjJdfDA7aWYoKGJ8MCk9PTApe2Nb
KGJ3KCl8MCk+PjJdPWt9aWYoKGNbaD4+Ml18MCkhPShkfDApKXtjW2U+PjJdPTQ7aj0wO2k9Zzty
ZXR1cm4ganwwfWQ9MDtpZigoYnwwKT09MzR8KGY+Pj4wPmQ+Pj4wfGY+Pj4wPT1kPj4+MCZsPj4+
MD4tMT4+PjApKXtjW2U+PjJdPTQ7aj0tMTtpPWc7cmV0dXJuIGp8MH1lbHNle2o9bDtpPWc7cmV0
dXJuIGp8MH1yZXR1cm4gMH1mdW5jdGlvbiBmQyhiLGUsZixnLGgsaixrKXtiPWJ8MDtlPWV8MDtm
PWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAs
cj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxG
PTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9
MCxVPTA7ZT1pO2k9aSs3MnwwO2w9ZjtmPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2Y+PjJdPWNb
bD4+Ml07bD1nO2c9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZz4+Ml09Y1tsPj4yXTtsPWUrMzJ8
MDttPWUrNDB8MDtuPWUrNTZ8MDtvPW47cD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7cT1pO2k9aSsx
NjB8MDtyPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztzPWk7aT1pKzR8MDtpPWkrNz4+Mzw8Mztzd2l0
Y2goY1toKzQ+PjJdJjc0fDApe2Nhc2UgMDp7dD0wO2JyZWFrfTtjYXNlIDg6e3Q9MTY7YnJlYWt9
O2Nhc2UgNjQ6e3Q9ODticmVha307ZGVmYXVsdDp7dD0xMH19dT1lfDA7ZngobSxoLHUsbCk7ayQo
b3wwLDAsMTIpO2g9bjtkUihuLDEwLDApO2lmKChhW29dJjEpPT0wKXt2PWgrMXwwO3c9djt4PXY7
eT1uKzh8MH1lbHNle3Y9bis4fDA7dz1jW3Y+PjJdfDA7eD1oKzF8MDt5PXZ9Y1twPj4yXT13O3Y9
cXwwO2Nbcj4+Ml09djtjW3M+PjJdPTA7aD1mfDA7Zj1nfDA7Zz1ufDA7ej1uKzR8MDtBPWFbbF18
MDtsPXc7dz1jW2g+PjJdfDA7TDMzNDI6d2hpbGUoMSl7ZG97aWYoKHd8MCk9PTApe0I9MH1lbHNl
e2lmKChjW3crMTI+PjJdfDApIT0oY1t3KzE2Pj4yXXwwKSl7Qj13O2JyZWFrfWlmKChiMFtjWyhj
W3c+PjJdfDApKzM2Pj4yXSYxMjddKHcpfDApIT0tMSl7Qj13O2JyZWFrfWNbaD4+Ml09MDtCPTB9
fXdoaWxlKDApO0M9KEJ8MCk9PTA7RD1jW2Y+PjJdfDA7ZG97aWYoKER8MCk9PTApe0U9Mjc1OX1l
bHNle2lmKChjW0QrMTI+PjJdfDApIT0oY1tEKzE2Pj4yXXwwKSl7aWYoQyl7Rj1EO0c9MDticmVh
a31lbHNle0g9bDtJPUQ7Sj0wO2JyZWFrIEwzMzQyfX1pZigoYjBbY1soY1tEPj4yXXwwKSszNj4+
Ml0mMTI3XShEKXwwKT09LTEpe2NbZj4+Ml09MDtFPTI3NTk7YnJlYWt9ZWxzZXtLPShEfDApPT0w
O2lmKENeSyl7Rj1EO0c9SzticmVha31lbHNle0g9bDtJPUQ7Sj1LO2JyZWFrIEwzMzQyfX19fXdo
aWxlKDApO2lmKChFfDApPT0yNzU5KXtFPTA7aWYoQyl7SD1sO0k9MDtKPTE7YnJlYWt9ZWxzZXtG
PTA7Rz0xfX1EPWRbb118MDtLPShEJjF8MCk9PTA7aWYoKChjW3A+PjJdfDApLWx8MCk9PSgoSz9E
Pj4+MTpjW3o+PjJdfDApfDApKXtpZihLKXtMPUQ+Pj4xO009RD4+PjF9ZWxzZXtEPWNbej4+Ml18
MDtMPUQ7TT1EfWRSKG4sTDw8MSwwKTtpZigoYVtvXSYxKT09MCl7Tj0xMH1lbHNle049KGNbZz4+
Ml0mLTIpLTF8MH1kUihuLE4sMCk7aWYoKGFbb10mMSk9PTApe089eH1lbHNle089Y1t5Pj4yXXww
fWNbcD4+Ml09TytNO1A9T31lbHNle1A9bH1EPUIrMTJ8MDtLPWNbRD4+Ml18MDtRPUIrMTZ8MDtp
ZigoS3wwKT09KGNbUT4+Ml18MCkpe1I9KGIwW2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8
MCkmMjU1fWVsc2V7Uj1hW0tdfDB9aWYoKGZzKFIsdCxQLHAscyxBLG0sdixyLHUpfDApIT0wKXtI
PVA7ST1GO0o9RzticmVha31LPWNbRD4+Ml18MDtpZigoS3wwKT09KGNbUT4+Ml18MCkpe1E9Y1so
Y1tCPj4yXXwwKSs0MD4+Ml18MDtiMFtRJjEyN10oQil8MDtsPVA7dz1CO2NvbnRpbnVlfWVsc2V7
Y1tEPj4yXT1LKzE7bD1QO3c9Qjtjb250aW51ZX19dz1kW21dfDA7aWYoKHcmMXwwKT09MCl7Uz13
Pj4+MX1lbHNle1M9Y1ttKzQ+PjJdfDB9ZG97aWYoKFN8MCkhPTApe3c9Y1tyPj4yXXwwO2lmKCh3
LXF8MCk+PTE2MCl7YnJlYWt9UD1jW3M+PjJdfDA7Y1tyPj4yXT13KzQ7Y1t3Pj4yXT1QfX13aGls
ZSgwKTtjW2s+PjJdPWZEKEgsY1twPj4yXXwwLGosdCl8MDtmdChtLHYsY1tyPj4yXXwwLGopO2Rv
e2lmKEMpe1Q9MH1lbHNle2lmKChjW0IrMTI+PjJdfDApIT0oY1tCKzE2Pj4yXXwwKSl7VD1CO2Jy
ZWFrfWlmKChiMFtjWyhjW0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDApIT0tMSl7VD1CO2JyZWFr
fWNbaD4+Ml09MDtUPTB9fXdoaWxlKDApO2g9KFR8MCk9PTA7TDM0MDI6ZG97aWYoSil7RT0yODAw
fWVsc2V7ZG97aWYoKGNbSSsxMj4+Ml18MCk9PShjW0krMTY+PjJdfDApKXtpZigoYjBbY1soY1tJ
Pj4yXXwwKSszNj4+Ml0mMTI3XShJKXwwKSE9LTEpe2JyZWFrfWNbZj4+Ml09MDtFPTI4MDA7YnJl
YWsgTDM0MDJ9fXdoaWxlKDApO2lmKCEoaF4oSXwwKT09MCkpe2JyZWFrfVU9YnwwO2NbVT4+Ml09
VDtkUChuKTtkUChtKTtpPWU7cmV0dXJufX13aGlsZSgwKTtkb3tpZigoRXwwKT09MjgwMCl7aWYo
aCl7YnJlYWt9VT1ifDA7Y1tVPj4yXT1UO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59fXdoaWxlKDAp
O2Nbaj4+Ml09Y1tqPj4yXXwyO1U9YnwwO2NbVT4+Ml09VDtkUChuKTtkUChtKTtpPWU7cmV0dXJu
fWZ1bmN0aW9uIGZEKGIsZCxlLGYpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0w
LGo9MCxrPTAsbD0wO2c9aTtpPWkrOHwwO2g9Z3wwO2lmKChifDApPT0oZHwwKSl7Y1tlPj4yXT00
O2o9MDtpPWc7cmV0dXJuIGp8MH1pZigoYVtiXXwwKT09NDUpe2NbZT4+Ml09NDtqPTA7aT1nO3Jl
dHVybiBqfDB9az1jWyhidygpfDApPj4yXXwwO2NbKGJ3KCl8MCk+PjJdPTA7ZG97aWYoKGFbMTYy
NjRdfDApPT0wKXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCww
KXwwfX13aGlsZSgwKTtsPWFJKGJ8MCxofDAsZnwwLGNbMjk1OF18MCl8MDtmPUs7Yj1jWyhidygp
fDApPj4yXXwwO2lmKChifDApPT0wKXtjWyhidygpfDApPj4yXT1rfWlmKChjW2g+PjJdfDApIT0o
ZHwwKSl7Y1tlPj4yXT00O2o9MDtpPWc7cmV0dXJuIGp8MH1kPTA7aWYoKGJ8MCk9PTM0fChmPj4+
MD5kPj4+MHxmPj4+MD09ZD4+PjAmbD4+PjA+LTE+Pj4wKSl7Y1tlPj4yXT00O2o9LTE7aT1nO3Jl
dHVybiBqfDB9ZWxzZXtqPWw7aT1nO3JldHVybiBqfDB9cmV0dXJuIDB9ZnVuY3Rpb24gZkUoYixl
LGYsZyxoLGosayl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7dmFy
IGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAs
ej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxMPTAsTT0wLE49MCxP
PTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wO2U9aTtpPWkrNzJ8MDtsPWY7Zj1pO2k9aSs0
fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9ZztnPWk7aT1pKzR8MDtpPWkrNz4+Mzw8
MztjW2c+PjJdPWNbbD4+Ml07bD1lKzMyfDA7bT1lKzQwfDA7bj1lKzU2fDA7bz1uO3A9aTtpPWkr
NHwwO2k9aSs3Pj4zPDwzO3E9aTtpPWkrMTYwfDA7cj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7cz1p
O2k9aSs0fDA7aT1pKzc+PjM8PDM7c3dpdGNoKGNbaCs0Pj4yXSY3NHwwKXtjYXNlIDg6e3Q9MTY7
YnJlYWt9O2Nhc2UgMDp7dD0wO2JyZWFrfTtjYXNlIDY0Ont0PTg7YnJlYWt9O2RlZmF1bHQ6e3Q9
MTB9fXU9ZXwwO2Z4KG0saCx1LGwpO2skKG98MCwwLDEyKTtoPW47ZFIobiwxMCwwKTtpZigoYVtv
XSYxKT09MCl7dj1oKzF8MDt3PXY7eD12O3k9bis4fDB9ZWxzZXt2PW4rOHwwO3c9Y1t2Pj4yXXww
O3g9aCsxfDA7eT12fWNbcD4+Ml09dzt2PXF8MDtjW3I+PjJdPXY7Y1tzPj4yXT0wO2g9ZnwwO2Y9
Z3wwO2c9bnwwO3o9bis0fDA7QT1hW2xdfDA7bD13O3c9Y1toPj4yXXwwO0wzNDUyOndoaWxlKDEp
e2Rve2lmKCh3fDApPT0wKXtCPTB9ZWxzZXtpZigoY1t3KzEyPj4yXXwwKSE9KGNbdysxNj4+Ml18
MCkpe0I9dzticmVha31pZigoYjBbY1soY1t3Pj4yXXwwKSszNj4+Ml0mMTI3XSh3KXwwKSE9LTEp
e0I9dzticmVha31jW2g+PjJdPTA7Qj0wfX13aGlsZSgwKTtDPShCfDApPT0wO0Q9Y1tmPj4yXXww
O2Rve2lmKChEfDApPT0wKXtFPTI4NDl9ZWxzZXtpZigoY1tEKzEyPj4yXXwwKSE9KGNbRCsxNj4+
Ml18MCkpe2lmKEMpe0Y9RDtHPTA7YnJlYWt9ZWxzZXtIPWw7ST1EO0o9MDticmVhayBMMzQ1Mn19
aWYoKGIwW2NbKGNbRD4+Ml18MCkrMzY+PjJdJjEyN10oRCl8MCk9PS0xKXtjW2Y+PjJdPTA7RT0y
ODQ5O2JyZWFrfWVsc2V7TD0oRHwwKT09MDtpZihDXkwpe0Y9RDtHPUw7YnJlYWt9ZWxzZXtIPWw7
ST1EO0o9TDticmVhayBMMzQ1Mn19fX13aGlsZSgwKTtpZigoRXwwKT09Mjg0OSl7RT0wO2lmKEMp
e0g9bDtJPTA7Sj0xO2JyZWFrfWVsc2V7Rj0wO0c9MX19RD1kW29dfDA7TD0oRCYxfDApPT0wO2lm
KCgoY1twPj4yXXwwKS1sfDApPT0oKEw/RD4+PjE6Y1t6Pj4yXXwwKXwwKSl7aWYoTCl7TT1EPj4+
MTtOPUQ+Pj4xfWVsc2V7RD1jW3o+PjJdfDA7TT1EO049RH1kUihuLE08PDEsMCk7aWYoKGFbb10m
MSk9PTApe089MTB9ZWxzZXtPPShjW2c+PjJdJi0yKS0xfDB9ZFIobixPLDApO2lmKChhW29dJjEp
PT0wKXtQPXh9ZWxzZXtQPWNbeT4+Ml18MH1jW3A+PjJdPVArTjtRPVB9ZWxzZXtRPWx9RD1CKzEy
fDA7TD1jW0Q+PjJdfDA7Uj1CKzE2fDA7aWYoKEx8MCk9PShjW1I+PjJdfDApKXtTPShiMFtjWyhj
W0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDApJjI1NX1lbHNle1M9YVtMXXwwfWlmKChmcyhTLHQs
USxwLHMsQSxtLHYscix1KXwwKSE9MCl7SD1RO0k9RjtKPUc7YnJlYWt9TD1jW0Q+PjJdfDA7aWYo
KEx8MCk9PShjW1I+PjJdfDApKXtSPWNbKGNbQj4+Ml18MCkrNDA+PjJdfDA7YjBbUiYxMjddKEIp
fDA7bD1RO3c9Qjtjb250aW51ZX1lbHNle2NbRD4+Ml09TCsxO2w9UTt3PUI7Y29udGludWV9fXc9
ZFttXXwwO2lmKCh3JjF8MCk9PTApe1Q9dz4+PjF9ZWxzZXtUPWNbbSs0Pj4yXXwwfWRve2lmKChU
fDApIT0wKXt3PWNbcj4+Ml18MDtpZigody1xfDApPj0xNjApe2JyZWFrfVE9Y1tzPj4yXXwwO2Nb
cj4+Ml09dys0O2Nbdz4+Ml09UX19d2hpbGUoMCk7cz1mRihILGNbcD4+Ml18MCxqLHQpfDA7Y1tr
Pj4yXT1zO2Nbays0Pj4yXT1LO2Z0KG0sdixjW3I+PjJdfDAsaik7ZG97aWYoQyl7VT0wfWVsc2V7
aWYoKGNbQisxMj4+Ml18MCkhPShjW0IrMTY+PjJdfDApKXtVPUI7YnJlYWt9aWYoKGIwW2NbKGNb
Qj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MCkhPS0xKXtVPUI7YnJlYWt9Y1toPj4yXT0wO1U9MH19
d2hpbGUoMCk7aD0oVXwwKT09MDtMMzUxMjpkb3tpZihKKXtFPTI4OTB9ZWxzZXtkb3tpZigoY1tJ
KzEyPj4yXXwwKT09KGNbSSsxNj4+Ml18MCkpe2lmKChiMFtjWyhjW0k+PjJdfDApKzM2Pj4yXSYx
MjddKEkpfDApIT0tMSl7YnJlYWt9Y1tmPj4yXT0wO0U9Mjg5MDticmVhayBMMzUxMn19d2hpbGUo
MCk7aWYoIShoXihJfDApPT0wKSl7YnJlYWt9Vj1ifDA7Y1tWPj4yXT1VO2RQKG4pO2RQKG0pO2k9
ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lmKChFfDApPT0yODkwKXtpZihoKXticmVha31WPWJ8MDtj
W1Y+PjJdPVU7ZFAobik7ZFAobSk7aT1lO3JldHVybn19d2hpbGUoMCk7Y1tqPj4yXT1jW2o+PjJd
fDI7Vj1ifDA7Y1tWPj4yXT1VO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59ZnVuY3Rpb24gZkYoYixk
LGUsZil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0w
LG49MCxvPTA7Zz1pO2k9aSs4fDA7aD1nfDA7ZG97aWYoKGJ8MCk9PShkfDApKXtjW2U+PjJdPTQ7
aj0wO2s9MH1lbHNle2lmKChhW2JdfDApPT00NSl7Y1tlPj4yXT00O2o9MDtrPTA7YnJlYWt9bD1j
WyhidygpfDApPj4yXXwwO2NbKGJ3KCl8MCk+PjJdPTA7ZG97aWYoKGFbMTYyNjRdfDApPT0wKXtp
ZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgw
KTttPWFJKGJ8MCxofDAsZnwwLGNbMjk1OF18MCl8MDtuPUs7bz1jWyhidygpfDApPj4yXXwwO2lm
KChvfDApPT0wKXtjWyhidygpfDApPj4yXT1sfWlmKChjW2g+PjJdfDApIT0oZHwwKSl7Y1tlPj4y
XT00O2o9MDtrPTA7YnJlYWt9aWYoKG98MCkhPTM0KXtqPW47az1tO2JyZWFrfWNbZT4+Ml09NDtq
PS0xO2s9LTF9fXdoaWxlKDApO2k9ZztyZXR1cm4oSz1qLGspfDB9ZnVuY3Rpb24gZkcoYixlLGYs
ZyxoLGksaixrLGwsbSxuLG8pe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2k9aXwwO2o9
anwwO2s9a3wwO2w9bHwwO209bXwwO249bnwwO289b3wwO3ZhciBwPTAscT0wLHI9MCxzPTAsdD0w
O2lmKGI8PDI0Pj4yND09aTw8MjQ+PjI0KXtpZigoYVtlXSYxKT09MCl7cD0tMTtyZXR1cm4gcHww
fWFbZV09MDtpPWNbaD4+Ml18MDtjW2g+PjJdPWkrMTthW2ldPTQ2O2k9ZFtrXXwwO2lmKChpJjF8
MCk9PTApe3E9aT4+PjF9ZWxzZXtxPWNbays0Pj4yXXwwfWlmKChxfDApPT0wKXtwPTA7cmV0dXJu
IHB8MH1xPWNbbT4+Ml18MDtpZigocS1sfDApPj0xNjApe3A9MDtyZXR1cm4gcHwwfWk9Y1tuPj4y
XXwwO2NbbT4+Ml09cSs0O2NbcT4+Ml09aTtwPTA7cmV0dXJuIHB8MH1kb3tpZihiPDwyND4+MjQ9
PWo8PDI0Pj4yNCl7aT1kW2tdfDA7aWYoKGkmMXwwKT09MCl7cj1pPj4+MX1lbHNle3I9Y1trKzQ+
PjJdfDB9aWYoKHJ8MCk9PTApe2JyZWFrfWlmKChhW2VdJjEpPT0wKXtwPS0xO3JldHVybiBwfDB9
aT1jW20+PjJdfDA7aWYoKGktbHwwKT49MTYwKXtwPTA7cmV0dXJuIHB8MH1xPWNbbj4+Ml18MDtj
W20+PjJdPWkrNDtjW2k+PjJdPXE7Y1tuPj4yXT0wO3A9MDtyZXR1cm4gcHwwfX13aGlsZSgwKTty
PW8rMzJ8MDtqPW87d2hpbGUoMSl7aWYoKGp8MCk9PShyfDApKXtzPXI7YnJlYWt9aWYoKGFbal18
MCk9PWI8PDI0Pj4yNCl7cz1qO2JyZWFrfWVsc2V7aj1qKzF8MH19aj1zLW98MDtpZigoanwwKT4z
MSl7cD0tMTtyZXR1cm4gcHwwfW89YVs5NzQ0K2p8MF18MDtzd2l0Y2goanwwKXtjYXNlIDI1OmNh
c2UgMjQ6e3M9Y1toPj4yXXwwO2Rve2lmKChzfDApIT0oZ3wwKSl7aWYoKGFbcy0xfDBdJjk1fDAp
PT0oYVtmXSYxMjd8MCkpe2JyZWFrfWVsc2V7cD0tMX1yZXR1cm4gcHwwfX13aGlsZSgwKTtjW2g+
PjJdPXMrMTthW3NdPW87cD0wO3JldHVybiBwfDB9O2Nhc2UgMjI6Y2FzZSAyMzp7YVtmXT04MDtz
PWNbaD4+Ml18MDtjW2g+PjJdPXMrMTthW3NdPW87cD0wO3JldHVybiBwfDB9O2RlZmF1bHQ6e3M9
YVtmXXwwO2Rve2lmKChvJjk1fDApPT0oczw8MjQ+PjI0fDApKXthW2ZdPXN8LTEyODtpZigoYVtl
XSYxKT09MCl7YnJlYWt9YVtlXT0wO2c9ZFtrXXwwO2lmKChnJjF8MCk9PTApe3Q9Zz4+PjF9ZWxz
ZXt0PWNbays0Pj4yXXwwfWlmKCh0fDApPT0wKXticmVha31nPWNbbT4+Ml18MDtpZigoZy1sfDAp
Pj0xNjApe2JyZWFrfWI9Y1tuPj4yXXwwO2NbbT4+Ml09Zys0O2NbZz4+Ml09Yn19d2hpbGUoMCk7
bT1jW2g+PjJdfDA7Y1toPj4yXT1tKzE7YVttXT1vO2lmKChqfDApPjIxKXtwPTA7cmV0dXJuIHB8
MH1jW24+PjJdPShjW24+PjJdfDApKzE7cD0wO3JldHVybiBwfDB9fXJldHVybiAwfWZ1bmN0aW9u
IGZIKGIsZSxmLGgsaixrLGwpe2I9YnwwO2U9ZXwwO2Y9ZnwwO2g9aHwwO2o9anwwO2s9a3wwO2w9
bHwwO3ZhciBtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5
PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09
MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wO2U9aTtpPWkrODB8
MDttPWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW20+PjJdO209aDtoPWk7aT1p
KzR8MDtpPWkrNz4+Mzw8MztjW2g+PjJdPWNbbT4+Ml07bT1lKzMyfDA7bj1lKzQwfDA7bz1lKzQ4
fDA7cD1lKzY0fDA7cT1wO3I9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3M9aTtpPWkrMTYwfDA7dD1p
O2k9aSs0fDA7aT1pKzc+PjM8PDM7dT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7dj1pO2k9aSsxfDA7
aT1pKzc+PjM8PDM7dz1pO2k9aSsxfDA7aT1pKzc+PjM8PDM7eD1lfDA7ZkoobyxqLHgsbSxuKTtr
JChxfDAsMCwxMik7aj1wO2RSKHAsMTAsMCk7aWYoKGFbcV0mMSk9PTApe3k9aisxfDA7ej15O0E9
eTtCPXArOHwwfWVsc2V7eT1wKzh8MDt6PWNbeT4+Ml18MDtBPWorMXwwO0I9eX1jW3I+PjJdPXo7
eT1zfDA7Y1t0Pj4yXT15O2NbdT4+Ml09MDthW3ZdPTE7YVt3XT02OTtqPWZ8MDtmPWh8MDtoPXB8
MDtDPXArNHwwO0Q9YVttXXwwO209YVtuXXwwO249ejt6PWNbaj4+Ml18MDtMMzYxNTp3aGlsZSgx
KXtkb3tpZigoenwwKT09MCl7RT0wfWVsc2V7aWYoKGNbeisxMj4+Ml18MCkhPShjW3orMTY+PjJd
fDApKXtFPXo7YnJlYWt9aWYoKGIwW2NbKGNbej4+Ml18MCkrMzY+PjJdJjEyN10oeil8MCkhPS0x
KXtFPXo7YnJlYWt9Y1tqPj4yXT0wO0U9MH19d2hpbGUoMCk7Rj0oRXwwKT09MDtHPWNbZj4+Ml18
MDtkb3tpZigoR3wwKT09MCl7SD0yOTc4fWVsc2V7aWYoKGNbRysxMj4+Ml18MCkhPShjW0crMTY+
PjJdfDApKXtpZihGKXtJPUc7Sj0wO2JyZWFrfWVsc2V7Sz1uO0w9RztNPTA7YnJlYWsgTDM2MTV9
fWlmKChiMFtjWyhjW0c+PjJdfDApKzM2Pj4yXSYxMjddKEcpfDApPT0tMSl7Y1tmPj4yXT0wO0g9
Mjk3ODticmVha31lbHNle049KEd8MCk9PTA7aWYoRl5OKXtJPUc7Sj1OO2JyZWFrfWVsc2V7Sz1u
O0w9RztNPU47YnJlYWsgTDM2MTV9fX19d2hpbGUoMCk7aWYoKEh8MCk9PTI5Nzgpe0g9MDtpZihG
KXtLPW47TD0wO009MTticmVha31lbHNle0k9MDtKPTF9fUc9ZFtxXXwwO049KEcmMXwwKT09MDtp
ZigoKGNbcj4+Ml18MCktbnwwKT09KChOP0c+Pj4xOmNbQz4+Ml18MCl8MCkpe2lmKE4pe089Rz4+
PjE7UD1HPj4+MX1lbHNle0c9Y1tDPj4yXXwwO089RztQPUd9ZFIocCxPPDwxLDApO2lmKChhW3Fd
JjEpPT0wKXtRPTEwfWVsc2V7UT0oY1toPj4yXSYtMiktMXwwfWRSKHAsUSwwKTtpZigoYVtxXSYx
KT09MCl7Uj1BfWVsc2V7Uj1jW0I+PjJdfDB9Y1tyPj4yXT1SK1A7Uz1SfWVsc2V7Uz1ufUc9RSsx
MnwwO049Y1tHPj4yXXwwO1Q9RSsxNnwwO2lmKChOfDApPT0oY1tUPj4yXXwwKSl7VT0oYjBbY1so
Y1tFPj4yXXwwKSszNj4+Ml0mMTI3XShFKXwwKSYyNTV9ZWxzZXtVPWFbTl18MH1pZigoZkcoVSx2
LHcsUyxyLEQsbSxvLHksdCx1LHgpfDApIT0wKXtLPVM7TD1JO009SjticmVha31OPWNbRz4+Ml18
MDtpZigoTnwwKT09KGNbVD4+Ml18MCkpe1Q9Y1soY1tFPj4yXXwwKSs0MD4+Ml18MDtiMFtUJjEy
N10oRSl8MDtuPVM7ej1FO2NvbnRpbnVlfWVsc2V7Y1tHPj4yXT1OKzE7bj1TO3o9RTtjb250aW51
ZX19ej1kW29dfDA7aWYoKHomMXwwKT09MCl7Vj16Pj4+MX1lbHNle1Y9Y1tvKzQ+PjJdfDB9ZG97
aWYoKFZ8MCkhPTApe2lmKChhW3ZdJjEpPT0wKXticmVha316PWNbdD4+Ml18MDtpZigoei1zfDAp
Pj0xNjApe2JyZWFrfVM9Y1t1Pj4yXXwwO2NbdD4+Ml09eis0O2Nbej4+Ml09U319d2hpbGUoMCk7
Z1tsPj4yXT0rZkkoSyxjW3I+PjJdfDAsayk7ZnQobyx5LGNbdD4+Ml18MCxrKTtkb3tpZihGKXtX
PTB9ZWxzZXtpZigoY1tFKzEyPj4yXXwwKSE9KGNbRSsxNj4+Ml18MCkpe1c9RTticmVha31pZigo
YjBbY1soY1tFPj4yXXwwKSszNj4+Ml0mMTI3XShFKXwwKSE9LTEpe1c9RTticmVha31jW2o+PjJd
PTA7Vz0wfX13aGlsZSgwKTtqPShXfDApPT0wO0wzNjc2OmRve2lmKE0pe0g9MzAyMH1lbHNle2Rv
e2lmKChjW0wrMTI+PjJdfDApPT0oY1tMKzE2Pj4yXXwwKSl7aWYoKGIwW2NbKGNbTD4+Ml18MCkr
MzY+PjJdJjEyN10oTCl8MCkhPS0xKXticmVha31jW2Y+PjJdPTA7SD0zMDIwO2JyZWFrIEwzNjc2
fX13aGlsZSgwKTtpZighKGpeKEx8MCk9PTApKXticmVha31YPWJ8MDtjW1g+PjJdPVc7ZFAocCk7
ZFAobyk7aT1lO3JldHVybn19d2hpbGUoMCk7ZG97aWYoKEh8MCk9PTMwMjApe2lmKGope2JyZWFr
fVg9YnwwO2NbWD4+Ml09VztkUChwKTtkUChvKTtpPWU7cmV0dXJufX13aGlsZSgwKTtjW2s+PjJd
PWNbaz4+Ml18MjtYPWJ8MDtjW1g+PjJdPVc7ZFAocCk7ZFAobyk7aT1lO3JldHVybn1mdW5jdGlv
biBmSShiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLjAsaj0wLGs9MC4w
O2Y9aTtpPWkrOHwwO2c9ZnwwO2lmKChifDApPT0oZHwwKSl7Y1tlPj4yXT00O2g9MC4wO2k9Zjty
ZXR1cm4raH1qPWNbKGJ3KCl8MCk+PjJdfDA7Y1soYncoKXwwKT4+Ml09MDtkb3tpZigoYVsxNjI2
NF18MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDAp
fDB9fXdoaWxlKDApO2s9K2tXKGIsZyxjWzI5NThdfDApO2I9Y1soYncoKXwwKT4+Ml18MDtpZigo
YnwwKT09MCl7Y1soYncoKXwwKT4+Ml09an1pZigoY1tnPj4yXXwwKSE9KGR8MCkpe2NbZT4+Ml09
NDtoPTAuMDtpPWY7cmV0dXJuK2h9aWYoKGJ8MCk9PTM0KXtjW2U+PjJdPTR9aD1rO2k9ZjtyZXR1
cm4raH1mdW5jdGlvbiBmSihiLGQsZSxmLGcpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3ww
O3ZhciBoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wO2g9aTtpPWkr
NDB8MDtqPWh8MDtrPWgrMTZ8MDtsPWgrMzJ8MDtlaihsLGQpO2Q9bHwwO2w9Y1tkPj4yXXwwO2lm
KChjWzM5MjRdfDApIT0tMSl7Y1trPj4yXT0xNTY5NjtjW2srND4+Ml09MTI7Y1trKzg+PjJdPTA7
ZFcoMTU2OTYsayw5Nil9az0oY1szOTI1XXwwKS0xfDA7bT1jW2wrOD4+Ml18MDtkb3tpZigoY1ts
KzEyPj4yXXwwKS1tPj4yPj4+MD5rPj4+MCl7bj1jW20rKGs8PDIpPj4yXXwwO2lmKChufDApPT0w
KXticmVha31vPW47cD1jWyhjW24+PjJdfDApKzMyPj4yXXwwO2NhW3AmMTVdKG8sOTc0NCw5Nzc2
LGUpfDA7bz1jW2Q+PjJdfDA7aWYoKGNbMzgyOF18MCkhPS0xKXtjW2o+PjJdPTE1MzEyO2Nbais0
Pj4yXT0xMjtjW2orOD4+Ml09MDtkVygxNTMxMixqLDk2KX1wPShjWzM4MjldfDApLTF8MDtuPWNb
bys4Pj4yXXwwO2Rve2lmKChjW28rMTI+PjJdfDApLW4+PjI+Pj4wPnA+Pj4wKXtxPWNbbisocDw8
Mik+PjJdfDA7aWYoKHF8MCk9PTApe2JyZWFrfXI9cTtzPXE7YVtmXT1iMFtjWyhjW3M+PjJdfDAp
KzEyPj4yXSYxMjddKHIpfDA7YVtnXT1iMFtjWyhjW3M+PjJdfDApKzE2Pj4yXSYxMjddKHIpfDA7
YlpbY1soY1txPj4yXXwwKSsyMD4+Ml0mMTI3XShiLHIpO3I9Y1tkPj4yXXwwO2R6KHIpfDA7aT1o
O3JldHVybn19d2hpbGUoMCk7cD1iTyg0KXwwO2txKHApO2JsKHB8MCw4MTc2LDEzNCl9fXdoaWxl
KDApO2g9Yk8oNCl8MDtrcShoKTtibChofDAsODE3NiwxMzQpfWZ1bmN0aW9uIGZLKGIsZSxmLGcs
aixrLGwpe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2o9anwwO2s9a3wwO2w9bHwwO3ZhciBtPTAs
bj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxC
PTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9
MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wO2U9aTtpPWkrODB8MDttPWY7Zj1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW20+PjJdO209ZztnPWk7aT1pKzR8MDtpPWkrNz4+
Mzw8MztjW2c+PjJdPWNbbT4+Ml07bT1lKzMyfDA7bj1lKzQwfDA7bz1lKzQ4fDA7cD1lKzY0fDA7
cT1wO3I9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3M9aTtpPWkrMTYwfDA7dD1pO2k9aSs0fDA7aT1p
Kzc+PjM8PDM7dT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7dj1pO2k9aSsxfDA7aT1pKzc+PjM8PDM7
dz1pO2k9aSsxfDA7aT1pKzc+PjM8PDM7eD1lfDA7ZkoobyxqLHgsbSxuKTtrJChxfDAsMCwxMik7
aj1wO2RSKHAsMTAsMCk7aWYoKGFbcV0mMSk9PTApe3k9aisxfDA7ej15O0E9eTtCPXArOHwwfWVs
c2V7eT1wKzh8MDt6PWNbeT4+Ml18MDtBPWorMXwwO0I9eX1jW3I+PjJdPXo7eT1zfDA7Y1t0Pj4y
XT15O2NbdT4+Ml09MDthW3ZdPTE7YVt3XT02OTtqPWZ8MDtmPWd8MDtnPXB8MDtDPXArNHwwO0Q9
YVttXXwwO209YVtuXXwwO249ejt6PWNbaj4+Ml18MDtMMzczNzp3aGlsZSgxKXtkb3tpZigoenww
KT09MCl7RT0wfWVsc2V7aWYoKGNbeisxMj4+Ml18MCkhPShjW3orMTY+PjJdfDApKXtFPXo7YnJl
YWt9aWYoKGIwW2NbKGNbej4+Ml18MCkrMzY+PjJdJjEyN10oeil8MCkhPS0xKXtFPXo7YnJlYWt9
Y1tqPj4yXT0wO0U9MH19d2hpbGUoMCk7Rj0oRXwwKT09MDtHPWNbZj4+Ml18MDtkb3tpZigoR3ww
KT09MCl7SD0zMDc5fWVsc2V7aWYoKGNbRysxMj4+Ml18MCkhPShjW0crMTY+PjJdfDApKXtpZihG
KXtJPUc7Sj0wO2JyZWFrfWVsc2V7Sz1uO0w9RztNPTA7YnJlYWsgTDM3Mzd9fWlmKChiMFtjWyhj
W0c+PjJdfDApKzM2Pj4yXSYxMjddKEcpfDApPT0tMSl7Y1tmPj4yXT0wO0g9MzA3OTticmVha31l
bHNle049KEd8MCk9PTA7aWYoRl5OKXtJPUc7Sj1OO2JyZWFrfWVsc2V7Sz1uO0w9RztNPU47YnJl
YWsgTDM3Mzd9fX19d2hpbGUoMCk7aWYoKEh8MCk9PTMwNzkpe0g9MDtpZihGKXtLPW47TD0wO009
MTticmVha31lbHNle0k9MDtKPTF9fUc9ZFtxXXwwO049KEcmMXwwKT09MDtpZigoKGNbcj4+Ml18
MCktbnwwKT09KChOP0c+Pj4xOmNbQz4+Ml18MCl8MCkpe2lmKE4pe089Rz4+PjE7UD1HPj4+MX1l
bHNle0c9Y1tDPj4yXXwwO089RztQPUd9ZFIocCxPPDwxLDApO2lmKChhW3FdJjEpPT0wKXtRPTEw
fWVsc2V7UT0oY1tnPj4yXSYtMiktMXwwfWRSKHAsUSwwKTtpZigoYVtxXSYxKT09MCl7Uj1BfWVs
c2V7Uj1jW0I+PjJdfDB9Y1tyPj4yXT1SK1A7Uz1SfWVsc2V7Uz1ufUc9RSsxMnwwO049Y1tHPj4y
XXwwO1Q9RSsxNnwwO2lmKChOfDApPT0oY1tUPj4yXXwwKSl7VT0oYjBbY1soY1tFPj4yXXwwKSsz
Nj4+Ml0mMTI3XShFKXwwKSYyNTV9ZWxzZXtVPWFbTl18MH1pZigoZkcoVSx2LHcsUyxyLEQsbSxv
LHksdCx1LHgpfDApIT0wKXtLPVM7TD1JO009SjticmVha31OPWNbRz4+Ml18MDtpZigoTnwwKT09
KGNbVD4+Ml18MCkpe1Q9Y1soY1tFPj4yXXwwKSs0MD4+Ml18MDtiMFtUJjEyN10oRSl8MDtuPVM7
ej1FO2NvbnRpbnVlfWVsc2V7Y1tHPj4yXT1OKzE7bj1TO3o9RTtjb250aW51ZX19ej1kW29dfDA7
aWYoKHomMXwwKT09MCl7Vj16Pj4+MX1lbHNle1Y9Y1tvKzQ+PjJdfDB9ZG97aWYoKFZ8MCkhPTAp
e2lmKChhW3ZdJjEpPT0wKXticmVha316PWNbdD4+Ml18MDtpZigoei1zfDApPj0xNjApe2JyZWFr
fVM9Y1t1Pj4yXXwwO2NbdD4+Ml09eis0O2Nbej4+Ml09U319d2hpbGUoMCk7aFtsPj4zXT0rZkwo
SyxjW3I+PjJdfDAsayk7ZnQobyx5LGNbdD4+Ml18MCxrKTtkb3tpZihGKXtXPTB9ZWxzZXtpZigo
Y1tFKzEyPj4yXXwwKSE9KGNbRSsxNj4+Ml18MCkpe1c9RTticmVha31pZigoYjBbY1soY1tFPj4y
XXwwKSszNj4+Ml0mMTI3XShFKXwwKSE9LTEpe1c9RTticmVha31jW2o+PjJdPTA7Vz0wfX13aGls
ZSgwKTtqPShXfDApPT0wO0wzNzk4OmRve2lmKE0pe0g9MzEyMX1lbHNle2Rve2lmKChjW0wrMTI+
PjJdfDApPT0oY1tMKzE2Pj4yXXwwKSl7aWYoKGIwW2NbKGNbTD4+Ml18MCkrMzY+PjJdJjEyN10o
TCl8MCkhPS0xKXticmVha31jW2Y+PjJdPTA7SD0zMTIxO2JyZWFrIEwzNzk4fX13aGlsZSgwKTtp
ZighKGpeKEx8MCk9PTApKXticmVha31YPWJ8MDtjW1g+PjJdPVc7ZFAocCk7ZFAobyk7aT1lO3Jl
dHVybn19d2hpbGUoMCk7ZG97aWYoKEh8MCk9PTMxMjEpe2lmKGope2JyZWFrfVg9YnwwO2NbWD4+
Ml09VztkUChwKTtkUChvKTtpPWU7cmV0dXJufX13aGlsZSgwKTtjW2s+PjJdPWNbaz4+Ml18MjtY
PWJ8MDtjW1g+PjJdPVc7ZFAocCk7ZFAobyk7aT1lO3JldHVybn1mdW5jdGlvbiBmTChiLGQsZSl7
Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLjAsaj0wLGs9MC4wO2Y9aTtpPWkrOHww
O2c9ZnwwO2lmKChifDApPT0oZHwwKSl7Y1tlPj4yXT00O2g9MC4wO2k9ZjtyZXR1cm4raH1qPWNb
KGJ3KCl8MCk+PjJdfDA7Y1soYncoKXwwKT4+Ml09MDtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lm
KChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDAp
O2s9K2tXKGIsZyxjWzI5NThdfDApO2I9Y1soYncoKXwwKT4+Ml18MDtpZigoYnwwKT09MCl7Y1so
YncoKXwwKT4+Ml09an1pZigoY1tnPj4yXXwwKSE9KGR8MCkpe2NbZT4+Ml09NDtoPTAuMDtpPWY7
cmV0dXJuK2h9aWYoKGJ8MCkhPTM0KXtoPWs7aT1mO3JldHVybitofWNbZT4+Ml09NDtoPWs7aT1m
O3JldHVybitofWZ1bmN0aW9uIGZNKGIsZSxmLGcsaixrLGwpe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9
Z3wwO2o9anwwO2s9a3wwO2w9bHwwO3ZhciBtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0w
LHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAs
ST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxX
PTAsWD0wO2U9aTtpPWkrODB8MDttPWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1j
W20+PjJdO209ZztnPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2c+PjJdPWNbbT4+Ml07bT1lKzMy
fDA7bj1lKzQwfDA7bz1lKzQ4fDA7cD1lKzY0fDA7cT1wO3I9aTtpPWkrNHwwO2k9aSs3Pj4zPDwz
O3M9aTtpPWkrMTYwfDA7dD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7dT1pO2k9aSs0fDA7aT1pKzc+
PjM8PDM7dj1pO2k9aSsxfDA7aT1pKzc+PjM8PDM7dz1pO2k9aSsxfDA7aT1pKzc+PjM8PDM7eD1l
fDA7ZkoobyxqLHgsbSxuKTtrJChxfDAsMCwxMik7aj1wO2RSKHAsMTAsMCk7aWYoKGFbcV0mMSk9
PTApe3k9aisxfDA7ej15O0E9eTtCPXArOHwwfWVsc2V7eT1wKzh8MDt6PWNbeT4+Ml18MDtBPWor
MXwwO0I9eX1jW3I+PjJdPXo7eT1zfDA7Y1t0Pj4yXT15O2NbdT4+Ml09MDthW3ZdPTE7YVt3XT02
OTtqPWZ8MDtmPWd8MDtnPXB8MDtDPXArNHwwO0Q9YVttXXwwO209YVtuXXwwO249ejt6PWNbaj4+
Ml18MDtMNjp3aGlsZSgxKXtkb3tpZigoenwwKT09MCl7RT0wfWVsc2V7aWYoKGNbeisxMj4+Ml18
MCkhPShjW3orMTY+PjJdfDApKXtFPXo7YnJlYWt9aWYoKGIwW2NbKGNbej4+Ml18MCkrMzY+PjJd
JjEyN10oeil8MCkhPS0xKXtFPXo7YnJlYWt9Y1tqPj4yXT0wO0U9MH19d2hpbGUoMCk7Rj0oRXww
KT09MDtHPWNbZj4+Ml18MDtkb3tpZigoR3wwKT09MCl7SD0xN31lbHNle2lmKChjW0crMTI+PjJd
fDApIT0oY1tHKzE2Pj4yXXwwKSl7aWYoRil7ST1HO0o9MDticmVha31lbHNle0s9bjtMPUc7TT0w
O2JyZWFrIEw2fX1pZigoYjBbY1soY1tHPj4yXXwwKSszNj4+Ml0mMTI3XShHKXwwKT09LTEpe2Nb
Zj4+Ml09MDtIPTE3O2JyZWFrfWVsc2V7Tj0oR3wwKT09MDtpZihGXk4pe0k9RztKPU47YnJlYWt9
ZWxzZXtLPW47TD1HO009TjticmVhayBMNn19fX13aGlsZSgwKTtpZigoSHwwKT09MTcpe0g9MDtp
ZihGKXtLPW47TD0wO009MTticmVha31lbHNle0k9MDtKPTF9fUc9ZFtxXXwwO049KEcmMXwwKT09
MDtpZigoKGNbcj4+Ml18MCktbnwwKT09KChOP0c+Pj4xOmNbQz4+Ml18MCl8MCkpe2lmKE4pe089
Rz4+PjE7UD1HPj4+MX1lbHNle0c9Y1tDPj4yXXwwO089RztQPUd9ZFIocCxPPDwxLDApO2lmKChh
W3FdJjEpPT0wKXtRPTEwfWVsc2V7UT0oY1tnPj4yXSYtMiktMXwwfWRSKHAsUSwwKTtpZigoYVtx
XSYxKT09MCl7Uj1BfWVsc2V7Uj1jW0I+PjJdfDB9Y1tyPj4yXT1SK1A7Uz1SfWVsc2V7Uz1ufUc9
RSsxMnwwO049Y1tHPj4yXXwwO1Q9RSsxNnwwO2lmKChOfDApPT0oY1tUPj4yXXwwKSl7VT0oYjBb
Y1soY1tFPj4yXXwwKSszNj4+Ml0mMTI3XShFKXwwKSYyNTV9ZWxzZXtVPWFbTl18MH1pZigoZkco
VSx2LHcsUyxyLEQsbSxvLHksdCx1LHgpfDApIT0wKXtLPVM7TD1JO009SjticmVha31OPWNbRz4+
Ml18MDtpZigoTnwwKT09KGNbVD4+Ml18MCkpe1Q9Y1soY1tFPj4yXXwwKSs0MD4+Ml18MDtiMFtU
JjEyN10oRSl8MDtuPVM7ej1FO2NvbnRpbnVlfWVsc2V7Y1tHPj4yXT1OKzE7bj1TO3o9RTtjb250
aW51ZX19ej1kW29dfDA7aWYoKHomMXwwKT09MCl7Vj16Pj4+MX1lbHNle1Y9Y1tvKzQ+PjJdfDB9
ZG97aWYoKFZ8MCkhPTApe2lmKChhW3ZdJjEpPT0wKXticmVha316PWNbdD4+Ml18MDtpZigoei1z
fDApPj0xNjApe2JyZWFrfVM9Y1t1Pj4yXXwwO2NbdD4+Ml09eis0O2Nbej4+Ml09U319d2hpbGUo
MCk7aFtsPj4zXT0rZk4oSyxjW3I+PjJdfDAsayk7ZnQobyx5LGNbdD4+Ml18MCxrKTtkb3tpZihG
KXtXPTB9ZWxzZXtpZigoY1tFKzEyPj4yXXwwKSE9KGNbRSsxNj4+Ml18MCkpe1c9RTticmVha31p
ZigoYjBbY1soY1tFPj4yXXwwKSszNj4+Ml0mMTI3XShFKXwwKSE9LTEpe1c9RTticmVha31jW2o+
PjJdPTA7Vz0wfX13aGlsZSgwKTtqPShXfDApPT0wO0w2Nzpkb3tpZihNKXtIPTU5fWVsc2V7ZG97
aWYoKGNbTCsxMj4+Ml18MCk9PShjW0wrMTY+PjJdfDApKXtpZigoYjBbY1soY1tMPj4yXXwwKSsz
Nj4+Ml0mMTI3XShMKXwwKSE9LTEpe2JyZWFrfWNbZj4+Ml09MDtIPTU5O2JyZWFrIEw2N319d2hp
bGUoMCk7aWYoIShqXihMfDApPT0wKSl7YnJlYWt9WD1ifDA7Y1tYPj4yXT1XO2RQKHApO2RQKG8p
O2k9ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lmKChIfDApPT01OSl7aWYoail7YnJlYWt9WD1ifDA7
Y1tYPj4yXT1XO2RQKHApO2RQKG8pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Nbaz4+Ml09Y1trPj4y
XXwyO1g9YnwwO2NbWD4+Ml09VztkUChwKTtkUChvKTtpPWU7cmV0dXJufWZ1bmN0aW9uIGZOKGIs
ZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAuMCxqPTAsaz0wLjA7Zj1pO2k9
aSs4fDA7Zz1mfDA7aWYoKGJ8MCk9PShkfDApKXtjW2U+PjJdPTQ7aD0wLjA7aT1mO3JldHVybito
fWo9Y1soYncoKXwwKT4+Ml18MDtjWyhidygpfDApPj4yXT0wO2Rve2lmKChhWzE2MjY0XXwwKT09
MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8MH19d2hp
bGUoMCk7az0ra1coYixnLGNbMjk1OF18MCk7Yj1jWyhidygpfDApPj4yXXwwO2lmKChifDApPT0w
KXtjWyhidygpfDApPj4yXT1qfWlmKChjW2c+PjJdfDApIT0oZHwwKSl7Y1tlPj4yXT00O2g9MC4w
O2k9ZjtyZXR1cm4raH1pZigoYnwwKSE9MzQpe2g9aztpPWY7cmV0dXJuK2h9Y1tlPj4yXT00O2g9
aztpPWY7cmV0dXJuK2h9ZnVuY3Rpb24gZk8oYSl7YT1hfDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59
ZnVuY3Rpb24gZlAoYSl7YT1hfDA7ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24gZlEoYixlLGYsZyxo
LGosayl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxt
PTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9
MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0w
LFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MDtlPWk7aT1pKzY0fDA7bD1mO2Y9aTtpPWkrNHww
O2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1tsPj4yXTtsPWc7Zz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7
Y1tnPj4yXT1jW2w+PjJdO2w9ZXwwO209ZSsxNnwwO249ZSs0OHwwO289aTtpPWkrNHwwO2k9aSs3
Pj4zPDwzO3A9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8MztxPWk7aT1pKzR8MDtpPWkrNz4+Mzw8Mzty
PWk7aT1pKzE2MHwwO3M9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3Q9aTtpPWkrNHwwO2k9aSs3Pj4z
PDwzO2skKG58MCwwLDEyKTt1PXA7ZWoobyxoKTtoPW98MDtvPWNbaD4+Ml18MDtpZigoY1szOTI0
XXwwKSE9LTEpe2NbbD4+Ml09MTU2OTY7Y1tsKzQ+PjJdPTEyO2NbbCs4Pj4yXT0wO2RXKDE1Njk2
LGwsOTYpfWw9KGNbMzkyNV18MCktMXwwO3Y9Y1tvKzg+PjJdfDA7ZG97aWYoKGNbbysxMj4+Ml18
MCktdj4+Mj4+PjA+bD4+PjApe3c9Y1t2KyhsPDwyKT4+Ml18MDtpZigod3wwKT09MCl7YnJlYWt9
eD13O3k9bXwwO3o9Y1soY1t3Pj4yXXwwKSszMj4+Ml18MDtjYVt6JjE1XSh4LDk3NDQsOTc3MCx5
KXwwO3g9Y1toPj4yXXwwO2R6KHgpfDA7ayQodXwwLDAsMTIpO3g9cDtkUihwLDEwLDApO2lmKChh
W3VdJjEpPT0wKXt6PXgrMXwwO0E9ejtCPXo7Qz1wKzh8MH1lbHNle3o9cCs4fDA7QT1jW3o+PjJd
fDA7Qj14KzF8MDtDPXp9Y1txPj4yXT1BO3o9cnwwO2Nbcz4+Ml09ejtjW3Q+PjJdPTA7eD1mfDA7
dz1nfDA7RD1wfDA7RT1wKzR8MDtGPUE7Rz1jW3g+PjJdfDA7TDExNzp3aGlsZSgxKXtkb3tpZigo
R3wwKT09MCl7SD0wfWVsc2V7aWYoKGNbRysxMj4+Ml18MCkhPShjW0crMTY+PjJdfDApKXtIPUc7
YnJlYWt9aWYoKGIwW2NbKGNbRz4+Ml18MCkrMzY+PjJdJjEyN10oRyl8MCkhPS0xKXtIPUc7YnJl
YWt9Y1t4Pj4yXT0wO0g9MH19d2hpbGUoMCk7ST0oSHwwKT09MDtKPWNbdz4+Ml18MDtkb3tpZigo
SnwwKT09MCl7Sz0xMTB9ZWxzZXtpZigoY1tKKzEyPj4yXXwwKSE9KGNbSisxNj4+Ml18MCkpe2lm
KEkpe2JyZWFrfWVsc2V7TD1GO2JyZWFrIEwxMTd9fWlmKChiMFtjWyhjW0o+PjJdfDApKzM2Pj4y
XSYxMjddKEopfDApPT0tMSl7Y1t3Pj4yXT0wO0s9MTEwO2JyZWFrfWVsc2V7aWYoSV4oSnwwKT09
MCl7YnJlYWt9ZWxzZXtMPUY7YnJlYWsgTDExN319fX13aGlsZSgwKTtpZigoS3wwKT09MTEwKXtL
PTA7aWYoSSl7TD1GO2JyZWFrfX1KPWRbdV18MDtNPShKJjF8MCk9PTA7aWYoKChjW3E+PjJdfDAp
LUZ8MCk9PSgoTT9KPj4+MTpjW0U+PjJdfDApfDApKXtpZihNKXtOPUo+Pj4xO089Sj4+PjF9ZWxz
ZXtKPWNbRT4+Ml18MDtOPUo7Tz1KfWRSKHAsTjw8MSwwKTtpZigoYVt1XSYxKT09MCl7UD0xMH1l
bHNle1A9KGNbRD4+Ml0mLTIpLTF8MH1kUihwLFAsMCk7aWYoKGFbdV0mMSk9PTApe1E9Qn1lbHNl
e1E9Y1tDPj4yXXwwfWNbcT4+Ml09UStPO1I9UX1lbHNle1I9Rn1KPUgrMTJ8MDtNPWNbSj4+Ml18
MDtTPUgrMTZ8MDtpZigoTXwwKT09KGNbUz4+Ml18MCkpe1Q9KGIwW2NbKGNbSD4+Ml18MCkrMzY+
PjJdJjEyN10oSCl8MCkmMjU1fWVsc2V7VD1hW01dfDB9aWYoKGZzKFQsMTYsUixxLHQsMCxuLHos
cyx5KXwwKSE9MCl7TD1SO2JyZWFrfU09Y1tKPj4yXXwwO2lmKChNfDApPT0oY1tTPj4yXXwwKSl7
Uz1jWyhjW0g+PjJdfDApKzQwPj4yXXwwO2IwW1MmMTI3XShIKXwwO0Y9UjtHPUg7Y29udGludWV9
ZWxzZXtjW0o+PjJdPU0rMTtGPVI7Rz1IO2NvbnRpbnVlfX1hW0wrM3wwXT0wO2Rve2lmKChhWzE2
MjY0XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQs
MCl8MH19d2hpbGUoMCk7Rz1mUihMLGNbMjk1OF18MCwxMzIwLChGPWksaT1pKzh8MCxjW0Y+PjJd
PWssRil8MCl8MDtpPUY7aWYoKEd8MCkhPTEpe2Nbaj4+Ml09NH1HPWNbeD4+Ml18MDtkb3tpZigo
R3wwKT09MCl7VT0wfWVsc2V7aWYoKGNbRysxMj4+Ml18MCkhPShjW0crMTY+PjJdfDApKXtVPUc7
YnJlYWt9aWYoKGIwW2NbKGNbRz4+Ml18MCkrMzY+PjJdJjEyN10oRyl8MCkhPS0xKXtVPUc7YnJl
YWt9Y1t4Pj4yXT0wO1U9MH19d2hpbGUoMCk7eD0oVXwwKT09MDtHPWNbdz4+Ml18MDtkb3tpZigo
R3wwKT09MCl7Sz0xNTV9ZWxzZXtpZigoY1tHKzEyPj4yXXwwKSE9KGNbRysxNj4+Ml18MCkpe2lm
KCF4KXticmVha31WPWJ8MDtjW1Y+PjJdPVU7ZFAocCk7ZFAobik7aT1lO3JldHVybn1pZigoYjBb
Y1soY1tHPj4yXXwwKSszNj4+Ml0mMTI3XShHKXwwKT09LTEpe2Nbdz4+Ml09MDtLPTE1NTticmVh
a31pZighKHheKEd8MCk9PTApKXticmVha31WPWJ8MDtjW1Y+PjJdPVU7ZFAocCk7ZFAobik7aT1l
O3JldHVybn19d2hpbGUoMCk7ZG97aWYoKEt8MCk9PTE1NSl7aWYoeCl7YnJlYWt9Vj1ifDA7Y1tW
Pj4yXT1VO2RQKHApO2RQKG4pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Nbaj4+Ml09Y1tqPj4yXXwy
O1Y9YnwwO2NbVj4+Ml09VTtkUChwKTtkUChuKTtpPWU7cmV0dXJufX13aGlsZSgwKTtlPWJPKDQp
fDA7a3EoZSk7YmwoZXwwLDgxNzYsMTM0KX1mdW5jdGlvbiBmUihhLGIsZCxlKXthPWF8MDtiPWJ8
MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTA7Zj1pO2k9aSsxNnwwO2c9ZnwwO2g9ZztjW2g+
PjJdPWU7Y1toKzQ+PjJdPTA7aD1iQihifDApfDA7Yj1hWShhfDAsZHwwLGd8MCl8MDtpZigoaHww
KT09MCl7aT1mO3JldHVybiBifDB9YkIoaHwwKXwwO2k9ZjtyZXR1cm4gYnwwfWZ1bmN0aW9uIGZT
KGIsZSxmLGcsaCxqLGspe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3ww
O3ZhciBsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAs
eT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxN
PTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9MCxZPTAsWj0wLF89
MCwkPTAsYWE9MCxhYj0wLGFjPTAsYWQ9MDtsPWk7aT1pKzEwNHwwO209ZTtlPWk7aT1pKzR8MDtp
PWkrNz4+Mzw8MztjW2U+PjJdPWNbbT4+Ml07bT0oZy1mfDApLzEyfDA7bj1sfDA7ZG97aWYobT4+
PjA+MTAwKXtvPWtKKG0pfDA7aWYoKG98MCkhPTApe3A9bztxPW87YnJlYWt9a1goKTtwPTA7cT0w
fWVsc2V7cD1uO3E9MH19d2hpbGUoMCk7bj0oZnwwKT09KGd8MCk7aWYobil7cj1tO3M9MH1lbHNl
e289bTttPTA7dD1wO3U9Zjt3aGlsZSgxKXt2PWRbdV18MDtpZigodiYxfDApPT0wKXt3PXY+Pj4x
fWVsc2V7dz1jW3UrND4+Ml18MH1pZigod3wwKT09MCl7YVt0XT0yO3g9bSsxfDA7eT1vLTF8MH1l
bHNle2FbdF09MTt4PW07eT1vfXY9dSsxMnwwO2lmKCh2fDApPT0oZ3wwKSl7cj15O3M9eDticmVh
a31lbHNle289eTttPXg7dD10KzF8MDt1PXZ9fX11PWJ8MDtiPWV8MDtlPWg7dD0wO3g9cztzPXI7
d2hpbGUoMSl7cj1jW3U+PjJdfDA7ZG97aWYoKHJ8MCk9PTApe3o9MH1lbHNle209Y1tyKzEyPj4y
XXwwO2lmKChtfDApPT0oY1tyKzE2Pj4yXXwwKSl7QT1iMFtjWyhjW3I+PjJdfDApKzM2Pj4yXSYx
MjddKHIpfDB9ZWxzZXtBPWNbbT4+Ml18MH1pZigoQXwwKT09LTEpe2NbdT4+Ml09MDt6PTA7YnJl
YWt9ZWxzZXt6PWNbdT4+Ml18MDticmVha319fXdoaWxlKDApO3I9KHp8MCk9PTA7bT1jW2I+PjJd
fDA7aWYoKG18MCk9PTApe0I9ejtDPTB9ZWxzZXt5PWNbbSsxMj4+Ml18MDtpZigoeXwwKT09KGNb
bSsxNj4+Ml18MCkpe0Q9YjBbY1soY1ttPj4yXXwwKSszNj4+Ml0mMTI3XShtKXwwfWVsc2V7RD1j
W3k+PjJdfDB9aWYoKER8MCk9PS0xKXtjW2I+PjJdPTA7RT0wfWVsc2V7RT1tfUI9Y1t1Pj4yXXww
O0M9RX1GPShDfDApPT0wO2lmKCEoKHJeRikmKHN8MCkhPTApKXticmVha31yPWNbQisxMj4+Ml18
MDtpZigocnwwKT09KGNbQisxNj4+Ml18MCkpe0c9YjBbY1soY1tCPj4yXXwwKSszNj4+Ml0mMTI3
XShCKXwwfWVsc2V7Rz1jW3I+PjJdfDB9aWYoayl7SD1HfWVsc2V7SD1iX1tjWyhjW2U+PjJdfDAp
KzI4Pj4yXSYzMV0oaCxHKXwwfWRve2lmKG4pe0k9eDtKPXN9ZWxzZXtyPXQrMXwwO0wyNDk6ZG97
aWYoayl7bT1zO3k9eDtvPXA7dz0wO3Y9Zjt3aGlsZSgxKXtkb3tpZigoYVtvXXwwKT09MSl7Sz12
O2lmKChhW0tdJjEpPT0wKXtMPXYrNHwwfWVsc2V7TD1jW3YrOD4+Ml18MH1pZigoSHwwKSE9KGNb
TCsodDw8Mik+PjJdfDApKXthW29dPTA7TT13O049eTtPPW0tMXwwO2JyZWFrfVA9ZFtLXXwwO2lm
KChQJjF8MCk9PTApe1E9UD4+PjF9ZWxzZXtRPWNbdis0Pj4yXXwwfWlmKChRfDApIT0ocnwwKSl7
TT0xO049eTtPPW07YnJlYWt9YVtvXT0yO009MTtOPXkrMXwwO089bS0xfDB9ZWxzZXtNPXc7Tj15
O089bX19d2hpbGUoMCk7UD12KzEyfDA7aWYoKFB8MCk9PShnfDApKXtSPU87Uz1OO1Q9TTticmVh
ayBMMjQ5fW09Tzt5PU47bz1vKzF8MDt3PU07dj1QfX1lbHNle3Y9czt3PXg7bz1wO3k9MDttPWY7
d2hpbGUoMSl7ZG97aWYoKGFbb118MCk9PTEpe1A9bTtpZigoYVtQXSYxKT09MCl7VT1tKzR8MH1l
bHNle1U9Y1ttKzg+PjJdfDB9aWYoKEh8MCkhPShiX1tjWyhjW2U+PjJdfDApKzI4Pj4yXSYzMV0o
aCxjW1UrKHQ8PDIpPj4yXXwwKXwwKSl7YVtvXT0wO1Y9eTtXPXc7WD12LTF8MDticmVha31LPWRb
UF18MDtpZigoSyYxfDApPT0wKXtZPUs+Pj4xfWVsc2V7WT1jW20rND4+Ml18MH1pZigoWXwwKSE9
KHJ8MCkpe1Y9MTtXPXc7WD12O2JyZWFrfWFbb109MjtWPTE7Vz13KzF8MDtYPXYtMXwwfWVsc2V7
Vj15O1c9dztYPXZ9fXdoaWxlKDApO0s9bSsxMnwwO2lmKChLfDApPT0oZ3wwKSl7Uj1YO1M9VztU
PVY7YnJlYWsgTDI0OX12PVg7dz1XO289bysxfDA7eT1WO209S319fXdoaWxlKDApO2lmKCFUKXtJ
PVM7Sj1SO2JyZWFrfXI9Y1t1Pj4yXXwwO209cisxMnwwO3k9Y1ttPj4yXXwwO2lmKCh5fDApPT0o
Y1tyKzE2Pj4yXXwwKSl7bz1jWyhjW3I+PjJdfDApKzQwPj4yXXwwO2IwW28mMTI3XShyKXwwfWVs
c2V7Y1ttPj4yXT15KzR9aWYoKFMrUnwwKT4+PjA8MnxuKXtJPVM7Sj1SO2JyZWFrfXk9dCsxfDA7
bT1TO3I9cDtvPWY7d2hpbGUoMSl7ZG97aWYoKGFbcl18MCk9PTIpe3c9ZFtvXXwwO2lmKCh3JjF8
MCk9PTApe1o9dz4+PjF9ZWxzZXtaPWNbbys0Pj4yXXwwfWlmKChafDApPT0oeXwwKSl7Xz1tO2Jy
ZWFrfWFbcl09MDtfPW0tMXwwfWVsc2V7Xz1tfX13aGlsZSgwKTt3PW8rMTJ8MDtpZigod3wwKT09
KGd8MCkpe0k9XztKPVI7YnJlYWt9ZWxzZXttPV87cj1yKzF8MDtvPXd9fX19d2hpbGUoMCk7dD10
KzF8MDt4PUk7cz1KfWRve2lmKChCfDApPT0wKXskPTF9ZWxzZXtKPWNbQisxMj4+Ml18MDtpZigo
SnwwKT09KGNbQisxNj4+Ml18MCkpe2FhPWIwW2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8
MH1lbHNle2FhPWNbSj4+Ml18MH1pZigoYWF8MCk9PS0xKXtjW3U+PjJdPTA7JD0xO2JyZWFrfWVs
c2V7JD0oY1t1Pj4yXXwwKT09MDticmVha319fXdoaWxlKDApO2Rve2lmKEYpe2FiPTI2NH1lbHNl
e3U9Y1tDKzEyPj4yXXwwO2lmKCh1fDApPT0oY1tDKzE2Pj4yXXwwKSl7YWM9YjBbY1soY1tDPj4y
XXwwKSszNj4+Ml0mMTI3XShDKXwwfWVsc2V7YWM9Y1t1Pj4yXXwwfWlmKChhY3wwKT09LTEpe2Nb
Yj4+Ml09MDthYj0yNjQ7YnJlYWt9ZWxzZXtpZigkXihDfDApPT0wKXticmVha31lbHNle2FiPTI2
NjticmVha319fX13aGlsZSgwKTtpZigoYWJ8MCk9PTI2NCl7aWYoJCl7YWI9MjY2fX1pZigoYWJ8
MCk9PTI2Nil7Y1tqPj4yXT1jW2o+PjJdfDJ9TDMzMDpkb3tpZihuKXthYj0yNzF9ZWxzZXskPWY7
Qz1wO3doaWxlKDEpe2lmKChhW0NdfDApPT0yKXthZD0kO2JyZWFrIEwzMzB9Yj0kKzEyfDA7aWYo
KGJ8MCk9PShnfDApKXthYj0yNzE7YnJlYWsgTDMzMH0kPWI7Qz1DKzF8MH19fXdoaWxlKDApO2lm
KChhYnwwKT09MjcxKXtjW2o+PjJdPWNbaj4+Ml18NDthZD1nfWlmKChxfDApPT0wKXtpPWw7cmV0
dXJuIGFkfDB9a0socSk7aT1sO3JldHVybiBhZHwwfWZ1bmN0aW9uIGZUKGIsZCxlLGYsZyxoLGop
e2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09
MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0w
O2s9aTtpPWkrMTEyfDA7bD1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1tsPj4y
XTtsPWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9a3wwO209aysx
NnwwO249ayszMnwwO289ays0MHwwO3A9ays0OHwwO3E9ays1NnwwO3I9ays2NHwwO3M9ays3Mnww
O3Q9ays4MHwwO3U9aysxMDR8MDtpZigoY1tnKzQ+PjJdJjF8MCk9PTApe2Nbbj4+Ml09LTE7dj1j
WyhjW2Q+PjJdfDApKzE2Pj4yXXwwO3c9ZXwwO2NbcD4+Ml09Y1t3Pj4yXTtjW3E+PjJdPWNbZj4+
Ml07YlhbdiYxMjddKG8sZCxwLHEsZyxoLG4pO3E9Y1tvPj4yXXwwO2Nbdz4+Ml09cTtzd2l0Y2go
Y1tuPj4yXXwwKXtjYXNlIDE6e2Fbal09MTticmVha307Y2FzZSAwOnthW2pdPTA7YnJlYWt9O2Rl
ZmF1bHQ6e2Fbal09MTtjW2g+PjJdPTR9fWNbYj4+Ml09cTtpPWs7cmV0dXJufWVqKHIsZyk7cT1y
fDA7cj1jW3E+PjJdfDA7aWYoKGNbMzkyMl18MCkhPS0xKXtjW20+PjJdPTE1Njg4O2NbbSs0Pj4y
XT0xMjtjW20rOD4+Ml09MDtkVygxNTY4OCxtLDk2KX1tPShjWzM5MjNdfDApLTF8MDtuPWNbcis4
Pj4yXXwwO2Rve2lmKChjW3IrMTI+PjJdfDApLW4+PjI+Pj4wPm0+Pj4wKXt3PWNbbisobTw8Mik+
PjJdfDA7aWYoKHd8MCk9PTApe2JyZWFrfW89dzt3PWNbcT4+Ml18MDtkeih3KXwwO2VqKHMsZyk7
dz1zfDA7cD1jW3c+PjJdfDA7aWYoKGNbMzgyNl18MCkhPS0xKXtjW2w+PjJdPTE1MzA0O2NbbCs0
Pj4yXT0xMjtjW2wrOD4+Ml09MDtkVygxNTMwNCxsLDk2KX1kPShjWzM4MjddfDApLTF8MDt2PWNb
cCs4Pj4yXXwwO2Rve2lmKChjW3ArMTI+PjJdfDApLXY+PjI+Pj4wPmQ+Pj4wKXt4PWNbdisoZDw8
Mik+PjJdfDA7aWYoKHh8MCk9PTApe2JyZWFrfXk9eDt6PWNbdz4+Ml18MDtkeih6KXwwO3o9dHww
O0E9eDtiWltjWyhjW0E+PjJdfDApKzI0Pj4yXSYxMjddKHoseSk7YlpbY1soY1tBPj4yXXwwKSsy
OD4+Ml0mMTI3XSh0KzEyfDAseSk7Y1t1Pj4yXT1jW2Y+PjJdO2Fbal09KGZTKGUsdSx6LHQrMjR8
MCxvLGgsMSl8MCk9PSh6fDApfDA7Y1tiPj4yXT1jW2U+PjJdO2VlKHQrMTJ8MCk7ZWUodHwwKTtp
PWs7cmV0dXJufX13aGlsZSgwKTtvPWJPKDQpfDA7a3Eobyk7Ymwob3wwLDgxNzYsMTM0KX19d2hp
bGUoMCk7az1iTyg0KXwwO2txKGspO2JsKGt8MCw4MTc2LDEzNCl9ZnVuY3Rpb24gZlUoYixlLGYs
ZyxoLGksaixrLGwsbSl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7aj1qfDA7
az1rfDA7bD1sfDA7bT1tfDA7dmFyIG49MCxvPTAscD0wLHE9MCxyPTAscz0wO249Y1tnPj4yXXww
O289KG58MCk9PShmfDApO2Rve2lmKG8pe3A9KGNbbSs5Nj4+Ml18MCk9PShifDApO2lmKCFwKXtp
ZigoY1ttKzEwMD4+Ml18MCkhPShifDApKXticmVha319Y1tnPj4yXT1mKzE7YVtmXT1wPzQzOjQ1
O2NbaD4+Ml09MDtxPTA7cmV0dXJuIHF8MH19d2hpbGUoMCk7cD1kW2pdfDA7aWYoKHAmMXwwKT09
MCl7cj1wPj4+MX1lbHNle3I9Y1tqKzQ+PjJdfDB9aWYoKHJ8MCkhPTAmKGJ8MCk9PShpfDApKXtp
PWNbbD4+Ml18MDtpZigoaS1rfDApPj0xNjApe3E9MDtyZXR1cm4gcXwwfWs9Y1toPj4yXXwwO2Nb
bD4+Ml09aSs0O2NbaT4+Ml09aztjW2g+PjJdPTA7cT0wO3JldHVybiBxfDB9az1tKzEwNHwwO2k9
bTt3aGlsZSgxKXtpZigoaXwwKT09KGt8MCkpe3M9azticmVha31pZigoY1tpPj4yXXwwKT09KGJ8
MCkpe3M9aTticmVha31lbHNle2k9aSs0fDB9fWk9cy1tfDA7bT1pPj4yO2lmKChpfDApPjkyKXtx
PS0xO3JldHVybiBxfDB9TDM5ODpkb3tzd2l0Y2goZXwwKXtjYXNlIDg6Y2FzZSAxMDp7aWYoKG18
MCk8KGV8MCkpe2JyZWFrIEwzOTh9ZWxzZXtxPS0xfXJldHVybiBxfDB9O2Nhc2UgMTY6e2lmKChp
fDApPDg4KXticmVhayBMMzk4fWlmKG8pe3E9LTE7cmV0dXJuIHF8MH1pZigobi1mfDApPj0zKXtx
PS0xO3JldHVybiBxfDB9aWYoKGFbbi0xfDBdfDApIT00OCl7cT0tMTtyZXR1cm4gcXwwfWNbaD4+
Ml09MDtzPWFbOTc0NCttfDBdfDA7Yj1jW2c+PjJdfDA7Y1tnPj4yXT1iKzE7YVtiXT1zO3E9MDty
ZXR1cm4gcXwwfTtkZWZhdWx0Ont9fX13aGlsZSgwKTtmPWFbOTc0NCttfDBdfDA7Y1tnPj4yXT1u
KzE7YVtuXT1mO2NbaD4+Ml09KGNbaD4+Ml18MCkrMTtxPTA7cmV0dXJuIHF8MH1mdW5jdGlvbiBm
VihiLGUsZixnLGgsaixrKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8
MDt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0w
LHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAs
TT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wO2U9aTtp
PWkrMTQ0fDA7bD1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1tsPj4yXTtsPWc7
Zz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tnPj4yXT1jW2w+PjJdO2w9ZSsxMDR8MDttPWUrMTEy
fDA7bj1lKzEyOHwwO289bjtwPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztxPWk7aT1pKzE2MHwwO3I9
aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3M9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3N3aXRjaChjW2gr
ND4+Ml0mNzR8MCl7Y2FzZSA4Ont0PTE2O2JyZWFrfTtjYXNlIDA6e3Q9MDticmVha307Y2FzZSA2
NDp7dD04O2JyZWFrfTtkZWZhdWx0Ont0PTEwfX11PWV8MDtmVyhtLGgsdSxsKTtrJChvfDAsMCwx
Mik7aD1uO2RSKG4sMTAsMCk7aWYoKGFbb10mMSk9PTApe3Y9aCsxfDA7dz12O3g9djt5PW4rOHww
fWVsc2V7dj1uKzh8MDt3PWNbdj4+Ml18MDt4PWgrMXwwO3k9dn1jW3A+PjJdPXc7dj1xfDA7Y1ty
Pj4yXT12O2Nbcz4+Ml09MDtoPWZ8MDtmPWd8MDtnPW58MDt6PW4rNHwwO0E9Y1tsPj4yXXwwO2w9
dzt3PWNbaD4+Ml18MDtMNDI2OndoaWxlKDEpe2Rve2lmKCh3fDApPT0wKXtCPTB9ZWxzZXtDPWNb
dysxMj4+Ml18MDtpZigoQ3wwKT09KGNbdysxNj4+Ml18MCkpe0Q9YjBbY1soY1t3Pj4yXXwwKSsz
Nj4+Ml0mMTI3XSh3KXwwfWVsc2V7RD1jW0M+PjJdfDB9aWYoKER8MCkhPS0xKXtCPXc7YnJlYWt9
Y1toPj4yXT0wO0I9MH19d2hpbGUoMCk7RT0oQnwwKT09MDtDPWNbZj4+Ml18MDtkb3tpZigoQ3ww
KT09MCl7Rj0zNjN9ZWxzZXtHPWNbQysxMj4+Ml18MDtpZigoR3wwKT09KGNbQysxNj4+Ml18MCkp
e0g9YjBbY1soY1tDPj4yXXwwKSszNj4+Ml0mMTI3XShDKXwwfWVsc2V7SD1jW0c+PjJdfDB9aWYo
KEh8MCk9PS0xKXtjW2Y+PjJdPTA7Rj0zNjM7YnJlYWt9ZWxzZXtHPShDfDApPT0wO2lmKEVeRyl7
ST1DO0o9RzticmVha31lbHNle0s9bDtMPUM7TT1HO2JyZWFrIEw0MjZ9fX19d2hpbGUoMCk7aWYo
KEZ8MCk9PTM2Myl7Rj0wO2lmKEUpe0s9bDtMPTA7TT0xO2JyZWFrfWVsc2V7ST0wO0o9MX19Qz1k
W29dfDA7Rz0oQyYxfDApPT0wO2lmKCgoY1twPj4yXXwwKS1sfDApPT0oKEc/Qz4+PjE6Y1t6Pj4y
XXwwKXwwKSl7aWYoRyl7Tj1DPj4+MTtPPUM+Pj4xfWVsc2V7Qz1jW3o+PjJdfDA7Tj1DO089Q31k
UihuLE48PDEsMCk7aWYoKGFbb10mMSk9PTApe1A9MTB9ZWxzZXtQPShjW2c+PjJdJi0yKS0xfDB9
ZFIobixQLDApO2lmKChhW29dJjEpPT0wKXtRPXh9ZWxzZXtRPWNbeT4+Ml18MH1jW3A+PjJdPVEr
TztSPVF9ZWxzZXtSPWx9Qz1CKzEyfDA7Rz1jW0M+PjJdfDA7Uz1CKzE2fDA7aWYoKEd8MCk9PShj
W1M+PjJdfDApKXtUPWIwW2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MH1lbHNle1Q9Y1tH
Pj4yXXwwfWlmKChmVShULHQsUixwLHMsQSxtLHYscix1KXwwKSE9MCl7Sz1SO0w9STtNPUo7YnJl
YWt9Rz1jW0M+PjJdfDA7aWYoKEd8MCk9PShjW1M+PjJdfDApKXtTPWNbKGNbQj4+Ml18MCkrNDA+
PjJdfDA7YjBbUyYxMjddKEIpfDA7bD1SO3c9Qjtjb250aW51ZX1lbHNle2NbQz4+Ml09Rys0O2w9
Ujt3PUI7Y29udGludWV9fXc9ZFttXXwwO2lmKCh3JjF8MCk9PTApe1U9dz4+PjF9ZWxzZXtVPWNb
bSs0Pj4yXXwwfWRve2lmKChVfDApIT0wKXt3PWNbcj4+Ml18MDtpZigody1xfDApPj0xNjApe2Jy
ZWFrfVI9Y1tzPj4yXXwwO2Nbcj4+Ml09dys0O2Nbdz4+Ml09Un19d2hpbGUoMCk7Y1trPj4yXT1m
dShLLGNbcD4+Ml18MCxqLHQpfDA7ZnQobSx2LGNbcj4+Ml18MCxqKTtkb3tpZihFKXtWPTB9ZWxz
ZXtyPWNbQisxMj4+Ml18MDtpZigocnwwKT09KGNbQisxNj4+Ml18MCkpe1c9YjBbY1soY1tCPj4y
XXwwKSszNj4+Ml0mMTI3XShCKXwwfWVsc2V7Vz1jW3I+PjJdfDB9aWYoKFd8MCkhPS0xKXtWPUI7
YnJlYWt9Y1toPj4yXT0wO1Y9MH19d2hpbGUoMCk7aD0oVnwwKT09MDtkb3tpZihNKXtGPTQwNX1l
bHNle0I9Y1tMKzEyPj4yXXwwO2lmKChCfDApPT0oY1tMKzE2Pj4yXXwwKSl7WD1iMFtjWyhjW0w+
PjJdfDApKzM2Pj4yXSYxMjddKEwpfDB9ZWxzZXtYPWNbQj4+Ml18MH1pZigoWHwwKT09LTEpe2Nb
Zj4+Ml09MDtGPTQwNTticmVha31pZighKGheKEx8MCk9PTApKXticmVha31ZPWJ8MDtjW1k+PjJd
PVY7ZFAobik7ZFAobSk7aT1lO3JldHVybn19d2hpbGUoMCk7ZG97aWYoKEZ8MCk9PTQwNSl7aWYo
aCl7YnJlYWt9WT1ifDA7Y1tZPj4yXT1WO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59fXdoaWxlKDAp
O2Nbaj4+Ml09Y1tqPj4yXXwyO1k9YnwwO2NbWT4+Ml09VjtkUChuKTtkUChtKTtpPWU7cmV0dXJu
fWZ1bmN0aW9uIGZXKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0w
LGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTA7Zj1pO2k9aSs0MHwwO2c9ZnwwO2g9Zisx
NnwwO2o9ZiszMnwwO2VqKGosYik7Yj1qfDA7aj1jW2I+PjJdfDA7aWYoKGNbMzkyMl18MCkhPS0x
KXtjW2g+PjJdPTE1Njg4O2NbaCs0Pj4yXT0xMjtjW2grOD4+Ml09MDtkVygxNTY4OCxoLDk2KX1o
PShjWzM5MjNdfDApLTF8MDtrPWNbais4Pj4yXXwwO2Rve2lmKChjW2orMTI+PjJdfDApLWs+PjI+
Pj4wPmg+Pj4wKXtsPWNbaysoaDw8Mik+PjJdfDA7aWYoKGx8MCk9PTApe2JyZWFrfW09bDtuPWNb
KGNbbD4+Ml18MCkrNDg+PjJdfDA7Y2FbbiYxNV0obSw5NzQ0LDk3NzAsZCl8MDttPWNbYj4+Ml18
MDtpZigoY1szODI2XXwwKSE9LTEpe2NbZz4+Ml09MTUzMDQ7Y1tnKzQ+PjJdPTEyO2NbZys4Pj4y
XT0wO2RXKDE1MzA0LGcsOTYpfW49KGNbMzgyN118MCktMXwwO2w9Y1ttKzg+PjJdfDA7ZG97aWYo
KGNbbSsxMj4+Ml18MCktbD4+Mj4+PjA+bj4+PjApe289Y1tsKyhuPDwyKT4+Ml18MDtpZigob3ww
KT09MCl7YnJlYWt9cD1vO2NbZT4+Ml09YjBbY1soY1tvPj4yXXwwKSsxNj4+Ml0mMTI3XShwKXww
O2JaW2NbKGNbbz4+Ml18MCkrMjA+PjJdJjEyN10oYSxwKTtwPWNbYj4+Ml18MDtkeihwKXwwO2k9
ZjtyZXR1cm59fXdoaWxlKDApO249Yk8oNCl8MDtrcShuKTtibChufDAsODE3NiwxMzQpfX13aGls
ZSgwKTtmPWJPKDQpfDA7a3EoZik7YmwoZnwwLDgxNzYsMTM0KX1mdW5jdGlvbiBmWChiLGUsZixn
LGgsaixrKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0w
LG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAs
QT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEw9MCxNPTAsTj0wLE89MCxQ
PTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9MCxZPTAsWj0wO2U9aTtpPWkrMTQ0fDA7
bD1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1tsPj4yXTtsPWc7Zz1pO2k9aSs0
fDA7aT1pKzc+PjM8PDM7Y1tnPj4yXT1jW2w+PjJdO2w9ZSsxMDR8MDttPWUrMTEyfDA7bj1lKzEy
OHwwO289bjtwPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztxPWk7aT1pKzE2MHwwO3I9aTtpPWkrNHww
O2k9aSs3Pj4zPDwzO3M9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3N3aXRjaChjW2grND4+Ml0mNzR8
MCl7Y2FzZSA4Ont0PTE2O2JyZWFrfTtjYXNlIDA6e3Q9MDticmVha307Y2FzZSA2NDp7dD04O2Jy
ZWFrfTtkZWZhdWx0Ont0PTEwfX11PWV8MDtmVyhtLGgsdSxsKTtrJChvfDAsMCwxMik7aD1uO2RS
KG4sMTAsMCk7aWYoKGFbb10mMSk9PTApe3Y9aCsxfDA7dz12O3g9djt5PW4rOHwwfWVsc2V7dj1u
Kzh8MDt3PWNbdj4+Ml18MDt4PWgrMXwwO3k9dn1jW3A+PjJdPXc7dj1xfDA7Y1tyPj4yXT12O2Nb
cz4+Ml09MDtoPWZ8MDtmPWd8MDtnPW58MDt6PW4rNHwwO0E9Y1tsPj4yXXwwO2w9dzt3PWNbaD4+
Ml18MDtMNTM1OndoaWxlKDEpe2Rve2lmKCh3fDApPT0wKXtCPTB9ZWxzZXtDPWNbdysxMj4+Ml18
MDtpZigoQ3wwKT09KGNbdysxNj4+Ml18MCkpe0Q9YjBbY1soY1t3Pj4yXXwwKSszNj4+Ml0mMTI3
XSh3KXwwfWVsc2V7RD1jW0M+PjJdfDB9aWYoKER8MCkhPS0xKXtCPXc7YnJlYWt9Y1toPj4yXT0w
O0I9MH19d2hpbGUoMCk7RT0oQnwwKT09MDtDPWNbZj4+Ml18MDtkb3tpZigoQ3wwKT09MCl7Rj00
NTB9ZWxzZXtHPWNbQysxMj4+Ml18MDtpZigoR3wwKT09KGNbQysxNj4+Ml18MCkpe0g9YjBbY1so
Y1tDPj4yXXwwKSszNj4+Ml0mMTI3XShDKXwwfWVsc2V7SD1jW0c+PjJdfDB9aWYoKEh8MCk9PS0x
KXtjW2Y+PjJdPTA7Rj00NTA7YnJlYWt9ZWxzZXtHPShDfDApPT0wO2lmKEVeRyl7ST1DO0o9Rzti
cmVha31lbHNle0w9bDtNPUM7Tj1HO2JyZWFrIEw1MzV9fX19d2hpbGUoMCk7aWYoKEZ8MCk9PTQ1
MCl7Rj0wO2lmKEUpe0w9bDtNPTA7Tj0xO2JyZWFrfWVsc2V7ST0wO0o9MX19Qz1kW29dfDA7Rz0o
QyYxfDApPT0wO2lmKCgoY1twPj4yXXwwKS1sfDApPT0oKEc/Qz4+PjE6Y1t6Pj4yXXwwKXwwKSl7
aWYoRyl7Tz1DPj4+MTtQPUM+Pj4xfWVsc2V7Qz1jW3o+PjJdfDA7Tz1DO1A9Q31kUihuLE88PDEs
MCk7aWYoKGFbb10mMSk9PTApe1E9MTB9ZWxzZXtRPShjW2c+PjJdJi0yKS0xfDB9ZFIobixRLDAp
O2lmKChhW29dJjEpPT0wKXtSPXh9ZWxzZXtSPWNbeT4+Ml18MH1jW3A+PjJdPVIrUDtTPVJ9ZWxz
ZXtTPWx9Qz1CKzEyfDA7Rz1jW0M+PjJdfDA7VD1CKzE2fDA7aWYoKEd8MCk9PShjW1Q+PjJdfDAp
KXtVPWIwW2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MH1lbHNle1U9Y1tHPj4yXXwwfWlm
KChmVShVLHQsUyxwLHMsQSxtLHYscix1KXwwKSE9MCl7TD1TO009STtOPUo7YnJlYWt9Rz1jW0M+
PjJdfDA7aWYoKEd8MCk9PShjW1Q+PjJdfDApKXtUPWNbKGNbQj4+Ml18MCkrNDA+PjJdfDA7YjBb
VCYxMjddKEIpfDA7bD1TO3c9Qjtjb250aW51ZX1lbHNle2NbQz4+Ml09Rys0O2w9Uzt3PUI7Y29u
dGludWV9fXc9ZFttXXwwO2lmKCh3JjF8MCk9PTApe1Y9dz4+PjF9ZWxzZXtWPWNbbSs0Pj4yXXww
fWRve2lmKChWfDApIT0wKXt3PWNbcj4+Ml18MDtpZigody1xfDApPj0xNjApe2JyZWFrfVM9Y1tz
Pj4yXXwwO2Nbcj4+Ml09dys0O2Nbdz4+Ml09U319d2hpbGUoMCk7cz1mdyhMLGNbcD4+Ml18MCxq
LHQpfDA7Y1trPj4yXT1zO2Nbays0Pj4yXT1LO2Z0KG0sdixjW3I+PjJdfDAsaik7ZG97aWYoRSl7
Vz0wfWVsc2V7cj1jW0IrMTI+PjJdfDA7aWYoKHJ8MCk9PShjW0IrMTY+PjJdfDApKXtYPWIwW2Nb
KGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MH1lbHNle1g9Y1tyPj4yXXwwfWlmKChYfDApIT0t
MSl7Vz1CO2JyZWFrfWNbaD4+Ml09MDtXPTB9fXdoaWxlKDApO2g9KFd8MCk9PTA7ZG97aWYoTil7
Rj00OTJ9ZWxzZXtCPWNbTSsxMj4+Ml18MDtpZigoQnwwKT09KGNbTSsxNj4+Ml18MCkpe1k9YjBb
Y1soY1tNPj4yXXwwKSszNj4+Ml0mMTI3XShNKXwwfWVsc2V7WT1jW0I+PjJdfDB9aWYoKFl8MCk9
PS0xKXtjW2Y+PjJdPTA7Rj00OTI7YnJlYWt9aWYoIShoXihNfDApPT0wKSl7YnJlYWt9Wj1ifDA7
Y1taPj4yXT1XO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lmKChGfDApPT00
OTIpe2lmKGgpe2JyZWFrfVo9YnwwO2NbWj4+Ml09VztkUChuKTtkUChtKTtpPWU7cmV0dXJufX13
aGlsZSgwKTtjW2o+PjJdPWNbaj4+Ml18MjtaPWJ8MDtjW1o+PjJdPVc7ZFAobik7ZFAobSk7aT1l
O3JldHVybn1mdW5jdGlvbiBmWShlLGYsZyxoLGosayxsKXtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8
MDtqPWp8MDtrPWt8MDtsPWx8MDt2YXIgbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1
PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9
MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0w
LFg9MCxZPTAsWj0wO2Y9aTtpPWkrMTQ0fDA7bT1nO2c9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2Nb
Zz4+Ml09Y1ttPj4yXTttPWg7aD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1toPj4yXT1jW20+PjJd
O209ZisxMDR8MDtuPWYrMTEyfDA7bz1mKzEyOHwwO3A9bztxPWk7aT1pKzR8MDtpPWkrNz4+Mzw8
MztyPWk7aT1pKzE2MHwwO3M9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3Q9aTtpPWkrNHwwO2k9aSs3
Pj4zPDwzO3N3aXRjaChjW2orND4+Ml0mNzR8MCl7Y2FzZSA4Ont1PTE2O2JyZWFrfTtjYXNlIDY0
Ont1PTg7YnJlYWt9O2Nhc2UgMDp7dT0wO2JyZWFrfTtkZWZhdWx0Ont1PTEwfX12PWZ8MDtmVyhu
LGosdixtKTtrJChwfDAsMCwxMik7aj1vO2RSKG8sMTAsMCk7aWYoKGFbcF0mMSk9PTApe3c9aisx
fDA7eD13O3k9dzt6PW8rOHwwfWVsc2V7dz1vKzh8MDt4PWNbdz4+Ml18MDt5PWorMXwwO3o9d31j
W3E+PjJdPXg7dz1yfDA7Y1tzPj4yXT13O2NbdD4+Ml09MDtqPWd8MDtnPWh8MDtoPW98MDtBPW8r
NHwwO0I9Y1ttPj4yXXwwO209eDt4PWNbaj4+Ml18MDtMNjI0OndoaWxlKDEpe2Rve2lmKCh4fDAp
PT0wKXtDPTB9ZWxzZXtEPWNbeCsxMj4+Ml18MDtpZigoRHwwKT09KGNbeCsxNj4+Ml18MCkpe0U9
YjBbY1soY1t4Pj4yXXwwKSszNj4+Ml0mMTI3XSh4KXwwfWVsc2V7RT1jW0Q+PjJdfDB9aWYoKEV8
MCkhPS0xKXtDPXg7YnJlYWt9Y1tqPj4yXT0wO0M9MH19d2hpbGUoMCk7Rj0oQ3wwKT09MDtEPWNb
Zz4+Ml18MDtkb3tpZigoRHwwKT09MCl7Rz01MjB9ZWxzZXtIPWNbRCsxMj4+Ml18MDtpZigoSHww
KT09KGNbRCsxNj4+Ml18MCkpe0k9YjBbY1soY1tEPj4yXXwwKSszNj4+Ml0mMTI3XShEKXwwfWVs
c2V7ST1jW0g+PjJdfDB9aWYoKEl8MCk9PS0xKXtjW2c+PjJdPTA7Rz01MjA7YnJlYWt9ZWxzZXtI
PShEfDApPT0wO2lmKEZeSCl7Sj1EO0s9SDticmVha31lbHNle0w9bTtNPUQ7Tj1IO2JyZWFrIEw2
MjR9fX19d2hpbGUoMCk7aWYoKEd8MCk9PTUyMCl7Rz0wO2lmKEYpe0w9bTtNPTA7Tj0xO2JyZWFr
fWVsc2V7Sj0wO0s9MX19RD1kW3BdfDA7SD0oRCYxfDApPT0wO2lmKCgoY1txPj4yXXwwKS1tfDAp
PT0oKEg/RD4+PjE6Y1tBPj4yXXwwKXwwKSl7aWYoSCl7Tz1EPj4+MTtQPUQ+Pj4xfWVsc2V7RD1j
W0E+PjJdfDA7Tz1EO1A9RH1kUihvLE88PDEsMCk7aWYoKGFbcF0mMSk9PTApe1E9MTB9ZWxzZXtR
PShjW2g+PjJdJi0yKS0xfDB9ZFIobyxRLDApO2lmKChhW3BdJjEpPT0wKXtSPXl9ZWxzZXtSPWNb
ej4+Ml18MH1jW3E+PjJdPVIrUDtTPVJ9ZWxzZXtTPW19RD1DKzEyfDA7SD1jW0Q+PjJdfDA7VD1D
KzE2fDA7aWYoKEh8MCk9PShjW1Q+PjJdfDApKXtVPWIwW2NbKGNbQz4+Ml18MCkrMzY+PjJdJjEy
N10oQyl8MH1lbHNle1U9Y1tIPj4yXXwwfWlmKChmVShVLHUsUyxxLHQsQixuLHcscyx2KXwwKSE9
MCl7TD1TO009SjtOPUs7YnJlYWt9SD1jW0Q+PjJdfDA7aWYoKEh8MCk9PShjW1Q+PjJdfDApKXtU
PWNbKGNbQz4+Ml18MCkrNDA+PjJdfDA7YjBbVCYxMjddKEMpfDA7bT1TO3g9Qztjb250aW51ZX1l
bHNle2NbRD4+Ml09SCs0O209Uzt4PUM7Y29udGludWV9fXg9ZFtuXXwwO2lmKCh4JjF8MCk9PTAp
e1Y9eD4+PjF9ZWxzZXtWPWNbbis0Pj4yXXwwfWRve2lmKChWfDApIT0wKXt4PWNbcz4+Ml18MDtp
ZigoeC1yfDApPj0xNjApe2JyZWFrfVM9Y1t0Pj4yXXwwO2Nbcz4+Ml09eCs0O2NbeD4+Ml09U319
d2hpbGUoMCk7YltsPj4xXT1meihMLGNbcT4+Ml18MCxrLHUpfDA7ZnQobix3LGNbcz4+Ml18MCxr
KTtkb3tpZihGKXtXPTB9ZWxzZXtzPWNbQysxMj4+Ml18MDtpZigoc3wwKT09KGNbQysxNj4+Ml18
MCkpe1g9YjBbY1soY1tDPj4yXXwwKSszNj4+Ml0mMTI3XShDKXwwfWVsc2V7WD1jW3M+PjJdfDB9
aWYoKFh8MCkhPS0xKXtXPUM7YnJlYWt9Y1tqPj4yXT0wO1c9MH19d2hpbGUoMCk7aj0oV3wwKT09
MDtkb3tpZihOKXtHPTU2Mn1lbHNle0M9Y1tNKzEyPj4yXXwwO2lmKChDfDApPT0oY1tNKzE2Pj4y
XXwwKSl7WT1iMFtjWyhjW00+PjJdfDApKzM2Pj4yXSYxMjddKE0pfDB9ZWxzZXtZPWNbQz4+Ml18
MH1pZigoWXwwKT09LTEpe2NbZz4+Ml09MDtHPTU2MjticmVha31pZighKGpeKE18MCk9PTApKXti
cmVha31aPWV8MDtjW1o+PjJdPVc7ZFAobyk7ZFAobik7aT1mO3JldHVybn19d2hpbGUoMCk7ZG97
aWYoKEd8MCk9PTU2Mil7aWYoail7YnJlYWt9Wj1lfDA7Y1taPj4yXT1XO2RQKG8pO2RQKG4pO2k9
ZjtyZXR1cm59fXdoaWxlKDApO2Nbaz4+Ml09Y1trPj4yXXwyO1o9ZXwwO2NbWj4+Ml09VztkUChv
KTtkUChuKTtpPWY7cmV0dXJufWZ1bmN0aW9uIGZaKGIsZSxmLGcsaCxqLGspe2I9YnwwO2U9ZXww
O2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0wLG49MCxvPTAscD0wLHE9
MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0w
LEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAs
VD0wLFU9MCxWPTAsVz0wLFg9MCxZPTA7ZT1pO2k9aSsxNDR8MDtsPWY7Zj1pO2k9aSs0fDA7aT1p
Kzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9ZztnPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2c+
PjJdPWNbbD4+Ml07bD1lKzEwNHwwO209ZSsxMTJ8MDtuPWUrMTI4fDA7bz1uO3A9aTtpPWkrNHww
O2k9aSs3Pj4zPDwzO3E9aTtpPWkrMTYwfDA7cj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7cz1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7c3dpdGNoKGNbaCs0Pj4yXSY3NHwwKXtjYXNlIDg6e3Q9MTY7YnJl
YWt9O2Nhc2UgMDp7dD0wO2JyZWFrfTtjYXNlIDY0Ont0PTg7YnJlYWt9O2RlZmF1bHQ6e3Q9MTB9
fXU9ZXwwO2ZXKG0saCx1LGwpO2skKG98MCwwLDEyKTtoPW47ZFIobiwxMCwwKTtpZigoYVtvXSYx
KT09MCl7dj1oKzF8MDt3PXY7eD12O3k9bis4fDB9ZWxzZXt2PW4rOHwwO3c9Y1t2Pj4yXXwwO3g9
aCsxfDA7eT12fWNbcD4+Ml09dzt2PXF8MDtjW3I+PjJdPXY7Y1tzPj4yXT0wO2g9ZnwwO2Y9Z3ww
O2c9bnwwO3o9bis0fDA7QT1jW2w+PjJdfDA7bD13O3c9Y1toPj4yXXwwO0w3MTM6d2hpbGUoMSl7
ZG97aWYoKHd8MCk9PTApe0I9MH1lbHNle0M9Y1t3KzEyPj4yXXwwO2lmKChDfDApPT0oY1t3KzE2
Pj4yXXwwKSl7RD1iMFtjWyhjW3c+PjJdfDApKzM2Pj4yXSYxMjddKHcpfDB9ZWxzZXtEPWNbQz4+
Ml18MH1pZigoRHwwKSE9LTEpe0I9dzticmVha31jW2g+PjJdPTA7Qj0wfX13aGlsZSgwKTtFPShC
fDApPT0wO0M9Y1tmPj4yXXwwO2Rve2lmKChDfDApPT0wKXtGPTU5MH1lbHNle0c9Y1tDKzEyPj4y
XXwwO2lmKChHfDApPT0oY1tDKzE2Pj4yXXwwKSl7SD1iMFtjWyhjW0M+PjJdfDApKzM2Pj4yXSYx
MjddKEMpfDB9ZWxzZXtIPWNbRz4+Ml18MH1pZigoSHwwKT09LTEpe2NbZj4+Ml09MDtGPTU5MDti
cmVha31lbHNle0c9KEN8MCk9PTA7aWYoRV5HKXtJPUM7Sj1HO2JyZWFrfWVsc2V7Sz1sO0w9QztN
PUc7YnJlYWsgTDcxM319fX13aGlsZSgwKTtpZigoRnwwKT09NTkwKXtGPTA7aWYoRSl7Sz1sO0w9
MDtNPTE7YnJlYWt9ZWxzZXtJPTA7Sj0xfX1DPWRbb118MDtHPShDJjF8MCk9PTA7aWYoKChjW3A+
PjJdfDApLWx8MCk9PSgoRz9DPj4+MTpjW3o+PjJdfDApfDApKXtpZihHKXtOPUM+Pj4xO089Qz4+
PjF9ZWxzZXtDPWNbej4+Ml18MDtOPUM7Tz1DfWRSKG4sTjw8MSwwKTtpZigoYVtvXSYxKT09MCl7
UD0xMH1lbHNle1A9KGNbZz4+Ml0mLTIpLTF8MH1kUihuLFAsMCk7aWYoKGFbb10mMSk9PTApe1E9
eH1lbHNle1E9Y1t5Pj4yXXwwfWNbcD4+Ml09UStPO1I9UX1lbHNle1I9bH1DPUIrMTJ8MDtHPWNb
Qz4+Ml18MDtTPUIrMTZ8MDtpZigoR3wwKT09KGNbUz4+Ml18MCkpe1Q9YjBbY1soY1tCPj4yXXww
KSszNj4+Ml0mMTI3XShCKXwwfWVsc2V7VD1jW0c+PjJdfDB9aWYoKGZVKFQsdCxSLHAscyxBLG0s
dixyLHUpfDApIT0wKXtLPVI7TD1JO009SjticmVha31HPWNbQz4+Ml18MDtpZigoR3wwKT09KGNb
Uz4+Ml18MCkpe1M9Y1soY1tCPj4yXXwwKSs0MD4+Ml18MDtiMFtTJjEyN10oQil8MDtsPVI7dz1C
O2NvbnRpbnVlfWVsc2V7Y1tDPj4yXT1HKzQ7bD1SO3c9Qjtjb250aW51ZX19dz1kW21dfDA7aWYo
KHcmMXwwKT09MCl7VT13Pj4+MX1lbHNle1U9Y1ttKzQ+PjJdfDB9ZG97aWYoKFV8MCkhPTApe3c9
Y1tyPj4yXXwwO2lmKCh3LXF8MCk+PTE2MCl7YnJlYWt9Uj1jW3M+PjJdfDA7Y1tyPj4yXT13KzQ7
Y1t3Pj4yXT1SfX13aGlsZSgwKTtjW2s+PjJdPWZCKEssY1twPj4yXXwwLGosdCl8MDtmdChtLHYs
Y1tyPj4yXXwwLGopO2Rve2lmKEUpe1Y9MH1lbHNle3I9Y1tCKzEyPj4yXXwwO2lmKChyfDApPT0o
Y1tCKzE2Pj4yXXwwKSl7Vz1iMFtjWyhjW0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDB9ZWxzZXtX
PWNbcj4+Ml18MH1pZigoV3wwKSE9LTEpe1Y9QjticmVha31jW2g+PjJdPTA7Vj0wfX13aGlsZSgw
KTtoPShWfDApPT0wO2Rve2lmKE0pe0Y9NjMyfWVsc2V7Qj1jW0wrMTI+PjJdfDA7aWYoKEJ8MCk9
PShjW0wrMTY+PjJdfDApKXtYPWIwW2NbKGNbTD4+Ml18MCkrMzY+PjJdJjEyN10oTCl8MH1lbHNl
e1g9Y1tCPj4yXXwwfWlmKChYfDApPT0tMSl7Y1tmPj4yXT0wO0Y9NjMyO2JyZWFrfWlmKCEoaF4o
THwwKT09MCkpe2JyZWFrfVk9YnwwO2NbWT4+Ml09VjtkUChuKTtkUChtKTtpPWU7cmV0dXJufX13
aGlsZSgwKTtkb3tpZigoRnwwKT09NjMyKXtpZihoKXticmVha31ZPWJ8MDtjW1k+PjJdPVY7ZFAo
bik7ZFAobSk7aT1lO3JldHVybn19d2hpbGUoMCk7Y1tqPj4yXT1jW2o+PjJdfDI7WT1ifDA7Y1tZ
Pj4yXT1WO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59ZnVuY3Rpb24gZl8oYixlLGYsZyxoLGosayl7
Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxtPTAsbj0w
LG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAs
Qz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxR
PTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wLFk9MDtlPWk7aT1pKzE0NHwwO2w9ZjtmPWk7
aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2Y+PjJdPWNbbD4+Ml07bD1nO2c9aTtpPWkrNHwwO2k9aSs3
Pj4zPDwzO2NbZz4+Ml09Y1tsPj4yXTtsPWUrMTA0fDA7bT1lKzExMnwwO249ZSsxMjh8MDtvPW47
cD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7cT1pO2k9aSsxNjB8MDtyPWk7aT1pKzR8MDtpPWkrNz4+
Mzw8MztzPWk7aT1pKzR8MDtpPWkrNz4+Mzw8Mztzd2l0Y2goY1toKzQ+PjJdJjc0fDApe2Nhc2Ug
ODp7dD0xNjticmVha307Y2FzZSA2NDp7dD04O2JyZWFrfTtjYXNlIDA6e3Q9MDticmVha307ZGVm
YXVsdDp7dD0xMH19dT1lfDA7ZlcobSxoLHUsbCk7ayQob3wwLDAsMTIpO2g9bjtkUihuLDEwLDAp
O2lmKChhW29dJjEpPT0wKXt2PWgrMXwwO3c9djt4PXY7eT1uKzh8MH1lbHNle3Y9bis4fDA7dz1j
W3Y+PjJdfDA7eD1oKzF8MDt5PXZ9Y1twPj4yXT13O3Y9cXwwO2Nbcj4+Ml09djtjW3M+PjJdPTA7
aD1mfDA7Zj1nfDA7Zz1ufDA7ej1uKzR8MDtBPWNbbD4+Ml18MDtsPXc7dz1jW2g+PjJdfDA7TDgw
Mjp3aGlsZSgxKXtkb3tpZigod3wwKT09MCl7Qj0wfWVsc2V7Qz1jW3crMTI+PjJdfDA7aWYoKEN8
MCk9PShjW3crMTY+PjJdfDApKXtEPWIwW2NbKGNbdz4+Ml18MCkrMzY+PjJdJjEyN10odyl8MH1l
bHNle0Q9Y1tDPj4yXXwwfWlmKChEfDApIT0tMSl7Qj13O2JyZWFrfWNbaD4+Ml09MDtCPTB9fXdo
aWxlKDApO0U9KEJ8MCk9PTA7Qz1jW2Y+PjJdfDA7ZG97aWYoKEN8MCk9PTApe0Y9NjYwfWVsc2V7
Rz1jW0MrMTI+PjJdfDA7aWYoKEd8MCk9PShjW0MrMTY+PjJdfDApKXtIPWIwW2NbKGNbQz4+Ml18
MCkrMzY+PjJdJjEyN10oQyl8MH1lbHNle0g9Y1tHPj4yXXwwfWlmKChIfDApPT0tMSl7Y1tmPj4y
XT0wO0Y9NjYwO2JyZWFrfWVsc2V7Rz0oQ3wwKT09MDtpZihFXkcpe0k9QztKPUc7YnJlYWt9ZWxz
ZXtLPWw7TD1DO009RzticmVhayBMODAyfX19fXdoaWxlKDApO2lmKChGfDApPT02NjApe0Y9MDtp
ZihFKXtLPWw7TD0wO009MTticmVha31lbHNle0k9MDtKPTF9fUM9ZFtvXXwwO0c9KEMmMXwwKT09
MDtpZigoKGNbcD4+Ml18MCktbHwwKT09KChHP0M+Pj4xOmNbej4+Ml18MCl8MCkpe2lmKEcpe049
Qz4+PjE7Tz1DPj4+MX1lbHNle0M9Y1t6Pj4yXXwwO049QztPPUN9ZFIobixOPDwxLDApO2lmKChh
W29dJjEpPT0wKXtQPTEwfWVsc2V7UD0oY1tnPj4yXSYtMiktMXwwfWRSKG4sUCwwKTtpZigoYVtv
XSYxKT09MCl7UT14fWVsc2V7UT1jW3k+PjJdfDB9Y1twPj4yXT1RK087Uj1RfWVsc2V7Uj1sfUM9
QisxMnwwO0c9Y1tDPj4yXXwwO1M9QisxNnwwO2lmKChHfDApPT0oY1tTPj4yXXwwKSl7VD1iMFtj
WyhjW0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDB9ZWxzZXtUPWNbRz4+Ml18MH1pZigoZlUoVCx0
LFIscCxzLEEsbSx2LHIsdSl8MCkhPTApe0s9UjtMPUk7TT1KO2JyZWFrfUc9Y1tDPj4yXXwwO2lm
KChHfDApPT0oY1tTPj4yXXwwKSl7Uz1jWyhjW0I+PjJdfDApKzQwPj4yXXwwO2IwW1MmMTI3XShC
KXwwO2w9Ujt3PUI7Y29udGludWV9ZWxzZXtjW0M+PjJdPUcrNDtsPVI7dz1CO2NvbnRpbnVlfX13
PWRbbV18MDtpZigodyYxfDApPT0wKXtVPXc+Pj4xfWVsc2V7VT1jW20rND4+Ml18MH1kb3tpZigo
VXwwKSE9MCl7dz1jW3I+PjJdfDA7aWYoKHctcXwwKT49MTYwKXticmVha31SPWNbcz4+Ml18MDtj
W3I+PjJdPXcrNDtjW3c+PjJdPVJ9fXdoaWxlKDApO2Nbaz4+Ml09ZkQoSyxjW3A+PjJdfDAsaix0
KXwwO2Z0KG0sdixjW3I+PjJdfDAsaik7ZG97aWYoRSl7Vj0wfWVsc2V7cj1jW0IrMTI+PjJdfDA7
aWYoKHJ8MCk9PShjW0IrMTY+PjJdfDApKXtXPWIwW2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10o
Qil8MH1lbHNle1c9Y1tyPj4yXXwwfWlmKChXfDApIT0tMSl7Vj1CO2JyZWFrfWNbaD4+Ml09MDtW
PTB9fXdoaWxlKDApO2g9KFZ8MCk9PTA7ZG97aWYoTSl7Rj03MDJ9ZWxzZXtCPWNbTCsxMj4+Ml18
MDtpZigoQnwwKT09KGNbTCsxNj4+Ml18MCkpe1g9YjBbY1soY1tMPj4yXXwwKSszNj4+Ml0mMTI3
XShMKXwwfWVsc2V7WD1jW0I+PjJdfDB9aWYoKFh8MCk9PS0xKXtjW2Y+PjJdPTA7Rj03MDI7YnJl
YWt9aWYoIShoXihMfDApPT0wKSl7YnJlYWt9WT1ifDA7Y1tZPj4yXT1WO2RQKG4pO2RQKG0pO2k9
ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lmKChGfDApPT03MDIpe2lmKGgpe2JyZWFrfVk9YnwwO2Nb
WT4+Ml09VjtkUChuKTtkUChtKTtpPWU7cmV0dXJufX13aGlsZSgwKTtjW2o+PjJdPWNbaj4+Ml18
MjtZPWJ8MDtjW1k+PjJdPVY7ZFAobik7ZFAobSk7aT1lO3JldHVybn1mdW5jdGlvbiBmJChiLGUs
ZixnLGgsaixrKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIg
bD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6
PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEw9MCxNPTAsTj0wLE89
MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9MCxZPTAsWj0wO2U9aTtpPWkrMTQ0
fDA7bD1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1tsPj4yXTtsPWc7Zz1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7Y1tnPj4yXT1jW2w+PjJdO2w9ZSsxMDR8MDttPWUrMTEyfDA7bj1l
KzEyOHwwO289bjtwPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztxPWk7aT1pKzE2MHwwO3I9aTtpPWkr
NHwwO2k9aSs3Pj4zPDwzO3M9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3N3aXRjaChjW2grND4+Ml0m
NzR8MCl7Y2FzZSA4Ont0PTE2O2JyZWFrfTtjYXNlIDA6e3Q9MDticmVha307Y2FzZSA2NDp7dD04
O2JyZWFrfTtkZWZhdWx0Ont0PTEwfX11PWV8MDtmVyhtLGgsdSxsKTtrJChvfDAsMCwxMik7aD1u
O2RSKG4sMTAsMCk7aWYoKGFbb10mMSk9PTApe3Y9aCsxfDA7dz12O3g9djt5PW4rOHwwfWVsc2V7
dj1uKzh8MDt3PWNbdj4+Ml18MDt4PWgrMXwwO3k9dn1jW3A+PjJdPXc7dj1xfDA7Y1tyPj4yXT12
O2Nbcz4+Ml09MDtoPWZ8MDtmPWd8MDtnPW58MDt6PW4rNHwwO0E9Y1tsPj4yXXwwO2w9dzt3PWNb
aD4+Ml18MDtMODkxOndoaWxlKDEpe2Rve2lmKCh3fDApPT0wKXtCPTB9ZWxzZXtDPWNbdysxMj4+
Ml18MDtpZigoQ3wwKT09KGNbdysxNj4+Ml18MCkpe0Q9YjBbY1soY1t3Pj4yXXwwKSszNj4+Ml0m
MTI3XSh3KXwwfWVsc2V7RD1jW0M+PjJdfDB9aWYoKER8MCkhPS0xKXtCPXc7YnJlYWt9Y1toPj4y
XT0wO0I9MH19d2hpbGUoMCk7RT0oQnwwKT09MDtDPWNbZj4+Ml18MDtkb3tpZigoQ3wwKT09MCl7
Rj03MzB9ZWxzZXtHPWNbQysxMj4+Ml18MDtpZigoR3wwKT09KGNbQysxNj4+Ml18MCkpe0g9YjBb
Y1soY1tDPj4yXXwwKSszNj4+Ml0mMTI3XShDKXwwfWVsc2V7SD1jW0c+PjJdfDB9aWYoKEh8MCk9
PS0xKXtjW2Y+PjJdPTA7Rj03MzA7YnJlYWt9ZWxzZXtHPShDfDApPT0wO2lmKEVeRyl7ST1DO0o9
RzticmVha31lbHNle0w9bDtNPUM7Tj1HO2JyZWFrIEw4OTF9fX19d2hpbGUoMCk7aWYoKEZ8MCk9
PTczMCl7Rj0wO2lmKEUpe0w9bDtNPTA7Tj0xO2JyZWFrfWVsc2V7ST0wO0o9MX19Qz1kW29dfDA7
Rz0oQyYxfDApPT0wO2lmKCgoY1twPj4yXXwwKS1sfDApPT0oKEc/Qz4+PjE6Y1t6Pj4yXXwwKXww
KSl7aWYoRyl7Tz1DPj4+MTtQPUM+Pj4xfWVsc2V7Qz1jW3o+PjJdfDA7Tz1DO1A9Q31kUihuLE88
PDEsMCk7aWYoKGFbb10mMSk9PTApe1E9MTB9ZWxzZXtRPShjW2c+PjJdJi0yKS0xfDB9ZFIobixR
LDApO2lmKChhW29dJjEpPT0wKXtSPXh9ZWxzZXtSPWNbeT4+Ml18MH1jW3A+PjJdPVIrUDtTPVJ9
ZWxzZXtTPWx9Qz1CKzEyfDA7Rz1jW0M+PjJdfDA7VD1CKzE2fDA7aWYoKEd8MCk9PShjW1Q+PjJd
fDApKXtVPWIwW2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MH1lbHNle1U9Y1tHPj4yXXww
fWlmKChmVShVLHQsUyxwLHMsQSxtLHYscix1KXwwKSE9MCl7TD1TO009STtOPUo7YnJlYWt9Rz1j
W0M+PjJdfDA7aWYoKEd8MCk9PShjW1Q+PjJdfDApKXtUPWNbKGNbQj4+Ml18MCkrNDA+PjJdfDA7
YjBbVCYxMjddKEIpfDA7bD1TO3c9Qjtjb250aW51ZX1lbHNle2NbQz4+Ml09Rys0O2w9Uzt3PUI7
Y29udGludWV9fXc9ZFttXXwwO2lmKCh3JjF8MCk9PTApe1Y9dz4+PjF9ZWxzZXtWPWNbbSs0Pj4y
XXwwfWRve2lmKChWfDApIT0wKXt3PWNbcj4+Ml18MDtpZigody1xfDApPj0xNjApe2JyZWFrfVM9
Y1tzPj4yXXwwO2Nbcj4+Ml09dys0O2Nbdz4+Ml09U319d2hpbGUoMCk7cz1mRihMLGNbcD4+Ml18
MCxqLHQpfDA7Y1trPj4yXT1zO2Nbays0Pj4yXT1LO2Z0KG0sdixjW3I+PjJdfDAsaik7ZG97aWYo
RSl7Vz0wfWVsc2V7cj1jW0IrMTI+PjJdfDA7aWYoKHJ8MCk9PShjW0IrMTY+PjJdfDApKXtYPWIw
W2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MH1lbHNle1g9Y1tyPj4yXXwwfWlmKChYfDAp
IT0tMSl7Vz1CO2JyZWFrfWNbaD4+Ml09MDtXPTB9fXdoaWxlKDApO2g9KFd8MCk9PTA7ZG97aWYo
Til7Rj03NzJ9ZWxzZXtCPWNbTSsxMj4+Ml18MDtpZigoQnwwKT09KGNbTSsxNj4+Ml18MCkpe1k9
YjBbY1soY1tNPj4yXXwwKSszNj4+Ml0mMTI3XShNKXwwfWVsc2V7WT1jW0I+PjJdfDB9aWYoKFl8
MCk9PS0xKXtjW2Y+PjJdPTA7Rj03NzI7YnJlYWt9aWYoIShoXihNfDApPT0wKSl7YnJlYWt9Wj1i
fDA7Y1taPj4yXT1XO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lmKChGfDAp
PT03NzIpe2lmKGgpe2JyZWFrfVo9YnwwO2NbWj4+Ml09VztkUChuKTtkUChtKTtpPWU7cmV0dXJu
fX13aGlsZSgwKTtjW2o+PjJdPWNbaj4+Ml18MjtaPWJ8MDtjW1o+PjJdPVc7ZFAobik7ZFAobSk7
aT1lO3JldHVybn1mdW5jdGlvbiBmMChiLGUsZixoLGosayxsKXtiPWJ8MDtlPWV8MDtmPWZ8MDto
PWh8MDtqPWp8MDtrPWt8MDtsPWx8MDt2YXIgbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9
MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0w
LEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAs
Vz0wLFg9MCxZPTAsWj0wLF89MCwkPTA7ZT1pO2k9aSsxNzZ8MDttPWY7Zj1pO2k9aSs0fDA7aT1p
Kzc+PjM8PDM7Y1tmPj4yXT1jW20+PjJdO209aDtoPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2g+
PjJdPWNbbT4+Ml07bT1lKzEyOHwwO249ZSsxMzZ8MDtvPWUrMTQ0fDA7cD1lKzE2MHwwO3E9cDty
PWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztzPWk7aT1pKzE2MHwwO3Q9aTtpPWkrNHwwO2k9aSs3Pj4z
PDwzO3U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3Y9aTtpPWkrMXwwO2k9aSs3Pj4zPDwzO3c9aTtp
PWkrMXwwO2k9aSs3Pj4zPDwzO3g9ZXwwO2YxKG8saix4LG0sbik7ayQocXwwLDAsMTIpO2o9cDtk
UihwLDEwLDApO2lmKChhW3FdJjEpPT0wKXt5PWorMXwwO3o9eTtBPXk7Qj1wKzh8MH1lbHNle3k9
cCs4fDA7ej1jW3k+PjJdfDA7QT1qKzF8MDtCPXl9Y1tyPj4yXT16O3k9c3wwO2NbdD4+Ml09eTtj
W3U+PjJdPTA7YVt2XT0xO2Fbd109Njk7aj1mfDA7Zj1ofDA7aD1wfDA7Qz1wKzR8MDtEPWNbbT4+
Ml18MDttPWNbbj4+Ml18MDtuPXo7ej1jW2o+PjJdfDA7TDk3NTp3aGlsZSgxKXtkb3tpZigoenww
KT09MCl7RT0wfWVsc2V7Rj1jW3orMTI+PjJdfDA7aWYoKEZ8MCk9PShjW3orMTY+PjJdfDApKXtH
PWIwW2NbKGNbej4+Ml18MCkrMzY+PjJdJjEyN10oeil8MH1lbHNle0c9Y1tGPj4yXXwwfWlmKChH
fDApIT0tMSl7RT16O2JyZWFrfWNbaj4+Ml09MDtFPTB9fXdoaWxlKDApO0g9KEV8MCk9PTA7Rj1j
W2Y+PjJdfDA7ZG97aWYoKEZ8MCk9PTApe0k9Nzk2fWVsc2V7Sj1jW0YrMTI+PjJdfDA7aWYoKEp8
MCk9PShjW0YrMTY+PjJdfDApKXtLPWIwW2NbKGNbRj4+Ml18MCkrMzY+PjJdJjEyN10oRil8MH1l
bHNle0s9Y1tKPj4yXXwwfWlmKChLfDApPT0tMSl7Y1tmPj4yXT0wO0k9Nzk2O2JyZWFrfWVsc2V7
Sj0oRnwwKT09MDtpZihIXkope0w9RjtNPUo7YnJlYWt9ZWxzZXtOPW47Tz1GO1A9SjticmVhayBM
OTc1fX19fXdoaWxlKDApO2lmKChJfDApPT03OTYpe0k9MDtpZihIKXtOPW47Tz0wO1A9MTticmVh
a31lbHNle0w9MDtNPTF9fUY9ZFtxXXwwO0o9KEYmMXwwKT09MDtpZigoKGNbcj4+Ml18MCktbnww
KT09KChKP0Y+Pj4xOmNbQz4+Ml18MCl8MCkpe2lmKEope1E9Rj4+PjE7Uj1GPj4+MX1lbHNle0Y9
Y1tDPj4yXXwwO1E9RjtSPUZ9ZFIocCxRPDwxLDApO2lmKChhW3FdJjEpPT0wKXtTPTEwfWVsc2V7
Uz0oY1toPj4yXSYtMiktMXwwfWRSKHAsUywwKTtpZigoYVtxXSYxKT09MCl7VD1BfWVsc2V7VD1j
W0I+PjJdfDB9Y1tyPj4yXT1UK1I7VT1UfWVsc2V7VT1ufUY9RSsxMnwwO0o9Y1tGPj4yXXwwO1Y9
RSsxNnwwO2lmKChKfDApPT0oY1tWPj4yXXwwKSl7Vz1iMFtjWyhjW0U+PjJdfDApKzM2Pj4yXSYx
MjddKEUpfDB9ZWxzZXtXPWNbSj4+Ml18MH1pZigoZjIoVyx2LHcsVSxyLEQsbSxvLHksdCx1LHgp
fDApIT0wKXtOPVU7Tz1MO1A9TTticmVha31KPWNbRj4+Ml18MDtpZigoSnwwKT09KGNbVj4+Ml18
MCkpe1Y9Y1soY1tFPj4yXXwwKSs0MD4+Ml18MDtiMFtWJjEyN10oRSl8MDtuPVU7ej1FO2NvbnRp
bnVlfWVsc2V7Y1tGPj4yXT1KKzQ7bj1VO3o9RTtjb250aW51ZX19ej1kW29dfDA7aWYoKHomMXww
KT09MCl7WD16Pj4+MX1lbHNle1g9Y1tvKzQ+PjJdfDB9ZG97aWYoKFh8MCkhPTApe2lmKChhW3Zd
JjEpPT0wKXticmVha316PWNbdD4+Ml18MDtpZigoei1zfDApPj0xNjApe2JyZWFrfVU9Y1t1Pj4y
XXwwO2NbdD4+Ml09eis0O2Nbej4+Ml09VX19d2hpbGUoMCk7Z1tsPj4yXT0rZkkoTixjW3I+PjJd
fDAsayk7ZnQobyx5LGNbdD4+Ml18MCxrKTtkb3tpZihIKXtZPTB9ZWxzZXt0PWNbRSsxMj4+Ml18
MDtpZigodHwwKT09KGNbRSsxNj4+Ml18MCkpe1o9YjBbY1soY1tFPj4yXXwwKSszNj4+Ml0mMTI3
XShFKXwwfWVsc2V7Wj1jW3Q+PjJdfDB9aWYoKFp8MCkhPS0xKXtZPUU7YnJlYWt9Y1tqPj4yXT0w
O1k9MH19d2hpbGUoMCk7aj0oWXwwKT09MDtkb3tpZihQKXtJPTgzOX1lbHNle0U9Y1tPKzEyPj4y
XXwwO2lmKChFfDApPT0oY1tPKzE2Pj4yXXwwKSl7Xz1iMFtjWyhjW08+PjJdfDApKzM2Pj4yXSYx
MjddKE8pfDB9ZWxzZXtfPWNbRT4+Ml18MH1pZigoX3wwKT09LTEpe2NbZj4+Ml09MDtJPTgzOTti
cmVha31pZighKGpeKE98MCk9PTApKXticmVha30kPWJ8MDtjWyQ+PjJdPVk7ZFAocCk7ZFAobyk7
aT1lO3JldHVybn19d2hpbGUoMCk7ZG97aWYoKEl8MCk9PTgzOSl7aWYoail7YnJlYWt9JD1ifDA7
Y1skPj4yXT1ZO2RQKHApO2RQKG8pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Nbaz4+Ml09Y1trPj4y
XXwyOyQ9YnwwO2NbJD4+Ml09WTtkUChwKTtkUChvKTtpPWU7cmV0dXJufWZ1bmN0aW9uIGYxKGEs
YixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTA7Zz1pO2k9aSs0MHwwO2g9Z3wwO2o9ZysxNnww
O2s9ZyszMnwwO2VqKGssYik7Yj1rfDA7az1jW2I+PjJdfDA7aWYoKGNbMzkyMl18MCkhPS0xKXtj
W2o+PjJdPTE1Njg4O2Nbais0Pj4yXT0xMjtjW2orOD4+Ml09MDtkVygxNTY4OCxqLDk2KX1qPShj
WzM5MjNdfDApLTF8MDtsPWNbays4Pj4yXXwwO2Rve2lmKChjW2srMTI+PjJdfDApLWw+PjI+Pj4w
Pmo+Pj4wKXttPWNbbCsoajw8Mik+PjJdfDA7aWYoKG18MCk9PTApe2JyZWFrfW49bTtvPWNbKGNb
bT4+Ml18MCkrNDg+PjJdfDA7Y2FbbyYxNV0obiw5NzQ0LDk3NzYsZCl8MDtuPWNbYj4+Ml18MDtp
ZigoY1szODI2XXwwKSE9LTEpe2NbaD4+Ml09MTUzMDQ7Y1toKzQ+PjJdPTEyO2NbaCs4Pj4yXT0w
O2RXKDE1MzA0LGgsOTYpfW89KGNbMzgyN118MCktMXwwO209Y1tuKzg+PjJdfDA7ZG97aWYoKGNb
bisxMj4+Ml18MCktbT4+Mj4+PjA+bz4+PjApe3A9Y1ttKyhvPDwyKT4+Ml18MDtpZigocHwwKT09
MCl7YnJlYWt9cT1wO3I9cDtjW2U+PjJdPWIwW2NbKGNbcj4+Ml18MCkrMTI+PjJdJjEyN10ocSl8
MDtjW2Y+PjJdPWIwW2NbKGNbcj4+Ml18MCkrMTY+PjJdJjEyN10ocSl8MDtiWltjWyhjW3A+PjJd
fDApKzIwPj4yXSYxMjddKGEscSk7cT1jW2I+PjJdfDA7ZHoocSl8MDtpPWc7cmV0dXJufX13aGls
ZSgwKTtvPWJPKDQpfDA7a3Eobyk7Ymwob3wwLDgxNzYsMTM0KX19d2hpbGUoMCk7Zz1iTyg0KXww
O2txKGcpO2JsKGd8MCw4MTc2LDEzNCl9ZnVuY3Rpb24gZjIoYixlLGYsZyxoLGksaixrLGwsbSxu
LG8pe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2k9aXwwO2o9anwwO2s9a3wwO2w9bHww
O209bXwwO249bnwwO289b3wwO3ZhciBwPTAscT0wLHI9MCxzPTAsdD0wO2lmKChifDApPT0oaXww
KSl7aWYoKGFbZV0mMSk9PTApe3A9LTE7cmV0dXJuIHB8MH1hW2VdPTA7aT1jW2g+PjJdfDA7Y1to
Pj4yXT1pKzE7YVtpXT00NjtpPWRba118MDtpZigoaSYxfDApPT0wKXtxPWk+Pj4xfWVsc2V7cT1j
W2srND4+Ml18MH1pZigocXwwKT09MCl7cD0wO3JldHVybiBwfDB9cT1jW20+PjJdfDA7aWYoKHEt
bHwwKT49MTYwKXtwPTA7cmV0dXJuIHB8MH1pPWNbbj4+Ml18MDtjW20+PjJdPXErNDtjW3E+PjJd
PWk7cD0wO3JldHVybiBwfDB9ZG97aWYoKGJ8MCk9PShqfDApKXtpPWRba118MDtpZigoaSYxfDAp
PT0wKXtyPWk+Pj4xfWVsc2V7cj1jW2srND4+Ml18MH1pZigocnwwKT09MCl7YnJlYWt9aWYoKGFb
ZV0mMSk9PTApe3A9LTE7cmV0dXJuIHB8MH1pPWNbbT4+Ml18MDtpZigoaS1sfDApPj0xNjApe3A9
MDtyZXR1cm4gcHwwfXE9Y1tuPj4yXXwwO2NbbT4+Ml09aSs0O2NbaT4+Ml09cTtjW24+PjJdPTA7
cD0wO3JldHVybiBwfDB9fXdoaWxlKDApO3I9bysxMjh8MDtqPW87d2hpbGUoMSl7aWYoKGp8MCk9
PShyfDApKXtzPXI7YnJlYWt9aWYoKGNbaj4+Ml18MCk9PShifDApKXtzPWo7YnJlYWt9ZWxzZXtq
PWorNHwwfX1qPXMtb3wwO289aj4+MjtpZigoanwwKT4xMjQpe3A9LTE7cmV0dXJuIHB8MH1zPWFb
OTc0NCtvfDBdfDA7TDExMTU6ZG97c3dpdGNoKG98MCl7Y2FzZSAyNTpjYXNlIDI0OntiPWNbaD4+
Ml18MDtkb3tpZigoYnwwKSE9KGd8MCkpe2lmKChhW2ItMXwwXSY5NXwwKT09KGFbZl0mMTI3fDAp
KXticmVha31lbHNle3A9LTF9cmV0dXJuIHB8MH19d2hpbGUoMCk7Y1toPj4yXT1iKzE7YVtiXT1z
O3A9MDtyZXR1cm4gcHwwfTtjYXNlIDIyOmNhc2UgMjM6e2FbZl09ODA7YnJlYWt9O2RlZmF1bHQ6
e3I9YVtmXXwwO2lmKChzJjk1fDApIT0ocjw8MjQ+PjI0fDApKXticmVhayBMMTExNX1hW2ZdPXJ8
LTEyODtpZigoYVtlXSYxKT09MCl7YnJlYWsgTDExMTV9YVtlXT0wO3I9ZFtrXXwwO2lmKChyJjF8
MCk9PTApe3Q9cj4+PjF9ZWxzZXt0PWNbays0Pj4yXXwwfWlmKCh0fDApPT0wKXticmVhayBMMTEx
NX1yPWNbbT4+Ml18MDtpZigoci1sfDApPj0xNjApe2JyZWFrIEwxMTE1fXE9Y1tuPj4yXXwwO2Nb
bT4+Ml09cis0O2Nbcj4+Ml09cX19fXdoaWxlKDApO209Y1toPj4yXXwwO2NbaD4+Ml09bSsxO2Fb
bV09cztpZigoanwwKT44NCl7cD0wO3JldHVybiBwfDB9Y1tuPj4yXT0oY1tuPj4yXXwwKSsxO3A9
MDtyZXR1cm4gcHwwfWZ1bmN0aW9uIGYzKGIsZSxmLGcsaixrLGwpe2I9YnwwO2U9ZXwwO2Y9Znww
O2c9Z3wwO2o9anwwO2s9a3wwO2w9bHwwO3ZhciBtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAs
dD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxI
PTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9
MCxXPTAsWD0wLFk9MCxaPTAsXz0wLCQ9MDtlPWk7aT1pKzE3NnwwO209ZjtmPWk7aT1pKzR8MDtp
PWkrNz4+Mzw8MztjW2Y+PjJdPWNbbT4+Ml07bT1nO2c9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2Nb
Zz4+Ml09Y1ttPj4yXTttPWUrMTI4fDA7bj1lKzEzNnwwO289ZSsxNDR8MDtwPWUrMTYwfDA7cT1w
O3I9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3M9aTtpPWkrMTYwfDA7dD1pO2k9aSs0fDA7aT1pKzc+
PjM8PDM7dT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7dj1pO2k9aSsxfDA7aT1pKzc+PjM8PDM7dz1p
O2k9aSsxfDA7aT1pKzc+PjM8PDM7eD1lfDA7ZjEobyxqLHgsbSxuKTtrJChxfDAsMCwxMik7aj1w
O2RSKHAsMTAsMCk7aWYoKGFbcV0mMSk9PTApe3k9aisxfDA7ej15O0E9eTtCPXArOHwwfWVsc2V7
eT1wKzh8MDt6PWNbeT4+Ml18MDtBPWorMXwwO0I9eX1jW3I+PjJdPXo7eT1zfDA7Y1t0Pj4yXT15
O2NbdT4+Ml09MDthW3ZdPTE7YVt3XT02OTtqPWZ8MDtmPWd8MDtnPXB8MDtDPXArNHwwO0Q9Y1tt
Pj4yXXwwO209Y1tuPj4yXXwwO249ejt6PWNbaj4+Ml18MDtMMTE0Mzp3aGlsZSgxKXtkb3tpZigo
enwwKT09MCl7RT0wfWVsc2V7Rj1jW3orMTI+PjJdfDA7aWYoKEZ8MCk9PShjW3orMTY+PjJdfDAp
KXtHPWIwW2NbKGNbej4+Ml18MCkrMzY+PjJdJjEyN10oeil8MH1lbHNle0c9Y1tGPj4yXXwwfWlm
KChHfDApIT0tMSl7RT16O2JyZWFrfWNbaj4+Ml09MDtFPTB9fXdoaWxlKDApO0g9KEV8MCk9PTA7
Rj1jW2Y+PjJdfDA7ZG97aWYoKEZ8MCk9PTApe0k9OTI5fWVsc2V7Sj1jW0YrMTI+PjJdfDA7aWYo
KEp8MCk9PShjW0YrMTY+PjJdfDApKXtLPWIwW2NbKGNbRj4+Ml18MCkrMzY+PjJdJjEyN10oRil8
MH1lbHNle0s9Y1tKPj4yXXwwfWlmKChLfDApPT0tMSl7Y1tmPj4yXT0wO0k9OTI5O2JyZWFrfWVs
c2V7Sj0oRnwwKT09MDtpZihIXkope0w9RjtNPUo7YnJlYWt9ZWxzZXtOPW47Tz1GO1A9SjticmVh
ayBMMTE0M319fX13aGlsZSgwKTtpZigoSXwwKT09OTI5KXtJPTA7aWYoSCl7Tj1uO089MDtQPTE7
YnJlYWt9ZWxzZXtMPTA7TT0xfX1GPWRbcV18MDtKPShGJjF8MCk9PTA7aWYoKChjW3I+PjJdfDAp
LW58MCk9PSgoSj9GPj4+MTpjW0M+PjJdfDApfDApKXtpZihKKXtRPUY+Pj4xO1I9Rj4+PjF9ZWxz
ZXtGPWNbQz4+Ml18MDtRPUY7Uj1GfWRSKHAsUTw8MSwwKTtpZigoYVtxXSYxKT09MCl7Uz0xMH1l
bHNle1M9KGNbZz4+Ml0mLTIpLTF8MH1kUihwLFMsMCk7aWYoKGFbcV0mMSk9PTApe1Q9QX1lbHNl
e1Q9Y1tCPj4yXXwwfWNbcj4+Ml09VCtSO1U9VH1lbHNle1U9bn1GPUUrMTJ8MDtKPWNbRj4+Ml18
MDtWPUUrMTZ8MDtpZigoSnwwKT09KGNbVj4+Ml18MCkpe1c9YjBbY1soY1tFPj4yXXwwKSszNj4+
Ml0mMTI3XShFKXwwfWVsc2V7Vz1jW0o+PjJdfDB9aWYoKGYyKFcsdix3LFUscixELG0sbyx5LHQs
dSx4KXwwKSE9MCl7Tj1VO089TDtQPU07YnJlYWt9Sj1jW0Y+PjJdfDA7aWYoKEp8MCk9PShjW1Y+
PjJdfDApKXtWPWNbKGNbRT4+Ml18MCkrNDA+PjJdfDA7YjBbViYxMjddKEUpfDA7bj1VO3o9RTtj
b250aW51ZX1lbHNle2NbRj4+Ml09Sis0O249VTt6PUU7Y29udGludWV9fXo9ZFtvXXwwO2lmKCh6
JjF8MCk9PTApe1g9ej4+PjF9ZWxzZXtYPWNbbys0Pj4yXXwwfWRve2lmKChYfDApIT0wKXtpZigo
YVt2XSYxKT09MCl7YnJlYWt9ej1jW3Q+PjJdfDA7aWYoKHotc3wwKT49MTYwKXticmVha31VPWNb
dT4+Ml18MDtjW3Q+PjJdPXorNDtjW3o+PjJdPVV9fXdoaWxlKDApO2hbbD4+M109K2ZMKE4sY1ty
Pj4yXXwwLGspO2Z0KG8seSxjW3Q+PjJdfDAsayk7ZG97aWYoSCl7WT0wfWVsc2V7dD1jW0UrMTI+
PjJdfDA7aWYoKHR8MCk9PShjW0UrMTY+PjJdfDApKXtaPWIwW2NbKGNbRT4+Ml18MCkrMzY+PjJd
JjEyN10oRSl8MH1lbHNle1o9Y1t0Pj4yXXwwfWlmKChafDApIT0tMSl7WT1FO2JyZWFrfWNbaj4+
Ml09MDtZPTB9fXdoaWxlKDApO2o9KFl8MCk9PTA7ZG97aWYoUCl7ST05NzJ9ZWxzZXtFPWNbTysx
Mj4+Ml18MDtpZigoRXwwKT09KGNbTysxNj4+Ml18MCkpe189YjBbY1soY1tPPj4yXXwwKSszNj4+
Ml0mMTI3XShPKXwwfWVsc2V7Xz1jW0U+PjJdfDB9aWYoKF98MCk9PS0xKXtjW2Y+PjJdPTA7ST05
NzI7YnJlYWt9aWYoIShqXihPfDApPT0wKSl7YnJlYWt9JD1ifDA7Y1skPj4yXT1ZO2RQKHApO2RQ
KG8pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lmKChJfDApPT05NzIpe2lmKGope2JyZWFrfSQ9
YnwwO2NbJD4+Ml09WTtkUChwKTtkUChvKTtpPWU7cmV0dXJufX13aGlsZSgwKTtjW2s+PjJdPWNb
az4+Ml18MjskPWJ8MDtjWyQ+PjJdPVk7ZFAocCk7ZFAobyk7aT1lO3JldHVybn1mdW5jdGlvbiBm
NChiLGUsZixnLGosayxsKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtqPWp8MDtrPWt8MDtsPWx8
MDt2YXIgbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0w
LHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAs
Tj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9MCxZPTAsWj0wLF89MCwk
PTA7ZT1pO2k9aSsxNzZ8MDttPWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW20+
PjJdO209ZztnPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2c+PjJdPWNbbT4+Ml07bT1lKzEyOHww
O249ZSsxMzZ8MDtvPWUrMTQ0fDA7cD1lKzE2MHwwO3E9cDtyPWk7aT1pKzR8MDtpPWkrNz4+Mzw8
MztzPWk7aT1pKzE2MHwwO3Q9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3U9aTtpPWkrNHwwO2k9aSs3
Pj4zPDwzO3Y9aTtpPWkrMXwwO2k9aSs3Pj4zPDwzO3c9aTtpPWkrMXwwO2k9aSs3Pj4zPDwzO3g9
ZXwwO2YxKG8saix4LG0sbik7ayQocXwwLDAsMTIpO2o9cDtkUihwLDEwLDApO2lmKChhW3FdJjEp
PT0wKXt5PWorMXwwO3o9eTtBPXk7Qj1wKzh8MH1lbHNle3k9cCs4fDA7ej1jW3k+PjJdfDA7QT1q
KzF8MDtCPXl9Y1tyPj4yXT16O3k9c3wwO2NbdD4+Ml09eTtjW3U+PjJdPTA7YVt2XT0xO2Fbd109
Njk7aj1mfDA7Zj1nfDA7Zz1wfDA7Qz1wKzR8MDtEPWNbbT4+Ml18MDttPWNbbj4+Ml18MDtuPXo7
ej1jW2o+PjJdfDA7TDEyMjg6d2hpbGUoMSl7ZG97aWYoKHp8MCk9PTApe0U9MH1lbHNle0Y9Y1t6
KzEyPj4yXXwwO2lmKChGfDApPT0oY1t6KzE2Pj4yXXwwKSl7Rz1iMFtjWyhjW3o+PjJdfDApKzM2
Pj4yXSYxMjddKHopfDB9ZWxzZXtHPWNbRj4+Ml18MH1pZigoR3wwKSE9LTEpe0U9ejticmVha31j
W2o+PjJdPTA7RT0wfX13aGlsZSgwKTtIPShFfDApPT0wO0Y9Y1tmPj4yXXwwO2Rve2lmKChGfDAp
PT0wKXtJPTk5Nn1lbHNle0o9Y1tGKzEyPj4yXXwwO2lmKChKfDApPT0oY1tGKzE2Pj4yXXwwKSl7
Sz1iMFtjWyhjW0Y+PjJdfDApKzM2Pj4yXSYxMjddKEYpfDB9ZWxzZXtLPWNbSj4+Ml18MH1pZigo
S3wwKT09LTEpe2NbZj4+Ml09MDtJPTk5NjticmVha31lbHNle0o9KEZ8MCk9PTA7aWYoSF5KKXtM
PUY7TT1KO2JyZWFrfWVsc2V7Tj1uO089RjtQPUo7YnJlYWsgTDEyMjh9fX19d2hpbGUoMCk7aWYo
KEl8MCk9PTk5Nil7ST0wO2lmKEgpe049bjtPPTA7UD0xO2JyZWFrfWVsc2V7TD0wO009MX19Rj1k
W3FdfDA7Sj0oRiYxfDApPT0wO2lmKCgoY1tyPj4yXXwwKS1ufDApPT0oKEo/Rj4+PjE6Y1tDPj4y
XXwwKXwwKSl7aWYoSil7UT1GPj4+MTtSPUY+Pj4xfWVsc2V7Rj1jW0M+PjJdfDA7UT1GO1I9Rn1k
UihwLFE8PDEsMCk7aWYoKGFbcV0mMSk9PTApe1M9MTB9ZWxzZXtTPShjW2c+PjJdJi0yKS0xfDB9
ZFIocCxTLDApO2lmKChhW3FdJjEpPT0wKXtUPUF9ZWxzZXtUPWNbQj4+Ml18MH1jW3I+PjJdPVQr
UjtVPVR9ZWxzZXtVPW59Rj1FKzEyfDA7Sj1jW0Y+PjJdfDA7Vj1FKzE2fDA7aWYoKEp8MCk9PShj
W1Y+PjJdfDApKXtXPWIwW2NbKGNbRT4+Ml18MCkrMzY+PjJdJjEyN10oRSl8MH1lbHNle1c9Y1tK
Pj4yXXwwfWlmKChmMihXLHYsdyxVLHIsRCxtLG8seSx0LHUseCl8MCkhPTApe049VTtPPUw7UD1N
O2JyZWFrfUo9Y1tGPj4yXXwwO2lmKChKfDApPT0oY1tWPj4yXXwwKSl7Vj1jWyhjW0U+PjJdfDAp
KzQwPj4yXXwwO2IwW1YmMTI3XShFKXwwO249VTt6PUU7Y29udGludWV9ZWxzZXtjW0Y+PjJdPUor
NDtuPVU7ej1FO2NvbnRpbnVlfX16PWRbb118MDtpZigoeiYxfDApPT0wKXtYPXo+Pj4xfWVsc2V7
WD1jW28rND4+Ml18MH1kb3tpZigoWHwwKSE9MCl7aWYoKGFbdl0mMSk9PTApe2JyZWFrfXo9Y1t0
Pj4yXXwwO2lmKCh6LXN8MCk+PTE2MCl7YnJlYWt9VT1jW3U+PjJdfDA7Y1t0Pj4yXT16KzQ7Y1t6
Pj4yXT1VfX13aGlsZSgwKTtoW2w+PjNdPStmTihOLGNbcj4+Ml18MCxrKTtmdChvLHksY1t0Pj4y
XXwwLGspO2Rve2lmKEgpe1k9MH1lbHNle3Q9Y1tFKzEyPj4yXXwwO2lmKCh0fDApPT0oY1tFKzE2
Pj4yXXwwKSl7Wj1iMFtjWyhjW0U+PjJdfDApKzM2Pj4yXSYxMjddKEUpfDB9ZWxzZXtaPWNbdD4+
Ml18MH1pZigoWnwwKSE9LTEpe1k9RTticmVha31jW2o+PjJdPTA7WT0wfX13aGlsZSgwKTtqPShZ
fDApPT0wO2Rve2lmKFApe0k9MTAzOX1lbHNle0U9Y1tPKzEyPj4yXXwwO2lmKChFfDApPT0oY1tP
KzE2Pj4yXXwwKSl7Xz1iMFtjWyhjW08+PjJdfDApKzM2Pj4yXSYxMjddKE8pfDB9ZWxzZXtfPWNb
RT4+Ml18MH1pZigoX3wwKT09LTEpe2NbZj4+Ml09MDtJPTEwMzk7YnJlYWt9aWYoIShqXihPfDAp
PT0wKSl7YnJlYWt9JD1ifDA7Y1skPj4yXT1ZO2RQKHApO2RQKG8pO2k9ZTtyZXR1cm59fXdoaWxl
KDApO2Rve2lmKChJfDApPT0xMDM5KXtpZihqKXticmVha30kPWJ8MDtjWyQ+PjJdPVk7ZFAocCk7
ZFAobyk7aT1lO3JldHVybn19d2hpbGUoMCk7Y1trPj4yXT1jW2s+PjJdfDI7JD1ifDA7Y1skPj4y
XT1ZO2RQKHApO2RQKG8pO2k9ZTtyZXR1cm59ZnVuY3Rpb24gZjUoYSl7YT1hfDA7ZGUoYXwwKTtr
UyhhKTtyZXR1cm59ZnVuY3Rpb24gZjYoYSl7YT1hfDA7ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24g
ZjcoYixlLGYsZyxoLGosayl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1r
fDA7dmFyIGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9
MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0w
LE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wLFk9MCxaPTA7
ZT1pO2k9aSsxMzZ8MDtsPWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJd
O2w9ZztnPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2c+PjJdPWNbbD4+Ml07bD1lfDA7bT1lKzE2
fDA7bj1lKzEyMHwwO289aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3A9aTtpPWkrMTJ8MDtpPWkrNz4+
Mzw8MztxPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztyPWk7aT1pKzE2MHwwO3M9aTtpPWkrNHwwO2k9
aSs3Pj4zPDwzO3Q9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2skKG58MCwwLDEyKTt1PXA7ZWoobyxo
KTtoPW98MDtvPWNbaD4+Ml18MDtpZigoY1szOTIyXXwwKSE9LTEpe2NbbD4+Ml09MTU2ODg7Y1ts
KzQ+PjJdPTEyO2NbbCs4Pj4yXT0wO2RXKDE1Njg4LGwsOTYpfWw9KGNbMzkyM118MCktMXwwO3Y9
Y1tvKzg+PjJdfDA7ZG97aWYoKGNbbysxMj4+Ml18MCktdj4+Mj4+PjA+bD4+PjApe3c9Y1t2Kyhs
PDwyKT4+Ml18MDtpZigod3wwKT09MCl7YnJlYWt9eD13O3k9bXwwO3o9Y1soY1t3Pj4yXXwwKSs0
OD4+Ml18MDtjYVt6JjE1XSh4LDk3NDQsOTc3MCx5KXwwO3g9Y1toPj4yXXwwO2R6KHgpfDA7ayQo
dXwwLDAsMTIpO3g9cDtkUihwLDEwLDApO2lmKChhW3VdJjEpPT0wKXt6PXgrMXwwO0E9ejtCPXo7
Qz1wKzh8MH1lbHNle3o9cCs4fDA7QT1jW3o+PjJdfDA7Qj14KzF8MDtDPXp9Y1txPj4yXT1BO3o9
cnwwO2Nbcz4+Ml09ejtjW3Q+PjJdPTA7eD1mfDA7dz1nfDA7RD1wfDA7RT1wKzR8MDtGPUE7Rz1j
W3g+PjJdfDA7TDEzMjM6d2hpbGUoMSl7ZG97aWYoKEd8MCk9PTApe0g9MH1lbHNle0k9Y1tHKzEy
Pj4yXXwwO2lmKChJfDApPT0oY1tHKzE2Pj4yXXwwKSl7Sj1iMFtjWyhjW0c+PjJdfDApKzM2Pj4y
XSYxMjddKEcpfDB9ZWxzZXtKPWNbST4+Ml18MH1pZigoSnwwKSE9LTEpe0g9RzticmVha31jW3g+
PjJdPTA7SD0wfX13aGlsZSgwKTtJPShIfDApPT0wO0s9Y1t3Pj4yXXwwO2Rve2lmKChLfDApPT0w
KXtMPTEwNzN9ZWxzZXtNPWNbSysxMj4+Ml18MDtpZigoTXwwKT09KGNbSysxNj4+Ml18MCkpe049
YjBbY1soY1tLPj4yXXwwKSszNj4+Ml0mMTI3XShLKXwwfWVsc2V7Tj1jW00+PjJdfDB9aWYoKE58
MCk9PS0xKXtjW3c+PjJdPTA7TD0xMDczO2JyZWFrfWVsc2V7aWYoSV4oS3wwKT09MCl7YnJlYWt9
ZWxzZXtPPUY7YnJlYWsgTDEzMjN9fX19d2hpbGUoMCk7aWYoKEx8MCk9PTEwNzMpe0w9MDtpZihJ
KXtPPUY7YnJlYWt9fUs9ZFt1XXwwO009KEsmMXwwKT09MDtpZigoKGNbcT4+Ml18MCktRnwwKT09
KChNP0s+Pj4xOmNbRT4+Ml18MCl8MCkpe2lmKE0pe1A9Sz4+PjE7UT1LPj4+MX1lbHNle0s9Y1tF
Pj4yXXwwO1A9SztRPUt9ZFIocCxQPDwxLDApO2lmKChhW3VdJjEpPT0wKXtSPTEwfWVsc2V7Uj0o
Y1tEPj4yXSYtMiktMXwwfWRSKHAsUiwwKTtpZigoYVt1XSYxKT09MCl7Uz1CfWVsc2V7Uz1jW0M+
PjJdfDB9Y1txPj4yXT1TK1E7VD1TfWVsc2V7VD1GfUs9SCsxMnwwO009Y1tLPj4yXXwwO1U9SCsx
NnwwO2lmKChNfDApPT0oY1tVPj4yXXwwKSl7Vj1iMFtjWyhjW0g+PjJdfDApKzM2Pj4yXSYxMjdd
KEgpfDB9ZWxzZXtWPWNbTT4+Ml18MH1pZigoZlUoViwxNixULHEsdCwwLG4seixzLHkpfDApIT0w
KXtPPVQ7YnJlYWt9TT1jW0s+PjJdfDA7aWYoKE18MCk9PShjW1U+PjJdfDApKXtVPWNbKGNbSD4+
Ml18MCkrNDA+PjJdfDA7YjBbVSYxMjddKEgpfDA7Rj1UO0c9SDtjb250aW51ZX1lbHNle2NbSz4+
Ml09TSs0O0Y9VDtHPUg7Y29udGludWV9fWFbTyszfDBdPTA7ZG97aWYoKGFbMTYyNjRdfDApPT0w
KXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGls
ZSgwKTtHPWZSKE8sY1syOTU4XXwwLDEzMjAsKEY9aSxpPWkrOHwwLGNbRj4+Ml09ayxGKXwwKXww
O2k9RjtpZigoR3wwKSE9MSl7Y1tqPj4yXT00fUc9Y1t4Pj4yXXwwO2Rve2lmKChHfDApPT0wKXtX
PTB9ZWxzZXtGPWNbRysxMj4+Ml18MDtpZigoRnwwKT09KGNbRysxNj4+Ml18MCkpe1g9YjBbY1so
Y1tHPj4yXXwwKSszNj4+Ml0mMTI3XShHKXwwfWVsc2V7WD1jW0Y+PjJdfDB9aWYoKFh8MCkhPS0x
KXtXPUc7YnJlYWt9Y1t4Pj4yXT0wO1c9MH19d2hpbGUoMCk7eD0oV3wwKT09MDtHPWNbdz4+Ml18
MDtkb3tpZigoR3wwKT09MCl7TD0xMTE4fWVsc2V7Rj1jW0crMTI+PjJdfDA7aWYoKEZ8MCk9PShj
W0crMTY+PjJdfDApKXtZPWIwW2NbKGNbRz4+Ml18MCkrMzY+PjJdJjEyN10oRyl8MH1lbHNle1k9
Y1tGPj4yXXwwfWlmKChZfDApPT0tMSl7Y1t3Pj4yXT0wO0w9MTExODticmVha31pZighKHheKEd8
MCk9PTApKXticmVha31aPWJ8MDtjW1o+PjJdPVc7ZFAocCk7ZFAobik7aT1lO3JldHVybn19d2hp
bGUoMCk7ZG97aWYoKEx8MCk9PTExMTgpe2lmKHgpe2JyZWFrfVo9YnwwO2NbWj4+Ml09VztkUChw
KTtkUChuKTtpPWU7cmV0dXJufX13aGlsZSgwKTtjW2o+PjJdPWNbaj4+Ml18MjtaPWJ8MDtjW1o+
PjJdPVc7ZFAocCk7ZFAobik7aT1lO3JldHVybn19d2hpbGUoMCk7ZT1iTyg0KXwwO2txKGUpO2Js
KGV8MCw4MTc2LDEzNCl9ZnVuY3Rpb24gZjgoYixkLGUsZixnLGgpe2I9YnwwO2Q9ZHwwO2U9ZXww
O2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9
MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MDtkPWk7aT1pKzgwfDA7aj1lO2U9aTtpPWkrNHwwO2k9
aSs3Pj4zPDwzO2NbZT4+Ml09Y1tqPj4yXTtqPWR8MDtrPWQrOHwwO2w9ZCsyNHwwO209ZCs0OHww
O249ZCs1NnwwO289ZCs2NHwwO3A9ZCs3MnwwO3E9anwwO2FbcV09YVsyMzg0XXwwO2FbcSsxfDBd
PWFbMjM4NXwwXXwwO2FbcSsyfDBdPWFbMjM4NnwwXXwwO2FbcSszfDBdPWFbMjM4N3wwXXwwO2Fb
cSs0fDBdPWFbMjM4OHwwXXwwO2FbcSs1fDBdPWFbMjM4OXwwXXwwO3I9aisxfDA7cz1mKzR8MDt0
PWNbcz4+Ml18MDtpZigodCYyMDQ4fDApPT0wKXt1PXJ9ZWxzZXthW3JdPTQzO3U9aisyfDB9aWYo
KHQmNTEyfDApPT0wKXt2PXV9ZWxzZXthW3VdPTM1O3Y9dSsxfDB9YVt2XT0xMDg7dT12KzF8MDtM
MTQxMDpkb3tzd2l0Y2godCY3NHwwKXtjYXNlIDY0OnthW3VdPTExMTticmVha307Y2FzZSA4Ontp
ZigodCYxNjM4NHwwKT09MCl7YVt1XT0xMjA7YnJlYWsgTDE0MTB9ZWxzZXthW3VdPTg4O2JyZWFr
IEwxNDEwfWJyZWFrfTtkZWZhdWx0OnthW3VdPTEwMH19fXdoaWxlKDApO3U9a3wwO2Rve2lmKChh
WzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEz
NDQsMCl8MH19d2hpbGUoMCk7dD1nYih1LDEyLGNbMjk1OF18MCxxLChxPWksaT1pKzh8MCxjW3E+
PjJdPWgscSl8MCl8MDtpPXE7cT1rK3R8MDtMMTQyMzpkb3tzd2l0Y2goY1tzPj4yXSYxNzZ8MCl7
Y2FzZSAzMjp7dz1xO2JyZWFrfTtjYXNlIDE2OntoPWFbdV18MDtzd2l0Y2goaDw8MjQ+PjI0KXtj
YXNlIDQ1OmNhc2UgNDM6e3c9aysxfDA7YnJlYWsgTDE0MjM7YnJlYWt9O2RlZmF1bHQ6e319aWYo
ISgodHwwKT4xJmg8PDI0Pj4yND09NDgpKXt4PTExNDc7YnJlYWsgTDE0MjN9c3dpdGNoKGFbaysx
fDBdfDApe2Nhc2UgMTIwOmNhc2UgODg6e2JyZWFrfTtkZWZhdWx0Ont4PTExNDc7YnJlYWsgTDE0
MjN9fXc9aysyfDA7YnJlYWt9O2RlZmF1bHQ6e3g9MTE0N319fXdoaWxlKDApO2lmKCh4fDApPT0x
MTQ3KXt3PXV9eD1sfDA7ZWoobyxmKTtnYyh1LHcscSx4LG0sbixvKTtkeihjW28+PjJdfDApfDA7
Y1twPj4yXT1jW2U+PjJdO2Y5KGIscCx4LGNbbT4+Ml18MCxjW24+PjJdfDAsZixnKTtpPWQ7cmV0
dXJufWZ1bmN0aW9uIGY5KGIsZCxlLGYsZyxoLGope2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9
Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wO2s9aTtp
PWkrMTZ8MDtsPWQ7ZD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tkPj4yXT1jW2w+PjJdO2w9a3ww
O209ZHwwO2Q9Y1ttPj4yXXwwO2lmKChkfDApPT0wKXtjW2I+PjJdPTA7aT1rO3JldHVybn1uPWc7
Zz1lO289bi1nfDA7cD1oKzEyfDA7aD1jW3A+PjJdfDA7cT0oaHwwKT4ob3wwKT9oLW98MDowO289
ZjtoPW8tZ3wwO2Rve2lmKChofDApPjApe2lmKChiMVtjWyhjW2Q+PjJdfDApKzQ4Pj4yXSY2M10o
ZCxlLGgpfDApPT0oaHwwKSl7YnJlYWt9Y1ttPj4yXT0wO2NbYj4+Ml09MDtpPWs7cmV0dXJufX13
aGlsZSgwKTtkb3tpZigocXwwKT4wKXtkXyhsLHEsaik7aWYoKGFbbF0mMSk9PTApe3I9bCsxfDB9
ZWxzZXtyPWNbbCs4Pj4yXXwwfWlmKChiMVtjWyhjW2Q+PjJdfDApKzQ4Pj4yXSY2M10oZCxyLHEp
fDApPT0ocXwwKSl7ZFAobCk7YnJlYWt9Y1ttPj4yXT0wO2NbYj4+Ml09MDtkUChsKTtpPWs7cmV0
dXJufX13aGlsZSgwKTtsPW4tb3wwO2Rve2lmKChsfDApPjApe2lmKChiMVtjWyhjW2Q+PjJdfDAp
KzQ4Pj4yXSY2M10oZCxmLGwpfDApPT0obHwwKSl7YnJlYWt9Y1ttPj4yXT0wO2NbYj4+Ml09MDtp
PWs7cmV0dXJufX13aGlsZSgwKTtjW3A+PjJdPTA7Y1tiPj4yXT1kO2k9aztyZXR1cm59ZnVuY3Rp
b24gZ2EoYixkLGUsZixnLGgpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3Zh
ciBqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0w
LHg9MCx5PTA7aj1pO2k9aSs0OHwwO2s9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJd
PWNbaz4+Ml07az1qfDA7bD1qKzE2fDA7bT1qKzI0fDA7bj1qKzMyfDA7aWYoKGNbZis0Pj4yXSYx
fDApPT0wKXtvPWNbKGNbZD4+Ml18MCkrMjQ+PjJdfDA7Y1tsPj4yXT1jW2U+PjJdO2I5W28mMzFd
KGIsZCxsLGYsZyxoJjEpO2k9ajtyZXR1cm59ZWoobSxmKTtmPW18MDttPWNbZj4+Ml18MDtpZigo
Y1szODI4XXwwKSE9LTEpe2Nbaz4+Ml09MTUzMTI7Y1trKzQ+PjJdPTEyO2Nbays4Pj4yXT0wO2RX
KDE1MzEyLGssOTYpfWs9KGNbMzgyOV18MCktMXwwO2c9Y1ttKzg+PjJdfDA7ZG97aWYoKGNbbSsx
Mj4+Ml18MCktZz4+Mj4+PjA+az4+PjApe2w9Y1tnKyhrPDwyKT4+Ml18MDtpZigobHwwKT09MCl7
YnJlYWt9ZD1sO289Y1tmPj4yXXwwO2R6KG8pfDA7bz1jW2w+PjJdfDA7aWYoaCl7YlpbY1tvKzI0
Pj4yXSYxMjddKG4sZCl9ZWxzZXtiWltjW28rMjg+PjJdJjEyN10obixkKX1kPW47bz1uO2w9YVtv
XXwwO2lmKChsJjEpPT0wKXtwPWQrMXwwO3E9cDtyPXA7cz1uKzh8MH1lbHNle3A9bis4fDA7cT1j
W3A+PjJdfDA7cj1kKzF8MDtzPXB9cD1lfDA7ZD1uKzR8MDt0PXE7dT1sO3doaWxlKDEpe2lmKCh1
JjEpPT0wKXt2PXJ9ZWxzZXt2PWNbcz4+Ml18MH1sPXUmMjU1O2lmKCh0fDApPT0odisoKGwmMXww
KT09MD9sPj4+MTpjW2Q+PjJdfDApfDApKXticmVha31sPWFbdF18MDt3PWNbcD4+Ml18MDtkb3tp
Zigod3wwKSE9MCl7eD13KzI0fDA7eT1jW3g+PjJdfDA7aWYoKHl8MCkhPShjW3crMjg+PjJdfDAp
KXtjW3g+PjJdPXkrMTthW3ldPWw7YnJlYWt9aWYoKGJfW2NbKGNbdz4+Ml18MCkrNTI+PjJdJjMx
XSh3LGwmMjU1KXwwKSE9LTEpe2JyZWFrfWNbcD4+Ml09MH19d2hpbGUoMCk7dD10KzF8MDt1PWFb
b118MH1jW2I+PjJdPWNbcD4+Ml07ZFAobik7aT1qO3JldHVybn19d2hpbGUoMCk7aj1iTyg0KXww
O2txKGopO2JsKGp8MCw4MTc2LDEzNCl9ZnVuY3Rpb24gZ2IoYSxiLGQsZSxmKXthPWF8MDtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTA7Zz1pO2k9aSsxNnwwO2g9Z3wwO2o9
aDtjW2o+PjJdPWY7Y1tqKzQ+PjJdPTA7aj1iQihkfDApfDA7ZD1iQyhhfDAsYnwwLGV8MCxofDAp
fDA7aWYoKGp8MCk9PTApe2k9ZztyZXR1cm4gZHwwfWJCKGp8MCl8MDtpPWc7cmV0dXJuIGR8MH1m
dW5jdGlvbiBnYyhiLGUsZixnLGgsaixrKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtq
PWp8MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9
MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0w
LEs9MCxMPTA7bD1pO2k9aSs0OHwwO209bHwwO249bCsxNnwwO289bCszMnwwO3A9a3wwO2s9Y1tw
Pj4yXXwwO2lmKChjWzM5MjRdfDApIT0tMSl7Y1tuPj4yXT0xNTY5NjtjW24rND4+Ml09MTI7Y1tu
Kzg+PjJdPTA7ZFcoMTU2OTYsbiw5Nil9bj0oY1szOTI1XXwwKS0xfDA7cT1jW2srOD4+Ml18MDtp
ZigoY1trKzEyPj4yXXwwKS1xPj4yPj4+MDw9bj4+PjApe3I9Yk8oNCl8MDtzPXI7a3Eocyk7Ymwo
cnwwLDgxNzYsMTM0KX1rPWNbcSsobjw8Mik+PjJdfDA7aWYoKGt8MCk9PTApe3I9Yk8oNCl8MDtz
PXI7a3Eocyk7YmwocnwwLDgxNzYsMTM0KX1yPWs7cz1jW3A+PjJdfDA7aWYoKGNbMzgyOF18MCkh
PS0xKXtjW20+PjJdPTE1MzEyO2NbbSs0Pj4yXT0xMjtjW20rOD4+Ml09MDtkVygxNTMxMixtLDk2
KX1tPShjWzM4MjldfDApLTF8MDtwPWNbcys4Pj4yXXwwO2lmKChjW3MrMTI+PjJdfDApLXA+PjI+
Pj4wPD1tPj4+MCl7dD1iTyg0KXwwO3U9dDtrcSh1KTtibCh0fDAsODE3NiwxMzQpfXM9Y1twKyht
PDwyKT4+Ml18MDtpZigoc3wwKT09MCl7dD1iTyg0KXwwO3U9dDtrcSh1KTtibCh0fDAsODE3Niwx
MzQpfXQ9cztiWltjWyhjW3M+PjJdfDApKzIwPj4yXSYxMjddKG8sdCk7dT1vO209bztwPWRbbV18
MDtpZigocCYxfDApPT0wKXt2PXA+Pj4xfWVsc2V7dj1jW28rND4+Ml18MH1kb3tpZigodnwwKT09
MCl7cD1jWyhjW2s+PjJdfDApKzMyPj4yXXwwO2NhW3AmMTVdKHIsYixmLGcpfDA7Y1tqPj4yXT1n
KyhmLWIpfWVsc2V7Y1tqPj4yXT1nO3A9YVtiXXwwO3N3aXRjaChwPDwyND4+MjQpe2Nhc2UgNDU6
Y2FzZSA0Mzp7bj1iX1tjWyhjW2s+PjJdfDApKzI4Pj4yXSYzMV0ocixwKXwwO3A9Y1tqPj4yXXww
O2Nbaj4+Ml09cCsxO2FbcF09bjt3PWIrMXwwO2JyZWFrfTtkZWZhdWx0Ont3PWJ9fUwxNTMzOmRv
e2lmKChmLXd8MCk+MSl7aWYoKGFbd118MCkhPTQ4KXt4PXc7YnJlYWt9bj13KzF8MDtzd2l0Y2go
YVtuXXwwKXtjYXNlIDEyMDpjYXNlIDg4OnticmVha307ZGVmYXVsdDp7eD13O2JyZWFrIEwxNTMz
fX1wPWs7cT1iX1tjWyhjW3A+PjJdfDApKzI4Pj4yXSYzMV0ociw0OCl8MDt5PWNbaj4+Ml18MDtj
W2o+PjJdPXkrMTthW3ldPXE7cT1iX1tjWyhjW3A+PjJdfDApKzI4Pj4yXSYzMV0ocixhW25dfDAp
fDA7bj1jW2o+PjJdfDA7Y1tqPj4yXT1uKzE7YVtuXT1xO3g9dysyfDB9ZWxzZXt4PXd9fXdoaWxl
KDApO2Rve2lmKCh4fDApIT0oZnwwKSl7cT1mLTF8MDtpZih4Pj4+MDxxPj4+MCl7ej14O0E9cX1l
bHNle2JyZWFrfWRve3E9YVt6XXwwO2Fbel09YVtBXXwwO2FbQV09cTt6PXorMXwwO0E9QS0xfDA7
fXdoaWxlKHo+Pj4wPEE+Pj4wKX19d2hpbGUoMCk7cT1iMFtjWyhjW3M+PjJdfDApKzE2Pj4yXSYx
MjddKHQpfDA7aWYoeD4+PjA8Zj4+PjApe249dSsxfDA7cD1rO3k9bys0fDA7Qj1vKzh8MDtDPTA7
RD0wO0U9eDt3aGlsZSgxKXtGPShhW21dJjEpPT0wO2Rve2lmKChhWyhGP246Y1tCPj4yXXwwKStE
fDBdfDApPT0wKXtHPUQ7SD1DfWVsc2V7aWYoKEN8MCkhPShhWyhGP246Y1tCPj4yXXwwKStEfDBd
fDApKXtHPUQ7SD1DO2JyZWFrfUk9Y1tqPj4yXXwwO2Nbaj4+Ml09SSsxO2FbSV09cTtJPWRbbV18
MDtHPShEPj4+MDwoKChJJjF8MCk9PTA/ST4+PjE6Y1t5Pj4yXXwwKS0xfDApPj4+MCkrRHwwO0g9
MH19d2hpbGUoMCk7Rj1iX1tjWyhjW3A+PjJdfDApKzI4Pj4yXSYzMV0ocixhW0VdfDApfDA7ST1j
W2o+PjJdfDA7Y1tqPj4yXT1JKzE7YVtJXT1GO0Y9RSsxfDA7aWYoRj4+PjA8Zj4+PjApe0M9SCsx
fDA7RD1HO0U9Rn1lbHNle2JyZWFrfX19RT1nKyh4LWIpfDA7RD1jW2o+PjJdfDA7aWYoKEV8MCk9
PShEfDApKXticmVha31DPUQtMXwwO2lmKEU+Pj4wPEM+Pj4wKXtKPUU7Sz1DfWVsc2V7YnJlYWt9
ZG97Qz1hW0pdfDA7YVtKXT1hW0tdfDA7YVtLXT1DO0o9SisxfDA7Sz1LLTF8MDt9d2hpbGUoSj4+
PjA8Sz4+PjApfX13aGlsZSgwKTtpZigoZXwwKT09KGZ8MCkpe0w9Y1tqPj4yXXwwO2NbaD4+Ml09
TDtkUChvKTtpPWw7cmV0dXJufWVsc2V7TD1nKyhlLWIpfDA7Y1toPj4yXT1MO2RQKG8pO2k9bDty
ZXR1cm59fWZ1bmN0aW9uIGdkKGIsZCxlLGYsZyxoLGope2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9Znww
O2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9
MCx0PTAsdT0wLHY9MCx3PTAseD0wO2Q9aTtpPWkrMTEyfDA7az1lO2U9aTtpPWkrNHwwO2k9aSs3
Pj4zPDwzO2NbZT4+Ml09Y1trPj4yXTtrPWR8MDtsPWQrOHwwO209ZCszMnwwO249ZCs4MHwwO289
ZCs4OHwwO3A9ZCs5NnwwO3E9ZCsxMDR8MDtjW2s+PjJdPTM3O2Nbays0Pj4yXT0wO3I9aztrPXIr
MXwwO3M9Zis0fDA7dD1jW3M+PjJdfDA7aWYoKHQmMjA0OHwwKT09MCl7dT1rfWVsc2V7YVtrXT00
Mzt1PXIrMnwwfWlmKCh0JjUxMnwwKT09MCl7dj11fWVsc2V7YVt1XT0zNTt2PXUrMXwwfWFbdl09
MTA4O2FbdisxfDBdPTEwODt1PXYrMnwwO0wxNTc0OmRve3N3aXRjaCh0Jjc0fDApe2Nhc2UgNjQ6
e2FbdV09MTExO2JyZWFrfTtjYXNlIDg6e2lmKCh0JjE2Mzg0fDApPT0wKXthW3VdPTEyMDticmVh
ayBMMTU3NH1lbHNle2FbdV09ODg7YnJlYWsgTDE1NzR9YnJlYWt9O2RlZmF1bHQ6e2FbdV09MTAw
fX19d2hpbGUoMCk7dT1sfDA7ZG97aWYoKGFbMTYyNjRdfDApPT0wKXtpZigoYmMoMTYyNjQpfDAp
PT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTt0PWdiKHUsMjIsY1sy
OTU4XXwwLHIsKHI9aSxpPWkrMTZ8MCxjW3I+PjJdPWgsY1tyKzg+PjJdPWoscil8MCl8MDtpPXI7
cj1sK3R8MDtMMTU4Nzpkb3tzd2l0Y2goY1tzPj4yXSYxNzZ8MCl7Y2FzZSAxNjp7aj1hW3VdfDA7
c3dpdGNoKGo8PDI0Pj4yNCl7Y2FzZSA0NTpjYXNlIDQzOnt3PWwrMXwwO2JyZWFrIEwxNTg3O2Jy
ZWFrfTtkZWZhdWx0Ont9fWlmKCEoKHR8MCk+MSZqPDwyND4+MjQ9PTQ4KSl7eD0xMjg2O2JyZWFr
IEwxNTg3fXN3aXRjaChhW2wrMXwwXXwwKXtjYXNlIDEyMDpjYXNlIDg4OnticmVha307ZGVmYXVs
dDp7eD0xMjg2O2JyZWFrIEwxNTg3fX13PWwrMnwwO2JyZWFrfTtjYXNlIDMyOnt3PXI7YnJlYWt9
O2RlZmF1bHQ6e3g9MTI4Nn19fXdoaWxlKDApO2lmKCh4fDApPT0xMjg2KXt3PXV9eD1tfDA7ZWoo
cCxmKTtnYyh1LHcscix4LG4sbyxwKTtkeihjW3A+PjJdfDApfDA7Y1txPj4yXT1jW2U+PjJdO2Y5
KGIscSx4LGNbbj4+Ml18MCxjW28+PjJdfDAsZixnKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIGdlKGIs
ZCxlLGYsZyxoKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTA7ZD1p
O2k9aSs4MHwwO2o9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNbaj4+Ml07aj1k
fDA7az1kKzh8MDtsPWQrMjR8MDttPWQrNDh8MDtuPWQrNTZ8MDtvPWQrNjR8MDtwPWQrNzJ8MDtx
PWp8MDthW3FdPWFbMjM4NF18MDthW3ErMXwwXT1hWzIzODV8MF18MDthW3ErMnwwXT1hWzIzODZ8
MF18MDthW3ErM3wwXT1hWzIzODd8MF18MDthW3ErNHwwXT1hWzIzODh8MF18MDthW3ErNXwwXT1h
WzIzODl8MF18MDtyPWorMXwwO3M9Zis0fDA7dD1jW3M+PjJdfDA7aWYoKHQmMjA0OHwwKT09MCl7
dT1yfWVsc2V7YVtyXT00Mzt1PWorMnwwfWlmKCh0JjUxMnwwKT09MCl7dj11fWVsc2V7YVt1XT0z
NTt2PXUrMXwwfWFbdl09MTA4O3U9disxfDA7TDE2MDU6ZG97c3dpdGNoKHQmNzR8MCl7Y2FzZSA2
NDp7YVt1XT0xMTE7YnJlYWt9O2Nhc2UgODp7aWYoKHQmMTYzODR8MCk9PTApe2FbdV09MTIwO2Jy
ZWFrIEwxNjA1fWVsc2V7YVt1XT04ODticmVhayBMMTYwNX1icmVha307ZGVmYXVsdDp7YVt1XT0x
MTd9fX13aGlsZSgwKTt1PWt8MDtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8
MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDApO3Q9Z2IodSwxMixj
WzI5NThdfDAscSwocT1pLGk9aSs4fDAsY1txPj4yXT1oLHEpfDApfDA7aT1xO3E9ayt0fDA7TDE2
MTg6ZG97c3dpdGNoKGNbcz4+Ml0mMTc2fDApe2Nhc2UgMzI6e3c9cTticmVha307Y2FzZSAxNjp7
aD1hW3VdfDA7c3dpdGNoKGg8PDI0Pj4yNCl7Y2FzZSA0NTpjYXNlIDQzOnt3PWsrMXwwO2JyZWFr
IEwxNjE4O2JyZWFrfTtkZWZhdWx0Ont9fWlmKCEoKHR8MCk+MSZoPDwyND4+MjQ9PTQ4KSl7eD0x
MzExO2JyZWFrIEwxNjE4fXN3aXRjaChhW2srMXwwXXwwKXtjYXNlIDEyMDpjYXNlIDg4OnticmVh
a307ZGVmYXVsdDp7eD0xMzExO2JyZWFrIEwxNjE4fX13PWsrMnwwO2JyZWFrfTtkZWZhdWx0Ont4
PTEzMTF9fX13aGlsZSgwKTtpZigoeHwwKT09MTMxMSl7dz11fXg9bHwwO2VqKG8sZik7Z2ModSx3
LHEseCxtLG4sbyk7ZHooY1tvPj4yXXwwKXwwO2NbcD4+Ml09Y1tlPj4yXTtmOShiLHAseCxjW20+
PjJdfDAsY1tuPj4yXXwwLGYsZyk7aT1kO3JldHVybn1mdW5jdGlvbiBnZihiLGQsZSxmLGcsaCxq
KXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDt2YXIgaz0wLGw9MCxt
PTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MDtkPWk7aT1pKzEx
MnwwO2s9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNbaz4+Ml07az1kfDA7bD1k
Kzh8MDttPWQrMzJ8MDtuPWQrODB8MDtvPWQrODh8MDtwPWQrOTZ8MDtxPWQrMTA0fDA7Y1trPj4y
XT0zNztjW2srND4+Ml09MDtyPWs7az1yKzF8MDtzPWYrNHwwO3Q9Y1tzPj4yXXwwO2lmKCh0JjIw
NDh8MCk9PTApe3U9a31lbHNle2Fba109NDM7dT1yKzJ8MH1pZigodCY1MTJ8MCk9PTApe3Y9dX1l
bHNle2FbdV09MzU7dj11KzF8MH1hW3ZdPTEwODthW3YrMXwwXT0xMDg7dT12KzJ8MDtMMTYzNjpk
b3tzd2l0Y2godCY3NHwwKXtjYXNlIDg6e2lmKCh0JjE2Mzg0fDApPT0wKXthW3VdPTEyMDticmVh
ayBMMTYzNn1lbHNle2FbdV09ODg7YnJlYWsgTDE2MzZ9YnJlYWt9O2Nhc2UgNjQ6e2FbdV09MTEx
O2JyZWFrfTtkZWZhdWx0OnthW3VdPTExN319fXdoaWxlKDApO3U9bHwwO2Rve2lmKChhWzE2MjY0
XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8
MH19d2hpbGUoMCk7dD1nYih1LDIzLGNbMjk1OF18MCxyLChyPWksaT1pKzE2fDAsY1tyPj4yXT1o
LGNbcis4Pj4yXT1qLHIpfDApfDA7aT1yO3I9bCt0fDA7TDE2NDk6ZG97c3dpdGNoKGNbcz4+Ml0m
MTc2fDApe2Nhc2UgMTY6e2o9YVt1XXwwO3N3aXRjaChqPDwyND4+MjQpe2Nhc2UgNDU6Y2FzZSA0
Mzp7dz1sKzF8MDticmVhayBMMTY0OTticmVha307ZGVmYXVsdDp7fX1pZighKCh0fDApPjEmajw8
MjQ+PjI0PT00OCkpe3g9MTMzNjticmVhayBMMTY0OX1zd2l0Y2goYVtsKzF8MF18MCl7Y2FzZSAx
MjA6Y2FzZSA4ODp7YnJlYWt9O2RlZmF1bHQ6e3g9MTMzNjticmVhayBMMTY0OX19dz1sKzJ8MDti
cmVha307Y2FzZSAzMjp7dz1yO2JyZWFrfTtkZWZhdWx0Ont4PTEzMzZ9fX13aGlsZSgwKTtpZigo
eHwwKT09MTMzNil7dz11fXg9bXwwO2VqKHAsZik7Z2ModSx3LHIseCxuLG8scCk7ZHooY1twPj4y
XXwwKXwwO2NbcT4+Ml09Y1tlPj4yXTtmOShiLHEseCxjW24+PjJdfDAsY1tvPj4yXXwwLGYsZyk7
aT1kO3JldHVybn1mdW5jdGlvbiBnZyhiLGQsZSxmLGcsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1m
fDA7Zz1nfDA7aj0rajt2YXIgaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0w
LHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAs
ST0wLEo9MDtkPWk7aT1pKzE1MnwwO2s9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJd
PWNbaz4+Ml07az1kfDA7bD1kKzh8MDttPWQrNDB8MDtuPWQrNDh8MDtvPWQrMTEyfDA7cD1kKzEy
MHwwO3E9ZCsxMjh8MDtyPWQrMTM2fDA7cz1kKzE0NHwwO2Nbaz4+Ml09Mzc7Y1trKzQ+PjJdPTA7
dD1rO2s9dCsxfDA7dT1mKzR8MDt2PWNbdT4+Ml18MDtpZigodiYyMDQ4fDApPT0wKXt3PWt9ZWxz
ZXthW2tdPTQzO3c9dCsyfDB9aWYoKHYmMTAyNHwwKT09MCl7eD13fWVsc2V7YVt3XT0zNTt4PXcr
MXwwfXc9diYyNjA7az12Pj4+MTQ7TDE2Njc6ZG97aWYoKHd8MCk9PTI2MCl7aWYoKGsmMXwwKT09
MCl7YVt4XT05Nzt5PTA7YnJlYWt9ZWxzZXthW3hdPTY1O3k9MDticmVha319ZWxzZXthW3hdPTQ2
O3Y9eCsyfDA7YVt4KzF8MF09NDI7c3dpdGNoKHd8MCl7Y2FzZSA0OntpZigoayYxfDApPT0wKXth
W3ZdPTEwMjt5PTE7YnJlYWsgTDE2Njd9ZWxzZXthW3ZdPTcwO3k9MTticmVhayBMMTY2N31icmVh
a307Y2FzZSAyNTY6e2lmKChrJjF8MCk9PTApe2Fbdl09MTAxO3k9MTticmVhayBMMTY2N31lbHNl
e2Fbdl09Njk7eT0xO2JyZWFrIEwxNjY3fWJyZWFrfTtkZWZhdWx0OntpZigoayYxfDApPT0wKXth
W3ZdPTEwMzt5PTE7YnJlYWsgTDE2Njd9ZWxzZXthW3ZdPTcxO3k9MTticmVhayBMMTY2N319fX19
d2hpbGUoMCk7az1sfDA7Y1ttPj4yXT1rO2Rve2lmKChhWzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2
MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8MH19d2hpbGUoMCk7bD1jWzI5
NThdfDA7aWYoeSl7dz1nYihrLDMwLGwsdCwoej1pLGk9aSsxNnwwLGNbej4+Ml09Y1tmKzg+PjJd
LGhbeis4Pj4zXT1qLHopfDApfDA7aT16O0E9d31lbHNle3c9Z2IoaywzMCxsLHQsKHo9aSxpPWkr
OHwwLGhbej4+M109aix6KXwwKXwwO2k9ejtBPXd9ZG97aWYoKEF8MCk+Mjkpe3c9KGFbMTYyNjRd
fDApPT0wO2lmKHkpe2Rve2lmKHcpe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09
YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDApO2w9Z2gobSxjWzI5NThdfDAsdCwoej1pLGk9aSsxNnww
LGNbej4+Ml09Y1tmKzg+PjJdLGhbeis4Pj4zXT1qLHopfDApfDA7aT16O0I9bH1lbHNle2Rve2lm
KHcpe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdo
aWxlKDApO3c9Z2gobSxjWzI5NThdfDAsdCwoej1pLGk9aSsxNnwwLGNbej4+Ml09Y1tmKzg+PjJd
LGhbeis4Pj4zXT1qLHopfDApfDA7aT16O0I9d313PWNbbT4+Ml18MDtpZigod3wwKSE9MCl7Qz1C
O0Q9dztFPXc7YnJlYWt9a1goKTt3PWNbbT4+Ml18MDtDPUI7RD13O0U9d31lbHNle0M9QTtEPTA7
RT1jW20+PjJdfDB9fXdoaWxlKDApO0E9RStDfDA7TDE3MTY6ZG97c3dpdGNoKGNbdT4+Ml0mMTc2
fDApe2Nhc2UgMTY6e0I9YVtFXXwwO3N3aXRjaChCPDwyND4+MjQpe2Nhc2UgNDU6Y2FzZSA0Mzp7
Rj1FKzF8MDticmVhayBMMTcxNjticmVha307ZGVmYXVsdDp7fX1pZighKChDfDApPjEmQjw8MjQ+
PjI0PT00OCkpe0c9MTM5MjticmVhayBMMTcxNn1zd2l0Y2goYVtFKzF8MF18MCl7Y2FzZSAxMjA6
Y2FzZSA4ODp7YnJlYWt9O2RlZmF1bHQ6e0c9MTM5MjticmVhayBMMTcxNn19Rj1FKzJ8MDticmVh
a307Y2FzZSAzMjp7Rj1BO2JyZWFrfTtkZWZhdWx0OntHPTEzOTJ9fX13aGlsZSgwKTtpZigoR3ww
KT09MTM5Mil7Rj1FfWRve2lmKChFfDApPT0oa3wwKSl7SD1ufDA7ST0wO0o9a31lbHNle0c9a0oo
Qzw8MSl8MDtpZigoR3wwKSE9MCl7SD1HO0k9RztKPUU7YnJlYWt9a1goKTtIPTA7ST0wO0o9Y1tt
Pj4yXXwwfX13aGlsZSgwKTtlaihxLGYpO2dqKEosRixBLEgsbyxwLHEpO2R6KGNbcT4+Ml18MCl8
MDtxPWV8MDtjW3M+PjJdPWNbcT4+Ml07ZjkocixzLEgsY1tvPj4yXXwwLGNbcD4+Ml18MCxmLGcp
O2c9Y1tyPj4yXXwwO2NbcT4+Ml09ZztjW2I+PjJdPWc7aWYoKEl8MCkhPTApe2tLKEkpfWlmKChE
fDApPT0wKXtpPWQ7cmV0dXJufWtLKEQpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gZ2goYSxiLGQsZSl7
YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wO2Y9aTtpPWkrMTZ8MDtnPWZ8
MDtoPWc7Y1toPj4yXT1lO2NbaCs0Pj4yXT0wO2g9YkIoYnwwKXwwO2I9YlEoYXwwLGR8MCxnfDAp
fDA7aWYoKGh8MCk9PTApe2k9ZjtyZXR1cm4gYnwwfWJCKGh8MCl8MDtpPWY7cmV0dXJuIGJ8MH1m
dW5jdGlvbiBnaShiLGQsZSxmLGcsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aj0r
ajt2YXIgaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0w
LHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MDtkPWk7
aT1pKzE1MnwwO2s9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNbaz4+Ml07az1k
fDA7bD1kKzh8MDttPWQrNDB8MDtuPWQrNDh8MDtvPWQrMTEyfDA7cD1kKzEyMHwwO3E9ZCsxMjh8
MDtyPWQrMTM2fDA7cz1kKzE0NHwwO2Nbaz4+Ml09Mzc7Y1trKzQ+PjJdPTA7dD1rO2s9dCsxfDA7
dT1mKzR8MDt2PWNbdT4+Ml18MDtpZigodiYyMDQ4fDApPT0wKXt3PWt9ZWxzZXthW2tdPTQzO3c9
dCsyfDB9aWYoKHYmMTAyNHwwKT09MCl7eD13fWVsc2V7YVt3XT0zNTt4PXcrMXwwfXc9diYyNjA7
az12Pj4+MTQ7TDE3NTQ6ZG97aWYoKHd8MCk9PTI2MCl7YVt4XT03Njt2PXgrMXwwO2lmKChrJjF8
MCk9PTApe2Fbdl09OTc7eT0wO2JyZWFrfWVsc2V7YVt2XT02NTt5PTA7YnJlYWt9fWVsc2V7YVt4
XT00NjthW3grMXwwXT00MjthW3grMnwwXT03Njt2PXgrM3wwO3N3aXRjaCh3fDApe2Nhc2UgNDp7
aWYoKGsmMXwwKT09MCl7YVt2XT0xMDI7eT0xO2JyZWFrIEwxNzU0fWVsc2V7YVt2XT03MDt5PTE7
YnJlYWsgTDE3NTR9YnJlYWt9O2Nhc2UgMjU2OntpZigoayYxfDApPT0wKXthW3ZdPTEwMTt5PTE7
YnJlYWsgTDE3NTR9ZWxzZXthW3ZdPTY5O3k9MTticmVhayBMMTc1NH1icmVha307ZGVmYXVsdDp7
aWYoKGsmMXwwKT09MCl7YVt2XT0xMDM7eT0xO2JyZWFrIEwxNzU0fWVsc2V7YVt2XT03MTt5PTE7
YnJlYWsgTDE3NTR9fX19fXdoaWxlKDApO2s9bHwwO2NbbT4+Ml09aztkb3tpZigoYVsxNjI2NF18
MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9
fXdoaWxlKDApO2w9Y1syOTU4XXwwO2lmKHkpe3c9Z2IoaywzMCxsLHQsKHo9aSxpPWkrMTZ8MCxj
W3o+PjJdPWNbZis4Pj4yXSxoW3orOD4+M109aix6KXwwKXwwO2k9ejtBPXd9ZWxzZXt3PWdiKGss
MzAsbCx0LCh6PWksaT1pKzh8MCxoW3o+PjNdPWoseil8MCl8MDtpPXo7QT13fWRve2lmKChBfDAp
PjI5KXt3PShhWzE2MjY0XXwwKT09MDtpZih5KXtkb3tpZih3KXtpZigoYmMoMTYyNjQpfDApPT0w
KXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTtsPWdoKG0sY1syOTU4XXww
LHQsKHo9aSxpPWkrMTZ8MCxjW3o+PjJdPWNbZis4Pj4yXSxoW3orOD4+M109aix6KXwwKXwwO2k9
ejtCPWx9ZWxzZXtkb3tpZih3KXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFT
KDEsMTM0NCwwKXwwfX13aGlsZSgwKTt3PWdoKG0sY1syOTU4XXwwLHQsKHo9aSxpPWkrOHwwLGhb
ej4+M109aix6KXwwKXwwO2k9ejtCPXd9dz1jW20+PjJdfDA7aWYoKHd8MCkhPTApe0M9QjtEPXc7
RT13O2JyZWFrfWtYKCk7dz1jW20+PjJdfDA7Qz1CO0Q9dztFPXd9ZWxzZXtDPUE7RD0wO0U9Y1tt
Pj4yXXwwfX13aGlsZSgwKTtBPUUrQ3wwO0wxODAzOmRve3N3aXRjaChjW3U+PjJdJjE3NnwwKXtj
YXNlIDMyOntGPUE7YnJlYWt9O2Nhc2UgMTY6e0I9YVtFXXwwO3N3aXRjaChCPDwyND4+MjQpe2Nh
c2UgNDU6Y2FzZSA0Mzp7Rj1FKzF8MDticmVhayBMMTgwMzticmVha307ZGVmYXVsdDp7fX1pZigh
KChDfDApPjEmQjw8MjQ+PjI0PT00OCkpe0c9MTQ3NzticmVhayBMMTgwM31zd2l0Y2goYVtFKzF8
MF18MCl7Y2FzZSAxMjA6Y2FzZSA4ODp7YnJlYWt9O2RlZmF1bHQ6e0c9MTQ3NzticmVhayBMMTgw
M319Rj1FKzJ8MDticmVha307ZGVmYXVsdDp7Rz0xNDc3fX19d2hpbGUoMCk7aWYoKEd8MCk9PTE0
Nzcpe0Y9RX1kb3tpZigoRXwwKT09KGt8MCkpe0g9bnwwO0k9MDtKPWt9ZWxzZXtHPWtKKEM8PDEp
fDA7aWYoKEd8MCkhPTApe0g9RztJPUc7Sj1FO2JyZWFrfWtYKCk7SD0wO0k9MDtKPWNbbT4+Ml18
MH19d2hpbGUoMCk7ZWoocSxmKTtnaihKLEYsQSxILG8scCxxKTtkeihjW3E+PjJdfDApfDA7cT1l
fDA7Y1tzPj4yXT1jW3E+PjJdO2Y5KHIscyxILGNbbz4+Ml18MCxjW3A+PjJdfDAsZixnKTtnPWNb
cj4+Ml18MDtjW3E+PjJdPWc7Y1tiPj4yXT1nO2lmKChJfDApIT0wKXtrSyhJKX1pZigoRHwwKT09
MCl7aT1kO3JldHVybn1rSyhEKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIGdqKGIsZSxmLGcsaCxqLGsp
e2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0wLG49
MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0w
LEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wO2w9aTtpPWkr
NDh8MDttPWx8MDtuPWwrMTZ8MDtvPWwrMzJ8MDtwPWt8MDtrPWNbcD4+Ml18MDtpZigoY1szOTI0
XXwwKSE9LTEpe2Nbbj4+Ml09MTU2OTY7Y1tuKzQ+PjJdPTEyO2Nbbis4Pj4yXT0wO2RXKDE1Njk2
LG4sOTYpfW49KGNbMzkyNV18MCktMXwwO3E9Y1trKzg+PjJdfDA7aWYoKGNbaysxMj4+Ml18MCkt
cT4+Mj4+PjA8PW4+Pj4wKXtyPWJPKDQpfDA7cz1yO2txKHMpO2JsKHJ8MCw4MTc2LDEzNCl9az1j
W3ErKG48PDIpPj4yXXwwO2lmKChrfDApPT0wKXtyPWJPKDQpfDA7cz1yO2txKHMpO2JsKHJ8MCw4
MTc2LDEzNCl9cj1rO3M9Y1twPj4yXXwwO2lmKChjWzM4MjhdfDApIT0tMSl7Y1ttPj4yXT0xNTMx
MjtjW20rND4+Ml09MTI7Y1ttKzg+PjJdPTA7ZFcoMTUzMTIsbSw5Nil9bT0oY1szODI5XXwwKS0x
fDA7cD1jW3MrOD4+Ml18MDtpZigoY1tzKzEyPj4yXXwwKS1wPj4yPj4+MDw9bT4+PjApe3Q9Yk8o
NCl8MDt1PXQ7a3EodSk7YmwodHwwLDgxNzYsMTM0KX1zPWNbcCsobTw8Mik+PjJdfDA7aWYoKHN8
MCk9PTApe3Q9Yk8oNCl8MDt1PXQ7a3EodSk7YmwodHwwLDgxNzYsMTM0KX10PXM7YlpbY1soY1tz
Pj4yXXwwKSsyMD4+Ml0mMTI3XShvLHQpO2Nbaj4+Ml09Zzt1PWFbYl18MDtzd2l0Y2godTw8MjQ+
PjI0KXtjYXNlIDQ1OmNhc2UgNDM6e209Yl9bY1soY1trPj4yXXwwKSsyOD4+Ml0mMzFdKHIsdSl8
MDt1PWNbaj4+Ml18MDtjW2o+PjJdPXUrMTthW3VdPW07dj1iKzF8MDticmVha307ZGVmYXVsdDp7
dj1ifX1tPWY7TDE4NTE6ZG97aWYoKG0tdnwwKT4xKXtpZigoYVt2XXwwKSE9NDgpe3c9djt4PTE1
MzI7YnJlYWt9dT12KzF8MDtzd2l0Y2goYVt1XXwwKXtjYXNlIDEyMDpjYXNlIDg4OnticmVha307
ZGVmYXVsdDp7dz12O3g9MTUzMjticmVhayBMMTg1MX19cD1rO249Yl9bY1soY1twPj4yXXwwKSsy
OD4+Ml0mMzFdKHIsNDgpfDA7cT1jW2o+PjJdfDA7Y1tqPj4yXT1xKzE7YVtxXT1uO249disyfDA7
cT1iX1tjWyhjW3A+PjJdfDApKzI4Pj4yXSYzMV0ocixhW3VdfDApfDA7dT1jW2o+PjJdfDA7Y1tq
Pj4yXT11KzE7YVt1XT1xO3E9bjt3aGlsZSgxKXtpZihxPj4+MD49Zj4+PjApe3k9cTt6PW47YnJl
YWsgTDE4NTF9dT1hW3FdfDA7ZG97aWYoKGFbMTYyNjRdfDApPT0wKXtpZigoYmMoMTYyNjQpfDAp
PT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTtpZigoYTModTw8MjQ+
PjI0fDAsY1syOTU4XXwwKXwwKT09MCl7eT1xO3o9bjticmVha31lbHNle3E9cSsxfDB9fX1lbHNl
e3c9djt4PTE1MzJ9fXdoaWxlKDApO0wxODY2OmRve2lmKCh4fDApPT0xNTMyKXt3aGlsZSgxKXt4
PTA7aWYodz4+PjA+PWY+Pj4wKXt5PXc7ej12O2JyZWFrIEwxODY2fXE9YVt3XXwwO2Rve2lmKChh
WzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEz
NDQsMCl8MH19d2hpbGUoMCk7aWYoKGJIKHE8PDI0Pj4yNHwwLGNbMjk1OF18MCl8MCk9PTApe3k9
dzt6PXY7YnJlYWt9ZWxzZXt3PXcrMXwwO3g9MTUzMn19fX13aGlsZSgwKTt4PW87dz1vO3Y9ZFt3
XXwwO2lmKCh2JjF8MCk9PTApe0E9dj4+PjF9ZWxzZXtBPWNbbys0Pj4yXXwwfWRve2lmKChBfDAp
PT0wKXt2PWNbaj4+Ml18MDt1PWNbKGNbaz4+Ml18MCkrMzI+PjJdfDA7Y2FbdSYxNV0ocix6LHks
dil8MDtjW2o+PjJdPShjW2o+PjJdfDApKyh5LXopfWVsc2V7ZG97aWYoKHp8MCkhPSh5fDApKXt2
PXktMXwwO2lmKHo+Pj4wPHY+Pj4wKXtCPXo7Qz12fWVsc2V7YnJlYWt9ZG97dj1hW0JdfDA7YVtC
XT1hW0NdfDA7YVtDXT12O0I9QisxfDA7Qz1DLTF8MDt9d2hpbGUoQj4+PjA8Qz4+PjApfX13aGls
ZSgwKTtxPWIwW2NbKGNbcz4+Ml18MCkrMTY+PjJdJjEyN10odCl8MDtpZih6Pj4+MDx5Pj4+MCl7
dj14KzF8MDt1PW8rNHwwO249bys4fDA7cD1rO0Q9MDtFPTA7Rj16O3doaWxlKDEpe0c9KGFbd10m
MSk9PTA7ZG97aWYoKGFbKEc/djpjW24+PjJdfDApK0V8MF18MCk+MCl7aWYoKER8MCkhPShhWyhH
P3Y6Y1tuPj4yXXwwKStFfDBdfDApKXtIPUU7ST1EO2JyZWFrfUo9Y1tqPj4yXXwwO2Nbaj4+Ml09
SisxO2FbSl09cTtKPWRbd118MDtIPShFPj4+MDwoKChKJjF8MCk9PTA/Sj4+PjE6Y1t1Pj4yXXww
KS0xfDApPj4+MCkrRXwwO0k9MH1lbHNle0g9RTtJPUR9fXdoaWxlKDApO0c9Yl9bY1soY1twPj4y
XXwwKSsyOD4+Ml0mMzFdKHIsYVtGXXwwKXwwO0o9Y1tqPj4yXXwwO2Nbaj4+Ml09SisxO2FbSl09
RztHPUYrMXwwO2lmKEc+Pj4wPHk+Pj4wKXtEPUkrMXwwO0U9SDtGPUd9ZWxzZXticmVha319fUY9
Zysoei1iKXwwO0U9Y1tqPj4yXXwwO2lmKChGfDApPT0oRXwwKSl7YnJlYWt9RD1FLTF8MDtpZihG
Pj4+MDxEPj4+MCl7Sz1GO0w9RH1lbHNle2JyZWFrfWRve0Q9YVtLXXwwO2FbS109YVtMXXwwO2Fb
TF09RDtLPUsrMXwwO0w9TC0xfDA7fXdoaWxlKEs+Pj4wPEw+Pj4wKX19d2hpbGUoMCk7TDE5MDU6
ZG97aWYoeT4+PjA8Zj4+PjApe0w9aztLPXk7d2hpbGUoMSl7ej1hW0tdfDA7aWYoejw8MjQ+PjI0
PT00Nil7YnJlYWt9SD1iX1tjWyhjW0w+PjJdfDApKzI4Pj4yXSYzMV0ocix6KXwwO3o9Y1tqPj4y
XXwwO2Nbaj4+Ml09eisxO2Fbel09SDtIPUsrMXwwO2lmKEg+Pj4wPGY+Pj4wKXtLPUh9ZWxzZXtN
PUg7YnJlYWsgTDE5MDV9fUw9YjBbY1soY1tzPj4yXXwwKSsxMj4+Ml0mMTI3XSh0KXwwO0g9Y1tq
Pj4yXXwwO2Nbaj4+Ml09SCsxO2FbSF09TDtNPUsrMXwwfWVsc2V7TT15fX13aGlsZSgwKTtjYVtj
WyhjW2s+PjJdfDApKzMyPj4yXSYxNV0ocixNLGYsY1tqPj4yXXwwKXwwO3I9KGNbaj4+Ml18MCkr
KG0tTSl8MDtjW2o+PjJdPXI7aWYoKGV8MCk9PShmfDApKXtOPXI7Y1toPj4yXT1OO2RQKG8pO2k9
bDtyZXR1cm59Tj1nKyhlLWIpfDA7Y1toPj4yXT1OO2RQKG8pO2k9bDtyZXR1cm59ZnVuY3Rpb24g
Z2soYSl7YT1hfDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gZ2woYSl7YT1hfDA7ZGUo
YXwwKTtyZXR1cm59ZnVuY3Rpb24gZ20oYixkLGUsZixnLGgpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9
ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxz
PTAsdD0wLHU9MCx2PTAsdz0wLHg9MDtkPWk7aT1pKzE0NHwwO2o9ZTtlPWk7aT1pKzR8MDtpPWkr
Nz4+Mzw8MztjW2U+PjJdPWNbaj4+Ml07aj1kfDA7az1kKzh8MDtsPWQrMjR8MDttPWQrMTEyfDA7
bj1kKzEyMHwwO289ZCsxMjh8MDtwPWQrMTM2fDA7cT1qfDA7YVtxXT1hWzIzODRdfDA7YVtxKzF8
MF09YVsyMzg1fDBdfDA7YVtxKzJ8MF09YVsyMzg2fDBdfDA7YVtxKzN8MF09YVsyMzg3fDBdfDA7
YVtxKzR8MF09YVsyMzg4fDBdfDA7YVtxKzV8MF09YVsyMzg5fDBdfDA7cj1qKzF8MDtzPWYrNHww
O3Q9Y1tzPj4yXXwwO2lmKCh0JjIwNDh8MCk9PTApe3U9cn1lbHNle2Fbcl09NDM7dT1qKzJ8MH1p
ZigodCY1MTJ8MCk9PTApe3Y9dX1lbHNle2FbdV09MzU7dj11KzF8MH1hW3ZdPTEwODt1PXYrMXww
O0wxOTI4OmRve3N3aXRjaCh0Jjc0fDApe2Nhc2UgNjQ6e2FbdV09MTExO2JyZWFrfTtjYXNlIDg6
e2lmKCh0JjE2Mzg0fDApPT0wKXthW3VdPTEyMDticmVhayBMMTkyOH1lbHNle2FbdV09ODg7YnJl
YWsgTDE5Mjh9YnJlYWt9O2RlZmF1bHQ6e2FbdV09MTAwfX19d2hpbGUoMCk7dT1rfDA7ZG97aWYo
KGFbMTYyNjRdfDApPT0wKXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEs
MTM0NCwwKXwwfX13aGlsZSgwKTt0PWdiKHUsMTIsY1syOTU4XXwwLHEsKHE9aSxpPWkrOHwwLGNb
cT4+Ml09aCxxKXwwKXwwO2k9cTtxPWsrdHwwO0wxOTQxOmRve3N3aXRjaChjW3M+PjJdJjE3Nnww
KXtjYXNlIDMyOnt3PXE7YnJlYWt9O2Nhc2UgMTY6e2g9YVt1XXwwO3N3aXRjaChoPDwyND4+MjQp
e2Nhc2UgNDU6Y2FzZSA0Mzp7dz1rKzF8MDticmVhayBMMTk0MTticmVha307ZGVmYXVsdDp7fX1p
ZighKCh0fDApPjEmaDw8MjQ+PjI0PT00OCkpe3g9MTYwMDticmVhayBMMTk0MX1zd2l0Y2goYVtr
KzF8MF18MCl7Y2FzZSAxMjA6Y2FzZSA4ODp7YnJlYWt9O2RlZmF1bHQ6e3g9MTYwMDticmVhayBM
MTk0MX19dz1rKzJ8MDticmVha307ZGVmYXVsdDp7eD0xNjAwfX19d2hpbGUoMCk7aWYoKHh8MCk9
PTE2MDApe3c9dX14PWx8MDtlaihvLGYpO2dwKHUsdyxxLHgsbSxuLG8pO2R6KGNbbz4+Ml18MCl8
MDtjW3A+PjJdPWNbZT4+Ml07Z3EoYixwLHgsY1ttPj4yXXwwLGNbbj4+Ml18MCxmLGcpO2k9ZDty
ZXR1cm59ZnVuY3Rpb24gZ24oYixkLGUsZixnLGgpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9
Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0w
LHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MDtkPWk7aT1pKzEwNHwwO2o9ZTtlPWk7aT1pKzR8
MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNbaj4+Ml07aj1kfDA7az1kKzI0fDA7bD1kKzQ4fDA7bT1k
Kzg4fDA7bj1kKzk2fDA7bz1kKzE2fDA7YVtvXT1hWzIzOTJdfDA7YVtvKzF8MF09YVsyMzkzfDBd
fDA7YVtvKzJ8MF09YVsyMzk0fDBdfDA7YVtvKzN8MF09YVsyMzk1fDBdfDA7YVtvKzR8MF09YVsy
Mzk2fDBdfDA7YVtvKzV8MF09YVsyMzk3fDBdfDA7cD1rfDA7ZG97aWYoKGFbMTYyNjRdfDApPT0w
KXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGls
ZSgwKTtxPWdiKHAsMjAsY1syOTU4XXwwLG8sKG89aSxpPWkrOHwwLGNbbz4+Ml09aCxvKXwwKXww
O2k9bztvPWsrcXwwO0wxOTU4OmRve3N3aXRjaChjW2YrND4+Ml0mMTc2fDApe2Nhc2UgMTY6e2g9
YVtwXXwwO3N3aXRjaChoPDwyND4+MjQpe2Nhc2UgNDU6Y2FzZSA0Mzp7cj1rKzF8MDticmVhayBM
MTk1ODticmVha307ZGVmYXVsdDp7fX1pZighKChxfDApPjEmaDw8MjQ+PjI0PT00OCkpe3M9MTYx
NTticmVhayBMMTk1OH1zd2l0Y2goYVtrKzF8MF18MCl7Y2FzZSAxMjA6Y2FzZSA4ODp7YnJlYWt9
O2RlZmF1bHQ6e3M9MTYxNTticmVhayBMMTk1OH19cj1rKzJ8MDticmVha307Y2FzZSAzMjp7cj1v
O2JyZWFrfTtkZWZhdWx0OntzPTE2MTV9fX13aGlsZSgwKTtpZigoc3wwKT09MTYxNSl7cj1wfWVq
KG0sZik7cz1tfDA7bT1jW3M+PjJdfDA7aWYoKGNbMzkyNF18MCkhPS0xKXtjW2o+PjJdPTE1Njk2
O2Nbais0Pj4yXT0xMjtjW2orOD4+Ml09MDtkVygxNTY5NixqLDk2KX1qPShjWzM5MjVdfDApLTF8
MDtoPWNbbSs4Pj4yXXwwO2Rve2lmKChjW20rMTI+PjJdfDApLWg+PjI+Pj4wPmo+Pj4wKXt0PWNb
aCsoajw8Mik+PjJdfDA7aWYoKHR8MCk9PTApe2JyZWFrfXU9dDt2PWNbcz4+Ml18MDtkeih2KXww
O3Y9bHwwO3c9Y1soY1t0Pj4yXXwwKSszMj4+Ml18MDtjYVt3JjE1XSh1LHAsbyx2KXwwO3U9bCtx
fDA7aWYoKHJ8MCk9PShvfDApKXt4PXU7eT1lfDA7ej1jW3k+PjJdfDA7QT1ufDA7Y1tBPj4yXT16
O2Y5KGIsbix2LHgsdSxmLGcpO2k9ZDtyZXR1cm59eD1sKyhyLWspfDA7eT1lfDA7ej1jW3k+PjJd
fDA7QT1ufDA7Y1tBPj4yXT16O2Y5KGIsbix2LHgsdSxmLGcpO2k9ZDtyZXR1cm59fXdoaWxlKDAp
O2Q9Yk8oNCl8MDtrcShkKTtibChkfDAsODE3NiwxMzQpfWZ1bmN0aW9uIGdvKGIsZCxlLGYsZyxo
KXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0w
LG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MDtqPWk7
aT1pKzQ4fDA7az1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1trPj4yXTtrPWp8
MDtsPWorMTZ8MDttPWorMjR8MDtuPWorMzJ8MDtpZigoY1tmKzQ+PjJdJjF8MCk9PTApe289Y1so
Y1tkPj4yXXwwKSsyND4+Ml18MDtjW2w+PjJdPWNbZT4+Ml07YjlbbyYzMV0oYixkLGwsZixnLGgm
MSk7aT1qO3JldHVybn1laihtLGYpO2Y9bXwwO209Y1tmPj4yXXwwO2lmKChjWzM4MjZdfDApIT0t
MSl7Y1trPj4yXT0xNTMwNDtjW2srND4+Ml09MTI7Y1trKzg+PjJdPTA7ZFcoMTUzMDQsayw5Nil9
az0oY1szODI3XXwwKS0xfDA7Zz1jW20rOD4+Ml18MDtkb3tpZigoY1ttKzEyPj4yXXwwKS1nPj4y
Pj4+MD5rPj4+MCl7bD1jW2crKGs8PDIpPj4yXXwwO2lmKChsfDApPT0wKXticmVha31kPWw7bz1j
W2Y+PjJdfDA7ZHoobyl8MDtvPWNbbD4+Ml18MDtpZihoKXtiWltjW28rMjQ+PjJdJjEyN10obixk
KX1lbHNle2JaW2NbbysyOD4+Ml0mMTI3XShuLGQpfWQ9bjtvPWFbZF18MDtpZigobyYxKT09MCl7
bD1uKzR8MDtwPWw7cT1sO3I9bis4fDB9ZWxzZXtsPW4rOHwwO3A9Y1tsPj4yXXwwO3E9bis0fDA7
cj1sfWw9ZXwwO3M9cDt0PW87d2hpbGUoMSl7aWYoKHQmMSk9PTApe3U9cX1lbHNle3U9Y1tyPj4y
XXwwfW89dCYyNTU7aWYoKG8mMXwwKT09MCl7dj1vPj4+MX1lbHNle3Y9Y1txPj4yXXwwfWlmKChz
fDApPT0odSsodjw8Mil8MCkpe2JyZWFrfW89Y1tzPj4yXXwwO3c9Y1tsPj4yXXwwO2Rve2lmKCh3
fDApIT0wKXt4PXcrMjR8MDt5PWNbeD4+Ml18MDtpZigoeXwwKT09KGNbdysyOD4+Ml18MCkpe3o9
Yl9bY1soY1t3Pj4yXXwwKSs1Mj4+Ml0mMzFdKHcsbyl8MH1lbHNle2NbeD4+Ml09eSs0O2NbeT4+
Ml09bzt6PW99aWYoKHp8MCkhPS0xKXticmVha31jW2w+PjJdPTB9fXdoaWxlKDApO3M9cys0fDA7
dD1hW2RdfDB9Y1tiPj4yXT1jW2w+PjJdO2VlKG4pO2k9ajtyZXR1cm59fXdoaWxlKDApO2o9Yk8o
NCl8MDtrcShqKTtibChqfDAsODE3NiwxMzQpfWZ1bmN0aW9uIGdwKGIsZSxmLGcsaCxqLGspe2I9
YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0wLG49MCxv
PTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9
MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MDtsPWk7aT1pKzQ4fDA7bT1sfDA7
bj1sKzE2fDA7bz1sKzMyfDA7cD1rfDA7az1jW3A+PjJdfDA7aWYoKGNbMzkyMl18MCkhPS0xKXtj
W24+PjJdPTE1Njg4O2Nbbis0Pj4yXT0xMjtjW24rOD4+Ml09MDtkVygxNTY4OCxuLDk2KX1uPShj
WzM5MjNdfDApLTF8MDtxPWNbays4Pj4yXXwwO2lmKChjW2srMTI+PjJdfDApLXE+PjI+Pj4wPD1u
Pj4+MCl7cj1iTyg0KXwwO3M9cjtrcShzKTtibChyfDAsODE3NiwxMzQpfWs9Y1txKyhuPDwyKT4+
Ml18MDtpZigoa3wwKT09MCl7cj1iTyg0KXwwO3M9cjtrcShzKTtibChyfDAsODE3NiwxMzQpfXI9
aztzPWNbcD4+Ml18MDtpZigoY1szODI2XXwwKSE9LTEpe2NbbT4+Ml09MTUzMDQ7Y1ttKzQ+PjJd
PTEyO2NbbSs4Pj4yXT0wO2RXKDE1MzA0LG0sOTYpfW09KGNbMzgyN118MCktMXwwO3A9Y1tzKzg+
PjJdfDA7aWYoKGNbcysxMj4+Ml18MCktcD4+Mj4+PjA8PW0+Pj4wKXt0PWJPKDQpfDA7dT10O2tx
KHUpO2JsKHR8MCw4MTc2LDEzNCl9cz1jW3ArKG08PDIpPj4yXXwwO2lmKChzfDApPT0wKXt0PWJP
KDQpfDA7dT10O2txKHUpO2JsKHR8MCw4MTc2LDEzNCl9dD1zO2JaW2NbKGNbcz4+Ml18MCkrMjA+
PjJdJjEyN10obyx0KTt1PW87bT1vO3A9ZFttXXwwO2lmKChwJjF8MCk9PTApe3Y9cD4+PjF9ZWxz
ZXt2PWNbbys0Pj4yXXwwfWRve2lmKCh2fDApPT0wKXtwPWNbKGNbaz4+Ml18MCkrNDg+PjJdfDA7
Y2FbcCYxNV0ocixiLGYsZyl8MDtjW2o+PjJdPWcrKGYtYjw8Mil9ZWxzZXtjW2o+PjJdPWc7cD1h
W2JdfDA7c3dpdGNoKHA8PDI0Pj4yNCl7Y2FzZSA0NTpjYXNlIDQzOntuPWJfW2NbKGNbaz4+Ml18
MCkrNDQ+PjJdJjMxXShyLHApfDA7cD1jW2o+PjJdfDA7Y1tqPj4yXT1wKzQ7Y1twPj4yXT1uO3c9
YisxfDA7YnJlYWt9O2RlZmF1bHQ6e3c9Yn19TDIwNTA6ZG97aWYoKGYtd3wwKT4xKXtpZigoYVt3
XXwwKSE9NDgpe3g9dzticmVha31uPXcrMXwwO3N3aXRjaChhW25dfDApe2Nhc2UgMTIwOmNhc2Ug
ODg6e2JyZWFrfTtkZWZhdWx0Ont4PXc7YnJlYWsgTDIwNTB9fXA9aztxPWJfW2NbKGNbcD4+Ml18
MCkrNDQ+PjJdJjMxXShyLDQ4KXwwO3k9Y1tqPj4yXXwwO2Nbaj4+Ml09eSs0O2NbeT4+Ml09cTtx
PWJfW2NbKGNbcD4+Ml18MCkrNDQ+PjJdJjMxXShyLGFbbl18MCl8MDtuPWNbaj4+Ml18MDtjW2o+
PjJdPW4rNDtjW24+PjJdPXE7eD13KzJ8MH1lbHNle3g9d319d2hpbGUoMCk7ZG97aWYoKHh8MCkh
PShmfDApKXtxPWYtMXwwO2lmKHg+Pj4wPHE+Pj4wKXt6PXg7QT1xfWVsc2V7YnJlYWt9ZG97cT1h
W3pdfDA7YVt6XT1hW0FdfDA7YVtBXT1xO3o9eisxfDA7QT1BLTF8MDt9d2hpbGUoej4+PjA8QT4+
PjApfX13aGlsZSgwKTtxPWIwW2NbKGNbcz4+Ml18MCkrMTY+PjJdJjEyN10odCl8MDtpZih4Pj4+
MDxmPj4+MCl7bj11KzF8MDtwPWs7eT1vKzR8MDtCPW8rOHwwO0M9MDtEPTA7RT14O3doaWxlKDEp
e0Y9KGFbbV0mMSk9PTA7ZG97aWYoKGFbKEY/bjpjW0I+PjJdfDApK0R8MF18MCk9PTApe0c9RDtI
PUN9ZWxzZXtpZigoQ3wwKSE9KGFbKEY/bjpjW0I+PjJdfDApK0R8MF18MCkpe0c9RDtIPUM7YnJl
YWt9ST1jW2o+PjJdfDA7Y1tqPj4yXT1JKzQ7Y1tJPj4yXT1xO0k9ZFttXXwwO0c9KEQ+Pj4wPCgo
KEkmMXwwKT09MD9JPj4+MTpjW3k+PjJdfDApLTF8MCk+Pj4wKStEfDA7SD0wfX13aGlsZSgwKTtG
PWJfW2NbKGNbcD4+Ml18MCkrNDQ+PjJdJjMxXShyLGFbRV18MCl8MDtJPWNbaj4+Ml18MDtjW2o+
PjJdPUkrNDtjW0k+PjJdPUY7Rj1FKzF8MDtpZihGPj4+MDxmPj4+MCl7Qz1IKzF8MDtEPUc7RT1G
fWVsc2V7YnJlYWt9fX1FPWcrKHgtYjw8Mil8MDtEPWNbaj4+Ml18MDtpZigoRXwwKT09KER8MCkp
e2JyZWFrfUM9RC00fDA7aWYoRT4+PjA8Qz4+PjApe0o9RTtLPUN9ZWxzZXticmVha31kb3tDPWNb
Sj4+Ml18MDtjW0o+PjJdPWNbSz4+Ml07Y1tLPj4yXT1DO0o9Sis0fDA7Sz1LLTR8MDt9d2hpbGUo
Sj4+PjA8Sz4+PjApfX13aGlsZSgwKTtpZigoZXwwKT09KGZ8MCkpe0w9Y1tqPj4yXXwwO2NbaD4+
Ml09TDtkUChvKTtpPWw7cmV0dXJufWVsc2V7TD1nKyhlLWI8PDIpfDA7Y1toPj4yXT1MO2RQKG8p
O2k9bDtyZXR1cm59fWZ1bmN0aW9uIGdxKGIsZCxlLGYsZyxoLGope2I9YnwwO2Q9ZHwwO2U9ZXww
O2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAs
cj0wO2s9aTtpPWkrMTZ8MDtsPWQ7ZD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tkPj4yXT1jW2w+
PjJdO2w9a3wwO209ZHwwO2Q9Y1ttPj4yXXwwO2lmKChkfDApPT0wKXtjW2I+PjJdPTA7aT1rO3Jl
dHVybn1uPWc7Zz1lO289bi1nPj4yO3A9aCsxMnwwO2g9Y1twPj4yXXwwO3E9KGh8MCk+KG98MCk/
aC1vfDA6MDtvPWY7aD1vLWd8MDtnPWg+PjI7ZG97aWYoKGh8MCk+MCl7aWYoKGIxW2NbKGNbZD4+
Ml18MCkrNDg+PjJdJjYzXShkLGUsZyl8MCk9PShnfDApKXticmVha31jW20+PjJdPTA7Y1tiPj4y
XT0wO2k9aztyZXR1cm59fXdoaWxlKDApO2Rve2lmKChxfDApPjApe2V5KGwscSxqKTtpZigoYVts
XSYxKT09MCl7cj1sKzR8MH1lbHNle3I9Y1tsKzg+PjJdfDB9aWYoKGIxW2NbKGNbZD4+Ml18MCkr
NDg+PjJdJjYzXShkLHIscSl8MCk9PShxfDApKXtlZShsKTticmVha31jW20+PjJdPTA7Y1tiPj4y
XT0wO2VlKGwpO2k9aztyZXR1cm59fXdoaWxlKDApO2w9bi1vfDA7bz1sPj4yO2Rve2lmKChsfDAp
PjApe2lmKChiMVtjWyhjW2Q+PjJdfDApKzQ4Pj4yXSY2M10oZCxmLG8pfDApPT0ob3wwKSl7YnJl
YWt9Y1ttPj4yXT0wO2NbYj4+Ml09MDtpPWs7cmV0dXJufX13aGlsZSgwKTtjW3A+PjJdPTA7Y1ti
Pj4yXT1kO2k9aztyZXR1cm59ZnVuY3Rpb24gZ3IoYixkLGUsZixnLGgsail7Yj1ifDA7ZD1kfDA7
ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7dmFyIGs9MCxsPTAsbT0wLG49MCxvPTAscD0w
LHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTA7ZD1pO2k9aSsyMzJ8MDtrPWU7ZT1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW2s+PjJdO2s9ZHwwO2w9ZCs4fDA7bT1kKzMyfDA7
bj1kKzIwMHwwO289ZCsyMDh8MDtwPWQrMjE2fDA7cT1kKzIyNHwwO2Nbaz4+Ml09Mzc7Y1trKzQ+
PjJdPTA7cj1rO2s9cisxfDA7cz1mKzR8MDt0PWNbcz4+Ml18MDtpZigodCYyMDQ4fDApPT0wKXt1
PWt9ZWxzZXthW2tdPTQzO3U9cisyfDB9aWYoKHQmNTEyfDApPT0wKXt2PXV9ZWxzZXthW3VdPTM1
O3Y9dSsxfDB9YVt2XT0xMDg7YVt2KzF8MF09MTA4O3U9disyfDA7TDIxMTk6ZG97c3dpdGNoKHQm
NzR8MCl7Y2FzZSA4OntpZigodCYxNjM4NHwwKT09MCl7YVt1XT0xMjA7YnJlYWsgTDIxMTl9ZWxz
ZXthW3VdPTg4O2JyZWFrIEwyMTE5fWJyZWFrfTtjYXNlIDY0OnthW3VdPTExMTticmVha307ZGVm
YXVsdDp7YVt1XT0xMDB9fX13aGlsZSgwKTt1PWx8MDtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lm
KChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDAp
O3Q9Z2IodSwyMixjWzI5NThdfDAsciwocj1pLGk9aSsxNnwwLGNbcj4+Ml09aCxjW3IrOD4+Ml09
aixyKXwwKXwwO2k9cjtyPWwrdHwwO0wyMTMyOmRve3N3aXRjaChjW3M+PjJdJjE3NnwwKXtjYXNl
IDMyOnt3PXI7YnJlYWt9O2Nhc2UgMTY6e2o9YVt1XXwwO3N3aXRjaChqPDwyND4+MjQpe2Nhc2Ug
NDU6Y2FzZSA0Mzp7dz1sKzF8MDticmVhayBMMjEzMjticmVha307ZGVmYXVsdDp7fX1pZighKCh0
fDApPjEmajw8MjQ+PjI0PT00OCkpe3g9MTc2MDticmVhayBMMjEzMn1zd2l0Y2goYVtsKzF8MF18
MCl7Y2FzZSAxMjA6Y2FzZSA4ODp7YnJlYWt9O2RlZmF1bHQ6e3g9MTc2MDticmVhayBMMjEzMn19
dz1sKzJ8MDticmVha307ZGVmYXVsdDp7eD0xNzYwfX19d2hpbGUoMCk7aWYoKHh8MCk9PTE3NjAp
e3c9dX14PW18MDtlaihwLGYpO2dwKHUsdyxyLHgsbixvLHApO2R6KGNbcD4+Ml18MCl8MDtjW3E+
PjJdPWNbZT4+Ml07Z3EoYixxLHgsY1tuPj4yXXwwLGNbbz4+Ml18MCxmLGcpO2k9ZDtyZXR1cm59
ZnVuY3Rpb24gZ3MoYixkLGUsZixnLGgpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9
aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2
PTAsdz0wLHg9MDtkPWk7aT1pKzE0NHwwO2o9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+
PjJdPWNbaj4+Ml07aj1kfDA7az1kKzh8MDtsPWQrMjR8MDttPWQrMTEyfDA7bj1kKzEyMHwwO289
ZCsxMjh8MDtwPWQrMTM2fDA7cT1qfDA7YVtxXT1hWzIzODRdfDA7YVtxKzF8MF09YVsyMzg1fDBd
fDA7YVtxKzJ8MF09YVsyMzg2fDBdfDA7YVtxKzN8MF09YVsyMzg3fDBdfDA7YVtxKzR8MF09YVsy
Mzg4fDBdfDA7YVtxKzV8MF09YVsyMzg5fDBdfDA7cj1qKzF8MDtzPWYrNHwwO3Q9Y1tzPj4yXXww
O2lmKCh0JjIwNDh8MCk9PTApe3U9cn1lbHNle2Fbcl09NDM7dT1qKzJ8MH1pZigodCY1MTJ8MCk9
PTApe3Y9dX1lbHNle2FbdV09MzU7dj11KzF8MH1hW3ZdPTEwODt1PXYrMXwwO0wyMTUwOmRve3N3
aXRjaCh0Jjc0fDApe2Nhc2UgNjQ6e2FbdV09MTExO2JyZWFrfTtjYXNlIDg6e2lmKCh0JjE2Mzg0
fDApPT0wKXthW3VdPTEyMDticmVhayBMMjE1MH1lbHNle2FbdV09ODg7YnJlYWsgTDIxNTB9YnJl
YWt9O2RlZmF1bHQ6e2FbdV09MTE3fX19d2hpbGUoMCk7dT1rfDA7ZG97aWYoKGFbMTYyNjRdfDAp
PT0wKXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13
aGlsZSgwKTt0PWdiKHUsMTIsY1syOTU4XXwwLHEsKHE9aSxpPWkrOHwwLGNbcT4+Ml09aCxxKXww
KXwwO2k9cTtxPWsrdHwwO0wyMTYzOmRve3N3aXRjaChjW3M+PjJdJjE3NnwwKXtjYXNlIDE2Onto
PWFbdV18MDtzd2l0Y2goaDw8MjQ+PjI0KXtjYXNlIDQ1OmNhc2UgNDM6e3c9aysxfDA7YnJlYWsg
TDIxNjM7YnJlYWt9O2RlZmF1bHQ6e319aWYoISgodHwwKT4xJmg8PDI0Pj4yND09NDgpKXt4PTE3
ODU7YnJlYWsgTDIxNjN9c3dpdGNoKGFbaysxfDBdfDApe2Nhc2UgMTIwOmNhc2UgODg6e2JyZWFr
fTtkZWZhdWx0Ont4PTE3ODU7YnJlYWsgTDIxNjN9fXc9aysyfDA7YnJlYWt9O2Nhc2UgMzI6e3c9
cTticmVha307ZGVmYXVsdDp7eD0xNzg1fX19d2hpbGUoMCk7aWYoKHh8MCk9PTE3ODUpe3c9dX14
PWx8MDtlaihvLGYpO2dwKHUsdyxxLHgsbSxuLG8pO2R6KGNbbz4+Ml18MCl8MDtjW3A+PjJdPWNb
ZT4+Ml07Z3EoYixwLHgsY1ttPj4yXXwwLGNbbj4+Ml18MCxmLGcpO2k9ZDtyZXR1cm59ZnVuY3Rp
b24gZ3QoYixkLGUsZixnLGgsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7
aj1qfDA7dmFyIGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0w
LHc9MCx4PTA7ZD1pO2k9aSsyNDB8MDtrPWU7ZT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tlPj4y
XT1jW2s+PjJdO2s9ZHwwO2w9ZCs4fDA7bT1kKzMyfDA7bj1kKzIwOHwwO289ZCsyMTZ8MDtwPWQr
MjI0fDA7cT1kKzIzMnwwO2Nbaz4+Ml09Mzc7Y1trKzQ+PjJdPTA7cj1rO2s9cisxfDA7cz1mKzR8
MDt0PWNbcz4+Ml18MDtpZigodCYyMDQ4fDApPT0wKXt1PWt9ZWxzZXthW2tdPTQzO3U9cisyfDB9
aWYoKHQmNTEyfDApPT0wKXt2PXV9ZWxzZXthW3VdPTM1O3Y9dSsxfDB9YVt2XT0xMDg7YVt2KzF8
MF09MTA4O3U9disyfDA7TDIxODE6ZG97c3dpdGNoKHQmNzR8MCl7Y2FzZSA4OntpZigodCYxNjM4
NHwwKT09MCl7YVt1XT0xMjA7YnJlYWsgTDIxODF9ZWxzZXthW3VdPTg4O2JyZWFrIEwyMTgxfWJy
ZWFrfTtjYXNlIDY0OnthW3VdPTExMTticmVha307ZGVmYXVsdDp7YVt1XT0xMTd9fX13aGlsZSgw
KTt1PWx8MDtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFr
fWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDApO3Q9Z2IodSwyMyxjWzI5NThdfDAsciwo
cj1pLGk9aSsxNnwwLGNbcj4+Ml09aCxjW3IrOD4+Ml09aixyKXwwKXwwO2k9cjtyPWwrdHwwO0wy
MTk0OmRve3N3aXRjaChjW3M+PjJdJjE3NnwwKXtjYXNlIDE2OntqPWFbdV18MDtzd2l0Y2goajw8
MjQ+PjI0KXtjYXNlIDQ1OmNhc2UgNDM6e3c9bCsxfDA7YnJlYWsgTDIxOTQ7YnJlYWt9O2RlZmF1
bHQ6e319aWYoISgodHwwKT4xJmo8PDI0Pj4yND09NDgpKXt4PTE4MTA7YnJlYWsgTDIxOTR9c3dp
dGNoKGFbbCsxfDBdfDApe2Nhc2UgMTIwOmNhc2UgODg6e2JyZWFrfTtkZWZhdWx0Ont4PTE4MTA7
YnJlYWsgTDIxOTR9fXc9bCsyfDA7YnJlYWt9O2Nhc2UgMzI6e3c9cjticmVha307ZGVmYXVsdDp7
eD0xODEwfX19d2hpbGUoMCk7aWYoKHh8MCk9PTE4MTApe3c9dX14PW18MDtlaihwLGYpO2dwKHUs
dyxyLHgsbixvLHApO2R6KGNbcD4+Ml18MCl8MDtjW3E+PjJdPWNbZT4+Ml07Z3EoYixxLHgsY1tu
Pj4yXXwwLGNbbz4+Ml18MCxmLGcpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gZ3UoYixkLGUsZixnLGop
e2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2o9K2o7dmFyIGs9MCxsPTAsbT0wLG49MCxv
PTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9
MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTA7ZD1pO2k9aSszMjB8MDtrPWU7ZT1pO2k9aSs0
fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW2s+PjJdO2s9ZHwwO2w9ZCs4fDA7bT1kKzQwfDA7bj1k
KzQ4fDA7bz1kKzI4MHwwO3A9ZCsyODh8MDtxPWQrMjk2fDA7cj1kKzMwNHwwO3M9ZCszMTJ8MDtj
W2s+PjJdPTM3O2Nbays0Pj4yXT0wO3Q9aztrPXQrMXwwO3U9Zis0fDA7dj1jW3U+PjJdfDA7aWYo
KHYmMjA0OHwwKT09MCl7dz1rfWVsc2V7YVtrXT00Mzt3PXQrMnwwfWlmKCh2JjEwMjR8MCk9PTAp
e3g9d31lbHNle2Fbd109MzU7eD13KzF8MH13PXYmMjYwO2s9dj4+PjE0O0wyMjEyOmRve2lmKCh3
fDApPT0yNjApe2lmKChrJjF8MCk9PTApe2FbeF09OTc7eT0wO2JyZWFrfWVsc2V7YVt4XT02NTt5
PTA7YnJlYWt9fWVsc2V7YVt4XT00Njt2PXgrMnwwO2FbeCsxfDBdPTQyO3N3aXRjaCh3fDApe2Nh
c2UgMjU2OntpZigoayYxfDApPT0wKXthW3ZdPTEwMTt5PTE7YnJlYWsgTDIyMTJ9ZWxzZXthW3Zd
PTY5O3k9MTticmVhayBMMjIxMn1icmVha307Y2FzZSA0OntpZigoayYxfDApPT0wKXthW3ZdPTEw
Mjt5PTE7YnJlYWsgTDIyMTJ9ZWxzZXthW3ZdPTcwO3k9MTticmVhayBMMjIxMn1icmVha307ZGVm
YXVsdDp7aWYoKGsmMXwwKT09MCl7YVt2XT0xMDM7eT0xO2JyZWFrIEwyMjEyfWVsc2V7YVt2XT03
MTt5PTE7YnJlYWsgTDIyMTJ9fX19fXdoaWxlKDApO2s9bHwwO2NbbT4+Ml09aztkb3tpZigoYVsx
NjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0
LDApfDB9fXdoaWxlKDApO2w9Y1syOTU4XXwwO2lmKHkpe3c9Z2IoaywzMCxsLHQsKHo9aSxpPWkr
MTZ8MCxjW3o+PjJdPWNbZis4Pj4yXSxoW3orOD4+M109aix6KXwwKXwwO2k9ejtBPXd9ZWxzZXt3
PWdiKGssMzAsbCx0LCh6PWksaT1pKzh8MCxoW3o+PjNdPWoseil8MCl8MDtpPXo7QT13fWRve2lm
KChBfDApPjI5KXt3PShhWzE2MjY0XXwwKT09MDtpZih5KXtkb3tpZih3KXtpZigoYmMoMTYyNjQp
fDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTtsPWdoKG0sY1sy
OTU4XXwwLHQsKHo9aSxpPWkrMTZ8MCxjW3o+PjJdPWNbZis4Pj4yXSxoW3orOD4+M109aix6KXww
KXwwO2k9ejtCPWx9ZWxzZXtkb3tpZih3KXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5
NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTt3PWdoKG0sY1syOTU4XXwwLHQsKHo9aSxpPWkr
MTZ8MCxjW3o+PjJdPWNbZis4Pj4yXSxoW3orOD4+M109aix6KXwwKXwwO2k9ejtCPXd9dz1jW20+
PjJdfDA7aWYoKHd8MCkhPTApe0M9QjtEPXc7RT13O2JyZWFrfWtYKCk7dz1jW20+PjJdfDA7Qz1C
O0Q9dztFPXd9ZWxzZXtDPUE7RD0wO0U9Y1ttPj4yXXwwfX13aGlsZSgwKTtBPUUrQ3wwO0wyMjYx
OmRve3N3aXRjaChjW3U+PjJdJjE3NnwwKXtjYXNlIDMyOntGPUE7YnJlYWt9O2Nhc2UgMTY6e0I9
YVtFXXwwO3N3aXRjaChCPDwyND4+MjQpe2Nhc2UgNDU6Y2FzZSA0Mzp7Rj1FKzF8MDticmVhayBM
MjI2MTticmVha307ZGVmYXVsdDp7fX1pZighKChDfDApPjEmQjw8MjQ+PjI0PT00OCkpe0c9MTg2
NjticmVhayBMMjI2MX1zd2l0Y2goYVtFKzF8MF18MCl7Y2FzZSAxMjA6Y2FzZSA4ODp7YnJlYWt9
O2RlZmF1bHQ6e0c9MTg2NjticmVhayBMMjI2MX19Rj1FKzJ8MDticmVha307ZGVmYXVsdDp7Rz0x
ODY2fX19d2hpbGUoMCk7aWYoKEd8MCk9PTE4NjYpe0Y9RX1kb3tpZigoRXwwKT09KGt8MCkpe0g9
bnwwO0k9MDtKPWt9ZWxzZXtHPWtKKEM8PDMpfDA7dT1HO2lmKChHfDApIT0wKXtIPXU7ST11O0o9
RTticmVha31rWCgpO0g9dTtJPXU7Sj1jW20+PjJdfDB9fXdoaWxlKDApO2VqKHEsZik7Z3YoSixG
LEEsSCxvLHAscSk7ZHooY1txPj4yXXwwKXwwO3E9ZXwwO2Nbcz4+Ml09Y1txPj4yXTtncShyLHMs
SCxjW28+PjJdfDAsY1twPj4yXXwwLGYsZyk7Zz1jW3I+PjJdfDA7Y1txPj4yXT1nO2NbYj4+Ml09
ZztpZigoSXwwKSE9MCl7a0soSSl9aWYoKER8MCk9PTApe2k9ZDtyZXR1cm59a0soRCk7aT1kO3Jl
dHVybn1mdW5jdGlvbiBndihiLGUsZixnLGgsaixrKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDto
PWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAs
dT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJ
PTAsSj0wLEs9MCxMPTAsTT0wLE49MDtsPWk7aT1pKzQ4fDA7bT1sfDA7bj1sKzE2fDA7bz1sKzMy
fDA7cD1rfDA7az1jW3A+PjJdfDA7aWYoKGNbMzkyMl18MCkhPS0xKXtjW24+PjJdPTE1Njg4O2Nb
bis0Pj4yXT0xMjtjW24rOD4+Ml09MDtkVygxNTY4OCxuLDk2KX1uPShjWzM5MjNdfDApLTF8MDtx
PWNbays4Pj4yXXwwO2lmKChjW2srMTI+PjJdfDApLXE+PjI+Pj4wPD1uPj4+MCl7cj1iTyg0KXww
O3M9cjtrcShzKTtibChyfDAsODE3NiwxMzQpfWs9Y1txKyhuPDwyKT4+Ml18MDtpZigoa3wwKT09
MCl7cj1iTyg0KXwwO3M9cjtrcShzKTtibChyfDAsODE3NiwxMzQpfXI9aztzPWNbcD4+Ml18MDtp
ZigoY1szODI2XXwwKSE9LTEpe2NbbT4+Ml09MTUzMDQ7Y1ttKzQ+PjJdPTEyO2NbbSs4Pj4yXT0w
O2RXKDE1MzA0LG0sOTYpfW09KGNbMzgyN118MCktMXwwO3A9Y1tzKzg+PjJdfDA7aWYoKGNbcysx
Mj4+Ml18MCktcD4+Mj4+PjA8PW0+Pj4wKXt0PWJPKDQpfDA7dT10O2txKHUpO2JsKHR8MCw4MTc2
LDEzNCl9cz1jW3ArKG08PDIpPj4yXXwwO2lmKChzfDApPT0wKXt0PWJPKDQpfDA7dT10O2txKHUp
O2JsKHR8MCw4MTc2LDEzNCl9dD1zO2JaW2NbKGNbcz4+Ml18MCkrMjA+PjJdJjEyN10obyx0KTtj
W2o+PjJdPWc7dT1hW2JdfDA7c3dpdGNoKHU8PDI0Pj4yNCl7Y2FzZSA0NTpjYXNlIDQzOnttPWJf
W2NbKGNbaz4+Ml18MCkrNDQ+PjJdJjMxXShyLHUpfDA7dT1jW2o+PjJdfDA7Y1tqPj4yXT11KzQ7
Y1t1Pj4yXT1tO3Y9YisxfDA7YnJlYWt9O2RlZmF1bHQ6e3Y9Yn19bT1mO0wyMzA5OmRve2lmKCht
LXZ8MCk+MSl7aWYoKGFbdl18MCkhPTQ4KXt3PXY7eD0xOTIxO2JyZWFrfXU9disxfDA7c3dpdGNo
KGFbdV18MCl7Y2FzZSAxMjA6Y2FzZSA4ODp7YnJlYWt9O2RlZmF1bHQ6e3c9djt4PTE5MjE7YnJl
YWsgTDIzMDl9fXA9aztuPWJfW2NbKGNbcD4+Ml18MCkrNDQ+PjJdJjMxXShyLDQ4KXwwO3E9Y1tq
Pj4yXXwwO2Nbaj4+Ml09cSs0O2NbcT4+Ml09bjtuPXYrMnwwO3E9Yl9bY1soY1twPj4yXXwwKSs0
ND4+Ml0mMzFdKHIsYVt1XXwwKXwwO3U9Y1tqPj4yXXwwO2Nbaj4+Ml09dSs0O2NbdT4+Ml09cTtx
PW47d2hpbGUoMSl7aWYocT4+PjA+PWY+Pj4wKXt5PXE7ej1uO2JyZWFrIEwyMzA5fXU9YVtxXXww
O2Rve2lmKChhWzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4
XT1hUygxLDEzNDQsMCl8MH19d2hpbGUoMCk7aWYoKGEzKHU8PDI0Pj4yNHwwLGNbMjk1OF18MCl8
MCk9PTApe3k9cTt6PW47YnJlYWt9ZWxzZXtxPXErMXwwfX19ZWxzZXt3PXY7eD0xOTIxfX13aGls
ZSgwKTtMMjMyNDpkb3tpZigoeHwwKT09MTkyMSl7d2hpbGUoMSl7eD0wO2lmKHc+Pj4wPj1mPj4+
MCl7eT13O3o9djticmVhayBMMjMyNH1xPWFbd118MDtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lm
KChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDAp
O2lmKChiSChxPDwyND4+MjR8MCxjWzI5NThdfDApfDApPT0wKXt5PXc7ej12O2JyZWFrfWVsc2V7
dz13KzF8MDt4PTE5MjF9fX19d2hpbGUoMCk7eD1vO3c9bzt2PWRbd118MDtpZigodiYxfDApPT0w
KXtBPXY+Pj4xfWVsc2V7QT1jW28rND4+Ml18MH1kb3tpZigoQXwwKT09MCl7dj1jW2o+PjJdfDA7
dT1jWyhjW2s+PjJdfDApKzQ4Pj4yXXwwO2NhW3UmMTVdKHIseix5LHYpfDA7Y1tqPj4yXT0oY1tq
Pj4yXXwwKSsoeS16PDwyKX1lbHNle2Rve2lmKCh6fDApIT0oeXwwKSl7dj15LTF8MDtpZih6Pj4+
MDx2Pj4+MCl7Qj16O0M9dn1lbHNle2JyZWFrfWRve3Y9YVtCXXwwO2FbQl09YVtDXXwwO2FbQ109
djtCPUIrMXwwO0M9Qy0xfDA7fXdoaWxlKEI+Pj4wPEM+Pj4wKX19d2hpbGUoMCk7cT1iMFtjWyhj
W3M+PjJdfDApKzE2Pj4yXSYxMjddKHQpfDA7aWYoej4+PjA8eT4+PjApe3Y9eCsxfDA7dT1vKzR8
MDtuPW8rOHwwO3A9aztEPTA7RT0wO0Y9ejt3aGlsZSgxKXtHPShhW3ddJjEpPT0wO2Rve2lmKChh
WyhHP3Y6Y1tuPj4yXXwwKStFfDBdfDApPjApe2lmKChEfDApIT0oYVsoRz92OmNbbj4+Ml18MCkr
RXwwXXwwKSl7SD1FO0k9RDticmVha31KPWNbaj4+Ml18MDtjW2o+PjJdPUorNDtjW0o+PjJdPXE7
Sj1kW3ddfDA7SD0oRT4+PjA8KCgoSiYxfDApPT0wP0o+Pj4xOmNbdT4+Ml18MCktMXwwKT4+PjAp
K0V8MDtJPTB9ZWxzZXtIPUU7ST1EfX13aGlsZSgwKTtHPWJfW2NbKGNbcD4+Ml18MCkrNDQ+PjJd
JjMxXShyLGFbRl18MCl8MDtKPWNbaj4+Ml18MDtjW2o+PjJdPUorNDtjW0o+PjJdPUc7Rz1GKzF8
MDtpZihHPj4+MDx5Pj4+MCl7RD1JKzF8MDtFPUg7Rj1HfWVsc2V7YnJlYWt9fX1GPWcrKHotYjw8
Mil8MDtFPWNbaj4+Ml18MDtpZigoRnwwKT09KEV8MCkpe2JyZWFrfUQ9RS00fDA7aWYoRj4+PjA8
RD4+PjApe0s9RjtMPUR9ZWxzZXticmVha31kb3tEPWNbSz4+Ml18MDtjW0s+PjJdPWNbTD4+Ml07
Y1tMPj4yXT1EO0s9Sys0fDA7TD1MLTR8MDt9d2hpbGUoSz4+PjA8TD4+PjApfX13aGlsZSgwKTtM
MjM2Mzpkb3tpZih5Pj4+MDxmPj4+MCl7TD1rO0s9eTt3aGlsZSgxKXt6PWFbS118MDtpZih6PDwy
ND4+MjQ9PTQ2KXticmVha31IPWJfW2NbKGNbTD4+Ml18MCkrNDQ+PjJdJjMxXShyLHopfDA7ej1j
W2o+PjJdfDA7Y1tqPj4yXT16KzQ7Y1t6Pj4yXT1IO0g9SysxfDA7aWYoSD4+PjA8Zj4+PjApe0s9
SH1lbHNle009SDticmVhayBMMjM2M319TD1iMFtjWyhjW3M+PjJdfDApKzEyPj4yXSYxMjddKHQp
fDA7SD1jW2o+PjJdfDA7Y1tqPj4yXT1IKzQ7Y1tIPj4yXT1MO009SysxfDB9ZWxzZXtNPXl9fXdo
aWxlKDApO2NhW2NbKGNbaz4+Ml18MCkrNDg+PjJdJjE1XShyLE0sZixjW2o+PjJdfDApfDA7cj0o
Y1tqPj4yXXwwKSsobS1NPDwyKXwwO2Nbaj4+Ml09cjtpZigoZXwwKT09KGZ8MCkpe049cjtjW2g+
PjJdPU47ZFAobyk7aT1sO3JldHVybn1OPWcrKGUtYjw8Mil8MDtjW2g+PjJdPU47ZFAobyk7aT1s
O3JldHVybn1mdW5jdGlvbiBndyhiLGQsZSxmLGcsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7
Zz1nfDA7aj0rajt2YXIgaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9
MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0w
LEo9MDtkPWk7aT1pKzMyMHwwO2s9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNb
az4+Ml07az1kfDA7bD1kKzh8MDttPWQrNDB8MDtuPWQrNDh8MDtvPWQrMjgwfDA7cD1kKzI4OHww
O3E9ZCsyOTZ8MDtyPWQrMzA0fDA7cz1kKzMxMnwwO2Nbaz4+Ml09Mzc7Y1trKzQ+PjJdPTA7dD1r
O2s9dCsxfDA7dT1mKzR8MDt2PWNbdT4+Ml18MDtpZigodiYyMDQ4fDApPT0wKXt3PWt9ZWxzZXth
W2tdPTQzO3c9dCsyfDB9aWYoKHYmMTAyNHwwKT09MCl7eD13fWVsc2V7YVt3XT0zNTt4PXcrMXww
fXc9diYyNjA7az12Pj4+MTQ7TDIzODQ6ZG97aWYoKHd8MCk9PTI2MCl7YVt4XT03Njt2PXgrMXww
O2lmKChrJjF8MCk9PTApe2Fbdl09OTc7eT0wO2JyZWFrfWVsc2V7YVt2XT02NTt5PTA7YnJlYWt9
fWVsc2V7YVt4XT00NjthW3grMXwwXT00MjthW3grMnwwXT03Njt2PXgrM3wwO3N3aXRjaCh3fDAp
e2Nhc2UgMjU2OntpZigoayYxfDApPT0wKXthW3ZdPTEwMTt5PTE7YnJlYWsgTDIzODR9ZWxzZXth
W3ZdPTY5O3k9MTticmVhayBMMjM4NH1icmVha307Y2FzZSA0OntpZigoayYxfDApPT0wKXthW3Zd
PTEwMjt5PTE7YnJlYWsgTDIzODR9ZWxzZXthW3ZdPTcwO3k9MTticmVhayBMMjM4NH1icmVha307
ZGVmYXVsdDp7aWYoKGsmMXwwKT09MCl7YVt2XT0xMDM7eT0xO2JyZWFrIEwyMzg0fWVsc2V7YVt2
XT03MTt5PTE7YnJlYWsgTDIzODR9fX19fXdoaWxlKDApO2s9bHwwO2NbbT4+Ml09aztkb3tpZigo
YVsxNjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwx
MzQ0LDApfDB9fXdoaWxlKDApO2w9Y1syOTU4XXwwO2lmKHkpe3c9Z2IoaywzMCxsLHQsKHo9aSxp
PWkrMTZ8MCxjW3o+PjJdPWNbZis4Pj4yXSxoW3orOD4+M109aix6KXwwKXwwO2k9ejtBPXd9ZWxz
ZXt3PWdiKGssMzAsbCx0LCh6PWksaT1pKzh8MCxoW3o+PjNdPWoseil8MCl8MDtpPXo7QT13fWRv
e2lmKChBfDApPjI5KXt3PShhWzE2MjY0XXwwKT09MDtpZih5KXtkb3tpZih3KXtpZigoYmMoMTYy
NjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTtsPWdoKG0s
Y1syOTU4XXwwLHQsKHo9aSxpPWkrMTZ8MCxjW3o+PjJdPWNbZis4Pj4yXSxoW3orOD4+M109aix6
KXwwKXwwO2k9ejtCPWx9ZWxzZXtkb3tpZih3KXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31j
WzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTt3PWdoKG0sY1syOTU4XXwwLHQsKHo9aSxp
PWkrOHwwLGhbej4+M109aix6KXwwKXwwO2k9ejtCPXd9dz1jW20+PjJdfDA7aWYoKHd8MCkhPTAp
e0M9QjtEPXc7RT13O2JyZWFrfWtYKCk7dz1jW20+PjJdfDA7Qz1CO0Q9dztFPXd9ZWxzZXtDPUE7
RD0wO0U9Y1ttPj4yXXwwfX13aGlsZSgwKTtBPUUrQ3wwO0wyNDMzOmRve3N3aXRjaChjW3U+PjJd
JjE3NnwwKXtjYXNlIDE2OntCPWFbRV18MDtzd2l0Y2goQjw8MjQ+PjI0KXtjYXNlIDQ1OmNhc2Ug
NDM6e0Y9RSsxfDA7YnJlYWsgTDI0MzM7YnJlYWt9O2RlZmF1bHQ6e319aWYoISgoQ3wwKT4xJkI8
PDI0Pj4yND09NDgpKXtHPTIwMTg7YnJlYWsgTDI0MzN9c3dpdGNoKGFbRSsxfDBdfDApe2Nhc2Ug
MTIwOmNhc2UgODg6e2JyZWFrfTtkZWZhdWx0OntHPTIwMTg7YnJlYWsgTDI0MzN9fUY9RSsyfDA7
YnJlYWt9O2Nhc2UgMzI6e0Y9QTticmVha307ZGVmYXVsdDp7Rz0yMDE4fX19d2hpbGUoMCk7aWYo
KEd8MCk9PTIwMTgpe0Y9RX1kb3tpZigoRXwwKT09KGt8MCkpe0g9bnwwO0k9MDtKPWt9ZWxzZXtH
PWtKKEM8PDMpfDA7dT1HO2lmKChHfDApIT0wKXtIPXU7ST11O0o9RTticmVha31rWCgpO0g9dTtJ
PXU7Sj1jW20+PjJdfDB9fXdoaWxlKDApO2VqKHEsZik7Z3YoSixGLEEsSCxvLHAscSk7ZHooY1tx
Pj4yXXwwKXwwO3E9ZXwwO2Nbcz4+Ml09Y1txPj4yXTtncShyLHMsSCxjW28+PjJdfDAsY1twPj4y
XXwwLGYsZyk7Zz1jW3I+PjJdfDA7Y1txPj4yXT1nO2NbYj4+Ml09ZztpZigoSXwwKSE9MCl7a0so
SSl9aWYoKER8MCk9PTApe2k9ZDtyZXR1cm59a0soRCk7aT1kO3JldHVybn1mdW5jdGlvbiBneChi
LGQsZSxmLGcsaCl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxr
PTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9
MCx6PTAsQT0wO2Q9aTtpPWkrMjE2fDA7aj1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+
Ml09Y1tqPj4yXTtqPWR8MDtrPWQrMjR8MDtsPWQrNDh8MDttPWQrMjAwfDA7bj1kKzIwOHwwO289
ZCsxNnwwO2Fbb109YVsyMzkyXXwwO2FbbysxfDBdPWFbMjM5M3wwXXwwO2FbbysyfDBdPWFbMjM5
NHwwXXwwO2FbbyszfDBdPWFbMjM5NXwwXXwwO2Fbbys0fDBdPWFbMjM5NnwwXXwwO2Fbbys1fDBd
PWFbMjM5N3wwXXwwO3A9a3wwO2Rve2lmKChhWzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2MjY0KXww
KT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8MH19d2hpbGUoMCk7cT1nYihwLDIwLGNb
Mjk1OF18MCxvLChvPWksaT1pKzh8MCxjW28+PjJdPWgsbyl8MCl8MDtpPW87bz1rK3F8MDtMMjQ2
NDpkb3tzd2l0Y2goY1tmKzQ+PjJdJjE3NnwwKXtjYXNlIDE2OntoPWFbcF18MDtzd2l0Y2goaDw8
MjQ+PjI0KXtjYXNlIDQ1OmNhc2UgNDM6e3I9aysxfDA7YnJlYWsgTDI0NjQ7YnJlYWt9O2RlZmF1
bHQ6e319aWYoISgocXwwKT4xJmg8PDI0Pj4yND09NDgpKXtzPTIwNTE7YnJlYWsgTDI0NjR9c3dp
dGNoKGFbaysxfDBdfDApe2Nhc2UgMTIwOmNhc2UgODg6e2JyZWFrfTtkZWZhdWx0OntzPTIwNTE7
YnJlYWsgTDI0NjR9fXI9aysyfDA7YnJlYWt9O2Nhc2UgMzI6e3I9bzticmVha307ZGVmYXVsdDp7
cz0yMDUxfX19d2hpbGUoMCk7aWYoKHN8MCk9PTIwNTEpe3I9cH1laihtLGYpO3M9bXwwO209Y1tz
Pj4yXXwwO2lmKChjWzM5MjJdfDApIT0tMSl7Y1tqPj4yXT0xNTY4ODtjW2orND4+Ml09MTI7Y1tq
Kzg+PjJdPTA7ZFcoMTU2ODgsaiw5Nil9aj0oY1szOTIzXXwwKS0xfDA7aD1jW20rOD4+Ml18MDtk
b3tpZigoY1ttKzEyPj4yXXwwKS1oPj4yPj4+MD5qPj4+MCl7dD1jW2grKGo8PDIpPj4yXXwwO2lm
KCh0fDApPT0wKXticmVha311PXQ7dj1jW3M+PjJdfDA7ZHoodil8MDt2PWx8MDt3PWNbKGNbdD4+
Ml18MCkrNDg+PjJdfDA7Y2FbdyYxNV0odSxwLG8sdil8MDt1PWwrKHE8PDIpfDA7aWYoKHJ8MCk9
PShvfDApKXt4PXU7eT1lfDA7ej1jW3k+PjJdfDA7QT1ufDA7Y1tBPj4yXT16O2dxKGIsbix2LHgs
dSxmLGcpO2k9ZDtyZXR1cm59eD1sKyhyLWs8PDIpfDA7eT1lfDA7ej1jW3k+PjJdfDA7QT1ufDA7
Y1tBPj4yXT16O2dxKGIsbix2LHgsdSxmLGcpO2k9ZDtyZXR1cm59fXdoaWxlKDApO2Q9Yk8oNCl8
MDtrcShkKTtibChkfDAsODE3NiwxMzQpfWZ1bmN0aW9uIGd5KGEpe2E9YXwwO3JldHVybiAyfWZ1
bmN0aW9uIGd6KGEpe2E9YXwwO2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGdBKGEpe2E9
YXwwO2RlKGF8MCk7cmV0dXJufWZ1bmN0aW9uIGdCKGEsYixkLGUsZixnLGgpe2E9YXwwO2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MDtqPWk7aT1pKzE2
fDA7az1kO2Q9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZD4+Ml09Y1trPj4yXTtrPWU7ZT1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW2s+PjJdO2s9anwwO2w9ais4fDA7Y1trPj4yXT1j
W2Q+PjJdO2NbbD4+Ml09Y1tlPj4yXTtnRChhLGIsayxsLGYsZyxoLDIzNzYsMjM4NCk7aT1qO3Jl
dHVybn1mdW5jdGlvbiBnQyhiLGQsZSxmLGcsaCxqKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtn
PWd8MDtoPWh8MDtqPWp8MDt2YXIgaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MDtrPWk7
aT1pKzE2fDA7bD1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1tsPj4yXTtsPWY7
Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9a3wwO209ays4fDA7bj1k
Kzh8MDtvPWIwW2NbKGNbbj4+Ml18MCkrMjA+PjJdJjEyN10obil8MDtjW2w+PjJdPWNbZT4+Ml07
Y1ttPj4yXT1jW2Y+PjJdO2Y9bztlPWFbb118MDtpZigoZSYxKT09MCl7cD1mKzF8MDtxPWYrMXww
fWVsc2V7Zj1jW28rOD4+Ml18MDtwPWY7cT1mfWY9ZSYyNTU7aWYoKGYmMXwwKT09MCl7cj1mPj4+
MX1lbHNle3I9Y1tvKzQ+PjJdfDB9Z0QoYixkLGwsbSxnLGgsaixxLHArcnwwKTtpPWs7cmV0dXJu
fWZ1bmN0aW9uIGdEKGQsZSxmLGcsaCxqLGssbCxtKXtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDto
PWh8MDtqPWp8MDtrPWt8MDtsPWx8MDttPW18MDt2YXIgbj0wLG89MCxwPTAscT0wLHI9MCxzPTAs
dD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxI
PTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9
MCxXPTAsWD0wLFk9MCxaPTAsXz0wLCQ9MCxhYT0wLGFiPTAsYWM9MCxhZD0wO249aTtpPWkrNDh8
MDtvPWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW28+PjJdO289ZztnPWk7aT1p
KzR8MDtpPWkrNz4+Mzw8MztjW2c+PjJdPWNbbz4+Ml07bz1ufDA7cD1uKzE2fDA7cT1uKzI0fDA7
cj1uKzMyfDA7cz1uKzQwfDA7ZWoocCxoKTt0PXB8MDtwPWNbdD4+Ml18MDtpZigoY1szOTI0XXww
KSE9LTEpe2Nbbz4+Ml09MTU2OTY7Y1tvKzQ+PjJdPTEyO2Nbbys4Pj4yXT0wO2RXKDE1Njk2LG8s
OTYpfW89KGNbMzkyNV18MCktMXwwO3U9Y1twKzg+PjJdfDA7ZG97aWYoKGNbcCsxMj4+Ml18MCkt
dT4+Mj4+PjA+bz4+PjApe3Y9Y1t1KyhvPDwyKT4+Ml18MDtpZigodnwwKT09MCl7YnJlYWt9dz12
O3g9Y1t0Pj4yXXwwO2R6KHgpfDA7Y1tqPj4yXT0wO3g9ZnwwO0wyNTA2OmRve2lmKChsfDApPT0o
bXwwKSl7eT0yMTQxfWVsc2V7ej1nfDA7QT12O0I9dis4fDA7Qz12O0Q9ZTtFPXJ8MDtGPXN8MDtH
PXF8MDtIPWw7ST0wO0wyNTA4OndoaWxlKDEpe0o9STt3aGlsZSgxKXtpZigoSnwwKSE9MCl7eT0y
MTQxO2JyZWFrIEwyNTA2fUs9Y1t4Pj4yXXwwO2Rve2lmKChLfDApPT0wKXtMPTB9ZWxzZXtpZigo
Y1tLKzEyPj4yXXwwKSE9KGNbSysxNj4+Ml18MCkpe0w9SzticmVha31pZigoYjBbY1soY1tLPj4y
XXwwKSszNj4+Ml0mMTI3XShLKXwwKSE9LTEpe0w9SzticmVha31jW3g+PjJdPTA7TD0wfX13aGls
ZSgwKTtLPShMfDApPT0wO009Y1t6Pj4yXXwwO0wyNTE4OmRve2lmKChNfDApPT0wKXt5PTIwOTR9
ZWxzZXtkb3tpZigoY1tNKzEyPj4yXXwwKT09KGNbTSsxNj4+Ml18MCkpe2lmKChiMFtjWyhjW00+
PjJdfDApKzM2Pj4yXSYxMjddKE0pfDApIT0tMSl7YnJlYWt9Y1t6Pj4yXT0wO3k9MjA5NDticmVh
ayBMMjUxOH19d2hpbGUoMCk7aWYoSyl7Tj1NfWVsc2V7eT0yMDk1O2JyZWFrIEwyNTA4fX19d2hp
bGUoMCk7aWYoKHl8MCk9PTIwOTQpe3k9MDtpZihLKXt5PTIwOTU7YnJlYWsgTDI1MDh9ZWxzZXtO
PTB9fWlmKChiMVtjWyhjW0E+PjJdfDApKzM2Pj4yXSY2M10odyxhW0hdfDAsMCl8MCk8PDI0Pj4y
ND09Mzcpe3k9MjA5ODticmVha31NPWFbSF18MDtpZihNPDwyND4+MjQ+LTEpe089Y1tCPj4yXXww
O2lmKChiW08rKE08PDI0Pj4yNDw8MSk+PjFdJjgxOTIpIT0wKXtQPUg7eT0yMTA5O2JyZWFrfX1R
PUwrMTJ8MDtNPWNbUT4+Ml18MDtSPUwrMTZ8MDtpZigoTXwwKT09KGNbUj4+Ml18MCkpe1M9KGIw
W2NbKGNbTD4+Ml18MCkrMzY+PjJdJjEyN10oTCl8MCkmMjU1fWVsc2V7Uz1hW01dfDB9TT1iX1tj
WyhjW0M+PjJdfDApKzEyPj4yXSYzMV0odyxTKXwwO2lmKE08PDI0Pj4yND09KGJfW2NbKGNbQz4+
Ml18MCkrMTI+PjJdJjMxXSh3LGFbSF18MCl8MCk8PDI0Pj4yNCl7eT0yMTM2O2JyZWFrfWNbaj4+
Ml09NDtKPTR9TDI1MzY6ZG97aWYoKHl8MCk9PTIxMzYpe3k9MDtKPWNbUT4+Ml18MDtpZigoSnww
KT09KGNbUj4+Ml18MCkpe009Y1soY1tMPj4yXXwwKSs0MD4+Ml18MDtiMFtNJjEyN10oTCl8MH1l
bHNle2NbUT4+Ml09SisxfVQ9SCsxfDB9ZWxzZSBpZigoeXwwKT09MjA5OCl7eT0wO0o9SCsxfDA7
aWYoKEp8MCk9PShtfDApKXt5PTIwOTk7YnJlYWsgTDI1MDh9TT1iMVtjWyhjW0E+PjJdfDApKzM2
Pj4yXSY2M10odyxhW0pdfDAsMCl8MDtzd2l0Y2goTTw8MjQ+PjI0KXtjYXNlIDY5OmNhc2UgNDg6
e1U9SCsyfDA7aWYoKFV8MCk9PShtfDApKXt5PTIxMDI7YnJlYWsgTDI1MDh9Vj1NO1c9YjFbY1so
Y1tBPj4yXXwwKSszNj4+Ml0mNjNdKHcsYVtVXXwwLDApfDA7WD1VO2JyZWFrfTtkZWZhdWx0OntW
PTA7Vz1NO1g9Sn19Sj1jWyhjW0Q+PjJdfDApKzM2Pj4yXXwwO2NbRT4+Ml09TDtjW0Y+PjJdPU47
YjdbSiY3XShxLGUscixzLGgsaixrLFcsVik7Y1t4Pj4yXT1jW0c+PjJdO1Q9WCsxfDB9ZWxzZSBp
ZigoeXwwKT09MjEwOSl7d2hpbGUoMSl7eT0wO0o9UCsxfDA7aWYoKEp8MCk9PShtfDApKXtZPW07
YnJlYWt9TT1hW0pdfDA7aWYoTTw8MjQ+PjI0PD0tMSl7WT1KO2JyZWFrfWlmKChiW08rKE08PDI0
Pj4yNDw8MSk+PjFdJjgxOTIpPT0wKXtZPUo7YnJlYWt9ZWxzZXtQPUo7eT0yMTA5fX1LPUw7Sj1O
O3doaWxlKDEpe2Rve2lmKChLfDApPT0wKXtaPTB9ZWxzZXtpZigoY1tLKzEyPj4yXXwwKSE9KGNb
SysxNj4+Ml18MCkpe1o9SzticmVha31pZigoYjBbY1soY1tLPj4yXXwwKSszNj4+Ml0mMTI3XShL
KXwwKSE9LTEpe1o9SzticmVha31jW3g+PjJdPTA7Wj0wfX13aGlsZSgwKTtNPShafDApPT0wO2Rv
e2lmKChKfDApPT0wKXt5PTIxMjJ9ZWxzZXtpZigoY1tKKzEyPj4yXXwwKSE9KGNbSisxNj4+Ml18
MCkpe2lmKE0pe189SjticmVha31lbHNle1Q9WTticmVhayBMMjUzNn19aWYoKGIwW2NbKGNbSj4+
Ml18MCkrMzY+PjJdJjEyN10oSil8MCk9PS0xKXtjW3o+PjJdPTA7eT0yMTIyO2JyZWFrfWVsc2V7
aWYoTV4oSnwwKT09MCl7Xz1KO2JyZWFrfWVsc2V7VD1ZO2JyZWFrIEwyNTM2fX19fXdoaWxlKDAp
O2lmKCh5fDApPT0yMTIyKXt5PTA7aWYoTSl7VD1ZO2JyZWFrIEwyNTM2fWVsc2V7Xz0wfX1VPVor
MTJ8MDskPWNbVT4+Ml18MDthYT1aKzE2fDA7aWYoKCR8MCk9PShjW2FhPj4yXXwwKSl7YWI9KGIw
W2NbKGNbWj4+Ml18MCkrMzY+PjJdJjEyN10oWil8MCkmMjU1fWVsc2V7YWI9YVskXXwwfWlmKGFi
PDwyND4+MjQ8PS0xKXtUPVk7YnJlYWsgTDI1MzZ9aWYoKGJbKGNbQj4+Ml18MCkrKGFiPDwyND4+
MjQ8PDEpPj4xXSY4MTkyKT09MCl7VD1ZO2JyZWFrIEwyNTM2fSQ9Y1tVPj4yXXwwO2lmKCgkfDAp
PT0oY1thYT4+Ml18MCkpe2FhPWNbKGNbWj4+Ml18MCkrNDA+PjJdfDA7YjBbYWEmMTI3XShaKXww
O0s9WjtKPV87Y29udGludWV9ZWxzZXtjW1U+PjJdPSQrMTtLPVo7Sj1fO2NvbnRpbnVlfX19fXdo
aWxlKDApO2lmKChUfDApPT0obXwwKSl7eT0yMTQxO2JyZWFrIEwyNTA2fUg9VDtJPWNbaj4+Ml18
MH1pZigoeXwwKT09MjA5OSl7Y1tqPj4yXT00O2FjPUw7YnJlYWt9ZWxzZSBpZigoeXwwKT09MjEw
Mil7Y1tqPj4yXT00O2FjPUw7YnJlYWt9ZWxzZSBpZigoeXwwKT09MjA5NSl7Y1tqPj4yXT00O2Fj
PUw7YnJlYWt9fX13aGlsZSgwKTtpZigoeXwwKT09MjE0MSl7YWM9Y1t4Pj4yXXwwfXc9ZnwwO2Rv
e2lmKChhY3wwKSE9MCl7aWYoKGNbYWMrMTI+PjJdfDApIT0oY1thYysxNj4+Ml18MCkpe2JyZWFr
fWlmKChiMFtjWyhjW2FjPj4yXXwwKSszNj4+Ml0mMTI3XShhYyl8MCkhPS0xKXticmVha31jW3c+
PjJdPTB9fXdoaWxlKDApO3g9Y1t3Pj4yXXwwO3Y9KHh8MCk9PTA7ST1nfDA7SD1jW0k+PjJdfDA7
TDI1OTQ6ZG97aWYoKEh8MCk9PTApe3k9MjE1MX1lbHNle2Rve2lmKChjW0grMTI+PjJdfDApPT0o
Y1tIKzE2Pj4yXXwwKSl7aWYoKGIwW2NbKGNbSD4+Ml18MCkrMzY+PjJdJjEyN10oSCl8MCkhPS0x
KXticmVha31jW0k+PjJdPTA7eT0yMTUxO2JyZWFrIEwyNTk0fX13aGlsZSgwKTtpZighdil7YnJl
YWt9YWQ9ZHwwO2NbYWQ+PjJdPXg7aT1uO3JldHVybn19d2hpbGUoMCk7ZG97aWYoKHl8MCk9PTIx
NTEpe2lmKHYpe2JyZWFrfWFkPWR8MDtjW2FkPj4yXT14O2k9bjtyZXR1cm59fXdoaWxlKDApO2Nb
aj4+Ml09Y1tqPj4yXXwyO2FkPWR8MDtjW2FkPj4yXT14O2k9bjtyZXR1cm59fXdoaWxlKDApO249
Yk8oNCl8MDtrcShuKTtibChufDAsODE3NiwxMzQpfWZ1bmN0aW9uIGdFKGEsYixkLGUsZixnLGgp
e2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9
MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MDtqPWk7aT1pKzMyfDA7az1kO2Q9
aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZD4+Ml09Y1trPj4yXTtrPWU7ZT1pO2k9aSs0fDA7aT1p
Kzc+PjM8PDM7Y1tlPj4yXT1jW2s+PjJdO2s9anwwO2w9ais4fDA7bT1qKzI0fDA7ZWoobSxmKTtm
PW18MDttPWNbZj4+Ml18MDtpZigoY1szOTI0XXwwKSE9LTEpe2NbbD4+Ml09MTU2OTY7Y1tsKzQ+
PjJdPTEyO2NbbCs4Pj4yXT0wO2RXKDE1Njk2LGwsOTYpfWw9KGNbMzkyNV18MCktMXwwO249Y1tt
Kzg+PjJdfDA7ZG97aWYoKGNbbSsxMj4+Ml18MCktbj4+Mj4+PjA+bD4+PjApe289Y1tuKyhsPDwy
KT4+Ml18MDtpZigob3wwKT09MCl7YnJlYWt9cD1vO289Y1tmPj4yXXwwO2R6KG8pfDA7bz1jW2U+
PjJdfDA7cT1iKzh8MDtyPWIwW2NbY1txPj4yXT4+Ml0mMTI3XShxKXwwO2Nbaz4+Ml09bztvPShm
cShkLGsscixyKzE2OHwwLHAsZywwKXwwKS1yfDA7aWYoKG98MCk+PTE2OCl7cz1kfDA7dD1jW3M+
PjJdfDA7dT1hfDA7Y1t1Pj4yXT10O2k9ajtyZXR1cm59Y1toKzI0Pj4yXT0oKG98MCkvMTJ8MHww
KSU3fDA7cz1kfDA7dD1jW3M+PjJdfDA7dT1hfDA7Y1t1Pj4yXT10O2k9ajtyZXR1cm59fXdoaWxl
KDApO2o9Yk8oNCl8MDtrcShqKTtibChqfDAsODE3NiwxMzQpfWZ1bmN0aW9uIGdGKGEsYixkLGUs
ZixnLGgpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAs
az0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MDtqPWk7aT1pKzMyfDA7
az1kO2Q9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZD4+Ml09Y1trPj4yXTtrPWU7ZT1pO2k9aSs0
fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW2s+PjJdO2s9anwwO2w9ais4fDA7bT1qKzI0fDA7ZWoo
bSxmKTtmPW18MDttPWNbZj4+Ml18MDtpZigoY1szOTI0XXwwKSE9LTEpe2NbbD4+Ml09MTU2OTY7
Y1tsKzQ+PjJdPTEyO2NbbCs4Pj4yXT0wO2RXKDE1Njk2LGwsOTYpfWw9KGNbMzkyNV18MCktMXww
O249Y1ttKzg+PjJdfDA7ZG97aWYoKGNbbSsxMj4+Ml18MCktbj4+Mj4+PjA+bD4+PjApe289Y1tu
KyhsPDwyKT4+Ml18MDtpZigob3wwKT09MCl7YnJlYWt9cD1vO289Y1tmPj4yXXwwO2R6KG8pfDA7
bz1jW2U+PjJdfDA7cT1iKzh8MDtyPWIwW2NbKGNbcT4+Ml18MCkrND4+Ml0mMTI3XShxKXwwO2Nb
az4+Ml09bztvPShmcShkLGsscixyKzI4OHwwLHAsZywwKXwwKS1yfDA7aWYoKG98MCk+PTI4OCl7
cz1kfDA7dD1jW3M+PjJdfDA7dT1hfDA7Y1t1Pj4yXT10O2k9ajtyZXR1cm59Y1toKzE2Pj4yXT0o
KG98MCkvMTJ8MHwwKSUxMnwwO3M9ZHwwO3Q9Y1tzPj4yXXwwO3U9YXwwO2NbdT4+Ml09dDtpPWo7
cmV0dXJufX13aGlsZSgwKTtqPWJPKDQpfDA7a3Eoaik7YmwoanwwLDgxNzYsMTM0KX1mdW5jdGlv
biBnRyhhLGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDto
PWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wO2I9aTtpPWkr
MzJ8MDtqPWQ7ZD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tkPj4yXT1jW2o+PjJdO2o9ZTtlPWk7
aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNbaj4+Ml07aj1ifDA7az1iKzh8MDtsPWIrMjR8
MDtlaihsLGYpO2Y9bHwwO2w9Y1tmPj4yXXwwO2lmKChjWzM5MjRdfDApIT0tMSl7Y1trPj4yXT0x
NTY5NjtjW2srND4+Ml09MTI7Y1trKzg+PjJdPTA7ZFcoMTU2OTYsayw5Nil9az0oY1szOTI1XXww
KS0xfDA7bT1jW2wrOD4+Ml18MDtkb3tpZigoY1tsKzEyPj4yXXwwKS1tPj4yPj4+MD5rPj4+MCl7
bj1jW20rKGs8PDIpPj4yXXwwO2lmKChufDApPT0wKXticmVha31vPW47bj1jW2Y+PjJdfDA7ZHoo
bil8MDtjW2o+PjJdPWNbZT4+Ml07bj1nTChkLGosZyxvLDQpfDA7aWYoKGNbZz4+Ml0mNHwwKSE9
MCl7cD1kfDA7cT1jW3A+PjJdfDA7cj1hfDA7Y1tyPj4yXT1xO2k9YjtyZXR1cm59aWYoKG58MCk8
Njkpe3M9bisyZTN8MH1lbHNle3M9KG4tNjl8MCk+Pj4wPDMxP24rMTkwMHwwOm59Y1toKzIwPj4y
XT1zLTE5MDA7cD1kfDA7cT1jW3A+PjJdfDA7cj1hfDA7Y1tyPj4yXT1xO2k9YjtyZXR1cm59fXdo
aWxlKDApO2I9Yk8oNCl8MDtrcShiKTtibChifDAsODE3NiwxMzQpfWZ1bmN0aW9uIGdIKGQsZSxm
LGcsaCl7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MDtkPWk7aj1mO2Y9aTtpPWkrNHwwO2k9
aSs3Pj4zPDwzO2NbZj4+Ml09Y1tqPj4yXTtqPWV8MDtlPWZ8MDtmPWgrOHwwO0wyNjUyOndoaWxl
KDEpe2g9Y1tqPj4yXXwwO2Rve2lmKChofDApPT0wKXtrPTB9ZWxzZXtpZigoY1toKzEyPj4yXXww
KSE9KGNbaCsxNj4+Ml18MCkpe2s9aDticmVha31pZigoYjBbY1soY1toPj4yXXwwKSszNj4+Ml0m
MTI3XShoKXwwKT09LTEpe2Nbaj4+Ml09MDtrPTA7YnJlYWt9ZWxzZXtrPWNbaj4+Ml18MDticmVh
a319fXdoaWxlKDApO2g9KGt8MCk9PTA7bD1jW2U+PjJdfDA7TDI2NjE6ZG97aWYoKGx8MCk9PTAp
e209MjIwN31lbHNle2Rve2lmKChjW2wrMTI+PjJdfDApPT0oY1tsKzE2Pj4yXXwwKSl7aWYoKGIw
W2NbKGNbbD4+Ml18MCkrMzY+PjJdJjEyN10obCl8MCkhPS0xKXticmVha31jW2U+PjJdPTA7bT0y
MjA3O2JyZWFrIEwyNjYxfX13aGlsZSgwKTtpZihoKXtuPWw7bz0wfWVsc2V7cD1sO3E9MDticmVh
ayBMMjY1Mn19fXdoaWxlKDApO2lmKChtfDApPT0yMjA3KXttPTA7aWYoaCl7cD0wO3E9MTticmVh
a31lbHNle249MDtvPTF9fWw9Y1tqPj4yXXwwO3I9Y1tsKzEyPj4yXXwwO2lmKChyfDApPT0oY1ts
KzE2Pj4yXXwwKSl7cz0oYjBbY1soY1tsPj4yXXwwKSszNj4+Ml0mMTI3XShsKXwwKSYyNTV9ZWxz
ZXtzPWFbcl18MH1pZihzPDwyND4+MjQ8PS0xKXtwPW47cT1vO2JyZWFrfWlmKChiWyhjW2Y+PjJd
fDApKyhzPDwyND4+MjQ8PDEpPj4xXSY4MTkyKT09MCl7cD1uO3E9bzticmVha31yPWNbaj4+Ml18
MDtsPXIrMTJ8MDt0PWNbbD4+Ml18MDtpZigodHwwKT09KGNbcisxNj4+Ml18MCkpe3U9Y1soY1ty
Pj4yXXwwKSs0MD4+Ml18MDtiMFt1JjEyN10ocil8MDtjb250aW51ZX1lbHNle2NbbD4+Ml09dCsx
O2NvbnRpbnVlfX1vPWNbaj4+Ml18MDtkb3tpZigob3wwKT09MCl7dj0wfWVsc2V7aWYoKGNbbysx
Mj4+Ml18MCkhPShjW28rMTY+PjJdfDApKXt2PW87YnJlYWt9aWYoKGIwW2NbKGNbbz4+Ml18MCkr
MzY+PjJdJjEyN10obyl8MCk9PS0xKXtjW2o+PjJdPTA7dj0wO2JyZWFrfWVsc2V7dj1jW2o+PjJd
fDA7YnJlYWt9fX13aGlsZSgwKTtqPSh2fDApPT0wO2Rve2lmKHEpe209MjIyNn1lbHNle2lmKChj
W3ArMTI+PjJdfDApIT0oY1twKzE2Pj4yXXwwKSl7aWYoIShqXihwfDApPT0wKSl7YnJlYWt9aT1k
O3JldHVybn1pZigoYjBbY1soY1twPj4yXXwwKSszNj4+Ml0mMTI3XShwKXwwKT09LTEpe2NbZT4+
Ml09MDttPTIyMjY7YnJlYWt9aWYoIWope2JyZWFrfWk9ZDtyZXR1cm59fXdoaWxlKDApO2Rve2lm
KChtfDApPT0yMjI2KXtpZihqKXticmVha31pPWQ7cmV0dXJufX13aGlsZSgwKTtjW2c+PjJdPWNb
Zz4+Ml18MjtpPWQ7cmV0dXJufWZ1bmN0aW9uIGdJKGIsZCxlLGYsZyxoLGosayxsKXtiPWJ8MDtk
PWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDtsPWx8MDt2YXIgbT0wLG49
MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0w
LEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAs
UT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9MCxZPTAsWj0wLF89MCwkPTAsYWE9MCxhYj0w
LGFjPTAsYWQ9MCxhZT0wLGFmPTAsYWc9MCxhaD0wLGFpPTAsYWo9MCxhaz0wLGFsPTAsYW09MDts
PWk7aT1pKzMyOHwwO209ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNbbT4+Ml07
bT1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1ttPj4yXTttPWx8MDtuPWwrOHww
O289bCsxNnwwO3A9bCsyNHwwO3E9bCszMnwwO3I9bCs0MHwwO3M9bCs0OHwwO3Q9bCs1NnwwO3U9
bCs2NHwwO3Y9bCs3MnwwO3c9bCs4MHwwO3g9bCs4OHwwO3k9bCs5NnwwO3o9bCsxMTJ8MDtBPWwr
MTIwfDA7Qj1sKzEyOHwwO0M9bCsxMzZ8MDtEPWwrMTQ0fDA7RT1sKzE1MnwwO0Y9bCsxNjB8MDtH
PWwrMTY4fDA7SD1sKzE3NnwwO0k9bCsxODR8MDtKPWwrMTkyfDA7Sz1sKzIwMHwwO0w9bCsyMDh8
MDtNPWwrMjE2fDA7Tj1sKzIyNHwwO089bCsyMzJ8MDtQPWwrMjQwfDA7UT1sKzI0OHwwO1I9bCsy
NTZ8MDtTPWwrMjY0fDA7VD1sKzI3MnwwO1U9bCsyODB8MDtWPWwrMjg4fDA7Vz1sKzI5NnwwO1g9
bCszMDR8MDtZPWwrMzEyfDA7Wj1sKzMyMHwwO2NbaD4+Ml09MDtlaih6LGcpO189enwwO3o9Y1tf
Pj4yXXwwO2lmKChjWzM5MjRdfDApIT0tMSl7Y1t5Pj4yXT0xNTY5NjtjW3krND4+Ml09MTI7Y1t5
Kzg+PjJdPTA7ZFcoMTU2OTYseSw5Nil9eT0oY1szOTI1XXwwKS0xfDA7JD1jW3orOD4+Ml18MDtk
b3tpZigoY1t6KzEyPj4yXXwwKS0kPj4yPj4+MD55Pj4+MCl7YWE9Y1skKyh5PDwyKT4+Ml18MDtp
ZigoYWF8MCk9PTApe2JyZWFrfWFiPWFhO2FhPWNbXz4+Ml18MDtkeihhYSl8MDtMMjcwOTpkb3tz
d2l0Y2goazw8MjQ+PjI0fDApe2Nhc2UgNzI6e2NbdT4+Ml09Y1tmPj4yXTthYT1nTChlLHUsaCxh
YiwyKXwwO2FjPWNbaD4+Ml18MDtpZigoYWMmNHwwKT09MCYoYWF8MCk8MjQpe2Nbais4Pj4yXT1h
YTticmVhayBMMjcwOX1lbHNle2NbaD4+Ml09YWN8NDticmVhayBMMjcwOX1icmVha307Y2FzZSA5
NzpjYXNlIDY1OnthYz1jW2Y+PjJdfDA7YWE9ZCs4fDA7YWQ9YjBbY1tjW2FhPj4yXT4+Ml0mMTI3
XShhYSl8MDtjW3g+PjJdPWFjO2FjPShmcShlLHgsYWQsYWQrMTY4fDAsYWIsaCwwKXwwKS1hZHww
O2lmKChhY3wwKT49MTY4KXticmVhayBMMjcwOX1jW2orMjQ+PjJdPSgoYWN8MCkvMTJ8MHwwKSU3
fDA7YnJlYWt9O2Nhc2UgMTA5OntjW3I+PjJdPWNbZj4+Ml07YWM9KGdMKGUscixoLGFiLDIpfDAp
LTF8MDthZD1jW2g+PjJdfDA7aWYoKGFkJjR8MCk9PTAmKGFjfDApPDEyKXtjW2orMTY+PjJdPWFj
O2JyZWFrIEwyNzA5fWVsc2V7Y1toPj4yXT1hZHw0O2JyZWFrIEwyNzA5fWJyZWFrfTtjYXNlIDEy
MTp7Y1tuPj4yXT1jW2Y+PjJdO2FkPWdMKGUsbixoLGFiLDQpfDA7aWYoKGNbaD4+Ml0mNHwwKSE9
MCl7YnJlYWsgTDI3MDl9aWYoKGFkfDApPDY5KXthZT1hZCsyZTN8MH1lbHNle2FlPShhZC02OXww
KT4+PjA8MzE/YWQrMTkwMHwwOmFkfWNbaisyMD4+Ml09YWUtMTkwMDticmVha307Y2FzZSA5ODpj
YXNlIDY2OmNhc2UgMTA0OnthZD1jW2Y+PjJdfDA7YWM9ZCs4fDA7YWE9YjBbY1soY1thYz4+Ml18
MCkrND4+Ml0mMTI3XShhYyl8MDtjW3c+PjJdPWFkO2FkPShmcShlLHcsYWEsYWErMjg4fDAsYWIs
aCwwKXwwKS1hYXwwO2lmKChhZHwwKT49Mjg4KXticmVhayBMMjcwOX1jW2orMTY+PjJdPSgoYWR8
MCkvMTJ8MHwwKSUxMnwwO2JyZWFrfTtjYXNlIDczOnthZD1qKzh8MDtjW3Q+PjJdPWNbZj4+Ml07
YWE9Z0woZSx0LGgsYWIsMil8MDthYz1jW2g+PjJdfDA7ZG97aWYoKGFjJjR8MCk9PTApe2lmKChh
YS0xfDApPj4+MD49MTIpe2JyZWFrfWNbYWQ+PjJdPWFhO2JyZWFrIEwyNzA5fX13aGlsZSgwKTtj
W2g+PjJdPWFjfDQ7YnJlYWt9O2Nhc2UgMTA2OntjW3M+PjJdPWNbZj4+Ml07YWE9Z0woZSxzLGgs
YWIsMyl8MDthZD1jW2g+PjJdfDA7aWYoKGFkJjR8MCk9PTAmKGFhfDApPDM2Nil7Y1tqKzI4Pj4y
XT1hYTticmVhayBMMjcwOX1lbHNle2NbaD4+Ml09YWR8NDticmVhayBMMjcwOX1icmVha307Y2Fz
ZSA2ODp7YWQ9ZXwwO2NbRT4+Ml09Y1thZD4+Ml07Y1tGPj4yXT1jW2Y+PjJdO2dEKEQsZCxFLEYs
ZyxoLGosMjM2OCwyMzc2KTtjW2FkPj4yXT1jW0Q+PjJdO2JyZWFrfTtjYXNlIDg0OnthZD1lfDA7
Y1tTPj4yXT1jW2FkPj4yXTtjW1Q+PjJdPWNbZj4+Ml07Z0QoUixkLFMsVCxnLGgsaiwyMzI4LDIz
MzYpO2NbYWQ+PjJdPWNbUj4+Ml07YnJlYWt9O2Nhc2UgMTE5OntjW28+PjJdPWNbZj4+Ml07YWQ9
Z0woZSxvLGgsYWIsMSl8MDthYT1jW2g+PjJdfDA7aWYoKGFhJjR8MCk9PTAmKGFkfDApPDcpe2Nb
aisyND4+Ml09YWQ7YnJlYWsgTDI3MDl9ZWxzZXtjW2g+PjJdPWFhfDQ7YnJlYWsgTDI3MDl9YnJl
YWt9O2Nhc2UgNzA6e2FhPWV8MDtjW0g+PjJdPWNbYWE+PjJdO2NbST4+Ml09Y1tmPj4yXTtnRChH
LGQsSCxJLGcsaCxqLDIzNjAsMjM2OCk7Y1thYT4+Ml09Y1tHPj4yXTticmVha307Y2FzZSA4OTp7
Y1ttPj4yXT1jW2Y+PjJdO2FhPWdMKGUsbSxoLGFiLDQpfDA7aWYoKGNbaD4+Ml0mNHwwKSE9MCl7
YnJlYWsgTDI3MDl9Y1tqKzIwPj4yXT1hYS0xOTAwO2JyZWFrfTtjYXNlIDM3OntjW1o+PjJdPWNb
Zj4+Ml07Z0soMCxlLFosaCxhYik7YnJlYWt9O2Nhc2UgMTE0OnthYT1lfDA7Y1tNPj4yXT1jW2Fh
Pj4yXTtjW04+PjJdPWNbZj4+Ml07Z0QoTCxkLE0sTixnLGgsaiwyMzQ0LDIzNTUpO2NbYWE+PjJd
PWNbTD4+Ml07YnJlYWt9O2Nhc2UgODI6e2FhPWV8MDtjW1A+PjJdPWNbYWE+PjJdO2NbUT4+Ml09
Y1tmPj4yXTtnRChPLGQsUCxRLGcsaCxqLDIzMzYsMjM0MSk7Y1thYT4+Ml09Y1tPPj4yXTticmVh
a307Y2FzZSA5OTp7YWE9ZCs4fDA7YWQ9YjBbY1soY1thYT4+Ml18MCkrMTI+PjJdJjEyN10oYWEp
fDA7YWE9ZXwwO2NbQj4+Ml09Y1thYT4+Ml07Y1tDPj4yXT1jW2Y+PjJdO2FmPWFkO2FnPWFbYWRd
fDA7aWYoKGFnJjEpPT0wKXthaD1hZisxfDA7YWk9YWYrMXwwfWVsc2V7YWY9Y1thZCs4Pj4yXXww
O2FoPWFmO2FpPWFmfWFmPWFnJjI1NTtpZigoYWYmMXwwKT09MCl7YWo9YWY+Pj4xfWVsc2V7YWo9
Y1thZCs0Pj4yXXwwfWdEKEEsZCxCLEMsZyxoLGosYWksYWgrYWp8MCk7Y1thYT4+Ml09Y1tBPj4y
XTticmVha307Y2FzZSA4Mzp7Y1twPj4yXT1jW2Y+PjJdO2FhPWdMKGUscCxoLGFiLDIpfDA7YWQ9
Y1toPj4yXXwwO2lmKChhZCY0fDApPT0wJihhYXwwKTw2MSl7Y1tqPj4yXT1hYTticmVhayBMMjcw
OX1lbHNle2NbaD4+Ml09YWR8NDticmVhayBMMjcwOX1icmVha307Y2FzZSA3Nzp7Y1txPj4yXT1j
W2Y+PjJdO2FkPWdMKGUscSxoLGFiLDIpfDA7YWE9Y1toPj4yXXwwO2lmKChhYSY0fDApPT0wJihh
ZHwwKTw2MCl7Y1tqKzQ+PjJdPWFkO2JyZWFrIEwyNzA5fWVsc2V7Y1toPj4yXT1hYXw0O2JyZWFr
IEwyNzA5fWJyZWFrfTtjYXNlIDExMDpjYXNlIDExNjp7Y1tKPj4yXT1jW2Y+PjJdO2dIKDAsZSxK
LGgsYWIpO2JyZWFrfTtjYXNlIDExMjp7Y1tLPj4yXT1jW2Y+PjJdO2dKKGQsais4fDAsZSxLLGgs
YWIpO2JyZWFrfTtjYXNlIDEyMDp7YWE9Y1soY1tkPj4yXXwwKSsyMD4+Ml18MDtjW1U+PjJdPWNb
ZT4+Ml07Y1tWPj4yXT1jW2Y+PjJdO2JYW2FhJjEyN10oYixkLFUsVixnLGgsaik7aT1sO3JldHVy
bn07Y2FzZSA4ODp7YWE9ZCs4fDA7YWQ9YjBbY1soY1thYT4+Ml18MCkrMjQ+PjJdJjEyN10oYWEp
fDA7YWE9ZXwwO2NbWD4+Ml09Y1thYT4+Ml07Y1tZPj4yXT1jW2Y+PjJdO2FmPWFkO2FnPWFbYWRd
fDA7aWYoKGFnJjEpPT0wKXthaz1hZisxfDA7YWw9YWYrMXwwfWVsc2V7YWY9Y1thZCs4Pj4yXXww
O2FrPWFmO2FsPWFmfWFmPWFnJjI1NTtpZigoYWYmMXwwKT09MCl7YW09YWY+Pj4xfWVsc2V7YW09
Y1thZCs0Pj4yXXwwfWdEKFcsZCxYLFksZyxoLGosYWwsYWsrYW18MCk7Y1thYT4+Ml09Y1tXPj4y
XTticmVha307Y2FzZSAxMDA6Y2FzZSAxMDE6e2FhPWorMTJ8MDtjW3Y+PjJdPWNbZj4+Ml07YWQ9
Z0woZSx2LGgsYWIsMil8MDthZj1jW2g+PjJdfDA7ZG97aWYoKGFmJjR8MCk9PTApe2lmKChhZC0x
fDApPj4+MD49MzEpe2JyZWFrfWNbYWE+PjJdPWFkO2JyZWFrIEwyNzA5fX13aGlsZSgwKTtjW2g+
PjJdPWFmfDQ7YnJlYWt9O2RlZmF1bHQ6e2NbaD4+Ml09Y1toPj4yXXw0fX19d2hpbGUoMCk7Y1ti
Pj4yXT1jW2U+PjJdO2k9bDtyZXR1cm59fXdoaWxlKDApO2w9Yk8oNCl8MDtrcShsKTtibChsfDAs
ODE3NiwxMzQpfWZ1bmN0aW9uIGdKKGEsYixlLGYsZyxoKXthPWF8MDtiPWJ8MDtlPWV8MDtmPWZ8
MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MDtqPWk7aT1pKzh8MDtrPWY7Zj1p
O2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2s+PjJdO2s9anwwO2w9YSs4fDA7YT1iMFtj
WyhjW2w+PjJdfDApKzg+PjJdJjEyN10obCl8MDtsPWRbYV18MDtpZigobCYxfDApPT0wKXttPWw+
Pj4xfWVsc2V7bT1jW2ErND4+Ml18MH1sPWRbYSsxMnwwXXwwO2lmKChsJjF8MCk9PTApe249bD4+
PjF9ZWxzZXtuPWNbYSsxNj4+Ml18MH1pZigobXwwKT09KC1ufDApKXtjW2c+PjJdPWNbZz4+Ml18
NDtpPWo7cmV0dXJufWNbaz4+Ml09Y1tmPj4yXTtmPWZxKGUsayxhLGErMjR8MCxoLGcsMCl8MDtn
PWYtYXwwO2Rve2lmKChmfDApPT0oYXwwKSl7aWYoKGNbYj4+Ml18MCkhPTEyKXticmVha31jW2I+
PjJdPTA7aT1qO3JldHVybn19d2hpbGUoMCk7aWYoKGd8MCkhPTEyKXtpPWo7cmV0dXJufWc9Y1ti
Pj4yXXwwO2lmKChnfDApPj0xMil7aT1qO3JldHVybn1jW2I+PjJdPWcrMTI7aT1qO3JldHVybn1m
dW5jdGlvbiBnSyhiLGQsZSxmLGcpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO3ZhciBo
PTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7Yj1pO2g9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8
MztjW2U+PjJdPWNbaD4+Ml07aD1kfDA7ZD1jW2g+PjJdfDA7ZG97aWYoKGR8MCk9PTApe2o9MH1l
bHNle2lmKChjW2QrMTI+PjJdfDApIT0oY1tkKzE2Pj4yXXwwKSl7aj1kO2JyZWFrfWlmKChiMFtj
WyhjW2Q+PjJdfDApKzM2Pj4yXSYxMjddKGQpfDApPT0tMSl7Y1toPj4yXT0wO2o9MDticmVha31l
bHNle2o9Y1toPj4yXXwwO2JyZWFrfX19d2hpbGUoMCk7ZD0oanwwKT09MDtqPWV8MDtlPWNbaj4+
Ml18MDtMMjgyMjpkb3tpZigoZXwwKT09MCl7az0yMzM3fWVsc2V7ZG97aWYoKGNbZSsxMj4+Ml18
MCk9PShjW2UrMTY+PjJdfDApKXtpZigoYjBbY1soY1tlPj4yXXwwKSszNj4+Ml0mMTI3XShlKXww
KSE9LTEpe2JyZWFrfWNbaj4+Ml09MDtrPTIzMzc7YnJlYWsgTDI4MjJ9fXdoaWxlKDApO2lmKGQp
e2w9ZTttPTB9ZWxzZXtrPTIzMzh9fX13aGlsZSgwKTtpZigoa3wwKT09MjMzNyl7aWYoZCl7az0y
MzM4fWVsc2V7bD0wO209MX19aWYoKGt8MCk9PTIzMzgpe2NbZj4+Ml09Y1tmPj4yXXw2O2k9Yjty
ZXR1cm59ZD1jW2g+PjJdfDA7ZT1jW2QrMTI+PjJdfDA7aWYoKGV8MCk9PShjW2QrMTY+PjJdfDAp
KXtuPShiMFtjWyhjW2Q+PjJdfDApKzM2Pj4yXSYxMjddKGQpfDApJjI1NX1lbHNle249YVtlXXww
fWlmKChiMVtjWyhjW2c+PjJdfDApKzM2Pj4yXSY2M10oZyxuLDApfDApPDwyND4+MjQhPTM3KXtj
W2Y+PjJdPWNbZj4+Ml18NDtpPWI7cmV0dXJufW49Y1toPj4yXXwwO2c9bisxMnwwO2U9Y1tnPj4y
XXwwO2lmKChlfDApPT0oY1tuKzE2Pj4yXXwwKSl7ZD1jWyhjW24+PjJdfDApKzQwPj4yXXwwO2Iw
W2QmMTI3XShuKXwwfWVsc2V7Y1tnPj4yXT1lKzF9ZT1jW2g+PjJdfDA7ZG97aWYoKGV8MCk9PTAp
e289MH1lbHNle2lmKChjW2UrMTI+PjJdfDApIT0oY1tlKzE2Pj4yXXwwKSl7bz1lO2JyZWFrfWlm
KChiMFtjWyhjW2U+PjJdfDApKzM2Pj4yXSYxMjddKGUpfDApPT0tMSl7Y1toPj4yXT0wO289MDti
cmVha31lbHNle289Y1toPj4yXXwwO2JyZWFrfX19d2hpbGUoMCk7aD0ob3wwKT09MDtkb3tpZiht
KXtrPTIzNTd9ZWxzZXtpZigoY1tsKzEyPj4yXXwwKSE9KGNbbCsxNj4+Ml18MCkpe2lmKCEoaF4o
bHwwKT09MCkpe2JyZWFrfWk9YjtyZXR1cm59aWYoKGIwW2NbKGNbbD4+Ml18MCkrMzY+PjJdJjEy
N10obCl8MCk9PS0xKXtjW2o+PjJdPTA7az0yMzU3O2JyZWFrfWlmKCFoKXticmVha31pPWI7cmV0
dXJufX13aGlsZSgwKTtkb3tpZigoa3wwKT09MjM1Nyl7aWYoaCl7YnJlYWt9aT1iO3JldHVybn19
d2hpbGUoMCk7Y1tmPj4yXT1jW2Y+PjJdfDI7aT1iO3JldHVybn1mdW5jdGlvbiBnTChkLGUsZixn
LGgpe2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTAsbj0w
LG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAs
Qz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTA7aj1pO2s9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8Mztj
W2U+PjJdPWNbaz4+Ml07az1kfDA7ZD1jW2s+PjJdfDA7ZG97aWYoKGR8MCk9PTApe2w9MH1lbHNl
e2lmKChjW2QrMTI+PjJdfDApIT0oY1tkKzE2Pj4yXXwwKSl7bD1kO2JyZWFrfWlmKChiMFtjWyhj
W2Q+PjJdfDApKzM2Pj4yXSYxMjddKGQpfDApPT0tMSl7Y1trPj4yXT0wO2w9MDticmVha31lbHNl
e2w9Y1trPj4yXXwwO2JyZWFrfX19d2hpbGUoMCk7ZD0obHwwKT09MDtsPWV8MDtlPWNbbD4+Ml18
MDtMMjg3Njpkb3tpZigoZXwwKT09MCl7bT0yMzc3fWVsc2V7ZG97aWYoKGNbZSsxMj4+Ml18MCk9
PShjW2UrMTY+PjJdfDApKXtpZigoYjBbY1soY1tlPj4yXXwwKSszNj4+Ml0mMTI3XShlKXwwKSE9
LTEpe2JyZWFrfWNbbD4+Ml09MDttPTIzNzc7YnJlYWsgTDI4NzZ9fXdoaWxlKDApO2lmKGQpe249
ZX1lbHNle209MjM3OH19fXdoaWxlKDApO2lmKChtfDApPT0yMzc3KXtpZihkKXttPTIzNzh9ZWxz
ZXtuPTB9fWlmKChtfDApPT0yMzc4KXtjW2Y+PjJdPWNbZj4+Ml18NjtvPTA7aT1qO3JldHVybiBv
fDB9ZD1jW2s+PjJdfDA7ZT1jW2QrMTI+PjJdfDA7aWYoKGV8MCk9PShjW2QrMTY+PjJdfDApKXtw
PShiMFtjWyhjW2Q+PjJdfDApKzM2Pj4yXSYxMjddKGQpfDApJjI1NX1lbHNle3A9YVtlXXwwfWRv
e2lmKHA8PDI0Pj4yND4tMSl7ZT1nKzh8MDtpZigoYlsoY1tlPj4yXXwwKSsocDw8MjQ+PjI0PDwx
KT4+MV0mMjA0OCk9PTApe2JyZWFrfWQ9ZztxPShiMVtjWyhjW2Q+PjJdfDApKzM2Pj4yXSY2M10o
ZyxwLDApfDApPDwyND4+MjQ7cj1jW2s+PjJdfDA7cz1yKzEyfDA7dD1jW3M+PjJdfDA7aWYoKHR8
MCk9PShjW3IrMTY+PjJdfDApKXt1PWNbKGNbcj4+Ml18MCkrNDA+PjJdfDA7YjBbdSYxMjddKHIp
fDA7dj1xO3c9aDt4PW59ZWxzZXtjW3M+PjJdPXQrMTt2PXE7dz1oO3g9bn13aGlsZSgxKXt5PXYt
NDh8MDtxPXctMXwwO3Q9Y1trPj4yXXwwO2Rve2lmKCh0fDApPT0wKXt6PTB9ZWxzZXtpZigoY1t0
KzEyPj4yXXwwKSE9KGNbdCsxNj4+Ml18MCkpe3o9dDticmVha31pZigoYjBbY1soY1t0Pj4yXXww
KSszNj4+Ml0mMTI3XSh0KXwwKT09LTEpe2Nbaz4+Ml09MDt6PTA7YnJlYWt9ZWxzZXt6PWNbaz4+
Ml18MDticmVha319fXdoaWxlKDApO3Q9KHp8MCk9PTA7aWYoKHh8MCk9PTApe0E9ejtCPTB9ZWxz
ZXtkb3tpZigoY1t4KzEyPj4yXXwwKT09KGNbeCsxNj4+Ml18MCkpe2lmKChiMFtjWyhjW3g+PjJd
fDApKzM2Pj4yXSYxMjddKHgpfDApIT0tMSl7Qz14O2JyZWFrfWNbbD4+Ml09MDtDPTB9ZWxzZXtD
PXh9fXdoaWxlKDApO0E9Y1trPj4yXXwwO0I9Q31EPShCfDApPT0wO2lmKCEoKHReRCkmKHF8MCk+
MCkpe209MjQwNzticmVha31zPWNbQSsxMj4+Ml18MDtpZigoc3wwKT09KGNbQSsxNj4+Ml18MCkp
e0U9KGIwW2NbKGNbQT4+Ml18MCkrMzY+PjJdJjEyN10oQSl8MCkmMjU1fWVsc2V7RT1hW3NdfDB9
aWYoRTw8MjQ+PjI0PD0tMSl7bz15O209MjQyMjticmVha31pZigoYlsoY1tlPj4yXXwwKSsoRTw8
MjQ+PjI0PDwxKT4+MV0mMjA0OCk9PTApe289eTttPTI0MjM7YnJlYWt9cz0oKGIxW2NbKGNbZD4+
Ml18MCkrMzY+PjJdJjYzXShnLEUsMCl8MCk8PDI0Pj4yNCkrKHkqMTB8MCl8MDtyPWNbaz4+Ml18
MDt1PXIrMTJ8MDtGPWNbdT4+Ml18MDtpZigoRnwwKT09KGNbcisxNj4+Ml18MCkpe0c9Y1soY1ty
Pj4yXXwwKSs0MD4+Ml18MDtiMFtHJjEyN10ocil8MDt2PXM7dz1xO3g9Qjtjb250aW51ZX1lbHNl
e2NbdT4+Ml09RisxO3Y9czt3PXE7eD1CO2NvbnRpbnVlfX1pZigobXwwKT09MjQwNyl7ZG97aWYo
KEF8MCk9PTApe0g9MH1lbHNle2lmKChjW0ErMTI+PjJdfDApIT0oY1tBKzE2Pj4yXXwwKSl7SD1B
O2JyZWFrfWlmKChiMFtjWyhjW0E+PjJdfDApKzM2Pj4yXSYxMjddKEEpfDApPT0tMSl7Y1trPj4y
XT0wO0g9MDticmVha31lbHNle0g9Y1trPj4yXXwwO2JyZWFrfX19d2hpbGUoMCk7ZD0oSHwwKT09
MDtMMjkzMzpkb3tpZihEKXttPTI0MTd9ZWxzZXtkb3tpZigoY1tCKzEyPj4yXXwwKT09KGNbQisx
Nj4+Ml18MCkpe2lmKChiMFtjWyhjW0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDApIT0tMSl7YnJl
YWt9Y1tsPj4yXT0wO209MjQxNzticmVhayBMMjkzM319d2hpbGUoMCk7aWYoZCl7bz15fWVsc2V7
YnJlYWt9aT1qO3JldHVybiBvfDB9fXdoaWxlKDApO2Rve2lmKChtfDApPT0yNDE3KXtpZihkKXti
cmVha31lbHNle289eX1pPWo7cmV0dXJuIG98MH19d2hpbGUoMCk7Y1tmPj4yXT1jW2Y+PjJdfDI7
bz15O2k9ajtyZXR1cm4gb3wwfWVsc2UgaWYoKG18MCk9PTI0MjIpe2k9ajtyZXR1cm4gb3wwfWVs
c2UgaWYoKG18MCk9PTI0MjMpe2k9ajtyZXR1cm4gb3wwfX19d2hpbGUoMCk7Y1tmPj4yXT1jW2Y+
PjJdfDQ7bz0wO2k9ajtyZXR1cm4gb3wwfWZ1bmN0aW9uIGdNKGEpe2E9YXwwO3JldHVybiAyfWZ1
bmN0aW9uIGdOKGEpe2E9YXwwO2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGdPKGEpe2E9
YXwwO2RlKGF8MCk7cmV0dXJufWZ1bmN0aW9uIGdQKGEsYixkLGUsZixnLGgpe2E9YXwwO2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MDtqPWk7aT1pKzE2
fDA7az1kO2Q9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZD4+Ml09Y1trPj4yXTtrPWU7ZT1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW2s+PjJdO2s9anwwO2w9ais4fDA7Y1trPj4yXT1j
W2Q+PjJdO2NbbD4+Ml09Y1tlPj4yXTtnUihhLGIsayxsLGYsZyxoLDIyOTYsMjMyOCk7aT1qO3Jl
dHVybn1mdW5jdGlvbiBnUShiLGQsZSxmLGcsaCxqKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtn
PWd8MDtoPWh8MDtqPWp8MDt2YXIgaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MDtrPWk7
aT1pKzE2fDA7bD1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1tsPj4yXTtsPWY7
Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9a3wwO209ays4fDA7bj1k
Kzh8MDtvPWIwW2NbKGNbbj4+Ml18MCkrMjA+PjJdJjEyN10obil8MDtjW2w+PjJdPWNbZT4+Ml07
Y1ttPj4yXT1jW2Y+PjJdO2Y9YVtvXXwwO2lmKChmJjEpPT0wKXtwPW8rNHwwO3E9bys0fDB9ZWxz
ZXtlPWNbbys4Pj4yXXwwO3A9ZTtxPWV9ZT1mJjI1NTtpZigoZSYxfDApPT0wKXtyPWU+Pj4xfWVs
c2V7cj1jW28rND4+Ml18MH1nUihiLGQsbCxtLGcsaCxqLHEscCsocjw8Mil8MCk7aT1rO3JldHVy
bn1mdW5jdGlvbiBnUihhLGIsZCxlLGYsZyxoLGosayl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7
Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxtPTAsbj0wLG89MCxwPTAscT0w
LHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAs
Rj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxU
PTAsVT0wLFY9MCxXPTAsWD0wLFk9MCxaPTAsXz0wLCQ9MCxhYT0wLGFiPTAsYWM9MCxhZD0wLGFl
PTAsYWY9MCxhZz0wO2w9aTtpPWkrNDh8MDttPWQ7ZD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tk
Pj4yXT1jW20+PjJdO209ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNbbT4+Ml07
bT1sfDA7bj1sKzE2fDA7bz1sKzI0fDA7cD1sKzMyfDA7cT1sKzQwfDA7ZWoobixmKTtyPW58MDtu
PWNbcj4+Ml18MDtpZigoY1szOTIyXXwwKSE9LTEpe2NbbT4+Ml09MTU2ODg7Y1ttKzQ+PjJdPTEy
O2NbbSs4Pj4yXT0wO2RXKDE1Njg4LG0sOTYpfW09KGNbMzkyM118MCktMXwwO3M9Y1tuKzg+PjJd
fDA7ZG97aWYoKGNbbisxMj4+Ml18MCktcz4+Mj4+PjA+bT4+PjApe3Q9Y1tzKyhtPDwyKT4+Ml18
MDtpZigodHwwKT09MCl7YnJlYWt9dT10O3Y9Y1tyPj4yXXwwO2R6KHYpfDA7Y1tnPj4yXT0wO3Y9
ZHwwO0wyOTY5OmRve2lmKChqfDApPT0oa3wwKSl7dz0yNTA4fWVsc2V7eD1lfDA7eT10O3o9dDtB
PXQ7Qj1iO0M9cHwwO0Q9cXwwO0U9b3wwO0Y9ajtHPTA7TDI5NzE6d2hpbGUoMSl7SD1HO3doaWxl
KDEpe2lmKChIfDApIT0wKXt3PTI1MDg7YnJlYWsgTDI5Njl9ST1jW3Y+PjJdfDA7ZG97aWYoKEl8
MCk9PTApe0o9MH1lbHNle0s9Y1tJKzEyPj4yXXwwO2lmKChLfDApPT0oY1tJKzE2Pj4yXXwwKSl7
TD1iMFtjWyhjW0k+PjJdfDApKzM2Pj4yXSYxMjddKEkpfDB9ZWxzZXtMPWNbSz4+Ml18MH1pZigo
THwwKSE9LTEpe0o9STticmVha31jW3Y+PjJdPTA7Sj0wfX13aGlsZSgwKTtJPShKfDApPT0wO0s9
Y1t4Pj4yXXwwO2Rve2lmKChLfDApPT0wKXt3PTI0NjB9ZWxzZXtNPWNbSysxMj4+Ml18MDtpZigo
TXwwKT09KGNbSysxNj4+Ml18MCkpe049YjBbY1soY1tLPj4yXXwwKSszNj4+Ml0mMTI3XShLKXww
fWVsc2V7Tj1jW00+PjJdfDB9aWYoKE58MCk9PS0xKXtjW3g+PjJdPTA7dz0yNDYwO2JyZWFrfWVs
c2V7aWYoSV4oS3wwKT09MCl7Tz1LO2JyZWFrfWVsc2V7dz0yNDYyO2JyZWFrIEwyOTcxfX19fXdo
aWxlKDApO2lmKCh3fDApPT0yNDYwKXt3PTA7aWYoSSl7dz0yNDYyO2JyZWFrIEwyOTcxfWVsc2V7
Tz0wfX1pZigoYjFbY1soY1t5Pj4yXXwwKSs1Mj4+Ml0mNjNdKHUsY1tGPj4yXXwwLDApfDApPDwy
ND4+MjQ9PTM3KXt3PTI0NjU7YnJlYWt9aWYoYjFbY1soY1t6Pj4yXXwwKSsxMj4+Ml0mNjNdKHUs
ODE5MixjW0Y+PjJdfDApfDApe1A9Rjt3PTI0NzU7YnJlYWt9UT1KKzEyfDA7Sz1jW1E+PjJdfDA7
Uj1KKzE2fDA7aWYoKEt8MCk9PShjW1I+PjJdfDApKXtTPWIwW2NbKGNbSj4+Ml18MCkrMzY+PjJd
JjEyN10oSil8MH1lbHNle1M9Y1tLPj4yXXwwfUs9Yl9bY1soY1tBPj4yXXwwKSsyOD4+Ml0mMzFd
KHUsUyl8MDtpZigoS3wwKT09KGJfW2NbKGNbQT4+Ml18MCkrMjg+PjJdJjMxXSh1LGNbRj4+Ml18
MCl8MCkpe3c9MjUwMzticmVha31jW2c+PjJdPTQ7SD00fUwzMDAzOmRve2lmKCh3fDApPT0yNTAz
KXt3PTA7SD1jW1E+PjJdfDA7aWYoKEh8MCk9PShjW1I+PjJdfDApKXtLPWNbKGNbSj4+Ml18MCkr
NDA+PjJdfDA7YjBbSyYxMjddKEopfDB9ZWxzZXtjW1E+PjJdPUgrNH1UPUYrNHwwfWVsc2UgaWYo
KHd8MCk9PTI0NjUpe3c9MDtIPUYrNHwwO2lmKChIfDApPT0oa3wwKSl7dz0yNDY2O2JyZWFrIEwy
OTcxfUs9YjFbY1soY1t5Pj4yXXwwKSs1Mj4+Ml0mNjNdKHUsY1tIPj4yXXwwLDApfDA7c3dpdGNo
KEs8PDI0Pj4yNCl7Y2FzZSA2OTpjYXNlIDQ4OntNPUYrOHwwO2lmKChNfDApPT0oa3wwKSl7dz0y
NDY5O2JyZWFrIEwyOTcxfVU9SztWPWIxW2NbKGNbeT4+Ml18MCkrNTI+PjJdJjYzXSh1LGNbTT4+
Ml18MCwwKXwwO1c9TTticmVha307ZGVmYXVsdDp7VT0wO1Y9SztXPUh9fUg9Y1soY1tCPj4yXXww
KSszNj4+Ml18MDtjW0M+PjJdPUo7Y1tEPj4yXT1PO2I3W0gmN10obyxiLHAscSxmLGcsaCxWLFUp
O2Nbdj4+Ml09Y1tFPj4yXTtUPVcrNHwwfWVsc2UgaWYoKHd8MCk9PTI0NzUpe3doaWxlKDEpe3c9
MDtIPVArNHwwO2lmKChIfDApPT0oa3wwKSl7WD1rO2JyZWFrfWlmKGIxW2NbKGNbej4+Ml18MCkr
MTI+PjJdJjYzXSh1LDgxOTIsY1tIPj4yXXwwKXwwKXtQPUg7dz0yNDc1fWVsc2V7WD1IO2JyZWFr
fX1JPUo7SD1PO3doaWxlKDEpe2Rve2lmKChJfDApPT0wKXtZPTB9ZWxzZXtLPWNbSSsxMj4+Ml18
MDtpZigoS3wwKT09KGNbSSsxNj4+Ml18MCkpe1o9YjBbY1soY1tJPj4yXXwwKSszNj4+Ml0mMTI3
XShJKXwwfWVsc2V7Wj1jW0s+PjJdfDB9aWYoKFp8MCkhPS0xKXtZPUk7YnJlYWt9Y1t2Pj4yXT0w
O1k9MH19d2hpbGUoMCk7Sz0oWXwwKT09MDtkb3tpZigoSHwwKT09MCl7dz0yNDkwfWVsc2V7TT1j
W0grMTI+PjJdfDA7aWYoKE18MCk9PShjW0grMTY+PjJdfDApKXtfPWIwW2NbKGNbSD4+Ml18MCkr
MzY+PjJdJjEyN10oSCl8MH1lbHNle189Y1tNPj4yXXwwfWlmKChffDApPT0tMSl7Y1t4Pj4yXT0w
O3c9MjQ5MDticmVha31lbHNle2lmKEteKEh8MCk9PTApeyQ9SDticmVha31lbHNle1Q9WDticmVh
ayBMMzAwM319fX13aGlsZSgwKTtpZigod3wwKT09MjQ5MCl7dz0wO2lmKEspe1Q9WDticmVhayBM
MzAwM31lbHNleyQ9MH19TT1ZKzEyfDA7YWE9Y1tNPj4yXXwwO2FiPVkrMTZ8MDtpZigoYWF8MCk9
PShjW2FiPj4yXXwwKSl7YWM9YjBbY1soY1tZPj4yXXwwKSszNj4+Ml0mMTI3XShZKXwwfWVsc2V7
YWM9Y1thYT4+Ml18MH1pZighKGIxW2NbKGNbej4+Ml18MCkrMTI+PjJdJjYzXSh1LDgxOTIsYWMp
fDApKXtUPVg7YnJlYWsgTDMwMDN9YWE9Y1tNPj4yXXwwO2lmKChhYXwwKT09KGNbYWI+PjJdfDAp
KXthYj1jWyhjW1k+PjJdfDApKzQwPj4yXXwwO2IwW2FiJjEyN10oWSl8MDtJPVk7SD0kO2NvbnRp
bnVlfWVsc2V7Y1tNPj4yXT1hYSs0O0k9WTtIPSQ7Y29udGludWV9fX19d2hpbGUoMCk7aWYoKFR8
MCk9PShrfDApKXt3PTI1MDg7YnJlYWsgTDI5Njl9Rj1UO0c9Y1tnPj4yXXwwfWlmKCh3fDApPT0y
NDYyKXtjW2c+PjJdPTQ7YWQ9SjticmVha31lbHNlIGlmKCh3fDApPT0yNDY2KXtjW2c+PjJdPTQ7
YWQ9SjticmVha31lbHNlIGlmKCh3fDApPT0yNDY5KXtjW2c+PjJdPTQ7YWQ9SjticmVha319fXdo
aWxlKDApO2lmKCh3fDApPT0yNTA4KXthZD1jW3Y+PjJdfDB9dT1kfDA7ZG97aWYoKGFkfDApIT0w
KXt0PWNbYWQrMTI+PjJdfDA7aWYoKHR8MCk9PShjW2FkKzE2Pj4yXXwwKSl7YWU9YjBbY1soY1th
ZD4+Ml18MCkrMzY+PjJdJjEyN10oYWQpfDB9ZWxzZXthZT1jW3Q+PjJdfDB9aWYoKGFlfDApIT0t
MSl7YnJlYWt9Y1t1Pj4yXT0wfX13aGlsZSgwKTt2PWNbdT4+Ml18MDt0PSh2fDApPT0wO0c9ZXww
O0Y9Y1tHPj4yXXwwO2Rve2lmKChGfDApPT0wKXt3PTI1MjF9ZWxzZXt6PWNbRisxMj4+Ml18MDtp
ZigoenwwKT09KGNbRisxNj4+Ml18MCkpe2FmPWIwW2NbKGNbRj4+Ml18MCkrMzY+PjJdJjEyN10o
Ril8MH1lbHNle2FmPWNbej4+Ml18MH1pZigoYWZ8MCk9PS0xKXtjW0c+PjJdPTA7dz0yNTIxO2Jy
ZWFrfWlmKCEodF4oRnwwKT09MCkpe2JyZWFrfWFnPWF8MDtjW2FnPj4yXT12O2k9bDtyZXR1cm59
fXdoaWxlKDApO2Rve2lmKCh3fDApPT0yNTIxKXtpZih0KXticmVha31hZz1hfDA7Y1thZz4+Ml09
djtpPWw7cmV0dXJufX13aGlsZSgwKTtjW2c+PjJdPWNbZz4+Ml18MjthZz1hfDA7Y1thZz4+Ml09
djtpPWw7cmV0dXJufX13aGlsZSgwKTtsPWJPKDQpfDA7a3EobCk7YmwobHwwLDgxNzYsMTM0KX1m
dW5jdGlvbiBnUyhhLGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtn
PWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9
MCx1PTA7aj1pO2k9aSszMnwwO2s9ZDtkPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2Q+PjJdPWNb
az4+Ml07az1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1trPj4yXTtrPWp8MDts
PWorOHwwO209aisyNHwwO2VqKG0sZik7Zj1tfDA7bT1jW2Y+PjJdfDA7aWYoKGNbMzkyMl18MCkh
PS0xKXtjW2w+PjJdPTE1Njg4O2NbbCs0Pj4yXT0xMjtjW2wrOD4+Ml09MDtkVygxNTY4OCxsLDk2
KX1sPShjWzM5MjNdfDApLTF8MDtuPWNbbSs4Pj4yXXwwO2Rve2lmKChjW20rMTI+PjJdfDApLW4+
PjI+Pj4wPmw+Pj4wKXtvPWNbbisobDw8Mik+PjJdfDA7aWYoKG98MCk9PTApe2JyZWFrfXA9bztv
PWNbZj4+Ml18MDtkeihvKXwwO289Y1tlPj4yXXwwO3E9Yis4fDA7cj1iMFtjW2NbcT4+Ml0+PjJd
JjEyN10ocSl8MDtjW2s+PjJdPW87bz0oZlMoZCxrLHIscisxNjh8MCxwLGcsMCl8MCktcnwwO2lm
KChvfDApPj0xNjgpe3M9ZHwwO3Q9Y1tzPj4yXXwwO3U9YXwwO2NbdT4+Ml09dDtpPWo7cmV0dXJu
fWNbaCsyND4+Ml09KChvfDApLzEyfDB8MCklN3wwO3M9ZHwwO3Q9Y1tzPj4yXXwwO3U9YXwwO2Nb
dT4+Ml09dDtpPWo7cmV0dXJufX13aGlsZSgwKTtqPWJPKDQpfDA7a3Eoaik7YmwoanwwLDgxNzYs
MTM0KX1mdW5jdGlvbiBnVChhLGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtm
PWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAs
cz0wLHQ9MCx1PTA7aj1pO2k9aSszMnwwO2s9ZDtkPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2Q+
PjJdPWNbaz4+Ml07az1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1trPj4yXTtr
PWp8MDtsPWorOHwwO209aisyNHwwO2VqKG0sZik7Zj1tfDA7bT1jW2Y+PjJdfDA7aWYoKGNbMzky
Ml18MCkhPS0xKXtjW2w+PjJdPTE1Njg4O2NbbCs0Pj4yXT0xMjtjW2wrOD4+Ml09MDtkVygxNTY4
OCxsLDk2KX1sPShjWzM5MjNdfDApLTF8MDtuPWNbbSs4Pj4yXXwwO2Rve2lmKChjW20rMTI+PjJd
fDApLW4+PjI+Pj4wPmw+Pj4wKXtvPWNbbisobDw8Mik+PjJdfDA7aWYoKG98MCk9PTApe2JyZWFr
fXA9bztvPWNbZj4+Ml18MDtkeihvKXwwO289Y1tlPj4yXXwwO3E9Yis4fDA7cj1iMFtjWyhjW3E+
PjJdfDApKzQ+PjJdJjEyN10ocSl8MDtjW2s+PjJdPW87bz0oZlMoZCxrLHIscisyODh8MCxwLGcs
MCl8MCktcnwwO2lmKChvfDApPj0yODgpe3M9ZHwwO3Q9Y1tzPj4yXXwwO3U9YXwwO2NbdT4+Ml09
dDtpPWo7cmV0dXJufWNbaCsxNj4+Ml09KChvfDApLzEyfDB8MCklMTJ8MDtzPWR8MDt0PWNbcz4+
Ml18MDt1PWF8MDtjW3U+PjJdPXQ7aT1qO3JldHVybn19d2hpbGUoMCk7aj1iTyg0KXwwO2txKGop
O2JsKGp8MCw4MTc2LDEzNCl9ZnVuY3Rpb24gZ1UoYSxiLGQsZSxmLGcsaCl7YT1hfDA7Yj1ifDA7
ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09MCxuPTAsbz0w
LHA9MCxxPTAscj0wLHM9MDtiPWk7aT1pKzMyfDA7aj1kO2Q9aTtpPWkrNHwwO2k9aSs3Pj4zPDwz
O2NbZD4+Ml09Y1tqPj4yXTtqPWU7ZT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW2o+
PjJdO2o9YnwwO2s9Yis4fDA7bD1iKzI0fDA7ZWoobCxmKTtmPWx8MDtsPWNbZj4+Ml18MDtpZigo
Y1szOTIyXXwwKSE9LTEpe2Nbaz4+Ml09MTU2ODg7Y1trKzQ+PjJdPTEyO2Nbays4Pj4yXT0wO2RX
KDE1Njg4LGssOTYpfWs9KGNbMzkyM118MCktMXwwO209Y1tsKzg+PjJdfDA7ZG97aWYoKGNbbCsx
Mj4+Ml18MCktbT4+Mj4+PjA+az4+PjApe249Y1ttKyhrPDwyKT4+Ml18MDtpZigobnwwKT09MCl7
YnJlYWt9bz1uO249Y1tmPj4yXXwwO2R6KG4pfDA7Y1tqPj4yXT1jW2U+PjJdO249aGMoZCxqLGcs
byw0KXwwO2lmKChjW2c+PjJdJjR8MCkhPTApe3A9ZHwwO3E9Y1twPj4yXXwwO3I9YXwwO2Nbcj4+
Ml09cTtpPWI7cmV0dXJufWlmKChufDApPDY5KXtzPW4rMmUzfDB9ZWxzZXtzPShuLTY5fDApPj4+
MDwzMT9uKzE5MDB8MDpufWNbaCsyMD4+Ml09cy0xOTAwO3A9ZHwwO3E9Y1twPj4yXXwwO3I9YXww
O2Nbcj4+Ml09cTtpPWI7cmV0dXJufX13aGlsZSgwKTtiPWJPKDQpfDA7a3EoYik7YmwoYnwwLDgx
NzYsMTM0KX1mdW5jdGlvbiBnVihhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9
ZnwwO3ZhciBnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0
PTAsdT0wLHY9MCx3PTAseD0wO2E9aTtnPWQ7ZD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tkPj4y
XT1jW2c+PjJdO2c9YnwwO2I9ZHwwO2Q9ZjtMMzEyNzp3aGlsZSgxKXtoPWNbZz4+Ml18MDtkb3tp
ZigoaHwwKT09MCl7aj0xfWVsc2V7az1jW2grMTI+PjJdfDA7aWYoKGt8MCk9PShjW2grMTY+PjJd
fDApKXtsPWIwW2NbKGNbaD4+Ml18MCkrMzY+PjJdJjEyN10oaCl8MH1lbHNle2w9Y1trPj4yXXww
fWlmKChsfDApPT0tMSl7Y1tnPj4yXT0wO2o9MTticmVha31lbHNle2o9KGNbZz4+Ml18MCk9PTA7
YnJlYWt9fX13aGlsZSgwKTtoPWNbYj4+Ml18MDtkb3tpZigoaHwwKT09MCl7bT0yNTgxfWVsc2V7
az1jW2grMTI+PjJdfDA7aWYoKGt8MCk9PShjW2grMTY+PjJdfDApKXtuPWIwW2NbKGNbaD4+Ml18
MCkrMzY+PjJdJjEyN10oaCl8MH1lbHNle249Y1trPj4yXXwwfWlmKChufDApPT0tMSl7Y1tiPj4y
XT0wO209MjU4MTticmVha31lbHNle2s9KGh8MCk9PTA7aWYoal5rKXtvPWg7cD1rO2JyZWFrfWVs
c2V7cT1oO3I9azticmVhayBMMzEyN319fX13aGlsZSgwKTtpZigobXwwKT09MjU4MSl7bT0wO2lm
KGope3E9MDtyPTE7YnJlYWt9ZWxzZXtvPTA7cD0xfX1oPWNbZz4+Ml18MDtrPWNbaCsxMj4+Ml18
MDtpZigoa3wwKT09KGNbaCsxNj4+Ml18MCkpe3M9YjBbY1soY1toPj4yXXwwKSszNj4+Ml0mMTI3
XShoKXwwfWVsc2V7cz1jW2s+PjJdfDB9aWYoIShiMVtjWyhjW2Q+PjJdfDApKzEyPj4yXSY2M10o
Ziw4MTkyLHMpfDApKXtxPW87cj1wO2JyZWFrfWs9Y1tnPj4yXXwwO2g9aysxMnwwO3Q9Y1toPj4y
XXwwO2lmKCh0fDApPT0oY1trKzE2Pj4yXXwwKSl7dT1jWyhjW2s+PjJdfDApKzQwPj4yXXwwO2Iw
W3UmMTI3XShrKXwwO2NvbnRpbnVlfWVsc2V7Y1toPj4yXT10KzQ7Y29udGludWV9fXA9Y1tnPj4y
XXwwO2Rve2lmKChwfDApPT0wKXt2PTF9ZWxzZXtvPWNbcCsxMj4+Ml18MDtpZigob3wwKT09KGNb
cCsxNj4+Ml18MCkpe3c9YjBbY1soY1twPj4yXXwwKSszNj4+Ml0mMTI3XShwKXwwfWVsc2V7dz1j
W28+PjJdfDB9aWYoKHd8MCk9PS0xKXtjW2c+PjJdPTA7dj0xO2JyZWFrfWVsc2V7dj0oY1tnPj4y
XXwwKT09MDticmVha319fXdoaWxlKDApO2Rve2lmKHIpe209MjYwM31lbHNle2c9Y1txKzEyPj4y
XXwwO2lmKChnfDApPT0oY1txKzE2Pj4yXXwwKSl7eD1iMFtjWyhjW3E+PjJdfDApKzM2Pj4yXSYx
MjddKHEpfDB9ZWxzZXt4PWNbZz4+Ml18MH1pZigoeHwwKT09LTEpe2NbYj4+Ml09MDttPTI2MDM7
YnJlYWt9aWYoISh2XihxfDApPT0wKSl7YnJlYWt9aT1hO3JldHVybn19d2hpbGUoMCk7ZG97aWYo
KG18MCk9PTI2MDMpe2lmKHYpe2JyZWFrfWk9YTtyZXR1cm59fXdoaWxlKDApO2NbZT4+Ml09Y1tl
Pj4yXXwyO2k9YTtyZXR1cm59ZnVuY3Rpb24gZ1coYixkLGUsZixnLGgsaixrLGwpe2I9YnwwO2Q9
ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO2w9bHwwO3ZhciBtPTAsbj0w
LG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAs
Qz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxR
PTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wLFk9MCxaPTAsXz0wLCQ9MCxhYT0wLGFiPTAs
YWM9MCxhZD0wLGFlPTAsYWY9MCxhZz0wLGFoPTAsYWk9MCxhaj0wLGFrPTAsYWw9MCxhbT0wO2w9
aTtpPWkrMzI4fDA7bT1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1ttPj4yXTtt
PWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW20+PjJdO209bHwwO249bCs4fDA7
bz1sKzE2fDA7cD1sKzI0fDA7cT1sKzMyfDA7cj1sKzQwfDA7cz1sKzQ4fDA7dD1sKzU2fDA7dT1s
KzY0fDA7dj1sKzcyfDA7dz1sKzgwfDA7eD1sKzg4fDA7eT1sKzk2fDA7ej1sKzExMnwwO0E9bCsx
MjB8MDtCPWwrMTI4fDA7Qz1sKzEzNnwwO0Q9bCsxNDR8MDtFPWwrMTUyfDA7Rj1sKzE2MHwwO0c9
bCsxNjh8MDtIPWwrMTc2fDA7ST1sKzE4NHwwO0o9bCsxOTJ8MDtLPWwrMjAwfDA7TD1sKzIwOHww
O009bCsyMTZ8MDtOPWwrMjI0fDA7Tz1sKzIzMnwwO1A9bCsyNDB8MDtRPWwrMjQ4fDA7Uj1sKzI1
NnwwO1M9bCsyNjR8MDtUPWwrMjcyfDA7VT1sKzI4MHwwO1Y9bCsyODh8MDtXPWwrMjk2fDA7WD1s
KzMwNHwwO1k9bCszMTJ8MDtaPWwrMzIwfDA7Y1toPj4yXT0wO2VqKHosZyk7Xz16fDA7ej1jW18+
PjJdfDA7aWYoKGNbMzkyMl18MCkhPS0xKXtjW3k+PjJdPTE1Njg4O2NbeSs0Pj4yXT0xMjtjW3kr
OD4+Ml09MDtkVygxNTY4OCx5LDk2KX15PShjWzM5MjNdfDApLTF8MDskPWNbeis4Pj4yXXwwO2Rv
e2lmKChjW3orMTI+PjJdfDApLSQ+PjI+Pj4wPnk+Pj4wKXthYT1jWyQrKHk8PDIpPj4yXXwwO2lm
KChhYXwwKT09MCl7YnJlYWt9YWI9YWE7YWE9Y1tfPj4yXXwwO2R6KGFhKXwwO0wzMTkyOmRve3N3
aXRjaChrPDwyND4+MjR8MCl7Y2FzZSAxMDA6Y2FzZSAxMDE6e2FhPWorMTJ8MDtjW3Y+PjJdPWNb
Zj4+Ml07YWM9aGMoZSx2LGgsYWIsMil8MDthZD1jW2g+PjJdfDA7ZG97aWYoKGFkJjR8MCk9PTAp
e2lmKChhYy0xfDApPj4+MD49MzEpe2JyZWFrfWNbYWE+PjJdPWFjO2JyZWFrIEwzMTkyfX13aGls
ZSgwKTtjW2g+PjJdPWFkfDQ7YnJlYWt9O2Nhc2UgMTEwOmNhc2UgMTE2OntjW0o+PjJdPWNbZj4+
Ml07Z1YoMCxlLEosaCxhYik7YnJlYWt9O2Nhc2UgODg6e2FjPWQrOHwwO2FhPWIwW2NbKGNbYWM+
PjJdfDApKzI0Pj4yXSYxMjddKGFjKXwwO2FjPWV8MDtjW1g+PjJdPWNbYWM+PjJdO2NbWT4+Ml09
Y1tmPj4yXTthZT1hW2FhXXwwO2lmKChhZSYxKT09MCl7YWY9YWErNHwwO2FnPWFhKzR8MH1lbHNl
e2FoPWNbYWErOD4+Ml18MDthZj1haDthZz1haH1haD1hZSYyNTU7aWYoKGFoJjF8MCk9PTApe2Fp
PWFoPj4+MX1lbHNle2FpPWNbYWErND4+Ml18MH1nUihXLGQsWCxZLGcsaCxqLGFnLGFmKyhhaTw8
Mil8MCk7Y1thYz4+Ml09Y1tXPj4yXTticmVha307Y2FzZSA5ODpjYXNlIDY2OmNhc2UgMTA0Onth
Yz1jW2Y+PjJdfDA7YWE9ZCs4fDA7YWg9YjBbY1soY1thYT4+Ml18MCkrND4+Ml0mMTI3XShhYSl8
MDtjW3c+PjJdPWFjO2FjPShmUyhlLHcsYWgsYWgrMjg4fDAsYWIsaCwwKXwwKS1haHwwO2lmKChh
Y3wwKT49Mjg4KXticmVhayBMMzE5Mn1jW2orMTY+PjJdPSgoYWN8MCkvMTJ8MHwwKSUxMnwwO2Jy
ZWFrfTtjYXNlIDExMjp7Y1tLPj4yXT1jW2Y+PjJdO2dYKGQsais4fDAsZSxLLGgsYWIpO2JyZWFr
fTtjYXNlIDExNDp7YWM9ZXwwO2NbTT4+Ml09Y1thYz4+Ml07Y1tOPj4yXT1jW2Y+PjJdO2dSKEws
ZCxNLE4sZyxoLGosMjIxNiwyMjYwKTtjW2FjPj4yXT1jW0w+PjJdO2JyZWFrfTtjYXNlIDM3Ontj
W1o+PjJdPWNbZj4+Ml07Z1koMCxlLFosaCxhYik7YnJlYWt9O2Nhc2UgNjg6e2FjPWV8MDtjW0U+
PjJdPWNbYWM+PjJdO2NbRj4+Ml09Y1tmPj4yXTtnUihELGQsRSxGLGcsaCxqLDIyNjQsMjI5Nik7
Y1thYz4+Ml09Y1tEPj4yXTticmVha307Y2FzZSA4OTp7Y1ttPj4yXT1jW2Y+PjJdO2FjPWhjKGUs
bSxoLGFiLDQpfDA7aWYoKGNbaD4+Ml0mNHwwKSE9MCl7YnJlYWsgTDMxOTJ9Y1tqKzIwPj4yXT1h
Yy0xOTAwO2JyZWFrfTtjYXNlIDgyOnthYz1lfDA7Y1tQPj4yXT1jW2FjPj4yXTtjW1E+PjJdPWNb
Zj4+Ml07Z1IoTyxkLFAsUSxnLGgsaiwyMTkyLDIyMTIpO2NbYWM+PjJdPWNbTz4+Ml07YnJlYWt9
O2Nhc2UgODM6e2NbcD4+Ml09Y1tmPj4yXTthYz1oYyhlLHAsaCxhYiwyKXwwO2FoPWNbaD4+Ml18
MDtpZigoYWgmNHwwKT09MCYoYWN8MCk8NjEpe2Nbaj4+Ml09YWM7YnJlYWsgTDMxOTJ9ZWxzZXtj
W2g+PjJdPWFofDQ7YnJlYWsgTDMxOTJ9YnJlYWt9O2Nhc2UgMTA2OntjW3M+PjJdPWNbZj4+Ml07
YWg9aGMoZSxzLGgsYWIsMyl8MDthYz1jW2g+PjJdfDA7aWYoKGFjJjR8MCk9PTAmKGFofDApPDM2
Nil7Y1tqKzI4Pj4yXT1haDticmVhayBMMzE5Mn1lbHNle2NbaD4+Ml09YWN8NDticmVhayBMMzE5
Mn1icmVha307Y2FzZSA5NzpjYXNlIDY1OnthYz1jW2Y+PjJdfDA7YWg9ZCs4fDA7YWE9YjBbY1tj
W2FoPj4yXT4+Ml0mMTI3XShhaCl8MDtjW3g+PjJdPWFjO2FjPShmUyhlLHgsYWEsYWErMTY4fDAs
YWIsaCwwKXwwKS1hYXwwO2lmKChhY3wwKT49MTY4KXticmVhayBMMzE5Mn1jW2orMjQ+PjJdPSgo
YWN8MCkvMTJ8MHwwKSU3fDA7YnJlYWt9O2Nhc2UgOTk6e2FjPWQrOHwwO2FhPWIwW2NbKGNbYWM+
PjJdfDApKzEyPj4yXSYxMjddKGFjKXwwO2FjPWV8MDtjW0I+PjJdPWNbYWM+PjJdO2NbQz4+Ml09
Y1tmPj4yXTthaD1hW2FhXXwwO2lmKChhaCYxKT09MCl7YWo9YWErNHwwO2FrPWFhKzR8MH1lbHNl
e2FlPWNbYWErOD4+Ml18MDthaj1hZTthaz1hZX1hZT1haCYyNTU7aWYoKGFlJjF8MCk9PTApe2Fs
PWFlPj4+MX1lbHNle2FsPWNbYWErND4+Ml18MH1nUihBLGQsQixDLGcsaCxqLGFrLGFqKyhhbDw8
Mil8MCk7Y1thYz4+Ml09Y1tBPj4yXTticmVha307Y2FzZSA4NDp7YWM9ZXwwO2NbUz4+Ml09Y1th
Yz4+Ml07Y1tUPj4yXT1jW2Y+PjJdO2dSKFIsZCxTLFQsZyxoLGosMjE2MCwyMTkyKTtjW2FjPj4y
XT1jW1I+PjJdO2JyZWFrfTtjYXNlIDcwOnthYz1lfDA7Y1tIPj4yXT1jW2FjPj4yXTtjW0k+PjJd
PWNbZj4+Ml07Z1IoRyxkLEgsSSxnLGgsaiwyMTI4LDIxNjApO2NbYWM+PjJdPWNbRz4+Ml07YnJl
YWt9O2Nhc2UgNzI6e2NbdT4+Ml09Y1tmPj4yXTthYz1oYyhlLHUsaCxhYiwyKXwwO2FhPWNbaD4+
Ml18MDtpZigoYWEmNHwwKT09MCYoYWN8MCk8MjQpe2Nbais4Pj4yXT1hYzticmVhayBMMzE5Mn1l
bHNle2NbaD4+Ml09YWF8NDticmVhayBMMzE5Mn1icmVha307Y2FzZSAxMjE6e2Nbbj4+Ml09Y1tm
Pj4yXTthYT1oYyhlLG4saCxhYiw0KXwwO2lmKChjW2g+PjJdJjR8MCkhPTApe2JyZWFrIEwzMTky
fWlmKChhYXwwKTw2OSl7YW09YWErMmUzfDB9ZWxzZXthbT0oYWEtNjl8MCk+Pj4wPDMxP2FhKzE5
MDB8MDphYX1jW2orMjA+PjJdPWFtLTE5MDA7YnJlYWt9O2Nhc2UgMTA5OntjW3I+PjJdPWNbZj4+
Ml07YWE9KGhjKGUscixoLGFiLDIpfDApLTF8MDthYz1jW2g+PjJdfDA7aWYoKGFjJjR8MCk9PTAm
KGFhfDApPDEyKXtjW2orMTY+PjJdPWFhO2JyZWFrIEwzMTkyfWVsc2V7Y1toPj4yXT1hY3w0O2Jy
ZWFrIEwzMTkyfWJyZWFrfTtjYXNlIDczOnthYz1qKzh8MDtjW3Q+PjJdPWNbZj4+Ml07YWE9aGMo
ZSx0LGgsYWIsMil8MDthZT1jW2g+PjJdfDA7ZG97aWYoKGFlJjR8MCk9PTApe2lmKChhYS0xfDAp
Pj4+MD49MTIpe2JyZWFrfWNbYWM+PjJdPWFhO2JyZWFrIEwzMTkyfX13aGlsZSgwKTtjW2g+PjJd
PWFlfDQ7YnJlYWt9O2Nhc2UgNzc6e2NbcT4+Ml09Y1tmPj4yXTthYT1oYyhlLHEsaCxhYiwyKXww
O2FjPWNbaD4+Ml18MDtpZigoYWMmNHwwKT09MCYoYWF8MCk8NjApe2Nbais0Pj4yXT1hYTticmVh
ayBMMzE5Mn1lbHNle2NbaD4+Ml09YWN8NDticmVhayBMMzE5Mn1icmVha307Y2FzZSAxMTk6e2Nb
bz4+Ml09Y1tmPj4yXTthYz1oYyhlLG8saCxhYiwxKXwwO2FhPWNbaD4+Ml18MDtpZigoYWEmNHww
KT09MCYoYWN8MCk8Nyl7Y1tqKzI0Pj4yXT1hYzticmVhayBMMzE5Mn1lbHNle2NbaD4+Ml09YWF8
NDticmVhayBMMzE5Mn1icmVha307Y2FzZSAxMjA6e2FhPWNbKGNbZD4+Ml18MCkrMjA+PjJdfDA7
Y1tVPj4yXT1jW2U+PjJdO2NbVj4+Ml09Y1tmPj4yXTtiWFthYSYxMjddKGIsZCxVLFYsZyxoLGop
O2k9bDtyZXR1cm59O2RlZmF1bHQ6e2NbaD4+Ml09Y1toPj4yXXw0fX19d2hpbGUoMCk7Y1tiPj4y
XT1jW2U+PjJdO2k9bDtyZXR1cm59fXdoaWxlKDApO2w9Yk8oNCl8MDtrcShsKTtibChsfDAsODE3
NiwxMzQpfWZ1bmN0aW9uIGdYKGEsYixlLGYsZyxoKXthPWF8MDtiPWJ8MDtlPWV8MDtmPWZ8MDtn
PWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MDtqPWk7aT1pKzh8MDtrPWY7Zj1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2s+PjJdO2s9anwwO2w9YSs4fDA7YT1iMFtjWyhj
W2w+PjJdfDApKzg+PjJdJjEyN10obCl8MDtsPWRbYV18MDtpZigobCYxfDApPT0wKXttPWw+Pj4x
fWVsc2V7bT1jW2ErND4+Ml18MH1sPWRbYSsxMnwwXXwwO2lmKChsJjF8MCk9PTApe249bD4+PjF9
ZWxzZXtuPWNbYSsxNj4+Ml18MH1pZigobXwwKT09KC1ufDApKXtjW2c+PjJdPWNbZz4+Ml18NDtp
PWo7cmV0dXJufWNbaz4+Ml09Y1tmPj4yXTtmPWZTKGUsayxhLGErMjR8MCxoLGcsMCl8MDtnPWYt
YXwwO2Rve2lmKChmfDApPT0oYXwwKSl7aWYoKGNbYj4+Ml18MCkhPTEyKXticmVha31jW2I+PjJd
PTA7aT1qO3JldHVybn19d2hpbGUoMCk7aWYoKGd8MCkhPTEyKXtpPWo7cmV0dXJufWc9Y1tiPj4y
XXwwO2lmKChnfDApPj0xMil7aT1qO3JldHVybn1jW2I+PjJdPWcrMTI7aT1qO3JldHVybn0KLWZ1
bmN0aW9uIGdZKGEsYixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9
MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wO2E9aTtnPWQ7ZD1p
O2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tkPj4yXT1jW2c+PjJdO2c9YnwwO2I9Y1tnPj4yXXwwO2Rv
e2lmKChifDApPT0wKXtoPTF9ZWxzZXtqPWNbYisxMj4+Ml18MDtpZigoanwwKT09KGNbYisxNj4+
Ml18MCkpe2s9YjBbY1soY1tiPj4yXXwwKSszNj4+Ml0mMTI3XShiKXwwfWVsc2V7az1jW2o+PjJd
fDB9aWYoKGt8MCk9PS0xKXtjW2c+PjJdPTA7aD0xO2JyZWFrfWVsc2V7aD0oY1tnPj4yXXwwKT09
MDticmVha319fXdoaWxlKDApO2s9ZHwwO2Q9Y1trPj4yXXwwO2Rve2lmKChkfDApPT0wKXtsPTI3
MTZ9ZWxzZXtiPWNbZCsxMj4+Ml18MDtpZigoYnwwKT09KGNbZCsxNj4+Ml18MCkpe209YjBbY1so
Y1tkPj4yXXwwKSszNj4+Ml0mMTI3XShkKXwwfWVsc2V7bT1jW2I+PjJdfDB9aWYoKG18MCk9PS0x
KXtjW2s+PjJdPTA7bD0yNzE2O2JyZWFrfWVsc2V7Yj0oZHwwKT09MDtpZihoXmIpe249ZDtvPWI7
YnJlYWt9ZWxzZXtsPTI3MTg7YnJlYWt9fX19d2hpbGUoMCk7aWYoKGx8MCk9PTI3MTYpe2lmKGgp
e2w9MjcxOH1lbHNle249MDtvPTF9fWlmKChsfDApPT0yNzE4KXtjW2U+PjJdPWNbZT4+Ml18Njtp
PWE7cmV0dXJufWg9Y1tnPj4yXXwwO2Q9Y1toKzEyPj4yXXwwO2lmKChkfDApPT0oY1toKzE2Pj4y
XXwwKSl7cD1iMFtjWyhjW2g+PjJdfDApKzM2Pj4yXSYxMjddKGgpfDB9ZWxzZXtwPWNbZD4+Ml18
MH1pZigoYjFbY1soY1tmPj4yXXwwKSs1Mj4+Ml0mNjNdKGYscCwwKXwwKTw8MjQ+PjI0IT0zNyl7
Y1tlPj4yXT1jW2U+PjJdfDQ7aT1hO3JldHVybn1wPWNbZz4+Ml18MDtmPXArMTJ8MDtkPWNbZj4+
Ml18MDtpZigoZHwwKT09KGNbcCsxNj4+Ml18MCkpe2g9Y1soY1twPj4yXXwwKSs0MD4+Ml18MDti
MFtoJjEyN10ocCl8MH1lbHNle2NbZj4+Ml09ZCs0fWQ9Y1tnPj4yXXwwO2Rve2lmKChkfDApPT0w
KXtxPTF9ZWxzZXtmPWNbZCsxMj4+Ml18MDtpZigoZnwwKT09KGNbZCsxNj4+Ml18MCkpe3I9YjBb
Y1soY1tkPj4yXXwwKSszNj4+Ml0mMTI3XShkKXwwfWVsc2V7cj1jW2Y+PjJdfDB9aWYoKHJ8MCk9
PS0xKXtjW2c+PjJdPTA7cT0xO2JyZWFrfWVsc2V7cT0oY1tnPj4yXXwwKT09MDticmVha319fXdo
aWxlKDApO2Rve2lmKG8pe2w9Mjc0MH1lbHNle2c9Y1tuKzEyPj4yXXwwO2lmKChnfDApPT0oY1tu
KzE2Pj4yXXwwKSl7cz1iMFtjWyhjW24+PjJdfDApKzM2Pj4yXSYxMjddKG4pfDB9ZWxzZXtzPWNb
Zz4+Ml18MH1pZigoc3wwKT09LTEpe2Nbaz4+Ml09MDtsPTI3NDA7YnJlYWt9aWYoIShxXihufDAp
PT0wKSl7YnJlYWt9aT1hO3JldHVybn19d2hpbGUoMCk7ZG97aWYoKGx8MCk9PTI3NDApe2lmKHEp
e2JyZWFrfWk9YTtyZXR1cm59fXdoaWxlKDApO2NbZT4+Ml09Y1tlPj4yXXwyO2k9YTtyZXR1cm59
ZnVuY3Rpb24gZ1ooYSl7YT1hfDA7cmV0dXJuIDEyN31mdW5jdGlvbiBnXyhhKXthPWF8MDtyZXR1
cm4gMTI3fWZ1bmN0aW9uIGckKGEpe2E9YXwwO3JldHVybiAwfWZ1bmN0aW9uIGcwKGEpe2E9YXww
O3JldHVybiAxMjd9ZnVuY3Rpb24gZzEoYSl7YT1hfDA7cmV0dXJuIDEyN31mdW5jdGlvbiBnMihh
KXthPWF8MDtyZXR1cm4gMH1mdW5jdGlvbiBnMyhhKXthPWF8MDtyZXR1cm4gMjE0NzQ4MzY0N31m
dW5jdGlvbiBnNChhKXthPWF8MDtyZXR1cm4gMjE0NzQ4MzY0N31mdW5jdGlvbiBnNShhKXthPWF8
MDtyZXR1cm4gMH1mdW5jdGlvbiBnNihiLGMpe2I9YnwwO2M9Y3wwO2M9YjtDPTY3MTA5NjM0O2Fb
Y109QyYyNTU7Qz1DPj44O2FbYysxfDBdPUMmMjU1O0M9Qz4+ODthW2MrMnwwXT1DJjI1NTtDPUM+
Pjg7YVtjKzN8MF09QyYyNTU7cmV0dXJufWZ1bmN0aW9uIGc3KGIsYyl7Yj1ifDA7Yz1jfDA7Yz1i
O0M9NjcxMDk2MzQ7YVtjXT1DJjI1NTtDPUM+Pjg7YVtjKzF8MF09QyYyNTU7Qz1DPj44O2FbYysy
fDBdPUMmMjU1O0M9Qz4+ODthW2MrM3wwXT1DJjI1NTtyZXR1cm59ZnVuY3Rpb24gZzgoYixjKXti
PWJ8MDtjPWN8MDtjPWI7Qz02NzEwOTYzNDthW2NdPUMmMjU1O0M9Qz4+ODthW2MrMXwwXT1DJjI1
NTtDPUM+Pjg7YVtjKzJ8MF09QyYyNTU7Qz1DPj44O2FbYyszfDBdPUMmMjU1O3JldHVybn1mdW5j
dGlvbiBnOShiLGMpe2I9YnwwO2M9Y3wwO2M9YjtDPTY3MTA5NjM0O2FbY109QyYyNTU7Qz1DPj44
O2FbYysxfDBdPUMmMjU1O0M9Qz4+ODthW2MrMnwwXT1DJjI1NTtDPUM+Pjg7YVtjKzN8MF09QyYy
NTU7cmV0dXJufWZ1bmN0aW9uIGhhKGIsYyl7Yj1ifDA7Yz1jfDA7Yz1iO0M9NjcxMDk2MzQ7YVtj
XT1DJjI1NTtDPUM+Pjg7YVtjKzF8MF09QyYyNTU7Qz1DPj44O2FbYysyfDBdPUMmMjU1O0M9Qz4+
ODthW2MrM3wwXT1DJjI1NTtyZXR1cm59ZnVuY3Rpb24gaGIoYixjKXtiPWJ8MDtjPWN8MDtjPWI7
Qz02NzEwOTYzNDthW2NdPUMmMjU1O0M9Qz4+ODthW2MrMXwwXT1DJjI1NTtDPUM+Pjg7YVtjKzJ8
MF09QyYyNTU7Qz1DPj44O2FbYyszfDBdPUMmMjU1O3JldHVybn1mdW5jdGlvbiBoYyhhLGIsZCxl
LGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGo9MCxrPTAsbD0w
LG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAs
QT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wO2c9aTtoPWI7Yj1pO2k9aSs0fDA7aT1pKzc+PjM8
PDM7Y1tiPj4yXT1jW2g+PjJdO2g9YXwwO2E9Y1toPj4yXXwwO2Rve2lmKChhfDApPT0wKXtqPTF9
ZWxzZXtrPWNbYSsxMj4+Ml18MDtpZigoa3wwKT09KGNbYSsxNj4+Ml18MCkpe2w9YjBbY1soY1th
Pj4yXXwwKSszNj4+Ml0mMTI3XShhKXwwfWVsc2V7bD1jW2s+PjJdfDB9aWYoKGx8MCk9PS0xKXtj
W2g+PjJdPTA7aj0xO2JyZWFrfWVsc2V7aj0oY1toPj4yXXwwKT09MDticmVha319fXdoaWxlKDAp
O2w9YnwwO2I9Y1tsPj4yXXwwO2Rve2lmKChifDApPT0wKXttPTI5fWVsc2V7YT1jW2IrMTI+PjJd
fDA7aWYoKGF8MCk9PShjW2IrMTY+PjJdfDApKXtuPWIwW2NbKGNbYj4+Ml18MCkrMzY+PjJdJjEy
N10oYil8MH1lbHNle249Y1thPj4yXXwwfWlmKChufDApPT0tMSl7Y1tsPj4yXT0wO209Mjk7YnJl
YWt9ZWxzZXtpZihqXihifDApPT0wKXtvPWI7YnJlYWt9ZWxzZXttPTMxO2JyZWFrfX19fXdoaWxl
KDApO2lmKChtfDApPT0yOSl7aWYoail7bT0zMX1lbHNle289MH19aWYoKG18MCk9PTMxKXtjW2Q+
PjJdPWNbZD4+Ml18NjtwPTA7aT1nO3JldHVybiBwfDB9aj1jW2g+PjJdfDA7Yj1jW2orMTI+PjJd
fDA7aWYoKGJ8MCk9PShjW2orMTY+PjJdfDApKXtxPWIwW2NbKGNbaj4+Ml18MCkrMzY+PjJdJjEy
N10oail8MH1lbHNle3E9Y1tiPj4yXXwwfWI9ZTtpZighKGIxW2NbKGNbYj4+Ml18MCkrMTI+PjJd
JjYzXShlLDIwNDgscSl8MCkpe2NbZD4+Ml09Y1tkPj4yXXw0O3A9MDtpPWc7cmV0dXJuIHB8MH1q
PWU7bj0oYjFbY1soY1tqPj4yXXwwKSs1Mj4+Ml0mNjNdKGUscSwwKXwwKTw8MjQ+PjI0O3E9Y1to
Pj4yXXwwO2E9cSsxMnwwO2s9Y1thPj4yXXwwO2lmKChrfDApPT0oY1txKzE2Pj4yXXwwKSl7cj1j
WyhjW3E+PjJdfDApKzQwPj4yXXwwO2IwW3ImMTI3XShxKXwwO3M9bjt0PWY7dT1vfWVsc2V7Y1th
Pj4yXT1rKzQ7cz1uO3Q9Zjt1PW99d2hpbGUoMSl7dj1zLTQ4fDA7bz10LTF8MDtmPWNbaD4+Ml18
MDtkb3tpZigoZnwwKT09MCl7dz0wfWVsc2V7bj1jW2YrMTI+PjJdfDA7aWYoKG58MCk9PShjW2Yr
MTY+PjJdfDApKXt4PWIwW2NbKGNbZj4+Ml18MCkrMzY+PjJdJjEyN10oZil8MH1lbHNle3g9Y1tu
Pj4yXXwwfWlmKCh4fDApPT0tMSl7Y1toPj4yXT0wO3c9MDticmVha31lbHNle3c9Y1toPj4yXXww
O2JyZWFrfX19d2hpbGUoMCk7Zj0od3wwKT09MDtpZigodXwwKT09MCl7eT13O3o9MH1lbHNle249
Y1t1KzEyPj4yXXwwO2lmKChufDApPT0oY1t1KzE2Pj4yXXwwKSl7QT1iMFtjWyhjW3U+PjJdfDAp
KzM2Pj4yXSYxMjddKHUpfDB9ZWxzZXtBPWNbbj4+Ml18MH1pZigoQXwwKT09LTEpe2NbbD4+Ml09
MDtCPTB9ZWxzZXtCPXV9eT1jW2g+PjJdfDA7ej1CfUM9KHp8MCk9PTA7aWYoISgoZl5DKSYob3ww
KT4wKSl7YnJlYWt9Zj1jW3krMTI+PjJdfDA7aWYoKGZ8MCk9PShjW3krMTY+PjJdfDApKXtEPWIw
W2NbKGNbeT4+Ml18MCkrMzY+PjJdJjEyN10oeSl8MH1lbHNle0Q9Y1tmPj4yXXwwfWlmKCEoYjFb
Y1soY1tiPj4yXXwwKSsxMj4+Ml0mNjNdKGUsMjA0OCxEKXwwKSl7cD12O209ODE7YnJlYWt9Zj0o
KGIxW2NbKGNbaj4+Ml18MCkrNTI+PjJdJjYzXShlLEQsMCl8MCk8PDI0Pj4yNCkrKHYqMTB8MCl8
MDtuPWNbaD4+Ml18MDtrPW4rMTJ8MDthPWNbaz4+Ml18MDtpZigoYXwwKT09KGNbbisxNj4+Ml18
MCkpe3E9Y1soY1tuPj4yXXwwKSs0MD4+Ml18MDtiMFtxJjEyN10obil8MDtzPWY7dD1vO3U9ejtj
b250aW51ZX1lbHNle2Nbaz4+Ml09YSs0O3M9Zjt0PW87dT16O2NvbnRpbnVlfX1pZigobXwwKT09
ODEpe2k9ZztyZXR1cm4gcHwwfWRve2lmKCh5fDApPT0wKXtFPTF9ZWxzZXt1PWNbeSsxMj4+Ml18
MDtpZigodXwwKT09KGNbeSsxNj4+Ml18MCkpe0Y9YjBbY1soY1t5Pj4yXXwwKSszNj4+Ml0mMTI3
XSh5KXwwfWVsc2V7Rj1jW3U+PjJdfDB9aWYoKEZ8MCk9PS0xKXtjW2g+PjJdPTA7RT0xO2JyZWFr
fWVsc2V7RT0oY1toPj4yXXwwKT09MDticmVha319fXdoaWxlKDApO2Rve2lmKEMpe209NzV9ZWxz
ZXtoPWNbeisxMj4+Ml18MDtpZigoaHwwKT09KGNbeisxNj4+Ml18MCkpe0c9YjBbY1soY1t6Pj4y
XXwwKSszNj4+Ml0mMTI3XSh6KXwwfWVsc2V7Rz1jW2g+PjJdfDB9aWYoKEd8MCk9PS0xKXtjW2w+
PjJdPTA7bT03NTticmVha31pZihFXih6fDApPT0wKXtwPXZ9ZWxzZXticmVha31pPWc7cmV0dXJu
IHB8MH19d2hpbGUoMCk7ZG97aWYoKG18MCk9PTc1KXtpZihFKXticmVha31lbHNle3A9dn1pPWc7
cmV0dXJuIHB8MH19d2hpbGUoMCk7Y1tkPj4yXT1jW2Q+PjJdfDI7cD12O2k9ZztyZXR1cm4gcHww
fWZ1bmN0aW9uIGhkKGIsZCxlLGYsZyxoLGosayl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1n
fDA7aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAs
dD0wLHU9MCx2PTA7Zz1pO2k9aSsxMTJ8MDtmPWU7ZT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tl
Pj4yXT1jW2Y+PjJdO2Y9Z3wwO2w9Zys4fDA7bT1sfDA7bj1mfDA7YVtuXT0zNztvPWYrMXwwO2Fb
b109ajtwPWYrMnwwO2FbcF09azthW2YrM3wwXT0wO2lmKGs8PDI0Pj4yNCE9MCl7YVtvXT1rO2Fb
cF09an1qPWJrKG18MCwxMDAsbnwwLGh8MCxjW2QrOD4+Ml18MCl8MDtkPWwranwwO2w9Y1tlPj4y
XXwwO2lmKChqfDApPT0wKXtxPWw7cj1ifDA7Y1tyPj4yXT1xO2k9ZztyZXR1cm59ZWxzZXtzPWw7
dD1tfXdoaWxlKDEpe209YVt0XXwwO2lmKChzfDApPT0wKXt1PTB9ZWxzZXtsPXMrMjR8MDtqPWNb
bD4+Ml18MDtpZigoanwwKT09KGNbcysyOD4+Ml18MCkpe3Y9Yl9bY1soY1tzPj4yXXwwKSs1Mj4+
Ml0mMzFdKHMsbSYyNTUpfDB9ZWxzZXtjW2w+PjJdPWorMTthW2pdPW07dj1tJjI1NX11PSh2fDAp
PT0tMT8wOnN9bT10KzF8MDtpZigobXwwKT09KGR8MCkpe3E9dTticmVha31lbHNle3M9dTt0PW19
fXI9YnwwO2Nbcj4+Ml09cTtpPWc7cmV0dXJufWZ1bmN0aW9uIGhlKGEsYixkLGUsZixnLGgsail7
YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7dmFyIGs9MCxs
PTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTA7Zj1pO2k9aSs0MDh8MDtlPWQ7ZD1pO2k9aSs0fDA7
aT1pKzc+PjM8PDM7Y1tkPj4yXT1jW2U+PjJdO2U9ZnwwO2s9Zis0MDB8MDtsPWV8MDtjW2s+PjJd
PWUrNDAwO2hDKGIrOHwwLGwsayxnLGgsaik7aj1jW2s+PjJdfDA7az1jW2Q+PjJdfDA7aWYoKGx8
MCk9PShqfDApKXttPWs7bj1hfDA7Y1tuPj4yXT1tO2k9ZjtyZXR1cm59ZWxzZXtvPWs7cD1sfXdo
aWxlKDEpe2w9Y1twPj4yXXwwO2lmKChvfDApPT0wKXtxPTB9ZWxzZXtrPW8rMjR8MDtkPWNbaz4+
Ml18MDtpZigoZHwwKT09KGNbbysyOD4+Ml18MCkpe3I9Yl9bY1soY1tvPj4yXXwwKSs1Mj4+Ml0m
MzFdKG8sbCl8MH1lbHNle2Nbaz4+Ml09ZCs0O2NbZD4+Ml09bDtyPWx9cT0ocnwwKT09LTE/MDpv
fWw9cCs0fDA7aWYoKGx8MCk9PShqfDApKXttPXE7YnJlYWt9ZWxzZXtvPXE7cD1sfX1uPWF8MDtj
W24+PjJdPW07aT1mO3JldHVybn1mdW5jdGlvbiBoZihhKXthPWF8MDtkZShhfDApO2tTKGEpO3Jl
dHVybn1mdW5jdGlvbiBoZyhhKXthPWF8MDtkZShhfDApO3JldHVybn1mdW5jdGlvbiBoaChhLGIp
e2E9YXwwO2I9YnwwO2skKGF8MCwwLDEyKTtyZXR1cm59ZnVuY3Rpb24gaGkoYSxiKXthPWF8MDti
PWJ8MDtrJChhfDAsMCwxMik7cmV0dXJufWZ1bmN0aW9uIGhqKGEsYil7YT1hfDA7Yj1ifDA7ayQo
YXwwLDAsMTIpO3JldHVybn1mdW5jdGlvbiBoayhhLGIpe2E9YXwwO2I9YnwwO2RfKGEsMSw0NSk7
cmV0dXJufWZ1bmN0aW9uIGhsKGEpe2E9YXwwO2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9u
IGhtKGEpe2E9YXwwO2RlKGF8MCk7cmV0dXJufWZ1bmN0aW9uIGhuKGEsYil7YT1hfDA7Yj1ifDA7
ayQoYXwwLDAsMTIpO3JldHVybn1mdW5jdGlvbiBobyhhLGIpe2E9YXwwO2I9YnwwO2skKGF8MCww
LDEyKTtyZXR1cm59ZnVuY3Rpb24gaHAoYSxiKXthPWF8MDtiPWJ8MDtrJChhfDAsMCwxMik7cmV0
dXJufWZ1bmN0aW9uIGhxKGEsYil7YT1hfDA7Yj1ifDA7ZF8oYSwxLDQ1KTtyZXR1cm59ZnVuY3Rp
b24gaHIoYSl7YT1hfDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gaHMoYSl7YT1hfDA7
ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24gaHQoYSxiKXthPWF8MDtiPWJ8MDtrJChhfDAsMCwxMik7
cmV0dXJufWZ1bmN0aW9uIGh1KGEsYil7YT1hfDA7Yj1ifDA7ayQoYXwwLDAsMTIpO3JldHVybn1m
dW5jdGlvbiBodihhLGIpe2E9YXwwO2I9YnwwO2skKGF8MCwwLDEyKTtyZXR1cm59ZnVuY3Rpb24g
aHcoYSxiKXthPWF8MDtiPWJ8MDtleShhLDEsNDUpO3JldHVybn1mdW5jdGlvbiBoeChhKXthPWF8
MDtkZShhfDApO2tTKGEpO3JldHVybn1mdW5jdGlvbiBoeShiKXtiPWJ8MDt2YXIgZD0wLGU9MCxm
PTAsZz0wO2Q9YjtlPWIrOHwwO2Y9Y1tlPj4yXXwwO2Rve2lmKChhWzE2MjY0XXwwKT09MCl7aWYo
KGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8MH19d2hpbGUoMCk7
aWYoKGZ8MCk9PShjWzI5NThdfDApKXtnPWJ8MDtkZShnKTtrUyhkKTtyZXR1cm59YTcoY1tlPj4y
XXwwKTtnPWJ8MDtkZShnKTtrUyhkKTtyZXR1cm59ZnVuY3Rpb24gaHooYil7Yj1ifDA7dmFyIGQ9
MCxlPTAsZj0wO2Q9Yis4fDA7ZT1jW2Q+PjJdfDA7ZG97aWYoKGFbMTYyNjRdfDApPT0wKXtpZigo
YmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTtp
ZigoZXwwKT09KGNbMjk1OF18MCkpe2Y9YnwwO2RlKGYpO3JldHVybn1hNyhjW2Q+PjJdfDApO2Y9
YnwwO2RlKGYpO3JldHVybn1mdW5jdGlvbiBoQShiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0w
O2Q9YjtlPWIrOHwwO2Y9Y1tlPj4yXXwwO2Rve2lmKChhWzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2
MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8MH19d2hpbGUoMCk7aWYoKGZ8
MCk9PShjWzI5NThdfDApKXtnPWJ8MDtkZShnKTtrUyhkKTtyZXR1cm59YTcoY1tlPj4yXXwwKTtn
PWJ8MDtkZShnKTtrUyhkKTtyZXR1cm59ZnVuY3Rpb24gaEIoYil7Yj1ifDA7dmFyIGQ9MCxlPTAs
Zj0wO2Q9Yis4fDA7ZT1jW2Q+PjJdfDA7ZG97aWYoKGFbMTYyNjRdfDApPT0wKXtpZigoYmMoMTYy
NjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTtpZigoZXww
KT09KGNbMjk1OF18MCkpe2Y9YnwwO2RlKGYpO3JldHVybn1hNyhjW2Q+PjJdfDApO2Y9YnwwO2Rl
KGYpO3JldHVybn1mdW5jdGlvbiBoQyhiLGQsZSxmLGcsaCl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1m
fDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTA7aj1pO2k9
aSsxMjB8MDtrPWp8MDtsPWorMTEyfDA7bT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7bj1qKzh8MDtv
PWt8MDthW29dPTM3O3A9aysxfDA7YVtwXT1nO3E9aysyfDA7YVtxXT1oO2FbayszfDBdPTA7aWYo
aDw8MjQ+PjI0IT0wKXthW3BdPWg7YVtxXT1nfWc9YnwwO2JrKG58MCwxMDAsb3wwLGZ8MCxjW2c+
PjJdfDApfDA7Y1tsPj4yXT0wO2NbbCs0Pj4yXT0wO2NbbT4+Ml09bjtuPShjW2U+PjJdfDApLWQ+
PjI7Zj1iQihjW2c+PjJdfDApfDA7Zz1rZShkLG0sbixsKXwwO2lmKChmfDApIT0wKXtiQihmfDAp
fDB9aWYoKGd8MCk9PS0xKXtoVig5MDQpfWVsc2V7Y1tlPj4yXT1kKyhnPDwyKTtpPWo7cmV0dXJu
fX1mdW5jdGlvbiBoRChhKXthPWF8MDtyZXR1cm4gMjE0NzQ4MzY0N31mdW5jdGlvbiBoRShhKXth
PWF8MDtyZXR1cm4gMjE0NzQ4MzY0N31mdW5jdGlvbiBoRihhKXthPWF8MDtyZXR1cm4gMH1mdW5j
dGlvbiBoRyhhKXthPWF8MDtyZXR1cm59ZnVuY3Rpb24gaEgoYixjKXtiPWJ8MDtjPWN8MDtjPWI7
Qz02NzEwOTYzNDthW2NdPUMmMjU1O0M9Qz4+ODthW2MrMXwwXT1DJjI1NTtDPUM+Pjg7YVtjKzJ8
MF09QyYyNTU7Qz1DPj44O2FbYyszfDBdPUMmMjU1O3JldHVybn1mdW5jdGlvbiBoSShiLGMpe2I9
YnwwO2M9Y3wwO2M9YjtDPTY3MTA5NjM0O2FbY109QyYyNTU7Qz1DPj44O2FbYysxfDBdPUMmMjU1
O0M9Qz4+ODthW2MrMnwwXT1DJjI1NTtDPUM+Pjg7YVtjKzN8MF09QyYyNTU7cmV0dXJufWZ1bmN0
aW9uIGhKKGEpe2E9YXwwO2RlKGF8MCk7cmV0dXJufWZ1bmN0aW9uIGhLKGEsYil7YT1hfDA7Yj1i
fDA7ayQoYXwwLDAsMTIpO3JldHVybn1mdW5jdGlvbiBoTChhLGIpe2E9YXwwO2I9YnwwO2skKGF8
MCwwLDEyKTtyZXR1cm59ZnVuY3Rpb24gaE0oYSxiKXthPWF8MDtiPWJ8MDtrJChhfDAsMCwxMik7
cmV0dXJufWZ1bmN0aW9uIGhOKGEsYil7YT1hfDA7Yj1ifDA7ZXkoYSwxLDQ1KTtyZXR1cm59ZnVu
Y3Rpb24gaE8oYSl7YT1hfDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gaFAoYSl7YT1h
fDA7ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24gaFEoYixkLGUsZixnLGgsaixrKXtiPWJ8MDtkPWR8
MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0w
LHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAs
RD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxS
PTAsUz0wO2Q9aTtpPWkrMjgwfDA7bD1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09
Y1tsPj4yXTtsPWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9ZHww
O209ZCsxNnwwO249ZCsxMjB8MDtvPWQrMTI4fDA7cD1kKzEzNnwwO3E9ZCsxNDR8MDtyPWQrMTUy
fDA7cz1kKzE2MHwwO3Q9ZCsxNzZ8MDt1PW58MDtjW3U+PjJdPW07dj1uKzR8MDtjW3Y+PjJdPTE2
Njt3PW0rMTAwfDA7ZWoocCxoKTttPXB8MDt4PWNbbT4+Ml18MDtpZigoY1szOTI0XXwwKSE9LTEp
e2NbbD4+Ml09MTU2OTY7Y1tsKzQ+PjJdPTEyO2NbbCs4Pj4yXT0wO2RXKDE1Njk2LGwsOTYpfWw9
KGNbMzkyNV18MCktMXwwO3k9Y1t4Kzg+PjJdfDA7ZG97aWYoKGNbeCsxMj4+Ml18MCkteT4+Mj4+
PjA+bD4+PjApe3o9Y1t5KyhsPDwyKT4+Ml18MDtpZigoenwwKT09MCl7YnJlYWt9QT16O2FbcV09
MDtCPWZ8MDtjW3I+PjJdPWNbQj4+Ml07ZG97aWYoaFIoZSxyLGcscCxjW2grND4+Ml18MCxqLHEs
QSxuLG8sdyl8MCl7Qz1zfDA7RD1jWyhjW3o+PjJdfDApKzMyPj4yXXwwO2NhW0QmMTVdKEEsMjEx
MiwyMTIyLEMpfDA7RD10fDA7RT1jW28+PjJdfDA7Rj1jW3U+PjJdfDA7Rz1FLUZ8MDtkb3tpZigo
R3wwKT45OCl7SD1rSihHKzJ8MCl8MDtpZigoSHwwKSE9MCl7ST1IO0o9SDticmVha31rWCgpO0k9
MDtKPTB9ZWxzZXtJPUQ7Sj0wfX13aGlsZSgwKTtpZigoYVtxXSYxKT09MCl7Sz1JfWVsc2V7YVtJ
XT00NTtLPUkrMXwwfWlmKEY+Pj4wPEU+Pj4wKXtHPXMrMTB8MDtIPXM7TD1LO009Rjt3aGlsZSgx
KXtOPUM7d2hpbGUoMSl7aWYoKE58MCk9PShHfDApKXtPPUc7YnJlYWt9aWYoKGFbTl18MCk9PShh
W01dfDApKXtPPU47YnJlYWt9ZWxzZXtOPU4rMXwwfX1hW0xdPWFbMjExMisoTy1IKXwwXXwwO049
TSsxfDA7UD1MKzF8MDtpZihOPj4+MDwoY1tvPj4yXXwwKT4+PjApe0w9UDtNPU59ZWxzZXtRPVA7
YnJlYWt9fX1lbHNle1E9S31hW1FdPTA7TT1iRChEfDAsMTQwOCwoTD1pLGk9aSs4fDAsY1tMPj4y
XT1rLEwpfDApfDA7aT1MO2lmKChNfDApPT0xKXtpZigoSnwwKT09MCl7YnJlYWt9a0soSik7YnJl
YWt9TT1iTyg4KXwwO2RFKE0sMTM2OCk7YmwoTXwwLDgxOTIsMjIpfX13aGlsZSgwKTtBPWV8MDt6
PWNbQT4+Ml18MDtkb3tpZigoenwwKT09MCl7Uj0wfWVsc2V7aWYoKGNbeisxMj4+Ml18MCkhPShj
W3orMTY+PjJdfDApKXtSPXo7YnJlYWt9aWYoKGIwW2NbKGNbej4+Ml18MCkrMzY+PjJdJjEyN10o
eil8MCkhPS0xKXtSPXo7YnJlYWt9Y1tBPj4yXT0wO1I9MH19d2hpbGUoMCk7QT0oUnwwKT09MDt6
PWNbQj4+Ml18MDtkb3tpZigoenwwKT09MCl7Uz0yNDR9ZWxzZXtpZigoY1t6KzEyPj4yXXwwKSE9
KGNbeisxNj4+Ml18MCkpe2lmKEEpe2JyZWFrfWVsc2V7Uz0yNDY7YnJlYWt9fWlmKChiMFtjWyhj
W3o+PjJdfDApKzM2Pj4yXSYxMjddKHopfDApPT0tMSl7Y1tCPj4yXT0wO1M9MjQ0O2JyZWFrfWVs
c2V7aWYoQV4oenwwKT09MCl7YnJlYWt9ZWxzZXtTPTI0NjticmVha319fX13aGlsZSgwKTtpZigo
U3wwKT09MjQ0KXtpZihBKXtTPTI0Nn19aWYoKFN8MCk9PTI0Nil7Y1tqPj4yXT1jW2o+PjJdfDJ9
Y1tiPj4yXT1SO3o9Y1ttPj4yXXwwO2R6KHopfDA7ej1jW3U+PjJdfDA7Y1t1Pj4yXT0wO2lmKCh6
fDApPT0wKXtpPWQ7cmV0dXJufWJZW2Nbdj4+Ml0mNTExXSh6KTtpPWQ7cmV0dXJufX13aGlsZSgw
KTtkPWJPKDQpfDA7a3EoZCk7YmwoZHwwLDgxNzYsMTM0KX1mdW5jdGlvbiBoUihlLGYsZyxoLGos
ayxsLG0sbixvLHApe2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO2w9bHwwO209
bXwwO249bnwwO289b3wwO3A9cHwwO3ZhciBxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0w
LHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAs
TT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxf
PTAsJD0wLGFhPTAsYWI9MCxhYz0wLGFkPTAsYWU9MCxhZj0wLGFnPTAsYWg9MCxhaT0wLGFqPTAs
YWs9MCxhbD0wLGFtPTAsYW49MCxhbz0wLGFwPTAsYXE9MCxhcj0wLGFzPTAsYXQ9MCxhdT0wLGF2
PTAsYXc9MCxheD0wLGF5PTAsYXo9MCxhQT0wLGFCPTAsYUM9MCxhRD0wLGFFPTAsYUY9MCxhRz0w
LGFIPTAsYUk9MCxhSj0wLGFLPTAsYUw9MCxhTT0wLGFOPTAsYU89MCxhUD0wLGFRPTAsYVI9MCxh
Uz0wLGFUPTAsYVU9MCxhVj0wLGFXPTAsYVg9MCxhWT0wLGFaPTAsYV89MCxhJD0wLGEwPTAsYTE9
MCxhMj0wLGEzPTAsYTQ9MCxhNT0wLGE2PTAsYTc9MCxhOD0wLGE5PTAsYmE9MCxiYj0wLGJjPTAs
YmQ9MCxiZT0wLGJmPTAsYmc9MCxiaD0wLGJpPTAsYmo9MCxiaz0wLGJsPTAsYm09MCxibj0wLGJv
PTAsYnA9MCxicT0wLGJyPTAsYnM9MCxidD0wLGJ1PTAsYnY9MCxidz0wLGJ4PTAsYnk9MCxiej0w
LGJBPTAsYkI9MCxiQz0wLGJEPTAsYkU9MDtxPWk7aT1pKzQ0MHwwO3I9ZjtmPWk7aT1pKzR8MDtp
PWkrNz4+Mzw8MztjW2Y+PjJdPWNbcj4+Ml07cj1xfDA7cz1xKzQwMHwwO3Q9cSs0MDh8MDt1PXEr
NDE2fDA7dj1xKzQyNHwwO3c9djt4PWk7aT1pKzEyfDA7aT1pKzc+PjM8PDM7eT1pO2k9aSsxMnww
O2k9aSs3Pj4zPDwzO3o9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8MztBPWk7aT1pKzEyfDA7aT1pKzc+
PjM8PDM7Qj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Qz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7RD1y
fDA7ayQod3wwLDAsMTIpO0U9eDtGPXk7Rz16O0g9QTtrJChFfDAsMCwxMik7ayQoRnwwLDAsMTIp
O2skKEd8MCwwLDEyKTtrJChIfDAsMCwxMik7aFgoZyxoLHMsdCx1LHYseCx5LHosQik7aD1ufDA7
Y1tvPj4yXT1jW2g+PjJdO2c9ZXwwO2U9ZnwwO2Y9bSs4fDA7bT16KzF8MDtJPXorNHwwO0o9eis4
fDA7Sz15KzF8MDtMPXkrNHwwO009eSs4fDA7Tj0oaiY1MTJ8MCkhPTA7aj14KzF8MDtPPXgrNHww
O1A9eCs4fDA7UT1BKzF8MDtSPUErNHwwO1M9QSs4fDA7VD1zKzN8MDtVPW4rNHwwO249dis0fDA7
Vj1wO3A9MTY2O1c9RDtYPUQ7RD1yKzQwMHwwO3I9MDtZPTA7TDI4Njp3aGlsZSgxKXtaPWNbZz4+
Ml18MDtkb3tpZigoWnwwKT09MCl7Xz0wfWVsc2V7aWYoKGNbWisxMj4+Ml18MCkhPShjW1orMTY+
PjJdfDApKXtfPVo7YnJlYWt9aWYoKGIwW2NbKGNbWj4+Ml18MCkrMzY+PjJdJjEyN10oWil8MCk9
PS0xKXtjW2c+PjJdPTA7Xz0wO2JyZWFrfWVsc2V7Xz1jW2c+PjJdfDA7YnJlYWt9fX13aGlsZSgw
KTtaPShffDApPT0wOyQ9Y1tlPj4yXXwwO2Rve2lmKCgkfDApPT0wKXthYT0yNzF9ZWxzZXtpZigo
Y1skKzEyPj4yXXwwKSE9KGNbJCsxNj4+Ml18MCkpe2lmKFope2FiPSQ7YnJlYWt9ZWxzZXthYz1w
O2FkPVc7YWU9WDthZj1yO2FhPTUyMzticmVhayBMMjg2fX1pZigoYjBbY1soY1skPj4yXXwwKSsz
Nj4+Ml0mMTI3XSgkKXwwKT09LTEpe2NbZT4+Ml09MDthYT0yNzE7YnJlYWt9ZWxzZXtpZihaKXth
Yj0kO2JyZWFrfWVsc2V7YWM9cDthZD1XO2FlPVg7YWY9cjthYT01MjM7YnJlYWsgTDI4Nn19fX13
aGlsZSgwKTtpZigoYWF8MCk9PTI3MSl7YWE9MDtpZihaKXthYz1wO2FkPVc7YWU9WDthZj1yO2Fh
PTUyMzticmVha31lbHNle2FiPTB9fUwzMDg6ZG97c3dpdGNoKGFbcytZfDBdfDApe2Nhc2UgMTp7
aWYoKFl8MCk9PTMpe2FjPXA7YWQ9VzthZT1YO2FmPXI7YWE9NTIzO2JyZWFrIEwyODZ9JD1jW2c+
PjJdfDA7YWc9Y1skKzEyPj4yXXwwO2lmKChhZ3wwKT09KGNbJCsxNj4+Ml18MCkpe2FoPShiMFtj
WyhjWyQ+PjJdfDApKzM2Pj4yXSYxMjddKCQpfDApJjI1NX1lbHNle2FoPWFbYWddfDB9aWYoYWg8
PDI0Pj4yNDw9LTEpe2FhPTI5NjticmVhayBMMjg2fWlmKChiWyhjW2Y+PjJdfDApKyhhaDw8MjQ+
PjI0PDwxKT4+MV0mODE5Mik9PTApe2FhPTI5NjticmVhayBMMjg2fWFnPWNbZz4+Ml18MDskPWFn
KzEyfDA7YWk9Y1skPj4yXXwwO2lmKChhaXwwKT09KGNbYWcrMTY+PjJdfDApKXthaj0oYjBbY1so
Y1thZz4+Ml18MCkrNDA+PjJdJjEyN10oYWcpfDApJjI1NX1lbHNle2NbJD4+Ml09YWkrMTthaj1h
W2FpXXwwfWRVKEEsYWopO2FhPTI5NzticmVha307Y2FzZSAzOnthaT1hW0ZdfDA7JD1haSYyNTU7
YWc9KCQmMXwwKT09MD8kPj4+MTpjW0w+PjJdfDA7JD1hW0ddfDA7YWs9JCYyNTU7YWw9KGFrJjF8
MCk9PTA/YWs+Pj4xOmNbST4+Ml18MDtpZigoYWd8MCk9PSgtYWx8MCkpe2FtPXI7YW49RDthbz1Y
O2FwPVc7YXE9cDthcj1WO2JyZWFrIEwzMDh9YWs9KGFnfDApPT0wO2FnPWNbZz4+Ml18MDthcz1j
W2FnKzEyPj4yXXwwO2F0PWNbYWcrMTY+PjJdfDA7YXU9KGFzfDApPT0oYXR8MCk7aWYoIShha3wo
YWx8MCk9PTApKXtpZihhdSl7YWw9KGIwW2NbKGNbYWc+PjJdfDApKzM2Pj4yXSYxMjddKGFnKXww
KSYyNTU7YXY9Y1tnPj4yXXwwO2F3PWFsO2F4PWFbRl18MDtheT1hdjthej1jW2F2KzEyPj4yXXww
O2FBPWNbYXYrMTY+PjJdfDB9ZWxzZXthdz1hW2FzXXwwO2F4PWFpO2F5PWFnO2F6PWFzO2FBPWF0
fWF0PWF5KzEyfDA7YXY9KGF6fDApPT0oYUF8MCk7aWYoYXc8PDI0Pj4yND09KGFbKGF4JjEpPT0w
P0s6Y1tNPj4yXXwwXXwwKSl7aWYoYXYpe2FsPWNbKGNbYXk+PjJdfDApKzQwPj4yXXwwO2IwW2Fs
JjEyN10oYXkpfDB9ZWxzZXtjW2F0Pj4yXT1heisxfWF0PWRbRl18MDthbT0oKGF0JjF8MCk9PTA/
YXQ+Pj4xOmNbTD4+Ml18MCk+Pj4wPjE/eTpyO2FuPUQ7YW89WDthcD1XO2FxPXA7YXI9VjticmVh
ayBMMzA4fWlmKGF2KXthQj0oYjBbY1soY1theT4+Ml18MCkrMzY+PjJdJjEyN10oYXkpfDApJjI1
NX1lbHNle2FCPWFbYXpdfDB9aWYoYUI8PDI0Pj4yNCE9KGFbKGFbR10mMSk9PTA/bTpjW0o+PjJd
fDBdfDApKXthYT0zNjM7YnJlYWsgTDI4Nn1hdj1jW2c+PjJdfDA7YXQ9YXYrMTJ8MDthbD1jW2F0
Pj4yXXwwO2lmKChhbHwwKT09KGNbYXYrMTY+PjJdfDApKXthQz1jWyhjW2F2Pj4yXXwwKSs0MD4+
Ml18MDtiMFthQyYxMjddKGF2KXwwfWVsc2V7Y1thdD4+Ml09YWwrMX1hW2xdPTE7YWw9ZFtHXXww
O2FtPSgoYWwmMXwwKT09MD9hbD4+PjE6Y1tJPj4yXXwwKT4+PjA+MT96OnI7YW49RDthbz1YO2Fw
PVc7YXE9cDthcj1WO2JyZWFrIEwzMDh9aWYoYWspe2lmKGF1KXthaz0oYjBbY1soY1thZz4+Ml18
MCkrMzY+PjJdJjEyN10oYWcpfDApJjI1NTthRD1hazthRT1hW0ddfDB9ZWxzZXthRD1hW2FzXXww
O2FFPSR9aWYoYUQ8PDI0Pj4yNCE9KGFbKGFFJjEpPT0wP206Y1tKPj4yXXwwXXwwKSl7YW09cjth
bj1EO2FvPVg7YXA9VzthcT1wO2FyPVY7YnJlYWsgTDMwOH0kPWNbZz4+Ml18MDthaz0kKzEyfDA7
YWw9Y1thaz4+Ml18MDtpZigoYWx8MCk9PShjWyQrMTY+PjJdfDApKXthdD1jWyhjWyQ+PjJdfDAp
KzQwPj4yXXwwO2IwW2F0JjEyN10oJCl8MH1lbHNle2NbYWs+PjJdPWFsKzF9YVtsXT0xO2FsPWRb
R118MDthbT0oKGFsJjF8MCk9PTA/YWw+Pj4xOmNbST4+Ml18MCk+Pj4wPjE/ejpyO2FuPUQ7YW89
WDthcD1XO2FxPXA7YXI9VjticmVhayBMMzA4fWlmKGF1KXthdT0oYjBbY1soY1thZz4+Ml18MCkr
MzY+PjJdJjEyN10oYWcpfDApJjI1NTthRj1hdTthRz1hW0ZdfDB9ZWxzZXthRj1hW2FzXXwwO2FH
PWFpfWlmKGFGPDwyND4+MjQhPShhWyhhRyYxKT09MD9LOmNbTT4+Ml18MF18MCkpe2FbbF09MTth
bT1yO2FuPUQ7YW89WDthcD1XO2FxPXA7YXI9VjticmVhayBMMzA4fWFpPWNbZz4+Ml18MDthcz1h
aSsxMnwwO2F1PWNbYXM+PjJdfDA7aWYoKGF1fDApPT0oY1thaSsxNj4+Ml18MCkpe2FnPWNbKGNb
YWk+PjJdfDApKzQwPj4yXXwwO2IwW2FnJjEyN10oYWkpfDB9ZWxzZXtjW2FzPj4yXT1hdSsxfWF1
PWRbRl18MDthbT0oKGF1JjF8MCk9PTA/YXU+Pj4xOmNbTD4+Ml18MCk+Pj4wPjE/eTpyO2FuPUQ7
YW89WDthcD1XO2FxPXA7YXI9VjticmVha307Y2FzZSAwOnthYT0yOTc7YnJlYWt9O2Nhc2UgMjp7
aWYoISgocnwwKSE9MHxZPj4+MDwyKSl7aWYoKFl8MCk9PTIpe2FIPShhW1RdfDApIT0wfWVsc2V7
YUg9MH1pZighKE58YUgpKXthbT0wO2FuPUQ7YW89WDthcD1XO2FxPXA7YXI9VjticmVhayBMMzA4
fX1hdT1hW0VdfDA7YXM9KGF1JjEpPT0wP2o6Y1tQPj4yXXwwO0wzODI6ZG97aWYoKFl8MCk9PTAp
e2FJPWFzfWVsc2V7aWYoKGRbcysoWS0xKXwwXXwwKT49Mil7YUk9YXM7YnJlYWt9YWk9YXUmMjU1
O2FnPWFzKygoYWkmMXwwKT09MD9haT4+PjE6Y1tPPj4yXXwwKXwwO2FpPWFzO3doaWxlKDEpe2lm
KChhaXwwKT09KGFnfDApKXthSj1hZzticmVha31hbD1hW2FpXXwwO2lmKGFsPDwyND4+MjQ8PS0x
KXthSj1haTticmVha31pZigoYlsoY1tmPj4yXXwwKSsoYWw8PDI0Pj4yNDw8MSk+PjFdJjgxOTIp
PT0wKXthSj1haTticmVha31lbHNle2FpPWFpKzF8MH19YWk9YUotYXN8MDthZz1hW0hdfDA7YWw9
YWcmMjU1O2FrPShhbCYxfDApPT0wP2FsPj4+MTpjW1I+PjJdfDA7aWYoYWk+Pj4wPmFrPj4+MCl7
YUk9YXM7YnJlYWt9YWw9KGFnJjEpPT0wP1E6Y1tTPj4yXXwwO2FnPWFsK2FrfDA7aWYoKGFKfDAp
PT0oYXN8MCkpe2FJPWFzO2JyZWFrfSQ9YXM7YXQ9YWwrKGFrLWFpKXwwO3doaWxlKDEpe2lmKChh
W2F0XXwwKSE9KGFbJF18MCkpe2FJPWFzO2JyZWFrIEwzODJ9YWk9YXQrMXwwO2lmKChhaXwwKT09
KGFnfDApKXthST1hSjticmVha31lbHNleyQ9JCsxfDA7YXQ9YWl9fX19d2hpbGUoMCk7YXQ9YXUm
MjU1O0wzOTY6ZG97aWYoKGFJfDApPT0oYXMrKChhdCYxfDApPT0wP2F0Pj4+MTpjW08+PjJdfDAp
fDApKXthSz1hSX1lbHNleyQ9YWI7YWc9YUk7d2hpbGUoMSl7YWk9Y1tnPj4yXXwwO2Rve2lmKChh
aXwwKT09MCl7YUw9MH1lbHNle2lmKChjW2FpKzEyPj4yXXwwKSE9KGNbYWkrMTY+PjJdfDApKXth
TD1haTticmVha31pZigoYjBbY1soY1thaT4+Ml18MCkrMzY+PjJdJjEyN10oYWkpfDApPT0tMSl7
Y1tnPj4yXT0wO2FMPTA7YnJlYWt9ZWxzZXthTD1jW2c+PjJdfDA7YnJlYWt9fX13aGlsZSgwKTth
aT0oYUx8MCk9PTA7ZG97aWYoKCR8MCk9PTApe2FhPTM5Mn1lbHNle2lmKChjWyQrMTI+PjJdfDAp
IT0oY1skKzE2Pj4yXXwwKSl7aWYoYWkpe2FNPSQ7YnJlYWt9ZWxzZXthSz1hZzticmVhayBMMzk2
fX1pZigoYjBbY1soY1skPj4yXXwwKSszNj4+Ml0mMTI3XSgkKXwwKT09LTEpe2NbZT4+Ml09MDth
YT0zOTI7YnJlYWt9ZWxzZXtpZihhaSl7YU09JDticmVha31lbHNle2FLPWFnO2JyZWFrIEwzOTZ9
fX19d2hpbGUoMCk7aWYoKGFhfDApPT0zOTIpe2FhPTA7aWYoYWkpe2FLPWFnO2JyZWFrIEwzOTZ9
ZWxzZXthTT0wfX1haz1jW2c+PjJdfDA7YWw9Y1thaysxMj4+Ml18MDtpZigoYWx8MCk9PShjW2Fr
KzE2Pj4yXXwwKSl7YU49KGIwW2NbKGNbYWs+PjJdfDApKzM2Pj4yXSYxMjddKGFrKXwwKSYyNTV9
ZWxzZXthTj1hW2FsXXwwfWlmKGFOPDwyND4+MjQhPShhW2FnXXwwKSl7YUs9YWc7YnJlYWsgTDM5
Nn1hbD1jW2c+PjJdfDA7YWs9YWwrMTJ8MDthdj1jW2FrPj4yXXwwO2lmKChhdnwwKT09KGNbYWwr
MTY+PjJdfDApKXthQz1jWyhjW2FsPj4yXXwwKSs0MD4+Ml18MDtiMFthQyYxMjddKGFsKXwwfWVs
c2V7Y1thaz4+Ml09YXYrMX1hdj1hZysxfDA7YWs9YVtFXXwwO2FsPWFrJjI1NTtpZigoYXZ8MCk9
PSgoKGFrJjEpPT0wP2o6Y1tQPj4yXXwwKSsoKGFsJjF8MCk9PTA/YWw+Pj4xOmNbTz4+Ml18MCl8
MCkpe2FLPWF2O2JyZWFrfWVsc2V7JD1hTTthZz1hdn19fX13aGlsZSgwKTtpZighTil7YW09cjth
bj1EO2FvPVg7YXA9VzthcT1wO2FyPVY7YnJlYWsgTDMwOH1hdD1hW0VdfDA7YXM9YXQmMjU1O2lm
KChhS3wwKT09KCgoYXQmMSk9PTA/ajpjW1A+PjJdfDApKygoYXMmMXwwKT09MD9hcz4+PjE6Y1tP
Pj4yXXwwKXwwKSl7YW09cjthbj1EO2FvPVg7YXA9VzthcT1wO2FyPVZ9ZWxzZXthYT00MDU7YnJl
YWsgTDI4Nn1icmVha307Y2FzZSA0Onthcz0wO2F0PUQ7YXU9WDthZz1XOyQ9cDthdj1WO0w0MzE6
d2hpbGUoMSl7YWw9Y1tnPj4yXXwwO2Rve2lmKChhbHwwKT09MCl7YU89MH1lbHNle2lmKChjW2Fs
KzEyPj4yXXwwKSE9KGNbYWwrMTY+PjJdfDApKXthTz1hbDticmVha31pZigoYjBbY1soY1thbD4+
Ml18MCkrMzY+PjJdJjEyN10oYWwpfDApPT0tMSl7Y1tnPj4yXT0wO2FPPTA7YnJlYWt9ZWxzZXth
Tz1jW2c+PjJdfDA7YnJlYWt9fX13aGlsZSgwKTthbD0oYU98MCk9PTA7YWs9Y1tlPj4yXXwwO2Rv
e2lmKChha3wwKT09MCl7YWE9NDE4fWVsc2V7aWYoKGNbYWsrMTI+PjJdfDApIT0oY1thaysxNj4+
Ml18MCkpe2lmKGFsKXticmVha31lbHNle2JyZWFrIEw0MzF9fWlmKChiMFtjWyhjW2FrPj4yXXww
KSszNj4+Ml0mMTI3XShhayl8MCk9PS0xKXtjW2U+PjJdPTA7YWE9NDE4O2JyZWFrfWVsc2V7aWYo
YWwpe2JyZWFrfWVsc2V7YnJlYWsgTDQzMX19fX13aGlsZSgwKTtpZigoYWF8MCk9PTQxOCl7YWE9
MDtpZihhbCl7YnJlYWt9fWFrPWNbZz4+Ml18MDthQz1jW2FrKzEyPj4yXXwwO2lmKChhQ3wwKT09
KGNbYWsrMTY+PjJdfDApKXthUD0oYjBbY1soY1thaz4+Ml18MCkrMzY+PjJdJjEyN10oYWspfDAp
JjI1NX1lbHNle2FQPWFbYUNdfDB9ZG97aWYoYVA8PDI0Pj4yND4tMSl7aWYoKGJbKGNbZj4+Ml18
MCkrKGFQPDwyND4+MjQ8PDEpPj4xXSYyMDQ4KT09MCl7YWE9NDM3O2JyZWFrfWFDPWNbbz4+Ml18
MDtpZigoYUN8MCk9PShhdnwwKSl7YWs9KGNbVT4+Ml18MCkhPTE2NjthUT1jW2g+PjJdfDA7YVI9
YXYtYVF8MDthUz1hUj4+PjA8MjE0NzQ4MzY0Nz9hUjw8MTotMTthVD1rTChhaz9hUTowLGFTKXww
O2lmKChhVHwwKT09MCl7a1goKX1kb3tpZihhayl7Y1toPj4yXT1hVDthVT1hVH1lbHNle2FRPWNb
aD4+Ml18MDtjW2g+PjJdPWFUO2lmKChhUXwwKT09MCl7YVU9YVQ7YnJlYWt9YllbY1tVPj4yXSY1
MTFdKGFRKTthVT1jW2g+PjJdfDB9fXdoaWxlKDApO2NbVT4+Ml09ODI7YVQ9YVUrYVJ8MDtjW28+
PjJdPWFUO2FWPShjW2g+PjJdfDApK2FTfDA7YVc9YVR9ZWxzZXthVj1hdjthVz1hQ31jW28+PjJd
PWFXKzE7YVthV109YVA7YVg9YXMrMXwwO2FZPWF0O2FaPWF1O2FfPWFnO2EkPSQ7YTA9YVZ9ZWxz
ZXthYT00Mzd9fXdoaWxlKDApO2lmKChhYXwwKT09NDM3KXthYT0wO2FsPWRbd118MDtpZigoKChh
bCYxfDApPT0wP2FsPj4+MTpjW24+PjJdfDApfDApPT0wfChhc3wwKT09MCl7YnJlYWt9aWYoYVA8
PDI0Pj4yNCE9KGFbdV18MCkpe2JyZWFrfWlmKChhdXwwKT09KGF0fDApKXthbD1hdS1hZ3wwO2FU
PWFsPj4+MDwyMTQ3NDgzNjQ3P2FsPDwxOi0xO2lmKCgkfDApPT0xNjYpe2ExPTB9ZWxzZXthMT1h
Z31haz1rTChhMSxhVCl8MDthaT1haztpZigoYWt8MCk9PTApe2tYKCl9YTI9YWkrKGFUPj4+Mjw8
Mil8MDthMz1haSsoYWw+PjI8PDIpfDA7YTQ9YWk7YTU9ODJ9ZWxzZXthMj1hdDthMz1hdTthND1h
ZzthNT0kfWNbYTM+PjJdPWFzO2FYPTA7YVk9YTI7YVo9YTMrNHwwO2FfPWE0O2EkPWE1O2EwPWF2
fWFpPWNbZz4+Ml18MDthbD1haSsxMnwwO2FUPWNbYWw+PjJdfDA7aWYoKGFUfDApPT0oY1thaSsx
Nj4+Ml18MCkpe2FrPWNbKGNbYWk+PjJdfDApKzQwPj4yXXwwO2IwW2FrJjEyN10oYWkpfDA7YXM9
YVg7YXQ9YVk7YXU9YVo7YWc9YV87JD1hJDthdj1hMDtjb250aW51ZX1lbHNle2NbYWw+PjJdPWFU
KzE7YXM9YVg7YXQ9YVk7YXU9YVo7YWc9YV87JD1hJDthdj1hMDtjb250aW51ZX19aWYoKGFnfDAp
PT0oYXV8MCl8KGFzfDApPT0wKXthNj1hdDthNz1hdTthOD1hZzthOT0kfWVsc2V7aWYoKGF1fDAp
PT0oYXR8MCkpe2FUPWF1LWFnfDA7YWw9YVQ+Pj4wPDIxNDc0ODM2NDc/YVQ8PDE6LTE7aWYoKCR8
MCk9PTE2Nil7YmE9MH1lbHNle2JhPWFnfWFpPWtMKGJhLGFsKXwwO2FrPWFpO2lmKChhaXwwKT09
MCl7a1goKX1iYj1haysoYWw+Pj4yPDwyKXwwO2JjPWFrKyhhVD4+Mjw8Mil8MDtiZD1haztiZT04
Mn1lbHNle2JiPWF0O2JjPWF1O2JkPWFnO2JlPSR9Y1tiYz4+Ml09YXM7YTY9YmI7YTc9YmMrNHww
O2E4PWJkO2E5PWJlfWlmKChjW0I+PjJdfDApPjApe2FrPWNbZz4+Ml18MDtkb3tpZigoYWt8MCk9
PTApe2JmPTB9ZWxzZXtpZigoY1thaysxMj4+Ml18MCkhPShjW2FrKzE2Pj4yXXwwKSl7YmY9YWs7
YnJlYWt9aWYoKGIwW2NbKGNbYWs+PjJdfDApKzM2Pj4yXSYxMjddKGFrKXwwKT09LTEpe2NbZz4+
Ml09MDtiZj0wO2JyZWFrfWVsc2V7YmY9Y1tnPj4yXXwwO2JyZWFrfX19d2hpbGUoMCk7YWs9KGJm
fDApPT0wO2FzPWNbZT4+Ml18MDtkb3tpZigoYXN8MCk9PTApe2FhPTQ3MH1lbHNle2lmKChjW2Fz
KzEyPj4yXXwwKSE9KGNbYXMrMTY+PjJdfDApKXtpZihhayl7Ymc9YXM7YnJlYWt9ZWxzZXthYT00
Nzc7YnJlYWsgTDI4Nn19aWYoKGIwW2NbKGNbYXM+PjJdfDApKzM2Pj4yXSYxMjddKGFzKXwwKT09
LTEpe2NbZT4+Ml09MDthYT00NzA7YnJlYWt9ZWxzZXtpZihhayl7Ymc9YXM7YnJlYWt9ZWxzZXth
YT00Nzc7YnJlYWsgTDI4Nn19fX13aGlsZSgwKTtpZigoYWF8MCk9PTQ3MCl7YWE9MDtpZihhayl7
YWE9NDc3O2JyZWFrIEwyODZ9ZWxzZXtiZz0wfX1hcz1jW2c+PjJdfDA7JD1jW2FzKzEyPj4yXXww
O2lmKCgkfDApPT0oY1thcysxNj4+Ml18MCkpe2JoPShiMFtjWyhjW2FzPj4yXXwwKSszNj4+Ml0m
MTI3XShhcyl8MCkmMjU1fWVsc2V7Ymg9YVskXXwwfWlmKGJoPDwyND4+MjQhPShhW3RdfDApKXth
YT00Nzc7YnJlYWsgTDI4Nn0kPWNbZz4+Ml18MDthcz0kKzEyfDA7YWc9Y1thcz4+Ml18MDtpZigo
YWd8MCk9PShjWyQrMTY+PjJdfDApKXthdT1jWyhjWyQ+PjJdfDApKzQwPj4yXXwwO2IwW2F1JjEy
N10oJCl8MDtiaT1hdjtiaj1iZ31lbHNle2NbYXM+PjJdPWFnKzE7Ymk9YXY7Ymo9Ymd9d2hpbGUo
MSl7YWc9Y1tnPj4yXXwwO2Rve2lmKChhZ3wwKT09MCl7Yms9MH1lbHNle2lmKChjW2FnKzEyPj4y
XXwwKSE9KGNbYWcrMTY+PjJdfDApKXtiaz1hZzticmVha31pZigoYjBbY1soY1thZz4+Ml18MCkr
MzY+PjJdJjEyN10oYWcpfDApPT0tMSl7Y1tnPj4yXT0wO2JrPTA7YnJlYWt9ZWxzZXtiaz1jW2c+
PjJdfDA7YnJlYWt9fX13aGlsZSgwKTthZz0oYmt8MCk9PTA7ZG97aWYoKGJqfDApPT0wKXthYT00
OTN9ZWxzZXtpZigoY1tiaisxMj4+Ml18MCkhPShjW2JqKzE2Pj4yXXwwKSl7aWYoYWcpe2JsPWJq
O2JyZWFrfWVsc2V7YWE9NTAxO2JyZWFrIEwyODZ9fWlmKChiMFtjWyhjW2JqPj4yXXwwKSszNj4+
Ml0mMTI3XShiail8MCk9PS0xKXtjW2U+PjJdPTA7YWE9NDkzO2JyZWFrfWVsc2V7aWYoYWcpe2Js
PWJqO2JyZWFrfWVsc2V7YWE9NTAxO2JyZWFrIEwyODZ9fX19d2hpbGUoMCk7aWYoKGFhfDApPT00
OTMpe2FhPTA7aWYoYWcpe2FhPTUwMTticmVhayBMMjg2fWVsc2V7Ymw9MH19YXM9Y1tnPj4yXXww
OyQ9Y1thcysxMj4+Ml18MDtpZigoJHwwKT09KGNbYXMrMTY+PjJdfDApKXtibT0oYjBbY1soY1th
cz4+Ml18MCkrMzY+PjJdJjEyN10oYXMpfDApJjI1NX1lbHNle2JtPWFbJF18MH1pZihibTw8MjQ+
PjI0PD0tMSl7YWE9NTAxO2JyZWFrIEwyODZ9aWYoKGJbKGNbZj4+Ml18MCkrKGJtPDwyND4+MjQ8
PDEpPj4xXSYyMDQ4KT09MCl7YWE9NTAxO2JyZWFrIEwyODZ9JD1jW28+PjJdfDA7aWYoKCR8MCk9
PShiaXwwKSl7YXM9KGNbVT4+Ml18MCkhPTE2NjthdT1jW2g+PjJdfDA7YXQ9YmktYXV8MDthVD1h
dD4+PjA8MjE0NzQ4MzY0Nz9hdDw8MTotMTthbD1rTChhcz9hdTowLGFUKXwwO2lmKChhbHwwKT09
MCl7a1goKX1kb3tpZihhcyl7Y1toPj4yXT1hbDtibj1hbH1lbHNle2F1PWNbaD4+Ml18MDtjW2g+
PjJdPWFsO2lmKChhdXwwKT09MCl7Ym49YWw7YnJlYWt9YllbY1tVPj4yXSY1MTFdKGF1KTtibj1j
W2g+PjJdfDB9fXdoaWxlKDApO2NbVT4+Ml09ODI7YWw9Ym4rYXR8MDtjW28+PjJdPWFsO2JvPShj
W2g+PjJdfDApK2FUfDA7YnA9YWx9ZWxzZXtibz1iaTticD0kfWFsPWNbZz4+Ml18MDthcz1jW2Fs
KzEyPj4yXXwwO2lmKChhc3wwKT09KGNbYWwrMTY+PjJdfDApKXthZz0oYjBbY1soY1thbD4+Ml18
MCkrMzY+PjJdJjEyN10oYWwpfDApJjI1NTticT1hZzticj1jW28+PjJdfDB9ZWxzZXticT1hW2Fz
XXwwO2JyPWJwfWNbbz4+Ml09YnIrMTthW2JyXT1icTthcz0oY1tCPj4yXXwwKS0xfDA7Y1tCPj4y
XT1hczthZz1jW2c+PjJdfDA7YWw9YWcrMTJ8MDthdT1jW2FsPj4yXXwwO2lmKChhdXwwKT09KGNb
YWcrMTY+PjJdfDApKXthaT1jWyhjW2FnPj4yXXwwKSs0MD4+Ml18MDtiMFthaSYxMjddKGFnKXww
fWVsc2V7Y1thbD4+Ml09YXUrMX1pZigoYXN8MCk+MCl7Ymk9Ym87Ymo9Ymx9ZWxzZXticz1ibzti
cmVha319fWVsc2V7YnM9YXZ9aWYoKGNbbz4+Ml18MCk9PShjW2g+PjJdfDApKXthYT01MjE7YnJl
YWsgTDI4Nn1lbHNle2FtPXI7YW49YTY7YW89YTc7YXA9YTg7YXE9YTk7YXI9YnN9YnJlYWt9O2Rl
ZmF1bHQ6e2FtPXI7YW49RDthbz1YO2FwPVc7YXE9cDthcj1WfX19d2hpbGUoMCk7TDU4NTpkb3tp
ZigoYWF8MCk9PTI5Nyl7YWE9MDtpZigoWXwwKT09Myl7YWM9cDthZD1XO2FlPVg7YWY9cjthYT01
MjM7YnJlYWsgTDI4Nn1lbHNle2J0PWFifXdoaWxlKDEpe1o9Y1tnPj4yXXwwO2Rve2lmKChafDAp
PT0wKXtidT0wfWVsc2V7aWYoKGNbWisxMj4+Ml18MCkhPShjW1orMTY+PjJdfDApKXtidT1aO2Jy
ZWFrfWlmKChiMFtjWyhjW1o+PjJdfDApKzM2Pj4yXSYxMjddKFopfDApPT0tMSl7Y1tnPj4yXT0w
O2J1PTA7YnJlYWt9ZWxzZXtidT1jW2c+PjJdfDA7YnJlYWt9fX13aGlsZSgwKTtaPShidXwwKT09
MDtkb3tpZigoYnR8MCk9PTApe2FhPTMxMH1lbHNle2lmKChjW2J0KzEyPj4yXXwwKSE9KGNbYnQr
MTY+PjJdfDApKXtpZihaKXtidj1idDticmVha31lbHNle2FtPXI7YW49RDthbz1YO2FwPVc7YXE9
cDthcj1WO2JyZWFrIEw1ODV9fWlmKChiMFtjWyhjW2J0Pj4yXXwwKSszNj4+Ml0mMTI3XShidCl8
MCk9PS0xKXtjW2U+PjJdPTA7YWE9MzEwO2JyZWFrfWVsc2V7aWYoWil7YnY9YnQ7YnJlYWt9ZWxz
ZXthbT1yO2FuPUQ7YW89WDthcD1XO2FxPXA7YXI9VjticmVhayBMNTg1fX19fXdoaWxlKDApO2lm
KChhYXwwKT09MzEwKXthYT0wO2lmKFope2FtPXI7YW49RDthbz1YO2FwPVc7YXE9cDthcj1WO2Jy
ZWFrIEw1ODV9ZWxzZXtidj0wfX0kPWNbZz4+Ml18MDthVD1jWyQrMTI+PjJdfDA7aWYoKGFUfDAp
PT0oY1skKzE2Pj4yXXwwKSl7Ync9KGIwW2NbKGNbJD4+Ml18MCkrMzY+PjJdJjEyN10oJCl8MCkm
MjU1fWVsc2V7Ync9YVthVF18MH1pZihidzw8MjQ+PjI0PD0tMSl7YW09cjthbj1EO2FvPVg7YXA9
VzthcT1wO2FyPVY7YnJlYWsgTDU4NX1pZigoYlsoY1tmPj4yXXwwKSsoYnc8PDI0Pj4yNDw8MSk+
PjFdJjgxOTIpPT0wKXthbT1yO2FuPUQ7YW89WDthcD1XO2FxPXA7YXI9VjticmVhayBMNTg1fWFU
PWNbZz4+Ml18MDskPWFUKzEyfDA7YXQ9Y1skPj4yXXwwO2lmKChhdHwwKT09KGNbYVQrMTY+PjJd
fDApKXtieD0oYjBbY1soY1thVD4+Ml18MCkrNDA+PjJdJjEyN10oYVQpfDApJjI1NX1lbHNle2Nb
JD4+Ml09YXQrMTtieD1hW2F0XXwwfWRVKEEsYngpO2J0PWJ2fX19d2hpbGUoMCk7YXY9WSsxfDA7
aWYoYXY+Pj4wPDQpe1Y9YXI7cD1hcTtXPWFwO1g9YW87RD1hbjtyPWFtO1k9YXZ9ZWxzZXthYz1h
cTthZD1hcDthZT1hbzthZj1hbTthYT01MjM7YnJlYWt9fUw2MjI6ZG97aWYoKGFhfDApPT0yOTYp
e2Nbaz4+Ml09Y1trPj4yXXw0O2J5PTA7Yno9VztiQT1wfWVsc2UgaWYoKGFhfDApPT0zNjMpe2Nb
az4+Ml09Y1trPj4yXXw0O2J5PTA7Yno9VztiQT1wfWVsc2UgaWYoKGFhfDApPT00MDUpe2Nbaz4+
Ml09Y1trPj4yXXw0O2J5PTA7Yno9VztiQT1wfWVsc2UgaWYoKGFhfDApPT00Nzcpe2Nbaz4+Ml09
Y1trPj4yXXw0O2J5PTA7Yno9YTg7YkE9YTl9ZWxzZSBpZigoYWF8MCk9PTUwMSl7Y1trPj4yXT1j
W2s+PjJdfDQ7Ynk9MDtiej1hODtiQT1hOX1lbHNlIGlmKChhYXwwKT09NTIxKXtjW2s+PjJdPWNb
az4+Ml18NDtieT0wO2J6PWE4O2JBPWE5fWVsc2UgaWYoKGFhfDApPT01MjMpe0w2MzA6ZG97aWYo
KGFmfDApIT0wKXthbT1hZjthbz1hZisxfDA7YXA9YWYrOHwwO2FxPWFmKzR8MDtZPTE7TDYzMjp3
aGlsZSgxKXtyPWRbYW1dfDA7aWYoKHImMXwwKT09MCl7YkI9cj4+PjF9ZWxzZXtiQj1jW2FxPj4y
XXwwfWlmKFk+Pj4wPj1iQj4+PjApe2JyZWFrIEw2MzB9cj1jW2c+PjJdfDA7ZG97aWYoKHJ8MCk9
PTApe2JDPTB9ZWxzZXtpZigoY1tyKzEyPj4yXXwwKSE9KGNbcisxNj4+Ml18MCkpe2JDPXI7YnJl
YWt9aWYoKGIwW2NbKGNbcj4+Ml18MCkrMzY+PjJdJjEyN10ocil8MCk9PS0xKXtjW2c+PjJdPTA7
YkM9MDticmVha31lbHNle2JDPWNbZz4+Ml18MDticmVha319fXdoaWxlKDApO3I9KGJDfDApPT0w
O1o9Y1tlPj4yXXwwO2Rve2lmKChafDApPT0wKXthYT01NDF9ZWxzZXtpZigoY1taKzEyPj4yXXww
KSE9KGNbWisxNj4+Ml18MCkpe2lmKHIpe2JyZWFrfWVsc2V7YnJlYWsgTDYzMn19aWYoKGIwW2Nb
KGNbWj4+Ml18MCkrMzY+PjJdJjEyN10oWil8MCk9PS0xKXtjW2U+PjJdPTA7YWE9NTQxO2JyZWFr
fWVsc2V7aWYocil7YnJlYWt9ZWxzZXticmVhayBMNjMyfX19fXdoaWxlKDApO2lmKChhYXwwKT09
NTQxKXthYT0wO2lmKHIpe2JyZWFrfX1aPWNbZz4+Ml18MDthbj1jW1orMTI+PjJdfDA7aWYoKGFu
fDApPT0oY1taKzE2Pj4yXXwwKSl7YkQ9KGIwW2NbKGNbWj4+Ml18MCkrMzY+PjJdJjEyN10oWil8
MCkmMjU1fWVsc2V7YkQ9YVthbl18MH1pZigoYVthbV0mMSk9PTApe2JFPWFvfWVsc2V7YkU9Y1th
cD4+Ml18MH1pZihiRDw8MjQ+PjI0IT0oYVtiRStZfDBdfDApKXticmVha31hbj1ZKzF8MDtaPWNb
Zz4+Ml18MDtEPVorMTJ8MDtYPWNbRD4+Ml18MDtpZigoWHwwKT09KGNbWisxNj4+Ml18MCkpe2Fy
PWNbKGNbWj4+Ml18MCkrNDA+PjJdfDA7YjBbYXImMTI3XShaKXwwO1k9YW47Y29udGludWV9ZWxz
ZXtjW0Q+PjJdPVgrMTtZPWFuO2NvbnRpbnVlfX1jW2s+PjJdPWNbaz4+Ml18NDtieT0wO2J6PWFk
O2JBPWFjO2JyZWFrIEw2MjJ9fXdoaWxlKDApO2lmKChhZHwwKT09KGFlfDApKXtieT0xO2J6PWFl
O2JBPWFjO2JyZWFrfWNbQz4+Ml09MDtmdCh2LGFkLGFlLEMpO2lmKChjW0M+PjJdfDApPT0wKXti
eT0xO2J6PWFkO2JBPWFjO2JyZWFrfWNbaz4+Ml09Y1trPj4yXXw0O2J5PTA7Yno9YWQ7YkE9YWN9
fXdoaWxlKDApO2RQKEEpO2RQKHopO2RQKHkpO2RQKHgpO2RQKHYpO2lmKChienwwKT09MCl7aT1x
O3JldHVybiBieXwwfWJZW2JBJjUxMV0oYnopO2k9cTtyZXR1cm4gYnl8MH1mdW5jdGlvbiBoUyhi
LGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxt
PTAsbj0wO2Y9YjtnPWQ7aD1hW2ZdfDA7aT1oJjI1NTtpZigoaSYxfDApPT0wKXtqPWk+Pj4xfWVs
c2V7aj1jW2IrND4+Ml18MH1pZigoaCYxKT09MCl7az0xMDtsPWh9ZWxzZXtoPWNbYj4+Ml18MDtr
PShoJi0yKS0xfDA7bD1oJjI1NX1oPWUtZ3wwO2lmKChlfDApPT0oZHwwKSl7cmV0dXJuIGJ8MH1p
Zigoay1qfDApPj4+MDxoPj4+MCl7ZDEoYixrLGoraC1rfDAsaixqLDAsMCk7bT1hW2ZdfDB9ZWxz
ZXttPWx9aWYoKG0mMSk9PTApe249YisxfDB9ZWxzZXtuPWNbYis4Pj4yXXwwfW09ZSsoai1nKXww
O2c9ZDtkPW4ranwwO3doaWxlKDEpe2FbZF09YVtnXXwwO2w9ZysxfDA7aWYoKGx8MCk9PShlfDAp
KXticmVha31lbHNle2c9bDtkPWQrMXwwfX1hW24rbXwwXT0wO209aitofDA7aWYoKGFbZl0mMSk9
PTApe2FbZl09bTw8MSYyNTU7cmV0dXJuIGJ8MH1lbHNle2NbYis0Pj4yXT1tO3JldHVybiBifDB9
cmV0dXJuIDB9ZnVuY3Rpb24gaFQoYSl7YT1hfDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rp
b24gaFUoYSl7YT1hfDA7ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24gaFYoYSl7YT1hfDA7dmFyIGI9
MDtiPWJPKDgpfDA7ZEUoYixhKTtibChifDAsODE5MiwyMil9ZnVuY3Rpb24gaFcoYixkLGUsZixn
LGgsaixrKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2
YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9
MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MDtkPWk7aT1pKzE2MHwwO2w9ZTtlPWk7aT1pKzR8MDtp
PWkrNz4+Mzw8MztjW2U+PjJdPWNbbD4+Ml07bD1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2Nb
Zj4+Ml09Y1tsPj4yXTtsPWR8MDttPWQrMTZ8MDtuPWQrMTIwfDA7bz1kKzEyOHwwO3A9ZCsxMzZ8
MDtxPWQrMTQ0fDA7cj1kKzE1MnwwO3M9bnwwO2Nbcz4+Ml09bTt0PW4rNHwwO2NbdD4+Ml09MTY2
O3U9bSsxMDB8MDtlaihwLGgpO209cHwwO3Y9Y1ttPj4yXXwwO2lmKChjWzM5MjRdfDApIT0tMSl7
Y1tsPj4yXT0xNTY5NjtjW2wrND4+Ml09MTI7Y1tsKzg+PjJdPTA7ZFcoMTU2OTYsbCw5Nil9bD0o
Y1szOTI1XXwwKS0xfDA7dz1jW3YrOD4+Ml18MDtkb3tpZigoY1t2KzEyPj4yXXwwKS13Pj4yPj4+
MD5sPj4+MCl7eD1jW3crKGw8PDIpPj4yXXwwO2lmKCh4fDApPT0wKXticmVha315PXg7YVtxXT0w
O3o9ZnwwO0E9Y1t6Pj4yXXwwO2Nbcj4+Ml09QTtpZihoUihlLHIsZyxwLGNbaCs0Pj4yXXwwLGos
cSx5LG4sbyx1KXwwKXtCPWs7aWYoKGFbQl0mMSk9PTApe2FbaysxfDBdPTA7YVtCXT0wfWVsc2V7
YVtjW2srOD4+Ml18MF09MDtjW2srND4+Ml09MH1CPXg7aWYoKGFbcV0mMSkhPTApe2RVKGssYl9b
Y1soY1tCPj4yXXwwKSsyOD4+Ml0mMzFdKHksNDUpfDApfXg9Yl9bY1soY1tCPj4yXXwwKSsyOD4+
Ml0mMzFdKHksNDgpfDA7eT1jW28+PjJdfDA7Qj15LTF8MDtDPWNbcz4+Ml18MDt3aGlsZSgxKXtp
ZihDPj4+MD49Qj4+PjApe2JyZWFrfWlmKChhW0NdfDApPT14PDwyND4+MjQpe0M9QysxfDB9ZWxz
ZXticmVha319aFMoayxDLHkpfDB9eD1lfDA7Qj1jW3g+PjJdfDA7ZG97aWYoKEJ8MCk9PTApe0Q9
MH1lbHNle2lmKChjW0IrMTI+PjJdfDApIT0oY1tCKzE2Pj4yXXwwKSl7RD1CO2JyZWFrfWlmKChi
MFtjWyhjW0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDApIT0tMSl7RD1CO2JyZWFrfWNbeD4+Ml09
MDtEPTB9fXdoaWxlKDApO3g9KER8MCk9PTA7ZG97aWYoKEF8MCk9PTApe0U9NjIxfWVsc2V7aWYo
KGNbQSsxMj4+Ml18MCkhPShjW0ErMTY+PjJdfDApKXtpZih4KXticmVha31lbHNle0U9NjIzO2Jy
ZWFrfX1pZigoYjBbY1soY1tBPj4yXXwwKSszNj4+Ml0mMTI3XShBKXwwKT09LTEpe2Nbej4+Ml09
MDtFPTYyMTticmVha31lbHNle2lmKHheKEF8MCk9PTApe2JyZWFrfWVsc2V7RT02MjM7YnJlYWt9
fX19d2hpbGUoMCk7aWYoKEV8MCk9PTYyMSl7aWYoeCl7RT02MjN9fWlmKChFfDApPT02MjMpe2Nb
aj4+Ml09Y1tqPj4yXXwyfWNbYj4+Ml09RDtBPWNbbT4+Ml18MDtkeihBKXwwO0E9Y1tzPj4yXXww
O2Nbcz4+Ml09MDtpZigoQXwwKT09MCl7aT1kO3JldHVybn1iWVtjW3Q+PjJdJjUxMV0oQSk7aT1k
O3JldHVybn19d2hpbGUoMCk7ZD1iTyg0KXwwO2txKGQpO2JsKGR8MCw4MTc2LDEzNCl9ZnVuY3Rp
b24gaFgoYixkLGUsZixnLGgsaixrLGwsbSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7
aD1ofDA7aj1qfDA7az1rfDA7bD1sfDA7bT1tfDA7dmFyIG49MCxvPTAscD0wLHE9MCxyPTAscz0w
LHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAs
ST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wO249aTtpPWkrNTZ8MDtvPW58MDtwPW4rMTZ8MDtx
PW4rMzJ8MDtyPW4rNDB8MDtzPXI7dD1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3U9dDt2PWk7aT1p
KzEyfDA7aT1pKzc+PjM8PDM7dz12O3g9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8Mzt5PXg7ej1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7QT1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO0I9QTtEPWk7aT1pKzEy
fDA7aT1pKzc+PjM8PDM7RT1EO0Y9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8MztHPUY7SD1pO2k9aSsx
MnwwO2k9aSs3Pj4zPDwzO0k9SDtpZihiKXtiPWNbZD4+Ml18MDtpZigoY1s0MDQ0XXwwKSE9LTEp
e2NbcD4+Ml09MTYxNzY7Y1twKzQ+PjJdPTEyO2NbcCs4Pj4yXT0wO2RXKDE2MTc2LHAsOTYpfXA9
KGNbNDA0NV18MCktMXwwO0o9Y1tiKzg+PjJdfDA7aWYoKGNbYisxMj4+Ml18MCktSj4+Mj4+PjA8
PXA+Pj4wKXtLPWJPKDQpfDA7TD1LO2txKEwpO2JsKEt8MCw4MTc2LDEzNCl9Yj1jW0orKHA8PDIp
Pj4yXXwwO2lmKChifDApPT0wKXtLPWJPKDQpfDA7TD1LO2txKEwpO2JsKEt8MCw4MTc2LDEzNCl9
Sz1iO2JaW2NbKGNbYj4+Ml18MCkrNDQ+PjJdJjEyN10ocSxLKTtMPWU7Qz1jW3E+PjJdfDA7YVtM
XT1DJjI1NTtDPUM+Pjg7YVtMKzF8MF09QyYyNTU7Qz1DPj44O2FbTCsyfDBdPUMmMjU1O0M9Qz4+
ODthW0wrM3wwXT1DJjI1NTtMPWI7YlpbY1soY1tMPj4yXXwwKSszMj4+Ml0mMTI3XShyLEspO3E9
bDtpZigoYVtxXSYxKT09MCl7YVtsKzF8MF09MDthW3FdPTB9ZWxzZXthW2NbbCs4Pj4yXXwwXT0w
O2NbbCs0Pj4yXT0wfWQkKGwsMCk7Y1txPj4yXT1jW3M+PjJdO2NbcSs0Pj4yXT1jW3MrND4+Ml07
Y1txKzg+PjJdPWNbcys4Pj4yXTtrJChzfDAsMCwxMik7ZFAocik7YlpbY1soY1tMPj4yXXwwKSsy
OD4+Ml0mMTI3XSh0LEspO3I9aztpZigoYVtyXSYxKT09MCl7YVtrKzF8MF09MDthW3JdPTB9ZWxz
ZXthW2Nbays4Pj4yXXwwXT0wO2Nbays0Pj4yXT0wfWQkKGssMCk7Y1tyPj4yXT1jW3U+PjJdO2Nb
cis0Pj4yXT1jW3UrND4+Ml07Y1tyKzg+PjJdPWNbdSs4Pj4yXTtrJCh1fDAsMCwxMik7ZFAodCk7
dD1iO2FbZl09YjBbY1soY1t0Pj4yXXwwKSsxMj4+Ml0mMTI3XShLKXwwO2FbZ109YjBbY1soY1t0
Pj4yXXwwKSsxNj4+Ml0mMTI3XShLKXwwO2JaW2NbKGNbTD4+Ml18MCkrMjA+PjJdJjEyN10odixL
KTt0PWg7aWYoKGFbdF0mMSk9PTApe2FbaCsxfDBdPTA7YVt0XT0wfWVsc2V7YVtjW2grOD4+Ml18
MF09MDtjW2grND4+Ml09MH1kJChoLDApO2NbdD4+Ml09Y1t3Pj4yXTtjW3QrND4+Ml09Y1t3KzQ+
PjJdO2NbdCs4Pj4yXT1jW3crOD4+Ml07ayQod3wwLDAsMTIpO2RQKHYpO2JaW2NbKGNbTD4+Ml18
MCkrMjQ+PjJdJjEyN10oeCxLKTtMPWo7aWYoKGFbTF0mMSk9PTApe2FbaisxfDBdPTA7YVtMXT0w
fWVsc2V7YVtjW2orOD4+Ml18MF09MDtjW2orND4+Ml09MH1kJChqLDApO2NbTD4+Ml09Y1t5Pj4y
XTtjW0wrND4+Ml09Y1t5KzQ+PjJdO2NbTCs4Pj4yXT1jW3krOD4+Ml07ayQoeXwwLDAsMTIpO2RQ
KHgpO009YjBbY1soY1tiPj4yXXwwKSszNj4+Ml0mMTI3XShLKXwwO2NbbT4+Ml09TTtpPW47cmV0
dXJufWVsc2V7Sz1jW2Q+PjJdfDA7aWYoKGNbNDA0Nl18MCkhPS0xKXtjW28+PjJdPTE2MTg0O2Nb
bys0Pj4yXT0xMjtjW28rOD4+Ml09MDtkVygxNjE4NCxvLDk2KX1vPShjWzQwNDddfDApLTF8MDtk
PWNbSys4Pj4yXXwwO2lmKChjW0srMTI+PjJdfDApLWQ+PjI+Pj4wPD1vPj4+MCl7Tj1iTyg0KXww
O089TjtrcShPKTtibChOfDAsODE3NiwxMzQpfUs9Y1tkKyhvPDwyKT4+Ml18MDtpZigoS3wwKT09
MCl7Tj1iTyg0KXwwO089TjtrcShPKTtibChOfDAsODE3NiwxMzQpfU49SztiWltjWyhjW0s+PjJd
fDApKzQ0Pj4yXSYxMjddKHosTik7Tz1lO0M9Y1t6Pj4yXXwwO2FbT109QyYyNTU7Qz1DPj44O2Fb
TysxfDBdPUMmMjU1O0M9Qz4+ODthW08rMnwwXT1DJjI1NTtDPUM+Pjg7YVtPKzN8MF09QyYyNTU7
Tz1LO2JaW2NbKGNbTz4+Ml18MCkrMzI+PjJdJjEyN10oQSxOKTt6PWw7aWYoKGFbel0mMSk9PTAp
e2FbbCsxfDBdPTA7YVt6XT0wfWVsc2V7YVtjW2wrOD4+Ml18MF09MDtjW2wrND4+Ml09MH1kJChs
LDApO2Nbej4+Ml09Y1tCPj4yXTtjW3orND4+Ml09Y1tCKzQ+PjJdO2Nbeis4Pj4yXT1jW0IrOD4+
Ml07ayQoQnwwLDAsMTIpO2RQKEEpO2JaW2NbKGNbTz4+Ml18MCkrMjg+PjJdJjEyN10oRCxOKTtB
PWs7aWYoKGFbQV0mMSk9PTApe2FbaysxfDBdPTA7YVtBXT0wfWVsc2V7YVtjW2srOD4+Ml18MF09
MDtjW2srND4+Ml09MH1kJChrLDApO2NbQT4+Ml09Y1tFPj4yXTtjW0ErND4+Ml09Y1tFKzQ+PjJd
O2NbQSs4Pj4yXT1jW0UrOD4+Ml07ayQoRXwwLDAsMTIpO2RQKEQpO0Q9SzthW2ZdPWIwW2NbKGNb
RD4+Ml18MCkrMTI+PjJdJjEyN10oTil8MDthW2ddPWIwW2NbKGNbRD4+Ml18MCkrMTY+PjJdJjEy
N10oTil8MDtiWltjWyhjW08+PjJdfDApKzIwPj4yXSYxMjddKEYsTik7RD1oO2lmKChhW0RdJjEp
PT0wKXthW2grMXwwXT0wO2FbRF09MH1lbHNle2FbY1toKzg+PjJdfDBdPTA7Y1toKzQ+PjJdPTB9
ZCQoaCwwKTtjW0Q+PjJdPWNbRz4+Ml07Y1tEKzQ+PjJdPWNbRys0Pj4yXTtjW0QrOD4+Ml09Y1tH
Kzg+PjJdO2skKEd8MCwwLDEyKTtkUChGKTtiWltjWyhjW08+PjJdfDApKzI0Pj4yXSYxMjddKEgs
Tik7Tz1qO2lmKChhW09dJjEpPT0wKXthW2orMXwwXT0wO2FbT109MH1lbHNle2FbY1tqKzg+PjJd
fDBdPTA7Y1tqKzQ+PjJdPTB9ZCQoaiwwKTtjW08+PjJdPWNbST4+Ml07Y1tPKzQ+PjJdPWNbSSs0
Pj4yXTtjW08rOD4+Ml09Y1tJKzg+PjJdO2skKEl8MCwwLDEyKTtkUChIKTtNPWIwW2NbKGNbSz4+
Ml18MCkrMzY+PjJdJjEyN10oTil8MDtjW20+PjJdPU07aT1uO3JldHVybn19ZnVuY3Rpb24gaFko
YixkLGUsZixnLGgsaixrKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8
MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3
PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9
MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTA7ZD1pO2k9aSs2MDB8MDts
PWU7ZT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW2w+PjJdO2w9ZjtmPWk7aT1pKzR8
MDtpPWkrNz4+Mzw8MztjW2Y+PjJdPWNbbD4+Ml07bD1kfDA7bT1kKzE2fDA7bj1kKzQxNnwwO289
ZCs0MjR8MDtwPWQrNDMyfDA7cT1kKzQ0MHwwO3I9ZCs0NDh8MDtzPWQrNDU2fDA7dD1kKzQ5Nnww
O3U9bnwwO2NbdT4+Ml09bTt2PW4rNHwwO2Nbdj4+Ml09MTY2O3c9bSs0MDB8MDtlaihwLGgpO209
cHwwO3g9Y1ttPj4yXXwwO2lmKChjWzM5MjJdfDApIT0tMSl7Y1tsPj4yXT0xNTY4ODtjW2wrND4+
Ml09MTI7Y1tsKzg+PjJdPTA7ZFcoMTU2ODgsbCw5Nil9bD0oY1szOTIzXXwwKS0xfDA7eT1jW3gr
OD4+Ml18MDtkb3tpZigoY1t4KzEyPj4yXXwwKS15Pj4yPj4+MD5sPj4+MCl7ej1jW3krKGw8PDIp
Pj4yXXwwO2lmKCh6fDApPT0wKXticmVha31BPXo7YVtxXT0wO0I9ZnwwO2Nbcj4+Ml09Y1tCPj4y
XTtkb3tpZihoWihlLHIsZyxwLGNbaCs0Pj4yXXwwLGoscSxBLG4sbyx3KXwwKXtDPXN8MDtEPWNb
KGNbej4+Ml18MCkrNDg+PjJdfDA7Y2FbRCYxNV0oQSwyMDk2LDIxMDYsQyl8MDtEPXR8MDtFPWNb
bz4+Ml18MDtGPWNbdT4+Ml18MDtHPUUtRnwwO2Rve2lmKChHfDApPjM5Mil7SD1rSigoRz4+Mikr
MnwwKXwwO2lmKChIfDApIT0wKXtJPUg7Sj1IO2JyZWFrfWtYKCk7ST0wO0o9MH1lbHNle0k9RDtK
PTB9fXdoaWxlKDApO2lmKChhW3FdJjEpPT0wKXtLPUl9ZWxzZXthW0ldPTQ1O0s9SSsxfDB9aWYo
Rj4+PjA8RT4+PjApe0c9cys0MHwwO0g9cztMPUs7TT1GO3doaWxlKDEpe049Qzt3aGlsZSgxKXtp
ZigoTnwwKT09KEd8MCkpe089RzticmVha31pZigoY1tOPj4yXXwwKT09KGNbTT4+Ml18MCkpe089
TjticmVha31lbHNle049Tis0fDB9fWFbTF09YVsyMDk2KyhPLUg+PjIpfDBdfDA7Tj1NKzR8MDtQ
PUwrMXwwO2lmKE4+Pj4wPChjW28+PjJdfDApPj4+MCl7TD1QO009Tn1lbHNle1E9UDticmVha319
fWVsc2V7UT1LfWFbUV09MDtNPWJEKER8MCwxNDA4LChMPWksaT1pKzh8MCxjW0w+PjJdPWssTCl8
MCl8MDtpPUw7aWYoKE18MCk9PTEpe2lmKChKfDApPT0wKXticmVha31rSyhKKTticmVha31NPWJP
KDgpfDA7ZEUoTSwxMzY4KTtibChNfDAsODE5MiwyMil9fXdoaWxlKDApO0E9ZXwwO3o9Y1tBPj4y
XXwwO2Rve2lmKCh6fDApPT0wKXtSPTB9ZWxzZXtNPWNbeisxMj4+Ml18MDtpZigoTXwwKT09KGNb
eisxNj4+Ml18MCkpe1M9YjBbY1soY1t6Pj4yXXwwKSszNj4+Ml0mMTI3XSh6KXwwfWVsc2V7Uz1j
W00+PjJdfDB9aWYoKFN8MCkhPS0xKXtSPXo7YnJlYWt9Y1tBPj4yXT0wO1I9MH19d2hpbGUoMCk7
QT0oUnwwKT09MDt6PWNbQj4+Ml18MDtkb3tpZigoenwwKT09MCl7VD03Mzl9ZWxzZXtNPWNbeisx
Mj4+Ml18MDtpZigoTXwwKT09KGNbeisxNj4+Ml18MCkpe1U9YjBbY1soY1t6Pj4yXXwwKSszNj4+
Ml0mMTI3XSh6KXwwfWVsc2V7VT1jW00+PjJdfDB9aWYoKFV8MCk9PS0xKXtjW0I+PjJdPTA7VD03
Mzk7YnJlYWt9ZWxzZXtpZihBXih6fDApPT0wKXticmVha31lbHNle1Q9NzQxO2JyZWFrfX19fXdo
aWxlKDApO2lmKChUfDApPT03Mzkpe2lmKEEpe1Q9NzQxfX1pZigoVHwwKT09NzQxKXtjW2o+PjJd
PWNbaj4+Ml18Mn1jW2I+PjJdPVI7ej1jW20+PjJdfDA7ZHooeil8MDt6PWNbdT4+Ml18MDtjW3U+
PjJdPTA7aWYoKHp8MCk9PTApe2k9ZDtyZXR1cm59YllbY1t2Pj4yXSY1MTFdKHopO2k9ZDtyZXR1
cm59fXdoaWxlKDApO2Q9Yk8oNCl8MDtrcShkKTtibChkfDAsODE3NiwxMzQpfWZ1bmN0aW9uIGha
KGIsZSxmLGcsaCxqLGssbCxtLG4sbyl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1q
fDA7az1rfDA7bD1sfDA7bT1tfDA7bj1ufDA7bz1vfDA7dmFyIHA9MCxxPTAscj0wLHM9MCx0PTAs
dT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJ
PTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9
MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAsYWI9MCxhYz0wLGFkPTAsYWU9MCxhZj0wLGFnPTAs
YWg9MCxhaT0wLGFqPTAsYWs9MCxhbD0wLGFtPTAsYW49MCxhbz0wLGFwPTAsYXE9MCxhcj0wLGFz
PTAsYXQ9MCxhdT0wLGF2PTAsYXc9MCxheD0wLGF5PTAsYXo9MCxhQT0wLGFCPTAsYUM9MCxhRD0w
LGFFPTAsYUY9MCxhRz0wLGFIPTAsYUk9MCxhSj0wLGFLPTAsYUw9MCxhTT0wLGFOPTAsYU89MCxh
UD0wLGFRPTAsYVI9MCxhUz0wLGFUPTAsYVU9MCxhVj0wLGFXPTAsYVg9MCxhWT0wLGFaPTAsYV89
MCxhJD0wLGEwPTAsYTE9MCxhMj0wLGEzPTAsYTQ9MCxhNT0wLGE2PTAsYTc9MCxhOD0wLGE5PTAs
YmE9MCxiYj0wLGJjPTAsYmQ9MCxiZT0wLGJmPTAsYmc9MCxiaD0wLGJpPTAsYmo9MCxiaz0wLGJs
PTAsYm09MCxibj0wLGJvPTAsYnA9MCxicT0wLGJyPTAsYnM9MCxidD0wLGJ1PTAsYnY9MCxidz0w
LGJ4PTAsYnk9MCxiej0wLGJBPTAsYkI9MCxiQz0wLGJEPTA7cD1pO2k9aSs0NDh8MDtxPWU7ZT1p
O2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW3E+PjJdO3E9cHwwO3I9cCs4fDA7cz1wKzQw
OHwwO3Q9cCs0MTZ8MDt1PXArNDI0fDA7dj1wKzQzMnwwO3c9djt4PWk7aT1pKzEyfDA7aT1pKzc+
PjM8PDM7eT1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3o9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8MztB
PWk7aT1pKzEyfDA7aT1pKzc+PjM8PDM7Qj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Qz1pO2k9aSs0
fDA7aT1pKzc+PjM8PDM7Y1txPj4yXT1vO289cnwwO2skKHd8MCwwLDEyKTtEPXg7RT15O0Y9ejtH
PUE7ayQoRHwwLDAsMTIpO2skKEV8MCwwLDEyKTtrJChGfDAsMCwxMik7ayQoR3wwLDAsMTIpO2gy
KGYsZyxzLHQsdSx2LHgseSx6LEIpO2c9bXwwO2Nbbj4+Ml09Y1tnPj4yXTtmPWJ8MDtiPWV8MDtl
PWw7SD16KzR8MDtJPXorOHwwO0o9eSs0fDA7Sz15Kzh8MDtMPShoJjUxMnwwKSE9MDtoPXgrNHww
O009eCs4fDA7Tj1BKzR8MDtPPUErOHwwO1A9cyszfDA7UT12KzR8MDtSPTE2NjtTPW87VD1vO289
cis0MDB8MDtyPTA7VT0wO0w4OTA6d2hpbGUoMSl7Vj1jW2Y+PjJdfDA7ZG97aWYoKFZ8MCk9PTAp
e1c9MX1lbHNle1g9Y1tWKzEyPj4yXXwwO2lmKChYfDApPT0oY1tWKzE2Pj4yXXwwKSl7WT1iMFtj
WyhjW1Y+PjJdfDApKzM2Pj4yXSYxMjddKFYpfDB9ZWxzZXtZPWNbWD4+Ml18MH1pZigoWXwwKT09
LTEpe2NbZj4+Ml09MDtXPTE7YnJlYWt9ZWxzZXtXPShjW2Y+PjJdfDApPT0wO2JyZWFrfX19d2hp
bGUoMCk7Vj1jW2I+PjJdfDA7ZG97aWYoKFZ8MCk9PTApe1o9NzY3fWVsc2V7WD1jW1YrMTI+PjJd
fDA7aWYoKFh8MCk9PShjW1YrMTY+PjJdfDApKXtfPWIwW2NbKGNbVj4+Ml18MCkrMzY+PjJdJjEy
N10oVil8MH1lbHNle189Y1tYPj4yXXwwfWlmKChffDApPT0tMSl7Y1tiPj4yXT0wO1o9NzY3O2Jy
ZWFrfWVsc2V7aWYoV14oVnwwKT09MCl7JD1WO2JyZWFrfWVsc2V7YWE9UjthYj1TO2FjPVQ7YWQ9
cjtaPTEwMDc7YnJlYWsgTDg5MH19fX13aGlsZSgwKTtpZigoWnwwKT09NzY3KXtaPTA7aWYoVyl7
YWE9UjthYj1TO2FjPVQ7YWQ9cjtaPTEwMDc7YnJlYWt9ZWxzZXskPTB9fUw5MTQ6ZG97c3dpdGNo
KGFbcytVfDBdfDApe2Nhc2UgMjp7aWYoISgocnwwKSE9MHxVPj4+MDwyKSl7aWYoKFV8MCk9PTIp
e2FlPShhW1BdfDApIT0wfWVsc2V7YWU9MH1pZighKEx8YWUpKXthZj0wO2FnPW87YWg9VDthaT1T
O2FqPVI7YnJlYWsgTDkxNH19Vj1hW0RdfDA7WD0oViYxKT09MD9oOmNbTT4+Ml18MDtMOTIyOmRv
e2lmKChVfDApPT0wKXthaz1YO2FsPVY7YW09JH1lbHNle2lmKChkW3MrKFUtMSl8MF18MCk8Mil7
YW49WDthbz1WfWVsc2V7YWs9WDthbD1WO2FtPSQ7YnJlYWt9d2hpbGUoMSl7YXA9YW8mMjU1O2lm
KChhbnwwKT09KCgoYW8mMSk9PTA/aDpjW00+PjJdfDApKygoKGFwJjF8MCk9PTA/YXA+Pj4xOmNb
aD4+Ml18MCk8PDIpfDApKXthcT1hbzticmVha31pZighKGIxW2NbKGNbZT4+Ml18MCkrMTI+PjJd
JjYzXShsLDgxOTIsY1thbj4+Ml18MCl8MCkpe1o9ODY4O2JyZWFrfWFuPWFuKzR8MDthbz1hW0Rd
fDB9aWYoKFp8MCk9PTg2OCl7Wj0wO2FxPWFbRF18MH1hcD0oYXEmMSk9PTA7YXI9YW4tKGFwP2g6
Y1tNPj4yXXwwKT4+Mjthcz1hW0ddfDA7YXQ9YXMmMjU1O2F1PShhdCYxfDApPT0wO0w5MzI6ZG97
aWYoYXI+Pj4wPD0oYXU/YXQ+Pj4xOmNbTj4+Ml18MCk+Pj4wKXthdj0oYXMmMSk9PTA7YXc9KGF2
P046Y1tPPj4yXXwwKSsoKGF1P2F0Pj4+MTpjW04+PjJdfDApLWFyPDwyKXwwO2F4PShhdj9OOmNb
Tz4+Ml18MCkrKChhdT9hdD4+PjE6Y1tOPj4yXXwwKTw8Mil8MDtpZigoYXd8MCk9PShheHwwKSl7
YWs9YW47YWw9YXE7YW09JDticmVhayBMOTIyfWVsc2V7YXk9YXc7YXo9YXA/aDpjW00+PjJdfDB9
d2hpbGUoMSl7aWYoKGNbYXk+PjJdfDApIT0oY1thej4+Ml18MCkpe2JyZWFrIEw5MzJ9YXc9YXkr
NHwwO2lmKChhd3wwKT09KGF4fDApKXthaz1hbjthbD1hcTthbT0kO2JyZWFrIEw5MjJ9YXk9YXc7
YXo9YXorNHwwfX19d2hpbGUoMCk7YWs9YXA/aDpjW00+PjJdfDA7YWw9YXE7YW09JH19d2hpbGUo
MCk7TDkzOTp3aGlsZSgxKXtWPWFsJjI1NTtpZigoYWt8MCk9PSgoKGFsJjEpPT0wP2g6Y1tNPj4y
XXwwKSsoKChWJjF8MCk9PTA/Vj4+PjE6Y1toPj4yXXwwKTw8Mil8MCkpe2JyZWFrfVY9Y1tmPj4y
XXwwO2Rve2lmKChWfDApPT0wKXthQT0xfWVsc2V7WD1jW1YrMTI+PjJdfDA7aWYoKFh8MCk9PShj
W1YrMTY+PjJdfDApKXthQj1iMFtjWyhjW1Y+PjJdfDApKzM2Pj4yXSYxMjddKFYpfDB9ZWxzZXth
Qj1jW1g+PjJdfDB9aWYoKGFCfDApPT0tMSl7Y1tmPj4yXT0wO2FBPTE7YnJlYWt9ZWxzZXthQT0o
Y1tmPj4yXXwwKT09MDticmVha319fXdoaWxlKDApO2Rve2lmKChhbXwwKT09MCl7Wj04ODl9ZWxz
ZXtWPWNbYW0rMTI+PjJdfDA7aWYoKFZ8MCk9PShjW2FtKzE2Pj4yXXwwKSl7YUM9YjBbY1soY1th
bT4+Ml18MCkrMzY+PjJdJjEyN10oYW0pfDB9ZWxzZXthQz1jW1Y+PjJdfDB9aWYoKGFDfDApPT0t
MSl7Y1tiPj4yXT0wO1o9ODg5O2JyZWFrfWVsc2V7aWYoYUFeKGFtfDApPT0wKXthRD1hbTticmVh
a31lbHNle2JyZWFrIEw5Mzl9fX19d2hpbGUoMCk7aWYoKFp8MCk9PTg4OSl7Wj0wO2lmKGFBKXti
cmVha31lbHNle2FEPTB9fVY9Y1tmPj4yXXwwO2FwPWNbVisxMj4+Ml18MDtpZigoYXB8MCk9PShj
W1YrMTY+PjJdfDApKXthRT1iMFtjWyhjW1Y+PjJdfDApKzM2Pj4yXSYxMjddKFYpfDB9ZWxzZXth
RT1jW2FwPj4yXXwwfWlmKChhRXwwKSE9KGNbYWs+PjJdfDApKXticmVha31hcD1jW2Y+PjJdfDA7
Vj1hcCsxMnwwO1g9Y1tWPj4yXXwwO2lmKChYfDApPT0oY1thcCsxNj4+Ml18MCkpe2F0PWNbKGNb
YXA+PjJdfDApKzQwPj4yXXwwO2IwW2F0JjEyN10oYXApfDB9ZWxzZXtjW1Y+PjJdPVgrNH1haz1h
ays0fDA7YWw9YVtEXXwwO2FtPWFEfWlmKCFMKXthZj1yO2FnPW87YWg9VDthaT1TO2FqPVI7YnJl
YWsgTDkxNH1YPWFbRF18MDtWPVgmMjU1O2lmKChha3wwKT09KCgoWCYxKT09MD9oOmNbTT4+Ml18
MCkrKCgoViYxfDApPT0wP1Y+Pj4xOmNbaD4+Ml18MCk8PDIpfDApKXthZj1yO2FnPW87YWg9VDth
aT1TO2FqPVJ9ZWxzZXtaPTkwMTticmVhayBMODkwfWJyZWFrfTtjYXNlIDQ6e1Y9MDtYPW87YXA9
VDthdD1TO2F1PVI7TDk3NTp3aGlsZSgxKXthcj1jW2Y+PjJdfDA7ZG97aWYoKGFyfDApPT0wKXth
Rj0xfWVsc2V7YXM9Y1thcisxMj4+Ml18MDtpZigoYXN8MCk9PShjW2FyKzE2Pj4yXXwwKSl7YUc9
YjBbY1soY1thcj4+Ml18MCkrMzY+PjJdJjEyN10oYXIpfDB9ZWxzZXthRz1jW2FzPj4yXXwwfWlm
KChhR3wwKT09LTEpe2NbZj4+Ml09MDthRj0xO2JyZWFrfWVsc2V7YUY9KGNbZj4+Ml18MCk9PTA7
YnJlYWt9fX13aGlsZSgwKTthcj1jW2I+PjJdfDA7ZG97aWYoKGFyfDApPT0wKXtaPTkxNX1lbHNl
e2FzPWNbYXIrMTI+PjJdfDA7aWYoKGFzfDApPT0oY1thcisxNj4+Ml18MCkpe2FIPWIwW2NbKGNb
YXI+PjJdfDApKzM2Pj4yXSYxMjddKGFyKXwwfWVsc2V7YUg9Y1thcz4+Ml18MH1pZigoYUh8MCk9
PS0xKXtjW2I+PjJdPTA7Wj05MTU7YnJlYWt9ZWxzZXtpZihhRl4oYXJ8MCk9PTApe2JyZWFrfWVs
c2V7YnJlYWsgTDk3NX19fX13aGlsZSgwKTtpZigoWnwwKT09OTE1KXtaPTA7aWYoYUYpe2JyZWFr
fX1hcj1jW2Y+PjJdfDA7YXM9Y1thcisxMj4+Ml18MDtpZigoYXN8MCk9PShjW2FyKzE2Pj4yXXww
KSl7YUk9YjBbY1soY1thcj4+Ml18MCkrMzY+PjJdJjEyN10oYXIpfDB9ZWxzZXthST1jW2FzPj4y
XXwwfWlmKGIxW2NbKGNbZT4+Ml18MCkrMTI+PjJdJjYzXShsLDIwNDgsYUkpfDApe2FzPWNbbj4+
Ml18MDtpZigoYXN8MCk9PShjW3E+PjJdfDApKXtoMyhtLG4scSk7YUo9Y1tuPj4yXXwwfWVsc2V7
YUo9YXN9Y1tuPj4yXT1hSis0O2NbYUo+PjJdPWFJO2FLPVYrMXwwO2FMPVg7YU09YXA7YU49YXQ7
YU89YXV9ZWxzZXthcz1kW3ddfDA7aWYoKCgoYXMmMXwwKT09MD9hcz4+PjE6Y1tRPj4yXXwwKXww
KT09MHwoVnwwKT09MCl7YnJlYWt9aWYoKGFJfDApIT0oY1t1Pj4yXXwwKSl7YnJlYWt9aWYoKGFw
fDApPT0oWHwwKSl7YXM9KGF1fDApIT0xNjY7YXI9YXAtYXR8MDtheD1hcj4+PjA8MjE0NzQ4MzY0
Nz9hcjw8MTotMTtpZihhcyl7YVA9YXR9ZWxzZXthUD0wfWFzPWtMKGFQLGF4KXwwO2F3PWFzO2lm
KChhc3wwKT09MCl7a1goKX1hUT1hdysoYXg+Pj4yPDwyKXwwO2FSPWF3Kyhhcj4+Mjw8Mil8MDth
Uz1hdzthVD04Mn1lbHNle2FRPVg7YVI9YXA7YVM9YXQ7YVQ9YXV9Y1thUj4+Ml09VjthSz0wO2FM
PWFRO2FNPWFSKzR8MDthTj1hUzthTz1hVH1hdz1jW2Y+PjJdfDA7YXI9YXcrMTJ8MDtheD1jW2Fy
Pj4yXXwwO2lmKChheHwwKT09KGNbYXcrMTY+PjJdfDApKXthcz1jWyhjW2F3Pj4yXXwwKSs0MD4+
Ml18MDtiMFthcyYxMjddKGF3KXwwO1Y9YUs7WD1hTDthcD1hTTthdD1hTjthdT1hTztjb250aW51
ZX1lbHNle2NbYXI+PjJdPWF4KzQ7Vj1hSztYPWFMO2FwPWFNO2F0PWFOO2F1PWFPO2NvbnRpbnVl
fX1pZigoYXR8MCk9PShhcHwwKXwoVnwwKT09MCl7YVU9WDthVj1hcDthVz1hdDthWD1hdX1lbHNl
e2lmKChhcHwwKT09KFh8MCkpe2F4PShhdXwwKSE9MTY2O2FyPWFwLWF0fDA7YXc9YXI+Pj4wPDIx
NDc0ODM2NDc/YXI8PDE6LTE7aWYoYXgpe2FZPWF0fWVsc2V7YVk9MH1heD1rTChhWSxhdyl8MDth
cz1heDtpZigoYXh8MCk9PTApe2tYKCl9YVo9YXMrKGF3Pj4+Mjw8Mil8MDthXz1hcysoYXI+PjI8
PDIpfDA7YSQ9YXM7YTA9ODJ9ZWxzZXthWj1YO2FfPWFwO2EkPWF0O2EwPWF1fWNbYV8+PjJdPVY7
YVU9YVo7YVY9YV8rNHwwO2FXPWEkO2FYPWEwfWFzPWNbQj4+Ml18MDtpZigoYXN8MCk+MCl7YXI9
Y1tmPj4yXXwwO2Rve2lmKChhcnwwKT09MCl7YTE9MX1lbHNle2F3PWNbYXIrMTI+PjJdfDA7aWYo
KGF3fDApPT0oY1thcisxNj4+Ml18MCkpe2EyPWIwW2NbKGNbYXI+PjJdfDApKzM2Pj4yXSYxMjdd
KGFyKXwwfWVsc2V7YTI9Y1thdz4+Ml18MH1pZigoYTJ8MCk9PS0xKXtjW2Y+PjJdPTA7YTE9MTti
cmVha31lbHNle2ExPShjW2Y+PjJdfDApPT0wO2JyZWFrfX19d2hpbGUoMCk7YXI9Y1tiPj4yXXww
O2Rve2lmKChhcnwwKT09MCl7Wj05NjR9ZWxzZXtWPWNbYXIrMTI+PjJdfDA7aWYoKFZ8MCk9PShj
W2FyKzE2Pj4yXXwwKSl7YTM9YjBbY1soY1thcj4+Ml18MCkrMzY+PjJdJjEyN10oYXIpfDB9ZWxz
ZXthMz1jW1Y+PjJdfDB9aWYoKGEzfDApPT0tMSl7Y1tiPj4yXT0wO1o9OTY0O2JyZWFrfWVsc2V7
aWYoYTFeKGFyfDApPT0wKXthND1hcjticmVha31lbHNle1o9OTcwO2JyZWFrIEw4OTB9fX19d2hp
bGUoMCk7aWYoKFp8MCk9PTk2NCl7Wj0wO2lmKGExKXtaPTk3MDticmVhayBMODkwfWVsc2V7YTQ9
MH19YXI9Y1tmPj4yXXwwO1Y9Y1thcisxMj4+Ml18MDtpZigoVnwwKT09KGNbYXIrMTY+PjJdfDAp
KXthNT1iMFtjWyhjW2FyPj4yXXwwKSszNj4+Ml0mMTI3XShhcil8MH1lbHNle2E1PWNbVj4+Ml18
MH1pZigoYTV8MCkhPShjW3Q+PjJdfDApKXtaPTk3MDticmVhayBMODkwfVY9Y1tmPj4yXXwwO2Fy
PVYrMTJ8MDthdT1jW2FyPj4yXXwwO2lmKChhdXwwKT09KGNbVisxNj4+Ml18MCkpe2F0PWNbKGNb
Vj4+Ml18MCkrNDA+PjJdfDA7YjBbYXQmMTI3XShWKXwwO2E2PWE0O2E3PWFzfWVsc2V7Y1thcj4+
Ml09YXUrNDthNj1hNDthNz1hc313aGlsZSgxKXthdT1jW2Y+PjJdfDA7ZG97aWYoKGF1fDApPT0w
KXthOD0xfWVsc2V7YXI9Y1thdSsxMj4+Ml18MDtpZigoYXJ8MCk9PShjW2F1KzE2Pj4yXXwwKSl7
YTk9YjBbY1soY1thdT4+Ml18MCkrMzY+PjJdJjEyN10oYXUpfDB9ZWxzZXthOT1jW2FyPj4yXXww
fWlmKChhOXwwKT09LTEpe2NbZj4+Ml09MDthOD0xO2JyZWFrfWVsc2V7YTg9KGNbZj4+Ml18MCk9
PTA7YnJlYWt9fX13aGlsZSgwKTtkb3tpZigoYTZ8MCk9PTApe1o9OTg3fWVsc2V7YXU9Y1thNisx
Mj4+Ml18MDtpZigoYXV8MCk9PShjW2E2KzE2Pj4yXXwwKSl7YmE9YjBbY1soY1thNj4+Ml18MCkr
MzY+PjJdJjEyN10oYTYpfDB9ZWxzZXtiYT1jW2F1Pj4yXXwwfWlmKChiYXwwKT09LTEpe2NbYj4+
Ml09MDtaPTk4NzticmVha31lbHNle2lmKGE4XihhNnwwKT09MCl7YmI9YTY7YnJlYWt9ZWxzZXta
PTk5NDticmVhayBMODkwfX19fXdoaWxlKDApO2lmKChafDApPT05ODcpe1o9MDtpZihhOCl7Wj05
OTQ7YnJlYWsgTDg5MH1lbHNle2JiPTB9fWF1PWNbZj4+Ml18MDthcj1jW2F1KzEyPj4yXXwwO2lm
KChhcnwwKT09KGNbYXUrMTY+PjJdfDApKXtiYz1iMFtjWyhjW2F1Pj4yXXwwKSszNj4+Ml0mMTI3
XShhdSl8MH1lbHNle2JjPWNbYXI+PjJdfDB9aWYoIShiMVtjWyhjW2U+PjJdfDApKzEyPj4yXSY2
M10obCwyMDQ4LGJjKXwwKSl7Wj05OTQ7YnJlYWsgTDg5MH1pZigoY1tuPj4yXXwwKT09KGNbcT4+
Ml18MCkpe2gzKG0sbixxKX1hcj1jW2Y+PjJdfDA7YXU9Y1thcisxMj4+Ml18MDtpZigoYXV8MCk9
PShjW2FyKzE2Pj4yXXwwKSl7YmQ9YjBbY1soY1thcj4+Ml18MCkrMzY+PjJdJjEyN10oYXIpfDB9
ZWxzZXtiZD1jW2F1Pj4yXXwwfWF1PWNbbj4+Ml18MDtjW24+PjJdPWF1KzQ7Y1thdT4+Ml09YmQ7
YXU9YTctMXwwO2NbQj4+Ml09YXU7YXI9Y1tmPj4yXXwwO1Y9YXIrMTJ8MDthdD1jW1Y+PjJdfDA7
aWYoKGF0fDApPT0oY1thcisxNj4+Ml18MCkpe2FwPWNbKGNbYXI+PjJdfDApKzQwPj4yXXwwO2Iw
W2FwJjEyN10oYXIpfDB9ZWxzZXtjW1Y+PjJdPWF0KzR9aWYoKGF1fDApPjApe2E2PWJiO2E3PWF1
fWVsc2V7YnJlYWt9fX1pZigoY1tuPj4yXXwwKT09KGNbZz4+Ml18MCkpe1o9MTAwNTticmVhayBM
ODkwfWVsc2V7YWY9cjthZz1hVTthaD1hVjthaT1hVzthaj1hWH1icmVha307Y2FzZSAxOntpZigo
VXwwKT09Myl7YWE9UjthYj1TO2FjPVQ7YWQ9cjtaPTEwMDc7YnJlYWsgTDg5MH1hcz1jW2Y+PjJd
fDA7YXU9Y1thcysxMj4+Ml18MDtpZigoYXV8MCk9PShjW2FzKzE2Pj4yXXwwKSl7YmU9YjBbY1so
Y1thcz4+Ml18MCkrMzY+PjJdJjEyN10oYXMpfDB9ZWxzZXtiZT1jW2F1Pj4yXXwwfWlmKCEoYjFb
Y1soY1tlPj4yXXwwKSsxMj4+Ml0mNjNdKGwsODE5MixiZSl8MCkpe1o9NzkxO2JyZWFrIEw4OTB9
YXU9Y1tmPj4yXXwwO2FzPWF1KzEyfDA7YXQ9Y1thcz4+Ml18MDtpZigoYXR8MCk9PShjW2F1KzE2
Pj4yXXwwKSl7YmY9YjBbY1soY1thdT4+Ml18MCkrNDA+PjJdJjEyN10oYXUpfDB9ZWxzZXtjW2Fz
Pj4yXT1hdCs0O2JmPWNbYXQ+PjJdfDB9ZWgoQSxiZik7Wj03OTI7YnJlYWt9O2Nhc2UgMDp7Wj03
OTI7YnJlYWt9O2Nhc2UgMzp7YXQ9YVtFXXwwO2FzPWF0JjI1NTthdT0oYXMmMXwwKT09MDtWPWFb
Rl18MDthcj1WJjI1NTthcD0oYXImMXwwKT09MDtpZigoKGF1P2FzPj4+MTpjW0o+PjJdfDApfDAp
PT0oLShhcD9hcj4+PjE6Y1tIPj4yXXwwKXwwKSl7YWY9cjthZz1vO2FoPVQ7YWk9Uzthaj1SO2Jy
ZWFrIEw5MTR9ZG97aWYoKChhdT9hcz4+PjE6Y1tKPj4yXXwwKXwwKSE9MCl7aWYoKChhcD9hcj4+
PjE6Y1tIPj4yXXwwKXwwKT09MCl7YnJlYWt9WD1jW2Y+PjJdfDA7YXc9Y1tYKzEyPj4yXXwwO2lm
KChhd3wwKT09KGNbWCsxNj4+Ml18MCkpe2F4PWIwW2NbKGNbWD4+Ml18MCkrMzY+PjJdJjEyN10o
WCl8MDtiZz1heDtiaD1hW0VdfDB9ZWxzZXtiZz1jW2F3Pj4yXXwwO2JoPWF0fWF3PWNbZj4+Ml18
MDtheD1hdysxMnwwO1g9Y1theD4+Ml18MDthdj0oWHwwKT09KGNbYXcrMTY+PjJdfDApO2lmKChi
Z3wwKT09KGNbKChiaCYxKT09MD9KOmNbSz4+Ml18MCk+PjJdfDApKXtpZihhdil7Ymk9Y1soY1th
dz4+Ml18MCkrNDA+PjJdfDA7YjBbYmkmMTI3XShhdyl8MH1lbHNle2NbYXg+PjJdPVgrNH1heD1k
W0VdfDA7YWY9KChheCYxfDApPT0wP2F4Pj4+MTpjW0o+PjJdfDApPj4+MD4xP3k6cjthZz1vO2Fo
PVQ7YWk9Uzthaj1SO2JyZWFrIEw5MTR9aWYoYXYpe2JqPWIwW2NbKGNbYXc+PjJdfDApKzM2Pj4y
XSYxMjddKGF3KXwwfWVsc2V7Ymo9Y1tYPj4yXXwwfWlmKChianwwKSE9KGNbKChhW0ZdJjEpPT0w
P0g6Y1tJPj4yXXwwKT4+Ml18MCkpe1o9ODU3O2JyZWFrIEw4OTB9WD1jW2Y+PjJdfDA7YXc9WCsx
MnwwO2F2PWNbYXc+PjJdfDA7aWYoKGF2fDApPT0oY1tYKzE2Pj4yXXwwKSl7YXg9Y1soY1tYPj4y
XXwwKSs0MD4+Ml18MDtiMFtheCYxMjddKFgpfDB9ZWxzZXtjW2F3Pj4yXT1hdis0fWFba109MTth
dj1kW0ZdfDA7YWY9KChhdiYxfDApPT0wP2F2Pj4+MTpjW0g+PjJdfDApPj4+MD4xP3o6cjthZz1v
O2FoPVQ7YWk9Uzthaj1SO2JyZWFrIEw5MTR9fXdoaWxlKDApO2FyPWNbZj4+Ml18MDthcD1jW2Fy
KzEyPj4yXXwwO2F2PShhcHwwKT09KGNbYXIrMTY+PjJdfDApO2lmKCgoYXU/YXM+Pj4xOmNbSj4+
Ml18MCl8MCk9PTApe2lmKGF2KXthdz1iMFtjWyhjW2FyPj4yXXwwKSszNj4+Ml0mMTI3XShhcil8
MDtiaz1hdztibD1hW0ZdfDB9ZWxzZXtiaz1jW2FwPj4yXXwwO2JsPVZ9aWYoKGJrfDApIT0oY1so
KGJsJjEpPT0wP0g6Y1tJPj4yXXwwKT4+Ml18MCkpe2FmPXI7YWc9bzthaD1UO2FpPVM7YWo9Ujti
cmVhayBMOTE0fWF3PWNbZj4+Ml18MDtYPWF3KzEyfDA7YXg9Y1tYPj4yXXwwO2lmKChheHwwKT09
KGNbYXcrMTY+PjJdfDApKXtiaT1jWyhjW2F3Pj4yXXwwKSs0MD4+Ml18MDtiMFtiaSYxMjddKGF3
KXwwfWVsc2V7Y1tYPj4yXT1heCs0fWFba109MTtheD1kW0ZdfDA7YWY9KChheCYxfDApPT0wP2F4
Pj4+MTpjW0g+PjJdfDApPj4+MD4xP3o6cjthZz1vO2FoPVQ7YWk9Uzthaj1SO2JyZWFrIEw5MTR9
aWYoYXYpe2F2PWIwW2NbKGNbYXI+PjJdfDApKzM2Pj4yXSYxMjddKGFyKXwwO2JtPWF2O2JuPWFb
RV18MH1lbHNle2JtPWNbYXA+PjJdfDA7Ym49YXR9aWYoKGJtfDApIT0oY1soKGJuJjEpPT0wP0o6
Y1tLPj4yXXwwKT4+Ml18MCkpe2Fba109MTthZj1yO2FnPW87YWg9VDthaT1TO2FqPVI7YnJlYWsg
TDkxNH1hcD1jW2Y+PjJdfDA7YXY9YXArMTJ8MDthcj1jW2F2Pj4yXXwwO2lmKChhcnwwKT09KGNb
YXArMTY+PjJdfDApKXtheD1jWyhjW2FwPj4yXXwwKSs0MD4+Ml18MDtiMFtheCYxMjddKGFwKXww
fWVsc2V7Y1thdj4+Ml09YXIrNH1hcj1kW0VdfDA7YWY9KChhciYxfDApPT0wP2FyPj4+MTpjW0o+
PjJdfDApPj4+MD4xP3k6cjthZz1vO2FoPVQ7YWk9Uzthaj1SO2JyZWFrfTtkZWZhdWx0OnthZj1y
O2FnPW87YWg9VDthaT1TO2FqPVJ9fX13aGlsZSgwKTtMMTE4Mzpkb3tpZigoWnwwKT09NzkyKXta
PTA7aWYoKFV8MCk9PTMpe2FhPVI7YWI9UzthYz1UO2FkPXI7Wj0xMDA3O2JyZWFrIEw4OTB9ZWxz
ZXtibz0kfXdoaWxlKDEpe2FyPWNbZj4+Ml18MDtkb3tpZigoYXJ8MCk9PTApe2JwPTF9ZWxzZXth
dj1jW2FyKzEyPj4yXXwwO2lmKChhdnwwKT09KGNbYXIrMTY+PjJdfDApKXticT1iMFtjWyhjW2Fy
Pj4yXXwwKSszNj4+Ml0mMTI3XShhcil8MH1lbHNle2JxPWNbYXY+PjJdfDB9aWYoKGJxfDApPT0t
MSl7Y1tmPj4yXT0wO2JwPTE7YnJlYWt9ZWxzZXticD0oY1tmPj4yXXwwKT09MDticmVha319fXdo
aWxlKDApO2Rve2lmKChib3wwKT09MCl7Wj04MDZ9ZWxzZXthcj1jW2JvKzEyPj4yXXwwO2lmKChh
cnwwKT09KGNbYm8rMTY+PjJdfDApKXticj1iMFtjWyhjW2JvPj4yXXwwKSszNj4+Ml0mMTI3XShi
byl8MH1lbHNle2JyPWNbYXI+PjJdfDB9aWYoKGJyfDApPT0tMSl7Y1tiPj4yXT0wO1o9ODA2O2Jy
ZWFrfWVsc2V7aWYoYnBeKGJvfDApPT0wKXticz1ibzticmVha31lbHNle2FmPXI7YWc9bzthaD1U
O2FpPVM7YWo9UjticmVhayBMMTE4M319fX13aGlsZSgwKTtpZigoWnwwKT09ODA2KXtaPTA7aWYo
YnApe2FmPXI7YWc9bzthaD1UO2FpPVM7YWo9UjticmVhayBMMTE4M31lbHNle2JzPTB9fWFyPWNb
Zj4+Ml18MDthdj1jW2FyKzEyPj4yXXwwO2lmKChhdnwwKT09KGNbYXIrMTY+PjJdfDApKXtidD1i
MFtjWyhjW2FyPj4yXXwwKSszNj4+Ml0mMTI3XShhcil8MH1lbHNle2J0PWNbYXY+PjJdfDB9aWYo
IShiMVtjWyhjW2U+PjJdfDApKzEyPj4yXSY2M10obCw4MTkyLGJ0KXwwKSl7YWY9cjthZz1vO2Fo
PVQ7YWk9Uzthaj1SO2JyZWFrIEwxMTgzfWF2PWNbZj4+Ml18MDthcj1hdisxMnwwO2FwPWNbYXI+
PjJdfDA7aWYoKGFwfDApPT0oY1thdisxNj4+Ml18MCkpe2J1PWIwW2NbKGNbYXY+PjJdfDApKzQw
Pj4yXSYxMjddKGF2KXwwfWVsc2V7Y1thcj4+Ml09YXArNDtidT1jW2FwPj4yXXwwfWVoKEEsYnUp
O2JvPWJzfX19d2hpbGUoMCk7YXQ9VSsxfDA7aWYoYXQ+Pj4wPDQpe1I9YWo7Uz1haTtUPWFoO289
YWc7cj1hZjtVPWF0fWVsc2V7YWE9YWo7YWI9YWk7YWM9YWg7YWQ9YWY7Wj0xMDA3O2JyZWFrfX1M
MTIyMDpkb3tpZigoWnwwKT09ODU3KXtjW2o+PjJdPWNbaj4+Ml18NDtidj0wO2J3PVM7Yng9Un1l
bHNlIGlmKChafDApPT05MDEpe2Nbaj4+Ml09Y1tqPj4yXXw0O2J2PTA7Ync9UztieD1SfWVsc2Ug
aWYoKFp8MCk9PTk3MCl7Y1tqPj4yXT1jW2o+PjJdfDQ7YnY9MDtidz1hVztieD1hWH1lbHNlIGlm
KChafDApPT05OTQpe2Nbaj4+Ml09Y1tqPj4yXXw0O2J2PTA7Ync9YVc7Yng9YVh9ZWxzZSBpZigo
WnwwKT09MTAwNSl7Y1tqPj4yXT1jW2o+PjJdfDQ7YnY9MDtidz1hVztieD1hWH1lbHNlIGlmKCha
fDApPT0xMDA3KXtMMTIyNzpkb3tpZigoYWR8MCkhPTApe2FmPWFkO2FoPWFkKzR8MDthaT1hZCs4
fDA7YWo9MTtMMTIyOTp3aGlsZSgxKXtVPWRbYWZdfDA7aWYoKFUmMXwwKT09MCl7Ynk9VT4+PjF9
ZWxzZXtieT1jW2FoPj4yXXwwfWlmKGFqPj4+MD49Ynk+Pj4wKXticmVhayBMMTIyN31VPWNbZj4+
Ml18MDtkb3tpZigoVXwwKT09MCl7Yno9MX1lbHNle3I9Y1tVKzEyPj4yXXwwO2lmKChyfDApPT0o
Y1tVKzE2Pj4yXXwwKSl7YkE9YjBbY1soY1tVPj4yXXwwKSszNj4+Ml0mMTI3XShVKXwwfWVsc2V7
YkE9Y1tyPj4yXXwwfWlmKChiQXwwKT09LTEpe2NbZj4+Ml09MDtiej0xO2JyZWFrfWVsc2V7Yno9
KGNbZj4+Ml18MCk9PTA7YnJlYWt9fX13aGlsZSgwKTtVPWNbYj4+Ml18MDtkb3tpZigoVXwwKT09
MCl7Wj0xMDI2fWVsc2V7cj1jW1UrMTI+PjJdfDA7aWYoKHJ8MCk9PShjW1UrMTY+PjJdfDApKXti
Qj1iMFtjWyhjW1U+PjJdfDApKzM2Pj4yXSYxMjddKFUpfDB9ZWxzZXtiQj1jW3I+PjJdfDB9aWYo
KGJCfDApPT0tMSl7Y1tiPj4yXT0wO1o9MTAyNjticmVha31lbHNle2lmKGJ6XihVfDApPT0wKXti
cmVha31lbHNle2JyZWFrIEwxMjI5fX19fXdoaWxlKDApO2lmKChafDApPT0xMDI2KXtaPTA7aWYo
Ynope2JyZWFrfX1VPWNbZj4+Ml18MDtyPWNbVSsxMj4+Ml18MDtpZigocnwwKT09KGNbVSsxNj4+
Ml18MCkpe2JDPWIwW2NbKGNbVT4+Ml18MCkrMzY+PjJdJjEyN10oVSl8MH1lbHNle2JDPWNbcj4+
Ml18MH1pZigoYVthZl0mMSk9PTApe2JEPWFofWVsc2V7YkQ9Y1thaT4+Ml18MH1pZigoYkN8MCkh
PShjW2JEKyhhajw8Mik+PjJdfDApKXticmVha31yPWFqKzF8MDtVPWNbZj4+Ml18MDthZz1VKzEy
fDA7bz1jW2FnPj4yXXwwO2lmKChvfDApPT0oY1tVKzE2Pj4yXXwwKSl7VD1jWyhjW1U+PjJdfDAp
KzQwPj4yXXwwO2IwW1QmMTI3XShVKXwwO2FqPXI7Y29udGludWV9ZWxzZXtjW2FnPj4yXT1vKzQ7
YWo9cjtjb250aW51ZX19Y1tqPj4yXT1jW2o+PjJdfDQ7YnY9MDtidz1hYjtieD1hYTticmVhayBM
MTIyMH19d2hpbGUoMCk7aWYoKGFifDApPT0oYWN8MCkpe2J2PTE7Ync9YWM7Yng9YWE7YnJlYWt9
Y1tDPj4yXT0wO2Z0KHYsYWIsYWMsQyk7aWYoKGNbQz4+Ml18MCk9PTApe2J2PTE7Ync9YWI7Yng9
YWE7YnJlYWt9Y1tqPj4yXT1jW2o+PjJdfDQ7YnY9MDtidz1hYjtieD1hYX1lbHNlIGlmKChafDAp
PT03OTEpe2Nbaj4+Ml09Y1tqPj4yXXw0O2J2PTA7Ync9UztieD1SfX13aGlsZSgwKTtlZShBKTtl
ZSh6KTtlZSh5KTtlZSh4KTtkUCh2KTtpZigoYnd8MCk9PTApe2k9cDtyZXR1cm4gYnZ8MH1iWVti
eCY1MTFdKGJ3KTtpPXA7cmV0dXJuIGJ2fDB9ZnVuY3Rpb24gaF8oYixkLGUpe2I9YnwwO2Q9ZHww
O2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7Zj1iO2c9
ZDtoPWFbZl18MDtpPWgmMjU1O2lmKChpJjF8MCk9PTApe2o9aT4+PjF9ZWxzZXtqPWNbYis0Pj4y
XXwwfWlmKChoJjEpPT0wKXtrPTE7bD1ofWVsc2V7aD1jW2I+PjJdfDA7az0oaCYtMiktMXwwO2w9
aCYyNTV9aD1lLWc+PjI7aWYoKGh8MCk9PTApe3JldHVybiBifDB9aWYoKGstanwwKT4+PjA8aD4+
PjApe2VCKGIsayxqK2gta3wwLGosaiwwLDApO209YVtmXXwwfWVsc2V7bT1sfWlmKChtJjEpPT0w
KXtuPWIrNHwwfWVsc2V7bj1jW2IrOD4+Ml18MH1tPW4rKGo8PDIpfDA7aWYoKGR8MCk9PShlfDAp
KXtvPW19ZWxzZXtsPWorKChlLTQrKC1nfDApfDApPj4+MikrMXwwO2c9ZDtkPW07d2hpbGUoMSl7
Y1tkPj4yXT1jW2c+PjJdO209Zys0fDA7aWYoKG18MCk9PShlfDApKXticmVha31lbHNle2c9bTtk
PWQrNHwwfX1vPW4rKGw8PDIpfDB9Y1tvPj4yXT0wO289aitofDA7aWYoKGFbZl0mMSk9PTApe2Fb
Zl09bzw8MSYyNTU7cmV0dXJuIGJ8MH1lbHNle2NbYis0Pj4yXT1vO3JldHVybiBifDB9cmV0dXJu
IDB9ZnVuY3Rpb24gaCQoYSl7YT1hfDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gaDAo
YSl7YT1hfDA7ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24gaDEoYixkLGUsZixnLGgsaixrKXtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9
MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MDtkPWk7aT1pKzQ1NnwwO2w9ZTtlPWk7aT1pKzR8MDtp
PWkrNz4+Mzw8MztjW2U+PjJdPWNbbD4+Ml07bD1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2Nb
Zj4+Ml09Y1tsPj4yXTtsPWR8MDttPWQrMTZ8MDtuPWQrNDE2fDA7bz1kKzQyNHwwO3A9ZCs0MzJ8
MDtxPWQrNDQwfDA7cj1kKzQ0OHwwO3M9bnwwO2Nbcz4+Ml09bTt0PW4rNHwwO2NbdD4+Ml09MTY2
O3U9bSs0MDB8MDtlaihwLGgpO209cHwwO3Y9Y1ttPj4yXXwwO2lmKChjWzM5MjJdfDApIT0tMSl7
Y1tsPj4yXT0xNTY4ODtjW2wrND4+Ml09MTI7Y1tsKzg+PjJdPTA7ZFcoMTU2ODgsbCw5Nil9bD0o
Y1szOTIzXXwwKS0xfDA7dz1jW3YrOD4+Ml18MDtkb3tpZigoY1t2KzEyPj4yXXwwKS13Pj4yPj4+
MD5sPj4+MCl7eD1jW3crKGw8PDIpPj4yXXwwO2lmKCh4fDApPT0wKXticmVha315PXg7YVtxXT0w
O3o9ZnwwO0E9Y1t6Pj4yXXwwO2Nbcj4+Ml09QTtpZihoWihlLHIsZyxwLGNbaCs0Pj4yXXwwLGos
cSx5LG4sbyx1KXwwKXtCPWs7aWYoKGFbQl0mMSk9PTApe2Nbays0Pj4yXT0wO2FbQl09MH1lbHNl
e2NbY1trKzg+PjJdPj4yXT0wO2Nbays0Pj4yXT0wfUI9eDtpZigoYVtxXSYxKSE9MCl7ZWgoayxi
X1tjWyhjW0I+PjJdfDApKzQ0Pj4yXSYzMV0oeSw0NSl8MCl9eD1iX1tjWyhjW0I+PjJdfDApKzQ0
Pj4yXSYzMV0oeSw0OCl8MDt5PWNbbz4+Ml18MDtCPXktNHwwO0M9Y1tzPj4yXXwwO3doaWxlKDEp
e2lmKEM+Pj4wPj1CPj4+MCl7YnJlYWt9aWYoKGNbQz4+Ml18MCk9PSh4fDApKXtDPUMrNHwwfWVs
c2V7YnJlYWt9fWhfKGssQyx5KXwwfXg9ZXwwO0I9Y1t4Pj4yXXwwO2Rve2lmKChCfDApPT0wKXtE
PTB9ZWxzZXtFPWNbQisxMj4+Ml18MDtpZigoRXwwKT09KGNbQisxNj4+Ml18MCkpe0Y9YjBbY1so
Y1tCPj4yXXwwKSszNj4+Ml0mMTI3XShCKXwwfWVsc2V7Rj1jW0U+PjJdfDB9aWYoKEZ8MCkhPS0x
KXtEPUI7YnJlYWt9Y1t4Pj4yXT0wO0Q9MH19d2hpbGUoMCk7eD0oRHwwKT09MDtkb3tpZigoQXww
KT09MCl7Rz0xMTA1fWVsc2V7Qj1jW0ErMTI+PjJdfDA7aWYoKEJ8MCk9PShjW0ErMTY+PjJdfDAp
KXtIPWIwW2NbKGNbQT4+Ml18MCkrMzY+PjJdJjEyN10oQSl8MH1lbHNle0g9Y1tCPj4yXXwwfWlm
KChIfDApPT0tMSl7Y1t6Pj4yXT0wO0c9MTEwNTticmVha31lbHNle2lmKHheKEF8MCk9PTApe2Jy
ZWFrfWVsc2V7Rz0xMTA3O2JyZWFrfX19fXdoaWxlKDApO2lmKChHfDApPT0xMTA1KXtpZih4KXtH
PTExMDd9fWlmKChHfDApPT0xMTA3KXtjW2o+PjJdPWNbaj4+Ml18Mn1jW2I+PjJdPUQ7QT1jW20+
PjJdfDA7ZHooQSl8MDtBPWNbcz4+Ml18MDtjW3M+PjJdPTA7aWYoKEF8MCk9PTApe2k9ZDtyZXR1
cm59YllbY1t0Pj4yXSY1MTFdKEEpO2k9ZDtyZXR1cm59fXdoaWxlKDApO2Q9Yk8oNCl8MDtrcShk
KTtibChkfDAsODE3NiwxMzQpfWZ1bmN0aW9uIGgyKGIsZCxlLGYsZyxoLGosayxsLG0pe2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO2w9bHwwO209bXwwO3Zh
ciBuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0w
LEI9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MDtuPWk7
aT1pKzU2fDA7bz1ufDA7cD1uKzE2fDA7cT1uKzMyfDA7cj1uKzQwfDA7cz1yO3Q9aTtpPWkrMTJ8
MDtpPWkrNz4+Mzw8Mzt1PXQ7dj1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3c9djt4PWk7aT1pKzEy
fDA7aT1pKzc+PjM8PDM7eT14O3o9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO0E9aTtpPWkrMTJ8MDtp
PWkrNz4+Mzw8MztCPUE7RD1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO0U9RDtGPWk7aT1pKzEyfDA7
aT1pKzc+PjM8PDM7Rz1GO0g9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8MztJPUg7aWYoYil7Yj1jW2Q+
PjJdfDA7aWYoKGNbNDA0MF18MCkhPS0xKXtjW3A+PjJdPTE2MTYwO2NbcCs0Pj4yXT0xMjtjW3Ar
OD4+Ml09MDtkVygxNjE2MCxwLDk2KX1wPShjWzQwNDFdfDApLTF8MDtKPWNbYis4Pj4yXXwwO2lm
KChjW2IrMTI+PjJdfDApLUo+PjI+Pj4wPD1wPj4+MCl7Sz1iTyg0KXwwO0w9SztrcShMKTtibChL
fDAsODE3NiwxMzQpfWI9Y1tKKyhwPDwyKT4+Ml18MDtpZigoYnwwKT09MCl7Sz1iTyg0KXwwO0w9
SztrcShMKTtibChLfDAsODE3NiwxMzQpfUs9YjtiWltjWyhjW2I+PjJdfDApKzQ0Pj4yXSYxMjdd
KHEsSyk7TD1lO0M9Y1txPj4yXXwwO2FbTF09QyYyNTU7Qz1DPj44O2FbTCsxfDBdPUMmMjU1O0M9
Qz4+ODthW0wrMnwwXT1DJjI1NTtDPUM+Pjg7YVtMKzN8MF09QyYyNTU7TD1iO2JaW2NbKGNbTD4+
Ml18MCkrMzI+PjJdJjEyN10ocixLKTtxPWw7aWYoKGFbcV0mMSk9PTApe2NbbCs0Pj4yXT0wO2Fb
cV09MH1lbHNle2NbY1tsKzg+PjJdPj4yXT0wO2NbbCs0Pj4yXT0wfWV6KGwsMCk7Y1txPj4yXT1j
W3M+PjJdO2NbcSs0Pj4yXT1jW3MrND4+Ml07Y1txKzg+PjJdPWNbcys4Pj4yXTtrJChzfDAsMCwx
Mik7ZWUocik7YlpbY1soY1tMPj4yXXwwKSsyOD4+Ml0mMTI3XSh0LEspO3I9aztpZigoYVtyXSYx
KT09MCl7Y1trKzQ+PjJdPTA7YVtyXT0wfWVsc2V7Y1tjW2srOD4+Ml0+PjJdPTA7Y1trKzQ+PjJd
PTB9ZXooaywwKTtjW3I+PjJdPWNbdT4+Ml07Y1tyKzQ+PjJdPWNbdSs0Pj4yXTtjW3IrOD4+Ml09
Y1t1Kzg+PjJdO2skKHV8MCwwLDEyKTtlZSh0KTt0PWI7Y1tmPj4yXT1iMFtjWyhjW3Q+PjJdfDAp
KzEyPj4yXSYxMjddKEspfDA7Y1tnPj4yXT1iMFtjWyhjW3Q+PjJdfDApKzE2Pj4yXSYxMjddKEsp
fDA7YlpbY1soY1tiPj4yXXwwKSsyMD4+Ml0mMTI3XSh2LEspO2I9aDtpZigoYVtiXSYxKT09MCl7
YVtoKzF8MF09MDthW2JdPTB9ZWxzZXthW2NbaCs4Pj4yXXwwXT0wO2NbaCs0Pj4yXT0wfWQkKGgs
MCk7Y1tiPj4yXT1jW3c+PjJdO2NbYis0Pj4yXT1jW3crND4+Ml07Y1tiKzg+PjJdPWNbdys4Pj4y
XTtrJCh3fDAsMCwxMik7ZFAodik7YlpbY1soY1tMPj4yXXwwKSsyND4+Ml0mMTI3XSh4LEspO0w9
ajtpZigoYVtMXSYxKT09MCl7Y1tqKzQ+PjJdPTA7YVtMXT0wfWVsc2V7Y1tjW2orOD4+Ml0+PjJd
PTA7Y1tqKzQ+PjJdPTB9ZXooaiwwKTtjW0w+PjJdPWNbeT4+Ml07Y1tMKzQ+PjJdPWNbeSs0Pj4y
XTtjW0wrOD4+Ml09Y1t5Kzg+PjJdO2skKHl8MCwwLDEyKTtlZSh4KTtNPWIwW2NbKGNbdD4+Ml18
MCkrMzY+PjJdJjEyN10oSyl8MDtjW20+PjJdPU07aT1uO3JldHVybn1lbHNle0s9Y1tkPj4yXXww
O2lmKChjWzQwNDJdfDApIT0tMSl7Y1tvPj4yXT0xNjE2ODtjW28rND4+Ml09MTI7Y1tvKzg+PjJd
PTA7ZFcoMTYxNjgsbyw5Nil9bz0oY1s0MDQzXXwwKS0xfDA7ZD1jW0srOD4+Ml18MDtpZigoY1tL
KzEyPj4yXXwwKS1kPj4yPj4+MDw9bz4+PjApe049Yk8oNCl8MDtPPU47a3EoTyk7YmwoTnwwLDgx
NzYsMTM0KX1LPWNbZCsobzw8Mik+PjJdfDA7aWYoKEt8MCk9PTApe049Yk8oNCl8MDtPPU47a3Eo
Tyk7YmwoTnwwLDgxNzYsMTM0KX1OPUs7YlpbY1soY1tLPj4yXXwwKSs0ND4+Ml0mMTI3XSh6LE4p
O089ZTtDPWNbej4+Ml18MDthW09dPUMmMjU1O0M9Qz4+ODthW08rMXwwXT1DJjI1NTtDPUM+Pjg7
YVtPKzJ8MF09QyYyNTU7Qz1DPj44O2FbTyszfDBdPUMmMjU1O089SztiWltjWyhjW08+PjJdfDAp
KzMyPj4yXSYxMjddKEEsTik7ej1sO2lmKChhW3pdJjEpPT0wKXtjW2wrND4+Ml09MDthW3pdPTB9
ZWxzZXtjW2NbbCs4Pj4yXT4+Ml09MDtjW2wrND4+Ml09MH1leihsLDApO2Nbej4+Ml09Y1tCPj4y
XTtjW3orND4+Ml09Y1tCKzQ+PjJdO2Nbeis4Pj4yXT1jW0IrOD4+Ml07ayQoQnwwLDAsMTIpO2Vl
KEEpO2JaW2NbKGNbTz4+Ml18MCkrMjg+PjJdJjEyN10oRCxOKTtBPWs7aWYoKGFbQV0mMSk9PTAp
e2Nbays0Pj4yXT0wO2FbQV09MH1lbHNle2NbY1trKzg+PjJdPj4yXT0wO2Nbays0Pj4yXT0wfWV6
KGssMCk7Y1tBPj4yXT1jW0U+PjJdO2NbQSs0Pj4yXT1jW0UrND4+Ml07Y1tBKzg+PjJdPWNbRSs4
Pj4yXTtrJChFfDAsMCwxMik7ZWUoRCk7RD1LO2NbZj4+Ml09YjBbY1soY1tEPj4yXXwwKSsxMj4+
Ml0mMTI3XShOKXwwO2NbZz4+Ml09YjBbY1soY1tEPj4yXXwwKSsxNj4+Ml0mMTI3XShOKXwwO2Ja
W2NbKGNbSz4+Ml18MCkrMjA+PjJdJjEyN10oRixOKTtLPWg7aWYoKGFbS10mMSk9PTApe2FbaCsx
fDBdPTA7YVtLXT0wfWVsc2V7YVtjW2grOD4+Ml18MF09MDtjW2grND4+Ml09MH1kJChoLDApO2Nb
Sz4+Ml09Y1tHPj4yXTtjW0srND4+Ml09Y1tHKzQ+PjJdO2NbSys4Pj4yXT1jW0crOD4+Ml07ayQo
R3wwLDAsMTIpO2RQKEYpO2JaW2NbKGNbTz4+Ml18MCkrMjQ+PjJdJjEyN10oSCxOKTtPPWo7aWYo
KGFbT10mMSk9PTApe2Nbais0Pj4yXT0wO2FbT109MH1lbHNle2NbY1tqKzg+PjJdPj4yXT0wO2Nb
ais0Pj4yXT0wfWV6KGosMCk7Y1tPPj4yXT1jW0k+PjJdO2NbTys0Pj4yXT1jW0krND4+Ml07Y1tP
Kzg+PjJdPWNbSSs4Pj4yXTtrJChJfDAsMCwxMik7ZWUoSCk7TT1iMFtjWyhjW0Q+PjJdfDApKzM2
Pj4yXSYxMjddKE4pfDA7Y1ttPj4yXT1NO2k9bjtyZXR1cm59fWZ1bmN0aW9uIGgzKGEsYixkKXth
PWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtlPWEr
NHwwO2Y9KGNbZT4+Ml18MCkhPTE2NjtnPWF8MDthPWNbZz4+Ml18MDtoPWE7aT0oY1tkPj4yXXww
KS1ofDA7aj1pPj4+MDwyMTQ3NDgzNjQ3P2k8PDE6LTE7aT0oY1tiPj4yXXwwKS1oPj4yO2lmKGYp
e2s9YX1lbHNle2s9MH1hPWtMKGssail8MDtrPWE7aWYoKGF8MCk9PTApe2tYKCl9ZG97aWYoZil7
Y1tnPj4yXT1rO2w9a31lbHNle2E9Y1tnPj4yXXwwO2NbZz4+Ml09aztpZigoYXwwKT09MCl7bD1r
O2JyZWFrfWJZW2NbZT4+Ml0mNTExXShhKTtsPWNbZz4+Ml18MH19d2hpbGUoMCk7Y1tlPj4yXT04
MjtjW2I+PjJdPWwrKGk8PDIpO2NbZD4+Ml09KGNbZz4+Ml18MCkrKGo+Pj4yPDwyKTtyZXR1cm59
ZnVuY3Rpb24gaDQoYixlLGYsZyxqLGssbCl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aj1qfDA7
az1rfDA7bD0rbDt2YXIgbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9
MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0w
LEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wO2U9aTtpPWkr
MjgwfDA7bT1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1ttPj4yXTttPWV8MDtu
PWUrMTIwfDA7bz1lKzIzMnwwO3A9ZSsyNDB8MDtxPWUrMjQ4fDA7cj1lKzI1NnwwO3M9ZSsyNjR8
MDt0PXM7dT1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3Y9dTt3PWk7aT1pKzEyfDA7aT1pKzc+PjM8
PDM7eD13O3k9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3o9aTtpPWkrMTAwfDA7aT1pKzc+PjM8PDM7
QT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Qj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Qz1pO2k9aSs0
fDA7aT1pKzc+PjM8PDM7RD1lKzE2fDA7Y1tuPj4yXT1EO0U9ZSsxMjh8MDtGPWFaKER8MCwxMDAs
MTM2MCwoRD1pLGk9aSs4fDAsaFtEPj4zXT1sLEQpfDApfDA7aT1EO2Rve2lmKEY+Pj4wPjk5KXtk
b3tpZigoYVsxNjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09
YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDApO0c9Z2gobixjWzI5NThdfDAsMTM2MCwoRD1pLGk9aSs4
fDAsaFtEPj4zXT1sLEQpfDApfDA7aT1EO0g9Y1tuPj4yXXwwO2lmKChIfDApPT0wKXtrWCgpO0k9
Y1tuPj4yXXwwfWVsc2V7ST1IfUg9a0ooRyl8MDtpZigoSHwwKSE9MCl7Sj1IO0s9RztMPUk7TT1I
O2JyZWFrfWtYKCk7Sj0wO0s9RztMPUk7TT0wfWVsc2V7Sj1FO0s9RjtMPTA7TT0wfX13aGlsZSgw
KTtlaihvLGopO0Y9b3wwO0U9Y1tGPj4yXXwwO2lmKChjWzM5MjRdfDApIT0tMSl7Y1ttPj4yXT0x
NTY5NjtjW20rND4+Ml09MTI7Y1ttKzg+PjJdPTA7ZFcoMTU2OTYsbSw5Nil9bT0oY1szOTI1XXww
KS0xfDA7ST1jW0UrOD4+Ml18MDtkb3tpZigoY1tFKzEyPj4yXXwwKS1JPj4yPj4+MD5tPj4+MCl7
RD1jW0krKG08PDIpPj4yXXwwO2lmKChEfDApPT0wKXticmVha31HPUQ7SD1jW24+PjJdfDA7Tj1I
K0t8MDtPPWNbKGNbRD4+Ml18MCkrMzI+PjJdfDA7Y2FbTyYxNV0oRyxILE4sSil8MDtpZigoS3ww
KT09MCl7UD0wfWVsc2V7UD0oYVtjW24+PjJdfDBdfDApPT00NX1rJCh0fDAsMCwxMik7ayQodnww
LDAsMTIpO2skKHh8MCwwLDEyKTtoNShnLFAsbyxwLHEscixzLHUsdyx5KTtOPXp8MDtIPWNbeT4+
Ml18MDtpZigoS3wwKT4oSHwwKSl7Tz1kW3hdfDA7aWYoKE8mMXwwKT09MCl7UT1PPj4+MX1lbHNl
e1E9Y1t3KzQ+PjJdfDB9Tz1kW3ZdfDA7aWYoKE8mMXwwKT09MCl7Uj1PPj4+MX1lbHNle1I9Y1t1
KzQ+PjJdfDB9Uz0oSy1IPDwxfDEpK1ErUnwwfWVsc2V7Tz1kW3hdfDA7aWYoKE8mMXwwKT09MCl7
VD1PPj4+MX1lbHNle1Q9Y1t3KzQ+PjJdfDB9Tz1kW3ZdfDA7aWYoKE8mMXwwKT09MCl7VT1PPj4+
MX1lbHNle1U9Y1t1KzQ+PjJdfDB9Uz1UKzIrVXwwfU89UytIfDA7ZG97aWYoTz4+PjA+MTAwKXtE
PWtKKE8pfDA7aWYoKER8MCkhPTApe1Y9RDtXPUQ7YnJlYWt9a1goKTtWPTA7Vz0wfWVsc2V7Vj1O
O1c9MH19d2hpbGUoMCk7aDYoVixBLEIsY1tqKzQ+PjJdfDAsSixKK0t8MCxHLFAscCxhW3FdfDAs
YVtyXXwwLHMsdSx3LEgpO2NbQz4+Ml09Y1tmPj4yXTtmOShiLEMsVixjW0E+PjJdfDAsY1tCPj4y
XXwwLGosayk7aWYoKFd8MCkhPTApe2tLKFcpfWRQKHcpO2RQKHUpO2RQKHMpO049Y1tGPj4yXXww
O2R6KE4pfDA7aWYoKE18MCkhPTApe2tLKE0pfWlmKChMfDApPT0wKXtpPWU7cmV0dXJufWtLKEwp
O2k9ZTtyZXR1cm59fXdoaWxlKDApO2U9Yk8oNCl8MDtrcShlKTtibChlfDAsODE3NiwxMzQpfWZ1
bmN0aW9uIGg1KGIsZCxlLGYsZyxoLGosayxsLG0pe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9
Z3wwO2g9aHwwO2o9anwwO2s9a3wwO2w9bHwwO209bXwwO3ZhciBuPTAsbz0wLHA9MCxxPTAscj0w
LHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxEPTAsRT0wLEY9MCxHPTAs
SD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MDtu
PWk7aT1pKzQwfDA7bz1ufDA7cD1uKzE2fDA7cT1uKzMyfDA7cj1xO3M9aTtpPWkrMTJ8MDtpPWkr
Nz4+Mzw8Mzt0PXM7dT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7dj11O3c9aTtpPWkrMTJ8MDtpPWkr
Nz4+Mzw8Mzt4PXc7eT1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3o9eTtBPWk7aT1pKzEyfDA7aT1p
Kzc+PjM8PDM7Qj1BO0Q9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO0U9RDtGPWk7aT1pKzEyfDA7aT1p
Kzc+PjM8PDM7Rz1GO0g9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO0k9SDtKPWk7aT1pKzEyfDA7aT1p
Kzc+PjM8PDM7Sz1KO0w9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8MztNPUw7Tj1pO2k9aSsxMnwwO2k9
aSs3Pj4zPDwzO089TjtQPWNbZT4+Ml18MDtpZihiKXtpZigoY1s0MDQ0XXwwKSE9LTEpe2NbcD4+
Ml09MTYxNzY7Y1twKzQ+PjJdPTEyO2NbcCs4Pj4yXT0wO2RXKDE2MTc2LHAsOTYpfXA9KGNbNDA0
NV18MCktMXwwO2I9Y1tQKzg+PjJdfDA7aWYoKGNbUCsxMj4+Ml18MCktYj4+Mj4+PjA8PXA+Pj4w
KXtRPWJPKDQpfDA7Uj1RO2txKFIpO2JsKFF8MCw4MTc2LDEzNCl9ZT1jW2IrKHA8PDIpPj4yXXww
O2lmKChlfDApPT0wKXtRPWJPKDQpfDA7Uj1RO2txKFIpO2JsKFF8MCw4MTc2LDEzNCl9UT1lO1I9
Y1tlPj4yXXwwO2lmKGQpe2JaW2NbUis0ND4+Ml0mMTI3XShyLFEpO3I9ZjtDPWNbcT4+Ml18MDth
W3JdPUMmMjU1O0M9Qz4+ODthW3IrMXwwXT1DJjI1NTtDPUM+Pjg7YVtyKzJ8MF09QyYyNTU7Qz1D
Pj44O2FbciszfDBdPUMmMjU1O2JaW2NbKGNbZT4+Ml18MCkrMzI+PjJdJjEyN10ocyxRKTtyPWw7
aWYoKGFbcl0mMSk9PTApe2FbbCsxfDBdPTA7YVtyXT0wfWVsc2V7YVtjW2wrOD4+Ml18MF09MDtj
W2wrND4+Ml09MH1kJChsLDApO2Nbcj4+Ml09Y1t0Pj4yXTtjW3IrND4+Ml09Y1t0KzQ+PjJdO2Nb
cis4Pj4yXT1jW3QrOD4+Ml07ayQodHwwLDAsMTIpO2RQKHMpfWVsc2V7YlpbY1tSKzQwPj4yXSYx
MjddKHYsUSk7dj1mO0M9Y1t1Pj4yXXwwO2Fbdl09QyYyNTU7Qz1DPj44O2FbdisxfDBdPUMmMjU1
O0M9Qz4+ODthW3YrMnwwXT1DJjI1NTtDPUM+Pjg7YVt2KzN8MF09QyYyNTU7YlpbY1soY1tlPj4y
XXwwKSsyOD4+Ml0mMTI3XSh3LFEpO3Y9bDtpZigoYVt2XSYxKT09MCl7YVtsKzF8MF09MDthW3Zd
PTB9ZWxzZXthW2NbbCs4Pj4yXXwwXT0wO2NbbCs0Pj4yXT0wfWQkKGwsMCk7Y1t2Pj4yXT1jW3g+
PjJdO2Nbdis0Pj4yXT1jW3grND4+Ml07Y1t2Kzg+PjJdPWNbeCs4Pj4yXTtrJCh4fDAsMCwxMik7
ZFAodyl9dz1lO2FbZ109YjBbY1soY1t3Pj4yXXwwKSsxMj4+Ml0mMTI3XShRKXwwO2FbaF09YjBb
Y1soY1t3Pj4yXXwwKSsxNj4+Ml0mMTI3XShRKXwwO3c9ZTtiWltjWyhjW3c+PjJdfDApKzIwPj4y
XSYxMjddKHksUSk7eD1qO2lmKChhW3hdJjEpPT0wKXthW2orMXwwXT0wO2FbeF09MH1lbHNle2Fb
Y1tqKzg+PjJdfDBdPTA7Y1tqKzQ+PjJdPTB9ZCQoaiwwKTtjW3g+PjJdPWNbej4+Ml07Y1t4KzQ+
PjJdPWNbeis0Pj4yXTtjW3grOD4+Ml09Y1t6Kzg+PjJdO2skKHp8MCwwLDEyKTtkUCh5KTtiWltj
WyhjW3c+PjJdfDApKzI0Pj4yXSYxMjddKEEsUSk7dz1rO2lmKChhW3ddJjEpPT0wKXthW2srMXww
XT0wO2Fbd109MH1lbHNle2FbY1trKzg+PjJdfDBdPTA7Y1trKzQ+PjJdPTB9ZCQoaywwKTtjW3c+
PjJdPWNbQj4+Ml07Y1t3KzQ+PjJdPWNbQis0Pj4yXTtjW3crOD4+Ml09Y1tCKzg+PjJdO2skKEJ8
MCwwLDEyKTtkUChBKTtTPWIwW2NbKGNbZT4+Ml18MCkrMzY+PjJdJjEyN10oUSl8MDtjW20+PjJd
PVM7aT1uO3JldHVybn1lbHNle2lmKChjWzQwNDZdfDApIT0tMSl7Y1tvPj4yXT0xNjE4NDtjW28r
ND4+Ml09MTI7Y1tvKzg+PjJdPTA7ZFcoMTYxODQsbyw5Nil9bz0oY1s0MDQ3XXwwKS0xfDA7UT1j
W1ArOD4+Ml18MDtpZigoY1tQKzEyPj4yXXwwKS1RPj4yPj4+MDw9bz4+PjApe1Q9Yk8oNCl8MDtV
PVQ7a3EoVSk7YmwoVHwwLDgxNzYsMTM0KX1QPWNbUSsobzw8Mik+PjJdfDA7aWYoKFB8MCk9PTAp
e1Q9Yk8oNCl8MDtVPVQ7a3EoVSk7YmwoVHwwLDgxNzYsMTM0KX1UPVA7VT1jW1A+PjJdfDA7aWYo
ZCl7YlpbY1tVKzQ0Pj4yXSYxMjddKEUsVCk7RT1mO0M9Y1tEPj4yXXwwO2FbRV09QyYyNTU7Qz1D
Pj44O2FbRSsxfDBdPUMmMjU1O0M9Qz4+ODthW0UrMnwwXT1DJjI1NTtDPUM+Pjg7YVtFKzN8MF09
QyYyNTU7YlpbY1soY1tQPj4yXXwwKSszMj4+Ml0mMTI3XShGLFQpO0U9bDtpZigoYVtFXSYxKT09
MCl7YVtsKzF8MF09MDthW0VdPTB9ZWxzZXthW2NbbCs4Pj4yXXwwXT0wO2NbbCs0Pj4yXT0wfWQk
KGwsMCk7Y1tFPj4yXT1jW0c+PjJdO2NbRSs0Pj4yXT1jW0crND4+Ml07Y1tFKzg+PjJdPWNbRys4
Pj4yXTtrJChHfDAsMCwxMik7ZFAoRil9ZWxzZXtiWltjW1UrNDA+PjJdJjEyN10oSSxUKTtJPWY7
Qz1jW0g+PjJdfDA7YVtJXT1DJjI1NTtDPUM+Pjg7YVtJKzF8MF09QyYyNTU7Qz1DPj44O2FbSSsy
fDBdPUMmMjU1O0M9Qz4+ODthW0krM3wwXT1DJjI1NTtiWltjWyhjW1A+PjJdfDApKzI4Pj4yXSYx
MjddKEosVCk7ST1sO2lmKChhW0ldJjEpPT0wKXthW2wrMXwwXT0wO2FbSV09MH1lbHNle2FbY1ts
Kzg+PjJdfDBdPTA7Y1tsKzQ+PjJdPTB9ZCQobCwwKTtjW0k+PjJdPWNbSz4+Ml07Y1tJKzQ+PjJd
PWNbSys0Pj4yXTtjW0krOD4+Ml09Y1tLKzg+PjJdO2skKEt8MCwwLDEyKTtkUChKKX1KPVA7YVtn
XT1iMFtjWyhjW0o+PjJdfDApKzEyPj4yXSYxMjddKFQpfDA7YVtoXT1iMFtjWyhjW0o+PjJdfDAp
KzE2Pj4yXSYxMjddKFQpfDA7Sj1QO2JaW2NbKGNbSj4+Ml18MCkrMjA+PjJdJjEyN10oTCxUKTto
PWo7aWYoKGFbaF0mMSk9PTApe2FbaisxfDBdPTA7YVtoXT0wfWVsc2V7YVtjW2orOD4+Ml18MF09
MDtjW2orND4+Ml09MH1kJChqLDApO2NbaD4+Ml09Y1tNPj4yXTtjW2grND4+Ml09Y1tNKzQ+PjJd
O2NbaCs4Pj4yXT1jW00rOD4+Ml07ayQoTXwwLDAsMTIpO2RQKEwpO2JaW2NbKGNbSj4+Ml18MCkr
MjQ+PjJdJjEyN10oTixUKTtKPWs7aWYoKGFbSl0mMSk9PTApe2FbaysxfDBdPTA7YVtKXT0wfWVs
c2V7YVtjW2srOD4+Ml18MF09MDtjW2srND4+Ml09MH1kJChrLDApO2NbSj4+Ml09Y1tPPj4yXTtj
W0orND4+Ml09Y1tPKzQ+PjJdO2NbSis4Pj4yXT1jW08rOD4+Ml07ayQoT3wwLDAsMTIpO2RQKE4p
O1M9YjBbY1soY1tQPj4yXXwwKSszNj4+Ml0mMTI3XShUKXwwO2NbbT4+Ml09UztpPW47cmV0dXJu
fX1mdW5jdGlvbiBoNihkLGUsZixnLGgsaSxqLGssbCxtLG4sbyxwLHEscil7ZD1kfDA7ZT1lfDA7
Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7aj1qfDA7az1rfDA7bD1sfDA7bT1tfDA7bj1ufDA7bz1v
fDA7cD1wfDA7cT1xfDA7cj1yfDA7dmFyIHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAs
QT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxP
PTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFh
PTAsYWI9MCxhYz0wLGFkPTAsYWU9MCxhZj0wLGFnPTAsYWg9MCxhaT0wLGFqPTAsYWs9MCxhbD0w
LGFtPTAsYW49MCxhbz0wLGFwPTAsYXE9MCxhcj0wLGFzPTAsYXQ9MCxhdT0wLGF2PTAsYXc9MCxh
eD0wLGF5PTA7Y1tmPj4yXT1kO3M9ajt0PXE7dT1xKzF8MDt2PXErOHwwO3c9cSs0fDA7cT1wO3g9
KGcmNTEyfDApPT0wO3k9cCsxfDA7ej1wKzR8MDtBPXArOHwwO3A9ais4fDA7Qj0ocnwwKT4wO0M9
bztEPW8rMXwwO0U9bys4fDA7Rj1vKzR8MDtvPS1yfDA7Rz1oO2g9MDt3aGlsZSgxKXtMMTU4MDpk
b3tzd2l0Y2goYVtsK2h8MF18MCl7Y2FzZSAwOntjW2U+PjJdPWNbZj4+Ml07SD1HO2JyZWFrfTtj
YXNlIDE6e2NbZT4+Ml09Y1tmPj4yXTtJPWJfW2NbKGNbcz4+Ml18MCkrMjg+PjJdJjMxXShqLDMy
KXwwO0o9Y1tmPj4yXXwwO2NbZj4+Ml09SisxO2FbSl09STtIPUc7YnJlYWt9O2Nhc2UgMzp7ST1h
W3RdfDA7Sj1JJjI1NTtpZigoSiYxfDApPT0wKXtLPUo+Pj4xfWVsc2V7Sz1jW3c+PjJdfDB9aWYo
KEt8MCk9PTApe0g9RzticmVhayBMMTU4MH1pZigoSSYxKT09MCl7TD11fWVsc2V7TD1jW3Y+PjJd
fDB9ST1hW0xdfDA7Sj1jW2Y+PjJdfDA7Y1tmPj4yXT1KKzE7YVtKXT1JO0g9RzticmVha307Y2Fz
ZSAyOntJPWFbcV18MDtKPUkmMjU1O009KEomMXwwKT09MDtpZihNKXtOPUo+Pj4xfWVsc2V7Tj1j
W3o+PjJdfDB9aWYoKE58MCk9PTB8eCl7SD1HO2JyZWFrIEwxNTgwfWlmKChJJjEpPT0wKXtPPXk7
UD15fWVsc2V7ST1jW0E+PjJdfDA7Tz1JO1A9SX1pZihNKXtRPUo+Pj4xfWVsc2V7UT1jW3o+PjJd
fDB9Sj1PK1F8MDtNPWNbZj4+Ml18MDtpZigoUHwwKT09KEp8MCkpe1I9TX1lbHNle0k9UDtTPU07
d2hpbGUoMSl7YVtTXT1hW0ldfDA7TT1JKzF8MDtUPVMrMXwwO2lmKChNfDApPT0oSnwwKSl7Uj1U
O2JyZWFrfWVsc2V7ST1NO1M9VH19fWNbZj4+Ml09UjtIPUc7YnJlYWt9O2Nhc2UgNDp7Uz1jW2Y+
PjJdfDA7ST1rP0crMXwwOkc7Sj1JO3doaWxlKDEpe2lmKEo+Pj4wPj1pPj4+MCl7YnJlYWt9VD1h
W0pdfDA7aWYoVDw8MjQ+PjI0PD0tMSl7YnJlYWt9aWYoKGJbKGNbcD4+Ml18MCkrKFQ8PDI0Pj4y
NDw8MSk+PjFdJjIwNDgpPT0wKXticmVha31lbHNle0o9SisxfDB9fVQ9SjtpZihCKXtpZihKPj4+
MD5JPj4+MCl7TT1JKygtVHwwKXwwO1Q9TT4+PjA8bz4+PjA/bzpNO009VCtyfDA7VT1KO1Y9cjtX
PVM7d2hpbGUoMSl7WD1VLTF8MDtZPWFbWF18MDtjW2Y+PjJdPVcrMTthW1ddPVk7WT1WLTF8MDta
PShZfDApPjA7aWYoIShYPj4+MD5JPj4+MCZaKSl7YnJlYWt9VT1YO1Y9WTtXPWNbZj4+Ml18MH1X
PUorVHwwO2lmKFope189TTskPVc7YWE9MTM1NH1lbHNle2FiPTA7YWM9TTthZD1XfX1lbHNle189
cjskPUo7YWE9MTM1NH1pZigoYWF8MCk9PTEzNTQpe2FhPTA7YWI9Yl9bY1soY1tzPj4yXXwwKSsy
OD4+Ml0mMzFdKGosNDgpfDA7YWM9XzthZD0kfVc9Y1tmPj4yXXwwO2NbZj4+Ml09VysxO2lmKChh
Y3wwKT4wKXtWPWFjO1U9Vzt3aGlsZSgxKXthW1VdPWFiO1k9Vi0xfDA7WD1jW2Y+PjJdfDA7Y1tm
Pj4yXT1YKzE7aWYoKFl8MCk+MCl7Vj1ZO1U9WH1lbHNle2FlPVg7YnJlYWt9fX1lbHNle2FlPVd9
YVthZV09bTthZj1hZH1lbHNle2FmPUp9aWYoKGFmfDApPT0oSXwwKSl7VT1iX1tjWyhjW3M+PjJd
fDApKzI4Pj4yXSYzMV0oaiw0OCl8MDtWPWNbZj4+Ml18MDtjW2Y+PjJdPVYrMTthW1ZdPVV9ZWxz
ZXtVPWFbQ118MDtWPVUmMjU1O2lmKChWJjF8MCk9PTApe2FnPVY+Pj4xfWVsc2V7YWc9Y1tGPj4y
XXwwfWlmKChhZ3wwKT09MCl7YWg9YWY7YWk9MDthaj0wO2FrPS0xfWVsc2V7aWYoKFUmMSk9PTAp
e2FsPUR9ZWxzZXthbD1jW0U+PjJdfDB9YWg9YWY7YWk9MDthaj0wO2FrPWFbYWxdfDB9d2hpbGUo
MSl7ZG97aWYoKGFpfDApPT0oYWt8MCkpe1U9Y1tmPj4yXXwwO2NbZj4+Ml09VSsxO2FbVV09bjtV
PWFqKzF8MDtWPWFbQ118MDtNPVYmMjU1O2lmKChNJjF8MCk9PTApe2FtPU0+Pj4xfWVsc2V7YW09
Y1tGPj4yXXwwfWlmKFU+Pj4wPj1hbT4+PjApe2FuPWFrO2FvPVU7YXA9MDticmVha31NPShWJjEp
PT0wO2lmKE0pe2FxPUR9ZWxzZXthcT1jW0U+PjJdfDB9aWYoKGFbYXErVXwwXXwwKT09MTI3KXth
bj0tMTthbz1VO2FwPTA7YnJlYWt9aWYoTSl7YXI9RH1lbHNle2FyPWNbRT4+Ml18MH1hbj1hW2Fy
K1V8MF18MDthbz1VO2FwPTB9ZWxzZXthbj1hazthbz1hajthcD1haX19d2hpbGUoMCk7VT1haC0x
fDA7TT1hW1VdfDA7Vj1jW2Y+PjJdfDA7Y1tmPj4yXT1WKzE7YVtWXT1NO2lmKChVfDApPT0oSXww
KSl7YnJlYWt9ZWxzZXthaD1VO2FpPWFwKzF8MDthaj1hbzthaz1hbn19fUo9Y1tmPj4yXXwwO2lm
KChTfDApPT0oSnwwKSl7SD1JO2JyZWFrIEwxNTgwfVc9Si0xfDA7aWYoUz4+PjA8Vz4+PjApe2Fz
PVM7YXQ9V31lbHNle0g9STticmVhayBMMTU4MH13aGlsZSgxKXtXPWFbYXNdfDA7YVthc109YVth
dF18MDthW2F0XT1XO1c9YXMrMXwwO0o9YXQtMXwwO2lmKFc+Pj4wPEo+Pj4wKXthcz1XO2F0PUp9
ZWxzZXtIPUk7YnJlYWt9fWJyZWFrfTtkZWZhdWx0OntIPUd9fX13aGlsZSgwKTtJPWgrMXwwO2lm
KEk+Pj4wPDQpe0c9SDtoPUl9ZWxzZXticmVha319aD1hW3RdfDA7dD1oJjI1NTtIPSh0JjF8MCk9
PTA7aWYoSCl7YXU9dD4+PjF9ZWxzZXthdT1jW3c+PjJdfDB9aWYoYXU+Pj4wPjEpe2lmKChoJjEp
PT0wKXthdj11O2F3PXV9ZWxzZXt1PWNbdj4+Ml18MDthdj11O2F3PXV9aWYoSCl7YXg9dD4+PjF9
ZWxzZXtheD1jW3c+PjJdfDB9dz1hditheHwwO2F4PWNbZj4+Ml18MDthdj1hdysxfDA7aWYoKGF2
fDApPT0od3wwKSl7YXk9YXh9ZWxzZXthdz1heDtheD1hdjt3aGlsZSgxKXthW2F3XT1hW2F4XXww
O2F2PWF3KzF8MDt0PWF4KzF8MDtpZigodHwwKT09KHd8MCkpe2F5PWF2O2JyZWFrfWVsc2V7YXc9
YXY7YXg9dH19fWNbZj4+Ml09YXl9c3dpdGNoKGcmMTc2fDApe2Nhc2UgMTY6e3JldHVybn07Y2Fz
ZSAzMjp7Y1tlPj4yXT1jW2Y+PjJdO3JldHVybn07ZGVmYXVsdDp7Y1tlPj4yXT1kO3JldHVybn19
fWZ1bmN0aW9uIGg3KGEpe2E9YXwwO2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGg4KGEp
e2E9YXwwO2RlKGF8MCk7cmV0dXJufWZ1bmN0aW9uIGg5KGIsZSxmLGcsaCxqLGspe2I9YnwwO2U9
ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0wLG49MCxvPTAscD0w
LHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAs
RT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxT
PTAsVD0wLFU9MCxWPTAsVz0wLFg9MCxZPTAsWj0wLF89MCwkPTAsYWE9MCxhYj0wLGFjPTA7ZT1p
O2k9aSs2NHwwO2w9ZjtmPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2Y+PjJdPWNbbD4+Ml07bD1l
fDA7bT1lKzE2fDA7bj1lKzI0fDA7bz1lKzMyfDA7cD1lKzQwfDA7cT1lKzQ4fDA7cj1xO3M9aTtp
PWkrMTJ8MDtpPWkrNz4+Mzw8Mzt0PXM7dT1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3Y9dTt3PWk7
aT1pKzR8MDtpPWkrNz4+Mzw8Mzt4PWk7aT1pKzEwMHwwO2k9aSs3Pj4zPDwzO3k9aTtpPWkrNHww
O2k9aSs3Pj4zPDwzO3o9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO0E9aTtpPWkrNHwwO2k9aSs3Pj4z
PDwzO2VqKG0saCk7Qj1tfDA7Qz1jW0I+PjJdfDA7aWYoKGNbMzkyNF18MCkhPS0xKXtjW2w+PjJd
PTE1Njk2O2NbbCs0Pj4yXT0xMjtjW2wrOD4+Ml09MDtkVygxNTY5NixsLDk2KX1sPShjWzM5MjVd
fDApLTF8MDtEPWNbQys4Pj4yXXwwO2Rve2lmKChjW0MrMTI+PjJdfDApLUQ+PjI+Pj4wPmw+Pj4w
KXtFPWNbRCsobDw8Mik+PjJdfDA7aWYoKEV8MCk9PTApe2JyZWFrfUY9RTtHPWs7SD1rO0k9YVtI
XXwwO0o9SSYyNTU7aWYoKEomMXwwKT09MCl7Sz1KPj4+MX1lbHNle0s9Y1trKzQ+PjJdfDB9aWYo
KEt8MCk9PTApe0w9MH1lbHNle2lmKChJJjEpPT0wKXtNPUcrMXwwfWVsc2V7TT1jW2srOD4+Ml18
MH1JPWFbTV18MDtMPUk8PDI0Pj4yND09KGJfW2NbKGNbRT4+Ml18MCkrMjg+PjJdJjMxXShGLDQ1
KXwwKTw8MjQ+PjI0fWskKHJ8MCwwLDEyKTtrJCh0fDAsMCwxMik7ayQodnwwLDAsMTIpO2g1KGcs
TCxtLG4sbyxwLHEscyx1LHcpO0U9eHwwO0k9YVtIXXwwO0o9SSYyNTU7Tj0oSiYxfDApPT0wO2lm
KE4pe089Sj4+PjF9ZWxzZXtPPWNbays0Pj4yXXwwfVA9Y1t3Pj4yXXwwO2lmKChPfDApPihQfDAp
KXtpZihOKXtRPUo+Pj4xfWVsc2V7UT1jW2srND4+Ml18MH1KPWRbdl18MDtpZigoSiYxfDApPT0w
KXtSPUo+Pj4xfWVsc2V7Uj1jW3UrND4+Ml18MH1KPWRbdF18MDtpZigoSiYxfDApPT0wKXtTPUo+
Pj4xfWVsc2V7Uz1jW3MrND4+Ml18MH1UPShRLVA8PDF8MSkrUitTfDB9ZWxzZXtKPWRbdl18MDtp
ZigoSiYxfDApPT0wKXtVPUo+Pj4xfWVsc2V7VT1jW3UrND4+Ml18MH1KPWRbdF18MDtpZigoSiYx
fDApPT0wKXtWPUo+Pj4xfWVsc2V7Vj1jW3MrND4+Ml18MH1UPVUrMitWfDB9Sj1UK1B8MDtkb3tp
ZihKPj4+MD4xMDApe049a0ooSil8MDtpZigoTnwwKSE9MCl7Vz1OO1g9TjtZPUk7YnJlYWt9a1go
KTtXPTA7WD0wO1k9YVtIXXwwfWVsc2V7Vz1FO1g9MDtZPUl9fXdoaWxlKDApO2lmKChZJjEpPT0w
KXtaPUcrMXwwO189RysxfDB9ZWxzZXtJPWNbays4Pj4yXXwwO1o9STtfPUl9ST1ZJjI1NTtpZigo
SSYxfDApPT0wKXskPUk+Pj4xfWVsc2V7JD1jW2srND4+Ml18MH1oNihXLHkseixjW2grND4+Ml18
MCxfLForJHwwLEYsTCxuLGFbb118MCxhW3BdfDAscSxzLHUsUCk7Y1tBPj4yXT1jW2Y+PjJdO2Y5
KGIsQSxXLGNbeT4+Ml18MCxjW3o+PjJdfDAsaCxqKTtpZigoWHwwKT09MCl7ZFAodSk7ZFAocyk7
ZFAocSk7YWE9Y1tCPj4yXXwwO2FiPWFhfDA7YWM9ZHooYWIpfDA7aT1lO3JldHVybn1rSyhYKTtk
UCh1KTtkUChzKTtkUChxKTthYT1jW0I+PjJdfDA7YWI9YWF8MDthYz1keihhYil8MDtpPWU7cmV0
dXJufX13aGlsZSgwKTtlPWJPKDQpfDA7a3EoZSk7YmwoZXwwLDgxNzYsMTM0KX1mdW5jdGlvbiBp
YShiLGUsZixnLGosayxsKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtqPWp8MDtrPWt8MDtsPSts
O3ZhciBtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAs
ej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxO
PTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wO2U9aTtpPWkrNTc2fDA7
bT1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1ttPj4yXTttPWV8MDtuPWUrMTIw
fDA7bz1lKzUyOHwwO3A9ZSs1MzZ8MDtxPWUrNTQ0fDA7cj1lKzU1MnwwO3M9ZSs1NjB8MDt0PXM7
dT1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3Y9dTt3PWk7aT1pKzEyfDA7aT1pKzc+PjM8PDM7eD13
O3k9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3o9aTtpPWkrNDAwfDA7QT1pO2k9aSs0fDA7aT1pKzc+
PjM8PDM7Qj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Qz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7RD1l
KzE2fDA7Y1tuPj4yXT1EO0U9ZSsxMjh8MDtGPWFaKER8MCwxMDAsMTM2MCwoRD1pLGk9aSs4fDAs
aFtEPj4zXT1sLEQpfDApfDA7aT1EO2Rve2lmKEY+Pj4wPjk5KXtkb3tpZigoYVsxNjI2NF18MCk9
PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdo
aWxlKDApO0c9Z2gobixjWzI5NThdfDAsMTM2MCwoRD1pLGk9aSs4fDAsaFtEPj4zXT1sLEQpfDAp
fDA7aT1EO0g9Y1tuPj4yXXwwO2lmKChIfDApPT0wKXtrWCgpO0k9Y1tuPj4yXXwwfWVsc2V7ST1I
fUg9a0ooRzw8Mil8MDtKPUg7aWYoKEh8MCkhPTApe0s9SjtMPUc7TT1JO049SjticmVha31rWCgp
O0s9SjtMPUc7TT1JO049Sn1lbHNle0s9RTtMPUY7TT0wO049MH19d2hpbGUoMCk7ZWoobyxqKTtG
PW98MDtFPWNbRj4+Ml18MDtpZigoY1szOTIyXXwwKSE9LTEpe2NbbT4+Ml09MTU2ODg7Y1ttKzQ+
PjJdPTEyO2NbbSs4Pj4yXT0wO2RXKDE1Njg4LG0sOTYpfW09KGNbMzkyM118MCktMXwwO0k9Y1tF
Kzg+PjJdfDA7ZG97aWYoKGNbRSsxMj4+Ml18MCktST4+Mj4+PjA+bT4+PjApe0Q9Y1tJKyhtPDwy
KT4+Ml18MDtpZigoRHwwKT09MCl7YnJlYWt9Sj1EO0c9Y1tuPj4yXXwwO0g9RytMfDA7Tz1jWyhj
W0Q+PjJdfDApKzQ4Pj4yXXwwO2NhW08mMTVdKEosRyxILEspfDA7aWYoKEx8MCk9PTApe1A9MH1l
bHNle1A9KGFbY1tuPj4yXXwwXXwwKT09NDV9ayQodHwwLDAsMTIpO2skKHZ8MCwwLDEyKTtrJCh4
fDAsMCwxMik7aWIoZyxQLG8scCxxLHIscyx1LHcseSk7SD16fDA7Rz1jW3k+PjJdfDA7aWYoKEx8
MCk+KEd8MCkpe089ZFt4XXwwO2lmKChPJjF8MCk9PTApe1E9Tz4+PjF9ZWxzZXtRPWNbdys0Pj4y
XXwwfU89ZFt2XXwwO2lmKChPJjF8MCk9PTApe1I9Tz4+PjF9ZWxzZXtSPWNbdSs0Pj4yXXwwfVM9
KEwtRzw8MXwxKStRK1J8MH1lbHNle089ZFt4XXwwO2lmKChPJjF8MCk9PTApe1Q9Tz4+PjF9ZWxz
ZXtUPWNbdys0Pj4yXXwwfU89ZFt2XXwwO2lmKChPJjF8MCk9PTApe1U9Tz4+PjF9ZWxzZXtVPWNb
dSs0Pj4yXXwwfVM9VCsyK1V8MH1PPVMrR3wwO2Rve2lmKE8+Pj4wPjEwMCl7RD1rSihPPDwyKXww
O1Y9RDtpZigoRHwwKSE9MCl7Vz1WO1g9VjticmVha31rWCgpO1c9VjtYPVZ9ZWxzZXtXPUg7WD0w
fX13aGlsZSgwKTtpYyhXLEEsQixjW2orND4+Ml18MCxLLEsrKEw8PDIpfDAsSixQLHAsY1txPj4y
XXwwLGNbcj4+Ml18MCxzLHUsdyxHKTtjW0M+PjJdPWNbZj4+Ml07Z3EoYixDLFcsY1tBPj4yXXww
LGNbQj4+Ml18MCxqLGspO2lmKChYfDApIT0wKXtrSyhYKX1lZSh3KTtlZSh1KTtkUChzKTtIPWNb
Rj4+Ml18MDtkeihIKXwwO2lmKChOfDApIT0wKXtrSyhOKX1pZigoTXwwKT09MCl7aT1lO3JldHVy
bn1rSyhNKTtpPWU7cmV0dXJufX13aGlsZSgwKTtlPWJPKDQpfDA7a3EoZSk7YmwoZXwwLDgxNzYs
MTM0KX1mdW5jdGlvbiBpYihiLGQsZSxmLGcsaCxqLGssbCxtKXtiPWJ8MDtkPWR8MDtlPWV8MDtm
PWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDtsPWx8MDttPW18MDt2YXIgbj0wLG89MCxwPTAs
cT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsRD0wLEU9MCxG
PTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9
MCxVPTA7bj1pO2k9aSs0MHwwO289bnwwO3A9bisxNnwwO3E9biszMnwwO3I9cTtzPWk7aT1pKzEy
fDA7aT1pKzc+PjM8PDM7dD1zO3U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3Y9dTt3PWk7aT1pKzEy
fDA7aT1pKzc+PjM8PDM7eD13O3k9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8Mzt6PXk7QT1pO2k9aSsx
MnwwO2k9aSs3Pj4zPDwzO0I9QTtEPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztFPUQ7Rj1pO2k9aSsx
MnwwO2k9aSs3Pj4zPDwzO0c9RjtIPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztJPUg7Sj1pO2k9aSsx
MnwwO2k9aSs3Pj4zPDwzO0s9SjtMPWk7aT1pKzEyfDA7aT1pKzc+PjM8PDM7TT1MO049aTtpPWkr
MTJ8MDtpPWkrNz4+Mzw8MztPPU47UD1jW2U+PjJdfDA7aWYoYil7aWYoKGNbNDA0MF18MCkhPS0x
KXtjW3A+PjJdPTE2MTYwO2NbcCs0Pj4yXT0xMjtjW3ArOD4+Ml09MDtkVygxNjE2MCxwLDk2KX1w
PShjWzQwNDFdfDApLTF8MDtiPWNbUCs4Pj4yXXwwO2lmKChjW1ArMTI+PjJdfDApLWI+PjI+Pj4w
PD1wPj4+MCl7UT1iTyg0KXwwO1I9UTtrcShSKTtibChRfDAsODE3NiwxMzQpfWU9Y1tiKyhwPDwy
KT4+Ml18MDtpZigoZXwwKT09MCl7UT1iTyg0KXwwO1I9UTtrcShSKTtibChRfDAsODE3NiwxMzQp
fVE9ZTtSPWNbZT4+Ml18MDtpZihkKXtiWltjW1IrNDQ+PjJdJjEyN10ocixRKTtyPWY7Qz1jW3E+
PjJdfDA7YVtyXT1DJjI1NTtDPUM+Pjg7YVtyKzF8MF09QyYyNTU7Qz1DPj44O2FbcisyfDBdPUMm
MjU1O0M9Qz4+ODthW3IrM3wwXT1DJjI1NTtiWltjWyhjW2U+PjJdfDApKzMyPj4yXSYxMjddKHMs
USk7cj1sO2lmKChhW3JdJjEpPT0wKXtjW2wrND4+Ml09MDthW3JdPTB9ZWxzZXtjW2NbbCs4Pj4y
XT4+Ml09MDtjW2wrND4+Ml09MH1leihsLDApO2Nbcj4+Ml09Y1t0Pj4yXTtjW3IrND4+Ml09Y1t0
KzQ+PjJdO2Nbcis4Pj4yXT1jW3QrOD4+Ml07ayQodHwwLDAsMTIpO2VlKHMpfWVsc2V7YlpbY1tS
KzQwPj4yXSYxMjddKHYsUSk7dj1mO0M9Y1t1Pj4yXXwwO2Fbdl09QyYyNTU7Qz1DPj44O2Fbdisx
fDBdPUMmMjU1O0M9Qz4+ODthW3YrMnwwXT1DJjI1NTtDPUM+Pjg7YVt2KzN8MF09QyYyNTU7Ylpb
Y1soY1tlPj4yXXwwKSsyOD4+Ml0mMTI3XSh3LFEpO3Y9bDtpZigoYVt2XSYxKT09MCl7Y1tsKzQ+
PjJdPTA7YVt2XT0wfWVsc2V7Y1tjW2wrOD4+Ml0+PjJdPTA7Y1tsKzQ+PjJdPTB9ZXoobCwwKTtj
W3Y+PjJdPWNbeD4+Ml07Y1t2KzQ+PjJdPWNbeCs0Pj4yXTtjW3YrOD4+Ml09Y1t4Kzg+PjJdO2sk
KHh8MCwwLDEyKTtlZSh3KX13PWU7Y1tnPj4yXT1iMFtjWyhjW3c+PjJdfDApKzEyPj4yXSYxMjdd
KFEpfDA7Y1toPj4yXT1iMFtjWyhjW3c+PjJdfDApKzE2Pj4yXSYxMjddKFEpfDA7YlpbY1soY1tl
Pj4yXXwwKSsyMD4+Ml0mMTI3XSh5LFEpO3g9ajtpZigoYVt4XSYxKT09MCl7YVtqKzF8MF09MDth
W3hdPTB9ZWxzZXthW2Nbais4Pj4yXXwwXT0wO2Nbais0Pj4yXT0wfWQkKGosMCk7Y1t4Pj4yXT1j
W3o+PjJdO2NbeCs0Pj4yXT1jW3orND4+Ml07Y1t4Kzg+PjJdPWNbeis4Pj4yXTtrJCh6fDAsMCwx
Mik7ZFAoeSk7YlpbY1soY1tlPj4yXXwwKSsyND4+Ml0mMTI3XShBLFEpO2U9aztpZigoYVtlXSYx
KT09MCl7Y1trKzQ+PjJdPTA7YVtlXT0wfWVsc2V7Y1tjW2srOD4+Ml0+PjJdPTA7Y1trKzQ+PjJd
PTB9ZXooaywwKTtjW2U+PjJdPWNbQj4+Ml07Y1tlKzQ+PjJdPWNbQis0Pj4yXTtjW2UrOD4+Ml09
Y1tCKzg+PjJdO2skKEJ8MCwwLDEyKTtlZShBKTtTPWIwW2NbKGNbdz4+Ml18MCkrMzY+PjJdJjEy
N10oUSl8MDtjW20+PjJdPVM7aT1uO3JldHVybn1lbHNle2lmKChjWzQwNDJdfDApIT0tMSl7Y1tv
Pj4yXT0xNjE2ODtjW28rND4+Ml09MTI7Y1tvKzg+PjJdPTA7ZFcoMTYxNjgsbyw5Nil9bz0oY1s0
MDQzXXwwKS0xfDA7UT1jW1ArOD4+Ml18MDtpZigoY1tQKzEyPj4yXXwwKS1RPj4yPj4+MDw9bz4+
PjApe1Q9Yk8oNCl8MDtVPVQ7a3EoVSk7YmwoVHwwLDgxNzYsMTM0KX1QPWNbUSsobzw8Mik+PjJd
fDA7aWYoKFB8MCk9PTApe1Q9Yk8oNCl8MDtVPVQ7a3EoVSk7YmwoVHwwLDgxNzYsMTM0KX1UPVA7
VT1jW1A+PjJdfDA7aWYoZCl7YlpbY1tVKzQ0Pj4yXSYxMjddKEUsVCk7RT1mO0M9Y1tEPj4yXXww
O2FbRV09QyYyNTU7Qz1DPj44O2FbRSsxfDBdPUMmMjU1O0M9Qz4+ODthW0UrMnwwXT1DJjI1NTtD
PUM+Pjg7YVtFKzN8MF09QyYyNTU7YlpbY1soY1tQPj4yXXwwKSszMj4+Ml0mMTI3XShGLFQpO0U9
bDtpZigoYVtFXSYxKT09MCl7Y1tsKzQ+PjJdPTA7YVtFXT0wfWVsc2V7Y1tjW2wrOD4+Ml0+PjJd
PTA7Y1tsKzQ+PjJdPTB9ZXoobCwwKTtjW0U+PjJdPWNbRz4+Ml07Y1tFKzQ+PjJdPWNbRys0Pj4y
XTtjW0UrOD4+Ml09Y1tHKzg+PjJdO2skKEd8MCwwLDEyKTtlZShGKX1lbHNle2JaW2NbVSs0MD4+
Ml0mMTI3XShJLFQpO0k9ZjtDPWNbSD4+Ml18MDthW0ldPUMmMjU1O0M9Qz4+ODthW0krMXwwXT1D
JjI1NTtDPUM+Pjg7YVtJKzJ8MF09QyYyNTU7Qz1DPj44O2FbSSszfDBdPUMmMjU1O2JaW2NbKGNb
UD4+Ml18MCkrMjg+PjJdJjEyN10oSixUKTtJPWw7aWYoKGFbSV0mMSk9PTApe2NbbCs0Pj4yXT0w
O2FbSV09MH1lbHNle2NbY1tsKzg+PjJdPj4yXT0wO2NbbCs0Pj4yXT0wfWV6KGwsMCk7Y1tJPj4y
XT1jW0s+PjJdO2NbSSs0Pj4yXT1jW0srND4+Ml07Y1tJKzg+PjJdPWNbSys4Pj4yXTtrJChLfDAs
MCwxMik7ZWUoSil9Sj1QO2NbZz4+Ml09YjBbY1soY1tKPj4yXXwwKSsxMj4+Ml0mMTI3XShUKXww
O2NbaD4+Ml09YjBbY1soY1tKPj4yXXwwKSsxNj4+Ml0mMTI3XShUKXwwO2JaW2NbKGNbUD4+Ml18
MCkrMjA+PjJdJjEyN10oTCxUKTtoPWo7aWYoKGFbaF0mMSk9PTApe2FbaisxfDBdPTA7YVtoXT0w
fWVsc2V7YVtjW2orOD4+Ml18MF09MDtjW2orND4+Ml09MH1kJChqLDApO2NbaD4+Ml09Y1tNPj4y
XTtjW2grND4+Ml09Y1tNKzQ+PjJdO2NbaCs4Pj4yXT1jW00rOD4+Ml07ayQoTXwwLDAsMTIpO2RQ
KEwpO2JaW2NbKGNbUD4+Ml18MCkrMjQ+PjJdJjEyN10oTixUKTtQPWs7aWYoKGFbUF0mMSk9PTAp
e2Nbays0Pj4yXT0wO2FbUF09MH1lbHNle2NbY1trKzg+PjJdPj4yXT0wO2Nbays0Pj4yXT0wfWV6
KGssMCk7Y1tQPj4yXT1jW08+PjJdO2NbUCs0Pj4yXT1jW08rND4+Ml07Y1tQKzg+PjJdPWNbTys4
Pj4yXTtrJChPfDAsMCwxMik7ZWUoTik7Uz1iMFtjWyhjW0o+PjJdfDApKzM2Pj4yXSYxMjddKFQp
fDA7Y1ttPj4yXT1TO2k9bjtyZXR1cm59fWZ1bmN0aW9uIGljKGIsZCxlLGYsZyxoLGksaixrLGws
bSxuLG8scCxxKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtpPWl8MDtqPWp8
MDtrPWt8MDtsPWx8MDttPW18MDtuPW58MDtvPW98MDtwPXB8MDtxPXF8MDt2YXIgcj0wLHM9MCx0
PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9
MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0w
LFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAsYWI9MCxhYz0wLGFkPTAsYWU9MCxhZj0wLGFn
PTAsYWg9MCxhaT0wLGFqPTAsYWs9MCxhbD0wLGFtPTAsYW49MCxhbz0wLGFwPTAsYXE9MCxhcj0w
LGFzPTAsYXQ9MCxhdT0wLGF2PTAsYXc9MDtjW2U+PjJdPWI7cj1pO3M9cDt0PXArNHwwO3U9cCs4
fDA7cD1vO3Y9KGYmNTEyfDApPT0wO3c9bys0fDA7eD1vKzh8MDtvPWk7eT0ocXwwKT4wO3o9bjtB
PW4rMXwwO0I9bis4fDA7Qz1uKzR8MDtuPWc7Zz0wO3doaWxlKDEpe0wxOTAxOmRve3N3aXRjaChh
W2srZ3wwXXwwKXtjYXNlIDA6e2NbZD4+Ml09Y1tlPj4yXTtEPW47YnJlYWt9O2Nhc2UgMTp7Y1tk
Pj4yXT1jW2U+PjJdO0U9Yl9bY1soY1tyPj4yXXwwKSs0ND4+Ml0mMzFdKGksMzIpfDA7Rj1jW2U+
PjJdfDA7Y1tlPj4yXT1GKzQ7Y1tGPj4yXT1FO0Q9bjticmVha307Y2FzZSAzOntFPWFbc118MDtG
PUUmMjU1O2lmKChGJjF8MCk9PTApe0c9Rj4+PjF9ZWxzZXtHPWNbdD4+Ml18MH1pZigoR3wwKT09
MCl7RD1uO2JyZWFrIEwxOTAxfWlmKChFJjEpPT0wKXtIPXR9ZWxzZXtIPWNbdT4+Ml18MH1FPWNb
SD4+Ml18MDtGPWNbZT4+Ml18MDtjW2U+PjJdPUYrNDtjW0Y+PjJdPUU7RD1uO2JyZWFrfTtjYXNl
IDI6e0U9YVtwXXwwO0Y9RSYyNTU7ST0oRiYxfDApPT0wO2lmKEkpe0o9Rj4+PjF9ZWxzZXtKPWNb
dz4+Ml18MH1pZigoSnwwKT09MHx2KXtEPW47YnJlYWsgTDE5MDF9aWYoKEUmMSk9PTApe0s9dztM
PXc7TT13fWVsc2V7RT1jW3g+PjJdfDA7Sz1FO0w9RTtNPUV9aWYoSSl7Tj1GPj4+MX1lbHNle049
Y1t3Pj4yXXwwfUY9SysoTjw8Mil8MDtJPWNbZT4+Ml18MDtpZigoTHwwKT09KEZ8MCkpe089SX1l
bHNle0U9KEsrKE4tMTw8MikrKC1NfDApfDApPj4+MjtQPUw7UT1JO3doaWxlKDEpe2NbUT4+Ml09
Y1tQPj4yXTtSPVArNHwwO2lmKChSfDApPT0oRnwwKSl7YnJlYWt9UD1SO1E9USs0fDB9Tz1JKyhF
KzE8PDIpfDB9Y1tlPj4yXT1PO0Q9bjticmVha307Y2FzZSA0OntRPWNbZT4+Ml18MDtQPWo/bis0
fDA6bjtGPVA7d2hpbGUoMSl7aWYoRj4+PjA+PWg+Pj4wKXticmVha31pZihiMVtjWyhjW28+PjJd
fDApKzEyPj4yXSY2M10oaSwyMDQ4LGNbRj4+Ml18MCl8MCl7Rj1GKzR8MH1lbHNle2JyZWFrfX1p
Zih5KXtpZihGPj4+MD5QPj4+MCl7RT1GO0k9cTtkb3tFPUUtNHwwO1I9Y1tFPj4yXXwwO1M9Y1tl
Pj4yXXwwO2NbZT4+Ml09Uys0O2NbUz4+Ml09UjtJPUktMXwwO1Q9KEl8MCk+MDt9d2hpbGUoRT4+
PjA+UD4+PjAmVCk7aWYoVCl7VT1JO1Y9RTtXPTE2MzB9ZWxzZXtYPTA7WT1JO1o9RX19ZWxzZXtV
PXE7Vj1GO1c9MTYzMH1pZigoV3wwKT09MTYzMCl7Vz0wO1g9Yl9bY1soY1tyPj4yXXwwKSs0ND4+
Ml0mMzFdKGksNDgpfDA7WT1VO1o9Vn1SPWNbZT4+Ml18MDtjW2U+PjJdPVIrNDtpZigoWXwwKT4w
KXtTPVk7Xz1SO3doaWxlKDEpe2NbXz4+Ml09WDskPVMtMXwwO2FhPWNbZT4+Ml18MDtjW2U+PjJd
PWFhKzQ7aWYoKCR8MCk+MCl7Uz0kO189YWF9ZWxzZXthYj1hYTticmVha319fWVsc2V7YWI9Un1j
W2FiPj4yXT1sO2FjPVp9ZWxzZXthYz1GfWlmKChhY3wwKT09KFB8MCkpe189Yl9bY1soY1tyPj4y
XXwwKSs0ND4+Ml0mMzFdKGksNDgpfDA7Uz1jW2U+PjJdfDA7Y1tlPj4yXT1TKzQ7Y1tTPj4yXT1f
fWVsc2V7Xz1hW3pdfDA7Uz1fJjI1NTtpZigoUyYxfDApPT0wKXthZD1TPj4+MX1lbHNle2FkPWNb
Qz4+Ml18MH1pZigoYWR8MCk9PTApe2FlPWFjO2FmPTA7YWc9MDthaD0tMX1lbHNle2lmKChfJjEp
PT0wKXthaT1BfWVsc2V7YWk9Y1tCPj4yXXwwfWFlPWFjO2FmPTA7YWc9MDthaD1hW2FpXXwwfXdo
aWxlKDEpe2Rve2lmKChhZnwwKT09KGFofDApKXtfPWNbZT4+Ml18MDtjW2U+PjJdPV8rNDtjW18+
PjJdPW07Xz1hZysxfDA7Uz1hW3pdfDA7RT1TJjI1NTtpZigoRSYxfDApPT0wKXthaj1FPj4+MX1l
bHNle2FqPWNbQz4+Ml18MH1pZihfPj4+MD49YWo+Pj4wKXthaz1haDthbD1fO2FtPTA7YnJlYWt9
RT0oUyYxKT09MDtpZihFKXthbj1BfWVsc2V7YW49Y1tCPj4yXXwwfWlmKChhW2FuK198MF18MCk9
PTEyNyl7YWs9LTE7YWw9XzthbT0wO2JyZWFrfWlmKEUpe2FvPUF9ZWxzZXthbz1jW0I+PjJdfDB9
YWs9YVthbytffDBdfDA7YWw9XzthbT0wfWVsc2V7YWs9YWg7YWw9YWc7YW09YWZ9fXdoaWxlKDAp
O189YWUtNHwwO0U9Y1tfPj4yXXwwO1M9Y1tlPj4yXXwwO2NbZT4+Ml09Uys0O2NbUz4+Ml09RTtp
ZigoX3wwKT09KFB8MCkpe2JyZWFrfWVsc2V7YWU9XzthZj1hbSsxfDA7YWc9YWw7YWg9YWt9fX1G
PWNbZT4+Ml18MDtpZigoUXwwKT09KEZ8MCkpe0Q9UDticmVhayBMMTkwMX1SPUYtNHwwO2lmKFE+
Pj4wPFI+Pj4wKXthcD1RO2FxPVJ9ZWxzZXtEPVA7YnJlYWsgTDE5MDF9d2hpbGUoMSl7Uj1jW2Fw
Pj4yXXwwO2NbYXA+PjJdPWNbYXE+PjJdO2NbYXE+PjJdPVI7Uj1hcCs0fDA7Rj1hcS00fDA7aWYo
Uj4+PjA8Rj4+PjApe2FwPVI7YXE9Rn1lbHNle0Q9UDticmVha319YnJlYWt9O2RlZmF1bHQ6e0Q9
bn19fXdoaWxlKDApO1A9ZysxfDA7aWYoUD4+PjA8NCl7bj1EO2c9UH1lbHNle2JyZWFrfX1nPWFb
c118MDtzPWcmMjU1O0Q9KHMmMXwwKT09MDtpZihEKXthcj1zPj4+MX1lbHNle2FyPWNbdD4+Ml18
MH1pZihhcj4+PjA+MSl7aWYoKGcmMSk9PTApe2FzPXQ7YXQ9dDthdT10fWVsc2V7Zz1jW3U+PjJd
fDA7YXM9ZzthdD1nO2F1PWd9aWYoRCl7YXY9cz4+PjF9ZWxzZXthdj1jW3Q+PjJdfDB9dD1hcyso
YXY8PDIpfDA7cz1jW2U+PjJdfDA7RD1hdCs0fDA7aWYoKER8MCk9PSh0fDApKXthdz1zfWVsc2V7
YXQ9KChhcysoYXYtMjw8MikrKC1hdXwwKXwwKT4+PjIpKzF8MDthdT1zO2F2PUQ7d2hpbGUoMSl7
Y1thdT4+Ml09Y1thdj4+Ml07RD1hdis0fDA7aWYoKER8MCk9PSh0fDApKXticmVha31lbHNle2F1
PWF1KzR8MDthdj1EfX1hdz1zKyhhdDw8Mil8MH1jW2U+PjJdPWF3fXN3aXRjaChmJjE3NnwwKXtj
YXNlIDMyOntjW2Q+PjJdPWNbZT4+Ml07cmV0dXJufTtjYXNlIDE2OntyZXR1cm59O2RlZmF1bHQ6
e2NbZD4+Ml09YjtyZXR1cm59fX1mdW5jdGlvbiBpZChhKXthPWF8MDtkZShhfDApO2tTKGEpO3Jl
dHVybn1mdW5jdGlvbiBpZShhKXthPWF8MDtkZShhfDApO3JldHVybn1mdW5jdGlvbiBpZyhiLGQs
ZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MDtpZigoYVtkXSYxKT09MCl7Zj1kKzF8MH1lbHNl
e2Y9Y1tkKzg+PjJdfDB9ZD1hOChmfDAsMjAwKXwwO3JldHVybiBkPj4+KCgoZHwwKSE9LTF8MCk+
Pj4wKXwwfWZ1bmN0aW9uIGloKGIsZSxmLGcsaCxqLGspe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3ww
O2g9aHwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9
MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0w
LEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAs
Vz0wLFg9MCxZPTAsWj0wLF89MCwkPTAsYWE9MCxhYj0wLGFjPTA7ZT1pO2k9aSs2NHwwO2w9Zjtm
PWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2Y+PjJdPWNbbD4+Ml07bD1lfDA7bT1lKzE2fDA7bj1l
KzI0fDA7bz1lKzMyfDA7cD1lKzQwfDA7cT1lKzQ4fDA7cj1xO3M9aTtpPWkrMTJ8MDtpPWkrNz4+
Mzw8Mzt0PXM7dT1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3Y9dTt3PWk7aT1pKzR8MDtpPWkrNz4+
Mzw8Mzt4PWk7aT1pKzQwMHwwO3k9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3o9aTtpPWkrNHwwO2k9
aSs3Pj4zPDwzO0E9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2VqKG0saCk7Qj1tfDA7Qz1jW0I+PjJd
fDA7aWYoKGNbMzkyMl18MCkhPS0xKXtjW2w+PjJdPTE1Njg4O2NbbCs0Pj4yXT0xMjtjW2wrOD4+
Ml09MDtkVygxNTY4OCxsLDk2KX1sPShjWzM5MjNdfDApLTF8MDtEPWNbQys4Pj4yXXwwO2Rve2lm
KChjW0MrMTI+PjJdfDApLUQ+PjI+Pj4wPmw+Pj4wKXtFPWNbRCsobDw8Mik+PjJdfDA7aWYoKEV8
MCk9PTApe2JyZWFrfUY9RTtHPWs7SD1hW0ddfDA7ST1IJjI1NTtpZigoSSYxfDApPT0wKXtKPUk+
Pj4xfWVsc2V7Sj1jW2srND4+Ml18MH1pZigoSnwwKT09MCl7Sz0wfWVsc2V7aWYoKEgmMSk9PTAp
e0w9ays0fDB9ZWxzZXtMPWNbays4Pj4yXXwwfUg9Y1tMPj4yXXwwO0s9KEh8MCk9PShiX1tjWyhj
W0U+PjJdfDApKzQ0Pj4yXSYzMV0oRiw0NSl8MCl9ayQocnwwLDAsMTIpO2skKHR8MCwwLDEyKTtr
JCh2fDAsMCwxMik7aWIoZyxLLG0sbixvLHAscSxzLHUsdyk7RT14fDA7SD1hW0ddfDA7ST1IJjI1
NTtNPShJJjF8MCk9PTA7aWYoTSl7Tj1JPj4+MX1lbHNle049Y1trKzQ+PjJdfDB9Tz1jW3c+PjJd
fDA7aWYoKE58MCk+KE98MCkpe2lmKE0pe1A9ST4+PjF9ZWxzZXtQPWNbays0Pj4yXXwwfUk9ZFt2
XXwwO2lmKChJJjF8MCk9PTApe1E9ST4+PjF9ZWxzZXtRPWNbdSs0Pj4yXXwwfUk9ZFt0XXwwO2lm
KChJJjF8MCk9PTApe1I9ST4+PjF9ZWxzZXtSPWNbcys0Pj4yXXwwfVM9KFAtTzw8MXwxKStRK1J8
MH1lbHNle0k9ZFt2XXwwO2lmKChJJjF8MCk9PTApe1Q9ST4+PjF9ZWxzZXtUPWNbdSs0Pj4yXXww
fUk9ZFt0XXwwO2lmKChJJjF8MCk9PTApe1U9ST4+PjF9ZWxzZXtVPWNbcys0Pj4yXXwwfVM9VCsy
K1V8MH1JPVMrT3wwO2Rve2lmKEk+Pj4wPjEwMCl7TT1rSihJPDwyKXwwO1Y9TTtpZigoTXwwKSE9
MCl7Vz1WO1g9VjtZPUg7YnJlYWt9a1goKTtXPVY7WD1WO1k9YVtHXXwwfWVsc2V7Vz1FO1g9MDtZ
PUh9fXdoaWxlKDApO2lmKChZJjEpPT0wKXtaPWsrNHwwO189ays0fDB9ZWxzZXtIPWNbays4Pj4y
XXwwO1o9SDtfPUh9SD1ZJjI1NTtpZigoSCYxfDApPT0wKXskPUg+Pj4xfWVsc2V7JD1jW2srND4+
Ml18MH1pYyhXLHkseixjW2grND4+Ml18MCxfLForKCQ8PDIpfDAsRixLLG4sY1tvPj4yXXwwLGNb
cD4+Ml18MCxxLHMsdSxPKTtjW0E+PjJdPWNbZj4+Ml07Z3EoYixBLFcsY1t5Pj4yXXwwLGNbej4+
Ml18MCxoLGopO2lmKChYfDApPT0wKXtlZSh1KTtlZShzKTtkUChxKTthYT1jW0I+PjJdfDA7YWI9
YWF8MDthYz1keihhYil8MDtpPWU7cmV0dXJufWtLKFgpO2VlKHUpO2VlKHMpO2RQKHEpO2FhPWNb
Qj4+Ml18MDthYj1hYXwwO2FjPWR6KGFiKXwwO2k9ZTtyZXR1cm59fXdoaWxlKDApO2U9Yk8oNCl8
MDtrcShlKTtibChlfDAsODE3NiwxMzQpfWZ1bmN0aW9uIGlpKGIsZCxlLGYsZyxoKXtiPWJ8MDtk
PWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAs
cD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wO2Q9aTtpPWkrMTZ8MDtqPWR8MDtrPWo7ayQoa3ww
LDAsMTIpO2w9YjttPWg7bj1hW2hdfDA7aWYoKG4mMSk9PTApe289bSsxfDA7cD1tKzF8MH1lbHNl
e209Y1toKzg+PjJdfDA7bz1tO3A9bX1tPW4mMjU1O2lmKChtJjF8MCk9PTApe3E9bT4+PjF9ZWxz
ZXtxPWNbaCs0Pj4yXXwwfWg9bytxfDA7ZG97aWYocD4+PjA8aD4+PjApe3E9cDtkb3tkVShqLGFb
cV18MCk7cT1xKzF8MDt9d2hpbGUocT4+PjA8aD4+PjApO3E9KGV8MCk9PS0xPy0xOmU8PDE7aWYo
KGFba10mMSk9PTApe3I9cTtzPTE3NjI7YnJlYWt9dD1jW2orOD4+Ml18MDt1PXF9ZWxzZXtyPShl
fDApPT0tMT8tMTplPDwxO3M9MTc2Mn19d2hpbGUoMCk7aWYoKHN8MCk9PTE3NjIpe3Q9aisxfDA7
dT1yfXI9Yk0odXwwLGZ8MCxnfDAsdHwwKXwwO2skKGx8MCwwLDEyKTtsPWswKHJ8MCl8MDt0PXIr
bHwwO2lmKChsfDApPjApe3Y9cn1lbHNle2RQKGopO2k9ZDtyZXR1cm59ZG97ZFUoYixhW3ZdfDAp
O3Y9disxfDA7fXdoaWxlKHY+Pj4wPHQ+Pj4wKTtkUChqKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIGlq
KGEsYil7YT1hfDA7Yj1ifDA7YTEoKChifDApPT0tMT8tMTpiPDwxKXwwKXwwO3JldHVybn1mdW5j
dGlvbiBpayhhKXthPWF8MDtkZShhfDApO2tTKGEpO3JldHVybn1mdW5jdGlvbiBpbChhKXthPWF8
MDtkZShhfDApO3JldHVybn1mdW5jdGlvbiBpbShiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFy
IGY9MDtpZigoYVtkXSYxKT09MCl7Zj1kKzF8MH1lbHNle2Y9Y1tkKzg+PjJdfDB9ZD1hOChmfDAs
MjAwKXwwO3JldHVybiBkPj4+KCgoZHwwKSE9LTF8MCk+Pj4wKXwwfWZ1bmN0aW9uIGlvKGEsYil7
YT1hfDA7Yj1ifDA7YTEoKChifDApPT0tMT8tMTpiPDwxKXwwKXwwO3JldHVybn1mdW5jdGlvbiBp
cChiLGQsZSxmLGcsaCl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9
MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0w
LHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wO2Q9aTtpPWkr
MjI0fDA7aj1kfDA7az1kKzh8MDtsPWQrNDB8MDttPWQrNDh8MDtuPWQrNTZ8MDtvPWQrNjR8MDtw
PWQrMTkyfDA7cT1kKzIwMHwwO3I9ZCsyMDh8MDtzPXI7dD1pO2k9aSs4fDA7dT1pO2k9aSs4fDA7
ayQoc3wwLDAsMTIpO3Y9Yjt3PXR8MDtjW3QrND4+Ml09MDtjW3Q+PjJdPTQxMDQ7eD1hW2hdfDA7
aWYoKHgmMSk9PTApe3k9aCs0fDA7ej1oKzR8MH1lbHNle0E9Y1toKzg+PjJdfDA7eT1BO3o9QX1B
PXgmMjU1O2lmKChBJjF8MCk9PTApe0I9QT4+PjF9ZWxzZXtCPWNbaCs0Pj4yXXwwfWg9eSsoQjw8
Mil8MDtMMjEzNTpkb3tpZih6Pj4+MDxoPj4+MCl7Qj10O3k9a3wwO0E9ayszMnwwO3g9ejtDPTQx
MDQ7d2hpbGUoMSl7Y1ttPj4yXT14O0Q9KGI2W2NbQysxMj4+Ml0mMzFdKHcsaix4LGgsbSx5LEEs
bCl8MCk9PTI7RT1jW20+PjJdfDA7aWYoRHwoRXwwKT09KHh8MCkpe2JyZWFrfWlmKHk+Pj4wPChj
W2w+PjJdfDApPj4+MCl7RD15O2Rve2RVKHIsYVtEXXwwKTtEPUQrMXwwO313aGlsZShEPj4+MDwo
Y1tsPj4yXXwwKT4+PjApO0Y9Y1ttPj4yXXwwfWVsc2V7Rj1FfWlmKEY+Pj4wPj1oPj4+MCl7YnJl
YWsgTDIxMzV9eD1GO0M9Y1tCPj4yXXwwfUI9Yk8oOCl8MDtkRShCLDkwNCk7YmwoQnwwLDgxOTIs
MjIpfX13aGlsZSgwKTtkZSh0fDApO2lmKChhW3NdJjEpPT0wKXtHPXIrMXwwfWVsc2V7Rz1jW3Ir
OD4+Ml18MH1zPWJNKCgoZXwwKT09LTE/LTE6ZTw8MSl8MCxmfDAsZ3wwLEd8MCl8MDtrJCh2fDAs
MCwxMik7dj11fDA7Y1t1KzQ+PjJdPTA7Y1t1Pj4yXT00MDQ4O0c9azAoc3wwKXwwO2c9cytHfDA7
aWYoKEd8MCk8MSl7SD11fDA7ZGUoSCk7ZFAocik7aT1kO3JldHVybn1HPXU7Zj1nO2U9b3wwO3Q9
bysxMjh8MDtvPXM7cz00MDQ4O3doaWxlKDEpe2NbcT4+Ml09bztGPShiNltjW3MrMTY+PjJdJjMx
XSh2LG4sbywoZi1vfDApPjMyP28rMzJ8MDpnLHEsZSx0LHApfDApPT0yO2g9Y1txPj4yXXwwO2lm
KEZ8KGh8MCk9PShvfDApKXticmVha31pZihlPj4+MDwoY1twPj4yXXwwKT4+PjApe0Y9ZTtkb3tl
aChiLGNbRj4+Ml18MCk7Rj1GKzR8MDt9d2hpbGUoRj4+PjA8KGNbcD4+Ml18MCk+Pj4wKTtJPWNb
cT4+Ml18MH1lbHNle0k9aH1pZihJPj4+MD49Zz4+PjApe0o9MTgyOTticmVha31vPUk7cz1jW0c+
PjJdfDB9aWYoKEp8MCk9PTE4Mjkpe0g9dXwwO2RlKEgpO2RQKHIpO2k9ZDtyZXR1cm59ZD1iTyg4
KXwwO2RFKGQsOTA0KTtibChkfDAsODE5MiwyMil9ZnVuY3Rpb24gaXEoYil7Yj1ifDA7dmFyIGQ9
MCxlPTAsZj0wO2NbYj4+Ml09MzU2ODtkPWIrOHwwO2U9Y1tkPj4yXXwwO2Rve2lmKChhWzE2MjY0
XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8
MH19d2hpbGUoMCk7aWYoKGV8MCk9PShjWzI5NThdfDApKXtmPWJ8MDtkZShmKTtyZXR1cm59YTco
Y1tkPj4yXXwwKTtmPWJ8MDtkZShmKTtyZXR1cm59ZnVuY3Rpb24gaXIoYSl7YT1hfDA7YT1iTyg4
KXwwO2RBKGEsMTM1Mik7Y1thPj4yXT0yNTA0O2JsKGF8MCw4MjA4LDMyKX1mdW5jdGlvbiBpcyhi
LGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxv
PTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9
MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTA7ZT1pO2k9aSs0NDh8MDtm
PWV8MDtnPWUrMTZ8MDtoPWUrMzJ8MDtqPWUrNDh8MDtrPWUrNjR8MDtsPWUrODB8MDttPWUrOTZ8
MDtuPWUrMTEyfDA7bz1lKzEyOHwwO3A9ZSsxNDR8MDtxPWUrMTYwfDA7cj1lKzE3NnwwO3M9ZSsx
OTJ8MDt0PWUrMjA4fDA7dT1lKzIyNHwwO3Y9ZSsyNDB8MDt3PWUrMjU2fDA7eD1lKzI3MnwwO3k9
ZSsyODh8MDt6PWUrMzA0fDA7QT1lKzMyMHwwO0I9ZSszMzZ8MDtDPWUrMzUyfDA7RD1lKzM2OHww
O0U9ZSszODR8MDtGPWUrNDAwfDA7Rz1lKzQxNnwwO0g9ZSs0MzJ8MDtjW2IrND4+Ml09ZC0xO2Nb
Yj4+Ml09MzgyNDtkPWIrOHwwO0k9YisxMnwwO2FbYisxMzZ8MF09MTtKPWIrMjR8MDtLPUo7Y1tJ
Pj4yXT1LO2NbZD4+Ml09SztjW2IrMTY+PjJdPUorMTEyO0o9Mjg7TD1LO2Rve2lmKChMfDApPT0w
KXtNPTB9ZWxzZXtjW0w+PjJdPTA7TT1jW0k+PjJdfDB9TD1NKzR8MDtjW0k+PjJdPUw7Sj1KLTF8
MDt9d2hpbGUoKEp8MCkhPTApO2RaKGIrMTQ0fDAsMTM0NCwxKTtKPWNbZD4+Ml18MDtkPWNbST4+
Ml18MDtpZigoSnwwKSE9KGR8MCkpe2NbST4+Ml09ZCsofigoZC00KygtSnwwKXwwKT4+PjIpPDwy
KX1jWzM2MTddPTA7Y1szNjE2XT0zNTI4O2lmKChjWzM4NDRdfDApIT0tMSl7Y1tIPj4yXT0xNTM3
NjtjW0grND4+Ml09MTI7Y1tIKzg+PjJdPTA7ZFcoMTUzNzYsSCw5Nil9aUooYiwxNDQ2NCwoY1sz
ODQ1XXwwKS0xfDApO2NbMzYxNV09MDtjWzM2MTRdPTM0ODg7aWYoKGNbMzg0Ml18MCkhPS0xKXtj
W0c+PjJdPTE1MzY4O2NbRys0Pj4yXT0xMjtjW0crOD4+Ml09MDtkVygxNTM2OCxHLDk2KX1pSihi
LDE0NDU2LChjWzM4NDNdfDApLTF8MCk7Y1szNjY3XT0wO2NbMzY2Nl09MzkzNjtjWzM2NjhdPTA7
YVsxNDY3Nl09MDtjWzM2NjhdPWNbKGE2KCl8MCk+PjJdO2lmKChjWzM5MjRdfDApIT0tMSl7Y1tG
Pj4yXT0xNTY5NjtjW0YrND4+Ml09MTI7Y1tGKzg+PjJdPTA7ZFcoMTU2OTYsRiw5Nil9aUooYiwx
NDY2NCwoY1szOTI1XXwwKS0xfDApO2NbMzY2NV09MDtjWzM2NjRdPTM4NTY7aWYoKGNbMzkyMl18
MCkhPS0xKXtjW0U+PjJdPTE1Njg4O2NbRSs0Pj4yXT0xMjtjW0UrOD4+Ml09MDtkVygxNTY4OCxF
LDk2KX1pSihiLDE0NjU2LChjWzM5MjNdfDApLTF8MCk7Y1szNjE5XT0wO2NbMzYxOF09MzYyNDtp
ZigoY1szODQ4XXwwKSE9LTEpe2NbRD4+Ml09MTUzOTI7Y1tEKzQ+PjJdPTEyO2NbRCs4Pj4yXT0w
O2RXKDE1MzkyLEQsOTYpfWlKKGIsMTQ0NzIsKGNbMzg0OV18MCktMXwwKTtjWzUyMV09MDtjWzUy
MF09MzU2ODtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFr
fWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDApO2NbNTIyXT1jWzI5NThdO2lmKChjWzM4
NDZdfDApIT0tMSl7Y1tDPj4yXT0xNTM4NDtjW0MrND4+Ml09MTI7Y1tDKzg+PjJdPTA7ZFcoMTUz
ODQsQyw5Nil9aUooYiwyMDgwLChjWzM4NDddfDApLTF8MCk7Y1szNjIxXT0wO2NbMzYyMF09MzY4
MDtpZigoY1szODUwXXwwKSE9LTEpe2NbQj4+Ml09MTU0MDA7Y1tCKzQ+PjJdPTEyO2NbQis4Pj4y
XT0wO2RXKDE1NDAwLEIsOTYpfWlKKGIsMTQ0ODAsKGNbMzg1MV18MCktMXwwKTtjWzM2MjNdPTA7
Y1szNjIyXT0zNzM2O2lmKChjWzM4NTJdfDApIT0tMSl7Y1tBPj4yXT0xNTQwODtjW0ErND4+Ml09
MTI7Y1tBKzg+PjJdPTA7ZFcoMTU0MDgsQSw5Nil9aUooYiwxNDQ4OCwoY1szODUzXXwwKS0xfDAp
O2NbMzU5N109MDtjWzM1OTZdPTMwMzI7YVsxNDM5Ml09NDY7YVsxNDM5M109NDQ7ayQoMTQzOTYs
MCwxMik7aWYoKGNbMzgyOF18MCkhPS0xKXtjW3o+PjJdPTE1MzEyO2Nbeis0Pj4yXT0xMjtjW3or
OD4+Ml09MDtkVygxNTMxMix6LDk2KX1pSihiLDE0Mzg0LChjWzM4MjldfDApLTF8MCk7Y1s1MTNd
PTA7Y1s1MTJdPTI5ODQ7Y1s1MTRdPTQ2O2NbNTE1XT00NDtrJCgyMDY0LDAsMTIpO2lmKChjWzM4
MjZdfDApIT0tMSl7Y1t5Pj4yXT0xNTMwNDtjW3krND4+Ml09MTI7Y1t5Kzg+PjJdPTA7ZFcoMTUz
MDQseSw5Nil9aUooYiwyMDQ4LChjWzM4MjddfDApLTF8MCk7Y1szNjEzXT0wO2NbMzYxMl09MzQx
NjtpZigoY1szODQwXXwwKSE9LTEpe2NbeD4+Ml09MTUzNjA7Y1t4KzQ+PjJdPTEyO2NbeCs4Pj4y
XT0wO2RXKDE1MzYwLHgsOTYpfWlKKGIsMTQ0NDgsKGNbMzg0MV18MCktMXwwKTtjWzM2MTFdPTA7
Y1szNjEwXT0zMzQ0O2lmKChjWzM4MzhdfDApIT0tMSl7Y1t3Pj4yXT0xNTM1MjtjW3crND4+Ml09
MTI7Y1t3Kzg+PjJdPTA7ZFcoMTUzNTIsdyw5Nil9aUooYiwxNDQ0MCwoY1szODM5XXwwKS0xfDAp
O2NbMzYwOV09MDtjWzM2MDhdPTMyODA7aWYoKGNbMzgzNl18MCkhPS0xKXtjW3Y+PjJdPTE1MzQ0
O2Nbdis0Pj4yXT0xMjtjW3YrOD4+Ml09MDtkVygxNTM0NCx2LDk2KX1pSihiLDE0NDMyLChjWzM4
MzddfDApLTF8MCk7Y1szNjA3XT0wO2NbMzYwNl09MzIxNjtpZigoY1szODM0XXwwKSE9LTEpe2Nb
dT4+Ml09MTUzMzY7Y1t1KzQ+PjJdPTEyO2NbdSs4Pj4yXT0wO2RXKDE1MzM2LHUsOTYpfWlKKGIs
MTQ0MjQsKGNbMzgzNV18MCktMXwwKTtjWzM2NzddPTA7Y1szNjc2XT00OTEyO2lmKChjWzQwNDZd
fDApIT0tMSl7Y1t0Pj4yXT0xNjE4NDtjW3QrND4+Ml09MTI7Y1t0Kzg+PjJdPTA7ZFcoMTYxODQs
dCw5Nil9aUooYiwxNDcwNCwoY1s0MDQ3XXwwKS0xfDApO2NbMzY3NV09MDtjWzM2NzRdPTQ4NDg7
aWYoKGNbNDA0NF18MCkhPS0xKXtjW3M+PjJdPTE2MTc2O2Nbcys0Pj4yXT0xMjtjW3MrOD4+Ml09
MDtkVygxNjE3NixzLDk2KX1pSihiLDE0Njk2LChjWzQwNDVdfDApLTF8MCk7Y1szNjczXT0wO2Nb
MzY3Ml09NDc4NDtpZigoY1s0MDQyXXwwKSE9LTEpe2Nbcj4+Ml09MTYxNjg7Y1tyKzQ+PjJdPTEy
O2Nbcis4Pj4yXT0wO2RXKDE2MTY4LHIsOTYpfWlKKGIsMTQ2ODgsKGNbNDA0M118MCktMXwwKTtj
WzM2NzFdPTA7Y1szNjcwXT00NzIwO2lmKChjWzQwNDBdfDApIT0tMSl7Y1txPj4yXT0xNjE2MDtj
W3ErND4+Ml09MTI7Y1txKzg+PjJdPTA7ZFcoMTYxNjAscSw5Nil9aUooYiwxNDY4MCwoY1s0MDQx
XXwwKS0xfDApO2NbMzU5NV09MDtjWzM1OTRdPTI2ODg7aWYoKGNbMzgxNl18MCkhPS0xKXtjW3A+
PjJdPTE1MjY0O2NbcCs0Pj4yXT0xMjtjW3ArOD4+Ml09MDtkVygxNTI2NCxwLDk2KX1pSihiLDE0
Mzc2LChjWzM4MTddfDApLTF8MCk7Y1szNTkzXT0wO2NbMzU5Ml09MjY0ODtpZigoY1szODE0XXww
KSE9LTEpe2Nbbz4+Ml09MTUyNTY7Y1tvKzQ+PjJdPTEyO2Nbbys4Pj4yXT0wO2RXKDE1MjU2LG8s
OTYpfWlKKGIsMTQzNjgsKGNbMzgxNV18MCktMXwwKTtjWzM1OTFdPTA7Y1szNTkwXT0yNjA4O2lm
KChjWzM4MTJdfDApIT0tMSl7Y1tuPj4yXT0xNTI0ODtjW24rND4+Ml09MTI7Y1tuKzg+PjJdPTA7
ZFcoMTUyNDgsbiw5Nil9aUooYiwxNDM2MCwoY1szODEzXXwwKS0xfDApO2NbMzU4OV09MDtjWzM1
ODhdPTI1Njg7aWYoKGNbMzgxMF18MCkhPS0xKXtjW20+PjJdPTE1MjQwO2NbbSs0Pj4yXT0xMjtj
W20rOD4+Ml09MDtkVygxNTI0MCxtLDk2KX1pSihiLDE0MzUyLChjWzM4MTFdfDApLTF8MCk7Y1s1
MDldPTA7Y1s1MDhdPTI4ODg7Y1s1MTBdPTI5MzY7aWYoKGNbMzgyNF18MCkhPS0xKXtjW2w+PjJd
PTE1Mjk2O2NbbCs0Pj4yXT0xMjtjW2wrOD4+Ml09MDtkVygxNTI5NixsLDk2KX1pSihiLDIwMzIs
KGNbMzgyNV18MCktMXwwKTtjWzUwNV09MDtjWzUwNF09Mjc5MjtjWzUwNl09Mjg0MDtpZigoY1sz
ODIyXXwwKSE9LTEpe2Nbaz4+Ml09MTUyODg7Y1trKzQ+PjJdPTEyO2Nbays4Pj4yXT0wO2RXKDE1
Mjg4LGssOTYpfWlKKGIsMjAxNiwoY1szODIzXXwwKS0xfDApO2NbNTAxXT0wO2NbNTAwXT0zNzky
O2Rve2lmKChhWzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4
XT1hUygxLDEzNDQsMCl8MH19d2hpbGUoMCk7Y1s1MDJdPWNbMjk1OF07Y1s1MDBdPTI3NjA7aWYo
KGNbMzgyMF18MCkhPS0xKXtjW2o+PjJdPTE1MjgwO2Nbais0Pj4yXT0xMjtjW2orOD4+Ml09MDtk
VygxNTI4MCxqLDk2KX1pSihiLDJlMywoY1szODIxXXwwKS0xfDApO2NbNDk3XT0wO2NbNDk2XT0z
NzkyO2Rve2lmKChhWzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1sy
OTU4XT1hUygxLDEzNDQsMCl8MH19d2hpbGUoMCk7Y1s0OThdPWNbMjk1OF07Y1s0OTZdPTI3Mjg7
aWYoKGNbMzgxOF18MCkhPS0xKXtjW2g+PjJdPTE1MjcyO2NbaCs0Pj4yXT0xMjtjW2grOD4+Ml09
MDtkVygxNTI3MixoLDk2KX1pSihiLDE5ODQsKGNbMzgxOV18MCktMXwwKTtjWzM2MDVdPTA7Y1sz
NjA0XT0zMTIwO2lmKChjWzM4MzJdfDApIT0tMSl7Y1tnPj4yXT0xNTMyODtjW2crND4+Ml09MTI7
Y1tnKzg+PjJdPTA7ZFcoMTUzMjgsZyw5Nil9aUooYiwxNDQxNiwoY1szODMzXXwwKS0xfDApO2Nb
MzYwM109MDtjWzM2MDJdPTMwODA7aWYoKGNbMzgzMF18MCkhPS0xKXtjW2Y+PjJdPTE1MzIwO2Nb
Zis0Pj4yXT0xMjtjW2YrOD4+Ml09MDtkVygxNTMyMCxmLDk2KX1pSihiLDE0NDA4LChjWzM4MzFd
fDApLTF8MCk7aT1lO3JldHVybn1mdW5jdGlvbiBpdChhLGIpe2E9YXwwO2I9YnwwO3JldHVybiBi
fDB9ZnVuY3Rpb24gaXUoYSxiLGQsZSxmLGcsaCxpKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtm
PWZ8MDtnPWd8MDtoPWh8MDtpPWl8MDtjW2Y+PjJdPWQ7Y1tpPj4yXT1nO3JldHVybiAzfWZ1bmN0
aW9uIGl2KGEsYixkLGUsZixnLGgsaSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1n
fDA7aD1ofDA7aT1pfDA7Y1tmPj4yXT1kO2NbaT4+Ml09ZztyZXR1cm4gM31mdW5jdGlvbiBpdyhh
LGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2NbZj4+Ml09ZDtyZXR1cm4g
M31mdW5jdGlvbiBpeChhKXthPWF8MDtyZXR1cm4gMX1mdW5jdGlvbiBpeShhKXthPWF8MDtyZXR1
cm4gMX1mdW5jdGlvbiBpeihhKXthPWF8MDtyZXR1cm4gMX1mdW5jdGlvbiBpQShhLGIpe2E9YXww
O2I9YnwwO3JldHVybiBiPDwyND4+MjR8MH1mdW5jdGlvbiBpQihhLGIsYyl7YT1hfDA7Yj1ifDA7
Yz1jfDA7cmV0dXJuKGI+Pj4wPDEyOD9iJjI1NTpjKXwwfWZ1bmN0aW9uIGlDKGEsYixjKXthPWF8
MDtiPWJ8MDtjPWN8MDtyZXR1cm4oYjw8MjQ+PjI0Pi0xP2I6Yyl8MH1mdW5jdGlvbiBpRChhLGIs
YyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2I9ZC1jfDA7cmV0dXJuKGI+Pj4w
PGU+Pj4wP2I6ZSl8MH1mdW5jdGlvbiBpRShhKXthPWF8MDtjW2ErND4+Ml09KEk9Y1szODU0XXww
LGNbMzg1NF09SSsxLEkpKzE7cmV0dXJufWZ1bmN0aW9uIGlGKGIsZCxlLGYpe2I9YnwwO2Q9ZHww
O2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MDtpZigoZHwwKT09KGV8MCkpe2c9ZDtyZXR1cm4g
Z3wwfWVsc2V7aD1kO2k9Zn13aGlsZSgxKXtjW2k+PjJdPWFbaF18MDtmPWgrMXwwO2lmKChmfDAp
PT0oZXwwKSl7Zz1lO2JyZWFrfWVsc2V7aD1mO2k9aSs0fDB9fXJldHVybiBnfDB9ZnVuY3Rpb24g
aUcoYixkLGUsZixnKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGk9MCxq
PTA7aWYoKGR8MCk9PShlfDApKXtoPWQ7cmV0dXJuIGh8MH1iPSgoZS00KygtZHwwKXwwKT4+PjIp
KzF8MDtpPWQ7aj1nO3doaWxlKDEpe2c9Y1tpPj4yXXwwO2Fbal09Zz4+PjA8MTI4P2cmMjU1OmY7
Zz1pKzR8MDtpZigoZ3wwKT09KGV8MCkpe2JyZWFrfWVsc2V7aT1nO2o9aisxfDB9fWg9ZCsoYjw8
Mil8MDtyZXR1cm4gaHwwfWZ1bmN0aW9uIGlIKGIsYyxkLGUpe2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9
ZXwwO3ZhciBmPTAsZz0wLGg9MDtpZigoY3wwKT09KGR8MCkpe2Y9YztyZXR1cm4gZnwwfWVsc2V7
Zz1jO2g9ZX13aGlsZSgxKXthW2hdPWFbZ118MDtlPWcrMXwwO2lmKChlfDApPT0oZHwwKSl7Zj1k
O2JyZWFrfWVsc2V7Zz1lO2g9aCsxfDB9fXJldHVybiBmfDB9ZnVuY3Rpb24gaUkoYixjLGQsZSxm
KXtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxpPTA7aWYoKGN8MCk9
PShkfDApKXtnPWM7cmV0dXJuIGd8MH1lbHNle2g9YztpPWZ9d2hpbGUoMSl7Zj1hW2hdfDA7YVtp
XT1mPDwyND4+MjQ+LTE/ZjplO2Y9aCsxfDA7aWYoKGZ8MCk9PShkfDApKXtnPWQ7YnJlYWt9ZWxz
ZXtoPWY7aT1pKzF8MH19cmV0dXJuIGd8MH1mdW5jdGlvbiBpSihhLGIsZCl7YT1hfDA7Yj1ifDA7
ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MDtkZyhifDAp
O2U9YSs4fDA7Zj1hKzEyfDA7YT1jW2Y+PjJdfDA7Zz1lfDA7aD1jW2c+PjJdfDA7aT1hLWg+PjI7
ZG97aWYoaT4+PjA+ZD4+PjApe2o9aH1lbHNle2s9ZCsxfDA7aWYoaT4+PjA8az4+PjApe2o1KGUs
ay1pfDApO2o9Y1tnPj4yXXwwO2JyZWFrfWlmKGk+Pj4wPD1rPj4+MCl7aj1oO2JyZWFrfWw9aCso
azw8Mil8MDtpZigobHwwKT09KGF8MCkpe2o9aDticmVha31jW2Y+PjJdPWErKH4oKGEtNCsoLWx8
MCl8MCk+Pj4yKTw8Mik7aj1ofX13aGlsZSgwKTtoPWNbaisoZDw8Mik+PjJdfDA7aWYoKGh8MCk9
PTApe209ajtuPW0rKGQ8PDIpfDA7Y1tuPj4yXT1iO3JldHVybn1keihofDApfDA7bT1jW2c+PjJd
fDA7bj1tKyhkPDwyKXwwO2Nbbj4+Ml09YjtyZXR1cm59ZnVuY3Rpb24gaUsoYSl7YT1hfDA7aUwo
YSk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGlMKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAs
aD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7Y1tiPj4yXT0zODI0O2Q9YisxMnwwO2U9Y1tkPj4yXXww
O2Y9Yis4fDA7Zz1jW2Y+PjJdfDA7aWYoKGV8MCkhPShnfDApKXtoPTA7aT1nO2c9ZTt3aGlsZSgx
KXtlPWNbaSsoaDw8Mik+PjJdfDA7aWYoKGV8MCk9PTApe2o9ZztrPWl9ZWxzZXtsPWV8MDtkeihs
KXwwO2o9Y1tkPj4yXXwwO2s9Y1tmPj4yXXwwfWw9aCsxfDA7aWYobD4+PjA8ai1rPj4yPj4+MCl7
aD1sO2k9aztnPWp9ZWxzZXticmVha319fWRQKGIrMTQ0fDApO2o9Y1tmPj4yXXwwO2lmKChqfDAp
PT0wKXttPWJ8MDtkZShtKTtyZXR1cm59Zj1jW2Q+PjJdfDA7aWYoKGp8MCkhPShmfDApKXtjW2Q+
PjJdPWYrKH4oKGYtNCsoLWp8MCl8MCk+Pj4yKTw8Mil9aWYoKGp8MCk9PShiKzI0fDApKXthW2Ir
MTM2fDBdPTA7bT1ifDA7ZGUobSk7cmV0dXJufWVsc2V7a1Moaik7bT1ifDA7ZGUobSk7cmV0dXJu
fX1mdW5jdGlvbiBpTSgpe3ZhciBiPTAsZD0wO2lmKChhWzE2MjQ4XXwwKSE9MCl7Yj1jWzI5NTBd
fDA7cmV0dXJuIGJ8MH1pZigoYmMoMTYyNDgpfDApPT0wKXtiPWNbMjk1MF18MDtyZXR1cm4gYnww
fWRve2lmKChhWzE2MjU2XXwwKT09MCl7aWYoKGJjKDE2MjU2KXwwKT09MCl7YnJlYWt9aXMoMTQ0
OTYsMSk7Y1syOTU0XT0xNDQ5NjtjWzI5NTJdPTExODE2fX13aGlsZSgwKTtkPWNbY1syOTUyXT4+
Ml18MDtjWzI5NTZdPWQ7ZGcoZHwwKTtjWzI5NTBdPTExODI0O2I9Y1syOTUwXXwwO3JldHVybiBi
fDB9ZnVuY3Rpb24gaU4oYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wO2Q9Y1tiPj4yXXwwO2NbYT4+
Ml09ZDtkZyhkfDApO3JldHVybn1mdW5jdGlvbiBpTyhhKXthPWF8MDtkeihjW2E+PjJdfDApfDA7
cmV0dXJufWZ1bmN0aW9uIGlQKGEpe2E9YXwwO2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9u
IGlRKGEpe2E9YXwwO2lmKChhfDApPT0wKXtyZXR1cm59YllbY1soY1thPj4yXXwwKSs0Pj4yXSY1
MTFdKGEpO3JldHVybn1mdW5jdGlvbiBpUihhKXthPWF8MDtkZShhfDApO2tTKGEpO3JldHVybn1m
dW5jdGlvbiBpUyhiKXtiPWJ8MDt2YXIgZD0wO2NbYj4+Ml09MzkzNjtkPWNbYis4Pj4yXXwwO2Rv
e2lmKChkfDApIT0wKXtpZigoYVtiKzEyfDBdJjEpPT0wKXticmVha31rVChkKX19d2hpbGUoMCk7
ZGUoYnwwKTtrUyhiKTtyZXR1cm59ZnVuY3Rpb24gaVQoYil7Yj1ifDA7dmFyIGQ9MDtjW2I+PjJd
PTM5MzY7ZD1jW2IrOD4+Ml18MDtkb3tpZigoZHwwKSE9MCl7aWYoKGFbYisxMnwwXSYxKT09MCl7
YnJlYWt9a1QoZCl9fXdoaWxlKDApO2RlKGJ8MCk7cmV0dXJufWZ1bmN0aW9uIGlVKGEpe2E9YXww
O2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGlWKGEpe2E9YXwwO2lxKGEpO2tTKGEpO3Jl
dHVybn1mdW5jdGlvbiBpVyhhKXthPWF8MDt2YXIgYj0wO2I9Y1soaU0oKXwwKT4+Ml18MDtjW2E+
PjJdPWI7ZGcoYnwwKTtyZXR1cm59ZnVuY3Rpb24gaVgoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0w
LGU9MCxmPTAsZz0wLGg9MDtkPWk7aT1pKzE2fDA7ZT1kfDA7Zj1jW2E+PjJdfDA7YT1ifDA7aWYo
KGNbYT4+Ml18MCkhPS0xKXtjW2U+PjJdPWI7Y1tlKzQ+PjJdPTEyO2NbZSs4Pj4yXT0wO2RXKGEs
ZSw5Nil9ZT0oY1tiKzQ+PjJdfDApLTF8MDtiPWNbZis4Pj4yXXwwO2lmKChjW2YrMTI+PjJdfDAp
LWI+PjI+Pj4wPD1lPj4+MCl7Zz1iTyg0KXwwO2g9ZztrcShoKTtibChnfDAsODE3NiwxMzQpO3Jl
dHVybiAwfWY9Y1tiKyhlPDwyKT4+Ml18MDtpZigoZnwwKT09MCl7Zz1iTyg0KXwwO2g9ZztrcSho
KTtibChnfDAsODE3NiwxMzQpO3JldHVybiAwfWVsc2V7aT1kO3JldHVybiBmfDB9cmV0dXJuIDB9
ZnVuY3Rpb24gaVkoYSxkLGUpe2E9YXwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTA7aWYoZT4+PjA+PTEy
OCl7Zj0wO3JldHVybiBmfDB9Zj0oYlsoY1soYTYoKXwwKT4+Ml18MCkrKGU8PDEpPj4xXSZkKTw8
MTY+PjE2IT0wO3JldHVybiBmfDB9ZnVuY3Rpb24gaVooYSxkLGUsZil7YT1hfDA7ZD1kfDA7ZT1l
fDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0wLGo9MDtpZigoZHwwKT09KGV8MCkpe2c9ZDtyZXR1cm4g
Z3wwfWVsc2V7aD1kO2k9Zn13aGlsZSgxKXtmPWNbaD4+Ml18MDtpZihmPj4+MDwxMjgpe2o9Ylso
Y1soYTYoKXwwKT4+Ml18MCkrKGY8PDEpPj4xXXwwfWVsc2V7aj0wfWJbaT4+MV09ajtmPWgrNHww
O2lmKChmfDApPT0oZXwwKSl7Zz1lO2JyZWFrfWVsc2V7aD1mO2k9aSsyfDB9fXJldHVybiBnfDB9
ZnVuY3Rpb24gaV8oYSxkLGUsZil7YT1hfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAs
aT0wO2lmKChlfDApPT0oZnwwKSl7Zz1lO3JldHVybiBnfDB9ZWxzZXtoPWV9d2hpbGUoMSl7ZT1j
W2g+PjJdfDA7aWYoZT4+PjA8MTI4KXtpZigoYlsoY1soYTYoKXwwKT4+Ml18MCkrKGU8PDEpPj4x
XSZkKTw8MTY+PjE2IT0wKXtnPWg7aT0yMDk0O2JyZWFrfX1lPWgrNHwwO2lmKChlfDApPT0oZnww
KSl7Zz1mO2k9MjA5NjticmVha31lbHNle2g9ZX19aWYoKGl8MCk9PTIwOTQpe3JldHVybiBnfDB9
ZWxzZSBpZigoaXwwKT09MjA5Nil7cmV0dXJuIGd8MH1yZXR1cm4gMH1mdW5jdGlvbiBpJChhLGQs
ZSxmKXthPWF8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MDthPWU7d2hpbGUoMSl7aWYo
KGF8MCk9PShmfDApKXtnPWY7aD0yMTA0O2JyZWFrfWU9Y1thPj4yXXwwO2lmKGU+Pj4wPj0xMjgp
e2c9YTtoPTIxMDY7YnJlYWt9aWYoKGJbKGNbKGE2KCl8MCk+PjJdfDApKyhlPDwxKT4+MV0mZCk8
PDE2Pj4xNj09MCl7Zz1hO2g9MjEwNTticmVha31lbHNle2E9YSs0fDB9fWlmKChofDApPT0yMTA0
KXtyZXR1cm4gZ3wwfWVsc2UgaWYoKGh8MCk9PTIxMDUpe3JldHVybiBnfDB9ZWxzZSBpZigoaHww
KT09MjEwNil7cmV0dXJuIGd8MH1yZXR1cm4gMH1mdW5jdGlvbiBpMChhLGIpe2E9YXwwO2I9Ynww
O3ZhciBkPTA7aWYoYj4+PjA+PTEyOCl7ZD1iO3JldHVybiBkfDB9ZD1jWyhjWyhiUigpfDApPj4y
XXwwKSsoYjw8Mik+PjJdfDA7cmV0dXJuIGR8MH1mdW5jdGlvbiBpMShhLGIsZCl7YT1hfDA7Yj1i
fDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2lmKChifDApPT0oZHwwKSl7ZT1iO3JldHVybiBlfDB9
ZWxzZXtmPWJ9d2hpbGUoMSl7Yj1jW2Y+PjJdfDA7aWYoYj4+PjA8MTI4KXtnPWNbKGNbKGJSKCl8
MCk+PjJdfDApKyhiPDwyKT4+Ml18MH1lbHNle2c9Yn1jW2Y+PjJdPWc7Yj1mKzR8MDtpZigoYnww
KT09KGR8MCkpe2U9ZDticmVha31lbHNle2Y9Yn19cmV0dXJuIGV8MH1mdW5jdGlvbiBpMihhLGIp
e2E9YXwwO2I9YnwwO3ZhciBkPTA7aWYoYj4+PjA+PTEyOCl7ZD1iO3JldHVybiBkfDB9ZD1jWyhj
WyhiUygpfDApPj4yXXwwKSsoYjw8Mik+PjJdfDA7cmV0dXJuIGR8MH1mdW5jdGlvbiBpMyhhLGIs
ZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2lmKChifDApPT0oZHwwKSl7ZT1i
O3JldHVybiBlfDB9ZWxzZXtmPWJ9d2hpbGUoMSl7Yj1jW2Y+PjJdfDA7aWYoYj4+PjA8MTI4KXtn
PWNbKGNbKGJTKCl8MCk+PjJdfDApKyhiPDwyKT4+Ml18MH1lbHNle2c9Yn1jW2Y+PjJdPWc7Yj1m
KzR8MDtpZigoYnwwKT09KGR8MCkpe2U9ZDticmVha31lbHNle2Y9Yn19cmV0dXJuIGV8MH1mdW5j
dGlvbiBpNChhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTA7aWYoYjw8MjQ+PjI0PD0tMSl7ZD1iO3Jl
dHVybiBkfDB9ZD1jWyhjWyhiUigpfDApPj4yXXwwKSsoKGImMjU1KTw8Mik+PjJdJjI1NTtyZXR1
cm4gZHwwfWZ1bmN0aW9uIGk1KGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxo
PTA7aWYoKGR8MCk9PShlfDApKXtmPWQ7cmV0dXJuIGZ8MH1lbHNle2c9ZH13aGlsZSgxKXtkPWFb
Z118MDtpZihkPDwyND4+MjQ+LTEpe2g9Y1soY1soYlIoKXwwKT4+Ml18MCkrKGQ8PDI0Pj4yNDw8
Mik+PjJdJjI1NX1lbHNle2g9ZH1hW2ddPWg7ZD1nKzF8MDtpZigoZHwwKT09KGV8MCkpe2Y9ZTti
cmVha31lbHNle2c9ZH19cmV0dXJuIGZ8MH1mdW5jdGlvbiBpNihhLGIpe2E9YXwwO2I9YnwwO3Zh
ciBkPTA7aWYoYjw8MjQ+PjI0PD0tMSl7ZD1iO3JldHVybiBkfDB9ZD1jWyhjWyhiUygpfDApPj4y
XXwwKSsoYjw8MjQ+PjI0PDwyKT4+Ml0mMjU1O3JldHVybiBkfDB9ZnVuY3Rpb24gaTcoYixkLGUp
e2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MDtpZigoZHwwKT09KGV8MCkpe2Y9ZDty
ZXR1cm4gZnwwfWVsc2V7Zz1kfXdoaWxlKDEpe2Q9YVtnXXwwO2lmKGQ8PDI0Pj4yND4tMSl7aD1j
WyhjWyhiUygpfDApPj4yXXwwKSsoZDw8MjQ+PjI0PDwyKT4+Ml0mMjU1fWVsc2V7aD1kfWFbZ109
aDtkPWcrMXwwO2lmKChkfDApPT0oZXwwKSl7Zj1lO2JyZWFrfWVsc2V7Zz1kfX1yZXR1cm4gZnww
fWZ1bmN0aW9uIGk4KGEpe2E9YXwwO3JldHVybiAwfWZ1bmN0aW9uIGk5KGEpe2E9YXwwO2RlKGF8
MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGphKGEsYixkLGUsZixnLGgsail7YT1hfDA7Yj1ifDA7
ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7dmFyIGs9MCxsPTA7Yj1pO2k9aSsx
NnwwO2E9YnwwO2s9Yis4fDA7Y1thPj4yXT1kO2Nbaz4+Ml09ZztsPWpsKGQsZSxhLGcsaCxrLDEx
MTQxMTEsMCl8MDtjW2Y+PjJdPWQrKChjW2E+PjJdfDApLWQ+PjE8PDEpO2Nbaj4+Ml09ZysoKGNb
az4+Ml18MCktZyk7aT1iO3JldHVybiBsfDB9ZnVuY3Rpb24gamIoYixkLGUsZixnLGgsaixrKXti
PWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09
MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0w
LEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MDtsPWk7aT1pKzh8MDttPWx8
MDtuPW07bz1pO2k9aSsxfDA7aT1pKzc+PjM8PDM7cD1lO3doaWxlKDEpe2lmKChwfDApPT0oZnww
KSl7cT1mO2JyZWFrfWlmKChjW3A+PjJdfDApPT0wKXtxPXA7YnJlYWt9ZWxzZXtwPXArNHwwfX1j
W2s+PjJdPWg7Y1tnPj4yXT1lO0wyNTU1OmRve2lmKChlfDApPT0oZnwwKXwoaHwwKT09KGp8MCkp
e3I9ZX1lbHNle3A9ZDtzPWo7dD1iKzh8MDt1PW98MDt2PWg7dz1lO3g9cTtMMjU1Nzp3aGlsZSgx
KXt5PWNbcCs0Pj4yXXwwO2NbbT4+Ml09Y1twPj4yXTtjW20rND4+Ml09eTt5PWJCKGNbdD4+Ml18
MCl8MDt6PWtzKHYsZyx4LXc+PjIscy12fDAsZCl8MDtpZigoeXwwKSE9MCl7YkIoeXwwKXwwfXN3
aXRjaCh6fDApe2Nhc2UtMTp7QT0yMTg4O2JyZWFrIEwyNTU3O2JyZWFrfTtjYXNlIDA6e0I9MTtB
PTIyMjQ7YnJlYWsgTDI1NTc7YnJlYWt9O2RlZmF1bHQ6e319eT0oY1trPj4yXXwwKSt6fDA7Y1tr
Pj4yXT15O2lmKCh5fDApPT0oanwwKSl7QT0yMjIxO2JyZWFrfWlmKCh4fDApPT0oZnwwKSl7Qz1m
O0Q9eTtFPWNbZz4+Ml18MH1lbHNle3k9YkIoY1t0Pj4yXXwwKXwwO3o9a2codSwwLGQpfDA7aWYo
KHl8MCkhPTApe2JCKHl8MCl8MH1pZigoenwwKT09LTEpe0I9MjtBPTIyMjY7YnJlYWt9eT1jW2s+
PjJdfDA7aWYoej4+PjA+KHMteXwwKT4+PjApe0I9MTtBPTIyMjc7YnJlYWt9TDI1NzQ6ZG97aWYo
KHp8MCkhPTApe0Y9ejtHPXU7SD15O3doaWxlKDEpe0k9YVtHXXwwO2Nbaz4+Ml09SCsxO2FbSF09
STtJPUYtMXwwO2lmKChJfDApPT0wKXticmVhayBMMjU3NH1GPUk7Rz1HKzF8MDtIPWNbaz4+Ml18
MH19fXdoaWxlKDApO3k9KGNbZz4+Ml18MCkrNHwwO2NbZz4+Ml09eTt6PXk7d2hpbGUoMSl7aWYo
KHp8MCk9PShmfDApKXtKPWY7YnJlYWt9aWYoKGNbej4+Ml18MCk9PTApe0o9ejticmVha31lbHNl
e3o9eis0fDB9fUM9SjtEPWNbaz4+Ml18MDtFPXl9aWYoKEV8MCk9PShmfDApfChEfDApPT0oanww
KSl7cj1FO2JyZWFrIEwyNTU1fWVsc2V7dj1EO3c9RTt4PUN9fWlmKChBfDApPT0yMTg4KXtjW2s+
PjJdPXY7TDI1ODY6ZG97aWYoKHd8MCk9PShjW2c+PjJdfDApKXtLPXd9ZWxzZXt4PXc7dT12O3do
aWxlKDEpe3M9Y1t4Pj4yXXwwO3A9YkIoY1t0Pj4yXXwwKXwwO3o9a2codSxzLG4pfDA7aWYoKHB8
MCkhPTApe2JCKHB8MCl8MH1pZigoenwwKT09LTEpe0s9eDticmVhayBMMjU4Nn1wPShjW2s+PjJd
fDApK3p8MDtjW2s+PjJdPXA7ej14KzR8MDtpZigoenwwKT09KGNbZz4+Ml18MCkpe0s9ejticmVh
a31lbHNle3g9ejt1PXB9fX19d2hpbGUoMCk7Y1tnPj4yXT1LO0I9MjtpPWw7cmV0dXJuIEJ8MH1l
bHNlIGlmKChBfDApPT0yMjIxKXtyPWNbZz4+Ml18MDticmVha31lbHNlIGlmKChBfDApPT0yMjI0
KXtpPWw7cmV0dXJuIEJ8MH1lbHNlIGlmKChBfDApPT0yMjI2KXtpPWw7cmV0dXJuIEJ8MH1lbHNl
IGlmKChBfDApPT0yMjI3KXtpPWw7cmV0dXJuIEJ8MH19fXdoaWxlKDApO0I9KHJ8MCkhPShmfDAp
fDA7aT1sO3JldHVybiBCfDB9ZnVuY3Rpb24gamMoYixkLGUsZixnLGgsaixrKXtiPWJ8MDtkPWR8
MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0w
LHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAs
RD0wLEU9MCxGPTAsRz0wLEg9MCxJPTA7bD1pO2k9aSs4fDA7bT1sfDA7bj1tO289ZTt3aGlsZSgx
KXtpZigob3wwKT09KGZ8MCkpe3A9ZjticmVha31pZigoYVtvXXwwKT09MCl7cD1vO2JyZWFrfWVs
c2V7bz1vKzF8MH19Y1trPj4yXT1oO2NbZz4+Ml09ZTtMMjYwNzpkb3tpZigoZXwwKT09KGZ8MCl8
KGh8MCk9PShqfDApKXtxPWV9ZWxzZXtvPWQ7cj1qO3M9Yis4fDA7dD1oO3U9ZTt2PXA7TDI2MDk6
d2hpbGUoMSl7dz1jW28rND4+Ml18MDtjW20+PjJdPWNbbz4+Ml07Y1ttKzQ+PjJdPXc7eD12O3c9
YkIoY1tzPj4yXXwwKXwwO3k9a2QodCxnLHgtdXwwLHItdD4+MixkKXwwO2lmKCh3fDApIT0wKXti
Qih3fDApfDB9c3dpdGNoKHl8MCl7Y2FzZS0xOnt6PTIyNDM7YnJlYWsgTDI2MDk7YnJlYWt9O2Nh
c2UgMDp7QT0yO3o9MjI3ODticmVhayBMMjYwOTticmVha307ZGVmYXVsdDp7fX13PShjW2s+PjJd
fDApKyh5PDwyKXwwO2Nbaz4+Ml09dztpZigod3wwKT09KGp8MCkpe3o9MjI3NTticmVha315PWNb
Zz4+Ml18MDtpZigodnwwKT09KGZ8MCkpe0I9ZjtDPXc7RD15fWVsc2V7RT1iQihjW3M+PjJdfDAp
fDA7Rj1rYyh3LHksMSxkKXwwO2lmKChFfDApIT0wKXtiQihFfDApfDB9aWYoKEZ8MCkhPTApe0E9
Mjt6PTIyODI7YnJlYWt9Y1trPj4yXT0oY1trPj4yXXwwKSs0O0Y9KGNbZz4+Ml18MCkrMXwwO2Nb
Zz4+Ml09RjtFPUY7d2hpbGUoMSl7aWYoKEV8MCk9PShmfDApKXtHPWY7YnJlYWt9aWYoKGFbRV18
MCk9PTApe0c9RTticmVha31lbHNle0U9RSsxfDB9fUI9RztDPWNbaz4+Ml18MDtEPUZ9aWYoKER8
MCk9PShmfDApfChDfDApPT0oanwwKSl7cT1EO2JyZWFrIEwyNjA3fWVsc2V7dD1DO3U9RDt2PUJ9
fWlmKCh6fDApPT0yMjQzKXtjW2s+PjJdPXQ7TDI2MzE6ZG97aWYoKHV8MCk9PShjW2c+PjJdfDAp
KXtIPXV9ZWxzZXt2PXQ7cj11O0wyNjMyOndoaWxlKDEpe289YkIoY1tzPj4yXXwwKXwwO0U9a2Mo
dixyLHgtcnwwLG4pfDA7aWYoKG98MCkhPTApe2JCKG98MCl8MH1zd2l0Y2goRXwwKXtjYXNlIDA6
e0k9cisxfDA7YnJlYWt9O2Nhc2UtMTp7ej0yMjU0O2JyZWFrIEwyNjMyO2JyZWFrfTtjYXNlLTI6
e3o9MjI1NTticmVhayBMMjYzMjticmVha307ZGVmYXVsdDp7ST1yK0V8MH19RT0oY1trPj4yXXww
KSs0fDA7Y1trPj4yXT1FO2lmKChJfDApPT0oY1tnPj4yXXwwKSl7SD1JO2JyZWFrIEwyNjMxfWVs
c2V7dj1FO3I9SX19aWYoKHp8MCk9PTIyNTQpe2NbZz4+Ml09cjtBPTI7aT1sO3JldHVybiBBfDB9
ZWxzZSBpZigoenwwKT09MjI1NSl7Y1tnPj4yXT1yO0E9MTtpPWw7cmV0dXJuIEF8MH19fXdoaWxl
KDApO2NbZz4+Ml09SDtBPShIfDApIT0oZnwwKXwwO2k9bDtyZXR1cm4gQXwwfWVsc2UgaWYoKHp8
MCk9PTIyNzUpe3E9Y1tnPj4yXXwwO2JyZWFrfWVsc2UgaWYoKHp8MCk9PTIyNzgpe2k9bDtyZXR1
cm4gQXwwfWVsc2UgaWYoKHp8MCk9PTIyODIpe2k9bDtyZXR1cm4gQXwwfX19d2hpbGUoMCk7QT0o
cXwwKSE9KGZ8MCl8MDtpPWw7cmV0dXJuIEF8MH1mdW5jdGlvbiBqZChiLGQsZSxmLGcpe2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO3ZhciBoPTAsaj0wLGs9MCxsPTAsbT0wLG49MDtoPWk7
aT1pKzh8MDtjW2c+PjJdPWU7ZT1ofDA7aj1iQihjW2IrOD4+Ml18MCl8MDtiPWtnKGUsMCxkKXww
O2lmKChqfDApIT0wKXtiQihqfDApfDB9c3dpdGNoKGJ8MCl7Y2FzZS0xOmNhc2UgMDp7az0yO2k9
aDtyZXR1cm4ga3wwfTtkZWZhdWx0Ont9fWo9Yi0xfDA7Yj1jW2c+PjJdfDA7aWYoaj4+PjA+KGYt
YnwwKT4+PjApe2s9MTtpPWg7cmV0dXJuIGt8MH1pZigoanwwKT09MCl7az0wO2k9aDtyZXR1cm4g
a3wwfWVsc2V7bD1qO209ZTtuPWJ9d2hpbGUoMSl7Yj1hW21dfDA7Y1tnPj4yXT1uKzE7YVtuXT1i
O2I9bC0xfDA7aWYoKGJ8MCk9PTApe2s9MDticmVha31sPWI7bT1tKzF8MDtuPWNbZz4+Ml18MH1p
PWg7cmV0dXJuIGt8MH1mdW5jdGlvbiBqZShhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9
MDtiPWErOHwwO2E9YkIoY1tiPj4yXXwwKXwwO2Q9a2YoMCwwLDEpfDA7aWYoKGF8MCkhPTApe2JC
KGF8MCl8MH1pZigoZHwwKSE9MCl7ZT0tMTtyZXR1cm4gZXwwfWQ9Y1tiPj4yXXwwO2lmKChkfDAp
PT0wKXtlPTE7cmV0dXJuIGV8MH1lPWJCKGR8MCl8MDtkPWJkKCl8MDtpZigoZXwwKT09MCl7Zj0o
ZHwwKT09MTtnPWYmMTtyZXR1cm4gZ3wwfWJCKGV8MCl8MDtmPShkfDApPT0xO2c9ZiYxO3JldHVy
biBnfDB9ZnVuY3Rpb24gamYoYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8
MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7aWYoKGZ8MCk9PTB8KGR8
MCk9PShlfDApKXtnPTA7cmV0dXJuIGd8MH1oPWU7aT1hKzh8MDthPWQ7ZD0wO2o9MDtMMjY5Mzp3
aGlsZSgxKXtrPWJCKGNbaT4+Ml18MCl8MDtsPWtiKGEsaC1hfDAsYil8MDtpZigoa3wwKSE9MCl7
YkIoa3wwKXwwfXN3aXRjaChsfDApe2Nhc2UgMDp7bT0xO249YSsxfDA7YnJlYWt9O2Nhc2UtMTpj
YXNlLTI6e2c9ZDtvPTIzNDM7YnJlYWsgTDI2OTM7YnJlYWt9O2RlZmF1bHQ6e209bDtuPWErbHww
fX1sPW0rZHwwO2s9aisxfDA7aWYoaz4+PjA+PWY+Pj4wfChufDApPT0oZXwwKSl7Zz1sO289MjM0
NTticmVha31lbHNle2E9bjtkPWw7aj1rfX1pZigob3wwKT09MjM0NSl7cmV0dXJuIGd8MH1lbHNl
IGlmKChvfDApPT0yMzQzKXtyZXR1cm4gZ3wwfXJldHVybiAwfWZ1bmN0aW9uIGpnKGEpe2E9YXww
O3ZhciBiPTAsZD0wLGU9MDtiPWNbYSs4Pj4yXXwwO2Rve2lmKChifDApPT0wKXtkPTF9ZWxzZXth
PWJCKGJ8MCl8MDtlPWJkKCl8MDtpZigoYXwwKT09MCl7ZD1lO2JyZWFrfWJCKGF8MCl8MDtkPWV9
fXdoaWxlKDApO3JldHVybiBkfDB9ZnVuY3Rpb24gamgoYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtk
PWR8MDtlPWV8MDtmPWZ8MDtjW2Y+PjJdPWQ7cmV0dXJuIDN9ZnVuY3Rpb24gamkoYSl7YT1hfDA7
cmV0dXJuIDB9ZnVuY3Rpb24gamooYSl7YT1hfDA7cmV0dXJuIDB9ZnVuY3Rpb24gamsoYSl7YT1h
fDA7cmV0dXJuIDR9ZnVuY3Rpb24gamwoZCxmLGcsaCxpLGosayxsKXtkPWR8MDtmPWZ8MDtnPWd8
MDtoPWh8MDtpPWl8MDtqPWp8MDtrPWt8MDtsPWx8MDt2YXIgbT0wLG49MCxvPTAscD0wLHE9MCxy
PTA7Y1tnPj4yXT1kO2Nbaj4+Ml09aDtkb3tpZigobCYyfDApIT0wKXtpZigoaS1ofDApPDMpe209
MTtyZXR1cm4gbXwwfWVsc2V7Y1tqPj4yXT1oKzE7YVtoXT0tMTc7ZD1jW2o+PjJdfDA7Y1tqPj4y
XT1kKzE7YVtkXT0tNjk7ZD1jW2o+PjJdfDA7Y1tqPj4yXT1kKzE7YVtkXT0tNjU7YnJlYWt9fX13
aGlsZSgwKTtoPWY7bD1jW2c+PjJdfDA7aWYobD4+PjA+PWY+Pj4wKXttPTA7cmV0dXJuIG18MH1k
PWk7aT1sO0wyNzI3OndoaWxlKDEpe2w9YltpPj4xXXwwO249bCY2NTUzNTtpZihuPj4+MD5rPj4+
MCl7bT0yO289MjM5OTticmVha31kb3tpZigobCY2NTUzNSk8MTI4KXtwPWNbaj4+Ml18MDtpZigo
ZC1wfDApPDEpe209MTtvPTIzODg7YnJlYWsgTDI3Mjd9Y1tqPj4yXT1wKzE7YVtwXT1sJjI1NX1l
bHNle2lmKChsJjY1NTM1KTwyMDQ4KXtwPWNbaj4+Ml18MDtpZigoZC1wfDApPDIpe209MTtvPTIz
ODk7YnJlYWsgTDI3Mjd9Y1tqPj4yXT1wKzE7YVtwXT0obj4+PjZ8MTkyKSYyNTU7cD1jW2o+PjJd
fDA7Y1tqPj4yXT1wKzE7YVtwXT0obiY2M3wxMjgpJjI1NTticmVha31pZigobCY2NTUzNSk8NTUy
OTYpe3A9Y1tqPj4yXXwwO2lmKChkLXB8MCk8Myl7bT0xO289MjM5NzticmVhayBMMjcyN31jW2o+
PjJdPXArMTthW3BdPShuPj4+MTJ8MjI0KSYyNTU7cD1jW2o+PjJdfDA7Y1tqPj4yXT1wKzE7YVtw
XT0obj4+PjYmNjN8MTI4KSYyNTU7cD1jW2o+PjJdfDA7Y1tqPj4yXT1wKzE7YVtwXT0obiY2M3wx
MjgpJjI1NTticmVha31pZigobCY2NTUzNSk+PTU2MzIwKXtpZigobCY2NTUzNSk8NTczNDQpe209
MjtvPTIzOTM7YnJlYWsgTDI3Mjd9cD1jW2o+PjJdfDA7aWYoKGQtcHwwKTwzKXttPTE7bz0yMzk0
O2JyZWFrIEwyNzI3fWNbaj4+Ml09cCsxO2FbcF09KG4+Pj4xMnwyMjQpJjI1NTtwPWNbaj4+Ml18
MDtjW2o+PjJdPXArMTthW3BdPShuPj4+NiY2M3wxMjgpJjI1NTtwPWNbaj4+Ml18MDtjW2o+PjJd
PXArMTthW3BdPShuJjYzfDEyOCkmMjU1O2JyZWFrfWlmKChoLWl8MCk8NCl7bT0xO289MjM5MTti
cmVhayBMMjcyN31wPWkrMnwwO3E9ZVtwPj4xXXwwO2lmKChxJjY0NTEyfDApIT01NjMyMCl7bT0y
O289MjM5MjticmVhayBMMjcyN31pZigoZC0oY1tqPj4yXXwwKXwwKTw0KXttPTE7bz0yMzk4O2Jy
ZWFrIEwyNzI3fXI9biY5NjA7aWYoKChyPDwxMCkrNjU1MzZ8bjw8MTAmNjQ1MTJ8cSYxMDIzKT4+
PjA+az4+PjApe209MjtvPTI0MDA7YnJlYWsgTDI3Mjd9Y1tnPj4yXT1wO3A9KHI+Pj42KSsxfDA7
cj1jW2o+PjJdfDA7Y1tqPj4yXT1yKzE7YVtyXT0ocD4+PjJ8MjQwKSYyNTU7cj1jW2o+PjJdfDA7
Y1tqPj4yXT1yKzE7YVtyXT0obj4+PjImMTV8cDw8NCY0OHwxMjgpJjI1NTtwPWNbaj4+Ml18MDtj
W2o+PjJdPXArMTthW3BdPShuPDw0JjQ4fHE+Pj42JjE1fDEyOCkmMjU1O3A9Y1tqPj4yXXwwO2Nb
aj4+Ml09cCsxO2FbcF09KHEmNjN8MTI4KSYyNTV9fXdoaWxlKDApO249KGNbZz4+Ml18MCkrMnww
O2NbZz4+Ml09bjtpZihuPj4+MDxmPj4+MCl7aT1ufWVsc2V7bT0wO289MjM5NTticmVha319aWYo
KG98MCk9PTIzODkpe3JldHVybiBtfDB9ZWxzZSBpZigob3wwKT09MjM5Myl7cmV0dXJuIG18MH1l
bHNlIGlmKChvfDApPT0yMzk0KXtyZXR1cm4gbXwwfWVsc2UgaWYoKG98MCk9PTI0MDApe3JldHVy
biBtfDB9ZWxzZSBpZigob3wwKT09MjM4OCl7cmV0dXJuIG18MH1lbHNlIGlmKChvfDApPT0yMzkx
KXtyZXR1cm4gbXwwfWVsc2UgaWYoKG98MCk9PTIzOTIpe3JldHVybiBtfDB9ZWxzZSBpZigob3ww
KT09MjM5NSl7cmV0dXJuIG18MH1lbHNlIGlmKChvfDApPT0yMzk3KXtyZXR1cm4gbXwwfWVsc2Ug
aWYoKG98MCk9PTIzOTgpe3JldHVybiBtfDB9ZWxzZSBpZigob3wwKT09MjM5OSl7cmV0dXJuIG18
MH1yZXR1cm4gMH1mdW5jdGlvbiBqbShlLGYsZyxoLGksaixrLGwpe2U9ZXwwO2Y9ZnwwO2c9Z3ww
O2g9aHwwO2k9aXwwO2o9anwwO2s9a3wwO2w9bHwwO3ZhciBtPTAsbj0wLG89MCxwPTAscT0wLHI9
MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTA7Y1tnPj4yXT1lO2Nbaj4+Ml09aDtoPWNbZz4+
Ml18MDtkb3tpZigobCY0fDApPT0wKXttPWh9ZWxzZXtpZigoZi1ofDApPD0yKXttPWg7YnJlYWt9
aWYoKGFbaF18MCkhPS0xNyl7bT1oO2JyZWFrfWlmKChhW2grMXwwXXwwKSE9LTY5KXttPWg7YnJl
YWt9aWYoKGFbaCsyfDBdfDApIT0tNjUpe209aDticmVha31lPWgrM3wwO2NbZz4+Ml09ZTttPWV9
fXdoaWxlKDApO0wyNzcyOmRve2lmKG0+Pj4wPGY+Pj4wKXtoPWY7bD1pO2U9Y1tqPj4yXXwwO249
bTtMMjc3NDp3aGlsZSgxKXtpZihlPj4+MD49aT4+PjApe289bjticmVhayBMMjc3Mn1wPWFbbl18
MDtxPXAmMjU1O2lmKHE+Pj4wPms+Pj4wKXtyPTI7cz0yNDQ0O2JyZWFrfWRve2lmKHA8PDI0Pj4y
ND4tMSl7YltlPj4xXT1wJjI1NTtjW2c+PjJdPShjW2c+PjJdfDApKzF9ZWxzZXtpZigocCYyNTUp
PDE5NCl7cj0yO3M9MjQ1MzticmVhayBMMjc3NH1pZigocCYyNTUpPDIyNCl7aWYoKGgtbnwwKTwy
KXtyPTE7cz0yNDU0O2JyZWFrIEwyNzc0fXQ9ZFtuKzF8MF18MDtpZigodCYxOTJ8MCkhPTEyOCl7
cj0yO3M9MjQ1NTticmVhayBMMjc3NH11PXQmNjN8cTw8NiYxOTg0O2lmKHU+Pj4wPms+Pj4wKXty
PTI7cz0yNDU2O2JyZWFrIEwyNzc0fWJbZT4+MV09dSY2NTUzNTtjW2c+PjJdPShjW2c+PjJdfDAp
KzI7YnJlYWt9aWYoKHAmMjU1KTwyNDApe2lmKChoLW58MCk8Myl7cj0xO3M9MjQ1NzticmVhayBM
Mjc3NH11PWFbbisxfDBdfDA7c3dpdGNoKHF8MCl7Y2FzZSAyMjQ6e2lmKCh1Ji0zMik8PDI0Pj4y
NCE9LTk2KXtyPTI7cz0yNDUwO2JyZWFrIEwyNzc0fWJyZWFrfTtjYXNlIDIzNzp7aWYoKHUmLTMy
KTw8MjQ+PjI0IT0tMTI4KXtyPTI7cz0yNDUyO2JyZWFrIEwyNzc0fWJyZWFrfTtkZWZhdWx0Ontp
ZigodSYtNjQpPDwyND4+MjQhPS0xMjgpe3I9MjtzPTI0NjI7YnJlYWsgTDI3NzR9fX10PWRbbisy
fDBdfDA7aWYoKHQmMTkyfDApIT0xMjgpe3I9MjtzPTI0NDM7YnJlYWsgTDI3NzR9dj0odSYyNTUp
PDw2JjQwMzJ8cTw8MTJ8dCY2MztpZigodiY2NTUzNSk+Pj4wPms+Pj4wKXtyPTI7cz0yNDQyO2Jy
ZWFrIEwyNzc0fWJbZT4+MV09diY2NTUzNTtjW2c+PjJdPShjW2c+PjJdfDApKzM7YnJlYWt9aWYo
KHAmMjU1KT49MjQ1KXtyPTI7cz0yNDQ3O2JyZWFrIEwyNzc0fWlmKChoLW58MCk8NCl7cj0xO3M9
MjQ1ODticmVhayBMMjc3NH12PWFbbisxfDBdfDA7c3dpdGNoKHF8MCl7Y2FzZSAyNDA6e2lmKCh2
KzExMiYyNTUpPj00OCl7cj0yO3M9MjQ0ODticmVhayBMMjc3NH1icmVha307Y2FzZSAyNDQ6e2lm
KCh2Ji0xNik8PDI0Pj4yNCE9LTEyOCl7cj0yO3M9MjQ1OTticmVhayBMMjc3NH1icmVha307ZGVm
YXVsdDp7aWYoKHYmLTY0KTw8MjQ+PjI0IT0tMTI4KXtyPTI7cz0yNDYwO2JyZWFrIEwyNzc0fX19
dD1kW24rMnwwXXwwO2lmKCh0JjE5MnwwKSE9MTI4KXtyPTI7cz0yNDYxO2JyZWFrIEwyNzc0fXU9
ZFtuKzN8MF18MDtpZigodSYxOTJ8MCkhPTEyOCl7cj0yO3M9MjQ0OTticmVhayBMMjc3NH1pZigo
bC1lfDApPDQpe3I9MTtzPTI0NDU7YnJlYWsgTDI3NzR9dz1xJjc7eD12JjI1NTt2PXQ8PDY7eT11
JjYzO2lmKCh4PDwxMiYyNTgwNDh8dzw8MTh8diY0MDMyfHkpPj4+MD5rPj4+MCl7cj0yO3M9MjQ0
NjticmVhayBMMjc3NH1iW2U+PjFdPSh4PDwyJjYwfHQ+Pj40JjN8KCh4Pj4+NCYzfHc8PDIpPDw2
KSsxNjMyMHw1NTI5NikmNjU1MzU7dz0oY1tqPj4yXXwwKSsyfDA7Y1tqPj4yXT13O2Jbdz4+MV09
KHl8diY5NjB8NTYzMjApJjY1NTM1O2NbZz4+Ml09KGNbZz4+Ml18MCkrNH19d2hpbGUoMCk7cT0o
Y1tqPj4yXXwwKSsyfDA7Y1tqPj4yXT1xO3A9Y1tnPj4yXXwwO2lmKHA+Pj4wPGY+Pj4wKXtlPXE7
bj1wfWVsc2V7bz1wO2JyZWFrIEwyNzcyfX1pZigoc3wwKT09MjQ0Mil7cmV0dXJuIHJ8MH1lbHNl
IGlmKChzfDApPT0yNDQzKXtyZXR1cm4gcnwwfWVsc2UgaWYoKHN8MCk9PTI0NDQpe3JldHVybiBy
fDB9ZWxzZSBpZigoc3wwKT09MjQ0OCl7cmV0dXJuIHJ8MH1lbHNlIGlmKChzfDApPT0yNDQ5KXty
ZXR1cm4gcnwwfWVsc2UgaWYoKHN8MCk9PTI0NTApe3JldHVybiByfDB9ZWxzZSBpZigoc3wwKT09
MjQ0NSl7cmV0dXJuIHJ8MH1lbHNlIGlmKChzfDApPT0yNDQ2KXtyZXR1cm4gcnwwfWVsc2UgaWYo
KHN8MCk9PTI0NDcpe3JldHVybiByfDB9ZWxzZSBpZigoc3wwKT09MjQ1Nil7cmV0dXJuIHJ8MH1l
bHNlIGlmKChzfDApPT0yNDU3KXtyZXR1cm4gcnwwfWVsc2UgaWYoKHN8MCk9PTI0NTgpe3JldHVy
biByfDB9ZWxzZSBpZigoc3wwKT09MjQ1OSl7cmV0dXJuIHJ8MH1lbHNlIGlmKChzfDApPT0yNDYw
KXtyZXR1cm4gcnwwfWVsc2UgaWYoKHN8MCk9PTI0NjEpe3JldHVybiByfDB9ZWxzZSBpZigoc3ww
KT09MjQ2Mil7cmV0dXJuIHJ8MH1lbHNlIGlmKChzfDApPT0yNDUyKXtyZXR1cm4gcnwwfWVsc2Ug
aWYoKHN8MCk9PTI0NTMpe3JldHVybiByfDB9ZWxzZSBpZigoc3wwKT09MjQ1NCl7cmV0dXJuIHJ8
MH1lbHNlIGlmKChzfDApPT0yNDU1KXtyZXR1cm4gcnwwfX1lbHNle289bX19d2hpbGUoMCk7cj1v
Pj4+MDxmPj4+MHwwO3JldHVybiByfDB9ZnVuY3Rpb24gam4oYixjLGUsZixnKXtiPWJ8MDtjPWN8
MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxw
PTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTA7ZG97aWYoKGcmNHwwKT09MCl7aD1ifWVsc2V7aWYo
KGMtYnwwKTw9Mil7aD1iO2JyZWFrfWlmKChhW2JdfDApIT0tMTcpe2g9YjticmVha31pZigoYVti
KzF8MF18MCkhPS02OSl7aD1iO2JyZWFrfWg9KGFbYisyfDBdfDApPT0tNjU/YiszfDA6Yn19d2hp
bGUoMCk7TDI4NDE6ZG97aWYoaD4+PjA8Yz4+PjAmKGV8MCkhPTApe2c9YztpPTA7aj1oO0wyODQz
OndoaWxlKDEpe2s9YVtqXXwwO2w9ayYyNTU7aWYobD4+PjA+Zj4+PjApe209ajticmVhayBMMjg0
MX1kb3tpZihrPDwyND4+MjQ+LTEpe249aisxfDA7bz1pfWVsc2V7aWYoKGsmMjU1KTwxOTQpe209
ajticmVhayBMMjg0MX1pZigoayYyNTUpPDIyNCl7aWYoKGctanwwKTwyKXttPWo7YnJlYWsgTDI4
NDF9cD1kW2orMXwwXXwwO2lmKChwJjE5MnwwKSE9MTI4KXttPWo7YnJlYWsgTDI4NDF9aWYoKHAm
NjN8bDw8NiYxOTg0KT4+PjA+Zj4+PjApe209ajticmVhayBMMjg0MX1uPWorMnwwO289aTticmVh
a31pZigoayYyNTUpPDI0MCl7cT1qO2lmKChnLXF8MCk8Myl7bT1qO2JyZWFrIEwyODQxfXA9YVtq
KzF8MF18MDtzd2l0Y2gobHwwKXtjYXNlIDIyNDp7aWYoKHAmLTMyKTw8MjQ+PjI0IT0tOTYpe3I9
MjQ4MzticmVhayBMMjg0M31icmVha307Y2FzZSAyMzc6e2lmKChwJi0zMik8PDI0Pj4yNCE9LTEy
OCl7cj0yNDg1O2JyZWFrIEwyODQzfWJyZWFrfTtkZWZhdWx0OntpZigocCYtNjQpPDwyND4+MjQh
PS0xMjgpe3I9MjQ4NzticmVhayBMMjg0M319fXM9ZFtqKzJ8MF18MDtpZigocyYxOTJ8MCkhPTEy
OCl7bT1qO2JyZWFrIEwyODQxfWlmKCgocCYyNTUpPDw2JjQwMzJ8bDw8MTImNjE0NDB8cyY2Myk+
Pj4wPmY+Pj4wKXttPWo7YnJlYWsgTDI4NDF9bj1qKzN8MDtvPWk7YnJlYWt9aWYoKGsmMjU1KT49
MjQ1KXttPWo7YnJlYWsgTDI4NDF9dD1qO2lmKChnLXR8MCk8NCl7bT1qO2JyZWFrIEwyODQxfWlm
KChlLWl8MCk+Pj4wPDIpe209ajticmVhayBMMjg0MX1zPWFbaisxfDBdfDA7c3dpdGNoKGx8MCl7
Y2FzZSAyNDA6e2lmKChzKzExMiYyNTUpPj00OCl7cj0yNDk2O2JyZWFrIEwyODQzfWJyZWFrfTtj
YXNlIDI0NDp7aWYoKHMmLTE2KTw8MjQ+PjI0IT0tMTI4KXtyPTI0OTg7YnJlYWsgTDI4NDN9YnJl
YWt9O2RlZmF1bHQ6e2lmKChzJi02NCk8PDI0Pj4yNCE9LTEyOCl7cj0yNTAwO2JyZWFrIEwyODQz
fX19cD1kW2orMnwwXXwwO2lmKChwJjE5MnwwKSE9MTI4KXttPWo7YnJlYWsgTDI4NDF9dT1kW2or
M3wwXXwwO2lmKCh1JjE5MnwwKSE9MTI4KXttPWo7YnJlYWsgTDI4NDF9aWYoKChzJjI1NSk8PDEy
JjI1ODA0OHxsPDwxOCYxODM1MDA4fHA8PDYmNDAzMnx1JjYzKT4+PjA+Zj4+PjApe209ajticmVh
ayBMMjg0MX1uPWorNHwwO289aSsxfDB9fXdoaWxlKDApO2w9bysxfDA7aWYobj4+PjA8Yz4+PjAm
bD4+PjA8ZT4+PjApe2k9bDtqPW59ZWxzZXttPW47YnJlYWsgTDI4NDF9fWlmKChyfDApPT0yNTAw
KXt2PXQtYnwwO3JldHVybiB2fDB9ZWxzZSBpZigocnwwKT09MjQ5Nil7dj10LWJ8MDtyZXR1cm4g
dnwwfWVsc2UgaWYoKHJ8MCk9PTI0OTgpe3Y9dC1ifDA7cmV0dXJuIHZ8MH1lbHNlIGlmKChyfDAp
PT0yNDgzKXt2PXEtYnwwO3JldHVybiB2fDB9ZWxzZSBpZigocnwwKT09MjQ4NSl7dj1xLWJ8MDty
ZXR1cm4gdnwwfWVsc2UgaWYoKHJ8MCk9PTI0ODcpe3Y9cS1ifDA7cmV0dXJuIHZ8MH19ZWxzZXtt
PWh9fXdoaWxlKDApO3Y9bS1ifDA7cmV0dXJuIHZ8MH1mdW5jdGlvbiBqbyhhLGIsZCxlLGYsZyxo
LGope2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBr
PTAsbD0wO2I9aTtpPWkrMTZ8MDthPWJ8MDtrPWIrOHwwO2NbYT4+Ml09ZDtjW2s+PjJdPWc7bD1q
bShkLGUsYSxnLGgsaywxMTE0MTExLDApfDA7Y1tmPj4yXT1kKygoY1thPj4yXXwwKS1kKTtjW2o+
PjJdPWcrKChjW2s+PjJdfDApLWc+PjE8PDEpO2k9YjtyZXR1cm4gbHwwfWZ1bmN0aW9uIGpwKGEs
YixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7cmV0dXJuIGpuKGMsZCxlLDEx
MTQxMTEsMCl8MH1mdW5jdGlvbiBqcShhKXthPWF8MDtkZShhfDApO2tTKGEpO3JldHVybn1mdW5j
dGlvbiBqcihhLGIsZCxlLGYsZyxoLGope2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9
Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wO2I9aTtpPWkrMTZ8MDthPWJ8MDtrPWIrOHwwO2Nb
YT4+Ml09ZDtjW2s+PjJdPWc7bD1qdyhkLGUsYSxnLGgsaywxMTE0MTExLDApfDA7Y1tmPj4yXT1k
KygoY1thPj4yXXwwKS1kPj4yPDwyKTtjW2o+PjJdPWcrKChjW2s+PjJdfDApLWcpO2k9YjtyZXR1
cm4gbHwwfWZ1bmN0aW9uIGpzKGEsYixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1m
fDA7Y1tmPj4yXT1kO3JldHVybiAzfWZ1bmN0aW9uIGp0KGEpe2E9YXwwO3JldHVybiAwfWZ1bmN0
aW9uIGp1KGEpe2E9YXwwO3JldHVybiAwfWZ1bmN0aW9uIGp2KGEpe2E9YXwwO3JldHVybiA0fWZ1
bmN0aW9uIGp3KGIsZCxlLGYsZyxoLGksail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7
aD1ofDA7aT1pfDA7aj1qfDA7dmFyIGs9MCxsPTAsbT0wLG49MDtjW2U+PjJdPWI7Y1toPj4yXT1m
O2Rve2lmKChqJjJ8MCkhPTApe2lmKChnLWZ8MCk8Myl7az0xO3JldHVybiBrfDB9ZWxzZXtjW2g+
PjJdPWYrMTthW2ZdPS0xNztiPWNbaD4+Ml18MDtjW2g+PjJdPWIrMTthW2JdPS02OTtiPWNbaD4+
Ml18MDtjW2g+PjJdPWIrMTthW2JdPS02NTticmVha319fXdoaWxlKDApO2Y9Y1tlPj4yXXwwO2lm
KGY+Pj4wPj1kPj4+MCl7az0wO3JldHVybiBrfDB9aj1nO2c9ZjtMMjkxMjp3aGlsZSgxKXtmPWNb
Zz4+Ml18MDtpZigoZiYtMjA0OHwwKT09NTUyOTZ8Zj4+PjA+aT4+PjApe2s9MjtsPTI1NDg7YnJl
YWt9ZG97aWYoZj4+PjA8MTI4KXtiPWNbaD4+Ml18MDtpZigoai1ifDApPDEpe2s9MTtsPTI1NDQ7
YnJlYWsgTDI5MTJ9Y1toPj4yXT1iKzE7YVtiXT1mJjI1NX1lbHNle2lmKGY+Pj4wPDIwNDgpe2I9
Y1toPj4yXXwwO2lmKChqLWJ8MCk8Mil7az0xO2w9MjU0NzticmVhayBMMjkxMn1jW2g+PjJdPWIr
MTthW2JdPShmPj4+NnwxOTIpJjI1NTtiPWNbaD4+Ml18MDtjW2g+PjJdPWIrMTthW2JdPShmJjYz
fDEyOCkmMjU1O2JyZWFrfWI9Y1toPj4yXXwwO209ai1ifDA7aWYoZj4+PjA8NjU1MzYpe2lmKCht
fDApPDMpe2s9MTtsPTI1NDk7YnJlYWsgTDI5MTJ9Y1toPj4yXT1iKzE7YVtiXT0oZj4+PjEyfDIy
NCkmMjU1O249Y1toPj4yXXwwO2NbaD4+Ml09bisxO2Fbbl09KGY+Pj42JjYzfDEyOCkmMjU1O249
Y1toPj4yXXwwO2NbaD4+Ml09bisxO2Fbbl09KGYmNjN8MTI4KSYyNTU7YnJlYWt9ZWxzZXtpZigo
bXwwKTw0KXtrPTE7bD0yNTQyO2JyZWFrIEwyOTEyfWNbaD4+Ml09YisxO2FbYl09KGY+Pj4xOHwy
NDApJjI1NTtiPWNbaD4+Ml18MDtjW2g+PjJdPWIrMTthW2JdPShmPj4+MTImNjN8MTI4KSYyNTU7
Yj1jW2g+PjJdfDA7Y1toPj4yXT1iKzE7YVtiXT0oZj4+PjYmNjN8MTI4KSYyNTU7Yj1jW2g+PjJd
fDA7Y1toPj4yXT1iKzE7YVtiXT0oZiY2M3wxMjgpJjI1NTticmVha319fXdoaWxlKDApO2Y9KGNb
ZT4+Ml18MCkrNHwwO2NbZT4+Ml09ZjtpZihmPj4+MDxkPj4+MCl7Zz1mfWVsc2V7az0wO2w9MjU0
MzticmVha319aWYoKGx8MCk9PTI1NDMpe3JldHVybiBrfDB9ZWxzZSBpZigobHwwKT09MjU0Mil7
cmV0dXJuIGt8MH1lbHNlIGlmKChsfDApPT0yNTQ0KXtyZXR1cm4ga3wwfWVsc2UgaWYoKGx8MCk9
PTI1NDgpe3JldHVybiBrfDB9ZWxzZSBpZigobHwwKT09MjU0OSl7cmV0dXJuIGt8MH1lbHNlIGlm
KChsfDApPT0yNTQ3KXtyZXR1cm4ga3wwfXJldHVybiAwfWZ1bmN0aW9uIGp4KGIsZSxmLGcsaCxp
LGosayl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7aj1qfDA7az1rfDA7dmFy
IGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MDtjW2Y+PjJdPWI7Y1tpPj4y
XT1nO2c9Y1tmPj4yXXwwO2Rve2lmKChrJjR8MCk9PTApe2w9Z31lbHNle2lmKChlLWd8MCk8PTIp
e2w9ZzticmVha31pZigoYVtnXXwwKSE9LTE3KXtsPWc7YnJlYWt9aWYoKGFbZysxfDBdfDApIT0t
Njkpe2w9ZzticmVha31pZigoYVtnKzJ8MF18MCkhPS02NSl7bD1nO2JyZWFrfWI9ZyszfDA7Y1tm
Pj4yXT1iO2w9Yn19d2hpbGUoMCk7TDI5NDQ6ZG97aWYobD4+PjA8ZT4+PjApe2c9ZTtrPWNbaT4+
Ml18MDtiPWw7TDI5NDY6d2hpbGUoMSl7aWYoaz4+PjA+PWg+Pj4wKXttPWI7YnJlYWsgTDI5NDR9
bj1hW2JdfDA7bz1uJjI1NTtkb3tpZihuPDwyND4+MjQ+LTEpe2lmKG8+Pj4wPmo+Pj4wKXtwPTI7
cT0yNjA5O2JyZWFrIEwyOTQ2fWNbaz4+Ml09bztjW2Y+PjJdPShjW2Y+PjJdfDApKzF9ZWxzZXtp
ZigobiYyNTUpPDE5NCl7cD0yO3E9MjYwMjticmVhayBMMjk0Nn1pZigobiYyNTUpPDIyNCl7aWYo
KGctYnwwKTwyKXtwPTE7cT0yNjA1O2JyZWFrIEwyOTQ2fXI9ZFtiKzF8MF18MDtpZigociYxOTJ8
MCkhPTEyOCl7cD0yO3E9MjU5ODticmVhayBMMjk0Nn1zPXImNjN8bzw8NiYxOTg0O2lmKHM+Pj4w
Pmo+Pj4wKXtwPTI7cT0yNjA0O2JyZWFrIEwyOTQ2fWNbaz4+Ml09cztjW2Y+PjJdPShjW2Y+PjJd
fDApKzI7YnJlYWt9aWYoKG4mMjU1KTwyNDApe2lmKChnLWJ8MCk8Myl7cD0xO3E9MjYwNjticmVh
ayBMMjk0Nn1zPWFbYisxfDBdfDA7c3dpdGNoKG98MCl7Y2FzZSAyMjQ6e2lmKChzJi0zMik8PDI0
Pj4yNCE9LTk2KXtwPTI7cT0yNTkxO2JyZWFrIEwyOTQ2fWJyZWFrfTtjYXNlIDIzNzp7aWYoKHMm
LTMyKTw8MjQ+PjI0IT0tMTI4KXtwPTI7cT0yNTkzO2JyZWFrIEwyOTQ2fWJyZWFrfTtkZWZhdWx0
OntpZigocyYtNjQpPDwyND4+MjQhPS0xMjgpe3A9MjtxPTI2MDM7YnJlYWsgTDI5NDZ9fX1yPWRb
YisyfDBdfDA7aWYoKHImMTkyfDApIT0xMjgpe3A9MjtxPTI1OTQ7YnJlYWsgTDI5NDZ9dD0ocyYy
NTUpPDw2JjQwMzJ8bzw8MTImNjE0NDB8ciY2MztpZih0Pj4+MD5qPj4+MCl7cD0yO3E9MjU5Mjti
cmVhayBMMjk0Nn1jW2s+PjJdPXQ7Y1tmPj4yXT0oY1tmPj4yXXwwKSszO2JyZWFrfWlmKChuJjI1
NSk+PTI0NSl7cD0yO3E9MjYwNzticmVhayBMMjk0Nn1pZigoZy1ifDApPDQpe3A9MTtxPTI2MDg7
YnJlYWsgTDI5NDZ9dD1hW2IrMXwwXXwwO3N3aXRjaChvfDApe2Nhc2UgMjQwOntpZigodCsxMTIm
MjU1KT49NDgpe3A9MjtxPTI1OTA7YnJlYWsgTDI5NDZ9YnJlYWt9O2Nhc2UgMjQ0OntpZigodCYt
MTYpPDwyND4+MjQhPS0xMjgpe3A9MjtxPTI1OTY7YnJlYWsgTDI5NDZ9YnJlYWt9O2RlZmF1bHQ6
e2lmKCh0Ji02NCk8PDI0Pj4yNCE9LTEyOCl7cD0yO3E9MjU5NzticmVhayBMMjk0Nn19fXI9ZFti
KzJ8MF18MDtpZigociYxOTJ8MCkhPTEyOCl7cD0yO3E9MjU5OTticmVhayBMMjk0Nn1zPWRbYisz
fDBdfDA7aWYoKHMmMTkyfDApIT0xMjgpe3A9MjtxPTI2MDE7YnJlYWsgTDI5NDZ9dT0odCYyNTUp
PDwxMiYyNTgwNDh8bzw8MTgmMTgzNTAwOHxyPDw2JjQwMzJ8cyY2MztpZih1Pj4+MD5qPj4+MCl7
cD0yO3E9MjYwMDticmVhayBMMjk0Nn1jW2s+PjJdPXU7Y1tmPj4yXT0oY1tmPj4yXXwwKSs0fX13
aGlsZSgwKTtvPShjW2k+PjJdfDApKzR8MDtjW2k+PjJdPW87bj1jW2Y+PjJdfDA7aWYobj4+PjA8
ZT4+PjApe2s9bztiPW59ZWxzZXttPW47YnJlYWsgTDI5NDR9fWlmKChxfDApPT0yNTk3KXtyZXR1
cm4gcHwwfWVsc2UgaWYoKHF8MCk9PTI1OTgpe3JldHVybiBwfDB9ZWxzZSBpZigocXwwKT09MjU5
OSl7cmV0dXJuIHB8MH1lbHNlIGlmKChxfDApPT0yNjAwKXtyZXR1cm4gcHwwfWVsc2UgaWYoKHF8
MCk9PTI1OTMpe3JldHVybiBwfDB9ZWxzZSBpZigocXwwKT09MjU5NCl7cmV0dXJuIHB8MH1lbHNl
IGlmKChxfDApPT0yNTk2KXtyZXR1cm4gcHwwfWVsc2UgaWYoKHF8MCk9PTI2MDUpe3JldHVybiBw
fDB9ZWxzZSBpZigocXwwKT09MjYwNil7cmV0dXJuIHB8MH1lbHNlIGlmKChxfDApPT0yNjA3KXty
ZXR1cm4gcHwwfWVsc2UgaWYoKHF8MCk9PTI2MDgpe3JldHVybiBwfDB9ZWxzZSBpZigocXwwKT09
MjYwOSl7cmV0dXJuIHB8MH1lbHNlIGlmKChxfDApPT0yNTkwKXtyZXR1cm4gcHwwfWVsc2UgaWYo
KHF8MCk9PTI1OTEpe3JldHVybiBwfDB9ZWxzZSBpZigocXwwKT09MjU5Mil7cmV0dXJuIHB8MH1l
bHNlIGlmKChxfDApPT0yNjAxKXtyZXR1cm4gcHwwfWVsc2UgaWYoKHF8MCk9PTI2MDIpe3JldHVy
biBwfDB9ZWxzZSBpZigocXwwKT09MjYwMyl7cmV0dXJuIHB8MH1lbHNlIGlmKChxfDApPT0yNjA0
KXtyZXR1cm4gcHwwfX1lbHNle209bH19d2hpbGUoMCk7cD1tPj4+MDxlPj4+MHwwO3JldHVybiBw
fDB9ZnVuY3Rpb24gankoYixjLGUsZixnKXtiPWJ8MDtjPWN8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2
YXIgaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9
MDtkb3tpZigoZyY0fDApPT0wKXtoPWJ9ZWxzZXtpZigoYy1ifDApPD0yKXtoPWI7YnJlYWt9aWYo
KGFbYl18MCkhPS0xNyl7aD1iO2JyZWFrfWlmKChhW2IrMXwwXXwwKSE9LTY5KXtoPWI7YnJlYWt9
aD0oYVtiKzJ8MF18MCk9PS02NT9iKzN8MDpifX13aGlsZSgwKTtMMzAxMTpkb3tpZihoPj4+MDxj
Pj4+MCYoZXwwKSE9MCl7Zz1jO2k9MTtqPWg7TDMwMTM6d2hpbGUoMSl7az1hW2pdfDA7bD1rJjI1
NTtkb3tpZihrPDwyND4+MjQ+LTEpe2lmKGw+Pj4wPmY+Pj4wKXttPWo7YnJlYWsgTDMwMTF9bj1q
KzF8MH1lbHNle2lmKChrJjI1NSk8MTk0KXttPWo7YnJlYWsgTDMwMTF9aWYoKGsmMjU1KTwyMjQp
e2lmKChnLWp8MCk8Mil7bT1qO2JyZWFrIEwzMDExfW89ZFtqKzF8MF18MDtpZigobyYxOTJ8MCkh
PTEyOCl7bT1qO2JyZWFrIEwzMDExfWlmKChvJjYzfGw8PDYmMTk4NCk+Pj4wPmY+Pj4wKXttPWo7
YnJlYWsgTDMwMTF9bj1qKzJ8MDticmVha31pZigoayYyNTUpPDI0MCl7cD1qO2lmKChnLXB8MCk8
Myl7bT1qO2JyZWFrIEwzMDExfW89YVtqKzF8MF18MDtzd2l0Y2gobHwwKXtjYXNlIDIyNDp7aWYo
KG8mLTMyKTw8MjQ+PjI0IT0tOTYpe3E9MjYzMDticmVhayBMMzAxM31icmVha307Y2FzZSAyMzc6
e2lmKChvJi0zMik8PDI0Pj4yNCE9LTEyOCl7cT0yNjMyO2JyZWFrIEwzMDEzfWJyZWFrfTtkZWZh
dWx0OntpZigobyYtNjQpPDwyND4+MjQhPS0xMjgpe3E9MjYzNDticmVhayBMMzAxM319fXI9ZFtq
KzJ8MF18MDtpZigociYxOTJ8MCkhPTEyOCl7bT1qO2JyZWFrIEwzMDExfWlmKCgobyYyNTUpPDw2
JjQwMzJ8bDw8MTImNjE0NDB8ciY2Myk+Pj4wPmY+Pj4wKXttPWo7YnJlYWsgTDMwMTF9bj1qKzN8
MDticmVha31pZigoayYyNTUpPj0yNDUpe209ajticmVhayBMMzAxMX1zPWo7aWYoKGctc3wwKTw0
KXttPWo7YnJlYWsgTDMwMTF9cj1hW2orMXwwXXwwO3N3aXRjaChsfDApe2Nhc2UgMjQwOntpZigo
cisxMTImMjU1KT49NDgpe3E9MjY0MjticmVhayBMMzAxM31icmVha307Y2FzZSAyNDQ6e2lmKChy
Ji0xNik8PDI0Pj4yNCE9LTEyOCl7cT0yNjQ0O2JyZWFrIEwzMDEzfWJyZWFrfTtkZWZhdWx0Ontp
ZigociYtNjQpPDwyND4+MjQhPS0xMjgpe3E9MjY0NjticmVhayBMMzAxM319fW89ZFtqKzJ8MF18
MDtpZigobyYxOTJ8MCkhPTEyOCl7bT1qO2JyZWFrIEwzMDExfXQ9ZFtqKzN8MF18MDtpZigodCYx
OTJ8MCkhPTEyOCl7bT1qO2JyZWFrIEwzMDExfWlmKCgociYyNTUpPDwxMiYyNTgwNDh8bDw8MTgm
MTgzNTAwOHxvPDw2JjQwMzJ8dCY2Myk+Pj4wPmY+Pj4wKXttPWo7YnJlYWsgTDMwMTF9bj1qKzR8
MH19d2hpbGUoMCk7aWYoIShuPj4+MDxjPj4+MCZpPj4+MDxlPj4+MCkpe209bjticmVhayBMMzAx
MX1pPWkrMXwwO2o9bn1pZigocXwwKT09MjY0NCl7dT1zLWJ8MDtyZXR1cm4gdXwwfWVsc2UgaWYo
KHF8MCk9PTI2NDIpe3U9cy1ifDA7cmV0dXJuIHV8MH1lbHNlIGlmKChxfDApPT0yNjMwKXt1PXAt
YnwwO3JldHVybiB1fDB9ZWxzZSBpZigocXwwKT09MjYzMil7dT1wLWJ8MDtyZXR1cm4gdXwwfWVs
c2UgaWYoKHF8MCk9PTI2MzQpe3U9cC1ifDA7cmV0dXJuIHV8MH1lbHNlIGlmKChxfDApPT0yNjQ2
KXt1PXMtYnwwO3JldHVybiB1fDB9fWVsc2V7bT1ofX13aGlsZSgwKTt1PW0tYnwwO3JldHVybiB1
fDB9ZnVuY3Rpb24ganooYil7Yj1ifDA7cmV0dXJuIGFbYis4fDBdfDB9ZnVuY3Rpb24gakEoYSl7
YT1hfDA7cmV0dXJuIGNbYSs4Pj4yXXwwfWZ1bmN0aW9uIGpCKGIpe2I9YnwwO3JldHVybiBhW2Ir
OXwwXXwwfWZ1bmN0aW9uIGpDKGEpe2E9YXwwO3JldHVybiBjW2ErMTI+PjJdfDB9ZnVuY3Rpb24g
akQoYSxiLGQsZSxmLGcsaCxqKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDto
PWh8MDtqPWp8MDt2YXIgaz0wLGw9MDtiPWk7aT1pKzE2fDA7YT1ifDA7az1iKzh8MDtjW2E+PjJd
PWQ7Y1trPj4yXT1nO2w9angoZCxlLGEsZyxoLGssMTExNDExMSwwKXwwO2NbZj4+Ml09ZCsoKGNb
YT4+Ml18MCktZCk7Y1tqPj4yXT1nKygoY1trPj4yXXwwKS1nPj4yPDwyKTtpPWI7cmV0dXJuIGx8
MH1mdW5jdGlvbiBqRShhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3Jl
dHVybiBqeShjLGQsZSwxMTE0MTExLDApfDB9ZnVuY3Rpb24gakYoYSl7YT1hfDA7ZGUoYXwwKTtr
UyhhKTtyZXR1cm59ZnVuY3Rpb24gakcoYSl7YT1hfDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59ZnVu
Y3Rpb24gakgoYSl7YT1hfDA7Y1thPj4yXT0zMDMyO2RQKGErMTJ8MCk7ZGUoYXwwKTtrUyhhKTty
ZXR1cm59ZnVuY3Rpb24gakkoYSl7YT1hfDA7Y1thPj4yXT0zMDMyO2RQKGErMTJ8MCk7ZGUoYXww
KTtyZXR1cm59ZnVuY3Rpb24gakooYSl7YT1hfDA7Y1thPj4yXT0yOTg0O2RQKGErMTZ8MCk7ZGUo
YXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gaksoYSl7YT1hfDA7Y1thPj4yXT0yOTg0O2RQKGEr
MTZ8MCk7ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24gakwoYSxiKXthPWF8MDtiPWJ8MDtkWShhLGIr
MTJ8MCk7cmV0dXJufWZ1bmN0aW9uIGpNKGEsYil7YT1hfDA7Yj1ifDA7ZFkoYSxiKzE2fDApO3Jl
dHVybn1mdW5jdGlvbiBqTihhLGIpe2E9YXwwO2I9YnwwO2RaKGEsMTI4OCw0KTtyZXR1cm59ZnVu
Y3Rpb24gak8oYSxiKXthPWF8MDtiPWJ8MDtleChhLDEyNjQsa20oMTI2NCl8MCk7cmV0dXJufWZ1
bmN0aW9uIGpQKGEsYil7YT1hfDA7Yj1ifDA7ZFooYSwxMjU2LDUpO3JldHVybn1mdW5jdGlvbiBq
UShhLGIpe2E9YXwwO2I9YnwwO2V4KGEsMTIzMixrbSgxMjMyKXwwKTtyZXR1cm59ZnVuY3Rpb24g
alIoYil7Yj1ifDA7dmFyIGQ9MDtpZigoYVsxNjM1Ml18MCkhPTApe2Q9Y1szNzAyXXwwO3JldHVy
biBkfDB9aWYoKGJjKDE2MzUyKXwwKT09MCl7ZD1jWzM3MDJdfDA7cmV0dXJuIGR8MH1kb3tpZigo
YVsxNjIzMl18MCk9PTApe2lmKChiYygxNjIzMil8MCk9PTApe2JyZWFrfWskKDExMzQ0LDAsMTY4
KTthJCgyNjYsMCx1fDApfDB9fXdoaWxlKDApO2RRKDExMzQ0LDE1MzYpfDA7ZFEoMTEzNTYsMTUy
OCl8MDtkUSgxMTM2OCwxNTIwKXwwO2RRKDExMzgwLDE1MDQpfDA7ZFEoMTEzOTIsMTQ4OCl8MDtk
USgxMTQwNCwxNDgwKXwwO2RRKDExNDE2LDE0NjQpfDA7ZFEoMTE0MjgsMTQ1Nil8MDtkUSgxMTQ0
MCwxNDQ4KXwwO2RRKDExNDUyLDE0NDApfDA7ZFEoMTE0NjQsMTQzMil8MDtkUSgxMTQ3NiwxNDAw
KXwwO2RRKDExNDg4LDEzOTIpfDA7ZFEoMTE1MDAsMTM4NCl8MDtjWzM3MDJdPTExMzQ0O2Q9Y1sz
NzAyXXwwO3JldHVybiBkfDB9ZnVuY3Rpb24galMoYil7Yj1ifDA7dmFyIGQ9MDtpZigoYVsxNjI5
Nl18MCkhPTApe2Q9Y1szNjgwXXwwO3JldHVybiBkfDB9aWYoKGJjKDE2Mjk2KXwwKT09MCl7ZD1j
WzM2ODBdfDA7cmV0dXJuIGR8MH1kb3tpZigoYVsxNjIwOF18MCk9PTApe2lmKChiYygxNjIwOCl8
MCk9PTApe2JyZWFrfWskKDEwNjAwLDAsMTY4KTthJCgxNDgsMCx1fDApfDB9fXdoaWxlKDApO2Vm
KDEwNjAwLDE5MTIpfDA7ZWYoMTA2MTIsMTg4MCl8MDtlZigxMDYyNCwxODQ4KXwwO2VmKDEwNjM2
LDE4MDgpfDA7ZWYoMTA2NDgsMTc2OCl8MDtlZigxMDY2MCwxNzM2KXwwO2VmKDEwNjcyLDE2OTYp
fDA7ZWYoMTA2ODQsMTY4MCl8MDtlZigxMDY5NiwxNjI0KXwwO2VmKDEwNzA4LDE2MDgpfDA7ZWYo
MTA3MjAsMTU5Mil8MDtlZigxMDczMiwxNTc2KXwwO2VmKDEwNzQ0LDE1NjApfDA7ZWYoMTA3NTYs
MTU0NCl8MDtjWzM2ODBdPTEwNjAwO2Q9Y1szNjgwXXwwO3JldHVybiBkfDB9ZnVuY3Rpb24galQo
Yil7Yj1ifDA7dmFyIGQ9MDtpZigoYVsxNjM0NF18MCkhPTApe2Q9Y1szNzAwXXwwO3JldHVybiBk
fDB9aWYoKGJjKDE2MzQ0KXwwKT09MCl7ZD1jWzM3MDBdfDA7cmV0dXJuIGR8MH1kb3tpZigoYVsx
NjIyNF18MCk9PTApe2lmKChiYygxNjIyNCl8MCk9PTApe2JyZWFrfWskKDExMDU2LDAsMjg4KTth
JCgxNzAsMCx1fDApfDB9fXdoaWxlKDApO2RRKDExMDU2LDI4OCl8MDtkUSgxMTA2OCwyNzIpfDA7
ZFEoMTEwODAsMjY0KXwwO2RRKDExMDkyLDI1Nil8MDtkUSgxMTEwNCwyNDgpfDA7ZFEoMTExMTYs
MjQwKXwwO2RRKDExMTI4LDIzMil8MDtkUSgxMTE0MCwyMjQpfDA7ZFEoMTExNTIsMTY4KXwwO2RR
KDExMTY0LDE2MCl8MDtkUSgxMTE3NiwxNDQpfDA7ZFEoMTExODgsMTI4KXwwO2RRKDExMjAwLDEy
MCl8MDtkUSgxMTIxMiwxMTIpfDA7ZFEoMTEyMjQsMTA0KXwwO2RRKDExMjM2LDk2KXwwO2RRKDEx
MjQ4LDI0OCl8MDtkUSgxMTI2MCw4OCl8MDtkUSgxMTI3Miw4MCl8MDtkUSgxMTI4NCwxOTc2KXww
O2RRKDExMjk2LDE5NjgpfDA7ZFEoMTEzMDgsMTk2MCl8MDtkUSgxMTMyMCwxOTUyKXwwO2RRKDEx
MzMyLDE5NDQpfDA7Y1szNzAwXT0xMTA1NjtkPWNbMzcwMF18MDtyZXR1cm4gZHwwfWZ1bmN0aW9u
IGpVKGIpe2I9YnwwO3ZhciBkPTA7aWYoKGFbMTYyODhdfDApIT0wKXtkPWNbMzY3OF18MDtyZXR1
cm4gZHwwfWlmKChiYygxNjI4OCl8MCk9PTApe2Q9Y1szNjc4XXwwO3JldHVybiBkfDB9ZG97aWYo
KGFbMTYyMDBdfDApPT0wKXtpZigoYmMoMTYyMDApfDApPT0wKXticmVha31rJCgxMDMxMiwwLDI4
OCk7YSQoMTIyLDAsdXwwKXwwfX13aGlsZSgwKTtlZigxMDMxMiw4MjQpfDA7ZWYoMTAzMjQsNzg0
KXwwO2VmKDEwMzM2LDc2MCl8MDtlZigxMDM0OCw3MzYpfDA7ZWYoMTAzNjAsNDI0KXwwO2VmKDEw
MzcyLDcxMil8MDtlZigxMDM4NCw2ODgpfDA7ZWYoMTAzOTYsNjU2KXwwO2VmKDEwNDA4LDYxNil8
MDtlZigxMDQyMCw1ODQpfDA7ZWYoMTA0MzIsNTQ0KXwwO2VmKDEwNDQ0LDUwNCl8MDtlZigxMDQ1
Niw0ODgpfDA7ZWYoMTA0NjgsNDcyKXwwO2VmKDEwNDgwLDQ1Nil8MDtlZigxMDQ5Miw0NDApfDA7
ZWYoMTA1MDQsNDI0KXwwO2VmKDEwNTE2LDQwOCl8MDtlZigxMDUyOCwzOTIpfDA7ZWYoMTA1NDAs
Mzc2KXwwO2VmKDEwNTUyLDM0NCl8MDtlZigxMDU2NCwzMjgpfDA7ZWYoMTA1NzYsMzEyKXwwO2Vm
KDEwNTg4LDI5Nil8MDtjWzM2NzhdPTEwMzEyO2Q9Y1szNjc4XXwwO3JldHVybiBkfDB9ZnVuY3Rp
b24galYoYil7Yj1ifDA7dmFyIGQ9MDtpZigoYVsxNjM2MF18MCkhPTApe2Q9Y1szNzA0XXwwO3Jl
dHVybiBkfDB9aWYoKGJjKDE2MzYwKXwwKT09MCl7ZD1jWzM3MDRdfDA7cmV0dXJuIGR8MH1kb3tp
ZigoYVsxNjI0MF18MCk9PTApe2lmKChiYygxNjI0MCl8MCk9PTApe2JyZWFrfWskKDExNTEyLDAs
Mjg4KTthJCgxMjAsMCx1fDApfDB9fXdoaWxlKDApO2RRKDExNTEyLDg2NCl8MDtkUSgxMTUyNCw4
NTYpfDA7Y1szNzA0XT0xMTUxMjtkPWNbMzcwNF18MDtyZXR1cm4gZHwwfWZ1bmN0aW9uIGpXKGIp
e2I9YnwwO3ZhciBkPTA7aWYoKGFbMTYzMDRdfDApIT0wKXtkPWNbMzY4Ml18MDtyZXR1cm4gZHww
fWlmKChiYygxNjMwNCl8MCk9PTApe2Q9Y1szNjgyXXwwO3JldHVybiBkfDB9ZG97aWYoKGFbMTYy
MTZdfDApPT0wKXtpZigoYmMoMTYyMTYpfDApPT0wKXticmVha31rJCgxMDc2OCwwLDI4OCk7YSQo
MjQwLDAsdXwwKXwwfX13aGlsZSgwKTtlZigxMDc2OCw4ODgpfDA7ZWYoMTA3ODAsODcyKXwwO2Nb
MzY4Ml09MTA3Njg7ZD1jWzM2ODJdfDA7cmV0dXJuIGR8MH1mdW5jdGlvbiBqWChiKXtiPWJ8MDtp
ZigoYVsxNjM2OF18MCkhPTApe3JldHVybiAxNDgyNH1pZigoYmMoMTYzNjgpfDApPT0wKXtyZXR1
cm4gMTQ4MjR9ZFooMTQ4MjQsMTIxNiw4KTthJCgyNTgsMTQ4MjQsdXwwKXwwO3JldHVybiAxNDgy
NH1mdW5jdGlvbiBqWShiKXtiPWJ8MDtpZigoYVsxNjMxMl18MCkhPTApe3JldHVybiAxNDczNn1p
ZigoYmMoMTYzMTIpfDApPT0wKXtyZXR1cm4gMTQ3MzZ9ZXgoMTQ3MzYsMTE3NixrbSgxMTc2KXww
KTthJCgxOTIsMTQ3MzYsdXwwKXwwO3JldHVybiAxNDczNn1mdW5jdGlvbiBqWihiKXtiPWJ8MDtp
ZigoYVsxNjM5Ml18MCkhPTApe3JldHVybiAxNDg3Mn1pZigoYmMoMTYzOTIpfDApPT0wKXtyZXR1
cm4gMTQ4NzJ9ZFooMTQ4NzIsMTE0NCw4KTthJCgyNTgsMTQ4NzIsdXwwKXwwO3JldHVybiAxNDg3
Mn1mdW5jdGlvbiBqXyhiKXtiPWJ8MDtpZigoYVsxNjMzNl18MCkhPTApe3JldHVybiAxNDc4NH1p
ZigoYmMoMTYzMzYpfDApPT0wKXtyZXR1cm4gMTQ3ODR9ZXgoMTQ3ODQsMTEwNCxrbSgxMTA0KXww
KTthJCgxOTIsMTQ3ODQsdXwwKXwwO3JldHVybiAxNDc4NH1mdW5jdGlvbiBqJChiKXtiPWJ8MDtp
ZigoYVsxNjM4NF18MCkhPTApe3JldHVybiAxNDg1Nn1pZigoYmMoMTYzODQpfDApPT0wKXtyZXR1
cm4gMTQ4NTZ9ZFooMTQ4NTYsMTA4MCwyMCk7YSQoMjU4LDE0ODU2LHV8MCl8MDtyZXR1cm4gMTQ4
NTZ9ZnVuY3Rpb24gajAoYil7Yj1ifDA7aWYoKGFbMTYzMjhdfDApIT0wKXtyZXR1cm4gMTQ3Njh9
aWYoKGJjKDE2MzI4KXwwKT09MCl7cmV0dXJuIDE0NzY4fWV4KDE0NzY4LDk5MixrbSg5OTIpfDAp
O2EkKDE5MiwxNDc2OCx1fDApfDA7cmV0dXJuIDE0NzY4fWZ1bmN0aW9uIGoxKGIpe2I9YnwwO2lm
KChhWzE2Mzc2XXwwKSE9MCl7cmV0dXJuIDE0ODQwfWlmKChiYygxNjM3Nil8MCk9PTApe3JldHVy
biAxNDg0MH1kWigxNDg0MCw5NzYsMTEpO2EkKDI1OCwxNDg0MCx1fDApfDA7cmV0dXJuIDE0ODQw
fWZ1bmN0aW9uIGoyKGIpe2I9YnwwO2lmKChhWzE2MzIwXXwwKSE9MCl7cmV0dXJuIDE0NzUyfWlm
KChiYygxNjMyMCl8MCk9PTApe3JldHVybiAxNDc1Mn1leCgxNDc1Miw5Mjgsa20oOTI4KXwwKTth
JCgxOTIsMTQ3NTIsdXwwKXwwO3JldHVybiAxNDc1Mn1mdW5jdGlvbiBqMyhhKXthPWF8MDt2YXIg
Yj0wLGQ9MCxlPTAsZj0wO2I9YSs0fDA7ZD0oY1thPj4yXXwwKSsoY1tiKzQ+PjJdfDApfDA7YT1k
O2U9Y1tiPj4yXXwwO2lmKChlJjF8MCk9PTApe2Y9ZTtiWVtmJjUxMV0oYSk7cmV0dXJufWVsc2V7
Zj1jWyhjW2Q+PjJdfDApKyhlLTEpPj4yXXwwO2JZW2YmNTExXShhKTtyZXR1cm59fWZ1bmN0aW9u
IGo0KGEpe2E9YXwwO2VlKDExMDQ0KTtlZSgxMTAzMik7ZWUoMTEwMjApO2VlKDExMDA4KTtlZSgx
MDk5Nik7ZWUoMTA5ODQpO2VlKDEwOTcyKTtlZSgxMDk2MCk7ZWUoMTA5NDgpO2VlKDEwOTM2KTtl
ZSgxMDkyNCk7ZWUoMTA5MTIpO2VlKDEwOTAwKTtlZSgxMDg4OCk7ZWUoMTA4NzYpO2VlKDEwODY0
KTtlZSgxMDg1Mik7ZWUoMTA4NDApO2VlKDEwODI4KTtlZSgxMDgxNik7ZWUoMTA4MDQpO2VlKDEw
NzkyKTtlZSgxMDc4MCk7ZWUoMTA3NjgpO3JldHVybn1mdW5jdGlvbiBqNShiLGQpe2I9YnwwO2Q9
ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxx
PTAscj0wO2U9Yis4fDA7Zj1iKzR8MDtnPWNbZj4+Ml18MDtoPWNbZT4+Ml18MDtpPWc7aWYoaC1p
Pj4yPj4+MD49ZD4+PjApe2o9ZDtrPWc7ZG97aWYoKGt8MCk9PTApe2w9MH1lbHNle2Nbaz4+Ml09
MDtsPWNbZj4+Ml18MH1rPWwrNHwwO2NbZj4+Ml09aztqPWotMXwwO313aGlsZSgoanwwKSE9MCk7
cmV0dXJufWo9YisxNnwwO2s9YnwwO2w9Y1trPj4yXXwwO2c9aS1sPj4yO2k9ZytkfDA7aWYoaT4+
PjA+MTA3Mzc0MTgyMyl7aXIoMCl9bT1oLWx8MDtkb3tpZihtPj4yPj4+MD41MzY4NzA5MTApe249
MTA3Mzc0MTgyMztvPTI5MTl9ZWxzZXtsPW0+PjE7aD1sPj4+MDxpPj4+MD9pOmw7aWYoKGh8MCk9
PTApe3A9MDtxPTA7YnJlYWt9bD1iKzEyOHwwO2lmKCEoKGFbbF0mMSk9PTAmaD4+PjA8MjkpKXtu
PWg7bz0yOTE5O2JyZWFrfWFbbF09MTtwPWo7cT1ofX13aGlsZSgwKTtpZigob3wwKT09MjkxOSl7
cD1rTyhuPDwyKXwwO3E9bn1uPWQ7ZD1wKyhnPDwyKXwwO2Rve2lmKChkfDApPT0wKXtyPTB9ZWxz
ZXtjW2Q+PjJdPTA7cj1kfWQ9cis0fDA7bj1uLTF8MDt9d2hpbGUoKG58MCkhPTApO249cCsocTw8
Mil8MDtxPWNbaz4+Ml18MDtyPShjW2Y+PjJdfDApLXF8MDtvPXArKGctKHI+PjIpPDwyKXwwO2c9
bztwPXE7a1koZ3wwLHB8MCxyKXwwO2Nbaz4+Ml09bztjW2Y+PjJdPWQ7Y1tlPj4yXT1uO2lmKChx
fDApPT0wKXtyZXR1cm59aWYoKHF8MCk9PShqfDApKXthW2IrMTI4fDBdPTA7cmV0dXJufWVsc2V7
a1MocCk7cmV0dXJufX1mdW5jdGlvbiBqNihhKXthPWF8MDtkUCgxMTc4OCk7ZFAoMTE3NzYpO2RQ
KDExNzY0KTtkUCgxMTc1Mik7ZFAoMTE3NDApO2RQKDExNzI4KTtkUCgxMTcxNik7ZFAoMTE3MDQp
O2RQKDExNjkyKTtkUCgxMTY4MCk7ZFAoMTE2NjgpO2RQKDExNjU2KTtkUCgxMTY0NCk7ZFAoMTE2
MzIpO2RQKDExNjIwKTtkUCgxMTYwOCk7ZFAoMTE1OTYpO2RQKDExNTg0KTtkUCgxMTU3Mik7ZFAo
MTE1NjApO2RQKDExNTQ4KTtkUCgxMTUzNik7ZFAoMTE1MjQpO2RQKDExNTEyKTtyZXR1cm59ZnVu
Y3Rpb24gajcoYSl7YT1hfDA7ZWUoMTA1ODgpO2VlKDEwNTc2KTtlZSgxMDU2NCk7ZWUoMTA1NTIp
O2VlKDEwNTQwKTtlZSgxMDUyOCk7ZWUoMTA1MTYpO2VlKDEwNTA0KTtlZSgxMDQ5Mik7ZWUoMTA0
ODApO2VlKDEwNDY4KTtlZSgxMDQ1Nik7ZWUoMTA0NDQpO2VlKDEwNDMyKTtlZSgxMDQyMCk7ZWUo
MTA0MDgpO2VlKDEwMzk2KTtlZSgxMDM4NCk7ZWUoMTAzNzIpO2VlKDEwMzYwKTtlZSgxMDM0OCk7
ZWUoMTAzMzYpO2VlKDEwMzI0KTtlZSgxMDMxMik7cmV0dXJufWZ1bmN0aW9uIGo4KGEpe2E9YXww
O2RQKDExMzMyKTtkUCgxMTMyMCk7ZFAoMTEzMDgpO2RQKDExMjk2KTtkUCgxMTI4NCk7ZFAoMTEy
NzIpO2RQKDExMjYwKTtkUCgxMTI0OCk7ZFAoMTEyMzYpO2RQKDExMjI0KTtkUCgxMTIxMik7ZFAo
MTEyMDApO2RQKDExMTg4KTtkUCgxMTE3Nik7ZFAoMTExNjQpO2RQKDExMTUyKTtkUCgxMTE0MCk7
ZFAoMTExMjgpO2RQKDExMTE2KTtkUCgxMTEwNCk7ZFAoMTEwOTIpO2RQKDExMDgwKTtkUCgxMTA2
OCk7ZFAoMTEwNTYpO3JldHVybn1mdW5jdGlvbiBqOShhKXthPWF8MDtlZSgxMDc1Nik7ZWUoMTA3
NDQpO2VlKDEwNzMyKTtlZSgxMDcyMCk7ZWUoMTA3MDgpO2VlKDEwNjk2KTtlZSgxMDY4NCk7ZWUo
MTA2NzIpO2VlKDEwNjYwKTtlZSgxMDY0OCk7ZWUoMTA2MzYpO2VlKDEwNjI0KTtlZSgxMDYxMik7
ZWUoMTA2MDApO3JldHVybn1mdW5jdGlvbiBrYShhKXthPWF8MDtkUCgxMTUwMCk7ZFAoMTE0ODgp
O2RQKDExNDc2KTtkUCgxMTQ2NCk7ZFAoMTE0NTIpO2RQKDExNDQwKTtkUCgxMTQyOCk7ZFAoMTE0
MTYpO2RQKDExNDA0KTtkUCgxMTM5Mik7ZFAoMTEzODApO2RQKDExMzY4KTtkUCgxMTM1Nik7ZFAo
MTEzNDQpO3JldHVybn1mdW5jdGlvbiBrYihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7cmV0dXJu
IGtjKDAsYSxiLChjfDApIT0wP2M6OTgzMil8MH1mdW5jdGlvbiBrYyhiLGQsZSxmKXtiPWJ8MDtk
PWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAs
cT0wLHI9MCx0PTAsdT0wLHY9MCx3PTA7Zz1pO2k9aSs4fDA7aD1nfDA7Y1toPj4yXT1iO2o9KChm
fDApPT0wPzk4MjQ6Zil8MDtmPWNbaj4+Ml18MDtMNzpkb3tpZigoZHwwKT09MCl7aWYoKGZ8MCk9
PTApe2s9MH1lbHNle2JyZWFrfWk9ZztyZXR1cm4ga3wwfWVsc2V7aWYoKGJ8MCk9PTApe2w9aDtj
W2g+PjJdPWw7bT1sfWVsc2V7bT1ifWlmKChlfDApPT0wKXtrPS0yO2k9ZztyZXR1cm4ga3wwfWRv
e2lmKChmfDApPT0wKXtsPWFbZF18MDtuPWwmMjU1O2lmKGw8PDI0Pj4yND4tMSl7Y1ttPj4yXT1u
O2s9bDw8MjQ+PjI0IT0wfDA7aT1nO3JldHVybiBrfDB9ZWxzZXtsPW4tMTk0fDA7aWYobD4+PjA+
NTApe2JyZWFrIEw3fW89ZCsxfDA7cD1jW3MrKGw8PDIpPj4yXXwwO3E9ZS0xfDA7YnJlYWt9fWVs
c2V7bz1kO3A9ZjtxPWV9fXdoaWxlKDApO0wyNTpkb3tpZigocXwwKT09MCl7cj1wfWVsc2V7bD1h
W29dfDA7bj0obCYyNTUpPj4+MztpZigobi0xNnxuKyhwPj4yNikpPj4+MD43KXticmVhayBMN31l
bHNle3Q9bzt1PXA7dj1xO3c9bH13aGlsZSgxKXt0PXQrMXwwO3U9KHcmMjU1KS0xMjh8dTw8Njt2
PXYtMXwwO2lmKCh1fDApPj0wKXticmVha31pZigodnwwKT09MCl7cj11O2JyZWFrIEwyNX13PWFb
dF18MDtpZigoKHcmMjU1KS0xMjh8MCk+Pj4wPjYzKXticmVhayBMN319Y1tqPj4yXT0wO2NbbT4+
Ml09dTtrPWUtdnwwO2k9ZztyZXR1cm4ga3wwfX13aGlsZSgwKTtjW2o+PjJdPXI7az0tMjtpPWc7
cmV0dXJuIGt8MH19d2hpbGUoMCk7Y1tqPj4yXT0wO2NbKGJ3KCl8MCk+PjJdPTEzODtrPS0xO2k9
ZztyZXR1cm4ga3wwfWZ1bmN0aW9uIGtkKGEsYixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1l
fDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAs
cz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxH
PTAsSD0wLEk9MCxKPTA7Zz1pO2k9aSsxMDMyfDA7aD1nfDA7aj1nKzEwMjR8MDtrPWNbYj4+Ml18
MDtjW2o+PjJdPWs7bD0oYXwwKSE9MDttPWw/ZToyNTY7ZT1sP2E6aHwwO0wzODpkb3tpZigoa3ww
KT09MHwobXwwKT09MCl7bj0wO289ZDtwPW07cT1lO3I9a31lbHNle2E9aHwwO3M9bTt0PWQ7dT0w
O3Y9ZTt3PWs7d2hpbGUoMSl7eD10Pj4+Mjt5PXg+Pj4wPj1zPj4+MDtpZighKHl8dD4+PjA+MTMx
KSl7bj11O289dDtwPXM7cT12O3I9dzticmVhayBMMzh9ej15P3M6eDtBPXQtenwwO3g9a2Uodixq
LHosZil8MDtpZigoeHwwKT09LTEpe2JyZWFrfWlmKCh2fDApPT0oYXwwKSl7Qj1hO0M9c31lbHNl
e0I9disoeDw8Mil8MDtDPXMteHwwfXo9eCt1fDA7eD1jW2o+PjJdfDA7aWYoKHh8MCk9PTB8KEN8
MCk9PTApe249ejtvPUE7cD1DO3E9QjtyPXg7YnJlYWsgTDM4fWVsc2V7cz1DO3Q9QTt1PXo7dj1C
O3c9eH19bj0tMTtvPUE7cD0wO3E9djtyPWNbaj4+Ml18MH19d2hpbGUoMCk7TDQ5OmRve2lmKChy
fDApPT0wKXtEPW59ZWxzZXtpZigocHwwKT09MHwob3wwKT09MCl7RD1uO2JyZWFrfWVsc2V7RT1w
O0Y9bztHPW47SD1xO0k9cn13aGlsZSgxKXtKPWtjKEgsSSxGLGYpfDA7aWYoKEorMnwwKT4+PjA8
Myl7YnJlYWt9QT0oY1tqPj4yXXwwKStKfDA7Y1tqPj4yXT1BO0I9RS0xfDA7Qz1HKzF8MDtpZigo
QnwwKT09MHwoRnwwKT09KEp8MCkpe0Q9QzticmVhayBMNDl9ZWxzZXtFPUI7Rj1GLUp8MDtHPUM7
SD1IKzR8MDtJPUF9fXN3aXRjaChKfDApe2Nhc2UgMDp7Y1tqPj4yXT0wO0Q9RzticmVhayBMNDk7
YnJlYWt9O2Nhc2UtMTp7RD0tMTticmVhayBMNDk7YnJlYWt9O2RlZmF1bHQ6e2NbZj4+Ml09MDtE
PUc7YnJlYWsgTDQ5fX19fXdoaWxlKDApO2lmKCFsKXtpPWc7cmV0dXJuIER8MH1jW2I+PjJdPWNb
aj4+Ml07aT1nO3JldHVybiBEfDB9ZnVuY3Rpb24ga2UoYixlLGYsZyl7Yj1ifDA7ZT1lfDA7Zj1m
fDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAs
dD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxI
PTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9
MCxXPTAsWD0wLFk9MCxaPTAsXz0wLCQ9MCxhYT0wLGFiPTAsYWM9MCxhZD0wLGFlPTAsYWY9MDto
PWNbZT4+Ml18MDtkb3tpZigoZ3wwKT09MCl7aT01Nn1lbHNle2o9Z3wwO2s9Y1tqPj4yXXwwO2lm
KChrfDApPT0wKXtpPTU2O2JyZWFrfWlmKChifDApPT0wKXtsPWs7bT1oO249ZjtpPTY3O2JyZWFr
fWNbaj4+Ml09MDtvPWs7cD1oO3E9YjtyPWY7aT04N319d2hpbGUoMCk7aWYoKGl8MCk9PTU2KXtp
ZigoYnwwKT09MCl7dD1oO3U9ZjtpPTU4fWVsc2V7dj1oO3c9Yjt4PWY7aT01N319TDcwOndoaWxl
KDEpe2lmKChpfDApPT04Nyl7aT0wO2g9ZFtwXXwwO2c9aD4+PjM7aWYoKGctMTZ8Zysobz4+MjYp
KT4+PjA+Nyl7aT04ODticmVha31nPXArMXwwO3k9aC0xMjh8bzw8Njtkb3tpZigoeXwwKTwwKXto
PShkW2ddfDApLTEyOHwwO2lmKGg+Pj4wPjYzKXtpPTkxO2JyZWFrIEw3MH1rPXArMnwwO3o9aHx5
PDw2O2lmKCh6fDApPj0wKXtBPXo7Qj1rO2JyZWFrfWg9KGRba118MCktMTI4fDA7aWYoaD4+PjA+
NjMpe2k9OTQ7YnJlYWsgTDcwfUE9aHx6PDw2O0I9cCszfDB9ZWxzZXtBPXk7Qj1nfX13aGlsZSgw
KTtjW3E+PjJdPUE7dj1CO3c9cSs0fDA7eD1yLTF8MDtpPTU3O2NvbnRpbnVlfWVsc2UgaWYoKGl8
MCk9PTU4KXtpPTA7Zz1hW3RdfDA7ZG97aWYoKChnJjI1NSktMXwwKT4+PjA8MTI3KXtpZigodCYz
fDApIT0wKXtDPXQ7RD11O0U9ZzticmVha31oPWNbdD4+Ml18MDtpZigoKGgtMTY4NDMwMDl8aCkm
LTIxMzkwNjIxNDR8MCk9PTApe0Y9dTtHPXR9ZWxzZXtDPXQ7RD11O0U9aCYyNTU7YnJlYWt9ZG97
Rz1HKzR8MDtGPUYtNHwwO0g9Y1tHPj4yXXwwO313aGlsZSgoKEgtMTY4NDMwMDl8SCkmLTIxMzkw
NjIxNDR8MCk9PTApO0M9RztEPUY7RT1IJjI1NX1lbHNle0M9dDtEPXU7RT1nfX13aGlsZSgwKTtn
PUUmMjU1O2lmKChnLTF8MCk+Pj4wPDEyNyl7dD1DKzF8MDt1PUQtMXwwO2k9NTg7Y29udGludWV9
aD1nLTE5NHwwO2lmKGg+Pj4wPjUwKXtJPUQ7Sj1iO0s9QztpPTk4O2JyZWFrfWw9Y1tzKyhoPDwy
KT4+Ml18MDttPUMrMXwwO249RDtpPTY3O2NvbnRpbnVlfWVsc2UgaWYoKGl8MCk9PTU3KXtpPTA7
aWYoKHh8MCk9PTApe0w9ZjtpPTEwNjticmVha31lbHNle009eDtOPXc7Tz12fXdoaWxlKDEpe2g9
YVtPXXwwO2Rve2lmKCgoaCYyNTUpLTF8MCk+Pj4wPDEyNyl7aWYoKE8mM3wwKT09MCZNPj4+MD4z
KXtQPU07UT1OO1I9T31lbHNle1M9TztUPU47VT1NO1Y9aDticmVha313aGlsZSgxKXtXPWNbUj4+
Ml18MDtpZigoKFctMTY4NDMwMDl8VykmLTIxMzkwNjIxNDR8MCkhPTApe2k9ODE7YnJlYWt9Y1tR
Pj4yXT1XJjI1NTtjW1ErND4+Ml09ZFtSKzF8MF18MDtjW1ErOD4+Ml09ZFtSKzJ8MF18MDtYPVIr
NHwwO1k9USsxNnwwO2NbUSsxMj4+Ml09ZFtSKzN8MF18MDtaPVAtNHwwO2lmKFo+Pj4wPjMpe1A9
WjtRPVk7Uj1YfWVsc2V7aT04MjticmVha319aWYoKGl8MCk9PTgxKXtpPTA7Uz1SO1Q9UTtVPVA7
Vj1XJjI1NTticmVha31lbHNlIGlmKChpfDApPT04Mil7aT0wO1M9WDtUPVk7VT1aO1Y9YVtYXXww
O2JyZWFrfX1lbHNle1M9TztUPU47VT1NO1Y9aH19d2hpbGUoMCk7Xz1WJjI1NTtpZigoXy0xfDAp
Pj4+MD49MTI3KXticmVha31jW1Q+PjJdPV87aD1VLTF8MDtpZigoaHwwKT09MCl7TD1mO2k9MTA1
O2JyZWFrIEw3MH1lbHNle009aDtOPVQrNHwwO089UysxfDB9fWg9Xy0xOTR8MDtpZihoPj4+MD41
MCl7ST1VO0o9VDtLPVM7aT05ODticmVha31vPWNbcysoaDw8Mik+PjJdfDA7cD1TKzF8MDtxPVQ7
cj1VO2k9ODc7Y29udGludWV9ZWxzZSBpZigoaXwwKT09Njcpe2k9MDtoPShkW21dfDApPj4+Mztp
ZigoaC0xNnxoKyhsPj4yNikpPj4+MD43KXtpPTY4O2JyZWFrfWg9bSsxfDA7ZG97aWYoKGwmMzM1
NTQ0MzJ8MCk9PTApeyQ9aH1lbHNle2lmKCgoZFtoXXwwKS0xMjh8MCk+Pj4wPjYzKXtpPTcxO2Jy
ZWFrIEw3MH1nPW0rMnwwO2lmKChsJjUyNDI4OHwwKT09MCl7JD1nO2JyZWFrfWlmKCgoZFtnXXww
KS0xMjh8MCk+Pj4wPjYzKXtpPTc0O2JyZWFrIEw3MH0kPW0rM3wwfX13aGlsZSgwKTt0PSQ7dT1u
LTF8MDtpPTU4O2NvbnRpbnVlfX1pZigoaXwwKT09NzEpe2FhPWw7YWI9bS0xfDA7YWM9YjthZD1u
O2k9OTd9ZWxzZSBpZigoaXwwKT09NzQpe2FhPWw7YWI9bS0xfDA7YWM9YjthZD1uO2k9OTd9ZWxz
ZSBpZigoaXwwKT09Njgpe2FhPWw7YWI9bS0xfDA7YWM9YjthZD1uO2k9OTd9ZWxzZSBpZigoaXww
KT09ODgpe2FhPW87YWI9cC0xfDA7YWM9cTthZD1yO2k9OTd9ZWxzZSBpZigoaXwwKT09OTEpe2Fh
PXk7YWI9cC0xfDA7YWM9cTthZD1yO2k9OTd9ZWxzZSBpZigoaXwwKT09OTQpe2FhPXo7YWI9cC0x
fDA7YWM9cTthZD1yO2k9OTd9ZWxzZSBpZigoaXwwKT09MTA1KXtyZXR1cm4gTHwwfWVsc2UgaWYo
KGl8MCk9PTEwNil7cmV0dXJuIEx8MH1pZigoaXwwKT09OTcpe2lmKChhYXwwKT09MCl7ST1hZDtK
PWFjO0s9YWI7aT05OH1lbHNle2FlPWFjO2FmPWFifX1kb3tpZigoaXwwKT09OTgpe2lmKChhW0td
fDApIT0wKXthZT1KO2FmPUs7YnJlYWt9aWYoKEp8MCkhPTApe2NbSj4+Ml09MDtjW2U+PjJdPTB9
TD1mLUl8MDtyZXR1cm4gTHwwfX13aGlsZSgwKTtjWyhidygpfDApPj4yXT0xMzg7aWYoKGFlfDAp
PT0wKXtMPS0xO3JldHVybiBMfDB9Y1tlPj4yXT1hZjtMPS0xO3JldHVybiBMfDB9ZnVuY3Rpb24g
a2YoYixlLGYpe2I9YnwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxu
PTA7Zz1pO2k9aSs4fDA7aD1nfDA7Y1toPj4yXT1iO2lmKChlfDApPT0wKXtqPTA7aT1nO3JldHVy
biBqfDB9ZG97aWYoKGZ8MCkhPTApe2lmKChifDApPT0wKXtrPWg7Y1toPj4yXT1rO2w9a31lbHNl
e2w9Yn1rPWFbZV18MDttPWsmMjU1O2lmKGs8PDI0Pj4yND4tMSl7Y1tsPj4yXT1tO2o9azw8MjQ+
PjI0IT0wfDA7aT1nO3JldHVybiBqfDB9az1tLTE5NHwwO2lmKGs+Pj4wPjUwKXticmVha31tPWUr
MXwwO249Y1tzKyhrPDwyKT4+Ml18MDtpZihmPj4+MDw0KXtpZigobiYtMjE0NzQ4MzY0OD4+Pigo
KGYqNnwwKS02fDApPj4+MCl8MCkhPTApe2JyZWFrfX1rPWRbbV18MDttPWs+Pj4zO2lmKChtLTE2
fG0rKG4+PjI2KSk+Pj4wPjcpe2JyZWFrfW09ay0xMjh8bjw8NjtpZigobXwwKT49MCl7Y1tsPj4y
XT1tO2o9MjtpPWc7cmV0dXJuIGp8MH1uPShkW2UrMnwwXXwwKS0xMjh8MDtpZihuPj4+MD42Myl7
YnJlYWt9az1ufG08PDY7aWYoKGt8MCk+PTApe2NbbD4+Ml09aztqPTM7aT1nO3JldHVybiBqfDB9
bT0oZFtlKzN8MF18MCktMTI4fDA7aWYobT4+PjA+NjMpe2JyZWFrfWNbbD4+Ml09bXxrPDw2O2o9
NDtpPWc7cmV0dXJuIGp8MH19d2hpbGUoMCk7Y1soYncoKXwwKT4+Ml09MTM4O2o9LTE7aT1nO3Jl
dHVybiBqfDB9ZnVuY3Rpb24ga2coYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTA7aWYo
KGJ8MCk9PTApe2Y9MTtyZXR1cm4gZnwwfWlmKGQ+Pj4wPDEyOCl7YVtiXT1kJjI1NTtmPTE7cmV0
dXJuIGZ8MH1pZihkPj4+MDwyMDQ4KXthW2JdPShkPj4+NnwxOTIpJjI1NTthW2IrMXwwXT0oZCY2
M3wxMjgpJjI1NTtmPTI7cmV0dXJuIGZ8MH1pZihkPj4+MDw1NTI5NnwoZC01NzM0NHwwKT4+PjA8
ODE5Mil7YVtiXT0oZD4+PjEyfDIyNCkmMjU1O2FbYisxfDBdPShkPj4+NiY2M3wxMjgpJjI1NTth
W2IrMnwwXT0oZCY2M3wxMjgpJjI1NTtmPTM7cmV0dXJuIGZ8MH1pZigoZC02NTUzNnwwKT4+PjA8
MTA0ODU3Nil7YVtiXT0oZD4+PjE4fDI0MCkmMjU1O2FbYisxfDBdPShkPj4+MTImNjN8MTI4KSYy
NTU7YVtiKzJ8MF09KGQ+Pj42JjYzfDEyOCkmMjU1O2FbYiszfDBdPShkJjYzfDEyOCkmMjU1O2Y9
NDtyZXR1cm4gZnwwfWVsc2V7Y1soYncoKXwwKT4+Ml09MTM4O2Y9LTE7cmV0dXJuIGZ8MH1yZXR1
cm4gMH1mdW5jdGlvbiBraChhKXthPWF8MDtyZXR1cm59ZnVuY3Rpb24ga2koYSl7YT1hfDA7cmV0
dXJufWZ1bmN0aW9uIGtqKGEpe2E9YXwwO3JldHVybiAxMzI4fDB9ZnVuY3Rpb24ga2soYSl7YT1h
fDA7cmV0dXJufWZ1bmN0aW9uIGtsKGEpe2E9YXwwO3JldHVybn1mdW5jdGlvbiBrbShhKXthPWF8
MDt2YXIgYj0wO2I9YTt3aGlsZSgxKXtpZigoY1tiPj4yXXwwKT09MCl7YnJlYWt9ZWxzZXtiPWIr
NHwwfX1yZXR1cm4gYi1hPj4yfDB9ZnVuY3Rpb24ga24oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHww
O3ZhciBlPTAsZj0wLGc9MDtpZigoZHwwKT09MCl7cmV0dXJuIGF8MH1lbHNle2U9YjtmPWQ7Zz1h
fXdoaWxlKDEpe2Q9Zi0xfDA7Y1tnPj4yXT1jW2U+PjJdO2lmKChkfDApPT0wKXticmVha31lbHNl
e2U9ZSs0fDA7Zj1kO2c9Zys0fDB9fXJldHVybiBhfDB9ZnVuY3Rpb24ga28oYSxiLGQpe2E9YXww
O2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wO2U9KGR8MCk9PTA7aWYoYS1iPj4y
Pj4+MDxkPj4+MCl7aWYoZSl7cmV0dXJuIGF8MH1lbHNle2Y9ZH1kb3tmPWYtMXwwO2NbYSsoZjw8
Mik+PjJdPWNbYisoZjw8Mik+PjJdO313aGlsZSgoZnwwKSE9MCk7cmV0dXJuIGF8MH1lbHNle2lm
KGUpe3JldHVybiBhfDB9ZWxzZXtnPWI7aD1kO2k9YX13aGlsZSgxKXtkPWgtMXwwO2NbaT4+Ml09
Y1tnPj4yXTtpZigoZHwwKT09MCl7YnJlYWt9ZWxzZXtnPWcrNHwwO2g9ZDtpPWkrNHwwfX1yZXR1
cm4gYXwwfXJldHVybiAwfWZ1bmN0aW9uIGtwKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIg
ZT0wLGY9MDtpZigoZHwwKT09MCl7cmV0dXJuIGF8MH1lbHNle2U9ZDtmPWF9d2hpbGUoMSl7ZD1l
LTF8MDtjW2Y+PjJdPWI7aWYoKGR8MCk9PTApe2JyZWFrfWVsc2V7ZT1kO2Y9Zis0fDB9fXJldHVy
biBhfDB9ZnVuY3Rpb24ga3EoYSl7YT1hfDA7Y1thPj4yXT0yNDQwO3JldHVybn1mdW5jdGlvbiBr
cihiLGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wO2lmKChjW2QrOD4+Ml18
MCkhPShifDApKXtyZXR1cm59Yj1kKzE2fDA7Zz1jW2I+PjJdfDA7aWYoKGd8MCk9PTApe2NbYj4+
Ml09ZTtjW2QrMjQ+PjJdPWY7Y1tkKzM2Pj4yXT0xO3JldHVybn1pZigoZ3wwKSE9KGV8MCkpe2U9
ZCszNnwwO2NbZT4+Ml09KGNbZT4+Ml18MCkrMTtjW2QrMjQ+PjJdPTI7YVtkKzU0fDBdPTE7cmV0
dXJufWU9ZCsyNHwwO2lmKChjW2U+PjJdfDApIT0yKXtyZXR1cm59Y1tlPj4yXT1mO3JldHVybn1m
dW5jdGlvbiBrcyhhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBn
PTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9
MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MDtmPWk7aT1p
KzI2NHwwO2c9ZnwwO2g9ZisyNTZ8MDtqPWNbYj4+Ml18MDtjW2g+PjJdPWo7az0oYXwwKSE9MDts
PWs/ZToyNTY7ZT1rP2E6Z3wwO0wyNDM6ZG97aWYoKGp8MCk9PTB8KGx8MCk9PTApe209MDtuPWQ7
bz1sO3A9ZTtxPWp9ZWxzZXthPWd8MDtyPWw7cz1kO3Q9MDt1PWU7dj1qO3doaWxlKDEpe3c9cz4+
PjA+PXI+Pj4wO2lmKCEod3xzPj4+MD4zMikpe209dDtuPXM7bz1yO3A9dTtxPXY7YnJlYWsgTDI0
M314PXc/cjpzO3k9cy14fDA7dz1rdCh1LGgseCwwKXwwO2lmKCh3fDApPT0tMSl7YnJlYWt9aWYo
KHV8MCk9PShhfDApKXt6PWE7QT1yfWVsc2V7ej11K3d8MDtBPXItd3wwfXg9dyt0fDA7dz1jW2g+
PjJdfDA7aWYoKHd8MCk9PTB8KEF8MCk9PTApe209eDtuPXk7bz1BO3A9ejtxPXc7YnJlYWsgTDI0
M31lbHNle3I9QTtzPXk7dD14O3U9ejt2PXd9fW09LTE7bj15O289MDtwPXU7cT1jW2g+PjJdfDB9
fXdoaWxlKDApO0wyNTQ6ZG97aWYoKHF8MCk9PTApe0I9bX1lbHNle2lmKChvfDApPT0wfChufDAp
PT0wKXtCPW07YnJlYWt9ZWxzZXtDPW87RD1uO0U9bTtGPXA7Rz1xfXdoaWxlKDEpe0g9a2coRixj
W0c+PjJdfDAsMCl8MDtpZigoSCsxfDApPj4+MDwyKXticmVha315PShjW2g+PjJdfDApKzR8MDtj
W2g+PjJdPXk7ej1ELTF8MDtBPUUrMXwwO2lmKChDfDApPT0oSHwwKXwoenwwKT09MCl7Qj1BO2Jy
ZWFrIEwyNTR9ZWxzZXtDPUMtSHwwO0Q9ejtFPUE7Rj1GK0h8MDtHPXl9fWlmKChIfDApIT0wKXtC
PS0xO2JyZWFrfWNbaD4+Ml09MDtCPUV9fXdoaWxlKDApO2lmKCFrKXtpPWY7cmV0dXJuIEJ8MH1j
W2I+PjJdPWNbaD4+Ml07aT1mO3JldHVybiBCfDB9ZnVuY3Rpb24ga3QoYixkLGUsZil7Yj1ifDA7
ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0w
LHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTA7Zj1pO2k9aSs4fDA7
Zz1mfDA7aWYoKGJ8MCk9PTApe2g9Y1tkPj4yXXwwO2o9Z3wwO2s9Y1toPj4yXXwwO2lmKChrfDAp
PT0wKXtsPTA7aT1mO3JldHVybiBsfDB9ZWxzZXttPTA7bj1oO289a313aGlsZSgxKXtpZihvPj4+
MD4xMjcpe2s9a2coaixvLDApfDA7aWYoKGt8MCk9PS0xKXtsPS0xO3A9MjQwO2JyZWFrfWVsc2V7
cT1rfX1lbHNle3E9MX1rPXErbXwwO2g9bis0fDA7cj1jW2g+PjJdfDA7aWYoKHJ8MCk9PTApe2w9
aztwPTI0MTticmVha31lbHNle209aztuPWg7bz1yfX1pZigocHwwKT09MjQwKXtpPWY7cmV0dXJu
IGx8MH1lbHNlIGlmKChwfDApPT0yNDEpe2k9ZjtyZXR1cm4gbHwwfX1MMjgwOmRve2lmKGU+Pj4w
PjMpe289ZTtuPWI7bT1jW2Q+PjJdfDA7d2hpbGUoMSl7cT1jW20+PjJdfDA7aWYoKHF8MCk9PTAp
e3M9bzt0PW47YnJlYWsgTDI4MH1pZihxPj4+MD4xMjcpe2o9a2cobixxLDApfDA7aWYoKGp8MCk9
PS0xKXtsPS0xO2JyZWFrfXU9bitqfDA7dj1vLWp8MDt3PW19ZWxzZXthW25dPXEmMjU1O3U9bisx
fDA7dj1vLTF8MDt3PWNbZD4+Ml18MH1xPXcrNHwwO2NbZD4+Ml09cTtpZih2Pj4+MD4zKXtvPXY7
bj11O209cX1lbHNle3M9djt0PXU7YnJlYWsgTDI4MH19aT1mO3JldHVybiBsfDB9ZWxzZXtzPWU7
dD1ifX13aGlsZSgwKTtMMjkyOmRve2lmKChzfDApPT0wKXt4PTB9ZWxzZXtiPWd8MDt1PXM7dj10
O3c9Y1tkPj4yXXwwO3doaWxlKDEpe209Y1t3Pj4yXXwwO2lmKChtfDApPT0wKXtwPTIzNjticmVh
a31pZihtPj4+MD4xMjcpe249a2coYixtLDApfDA7aWYoKG58MCk9PS0xKXtsPS0xO3A9MjQzO2Jy
ZWFrfWlmKG4+Pj4wPnU+Pj4wKXtwPTIzMjticmVha31vPWNbdz4+Ml18MDtrZyh2LG8sMCl8MDt5
PXYrbnwwO3o9dS1ufDA7QT13fWVsc2V7YVt2XT1tJjI1NTt5PXYrMXwwO3o9dS0xfDA7QT1jW2Q+
PjJdfDB9bT1BKzR8MDtjW2Q+PjJdPW07aWYoKHp8MCk9PTApe3g9MDticmVhayBMMjkyfWVsc2V7
dT16O3Y9eTt3PW19fWlmKChwfDApPT0yMzIpe2w9ZS11fDA7aT1mO3JldHVybiBsfDB9ZWxzZSBp
ZigocHwwKT09MjM2KXthW3ZdPTA7eD11O2JyZWFrfWVsc2UgaWYoKHB8MCk9PTI0Myl7aT1mO3Jl
dHVybiBsfDB9fX13aGlsZSgwKTtjW2Q+PjJdPTA7bD1lLXh8MDtpPWY7cmV0dXJuIGx8MH1mdW5j
dGlvbiBrdShhKXthPWF8MDtrUyhhKTtyZXR1cm59ZnVuY3Rpb24ga3YoYSl7YT1hfDA7a2goYXww
KTtyZXR1cm59ZnVuY3Rpb24ga3coYSl7YT1hfDA7a2goYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rp
b24ga3goYSl7YT1hfDA7a2goYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24ga3koYSl7YT1hfDA7
a2goYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24ga3ooYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHww
O3ZhciBlPTAsZj0wLGc9MCxoPTA7ZT1pO2k9aSs1NnwwO2Y9ZXwwO2lmKChhfDApPT0oYnwwKSl7
Zz0xO2k9ZTtyZXR1cm4gZ3wwfWlmKChifDApPT0wKXtnPTA7aT1lO3JldHVybiBnfDB9aD1rQyhi
LDk3MDQsOTY4OCwtMSl8MDtiPWg7aWYoKGh8MCk9PTApe2c9MDtpPWU7cmV0dXJuIGd8MH1rJChm
fDAsMCw1Nik7Y1tmPj4yXT1iO2NbZis4Pj4yXT1hO2NbZisxMj4+Ml09LTE7Y1tmKzQ4Pj4yXT0x
O2NiW2NbKGNbaD4+Ml18MCkrMjg+PjJdJjE1XShiLGYsY1tkPj4yXXwwLDEpO2lmKChjW2YrMjQ+
PjJdfDApIT0xKXtnPTA7aT1lO3JldHVybiBnfDB9Y1tkPj4yXT1jW2YrMTY+PjJdO2c9MTtpPWU7
cmV0dXJuIGd8MH1mdW5jdGlvbiBrQShiLGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2
YXIgZz0wO2lmKChifDApIT0oY1tkKzg+PjJdfDApKXtnPWNbYis4Pj4yXXwwO2NiW2NbKGNbZz4+
Ml18MCkrMjg+PjJdJjE1XShnLGQsZSxmKTtyZXR1cm59Zz1kKzE2fDA7Yj1jW2c+PjJdfDA7aWYo
KGJ8MCk9PTApe2NbZz4+Ml09ZTtjW2QrMjQ+PjJdPWY7Y1tkKzM2Pj4yXT0xO3JldHVybn1pZigo
YnwwKSE9KGV8MCkpe2U9ZCszNnwwO2NbZT4+Ml09KGNbZT4+Ml18MCkrMTtjW2QrMjQ+PjJdPTI7
YVtkKzU0fDBdPTE7cmV0dXJufWU9ZCsyNHwwO2lmKChjW2U+PjJdfDApIT0yKXtyZXR1cm59Y1tl
Pj4yXT1mO3JldHVybn1mdW5jdGlvbiBrQihiLGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8
MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wO2lmKChifDApPT0oY1tkKzg+PjJdfDAp
KXtnPWQrMTZ8MDtoPWNbZz4+Ml18MDtpZigoaHwwKT09MCl7Y1tnPj4yXT1lO2NbZCsyND4+Ml09
ZjtjW2QrMzY+PjJdPTE7cmV0dXJufWlmKChofDApIT0oZXwwKSl7aD1kKzM2fDA7Y1toPj4yXT0o
Y1toPj4yXXwwKSsxO2NbZCsyND4+Ml09MjthW2QrNTR8MF09MTtyZXR1cm59aD1kKzI0fDA7aWYo
KGNbaD4+Ml18MCkhPTIpe3JldHVybn1jW2g+PjJdPWY7cmV0dXJufWg9Y1tiKzEyPj4yXXwwO2c9
YisxNisoaDw8Myl8MDtpPWNbYisyMD4+Ml18MDtqPWk+Pjg7aWYoKGkmMXwwKT09MCl7az1qfWVs
c2V7az1jWyhjW2U+PjJdfDApK2o+PjJdfDB9aj1jW2IrMTY+PjJdfDA7Y2JbY1soY1tqPj4yXXww
KSsyOD4+Ml0mMTVdKGosZCxlK2t8MCwoaSYyfDApIT0wP2Y6Mik7aWYoKGh8MCk8PTEpe3JldHVy
bn1oPWQrNTR8MDtpPWU7az1iKzI0fDA7d2hpbGUoMSl7Yj1jW2srND4+Ml18MDtqPWI+Pjg7aWYo
KGImMXwwKT09MCl7bD1qfWVsc2V7bD1jWyhjW2k+PjJdfDApK2o+PjJdfDB9aj1jW2s+PjJdfDA7
Y2JbY1soY1tqPj4yXXwwKSsyOD4+Ml0mMTVdKGosZCxlK2x8MCwoYiYyfDApIT0wP2Y6Mik7aWYo
KGFbaF0mMSkhPTApe209Mjk3O2JyZWFrfWI9ays4fDA7aWYoYj4+PjA8Zz4+PjApe2s9Yn1lbHNl
e209Mjk4O2JyZWFrfX1pZigobXwwKT09Mjk3KXtyZXR1cm59ZWxzZSBpZigobXwwKT09Mjk4KXty
ZXR1cm59fWZ1bmN0aW9uIGtDKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBm
PTAsZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MDtmPWk7aT1pKzU2fDA7Zz1mfDA7aD1j
W2E+PjJdfDA7aj1hKyhjW2gtOD4+Ml18MCl8MDtrPWNbaC00Pj4yXXwwO2g9aztjW2c+PjJdPWQ7
Y1tnKzQ+PjJdPWE7Y1tnKzg+PjJdPWI7Y1tnKzEyPj4yXT1lO2U9ZysxNnwwO2I9ZysyMHwwO2E9
ZysyNHwwO2w9ZysyOHwwO209ZyszMnwwO249Zys0MHwwO2skKGV8MCwwLDM5KTtpZigoa3wwKT09
KGR8MCkpe2NbZys0OD4+Ml09MTtiOVtjWyhjW2s+PjJdfDApKzIwPj4yXSYzMV0oaCxnLGosaiwx
LDApO2k9ZjtyZXR1cm4oKGNbYT4+Ml18MCk9PTE/ajowKXwwfWJXW2NbKGNbaz4+Ml18MCkrMjQ+
PjJdJjddKGgsZyxqLDEsMCk7c3dpdGNoKGNbZyszNj4+Ml18MCl7Y2FzZSAxOntkb3tpZigoY1th
Pj4yXXwwKSE9MSl7aWYoKGNbbj4+Ml18MCkhPTApe289MDtpPWY7cmV0dXJuIG98MH1pZigoY1ts
Pj4yXXwwKSE9MSl7bz0wO2k9ZjtyZXR1cm4gb3wwfWlmKChjW20+PjJdfDApPT0xKXticmVha31l
bHNle289MH1pPWY7cmV0dXJuIG98MH19d2hpbGUoMCk7bz1jW2U+PjJdfDA7aT1mO3JldHVybiBv
fDB9O2Nhc2UgMDp7aWYoKGNbbj4+Ml18MCkhPTEpe289MDtpPWY7cmV0dXJuIG98MH1pZigoY1ts
Pj4yXXwwKSE9MSl7bz0wO2k9ZjtyZXR1cm4gb3wwfW89KGNbbT4+Ml18MCk9PTE/Y1tiPj4yXXww
OjA7aT1mO3JldHVybiBvfDB9O2RlZmF1bHQ6e289MDtpPWY7cmV0dXJuIG98MH19cmV0dXJuIDB9
ZnVuY3Rpb24ga0QoYixkLGUsZixnKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtpZigo
Y1tkKzg+PjJdfDApPT0oYnwwKSl7aWYoKGNbZCs0Pj4yXXwwKSE9KGV8MCkpe3JldHVybn1nPWQr
Mjh8MDtpZigoY1tnPj4yXXwwKT09MSl7cmV0dXJufWNbZz4+Ml09ZjtyZXR1cm59aWYoKGNbZD4+
Ml18MCkhPShifDApKXtyZXR1cm59ZG97aWYoKGNbZCsxNj4+Ml18MCkhPShlfDApKXtiPWQrMjB8
MDtpZigoY1tiPj4yXXwwKT09KGV8MCkpe2JyZWFrfWNbZCszMj4+Ml09ZjtjW2I+PjJdPWU7Yj1k
KzQwfDA7Y1tiPj4yXT0oY1tiPj4yXXwwKSsxO2Rve2lmKChjW2QrMzY+PjJdfDApPT0xKXtpZigo
Y1tkKzI0Pj4yXXwwKSE9Mil7YnJlYWt9YVtkKzU0fDBdPTF9fXdoaWxlKDApO2NbZCs0ND4+Ml09
NDtyZXR1cm59fXdoaWxlKDApO2lmKChmfDApIT0xKXtyZXR1cm59Y1tkKzMyPj4yXT0xO3JldHVy
bn1mdW5jdGlvbiBrRShiLGQsZSxmLGcsaCl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7
aD1ofDA7dmFyIGk9MDtpZigoY1tkKzg+PjJdfDApIT0oYnwwKSl7cmV0dXJufWFbZCs1M3wwXT0x
O2lmKChjW2QrND4+Ml18MCkhPShmfDApKXtyZXR1cm59YVtkKzUyfDBdPTE7Zj1kKzE2fDA7Yj1j
W2Y+PjJdfDA7aWYoKGJ8MCk9PTApe2NbZj4+Ml09ZTtjW2QrMjQ+PjJdPWc7Y1tkKzM2Pj4yXT0x
O2lmKCEoKGNbZCs0OD4+Ml18MCk9PTEmKGd8MCk9PTEpKXtyZXR1cm59YVtkKzU0fDBdPTE7cmV0
dXJufWlmKChifDApIT0oZXwwKSl7ZT1kKzM2fDA7Y1tlPj4yXT0oY1tlPj4yXXwwKSsxO2FbZCs1
NHwwXT0xO3JldHVybn1lPWQrMjR8MDtiPWNbZT4+Ml18MDtpZigoYnwwKT09Mil7Y1tlPj4yXT1n
O2k9Z31lbHNle2k9Yn1pZighKChjW2QrNDg+PjJdfDApPT0xJihpfDApPT0xKSl7cmV0dXJufWFb
ZCs1NHwwXT0xO3JldHVybn1mdW5jdGlvbiBrRihiLGQsZSxmLGcpe2I9YnwwO2Q9ZHwwO2U9ZXww
O2Y9ZnwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAs
cj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxG
PTAsRz0wLEg9MDtoPWJ8MDtpZigoaHwwKT09KGNbZCs4Pj4yXXwwKSl7aWYoKGNbZCs0Pj4yXXww
KSE9KGV8MCkpe3JldHVybn1pPWQrMjh8MDtpZigoY1tpPj4yXXwwKT09MSl7cmV0dXJufWNbaT4+
Ml09ZjtyZXR1cm59aWYoKGh8MCk9PShjW2Q+PjJdfDApKXtkb3tpZigoY1tkKzE2Pj4yXXwwKSE9
KGV8MCkpe2g9ZCsyMHwwO2lmKChjW2g+PjJdfDApPT0oZXwwKSl7YnJlYWt9Y1tkKzMyPj4yXT1m
O2k9ZCs0NHwwO2lmKChjW2k+PjJdfDApPT00KXtyZXR1cm59aj1jW2IrMTI+PjJdfDA7az1iKzE2
KyhqPDwzKXwwO0w0NzQ6ZG97aWYoKGp8MCk+MCl7bD1kKzUyfDA7bT1kKzUzfDA7bj1kKzU0fDA7
bz1iKzh8MDtwPWQrMjR8MDtxPWU7cj0wO3M9YisxNnwwO3Q9MDtMNDc2OndoaWxlKDEpe2FbbF09
MDthW21dPTA7dT1jW3MrND4+Ml18MDt2PXU+Pjg7aWYoKHUmMXwwKT09MCl7dz12fWVsc2V7dz1j
WyhjW3E+PjJdfDApK3Y+PjJdfDB9dj1jW3M+PjJdfDA7YjlbY1soY1t2Pj4yXXwwKSsyMD4+Ml0m
MzFdKHYsZCxlLGUrd3wwLDItKHU+Pj4xJjEpfDAsZyk7aWYoKGFbbl0mMSkhPTApe3g9dDt5PXI7
YnJlYWt9ZG97aWYoKGFbbV0mMSk9PTApe3o9dDtBPXJ9ZWxzZXtpZigoYVtsXSYxKT09MCl7aWYo
KGNbbz4+Ml0mMXwwKT09MCl7eD0xO3k9cjticmVhayBMNDc2fWVsc2V7ej0xO0E9cjticmVha319
aWYoKGNbcD4+Ml18MCk9PTEpe0I9Mzg1O2JyZWFrIEw0NzR9aWYoKGNbbz4+Ml0mMnwwKT09MCl7
Qj0zODU7YnJlYWsgTDQ3NH1lbHNle3o9MTtBPTF9fX13aGlsZSgwKTt1PXMrOHwwO2lmKHU+Pj4w
PGs+Pj4wKXtyPUE7cz11O3Q9en1lbHNle3g9ejt5PUE7YnJlYWt9fWlmKHkpe0M9eDtCPTM4NH1l
bHNle0Q9eDtCPTM4MX19ZWxzZXtEPTA7Qj0zODF9fXdoaWxlKDApO2Rve2lmKChCfDApPT0zODEp
e2NbaD4+Ml09ZTtrPWQrNDB8MDtjW2s+PjJdPShjW2s+PjJdfDApKzE7aWYoKGNbZCszNj4+Ml18
MCkhPTEpe0M9RDtCPTM4NDticmVha31pZigoY1tkKzI0Pj4yXXwwKSE9Mil7Qz1EO0I9Mzg0O2Jy
ZWFrfWFbZCs1NHwwXT0xO2lmKEQpe0I9Mzg1fWVsc2V7Qj0zODZ9fX13aGlsZSgwKTtpZigoQnww
KT09Mzg0KXtpZihDKXtCPTM4NX1lbHNle0I9Mzg2fX1pZigoQnwwKT09Mzg1KXtjW2k+PjJdPTM7
cmV0dXJufWVsc2UgaWYoKEJ8MCk9PTM4Nil7Y1tpPj4yXT00O3JldHVybn19fXdoaWxlKDApO2lm
KChmfDApIT0xKXtyZXR1cm59Y1tkKzMyPj4yXT0xO3JldHVybn1DPWNbYisxMj4+Ml18MDtEPWIr
MTYrKEM8PDMpfDA7eD1jW2IrMjA+PjJdfDA7eT14Pj44O2lmKCh4JjF8MCk9PTApe0U9eX1lbHNl
e0U9Y1soY1tlPj4yXXwwKSt5Pj4yXXwwfXk9Y1tiKzE2Pj4yXXwwO2JXW2NbKGNbeT4+Ml18MCkr
MjQ+PjJdJjddKHksZCxlK0V8MCwoeCYyfDApIT0wP2Y6MixnKTt4PWIrMjR8MDtpZigoQ3wwKTw9
MSl7cmV0dXJufUM9Y1tiKzg+PjJdfDA7ZG97aWYoKEMmMnwwKT09MCl7Yj1kKzM2fDA7aWYoKGNb
Yj4+Ml18MCk9PTEpe2JyZWFrfWlmKChDJjF8MCk9PTApe0U9ZCs1NHwwO3k9ZTtBPXg7d2hpbGUo
MSl7aWYoKGFbRV0mMSkhPTApe0I9NDI1O2JyZWFrfWlmKChjW2I+PjJdfDApPT0xKXtCPTQyNjti
cmVha316PWNbQSs0Pj4yXXwwO3c9ej4+ODtpZigoeiYxfDApPT0wKXtGPXd9ZWxzZXtGPWNbKGNb
eT4+Ml18MCkrdz4+Ml18MH13PWNbQT4+Ml18MDtiV1tjWyhjW3c+PjJdfDApKzI0Pj4yXSY3XSh3
LGQsZStGfDAsKHomMnwwKSE9MD9mOjIsZyk7ej1BKzh8MDtpZih6Pj4+MDxEPj4+MCl7QT16fWVs
c2V7Qj00MTI7YnJlYWt9fWlmKChCfDApPT00MTIpe3JldHVybn1lbHNlIGlmKChCfDApPT00MjUp
e3JldHVybn1lbHNlIGlmKChCfDApPT00MjYpe3JldHVybn19QT1kKzI0fDA7eT1kKzU0fDA7RT1l
O2k9eDt3aGlsZSgxKXtpZigoYVt5XSYxKSE9MCl7Qj00MjI7YnJlYWt9aWYoKGNbYj4+Ml18MCk9
PTEpe2lmKChjW0E+PjJdfDApPT0xKXtCPTQyMzticmVha319ej1jW2krND4+Ml18MDt3PXo+Pjg7
aWYoKHomMXwwKT09MCl7Rz13fWVsc2V7Rz1jWyhjW0U+PjJdfDApK3c+PjJdfDB9dz1jW2k+PjJd
fDA7YldbY1soY1t3Pj4yXXwwKSsyND4+Ml0mN10odyxkLGUrR3wwLCh6JjJ8MCkhPTA/ZjoyLGcp
O3o9aSs4fDA7aWYoej4+PjA8RD4+PjApe2k9en1lbHNle0I9NDI0O2JyZWFrfX1pZigoQnwwKT09
NDIyKXtyZXR1cm59ZWxzZSBpZigoQnwwKT09NDIzKXtyZXR1cm59ZWxzZSBpZigoQnwwKT09NDI0
KXtyZXR1cm59fX13aGlsZSgwKTtHPWQrNTR8MDtGPWU7Qz14O3doaWxlKDEpe2lmKChhW0ddJjEp
IT0wKXtCPTQyMTticmVha314PWNbQys0Pj4yXXwwO2k9eD4+ODtpZigoeCYxfDApPT0wKXtIPWl9
ZWxzZXtIPWNbKGNbRj4+Ml18MCkraT4+Ml18MH1pPWNbQz4+Ml18MDtiV1tjWyhjW2k+PjJdfDAp
KzI0Pj4yXSY3XShpLGQsZStIfDAsKHgmMnwwKSE9MD9mOjIsZyk7eD1DKzh8MDtpZih4Pj4+MDxE
Pj4+MCl7Qz14fWVsc2V7Qj00MjA7YnJlYWt9fWlmKChCfDApPT00MjApe3JldHVybn1lbHNlIGlm
KChCfDApPT00MjEpe3JldHVybn19ZnVuY3Rpb24ga0coYixkLGUsZixnKXtiPWJ8MDtkPWR8MDtl
PWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO2g9YnwwO2lm
KChofDApPT0oY1tkKzg+PjJdfDApKXtpZigoY1tkKzQ+PjJdfDApIT0oZXwwKSl7cmV0dXJufWk9
ZCsyOHwwO2lmKChjW2k+PjJdfDApPT0xKXtyZXR1cm59Y1tpPj4yXT1mO3JldHVybn1pZigoaHww
KSE9KGNbZD4+Ml18MCkpe2g9Y1tiKzg+PjJdfDA7YldbY1soY1toPj4yXXwwKSsyND4+Ml0mN10o
aCxkLGUsZixnKTtyZXR1cm59ZG97aWYoKGNbZCsxNj4+Ml18MCkhPShlfDApKXtoPWQrMjB8MDtp
ZigoY1toPj4yXXwwKT09KGV8MCkpe2JyZWFrfWNbZCszMj4+Ml09ZjtpPWQrNDR8MDtpZigoY1tp
Pj4yXXwwKT09NCl7cmV0dXJufWo9ZCs1MnwwO2Fbal09MDtrPWQrNTN8MDthW2tdPTA7bD1jW2Ir
OD4+Ml18MDtiOVtjWyhjW2w+PjJdfDApKzIwPj4yXSYzMV0obCxkLGUsZSwxLGcpO2lmKChhW2td
JjEpPT0wKXttPTA7bj00NDF9ZWxzZXtpZigoYVtqXSYxKT09MCl7bT0xO249NDQxfX1MNTc2OmRv
e2lmKChufDApPT00NDEpe2NbaD4+Ml09ZTtqPWQrNDB8MDtjW2o+PjJdPShjW2o+PjJdfDApKzE7
ZG97aWYoKGNbZCszNj4+Ml18MCk9PTEpe2lmKChjW2QrMjQ+PjJdfDApIT0yKXtuPTQ0NDticmVh
a31hW2QrNTR8MF09MTtpZihtKXticmVhayBMNTc2fX1lbHNle249NDQ0fX13aGlsZSgwKTtpZigo
bnwwKT09NDQ0KXtpZihtKXticmVha319Y1tpPj4yXT00O3JldHVybn19d2hpbGUoMCk7Y1tpPj4y
XT0zO3JldHVybn19d2hpbGUoMCk7aWYoKGZ8MCkhPTEpe3JldHVybn1jW2QrMzI+PjJdPTE7cmV0
dXJufWZ1bmN0aW9uIGtIKGIsZCxlLGYsZyxoKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8
MDtoPWh8MDt2YXIgaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0
PTAsdT0wLHY9MCx3PTA7aWYoKGJ8MCkhPShjW2QrOD4+Ml18MCkpe2k9ZCs1MnwwO2o9YVtpXSYx
O2s9ZCs1M3wwO2w9YVtrXSYxO209Y1tiKzEyPj4yXXwwO249YisxNisobTw8Myl8MDthW2ldPTA7
YVtrXT0wO289Y1tiKzIwPj4yXXwwO3A9bz4+ODtpZigobyYxfDApPT0wKXtxPXB9ZWxzZXtxPWNb
KGNbZj4+Ml18MCkrcD4+Ml18MH1wPWNbYisxNj4+Ml18MDtiOVtjWyhjW3A+PjJdfDApKzIwPj4y
XSYzMV0ocCxkLGUsZitxfDAsKG8mMnwwKSE9MD9nOjIsaCk7TDU5ODpkb3tpZigobXwwKT4xKXtv
PWQrMjR8MDtxPWIrOHwwO3A9ZCs1NHwwO3I9ZjtzPWIrMjR8MDtkb3tpZigoYVtwXSYxKSE9MCl7
YnJlYWsgTDU5OH1kb3tpZigoYVtpXSYxKT09MCl7aWYoKGFba10mMSk9PTApe2JyZWFrfWlmKChj
W3E+PjJdJjF8MCk9PTApe2JyZWFrIEw1OTh9fWVsc2V7aWYoKGNbbz4+Ml18MCk9PTEpe2JyZWFr
IEw1OTh9aWYoKGNbcT4+Ml0mMnwwKT09MCl7YnJlYWsgTDU5OH19fXdoaWxlKDApO2FbaV09MDth
W2tdPTA7dD1jW3MrND4+Ml18MDt1PXQ+Pjg7aWYoKHQmMXwwKT09MCl7dj11fWVsc2V7dj1jWyhj
W3I+PjJdfDApK3U+PjJdfDB9dT1jW3M+PjJdfDA7YjlbY1soY1t1Pj4yXXwwKSsyMD4+Ml0mMzFd
KHUsZCxlLGYrdnwwLCh0JjJ8MCkhPTA/ZzoyLGgpO3M9cys4fDA7fXdoaWxlKHM+Pj4wPG4+Pj4w
KX19d2hpbGUoMCk7YVtpXT1qO2Fba109bDtyZXR1cm59YVtkKzUzfDBdPTE7aWYoKGNbZCs0Pj4y
XXwwKSE9KGZ8MCkpe3JldHVybn1hW2QrNTJ8MF09MTtmPWQrMTZ8MDtsPWNbZj4+Ml18MDtpZigo
bHwwKT09MCl7Y1tmPj4yXT1lO2NbZCsyND4+Ml09ZztjW2QrMzY+PjJdPTE7aWYoISgoY1tkKzQ4
Pj4yXXwwKT09MSYoZ3wwKT09MSkpe3JldHVybn1hW2QrNTR8MF09MTtyZXR1cm59aWYoKGx8MCkh
PShlfDApKXtlPWQrMzZ8MDtjW2U+PjJdPShjW2U+PjJdfDApKzE7YVtkKzU0fDBdPTE7cmV0dXJu
fWU9ZCsyNHwwO2w9Y1tlPj4yXXwwO2lmKChsfDApPT0yKXtjW2U+PjJdPWc7dz1nfWVsc2V7dz1s
fWlmKCEoKGNbZCs0OD4+Ml18MCk9PTEmKHd8MCk9PTEpKXtyZXR1cm59YVtkKzU0fDBdPTE7cmV0
dXJufWZ1bmN0aW9uIGtJKGIsZCxlLGYsZyxoKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8
MDtoPWh8MDt2YXIgaT0wLGo9MDtpZigoYnwwKSE9KGNbZCs4Pj4yXXwwKSl7aT1jW2IrOD4+Ml18
MDtiOVtjWyhjW2k+PjJdfDApKzIwPj4yXSYzMV0oaSxkLGUsZixnLGgpO3JldHVybn1hW2QrNTN8
MF09MTtpZigoY1tkKzQ+PjJdfDApIT0oZnwwKSl7cmV0dXJufWFbZCs1MnwwXT0xO2Y9ZCsxNnww
O2g9Y1tmPj4yXXwwO2lmKChofDApPT0wKXtjW2Y+PjJdPWU7Y1tkKzI0Pj4yXT1nO2NbZCszNj4+
Ml09MTtpZighKChjW2QrNDg+PjJdfDApPT0xJihnfDApPT0xKSl7cmV0dXJufWFbZCs1NHwwXT0x
O3JldHVybn1pZigoaHwwKSE9KGV8MCkpe2U9ZCszNnwwO2NbZT4+Ml09KGNbZT4+Ml18MCkrMTth
W2QrNTR8MF09MTtyZXR1cm59ZT1kKzI0fDA7aD1jW2U+PjJdfDA7aWYoKGh8MCk9PTIpe2NbZT4+
Ml09ZztqPWd9ZWxzZXtqPWh9aWYoISgoY1tkKzQ4Pj4yXXwwKT09MSYoanwwKT09MSkpe3JldHVy
bn1hW2QrNTR8MF09MTtyZXR1cm59ZnVuY3Rpb24ga0ooYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0w
LGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAs
dD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxI
PTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9
MCxXPTAsWD0wLFk9MCxaPTAsXz0wLCQ9MCxhYT0wLGFiPTAsYWM9MCxhZD0wLGFlPTAsYWY9MCxh
Zz0wLGFoPTAsYWk9MCxhaj0wLGFrPTAsYWw9MCxhbT0wLGFuPTAsYW89MCxhcD0wLGFxPTAsYXI9
MCxhcz0wLGF0PTAsYXU9MCxhdj0wLGF3PTAsYXg9MCxheT0wLGF6PTAsYUE9MCxhQj0wLGFDPTAs
YUQ9MCxhRT0wLGFGPTAsYUc9MDtkb3tpZihhPj4+MDwyNDUpe2lmKGE+Pj4wPDExKXtiPTE2fWVs
c2V7Yj1hKzExJi04fWQ9Yj4+PjM7ZT1jWzI0NjBdfDA7Zj1lPj4+KGQ+Pj4wKTtpZigoZiYzfDAp
IT0wKXtnPShmJjFeMSkrZHwwO2g9Zzw8MTtpPTk4ODArKGg8PDIpfDA7aj05ODgwKyhoKzI8PDIp
fDA7aD1jW2o+PjJdfDA7az1oKzh8MDtsPWNbaz4+Ml18MDtkb3tpZigoaXwwKT09KGx8MCkpe2Nb
MjQ2MF09ZSZ+KDE8PGcpfWVsc2V7aWYobD4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpO3JldHVy
biAwfW09bCsxMnwwO2lmKChjW20+PjJdfDApPT0oaHwwKSl7Y1ttPj4yXT1pO2Nbaj4+Ml09bDti
cmVha31lbHNle2JHKCk7cmV0dXJuIDB9fX13aGlsZSgwKTtsPWc8PDM7Y1toKzQ+PjJdPWx8Mztq
PWgrKGx8NCl8MDtjW2o+PjJdPWNbaj4+Ml18MTtuPWs7cmV0dXJuIG58MH1pZihiPj4+MDw9KGNb
MjQ2Ml18MCk+Pj4wKXtvPWI7YnJlYWt9aWYoKGZ8MCkhPTApe2o9Mjw8ZDtsPWY8PGQmKGp8LWop
O2o9KGwmLWwpLTF8MDtsPWo+Pj4xMiYxNjtpPWo+Pj4obD4+PjApO2o9aT4+PjUmODttPWk+Pj4o
aj4+PjApO2k9bT4+PjImNDtwPW0+Pj4oaT4+PjApO209cD4+PjEmMjtxPXA+Pj4obT4+PjApO3A9
cT4+PjEmMTtyPShqfGx8aXxtfHApKyhxPj4+KHA+Pj4wKSl8MDtwPXI8PDE7cT05ODgwKyhwPDwy
KXwwO209OTg4MCsocCsyPDwyKXwwO3A9Y1ttPj4yXXwwO2k9cCs4fDA7bD1jW2k+PjJdfDA7ZG97
aWYoKHF8MCk9PShsfDApKXtjWzI0NjBdPWUmfigxPDxyKX1lbHNle2lmKGw+Pj4wPChjWzI0NjRd
fDApPj4+MCl7YkcoKTtyZXR1cm4gMH1qPWwrMTJ8MDtpZigoY1tqPj4yXXwwKT09KHB8MCkpe2Nb
aj4+Ml09cTtjW20+PjJdPWw7YnJlYWt9ZWxzZXtiRygpO3JldHVybiAwfX19d2hpbGUoMCk7bD1y
PDwzO209bC1ifDA7Y1twKzQ+PjJdPWJ8MztxPXA7ZT1xK2J8MDtjW3ErKGJ8NCk+PjJdPW18MTtj
W3ErbD4+Ml09bTtsPWNbMjQ2Ml18MDtpZigobHwwKSE9MCl7cT1jWzI0NjVdfDA7ZD1sPj4+Mzts
PWQ8PDE7Zj05ODgwKyhsPDwyKXwwO2s9Y1syNDYwXXwwO2g9MTw8ZDtkb3tpZigoayZofDApPT0w
KXtjWzI0NjBdPWt8aDtzPWY7dD05ODgwKyhsKzI8PDIpfDB9ZWxzZXtkPTk4ODArKGwrMjw8Mil8
MDtnPWNbZD4+Ml18MDtpZihnPj4+MD49KGNbMjQ2NF18MCk+Pj4wKXtzPWc7dD1kO2JyZWFrfWJH
KCk7cmV0dXJuIDB9fXdoaWxlKDApO2NbdD4+Ml09cTtjW3MrMTI+PjJdPXE7Y1txKzg+PjJdPXM7
Y1txKzEyPj4yXT1mfWNbMjQ2Ml09bTtjWzI0NjVdPWU7bj1pO3JldHVybiBufDB9bD1jWzI0NjFd
fDA7aWYoKGx8MCk9PTApe289YjticmVha31oPShsJi1sKS0xfDA7bD1oPj4+MTImMTY7az1oPj4+
KGw+Pj4wKTtoPWs+Pj41Jjg7cD1rPj4+KGg+Pj4wKTtrPXA+Pj4yJjQ7cj1wPj4+KGs+Pj4wKTtw
PXI+Pj4xJjI7ZD1yPj4+KHA+Pj4wKTtyPWQ+Pj4xJjE7Zz1jWzEwMTQ0KygoaHxsfGt8cHxyKSso
ZD4+PihyPj4+MCkpPDwyKT4+Ml18MDtyPWc7ZD1nO3A9KGNbZys0Pj4yXSYtOCktYnwwO3doaWxl
KDEpe2c9Y1tyKzE2Pj4yXXwwO2lmKChnfDApPT0wKXtrPWNbcisyMD4+Ml18MDtpZigoa3wwKT09
MCl7YnJlYWt9ZWxzZXt1PWt9fWVsc2V7dT1nfWc9KGNbdSs0Pj4yXSYtOCktYnwwO2s9Zz4+PjA8
cD4+PjA7cj11O2Q9az91OmQ7cD1rP2c6cH1yPWQ7aT1jWzI0NjRdfDA7aWYocj4+PjA8aT4+PjAp
e2JHKCk7cmV0dXJuIDB9ZT1yK2J8MDttPWU7aWYocj4+PjA+PWU+Pj4wKXtiRygpO3JldHVybiAw
fWU9Y1tkKzI0Pj4yXXwwO2Y9Y1tkKzEyPj4yXXwwO2Rve2lmKChmfDApPT0oZHwwKSl7cT1kKzIw
fDA7Zz1jW3E+PjJdfDA7aWYoKGd8MCk9PTApe2s9ZCsxNnwwO2w9Y1trPj4yXXwwO2lmKChsfDAp
PT0wKXt2PTA7YnJlYWt9ZWxzZXt3PWw7eD1rfX1lbHNle3c9Zzt4PXF9d2hpbGUoMSl7cT13KzIw
fDA7Zz1jW3E+PjJdfDA7aWYoKGd8MCkhPTApe3c9Zzt4PXE7Y29udGludWV9cT13KzE2fDA7Zz1j
W3E+PjJdfDA7aWYoKGd8MCk9PTApe2JyZWFrfWVsc2V7dz1nO3g9cX19aWYoeD4+PjA8aT4+PjAp
e2JHKCk7cmV0dXJuIDB9ZWxzZXtjW3g+PjJdPTA7dj13O2JyZWFrfX1lbHNle3E9Y1tkKzg+PjJd
fDA7aWYocT4+PjA8aT4+PjApe2JHKCk7cmV0dXJuIDB9Zz1xKzEyfDA7aWYoKGNbZz4+Ml18MCkh
PShkfDApKXtiRygpO3JldHVybiAwfWs9Zis4fDA7aWYoKGNbaz4+Ml18MCk9PShkfDApKXtjW2c+
PjJdPWY7Y1trPj4yXT1xO3Y9ZjticmVha31lbHNle2JHKCk7cmV0dXJuIDB9fX13aGlsZSgwKTtM
NzQwOmRve2lmKChlfDApIT0wKXtmPWQrMjh8MDtpPTEwMTQ0KyhjW2Y+PjJdPDwyKXwwO2Rve2lm
KChkfDApPT0oY1tpPj4yXXwwKSl7Y1tpPj4yXT12O2lmKCh2fDApIT0wKXticmVha31jWzI0NjFd
PWNbMjQ2MV0mfigxPDxjW2Y+PjJdKTticmVhayBMNzQwfWVsc2V7aWYoZT4+PjA8KGNbMjQ2NF18
MCk+Pj4wKXtiRygpO3JldHVybiAwfXE9ZSsxNnwwO2lmKChjW3E+PjJdfDApPT0oZHwwKSl7Y1tx
Pj4yXT12fWVsc2V7Y1tlKzIwPj4yXT12fWlmKCh2fDApPT0wKXticmVhayBMNzQwfX19d2hpbGUo
MCk7aWYodj4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpO3JldHVybiAwfWNbdisyND4+Ml09ZTtm
PWNbZCsxNj4+Ml18MDtkb3tpZigoZnwwKSE9MCl7aWYoZj4+PjA8KGNbMjQ2NF18MCk+Pj4wKXti
RygpO3JldHVybiAwfWVsc2V7Y1t2KzE2Pj4yXT1mO2NbZisyND4+Ml09djticmVha319fXdoaWxl
KDApO2Y9Y1tkKzIwPj4yXXwwO2lmKChmfDApPT0wKXticmVha31pZihmPj4+MDwoY1syNDY0XXww
KT4+PjApe2JHKCk7cmV0dXJuIDB9ZWxzZXtjW3YrMjA+PjJdPWY7Y1tmKzI0Pj4yXT12O2JyZWFr
fX19d2hpbGUoMCk7aWYocD4+PjA8MTYpe2U9cCtifDA7Y1tkKzQ+PjJdPWV8MztmPXIrKGUrNCl8
MDtjW2Y+PjJdPWNbZj4+Ml18MX1lbHNle2NbZCs0Pj4yXT1ifDM7Y1tyKyhifDQpPj4yXT1wfDE7
Y1tyKyhwK2IpPj4yXT1wO2Y9Y1syNDYyXXwwO2lmKChmfDApIT0wKXtlPWNbMjQ2NV18MDtpPWY+
Pj4zO2Y9aTw8MTtxPTk4ODArKGY8PDIpfDA7az1jWzI0NjBdfDA7Zz0xPDxpO2Rve2lmKChrJmd8
MCk9PTApe2NbMjQ2MF09a3xnO3k9cTt6PTk4ODArKGYrMjw8Mil8MH1lbHNle2k9OTg4MCsoZisy
PDwyKXwwO2w9Y1tpPj4yXXwwO2lmKGw+Pj4wPj0oY1syNDY0XXwwKT4+PjApe3k9bDt6PWk7YnJl
YWt9YkcoKTtyZXR1cm4gMH19d2hpbGUoMCk7Y1t6Pj4yXT1lO2NbeSsxMj4+Ml09ZTtjW2UrOD4+
Ml09eTtjW2UrMTI+PjJdPXF9Y1syNDYyXT1wO2NbMjQ2NV09bX1mPWQrOHwwO2lmKChmfDApPT0w
KXtvPWI7YnJlYWt9ZWxzZXtuPWZ9cmV0dXJuIG58MH1lbHNle2lmKGE+Pj4wPjQyOTQ5NjcyMzEp
e289LTE7YnJlYWt9Zj1hKzExfDA7Zz1mJi04O2s9Y1syNDYxXXwwO2lmKChrfDApPT0wKXtvPWc7
YnJlYWt9cj0tZ3wwO2k9Zj4+Pjg7ZG97aWYoKGl8MCk9PTApe0E9MH1lbHNle2lmKGc+Pj4wPjE2
Nzc3MjE1KXtBPTMxO2JyZWFrfWY9KGkrMTA0ODMyMHwwKT4+PjE2Jjg7bD1pPDxmO2g9KGwrNTIw
MTkyfDApPj4+MTYmNDtqPWw8PGg7bD0oaisyNDU3NjB8MCk+Pj4xNiYyO0I9MTQtKGh8ZnxsKSso
ajw8bD4+PjE1KXwwO0E9Zz4+PigoQis3fDApPj4+MCkmMXxCPDwxfX13aGlsZSgwKTtpPWNbMTAx
NDQrKEE8PDIpPj4yXXwwO0w3ODg6ZG97aWYoKGl8MCk9PTApe0M9MDtEPXI7RT0wfWVsc2V7aWYo
KEF8MCk9PTMxKXtGPTB9ZWxzZXtGPTI1LShBPj4+MSl8MH1kPTA7bT1yO3A9aTtxPWc8PEY7ZT0w
O3doaWxlKDEpe0I9Y1twKzQ+PjJdJi04O2w9Qi1nfDA7aWYobD4+PjA8bT4+PjApe2lmKChCfDAp
PT0oZ3wwKSl7Qz1wO0Q9bDtFPXA7YnJlYWsgTDc4OH1lbHNle0c9cDtIPWx9fWVsc2V7Rz1kO0g9
bX1sPWNbcCsyMD4+Ml18MDtCPWNbcCsxNisocT4+PjMxPDwyKT4+Ml18MDtqPShsfDApPT0wfChs
fDApPT0oQnwwKT9lOmw7aWYoKEJ8MCk9PTApe0M9RztEPUg7RT1qO2JyZWFrfWVsc2V7ZD1HO209
SDtwPUI7cT1xPDwxO2U9an19fX13aGlsZSgwKTtpZigoRXwwKT09MCYoQ3wwKT09MCl7aT0yPDxB
O3I9ayYoaXwtaSk7aWYoKHJ8MCk9PTApe289ZzticmVha31pPShyJi1yKS0xfDA7cj1pPj4+MTIm
MTY7ZT1pPj4+KHI+Pj4wKTtpPWU+Pj41Jjg7cT1lPj4+KGk+Pj4wKTtlPXE+Pj4yJjQ7cD1xPj4+
KGU+Pj4wKTtxPXA+Pj4xJjI7bT1wPj4+KHE+Pj4wKTtwPW0+Pj4xJjE7ST1jWzEwMTQ0KygoaXxy
fGV8cXxwKSsobT4+PihwPj4+MCkpPDwyKT4+Ml18MH1lbHNle0k9RX1pZigoSXwwKT09MCl7Sj1E
O0s9Q31lbHNle3A9STttPUQ7cT1DO3doaWxlKDEpe2U9KGNbcCs0Pj4yXSYtOCktZ3wwO3I9ZT4+
PjA8bT4+PjA7aT1yP2U6bTtlPXI/cDpxO3I9Y1twKzE2Pj4yXXwwO2lmKChyfDApIT0wKXtwPXI7
bT1pO3E9ZTtjb250aW51ZX1yPWNbcCsyMD4+Ml18MDtpZigocnwwKT09MCl7Sj1pO0s9ZTticmVh
a31lbHNle3A9cjttPWk7cT1lfX19aWYoKEt8MCk9PTApe289ZzticmVha31pZihKPj4+MD49KChj
WzI0NjJdfDApLWd8MCk+Pj4wKXtvPWc7YnJlYWt9cT1LO209Y1syNDY0XXwwO2lmKHE+Pj4wPG0+
Pj4wKXtiRygpO3JldHVybiAwfXA9cStnfDA7az1wO2lmKHE+Pj4wPj1wPj4+MCl7YkcoKTtyZXR1
cm4gMH1lPWNbSysyND4+Ml18MDtpPWNbSysxMj4+Ml18MDtkb3tpZigoaXwwKT09KEt8MCkpe3I9
SysyMHwwO2Q9Y1tyPj4yXXwwO2lmKChkfDApPT0wKXtqPUsrMTZ8MDtCPWNbaj4+Ml18MDtpZigo
QnwwKT09MCl7TD0wO2JyZWFrfWVsc2V7TT1CO049an19ZWxzZXtNPWQ7Tj1yfXdoaWxlKDEpe3I9
TSsyMHwwO2Q9Y1tyPj4yXXwwO2lmKChkfDApIT0wKXtNPWQ7Tj1yO2NvbnRpbnVlfXI9TSsxNnww
O2Q9Y1tyPj4yXXwwO2lmKChkfDApPT0wKXticmVha31lbHNle009ZDtOPXJ9fWlmKE4+Pj4wPG0+
Pj4wKXtiRygpO3JldHVybiAwfWVsc2V7Y1tOPj4yXT0wO0w9TTticmVha319ZWxzZXtyPWNbSys4
Pj4yXXwwO2lmKHI+Pj4wPG0+Pj4wKXtiRygpO3JldHVybiAwfWQ9cisxMnwwO2lmKChjW2Q+PjJd
fDApIT0oS3wwKSl7YkcoKTtyZXR1cm4gMH1qPWkrOHwwO2lmKChjW2o+PjJdfDApPT0oS3wwKSl7
Y1tkPj4yXT1pO2Nbaj4+Ml09cjtMPWk7YnJlYWt9ZWxzZXtiRygpO3JldHVybiAwfX19d2hpbGUo
MCk7TDgzODpkb3tpZigoZXwwKSE9MCl7aT1LKzI4fDA7bT0xMDE0NCsoY1tpPj4yXTw8Mil8MDtk
b3tpZigoS3wwKT09KGNbbT4+Ml18MCkpe2NbbT4+Ml09TDtpZigoTHwwKSE9MCl7YnJlYWt9Y1sy
NDYxXT1jWzI0NjFdJn4oMTw8Y1tpPj4yXSk7YnJlYWsgTDgzOH1lbHNle2lmKGU+Pj4wPChjWzI0
NjRdfDApPj4+MCl7YkcoKTtyZXR1cm4gMH1yPWUrMTZ8MDtpZigoY1tyPj4yXXwwKT09KEt8MCkp
e2Nbcj4+Ml09TH1lbHNle2NbZSsyMD4+Ml09TH1pZigoTHwwKT09MCl7YnJlYWsgTDgzOH19fXdo
aWxlKDApO2lmKEw+Pj4wPChjWzI0NjRdfDApPj4+MCl7YkcoKTtyZXR1cm4gMH1jW0wrMjQ+PjJd
PWU7aT1jW0srMTY+PjJdfDA7ZG97aWYoKGl8MCkhPTApe2lmKGk+Pj4wPChjWzI0NjRdfDApPj4+
MCl7YkcoKTtyZXR1cm4gMH1lbHNle2NbTCsxNj4+Ml09aTtjW2krMjQ+PjJdPUw7YnJlYWt9fX13
aGlsZSgwKTtpPWNbSysyMD4+Ml18MDtpZigoaXwwKT09MCl7YnJlYWt9aWYoaT4+PjA8KGNbMjQ2
NF18MCk+Pj4wKXtiRygpO3JldHVybiAwfWVsc2V7Y1tMKzIwPj4yXT1pO2NbaSsyND4+Ml09TDti
cmVha319fXdoaWxlKDApO2Rve2lmKEo+Pj4wPDE2KXtlPUorZ3wwO2NbSys0Pj4yXT1lfDM7aT1x
KyhlKzQpfDA7Y1tpPj4yXT1jW2k+PjJdfDF9ZWxzZXtjW0srND4+Ml09Z3wzO2NbcSsoZ3w0KT4+
Ml09SnwxO2NbcSsoSitnKT4+Ml09SjtpPUo+Pj4zO2lmKEo+Pj4wPDI1Nil7ZT1pPDwxO209OTg4
MCsoZTw8Mil8MDtyPWNbMjQ2MF18MDtqPTE8PGk7ZG97aWYoKHImanwwKT09MCl7Y1syNDYwXT1y
fGo7Tz1tO1A9OTg4MCsoZSsyPDwyKXwwfWVsc2V7aT05ODgwKyhlKzI8PDIpfDA7ZD1jW2k+PjJd
fDA7aWYoZD4+PjA+PShjWzI0NjRdfDApPj4+MCl7Tz1kO1A9aTticmVha31iRygpO3JldHVybiAw
fX13aGlsZSgwKTtjW1A+PjJdPWs7Y1tPKzEyPj4yXT1rO2NbcSsoZys4KT4+Ml09TztjW3ErKGcr
MTIpPj4yXT1tO2JyZWFrfWU9cDtqPUo+Pj44O2Rve2lmKChqfDApPT0wKXtRPTB9ZWxzZXtpZihK
Pj4+MD4xNjc3NzIxNSl7UT0zMTticmVha31yPShqKzEwNDgzMjB8MCk+Pj4xNiY4O2k9ajw8cjtk
PShpKzUyMDE5MnwwKT4+PjE2JjQ7Qj1pPDxkO2k9KEIrMjQ1NzYwfDApPj4+MTYmMjtsPTE0LShk
fHJ8aSkrKEI8PGk+Pj4xNSl8MDtRPUo+Pj4oKGwrN3wwKT4+PjApJjF8bDw8MX19d2hpbGUoMCk7
aj0xMDE0NCsoUTw8Mil8MDtjW3ErKGcrMjgpPj4yXT1RO2NbcSsoZysyMCk+PjJdPTA7Y1txKyhn
KzE2KT4+Ml09MDttPWNbMjQ2MV18MDtsPTE8PFE7aWYoKG0mbHwwKT09MCl7Y1syNDYxXT1tfGw7
Y1tqPj4yXT1lO2NbcSsoZysyNCk+PjJdPWo7Y1txKyhnKzEyKT4+Ml09ZTtjW3ErKGcrOCk+PjJd
PWU7YnJlYWt9aWYoKFF8MCk9PTMxKXtSPTB9ZWxzZXtSPTI1LShRPj4+MSl8MH1sPUo8PFI7bT1j
W2o+PjJdfDA7d2hpbGUoMSl7aWYoKGNbbSs0Pj4yXSYtOHwwKT09KEp8MCkpe2JyZWFrfVM9bSsx
NisobD4+PjMxPDwyKXwwO2o9Y1tTPj4yXXwwO2lmKChqfDApPT0wKXtUPTY2MTticmVha31lbHNl
e2w9bDw8MTttPWp9fWlmKChUfDApPT02NjEpe2lmKFM+Pj4wPChjWzI0NjRdfDApPj4+MCl7Ykco
KTtyZXR1cm4gMH1lbHNle2NbUz4+Ml09ZTtjW3ErKGcrMjQpPj4yXT1tO2NbcSsoZysxMik+PjJd
PWU7Y1txKyhnKzgpPj4yXT1lO2JyZWFrfX1sPW0rOHwwO2o9Y1tsPj4yXXwwO2k9Y1syNDY0XXww
O2lmKG0+Pj4wPGk+Pj4wKXtiRygpO3JldHVybiAwfWlmKGo+Pj4wPGk+Pj4wKXtiRygpO3JldHVy
biAwfWVsc2V7Y1tqKzEyPj4yXT1lO2NbbD4+Ml09ZTtjW3ErKGcrOCk+PjJdPWo7Y1txKyhnKzEy
KT4+Ml09bTtjW3ErKGcrMjQpPj4yXT0wO2JyZWFrfX19d2hpbGUoMCk7cT1LKzh8MDtpZigocXww
KT09MCl7bz1nO2JyZWFrfWVsc2V7bj1xfXJldHVybiBufDB9fXdoaWxlKDApO0s9Y1syNDYyXXww
O2lmKG8+Pj4wPD1LPj4+MCl7Uz1LLW98MDtKPWNbMjQ2NV18MDtpZihTPj4+MD4xNSl7Uj1KO2Nb
MjQ2NV09UitvO2NbMjQ2Ml09UztjW1IrKG8rNCk+PjJdPVN8MTtjW1IrSz4+Ml09UztjW0orND4+
Ml09b3wzfWVsc2V7Y1syNDYyXT0wO2NbMjQ2NV09MDtjW0orND4+Ml09S3wzO1M9SisoSys0KXww
O2NbUz4+Ml09Y1tTPj4yXXwxfW49Sis4fDA7cmV0dXJuIG58MH1KPWNbMjQ2M118MDtpZihvPj4+
MDxKPj4+MCl7Uz1KLW98MDtjWzI0NjNdPVM7Sj1jWzI0NjZdfDA7Sz1KO2NbMjQ2Nl09SytvO2Nb
Sysobys0KT4+Ml09U3wxO2NbSis0Pj4yXT1vfDM7bj1KKzh8MDtyZXR1cm4gbnwwfWRve2lmKChj
WzI0NTBdfDApPT0wKXtKPWJFKDgpfDA7aWYoKEotMSZKfDApPT0wKXtjWzI0NTJdPUo7Y1syNDUx
XT1KO2NbMjQ1M109LTE7Y1syNDU0XT0tMTtjWzI0NTVdPTA7Y1syNTcxXT0wO2NbMjQ1MF09KGJW
KDApfDApJi0xNl4xNDMxNjU1NzY4O2JyZWFrfWVsc2V7YkcoKTtyZXR1cm4gMH19fXdoaWxlKDAp
O0o9bys0OHwwO1M9Y1syNDUyXXwwO0s9bys0N3wwO1I9UytLfDA7UT0tU3wwO1M9UiZRO2lmKFM+
Pj4wPD1vPj4+MCl7bj0wO3JldHVybiBufDB9Tz1jWzI1NzBdfDA7ZG97aWYoKE98MCkhPTApe1A9
Y1syNTY4XXwwO0w9UCtTfDA7aWYoTD4+PjA8PVA+Pj4wfEw+Pj4wPk8+Pj4wKXtuPTB9ZWxzZXti
cmVha31yZXR1cm4gbnwwfX13aGlsZSgwKTtMOTMwOmRve2lmKChjWzI1NzFdJjR8MCk9PTApe089
Y1syNDY2XXwwO0w5MzI6ZG97aWYoKE98MCk9PTApe1Q9NjkxfWVsc2V7TD1PO1A9MTAyODg7d2hp
bGUoMSl7VT1QfDA7TT1jW1U+PjJdfDA7aWYoTT4+PjA8PUw+Pj4wKXtWPVArNHwwO2lmKChNKyhj
W1Y+PjJdfDApfDApPj4+MD5MPj4+MCl7YnJlYWt9fU09Y1tQKzg+PjJdfDA7aWYoKE18MCk9PTAp
e1Q9NjkxO2JyZWFrIEw5MzJ9ZWxzZXtQPU19fWlmKChQfDApPT0wKXtUPTY5MTticmVha31MPVIt
KGNbMjQ2M118MCkmUTtpZihMPj4+MD49MjE0NzQ4MzY0Nyl7Vz0wO2JyZWFrfW09YnYoTHwwKXww
O2U9KG18MCk9PSgoY1tVPj4yXXwwKSsoY1tWPj4yXXwwKXwwKTtYPWU/bTotMTtZPWU/TDowO1o9
bTtfPUw7VD03MDB9fXdoaWxlKDApO2Rve2lmKChUfDApPT02OTEpe089YnYoMCl8MDtpZigoT3ww
KT09LTEpe1c9MDticmVha31nPU87TD1jWzI0NTFdfDA7bT1MLTF8MDtpZigobSZnfDApPT0wKXsk
PVN9ZWxzZXskPVMtZysobStnJi1MKXwwfUw9Y1syNTY4XXwwO2c9TCskfDA7aWYoISgkPj4+MD5v
Pj4+MCYkPj4+MDwyMTQ3NDgzNjQ3KSl7Vz0wO2JyZWFrfW09Y1syNTcwXXwwO2lmKChtfDApIT0w
KXtpZihnPj4+MDw9TD4+PjB8Zz4+PjA+bT4+PjApe1c9MDticmVha319bT1idigkfDApfDA7Zz0o
bXwwKT09KE98MCk7WD1nP086LTE7WT1nPyQ6MDtaPW07Xz0kO1Q9NzAwfX13aGlsZSgwKTtMOTUy
OmRve2lmKChUfDApPT03MDApe209LV98MDtpZigoWHwwKSE9LTEpe2FhPVk7YWI9WDtUPTcxMTti
cmVhayBMOTMwfWRve2lmKChafDApIT0tMSZfPj4+MDwyMTQ3NDgzNjQ3Jl8+Pj4wPEo+Pj4wKXtn
PWNbMjQ1Ml18MDtPPUstXytnJi1nO2lmKE8+Pj4wPj0yMTQ3NDgzNjQ3KXthYz1fO2JyZWFrfWlm
KChidihPfDApfDApPT0tMSl7YnYobXwwKXwwO1c9WTticmVhayBMOTUyfWVsc2V7YWM9TytffDA7
YnJlYWt9fWVsc2V7YWM9X319d2hpbGUoMCk7aWYoKFp8MCk9PS0xKXtXPVl9ZWxzZXthYT1hYzth
Yj1aO1Q9NzExO2JyZWFrIEw5MzB9fX13aGlsZSgwKTtjWzI1NzFdPWNbMjU3MV18NDthZD1XO1Q9
NzA4fWVsc2V7YWQ9MDtUPTcwOH19d2hpbGUoMCk7ZG97aWYoKFR8MCk9PTcwOCl7aWYoUz4+PjA+
PTIxNDc0ODM2NDcpe2JyZWFrfVc9YnYoU3wwKXwwO1o9YnYoMCl8MDtpZighKChafDApIT0tMSYo
V3wwKSE9LTEmVz4+PjA8Wj4+PjApKXticmVha31hYz1aLVd8MDtaPWFjPj4+MD4obys0MHwwKT4+
PjA7WT1aP1c6LTE7aWYoKFl8MCkhPS0xKXthYT1aP2FjOmFkO2FiPVk7VD03MTF9fX13aGlsZSgw
KTtkb3tpZigoVHwwKT09NzExKXthZD0oY1syNTY4XXwwKSthYXwwO2NbMjU2OF09YWQ7aWYoYWQ+
Pj4wPihjWzI1NjldfDApPj4+MCl7Y1syNTY5XT1hZH1hZD1jWzI0NjZdfDA7TDk3Mjpkb3tpZigo
YWR8MCk9PTApe1M9Y1syNDY0XXwwO2lmKChTfDApPT0wfGFiPj4+MDxTPj4+MCl7Y1syNDY0XT1h
Yn1jWzI1NzJdPWFiO2NbMjU3M109YWE7Y1syNTc1XT0wO2NbMjQ2OV09Y1syNDUwXTtjWzI0Njhd
PS0xO1M9MDtkb3tZPVM8PDE7YWM9OTg4MCsoWTw8Mil8MDtjWzk4ODArKFkrMzw8Mik+PjJdPWFj
O2NbOTg4MCsoWSsyPDwyKT4+Ml09YWM7Uz1TKzF8MDt9d2hpbGUoUz4+PjA8MzIpO1M9YWIrOHww
O2lmKChTJjd8MCk9PTApe2FlPTB9ZWxzZXthZT0tUyY3fVM9YWEtNDAtYWV8MDtjWzI0NjZdPWFi
K2FlO2NbMjQ2M109UztjW2FiKyhhZSs0KT4+Ml09U3wxO2NbYWIrKGFhLTM2KT4+Ml09NDA7Y1sy
NDY3XT1jWzI0NTRdfWVsc2V7Uz0xMDI4ODt3aGlsZSgxKXthZj1jW1M+PjJdfDA7YWc9Uys0fDA7
YWg9Y1thZz4+Ml18MDtpZigoYWJ8MCk9PShhZithaHwwKSl7VD03MjM7YnJlYWt9YWM9Y1tTKzg+
PjJdfDA7aWYoKGFjfDApPT0wKXticmVha31lbHNle1M9YWN9fWRve2lmKChUfDApPT03MjMpe2lm
KChjW1MrMTI+PjJdJjh8MCkhPTApe2JyZWFrfWFjPWFkO2lmKCEoYWM+Pj4wPj1hZj4+PjAmYWM+
Pj4wPGFiPj4+MCkpe2JyZWFrfWNbYWc+PjJdPWFoK2FhO2FjPWNbMjQ2Nl18MDtZPShjWzI0NjNd
fDApK2FhfDA7Wj1hYztXPWFjKzh8MDtpZigoVyY3fDApPT0wKXthaT0wfWVsc2V7YWk9LVcmN31X
PVktYWl8MDtjWzI0NjZdPVorYWk7Y1syNDYzXT1XO2NbWisoYWkrNCk+PjJdPVd8MTtjW1orKFkr
NCk+PjJdPTQwO2NbMjQ2N109Y1syNDU0XTticmVhayBMOTcyfX13aGlsZSgwKTtpZihhYj4+PjA8
KGNbMjQ2NF18MCk+Pj4wKXtjWzI0NjRdPWFifVM9YWIrYWF8MDtZPTEwMjg4O3doaWxlKDEpe2Fq
PVl8MDtpZigoY1thaj4+Ml18MCk9PShTfDApKXtUPTczMzticmVha31aPWNbWSs4Pj4yXXwwO2lm
KChafDApPT0wKXticmVha31lbHNle1k9Wn19ZG97aWYoKFR8MCk9PTczMyl7aWYoKGNbWSsxMj4+
Ml0mOHwwKSE9MCl7YnJlYWt9Y1thaj4+Ml09YWI7Uz1ZKzR8MDtjW1M+PjJdPShjW1M+PjJdfDAp
K2FhO1M9YWIrOHwwO2lmKChTJjd8MCk9PTApe2FrPTB9ZWxzZXthaz0tUyY3fVM9YWIrKGFhKzgp
fDA7aWYoKFMmN3wwKT09MCl7YWw9MH1lbHNle2FsPS1TJjd9Uz1hYisoYWwrYWEpfDA7Wj1TO1c9
YWsrb3wwO2FjPWFiK1d8MDtfPWFjO0s9Uy0oYWIrYWspLW98MDtjW2FiKyhhays0KT4+Ml09b3wz
O2Rve2lmKChafDApPT0oY1syNDY2XXwwKSl7Sj0oY1syNDYzXXwwKStLfDA7Y1syNDYzXT1KO2Nb
MjQ2Nl09XztjW2FiKyhXKzQpPj4yXT1KfDF9ZWxzZXtpZigoWnwwKT09KGNbMjQ2NV18MCkpe0o9
KGNbMjQ2Ml18MCkrS3wwO2NbMjQ2Ml09SjtjWzI0NjVdPV87Y1thYisoVys0KT4+Ml09SnwxO2Nb
YWIrKEorVyk+PjJdPUo7YnJlYWt9Sj1hYSs0fDA7WD1jW2FiKyhKK2FsKT4+Ml18MDtpZigoWCYz
fDApPT0xKXskPVgmLTg7Vj1YPj4+MztMMTAxNzpkb3tpZihYPj4+MDwyNTYpe1U9Y1thYisoKGFs
fDgpK2FhKT4+Ml18MDtRPWNbYWIrKGFhKzEyK2FsKT4+Ml18MDtSPTk4ODArKFY8PDE8PDIpfDA7
ZG97aWYoKFV8MCkhPShSfDApKXtpZihVPj4+MDwoY1syNDY0XXwwKT4+PjApe2JHKCk7cmV0dXJu
IDB9aWYoKGNbVSsxMj4+Ml18MCk9PShafDApKXticmVha31iRygpO3JldHVybiAwfX13aGlsZSgw
KTtpZigoUXwwKT09KFV8MCkpe2NbMjQ2MF09Y1syNDYwXSZ+KDE8PFYpO2JyZWFrfWRve2lmKChR
fDApPT0oUnwwKSl7YW09USs4fDB9ZWxzZXtpZihRPj4+MDwoY1syNDY0XXwwKT4+PjApe2JHKCk7
cmV0dXJuIDB9bT1RKzh8MDtpZigoY1ttPj4yXXwwKT09KFp8MCkpe2FtPW07YnJlYWt9YkcoKTty
ZXR1cm4gMH19d2hpbGUoMCk7Y1tVKzEyPj4yXT1RO2NbYW0+PjJdPVV9ZWxzZXtSPVM7bT1jW2Fi
KygoYWx8MjQpK2FhKT4+Ml18MDtQPWNbYWIrKGFhKzEyK2FsKT4+Ml18MDtkb3tpZigoUHwwKT09
KFJ8MCkpe089YWx8MTY7Zz1hYisoSitPKXwwO0w9Y1tnPj4yXXwwO2lmKChMfDApPT0wKXtlPWFi
KyhPK2FhKXwwO089Y1tlPj4yXXwwO2lmKChPfDApPT0wKXthbj0wO2JyZWFrfWVsc2V7YW89Tzth
cD1lfX1lbHNle2FvPUw7YXA9Z313aGlsZSgxKXtnPWFvKzIwfDA7TD1jW2c+PjJdfDA7aWYoKEx8
MCkhPTApe2FvPUw7YXA9Zztjb250aW51ZX1nPWFvKzE2fDA7TD1jW2c+PjJdfDA7aWYoKEx8MCk9
PTApe2JyZWFrfWVsc2V7YW89TDthcD1nfX1pZihhcD4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygp
O3JldHVybiAwfWVsc2V7Y1thcD4+Ml09MDthbj1hbzticmVha319ZWxzZXtnPWNbYWIrKChhbHw4
KSthYSk+PjJdfDA7aWYoZz4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpO3JldHVybiAwfUw9Zysx
MnwwO2lmKChjW0w+PjJdfDApIT0oUnwwKSl7YkcoKTtyZXR1cm4gMH1lPVArOHwwO2lmKChjW2U+
PjJdfDApPT0oUnwwKSl7Y1tMPj4yXT1QO2NbZT4+Ml09Zzthbj1QO2JyZWFrfWVsc2V7YkcoKTty
ZXR1cm4gMH19fXdoaWxlKDApO2lmKChtfDApPT0wKXticmVha31QPWFiKyhhYSsyOCthbCl8MDtV
PTEwMTQ0KyhjW1A+PjJdPDwyKXwwO2Rve2lmKChSfDApPT0oY1tVPj4yXXwwKSl7Y1tVPj4yXT1h
bjtpZigoYW58MCkhPTApe2JyZWFrfWNbMjQ2MV09Y1syNDYxXSZ+KDE8PGNbUD4+Ml0pO2JyZWFr
IEwxMDE3fWVsc2V7aWYobT4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpO3JldHVybiAwfVE9bSsx
NnwwO2lmKChjW1E+PjJdfDApPT0oUnwwKSl7Y1tRPj4yXT1hbn1lbHNle2NbbSsyMD4+Ml09YW59
aWYoKGFufDApPT0wKXticmVhayBMMTAxN319fXdoaWxlKDApO2lmKGFuPj4+MDwoY1syNDY0XXww
KT4+PjApe2JHKCk7cmV0dXJuIDB9Y1thbisyND4+Ml09bTtSPWFsfDE2O1A9Y1thYisoUithYSk+
PjJdfDA7ZG97aWYoKFB8MCkhPTApe2lmKFA+Pj4wPChjWzI0NjRdfDApPj4+MCl7YkcoKTtyZXR1
cm4gMH1lbHNle2NbYW4rMTY+PjJdPVA7Y1tQKzI0Pj4yXT1hbjticmVha319fXdoaWxlKDApO1A9
Y1thYisoSitSKT4+Ml18MDtpZigoUHwwKT09MCl7YnJlYWt9aWYoUD4+PjA8KGNbMjQ2NF18MCk+
Pj4wKXtiRygpO3JldHVybiAwfWVsc2V7Y1thbisyMD4+Ml09UDtjW1ArMjQ+PjJdPWFuO2JyZWFr
fX19d2hpbGUoMCk7YXE9YWIrKCgkfGFsKSthYSl8MDthcj0kK0t8MH1lbHNle2FxPVo7YXI9S31K
PWFxKzR8MDtjW0o+PjJdPWNbSj4+Ml0mLTI7Y1thYisoVys0KT4+Ml09YXJ8MTtjW2FiKyhhcitX
KT4+Ml09YXI7Sj1hcj4+PjM7aWYoYXI+Pj4wPDI1Nil7Vj1KPDwxO1g9OTg4MCsoVjw8Mil8MDtQ
PWNbMjQ2MF18MDttPTE8PEo7ZG97aWYoKFAmbXwwKT09MCl7Y1syNDYwXT1QfG07YXM9WDthdD05
ODgwKyhWKzI8PDIpfDB9ZWxzZXtKPTk4ODArKFYrMjw8Mil8MDtVPWNbSj4+Ml18MDtpZihVPj4+
MD49KGNbMjQ2NF18MCk+Pj4wKXthcz1VO2F0PUo7YnJlYWt9YkcoKTtyZXR1cm4gMH19d2hpbGUo
MCk7Y1thdD4+Ml09XztjW2FzKzEyPj4yXT1fO2NbYWIrKFcrOCk+PjJdPWFzO2NbYWIrKFcrMTIp
Pj4yXT1YO2JyZWFrfVY9YWM7bT1hcj4+Pjg7ZG97aWYoKG18MCk9PTApe2F1PTB9ZWxzZXtpZihh
cj4+PjA+MTY3NzcyMTUpe2F1PTMxO2JyZWFrfVA9KG0rMTA0ODMyMHwwKT4+PjE2Jjg7JD1tPDxQ
O0o9KCQrNTIwMTkyfDApPj4+MTYmNDtVPSQ8PEo7JD0oVSsyNDU3NjB8MCk+Pj4xNiYyO1E9MTQt
KEp8UHwkKSsoVTw8JD4+PjE1KXwwO2F1PWFyPj4+KChRKzd8MCk+Pj4wKSYxfFE8PDF9fXdoaWxl
KDApO209MTAxNDQrKGF1PDwyKXwwO2NbYWIrKFcrMjgpPj4yXT1hdTtjW2FiKyhXKzIwKT4+Ml09
MDtjW2FiKyhXKzE2KT4+Ml09MDtYPWNbMjQ2MV18MDtRPTE8PGF1O2lmKChYJlF8MCk9PTApe2Nb
MjQ2MV09WHxRO2NbbT4+Ml09VjtjW2FiKyhXKzI0KT4+Ml09bTtjW2FiKyhXKzEyKT4+Ml09Vjtj
W2FiKyhXKzgpPj4yXT1WO2JyZWFrfWlmKChhdXwwKT09MzEpe2F2PTB9ZWxzZXthdj0yNS0oYXU+
Pj4xKXwwfVE9YXI8PGF2O1g9Y1ttPj4yXXwwO3doaWxlKDEpe2lmKChjW1grND4+Ml0mLTh8MCk9
PShhcnwwKSl7YnJlYWt9YXc9WCsxNisoUT4+PjMxPDwyKXwwO209Y1thdz4+Ml18MDtpZigobXww
KT09MCl7VD04MDY7YnJlYWt9ZWxzZXtRPVE8PDE7WD1tfX1pZigoVHwwKT09ODA2KXtpZihhdz4+
PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpO3JldHVybiAwfWVsc2V7Y1thdz4+Ml09VjtjW2FiKyhX
KzI0KT4+Ml09WDtjW2FiKyhXKzEyKT4+Ml09VjtjW2FiKyhXKzgpPj4yXT1WO2JyZWFrfX1RPVgr
OHwwO209Y1tRPj4yXXwwOyQ9Y1syNDY0XXwwO2lmKFg+Pj4wPCQ+Pj4wKXtiRygpO3JldHVybiAw
fWlmKG0+Pj4wPCQ+Pj4wKXtiRygpO3JldHVybiAwfWVsc2V7Y1ttKzEyPj4yXT1WO2NbUT4+Ml09
VjtjW2FiKyhXKzgpPj4yXT1tO2NbYWIrKFcrMTIpPj4yXT1YO2NbYWIrKFcrMjQpPj4yXT0wO2Jy
ZWFrfX19d2hpbGUoMCk7bj1hYisoYWt8OCl8MDtyZXR1cm4gbnwwfX13aGlsZSgwKTtZPWFkO1c9
MTAyODg7d2hpbGUoMSl7YXg9Y1tXPj4yXXwwO2lmKGF4Pj4+MDw9WT4+PjApe2F5PWNbVys0Pj4y
XXwwO2F6PWF4K2F5fDA7aWYoYXo+Pj4wPlk+Pj4wKXticmVha319Vz1jW1crOD4+Ml18MH1XPWF4
KyhheS0zOSl8MDtpZigoVyY3fDApPT0wKXthQT0wfWVsc2V7YUE9LVcmN31XPWF4KyhheS00Nyth
QSl8MDthYz1XPj4+MDwoYWQrMTZ8MCk+Pj4wP1k6VztXPWFjKzh8MDtfPWFiKzh8MDtpZigoXyY3
fDApPT0wKXthQj0wfWVsc2V7YUI9LV8mN31fPWFhLTQwLWFCfDA7Y1syNDY2XT1hYithQjtjWzI0
NjNdPV87Y1thYisoYUIrNCk+PjJdPV98MTtjW2FiKyhhYS0zNik+PjJdPTQwO2NbMjQ2N109Y1sy
NDU0XTtjW2FjKzQ+PjJdPTI3O2NbVz4+Ml09Y1syNTcyXTtjW1crND4+Ml09Y1sxMDI5Mj4+Ml07
Y1tXKzg+PjJdPWNbMTAyOTY+PjJdO2NbVysxMj4+Ml09Y1sxMDMwMD4+Ml07Y1syNTcyXT1hYjtj
WzI1NzNdPWFhO2NbMjU3NV09MDtjWzI1NzRdPVc7Vz1hYysyOHwwO2NbVz4+Ml09NztpZigoYWMr
MzJ8MCk+Pj4wPGF6Pj4+MCl7Xz1XO3doaWxlKDEpe1c9Xys0fDA7Y1tXPj4yXT03O2lmKChfKzh8
MCk+Pj4wPGF6Pj4+MCl7Xz1XfWVsc2V7YnJlYWt9fX1pZigoYWN8MCk9PShZfDApKXticmVha31f
PWFjLWFkfDA7Vz1ZKyhfKzQpfDA7Y1tXPj4yXT1jW1c+PjJdJi0yO2NbYWQrND4+Ml09X3wxO2Nb
WStfPj4yXT1fO1c9Xz4+PjM7aWYoXz4+PjA8MjU2KXtLPVc8PDE7Wj05ODgwKyhLPDwyKXwwO1M9
Y1syNDYwXXwwO209MTw8Vztkb3tpZigoUyZtfDApPT0wKXtjWzI0NjBdPVN8bTthQz1aO2FEPTk4
ODArKEsrMjw8Mil8MH1lbHNle1c9OTg4MCsoSysyPDwyKXwwO1E9Y1tXPj4yXXwwO2lmKFE+Pj4w
Pj0oY1syNDY0XXwwKT4+PjApe2FDPVE7YUQ9VzticmVha31iRygpO3JldHVybiAwfX13aGlsZSgw
KTtjW2FEPj4yXT1hZDtjW2FDKzEyPj4yXT1hZDtjW2FkKzg+PjJdPWFDO2NbYWQrMTI+PjJdPVo7
YnJlYWt9Sz1hZDttPV8+Pj44O2Rve2lmKChtfDApPT0wKXthRT0wfWVsc2V7aWYoXz4+PjA+MTY3
NzcyMTUpe2FFPTMxO2JyZWFrfVM9KG0rMTA0ODMyMHwwKT4+PjE2Jjg7WT1tPDxTO2FjPShZKzUy
MDE5MnwwKT4+PjE2JjQ7Vz1ZPDxhYztZPShXKzI0NTc2MHwwKT4+PjE2JjI7UT0xNC0oYWN8U3xZ
KSsoVzw8WT4+PjE1KXwwO2FFPV8+Pj4oKFErN3wwKT4+PjApJjF8UTw8MX19d2hpbGUoMCk7bT0x
MDE0NCsoYUU8PDIpfDA7Y1thZCsyOD4+Ml09YUU7Y1thZCsyMD4+Ml09MDtjW2FkKzE2Pj4yXT0w
O1o9Y1syNDYxXXwwO1E9MTw8YUU7aWYoKFomUXwwKT09MCl7Y1syNDYxXT1afFE7Y1ttPj4yXT1L
O2NbYWQrMjQ+PjJdPW07Y1thZCsxMj4+Ml09YWQ7Y1thZCs4Pj4yXT1hZDticmVha31pZigoYUV8
MCk9PTMxKXthRj0wfWVsc2V7YUY9MjUtKGFFPj4+MSl8MH1RPV88PGFGO1o9Y1ttPj4yXXwwO3do
aWxlKDEpe2lmKChjW1orND4+Ml0mLTh8MCk9PShffDApKXticmVha31hRz1aKzE2KyhRPj4+MzE8
PDIpfDA7bT1jW2FHPj4yXXwwO2lmKChtfDApPT0wKXtUPTg0MTticmVha31lbHNle1E9UTw8MTta
PW19fWlmKChUfDApPT04NDEpe2lmKGFHPj4+MDwoY1syNDY0XXwwKT4+PjApe2JHKCk7cmV0dXJu
IDB9ZWxzZXtjW2FHPj4yXT1LO2NbYWQrMjQ+PjJdPVo7Y1thZCsxMj4+Ml09YWQ7Y1thZCs4Pj4y
XT1hZDticmVha319UT1aKzh8MDtfPWNbUT4+Ml18MDttPWNbMjQ2NF18MDtpZihaPj4+MDxtPj4+
MCl7YkcoKTtyZXR1cm4gMH1pZihfPj4+MDxtPj4+MCl7YkcoKTtyZXR1cm4gMH1lbHNle2NbXysx
Mj4+Ml09SztjW1E+PjJdPUs7Y1thZCs4Pj4yXT1fO2NbYWQrMTI+PjJdPVo7Y1thZCsyND4+Ml09
MDticmVha319fXdoaWxlKDApO2FkPWNbMjQ2M118MDtpZihhZD4+PjA8PW8+Pj4wKXticmVha31f
PWFkLW98MDtjWzI0NjNdPV87YWQ9Y1syNDY2XXwwO1E9YWQ7Y1syNDY2XT1RK287Y1tRKyhvKzQp
Pj4yXT1ffDE7Y1thZCs0Pj4yXT1vfDM7bj1hZCs4fDA7cmV0dXJuIG58MH19d2hpbGUoMCk7Y1so
YncoKXwwKT4+Ml09MTI7bj0wO3JldHVybiBufDB9ZnVuY3Rpb24ga0soYSl7YT1hfDA7dmFyIGI9
MCxkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0w
LHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAs
Rj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wO2lmKChhfDApPT0wKXtyZXR1
cm59Yj1hLTh8MDtkPWI7ZT1jWzI0NjRdfDA7aWYoYj4+PjA8ZT4+PjApe2JHKCl9Zj1jW2EtND4+
Ml18MDtnPWYmMztpZigoZ3wwKT09MSl7YkcoKX1oPWYmLTg7aT1hKyhoLTgpfDA7aj1pO0wxMTg5
OmRve2lmKChmJjF8MCk9PTApe2s9Y1tiPj4yXXwwO2lmKChnfDApPT0wKXtyZXR1cm59bD0tOC1r
fDA7bT1hK2x8MDtuPW07bz1rK2h8MDtpZihtPj4+MDxlPj4+MCl7YkcoKX1pZigobnwwKT09KGNb
MjQ2NV18MCkpe3A9YSsoaC00KXwwO2lmKChjW3A+PjJdJjN8MCkhPTMpe3E9bjtyPW87YnJlYWt9
Y1syNDYyXT1vO2NbcD4+Ml09Y1twPj4yXSYtMjtjW2ErKGwrNCk+PjJdPW98MTtjW2k+PjJdPW87
cmV0dXJufXA9az4+PjM7aWYoaz4+PjA8MjU2KXtrPWNbYSsobCs4KT4+Ml18MDtzPWNbYSsobCsx
Mik+PjJdfDA7dD05ODgwKyhwPDwxPDwyKXwwO2Rve2lmKChrfDApIT0odHwwKSl7aWYoaz4+PjA8
ZT4+PjApe2JHKCl9aWYoKGNbaysxMj4+Ml18MCk9PShufDApKXticmVha31iRygpfX13aGlsZSgw
KTtpZigoc3wwKT09KGt8MCkpe2NbMjQ2MF09Y1syNDYwXSZ+KDE8PHApO3E9bjtyPW87YnJlYWt9
ZG97aWYoKHN8MCk9PSh0fDApKXt1PXMrOHwwfWVsc2V7aWYocz4+PjA8ZT4+PjApe2JHKCl9dj1z
Kzh8MDtpZigoY1t2Pj4yXXwwKT09KG58MCkpe3U9djticmVha31iRygpfX13aGlsZSgwKTtjW2sr
MTI+PjJdPXM7Y1t1Pj4yXT1rO3E9bjtyPW87YnJlYWt9dD1tO3A9Y1thKyhsKzI0KT4+Ml18MDt2
PWNbYSsobCsxMik+PjJdfDA7ZG97aWYoKHZ8MCk9PSh0fDApKXt3PWErKGwrMjApfDA7eD1jW3c+
PjJdfDA7aWYoKHh8MCk9PTApe3k9YSsobCsxNil8MDt6PWNbeT4+Ml18MDtpZigoenwwKT09MCl7
QT0wO2JyZWFrfWVsc2V7Qj16O0M9eX19ZWxzZXtCPXg7Qz13fXdoaWxlKDEpe3c9QisyMHwwO3g9
Y1t3Pj4yXXwwO2lmKCh4fDApIT0wKXtCPXg7Qz13O2NvbnRpbnVlfXc9QisxNnwwO3g9Y1t3Pj4y
XXwwO2lmKCh4fDApPT0wKXticmVha31lbHNle0I9eDtDPXd9fWlmKEM+Pj4wPGU+Pj4wKXtiRygp
fWVsc2V7Y1tDPj4yXT0wO0E9QjticmVha319ZWxzZXt3PWNbYSsobCs4KT4+Ml18MDtpZih3Pj4+
MDxlPj4+MCl7YkcoKX14PXcrMTJ8MDtpZigoY1t4Pj4yXXwwKSE9KHR8MCkpe2JHKCl9eT12Kzh8
MDtpZigoY1t5Pj4yXXwwKT09KHR8MCkpe2NbeD4+Ml09djtjW3k+PjJdPXc7QT12O2JyZWFrfWVs
c2V7YkcoKX19fXdoaWxlKDApO2lmKChwfDApPT0wKXtxPW47cj1vO2JyZWFrfXY9YSsobCsyOCl8
MDttPTEwMTQ0KyhjW3Y+PjJdPDwyKXwwO2Rve2lmKCh0fDApPT0oY1ttPj4yXXwwKSl7Y1ttPj4y
XT1BO2lmKChBfDApIT0wKXticmVha31jWzI0NjFdPWNbMjQ2MV0mfigxPDxjW3Y+PjJdKTtxPW47
cj1vO2JyZWFrIEwxMTg5fWVsc2V7aWYocD4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpfWs9cCsx
NnwwO2lmKChjW2s+PjJdfDApPT0odHwwKSl7Y1trPj4yXT1BfWVsc2V7Y1twKzIwPj4yXT1BfWlm
KChBfDApPT0wKXtxPW47cj1vO2JyZWFrIEwxMTg5fX19d2hpbGUoMCk7aWYoQT4+PjA8KGNbMjQ2
NF18MCk+Pj4wKXtiRygpfWNbQSsyND4+Ml09cDt0PWNbYSsobCsxNik+PjJdfDA7ZG97aWYoKHR8
MCkhPTApe2lmKHQ+Pj4wPChjWzI0NjRdfDApPj4+MCl7YkcoKX1lbHNle2NbQSsxNj4+Ml09dDtj
W3QrMjQ+PjJdPUE7YnJlYWt9fX13aGlsZSgwKTt0PWNbYSsobCsyMCk+PjJdfDA7aWYoKHR8MCk9
PTApe3E9bjtyPW87YnJlYWt9aWYodD4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpfWVsc2V7Y1tB
KzIwPj4yXT10O2NbdCsyND4+Ml09QTtxPW47cj1vO2JyZWFrfX1lbHNle3E9ZDtyPWh9fXdoaWxl
KDApO2Q9cTtpZihkPj4+MD49aT4+PjApe2JHKCl9QT1hKyhoLTQpfDA7ZT1jW0E+PjJdfDA7aWYo
KGUmMXwwKT09MCl7YkcoKX1kb3tpZigoZSYyfDApPT0wKXtpZigoanwwKT09KGNbMjQ2Nl18MCkp
e0I9KGNbMjQ2M118MCkrcnwwO2NbMjQ2M109QjtjWzI0NjZdPXE7Y1txKzQ+PjJdPUJ8MTtpZigo
cXwwKSE9KGNbMjQ2NV18MCkpe3JldHVybn1jWzI0NjVdPTA7Y1syNDYyXT0wO3JldHVybn1pZigo
anwwKT09KGNbMjQ2NV18MCkpe0I9KGNbMjQ2Ml18MCkrcnwwO2NbMjQ2Ml09QjtjWzI0NjVdPXE7
Y1txKzQ+PjJdPUJ8MTtjW2QrQj4+Ml09QjtyZXR1cm59Qj0oZSYtOCkrcnwwO0M9ZT4+PjM7TDEy
OTI6ZG97aWYoZT4+PjA8MjU2KXt1PWNbYStoPj4yXXwwO2c9Y1thKyhofDQpPj4yXXwwO2I9OTg4
MCsoQzw8MTw8Mil8MDtkb3tpZigodXwwKSE9KGJ8MCkpe2lmKHU+Pj4wPChjWzI0NjRdfDApPj4+
MCl7YkcoKX1pZigoY1t1KzEyPj4yXXwwKT09KGp8MCkpe2JyZWFrfWJHKCl9fXdoaWxlKDApO2lm
KChnfDApPT0odXwwKSl7Y1syNDYwXT1jWzI0NjBdJn4oMTw8Qyk7YnJlYWt9ZG97aWYoKGd8MCk9
PShifDApKXtEPWcrOHwwfWVsc2V7aWYoZz4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpfWY9Zys4
fDA7aWYoKGNbZj4+Ml18MCk9PShqfDApKXtEPWY7YnJlYWt9YkcoKX19d2hpbGUoMCk7Y1t1KzEy
Pj4yXT1nO2NbRD4+Ml09dX1lbHNle2I9aTtmPWNbYSsoaCsxNik+PjJdfDA7dD1jW2ErKGh8NCk+
PjJdfDA7ZG97aWYoKHR8MCk9PShifDApKXtwPWErKGgrMTIpfDA7dj1jW3A+PjJdfDA7aWYoKHZ8
MCk9PTApe209YSsoaCs4KXwwO2s9Y1ttPj4yXXwwO2lmKChrfDApPT0wKXtFPTA7YnJlYWt9ZWxz
ZXtGPWs7Rz1tfX1lbHNle0Y9djtHPXB9d2hpbGUoMSl7cD1GKzIwfDA7dj1jW3A+PjJdfDA7aWYo
KHZ8MCkhPTApe0Y9djtHPXA7Y29udGludWV9cD1GKzE2fDA7dj1jW3A+PjJdfDA7aWYoKHZ8MCk9
PTApe2JyZWFrfWVsc2V7Rj12O0c9cH19aWYoRz4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpfWVs
c2V7Y1tHPj4yXT0wO0U9RjticmVha319ZWxzZXtwPWNbYStoPj4yXXwwO2lmKHA+Pj4wPChjWzI0
NjRdfDApPj4+MCl7YkcoKX12PXArMTJ8MDtpZigoY1t2Pj4yXXwwKSE9KGJ8MCkpe2JHKCl9bT10
Kzh8MDtpZigoY1ttPj4yXXwwKT09KGJ8MCkpe2Nbdj4+Ml09dDtjW20+PjJdPXA7RT10O2JyZWFr
fWVsc2V7YkcoKX19fXdoaWxlKDApO2lmKChmfDApPT0wKXticmVha310PWErKGgrMjApfDA7dT0x
MDE0NCsoY1t0Pj4yXTw8Mil8MDtkb3tpZigoYnwwKT09KGNbdT4+Ml18MCkpe2NbdT4+Ml09RTtp
ZigoRXwwKSE9MCl7YnJlYWt9Y1syNDYxXT1jWzI0NjFdJn4oMTw8Y1t0Pj4yXSk7YnJlYWsgTDEy
OTJ9ZWxzZXtpZihmPj4+MDwoY1syNDY0XXwwKT4+PjApe2JHKCl9Zz1mKzE2fDA7aWYoKGNbZz4+
Ml18MCk9PShifDApKXtjW2c+PjJdPUV9ZWxzZXtjW2YrMjA+PjJdPUV9aWYoKEV8MCk9PTApe2Jy
ZWFrIEwxMjkyfX19d2hpbGUoMCk7aWYoRT4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpfWNbRSsy
ND4+Ml09ZjtiPWNbYSsoaCs4KT4+Ml18MDtkb3tpZigoYnwwKSE9MCl7aWYoYj4+PjA8KGNbMjQ2
NF18MCk+Pj4wKXtiRygpfWVsc2V7Y1tFKzE2Pj4yXT1iO2NbYisyND4+Ml09RTticmVha319fXdo
aWxlKDApO2I9Y1thKyhoKzEyKT4+Ml18MDtpZigoYnwwKT09MCl7YnJlYWt9aWYoYj4+PjA8KGNb
MjQ2NF18MCk+Pj4wKXtiRygpfWVsc2V7Y1tFKzIwPj4yXT1iO2NbYisyND4+Ml09RTticmVha319
fXdoaWxlKDApO2NbcSs0Pj4yXT1CfDE7Y1tkK0I+PjJdPUI7aWYoKHF8MCkhPShjWzI0NjVdfDAp
KXtIPUI7YnJlYWt9Y1syNDYyXT1CO3JldHVybn1lbHNle2NbQT4+Ml09ZSYtMjtjW3ErND4+Ml09
cnwxO2NbZCtyPj4yXT1yO0g9cn19d2hpbGUoMCk7cj1IPj4+MztpZihIPj4+MDwyNTYpe2Q9cjw8
MTtlPTk4ODArKGQ8PDIpfDA7QT1jWzI0NjBdfDA7RT0xPDxyO2Rve2lmKChBJkV8MCk9PTApe2Nb
MjQ2MF09QXxFO0k9ZTtKPTk4ODArKGQrMjw8Mil8MH1lbHNle3I9OTg4MCsoZCsyPDwyKXwwO2g9
Y1tyPj4yXXwwO2lmKGg+Pj4wPj0oY1syNDY0XXwwKT4+PjApe0k9aDtKPXI7YnJlYWt9YkcoKX19
d2hpbGUoMCk7Y1tKPj4yXT1xO2NbSSsxMj4+Ml09cTtjW3ErOD4+Ml09STtjW3ErMTI+PjJdPWU7
cmV0dXJufWU9cTtJPUg+Pj44O2Rve2lmKChJfDApPT0wKXtLPTB9ZWxzZXtpZihIPj4+MD4xNjc3
NzIxNSl7Sz0zMTticmVha31KPShJKzEwNDgzMjB8MCk+Pj4xNiY4O2Q9STw8SjtFPShkKzUyMDE5
MnwwKT4+PjE2JjQ7QT1kPDxFO2Q9KEErMjQ1NzYwfDApPj4+MTYmMjtyPTE0LShFfEp8ZCkrKEE8
PGQ+Pj4xNSl8MDtLPUg+Pj4oKHIrN3wwKT4+PjApJjF8cjw8MX19d2hpbGUoMCk7ST0xMDE0NCso
Szw8Mil8MDtjW3ErMjg+PjJdPUs7Y1txKzIwPj4yXT0wO2NbcSsxNj4+Ml09MDtyPWNbMjQ2MV18
MDtkPTE8PEs7ZG97aWYoKHImZHwwKT09MCl7Y1syNDYxXT1yfGQ7Y1tJPj4yXT1lO2NbcSsyND4+
Ml09STtjW3ErMTI+PjJdPXE7Y1txKzg+PjJdPXF9ZWxzZXtpZigoS3wwKT09MzEpe0w9MH1lbHNl
e0w9MjUtKEs+Pj4xKXwwfUE9SDw8TDtKPWNbST4+Ml18MDt3aGlsZSgxKXtpZigoY1tKKzQ+PjJd
Ji04fDApPT0oSHwwKSl7YnJlYWt9TT1KKzE2KyhBPj4+MzE8PDIpfDA7RT1jW00+PjJdfDA7aWYo
KEV8MCk9PTApe049MTAxODticmVha31lbHNle0E9QTw8MTtKPUV9fWlmKChOfDApPT0xMDE4KXtp
ZihNPj4+MDwoY1syNDY0XXwwKT4+PjApe2JHKCl9ZWxzZXtjW00+PjJdPWU7Y1txKzI0Pj4yXT1K
O2NbcSsxMj4+Ml09cTtjW3ErOD4+Ml09cTticmVha319QT1KKzh8MDtCPWNbQT4+Ml18MDtFPWNb
MjQ2NF18MDtpZihKPj4+MDxFPj4+MCl7YkcoKX1pZihCPj4+MDxFPj4+MCl7YkcoKX1lbHNle2Nb
QisxMj4+Ml09ZTtjW0E+PjJdPWU7Y1txKzg+PjJdPUI7Y1txKzEyPj4yXT1KO2NbcSsyND4+Ml09
MDticmVha319fXdoaWxlKDApO3E9KGNbMjQ2OF18MCktMXwwO2NbMjQ2OF09cTtpZigocXwwKT09
MCl7Tz0xMDI5Nn1lbHNle3JldHVybn13aGlsZSgxKXtxPWNbTz4+Ml18MDtpZigocXwwKT09MCl7
YnJlYWt9ZWxzZXtPPXErOHwwfX1jWzI0NjhdPS0xO3JldHVybn1mdW5jdGlvbiBrTChhLGIpe2E9
YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTA7aWYoKGF8MCk9PTApe2Q9a0ooYil8MDtyZXR1
cm4gZHwwfWlmKGI+Pj4wPjQyOTQ5NjcyMzEpe2NbKGJ3KCl8MCk+PjJdPTEyO2Q9MDtyZXR1cm4g
ZHwwfWlmKGI+Pj4wPDExKXtlPTE2fWVsc2V7ZT1iKzExJi04fWY9a00oYS04fDAsZSl8MDtpZigo
ZnwwKSE9MCl7ZD1mKzh8MDtyZXR1cm4gZHwwfWY9a0ooYil8MDtpZigoZnwwKT09MCl7ZD0wO3Jl
dHVybiBkfDB9ZT1jW2EtND4+Ml18MDtnPShlJi04KS0oKGUmM3wwKT09MD84OjQpfDA7ZT1nPj4+
MDxiPj4+MD9nOmI7a1koZnwwLGF8MCxlKXwwO2tLKGEpO2Q9ZjtyZXR1cm4gZHwwfWZ1bmN0aW9u
IGtNKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAs
bD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6
PTAsQT0wO2Q9YSs0fDA7ZT1jW2Q+PjJdfDA7Zj1lJi04O2c9YTtoPWcrZnwwO2k9aDtqPWNbMjQ2
NF18MDtpZihnPj4+MDxqPj4+MCl7YkcoKTtyZXR1cm4gMH1rPWUmMztpZighKChrfDApIT0xJmc+
Pj4wPGg+Pj4wKSl7YkcoKTtyZXR1cm4gMH1sPWcrKGZ8NCl8MDttPWNbbD4+Ml18MDtpZigobSYx
fDApPT0wKXtiRygpO3JldHVybiAwfWlmKChrfDApPT0wKXtpZihiPj4+MDwyNTYpe249MDtyZXR1
cm4gbnwwfWRve2lmKGY+Pj4wPj0oYis0fDApPj4+MCl7aWYoKGYtYnwwKT4+PjA+Y1syNDUyXTw8
MT4+PjApe2JyZWFrfWVsc2V7bj1hfXJldHVybiBufDB9fXdoaWxlKDApO249MDtyZXR1cm4gbnww
fWlmKGY+Pj4wPj1iPj4+MCl7az1mLWJ8MDtpZihrPj4+MDw9MTUpe249YTtyZXR1cm4gbnwwfWNb
ZD4+Ml09ZSYxfGJ8MjtjW2crKGIrNCk+PjJdPWt8MztjW2w+PjJdPWNbbD4+Ml18MTtrTihnK2J8
MCxrKTtuPWE7cmV0dXJuIG58MH1pZigoaXwwKT09KGNbMjQ2Nl18MCkpe2s9KGNbMjQ2M118MCkr
ZnwwO2lmKGs+Pj4wPD1iPj4+MCl7bj0wO3JldHVybiBufDB9bD1rLWJ8MDtjW2Q+PjJdPWUmMXxi
fDI7Y1tnKyhiKzQpPj4yXT1sfDE7Y1syNDY2XT1nK2I7Y1syNDYzXT1sO249YTtyZXR1cm4gbnww
fWlmKChpfDApPT0oY1syNDY1XXwwKSl7bD0oY1syNDYyXXwwKStmfDA7aWYobD4+PjA8Yj4+PjAp
e249MDtyZXR1cm4gbnwwfWs9bC1ifDA7aWYoaz4+PjA+MTUpe2NbZD4+Ml09ZSYxfGJ8MjtjW2cr
KGIrNCk+PjJdPWt8MTtjW2crbD4+Ml09aztvPWcrKGwrNCl8MDtjW28+PjJdPWNbbz4+Ml0mLTI7
cD1nK2J8MDtxPWt9ZWxzZXtjW2Q+PjJdPWUmMXxsfDI7ZT1nKyhsKzQpfDA7Y1tlPj4yXT1jW2U+
PjJdfDE7cD0wO3E9MH1jWzI0NjJdPXE7Y1syNDY1XT1wO249YTtyZXR1cm4gbnwwfWlmKChtJjJ8
MCkhPTApe249MDtyZXR1cm4gbnwwfXA9KG0mLTgpK2Z8MDtpZihwPj4+MDxiPj4+MCl7bj0wO3Jl
dHVybiBufDB9cT1wLWJ8MDtlPW0+Pj4zO0wxNDc4OmRve2lmKG0+Pj4wPDI1Nil7bD1jW2crKGYr
OCk+PjJdfDA7az1jW2crKGYrMTIpPj4yXXwwO289OTg4MCsoZTw8MTw8Mil8MDtkb3tpZigobHww
KSE9KG98MCkpe2lmKGw+Pj4wPGo+Pj4wKXtiRygpO3JldHVybiAwfWlmKChjW2wrMTI+PjJdfDAp
PT0oaXwwKSl7YnJlYWt9YkcoKTtyZXR1cm4gMH19d2hpbGUoMCk7aWYoKGt8MCk9PShsfDApKXtj
WzI0NjBdPWNbMjQ2MF0mfigxPDxlKTticmVha31kb3tpZigoa3wwKT09KG98MCkpe3I9ays4fDB9
ZWxzZXtpZihrPj4+MDxqPj4+MCl7YkcoKTtyZXR1cm4gMH1zPWsrOHwwO2lmKChjW3M+PjJdfDAp
PT0oaXwwKSl7cj1zO2JyZWFrfWJHKCk7cmV0dXJuIDB9fXdoaWxlKDApO2NbbCsxMj4+Ml09aztj
W3I+PjJdPWx9ZWxzZXtvPWg7cz1jW2crKGYrMjQpPj4yXXwwO3Q9Y1tnKyhmKzEyKT4+Ml18MDtk
b3tpZigodHwwKT09KG98MCkpe3U9ZysoZisyMCl8MDt2PWNbdT4+Ml18MDtpZigodnwwKT09MCl7
dz1nKyhmKzE2KXwwO3g9Y1t3Pj4yXXwwO2lmKCh4fDApPT0wKXt5PTA7YnJlYWt9ZWxzZXt6PXg7
QT13fX1lbHNle3o9djtBPXV9d2hpbGUoMSl7dT16KzIwfDA7dj1jW3U+PjJdfDA7aWYoKHZ8MCkh
PTApe3o9djtBPXU7Y29udGludWV9dT16KzE2fDA7dj1jW3U+PjJdfDA7aWYoKHZ8MCk9PTApe2Jy
ZWFrfWVsc2V7ej12O0E9dX19aWYoQT4+PjA8aj4+PjApe2JHKCk7cmV0dXJuIDB9ZWxzZXtjW0E+
PjJdPTA7eT16O2JyZWFrfX1lbHNle3U9Y1tnKyhmKzgpPj4yXXwwO2lmKHU+Pj4wPGo+Pj4wKXti
RygpO3JldHVybiAwfXY9dSsxMnwwO2lmKChjW3Y+PjJdfDApIT0ob3wwKSl7YkcoKTtyZXR1cm4g
MH13PXQrOHwwO2lmKChjW3c+PjJdfDApPT0ob3wwKSl7Y1t2Pj4yXT10O2Nbdz4+Ml09dTt5PXQ7
YnJlYWt9ZWxzZXtiRygpO3JldHVybiAwfX19d2hpbGUoMCk7aWYoKHN8MCk9PTApe2JyZWFrfXQ9
ZysoZisyOCl8MDtsPTEwMTQ0KyhjW3Q+PjJdPDwyKXwwO2Rve2lmKChvfDApPT0oY1tsPj4yXXww
KSl7Y1tsPj4yXT15O2lmKCh5fDApIT0wKXticmVha31jWzI0NjFdPWNbMjQ2MV0mfigxPDxjW3Q+
PjJdKTticmVhayBMMTQ3OH1lbHNle2lmKHM+Pj4wPChjWzI0NjRdfDApPj4+MCl7YkcoKTtyZXR1
cm4gMH1rPXMrMTZ8MDtpZigoY1trPj4yXXwwKT09KG98MCkpe2Nbaz4+Ml09eX1lbHNle2Nbcysy
MD4+Ml09eX1pZigoeXwwKT09MCl7YnJlYWsgTDE0Nzh9fX13aGlsZSgwKTtpZih5Pj4+MDwoY1sy
NDY0XXwwKT4+PjApe2JHKCk7cmV0dXJuIDB9Y1t5KzI0Pj4yXT1zO289Y1tnKyhmKzE2KT4+Ml18
MDtkb3tpZigob3wwKSE9MCl7aWYobz4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpO3JldHVybiAw
fWVsc2V7Y1t5KzE2Pj4yXT1vO2NbbysyND4+Ml09eTticmVha319fXdoaWxlKDApO289Y1tnKyhm
KzIwKT4+Ml18MDtpZigob3wwKT09MCl7YnJlYWt9aWYobz4+PjA8KGNbMjQ2NF18MCk+Pj4wKXti
RygpO3JldHVybiAwfWVsc2V7Y1t5KzIwPj4yXT1vO2NbbysyND4+Ml09eTticmVha319fXdoaWxl
KDApO2lmKHE+Pj4wPDE2KXtjW2Q+PjJdPXB8Y1tkPj4yXSYxfDI7eT1nKyhwfDQpfDA7Y1t5Pj4y
XT1jW3k+PjJdfDE7bj1hO3JldHVybiBufDB9ZWxzZXtjW2Q+PjJdPWNbZD4+Ml0mMXxifDI7Y1tn
KyhiKzQpPj4yXT1xfDM7ZD1nKyhwfDQpfDA7Y1tkPj4yXT1jW2Q+PjJdfDE7a04oZytifDAscSk7
bj1hO3JldHVybiBufDB9cmV0dXJuIDB9ZnVuY3Rpb24ga04oYSxiKXthPWF8MDtiPWJ8MDt2YXIg
ZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxy
PTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9
MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MDtkPWE7ZT1kK2J8MDtmPWU7Zz1jW2ErND4+Ml18MDtM
MTU1NDpkb3tpZigoZyYxfDApPT0wKXtoPWNbYT4+Ml18MDtpZigoZyYzfDApPT0wKXtyZXR1cm59
aT1kKygtaHwwKXwwO2o9aTtrPWgrYnwwO2w9Y1syNDY0XXwwO2lmKGk+Pj4wPGw+Pj4wKXtiRygp
fWlmKChqfDApPT0oY1syNDY1XXwwKSl7bT1kKyhiKzQpfDA7aWYoKGNbbT4+Ml0mM3wwKSE9Myl7
bj1qO289azticmVha31jWzI0NjJdPWs7Y1ttPj4yXT1jW20+PjJdJi0yO2NbZCsoNC1oKT4+Ml09
a3wxO2NbZT4+Ml09aztyZXR1cm59bT1oPj4+MztpZihoPj4+MDwyNTYpe3A9Y1tkKyg4LWgpPj4y
XXwwO3E9Y1tkKygxMi1oKT4+Ml18MDtyPTk4ODArKG08PDE8PDIpfDA7ZG97aWYoKHB8MCkhPShy
fDApKXtpZihwPj4+MDxsPj4+MCl7YkcoKX1pZigoY1twKzEyPj4yXXwwKT09KGp8MCkpe2JyZWFr
fWJHKCl9fXdoaWxlKDApO2lmKChxfDApPT0ocHwwKSl7Y1syNDYwXT1jWzI0NjBdJn4oMTw8bSk7
bj1qO289azticmVha31kb3tpZigocXwwKT09KHJ8MCkpe3M9cSs4fDB9ZWxzZXtpZihxPj4+MDxs
Pj4+MCl7YkcoKX10PXErOHwwO2lmKChjW3Q+PjJdfDApPT0oanwwKSl7cz10O2JyZWFrfWJHKCl9
fXdoaWxlKDApO2NbcCsxMj4+Ml09cTtjW3M+PjJdPXA7bj1qO289azticmVha31yPWk7bT1jW2Qr
KDI0LWgpPj4yXXwwO3Q9Y1tkKygxMi1oKT4+Ml18MDtkb3tpZigodHwwKT09KHJ8MCkpe3U9MTYt
aHwwO3Y9ZCsodSs0KXwwO3c9Y1t2Pj4yXXwwO2lmKCh3fDApPT0wKXt4PWQrdXwwO3U9Y1t4Pj4y
XXwwO2lmKCh1fDApPT0wKXt5PTA7YnJlYWt9ZWxzZXt6PXU7QT14fX1lbHNle3o9dztBPXZ9d2hp
bGUoMSl7dj16KzIwfDA7dz1jW3Y+PjJdfDA7aWYoKHd8MCkhPTApe3o9dztBPXY7Y29udGludWV9
dj16KzE2fDA7dz1jW3Y+PjJdfDA7aWYoKHd8MCk9PTApe2JyZWFrfWVsc2V7ej13O0E9dn19aWYo
QT4+PjA8bD4+PjApe2JHKCl9ZWxzZXtjW0E+PjJdPTA7eT16O2JyZWFrfX1lbHNle3Y9Y1tkKyg4
LWgpPj4yXXwwO2lmKHY+Pj4wPGw+Pj4wKXtiRygpfXc9disxMnwwO2lmKChjW3c+PjJdfDApIT0o
cnwwKSl7YkcoKX14PXQrOHwwO2lmKChjW3g+PjJdfDApPT0ocnwwKSl7Y1t3Pj4yXT10O2NbeD4+
Ml09djt5PXQ7YnJlYWt9ZWxzZXtiRygpfX19d2hpbGUoMCk7aWYoKG18MCk9PTApe249ajtvPWs7
YnJlYWt9dD1kKygyOC1oKXwwO2w9MTAxNDQrKGNbdD4+Ml08PDIpfDA7ZG97aWYoKHJ8MCk9PShj
W2w+PjJdfDApKXtjW2w+PjJdPXk7aWYoKHl8MCkhPTApe2JyZWFrfWNbMjQ2MV09Y1syNDYxXSZ+
KDE8PGNbdD4+Ml0pO249ajtvPWs7YnJlYWsgTDE1NTR9ZWxzZXtpZihtPj4+MDwoY1syNDY0XXww
KT4+PjApe2JHKCl9aT1tKzE2fDA7aWYoKGNbaT4+Ml18MCk9PShyfDApKXtjW2k+PjJdPXl9ZWxz
ZXtjW20rMjA+PjJdPXl9aWYoKHl8MCk9PTApe249ajtvPWs7YnJlYWsgTDE1NTR9fX13aGlsZSgw
KTtpZih5Pj4+MDwoY1syNDY0XXwwKT4+PjApe2JHKCl9Y1t5KzI0Pj4yXT1tO3I9MTYtaHwwO3Q9
Y1tkK3I+PjJdfDA7ZG97aWYoKHR8MCkhPTApe2lmKHQ+Pj4wPChjWzI0NjRdfDApPj4+MCl7Ykco
KX1lbHNle2NbeSsxNj4+Ml09dDtjW3QrMjQ+PjJdPXk7YnJlYWt9fX13aGlsZSgwKTt0PWNbZCso
cis0KT4+Ml18MDtpZigodHwwKT09MCl7bj1qO289azticmVha31pZih0Pj4+MDwoY1syNDY0XXww
KT4+PjApe2JHKCl9ZWxzZXtjW3krMjA+PjJdPXQ7Y1t0KzI0Pj4yXT15O249ajtvPWs7YnJlYWt9
fWVsc2V7bj1hO289Yn19d2hpbGUoMCk7YT1jWzI0NjRdfDA7aWYoZT4+PjA8YT4+PjApe2JHKCl9
eT1kKyhiKzQpfDA7ej1jW3k+PjJdfDA7ZG97aWYoKHomMnwwKT09MCl7aWYoKGZ8MCk9PShjWzI0
NjZdfDApKXtBPShjWzI0NjNdfDApK298MDtjWzI0NjNdPUE7Y1syNDY2XT1uO2Nbbis0Pj4yXT1B
fDE7aWYoKG58MCkhPShjWzI0NjVdfDApKXtyZXR1cm59Y1syNDY1XT0wO2NbMjQ2Ml09MDtyZXR1
cm59aWYoKGZ8MCk9PShjWzI0NjVdfDApKXtBPShjWzI0NjJdfDApK298MDtjWzI0NjJdPUE7Y1sy
NDY1XT1uO2Nbbis0Pj4yXT1BfDE7Y1tuK0E+PjJdPUE7cmV0dXJufUE9KHomLTgpK298MDtzPXo+
Pj4zO0wxNjUzOmRve2lmKHo+Pj4wPDI1Nil7Zz1jW2QrKGIrOCk+PjJdfDA7dD1jW2QrKGIrMTIp
Pj4yXXwwO2g9OTg4MCsoczw8MTw8Mil8MDtkb3tpZigoZ3wwKSE9KGh8MCkpe2lmKGc+Pj4wPGE+
Pj4wKXtiRygpfWlmKChjW2crMTI+PjJdfDApPT0oZnwwKSl7YnJlYWt9YkcoKX19d2hpbGUoMCk7
aWYoKHR8MCk9PShnfDApKXtjWzI0NjBdPWNbMjQ2MF0mfigxPDxzKTticmVha31kb3tpZigodHww
KT09KGh8MCkpe0I9dCs4fDB9ZWxzZXtpZih0Pj4+MDxhPj4+MCl7YkcoKX1tPXQrOHwwO2lmKChj
W20+PjJdfDApPT0oZnwwKSl7Qj1tO2JyZWFrfWJHKCl9fXdoaWxlKDApO2NbZysxMj4+Ml09dDtj
W0I+PjJdPWd9ZWxzZXtoPWU7bT1jW2QrKGIrMjQpPj4yXXwwO2w9Y1tkKyhiKzEyKT4+Ml18MDtk
b3tpZigobHwwKT09KGh8MCkpe2k9ZCsoYisyMCl8MDtwPWNbaT4+Ml18MDtpZigocHwwKT09MCl7
cT1kKyhiKzE2KXwwO3Y9Y1txPj4yXXwwO2lmKCh2fDApPT0wKXtDPTA7YnJlYWt9ZWxzZXtEPXY7
RT1xfX1lbHNle0Q9cDtFPWl9d2hpbGUoMSl7aT1EKzIwfDA7cD1jW2k+PjJdfDA7aWYoKHB8MCkh
PTApe0Q9cDtFPWk7Y29udGludWV9aT1EKzE2fDA7cD1jW2k+PjJdfDA7aWYoKHB8MCk9PTApe2Jy
ZWFrfWVsc2V7RD1wO0U9aX19aWYoRT4+PjA8YT4+PjApe2JHKCl9ZWxzZXtjW0U+PjJdPTA7Qz1E
O2JyZWFrfX1lbHNle2k9Y1tkKyhiKzgpPj4yXXwwO2lmKGk+Pj4wPGE+Pj4wKXtiRygpfXA9aSsx
MnwwO2lmKChjW3A+PjJdfDApIT0oaHwwKSl7YkcoKX1xPWwrOHwwO2lmKChjW3E+PjJdfDApPT0o
aHwwKSl7Y1twPj4yXT1sO2NbcT4+Ml09aTtDPWw7YnJlYWt9ZWxzZXtiRygpfX19d2hpbGUoMCk7
aWYoKG18MCk9PTApe2JyZWFrfWw9ZCsoYisyOCl8MDtnPTEwMTQ0KyhjW2w+PjJdPDwyKXwwO2Rv
e2lmKChofDApPT0oY1tnPj4yXXwwKSl7Y1tnPj4yXT1DO2lmKChDfDApIT0wKXticmVha31jWzI0
NjFdPWNbMjQ2MV0mfigxPDxjW2w+PjJdKTticmVhayBMMTY1M31lbHNle2lmKG0+Pj4wPChjWzI0
NjRdfDApPj4+MCl7YkcoKX10PW0rMTZ8MDtpZigoY1t0Pj4yXXwwKT09KGh8MCkpe2NbdD4+Ml09
Q31lbHNle2NbbSsyMD4+Ml09Q31pZigoQ3wwKT09MCl7YnJlYWsgTDE2NTN9fX13aGlsZSgwKTtp
ZihDPj4+MDwoY1syNDY0XXwwKT4+PjApe2JHKCl9Y1tDKzI0Pj4yXT1tO2g9Y1tkKyhiKzE2KT4+
Ml18MDtkb3tpZigoaHwwKSE9MCl7aWYoaD4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpfWVsc2V7
Y1tDKzE2Pj4yXT1oO2NbaCsyND4+Ml09QzticmVha319fXdoaWxlKDApO2g9Y1tkKyhiKzIwKT4+
Ml18MDtpZigoaHwwKT09MCl7YnJlYWt9aWYoaD4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpfWVs
c2V7Y1tDKzIwPj4yXT1oO2NbaCsyND4+Ml09QzticmVha319fXdoaWxlKDApO2Nbbis0Pj4yXT1B
fDE7Y1tuK0E+PjJdPUE7aWYoKG58MCkhPShjWzI0NjVdfDApKXtGPUE7YnJlYWt9Y1syNDYyXT1B
O3JldHVybn1lbHNle2NbeT4+Ml09eiYtMjtjW24rND4+Ml09b3wxO2NbbitvPj4yXT1vO0Y9b319
d2hpbGUoMCk7bz1GPj4+MztpZihGPj4+MDwyNTYpe3o9bzw8MTt5PTk4ODArKHo8PDIpfDA7Qz1j
WzI0NjBdfDA7Yj0xPDxvO2Rve2lmKChDJmJ8MCk9PTApe2NbMjQ2MF09Q3xiO0c9eTtIPTk4ODAr
KHorMjw8Mil8MH1lbHNle289OTg4MCsoeisyPDwyKXwwO2Q9Y1tvPj4yXXwwO2lmKGQ+Pj4wPj0o
Y1syNDY0XXwwKT4+PjApe0c9ZDtIPW87YnJlYWt9YkcoKX19d2hpbGUoMCk7Y1tIPj4yXT1uO2Nb
RysxMj4+Ml09bjtjW24rOD4+Ml09RztjW24rMTI+PjJdPXk7cmV0dXJufXk9bjtHPUY+Pj44O2Rv
e2lmKChHfDApPT0wKXtJPTB9ZWxzZXtpZihGPj4+MD4xNjc3NzIxNSl7ST0zMTticmVha31IPShH
KzEwNDgzMjB8MCk+Pj4xNiY4O3o9Rzw8SDtiPSh6KzUyMDE5MnwwKT4+PjE2JjQ7Qz16PDxiO3o9
KEMrMjQ1NzYwfDApPj4+MTYmMjtvPTE0LShifEh8eikrKEM8PHo+Pj4xNSl8MDtJPUY+Pj4oKG8r
N3wwKT4+PjApJjF8bzw8MX19d2hpbGUoMCk7Rz0xMDE0NCsoSTw8Mil8MDtjW24rMjg+PjJdPUk7
Y1tuKzIwPj4yXT0wO2NbbisxNj4+Ml09MDtvPWNbMjQ2MV18MDt6PTE8PEk7aWYoKG8menwwKT09
MCl7Y1syNDYxXT1vfHo7Y1tHPj4yXT15O2NbbisyND4+Ml09RztjW24rMTI+PjJdPW47Y1tuKzg+
PjJdPW47cmV0dXJufWlmKChJfDApPT0zMSl7Sj0wfWVsc2V7Sj0yNS0oST4+PjEpfDB9ST1GPDxK
O0o9Y1tHPj4yXXwwO3doaWxlKDEpe2lmKChjW0orND4+Ml0mLTh8MCk9PShGfDApKXticmVha31L
PUorMTYrKEk+Pj4zMTw8Mil8MDtHPWNbSz4+Ml18MDtpZigoR3wwKT09MCl7TD0xMjk4O2JyZWFr
fWVsc2V7ST1JPDwxO0o9R319aWYoKEx8MCk9PTEyOTgpe2lmKEs+Pj4wPChjWzI0NjRdfDApPj4+
MCl7YkcoKX1jW0s+PjJdPXk7Y1tuKzI0Pj4yXT1KO2NbbisxMj4+Ml09bjtjW24rOD4+Ml09bjty
ZXR1cm59Sz1KKzh8MDtMPWNbSz4+Ml18MDtJPWNbMjQ2NF18MDtpZihKPj4+MDxJPj4+MCl7Ykco
KX1pZihMPj4+MDxJPj4+MCl7YkcoKX1jW0wrMTI+PjJdPXk7Y1tLPj4yXT15O2Nbbis4Pj4yXT1M
O2NbbisxMj4+Ml09SjtjW24rMjQ+PjJdPTA7cmV0dXJufWZ1bmN0aW9uIGtPKGEpe2E9YXwwO3Zh
ciBiPTAsZD0wLGU9MDtiPShhfDApPT0wPzE6YTt3aGlsZSgxKXtkPWtKKGIpfDA7aWYoKGR8MCkh
PTApe2U9MTM0MjticmVha31hPShJPWNbNDA0OF18MCxjWzQwNDhdPUkrMCxJKTtpZigoYXwwKT09
MCl7YnJlYWt9YjVbYSYzXSgpfWlmKChlfDApPT0xMzQyKXtyZXR1cm4gZHwwfWQ9Yk8oNCl8MDtj
W2Q+PjJdPTI0MDg7YmwoZHwwLDgxNjAsMzApO3JldHVybiAwfWZ1bmN0aW9uIGtQKGEpe2E9YXww
O3JldHVybiBrTyhhKXwwfWZ1bmN0aW9uIGtRKGEpe2E9YXwwO3JldHVybn1mdW5jdGlvbiBrUihh
KXthPWF8MDtyZXR1cm4gMTE2MHwwfWZ1bmN0aW9uIGtTKGEpe2E9YXwwO2lmKChhfDApIT0wKXtr
SyhhKX1yZXR1cm59ZnVuY3Rpb24ga1QoYSl7YT1hfDA7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGtV
KGEpe2E9YXwwO2tTKGEpO3JldHVybn1mdW5jdGlvbiBrVihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBl
PTAsZj0wLGc9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MC4wLHI9MCxzPTAs
dD0wLHU9MCx2PTAuMCx3PTAseD0wLHk9MCx6PTAuMCxBPTAuMCxCPTAsQz0wLEQ9MCxFPTAuMCxG
PTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MC4wLE89MCxQPTAsUT0wLjAsUj0wLjAs
Uz0wLjA7ZT1iO3doaWxlKDEpe2Y9ZSsxfDA7aWYoKGFQKGFbZV18MCl8MCk9PTApe2JyZWFrfWVs
c2V7ZT1mfX1zd2l0Y2goYVtlXXwwKXtjYXNlIDQzOntnPWY7aT0wO2JyZWFrfTtjYXNlIDQ1Ontn
PWY7aT0xO2JyZWFrfTtkZWZhdWx0OntnPWU7aT0wfX1lPS0xO2Y9MDtqPWc7d2hpbGUoMSl7az1h
W2pdfDA7aWYoKChrPDwyND4+MjQpLTQ4fDApPj4+MDwxMCl7bD1lfWVsc2V7aWYoazw8MjQ+PjI0
IT00NnwoZXwwKT4tMSl7YnJlYWt9ZWxzZXtsPWZ9fWU9bDtmPWYrMXwwO2o9aisxfDB9bD1qKygt
ZnwwKXwwO2c9KGV8MCk8MDttPSgoZ14xKTw8MzE+PjMxKStmfDA7bj0obXwwKT4xODtvPShuPy0x
ODotbXwwKSsoZz9mOmUpfDA7ZT1uPzE4Om07ZG97aWYoKGV8MCk9PTApe3A9YjtxPTAuMH1lbHNl
e2lmKChlfDApPjkpe209bDtuPWU7Zj0wO3doaWxlKDEpe2c9YVttXXwwO3I9bSsxfDA7aWYoZzw8
MjQ+PjI0PT00Nil7cz1hW3JdfDA7dD1tKzJ8MH1lbHNle3M9Zzt0PXJ9dT0oZioxMHwwKS00OCso
czw8MjQ+PjI0KXwwO3I9bi0xfDA7aWYoKHJ8MCk+OSl7bT10O249cjtmPXV9ZWxzZXticmVha319
dj0rKHV8MCkqMS4wZTk7dz05O3g9dDt5PTEzNzB9ZWxzZXtpZigoZXwwKT4wKXt2PTAuMDt3PWU7
eD1sO3k9MTM3MH1lbHNle3o9MC4wO0E9MC4wfX1pZigoeXwwKT09MTM3MCl7Zj14O249dzttPTA7
d2hpbGUoMSl7cj1hW2ZdfDA7Zz1mKzF8MDtpZihyPDwyND4+MjQ9PTQ2KXtCPWFbZ118MDtDPWYr
MnwwfWVsc2V7Qj1yO0M9Z31EPShtKjEwfDApLTQ4KyhCPDwyND4+MjQpfDA7Zz1uLTF8MDtpZigo
Z3wwKT4wKXtmPUM7bj1nO209RH1lbHNle2JyZWFrfX16PSsoRHwwKTtBPXZ9RT1BK3o7TDE4MTY6
ZG97c3dpdGNoKGs8PDI0Pj4yNCl7Y2FzZSA2OTpjYXNlIDEwMTp7bT1qKzF8MDtzd2l0Y2goYVtt
XXwwKXtjYXNlIDQ1OntGPWorMnwwO0c9MTticmVha307Y2FzZSA0Mzp7Rj1qKzJ8MDtHPTA7YnJl
YWt9O2RlZmF1bHQ6e0Y9bTtHPTB9fW09YVtGXXwwO2lmKCgobTw8MjQ+PjI0KS00OHwwKT4+PjA8
MTApe0g9RjtJPTA7Sj1tfWVsc2V7Sz0wO0w9RjtNPUc7YnJlYWsgTDE4MTZ9d2hpbGUoMSl7bT0o
SSoxMHwwKS00OCsoSjw8MjQ+PjI0KXwwO249SCsxfDA7Zj1hW25dfDA7aWYoKChmPDwyND4+MjQp
LTQ4fDApPj4+MDwxMCl7SD1uO0k9bTtKPWZ9ZWxzZXtLPW07TD1uO009RzticmVha319YnJlYWt9
O2RlZmF1bHQ6e0s9MDtMPWo7TT0wfX19d2hpbGUoMCk7bj1vKygoTXwwKT09MD9LOi1LfDApfDA7
bT0obnwwKTwwPy1ufDA6bjtpZigobXwwKT41MTEpe2NbKGJ3KCl8MCk+PjJdPTM0O049MS4wO089
ODtQPTUxMTt5PTEzODd9ZWxzZXtpZigobXwwKT09MCl7UT0xLjB9ZWxzZXtOPTEuMDtPPTg7UD1t
O3k9MTM4N319aWYoKHl8MCk9PTEzODcpe3doaWxlKDEpe3k9MDtpZigoUCYxfDApPT0wKXtSPU59
ZWxzZXtSPU4qK2hbTz4+M119bT1QPj4xO2lmKChtfDApPT0wKXtRPVI7YnJlYWt9ZWxzZXtOPVI7
Tz1PKzh8MDtQPW07eT0xMzg3fX19aWYoKG58MCk+LTEpe3A9TDtxPUUqUTticmVha31lbHNle3A9
TDtxPUUvUTticmVha319fXdoaWxlKDApO2lmKChkfDApIT0wKXtjW2Q+PjJdPXB9aWYoKGl8MCk9
PTApe1M9cTtyZXR1cm4rU31TPS0wLjAtcTtyZXR1cm4rU31mdW5jdGlvbiBrVyhhLGIsYyl7YT1h
fDA7Yj1ifDA7Yz1jfDA7cmV0dXJuKygra1YoYSxiKSl9ZnVuY3Rpb24ga1goKXt2YXIgYT0wO2E9
Yk8oNCl8MDtjW2E+PjJdPTI0MDg7YmwoYXwwLDgxNjAsMzApfWZ1bmN0aW9uIGtZKGIsZCxlKXti
PWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wO2Y9YnwwO2lmKChiJjMpPT0oZCYzKSl7d2hpbGUoYiYz
KXtpZigoZXwwKT09MClyZXR1cm4gZnwwO2FbYl09YVtkXXwwO2I9YisxfDA7ZD1kKzF8MDtlPWUt
MXwwfXdoaWxlKChlfDApPj00KXtjW2I+PjJdPWNbZD4+Ml07Yj1iKzR8MDtkPWQrNHwwO2U9ZS00
fDB9fXdoaWxlKChlfDApPjApe2FbYl09YVtkXXwwO2I9YisxfDA7ZD1kKzF8MDtlPWUtMXwwfXJl
dHVybiBmfDB9ZnVuY3Rpb24ga1ooYil7Yj1ifDA7dmFyIGM9MDtjPWFbbisoYj4+PjI0KXwwXXww
O2lmKChjfDApPDgpcmV0dXJuIGN8MDtjPWFbbisoYj4+MTYmMjU1KXwwXXwwO2lmKChjfDApPDgp
cmV0dXJuIGMrOHwwO2M9YVtuKyhiPj44JjI1NSl8MF18MDtpZigoY3wwKTw4KXJldHVybiBjKzE2
fDA7cmV0dXJuKGFbbisoYiYyNTUpfDBdfDApKzI0fDB9ZnVuY3Rpb24ga18oYixjLGQpe2I9Ynww
O2M9Y3wwO2Q9ZHwwO2lmKChjfDApPChifDApJihifDApPChjK2R8MCkpe2M9YytkfDA7Yj1iK2R8
MDt3aGlsZSgoZHwwKT4wKXtiPWItMXwwO2M9Yy0xfDA7ZD1kLTF8MDthW2JdPWFbY118MH19ZWxz
ZXtrWShiLGMsZCl8MH19ZnVuY3Rpb24gayQoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBm
PTAsZz0wLGg9MDtmPWIrZXwwO2lmKChlfDApPj0yMCl7ZD1kJjI1NTtlPWImMztnPWR8ZDw8OHxk
PDwxNnxkPDwyNDtoPWYmfjM7aWYoZSl7ZT1iKzQtZXwwO3doaWxlKChifDApPChlfDApKXthW2Jd
PWQ7Yj1iKzF8MH19d2hpbGUoKGJ8MCk8KGh8MCkpe2NbYj4+Ml09ZztiPWIrNHwwfX13aGlsZSgo
YnwwKTwoZnwwKSl7YVtiXT1kO2I9YisxfDB9fWZ1bmN0aW9uIGswKGIpe2I9YnwwO3ZhciBjPTA7
Yz1iO3doaWxlKGFbY118MCl7Yz1jKzF8MH1yZXR1cm4gYy1ifDB9ZnVuY3Rpb24gazEoYSxiLGMs
ZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MDtlPWErYz4+PjA7cmV0dXJuKEs9Yitk
KyhlPj4+MDxhPj4+MHwwKT4+PjAsZXwwKXwwfWZ1bmN0aW9uIGsyKGEsYixjLGQpe2E9YXwwO2I9
YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTA7ZT1iLWQ+Pj4wO2U9Yi1kLShjPj4+MD5hPj4+MHwwKT4+
PjA7cmV0dXJuKEs9ZSxhLWM+Pj4wfDApfDB9ZnVuY3Rpb24gazMoYSxiLGMpe2E9YXwwO2I9Ynww
O2M9Y3wwO2lmKChjfDApPDMyKXtLPWI8PGN8KGEmKDE8PGMpLTE8PDMyLWMpPj4+MzItYztyZXR1
cm4gYTw8Y31LPWE8PGMtMzI7cmV0dXJuIDB9ZnVuY3Rpb24gazQoYSxiLGMpe2E9YXwwO2I9Ynww
O2M9Y3wwO2lmKChjfDApPDMyKXtLPWI+Pj5jO3JldHVybiBhPj4+Y3woYiYoMTw8YyktMSk8PDMy
LWN9Sz0wO3JldHVybiBiPj4+Yy0zMnwwfWZ1bmN0aW9uIGs1KGEsYixjKXthPWF8MDtiPWJ8MDtj
PWN8MDtpZigoY3wwKTwzMil7Sz1iPj5jO3JldHVybiBhPj4+Y3woYiYoMTw8YyktMSk8PDMyLWN9
Sz0oYnwwKTwwPy0xOjA7cmV0dXJuIGI+PmMtMzJ8MH1mdW5jdGlvbiBrNihiKXtiPWJ8MDt2YXIg
Yz0wO2M9YVttKyhiJjI1NSl8MF18MDtpZigoY3wwKTw4KXJldHVybiBjfDA7Yz1hW20rKGI+Pjgm
MjU1KXwwXXwwO2lmKChjfDApPDgpcmV0dXJuIGMrOHwwO2M9YVttKyhiPj4xNiYyNTUpfDBdfDA7
aWYoKGN8MCk8OClyZXR1cm4gYysxNnwwO3JldHVybihhW20rKGI+Pj4yNCl8MF18MCkrMjR8MH1m
dW5jdGlvbiBrNyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxmPTA7Yz1hJjY1NTM1
O2Q9YiY2NTUzNTtlPWFnKGQsYyl8MDtmPWE+Pj4xNjthPShlPj4+MTYpKyhhZyhkLGYpfDApfDA7
ZD1iPj4+MTY7Yj1hZyhkLGMpfDA7cmV0dXJuKEs9KGE+Pj4xNikrKGFnKGQsZil8MCkrKCgoYSY2
NTUzNSkrYnwwKT4+PjE2KXwwLGErYjw8MTZ8ZSY2NTUzNXwwKXwwfWZ1bmN0aW9uIGs4KGEsYixj
LGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wO2U9Yj4+
MzF8KChifDApPDA/LTE6MCk8PDE7Zj0oKGJ8MCk8MD8tMTowKT4+MzF8KChifDApPDA/LTE6MCk8
PDE7Zz1kPj4zMXwoKGR8MCk8MD8tMTowKTw8MTtoPSgoZHwwKTwwPy0xOjApPj4zMXwoKGR8MCk8
MD8tMTowKTw8MTtpPWsyKGVeYSxmXmIsZSxmKXwwO2I9SzthPWdeZTtlPWheZjtmPWsyKChsZChp
LGIsazIoZ15jLGheZCxnLGgpfDAsSywwKXwwKV5hLEteZSxhLGUpfDA7cmV0dXJuKEs9SyxmKXww
fWZ1bmN0aW9uIGs5KGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0w
LGg9MCxqPTAsaz0wLGw9MCxtPTA7Zj1pO2k9aSs4fDA7Zz1mfDA7aD1iPj4zMXwoKGJ8MCk8MD8t
MTowKTw8MTtqPSgoYnwwKTwwPy0xOjApPj4zMXwoKGJ8MCk8MD8tMTowKTw8MTtrPWU+PjMxfCgo
ZXwwKTwwPy0xOjApPDwxO2w9KChlfDApPDA/LTE6MCk+PjMxfCgoZXwwKTwwPy0xOjApPDwxO209
azIoaF5hLGpeYixoLGopfDA7Yj1LO2E9azIoa15kLGxeZSxrLGwpfDA7bGQobSxiLGEsSyxnKXww
O2E9azIoY1tnPj4yXV5oLGNbZys0Pj4yXV5qLGgsail8MDtqPUs7aT1mO3JldHVybihLPWosYSl8
MH1mdW5jdGlvbiBsYShhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGY9
MDtlPWE7YT1jO2M9azcoZSxhKXwwO2Y9SztyZXR1cm4oSz0oYWcoYixhKXwwKSsoYWcoZCxlKXww
KStmfGYmMCxjfDB8MCl8MH1mdW5jdGlvbiBsYihhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtk
PWR8MDt2YXIgZT0wO2U9bGQoYSxiLGMsZCwwKXwwO3JldHVybihLPUssZSl8MH1mdW5jdGlvbiBs
YyhhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MDtmPWk7aT1pKzh8
MDtnPWZ8MDtsZChhLGIsZCxlLGcpfDA7aT1mO3JldHVybihLPWNbZys0Pj4yXXwwLGNbZz4+Ml18
MCl8MH1mdW5jdGlvbiBsZChhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9Znww
O3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAs
dD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxI
PTAsST0wLEo9MCxMPTAsTT0wO2c9YTtoPWI7aT1oO2o9ZDtrPWU7bD1rO2lmKChpfDApPT0wKXtt
PShmfDApIT0wO2lmKChsfDApPT0wKXtpZihtKXtjW2Y+PjJdPShnPj4+MCklKGo+Pj4wKTtjW2Yr
ND4+Ml09MH1uPTA7bz0oZz4+PjApLyhqPj4+MCk+Pj4wO3JldHVybihLPW4sbyl8MH1lbHNle2lm
KCFtKXtuPTA7bz0wO3JldHVybihLPW4sbyl8MH1jW2Y+PjJdPWF8MDtjW2YrND4+Ml09YiYwO249
MDtvPTA7cmV0dXJuKEs9bixvKXwwfX1tPShsfDApPT0wO2Rve2lmKChqfDApPT0wKXtpZihtKXtp
ZigoZnwwKSE9MCl7Y1tmPj4yXT0oaT4+PjApJShqPj4+MCk7Y1tmKzQ+PjJdPTB9bj0wO289KGk+
Pj4wKS8oaj4+PjApPj4+MDtyZXR1cm4oSz1uLG8pfDB9aWYoKGd8MCk9PTApe2lmKChmfDApIT0w
KXtjW2Y+PjJdPTA7Y1tmKzQ+PjJdPShpPj4+MCklKGw+Pj4wKX1uPTA7bz0oaT4+PjApLyhsPj4+
MCk+Pj4wO3JldHVybihLPW4sbyl8MH1wPWwtMXwwO2lmKChwJmx8MCk9PTApe2lmKChmfDApIT0w
KXtjW2Y+PjJdPWF8MDtjW2YrND4+Ml09cCZpfGImMH1uPTA7bz1pPj4+KChrNihsfDApfDApPj4+
MCk7cmV0dXJuKEs9bixvKXwwfXA9KGtaKGx8MCl8MCktKGtaKGl8MCl8MCl8MDtpZihwPj4+MDw9
MzApe3E9cCsxfDA7cj0zMS1wfDA7cz1xO3Q9aTw8cnxnPj4+KHE+Pj4wKTt1PWk+Pj4ocT4+PjAp
O3Y9MDt3PWc8PHI7YnJlYWt9aWYoKGZ8MCk9PTApe249MDtvPTA7cmV0dXJuKEs9bixvKXwwfWNb
Zj4+Ml09YXwwO2NbZis0Pj4yXT1ofGImMDtuPTA7bz0wO3JldHVybihLPW4sbyl8MH1lbHNle2lm
KCFtKXtyPShrWihsfDApfDApLShrWihpfDApfDApfDA7aWYocj4+PjA8PTMxKXtxPXIrMXwwO3A9
MzEtcnwwO3g9ci0zMT4+MzE7cz1xO3Q9Zz4+PihxPj4+MCkmeHxpPDxwO3U9aT4+PihxPj4+MCkm
eDt2PTA7dz1nPDxwO2JyZWFrfWlmKChmfDApPT0wKXtuPTA7bz0wO3JldHVybihLPW4sbyl8MH1j
W2Y+PjJdPWF8MDtjW2YrND4+Ml09aHxiJjA7bj0wO289MDtyZXR1cm4oSz1uLG8pfDB9cD1qLTF8
MDtpZigocCZqfDApIT0wKXt4PShrWihqfDApfDApKzMzLShrWihpfDApfDApfDA7cT02NC14fDA7
cj0zMi14fDA7eT1yPj4zMTt6PXgtMzJ8MDtBPXo+PjMxO3M9eDt0PXItMT4+MzEmaT4+Pih6Pj4+
MCl8KGk8PHJ8Zz4+Pih4Pj4+MCkpJkE7dT1BJmk+Pj4oeD4+PjApO3Y9Zzw8cSZ5O3c9KGk8PHF8
Zz4+Pih6Pj4+MCkpJnl8Zzw8ciZ4LTMzPj4zMTticmVha31pZigoZnwwKSE9MCl7Y1tmPj4yXT1w
Jmc7Y1tmKzQ+PjJdPTB9aWYoKGp8MCk9PTEpe249aHxiJjA7bz1hfDB8MDtyZXR1cm4oSz1uLG8p
fDB9ZWxzZXtwPWs2KGp8MCl8MDtuPWk+Pj4ocD4+PjApfDA7bz1pPDwzMi1wfGc+Pj4ocD4+PjAp
fDA7cmV0dXJuKEs9bixvKXwwfX19d2hpbGUoMCk7aWYoKHN8MCk9PTApe0I9dztDPXY7RD11O0U9
dDtGPTA7Rz0wfWVsc2V7Zz1kfDB8MDtkPWt8ZSYwO2U9azEoZyxkLC0xLC0xKXwwO2s9SztpPXc7
dz12O3Y9dTt1PXQ7dD1zO3M9MDt3aGlsZSgxKXtIPXc+Pj4zMXxpPDwxO0k9c3x3PDwxO2o9dTw8
MXxpPj4+MzF8MDthPXU+Pj4zMXx2PDwxfDA7azIoZSxrLGosYSl8MDtiPUs7aD1iPj4zMXwoKGJ8
MCk8MD8tMTowKTw8MTtKPWgmMTtMPWsyKGosYSxoJmcsKCgoYnwwKTwwPy0xOjApPj4zMXwoKGJ8
MCk8MD8tMTowKTw8MSkmZCl8MDtNPUs7Yj10LTF8MDtpZigoYnwwKT09MCl7YnJlYWt9ZWxzZXtp
PUg7dz1JO3Y9TTt1PUw7dD1iO3M9Sn19Qj1IO0M9STtEPU07RT1MO0Y9MDtHPUp9Sj1DO0M9MDtp
ZigoZnwwKSE9MCl7Y1tmPj4yXT1FO2NbZis0Pj4yXT1EfW49KEp8MCk+Pj4zMXwoQnxDKTw8MXwo
Qzw8MXxKPj4+MzEpJjB8RjtvPShKPDwxfDA+Pj4zMSkmLTJ8RztyZXR1cm4oSz1uLG8pfDB9ZnVu
Y3Rpb24gbGUoKXtiUCgpfWZ1bmN0aW9uIGxmKGEsYixjLGQsZSxmKXthPWF8MDtiPWJ8MDtjPWN8
MDtkPWR8MDtlPWV8MDtmPWZ8MDtiV1thJjddKGJ8MCxjfDAsZHwwLGV8MCxmfDApfWZ1bmN0aW9u
IGxnKGEsYixjLGQsZSxmLGcsaCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7
Zz1nfDA7aD1ofDA7YlhbYSYxMjddKGJ8MCxjfDAsZHwwLGV8MCxmfDAsZ3wwLGh8MCl9ZnVuY3Rp
b24gbGgoYSxiKXthPWF8MDtiPWJ8MDtiWVthJjUxMV0oYnwwKX1mdW5jdGlvbiBsaShhLGIsYyl7
YT1hfDA7Yj1ifDA7Yz1jfDA7YlpbYSYxMjddKGJ8MCxjfDApfWZ1bmN0aW9uIGxqKGEsYixjKXth
PWF8MDtiPWJ8MDtjPWN8MDtyZXR1cm4gYl9bYSYzMV0oYnwwLGN8MCl8MH1mdW5jdGlvbiBsayhh
LGIsYyxkLGUsZil7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7cmV0dXJuIGIk
W2EmMzFdKGJ8MCxjfDAsZHwwLGV8MCxmfDApfDB9ZnVuY3Rpb24gbGwoYSxiKXthPWF8MDtiPWJ8
MDtyZXR1cm4gYjBbYSYxMjddKGJ8MCl8MH1mdW5jdGlvbiBsbShhLGIsYyxkKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDtyZXR1cm4gYjFbYSY2M10oYnwwLGN8MCxkfDApfDB9ZnVuY3Rpb24gbG4o
YSxiLGMsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz0rZzti
MlthJjE1XShifDAsY3wwLGR8MCxlfDAsZnwwLCtnKX1mdW5jdGlvbiBsbyhhLGIsYyxkKXthPWF8
MDtiPWJ8MDtjPWN8MDtkPWR8MDtiM1thJjddKGJ8MCxjfDAsZHwwKX1mdW5jdGlvbiBscChhLGIs
YyxkLGUsZixnLGgsaSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7
aD1ofDA7aT1pfDA7YjRbYSYxNV0oYnwwLGN8MCxkfDAsZXwwLGZ8MCxnfDAsaHwwLGl8MCl9ZnVu
Y3Rpb24gbHEoYSl7YT1hfDA7YjVbYSYzXSgpfWZ1bmN0aW9uIGxyKGEsYixjLGQsZSxmLGcsaCxp
KXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtpPWl8MDty
ZXR1cm4gYjZbYSYzMV0oYnwwLGN8MCxkfDAsZXwwLGZ8MCxnfDAsaHwwLGl8MCl8MH1mdW5jdGlv
biBscyhhLGIsYyxkLGUsZixnLGgsaSxqKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtm
PWZ8MDtnPWd8MDtoPWh8MDtpPWl8MDtqPWp8MDtiN1thJjddKGJ8MCxjfDAsZHwwLGV8MCxmfDAs
Z3wwLGh8MCxpfDAsanwwKX1mdW5jdGlvbiBsdChhLGIsYyxkLGUsZixnLGgpe2E9YXwwO2I9Ynww
O2M9Y3wwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9K2g7YjhbYSY3XShifDAsY3wwLGR8MCxl
fDAsZnwwLGd8MCwraCl9ZnVuY3Rpb24gbHUoYSxiLGMsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7Yz1j
fDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7YjlbYSYzMV0oYnwwLGN8MCxkfDAsZXwwLGZ8MCxn
fDApfWZ1bmN0aW9uIGx2KGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7
cmV0dXJuIGNhW2EmMTVdKGJ8MCxjfDAsZHwwLGV8MCl8MH1mdW5jdGlvbiBsdyhhLGIsYyxkLGUp
e2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2NiW2EmMTVdKGJ8MCxjfDAsZHwwLGV8MCl9
ZnVuY3Rpb24gbHgoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDthaCgw
KX1mdW5jdGlvbiBseShhLGIsYyxkLGUsZixnKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8
MDtmPWZ8MDtnPWd8MDthaCgxKX1mdW5jdGlvbiBseihhKXthPWF8MDthaCgyKX1mdW5jdGlvbiBs
QShhLGIpe2E9YXwwO2I9YnwwO2FoKDMpfWZ1bmN0aW9uIGxCKGEsYil7YT1hfDA7Yj1ifDA7YWgo
NCk7cmV0dXJuIDB9ZnVuY3Rpb24gbEMoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8
MDtlPWV8MDthaCg1KTtyZXR1cm4gMH1mdW5jdGlvbiBsRChhKXthPWF8MDthaCg2KTtyZXR1cm4g
MH1mdW5jdGlvbiBsRShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7YWgoNyk7cmV0dXJuIDB9ZnVu
Y3Rpb24gbEYoYSxiLGMsZCxlLGYpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2Y9K2Y7
YWgoOCl9ZnVuY3Rpb24gbEcoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2FoKDkpfWZ1bmN0aW9u
IGxIKGEsYixjLGQsZSxmLGcsaCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7
Zz1nfDA7aD1ofDA7YWgoMTApfWZ1bmN0aW9uIGxJKCl7YWgoMTEpfWZ1bmN0aW9uIGxKKGEsYixj
LGQsZSxmLGcsaCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1o
fDA7YWgoMTIpO3JldHVybiAwfWZ1bmN0aW9uIGxLKGEsYixjLGQsZSxmLGcsaCxpKXthPWF8MDti
PWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtpPWl8MDthaCgxMyl9ZnVu
Y3Rpb24gbEwoYSxiLGMsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1m
fDA7Zz0rZzthaCgxNCl9ZnVuY3Rpb24gbE0oYSxiLGMsZCxlLGYpe2E9YXwwO2I9YnwwO2M9Y3ww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2FoKDE1KX1mdW5jdGlvbiBsTihhLGIsYyxkKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDthaCgxNik7cmV0dXJuIDB9ZnVuY3Rpb24gbE8oYSxiLGMsZCl7YT1hfDA7
Yj1ifDA7Yz1jfDA7ZD1kfDA7YWgoMTcpfQotLy8gRU1TQ1JJUFRFTl9FTkRfRlVOQ1MKLXZhciBi
Vz1bbHgsbHgsa0csbHgsa0QsbHgsa0YsbHhdO3ZhciBiWD1bbHksbHksZ0csbHksZ1AsbHksZ1Ms
bHksaWgsbHksZ3QsbHksZ3IsbHksaDksbHksZ0IsbHksZ0YsbHksZ1QsbHksZ2YsbHksZjcsbHks
Z0UsbHksZkgsbHksZlosbHksZ1EsbHksZ2QsbHksZiQsbHksZlgsbHksZlksbHksZlEsbHksZl8s
bHksZlYsbHksZlQsbHksZjQsbHksZjMsbHksZjAsbHksZ1UsbHksZkEsbHksZ0MsbHksZkUsbHks
ZnYsbHksZnksbHksZkMsbHksZnIsbHksZk0sbHksZkssbHksZnAsbHksbHksbHksbHksbHksbHks
bHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHks
bHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHks
bHksbHksbHksbHksbHksbHksbHldO3ZhciBiWT1bbHosbHosaWssbHosZm4sbHosZ2wsbHosZEgs
bHosZW4sbHosaUUsbHosZHIsbHosaEEsbHosZjUsbHosZEIsbHosZEcsbHosZk8sbHosZmIsbHos
ZTcsbHosa1EsbHosZEMsbHosaVAsbHosaVMsbHosZ08sbHosZlAsbHosa3EsbHosZTEsbHosaWUs
bHosaVEsbHosZVMsbHosZm8sbHosaHIsbHosaUwsbHosakksbHosaVUsbHosa2ssbHosakgsbHos
ZTUsbHosYzUsbHosZEcsbHosY3QsbHosZmYsbHosaGcsbHosakssbHosaVIsbHosa0ssbHosaDcs
bHosakcsbHosZVYsbHosYzQsbHosZmUsbHosZEMsbHosajMsbHosZjYsbHosZGYsbHosaHMsbHos
ZVIsbHosZSQsbHosaHksbHosZ04sbHosZTgsbHosaGwsbHosa1UsbHosZW0sbHosajYsbHosajcs
bHosZTIsbHosZXUsbHosa3gsbHosaVYsbHosaTksbHosa2ksbHosZVQsbHosZTYsbHosaE8sbHos
ZGQsbHosaHgsbHosZTMsbHosajksbHosa2wsbHosanEsbHosZGIsbHosaUssbHosaU8sbHosaHos
bHosaFUsbHosa3UsbHosaEcsbHosaDgsbHosajgsbHosaGYsbHosZ2ssbHosZmEsbHosZGMsbHos
ZmMsbHosZVgsbHosZE4sbHosaCQsbHosaFQsbHosakosbHosZWUsbHosZEksbHosa2ksbHosa3ks
bHosZV8sbHosZE8sbHosZVEsbHosZTAsbHosaWQsbHosZUQsbHosZVosbHosZHMsbHosaVcsbHos
ZTksbHosaEosbHosZ3osbHosaG0sbHosYyQsbHosaXEsbHosaDAsbHosZVcsbHosZXQsbHosZVks
bHosakYsbHosajQsbHosZ0EsbHosa3csbHosaWwsbHosY18sbHosa3YsbHosaEIsbHosaFAsbHos
Y1csbHosZFAsbHosaVQsbHosZEYsbHosZVUsbHosa2EsbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHpdO3ZhciBiWj1bbEEsbEEsalAsbEEsYzAsbEEsaE0s
bEEsak0sbEEsaGIsbEEsakwsbEEsaWosbEEsZDksbEEsaGssbEEsaEgsbEEsaHcsbEEsaGosbEEs
aGgsbEEsaE4sbEEsaU4sbEEsZzksbEEsZG0sbEEsaEksbEEsak8sbEEsaEssbEEsaG8sbEEsZEUs
bEEsaG4sbEEsalEsbEEsaGEsbEEsaHEsbEEsak4sbEEsZzgsbEEsZDIsbEEsZHQsbEEsYzYsbEEs
aW8sbEEsaHQsbEEsZzcsbEEsZzYsbEEsaGksbEEsaHUsbEEsaHYsbEEsaHAsbEEsaEwsbEEsbEEs
bEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEs
bEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEs
bEEsbEEsbEEsbEEsbEEsbEEsbEFdO3ZhciBiXz1bbEIsbEIsaTQsbEIsZHcsbEIsaUEsbEIsaXQs
bEIsZDgsbEIsYzksbEIsZHAsbEIsaTAsbEIsaTYsbEIsZUksbEIsaTIsbEIsZDcsbEIsYzIsbEIs
ZUgsbEIsbEIsbEJdO3ZhciBiJD1bbEMsbEMsamgsbEMsamYsbEMsakUsbEMsaXcsbEMsaUcsbEMs
anAsbEMsaUksbEMsZmssbEMsaUQsbEMsamQsbEMsZUwsbEMsanMsbEMsbEMsbEMsbEMsbEMsbEMs
bENdO3ZhciBiMD1bbEQsbEQsajIsbEQsZzQsbEQsZDYsbEQsalUsbEQsZXIsbEQsajAsbEQsZzAs
bEQsamUsbEQsamssbEQsZ3ksbEQsalMsbEQsZHYsbEQsZU8sbEQsZUcsbEQsalksbEQsalcsbEQs
anQsbEQsa2osbEQsZGksbEQsakMsbEQsanosbEQsalgsbEQsamosbEQsakEsbEQsZDQsbEQsaEYs
bEQsalosbEQsZHUsbEQsYzEsbEQsZzEsbEQsaTgsbEQsajEsbEQsanYsbEQsaEQsbEQsalIsbEQs
YzcsbEQsanUsbEQsamcsbEQsZUosbEQsZyQsbEQsYzgsbEQsakIsbEQsZDUsbEQsZUUsbEQsZG4s
bEQsZzIsbEQsaXosbEQsaXksbEQsa1IsbEQsZUYsbEQsZ1osbEQsalQsbEQsaXgsbEQsZ18sbEQs
ZGgsbEQsZzMsbEQsZzUsbEQsalYsbEQsaEUsbEQsZ00sbEQsaiQsbEQsal8sbEQsamksbERdO3Zh
ciBiMT1bbEUsbEUsZU0sbEUsaTUsbEUsaTMsbEUsa3osbEUsaUIsbEUsZmwsbEUsZEosbEUsZXMs
bEUsZXEsbEUsaVksbEUsZWEsbEUsaW0sbEUsaUMsbEUsaTEsbEUsZU4sbEUsZGwsbEUsaTcsbEUs
aWcsbEUsZDMsbEUsZVAsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUs
bEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEVdO3ZhciBiMj1bbEYsbEYsZ3csbEYsZ3UsbEYsZ2ks
bEYsZ2csbEYsbEYsbEYsbEYsbEYsbEYsbEZdO3ZhciBiMz1bbEcsbEcsZGssbEcsZTQsbEcsbEcs
bEddO3ZhciBiND1bbEgsbEgsaGUsbEgsaGQsbEgsaFEsbEgsaFksbEgsaFcsbEgsaDEsbEgsbEgs
bEhdO3ZhciBiNT1bbEksbEksbGUsbEldO3ZhciBiNj1bbEosbEosaXUsbEosamMsbEosam8sbEos
aXYsbEosanIsbEosakQsbEosamIsbEosamEsbEosbEosbEosbEosbEosbEosbEosbEosbEosbEos
bEosbEosbEosbEosbEpdO3ZhciBiNz1bbEssbEssZ1csbEssZ0ksbEssbEssbEtdO3ZhciBiOD1b
bEwsbEwsaWEsbEwsaDQsbEwsbEwsbExdO3ZhciBiOT1bbE0sbE0sa0gsbE0sZ3MsbE0sZ20sbE0s
Z28sbE0sa0ksbE0sZ3gsbE0saWksbE0sZWQsbE0sZ24sbE0sZ2EsbE0sZ2UsbE0sZjgsbE0sa0Us
bE0sZWIsbE0saXAsbE1dO3ZhciBjYT1bbE4sbE4saVosbE4saV8sbE4saUgsbE4saUYsbE4saSQs
bE4sbE4sbE4sbE4sbE5dO3ZhciBjYj1bbE8sbE8sa0EsbE8sa0IsbE8sZWMsbE8sa3IsbE8sZUss
bE8sZm0sbE8sZmQsbE9dO3JldHVybntfc3RybGVuOmswLF9mcmVlOmtLLF9tYWluOmNELF9yZWFs
bG9jOmtMLF9tZW1tb3ZlOmtfLF9fR0xPQkFMX19JX2E6Y1QsX21lbXNldDprJCxfbWFsbG9jOmtK
LF9tZW1jcHk6a1ksX2xsdm1fY3Rsel9pMzI6a1osX19HTE9CQUxfX0lfYTg6ZHkscnVuUG9zdFNl
dHM6Y3Msc3RhY2tBbGxvYzpjYyxzdGFja1NhdmU6Y2Qsc3RhY2tSZXN0b3JlOmNlLHNldFRocmV3
OmNmLHNldFRlbXBSZXQwOmNpLHNldFRlbXBSZXQxOmNqLHNldFRlbXBSZXQyOmNrLHNldFRlbXBS
ZXQzOmNsLHNldFRlbXBSZXQ0OmNtLHNldFRlbXBSZXQ1OmNuLHNldFRlbXBSZXQ2OmNvLHNldFRl
bXBSZXQ3OmNwLHNldFRlbXBSZXQ4OmNxLHNldFRlbXBSZXQ5OmNyLGR5bkNhbGxfdmlpaWlpOmxm
LGR5bkNhbGxfdmlpaWlpaWk6bGcsZHluQ2FsbF92aTpsaCxkeW5DYWxsX3ZpaTpsaSxkeW5DYWxs
X2lpaTpsaixkeW5DYWxsX2lpaWlpaTpsayxkeW5DYWxsX2lpOmxsLGR5bkNhbGxfaWlpaTpsbSxk
eW5DYWxsX3ZpaWlpaWY6bG4sZHluQ2FsbF92aWlpOmxvLGR5bkNhbGxfdmlpaWlpaWlpOmxwLGR5
bkNhbGxfdjpscSxkeW5DYWxsX2lpaWlpaWlpaTpscixkeW5DYWxsX3ZpaWlpaWlpaWk6bHMsZHlu
Q2FsbF92aWlpaWlpZjpsdCxkeW5DYWxsX3ZpaWlpaWk6bHUsZHluQ2FsbF9paWlpaTpsdixkeW5D
YWxsX3ZpaWlpOmx3fX0pCi0vLyBFTVNDUklQVEVOX0VORF9BU00KLSh7ICJNYXRoIjogTWF0aCwg
IkludDhBcnJheSI6IEludDhBcnJheSwgIkludDE2QXJyYXkiOiBJbnQxNkFycmF5LCAiSW50MzJB
cnJheSI6IEludDMyQXJyYXksICJVaW50OEFycmF5IjogVWludDhBcnJheSwgIlVpbnQxNkFycmF5
IjogVWludDE2QXJyYXksICJVaW50MzJBcnJheSI6IFVpbnQzMkFycmF5LCAiRmxvYXQzMkFycmF5
IjogRmxvYXQzMkFycmF5LCAiRmxvYXQ2NEFycmF5IjogRmxvYXQ2NEFycmF5IH0sIHsgImFib3J0
IjogYWJvcnQsICJhc3NlcnQiOiBhc3NlcnQsICJhc21QcmludEludCI6IGFzbVByaW50SW50LCAi
YXNtUHJpbnRGbG9hdCI6IGFzbVByaW50RmxvYXQsICJtaW4iOiBNYXRoX21pbiwgImludm9rZV92
aWlpaWkiOiBpbnZva2VfdmlpaWlpLCAiaW52b2tlX3ZpaWlpaWlpIjogaW52b2tlX3ZpaWlpaWlp
LCAiaW52b2tlX3ZpIjogaW52b2tlX3ZpLCAiaW52b2tlX3ZpaSI6IGludm9rZV92aWksICJpbnZv
a2VfaWlpIjogaW52b2tlX2lpaSwgImludm9rZV9paWlpaWkiOiBpbnZva2VfaWlpaWlpLCAiaW52
b2tlX2lpIjogaW52b2tlX2lpLCAiaW52b2tlX2lpaWkiOiBpbnZva2VfaWlpaSwgImludm9rZV92
aWlpaWlmIjogaW52b2tlX3ZpaWlpaWYsICJpbnZva2VfdmlpaSI6IGludm9rZV92aWlpLCAiaW52
b2tlX3ZpaWlpaWlpaSI6IGludm9rZV92aWlpaWlpaWksICJpbnZva2VfdiI6IGludm9rZV92LCAi
aW52b2tlX2lpaWlpaWlpaSI6IGludm9rZV9paWlpaWlpaWksICJpbnZva2VfdmlpaWlpaWlpaSI6
IGludm9rZV92aWlpaWlpaWlpLCAiaW52b2tlX3ZpaWlpaWlmIjogaW52b2tlX3ZpaWlpaWlmLCAi
aW52b2tlX3ZpaWlpaWkiOiBpbnZva2VfdmlpaWlpaSwgImludm9rZV9paWlpaSI6IGludm9rZV9p
aWlpaSwgImludm9rZV92aWlpaSI6IGludm9rZV92aWlpaSwgIl9sbHZtX2xpZmV0aW1lX2VuZCI6
IF9sbHZtX2xpZmV0aW1lX2VuZCwgIl9fc2NhblN0cmluZyI6IF9fc2NhblN0cmluZywgIl9wdGhy
ZWFkX211dGV4X2xvY2siOiBfcHRocmVhZF9tdXRleF9sb2NrLCAiX19fY3hhX2VuZF9jYXRjaCI6
IF9fX2N4YV9lbmRfY2F0Y2gsICJfc3RydG91bGwiOiBfc3RydG91bGwsICJfX2lzRmxvYXQiOiBf
X2lzRmxvYXQsICJfZmZsdXNoIjogX2ZmbHVzaCwgIl9faXNMZWFwWWVhciI6IF9faXNMZWFwWWVh
ciwgIl9md3JpdGUiOiBfZndyaXRlLCAiX3NlbmQiOiBfc2VuZCwgIl9sbHZtX3VtdWxfd2l0aF9v
dmVyZmxvd19pMzIiOiBfbGx2bV91bXVsX3dpdGhfb3ZlcmZsb3dfaTMyLCAiX2lzc3BhY2UiOiBf
aXNzcGFjZSwgIl9yZWFkIjogX3JlYWQsICJfX19jeGFfZ3VhcmRfYWJvcnQiOiBfX19jeGFfZ3Vh
cmRfYWJvcnQsICJfbmV3bG9jYWxlIjogX25ld2xvY2FsZSwgIl9fX2d4eF9wZXJzb25hbGl0eV92
MCI6IF9fX2d4eF9wZXJzb25hbGl0eV92MCwgIl9wdGhyZWFkX2NvbmRfd2FpdCI6IF9wdGhyZWFk
X2NvbmRfd2FpdCwgIl9fX2N4YV9yZXRocm93IjogX19fY3hhX3JldGhyb3csICJfX19yZXN1bWVF
eGNlcHRpb24iOiBfX19yZXN1bWVFeGNlcHRpb24sICJfbGx2bV92YV9lbmQiOiBfbGx2bV92YV9l
bmQsICJfdnNzY2FuZiI6IF92c3NjYW5mLCAiX3NucHJpbnRmIjogX3NucHJpbnRmLCAiX2ZnZXRj
IjogX2ZnZXRjLCAiX2F0ZXhpdCI6IF9hdGV4aXQsICJfX19jeGFfZnJlZV9leGNlcHRpb24iOiBf
X19jeGFfZnJlZV9leGNlcHRpb24sICJfX1o4Y2F0Y2xvc2VQOF9ubF9jYXRkIjogX19aOGNhdGNs
b3NlUDhfbmxfY2F0ZCwgIl9fX3NldEVyck5vIjogX19fc2V0RXJyTm8sICJfaXN4ZGlnaXQiOiBf
aXN4ZGlnaXQsICJfZXhpdCI6IF9leGl0LCAiX3NwcmludGYiOiBfc3ByaW50ZiwgIl9fX2N0eXBl
X2JfbG9jIjogX19fY3R5cGVfYl9sb2MsICJfZnJlZWxvY2FsZSI6IF9mcmVlbG9jYWxlLCAiX19a
N2NhdG9wZW5QS2NpIjogX19aN2NhdG9wZW5QS2NpLCAiX2FzcHJpbnRmIjogX2FzcHJpbnRmLCAi
X19fY3hhX2lzX251bWJlcl90eXBlIjogX19fY3hhX2lzX251bWJlcl90eXBlLCAiX19fY3hhX2Rv
ZXNfaW5oZXJpdCI6IF9fX2N4YV9kb2VzX2luaGVyaXQsICJfX19jeGFfZ3VhcmRfYWNxdWlyZSI6
IF9fX2N4YV9ndWFyZF9hY3F1aXJlLCAiX19fbG9jYWxlX21iX2N1cl9tYXgiOiBfX19sb2NhbGVf
bWJfY3VyX21heCwgIl9fX2N4YV9iZWdpbl9jYXRjaCI6IF9fX2N4YV9iZWdpbl9jYXRjaCwgIl9y
ZWN2IjogX3JlY3YsICJfX3BhcnNlSW50NjQiOiBfX3BhcnNlSW50NjQsICJfX1pTdDE4dW5jYXVn
aHRfZXhjZXB0aW9udiI6IF9fWlN0MTh1bmNhdWdodF9leGNlcHRpb252LCAiX19fY3hhX2NhbGxf
dW5leHBlY3RlZCI6IF9fX2N4YV9jYWxsX3VuZXhwZWN0ZWQsICJfX2V4aXQiOiBfX2V4aXQsICJf
c3RyZnRpbWUiOiBfc3RyZnRpbWUsICJfX19jeGFfdGhyb3ciOiBfX19jeGFfdGhyb3csICJfbGx2
bV9laF9leGNlcHRpb24iOiBfbGx2bV9laF9leGNlcHRpb24sICJfcHJlYWQiOiBfcHJlYWQsICJf
X2FycmF5U3VtIjogX19hcnJheVN1bSwgIl9sb2ciOiBfbG9nLCAiX19fY3hhX2ZpbmRfbWF0Y2hp
bmdfY2F0Y2giOiBfX19jeGFfZmluZF9tYXRjaGluZ19jYXRjaCwgIl9fZm9ybWF0U3RyaW5nIjog
X19mb3JtYXRTdHJpbmcsICJfcHRocmVhZF9jb25kX2Jyb2FkY2FzdCI6IF9wdGhyZWFkX2NvbmRf
YnJvYWRjYXN0LCAiX19aU3Q5dGVybWluYXRldiI6IF9fWlN0OXRlcm1pbmF0ZXYsICJfcHRocmVh
ZF9tdXRleF91bmxvY2siOiBfcHRocmVhZF9tdXRleF91bmxvY2ssICJfc2JyayI6IF9zYnJrLCAi
X19fZXJybm9fbG9jYXRpb24iOiBfX19lcnJub19sb2NhdGlvbiwgIl9zdHJlcnJvciI6IF9zdHJl
cnJvciwgIl9sbHZtX2xpZmV0aW1lX3N0YXJ0IjogX2xsdm1fbGlmZXRpbWVfc3RhcnQsICJfX19j
eGFfZ3VhcmRfcmVsZWFzZSI6IF9fX2N4YV9ndWFyZF9yZWxlYXNlLCAiX3VuZ2V0YyI6IF91bmdl
dGMsICJfdXNlbG9jYWxlIjogX3VzZWxvY2FsZSwgIl92c25wcmludGYiOiBfdnNucHJpbnRmLCAi
X3NzY2FuZiI6IF9zc2NhbmYsICJfc3lzY29uZiI6IF9zeXNjb25mLCAiX2ZyZWFkIjogX2ZyZWFk
LCAiX2Fib3J0IjogX2Fib3J0LCAiX2lzZGlnaXQiOiBfaXNkaWdpdCwgIl9zdHJ0b2xsIjogX3N0
cnRvbGwsICJfX2FkZERheXMiOiBfX2FkZERheXMsICJfZmxvb3IiOiBfZmxvb3IsICJfX3JlYWxs
eU5lZ2F0aXZlIjogX19yZWFsbHlOZWdhdGl2ZSwgIl9fWjdjYXRnZXRzUDhfbmxfY2F0ZGlpUEtj
IjogX19aN2NhdGdldHNQOF9ubF9jYXRkaWlQS2MsICJfd3JpdGUiOiBfd3JpdGUsICJfX19jeGFf
YWxsb2NhdGVfZXhjZXB0aW9uIjogX19fY3hhX2FsbG9jYXRlX2V4Y2VwdGlvbiwgIl9fX2N4YV9w
dXJlX3ZpcnR1YWwiOiBfX19jeGFfcHVyZV92aXJ0dWFsLCAiX3Zhc3ByaW50ZiI6IF92YXNwcmlu
dGYsICJfX19jdHlwZV90b3VwcGVyX2xvYyI6IF9fX2N0eXBlX3RvdXBwZXJfbG9jLCAiX19fY3R5
cGVfdG9sb3dlcl9sb2MiOiBfX19jdHlwZV90b2xvd2VyX2xvYywgIl9wd3JpdGUiOiBfcHdyaXRl
LCAiX3N0cmVycm9yX3IiOiBfc3RyZXJyb3JfciwgIl90aW1lIjogX3RpbWUsICJTVEFDS1RPUCI6
IFNUQUNLVE9QLCAiU1RBQ0tfTUFYIjogU1RBQ0tfTUFYLCAidGVtcERvdWJsZVB0ciI6IHRlbXBE
b3VibGVQdHIsICJBQk9SVCI6IEFCT1JULCAiY3R0el9pOCI6IGN0dHpfaTgsICJjdGx6X2k4Ijog
Y3Rsel9pOCwgIk5hTiI6IE5hTiwgIkluZmluaXR5IjogSW5maW5pdHksICJfc3RkaW4iOiBfc3Rk
aW4sICJfX1pUVk4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRSI6IF9fWlRWTjEwX19j
eHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FLCAiX19aVFZOMTBfX2N4eGFiaXYxMjBfX3NpX2Ns
YXNzX3R5cGVfaW5mb0UiOiBfX1pUVk4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZv
RSwgIl9zdGRlcnIiOiBfc3RkZXJyLCAiX19fZnNtdTgiOiBfX19mc211OCwgIl9zdGRvdXQiOiBf
c3Rkb3V0LCAiX19fZHNvX2hhbmRsZSI6IF9fX2Rzb19oYW5kbGUgfSwgYnVmZmVyKTsKLXZhciBf
c3RybGVuID0gTW9kdWxlWyJfc3RybGVuIl0gPSBhc21bIl9zdHJsZW4iXTsKLXZhciBfZnJlZSA9
IE1vZHVsZVsiX2ZyZWUiXSA9IGFzbVsiX2ZyZWUiXTsKLXZhciBfbWFpbiA9IE1vZHVsZVsiX21h
aW4iXSA9IGFzbVsiX21haW4iXTsKLXZhciBfcmVhbGxvYyA9IE1vZHVsZVsiX3JlYWxsb2MiXSA9
IGFzbVsiX3JlYWxsb2MiXTsKLXZhciBfbWVtbW92ZSA9IE1vZHVsZVsiX21lbW1vdmUiXSA9IGFz
bVsiX21lbW1vdmUiXTsKLXZhciBfX0dMT0JBTF9fSV9hID0gTW9kdWxlWyJfX0dMT0JBTF9fSV9h
Il0gPSBhc21bIl9fR0xPQkFMX19JX2EiXTsKLXZhciBfbWVtc2V0ID0gTW9kdWxlWyJfbWVtc2V0
Il0gPSBhc21bIl9tZW1zZXQiXTsKLXZhciBfbWFsbG9jID0gTW9kdWxlWyJfbWFsbG9jIl0gPSBh
c21bIl9tYWxsb2MiXTsKLXZhciBfbWVtY3B5ID0gTW9kdWxlWyJfbWVtY3B5Il0gPSBhc21bIl9t
ZW1jcHkiXTsKLXZhciBfbGx2bV9jdGx6X2kzMiA9IE1vZHVsZVsiX2xsdm1fY3Rsel9pMzIiXSA9
IGFzbVsiX2xsdm1fY3Rsel9pMzIiXTsKLXZhciBfX0dMT0JBTF9fSV9hOCA9IE1vZHVsZVsiX19H
TE9CQUxfX0lfYTgiXSA9IGFzbVsiX19HTE9CQUxfX0lfYTgiXTsKLXZhciBydW5Qb3N0U2V0cyA9
IE1vZHVsZVsicnVuUG9zdFNldHMiXSA9IGFzbVsicnVuUG9zdFNldHMiXTsKLXZhciBkeW5DYWxs
X3ZpaWlpaSA9IE1vZHVsZVsiZHluQ2FsbF92aWlpaWkiXSA9IGFzbVsiZHluQ2FsbF92aWlpaWki
XTsKLXZhciBkeW5DYWxsX3ZpaWlpaWlpID0gTW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWlpIl0gPSBh
c21bImR5bkNhbGxfdmlpaWlpaWkiXTsKLXZhciBkeW5DYWxsX3ZpID0gTW9kdWxlWyJkeW5DYWxs
X3ZpIl0gPSBhc21bImR5bkNhbGxfdmkiXTsKLXZhciBkeW5DYWxsX3ZpaSA9IE1vZHVsZVsiZHlu
Q2FsbF92aWkiXSA9IGFzbVsiZHluQ2FsbF92aWkiXTsKLXZhciBkeW5DYWxsX2lpaSA9IE1vZHVs
ZVsiZHluQ2FsbF9paWkiXSA9IGFzbVsiZHluQ2FsbF9paWkiXTsKLXZhciBkeW5DYWxsX2lpaWlp
aSA9IE1vZHVsZVsiZHluQ2FsbF9paWlpaWkiXSA9IGFzbVsiZHluQ2FsbF9paWlpaWkiXTsKLXZh
ciBkeW5DYWxsX2lpID0gTW9kdWxlWyJkeW5DYWxsX2lpIl0gPSBhc21bImR5bkNhbGxfaWkiXTsK
LXZhciBkeW5DYWxsX2lpaWkgPSBNb2R1bGVbImR5bkNhbGxfaWlpaSJdID0gYXNtWyJkeW5DYWxs
X2lpaWkiXTsKLXZhciBkeW5DYWxsX3ZpaWlpaWYgPSBNb2R1bGVbImR5bkNhbGxfdmlpaWlpZiJd
ID0gYXNtWyJkeW5DYWxsX3ZpaWlpaWYiXTsKLXZhciBkeW5DYWxsX3ZpaWkgPSBNb2R1bGVbImR5
bkNhbGxfdmlpaSJdID0gYXNtWyJkeW5DYWxsX3ZpaWkiXTsKLXZhciBkeW5DYWxsX3ZpaWlpaWlp
aSA9IE1vZHVsZVsiZHluQ2FsbF92aWlpaWlpaWkiXSA9IGFzbVsiZHluQ2FsbF92aWlpaWlpaWki
XTsKLXZhciBkeW5DYWxsX3YgPSBNb2R1bGVbImR5bkNhbGxfdiJdID0gYXNtWyJkeW5DYWxsX3Yi
XTsKLXZhciBkeW5DYWxsX2lpaWlpaWlpaSA9IE1vZHVsZVsiZHluQ2FsbF9paWlpaWlpaWkiXSA9
IGFzbVsiZHluQ2FsbF9paWlpaWlpaWkiXTsKLXZhciBkeW5DYWxsX3ZpaWlpaWlpaWkgPSBNb2R1
bGVbImR5bkNhbGxfdmlpaWlpaWlpaSJdID0gYXNtWyJkeW5DYWxsX3ZpaWlpaWlpaWkiXTsKLXZh
ciBkeW5DYWxsX3ZpaWlpaWlmID0gTW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWlmIl0gPSBhc21bImR5
bkNhbGxfdmlpaWlpaWYiXTsKLXZhciBkeW5DYWxsX3ZpaWlpaWkgPSBNb2R1bGVbImR5bkNhbGxf
dmlpaWlpaSJdID0gYXNtWyJkeW5DYWxsX3ZpaWlpaWkiXTsKLXZhciBkeW5DYWxsX2lpaWlpID0g
TW9kdWxlWyJkeW5DYWxsX2lpaWlpIl0gPSBhc21bImR5bkNhbGxfaWlpaWkiXTsKLXZhciBkeW5D
YWxsX3ZpaWlpID0gTW9kdWxlWyJkeW5DYWxsX3ZpaWlpIl0gPSBhc21bImR5bkNhbGxfdmlpaWki
XTsKLVJ1bnRpbWUuc3RhY2tBbGxvYyA9IGZ1bmN0aW9uKHNpemUpIHsgcmV0dXJuIGFzbVsnc3Rh
Y2tBbGxvYyddKHNpemUpIH07Ci1SdW50aW1lLnN0YWNrU2F2ZSA9IGZ1bmN0aW9uKCkgeyByZXR1
cm4gYXNtWydzdGFja1NhdmUnXSgpIH07Ci1SdW50aW1lLnN0YWNrUmVzdG9yZSA9IGZ1bmN0aW9u
KHRvcCkgeyBhc21bJ3N0YWNrUmVzdG9yZSddKHRvcCkgfTsKLS8vIFRPRE86IHN0cmlwIG91dCBw
YXJ0cyBvZiB0aGlzIHdlIGRvIG5vdCBuZWVkCi0vLz09PT09PT0gYmVnaW4gY2xvc3VyZSBpNjQg
Y29kZSA9PT09PT09Ci0vLyBDb3B5cmlnaHQgMjAwOSBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhv
cnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0vLwotLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNo
ZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0vLyB5b3UgbWF5IG5vdCB1
c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0vLyBZ
b3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLS8vCi0vLyAgICAgIGh0dHA6
Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotLy8KLS8vIFVubGVzcyByZXF1
aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUK
LS8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJB
Uy1JUyIgQkFTSVMsCi0vLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkg
S0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLS8vIFNlZSB0aGUgTGljZW5zZSBmb3Ig
dGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLS8vIGxpbWl0
YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotLyoqCi0gKiBAZmlsZW92ZXJ2aWV3IERlZmluZXMg
YSBMb25nIGNsYXNzIGZvciByZXByZXNlbnRpbmcgYSA2NC1iaXQgdHdvJ3MtY29tcGxlbWVudAot
ICogaW50ZWdlciB2YWx1ZSwgd2hpY2ggZmFpdGhmdWxseSBzaW11bGF0ZXMgdGhlIGJlaGF2aW9y
IG9mIGEgSmF2YSAibG9uZyIuIFRoaXMKLSAqIGltcGxlbWVudGF0aW9uIGlzIGRlcml2ZWQgZnJv
bSBMb25nTGliIGluIEdXVC4KLSAqCi0gKi8KLXZhciBpNjRNYXRoID0gKGZ1bmN0aW9uKCkgeyAv
LyBFbXNjcmlwdGVuIHdyYXBwZXIKLSAgdmFyIGdvb2cgPSB7IG1hdGg6IHt9IH07Ci0gIC8qKgot
ICAgKiBDb25zdHJ1Y3RzIGEgNjQtYml0IHR3bydzLWNvbXBsZW1lbnQgaW50ZWdlciwgZ2l2ZW4g
aXRzIGxvdyBhbmQgaGlnaCAzMi1iaXQKLSAgICogdmFsdWVzIGFzICpzaWduZWQqIGludGVnZXJz
LiAgU2VlIHRoZSBmcm9tKiBmdW5jdGlvbnMgYmVsb3cgZm9yIG1vcmUKLSAgICogY29udmVuaWVu
dCB3YXlzIG9mIGNvbnN0cnVjdGluZyBMb25ncy4KLSAgICoKLSAgICogVGhlIGludGVybmFsIHJl
cHJlc2VudGF0aW9uIG9mIGEgbG9uZyBpcyB0aGUgdHdvIGdpdmVuIHNpZ25lZCwgMzItYml0IHZh
bHVlcy4KLSAgICogV2UgdXNlIDMyLWJpdCBwaWVjZXMgYmVjYXVzZSB0aGVzZSBhcmUgdGhlIHNp
emUgb2YgaW50ZWdlcnMgb24gd2hpY2gKLSAgICogSmF2YXNjcmlwdCBwZXJmb3JtcyBiaXQtb3Bl
cmF0aW9ucy4gIEZvciBvcGVyYXRpb25zIGxpa2UgYWRkaXRpb24gYW5kCi0gICAqIG11bHRpcGxp
Y2F0aW9uLCB3ZSBzcGxpdCBlYWNoIG51bWJlciBpbnRvIDE2LWJpdCBwaWVjZXMsIHdoaWNoIGNh
biBlYXNpbHkgYmUKLSAgICogbXVsdGlwbGllZCB3aXRoaW4gSmF2YXNjcmlwdCdzIGZsb2F0aW5n
LXBvaW50IHJlcHJlc2VudGF0aW9uIHdpdGhvdXQgb3ZlcmZsb3cKLSAgICogb3IgY2hhbmdlIGlu
IHNpZ24uCi0gICAqCi0gICAqIEluIHRoZSBhbGdvcml0aG1zIGJlbG93LCB3ZSBmcmVxdWVudGx5
IHJlZHVjZSB0aGUgbmVnYXRpdmUgY2FzZSB0byB0aGUKLSAgICogcG9zaXRpdmUgY2FzZSBieSBu
ZWdhdGluZyB0aGUgaW5wdXQocykgYW5kIHRoZW4gcG9zdC1wcm9jZXNzaW5nIHRoZSByZXN1bHQu
Ci0gICAqIE5vdGUgdGhhdCB3ZSBtdXN0IEFMV0FZUyBjaGVjayBzcGVjaWFsbHkgd2hldGhlciB0
aG9zZSB2YWx1ZXMgYXJlIE1JTl9WQUxVRQotICAgKiAoLTJeNjMpIGJlY2F1c2UgLU1JTl9WQUxV
RSA9PSBNSU5fVkFMVUUgKHNpbmNlIDJeNjMgY2Fubm90IGJlIHJlcHJlc2VudGVkIGFzCi0gICAq
IGEgcG9zaXRpdmUgbnVtYmVyLCBpdCBvdmVyZmxvd3MgYmFjayBpbnRvIGEgbmVnYXRpdmUpLiAg
Tm90IGhhbmRsaW5nIHRoaXMKLSAgICogY2FzZSB3b3VsZCBvZnRlbiByZXN1bHQgaW4gaW5maW5p
dGUgcmVjdXJzaW9uLgotICAgKgotICAgKiBAcGFyYW0ge251bWJlcn0gbG93ICBUaGUgbG93IChz
aWduZWQpIDMyIGJpdHMgb2YgdGhlIGxvbmcuCi0gICAqIEBwYXJhbSB7bnVtYmVyfSBoaWdoICBU
aGUgaGlnaCAoc2lnbmVkKSAzMiBiaXRzIG9mIHRoZSBsb25nLgotICAgKiBAY29uc3RydWN0b3IK
LSAgICovCi0gIGdvb2cubWF0aC5Mb25nID0gZnVuY3Rpb24obG93LCBoaWdoKSB7Ci0gICAgLyoq
Ci0gICAgICogQHR5cGUge251bWJlcn0KLSAgICAgKiBAcHJpdmF0ZQotICAgICAqLwotICAgIHRo
aXMubG93XyA9IGxvdyB8IDA7ICAvLyBmb3JjZSBpbnRvIDMyIHNpZ25lZCBiaXRzLgotICAgIC8q
KgotICAgICAqIEB0eXBlIHtudW1iZXJ9Ci0gICAgICogQHByaXZhdGUKLSAgICAgKi8KLSAgICB0
aGlzLmhpZ2hfID0gaGlnaCB8IDA7ICAvLyBmb3JjZSBpbnRvIDMyIHNpZ25lZCBiaXRzLgotICB9
OwotICAvLyBOT1RFOiBDb21tb24gY29uc3RhbnQgdmFsdWVzIFpFUk8sIE9ORSwgTkVHX09ORSwg
ZXRjLiBhcmUgZGVmaW5lZCBiZWxvdyB0aGUKLSAgLy8gZnJvbSogbWV0aG9kcyBvbiB3aGljaCB0
aGV5IGRlcGVuZC4KLSAgLyoqCi0gICAqIEEgY2FjaGUgb2YgdGhlIExvbmcgcmVwcmVzZW50YXRp
b25zIG9mIHNtYWxsIGludGVnZXIgdmFsdWVzLgotICAgKiBAdHlwZSB7IU9iamVjdH0KLSAgICog
QHByaXZhdGUKLSAgICovCi0gIGdvb2cubWF0aC5Mb25nLkludENhY2hlXyA9IHt9OwotICAvKioK
LSAgICogUmV0dXJucyBhIExvbmcgcmVwcmVzZW50aW5nIHRoZSBnaXZlbiAoMzItYml0KSBpbnRl
Z2VyIHZhbHVlLgotICAgKiBAcGFyYW0ge251bWJlcn0gdmFsdWUgVGhlIDMyLWJpdCBpbnRlZ2Vy
IGluIHF1ZXN0aW9uLgotICAgKiBAcmV0dXJuIHshZ29vZy5tYXRoLkxvbmd9IFRoZSBjb3JyZXNw
b25kaW5nIExvbmcgdmFsdWUuCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5mcm9tSW50ID0gZnVu
Y3Rpb24odmFsdWUpIHsKLSAgICBpZiAoLTEyOCA8PSB2YWx1ZSAmJiB2YWx1ZSA8IDEyOCkgewot
ICAgICAgdmFyIGNhY2hlZE9iaiA9IGdvb2cubWF0aC5Mb25nLkludENhY2hlX1t2YWx1ZV07Ci0g
ICAgICBpZiAoY2FjaGVkT2JqKSB7Ci0gICAgICAgIHJldHVybiBjYWNoZWRPYmo7Ci0gICAgICB9
Ci0gICAgfQotICAgIHZhciBvYmogPSBuZXcgZ29vZy5tYXRoLkxvbmcodmFsdWUgfCAwLCB2YWx1
ZSA8IDAgPyAtMSA6IDApOwotICAgIGlmICgtMTI4IDw9IHZhbHVlICYmIHZhbHVlIDwgMTI4KSB7
Ci0gICAgICBnb29nLm1hdGguTG9uZy5JbnRDYWNoZV9bdmFsdWVdID0gb2JqOwotICAgIH0KLSAg
ICByZXR1cm4gb2JqOwotICB9OwotICAvKioKLSAgICogUmV0dXJucyBhIExvbmcgcmVwcmVzZW50
aW5nIHRoZSBnaXZlbiB2YWx1ZSwgcHJvdmlkZWQgdGhhdCBpdCBpcyBhIGZpbml0ZQotICAgKiBu
dW1iZXIuICBPdGhlcndpc2UsIHplcm8gaXMgcmV0dXJuZWQuCi0gICAqIEBwYXJhbSB7bnVtYmVy
fSB2YWx1ZSBUaGUgbnVtYmVyIGluIHF1ZXN0aW9uLgotICAgKiBAcmV0dXJuIHshZ29vZy5tYXRo
Lkxvbmd9IFRoZSBjb3JyZXNwb25kaW5nIExvbmcgdmFsdWUuCi0gICAqLwotICBnb29nLm1hdGgu
TG9uZy5mcm9tTnVtYmVyID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBpZiAoaXNOYU4odmFsdWUp
IHx8ICFpc0Zpbml0ZSh2YWx1ZSkpIHsKLSAgICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5aRVJP
OwotICAgIH0gZWxzZSBpZiAodmFsdWUgPD0gLWdvb2cubWF0aC5Mb25nLlRXT19QV1JfNjNfREJM
XykgewotICAgICAgcmV0dXJuIGdvb2cubWF0aC5Mb25nLk1JTl9WQUxVRTsKLSAgICB9IGVsc2Ug
aWYgKHZhbHVlICsgMSA+PSBnb29nLm1hdGguTG9uZy5UV09fUFdSXzYzX0RCTF8pIHsKLSAgICAg
IHJldHVybiBnb29nLm1hdGguTG9uZy5NQVhfVkFMVUU7Ci0gICAgfSBlbHNlIGlmICh2YWx1ZSA8
IDApIHsKLSAgICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5mcm9tTnVtYmVyKC12YWx1ZSkubmVn
YXRlKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHJldHVybiBuZXcgZ29vZy5tYXRoLkxvbmcoCi0g
ICAgICAgICAgKHZhbHVlICUgZ29vZy5tYXRoLkxvbmcuVFdPX1BXUl8zMl9EQkxfKSB8IDAsCi0g
ICAgICAgICAgKHZhbHVlIC8gZ29vZy5tYXRoLkxvbmcuVFdPX1BXUl8zMl9EQkxfKSB8IDApOwot
ICAgIH0KLSAgfTsKLSAgLyoqCi0gICAqIFJldHVybnMgYSBMb25nIHJlcHJlc2VudGluZyB0aGUg
NjQtYml0IGludGVnZXIgdGhhdCBjb21lcyBieSBjb25jYXRlbmF0aW5nCi0gICAqIHRoZSBnaXZl
biBoaWdoIGFuZCBsb3cgYml0cy4gIEVhY2ggaXMgYXNzdW1lZCB0byB1c2UgMzIgYml0cy4KLSAg
ICogQHBhcmFtIHtudW1iZXJ9IGxvd0JpdHMgVGhlIGxvdyAzMi1iaXRzLgotICAgKiBAcGFyYW0g
e251bWJlcn0gaGlnaEJpdHMgVGhlIGhpZ2ggMzItYml0cy4KLSAgICogQHJldHVybiB7IWdvb2cu
bWF0aC5Mb25nfSBUaGUgY29ycmVzcG9uZGluZyBMb25nIHZhbHVlLgotICAgKi8KLSAgZ29vZy5t
YXRoLkxvbmcuZnJvbUJpdHMgPSBmdW5jdGlvbihsb3dCaXRzLCBoaWdoQml0cykgewotICAgIHJl
dHVybiBuZXcgZ29vZy5tYXRoLkxvbmcobG93Qml0cywgaGlnaEJpdHMpOwotICB9OwotICAvKioK
LSAgICogUmV0dXJucyBhIExvbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGdpdmVuIHN0cmluZywg
d3JpdHRlbiB1c2luZyB0aGUgZ2l2ZW4KLSAgICogcmFkaXguCi0gICAqIEBwYXJhbSB7c3RyaW5n
fSBzdHIgVGhlIHRleHR1YWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIExvbmcuCi0gICAqIEBwYXJh
bSB7bnVtYmVyPX0gb3B0X3JhZGl4IFRoZSByYWRpeCBpbiB3aGljaCB0aGUgdGV4dCBpcyB3cml0
dGVuLgotICAgKiBAcmV0dXJuIHshZ29vZy5tYXRoLkxvbmd9IFRoZSBjb3JyZXNwb25kaW5nIExv
bmcgdmFsdWUuCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5mcm9tU3RyaW5nID0gZnVuY3Rpb24o
c3RyLCBvcHRfcmFkaXgpIHsKLSAgICBpZiAoc3RyLmxlbmd0aCA9PSAwKSB7Ci0gICAgICB0aHJv
dyBFcnJvcignbnVtYmVyIGZvcm1hdCBlcnJvcjogZW1wdHkgc3RyaW5nJyk7Ci0gICAgfQotICAg
IHZhciByYWRpeCA9IG9wdF9yYWRpeCB8fCAxMDsKLSAgICBpZiAocmFkaXggPCAyIHx8IDM2IDwg
cmFkaXgpIHsKLSAgICAgIHRocm93IEVycm9yKCdyYWRpeCBvdXQgb2YgcmFuZ2U6ICcgKyByYWRp
eCk7Ci0gICAgfQotICAgIGlmIChzdHIuY2hhckF0KDApID09ICctJykgewotICAgICAgcmV0dXJu
IGdvb2cubWF0aC5Mb25nLmZyb21TdHJpbmcoc3RyLnN1YnN0cmluZygxKSwgcmFkaXgpLm5lZ2F0
ZSgpOwotICAgIH0gZWxzZSBpZiAoc3RyLmluZGV4T2YoJy0nKSA+PSAwKSB7Ci0gICAgICB0aHJv
dyBFcnJvcignbnVtYmVyIGZvcm1hdCBlcnJvcjogaW50ZXJpb3IgIi0iIGNoYXJhY3RlcjogJyAr
IHN0cik7Ci0gICAgfQotICAgIC8vIERvIHNldmVyYWwgKDgpIGRpZ2l0cyBlYWNoIHRpbWUgdGhy
b3VnaCB0aGUgbG9vcCwgc28gYXMgdG8KLSAgICAvLyBtaW5pbWl6ZSB0aGUgY2FsbHMgdG8gdGhl
IHZlcnkgZXhwZW5zaXZlIGVtdWxhdGVkIGRpdi4KLSAgICB2YXIgcmFkaXhUb1Bvd2VyID0gZ29v
Zy5tYXRoLkxvbmcuZnJvbU51bWJlcihNYXRoLnBvdyhyYWRpeCwgOCkpOwotICAgIHZhciByZXN1
bHQgPSBnb29nLm1hdGguTG9uZy5aRVJPOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxl
bmd0aDsgaSArPSA4KSB7Ci0gICAgICB2YXIgc2l6ZSA9IE1hdGgubWluKDgsIHN0ci5sZW5ndGgg
LSBpKTsKLSAgICAgIHZhciB2YWx1ZSA9IHBhcnNlSW50KHN0ci5zdWJzdHJpbmcoaSwgaSArIHNp
emUpLCByYWRpeCk7Ci0gICAgICBpZiAoc2l6ZSA8IDgpIHsKLSAgICAgICAgdmFyIHBvd2VyID0g
Z29vZy5tYXRoLkxvbmcuZnJvbU51bWJlcihNYXRoLnBvdyhyYWRpeCwgc2l6ZSkpOwotICAgICAg
ICByZXN1bHQgPSByZXN1bHQubXVsdGlwbHkocG93ZXIpLmFkZChnb29nLm1hdGguTG9uZy5mcm9t
TnVtYmVyKHZhbHVlKSk7Ci0gICAgICB9IGVsc2UgewotICAgICAgICByZXN1bHQgPSByZXN1bHQu
bXVsdGlwbHkocmFkaXhUb1Bvd2VyKTsKLSAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmFkZChnb29n
Lm1hdGguTG9uZy5mcm9tTnVtYmVyKHZhbHVlKSk7Ci0gICAgICB9Ci0gICAgfQotICAgIHJldHVy
biByZXN1bHQ7Ci0gIH07Ci0gIC8vIE5PVEU6IHRoZSBjb21waWxlciBzaG91bGQgaW5saW5lIHRo
ZXNlIGNvbnN0YW50IHZhbHVlcyBiZWxvdyBhbmQgdGhlbiByZW1vdmUKLSAgLy8gdGhlc2UgdmFy
aWFibGVzLCBzbyB0aGVyZSBzaG91bGQgYmUgbm8gcnVudGltZSBwZW5hbHR5IGZvciB0aGVzZS4K
LSAgLyoqCi0gICAqIE51bWJlciB1c2VkIHJlcGVhdGVkIGJlbG93IGluIGNhbGN1bGF0aW9ucy4g
IFRoaXMgbXVzdCBhcHBlYXIgYmVmb3JlIHRoZQotICAgKiBmaXJzdCBjYWxsIHRvIGFueSBmcm9t
KiBmdW5jdGlvbiBiZWxvdy4KLSAgICogQHR5cGUge251bWJlcn0KLSAgICogQHByaXZhdGUKLSAg
ICovCi0gIGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMTZfREJMXyA9IDEgPDwgMTY7Ci0gIC8qKgot
ICAgKiBAdHlwZSB7bnVtYmVyfQotICAgKiBAcHJpdmF0ZQotICAgKi8KLSAgZ29vZy5tYXRoLkxv
bmcuVFdPX1BXUl8yNF9EQkxfID0gMSA8PCAyNDsKLSAgLyoqCi0gICAqIEB0eXBlIHtudW1iZXJ9
Ci0gICAqIEBwcml2YXRlCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5UV09fUFdSXzMyX0RCTF8g
PQotICAgICAgZ29vZy5tYXRoLkxvbmcuVFdPX1BXUl8xNl9EQkxfICogZ29vZy5tYXRoLkxvbmcu
VFdPX1BXUl8xNl9EQkxfOwotICAvKioKLSAgICogQHR5cGUge251bWJlcn0KLSAgICogQHByaXZh
dGUKLSAgICovCi0gIGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMzFfREJMXyA9Ci0gICAgICBnb29n
Lm1hdGguTG9uZy5UV09fUFdSXzMyX0RCTF8gLyAyOwotICAvKioKLSAgICogQHR5cGUge251bWJl
cn0KLSAgICogQHByaXZhdGUKLSAgICovCi0gIGdvb2cubWF0aC5Mb25nLlRXT19QV1JfNDhfREJM
XyA9Ci0gICAgICBnb29nLm1hdGguTG9uZy5UV09fUFdSXzMyX0RCTF8gKiBnb29nLm1hdGguTG9u
Zy5UV09fUFdSXzE2X0RCTF87Ci0gIC8qKgotICAgKiBAdHlwZSB7bnVtYmVyfQotICAgKiBAcHJp
dmF0ZQotICAgKi8KLSAgZ29vZy5tYXRoLkxvbmcuVFdPX1BXUl82NF9EQkxfID0KLSAgICAgIGdv
b2cubWF0aC5Mb25nLlRXT19QV1JfMzJfREJMXyAqIGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMzJf
REJMXzsKLSAgLyoqCi0gICAqIEB0eXBlIHtudW1iZXJ9Ci0gICAqIEBwcml2YXRlCi0gICAqLwot
ICBnb29nLm1hdGguTG9uZy5UV09fUFdSXzYzX0RCTF8gPQotICAgICAgZ29vZy5tYXRoLkxvbmcu
VFdPX1BXUl82NF9EQkxfIC8gMjsKLSAgLyoqIEB0eXBlIHshZ29vZy5tYXRoLkxvbmd9ICovCi0g
IGdvb2cubWF0aC5Mb25nLlpFUk8gPSBnb29nLm1hdGguTG9uZy5mcm9tSW50KDApOwotICAvKiog
QHR5cGUgeyFnb29nLm1hdGguTG9uZ30gKi8KLSAgZ29vZy5tYXRoLkxvbmcuT05FID0gZ29vZy5t
YXRoLkxvbmcuZnJvbUludCgxKTsKLSAgLyoqIEB0eXBlIHshZ29vZy5tYXRoLkxvbmd9ICovCi0g
IGdvb2cubWF0aC5Mb25nLk5FR19PTkUgPSBnb29nLm1hdGguTG9uZy5mcm9tSW50KC0xKTsKLSAg
LyoqIEB0eXBlIHshZ29vZy5tYXRoLkxvbmd9ICovCi0gIGdvb2cubWF0aC5Mb25nLk1BWF9WQUxV
RSA9Ci0gICAgICBnb29nLm1hdGguTG9uZy5mcm9tQml0cygweEZGRkZGRkZGIHwgMCwgMHg3RkZG
RkZGRiB8IDApOwotICAvKiogQHR5cGUgeyFnb29nLm1hdGguTG9uZ30gKi8KLSAgZ29vZy5tYXRo
LkxvbmcuTUlOX1ZBTFVFID0gZ29vZy5tYXRoLkxvbmcuZnJvbUJpdHMoMCwgMHg4MDAwMDAwMCB8
IDApOwotICAvKioKLSAgICogQHR5cGUgeyFnb29nLm1hdGguTG9uZ30KLSAgICogQHByaXZhdGUK
LSAgICovCi0gIGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMjRfID0gZ29vZy5tYXRoLkxvbmcuZnJv
bUludCgxIDw8IDI0KTsKLSAgLyoqIEByZXR1cm4ge251bWJlcn0gVGhlIHZhbHVlLCBhc3N1bWlu
ZyBpdCBpcyBhIDMyLWJpdCBpbnRlZ2VyLiAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUu
dG9JbnQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5sb3dfOwotICB9OwotICAvKiog
QHJldHVybiB7bnVtYmVyfSBUaGUgY2xvc2VzdCBmbG9hdGluZy1wb2ludCByZXByZXNlbnRhdGlv
biB0byB0aGlzIHZhbHVlLiAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUudG9OdW1iZXIg
PSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5oaWdoXyAqIGdvb2cubWF0aC5Mb25nLlRX
T19QV1JfMzJfREJMXyArCi0gICAgICAgICAgIHRoaXMuZ2V0TG93Qml0c1Vuc2lnbmVkKCk7Ci0g
IH07Ci0gIC8qKgotICAgKiBAcGFyYW0ge251bWJlcj19IG9wdF9yYWRpeCBUaGUgcmFkaXggaW4g
d2hpY2ggdGhlIHRleHQgc2hvdWxkIGJlIHdyaXR0ZW4uCi0gICAqIEByZXR1cm4ge3N0cmluZ30g
VGhlIHRleHR1YWwgcmVwcmVzZW50YXRpb24gb2YgdGhpcyB2YWx1ZS4KLSAgICovCi0gIGdvb2cu
bWF0aC5Mb25nLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uKG9wdF9yYWRpeCkgewotICAg
IHZhciByYWRpeCA9IG9wdF9yYWRpeCB8fCAxMDsKLSAgICBpZiAocmFkaXggPCAyIHx8IDM2IDwg
cmFkaXgpIHsKLSAgICAgIHRocm93IEVycm9yKCdyYWRpeCBvdXQgb2YgcmFuZ2U6ICcgKyByYWRp
eCk7Ci0gICAgfQotICAgIGlmICh0aGlzLmlzWmVybygpKSB7Ci0gICAgICByZXR1cm4gJzAnOwot
ICAgIH0KLSAgICBpZiAodGhpcy5pc05lZ2F0aXZlKCkpIHsKLSAgICAgIGlmICh0aGlzLmVxdWFs
cyhnb29nLm1hdGguTG9uZy5NSU5fVkFMVUUpKSB7Ci0gICAgICAgIC8vIFdlIG5lZWQgdG8gY2hh
bmdlIHRoZSBMb25nIHZhbHVlIGJlZm9yZSBpdCBjYW4gYmUgbmVnYXRlZCwgc28gd2UgcmVtb3Zl
Ci0gICAgICAgIC8vIHRoZSBib3R0b20tbW9zdCBkaWdpdCBpbiB0aGlzIGJhc2UgYW5kIHRoZW4g
cmVjdXJzZSB0byBkbyB0aGUgcmVzdC4KLSAgICAgICAgdmFyIHJhZGl4TG9uZyA9IGdvb2cubWF0
aC5Mb25nLmZyb21OdW1iZXIocmFkaXgpOwotICAgICAgICB2YXIgZGl2ID0gdGhpcy5kaXYocmFk
aXhMb25nKTsKLSAgICAgICAgdmFyIHJlbSA9IGRpdi5tdWx0aXBseShyYWRpeExvbmcpLnN1YnRy
YWN0KHRoaXMpOwotICAgICAgICByZXR1cm4gZGl2LnRvU3RyaW5nKHJhZGl4KSArIHJlbS50b0lu
dCgpLnRvU3RyaW5nKHJhZGl4KTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldHVybiAnLScg
KyB0aGlzLm5lZ2F0ZSgpLnRvU3RyaW5nKHJhZGl4KTsKLSAgICAgIH0KLSAgICB9Ci0gICAgLy8g
RG8gc2V2ZXJhbCAoNikgZGlnaXRzIGVhY2ggdGltZSB0aHJvdWdoIHRoZSBsb29wLCBzbyBhcyB0
bwotICAgIC8vIG1pbmltaXplIHRoZSBjYWxscyB0byB0aGUgdmVyeSBleHBlbnNpdmUgZW11bGF0
ZWQgZGl2LgotICAgIHZhciByYWRpeFRvUG93ZXIgPSBnb29nLm1hdGguTG9uZy5mcm9tTnVtYmVy
KE1hdGgucG93KHJhZGl4LCA2KSk7Ci0gICAgdmFyIHJlbSA9IHRoaXM7Ci0gICAgdmFyIHJlc3Vs
dCA9ICcnOwotICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICB2YXIgcmVtRGl2ID0gcmVtLmRpdihy
YWRpeFRvUG93ZXIpOwotICAgICAgdmFyIGludHZhbCA9IHJlbS5zdWJ0cmFjdChyZW1EaXYubXVs
dGlwbHkocmFkaXhUb1Bvd2VyKSkudG9JbnQoKTsKLSAgICAgIHZhciBkaWdpdHMgPSBpbnR2YWwu
dG9TdHJpbmcocmFkaXgpOwotICAgICAgcmVtID0gcmVtRGl2OwotICAgICAgaWYgKHJlbS5pc1pl
cm8oKSkgewotICAgICAgICByZXR1cm4gZGlnaXRzICsgcmVzdWx0OwotICAgICAgfSBlbHNlIHsK
LSAgICAgICAgd2hpbGUgKGRpZ2l0cy5sZW5ndGggPCA2KSB7Ci0gICAgICAgICAgZGlnaXRzID0g
JzAnICsgZGlnaXRzOwotICAgICAgICB9Ci0gICAgICAgIHJlc3VsdCA9ICcnICsgZGlnaXRzICsg
cmVzdWx0OwotICAgICAgfQotICAgIH0KLSAgfTsKLSAgLyoqIEByZXR1cm4ge251bWJlcn0gVGhl
IGhpZ2ggMzItYml0cyBhcyBhIHNpZ25lZCB2YWx1ZS4gKi8KLSAgZ29vZy5tYXRoLkxvbmcucHJv
dG90eXBlLmdldEhpZ2hCaXRzID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaGlnaF87
Ci0gIH07Ci0gIC8qKiBAcmV0dXJuIHtudW1iZXJ9IFRoZSBsb3cgMzItYml0cyBhcyBhIHNpZ25l
ZCB2YWx1ZS4gKi8KLSAgZ29vZy5tYXRoLkxvbmcucHJvdG90eXBlLmdldExvd0JpdHMgPSBmdW5j
dGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5sb3dfOwotICB9OwotICAvKiogQHJldHVybiB7bnVt
YmVyfSBUaGUgbG93IDMyLWJpdHMgYXMgYW4gdW5zaWduZWQgdmFsdWUuICovCi0gIGdvb2cubWF0
aC5Mb25nLnByb3RvdHlwZS5nZXRMb3dCaXRzVW5zaWduZWQgPSBmdW5jdGlvbigpIHsKLSAgICBy
ZXR1cm4gKHRoaXMubG93XyA+PSAwKSA/Ci0gICAgICAgIHRoaXMubG93XyA6IGdvb2cubWF0aC5M
b25nLlRXT19QV1JfMzJfREJMXyArIHRoaXMubG93XzsKLSAgfTsKLSAgLyoqCi0gICAqIEByZXR1
cm4ge251bWJlcn0gUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJpdHMgbmVlZGVkIHRvIHJlcHJlc2Vu
dCB0aGUgYWJzb2x1dGUKLSAgICogICAgIHZhbHVlIG9mIHRoaXMgTG9uZy4KLSAgICovCi0gIGdv
b2cubWF0aC5Mb25nLnByb3RvdHlwZS5nZXROdW1CaXRzQWJzID0gZnVuY3Rpb24oKSB7Ci0gICAg
aWYgKHRoaXMuaXNOZWdhdGl2ZSgpKSB7Ci0gICAgICBpZiAodGhpcy5lcXVhbHMoZ29vZy5tYXRo
LkxvbmcuTUlOX1ZBTFVFKSkgewotICAgICAgICByZXR1cm4gNjQ7Ci0gICAgICB9IGVsc2Ugewot
ICAgICAgICByZXR1cm4gdGhpcy5uZWdhdGUoKS5nZXROdW1CaXRzQWJzKCk7Ci0gICAgICB9Ci0g
ICAgfSBlbHNlIHsKLSAgICAgIHZhciB2YWwgPSB0aGlzLmhpZ2hfICE9IDAgPyB0aGlzLmhpZ2hf
IDogdGhpcy5sb3dfOwotICAgICAgZm9yICh2YXIgYml0ID0gMzE7IGJpdCA+IDA7IGJpdC0tKSB7
Ci0gICAgICAgIGlmICgodmFsICYgKDEgPDwgYml0KSkgIT0gMCkgewotICAgICAgICAgIGJyZWFr
OwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGhpcy5oaWdoXyAhPSAwID8gYml0
ICsgMzMgOiBiaXQgKyAxOwotICAgIH0KLSAgfTsKLSAgLyoqIEByZXR1cm4ge2Jvb2xlYW59IFdo
ZXRoZXIgdGhpcyB2YWx1ZSBpcyB6ZXJvLiAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUu
aXNaZXJvID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaGlnaF8gPT0gMCAmJiB0aGlz
Lmxvd18gPT0gMDsKLSAgfTsKLSAgLyoqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhpcyB2
YWx1ZSBpcyBuZWdhdGl2ZS4gKi8KLSAgZ29vZy5tYXRoLkxvbmcucHJvdG90eXBlLmlzTmVnYXRp
dmUgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5oaWdoXyA8IDA7Ci0gIH07Ci0gIC8q
KiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoaXMgdmFsdWUgaXMgb2RkLiAqLwotICBnb29n
Lm1hdGguTG9uZy5wcm90b3R5cGUuaXNPZGQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gKHRo
aXMubG93XyAmIDEpID09IDE7Ci0gIH07Ci0gIC8qKgotICAgKiBAcGFyYW0ge2dvb2cubWF0aC5M
b25nfSBvdGhlciBMb25nIHRvIGNvbXBhcmUgYWdhaW5zdC4KLSAgICogQHJldHVybiB7Ym9vbGVh
bn0gV2hldGhlciB0aGlzIExvbmcgZXF1YWxzIHRoZSBvdGhlci4KLSAgICovCi0gIGdvb2cubWF0
aC5Mb25nLnByb3RvdHlwZS5lcXVhbHMgPSBmdW5jdGlvbihvdGhlcikgewotICAgIHJldHVybiAo
dGhpcy5oaWdoXyA9PSBvdGhlci5oaWdoXykgJiYgKHRoaXMubG93XyA9PSBvdGhlci5sb3dfKTsK
LSAgfTsKLSAgLyoqCi0gICAqIEBwYXJhbSB7Z29vZy5tYXRoLkxvbmd9IG90aGVyIExvbmcgdG8g
Y29tcGFyZSBhZ2FpbnN0LgotICAgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoaXMgTG9u
ZyBkb2VzIG5vdCBlcXVhbCB0aGUgb3RoZXIuCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5wcm90
b3R5cGUubm90RXF1YWxzID0gZnVuY3Rpb24ob3RoZXIpIHsKLSAgICByZXR1cm4gKHRoaXMuaGln
aF8gIT0gb3RoZXIuaGlnaF8pIHx8ICh0aGlzLmxvd18gIT0gb3RoZXIubG93Xyk7Ci0gIH07Ci0g
IC8qKgotICAgKiBAcGFyYW0ge2dvb2cubWF0aC5Mb25nfSBvdGhlciBMb25nIHRvIGNvbXBhcmUg
YWdhaW5zdC4KLSAgICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGlzIExvbmcgaXMgbGVz
cyB0aGFuIHRoZSBvdGhlci4KLSAgICovCi0gIGdvb2cubWF0aC5Mb25nLnByb3RvdHlwZS5sZXNz
VGhhbiA9IGZ1bmN0aW9uKG90aGVyKSB7Ci0gICAgcmV0dXJuIHRoaXMuY29tcGFyZShvdGhlcikg
PCAwOwotICB9OwotICAvKioKLSAgICogQHBhcmFtIHtnb29nLm1hdGguTG9uZ30gb3RoZXIgTG9u
ZyB0byBjb21wYXJlIGFnYWluc3QuCi0gICAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhp
cyBMb25nIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgb3RoZXIuCi0gICAqLwotICBnb29n
Lm1hdGguTG9uZy5wcm90b3R5cGUubGVzc1RoYW5PckVxdWFsID0gZnVuY3Rpb24ob3RoZXIpIHsK
LSAgICByZXR1cm4gdGhpcy5jb21wYXJlKG90aGVyKSA8PSAwOwotICB9OwotICAvKioKLSAgICog
QHBhcmFtIHtnb29nLm1hdGguTG9uZ30gb3RoZXIgTG9uZyB0byBjb21wYXJlIGFnYWluc3QuCi0g
ICAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhpcyBMb25nIGlzIGdyZWF0ZXIgdGhhbiB0
aGUgb3RoZXIuCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUuZ3JlYXRlclRoYW4g
PSBmdW5jdGlvbihvdGhlcikgewotICAgIHJldHVybiB0aGlzLmNvbXBhcmUob3RoZXIpID4gMDsK
LSAgfTsKLSAgLyoqCi0gICAqIEBwYXJhbSB7Z29vZy5tYXRoLkxvbmd9IG90aGVyIExvbmcgdG8g
Y29tcGFyZSBhZ2FpbnN0LgotICAgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoaXMgTG9u
ZyBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIG90aGVyLgotICAgKi8KLSAgZ29vZy5t
YXRoLkxvbmcucHJvdG90eXBlLmdyZWF0ZXJUaGFuT3JFcXVhbCA9IGZ1bmN0aW9uKG90aGVyKSB7
Ci0gICAgcmV0dXJuIHRoaXMuY29tcGFyZShvdGhlcikgPj0gMDsKLSAgfTsKLSAgLyoqCi0gICAq
IENvbXBhcmVzIHRoaXMgTG9uZyB3aXRoIHRoZSBnaXZlbiBvbmUuCi0gICAqIEBwYXJhbSB7Z29v
Zy5tYXRoLkxvbmd9IG90aGVyIExvbmcgdG8gY29tcGFyZSBhZ2FpbnN0LgotICAgKiBAcmV0dXJu
IHtudW1iZXJ9IDAgaWYgdGhleSBhcmUgdGhlIHNhbWUsIDEgaWYgdGhlIHRoaXMgaXMgZ3JlYXRl
ciwgYW5kIC0xCi0gICAqICAgICBpZiB0aGUgZ2l2ZW4gb25lIGlzIGdyZWF0ZXIuCi0gICAqLwot
ICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUuY29tcGFyZSA9IGZ1bmN0aW9uKG90aGVyKSB7Ci0g
ICAgaWYgKHRoaXMuZXF1YWxzKG90aGVyKSkgewotICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICAg
IHZhciB0aGlzTmVnID0gdGhpcy5pc05lZ2F0aXZlKCk7Ci0gICAgdmFyIG90aGVyTmVnID0gb3Ro
ZXIuaXNOZWdhdGl2ZSgpOwotICAgIGlmICh0aGlzTmVnICYmICFvdGhlck5lZykgewotICAgICAg
cmV0dXJuIC0xOwotICAgIH0KLSAgICBpZiAoIXRoaXNOZWcgJiYgb3RoZXJOZWcpIHsKLSAgICAg
IHJldHVybiAxOwotICAgIH0KLSAgICAvLyBhdCB0aGlzIHBvaW50LCB0aGUgc2lnbnMgYXJlIHRo
ZSBzYW1lLCBzbyBzdWJ0cmFjdGlvbiB3aWxsIG5vdCBvdmVyZmxvdwotICAgIGlmICh0aGlzLnN1
YnRyYWN0KG90aGVyKS5pc05lZ2F0aXZlKCkpIHsKLSAgICAgIHJldHVybiAtMTsKLSAgICB9IGVs
c2UgewotICAgICAgcmV0dXJuIDE7Ci0gICAgfQotICB9OwotICAvKiogQHJldHVybiB7IWdvb2cu
bWF0aC5Mb25nfSBUaGUgbmVnYXRpb24gb2YgdGhpcyB2YWx1ZS4gKi8KLSAgZ29vZy5tYXRoLkxv
bmcucHJvdG90eXBlLm5lZ2F0ZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLmVxdWFscyhn
b29nLm1hdGguTG9uZy5NSU5fVkFMVUUpKSB7Ci0gICAgICByZXR1cm4gZ29vZy5tYXRoLkxvbmcu
TUlOX1ZBTFVFOwotICAgIH0gZWxzZSB7Ci0gICAgICByZXR1cm4gdGhpcy5ub3QoKS5hZGQoZ29v
Zy5tYXRoLkxvbmcuT05FKTsKLSAgICB9Ci0gIH07Ci0gIC8qKgotICAgKiBSZXR1cm5zIHRoZSBz
dW0gb2YgdGhpcyBhbmQgdGhlIGdpdmVuIExvbmcuCi0gICAqIEBwYXJhbSB7Z29vZy5tYXRoLkxv
bmd9IG90aGVyIExvbmcgdG8gYWRkIHRvIHRoaXMgb25lLgotICAgKiBAcmV0dXJuIHshZ29vZy5t
YXRoLkxvbmd9IFRoZSBzdW0gb2YgdGhpcyBhbmQgdGhlIGdpdmVuIExvbmcuCi0gICAqLwotICBn
b29nLm1hdGguTG9uZy5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24ob3RoZXIpIHsKLSAgICAvLyBE
aXZpZGUgZWFjaCBudW1iZXIgaW50byA0IGNodW5rcyBvZiAxNiBiaXRzLCBhbmQgdGhlbiBzdW0g
dGhlIGNodW5rcy4KLSAgICB2YXIgYTQ4ID0gdGhpcy5oaWdoXyA+Pj4gMTY7Ci0gICAgdmFyIGEz
MiA9IHRoaXMuaGlnaF8gJiAweEZGRkY7Ci0gICAgdmFyIGExNiA9IHRoaXMubG93XyA+Pj4gMTY7
Ci0gICAgdmFyIGEwMCA9IHRoaXMubG93XyAmIDB4RkZGRjsKLSAgICB2YXIgYjQ4ID0gb3RoZXIu
aGlnaF8gPj4+IDE2OwotICAgIHZhciBiMzIgPSBvdGhlci5oaWdoXyAmIDB4RkZGRjsKLSAgICB2
YXIgYjE2ID0gb3RoZXIubG93XyA+Pj4gMTY7Ci0gICAgdmFyIGIwMCA9IG90aGVyLmxvd18gJiAw
eEZGRkY7Ci0gICAgdmFyIGM0OCA9IDAsIGMzMiA9IDAsIGMxNiA9IDAsIGMwMCA9IDA7Ci0gICAg
YzAwICs9IGEwMCArIGIwMDsKLSAgICBjMTYgKz0gYzAwID4+PiAxNjsKLSAgICBjMDAgJj0gMHhG
RkZGOwotICAgIGMxNiArPSBhMTYgKyBiMTY7Ci0gICAgYzMyICs9IGMxNiA+Pj4gMTY7Ci0gICAg
YzE2ICY9IDB4RkZGRjsKLSAgICBjMzIgKz0gYTMyICsgYjMyOwotICAgIGM0OCArPSBjMzIgPj4+
IDE2OwotICAgIGMzMiAmPSAweEZGRkY7Ci0gICAgYzQ4ICs9IGE0OCArIGI0ODsKLSAgICBjNDgg
Jj0gMHhGRkZGOwotICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5mcm9tQml0cygoYzE2IDw8IDE2
KSB8IGMwMCwgKGM0OCA8PCAxNikgfCBjMzIpOwotICB9OwotICAvKioKLSAgICogUmV0dXJucyB0
aGUgZGlmZmVyZW5jZSBvZiB0aGlzIGFuZCB0aGUgZ2l2ZW4gTG9uZy4KLSAgICogQHBhcmFtIHtn
b29nLm1hdGguTG9uZ30gb3RoZXIgTG9uZyB0byBzdWJ0cmFjdCBmcm9tIHRoaXMuCi0gICAqIEBy
ZXR1cm4geyFnb29nLm1hdGguTG9uZ30gVGhlIGRpZmZlcmVuY2Ugb2YgdGhpcyBhbmQgdGhlIGdp
dmVuIExvbmcuCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUuc3VidHJhY3QgPSBm
dW5jdGlvbihvdGhlcikgewotICAgIHJldHVybiB0aGlzLmFkZChvdGhlci5uZWdhdGUoKSk7Ci0g
IH07Ci0gIC8qKgotICAgKiBSZXR1cm5zIHRoZSBwcm9kdWN0IG9mIHRoaXMgYW5kIHRoZSBnaXZl
biBsb25nLgotICAgKiBAcGFyYW0ge2dvb2cubWF0aC5Mb25nfSBvdGhlciBMb25nIHRvIG11bHRp
cGx5IHdpdGggdGhpcy4KLSAgICogQHJldHVybiB7IWdvb2cubWF0aC5Mb25nfSBUaGUgcHJvZHVj
dCBvZiB0aGlzIGFuZCB0aGUgb3RoZXIuCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5
cGUubXVsdGlwbHkgPSBmdW5jdGlvbihvdGhlcikgewotICAgIGlmICh0aGlzLmlzWmVybygpKSB7
Ci0gICAgICByZXR1cm4gZ29vZy5tYXRoLkxvbmcuWkVSTzsKLSAgICB9IGVsc2UgaWYgKG90aGVy
LmlzWmVybygpKSB7Ci0gICAgICByZXR1cm4gZ29vZy5tYXRoLkxvbmcuWkVSTzsKLSAgICB9Ci0g
ICAgaWYgKHRoaXMuZXF1YWxzKGdvb2cubWF0aC5Mb25nLk1JTl9WQUxVRSkpIHsKLSAgICAgIHJl
dHVybiBvdGhlci5pc09kZCgpID8gZ29vZy5tYXRoLkxvbmcuTUlOX1ZBTFVFIDogZ29vZy5tYXRo
LkxvbmcuWkVSTzsKLSAgICB9IGVsc2UgaWYgKG90aGVyLmVxdWFscyhnb29nLm1hdGguTG9uZy5N
SU5fVkFMVUUpKSB7Ci0gICAgICByZXR1cm4gdGhpcy5pc09kZCgpID8gZ29vZy5tYXRoLkxvbmcu
TUlOX1ZBTFVFIDogZ29vZy5tYXRoLkxvbmcuWkVSTzsKLSAgICB9Ci0gICAgaWYgKHRoaXMuaXNO
ZWdhdGl2ZSgpKSB7Ci0gICAgICBpZiAob3RoZXIuaXNOZWdhdGl2ZSgpKSB7Ci0gICAgICAgIHJl
dHVybiB0aGlzLm5lZ2F0ZSgpLm11bHRpcGx5KG90aGVyLm5lZ2F0ZSgpKTsKLSAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgIHJldHVybiB0aGlzLm5lZ2F0ZSgpLm11bHRpcGx5KG90aGVyKS5uZWdhdGUo
KTsKLSAgICAgIH0KLSAgICB9IGVsc2UgaWYgKG90aGVyLmlzTmVnYXRpdmUoKSkgewotICAgICAg
cmV0dXJuIHRoaXMubXVsdGlwbHkob3RoZXIubmVnYXRlKCkpLm5lZ2F0ZSgpOwotICAgIH0KLSAg
ICAvLyBJZiBib3RoIGxvbmdzIGFyZSBzbWFsbCwgdXNlIGZsb2F0IG11bHRpcGxpY2F0aW9uCi0g
ICAgaWYgKHRoaXMubGVzc1RoYW4oZ29vZy5tYXRoLkxvbmcuVFdPX1BXUl8yNF8pICYmCi0gICAg
ICAgIG90aGVyLmxlc3NUaGFuKGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMjRfKSkgewotICAgICAg
cmV0dXJuIGdvb2cubWF0aC5Mb25nLmZyb21OdW1iZXIodGhpcy50b051bWJlcigpICogb3RoZXIu
dG9OdW1iZXIoKSk7Ci0gICAgfQotICAgIC8vIERpdmlkZSBlYWNoIGxvbmcgaW50byA0IGNodW5r
cyBvZiAxNiBiaXRzLCBhbmQgdGhlbiBhZGQgdXAgNHg0IHByb2R1Y3RzLgotICAgIC8vIFdlIGNh
biBza2lwIHByb2R1Y3RzIHRoYXQgd291bGQgb3ZlcmZsb3cuCi0gICAgdmFyIGE0OCA9IHRoaXMu
aGlnaF8gPj4+IDE2OwotICAgIHZhciBhMzIgPSB0aGlzLmhpZ2hfICYgMHhGRkZGOwotICAgIHZh
ciBhMTYgPSB0aGlzLmxvd18gPj4+IDE2OwotICAgIHZhciBhMDAgPSB0aGlzLmxvd18gJiAweEZG
RkY7Ci0gICAgdmFyIGI0OCA9IG90aGVyLmhpZ2hfID4+PiAxNjsKLSAgICB2YXIgYjMyID0gb3Ro
ZXIuaGlnaF8gJiAweEZGRkY7Ci0gICAgdmFyIGIxNiA9IG90aGVyLmxvd18gPj4+IDE2OwotICAg
IHZhciBiMDAgPSBvdGhlci5sb3dfICYgMHhGRkZGOwotICAgIHZhciBjNDggPSAwLCBjMzIgPSAw
LCBjMTYgPSAwLCBjMDAgPSAwOwotICAgIGMwMCArPSBhMDAgKiBiMDA7Ci0gICAgYzE2ICs9IGMw
MCA+Pj4gMTY7Ci0gICAgYzAwICY9IDB4RkZGRjsKLSAgICBjMTYgKz0gYTE2ICogYjAwOwotICAg
IGMzMiArPSBjMTYgPj4+IDE2OwotICAgIGMxNiAmPSAweEZGRkY7Ci0gICAgYzE2ICs9IGEwMCAq
IGIxNjsKLSAgICBjMzIgKz0gYzE2ID4+PiAxNjsKLSAgICBjMTYgJj0gMHhGRkZGOwotICAgIGMz
MiArPSBhMzIgKiBiMDA7Ci0gICAgYzQ4ICs9IGMzMiA+Pj4gMTY7Ci0gICAgYzMyICY9IDB4RkZG
RjsKLSAgICBjMzIgKz0gYTE2ICogYjE2OwotICAgIGM0OCArPSBjMzIgPj4+IDE2OwotICAgIGMz
MiAmPSAweEZGRkY7Ci0gICAgYzMyICs9IGEwMCAqIGIzMjsKLSAgICBjNDggKz0gYzMyID4+PiAx
NjsKLSAgICBjMzIgJj0gMHhGRkZGOwotICAgIGM0OCArPSBhNDggKiBiMDAgKyBhMzIgKiBiMTYg
KyBhMTYgKiBiMzIgKyBhMDAgKiBiNDg7Ci0gICAgYzQ4ICY9IDB4RkZGRjsKLSAgICByZXR1cm4g
Z29vZy5tYXRoLkxvbmcuZnJvbUJpdHMoKGMxNiA8PCAxNikgfCBjMDAsIChjNDggPDwgMTYpIHwg
YzMyKTsKLSAgfTsKLSAgLyoqCi0gICAqIFJldHVybnMgdGhpcyBMb25nIGRpdmlkZWQgYnkgdGhl
IGdpdmVuIG9uZS4KLSAgICogQHBhcmFtIHtnb29nLm1hdGguTG9uZ30gb3RoZXIgTG9uZyBieSB3
aGljaCB0byBkaXZpZGUuCi0gICAqIEByZXR1cm4geyFnb29nLm1hdGguTG9uZ30gVGhpcyBMb25n
IGRpdmlkZWQgYnkgdGhlIGdpdmVuIG9uZS4KLSAgICovCi0gIGdvb2cubWF0aC5Mb25nLnByb3Rv
dHlwZS5kaXYgPSBmdW5jdGlvbihvdGhlcikgewotICAgIGlmIChvdGhlci5pc1plcm8oKSkgewot
ICAgICAgdGhyb3cgRXJyb3IoJ2RpdmlzaW9uIGJ5IHplcm8nKTsKLSAgICB9IGVsc2UgaWYgKHRo
aXMuaXNaZXJvKCkpIHsKLSAgICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5aRVJPOwotICAgIH0K
LSAgICBpZiAodGhpcy5lcXVhbHMoZ29vZy5tYXRoLkxvbmcuTUlOX1ZBTFVFKSkgewotICAgICAg
aWYgKG90aGVyLmVxdWFscyhnb29nLm1hdGguTG9uZy5PTkUpIHx8Ci0gICAgICAgICAgb3RoZXIu
ZXF1YWxzKGdvb2cubWF0aC5Mb25nLk5FR19PTkUpKSB7Ci0gICAgICAgIHJldHVybiBnb29nLm1h
dGguTG9uZy5NSU5fVkFMVUU7ICAvLyByZWNhbGwgdGhhdCAtTUlOX1ZBTFVFID09IE1JTl9WQUxV
RQotICAgICAgfSBlbHNlIGlmIChvdGhlci5lcXVhbHMoZ29vZy5tYXRoLkxvbmcuTUlOX1ZBTFVF
KSkgewotICAgICAgICByZXR1cm4gZ29vZy5tYXRoLkxvbmcuT05FOwotICAgICAgfSBlbHNlIHsK
LSAgICAgICAgLy8gQXQgdGhpcyBwb2ludCwgd2UgaGF2ZSB8b3RoZXJ8ID49IDIsIHNvIHx0aGlz
L290aGVyfCA8IHxNSU5fVkFMVUV8LgotICAgICAgICB2YXIgaGFsZlRoaXMgPSB0aGlzLnNoaWZ0
UmlnaHQoMSk7Ci0gICAgICAgIHZhciBhcHByb3ggPSBoYWxmVGhpcy5kaXYob3RoZXIpLnNoaWZ0
TGVmdCgxKTsKLSAgICAgICAgaWYgKGFwcHJveC5lcXVhbHMoZ29vZy5tYXRoLkxvbmcuWkVSTykp
IHsKLSAgICAgICAgICByZXR1cm4gb3RoZXIuaXNOZWdhdGl2ZSgpID8gZ29vZy5tYXRoLkxvbmcu
T05FIDogZ29vZy5tYXRoLkxvbmcuTkVHX09ORTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICB2YXIgcmVtID0gdGhpcy5zdWJ0cmFjdChvdGhlci5tdWx0aXBseShhcHByb3gpKTsKLSAgICAg
ICAgICB2YXIgcmVzdWx0ID0gYXBwcm94LmFkZChyZW0uZGl2KG90aGVyKSk7Ci0gICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKLSAgICAgICAgfQotICAgICAgfQotICAgIH0gZWxzZSBpZiAob3RoZXIu
ZXF1YWxzKGdvb2cubWF0aC5Mb25nLk1JTl9WQUxVRSkpIHsKLSAgICAgIHJldHVybiBnb29nLm1h
dGguTG9uZy5aRVJPOwotICAgIH0KLSAgICBpZiAodGhpcy5pc05lZ2F0aXZlKCkpIHsKLSAgICAg
IGlmIChvdGhlci5pc05lZ2F0aXZlKCkpIHsKLSAgICAgICAgcmV0dXJuIHRoaXMubmVnYXRlKCku
ZGl2KG90aGVyLm5lZ2F0ZSgpKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldHVybiB0aGlz
Lm5lZ2F0ZSgpLmRpdihvdGhlcikubmVnYXRlKCk7Ci0gICAgICB9Ci0gICAgfSBlbHNlIGlmIChv
dGhlci5pc05lZ2F0aXZlKCkpIHsKLSAgICAgIHJldHVybiB0aGlzLmRpdihvdGhlci5uZWdhdGUo
KSkubmVnYXRlKCk7Ci0gICAgfQotICAgIC8vIFJlcGVhdCB0aGUgZm9sbG93aW5nIHVudGlsIHRo
ZSByZW1haW5kZXIgaXMgbGVzcyB0aGFuIG90aGVyOiAgZmluZCBhCi0gICAgLy8gZmxvYXRpbmct
cG9pbnQgdGhhdCBhcHByb3hpbWF0ZXMgcmVtYWluZGVyIC8gb3RoZXIgKmZyb20gYmVsb3cqLCBh
ZGQgdGhpcwotICAgIC8vIGludG8gdGhlIHJlc3VsdCwgYW5kIHN1YnRyYWN0IGl0IGZyb20gdGhl
IHJlbWFpbmRlci4gIEl0IGlzIGNyaXRpY2FsIHRoYXQKLSAgICAvLyB0aGUgYXBwcm94aW1hdGUg
dmFsdWUgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSByZWFsIHZhbHVlIHNvIHRoYXQgdGhl
Ci0gICAgLy8gcmVtYWluZGVyIG5ldmVyIGJlY29tZXMgbmVnYXRpdmUuCi0gICAgdmFyIHJlcyA9
IGdvb2cubWF0aC5Mb25nLlpFUk87Ci0gICAgdmFyIHJlbSA9IHRoaXM7Ci0gICAgd2hpbGUgKHJl
bS5ncmVhdGVyVGhhbk9yRXF1YWwob3RoZXIpKSB7Ci0gICAgICAvLyBBcHByb3hpbWF0ZSB0aGUg
cmVzdWx0IG9mIGRpdmlzaW9uLiBUaGlzIG1heSBiZSBhIGxpdHRsZSBncmVhdGVyIG9yCi0gICAg
ICAvLyBzbWFsbGVyIHRoYW4gdGhlIGFjdHVhbCB2YWx1ZS4KLSAgICAgIHZhciBhcHByb3ggPSBN
YXRoLm1heCgxLCBNYXRoLmZsb29yKHJlbS50b051bWJlcigpIC8gb3RoZXIudG9OdW1iZXIoKSkp
OwotICAgICAgLy8gV2Ugd2lsbCB0d2VhayB0aGUgYXBwcm94aW1hdGUgcmVzdWx0IGJ5IGNoYW5n
aW5nIGl0IGluIHRoZSA0OC10aCBkaWdpdCBvcgotICAgICAgLy8gdGhlIHNtYWxsZXN0IG5vbi1m
cmFjdGlvbmFsIGRpZ2l0LCB3aGljaGV2ZXIgaXMgbGFyZ2VyLgotICAgICAgdmFyIGxvZzIgPSBN
YXRoLmNlaWwoTWF0aC5sb2coYXBwcm94KSAvIE1hdGguTE4yKTsKLSAgICAgIHZhciBkZWx0YSA9
IChsb2cyIDw9IDQ4KSA/IDEgOiBNYXRoLnBvdygyLCBsb2cyIC0gNDgpOwotICAgICAgLy8gRGVj
cmVhc2UgdGhlIGFwcHJveGltYXRpb24gdW50aWwgaXQgaXMgc21hbGxlciB0aGFuIHRoZSByZW1h
aW5kZXIuICBOb3RlCi0gICAgICAvLyB0aGF0IGlmIGl0IGlzIHRvbyBsYXJnZSwgdGhlIHByb2R1
Y3Qgb3ZlcmZsb3dzIGFuZCBpcyBuZWdhdGl2ZS4KLSAgICAgIHZhciBhcHByb3hSZXMgPSBnb29n
Lm1hdGguTG9uZy5mcm9tTnVtYmVyKGFwcHJveCk7Ci0gICAgICB2YXIgYXBwcm94UmVtID0gYXBw
cm94UmVzLm11bHRpcGx5KG90aGVyKTsKLSAgICAgIHdoaWxlIChhcHByb3hSZW0uaXNOZWdhdGl2
ZSgpIHx8IGFwcHJveFJlbS5ncmVhdGVyVGhhbihyZW0pKSB7Ci0gICAgICAgIGFwcHJveCAtPSBk
ZWx0YTsKLSAgICAgICAgYXBwcm94UmVzID0gZ29vZy5tYXRoLkxvbmcuZnJvbU51bWJlcihhcHBy
b3gpOwotICAgICAgICBhcHByb3hSZW0gPSBhcHByb3hSZXMubXVsdGlwbHkob3RoZXIpOwotICAg
ICAgfQotICAgICAgLy8gV2Uga25vdyB0aGUgYW5zd2VyIGNhbid0IGJlIHplcm8uLi4gYW5kIGFj
dHVhbGx5LCB6ZXJvIHdvdWxkIGNhdXNlCi0gICAgICAvLyBpbmZpbml0ZSByZWN1cnNpb24gc2lu
Y2Ugd2Ugd291bGQgbWFrZSBubyBwcm9ncmVzcy4KLSAgICAgIGlmIChhcHByb3hSZXMuaXNaZXJv
KCkpIHsKLSAgICAgICAgYXBwcm94UmVzID0gZ29vZy5tYXRoLkxvbmcuT05FOwotICAgICAgfQot
ICAgICAgcmVzID0gcmVzLmFkZChhcHByb3hSZXMpOwotICAgICAgcmVtID0gcmVtLnN1YnRyYWN0
KGFwcHJveFJlbSk7Ci0gICAgfQotICAgIHJldHVybiByZXM7Ci0gIH07Ci0gIC8qKgotICAgKiBS
ZXR1cm5zIHRoaXMgTG9uZyBtb2R1bG8gdGhlIGdpdmVuIG9uZS4KLSAgICogQHBhcmFtIHtnb29n
Lm1hdGguTG9uZ30gb3RoZXIgTG9uZyBieSB3aGljaCB0byBtb2QuCi0gICAqIEByZXR1cm4geyFn
b29nLm1hdGguTG9uZ30gVGhpcyBMb25nIG1vZHVsbyB0aGUgZ2l2ZW4gb25lLgotICAgKi8KLSAg
Z29vZy5tYXRoLkxvbmcucHJvdG90eXBlLm1vZHVsbyA9IGZ1bmN0aW9uKG90aGVyKSB7Ci0gICAg
cmV0dXJuIHRoaXMuc3VidHJhY3QodGhpcy5kaXYob3RoZXIpLm11bHRpcGx5KG90aGVyKSk7Ci0g
IH07Ci0gIC8qKiBAcmV0dXJuIHshZ29vZy5tYXRoLkxvbmd9IFRoZSBiaXR3aXNlLU5PVCBvZiB0
aGlzIHZhbHVlLiAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUubm90ID0gZnVuY3Rpb24o
KSB7Ci0gICAgcmV0dXJuIGdvb2cubWF0aC5Mb25nLmZyb21CaXRzKH50aGlzLmxvd18sIH50aGlz
LmhpZ2hfKTsKLSAgfTsKLSAgLyoqCi0gICAqIFJldHVybnMgdGhlIGJpdHdpc2UtQU5EIG9mIHRo
aXMgTG9uZyBhbmQgdGhlIGdpdmVuIG9uZS4KLSAgICogQHBhcmFtIHtnb29nLm1hdGguTG9uZ30g
b3RoZXIgVGhlIExvbmcgd2l0aCB3aGljaCB0byBBTkQuCi0gICAqIEByZXR1cm4geyFnb29nLm1h
dGguTG9uZ30gVGhlIGJpdHdpc2UtQU5EIG9mIHRoaXMgYW5kIHRoZSBvdGhlci4KLSAgICovCi0g
IGdvb2cubWF0aC5Mb25nLnByb3RvdHlwZS5hbmQgPSBmdW5jdGlvbihvdGhlcikgewotICAgIHJl
dHVybiBnb29nLm1hdGguTG9uZy5mcm9tQml0cyh0aGlzLmxvd18gJiBvdGhlci5sb3dfLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZ2hfICYgb3RoZXIuaGlnaF8p
OwotICB9OwotICAvKioKLSAgICogUmV0dXJucyB0aGUgYml0d2lzZS1PUiBvZiB0aGlzIExvbmcg
YW5kIHRoZSBnaXZlbiBvbmUuCi0gICAqIEBwYXJhbSB7Z29vZy5tYXRoLkxvbmd9IG90aGVyIFRo
ZSBMb25nIHdpdGggd2hpY2ggdG8gT1IuCi0gICAqIEByZXR1cm4geyFnb29nLm1hdGguTG9uZ30g
VGhlIGJpdHdpc2UtT1Igb2YgdGhpcyBhbmQgdGhlIG90aGVyLgotICAgKi8KLSAgZ29vZy5tYXRo
LkxvbmcucHJvdG90eXBlLm9yID0gZnVuY3Rpb24ob3RoZXIpIHsKLSAgICByZXR1cm4gZ29vZy5t
YXRoLkxvbmcuZnJvbUJpdHModGhpcy5sb3dfIHwgb3RoZXIubG93XywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWdoXyB8IG90aGVyLmhpZ2hfKTsKLSAgfTsKLSAg
LyoqCi0gICAqIFJldHVybnMgdGhlIGJpdHdpc2UtWE9SIG9mIHRoaXMgTG9uZyBhbmQgdGhlIGdp
dmVuIG9uZS4KLSAgICogQHBhcmFtIHtnb29nLm1hdGguTG9uZ30gb3RoZXIgVGhlIExvbmcgd2l0
aCB3aGljaCB0byBYT1IuCi0gICAqIEByZXR1cm4geyFnb29nLm1hdGguTG9uZ30gVGhlIGJpdHdp
c2UtWE9SIG9mIHRoaXMgYW5kIHRoZSBvdGhlci4KLSAgICovCi0gIGdvb2cubWF0aC5Mb25nLnBy
b3RvdHlwZS54b3IgPSBmdW5jdGlvbihvdGhlcikgewotICAgIHJldHVybiBnb29nLm1hdGguTG9u
Zy5mcm9tQml0cyh0aGlzLmxvd18gXiBvdGhlci5sb3dfLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0aGlzLmhpZ2hfIF4gb3RoZXIuaGlnaF8pOwotICB9OwotICAvKioKLSAg
ICogUmV0dXJucyB0aGlzIExvbmcgd2l0aCBiaXRzIHNoaWZ0ZWQgdG8gdGhlIGxlZnQgYnkgdGhl
IGdpdmVuIGFtb3VudC4KLSAgICogQHBhcmFtIHtudW1iZXJ9IG51bUJpdHMgVGhlIG51bWJlciBv
ZiBiaXRzIGJ5IHdoaWNoIHRvIHNoaWZ0LgotICAgKiBAcmV0dXJuIHshZ29vZy5tYXRoLkxvbmd9
IFRoaXMgc2hpZnRlZCB0byB0aGUgbGVmdCBieSB0aGUgZ2l2ZW4gYW1vdW50LgotICAgKi8KLSAg
Z29vZy5tYXRoLkxvbmcucHJvdG90eXBlLnNoaWZ0TGVmdCA9IGZ1bmN0aW9uKG51bUJpdHMpIHsK
LSAgICBudW1CaXRzICY9IDYzOwotICAgIGlmIChudW1CaXRzID09IDApIHsKLSAgICAgIHJldHVy
biB0aGlzOwotICAgIH0gZWxzZSB7Ci0gICAgICB2YXIgbG93ID0gdGhpcy5sb3dfOwotICAgICAg
aWYgKG51bUJpdHMgPCAzMikgewotICAgICAgICB2YXIgaGlnaCA9IHRoaXMuaGlnaF87Ci0gICAg
ICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5mcm9tQml0cygKLSAgICAgICAgICAgIGxvdyA8PCBu
dW1CaXRzLAotICAgICAgICAgICAgKGhpZ2ggPDwgbnVtQml0cykgfCAobG93ID4+PiAoMzIgLSBu
dW1CaXRzKSkpOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgcmV0dXJuIGdvb2cubWF0aC5Mb25n
LmZyb21CaXRzKDAsIGxvdyA8PCAobnVtQml0cyAtIDMyKSk7Ci0gICAgICB9Ci0gICAgfQotICB9
OwotICAvKioKLSAgICogUmV0dXJucyB0aGlzIExvbmcgd2l0aCBiaXRzIHNoaWZ0ZWQgdG8gdGhl
IHJpZ2h0IGJ5IHRoZSBnaXZlbiBhbW91bnQuCi0gICAqIEBwYXJhbSB7bnVtYmVyfSBudW1CaXRz
IFRoZSBudW1iZXIgb2YgYml0cyBieSB3aGljaCB0byBzaGlmdC4KLSAgICogQHJldHVybiB7IWdv
b2cubWF0aC5Mb25nfSBUaGlzIHNoaWZ0ZWQgdG8gdGhlIHJpZ2h0IGJ5IHRoZSBnaXZlbiBhbW91
bnQuCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUuc2hpZnRSaWdodCA9IGZ1bmN0
aW9uKG51bUJpdHMpIHsKLSAgICBudW1CaXRzICY9IDYzOwotICAgIGlmIChudW1CaXRzID09IDAp
IHsKLSAgICAgIHJldHVybiB0aGlzOwotICAgIH0gZWxzZSB7Ci0gICAgICB2YXIgaGlnaCA9IHRo
aXMuaGlnaF87Ci0gICAgICBpZiAobnVtQml0cyA8IDMyKSB7Ci0gICAgICAgIHZhciBsb3cgPSB0
aGlzLmxvd187Ci0gICAgICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5mcm9tQml0cygKLSAgICAg
ICAgICAgIChsb3cgPj4+IG51bUJpdHMpIHwgKGhpZ2ggPDwgKDMyIC0gbnVtQml0cykpLAotICAg
ICAgICAgICAgaGlnaCA+PiBudW1CaXRzKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldHVy
biBnb29nLm1hdGguTG9uZy5mcm9tQml0cygKLSAgICAgICAgICAgIGhpZ2ggPj4gKG51bUJpdHMg
LSAzMiksCi0gICAgICAgICAgICBoaWdoID49IDAgPyAwIDogLTEpOwotICAgICAgfQotICAgIH0K
LSAgfTsKLSAgLyoqCi0gICAqIFJldHVybnMgdGhpcyBMb25nIHdpdGggYml0cyBzaGlmdGVkIHRv
IHRoZSByaWdodCBieSB0aGUgZ2l2ZW4gYW1vdW50LCB3aXRoCi0gICAqIHRoZSBuZXcgdG9wIGJp
dHMgbWF0Y2hpbmcgdGhlIGN1cnJlbnQgc2lnbiBiaXQuCi0gICAqIEBwYXJhbSB7bnVtYmVyfSBu
dW1CaXRzIFRoZSBudW1iZXIgb2YgYml0cyBieSB3aGljaCB0byBzaGlmdC4KLSAgICogQHJldHVy
biB7IWdvb2cubWF0aC5Mb25nfSBUaGlzIHNoaWZ0ZWQgdG8gdGhlIHJpZ2h0IGJ5IHRoZSBnaXZl
biBhbW91bnQsIHdpdGgKLSAgICogICAgIHplcm9zIHBsYWNlZCBpbnRvIHRoZSBuZXcgbGVhZGlu
ZyBiaXRzLgotICAgKi8KLSAgZ29vZy5tYXRoLkxvbmcucHJvdG90eXBlLnNoaWZ0UmlnaHRVbnNp
Z25lZCA9IGZ1bmN0aW9uKG51bUJpdHMpIHsKLSAgICBudW1CaXRzICY9IDYzOwotICAgIGlmIChu
dW1CaXRzID09IDApIHsKLSAgICAgIHJldHVybiB0aGlzOwotICAgIH0gZWxzZSB7Ci0gICAgICB2
YXIgaGlnaCA9IHRoaXMuaGlnaF87Ci0gICAgICBpZiAobnVtQml0cyA8IDMyKSB7Ci0gICAgICAg
IHZhciBsb3cgPSB0aGlzLmxvd187Ci0gICAgICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5mcm9t
Qml0cygKLSAgICAgICAgICAgIChsb3cgPj4+IG51bUJpdHMpIHwgKGhpZ2ggPDwgKDMyIC0gbnVt
Qml0cykpLAotICAgICAgICAgICAgaGlnaCA+Pj4gbnVtQml0cyk7Ci0gICAgICB9IGVsc2UgaWYg
KG51bUJpdHMgPT0gMzIpIHsKLSAgICAgICAgcmV0dXJuIGdvb2cubWF0aC5Mb25nLmZyb21CaXRz
KGhpZ2gsIDApOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgcmV0dXJuIGdvb2cubWF0aC5Mb25n
LmZyb21CaXRzKGhpZ2ggPj4+IChudW1CaXRzIC0gMzIpLCAwKTsKLSAgICAgIH0KLSAgICB9Ci0g
IH07Ci0gIC8vPT09PT09PSBiZWdpbiBqc2JuID09PT09PT0KLSAgdmFyIG5hdmlnYXRvciA9IHsg
YXBwTmFtZTogJ01vZGVybiBCcm93c2VyJyB9OyAvLyBwb2x5ZmlsbCBhIGxpdHRsZQotICAvLyBD
b3B5cmlnaHQgKGMpIDIwMDUgIFRvbSBXdQotICAvLyBBbGwgUmlnaHRzIFJlc2VydmVkLgotICAv
LyBodHRwOi8vd3d3LWNzLXN0dWRlbnRzLnN0YW5mb3JkLmVkdS9+dGp3L2pzYm4vCi0gIC8qCi0g
ICAqIENvcHlyaWdodCAoYykgMjAwMy0yMDA1ICBUb20gV3UKLSAgICogQWxsIFJpZ2h0cyBSZXNl
cnZlZC4KLSAgICoKLSAgICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nCi0gICAqIGEgY29weSBvZiB0aGlzIHNvZnR3
YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQotICAgKiAiU29mdHdh
cmUiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCi0gICAqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKLSAgICogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29y
IHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvCi0gICAqIHBlcm1pdCBwZXJzb25z
IHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwot
ICAgKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Ci0gICAqCi0gICAqIFRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlCi0gICAqIGlu
Y2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3
YXJlLgotICAgKgotICAgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTLUlTIiBBTkQgV0lU
SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgCi0gICAqIEVYUFJFU1MsIElNUExJRUQgT1IgT1RI
RVJXSVNFLCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OLCBBTlkgCi0gICAqIFdBUlJBTlRZ
IE9GIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IAotICAgKgotICAgKiBJTiBOTyBFVkVOVCBTSEFMTCBUT00gV1UgQkUgTElBQkxFIEZPUiBBTlkg
U1BFQ0lBTCwgSU5DSURFTlRBTCwKLSAgICogSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIE9GIEFOWSBLSU5ELCBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSCi0gICAqIFJFU1VMVElO
RyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgT1IgTk9UIEFEVklT
RUQgT0YKLSAgICogVEhFIFBPU1NJQklMSVRZIE9GIERBTUFHRSwgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBBUklTSU5HIE9VVAotICAgKiBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgotICAgKgotICAgKiBJbiBh
ZGRpdGlvbiwgdGhlIGZvbGxvd2luZyBjb25kaXRpb24gYXBwbGllczoKLSAgICoKLSAgICogQWxs
IHJlZGlzdHJpYnV0aW9ucyBtdXN0IHJldGFpbiBhbiBpbnRhY3QgY29weSBvZiB0aGlzIGNvcHly
aWdodCBub3RpY2UKLSAgICogYW5kIGRpc2NsYWltZXIuCi0gICAqLwotICAvLyBCYXNpYyBKYXZh
U2NyaXB0IEJOIGxpYnJhcnkgLSBzdWJzZXQgdXNlZnVsIGZvciBSU0EgZW5jcnlwdGlvbi4KLSAg
Ly8gQml0cyBwZXIgZGlnaXQKLSAgdmFyIGRiaXRzOwotICAvLyBKYXZhU2NyaXB0IGVuZ2luZSBh
bmFseXNpcwotICB2YXIgY2FuYXJ5ID0gMHhkZWFkYmVlZmNhZmU7Ci0gIHZhciBqX2xtID0gKChj
YW5hcnkmMHhmZmZmZmYpPT0weGVmY2FmZSk7Ci0gIC8vIChwdWJsaWMpIENvbnN0cnVjdG9yCi0g
IGZ1bmN0aW9uIEJpZ0ludGVnZXIoYSxiLGMpIHsKLSAgICBpZihhICE9IG51bGwpCi0gICAgICBp
ZigibnVtYmVyIiA9PSB0eXBlb2YgYSkgdGhpcy5mcm9tTnVtYmVyKGEsYixjKTsKLSAgICAgIGVs
c2UgaWYoYiA9PSBudWxsICYmICJzdHJpbmciICE9IHR5cGVvZiBhKSB0aGlzLmZyb21TdHJpbmco
YSwyNTYpOwotICAgICAgZWxzZSB0aGlzLmZyb21TdHJpbmcoYSxiKTsKLSAgfQotICAvLyByZXR1
cm4gbmV3LCB1bnNldCBCaWdJbnRlZ2VyCi0gIGZ1bmN0aW9uIG5iaSgpIHsgcmV0dXJuIG5ldyBC
aWdJbnRlZ2VyKG51bGwpOyB9Ci0gIC8vIGFtOiBDb21wdXRlIHdfaiArPSAoeCp0aGlzX2kpLCBw
cm9wYWdhdGUgY2FycmllcywKLSAgLy8gYyBpcyBpbml0aWFsIGNhcnJ5LCByZXR1cm5zIGZpbmFs
IGNhcnJ5LgotICAvLyBjIDwgMypkdmFsdWUsIHggPCAyKmR2YWx1ZSwgdGhpc19pIDwgZHZhbHVl
Ci0gIC8vIFdlIG5lZWQgdG8gc2VsZWN0IHRoZSBmYXN0ZXN0IG9uZSB0aGF0IHdvcmtzIGluIHRo
aXMgZW52aXJvbm1lbnQuCi0gIC8vIGFtMTogdXNlIGEgc2luZ2xlIG11bHQgYW5kIGRpdmlkZSB0
byBnZXQgdGhlIGhpZ2ggYml0cywKLSAgLy8gbWF4IGRpZ2l0IGJpdHMgc2hvdWxkIGJlIDI2IGJl
Y2F1c2UKLSAgLy8gbWF4IGludGVybmFsIHZhbHVlID0gMipkdmFsdWVeMi0yKmR2YWx1ZSAoPCAy
XjUzKQotICBmdW5jdGlvbiBhbTEoaSx4LHcsaixjLG4pIHsKLSAgICB3aGlsZSgtLW4gPj0gMCkg
ewotICAgICAgdmFyIHYgPSB4KnRoaXNbaSsrXSt3W2pdK2M7Ci0gICAgICBjID0gTWF0aC5mbG9v
cih2LzB4NDAwMDAwMCk7Ci0gICAgICB3W2orK10gPSB2JjB4M2ZmZmZmZjsKLSAgICB9Ci0gICAg
cmV0dXJuIGM7Ci0gIH0KLSAgLy8gYW0yIGF2b2lkcyBhIGJpZyBtdWx0LWFuZC1leHRyYWN0IGNv
bXBsZXRlbHkuCi0gIC8vIE1heCBkaWdpdCBiaXRzIHNob3VsZCBiZSA8PSAzMCBiZWNhdXNlIHdl
IGRvIGJpdHdpc2Ugb3BzCi0gIC8vIG9uIHZhbHVlcyB1cCB0byAyKmhkdmFsdWVeMi1oZHZhbHVl
LTEgKDwgMl4zMSkKLSAgZnVuY3Rpb24gYW0yKGkseCx3LGosYyxuKSB7Ci0gICAgdmFyIHhsID0g
eCYweDdmZmYsIHhoID0geD4+MTU7Ci0gICAgd2hpbGUoLS1uID49IDApIHsKLSAgICAgIHZhciBs
ID0gdGhpc1tpXSYweDdmZmY7Ci0gICAgICB2YXIgaCA9IHRoaXNbaSsrXT4+MTU7Ci0gICAgICB2
YXIgbSA9IHhoKmwraCp4bDsKLSAgICAgIGwgPSB4bCpsKygobSYweDdmZmYpPDwxNSkrd1tqXSso
YyYweDNmZmZmZmZmKTsKLSAgICAgIGMgPSAobD4+PjMwKSsobT4+PjE1KSt4aCpoKyhjPj4+MzAp
OwotICAgICAgd1tqKytdID0gbCYweDNmZmZmZmZmOwotICAgIH0KLSAgICByZXR1cm4gYzsKLSAg
fQotICAvLyBBbHRlcm5hdGVseSwgc2V0IG1heCBkaWdpdCBiaXRzIHRvIDI4IHNpbmNlIHNvbWUK
LSAgLy8gYnJvd3NlcnMgc2xvdyBkb3duIHdoZW4gZGVhbGluZyB3aXRoIDMyLWJpdCBudW1iZXJz
LgotICBmdW5jdGlvbiBhbTMoaSx4LHcsaixjLG4pIHsKLSAgICB2YXIgeGwgPSB4JjB4M2ZmZiwg
eGggPSB4Pj4xNDsKLSAgICB3aGlsZSgtLW4gPj0gMCkgewotICAgICAgdmFyIGwgPSB0aGlzW2ld
JjB4M2ZmZjsKLSAgICAgIHZhciBoID0gdGhpc1tpKytdPj4xNDsKLSAgICAgIHZhciBtID0geGgq
bCtoKnhsOwotICAgICAgbCA9IHhsKmwrKChtJjB4M2ZmZik8PDE0KSt3W2pdK2M7Ci0gICAgICBj
ID0gKGw+PjI4KSsobT4+MTQpK3hoKmg7Ci0gICAgICB3W2orK10gPSBsJjB4ZmZmZmZmZjsKLSAg
ICB9Ci0gICAgcmV0dXJuIGM7Ci0gIH0KLSAgaWYoal9sbSAmJiAobmF2aWdhdG9yLmFwcE5hbWUg
PT0gIk1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciIpKSB7Ci0gICAgQmlnSW50ZWdlci5wcm90
b3R5cGUuYW0gPSBhbTI7Ci0gICAgZGJpdHMgPSAzMDsKLSAgfQotICBlbHNlIGlmKGpfbG0gJiYg
KG5hdmlnYXRvci5hcHBOYW1lICE9ICJOZXRzY2FwZSIpKSB7Ci0gICAgQmlnSW50ZWdlci5wcm90
b3R5cGUuYW0gPSBhbTE7Ci0gICAgZGJpdHMgPSAyNjsKLSAgfQotICBlbHNlIHsgLy8gTW96aWxs
YS9OZXRzY2FwZSBzZWVtcyB0byBwcmVmZXIgYW0zCi0gICAgQmlnSW50ZWdlci5wcm90b3R5cGUu
YW0gPSBhbTM7Ci0gICAgZGJpdHMgPSAyODsKLSAgfQotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5E
QiA9IGRiaXRzOwotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5ETSA9ICgoMTw8ZGJpdHMpLTEpOwot
ICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5EViA9ICgxPDxkYml0cyk7Ci0gIHZhciBCSV9GUCA9IDUy
OwotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5GViA9IE1hdGgucG93KDIsQklfRlApOwotICBCaWdJ
bnRlZ2VyLnByb3RvdHlwZS5GMSA9IEJJX0ZQLWRiaXRzOwotICBCaWdJbnRlZ2VyLnByb3RvdHlw
ZS5GMiA9IDIqZGJpdHMtQklfRlA7Ci0gIC8vIERpZ2l0IGNvbnZlcnNpb25zCi0gIHZhciBCSV9S
TSA9ICIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiOwotICB2YXIgQklfUkMg
PSBuZXcgQXJyYXkoKTsKLSAgdmFyIHJyLHZ2OwotICByciA9ICIwIi5jaGFyQ29kZUF0KDApOwot
ICBmb3IodnYgPSAwOyB2diA8PSA5OyArK3Z2KSBCSV9SQ1tycisrXSA9IHZ2OwotICByciA9ICJh
Ii5jaGFyQ29kZUF0KDApOwotICBmb3IodnYgPSAxMDsgdnYgPCAzNjsgKyt2dikgQklfUkNbcnIr
K10gPSB2djsKLSAgcnIgPSAiQSIuY2hhckNvZGVBdCgwKTsKLSAgZm9yKHZ2ID0gMTA7IHZ2IDwg
MzY7ICsrdnYpIEJJX1JDW3JyKytdID0gdnY7Ci0gIGZ1bmN0aW9uIGludDJjaGFyKG4pIHsgcmV0
dXJuIEJJX1JNLmNoYXJBdChuKTsgfQotICBmdW5jdGlvbiBpbnRBdChzLGkpIHsKLSAgICB2YXIg
YyA9IEJJX1JDW3MuY2hhckNvZGVBdChpKV07Ci0gICAgcmV0dXJuIChjPT1udWxsKT8tMTpjOwot
ICB9Ci0gIC8vIChwcm90ZWN0ZWQpIGNvcHkgdGhpcyB0byByCi0gIGZ1bmN0aW9uIGJucENvcHlU
byhyKSB7Ci0gICAgZm9yKHZhciBpID0gdGhpcy50LTE7IGkgPj0gMDsgLS1pKSByW2ldID0gdGhp
c1tpXTsKLSAgICByLnQgPSB0aGlzLnQ7Ci0gICAgci5zID0gdGhpcy5zOwotICB9Ci0gIC8vIChw
cm90ZWN0ZWQpIHNldCBmcm9tIGludGVnZXIgdmFsdWUgeCwgLURWIDw9IHggPCBEVgotICBmdW5j
dGlvbiBibnBGcm9tSW50KHgpIHsKLSAgICB0aGlzLnQgPSAxOwotICAgIHRoaXMucyA9ICh4PDAp
Py0xOjA7Ci0gICAgaWYoeCA+IDApIHRoaXNbMF0gPSB4OwotICAgIGVsc2UgaWYoeCA8IC0xKSB0
aGlzWzBdID0geCtEVjsKLSAgICBlbHNlIHRoaXMudCA9IDA7Ci0gIH0KLSAgLy8gcmV0dXJuIGJp
Z2ludCBpbml0aWFsaXplZCB0byB2YWx1ZQotICBmdW5jdGlvbiBuYnYoaSkgeyB2YXIgciA9IG5i
aSgpOyByLmZyb21JbnQoaSk7IHJldHVybiByOyB9Ci0gIC8vIChwcm90ZWN0ZWQpIHNldCBmcm9t
IHN0cmluZyBhbmQgcmFkaXgKLSAgZnVuY3Rpb24gYm5wRnJvbVN0cmluZyhzLGIpIHsKLSAgICB2
YXIgazsKLSAgICBpZihiID09IDE2KSBrID0gNDsKLSAgICBlbHNlIGlmKGIgPT0gOCkgayA9IDM7
Ci0gICAgZWxzZSBpZihiID09IDI1NikgayA9IDg7IC8vIGJ5dGUgYXJyYXkKLSAgICBlbHNlIGlm
KGIgPT0gMikgayA9IDE7Ci0gICAgZWxzZSBpZihiID09IDMyKSBrID0gNTsKLSAgICBlbHNlIGlm
KGIgPT0gNCkgayA9IDI7Ci0gICAgZWxzZSB7IHRoaXMuZnJvbVJhZGl4KHMsYik7IHJldHVybjsg
fQotICAgIHRoaXMudCA9IDA7Ci0gICAgdGhpcy5zID0gMDsKLSAgICB2YXIgaSA9IHMubGVuZ3Ro
LCBtaSA9IGZhbHNlLCBzaCA9IDA7Ci0gICAgd2hpbGUoLS1pID49IDApIHsKLSAgICAgIHZhciB4
ID0gKGs9PTgpP3NbaV0mMHhmZjppbnRBdChzLGkpOwotICAgICAgaWYoeCA8IDApIHsKLSAgICAg
ICAgaWYocy5jaGFyQXQoaSkgPT0gIi0iKSBtaSA9IHRydWU7Ci0gICAgICAgIGNvbnRpbnVlOwot
ICAgICAgfQotICAgICAgbWkgPSBmYWxzZTsKLSAgICAgIGlmKHNoID09IDApCi0gICAgICAgIHRo
aXNbdGhpcy50KytdID0geDsKLSAgICAgIGVsc2UgaWYoc2grayA+IHRoaXMuREIpIHsKLSAgICAg
ICAgdGhpc1t0aGlzLnQtMV0gfD0gKHgmKCgxPDwodGhpcy5EQi1zaCkpLTEpKTw8c2g7Ci0gICAg
ICAgIHRoaXNbdGhpcy50KytdID0gKHg+Pih0aGlzLkRCLXNoKSk7Ci0gICAgICB9Ci0gICAgICBl
bHNlCi0gICAgICAgIHRoaXNbdGhpcy50LTFdIHw9IHg8PHNoOwotICAgICAgc2ggKz0gazsKLSAg
ICAgIGlmKHNoID49IHRoaXMuREIpIHNoIC09IHRoaXMuREI7Ci0gICAgfQotICAgIGlmKGsgPT0g
OCAmJiAoc1swXSYweDgwKSAhPSAwKSB7Ci0gICAgICB0aGlzLnMgPSAtMTsKLSAgICAgIGlmKHNo
ID4gMCkgdGhpc1t0aGlzLnQtMV0gfD0gKCgxPDwodGhpcy5EQi1zaCkpLTEpPDxzaDsKLSAgICB9
Ci0gICAgdGhpcy5jbGFtcCgpOwotICAgIGlmKG1pKSBCaWdJbnRlZ2VyLlpFUk8uc3ViVG8odGhp
cyx0aGlzKTsKLSAgfQotICAvLyAocHJvdGVjdGVkKSBjbGFtcCBvZmYgZXhjZXNzIGhpZ2ggd29y
ZHMKLSAgZnVuY3Rpb24gYm5wQ2xhbXAoKSB7Ci0gICAgdmFyIGMgPSB0aGlzLnMmdGhpcy5ETTsK
LSAgICB3aGlsZSh0aGlzLnQgPiAwICYmIHRoaXNbdGhpcy50LTFdID09IGMpIC0tdGhpcy50Owot
ICB9Ci0gIC8vIChwdWJsaWMpIHJldHVybiBzdHJpbmcgcmVwcmVzZW50YXRpb24gaW4gZ2l2ZW4g
cmFkaXgKLSAgZnVuY3Rpb24gYm5Ub1N0cmluZyhiKSB7Ci0gICAgaWYodGhpcy5zIDwgMCkgcmV0
dXJuICItIit0aGlzLm5lZ2F0ZSgpLnRvU3RyaW5nKGIpOwotICAgIHZhciBrOwotICAgIGlmKGIg
PT0gMTYpIGsgPSA0OwotICAgIGVsc2UgaWYoYiA9PSA4KSBrID0gMzsKLSAgICBlbHNlIGlmKGIg
PT0gMikgayA9IDE7Ci0gICAgZWxzZSBpZihiID09IDMyKSBrID0gNTsKLSAgICBlbHNlIGlmKGIg
PT0gNCkgayA9IDI7Ci0gICAgZWxzZSByZXR1cm4gdGhpcy50b1JhZGl4KGIpOwotICAgIHZhciBr
bSA9ICgxPDxrKS0xLCBkLCBtID0gZmFsc2UsIHIgPSAiIiwgaSA9IHRoaXMudDsKLSAgICB2YXIg
cCA9IHRoaXMuREItKGkqdGhpcy5EQiklazsKLSAgICBpZihpLS0gPiAwKSB7Ci0gICAgICBpZihw
IDwgdGhpcy5EQiAmJiAoZCA9IHRoaXNbaV0+PnApID4gMCkgeyBtID0gdHJ1ZTsgciA9IGludDJj
aGFyKGQpOyB9Ci0gICAgICB3aGlsZShpID49IDApIHsKLSAgICAgICAgaWYocCA8IGspIHsKLSAg
ICAgICAgICBkID0gKHRoaXNbaV0mKCgxPDxwKS0xKSk8PChrLXApOwotICAgICAgICAgIGQgfD0g
dGhpc1stLWldPj4ocCs9dGhpcy5EQi1rKTsKLSAgICAgICAgfQotICAgICAgICBlbHNlIHsKLSAg
ICAgICAgICBkID0gKHRoaXNbaV0+PihwLT1rKSkma207Ci0gICAgICAgICAgaWYocCA8PSAwKSB7
IHAgKz0gdGhpcy5EQjsgLS1pOyB9Ci0gICAgICAgIH0KLSAgICAgICAgaWYoZCA+IDApIG0gPSB0
cnVlOwotICAgICAgICBpZihtKSByICs9IGludDJjaGFyKGQpOwotICAgICAgfQotICAgIH0KLSAg
ICByZXR1cm4gbT9yOiIwIjsKLSAgfQotICAvLyAocHVibGljKSAtdGhpcwotICBmdW5jdGlvbiBi
bk5lZ2F0ZSgpIHsgdmFyIHIgPSBuYmkoKTsgQmlnSW50ZWdlci5aRVJPLnN1YlRvKHRoaXMscik7
IHJldHVybiByOyB9Ci0gIC8vIChwdWJsaWMpIHx0aGlzfAotICBmdW5jdGlvbiBibkFicygpIHsg
cmV0dXJuICh0aGlzLnM8MCk/dGhpcy5uZWdhdGUoKTp0aGlzOyB9Ci0gIC8vIChwdWJsaWMpIHJl
dHVybiArIGlmIHRoaXMgPiBhLCAtIGlmIHRoaXMgPCBhLCAwIGlmIGVxdWFsCi0gIGZ1bmN0aW9u
IGJuQ29tcGFyZVRvKGEpIHsKLSAgICB2YXIgciA9IHRoaXMucy1hLnM7Ci0gICAgaWYociAhPSAw
KSByZXR1cm4gcjsKLSAgICB2YXIgaSA9IHRoaXMudDsKLSAgICByID0gaS1hLnQ7Ci0gICAgaWYo
ciAhPSAwKSByZXR1cm4gKHRoaXMuczwwKT8tcjpyOwotICAgIHdoaWxlKC0taSA+PSAwKSBpZigo
cj10aGlzW2ldLWFbaV0pICE9IDApIHJldHVybiByOwotICAgIHJldHVybiAwOwotICB9Ci0gIC8v
IHJldHVybnMgYml0IGxlbmd0aCBvZiB0aGUgaW50ZWdlciB4Ci0gIGZ1bmN0aW9uIG5iaXRzKHgp
IHsKLSAgICB2YXIgciA9IDEsIHQ7Ci0gICAgaWYoKHQ9eD4+PjE2KSAhPSAwKSB7IHggPSB0OyBy
ICs9IDE2OyB9Ci0gICAgaWYoKHQ9eD4+OCkgIT0gMCkgeyB4ID0gdDsgciArPSA4OyB9Ci0gICAg
aWYoKHQ9eD4+NCkgIT0gMCkgeyB4ID0gdDsgciArPSA0OyB9Ci0gICAgaWYoKHQ9eD4+MikgIT0g
MCkgeyB4ID0gdDsgciArPSAyOyB9Ci0gICAgaWYoKHQ9eD4+MSkgIT0gMCkgeyB4ID0gdDsgciAr
PSAxOyB9Ci0gICAgcmV0dXJuIHI7Ci0gIH0KLSAgLy8gKHB1YmxpYykgcmV0dXJuIHRoZSBudW1i
ZXIgb2YgYml0cyBpbiAidGhpcyIKLSAgZnVuY3Rpb24gYm5CaXRMZW5ndGgoKSB7Ci0gICAgaWYo
dGhpcy50IDw9IDApIHJldHVybiAwOwotICAgIHJldHVybiB0aGlzLkRCKih0aGlzLnQtMSkrbmJp
dHModGhpc1t0aGlzLnQtMV1eKHRoaXMucyZ0aGlzLkRNKSk7Ci0gIH0KLSAgLy8gKHByb3RlY3Rl
ZCkgciA9IHRoaXMgPDwgbipEQgotICBmdW5jdGlvbiBibnBETFNoaWZ0VG8obixyKSB7Ci0gICAg
dmFyIGk7Ci0gICAgZm9yKGkgPSB0aGlzLnQtMTsgaSA+PSAwOyAtLWkpIHJbaStuXSA9IHRoaXNb
aV07Ci0gICAgZm9yKGkgPSBuLTE7IGkgPj0gMDsgLS1pKSByW2ldID0gMDsKLSAgICByLnQgPSB0
aGlzLnQrbjsKLSAgICByLnMgPSB0aGlzLnM7Ci0gIH0KLSAgLy8gKHByb3RlY3RlZCkgciA9IHRo
aXMgPj4gbipEQgotICBmdW5jdGlvbiBibnBEUlNoaWZ0VG8obixyKSB7Ci0gICAgZm9yKHZhciBp
ID0gbjsgaSA8IHRoaXMudDsgKytpKSByW2ktbl0gPSB0aGlzW2ldOwotICAgIHIudCA9IE1hdGgu
bWF4KHRoaXMudC1uLDApOwotICAgIHIucyA9IHRoaXMuczsKLSAgfQotICAvLyAocHJvdGVjdGVk
KSByID0gdGhpcyA8PCBuCi0gIGZ1bmN0aW9uIGJucExTaGlmdFRvKG4scikgewotICAgIHZhciBi
cyA9IG4ldGhpcy5EQjsKLSAgICB2YXIgY2JzID0gdGhpcy5EQi1iczsKLSAgICB2YXIgYm0gPSAo
MTw8Y2JzKS0xOwotICAgIHZhciBkcyA9IE1hdGguZmxvb3Iobi90aGlzLkRCKSwgYyA9ICh0aGlz
LnM8PGJzKSZ0aGlzLkRNLCBpOwotICAgIGZvcihpID0gdGhpcy50LTE7IGkgPj0gMDsgLS1pKSB7
Ci0gICAgICByW2krZHMrMV0gPSAodGhpc1tpXT4+Y2JzKXxjOwotICAgICAgYyA9ICh0aGlzW2ld
JmJtKTw8YnM7Ci0gICAgfQotICAgIGZvcihpID0gZHMtMTsgaSA+PSAwOyAtLWkpIHJbaV0gPSAw
OwotICAgIHJbZHNdID0gYzsKLSAgICByLnQgPSB0aGlzLnQrZHMrMTsKLSAgICByLnMgPSB0aGlz
LnM7Ci0gICAgci5jbGFtcCgpOwotICB9Ci0gIC8vIChwcm90ZWN0ZWQpIHIgPSB0aGlzID4+IG4K
LSAgZnVuY3Rpb24gYm5wUlNoaWZ0VG8obixyKSB7Ci0gICAgci5zID0gdGhpcy5zOwotICAgIHZh
ciBkcyA9IE1hdGguZmxvb3Iobi90aGlzLkRCKTsKLSAgICBpZihkcyA+PSB0aGlzLnQpIHsgci50
ID0gMDsgcmV0dXJuOyB9Ci0gICAgdmFyIGJzID0gbiV0aGlzLkRCOwotICAgIHZhciBjYnMgPSB0
aGlzLkRCLWJzOwotICAgIHZhciBibSA9ICgxPDxicyktMTsKLSAgICByWzBdID0gdGhpc1tkc10+
PmJzOwotICAgIGZvcih2YXIgaSA9IGRzKzE7IGkgPCB0aGlzLnQ7ICsraSkgewotICAgICAgcltp
LWRzLTFdIHw9ICh0aGlzW2ldJmJtKTw8Y2JzOwotICAgICAgcltpLWRzXSA9IHRoaXNbaV0+PmJz
OwotICAgIH0KLSAgICBpZihicyA+IDApIHJbdGhpcy50LWRzLTFdIHw9ICh0aGlzLnMmYm0pPDxj
YnM7Ci0gICAgci50ID0gdGhpcy50LWRzOwotICAgIHIuY2xhbXAoKTsKLSAgfQotICAvLyAocHJv
dGVjdGVkKSByID0gdGhpcyAtIGEKLSAgZnVuY3Rpb24gYm5wU3ViVG8oYSxyKSB7Ci0gICAgdmFy
IGkgPSAwLCBjID0gMCwgbSA9IE1hdGgubWluKGEudCx0aGlzLnQpOwotICAgIHdoaWxlKGkgPCBt
KSB7Ci0gICAgICBjICs9IHRoaXNbaV0tYVtpXTsKLSAgICAgIHJbaSsrXSA9IGMmdGhpcy5ETTsK
LSAgICAgIGMgPj49IHRoaXMuREI7Ci0gICAgfQotICAgIGlmKGEudCA8IHRoaXMudCkgewotICAg
ICAgYyAtPSBhLnM7Ci0gICAgICB3aGlsZShpIDwgdGhpcy50KSB7Ci0gICAgICAgIGMgKz0gdGhp
c1tpXTsKLSAgICAgICAgcltpKytdID0gYyZ0aGlzLkRNOwotICAgICAgICBjID4+PSB0aGlzLkRC
OwotICAgICAgfQotICAgICAgYyArPSB0aGlzLnM7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAg
YyArPSB0aGlzLnM7Ci0gICAgICB3aGlsZShpIDwgYS50KSB7Ci0gICAgICAgIGMgLT0gYVtpXTsK
LSAgICAgICAgcltpKytdID0gYyZ0aGlzLkRNOwotICAgICAgICBjID4+PSB0aGlzLkRCOwotICAg
ICAgfQotICAgICAgYyAtPSBhLnM7Ci0gICAgfQotICAgIHIucyA9IChjPDApPy0xOjA7Ci0gICAg
aWYoYyA8IC0xKSByW2krK10gPSB0aGlzLkRWK2M7Ci0gICAgZWxzZSBpZihjID4gMCkgcltpKytd
ID0gYzsKLSAgICByLnQgPSBpOwotICAgIHIuY2xhbXAoKTsKLSAgfQotICAvLyAocHJvdGVjdGVk
KSByID0gdGhpcyAqIGEsIHIgIT0gdGhpcyxhIChIQUMgMTQuMTIpCi0gIC8vICJ0aGlzIiBzaG91
bGQgYmUgdGhlIGxhcmdlciBvbmUgaWYgYXBwcm9wcmlhdGUuCi0gIGZ1bmN0aW9uIGJucE11bHRp
cGx5VG8oYSxyKSB7Ci0gICAgdmFyIHggPSB0aGlzLmFicygpLCB5ID0gYS5hYnMoKTsKLSAgICB2
YXIgaSA9IHgudDsKLSAgICByLnQgPSBpK3kudDsKLSAgICB3aGlsZSgtLWkgPj0gMCkgcltpXSA9
IDA7Ci0gICAgZm9yKGkgPSAwOyBpIDwgeS50OyArK2kpIHJbaSt4LnRdID0geC5hbSgwLHlbaV0s
cixpLDAseC50KTsKLSAgICByLnMgPSAwOwotICAgIHIuY2xhbXAoKTsKLSAgICBpZih0aGlzLnMg
IT0gYS5zKSBCaWdJbnRlZ2VyLlpFUk8uc3ViVG8ocixyKTsKLSAgfQotICAvLyAocHJvdGVjdGVk
KSByID0gdGhpc14yLCByICE9IHRoaXMgKEhBQyAxNC4xNikKLSAgZnVuY3Rpb24gYm5wU3F1YXJl
VG8ocikgewotICAgIHZhciB4ID0gdGhpcy5hYnMoKTsKLSAgICB2YXIgaSA9IHIudCA9IDIqeC50
OwotICAgIHdoaWxlKC0taSA+PSAwKSByW2ldID0gMDsKLSAgICBmb3IoaSA9IDA7IGkgPCB4LnQt
MTsgKytpKSB7Ci0gICAgICB2YXIgYyA9IHguYW0oaSx4W2ldLHIsMippLDAsMSk7Ci0gICAgICBp
ZigocltpK3gudF0rPXguYW0oaSsxLDIqeFtpXSxyLDIqaSsxLGMseC50LWktMSkpID49IHguRFYp
IHsKLSAgICAgICAgcltpK3gudF0gLT0geC5EVjsKLSAgICAgICAgcltpK3gudCsxXSA9IDE7Ci0g
ICAgICB9Ci0gICAgfQotICAgIGlmKHIudCA+IDApIHJbci50LTFdICs9IHguYW0oaSx4W2ldLHIs
MippLDAsMSk7Ci0gICAgci5zID0gMDsKLSAgICByLmNsYW1wKCk7Ci0gIH0KLSAgLy8gKHByb3Rl
Y3RlZCkgZGl2aWRlIHRoaXMgYnkgbSwgcXVvdGllbnQgYW5kIHJlbWFpbmRlciB0byBxLCByIChI
QUMgMTQuMjApCi0gIC8vIHIgIT0gcSwgdGhpcyAhPSBtLiAgcSBvciByIG1heSBiZSBudWxsLgot
ICBmdW5jdGlvbiBibnBEaXZSZW1UbyhtLHEscikgewotICAgIHZhciBwbSA9IG0uYWJzKCk7Ci0g
ICAgaWYocG0udCA8PSAwKSByZXR1cm47Ci0gICAgdmFyIHB0ID0gdGhpcy5hYnMoKTsKLSAgICBp
ZihwdC50IDwgcG0udCkgewotICAgICAgaWYocSAhPSBudWxsKSBxLmZyb21JbnQoMCk7Ci0gICAg
ICBpZihyICE9IG51bGwpIHRoaXMuY29weVRvKHIpOwotICAgICAgcmV0dXJuOwotICAgIH0KLSAg
ICBpZihyID09IG51bGwpIHIgPSBuYmkoKTsKLSAgICB2YXIgeSA9IG5iaSgpLCB0cyA9IHRoaXMu
cywgbXMgPSBtLnM7Ci0gICAgdmFyIG5zaCA9IHRoaXMuREItbmJpdHMocG1bcG0udC0xXSk7CS8v
IG5vcm1hbGl6ZSBtb2R1bHVzCi0gICAgaWYobnNoID4gMCkgeyBwbS5sU2hpZnRUbyhuc2gseSk7
IHB0LmxTaGlmdFRvKG5zaCxyKTsgfQotICAgIGVsc2UgeyBwbS5jb3B5VG8oeSk7IHB0LmNvcHlU
byhyKTsgfQotICAgIHZhciB5cyA9IHkudDsKLSAgICB2YXIgeTAgPSB5W3lzLTFdOwotICAgIGlm
KHkwID09IDApIHJldHVybjsKLSAgICB2YXIgeXQgPSB5MCooMTw8dGhpcy5GMSkrKCh5cz4xKT95
W3lzLTJdPj50aGlzLkYyOjApOwotICAgIHZhciBkMSA9IHRoaXMuRlYveXQsIGQyID0gKDE8PHRo
aXMuRjEpL3l0LCBlID0gMTw8dGhpcy5GMjsKLSAgICB2YXIgaSA9IHIudCwgaiA9IGkteXMsIHQg
PSAocT09bnVsbCk/bmJpKCk6cTsKLSAgICB5LmRsU2hpZnRUbyhqLHQpOwotICAgIGlmKHIuY29t
cGFyZVRvKHQpID49IDApIHsKLSAgICAgIHJbci50KytdID0gMTsKLSAgICAgIHIuc3ViVG8odCxy
KTsKLSAgICB9Ci0gICAgQmlnSW50ZWdlci5PTkUuZGxTaGlmdFRvKHlzLHQpOwotICAgIHQuc3Vi
VG8oeSx5KTsJLy8gIm5lZ2F0aXZlIiB5IHNvIHdlIGNhbiByZXBsYWNlIHN1YiB3aXRoIGFtIGxh
dGVyCi0gICAgd2hpbGUoeS50IDwgeXMpIHlbeS50KytdID0gMDsKLSAgICB3aGlsZSgtLWogPj0g
MCkgewotICAgICAgLy8gRXN0aW1hdGUgcXVvdGllbnQgZGlnaXQKLSAgICAgIHZhciBxZCA9IChy
Wy0taV09PXkwKT90aGlzLkRNOk1hdGguZmxvb3IocltpXSpkMSsocltpLTFdK2UpKmQyKTsKLSAg
ICAgIGlmKChyW2ldKz15LmFtKDAscWQscixqLDAseXMpKSA8IHFkKSB7CS8vIFRyeSBpdCBvdXQK
LSAgICAgICAgeS5kbFNoaWZ0VG8oaix0KTsKLSAgICAgICAgci5zdWJUbyh0LHIpOwotICAgICAg
ICB3aGlsZShyW2ldIDwgLS1xZCkgci5zdWJUbyh0LHIpOwotICAgICAgfQotICAgIH0KLSAgICBp
ZihxICE9IG51bGwpIHsKLSAgICAgIHIuZHJTaGlmdFRvKHlzLHEpOwotICAgICAgaWYodHMgIT0g
bXMpIEJpZ0ludGVnZXIuWkVSTy5zdWJUbyhxLHEpOwotICAgIH0KLSAgICByLnQgPSB5czsKLSAg
ICByLmNsYW1wKCk7Ci0gICAgaWYobnNoID4gMCkgci5yU2hpZnRUbyhuc2gscik7CS8vIERlbm9y
bWFsaXplIHJlbWFpbmRlcgotICAgIGlmKHRzIDwgMCkgQmlnSW50ZWdlci5aRVJPLnN1YlRvKHIs
cik7Ci0gIH0KLSAgLy8gKHB1YmxpYykgdGhpcyBtb2QgYQotICBmdW5jdGlvbiBibk1vZChhKSB7
Ci0gICAgdmFyIHIgPSBuYmkoKTsKLSAgICB0aGlzLmFicygpLmRpdlJlbVRvKGEsbnVsbCxyKTsK
LSAgICBpZih0aGlzLnMgPCAwICYmIHIuY29tcGFyZVRvKEJpZ0ludGVnZXIuWkVSTykgPiAwKSBh
LnN1YlRvKHIscik7Ci0gICAgcmV0dXJuIHI7Ci0gIH0KLSAgLy8gTW9kdWxhciByZWR1Y3Rpb24g
dXNpbmcgImNsYXNzaWMiIGFsZ29yaXRobQotICBmdW5jdGlvbiBDbGFzc2ljKG0pIHsgdGhpcy5t
ID0gbTsgfQotICBmdW5jdGlvbiBjQ29udmVydCh4KSB7Ci0gICAgaWYoeC5zIDwgMCB8fCB4LmNv
bXBhcmVUbyh0aGlzLm0pID49IDApIHJldHVybiB4Lm1vZCh0aGlzLm0pOwotICAgIGVsc2UgcmV0
dXJuIHg7Ci0gIH0KLSAgZnVuY3Rpb24gY1JldmVydCh4KSB7IHJldHVybiB4OyB9Ci0gIGZ1bmN0
aW9uIGNSZWR1Y2UoeCkgeyB4LmRpdlJlbVRvKHRoaXMubSxudWxsLHgpOyB9Ci0gIGZ1bmN0aW9u
IGNNdWxUbyh4LHkscikgeyB4Lm11bHRpcGx5VG8oeSxyKTsgdGhpcy5yZWR1Y2Uocik7IH0KLSAg
ZnVuY3Rpb24gY1NxclRvKHgscikgeyB4LnNxdWFyZVRvKHIpOyB0aGlzLnJlZHVjZShyKTsgfQot
ICBDbGFzc2ljLnByb3RvdHlwZS5jb252ZXJ0ID0gY0NvbnZlcnQ7Ci0gIENsYXNzaWMucHJvdG90
eXBlLnJldmVydCA9IGNSZXZlcnQ7Ci0gIENsYXNzaWMucHJvdG90eXBlLnJlZHVjZSA9IGNSZWR1
Y2U7Ci0gIENsYXNzaWMucHJvdG90eXBlLm11bFRvID0gY011bFRvOwotICBDbGFzc2ljLnByb3Rv
dHlwZS5zcXJUbyA9IGNTcXJUbzsKLSAgLy8gKHByb3RlY3RlZCkgcmV0dXJuICItMS90aGlzICUg
Ml5EQiI7IHVzZWZ1bCBmb3IgTW9udC4gcmVkdWN0aW9uCi0gIC8vIGp1c3RpZmljYXRpb246Ci0g
IC8vICAgICAgICAgeHkgPT0gMSAobW9kIG0pCi0gIC8vICAgICAgICAgeHkgPSAgMStrbQotICAv
LyAgIHh5KDIteHkpID0gKDEra20pKDEta20pCi0gIC8vIHhbeSgyLXh5KV0gPSAxLWteMm1eMgot
ICAvLyB4W3koMi14eSldID09IDEgKG1vZCBtXjIpCi0gIC8vIGlmIHkgaXMgMS94IG1vZCBtLCB0
aGVuIHkoMi14eSkgaXMgMS94IG1vZCBtXjIKLSAgLy8gc2hvdWxkIHJlZHVjZSB4IGFuZCB5KDIt
eHkpIGJ5IG1eMiBhdCBlYWNoIHN0ZXAgdG8ga2VlcCBzaXplIGJvdW5kZWQuCi0gIC8vIEpTIG11
bHRpcGx5ICJvdmVyZmxvd3MiIGRpZmZlcmVudGx5IGZyb20gQy9DKyssIHNvIGNhcmUgaXMgbmVl
ZGVkIGhlcmUuCi0gIGZ1bmN0aW9uIGJucEludkRpZ2l0KCkgewotICAgIGlmKHRoaXMudCA8IDEp
IHJldHVybiAwOwotICAgIHZhciB4ID0gdGhpc1swXTsKLSAgICBpZigoeCYxKSA9PSAwKSByZXR1
cm4gMDsKLSAgICB2YXIgeSA9IHgmMzsJCS8vIHkgPT0gMS94IG1vZCAyXjIKLSAgICB5ID0gKHkq
KDItKHgmMHhmKSp5KSkmMHhmOwkvLyB5ID09IDEveCBtb2QgMl40Ci0gICAgeSA9ICh5KigyLSh4
JjB4ZmYpKnkpKSYweGZmOwkvLyB5ID09IDEveCBtb2QgMl44Ci0gICAgeSA9ICh5KigyLSgoKHgm
MHhmZmZmKSp5KSYweGZmZmYpKSkmMHhmZmZmOwkvLyB5ID09IDEveCBtb2QgMl4xNgotICAgIC8v
IGxhc3Qgc3RlcCAtIGNhbGN1bGF0ZSBpbnZlcnNlIG1vZCBEViBkaXJlY3RseTsKLSAgICAvLyBh
c3N1bWVzIDE2IDwgREIgPD0gMzIgYW5kIGFzc3VtZXMgYWJpbGl0eSB0byBoYW5kbGUgNDgtYml0
IGludHMKLSAgICB5ID0gKHkqKDIteCp5JXRoaXMuRFYpKSV0aGlzLkRWOwkJLy8geSA9PSAxL3gg
bW9kIDJeZGJpdHMKLSAgICAvLyB3ZSByZWFsbHkgd2FudCB0aGUgbmVnYXRpdmUgaW52ZXJzZSwg
YW5kIC1EViA8IHkgPCBEVgotICAgIHJldHVybiAoeT4wKT90aGlzLkRWLXk6LXk7Ci0gIH0KLSAg
Ly8gTW9udGdvbWVyeSByZWR1Y3Rpb24KLSAgZnVuY3Rpb24gTW9udGdvbWVyeShtKSB7Ci0gICAg
dGhpcy5tID0gbTsKLSAgICB0aGlzLm1wID0gbS5pbnZEaWdpdCgpOwotICAgIHRoaXMubXBsID0g
dGhpcy5tcCYweDdmZmY7Ci0gICAgdGhpcy5tcGggPSB0aGlzLm1wPj4xNTsKLSAgICB0aGlzLnVt
ID0gKDE8PChtLkRCLTE1KSktMTsKLSAgICB0aGlzLm10MiA9IDIqbS50OwotICB9Ci0gIC8vIHhS
IG1vZCBtCi0gIGZ1bmN0aW9uIG1vbnRDb252ZXJ0KHgpIHsKLSAgICB2YXIgciA9IG5iaSgpOwot
ICAgIHguYWJzKCkuZGxTaGlmdFRvKHRoaXMubS50LHIpOwotICAgIHIuZGl2UmVtVG8odGhpcy5t
LG51bGwscik7Ci0gICAgaWYoeC5zIDwgMCAmJiByLmNvbXBhcmVUbyhCaWdJbnRlZ2VyLlpFUk8p
ID4gMCkgdGhpcy5tLnN1YlRvKHIscik7Ci0gICAgcmV0dXJuIHI7Ci0gIH0KLSAgLy8geC9SIG1v
ZCBtCi0gIGZ1bmN0aW9uIG1vbnRSZXZlcnQoeCkgewotICAgIHZhciByID0gbmJpKCk7Ci0gICAg
eC5jb3B5VG8ocik7Ci0gICAgdGhpcy5yZWR1Y2Uocik7Ci0gICAgcmV0dXJuIHI7Ci0gIH0KLSAg
Ly8geCA9IHgvUiBtb2QgbSAoSEFDIDE0LjMyKQotICBmdW5jdGlvbiBtb250UmVkdWNlKHgpIHsK
LSAgICB3aGlsZSh4LnQgPD0gdGhpcy5tdDIpCS8vIHBhZCB4IHNvIGFtIGhhcyBlbm91Z2ggcm9v
bSBsYXRlcgotICAgICAgeFt4LnQrK10gPSAwOwotICAgIGZvcih2YXIgaSA9IDA7IGkgPCB0aGlz
Lm0udDsgKytpKSB7Ci0gICAgICAvLyBmYXN0ZXIgd2F5IG9mIGNhbGN1bGF0aW5nIHUwID0geFtp
XSptcCBtb2QgRFYKLSAgICAgIHZhciBqID0geFtpXSYweDdmZmY7Ci0gICAgICB2YXIgdTAgPSAo
aip0aGlzLm1wbCsoKChqKnRoaXMubXBoKyh4W2ldPj4xNSkqdGhpcy5tcGwpJnRoaXMudW0pPDwx
NSkpJnguRE07Ci0gICAgICAvLyB1c2UgYW0gdG8gY29tYmluZSB0aGUgbXVsdGlwbHktc2hpZnQt
YWRkIGludG8gb25lIGNhbGwKLSAgICAgIGogPSBpK3RoaXMubS50OwotICAgICAgeFtqXSArPSB0
aGlzLm0uYW0oMCx1MCx4LGksMCx0aGlzLm0udCk7Ci0gICAgICAvLyBwcm9wYWdhdGUgY2FycnkK
LSAgICAgIHdoaWxlKHhbal0gPj0geC5EVikgeyB4W2pdIC09IHguRFY7IHhbKytqXSsrOyB9Ci0g
ICAgfQotICAgIHguY2xhbXAoKTsKLSAgICB4LmRyU2hpZnRUbyh0aGlzLm0udCx4KTsKLSAgICBp
Zih4LmNvbXBhcmVUbyh0aGlzLm0pID49IDApIHguc3ViVG8odGhpcy5tLHgpOwotICB9Ci0gIC8v
IHIgPSAieF4yL1IgbW9kIG0iOyB4ICE9IHIKLSAgZnVuY3Rpb24gbW9udFNxclRvKHgscikgeyB4
LnNxdWFyZVRvKHIpOyB0aGlzLnJlZHVjZShyKTsgfQotICAvLyByID0gInh5L1IgbW9kIG0iOyB4
LHkgIT0gcgotICBmdW5jdGlvbiBtb250TXVsVG8oeCx5LHIpIHsgeC5tdWx0aXBseVRvKHkscik7
IHRoaXMucmVkdWNlKHIpOyB9Ci0gIE1vbnRnb21lcnkucHJvdG90eXBlLmNvbnZlcnQgPSBtb250
Q29udmVydDsKLSAgTW9udGdvbWVyeS5wcm90b3R5cGUucmV2ZXJ0ID0gbW9udFJldmVydDsKLSAg
TW9udGdvbWVyeS5wcm90b3R5cGUucmVkdWNlID0gbW9udFJlZHVjZTsKLSAgTW9udGdvbWVyeS5w
cm90b3R5cGUubXVsVG8gPSBtb250TXVsVG87Ci0gIE1vbnRnb21lcnkucHJvdG90eXBlLnNxclRv
ID0gbW9udFNxclRvOwotICAvLyAocHJvdGVjdGVkKSB0cnVlIGlmZiB0aGlzIGlzIGV2ZW4KLSAg
ZnVuY3Rpb24gYm5wSXNFdmVuKCkgeyByZXR1cm4gKCh0aGlzLnQ+MCk/KHRoaXNbMF0mMSk6dGhp
cy5zKSA9PSAwOyB9Ci0gIC8vIChwcm90ZWN0ZWQpIHRoaXNeZSwgZSA8IDJeMzIsIGRvaW5nIHNx
ciBhbmQgbXVsIHdpdGggInIiIChIQUMgMTQuNzkpCi0gIGZ1bmN0aW9uIGJucEV4cChlLHopIHsK
LSAgICBpZihlID4gMHhmZmZmZmZmZiB8fCBlIDwgMSkgcmV0dXJuIEJpZ0ludGVnZXIuT05FOwot
ICAgIHZhciByID0gbmJpKCksIHIyID0gbmJpKCksIGcgPSB6LmNvbnZlcnQodGhpcyksIGkgPSBu
Yml0cyhlKS0xOwotICAgIGcuY29weVRvKHIpOwotICAgIHdoaWxlKC0taSA+PSAwKSB7Ci0gICAg
ICB6LnNxclRvKHIscjIpOwotICAgICAgaWYoKGUmKDE8PGkpKSA+IDApIHoubXVsVG8ocjIsZyxy
KTsKLSAgICAgIGVsc2UgeyB2YXIgdCA9IHI7IHIgPSByMjsgcjIgPSB0OyB9Ci0gICAgfQotICAg
IHJldHVybiB6LnJldmVydChyKTsKLSAgfQotICAvLyAocHVibGljKSB0aGlzXmUgJSBtLCAwIDw9
IGUgPCAyXjMyCi0gIGZ1bmN0aW9uIGJuTW9kUG93SW50KGUsbSkgewotICAgIHZhciB6OwotICAg
IGlmKGUgPCAyNTYgfHwgbS5pc0V2ZW4oKSkgeiA9IG5ldyBDbGFzc2ljKG0pOyBlbHNlIHogPSBu
ZXcgTW9udGdvbWVyeShtKTsKLSAgICByZXR1cm4gdGhpcy5leHAoZSx6KTsKLSAgfQotICAvLyBw
cm90ZWN0ZWQKLSAgQmlnSW50ZWdlci5wcm90b3R5cGUuY29weVRvID0gYm5wQ29weVRvOwotICBC
aWdJbnRlZ2VyLnByb3RvdHlwZS5mcm9tSW50ID0gYm5wRnJvbUludDsKLSAgQmlnSW50ZWdlci5w
cm90b3R5cGUuZnJvbVN0cmluZyA9IGJucEZyb21TdHJpbmc7Ci0gIEJpZ0ludGVnZXIucHJvdG90
eXBlLmNsYW1wID0gYm5wQ2xhbXA7Ci0gIEJpZ0ludGVnZXIucHJvdG90eXBlLmRsU2hpZnRUbyA9
IGJucERMU2hpZnRUbzsKLSAgQmlnSW50ZWdlci5wcm90b3R5cGUuZHJTaGlmdFRvID0gYm5wRFJT
aGlmdFRvOwotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5sU2hpZnRUbyA9IGJucExTaGlmdFRvOwot
ICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5yU2hpZnRUbyA9IGJucFJTaGlmdFRvOwotICBCaWdJbnRl
Z2VyLnByb3RvdHlwZS5zdWJUbyA9IGJucFN1YlRvOwotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5t
dWx0aXBseVRvID0gYm5wTXVsdGlwbHlUbzsKLSAgQmlnSW50ZWdlci5wcm90b3R5cGUuc3F1YXJl
VG8gPSBibnBTcXVhcmVUbzsKLSAgQmlnSW50ZWdlci5wcm90b3R5cGUuZGl2UmVtVG8gPSBibnBE
aXZSZW1UbzsKLSAgQmlnSW50ZWdlci5wcm90b3R5cGUuaW52RGlnaXQgPSBibnBJbnZEaWdpdDsK
LSAgQmlnSW50ZWdlci5wcm90b3R5cGUuaXNFdmVuID0gYm5wSXNFdmVuOwotICBCaWdJbnRlZ2Vy
LnByb3RvdHlwZS5leHAgPSBibnBFeHA7Ci0gIC8vIHB1YmxpYwotICBCaWdJbnRlZ2VyLnByb3Rv
dHlwZS50b1N0cmluZyA9IGJuVG9TdHJpbmc7Ci0gIEJpZ0ludGVnZXIucHJvdG90eXBlLm5lZ2F0
ZSA9IGJuTmVnYXRlOwotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5hYnMgPSBibkFiczsKLSAgQmln
SW50ZWdlci5wcm90b3R5cGUuY29tcGFyZVRvID0gYm5Db21wYXJlVG87Ci0gIEJpZ0ludGVnZXIu
cHJvdG90eXBlLmJpdExlbmd0aCA9IGJuQml0TGVuZ3RoOwotICBCaWdJbnRlZ2VyLnByb3RvdHlw
ZS5tb2QgPSBibk1vZDsKLSAgQmlnSW50ZWdlci5wcm90b3R5cGUubW9kUG93SW50ID0gYm5Nb2RQ
b3dJbnQ7Ci0gIC8vICJjb25zdGFudHMiCi0gIEJpZ0ludGVnZXIuWkVSTyA9IG5idigwKTsKLSAg
QmlnSW50ZWdlci5PTkUgPSBuYnYoMSk7Ci0gIC8vIGpzYm4yIHN0dWZmCi0gIC8vIChwcm90ZWN0
ZWQpIGNvbnZlcnQgZnJvbSByYWRpeCBzdHJpbmcKLSAgZnVuY3Rpb24gYm5wRnJvbVJhZGl4KHMs
YikgewotICAgIHRoaXMuZnJvbUludCgwKTsKLSAgICBpZihiID09IG51bGwpIGIgPSAxMDsKLSAg
ICB2YXIgY3MgPSB0aGlzLmNodW5rU2l6ZShiKTsKLSAgICB2YXIgZCA9IE1hdGgucG93KGIsY3Mp
LCBtaSA9IGZhbHNlLCBqID0gMCwgdyA9IDA7Ci0gICAgZm9yKHZhciBpID0gMDsgaSA8IHMubGVu
Z3RoOyArK2kpIHsKLSAgICAgIHZhciB4ID0gaW50QXQocyxpKTsKLSAgICAgIGlmKHggPCAwKSB7
Ci0gICAgICAgIGlmKHMuY2hhckF0KGkpID09ICItIiAmJiB0aGlzLnNpZ251bSgpID09IDApIG1p
ID0gdHJ1ZTsKLSAgICAgICAgY29udGludWU7Ci0gICAgICB9Ci0gICAgICB3ID0gYip3K3g7Ci0g
ICAgICBpZigrK2ogPj0gY3MpIHsKLSAgICAgICAgdGhpcy5kTXVsdGlwbHkoZCk7Ci0gICAgICAg
IHRoaXMuZEFkZE9mZnNldCh3LDApOwotICAgICAgICBqID0gMDsKLSAgICAgICAgdyA9IDA7Ci0g
ICAgICB9Ci0gICAgfQotICAgIGlmKGogPiAwKSB7Ci0gICAgICB0aGlzLmRNdWx0aXBseShNYXRo
LnBvdyhiLGopKTsKLSAgICAgIHRoaXMuZEFkZE9mZnNldCh3LDApOwotICAgIH0KLSAgICBpZiht
aSkgQmlnSW50ZWdlci5aRVJPLnN1YlRvKHRoaXMsdGhpcyk7Ci0gIH0KLSAgLy8gKHByb3RlY3Rl
ZCkgcmV0dXJuIHggcy50LiByXnggPCBEVgotICBmdW5jdGlvbiBibnBDaHVua1NpemUocikgeyBy
ZXR1cm4gTWF0aC5mbG9vcihNYXRoLkxOMip0aGlzLkRCL01hdGgubG9nKHIpKTsgfQotICAvLyAo
cHVibGljKSAwIGlmIHRoaXMgPT0gMCwgMSBpZiB0aGlzID4gMAotICBmdW5jdGlvbiBiblNpZ051
bSgpIHsKLSAgICBpZih0aGlzLnMgPCAwKSByZXR1cm4gLTE7Ci0gICAgZWxzZSBpZih0aGlzLnQg
PD0gMCB8fCAodGhpcy50ID09IDEgJiYgdGhpc1swXSA8PSAwKSkgcmV0dXJuIDA7Ci0gICAgZWxz
ZSByZXR1cm4gMTsKLSAgfQotICAvLyAocHJvdGVjdGVkKSB0aGlzICo9IG4sIHRoaXMgPj0gMCwg
MSA8IG4gPCBEVgotICBmdW5jdGlvbiBibnBETXVsdGlwbHkobikgewotICAgIHRoaXNbdGhpcy50
XSA9IHRoaXMuYW0oMCxuLTEsdGhpcywwLDAsdGhpcy50KTsKLSAgICArK3RoaXMudDsKLSAgICB0
aGlzLmNsYW1wKCk7Ci0gIH0KLSAgLy8gKHByb3RlY3RlZCkgdGhpcyArPSBuIDw8IHcgd29yZHMs
IHRoaXMgPj0gMAotICBmdW5jdGlvbiBibnBEQWRkT2Zmc2V0KG4sdykgewotICAgIGlmKG4gPT0g
MCkgcmV0dXJuOwotICAgIHdoaWxlKHRoaXMudCA8PSB3KSB0aGlzW3RoaXMudCsrXSA9IDA7Ci0g
ICAgdGhpc1t3XSArPSBuOwotICAgIHdoaWxlKHRoaXNbd10gPj0gdGhpcy5EVikgewotICAgICAg
dGhpc1t3XSAtPSB0aGlzLkRWOwotICAgICAgaWYoKyt3ID49IHRoaXMudCkgdGhpc1t0aGlzLnQr
K10gPSAwOwotICAgICAgKyt0aGlzW3ddOwotICAgIH0KLSAgfQotICAvLyAocHJvdGVjdGVkKSBj
b252ZXJ0IHRvIHJhZGl4IHN0cmluZwotICBmdW5jdGlvbiBibnBUb1JhZGl4KGIpIHsKLSAgICBp
ZihiID09IG51bGwpIGIgPSAxMDsKLSAgICBpZih0aGlzLnNpZ251bSgpID09IDAgfHwgYiA8IDIg
fHwgYiA+IDM2KSByZXR1cm4gIjAiOwotICAgIHZhciBjcyA9IHRoaXMuY2h1bmtTaXplKGIpOwot
ICAgIHZhciBhID0gTWF0aC5wb3coYixjcyk7Ci0gICAgdmFyIGQgPSBuYnYoYSksIHkgPSBuYmko
KSwgeiA9IG5iaSgpLCByID0gIiI7Ci0gICAgdGhpcy5kaXZSZW1UbyhkLHkseik7Ci0gICAgd2hp
bGUoeS5zaWdudW0oKSA+IDApIHsKLSAgICAgIHIgPSAoYSt6LmludFZhbHVlKCkpLnRvU3RyaW5n
KGIpLnN1YnN0cigxKSArIHI7Ci0gICAgICB5LmRpdlJlbVRvKGQseSx6KTsKLSAgICB9Ci0gICAg
cmV0dXJuIHouaW50VmFsdWUoKS50b1N0cmluZyhiKSArIHI7Ci0gIH0KLSAgLy8gKHB1YmxpYykg
cmV0dXJuIHZhbHVlIGFzIGludGVnZXIKLSAgZnVuY3Rpb24gYm5JbnRWYWx1ZSgpIHsKLSAgICBp
Zih0aGlzLnMgPCAwKSB7Ci0gICAgICBpZih0aGlzLnQgPT0gMSkgcmV0dXJuIHRoaXNbMF0tdGhp
cy5EVjsKLSAgICAgIGVsc2UgaWYodGhpcy50ID09IDApIHJldHVybiAtMTsKLSAgICB9Ci0gICAg
ZWxzZSBpZih0aGlzLnQgPT0gMSkgcmV0dXJuIHRoaXNbMF07Ci0gICAgZWxzZSBpZih0aGlzLnQg
PT0gMCkgcmV0dXJuIDA7Ci0gICAgLy8gYXNzdW1lcyAxNiA8IERCIDwgMzIKLSAgICByZXR1cm4g
KCh0aGlzWzFdJigoMTw8KDMyLXRoaXMuREIpKS0xKSk8PHRoaXMuREIpfHRoaXNbMF07Ci0gIH0K
LSAgLy8gKHByb3RlY3RlZCkgciA9IHRoaXMgKyBhCi0gIGZ1bmN0aW9uIGJucEFkZFRvKGEscikg
ewotICAgIHZhciBpID0gMCwgYyA9IDAsIG0gPSBNYXRoLm1pbihhLnQsdGhpcy50KTsKLSAgICB3
aGlsZShpIDwgbSkgewotICAgICAgYyArPSB0aGlzW2ldK2FbaV07Ci0gICAgICByW2krK10gPSBj
JnRoaXMuRE07Ci0gICAgICBjID4+PSB0aGlzLkRCOwotICAgIH0KLSAgICBpZihhLnQgPCB0aGlz
LnQpIHsKLSAgICAgIGMgKz0gYS5zOwotICAgICAgd2hpbGUoaSA8IHRoaXMudCkgewotICAgICAg
ICBjICs9IHRoaXNbaV07Ci0gICAgICAgIHJbaSsrXSA9IGMmdGhpcy5ETTsKLSAgICAgICAgYyA+
Pj0gdGhpcy5EQjsKLSAgICAgIH0KLSAgICAgIGMgKz0gdGhpcy5zOwotICAgIH0KLSAgICBlbHNl
IHsKLSAgICAgIGMgKz0gdGhpcy5zOwotICAgICAgd2hpbGUoaSA8IGEudCkgewotICAgICAgICBj
ICs9IGFbaV07Ci0gICAgICAgIHJbaSsrXSA9IGMmdGhpcy5ETTsKLSAgICAgICAgYyA+Pj0gdGhp
cy5EQjsKLSAgICAgIH0KLSAgICAgIGMgKz0gYS5zOwotICAgIH0KLSAgICByLnMgPSAoYzwwKT8t
MTowOwotICAgIGlmKGMgPiAwKSByW2krK10gPSBjOwotICAgIGVsc2UgaWYoYyA8IC0xKSByW2kr
K10gPSB0aGlzLkRWK2M7Ci0gICAgci50ID0gaTsKLSAgICByLmNsYW1wKCk7Ci0gIH0KLSAgQmln
SW50ZWdlci5wcm90b3R5cGUuZnJvbVJhZGl4ID0gYm5wRnJvbVJhZGl4OwotICBCaWdJbnRlZ2Vy
LnByb3RvdHlwZS5jaHVua1NpemUgPSBibnBDaHVua1NpemU7Ci0gIEJpZ0ludGVnZXIucHJvdG90
eXBlLnNpZ251bSA9IGJuU2lnTnVtOwotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5kTXVsdGlwbHkg
PSBibnBETXVsdGlwbHk7Ci0gIEJpZ0ludGVnZXIucHJvdG90eXBlLmRBZGRPZmZzZXQgPSBibnBE
QWRkT2Zmc2V0OwotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS50b1JhZGl4ID0gYm5wVG9SYWRpeDsK
LSAgQmlnSW50ZWdlci5wcm90b3R5cGUuaW50VmFsdWUgPSBibkludFZhbHVlOwotICBCaWdJbnRl
Z2VyLnByb3RvdHlwZS5hZGRUbyA9IGJucEFkZFRvOwotICAvLz09PT09PT0gZW5kIGpzYm4gPT09
PT09PQotICAvLyBFbXNjcmlwdGVuIHdyYXBwZXIKLSAgdmFyIFdyYXBwZXIgPSB7Ci0gICAgYWJz
OiBmdW5jdGlvbihsLCBoKSB7Ci0gICAgICB2YXIgeCA9IG5ldyBnb29nLm1hdGguTG9uZyhsLCBo
KTsKLSAgICAgIHZhciByZXQ7Ci0gICAgICBpZiAoeC5pc05lZ2F0aXZlKCkpIHsKLSAgICAgICAg
cmV0ID0geC5uZWdhdGUoKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldCA9IHg7Ci0gICAg
ICB9Ci0gICAgICBIRUFQMzJbdGVtcERvdWJsZVB0cj4+Ml0gPSByZXQubG93XzsKLSAgICAgIEhF
QVAzMlt0ZW1wRG91YmxlUHRyKzQ+PjJdID0gcmV0LmhpZ2hfOwotICAgIH0sCi0gICAgZW5zdXJl
VGVtcHM6IGZ1bmN0aW9uKCkgewotICAgICAgaWYgKFdyYXBwZXIuZW5zdXJlZFRlbXBzKSByZXR1
cm47Ci0gICAgICBXcmFwcGVyLmVuc3VyZWRUZW1wcyA9IHRydWU7Ci0gICAgICBXcmFwcGVyLnR3
bzMyID0gbmV3IEJpZ0ludGVnZXIoKTsKLSAgICAgIFdyYXBwZXIudHdvMzIuZnJvbVN0cmluZygn
NDI5NDk2NzI5NicsIDEwKTsKLSAgICAgIFdyYXBwZXIudHdvNjQgPSBuZXcgQmlnSW50ZWdlcigp
OwotICAgICAgV3JhcHBlci50d282NC5mcm9tU3RyaW5nKCcxODQ0Njc0NDA3MzcwOTU1MTYxNics
IDEwKTsKLSAgICAgIFdyYXBwZXIudGVtcDEgPSBuZXcgQmlnSW50ZWdlcigpOwotICAgICAgV3Jh
cHBlci50ZW1wMiA9IG5ldyBCaWdJbnRlZ2VyKCk7Ci0gICAgfSwKLSAgICBsaDJiaWdudW06IGZ1
bmN0aW9uKGwsIGgpIHsKLSAgICAgIHZhciBhID0gbmV3IEJpZ0ludGVnZXIoKTsKLSAgICAgIGEu
ZnJvbVN0cmluZyhoLnRvU3RyaW5nKCksIDEwKTsKLSAgICAgIHZhciBiID0gbmV3IEJpZ0ludGVn
ZXIoKTsKLSAgICAgIGEubXVsdGlwbHlUbyhXcmFwcGVyLnR3bzMyLCBiKTsKLSAgICAgIHZhciBj
ID0gbmV3IEJpZ0ludGVnZXIoKTsKLSAgICAgIGMuZnJvbVN0cmluZyhsLnRvU3RyaW5nKCksIDEw
KTsKLSAgICAgIHZhciBkID0gbmV3IEJpZ0ludGVnZXIoKTsKLSAgICAgIGMuYWRkVG8oYiwgZCk7
Ci0gICAgICByZXR1cm4gZDsKLSAgICB9LAotICAgIHN0cmluZ2lmeTogZnVuY3Rpb24obCwgaCwg
dW5zaWduZWQpIHsKLSAgICAgIHZhciByZXQgPSBuZXcgZ29vZy5tYXRoLkxvbmcobCwgaCkudG9T
dHJpbmcoKTsKLSAgICAgIGlmICh1bnNpZ25lZCAmJiByZXRbMF0gPT0gJy0nKSB7Ci0gICAgICAg
IC8vIHVuc2lnbiBzbG93bHkgdXNpbmcganNibiBiaWdudW1zCi0gICAgICAgIFdyYXBwZXIuZW5z
dXJlVGVtcHMoKTsKLSAgICAgICAgdmFyIGJpZ251bSA9IG5ldyBCaWdJbnRlZ2VyKCk7Ci0gICAg
ICAgIGJpZ251bS5mcm9tU3RyaW5nKHJldCwgMTApOwotICAgICAgICByZXQgPSBuZXcgQmlnSW50
ZWdlcigpOwotICAgICAgICBXcmFwcGVyLnR3bzY0LmFkZFRvKGJpZ251bSwgcmV0KTsKLSAgICAg
ICAgcmV0ID0gcmV0LnRvU3RyaW5nKDEwKTsKLSAgICAgIH0KLSAgICAgIHJldHVybiByZXQ7Ci0g
ICAgfSwKLSAgICBmcm9tU3RyaW5nOiBmdW5jdGlvbihzdHIsIGJhc2UsIG1pbiwgbWF4LCB1bnNp
Z25lZCkgewotICAgICAgV3JhcHBlci5lbnN1cmVUZW1wcygpOwotICAgICAgdmFyIGJpZ251bSA9
IG5ldyBCaWdJbnRlZ2VyKCk7Ci0gICAgICBiaWdudW0uZnJvbVN0cmluZyhzdHIsIGJhc2UpOwot
ICAgICAgdmFyIGJpZ21pbiA9IG5ldyBCaWdJbnRlZ2VyKCk7Ci0gICAgICBiaWdtaW4uZnJvbVN0
cmluZyhtaW4sIDEwKTsKLSAgICAgIHZhciBiaWdtYXggPSBuZXcgQmlnSW50ZWdlcigpOwotICAg
ICAgYmlnbWF4LmZyb21TdHJpbmcobWF4LCAxMCk7Ci0gICAgICBpZiAodW5zaWduZWQgJiYgYmln
bnVtLmNvbXBhcmVUbyhCaWdJbnRlZ2VyLlpFUk8pIDwgMCkgewotICAgICAgICB2YXIgdGVtcCA9
IG5ldyBCaWdJbnRlZ2VyKCk7Ci0gICAgICAgIGJpZ251bS5hZGRUbyhXcmFwcGVyLnR3bzY0LCB0
ZW1wKTsKLSAgICAgICAgYmlnbnVtID0gdGVtcDsKLSAgICAgIH0KLSAgICAgIHZhciBlcnJvciA9
IGZhbHNlOwotICAgICAgaWYgKGJpZ251bS5jb21wYXJlVG8oYmlnbWluKSA8IDApIHsKLSAgICAg
ICAgYmlnbnVtID0gYmlnbWluOwotICAgICAgICBlcnJvciA9IHRydWU7Ci0gICAgICB9IGVsc2Ug
aWYgKGJpZ251bS5jb21wYXJlVG8oYmlnbWF4KSA+IDApIHsKLSAgICAgICAgYmlnbnVtID0gYmln
bWF4OwotICAgICAgICBlcnJvciA9IHRydWU7Ci0gICAgICB9Ci0gICAgICB2YXIgcmV0ID0gZ29v
Zy5tYXRoLkxvbmcuZnJvbVN0cmluZyhiaWdudW0udG9TdHJpbmcoKSk7IC8vIG1pbi1tYXggY2hl
Y2tzIHNob3VsZCBoYXZlIGNsYW1wZWQgdGhpcyB0byBhIHJhbmdlIGdvb2cubWF0aC5Mb25nIGNh
biBoYW5kbGUgd2VsbAotICAgICAgSEVBUDMyW3RlbXBEb3VibGVQdHI+PjJdID0gcmV0Lmxvd187
Ci0gICAgICBIRUFQMzJbdGVtcERvdWJsZVB0cis0Pj4yXSA9IHJldC5oaWdoXzsKLSAgICAgIGlm
IChlcnJvcikgdGhyb3cgJ3JhbmdlIGVycm9yJzsKLSAgICB9Ci0gIH07Ci0gIHJldHVybiBXcmFw
cGVyOwotfSkoKTsKLS8vPT09PT09PSBlbmQgY2xvc3VyZSBpNjQgY29kZSA9PT09PT09Ci0vLyA9
PT0gQXV0by1nZW5lcmF0ZWQgcG9zdGFtYmxlIHNldHVwIGVudHJ5IHN0dWZmID09PQotZnVuY3Rp
b24gRXhpdFN0YXR1cyhzdGF0dXMpIHsKLSAgdGhpcy5uYW1lID0gIkV4aXRTdGF0dXMiOwotICB0
aGlzLm1lc3NhZ2UgPSAiUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggZXhpdCgiICsgc3RhdHVzICsg
IikiOwotICB0aGlzLnN0YXR1cyA9IHN0YXR1czsKLX07Ci1FeGl0U3RhdHVzLnByb3RvdHlwZSA9
IG5ldyBFcnJvcigpOwotRXhpdFN0YXR1cy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBFeGl0U3Rh
dHVzOwotdmFyIGluaXRpYWxTdGFja1RvcDsKLXZhciBwcmVsb2FkU3RhcnRUaW1lID0gbnVsbDsK
LU1vZHVsZVsnY2FsbE1haW4nXSA9IE1vZHVsZS5jYWxsTWFpbiA9IGZ1bmN0aW9uIGNhbGxNYWlu
KGFyZ3MpIHsKLSAgYXNzZXJ0KHJ1bkRlcGVuZGVuY2llcyA9PSAwLCAnY2Fubm90IGNhbGwgbWFp
biB3aGVuIGFzeW5jIGRlcGVuZGVuY2llcyByZW1haW4hIChsaXN0ZW4gb24gX19BVE1BSU5fXykn
KTsKLSAgYXNzZXJ0KF9fQVRQUkVSVU5fXy5sZW5ndGggPT0gMCwgJ2Nhbm5vdCBjYWxsIG1haW4g
d2hlbiBwcmVSdW4gZnVuY3Rpb25zIHJlbWFpbiB0byBiZSBjYWxsZWQnKTsKLSAgYXJncyA9IGFy
Z3MgfHwgW107Ci0gIGlmIChFTlZJUk9OTUVOVF9JU19XRUIgJiYgcHJlbG9hZFN0YXJ0VGltZSAh
PT0gbnVsbCkgewotICAgIC8vTW9kdWxlLnByaW50RXJyKCdwcmVsb2FkIHRpbWU6ICcgKyAoRGF0
ZS5ub3coKSAtIHByZWxvYWRTdGFydFRpbWUpICsgJyBtcycpOwotICB9Ci0gIGVuc3VyZUluaXRS
dW50aW1lKCk7Ci0gIHZhciBhcmdjID0gYXJncy5sZW5ndGgrMTsKLSAgZnVuY3Rpb24gcGFkKCkg
ewotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNC0xOyBpKyspIHsKLSAgICAgIGFyZ3YucHVzaCgw
KTsKLSAgICB9Ci0gIH0KLSAgdmFyIGFyZ3YgPSBbYWxsb2NhdGUoaW50QXJyYXlGcm9tU3RyaW5n
KCIvYmluL3RoaXMucHJvZ3JhbSIpLCAnaTgnLCBBTExPQ19OT1JNQUwpIF07Ci0gIHBhZCgpOwot
ICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ2MtMTsgaSA9IGkgKyAxKSB7Ci0gICAgYXJndi5wdXNo
KGFsbG9jYXRlKGludEFycmF5RnJvbVN0cmluZyhhcmdzW2ldKSwgJ2k4JywgQUxMT0NfTk9STUFM
KSk7Ci0gICAgcGFkKCk7Ci0gIH0KLSAgYXJndi5wdXNoKDApOwotICBhcmd2ID0gYWxsb2NhdGUo
YXJndiwgJ2kzMicsIEFMTE9DX05PUk1BTCk7Ci0gIGluaXRpYWxTdGFja1RvcCA9IFNUQUNLVE9Q
OwotICB0cnkgewotICAgIHZhciByZXQgPSBNb2R1bGVbJ19tYWluJ10oYXJnYywgYXJndiwgMCk7
Ci0gICAgLy8gaWYgd2UncmUgbm90IHJ1bm5pbmcgYW4gZXZlbnRlZCBtYWluIGxvb3AsIGl0J3Mg
dGltZSB0byBleGl0Ci0gICAgaWYgKCFNb2R1bGVbJ25vRXhpdFJ1bnRpbWUnXSkgewotICAgICAg
ZXhpdChyZXQpOwotICAgIH0KLSAgfQotICBjYXRjaChlKSB7Ci0gICAgaWYgKGUgaW5zdGFuY2Vv
ZiBFeGl0U3RhdHVzKSB7Ci0gICAgICAvLyBleGl0KCkgdGhyb3dzIHRoaXMgb25jZSBpdCdzIGRv
bmUgdG8gbWFrZSBzdXJlIGV4ZWN1dGlvbgotICAgICAgLy8gaGFzIGJlZW4gc3RvcHBlZCBjb21w
bGV0ZWx5Ci0gICAgICByZXR1cm47Ci0gICAgfSBlbHNlIGlmIChlID09ICdTaW11bGF0ZUluZmlu
aXRlTG9vcCcpIHsKLSAgICAgIC8vIHJ1bm5pbmcgYW4gZXZlbnRlZCBtYWluIGxvb3AsIGRvbid0
IGltbWVkaWF0ZWx5IGV4aXQKLSAgICAgIE1vZHVsZVsnbm9FeGl0UnVudGltZSddID0gdHJ1ZTsK
LSAgICAgIHJldHVybjsKLSAgICB9IGVsc2UgewotICAgICAgdGhyb3cgZTsKLSAgICB9Ci0gIH0K
LX0KLWZ1bmN0aW9uIHJ1bihhcmdzKSB7Ci0gIGFyZ3MgPSBhcmdzIHx8IE1vZHVsZVsnYXJndW1l
bnRzJ107Ci0gIGlmIChwcmVsb2FkU3RhcnRUaW1lID09PSBudWxsKSBwcmVsb2FkU3RhcnRUaW1l
ID0gRGF0ZS5ub3coKTsKLSAgaWYgKHJ1bkRlcGVuZGVuY2llcyA+IDApIHsKLSAgICAvL01vZHVs
ZS5wcmludEVycigncnVuKCkgY2FsbGVkLCBidXQgZGVwZW5kZW5jaWVzIHJlbWFpbiwgc28gbm90
IHJ1bm5pbmcnKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgcHJlUnVuKCk7Ci0gIGlmIChydW5EZXBl
bmRlbmNpZXMgPiAwKSB7Ci0gICAgLy8gYSBwcmVSdW4gYWRkZWQgYSBkZXBlbmRlbmN5LCBydW4g
d2lsbCBiZSBjYWxsZWQgbGF0ZXIKLSAgICByZXR1cm47Ci0gIH0KLSAgZnVuY3Rpb24gZG9SdW4o
KSB7Ci0gICAgZW5zdXJlSW5pdFJ1bnRpbWUoKTsKLSAgICBwcmVNYWluKCk7Ci0gICAgY2FsbGVk
UnVuID0gdHJ1ZTsKLSAgICBpZiAoTW9kdWxlWydfbWFpbiddICYmIHNob3VsZFJ1bk5vdykgewot
ICAgICAgTW9kdWxlWydjYWxsTWFpbiddKGFyZ3MpOwotICAgIH0KLSAgICBwb3N0UnVuKCk7Ci0g
IH0KLSAgaWYgKE1vZHVsZVsnc2V0U3RhdHVzJ10pIHsKLSAgICBNb2R1bGVbJ3NldFN0YXR1cydd
KCdSdW5uaW5nLi4uJyk7Ci0gICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgIHNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIE1vZHVsZVsnc2V0U3RhdHVzJ10oJycpOwotICAg
ICAgfSwgMSk7Ci0gICAgICBpZiAoIUFCT1JUKSBkb1J1bigpOwotICAgIH0sIDEpOwotICB9IGVs
c2UgewotICAgIGRvUnVuKCk7Ci0gIH0KLX0KLU1vZHVsZVsncnVuJ10gPSBNb2R1bGUucnVuID0g
cnVuOwotZnVuY3Rpb24gZXhpdChzdGF0dXMpIHsKLSAgQUJPUlQgPSB0cnVlOwotICBFWElUU1RB
VFVTID0gc3RhdHVzOwotICBTVEFDS1RPUCA9IGluaXRpYWxTdGFja1RvcDsKLSAgLy8gZXhpdCB0
aGUgcnVudGltZQotICBleGl0UnVudGltZSgpOwotICAvLyB0aHJvdyBhbiBleGNlcHRpb24gdG8g
aGFsdCB0aGUgY3VycmVudCBleGVjdXRpb24KLSAgdGhyb3cgbmV3IEV4aXRTdGF0dXMoc3RhdHVz
KTsKLX0KLU1vZHVsZVsnZXhpdCddID0gTW9kdWxlLmV4aXQgPSBleGl0OwotZnVuY3Rpb24gYWJv
cnQodGV4dCkgewotICBpZiAodGV4dCkgewotICAgIE1vZHVsZS5wcmludCh0ZXh0KTsKLSAgICBN
b2R1bGUucHJpbnRFcnIodGV4dCk7Ci0gIH0KLSAgQUJPUlQgPSB0cnVlOwotICBFWElUU1RBVFVT
ID0gMTsKLSAgdGhyb3cgJ2Fib3J0KCkgYXQgJyArIChuZXcgRXJyb3IoKS5zdGFjayk7Ci19Ci1N
b2R1bGVbJ2Fib3J0J10gPSBNb2R1bGUuYWJvcnQgPSBhYm9ydDsKLS8vIHt7UFJFX1JVTl9BRERJ
VElPTlN9fQotaWYgKE1vZHVsZVsncHJlSW5pdCddKSB7Ci0gIGlmICh0eXBlb2YgTW9kdWxlWydw
cmVJbml0J10gPT0gJ2Z1bmN0aW9uJykgTW9kdWxlWydwcmVJbml0J10gPSBbTW9kdWxlWydwcmVJ
bml0J11dOwotICB3aGlsZSAoTW9kdWxlWydwcmVJbml0J10ubGVuZ3RoID4gMCkgewotICAgIE1v
ZHVsZVsncHJlSW5pdCddLnBvcCgpKCk7Ci0gIH0KLX0KLS8vIHNob3VsZFJ1bk5vdyByZWZlcnMg
dG8gY2FsbGluZyBtYWluKCksIG5vdCBydW4oKS4KLXZhciBzaG91bGRSdW5Ob3cgPSB0cnVlOwot
aWYgKE1vZHVsZVsnbm9Jbml0aWFsUnVuJ10pIHsKLSAgc2hvdWxkUnVuTm93ID0gZmFsc2U7Ci19
Ci1ydW4oKTsKLS8vIHt7UE9TVF9SVU5fQURESVRJT05TfX0KLS8vIHt7TU9EVUxFX0FERElUSU9O
U319CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3N0ZXBhbm92X2NvbnRhaW5l
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3N0ZXBhbm92X2NvbnRhaW5l
ci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwZmI2ZjBhODQy
YmRiMTA3OTJiOTU1ZjMxMmQ2ZGNkNzg1MTMyYTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zdGVwYW5vdl9jb250
YWluZXItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotSlNSZWdy
ZXNzL3N0ZXBhbm92X2NvbnRhaW5lcgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQot
UEFTUyBubyBleGNlcHRpb24gdGhyb3duCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9z
dGVwYW5vdl9jb250YWluZXIuaHRtbCBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc3RlcGFub3Zf
Y29udGFpbmVyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViOTVmNzUyMTIx
MGM0YjY2YzcwZDcyZGUyZTI1ZDU2MTE2OTc4OTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zdGVwYW5vdl9jb250
YWluZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZWdyZXNzLXByZS5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3N0ZXBhbm92X2NvbnRhaW5lci5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3JlZ3Jlc3MtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMv
ZGZnLWFkZC1ub3QtbnVtYmVyLmpzIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2RmZy1h
ZGQtbm90LW51bWJlci5qcwppbmRleCAxMmMxNGQwODdhMTk0ODQ4YzQ1ZjUxOTkzZmU5YjYwODAz
NGY2Yjc5Li5kNDM1YzYyNmNmMGJmNGM1ZjE2YmMyYzIxMzUwYWMyNjIxM2I0N2FhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvZGZnLWFkZC1ub3QtbnVtYmVyLmpzCisr
KyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9kZmctYWRkLW5vdC1udW1iZXIuanMKQEAg
LTEsMyArMSw2IEBACisvLyBUaGlzIHRlc3Qgd29uJ3QgZ2V0IGludG8gdGhlIEZUTCBjdXJyZW50
bHksIHNpbmNlIHRoZSBmb28oKSBmdW5jdGlvbiBqdXN0IGV4aXRzIGEgbG90LgorLy9AIG5vRlRM
UnVuTGF5b3V0VGVzdAorCiBkZXNjcmlwdGlvbigKICJUZXN0cyB0aGF0IGFkZGluZyB0aGluZ3Mg
dGhhdCBhcmVuJ3QgbnVtYmVycyB1c2luZyArKyBkb2VzIG5vdCBjcmFzaCBvciBnZW5lcmF0ZSBi
b2d1cyBjb2RlLiIKICk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMv
bGFyZ2UtZXhwcmVzc2lvbnMuanMgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvbGFyZ2Ut
ZXhwcmVzc2lvbnMuanMKaW5kZXggNTI0NzJiYzMxYWJlYjgyYWU3YjFkNjA3ZTQ3YjYyYWRjZTA4
ODc1MS4uNDVkYmNiN2JlNGExNmYyYjMyMWViOWVjZWYwNzYxZTM5YzkwOThmMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2xhcmdlLWV4cHJlc3Npb25zLmpzCisrKyBi
L0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9sYXJnZS1leHByZXNzaW9ucy5qcwpAQCAtMzAs
NSArMzAsNSBAQCBmdW5jdGlvbiByZXBlYXRlZFN0cmluZyh2YWx1ZSwgY291bnQpCiAKIHNob3Vs
ZEJlKCdldmFsKHJlcGVhdGVkRXhwcmVzc2lvbigibGV0dGVyQSIsICIrIiwgMTAwKSknLCAncmVw
ZWF0ZWRTdHJpbmcoImEiLCAxMDApJyk7CiBzaG91bGRCZSgnZXZhbChyZXBlYXRlZEV4cHJlc3Np
b24oImxldHRlckEiLCAiKyIsIDEwMDApKScsICdyZXBlYXRlZFN0cmluZygiYSIsIDEwMDApJyk7
Ci1zaG91bGRCZSgnZXZhbChyZXBlYXRlZEV4cHJlc3Npb24oImxldHRlckEiLCAiKyIsIDEwMDAw
KSknLCAncmVwZWF0ZWRTdHJpbmcoImEiLCAxMDAwMCknKTsKK3Nob3VsZFRocm93KCdldmFsKHJl
cGVhdGVkRXhwcmVzc2lvbigibGV0dGVyQSIsICIrIiwgMTAwMDApKScpOwogc2hvdWxkVGhyb3co
J2V2YWwocmVwZWF0ZWRFeHByZXNzaW9uKCJsZXR0ZXJBIiwgIisiLCAxMDAwMDApKScpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222439</attachid>
            <date>2014-01-28 06:45:14 -0800</date>
            <delta_ts>2014-01-28 09:54:05 -0800</delta_ts>
            <desc>patch for EWS, integrated to the original patch with one more fix</desc>
            <filename>bug-127773-20140128154715.patch</filename>
            <type>text/plain</type>
            <size>1619537</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyOTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
YjYzYTI3ZmU4NTUwZjJjMDJhMGU4OTZjY2I5NWIyOGI5ODNiOGY0Li5mMmU4NWVmYjI0YmQwNjMy
NjE1MzAwYTBmZDA0YTEyZDAyNWIyMmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxNC0wMS0yOCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgorCisgICAgICAgIEFkZCBuZXcgZmlsZXMgdG8gdGhlIEVGTCBhbmQgR1RLIGJ1aWxkIHN5
c3RlbXMgZm9yIHRoZSBqc0NTdGFjayBicmFuY2ggbWVyZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzc3MworCisgICAgICAgIEZvciBFV1MgdGVz
dCBvbmx5ISBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9hdHRhY2htZW50LmNnaT9pZD0yMjI0MzQg
YW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL2F0dGFjaG1lbnQuY2dpP2lkPTIyMjQwNiAKKyAg
ICAgICAgaW4gb25lIHBhdGNoIHdpdGggb25lIG1vcmUgZml4IG1lbnRpb25lZCBpbiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NzYzI2MxNAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAyMDE0LTAxLTI3ICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgLVtKU0NvbnRleHQgZXZhbHV0ZVNjcmlw
dDpdIGNhbGxzIEpTRXZhbHV0ZVNjcmlwdCB3aXRoIHN0YXJ0aW5nTGluZU51bWJlciAwLCBsYXRl
ciBpbnRlcnByZXRlZCBhcyBhIG9uZUJhc2VkSW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGVkODY0YjczY2VmZjRiNDVjMDFm
ZmFjZWU2MjgxNmQzMGU2Y2E1MTUuLjBmYzQ0OTk2NTExYjE3NTU0NzA5ZWE2MGU3ZjdmZWM4YmFm
MjZkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTQtMDEtMjggIE1hcmsgSGFobmVuYmVyZyAg
PG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBNZXJnZSB0aGUganNDU3RhY2sgYnJh
bmNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc3
NjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0
Zi9CYWdUb0hhc2hNYXAuaDoKKyAgICAgICAgKFdURjo6dG9IYXNoTWFwKToKKyAgICAgICAgKiB3
dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB3dGYvU3RhY2tCb3VuZHMuaDoKKyAgICAgICAgKFdU
Rjo6U3RhY2tCb3VuZHM6OnJlY3Vyc2lvbkxpbWl0KToKKwogMjAxNC0wMS0yNyAgSm9zZXBoIFBl
Y29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkNvcmU6IEVuYWJsZSAt
V2ltcGxpY2l0LWZhbGx0aHJvdWdoIGFuZCBhZGQgRkFMTFRIUk9VR0ggYW5ub3RhdGlvbiB3aGVy
ZSBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0YWRiY2FmNWVjOTBlM2U2YzFmNTM0NGI4YTc1MWE3MDkx
YzBkNmU2Li4zY2ZjMmZlNjQxYjkyOTcyYjc5NWNlYTA5ODY3OTZlNmFmYjkyOWE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTQtMDEtMjggIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhu
ZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBNZXJnZSB0aGUganNDU3RhY2sgYnJhbmNoCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc3NjMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVz
dHMgKE9PUFMhKS4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db250
ZW50U2VhcmNoVXRpbGl0aWVzLmg6CisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVj
dG9yL1NjcmlwdEJyZWFrcG9pbnQuaDoKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy9pbnNw
ZWN0b3IvU2NyaXB0RGVidWdMaXN0ZW5lci5oOgorICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJz
L3J1bnRpbWUvRXJyb3JIYW5kbGluZ1Njb3BlLmg6IEFkZGVkLgorICAgICAgICAqIEZvcndhcmRp
bmdIZWFkZXJzL3lhcnIvUmVndWxhckV4cHJlc3Npb24uaDoKKyAgICAgICAgKiBXZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6cmVwb3J0RXhjZXB0aW9uKToKKwogMjAxNC0wMS0yOCAgTWFy
ayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcv
Yi8xMjc3Njc+IERpc2FibGUgc29tZSBkZXByZWNhdGlvbiB3YXJuaW5ncyB0byBmaXggdGhlIGJ1
aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGY0MmEzOWRhZmQ5M2Nl
NDBiMmRkN2FlNjhlZmYwNzU1ZmMxNDM4ZDguLmFlZGQ4MmVhMWJjMjEyMWNiYzQ2ZDBkM2I4NmE3
YjkwNTdhYWVmZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTI1NCw2
ICsyNTQsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGludGVycHJldGVyL1N0
YWNrVmlzaXRvci5jcHAKICAgICBpbnRlcnByZXRlci9WTUluc3BlY3Rvci5jcHAKIAorICAgIGpp
dC9Bcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5jcHAKICAgICBqaXQvQXNzZW1ibHlIZWxwZXJz
LmNwcAogICAgIGppdC9DbG9zdXJlQ2FsbFN0dWJSb3V0aW5lLmNwcAogICAgIGppdC9FeGVjdXRh
YmxlQWxsb2NhdG9yLmNwcApAQCAtMjc4LDYgKzI3OSw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9T
T1VSQ0VTCiAgICAgaml0L0pJVFN0dWJzLmNwcAogICAgIGppdC9KSVRUaHVua3MuY3BwCiAgICAg
aml0L0pJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmNwcAorICAgIGppdC9SZWdp
c3RlclByZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuY3BwCiAgICAgaml0L1JlZ2lzdGVyU2V0
LmNwcAogICAgIGppdC9SZXBhdGNoLmNwcAogICAgIGppdC9UZW1wUmVnaXN0ZXJTZXQuY3BwCkBA
IC0zNDAsNiArMzQyLDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBydW50aW1l
L0R1bXBDb250ZXh0LmNwcAogICAgIHJ1bnRpbWUvRXJyb3IuY3BwCiAgICAgcnVudGltZS9FcnJv
ckNvbnN0cnVjdG9yLmNwcAorICAgIHJ1bnRpbWUvRXJyb3JIYW5kbGluZ1Njb3BlLmNwcAogICAg
IHJ1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKICAgICBydW50aW1lL0Vycm9yUHJvdG90eXBlLmNw
cAogICAgIHJ1bnRpbWUvRXhjZXB0aW9uSGVscGVycy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZDA2MGI2YThlYTM3Y2VlMjc5MTQ3ZjMwMzk2NTc3
MmQwYmQyZjY0Ny4uN2Q1ZGYzYzYxODg3OTE4NDFmOWY2YmQxMGE2ZTg4ZTc5Yjc2N2E2ZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTkxLDYgKzkxLDcg
QEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaCBcCiAJU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oIFwKKwlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmggXAog
CVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTUlQU0Fzc2VtYmxlci5oIFwKIAlTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZmZXIuaCBcCiAJU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9TSDRBc3NlbWJsZXIuaCBcCkBAIC02OTEsNiArNjkyLDgg
QEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL1ZNSW5zcGVjdG9yLmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL1ZNSW5zcGVjdG9yLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZVByZWZpeC5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0FyaXR5Q2hlY2tGYWls
UmV0dXJuVGh1bmtzLmggXAorCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXJpdHlDaGVja0Zh
aWxSZXR1cm5UaHVua3MuY3BwIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5
SGVscGVycy5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJz
LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmggXApAQCAtNzQ0
LDYgKzc0Nyw4IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRXcml0ZUJhcnJpZXIuaCBcCiAJU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KU0ludGVyZmFjZUpJVC5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L1JlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdlbmVyYXRvci5oIFwKKwlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdlbmVyYXRvci5jcHAg
XAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJTZXQuY3BwIFwKIAlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyU2V0LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvUmVwYXRjaC5jcHAgXApAQCAtOTA0LDYgKzkwOSw4IEBAIGphdmFzY3JpcHRjb3JlX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0
b3IuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3IuY3BwIFwKIAlTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvci5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9FcnJvckhhbmRsaW5nU2NvcGUuY3BwIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9FcnJvckhhbmRsaW5nU2NvcGUuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0Vycm9ySW5zdGFuY2UuaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3JQcm90b3R5cGUuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5vcmRlciBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5v
cmRlcgppbmRleCA1ZDM0MjE4ZDYxOTVhMGYxMTg0OTZlMzkwNmRmY2E2OTIzZjZmNDhkLi4yZjIy
NWI1MjhkYzlkMDljNGE3MjlhNWFkYjNiM2M2ZTgyZjdjZjU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUub3JkZXIKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLm9yZGVyCkBAIC00OTgxLDcgKzQ5ODEsNiBAQCBfbGxpbnRf
c2xvd19wYXRoX2hhbmRsZV93YXRjaGRvZ190aW1lcgogX2xsaW50X3Nsb3dfcGF0aF9kZWJ1Zwog
X2xsaW50X3Nsb3dfcGF0aF9wcm9maWxlX3dpbGxfY2FsbAogX2xsaW50X3Nsb3dfcGF0aF9wcm9m
aWxlX2RpZF9jYWxsCi1fbGxpbnRfdGhyb3dfZnJvbV9uYXRpdmVfY2FsbAogX2xsaW50X2JlZ2lu
CiBfbGxpbnRfcHJvZ3JhbV9wcm9sb2d1ZQogX2xsaW50X2V2YWxfcHJvbG9ndWUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4
cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCmluZGV4IGNmNGMyZWMyNDNiNTg0OGRkMWJhMzA4
NjlmZTdkZjRlNzhhMjk3MzUuLjNjZDZlYTkwYTExYTdlYmZlM2E0ZWVkYWUzZDM0ODA3YzI3Y2Rj
YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagpAQCAtNTg5LDYgKzU4
OSw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXER1bXBDb250ZXh0LmNw
cCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcRXJyb3IuY3BwIiAvPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxFcnJvckNvbnN0cnVjdG9yLmNwcCIg
Lz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcRXJyb3JIYW5kbGluZ1Njb3Bl
LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcRXJyb3JJbnN0YW5j
ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEVycm9yUHJvdG90
eXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcRXhjZXB0aW9u
SGVscGVycy5jcHAiIC8+CkBAIC03OTEsNiArNzkyLDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGFzc2VtYmxlclxNYWNyb0Fzc2VtYmxlclg4Ni5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cYXNzZW1ibGVyXE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxhc3NlbWJsZXJcTWFjcm9Bc3NlbWJsZXJYODZfNjQuaCIg
Lz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGFzc2VtYmxlclxNYXhGcmFtZUV4dGVudEZv
clNsb3dQYXRoQ2FsbC5oIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxhc3NlbWJsZXJc
UmVwYXRjaEJ1ZmZlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYXNzZW1ibGVy
XFg4NkFzc2VtYmxlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3Nc
U2NyaXB0RnVuY3Rpb25DYWxsLmgiIC8+CkBAIC0xMjA0LDYgKzEyMDYsNyBAQAogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxEdW1wQ29udGV4dC5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxFcnJvci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccnVudGltZVxFcnJvckNvbnN0cnVjdG9yLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxydW50aW1lXEVycm9ySGFuZGxpbmdTY29wZS5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccnVudGltZVxFcnJvckluc3RhbmNlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxydW50aW1lXEVycm9yUHJvdG90eXBlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxydW50aW1lXEV4Y2VwdGlvbkhlbHBlcnMuaCIgLz4KQEAgLTE0MDYsMjIgKzE0
MDksNiBAQAogICAgICAgPEZpbGVUeXBlPkRvY3VtZW50PC9GaWxlVHlwZT4KICAgICA8L05vbmU+
CiAgIDwvSXRlbUdyb3VwPgotICA8SXRlbUdyb3VwPgotICAgIDxNQVNNIEluY2x1ZGU9Ii4uXGpp
dFxKSVRTdHVic01TVkM2NC5hc20iPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWly
b3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2
NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgIDwvTUFTTT4KLSAgPC9JdGVtR3JvdXA+CiAgIDxJbXBvcnQg
UHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CiAgIDxJ
bXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0
PSIkKFZDVGFyZ2V0c1BhdGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ov
SmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4
IGU4MTljZWQ4ODJlYWZjODA2ZGM3Y2EzMmRkYTAwMDA1MjczYjNhMDguLjg3ZTEyYTQ3MTU4YmI2
MjI0ZDQ5ZmQ2MjI5NzhjNGE5YzQ0MzVhNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVy
cworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTUzNyw2ICs1MzcsOSBAQAogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxFcnJvckNvbnN0cnVjdG9yLmNwcCI+CiAgICAgICA8
RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcRXJyb3JIYW5kbGluZ1Njb3BlLmNwcCI+CisgICAgICA8Rmls
dGVyPnJ1bnRpbWU8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcRXJyb3JJbnN0YW5jZS5jcHAiPgogICAgICAgPEZpbHRlcj5ydW50
aW1lPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xNDQyLDYgKzE0NDUsOSBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYXNzZW1ibGVyXE1hY3JvQXNzZW1ibGVyWDg2XzY0Lmgi
PgogICAgICAgPEZpbHRlcj5hc3NlbWJsZXI8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGFzc2VtYmxlclxNYXhGcmFtZUV4dGVudEZvclNsb3dQ
YXRoQ2FsbC5oIj4KKyAgICAgIDxGaWx0ZXI+YXNzZW1ibGVyPC9GaWx0ZXI+CisgICAgPC9DbElu
Y2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxhc3NlbWJsZXJcUmVwYXRjaEJ1ZmZl
ci5oIj4KICAgICAgIDxGaWx0ZXI+YXNzZW1ibGVyPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
CkBAIC0yMTI5LDYgKzIxMzUsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGlt
ZVxFcnJvckNvbnN0cnVjdG9yLmgiPgogICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+CiAg
ICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEVycm9y
SGFuZGxpbmdTY29wZS5oIj4KKyAgICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgorICAgIDwv
Q2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxFcnJvckluc3Rh
bmNlLmgiPgogICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+
CkBAIC0zMjk1LDkgKzMzMDQsNCBAQAogICAgIDxOb25lIEluY2x1ZGU9IkphdmFTY3JpcHRDb3Jl
UG9zdEJ1aWxkLmNtZCIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSJKYXZhU2NyaXB0Q29yZVByZUJ1
aWxkLmNtZCIgLz4KICAgPC9JdGVtR3JvdXA+Ci0gIDxJdGVtR3JvdXA+Ci0gICAgPE1BU00gSW5j
bHVkZT0iLi5caml0XEpJVFN0dWJzTVNWQzY0LmFzbSI+Ci0gICAgICA8RmlsdGVyPmppdDwvRmls
dGVyPgotICAgIDwvTUFTTT4KLSAgPC9JdGVtR3JvdXA+CiA8L1Byb2plY3Q+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDA3MDczZDc4ZjNmNTM5OTdkYTZjYjVhY2QyYzM4Y2Y5ZjA2
MGQ2MjguLjI3ZTg3Njc0MGE5NjRiMDI4OTg0ZWQ2NzgxNjE4MjBhNWRjZjc3YzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMTAsNiArMjEwLDcgQEAKIAkJMEYzOEIwMTkxN0NG
RTc1NTAwQjE0NEQzIC8qIERGR0NvbXBpbGF0aW9uTW9kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjM4QjAxNTE3Q0ZFNzU1MDBCMTQ0RDMgLyog
REZHQ29tcGlsYXRpb25Nb2RlLmNwcCAqLzsgfTsKIAkJMEYzOEIwMUExN0NGRTc1NTAwQjE0NEQz
IC8qIERGR0NvbXBpbGF0aW9uTW9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEYzOEIwMTYxN0NGRTc1NTAwQjE0NEQzIC8qIERGR0NvbXBpbGF0aW9u
TW9kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTBGM0FDNzUyMTgzRUExMDQwMDMyMDI5RiAvKiBTdGFja0FsaWdubWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYzQUM3NTExODNFQTEwNDAwMzIw
MjlGIC8qIFN0YWNrQWxpZ25tZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJMEYzQUM3NTQxODhFNUVDODAwMzIwMjlGIC8qIEV4aXRpbmdKSVRU
eXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjNB
Qzc1MzE4OEU1RUM4MDAzMjAyOUYgLyogRXhpdGluZ0pJVFR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjNCM0ExQTE1M0U2OEYyMDAzRUQw
RkYgLyogREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYzQjNBMTcxNTNFNjhFRjAwM0VEMEZGIC8qIERGR0Nv
bnN0YW50Rm9sZGluZ1BoYXNlLmNwcCAqLzsgfTsKIAkJMEYzQjNBMUIxNTNFNjhGNDAwM0VEMEZG
IC8qIERGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjNCM0ExODE1M0U2OEVGMDAzRUQwRkYgLyogREZHQ29uc3Rh
bnRGb2xkaW5nUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkwRjNCM0EyNzE1NDRDOTk1MDAzRUQwRkYgLyogREZHQ0ZHU2ltcGxpZmljYXRp
b25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjNCM0EyNDE1NDRDOTkxMDAzRUQwRkYgLyogREZHQ0ZHU2ltcGxpZmljYXRpb25QaGFzZS5j
cHAgKi87IH07CkBAIC0yMzYsNiArMjM3LDEwIEBACiAJCTBGNDY4MEQ1MTRCQkQyNEIwMEJGRTI3
MiAvKiBIb3N0Q2FsbFJldHVyblZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjQ2ODBEMTE0QkJDNUY4MDBCRkUyNzIgLyogSG9zdENhbGxSZXR1
cm5WYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTBGNDg1MzIxMTg3NzUwNTYwMDgzQjY4NyAvKiBERkdBcml0aE1vZGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0ODUzMUYxODc3NTA1NjAw
ODNCNjg3IC8qIERGR0FyaXRoTW9kZS5jcHAgKi87IH07CiAJCTBGNDg1MzIyMTg3NzUwNTYwMDgz
QjY4NyAvKiBERkdBcml0aE1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNDg1MzIwMTg3NzUwNTYwMDgzQjY4NyAvKiBERkdBcml0aE1vZGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjQ4NTMy
NzE4N0RGREVDMDA4M0I2ODcgLyogRlRMQXZhaWxhYmxlUmVjb3ZlcnkuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0ODUzMjMxODdERkRFQzAwODNC
Njg3IC8qIEZUTEF2YWlsYWJsZVJlY292ZXJ5LmNwcCAqLzsgfTsKKwkJMEY0ODUzMjgxODdERkRF
QzAwODNCNjg3IC8qIEZUTEF2YWlsYWJsZVJlY292ZXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ4NTMyNDE4N0RGREVDMDA4M0I2ODcgLyogRlRM
QXZhaWxhYmxlUmVjb3ZlcnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQkwRjQ4NTMyOTE4N0RGREVDMDA4M0I2ODcgLyogRlRMUmVjb3ZlcnlPcGNv
ZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0
ODUzMjUxODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmNwcCAqLzsgfTsKKwkJ
MEY0ODUzMkExODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ4NTMyNjE4N0RGREVDMDA4
M0I2ODcgLyogRlRMUmVjb3ZlcnlPcGNvZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjQ5M0FGQTE2RDBDQUQzMDA4NDUwOEIgLyogU291cmNl
UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY0OTNBRjgxNkQwQ0FEMTAwODQ1MDhCIC8qIFNvdXJjZVByb3ZpZGVyLmNwcCAqLzsgfTsK
IAkJMEY0Qjk0REMxN0I5RjA3NTAwREQwM0E0IC8qIFR5cGVkQXJyYXlJbmxpbmVzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjRCOTREQjE3QjlGMDc1
MDBERDAzQTQgLyogVHlwZWRBcnJheUlubGluZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjU1NDFCMTE2MTNDMUZCMDBDRTNFMjUgLyogU3Bl
Y2lhbFBvaW50ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMEY1NTQxQUYxNjEzQzFGQjAwQ0UzRTI1IC8qIFNwZWNpYWxQb2ludGVyLmNwcCAqLzsg
fTsKQEAgLTI0OCw2ICsyNTMsOCBAQAogCQkwRjU2QTFENTE1MDAxQ0Y0MDAyOTkyQjEgLyogRXhl
Y3V0aW9uQ291bnRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjU2QTFENDE1MDAxQ0YyMDAyOTkyQjEgLyogRXhlY3V0aW9uQ291bnRlci5jcHAg
Ki87IH07CiAJCTBGNTcyRDRGMTY4NzlGREQwMEU1N0ZCRCAvKiBUaHVua0dlbmVyYXRvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1NzJENEQxNjg3
OUZEQjAwRTU3RkJEIC8qIFRodW5rR2VuZXJhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY1QTUyRDAxN0FERDcxNzAwOEVDQjJEIC8qIENv
cHlUb2tlbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MEY1QTUyQ0YxN0FERDcxNzAwOEVDQjJEIC8qIENvcHlUb2tlbi5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNUE2MjgzMTg4Qzk4RDQwMDcyQzlE
RiAvKiBGVExWYWx1ZVJhbmdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNUE2MjgxMTg4Qzk4RDQwMDcyQzlERiAvKiBGVExWYWx1ZVJhbmdlLmNw
cCAqLzsgfTsKKwkJMEY1QTYyODQxODhDOThENDAwNzJDOURGIC8qIEZUTFZhbHVlUmFuZ2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNUE2MjgyMTg4
Qzk4RDQwMDcyQzlERiAvKiBGVExWYWx1ZVJhbmdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY1RUY5MUUxNjg3OEY3QTAwM0U1QzI1IC8qIEpJ
VFRodW5rcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjVFRjkxQjE2ODc4Rjc4MDAzRTVDMjUgLyogSklUVGh1bmtzLmNwcCAqLzsgfTsKIAkJMEY1
RUY5MUYxNjg3OEY3RDAwM0U1QzI1IC8qIEpJVFRodW5rcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1RUY5MUMxNjg3OEY3ODAwM0U1QzI1IC8qIEpJ
VFRodW5rcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTBGNUYwOENGMTQ2Qzc2MzMwMDA0NzJBOSAvKiBVbmNvbmRpdGlvbmFsRmluYWxpemVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjVGMDhDRTE0
NkM3NjJGMDAwNDcyQTkgLyogVW5jb25kaXRpb25hbEZpbmFsaXplci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yNjksNiArMjc2LDE4IEBACiAJ
CTBGNjY2RUNEMTgzNkIzN0UwMEQwMTdGMSAvKiBERkdSZXN1cnJlY3Rpb25Gb3JWYWxpZGF0aW9u
UGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
NjY2RUNCMTgzNkIzN0UwMEQwMTdGMSAvKiBERkdSZXN1cnJlY3Rpb25Gb3JWYWxpZGF0aW9uUGhh
c2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkw
RjY2RTE2QjE0REYzRjE2MDBCN0IyRTQgLyogREZHQWRqYWNlbmN5TGlzdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2NkUxNjgxNERGM0YxMzAwQjdC
MkU0IC8qIERGR0FkamFjZW5jeUxpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQkwRjY2RTE2QzE0REYzRjE2MDBCN0IyRTQgLyogREZHRWRnZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2NkUxNjkx
NERGM0YxMzAwQjdCMkU0IC8qIERGR0VkZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQkwRjZCMUNCNTE4NUZDOUU5MDA4NDVEOTcgLyogRlRMSlND
YWxsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
NkIxQ0IzMTg1RkM5RTkwMDg0NUQ5NyAvKiBGVExKU0NhbGwuY3BwICovOyB9OworCQkwRjZCMUNC
NjE4NUZDOUU5MDA4NDVEOTcgLyogRlRMSlNDYWxsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjZCMUNCNDE4NUZDOUU5MDA4NDVEOTcgLyogRlRMSlND
YWxsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
MEY2QjFDQjkxODYxMjQ0QzAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tNb2RlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjZCMUNCNzE4NjEyNDRDMDA4NDVE
OTcgLyogQXJpdHlDaGVja01vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQkwRjZCMUNCQTE4NjEyNDRDMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVz
ZXJ2YXRpb25Nb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwRjZCMUNCODE4NjEyNDRDMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2Rl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2
QjFDQkQxODYxMjQ2QTAwODQ1RDk3IC8qIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdlbmVy
YXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjZCMUNCQjE4NjEyNDZBMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2Vu
ZXJhdG9yLmNwcCAqLzsgfTsKKwkJMEY2QjFDQkUxODYxMjQ2QTAwODQ1RDk3IC8qIFJlZ2lzdGVy
UHJlc2VydmF0aW9uV3JhcHBlckdlbmVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2QjFDQkMxODYxMjQ2QTAwODQ1RDk3IC8qIFJlZ2lzdGVy
UHJlc2VydmF0aW9uV3JhcHBlckdlbmVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExS
ZWdpc3RlckF0T2Zmc2V0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGNkIxQ0JGMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0
LmNwcCAqLzsgfTsKKwkJMEY2QjFDQzQxODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFJlZ2lzdGVyQXRP
ZmZzZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
NkIxQ0MwMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMEY2QjFDQzUxODYyQzQ3
ODAwODQ1RDk3IC8qIEZUTFVud2luZEluZm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2QjFDQzExODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFVud2lu
ZEluZm8uY3BwICovOyB9OworCQkwRjZCMUNDNjE4NjJDNDc4MDA4NDVEOTcgLyogRlRMVW53aW5k
SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2
QjFDQzIxODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFVud2luZEluZm8uaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjZCMUNDOTE4NjQxREY4MDA4NDVE
OTcgLyogQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2QjFDQzcxODY0MURGODAwODQ1RDk3IC8qIEFy
aXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmNwcCAqLzsgfTsKKwkJMEY2QjFDQ0ExODY0MURGODAw
ODQ1RDk3IC8qIEFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjZCMUNDODE4NjQxREY4MDA4NDVEOTcgLyog
QXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjcwMjVBOTE3MTRCMEZBMDAzODJDMEUgLyogREZHT1NS
RXhpdENvbXBpbGVyQ29tbW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNzAyNUE3MTcxNEIwRjgwMDM4MkMwRSAvKiBERkdPU1JFeGl0Q29tcGls
ZXJDb21tb24uY3BwICovOyB9OwogCQkwRjcwMjVBQTE3MTRCMEZDMDAzODJDMEUgLyogREZHT1NS
RXhpdENvbXBpbGVyQ29tbW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjcwMjVBODE3MTRCMEY4MDAzODJDMEUgLyogREZHT1NSRXhpdENvbXBpbGVy
Q29tbW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMEY3MTRDQTQxNkVBOTJGMDAwRjNFQkVCIC8qIERGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhh
c2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY3
MTRDQTExNkVBOTJFRDAwRjNFQkVCIC8qIERGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuY3Bw
ICovOyB9OwpAQCAtMTM0Niw2ICsxMzY1LDggQEAKIAkJRkU1OTMyQTgxODNDNUEyNjAwQTFFQ0ND
IC8qIFZNRW50cnlTY29wZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkU1OTMyQTYxODNDNUEyNjAwQTFFQ0NDIC8qIFZNRW50cnlTY29wZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZFQTA4NjIwMTgy
QjdBMDQwMEY2RDg1MSAvKiBCcmVha3BvaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGRUEwODYxRTE4MkI3QTA0MDBGNkQ4NTEgLyogQnJlYWtwb2lu
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZF
QTA4NjIxMTgyQjdBMDQwMEY2RDg1MSAvKiBEZWJ1Z2dlclByaW1pdGl2ZXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFQTA4NjFGMTgyQjdBMDQwMEY2
RDg1MSAvKiBEZWJ1Z2dlclByaW1pdGl2ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQlGRUI1OEMxNDE4N0I4QjE2MDA5OEVGMEIgLyogRXJyb3JI
YW5kbGluZ1Njb3BlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZFQjU4QzEyMTg3QjhCMTYwMDk4RUYwQiAvKiBFcnJvckhhbmRsaW5nU2NvcGUuY3Bw
ICovOyB9OworCQlGRUI1OEMxNTE4N0I4QjE2MDA5OEVGMEIgLyogRXJyb3JIYW5kbGluZ1Njb3Bl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUI1OEMx
MzE4N0I4QjE2MDA5OEVGMEIgLyogRXJyb3JIYW5kbGluZ1Njb3BlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkVEMjg3QjIxNUVDOUE1NzAwREE4
MTYxIC8qIExMSW50T3Bjb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGRUQyODdCMTE1RUM5QTU3MDBEQTgxNjEgLyogTExJbnRPcGNvZGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGRUQ5NEYyRTE3
MUUzRTIzMDBCRTc3QTQgLyogV2F0Y2hkb2cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRkVEOTRGMkIxNzFFM0UyMzAwQkU3N0E0IC8qIFdhdGNoZG9n
LmNwcCAqLzsgfTsKIAkJRkVEOTRGMkYxNzFFM0UyMzAwQkU3N0E0IC8qIFdhdGNoZG9nLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUQ5NEYyQzE3MUUz
RTIzMDBCRTc3QTQgLyogV2F0Y2hkb2cuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwpAQCAtMTYwNSw2ICsxNjI2LDcgQEAKIAkJMEYzOEIwMTUxN0NGRTc1
NTAwQjE0NEQzIC8qIERGR0NvbXBpbGF0aW9uTW9kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBERkdDb21waWxhdGlvbk1vZGUuY3BwOyBwYXRoID0gZGZnL0RGR0Nv
bXBpbGF0aW9uTW9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGMzhCMDE2
MTdDRkU3NTUwMEIxNDREMyAvKiBERkdDb21waWxhdGlvbk1vZGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gREZHQ29tcGlsYXRpb25Nb2RlLmg7IHBhdGggPSBkZmcvREZHQ29t
cGlsYXRpb25Nb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGM0FDNzUxMTgz
RUExMDQwMDMyMDI5RiAvKiBTdGFja0FsaWdubWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTdGFja0FsaWdubWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkwRjNBQzc1MzE4OEU1RUM4MDAzMjAyOUYgLyogRXhpdGluZ0pJVFR5cGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXhpdGluZ0pJVFR5cGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMEYzQjNBMTcxNTNFNjhFRjAwM0VEMEZGIC8qIERGR0NvbnN0YW50Rm9s
ZGluZ1BoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0Nv
bnN0YW50Rm9sZGluZ1BoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFz
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGM0IzQTE4MTUzRTY4RUYwMDNF
RDBGRiAvKiBERkdDb25zdGFudEZvbGRpbmdQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBERkdDb25zdGFudEZvbGRpbmdQaGFzZS5oOyBwYXRoID0gZGZnL0RGR0NvbnN0
YW50Rm9sZGluZ1BoYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGM0IzQTI0
MTU0NEM5OTEwMDNFRDBGRiAvKiBERkdDRkdTaW1wbGlmaWNhdGlvblBoYXNlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0NGR1NpbXBsaWZpY2F0aW9uUGhhc2Uu
Y3BwOyBwYXRoID0gZGZnL0RGR0NGR1NpbXBsaWZpY2F0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTYzMiw2ICsxNjU0LDEwIEBACiAJCTBGNDY4MEQxMTRCQkM1
RjgwMEJGRTI3MiAvKiBIb3N0Q2FsbFJldHVyblZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEhvc3RDYWxsUmV0dXJuVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMEY0ODUzMUYxODc3NTA1NjAwODNCNjg3IC8qIERGR0FyaXRoTW9kZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdBcml0aE1vZGUuY3BwOyBwYXRo
ID0gZGZnL0RGR0FyaXRoTW9kZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBG
NDg1MzIwMTg3NzUwNTYwMDgzQjY4NyAvKiBERkdBcml0aE1vZGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gREZHQXJpdGhNb2RlLmg7IHBhdGggPSBkZmcvREZHQXJpdGhNb2Rl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNDg1MzIzMTg3REZERUMwMDgzQjY4
NyAvKiBGVExBdmFpbGFibGVSZWNvdmVyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBGVExBdmFpbGFibGVSZWNvdmVyeS5jcHA7IHBhdGggPSBmdGwvRlRMQXZhaWxh
YmxlUmVjb3ZlcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjQ4NTMyNDE4
N0RGREVDMDA4M0I2ODcgLyogRlRMQXZhaWxhYmxlUmVjb3ZlcnkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gRlRMQXZhaWxhYmxlUmVjb3ZlcnkuaDsgcGF0aCA9IGZ0bC9GVExB
dmFpbGFibGVSZWNvdmVyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjQ4NTMy
NTE4N0RGREVDMDA4M0I2ODcgLyogRlRMUmVjb3ZlcnlPcGNvZGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMUmVjb3ZlcnlPcGNvZGUuY3BwOyBwYXRoID0gZnRs
L0ZUTFJlY292ZXJ5T3Bjb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY0
ODUzMjYxODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTFJlY292ZXJ5T3Bjb2RlLmg7IHBhdGggPSBmdGwvRlRM
UmVjb3ZlcnlPcGNvZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY0OTNBRjgx
NkQwQ0FEMTAwODQ1MDhCIC8qIFNvdXJjZVByb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNvdXJjZVByb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMEY0Qjk0REIxN0I5RjA3NTAwREQwM0E0IC8qIFR5cGVkQXJyYXlJbmxpbmVz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFR5cGVkQXJyYXlJbmxpbmVzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNTU0MUFGMTYxM0MxRkIwMENFM0UyNSAv
KiBTcGVjaWFsUG9pbnRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTcGVjaWFsUG9pbnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjQ0
LDYgKzE2NzAsOCBAQAogCQkwRjU2QTFENDE1MDAxQ0YyMDAyOTkyQjEgLyogRXhlY3V0aW9uQ291
bnRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFeGVjdXRpb25D
b3VudGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY1NzJENEQxNjg3OUZE
QjAwRTU3RkJEIC8qIFRodW5rR2VuZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFRodW5rR2VuZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBG
NUE1MkNGMTdBREQ3MTcwMDhFQ0IyRCAvKiBDb3B5VG9rZW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ29weVRva2VuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGNUE2MjgxMTg4Qzk4RDQwMDcyQzlERiAvKiBGVExWYWx1ZVJhbmdlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTFZhbHVlUmFuZ2UuY3BwOyBwYXRoID0gZnRs
L0ZUTFZhbHVlUmFuZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjVBNjI4
MjE4OEM5OEQ0MDA3MkM5REYgLyogRlRMVmFsdWVSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBGVExWYWx1ZVJhbmdlLmg7IHBhdGggPSBmdGwvRlRMVmFsdWVSYW5nZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjVFRjkxQjE2ODc4Rjc4MDAzRTVDMjUg
LyogSklUVGh1bmtzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpJ
VFRodW5rcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNUVGOTFDMTY4NzhG
NzgwMDNFNUMyNSAvKiBKSVRUaHVua3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSklUVGh1bmtzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNUYwOENFMTQ2
Qzc2MkYwMDA0NzJBOSAvKiBVbmNvbmRpdGlvbmFsRmluYWxpemVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFVuY29uZGl0aW9uYWxGaW5hbGl6ZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NjUsNiArMTY5MywxOCBAQAogCQkwRjY2NkVDQjE4MzZCMzdF
MDBEMDE3RjEgLyogREZHUmVzdXJyZWN0aW9uRm9yVmFsaWRhdGlvblBoYXNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERGR1Jlc3VycmVjdGlvbkZvclZhbGlkYXRpb25QaGFz
ZS5oOyBwYXRoID0gZGZnL0RGR1Jlc3VycmVjdGlvbkZvclZhbGlkYXRpb25QaGFzZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjY2RTE2ODE0REYzRjEzMDBCN0IyRTQgLyogREZH
QWRqYWNlbmN5TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdBZGph
Y2VuY3lMaXN0Lmg7IHBhdGggPSBkZmcvREZHQWRqYWNlbmN5TGlzdC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkwRjY2RTE2OTE0REYzRjEzMDBCN0IyRTQgLyogREZHRWRnZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdFZGdlLmg7IHBhdGggPSBkZmcvREZH
RWRnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjZCMUNCMzE4NUZDOUU5MDA4
NDVEOTcgLyogRlRMSlNDYWxsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFt
ZSA9IEZUTEpTQ2FsbC5jcHA7IHBhdGggPSBmdGwvRlRMSlNDYWxsLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMEY2QjFDQjQxODVGQzlFOTAwODQ1RDk3IC8qIEZUTEpTQ2FsbC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBGVExKU0NhbGwuaDsgcGF0aCA9IGZ0
bC9GVExKU0NhbGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2QjFDQjcxODYx
MjQ0QzAwODQ1RDk3IC8qIEFyaXR5Q2hlY2tNb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEFyaXR5Q2hlY2tNb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGNkIxQ0I4MTg2MTI0NEMwMDg0NUQ5NyAvKiBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2Rl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNkIxQ0JCMTg2MTI0NkEwMDg0NUQ5
NyAvKiBSZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2Vu
ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2QjFDQkMxODYxMjQ2
QTAwODQ1RDk3IC8qIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdlbmVyYXRvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJH
ZW5lcmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY2QjFDQkYxODYyQzQ3
ODAwODQ1RDk3IC8qIEZUTFJlZ2lzdGVyQXRPZmZzZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHA7IHBhdGggPSBmdGwvRlRM
UmVnaXN0ZXJBdE9mZnNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNkIx
Q0MwMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZUTFJlZ2lzdGVyQXRPZmZzZXQuaDsgcGF0aCA9IGZ0bC9G
VExSZWdpc3RlckF0T2Zmc2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTBGNkIx
Q0MxMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExVbndpbmRJbmZvLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZUTFVud2luZEluZm8uY3BwOyBwYXRoID0gZnRsL0ZUTFVu
d2luZEluZm8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjZCMUNDMjE4NjJD
NDc4MDA4NDVEOTcgLyogRlRMVW53aW5kSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBGVExVbndpbmRJbmZvLmg7IHBhdGggPSBmdGwvRlRMVW53aW5kSW5mby5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjZCMUNDNzE4NjQxREY4MDA4NDVEOTcgLyogQXJp
dHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkwRjZCMUNDODE4NjQxREY4MDA4NDVEOTcgLyogQXJpdHlDaGVja0ZhaWxS
ZXR1cm5UaHVua3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXJpdHlDaGVj
a0ZhaWxSZXR1cm5UaHVua3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY3MDI1
QTcxNzE0QjBGODAwMzgyQzBFIC8qIERGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdPU1JFeGl0Q29tcGlsZXJDb21tb24u
Y3BwOyBwYXRoID0gZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTBGNzAyNUE4MTcxNEIwRjgwMDM4MkMwRSAvKiBERkdPU1JFeGl0
Q29tcGlsZXJDb21tb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHT1NS
RXhpdENvbXBpbGVyQ29tbW9uLmg7IHBhdGggPSBkZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNzE0Q0ExMTZFQTkyRUQwMEYzRUJF
QiAvKiBERkdCYWNrd2FyZHNQcm9wYWdhdGlvblBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IERGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuY3BwOyBwYXRo
ID0gZGZnL0RGR0JhY2t3YXJkc1Byb3BhZ2F0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMjExNiw2ICsyMTU2LDcgQEAKIAkJNjU2MEE0Q0YwNEIzQjNFNzAwOEFF
OTUyIC8qIENvcmVGb3VuZGF0aW9uLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ29yZUZv
dW5kYXRpb24uZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29y
ZUZvdW5kYXRpb24uZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQk2
NTYyMUU2QjA4OUU4NTk3MDA3NjBGMzUgLyogUHJvcGVydHlTbG90LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3BlcnR5U2xvdC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKIAkJNjU2MjFFNkMw
ODlFODU5NzAwNzYwRjM1IC8qIFByb3BlcnR5U2xvdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm9wZXJ0eVNsb3QuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9OworCQk2NTg2MDE3NzE4NUE4RjVFMDAwMzBFRUUg
LyogTWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNjU5ODdGMkMxNjdGRTg0QjAwM0MyRjhEIC8qIERGR09TUkV4aXRD
b21waWxhdGlvbkluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHT1NS
RXhpdENvbXBpbGF0aW9uSW5mby5oOyBwYXRoID0gZGZnL0RGR09TUkV4aXRDb21waWxhdGlvbklu
Zm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU5ODdGMkYxNjgyOEE3RTAwM0My
RjhEIC8qIFVudXNlZFBvaW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
VW51c2VkUG9pbnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NUMwMjg0RjE3
MTc5NUUyMDAzNTFFMzUgLyogQVJNdjdEaXNhc3NlbWJsZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gQVJNdjdEaXNhc3NlbWJsZXIuY3BwOyBwYXRoID0gZGlzYXNz
ZW1ibGVyL0FSTXY3RGlzYXNzZW1ibGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTI3ODMsNiArMjgyNCw4IEBACiAJCUZFNTkzMkE2MTgzQzVBMjYwMEExRUNDQyAvKiBWTUVu
dHJ5U2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVk1FbnRyeVNjb3Bl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFQTA4NjFFMTgyQjdBMDQwMEY2RDg1
MSAvKiBCcmVha3BvaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJyZWFr
cG9pbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVBMDg2MUYxODJCN0EwNDAw
RjZEODUxIC8qIERlYnVnZ2VyUHJpbWl0aXZlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBEZWJ1Z2dlclByaW1pdGl2ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRkVCNThDMTIxODdCOEIxNjAwOThFRjBCIC8qIEVycm9ySGFuZGxpbmdTY29wZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFcnJvckhhbmRsaW5nU2NvcGUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRUI1OEMxMzE4N0I4QjE2MDA5OEVGMEIg
LyogRXJyb3JIYW5kbGluZ1Njb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEVycm9ySGFuZGxpbmdTY29wZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRUQy
ODdCMTE1RUM5QTU3MDBEQTgxNjEgLyogTExJbnRPcGNvZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gTExJbnRPcGNvZGUuaDsgcGF0aCA9IGxsaW50L0xMSW50T3Bjb2RlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFRDk0RjJCMTcxRTNFMjMwMEJFNzdBNCAv
KiBXYXRjaGRvZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXYXRj
aGRvZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFRDk0RjJDMTcxRTNFMjMw
MEJFNzdBNCAvKiBXYXRjaGRvZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
YXRjaGRvZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzAwMSw2ICszMDQ0LDgg
QEAKIAkJCQkwRkVBMEExODE3MDhCMDA3MDBCQjcyMkMgLyogRlRMQWJzdHJhY3RIZWFwLmggKi8s
CiAJCQkJMEZFQTBBMTkxNzA4QjAwNzAwQkI3MjJDIC8qIEZUTEFic3RyYWN0SGVhcFJlcG9zaXRv
cnkuY3BwICovLAogCQkJCTBGRUEwQTFBMTcwOEIwMDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhl
YXBSZXBvc2l0b3J5LmggKi8sCisJCQkJMEY0ODUzMjMxODdERkRFQzAwODNCNjg3IC8qIEZUTEF2
YWlsYWJsZVJlY292ZXJ5LmNwcCAqLywKKwkJCQkwRjQ4NTMyNDE4N0RGREVDMDA4M0I2ODcgLyog
RlRMQXZhaWxhYmxlUmVjb3ZlcnkuaCAqLywKIAkJCQkwRkVBMDlGRTE3MDUxM0RCMDBCQjcyMkMg
LyogRlRMQ2FwYWJpbGl0aWVzLmNwcCAqLywKIAkJCQkwRkVBMDlGRjE3MDUxM0RCMDBCQjcyMkMg
LyogRlRMQ2FwYWJpbGl0aWVzLmggKi8sCiAJCQkJMEZFQTBBMjUxNzA5NjIzQjAwQkI3MjJDIC8q
IEZUTENvbW1vblZhbHVlcy5jcHAgKi8sCkBAIC0zMDMxLDYgKzMwNzYsOCBAQAogCQkJCTBGRUEw
QTAzMTcwNTEzREIwMEJCNzIyQyAvKiBGVExKSVRDb2RlLmggKi8sCiAJCQkJQTc4QTk3N0QxNzk3
MzhENTAwOURGNzQ0IC8qIEZUTEpJVEZpbmFsaXplci5jcHAgKi8sCiAJCQkJQTc4QTk3N0UxNzk3
MzhENTAwOURGNzQ0IC8qIEZUTEpJVEZpbmFsaXplci5oICovLAorCQkJCTBGNkIxQ0IzMTg1RkM5
RTkwMDg0NUQ5NyAvKiBGVExKU0NhbGwuY3BwICovLAorCQkJCTBGNkIxQ0I0MTg1RkM5RTkwMDg0
NUQ5NyAvKiBGVExKU0NhbGwuaCAqLywKIAkJCQkwRjhGMkI5MzE3MkUwNDlFMDA3REJEQTUgLyog
RlRMTGluay5jcHAgKi8sCiAJCQkJMEY4RjJCOTQxNzJFMDQ5RTAwN0RCREE1IC8qIEZUTExpbmsu
aCAqLywKIAkJCQkwRkNFRkFERDE4MDczOEMwMDA0NzJDRTQgLyogRlRMTG9jYXRpb24uY3BwICov
LApAQCAtMzA0Nyw2ICszMDk0LDEwIEBACiAJCQkJMEYyMzVCQ0ExNzE3OEUxQzAwNjkwQzdGIC8q
IEZUTE9TUkV4aXRDb21waWxlci5oICovLAogCQkJCTBGRUEwQTI5MTcwOTYyOTYwMEJCNzIyQyAv
KiBGVExPdXRwdXQuY3BwICovLAogCQkJCTBGRUEwQTA2MTcwNTEzREIwMEJCNzIyQyAvKiBGVExP
dXRwdXQuaCAqLywKKwkJCQkwRjQ4NTMyNTE4N0RGREVDMDA4M0I2ODcgLyogRlRMUmVjb3ZlcnlP
cGNvZGUuY3BwICovLAorCQkJCTBGNDg1MzI2MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVy
eU9wY29kZS5oICovLAorCQkJCTBGNkIxQ0JGMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3Rl
ckF0T2Zmc2V0LmNwcCAqLywKKwkJCQkwRjZCMUNDMDE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVn
aXN0ZXJBdE9mZnNldC5oICovLAogCQkJCTBGQ0VGQUE5MTgwNEMxM0UwMDQ3MkNFNCAvKiBGVExT
YXZlUmVzdG9yZS5jcHAgKi8sCiAJCQkJMEZDRUZBQUExODA0QzEzRTAwNDcyQ0U0IC8qIEZUTFNh
dmVSZXN0b3JlLmggKi8sCiAJCQkJMEYyNUYxQUExODE2MzVGMzAwNTIyRjM5IC8qIEZUTFNsb3dQ
YXRoQ2FsbC5jcHAgKi8sCkBAIC0zMDYxLDkgKzMxMTIsMTMgQEAKIAkJCQkwRjIzNUJDQjE3MTc4
RTFDMDA2OTBDN0YgLyogRlRMVGh1bmtzLmNwcCAqLywKIAkJCQkwRjIzNUJDQzE3MTc4RTFDMDA2
OTBDN0YgLyogRlRMVGh1bmtzLmggKi8sCiAJCQkJMEZFQTBBMUIxNzA4QjAwNzAwQkI3MjJDIC8q
IEZUTFR5cGVkUG9pbnRlci5oICovLAorCQkJCTBGNkIxQ0MxMTg2MkM0NzgwMDg0NUQ5NyAvKiBG
VExVbndpbmRJbmZvLmNwcCAqLywKKwkJCQkwRjZCMUNDMjE4NjJDNDc4MDA4NDVEOTcgLyogRlRM
VW53aW5kSW5mby5oICovLAogCQkJCTBGMjM1QkNEMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1
ZUZvcm1hdC5jcHAgKi8sCiAJCQkJMEYyMzVCQ0UxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTFZhbHVl
Rm9ybWF0LmggKi8sCiAJCQkJMEZEQjJDQzgxNzNEQTUxRTAwN0IzQzFCIC8qIEZUTFZhbHVlRnJv
bUJsb2NrLmggKi8sCisJCQkJMEY1QTYyODExODhDOThENDAwNzJDOURGIC8qIEZUTFZhbHVlUmFu
Z2UuY3BwICovLAorCQkJCTBGNUE2MjgyMTg4Qzk4RDQwMDcyQzlERiAvKiBGVExWYWx1ZVJhbmdl
LmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IGZ0bDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CkBAIC0zMTUyLDYgKzMyMDcsOCBAQAogCQkxNDI5RDkyQzBFRDIyRDcwMDBCODk2MTkgLyogaml0
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkwRjZCMUND
NzE4NjQxREY4MDA4NDVEOTcgLyogQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuY3BwICovLAor
CQkJCTBGNkIxQ0M4MTg2NDFERjgwMDg0NUQ5NyAvKiBBcml0eUNoZWNrRmFpbFJldHVyblRodW5r
cy5oICovLAogCQkJCTBGMjRFNTNCMTdFQTlGNTkwMEFCQjIxNyAvKiBBc3NlbWJseUhlbHBlcnMu
Y3BwICovLAogCQkJCTBGMjRFNTNDMTdFQTlGNTkwMEFCQjIxNyAvKiBBc3NlbWJseUhlbHBlcnMu
aCAqLywKIAkJCQkwRjI0RTUzRDE3RUE5RjU5MDBBQkIyMTcgLyogQ0NhbGxIZWxwZXJzLmggKi8s
CkBAIC0zMjA1LDYgKzMyNjIsOCBAQAogCQkJCTBGQzcxMkUxMTdDRDg3OEYwMDhDQzkzQyAvKiBK
SVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oICovLAogCQkJCUE3NkY1NEEyMTNC
MjhBQUIwMEVGMkJDRSAvKiBKSVRXcml0ZUJhcnJpZXIuaCAqLywKIAkJCQlBNzZDNTE3NDExODI3
NDhEMDA3MTVCMDUgLyogSlNJbnRlcmZhY2VKSVQuaCAqLywKKwkJCQkwRjZCMUNCQjE4NjEyNDZB
MDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmNwcCAqLywK
KwkJCQkwRjZCMUNCQzE4NjEyNDZBMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFw
cGVyR2VuZXJhdG9yLmggKi8sCiAJCQkJMEZDMzE0MTQxODE0NkQ3MDAwMDMzMjMyIC8qIFJlZ2lz
dGVyU2V0LmNwcCAqLywKIAkJCQkwRkMzMTQxMDE4MTQ1NTkxMDAwMzMyMzIgLyogUmVnaXN0ZXJT
ZXQuaCAqLywKIAkJCQkwRjI0RTU0OTE3RUUyNzQ5MDBBQkIyMTcgLyogUmVwYXRjaC5jcHAgKi8s
CkBAIC0zNTU0LDYgKzM2MTMsNyBAQAogCQkJCUE3NjE0MEM4MTgyOTgyQ0IwMDc1MDYyNCAvKiBB
cmd1bWVudHNJdGVyYXRvckNvbnN0cnVjdG9yLmggKi8sCiAJCQkJQTc2MTQwQzkxODI5ODJDQjAw
NzUwNjI0IC8qIEFyZ3VtZW50c0l0ZXJhdG9yUHJvdG90eXBlLmNwcCAqLywKIAkJCQlBNzYxNDBD
QTE4Mjk4MkNCMDA3NTA2MjQgLyogQXJndW1lbnRzSXRlcmF0b3JQcm90b3R5cGUuaCAqLywKKwkJ
CQkwRjZCMUNCNzE4NjEyNDRDMDA4NDVEOTcgLyogQXJpdHlDaGVja01vZGUuaCAqLywKIAkJCQlB
N0E4QUYyNTE3QURCNUYyMDA1QUIxNzQgLyogQXJyYXlCdWZmZXIuY3BwICovLAogCQkJCUE3QThB
RjI2MTdBREI1RjMwMDVBQjE3NCAvKiBBcnJheUJ1ZmZlci5oICovLAogCQkJCTBGRkM5OUQyMTg0
RUUzMTgwMDlDMTBBQiAvKiBBcnJheUJ1ZmZlck5ldXRlcmluZ1dhdGNocG9pbnQuY3BwICovLApA
QCAtMzYxOCw2ICszNjc4LDggQEAKIAkJCQlCQzMwNDYwNjBFMUY0OTdGMDAzMjMyQ0YgLyogRXJy
b3IuaCAqLywKIAkJCQlCQzAyRTkwNDBFMTgzOURCMDAwRjkyOTcgLyogRXJyb3JDb25zdHJ1Y3Rv
ci5jcHAgKi8sCiAJCQkJQkMwMkU5MDUwRTE4MzlEQjAwMEY5Mjk3IC8qIEVycm9yQ29uc3RydWN0
b3IuaCAqLywKKwkJCQlGRUI1OEMxMjE4N0I4QjE2MDA5OEVGMEIgLyogRXJyb3JIYW5kbGluZ1Nj
b3BlLmNwcCAqLywKKwkJCQlGRUI1OEMxMzE4N0I4QjE2MDA5OEVGMEIgLyogRXJyb3JIYW5kbGlu
Z1Njb3BlLmggKi8sCiAJCQkJQkMwMkU5OEEwRTE4M0UzODAwMEY5Mjk3IC8qIEVycm9ySW5zdGFu
Y2UuY3BwICovLAogCQkJCUJDMDJFOThCMEUxODNFMzgwMDBGOTI5NyAvKiBFcnJvckluc3RhbmNl
LmggKi8sCiAJCQkJQkMwMkU5MDYwRTE4MzlEQjAwMEY5Mjk3IC8qIEVycm9yUHJvdG90eXBlLmNw
cCAqLywKQEAgLTM4NTEsNiArMzkxMyw3IEBACiAJCQkJRjY5MkE4N0MwMjU1NTk3RDAxRkY2MEY3
IC8qIFJlZ0V4cE9iamVjdC5oICovLAogCQkJCUJDRDIwMkJGMEUxNzA2QTcwMDJDN0U4MiAvKiBS
ZWdFeHBQcm90b3R5cGUuY3BwICovLAogCQkJCUJDRDIwMkMwMEUxNzA2QTcwMDJDN0U4MiAvKiBS
ZWdFeHBQcm90b3R5cGUuaCAqLywKKwkJCQkwRjZCMUNCODE4NjEyNDRDMDA4NDVEOTcgLyogUmVn
aXN0ZXJQcmVzZXJ2YXRpb25Nb2RlLmggKi8sCiAJCQkJMEZCN0YzOTExNUVEOEUzODAwRjE2N0Iy
IC8qIFJlamVjdC5oICovLAogCQkJCTBGNzcwMDkxMTQwMkZGMjgwMDc4RUIzOSAvKiBTYW1wbGlu
Z0NvdW50ZXIuY3BwICovLAogCQkJCTBGNzcwMDhFMTQwMkZERDYwMDc4RUIzOSAvKiBTYW1wbGlu
Z0NvdW50ZXIuaCAqLywKQEAgLTM5NjUsNiArNDAyOCw4IEBACiAJCTg2RUM5REIzMTMyOERGNDQw
MDJCMkFENyAvKiBkZmcgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAorCQkJCTJBQ0NGM0RDMTg1RkUyNkIwMDgzRTJBRCAvKiBERkdTdG9yZUJhcnJpZXJFbGlzaW9u
UGhhc2UuY3BwICovLAorCQkJCTJBQ0NGM0REMTg1RkUyNkIwMDgzRTJBRCAvKiBERkdTdG9yZUJh
cnJpZXJFbGlzaW9uUGhhc2UuaCAqLywKIAkJCQlBNzdBNDIzNjE3QTBCQkZEMDBBOERCODEgLyog
REZHQWJzdHJhY3RIZWFwLmNwcCAqLywKIAkJCQlBNzdBNDIzNzE3QTBCQkZEMDBBOERCODEgLyog
REZHQWJzdHJhY3RIZWFwLmggKi8sCiAJCQkJQTcwNEQ4RkUxN0EwQkFBODAwNkJBNTU0IC8qIERG
R0Fic3RyYWN0SW50ZXJwcmV0ZXIuaCAqLywKQEAgLTQxNTMsOCArNDIxOCw2IEBACiAJCQkJMEZD
MjBDQjgxODU1NkEzNTAwQzlFOTU0IC8qIERGR1NTQUxvd2VyaW5nUGhhc2UuaCAqLywKIAkJCQkw
RjlGQjRGMjE3RkNCOTE3MDBDQjY3RjggLyogREZHU3RhY2tMYXlvdXRQaGFzZS5jcHAgKi8sCiAJ
CQkJMEY5RkI0RjMxN0ZDQjkxNzAwQ0I2N0Y4IC8qIERGR1N0YWNrTGF5b3V0UGhhc2UuaCAqLywK
LQkJCQkyQUNDRjNEQzE4NUZFMjZCMDA4M0UyQUQgLyogREZHU3RvcmVCYXJyaWVyRWxpc2lvblBo
YXNlLmNwcCAqLywKLQkJCQkyQUNDRjNERDE4NUZFMjZCMDA4M0UyQUQgLyogREZHU3RvcmVCYXJy
aWVyRWxpc2lvblBoYXNlLmggKi8sCiAJCQkJMEZDMjBDQjMxODUyRTJDNjAwQzlFOTU0IC8qIERG
R1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuY3BwICovLAogCQkJCTBGQzIwQ0I0MTg1MkUyQzYwMEM5
RTk1NCAvKiBERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmggKi8sCiAJCQkJMEY2Mzk0NzYxNURD
RTM0NzAwNkE1OTdDIC8qIERGR1N0cnVjdHVyZUFic3RyYWN0VmFsdWUuaCAqLywKQEAgLTQyNTAs
NiArNDMxMyw3IEBACiAJCTk2ODhDQjEyMEVEMTJCNEUwMDFENjQ5RiAvKiBhc3NlbWJsZXIgKi8g
PSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTY1ODYwMTc3MTg1
QThGNUUwMDAzMEVFRSAvKiBNYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oICovLAogCQkJ
CTg2MDE2MURGMEYzQTgzQzEwMEY4NDcxMCAvKiBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmggKi8s
CiAJCQkJODY0MDkyM0IxNTZFRUQzQjAwNTY2Q0IyIC8qIEFSTTY0QXNzZW1ibGVyLmggKi8sCiAJ
CQkJODZEM0IyQkYxMDE1NkJERTAwMjg2NUU3IC8qIEFSTUFzc2VtYmxlci5jcHAgKi8sCkBAIC00
MzIyLDYgKzQzODYsNyBAQAogCQkJCTk2OUEwNzkyMEVEMUQzQUUwMEYxRjY4MSAvKiBFdmFsQ29k
ZUNhY2hlLmggKi8sCiAJCQkJMEY1NkExRDQxNTAwMUNGMjAwMjk5MkIxIC8qIEV4ZWN1dGlvbkNv
dW50ZXIuY3BwICovLAogCQkJCTBGNTZBMUQxMTUwMDBGMzEwMDI5OTJCMSAvKiBFeGVjdXRpb25D
b3VudGVyLmggKi8sCisJCQkJMEYzQUM3NTMxODhFNUVDODAwMzIwMjlGIC8qIEV4aXRpbmdKSVRU
eXBlLmggKi8sCiAJCQkJMEZCMTA1ODIxNjc1NDgwQzAwRjhBQjZFIC8qIEV4aXRLaW5kLmNwcCAq
LywKIAkJCQkwRkIxMDU4MzE2NzU0ODBDMDBGOEFCNkUgLyogRXhpdEtpbmQuaCAqLywKIAkJCQkw
RjBCODNBQTE0QkNGNUI5MDA4ODVCNEYgLyogRXhwcmVzc2lvblJhbmdlSW5mby5oICovLApAQCAt
NDU0MSwxMyArNDYwNiwxNCBAQAogCQkJCTg2QUREMTQ1MEZEREVBOTgwMDA2RUVDMiAvKiBBUk12
N0Fzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVDRUVFMTUxODdGM0JBRDAwRTU1Qzk5
IC8qIEluc3BlY3RvckFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NUMwMjg1RDE3MTc5NjY4
MDAzNTFFMzUgLyogQVJNdjdET3Bjb2RlLmggaW4gSGVhZGVycyAqLywKLQkJCQkyQTY4Mjk1QjE4
NzVGODA1MDBCNkMzRTIgLyogQ29weVdyaXRlQmFycmllci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
MkE0RUM5MEMxODYwRDZDMjAwOTRGNzgyIC8qIFdyaXRlQmFycmllckJ1ZmZlci5oIGluIEhlYWRl
cnMgKi8sCisgCQkJCTJBNjgyOTVCMTg3NUY4MDUwMEI2QzNFMiAvKiBDb3B5V3JpdGVCYXJyaWVy
LmggaW4gSGVhZGVycyAqLywKKyAgICAgICAgICAgICAgICAyQTRFQzkwQzE4NjBENkMyMDA5NEY3
ODIgLyogV3JpdGVCYXJyaWVyQnVmZmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRTU5MzJBODE4
M0M1QTI2MDBBMUVDQ0MgLyogVk1FbnRyeVNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTMy
NDM5MzE4NTY5NzA5MDAyRUQ2OTIgLyogQ29kZUdlbmVyYXRvckluc3BlY3RvclN0cmluZ3MucHkg
aW4gSGVhZGVycyAqLywKLQkJCQlBNTMyNDM5MjE4NTY5NzA5MDAyRUQ2OTIgLyogQ29kZUdlbmVy
YXRvckluc3BlY3Rvci5weSBpbiBIZWFkZXJzICovLAorIAkJCQlBNTMyNDM5MjE4NTY5NzA5MDAy
RUQ2OTIgLyogQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weSBpbiBIZWFkZXJzICovLAogCQkJCTBG
MjRFNTRGMTdFRTI3NDkwMEFCQjIxNyAvKiBUZW1wUmVnaXN0ZXJTZXQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE1MEU0QjY0MTg4MDlERDUwMDY4QTQ2RCAvKiBKU0dsb2JhbE9iamVjdFJ1bnRpbWVB
Z2VudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkVCNThDMTUxODdCOEIxNjAwOThFRjBCIC8qIEVy
cm9ySGFuZGxpbmdTY29wZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdCRkYzQzAxNzk4Njg5NDAw
MDJGNDYyIC8qIERGR0ZpbHRyYXRpb25SZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1ODQw
RTI3MTg3Qzk4MUUwMDg0M0IxMCAvKiBjc3NtaW4ucHkgaW4gSGVhZGVycyAqLywKIAkJCQlDMkZD
QUUxMTE3QTlDMjRFMDAzNEM3MzUgLyogQnl0ZWNvZGVCYXNpY0Jsb2NrLmggaW4gSGVhZGVycyAq
LywKQEAgLTQ1NTYsNyArNDYyMiw3IEBACiAJCQkJMEY4MzM1QjgxNjM5QzFFQTAwMTQ0M0I1IC8q
IEFycmF5QWxsb2NhdGlvblByb2ZpbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1ODQwRTI5MTg3
Q0E1RTYwMDg0M0IxMCAvKiBpbmxpbmUtYW5kLW1pbmlmeS1zdHlsZXNoZWV0cy1hbmQtc2NyaXB0
cy5weSBpbiBIZWFkZXJzICovLAogCQkJCUE1ODQwRTJCMTg3Q0E3NUIwMDg0M0IxMCAvKiBqc21p
bi5weSBpbiBIZWFkZXJzICovLAotCQkJCUE1MzI0Mzk4MTg1NkE0ODkwMDJFRDY5MiAvKiBJbnNw
ZWN0b3JKUy5qc29uIGluIEhlYWRlcnMgKi8sCisgCQkJCUE1MzI0Mzk4MTg1NkE0ODkwMDJFRDY5
MiAvKiBJbnNwZWN0b3JKUy5qc29uIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU4NDBFMkExODdDQTc1
OTAwODQzQjEwIC8qIHh4ZC5wbCBpbiBIZWFkZXJzICovLAogCQkJCUZFQTA4NjIwMTgyQjdBMDQw
MEY2RDg1MSAvKiBCcmVha3BvaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0E4QUYzNTE3QURC
NUYzMDA1QUIxNzQgLyogQXJyYXlCdWZmZXIuaCBpbiBIZWFkZXJzICovLApAQCAtNDYyNCw2ICs0
NjkwLDcgQEAKIAkJCQlDMkVBQTNGQTE0OUE4MzVFMDBGQ0UxMTIgLyogQ29waWVkU3BhY2UuaCBp
biBIZWFkZXJzICovLAogCQkJCUMyQzhEMDJEMTRBM0M2RTAwMDU3OEU2NSAvKiBDb3BpZWRTcGFj
ZUlubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNUE1MkQwMTdBREQ3MTcwMDhFQ0IyRCAv
KiBDb3B5VG9rZW4uaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNkIxQ0M2MTg2MkM0NzgwMDg0NUQ5
NyAvKiBGVExVbndpbmRJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMjIzOUQxODE2MjYyQkRE
MDA1QUM1RkQgLyogQ29weVZpc2l0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUMyMjM5RDE5MTYy
NjJCREQwMDVBQzVGRCAvKiBDb3B5VmlzaXRvcklubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUMyMThEMTQwMTY1NUNGRDUwMDYyQkI4MSAvKiBDb3B5V29ya0xpc3QuaCBpbiBIZWFkZXJzICov
LApAQCAtNDY2NSw3ICs0NzMyLDggQEAKIAkJCQkwRjgzNjRCNzE2NEIwQzExMDA1MzMyOUEgLyog
REZHQnJhbmNoRGlyZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUEwMDlDMDE4MzFBMjJE
MDBDRjg3MTEgLyogTWFjcm9Bc3NlbWJsZXJBUk02NC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZF
QzlEQzUxMzI4REY4MjAwMkIyQUQ3IC8qIERGR0J5dGVDb2RlUGFyc2VyLmggaW4gSGVhZGVycyAq
LywKLQkJCQlBNTkzQ0Y4NzE4NDAzOENBMDBCRkNFMjcgLyogSW5zcGVjdG9yQWdlbnRSZWdpc3Ry
eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY0ODUzMjgxODdERkRFQzAwODNCNjg3IC8qIEZUTEF2
YWlsYWJsZVJlY292ZXJ5LmggaW4gSGVhZGVycyAqLywKKyAgICAgICAgICAgICAgICBBNTkzQ0Y4
NzE4NDAzOENBMDBCRkNFMjcgLyogSW5zcGVjdG9yQWdlbnRSZWdpc3RyeS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEYyNTZDMzYxNjI3QjBBRDAwN0YyNzgzIC8qIERGR0NhbGxBcnJheUFsbG9jYXRv
clNsb3dQYXRoR2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjdCMjk0QjE0QzNDRDJG
MDA3QzNEQjEgLyogREZHQ2FwYWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkZGQzk1
ODE0RUY5MEEyMDBDNzI1MzIgLyogREZHQ0ZBUGhhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtNDY5
OSw2ICs0NzY3LDcgQEAKIAkJCQkwRkJDMEFFODE0OTZDN0M3MDBENEZCREQgLyogREZHRXhpdFBy
b2ZpbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3OEE5Nzc1MTc5NzM4QjgwMDlERjc0NCAvKiBE
RkdGYWlsZWRGaW5hbGl6ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3OEE5Nzc3MTc5NzM4Qjgw
MDlERjc0NCAvKiBERkdGaW5hbGl6ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNkIxQ0I2MTg1
RkM5RTkwMDg0NUQ5NyAvKiBGVExKU0NhbGwuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMkJEQzE2
MTUxQzVENEYwMENEODkxMCAvKiBERkdGaXh1cFBoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RjlEMzM5NzE3RkZDNEU2MDA3M0MyQkMgLyogREZHRmx1c2hlZEF0LmggaW4gSGVhZGVycyAqLywK
IAkJCQlBN0Q4OUNGODE3QTBCOENDMDA3NzNBRDggLyogREZHRmx1c2hGb3JtYXQuaCBpbiBIZWFk
ZXJzICovLApAQCAtNDczNSw2ICs0ODA0LDcgQEAKIAkJCQkwRkQ4QTMyNjE3RDUxRjU3MDBDQTJD
NDAgLyogREZHT1NSRW50cnlwb2ludENyZWF0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBGQzA5NzZBMTQ2OEE2RjcwMENGMjQ0MiAvKiBERkdPU1JFeGl0LmggaW4gSGVhZGVycyAqLywK
IAkJCQkwRkZDOTlEMTE4NEVDOEFEMDA5QzEwQUIgLyogQ29uc3RhbnRNb2RlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRjZCMUNCQTE4NjEyNDRDMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRp
b25Nb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjIzNUJFQzE3MTc4RTczMDA2OTBDN0YgLyog
REZHT1NSRXhpdEJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1QkExNUVEMTgyMzQwQjQwMEE4
MkU2OSAvKiBSZW1vdGVJbnNwZWN0b3JYUENDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRkZCOTIxQzE2RDAyRjExMDA1NUE1REIgLyogREZHT1NSRXhpdENvbXBpbGF0aW9uSW5mby5o
IGluIEhlYWRlcnMgKi8sCkBAIC00ODAzLDYgKzQ4NzMsNyBAQAogCQkJCTBGRUEwQTFGMTcwOEIw
MDcwMEJCNzIyQyAvKiBGVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggaW4gSGVhZGVycyAqLywK
IAkJCQlBNTk0NTU5MzE4MjQ3NDQ3MDBDQzM4NDMgLyogSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkVBMEEwQTE3MDUxM0RCMDBCQjcyMkMgLyogRlRMQ2Fw
YWJpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjQ4NTMyQTE4N0RGREVDMDA4M0I2ODcg
LyogRlRMUmVjb3ZlcnlPcGNvZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRUEwQTIzMTcwOTYw
NjkwMEJCNzIyQyAvKiBGVExDb21tb25WYWx1ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRUEw
QTBDMTcwNTEzREIwMEJCNzIyQyAvKiBGVExDb21waWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
RjIzNUJENDE3MTc4RTFDMDA2OTBDN0YgLyogRlRMRXhpdEFyZ3VtZW50LmggaW4gSGVhZGVycyAq
LywKQEAgLTQ4MTksNiArNDg5MCw3IEBACiAJCQkJMEZFQTBBMjQxNzA5NjA2OTAwQkI3MjJDIC8q
IEZUTEludHJpbnNpY1JlcG9zaXRvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRUEwQTBFMTcw
NTEzREIwMEJCNzIyQyAvKiBGVExKSVRDb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzhBOTc4
MTE3OTczOEQ1MDA5REY3NDQgLyogRlRMSklURmluYWxpemVyLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRjVBNjI4NDE4OEM5OEQ0MDA3MkM5REYgLyogRlRMVmFsdWVSYW5nZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEY4RjJCOTYxNzJFMDRBMzAwN0RCREE1IC8qIEZUTExpbmsuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGQ0VGQUUwMTgwNzM4QzAwMDQ3MkNFNCAvKiBGVExMb2NhdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZFQTBBMTAxNzA1MTNEQjAwQkI3MjJDIC8qIEZUTExvd2VyREZHVG9M
TFZNLmggaW4gSGVhZGVycyAqLywKQEAgLTQ5MDEsNiArNDk3Myw3IEBACiAJCQkJMEZDMjBDQjYx
ODUyRTJDNjAwQzlFOTU0IC8qIERGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTBGQjE0RTFGMTgxMjRBQ0UwMDlCNkI0RCAvKiBKSVRJbmxpbmVDYWNoZUdlbmVy
YXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZDQzg1QTEwRUU3OUE0NzAwMjg4NjgyIC8qIEpJ
VElubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNkIxQ0JFMTg2MTI0NkEwMDg0NUQ5NyAv
KiBSZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGMjRFNTREMTdFRTI3NDkwMEFCQjIxNyAvKiBKSVRPcGVyYXRpb25zLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBNzkwREQ3MDE4MkY0OTk3MDA1ODg4MDcgLyogSlNTZXRJdGVyYXRvci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEYyNEU1NEUxN0VFMjc0OTAwQUJCMjE3IC8qIEpJVE9wZXJhdGlv
bldyYXBwZXJzLmggaW4gSGVhZGVycyAqLywKQEAgLTQ5MTYsNiArNDk4OSw3IEBACiAJCQkJMEZD
NzEyRTMxN0NEODc5MzAwOENDOTNDIC8qIEpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxi
YWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzZGNTRBMzEzQjI4QUFCMDBFRjJCQ0UgLyogSklU
V3JpdGVCYXJyaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQxNjBFMTZGNUNEMDBCMzQ0
NjAgLyogSlNBY3RpdmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjZCMUNCOTE4NjEyNDRD
MDA4NDVEOTcgLyogQXJpdHlDaGVja01vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0MDQ4MDEz
MTAyMUExRDkwMDhFN0YwMSAvKiBKU0FQSVZhbHVlV3JhcHBlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQzJDRjM5QzIxNkUxNUE4MTAwREQ2OUJFIC8qIEpTQVBJV3JhcHBlck9iamVjdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTc2MTQwRDIxODI5ODJDQjAwNzUwNjI0IC8qIEpTQXJndW1lbnRzSXRl
cmF0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtNDk2OSw2ICs1MDQzLDggQEAKIAkJCQlCQzE4QzQy
MzBFMTZGNUNEMDBCMzQ0NjAgLyogSlNMb2NrLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMjVENzA5
QzE2REU5OUY0MDBGQ0E2QkMgLyogSlNNYW5hZ2VkVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE3MDA4NzQyMTdDQkU4RUIwMEMzRTY0MyAvKiBKU01hcC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEYzQUM3NTQxODhFNUVDODAwMzIwMjlGIC8qIEV4aXRpbmdKSVRUeXBlLmggaW4gSGVhZGVycyAq
LywKKwkJCQkwRjZCMUNDNDE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ4NzRBRTQxNUVCREU0QTAwMkUzNTg3IC8qIEpTTmFtZVNj
b3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQyNDBFMTZGNUNEMDBCMzQ0NjAgLyogSlNP
YmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDI1MEUxNkY1Q0QwMEIzNDQ2MCAvKiBK
U09iamVjdFJlZi5oIGluIEhlYWRlcnMgKi8sCkBAIC01MjczLDYgKzUzNDksNyBAQAogCQkJCTk2
ODhDQjE2MEVEMTJCNEUwMDFENjQ5RiAvKiBYODZBc3NlbWJsZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQ1MTUzOUI5MTJEQzk5NDUwMEVGN0FDNCAvKiBZYXJyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRjY2NkVDRDE4MzZCMzdFMDBEMDE3RjEgLyogREZHUmVzdXJyZWN0aW9uRm9yVmFsaWRhdGlv
blBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjZCMUNDQTE4NjQxREY4MDA4NDVEOTcgLyog
QXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2NzA0Qjg1
MTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJySW50ZXJwcmV0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUE1NUQ5M0E2MTg1MDEyQTgwMDQwMERFRCAvKiBTY3JpcHRGdW5jdGlvbkNhbGwuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTg2NzA0Qjg3MTJEQkEzMzcwMEE5RkU3QiAvKiBZYXJySklULmggaW4gSGVh
ZGVycyAqLywKQEAgLTU3MTYsNiArNTc5Myw3IEBACiAJCQkJMTQyOUQ4REQwRUQyMjA1QjAwQjg5
NjE5IC8qIENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjBCODNCMDE0QkNGNzE2
MDA4ODVCNEYgLyogQ2FsbExpbmtJbmZvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1MTNFNUI3
MTg1QjhCRDMwMDdFOTVBRCAvKiBJbmplY3RlZFNjcmlwdC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkwRjVBNjI4MzE4OEM5OEQ0MDA3MkM5REYgLyogRlRMVmFsdWVSYW5nZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRjkzMzI5RDE0Q0E3REMzMDA4NUYzQzYgLyogQ2FsbExpbmtTdGF0dXMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEY3M0Q3QUUxNjVBMTQyRDAwQUNBQjcxIC8qIENsb3N1cmVD
YWxsU3R1YlJvdXRpbmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTY5QTA3OTYwRUQxRDNBRTAw
RjFGNjgxIC8qIENvZGVCbG9jay5jcHAgaW4gU291cmNlcyAqLywKQEAgLTU3NTQsNiArNTgzMiw3
IEBACiAJCQkJMEY2Mzk0ODQxNUU0ODExODAwNkE1OTdDIC8qIERGR0FycmF5TW9kZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBN0Q5QTI5NDE3QTBCQzc0MDBFRTI2MTggLyogREZHQXRUYWlsQWJz
dHJhY3RTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjcxNENBNDE2RUE5MkYwMDBGM0VC
RUIgLyogREZHQmFja3dhcmRzUHJvcGFnYXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlGRUI1OEMxNDE4N0I4QjE2MDA5OEVGMEIgLyogRXJyb3JIYW5kbGluZ1Njb3BlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE3RDg5Q0YyMTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdCYXNpY0Jsb2Nr
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3MEIwODMyMTdBMEI3OUIwMERBRjE0QiAvKiBERkdC
aW5hcnlTd2l0Y2guY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTdEODlDRjMxN0EwQjhDQzAwNzcz
QUQ4IC8qIERGR0Jsb2NrSW5zZXJ0aW9uU2V0LmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTgzMSw5
ICs1OTEwLDExIEBACiAJCQkJODY4ODBGNEQxNDM1M0IyMTAwQjA4RDQyIC8qIERGR1NwZWN1bGF0
aXZlSklUNjQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTdEODlDRkYxN0EwQjhDQzAwNzczQUQ4
IC8qIERGR1NTQUNvbnZlcnNpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjlGQjRG
NDE3RkNCOTE3MDBDQjY3RjggLyogREZHU3RhY2tMYXlvdXRQaGFzZS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkwRjZCMUNCRDE4NjEyNDZBMDA4NDVEOTcgLyogUmVnaXN0ZXJQcmVzZXJ2YXRpb25X
cmFwcGVyR2VuZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQzA5N0ExMTQ2QjI4Q0Ew
MENGMjQ0MiAvKiBERkdUaHVua3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEOEEzMjcxN0Q1
MUY1NzAwQ0EyQzQwIC8qIERGR1RpZXJVcENoZWNrSW5qZWN0aW9uUGhhc2UuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMEZEOEEzMjkxN0Q1MUY1NzAwQ0EyQzQwIC8qIERGR1RvRlRMRGVmZXJyZWRD
b21waWxhdGlvbkNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNDg1MzI3MTg3REZE
RUMwMDgzQjY4NyAvKiBGVExBdmFpbGFibGVSZWNvdmVyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRkQ4QTMyQjE3RDUxRjU3MDBDQTJDNDAgLyogREZHVG9GVExGb3JPU1JFbnRyeURlZmVycmVk
Q29tcGlsYXRpb25DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjYzOTQ0MDE1Qzc1
RjFEMDA2QTU5N0MgLyogREZHVHlwZUNoZWNrSG9pc3RpbmdQaGFzZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRkJFMEY3NjE2QzFEQjBGMDA4MkM1RTggLyogREZHVW5pZmljYXRpb25QaGFzZS5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTU4OTIsOSArNTk3MywxMSBAQAogCQkJCTBGQ0VGQUFCMTgw
NEMxM0UwMDQ3MkNFNCAvKiBGVExTYXZlUmVzdG9yZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkw
RjI1RjFCMTE4MTYzNUYzMDA1MjJGMzkgLyogRlRMU2xvd1BhdGhDYWxsLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGMjVGMUIzMTgxNjM1RjMwMDUyMkYzOSAvKiBGVExTbG93UGF0aENhbGxLZXku
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY2QjFDQzUxODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFVu
d2luZEluZm8uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY5RDMzOUExODAzQURCNzAwNzNDMkJD
IC8qIEZUTFN0YWNrTWFwcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEExNjE3MDZCQjkw
MDBCQjcyMkMgLyogRlRMU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJN0MwMDhDRDIxODZG
OEE5MzAwOTU1QzI0IC8qIEpTUHJvbWlzZUZ1bmN0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKKyAJ
CQkJN0MwMDhDRDIxODZGOEE5MzAwOTU1QzI0IC8qIEpTUHJvbWlzZUZ1bmN0aW9ucy5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkwRjZCMUNCNTE4NUZDOUU5MDA4NDVEOTcgLyogRlRMSlNDYWxsLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkUxMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExUaHVu
a3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTU5M0NGN0MxODQwMzYwMzAwQkZDRTI3IC8qIElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkUz
MTcxNzhFMUMwMDY5MEM3RiAvKiBGVExWYWx1ZUZvcm1hdC5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTU5ODAsNiArNjA2Myw3IEBACiAJCQkJMTQyODA4NzUxMDdFQzEzRTAwMTNFN0IyIC8qIEpTTG9j
ay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDMjVENzA5QjE2REU5OUY0MDBGQ0E2QkMgLyogSlNN
YW5hZ2VkVmFsdWUubW0gaW4gU291cmNlcyAqLywKIAkJCQlBNzAwODc0MTE3Q0JFOEVCMDBDM0U2
NDMgLyogSlNNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMEY0ODUzMjkxODdERkRFQzAwODNC
Njg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0ODc0QUUz
MTVFQkRFNEEwMDJFMzU4NyAvKiBKU05hbWVTY29wZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
NzI3MDA5MDBEQUM2QkJDMDBFNTQ4RDcgLyogSlNOb3RBbk9iamVjdC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxNDdGMzlENDEwN0VDMzc2MDA0MjdBNDggLyogSlNPYmplY3QuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC02MDk2LDYgKzYxODAsNyBAQAogCQkJCTBGNjY2RUNDMTgzNkIzN0UwMEQwMTdG
MSAvKiBERkdSZXN1cnJlY3Rpb25Gb3JWYWxpZGF0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEZCMTA1OEIxNjc1NDgzMTAwRjhBQjZFIC8qIFByb2ZpbGVyT1NSRXhpdC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkwRkIxMDU4RDE2NzU0ODM3MDBGOEFCNkUgLyogUHJvZmlsZXJPU1JF
eGl0U2l0ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcg
LyogRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjEzOTEyQjE2
NzcxQzNBMDA5Q0NCMDcgLyogUHJvZmlsZXJQcm9maWxlZEJ5dGVjb2Rlcy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBN0ZCNjBBNDEwM0Y3REMyMDAxN0EyODYgLyogUHJvcGVydHlEZXNjcmlwdG9y
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0NDY5REU3MTA3RUM3RTcwMDY1MDQ0NiAvKiBQcm9w
ZXJ0eU5hbWVBcnJheS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTYxMjUsNiArNjIxMCw3IEBACiAJ
CQkJMEY4RjJCOUUxNzMwNkM4RDAwN0RCREE1IC8qIFNvdXJjZUNvZGUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEY0OTNBRkExNkQwQ0FEMzAwODQ1MDhCIC8qIFNvdXJjZVByb3ZpZGVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUU0OURDMTZCMTJFRjI5M0UwMDE4NEExRiAvKiBTb3VyY2VQcm92
aWRlckNhY2hlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGNkIxQ0M5MTg2NDFERjgwMDg0NUQ5
NyAvKiBBcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkw
RjBDRDRDNDE1RjZCNkJCMDAzMkYxQzAgLyogU3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRjU1NDFCMTE2MTNDMUZCMDBDRTNFMjUgLyogU3BlY2lhbFBvaW50ZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEODJFODYxNDFGM0ZGMTAwMTc5Qzk0IC8qIFNwZWN1
bGF0ZWRUeXBlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oCmluZGV4IGNmYmQ4Y2VjNTZmN2I0NGNjNTM0NzAw
N2Q3NmFhZjk3MjU5N2JkODYuLmUwOTk4ZDRiN2E3NDQ3YjIwZmY0Zjc3MmU5NzE1MmNhZWMwMGY4
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNNjRBc3Nl
bWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTTY0QXNzZW1i
bGVyLmgKQEAgLTQwLDE0ICs0MCwyNiBAQAogI2RlZmluZSBEQVRBU0laRSBEQVRBU0laRV9PRihk
YXRhc2l6ZSkKICNkZWZpbmUgTUVNT1BTSVpFIE1FTU9QU0laRV9PRihkYXRhc2l6ZSkKICNkZWZp
bmUgQ0hFQ0tfRlBfTUVNT1BfREFUQVNJWkUoKSBBU1NFUlQoZGF0YXNpemUgPT0gOCB8fCBkYXRh
c2l6ZSA9PSAxNiB8fCBkYXRhc2l6ZSA9PSAzMiB8fCBkYXRhc2l6ZSA9PSA2NCB8fCBkYXRhc2l6
ZSA9PSAxMjgpCisjZGVmaW5lIE1FTVBBSVJPUFNJWkVfSU5UKGRhdGFzaXplKSAoKGRhdGFzaXpl
ID09IDY0KSA/IE1lbVBhaXJPcF82NCA6IE1lbVBhaXJPcF8zMikKKyNkZWZpbmUgTUVNUEFJUk9Q
U0laRV9GUChkYXRhc2l6ZSkgKChkYXRhc2l6ZSA9PSAxMjgpID8gTWVtUGFpck9wX1YxMjggOiAo
ZGF0YXNpemUgPT0gNjQpID8gTWVtUGFpck9wX1Y2NCA6IE1lbVBhaXJPcF8zMikKIAogbmFtZXNw
YWNlIEpTQyB7CiAKK0FMV0FZU19JTkxJTkUgYm9vbCBpc0ludDcoaW50MzJfdCB2YWx1ZSkKK3sK
KyAgICByZXR1cm4gdmFsdWUgPT0gKCh2YWx1ZSA8PCAyNSkgPj4gMjUpOworfQorCiBBTFdBWVNf
SU5MSU5FIGJvb2wgaXNJbnQ5KGludDMyX3QgdmFsdWUpCiB7CiAgICAgcmV0dXJuIHZhbHVlID09
ICgodmFsdWUgPDwgMjMpID4+IDIzKTsKIH0KIAorQUxXQVlTX0lOTElORSBib29sIGlzSW50MTEo
aW50MzJfdCB2YWx1ZSkKK3sKKyAgICByZXR1cm4gdmFsdWUgPT0gKCh2YWx1ZSA8PCAyMSkgPj4g
MjEpOworfQorCiBBTFdBWVNfSU5MSU5FIGJvb2wgaXNVSW50NShpbnQzMl90IHZhbHVlKQogewog
ICAgIHJldHVybiAhKHZhbHVlICYgfjB4MWYpOwpAQCAtMTE5LDYgKzEzMSwzNCBAQCBwcml2YXRl
OgogICAgIGludCBtX3ZhbHVlOwogfTsKIAorY2xhc3MgUGFpclBvc3RJbmRleCB7CitwdWJsaWM6
CisgICAgZXhwbGljaXQgUGFpclBvc3RJbmRleChpbnQgdmFsdWUpCisgICAgICAgIDogbV92YWx1
ZSh2YWx1ZSkKKyAgICB7CisgICAgICAgIEFTU0VSVChpc0ludDExKHZhbHVlKSk7CisgICAgfQor
CisgICAgb3BlcmF0b3IgaW50KCkgeyByZXR1cm4gbV92YWx1ZTsgfQorCitwcml2YXRlOgorICAg
IGludCBtX3ZhbHVlOworfTsKKworY2xhc3MgUGFpclByZUluZGV4IHsKK3B1YmxpYzoKKyAgICBl
eHBsaWNpdCBQYWlyUHJlSW5kZXgoaW50IHZhbHVlKQorICAgICAgICA6IG1fdmFsdWUodmFsdWUp
CisgICAgeworICAgICAgICBBU1NFUlQoaXNJbnQxMSh2YWx1ZSkpOworICAgIH0KKworICAgIG9w
ZXJhdG9yIGludCgpIHsgcmV0dXJuIG1fdmFsdWU7IH0KKworcHJpdmF0ZToKKyAgICBpbnQgbV92
YWx1ZTsKK307CisKIGNsYXNzIExvZ2ljYWxJbW1lZGlhdGUgewogcHVibGljOgogICAgIHN0YXRp
YyBMb2dpY2FsSW1tZWRpYXRlIGNyZWF0ZTMyKHVpbnQzMl90IHZhbHVlKQpAQCAtODIzLDYgKzg2
MywxNiBAQCBwcml2YXRlOgogICAgICAgICBNZW1PcF9MT0FEX3NpZ25lZDMyID0gMyAvLyBzaXpl
IG1heSBiZSAwIG9yIDEKICAgICB9OwogCisgICAgZW51bSBNZW1QYWlyT3BTaXplIHsKKyAgICAg
ICAgTWVtUGFpck9wXzMyID0gMCwKKyAgICAgICAgTWVtUGFpck9wX0xvYWRTaWduZWRfMzIgPSAx
LAorICAgICAgICBNZW1QYWlyT3BfNjQgPSAyLAorCisgICAgICAgIE1lbVBhaXJPcF9WMzIgPSBN
ZW1QYWlyT3BfMzIsCisgICAgICAgIE1lbVBhaXJPcF9WNjQgPSAxLAorICAgICAgICBNZW1QYWly
T3BfVjEyOCA9IDIKKyAgICB9OworCiAgICAgZW51bSBNb3ZlV2lkZU9wIHsKICAgICAgICAgTW92
ZVdpZGVPcF9OID0gMCwKICAgICAgICAgTW92ZVdpZGVPcF9aID0gMiwKQEAgLTgzNiw2ICs4ODYs
MTQgQEAgcHJpdmF0ZToKICAgICAgICAgTGRyTGl0ZXJhbE9wXzEyOEJJVCA9IDIKICAgICB9Owog
CisgICAgc3RhdGljIHVuc2lnbmVkIG1lbVBhaXJPZmZzZXRTaGlmdChib29sIFYsIE1lbVBhaXJP
cFNpemUgc2l6ZSkKKyAgICB7CisgICAgICAgIC8vIHJldHVybiB0aGUgbG9nMiBvZiB0aGUgc2l6
ZSBpbiBieXRlcywgZS5nLiA2NCBiaXQgc2l6ZSByZXR1cm5zIDMKKyAgICAgICAgaWYgKFYpCisg
ICAgICAgICAgICByZXR1cm4gc2l6ZSArIDI7CisgICAgICAgIHJldHVybiAoc2l6ZSA+PiAxKSAr
IDI7CisgICAgfQorCiBwdWJsaWM6CiAgICAgLy8gSW50ZWdlciBJbnN0cnVjdGlvbnM6CiAKQEAg
LTg3MSw4ICs5MjksOSBAQCBwdWJsaWM6CiAgICAgQUxXQVlTX0lOTElORSB2b2lkIGFkZChSZWdp
c3RlcklEIHJkLCBSZWdpc3RlcklEIHJuLCBSZWdpc3RlcklEIHJtLCBTaGlmdFR5cGUgc2hpZnQs
IGludCBhbW91bnQpCiAgICAgewogICAgICAgICBDSEVDS19EQVRBU0laRSgpOwotICAgICAgICBp
ZiAoaXNTcChybikpIHsKKyAgICAgICAgaWYgKGlzU3AocmQpIHx8IGlzU3Aocm4pKSB7CiAgICAg
ICAgICAgICBBU1NFUlQoc2hpZnQgPT0gTFNMKTsKKyAgICAgICAgICAgIEFTU0VSVCghaXNTcChy
bSkpOwogICAgICAgICAgICAgYWRkPGRhdGFzaXplLCBzZXRGbGFncz4ocmQsIHJuLCBybSwgVVhU
WCwgYW1vdW50KTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBpbnNuKGFkZFN1YnRyYWN0
U2hpZnRlZFJlZ2lzdGVyKERBVEFTSVpFLCBBZGRPcF9BREQsIHNldEZsYWdzLCBzaGlmdCwgcm0s
IGFtb3VudCwgcm4sIHJkKSk7CkBAIC0xMjE2LDYgKzEyNzUsMjAgQEAgcHVibGljOgogICAgIH0K
IAogICAgIHRlbXBsYXRlPGludCBkYXRhc2l6ZT4KKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgbGRw
KFJlZ2lzdGVySUQgcnQsIFJlZ2lzdGVySUQgcnQyLCBSZWdpc3RlcklEIHJuLCBQYWlyUG9zdElu
ZGV4IHNpbW0pCisgICAgeworICAgICAgICBDSEVDS19EQVRBU0laRSgpOworICAgICAgICBpbnNu
KGxvYWRTdG9yZVJlZ2lzdGVyUGFpclBvc3RJbmRleChNRU1QQUlST1BTSVpFX0lOVChkYXRhc2l6
ZSksIGZhbHNlLCBNZW1PcF9MT0FELCBzaW1tLCBybiwgcnQsIHJ0MikpOworICAgIH0KKworICAg
IHRlbXBsYXRlPGludCBkYXRhc2l6ZT4KKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgbGRwKFJlZ2lz
dGVySUQgcnQsIFJlZ2lzdGVySUQgcnQyLCBSZWdpc3RlcklEIHJuLCBQYWlyUHJlSW5kZXggc2lt
bSkKKyAgICB7CisgICAgICAgIENIRUNLX0RBVEFTSVpFKCk7CisgICAgICAgIGluc24obG9hZFN0
b3JlUmVnaXN0ZXJQYWlyUHJlSW5kZXgoTUVNUEFJUk9QU0laRV9JTlQoZGF0YXNpemUpLCBmYWxz
ZSwgTWVtT3BfTE9BRCwgc2ltbSwgcm4sIHJ0LCBydDIpKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0
ZTxpbnQgZGF0YXNpemU+CiAgICAgQUxXQVlTX0lOTElORSB2b2lkIGxkcihSZWdpc3RlcklEIHJ0
LCBSZWdpc3RlcklEIHJuLCBSZWdpc3RlcklEIHJtKQogICAgIHsKICAgICAgICAgbGRyPGRhdGFz
aXplPihydCwgcm4sIHJtLCBVWFRYLCAwKTsKQEAgLTE3NDgsNiArMTgyMSwyMCBAQCBwdWJsaWM6
CiAgICAgfQogCiAgICAgdGVtcGxhdGU8aW50IGRhdGFzaXplPgorICAgIEFMV0FZU19JTkxJTkUg
dm9pZCBzdHAoUmVnaXN0ZXJJRCBydCwgUmVnaXN0ZXJJRCBydDIsIFJlZ2lzdGVySUQgcm4sIFBh
aXJQb3N0SW5kZXggc2ltbSkKKyAgICB7CisgICAgICAgIENIRUNLX0RBVEFTSVpFKCk7CisgICAg
ICAgIGluc24obG9hZFN0b3JlUmVnaXN0ZXJQYWlyUG9zdEluZGV4KE1FTVBBSVJPUFNJWkVfSU5U
KGRhdGFzaXplKSwgZmFsc2UsIE1lbU9wX1NUT1JFLCBzaW1tLCBybiwgcnQsIHJ0MikpOworICAg
IH0KKworICAgIHRlbXBsYXRlPGludCBkYXRhc2l6ZT4KKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQg
c3RwKFJlZ2lzdGVySUQgcnQsIFJlZ2lzdGVySUQgcnQyLCBSZWdpc3RlcklEIHJuLCBQYWlyUHJl
SW5kZXggc2ltbSkKKyAgICB7CisgICAgICAgIENIRUNLX0RBVEFTSVpFKCk7CisgICAgICAgIGlu
c24obG9hZFN0b3JlUmVnaXN0ZXJQYWlyUHJlSW5kZXgoTUVNUEFJUk9QU0laRV9JTlQoZGF0YXNp
emUpLCBmYWxzZSwgTWVtT3BfU1RPUkUsIHNpbW0sIHJuLCBydCwgcnQyKSk7CisgICAgfQorCisg
ICAgdGVtcGxhdGU8aW50IGRhdGFzaXplPgogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzdHIoUmVn
aXN0ZXJJRCBydCwgUmVnaXN0ZXJJRCBybiwgUmVnaXN0ZXJJRCBybSkKICAgICB7CiAgICAgICAg
IHN0cjxkYXRhc2l6ZT4ocnQsIHJuLCBybSwgVVhUWCwgMCk7CkBAIC0xODc2LDggKzE5NjMsOSBA
QCBwdWJsaWM6CiAgICAgQUxXQVlTX0lOTElORSB2b2lkIHN1YihSZWdpc3RlcklEIHJkLCBSZWdp
c3RlcklEIHJuLCBSZWdpc3RlcklEIHJtLCBTaGlmdFR5cGUgc2hpZnQsIGludCBhbW91bnQpCiAg
ICAgewogICAgICAgICBDSEVDS19EQVRBU0laRSgpOwotICAgICAgICBpZiAoaXNTcChybikpIHsK
KyAgICAgICAgaWYgKGlzU3AocmQpIHx8IGlzU3Aocm4pKSB7CiAgICAgICAgICAgICBBU1NFUlQo
c2hpZnQgPT0gTFNMKTsKKyAgICAgICAgICAgIEFTU0VSVCghaXNTcChybSkpOwogICAgICAgICAg
ICAgc3ViPGRhdGFzaXplLCBzZXRGbGFncz4ocmQsIHJuLCBybSwgVVhUWCwgYW1vdW50KTsKICAg
ICAgICAgfSBlbHNlCiAgICAgICAgICAgICBpbnNuKGFkZFN1YnRyYWN0U2hpZnRlZFJlZ2lzdGVy
KERBVEFTSVpFLCBBZGRPcF9TVUIsIHNldEZsYWdzLCBzaGlmdCwgcm0sIGFtb3VudCwgcm4sIHJk
KSk7CkBAIC0zMzYxLDYgKzM0NDksMjMgQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICAvLyAnVicg
bWVhbnMgdmVjdG9yCisgICAgQUxXQVlTX0lOTElORSBzdGF0aWMgaW50IGxvYWRTdG9yZVJlZ2lz
dGVyUGFpclBvc3RJbmRleChNZW1QYWlyT3BTaXplIHNpemUsIGJvb2wgViwgTWVtT3Agb3BjLCBp
bnQgaW1tZWRpYXRlLCBSZWdpc3RlcklEIHJuLCBGUFJlZ2lzdGVySUQgcnQsIEZQUmVnaXN0ZXJJ
RCBydDIpCisgICAgeworICAgICAgICBBU1NFUlQoc2l6ZSA8IDMpOworICAgICAgICBBU1NFUlQo
b3BjID09IChvcGMgJiAxKSk7IC8vIE9ubHkgbG9hZCBvciBzdG9yZSwgbG9hZCBzaWduZWQgNjQg
aXMgaGFuZGxlZCB2aWEgc2l6ZS4KKyAgICAgICAgQVNTRVJUKFYgfHwgKHNpemUgIT0gTWVtUGFp
ck9wX0xvYWRTaWduZWRfMzIpIHx8IChvcGMgPT0gTWVtT3BfTE9BRCkpOyAvLyBUaGVyZSBpc24n
dCBhbiBpbnRlZ2VyIHN0b3JlIHNpZ25lZC4KKyAgICAgICAgdW5zaWduZWQgaW1tZWRTaGlmdEFt
b3VudCA9IG1lbVBhaXJPZmZzZXRTaGlmdChWLCBzaXplKTsKKyAgICAgICAgaW50IGltbTcgPSBp
bW1lZGlhdGUgPj4gaW1tZWRTaGlmdEFtb3VudDsKKyAgICAgICAgQVNTRVJUKChpbW03IDw8IGlt
bWVkU2hpZnRBbW91bnQpID09IGltbWVkaWF0ZSAmJiBpc0ludDcoaW1tNykpOworICAgICAgICBy
ZXR1cm4gKDB4Mjg4MDAwMDAgfCBzaXplIDw8IDMwIHwgViA8PCAyNiB8IG9wYyA8PCAyMiB8IChp
bW03ICYgMHg3ZikgPDwgMTUgfCBydDIgPDwgMTAgfCB4T3JTcChybikgPDwgNSB8IHJ0KTsKKyAg
ICB9CisKKyAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBpbnQgbG9hZFN0b3JlUmVnaXN0ZXJQYWly
UG9zdEluZGV4KE1lbVBhaXJPcFNpemUgc2l6ZSwgYm9vbCBWLCBNZW1PcCBvcGMsIGludCBpbW1l
ZGlhdGUsIFJlZ2lzdGVySUQgcm4sIFJlZ2lzdGVySUQgcnQsIFJlZ2lzdGVySUQgcnQyKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGxvYWRTdG9yZVJlZ2lzdGVyUGFpclBvc3RJbmRleChzaXplLCBW
LCBvcGMsIGltbWVkaWF0ZSwgcm4sIHhPclpyQXNGUFIocnQpLCB4T3JackFzRlBSKHJ0MikpOwor
ICAgIH0KKworICAgIC8vICdWJyBtZWFucyB2ZWN0b3IKICAgICBBTFdBWVNfSU5MSU5FIHN0YXRp
YyBpbnQgbG9hZFN0b3JlUmVnaXN0ZXJQcmVJbmRleChNZW1PcFNpemUgc2l6ZSwgYm9vbCBWLCBN
ZW1PcCBvcGMsIGludCBpbW05LCBSZWdpc3RlcklEIHJuLCBGUFJlZ2lzdGVySUQgcnQpCiAgICAg
ewogICAgICAgICBBU1NFUlQoIShzaXplICYmIFYgJiYgKG9wYyAmIDIpKSk7IC8vIE1heGltdW0g
dmVjdG9yIHNpemUgaXMgMTI4IGJpdHMuCkBAIC0zMzc1LDYgKzM0ODAsMjMgQEAgcHJpdmF0ZToK
ICAgICB9CiAKICAgICAvLyAnVicgbWVhbnMgdmVjdG9yCisgICAgQUxXQVlTX0lOTElORSBzdGF0
aWMgaW50IGxvYWRTdG9yZVJlZ2lzdGVyUGFpclByZUluZGV4KE1lbVBhaXJPcFNpemUgc2l6ZSwg
Ym9vbCBWLCBNZW1PcCBvcGMsIGludCBpbW1lZGlhdGUsIFJlZ2lzdGVySUQgcm4sIEZQUmVnaXN0
ZXJJRCBydCwgRlBSZWdpc3RlcklEIHJ0MikKKyAgICB7CisgICAgICAgIEFTU0VSVChzaXplIDwg
Myk7CisgICAgICAgIEFTU0VSVChvcGMgPT0gKG9wYyAmIDEpKTsgLy8gT25seSBsb2FkIG9yIHN0
b3JlLCBsb2FkIHNpZ25lZCA2NCBpcyBoYW5kbGVkIHZpYSBzaXplLgorICAgICAgICBBU1NFUlQo
ViB8fCAoc2l6ZSAhPSBNZW1QYWlyT3BfTG9hZFNpZ25lZF8zMikgfHwgKG9wYyA9PSBNZW1PcF9M
T0FEKSk7IC8vIFRoZXJlIGlzbid0IGFuIGludGVnZXIgc3RvcmUgc2lnbmVkLgorICAgICAgICB1
bnNpZ25lZCBpbW1lZFNoaWZ0QW1vdW50ID0gbWVtUGFpck9mZnNldFNoaWZ0KFYsIHNpemUpOwor
ICAgICAgICBpbnQgaW1tNyA9IGltbWVkaWF0ZSA+PiBpbW1lZFNoaWZ0QW1vdW50OworICAgICAg
ICBBU1NFUlQoKGltbTcgPDwgaW1tZWRTaGlmdEFtb3VudCkgPT0gaW1tZWRpYXRlICYmIGlzSW50
NyhpbW03KSk7CisgICAgICAgIHJldHVybiAoMHgyOTgwMDAwMCB8IHNpemUgPDwgMzAgfCBWIDw8
IDI2IHwgb3BjIDw8IDIyIHwgKGltbTcgJiAweDdmKSA8PCAxNSB8IHJ0MiA8PCAxMCB8IHhPclNw
KHJuKSA8PCA1IHwgcnQpOworICAgIH0KKworICAgIEFMV0FZU19JTkxJTkUgc3RhdGljIGludCBs
b2FkU3RvcmVSZWdpc3RlclBhaXJQcmVJbmRleChNZW1QYWlyT3BTaXplIHNpemUsIGJvb2wgViwg
TWVtT3Agb3BjLCBpbnQgaW1tZWRpYXRlLCBSZWdpc3RlcklEIHJuLCBSZWdpc3RlcklEIHJ0LCBS
ZWdpc3RlcklEIHJ0MikKKyAgICB7CisgICAgICAgIHJldHVybiBsb2FkU3RvcmVSZWdpc3RlclBh
aXJQcmVJbmRleChzaXplLCBWLCBvcGMsIGltbWVkaWF0ZSwgcm4sIHhPclpyQXNGUFIocnQpLCB4
T3JackFzRlBSKHJ0MikpOworICAgIH0KKworICAgIC8vICdWJyBtZWFucyB2ZWN0b3IKICAgICAv
LyAnUycgbWVhbnMgc2hpZnQgcm0KICAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBpbnQgbG9hZFN0
b3JlUmVnaXN0ZXJSZWdpc3Rlck9mZnNldChNZW1PcFNpemUgc2l6ZSwgYm9vbCBWLCBNZW1PcCBv
cGMsIFJlZ2lzdGVySUQgcm0sIEV4dGVuZFR5cGUgb3B0aW9uLCBib29sIFMsIFJlZ2lzdGVySUQg
cm4sIEZQUmVnaXN0ZXJJRCBydCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL0FSTXY3QXNzZW1ibGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL0FSTXY3QXNzZW1ibGVyLmgKaW5kZXggNTI1N2YzMmE4M2I4NDYzN2NkNjgzZjBi
ODFjOWMwZmU1MGMyYmYyMS4uNTliZjI0Mjc1ODhmMTEwYTIxMmJmZDNiNjlmZDZmZTIyY2JhMzFj
OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fzc2Vt
Ymxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNdjdBc3NlbWJs
ZXIuaApAQCAtNjU0LDYgKzY1NCw4IEBAIHByaXZhdGU6CiAgICAgdHlwZWRlZiBlbnVtIHsKICAg
ICAgICAgT1BfQl9UMSAgICAgICAgID0gMHhEMDAwLAogICAgICAgICBPUF9CX1QyICAgICAgICAg
PSAweEUwMDAsCisgICAgICAgIE9QX1BPUF9UMiAgICAgICA9IDB4RThCRCwKKyAgICAgICAgT1Bf
UFVTSF9UMiAgICAgID0gMHhFOTJELAogICAgICAgICBPUF9BTkRfcmVnX1QyICAgPSAweEVBMDAs
CiAgICAgICAgIE9QX1RTVF9yZWdfVDIgICA9IDB4RUExMCwKICAgICAgICAgT1BfT1JSX3JlZ19U
MiAgID0gMHhFQTQwLApAQCAtODk0LDYgKzg5NiwxMSBAQCBwdWJsaWM6CiAgICAgLy8gTk9URTog
SW4gYW4gSVQgYmxvY2ssIGFkZCBkb2Vzbid0IG1vZGlmeSB0aGUgZmxhZ3MgcmVnaXN0ZXIuCiAg
ICAgQUxXQVlTX0lOTElORSB2b2lkIGFkZChSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJuLCBS
ZWdpc3RlcklEIHJtKQogICAgIHsKKyAgICAgICAgaWYgKHJkID09IEFSTVJlZ2lzdGVyczo6c3Ap
IHsKKyAgICAgICAgICAgIG1vdihyZCwgcm4pOworICAgICAgICAgICAgcm4gPSByZDsKKyAgICAg
ICAgfQorCiAgICAgICAgIGlmIChyZCA9PSBybikKICAgICAgICAgICAgIG1fZm9ybWF0dGVyLm9u
ZVdvcmRPcDhSZWdSZWcxNDMoT1BfQUREX3JlZ19UMiwgcm0sIHJkKTsKICAgICAgICAgZWxzZSBp
ZiAocmQgPT0gcm0pCkBAIC0xNDg4LDYgKzE0OTUsMjIgQEAgcHVibGljOgogICAgICAgICBtX2Zv
cm1hdHRlci50d29Xb3JkT3AxMlJlZzRGb3VyRm91cnMoT1BfUk9SX3JlZ19UMiwgcm4sIEZvdXJG
b3VycygweGYsIHJkLCAwLCBybSkpOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBw
b3AodWludDMyX3QgcmVnaXN0ZXJMaXN0KQorICAgIHsKKyAgICAgICAgQVNTRVJUKFdURjo6Yml0
Q291bnQocmVnaXN0ZXJMaXN0KSA+IDEpOworICAgICAgICBBU1NFUlQoISgoMSA8PCBBUk1SZWdp
c3RlcnM6OnBjKSAmIHJlZ2lzdGVyTGlzdCkgfHwgISgoMSA8PCBBUk1SZWdpc3RlcnM6OmxyKSAm
IHJlZ2lzdGVyTGlzdCkpOworICAgICAgICBBU1NFUlQoISgoMSA8PCBBUk1SZWdpc3RlcnM6OnNw
KSAmIHJlZ2lzdGVyTGlzdCkpOworICAgICAgICBtX2Zvcm1hdHRlci50d29Xb3JkT3AxNkltbTE2
KE9QX1BPUF9UMiwgcmVnaXN0ZXJMaXN0KTsKKyAgICB9CisKKyAgICBBTFdBWVNfSU5MSU5FIHZv
aWQgcHVzaCh1aW50MzJfdCByZWdpc3Rlckxpc3QpCisgICAgeworICAgICAgICBBU1NFUlQoV1RG
OjpiaXRDb3VudChyZWdpc3Rlckxpc3QpID4gMSk7CisgICAgICAgIEFTU0VSVCghKCgxIDw8IEFS
TVJlZ2lzdGVyczo6cGMpICYgcmVnaXN0ZXJMaXN0KSk7CisgICAgICAgIEFTU0VSVCghKCgxIDw8
IEFSTVJlZ2lzdGVyczo6c3ApICYgcmVnaXN0ZXJMaXN0KSk7CisgICAgICAgIG1fZm9ybWF0dGVy
LnR3b1dvcmRPcDE2SW1tMTYoT1BfUFVTSF9UMiwgcmVnaXN0ZXJMaXN0KTsKKyAgICB9CisKICNp
ZiBDUFUoQVBQTEVfQVJNVjdTKQogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZGl2KFJlZ2lzdGVy
SUQgcmQsIFJlZ2lzdGVySUQgcm4sIFJlZ2lzdGVySUQgcm0pCiAgICAgewpAQCAtMjc5MSw2ICsy
ODE0LDEyIEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX2J1ZmZlci5wdXRTaG9ydChvcDIpOwog
ICAgICAgICB9CiAKKyAgICAgICAgQUxXQVlTX0lOTElORSB2b2lkIHR3b1dvcmRPcDE2SW1tMTYo
T3Bjb2RlSUQxIG9wMSwgdWludDE2X3QgaW1tKQorICAgICAgICB7CisgICAgICAgICAgICBtX2J1
ZmZlci5wdXRTaG9ydChvcDEpOworICAgICAgICAgICAgbV9idWZmZXIucHV0U2hvcnQoaW1tKTsK
KyAgICAgICAgfQorICAgICAgICAKICAgICAgICAgQUxXQVlTX0lOTElORSB2b2lkIHR3b1dvcmRP
cDVpNkltbTRSZWc0RW5jb2RlZEltbShPcGNvZGVJRDEgb3AsIGludCBpbW00LCBSZWdpc3RlcklE
IHJkLCBBUk1UaHVtYkltbWVkaWF0ZSBpbW0pCiAgICAgICAgIHsKICAgICAgICAgICAgIEFSTVRo
dW1iSW1tZWRpYXRlIG5ld0ltbSA9IGltbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKaW5kZXggMjg1MzcyMDFi
MzllYjIzMWY1MDQ4NzYzNzdiNjZkYjNhYzNlZTI4MC4uN2Q3ZWU3OTFhNmMzZTE4NWQ2MTkyYzZl
MTNjZTI2N2MzNmFkOTVjYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTE0MCw3ICsxNDAsNyBAQCBw
dWJsaWM6CiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBBZGRyZXNzKGJhc2UsIG9mZnNl
dCArIGFkZGl0aW9uYWxPZmZzZXQpOwogICAgICAgICB9Ci0KKyAgICAgICAgCiAgICAgICAgIFJl
Z2lzdGVySUQgYmFzZTsKICAgICAgICAgaW50MzJfdCBvZmZzZXQ7CiAgICAgfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuY3BwCmluZGV4IGE3ZjQ2OWRh
ODkyZmY0ZDMxZDQ2ZGE0NzUyYzliMWMyN2EwYWYzZjAuLmFmMTRlMzNlYWMwNTk3ZjJkNzhjNGIz
Y2QxNjM1NDExZGFiYTk2NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTGlua0J1ZmZlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9MaW5rQnVmZmVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTIsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDEyLCAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsMTIgKzI4LDIxIEBACiAKICNpZiBFTkFC
TEUoQVNTRU1CTEVSKQogCisjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCisjaW5jbHVkZSAiSklUQ29k
ZS5oIgogI2luY2x1ZGUgIk9wdGlvbnMuaCIKICNpbmNsdWRlICJWTS5oIgogI2luY2x1ZGUgPHd0
Zi9Db21waWxhdGlvblRocmVhZC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAorYm9vbCBzaG91bGRT
aG93RGlzYXNzZW1ibHlGb3IoQ29kZUJsb2NrKiBjb2RlQmxvY2spCit7CisgICAgaWYgKEpJVENv
ZGU6OmlzT3B0aW1pemluZ0pJVChjb2RlQmxvY2stPmppdFR5cGUoKSkgJiYgT3B0aW9uczo6c2hv
d0RGR0Rpc2Fzc2VtYmx5KCkpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBPcHRp
b25zOjpzaG93RGlzYXNzZW1ibHkoKTsKK30KKwogTGlua0J1ZmZlcjo6Q29kZVJlZiBMaW5rQnVm
ZmVyOjpmaW5hbGl6ZUNvZGVXaXRob3V0RGlzYXNzZW1ibHkoKQogewogICAgIHBlcmZvcm1GaW5h
bGl6YXRpb24oKTsKQEAgLTQ3LDggKzU2LDYgQEAgTGlua0J1ZmZlcjo6Q29kZVJlZiBMaW5rQnVm
ZmVyOjpmaW5hbGl6ZUNvZGVXaXRob3V0RGlzYXNzZW1ibHkoKQogCiBMaW5rQnVmZmVyOjpDb2Rl
UmVmIExpbmtCdWZmZXI6OmZpbmFsaXplQ29kZVdpdGhEaXNhc3NlbWJseShjb25zdCBjaGFyKiBm
b3JtYXQsIC4uLikKIHsKLSAgICBBU1NFUlQoT3B0aW9uczo6c2hvd0Rpc2Fzc2VtYmx5KCkgfHwg
T3B0aW9uczo6c2hvd0RGR0Rpc2Fzc2VtYmx5KCkpOwotICAgIAogICAgIENvZGVSZWYgcmVzdWx0
ID0gZmluYWxpemVDb2RlV2l0aG91dERpc2Fzc2VtYmx5KCk7CiAKICNpZiBFTkFCTEUoRElTQVNT
RU1CTEVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5r
QnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaApp
bmRleCA4ZDRjZTUyMWYyODRlNWRlMzQ2OWNlZDg5NjRjOWVjYzA4ZWYzNTc2Li42YWJhMDc1ODJh
NGMyZjIzNGRmNzllMTNmMjRjNTNjYTcxN2ZjYTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDksIDIwMTAsIDIwMTIsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDEyLCAyMDEzLCAyMDE0IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtNDMsNiArNDMsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgQ29kZUJsb2Nr
OwogY2xhc3MgVk07CiAKIC8vIExpbmtCdWZmZXI6CkBAIC0xNjQsNiArMTY1LDExIEBAIHB1Ymxp
YzoKICAgICB9CiAKICAgICAvLyBUaGVzZSBtZXRob2RzIGFyZSB1c2VkIHRvIG9idGFpbiBoYW5k
bGVzIHRvIGFsbG93IHRoZSBjb2RlIHRvIGJlIHJlbGlua2VkIC8gcmVwYXRjaGVkIGxhdGVyLgor
ICAgIAorICAgIENvZGVMb2NhdGlvbkxhYmVsIGVudHJ5cG9pbnQoKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIENvZGVMb2NhdGlvbkxhYmVsKGNvZGUoKSk7CisgICAgfQogCiAgICAgQ29kZUxvY2F0
aW9uQ2FsbCBsb2NhdGlvbk9mKENhbGwgY2FsbCkKICAgICB7CkBAIC0zMDMsNiArMzA5LDExIEBA
IHByaXZhdGU6CiAgICAgID8gKChsaW5rQnVmZmVyUmVmZXJlbmNlKS5maW5hbGl6ZUNvZGVXaXRo
RGlzYXNzZW1ibHkgZGF0YUxvZ0ZBcmd1bWVudHNGb3JIZWFkaW5nKSBcCiAgICAgIDogKGxpbmtC
dWZmZXJSZWZlcmVuY2UpLmZpbmFsaXplQ29kZVdpdGhvdXREaXNhc3NlbWJseSgpKQogCitib29s
IHNob3VsZFNob3dEaXNhc3NlbWJseUZvcihDb2RlQmxvY2sqIGNvZGVCbG9jayk7CisKKyNkZWZp
bmUgRklOQUxJWkVfQ09ERV9GT1IoY29kZUJsb2NrLCBsaW5rQnVmZmVyUmVmZXJlbmNlLCBkYXRh
TG9nRkFyZ3VtZW50c0ZvckhlYWRpbmcpICBcCisgICAgRklOQUxJWkVfQ09ERV9JRihzaG91bGRT
aG93RGlzYXNzZW1ibHlGb3IoY29kZUJsb2NrKSwgbGlua0J1ZmZlclJlZmVyZW5jZSwgZGF0YUxv
Z0ZBcmd1bWVudHNGb3JIZWFkaW5nKQorCiAvLyBVc2UgdGhpcyB0byBmaW5hbGl6ZSBjb2RlLCBs
aWtlIHNvOgogLy8KIC8vIENvZGVSZWYgY29kZSA9IEZJTkFMSVpFX0NPREUobGlua0J1ZmZlciwg
KCJteSBzdXBlciB0aGluZ3kgbnVtYmVyICVkIiwgbnVtYmVyKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgKaW5kZXggNGE0M2ViNjI1Y2Rj
MzhlMWUxN2NiYjY3NDcxY2M4OWJiMmQ2ODExMC4uNWVlNTI1NTc5YjdmMDA4NGM1YjUyNTJjYjAx
MzdkMzM4NGViZjc0MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9NYWNyb0Fzc2VtYmxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXIuaApAQCAtNTk1LDYgKzU5NSwxMSBAQCBwdWJsaWM6CiAgICAgICAgIHN0
b3JlMzIoVHJ1c3RlZEltbTMyKGltbSksIGFkZHJlc3MpOwogICAgIH0KIAorICAgIHZvaWQgc3Rv
cmVQdHIoVHJ1c3RlZEltbTMyIGltbSwgSW1wbGljaXRBZGRyZXNzIGFkZHJlc3MpCisgICAgewor
ICAgICAgICBzdG9yZTMyKGltbSwgYWRkcmVzcyk7CisgICAgfQorCiAgICAgdm9pZCBzdG9yZVB0
cihUcnVzdGVkSW1tUHRyIGltbSwgQmFzZUluZGV4IGFkZHJlc3MpCiAgICAgewogICAgICAgICBz
dG9yZTMyKFRydXN0ZWRJbW0zMihpbW0pLCBhZGRyZXNzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmgKaW5kZXggMzBhYWVl
NjYxZjYxMDhmYzNjODg5NGFkZWVjODU3NTU1ZDQ4NTc3Yi4uNDI4NTdiNDQxZGFlN2M2OTg3MTBk
MzU4OTEyN2ZiYjUwNmI2YWNlMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmgKQEAgLTIwMSw3ICsyMDEsMTAgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBhZGQ2NChSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQog
ICAgIHsKLSAgICAgICAgbV9hc3NlbWJsZXIuYWRkPDY0PihkZXN0LCBkZXN0LCBzcmMpOworICAg
ICAgICBpZiAoc3JjID09IEFSTTY0UmVnaXN0ZXJzOjpzcCkKKyAgICAgICAgICAgIG1fYXNzZW1i
bGVyLmFkZDw2ND4oZGVzdCwgc3JjLCBkZXN0KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
bV9hc3NlbWJsZXIuYWRkPDY0PihkZXN0LCBkZXN0LCBzcmMpOwogICAgIH0KIAogICAgIHZvaWQg
YWRkNjQoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBkZXN0KQpAQCAtMTQzNyw2ICsxNDQw
LDE2IEBAIHB1YmxpYzoKICAgICAgICAgQ1JBU0goKTsKICAgICB9CiAKKyAgICB2b2lkIHBvcFBh
aXIoUmVnaXN0ZXJJRCBkZXN0MSwgUmVnaXN0ZXJJRCBkZXN0MikKKyAgICB7CisgICAgICAgIG1f
YXNzZW1ibGVyLmxkcDw2ND4oZGVzdDEsIGRlc3QyLCBBUk02NFJlZ2lzdGVyczo6c3AsIFBhaXJQ
b3N0SW5kZXgoMTYpKTsKKyAgICB9CisKKyAgICB2b2lkIHB1c2hQYWlyKFJlZ2lzdGVySUQgc3Jj
MSwgUmVnaXN0ZXJJRCBzcmMyKQorICAgIHsKKyAgICAgICAgbV9hc3NlbWJsZXIuc3RwPDY0Pihz
cmMxLCBzcmMyLCBBUk02NFJlZ2lzdGVyczo6c3AsIFBhaXJQcmVJbmRleCgtMTYpKTsKKyAgICB9
CisKICAgICB2b2lkIHBvcFRvUmVzdG9yZShSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAg
ICBtX2Fzc2VtYmxlci5sZHI8NjQ+KGRlc3QsIEFSTTY0UmVnaXN0ZXJzOjpzcCwgUG9zdEluZGV4
KDE2KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQVJNdjcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9B
c3NlbWJsZXJBUk12Ny5oCmluZGV4IDFhOWUyMmJjODllYTMyN2EwNWY4Y2Q0ZTlkZDFmZWNjMGE2
MjJkMzQuLjllNjRkYmQ3MjM1YmZkNDAxZjhjOGZkNDNlYmQxOTc1NWVjYmUzY2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12
Ny5oCkBAIC0xNzAsNiArMTcwLDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZDMyKFRydXN0ZWRJ
bW0zMiBpbW0sIFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAg
ICBBUk1UaHVtYkltbWVkaWF0ZSBhcm1JbW0gPSBBUk1UaHVtYkltbWVkaWF0ZTo6bWFrZVVJbnQx
Mk9yRW5jb2RlZEltbShpbW0ubV92YWx1ZSk7CisKKyAgICAgICAgLy8gRm9yIGFkZHMgd2l0aCBz
dGFjayBwb2ludGVyIGRlc3RpbmF0aW9uLCBtb3ZpbmcgdGhlIHNyYyBmaXJzdCB0byBzcCBpcwor
ICAgICAgICAvLyBuZWVkZWQgdG8gYXZvaWQgdW5wcmVkaWN0YWJsZSBpbnN0cnVjdGlvbgorICAg
ICAgICBpZiAoZGVzdCA9PSBBUk1SZWdpc3RlcnM6OnNwICYmIHNyYyAhPSBkZXN0KSB7CisgICAg
ICAgICAgICBtb3ZlKHNyYywgQVJNUmVnaXN0ZXJzOjpzcCk7CisgICAgICAgICAgICBzcmMgPSBB
Uk1SZWdpc3RlcnM6OnNwOworICAgICAgICB9CisKICAgICAgICAgaWYgKGFybUltbS5pc1ZhbGlk
KCkpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGQoZGVzdCwgc3JjLCBhcm1JbW0pOwogICAg
ICAgICBlbHNlIHsKQEAgLTExNjAsNiArMTE2OCwxNiBAQCBwdWJsaWM6CiAgICAgICAgIHB1c2go
ZGF0YVRlbXBSZWdpc3Rlcik7CiAgICAgfQogCisgICAgdm9pZCBwb3BQYWlyKFJlZ2lzdGVySUQg
ZGVzdDEsIFJlZ2lzdGVySUQgZGVzdDIpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxlci5wb3Ao
MSA8PCBkZXN0MSB8IDEgPDwgZGVzdDIpOworICAgIH0KKyAgICAKKyAgICB2b2lkIHB1c2hQYWly
KFJlZ2lzdGVySUQgc3JjMSwgUmVnaXN0ZXJJRCBzcmMyKQorICAgIHsKKyAgICAgICAgbV9hc3Nl
bWJsZXIucHVzaCgxIDw8IHNyYzEgfCAxIDw8IHNyYzIpOworICAgIH0KKyAgICAKICAgICAvLyBS
ZWdpc3RlciBtb3ZlIG9wZXJhdGlvbnM6CiAgICAgLy8KICAgICAvLyBNb3ZlIHZhbHVlcyBpbiBy
ZWdpc3RlcnMuCkBAIC0xMjgxLDExICsxMjk5LDE5IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBt
X2Fzc2VtYmxlci50c3QocmVnLCByZWcpOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIEFS
TVRodW1iSW1tZWRpYXRlIGFybUltbSA9IEFSTVRodW1iSW1tZWRpYXRlOjptYWtlRW5jb2RlZElt
bShpbW0pOwotICAgICAgICAgICAgaWYgKGFybUltbS5pc1ZhbGlkKCkpCi0gICAgICAgICAgICAg
ICAgbV9hc3NlbWJsZXIudHN0KHJlZywgYXJtSW1tKTsKLSAgICAgICAgICAgIGVsc2UgeworICAg
ICAgICAgICAgaWYgKGFybUltbS5pc1ZhbGlkKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAocmVn
ID09IEFSTVJlZ2lzdGVyczo6c3ApIHsKKyAgICAgICAgICAgICAgICAgICAgbW92ZShyZWcsIGFk
ZHJlc3NUZW1wUmVnaXN0ZXIpOworICAgICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci50c3Qo
YWRkcmVzc1RlbXBSZWdpc3RlciwgYXJtSW1tKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgICAgICAgICAgbV9hc3NlbWJsZXIudHN0KHJlZywgYXJtSW1tKTsKKyAgICAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgbW92ZShtYXNrLCBkYXRhVGVtcFJlZ2lzdGVy
KTsKLSAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci50c3QocmVnLCBkYXRhVGVtcFJlZ2lzdGVy
KTsKKyAgICAgICAgICAgICAgICBpZiAocmVnID09IEFSTVJlZ2lzdGVyczo6c3ApIHsKKyAgICAg
ICAgICAgICAgICAgICAgbW92ZShyZWcsIGFkZHJlc3NUZW1wUmVnaXN0ZXIpOworICAgICAgICAg
ICAgICAgICAgICBtX2Fzc2VtYmxlci50c3QoYWRkcmVzc1RlbXBSZWdpc3RlciwgZGF0YVRlbXBS
ZWdpc3Rlcik7CisgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgIG1f
YXNzZW1ibGVyLnRzdChyZWcsIGRhdGFUZW1wUmVnaXN0ZXIpOwogICAgICAgICAgICAgfQogICAg
ICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9NYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmgKaW5kZXggNWY4YmE4YTkyZDM3ODBjOTU3NDM1ODMw
MTdiOGNhMDJiNmIyOTk5Zi4uMjhmYzE5ZDIxMzdkYTAyZTM2Yzc0MTlkNmY4ZWIxNjAwNmU1ODRh
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckNvZGVSZWYuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQ29kZVJlZi5oCkBAIC0yNTQsNiArMjU0LDExIEBAIHB1YmxpYzoKICAgICB9CiAK
ICAgICB2b2lkKiB2YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWU7IH0KKyAgICAKKyAgICB2
b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKKyAgICB7CisgICAgICAgIG91dC5wcmlu
dChSYXdQb2ludGVyKG1fdmFsdWUpKTsKKyAgICB9CiAKIHByaXZhdGU6CiAgICAgdm9pZCogbV92
YWx1ZTsKQEAgLTMwOSw5ICszMTQsMTAgQEAgcHVibGljOgogICAgIHZvaWQqIGRhdGFMb2NhdGlv
bigpIGNvbnN0IHsgQVNTRVJUX1ZBTElEX0NPREVfUE9JTlRFUihtX3ZhbHVlKTsgcmV0dXJuIG1f
dmFsdWU7IH0KICNlbmRpZgogCi0gICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdAorICAgIHR5cGVk
ZWYgdm9pZCogKE1hY3JvQXNzZW1ibGVyQ29kZVB0cjo6KlVuc3BlY2lmaWVkQm9vbFR5cGUpOwor
ICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUqKCkgY29uc3QKICAgICB7Ci0gICAgICAg
IHJldHVybiAhbV92YWx1ZTsKKyAgICAgICAgcmV0dXJuICEhbV92YWx1ZSA/IHJlaW50ZXJwcmV0
X2Nhc3Q8VW5zcGVjaWZpZWRCb29sVHlwZSo+KDEpIDogMDsKICAgICB9CiAgICAgCiAgICAgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IE1hY3JvQXNzZW1ibGVyQ29kZVB0ciYgb3RoZXIpIGNvbnN0CkBA
IC00MzQsNyArNDQwLDExIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEpTQzo6dHJ5VG9EaXNh
c3NlbWJsZShtX2NvZGVQdHIsIHNpemUoKSwgcHJlZml4LCBXVEY6OmRhdGFGaWxlKCkpOwogICAg
IH0KICAgICAKLSAgICBib29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuICFtX2NvZGVQdHI7
IH0KKyAgICB0eXBlZGVmIHZvaWQqIChNYWNyb0Fzc2VtYmxlckNvZGVSZWY6OipVbnNwZWNpZmll
ZEJvb2xUeXBlKTsKKyAgICBvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xUeXBlKigpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gISFtX2NvZGVQdHIgPyByZWludGVycHJldF9jYXN0PFVuc3Bl
Y2lmaWVkQm9vbFR5cGUqPigxKSA6IDA7CisgICAgfQogICAgIAogICAgIHZvaWQgZHVtcChQcmlu
dFN0cmVhbSYgb3V0KSBjb25zdAogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iZjNmZDdkMDBjOGViN2ZmZWUzNTczYWIwOWI2MTg0OGNkOTQ4ZGFiCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYXhGcmFtZUV4
dGVudEZvclNsb3dQYXRoQ2FsbC5oCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBNYXhGcmFtZUV4dGVudEZvclNs
b3dQYXRoQ2FsbF9oCisjZGVmaW5lIE1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsX2gKKwor
I2luY2x1ZGUgIkpTU3RhY2suaCIKKyNpbmNsdWRlICJSZWdpc3Rlci5oIgorI2luY2x1ZGUgIlN0
YWNrQWxpZ25tZW50LmgiCisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKworbmFtZXNwYWNl
IEpTQyB7CisKKy8vIFRoZSBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCBpcyB0aGUgbWF4
IGFtb3VudCBvZiBzdGFjayBzcGFjZSAoaW4gYnl0ZXMpCisvLyB0aGF0IGNhbiBiZSB1c2VkIGZv
ciBvdXRnb2luZyBhcmdzIHdoZW4gY2FsbGluZyBhIHNsb3cgcGF0aCBDIGZ1bmN0aW9uCisvLyBm
cm9tIEpTIGNvZGUuCisKKyNpZiBFTkFCTEUoTExJTlRfQ19MT09QKQorc3RhdGljIGNvbnN0IHNp
emVfdCBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9IDA7CisKKyNlbGlmIENQVShYODZf
NjQpICYmIE9TKFdJTkRPV1MpCisvLyA0IGFyZ3MgaW4gcmVnaXN0ZXJzLCBidXQgc3RhY2sgc3Bh
Y2UgbmVlZHMgdG8gYmUgYWxsb2NhdGVkIGZvciBhbGwgYXJncy4KK3N0YXRpYyBjb25zdCBzaXpl
X3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgPSA2NDsKKworI2VsaWYgQ1BVKFg4Nl82
NCkKKy8vIEFsbCBhcmdzIGluIHJlZ2lzdGVycy4KK3N0YXRpYyBjb25zdCBzaXplX3QgbWF4RnJh
bWVFeHRlbnRGb3JTbG93UGF0aENhbGwgPSAwOworCisjZWxpZiBDUFUoWDg2KQorLy8gNyBhcmdz
IG9uIHN0YWNrICgyOCBieXRlcykuCitzdGF0aWMgY29uc3Qgc2l6ZV90IG1heEZyYW1lRXh0ZW50
Rm9yU2xvd1BhdGhDYWxsID0gNDA7CisKKyNlbGlmIENQVShBUk02NCkKKy8vIEFsbCBhcmdzIGlu
IHJlZ2lzdGVycy4KK3N0YXRpYyBjb25zdCBzaXplX3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0
aENhbGwgPSAwOworCisjZWxpZiBDUFUoQVJNKQorLy8gRmlyc3QgZm91ciBhcmdzIGluIHJlZ2lz
dGVycywgcmVtYWluaW5nIDQgYXJncyBvbiBzdGFjay4KK3N0YXRpYyBjb25zdCBzaXplX3QgbWF4
RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgPSAyNDsKKworI2VsaWYgQ1BVKFNINCkKKy8vIEZp
cnN0IGZvdXIgYXJncyBpbiByZWdpc3RlcnMsIHJlbWFpbmluZyA0IGFyZ3Mgb24gc3RhY2suCitz
dGF0aWMgY29uc3Qgc2l6ZV90IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID0gMjQ7CisK
KyNlbGlmIENQVShNSVBTKQorLy8gVGhvdWdoIGFyZ3MgYXJlIGluIHJlZ2lzdGVycywgdGhlcmUg
bmVlZCB0byBiZSBzcGFjZSBvbiB0aGUgc3RhY2sgZm9yIGFsbCBhcmdzLgorc3RhdGljIGNvbnN0
IHNpemVfdCBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9IDQwOworCisjZWxzZQorI2Vy
cm9yICJVbnN1cHBvcnRlZCBDUFU6IG5lZWQgdmFsdWUgZm9yIG1heEZyYW1lRXh0ZW50Rm9yU2xv
d1BhdGhDYWxsIgorCisjZW5kaWYKKworQ09NUElMRV9BU1NFUlQoIShtYXhGcmFtZUV4dGVudEZv
clNsb3dQYXRoQ2FsbCAlIHNpemVvZihSZWdpc3RlcikpLCBleHRlbnRfbXVzdF9iZV9pbl9tdWx0
aXBsZXNfb2ZfcmVnaXN0ZXJzKTsKKy8vIE1ha2Ugc3VyZSB0aGF0IGNmciAtIG1heEZyYW1lRXh0
ZW50Rm9yU2xvd1BhdGhDYWxsIGJ5dGVzIHdpbGwgbWFrZSB0aGUgc3RhY2sgcG9pbnRlciBhbGln
bmVkCitDT01QSUxFX0FTU0VSVCgobWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgJSAxNikg
PT0gMTYgLSBzaXplb2YoQ2FsbGVyRnJhbWVBbmRQQyksIGV4dGVudF9tdXN0X2FsaWduX3N0YWNr
X2Zyb21fY2FsbGZyYW1lX3BvaW50ZXIpOworCitzdGF0aWMgY29uc3Qgc2l6ZV90IG1heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsSW5SZWdpc3RlcnMgPSBtYXhGcmFtZUV4dGVudEZvclNsb3dQ
YXRoQ2FsbCAvIHNpemVvZihSZWdpc3Rlcik7CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5k
aWYgLy8gTWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGxfaAorCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtJbmZvLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua0luZm8uY3BwCmluZGV4IGE0YmFhNjEwMDg1MjIz
NjZkOTRjYzgzNjk4NzFhNWZiOGM1YjI3NjYuLjZhNjAwNTc2YTAwMGFkYWM4YWYyMTRlOTg4MTM2
NDYxOWYyOWEwMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
YWxsTGlua0luZm8uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxs
TGlua0luZm8uY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0zNywxNSArMzcsMTUgQEAgdm9pZCBDYWxsTGlua0luZm86OnVubGluayhW
TSYgdm0sIFJlcGF0Y2hCdWZmZXImIHJlcGF0Y2hCdWZmZXIpCiB7CiAgICAgQVNTRVJUKGlzTGlu
a2VkKCkpOwogICAgIAorICAgIGlmIChPcHRpb25zOjpzaG93RGlzYXNzZW1ibHkoKSkKKyAgICAg
ICAgZGF0YUxvZygiVW5saW5raW5nIGNhbGwgZnJvbSAiLCBjYWxsUmV0dXJuTG9jYXRpb24sICIg
dG8gIiwgcG9pbnRlckR1bXAocmVwYXRjaEJ1ZmZlci5jb2RlQmxvY2soKSksICJcbiIpOworCiAg
ICAgcmVwYXRjaEJ1ZmZlci5yZXZlcnRKdW1wUmVwbGFjZW1lbnRUb0JyYW5jaFB0cldpdGhQYXRj
aChSZXBhdGNoQnVmZmVyOjpzdGFydE9mQnJhbmNoUHRyV2l0aFBhdGNoT25SZWdpc3Rlcihob3RQ
YXRoQmVnaW4pLCBzdGF0aWNfY2FzdDxNYWNyb0Fzc2VtYmxlcjo6UmVnaXN0ZXJJRD4oY2FsbGVl
R1BSKSwgMCk7Ci0gICAgaWYgKGlzREZHKSB7Ci0jaWYgRU5BQkxFKERGR19KSVQpCi0gICAgICAg
IHJlcGF0Y2hCdWZmZXIucmVsaW5rKGNhbGxSZXR1cm5Mb2NhdGlvbiwgKGNhbGxUeXBlID09IENv
bnN0cnVjdCA/IHZtLmdldENUSVN0dWIobGlua0NvbnN0cnVjdFRodW5rR2VuZXJhdG9yKSA6IHZt
LmdldENUSVN0dWIobGlua0NhbGxUaHVua0dlbmVyYXRvcikpLmNvZGUoKSk7Ci0jZWxzZQotICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotI2VuZGlmCi0gICAgfSBlbHNlCi0g
ICAgICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGNhbGxSZXR1cm5Mb2NhdGlvbiwgY2FsbFR5cGUg
PT0gQ29uc3RydWN0ID8gdm0uZ2V0Q1RJU3R1YihsaW5rQ29uc3RydWN0VGh1bmtHZW5lcmF0b3Ip
LmNvZGUoKSA6IHZtLmdldENUSVN0dWIobGlua0NhbGxUaHVua0dlbmVyYXRvcikuY29kZSgpKTsK
KyAgICByZXBhdGNoQnVmZmVyLnJlbGluaygKKyAgICAgICAgY2FsbFJldHVybkxvY2F0aW9uLAor
ICAgICAgICB2bS5nZXRDVElTdHViKGxpbmtUaHVua0dlbmVyYXRvckZvcigKKyAgICAgICAgICAg
IGNhbGxUeXBlID09IENvbnN0cnVjdCA/IENvZGVGb3JDb25zdHJ1Y3QgOiBDb2RlRm9yQ2FsbCwK
KyAgICAgICAgICAgIGlzRlRMID8gTXVzdFByZXNlcnZlUmVnaXN0ZXJzIDogUmVnaXN0ZXJQcmVz
ZXJ2YXRpb25Ob3RSZXF1aXJlZCkpLmNvZGUoKSk7CiAgICAgaGFzU2VlblNob3VsZFJlcGF0Y2gg
PSBmYWxzZTsKICAgICBjYWxsZWUuY2xlYXIoKTsKICAgICBzdHViLmNsZWFyKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtJbmZvLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtJbmZvLmgKaW5kZXggMDI0NDQ5N2Rm
NGMwNWQxMjczNzgxYzZmNGVlYmRjNjFmYWZmY2Q0MS4uZDQzNGU3MzVkOGVjMjNjYjAzOWIxMzAw
Yzk0MDE5NWMzNTE0YjFhZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0NhbGxMaW5rSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
YWxsTGlua0luZm8uaApAQCAtNTUsOCArNTUsOCBAQCBzdHJ1Y3QgQ2FsbExpbmtJbmZvIDogcHVi
bGljIEJhc2ljUmF3U2VudGluZWxOb2RlPENhbGxMaW5rSW5mbz4gewogICAgIH0KICAgICAgICAg
CiAgICAgQ2FsbExpbmtJbmZvKCkKLSAgICAgICAgOiBoYXNTZWVuU2hvdWxkUmVwYXRjaChmYWxz
ZSkKLSAgICAgICAgLCBpc0RGRyhmYWxzZSkKKyAgICAgICAgOiBpc0ZUTChmYWxzZSkKKyAgICAg
ICAgLCBoYXNTZWVuU2hvdWxkUmVwYXRjaChmYWxzZSkKICAgICAgICAgLCBoYXNTZWVuQ2xvc3Vy
ZShmYWxzZSkKICAgICAgICAgLCBjYWxsVHlwZShOb25lKQogICAgIHsKQEAgLTc5LDggKzc5LDgg
QEAgc3RydWN0IENhbGxMaW5rSW5mbyA6IHB1YmxpYyBCYXNpY1Jhd1NlbnRpbmVsTm9kZTxDYWxs
TGlua0luZm8+IHsKICAgICBKSVRXcml0ZUJhcnJpZXI8SlNGdW5jdGlvbj4gY2FsbGVlOwogICAg
IFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBsYXN0U2VlbkNhbGxlZTsKICAgICBSZWZQdHI8Q2xv
c3VyZUNhbGxTdHViUm91dGluZT4gc3R1YjsKKyAgICBib29sIGlzRlRMIDogMTsKICAgICBib29s
IGhhc1NlZW5TaG91bGRSZXBhdGNoIDogMTsKLSAgICBib29sIGlzREZHIDogMTsKICAgICBib29s
IGhhc1NlZW5DbG9zdXJlIDogMTsKICAgICB1bnNpZ25lZCBjYWxsVHlwZSA6IDU7IC8vIENhbGxU
eXBlCiAgICAgdW5zaWduZWQgY2FsbGVlR1BSIDogODsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9DYWxsTGlua1N0YXR1cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuY3BwCmluZGV4IGI2NGM5NjdlOTI5ZWU3MTQ4
ODUzMjg0N2Q5Yzc5YzhmMzExODVmZDIuLmE0MjZjODc0MDdmZjI3YjRjMzM3Mjg1ZTFkYjZlMGEx
NGY2MTRhNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9DYWxs
TGlua1N0YXR1cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxM
aW5rU3RhdHVzLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIs
IDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDEyLCAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsMTMgKzI2LDE3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiQ2FsbExpbmtTdGF0dXMuaCIKIAorI2luY2x1ZGUgIkNhbGxMaW5r
SW5mby5oIgogI2luY2x1ZGUgIkNvZGVCbG9jay5oIgorI2luY2x1ZGUgIkRGR0pJVENvZGUuaCIK
ICNpbmNsdWRlICJMTEludENhbGxMaW5rSW5mby5oIgogI2luY2x1ZGUgIk9wZXJhdGlvbnMuaCIK
ICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCitzdGF0
aWMgY29uc3QgYm9vbCB2ZXJib3NlID0gZmFsc2U7CisKIENhbGxMaW5rU3RhdHVzOjpDYWxsTGlu
a1N0YXR1cyhKU1ZhbHVlIHZhbHVlKQogICAgIDogbV9jYWxsVGFyZ2V0KHZhbHVlKQogICAgICwg
bV9leGVjdXRhYmxlKDApCkBAIC04MSwxMiArODUsMjQgQEAgSW50cmluc2ljIENhbGxMaW5rU3Rh
dHVzOjppbnRyaW5zaWNGb3IoQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKSBjb25zdAogICAg
IHJldHVybiBtX2V4ZWN1dGFibGUtPmludHJpbnNpY0ZvcihraW5kKTsKIH0KIAotQ2FsbExpbmtT
dGF0dXMgQ2FsbExpbmtTdGF0dXM6OmNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiBwcm9maWxl
ZEJsb2NrLCB1bnNpZ25lZCBieXRlY29kZUluZGV4KQorQ2FsbExpbmtTdGF0dXMgQ2FsbExpbmtT
dGF0dXM6OmNvbXB1dGVGcm9tTExJbnQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYgbG9ja2Vy
LCBDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgpCiB7CiAg
ICAgVU5VU0VEX1BBUkFNKHByb2ZpbGVkQmxvY2spOwogICAgIFVOVVNFRF9QQVJBTShieXRlY29k
ZUluZGV4KTsKICNpZiBFTkFCTEUoTExJTlQpCisgICAgaWYgKHByb2ZpbGVkQmxvY2stPmhhc0V4
aXRTaXRlKGxvY2tlciwgREZHOjpGcmVxdWVudEV4aXRTaXRlKGJ5dGVjb2RlSW5kZXgsIEJhZEZ1
bmN0aW9uKSkpIHsKKyAgICAgICAgLy8gV2UgY291bGQgZm9yY2UgdGhpcyB0byBiZSBhIGNsb3N1
cmUgY2FsbCwgYnV0IGluc3RlYWQgd2UnbGwganVzdCBhc3N1bWUgdGhhdCBpdAorICAgICAgICAv
LyB0YWtlcyBzbG93IHBhdGguCisgICAgICAgIHJldHVybiB0YWtlc1Nsb3dQYXRoKCk7CisgICAg
fQorICAgIAorICAgIFZNJiB2bSA9ICpwcm9maWxlZEJsb2NrLT52bSgpOworICAgIAogICAgIElu
c3RydWN0aW9uKiBpbnN0cnVjdGlvbiA9IHByb2ZpbGVkQmxvY2stPmluc3RydWN0aW9ucygpLmJl
Z2luKCkgKyBieXRlY29kZUluZGV4OworICAgIE9wY29kZUlEIG9wID0gdm0uaW50ZXJwcmV0ZXIt
PmdldE9wY29kZUlEKGluc3RydWN0aW9uWzBdLnUub3Bjb2RlKTsKKyAgICBpZiAob3AgIT0gb3Bf
Y2FsbCAmJiBvcCAhPSBvcF9jb25zdHJ1Y3QpCisgICAgICAgIHJldHVybiBDYWxsTGlua1N0YXR1
cygpOworICAgIAogICAgIExMSW50Q2FsbExpbmtJbmZvKiBjYWxsTGlua0luZm8gPSBpbnN0cnVj
dGlvbls1XS51LmNhbGxMaW5rSW5mbzsKICAgICAKICAgICByZXR1cm4gQ2FsbExpbmtTdGF0dXMo
Y2FsbExpbmtJbmZvLT5sYXN0U2VlbkNhbGxlZS5nZXQoKSk7CkBAIC0xMDIsMjcgKzExOCwxMTcg
QEAgQ2FsbExpbmtTdGF0dXMgQ2FsbExpbmtTdGF0dXM6OmNvbXB1dGVGb3IoQ29kZUJsb2NrKiBw
cm9maWxlZEJsb2NrLCB1bnNpZ25lZCBieXQKICAgICBVTlVTRURfUEFSQU0ocHJvZmlsZWRCbG9j
ayk7CiAgICAgVU5VU0VEX1BBUkFNKGJ5dGVjb2RlSW5kZXgpOwogI2lmIEVOQUJMRShKSVQpCisg
ICAgaWYgKHByb2ZpbGVkQmxvY2stPmhhc0V4aXRTaXRlKGxvY2tlciwgREZHOjpGcmVxdWVudEV4
aXRTaXRlKGJ5dGVjb2RlSW5kZXgsIEJhZENhY2hlKSkKKyAgICAgICAgfHwgcHJvZmlsZWRCbG9j
ay0+aGFzRXhpdFNpdGUobG9ja2VyLCBERkc6OkZyZXF1ZW50RXhpdFNpdGUoYnl0ZWNvZGVJbmRl
eCwgQmFkQ2FjaGVXYXRjaHBvaW50KSkKKyAgICAgICAgfHwgcHJvZmlsZWRCbG9jay0+aGFzRXhp
dFNpdGUobG9ja2VyLCBERkc6OkZyZXF1ZW50RXhpdFNpdGUoYnl0ZWNvZGVJbmRleCwgQmFkRXhl
Y3V0YWJsZSkpKQorICAgICAgICByZXR1cm4gdGFrZXNTbG93UGF0aCgpOworICAgIAogICAgIGlm
ICghcHJvZmlsZWRCbG9jay0+aGFzQmFzZWxpbmVKSVRQcm9maWxpbmcoKSkKLSAgICAgICAgcmV0
dXJuIGNvbXB1dGVGcm9tTExJbnQocHJvZmlsZWRCbG9jaywgYnl0ZWNvZGVJbmRleCk7CisgICAg
ICAgIHJldHVybiBjb21wdXRlRnJvbUxMSW50KGxvY2tlciwgcHJvZmlsZWRCbG9jaywgYnl0ZWNv
ZGVJbmRleCk7CiAgICAgCiAgICAgaWYgKHByb2ZpbGVkQmxvY2stPmNvdWxkVGFrZVNsb3dDYXNl
KGJ5dGVjb2RlSW5kZXgpKQotICAgICAgICByZXR1cm4gQ2FsbExpbmtTdGF0dXM6OnRha2VzU2xv
d1BhdGgoKTsKKyAgICAgICAgcmV0dXJuIHRha2VzU2xvd1BhdGgoKTsKICAgICAKICAgICBDYWxs
TGlua0luZm8mIGNhbGxMaW5rSW5mbyA9IHByb2ZpbGVkQmxvY2stPmdldENhbGxMaW5rSW5mbyhi
eXRlY29kZUluZGV4KTsKKyAgICAKKyAgICBDYWxsTGlua1N0YXR1cyByZXN1bHQgPSBjb21wdXRl
Rm9yKGxvY2tlciwgY2FsbExpbmtJbmZvKTsKKyAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgcmV0
dXJuIGNvbXB1dGVGcm9tTExJbnQobG9ja2VyLCBwcm9maWxlZEJsb2NrLCBieXRlY29kZUluZGV4
KTsKKyAgICAKKyAgICBpZiAocHJvZmlsZWRCbG9jay0+aGFzRXhpdFNpdGUobG9ja2VyLCBERkc6
OkZyZXF1ZW50RXhpdFNpdGUoYnl0ZWNvZGVJbmRleCwgQmFkRnVuY3Rpb24pKSkKKyAgICAgICAg
cmVzdWx0Lm1ha2VDbG9zdXJlQ2FsbCgpOworICAgIAorICAgIHJldHVybiByZXN1bHQ7CisjZWxz
ZQorICAgIHJldHVybiBDYWxsTGlua1N0YXR1cygpOworI2VuZGlmCit9CisKK0NhbGxMaW5rU3Rh
dHVzIENhbGxMaW5rU3RhdHVzOjpjb21wdXRlRm9yKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXIm
LCBDYWxsTGlua0luZm8mIGNhbGxMaW5rSW5mbykKK3sKICAgICBpZiAoY2FsbExpbmtJbmZvLnN0
dWIpCiAgICAgICAgIHJldHVybiBDYWxsTGlua1N0YXR1cyhjYWxsTGlua0luZm8uc3R1Yi0+ZXhl
Y3V0YWJsZSgpLCBjYWxsTGlua0luZm8uc3R1Yi0+c3RydWN0dXJlKCkpOwogICAgIAogICAgIEpT
RnVuY3Rpb24qIHRhcmdldCA9IGNhbGxMaW5rSW5mby5sYXN0U2VlbkNhbGxlZS5nZXQoKTsKICAg
ICBpZiAoIXRhcmdldCkKLSAgICAgICAgcmV0dXJuIGNvbXB1dGVGcm9tTExJbnQocHJvZmlsZWRC
bG9jaywgYnl0ZWNvZGVJbmRleCk7CisgICAgICAgIHJldHVybiBDYWxsTGlua1N0YXR1cygpOwog
ICAgIAogICAgIGlmIChjYWxsTGlua0luZm8uaGFzU2VlbkNsb3N1cmUpCiAgICAgICAgIHJldHVy
biBDYWxsTGlua1N0YXR1cyh0YXJnZXQtPmV4ZWN1dGFibGUoKSwgdGFyZ2V0LT5zdHJ1Y3R1cmUo
KSk7CiAKICAgICByZXR1cm4gQ2FsbExpbmtTdGF0dXModGFyZ2V0KTsKLSNlbHNlCi0gICAgcmV0
dXJuIENhbGxMaW5rU3RhdHVzKCk7Ci0jZW5kaWYKK30KKwordm9pZCBDYWxsTGlua1N0YXR1czo6
Y29tcHV0ZURGR1N0YXR1c2VzKAorICAgIENvZGVCbG9jayogZGZnQ29kZUJsb2NrLCBDYWxsTGlu
a1N0YXR1czo6Q29udGV4dE1hcCYgbWFwKQoreworI2lmIEVOQUJMRShERkdfSklUKQorICAgIFJF
TEVBU0VfQVNTRVJUKGRmZ0NvZGVCbG9jay0+aml0VHlwZSgpID09IEpJVENvZGU6OkRGR0pJVCk7
CisgICAgQ29kZUJsb2NrKiBiYXNlbGluZUNvZGVCbG9jayA9IGRmZ0NvZGVCbG9jay0+YWx0ZXJu
YXRpdmUoKTsKKyAgICBERkc6OkpJVENvZGUqIGppdENvZGUgPSBkZmdDb2RlQmxvY2stPmppdENv
ZGUoKS0+ZGZnKCk7CisgICAgUkVMRUFTRV9BU1NFUlQoZGZnQ29kZUJsb2NrLT5udW1iZXJPZkNh
bGxMaW5rSW5mb3MoKSA8PSBqaXRDb2RlLT5zbG93UGF0aENhbGxzLnNpemUoKSk7CisgICAgCisg
ICAgZm9yIChzaXplX3QgaSA9IGRmZ0NvZGVCbG9jay0+bnVtYmVyT2ZDYWxsTGlua0luZm9zKCk7
IGktLTspIHsKKyAgICAgICAgQ2FsbExpbmtJbmZvJiBpbmZvID0gZGZnQ29kZUJsb2NrLT5jYWxs
TGlua0luZm8oaSk7CisgICAgICAgIENvZGVPcmlnaW4gY29kZU9yaWdpbiA9IGluZm8uY29kZU9y
aWdpbjsKKyAgICAgICAgCisgICAgICAgIGJvb2wgdGFrZVNsb3dQYXRoOworICAgICAgICBib29s
IGJhZEZ1bmN0aW9uOworICAgICAgICAKKyAgICAgICAgLy8gQ2hlY2sgaWYgd2UgaGFkIGFscmVh
ZHkgcHJldmlvdXNseSBtYWRlIGEgdGVycmlibGUgbWlzdGFrZSBpbiB0aGUgRlRMIGZvciB0aGlz
CisgICAgICAgIC8vIGNvZGUgb3JpZ2luLiBOb3RlIHRoYXQgdGhpcyBpcyBhcHByb3hpbWF0ZSBi
ZWNhdXNlIHdlIGNvdWxkIGhhdmUgYSBtb25vdmFyaWFudAorICAgICAgICAvLyBpbmxpbmUgaW4g
dGhlIEZUTCB0aGF0IGVuZGVkIHVwIGZhaWxpbmcuIFdlIHNob3VsZCBmaXggdGhhdCBhdCBzb21l
IHBvaW50IGJ5CisgICAgICAgIC8vIGhhdmluZyBkYXRhIHN0cnVjdHVyZXMgdG8gdHJhY2sgdGhl
IGNvbnRleHQgb2YgZnJlcXVlbnQgZXhpdHMuIFRoaXMgaXMgY3VycmVudGx5CisgICAgICAgIC8v
IGNoYWxsZW5naW5nIGJlY2F1c2UgaXQgd291bGQgcmVxdWlyZSBjcmVhdGluZyBhIENvZGVPcmln
aW4tYmFzZWQgZGF0YWJhc2UgaW4KKyAgICAgICAgLy8gYmFzZWxpbmUgQ29kZUJsb2NrcywgYnV0
IHRob3NlIENvZGVCbG9ja3MgZG9uJ3QgcmVhbGx5IGhhdmUgYSBwbGFjZSB0byBwdXQgdGhlCisg
ICAgICAgIC8vIElubGluZUNhbGxGcmFtZXMuCisgICAgICAgIENvZGVCbG9jayogY3VycmVudEJh
c2VsaW5lID0KKyAgICAgICAgICAgIGJhc2VsaW5lQ29kZUJsb2NrRm9yT3JpZ2luQW5kQmFzZWxp
bmVDb2RlQmxvY2soY29kZU9yaWdpbiwgYmFzZWxpbmVDb2RlQmxvY2spOworICAgICAgICB7Cisg
ICAgICAgICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihjdXJyZW50QmFzZWxpbmUtPm1f
bG9jayk7CisgICAgICAgICAgICB0YWtlU2xvd1BhdGggPQorICAgICAgICAgICAgICAgIGN1cnJl
bnRCYXNlbGluZS0+aGFzRXhpdFNpdGUobG9ja2VyLCBERkc6OkZyZXF1ZW50RXhpdFNpdGUoY29k
ZU9yaWdpbi5ieXRlY29kZUluZGV4LCBCYWRDYWNoZSwgRXhpdEZyb21GVEwpKQorICAgICAgICAg
ICAgICAgIHx8IGN1cnJlbnRCYXNlbGluZS0+aGFzRXhpdFNpdGUobG9ja2VyLCBERkc6OkZyZXF1
ZW50RXhpdFNpdGUoY29kZU9yaWdpbi5ieXRlY29kZUluZGV4LCBCYWRDYWNoZVdhdGNocG9pbnQs
IEV4aXRGcm9tRlRMKSkKKyAgICAgICAgICAgICAgICB8fCBjdXJyZW50QmFzZWxpbmUtPmhhc0V4
aXRTaXRlKGxvY2tlciwgREZHOjpGcmVxdWVudEV4aXRTaXRlKGNvZGVPcmlnaW4uYnl0ZWNvZGVJ
bmRleCwgQmFkRXhlY3V0YWJsZSwgRXhpdEZyb21GVEwpKTsKKyAgICAgICAgICAgIGJhZEZ1bmN0
aW9uID0KKyAgICAgICAgICAgICAgICBjdXJyZW50QmFzZWxpbmUtPmhhc0V4aXRTaXRlKGxvY2tl
ciwgREZHOjpGcmVxdWVudEV4aXRTaXRlKGNvZGVPcmlnaW4uYnl0ZWNvZGVJbmRleCwgQmFkRnVu
Y3Rpb24sIEV4aXRGcm9tRlRMKSk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHsKKyAg
ICAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKGRmZ0NvZGVCbG9jay0+bV9sb2Nr
KTsKKyAgICAgICAgICAgIGlmICh0YWtlU2xvd1BhdGggfHwgaml0Q29kZS0+c2xvd1BhdGhDYWxs
c1tpXSA+PSBPcHRpb25zOjpjb3VsZFRha2VTbG93Q2FzZU1pbmltdW1Db3VudCgpKQorICAgICAg
ICAgICAgICAgIG1hcC5hZGQoaW5mby5jb2RlT3JpZ2luLCB0YWtlc1Nsb3dQYXRoKCkpOworICAg
ICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgQ2FsbExpbmtTdGF0dXMgc3RhdHVzID0g
Y29tcHV0ZUZvcihsb2NrZXIsIGluZm8pOworICAgICAgICAgICAgICAgIGlmIChzdGF0dXMuaXNT
ZXQoKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoYmFkRnVuY3Rpb24pCisgICAgICAgICAg
ICAgICAgICAgICAgICBzdGF0dXMubWFrZUNsb3N1cmVDYWxsKCk7CisgICAgICAgICAgICAgICAg
ICAgIG1hcC5hZGQoaW5mby5jb2RlT3JpZ2luLCBzdGF0dXMpOworICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyNlbmRpZiAvLyBFTkFCTEUoREZHX0pJ
VCkKKyAgICAKKyAgICBpZiAodmVyYm9zZSkgeworICAgICAgICBkYXRhTG9nKCJDb250ZXh0IG1h
cDpcbiIpOworICAgICAgICBDb250ZXh0TWFwOjppdGVyYXRvciBpdGVyID0gbWFwLmJlZ2luKCk7
CisgICAgICAgIENvbnRleHRNYXA6Oml0ZXJhdG9yIGVuZCA9IG1hcC5lbmQoKTsKKyAgICAgICAg
Zm9yICg7IGl0ZXIgIT0gZW5kOyArK2l0ZXIpIHsKKyAgICAgICAgICAgIGRhdGFMb2coIiAgICAi
LCBpdGVyLT5rZXksICI6XG4iKTsKKyAgICAgICAgICAgIGRhdGFMb2coIiAgICAgICAgIiwgaXRl
ci0+dmFsdWUsICJcbiIpOworICAgICAgICB9CisgICAgfQorfQorCitDYWxsTGlua1N0YXR1cyBD
YWxsTGlua1N0YXR1czo6Y29tcHV0ZUZvcigKKyAgICBDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ss
IENvZGVPcmlnaW4gY29kZU9yaWdpbiwgY29uc3QgQ2FsbExpbmtTdGF0dXM6OkNvbnRleHRNYXAm
IG1hcCkKK3sKKyAgICBDb250ZXh0TWFwOjpjb25zdF9pdGVyYXRvciBpdGVyID0gbWFwLmZpbmQo
Y29kZU9yaWdpbik7CisgICAgaWYgKGl0ZXIgIT0gbWFwLmVuZCgpKQorICAgICAgICByZXR1cm4g
aXRlci0+dmFsdWU7CisgICAgCisgICAgcmV0dXJuIGNvbXB1dGVGb3IocHJvZmlsZWRCbG9jaywg
Y29kZU9yaWdpbi5ieXRlY29kZUluZGV4KTsKIH0KIAogdm9pZCBDYWxsTGlua1N0YXR1czo6ZHVt
cChQcmludFN0cmVhbSYgb3V0KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NhbGxMaW5rU3RhdHVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQ2FsbExpbmtTdGF0dXMuaAppbmRleCA1MTk2NWZlNGE4Yjk5NzQxYTNiOTNmZTNiMTRm
NGMyZDdhYmY1ZDU2Li5mOWE5YTI2NDc3NmE1MzdkOTNlODVlYjM2MWVkMTU3Yzc2OGJjYzNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuaApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzLCAyMDE0
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjYsNyArMjYsOSBAQAogI2lmbmRlZiBDYWxsTGlua1N0YXR1c19oCiAjZGVm
aW5lIENhbGxMaW5rU3RhdHVzX2gKIAorI2luY2x1ZGUgIkNvZGVPcmlnaW4uaCIKICNpbmNsdWRl
ICJDb2RlU3BlY2lhbGl6YXRpb25LaW5kLmgiCisjaW5jbHVkZSAiQ29uY3VycmVudEpJVExvY2su
aCIKICNpbmNsdWRlICJJbnRyaW5zaWMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCiAKQEAg
LTM3LDYgKzM5LDcgQEAgY2xhc3MgRXhlY3V0YWJsZUJhc2U7CiBjbGFzcyBJbnRlcm5hbEZ1bmN0
aW9uOwogY2xhc3MgSlNGdW5jdGlvbjsKIGNsYXNzIFN0cnVjdHVyZTsKK3N0cnVjdCBDYWxsTGlu
a0luZm87CiAKIGNsYXNzIENhbGxMaW5rU3RhdHVzIHsKIHB1YmxpYzoKQEAgLTc0LDMxICs3Nywx
OSBAQCBwdWJsaWM6CiAgICAgCiAgICAgc3RhdGljIENhbGxMaW5rU3RhdHVzIGNvbXB1dGVGb3Io
Q29kZUJsb2NrKiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCk7CiAgICAgCi0gICAgQ2FsbExpbmtT
dGF0dXMmIHNldEhhc0JhZEZ1bmN0aW9uRXhpdFNpdGUoYm9vbCBkaWRIYXZlRXhpdFNpdGUpCi0g
ICAgewotICAgICAgICBBU1NFUlQoIW1faXNQcm92ZWQpOwotICAgICAgICBpZiAoZGlkSGF2ZUV4
aXRTaXRlKSB7Ci0gICAgICAgICAgICAvLyBUdXJuIHRoaXMgaW50byBhIGNsb3N1cmUgY2FsbC4K
LSAgICAgICAgICAgIG1fY2FsbFRhcmdldCA9IEpTVmFsdWUoKTsKLSAgICAgICAgfQotICAgICAg
ICByZXR1cm4gKnRoaXM7Ci0gICAgfQorICAgIC8vIENvbXB1dGVzIHRoZSBzdGF0dXMgYXNzdW1p
bmcgdGhhdCB3ZSBuZXZlciB0b29rIHNsb3cgcGF0aCBhbmQgbmV2ZXIgcHJldmlvdXNseQorICAg
IC8vIGV4aXRlZC4KKyAgICBzdGF0aWMgQ2FsbExpbmtTdGF0dXMgY29tcHV0ZUZvcihjb25zdCBD
b25jdXJyZW50SklUTG9ja2VyJiwgQ2FsbExpbmtJbmZvJik7CiAgICAgCi0gICAgQ2FsbExpbmtT
dGF0dXMmIHNldEhhc0JhZENhY2hlRXhpdFNpdGUoYm9vbCBkaWRIYXZlRXhpdFNpdGUpCi0gICAg
ewotICAgICAgICBBU1NFUlQoIW1faXNQcm92ZWQpOwotICAgICAgICBpZiAoZGlkSGF2ZUV4aXRT
aXRlKQotICAgICAgICAgICAgKnRoaXMgPSB0YWtlc1Nsb3dQYXRoKCk7Ci0gICAgICAgIHJldHVy
biAqdGhpczsKLSAgICB9CisgICAgdHlwZWRlZiBIYXNoTWFwPENvZGVPcmlnaW4sIENhbGxMaW5r
U3RhdHVzLCBDb2RlT3JpZ2luQXBwcm94aW1hdGVIYXNoPiBDb250ZXh0TWFwOwogICAgIAotICAg
IENhbGxMaW5rU3RhdHVzJiBzZXRIYXNCYWRFeGVjdXRhYmxlRXhpdFNpdGUoYm9vbCBkaWRIYXZl
RXhpdFNpdGUpCi0gICAgewotICAgICAgICBBU1NFUlQoIW1faXNQcm92ZWQpOwotICAgICAgICBp
ZiAoZGlkSGF2ZUV4aXRTaXRlKQotICAgICAgICAgICAgKnRoaXMgPSB0YWtlc1Nsb3dQYXRoKCk7
Ci0gICAgICAgIHJldHVybiAqdGhpczsKLSAgICB9CisgICAgLy8gQ29tcHV0ZXMgYWxsIG9mIHRo
ZSBzdGF0dXNlcyBvZiB0aGUgREZHIGNvZGUgYmxvY2suIERvZXNuJ3QgaW5jbHVkZSBzdGF0dXNl
cyB0aGF0IGhhZAorICAgIC8vIG5vIGluZm9ybWF0aW9uLiBDdXJyZW50bHkgd2UgdXNlIHRoaXMg
d2hlbiBjb21waWxpbmcgRlRMIGNvZGUsIHRvIGVuYWJsZSBwb2x5dmFyaWFudAorICAgIC8vIGlu
bGluaW5nLgorICAgIHN0YXRpYyB2b2lkIGNvbXB1dGVERkdTdGF0dXNlcyhDb2RlQmxvY2sqIGRm
Z0NvZGVCbG9jaywgQ29udGV4dE1hcCYpOworICAgIAorICAgIC8vIEhlbHBlciB0aGF0IGZpcnN0
IGNvbnN1bHRzIHRoZSBDb250ZXh0TWFwIGFuZCB0aGVuIGRvZXMgY29tcHV0ZUZvcigpLgorICAg
IHN0YXRpYyBDYWxsTGlua1N0YXR1cyBjb21wdXRlRm9yKENvZGVCbG9jayosIENvZGVPcmlnaW4s
IGNvbnN0IENvbnRleHRNYXAmKTsKICAgICAKICAgICBib29sIGlzU2V0KCkgY29uc3QgeyByZXR1
cm4gbV9jYWxsVGFyZ2V0IHx8IG1fZXhlY3V0YWJsZSB8fCBtX2NvdWxkVGFrZVNsb3dQYXRoOyB9
CiAgICAgCkBAIC0xMTksNyArMTEwLDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIGR1bXAoUHJpbnRT
dHJlYW0mKSBjb25zdDsKICAgICAKIHByaXZhdGU6Ci0gICAgc3RhdGljIENhbGxMaW5rU3RhdHVz
IGNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCk7Cisg
ICAgdm9pZCBtYWtlQ2xvc3VyZUNhbGwoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX2lzUHJv
dmVkKTsKKyAgICAgICAgLy8gVHVybiB0aGlzIGludG8gYSBjbG9zdXJlIGNhbGwuCisgICAgICAg
IG1fY2FsbFRhcmdldCA9IEpTVmFsdWUoKTsKKyAgICB9CisgICAgCisgICAgc3RhdGljIENhbGxM
aW5rU3RhdHVzIGNvbXB1dGVGcm9tTExJbnQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIENv
ZGVCbG9jayosIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgpOwogICAgIAogICAgIEpTVmFsdWUgbV9j
YWxsVGFyZ2V0OwogICAgIEV4ZWN1dGFibGVCYXNlKiBtX2V4ZWN1dGFibGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IGRhODE0MzM2OTM5Yzhh
MzhmMmQ2NzM5ODViNjgyOWU2N2JmNjBjMTkuLjc4NjNhNjY4YWI3MzAwMzNkNmJiNjRmMGQ5YjAz
MGMyODVhNGRhYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suY3BwCkBAIC0xMjksMTAgKzEyOSwxNSBAQCBDU3RyaW5nIENvZGVCbG9jazo6c291cmNlQ29k
ZU9uT25lTGluZSgpIGNvbnN0CiAKIHZvaWQgQ29kZUJsb2NrOjpkdW1wQXNzdW1pbmdKSVRUeXBl
KFByaW50U3RyZWFtJiBvdXQsIEpJVENvZGU6OkpJVFR5cGUgaml0VHlwZSkgY29uc3QKIHsKKyAg
ICBvdXQucHJpbnQoaW5mZXJyZWROYW1lKCksICIjIik7CiAgICAgaWYgKGhhc0hhc2goKSB8fCBp
c1NhZmVUb0NvbXB1dGVIYXNoKCkpCi0gICAgICAgIG91dC5wcmludChpbmZlcnJlZE5hbWUoKSwg
IiMiLCBoYXNoKCksICI6WyIsIFJhd1BvaW50ZXIodGhpcyksICItPiIsIFJhd1BvaW50ZXIob3du
ZXJFeGVjdXRhYmxlKCkpLCAiLCAiLCBqaXRUeXBlLCBjb2RlVHlwZSgpKTsKKyAgICAgICAgb3V0
LnByaW50KGhhc2goKSk7CiAgICAgZWxzZQotICAgICAgICBvdXQucHJpbnQoaW5mZXJyZWROYW1l
KCksICIjPG5vLWhhc2g+OlsiLCBSYXdQb2ludGVyKHRoaXMpLCAiLT4iLCBSYXdQb2ludGVyKG93
bmVyRXhlY3V0YWJsZSgpKSwgIiwgIiwgaml0VHlwZSwgY29kZVR5cGUoKSk7CisgICAgICAgIG91
dC5wcmludCgiPG5vLWhhc2g+Iik7CisgICAgb3V0LnByaW50KCI6WyIsIFJhd1BvaW50ZXIodGhp
cyksICItPiIpOworICAgIGlmICghIW1fYWx0ZXJuYXRpdmUpCisgICAgICAgIG91dC5wcmludChS
YXdQb2ludGVyKG1fYWx0ZXJuYXRpdmUuZ2V0KCkpLCAiLT4iKTsKKyAgICBvdXQucHJpbnQoUmF3
UG9pbnRlcihvd25lckV4ZWN1dGFibGUoKSksICIsICIsIGppdFR5cGUsIGNvZGVUeXBlKCkpOwog
CiAgICAgaWYgKGNvZGVUeXBlKCkgPT0gRnVuY3Rpb25Db2RlKQogICAgICAgICBvdXQucHJpbnQo
c3BlY2lhbGl6YXRpb25LaW5kKCkpOwpAQCAtMTQzLDYgKzE0OCwxMCBAQCB2b2lkIENvZGVCbG9j
azo6ZHVtcEFzc3VtaW5nSklUVHlwZShQcmludFN0cmVhbSYgb3V0LCBKSVRDb2RlOjpKSVRUeXBl
IGppdFR5cGUpCiAgICAgICAgIG91dC5wcmludCgiIChOZXZlcklubGluZSkiKTsKICAgICBpZiAo
b3duZXJFeGVjdXRhYmxlKCktPmlzU3RyaWN0TW9kZSgpKQogICAgICAgICBvdXQucHJpbnQoIiAo
U3RyaWN0TW9kZSkiKTsKKyAgICBpZiAodGhpcy0+aml0VHlwZSgpID09IEpJVENvZGU6OkJhc2Vs
aW5lSklUICYmIG1fZGlkRmFpbEZUTENvbXBpbGF0aW9uKQorICAgICAgICBvdXQucHJpbnQoIiAo
RlRMRmFpbCkiKTsKKyAgICBpZiAodGhpcy0+aml0VHlwZSgpID09IEpJVENvZGU6OkJhc2VsaW5l
SklUICYmIG1faGFzQmVlbkNvbXBpbGVkV2l0aEZUTCkKKyAgICAgICAgb3V0LnByaW50KCIgKEhh
ZEZUTFJlcGxhY2VtZW50KSIpOwogICAgIG91dC5wcmludCgiXSIpOwogfQogCkBAIC01MjYsMTIg
KzUzNSw3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoUHJpbnRTdHJlYW0mIG91dCkK
ICAgICBvdXQucHJpbnRmKCJcbiIpOwogICAgIAogICAgIFN0dWJJbmZvTWFwIHN0dWJJbmZvczsK
LSNpZiBFTkFCTEUoSklUKQotICAgIHsKLSAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2Nr
ZXIobV9sb2NrKTsKLSAgICAgICAgZ2V0U3R1YkluZm9NYXAobG9ja2VyLCBzdHViSW5mb3MpOwot
ICAgIH0KLSNlbmRpZgorICAgIGdldFN0dWJJbmZvTWFwKHN0dWJJbmZvcyk7CiAgICAgCiAgICAg
Y29uc3QgSW5zdHJ1Y3Rpb24qIGJlZ2luID0gaW5zdHJ1Y3Rpb25zKCkuYmVnaW4oKTsKICAgICBj
b25zdCBJbnN0cnVjdGlvbiogZW5kID0gaW5zdHJ1Y3Rpb25zKCkuZW5kKCk7CkBAIC0xNDY5LDYg
KzE0NzMsNyBAQCBDb2RlQmxvY2s6OkNvZGVCbG9jayhDb3B5UGFyc2VkQmxvY2tUYWcsIENvZGVC
bG9jayYgb3RoZXIpCiAgICAgLCBtX2lzQ29uc3RydWN0b3Iob3RoZXIubV9pc0NvbnN0cnVjdG9y
KQogICAgICwgbV9zaG91bGRBbHdheXNCZUlubGluZWQodHJ1ZSkKICAgICAsIG1fZGlkRmFpbEZU
TENvbXBpbGF0aW9uKGZhbHNlKQorICAgICwgbV9oYXNCZWVuQ29tcGlsZWRXaXRoRlRMKGZhbHNl
KQogICAgICwgbV91bmxpbmtlZENvZGUoKm90aGVyLm1fdm0sIG90aGVyLm1fb3duZXJFeGVjdXRh
YmxlLmdldCgpLCBvdGhlci5tX3VubGlua2VkQ29kZS5nZXQoKSkKICAgICAsIG1fc3RlcHBpbmdN
b2RlKFN0ZXBwaW5nTW9kZURpc2FibGVkKQogICAgICwgbV9udW1CcmVha3BvaW50cygwKQpAQCAt
MTUyNSw2ICsxNTMwLDcgQEAgQ29kZUJsb2NrOjpDb2RlQmxvY2soU2NyaXB0RXhlY3V0YWJsZSog
b3duZXJFeGVjdXRhYmxlLCBVbmxpbmtlZENvZGVCbG9jayogdW5saW4KICAgICAsIG1faXNDb25z
dHJ1Y3Rvcih1bmxpbmtlZENvZGVCbG9jay0+aXNDb25zdHJ1Y3RvcigpKQogICAgICwgbV9zaG91
bGRBbHdheXNCZUlubGluZWQodHJ1ZSkKICAgICAsIG1fZGlkRmFpbEZUTENvbXBpbGF0aW9uKGZh
bHNlKQorICAgICwgbV9oYXNCZWVuQ29tcGlsZWRXaXRoRlRMKGZhbHNlKQogICAgICwgbV91bmxp
bmtlZENvZGUobV9nbG9iYWxPYmplY3QtPnZtKCksIG93bmVyRXhlY3V0YWJsZSwgdW5saW5rZWRD
b2RlQmxvY2spCiAgICAgLCBtX3N0ZXBwaW5nTW9kZShTdGVwcGluZ01vZGVEaXNhYmxlZCkKICAg
ICAsIG1fbnVtQnJlYWtwb2ludHMoMCkKQEAgLTE4NTQsMjMgKzE4NjAsMTMgQEAgQ29kZUJsb2Nr
OjpDb2RlQmxvY2soU2NyaXB0RXhlY3V0YWJsZSogb3duZXJFeGVjdXRhYmxlLCBVbmxpbmtlZENv
ZGVCbG9jayogdW5saW4KIAogICAgIC8vIElmIHRoZSBjb25jdXJyZW50IHRocmVhZCB3aWxsIHdh
bnQgdGhlIGNvZGUgYmxvY2sncyBoYXNoLCB0aGVuIGNvbXB1dGUgaXQgaGVyZQogICAgIC8vIHN5
bmNocm9ub3VzbHkuCi0gICAgaWYgKE9wdGlvbnM6OnNob3dEaXNhc3NlbWJseSgpCi0gICAgICAg
IHx8IE9wdGlvbnM6OnNob3dERkdEaXNhc3NlbWJseSgpCi0gICAgICAgIHx8IE9wdGlvbnM6OmR1
bXBCeXRlY29kZUF0REZHVGltZSgpCi0gICAgICAgIHx8IE9wdGlvbnM6OmR1bXBHcmFwaEF0RWFj
aFBoYXNlKCkKLSAgICAgICAgfHwgT3B0aW9uczo6dmVyYm9zZUNvbXBpbGF0aW9uKCkKLSAgICAg
ICAgfHwgT3B0aW9uczo6bG9nQ29tcGlsYXRpb25DaGFuZ2VzKCkKLSAgICAgICAgfHwgT3B0aW9u
czo6dmFsaWRhdGVHcmFwaCgpCi0gICAgICAgIHx8IE9wdGlvbnM6OnZhbGlkYXRlR3JhcGhBdEVh
Y2hQaGFzZSgpCi0gICAgICAgIHx8IE9wdGlvbnM6OnZlcmJvc2VPU1IoKQotICAgICAgICB8fCBP
cHRpb25zOjp2ZXJib3NlQ29tcGlsYXRpb25RdWV1ZSgpCi0gICAgICAgIHx8IE9wdGlvbnM6OnJl
cG9ydENvbXBpbGVUaW1lcygpCi0gICAgICAgIHx8IE9wdGlvbnM6OnZlcmJvc2VDRkEoKSkKKyAg
ICBpZiAoT3B0aW9uczo6YWx3YXlzQ29tcHV0ZUhhc2goKSkKICAgICAgICAgaGFzaCgpOwogCiAg
ICAgaWYgKE9wdGlvbnM6OmR1bXBHZW5lcmF0ZWRCeXRlY29kZXMoKSkKICAgICAgICAgZHVtcEJ5
dGVjb2RlKCk7CiAKKyAgICAKICAgICBtX2hlYXAtPm1fY29kZUJsb2Nrcy5hZGQodGhpcyk7CiAg
ICAgbV9oZWFwLT5yZXBvcnRFeHRyYU1lbW9yeUNvc3Qoc2l6ZW9mKENvZGVCbG9jaykgKyBtX2lu
c3RydWN0aW9ucy5zaXplKCkgKiBzaXplb2YoSW5zdHJ1Y3Rpb24pKTsKIH0KQEAgLTIzMzQsMTYg
KzIzMzAsMjYgQEAgdm9pZCBDb2RlQmxvY2s6OmZpbmFsaXplVW5jb25kaXRpb25hbGx5KCkKICNl
bmRpZgogfQogCit2b2lkIENvZGVCbG9jazo6Z2V0U3R1YkluZm9NYXAoY29uc3QgQ29uY3VycmVu
dEpJVExvY2tlciYsIFN0dWJJbmZvTWFwJiByZXN1bHQpCit7CiAjaWYgRU5BQkxFKEpJVCkKLVN0
cnVjdHVyZVN0dWJJbmZvKiBDb2RlQmxvY2s6OmFkZFN0dWJJbmZvKCkKKyAgICB0b0hhc2hNYXAo
bV9zdHViSW5mb3MsIGdldFN0cnVjdHVyZVN0dWJJbmZvQ29kZU9yaWdpbiwgcmVzdWx0KTsKKyNl
bHNlCisgICAgVU5VU0VEX1BBUkFNKHJlc3VsdCk7CisjZW5kaWYKK30KKwordm9pZCBDb2RlQmxv
Y2s6OmdldFN0dWJJbmZvTWFwKFN0dWJJbmZvTWFwJiByZXN1bHQpCiB7CiAgICAgQ29uY3VycmVu
dEpJVExvY2tlciBsb2NrZXIobV9sb2NrKTsKLSAgICByZXR1cm4gbV9zdHViSW5mb3MuYWRkKCk7
CisgICAgZ2V0U3R1YkluZm9NYXAobG9ja2VyLCByZXN1bHQpOwogfQogCi12b2lkIENvZGVCbG9j
azo6Z2V0U3R1YkluZm9NYXAoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0dWJJbmZvTWFw
JiByZXN1bHQpCisjaWYgRU5BQkxFKEpJVCkKK1N0cnVjdHVyZVN0dWJJbmZvKiBDb2RlQmxvY2s6
OmFkZFN0dWJJbmZvKCkKIHsKLSAgICB0b0hhc2hNYXAobV9zdHViSW5mb3MsIGdldFN0cnVjdHVy
ZVN0dWJJbmZvQ29kZU9yaWdpbiwgcmVzdWx0KTsKKyAgICBDb25jdXJyZW50SklUTG9ja2VyIGxv
Y2tlcihtX2xvY2spOworICAgIHJldHVybiBtX3N0dWJJbmZvcy5hZGQoKTsKIH0KIAogdm9pZCBD
b2RlQmxvY2s6OnJlc2V0U3R1YihTdHJ1Y3R1cmVTdHViSW5mbyYgc3R1YkluZm8pCkBAIC0yODk5
LDYgKzI5MDUsMTEgQEAgdm9pZCBDb2RlQmxvY2s6OmNvdW50UmVvcHRpbWl6YXRpb24oKQogdW5z
aWduZWQgQ29kZUJsb2NrOjpudW1iZXJPZkRGR0NvbXBpbGVzKCkKIHsKICAgICBBU1NFUlQoSklU
Q29kZTo6aXNCYXNlbGluZUNvZGUoaml0VHlwZSgpKSk7CisgICAgaWYgKE9wdGlvbnM6OnRlc3RU
aGVGVEwoKSkgeworICAgICAgICBpZiAobV9kaWRGYWlsRlRMQ29tcGlsYXRpb24pCisgICAgICAg
ICAgICByZXR1cm4gMTAwMDAwMDsKKyAgICAgICAgcmV0dXJuIChtX2hhc0JlZW5Db21waWxlZFdp
dGhGVEwgPyAxIDogMCkgKyBtX3Jlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyOworICAgIH0KICAg
ICByZXR1cm4gKEpJVENvZGU6OmlzT3B0aW1pemluZ0pJVChyZXBsYWNlbWVudCgpLT5qaXRUeXBl
KCkpID8gMSA6IDApICsgbV9yZW9wdGltaXphdGlvblJldHJ5Q291bnRlcjsKIH0KIApAQCAtMzAx
MCw3ICszMDIxLDcgQEAgaW50MzJfdCBDb2RlQmxvY2s6OmFkanVzdGVkQ291bnRlclZhbHVlKGlu
dDMyX3QgZGVzaXJlZFRocmVzaG9sZCkKIGJvb2wgQ29kZUJsb2NrOjpjaGVja0lmT3B0aW1pemF0
aW9uVGhyZXNob2xkUmVhY2hlZCgpCiB7CiAjaWYgRU5BQkxFKERGR19KSVQpCi0gICAgaWYgKERG
Rzo6V29ya2xpc3QqIHdvcmtsaXN0ID0gbV92bS0+d29ya2xpc3QuZ2V0KCkpIHsKKyAgICBpZiAo
REZHOjpXb3JrbGlzdCogd29ya2xpc3QgPSBERkc6OmV4aXN0aW5nR2xvYmFsREZHV29ya2xpc3RP
ck51bGwoKSkgewogICAgICAgICBpZiAod29ya2xpc3QtPmNvbXBpbGF0aW9uU3RhdGUoREZHOjpD
b21waWxhdGlvbktleSh0aGlzLCBERkc6OkRGR01vZGUpKQogICAgICAgICAgICAgPT0gREZHOjpX
b3JrbGlzdDo6Q29tcGlsZWQpIHsKICAgICAgICAgICAgIG9wdGltaXplTmV4dEludm9jYXRpb24o
KTsKQEAgLTMzNDEsNiArMzM1MiwxMSBAQCB1bnNpZ25lZCBDb2RlQmxvY2s6OmZyYW1lUmVnaXN0
ZXJDb3VudCgpCiAgICAgfQogfQogCitpbnQgQ29kZUJsb2NrOjpzdGFja1BvaW50ZXJPZmZzZXQo
KQoreworICAgIHJldHVybiB2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChmcmFtZVJlZ2lzdGVyQ291
bnQoKSAtIDEpLm9mZnNldCgpOworfQorCiBzaXplX3QgQ29kZUJsb2NrOjpwcmVkaWN0ZWRNYWNo
aW5lQ29kZVNpemUoKQogewogICAgIC8vIFRoaXMgd2lsbCBiZSBjYWxsZWQgZnJvbSBDb2RlQmxv
Y2s6OkNvZGVCbG9jayBiZWZvcmUgZWl0aGVyIG1fdm0gb3IgdGhlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKaW5kZXggNjlmNDIxODRlZGExMGZjZGVmNGJkMzYx
MzZhYjM5ODk4NGMyZmRkYy4uY2JkYzM4MTdjOGVmYTRiMmRlMTgzNzQxZTlhZTJiYWQ4N2IzMzM4
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaApAQCAtMTc1
LDYgKzE3NSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGV4cHJlc3Npb25SYW5nZUZvckJ5dGVjb2Rl
T2Zmc2V0KHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LCBpbnQmIGRpdm90LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50JiBzdGFydE9mZnNldCwgaW50JiBlbmRP
ZmZzZXQsIHVuc2lnbmVkJiBsaW5lLCB1bnNpZ25lZCYgY29sdW1uKTsKIAorICAgIHZvaWQgZ2V0
U3R1YkluZm9NYXAoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIFN0dWJJbmZvTWFwJiByZXN1
bHQpOworICAgIHZvaWQgZ2V0U3R1YkluZm9NYXAoU3R1YkluZm9NYXAmIHJlc3VsdCk7CisKICNp
ZiBFTkFCTEUoSklUKQogICAgIFN0cnVjdHVyZVN0dWJJbmZvKiBhZGRTdHViSW5mbygpOwogICAg
IEJhZzxTdHJ1Y3R1cmVTdHViSW5mbz46Oml0ZXJhdG9yIGJlZ2luKCkgeyByZXR1cm4gbV9zdHVi
SW5mb3MuYmVnaW4oKTsgfQpAQCAtMTgyLDggKzE4NSw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
cmVzZXRTdHViKFN0cnVjdHVyZVN0dWJJbmZvJik7CiAgICAgCi0gICAgdm9pZCBnZXRTdHViSW5m
b01hcChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgU3R1YkluZm9NYXAmIHJlc3VsdCk7Ci0K
ICAgICBCeVZhbEluZm8mIGdldEJ5VmFsSW5mbyh1bnNpZ25lZCBieXRlY29kZUluZGV4KQogICAg
IHsKICAgICAgICAgcmV0dXJuICooYmluYXJ5U2VhcmNoPEJ5VmFsSW5mbywgdW5zaWduZWQ+KG1f
YnlWYWxJbmZvcywgbV9ieVZhbEluZm9zLnNpemUoKSwgYnl0ZWNvZGVJbmRleCwgZ2V0QnlWYWxJ
bmZvQnl0ZWNvZGVJbmRleCkpOwpAQCAtMjU2LDE3ICsyNTcsMTUgQEAgcHVibGljOgogICAgIC8v
IEV4YWN0bHkgZXF1aXZhbGVudCB0byBjb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpLT5uZXdS
ZXBsYWNlbWVudENvZGVCbG9ja0Zvcihjb2RlQmxvY2stPnNwZWNpYWxpemF0aW9uS2luZCgpKQog
ICAgIFBhc3NSZWZQdHI8Q29kZUJsb2NrPiBuZXdSZXBsYWNlbWVudCgpOwogICAgIAotICAgIHZv
aWQgc2V0SklUQ29kZShQYXNzUmVmUHRyPEpJVENvZGU+IGNvZGUsIE1hY3JvQXNzZW1ibGVyQ29k
ZVB0ciBjb2RlV2l0aEFyaXR5Q2hlY2spCisgICAgdm9pZCBzZXRKSVRDb2RlKFBhc3NSZWZQdHI8
SklUQ29kZT4gY29kZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChtX2hlYXAtPmlzRGVmZXJyZWQo
KSk7CiAgICAgICAgIG1faGVhcC0+cmVwb3J0RXh0cmFNZW1vcnlDb3N0KGNvZGUtPnNpemUoKSk7
CiAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKG1fbG9jayk7CiAgICAgICAgIFdU
Rjo6c3RvcmVTdG9yZUZlbmNlKCk7IC8vIFRoaXMgaXMgcHJvYmFibHkgbm90IG5lZWRlZCBiZWNh
dXNlIHRoZSBsb2NrIHdpbGwgYWxzbyBkbyBzb21ldGhpbmcgc2ltaWxhciwgYnV0IGl0J3MgZ29v
ZCB0byBiZSBwYXJhbm9pZC4KICAgICAgICAgbV9qaXRDb2RlID0gY29kZTsKLSAgICAgICAgbV9q
aXRDb2RlV2l0aEFyaXR5Q2hlY2sgPSBjb2RlV2l0aEFyaXR5Q2hlY2s7CiAgICAgfQogICAgIFBh
c3NSZWZQdHI8SklUQ29kZT4gaml0Q29kZSgpIHsgcmV0dXJuIG1faml0Q29kZTsgfQotICAgIE1h
Y3JvQXNzZW1ibGVyQ29kZVB0ciBqaXRDb2RlV2l0aEFyaXR5Q2hlY2soKSB7IHJldHVybiBtX2pp
dENvZGVXaXRoQXJpdHlDaGVjazsgfQogICAgIEpJVENvZGU6OkpJVFR5cGUgaml0VHlwZSgpIGNv
bnN0CiAgICAgewogICAgICAgICBKSVRDb2RlKiBqaXRDb2RlID0gbV9qaXRDb2RlLmdldCgpOwpA
QCAtNDg5LDggKzQ4OCw4IEBAIHB1YmxpYzoKICAgICBSYXJlQ2FzZVByb2ZpbGUqIHNwZWNpYWxG
YXN0Q2FzZVByb2ZpbGVGb3JCeXRlY29kZU9mZnNldChpbnQgYnl0ZWNvZGVPZmZzZXQpCiAgICAg
ewogICAgICAgICByZXR1cm4gdHJ5QmluYXJ5U2VhcmNoPFJhcmVDYXNlUHJvZmlsZSwgaW50PigK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9z
cGVjaWFsRmFzdENhc2VQcm9maWxlcywgbV9zcGVjaWFsRmFzdENhc2VQcm9maWxlcy5zaXplKCks
IGJ5dGVjb2RlT2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnZXRSYXJlQ2FzZVByb2ZpbGVCeXRlY29kZU9mZnNldCk7CisgICAgICAg
ICAgICBtX3NwZWNpYWxGYXN0Q2FzZVByb2ZpbGVzLCBtX3NwZWNpYWxGYXN0Q2FzZVByb2ZpbGVz
LnNpemUoKSwgYnl0ZWNvZGVPZmZzZXQsCisgICAgICAgICAgICBnZXRSYXJlQ2FzZVByb2ZpbGVC
eXRlY29kZU9mZnNldCk7CiAgICAgfQogCiAgICAgYm9vbCBsaWtlbHlUb1Rha2VTcGVjaWFsRmFz
dENhc2UoaW50IGJ5dGVjb2RlT2Zmc2V0KQpAQCAtNTc2LDExICs1NzUsMTUgQEAgcHVibGljOgog
ICAgICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xvY2spOwogICAgICAgICByZXR1
cm4gbV9leGl0UHJvZmlsZS5hZGQobG9ja2VyLCBzaXRlKTsKICAgICB9Ci0gICAgICAgIAorICAg
ICAKKyAgICBib29sIGhhc0V4aXRTaXRlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImIGxvY2tl
ciwgY29uc3QgREZHOjpGcmVxdWVudEV4aXRTaXRlJiBzaXRlKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobG9ja2VyLCBzaXRlKTsKKyAgICB9
CiAgICAgYm9vbCBoYXNFeGl0U2l0ZShjb25zdCBERkc6OkZyZXF1ZW50RXhpdFNpdGUmIHNpdGUp
IGNvbnN0CiAgICAgewogICAgICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xvY2sp
OwotICAgICAgICByZXR1cm4gbV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShsb2NrZXIsIHNpdGUp
OworICAgICAgICByZXR1cm4gaGFzRXhpdFNpdGUobG9ja2VyLCBzaXRlKTsKICAgICB9CiAKICAg
ICBERkc6OkV4aXRQcm9maWxlJiBleGl0UHJvZmlsZSgpIHsgcmV0dXJuIG1fZXhpdFByb2ZpbGU7
IH0KQEAgLTY3OSw5ICs2ODIsMTkgQEAgcHVibGljOgogCiAgICAgQnl0ZWNvZGVMaXZlbmVzc0Fu
YWx5c2lzJiBsaXZlbmVzc0FuYWx5c2lzKCkKICAgICB7Ci0gICAgICAgIGlmICghbV9saXZlbmVz
c0FuYWx5c2lzKQotICAgICAgICAgICAgbV9saXZlbmVzc0FuYWx5c2lzID0gc3RkOjptYWtlX3Vu
aXF1ZTxCeXRlY29kZUxpdmVuZXNzQW5hbHlzaXM+KHRoaXMpOwotICAgICAgICByZXR1cm4gKm1f
bGl2ZW5lc3NBbmFseXNpczsKKyAgICAgICAgeworICAgICAgICAgICAgQ29uY3VycmVudEpJVExv
Y2tlciBsb2NrZXIobV9sb2NrKTsKKyAgICAgICAgICAgIGlmICghIW1fbGl2ZW5lc3NBbmFseXNp
cykKKyAgICAgICAgICAgICAgICByZXR1cm4gKm1fbGl2ZW5lc3NBbmFseXNpczsKKyAgICAgICAg
fQorICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8Qnl0ZWNvZGVMaXZlbmVzc0FuYWx5c2lzPiBhbmFs
eXNpcyA9CisgICAgICAgICAgICBzdGQ6Om1ha2VfdW5pcXVlPEJ5dGVjb2RlTGl2ZW5lc3NBbmFs
eXNpcz4odGhpcyk7CisgICAgICAgIHsKKyAgICAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIg
bG9ja2VyKG1fbG9jayk7CisgICAgICAgICAgICBpZiAoIW1fbGl2ZW5lc3NBbmFseXNpcykKKyAg
ICAgICAgICAgICAgICBtX2xpdmVuZXNzQW5hbHlzaXMgPSBzdGQ6Om1vdmUoYW5hbHlzaXMpOwor
ICAgICAgICAgICAgcmV0dXJuICptX2xpdmVuZXNzQW5hbHlzaXM7CisgICAgICAgIH0KICAgICB9
CiAgICAgCiAgICAgdm9pZCB2YWxpZGF0ZSgpOwpAQCAtODY2LDYgKzg3OSw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHVwZGF0ZUFsbFByZWRpY3Rpb25zKCk7CiAKICAgICB1bnNpZ25lZCBmcmFtZVJl
Z2lzdGVyQ291bnQoKTsKKyAgICBpbnQgc3RhY2tQb2ludGVyT2Zmc2V0KCk7CiAKICAgICBib29s
IGhhc09wRGVidWdGb3JMaW5lQW5kQ29sdW1uKHVuc2lnbmVkIGxpbmUsIHVuc2lnbmVkIGNvbHVt
bik7CiAKQEAgLTg5MSw3ICs5MDUsNyBAQCBwdWJsaWM6CiAKICAgICBpbnQgbV9udW1DYWxsZWVS
ZWdpc3RlcnM7CiAgICAgaW50IG1fbnVtVmFyczsKLSAgICBib29sIG1faXNDb25zdHJ1Y3RvcjsK
KyAgICBib29sIG1faXNDb25zdHJ1Y3RvciA6IDE7CiAgICAgCiAgICAgLy8gVGhpcyBpcyBpbnRl
bnRpb25hbGx5IHB1YmxpYzsgaXQncyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgYW55b25lIGRvaW5n
IGFueQogICAgIC8vIG9mIHRoZSBmb2xsb3dpbmcgdG8gaG9sZCB0aGUgbG9jazoKQEAgLTkxMSwx
MCArOTI1LDExIEBAIHB1YmxpYzoKICAgICAvLyBjb25jdXJyZW50IGNvbXBpbGF0aW9uIHRocmVh
ZHMgZmluaXNoIHdoYXQgdGhleSdyZSBkb2luZy4KICAgICBtdXRhYmxlIENvbmN1cnJlbnRKSVRM
b2NrIG1fbG9jazsKICAgICAKLSAgICBib29sIG1fc2hvdWxkQWx3YXlzQmVJbmxpbmVkOwotICAg
IGJvb2wgbV9hbGxUcmFuc2l0aW9uc0hhdmVCZWVuTWFya2VkOyAvLyBJbml0aWFsaXplZCBhbmQg
dXNlZCBvbiBldmVyeSBHQy4KKyAgICBib29sIG1fc2hvdWxkQWx3YXlzQmVJbmxpbmVkOyAvLyBO
b3QgYSBiaXRmaWVsZCBiZWNhdXNlIHRoZSBKSVQgd2FudHMgdG8gc3RvcmUgdG8gaXQuCisgICAg
Ym9vbCBtX2FsbFRyYW5zaXRpb25zSGF2ZUJlZW5NYXJrZWQgOiAxOyAvLyBJbml0aWFsaXplZCBh
bmQgdXNlZCBvbiBldmVyeSBHQy4KICAgICAKLSAgICBib29sIG1fZGlkRmFpbEZUTENvbXBpbGF0
aW9uOworICAgIGJvb2wgbV9kaWRGYWlsRlRMQ29tcGlsYXRpb24gOiAxOworICAgIGJvb2wgbV9o
YXNCZWVuQ29tcGlsZWRXaXRoRlRMIDogMTsKIAogICAgIC8vIEludGVybmFsIG1ldGhvZHMgZm9y
IHVzZSBieSB2YWxpZGF0aW9uIGNvZGUuIEl0IHdvdWxkIGJlIHByaXZhdGUgaWYgaXQgd2Fzbid0
CiAgICAgLy8gZm9yIHRoZSBmYWN0IHRoYXQgd2UgdXNlIGl0IGZyb20gYW5vbnltb3VzIG5hbWVz
cGFjZXMuCkBAIC0xMDU0LDcgKzEwNjksNiBAQCBwcml2YXRlOgogICAgIFNlbnRpbmVsTGlua2Vk
TGlzdDxMTEludENhbGxMaW5rSW5mbywgQmFzaWNSYXdTZW50aW5lbE5vZGU8TExJbnRDYWxsTGlu
a0luZm8+PiBtX2luY29taW5nTExJbnRDYWxsczsKICNlbmRpZgogICAgIFJlZlB0cjxKSVRDb2Rl
PiBtX2ppdENvZGU7Ci0gICAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIG1faml0Q29kZVdpdGhBcml0
eUNoZWNrOwogI2lmIEVOQUJMRShKSVQpCiAgICAgQmFnPFN0cnVjdHVyZVN0dWJJbmZvPiBtX3N0
dWJJbmZvczsKICAgICBWZWN0b3I8QnlWYWxJbmZvPiBtX2J5VmFsSW5mb3M7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZU9yaWdpbi5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZU9yaWdpbi5jcHAKaW5kZXggMzliODNmZWFkYzUy
NWRjNjFjOGVmYWJmNDAxNmYxZGMzYjgyZWQ3My4uNjhkYzZiMDUzMzU1OTBlYzRjODFjNDIzNDZi
Yjc0ZGJiZDhmYWM1NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVPcmlnaW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
T3JpZ2luLmNwcApAQCAtNDUsNyArNDUsNjQgQEAgdW5zaWduZWQgQ29kZU9yaWdpbjo6aW5saW5l
RGVwdGgoKSBjb25zdAogewogICAgIHJldHVybiBpbmxpbmVEZXB0aEZvckNhbGxGcmFtZShpbmxp
bmVDYWxsRnJhbWUpOwogfQorCitib29sIENvZGVPcmlnaW46OmlzQXBwcm94aW1hdGVseUVxdWFs
VG8oY29uc3QgQ29kZU9yaWdpbiYgb3RoZXIpIGNvbnN0Cit7CisgICAgQ29kZU9yaWdpbiBhID0g
KnRoaXM7CisgICAgQ29kZU9yaWdpbiBiID0gb3RoZXI7CisKKyAgICBpZiAoIWEuaXNTZXQoKSkK
KyAgICAgICAgcmV0dXJuICFiLmlzU2V0KCk7CisgICAgaWYgKCFiLmlzU2V0KCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAKKyAgICBpZiAoYS5pc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgp
KQorICAgICAgICByZXR1cm4gYi5pc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpOworICAgIGlmIChi
LmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAK
KyAgICBmb3IgKDs7KSB7CisgICAgICAgIEFTU0VSVChhLmlzU2V0KCkpOworICAgICAgICBBU1NF
UlQoYi5pc1NldCgpKTsKKyAgICAgICAgCisgICAgICAgIGlmIChhLmJ5dGVjb2RlSW5kZXggIT0g
Yi5ieXRlY29kZUluZGV4KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAg
ICAgICAgaWYgKCghIWEuaW5saW5lQ2FsbEZyYW1lKSAhPSAoISFiLmlubGluZUNhbGxGcmFtZSkp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAgICAgICBpZiAoIWEuaW5s
aW5lQ2FsbEZyYW1lKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIAorICAgICAg
ICBpZiAoYS5pbmxpbmVDYWxsRnJhbWUtPmV4ZWN1dGFibGUgIT0gYi5pbmxpbmVDYWxsRnJhbWUt
PmV4ZWN1dGFibGUpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAgICAg
ICBhID0gYS5pbmxpbmVDYWxsRnJhbWUtPmNhbGxlcjsKKyAgICAgICAgYiA9IGIuaW5saW5lQ2Fs
bEZyYW1lLT5jYWxsZXI7CisgICAgfQorfQorCit1bnNpZ25lZCBDb2RlT3JpZ2luOjphcHByb3hp
bWF0ZUhhc2goKSBjb25zdAoreworICAgIGlmICghaXNTZXQoKSkKKyAgICAgICAgcmV0dXJuIDA7
CisgICAgaWYgKGlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkpCisgICAgICAgIHJldHVybiAxOwog
ICAgIAorICAgIHVuc2lnbmVkIHJlc3VsdCA9IDI7CisgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2lu
ID0gKnRoaXM7CisgICAgZm9yICg7OykgeworICAgICAgICByZXN1bHQgKz0gY29kZU9yaWdpbi5i
eXRlY29kZUluZGV4OworICAgICAgICAKKyAgICAgICAgaWYgKCFjb2RlT3JpZ2luLmlubGluZUNh
bGxGcmFtZSkKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIAorICAgICAgICBy
ZXN1bHQgKz0gV1RGOjpQdHJIYXNoPEpTQ2VsbCo+OjpoYXNoKGNvZGVPcmlnaW4uaW5saW5lQ2Fs
bEZyYW1lLT5leGVjdXRhYmxlLmdldCgpKTsKKyAgICAgICAgCisgICAgICAgIGNvZGVPcmlnaW4g
PSBjb2RlT3JpZ2luLmlubGluZUNhbGxGcmFtZS0+Y2FsbGVyOworICAgIH0KK30KKwogVmVjdG9y
PENvZGVPcmlnaW4+IENvZGVPcmlnaW46OmlubGluZVN0YWNrKCkgY29uc3QKIHsKICAgICBWZWN0
b3I8Q29kZU9yaWdpbj4gcmVzdWx0KGlubGluZURlcHRoKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlT3JpZ2luLmgKaW5kZXggZWQ2NjBjMjQ3OTVkZTYxODI3MWJlOTk4
MDc5ZWFmYjJkMDRhOWJjMS4uYzUyNTE3OWI2N2FjYjM3NDIwMjc5M2Q1YmVhMmMwYjg5MDEzNTM4
YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4u
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZU9yaWdpbi5oCkBAIC02
Myw3ICs2Myw3IEBAIHN0cnVjdCBDb2RlT3JpZ2luIHsKICAgICAKICAgICBDb2RlT3JpZ2luKFdU
Rjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSkKICAgICAgICAgOiBieXRlY29kZUluZGV4KGlu
dmFsaWRCeXRlY29kZUluZGV4KQotICAgICAgICAsIGlubGluZUNhbGxGcmFtZShiaXR3aXNlX2Nh
c3Q8SW5saW5lQ2FsbEZyYW1lKj4oc3RhdGljX2Nhc3Q8dWludHB0cl90PigxKSkpCisgICAgICAg
ICwgaW5saW5lQ2FsbEZyYW1lKGRlbGV0ZWRNYXJrZXIoKSkKICAgICB7CiAgICAgfQogICAgIApA
QCAtOTcsMTUgKzk3LDI3IEBAIHN0cnVjdCBDb2RlT3JpZ2luIHsKICAgICBib29sIG9wZXJhdG9y
PT0oY29uc3QgQ29kZU9yaWdpbiYgb3RoZXIpIGNvbnN0OwogICAgIGJvb2wgb3BlcmF0b3IhPShj
b25zdCBDb2RlT3JpZ2luJiBvdGhlcikgY29uc3QgeyByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7
IH0KICAgICAKKyAgICAvLyBUaGlzIGNoZWNrcyBpZiB0aGUgdHdvIGNvZGUgb3JpZ2lucyBjb3Jy
ZXNwb25kIHRvIHRoZSBzYW1lIHN0YWNrIHRyYWNlIHNuaXBwZXRzLAorICAgIC8vIGJ1dCBpZ25v
cmUgd2hldGhlciB0aGUgSW5saW5lQ2FsbEZyYW1lJ3MgYXJlIGlkZW50aWNhbC4KKyAgICBib29s
IGlzQXBwcm94aW1hdGVseUVxdWFsVG8oY29uc3QgQ29kZU9yaWdpbiYgb3RoZXIpIGNvbnN0Owor
ICAgIAorICAgIHVuc2lnbmVkIGFwcHJveGltYXRlSGFzaCgpIGNvbnN0OworICAgIAogICAgIC8v
IEdldCB0aGUgaW5saW5lIHN0YWNrLiBUaGlzIGlzIHNsb3csIGFuZCBpcyBpbnRlbmRlZCBmb3Ig
ZGVidWdnaW5nIG9ubHkuCiAgICAgVmVjdG9yPENvZGVPcmlnaW4+IGlubGluZVN0YWNrKCkgY29u
c3Q7CiAgICAgCiAgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Q7CiAgICAgdm9pZCBk
dW1wSW5Db250ZXh0KFByaW50U3RyZWFtJiwgRHVtcENvbnRleHQqKSBjb25zdDsKKworcHJpdmF0
ZToKKyAgICBzdGF0aWMgSW5saW5lQ2FsbEZyYW1lKiBkZWxldGVkTWFya2VyKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBiaXR3aXNlX2Nhc3Q8SW5saW5lQ2FsbEZyYW1lKj4oc3RhdGljX2Nhc3Q8
dWludHB0cl90PigxKSk7CisgICAgfQogfTsKIAogc3RydWN0IElubGluZUNhbGxGcmFtZSB7Ci0g
ICAgVmVjdG9yPFZhbHVlUmVjb3Zlcnk+IGFyZ3VtZW50czsKKyAgICBWZWN0b3I8VmFsdWVSZWNv
dmVyeT4gYXJndW1lbnRzOyAvLyBJbmNsdWRlcyAndGhpcycuCiAgICAgV3JpdGVCYXJyaWVyPFNj
cmlwdEV4ZWN1dGFibGU+IGV4ZWN1dGFibGU7CiAgICAgVmFsdWVSZWNvdmVyeSBjYWxsZWVSZWNv
dmVyeTsKICAgICBDb2RlT3JpZ2luIGNhbGxlcjsKQEAgLTE4NSw2ICsxOTcsMTIgQEAgc3RydWN0
IENvZGVPcmlnaW5IYXNoIHsKICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9F
bXB0eU9yRGVsZXRlZCA9IHRydWU7CiB9OwogCitzdHJ1Y3QgQ29kZU9yaWdpbkFwcHJveGltYXRl
SGFzaCB7CisgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgQ29kZU9yaWdpbiYga2V5KSB7
IHJldHVybiBrZXkuYXBwcm94aW1hdGVIYXNoKCk7IH0KKyAgICBzdGF0aWMgYm9vbCBlcXVhbChj
b25zdCBDb2RlT3JpZ2luJiBhLCBjb25zdCBDb2RlT3JpZ2luJiBiKSB7IHJldHVybiBhLmlzQXBw
cm94aW1hdGVseUVxdWFsVG8oYik7IH0KKyAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21w
YXJlVG9FbXB0eU9yRGVsZXRlZCA9IHRydWU7Cit9OworCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAog
bmFtZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvREZHRXhpdFByb2ZpbGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RG
R0V4aXRQcm9maWxlLmNwcAppbmRleCA1ZDA1YmJiMmYwNzk4MTY3M2M3NzRlMzVkZjBmM2Q0ZjBl
MTc1NTA3Li43M2JhODhjZDAzNDJhM2ZiYTMwMmMzMGQzNzYwMjNiN2NiZTQ5NzFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvREZHRXhpdFByb2ZpbGUuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0UHJvZmlsZS5jcHAKQEAg
LTM3LDYgKzM3LDggQEAgRXhpdFByb2ZpbGU6On5FeGl0UHJvZmlsZSgpIHsgfQogCiBib29sIEV4
aXRQcm9maWxlOjphZGQoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYsIGNvbnN0IEZyZXF1ZW50
RXhpdFNpdGUmIHNpdGUpCiB7CisgICAgQVNTRVJUKHNpdGUuaml0VHlwZSgpICE9IEV4aXRGcm9t
QW55dGhpbmcpOworICAgIAogICAgIC8vIElmIHdlJ3ZlIG5ldmVyIHNlZW4gYW55IGZyZXF1ZW50
IGV4aXRzIHRoZW4gY3JlYXRlIHRoZSBsaXN0IGFuZCBwdXQgdGhpcyBzaXRlCiAgICAgLy8gaW50
byBpdC4KICAgICBpZiAoIW1fZnJlcXVlbnRFeGl0U2l0ZXMpIHsKQEAgLTc4LDcgKzgwLDcgQEAg
Ym9vbCBFeGl0UHJvZmlsZTo6aGFzRXhpdFNpdGUoY29uc3QgQ29uY3VycmVudEpJVExvY2tlciYs
IGNvbnN0IEZyZXF1ZW50RXhpdFNpdGUKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAg
IGZvciAodW5zaWduZWQgaSA9IG1fZnJlcXVlbnRFeGl0U2l0ZXMtPnNpemUoKTsgaS0tOykgewot
ICAgICAgICBpZiAobV9mcmVxdWVudEV4aXRTaXRlcy0+YXQoaSkgPT0gc2l0ZSkKKyAgICAgICAg
aWYgKHNpdGUuc3Vic3VtZXMobV9mcmVxdWVudEV4aXRTaXRlcy0+YXQoaSkpKQogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9ERkdFeGl0UHJvZmlsZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RGR0V4aXRQcm9maWxlLmgKaW5kZXggYWIxYTYwZDU4ZDFl
YjZjNmE2NWYyNGUwODU4M2U1OTViNjVjNDk5Zi4uMzRiOGE5Yjg4ZjYxZjA1OWJlZGJkYjMwMmZk
NTVjNmI3OGQwMjM3MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0RGR0V4aXRQcm9maWxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0RG
R0V4aXRQcm9maWxlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEx
LCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDYgKzI4LDcgQEAKIAog
I2luY2x1ZGUgIkNvbmN1cnJlbnRKSVRMb2NrLmgiCiAjaW5jbHVkZSAiRXhpdEtpbmQuaCIKKyNp
bmNsdWRlICJFeGl0aW5nSklUVHlwZS5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTM5LDE4ICs0
MCwyMiBAQCBwdWJsaWM6CiAgICAgRnJlcXVlbnRFeGl0U2l0ZSgpCiAgICAgICAgIDogbV9ieXRl
Y29kZU9mZnNldCgwKSAvLyAwID0gZW1wdHkgdmFsdWUKICAgICAgICAgLCBtX2tpbmQoRXhpdEtp
bmRVbnNldCkKKyAgICAgICAgLCBtX2ppdFR5cGUoRXhpdEZyb21Bbnl0aGluZykKICAgICB7CiAg
ICAgfQogICAgIAogICAgIEZyZXF1ZW50RXhpdFNpdGUoV1RGOjpIYXNoVGFibGVEZWxldGVkVmFs
dWVUeXBlKQogICAgICAgICA6IG1fYnl0ZWNvZGVPZmZzZXQoMSkgLy8gMSA9IGRlbGV0ZWQgdmFs
dWUKICAgICAgICAgLCBtX2tpbmQoRXhpdEtpbmRVbnNldCkKKyAgICAgICAgLCBtX2ppdFR5cGUo
RXhpdEZyb21Bbnl0aGluZykKICAgICB7CiAgICAgfQogICAgIAotICAgIGV4cGxpY2l0IEZyZXF1
ZW50RXhpdFNpdGUodW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQsIEV4aXRLaW5kIGtpbmQpCisgICAg
ZXhwbGljaXQgRnJlcXVlbnRFeGl0U2l0ZSgKKyAgICAgICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZz
ZXQsIEV4aXRLaW5kIGtpbmQsIEV4aXRpbmdKSVRUeXBlIGppdFR5cGUgPSBFeGl0RnJvbUFueXRo
aW5nKQogICAgICAgICA6IG1fYnl0ZWNvZGVPZmZzZXQoYnl0ZWNvZGVPZmZzZXQpCiAgICAgICAg
ICwgbV9raW5kKGtpbmQpCisgICAgICAgICwgbV9qaXRUeXBlKGppdFR5cGUpCiAgICAgewogICAg
ICAgICBpZiAobV9raW5kID09IEFyZ3VtZW50c0VzY2FwZWQpIHsKICAgICAgICAgICAgIC8vIENv
dW50IHRoaXMgb25lIGdsb2JhbGx5LiBJdCBkb2Vzbid0IG1hdHRlciB3aGVyZSBpbiB0aGUgY29k
ZSBibG9jayB0aGUgYXJndW1lbnRzIGV4Y2FwZWQ7CkBAIC02MSw5ICs2NiwxMCBAQCBwdWJsaWM6
CiAgICAgCiAgICAgLy8gVXNlIHRoaXMgY29uc3RydWN0b3IgaWYgeW91IHdpc2ggZm9yIHRoZSBl
eGl0IHNpdGUgdG8gYmUgY291bnRlZCBnbG9iYWxseSB3aXRoaW4gaXRzCiAgICAgLy8gY29kZSBi
bG9jay4KLSAgICBleHBsaWNpdCBGcmVxdWVudEV4aXRTaXRlKEV4aXRLaW5kIGtpbmQpCisgICAg
ZXhwbGljaXQgRnJlcXVlbnRFeGl0U2l0ZShFeGl0S2luZCBraW5kLCBFeGl0aW5nSklUVHlwZSBq
aXRUeXBlID0gRXhpdEZyb21Bbnl0aGluZykKICAgICAgICAgOiBtX2J5dGVjb2RlT2Zmc2V0KDAp
CiAgICAgICAgICwgbV9raW5kKGtpbmQpCisgICAgICAgICwgbV9qaXRUeXBlKGppdFR5cGUpCiAg
ICAgewogICAgIH0KICAgICAKQEAgLTc1LDE2ICs4MSwzNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBv
cGVyYXRvcj09KGNvbnN0IEZyZXF1ZW50RXhpdFNpdGUmIG90aGVyKSBjb25zdAogICAgIHsKICAg
ICAgICAgcmV0dXJuIG1fYnl0ZWNvZGVPZmZzZXQgPT0gb3RoZXIubV9ieXRlY29kZU9mZnNldAot
ICAgICAgICAgICAgJiYgbV9raW5kID09IG90aGVyLm1fa2luZDsKKyAgICAgICAgICAgICYmIG1f
a2luZCA9PSBvdGhlci5tX2tpbmQKKyAgICAgICAgICAgICYmIG1faml0VHlwZSA9PSBvdGhlci5t
X2ppdFR5cGU7CisgICAgfQorICAgIAorICAgIGJvb2wgc3Vic3VtZXMoY29uc3QgRnJlcXVlbnRF
eGl0U2l0ZSYgb3RoZXIpIGNvbnN0CisgICAgeworICAgICAgICBpZiAobV9ieXRlY29kZU9mZnNl
dCAhPSBvdGhlci5tX2J5dGVjb2RlT2Zmc2V0KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICBpZiAobV9raW5kICE9IG90aGVyLm1fa2luZCkKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgaWYgKG1faml0VHlwZSA9PSBFeGl0RnJvbUFueXRoaW5nKQorICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBtX2ppdFR5cGUgPT0gb3RoZXIubV9q
aXRUeXBlOwogICAgIH0KICAgICAKICAgICB1bnNpZ25lZCBoYXNoKCkgY29uc3QKICAgICB7Ci0g
ICAgICAgIHJldHVybiBXVEY6OmludEhhc2gobV9ieXRlY29kZU9mZnNldCkgKyBtX2tpbmQ7Cisg
ICAgICAgIHJldHVybiBXVEY6OmludEhhc2gobV9ieXRlY29kZU9mZnNldCkgKyBtX2tpbmQgKyBt
X2ppdFR5cGUgKiA3OwogICAgIH0KICAgICAKICAgICB1bnNpZ25lZCBieXRlY29kZU9mZnNldCgp
IGNvbnN0IHsgcmV0dXJuIG1fYnl0ZWNvZGVPZmZzZXQ7IH0KICAgICBFeGl0S2luZCBraW5kKCkg
Y29uc3QgeyByZXR1cm4gbV9raW5kOyB9CisgICAgRXhpdGluZ0pJVFR5cGUgaml0VHlwZSgpIGNv
bnN0IHsgcmV0dXJuIG1faml0VHlwZTsgfQorICAgIAorICAgIEZyZXF1ZW50RXhpdFNpdGUgd2l0
aEpJVFR5cGUoRXhpdGluZ0pJVFR5cGUgaml0VHlwZSkgY29uc3QKKyAgICB7CisgICAgICAgIEZy
ZXF1ZW50RXhpdFNpdGUgcmVzdWx0ID0gKnRoaXM7CisgICAgICAgIHJlc3VsdC5tX2ppdFR5cGUg
PSBqaXRUeXBlOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KIAogICAgIGJvb2wgaXNI
YXNoVGFibGVEZWxldGVkVmFsdWUoKSBjb25zdAogICAgIHsKQEAgLTk0LDYgKzEyMCw3IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9ieXRlY29kZU9mZnNldDsKICAgICBFeGl0
S2luZCBtX2tpbmQ7CisgICAgRXhpdGluZ0pJVFR5cGUgbV9qaXRUeXBlOwogfTsKIAogc3RydWN0
IEZyZXF1ZW50RXhpdFNpdGVIYXNoIHsKQEAgLTE2Niw2ICsxOTMsMTAgQEAgcHVibGljOgogCiAg
ICAgYm9vbCBoYXNFeGl0U2l0ZShjb25zdCBGcmVxdWVudEV4aXRTaXRlJiBzaXRlKSBjb25zdAog
ICAgIHsKKyAgICAgICAgaWYgKHNpdGUuaml0VHlwZSgpID09IEV4aXRGcm9tQW55dGhpbmcpIHsK
KyAgICAgICAgICAgIHJldHVybiBoYXNFeGl0U2l0ZShzaXRlLndpdGhKSVRUeXBlKEV4aXRGcm9t
REZHKSkKKyAgICAgICAgICAgICAgICB8fCBoYXNFeGl0U2l0ZShzaXRlLndpdGhKSVRUeXBlKEV4
aXRGcm9tRlRMKSk7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIG1fZnJlcXVlbnRFeGl0U2l0
ZXMuZmluZChzaXRlKSAhPSBtX2ZyZXF1ZW50RXhpdFNpdGVzLmVuZCgpOwogICAgIH0KICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FeGl0S2luZC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V4aXRLaW5kLmgKaW5kZXggYTlmNmRmNmQ0
YzMxMTIxN2Q0MjRkNmIwNWU0ZjA3YTRmMzg3NWRlZS4uNmFjNzhhMjU0MzdiMDRhN2Q2NGU1MDFj
MjBjODVlNTUzNzQyNmI3OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0V4aXRLaW5kLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V4aXRL
aW5kLmgKQEAgLTI4LDcgKzI4LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWVudW0gRXhpdEtp
bmQgeworZW51bSBFeGl0S2luZCA6IHVpbnQ4X3QgewogICAgIEV4aXRLaW5kVW5zZXQsCiAgICAg
QmFkVHlwZSwgLy8gV2UgZXhpdGVkIGJlY2F1c2UgYSB0eXBlIHByZWRpY3Rpb24gd2FzIHdyb25n
LgogICAgIEJhZEZ1bmN0aW9uLCAvLyBXZSBleGl0ZWQgYmVjYXVzZSB3ZSBtYWRlIGFuIGluY29y
cmVjdCBhc3N1bXB0aW9uIGFib3V0IHdoYXQgZnVuY3Rpb24gd2Ugd291bGQgc2VlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V4aXRpbmdKSVRUeXBlLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhpdGluZ0pJVFR5cGUuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mYmRjMjhlNDVkMTc2OTYxODJmOTQ0MDM4MDQ4NWJlNGU5Njc1N2M2Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0V4aXRpbmdKSVRUeXBlLmgKQEAg
LTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaWZuZGVmIEV4aXRpbmdKSVRUeXBlX2gKKyNkZWZpbmUgRXhpdGluZ0pJVFR5cGVfaAor
CisjaW5jbHVkZSAiSklUQ29kZS5oIgorCituYW1lc3BhY2UgSlNDIHsKKworZW51bSBFeGl0aW5n
SklUVHlwZSA6IHVpbnQ4X3QgeworICAgIEV4aXRGcm9tQW55dGhpbmcsCisgICAgRXhpdEZyb21E
RkcsCisgICAgRXhpdEZyb21GVEwKK307CisKK2lubGluZSBFeGl0aW5nSklUVHlwZSBleGl0aW5n
SklUVHlwZUZvcihKSVRDb2RlOjpKSVRUeXBlIHR5cGUpCit7CisgICAgc3dpdGNoICh0eXBlKSB7
CisgICAgY2FzZSBKSVRDb2RlOjpERkdKSVQ6CisgICAgICAgIHJldHVybiBFeGl0RnJvbURGRzsK
KyAgICBjYXNlIEpJVENvZGU6OkZUTEpJVDoKKyAgICAgICAgcmV0dXJuIEV4aXRGcm9tRlRMOwor
ICAgIGRlZmF1bHQ6CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIHJldHVybiBFeGl0RnJvbUFueXRoaW5nOworICAgIH0KK30KKworfSAvLyBuYW1lc3BhY2Ug
SlNDCisKKyNlbmRpZiAvLyBFeGl0aW5nSklUVHlwZV9oCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmNwcAppbmRleCBmYmIzZGExYTUxNzFkYjJh
YTJmYzk4YjE2Mzc3OTYyNjYzYWZlMTQwLi5lZDg1ZDYyZDRmMmZjNTYwMGEzZDZlYzY3MDZhNWQx
MWIxMTI5YTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0
QnlJZFN0YXR1cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0dldEJ5
SWRTdGF0dXMuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiwg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNCw2ICszNCwxNCBAQAogCiBuYW1lc3BhY2UgSlND
IHsKIAorYm9vbCBHZXRCeUlkU3RhdHVzOjpoYXNFeGl0U2l0ZShjb25zdCBDb25jdXJyZW50SklU
TG9ja2VyJiBsb2NrZXIsIENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQgYnl0ZWNv
ZGVJbmRleCwgRXhpdGluZ0pJVFR5cGUgaml0VHlwZSkKK3sKKyAgICByZXR1cm4gcHJvZmlsZWRC
bG9jay0+aGFzRXhpdFNpdGUobG9ja2VyLCBERkc6OkZyZXF1ZW50RXhpdFNpdGUoYnl0ZWNvZGVJ
bmRleCwgQmFkQ2FjaGUsIGppdFR5cGUpKQorICAgICAgICB8fCBwcm9maWxlZEJsb2NrLT5oYXNF
eGl0U2l0ZShsb2NrZXIsIERGRzo6RnJlcXVlbnRFeGl0U2l0ZShieXRlY29kZUluZGV4LCBCYWRD
YWNoZVdhdGNocG9pbnQsIGppdFR5cGUpKQorICAgICAgICB8fCBwcm9maWxlZEJsb2NrLT5oYXNF
eGl0U2l0ZShsb2NrZXIsIERGRzo6RnJlcXVlbnRFeGl0U2l0ZShieXRlY29kZUluZGV4LCBCYWRX
ZWFrQ29uc3RhbnRDYWNoZSwgaml0VHlwZSkpCisgICAgICAgIHx8IHByb2ZpbGVkQmxvY2stPmhh
c0V4aXRTaXRlKGxvY2tlciwgREZHOjpGcmVxdWVudEV4aXRTaXRlKGJ5dGVjb2RlSW5kZXgsIEJh
ZFdlYWtDb25zdGFudENhY2hlV2F0Y2hwb2ludCwgaml0VHlwZSkpOworfQorCiBHZXRCeUlkU3Rh
dHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiBwcm9maWxlZEJs
b2NrLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBTdHJpbmdJbXBsKiB1aWQpCiB7CiAgICAgVU5V
U0VEX1BBUkFNKHByb2ZpbGVkQmxvY2spOwpAQCAtMTIwLDEzICsxMjgsMjcgQEAgR2V0QnlJZFN0
YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywg
U3R1YkluZm9NYXAmIG0KIHsKICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihwcm9maWxl
ZEJsb2NrLT5tX2xvY2spOwogICAgIAotICAgIFVOVVNFRF9QQVJBTShwcm9maWxlZEJsb2NrKTsK
LSAgICBVTlVTRURfUEFSQU0oYnl0ZWNvZGVJbmRleCk7Ci0gICAgVU5VU0VEX1BBUkFNKHVpZCk7
CisgICAgR2V0QnlJZFN0YXR1cyByZXN1bHQgPSBjb21wdXRlRm9yU3R1YkluZm8oCisgICAgICAg
IGxvY2tlciwgcHJvZmlsZWRCbG9jaywgbWFwLmdldChDb2RlT3JpZ2luKGJ5dGVjb2RlSW5kZXgp
KSwgdWlkKTsKKyAgICAKKyAgICBpZiAoIXJlc3VsdC50YWtlc1Nsb3dQYXRoKCkKKyAgICAgICAg
JiYgKGhhc0V4aXRTaXRlKGxvY2tlciwgcHJvZmlsZWRCbG9jaywgYnl0ZWNvZGVJbmRleCkKKyAg
ICAgICAgICAgIHx8IHByb2ZpbGVkQmxvY2stPmxpa2VseVRvVGFrZVNsb3dDYXNlKGJ5dGVjb2Rl
SW5kZXgpKSkKKyAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMoVGFrZXNTbG93UGF0aCwgdHJ1
ZSk7CisKKyAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgcmV0dXJuIGNvbXB1dGVGcm9tTExJbnQo
cHJvZmlsZWRCbG9jaywgYnl0ZWNvZGVJbmRleCwgdWlkKTsKKyAgICAKKyAgICByZXR1cm4gcmVz
dWx0OworfQorCitHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3JTdHViSW5m
bygKKyAgICBjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgQ29kZUJsb2NrKiBwcm9maWxlZEJs
b2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sCisgICAgU3RyaW5nSW1wbCogdWlkKQor
ewogI2lmIEVOQUJMRShKSVQpCi0gICAgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvID0gbWFw
LmdldChDb2RlT3JpZ2luKGJ5dGVjb2RlSW5kZXgpKTsKICAgICBpZiAoIXN0dWJJbmZvIHx8ICFz
dHViSW5mby0+c2VlbikKLSAgICAgICAgcmV0dXJuIGNvbXB1dGVGcm9tTExJbnQocHJvZmlsZWRC
bG9jaywgYnl0ZWNvZGVJbmRleCwgdWlkKTsKKyAgICAgICAgcmV0dXJuIEdldEJ5SWRTdGF0dXMo
Tm9JbmZvcm1hdGlvbik7CiAgICAgCiAgICAgaWYgKHN0dWJJbmZvLT5yZXNldEJ5R0MpCiAgICAg
ICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKFRha2VzU2xvd1BhdGgsIHRydWUpOwpAQCAtMTUyLDE2
ICsxNzQsMTIgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVC
bG9jayogcHJvZmlsZWRCbG9jaywgU3R1YkluZm9NYXAmIG0KICAgICAgICAgICAgIHJldHVybiBH
ZXRCeUlkU3RhdHVzKE1ha2VzQ2FsbHMsIHRydWUpOwogICAgIH0KICAgICAKLSAgICAvLyBOZXh0
IGNoZWNrIGlmIGl0IHRha2VzIHNsb3cgY2FzZSwgaW4gd2hpY2ggY2FzZSB3ZSB3YW50IHRvIGJl
IGtpbmQgb2YgY2FyZWZ1bC4KLSAgICBpZiAocHJvZmlsZWRCbG9jay0+bGlrZWx5VG9UYWtlU2xv
d0Nhc2UoYnl0ZWNvZGVJbmRleCkpCi0gICAgICAgIHJldHVybiBHZXRCeUlkU3RhdHVzKFRha2Vz
U2xvd1BhdGgsIHRydWUpOwotICAgIAogICAgIC8vIEZpbmFsbHkgZmlndXJlIG91dCBpZiB3ZSBj
YW4gZGVyaXZlIGFuIGFjY2VzcyBzdHJhdGVneS4KICAgICBHZXRCeUlkU3RhdHVzIHJlc3VsdDsK
ICAgICByZXN1bHQubV93YXNTZWVuSW5KSVQgPSB0cnVlOyAvLyBUaGlzIGlzIGludGVyZXN0aW5n
IGZvciBieXRlY29kZSBkdW1waW5nIG9ubHkuCiAgICAgc3dpdGNoIChzdHViSW5mby0+YWNjZXNz
VHlwZSkgewogICAgIGNhc2UgYWNjZXNzX3Vuc2V0OgotICAgICAgICByZXR1cm4gY29tcHV0ZUZy
b21MTEludChwcm9maWxlZEJsb2NrLCBieXRlY29kZUluZGV4LCB1aWQpOworICAgICAgICByZXR1
cm4gR2V0QnlJZFN0YXR1cyhOb0luZm9ybWF0aW9uKTsKICAgICAgICAgCiAgICAgY2FzZSBhY2Nl
c3NfZ2V0X2J5X2lkX3NlbGY6IHsKICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBzdHVi
SW5mby0+dS5nZXRCeUlkU2VsZi5iYXNlT2JqZWN0U3RydWN0dXJlLmdldCgpOwpAQCAtMjYyLDEx
ICsyODAsNDAgQEAgR2V0QnlJZFN0YXR1cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKENvZGVC
bG9jayogcHJvZmlsZWRCbG9jaywgU3R1YkluZm9NYXAmIG0KICAgICAKICAgICByZXR1cm4gcmVz
dWx0OwogI2Vsc2UgLy8gRU5BQkxFKEpJVCkKLSAgICBVTlVTRURfUEFSQU0obWFwKTsKKyAgICBV
TlVTRURfUEFSQU0ocHJvZmlsZWRCbG9jayk7CisgICAgVU5VU0VEX1BBUkFNKHN0dWJJbmZvKTsK
KyAgICBVTlVTRURfUEFSQU0odWlkKTsKICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhOb0luZm9y
bWF0aW9uLCBmYWxzZSk7CiAjZW5kaWYgLy8gRU5BQkxFKEpJVCkKIH0KIAorR2V0QnlJZFN0YXR1
cyBHZXRCeUlkU3RhdHVzOjpjb21wdXRlRm9yKAorICAgIENvZGVCbG9jayogcHJvZmlsZWRCbG9j
aywgQ29kZUJsb2NrKiBkZmdCbG9jaywgU3R1YkluZm9NYXAmIGJhc2VsaW5lTWFwLAorICAgIFN0
dWJJbmZvTWFwJiBkZmdNYXAsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgU3RyaW5nSW1wbCogdWlk
KQoreworICAgIGlmIChkZmdCbG9jaykgeworICAgICAgICBHZXRCeUlkU3RhdHVzIHJlc3VsdDsK
KyAgICAgICAgeworICAgICAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIoZGZnQmxv
Y2stPm1fbG9jayk7CisgICAgICAgICAgICByZXN1bHQgPSBjb21wdXRlRm9yU3R1YkluZm8obG9j
a2VyLCBkZmdCbG9jaywgZGZnTWFwLmdldChjb2RlT3JpZ2luKSwgdWlkKTsKKyAgICAgICAgfQor
ICAgIAorICAgICAgICBpZiAocmVzdWx0LnRha2VzU2xvd1BhdGgoKSkKKyAgICAgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgCisgICAgICAgIHsKKyAgICAgICAgICAgIENvbmN1cnJlbnRKSVRM
b2NrZXIgbG9ja2VyKHByb2ZpbGVkQmxvY2stPm1fbG9jayk7CisgICAgICAgICAgICBpZiAoaGFz
RXhpdFNpdGUobG9ja2VyLCBwcm9maWxlZEJsb2NrLCBjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgs
IEV4aXRGcm9tRlRMKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gR2V0QnlJZFN0YXR1cyhUYWtl
c1Nsb3dQYXRoLCB0cnVlKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKHJlc3Vs
dC5pc1NldCgpKQorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICByZXR1
cm4gY29tcHV0ZUZvcihwcm9maWxlZEJsb2NrLCBiYXNlbGluZU1hcCwgY29kZU9yaWdpbi5ieXRl
Y29kZUluZGV4LCB1aWQpOworfQorCiBHZXRCeUlkU3RhdHVzIEdldEJ5SWRTdGF0dXM6OmNvbXB1
dGVGb3IoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RyaW5nSW1wbCogdWlkKQogewog
ICAgIC8vIEZvciBub3cgd2Ugb25seSBoYW5kbGUgdGhlIHN1cGVyIHNpbXBsZSBzZWxmIGFjY2Vz
cyBjYXNlLiBXZSBjb3VsZCBoYW5kbGUgdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0dldEJ5SWRTdGF0dXMuaAppbmRleCBhMWU4MDFjY2E4ODUwODg5MzdkMDYyNmViOWVh
MTZmNWNkMWM4MmM0Li5lMDIwOTk0MWUxYTBkNTdmYzViM2QwM2IxNjVmMzA2ZDczMTViMTE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvR2V0QnlJZFN0YXR1cy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9HZXRCeUlkU3RhdHVzLmgKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMywgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTI2LDYgKzI2LDkgQEAKICNpZm5kZWYgR2V0QnlJZFN0YXR1c19oCiAjZGVmaW5l
IEdldEJ5SWRTdGF0dXNfaAogCisjaW5jbHVkZSAiQ29kZU9yaWdpbi5oIgorI2luY2x1ZGUgIkNv
bmN1cnJlbnRKSVRMb2NrLmgiCisjaW5jbHVkZSAiRXhpdGluZ0pJVFR5cGUuaCIKICNpbmNsdWRl
ICJJbnRlbmRlZFN0cnVjdHVyZUNoYWluLmgiCiAjaW5jbHVkZSAiUHJvcGVydHlPZmZzZXQuaCIK
ICNpbmNsdWRlICJTdHJ1Y3R1cmVTZXQuaCIKQEAgLTc0LDYgKzc3LDggQEAgcHVibGljOgogICAg
IHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiwgU3R1YkluZm9NYXAm
LCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBTdHJpbmdJbXBsKiB1aWQpOwogICAgIHN0YXRpYyBH
ZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoVk0mLCBTdHJ1Y3R1cmUqLCBTdHJpbmdJbXBsKiB1aWQp
OwogICAgIAorICAgIHN0YXRpYyBHZXRCeUlkU3RhdHVzIGNvbXB1dGVGb3IoQ29kZUJsb2NrKiBi
YXNlbGluZUJsb2NrLCBDb2RlQmxvY2sqIGRmZ0Jsb2NrLCBTdHViSW5mb01hcCYgYmFzZWxpbmVN
YXAsIFN0dWJJbmZvTWFwJiBkZmdNYXAsIENvZGVPcmlnaW4sIFN0cmluZ0ltcGwqIHVpZCk7Cisg
ICAgCiAgICAgU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CiAgICAgCiAg
ICAgYm9vbCBpc1NldCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGUgIT0gTm9JbmZvcm1hdGlvbjsg
fQpAQCAtOTAsNiArOTUsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCB3YXNTZWVuSW5KSVQoKSBjb25z
dCB7IHJldHVybiBtX3dhc1NlZW5JbkpJVDsgfQogICAgIAogcHJpdmF0ZToKKyAgICBzdGF0aWMg
Ym9vbCBoYXNFeGl0U2l0ZShjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgQ29kZUJsb2NrKiwg
dW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgRXhpdGluZ0pJVFR5cGUgPSBFeGl0RnJvbUFueXRoaW5n
KTsKKyAgICBzdGF0aWMgR2V0QnlJZFN0YXR1cyBjb21wdXRlRm9yU3R1YkluZm8oY29uc3QgQ29u
Y3VycmVudEpJVExvY2tlciYsIENvZGVCbG9jayosIFN0cnVjdHVyZVN0dWJJbmZvKiwgU3RyaW5n
SW1wbCogdWlkKTsKICAgICBzdGF0aWMgdm9pZCBjb21wdXRlRm9yQ2hhaW4oR2V0QnlJZFN0YXR1
cyYgcmVzdWx0LCBDb2RlQmxvY2sqLCBTdHJpbmdJbXBsKiB1aWQpOwogICAgIHN0YXRpYyBHZXRC
eUlkU3RhdHVzIGNvbXB1dGVGcm9tTExJbnQoQ29kZUJsb2NrKiwgdW5zaWduZWQgYnl0ZWNvZGVJ
bmRleCwgU3RyaW5nSW1wbCogdWlkKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Qcm9maWxlZENvZGVCbG9ja0pldHRpc29uaW5nV2F0Y2hwb2ludC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJvZmlsZWRDb2RlQmxvY2tKZXR0
aXNvbmluZ1dhdGNocG9pbnQuY3BwCmluZGV4IGVkZjhlMjI4ZDZkMWM5YWQ3MTU3YWJkNzJhODVk
YTllZGY3OWVjYTcuLjAyNmFhM2RhYjgzNzdmNzIyMzJjNzQxOTI3MzUzMjVhOTYzZWM5OWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Qcm9maWxlZENvZGVCbG9j
a0pldHRpc29uaW5nV2F0Y2hwb2ludC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1Byb2ZpbGVkQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50LmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDksNyAr
NDksOSBAQCB2b2lkIFByb2ZpbGVkQ29kZUJsb2NrSmV0dGlzb25pbmdXYXRjaHBvaW50OjpmaXJl
SW50ZXJuYWwoKQogICAgIAogICAgIGlmIChzb3VyY2VCYXNlbGluZUNvZGVCbG9jaykgewogICAg
ICAgICBzb3VyY2VCYXNlbGluZUNvZGVCbG9jay0+YWRkRnJlcXVlbnRFeGl0U2l0ZSgKLSAgICAg
ICAgICAgIERGRzo6RnJlcXVlbnRFeGl0U2l0ZShtX2NvZGVPcmlnaW4uYnl0ZWNvZGVJbmRleCwg
bV9leGl0S2luZCkpOworICAgICAgICAgICAgREZHOjpGcmVxdWVudEV4aXRTaXRlKAorICAgICAg
ICAgICAgICAgIG1fY29kZU9yaWdpbi5ieXRlY29kZUluZGV4LCBtX2V4aXRLaW5kLAorICAgICAg
ICAgICAgICAgIGV4aXRpbmdKSVRUeXBlRm9yKG1fY29kZUJsb2NrLT5qaXRUeXBlKCkpKSk7CiAg
ICAgfQogICAgIAogICAgIG1fY29kZUJsb2NrLT5qZXR0aXNvbihDb3VudFJlb3B0aW1pemF0aW9u
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3Rh
dHVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVzLmNw
cAppbmRleCAxN2NmNzA4OTczM2YwZjBhYWVkMWUwMzY0YzVmMzk4OWNiODcxNDA3Li4xMTYwMTMw
OTU3MGViMDBhYTI5MTdlODk4NmNlODVjMDViMjM4OGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNSw2ICsz
NSwxNCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorYm9vbCBQdXRCeUlkU3RhdHVzOjpoYXNFeGl0
U2l0ZShjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiBsb2NrZXIsIENvZGVCbG9jayogcHJvZmls
ZWRCbG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgRXhpdGluZ0pJVFR5cGUgZXhpdFR5cGUp
Cit7CisgICAgcmV0dXJuIHByb2ZpbGVkQmxvY2stPmhhc0V4aXRTaXRlKGxvY2tlciwgREZHOjpG
cmVxdWVudEV4aXRTaXRlKGJ5dGVjb2RlSW5kZXgsIEJhZENhY2hlLCBleGl0VHlwZSkpCisgICAg
ICAgIHx8IHByb2ZpbGVkQmxvY2stPmhhc0V4aXRTaXRlKGxvY2tlciwgREZHOjpGcmVxdWVudEV4
aXRTaXRlKGJ5dGVjb2RlSW5kZXgsIEJhZENhY2hlV2F0Y2hwb2ludCwgZXhpdFR5cGUpKQorICAg
ICAgICB8fCBwcm9maWxlZEJsb2NrLT5oYXNFeGl0U2l0ZShsb2NrZXIsIERGRzo6RnJlcXVlbnRF
eGl0U2l0ZShieXRlY29kZUluZGV4LCBCYWRXZWFrQ29uc3RhbnRDYWNoZSwgZXhpdFR5cGUpKQor
ICAgICAgICB8fCBwcm9maWxlZEJsb2NrLT5oYXNFeGl0U2l0ZShsb2NrZXIsIERGRzo6RnJlcXVl
bnRFeGl0U2l0ZShieXRlY29kZUluZGV4LCBCYWRXZWFrQ29uc3RhbnRDYWNoZVdhdGNocG9pbnQs
IGV4aXRUeXBlKSk7Cit9CisKIFB1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1czo6Y29tcHV0ZUZy
b21MTEludChDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgs
IFN0cmluZ0ltcGwqIHVpZCkKIHsKICAgICBVTlVTRURfUEFSQU0ocHJvZmlsZWRCbG9jayk7CkBA
IC04OSwxMyArOTcsMjcgQEAgUHV0QnlJZFN0YXR1cyBQdXRCeUlkU3RhdHVzOjpjb21wdXRlRm9y
KENvZGVCbG9jayogcHJvZmlsZWRCbG9jaywgU3R1YkluZm9NYXAmIG0KICAgICBVTlVTRURfUEFS
QU0oYnl0ZWNvZGVJbmRleCk7CiAgICAgVU5VU0VEX1BBUkFNKHVpZCk7CiAjaWYgRU5BQkxFKEpJ
VCkKLSAgICBpZiAocHJvZmlsZWRCbG9jay0+bGlrZWx5VG9UYWtlU2xvd0Nhc2UoYnl0ZWNvZGVJ
bmRleCkpCisgICAgaWYgKHByb2ZpbGVkQmxvY2stPmxpa2VseVRvVGFrZVNsb3dDYXNlKGJ5dGVj
b2RlSW5kZXgpCisgICAgICAgIHx8IGhhc0V4aXRTaXRlKGxvY2tlciwgcHJvZmlsZWRCbG9jaywg
Ynl0ZWNvZGVJbmRleCkpCiAgICAgICAgIHJldHVybiBQdXRCeUlkU3RhdHVzKFRha2VzU2xvd1Bh
dGgsIDAsIDAsIDAsIGludmFsaWRPZmZzZXQpOwogICAgIAogICAgIFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbyA9IG1hcC5nZXQoQ29kZU9yaWdpbihieXRlY29kZUluZGV4KSk7Ci0gICAgaWYg
KCFzdHViSW5mbyB8fCAhc3R1YkluZm8tPnNlZW4pCisgICAgUHV0QnlJZFN0YXR1cyByZXN1bHQg
PSBjb21wdXRlRm9yU3R1YkluZm8obG9ja2VyLCBwcm9maWxlZEJsb2NrLCBzdHViSW5mbywgdWlk
KTsKKyAgICBpZiAoIXJlc3VsdCkKICAgICAgICAgcmV0dXJuIGNvbXB1dGVGcm9tTExJbnQocHJv
ZmlsZWRCbG9jaywgYnl0ZWNvZGVJbmRleCwgdWlkKTsKICAgICAKKyAgICByZXR1cm4gcmVzdWx0
OworI2Vsc2UgLy8gRU5BQkxFKEpJVCkKKyAgICBVTlVTRURfUEFSQU0obWFwKTsKKyAgICByZXR1
cm4gUHV0QnlJZFN0YXR1cyhOb0luZm9ybWF0aW9uLCAwLCAwLCAwLCBpbnZhbGlkT2Zmc2V0KTsK
KyNlbmRpZiAvLyBFTkFCTEUoSklUKQorfQorCitQdXRCeUlkU3RhdHVzIFB1dEJ5SWRTdGF0dXM6
OmNvbXB1dGVGb3JTdHViSW5mbyhjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgQ29kZUJsb2Nr
KiBwcm9maWxlZEJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIFN0cmluZ0ltcGwq
IHVpZCkKK3sKKyAgICBpZiAoIXN0dWJJbmZvIHx8ICFzdHViSW5mby0+c2VlbikKKyAgICAgICAg
cmV0dXJuIFB1dEJ5SWRTdGF0dXMoKTsKKyAgICAKICAgICBpZiAoc3R1YkluZm8tPnJlc2V0QnlH
QykKICAgICAgICAgcmV0dXJuIFB1dEJ5SWRTdGF0dXMoVGFrZXNTbG93UGF0aCwgMCwgMCwgMCwg
aW52YWxpZE9mZnNldCk7CiAKQEAgLTE0MiwxMCArMTY0LDI4IEBAIFB1dEJ5SWRTdGF0dXMgUHV0
QnlJZFN0YXR1czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2ssIFN0dWJJbmZv
TWFwJiBtCiAgICAgICAgIC8vIHdlIGNvdWxkIGRvIGFib3V0IGl0LgogICAgICAgICByZXR1cm4g
UHV0QnlJZFN0YXR1cyhUYWtlc1Nsb3dQYXRoLCAwLCAwLCAwLCBpbnZhbGlkT2Zmc2V0KTsKICAg
ICB9Ci0jZWxzZSAvLyBFTkFCTEUoSklUKQotICAgIFVOVVNFRF9QQVJBTShtYXApOwotICAgIHJl
dHVybiBQdXRCeUlkU3RhdHVzKE5vSW5mb3JtYXRpb24sIDAsIDAsIDAsIGludmFsaWRPZmZzZXQp
OwotI2VuZGlmIC8vIEVOQUJMRShKSVQpCit9CisKK1B1dEJ5SWRTdGF0dXMgUHV0QnlJZFN0YXR1
czo6Y29tcHV0ZUZvcihDb2RlQmxvY2sqIGJhc2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnQmxv
Y2ssIFN0dWJJbmZvTWFwJiBiYXNlbGluZU1hcCwgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9y
aWdpbiBjb2RlT3JpZ2luLCBTdHJpbmdJbXBsKiB1aWQpCit7CisgICAgaWYgKGRmZ0Jsb2NrKSB7
CisgICAgICAgIHsKKyAgICAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKGJhc2Vs
aW5lQmxvY2stPm1fbG9jayk7CisgICAgICAgICAgICBpZiAoaGFzRXhpdFNpdGUobG9ja2VyLCBi
YXNlbGluZUJsb2NrLCBjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgsIEV4aXRGcm9tRlRMKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gUHV0QnlJZFN0YXR1cyhUYWtlc1Nsb3dQYXRoKTsKKyAgICAg
ICAgfQorICAgICAgICAgICAgCisgICAgICAgIFB1dEJ5SWRTdGF0dXMgcmVzdWx0OworICAgICAg
ICB7CisgICAgICAgICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihkZmdCbG9jay0+bV9s
b2NrKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IGNvbXB1dGVGb3JTdHViSW5mbyhsb2NrZXIsIGRm
Z0Jsb2NrLCBkZmdNYXAuZ2V0KGNvZGVPcmlnaW4pLCB1aWQpOworICAgICAgICB9CisgICAgICAg
IAorICAgICAgICBpZiAocmVzdWx0LmlzU2V0KCkpCisgICAgICAgICAgICByZXR1cm4gcmVzdWx0
OworICAgIH0KKyAgICAKKyAgICByZXR1cm4gY29tcHV0ZUZvcihiYXNlbGluZUJsb2NrLCBiYXNl
bGluZU1hcCwgY29kZU9yaWdpbi5ieXRlY29kZUluZGV4LCB1aWQpOwogfQogCiBQdXRCeUlkU3Rh
dHVzIFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU3RyaW5nSW1wbCogdWlkLCBib29sIGlz
RGlyZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5
SWRTdGF0dXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9QdXRCeUlkU3RhdHVz
LmgKaW5kZXggYzBhMWJjMzVjYmYwMmM3YzU5ZGQwODViN2Y2ZDBjNWQ0M2QyNzcxZi4uMWZhNjli
NmYyNDc5MzlmNDY3ZTA2MDk0NWJhYmIzZWFiYTY4OWYzNiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1B1dEJ5SWRTdGF0dXMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHV0QnlJZFN0YXR1cy5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZu
ZGVmIFB1dEJ5SWRTdGF0dXNfaAogI2RlZmluZSBQdXRCeUlkU3RhdHVzX2gKIAorI2luY2x1ZGUg
IkV4aXRpbmdKSVRUeXBlLmgiCiAjaW5jbHVkZSAiSW50ZW5kZWRTdHJ1Y3R1cmVDaGFpbi5oIgog
I2luY2x1ZGUgIlByb3BlcnR5T2Zmc2V0LmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlU3R1YkluZm8u
aCIKQEAgLTk0LDYgKzk1LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNv
bXB1dGVGb3IoQ29kZUJsb2NrKiwgU3R1YkluZm9NYXAmLCB1bnNpZ25lZCBieXRlY29kZUluZGV4
LCBTdHJpbmdJbXBsKiB1aWQpOwogICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGb3Io
Vk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIFN0cmluZ0ltcGwqIHVpZCwgYm9vbCBp
c0RpcmVjdCk7CiAgICAgCisgICAgc3RhdGljIFB1dEJ5SWRTdGF0dXMgY29tcHV0ZUZvcihDb2Rl
QmxvY2sqIGJhc2VsaW5lQmxvY2ssIENvZGVCbG9jayogZGZnQmxvY2ssIFN0dWJJbmZvTWFwJiBi
YXNlbGluZU1hcCwgU3R1YkluZm9NYXAmIGRmZ01hcCwgQ29kZU9yaWdpbiwgU3RyaW5nSW1wbCog
dWlkKTsKKyAgICAKICAgICBTdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGU7IH0K
ICAgICAKICAgICBib29sIGlzU2V0KCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZSAhPSBOb0luZm9y
bWF0aW9uOyB9CkBAIC0xMDgsNiArMTExLDggQEAgcHVibGljOgogICAgIFByb3BlcnR5T2Zmc2V0
IG9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0OyB9CiAgICAgCiBwcml2YXRlOgorICAg
IHN0YXRpYyBib29sIGhhc0V4aXRTaXRlKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBDb2Rl
QmxvY2sqLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBFeGl0aW5nSklUVHlwZSA9IEV4aXRGcm9t
QW55dGhpbmcpOworICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGb3JTdHViSW5mbyhj
b25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgQ29kZUJsb2NrKiwgU3RydWN0dXJlU3R1YkluZm8q
LCBTdHJpbmdJbXBsKiB1aWQpOwogICAgIHN0YXRpYyBQdXRCeUlkU3RhdHVzIGNvbXB1dGVGcm9t
TExJbnQoQ29kZUJsb2NrKiwgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgU3RyaW5nSW1wbCogdWlk
KTsKICAgICAKICAgICBTdGF0ZSBtX3N0YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVNldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL1N0cnVjdHVyZVNldC5oCmluZGV4IDRjZGNkMDFjYmUzZDk2ZjYzZDdiN2VkY2YyOTA5
M2QwOGY0YTY5NzYuLmY4OTY4NGY3MTFjMzg4OWQ1NjQyZmUyY2IwMDA3MzRkYzU3ZjAzYWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTZXQuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU2V0LmgKQEAgLTQ1
LDYgKzQ1LDcgQEAgcHVibGljOgogICAgIAogICAgIFN0cnVjdHVyZVNldChTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKICAgICB7CisgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUpOwogICAgICAgICBtX3N0
cnVjdHVyZXMuYXBwZW5kKHN0cnVjdHVyZSk7CiAgICAgfQogICAgIApAQCAtNTUsNiArNTYsNyBA
QCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBhZGQoU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAg
eworICAgICAgICBBU1NFUlQoc3RydWN0dXJlKTsKICAgICAgICAgQVNTRVJUKCFjb250YWlucyhz
dHJ1Y3R1cmUpKTsKICAgICAgICAgbV9zdHJ1Y3R1cmVzLmFwcGVuZChzdHJ1Y3R1cmUpOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVT
dHViSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJ
bmZvLmgKaW5kZXggNTQ2M2YzZTk1NmVjMGZkOTM1OTg1MDJhNGFiOTIxMjYwMmM0MDc5YS4uOTIx
N2NiODAwNGU4NjMxMDRjNmJjMWQ5NDIwZjc0MGEwYmQ4OWRiMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmgKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAxMiwgMjAxMywgMjAx
NCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTIxNiw3ICsyMTYsNiBAQCBzdHJ1Y3QgU3RydWN0dXJlU3R1YkluZm8gewog
CiAgICAgc3RydWN0IHsKICAgICAgICAgaW50OF90IHJlZ2lzdGVyc0ZsdXNoZWQ7Ci0gICAgICAg
IGludDhfdCBjYWxsRnJhbWVSZWdpc3RlcjsKICAgICAgICAgaW50OF90IGJhc2VHUFI7CiAjaWYg
VVNFKEpTVkFMVUUzMl82NCkKICAgICAgICAgaW50OF90IHZhbHVlVGFnR1BSOwpAQCAtMjkwLDcg
KzI4OSw3IEBAIGlubGluZSBDb2RlT3JpZ2luIGdldFN0cnVjdHVyZVN0dWJJbmZvQ29kZU9yaWdp
bihTdHJ1Y3R1cmVTdHViSW5mbyYgc3RydWN0dXJlU3R1CiAgICAgcmV0dXJuIHN0cnVjdHVyZVN0
dWJJbmZvLmNvZGVPcmlnaW47CiB9CiAKLXR5cGVkZWYgSGFzaE1hcDxDb2RlT3JpZ2luLCBTdHJ1
Y3R1cmVTdHViSW5mbyo+IFN0dWJJbmZvTWFwOwordHlwZWRlZiBIYXNoTWFwPENvZGVPcmlnaW4s
IFN0cnVjdHVyZVN0dWJJbmZvKiwgQ29kZU9yaWdpbkFwcHJveGltYXRlSGFzaD4gU3R1YkluZm9N
YXA7CiAKICNlbHNlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9WYWx1ZVJlY292ZXJ5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmFsdWVS
ZWNvdmVyeS5oCmluZGV4IDNhZjJjMzQwOTYzMWVmODQwYWRkZGYzZDk4MjliMTBkMWZkMTViNzAu
LjQwMzEyNTI1ZGQyN2MzNmRlY2RlNzZjNTJiNzQ2YTgyMDIzNzAzZTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WYWx1ZVJlY292ZXJ5LmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZhbHVlUmVjb3ZlcnkuaApAQCAtMjMwLDYgKzIzMCwy
NyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBWaXJ0dWFsUmVnaXN0ZXIobV9zb3VyY2Uudmly
dHVhbFJlZyk7CiAgICAgfQogICAgIAorICAgIFZhbHVlUmVjb3Zlcnkgd2l0aExvY2Fsc09mZnNl
dChpbnQgb2Zmc2V0KSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChtX3RlY2huaXF1ZSkg
eworICAgICAgICBjYXNlIERpc3BsYWNlZEluSlNTdGFjazoKKyAgICAgICAgY2FzZSBJbnQzMkRp
c3BsYWNlZEluSlNTdGFjazoKKyAgICAgICAgY2FzZSBEb3VibGVEaXNwbGFjZWRJbkpTU3RhY2s6
CisgICAgICAgIGNhc2UgQ2VsbERpc3BsYWNlZEluSlNTdGFjazoKKyAgICAgICAgY2FzZSBCb29s
ZWFuRGlzcGxhY2VkSW5KU1N0YWNrOgorICAgICAgICBjYXNlIEludDUyRGlzcGxhY2VkSW5KU1N0
YWNrOgorICAgICAgICBjYXNlIFN0cmljdEludDUyRGlzcGxhY2VkSW5KU1N0YWNrOiB7CisgICAg
ICAgICAgICBWYWx1ZVJlY292ZXJ5IHJlc3VsdDsKKyAgICAgICAgICAgIHJlc3VsdC5tX3RlY2hu
aXF1ZSA9IG1fdGVjaG5pcXVlOworICAgICAgICAgICAgcmVzdWx0Lm1fc291cmNlLnZpcnR1YWxS
ZWcgPSBtX3NvdXJjZS52aXJ0dWFsUmVnICsgb2Zmc2V0OworICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKyAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAg
ICAgICByZXR1cm4gKnRoaXM7CisgICAgICAgIH0KKyAgICB9CisgICAgCiAgICAgSlNWYWx1ZSBj
b25zdGFudCgpIGNvbnN0CiAgICAgewogICAgICAgICBBU1NFUlQobV90ZWNobmlxdWUgPT0gQ29u
c3RhbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZpcnR1
YWxSZWdpc3Rlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ZpcnR1YWxSZWdp
c3Rlci5oCmluZGV4IGM2M2FlZTg1ZmRmODAwMDNjOGQ5ZWI2ZGUzMGI3M2I0OGE2Y2ExODUuLjYx
YjA0YjViYzgxZjAxOTFjODQzMjBmYzRhMmQ5ZjVlOGY1NGVhMmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9WaXJ0dWFsUmVnaXN0ZXIuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVmlydHVhbFJlZ2lzdGVyLmgKQEAgLTY1LDYgKzY1LDcg
QEAgcHVibGljOgogICAgIGludCB0b0FyZ3VtZW50KCkgY29uc3QgeyBBU1NFUlQoaXNBcmd1bWVu
dCgpKTsgcmV0dXJuIG9wZXJhbmRUb0FyZ3VtZW50KG1fdmlydHVhbFJlZ2lzdGVyKTsgfQogICAg
IGludCB0b0NvbnN0YW50SW5kZXgoKSBjb25zdCB7IEFTU0VSVChpc0NvbnN0YW50KCkpOyByZXR1
cm4gbV92aXJ0dWFsUmVnaXN0ZXIgLSBzX2ZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4OyB9CiAg
ICAgaW50IG9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlydHVhbFJlZ2lzdGVyOyB9CisgICAg
aW50IG9mZnNldEluQnl0ZXMoKSBjb25zdCB7IHJldHVybiBtX3ZpcnR1YWxSZWdpc3RlciAqIHNp
emVvZihSZWdpc3Rlcik7IH0KIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBWaXJ0dWFsUmVn
aXN0ZXIgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIG1fdmlydHVhbFJlZ2lzdGVyID09IG90aGVyLm1f
dmlydHVhbFJlZ2lzdGVyOyB9CiAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFZpcnR1YWxSZWdp
c3RlciBvdGhlcikgY29uc3QgeyByZXR1cm4gbV92aXJ0dWFsUmVnaXN0ZXIgIT0gb3RoZXIubV92
aXJ0dWFsUmVnaXN0ZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1
Z2dlci9EZWJ1Z2dlckNhbGxGcmFtZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdn
ZXIvRGVidWdnZXJDYWxsRnJhbWUuY3BwCmluZGV4IDkwY2VlOGMyMzY1OGEyNGMyY2RjOGVmMWUw
NWMyZGViYmQ1NzU3ZjguLjU0MDczMGJhM2E2MmJmMjcxYWZmMWEyYWJmYTU1ODI0N2YwMjVkNGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckNhbGxG
cmFtZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQ2Fs
bEZyYW1lLmNwcApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIk9wZXJhdGlvbnMuaCIKICNp
bmNsdWRlICJQYXJzZXIuaCIKICNpbmNsdWRlICJTdGFja1Zpc2l0b3IuaCIKLSNpbmNsdWRlICJW
TUVudHJ5U2NvcGUuaCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQXJyYXlNb2RlLmNwcAppbmRleCBlZjliMWM0OTRhYmEzODA0NWM5ZDlkZWI1MGMw
OTI5NTdiMjM0ZTI1Li43MzY4ZWFlYjY5YWNlNGFmZWM2ZjQzNDRhN2ZhMTU4Y2VmNDJjMWVmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwCkBAIC0xMzEsNyAr
MTMxLDEwIEBAIEFycmF5TW9kZSBBcnJheU1vZGU6OmZyb21PYnNlcnZlZChjb25zdCBDb25jdXJy
ZW50SklUTG9ja2VyJiBsb2NrZXIsIEFycmF5UHJvZmlsCiAgICAgfQogfQogCi1BcnJheU1vZGUg
QXJyYXlNb2RlOjpyZWZpbmUoU3BlY3VsYXRlZFR5cGUgYmFzZSwgU3BlY3VsYXRlZFR5cGUgaW5k
ZXgsIFNwZWN1bGF0ZWRUeXBlIHZhbHVlLCBOb2RlRmxhZ3MgZmxhZ3MpIGNvbnN0CitBcnJheU1v
ZGUgQXJyYXlNb2RlOjpyZWZpbmUoCisgICAgR3JhcGgmIGdyYXBoLCBDb2RlT3JpZ2luIGNvZGVP
cmlnaW4sCisgICAgU3BlY3VsYXRlZFR5cGUgYmFzZSwgU3BlY3VsYXRlZFR5cGUgaW5kZXgsIFNw
ZWN1bGF0ZWRUeXBlIHZhbHVlLAorICAgIE5vZGVGbGFncyBmbGFncykgY29uc3QKIHsKICAgICBp
ZiAoIWJhc2UgfHwgIWluZGV4KSB7CiAgICAgICAgIC8vIEl0IGNhbiBiZSB0aGF0IHdlIGhhZCBh
IGxlZ2l0aW1hdGUgYXJyYXlNb2RlIGJ1dCBubyBpbmNvbWluZyBwcmVkaWN0aW9ucy4gVGhhdCds
bApAQCAtMTg2LDcgKzE4OSw3IEBAIEFycmF5TW9kZSBBcnJheU1vZGU6OnJlZmluZShTcGVjdWxh
dGVkVHlwZSBiYXNlLCBTcGVjdWxhdGVkVHlwZSBpbmRleCwgU3BlY3VsYXRlCiAgICAgICAgICAg
ICByZXR1cm4gd2l0aENvbnZlcnNpb24oQXJyYXk6OlJhZ2VDb252ZXJ0KTsKICAgICAgICAgcmV0
dXJuICp0aGlzOwogICAgICAgICAKLSAgICBjYXNlIEFycmF5OjpTZWxlY3RVc2luZ1ByZWRpY3Rp
b25zOgorICAgIGNhc2UgQXJyYXk6OlNlbGVjdFVzaW5nUHJlZGljdGlvbnM6IHsKICAgICAgICAg
YmFzZSAmPSB+U3BlY090aGVyOwogICAgICAgICAKICAgICAgICAgaWYgKGlzU3RyaW5nU3BlY3Vs
YXRpb24oYmFzZSkpCkBAIC0xOTUsMzQgKzE5OCw0MSBAQCBBcnJheU1vZGUgQXJyYXlNb2RlOjpy
ZWZpbmUoU3BlY3VsYXRlZFR5cGUgYmFzZSwgU3BlY3VsYXRlZFR5cGUgaW5kZXgsIFNwZWN1bGF0
ZQogICAgICAgICBpZiAoaXNBcmd1bWVudHNTcGVjdWxhdGlvbihiYXNlKSkKICAgICAgICAgICAg
IHJldHVybiB3aXRoVHlwZShBcnJheTo6QXJndW1lbnRzKTsKICAgICAgICAgCisgICAgICAgIEFy
cmF5TW9kZSByZXN1bHQ7CisgICAgICAgIGlmIChncmFwaC5oYXNFeGl0U2l0ZShjb2RlT3JpZ2lu
LCBPdXRPZkJvdW5kcykpCisgICAgICAgICAgICByZXN1bHQgPSB3aXRoU3BlY3VsYXRpb24oQXJy
YXk6Ok91dE9mQm91bmRzKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVzdWx0ID0gKnRo
aXM7CisgICAgICAgIAogICAgICAgICBpZiAoaXNJbnQ4QXJyYXlTcGVjdWxhdGlvbihiYXNlKSkK
LSAgICAgICAgICAgIHJldHVybiB3aXRoVHlwZShBcnJheTo6SW50OEFycmF5KTsKKyAgICAgICAg
ICAgIHJldHVybiByZXN1bHQud2l0aFR5cGUoQXJyYXk6OkludDhBcnJheSk7CiAgICAgICAgIAog
ICAgICAgICBpZiAoaXNJbnQxNkFycmF5U3BlY3VsYXRpb24oYmFzZSkpCi0gICAgICAgICAgICBy
ZXR1cm4gd2l0aFR5cGUoQXJyYXk6OkludDE2QXJyYXkpOworICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdC53aXRoVHlwZShBcnJheTo6SW50MTZBcnJheSk7CiAgICAgICAgIAogICAgICAgICBpZiAo
aXNJbnQzMkFycmF5U3BlY3VsYXRpb24oYmFzZSkpCi0gICAgICAgICAgICByZXR1cm4gd2l0aFR5
cGUoQXJyYXk6OkludDMyQXJyYXkpOworICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC53aXRoVHlw
ZShBcnJheTo6SW50MzJBcnJheSk7CiAgICAgICAgIAogICAgICAgICBpZiAoaXNVaW50OEFycmF5
U3BlY3VsYXRpb24oYmFzZSkpCi0gICAgICAgICAgICByZXR1cm4gd2l0aFR5cGUoQXJyYXk6OlVp
bnQ4QXJyYXkpOworICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC53aXRoVHlwZShBcnJheTo6VWlu
dDhBcnJheSk7CiAgICAgICAgIAogICAgICAgICBpZiAoaXNVaW50OENsYW1wZWRBcnJheVNwZWN1
bGF0aW9uKGJhc2UpKQotICAgICAgICAgICAgcmV0dXJuIHdpdGhUeXBlKEFycmF5OjpVaW50OENs
YW1wZWRBcnJheSk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0LndpdGhUeXBlKEFycmF5OjpV
aW50OENsYW1wZWRBcnJheSk7CiAgICAgICAgIAogICAgICAgICBpZiAoaXNVaW50MTZBcnJheVNw
ZWN1bGF0aW9uKGJhc2UpKQotICAgICAgICAgICAgcmV0dXJuIHdpdGhUeXBlKEFycmF5OjpVaW50
MTZBcnJheSk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0LndpdGhUeXBlKEFycmF5OjpVaW50
MTZBcnJheSk7CiAgICAgICAgIAogICAgICAgICBpZiAoaXNVaW50MzJBcnJheVNwZWN1bGF0aW9u
KGJhc2UpKQotICAgICAgICAgICAgcmV0dXJuIHdpdGhUeXBlKEFycmF5OjpVaW50MzJBcnJheSk7
CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0LndpdGhUeXBlKEFycmF5OjpVaW50MzJBcnJheSk7
CiAgICAgICAgIAogICAgICAgICBpZiAoaXNGbG9hdDMyQXJyYXlTcGVjdWxhdGlvbihiYXNlKSkK
LSAgICAgICAgICAgIHJldHVybiB3aXRoVHlwZShBcnJheTo6RmxvYXQzMkFycmF5KTsKKyAgICAg
ICAgICAgIHJldHVybiByZXN1bHQud2l0aFR5cGUoQXJyYXk6OkZsb2F0MzJBcnJheSk7CiAgICAg
ICAgIAogICAgICAgICBpZiAoaXNGbG9hdDY0QXJyYXlTcGVjdWxhdGlvbihiYXNlKSkKLSAgICAg
ICAgICAgIHJldHVybiB3aXRoVHlwZShBcnJheTo6RmxvYXQ2NEFycmF5KTsKKyAgICAgICAgICAg
IHJldHVybiByZXN1bHQud2l0aFR5cGUoQXJyYXk6OkZsb2F0NjRBcnJheSk7CiAKICAgICAgICAg
cmV0dXJuIEFycmF5TW9kZShBcnJheTo6R2VuZXJpYyk7CisgICAgfQogCiAgICAgZGVmYXVsdDoK
ICAgICAgICAgcmV0dXJuICp0aGlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBcnJheU1vZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlN
b2RlLmgKaW5kZXggY2JiODdiZDkzNTBlZmMzZGRlY2MxMDIzYTRjZjI1YzAzZmYyYTFmYi4uMmJh
NmIwNmNhOGQ4MmU3YTY1NzE3OTdkOTFlMTU3Y2M1YmI0OWQxYiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0FycmF5TW9kZS5oCkBAIC0yMTEsNyArMjExLDcgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gQXJyYXlNb2RlKHR5cGUsIGFycmF5Q2xhc3MoKSwgc3BlY3VsYXRpb24oKSwg
Y29udmVyc2lvbik7CiAgICAgfQogICAgIAotICAgIEFycmF5TW9kZSByZWZpbmUoU3BlY3VsYXRl
ZFR5cGUgYmFzZSwgU3BlY3VsYXRlZFR5cGUgaW5kZXgsIFNwZWN1bGF0ZWRUeXBlIHZhbHVlID0g
U3BlY05vbmUsIE5vZGVGbGFncyA9IDApIGNvbnN0OworICAgIEFycmF5TW9kZSByZWZpbmUoR3Jh
cGgmLCBDb2RlT3JpZ2luLCBTcGVjdWxhdGVkVHlwZSBiYXNlLCBTcGVjdWxhdGVkVHlwZSBpbmRl
eCwgU3BlY3VsYXRlZFR5cGUgdmFsdWUgPSBTcGVjTm9uZSwgTm9kZUZsYWdzID0gMCkgY29uc3Q7
CiAgICAgCiAgICAgYm9vbCBhbHJlYWR5Q2hlY2tlZChHcmFwaCYsIE5vZGUqLCBBYnN0cmFjdFZh
bHVlJikgY29uc3Q7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0
ZUNvZGVQYXJzZXIuY3BwCmluZGV4IGM1NzJlN2EzZTBmYjJiNzcxNjY1ZTNmOThlMmJjYWYxNTVi
OGNiNWIuLmEyYTQzMWU0MTQ0OTg2ZTRjMDNlNDBjOGZhZGI1YmQ2ZWNhYzg2NjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC00MCw2
ICs0MCw3IEBACiAjaW5jbHVkZSAiT3BlcmF0aW9ucy5oIgogI2luY2x1ZGUgIlByZWNpc2VKdW1w
VGFyZ2V0cy5oIgogI2luY2x1ZGUgIlB1dEJ5SWRTdGF0dXMuaCIKKyNpbmNsdWRlICJTdGFja0Fs
aWdubWVudC5oIgogI2luY2x1ZGUgIlN0cmluZ0NvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSA8d3Rm
L0NvbW1hUHJpbnRlci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC0xNjAsNyArMTYx
LDggQEAgcHJpdmF0ZToKICAgICBib29sIGhhbmRsZU1pbk1heChpbnQgcmVzdWx0T3BlcmFuZCwg
Tm9kZVR5cGUgb3AsIGludCByZWdpc3Rlck9mZnNldCwgaW50IGFyZ3VtZW50Q291bnRJbmNsdWRp
bmdUaGlzKTsKICAgICAKICAgICAvLyBIYW5kbGUgY2FsbHMuIFRoaXMgcmVzb2x2ZXMgaXNzdWVz
IHN1cnJvdW5kaW5nIGlubGluaW5nIGFuZCBpbnRyaW5zaWNzLgotICAgIHZvaWQgaGFuZGxlQ2Fs
bChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uLCBOb2RlVHlwZSBvcCwgQ29kZVNwZWNp
YWxpemF0aW9uS2luZCk7CisgICAgdm9pZCBoYW5kbGVDYWxsKGludCByZXN1bHQsIE5vZGVUeXBl
IG9wLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLCB1bnNpZ25lZCBpbnN0cnVjdGlvblNpemUsIGlu
dCBjYWxsZWUsIGludCBhcmdDb3VudCwgaW50IHJlZ2lzdGVyT2Zmc2V0KTsKKyAgICB2b2lkIGhh
bmRsZUNhbGwoSW5zdHJ1Y3Rpb24qIHBjLCBOb2RlVHlwZSBvcCwgQ29kZVNwZWNpYWxpemF0aW9u
S2luZCBraW5kKTsKICAgICB2b2lkIGVtaXRGdW5jdGlvbkNoZWNrcyhjb25zdCBDYWxsTGlua1N0
YXR1cyYsIE5vZGUqIGNhbGxUYXJnZXQsIGludCByZWdpc3Rlck9mZnNldCwgQ29kZVNwZWNpYWxp
emF0aW9uS2luZCk7CiAgICAgdm9pZCBlbWl0QXJndW1lbnRQaGFudG9tcyhpbnQgcmVnaXN0ZXJP
ZmZzZXQsIGludCBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcywgQ29kZVNwZWNpYWxpemF0aW9u
S2luZCk7CiAgICAgLy8gSGFuZGxlIGlubGluaW5nLiBSZXR1cm4gdHJ1ZSBpZiBpdCBzdWNjZWVk
ZWQsIGZhbHNlIGlmIHdlIG5lZWQgdG8gcGxhbnQgYSBjYWxsLgpAQCAtNzczLDIyICs3NzUsMjEg
QEAgcHJpdmF0ZToKICAgICAgICAgbV9udW1QYXNzZWRWYXJBcmdzKys7CiAgICAgfQogICAgIAot
ICAgIE5vZGUqIGFkZENhbGwoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgTm9kZVR5
cGUgb3ApCisgICAgTm9kZSogYWRkQ2FsbChpbnQgcmVzdWx0LCBOb2RlVHlwZSBvcCwgaW50IGNh
bGxlZSwgaW50IGFyZ0NvdW50LCBpbnQgcmVnaXN0ZXJPZmZzZXQpCiAgICAgewogICAgICAgICBT
cGVjdWxhdGVkVHlwZSBwcmVkaWN0aW9uID0gZ2V0UHJlZGljdGlvbigpOwogICAgICAgICAKLSAg
ICAgICAgYWRkVmFyQXJnQ2hpbGQoZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rp
b25bMl0udS5vcGVyYW5kKSkpOwotICAgICAgICBpbnQgYXJnQ291bnQgPSBjdXJyZW50SW5zdHJ1
Y3Rpb25bM10udS5vcGVyYW5kOwotICAgICAgICBpZiAoSlNTdGFjazo6VGhpc0FyZ3VtZW50ICsg
KHVuc2lnbmVkKWFyZ0NvdW50ID4gbV9wYXJhbWV0ZXJTbG90cykKLSAgICAgICAgICAgIG1fcGFy
YW1ldGVyU2xvdHMgPSBKU1N0YWNrOjpUaGlzQXJndW1lbnQgKyBhcmdDb3VudDsKKyAgICAgICAg
YWRkVmFyQXJnQ2hpbGQoZ2V0KFZpcnR1YWxSZWdpc3RlcihjYWxsZWUpKSk7CisgICAgICAgIHNp
emVfdCBwYXJhbWV0ZXJTbG90cyA9IEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUgLSBKU1N0
YWNrOjpDYWxsZXJGcmFtZUFuZFBDU2l6ZSArIGFyZ0NvdW50OworICAgICAgICBpZiAocGFyYW1l
dGVyU2xvdHMgPiBtX3BhcmFtZXRlclNsb3RzKQorICAgICAgICAgICAgbV9wYXJhbWV0ZXJTbG90
cyA9IHBhcmFtZXRlclNsb3RzOwogCi0gICAgICAgIGludCByZWdpc3Rlck9mZnNldCA9IC1jdXJy
ZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kOwogICAgICAgICBpbnQgZHVtbXlUaGlzQXJndW1l
bnQgPSBvcCA9PSBDYWxsID8gMCA6IDE7CiAgICAgICAgIGZvciAoaW50IGkgPSAwICsgZHVtbXlU
aGlzQXJndW1lbnQ7IGkgPCBhcmdDb3VudDsgKytpKQogICAgICAgICAgICAgYWRkVmFyQXJnQ2hp
bGQoZ2V0KHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50KGksIHJlZ2lzdGVyT2Zmc2V0KSkpOwog
CiAgICAgICAgIE5vZGUqIGNhbGwgPSBhZGRUb0dyYXBoKE5vZGU6OlZhckFyZywgb3AsIE9wSW5m
bygwKSwgT3BJbmZvKHByZWRpY3Rpb24pKTsKLSAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3Rlcihj
dXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwgY2FsbCk7CisgICAgICAgIHNldChWaXJ0
dWFsUmVnaXN0ZXIocmVzdWx0KSwgY2FsbCk7CiAgICAgICAgIHJldHVybiBjYWxsOwogICAgIH0K
ICAgICAKQEAgLTk5Myw5ICs5OTQsMTAgQEAgcHJpdmF0ZToKICAgICAvLyBUaGUgbnVtYmVyIG9m
IGxvY2FscyAodmFycyArIHRlbXBvcmFyaWVzKSB1c2VkIGluIHRoZSBmdW5jdGlvbi4KICAgICB1
bnNpZ25lZCBtX251bUxvY2FsczsKICAgICAvLyBUaGUgbnVtYmVyIG9mIHNsb3RzIChpbiB1bml0
cyBvZiBzaXplb2YoUmVnaXN0ZXIpKSB0aGF0IHdlIG5lZWQgdG8KLSAgICAvLyBwcmVhbGxvY2F0
ZSBmb3IgY2FsbHMgZW1hbmF0aW5nIGZyb20gdGhpcyBmcmFtZS4gVGhpcyBpbmNsdWRlcyB0aGUK
LSAgICAvLyBzaXplIG9mIHRoZSBDYWxsRnJhbWUsIG9ubHkgaWYgdGhpcyBpcyBub3QgYSBsZWFm
IGZ1bmN0aW9uLiAgKEkuZS4KLSAgICAvLyB0aGlzIGlzIDAgaWYgYW5kIG9ubHkgaWYgdGhpcyBm
dW5jdGlvbiBpcyBhIGxlYWYuKQorICAgIC8vIHByZWFsbG9jYXRlIGZvciBhcmd1bWVudHMgdG8g
b3V0Z29pbmcgY2FsbHMgZnJvbSB0aGlzIGZyYW1lLiBUaGlzCisgICAgLy8gbnVtYmVyIGluY2x1
ZGVzIHRoZSBDYWxsRnJhbWUgc2xvdHMgdGhhdCB3ZSBpbml0aWFsaXplIGZvciB0aGUgY2FsbGVl
CisgICAgLy8gKGJ1dCBub3QgdGhlIGNhbGxlZS1pbml0aWFsaXplZCBDYWxsZXJGcmFtZSBhbmQg
UmV0dXJuUEMgc2xvdHMpLgorICAgIC8vIFRoaXMgbnVtYmVyIGlzIDAgaWYgYW5kIG9ubHkgaWYg
dGhpcyBmdW5jdGlvbiBpcyBhIGxlYWYuCiAgICAgdW5zaWduZWQgbV9wYXJhbWV0ZXJTbG90czsK
ICAgICAvLyBUaGUgbnVtYmVyIG9mIHZhciBhcmdzIHBhc3NlZCB0byB0aGUgbmV4dCB2YXIgYXJn
IG5vZGUuCiAgICAgdW5zaWduZWQgbV9udW1QYXNzZWRWYXJBcmdzOwpAQCAtMTEzNCw2ICsxMTM2
LDEwIEBAIHByaXZhdGU6CiAgICAgLy8gd29yay1hcm91bmQgZm9yIHRoZSBmYWN0IHRoYXQgSlNW
YWx1ZU1hcCBjYW4ndCBoYW5kbGUgImVtcHR5IiB2YWx1ZXMuCiAgICAgdW5zaWduZWQgbV9lbXB0
eUpTVmFsdWVJbmRleDsKICAgICAKKyAgICBDb2RlQmxvY2sqIG1fZGZnQ29kZUJsb2NrOworICAg
IENhbGxMaW5rU3RhdHVzOjpDb250ZXh0TWFwIG1fY2FsbENvbnRleHRNYXA7CisgICAgU3R1Yklu
Zm9NYXAgbV9kZmdTdHViSW5mb3M7CisgICAgCiAgICAgSW5zdHJ1Y3Rpb24qIG1fY3VycmVudElu
c3RydWN0aW9uOwogfTsKIApAQCAtMTE0NSw0MyArMTE1MSw0NSBAQCBwcml2YXRlOgogICAgIG1f
Y3VycmVudEluZGV4ICs9IE9QQ09ERV9MRU5HVEgobmFtZSk7IFwKICAgICByZXR1cm4gc2hvdWxk
Q29udGludWVQYXJzaW5nCiAKLQotdm9pZCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlQ2FsbChJbnN0
cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uLCBOb2RlVHlwZSBvcCwgQ29kZVNwZWNpYWxpemF0
aW9uS2luZCBraW5kKQordm9pZCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlQ2FsbChJbnN0cnVjdGlv
biogcGMsIE5vZGVUeXBlIG9wLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCiB7CiAgICAg
QVNTRVJUKE9QQ09ERV9MRU5HVEgob3BfY2FsbCkgPT0gT1BDT0RFX0xFTkdUSChvcF9jb25zdHJ1
Y3QpKTsKKyAgICBoYW5kbGVDYWxsKAorICAgICAgICBwY1sxXS51Lm9wZXJhbmQsIG9wLCBraW5k
LCBPUENPREVfTEVOR1RIKG9wX2NhbGwpLAorICAgICAgICBwY1syXS51Lm9wZXJhbmQsIHBjWzNd
LnUub3BlcmFuZCwgLXBjWzRdLnUub3BlcmFuZCk7Cit9CisKK3ZvaWQgQnl0ZUNvZGVQYXJzZXI6
OmhhbmRsZUNhbGwoCisgICAgaW50IHJlc3VsdCwgTm9kZVR5cGUgb3AsIENvZGVTcGVjaWFsaXph
dGlvbktpbmQga2luZCwgdW5zaWduZWQgaW5zdHJ1Y3Rpb25TaXplLAorICAgIGludCBjYWxsZWUs
IGludCBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcywgaW50IHJlZ2lzdGVyT2Zmc2V0KQorewor
ICAgIEFTU0VSVChyZWdpc3Rlck9mZnNldCA8PSAwKTsKICAgICAKLSAgICBOb2RlKiBjYWxsVGFy
Z2V0ID0gZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5k
KSk7CisgICAgTm9kZSogY2FsbFRhcmdldCA9IGdldChWaXJ0dWFsUmVnaXN0ZXIoY2FsbGVlKSk7
CiAgICAgCiAgICAgQ2FsbExpbmtTdGF0dXMgY2FsbExpbmtTdGF0dXM7CiAKLSAgICBpZiAobV9n
cmFwaC5pc0NvbnN0YW50KGNhbGxUYXJnZXQpKQotICAgICAgICBjYWxsTGlua1N0YXR1cyA9IENh
bGxMaW5rU3RhdHVzKG1fZ3JhcGgudmFsdWVPZkpTQ29uc3RhbnQoY2FsbFRhcmdldCkpLnNldElz
UHJvdmVkKHRydWUpOwotICAgIGVsc2UgewotICAgICAgICBjYWxsTGlua1N0YXR1cyA9IENhbGxM
aW5rU3RhdHVzOjpjb21wdXRlRm9yKG1faW5saW5lU3RhY2tUb3AtPm1fcHJvZmlsZWRCbG9jaywg
bV9jdXJyZW50SW5kZXgpOwotICAgICAgICBjYWxsTGlua1N0YXR1cy5zZXRIYXNCYWRGdW5jdGlv
bkV4aXRTaXRlKG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9j
dXJyZW50SW5kZXgsIEJhZEZ1bmN0aW9uKSk7Ci0gICAgICAgIGNhbGxMaW5rU3RhdHVzLnNldEhh
c0JhZENhY2hlRXhpdFNpdGUoCi0gICAgICAgICAgICBtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQ
cm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDYWNoZSkKLSAgICAgICAgICAg
IHx8IG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNpdGUobV9jdXJyZW50
SW5kZXgsIEJhZENhY2hlV2F0Y2hwb2ludCkpOwotICAgICAgICBjYWxsTGlua1N0YXR1cy5zZXRI
YXNCYWRFeGVjdXRhYmxlRXhpdFNpdGUobV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5o
YXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkRXhlY3V0YWJsZSkpOworICAgIGlmIChtX2dy
YXBoLmlzQ29uc3RhbnQoY2FsbFRhcmdldCkpIHsKKyAgICAgICAgY2FsbExpbmtTdGF0dXMgPSBD
YWxsTGlua1N0YXR1cygKKyAgICAgICAgICAgIG1fZ3JhcGgudmFsdWVPZkpTQ29uc3RhbnQoY2Fs
bFRhcmdldCkpLnNldElzUHJvdmVkKHRydWUpOworICAgIH0gZWxzZSB7CisgICAgICAgIGNhbGxM
aW5rU3RhdHVzID0gQ2FsbExpbmtTdGF0dXM6OmNvbXB1dGVGb3IoCisgICAgICAgICAgICBtX2lu
bGluZVN0YWNrVG9wLT5tX3Byb2ZpbGVkQmxvY2ssIGN1cnJlbnRDb2RlT3JpZ2luKCksIG1fY2Fs
bENvbnRleHRNYXApOwogICAgIH0KICAgICAKICAgICBpZiAoIWNhbGxMaW5rU3RhdHVzLmNhbk9w
dGltaXplKCkpIHsKICAgICAgICAgLy8gT2RkbHksIHRoaXMgY29uZmxhdGVzIGNhbGxzIHRoYXQg
aGF2ZW4ndCBleGVjdXRlZCB3aXRoIGNhbGxzIHRoYXQgYmVoYXZlZCBzdWZmaWNpZW50bHkgcG9s
eW1vcnBoaWNhbGx5CiAgICAgICAgIC8vIHRoYXQgd2UgY2Fubm90IG9wdGltaXplIHRoZW0uCiAg
ICAgICAgIAotICAgICAgICBhZGRDYWxsKGN1cnJlbnRJbnN0cnVjdGlvbiwgb3ApOworICAgICAg
ICBhZGRDYWxsKHJlc3VsdCwgb3AsIGNhbGxlZSwgYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMs
IHJlZ2lzdGVyT2Zmc2V0KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKLSAgICBpbnQg
YXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVy
YW5kOwotICAgIGludCByZWdpc3Rlck9mZnNldCA9IC1jdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5v
cGVyYW5kOwotCi0gICAgaW50IHJlc3VsdE9wZXJhbmQgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0u
dS5vcGVyYW5kOwotICAgIHVuc2lnbmVkIG5leHRPZmZzZXQgPSBtX2N1cnJlbnRJbmRleCArIE9Q
Q09ERV9MRU5HVEgob3BfY2FsbCk7CisgICAgdW5zaWduZWQgbmV4dE9mZnNldCA9IG1fY3VycmVu
dEluZGV4ICsgaW5zdHJ1Y3Rpb25TaXplOwogICAgIFNwZWN1bGF0ZWRUeXBlIHByZWRpY3Rpb24g
PSBnZXRQcmVkaWN0aW9uKCk7CiAKICAgICBpZiAoSW50ZXJuYWxGdW5jdGlvbiogZnVuY3Rpb24g
PSBjYWxsTGlua1N0YXR1cy5pbnRlcm5hbEZ1bmN0aW9uKCkpIHsKLSAgICAgICAgaWYgKGhhbmRs
ZUNvbnN0YW50SW50ZXJuYWxGdW5jdGlvbihyZXN1bHRPcGVyYW5kLCBmdW5jdGlvbiwgcmVnaXN0
ZXJPZmZzZXQsIGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCBwcmVkaWN0aW9uLCBraW5kKSkg
eworICAgICAgICBpZiAoaGFuZGxlQ29uc3RhbnRJbnRlcm5hbEZ1bmN0aW9uKHJlc3VsdCwgZnVu
Y3Rpb24sIHJlZ2lzdGVyT2Zmc2V0LCBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcywgcHJlZGlj
dGlvbiwga2luZCkpIHsKICAgICAgICAgICAgIC8vIFRoaXMgcGhhbnRvbWluZyBoYXMgdG8gYmUg
KmFmdGVyKiB0aGUgY29kZSBmb3IgdGhlIGludHJpbnNpYywgdG8gc2lnbmlmeSB0aGF0CiAgICAg
ICAgICAgICAvLyB0aGUgaW5wdXRzIG11c3QgYmUga2VwdCBhbGl2ZSB3aGF0ZXZlciBleGl0cyB0
aGUgaW50cmluc2ljIG1heSBkby4KICAgICAgICAgICAgIGFkZFRvR3JhcGgoUGhhbnRvbSwgY2Fs
bFRhcmdldCk7CkBAIC0xMTkwLDcgKzExOTgsNyBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpoYW5k
bGVDYWxsKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24sIE5vZGVUeXBlIG9wLCBDbwog
ICAgICAgICB9CiAgICAgICAgIAogICAgICAgICAvLyBDYW4gb25seSBoYW5kbGUgdGhpcyB1c2lu
ZyB0aGUgZ2VuZXJpYyBjYWxsIGhhbmRsZXIuCi0gICAgICAgIGFkZENhbGwoY3VycmVudEluc3Ry
dWN0aW9uLCBvcCk7CisgICAgICAgIGFkZENhbGwocmVzdWx0LCBvcCwgY2FsbGVlLCBhcmd1bWVu
dENvdW50SW5jbHVkaW5nVGhpcywgcmVnaXN0ZXJPZmZzZXQpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogICAgICAgICAKQEAgLTExOTgsNyArMTIwNiw3IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6
OmhhbmRsZUNhbGwoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgTm9kZVR5cGUgb3As
IENvCiAgICAgaWYgKGludHJpbnNpYyAhPSBOb0ludHJpbnNpYykgewogICAgICAgICBlbWl0RnVu
Y3Rpb25DaGVja3MoY2FsbExpbmtTdGF0dXMsIGNhbGxUYXJnZXQsIHJlZ2lzdGVyT2Zmc2V0LCBr
aW5kKTsKICAgICAgICAgICAgIAotICAgICAgICBpZiAoaGFuZGxlSW50cmluc2ljKHJlc3VsdE9w
ZXJhbmQsIGludHJpbnNpYywgcmVnaXN0ZXJPZmZzZXQsIGFyZ3VtZW50Q291bnRJbmNsdWRpbmdU
aGlzLCBwcmVkaWN0aW9uKSkgeworICAgICAgICBpZiAoaGFuZGxlSW50cmluc2ljKHJlc3VsdCwg
aW50cmluc2ljLCByZWdpc3Rlck9mZnNldCwgYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMsIHBy
ZWRpY3Rpb24pKSB7CiAgICAgICAgICAgICAvLyBUaGlzIHBoYW50b21pbmcgaGFzIHRvIGJlICph
ZnRlciogdGhlIGNvZGUgZm9yIHRoZSBpbnRyaW5zaWMsIHRvIHNpZ25pZnkgdGhhdAogICAgICAg
ICAgICAgLy8gdGhlIGlucHV0cyBtdXN0IGJlIGtlcHQgYWxpdmUgd2hhdGV2ZXIgZXhpdHMgdGhl
IGludHJpbnNpYyBtYXkgZG8uCiAgICAgICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIGNhbGxU
YXJnZXQpOwpAQCAtMTIwNywxMyArMTIxNSwxMyBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpoYW5k
bGVDYWxsKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24sIE5vZGVUeXBlIG9wLCBDbwog
ICAgICAgICAgICAgICAgIG1fZ3JhcGguY29tcGlsYXRpb24oKS0+bm90aWNlSW5saW5lZENhbGwo
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgIH0gZWxzZSBpZiAoaGFuZGxl
SW5saW5pbmcoY2FsbFRhcmdldCwgcmVzdWx0T3BlcmFuZCwgY2FsbExpbmtTdGF0dXMsIHJlZ2lz
dGVyT2Zmc2V0LCBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcywgbmV4dE9mZnNldCwga2luZCkp
IHsKKyAgICB9IGVsc2UgaWYgKGhhbmRsZUlubGluaW5nKGNhbGxUYXJnZXQsIHJlc3VsdCwgY2Fs
bExpbmtTdGF0dXMsIHJlZ2lzdGVyT2Zmc2V0LCBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcywg
bmV4dE9mZnNldCwga2luZCkpIHsKICAgICAgICAgaWYgKG1fZ3JhcGguY29tcGlsYXRpb24oKSkK
ICAgICAgICAgICAgIG1fZ3JhcGguY29tcGlsYXRpb24oKS0+bm90aWNlSW5saW5lZENhbGwoKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKLSAgICBhZGRDYWxsKGN1cnJlbnRJbnN0cnVj
dGlvbiwgb3ApOworICAgIGFkZENhbGwocmVzdWx0LCBvcCwgY2FsbGVlLCBhcmd1bWVudENvdW50
SW5jbHVkaW5nVGhpcywgcmVnaXN0ZXJPZmZzZXQpOwogfQogCiB2b2lkIEJ5dGVDb2RlUGFyc2Vy
OjplbWl0RnVuY3Rpb25DaGVja3MoY29uc3QgQ2FsbExpbmtTdGF0dXMmIGNhbGxMaW5rU3RhdHVz
LCBOb2RlKiBjYWxsVGFyZ2V0LCBpbnQgcmVnaXN0ZXJPZmZzZXQsIENvZGVTcGVjaWFsaXphdGlv
bktpbmQga2luZCkKQEAgLTEyNTAsMzAgKzEyNTgsMzIgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6
ZW1pdEFyZ3VtZW50UGhhbnRvbXMoaW50IHJlZ2lzdGVyT2Zmc2V0LCBpbnQgYXJndW1lbnRDb3Vu
dEkKIAogYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlSW5saW5pbmcoTm9kZSogY2FsbFRhcmdl
dE5vZGUsIGludCByZXN1bHRPcGVyYW5kLCBjb25zdCBDYWxsTGlua1N0YXR1cyYgY2FsbExpbmtT
dGF0dXMsIGludCByZWdpc3Rlck9mZnNldCwgaW50IGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlz
LCB1bnNpZ25lZCBuZXh0T2Zmc2V0LCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCiB7Cisg
ICAgc3RhdGljIGNvbnN0IGJvb2wgdmVyYm9zZSA9IGZhbHNlOworICAgIAorICAgIGlmICh2ZXJi
b3NlKQorICAgICAgICBkYXRhTG9nKCJDb25zaWRlcmluZyBpbmxpbmluZyAiLCBjYWxsTGlua1N0
YXR1cywgIiBpbnRvICIsIGN1cnJlbnRDb2RlT3JpZ2luKCksICJcbiIpOworICAgIAogICAgIC8v
IEZpcnN0LCB0aGUgcmVhbGx5IHNpbXBsZSBjaGVja3M6IGRvIHdlIGhhdmUgYW4gYWN0dWFsIEpT
IGZ1bmN0aW9uPwotICAgIGlmICghY2FsbExpbmtTdGF0dXMuZXhlY3V0YWJsZSgpKQorICAgIGlm
ICghY2FsbExpbmtTdGF0dXMuZXhlY3V0YWJsZSgpKSB7CisgICAgICAgIGlmICh2ZXJib3NlKQor
ICAgICAgICAgICAgZGF0YUxvZygiICAgIEZhaWxpbmcgYmVjYXVzZSB0aGVyZSBpcyBubyBleGVj
dXRhYmxlLlxuIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoY2FsbExpbmtTdGF0
dXMuZXhlY3V0YWJsZSgpLT5pc0hvc3RGdW5jdGlvbigpKQorICAgIH0KKyAgICBpZiAoY2FsbExp
bmtTdGF0dXMuZXhlY3V0YWJsZSgpLT5pc0hvc3RGdW5jdGlvbigpKSB7CisgICAgICAgIGlmICh2
ZXJib3NlKQorICAgICAgICAgICAgZGF0YUxvZygiICAgIEZhaWxpbmcgYmVjYXVzZSBpdCdzIGEg
aG9zdCBmdW5jdGlvbi5cbiIpOwogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogICAgIAog
ICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGpzQ2FzdDxGdW5jdGlvbkV4ZWN1
dGFibGUqPihjYWxsTGlua1N0YXR1cy5leGVjdXRhYmxlKCkpOwogICAgIAogICAgIC8vIERvZXMg
dGhlIG51bWJlciBvZiBhcmd1bWVudHMgd2UncmUgcGFzc2luZyBtYXRjaCB0aGUgYXJpdHkgb2Yg
dGhlIHRhcmdldD8gV2UgY3VycmVudGx5CiAgICAgLy8gaW5saW5lIG9ubHkgaWYgdGhlIG51bWJl
ciBvZiBhcmd1bWVudHMgcGFzc2VkIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgbnVt
YmVyCiAgICAgLy8gYXJndW1lbnRzIGV4cGVjdGVkLgotICAgIGlmIChzdGF0aWNfY2FzdDxpbnQ+
KGV4ZWN1dGFibGUtPnBhcmFtZXRlckNvdW50KCkpICsgMSA+IGFyZ3VtZW50Q291bnRJbmNsdWRp
bmdUaGlzKQorICAgIGlmIChzdGF0aWNfY2FzdDxpbnQ+KGV4ZWN1dGFibGUtPnBhcmFtZXRlckNv
dW50KCkpICsgMSA+IGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzKSB7CisgICAgICAgIGlmICh2
ZXJib3NlKQorICAgICAgICAgICAgZGF0YUxvZygiICAgIEZhaWxpbmcgYmVjYXVzZSBvZiBhcml0
eSBtaXNtYXRjaC5cbiIpOwogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgCi0gICAgLy8gSGF2
ZSB3ZSBleGNlZWRlZCBpbmxpbmUgc3RhY2sgZGVwdGgsIG9yIGFyZSB3ZSB0cnlpbmcgdG8gaW5s
aW5lIGEgcmVjdXJzaXZlIGNhbGw/Ci0gICAgLy8gSWYgZWl0aGVyIG9mIHRoZXNlIGFyZSBkZXRl
Y3RlZCwgdGhlbiBkb24ndCBpbmxpbmUuCi0gICAgdW5zaWduZWQgZGVwdGggPSAwOwotICAgIGZv
ciAoSW5saW5lU3RhY2tFbnRyeSogZW50cnkgPSBtX2lubGluZVN0YWNrVG9wOyBlbnRyeTsgZW50
cnkgPSBlbnRyeS0+bV9jYWxsZXIpIHsKLSAgICAgICAgKytkZXB0aDsKLSAgICAgICAgaWYgKGRl
cHRoID49IE9wdGlvbnM6Om1heGltdW1JbmxpbmluZ0RlcHRoKCkpCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7IC8vIERlcHRoIGV4Y2VlZGVkLgotICAgICAgICAKLSAgICAgICAgaWYgKGVudHJ5
LT5leGVjdXRhYmxlKCkgPT0gZXhlY3V0YWJsZSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsg
Ly8gUmVjdXJzaW9uIGRldGVjdGVkLgogICAgIH0KICAgICAKICAgICAvLyBEbyB3ZSBoYXZlIGEg
Y29kZSBibG9jaywgYW5kIGRvZXMgdGhlIGNvZGUgYmxvY2sncyBzaXplIG1hdGNoIHRoZSBoZXVy
aXN0aWNzL3JlcXVpcmVtZW50cyBmb3IKQEAgLTEyODMsMTAgKzEyOTMsNTAgQEAgYm9vbCBCeXRl
Q29kZVBhcnNlcjo6aGFuZGxlSW5saW5pbmcoTm9kZSogY2FsbFRhcmdldE5vZGUsIGludCByZXN1
bHRPcGVyYW5kLCBjb24KICAgICAvLyBnbG9iYWwgZnVuY3Rpb24sIHdoZXJlIHdhdGNocG9pbnRp
bmcgZ2l2ZXMgdXMgc3RhdGljIGluZm9ybWF0aW9uLiBPdmVyYWxsLCBpdCdzIGEgcmFyZSBjYXNl
CiAgICAgLy8gYmVjYXVzZSB3ZSBleHBlY3QgdGhhdCBhbnkgaG90IGNhbGxlZXMgd291bGQgaGF2
ZSBhbHJlYWR5IGJlZW4gY29tcGlsZWQuCiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVj
dXRhYmxlLT5iYXNlbGluZUNvZGVCbG9ja0ZvcihraW5kKTsKLSAgICBpZiAoIWNvZGVCbG9jaykK
KyAgICBpZiAoIWNvZGVCbG9jaykgeworICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAgICAgICAg
IGRhdGFMb2coIiAgICBGYWlsaW5nIGJlY2F1c2Ugbm8gY29kZSBibG9jayBhdmFpbGFibGUuXG4i
KTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICghY2FuSW5saW5lRnVuY3Rpb25Gb3Io
Y29kZUJsb2NrLCBraW5kLCBjYWxsTGlua1N0YXR1cy5pc0Nsb3N1cmVDYWxsKCkpKQorICAgIH0K
KyAgICBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsID0gaW5saW5lRnVuY3Rpb25Gb3JD
YXBhYmlsaXR5TGV2ZWwoCisgICAgICAgIGNvZGVCbG9jaywga2luZCwgY2FsbExpbmtTdGF0dXMu
aXNDbG9zdXJlQ2FsbCgpKTsKKyAgICBpZiAoIWNhbklubGluZShjYXBhYmlsaXR5TGV2ZWwpKSB7
CisgICAgICAgIGlmICh2ZXJib3NlKQorICAgICAgICAgICAgZGF0YUxvZygiICAgIEZhaWxpbmcg
YmVjYXVzZSB0aGUgZnVuY3Rpb24gaXMgbm90IGlubGluZWFibGUuXG4iKTsKICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0KKyAgICAKKyAgICAvLyBGSVhNRTogdGhpcyBzaG91bGQgYmUgYmV0
dGVyIGF0IHByZWRpY3RpbmcgaG93IG11Y2ggYmxvYXQgd2Ugd2lsbCBpbnRyb2R1Y2UgYnkgaW5s
aW5pbmcKKyAgICAvLyB0aGlzIGZ1bmN0aW9uLgorICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2MjcKKyAgICAKKyAgICAvLyBIYXZlIHdlIGV4Y2VlZGVk
IGlubGluZSBzdGFjayBkZXB0aCwgb3IgYXJlIHdlIHRyeWluZyB0byBpbmxpbmUgYSByZWN1cnNp
dmUgY2FsbCB0bworICAgIC8vIHRvbyBtYW55IGxldmVscz8gSWYgZWl0aGVyIG9mIHRoZXNlIGFy
ZSBkZXRlY3RlZCwgdGhlbiBkb24ndCBpbmxpbmUuIFdlIGFkanVzdCBvdXIKKyAgICAvLyBoZXVy
aXN0aWNzIGlmIHdlIGFyZSBkZWFsaW5nIHdpdGggYSBmdW5jdGlvbiB0aGF0IGNhbm5vdCBvdGhl
cndpc2UgYmUgY29tcGlsZWQuCisgICAgCisgICAgdW5zaWduZWQgZGVwdGggPSAwOworICAgIHVu
c2lnbmVkIHJlY3Vyc2lvbiA9IDA7CisgICAgCisgICAgZm9yIChJbmxpbmVTdGFja0VudHJ5KiBl
bnRyeSA9IG1faW5saW5lU3RhY2tUb3A7IGVudHJ5OyBlbnRyeSA9IGVudHJ5LT5tX2NhbGxlcikg
eworICAgICAgICArK2RlcHRoOworICAgICAgICBpZiAoZGVwdGggPj0gT3B0aW9uczo6bWF4aW11
bUlubGluaW5nRGVwdGgoKSkgeworICAgICAgICAgICAgaWYgKHZlcmJvc2UpCisgICAgICAgICAg
ICAgICAgZGF0YUxvZygiICAgIEZhaWxpbmcgYmVjYXVzZSBkZXB0aCBleGNlZWRlZC5cbiIpOwor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBp
ZiAoZW50cnktPmV4ZWN1dGFibGUoKSA9PSBleGVjdXRhYmxlKSB7CisgICAgICAgICAgICArK3Jl
Y3Vyc2lvbjsKKyAgICAgICAgICAgIGlmIChyZWN1cnNpb24gPj0gT3B0aW9uczo6bWF4aW11bUlu
bGluaW5nUmVjdXJzaW9uKCkpIHsKKyAgICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKKyAgICAg
ICAgICAgICAgICAgICAgZGF0YUxvZygiICAgIEZhaWxpbmcgYmVjYXVzZSByZWN1cnNpb24gZGV0
ZWN0ZWQuXG4iKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICB9CisgICAgCisgICAgaWYgKHZlcmJvc2UpCisgICAgICAgIGRhdGFM
b2coIiAgICBDb21taXR0aW5nIHRvIGlubGluaW5nLlxuIik7CiAgICAgCiAgICAgLy8gTm93IHdl
IGtub3cgd2l0aG91dCBhIGRvdWJ0IHRoYXQgd2UgYXJlIGNvbW1pdHRlZCB0byBpbmxpbmluZy4g
U28gYmVnaW4gdGhlIHByb2Nlc3MKICAgICAvLyBieSBjaGVja2luZyB0aGUgY2FsbGVlIChpZiBu
ZWNlc3NhcnkpIGFuZCBtYWtpbmcgc3VyZSB0aGF0IGFyZ3VtZW50cyBhbmQgdGhlIGNhbGxlZQpA
QCAtMTc3MywxMSArMTgyMyw3IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUdldEJ5SWQo
CiAgICAgaW50IGRlc3RpbmF0aW9uT3BlcmFuZCwgU3BlY3VsYXRlZFR5cGUgcHJlZGljdGlvbiwg
Tm9kZSogYmFzZSwgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciwKICAgICBjb25zdCBHZXRCeUlk
U3RhdHVzJiBnZXRCeUlkU3RhdHVzKQogewotICAgIGlmICghZ2V0QnlJZFN0YXR1cy5pc1NpbXBs
ZSgpCi0gICAgICAgIHx8IG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhpdFNp
dGUobV9jdXJyZW50SW5kZXgsIEJhZENhY2hlKQotICAgICAgICB8fCBtX2lubGluZVN0YWNrVG9w
LT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDYWNoZVdhdGNo
cG9pbnQpCi0gICAgICAgIHx8IG1faW5saW5lU3RhY2tUb3AtPm1fZXhpdFByb2ZpbGUuaGFzRXhp
dFNpdGUobV9jdXJyZW50SW5kZXgsIEJhZFdlYWtDb25zdGFudENhY2hlKQotICAgICAgICB8fCBt
X2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4
LCBCYWRXZWFrQ29uc3RhbnRDYWNoZVdhdGNocG9pbnQpKSB7CisgICAgaWYgKCFnZXRCeUlkU3Rh
dHVzLmlzU2ltcGxlKCkpIHsKICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihkZXN0aW5hdGlv
bk9wZXJhbmQpLAogICAgICAgICAgICAgYWRkVG9HcmFwaCgKICAgICAgICAgICAgICAgICBnZXRC
eUlkU3RhdHVzLm1ha2VzQ2FsbHMoKSA/IEdldEJ5SWRGbHVzaCA6IEdldEJ5SWQsCkBAIC0yNDQ0
LDYgKzI0OTAsNyBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxp
bWl0KQogICAgICAgICAgICAgYWRkVmFyQXJnQ2hpbGQocHJvcGVydHkpOwogICAgICAgICAgICAg
YWRkVmFyQXJnQ2hpbGQodmFsdWUpOwogICAgICAgICAgICAgYWRkVmFyQXJnQ2hpbGQoMCk7IC8v
IExlYXZlIHJvb20gZm9yIHByb3BlcnR5IHN0b3JhZ2UuCisgICAgICAgICAgICBhZGRWYXJBcmdD
aGlsZCgwKTsgLy8gTGVhdmUgcm9vbSBmb3IgbGVuZ3RoLgogICAgICAgICAgICAgYWRkVG9HcmFw
aChOb2RlOjpWYXJBcmcsIG9wY29kZUlEID09IG9wX3B1dF9ieV92YWxfZGlyZWN0ID8gUHV0QnlW
YWxEaXJlY3QgOiBQdXRCeVZhbCwgT3BJbmZvKGFycmF5TW9kZS5hc1dvcmQoKSksIE9wSW5mbygw
KSk7CiAKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX3B1dF9ieV92YWwpOwpAQCAtMjQ1OSw4
ICsyNTA2LDkgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1p
dCkKICAgICAgICAgICAgIAogICAgICAgICAgICAgU3RyaW5nSW1wbCogdWlkID0gbV9ncmFwaC5p
ZGVudGlmaWVycygpW2lkZW50aWZpZXJOdW1iZXJdOwogICAgICAgICAgICAgR2V0QnlJZFN0YXR1
cyBnZXRCeUlkU3RhdHVzID0gR2V0QnlJZFN0YXR1czo6Y29tcHV0ZUZvcigKLSAgICAgICAgICAg
ICAgICBtX2lubGluZVN0YWNrVG9wLT5tX3Byb2ZpbGVkQmxvY2ssIG1faW5saW5lU3RhY2tUb3At
Pm1fc3R1YkluZm9zLAotICAgICAgICAgICAgICAgIG1fY3VycmVudEluZGV4LCB1aWQpOworICAg
ICAgICAgICAgICAgIG1faW5saW5lU3RhY2tUb3AtPm1fcHJvZmlsZWRCbG9jaywgbV9kZmdDb2Rl
QmxvY2ssCisgICAgICAgICAgICAgICAgbV9pbmxpbmVTdGFja1RvcC0+bV9zdHViSW5mb3MsIG1f
ZGZnU3R1YkluZm9zLAorICAgICAgICAgICAgICAgIGN1cnJlbnRDb2RlT3JpZ2luKCksIHVpZCk7
CiAgICAgICAgICAgICAKICAgICAgICAgICAgIGhhbmRsZUdldEJ5SWQoCiAgICAgICAgICAgICAg
ICAgY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCwgcHJlZGljdGlvbiwgYmFzZSwgaWRl
bnRpZmllck51bWJlciwgZ2V0QnlJZFN0YXR1cyk7CkBAIC0yNDc5LDI2ICsyNTI3LDIwIEBAIGJv
b2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAg
ICBib29sIGRpcmVjdCA9IGN1cnJlbnRJbnN0cnVjdGlvbls4XS51Lm9wZXJhbmQ7CiAKICAgICAg
ICAgICAgIFB1dEJ5SWRTdGF0dXMgcHV0QnlJZFN0YXR1cyA9IFB1dEJ5SWRTdGF0dXM6OmNvbXB1
dGVGb3IoCi0gICAgICAgICAgICAgICAgbV9pbmxpbmVTdGFja1RvcC0+bV9wcm9maWxlZEJsb2Nr
LCBtX2lubGluZVN0YWNrVG9wLT5tX3N0dWJJbmZvcywKLSAgICAgICAgICAgICAgICBtX2N1cnJl
bnRJbmRleCwgbV9ncmFwaC5pZGVudGlmaWVycygpW2lkZW50aWZpZXJOdW1iZXJdKTsKKyAgICAg
ICAgICAgICAgICBtX2lubGluZVN0YWNrVG9wLT5tX3Byb2ZpbGVkQmxvY2ssIG1fZGZnQ29kZUJs
b2NrLAorICAgICAgICAgICAgICAgIG1faW5saW5lU3RhY2tUb3AtPm1fc3R1YkluZm9zLCBtX2Rm
Z1N0dWJJbmZvcywKKyAgICAgICAgICAgICAgICBjdXJyZW50Q29kZU9yaWdpbigpLCBtX2dyYXBo
LmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51bWJlcl0pOwogICAgICAgICAgICAgYm9vbCBjYW5D
b3VudEFzSW5saW5lZCA9IHRydWU7CiAgICAgICAgICAgICBpZiAoIXB1dEJ5SWRTdGF0dXMuaXNT
ZXQoKSkgewogICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoRm9yY2VPU1JFeGl0KTsKICAgICAg
ICAgICAgICAgICBjYW5Db3VudEFzSW5saW5lZCA9IGZhbHNlOwogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgCi0gICAgICAgICAgICBib29sIGhhc0V4aXRTaXRlID0KLSAgICAgICAgICAgICAg
ICBtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudElu
ZGV4LCBCYWRDYWNoZSkKLSAgICAgICAgICAgICAgICB8fCBtX2lubGluZVN0YWNrVG9wLT5tX2V4
aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRDYWNoZVdhdGNocG9pbnQp
Ci0gICAgICAgICAgICAgICAgfHwgbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNF
eGl0U2l0ZShtX2N1cnJlbnRJbmRleCwgQmFkV2Vha0NvbnN0YW50Q2FjaGUpCi0gICAgICAgICAg
ICAgICAgfHwgbV9pbmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1
cnJlbnRJbmRleCwgQmFkV2Vha0NvbnN0YW50Q2FjaGVXYXRjaHBvaW50KTsKLSAgICAgICAgICAg
IAotICAgICAgICAgICAgaWYgKCFoYXNFeGl0U2l0ZSAmJiBwdXRCeUlkU3RhdHVzLmlzU2ltcGxl
UmVwbGFjZSgpKSB7CisgICAgICAgICAgICBpZiAocHV0QnlJZFN0YXR1cy5pc1NpbXBsZVJlcGxh
Y2UoKSkgewogICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoQ2hlY2tTdHJ1Y3R1cmUsIE9wSW5m
byhtX2dyYXBoLmFkZFN0cnVjdHVyZVNldChwdXRCeUlkU3RhdHVzLm9sZFN0cnVjdHVyZSgpKSks
IGJhc2UpOwogICAgICAgICAgICAgICAgIGhhbmRsZVB1dEJ5T2Zmc2V0KGJhc2UsIGlkZW50aWZp
ZXJOdW1iZXIsIHB1dEJ5SWRTdGF0dXMub2Zmc2V0KCksIHZhbHVlKTsKICAgICAgICAgICAgIH0g
ZWxzZSBpZiAoCi0gICAgICAgICAgICAgICAgIWhhc0V4aXRTaXRlCi0gICAgICAgICAgICAgICAg
JiYgcHV0QnlJZFN0YXR1cy5pc1NpbXBsZVRyYW5zaXRpb24oKQorICAgICAgICAgICAgICAgIHB1
dEJ5SWRTdGF0dXMuaXNTaW1wbGVUcmFuc2l0aW9uKCkKICAgICAgICAgICAgICAgICAmJiAoIXB1
dEJ5SWRTdGF0dXMuc3RydWN0dXJlQ2hhaW4oKQogICAgICAgICAgICAgICAgICAgICB8fCBwdXRC
eUlkU3RhdHVzLnN0cnVjdHVyZUNoYWluKCktPmlzU3RpbGxWYWxpZCgpKSkgewogICAgICAgICAg
ICAgICAgIApAQCAtMjk3MywzMCArMzAxNSw0MSBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJz
ZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVYVF9PUENPREUob3BfY29uc3Ry
dWN0KTsKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIG9wX2NhbGxfdmFyYXJnczogeworICAg
ICAgICAgICAgaW50IHJlc3VsdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7Cisg
ICAgICAgICAgICBpbnQgY2FsbGVlID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZDsK
KyAgICAgICAgICAgIGludCB0aGlzUmVnID0gY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFu
ZDsKKyAgICAgICAgICAgIGludCBhcmd1bWVudHMgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5v
cGVyYW5kOworICAgICAgICAgICAgaW50IGZpcnN0RnJlZVJlZyA9IGN1cnJlbnRJbnN0cnVjdGlv
bls1XS51Lm9wZXJhbmQ7CisgICAgICAgICAgICAKICAgICAgICAgICAgIEFTU0VSVChpbmxpbmVD
YWxsRnJhbWUoKSk7Ci0gICAgICAgICAgICBBU1NFUlQoY3VycmVudEluc3RydWN0aW9uWzRdLnUu
b3BlcmFuZCA9PSBtX2lubGluZVN0YWNrVG9wLT5tX2NvZGVCbG9jay0+YXJndW1lbnRzUmVnaXN0
ZXIoKS5vZmZzZXQoKSk7CisgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKGFyZ3VtZW50cywgYXJn
dW1lbnRzID09IG1faW5saW5lU3RhY2tUb3AtPm1fY29kZUJsb2NrLT5hcmd1bWVudHNSZWdpc3Rl
cigpLm9mZnNldCgpKTsKICAgICAgICAgICAgIEFTU0VSVCghbV9pbmxpbmVTdGFja1RvcC0+bV9j
b2RlQmxvY2stPnN5bWJvbFRhYmxlKCktPnNsb3dBcmd1bWVudHMoKSk7Ci0gICAgICAgICAgICAv
LyBJdCB3b3VsZCBiZSBjb29sIHRvIGZ1bm5lbCB0aGlzIGludG8gaGFuZGxlQ2FsbCgpIHNvIHRo
YXQgaXQgY2FuIGhhbmRsZQotICAgICAgICAgICAgLy8gaW5saW5pbmcuIEJ1dCBjdXJyZW50bHkg
dGhhdCB3b24ndCBiZSBwcm9maXRhYmxlIGFueXdheSwgc2luY2Ugbm9uZSBvZiB0aGUKLSAgICAg
ICAgICAgIC8vIHVzZXMgb2YgY2FsbF92YXJhcmdzIHdpbGwgYmUgaW5saW5lYWJsZS4gU28gd2Ug
c2V0IHRoaXMgdXAgbWFudWFsbHkgYW5kCi0gICAgICAgICAgICAvLyB3aXRob3V0IGlubGluZS9p
bnRyaW5zaWMgZGV0ZWN0aW9uLgotICAgICAgICAgICAgCi0gICAgICAgICAgICBTcGVjdWxhdGVk
VHlwZSBwcmVkaWN0aW9uID0gZ2V0UHJlZGljdGlvbigpOwotICAgICAgICAgICAgCisKICAgICAg
ICAgICAgIGFkZFRvR3JhcGgoQ2hlY2tBcmd1bWVudHNOb3RDcmVhdGVkKTsKLSAgICAgICAgICAg
IAorCiAgICAgICAgICAgICB1bnNpZ25lZCBhcmdDb3VudCA9IGlubGluZUNhbGxGcmFtZSgpLT5h
cmd1bWVudHMuc2l6ZSgpOwotICAgICAgICAgICAgaWYgKEpTU3RhY2s6OlRoaXNBcmd1bWVudCAr
IGFyZ0NvdW50ID4gbV9wYXJhbWV0ZXJTbG90cykKLSAgICAgICAgICAgICAgICBtX3BhcmFtZXRl
clNsb3RzID0gSlNTdGFjazo6VGhpc0FyZ3VtZW50ICsgYXJnQ291bnQ7CiAgICAgICAgICAgICAK
LSAgICAgICAgICAgIGFkZFZhckFyZ0NoaWxkKGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudElu
c3RydWN0aW9uWzJdLnUub3BlcmFuZCkpKTsgLy8gY2FsbGVlCi0gICAgICAgICAgICBhZGRWYXJB
cmdDaGlsZChnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJh
bmQpKSk7IC8vIHRoaXMKKyAgICAgICAgICAgIC8vIExldCdzIGNvbXB1dGUgdGhlIHJlZ2lzdGVy
IG9mZnNldC4gV2Ugc3RhcnQgd2l0aCB0aGUgbGFzdCB1c2VkIHJlZ2lzdGVyLCBhbmQKKyAgICAg
ICAgICAgIC8vIHRoZW4gYWRqdXN0IGZvciB0aGUgdGhpbmdzIHdlIHdhbnQgaW4gdGhlIGNhbGwg
ZnJhbWUuCisgICAgICAgICAgICBpbnQgcmVnaXN0ZXJPZmZzZXQgPSBmaXJzdEZyZWVSZWcgKyAx
OworICAgICAgICAgICAgcmVnaXN0ZXJPZmZzZXQgLT0gYXJnQ291bnQ7IC8vIFdlIHdpbGwgYmUg
cGFzc2luZyBzb21lIGFyZ3VtZW50cy4KKyAgICAgICAgICAgIHJlZ2lzdGVyT2Zmc2V0IC09IEpT
U3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemU7IC8vIFdlIHdpbGwgcHJldGVuZCB0byBoYXZlIGEg
Y2FsbCBmcmFtZSBoZWFkZXIuCisgICAgICAgICAgICAKKyAgICAgICAgICAgIC8vIEdldCB0aGUg
YWxpZ25tZW50IHJpZ2h0LgorICAgICAgICAgICAgcmVnaXN0ZXJPZmZzZXQgPSAtV1RGOjpyb3Vu
ZFVwVG9NdWx0aXBsZU9mKAorICAgICAgICAgICAgICAgIHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJz
KCksCisgICAgICAgICAgICAgICAgLXJlZ2lzdGVyT2Zmc2V0KTsKKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgLy8gVGhlIGJ5dGVjb2RlIHdvdWxkbid0IGhhdmUgc2V0IHVwIHRoZSBhcmd1bWVu
dHMuIEJ1dCB3ZSdsbCBkbyBpdCBhbmQgbWFrZSBpdAorICAgICAgICAgICAgLy8gbG9vayBsaWtl
IHRoZSBieXRlY29kZSBoYWQgZG9uZSBpdC4KKyAgICAgICAgICAgIGludCBuZXh0UmVnaXN0ZXIg
PSByZWdpc3Rlck9mZnNldCArIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemU7CisgICAgICAg
ICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKG5leHRSZWdpc3RlcisrKSwgZ2V0KFZpcnR1YWxSZWdp
c3Rlcih0aGlzUmVnKSksIEltbWVkaWF0ZVNldCk7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVk
IGFyZ3VtZW50ID0gMTsgYXJndW1lbnQgPCBhcmdDb3VudDsgKythcmd1bWVudCkKLSAgICAgICAg
ICAgICAgICBhZGRWYXJBcmdDaGlsZChnZXQodmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnQoYXJn
dW1lbnQpKSk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIo
Y3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksCi0gICAgICAgICAgICAgICAgYWRkVG9H
cmFwaChOb2RlOjpWYXJBcmcsIENhbGwsIE9wSW5mbygwKSwgT3BJbmZvKHByZWRpY3Rpb24pKSk7
CisgICAgICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihuZXh0UmVnaXN0ZXIrKyksIGdl
dCh2aXJ0dWFsUmVnaXN0ZXJGb3JBcmd1bWVudChhcmd1bWVudCkpLCBJbW1lZGlhdGVTZXQpOwog
ICAgICAgICAgICAgCisgICAgICAgICAgICBoYW5kbGVDYWxsKAorICAgICAgICAgICAgICAgIHJl
c3VsdCwgQ2FsbCwgQ29kZUZvckNhbGwsIE9QQ09ERV9MRU5HVEgob3BfY2FsbF92YXJhcmdzKSwK
KyAgICAgICAgICAgICAgICBjYWxsZWUsIGFyZ0NvdW50LCByZWdpc3Rlck9mZnNldCk7CiAgICAg
ICAgICAgICBORVhUX09QQ09ERShvcF9jYWxsX3ZhcmFyZ3MpOwogICAgICAgICB9CiAgICAgICAg
ICAgICAKQEAgLTM2NTQsNiArMzcwNywxNiBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZSgp
CiAgICAgLy8gU2V0IGR1cmluZyBjb25zdHJ1Y3Rpb24uCiAgICAgQVNTRVJUKCFtX2N1cnJlbnRJ
bmRleCk7CiAgICAgCisgICAgaWYgKGlzRlRMKG1fZ3JhcGgubV9wbGFuLm1vZGUpKSB7CisgICAg
ICAgIG1fZGZnQ29kZUJsb2NrID0gbV9ncmFwaC5tX3BsYW4ucHJvZmlsZWRERkdDb2RlQmxvY2su
Z2V0KCk7CisgICAgICAgIGlmIChtX2RmZ0NvZGVCbG9jaykgeworICAgICAgICAgICAgaWYgKE9w
dGlvbnM6OmVuYWJsZVBvbHl2YXJpYW50Q2FsbElubGluaW5nKCkpCisgICAgICAgICAgICAgICAg
Q2FsbExpbmtTdGF0dXM6OmNvbXB1dGVERkdTdGF0dXNlcyhtX2RmZ0NvZGVCbG9jaywgbV9jYWxs
Q29udGV4dE1hcCk7CisgICAgICAgICAgICBpZiAoT3B0aW9uczo6ZW5hYmxlUG9seXZhcmlhbnRC
eUlkSW5saW5pbmcoKSkKKyAgICAgICAgICAgICAgICBtX2RmZ0NvZGVCbG9jay0+Z2V0U3R1Yklu
Zm9NYXAobV9kZmdTdHViSW5mb3MpOworICAgICAgICB9CisgICAgfQorICAgIAogICAgIGlmICht
X2NvZGVCbG9jay0+Y2FwdHVyZUNvdW50KCkpIHsKICAgICAgICAgU3ltYm9sVGFibGUqIHN5bWJv
bFRhYmxlID0gbV9jb2RlQmxvY2stPnN5bWJvbFRhYmxlKCk7CiAgICAgICAgIENvbmN1cnJlbnRK
SVRMb2NrZXIgbG9ja2VyKHN5bWJvbFRhYmxlLT5tX2xvY2spOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDRkdTaW1wbGlmaWNhdGlvblBoYXNlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ0ZHU2ltcGxpZmljYXRpb25QaGFzZS5jcHAKaW5kZXgg
NWRlMzZhMGRhMmNlNDliY2Y0ODczNzI4ODhiOTY5ZmJjODM4OTUyMi4uNjNmMWU5OGI3ZjNhYTcx
NDU1OWJiYmUwZWFlOTFkZTU0M2U1NWMyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdDRkdTaW1wbGlmaWNhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0NGR1NpbXBsaWZpY2F0aW9uUGhhc2UuY3BwCkBAIC03OSw2ICs3OSw4
IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICAgICAgLy8gc3Vib3B0aW1hbCwgYmVjYXVzZSBp
ZiBteSBzdWNjZXNzb3IgaGFzIG11bHRpcGxlIHByZWRlY2Vzc29ycyB0aGVuIHdlJ2xsCiAgICAg
ICAgICAgICAgICAgICAgIC8vIGJlIGtlZXBpbmcgYWxpdmUgdGhpbmdzIG9uIG90aGVyIHByZWRl
Y2Vzc29yIGVkZ2VzIHVubmVjZXNzYXJpbHkuCiAgICAgICAgICAgICAgICAgICAgIC8vIFdoYXQg
d2UgcmVhbGx5IG5lZWQgaXMgdGhlIG5vdGlvbiBvZiBlbmQtb2YtYmxvY2sgZ2hvc3RpZXMhCisg
ICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBBbGxvdyBwdXR0aW5nIHBoYW50b21zIGFmdGVy
IHRlcm1pbmFscy4KKyAgICAgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyNjc3OAogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NTRVBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQ1NFUGhhc2UuY3BwCmluZGV4IGE0ZTE1OWU3M2IzMzhmYzBiMTlmZTk5YTZlODgwYzEy
ZDdiZmM3NjkuLmQzYmZjNTBiZGU4ZDZkNzg0NjhkZmQwN2RlMzZiOWVmYWE1ZGIxYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3BwCkBAIC0yOCw2ICsyOCw4IEBA
CiAKICNpZiBFTkFCTEUoREZHX0pJVCkKIAorI2luY2x1ZGUgIkRGR0Fic3RyYWN0SGVhcC5oIgor
I2luY2x1ZGUgIkRGR0Nsb2JiZXJpemUuaCIKICNpbmNsdWRlICJERkdFZGdlVXNlc1N0cnVjdHVy
ZS5oIgogI2luY2x1ZGUgIkRGR0dyYXBoLmgiCiAjaW5jbHVkZSAiREZHUGhhc2UuaCIKQEAgLTEw
MDYsNiArMTAwOCwxOCBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0K
ICAgICAKKyAgICBib29sIGludmFsaWRhdGlvblBvaW50RWxpbWluYXRpb24oKQorICAgIHsKKyAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gbV9pbmRleEluQmxvY2s7IGktLTspIHsKKyAgICAgICAg
ICAgIE5vZGUqIG5vZGUgPSBtX2N1cnJlbnRCbG9jay0+YXQoaSk7CisgICAgICAgICAgICBpZiAo
bm9kZS0+b3AoKSA9PSBJbnZhbGlkYXRpb25Qb2ludCkKKyAgICAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAgICAgICAgIGlmICh3cml0ZXNPdmVybGFwKG1fZ3JhcGgsIG5vZGUsIFdhdGNo
cG9pbnRfZmlyZSkpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIH0KKyAgICAKICAgICB2b2lkIGVsaW1pbmF0ZUlycmVsZXZhbnRQ
aGFudG9tQ2hpbGRyZW4oTm9kZSogbm9kZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChub2RlLT5v
cCgpID09IFBoYW50b20pOwpAQCAtMTM4NSw5ICsxMzk5LDEzIEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICBlbGltaW5hdGUocHV0QnlPZmZzZXRTdG9yZUVsaW1pbmF0aW9uKG1fZ3JhcGgubV9zdG9y
YWdlQWNjZXNzRGF0YVtub2RlLT5zdG9yYWdlQWNjZXNzRGF0YUluZGV4KCldLmlkZW50aWZpZXJO
dW1iZXIsIG5vZGUtPmNoaWxkMSgpLm5vZGUoKSkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICAKKyAgICAgICAgY2FzZSBJbnZhbGlkYXRpb25Qb2ludDoKKyAgICAgICAgICAgIGlm
IChpbnZhbGlkYXRpb25Qb2ludEVsaW1pbmF0aW9uKCkpCisgICAgICAgICAgICAgICAgZWxpbWlu
YXRlKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIAogICAgICAgICBjYXNlIFBo
YW50b206CiAgICAgICAgICAgICAvLyBGSVhNRTogd2Ugb3VnaHQgdG8gcmVtb3ZlIFBoYW50b20n
cyB0aGF0IGhhdmUgbm8gY2hpbGRyZW4uCi0gICAgICAgICAgICAKICAgICAgICAgICAgIGVsaW1p
bmF0ZUlycmVsZXZhbnRQaGFudG9tQ2hpbGRyZW4obm9kZSk7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRp
ZXMuY3BwCmluZGV4IGU2ZmNkOGMxMWM4YmIwMTU3NDRjNjk2ZTlmMjQzZWE4NTI0Y2Y1YmEuLmQx
YmViOTMxMjQ1OGI1MjliODg4YjFjMTllZmU1Y2NiYzZiMTRiZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKQEAgLTE5OCw2ICsxOTgsOCBAQCBD
YXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxv
Y2sqIGNvZGVCbG9jaywgSW5zdHJ1YwogICAgIGNhc2Ugb3BfY2FsbF92YXJhcmdzOgogICAgICAg
ICBpZiAoY29kZUJsb2NrLT51c2VzQXJndW1lbnRzKCkgJiYgcGNbNF0udS5vcGVyYW5kID09IGNv
ZGVCbG9jay0+YXJndW1lbnRzUmVnaXN0ZXIoKS5vZmZzZXQoKSkKICAgICAgICAgICAgIHJldHVy
biBDYW5JbmxpbmU7CisgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaGFuZGxlIHRoaXMuCisg
ICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2MjYK
ICAgICAgICAgcmV0dXJuIENhbm5vdENvbXBpbGU7CiAKICAgICBjYXNlIG9wX25ld19yZWdleHA6
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmgKaW5kZXggNWJk
ODBjNTE3Y2E0OGYwOTU3OTgyMzQwNDRhMTY4NTY1YTNkNTRlYy4uM2NiOTI0NzIyMDEyNThlZjk4
MWJjZWRmMzYyNzQxZGE2MmMwN2QwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdDYXBhYmlsaXRpZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0NhcGFiaWxpdGllcy5oCkBAIC05NiwxOSArOTYsMjggQEAgaW5saW5lIENhcGFiaWxpdHlMZXZl
bCBmdW5jdGlvbkZvckNvbnN0cnVjdENhcGFiaWxpdHlMZXZlbChDb2RlQmxvY2sqIGNvZGVCbG9j
aykKICAgICByZXR1cm4gY2FwYWJpbGl0eUxldmVsKGNvZGVCbG9jayk7CiB9CiAKLWlubGluZSBi
b29sIGNhbklubGluZUZ1bmN0aW9uRm9yQ2FsbChDb2RlQmxvY2sqIGNvZGVCbG9jaykKK2lubGlu
ZSBDYXBhYmlsaXR5TGV2ZWwgaW5saW5lRnVuY3Rpb25Gb3JDYWxsQ2FwYWJpbGl0eUxldmVsKENv
ZGVCbG9jayogY29kZUJsb2NrKQogewotICAgIHJldHVybiBtaWdodElubGluZUZ1bmN0aW9uRm9y
Q2FsbChjb2RlQmxvY2spICYmIGNhbklubGluZShjYXBhYmlsaXR5TGV2ZWwoY29kZUJsb2NrKSk7
CisgICAgaWYgKCFtaWdodElubGluZUZ1bmN0aW9uRm9yQ2FsbChjb2RlQmxvY2spKQorICAgICAg
ICByZXR1cm4gQ2Fubm90Q29tcGlsZTsKKyAgICAKKyAgICByZXR1cm4gY2FwYWJpbGl0eUxldmVs
KGNvZGVCbG9jayk7CiB9CiAKLWlubGluZSBib29sIGNhbklubGluZUZ1bmN0aW9uRm9yQ2xvc3Vy
ZUNhbGwoQ29kZUJsb2NrKiBjb2RlQmxvY2spCitpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGlubGlu
ZUZ1bmN0aW9uRm9yQ2xvc3VyZUNhbGxDYXBhYmlsaXR5TGV2ZWwoQ29kZUJsb2NrKiBjb2RlQmxv
Y2spCiB7Ci0gICAgcmV0dXJuIG1pZ2h0SW5saW5lRnVuY3Rpb25Gb3JDbG9zdXJlQ2FsbChjb2Rl
QmxvY2spICYmIGNhbklubGluZShjYXBhYmlsaXR5TGV2ZWwoY29kZUJsb2NrKSk7CisgICAgaWYg
KCFtaWdodElubGluZUZ1bmN0aW9uRm9yQ2xvc3VyZUNhbGwoY29kZUJsb2NrKSkKKyAgICAgICAg
cmV0dXJuIENhbm5vdENvbXBpbGU7CisgICAgCisgICAgcmV0dXJuIGNhcGFiaWxpdHlMZXZlbChj
b2RlQmxvY2spOwogfQogCi1pbmxpbmUgYm9vbCBjYW5JbmxpbmVGdW5jdGlvbkZvckNvbnN0cnVj
dChDb2RlQmxvY2sqIGNvZGVCbG9jaykKK2lubGluZSBDYXBhYmlsaXR5TGV2ZWwgaW5saW5lRnVu
Y3Rpb25Gb3JDb25zdHJ1Y3RDYXBhYmlsaXR5TGV2ZWwoQ29kZUJsb2NrKiBjb2RlQmxvY2spCiB7
Ci0gICAgcmV0dXJuIG1pZ2h0SW5saW5lRnVuY3Rpb25Gb3JDb25zdHJ1Y3QoY29kZUJsb2NrKSAm
JiBjYW5JbmxpbmUoY2FwYWJpbGl0eUxldmVsKGNvZGVCbG9jaykpOworICAgIGlmICghbWlnaHRJ
bmxpbmVGdW5jdGlvbkZvckNvbnN0cnVjdChjb2RlQmxvY2spKQorICAgICAgICByZXR1cm4gQ2Fu
bm90Q29tcGlsZTsKKyAgICAKKyAgICByZXR1cm4gY2FwYWJpbGl0eUxldmVsKGNvZGVCbG9jayk7
CiB9CiAKIGlubGluZSBib29sIG1pZ2h0SW5saW5lRnVuY3Rpb25Gb3IoQ29kZUJsb2NrKiBjb2Rl
QmxvY2ssIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkKQEAgLTEyNCwxNiArMTMzLDE2IEBA
IGlubGluZSBib29sIG1pZ2h0SW5saW5lRnVuY3Rpb24oQ29kZUJsb2NrKiBjb2RlQmxvY2spCiAg
ICAgcmV0dXJuIG1pZ2h0SW5saW5lRnVuY3Rpb25Gb3IoY29kZUJsb2NrLCBjb2RlQmxvY2stPnNw
ZWNpYWxpemF0aW9uS2luZCgpKTsKIH0KIAotaW5saW5lIGJvb2wgY2FuSW5saW5lRnVuY3Rpb25G
b3IoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCwgYm9v
bCBpc0Nsb3N1cmVDYWxsKQoraW5saW5lIENhcGFiaWxpdHlMZXZlbCBpbmxpbmVGdW5jdGlvbkZv
ckNhcGFiaWxpdHlMZXZlbChDb2RlQmxvY2sqIGNvZGVCbG9jaywgQ29kZVNwZWNpYWxpemF0aW9u
S2luZCBraW5kLCBib29sIGlzQ2xvc3VyZUNhbGwpCiB7CiAgICAgaWYgKGlzQ2xvc3VyZUNhbGwp
IHsKICAgICAgICAgQVNTRVJUKGtpbmQgPT0gQ29kZUZvckNhbGwpOwotICAgICAgICByZXR1cm4g
Y2FuSW5saW5lRnVuY3Rpb25Gb3JDbG9zdXJlQ2FsbChjb2RlQmxvY2spOworICAgICAgICByZXR1
cm4gaW5saW5lRnVuY3Rpb25Gb3JDbG9zdXJlQ2FsbENhcGFiaWxpdHlMZXZlbChjb2RlQmxvY2sp
OwogICAgIH0KICAgICBpZiAoa2luZCA9PSBDb2RlRm9yQ2FsbCkKLSAgICAgICAgcmV0dXJuIGNh
bklubGluZUZ1bmN0aW9uRm9yQ2FsbChjb2RlQmxvY2spOworICAgICAgICByZXR1cm4gaW5saW5l
RnVuY3Rpb25Gb3JDYWxsQ2FwYWJpbGl0eUxldmVsKGNvZGVCbG9jayk7CiAgICAgQVNTRVJUKGtp
bmQgPT0gQ29kZUZvckNvbnN0cnVjdCk7Ci0gICAgcmV0dXJuIGNhbklubGluZUZ1bmN0aW9uRm9y
Q29uc3RydWN0KGNvZGVCbG9jayk7CisgICAgcmV0dXJuIGlubGluZUZ1bmN0aW9uRm9yQ29uc3Ry
dWN0Q2FwYWJpbGl0eUxldmVsKGNvZGVCbG9jayk7CiB9CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlND
OjpERkcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbi5oCmluZGV4IDdiNGIxZGI1ZjA4
ZTdjNDljNGY2N2NlMmY0N2IzNTM3ZGY0ZTEyZWIuLmU5ZWFjYmQ1YzRiOWEyZDM3NDFkN2U5ODhh
NDNiOTRiZDBlMmY2ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Q29tbW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24uaApAQCAt
ODcsMTUgKzg3LDYgQEAgaW5saW5lIGJvb2wgdmFsaWRhdGlvbkVuYWJsZWQoKQogI2VuZGlmCiB9
CiAKLWlubGluZSBib29sIGVuYWJsZUNvbmN1cnJlbnRKSVQoKQotewotI2lmIEVOQUJMRShDT05D
VVJSRU5UX0pJVCkKLSAgICByZXR1cm4gT3B0aW9uczo6ZW5hYmxlQ29uY3VycmVudEpJVCgpICYm
IE9wdGlvbnM6Om51bWJlck9mQ29tcGlsZXJUaHJlYWRzKCk7Ci0jZWxzZQotICAgIHJldHVybiBm
YWxzZTsKLSNlbmRpZgotfQotCiBpbmxpbmUgYm9vbCBlbmFibGVJbnQ1MigpCiB7CiAjaWYgVVNF
KEpTVkFMVUU2NCkKQEAgLTIzNSw3ICsyMjYsMTMgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFj
ZSBERkcgewogCiAvLyBQdXQgdGhpbmdzIGhlcmUgdGhhdCBtdXN0IGJlIGRlZmluZWQgZXZlbiBp
ZiBFTkFCTEUoREZHX0pJVCkgaXMgZmFsc2UuCiAKLWVudW0gQ2FwYWJpbGl0eUxldmVsIHsgQ2Fu
bm90Q29tcGlsZSwgQ2FuSW5saW5lLCBDYW5Db21waWxlLCBDYW5Db21waWxlQW5kSW5saW5lLCBD
YXBhYmlsaXR5TGV2ZWxOb3RTZXQgfTsKK2VudW0gQ2FwYWJpbGl0eUxldmVsIHsKKyAgICBDYW5u
b3RDb21waWxlLAorICAgIENhbklubGluZSwKKyAgICBDYW5Db21waWxlLAorICAgIENhbkNvbXBp
bGVBbmRJbmxpbmUsCisgICAgQ2FwYWJpbGl0eUxldmVsTm90U2V0Cit9OwogCiBpbmxpbmUgYm9v
bCBjYW5Db21waWxlKENhcGFiaWxpdHlMZXZlbCBsZXZlbCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tcGlsYXRpb25Nb2RlLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0NvbXBpbGF0aW9uTW9kZS5oCmluZGV4IDEwMzVmNjBiYzlkOWZiYjAy
MmEwNTIzN2U4N2U2OGU5Y2I4NGRhNDUuLjJkNmU0OWFkNTgzZTIxYmUwOGE3YzZhNzUwNWFmNmFj
MWU2NmI4NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tcGls
YXRpb25Nb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21waWxhdGlv
bk1vZGUuaApAQCAtMzcsNiArMzcsMTcgQEAgZW51bSBDb21waWxhdGlvbk1vZGUgewogICAgIEZU
TEZvck9TUkVudHJ5TW9kZQogfTsKIAoraW5saW5lIGJvb2wgaXNGVEwoQ29tcGlsYXRpb25Nb2Rl
IG1vZGUpCit7CisgICAgc3dpdGNoIChtb2RlKSB7CisgICAgY2FzZSBGVExNb2RlOgorICAgIGNh
c2UgRlRMRm9yT1NSRW50cnlNb2RlOgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBkZWZhdWx0
OgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCiB9IH0gLy8gbmFtZXNwYWNlIEpT
Qzo6REZHCiAKIG5hbWVzcGFjZSBXVEYgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdEcml2ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2
ZXIuY3BwCmluZGV4IGE4MWY3ZjJmOTZlOTljODA4ZGQ1NmI1NWY4NzRjMTk3NmE0YzZkMTMuLjVk
MjdjMTAxYjkzZTZkZTE1MjFkYWMxNjI5YTNjYjFlZjY1ZTYzOTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRHJpdmVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0RyaXZlci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDExLCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU1LDkgKzU1
LDkgQEAgdW5zaWduZWQgZ2V0TnVtQ29tcGlsYXRpb25zKCkKIAogI2lmIEVOQUJMRShERkdfSklU
KQogc3RhdGljIENvbXBpbGF0aW9uUmVzdWx0IGNvbXBpbGVJbXBsKAotICAgIFZNJiB2bSwgQ29k
ZUJsb2NrKiBjb2RlQmxvY2ssIENvbXBpbGF0aW9uTW9kZSBtb2RlLCB1bnNpZ25lZCBvc3JFbnRy
eUJ5dGVjb2RlSW5kZXgsCi0gICAgY29uc3QgT3BlcmFuZHM8SlNWYWx1ZT4mIG11c3RIYW5kbGVW
YWx1ZXMsCi0gICAgUGFzc1JlZlB0cjxEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s+IGNhbGxi
YWNrLCBXb3JrbGlzdCogd29ya2xpc3QpCisgICAgVk0mIHZtLCBDb2RlQmxvY2sqIGNvZGVCbG9j
aywgQ29kZUJsb2NrKiBwcm9maWxlZERGR0NvZGVCbG9jaywgQ29tcGlsYXRpb25Nb2RlIG1vZGUs
CisgICAgdW5zaWduZWQgb3NyRW50cnlCeXRlY29kZUluZGV4LCBjb25zdCBPcGVyYW5kczxKU1Zh
bHVlPiYgbXVzdEhhbmRsZVZhbHVlcywKKyAgICBQYXNzUmVmUHRyPERlZmVycmVkQ29tcGlsYXRp
b25DYWxsYmFjaz4gY2FsbGJhY2spCiB7CiAgICAgU2FtcGxpbmdSZWdpb24gc2FtcGxpbmdSZWdp
b24oIkRGRyBDb21waWxhdGlvbiAoRHJpdmVyKSIpOwogICAgIApAQCAtNjYsNiArNjYsNyBAQCBz
dGF0aWMgQ29tcGlsYXRpb25SZXN1bHQgY29tcGlsZUltcGwoCiAgICAgQVNTRVJUKGNvZGVCbG9j
ayk7CiAgICAgQVNTRVJUKGNvZGVCbG9jay0+YWx0ZXJuYXRpdmUoKSk7CiAgICAgQVNTRVJUKGNv
ZGVCbG9jay0+YWx0ZXJuYXRpdmUoKS0+aml0VHlwZSgpID09IEpJVENvZGU6OkJhc2VsaW5lSklU
KTsKKyAgICBBU1NFUlQoIXByb2ZpbGVkREZHQ29kZUJsb2NrIHx8IHByb2ZpbGVkREZHQ29kZUJs
b2NrLT5qaXRUeXBlKCkgPT0gSklUQ29kZTo6REZHSklUKTsKICAgICAKICAgICBpZiAoIU9wdGlv
bnM6OnVzZURGR0pJVCgpIHx8ICFNYWNyb0Fzc2VtYmxlcjo6c3VwcG9ydHNGbG9hdGluZ1BvaW50
KCkpCiAgICAgICAgIHJldHVybiBDb21waWxhdGlvbkZhaWxlZDsKQEAgLTgwLDE2ICs4MSwzMSBA
QCBzdGF0aWMgQ29tcGlsYXRpb25SZXN1bHQgY29tcGlsZUltcGwoCiAgICAgLy8gbWFrZSBzdXJl
IHRoYXQgYWxsIEpJVCBjb2RlIGdlbmVyYXRpb24gZG9lcyBmaW5hbGl6YXRpb24gb24gdGhlIG1h
aW4gdGhyZWFkLgogICAgIHZtLmdldENUSVN0dWIob3NyRXhpdEdlbmVyYXRpb25UaHVua0dlbmVy
YXRvcik7CiAgICAgdm0uZ2V0Q1RJU3R1Yih0aHJvd0V4Y2VwdGlvbkZyb21DYWxsU2xvd1BhdGhH
ZW5lcmF0b3IpOwotICAgIHZtLmdldENUSVN0dWIobGlua0NhbGxUaHVua0dlbmVyYXRvcik7Ci0g
ICAgdm0uZ2V0Q1RJU3R1YihsaW5rQ29uc3RydWN0VGh1bmtHZW5lcmF0b3IpOwotICAgIHZtLmdl
dENUSVN0dWIobGlua0Nsb3N1cmVDYWxsVGh1bmtHZW5lcmF0b3IpOwotICAgIHZtLmdldENUSVN0
dWIodmlydHVhbENhbGxUaHVua0dlbmVyYXRvcik7Ci0gICAgdm0uZ2V0Q1RJU3R1Yih2aXJ0dWFs
Q29uc3RydWN0VGh1bmtHZW5lcmF0b3IpOworICAgIGlmIChtb2RlID09IERGR01vZGUpIHsKKyAg
ICAgICAgdm0uZ2V0Q1RJU3R1YihsaW5rQ2FsbFRodW5rR2VuZXJhdG9yKTsKKyAgICAgICAgdm0u
Z2V0Q1RJU3R1YihsaW5rQ29uc3RydWN0VGh1bmtHZW5lcmF0b3IpOworICAgICAgICB2bS5nZXRD
VElTdHViKGxpbmtDbG9zdXJlQ2FsbFRodW5rR2VuZXJhdG9yKTsKKyAgICAgICAgdm0uZ2V0Q1RJ
U3R1Yih2aXJ0dWFsQ2FsbFRodW5rR2VuZXJhdG9yKTsKKyAgICAgICAgdm0uZ2V0Q1RJU3R1Yih2
aXJ0dWFsQ29uc3RydWN0VGh1bmtHZW5lcmF0b3IpOworICAgIH0gZWxzZSB7CisgICAgICAgIHZt
LmdldENUSVN0dWIobGlua0NhbGxUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9yKTsKKyAg
ICAgICAgdm0uZ2V0Q1RJU3R1YihsaW5rQ29uc3RydWN0VGhhdFByZXNlcnZlc1JlZ3NUaHVua0dl
bmVyYXRvcik7CisgICAgICAgIHZtLmdldENUSVN0dWIobGlua0Nsb3N1cmVDYWxsVGhhdFByZXNl
cnZlc1JlZ3NUaHVua0dlbmVyYXRvcik7CisgICAgICAgIHZtLmdldENUSVN0dWIodmlydHVhbENh
bGxUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9yKTsKKyAgICAgICAgdm0uZ2V0Q1RJU3R1
Yih2aXJ0dWFsQ29uc3RydWN0VGhhdFByZXNlcnZlc1JlZ3NUaHVua0dlbmVyYXRvcik7CisgICAg
fQogICAgIAogICAgIFJlZlB0cjxQbGFuPiBwbGFuID0gYWRvcHRSZWYoCi0gICAgICAgIG5ldyBQ
bGFuKGNvZGVCbG9jaywgbW9kZSwgb3NyRW50cnlCeXRlY29kZUluZGV4LCBtdXN0SGFuZGxlVmFs
dWVzKSk7CisgICAgICAgIG5ldyBQbGFuKGNvZGVCbG9jaywgcHJvZmlsZWRERkdDb2RlQmxvY2ss
IG1vZGUsIG9zckVudHJ5Qnl0ZWNvZGVJbmRleCwgbXVzdEhhbmRsZVZhbHVlcykpOwogICAgIAot
ICAgIGlmICh3b3JrbGlzdCkgeworICAgIGJvb2wgZW5hYmxlQ29uY3VycmVudEpJVDsKKyNpZiBF
TkFCTEUoQ09OQ1VSUkVOVF9KSVQpCisgICAgZW5hYmxlQ29uY3VycmVudEpJVCA9IE9wdGlvbnM6
OmVuYWJsZUNvbmN1cnJlbnRKSVQoKTsKKyNlbHNlIC8vIEVOQUJMRShDT05DVVJSRU5UX0pJVCkK
KyAgICBlbmFibGVDb25jdXJyZW50SklUID0gZmFsc2U7CisjZW5kaWYgLy8gRU5BQkxFKENPTkNV
UlJFTlRfSklUKQorICAgIGlmIChlbmFibGVDb25jdXJyZW50SklUKSB7CisgICAgICAgIFdvcmts
aXN0KiB3b3JrbGlzdCA9IGVuc3VyZUdsb2JhbFdvcmtsaXN0Rm9yKG1vZGUpOwogICAgICAgICBw
bGFuLT5jYWxsYmFjayA9IGNhbGxiYWNrOwogICAgICAgICBpZiAobG9nQ29tcGlsYXRpb25DaGFu
Z2VzKCkpCiAgICAgICAgICAgICBkYXRhTG9nKCJEZWZlcnJpbmcgREZHIGNvbXBpbGF0aW9uIG9m
ICIsICpjb2RlQmxvY2ssICIgd2l0aCBxdWV1ZSBsZW5ndGggIiwgd29ya2xpc3QtPnF1ZXVlTGVu
Z3RoKCksICIuXG4iKTsKQEAgLTEwMiwyMSArMTE4LDIyIEBAIHN0YXRpYyBDb21waWxhdGlvblJl
c3VsdCBjb21waWxlSW1wbCgKIH0KICNlbHNlIC8vIEVOQUJMRShERkdfSklUKQogc3RhdGljIENv
bXBpbGF0aW9uUmVzdWx0IGNvbXBpbGVJbXBsKAotICAgIFZNJiwgQ29kZUJsb2NrKiwgQ29tcGls
YXRpb25Nb2RlLCB1bnNpZ25lZCwgY29uc3QgT3BlcmFuZHM8SlNWYWx1ZT4mLAotICAgIFBhc3NS
ZWZQdHI8RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrPiwgV29ya2xpc3QqKQorICAgIFZNJiwg
Q29kZUJsb2NrKiwgQ29kZUJsb2NrKiwgQ29tcGlsYXRpb25Nb2RlLCB1bnNpZ25lZCwgY29uc3Qg
T3BlcmFuZHM8SlNWYWx1ZT4mLAorICAgIFBhc3NSZWZQdHI8RGVmZXJyZWRDb21waWxhdGlvbkNh
bGxiYWNrPikKIHsKICAgICByZXR1cm4gQ29tcGlsYXRpb25GYWlsZWQ7CiB9CiAjZW5kaWYgLy8g
RU5BQkxFKERGR19KSVQpCiAKIENvbXBpbGF0aW9uUmVzdWx0IGNvbXBpbGUoCi0gICAgVk0mIHZt
LCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgQ29tcGlsYXRpb25Nb2RlIG1vZGUsIHVuc2lnbmVkIG9z
ckVudHJ5Qnl0ZWNvZGVJbmRleCwKLSAgICBjb25zdCBPcGVyYW5kczxKU1ZhbHVlPiYgbXVzdEhh
bmRsZVZhbHVlcywKLSAgICBQYXNzUmVmUHRyPERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjaz4g
cGFzc2VkQ2FsbGJhY2ssIFdvcmtsaXN0KiB3b3JrbGlzdCkKKyAgICBWTSYgdm0sIENvZGVCbG9j
ayogY29kZUJsb2NrLCBDb2RlQmxvY2sqIHByb2ZpbGVkREZHQ29kZUJsb2NrLCBDb21waWxhdGlv
bk1vZGUgbW9kZSwKKyAgICB1bnNpZ25lZCBvc3JFbnRyeUJ5dGVjb2RlSW5kZXgsIGNvbnN0IE9w
ZXJhbmRzPEpTVmFsdWU+JiBtdXN0SGFuZGxlVmFsdWVzLAorICAgIFBhc3NSZWZQdHI8RGVmZXJy
ZWRDb21waWxhdGlvbkNhbGxiYWNrPiBwYXNzZWRDYWxsYmFjaykKIHsKICAgICBSZWZQdHI8RGVm
ZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrPiBjYWxsYmFjayA9IHBhc3NlZENhbGxiYWNrOwogICAg
IENvbXBpbGF0aW9uUmVzdWx0IHJlc3VsdCA9IGNvbXBpbGVJbXBsKAotICAgICAgICB2bSwgY29k
ZUJsb2NrLCBtb2RlLCBvc3JFbnRyeUJ5dGVjb2RlSW5kZXgsIG11c3RIYW5kbGVWYWx1ZXMsIGNh
bGxiYWNrLCB3b3JrbGlzdCk7CisgICAgICAgIHZtLCBjb2RlQmxvY2ssIHByb2ZpbGVkREZHQ29k
ZUJsb2NrLCBtb2RlLCBvc3JFbnRyeUJ5dGVjb2RlSW5kZXgsIG11c3RIYW5kbGVWYWx1ZXMsCisg
ICAgICAgIGNhbGxiYWNrKTsKICAgICBpZiAocmVzdWx0ICE9IENvbXBpbGF0aW9uRGVmZXJyZWQp
CiAgICAgICAgIGNhbGxiYWNrLT5jb21waWxhdGlvbkRpZENvbXBsZXRlKGNvZGVCbG9jaywgcmVz
dWx0KTsKICAgICByZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdEcml2ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRHJpdmVy
LmgKaW5kZXggOWQ0MzYzOGRmNzAwY2JlODM4YWU1NmJhNGVkMzc1Y2Q1YzVlNDExMC4uYzk2Yjhk
YzY2NTc5MDk2NjEzMTExZmYxN2YyOThjYTc3Yzg3NDJkYyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdEcml2ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0RyaXZlci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MSwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00MCwxNiArNDAsMTQgQEAgY2xhc3MgVk07CiAK
IG5hbWVzcGFjZSBERkcgewogCi1jbGFzcyBXb3JrbGlzdDsKLQogSlNfRVhQT1JUX1BSSVZBVEUg
dW5zaWduZWQgZ2V0TnVtQ29tcGlsYXRpb25zKCk7CiAKIC8vIElmIHRoZSB3b3JrbGlzdCBpcyBu
b24tbnVsbCwgd2UgZG8gYSBjb25jdXJyZW50IGNvbXBpbGUuIE90aGVyd2lzZSB3ZSBkbyBhIHN5
bmNocm9ub3VzCiAvLyBjb21waWxlLiBFdmVuIGlmIHdlIGRvIGEgc3luY2hyb25vdXMgY29tcGls
ZSwgd2UgY2FsbCB0aGUgY2FsbGJhY2sgd2l0aCB0aGUgcmVzdWx0LgogQ29tcGlsYXRpb25SZXN1
bHQgY29tcGlsZSgKLSAgICBWTSYsIENvZGVCbG9jayosIENvbXBpbGF0aW9uTW9kZSwgdW5zaWdu
ZWQgb3NyRW50cnlCeXRlY29kZUluZGV4LAotICAgIGNvbnN0IE9wZXJhbmRzPEpTVmFsdWU+JiBt
dXN0SGFuZGxlVmFsdWVzLAotICAgIFBhc3NSZWZQdHI8RGVmZXJyZWRDb21waWxhdGlvbkNhbGxi
YWNrPiwgV29ya2xpc3QqKTsKKyAgICBWTSYsIENvZGVCbG9jayosIENvZGVCbG9jayogcHJvZmls
ZWRERkdDb2RlQmxvY2ssIENvbXBpbGF0aW9uTW9kZSwKKyAgICB1bnNpZ25lZCBvc3JFbnRyeUJ5
dGVjb2RlSW5kZXgsIGNvbnN0IE9wZXJhbmRzPEpTVmFsdWU+JiBtdXN0SGFuZGxlVmFsdWVzLAor
ICAgIFBhc3NSZWZQdHI8RGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrPik7CiAKIH0gfSAvLyBu
YW1lc3BhY2UgSlNDOjpERkcKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdGYWlsZWRGaW5hbGl6ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdG
YWlsZWRGaW5hbGl6ZXIuY3BwCmluZGV4IGZiMDBlMjAyMWQzYWVhY2NjMTVkNjY5ODMwOTQyYzE1
YTEwMzViNDAuLjgwYTRjNjQ3MjE4NmVlYzUxZWMxYjg2YzNkZjdjMTA2MDg3MTEwYTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRmFpbGVkRmluYWxpemVyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZhaWxlZEZpbmFsaXplci5jcHAKQEAg
LTM5LDYgKzM5LDExIEBAIEZhaWxlZEZpbmFsaXplcjo6fkZhaWxlZEZpbmFsaXplcigpCiB7CiB9
CiAKK3NpemVfdCBGYWlsZWRGaW5hbGl6ZXI6OmNvZGVTaXplKCkKK3sKKyAgICByZXR1cm4gMDsK
K30KKwogYm9vbCBGYWlsZWRGaW5hbGl6ZXI6OmZpbmFsaXplKCkKIHsKICAgICByZXR1cm4gZmFs
c2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZhaWxlZEZpbmFs
aXplci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGYWlsZWRGaW5hbGl6ZXIuaApp
bmRleCA2ZGY1YTMwYWRlMzQ5YjE3ZjVmMzFjZWEwZTE5MWRlZmE5ZWNhYWIyLi40NjQ4NmU3ZWQ3
YTEyZGEwN2UxN2U1ZTFjZGQxZTk4MWM5YzFlYTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0ZhaWxlZEZpbmFsaXplci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRmFpbGVkRmluYWxpemVyLmgKQEAgLTM5LDYgKzM5LDcgQEAgcHVibGljOgog
ICAgIEZhaWxlZEZpbmFsaXplcihQbGFuJik7CiAgICAgdmlydHVhbCB+RmFpbGVkRmluYWxpemVy
KCk7CiAgICAgCisgICAgdmlydHVhbCBzaXplX3QgY29kZVNpemUoKSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIGJvb2wgZmluYWxpemUoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgZmluYWxp
emVGdW5jdGlvbigpIG92ZXJyaWRlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRmluYWxpemVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Zp
bmFsaXplci5oCmluZGV4IDc4MmM3NDRiMWY2YzliYjcxY2U4ZTljOWI0ZjE1MDZjM2ExMjRkNWQu
LjgyYmMwN2RmNWI0OTE5MjVlZTdkNzg1N2RlNDRlZTQwNmY2YmUyNTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRmluYWxpemVyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdGaW5hbGl6ZXIuaApAQCAtNDYsNiArNDYsNyBAQCBwdWJsaWM6CiAg
ICAgRmluYWxpemVyKFBsYW4mKTsKICAgICB2aXJ0dWFsIH5GaW5hbGl6ZXIoKTsKICAgICAKKyAg
ICB2aXJ0dWFsIHNpemVfdCBjb2RlU2l6ZSgpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgZmluYWxp
emUoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGZpbmFsaXplRnVuY3Rpb24oKSA9IDA7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCmluZGV4IDE4NWYwMzU5
MTIxMjk0ZTBiZTVjOGViNDg3Mzg5NjQwMGVmYzg1MTIuLjBlYzEzMTk3MTQ4YTY0YWRiNzEyNTcx
MDFhNzM3MzNhNGFkOTZjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1
cFBoYXNlLmNwcApAQCAtMTAwLDEyICsxMDAsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBC
aXRSU2hpZnQ6CiAgICAgICAgIGNhc2UgQml0TFNoaWZ0OgogICAgICAgICBjYXNlIEJpdFVSU2hp
ZnQ6IHsKLSAgICAgICAgICAgIGZpeEJpbmFyeUludEVkZ2VzKCk7CisgICAgICAgICAgICBmaXhJ
bnRFZGdlKG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgICAgIGZpeEludEVkZ2Uobm9kZS0+Y2hp
bGQyKCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAogICAgICAgICBjYXNlIEFy
aXRoSU11bDogewotICAgICAgICAgICAgZml4QmluYXJ5SW50RWRnZXMoKTsKKyAgICAgICAgICAg
IGZpeEludEVkZ2Uobm9kZS0+Y2hpbGQxKCkpOworICAgICAgICAgICAgZml4SW50RWRnZShub2Rl
LT5jaGlsZDIoKSk7CiAgICAgICAgICAgICBub2RlLT5zZXRPcChBcml0aE11bCk7CiAgICAgICAg
ICAgICBub2RlLT5zZXRBcml0aE1vZGUoQXJpdGg6OlVuY2hlY2tlZCk7CiAgICAgICAgICAgICBu
b2RlLT5jaGlsZDEoKS5zZXRVc2VLaW5kKEludDMyVXNlKTsKQEAgLTQ1MCw2ICs0NTIsNyBAQCBw
cml2YXRlOgogICAgICAgICBjYXNlIEdldEJ5VmFsOiB7CiAgICAgICAgICAgICBub2RlLT5zZXRB
cnJheU1vZGUoCiAgICAgICAgICAgICAgICAgbm9kZS0+YXJyYXlNb2RlKCkucmVmaW5lKAorICAg
ICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5jb2RlT3JpZ2luLAogICAgICAgICAgICAg
ICAgICAgICBub2RlLT5jaGlsZDEoKS0+cHJlZGljdGlvbigpLAogICAgICAgICAgICAgICAgICAg
ICBub2RlLT5jaGlsZDIoKS0+cHJlZGljdGlvbigpLAogICAgICAgICAgICAgICAgICAgICBTcGVj
Tm9uZSwgbm9kZS0+ZmxhZ3MoKSkpOwpAQCAtNTA3LDYgKzUxMCw3IEBAIHByaXZhdGU6CiAKICAg
ICAgICAgICAgIG5vZGUtPnNldEFycmF5TW9kZSgKICAgICAgICAgICAgICAgICBub2RlLT5hcnJh
eU1vZGUoKS5yZWZpbmUoCisgICAgICAgICAgICAgICAgICAgIG1fZ3JhcGgsIG5vZGUtPmNvZGVP
cmlnaW4sCiAgICAgICAgICAgICAgICAgICAgIGNoaWxkMS0+cHJlZGljdGlvbigpLAogICAgICAg
ICAgICAgICAgICAgICBjaGlsZDItPnByZWRpY3Rpb24oKSwKICAgICAgICAgICAgICAgICAgICAg
Y2hpbGQzLT5wcmVkaWN0aW9uKCkpKTsKQEAgLTU5Miw2ICs1OTYsNyBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgLy8gdGhhdCB3b3VsZCBicmVhayB0aGluZ3MuCiAgICAgICAgICAgICBub2RlLT5z
ZXRBcnJheU1vZGUoCiAgICAgICAgICAgICAgICAgbm9kZS0+YXJyYXlNb2RlKCkucmVmaW5lKAor
ICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLCBub2RlLT5jb2RlT3JpZ2luLAogICAgICAgICAg
ICAgICAgICAgICBub2RlLT5jaGlsZDEoKS0+cHJlZGljdGlvbigpICYgU3BlY0NlbGwsCiAgICAg
ICAgICAgICAgICAgICAgIFNwZWNJbnQzMiwKICAgICAgICAgICAgICAgICAgICAgbm9kZS0+Y2hp
bGQyKCktPnByZWRpY3Rpb24oKSkpOwpAQCAtOTQ2LDcgKzk1MSw2IEBAIHByaXZhdGU6CiAgICAg
ICAgICAgICAgICAgT3BJbmZvKG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPmNvZGVPcmln
aW4pKSk7CiAgICAgICAgICAgICBOb2RlKiBiYXJyaWVyTm9kZSA9IG1fZ3JhcGguYWRkTm9kZShT
cGVjTm9uZSwgQ29uZGl0aW9uYWxTdG9yZUJhcnJpZXIsIG1fY3VycmVudE5vZGUtPmNvZGVPcmln
aW4sIAogICAgICAgICAgICAgICAgIEVkZ2UoZ2xvYmFsT2JqZWN0Tm9kZSwgS25vd25DZWxsVXNl
KSwgRWRnZShub2RlLT5jaGlsZDEoKS5ub2RlKCksIFVudHlwZWRVc2UpKTsKLSAgICAgICAgICAg
IGZpeHVwTm9kZShiYXJyaWVyTm9kZSk7CiAgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNl
cnQobV9pbmRleEluQmxvY2ssIGJhcnJpZXJOb2RlKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CkBAIC05NTQsNyArOTU4LDYgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBUZWFyT2Zm
QWN0aXZhdGlvbjogewogICAgICAgICAgICAgTm9kZSogYmFycmllck5vZGUgPSBtX2dyYXBoLmFk
ZE5vZGUoU3BlY05vbmUsIFN0b3JlQmFycmllcldpdGhOdWxsQ2hlY2ssIG1fY3VycmVudE5vZGUt
PmNvZGVPcmlnaW4sIAogICAgICAgICAgICAgICAgIEVkZ2Uobm9kZS0+Y2hpbGQxKCkubm9kZSgp
LCBVbnR5cGVkVXNlKSk7Ci0gICAgICAgICAgICBmaXh1cE5vZGUoYmFycmllck5vZGUpOwogICAg
ICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0KG1faW5kZXhJbkJsb2NrLCBiYXJyaWVyTm9k
ZSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMTAzNCw2ICsxMDM3LDI0IEBA
IHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBpZiAoIW5vZGUtPmNvbnRhaW5zTW92SGludCgp
KQogICAgICAgICAgICAgREZHX05PREVfRE9fVE9fQ0hJTERSRU4obV9ncmFwaCwgbm9kZSwgb2Jz
ZXJ2ZVVudHlwZWRFZGdlKTsKKyAgICAgICAgCisgICAgICAgIGlmIChub2RlLT5pc1Rlcm1pbmFs
KCkpIHsKKyAgICAgICAgICAgIC8vIFRlcm1pbmFsIG5vZGVzIGRvbid0IG5lZWQgcG9zdC1waGFu
dG9tcywgYW5kIGluc2VydGluZyB0aGVtIHdvdWxkIHZpb2xhdGUKKyAgICAgICAgICAgIC8vIHRo
ZSBjdXJyZW50IHJlcXVpcmVtZW50IHRoYXQgYSB0ZXJtaW5hbCBpcyB0aGUgbGFzdCB0aGluZyBp
biBhIGJsb2NrLiBXZQorICAgICAgICAgICAgLy8gc2hvdWxkIGV2ZW50dWFsbHkgY2hhbmdlIHRo
YXQgcmVxdWlyZW1lbnQgYnV0IGV2ZW4gaWYgd2UgZGlkLCB0aGlzIHdvdWxkCisgICAgICAgICAg
ICAvLyBzdGlsbCBiZSBhIHZhbGlkIG9wdGltaXphdGlvbi4gQWxsIHRlcm1pbmFscyBhY2NlcHQg
anVzdCBvbmUgaW5wdXQsIGFuZAorICAgICAgICAgICAgLy8gaWYgdGhhdCBpbnB1dCBpcyBhIGNv
bnZlcnNpb24gbm9kZSB0aGVuIG5vIGZ1cnRoZXIgc3BlY3VsYXRpb25zIHdpbGwgYmUKKyAgICAg
ICAgICAgIC8vIHBlcmZvcm1lZC4KKyAgICAgICAgICAgIC8vIEZJWE1FOiBHZXQgcmlkIG9mIHRo
aXMgYnkgYWxsb3dpbmcgUGhhbnRvbXMgYWZ0ZXIgdGVybWluYWxzLgorICAgICAgICAgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjc3OAorICAgICAgICAg
ICAgbV9yZXF1aXJlZFBoYW50b21zLnJlc2l6ZSgwKTsKKyAgICAgICAgLy8gU2luY2UgU3RvcmVC
YXJyaWVycyBhcmUgcmVjdXJzaXZlbHkgZml4ZWQgdXAgc28gdGhhdCB0aGVpciBjaGlsZHJlbiBs
b29rIAorICAgICAgICAvLyBpZGVudGljYWwgdG8gdGhhdCBvZiB0aGUgbm9kZSB0aGV5J3JlIGJh
cnJpZXItaW5nLCB3ZSBuZWVkIHRvIGF2b2lkIGFkZGluZworICAgICAgICAvLyBhbnkgUGhhbnRv
bXMgd2hlbiBwcm9jZXNzaW5nIHRoZW0gYmVjYXVzZSB0aGlzIHdvdWxkIGludmFsaWRhdGUgdGhl
IAorICAgICAgICAvLyBJbnNlcnRpb25TZXQncyBpbnZhcmlhbnQgb2YgaW5zZXJ0aW5nIHRoaW5n
cyBpbiBhIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZworICAgICAgICAvLyBvcmRlci4gVGhpcyBz
aG91bGQgYmUgb2theSBhbnl3YXlzIGJlY2F1c2UgU3RvcmVCYXJyaWVycyBjYW4ndCBleGl0LiAK
KyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBhZGRQaGFudG9tc0lmTmVjZXNzYXJ5KCk7CiAg
ICAgfQogICAgIAogICAgIHZvaWQgb2JzZXJ2ZVVudHlwZWRFZGdlKE5vZGUqLCBFZGdlJiBlZGdl
KQpAQCAtMTMxOSw2ICsxMzQwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgfQorICAgICAgICAgICAgYWRkUGhhbnRvbXNJZk5lY2Vzc2FyeSgpOwogICAgICAgICB9CiAg
ICAgICAgIG1faW5zZXJ0aW9uU2V0LmV4ZWN1dGUoYmxvY2spOwogICAgIH0KQEAgLTEzMzQsOCAr
MTM1NiwxMCBAQCBwcml2YXRlOgogICAgICAgICAgICAgaWYgKG5vZGUtPm9wKCkgIT0gU2V0TG9j
YWwpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAKLSAgICAgICAgICAg
IGlmIChub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkKKyAgICAgICAgICAg
IGlmIChub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50eXBlZFVzZSkgewogICAgICAgICAg
ICAgICAgIGZpeEVkZ2U8VW50eXBlZFVzZT4obm9kZS0+Y2hpbGQxKCkpOworICAgICAgICAgICAg
ICAgIGFkZFBoYW50b21zSWZOZWNlc3NhcnkoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQog
ICAgICAgICBtX2luc2VydGlvblNldC5leGVjdXRlKGJsb2NrKTsKICAgICB9CkBAIC0xNTA5LDYg
KzE1MzMsNyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIC8vIEludDhUb0RvdWJsZSB3aWxs
IGNvbnZlcnQgaW50NTIncyB0aGF0IGZpdCBpbiBhbiBpbnQzMiBpbnRvIGEgZG91YmxlCiAgICAg
ICAgICAgICAgICAgLy8gcmF0aGVyIHRoYW4gdHJ5aW5nIHRvIGNyZWF0ZSBhIGJveGVkIGludDMy
IGxpa2UgSW50NTJUb1ZhbHVlIGRvZXMuCiAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAg
ICAgbV9yZXF1aXJlZFBoYW50b21zLmFwcGVuZChlZGdlLm5vZGUoKSk7CiAgICAgICAgICAgICAg
ICAgTm9kZSogcmVzdWx0ID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKICAgICAgICAgICAg
ICAgICAgICAgbV9pbmRleEluQmxvY2ssIFNwZWNJbnQ1MkFzRG91YmxlLCBJbnQ1MlRvRG91Ymxl
LAogICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnROb2RlLT5jb2RlT3JpZ2luLCBFZGdlKGVk
Z2Uubm9kZSgpLCBOdW1iZXJVc2UpKTsKQEAgLTE1NjIsNiArMTU4Nyw3IEBAIHByaXZhdGU6CiAg
ICAgICAgICAgICAvLwogICAgICAgICAgICAgLy8gQnV0IHRoZSBzb2x1dGlvbiB3ZSB1c2UgaGFu
ZGxlcyB0aGUgYWJvdmUgZ3JhY2VmdWxseS4KICAgICAgICAgICAgIAorICAgICAgICAgICAgbV9y
ZXF1aXJlZFBoYW50b21zLmFwcGVuZChlZGdlLm5vZGUoKSk7CiAgICAgICAgICAgICBOb2RlKiBy
ZXN1bHQgPSBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAogICAgICAgICAgICAgICAgIG1faW5k
ZXhJbkJsb2NrLCBTcGVjSW50NTIsIEludDUyVG9WYWx1ZSwKICAgICAgICAgICAgICAgICBtX2N1
cnJlbnROb2RlLT5jb2RlT3JpZ2luLCBFZGdlKGVkZ2Uubm9kZSgpLCBVbnR5cGVkVXNlKSk7CkBA
IC0xNTgzLDE2ICsxNjA5LDE1IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBiYXJyaWVyTm9kZSA9
IG1fZ3JhcGguYWRkTm9kZShTcGVjTm9uZSwgQ29uZGl0aW9uYWxTdG9yZUJhcnJpZXIsIG1fY3Vy
cmVudE5vZGUtPmNvZGVPcmlnaW4sIAogICAgICAgICAgICAgICAgIEVkZ2UoY2hpbGQxLm5vZGUo
KSwgY2hpbGQxLnVzZUtpbmQoKSksIEVkZ2UoY2hpbGQyLm5vZGUoKSwgY2hpbGQyLnVzZUtpbmQo
KSkpOwogICAgICAgICB9Ci0gICAgICAgIGZpeHVwTm9kZShiYXJyaWVyTm9kZSk7CiAgICAgICAg
IG1faW5zZXJ0aW9uU2V0Lmluc2VydChpbmRleEluQmxvY2ssIGJhcnJpZXJOb2RlKTsKICAgICB9
CiAKLSAgICBib29sIGZpeEludEVkZ2UoRWRnZSYgZWRnZSkKKyAgICB2b2lkIGZpeEludEVkZ2Uo
RWRnZSYgZWRnZSkKICAgICB7CiAgICAgICAgIE5vZGUqIG5vZGUgPSBlZGdlLm5vZGUoKTsKICAg
ICAgICAgaWYgKG5vZGUtPnNob3VsZFNwZWN1bGF0ZUludDMyKCkpIHsKICAgICAgICAgICAgIGZp
eEVkZ2U8SW50MzJVc2U+KGVkZ2UpOwotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBVc2VLaW5kIHVzZUtp
bmQ7CkBAIC0xNjEwLDI0ICsxNjM1LDEzIEBAIHByaXZhdGU6CiAgICAgICAgIG9ic2VydmVVc2VL
aW5kT25Ob2RlKG5vZGUsIHVzZUtpbmQpOwogICAgICAgICAKICAgICAgICAgZWRnZSA9IEVkZ2Uo
bmV3Tm9kZSwgS25vd25JbnQzMlVzZSk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAg
ICAKLSAgICB2b2lkIGZpeEJpbmFyeUludEVkZ2VzKCkKLSAgICB7Ci0gICAgICAgIEFkamFjZW5j
eUxpc3QgY2hpbGRyZW4gPSBtX2N1cnJlbnROb2RlLT5jaGlsZHJlbjsKLSAgICAgICAgCi0gICAg
ICAgIC8vIENhbGwgZml4SW50RWRnZSgpIG9uIGJvdGggZWRnZXMuCi0gICAgICAgIGJvb2wgbmVl
ZFBoYW50b20gPQotICAgICAgICAgICAgZml4SW50RWRnZShtX2N1cnJlbnROb2RlLT5jaGlsZDEo
KSkgfCBmaXhJbnRFZGdlKG1fY3VycmVudE5vZGUtPmNoaWxkMigpKTsKLSAgICAgICAgCi0gICAg
ICAgIGlmICghbmVlZFBoYW50b20pCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG1faW5z
ZXJ0aW9uU2V0Lmluc2VydE5vZGUobV9pbmRleEluQmxvY2sgKyAxLCBTcGVjTm9uZSwgUGhhbnRv
bSwgbV9jdXJyZW50Tm9kZS0+Y29kZU9yaWdpbiwgY2hpbGRyZW4pOworICAgICAgICBtX3JlcXVp
cmVkUGhhbnRvbXMuYXBwZW5kKG5vZGUpOwogICAgIH0KICAgICAKICAgICB2b2lkIGluamVjdElu
dDMyVG9Eb3VibGVOb2RlKEVkZ2UmIGVkZ2UsIFVzZUtpbmQgdXNlS2luZCA9IE51bWJlclVzZSkK
ICAgICB7CisgICAgICAgIG1fcmVxdWlyZWRQaGFudG9tcy5hcHBlbmQoZWRnZS5ub2RlKCkpOwor
ICAgICAgICAKICAgICAgICAgTm9kZSogcmVzdWx0ID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9k
ZSgKICAgICAgICAgICAgIG1faW5kZXhJbkJsb2NrLCBTcGVjSW50NTJBc0RvdWJsZSwgSW50MzJU
b0RvdWJsZSwKICAgICAgICAgICAgIG1fY3VycmVudE5vZGUtPmNvZGVPcmlnaW4sIEVkZ2UoZWRn
ZS5ub2RlKCksIE51bWJlclVzZSkpOwpAQCAtMTcyMiw3ICsxNzM2LDggQEAgcHJpdmF0ZToKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICAgICAgCi0gICAgICAgIGFycmF5TW9kZSA9
IGFycmF5TW9kZS5yZWZpbmUobm9kZS0+Y2hpbGQxKCktPnByZWRpY3Rpb24oKSwgbm9kZS0+cHJl
ZGljdGlvbigpKTsKKyAgICAgICAgYXJyYXlNb2RlID0gYXJyYXlNb2RlLnJlZmluZSgKKyAgICAg
ICAgICAgIG1fZ3JhcGgsIG5vZGUtPmNvZGVPcmlnaW4sIG5vZGUtPmNoaWxkMSgpLT5wcmVkaWN0
aW9uKCksIG5vZGUtPnByZWRpY3Rpb24oKSk7CiAgICAgICAgICAgICAKICAgICAgICAgaWYgKGFy
cmF5TW9kZS50eXBlKCkgPT0gQXJyYXk6OkdlbmVyaWMpIHsKICAgICAgICAgICAgIC8vIENoZWNr
IGlmIHRoZSBpbnB1dCBpcyBzb21ldGhpbmcgdGhhdCB3ZSBjYW4ndCBnZXQgYXJyYXkgbGVuZ3Ro
IGZvciwgYnV0IGZvciB3aGljaCB3ZQpAQCAtMTgxMywxMiArMTgyOCwyNyBAQCBwcml2YXRlOgog
ICAgICAgICBmaXhFZGdlPEtub3duQ2VsbFVzZT4obm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CisgICAgCisgICAgdm9pZCBhZGRQaGFudG9tc0lmTmVjZXNzYXJ5
KCkKKyAgICB7CisgICAgICAgIGlmIChtX3JlcXVpcmVkUGhhbnRvbXMuaXNFbXB0eSgpKQorICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbV9y
ZXF1aXJlZFBoYW50b21zLnNpemUoKTsgaS0tOykgeworICAgICAgICAgICAgbV9pbnNlcnRpb25T
ZXQuaW5zZXJ0Tm9kZSgKKyAgICAgICAgICAgICAgICBtX2luZGV4SW5CbG9jayArIDEsIFNwZWNO
b25lLCBQaGFudG9tLCBtX2N1cnJlbnROb2RlLT5jb2RlT3JpZ2luLAorICAgICAgICAgICAgICAg
IEVkZ2UobV9yZXF1aXJlZFBoYW50b21zW2ldLCBVbnR5cGVkVXNlKSk7CisgICAgICAgIH0KKyAg
ICAgICAgCisgICAgICAgIG1fcmVxdWlyZWRQaGFudG9tcy5yZXNpemUoMCk7CisgICAgfQogCiAg
ICAgQmFzaWNCbG9jayogbV9ibG9jazsKICAgICB1bnNpZ25lZCBtX2luZGV4SW5CbG9jazsKICAg
ICBOb2RlKiBtX2N1cnJlbnROb2RlOwogICAgIEluc2VydGlvblNldCBtX2luc2VydGlvblNldDsK
ICAgICBib29sIG1fcHJvZml0YWJpbGl0eUNoYW5nZWQ7CisgICAgVmVjdG9yPE5vZGUqLCAzPiBt
X3JlcXVpcmVkUGhhbnRvbXM7CiB9OwogICAgIAogYm9vbCBwZXJmb3JtRml4dXAoR3JhcGgmIGdy
YXBoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAppbmRleCA4MjU2MDA3ZTlj
NDAxNDIzNzhkMmZiMjZkNGU5OWZhYzI2NDhlMGJjLi4xMzVjYTg1ZmM5MTc3MDFlMzU1MjQ1Yzli
MDEwMGMyMGZlZWI5YTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0dyYXBoLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcApA
QCAtMzYsOCArMzYsMTAgQEAKICNpbmNsdWRlICJGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmgiCiAj
aW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSlNBY3RpdmF0aW9uLmgiCisjaW5jbHVkZSAiTWF4
RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwuaCIKICNpbmNsdWRlICJPcGVyYW5kc0lubGluZXMu
aCIKICNpbmNsdWRlICJPcGVyYXRpb25zLmgiCisjaW5jbHVkZSAiU3RhY2tBbGlnbm1lbnQuaCIK
ICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3REdW1wLmg+
CiAKQEAgLTY3OCwxMCArNjgwLDEwIEBAIEZ1bGxCeXRlY29kZUxpdmVuZXNzJiBHcmFwaDo6bGl2
ZW5lc3NGb3IoSW5saW5lQ2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJhbWUpCiBib29sIEdyYXBoOjpp
c0xpdmVJbkJ5dGVjb2RlKFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kLCBDb2RlT3JpZ2luIGNvZGVP
cmlnaW4pCiB7CiAgICAgZm9yICg7OykgeworICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgcmVnID0g
VmlydHVhbFJlZ2lzdGVyKAorICAgICAgICAgICAgb3BlcmFuZC5vZmZzZXQoKSAtIGNvZGVPcmln
aW4uc3RhY2tPZmZzZXQoKSk7CisgICAgICAgIAogICAgICAgICBpZiAob3BlcmFuZC5vZmZzZXQo
KSA8IGNvZGVPcmlnaW4uc3RhY2tPZmZzZXQoKSArIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNp
emUpIHsKLSAgICAgICAgICAgIFZpcnR1YWxSZWdpc3RlciByZWcgPSBWaXJ0dWFsUmVnaXN0ZXIo
Ci0gICAgICAgICAgICAgICAgb3BlcmFuZC5vZmZzZXQoKSAtIGNvZGVPcmlnaW4uc3RhY2tPZmZz
ZXQoKSk7Ci0gICAgICAgICAgICAKICAgICAgICAgICAgIGlmIChyZWcuaXNBcmd1bWVudCgpKSB7
CiAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQocmVnLm9mZnNldCgpIDwgSlNTdGFjazo6
Q2FsbEZyYW1lSGVhZGVyU2l6ZSk7CiAgICAgICAgICAgICAgICAgCkBAIC03MDAsMTAgKzcwMiwx
OCBAQCBib29sIEdyYXBoOjppc0xpdmVJbkJ5dGVjb2RlKFZpcnR1YWxSZWdpc3RlciBvcGVyYW5k
LCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4pCiAgICAgICAgICAgICAgICAgcmVnLm9mZnNldCgpLCBj
b2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgpOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBp
ZiAoIWNvZGVPcmlnaW4uaW5saW5lQ2FsbEZyYW1lKQorICAgICAgICBJbmxpbmVDYWxsRnJhbWUq
IGlubGluZUNhbGxGcmFtZSA9IGNvZGVPcmlnaW4uaW5saW5lQ2FsbEZyYW1lOworICAgICAgICBp
ZiAoIWlubGluZUNhbGxGcmFtZSkKICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIC8vIEFy
Z3VtZW50cyBhcmUgYWx3YXlzIGxpdmUuIFRoaXMgd291bGQgYmUgcmVkdW5kYW50IGlmIGl0IHdh
c24ndCBmb3Igb3VyCisgICAgICAgIC8vIG9wX2NhbGxfdmFyYXJncyBpbmxpbmluZy4KKyAgICAg
ICAgaWYgKHJlZy5pc0FyZ3VtZW50KCkKKyAgICAgICAgICAgICYmIHJlZy50b0FyZ3VtZW50KCkK
KyAgICAgICAgICAgICYmIHN0YXRpY19jYXN0PHNpemVfdD4ocmVnLnRvQXJndW1lbnQoKSkgPCBp
bmxpbmVDYWxsRnJhbWUtPmFyZ3VtZW50cy5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICAgICAgCi0gICAgICAgIGNvZGVPcmlnaW4gPSBjb2RlT3JpZ2luLmlubGluZUNhbGxG
cmFtZS0+Y2FsbGVyOworICAgICAgICBjb2RlT3JpZ2luID0gaW5saW5lQ2FsbEZyYW1lLT5jYWxs
ZXI7CiAgICAgfQogICAgIAogICAgIHJldHVybiB0cnVlOwpAQCAtNzExLDcgKzcyMSwxMyBAQCBi
b29sIEdyYXBoOjppc0xpdmVJbkJ5dGVjb2RlKFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kLCBDb2Rl
T3JpZ2luIGNvZGVPcmlnaW4pCiAKIHVuc2lnbmVkIEdyYXBoOjpmcmFtZVJlZ2lzdGVyQ291bnQo
KQogewotICAgIHJldHVybiBtX25leHRNYWNoaW5lTG9jYWwgKyBtX3BhcmFtZXRlclNsb3RzOwor
ICAgIHVuc2lnbmVkIHJlc3VsdCA9IG1fbmV4dE1hY2hpbmVMb2NhbCArIHN0ZDo6bWF4KG1fcGFy
YW1ldGVyU2xvdHMsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihtYXhGcmFtZUV4dGVudEZvclNsb3dQ
YXRoQ2FsbEluUmVnaXN0ZXJzKSk7CisgICAgcmV0dXJuIHJvdW5kTG9jYWxSZWdpc3RlckNvdW50
Rm9yRnJhbWVQb2ludGVyT2Zmc2V0KHJlc3VsdCk7Cit9CisKK3Vuc2lnbmVkIEdyYXBoOjpzdGFj
a1BvaW50ZXJPZmZzZXQoKQoreworICAgIHJldHVybiB2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChm
cmFtZVJlZ2lzdGVyQ291bnQoKSAtIDEpLm9mZnNldCgpOwogfQogCiB1bnNpZ25lZCBHcmFwaDo6
cmVxdWlyZWRSZWdpc3RlckNvdW50Rm9yRXhpdCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0dyYXBoLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dy
YXBoLmgKaW5kZXggN2E1MTcwMDQ4NzFiNzc1ODc3MDk2OTJmMDQ3MmUzMmI5ZDlkMDFhMC4uMjkx
OWFmNDg3NjJiZjI1MzliMDhmMjBkZWRhNjVhZTU1NjNiNmU0ZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHR3JhcGguaApAQCAtNzkzLDYgKzc5Myw3IEBAIHB1YmxpYzoKICAgICBib29sIGlz
TGl2ZUluQnl0ZWNvZGUoVmlydHVhbFJlZ2lzdGVyLCBDb2RlT3JpZ2luKTsKICAgICAKICAgICB1
bnNpZ25lZCBmcmFtZVJlZ2lzdGVyQ291bnQoKTsKKyAgICB1bnNpZ25lZCBzdGFja1BvaW50ZXJP
ZmZzZXQoKTsKICAgICB1bnNpZ25lZCByZXF1aXJlZFJlZ2lzdGVyQ291bnRGb3JFeGl0KCk7CiAg
ICAgdW5zaWduZWQgcmVxdWlyZWRSZWdpc3RlckNvdW50Rm9yRXhlY3V0aW9uQW5kRXhpdCgpOwog
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZS5jcHAKaW5kZXggYzUzNjUz
ZjhmYWI1MzQ1OTc3MTJiMDAwY2QwMmQxNGE1MzNiMTAzMC4uMDYyNzVkM2E0YTE4ZmEzZDU3MWI5
NDMyNjJiODY5Y2MwODAxN2M4MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdKSVRDb2RlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENv
ZGUuY3BwCkBAIC0xNTYsNiArMTU2LDcgQEAgdm9pZCBKSVRDb2RlOjpzZXRPcHRpbWl6YXRpb25U
aHJlc2hvbGRCYXNlZE9uQ29tcGlsYXRpb25SZXN1bHQoCiAgICAgc3dpdGNoIChyZXN1bHQpIHsK
ICAgICBjYXNlIENvbXBpbGF0aW9uU3VjY2Vzc2Z1bDoKICAgICAgICAgb3B0aW1pemVOZXh0SW52
b2NhdGlvbihjb2RlQmxvY2spOworICAgICAgICBjb2RlQmxvY2stPmJhc2VsaW5lVmVyc2lvbigp
LT5tX2hhc0JlZW5Db21waWxlZFdpdGhGVEwgPSB0cnVlOwogICAgICAgICByZXR1cm47CiAgICAg
Y2FzZSBDb21waWxhdGlvbkZhaWxlZDoKICAgICAgICAgZG9udE9wdGltaXplQW55dGltZVNvb24o
Y29kZUJsb2NrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklU
Q29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlLmgKaW5kZXggMGU3
NzFlMDQ2NWI3M2Y1OGJmZmFmM2Y0OTU1ZjBjOTA5MzYyMzQ3OS4uMDJkNDc4ZWIyYjM2YTllZTE0
Y2Q3MGY2YmIyYzIwZDg1MTAyMjUzNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdKSVRDb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRD
b2RlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTExOSw2ICsxMTksNyBAQCBwdWJsaWM6CiAgICAgVmVjdG9yPERGRzo6T1NSRW50cnlE
YXRhPiBvc3JFbnRyeTsKICAgICBTZWdtZW50ZWRWZWN0b3I8REZHOjpPU1JFeGl0LCA4PiBvc3JF
eGl0OwogICAgIFZlY3RvcjxERkc6OlNwZWN1bGF0aW9uUmVjb3Zlcnk+IHNwZWN1bGF0aW9uUmVj
b3Zlcnk7CisgICAgVmVjdG9yPHVuc2lnbmVkPiBzbG93UGF0aENhbGxzOwogICAgIERGRzo6VmFy
aWFibGVFdmVudFN0cmVhbSB2YXJpYWJsZUV2ZW50U3RyZWFtOwogICAgIERGRzo6TWluaWZpZWRH
cmFwaCBtaW5pZmllZERGRzsKICNpZiBFTkFCTEUoRlRMX0pJVCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5jcHAKaW5kZXggMjkzNGQyYmE5YjA3MmYzOWI3N2U3
MTRlZTFjNjg3YTlkMWUxYTBkNi4uYTljMGYwZjIxZTI0YWExNDRjZWY0MjQyYWUxMzUxZmRlODRk
NDQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxl
ci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5jcHAK
QEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShERkdfSklUKQogCisjaW5jbHVkZSAiQXJp
dHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuaCIKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNs
dWRlICJERkdGYWlsZWRGaW5hbGl6ZXIuaCIKICNpbmNsdWRlICJERkdJbmxpbmVDYWNoZVdyYXBw
ZXJJbmxpbmVzLmgiCkBAIC00MCw2ICs0MSw3IEBACiAjaW5jbHVkZSAiREZHU3BlY3VsYXRpdmVK
SVQuaCIKICNpbmNsdWRlICJERkdUaHVua3MuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlSW5saW5l
cy5oIgorI2luY2x1ZGUgIk1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmgiCiAjaW5jbHVk
ZSAiVk0uaCIKICNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCiAKQEAgLTkyLDE1ICs5NCwxNCBAQCB2
b2lkIEpJVENvbXBpbGVyOjpsaW5rT1NSRXhpdHMoKQogdm9pZCBKSVRDb21waWxlcjo6Y29tcGls
ZUVudHJ5KCkKIHsKICAgICAvLyBUaGlzIGNvZGUgY3VycmVudGx5IG1hdGNoZXMgdGhlIG9sZCBK
SVQuIEluIHRoZSBmdW5jdGlvbiBoZWFkZXIgd2UgbmVlZCB0bwotICAgIC8vIHBvcCB0aGUgcmV0
dXJuIGFkZHJlc3MgKHNpbmNlIHdlIGRvIG5vdCBhbGxvdyBhbnkgcmVjdXJzaW9uIG9uIHRoZSBt
YWNoaW5lCi0gICAgLy8gc3RhY2spLCBhbmQgcGVyZm9ybSBhIGZhc3Qgc3RhY2sgY2hlY2suCisg
ICAgLy8gc2F2ZSByZXR1cm4gYWRkcmVzcyBhbmQgY2FsbCBmcmFtZSB2aWEgdGhlIHByb2xvZ3Vl
IGFuZCBwZXJmb3JtIGEgZmFzdCBzdGFjayBjaGVjay4KICAgICAvLyBGSVhNRTogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2MjkyCiAgICAgLy8gV2UnbGwgbmVlZCB0
byBjb252ZXJ0IHRoZSByZW1haW5pbmcgY3RpXyBzdHlsZSBjYWxscyAoc3BlY2lmaWNhbGx5IHRo
ZSBzdGFjawogICAgIC8vIGNoZWNrKSB3aGljaCB3aWxsIGJlIGRlcGVuZGVudCBvbiBzdGFjayBs
YXlvdXQuIChXZSdkIG5lZWQgdG8gYWNjb3VudCBmb3IgdGhpcyBpbgogICAgIC8vIGJvdGggbm9y
bWFsIHJldHVybiBjb2RlIGFuZCB3aGVuIGp1bXBpbmcgdG8gYW4gZXhjZXB0aW9uIGhhbmRsZXIp
LgotICAgIHByZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVyQ2FsbChHUFJJbmZvOjpyZWdUMik7Ci0g
ICAgZW1pdFB1dFJldHVyblBDVG9DYWxsRnJhbWVIZWFkZXIoR1BSSW5mbzo6cmVnVDIpOworICAg
IGVtaXRGdW5jdGlvblByb2xvZ3VlKCk7CiAgICAgZW1pdFB1dEltbWVkaWF0ZVRvQ2FsbEZyYW1l
SGVhZGVyKG1fY29kZUJsb2NrLCBKU1N0YWNrOjpDb2RlQmxvY2spOworICAgIGppdEFzc2VydFRh
Z3NJblBsYWNlKCk7CiB9CiAKIHZvaWQgSklUQ29tcGlsZXI6OmNvbXBpbGVCb2R5KCkKQEAgLTEy
MSwyMiArMTIyLDI1IEBAIHZvaWQgSklUQ29tcGlsZXI6OmNvbXBpbGVFeGNlcHRpb25IYW5kbGVy
cygpCiAKICAgICBpZiAoIW1fZXhjZXB0aW9uQ2hlY2tzV2l0aENhbGxGcmFtZVJvbGxiYWNrLmVt
cHR5KCkpIHsKICAgICAgICAgbV9leGNlcHRpb25DaGVja3NXaXRoQ2FsbEZyYW1lUm9sbGJhY2su
bGluayh0aGlzKTsKLSAgICAgICAgZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRl
clB0cihHUFJJbmZvOjphcmd1bWVudEdQUjApOworICAgICAgICBlbWl0R2V0Q2FsbGVyRnJhbWVG
cm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEdQUkluZm86OmFyZ3VtZW50R1BSMSk7CiAgICAgICAgIGRv
TG9va3VwID0ganVtcCgpOwogICAgIH0KIAogICAgIGlmICghbV9leGNlcHRpb25DaGVja3MuZW1w
dHkoKSkKICAgICAgICAgbV9leGNlcHRpb25DaGVja3MubGluayh0aGlzKTsKIAotICAgIC8vIGxv
b2t1cEV4Y2VwdGlvbkhhbmRsZXIgaXMgcGFzc2VkIG9uZSBhcmd1bWVudCwgdGhlIGV4ZWMgKHRo
ZSBDYWxsRnJhbWUqKS4KLSAgICBtb3ZlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJ
bmZvOjphcmd1bWVudEdQUjApOworICAgIC8vIGxvb2t1cEV4Y2VwdGlvbkhhbmRsZXIgaXMgcGFz
c2VkIHR3byBhcmd1bWVudHMsIHRoZSBWTSBhbmQgdGhlIGV4ZWMgKHRoZSBDYWxsRnJhbWUqKS4K
KyAgICBtb3ZlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJbmZvOjphcmd1bWVudEdQ
UjEpOwogCiAgICAgaWYgKGRvTG9va3VwLmlzU2V0KCkpCiAgICAgICAgIGRvTG9va3VwLmxpbmso
dGhpcyk7CiAKKyAgICBtb3ZlKFRydXN0ZWRJbW1QdHIodm0oKSksIEdQUkluZm86OmFyZ3VtZW50
R1BSMCk7CisKICNpZiBDUFUoWDg2KQogICAgIC8vIEZJWE1FOiBzaG91bGQgdXNlIHRoZSBjYWxs
IGFic3RyYWN0aW9uLCBidXQgdGhpcyBpcyBjdXJyZW50bHkgaW4gdGhlIFNwZWN1bGF0aXZlSklU
IGxheWVyIQogICAgIHBva2UoR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKKyAgICBwb2tlKEdQUklu
Zm86OmFyZ3VtZW50R1BSMSwgMSk7CiAjZW5kaWYKICAgICBtX2NhbGxzLmFwcGVuZChDYWxsTGlu
a1JlY29yZChjYWxsKCksIGxvb2t1cEV4Y2VwdGlvbkhhbmRsZXIpKTsKICAgICBqdW1wVG9FeGNl
cHRpb25IYW5kbGVyKCk7CkBAIC0yMjgsMTMgKzIzMiwxNiBAQCB2b2lkIEpJVENvbXBpbGVyOjps
aW5rKExpbmtCdWZmZXImIGxpbmtCdWZmZXIpCiAgICAgICAgIGluZm8ucGF0Y2guZGVsdGFDYWxs
VG9TbG93Q2FzZSA9IGRpZmZlcmVuY2VCZXR3ZWVuQ29kZVB0cihjYWxsUmV0dXJuTG9jYXRpb24s
IGxpbmtCdWZmZXIubG9jYXRpb25PZihtX2luc1tpXS5tX3Nsb3dQYXRoR2VuZXJhdG9yLT5sYWJl
bCgpKSk7CiAgICAgfQogICAgIAorICAgIFJFTEVBU0VfQVNTRVJUKCFtX2dyYXBoLm1fcGxhbi53
aWxsVHJ5VG9UaWVyVXAgfHwgbV9qaXRDb2RlLT5zbG93UGF0aENhbGxzLnNpemUoKSA+PSBtX2pz
Q2FsbHMuc2l6ZSgpKTsKICAgICBtX2NvZGVCbG9jay0+c2V0TnVtYmVyT2ZDYWxsTGlua0luZm9z
KG1fanNDYWxscy5zaXplKCkpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2pzQ2Fs
bHMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgQ2FsbExpbmtJbmZvJiBpbmZvID0gbV9jb2RlQmxv
Y2stPmNhbGxMaW5rSW5mbyhpKTsKICAgICAgICAgaW5mby5jYWxsVHlwZSA9IG1fanNDYWxsc1tp
XS5tX2NhbGxUeXBlOwotICAgICAgICBpbmZvLmlzREZHID0gdHJ1ZTsKICAgICAgICAgaW5mby5j
b2RlT3JpZ2luID0gbV9qc0NhbGxzW2ldLm1fY29kZU9yaWdpbjsKLSAgICAgICAgbGlua0J1ZmZl
ci5saW5rKG1fanNDYWxsc1tpXS5tX3Nsb3dDYWxsLCBGdW5jdGlvblB0cigobV92bS0+Z2V0Q1RJ
U3R1YihpbmZvLmNhbGxUeXBlID09IENhbGxMaW5rSW5mbzo6Q29uc3RydWN0ID8gbGlua0NvbnN0
cnVjdFRodW5rR2VuZXJhdG9yIDogbGlua0NhbGxUaHVua0dlbmVyYXRvcikpLmNvZGUoKS5leGVj
dXRhYmxlQWRkcmVzcygpKSk7CisgICAgICAgIFRodW5rR2VuZXJhdG9yIGdlbmVyYXRvciA9IGxp
bmtUaHVua0dlbmVyYXRvckZvcigKKyAgICAgICAgICAgIGluZm8uY2FsbFR5cGUgPT0gQ2FsbExp
bmtJbmZvOjpDb25zdHJ1Y3QgPyBDb2RlRm9yQ29uc3RydWN0IDogQ29kZUZvckNhbGwsCisgICAg
ICAgICAgICBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsKKyAgICAgICAgbGlua0J1
ZmZlci5saW5rKG1fanNDYWxsc1tpXS5tX3Nsb3dDYWxsLCBGdW5jdGlvblB0cihtX3ZtLT5nZXRD
VElTdHViKGdlbmVyYXRvcikuY29kZSgpLmV4ZWN1dGFibGVBZGRyZXNzKCkpKTsKICAgICAgICAg
aW5mby5jYWxsUmV0dXJuTG9jYXRpb24gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2ZOZWFyQ2FsbCht
X2pzQ2FsbHNbaV0ubV9zbG93Q2FsbCk7CiAgICAgICAgIGluZm8uaG90UGF0aEJlZ2luID0gbGlu
a0J1ZmZlci5sb2NhdGlvbk9mKG1fanNDYWxsc1tpXS5tX3RhcmdldFRvQ2hlY2spOwogICAgICAg
ICBpbmZvLmhvdFBhdGhPdGhlciA9IGxpbmtCdWZmZXIubG9jYXRpb25PZk5lYXJDYWxsKG1fanND
YWxsc1tpXS5tX2Zhc3RDYWxsKTsKQEAgLTI3OCw2ICsyODUsOCBAQCB2b2lkIEpJVENvbXBpbGVy
Ojpjb21waWxlKCkKICAgICBzZXRTdGFydE9mQ29kZSgpOwogICAgIGNvbXBpbGVFbnRyeSgpOwog
ICAgIG1fc3BlY3VsYXRpdmUgPSBhZG9wdFB0cihuZXcgU3BlY3VsYXRpdmVKSVQoKnRoaXMpKTsK
KyAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKG1fZ3JhcGguc3RhY2tQb2ludGVyT2Zmc2V0KCkgKiBz
aXplb2YoUmVnaXN0ZXIpKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIHN0YWNrUG9pbnRl
clJlZ2lzdGVyKTsKKyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwogICAgIGNvbXBp
bGVCb2R5KCk7CiAgICAgc2V0RW5kT2ZNYWluUGF0aCgpOwogCkBAIC0zMjUsMTEgKzMzNCwxMiBA
QCB2b2lkIEpJVENvbXBpbGVyOjpjb21waWxlRnVuY3Rpb24oKQogICAgIC8vIHNvIGVudGVyIGFm
dGVyIHRoaXMuCiAgICAgTGFiZWwgZnJvbUFyaXR5Q2hlY2sodGhpcyk7CiAgICAgLy8gUGxhbnQg
YSBjaGVjayB0aGF0IHN1ZmZpY2llbnQgc3BhY2UgaXMgYXZhaWxhYmxlIGluIHRoZSBKU1N0YWNr
LgotICAgIGFkZFB0cihUcnVzdGVkSW1tMzIodmlydHVhbFJlZ2lzdGVyRm9yTG9jYWwobV9ncmFw
aC5yZXF1aXJlZFJlZ2lzdGVyQ291bnRGb3JFeGVjdXRpb25BbmRFeGl0KCkpLm9mZnNldCgpICog
c2l6ZW9mKFJlZ2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJbmZvOjpy
ZWdUMSk7Ci0gICAgSnVtcCBzdGFja0NoZWNrID0gYnJhbmNoUHRyKEFib3ZlLCBBYnNvbHV0ZUFk
ZHJlc3MobV92bS0+YWRkcmVzc09mSlNTdGFja0xpbWl0KCkpLCBHUFJJbmZvOjpyZWdUMSk7Ci0g
ICAgLy8gUmV0dXJuIGhlcmUgYWZ0ZXIgc3RhY2sgY2hlY2suCi0gICAgTGFiZWwgZnJvbVN0YWNr
Q2hlY2sgPSBsYWJlbCgpOworICAgIGFkZFB0cihUcnVzdGVkSW1tMzIodmlydHVhbFJlZ2lzdGVy
Rm9yTG9jYWwobV9ncmFwaC5yZXF1aXJlZFJlZ2lzdGVyQ291bnRGb3JFeGVjdXRpb25BbmRFeGl0
KCkgLSAxKS5vZmZzZXQoKSAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxsRnJhbWVS
ZWdpc3RlciwgR1BSSW5mbzo6cmVnVDEpOworICAgIEp1bXAgc3RhY2tPdmVyZmxvdyA9IGJyYW5j
aFB0cihBYm92ZSwgQWJzb2x1dGVBZGRyZXNzKG1fdm0tPmFkZHJlc3NPZkpTU3RhY2tMaW1pdCgp
KSwgR1BSSW5mbzo6cmVnVDEpOwogCisgICAgLy8gTW92ZSB0aGUgc3RhY2sgcG9pbnRlciBkb3du
IHRvIGFjY29tbW9kYXRlIGxvY2FscworICAgIGFkZFB0cihUcnVzdGVkSW1tMzIobV9ncmFwaC5z
dGFja1BvaW50ZXJPZmZzZXQoKSAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxsRnJh
bWVSZWdpc3Rlciwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIGNoZWNrU3RhY2tQb2ludGVy
QWxpZ25tZW50KCk7CiAKICAgICAvLyA9PT0gRnVuY3Rpb24gYm9keSBjb2RlIGdlbmVyYXRpb24g
PT09CiAgICAgbV9zcGVjdWxhdGl2ZSA9IGFkb3B0UHRyKG5ldyBTcGVjdWxhdGl2ZUpJVCgqdGhp
cykpOwpAQCAtMzM4LDE3ICszNDgsMTkgQEAgdm9pZCBKSVRDb21waWxlcjo6Y29tcGlsZUZ1bmN0
aW9uKCkKIAogICAgIC8vID09PSBGdW5jdGlvbiBmb290ZXIgY29kZSBnZW5lcmF0aW9uID09PQog
ICAgIC8vCi0gICAgLy8gR2VuZXJhdGUgY29kZSB0byBwZXJmb3JtIHRoZSBzbG93IHN0YWNrIGNo
ZWNrIChpZiB0aGUgZmFzdCBvbmUgaW4KKyAgICAvLyBHZW5lcmF0ZSBjb2RlIHRvIHBlcmZvcm0g
dGhlIHN0YWNrIG92ZXJmbG93IGhhbmRsaW5nIChpZiB0aGUgc3RhY2sgY2hlY2sgaW4KICAgICAv
LyB0aGUgZnVuY3Rpb24gaGVhZGVyIGZhaWxzKSwgYW5kIGdlbmVyYXRlIHRoZSBlbnRyeSBwb2lu
dCB3aXRoIGFyaXR5IGNoZWNrLgogICAgIC8vCi0gICAgLy8gR2VuZXJhdGUgdGhlIHN0YWNrIGNo
ZWNrOyBpZiB0aGUgZmFzdCBjaGVjayBpbiB0aGUgZnVuY3Rpb24gaGVhZCBmYWlscywKLSAgICAv
LyB3ZSBuZWVkIHRvIGNhbGwgb3V0IHRvIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIHdoZXRo
ZXIgbW9yZSBzcGFjZSBpcyBhdmFpbGFibGUuCi0gICAgLy8gRklYTUU6IGNoYW5nZSB0aGlzIGZy
b20gYSBjdGkgY2FsbCB0byBhIERGRyBzdHlsZSBvcGVyYXRpb24gKG5vcm1hbCBDIGNhbGxpbmcg
Y29udmVudGlvbnMpLgotICAgIHN0YWNrQ2hlY2subGluayh0aGlzKTsKKyAgICAvLyBHZW5lcmF0
ZSB0aGUgc3RhY2sgb3ZlcmZsb3cgaGFuZGxpbmc7IGlmIHRoZSBzdGFjayBjaGVjayBpbiB0aGUg
ZnVuY3Rpb24gaGVhZCBmYWlscywKKyAgICAvLyB3ZSBuZWVkIHRvIGNhbGwgb3V0IHRvIGEgaGVs
cGVyIGZ1bmN0aW9uIHRvIHRocm93IHRoZSBTdGFja092ZXJmbG93RXJyb3IuCisgICAgc3RhY2tP
dmVyZmxvdy5saW5rKHRoaXMpOwogCiAgICAgZW1pdFN0b3JlQ29kZU9yaWdpbihDb2RlT3JpZ2lu
KDApKTsKLSAgICBtX3NwZWN1bGF0aXZlLT5jYWxsT3BlcmF0aW9uV2l0aENhbGxGcmFtZVJvbGxi
YWNrT25FeGNlcHRpb24ob3BlcmF0aW9uU3RhY2tDaGVjaywgbV9jb2RlQmxvY2spOwotICAgIGp1
bXAoZnJvbVN0YWNrQ2hlY2spOworCisgICAgaWYgKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhD
YWxsKQorICAgICAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKC1tYXhGcmFtZUV4dGVudEZvclNsb3dQ
YXRoQ2FsbCksIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKworICAgIG1fc3BlY3VsYXRpdmUtPmNh
bGxPcGVyYXRpb25XaXRoQ2FsbEZyYW1lUm9sbGJhY2tPbkV4Y2VwdGlvbihvcGVyYXRpb25UaHJv
d1N0YWNrT3ZlcmZsb3dFcnJvciwgbV9jb2RlQmxvY2spOwogICAgIAogICAgIC8vIFRoZSBmYXN0
IGVudHJ5IHBvaW50IGludG8gYSBmdW5jdGlvbiBkb2VzIG5vdCBjaGVjayB0aGUgY29ycmVjdCBu
dW1iZXIgb2YgYXJndW1lbnRzCiAgICAgLy8gaGF2ZSBiZWVuIHBhc3NlZCB0byB0aGUgY2FsbCAo
d2Ugb25seSB1c2UgdGhlIGZhc3QgZW50cnkgcG9pbnQgd2hlcmUgd2UgY2FuIHN0YXRpY2FsbHkK
QEAgLTM2MSw5ICszNzMsMTUgQEAgdm9pZCBKSVRDb21waWxlcjo6Y29tcGlsZUZ1bmN0aW9uKCkK
ICAgICBsb2FkMzIoQXNzZW1ibHlIZWxwZXJzOjpwYXlsb2FkRm9yKChWaXJ0dWFsUmVnaXN0ZXIp
SlNTdGFjazo6QXJndW1lbnRDb3VudCksIEdQUkluZm86OnJlZ1QxKTsKICAgICBicmFuY2gzMihB
Ym92ZU9yRXF1YWwsIEdQUkluZm86OnJlZ1QxLCBUcnVzdGVkSW1tMzIobV9jb2RlQmxvY2stPm51
bVBhcmFtZXRlcnMoKSkpLmxpbmtUbyhmcm9tQXJpdHlDaGVjaywgdGhpcyk7CiAgICAgZW1pdFN0
b3JlQ29kZU9yaWdpbihDb2RlT3JpZ2luKDApKTsKKyAgICBpZiAobWF4RnJhbWVFeHRlbnRGb3JT
bG93UGF0aENhbGwpCisgICAgICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoLW1heEZyYW1lRXh0ZW50
Rm9yU2xvd1BhdGhDYWxsKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogICAgIG1fc3BlY3VsYXRp
dmUtPmNhbGxPcGVyYXRpb25XaXRoQ2FsbEZyYW1lUm9sbGJhY2tPbkV4Y2VwdGlvbihtX2NvZGVC
bG9jay0+bV9pc0NvbnN0cnVjdG9yID8gb3BlcmF0aW9uQ29uc3RydWN0QXJpdHlDaGVjayA6IG9w
ZXJhdGlvbkNhbGxBcml0eUNoZWNrLCBHUFJJbmZvOjpyZWdUMCk7CisgICAgaWYgKG1heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsKQorICAgICAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKG1heEZy
YW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogICAgIGJy
YW5jaFRlc3QzMihaZXJvLCBHUFJJbmZvOjpyZWdUMCkubGlua1RvKGZyb21Bcml0eUNoZWNrLCB0
aGlzKTsKICAgICBlbWl0U3RvcmVDb2RlT3JpZ2luKENvZGVPcmlnaW4oMCkpOworICAgIG1vdmUo
VHJ1c3RlZEltbVB0cihtX3ZtLT5hcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy0+cmV0dXJuUENz
Rm9yKCptX3ZtLCBtX2NvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpKSksIEdQUkluZm86OnJlZ1Q1
KTsKKyAgICBsb2FkUHRyKEJhc2VJbmRleChHUFJJbmZvOjpyZWdUNSwgR1BSSW5mbzo6cmVnVDAs
IHRpbWVzUHRyKCkpLCBHUFJJbmZvOjpyZWdUNSk7CiAgICAgbV9jYWxsQXJpdHlGaXh1cCA9IGNh
bGwoKTsKICAgICBqdW1wKGZyb21Bcml0eUNoZWNrKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuaAppbmRleCA4MDJlNDdhZDg3MWI4NjViYTJlMmQxOGVh
MDFlMDllOGU0ZmVjNmFhLi44MmVhYzBmZDBmNDFjMDU0YzljODY5ODI4NzY4OWYyNTdkYjc0ZDZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5oCkBAIC0yMjEs
NiArMjIxLDExIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIG1faW5zLmFwcGVuZChyZWNvcmQp
OwogICAgIH0KKyAgICAKKyAgICB1bnNpZ25lZCBjdXJyZW50SlNDYWxsSW5kZXgoKSBjb25zdAor
ICAgIHsKKyAgICAgICAgcmV0dXJuIG1fanNDYWxscy5zaXplKCk7CisgICAgfQogCiAgICAgdm9p
ZCBhZGRKU0NhbGwoQ2FsbCBmYXN0Q2FsbCwgQ2FsbCBzbG93Q2FsbCwgRGF0YUxhYmVsUHRyIHRh
cmdldFRvQ2hlY2ssIENhbGxMaW5rSW5mbzo6Q2FsbFR5cGUgY2FsbFR5cGUsIEdQUlJlZyBjYWxs
ZWUsIENvZGVPcmlnaW4gY29kZU9yaWdpbikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0pJVEZpbmFsaXplci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0pJVEZpbmFsaXplci5jcHAKaW5kZXggYjdlYTU5NGM2N2RiZjNkZWFmNDdmODk2
NzI2MmU2ZDQwZGY0ZGU4ZS4uNzk5ZThjYTVkYmEzMTczYWU4MzJkYjc4ZWYxNTc5ZTdjMDc3YTY1
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRGaW5hbGl6ZXIu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklURmluYWxpemVyLmNwcApA
QCAtNDYsMTAgKzQ2LDE2IEBAIEpJVEZpbmFsaXplcjo6fkpJVEZpbmFsaXplcigpCiB7CiB9CiAK
K3NpemVfdCBKSVRGaW5hbGl6ZXI6OmNvZGVTaXplKCkKK3sKKyAgICByZXR1cm4gbV9saW5rQnVm
ZmVyLT5zaXplKCk7Cit9CisKIGJvb2wgSklURmluYWxpemVyOjpmaW5hbGl6ZSgpCiB7Ci0gICAg
bV9qaXRDb2RlLT5pbml0aWFsaXplQ29kZVJlZihtX2xpbmtCdWZmZXItPmZpbmFsaXplQ29kZVdp
dGhvdXREaXNhc3NlbWJseSgpKTsKLSAgICBtX3BsYW4uY29kZUJsb2NrLT5zZXRKSVRDb2RlKG1f
aml0Q29kZSwgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyKCkpOworICAgIG1faml0Q29kZS0+aW5pdGlh
bGl6ZUNvZGVSZWYoCisgICAgICAgIG1fbGlua0J1ZmZlci0+ZmluYWxpemVDb2RlV2l0aG91dERp
c2Fzc2VtYmx5KCksIE1hY3JvQXNzZW1ibGVyQ29kZVB0cigpKTsKKyAgICBtX3BsYW4uY29kZUJs
b2NrLT5zZXRKSVRDb2RlKG1faml0Q29kZSk7CiAgICAgCiAgICAgZmluYWxpemVDb21tb24oKTsK
ICAgICAKQEAgLTU5LDggKzY1LDkgQEAgYm9vbCBKSVRGaW5hbGl6ZXI6OmZpbmFsaXplKCkKIGJv
b2wgSklURmluYWxpemVyOjpmaW5hbGl6ZUZ1bmN0aW9uKCkKIHsKICAgICBSRUxFQVNFX0FTU0VS
VCghbV93aXRoQXJpdHlDaGVjay5pc0VtcHR5VmFsdWUoKSk7Ci0gICAgbV9qaXRDb2RlLT5pbml0
aWFsaXplQ29kZVJlZihtX2xpbmtCdWZmZXItPmZpbmFsaXplQ29kZVdpdGhvdXREaXNhc3NlbWJs
eSgpKTsKLSAgICBtX3BsYW4uY29kZUJsb2NrLT5zZXRKSVRDb2RlKG1faml0Q29kZSwgbV93aXRo
QXJpdHlDaGVjayk7CisgICAgbV9qaXRDb2RlLT5pbml0aWFsaXplQ29kZVJlZigKKyAgICAgICAg
bV9saW5rQnVmZmVyLT5maW5hbGl6ZUNvZGVXaXRob3V0RGlzYXNzZW1ibHkoKSwgbV93aXRoQXJp
dHlDaGVjayk7CisgICAgbV9wbGFuLmNvZGVCbG9jay0+c2V0SklUQ29kZShtX2ppdENvZGUpOwog
ICAgIAogICAgIGZpbmFsaXplQ29tbW9uKCk7CiAgICAgCkBAIC03NSw2ICs4Miw5IEBAIHZvaWQg
SklURmluYWxpemVyOjpmaW5hbGl6ZUNvbW1vbigpCiAgICAgCiAgICAgaWYgKG1fcGxhbi5jb21w
aWxhdGlvbikKICAgICAgICAgbV9wbGFuLnZtLm1fcGVyQnl0ZWNvZGVQcm9maWxlci0+YWRkQ29t
cGlsYXRpb24obV9wbGFuLmNvbXBpbGF0aW9uKTsKKyAgICAKKyAgICBpZiAoIW1fcGxhbi53aWxs
VHJ5VG9UaWVyVXApCisgICAgICAgIG1fcGxhbi5jb2RlQmxvY2stPmJhc2VsaW5lVmVyc2lvbigp
LT5tX2RpZEZhaWxGVExDb21waWxhdGlvbiA9IHRydWU7CiB9CiAKIH0gfSAvLyBuYW1lc3BhY2Ug
SlNDOjpERkcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklURmlu
YWxpemVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVEZpbmFsaXplci5oCmlu
ZGV4IDVjN2M4MmI2NjViYTU0MDY5NmQxYjRkMDU5ZTdmYzY5ZmIwOTRiNjAuLjU0MmFmNTdhYTNh
NzQ2NDkzYTBkZWJiNmQ1NGJiYTYwYzNkMTQ2NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHSklURmluYWxpemVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdKSVRGaW5hbGl6ZXIuaApAQCAtNDIsNiArNDIsNyBAQCBwdWJsaWM6CiAgICAgSklU
RmluYWxpemVyKFBsYW4mLCBQYXNzUmVmUHRyPEpJVENvZGU+LCBQYXNzT3duUHRyPExpbmtCdWZm
ZXI+LCBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgd2l0aEFyaXR5Q2hlY2sgPSBNYWNyb0Fzc2VtYmxl
ckNvZGVQdHIoTWFjcm9Bc3NlbWJsZXJDb2RlUHRyOjpFbXB0eVZhbHVlKSk7CiAgICAgdmlydHVh
bCB+SklURmluYWxpemVyKCk7CiAgICAgCisgICAgdmlydHVhbCBzaXplX3QgY29kZVNpemUoKSBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgZmluYWxpemUoKSBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIGJvb2wgZmluYWxpemVGdW5jdGlvbigpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTm9kZS5oCmluZGV4IDU1YTllZGU4ZGI4YjhjMzBhNjdiZWRjOWJhNGU1MTQ1NGEwYmI4
NGIuLjc1YWY2NmNlNzRiZjVhNTQ2ZDUzNjRkZjBhNDFjMzBmMTg3NDExM2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHTm9kZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMSwgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMTk4LDYgKzEx
OTgsMTEgQEAgc3RydWN0IE5vZGUgewogICAgICAgICAgICAgcmV0dXJuIHNob3VsZEdlbmVyYXRl
KCk7CiAgICAgICAgIH0KICAgICB9CisgICAgCisgICAgYm9vbCBpc1NlbWFudGljYWxseVNraXBw
YWJsZSgpCisgICAgeworICAgICAgICByZXR1cm4gb3AoKSA9PSBDb3VudEV4ZWN1dGlvbjsKKyAg
ICB9CiAKICAgICB1bnNpZ25lZCByZWZDb3VudCgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlRmxhZ3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdOb2RlRmxhZ3MuY3BwCmluZGV4IDM5NmNhNjExOTIxZGMxNjg1ZGMwNGJhM2Rl
NjA5N2I4NjRkMmI3NmYuLjYxZTllYzc0MjlmYjcxOWUyYTQ2MTg5ZDk5OTI5MjcwOTZkZjc0MmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZUZsYWdzLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVGbGFncy5jcHAKQEAgLTQ5LDYg
KzQ5LDkgQEAgdm9pZCBkdW1wTm9kZUZsYWdzKFByaW50U3RyZWFtJiBhY3R1YWxPdXQsIE5vZGVG
bGFncyBmbGFncykKICAgICAgICAgY2FzZSBOb2RlUmVzdWx0SW50MzI6CiAgICAgICAgICAgICBv
dXQucHJpbnQoY29tbWEsICJJbnQzMiIpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgTm9kZVJlc3VsdEludDUyOgorICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiSW50NTIi
KTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE5vZGVSZXN1bHRCb29sZWFuOgog
ICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCAiQm9vbGVhbiIpOwogICAgICAgICAgICAgYnJl
YWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkF2YWlsYWJp
bGl0eUFuYWx5c2lzUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JB
dmFpbGFiaWxpdHlBbmFseXNpc1BoYXNlLmNwcAppbmRleCBhNjQ5NjM1ODFhNDczN2M0ZThhMjkw
ODM4YTYyOGQyYTVjOTMzMTBmLi5mY2IyYzk0ODVjMTJmZmI5NjhmNjcwNDU0OTcyMzljN2YwODNi
Y2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkF2YWlsYWJp
bGl0eUFuYWx5c2lzUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
T1NSQXZhaWxhYmlsaXR5QW5hbHlzaXNQaGFzZS5jcHAKQEAgLTYxLDE1ICs2MSwxMyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICAgICAgQXZhaWxhYmlsaXR5Ojp1bmF2YWlsYWJsZSgpLndpdGhGbHVz
aCgKICAgICAgICAgICAgICAgICAgICAgRmx1c2hlZEF0KEZsdXNoZWRKU1ZhbHVlLCB2aXJ0dWFs
UmVnaXN0ZXJGb3JBcmd1bWVudChhcmd1bWVudCkpKTsKICAgICAgICAgfQotICAgICAgICBmb3Ig
KHVuc2lnbmVkIGxvY2FsID0gcm9vdC0+c3NhLT5hdmFpbGFiaWxpdHlBdEhlYWQubnVtYmVyT2ZM
b2NhbHMoKTsgbG9jYWwtLTspCi0gICAgICAgICAgICByb290LT5zc2EtPmF2YWlsYWJpbGl0eUF0
SGVhZC5sb2NhbChsb2NhbCkgPSBBdmFpbGFiaWxpdHk6OnVuYXZhaWxhYmxlKCk7Ci0gICAgICAg
IAorCiAgICAgICAgIGlmIChtX2dyYXBoLm1fcGxhbi5tb2RlID09IEZUTEZvck9TUkVudHJ5TW9k
ZSkgewotICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBsb2NhbCA9IG1fZ3JhcGgubV9wcm9maWxl
ZEJsb2NrLT5tX251bUNhbGxlZVJlZ2lzdGVyczsgbG9jYWwtLTspIHsKLSAgICAgICAgICAgICAg
ICByb290LT5zc2EtPmF2YWlsYWJpbGl0eUF0SGVhZC5sb2NhbChsb2NhbCkgPQotICAgICAgICAg
ICAgICAgICAgICBBdmFpbGFiaWxpdHk6OnVuYXZhaWxhYmxlKCkud2l0aEZsdXNoKAotICAgICAg
ICAgICAgICAgICAgICAgICAgRmx1c2hlZEF0KEZsdXNoZWRKU1ZhbHVlLCB2aXJ0dWFsUmVnaXN0
ZXJGb3JMb2NhbChsb2NhbCkpKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAodW5z
aWduZWQgbG9jYWwgPSBtX2dyYXBoLm1fcHJvZmlsZWRCbG9jay0+bV9udW1DYWxsZWVSZWdpc3Rl
cnM7IGxvY2FsLS07KQorICAgICAgICAgICAgICAgIHJvb3QtPnNzYS0+YXZhaWxhYmlsaXR5QXRI
ZWFkLmxvY2FsKGxvY2FsKSA9IEF2YWlsYWJpbGl0eTo6dW5hdmFpbGFibGUoKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgbG9jYWwgPSByb290LT5zc2EtPmF2
YWlsYWJpbGl0eUF0SGVhZC5udW1iZXJPZkxvY2FscygpOyBsb2NhbC0tOykKKyAgICAgICAgICAg
ICAgICByb290LT5zc2EtPmF2YWlsYWJpbGl0eUF0SGVhZC5sb2NhbChsb2NhbCkgPSBBdmFpbGFi
aWxpdHk6OnVuYXZhaWxhYmxlKCk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIC8vIFRo
aXMgY291bGQgYmUgbWFkZSBtb3JlIGVmZmljaWVudCBieSBwcm9jZXNzaW5nIGJsb2NrcyBpbiBy
ZXZlcnNlIHBvc3RvcmRlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHT1NSRW50cnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFbnRyeS5j
cHAKaW5kZXggYzEyODgxODc0MGM1MGJmOGVjZmFkZTFlNDhlNmQ3ZTI2MDcwMzhmNS4uZmVhY2Fl
OTdiODIxZDA4Mjc1NjQ3MzM5NjhhOGZhMzY2MWNhYzM0NiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFbnRyeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPU1JFbnRyeS5jcHAKQEAgLTQ0LDcgKzQ0LDEwIEBAIHZvaWQqIHByZXBhcmVP
U1JFbnRyeShFeGVjU3RhdGUqIGV4ZWMsIENvZGVCbG9jayogY29kZUJsb2NrLCB1bnNpZ25lZCBi
eXRlY29kZUluCiAgICAgQVNTRVJUKGNvZGVCbG9jay0+YWx0ZXJuYXRpdmUoKSk7CiAgICAgQVNT
RVJUKGNvZGVCbG9jay0+YWx0ZXJuYXRpdmUoKS0+aml0VHlwZSgpID09IEpJVENvZGU6OkJhc2Vs
aW5lSklUKTsKICAgICBBU1NFUlQoIWNvZGVCbG9jay0+aml0Q29kZU1hcCgpKTsKLSAgICAKKwor
ICAgIGlmICghT3B0aW9uczo6ZW5hYmxlT1NSRW50cnlUb0RGRygpKQorICAgICAgICByZXR1cm4g
MDsKKwogICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NSKCkpIHsKICAgICAgICAgZGF0YUxvZygK
ICAgICAgICAgICAgICJERkcgT1NSIGluICIsICpjb2RlQmxvY2stPmFsdGVybmF0aXZlKCksICIg
LT4gIiwgKmNvZGVCbG9jaywKQEAgLTUyLDggKzU1LDggQEAgdm9pZCogcHJlcGFyZU9TUkVudHJ5
KEV4ZWNTdGF0ZSogZXhlYywgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2Rl
SW4KICAgICB9CiAgICAgCiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7Ci0gICAgCi0gICAgdm0t
PmludGVycHJldGVyLT5zdGFjaygpLnNhbml0aXplU3RhY2soKTsKKworICAgIHNhbml0aXplU3Rh
Y2tGb3JWTSh2bSk7CiAgICAgCiAgICAgaWYgKGNvZGVCbG9jay0+aml0VHlwZSgpICE9IEpJVENv
ZGU6OkRGR0pJVCkgewogICAgICAgICBSRUxFQVNFX0FTU0VSVChjb2RlQmxvY2stPmppdFR5cGUo
KSA9PSBKSVRDb2RlOjpGVExKSVQpOwpAQCAtMTg1LDcgKzE4OCw3IEBAIHZvaWQqIHByZXBhcmVP
U1JFbnRyeShFeGVjU3RhdGUqIGV4ZWMsIENvZGVCbG9jayogY29kZUJsb2NrLCB1bnNpZ25lZCBi
eXRlY29kZUluCiAgICAgLy8gICAgd291bGQgaGF2ZSBvdGhlcndpc2UganVzdCBrZXB0IHJ1bm5p
bmcgYWxiZWl0IGxlc3MgcXVpY2tseS4KICAgICAKICAgICB1bnNpZ25lZCBmcmFtZVNpemUgPSBq
aXRDb2RlLT5jb21tb24ucmVxdWlyZWRSZWdpc3RlckNvdW50Rm9yRXhlY3V0aW9uQW5kRXhpdCgp
OwotICAgIGlmICghdm0tPmludGVycHJldGVyLT5zdGFjaygpLmdyb3coJmV4ZWMtPnJlZ2lzdGVy
cygpW3ZpcnR1YWxSZWdpc3RlckZvckxvY2FsKGZyYW1lU2l6ZSkub2Zmc2V0KCldKSkgeworICAg
IGlmICghdm0tPmludGVycHJldGVyLT5zdGFjaygpLmVuc3VyZUNhcGFjaXR5Rm9yKCZleGVjLT5y
ZWdpc3RlcnMoKVt2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChmcmFtZVNpemUgLSAxKS5vZmZzZXQo
KV0pKSB7CiAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NSKCkpCiAgICAgICAgICAgICBk
YXRhTG9nRigiICAgIE9TUiBmYWlsZWQgYmVjYXVzZSBzdGFjayBncm93dGggZmFpbGVkLlxuIik7
CiAgICAgICAgIHJldHVybiAwOwpAQCAtMjEzLDEyICsyMTYsMTQgQEAgdm9pZCogcHJlcGFyZU9T
UkVudHJ5KEV4ZWNTdGF0ZSogZXhlYywgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5
dGVjb2RlSW4KICAgICAKICAgICAvLyA1KSBDbGVhciB0aG9zZSBwYXJ0cyBvZiB0aGUgY2FsbCBm
cmFtZSB0aGF0IHRoZSBERkcgYWluJ3QgdXNpbmcuIFRoaXMgaGVscHMgR0Mgb24gc29tZQogICAg
IC8vICAgIHByb2dyYW1zIGJ5IGVsaW1pbmF0aW5nIHNvbWUgc3RhbGUgcG9pbnRlciBwYXRob2xv
Z2llcy4KLSAgICAKKworI2lmIDAgLy8gRklYTUU6IENTdGFjayAtIFRoaXMgbmVlZHMgdG8gYmUg
dmVyaWZpZWQgYmVmb3JlIGJlaW5nIGVuYWJsZWQKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBmcmFt
ZVNpemU7IGktLTspIHsKICAgICAgICAgaWYgKGVudHJ5LT5tX21hY2hpbmVTdGFja1VzZWQuZ2V0
KGkpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIHJlZ2lzdGVyc1t2aXJ0dWFsUmVn
aXN0ZXJGb3JMb2NhbChpKS5vZmZzZXQoKV0gPSBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsK
ICAgICB9CisjZW5kaWYKICAgICAKICAgICAvLyA2KSBGaXggdGhlIGNhbGwgZnJhbWUuCiAgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkVudHJ5cG9pbnRD
cmVhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRW50cnlw
b2ludENyZWF0aW9uUGhhc2UuY3BwCmluZGV4IDRmODJkMTVmYWNhZWMzOTNhNzMwMTVlMGY4ZjE2
MWZkOGQzZDZhNjMuLjI2NjE1MTA1MjZlN2RmYzE1ZTA3MmNlZDZlMWU4Njg3NzNjMGQxZDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRW50cnlwb2ludENyZWF0
aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRW50cnlw
b2ludENyZWF0aW9uUGhhc2UuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC02Myw3ICs2MywxMCBAQCBwdWJsaWM6CiAgICAgICAgICAg
ICBCYXNpY0Jsb2NrKiBibG9jayA9IG1fZ3JhcGguYmxvY2soYmxvY2tJbmRleCk7CiAgICAgICAg
ICAgICBpZiAoIWJsb2NrKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
dW5zaWduZWQgbm9kZUluZGV4ID0gMDsKICAgICAgICAgICAgIE5vZGUqIGZpcnN0Tm9kZSA9IGJs
b2NrLT5hdCgwKTsKKyAgICAgICAgICAgIHdoaWxlIChmaXJzdE5vZGUtPmlzU2VtYW50aWNhbGx5
U2tpcHBhYmxlKCkpCisgICAgICAgICAgICAgICAgZmlyc3ROb2RlID0gYmxvY2stPmF0KCsrbm9k
ZUluZGV4KTsKICAgICAgICAgICAgIGlmIChmaXJzdE5vZGUtPm9wKCkgPT0gTG9vcEhpbnQKICAg
ICAgICAgICAgICAgICAmJiBmaXJzdE5vZGUtPmNvZGVPcmlnaW4gPT0gQ29kZU9yaWdpbihieXRl
Y29kZUluZGV4KSkgewogICAgICAgICAgICAgICAgIHRhcmdldCA9IGJsb2NrOwpAQCAtODMsMTcg
Kzg2LDYgQEAgcHVibGljOgogICAgICAgICBCYXNpY0Jsb2NrKiBuZXdSb290ID0gaW5zZXJ0aW9u
U2V0Lmluc2VydCgwKTsKICAgICAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2luID0gdGFyZ2V0LT5h
dCgwKS0+Y29kZU9yaWdpbjsKICAgICAgICAgCi0gICAgICAgIGZvciAoaW50IGFyZ3VtZW50ID0g
MDsgYXJndW1lbnQgPCBiYXNlbGluZS0+bnVtUGFyYW1ldGVycygpOyArK2FyZ3VtZW50KSB7Ci0g
ICAgICAgICAgICBOb2RlKiBvbGROb2RlID0gdGFyZ2V0LT52YXJpYWJsZXNBdEhlYWQuYXJndW1l
bnQoYXJndW1lbnQpOwotICAgICAgICAgICAgaWYgKCFvbGROb2RlKSB7Ci0gICAgICAgICAgICAg
ICAgLy8gSnVzdCBmb3Igc2FuaXR5LCBhbHdheXMgaGF2ZSBhIFNldEFyZ3VtZW50IGV2ZW4gaWYg
aXQncyBub3QgbmVlZGVkLgotICAgICAgICAgICAgICAgIG9sZE5vZGUgPSBtX2dyYXBoLm1fYXJn
dW1lbnRzW2FyZ3VtZW50XTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIE5vZGUqIG5vZGUg
PSBuZXdSb290LT5hcHBlbmROb2RlKAotICAgICAgICAgICAgICAgIG1fZ3JhcGgsIFNwZWNOb25l
LCBTZXRBcmd1bWVudCwgY29kZU9yaWdpbiwKLSAgICAgICAgICAgICAgICBPcEluZm8ob2xkTm9k
ZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCkpKTsKLSAgICAgICAgICAgIG1fZ3JhcGgubV9hcmd1bWVu
dHNbYXJndW1lbnRdID0gbm9kZTsKLSAgICAgICAgfQogICAgICAgICBWZWN0b3I8Tm9kZSo+IGxv
Y2FscyhiYXNlbGluZS0+bV9udW1DYWxsZWVSZWdpc3RlcnMpOwogICAgICAgICBmb3IgKGludCBs
b2NhbCA9IDA7IGxvY2FsIDwgYmFzZWxpbmUtPm1fbnVtQ2FsbGVlUmVnaXN0ZXJzOyArK2xvY2Fs
KSB7CiAgICAgICAgICAgICBOb2RlKiBwcmV2aW91c0hlYWQgPSB0YXJnZXQtPnZhcmlhYmxlc0F0
SGVhZC5sb2NhbChsb2NhbCk7CkBAIC0xMDgsNiArMTAwLDE5IEBAIHB1YmxpYzoKICAgICAgICAg
ICAgICAgICBtX2dyYXBoLCBTcGVjTm9uZSwgTW92SGludCwgY29kZU9yaWdpbiwgT3BJbmZvKHZh
cmlhYmxlLT5sb2NhbCgpLm9mZnNldCgpKSwKICAgICAgICAgICAgICAgICBFZGdlKGxvY2Fsc1ts
b2NhbF0pKTsKICAgICAgICAgfQorCisgICAgICAgIGZvciAoaW50IGFyZ3VtZW50ID0gMDsgYXJn
dW1lbnQgPCBiYXNlbGluZS0+bnVtUGFyYW1ldGVycygpOyArK2FyZ3VtZW50KSB7CisgICAgICAg
ICAgICBOb2RlKiBvbGROb2RlID0gdGFyZ2V0LT52YXJpYWJsZXNBdEhlYWQuYXJndW1lbnQoYXJn
dW1lbnQpOworICAgICAgICAgICAgaWYgKCFvbGROb2RlKSB7CisgICAgICAgICAgICAgICAgLy8g
SnVzdCBmb3Igc2FuaXR5LCBhbHdheXMgaGF2ZSBhIFNldEFyZ3VtZW50IGV2ZW4gaWYgaXQncyBu
b3QgbmVlZGVkLgorICAgICAgICAgICAgICAgIG9sZE5vZGUgPSBtX2dyYXBoLm1fYXJndW1lbnRz
W2FyZ3VtZW50XTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBuZXdS
b290LT5hcHBlbmROb2RlKAorICAgICAgICAgICAgICAgIG1fZ3JhcGgsIFNwZWNOb25lLCBTZXRB
cmd1bWVudCwgY29kZU9yaWdpbiwKKyAgICAgICAgICAgICAgICBPcEluZm8ob2xkTm9kZS0+dmFy
aWFibGVBY2Nlc3NEYXRhKCkpKTsKKyAgICAgICAgICAgIG1fZ3JhcGgubV9hcmd1bWVudHNbYXJn
dW1lbnRdID0gbm9kZTsKKyAgICAgICAgfQorICAgICAgICAKICAgICAgICAgZm9yIChpbnQgbG9j
YWwgPSAwOyBsb2NhbCA8IGJhc2VsaW5lLT5tX251bUNhbGxlZVJlZ2lzdGVyczsgKytsb2NhbCkg
ewogICAgICAgICAgICAgTm9kZSogcHJldmlvdXNIZWFkID0gdGFyZ2V0LT52YXJpYWJsZXNBdEhl
YWQubG9jYWwobG9jYWwpOwogICAgICAgICAgICAgaWYgKCFwcmV2aW91c0hlYWQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5oCmluZGV4IGQ0MGVmZTRlMGZjZDQ3NjFlNGRmYjg5
MmNhOWEwNTUzYjhkMmNmMDIuLmFmMmVkYzlhMjM5OGI4ZTY2ZTMwNWRiNDAwYmM3MTk2NjFhMTI5
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5oCkBAIC0xMDUsNiArMTA1
LDExIEBAIHN0cnVjdCBPU1JFeGl0IDogcHVibGljIE9TUkV4aXRCYXNlIHsKICAgICB1bnNpZ25l
ZCBtX3N0cmVhbUluZGV4OwogICAgIAogICAgIFJlZlB0cjxWYWx1ZVJlY292ZXJ5T3ZlcnJpZGU+
IG1fdmFsdWVSZWNvdmVyeU92ZXJyaWRlOworICAgIAorICAgIGJvb2wgY29uc2lkZXJBZGRpbmdB
c0ZyZXF1ZW50RXhpdFNpdGUoQ29kZUJsb2NrKiBwcm9maWxlZENvZGVCbG9jaykKKyAgICB7Cisg
ICAgICAgIHJldHVybiBPU1JFeGl0QmFzZTo6Y29uc2lkZXJBZGRpbmdBc0ZyZXF1ZW50RXhpdFNp
dGUocHJvZmlsZWRDb2RlQmxvY2ssIEV4aXRGcm9tREZHKTsKKyAgICB9CiB9OwogCiBzdHJ1Y3Qg
U3BlY3VsYXRpb25GYWlsdXJlRGVidWdJbmZvIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHT1NSRXhpdEJhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdPU1JFeGl0QmFzZS5jcHAKaW5kZXggZWJmZDI3ZjJlMjg5YjUyMDMwYTVlZGJjMGViZmVh
MGNlY2ExN2M3OS4uYzVmMDAxZDdlNDI2ZjgzMWI4NjE5MGIzYjA3YmJkMDNiZjAzZTAzNCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0QmFzZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0QmFzZS5jcHAKQEAgLTM1LDcg
KzM1LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogCi1ib29sIE9TUkV4
aXRCYXNlOjpjb25zaWRlckFkZGluZ0FzRnJlcXVlbnRFeGl0U2l0ZVNsb3coQ29kZUJsb2NrKiBw
cm9maWxlZENvZGVCbG9jaykKK2Jvb2wgT1NSRXhpdEJhc2U6OmNvbnNpZGVyQWRkaW5nQXNGcmVx
dWVudEV4aXRTaXRlU2xvdyhDb2RlQmxvY2sqIHByb2ZpbGVkQ29kZUJsb2NrLCBFeGl0aW5nSklU
VHlwZSBqaXRUeXBlKQogewogICAgIENvZGVCbG9jayogc291cmNlUHJvZmlsZWRDb2RlQmxvY2sg
PQogICAgICAgICBiYXNlbGluZUNvZGVCbG9ja0Zvck9yaWdpbkFuZEJhc2VsaW5lQ29kZUJsb2Nr
KApAQCAtNDMsNyArNDMsNyBAQCBib29sIE9TUkV4aXRCYXNlOjpjb25zaWRlckFkZGluZ0FzRnJl
cXVlbnRFeGl0U2l0ZVNsb3coQ29kZUJsb2NrKiBwcm9maWxlZENvZGVCbAogICAgIGlmICghc291
cmNlUHJvZmlsZWRDb2RlQmxvY2spCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4g
c291cmNlUHJvZmlsZWRDb2RlQmxvY2stPmFkZEZyZXF1ZW50RXhpdFNpdGUoCi0gICAgICAgICAg
ICBGcmVxdWVudEV4aXRTaXRlKG1fY29kZU9yaWdpbkZvckV4aXRQcm9maWxlLmJ5dGVjb2RlSW5k
ZXgsIG1fa2luZCkpOworICAgICAgICBGcmVxdWVudEV4aXRTaXRlKG1fY29kZU9yaWdpbkZvckV4
aXRQcm9maWxlLmJ5dGVjb2RlSW5kZXgsIG1fa2luZCwgaml0VHlwZSkpOwogfQogCiB9IH0gLy8g
bmFtZXNwYWNlIEpTQzo6REZHCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR09TUkV4aXRCYXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRC
YXNlLmgKaW5kZXggZWUxZDY5ZGU3ZTE4YTQwMzBhNTYxYmM5MWMyMjM1ZDA2YzU2OGQyNy4uYzAy
MTQ2NWE3NTk1YmUzYzBkOTRjZTI1YmM1NTM3OWIxMWI5MTBiMCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0QmFzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHT1NSRXhpdEJhc2UuaApAQCAtNTgsMTUgKzU4LDE2IEBAIHN0cnVjdCBP
U1JFeGl0QmFzZSB7CiAgICAgQ29kZU9yaWdpbiBtX2NvZGVPcmlnaW47CiAgICAgQ29kZU9yaWdp
biBtX2NvZGVPcmlnaW5Gb3JFeGl0UHJvZmlsZTsKIAotICAgIGJvb2wgY29uc2lkZXJBZGRpbmdB
c0ZyZXF1ZW50RXhpdFNpdGUoQ29kZUJsb2NrKiBwcm9maWxlZENvZGVCbG9jaykKK3Byb3RlY3Rl
ZDoKKyAgICBib29sIGNvbnNpZGVyQWRkaW5nQXNGcmVxdWVudEV4aXRTaXRlKENvZGVCbG9jayog
cHJvZmlsZWRDb2RlQmxvY2ssIEV4aXRpbmdKSVRUeXBlIGppdFR5cGUpCiAgICAgewogICAgICAg
ICBpZiAoIW1fY291bnQpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJldHVy
biBjb25zaWRlckFkZGluZ0FzRnJlcXVlbnRFeGl0U2l0ZVNsb3cocHJvZmlsZWRDb2RlQmxvY2sp
OworICAgICAgICByZXR1cm4gY29uc2lkZXJBZGRpbmdBc0ZyZXF1ZW50RXhpdFNpdGVTbG93KHBy
b2ZpbGVkQ29kZUJsb2NrLCBqaXRUeXBlKTsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgYm9vbCBj
b25zaWRlckFkZGluZ0FzRnJlcXVlbnRFeGl0U2l0ZVNsb3coQ29kZUJsb2NrKiBwcm9maWxlZENv
ZGVCbG9jayk7CisgICAgYm9vbCBjb25zaWRlckFkZGluZ0FzRnJlcXVlbnRFeGl0U2l0ZVNsb3co
Q29kZUJsb2NrKiBwcm9maWxlZENvZGVCbG9jaywgRXhpdGluZ0pJVFR5cGUgaml0VHlwZSk7CiB9
OwogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09TUkV4aXRDb21waWxlci5jcHAKaW5kZXggZjhjOWZiMDY3YjFkN2I2MzMxM2Fk
NjAzM2Q0Mjk2YTQ2ZTY2NzUzNy4uMDNmMGQ4NTExYzY4MmU3YzA5MWIxOTA1Njg1NGM2ZTFmOTdl
NjhiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29t
cGlsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBp
bGVyLmNwcApAQCAtOTYsNyArOTYsNyBAQCB2b2lkIGNvbXBpbGVPU1JFeGl0KEV4ZWNTdGF0ZSog
ZXhlYykKICAgICAgICAgCiAgICAgICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIoKnZtLCAmaml0
LCBjb2RlQmxvY2spOwogICAgICAgICBleGl0Lm1fY29kZSA9IEZJTkFMSVpFX0NPREVfSUYoCi0g
ICAgICAgICAgICBzaG91bGRTaG93RGlzYXNzZW1ibHkoKSwKKyAgICAgICAgICAgIHNob3VsZFNo
b3dEaXNhc3NlbWJseSgpIHx8IE9wdGlvbnM6OnZlcmJvc2VPU1IoKSwKICAgICAgICAgICAgIHBh
dGNoQnVmZmVyLAogICAgICAgICAgICAgKCJERkcgT1NSIGV4aXQgIyV1ICglcywgJXMpIGZyb20g
JXMsIHdpdGggb3BlcmFuZHMgPSAlcyIsCiAgICAgICAgICAgICAgICAgZXhpdEluZGV4LCB0b0NT
dHJpbmcoZXhpdC5tX2NvZGVPcmlnaW4pLmRhdGEoKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyMzJfNjQuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIzMl82NC5jcHAKaW5kZXggOTQwMmQxMTVl
ODdmYWUxYWJlN2MyOWIzMjMwYjllYThmOTA1MTQxNi4uYTE3Yzk3NzhkY2RlMzhkZWUxYTU3ZmQy
NTY4OGQ1YTg2OGEwMmM1ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdPU1JFeGl0Q29tcGlsZXIzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdPU1JFeGl0Q29tcGlsZXIzMl82NC5jcHAKQEAgLTQ2LDYgKzQ2LDEyIEBAIHZvaWQgT1NS
RXhpdENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCBPU1JFeGl0JiBleGl0LCBjb25zdCBPcGVy
YW5kczxWYWx1ZVJlY292CiAgICAgICAgIG1faml0LmRlYnVnQ2FsbChkZWJ1Z09wZXJhdGlvblBy
aW50U3BlY3VsYXRpb25GYWlsdXJlLCBkZWJ1Z0luZm8pOwogICAgIH0KICAgICAKKyAgICAvLyBO
ZWVkIHRvIGVuc3VyZSB0aGF0IHRoZSBzdGFjayBwb2ludGVyIGFjY291bnRzIGZvciB0aGUgd29y
c3QtY2FzZSBzdGFjayB1c2FnZSBhdCBleGl0LgorICAgIG1faml0LmFkZFB0cigKKyAgICAgICAg
Q0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoCisgICAgICAgICAgICAtbV9qaXQuY29kZUJsb2Nr
KCktPmppdENvZGUoKS0+ZGZnQ29tbW9uKCktPnJlcXVpcmVkUmVnaXN0ZXJDb3VudEZvckV4aXQg
KiBzaXplb2YoUmVnaXN0ZXIpKSwKKyAgICAgICAgQ0NhbGxIZWxwZXJzOjpmcmFtZVBvaW50ZXJS
ZWdpc3RlciwgQ0NhbGxIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgCiAgICAg
Ly8gMikgUGVyZm9ybSBzcGVjdWxhdGlvbiByZWNvdmVyeS4gVGhpcyBvbmx5IGNvbWVzIGludG8g
cGxheSB3aGVuIGFuIG9wZXJhdGlvbgogICAgIC8vICAgIHN0YXJ0cyBtdXRhdGluZyBzdGF0ZSBi
ZWZvcmUgdmVyaWZ5aW5nIHRoZSBzcGVjdWxhdGlvbiBpdCBoYXMgYWxyZWFkeSBtYWRlLgogICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGls
ZXI2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjY0
LmNwcAppbmRleCAyMTlhNWU2OGFmZGNiMGM4MTk4YWMxYjE1NWM3NzFhZTU5ZDJmZTY1Li5hNTNi
NGNlOTExYmJlMjEyZGViZWRlYmI0NDVkMDVlNDkyOWMxMmE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjY0LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjY0LmNwcApAQCAtNDAsNiArNDAs
OCBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAKIHZvaWQgT1NSRXhpdENvbXBp
bGVyOjpjb21waWxlRXhpdChjb25zdCBPU1JFeGl0JiBleGl0LCBjb25zdCBPcGVyYW5kczxWYWx1
ZVJlY292ZXJ5PiYgb3BlcmFuZHMsIFNwZWN1bGF0aW9uUmVjb3ZlcnkqIHJlY292ZXJ5KQogewor
ICAgIG1faml0LmppdEFzc2VydFRhZ3NJblBsYWNlKCk7CisKICAgICAvLyAxKSBQcm8tZm9ybWEg
c3R1ZmYuCiAgICAgaWYgKE9wdGlvbnM6OnByaW50RWFjaE9TUkV4aXQoKSkgewogICAgICAgICBT
cGVjdWxhdGlvbkZhaWx1cmVEZWJ1Z0luZm8qIGRlYnVnSW5mbyA9IG5ldyBTcGVjdWxhdGlvbkZh
aWx1cmVEZWJ1Z0luZm87CkBAIC00OCw2ICs1MCwxMiBAQCB2b2lkIE9TUkV4aXRDb21waWxlcjo6
Y29tcGlsZUV4aXQoY29uc3QgT1NSRXhpdCYgZXhpdCwgY29uc3QgT3BlcmFuZHM8VmFsdWVSZWNv
dgogICAgICAgICBtX2ppdC5kZWJ1Z0NhbGwoZGVidWdPcGVyYXRpb25QcmludFNwZWN1bGF0aW9u
RmFpbHVyZSwgZGVidWdJbmZvKTsKICAgICB9CiAgICAgCisgICAgLy8gTmVlZCB0byBlbnN1cmUg
dGhhdCB0aGUgc3RhY2sgcG9pbnRlciBhY2NvdW50cyBmb3IgdGhlIHdvcnN0LWNhc2Ugc3RhY2sg
dXNhZ2UgYXQgZXhpdC4KKyAgICBtX2ppdC5hZGRQdHIoCisgICAgICAgIENDYWxsSGVscGVyczo6
VHJ1c3RlZEltbTMyKAorICAgICAgICAgICAgLW1faml0LmNvZGVCbG9jaygpLT5qaXRDb2RlKCkt
PmRmZ0NvbW1vbigpLT5yZXF1aXJlZFJlZ2lzdGVyQ291bnRGb3JFeGl0ICogc2l6ZW9mKFJlZ2lz
dGVyKSksCisgICAgICAgIENDYWxsSGVscGVyczo6ZnJhbWVQb2ludGVyUmVnaXN0ZXIsIENDYWxs
SGVscGVyczo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIAogICAgIC8vIDIpIFBlcmZvcm0g
c3BlY3VsYXRpb24gcmVjb3ZlcnkuIFRoaXMgb25seSBjb21lcyBpbnRvIHBsYXkgd2hlbiBhbiBv
cGVyYXRpb24KICAgICAvLyAgICBzdGFydHMgbXV0YXRpbmcgc3RhdGUgYmVmb3JlIHZlcmlmeWlu
ZyB0aGUgc3BlY3VsYXRpb24gaXQgaGFzIGFscmVhZHkgbWFkZS4KICAgICAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNwcApp
bmRleCA5Zjg0YTI5NjgwODAzYWQzMWEyYjJlNTIxMTZmM2JkZjJkYjkyNWRjLi43ZjFkOGM0YzY4
YzM3MjYzNzBjYWNkMzJmMjAwNzZiZDIzY2M0NTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwCkBAIC0zMCw2ICsz
MCw3IEBACiAKICNpbmNsdWRlICJBcmd1bWVudHMuaCIKICNpbmNsdWRlICJERkdPcGVyYXRpb25z
LmgiCisjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZUlubGluZXMuaCIKICNp
bmNsdWRlICJPcGVyYXRpb25zLmgiCiAKQEAgLTE3Myw3ICsxNzQsMTEgQEAgdm9pZCBhZGp1c3RB
bmRKdW1wVG9UYXJnZXQoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IE9TUkV4aXRCYXNlJiBleGl0
KQogICAgIEFTU0VSVChtYXBwaW5nLT5tX2J5dGVjb2RlSW5kZXggPT0gZXhpdC5tX2NvZGVPcmln
aW4uYnl0ZWNvZGVJbmRleCk7CiAgICAgCiAgICAgdm9pZCoganVtcFRhcmdldCA9IGJhc2VsaW5l
Q29kZUJsb2NrLT5qaXRDb2RlKCktPmV4ZWN1dGFibGVBZGRyZXNzQXRPZmZzZXQobWFwcGluZy0+
bV9tYWNoaW5lQ29kZU9mZnNldCk7CisKKyAgICBqaXQuYWRkUHRyKEFzc2VtYmx5SGVscGVyczo6
VHJ1c3RlZEltbTMyKEpJVDo6c3RhY2tQb2ludGVyT2Zmc2V0Rm9yKGJhc2VsaW5lQ29kZUJsb2Nr
KSAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgQXNzZW1i
bHlIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAgICAgCisgICAgaml0LmppdEFzc2Vy
dFRhZ3NJblBsYWNlKCk7CisKICAgICBqaXQubW92ZShBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJ
bW1QdHIoanVtcFRhcmdldCksIEdQUkluZm86OnJlZ1QyKTsKICAgICBqaXQuanVtcChHUFJJbmZv
OjpyZWdUMik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09w
ZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNw
cAppbmRleCBiMzFiNmZjZGM0MjIyOGY3Mjk3MDA5YTdlMjczMTAwYmY1NTM4YzYxLi4yZmYwYzM0
MTQ2ZTJjMGJhMmZmNzZjNGQzZjdjNDZiYTNlMjU1MTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKQEAgLTExNDAsNyArMTE0MCw3IEBAIHZvaWQgSklU
X09QRVJBVElPTiB0cmlnZ2VyVGllclVwTm93KEV4ZWNTdGF0ZSogZXhlYykKICAgICB9CiAgICAg
CiAgICAgV29ya2xpc3Q6OlN0YXRlIHdvcmtsaXN0U3RhdGU7Ci0gICAgaWYgKFdvcmtsaXN0KiB3
b3JrbGlzdCA9IHZtLT53b3JrbGlzdC5nZXQoKSkgeworICAgIGlmIChXb3JrbGlzdCogd29ya2xp
c3QgPSBleGlzdGluZ0dsb2JhbEZUTFdvcmtsaXN0T3JOdWxsKCkpIHsKICAgICAgICAgd29ya2xp
c3RTdGF0ZSA9IHdvcmtsaXN0LT5jb21wbGV0ZUFsbFJlYWR5UGxhbnNGb3JWTSgKICAgICAgICAg
ICAgICp2bSwgQ29tcGlsYXRpb25LZXkoY29kZUJsb2NrLT5iYXNlbGluZVZlcnNpb24oKSwgRlRM
TW9kZSkpOwogICAgIH0gZWxzZQpAQCAtMTE2OSw4ICsxMTY5LDggQEAgdm9pZCBKSVRfT1BFUkFU
SU9OIHRyaWdnZXJUaWVyVXBOb3coRXhlY1N0YXRlKiBleGVjKQogCiAgICAgLy8gV2UgbmVlZCB0
byBjb21waWxlIHRoZSBjb2RlLgogICAgIGNvbXBpbGUoCi0gICAgICAgICp2bSwgY29kZUJsb2Nr
LT5uZXdSZXBsYWNlbWVudCgpLmdldCgpLCBGVExNb2RlLCBVSU5UX01BWCwgT3BlcmFuZHM8SlNW
YWx1ZT4oKSwKLSAgICAgICAgVG9GVExEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s6OmNyZWF0
ZShjb2RlQmxvY2spLCB2bS0+ZW5zdXJlV29ya2xpc3QoKSk7CisgICAgICAgICp2bSwgY29kZUJs
b2NrLT5uZXdSZXBsYWNlbWVudCgpLmdldCgpLCBjb2RlQmxvY2ssIEZUTE1vZGUsIFVJTlRfTUFY
LAorICAgICAgICBPcGVyYW5kczxKU1ZhbHVlPigpLCBUb0ZUTERlZmVycmVkQ29tcGlsYXRpb25D
YWxsYmFjazo6Y3JlYXRlKGNvZGVCbG9jaykpOwogfQogCiBjaGFyKiBKSVRfT1BFUkFUSU9OIHRy
aWdnZXJPU1JFbnRyeU5vdygKQEAgLTEyMDIsOCArMTIwMiwxMCBAQCBjaGFyKiBKSVRfT1BFUkFU
SU9OIHRyaWdnZXJPU1JFbnRyeU5vdygKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgIAor
ICAgIFdvcmtsaXN0KiB3b3JrbGlzdCA9IGV4aXN0aW5nR2xvYmFsRlRMV29ya2xpc3RPck51bGwo
KTsKKwogICAgIFdvcmtsaXN0OjpTdGF0ZSB3b3JrbGlzdFN0YXRlOwotICAgIGlmIChXb3JrbGlz
dCogd29ya2xpc3QgPSB2bS0+d29ya2xpc3QuZ2V0KCkpIHsKKyAgICBpZiAod29ya2xpc3QpIHsK
ICAgICAgICAgd29ya2xpc3RTdGF0ZSA9IHdvcmtsaXN0LT5jb21wbGV0ZUFsbFJlYWR5UGxhbnNG
b3JWTSgKICAgICAgICAgICAgICp2bSwgQ29tcGlsYXRpb25LZXkoY29kZUJsb2NrLT5iYXNlbGlu
ZVZlcnNpb24oKSwgRlRMRm9yT1NSRW50cnlNb2RlKSk7CiAgICAgfSBlbHNlCkBAIC0xMjUyLDEw
ICsxMjU0LDkgQEAgY2hhciogSklUX09QRVJBVElPTiB0cmlnZ2VyT1NSRW50cnlOb3coCiAgICAg
T3BlcmFuZHM8SlNWYWx1ZT4gbXVzdEhhbmRsZVZhbHVlczsKICAgICBqaXRDb2RlLT5yZWNvbnN0
cnVjdCgKICAgICAgICAgZXhlYywgY29kZUJsb2NrLCBDb2RlT3JpZ2luKGJ5dGVjb2RlSW5kZXgp
LCBzdHJlYW1JbmRleCwgbXVzdEhhbmRsZVZhbHVlcyk7Ci0gICAgQ29tcGlsYXRpb25SZXN1bHQg
Zm9yRW50cnlSZXN1bHQgPSBERkc6OmNvbXBpbGUoCi0gICAgICAgICp2bSwgY29kZUJsb2NrLT5u
ZXdSZXBsYWNlbWVudCgpLmdldCgpLCBGVExGb3JPU1JFbnRyeU1vZGUsIGJ5dGVjb2RlSW5kZXgs
Ci0gICAgICAgIG11c3RIYW5kbGVWYWx1ZXMsIFRvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENvbXBp
bGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZShjb2RlQmxvY2spLAotICAgICAgICB2bS0+ZW5zdXJlV29y
a2xpc3QoKSk7CisgICAgQ29tcGlsYXRpb25SZXN1bHQgZm9yRW50cnlSZXN1bHQgPSBjb21waWxl
KAorICAgICAgICAqdm0sIGNvZGVCbG9jay0+bmV3UmVwbGFjZW1lbnQoKS5nZXQoKSwgY29kZUJs
b2NrLCBGVExGb3JPU1JFbnRyeU1vZGUsIGJ5dGVjb2RlSW5kZXgsCisgICAgICAgIG11c3RIYW5k
bGVWYWx1ZXMsIFRvRlRMRm9yT1NSRW50cnlEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s6OmNy
ZWF0ZShjb2RlQmxvY2spKTsKICAgICAKICAgICAvLyBCdXQgd2UgYWxzbyB3YW50IHRvIHRyaWdn
ZXIgYSByZXBsYWNlbWVudCBjb21waWxlLiBPZiBjb3Vyc2UsIHdlIGRvbid0IHdhbnQgdG8KICAg
ICAvLyB0cmlnZ2VyIGl0IGlmIHdlIGRvbid0IG5lZWQgdG8uIE5vdGUgdGhhdCB0aGlzIGlzIGtp
bmQgb2Ygd2VpcmQgYmVjYXVzZSB3ZSBtaWdodApAQCAtMTI2OCwxMSArMTI2OSwxMSBAQCBjaGFy
KiBKSVRfT1BFUkFUSU9OIHRyaWdnZXJPU1JFbnRyeU5vdygKICAgICBDb21waWxhdGlvbktleSBr
ZXlGb3JSZXBsYWNlbWVudChjb2RlQmxvY2stPmJhc2VsaW5lVmVyc2lvbigpLCBGVExNb2RlKTsK
ICAgICBpZiAoY29kZUJsb2NrLT5jb2RlVHlwZSgpICE9IEdsb2JhbENvZGUKICAgICAgICAgJiYg
IWNvZGVCbG9jay0+aGFzT3B0aW1pemVkUmVwbGFjZW1lbnQoKQotICAgICAgICAmJiAoIXZtLT53
b3JrbGlzdC5nZXQoKQotICAgICAgICAgICAgfHwgdm0tPndvcmtsaXN0LT5jb21waWxhdGlvblN0
YXRlKGtleUZvclJlcGxhY2VtZW50KSA9PSBXb3JrbGlzdDo6Tm90S25vd24pKSB7CisgICAgICAg
ICYmICghd29ya2xpc3QKKyAgICAgICAgICAgIHx8IHdvcmtsaXN0LT5jb21waWxhdGlvblN0YXRl
KGtleUZvclJlcGxhY2VtZW50KSA9PSBXb3JrbGlzdDo6Tm90S25vd24pKSB7CiAgICAgICAgIGNv
bXBpbGUoCi0gICAgICAgICAgICAqdm0sIGNvZGVCbG9jay0+bmV3UmVwbGFjZW1lbnQoKS5nZXQo
KSwgRlRMTW9kZSwgVUlOVF9NQVgsIE9wZXJhbmRzPEpTVmFsdWU+KCksCi0gICAgICAgICAgICBU
b0ZUTERlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjazo6Y3JlYXRlKGNvZGVCbG9jayksIHZtLT5l
bnN1cmVXb3JrbGlzdCgpKTsKKyAgICAgICAgICAgICp2bSwgY29kZUJsb2NrLT5uZXdSZXBsYWNl
bWVudCgpLmdldCgpLCBjb2RlQmxvY2ssIEZUTE1vZGUsIFVJTlRfTUFYLAorICAgICAgICAgICAg
T3BlcmFuZHM8SlNWYWx1ZT4oKSwgVG9GVExEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s6OmNy
ZWF0ZShjb2RlQmxvY2spKTsKICAgICB9CiAgICAgCiAgICAgaWYgKGZvckVudHJ5UmVzdWx0ICE9
IENvbXBpbGF0aW9uU3VjY2Vzc2Z1bCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHUGxhbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3Bw
CmluZGV4IDhjMzcwODM4MzBmODBjNTY4OGJkNWY1MjczY2QyZWRjNjNjOWM1NWMuLjI4NjNhMDhk
MDI3YzRjNGMyOTU0NjI1YTgwOTIyZmU1YjdmMzAxMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQbGFuLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtOTAsMTcgKzkwLDM3IEBAIHN0YXRpYyB2b2lkIGR1bXBBbmRWZXJpZnlH
cmFwaChHcmFwaCYgZ3JhcGgsIGNvbnN0IGNoYXIqIHRleHQpCiAgICAgICAgIHZhbGlkYXRlKGdy
YXBoLCBtb2RlRm9yRmluYWxWYWxpZGF0ZSk7CiB9CiAKK3N0YXRpYyBQcm9maWxlcjo6Q29tcGls
YXRpb25LaW5kIHByb2ZpbGVyQ29tcGlsYXRpb25LaW5kRm9yTW9kZShDb21waWxhdGlvbk1vZGUg
bW9kZSkKK3sKKyAgICBzd2l0Y2ggKG1vZGUpIHsKKyAgICBjYXNlIEludmFsaWRDb21waWxhdGlv
bk1vZGU6CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJl
dHVybiBQcm9maWxlcjo6REZHOworICAgIGNhc2UgREZHTW9kZToKKyAgICAgICAgcmV0dXJuIFBy
b2ZpbGVyOjpERkc7CisgICAgY2FzZSBGVExNb2RlOgorICAgICAgICByZXR1cm4gUHJvZmlsZXI6
OkZUTDsKKyAgICBjYXNlIEZUTEZvck9TUkVudHJ5TW9kZToKKyAgICAgICAgcmV0dXJuIFByb2Zp
bGVyOjpGVExGb3JPU1JFbnRyeTsKKyAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICByZXR1cm4gUHJvZmlsZXI6OkRGRzsKK30KKwogUGxhbjo6UGxhbigKLSAgICBQ
YXNzUmVmUHRyPENvZGVCbG9jaz4gcGFzc2VkQ29kZUJsb2NrLCBDb21waWxhdGlvbk1vZGUgbW9k
ZSwKLSAgICB1bnNpZ25lZCBvc3JFbnRyeUJ5dGVjb2RlSW5kZXgsIGNvbnN0IE9wZXJhbmRzPEpT
VmFsdWU+JiBtdXN0SGFuZGxlVmFsdWVzKQorICAgIFBhc3NSZWZQdHI8Q29kZUJsb2NrPiBwYXNz
ZWRDb2RlQmxvY2ssIENvZGVCbG9jayogcHJvZmlsZWRERkdDb2RlQmxvY2ssCisgICAgQ29tcGls
YXRpb25Nb2RlIG1vZGUsIHVuc2lnbmVkIG9zckVudHJ5Qnl0ZWNvZGVJbmRleCwKKyAgICBjb25z
dCBPcGVyYW5kczxKU1ZhbHVlPiYgbXVzdEhhbmRsZVZhbHVlcykKICAgICA6IHZtKCpwYXNzZWRD
b2RlQmxvY2stPnZtKCkpCiAgICAgLCBjb2RlQmxvY2socGFzc2VkQ29kZUJsb2NrKQorICAgICwg
cHJvZmlsZWRERkdDb2RlQmxvY2socHJvZmlsZWRERkdDb2RlQmxvY2spCiAgICAgLCBtb2RlKG1v
ZGUpCiAgICAgLCBvc3JFbnRyeUJ5dGVjb2RlSW5kZXgob3NyRW50cnlCeXRlY29kZUluZGV4KQog
ICAgICwgbXVzdEhhbmRsZVZhbHVlcyhtdXN0SGFuZGxlVmFsdWVzKQotICAgICwgY29tcGlsYXRp
b24oY29kZUJsb2NrLT52bSgpLT5tX3BlckJ5dGVjb2RlUHJvZmlsZXIgPyBhZG9wdFJlZihuZXcg
UHJvZmlsZXI6OkNvbXBpbGF0aW9uKGNvZGVCbG9jay0+dm0oKS0+bV9wZXJCeXRlY29kZVByb2Zp
bGVyLT5lbnN1cmVCeXRlY29kZXNGb3IoY29kZUJsb2NrLmdldCgpKSwgUHJvZmlsZXI6OkRGRykp
IDogMCkKKyAgICAsIGNvbXBpbGF0aW9uKGNvZGVCbG9jay0+dm0oKS0+bV9wZXJCeXRlY29kZVBy
b2ZpbGVyID8gYWRvcHRSZWYobmV3IFByb2ZpbGVyOjpDb21waWxhdGlvbihjb2RlQmxvY2stPnZt
KCktPm1fcGVyQnl0ZWNvZGVQcm9maWxlci0+ZW5zdXJlQnl0ZWNvZGVzRm9yKGNvZGVCbG9jay5n
ZXQoKSksIHByb2ZpbGVyQ29tcGlsYXRpb25LaW5kRm9yTW9kZShtb2RlKSkpIDogMCkKICAgICAs
IGlkZW50aWZpZXJzKGNvZGVCbG9jay5nZXQoKSkKICAgICAsIHdlYWtSZWZlcmVuY2VzKGNvZGVC
bG9jay5nZXQoKSkKKyAgICAsIHdpbGxUcnlUb1RpZXJVcChmYWxzZSkKICAgICAsIGlzQ29tcGls
ZWQoZmFsc2UpCiB7CiB9CkBAIC0xMDksMTAgKzEyOSwxNiBAQCBQbGFuOjp+UGxhbigpCiB7CiB9
CiAKK2Jvb2wgUGxhbjo6cmVwb3J0Q29tcGlsZVRpbWVzKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
T3B0aW9uczo6cmVwb3J0Q29tcGlsZVRpbWVzKCkKKyAgICAgICAgfHwgKE9wdGlvbnM6OnJlcG9y
dEZUTENvbXBpbGVUaW1lcygpICYmIGlzRlRMKG1vZGUpKTsKK30KKwogdm9pZCBQbGFuOjpjb21w
aWxlSW5UaHJlYWQoTG9uZ0xpdmVkU3RhdGUmIGxvbmdMaXZlZFN0YXRlKQogewogICAgIGRvdWJs
ZSBiZWZvcmUgPSAwOwotICAgIGlmIChPcHRpb25zOjpyZXBvcnRDb21waWxlVGltZXMoKSkKKyAg
ICBpZiAocmVwb3J0Q29tcGlsZVRpbWVzKCkpCiAgICAgICAgIGJlZm9yZSA9IGN1cnJlbnRUaW1l
TVMoKTsKICAgICAKICAgICBTYW1wbGluZ1JlZ2lvbiBzYW1wbGluZ1JlZ2lvbigiREZHIENvbXBp
bGF0aW9uIChQbGFuKSIpOwpAQCAtMTI1LDcgKzE1MSw3IEBAIHZvaWQgUGxhbjo6Y29tcGlsZUlu
VGhyZWFkKExvbmdMaXZlZFN0YXRlJiBsb25nTGl2ZWRTdGF0ZSkKIAogICAgIFJFTEVBU0VfQVNT
RVJUKGZpbmFsaXplcik7CiAgICAgCi0gICAgaWYgKE9wdGlvbnM6OnJlcG9ydENvbXBpbGVUaW1l
cygpKSB7CisgICAgaWYgKHJlcG9ydENvbXBpbGVUaW1lcygpKSB7CiAgICAgICAgIGNvbnN0IGNo
YXIqIHBhdGhOYW1lOwogICAgICAgICBzd2l0Y2ggKHBhdGgpIHsKICAgICAgICAgY2FzZSBGYWls
UGF0aDoKQEAgLTE0Myw3ICsxNjksNyBAQCB2b2lkIFBsYW46OmNvbXBpbGVJblRocmVhZChMb25n
TGl2ZWRTdGF0ZSYgbG9uZ0xpdmVkU3RhdGUpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgICAgICBkb3VibGUgbm93ID0gY3VycmVudFRpbWVNUygpOwotICAgICAgICBkYXRhTG9n
KCJPcHRpbWl6ZWQgIiwgKmNvZGVCbG9jay0+YWx0ZXJuYXRpdmUoKSwgIiB1c2luZyAiLCBtb2Rl
LCAiIHdpdGggIiwgcGF0aE5hbWUsICIgaW4gIiwgbm93IC0gYmVmb3JlLCAiIG1zIik7CisgICAg
ICAgIGRhdGFMb2coIk9wdGltaXplZCAiLCAqY29kZUJsb2NrLCAiIHVzaW5nICIsIG1vZGUsICIg
d2l0aCAiLCBwYXRoTmFtZSwgIiBpbnRvICIsIGZpbmFsaXplci0+Y29kZVNpemUoKSwgIiBieXRl
cyBpbiAiLCBub3cgLSBiZWZvcmUsICIgbXMiKTsKICAgICAgICAgaWYgKHBhdGggPT0gRlRMUGF0
aCkKICAgICAgICAgICAgIGRhdGFMb2coIiAoREZHOiAiLCBiZWZvcmVGVEwgLSBiZWZvcmUsICIs
IExMVk06ICIsIG5vdyAtIGJlZm9yZUZUTCwgIikiKTsKICAgICAgICAgZGF0YUxvZygiLlxuIik7
CkBAIC0yOTIsNyArMzE4LDcgQEAgUGxhbjo6Q29tcGlsYXRpb25QYXRoIFBsYW46OmNvbXBpbGVJ
blRocmVhZEltcGwoTG9uZ0xpdmVkU3RhdGUmIGxvbmdMaXZlZFN0YXRlKQogICAgICAgICBGVEw6
OlN0YXRlIHN0YXRlKGRmZyk7CiAgICAgICAgIEZUTDo6bG93ZXJERkdUb0xMVk0oc3RhdGUpOwog
ICAgICAgICAKLSAgICAgICAgaWYgKE9wdGlvbnM6OnJlcG9ydENvbXBpbGVUaW1lcygpKQorICAg
ICAgICBpZiAocmVwb3J0Q29tcGlsZVRpbWVzKCkpCiAgICAgICAgICAgICBiZWZvcmVGVEwgPSBj
dXJyZW50VGltZU1TKCk7CiAgICAgICAgIAogICAgICAgICBpZiAoT3B0aW9uczo6bGx2bUFsd2F5
c0ZhaWxzQmVmb3JlQ29tcGlsZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1BsYW4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5oCmlu
ZGV4IGE2MDI2OTc5ODgzZTMyNzE5M2E3ODY2NDE5OTMyZGY3MDEyYzc2ZWIuLjFmNmJjZTBjNDE3
YjE1MzI4Nzk4NDkzNWZkYmY5NThjODc5YjRhODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHUGxhbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
UGxhbi5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC01NSw3ICs1NSw4IEBAIGNsYXNzIExvbmdMaXZlZFN0YXRlOwogCiBzdHJ1Y3QgUGxh
biA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxQbGFuPiB7CiAgICAgUGxhbigKLSAgICAg
ICAgUGFzc1JlZlB0cjxDb2RlQmxvY2s+LCBDb21waWxhdGlvbk1vZGUsIHVuc2lnbmVkIG9zckVu
dHJ5Qnl0ZWNvZGVJbmRleCwKKyAgICAgICAgUGFzc1JlZlB0cjxDb2RlQmxvY2s+IGNvZGVCbG9j
a1RvQ29tcGlsZSwgQ29kZUJsb2NrKiBwcm9maWxlZERGR0NvZGVCbG9jaywKKyAgICAgICAgQ29t
cGlsYXRpb25Nb2RlLCB1bnNpZ25lZCBvc3JFbnRyeUJ5dGVjb2RlSW5kZXgsCiAgICAgICAgIGNv
bnN0IE9wZXJhbmRzPEpTVmFsdWU+JiBtdXN0SGFuZGxlVmFsdWVzKTsKICAgICB+UGxhbigpOwog
ICAgIApAQCAtNzAsNiArNzEsNyBAQCBzdHJ1Y3QgUGxhbiA6IHB1YmxpYyBUaHJlYWRTYWZlUmVm
Q291bnRlZDxQbGFuPiB7CiAgICAgCiAgICAgVk0mIHZtOwogICAgIFJlZlB0cjxDb2RlQmxvY2s+
IGNvZGVCbG9jazsKKyAgICBSZWZQdHI8Q29kZUJsb2NrPiBwcm9maWxlZERGR0NvZGVCbG9jazsK
ICAgICBDb21waWxhdGlvbk1vZGUgbW9kZTsKICAgICBjb25zdCB1bnNpZ25lZCBvc3JFbnRyeUJ5
dGVjb2RlSW5kZXg7CiAgICAgT3BlcmFuZHM8SlNWYWx1ZT4gbXVzdEhhbmRsZVZhbHVlczsKQEAg
LTg0LDYgKzg2LDggQEAgc3RydWN0IFBsYW4gOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
UGxhbj4gewogICAgIERlc2lyZWRXZWFrUmVmZXJlbmNlcyB3ZWFrUmVmZXJlbmNlczsKICAgICBE
ZXNpcmVkV3JpdGVCYXJyaWVycyB3cml0ZUJhcnJpZXJzOwogICAgIERlc2lyZWRUcmFuc2l0aW9u
cyB0cmFuc2l0aW9uczsKKyAgICAKKyAgICBib29sIHdpbGxUcnlUb1RpZXJVcDsKIAogICAgIGRv
dWJsZSBiZWZvcmVGVEw7CiAgICAgCkBAIC05Miw2ICs5Niw4IEBAIHN0cnVjdCBQbGFuIDogcHVi
bGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFBsYW4+IHsKICAgICBSZWZQdHI8RGVmZXJyZWRDb21w
aWxhdGlvbkNhbGxiYWNrPiBjYWxsYmFjazsKIAogcHJpdmF0ZToKKyAgICBib29sIHJlcG9ydENv
bXBpbGVUaW1lcygpIGNvbnN0OworICAgIAogICAgIGVudW0gQ29tcGlsYXRpb25QYXRoIHsgRmFp
bFBhdGgsIERGR1BhdGgsIEZUTFBhdGggfTsKICAgICBDb21waWxhdGlvblBhdGggY29tcGlsZUlu
VGhyZWFkSW1wbChMb25nTGl2ZWRTdGF0ZSYpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTU0FMb3dlcmluZ1BoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU1NBTG93ZXJpbmdQaGFzZS5jcHAKaW5kZXggNTFkNWZkMGU0OTdkNjU1
MjExNzZmMzFlOTljNTQxYWVmNWRkMjAzZS4uMGY0NjE1NTkyZGRhM2ZiNGNjYmUzNmU1MDdlZTM2
YTEzYmVmZWYwOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTU0FM
b3dlcmluZ1BoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NTQUxv
d2VyaW5nUGhhc2UuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMs
IDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC03MywyMiArNzMsMzMgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgUHV0QnlWYWw6Ci0gICAgICAgIGNhc2Ug
UHV0QnlWYWxEaXJlY3Q6Ci0gICAgICAgICAgICBsb3dlckJvdW5kc0NoZWNrKAotICAgICAgICAg
ICAgICAgIG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAwKSwKLSAgICAgICAgICAgICAgICBt
X2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMSksCi0gICAgICAgICAgICAgICAgbV9ncmFwaC52
YXJBcmdDaGlsZChtX25vZGUsIDMpKTsKKyAgICAgICAgY2FzZSBQdXRCeVZhbERpcmVjdDogewor
ICAgICAgICAgICAgRWRnZSBiYXNlID0gbV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDApOwor
ICAgICAgICAgICAgRWRnZSBpbmRleCA9IG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAxKTsK
KyAgICAgICAgICAgIEVkZ2Ugc3RvcmFnZSA9IG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAz
KTsKKyAgICAgICAgICAgIGlmIChsb3dlckJvdW5kc0NoZWNrKGJhc2UsIGluZGV4LCBzdG9yYWdl
KSkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYg
KG1fbm9kZS0+YXJyYXlNb2RlKCkudHlwZWRBcnJheVR5cGUoKSAhPSBOb3RUeXBlZEFycmF5ICYm
IG1fbm9kZS0+YXJyYXlNb2RlKCkuaXNPdXRPZkJvdW5kcygpKSB7CisgICAgICAgICAgICAgICAg
Tm9kZSogbGVuZ3RoID0gbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKKyAgICAgICAgICAgICAg
ICAgICAgbV9ub2RlSW5kZXgsIFNwZWNJbnQzMiwgR2V0QXJyYXlMZW5ndGgsIG1fbm9kZS0+Y29k
ZU9yaWdpbiwKKyAgICAgICAgICAgICAgICAgICAgT3BJbmZvKG1fbm9kZS0+YXJyYXlNb2RlKCku
YXNXb3JkKCkpLCBiYXNlLCBzdG9yYWdlKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAg
ICAgICBtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgNCkgPSBFZGdlKGxlbmd0aCwgS25vd25J
bnQzMlVzZSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgIGRlZmF1bHQ6CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICB2b2lkIGxvd2Vy
Qm91bmRzQ2hlY2soRWRnZSBiYXNlLCBFZGdlIGluZGV4LCBFZGdlIHN0b3JhZ2UpCisgICAgYm9v
bCBsb3dlckJvdW5kc0NoZWNrKEVkZ2UgYmFzZSwgRWRnZSBpbmRleCwgRWRnZSBzdG9yYWdlKQog
ICAgIHsKICAgICAgICAgaWYgKCFtX25vZGUtPmFycmF5TW9kZSgpLnBlcm1pdHNCb3VuZHNDaGVj
a0xvd2VyaW5nKCkpCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIAogICAgICAgICBpZiAoIW1fbm9kZS0+YXJyYXlNb2RlKCkubGVuZ3RoTmVl
ZHNTdG9yYWdlKCkpCiAgICAgICAgICAgICBzdG9yYWdlID0gRWRnZSgpOwpAQCAtOTksNiArMTEw
LDcgQEAgcHJpdmF0ZToKICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKICAgICAg
ICAgICAgIG1fbm9kZUluZGV4LCBTcGVjSW50MzIsIENoZWNrSW5Cb3VuZHMsIG1fbm9kZS0+Y29k
ZU9yaWdpbiwKICAgICAgICAgICAgIGluZGV4LCBFZGdlKGxlbmd0aCwgS25vd25JbnQzMlVzZSkp
OworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgCiAgICAgSW5zZXJ0aW9uU2V0IG1f
aW5zZXJ0aW9uU2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcAppbmRleCA3ZDIyMjIwYmQ4YmRjYTNhZjFiODVlZmY4MzcxODJhNDUxOTE5ODNm
Li4yOTkzZDk3NjE4YjYxNWQzMzJhNmZmNGFiMmVhZGYwMjEyZTU3ZWQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtMTM0Niw2ICsx
MzQ2LDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUN1cnJlbnRCbG9jaygpCiAgICAg
bV9zdHJlYW0tPmFwcGVuZEFuZExvZyhWYXJpYWJsZUV2ZW50OjpyZXNldCgpKTsKICAgICAKICAg
ICBtX2ppdC5qaXRBc3NlcnRIYXNWYWxpZENhbGxGcmFtZSgpOworICAgIG1faml0LmppdEFzc2Vy
dFRhZ3NJblBsYWNlKCk7CisgICAgbV9qaXQuaml0QXNzZXJ0QXJndW1lbnRDb3VudFNhbmUoKTsK
IAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9ibG9jay0+dmFyaWFibGVzQXRIZWFkLm51
bWJlck9mQXJndW1lbnRzKCk7ICsraSkgewogICAgICAgICBtX3N0cmVhbS0+YXBwZW5kQW5kTG9n
KApAQCAtMTUzMiwxMCArMTUzNCw0MCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjaGVja0FyZ3Vt
ZW50VHlwZXMoKQogICAgIG1faXNDaGVja2luZ0FyZ3VtZW50VHlwZXMgPSBmYWxzZTsKIH0KIAor
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6cHJlcGFyZUpJVENvZGVGb3JUaWVyVXAoKQoreworICAgIHVu
c2lnbmVkIG51bWJlck9mQ2FsbHMgPSAwOworICAgIAorICAgIGZvciAoQmxvY2tJbmRleCBibG9j
a0luZGV4ID0gbV9qaXQuZ3JhcGgoKS5udW1CbG9ja3MoKTsgYmxvY2tJbmRleC0tOykgeworICAg
ICAgICBCYXNpY0Jsb2NrKiBibG9jayA9IG1faml0LmdyYXBoKCkuYmxvY2soYmxvY2tJbmRleCk7
CisgICAgICAgIGlmICghYmxvY2spCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgCisg
ICAgICAgIGZvciAodW5zaWduZWQgbm9kZUluZGV4ID0gYmxvY2stPnNpemUoKTsgbm9kZUluZGV4
LS07KSB7CisgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KG5vZGVJbmRleCk7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIHN3aXRjaCAobm9kZS0+b3AoKSkgeworICAgICAgICAg
ICAgY2FzZSBDYWxsOgorICAgICAgICAgICAgY2FzZSBDb25zdHJ1Y3Q6CisgICAgICAgICAgICAg
ICAgbnVtYmVyT2ZDYWxscysrOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
ICAgIAorICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICBtX2ppdC5qaXRDb2RlKCktPnNs
b3dQYXRoQ2FsbHMuZmlsbCgwLCBudW1iZXJPZkNhbGxzKTsKK30KKwogYm9vbCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZSgpCiB7CiAgICAgY2hlY2tBcmd1bWVudFR5cGVzKCk7Ci0KKyAgICAKKyAg
ICBpZiAobV9qaXQuZ3JhcGgoKS5tX3BsYW4ud2lsbFRyeVRvVGllclVwKQorICAgICAgICBwcmVw
YXJlSklUQ29kZUZvclRpZXJVcCgpOworICAgIAogICAgIEFTU0VSVCghbV9jdXJyZW50Tm9kZSk7
CiAgICAgZm9yIChCbG9ja0luZGV4IGJsb2NrSW5kZXggPSAwOyBibG9ja0luZGV4IDwgbV9qaXQu
Z3JhcGgoKS5udW1CbG9ja3MoKTsgKytibG9ja0luZGV4KSB7CiAgICAgICAgIG1faml0LnNldEZv
ckJsb2NrSW5kZXgoYmxvY2tJbmRleCk7CkBAIC0yMzkwLDYgKzI0MjIsMTAgQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZVB1dEJ5VmFsRm9ySW50VHlwZWRBcnJheShHUFJSZWcgYmFzZSwg
R1BSUmVnIHByb3BlcnQKICAgICBBU1NFUlQodmFsdWVHUFIgIT0gYmFzZSk7CiAgICAgQVNTRVJU
KHZhbHVlR1BSICE9IHN0b3JhZ2VSZWcpOwogICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG91dE9m
Qm91bmRzID0ganVtcEZvclR5cGVkQXJyYXlPdXRPZkJvdW5kcyhub2RlLCBiYXNlLCBwcm9wZXJ0
eSk7CisgICAgaWYgKG5vZGUtPmFycmF5TW9kZSgpLmlzSW5Cb3VuZHMoKSAmJiBvdXRPZkJvdW5k
cy5pc1NldCgpKSB7CisgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soT3V0T2ZCb3VuZHMsIEpTVmFs
dWVTb3VyY2UoKSwgMCwgb3V0T2ZCb3VuZHMpOworICAgICAgICBvdXRPZkJvdW5kcyA9IE1hY3Jv
QXNzZW1ibGVyOjpKdW1wKCk7CisgICAgfQogCiAgICAgc3dpdGNoIChlbGVtZW50U2l6ZSh0eXBl
KSkgewogICAgIGNhc2UgMToKQEAgLTI0NjUsNiArMjUwMSwxMCBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlUHV0QnlWYWxGb3JGbG9hdFR5cGVkQXJyYXkoR1BSUmVnIGJhc2UsIEdQUlJl
ZyBwcm9wZQogICAgIEFTU0VSVF9VTlVTRUQoYmFzZVVzZSwgbm9kZS0+YXJyYXlNb2RlKCkuYWxy
ZWFkeUNoZWNrZWQobV9qaXQuZ3JhcGgoKSwgbm9kZSwgbV9zdGF0ZS5mb3JOb2RlKGJhc2VVc2Up
KSk7CiAgICAgCiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgb3V0T2ZCb3VuZHMgPSBqdW1wRm9y
VHlwZWRBcnJheU91dE9mQm91bmRzKG5vZGUsIGJhc2UsIHByb3BlcnR5KTsKKyAgICBpZiAobm9k
ZS0+YXJyYXlNb2RlKCkuaXNJbkJvdW5kcygpICYmIG91dE9mQm91bmRzLmlzU2V0KCkpIHsKKyAg
ICAgICAgc3BlY3VsYXRpb25DaGVjayhPdXRPZkJvdW5kcywgSlNWYWx1ZVNvdXJjZSgpLCAwLCBv
dXRPZkJvdW5kcyk7CisgICAgICAgIG91dE9mQm91bmRzID0gTWFjcm9Bc3NlbWJsZXI6Okp1bXAo
KTsKKyAgICB9CiAgICAgCiAgICAgc3dpdGNoIChlbGVtZW50U2l6ZSh0eXBlKSkgewogICAgIGNh
c2UgNDogewpAQCAtMzQyOSw2ICszNDY5LDE3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVBcml0aE1vZChOb2RlKiBub2RlKQogICAgICAgICBHUFJSZWcgcXVvdGllbnRUaGVuUmVtYWlu
ZGVyR1BSID0gcXVvdGllbnRUaGVuUmVtYWluZGVyLmdwcigpOwogICAgICAgICBHUFJSZWcgbXVs
dGlwbHlBbnN3ZXJHUFIgPSBtdWx0aXBseUFuc3dlci5ncHIoKTsKIAorICAgICAgICBKSVRDb21w
aWxlcjo6SnVtcExpc3QgZG9uZTsKKyAgICAgICAgCisgICAgICAgIGlmIChzaG91bGRDaGVja092
ZXJmbG93KG5vZGUtPmFyaXRoTW9kZSgpKSkKKyAgICAgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2so
T3ZlcmZsb3csIEpTVmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5jaFRlc3QzMihKSVRDb21waWxl
cjo6WmVybywgZGl2aXNvckdQUikpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIEpJVENv
bXBpbGVyOjpKdW1wIGRlbm9taW5hdG9yTm90WmVybyA9IG1faml0LmJyYW5jaFRlc3QzMihKSVRD
b21waWxlcjo6Tm9uWmVybywgZGl2aXNvckdQUik7CisgICAgICAgICAgICBtX2ppdC5tb3ZlKGRp
dmlzb3JHUFIsIHF1b3RpZW50VGhlblJlbWFpbmRlckdQUik7CisgICAgICAgICAgICBkb25lLmFw
cGVuZChtX2ppdC5qdW1wKCkpOworICAgICAgICAgICAgZGVub21pbmF0b3JOb3RaZXJvLmxpbmso
Jm1faml0KTsKKyAgICAgICAgfQorCiAgICAgICAgIG1faml0LmFzc2VtYmxlcigpLnNkaXYocXVv
dGllbnRUaGVuUmVtYWluZGVyR1BSLCBkaXZpZGVuZEdQUiwgZGl2aXNvckdQUik7CiAgICAgICAg
IC8vIEZJWE1FOiBJdCBzZWVtcyBsaWtlIHRoZXJlIGFyZSBjYXNlcyB3aGVyZSB3ZSBkb24ndCBu
ZWVkIHRoaXM/IFdoYXQgaWYgd2UgaGF2ZQogICAgICAgICAvLyBhcml0aE1vZGUoKSA9PSBBcml0
aDo6VW5jaGVja2VkPwpAQCAtMzQ0NSw2ICszNDk2LDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6
Y29tcGlsZUFyaXRoTW9kKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICBudW1lcmF0b3JQb3NpdGl2
ZS5saW5rKCZtX2ppdCk7CiAgICAgICAgIH0KIAorICAgICAgICBkb25lLmxpbmsoJm1faml0KTsK
KyAgICAgICAgCiAgICAgICAgIGludDMyUmVzdWx0KHF1b3RpZW50VGhlblJlbWFpbmRlckdQUiwg
bm9kZSk7CiAjZWxpZiBDUFUoQVJNNjQpCiAgICAgICAgIEdQUlRlbXBvcmFyeSB0ZW1wKHRoaXMp
OwpAQCAtMzQ1NSw2ICszNTA4LDE3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVBcml0
aE1vZChOb2RlKiBub2RlKQogICAgICAgICBHUFJSZWcgcXVvdGllbnRUaGVuUmVtYWluZGVyR1BS
ID0gcXVvdGllbnRUaGVuUmVtYWluZGVyLmdwcigpOwogICAgICAgICBHUFJSZWcgbXVsdGlwbHlB
bnN3ZXJHUFIgPSBtdWx0aXBseUFuc3dlci5ncHIoKTsKIAorICAgICAgICBKSVRDb21waWxlcjo6
SnVtcExpc3QgZG9uZTsKKyAgICAKKyAgICAgICAgaWYgKHNob3VsZENoZWNrT3ZlcmZsb3cobm9k
ZS0+YXJpdGhNb2RlKCkpKQorICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVjayhPdmVyZmxvdywg
SlNWYWx1ZVJlZ3MoKSwgMCwgbV9qaXQuYnJhbmNoVGVzdDMyKEpJVENvbXBpbGVyOjpaZXJvLCBk
aXZpc29yR1BSKSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgSklUQ29tcGlsZXI6Okp1
bXAgZGVub21pbmF0b3JOb3RaZXJvID0gbV9qaXQuYnJhbmNoVGVzdDMyKEpJVENvbXBpbGVyOjpO
b25aZXJvLCBkaXZpc29yR1BSKTsKKyAgICAgICAgICAgIG1faml0Lm1vdmUoZGl2aXNvckdQUiwg
cXVvdGllbnRUaGVuUmVtYWluZGVyR1BSKTsKKyAgICAgICAgICAgIGRvbmUuYXBwZW5kKG1faml0
Lmp1bXAoKSk7CisgICAgICAgICAgICBkZW5vbWluYXRvck5vdFplcm8ubGluaygmbV9qaXQpOwor
ICAgICAgICB9CisKICAgICAgICAgbV9qaXQuYXNzZW1ibGVyKCkuc2RpdjwzMj4ocXVvdGllbnRU
aGVuUmVtYWluZGVyR1BSLCBkaXZpZGVuZEdQUiwgZGl2aXNvckdQUik7CiAgICAgICAgIC8vIEZJ
WE1FOiBJdCBzZWVtcyBsaWtlIHRoZXJlIGFyZSBjYXNlcyB3aGVyZSB3ZSBkb24ndCBuZWVkIHRo
aXM/IFdoYXQgaWYgd2UgaGF2ZQogICAgICAgICAvLyBhcml0aE1vZGUoKSA9PSBBcml0aDo6VW5j
aGVja2VkPwpAQCAtMzQ3MSw2ICszNTM1LDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZUFyaXRoTW9kKE5vZGUqIG5vZGUpCiAgICAgICAgICAgICBudW1lcmF0b3JQb3NpdGl2ZS5saW5r
KCZtX2ppdCk7CiAgICAgICAgIH0KIAorICAgICAgICBkb25lLmxpbmsoJm1faml0KTsKKwogICAg
ICAgICBpbnQzMlJlc3VsdChxdW90aWVudFRoZW5SZW1haW5kZXJHUFIsIG5vZGUpOwogI2Vsc2Ug
Ly8gbm90IGFyY2hpdGVjdHVyZSB0aGF0IGNhbiBkbyBpbnRlZ2VyIGRpdmlzaW9uCiAgICAgICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggMzUzNGM3YjE1MmVlYzdmNWJjZjVhOWYxM2Vi
OGMxODYxYWYxMjUwOS4uOGY1NmE1MTc4NmQyYzNiZmYxZjNiOTVlYmFhMWE1YWZkMjg2MTAxNSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApAQCAt
MTE5LDYgKzExOSw5IEBAIHB1YmxpYzoKICAgICB+U3BlY3VsYXRpdmVKSVQoKTsKIAogICAgIGJv
b2wgY29tcGlsZSgpOworICAgIAorICAgIHZvaWQgcHJlcGFyZUpJVENvZGVGb3JUaWVyVXAoKTsK
KyAgICAKICAgICB2b2lkIGNyZWF0ZU9TUkVudHJpZXMoKTsKICAgICB2b2lkIGxpbmtPU1JFbnRy
aWVzKExpbmtCdWZmZXImKTsKIApAQCAtNzQyLDQ0ICs3NDUsNDUgQEAgcHVibGljOgogICAgIAog
ICAgIHB0cmRpZmZfdCBjYWxsZWVGcmFtZU9mZnNldChpbnQgbnVtQXJncykKICAgICB7Ci0gICAg
ICAgIHJldHVybiB2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChtX2ppdC5ncmFwaCgpLm1fbmV4dE1h
Y2hpbmVMb2NhbCArIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUgKyBudW1BcmdzKS5vZmZz
ZXQoKSAqIHNpemVvZihSZWdpc3Rlcik7CisgICAgICAgIHJldHVybiB2aXJ0dWFsUmVnaXN0ZXJG
b3JMb2NhbChtX2ppdC5ncmFwaCgpLm1fbmV4dE1hY2hpbmVMb2NhbCAtIDEgKyBKU1N0YWNrOjpD
YWxsRnJhbWVIZWFkZXJTaXplICsgbnVtQXJncykub2Zmc2V0KCkgKiBzaXplb2YoUmVnaXN0ZXIp
OwogICAgIH0KICAgICAKICAgICAvLyBBY2Nlc3MgdG8gb3VyIGZpeGVkIGNhbGxlZSBDYWxsRnJh
bWUuCi0gICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MgY2FsbGVlRnJhbWVTbG90KGludCBudW1B
cmdzLCBpbnQgc2xvdCkKKyAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyBjYWxsZWVGcmFtZVNs
b3QoaW50IHNsb3QpCiAgICAgewotICAgICAgICByZXR1cm4gTWFjcm9Bc3NlbWJsZXI6OkFkZHJl
c3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIGNhbGxlZUZyYW1lT2Zmc2V0KG51bUFyZ3Mp
ICsgc2l6ZW9mKFJlZ2lzdGVyKSAqIHNsb3QpOworICAgICAgICBBU1NFUlQoc2xvdCA+PSBKU1N0
YWNrOjpDYWxsZXJGcmFtZUFuZFBDU2l6ZSk7CisgICAgICAgIHJldHVybiBNYWNyb0Fzc2VtYmxl
cjo6QWRkcmVzcyhNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIHNpemVvZihS
ZWdpc3RlcikgKiAoc2xvdCAtIEpTU3RhY2s6OkNhbGxlckZyYW1lQW5kUENTaXplKSk7CiAgICAg
fQogCiAgICAgLy8gQWNjZXNzIHRvIG91ciBmaXhlZCBjYWxsZWUgQ2FsbEZyYW1lLgotICAgIE1h
Y3JvQXNzZW1ibGVyOjpBZGRyZXNzIGNhbGxlZUFyZ3VtZW50U2xvdChpbnQgbnVtQXJncywgaW50
IGFyZ3VtZW50KQorICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzIGNhbGxlZUFyZ3VtZW50U2xv
dChpbnQgYXJndW1lbnQpCiAgICAgewotICAgICAgICByZXR1cm4gY2FsbGVlRnJhbWVTbG90KG51
bUFyZ3MsIHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50KGFyZ3VtZW50KS5vZmZzZXQoKSk7Cisg
ICAgICAgIHJldHVybiBjYWxsZWVGcmFtZVNsb3QodmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnQo
YXJndW1lbnQpLm9mZnNldCgpKTsKICAgICB9CiAKLSAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVz
cyBjYWxsZWVGcmFtZVRhZ1Nsb3QoaW50IG51bUFyZ3MsIGludCBzbG90KQorICAgIE1hY3JvQXNz
ZW1ibGVyOjpBZGRyZXNzIGNhbGxlZUZyYW1lVGFnU2xvdChpbnQgc2xvdCkKICAgICB7Ci0gICAg
ICAgIHJldHVybiBjYWxsZWVGcmFtZVNsb3QobnVtQXJncywgc2xvdCkud2l0aE9mZnNldChPQkpF
Q1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnRhZykpOworICAgICAg
ICByZXR1cm4gY2FsbGVlRnJhbWVTbG90KHNsb3QpLndpdGhPZmZzZXQoT0JKRUNUX09GRlNFVE9G
KEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy50YWcpKTsKICAgICB9CiAKLSAgICBNYWNy
b0Fzc2VtYmxlcjo6QWRkcmVzcyBjYWxsZWVGcmFtZVBheWxvYWRTbG90KGludCBudW1BcmdzLCBp
bnQgc2xvdCkKKyAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyBjYWxsZWVGcmFtZVBheWxvYWRT
bG90KGludCBzbG90KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGNhbGxlZUZyYW1lU2xvdChudW1B
cmdzLCBzbG90KS53aXRoT2Zmc2V0KE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlw
dG9yLCBhc0JpdHMucGF5bG9hZCkpOworICAgICAgICByZXR1cm4gY2FsbGVlRnJhbWVTbG90KHNs
b3QpLndpdGhPZmZzZXQoT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFz
Qml0cy5wYXlsb2FkKSk7CiAgICAgfQogCi0gICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MgY2Fs
bGVlQXJndW1lbnRUYWdTbG90KGludCBudW1BcmdzLCBpbnQgYXJndW1lbnQpCisgICAgTWFjcm9B
c3NlbWJsZXI6OkFkZHJlc3MgY2FsbGVlQXJndW1lbnRUYWdTbG90KGludCBhcmd1bWVudCkKICAg
ICB7Ci0gICAgICAgIHJldHVybiBjYWxsZWVBcmd1bWVudFNsb3QobnVtQXJncywgYXJndW1lbnQp
LndpdGhPZmZzZXQoT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0
cy50YWcpKTsKKyAgICAgICAgcmV0dXJuIGNhbGxlZUFyZ3VtZW50U2xvdChhcmd1bWVudCkud2l0
aE9mZnNldChPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnRh
ZykpOwogICAgIH0KIAotICAgIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzIGNhbGxlZUFyZ3VtZW50
UGF5bG9hZFNsb3QoaW50IG51bUFyZ3MsIGludCBhcmd1bWVudCkKKyAgICBNYWNyb0Fzc2VtYmxl
cjo6QWRkcmVzcyBjYWxsZWVBcmd1bWVudFBheWxvYWRTbG90KGludCBhcmd1bWVudCkKICAgICB7
Ci0gICAgICAgIHJldHVybiBjYWxsZWVBcmd1bWVudFNsb3QobnVtQXJncywgYXJndW1lbnQpLndp
dGhPZmZzZXQoT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy5w
YXlsb2FkKSk7CisgICAgICAgIHJldHVybiBjYWxsZWVBcmd1bWVudFNsb3QoYXJndW1lbnQpLndp
dGhPZmZzZXQoT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy5w
YXlsb2FkKSk7CiAgICAgfQogCi0gICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MgY2FsbGVlRnJh
bWVDYWxsZXJGcmFtZShpbnQgbnVtQXJncykKKyAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyBj
YWxsZWVGcmFtZUNhbGxlckZyYW1lKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBjYWxsZWVGcmFt
ZVNsb3QobnVtQXJncywgMCkud2l0aE9mZnNldChDYWxsRnJhbWU6OmNhbGxlckZyYW1lT2Zmc2V0
KCkpOworICAgICAgICByZXR1cm4gY2FsbGVlRnJhbWVTbG90KDApLndpdGhPZmZzZXQoQ2FsbEZy
YW1lOjpjYWxsZXJGcmFtZU9mZnNldCgpKTsKICAgICB9CiAKICAgICB2b2lkIGVtaXRDYWxsKE5v
ZGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUMzJfNjQuY3BwCmluZGV4IDk2NWFhZjgxYTkzNWZhYmIyODQxOGIxY2UyMWI2MmM0Y2E2MmVj
MWMuLjFlOGZhY2E5NDRhNmEyN2E2MTQ4YmQ4NWIzOWIxZGQ3YWQ4ZjhkNTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApA
QCAtMTcyLDcgKzE3Miw3IEBAIGJvb2wgU3BlY3VsYXRpdmVKSVQ6OmZpbGxKU1ZhbHVlKEVkZ2Ug
ZWRnZSwgR1BSUmVnJiB0YWdHUFIsIEdQUlJlZyYgcGF5bG9hZEdQUiwKIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNhY2hlZEdldEJ5SWQoQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBHUFJSZWcgYmFzZVRh
Z0dQUk9yTm9uZSwgR1BSUmVnIGJhc2VQYXlsb2FkR1BSLCBHUFJSZWcgcmVzdWx0VGFnR1BSLCBH
UFJSZWcgcmVzdWx0UGF5bG9hZEdQUiwgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciwgSklUQ29t
cGlsZXI6Okp1bXAgc2xvd1BhdGhUYXJnZXQsIFNwaWxsUmVnaXN0ZXJzTW9kZSBzcGlsbE1vZGUp
CiB7CiAgICAgSklUR2V0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1faml0LmNvZGVCbG9j
aygpLCBjb2RlT3JpZ2luLCB1c2VkUmVnaXN0ZXJzKCksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lz
dGVyLAorICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwgdXNlZFJlZ2lzdGVy
cygpLAogICAgICAgICBKU1ZhbHVlUmVncyhiYXNlVGFnR1BST3JOb25lLCBiYXNlUGF5bG9hZEdQ
UiksCiAgICAgICAgIEpTVmFsdWVSZWdzKHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUiks
IHNwaWxsTW9kZSAhPSBOZWVkVG9TcGlsbCk7CiAgICAgCkBAIC0yMDQsNyArMjA0LDcgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkR2V0QnlJZChDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIEdQ
UlJlZyBiYXNlVGFnR1BST3JOb24KIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNhY2hlZFB1dEJ5SWQo
Q29kZU9yaWdpbiBjb2RlT3JpZ2luLCBHUFJSZWcgYmFzZVBheWxvYWRHUFIsIEdQUlJlZyB2YWx1
ZVRhZ0dQUiwgR1BSUmVnIHZhbHVlUGF5bG9hZEdQUiwgR1BSUmVnIHNjcmF0Y2hHUFIsIHVuc2ln
bmVkIGlkZW50aWZpZXJOdW1iZXIsIFB1dEtpbmQgcHV0S2luZCwgSklUQ29tcGlsZXI6Okp1bXAg
c2xvd1BhdGhUYXJnZXQpCiB7CiAgICAgSklUUHV0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAg
IG1faml0LmNvZGVCbG9jaygpLCBjb2RlT3JpZ2luLCB1c2VkUmVnaXN0ZXJzKCksIEdQUkluZm86
OmNhbGxGcmFtZVJlZ2lzdGVyLAorICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdp
biwgdXNlZFJlZ2lzdGVycygpLAogICAgICAgICBKU1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkoYmFz
ZVBheWxvYWRHUFIpLCBKU1ZhbHVlUmVncyh2YWx1ZVRhZ0dQUiwgdmFsdWVQYXlsb2FkR1BSKSwK
ICAgICAgICAgc2NyYXRjaEdQUiwgZmFsc2UsIG1faml0LmVjbWFNb2RlRm9yKGNvZGVPcmlnaW4p
LCBwdXRLaW5kKTsKICAgICAKQEAgLTYzMSwxMCArNjMxLDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6ZW1pdENhbGwoTm9kZSogbm9kZSkKICAgICAKICAgICBpbnQgbnVtQXJncyA9IG51bVBhc3Nl
ZEFyZ3MgKyBkdW1teVRoaXNBcmd1bWVudDsKIAotICAgIG1faml0LnN0b3JlMzIoTWFjcm9Bc3Nl
bWJsZXI6OlRydXN0ZWRJbW0zMihudW1BcmdzKSwgY2FsbGVlRnJhbWVQYXlsb2FkU2xvdChudW1B
cmdzLCBKU1N0YWNrOjpBcmd1bWVudENvdW50KSk7Ci0gICAgbV9qaXQuc3RvcmVQdHIoR1BSSW5m
bzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIGNhbGxlZUZyYW1lQ2FsbGVyRnJhbWUobnVtQXJncykpOwot
ICAgIG1faml0LnN0b3JlMzIoY2FsbGVlUGF5bG9hZEdQUiwgY2FsbGVlRnJhbWVQYXlsb2FkU2xv
dChudW1BcmdzLCBKU1N0YWNrOjpDYWxsZWUpKTsKLSAgICBtX2ppdC5zdG9yZTMyKGNhbGxlZVRh
Z0dQUiwgY2FsbGVlRnJhbWVUYWdTbG90KG51bUFyZ3MsIEpTU3RhY2s6OkNhbGxlZSkpOworICAg
IG1faml0LnN0b3JlMzIoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihudW1BcmdzKSwgY2Fs
bGVlRnJhbWVQYXlsb2FkU2xvdChKU1N0YWNrOjpBcmd1bWVudENvdW50KSk7CisgICAgbV9qaXQu
c3RvcmUzMihjYWxsZWVQYXlsb2FkR1BSLCBjYWxsZWVGcmFtZVBheWxvYWRTbG90KEpTU3RhY2s6
OkNhbGxlZSkpOworICAgIG1faml0LnN0b3JlMzIoY2FsbGVlVGFnR1BSLCBjYWxsZWVGcmFtZVRh
Z1Nsb3QoSlNTdGFjazo6Q2FsbGVlKSk7CiAKICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bVBh
c3NlZEFyZ3M7IGkrKykgewogICAgICAgICBFZGdlIGFyZ0VkZ2UgPSBtX2ppdC5ncmFwaCgpLm1f
dmFyQXJnQ2hpbGRyZW5bbm9kZS0+Zmlyc3RDaGlsZCgpICsgMSArIGldOwpAQCAtNjQzLDggKzY0
Miw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUpCiAgICAgICAg
IEdQUlJlZyBhcmdQYXlsb2FkR1BSID0gYXJnLnBheWxvYWRHUFIoKTsKICAgICAgICAgdXNlKGFy
Z0VkZ2UpOwogCi0gICAgICAgIG1faml0LnN0b3JlMzIoYXJnVGFnR1BSLCBjYWxsZWVBcmd1bWVu
dFRhZ1Nsb3QobnVtQXJncywgaSArIGR1bW15VGhpc0FyZ3VtZW50KSk7Ci0gICAgICAgIG1faml0
LnN0b3JlMzIoYXJnUGF5bG9hZEdQUiwgY2FsbGVlQXJndW1lbnRQYXlsb2FkU2xvdChudW1Bcmdz
LCBpICsgZHVtbXlUaGlzQXJndW1lbnQpKTsKKyAgICAgICAgbV9qaXQuc3RvcmUzMihhcmdUYWdH
UFIsIGNhbGxlZUFyZ3VtZW50VGFnU2xvdChpICsgZHVtbXlUaGlzQXJndW1lbnQpKTsKKyAgICAg
ICAgbV9qaXQuc3RvcmUzMihhcmdQYXlsb2FkR1BSLCBjYWxsZWVBcmd1bWVudFBheWxvYWRTbG90
KGkgKyBkdW1teVRoaXNBcmd1bWVudCkpOwogICAgIH0KIAogICAgIGZsdXNoUmVnaXN0ZXJzKCk7
CkBAIC02NTksMTMgKzY1OCwxMSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0Q2FsbChOb2Rl
KiBub2RlKQogCiAgICAgbV9qaXQuZW1pdFN0b3JlQ29kZU9yaWdpbihub2RlLT5jb2RlT3JpZ2lu
KTsKICAgICAKLSAgICBtX2ppdC5hZGRQdHIoVHJ1c3RlZEltbTMyKGNhbGxlZUZyYW1lT2Zmc2V0
KG51bUFyZ3MpKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwotICAgIAogICAgIHNsb3dQ
YXRoLmFwcGVuZChtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1YWwsIGNhbGxl
ZVRhZ0dQUiwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpKSk7CiAgICAgc2xvd1BhdGgu
YXBwZW5kKG1faml0LmJyYW5jaFB0cldpdGhQYXRjaChNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1YWws
IGNhbGxlZVBheWxvYWRHUFIsIHRhcmdldFRvQ2hlY2spKTsKICAgICBtX2ppdC5sb2FkUHRyKE1h
Y3JvQXNzZW1ibGVyOjpBZGRyZXNzKGNhbGxlZVBheWxvYWRHUFIsIE9CSkVDVF9PRkZTRVRPRihK
U0Z1bmN0aW9uLCBtX3Njb3BlKSksIHJlc3VsdFBheWxvYWRHUFIpOwotICAgIG1faml0LnN0b3Jl
UHRyKHJlc3VsdFBheWxvYWRHUFIsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKEdQUkluZm86OmNh
bGxGcmFtZVJlZ2lzdGVyLCBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihSZWdpc3Rlcikp
ICogSlNTdGFjazo6U2NvcGVDaGFpbiArIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNj
cmlwdG9yLCBhc0JpdHMucGF5bG9hZCkpKTsKLSAgICBtX2ppdC5zdG9yZTMyKE1hY3JvQXNzZW1i
bGVyOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZyksIE1hY3JvQXNzZW1ibGVyOjpBZGRy
ZXNzKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNp
emVvZihSZWdpc3RlcikpICogSlNTdGFjazo6U2NvcGVDaGFpbiArIE9CSkVDVF9PRkZTRVRPRihF
bmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMudGFnKSkpOworICAgIG1faml0LnN0b3JlUHRy
KHJlc3VsdFBheWxvYWRHUFIsIGNhbGxlZUZyYW1lUGF5bG9hZFNsb3QoSlNTdGFjazo6U2NvcGVD
aGFpbikpOworICAgIG1faml0LnN0b3JlUHRyKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIo
SlNWYWx1ZTo6Q2VsbFRhZyksIGNhbGxlZUZyYW1lVGFnU2xvdChKU1N0YWNrOjpTY29wZUNoYWlu
KSk7CiAKICAgICBKSVRDb21waWxlcjo6Q2FsbCBmYXN0Q2FsbCA9IG1faml0Lm5lYXJDYWxsKCk7
CiAKQEAgLTMwNDcsMTIgKzMwNDQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5v
ZGUqIG5vZGUpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICAvLyBHcmFiIHRo
ZSByZXR1cm4gYWRkcmVzcy4KLSAgICAgICAgbV9qaXQuZW1pdEdldFJldHVyblBDRnJvbUNhbGxG
cmFtZUhlYWRlclB0cihHUFJJbmZvOjpyZWdUMik7Ci0gICAgICAgIC8vIFJlc3RvcmUgb3VyIGNh
bGxlcidzICJyIi4KLSAgICAgICAgbV9qaXQuZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFt
ZUhlYWRlclB0cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7Ci0gICAgICAgIC8vIFJldHVy
bi4KLSAgICAgICAgbV9qaXQucmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4oR1BSSW5m
bzo6cmVnVDIpOworICAgICAgICBtX2ppdC5lbWl0RnVuY3Rpb25FcGlsb2d1ZSgpOwogICAgICAg
ICBtX2ppdC5yZXQoKTsKICAgICAgICAgCiAgICAgICAgIG5vUmVzdWx0KG5vZGUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXgg
MGFhNjRhNjA5MzBkYjEwMzRjYjgyZmExMDdhNTM0YWM2YTYzMTRhYy4uZWU0ZjlhZGZlYzNmODhk
NTE2MWRjMTg0MjVhNzgyNzQzMTAwMTBhZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC0xOTAsOCArMTkwLDggQEAgR1BSUmVn
IFNwZWN1bGF0aXZlSklUOjpmaWxsSlNWYWx1ZShFZGdlIGVkZ2UpCiB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjYWNoZWRHZXRCeUlkKENvZGVPcmlnaW4gY29kZU9yaWdpbiwgR1BSUmVnIGJhc2VHUFIs
IEdQUlJlZyByZXN1bHRHUFIsIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsIEpJVENvbXBpbGVy
OjpKdW1wIHNsb3dQYXRoVGFyZ2V0LCBTcGlsbFJlZ2lzdGVyc01vZGUgc3BpbGxNb2RlKQogewog
ICAgIEpJVEdldEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwg
Y29kZU9yaWdpbiwgdXNlZFJlZ2lzdGVycygpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwK
LSAgICAgICAgSlNWYWx1ZVJlZ3MoYmFzZUdQUiksIEpTVmFsdWVSZWdzKHJlc3VsdEdQUiksIHNw
aWxsTW9kZSAhPSBOZWVkVG9TcGlsbCk7CisgICAgICAgIG1faml0LmNvZGVCbG9jaygpLCBjb2Rl
T3JpZ2luLCB1c2VkUmVnaXN0ZXJzKCksIEpTVmFsdWVSZWdzKGJhc2VHUFIpLAorICAgICAgICBK
U1ZhbHVlUmVncyhyZXN1bHRHUFIpLCBzcGlsbE1vZGUgIT0gTmVlZFRvU3BpbGwpOwogICAgIGdl
bi5nZW5lcmF0ZUZhc3RQYXRoKG1faml0KTsKICAgICAKICAgICBKSVRDb21waWxlcjo6SnVtcExp
c3Qgc2xvd0Nhc2VzOwpAQCAtMjEwLDkgKzIxMCw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNh
Y2hlZEdldEJ5SWQoQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBHUFJSZWcgYmFzZUdQUiwgR1BSUmVn
CiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjYWNoZWRQdXRCeUlkKENvZGVPcmlnaW4gY29kZU9yaWdp
biwgR1BSUmVnIGJhc2VHUFIsIEdQUlJlZyB2YWx1ZUdQUiwgR1BSUmVnIHNjcmF0Y2hHUFIsIHVu
c2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsIFB1dEtpbmQgcHV0S2luZCwgSklUQ29tcGlsZXI6Okp1
bXAgc2xvd1BhdGhUYXJnZXQpCiB7CiAgICAgSklUUHV0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAg
ICAgIG1faml0LmNvZGVCbG9jaygpLCBjb2RlT3JpZ2luLCB1c2VkUmVnaXN0ZXJzKCksIEdQUklu
Zm86OmNhbGxGcmFtZVJlZ2lzdGVyLAotICAgICAgICBKU1ZhbHVlUmVncyhiYXNlR1BSKSwgSlNW
YWx1ZVJlZ3ModmFsdWVHUFIpLCBzY3JhdGNoR1BSLCBmYWxzZSwKLSAgICAgICAgbV9qaXQuZWNt
YU1vZGVGb3IoY29kZU9yaWdpbiksIHB1dEtpbmQpOworICAgICAgICBtX2ppdC5jb2RlQmxvY2so
KSwgY29kZU9yaWdpbiwgdXNlZFJlZ2lzdGVycygpLCBKU1ZhbHVlUmVncyhiYXNlR1BSKSwKKyAg
ICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIpLCBzY3JhdGNoR1BSLCBmYWxzZSwgbV9qaXQuZWNt
YU1vZGVGb3IoY29kZU9yaWdpbiksIHB1dEtpbmQpOwogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRo
KG1faml0KTsKICAgICAKICAgICBKSVRDb21waWxlcjo6SnVtcExpc3Qgc2xvd0Nhc2VzOwpAQCAt
NjYzLDkgKzY2Miw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUp
CiAgICAgCiAgICAgaW50IG51bUFyZ3MgPSBudW1QYXNzZWRBcmdzICsgZHVtbXlUaGlzQXJndW1l
bnQ7CiAgICAgCi0gICAgbV9qaXQuc3RvcmUzMihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMy
KG51bUFyZ3MpLCBjYWxsZWVGcmFtZVBheWxvYWRTbG90KG51bUFyZ3MsIEpTU3RhY2s6OkFyZ3Vt
ZW50Q291bnQpKTsKLSAgICBtX2ppdC5zdG9yZTY0KEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVy
LCBjYWxsZWVGcmFtZUNhbGxlckZyYW1lKG51bUFyZ3MpKTsKLSAgICBtX2ppdC5zdG9yZTY0KGNh
bGxlZUdQUiwgY2FsbGVlRnJhbWVTbG90KG51bUFyZ3MsIEpTU3RhY2s6OkNhbGxlZSkpOworICAg
IG1faml0LnN0b3JlMzIoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihudW1BcmdzKSwgY2Fs
bGVlRnJhbWVQYXlsb2FkU2xvdChKU1N0YWNrOjpBcmd1bWVudENvdW50KSk7CisgICAgbV9qaXQu
c3RvcmU2NChjYWxsZWVHUFIsIGNhbGxlZUZyYW1lU2xvdChKU1N0YWNrOjpDYWxsZWUpKTsKICAg
ICAKICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bVBhc3NlZEFyZ3M7IGkrKykgewogICAgICAg
ICBFZGdlIGFyZ0VkZ2UgPSBtX2ppdC5ncmFwaCgpLm1fdmFyQXJnQ2hpbGRyZW5bbm9kZS0+Zmly
c3RDaGlsZCgpICsgMSArIGldOwpAQCAtNjczLDcgKzY3MSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUpCiAgICAgICAgIEdQUlJlZyBhcmdHUFIgPSBhcmcuZ3By
KCk7CiAgICAgICAgIHVzZShhcmdFZGdlKTsKICAgICAgICAgCi0gICAgICAgIG1faml0LnN0b3Jl
NjQoYXJnR1BSLCBjYWxsZWVBcmd1bWVudFNsb3QobnVtQXJncywgaSArIGR1bW15VGhpc0FyZ3Vt
ZW50KSk7CisgICAgICAgIG1faml0LnN0b3JlNjQoYXJnR1BSLCBjYWxsZWVBcmd1bWVudFNsb3Qo
aSArIGR1bW15VGhpc0FyZ3VtZW50KSk7CiAgICAgfQogCiAgICAgZmx1c2hSZWdpc3RlcnMoKTsK
QEAgLTY4MiwyMyArNjgwLDI4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUq
IG5vZGUpCiAgICAgR1BSUmVnIHJlc3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKIAogICAgIEpJVENv
bXBpbGVyOjpEYXRhTGFiZWxQdHIgdGFyZ2V0VG9DaGVjazsKLSAgICBKSVRDb21waWxlcjo6SnVt
cExpc3Qgc2xvd1BhdGg7CisgICAgSklUQ29tcGlsZXI6Okp1bXAgc2xvd1BhdGg7CiAKICAgICBt
X2ppdC5lbWl0U3RvcmVDb2RlT3JpZ2luKG5vZGUtPmNvZGVPcmlnaW4pOwogICAgIAotICAgIG1f
aml0LmFkZFB0cihUcnVzdGVkSW1tMzIoY2FsbGVlRnJhbWVPZmZzZXQobnVtQXJncykpLCBHUFJJ
bmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7Ci0gICAgCi0gICAgc2xvd1BhdGguYXBwZW5kKG1faml0
LmJyYW5jaFB0cldpdGhQYXRjaChNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1YWwsIGNhbGxlZUdQUiwg
dGFyZ2V0VG9DaGVjaywgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIoMCkpKTsKKyAgICBz
bG93UGF0aCA9IG1faml0LmJyYW5jaFB0cldpdGhQYXRjaChNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1
YWwsIGNhbGxlZUdQUiwgdGFyZ2V0VG9DaGVjaywgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1Q
dHIoMCkpOwogCiAgICAgbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhjYWxs
ZWVHUFIsIE9CSkVDVF9PRkZTRVRPRihKU0Z1bmN0aW9uLCBtX3Njb3BlKSksIHJlc3VsdEdQUik7
Ci0gICAgbV9qaXQuc3RvcmU2NChyZXN1bHRHUFIsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKEdQ
UkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihS
ZWdpc3RlcikpICogSlNTdGFjazo6U2NvcGVDaGFpbikpOworICAgIG1faml0LnN0b3JlNjQocmVz
dWx0R1BSLCBjYWxsZWVGcmFtZVNsb3QoSlNTdGFjazo6U2NvcGVDaGFpbikpOwogCiAgICAgSklU
Q29tcGlsZXI6OkNhbGwgZmFzdENhbGwgPSBtX2ppdC5uZWFyQ2FsbCgpOwotICAgIAorCiAgICAg
SklUQ29tcGlsZXI6Okp1bXAgZG9uZSA9IG1faml0Lmp1bXAoKTsKICAgICAKICAgICBzbG93UGF0
aC5saW5rKCZtX2ppdCk7CiAgICAgCisgICAgaWYgKG1faml0LmdyYXBoKCkubV9wbGFuLndpbGxU
cnlUb1RpZXJVcCkgeworICAgICAgICBtX2ppdC5hZGQzMigKKyAgICAgICAgICAgIFRydXN0ZWRJ
bW0zMigxKSwKKyAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBYnNvbHV0ZUFkZHJlc3MoCisg
ICAgICAgICAgICAgICAgbV9qaXQuaml0Q29kZSgpLT5zbG93UGF0aENhbGxzLmJlZ2luKCkgKyBt
X2ppdC5jdXJyZW50SlNDYWxsSW5kZXgoKSkpOworICAgIH0KKyAgICAKICAgICBtX2ppdC5tb3Zl
KGNhbGxlZUdQUiwgR1BSSW5mbzo6cmVnVDApOyAvLyBDYWxsZWUgbmVlZHMgdG8gYmUgaW4gcmVn
VDAKICAgICBKSVRDb21waWxlcjo6Q2FsbCBzbG93Q2FsbCA9IG1faml0Lm5lYXJDYWxsKCk7CiAg
ICAgCkBAIC0zMjAwLDcgKzMyMDMsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5v
ZGUqIG5vZGUpCiAgICAgICAgICAgICAKICAgICAgICAgICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9y
KAogICAgICAgICAgICAgICAgIHNsb3dQYXRoQ2FsbCgKLSAgICAgICAgICAgICAgICAgICAgc2xv
d1BhdGgsIHRoaXMsIG9wZXJhdGlvbkFycmF5UHVzaCwgTm9SZXN1bHQsIHN0b3JhZ2VMZW5ndGhH
UFIsCisgICAgICAgICAgICAgICAgICAgIHNsb3dQYXRoLCB0aGlzLCBvcGVyYXRpb25BcnJheVB1
c2gsIHN0b3JhZ2VMZW5ndGhHUFIsCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlR1BSLCBiYXNl
R1BSKSk7CiAgICAgICAgIAogICAgICAgICAgICAganNWYWx1ZVJlc3VsdChzdG9yYWdlTGVuZ3Ro
R1BSLCBub2RlKTsKQEAgLTMyMjQsNyArMzIyNyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgIAogICAgICAgICAgICAgYWRkU2xvd1BhdGhH
ZW5lcmF0b3IoCiAgICAgICAgICAgICAgICAgc2xvd1BhdGhDYWxsKAotICAgICAgICAgICAgICAg
ICAgICBzbG93UGF0aCwgdGhpcywgb3BlcmF0aW9uQXJyYXlQdXNoRG91YmxlLCBOb1Jlc3VsdCwg
c3RvcmFnZUxlbmd0aEdQUiwKKyAgICAgICAgICAgICAgICAgICAgc2xvd1BhdGgsIHRoaXMsIG9w
ZXJhdGlvbkFycmF5UHVzaERvdWJsZSwgc3RvcmFnZUxlbmd0aEdQUiwKICAgICAgICAgICAgICAg
ICAgICAgdmFsdWVGUFIsIGJhc2VHUFIpKTsKICAgICAgICAgCiAgICAgICAgICAgICBqc1ZhbHVl
UmVzdWx0KHN0b3JhZ2VMZW5ndGhHUFIsIG5vZGUpOwpAQCAtMzM4OCwxMiArMzM5MSw3IEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgSlNWYWx1ZU9w
ZXJhbmQgb3AxKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgbV9qaXQubW92ZShvcDEu
Z3ByKCksIEdQUkluZm86OnJldHVyblZhbHVlR1BSKTsKIAotICAgICAgICAvLyBHcmFiIHRoZSBy
ZXR1cm4gYWRkcmVzcy4KLSAgICAgICAgbV9qaXQuZW1pdEdldFJldHVyblBDRnJvbUNhbGxGcmFt
ZUhlYWRlclB0cihHUFJJbmZvOjpyZWdUMSk7Ci0gICAgICAgIC8vIFJlc3RvcmUgb3VyIGNhbGxl
cidzICJyIi4KLSAgICAgICAgbV9qaXQuZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFtZUhl
YWRlclB0cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7Ci0gICAgICAgIC8vIFJldHVybi4K
LSAgICAgICAgbV9qaXQucmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4oR1BSSW5mbzo6
cmVnVDEpOworICAgICAgICBtX2ppdC5lbWl0RnVuY3Rpb25FcGlsb2d1ZSgpOwogICAgICAgICBt
X2ppdC5yZXQoKTsKICAgICAgICAgCiAgICAgICAgIG5vUmVzdWx0KG5vZGUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdUaWVyVXBDaGVja0luamVjdGlvblBoYXNl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVGllclVwQ2hlY2tJbmplY3Rpb25Q
aGFzZS5jcHAKaW5kZXggZDUxYTFmMGQ4MjczNDRiNDExYzE0ZDUxZGU5YmRmNzVhY2YxYTk2YS4u
YmVmMGRhOTE0Mzc4ZjQ5NTdiMjk2YmU1ZmUwMzkzMWMzZDI0MzcxMCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdUaWVyVXBDaGVja0luamVjdGlvblBoYXNlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1RpZXJVcENoZWNrSW5qZWN0aW9uUGhh
c2UuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTQgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC00OSwyNyArNDksNTkgQEAgcHVibGljOgogICAgICAgICAKICAgICAgICAgaWYgKCFP
cHRpb25zOjp1c2VFeHBlcmltZW50YWxGVEwoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LQorICAgICAgICAKKyAgICAgICAgaWYgKG1fZ3JhcGgubV9wcm9maWxlZEJsb2NrLT5tX2RpZEZh
aWxGVExDb21waWxhdGlvbikKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAKICNp
ZiBFTkFCTEUoRlRMX0pJVCkKICAgICAgICAgRlRMOjpDYXBhYmlsaXR5TGV2ZWwgbGV2ZWwgPSBG
VEw6OmNhbkNvbXBpbGUobV9ncmFwaCk7CiAgICAgICAgIGlmIChsZXZlbCA9PSBGVEw6OkNhbm5v
dENvbXBpbGUpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIAorICAgICAgICBp
ZiAoIU9wdGlvbnM6OmVuYWJsZU9TUkVudHJ5VG9GVEwoKSkKKyAgICAgICAgICAgIGxldmVsID0g
RlRMOjpDYW5Db21waWxlOworICAgICAgICAKICAgICAgICAgSW5zZXJ0aW9uU2V0IGluc2VydGlv
blNldChtX2dyYXBoKTsKICAgICAgICAgZm9yIChCbG9ja0luZGV4IGJsb2NrSW5kZXggPSBtX2dy
YXBoLm51bUJsb2NrcygpOyBibG9ja0luZGV4LS07KSB7CiAgICAgICAgICAgICBCYXNpY0Jsb2Nr
KiBibG9jayA9IG1fZ3JhcGguYmxvY2soYmxvY2tJbmRleCk7CiAgICAgICAgICAgICBpZiAoIWJs
b2NrKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgCi0gICAgICAgICAg
ICBpZiAoYmxvY2stPmF0KDApLT5vcCgpID09IExvb3BIaW50KSB7Ci0gICAgICAgICAgICAgICAg
Q29kZU9yaWdpbiBjb2RlT3JpZ2luID0gYmxvY2stPmF0KDApLT5jb2RlT3JpZ2luOwotICAgICAg
ICAgICAgICAgIE5vZGVUeXBlIG5vZGVUeXBlOwotICAgICAgICAgICAgICAgIGlmIChsZXZlbCA9
PSBGVEw6OkNhbkNvbXBpbGVBbmRPU1JFbnRlciAmJiAhY29kZU9yaWdpbi5pbmxpbmVDYWxsRnJh
bWUpIHsKLSAgICAgICAgICAgICAgICAgICAgbm9kZVR5cGUgPSBDaGVja1RpZXJVcEFuZE9TUkVu
dGVyOwotICAgICAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChibG9jay0+Ynl0ZWNvZGVC
ZWdpbiA9PSBjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgpOwotICAgICAgICAgICAgICAgIH0gZWxz
ZQotICAgICAgICAgICAgICAgICAgICBub2RlVHlwZSA9IENoZWNrVGllclVwSW5Mb29wOwotICAg
ICAgICAgICAgICAgIGluc2VydGlvblNldC5pbnNlcnROb2RlKDEsIFNwZWNOb25lLCBub2RlVHlw
ZSwgY29kZU9yaWdpbik7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIG5vZGVJbmRleCA9IDA7
IG5vZGVJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsrbm9kZUluZGV4KSB7CisgICAgICAgICAgICAg
ICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChub2RlSW5kZXgpOworICAgICAgICAgICAgICAgIGlm
IChub2RlLT5vcCgpICE9IExvb3BIaW50KQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IHB1dCBPU1IgY2hl
Y2tzIGZvciB0aGUgZmlyc3QgTG9vcEhpbnQgaW4gdGhlIGJsb2NrLiBOb3RlIHRoYXQKKyAgICAg
ICAgICAgICAgICAvLyBtb3JlIHRoYW4gb25lIExvb3BIaW50IGNvdWxkIGhhcHBlbiBpbiBjYXNl
cyB3aGVyZSB3ZSBkaWQgYSBsb3Qgb2YgQ0ZHCisgICAgICAgICAgICAgICAgLy8gc2ltcGxpZmlj
YXRpb24gaW4gdGhlIGJ5dGVjb2RlIHBhcnNlciwgYnV0IGl0IHNob3VsZCBiZSB2ZXJ5IHJhcmUu
CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2lu
ID0gbm9kZS0+Y29kZU9yaWdpbjsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBp
ZiAobGV2ZWwgIT0gRlRMOjpDYW5Db21waWxlQW5kT1NSRW50ZXIgfHwgY29kZU9yaWdpbi5pbmxp
bmVDYWxsRnJhbWUpIHsKKyAgICAgICAgICAgICAgICAgICAgaW5zZXJ0aW9uU2V0Lmluc2VydE5v
ZGUoCisgICAgICAgICAgICAgICAgICAgICAgICBub2RlSW5kZXggKyAxLCBTcGVjTm9uZSwgQ2hl
Y2tUaWVyVXBJbkxvb3AsIGNvZGVPcmlnaW4pOworICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgYm9v
bCBpc0F0VG9wID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIHN1Yk5vZGVJ
bmRleCA9IG5vZGVJbmRleDsgc3ViTm9kZUluZGV4LS07KSB7CisgICAgICAgICAgICAgICAgICAg
IGlmICghYmxvY2stPmF0KHN1Yk5vZGVJbmRleCktPmlzU2VtYW50aWNhbGx5U2tpcHBhYmxlKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlzQXRUb3AgPSBmYWxzZTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlmICghaXNBdFRvcCkgewor
ICAgICAgICAgICAgICAgICAgICBpbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZSgKKyAgICAgICAgICAg
ICAgICAgICAgICAgIG5vZGVJbmRleCArIDEsIFNwZWNOb25lLCBDaGVja1RpZXJVcEluTG9vcCwg
Y29kZU9yaWdpbik7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChibG9j
ay0+Ynl0ZWNvZGVCZWdpbiA9PSBjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgpOworICAgICAgICAg
ICAgICAgIGluc2VydGlvblNldC5pbnNlcnROb2RlKAorICAgICAgICAgICAgICAgICAgICBub2Rl
SW5kZXggKyAxLCBTcGVjTm9uZSwgQ2hlY2tUaWVyVXBBbmRPU1JFbnRlciwgY29kZU9yaWdpbik7
CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIGlmIChibG9jay0+bGFzdCgpLT5vcCgpID09IFJldHVybikgewpAQCAtODAsNiAr
MTEyLDcgQEAgcHVibGljOgogICAgICAgICAgICAgaW5zZXJ0aW9uU2V0LmV4ZWN1dGUoYmxvY2sp
OwogICAgICAgICB9CiAgICAgICAgIAorICAgICAgICBtX2dyYXBoLm1fcGxhbi53aWxsVHJ5VG9U
aWVyVXAgPSB0cnVlOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbHNlIC8vIEVOQUJMRShGVExf
SklUKQogICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdWYWxpZGF0ZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcAppbmRleCAwOWJlYTQwNmZmZmI3ZGRhZTRmMGVl
NGIxMDc2NzcyZGNjYTliYWY1Li4wNDA4NjVmYTIzZDM0ODdkOTE5MmUwYzRmMGNlYTIxNWIzMmEx
ZjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcApAQCAtMTgy
LDYgKzE4MiwxOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgICAgICBWX0VRVUFMKChub2RlKSwgbm9kZS0+cmVmQ291bnQoKSwgMSk7CiAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwIDsgaSA8IGJs
b2NrLT5zaXplKCkgLSAxOyArK2kpIHsKKyAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxv
Y2stPmF0KGkpOworICAgICAgICAgICAgICAgIFZBTElEQVRFKChub2RlKSwgIW5vZGUtPmlzVGVy
bWluYWwoKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgYmxvY2stPnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAg
Tm9kZSogbm9kZSA9IGJsb2NrLT5hdChpKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAg
ICAgICBpZiAobm9kZS0+aGFzU3RydWN0dXJlKCkpCisgICAgICAgICAgICAgICAgICAgIFZBTElE
QVRFKChub2RlKSwgISFub2RlLT5zdHJ1Y3R1cmUoKSk7CisgICAgICAgICAgICB9CiAgICAgICAg
IH0KICAgICAgICAgCiAgICAgICAgIHN3aXRjaCAobV9ncmFwaC5tX2Zvcm0pIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHV29ya2xpc3QuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdXb3JrbGlzdC5jcHAKaW5kZXggM2RmMTlhYzExMTAzZmExNGRm
NTdkOGMwOWRlODZhZDlmYTQwNDZjYi4uYTM2ZWIzODM2Yzk0OGE0MmYxNjNhODg3NjgyMjhmZDIy
NGZlMjU2NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdXb3JrbGlz
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdXb3JrbGlzdC5jcHAKQEAg
LTI2MSwyMyArMjYxLDUyIEBAIHZvaWQgV29ya2xpc3Q6OnRocmVhZEZ1bmN0aW9uKHZvaWQqIGFy
Z3VtZW50KQogICAgIHN0YXRpY19jYXN0PFdvcmtsaXN0Kj4oYXJndW1lbnQpLT5ydW5UaHJlYWQo
KTsKIH0KIAotc3RhdGljIFdvcmtsaXN0KiB0aGVHbG9iYWxXb3JrbGlzdDsKK3N0YXRpYyBXb3Jr
bGlzdCogdGhlR2xvYmFsREZHV29ya2xpc3Q7CiAKLVdvcmtsaXN0KiBnbG9iYWxXb3JrbGlzdCgp
CitXb3JrbGlzdCogZW5zdXJlR2xvYmFsREZHV29ya2xpc3QoKQogewogICAgIHN0YXRpYyBzdGQ6
Om9uY2VfZmxhZyBpbml0aWFsaXplR2xvYmFsV29ya2xpc3RPbmNlRmxhZzsKICAgICBzdGQ6OmNh
bGxfb25jZShpbml0aWFsaXplR2xvYmFsV29ya2xpc3RPbmNlRmxhZywgW10gewotICAgICAgICB1
bnNpZ25lZCBudW1iZXJPZlRocmVhZHM7CisgICAgICAgIHRoZUdsb2JhbERGR1dvcmtsaXN0ID0g
V29ya2xpc3Q6OmNyZWF0ZShPcHRpb25zOjpudW1iZXJPZkRGR0NvbXBpbGVyVGhyZWFkcygpKS5s
ZWFrUmVmKCk7CisgICAgfSk7CisgICAgcmV0dXJuIHRoZUdsb2JhbERGR1dvcmtsaXN0OworfQog
Ci0gICAgICAgIGlmIChPcHRpb25zOjp1c2VFeHBlcmltZW50YWxGVEwoKSkKLSAgICAgICAgICAg
IG51bWJlck9mVGhyZWFkcyA9IDE7IC8vIFdlIGRvbid0IHlldCB1c2UgTExWTSBpbiBhIHRocmVh
ZC1zYWZlIHdheS4KLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbnVtYmVyT2ZUaHJlYWRzID0g
T3B0aW9uczo6bnVtYmVyT2ZDb21waWxlclRocmVhZHMoKTsKK1dvcmtsaXN0KiBleGlzdGluZ0ds
b2JhbERGR1dvcmtsaXN0T3JOdWxsKCkKK3sKKyAgICByZXR1cm4gdGhlR2xvYmFsREZHV29ya2xp
c3Q7Cit9CiAKLSAgICAgICAgdGhlR2xvYmFsV29ya2xpc3QgPSBXb3JrbGlzdDo6Y3JlYXRlKG51
bWJlck9mVGhyZWFkcykubGVha1JlZigpOworc3RhdGljIFdvcmtsaXN0KiB0aGVHbG9iYWxGVExX
b3JrbGlzdDsKKworV29ya2xpc3QqIGVuc3VyZUdsb2JhbEZUTFdvcmtsaXN0KCkKK3sKKyAgICBz
dGF0aWMgc3RkOjpvbmNlX2ZsYWcgaW5pdGlhbGl6ZUdsb2JhbFdvcmtsaXN0T25jZUZsYWc7Cisg
ICAgc3RkOjpjYWxsX29uY2UoaW5pdGlhbGl6ZUdsb2JhbFdvcmtsaXN0T25jZUZsYWcsIFtdIHsK
KyAgICAgICAgdGhlR2xvYmFsRlRMV29ya2xpc3QgPSBXb3JrbGlzdDo6Y3JlYXRlKE9wdGlvbnM6
Om51bWJlck9mRlRMQ29tcGlsZXJUaHJlYWRzKCkpLmxlYWtSZWYoKTsKICAgICB9KTsKKyAgICBy
ZXR1cm4gdGhlR2xvYmFsRlRMV29ya2xpc3Q7Cit9CiAKLSAgICByZXR1cm4gdGhlR2xvYmFsV29y
a2xpc3Q7CitXb3JrbGlzdCogZXhpc3RpbmdHbG9iYWxGVExXb3JrbGlzdE9yTnVsbCgpCit7Cisg
ICAgcmV0dXJuIHRoZUdsb2JhbEZUTFdvcmtsaXN0OworfQorCitXb3JrbGlzdCogZW5zdXJlR2xv
YmFsV29ya2xpc3RGb3IoQ29tcGlsYXRpb25Nb2RlIG1vZGUpCit7CisgICAgc3dpdGNoIChtb2Rl
KSB7CisgICAgY2FzZSBJbnZhbGlkQ29tcGlsYXRpb25Nb2RlOgorICAgICAgICBSRUxFQVNFX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKKyAgICBjYXNlIERGR01vZGU6
CisgICAgICAgIHJldHVybiBlbnN1cmVHbG9iYWxERkdXb3JrbGlzdCgpOworICAgIGNhc2UgRlRM
TW9kZToKKyAgICBjYXNlIEZUTEZvck9TUkVudHJ5TW9kZToKKyAgICAgICAgcmV0dXJuIGVuc3Vy
ZUdsb2JhbEZUTFdvcmtsaXN0KCk7CisgICAgfQorICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgcmV0dXJuIDA7CiB9CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHV29ya2xpc3QuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHV29ya2xpc3QuaAppbmRleCBkMzQxOWYwYTkxYWY5NzFh
MWUyMjFkOWNhOWI0NzljOGQzY2QxNzY4Li4yNWEzMTY4ZTA5Y2UyZmQ4ODlkMWY2MDlkZDY2ODI5
NDYyMDljYmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1dvcmts
aXN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdXb3JrbGlzdC5oCkBAIC05
NSwxMCArOTUsMTUgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX251bWJlck9mQWN0aXZlVGhy
ZWFkczsKIH07CiAKLS8vIEZvciBub3cgd2UgdXNlIGEgc2luZ2xlIGdsb2JhbCB3b3JrbGlzdC4g
SXQncyBub3QgY2xlYXIgdGhhdCB0aGlzCi0vLyBpcyB0aGUgcmlnaHQgdGhpbmcgdG8gZG8sIGJ1
dCBpdCBpcyB3aGF0IHdlIGRvLCBmb3Igbm93LiBUaGlzIGZ1bmN0aW9uCi0vLyB3aWxsIGxhemls
eSBjcmVhdGUgb25lIHdoZW4gaXQncyBuZWVkZWQuCi1Xb3JrbGlzdCogZ2xvYmFsV29ya2xpc3Qo
KTsKKy8vIEZvciBERkdNb2RlIGNvbXBpbGF0aW9ucy4KK1dvcmtsaXN0KiBlbnN1cmVHbG9iYWxE
RkdXb3JrbGlzdCgpOworV29ya2xpc3QqIGV4aXN0aW5nR2xvYmFsREZHV29ya2xpc3RPck51bGwo
KTsKKworLy8gRm9yIEZUTE1vZGUgYW5kIEZUTEZvck9TUkVudHJ5TW9kZSBjb21waWxhdGlvbnMu
CitXb3JrbGlzdCogZW5zdXJlR2xvYmFsRlRMV29ya2xpc3QoKTsKK1dvcmtsaXN0KiBleGlzdGlu
Z0dsb2JhbEZUTFdvcmtsaXN0T3JOdWxsKCk7CisKK1dvcmtsaXN0KiBlbnN1cmVHbG9iYWxXb3Jr
bGlzdEZvcihDb21waWxhdGlvbk1vZGUpOwogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvQVJNNjQvQTY0
RE9wY29kZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGlzYXNzZW1ibGVyL0FSTTY0L0E2
NERPcGNvZGUuY3BwCmluZGV4IDBlYTgxN2E0NjFhZDUyYWRhMGYyNzJhZjc0MzVjMjVhMWE5MTU4
YzMuLjQxNWRiZGI4ZTAyZGVkNGUzMThjODI3MTVkZjY1NDJmNWIxMzQyYWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIvQVJNNjQvQTY0RE9wY29kZS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rpc2Fzc2VtYmxlci9BUk02NC9BNjRET3Bjb2Rl
LmNwcApAQCAtNjIsNiArNjIsOCBAQCBzdHJ1Y3QgT3Bjb2RlR3JvdXBJbml0aWFsaXplciB7CiB7
IGdyb3VwSW5kZXgsIGdyb3VwQ2xhc3M6Om1hc2ssIGdyb3VwQ2xhc3M6OnBhdHRlcm4sIGdyb3Vw
Q2xhc3M6OmZvcm1hdCB9CiAKIHN0YXRpYyBPcGNvZGVHcm91cEluaXRpYWxpemVyIG9wY29kZUdy
b3VwTGlzdFtdID0geworICAgIE9QQ09ERV9HUk9VUF9FTlRSWSgweDA4LCBBNjRET3Bjb2RlTG9h
ZFN0b3JlUmVnaXN0ZXJQYWlyKSwKKyAgICBPUENPREVfR1JPVVBfRU5UUlkoMHgwOSwgQTY0RE9w
Y29kZUxvYWRTdG9yZVJlZ2lzdGVyUGFpciksCiAgICAgT1BDT0RFX0dST1VQX0VOVFJZKDB4MGEs
IEE2NERPcGNvZGVMb2dpY2FsU2hpZnRlZFJlZ2lzdGVyKSwKICAgICBPUENPREVfR1JPVVBfRU5U
UlkoMHgwYiwgQTY0RE9wY29kZUFkZFN1YnRyYWN0RXh0ZW5kZWRSZWdpc3RlciksCiAgICAgT1BD
T0RFX0dST1VQX0VOVFJZKDB4MGIsIEE2NERPcGNvZGVBZGRTdWJ0cmFjdFNoaWZ0ZWRSZWdpc3Rl
ciksCkBAIC0xNzIsNiArMTc0LDExIEBAIGNvbnN0IGNoYXIqIEE2NERPcGNvZGU6OmZvcm1hdCgp
CiAKIHZvaWQgQTY0RE9wY29kZTo6YXBwZW5kUmVnaXN0ZXJOYW1lKHVuc2lnbmVkIHJlZ2lzdGVy
TnVtYmVyLCBib29sIGlzNjRCaXQpCiB7CisgICAgaWYgKHJlZ2lzdGVyTnVtYmVyID09IDI5KSB7
CisgICAgICAgIGJ1ZmZlclByaW50ZihpczY0Qml0ID8gImZwIiA6ICJ3ZnAiKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKwogICAgIGlmIChyZWdpc3Rlck51bWJlciA9PSAzMCkgewogICAgICAg
ICBidWZmZXJQcmludGYoaXM2NEJpdCA/ICJsciIgOiAid2xyIik7CiAgICAgICAgIHJldHVybjsK
QEAgLTkzOSw2ICs5NDYsNjMgQEAgY29uc3QgY2hhciogQTY0RE9wY29kZUxvYWRTdG9yZVJlZ2lz
dGVyT2Zmc2V0Ojpmb3JtYXQoKQogICAgIHJldHVybiBtX2Zvcm1hdEJ1ZmZlcjsKIH0KIAorY29u
c3QgY2hhciogQTY0RE9wY29kZUxvYWRTdG9yZVJlZ2lzdGVyUGFpcjo6b3BOYW1lKCkKK3sKKyAg
ICBpZiAoIXZCaXQoKSAmJiBsQml0KCkgJiYgc2l6ZSgpID09IDB4MSkKKyAgICAgICAgcmV0dXJu
ICJsZHBzdyI7CisgICAgaWYgKGxCaXQoKSkKKyAgICAgICAgcmV0dXJuICJsZHAiOworICAgIHJl
dHVybiAic3RwIjsKK30KKworY29uc3QgY2hhciogQTY0RE9wY29kZUxvYWRTdG9yZVJlZ2lzdGVy
UGFpcjo6Zm9ybWF0KCkKK3sKKyAgICBjb25zdCBjaGFyKiB0aGlzT3BOYW1lID0gb3BOYW1lKCk7
CisgICAgCisgICAgaWYgKHNpemUoKSA9PSAweDMpCisgICAgICAgIHJldHVybiBBNjRET3Bjb2Rl
Ojpmb3JtYXQoKTsKKworICAgIGlmICgob2Zmc2V0TW9kZSgpIDwgMHgxKSB8fCAob2Zmc2V0TW9k
ZSgpID4gMHgzKSkKKyAgICAgICAgcmV0dXJuIEE2NERPcGNvZGU6OmZvcm1hdCgpOworCisgICAg
aWYgKChvZmZzZXRNb2RlKCkgPT0gMHgxKSAmJiAhdkJpdCgpICYmICFsQml0KCkpCisgICAgICAg
IHJldHVybiBBNjRET3Bjb2RlOjpmb3JtYXQoKTsKKworICAgIGFwcGVuZEluc3RydWN0aW9uTmFt
ZSh0aGlzT3BOYW1lKTsKKyAgICB1bnNpZ25lZCBvZmZzZXRTaGlmdDsKKyAgICBpZiAodkJpdCgp
KSB7CisgICAgICAgIGFwcGVuZEZQUmVnaXN0ZXJOYW1lKHJ0KCksIHNpemUoKSk7CisgICAgICAg
IGFwcGVuZFNlcGFyYXRvcigpOworICAgICAgICBhcHBlbmRGUFJlZ2lzdGVyTmFtZShydDIoKSwg
c2l6ZSgpKTsKKyAgICAgICAgb2Zmc2V0U2hpZnQgPSBzaXplKCkgKyAyOworICAgIH0gZWxzZSB7
CisgICAgICAgIGFwcGVuZFJlZ2lzdGVyTmFtZShydCgpLCBpczY0Qml0KCkpOworICAgICAgICBh
cHBlbmRTZXBhcmF0b3IoKTsKKyAgICAgICAgYXBwZW5kUmVnaXN0ZXJOYW1lKHJ0MigpLCBpczY0
Qml0KCkpOworICAgICAgICBvZmZzZXRTaGlmdCA9IChzaXplKCkgPj4gMSkgKyAyOworICAgIH0K
KworICAgIGFwcGVuZFNlcGFyYXRvcigpOworICAgIGFwcGVuZENoYXJhY3RlcignWycpOworICAg
IGFwcGVuZFNQT3JSZWdpc3Rlck5hbWUocm4oKSk7CisKKyAgICBpbnQgb2Zmc2V0ID0gaW1tZWRp
YXRlNygpIDw8IG9mZnNldFNoaWZ0OworCisgICAgaWYgKG9mZnNldE1vZGUoKSA9PSAxKSB7Cisg
ICAgICAgIGFwcGVuZENoYXJhY3RlcignXScpOworICAgICAgICBhcHBlbmRTZXBhcmF0b3IoKTsK
KyAgICAgICAgYXBwZW5kU2lnbmVkSW1tZWRpYXRlKG9mZnNldCk7CisgICAgfSBlbHNlIHsKKyAg
ICAgICAgYXBwZW5kU2VwYXJhdG9yKCk7CisgICAgICAgIGFwcGVuZFNpZ25lZEltbWVkaWF0ZShv
ZmZzZXQpOworICAgICAgICBhcHBlbmRDaGFyYWN0ZXIoJ10nKTsKKyAgICAgICAgaWYgKG9mZnNl
dE1vZGUoKSA9PSAweDMpCisgICAgICAgICAgICBhcHBlbmRDaGFyYWN0ZXIoJyEnKTsKKyAgICB9
CisKKyAgICByZXR1cm4gbV9mb3JtYXRCdWZmZXI7Cit9CisKIGNvbnN0IGNoYXIqIEE2NERPcGNv
ZGVMb2FkU3RvcmVVbnNpZ25lZEltbWVkaWF0ZTo6Zm9ybWF0KCkKIHsKICAgICBjb25zdCBjaGFy
KiB0aGlzT3BOYW1lID0gb3BOYW1lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGlzYXNzZW1ibGVyL0FSTTY0L0E2NERPcGNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kaXNhc3NlbWJsZXIvQVJNNjQvQTY0RE9wY29kZS5oCmluZGV4IGVkMThkMzBkZmRjZmM5OWM5
OGY1NzI4M2NmODZjNzYzYzczYmM2ZTcuLjFjNmFjNDMxOTA2Njk0YTc1NWJhZTBiY2FhYTJlNWVh
NmIxYzk2NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJsZXIv
QVJNNjQvQTY0RE9wY29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kaXNhc3NlbWJs
ZXIvQVJNNjQvQTY0RE9wY29kZS5oCkBAIC01NjUsNiArNTY1LDIyIEBAIHB1YmxpYzoKICAgICBp
bnQgc0JpdCgpIHsgcmV0dXJuIChtX29wY29kZSA+PiAxMikgJiAweDE7IH0KIH07CiAKK2NsYXNz
IEE2NERPcGNvZGVMb2FkU3RvcmVSZWdpc3RlclBhaXIgOiBwdWJsaWMgQTY0RE9wY29kZUxvYWRT
dG9yZSB7CitwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0IHVpbnQzMl90IG1hc2sgPSAweDNhMDAw
MDAwOworICAgIHN0YXRpYyBjb25zdCB1aW50MzJfdCBwYXR0ZXJuID0gMHgyODAwMDAwMDsKKwor
ICAgIERFRklORV9TVEFUSUNfRk9STUFUKEE2NERPcGNvZGVMb2FkU3RvcmVSZWdpc3RlclBhaXIs
IHRoaXNPYmopOworCisgICAgY29uc3QgY2hhciogZm9ybWF0KCk7CisgICAgY29uc3QgY2hhciog
b3BOYW1lKCk7CisKKyAgICB1bnNpZ25lZCBydDIoKSB7IHJldHVybiAobV9vcGNvZGUgPj4gMTAp
ICYgMHgxZjsgfQorICAgIGludCBpbW1lZGlhdGU3KCkgeyByZXR1cm4gKHN0YXRpY19jYXN0PGlu
dD4oKG1fb3Bjb2RlID4+IDE1KSAmIDB4N2YpIDw8IDI1KSA+PiAyNTsgfQorICAgIHVuc2lnbmVk
IG9mZnNldE1vZGUoKSB7IHJldHVybiAobV9vcGNvZGUgPj4gMjMpICYgMHg3OyB9CisgICAgaW50
IGxCaXQoKSB7IHJldHVybiAobV9vcGNvZGUgPj4gMjIpICYgMHgxOyB9Cit9OworCiBjbGFzcyBB
NjRET3Bjb2RlTG9hZFN0b3JlVW5zaWduZWRJbW1lZGlhdGUgOiBwdWJsaWMgQTY0RE9wY29kZUxv
YWRTdG9yZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IHVpbnQzMl90IG1hc2sgPSAweDNi
MDAwMDAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYmJyZXZp
YXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFiYnJldmlhdGlvbnMuaApp
bmRleCAwMmUwYzA0YzMwMjkxNWJhZTRiMzQ4NjA5NTg0ZjcyM2Q4NDQwNjU0Li4wZjlmYTRjMzAx
YzE5MTA5YTc2N2RiYjQ2ODc0NjM3ZGUxOWVmM2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEFiYnJldmlhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEFiYnJldmlhdGlvbnMuaApAQCAtNTgsNiArNTgsNyBAQCBzdGF0aWMgaW5saW5l
IExUeXBlIGZsb2F0VHlwZShMQ29udGV4dCBjb250ZXh0KSB7IHJldHVybiBsbHZtLT5GbG9hdFR5
cGVJbkNvbnRleAogc3RhdGljIGlubGluZSBMVHlwZSBkb3VibGVUeXBlKExDb250ZXh0IGNvbnRl
eHQpIHsgcmV0dXJuIGxsdm0tPkRvdWJsZVR5cGVJbkNvbnRleHQoY29udGV4dCk7IH0KIAogc3Rh
dGljIGlubGluZSBMVHlwZSBwb2ludGVyVHlwZShMVHlwZSB0eXBlKSB7IHJldHVybiBsbHZtLT5Q
b2ludGVyVHlwZSh0eXBlLCAwKTsgfQorc3RhdGljIGlubGluZSBMVHlwZSBhcnJheVR5cGUoTFR5
cGUgdHlwZSwgdW5zaWduZWQgY291bnQpIHsgcmV0dXJuIGxsdm0tPkFycmF5VHlwZSh0eXBlLCBj
b3VudCk7IH0KIHN0YXRpYyBpbmxpbmUgTFR5cGUgdmVjdG9yVHlwZShMVHlwZSB0eXBlLCB1bnNp
Z25lZCBjb3VudCkgeyByZXR1cm4gbGx2bS0+VmVjdG9yVHlwZSh0eXBlLCBjb3VudCk7IH0KIAog
ZW51bSBQYWNraW5nTW9kZSB7IE5vdFBhY2tlZCwgUGFja2VkIH07CkBAIC0xMzIsNiArMTMzLDcg
QEAgc3RhdGljIGlubGluZSB2b2lkIHNldE1ldGFkYXRhKExWYWx1ZSBpbnN0cnVjdGlvbiwgdW5z
aWduZWQga2luZCwgTFZhbHVlIG1ldGFkYXQKIHN0YXRpYyBpbmxpbmUgTFZhbHVlIGFkZEZ1bmN0
aW9uKExNb2R1bGUgbW9kdWxlLCBjb25zdCBjaGFyKiBuYW1lLCBMVHlwZSB0eXBlKSB7IHJldHVy
biBsbHZtLT5BZGRGdW5jdGlvbihtb2R1bGUsIG5hbWUsIHR5cGUpOyB9CiBzdGF0aWMgaW5saW5l
IHZvaWQgc2V0TGlua2FnZShMVmFsdWUgZ2xvYmFsLCBMTGlua2FnZSBsaW5rYWdlKSB7IGxsdm0t
PlNldExpbmthZ2UoZ2xvYmFsLCBsaW5rYWdlKTsgfQogc3RhdGljIGlubGluZSB2b2lkIHNldEZ1
bmN0aW9uQ2FsbGluZ0NvbnYoTFZhbHVlIGZ1bmN0aW9uLCBMQ2FsbENvbnYgY29udmVudGlvbikg
eyBsbHZtLT5TZXRGdW5jdGlvbkNhbGxDb252KGZ1bmN0aW9uLCBjb252ZW50aW9uKTsgfQorc3Rh
dGljIGlubGluZSB2b2lkIGFkZFRhcmdldERlcGVuZGVudEZ1bmN0aW9uQXR0cihMVmFsdWUgZnVu
Y3Rpb24sIGNvbnN0IGNoYXIqIGtleSwgY29uc3QgY2hhciogdmFsdWUpIHsgbGx2bS0+QWRkVGFy
Z2V0RGVwZW5kZW50RnVuY3Rpb25BdHRyKGZ1bmN0aW9uLCBrZXksIHZhbHVlKTsgfQogCiBzdGF0
aWMgaW5saW5lIExWYWx1ZSBhZGRFeHRlcm5GdW5jdGlvbihMTW9kdWxlIG1vZHVsZSwgY29uc3Qg
Y2hhciogbmFtZSwgTFR5cGUgdHlwZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMQWJzdHJhY3RIZWFwLmNwcAppbmRleCBlYWRkNWFmOTdlZWQ0M2U5ZDE3NDllYTNlYTdmYTdh
NzcyNzU5YWU0Li5iZTk5YzUwMTUwNjkyZjE0ODhiNjZlYWRhZTE5MDUyMjcyYmU2NzRkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXAuY3BwCkBAIC01Myw5
ICs1MywxMCBAQCB2b2lkIEFic3RyYWN0SGVhcDo6ZGVjb3JhdGVJbnN0cnVjdGlvbihMVmFsdWUg
aW5zdHJ1Y3Rpb24sIGNvbnN0IEFic3RyYWN0SGVhcFJlcAogICAgIHNldE1ldGFkYXRhKGluc3Ry
dWN0aW9uLCByZXBvc2l0b3J5Lm1fdGJhYUtpbmQsIHRiYWFNZXRhZGF0YShyZXBvc2l0b3J5KSk7
CiB9CiAKLUluZGV4ZWRBYnN0cmFjdEhlYXA6OkluZGV4ZWRBYnN0cmFjdEhlYXAoTENvbnRleHQg
Y29udGV4dCwgQWJzdHJhY3RIZWFwKiBwYXJlbnQsIGNvbnN0IGNoYXIqIGhlYXBOYW1lLCBzaXpl
X3QgZWxlbWVudFNpemUpCitJbmRleGVkQWJzdHJhY3RIZWFwOjpJbmRleGVkQWJzdHJhY3RIZWFw
KExDb250ZXh0IGNvbnRleHQsIEFic3RyYWN0SGVhcCogcGFyZW50LCBjb25zdCBjaGFyKiBoZWFw
TmFtZSwgcHRyZGlmZl90IG9mZnNldCwgc2l6ZV90IGVsZW1lbnRTaXplKQogICAgIDogbV9oZWFw
Rm9yQW55SW5kZXgocGFyZW50LCBoZWFwTmFtZSkKICAgICAsIG1faGVhcE5hbWVMZW5ndGgoc3Ry
bGVuKGhlYXBOYW1lKSkKKyAgICAsIG1fb2Zmc2V0KG9mZnNldCkKICAgICAsIG1fZWxlbWVudFNp
emUoZWxlbWVudFNpemUpCiAgICAgLCBtX3NjYWxlVGVybSgwKQogICAgICwgbV9jYW5TaGlmdChm
YWxzZSkKQEAgLTkzLDcgKzk0LDcgQEAgVHlwZWRQb2ludGVyIEluZGV4ZWRBYnN0cmFjdEhlYXA6
OmJhc2VJbmRleChPdXRwdXQmIG91dCwgTFZhbHVlIGJhc2UsIExWYWx1ZSBpbmQKICAgICB9IGVs
c2UKICAgICAgICAgcmVzdWx0ID0gb3V0LmFkZChiYXNlLCBvdXQubXVsKGluZGV4LCBtX3NjYWxl
VGVybSkpOwogICAgIAotICAgIHJldHVybiBUeXBlZFBvaW50ZXIoYXRBbnlJbmRleCgpLCBvdXQu
YWRkUHRyKHJlc3VsdCwgb2Zmc2V0KSk7CisgICAgcmV0dXJuIFR5cGVkUG9pbnRlcihhdEFueUlu
ZGV4KCksIG91dC5hZGRQdHIocmVzdWx0LCBtX29mZnNldCArIG9mZnNldCkpOwogfQogCiBjb25z
dCBBYnN0cmFjdEZpZWxkJiBJbmRleGVkQWJzdHJhY3RIZWFwOjphdFNsb3cocHRyZGlmZl90IGlu
ZGV4KQpAQCAtMTY4LDcgKzE2OSw3IEBAIHZvaWQgSW5kZXhlZEFic3RyYWN0SGVhcDo6aW5pdGlh
bGl6ZShBYnN0cmFjdEZpZWxkJiBmaWVsZCwgcHRyZGlmZl90IHNpZ25lZEluZGV4CiAgICAgICAg
ICAgICBhY2N1bXVsYXRvciA+Pj0gNDsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgZmll
bGQuaW5pdGlhbGl6ZSgmbV9oZWFwRm9yQW55SW5kZXgsIGNoYXJhY3RlcnMsIHNpZ25lZEluZGV4
ICogbV9lbGVtZW50U2l6ZSk7CisgICAgICAgIGZpZWxkLmluaXRpYWxpemUoJm1faGVhcEZvckFu
eUluZGV4LCBjaGFyYWN0ZXJzLCBtX29mZnNldCArIHNpZ25lZEluZGV4ICogbV9lbGVtZW50U2l6
ZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCkBAIC0xNzcsNyArMTc4LDcgQEAgdm9p
ZCBJbmRleGVkQWJzdHJhY3RIZWFwOjppbml0aWFsaXplKEFic3RyYWN0RmllbGQmIGZpZWxkLCBw
dHJkaWZmX3Qgc2lnbmVkSW5kZXgKIAogTnVtYmVyZWRBYnN0cmFjdEhlYXA6Ok51bWJlcmVkQWJz
dHJhY3RIZWFwKAogICAgIExDb250ZXh0IGNvbnRleHQsIEFic3RyYWN0SGVhcCogaGVhcCwgY29u
c3QgY2hhciogaGVhcE5hbWUpCi0gICAgOiBtX2luZGV4ZWRIZWFwKGNvbnRleHQsIGhlYXAsIGhl
YXBOYW1lLCAxKQorICAgIDogbV9pbmRleGVkSGVhcChjb250ZXh0LCBoZWFwLCBoZWFwTmFtZSwg
MCwgMSkKIHsKIH0KIApAQCAtMTg3LDcgKzE4OCw3IEBAIE51bWJlcmVkQWJzdHJhY3RIZWFwOjp+
TnVtYmVyZWRBYnN0cmFjdEhlYXAoKQogCiBBYnNvbHV0ZUFic3RyYWN0SGVhcDo6QWJzb2x1dGVB
YnN0cmFjdEhlYXAoCiAgICAgTENvbnRleHQgY29udGV4dCwgQWJzdHJhY3RIZWFwKiBoZWFwLCBj
b25zdCBjaGFyKiBoZWFwTmFtZSkKLSAgICA6IG1faW5kZXhlZEhlYXAoY29udGV4dCwgaGVhcCwg
aGVhcE5hbWUsIDEpCisgICAgOiBtX2luZGV4ZWRIZWFwKGNvbnRleHQsIGhlYXAsIGhlYXBOYW1l
LCAwLCAxKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TEFic3RyYWN0SGVhcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhl
YXAuaAppbmRleCBlOTJhMmZjMmMwMWMzMDk1ODMwNzBkOTYxYjFhNzA5MTQxMWNhYzZkLi4yZjBj
YWE3MjcxMGEyM2JkMTExYzEyOTAxMWQyOTY0NTI3NjdlMDU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwLmgKQEAgLTEzOSw3ICsxMzksNyBAQCBwcml2YXRl
OgogCiBjbGFzcyBJbmRleGVkQWJzdHJhY3RIZWFwIHsKIHB1YmxpYzoKLSAgICBJbmRleGVkQWJz
dHJhY3RIZWFwKExDb250ZXh0LCBBYnN0cmFjdEhlYXAqIHBhcmVudCwgY29uc3QgY2hhciogaGVh
cE5hbWUsIHNpemVfdCBlbGVtZW50U2l6ZSk7CisgICAgSW5kZXhlZEFic3RyYWN0SGVhcChMQ29u
dGV4dCwgQWJzdHJhY3RIZWFwKiBwYXJlbnQsIGNvbnN0IGNoYXIqIGhlYXBOYW1lLCBwdHJkaWZm
X3Qgb2Zmc2V0LCBzaXplX3QgZWxlbWVudFNpemUpOwogICAgIH5JbmRleGVkQWJzdHJhY3RIZWFw
KCk7CiAgICAgCiAgICAgY29uc3QgQWJzdHJhY3RIZWFwJiBhdEFueUluZGV4KCkgY29uc3QgeyBy
ZXR1cm4gbV9oZWFwRm9yQW55SW5kZXg7IH0KQEAgLTE2OCw2ICsxNjgsNyBAQCBwcml2YXRlOgog
CiAgICAgQWJzdHJhY3RIZWFwIG1faGVhcEZvckFueUluZGV4OwogICAgIHNpemVfdCBtX2hlYXBO
YW1lTGVuZ3RoOworICAgIHB0cmRpZmZfdCBtX29mZnNldDsKICAgICBzaXplX3QgbV9lbGVtZW50
U2l6ZTsKICAgICBMVmFsdWUgbV9zY2FsZVRlcm07CiAgICAgYm9vbCBtX2NhblNoaWZ0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0
b3J5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3Np
dG9yeS5jcHAKaW5kZXggZDdmODNjOTYwMWM4ZGVjYjNjNGZkOTYwZjllOTNmZWUyNGY5NzJlZi4u
ZTZiMGUxNjFmMmM5YWJhZGRiNDZlYzYxZjZiYjgwMTE3ZjgyNGYxOCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3Bw
CkBAIC00Nyw3ICs0Nyw3IEBAIEFic3RyYWN0SGVhcFJlcG9zaXRvcnk6OkFic3RyYWN0SGVhcFJl
cG9zaXRvcnkoTENvbnRleHQgY29udGV4dCkKICAgICAKICAgICAsIEpTQ2VsbF9mcmVlTGlzdE5l
eHQoSlNDZWxsX3N0cnVjdHVyZSkKICAgICAKLSNkZWZpbmUgSU5ERVhFRF9BQlNUUkFDVF9IRUFQ
X0lOSVRJQUxJWkFUSU9OKG5hbWUsIHNpemUpICwgbmFtZShjb250ZXh0LCAmcm9vdCwgI25hbWUs
IHNpemUpCisjZGVmaW5lIElOREVYRURfQUJTVFJBQ1RfSEVBUF9JTklUSUFMSVpBVElPTihuYW1l
LCBvZmZzZXQsIHNpemUpICwgbmFtZShjb250ZXh0LCAmcm9vdCwgI25hbWUsIG9mZnNldCwgc2l6
ZSkKICAgICBGT1JfRUFDSF9JTkRFWEVEX0FCU1RSQUNUX0hFQVAoSU5ERVhFRF9BQlNUUkFDVF9I
RUFQX0lOSVRJQUxJWkFUSU9OKQogI3VuZGVmIElOREVYRURfQUJTVFJBQ1RfSEVBUF9JTklUSUFM
SVpBVElPTgogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExB
YnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFi
c3RyYWN0SGVhcFJlcG9zaXRvcnkuaAppbmRleCBmODExYzhiZTVkMWE3NTY0MjkyMzAzNjQwNTcx
ZjEyNTk1YWE0MDc2Li5kZDk0NjZkOTJmZjIzYTA4YTU4YzFlMmIzNGNhYWUxMjQxZDM4YjQxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9z
aXRvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJl
cG9zaXRvcnkuaApAQCAtNDgsMTEgKzQ4LDE1IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2Ug
RlRMIHsKICAgICBtYWNybyhKU0FycmF5QnVmZmVyVmlld19tb2RlLCBKU0FycmF5QnVmZmVyVmll
dzo6b2Zmc2V0T2ZNb2RlKCkpIFwKICAgICBtYWNybyhKU0FycmF5QnVmZmVyVmlld192ZWN0b3Is
IEpTQXJyYXlCdWZmZXJWaWV3OjpvZmZzZXRPZlZlY3RvcigpKSBcCiAgICAgbWFjcm8oSlNDZWxs
X3N0cnVjdHVyZSwgSlNDZWxsOjpzdHJ1Y3R1cmVPZmZzZXQoKSkgXAorICAgIG1hY3JvKEpTRnVu
Y3Rpb25fZXhlY3V0YWJsZSwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpIFwKKyAg
ICBtYWNybyhKU0Z1bmN0aW9uX3Njb3BlLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZlNjb3BlQ2hhaW4o
KSkgXAogICAgIG1hY3JvKEpTT2JqZWN0X2J1dHRlcmZseSwgSlNPYmplY3Q6OmJ1dHRlcmZseU9m
ZnNldCgpKSBcCiAgICAgbWFjcm8oSlNTY29wZV9uZXh0LCBKU1Njb3BlOjpvZmZzZXRPZk5leHQo
KSkgXAorICAgIG1hY3JvKEpTU3RyaW5nX2ZsYWdzLCBKU1N0cmluZzo6b2Zmc2V0T2ZGbGFncygp
KSBcCiAgICAgbWFjcm8oSlNTdHJpbmdfbGVuZ3RoLCBKU1N0cmluZzo6b2Zmc2V0T2ZMZW5ndGgo
KSkgXAogICAgIG1hY3JvKEpTU3RyaW5nX3ZhbHVlLCBKU1N0cmluZzo6b2Zmc2V0T2ZWYWx1ZSgp
KSBcCiAgICAgbWFjcm8oSlNWYXJpYWJsZU9iamVjdF9yZWdpc3RlcnMsIEpTVmFyaWFibGVPYmpl
Y3Q6Om9mZnNldE9mUmVnaXN0ZXJzKCkpIFwKKyAgICBtYWNybyhKU1dyYXBwZXJPYmplY3RfaW50
ZXJuYWxWYWx1ZSwgSlNXcmFwcGVyT2JqZWN0OjppbnRlcm5hbFZhbHVlT2Zmc2V0KCkpIFwKICAg
ICBtYWNybyhNYXJrZWRBbGxvY2F0b3JfZnJlZUxpc3RIZWFkLCBNYXJrZWRBbGxvY2F0b3I6Om9m
ZnNldE9mRnJlZUxpc3RIZWFkKCkpIFwKICAgICBtYWNybyhNYXJrZWRCbG9ja19tYXJrQml0cywg
TWFya2VkQmxvY2s6Om9mZnNldE9mTWFya3MoKSkgXAogICAgIG1hY3JvKFN0cmluZ0ltcGxfZGF0
YSwgU3RyaW5nSW1wbDo6ZGF0YU9mZnNldCgpKSBcCkBAIC02NCwxNCArNjgsMTUgQEAgbmFtZXNw
YWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3JvKFN0cnVjdHVyZV90eXBlSW5mb1R5
cGUsIFN0cnVjdHVyZTo6dHlwZUluZm9UeXBlT2Zmc2V0KCkpCiAKICNkZWZpbmUgRk9SX0VBQ0hf
SU5ERVhFRF9BQlNUUkFDVF9IRUFQKG1hY3JvKSBcCi0gICAgbWFjcm8oY2hhcmFjdGVyczgsIHNp
emVvZihMQ2hhcikpIFwKLSAgICBtYWNybyhjaGFyYWN0ZXJzMTYsIHNpemVvZihVQ2hhcikpIFwK
LSAgICBtYWNybyhpbmRleGVkSW50MzJQcm9wZXJ0aWVzLCBzaXplb2YoRW5jb2RlZEpTVmFsdWUp
KSBcCi0gICAgbWFjcm8oaW5kZXhlZERvdWJsZVByb3BlcnRpZXMsIHNpemVvZihkb3VibGUpKSBc
Ci0gICAgbWFjcm8oaW5kZXhlZENvbnRpZ3VvdXNQcm9wZXJ0aWVzLCBzaXplb2YoRW5jb2RlZEpT
VmFsdWUpKSBcCi0gICAgbWFjcm8oaW5kZXhlZEFycmF5U3RvcmFnZVByb3BlcnRpZXMsIHNpemVv
ZihFbmNvZGVkSlNWYWx1ZSkpIFwKLSAgICBtYWNybyhzaW5nbGVDaGFyYWN0ZXJTdHJpbmdzLCBz
aXplb2YoSlNTdHJpbmcqKSkgXAotICAgIG1hY3JvKHZhcmlhYmxlcywgc2l6ZW9mKFJlZ2lzdGVy
KSkKKyAgICBtYWNybyhKU1JvcGVTdHJpbmdfZmliZXJzLCBKU1JvcGVTdHJpbmc6Om9mZnNldE9m
RmliZXJzKCksIHNpemVvZihXcml0ZUJhcnJpZXI8SlNTdHJpbmc+KSkgXAorICAgIG1hY3JvKGNo
YXJhY3RlcnM4LCAwLCBzaXplb2YoTENoYXIpKSBcCisgICAgbWFjcm8oY2hhcmFjdGVyczE2LCAw
LCBzaXplb2YoVUNoYXIpKSBcCisgICAgbWFjcm8oaW5kZXhlZEludDMyUHJvcGVydGllcywgMCwg
c2l6ZW9mKEVuY29kZWRKU1ZhbHVlKSkgXAorICAgIG1hY3JvKGluZGV4ZWREb3VibGVQcm9wZXJ0
aWVzLCAwLCBzaXplb2YoZG91YmxlKSkgXAorICAgIG1hY3JvKGluZGV4ZWRDb250aWd1b3VzUHJv
cGVydGllcywgMCwgc2l6ZW9mKEVuY29kZWRKU1ZhbHVlKSkgXAorICAgIG1hY3JvKGluZGV4ZWRB
cnJheVN0b3JhZ2VQcm9wZXJ0aWVzLCAwLCBzaXplb2YoRW5jb2RlZEpTVmFsdWUpKSBcCisgICAg
bWFjcm8oc2luZ2xlQ2hhcmFjdGVyU3RyaW5ncywgMCwgc2l6ZW9mKEpTU3RyaW5nKikpIFwKKyAg
ICBtYWNybyh2YXJpYWJsZXMsIDAsIHNpemVvZihSZWdpc3RlcikpCiAgICAgCiAjZGVmaW5lIEZP
Ul9FQUNIX05VTUJFUkVEX0FCU1RSQUNUX0hFQVAobWFjcm8pIFwKICAgICBtYWNybyhwcm9wZXJ0
aWVzKQpAQCAtOTcsNyArMTAyLDcgQEAgcHVibGljOgogICAgIAogICAgIEFic3RyYWN0RmllbGQm
IEpTQ2VsbF9mcmVlTGlzdE5leHQ7CiAgICAgCi0jZGVmaW5lIElOREVYRURfQUJTVFJBQ1RfSEVB
UF9ERUNMQVJBVElPTihuYW1lLCBzaXplKSBJbmRleGVkQWJzdHJhY3RIZWFwIG5hbWU7CisjZGVm
aW5lIElOREVYRURfQUJTVFJBQ1RfSEVBUF9ERUNMQVJBVElPTihuYW1lLCBvZmZzZXQsIHNpemUp
IEluZGV4ZWRBYnN0cmFjdEhlYXAgbmFtZTsKICAgICBGT1JfRUFDSF9JTkRFWEVEX0FCU1RSQUNU
X0hFQVAoSU5ERVhFRF9BQlNUUkFDVF9IRUFQX0RFQ0xBUkFUSU9OKQogI3VuZGVmIElOREVYRURf
QUJTVFJBQ1RfSEVBUF9ERUNMQVJBVElPTgogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExBdmFpbGFibGVSZWNvdmVyeS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTEF2YWlsYWJsZVJlY292ZXJ5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzAwZmE0ZDkw
OTViODMxNWJhMjdjMWNjOTEzNTdhYzIyMDU5NTU4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBdmFpbGFibGVSZWNvdmVyeS5jcHAKQEAgLTAsMCArMSw0
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRlRMQXZhaWxhYmxlUmVjb3ZlcnkuaCIKKworI2lm
IEVOQUJMRShGVExfSklUKQorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CisKK3Zv
aWQgQXZhaWxhYmxlUmVjb3Zlcnk6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAg
ICBvdXQucHJpbnQobm9kZSgpLCAiID0+ICIsIG9wY29kZSgpLCAiLCAiLCBSYXdQb2ludGVyKG1f
bGVmdCksICIsICIsIFJhd1BvaW50ZXIobV9yaWdodCksICIsICIsIG1fZm9ybWF0KTsKK30KKwor
fSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTAorCisjZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQpCisK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQXZhaWxhYmxlUmVjb3Zl
cnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQXZhaWxhYmxlUmVjb3ZlcnkuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mY2FmNGEyMmQyODA5YTZmYmQzNTBjZWRmMTg4MjM5MzkyMDcwMWU4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBdmFpbGFibGVSZWNv
dmVyeS5oCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2lmbmRlZiBGVExBdmFpbGFibGVSZWNvdmVyeV9oCisjZGVmaW5lIEZU
TEF2YWlsYWJsZVJlY292ZXJ5X2gKKworI2lmIEVOQUJMRShGVExfSklUKQorCisjaW5jbHVkZSAi
REZHTm9kZS5oIgorI2luY2x1ZGUgIkZUTEFiYnJldmlhdGVkVHlwZXMuaCIKKyNpbmNsdWRlICJG
VExSZWNvdmVyeU9wY29kZS5oIgorI2luY2x1ZGUgIkZUTFZhbHVlRm9ybWF0LmgiCisKK25hbWVz
cGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKKworY2xhc3MgQXZhaWxhYmxlUmVjb3Zlcnkgewor
cHVibGljOgorICAgIEF2YWlsYWJsZVJlY292ZXJ5KCkKKyAgICAgICAgOiBtX25vZGUoMCkKKyAg
ICAgICAgLCBtX2Zvcm1hdChJbnZhbGlkVmFsdWVGb3JtYXQpCisgICAgICAgICwgbV9vcGNvZGUo
QWRkUmVjb3ZlcnkpCisgICAgICAgICwgbV9sZWZ0KDApCisgICAgICAgICwgbV9yaWdodCgwKQor
ICAgIHsKKyAgICB9CisgICAgCisgICAgQXZhaWxhYmxlUmVjb3ZlcnkoREZHOjpOb2RlKiBub2Rl
LCBSZWNvdmVyeU9wY29kZSBvcGNvZGUsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQsIFZhbHVl
Rm9ybWF0IGZvcm1hdCkKKyAgICAgICAgOiBtX25vZGUobm9kZSkKKyAgICAgICAgLCBtX2Zvcm1h
dChmb3JtYXQpCisgICAgICAgICwgbV9vcGNvZGUob3Bjb2RlKQorICAgICAgICAsIG1fbGVmdChs
ZWZ0KQorICAgICAgICAsIG1fcmlnaHQocmlnaHQpCisgICAgeworICAgIH0KKyAgICAKKyAgICBE
Rkc6Ok5vZGUqIG5vZGUoKSBjb25zdCB7IHJldHVybiBtX25vZGU7IH0KKyAgICBWYWx1ZUZvcm1h
dCBmb3JtYXQoKSBjb25zdCB7IHJldHVybiBtX2Zvcm1hdDsgfQorICAgIFJlY292ZXJ5T3Bjb2Rl
IG9wY29kZSgpIGNvbnN0IHsgcmV0dXJuIG1fb3Bjb2RlOyB9CisgICAgTFZhbHVlIGxlZnQoKSBj
b25zdCB7IHJldHVybiBtX2xlZnQ7IH0KKyAgICBMVmFsdWUgcmlnaHQoKSBjb25zdCB7IHJldHVy
biBtX3JpZ2h0OyB9CisgICAgCisgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Q7Cisg
ICAgCitwcml2YXRlOgorICAgIERGRzo6Tm9kZSogbV9ub2RlOworICAgIFZhbHVlRm9ybWF0IG1f
Zm9ybWF0OworICAgIFJlY292ZXJ5T3Bjb2RlIG1fb3Bjb2RlOworICAgIExWYWx1ZSBtX2xlZnQ7
CisgICAgTFZhbHVlIG1fcmlnaHQ7Cit9OworCit9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCisK
KyNlbmRpZiAvLyBFTkFCTEUoRlRMX0pJVCkKKworI2VuZGlmIC8vIEZUTEF2YWlsYWJsZVJlY292
ZXJ5X2gKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmls
aXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3Bw
CmluZGV4IDg2YTI4Y2Y4YWVmNDBkMmY3YWRiNTM1ZjQ3MjRkMmYzMzBiZjhhMDYuLmQxNmIxN2Jk
NjYxMjc5ZDBjYWQzMDAyMjMzZTllMzAxMTAwOTNlNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKQEAgLTMyLDYgKzMyLDExIEBAIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKIAogdXNpbmcgbmFtZXNwYWNlIERGRzsKIAorc3RhdGlj
IGJvb2wgdmVyYm9zZUNhcGFiaWxpdGllcygpCit7CisgICAgcmV0dXJuIHZlcmJvc2VDb21waWxh
dGlvbkVuYWJsZWQoKSB8fCBPcHRpb25zOjp2ZXJib3NlRlRMRmFpbHVyZSgpOworfQorCiBpbmxp
bmUgQ2FwYWJpbGl0eUxldmVsIGNhbkNvbXBpbGUoTm9kZSogbm9kZSkKIHsKICAgICAvLyBOT1RF
OiBJZiB3ZSBldmVyIGhhdmUgcGhhbnRvbSBhcmd1bWVudHMsIHdlIGNhbiBjb21waWxlIHRoZW0g
YnV0IHdlIGNhbm5vdApAQCAtNzcsNiArODIsOSBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNh
bkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIEFyaXRoTWluOgogICAgIGNhc2UgQXJpdGhN
YXg6CiAgICAgY2FzZSBBcml0aEFiczoKKyAgICBjYXNlIEFyaXRoU2luOgorICAgIGNhc2UgQXJp
dGhDb3M6CisgICAgY2FzZSBBcml0aFNxcnQ6CiAgICAgY2FzZSBBcml0aE5lZ2F0ZToKICAgICBj
YXNlIFVJbnQzMlRvTnVtYmVyOgogICAgIGNhc2UgSW50MzJUb0RvdWJsZToKQEAgLTg4LDggKzk2
LDYgQEAgaW5saW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAg
Y2FzZSBVcHNpbG9uOgogICAgIGNhc2UgRXh0cmFjdE9TUkVudHJ5TG9jYWw6CiAgICAgY2FzZSBM
b29wSGludDoKLSAgICBjYXNlIENhbGw6Ci0gICAgY2FzZSBDb25zdHJ1Y3Q6CiAgICAgY2FzZSBH
ZXRNeVNjb3BlOgogICAgIGNhc2UgU2tpcFNjb3BlOgogICAgIGNhc2UgR2V0Q2xvc3VyZVJlZ2lz
dGVyczoKQEAgLTEwOCwxNSArMTE0LDI3IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29t
cGlsZShOb2RlKiBub2RlKQogICAgIGNhc2UgU3RvcmVCYXJyaWVyOgogICAgIGNhc2UgQ29uZGl0
aW9uYWxTdG9yZUJhcnJpZXI6CiAgICAgY2FzZSBTdG9yZUJhcnJpZXJXaXRoTnVsbENoZWNrOgor
ICAgIGNhc2UgQ2FsbDoKKyAgICBjYXNlIENvbnN0cnVjdDoKICAgICBjYXNlIFZhbHVlVG9JbnQz
MjoKICAgICBjYXNlIEJyYW5jaDoKICAgICBjYXNlIExvZ2ljYWxOb3Q6CiAgICAgY2FzZSBDaGVj
a0luQm91bmRzOgogICAgIGNhc2UgQ29uc3RhbnRTdG9yYWdlUG9pbnRlcjoKICAgICBjYXNlIENo
ZWNrOgorICAgIGNhc2UgQ291bnRFeGVjdXRpb246CisgICAgY2FzZSBDaGVja0V4ZWN1dGFibGU6
CisgICAgY2FzZSBHZXRTY29wZToKKyAgICBjYXNlIEFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2lu
dDoKKyAgICBjYXNlIENoZWNrQXJndW1lbnRzTm90Q3JlYXRlZDoKKyAgICBjYXNlIEdldENhbGxl
ZToKKyAgICBjYXNlIFRvU3RyaW5nOgorICAgIGNhc2UgTWFrZVJvcGU6CisgICAgY2FzZSBOZXdB
cnJheVdpdGhTaXplOgogICAgICAgICAvLyBUaGVzZSBhcmUgT0suCiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgR2V0QnlJZDoKKyAgICBjYXNlIFB1dEJ5SWREaXJlY3Q6CiAgICAgY2FzZSBQdXRC
eUlkOgogICAgICAgICBpZiAobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IENlbGxVc2UpCiAg
ICAgICAgICAgICBicmVhazsKQEAgLTIzNyw4ICsyNTUsMTcgQEAgaW5saW5lIENhcGFiaWxpdHlM
ZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGlsZShH
cmFwaCYgZ3JhcGgpCiB7CiAgICAgaWYgKGdyYXBoLm1fY29kZUJsb2NrLT5jb2RlVHlwZSgpICE9
IEZ1bmN0aW9uQ29kZSkgewotICAgICAgICBpZiAodmVyYm9zZUNvbXBpbGF0aW9uRW5hYmxlZCgp
KQotICAgICAgICAgICAgZGF0YUxvZygiRlRMIHJlamVjdGluZyBjb2RlIGJsb2NrIHRoYXQgZG9l
c24ndCBiZWxvbmcgdG8gYSBmdW5jdGlvbi5cbiIpOworICAgICAgICBpZiAodmVyYm9zZUNhcGFi
aWxpdGllcygpKQorICAgICAgICAgICAgZGF0YUxvZygiRlRMIHJlamVjdGluZyAiLCAqZ3JhcGgu
bV9jb2RlQmxvY2ssICIgYmVjYXVzZSBpdCBkb2Vzbid0IGJlbG9uZyB0byBhIGZ1bmN0aW9uLlxu
Iik7CisgICAgICAgIHJldHVybiBDYW5ub3RDb21waWxlOworICAgIH0KKyAgICAKKyAgICBpZiAo
Z3JhcGgubV9jb2RlQmxvY2stPm5lZWRzQWN0aXZhdGlvbigpKSB7CisgICAgICAgIC8vIE5lZWQg
dGhpcyBiZWNhdXNlIGFsdGhvdWdoIHdlIGFsc28gZG9uJ3Qgc3VwcG9ydAorICAgICAgICAvLyBD
cmVhdGVBY3RpdmF0aW9uL1RlYXJPZmZBY3RpdmF0aW9uLCB3ZSBtaWdodCBub3Qgc2VlIHRob3Nl
IG5vZGVzIGluIGNhc2Ugb2YKKyAgICAgICAgLy8gT1NSIGVudHJ5LgorICAgICAgICBpZiAodmVy
Ym9zZUNhcGFiaWxpdGllcygpKQorICAgICAgICAgICAgZGF0YUxvZygiRlRMIHJlamVjdGluZyAi
LCAqZ3JhcGgubV9jb2RlQmxvY2ssICIgYmVjYXVzZSBpdCB1c2VzIGFjdGl2YXRpb25zLlxuIik7
CiAgICAgICAgIHJldHVybiBDYW5ub3RDb21waWxlOwogICAgIH0KICAgICAKQEAgLTI3NCwxMyAr
MzAxLDE2IEBAIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKEdyYXBoJiBncmFwaCkKICAgICAg
ICAgICAgICAgICBjYXNlIE9iamVjdFVzZToKICAgICAgICAgICAgICAgICBjYXNlIE9iamVjdE9y
T3RoZXJVc2U6CiAgICAgICAgICAgICAgICAgY2FzZSBTdHJpbmdVc2U6CisgICAgICAgICAgICAg
ICAgY2FzZSBLbm93blN0cmluZ1VzZToKKyAgICAgICAgICAgICAgICBjYXNlIFN0cmluZ09iamVj
dFVzZToKKyAgICAgICAgICAgICAgICBjYXNlIFN0cmluZ09yU3RyaW5nT2JqZWN0VXNlOgogICAg
ICAgICAgICAgICAgIGNhc2UgRmluYWxPYmplY3RVc2U6CiAgICAgICAgICAgICAgICAgICAgIC8v
IFRoZXNlIGFyZSBPSy4KICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAg
ICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgLy8gRG9uJ3Qga25vdyBob3cgdG8gaGFu
ZGxlIGFueXRoaW5nIGVsc2UuCi0gICAgICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlQ29tcGls
YXRpb25FbmFibGVkKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coIkZUTCBy
ZWplY3Rpbmcgbm9kZSBiZWNhdXNlIG9mIGJhZCB1c2Uga2luZDogIiwgZWRnZS51c2VLaW5kKCks
ICIgaW4gbm9kZTpcbiIpOworICAgICAgICAgICAgICAgICAgICBpZiAodmVyYm9zZUNhcGFiaWxp
dGllcygpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCJGVEwgcmVqZWN0aW5n
IG5vZGUgaW4gIiwgKmdyYXBoLm1fY29kZUJsb2NrLCAiIGJlY2F1c2Ugb2YgYmFkIHVzZSBraW5k
OiAiLCBlZGdlLnVzZUtpbmQoKSwgIiBpbiBub2RlOlxuIik7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBncmFwaC5kdW1wKFdURjo6ZGF0YUZpbGUoKSwgIiAgICAiLCBub2RlKTsKICAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gQ2Fubm90Q29tcGlsZTsK
QEAgLTI4OSw4ICszMTksOCBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGlsZShHcmFwaCYgZ3Jh
cGgpCiAgICAgICAgICAgICAKICAgICAgICAgICAgIHN3aXRjaCAoY2FuQ29tcGlsZShub2RlKSkg
ewogICAgICAgICAgICAgY2FzZSBDYW5ub3RDb21waWxlOiAKLSAgICAgICAgICAgICAgICBpZiAo
dmVyYm9zZUNvbXBpbGF0aW9uRW5hYmxlZCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGRhdGFM
b2coIkZUTCByZWplY3Rpbmcgbm9kZTpcbiIpOworICAgICAgICAgICAgICAgIGlmICh2ZXJib3Nl
Q2FwYWJpbGl0aWVzKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgZGF0YUxvZygiRlRMIHJlamVj
dGluZyBub2RlIGluICIsICpncmFwaC5tX2NvZGVCbG9jaywgIjpcbiIpOwogICAgICAgICAgICAg
ICAgICAgICBncmFwaC5kdW1wKFdURjo6ZGF0YUZpbGUoKSwgIiAgICAiLCBub2RlKTsKICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgcmV0dXJuIENhbm5vdENvbXBpbGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbW1vblZhbHVlcy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbW1vblZhbHVlcy5jcHAKaW5kZXggNjUzYmI3
ZGRkY2UyNDgyNzFlOGU2YzYxMDRmYTE5ZjdkYmFjNjFhYS4uY2NhOTBkM2E2M2E2Mjg3Zjc0OTUz
MGMzM2ExMDJlZDY4ZTdkYTE3YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExDb21tb25WYWx1ZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
Q29tbW9uVmFsdWVzLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEz
LCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtNjEsNiArNjEsOCBAQCBDb21tb25WYWx1ZXM6OkNvbW1vblZhbHVl
cyhMQ29udGV4dCBjb250ZXh0KQogICAgICwgaW50UHRyRWlnaHQoY29uc3RJbnQoaW50UHRyLCA4
LCBTaWduRXh0ZW5kKSkKICAgICAsIGludFB0clB0cihjb25zdEludChpbnRQdHIsIHNpemVvZih2
b2lkKiksIFNpZ25FeHRlbmQpKQogICAgICwgZG91YmxlWmVybyhjb25zdFJlYWwoZG91YmxlVHlw
ZSwgMCkpCisgICAgLCByYW5nZUtpbmQobWRLaW5kSUQoY29udGV4dCwgInJhbmdlIikpCisgICAg
LCBub25OZWdhdGl2ZUludDMyKGNvbnN0SW50KGludDMyLCAwLCBTaWduRXh0ZW5kKSwgY29uc3RJ
bnQoaW50MzIsIDFsbCA8PCAzMSwgU2lnbkV4dGVuZCkpCiAgICAgLCBtX2NvbnRleHQoY29udGV4
dCkKICAgICAsIG1fbW9kdWxlKDApCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTENvbW1vblZhbHVlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExD
b21tb25WYWx1ZXMuaAppbmRleCA4NDgwOTAyMTBjZGQ3MDRiZjA1NjAzYTU4MWUyZmIxZGM4MWEy
MDUxLi45ZjMzMWNmYmQwN2U1MTVkNmEzODkzMjM2NjI4NDFlYjMyNmQwMTM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbW1vblZhbHVlcy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tbW9uVmFsdWVzLmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDYgKzMxLDcgQEAKICNp
ZiBFTkFCTEUoRlRMX0pJVCkKIAogI2luY2x1ZGUgIkZUTEFiYnJldmlhdGlvbnMuaCIKKyNpbmNs
dWRlICJGVExWYWx1ZVJhbmdlLmgiCiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsK
IApAQCAtNzQsNiArNzUsMTAgQEAgcHVibGljOgogICAgIGNvbnN0IExWYWx1ZSBpbnRQdHJQdHI7
CiAgICAgY29uc3QgTFZhbHVlIGRvdWJsZVplcm87CiAgICAgCisgICAgY29uc3QgdW5zaWduZWQg
cmFuZ2VLaW5kOworICAgIAorICAgIGNvbnN0IFZhbHVlUmFuZ2Ugbm9uTmVnYXRpdmVJbnQzMjsK
KyAgICAKICAgICBMQ29udGV4dCBjb25zdCBtX2NvbnRleHQ7CiAgICAgTE1vZHVsZSBtX21vZHVs
ZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAppbmRleCA2YzAx
ZjRmYTUyZjFmOWU5ZDg1NWIxODdjNzkxZWE0ZmM4ZTIxMDA4Li5lMjNjNzQ1NzUzZWEyM2UxNWQz
M2JmNzVlOGM2MGE3Y2EyYjg0ZThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTENvbXBpbGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29t
cGlsZS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJGVExJbmxpbmVDYWNoZVNpemUuaCIK
ICNpbmNsdWRlICJGVExKSVRDb2RlLmgiCiAjaW5jbHVkZSAiRlRMVGh1bmtzLmgiCisjaW5jbHVk
ZSAiRlRMVW53aW5kSW5mby5oIgogI2luY2x1ZGUgIkpJVFN0dWJzLmgiCiAjaW5jbHVkZSAiTExW
TUFQSS5oIgogI2luY2x1ZGUgIkxpbmtCdWZmZXIuaCIKQEAgLTQ5LDcgKzUwLDYgQEAgdXNpbmcg
bmFtZXNwYWNlIERGRzsKIHN0YXRpYyB1aW50OF90KiBtbUFsbG9jYXRlQ29kZVNlY3Rpb24oCiAg
ICAgdm9pZCogb3BhcXVlU3RhdGUsIHVpbnRwdHJfdCBzaXplLCB1bnNpZ25lZCBhbGlnbm1lbnQs
IHVuc2lnbmVkLCBjb25zdCBjaGFyKiBzZWN0aW9uTmFtZSkKIHsKLSAgICAKICAgICBTdGF0ZSYg
c3RhdGUgPSAqc3RhdGljX2Nhc3Q8U3RhdGUqPihvcGFxdWVTdGF0ZSk7CiAgICAgCiAgICAgUkVM
RUFTRV9BU1NFUlQoYWxpZ25tZW50IDw9IGppdEFsbG9jYXRpb25HcmFudWxlKTsKQEAgLTU4LDYg
KzU4LDExIEBAIHN0YXRpYyB1aW50OF90KiBtbUFsbG9jYXRlQ29kZVNlY3Rpb24oCiAgICAgICAg
IHN0YXRlLmdyYXBoLm1fdm0uZXhlY3V0YWJsZUFsbG9jYXRvci5hbGxvY2F0ZSgKICAgICAgICAg
ICAgIHN0YXRlLmdyYXBoLm1fdm0sIHNpemUsIHN0YXRlLmdyYXBoLm1fY29kZUJsb2NrLCBKSVRD
b21waWxhdGlvbk11c3RTdWNjZWVkKTsKICAgICAKKyAgICBpZiAoIXN0cmNtcChzZWN0aW9uTmFt
ZSwgIl9fY29tcGFjdF91bndpbmQiKSkgeworICAgICAgICBzdGF0ZS5jb21wYWN0VW53aW5kID0g
cmVzdWx0LT5zdGFydCgpOworICAgICAgICBzdGF0ZS5jb21wYWN0VW53aW5kU2l6ZSA9IHJlc3Vs
dC0+c2l6ZUluQnl0ZXMoKTsKKyAgICB9CisgICAgCiAgICAgc3RhdGUuaml0Q29kZS0+YWRkSGFu
ZGxlKHJlc3VsdCk7CiAgICAgc3RhdGUuY29kZVNlY3Rpb25OYW1lcy5hcHBlbmQoc2VjdGlvbk5h
bWUpOwogICAgIApAQCAtMTQ5LDggKzE1NCw2MyBAQCBzdGF0aWMgdm9pZCBmaXhGdW5jdGlvbkJh
c2VkT25TdGFja01hcHMoCiAgICAgU3RhdGUmIHN0YXRlLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywg
SklUQ29kZSogaml0Q29kZSwgR2VuZXJhdGVkRnVuY3Rpb24gZ2VuZXJhdGVkRnVuY3Rpb24sCiAg
ICAgU3RhY2tNYXBzOjpSZWNvcmRNYXAmIHJlY29yZE1hcCkKIHsKLSAgICBWTSYgdm0gPSBzdGF0
ZS5ncmFwaC5tX3ZtOworICAgIEdyYXBoJiBncmFwaCA9IHN0YXRlLmdyYXBoOworICAgIFZNJiB2
bSA9IGdyYXBoLm1fdm07CiAgICAgU3RhY2tNYXBzIHN0YWNrbWFwcyA9IGppdENvZGUtPnN0YWNr
bWFwczsKKyAgICAKKyAgICBTdGFja01hcHM6OlJlY29yZE1hcDo6aXRlcmF0b3IgaXRlciA9IHJl
Y29yZE1hcC5maW5kKHN0YXRlLmNhcHR1cmVkU3RhY2ttYXBJRCk7CisgICAgUkVMRUFTRV9BU1NF
UlQoaXRlciAhPSByZWNvcmRNYXAuZW5kKCkpOworICAgIFJFTEVBU0VfQVNTRVJUKGl0ZXItPnZh
bHVlLmxvY2F0aW9ucy5zaXplKCkgPT0gMSk7CisgICAgTG9jYXRpb24gY2FwdHVyZWRMb2NhdGlv
biA9CisgICAgICAgIExvY2F0aW9uOjpmb3JTdGFja21hcHMoJmppdENvZGUtPnN0YWNrbWFwcywg
aXRlci0+dmFsdWUubG9jYXRpb25zWzBdKTsKKyAgICBSRUxFQVNFX0FTU0VSVChjYXB0dXJlZExv
Y2F0aW9uLmtpbmQoKSA9PSBMb2NhdGlvbjo6UmVnaXN0ZXIpOworICAgIFJFTEVBU0VfQVNTRVJU
KGNhcHR1cmVkTG9jYXRpb24uZ3ByKCkgPT0gR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwor
ICAgIFJFTEVBU0VfQVNTRVJUKCEoY2FwdHVyZWRMb2NhdGlvbi5hZGRlbmQoKSAlIHNpemVvZihS
ZWdpc3RlcikpKTsKKyAgICBpbnQzMl90IGxvY2Fsc09mZnNldCA9IGNhcHR1cmVkTG9jYXRpb24u
YWRkZW5kKCkgLyBzaXplb2YoUmVnaXN0ZXIpICsgZ3JhcGgubV9uZXh0TWFjaGluZUxvY2FsOwor
ICAgIAorICAgIGZvciAodW5zaWduZWQgaSA9IGdyYXBoLm1faW5saW5lVmFyaWFibGVEYXRhLnNp
emUoKTsgaS0tOykgeworICAgICAgICBJbmxpbmVDYWxsRnJhbWUqIGlubGluZUNhbGxGcmFtZSA9
IGdyYXBoLm1faW5saW5lVmFyaWFibGVEYXRhW2ldLmlubGluZUNhbGxGcmFtZTsKKyAgICAgICAg
CisgICAgICAgIGlmIChpbmxpbmVDYWxsRnJhbWUtPmFyZ3VtZW50c1JlZ2lzdGVyLmlzVmFsaWQo
KSkgeworICAgICAgICAgICAgaW5saW5lQ2FsbEZyYW1lLT5hcmd1bWVudHNSZWdpc3RlciA9IFZp
cnR1YWxSZWdpc3RlcigKKyAgICAgICAgICAgICAgICBpbmxpbmVDYWxsRnJhbWUtPmFyZ3VtZW50
c1JlZ2lzdGVyLm9mZnNldCgpICsgbG9jYWxzT2Zmc2V0KTsKKyAgICAgICAgfQorICAgICAgICAK
KyAgICAgICAgZm9yICh1bnNpZ25lZCBhcmd1bWVudCA9IGlubGluZUNhbGxGcmFtZS0+YXJndW1l
bnRzLnNpemUoKTsgYXJndW1lbnQtLSA+IDE7KSB7CisgICAgICAgICAgICBpbmxpbmVDYWxsRnJh
bWUtPmFyZ3VtZW50c1thcmd1bWVudF0gPQorICAgICAgICAgICAgICAgIGlubGluZUNhbGxGcmFt
ZS0+YXJndW1lbnRzW2FyZ3VtZW50XS53aXRoTG9jYWxzT2Zmc2V0KGxvY2Fsc09mZnNldCk7Cisg
ICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlmIChpbmxpbmVDYWxsRnJhbWUtPmlzQ2xvc3Vy
ZUNhbGwpIHsKKyAgICAgICAgICAgIGlubGluZUNhbGxGcmFtZS0+Y2FsbGVlUmVjb3ZlcnkgPQor
ICAgICAgICAgICAgICAgIGlubGluZUNhbGxGcmFtZS0+Y2FsbGVlUmVjb3Zlcnkud2l0aExvY2Fs
c09mZnNldChsb2NhbHNPZmZzZXQpOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIGlmIChj
b2RlQmxvY2stPnVzZXNBcmd1bWVudHMoKSkgeworICAgICAgICBjb2RlQmxvY2stPnNldEFyZ3Vt
ZW50c1JlZ2lzdGVyKAorICAgICAgICAgICAgVmlydHVhbFJlZ2lzdGVyKGNvZGVCbG9jay0+YXJn
dW1lbnRzUmVnaXN0ZXIoKS5vZmZzZXQoKSArIGxvY2Fsc09mZnNldCkpOworICAgIH0KKworICAg
IHsKKyAgICAgICAgQ0NhbGxIZWxwZXJzIGNoZWNrSklUKCZ2bSwgY29kZUJsb2NrKTsKKyAgICAg
ICAgCisgICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgaXQncyBwZXJmZWN0bHkgZmFpciB0byBqdXN0
IGJsb3cgYXdheSBhbGwgc3RhdGUgYW5kIHJlc3RvcmUgdGhlCisgICAgICAgIC8vIEpTIEpJVCB2
aWV3IG9mIHRoZSB1bml2ZXJzZS4KKyAgICAgICAgY2hlY2tKSVQubW92ZShNYWNyb0Fzc2VtYmxl
cjo6VHJ1c3RlZEltbTY0KFRhZ1R5cGVOdW1iZXIpLCBHUFJJbmZvOjp0YWdUeXBlTnVtYmVyUmVn
aXN0ZXIpOworICAgICAgICBjaGVja0pJVC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
NjQoVGFnTWFzayksIEdQUkluZm86OnRhZ01hc2tSZWdpc3Rlcik7CisgICAgICAgIAorICAgICAg
ICBjaGVja0pJVC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKCZ2bSksIEdQUklu
Zm86OmFyZ3VtZW50R1BSMCk7CisgICAgICAgIGNoZWNrSklULm1vdmUoR1BSSW5mbzo6Y2FsbEZy
YW1lUmVnaXN0ZXIsIEdQUkluZm86OmFyZ3VtZW50R1BSMSk7CisgICAgICAgIE1hY3JvQXNzZW1i
bGVyOjpDYWxsIGNhbGwgPSBjaGVja0pJVC5jYWxsKCk7CisgICAgICAgIGNoZWNrSklULmp1bXBU
b0V4Y2VwdGlvbkhhbmRsZXIoKTsKKyAgICAgICAgCisgICAgICAgIE93blB0cjxMaW5rQnVmZmVy
PiBsaW5rQnVmZmVyID0gYWRvcHRQdHIobmV3IExpbmtCdWZmZXIoCisgICAgICAgICAgICB2bSwg
JmNoZWNrSklULCBjb2RlQmxvY2ssIEpJVENvbXBpbGF0aW9uTXVzdFN1Y2NlZWQpKTsKKyAgICAg
ICAgbGlua0J1ZmZlci0+bGluayhjYWxsLCBGdW5jdGlvblB0cihsb29rdXBFeGNlcHRpb25IYW5k
bGVyKSk7CisgICAgICAgIAorICAgICAgICBzdGF0ZS5maW5hbGl6ZXItPmhhbmRsZUV4Y2VwdGlv
bnNMaW5rQnVmZmVyID0gbGlua0J1ZmZlci5yZWxlYXNlKCk7CisgICAgfQogCiAgICAgRXhpdFRo
dW5rR2VuZXJhdG9yIGV4aXRUaHVua0dlbmVyYXRvcihzdGF0ZSk7CiAgICAgZXhpdFRodW5rR2Vu
ZXJhdG9yLmVtaXRUaHVua3MoKTsKQEAgLTE2NiwxNiArMjI2LDMwIEBAIHN0YXRpYyB2b2lkIGZp
eEZ1bmN0aW9uQmFzZWRPblN0YWNrTWFwcygKICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYg
KE9wdGlvbnM6OnZlcmJvc2VDb21waWxhdGlvbigpKQogICAgICAgICAgICAgICAgIGRhdGFMb2co
IkhhbmRsaW5nIE9TUiBzdGFja21hcCAjIiwgZXhpdC5tX3N0YWNrbWFwSUQsICIgZm9yICIsIGV4
aXQubV9jb2RlT3JpZ2luLCAiXG4iKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgU3RhY2tN
YXBzOjpSZWNvcmRNYXA6Oml0ZXJhdG9yIGl0ZXIgPSByZWNvcmRNYXAuZmluZChleGl0Lm1fc3Rh
Y2ttYXBJRCk7CisKKyAgICAgICAgICAgIGl0ZXIgPSByZWNvcmRNYXAuZmluZChleGl0Lm1fc3Rh
Y2ttYXBJRCk7CiAgICAgICAgICAgICBpZiAoaXRlciA9PSByZWNvcmRNYXAuZW5kKCkpIHsKICAg
ICAgICAgICAgICAgICAvLyBJdCB3YXMgb3B0aW1pemVkIG91dC4KICAgICAgICAgICAgICAgICBj
b250aW51ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAogICAgICAgICAgICAgaW5mby5t
X3RodW5rQWRkcmVzcyA9IGxpbmtCdWZmZXItPmxvY2F0aW9uT2YoaW5mby5tX3RodW5rTGFiZWwp
OwotICAgICAgICAgICAgCiAgICAgICAgICAgICBleGl0Lm1fcGF0Y2hhYmxlQ29kZU9mZnNldCA9
IGxpbmtCdWZmZXItPm9mZnNldE9mKGluZm8ubV90aHVua0p1bXApOworICAgICAgICAgICAgCisg
ICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSBleGl0Lm1fdmFsdWVzLnNpemUoKTsgai0tOykg
eworICAgICAgICAgICAgICAgIEV4aXRWYWx1ZSB2YWx1ZSA9IGV4aXQubV92YWx1ZXNbal07Cisg
ICAgICAgICAgICAgICAgaWYgKCF2YWx1ZS5pc0luSlNTdGFja1NvbWVob3coKSkKKyAgICAgICAg
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZS52aXJ0dWFs
UmVnaXN0ZXIoKS5pc0xvY2FsKCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAgICAgICAgIGV4aXQubV92YWx1ZXNbal0gPSB2YWx1ZS53aXRoVmlydHVhbFJlZ2lzdGVy
KAorICAgICAgICAgICAgICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIodmFsdWUudmlydHVhbFJlZ2lz
dGVyKCkub2Zmc2V0KCkgKyBsb2NhbHNPZmZzZXQpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VDb21waWxhdGlvbigpKSB7Cisg
ICAgICAgICAgICAgICAgRHVtcENvbnRleHQgY29udGV4dDsKKyAgICAgICAgICAgICAgICBkYXRh
TG9nKCIgICAgRXhpdCB2YWx1ZXM6ICIsIGluQ29udGV4dChleGl0Lm1fdmFsdWVzLCAmY29udGV4
dCksICJcbiIpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBz
dGF0ZS5maW5hbGl6ZXItPmV4aXRUaHVua3NMaW5rQnVmZmVyID0gbGlua0J1ZmZlci5yZWxlYXNl
KCk7CkBAIC0xODQsMTMgKzI1OCwxNSBAQCBzdGF0aWMgdm9pZCBmaXhGdW5jdGlvbkJhc2VkT25T
dGFja01hcHMoCiAgICAgaWYgKCFzdGF0ZS5nZXRCeUlkcy5pc0VtcHR5KCkgfHwgIXN0YXRlLnB1
dEJ5SWRzLmlzRW1wdHkoKSkgewogICAgICAgICBDQ2FsbEhlbHBlcnMgc2xvd1BhdGhKSVQoJnZt
LCBjb2RlQmxvY2spOwogICAgICAgICAKKyAgICAgICAgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBl
eGNlcHRpb25UYXJnZXQ7CisgICAgICAgIAogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBzdGF0
ZS5nZXRCeUlkcy5zaXplKCk7IGktLTspIHsKICAgICAgICAgICAgIEdldEJ5SWREZXNjcmlwdG9y
JiBnZXRCeUlkID0gc3RhdGUuZ2V0QnlJZHNbaV07CiAgICAgICAgICAgICAKICAgICAgICAgICAg
IGlmIChPcHRpb25zOjp2ZXJib3NlQ29tcGlsYXRpb24oKSkKICAgICAgICAgICAgICAgICBkYXRh
TG9nKCJIYW5kbGluZyBHZXRCeUlkIHN0YWNrbWFwICMiLCBnZXRCeUlkLnN0YWNrbWFwSUQoKSwg
IlxuIik7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIFN0YWNrTWFwczo6UmVjb3JkTWFwOjpp
dGVyYXRvciBpdGVyID0gcmVjb3JkTWFwLmZpbmQoZ2V0QnlJZC5zdGFja21hcElEKCkpOworICAg
ICAgICAgICAgaXRlciA9IHJlY29yZE1hcC5maW5kKGdldEJ5SWQuc3RhY2ttYXBJRCgpKTsKICAg
ICAgICAgICAgIGlmIChpdGVyID09IHJlY29yZE1hcC5lbmQoKSkgewogICAgICAgICAgICAgICAg
IC8vIEl0IHdhcyBvcHRpbWl6ZWQgb3V0LgogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAt
MjAyLDE4ICsyNzgsMTcgQEAgc3RhdGljIHZvaWQgZml4RnVuY3Rpb25CYXNlZE9uU3RhY2tNYXBz
KAogICAgICAgICAgICAgUmVnaXN0ZXJTZXQgdXNlZFJlZ2lzdGVycyA9IFJlZ2lzdGVyU2V0Ojph
bGxSZWdpc3RlcnMoKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgR1BSUmVnIHJlc3VsdCA9
IHJlY29yZC5sb2NhdGlvbnNbMF0uZGlyZWN0R1BSKCk7Ci0gICAgICAgICAgICBHUFJSZWcgY2Fs
bEZyYW1lUmVnaXN0ZXIgPSByZWNvcmQubG9jYXRpb25zWzFdLmRpcmVjdEdQUigpOwotICAgICAg
ICAgICAgR1BSUmVnIGJhc2UgPSByZWNvcmQubG9jYXRpb25zWzJdLmRpcmVjdEdQUigpOworICAg
ICAgICAgICAgR1BSUmVnIGJhc2UgPSByZWNvcmQubG9jYXRpb25zWzFdLmRpcmVjdEdQUigpOwog
ICAgICAgICAgICAgCiAgICAgICAgICAgICBKSVRHZXRCeUlkR2VuZXJhdG9yIGdlbigKLSAgICAg
ICAgICAgICAgICBjb2RlQmxvY2ssIGdldEJ5SWQuY29kZU9yaWdpbigpLCB1c2VkUmVnaXN0ZXJz
LCBjYWxsRnJhbWVSZWdpc3RlciwKLSAgICAgICAgICAgICAgICBKU1ZhbHVlUmVncyhiYXNlKSwg
SlNWYWx1ZVJlZ3MocmVzdWx0KSwgZmFsc2UpOworICAgICAgICAgICAgICAgIGNvZGVCbG9jaywg
Z2V0QnlJZC5jb2RlT3JpZ2luKCksIHVzZWRSZWdpc3RlcnMsIEpTVmFsdWVSZWdzKGJhc2UpLAor
ICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzKHJlc3VsdCksIGZhbHNlKTsKICAgICAgICAgICAg
IAogICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIGJlZ2luID0gc2xvd1BhdGhKSVQu
bGFiZWwoKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
Y2FsbCA9IGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICAgICAgc3RhdGUsIHVzZWRSZWdpc3Rl
cnMsIHNsb3dQYXRoSklULCBvcGVyYXRpb25HZXRCeUlkT3B0aW1pemUsIHJlc3VsdCwKLSAgICAg
ICAgICAgICAgICBjYWxsRnJhbWVSZWdpc3RlciwgZ2VuLnN0dWJJbmZvKCksIGJhc2UsIGdldEJ5
SWQudWlkKCkpOworICAgICAgICAgICAgICAgIHN0YXRlLCB1c2VkUmVnaXN0ZXJzLCBzbG93UGF0
aEpJVCwgZ2V0QnlJZC5jb2RlT3JpZ2luKCksICZleGNlcHRpb25UYXJnZXQsCisgICAgICAgICAg
ICAgICAgb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplLCByZXN1bHQsIGdlbi5zdHViSW5mbygpLCBi
YXNlLCBnZXRCeUlkLnVpZCgpKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgZ2VuLnJlcG9y
dFNsb3dQYXRoQ2FsbChiZWdpbiwgY2FsbCk7CiAgICAgICAgICAgICAKQEAgLTIyNyw3ICszMDIs
NyBAQCBzdGF0aWMgdm9pZCBmaXhGdW5jdGlvbkJhc2VkT25TdGFja01hcHMoCiAgICAgICAgICAg
ICBpZiAoT3B0aW9uczo6dmVyYm9zZUNvbXBpbGF0aW9uKCkpCiAgICAgICAgICAgICAgICAgZGF0
YUxvZygiSGFuZGxpbmcgUHV0QnlJZCBzdGFja21hcCAjIiwgcHV0QnlJZC5zdGFja21hcElEKCks
ICJcbiIpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBTdGFja01hcHM6OlJlY29yZE1hcDo6
aXRlcmF0b3IgaXRlciA9IHJlY29yZE1hcC5maW5kKHB1dEJ5SWQuc3RhY2ttYXBJRCgpKTsKKyAg
ICAgICAgICAgIGl0ZXIgPSByZWNvcmRNYXAuZmluZChwdXRCeUlkLnN0YWNrbWFwSUQoKSk7CiAg
ICAgICAgICAgICBpZiAoaXRlciA9PSByZWNvcmRNYXAuZW5kKCkpIHsKICAgICAgICAgICAgICAg
ICAvLyBJdCB3YXMgb3B0aW1pemVkIG91dC4KICAgICAgICAgICAgICAgICBjb250aW51ZTsKQEAg
LTIzOCwyMCArMzEzLDE5IEBAIHN0YXRpYyB2b2lkIGZpeEZ1bmN0aW9uQmFzZWRPblN0YWNrTWFw
cygKICAgICAgICAgICAgIC8vIEZJWE1FOiBMTFZNIHNob3VsZCB0ZWxsIHVzIHdoaWNoIHJlZ2lz
dGVycyBhcmUgbGl2ZS4KICAgICAgICAgICAgIFJlZ2lzdGVyU2V0IHVzZWRSZWdpc3RlcnMgPSBS
ZWdpc3RlclNldDo6YWxsUmVnaXN0ZXJzKCk7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIEdQ
UlJlZyBjYWxsRnJhbWVSZWdpc3RlciA9IHJlY29yZC5sb2NhdGlvbnNbMF0uZGlyZWN0R1BSKCk7
Ci0gICAgICAgICAgICBHUFJSZWcgYmFzZSA9IHJlY29yZC5sb2NhdGlvbnNbMV0uZGlyZWN0R1BS
KCk7Ci0gICAgICAgICAgICBHUFJSZWcgdmFsdWUgPSByZWNvcmQubG9jYXRpb25zWzJdLmRpcmVj
dEdQUigpOworICAgICAgICAgICAgR1BSUmVnIGJhc2UgPSByZWNvcmQubG9jYXRpb25zWzBdLmRp
cmVjdEdQUigpOworICAgICAgICAgICAgR1BSUmVnIHZhbHVlID0gcmVjb3JkLmxvY2F0aW9uc1sx
XS5kaXJlY3RHUFIoKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgSklUUHV0QnlJZEdlbmVy
YXRvciBnZW4oCi0gICAgICAgICAgICAgICAgY29kZUJsb2NrLCBwdXRCeUlkLmNvZGVPcmlnaW4o
KSwgdXNlZFJlZ2lzdGVycywgY2FsbEZyYW1lUmVnaXN0ZXIsCi0gICAgICAgICAgICAgICAgSlNW
YWx1ZVJlZ3MoYmFzZSksIEpTVmFsdWVSZWdzKHZhbHVlKSwgTWFjcm9Bc3NlbWJsZXI6OnNjcmF0
Y2hSZWdpc3RlciwKLSAgICAgICAgICAgICAgICBmYWxzZSwgcHV0QnlJZC5lY21hTW9kZSgpLCBw
dXRCeUlkLnB1dEtpbmQoKSk7CisgICAgICAgICAgICAgICAgY29kZUJsb2NrLCBwdXRCeUlkLmNv
ZGVPcmlnaW4oKSwgdXNlZFJlZ2lzdGVycywgSlNWYWx1ZVJlZ3MoYmFzZSksCisgICAgICAgICAg
ICAgICAgSlNWYWx1ZVJlZ3ModmFsdWUpLCBNYWNyb0Fzc2VtYmxlcjo6c2NyYXRjaFJlZ2lzdGVy
LCBmYWxzZSwgcHV0QnlJZC5lY21hTW9kZSgpLAorICAgICAgICAgICAgICAgIHB1dEJ5SWQucHV0
S2luZCgpKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IGJlZ2luID0gc2xvd1BhdGhKSVQubGFiZWwoKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbCA9IGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICAg
ICAgc3RhdGUsIHVzZWRSZWdpc3RlcnMsIHNsb3dQYXRoSklULCBnZW4uc2xvd1BhdGhGdW5jdGlv
bigpLCBjYWxsRnJhbWVSZWdpc3RlciwKLSAgICAgICAgICAgICAgICBnZW4uc3R1YkluZm8oKSwg
dmFsdWUsIGJhc2UsIHB1dEJ5SWQudWlkKCkpOworICAgICAgICAgICAgICAgIHN0YXRlLCB1c2Vk
UmVnaXN0ZXJzLCBzbG93UGF0aEpJVCwgcHV0QnlJZC5jb2RlT3JpZ2luKCksICZleGNlcHRpb25U
YXJnZXQsCisgICAgICAgICAgICAgICAgZ2VuLnNsb3dQYXRoRnVuY3Rpb24oKSwgZ2VuLnN0dWJJ
bmZvKCksIHZhbHVlLCBiYXNlLCBwdXRCeUlkLnVpZCgpKTsKICAgICAgICAgICAgIAogICAgICAg
ICAgICAgZ2VuLnJlcG9ydFNsb3dQYXRoQ2FsbChiZWdpbiwgY2FsbCk7CiAgICAgICAgICAgICAK
QEAgLTI1OSw4ICszMzMsMTMgQEAgc3RhdGljIHZvaWQgZml4RnVuY3Rpb25CYXNlZE9uU3RhY2tN
YXBzKAogICAgICAgICAgICAgcHV0QnlJZC5tX2dlbmVyYXRvciA9IGdlbjsKICAgICAgICAgfQog
ICAgICAgICAKKyAgICAgICAgZXhjZXB0aW9uVGFyZ2V0LmxpbmsoJnNsb3dQYXRoSklUKTsKKyAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgZXhjZXB0aW9uSnVtcCA9IHNsb3dQYXRoSklULmp1
bXAoKTsKKyAgICAgICAgCiAgICAgICAgIHN0YXRlLmZpbmFsaXplci0+c2lkZUNvZGVMaW5rQnVm
ZmVyID0gYWRvcHRQdHIoCiAgICAgICAgICAgICBuZXcgTGlua0J1ZmZlcih2bSwgJnNsb3dQYXRo
SklULCBjb2RlQmxvY2ssIEpJVENvbXBpbGF0aW9uTXVzdFN1Y2NlZWQpKTsKKyAgICAgICAgc3Rh
dGUuZmluYWxpemVyLT5zaWRlQ29kZUxpbmtCdWZmZXItPmxpbmsoCisgICAgICAgICAgICBleGNl
cHRpb25KdW1wLCBzdGF0ZS5maW5hbGl6ZXItPmhhbmRsZUV4Y2VwdGlvbnNMaW5rQnVmZmVyLT5l
bnRyeXBvaW50KCkpOwogICAgICAgICAKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhdGUu
Z2V0QnlJZHMuc2l6ZSgpOyBpLS07KSB7CiAgICAgICAgICAgICBnZW5lcmF0ZUlDRmFzdFBhdGgo
CkBAIC0yNzQsMjggKzM1Myw4MSBAQCBzdGF0aWMgdm9pZCBmaXhGdW5jdGlvbkJhc2VkT25TdGFj
a01hcHMoCiAgICAgICAgIH0KICAgICB9CiAgICAgCi0gICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNo
QnVmZmVyKGNvZGVCbG9jayk7Ci0gICAgCi0gICAgZm9yICh1bnNpZ25lZCBleGl0SW5kZXggPSBq
aXRDb2RlLT5vc3JFeGl0LnNpemUoKTsgZXhpdEluZGV4LS07KSB7Ci0gICAgICAgIE9TUkV4aXRD
b21waWxhdGlvbkluZm8mIGluZm8gPSBzdGF0ZS5maW5hbGl6ZXItPm9zckV4aXRbZXhpdEluZGV4
XTsKLSAgICAgICAgT1NSRXhpdCYgZXhpdCA9IGppdENvZGUtPm9zckV4aXRbZXhpdEluZGV4XTsK
LSAgICAgICAgU3RhY2tNYXBzOjpSZWNvcmRNYXA6Oml0ZXJhdG9yIGl0ZXIgPSByZWNvcmRNYXAu
ZmluZChleGl0Lm1fc3RhY2ttYXBJRCk7CisgICAgLy8gSGFuZGxpbmcgSlMgY2FsbHMgaXMgd2Vp
cmQ6IHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgd2Ugc29ydCB0aGVtIGJ5IHRoZSBQQyBpbiBMTFZN
CisgICAgLy8gZ2VuZXJhdGVkIGNvZGUuIFRoYXQgaW1wbGllcyBmaXJzdCBwcnVuaW5nIHRoZSBv
bmVzIHRoYXQgTExWTSBkaWRuJ3QgZ2VuZXJhdGUuCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IHN0YXRlLmpzQ2FsbHMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgSlNDYWxsJiBjYWxsID0g
c3RhdGUuanNDYWxsc1tpXTsKKyAgICAgICAgCisgICAgICAgIFN0YWNrTWFwczo6UmVjb3JkTWFw
OjppdGVyYXRvciBpdGVyID0gcmVjb3JkTWFwLmZpbmQoY2FsbC5zdGFja21hcElEKCkpOwogICAg
ICAgICBpZiAoaXRlciA9PSByZWNvcmRNYXAuZW5kKCkpIHsKLSAgICAgICAgICAgIC8vIFRoaXMg
Y291bGQgaGFwcGVuIGlmIExMVk0gb3B0aW1pemVzIG91dCBhbiBPU1IgZXhpdC4KKyAgICAgICAg
ICAgIC8vIEl0IHdhcyBvcHRpbWl6ZWQgb3V0LiBQcnVuZSBpdC4KKyAgICAgICAgICAgIGNhbGwg
PSBzdGF0ZS5qc0NhbGxzLmxhc3QoKTsKKyAgICAgICAgICAgIHN0YXRlLmpzQ2FsbHMucmVtb3Zl
TGFzdCgpOworICAgICAgICAgICAgaS0tOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
IH0KICAgICAgICAgCisgICAgICAgIGNhbGwubV9pbnN0cnVjdGlvbk9mZnNldCA9IGl0ZXItPnZh
bHVlLmluc3RydWN0aW9uT2Zmc2V0OworICAgIH0KKyAgICAKKyAgICBzdGQ6OnNvcnQoc3RhdGUu
anNDYWxscy5iZWdpbigpLCBzdGF0ZS5qc0NhbGxzLmVuZCgpKTsKKyAgICAKKyAgICBjb2RlQmxv
Y2stPnNldE51bWJlck9mQ2FsbExpbmtJbmZvcyhzdGF0ZS5qc0NhbGxzLnNpemUoKSk7CisgICAg
Zm9yICh1bnNpZ25lZCBpID0gc3RhdGUuanNDYWxscy5zaXplKCk7IGktLTspIHsKKyAgICAgICAg
SlNDYWxsJiBjYWxsID0gc3RhdGUuanNDYWxsc1tpXTsKKworICAgICAgICBDQ2FsbEhlbHBlcnMg
ZmFzdFBhdGhKSVQoJnZtLCBjb2RlQmxvY2spOworICAgICAgICBjYWxsLmVtaXQoZmFzdFBhdGhK
SVQpOworICAgICAgICAKKyAgICAgICAgY2hhciogc3RhcnRPZklDID0gYml0d2lzZV9jYXN0PGNo
YXIqPihnZW5lcmF0ZWRGdW5jdGlvbikgKyBjYWxsLm1faW5zdHJ1Y3Rpb25PZmZzZXQ7CisgICAg
ICAgIAorICAgICAgICBMaW5rQnVmZmVyIGxpbmtCdWZmZXIodm0sICZmYXN0UGF0aEpJVCwgc3Rh
cnRPZklDLCBzaXplT2ZDYWxsKCkpOworICAgICAgICBSRUxFQVNFX0FTU0VSVChsaW5rQnVmZmVy
LmlzVmFsaWQoKSk7CisgICAgICAgIAorICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QXNzZW1ibGVy
VHlwZV9UOjpmaWxsTm9wcygKKyAgICAgICAgICAgIHN0YXJ0T2ZJQyArIGxpbmtCdWZmZXIuc2l6
ZSgpLCBzaXplT2ZDYWxsKCkgLSBsaW5rQnVmZmVyLnNpemUoKSk7CisgICAgICAgIAorICAgICAg
ICBDYWxsTGlua0luZm8mIGluZm8gPSBjb2RlQmxvY2stPmNhbGxMaW5rSW5mbyhpKTsKKyAgICAg
ICAgY2FsbC5saW5rKHZtLCBsaW5rQnVmZmVyLCBpbmZvKTsKKyAgICB9CisgICAgCisgICAgUmVw
YXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVyKGNvZGVCbG9jayk7CisgICAgCisgICAgaXRlciA9IHJl
Y29yZE1hcC5maW5kKHN0YXRlLmhhbmRsZUV4Y2VwdGlvblN0YWNrbWFwSUQpOworICAgIC8vIEl0
J3Mgc29ydCBvZiByZW1vdGVseSBwb3NzaWJsZSB0aGF0IHdlIHdvbid0IGhhdmUgYW4gaW4tYmFu
ZCBleGNlcHRpb24gaGFuZGxpbmcKKyAgICAvLyBwYXRoLCBmb3Igc29tZSBraW5kcyBvZiBmdW5j
dGlvbnMuCisgICAgaWYgKGl0ZXIgIT0gcmVjb3JkTWFwLmVuZCgpKSB7CiAgICAgICAgIFN0YWNr
TWFwczo6UmVjb3JkJiByZWNvcmQgPSBpdGVyLT52YWx1ZTsKICAgICAgICAgCiAgICAgICAgIENv
ZGVMb2NhdGlvbkxhYmVsIHNvdXJjZSA9IENvZGVMb2NhdGlvbkxhYmVsKAogICAgICAgICAgICAg
Yml0d2lzZV9jYXN0PGNoYXIqPihnZW5lcmF0ZWRGdW5jdGlvbikgKyByZWNvcmQuaW5zdHJ1Y3Rp
b25PZmZzZXQpOworCisgICAgICAgIHJlcGF0Y2hCdWZmZXIucmVwbGFjZVdpdGhKdW1wKHNvdXJj
ZSwgc3RhdGUuZmluYWxpemVyLT5oYW5kbGVFeGNlcHRpb25zTGlua0J1ZmZlci0+ZW50cnlwb2lu
dCgpKTsKKyAgICB9CisgICAgCisgICAgZm9yICh1bnNpZ25lZCBleGl0SW5kZXggPSAwOyBleGl0
SW5kZXggPCBqaXRDb2RlLT5vc3JFeGl0LnNpemUoKTsgKytleGl0SW5kZXgpIHsKKyAgICAgICAg
T1NSRXhpdENvbXBpbGF0aW9uSW5mbyYgaW5mbyA9IHN0YXRlLmZpbmFsaXplci0+b3NyRXhpdFtl
eGl0SW5kZXhdOworICAgICAgICBPU1JFeGl0JiBleGl0ID0gaml0Q29kZS0+b3NyRXhpdFtleGl0
SW5kZXhdOworICAgICAgICBpdGVyID0gcmVjb3JkTWFwLmZpbmQoZXhpdC5tX3N0YWNrbWFwSUQp
OwogICAgICAgICAKLSAgICAgICAgaWYgKGluZm8ubV9pc0ludmFsaWRhdGlvblBvaW50KSB7Ci0g
ICAgICAgICAgICBqaXRDb2RlLT5jb21tb24uanVtcFJlcGxhY2VtZW50cy5hcHBlbmQoSnVtcFJl
cGxhY2VtZW50KHNvdXJjZSwgaW5mby5tX3RodW5rQWRkcmVzcykpOwotICAgICAgICAgICAgY29u
dGludWU7CisgICAgICAgIFZlY3Rvcjxjb25zdCB2b2lkKj4gY29kZUFkZHJlc3NlczsKKyAgICAg
ICAgCisgICAgICAgIGlmIChpdGVyICE9IHJlY29yZE1hcC5lbmQoKSkgeworICAgICAgICAgICAg
U3RhY2tNYXBzOjpSZWNvcmQmIHJlY29yZCA9IGl0ZXItPnZhbHVlOworICAgICAgICAgICAgCisg
ICAgICAgICAgICBDb2RlTG9jYXRpb25MYWJlbCBzb3VyY2UgPSBDb2RlTG9jYXRpb25MYWJlbCgK
KyAgICAgICAgICAgICAgICBiaXR3aXNlX2Nhc3Q8Y2hhcio+KGdlbmVyYXRlZEZ1bmN0aW9uKSAr
IHJlY29yZC5pbnN0cnVjdGlvbk9mZnNldCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGNv
ZGVBZGRyZXNzZXMuYXBwZW5kKGJpdHdpc2VfY2FzdDxjaGFyKj4oZ2VuZXJhdGVkRnVuY3Rpb24p
ICsgcmVjb3JkLmluc3RydWN0aW9uT2Zmc2V0ICsgTWFjcm9Bc3NlbWJsZXI6Om1heEp1bXBSZXBs
YWNlbWVudFNpemUoKSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChpbmZvLm1faXNJ
bnZhbGlkYXRpb25Qb2ludCkKKyAgICAgICAgICAgICAgICBqaXRDb2RlLT5jb21tb24uanVtcFJl
cGxhY2VtZW50cy5hcHBlbmQoSnVtcFJlcGxhY2VtZW50KHNvdXJjZSwgaW5mby5tX3RodW5rQWRk
cmVzcykpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJlcGF0Y2hCdWZmZXIu
cmVwbGFjZVdpdGhKdW1wKHNvdXJjZSwgaW5mby5tX3RodW5rQWRkcmVzcyk7CiAgICAgICAgIH0K
ICAgICAgICAgCi0gICAgICAgIHJlcGF0Y2hCdWZmZXIucmVwbGFjZVdpdGhKdW1wKHNvdXJjZSwg
aW5mby5tX3RodW5rQWRkcmVzcyk7CisgICAgICAgIGlmIChncmFwaC5jb21waWxhdGlvbigpKQor
ICAgICAgICAgICAgZ3JhcGguY29tcGlsYXRpb24oKS0+YWRkT1NSRXhpdFNpdGUoY29kZUFkZHJl
c3Nlcyk7CiAgICAgfQogfQogCkBAIC0zNzMsNyArNTA1LDcgQEAgdm9pZCBjb21waWxlKFN0YXRl
JiBzdGF0ZSkKICAgICAgICAgICAgIEV4ZWN1dGFibGVNZW1vcnlIYW5kbGUqIGhhbmRsZSA9IHN0
YXRlLmppdENvZGUtPmhhbmRsZXMoKVtpXS5nZXQoKTsKICAgICAgICAgICAgIGRhdGFMb2coCiAg
ICAgICAgICAgICAgICAgIkdlbmVyYXRlZCBMTFZNIGNvZGUgZm9yICIsCi0gICAgICAgICAgICAg
ICAgQ29kZUJsb2NrV2l0aEpJVFR5cGUoc3RhdGUuZ3JhcGgubV9jb2RlQmxvY2ssIEpJVENvZGU6
OkRGR0pJVCksCisgICAgICAgICAgICAgICAgQ29kZUJsb2NrV2l0aEpJVFR5cGUoc3RhdGUuZ3Jh
cGgubV9jb2RlQmxvY2ssIEpJVENvZGU6OkZUTEpJVCksCiAgICAgICAgICAgICAgICAgIiAjIiwg
aSwgIiwgIiwgc3RhdGUuY29kZVNlY3Rpb25OYW1lc1tpXSwgIjpcbiIpOwogICAgICAgICAgICAg
ZGlzYXNzZW1ibGUoCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyKGhhbmRs
ZS0+c3RhcnQoKSksIGhhbmRsZS0+c2l6ZUluQnl0ZXMoKSwKQEAgLTM4NCwxNyArNTE2LDIyIEBA
IHZvaWQgY29tcGlsZShTdGF0ZSYgc3RhdGUpCiAgICAgICAgICAgICBjb25zdCBSZWZDb3VudGVk
QXJyYXk8TFNlY3Rpb25Xb3JkPiYgc2VjdGlvbiA9IHN0YXRlLmppdENvZGUtPmRhdGFTZWN0aW9u
cygpW2ldOwogICAgICAgICAgICAgZGF0YUxvZygKICAgICAgICAgICAgICAgICAiR2VuZXJhdGVk
IExMVk0gZGF0YSBzZWN0aW9uIGZvciAiLAotICAgICAgICAgICAgICAgIENvZGVCbG9ja1dpdGhK
SVRUeXBlKHN0YXRlLmdyYXBoLm1fY29kZUJsb2NrLCBKSVRDb2RlOjpERkdKSVQpLAorICAgICAg
ICAgICAgICAgIENvZGVCbG9ja1dpdGhKSVRUeXBlKHN0YXRlLmdyYXBoLm1fY29kZUJsb2NrLCBK
SVRDb2RlOjpGVExKSVQpLAogICAgICAgICAgICAgICAgICIgIyIsIGksICIsICIsIHN0YXRlLmRh
dGFTZWN0aW9uTmFtZXNbaV0sICI6XG4iKTsKICAgICAgICAgICAgIGR1bXBEYXRhU2VjdGlvbihz
ZWN0aW9uLCAiICAgICIpOwogICAgICAgICB9CiAgICAgfQogICAgIAorICAgIHN0YXRlLmppdENv
ZGUtPnVud2luZEluZm8ucGFyc2UoCisgICAgICAgIHN0YXRlLmNvbXBhY3RVbndpbmQsIHN0YXRl
LmNvbXBhY3RVbndpbmRTaXplLCBzdGF0ZS5nZW5lcmF0ZWRGdW5jdGlvbik7CisgICAgaWYgKERG
Rzo6c2hvdWxkU2hvd0Rpc2Fzc2VtYmx5KCkpCisgICAgICAgIGRhdGFMb2coIlVud2luZCBpbmZv
IGZvciAiLCBDb2RlQmxvY2tXaXRoSklUVHlwZShzdGF0ZS5ncmFwaC5tX2NvZGVCbG9jaywgSklU
Q29kZTo6RlRMSklUKSwgIjpcbiAgICAiLCBzdGF0ZS5qaXRDb2RlLT51bndpbmRJbmZvLCAiXG4i
KTsKKyAgICAKICAgICBpZiAoc3RhdGUuc3RhY2ttYXBzU2VjdGlvbi5zaXplKCkpIHsKICAgICAg
ICAgaWYgKHNob3VsZFNob3dEaXNhc3NlbWJseSgpKSB7CiAgICAgICAgICAgICBkYXRhTG9nKAog
ICAgICAgICAgICAgICAgICJHZW5lcmF0ZWQgTExWTSBzdGFja21hcHMgc2VjdGlvbiBmb3IgIiwK
LSAgICAgICAgICAgICAgICBDb2RlQmxvY2tXaXRoSklUVHlwZShzdGF0ZS5ncmFwaC5tX2NvZGVC
bG9jaywgSklUQ29kZTo6REZHSklUKSwgIjpcbiIpOworICAgICAgICAgICAgICAgIENvZGVCbG9j
a1dpdGhKSVRUeXBlKHN0YXRlLmdyYXBoLm1fY29kZUJsb2NrLCBKSVRDb2RlOjpGVExKSVQpLCAi
OlxuIik7CiAgICAgICAgICAgICBkYXRhTG9nKCIgICAgUmF3IGRhdGE6XG4iKTsKICAgICAgICAg
ICAgIGR1bXBEYXRhU2VjdGlvbihzdGF0ZS5zdGFja21hcHNTZWN0aW9uLCAiICAgICIpOwogICAg
ICAgICB9CkBAIC00MjEsOCArNTU4LDkgQEAgdm9pZCBjb21waWxlKFN0YXRlJiBzdGF0ZSkKICAg
ICAgICAgICAgICAgICBFeGVjdXRhYmxlTWVtb3J5SGFuZGxlKiBoYW5kbGUgPSBzdGF0ZS5qaXRD
b2RlLT5oYW5kbGVzKClbaV0uZ2V0KCk7CiAgICAgICAgICAgICAgICAgZGF0YUxvZygKICAgICAg
ICAgICAgICAgICAgICAgIkdlbmVyYXRlZCBMTFZNIGNvZGUgYWZ0ZXIgc3RhY2ttYXAtYmFzZWQg
Zml4LXVwIGZvciAiLAotICAgICAgICAgICAgICAgICAgICBDb2RlQmxvY2tXaXRoSklUVHlwZShz
dGF0ZS5ncmFwaC5tX2NvZGVCbG9jaywgSklUQ29kZTo6REZHSklUKSwKLSAgICAgICAgICAgICAg
ICAgICAgIiAjIiwgaSwgIiwgIiwgc3RhdGUuY29kZVNlY3Rpb25OYW1lc1tpXSwgIjpcbiIpOwor
ICAgICAgICAgICAgICAgICAgICBDb2RlQmxvY2tXaXRoSklUVHlwZShzdGF0ZS5ncmFwaC5tX2Nv
ZGVCbG9jaywgSklUQ29kZTo6RlRMSklUKSwKKyAgICAgICAgICAgICAgICAgICAgIiBpbiAiLCBz
dGF0ZS5ncmFwaC5tX3BsYW4ubW9kZSwgIiAjIiwgaSwgIiwgIiwKKyAgICAgICAgICAgICAgICAg
ICAgc3RhdGUuY29kZVNlY3Rpb25OYW1lc1tpXSwgIjpcbiIpOwogICAgICAgICAgICAgICAgIGRp
c2Fzc2VtYmxlKAogICAgICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIoaGFu
ZGxlLT5zdGFydCgpKSwgaGFuZGxlLT5zaXplSW5CeXRlcygpLAogICAgICAgICAgICAgICAgICAg
ICAiICAgICIsIFdURjo6ZGF0YUZpbGUoKSwgTExWTVN1YnNldCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEV4aXRWYWx1ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTEV4aXRWYWx1ZS5jcHAKaW5kZXggYTk4N2M2MGNlNDdjZDllMTI5OWIwNTY2
NGMzMmUyNWRiY2VjNjAwYy4uNzIxZjY0MzkzNWM2YmExMDdkYjcyMGI5ZDQxOTY5ZWVlMjZhNWQz
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExFeGl0VmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRXhpdFZhbHVlLmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTksNiAr
NTksOSBAQCB2b2lkIEV4aXRWYWx1ZTo6ZHVtcEluQ29udGV4dChQcmludFN0cmVhbSYgb3V0LCBE
dW1wQ29udGV4dCogY29udGV4dCkgY29uc3QKICAgICBjYXNlIEV4aXRWYWx1ZUluSlNTdGFja0Fz
RG91YmxlOgogICAgICAgICBvdXQucHJpbnQoIkluSlNTdGFja0FzRG91YmxlOnIiLCB2aXJ0dWFs
UmVnaXN0ZXIoKSk7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIEV4aXRWYWx1ZVJlY292ZXJ5
OgorICAgICAgICBvdXQucHJpbnQoIlJlY292ZXJ5KCIsIHJlY292ZXJ5T3Bjb2RlKCksICIsIGFy
ZyIsIGxlZnRSZWNvdmVyeUFyZ3VtZW50KCksICIsIGFyZyIsIHJpZ2h0UmVjb3ZlcnlBcmd1bWVu
dCgpLCAiLCAiLCByZWNvdmVyeUZvcm1hdCgpLCAiKSIpOworICAgICAgICByZXR1cm47CiAgICAg
fQogICAgIAogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEV4aXRWYWx1ZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExFeGl0VmFsdWUuaAppbmRleCA3YWFhZWRkOGQxZjk5YmEwNWNlY2I2OWUz
Mzc0YTkzZTEzMTg4ZWRmLi44MjNmOGE0MjQyYzI2NmY0MDY0YjAyOTI2ZmRkYTgwMWRhMmJlNWMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEV4aXRWYWx1ZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMRXhpdFZhbHVlLmgKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDYgKzMxLDcg
QEAKICNpZiBFTkFCTEUoRlRMX0pJVCkKIAogI2luY2x1ZGUgIkZUTEV4aXRBcmd1bWVudC5oIgor
I2luY2x1ZGUgIkZUTFJlY292ZXJ5T3Bjb2RlLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgog
I2luY2x1ZGUgIlZpcnR1YWxSZWdpc3Rlci5oIgogI2luY2x1ZGUgPHd0Zi9QcmludFN0cmVhbS5o
PgpAQCAtNTEsNyArNTIsOCBAQCBlbnVtIEV4aXRWYWx1ZUtpbmQgewogICAgIEV4aXRWYWx1ZUlu
SlNTdGFjaywKICAgICBFeGl0VmFsdWVJbkpTU3RhY2tBc0ludDMyLAogICAgIEV4aXRWYWx1ZUlu
SlNTdGFja0FzSW50NTIsCi0gICAgRXhpdFZhbHVlSW5KU1N0YWNrQXNEb3VibGUKKyAgICBFeGl0
VmFsdWVJbkpTU3RhY2tBc0RvdWJsZSwKKyAgICBFeGl0VmFsdWVSZWNvdmVyeQogfTsKIAogY2xh
c3MgRXhpdFZhbHVlIHsKQEAgLTExOCw2ICsxMjAsMTcgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gcmVzdWx0OwogICAgIH0KICAgICAKKyAgICBzdGF0aWMgRXhpdFZhbHVlIHJlY292ZXJ5KFJl
Y292ZXJ5T3Bjb2RlIG9wY29kZSwgdW5zaWduZWQgbGVmdEFyZ3VtZW50LCB1bnNpZ25lZCByaWdo
dEFyZ3VtZW50LCBWYWx1ZUZvcm1hdCBmb3JtYXQpCisgICAgeworICAgICAgICBFeGl0VmFsdWUg
cmVzdWx0OworICAgICAgICByZXN1bHQubV9raW5kID0gRXhpdFZhbHVlUmVjb3Zlcnk7CisgICAg
ICAgIHJlc3VsdC51LnJlY292ZXJ5Lm9wY29kZSA9IG9wY29kZTsKKyAgICAgICAgcmVzdWx0LnUu
cmVjb3ZlcnkubGVmdEFyZ3VtZW50ID0gbGVmdEFyZ3VtZW50OworICAgICAgICByZXN1bHQudS5y
ZWNvdmVyeS5yaWdodEFyZ3VtZW50ID0gcmlnaHRBcmd1bWVudDsKKyAgICAgICAgcmVzdWx0LnUu
cmVjb3ZlcnkuZm9ybWF0ID0gZm9ybWF0OworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0K
KyAgICAKICAgICBFeGl0VmFsdWVLaW5kIGtpbmQoKSBjb25zdCB7IHJldHVybiBtX2tpbmQ7IH0K
ICAgICAKICAgICBib29sIGlzRGVhZCgpIGNvbnN0IHsgcmV0dXJuIGtpbmQoKSA9PSBFeGl0VmFs
dWVEZWFkOyB9CkBAIC0xMzUsNiArMTQ4LDcgQEAgcHVibGljOgogICAgIH0KICAgICBib29sIGlz
Q29uc3RhbnQoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gRXhpdFZhbHVlQ29uc3RhbnQ7IH0K
ICAgICBib29sIGlzQXJndW1lbnQoKSBjb25zdCB7IHJldHVybiBraW5kKCkgPT0gRXhpdFZhbHVl
QXJndW1lbnQ7IH0KKyAgICBib29sIGlzUmVjb3ZlcnkoKSBjb25zdCB7IHJldHVybiBraW5kKCkg
PT0gRXhpdFZhbHVlUmVjb3Zlcnk7IH0KICAgICAKICAgICBFeGl0QXJndW1lbnQgZXhpdEFyZ3Vt
ZW50KCkgY29uc3QKICAgICB7CkBAIC0xNDIsNiArMTU2LDMwIEBAIHB1YmxpYzoKICAgICAgICAg
cmV0dXJuIEV4aXRBcmd1bWVudCh1LmFyZ3VtZW50KTsKICAgICB9CiAgICAgCisgICAgdW5zaWdu
ZWQgbGVmdFJlY292ZXJ5QXJndW1lbnQoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGlz
UmVjb3ZlcnkoKSk7CisgICAgICAgIHJldHVybiB1LnJlY292ZXJ5LmxlZnRBcmd1bWVudDsKKyAg
ICB9CisgICAgCisgICAgdW5zaWduZWQgcmlnaHRSZWNvdmVyeUFyZ3VtZW50KCkgY29uc3QKKyAg
ICB7CisgICAgICAgIEFTU0VSVChpc1JlY292ZXJ5KCkpOworICAgICAgICByZXR1cm4gdS5yZWNv
dmVyeS5yaWdodEFyZ3VtZW50OworICAgIH0KKyAgICAKKyAgICBWYWx1ZUZvcm1hdCByZWNvdmVy
eUZvcm1hdCgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQoaXNSZWNvdmVyeSgpKTsKKyAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFZhbHVlRm9ybWF0Pih1LnJlY292ZXJ5LmZvcm1hdCk7
CisgICAgfQorICAgIAorICAgIFJlY292ZXJ5T3Bjb2RlIHJlY292ZXJ5T3Bjb2RlKCkgY29uc3QK
KyAgICB7CisgICAgICAgIEFTU0VSVChpc1JlY292ZXJ5KCkpOworICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8UmVjb3ZlcnlPcGNvZGU+KHUucmVjb3Zlcnkub3Bjb2RlKTsKKyAgICB9CisgICAg
CiAgICAgSlNWYWx1ZSBjb25zdGFudCgpIGNvbnN0CiAgICAgewogICAgICAgICBBU1NFUlQoaXND
b25zdGFudCgpKTsKQEAgLTE1Myw2ICsxOTEsMTUgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQo
aXNJbkpTU3RhY2tTb21laG93KCkpOwogICAgICAgICByZXR1cm4gVmlydHVhbFJlZ2lzdGVyKHUu
dmlydHVhbFJlZ2lzdGVyKTsKICAgICB9CisgICAgCisgICAgRXhpdFZhbHVlIHdpdGhWaXJ0dWFs
UmVnaXN0ZXIoVmlydHVhbFJlZ2lzdGVyIHZpcnR1YWxSZWdpc3RlcikKKyAgICB7CisgICAgICAg
IEFTU0VSVChpc0luSlNTdGFja1NvbWVob3coKSk7CisgICAgICAgIEV4aXRWYWx1ZSByZXN1bHQ7
CisgICAgICAgIHJlc3VsdC5tX2tpbmQgPSBtX2tpbmQ7CisgICAgICAgIHJlc3VsdC51LnZpcnR1
YWxSZWdpc3RlciA9IHZpcnR1YWxSZWdpc3Rlci5vZmZzZXQoKTsKKyAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKyAgICB9CiAKICAgICAvLyBJZiBpdCdzIGluIHRoZSBKU1N0YWNrIHNvbWVob3csIHRo
aXMgd2lsbCB0ZWxsIHlvdSB3aGF0IGZvcm1hdCBpdCdzIGluLCBpbiBhIG1hbm5lcgogICAgIC8v
IHRoYXQgaXMgY29tcGF0aWJsZSB3aXRoIGV4aXRBcmd1bWVudCgpLmZvcm1hdCgpLiBJZiBpdCdz
IGEgY29uc3RhbnQgb3IgaXQncyBkZWFkLCBpdApAQCAtMTgxLDYgKzIyOCw5IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgIAogICAgICAgICBjYXNlIEV4aXRWYWx1ZUluSlNTdGFja0FzRG91YmxlOgog
ICAgICAgICAgICAgcmV0dXJuIFZhbHVlRm9ybWF0RG91YmxlOworICAgICAgICAgICAgCisgICAg
ICAgIGNhc2UgRXhpdFZhbHVlUmVjb3Zlcnk6CisgICAgICAgICAgICByZXR1cm4gcmVjb3ZlcnlG
b3JtYXQoKTsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKQEAgLTE5Niw2ICsyNDYsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgRXhpdEFy
Z3VtZW50UmVwcmVzZW50YXRpb24gYXJndW1lbnQ7CiAgICAgICAgIEVuY29kZWRKU1ZhbHVlIGNv
bnN0YW50OwogICAgICAgICBpbnQgdmlydHVhbFJlZ2lzdGVyOworICAgICAgICBzdHJ1Y3Qgewor
ICAgICAgICAgICAgdWludDE2X3QgbGVmdEFyZ3VtZW50OworICAgICAgICAgICAgdWludDE2X3Qg
cmlnaHRBcmd1bWVudDsKKyAgICAgICAgICAgIHVpbnQxNl90IG9wY29kZTsKKyAgICAgICAgICAg
IHVpbnQxNl90IGZvcm1hdDsKKyAgICAgICAgfSByZWNvdmVyeTsKICAgICB9IHU7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElubGluZUNhY2hlU2l6ZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElubGluZUNhY2hlU2l6ZS5jcHAKaW5k
ZXggODJkNGJlNTZhN2IzN2FjOGE1YWIwNGY0NmM2YjFiYzUzMjBjMTMwNy4uYWI4MjU2MTI3Nzkz
NGIyMWZlMDdkNWYyMzRkZTM2MjNjNThkMTFiNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExJbmxpbmVDYWNoZVNpemUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMSW5saW5lQ2FjaGVTaXplLmNwcApAQCAtNDcsNiArNDcsMTEgQEAgc2l6ZV90
IHNpemVPZlB1dEJ5SWQoKQogICAgIHJldHVybiAzMjsKIH0KIAorc2l6ZV90IHNpemVPZkNhbGwo
KQoreworICAgIHJldHVybiA0MzsKK30KKwogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTAogCiAj
ZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTElubGluZUNhY2hlU2l6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExJbmxpbmVDYWNoZVNpemUuaAppbmRleCBhYWMwZjNlOTM3YjBhZTZlZDEyODIyOWQyNGI5N2Rk
MDNkODFmZTAxLi43YzdjMTg5NzI1ZTRjYWM3NGM3MWM2YzhiNDI3OWUyYjAzZTc1Mjg4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElubGluZUNhY2hlU2l6ZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW5saW5lQ2FjaGVTaXplLmgKQEAgLTMy
LDYgKzMyLDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogCiBzaXplX3Qgc2l6
ZU9mR2V0QnlJZCgpOwogc2l6ZV90IHNpemVPZlB1dEJ5SWQoKTsKK3NpemVfdCBzaXplT2ZDYWxs
KCk7CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpGVEwKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAppbmRleCA3ZjU2MGRkOTVhNWZi
ZWFjYjJiNjU1ZmJmNzE1ZWRjZGM4ZjJhYWU0Li5jNTBkOTRiNzEyYTRjYmY3NGI5Nzk1NGEwOTEz
OTYwNzE2NTEwYmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElu
dHJpbnNpY1JlcG9zaXRvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElu
dHJpbnNpY1JlcG9zaXRvcnkuaApAQCAtNDAsMTcgKzQwLDI1IEBAIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgRlRMIHsKICAgICBtYWNybyhhZGRXaXRoT3ZlcmZsb3czMiwgImxsdm0uc2FkZC53
aXRoLm92ZXJmbG93LmkzMiIsIGZ1bmN0aW9uVHlwZShzdHJ1Y3RUeXBlKG1fY29udGV4dCwgaW50
MzIsIGJvb2xlYW4pLCBpbnQzMiwgaW50MzIpKSBcCiAgICAgbWFjcm8oYWRkV2l0aE92ZXJmbG93
NjQsICJsbHZtLnNhZGQud2l0aC5vdmVyZmxvdy5pNjQiLCBmdW5jdGlvblR5cGUoc3RydWN0VHlw
ZShtX2NvbnRleHQsIGludDY0LCBib29sZWFuKSwgaW50NjQsIGludDY0KSkgXAogICAgIG1hY3Jv
KGRvdWJsZUFicywgImxsdm0uZmFicy5mNjQiLCBmdW5jdGlvblR5cGUoZG91YmxlVHlwZSwgZG91
YmxlVHlwZSkpIFwKKyAgICBtYWNybyhkb3VibGVTaW4sICJsbHZtLnNpbi5mNjQiLCBmdW5jdGlv
blR5cGUoZG91YmxlVHlwZSwgZG91YmxlVHlwZSkpIFwKKyAgICBtYWNybyhkb3VibGVDb3MsICJs
bHZtLmNvcy5mNjQiLCBmdW5jdGlvblR5cGUoZG91YmxlVHlwZSwgZG91YmxlVHlwZSkpIFwKKyAg
ICBtYWNybyhkb3VibGVTcXJ0LCAibGx2bS5zcXJ0LmY2NCIsIGZ1bmN0aW9uVHlwZShkb3VibGVU
eXBlLCBkb3VibGVUeXBlKSkgXAorICAgIG1hY3JvKGZyYW1lQWRkcmVzcywgImxsdm0uZnJhbWVh
ZGRyZXNzIiwgZnVuY3Rpb25UeXBlKHBvaW50ZXJUeXBlKGludDgpLCBpbnQzMikpIFwKICAgICBt
YWNybyhtdWxXaXRoT3ZlcmZsb3czMiwgImxsdm0uc211bC53aXRoLm92ZXJmbG93LmkzMiIsIGZ1
bmN0aW9uVHlwZShzdHJ1Y3RUeXBlKG1fY29udGV4dCwgaW50MzIsIGJvb2xlYW4pLCBpbnQzMiwg
aW50MzIpKSBcCiAgICAgbWFjcm8obXVsV2l0aE92ZXJmbG93NjQsICJsbHZtLnNtdWwud2l0aC5v
dmVyZmxvdy5pNjQiLCBmdW5jdGlvblR5cGUoc3RydWN0VHlwZShtX2NvbnRleHQsIGludDY0LCBi
b29sZWFuKSwgaW50NjQsIGludDY0KSkgXAotICAgIG1hY3JvKHBhdGNocG9pbnRJbnQ2NCwgImxs
dm0uZXhwZXJpbWVudGFsLnBhdGNocG9pbnQuaTY0IiwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnQz
MiwgaW50MzIsIHJlZjgsIGludDMyLCBWYXJpYWRpYykpIFwKLSAgICBtYWNybyhwYXRjaHBvaW50
Vm9pZCwgImxsdm0uZXhwZXJpbWVudGFsLnBhdGNocG9pbnQudm9pZCIsIGZ1bmN0aW9uVHlwZSh2
b2lkVHlwZSwgaW50MzIsIGludDMyLCByZWY4LCBpbnQzMiwgVmFyaWFkaWMpKSBcCi0gICAgbWFj
cm8oc3RhY2ttYXAsICJsbHZtLmV4cGVyaW1lbnRhbC5zdGFja21hcCIsIGZ1bmN0aW9uVHlwZSh2
b2lkVHlwZSwgaW50MzIsIGludDMyLCBWYXJpYWRpYykpIFwKKyAgICBtYWNybyhwYXRjaHBvaW50
SW50NjQsICJsbHZtLmV4cGVyaW1lbnRhbC5wYXRjaHBvaW50Lmk2NCIsIGZ1bmN0aW9uVHlwZShp
bnQ2NCwgaW50NjQsIGludDMyLCByZWY4LCBpbnQzMiwgVmFyaWFkaWMpKSBcCisgICAgbWFjcm8o
cGF0Y2hwb2ludFZvaWQsICJsbHZtLmV4cGVyaW1lbnRhbC5wYXRjaHBvaW50LnZvaWQiLCBmdW5j
dGlvblR5cGUodm9pZFR5cGUsIGludDY0LCBpbnQzMiwgcmVmOCwgaW50MzIsIFZhcmlhZGljKSkg
XAorICAgIG1hY3JvKHN0YWNrbWFwLCAibGx2bS5leHBlcmltZW50YWwuc3RhY2ttYXAiLCBmdW5j
dGlvblR5cGUodm9pZFR5cGUsIGludDY0LCBpbnQzMiwgVmFyaWFkaWMpKSBcCiAgICAgbWFjcm8o
c3ViV2l0aE92ZXJmbG93MzIsICJsbHZtLnNzdWIud2l0aC5vdmVyZmxvdy5pMzIiLCBmdW5jdGlv
blR5cGUoc3RydWN0VHlwZShtX2NvbnRleHQsIGludDMyLCBib29sZWFuKSwgaW50MzIsIGludDMy
KSkgXAogICAgIG1hY3JvKHN1YldpdGhPdmVyZmxvdzY0LCAibGx2bS5zc3ViLndpdGgub3ZlcmZs
b3cuaTY0IiwgZnVuY3Rpb25UeXBlKHN0cnVjdFR5cGUobV9jb250ZXh0LCBpbnQ2NCwgYm9vbGVh
biksIGludDY0LCBpbnQ2NCkpIFwKICAgICBtYWNybyh0cmFwLCAibGx2bS50cmFwIiwgZnVuY3Rp
b25UeXBlKHZvaWRUeXBlKSkgXAogICAgIG1hY3JvKHg4NlNTRTJDdnRUU0QyU0ksICJsbHZtLng4
Ni5zc2UyLmN2dHRzZDJzaSIsIGZ1bmN0aW9uVHlwZShpbnQzMiwgdmVjdG9yVHlwZShkb3VibGVU
eXBlLCAyKSkpCiAKICNkZWZpbmUgRk9SX0VBQ0hfRlVOQ1RJT05fVFlQRShtYWNybykgXAorICAg
IG1hY3JvKENfSklUT3BlcmF0aW9uX0VDLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGlu
dFB0cikpIFwKKyAgICBtYWNybyhDX0pJVE9wZXJhdGlvbl9FSiwgZnVuY3Rpb25UeXBlKGludFB0
ciwgaW50UHRyLCBpbnQ2NCkpIFwKKyAgICBtYWNybyhDX0pJVE9wZXJhdGlvbl9FSnNzSnNzLCBm
dW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAorICAgIG1hY3Jv
KENfSklUT3BlcmF0aW9uX0VKc3NKc3NKc3MsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwg
aW50UHRyLCBpbnRQdHIsIGludFB0cikpIFwKICAgICBtYWNybyhDX0pJVE9wZXJhdGlvbl9FU3Qs
IGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAogICAgIG1hY3JvKElfSklU
T3BlcmF0aW9uX0VKc3MsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAog
ICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0UsIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyKSkg
XApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRDb2RlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSklUQ29kZS5jcHAKaW5kZXggY2RjN2RlMGMz
NWYzNDk0ZWE1ZWFmOWU0Y2U4ZGFkYjJhM2RmMGMwYy4uZWRiYmIzMTVhMmEwN2VhOWRkNzU4NWU0
ZTRjOWQyY2Y1ZGZkZmE1NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExKSVRDb2RlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVENvZGUu
Y3BwCkBAIC01NCwyNyArNTQsMzUgQEAgdm9pZCBKSVRDb2RlOjphZGREYXRhU2VjdGlvbihSZWZD
b3VudGVkQXJyYXk8TFNlY3Rpb25Xb3JkPiBkYXRhU2VjdGlvbikKICAgICBtX2RhdGFTZWN0aW9u
cy5hcHBlbmQoZGF0YVNlY3Rpb24pOwogfQogCi12b2lkIEpJVENvZGU6OmluaXRpYWxpemVDb2Rl
KENvZGVSZWYgZW50cnlwb2ludCkKK3ZvaWQgSklUQ29kZTo6aW5pdGlhbGl6ZUFyaXR5Q2hlY2tF
bnRyeXBvaW50KENvZGVSZWYgZW50cnlwb2ludCkKIHsKLSAgICBtX2VudHJ5cG9pbnQgPSBlbnRy
eXBvaW50OworICAgIG1fYXJpdHlDaGVja0VudHJ5cG9pbnQgPSBlbnRyeXBvaW50OwogfQogCi1K
SVRDb2RlOjpDb2RlUHRyIEpJVENvZGU6OmFkZHJlc3NGb3JDYWxsKCkKK3ZvaWQgSklUQ29kZTo6
aW5pdGlhbGl6ZUFkZHJlc3NGb3JDYWxsKENvZGVQdHIgYWRkcmVzcykKIHsKLSAgICBSRUxFQVNF
X0FTU0VSVChtX2VudHJ5cG9pbnQpOwotICAgIHJldHVybiBtX2VudHJ5cG9pbnQuY29kZSgpOwor
ICAgIG1fYWRkcmVzc0ZvckNhbGwgPSBhZGRyZXNzOworfQorCitKSVRDb2RlOjpDb2RlUHRyIEpJ
VENvZGU6OmFkZHJlc3NGb3JDYWxsKFZNJiwgRXhlY3V0YWJsZUJhc2UqLCBBcml0eUNoZWNrTW9k
ZSBhcml0eUNoZWNrLCBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGUpCit7CisgICAgc3dpdGNoIChh
cml0eUNoZWNrKSB7CisgICAgY2FzZSBBcml0eUNoZWNrTm90UmVxdWlyZWQ6CisgICAgICAgIHJl
dHVybiBtX2FkZHJlc3NGb3JDYWxsOworICAgIGNhc2UgTXVzdENoZWNrQXJpdHk6CisgICAgICAg
IHJldHVybiBtX2FyaXR5Q2hlY2tFbnRyeXBvaW50LmNvZGUoKTsKKyAgICB9CisgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gQ29kZVB0cigpOwogfQogCiB2b2lk
KiBKSVRDb2RlOjpleGVjdXRhYmxlQWRkcmVzc0F0T2Zmc2V0KHNpemVfdCBvZmZzZXQpCiB7Ci0g
ICAgUkVMRUFTRV9BU1NFUlQobV9lbnRyeXBvaW50KTsKLSAgICByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdDxjaGFyKj4obV9lbnRyeXBvaW50LmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpKSArIG9m
ZnNldDsKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4obV9hZGRyZXNzRm9yQ2Fs
bC5leGVjdXRhYmxlQWRkcmVzcygpKSArIG9mZnNldDsKIH0KIAogdm9pZCogSklUQ29kZTo6ZGF0
YUFkZHJlc3NBdE9mZnNldChzaXplX3QpCiB7Ci0gICAgUkVMRUFTRV9BU1NFUlQobV9lbnRyeXBv
aW50KTsKLQogICAgIC8vIFdlIGNhbid0IHBhdGNoIEZUTCBjb2RlLCB5ZXQuIEV2ZW4gaWYgd2Ug
ZGlkLCBpdCdzIG5vdCBjbGVhciB0aGF0IHdlIHdvdWxkIGRvIHNvCiAgICAgLy8gdGhyb3VnaCB0
aGlzIEFQSS4KICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtODMsOCArOTEs
NiBAQCB2b2lkKiBKSVRDb2RlOjpkYXRhQWRkcmVzc0F0T2Zmc2V0KHNpemVfdCkKIAogdW5zaWdu
ZWQgSklUQ29kZTo6b2Zmc2V0T2Yodm9pZCopCiB7Ci0gICAgUkVMRUFTRV9BU1NFUlQobV9lbnRy
eXBvaW50KTsKLQogICAgIC8vIFdlIGN1cnJlbnRseSBkb24ndCBoYXZlIHZpc2liaWxpdHkgaW50
byB0aGUgRlRMIGNvZGUuCiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICBy
ZXR1cm4gMDsKQEAgLTkyLDggKzk4LDYgQEAgdW5zaWduZWQgSklUQ29kZTo6b2Zmc2V0T2Yodm9p
ZCopCiAKIHNpemVfdCBKSVRDb2RlOjpzaXplKCkKIHsKLSAgICBSRUxFQVNFX0FTU0VSVChtX2Vu
dHJ5cG9pbnQpOwotCiAgICAgLy8gV2UgZG9uJ3Qga25vdyB0aGUgc2l6ZSBvZiBGVEwgY29kZSwg
eWV0LiBNYWtlIGEgd2lsZCBndWVzcy4gVGhpcyBpcyBtb3N0bHkgdXNlZCBmb3IKICAgICAvLyBH
QyBsb2FkIGVzdGltYXRlcy4KICAgICByZXR1cm4gMTAwMDsKQEAgLTEwMSw4ICsxMDUsNiBAQCBz
aXplX3QgSklUQ29kZTo6c2l6ZSgpCiAKIGJvb2wgSklUQ29kZTo6Y29udGFpbnModm9pZCopCiB7
Ci0gICAgUkVMRUFTRV9BU1NFUlQobV9lbnRyeXBvaW50KTsKLQogICAgIC8vIFdlIGhhdmUgbm8g
aWRlYSB3aGF0IGFkZHJlc3NlcyB0aGUgRlRMIGNvZGUgY29udGFpbnMsIHlldC4KICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSklUQ29kZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExKSVRDb2RlLmgKaW5kZXggM2U3MjEzOTgzYjg1NTQzM2MwMjk4MmEzYzBj
NWJjMDYzYjM1MDIyMS4uNzEzMDQwMGI2NTU1Mjc1MzA1MWI4ZjZkMTRhMGViN2FhZDE0OWViNCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRDb2RlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRDb2RlLmgKQEAgLTMzLDYgKzMzLDcgQEAK
ICNpbmNsdWRlICJERkdDb21tb25EYXRhLmgiCiAjaW5jbHVkZSAiRlRMT1NSRXhpdC5oIgogI2lu
Y2x1ZGUgIkZUTFN0YWNrTWFwcy5oIgorI2luY2x1ZGUgIkZUTFVud2luZEluZm8uaCIKICNpbmNs
dWRlICJKSVRDb2RlLmgiCiAjaW5jbHVkZSAiTExWTUFQSS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkQXJyYXkuaD4KQEAgLTQ2LDE3ICs0NywxOCBAQCBwdWJsaWM6CiAgICAgSklUQ29kZSgp
OwogICAgIH5KSVRDb2RlKCk7CiAgICAgCi0gICAgQ29kZVB0ciBhZGRyZXNzRm9yQ2FsbCgpOwot
ICAgIHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzQXRPZmZzZXQoc2l6ZV90IG9mZnNldCk7Ci0gICAg
dm9pZCogZGF0YUFkZHJlc3NBdE9mZnNldChzaXplX3Qgb2Zmc2V0KTsKLSAgICB1bnNpZ25lZCBv
ZmZzZXRPZih2b2lkKiBwb2ludGVySW50b0NvZGUpOwotICAgIHNpemVfdCBzaXplKCk7Ci0gICAg
Ym9vbCBjb250YWlucyh2b2lkKik7CisgICAgQ29kZVB0ciBhZGRyZXNzRm9yQ2FsbChWTSYsIEV4
ZWN1dGFibGVCYXNlKiwgQXJpdHlDaGVja01vZGUsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZSkg
b3ZlcnJpZGU7CisgICAgdm9pZCogZXhlY3V0YWJsZUFkZHJlc3NBdE9mZnNldChzaXplX3Qgb2Zm
c2V0KSBvdmVycmlkZTsKKyAgICB2b2lkKiBkYXRhQWRkcmVzc0F0T2Zmc2V0KHNpemVfdCBvZmZz
ZXQpIG92ZXJyaWRlOworICAgIHVuc2lnbmVkIG9mZnNldE9mKHZvaWQqIHBvaW50ZXJJbnRvQ29k
ZSkgb3ZlcnJpZGU7CisgICAgc2l6ZV90IHNpemUoKSBvdmVycmlkZTsKKyAgICBib29sIGNvbnRh
aW5zKHZvaWQqKSBvdmVycmlkZTsKICAgICAKICAgICB2b2lkIGluaXRpYWxpemVFeGl0VGh1bmtz
KENvZGVSZWYpOwogICAgIHZvaWQgYWRkSGFuZGxlKFBhc3NSZWZQdHI8RXhlY3V0YWJsZU1lbW9y
eUhhbmRsZT4pOwogICAgIHZvaWQgYWRkRGF0YVNlY3Rpb24oUmVmQ291bnRlZEFycmF5PExTZWN0
aW9uV29yZD4pOwotICAgIHZvaWQgaW5pdGlhbGl6ZUNvZGUoQ29kZVJlZiBlbnRyeXBvaW50KTsK
KyAgICB2b2lkIGluaXRpYWxpemVBcml0eUNoZWNrRW50cnlwb2ludChDb2RlUmVmKTsKKyAgICB2
b2lkIGluaXRpYWxpemVBZGRyZXNzRm9yQ2FsbChDb2RlUHRyKTsKICAgICAKICAgICBjb25zdCBW
ZWN0b3I8UmVmUHRyPEV4ZWN1dGFibGVNZW1vcnlIYW5kbGU+PiYgaGFuZGxlcygpIGNvbnN0IHsg
cmV0dXJuIG1faGFuZGxlczsgfQogICAgIGNvbnN0IFZlY3RvcjxSZWZDb3VudGVkQXJyYXk8TFNl
Y3Rpb25Xb3JkPj4mIGRhdGFTZWN0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YVNlY3Rpb25z
OyB9CkBAIC02OSwxMSArNzEsMTMgQEAgcHVibGljOgogICAgIERGRzo6Q29tbW9uRGF0YSBjb21t
b247CiAgICAgU2VnbWVudGVkVmVjdG9yPE9TUkV4aXQsIDg+IG9zckV4aXQ7CiAgICAgU3RhY2tN
YXBzIHN0YWNrbWFwczsKKyAgICBVbndpbmRJbmZvIHVud2luZEluZm87CiAgICAgCiBwcml2YXRl
OgogICAgIFZlY3RvcjxSZWZDb3VudGVkQXJyYXk8TFNlY3Rpb25Xb3JkPj4gbV9kYXRhU2VjdGlv
bnM7CiAgICAgVmVjdG9yPFJlZlB0cjxFeGVjdXRhYmxlTWVtb3J5SGFuZGxlPj4gbV9oYW5kbGVz
OwotICAgIENvZGVSZWYgbV9lbnRyeXBvaW50OworICAgIENvZGVQdHIgbV9hZGRyZXNzRm9yQ2Fs
bDsKKyAgICBDb2RlUmVmIG1fYXJpdHlDaGVja0VudHJ5cG9pbnQ7CiAgICAgQ29kZVJlZiBtX2V4
aXRUaHVua3M7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TEpJVEZpbmFsaXplci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVEZpbmFs
aXplci5jcHAKaW5kZXggYThhOTliNjNhMzY0M2Q2MDE3NzZhNjg3NmE1ZTBmZTIzOTlkYTNmNC4u
NTBkNWVlMjgzYWMzNWVmYWMzMGZiMDgwOTI5ZDljZTFiNjllODYyNiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKSVRGaW5hbGl6ZXIuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMSklURmluYWxpemVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDUsNiArNDUsMjIgQEAgSklU
RmluYWxpemVyOjp+SklURmluYWxpemVyKCkKIHsKIH0KIAorc2l6ZV90IEpJVEZpbmFsaXplcjo6
Y29kZVNpemUoKQoreworICAgIHNpemVfdCByZXN1bHQgPSAwOworICAgIAorICAgIHJlc3VsdCAr
PSBleGl0VGh1bmtzTGlua0J1ZmZlci0+c2l6ZSgpOworICAgIHJlc3VsdCArPSBlbnRyeXBvaW50
TGlua0J1ZmZlci0+c2l6ZSgpOworICAgIGlmIChzaWRlQ29kZUxpbmtCdWZmZXIpCisgICAgICAg
IHJlc3VsdCArPSBzaWRlQ29kZUxpbmtCdWZmZXItPnNpemUoKTsKKyAgICByZXN1bHQgKz0gaGFu
ZGxlRXhjZXB0aW9uc0xpbmtCdWZmZXItPnNpemUoKTsKKyAgICAKKyAgICBmb3IgKHVuc2lnbmVk
IGkgPSBqaXRDb2RlLT5oYW5kbGVzKCkuc2l6ZSgpOyBpLS07KQorICAgICAgICByZXN1bHQgKz0g
aml0Q29kZS0+aGFuZGxlcygpW2ldLT5zaXplSW5CeXRlcygpOworICAgIAorICAgIHJldHVybiBy
ZXN1bHQ7Cit9CisKIGJvb2wgSklURmluYWxpemVyOjpmaW5hbGl6ZSgpCiB7CiAgICAgUkVMRUFT
RV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTczLDkgKzg5LDcgQEAgYm9vbCBKSVRGaW5hbGl6
ZXI6OmZpbmFsaXplRnVuY3Rpb24oKQogICAgICAgICAgICAgZXhpdFRodW5rc0xpbmtCdWZmZXIt
PmxpbmsoCiAgICAgICAgICAgICAgICAgaW5mby5tX3RodW5rSnVtcCwKICAgICAgICAgICAgICAg
ICBDb2RlTG9jYXRpb25MYWJlbCgKLSAgICAgICAgICAgICAgICAgICAgbV9wbGFuLnZtLmZ0bFRo
dW5rcy0+Z2V0T1NSRXhpdEdlbmVyYXRpb25UaHVuaygKLSAgICAgICAgICAgICAgICAgICAgICAg
IG1fcGxhbi52bSwgTG9jYXRpb246OmZvclN0YWNrbWFwcygKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAmaml0Q29kZS0+c3RhY2ttYXBzLCBpdGVyLT52YWx1ZS5sb2NhdGlvbnNbMF0pKS5j
b2RlKCkpKTsKKyAgICAgICAgICAgICAgICAgICAgbV9wbGFuLnZtLmdldENUSVN0dWIob3NyRXhp
dEdlbmVyYXRpb25UaHVua0dlbmVyYXRvcikuY29kZSgpKSk7CiAgICAgICAgIH0KICAgICAgICAg
CiAgICAgICAgIGppdENvZGUtPmluaXRpYWxpemVFeGl0VGh1bmtzKApAQCAtMTAyLDE1ICsxMTYs
MjYgQEAgYm9vbCBKSVRGaW5hbGl6ZXI6OmZpbmFsaXplRnVuY3Rpb24oKQogICAgICAgICAgICAg
LmV4ZWN1dGFibGVNZW1vcnkoKSk7CiAgICAgfQogICAgIAorICAgIGlmIChoYW5kbGVFeGNlcHRp
b25zTGlua0J1ZmZlcikgeworICAgICAgICBqaXRDb2RlLT5hZGRIYW5kbGUoRklOQUxJWkVfREZH
X0NPREUoCisgICAgICAgICAgICAqaGFuZGxlRXhjZXB0aW9uc0xpbmtCdWZmZXIsCisgICAgICAg
ICAgICAoIkZUTCBleGNlcHRpb24gaGFuZGxlciBmb3IgJXMiLAorICAgICAgICAgICAgICAgIHRv
Q1N0cmluZyhDb2RlQmxvY2tXaXRoSklUVHlwZShtX3BsYW4uY29kZUJsb2NrLmdldCgpLCBKSVRD
b2RlOjpGVExKSVQpKS5kYXRhKCkpKQorICAgICAgICAgICAgLmV4ZWN1dGFibGVNZW1vcnkoKSk7
CisgICAgfQorICAgIAogICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciB3aXRoQXJpdHlDaGVjazsK
ICAgICBpZiAoYXJpdHlDaGVjay5pc1NldCgpKQogICAgICAgICB3aXRoQXJpdHlDaGVjayA9IGVu
dHJ5cG9pbnRMaW5rQnVmZmVyLT5sb2NhdGlvbk9mKGFyaXR5Q2hlY2spOwotICAgIGppdENvZGUt
PmluaXRpYWxpemVDb2RlKAorICAgIGppdENvZGUtPmluaXRpYWxpemVBcml0eUNoZWNrRW50cnlw
b2ludCgKICAgICAgICAgRklOQUxJWkVfREZHX0NPREUoCiAgICAgICAgICAgICAqZW50cnlwb2lu
dExpbmtCdWZmZXIsCiAgICAgICAgICAgICAoIkZUTCBlbnRyeXBvaW50IHRodW5rIGZvciAlcyB3
aXRoIExMVk0gZ2VuZXJhdGVkIGNvZGUgYXQgJXAiLCB0b0NTdHJpbmcoQ29kZUJsb2NrV2l0aEpJ
VFR5cGUobV9wbGFuLmNvZGVCbG9jay5nZXQoKSwgSklUQ29kZTo6RlRMSklUKSkuZGF0YSgpLCBm
dW5jdGlvbikpKTsKICAgICAKLSAgICBtX3BsYW4uY29kZUJsb2NrLT5zZXRKSVRDb2RlKGppdENv
ZGUsIHdpdGhBcml0eUNoZWNrKTsKKyAgICBtX3BsYW4uY29kZUJsb2NrLT5zZXRKSVRDb2RlKGpp
dENvZGUpOworICAgIAorICAgIGlmIChtX3BsYW4uY29tcGlsYXRpb24pCisgICAgICAgIG1fcGxh
bi52bS5tX3BlckJ5dGVjb2RlUHJvZmlsZXItPmFkZENvbXBpbGF0aW9uKG1fcGxhbi5jb21waWxh
dGlvbik7CiAgICAgCiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTEpJVEZpbmFsaXplci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExKSVRGaW5hbGl6ZXIuaAppbmRleCBhN2VjZDk0ODYwNTJhZGUwMGYwNDA1ZDkwZDMw
MjMyMDVjNTRiYzM4Li5iYTQ0NTFlZDkwNzc1Yzc1ZDQ1ZDhjODE1NmQxZGFhZWZhYjMwMjQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpJVEZpbmFsaXplci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSklURmluYWxpemVyLmgKQEAgLTQ2LDEy
ICs0NiwxNCBAQCBwdWJsaWM6CiAgICAgSklURmluYWxpemVyKERGRzo6UGxhbiYpOwogICAgIHZp
cnR1YWwgfkpJVEZpbmFsaXplcigpOwogICAgIAotICAgIGJvb2wgZmluYWxpemUoKTsKLSAgICBi
b29sIGZpbmFsaXplRnVuY3Rpb24oKTsKKyAgICBzaXplX3QgY29kZVNpemUoKSBvdmVycmlkZTsK
KyAgICBib29sIGZpbmFsaXplKCkgb3ZlcnJpZGU7CisgICAgYm9vbCBmaW5hbGl6ZUZ1bmN0aW9u
KCkgb3ZlcnJpZGU7CiAKICAgICBPd25QdHI8TGlua0J1ZmZlcj4gZXhpdFRodW5rc0xpbmtCdWZm
ZXI7CiAgICAgT3duUHRyPExpbmtCdWZmZXI+IGVudHJ5cG9pbnRMaW5rQnVmZmVyOwogICAgIE93
blB0cjxMaW5rQnVmZmVyPiBzaWRlQ29kZUxpbmtCdWZmZXI7CisgICAgT3duUHRyPExpbmtCdWZm
ZXI+IGhhbmRsZUV4Y2VwdGlvbnNMaW5rQnVmZmVyOwogICAgIFZlY3RvcjxTbG93UGF0aENhbGw+
IHNsb3dQYXRoQ2FsbHM7IC8vIENhbGxzIGluc2lkZSB0aGUgc2lkZSBjb2RlLgogICAgIFZlY3Rv
cjxPU1JFeGl0Q29tcGlsYXRpb25JbmZvPiBvc3JFeGl0OwogICAgIE1hY3JvQXNzZW1ibGVyOjpM
YWJlbCBhcml0eUNoZWNrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExKU0NhbGwuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKU0NhbGwuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjllYTBiM2U2NmQ4ZmQwM2FjYTQzNzM1NDNkOThjMDYzMzQyZjdlZWYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEpTQ2FsbC5jcHAKQEAg
LTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRlRMSlNDYWxsLmgiCisKKyNpZiBF
TkFCTEUoRlRMX0pJVCkKKworI2luY2x1ZGUgIkRGR05vZGUuaCIKKworbmFtZXNwYWNlIEpTQyB7
IG5hbWVzcGFjZSBGVEwgeworCitKU0NhbGw6OkpTQ2FsbCh1bnNpZ25lZCBzdGFja21hcElELCBE
Rkc6Ok5vZGUqIG5vZGUpCisgICAgOiBtX3N0YWNrbWFwSUQoc3RhY2ttYXBJRCkKKyAgICAsIG1f
bm9kZShub2RlKQorICAgICwgbV9pbnN0cnVjdGlvbk9mZnNldCgwKQoreworfQorCit2b2lkIEpT
Q2FsbDo6ZW1pdChDQ2FsbEhlbHBlcnMmIGppdCkKK3sKKyAgICBDQ2FsbEhlbHBlcnM6Okp1bXAg
c2xvd1BhdGggPSBqaXQuYnJhbmNoUHRyV2l0aFBhdGNoKAorICAgICAgICBDQ2FsbEhlbHBlcnM6
Ok5vdEVxdWFsLCBHUFJJbmZvOjpyZWdUMCwgbV90YXJnZXRUb0NoZWNrLAorICAgICAgICBDQ2Fs
bEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoMCkpOworICAgIAorICAgIGppdC5sb2FkUHRyKAorICAg
ICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6cmVnVDAsIEpTRnVuY3Rpb246Om9m
ZnNldE9mU2NvcGVDaGFpbigpKSwKKyAgICAgICAgR1BSSW5mbzo6cmVnVDEpOworICAgIGppdC5z
dG9yZTY0KAorICAgICAgICBHUFJJbmZvOjpyZWdUMSwKKyAgICAgICAgQ0NhbGxIZWxwZXJzOjpB
ZGRyZXNzKAorICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3RlciwK
KyAgICAgICAgICAgIHNpemVvZihSZWdpc3RlcikgKiAoSlNTdGFjazo6U2NvcGVDaGFpbiAtIEpT
U3RhY2s6OkNhbGxlckZyYW1lQW5kUENTaXplKSkpOworICAgIAorICAgIG1fZmFzdENhbGwgPSBq
aXQubmVhckNhbGwoKTsKKyAgICBDQ2FsbEhlbHBlcnM6Okp1bXAgZG9uZSA9IGppdC5qdW1wKCk7
CisgICAgCisgICAgc2xvd1BhdGgubGluaygmaml0KTsKKyAgICBtX3Nsb3dDYWxsID0gaml0Lm5l
YXJDYWxsKCk7CisgICAgCisgICAgZG9uZS5saW5rKCZqaXQpOworfQorCit2b2lkIEpTQ2FsbDo6
bGluayhWTSYgdm0sIExpbmtCdWZmZXImIGxpbmtCdWZmZXIsIENhbGxMaW5rSW5mbyYgY2FsbElu
Zm8pCit7CisgICAgVGh1bmtHZW5lcmF0b3IgZ2VuZXJhdG9yID0gbGlua1RodW5rR2VuZXJhdG9y
Rm9yKAorICAgICAgICBtX25vZGUtPm9wKCkgPT0gREZHOjpDb25zdHJ1Y3QgPyBDb2RlRm9yQ29u
c3RydWN0IDogQ29kZUZvckNhbGwsCisgICAgICAgIE11c3RQcmVzZXJ2ZVJlZ2lzdGVycyk7Cisg
ICAgCisgICAgbGlua0J1ZmZlci5saW5rKAorICAgICAgICBtX3Nsb3dDYWxsLCBGdW5jdGlvblB0
cih2bS5nZXRDVElTdHViKGdlbmVyYXRvcikuY29kZSgpLmV4ZWN1dGFibGVBZGRyZXNzKCkpKTsK
KyAgICAKKyAgICBjYWxsSW5mby5pc0ZUTCA9IHRydWU7CisgICAgY2FsbEluZm8uY2FsbFR5cGUg
PSBtX25vZGUtPm9wKCkgPT0gREZHOjpDb25zdHJ1Y3QgPyBDYWxsTGlua0luZm86OkNvbnN0cnVj
dCA6IENhbGxMaW5rSW5mbzo6Q2FsbDsKKyAgICBjYWxsSW5mby5jb2RlT3JpZ2luID0gbV9ub2Rl
LT5jb2RlT3JpZ2luOworICAgIGNhbGxJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbiA9IGxpbmtCdWZm
ZXIubG9jYXRpb25PZk5lYXJDYWxsKG1fc2xvd0NhbGwpOworICAgIGNhbGxJbmZvLmhvdFBhdGhC
ZWdpbiA9IGxpbmtCdWZmZXIubG9jYXRpb25PZihtX3RhcmdldFRvQ2hlY2spOworICAgIGNhbGxJ
bmZvLmhvdFBhdGhPdGhlciA9IGxpbmtCdWZmZXIubG9jYXRpb25PZk5lYXJDYWxsKG1fZmFzdENh
bGwpOworICAgIGNhbGxJbmZvLmNhbGxlZUdQUiA9IEdQUkluZm86OnJlZ1QwOworfQorCit9IH0g
Ly8gbmFtZXNwYWNlIEpTQzo6RlRMCisKKyNlbmRpZiAvLyBFTkFCTEUoRlRMX0pJVCkKKwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExKU0NhbGwuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMSlNDYWxsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTExN2Y4YjI2MWUwNmE3
Nzc1NzNlYjE1MjM1MzE1NWJmMzhhMWI2OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMSlNDYWxsLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIEZUTEpTQ2FsbF9oCisj
ZGVmaW5lIEZUTEpTQ2FsbF9oCisKKyNpZiBFTkFCTEUoRlRMX0pJVCkKKworI2luY2x1ZGUgIkND
YWxsSGVscGVycy5oIgorI2luY2x1ZGUgIkNhbGxMaW5rSW5mby5oIgorI2luY2x1ZGUgIkNvZGVP
cmlnaW4uaCIKKyNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCisKK25hbWVzcGFjZSBKU0MgeworCitu
YW1lc3BhY2UgREZHIHsKK3N0cnVjdCBOb2RlOworfQorCituYW1lc3BhY2UgRlRMIHsKKworY2xh
c3MgSlNDYWxsIHsKK3B1YmxpYzoKKyAgICBKU0NhbGwodW5zaWduZWQgc3RhY2ttYXBJRCwgREZH
OjpOb2RlKik7CisgICAgCisgICAgdm9pZCBlbWl0KENDYWxsSGVscGVycyYpOworICAgIHZvaWQg
bGluayhWTSYsIExpbmtCdWZmZXImLCBDYWxsTGlua0luZm8mKTsKKyAgICAKKyAgICB1bnNpZ25l
ZCBzdGFja21hcElEKCkgY29uc3QgeyByZXR1cm4gbV9zdGFja21hcElEOyB9CisgICAgCisgICAg
Ym9vbCBvcGVyYXRvcjwoY29uc3QgSlNDYWxsJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAg
IHJldHVybiBtX2luc3RydWN0aW9uT2Zmc2V0IDwgb3RoZXIubV9pbnN0cnVjdGlvbk9mZnNldDsK
KyAgICB9CisgICAgCitwcml2YXRlOgorICAgIHVuc2lnbmVkIG1fc3RhY2ttYXBJRDsKKyAgICBE
Rkc6Ok5vZGUqIG1fbm9kZTsKKyAgICBDQ2FsbEhlbHBlcnM6OkRhdGFMYWJlbFB0ciBtX3Rhcmdl
dFRvQ2hlY2s7CisgICAgQ0NhbGxIZWxwZXJzOjpDYWxsIG1fZmFzdENhbGw7CisgICAgQ0NhbGxI
ZWxwZXJzOjpDYWxsIG1fc2xvd0NhbGw7CisKK3B1YmxpYzoKKyAgICB1aW50MzJfdCBtX2luc3Ry
dWN0aW9uT2Zmc2V0OworfTsKKworfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTAorCisjZW5kaWYg
Ly8gRU5BQkxFKEZUTF9KSVQpCisKKyNlbmRpZiAvLyBGVExKU0NhbGxfaAorCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExpbmsuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExMaW5rLmNwcAppbmRleCA4NTA1MGQxNTExNTBhOTY4ODg4MWIzMjlmYWZl
MDA2ODBiNmY0NzVkLi44ODAzOTFhYTE0ZDc2MTU3MGFlYTVkMjEyODg3NzExNTY3YjUwMjg4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExpbmsuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTGluay5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lm
IEVOQUJMRShGVExfSklUKQogCisjaW5jbHVkZSAiQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3Mu
aCIKICNpbmNsdWRlICJDQ2FsbEhlbHBlcnMuaCIKICNpbmNsdWRlICJDYWxsRnJhbWVJbmxpbmVz
LmgiCiAjaW5jbHVkZSAiQ29kZUJsb2NrV2l0aEpJVFR5cGUuaCIKQEAgLTM3LDEyMSArMzgsMTUw
IEBACiAjaW5jbHVkZSAiSklUU3R1YnMuaCIKICNpbmNsdWRlICJMTFZNQVBJLmgiCiAjaW5jbHVk
ZSAiTGlua0J1ZmZlci5oIgorI2luY2x1ZGUgIlByb2ZpbGVyQ29tcGlsYXRpb24uaCIKICNpbmNs
dWRlICJWaXJ0dWFsUmVnaXN0ZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwg
ewogCiB1c2luZyBuYW1lc3BhY2UgREZHOwogCi1zdGF0aWMgdm9pZCBjb21waWxlRW50cnkoQ0Nh
bGxIZWxwZXJzJiBqaXQpCi17Ci0gICAgaml0LnByZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVyQ2Fs
bChHUFJJbmZvOjpyZWdUMik7Ci0gICAgaml0LmVtaXRQdXRSZXR1cm5QQ1RvQ2FsbEZyYW1lSGVh
ZGVyKEdQUkluZm86OnJlZ1QyKTsKLSAgICBqaXQuZW1pdFB1dEltbWVkaWF0ZVRvQ2FsbEZyYW1l
SGVhZGVyKGppdC5jb2RlQmxvY2soKSwgSlNTdGFjazo6Q29kZUJsb2NrKTsKLX0KLQogdm9pZCBs
aW5rKFN0YXRlJiBzdGF0ZSkKIHsKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IHN0YXRlLmdy
YXBoLm1fY29kZUJsb2NrOworICAgIEdyYXBoJiBncmFwaCA9IHN0YXRlLmdyYXBoOworICAgIENv
ZGVCbG9jayogY29kZUJsb2NrID0gZ3JhcGgubV9jb2RlQmxvY2s7CisgICAgVk0mIHZtID0gZ3Jh
cGgubV92bTsKICAgICAKICAgICAvLyBMTFZNIHdpbGwgY3JlYXRlIGl0cyBvd24ganVtcCB0YWJs
ZXMgYXMgbmVlZGVkLgogICAgIGNvZGVCbG9jay0+Y2xlYXJTd2l0Y2hKdW1wVGFibGVzKCk7CiAg
ICAgCi0gICAgc3RhdGUuaml0Q29kZS0+Y29tbW9uLmZyYW1lUmVnaXN0ZXJDb3VudCA9IHN0YXRl
LmdyYXBoLmZyYW1lUmVnaXN0ZXJDb3VudCgpOwotICAgIHN0YXRlLmppdENvZGUtPmNvbW1vbi5y
ZXF1aXJlZFJlZ2lzdGVyQ291bnRGb3JFeGl0ID0gc3RhdGUuZ3JhcGgucmVxdWlyZWRSZWdpc3Rl
ckNvdW50Rm9yRXhpdCgpOworICAgIC8vIEZJWE1FOiBOZWVkIHRvIGtub3cgdGhlIHJlYWwgZnJh
bWUgcmVnaXN0ZXIgY291bnQuCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNTcyNworICAgIHN0YXRlLmppdENvZGUtPmNvbW1vbi5mcmFtZVJlZ2lzdGVy
Q291bnQgPSAxMDAwOworICAgIAorICAgIHN0YXRlLmppdENvZGUtPmNvbW1vbi5yZXF1aXJlZFJl
Z2lzdGVyQ291bnRGb3JFeGl0ID0gZ3JhcGgucmVxdWlyZWRSZWdpc3RlckNvdW50Rm9yRXhpdCgp
OwogICAgIAotICAgIGlmICghc3RhdGUuZ3JhcGgubV9pbmxpbmVDYWxsRnJhbWVzLT5pc0VtcHR5
KCkpCi0gICAgICAgIHN0YXRlLmppdENvZGUtPmNvbW1vbi5pbmxpbmVDYWxsRnJhbWVzID0gc3Rk
Ojptb3ZlKHN0YXRlLmdyYXBoLm1faW5saW5lQ2FsbEZyYW1lcyk7CisgICAgaWYgKCFncmFwaC5t
X2lubGluZUNhbGxGcmFtZXMtPmlzRW1wdHkoKSkKKyAgICAgICAgc3RhdGUuaml0Q29kZS0+Y29t
bW9uLmlubGluZUNhbGxGcmFtZXMgPSBzdGQ6Om1vdmUoZ3JhcGgubV9pbmxpbmVDYWxsRnJhbWVz
KTsKICAgICAKICAgICAvLyBDcmVhdGUgdGhlIGVudHJ5cG9pbnQuIE5vdGUgdGhhdCB3ZSB1c2Ug
dGhpcyBlbnRyeXBvaW50IHRvdGFsbHkgZGlmZmVyZW50bHkKICAgICAvLyBkZXBlbmRpbmcgb24g
d2hldGhlciB3ZSdyZSBkb2luZyBPU1IgZW50cnkgb3Igbm90LgotICAgIC8vIEZJWE1FOiBFeGNl
cHQgZm9yIE9TUiBlbnRyeSwgdGhpcyBpcyBhIHRvdGFsIGtsdWRnZSAtIExMVk0gc2hvdWxkIGp1
c3QgdXNlIG91cgotICAgIC8vIGNhbGxpbmcgY29udmVudGlvbi4KLSAgICAvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjIxCi0gICAgQ0NhbGxIZWxwZXJzIGpp
dCgmc3RhdGUuZ3JhcGgubV92bSwgY29kZUJsb2NrKTsKKyAgICBDQ2FsbEhlbHBlcnMgaml0KCZ2
bSwgY29kZUJsb2NrKTsKICAgICAKICAgICBPd25QdHI8TGlua0J1ZmZlcj4gbGlua0J1ZmZlcjsK
ICAgICBDQ2FsbEhlbHBlcnM6OkxhYmVsIGFyaXR5Q2hlY2s7Ci0gICAgc3dpdGNoIChzdGF0ZS5n
cmFwaC5tX3BsYW4ubW9kZSkgewotICAgIGNhc2UgRlRMTW9kZTogewotICAgICAgICBjb21waWxl
RW50cnkoaml0KTsKKworICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyBmcmFtZSA9IENDYWxsSGVs
cGVyczo6QWRkcmVzcygKKyAgICAgICAgQ0NhbGxIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3Rl
ciwgLXN0YXRpY19jYXN0PGludDMyX3Q+KHNpemVvZih2b2lkKikpKTsKICAgICAKLSAgICAgICAg
Ly8gVGhpcyBwYXJ0IGlzIG9ubHkgbmVjZXNzYXJ5IGZvciBmdW5jdGlvbnMuIFdlIGN1cnJlbnRs
eSBvbmx5IGNvbXBpbGUgZnVuY3Rpb25zLgorICAgIGlmIChQcm9maWxlcjo6Q29tcGlsYXRpb24q
IGNvbXBpbGF0aW9uID0gZ3JhcGguY29tcGlsYXRpb24oKSkgeworICAgICAgICBjb21waWxhdGlv
bi0+YWRkRGVzY3JpcHRpb24oCisgICAgICAgICAgICBQcm9maWxlcjo6T3JpZ2luU3RhY2soKSwK
KyAgICAgICAgICAgIHRvQ1N0cmluZygiR2VuZXJhdGVkIEZUTCBKSVQgY29kZSBmb3IgIiwgQ29k
ZUJsb2NrV2l0aEpJVFR5cGUoY29kZUJsb2NrLCBKSVRDb2RlOjpGVExKSVQpLCAiLCBpbnN0cnVj
dGlvbiBjb3VudCA9ICIsIGdyYXBoLm1fY29kZUJsb2NrLT5pbnN0cnVjdGlvbkNvdW50KCksICI6
XG4iKSk7CiAgICAgICAgIAotICAgICAgICBDQ2FsbEhlbHBlcnM6OkxhYmVsIGZyb21Bcml0eUNo
ZWNrID0gaml0LmxhYmVsKCk7CisgICAgICAgIGdyYXBoLm1fZG9taW5hdG9ycy5jb21wdXRlSWZO
ZWNlc3NhcnkoZ3JhcGgpOworICAgICAgICBncmFwaC5tX25hdHVyYWxMb29wcy5jb21wdXRlSWZO
ZWNlc3NhcnkoZ3JhcGgpOwogICAgICAgICAKLSAgICAgICAgLy8gUGxhbnQgYSBjaGVjayB0aGF0
IHN1ZmZpY2llbnQgc3BhY2UgaXMgYXZhaWxhYmxlIGluIHRoZSBKU1N0YWNrLgotICAgICAgICAv
LyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2MjkxCi0g
ICAgICAgIGppdC5hZGRQdHIoCi0gICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0z
Mih2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChzdGF0ZS5qaXRDb2RlLT5jb21tb24ucmVxdWlyZWRS
ZWdpc3RlckNvdW50Rm9yRXhpdCkub2Zmc2V0KCkgKiBzaXplb2YoUmVnaXN0ZXIpKSwKLSAgICAg
ICAgICAgIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJbmZvOjpyZWdUMSk7Ci0gICAg
ICAgIENDYWxsSGVscGVyczo6SnVtcCBzdGFja0NoZWNrID0gaml0LmJyYW5jaFB0cigKLSAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6QWJvdmUsCi0gICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OkFi
c29sdXRlQWRkcmVzcyhzdGF0ZS5ncmFwaC5tX3ZtLmFkZHJlc3NPZkpTU3RhY2tMaW1pdCgpKSwK
LSAgICAgICAgICAgIEdQUkluZm86OnJlZ1QxKTsKLSAgICAgICAgQ0NhbGxIZWxwZXJzOjpMYWJl
bCBmcm9tU3RhY2tDaGVjayA9IGppdC5sYWJlbCgpOworICAgICAgICBjb25zdCBjaGFyKiBwcmVm
aXggPSAiICAgICI7CiAgICAgICAgIAotICAgICAgICBqaXQuc2V0dXBBcmd1bWVudHNFeGVjU3Rh
dGUoKTsKLSAgICAgICAgaml0Lm1vdmUoCi0gICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0
ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oc3RhdGUuZ2VuZXJhdGVkRnVuY3Rpb24p
KSwKLSAgICAgICAgICAgIEdQUkluZm86Om5vbkFyZ0dQUjApOwotICAgICAgICBqaXQuY2FsbChH
UFJJbmZvOjpub25BcmdHUFIwKTsKLSAgICAgICAgaml0LmVtaXRHZXRSZXR1cm5QQ0Zyb21DYWxs
RnJhbWVIZWFkZXJQdHIoR1BSSW5mbzo6cmVnVDEpOwotICAgICAgICBqaXQuZW1pdEdldENhbGxl
ckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRlclB0cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7
Ci0gICAgICAgIGppdC5yZXN0b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybihHUFJJbmZvOjpy
ZWdUMSk7Ci0gICAgICAgIGppdC5yZXQoKTsKKyAgICAgICAgRHVtcENvbnRleHQgZHVtcENvbnRl
eHQ7CisgICAgICAgIFN0cmluZ1ByaW50U3RyZWFtIG91dDsKKyAgICAgICAgTm9kZSogbGFzdE5v
ZGUgPSAwOworICAgICAgICBmb3IgKHNpemVfdCBibG9ja0luZGV4ID0gMDsgYmxvY2tJbmRleCA8
IGdyYXBoLm51bUJsb2NrcygpOyArK2Jsb2NrSW5kZXgpIHsKKyAgICAgICAgICAgIEJhc2ljQmxv
Y2sqIGJsb2NrID0gZ3JhcGguYmxvY2soYmxvY2tJbmRleCk7CisgICAgICAgICAgICBpZiAoIWJs
b2NrKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgCisgICAgICAgICAg
ICBncmFwaC5kdW1wQmxvY2tIZWFkZXIob3V0LCBwcmVmaXgsIGJsb2NrLCBHcmFwaDo6RHVtcExp
dmVQaGlzT25seSwgJmR1bXBDb250ZXh0KTsKKyAgICAgICAgICAgIGNvbXBpbGF0aW9uLT5hZGRE
ZXNjcmlwdGlvbihQcm9maWxlcjo6T3JpZ2luU3RhY2soKSwgb3V0LnRvQ1N0cmluZygpKTsKKyAg
ICAgICAgICAgIG91dC5yZXNldCgpOworICAgICAgICAgICAgCisgICAgICAgICAgICBmb3IgKHNp
emVfdCBub2RlSW5kZXggPSAwOyBub2RlSW5kZXggPCBibG9jay0+c2l6ZSgpOyArK25vZGVJbmRl
eCkgeworICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+YXQobm9kZUluZGV4KTsK
KyAgICAgICAgICAgICAgICBpZiAoIW5vZGUtPndpbGxIYXZlQ29kZUdlbk9yT1NSKCkgJiYgIU9w
dGlvbnM6OnNob3dBbGxERkdOb2RlcygpKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBQcm9maWxlcjo6T3JpZ2luU3RhY2sg
c3RhY2s7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKG5vZGUtPmNvZGVP
cmlnaW4uaXNTZXQoKSkgeworICAgICAgICAgICAgICAgICAgICBzdGFjayA9IFByb2ZpbGVyOjpP
cmlnaW5TdGFjaygKKyAgICAgICAgICAgICAgICAgICAgICAgICp2bS5tX3BlckJ5dGVjb2RlUHJv
ZmlsZXIsIGNvZGVCbG9jaywgbm9kZS0+Y29kZU9yaWdpbik7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlmIChncmFwaC5kdW1wQ29kZU9yaWdp
bihvdXQsIHByZWZpeCwgbGFzdE5vZGUsIG5vZGUsICZkdW1wQ29udGV4dCkpIHsKKyAgICAgICAg
ICAgICAgICAgICAgY29tcGlsYXRpb24tPmFkZERlc2NyaXB0aW9uKHN0YWNrLCBvdXQudG9DU3Ry
aW5nKCkpOworICAgICAgICAgICAgICAgICAgICBvdXQucmVzZXQoKTsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgZ3JhcGguZHVtcChvdXQsIHBy
ZWZpeCwgbm9kZSwgJmR1bXBDb250ZXh0KTsKKyAgICAgICAgICAgICAgICBjb21waWxhdGlvbi0+
YWRkRGVzY3JpcHRpb24oc3RhY2ssIG91dC50b0NTdHJpbmcoKSk7CisgICAgICAgICAgICAgICAg
b3V0LnJlc2V0KCk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKG5vZGUt
PmNvZGVPcmlnaW4uaXNTZXQoKSkKKyAgICAgICAgICAgICAgICAgICAgbGFzdE5vZGUgPSBub2Rl
OworICAgICAgICAgICAgfQorICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBzdGFja0NoZWNr
LmxpbmsoJmppdCk7Ci0gICAgICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0
cihjb2RlQmxvY2spLCBHUFJJbmZvOjphcmd1bWVudEdQUjEpOwotICAgICAgICBqaXQubW92ZShH
UFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKLSAgICAg
ICAgaml0LnN0b3JlMzIoCi0gICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihD
YWxsRnJhbWU6OkxvY2F0aW9uOjplbmNvZGVBc0J5dGVjb2RlT2Zmc2V0KDApKSwKLSAgICAgICAg
ICAgIENDYWxsSGVscGVyczo6dGFnRm9yKHN0YXRpY19jYXN0PFZpcnR1YWxSZWdpc3Rlcj4oSlNT
dGFjazo6QXJndW1lbnRDb3VudCkpKTsKLSAgICAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OmNh
bGxGcmFtZVJlZ2lzdGVyLCAmc3RhdGUuZ3JhcGgubV92bS50b3BDYWxsRnJhbWUpOwotICAgICAg
ICBDQ2FsbEhlbHBlcnM6OkNhbGwgY2FsbFN0YWNrQ2hlY2sgPSBqaXQuY2FsbCgpOwotI2lmICFB
U1NFUlRfRElTQUJMRUQKLSAgICAgICAgLy8gRklYTUU6IG5lZWQgdG8gbWFrZSB0aGlzIGNhbGwg
cmVnaXN0ZXIgd2l0aCBleGNlcHRpb24gaGFuZGxpbmcgc29tZWhvdy4gVGhpcyBpcwotICAgICAg
ICAvLyBwYXJ0IG9mIGEgYmlnZ2VyIHByb2JsZW06IEZUTCBzaG91bGQgYmUgYWJsZSB0byBoYW5k
bGUgZXhjZXB0aW9ucy4KLSAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMzYyMgotICAgICAgICAvLyBVbnRpbCB0aGVuLCB1c2UgYSBKSVQgQVNTRVJU
LgotICAgICAgICBqaXQubG9hZDY0KHN0YXRlLmdyYXBoLm1fdm0uYWRkcmVzc09mRXhjZXB0aW9u
KCksIEdQUkluZm86OnJlZ1QwKTsKLSAgICAgICAgaml0LmppdEFzc2VydElzTnVsbChHUFJJbmZv
OjpyZWdUMCk7Ci0jZW5kaWYKLSAgICAgICAgaml0Lmp1bXAoZnJvbVN0YWNrQ2hlY2spOworICAg
ICAgICBkdW1wQ29udGV4dC5kdW1wKG91dCwgcHJlZml4KTsKKyAgICAgICAgY29tcGlsYXRpb24t
PmFkZERlc2NyaXB0aW9uKFByb2ZpbGVyOjpPcmlnaW5TdGFjaygpLCBvdXQudG9DU3RyaW5nKCkp
OworICAgICAgICBvdXQucmVzZXQoKTsKICAgICAgICAgCi0gICAgICAgIGFyaXR5Q2hlY2sgPSBq
aXQubGFiZWwoKTsKLSAgICAgICAgY29tcGlsZUVudHJ5KGppdCk7CisgICAgICAgIG91dC5wcmlu
dCgiICAgIERpc2Fzc2VtYmx5OlxuIik7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBzdGF0ZS5qaXRDb2RlLT5oYW5kbGVzKCkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGlm
IChzdGF0ZS5jb2RlU2VjdGlvbk5hbWVzW2ldICE9ICJfX3RleHQiKQorICAgICAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgRXhlY3V0YWJsZU1lbW9y
eUhhbmRsZSogaGFuZGxlID0gc3RhdGUuaml0Q29kZS0+aGFuZGxlcygpW2ldLmdldCgpOworICAg
ICAgICAgICAgICAgIGRpc2Fzc2VtYmxlKAorICAgICAgICAgICAgICAgICAgICBNYWNyb0Fzc2Vt
YmxlckNvZGVQdHIoaGFuZGxlLT5zdGFydCgpKSwgaGFuZGxlLT5zaXplSW5CeXRlcygpLAorICAg
ICAgICAgICAgICAgICAgICAiICAgICAgIiwgb3V0LCBMTFZNU3Vic2V0KTsKKyAgICAgICAgfQor
ICAgICAgICBjb21waWxhdGlvbi0+YWRkRGVzY3JpcHRpb24oUHJvZmlsZXI6Ok9yaWdpblN0YWNr
KCksIG91dC50b0NTdHJpbmcoKSk7CisgICAgICAgIG91dC5yZXNldCgpOworICAgICAgICAKKyAg
ICAgICAgc3RhdGUuaml0Q29kZS0+Y29tbW9uLmNvbXBpbGF0aW9uID0gY29tcGlsYXRpb247Cisg
ICAgfQorICAgIAorICAgIHN3aXRjaCAoZ3JhcGgubV9wbGFuLm1vZGUpIHsKKyAgICBjYXNlIEZU
TE1vZGU6IHsKKyAgICAgICAgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCBtYWluUGF0aEp1bXBzOwor
ICAgIAogICAgICAgICBqaXQubG9hZDMyKAotICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpwYXls
b2FkRm9yKHN0YXRpY19jYXN0PFZpcnR1YWxSZWdpc3Rlcj4oSlNTdGFjazo6QXJndW1lbnRDb3Vu
dCkpLAorICAgICAgICAgICAgZnJhbWUud2l0aE9mZnNldChzaXplb2YoUmVnaXN0ZXIpICogSlNT
dGFjazo6QXJndW1lbnRDb3VudCksCiAgICAgICAgICAgICBHUFJJbmZvOjpyZWdUMSk7Ci0gICAg
ICAgIGppdC5icmFuY2gzMigKKyAgICAgICAgbWFpblBhdGhKdW1wcy5hcHBlbmQoaml0LmJyYW5j
aDMyKAogICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBYm92ZU9yRXF1YWwsIEdQUkluZm86OnJl
Z1QxLAotICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoY29kZUJsb2NrLT5u
dW1QYXJhbWV0ZXJzKCkpKQotICAgICAgICAgICAgLmxpbmtUbyhmcm9tQXJpdHlDaGVjaywgJmpp
dCk7CisgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihjb2RlQmxvY2stPm51
bVBhcmFtZXRlcnMoKSkpKTsKKyAgICAgICAgaml0LmVtaXRGdW5jdGlvblByb2xvZ3VlKCk7CiAg
ICAgICAgIGppdC5tb3ZlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJbmZvOjphcmd1
bWVudEdQUjApOwogICAgICAgICBqaXQuc3RvcmUzMigKICAgICAgICAgICAgIENDYWxsSGVscGVy
czo6VHJ1c3RlZEltbTMyKENhbGxGcmFtZTo6TG9jYXRpb246OmVuY29kZUFzQnl0ZWNvZGVPZmZz
ZXQoMCkpLAotICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjp0YWdGb3Ioc3RhdGljX2Nhc3Q8Vmly
dHVhbFJlZ2lzdGVyPihKU1N0YWNrOjpBcmd1bWVudENvdW50KSkpOwotICAgICAgICBqaXQuc3Rv
cmVQdHIoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsICZzdGF0ZS5ncmFwaC5tX3ZtLnRvcENh
bGxGcmFtZSk7CisgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6OnRhZ0ZvcihKU1N0YWNrOjpBcmd1
bWVudENvdW50KSk7CisgICAgICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdp
c3RlciwgJnZtLnRvcENhbGxGcmFtZSk7CiAgICAgICAgIENDYWxsSGVscGVyczo6Q2FsbCBjYWxs
QXJpdHlDaGVjayA9IGppdC5jYWxsKCk7CiAjaWYgIUFTU0VSVF9ESVNBQkxFRAogICAgICAgICAv
LyBGSVhNRTogbmVlZCB0byBtYWtlIHRoaXMgY2FsbCByZWdpc3RlciB3aXRoIGV4Y2VwdGlvbiBo
YW5kbGluZyBzb21laG93LiBUaGlzIGlzCiAgICAgICAgIC8vIHBhcnQgb2YgYSBiaWdnZXIgcHJv
YmxlbTogRlRMIHNob3VsZCBiZSBhYmxlIHRvIGhhbmRsZSBleGNlcHRpb25zLgogICAgICAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjIyCiAgICAgICAg
IC8vIFVudGlsIHRoZW4sIHVzZSBhIEpJVCBBU1NFUlQuCi0gICAgICAgIGppdC5sb2FkNjQoc3Rh
dGUuZ3JhcGgubV92bS5hZGRyZXNzT2ZFeGNlcHRpb24oKSwgR1BSSW5mbzo6cmVnVDEpOworICAg
ICAgICBqaXQubG9hZDY0KHZtLmFkZHJlc3NPZkV4Y2VwdGlvbigpLCBHUFJJbmZvOjpyZWdUMSk7
CiAgICAgICAgIGppdC5qaXRBc3NlcnRJc051bGwoR1BSSW5mbzo6cmVnVDEpOwogI2VuZGlmCi0g
ICAgICAgIGlmIChHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiAhPSBHUFJJbmZvOjpyZWdUMCkKLSAg
ICAgICAgICAgIGppdC5tb3ZlKEdQUkluZm86OnJldHVyblZhbHVlR1BSLCBHUFJJbmZvOjpyZWdU
MCk7Ci0gICAgICAgIGppdC5icmFuY2hUZXN0MzIoQ0NhbGxIZWxwZXJzOjpaZXJvLCBHUFJJbmZv
OjpyZWdUMCkubGlua1RvKGZyb21Bcml0eUNoZWNrLCAmaml0KTsKKyAgICAgICAgaml0Lm1vdmUo
R1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIsIEdQUkluZm86OnJlZ1QwKTsKKyAgICAgICAgaml0LmVt
aXRGdW5jdGlvbkVwaWxvZ3VlKCk7CisgICAgICAgIG1haW5QYXRoSnVtcHMuYXBwZW5kKGppdC5i
cmFuY2hUZXN0MzIoQ0NhbGxIZWxwZXJzOjpaZXJvLCBHUFJJbmZvOjpyZWdUMCkpOworICAgICAg
ICBqaXQuZW1pdEZ1bmN0aW9uUHJvbG9ndWUoKTsKKyAgICAgICAgaml0Lm1vdmUoQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tUHRyKHZtLmFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLT5yZXR1cm5Q
Q3NGb3Iodm0sIGNvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpKSksIEdQUkluZm86OnJlZ1Q1KTsK
KyAgICAgICAgaml0LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpCYXNlSW5kZXgoR1BSSW5mbzo6cmVn
VDUsIEdQUkluZm86OnJlZ1QwLCBDQ2FsbEhlbHBlcnM6OnRpbWVzUHRyKCkpLCBHUFJJbmZvOjpy
ZWdUNSk7CiAgICAgICAgIENDYWxsSGVscGVyczo6Q2FsbCBjYWxsQXJpdHlGaXh1cCA9IGppdC5j
YWxsKCk7Ci0gICAgICAgIGppdC5qdW1wKGZyb21Bcml0eUNoZWNrKTsKLSAgICAgICAgCi0gICAg
ICAgIGxpbmtCdWZmZXIgPSBhZG9wdFB0cihuZXcgTGlua0J1ZmZlcihzdGF0ZS5ncmFwaC5tX3Zt
LCAmaml0LCBjb2RlQmxvY2ssIEpJVENvbXBpbGF0aW9uTXVzdFN1Y2NlZWQpKTsKLSAgICAgICAg
bGlua0J1ZmZlci0+bGluayhjYWxsU3RhY2tDaGVjaywgb3BlcmF0aW9uU3RhY2tDaGVjayk7Cisg
ICAgICAgIGppdC5lbWl0RnVuY3Rpb25FcGlsb2d1ZSgpOworICAgICAgICBtYWluUGF0aEp1bXBz
LmFwcGVuZChqaXQuanVtcCgpKTsKKworICAgICAgICBsaW5rQnVmZmVyID0gYWRvcHRQdHIobmV3
IExpbmtCdWZmZXIodm0sICZqaXQsIGNvZGVCbG9jaywgSklUQ29tcGlsYXRpb25NdXN0U3VjY2Vl
ZCkpOwogICAgICAgICBsaW5rQnVmZmVyLT5saW5rKGNhbGxBcml0eUNoZWNrLCBjb2RlQmxvY2st
Pm1faXNDb25zdHJ1Y3RvciA/IG9wZXJhdGlvbkNvbnN0cnVjdEFyaXR5Q2hlY2sgOiBvcGVyYXRp
b25DYWxsQXJpdHlDaGVjayk7Ci0gICAgICAgIGxpbmtCdWZmZXItPmxpbmsoY2FsbEFyaXR5Rml4
dXAsIEZ1bmN0aW9uUHRyKChzdGF0ZS5ncmFwaC5tX3ZtLmdldENUSVN0dWIoYXJpdHlGaXh1cCkp
LmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpKSk7CisgICAgICAgIGxpbmtCdWZmZXItPmxpbmso
Y2FsbEFyaXR5Rml4dXAsIEZ1bmN0aW9uUHRyKCh2bS5nZXRDVElTdHViKGFyaXR5Rml4dXApKS5j
b2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSkpOworICAgICAgICBsaW5rQnVmZmVyLT5saW5rKG1h
aW5QYXRoSnVtcHMsIENvZGVMb2NhdGlvbkxhYmVsKGJpdHdpc2VfY2FzdDx2b2lkKj4oc3RhdGUu
Z2VuZXJhdGVkRnVuY3Rpb24pKSk7CisKKyAgICAgICAgc3RhdGUuaml0Q29kZS0+aW5pdGlhbGl6
ZUFkZHJlc3NGb3JDYWxsKE1hY3JvQXNzZW1ibGVyQ29kZVB0cihiaXR3aXNlX2Nhc3Q8dm9pZCo+
KHN0YXRlLmdlbmVyYXRlZEZ1bmN0aW9uKSkpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAg
ICAgIApAQCAtMTYwLDE4ICsxOTAsMTQgQEAgdm9pZCBsaW5rKFN0YXRlJiBzdGF0ZSkKICAgICAg
ICAgLy8gdmFsdWVzIGludG8gdGhlIHNjcmF0Y2ggYnVmZmVyLiBFdmVyeXRoaW5nIHNob3VsZCBi
ZSBnb29kIHRvIGdvIC0gYXQgdGhpcwogICAgICAgICAvLyBwb2ludCB3ZSd2ZSBldmVuIGRvbmUg
dGhlIHN0YWNrIGNoZWNrLiBCYXNpY2FsbHkgd2UganVzdCBoYXZlIHRvIG1ha2UgdGhlCiAgICAg
ICAgIC8vIGNhbGwgdG8gdGhlIExMVk0tZ2VuZXJhdGVkIGNvZGUuCi0gICAgICAgIGppdC5zZXR1
cEFyZ3VtZW50c0V4ZWNTdGF0ZSgpOwotICAgICAgICBqaXQubW92ZSgKLSAgICAgICAgICAgIEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZvaWQqPihzdGF0ZS5n
ZW5lcmF0ZWRGdW5jdGlvbikpLAotICAgICAgICAgICAgR1BSSW5mbzo6bm9uQXJnR1BSMCk7Ci0g
ICAgICAgIGppdC5jYWxsKEdQUkluZm86Om5vbkFyZ0dQUjApOwotICAgICAgICBqaXQuZW1pdEdl
dFJldHVyblBDRnJvbUNhbGxGcmFtZUhlYWRlclB0cihHUFJJbmZvOjpyZWdUMSk7Ci0gICAgICAg
IGppdC5lbWl0R2V0Q2FsbGVyRnJhbWVGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEdQUkluZm86OmNh
bGxGcmFtZVJlZ2lzdGVyKTsKLSAgICAgICAgaml0LnJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3Jl
UmV0dXJuKEdQUkluZm86OnJlZ1QxKTsKLSAgICAgICAgaml0LnJldCgpOworICAgICAgICBDQ2Fs
bEhlbHBlcnM6OkxhYmVsIHN0YXJ0ID0gaml0LmxhYmVsKCk7CisgICAgICAgIGppdC5lbWl0RnVu
Y3Rpb25FcGlsb2d1ZSgpOworICAgICAgICBDQ2FsbEhlbHBlcnM6Okp1bXAgbWFpblBhdGhKdW1w
ID0gaml0Lmp1bXAoKTsKICAgICAgICAgCi0gICAgICAgIGxpbmtCdWZmZXIgPSBhZG9wdFB0cihu
ZXcgTGlua0J1ZmZlcigKLSAgICAgICAgICAgIHN0YXRlLmdyYXBoLm1fdm0sICZqaXQsIGNvZGVC
bG9jaywgSklUQ29tcGlsYXRpb25NdXN0U3VjY2VlZCkpOworICAgICAgICBsaW5rQnVmZmVyID0g
YWRvcHRQdHIobmV3IExpbmtCdWZmZXIodm0sICZqaXQsIGNvZGVCbG9jaywgSklUQ29tcGlsYXRp
b25NdXN0U3VjY2VlZCkpOworICAgICAgICBsaW5rQnVmZmVyLT5saW5rKG1haW5QYXRoSnVtcCwg
Q29kZUxvY2F0aW9uTGFiZWwoYml0d2lzZV9jYXN0PHZvaWQqPihzdGF0ZS5nZW5lcmF0ZWRGdW5j
dGlvbikpKTsKKworICAgICAgICBzdGF0ZS5qaXRDb2RlLT5pbml0aWFsaXplQWRkcmVzc0ZvckNh
bGwobGlua0J1ZmZlci0+bG9jYXRpb25PZihzdGFydCkpOwogICAgICAgICBicmVhazsKICAgICB9
CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvTExWTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9M
TFZNLmNwcAppbmRleCBiZTJhNDBjN2RkYzg3OWE4MDg1ZDBiMzhiMWZkOThkMzZmN2YxMWQzLi5j
NTc5NjlkN2E3MmNlNjA0YmQ3ZTNkM2E0OTUzNzU4MTMwYjFmOTY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzIsNiArMzIsNyBAQAog
I2luY2x1ZGUgIkRGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgiCiAjaW5jbHVkZSAiREZH
SW5QbGFjZUFic3RyYWN0U3RhdGUuaCIKICNpbmNsdWRlICJGVExBYnN0cmFjdEhlYXBSZXBvc2l0
b3J5LmgiCisjaW5jbHVkZSAiRlRMQXZhaWxhYmxlUmVjb3ZlcnkuaCIKICNpbmNsdWRlICJGVExG
b3JPU1JFbnRyeUpJVENvZGUuaCIKICNpbmNsdWRlICJGVExGb3JtYXR0ZWRWYWx1ZS5oIgogI2lu
Y2x1ZGUgIkZUTElubGluZUNhY2hlU2l6ZS5oIgpAQCAtNTEsNiArNTIsMTAgQEAgdXNpbmcgbmFt
ZXNwYWNlIERGRzsKIAogc3RhdGljIHN0ZDo6YXRvbWljPGludD4gY29tcGlsZUNvdW50ZXI7CiAK
Ky8vIEZJWE1FOiBHZXQgcmlkIG9mIHRoaXMgYW5kIGludHJvZHVjZSBhIHJlYWwgc3RhY2sgY2hl
Y2suCisvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1NjUwCitz
dGF0aWMgdWludHB0cl90IHN0YWNrTGltaXQ7CisKIC8vIFVzaW5nIHRoaXMgaW5zdGVhZCBvZiB0
eXBlQ2hlY2soKSBoZWxwcyB0byByZWR1Y2UgdGhlIGxvYWQgb24gTExWTSwgYnkgY3JlYXRpbmcK
IC8vIHNpZ25pZmljYW50bHkgbGVzcyBkZWFkIGNvZGUuCiAjZGVmaW5lIEZUTF9UWVBFX0NIRUNL
KGxvd1ZhbHVlLCBoaWdoVmFsdWUsIHR5cGVzUGFzc2VkVGhyb3VnaCwgZmFpbENvbmRpdGlvbikg
ZG8geyBcCkBAIC05MiwxOSArOTcsMjAgQEAgcHVibGljOgogICAgICAgICAgICAgbGx2bS0+TW9k
dWxlQ3JlYXRlV2l0aE5hbWVJbkNvbnRleHQobmFtZS5kYXRhKCksIG1fZnRsU3RhdGUuY29udGV4
dCk7CiAgICAgICAgIAogICAgICAgICBtX2Z0bFN0YXRlLmZ1bmN0aW9uID0gYWRkRnVuY3Rpb24o
Ci0gICAgICAgICAgICBtX2Z0bFN0YXRlLm1vZHVsZSwgbmFtZS5kYXRhKCksIGZ1bmN0aW9uVHlw
ZShtX291dC5pbnQ2NCwgbV9vdXQuaW50UHRyKSk7CisgICAgICAgICAgICBtX2Z0bFN0YXRlLm1v
ZHVsZSwgbmFtZS5kYXRhKCksIGZ1bmN0aW9uVHlwZShtX291dC5pbnQ2NCkpOwogICAgICAgICBz
ZXRGdW5jdGlvbkNhbGxpbmdDb252KG1fZnRsU3RhdGUuZnVuY3Rpb24sIExMVk1DQ2FsbENvbnYp
OworICAgICAgICBpZiAoaXNYODYoKSAmJiBPcHRpb25zOjpsbHZtRGlzYWxsb3dBVlgoKSkgewor
ICAgICAgICAgICAgLy8gQVZYIG1ha2VzIFY4L3JheXRyYWNlIDgwJSBzbG93ZXIuIEl0IG1ha2Vz
IEtyYWtlbi9hdWRpby1vc2NpbGxhdG9yIDQuNXgKKyAgICAgICAgICAgIC8vIHNsb3dlci4gSXQg
c2hvdWxkIGJlIGRpc2FibGVkLgorICAgICAgICAgICAgYWRkVGFyZ2V0RGVwZW5kZW50RnVuY3Rp
b25BdHRyKG1fZnRsU3RhdGUuZnVuY3Rpb24sICJ0YXJnZXQtZmVhdHVyZXMiLCAiLWF2eCIpOwor
ICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBtX291dC5pbml0aWFsaXplKG1fZnRsU3RhdGUu
bW9kdWxlLCBtX2Z0bFN0YXRlLmZ1bmN0aW9uLCBtX2hlYXBzKTsKICAgICAgICAgCi0gICAgICAg
IG1fcHJvbG9ndWUgPSBhcHBlbmRCYXNpY0Jsb2NrKG1fZnRsU3RhdGUuY29udGV4dCwgbV9mdGxT
dGF0ZS5mdW5jdGlvbik7Ci0gICAgICAgIG1fb3V0LmFwcGVuZFRvKG1fcHJvbG9ndWUpOwotICAg
ICAgICBjcmVhdGVQaGlWYXJpYWJsZXMoKTsKLSAgICAgICAgCi0gICAgICAgIG1fY2FsbEZyYW1l
ID0gbV9vdXQucGFyYW0oMCk7Ci0gICAgICAgIG1fdGFnVHlwZU51bWJlciA9IG1fb3V0LmNvbnN0
SW50NjQoVGFnVHlwZU51bWJlcik7Ci0gICAgICAgIG1fdGFnTWFzayA9IG1fb3V0LmNvbnN0SW50
NjQoVGFnTWFzayk7Ci0gICAgICAgIAorICAgICAgICBtX3Byb2xvZ3VlID0gRlRMX05FV19CTE9D
SyhtX291dCwgKCJQcm9sb2d1ZSIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgc3RhY2tPdmVyZmxv
dyA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiU3RhY2sgb3ZlcmZsb3ciKSk7CisgICAgICAgIG1f
aGFuZGxlRXhjZXB0aW9ucyA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiSGFuZGxlIEV4Y2VwdGlv
bnMiKSk7CisKICAgICAgICAgZm9yIChCbG9ja0luZGV4IGJsb2NrSW5kZXggPSAwOyBibG9ja0lu
ZGV4IDwgbV9ncmFwaC5udW1CbG9ja3MoKTsgKytibG9ja0luZGV4KSB7CiAgICAgICAgICAgICBt
X2hpZ2hCbG9jayA9IG1fZ3JhcGguYmxvY2soYmxvY2tJbmRleCk7CiAgICAgICAgICAgICBpZiAo
IW1faGlnaEJsb2NrKQpAQCAtMTEyLDggKzExOCw0MiBAQCBwdWJsaWM6CiAgICAgICAgICAgICBt
X2Jsb2Nrcy5hZGQobV9oaWdoQmxvY2ssIEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiQmxvY2sgIiwg
Km1faGlnaEJsb2NrKSkpOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBtX291dC5hcHBl
bmRUbyhtX3Byb2xvZ3VlKTsKLSAgICAgICAgbV9vdXQuanVtcChsb3dCbG9jayhtX2dyYXBoLmJs
b2NrKDApKSk7CisgICAgICAgIG1fb3V0LmFwcGVuZFRvKG1fcHJvbG9ndWUsIHN0YWNrT3ZlcmZs
b3cpOworICAgICAgICBjcmVhdGVQaGlWYXJpYWJsZXMoKTsKKyAgICAgICAgTFZhbHVlIGNhcHR1
cmVkQWxsb2NhID0gbV9vdXQuYWxsb2NhKGFycmF5VHlwZShtX291dC5pbnQ2NCwgbV9ncmFwaC5t
X25leHRNYWNoaW5lTG9jYWwpKTsKKyAgICAgICAgbV9jYXB0dXJlZCA9IG1fb3V0LmFkZCgKKyAg
ICAgICAgICAgIG1fb3V0LnB0clRvSW50KGNhcHR1cmVkQWxsb2NhLCBtX291dC5pbnRQdHIpLAor
ICAgICAgICAgICAgbV9vdXQuY29uc3RJbnRQdHIobV9ncmFwaC5tX25leHRNYWNoaW5lTG9jYWwg
KiBzaXplb2YoUmVnaXN0ZXIpKSk7OworICAgICAgICAKKyAgICAgICAgLy8gV2Ugc2hvdWxkIG5v
dCBjcmVhdGUgYW55IGFsbG9jYSdzIGFmdGVyIHRoaXMgcG9pbnQsIHNpbmNlIHRoZXkgd2lsbCBj
ZWFzZSB0bworICAgICAgICAvLyBiZSBtZW0ycmVnIGNhbmRpZGF0ZXMuCisgICAgICAgIAorICAg
ICAgICBtX2Z0bFN0YXRlLmNhcHR1cmVkU3RhY2ttYXBJRCA9IG1fc3RhY2ttYXBJRHMrKzsKKyAg
ICAgICAgbV9vdXQuY2FsbCgKKyAgICAgICAgICAgIG1fb3V0LnN0YWNrbWFwSW50cmluc2ljKCks
IG1fb3V0LmNvbnN0SW50NjQobV9mdGxTdGF0ZS5jYXB0dXJlZFN0YWNrbWFwSUQpLAorICAgICAg
ICAgICAgbV9vdXQuaW50MzJaZXJvLCBjYXB0dXJlZEFsbG9jYSk7CisgICAgICAgIAorICAgICAg
ICBtX2NhbGxGcmFtZSA9IG1fb3V0LnB0clRvSW50KAorICAgICAgICAgICAgbV9vdXQuY2FsbCht
X291dC5mcmFtZUFkZHJlc3NJbnRyaW5zaWMoKSwgbV9vdXQuaW50MzJaZXJvKSwgbV9vdXQuaW50
UHRyKTsKKyAgICAgICAgbV90YWdUeXBlTnVtYmVyID0gbV9vdXQuY29uc3RJbnQ2NChUYWdUeXBl
TnVtYmVyKTsKKyAgICAgICAgbV90YWdNYXNrID0gbV9vdXQuY29uc3RJbnQ2NChUYWdNYXNrKTsK
KyAgICAgICAgCisgICAgICAgIG1fb3V0LnN0b3JlUHRyKG1fb3V0LmNvbnN0SW50UHRyKGNvZGVC
bG9jaygpKSwgYWRkcmVzc0ZvcihKU1N0YWNrOjpDb2RlQmxvY2spKTsKKyAgICAgICAgbV9vdXQu
YnJhbmNoKAorICAgICAgICAgICAgbV9vdXQuYmVsb3cobV9jYWxsRnJhbWUsIG1fb3V0LmxvYWRQ
dHIobV9vdXQuYWJzb2x1dGUoJnN0YWNrTGltaXQpKSksCisgICAgICAgICAgICBzdGFja092ZXJm
bG93LCBsb3dCbG9jayhtX2dyYXBoLmJsb2NrKDApKSk7CisgICAgICAgIAorICAgICAgICBtX291
dC5hcHBlbmRUbyhzdGFja092ZXJmbG93LCBtX2hhbmRsZUV4Y2VwdGlvbnMpOworICAgICAgICAv
LyBGSVhNRTogRG8gYSByZWFsIHN0YWNrIGNoZWNrIGFuZCB0aHJvdyB0aGUgZXhjZXB0aW9uIGFw
cHJvcHJpYXRlbHkuCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjU2NTAKKyAgICAgICAgbV9vdXQuY3Jhc2goKTsKKyAgICAgICAgCisgICAgICAg
IG1fb3V0LmFwcGVuZFRvKG1faGFuZGxlRXhjZXB0aW9ucywgbG93QmxvY2sobV9ncmFwaC5ibG9j
aygwKSkpOworICAgICAgICBtX2Z0bFN0YXRlLmhhbmRsZUV4Y2VwdGlvblN0YWNrbWFwSUQgPSBt
X3N0YWNrbWFwSURzKys7CisgICAgICAgIG1fb3V0LmNhbGwoCisgICAgICAgICAgICBtX291dC5z
dGFja21hcEludHJpbnNpYygpLCBtX291dC5jb25zdEludDY0KG1fZnRsU3RhdGUuaGFuZGxlRXhj
ZXB0aW9uU3RhY2ttYXBJRCksCisgICAgICAgICAgICBtX291dC5jb25zdEludDMyKE1hY3JvQXNz
ZW1ibGVyOjptYXhKdW1wUmVwbGFjZW1lbnRTaXplKCkpKTsKKyAgICAgICAgbV9vdXQudW5yZWFj
aGFibGUoKTsKICAgICAgICAgCiAgICAgICAgIFZlY3RvcjxCYXNpY0Jsb2NrKj4gZGVwdGhGaXJz
dDsKICAgICAgICAgbV9ncmFwaC5nZXRCbG9ja3NJbkRlcHRoRmlyc3RPcmRlcihkZXB0aEZpcnN0
KTsKQEAgLTIyNiw2ICsyNjYsOCBAQCBwcml2YXRlOgogICAgICAgICBpZiAodmVyYm9zZUNvbXBp
bGF0aW9uRW5hYmxlZCgpKQogICAgICAgICAgICAgZGF0YUxvZygiTG93ZXJpbmcgIiwgbV9ub2Rl
LCAiXG4iKTsKICAgICAgICAgCisgICAgICAgIG1fYXZhaWxhYmxlUmVjb3Zlcmllcy5yZXNpemUo
MCk7CisgICAgICAgIAogICAgICAgICBib29sIHNob3VsZEV4ZWN1dGVFZmZlY3RzID0gbV9pbnRl
cnByZXRlci5zdGFydEV4ZWN1dGluZyhtX25vZGUpOwogICAgICAgICAKICAgICAgICAgc3dpdGNo
IChtX25vZGUtPm9wKCkpIHsKQEAgLTI2NSwxOSArMzA3LDE3IEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICBjb21waWxlVmFsdWVBZGQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IEFyaXRoQWRkOgotICAgICAgICAgICAgY29tcGlsZUFkZFN1YigpOwotICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGNhc2UgQXJpdGhTdWI6Ci0gICAgICAgICAgICBjb21waWxlQWRkU3ViKCk7
CisgICAgICAgICAgICBjb21waWxlQXJpdGhBZGRPclN1YigpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgQXJpdGhNdWw6CiAgICAgICAgICAgICBjb21waWxlQXJpdGhNdWwoKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFyaXRoRGl2OgotICAgICAgICAgICAg
Y29tcGlsZUFyaXRoRGl2TW9kKCk7CisgICAgICAgICAgICBjb21waWxlQXJpdGhEaXYoKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFyaXRoTW9kOgotICAgICAgICAgICAgY29t
cGlsZUFyaXRoRGl2TW9kKCk7CisgICAgICAgICAgICBjb21waWxlQXJpdGhNb2QoKTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFyaXRoTWluOgogICAgICAgICBjYXNlIEFyaXRo
TWF4OgpAQCAtMjg2LDYgKzMyNiwxNSBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEFyaXRoQWJz
OgogICAgICAgICAgICAgY29tcGlsZUFyaXRoQWJzKCk7CiAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBBcml0aFNpbjoKKyAgICAgICAgICAgIGNvbXBpbGVBcml0aFNpbigpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQXJpdGhDb3M6CisgICAgICAgICAgICBjb21w
aWxlQXJpdGhDb3MoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFyaXRoU3Fy
dDoKKyAgICAgICAgICAgIGNvbXBpbGVBcml0aFNxcnQoKTsKKyAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIEFyaXRoTmVnYXRlOgogICAgICAgICAgICAgY29tcGlsZUFyaXRoTmVnYXRl
KCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTMyMiw2ICszNzEsOSBAQCBwcml2YXRlOgogICAg
ICAgICBjYXNlIENoZWNrRnVuY3Rpb246CiAgICAgICAgICAgICBjb21waWxlQ2hlY2tGdW5jdGlv
bigpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2hlY2tFeGVjdXRhYmxlOgor
ICAgICAgICAgICAgY29tcGlsZUNoZWNrRXhlY3V0YWJsZSgpOworICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgQXJyYXlpZnlUb1N0cnVjdHVyZToKICAgICAgICAgICAgIGNvbXBpbGVB
cnJheWlmeVRvU3RydWN0dXJlKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTMzNCw2ICszODYs
NyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEdldEJ5SWQ6CiAgICAgICAgICAgICBjb21waWxl
R2V0QnlJZCgpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUHV0QnlJZERpcmVj
dDoKICAgICAgICAgY2FzZSBQdXRCeUlkOgogICAgICAgICAgICAgY29tcGlsZVB1dEJ5SWQoKTsK
ICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzcyLDkgKzQyNSwxOCBAQCBwcml2YXRlOgogICAgICAg
ICBjYXNlIE5ld0FycmF5QnVmZmVyOgogICAgICAgICAgICAgY29tcGlsZU5ld0FycmF5QnVmZmVy
KCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBOZXdBcnJheVdpdGhTaXplOgor
ICAgICAgICAgICAgY29tcGlsZU5ld0FycmF5V2l0aFNpemUoKTsKKyAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIEFsbG9jYXRlUHJvcGVydHlTdG9yYWdlOgogICAgICAgICAgICAgY29t
cGlsZUFsbG9jYXRlUHJvcGVydHlTdG9yYWdlKCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY2FzZSBUb1N0cmluZzoKKyAgICAgICAgICAgIGNvbXBpbGVUb1N0cmluZygpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTWFrZVJvcGU6CisgICAgICAgICAgICBjb21waWxl
TWFrZVJvcGUoKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFN0cmluZ0NoYXJB
dDoKICAgICAgICAgICAgIGNvbXBpbGVTdHJpbmdDaGFyQXQoKTsKICAgICAgICAgICAgIGJyZWFr
OwpAQCAtMzk2LDYgKzQ1OCwxMiBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIE5vdGlmeVdyaXRl
OgogICAgICAgICAgICAgY29tcGlsZU5vdGlmeVdyaXRlKCk7CiAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBHZXRDYWxsZWU6CisgICAgICAgICAgICBjb21waWxlR2V0Q2FsbGVlKCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBHZXRTY29wZToKKyAgICAgICAgICAg
IGNvbXBpbGVHZXRTY29wZSgpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgR2V0
TXlTY29wZToKICAgICAgICAgICAgIGNvbXBpbGVHZXRNeVNjb3BlKCk7CiAgICAgICAgICAgICBi
cmVhazsKQEAgLTQ2Niw2ICs1MzQsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBJbnQ1MlRv
VmFsdWU6CiAgICAgICAgICAgICBjb21waWxlSW50NTJUb1ZhbHVlKCk7CiAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBDaGVja0FyZ3VtZW50c05vdENyZWF0ZWQ6CisgICAgICAgICAg
ICBjb21waWxlQ2hlY2tBcmd1bWVudHNOb3RDcmVhdGVkKCk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBDb3VudEV4ZWN1dGlvbjoKKyAgICAgICAgICAgIGNvbXBpbGVDb3VudEV4
ZWN1dGlvbigpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgU3RvcmVCYXJyaWVy
OgogICAgICAgICAgICAgY29tcGlsZVN0b3JlQmFycmllcigpOwogICAgICAgICAgICAgYnJlYWs7
CkBAIC00ODIsNiArNTU2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBWYXJpYWJsZVdhdGNo
cG9pbnQ6CiAgICAgICAgIGNhc2UgRnVuY3Rpb25SZWVudHJ5V2F0Y2hwb2ludDoKICAgICAgICAg
Y2FzZSBUeXBlZEFycmF5V2F0Y2hwb2ludDoKKyAgICAgICAgY2FzZSBBbGxvY2F0aW9uUHJvZmls
ZVdhdGNocG9pbnQ6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC04MTUsMjQgKzg5MCw1MyBA
QCBwcml2YXRlOgogICAgICAgICAgICAgbG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMSgpKSwgbG93
SlNWYWx1ZShtX25vZGUtPmNoaWxkMigpKSkpOwogICAgIH0KICAgICAKLSAgICB2b2lkIGNvbXBp
bGVBZGRTdWIoKQorICAgIHZvaWQgY29tcGlsZUFyaXRoQWRkT3JTdWIoKQogICAgIHsKICAgICAg
ICAgYm9vbCBpc1N1YiA9ICBtX25vZGUtPm9wKCkgPT0gQXJpdGhTdWI7CiAgICAgICAgIHN3aXRj
aCAobV9ub2RlLT5iaW5hcnlVc2VLaW5kKCkpIHsKICAgICAgICAgY2FzZSBJbnQzMlVzZTogewog
ICAgICAgICAgICAgTFZhbHVlIGxlZnQgPSBsb3dJbnQzMihtX25vZGUtPmNoaWxkMSgpKTsKICAg
ICAgICAgICAgIExWYWx1ZSByaWdodCA9IGxvd0ludDMyKG1fbm9kZS0+Y2hpbGQyKCkpOwotICAg
ICAgICAgICAgTFZhbHVlIHJlc3VsdCA9IGlzU3ViID8gbV9vdXQuc3ViKGxlZnQsIHJpZ2h0KSA6
IG1fb3V0LmFkZChsZWZ0LCByaWdodCk7CiAKICAgICAgICAgICAgIGlmICghc2hvdWxkQ2hlY2tP
dmVyZmxvdyhtX25vZGUtPmFyaXRoTW9kZSgpKSkgewotICAgICAgICAgICAgICAgIHNldEludDMy
KHJlc3VsdCk7CisgICAgICAgICAgICAgICAgc2V0SW50MzIoaXNTdWIgPyBtX291dC5zdWIobGVm
dCwgcmlnaHQpIDogbV9vdXQuYWRkKGxlZnQsIHJpZ2h0KSk7CiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIExWYWx1ZSBvdmVyZmxvdyA9IGlzU3Vi
ID8gbV9vdXQuc3ViV2l0aE92ZXJmbG93MzIobGVmdCwgcmlnaHQpIDogbV9vdXQuYWRkV2l0aE92
ZXJmbG93MzIobGVmdCwgcmlnaHQpOworICAgICAgICAgICAgTFZhbHVlIHJlc3VsdDsKKyAgICAg
ICAgICAgIGlmICghaXNTdWIpIHsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBtX291dC5hZGRX
aXRoT3ZlcmZsb3czMihsZWZ0LCByaWdodCk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAg
ICAgICAgaWYgKGRvZXNLaWxsKG1fbm9kZS0+Y2hpbGQyKCkpKSB7CisgICAgICAgICAgICAgICAg
ICAgIGFkZEF2YWlsYWJsZVJlY292ZXJ5KAorICAgICAgICAgICAgICAgICAgICAgICAgbV9ub2Rl
LT5jaGlsZDIoKSwgU3ViUmVjb3ZlcnksCisgICAgICAgICAgICAgICAgICAgICAgICBtX291dC5l
eHRyYWN0VmFsdWUocmVzdWx0LCAwKSwgbGVmdCwgVmFsdWVGb3JtYXRJbnQzMik7CisgICAgICAg
ICAgICAgICAgfSBlbHNlIGlmIChkb2VzS2lsbChtX25vZGUtPmNoaWxkMSgpKSkgeworICAgICAg
ICAgICAgICAgICAgICBhZGRBdmFpbGFibGVSZWNvdmVyeSgKKyAgICAgICAgICAgICAgICAgICAg
ICAgIG1fbm9kZS0+Y2hpbGQxKCksIFN1YlJlY292ZXJ5LAorICAgICAgICAgICAgICAgICAgICAg
ICAgbV9vdXQuZXh0cmFjdFZhbHVlKHJlc3VsdCwgMCksIHJpZ2h0LCBWYWx1ZUZvcm1hdEludDMy
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgIHJlc3VsdCA9IG1fb3V0LnN1YldpdGhPdmVyZmxvdzMyKGxlZnQsIHJpZ2h0KTsKKyAgICAg
ICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoZG9lc0tpbGwobV9ub2RlLT5jaGlsZDIo
KSkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gcmVzdWx0ID0gbGVmdCAtIHJpZ2h0CisgICAg
ICAgICAgICAgICAgICAgIC8vIHJlc3VsdCAtIGxlZnQgPSAtcmlnaHQKKyAgICAgICAgICAgICAg
ICAgICAgLy8gcmlnaHQgPSBsZWZ0IC0gcmVzdWx0CisgICAgICAgICAgICAgICAgICAgIGFkZEF2
YWlsYWJsZVJlY292ZXJ5KAorICAgICAgICAgICAgICAgICAgICAgICAgbV9ub2RlLT5jaGlsZDIo
KSwgU3ViUmVjb3ZlcnksCisgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0LCBtX291dC5leHRy
YWN0VmFsdWUocmVzdWx0LCAwKSwgVmFsdWVGb3JtYXRJbnQzMik7CisgICAgICAgICAgICAgICAg
fSBlbHNlIGlmIChkb2VzS2lsbChtX25vZGUtPmNoaWxkMSgpKSkgeworICAgICAgICAgICAgICAg
ICAgICAvLyByZXN1bHQgPSBsZWZ0IC0gcmlnaHQKKyAgICAgICAgICAgICAgICAgICAgLy8gcmVz
dWx0ICsgcmlnaHQgPSBsZWZ0CisgICAgICAgICAgICAgICAgICAgIGFkZEF2YWlsYWJsZVJlY292
ZXJ5KAorICAgICAgICAgICAgICAgICAgICAgICAgbV9ub2RlLT5jaGlsZDEoKSwgQWRkUmVjb3Zl
cnksCisgICAgICAgICAgICAgICAgICAgICAgICBtX291dC5leHRyYWN0VmFsdWUocmVzdWx0LCAw
KSwgcmlnaHQsIFZhbHVlRm9ybWF0SW50MzIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgc3BlY3VsYXRlKE92ZXJmbG93LCBub1ZhbHVlKCksIDAsIG1f
b3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvdywgMSkpOwotICAgICAgICAgICAgc2V0SW50MzIocmVz
dWx0KTsKKyAgICAgICAgICAgIHNwZWN1bGF0ZShPdmVyZmxvdywgbm9WYWx1ZSgpLCAwLCBtX291
dC5leHRyYWN0VmFsdWUocmVzdWx0LCAxKSk7CisgICAgICAgICAgICBzZXRJbnQzMihtX291dC5l
eHRyYWN0VmFsdWUocmVzdWx0LCAwKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
ICAgICAgICAgICAgCkBAIC04NDgsMTEgKzk1Miw0MSBAQCBwcml2YXRlOgogICAgICAgICAgICAg
CiAgICAgICAgICAgICBMVmFsdWUgbGVmdCA9IGxvd0ludDUyKG1fbm9kZS0+Y2hpbGQxKCkpOwog
ICAgICAgICAgICAgTFZhbHVlIHJpZ2h0ID0gbG93SW50NTIobV9ub2RlLT5jaGlsZDIoKSk7Ci0g
ICAgICAgICAgICBMVmFsdWUgcmVzdWx0ID0gaXNTdWIgPyBtX291dC5zdWIobGVmdCwgcmlnaHQp
IDogbV9vdXQuYWRkKGxlZnQsIHJpZ2h0KTsKIAotICAgICAgICAgICAgTFZhbHVlIG92ZXJmbG93
ID0gaXNTdWIgPyBtX291dC5zdWJXaXRoT3ZlcmZsb3c2NChsZWZ0LCByaWdodCkgOiBtX291dC5h
ZGRXaXRoT3ZlcmZsb3c2NChsZWZ0LCByaWdodCk7Ci0gICAgICAgICAgICBzcGVjdWxhdGUoSW50
NTJPdmVyZmxvdywgbm9WYWx1ZSgpLCAwLCBtX291dC5leHRyYWN0VmFsdWUob3ZlcmZsb3csIDEp
KTsKLSAgICAgICAgICAgIHNldEludDUyKHJlc3VsdCk7CisgICAgICAgICAgICBMVmFsdWUgcmVz
dWx0OworICAgICAgICAgICAgaWYgKCFpc1N1YikgeworICAgICAgICAgICAgICAgIHJlc3VsdCA9
IG1fb3V0LmFkZFdpdGhPdmVyZmxvdzY0KGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgICAgICAgICAK
KyAgICAgICAgICAgICAgICBpZiAoZG9lc0tpbGwobV9ub2RlLT5jaGlsZDIoKSkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgYWRkQXZhaWxhYmxlUmVjb3ZlcnkoCisgICAgICAgICAgICAgICAgICAg
ICAgICBtX25vZGUtPmNoaWxkMigpLCBTdWJSZWNvdmVyeSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIG1fb3V0LmV4dHJhY3RWYWx1ZShyZXN1bHQsIDApLCBsZWZ0LCBWYWx1ZUZvcm1hdEludDUy
KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGRvZXNLaWxsKG1fbm9kZS0+Y2hpbGQxKCkp
KSB7CisgICAgICAgICAgICAgICAgICAgIGFkZEF2YWlsYWJsZVJlY292ZXJ5KAorICAgICAgICAg
ICAgICAgICAgICAgICAgbV9ub2RlLT5jaGlsZDEoKSwgU3ViUmVjb3ZlcnksCisgICAgICAgICAg
ICAgICAgICAgICAgICBtX291dC5leHRyYWN0VmFsdWUocmVzdWx0LCAwKSwgcmlnaHQsIFZhbHVl
Rm9ybWF0SW50NTIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgcmVzdWx0ID0gbV9vdXQuc3ViV2l0aE92ZXJmbG93NjQobGVmdCwgcmln
aHQpOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlmIChkb2VzS2lsbChtX25v
ZGUtPmNoaWxkMigpKSkgeworICAgICAgICAgICAgICAgICAgICAvLyByZXN1bHQgPSBsZWZ0IC0g
cmlnaHQKKyAgICAgICAgICAgICAgICAgICAgLy8gcmVzdWx0IC0gbGVmdCA9IC1yaWdodAorICAg
ICAgICAgICAgICAgICAgICAvLyByaWdodCA9IGxlZnQgLSByZXN1bHQKKyAgICAgICAgICAgICAg
ICAgICAgYWRkQXZhaWxhYmxlUmVjb3ZlcnkoCisgICAgICAgICAgICAgICAgICAgICAgICBtX25v
ZGUtPmNoaWxkMigpLCBTdWJSZWNvdmVyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQs
IG1fb3V0LmV4dHJhY3RWYWx1ZShyZXN1bHQsIDApLCBWYWx1ZUZvcm1hdEludDUyKTsKKyAgICAg
ICAgICAgICAgICB9IGVsc2UgaWYgKGRvZXNLaWxsKG1fbm9kZS0+Y2hpbGQxKCkpKSB7CisgICAg
ICAgICAgICAgICAgICAgIC8vIHJlc3VsdCA9IGxlZnQgLSByaWdodAorICAgICAgICAgICAgICAg
ICAgICAvLyByZXN1bHQgKyByaWdodCA9IGxlZnQKKyAgICAgICAgICAgICAgICAgICAgYWRkQXZh
aWxhYmxlUmVjb3ZlcnkoCisgICAgICAgICAgICAgICAgICAgICAgICBtX25vZGUtPmNoaWxkMSgp
LCBBZGRSZWNvdmVyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgIG1fb3V0LmV4dHJhY3RWYWx1
ZShyZXN1bHQsIDApLCByaWdodCwgVmFsdWVGb3JtYXRJbnQ1Mik7CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzcGVjdWxhdGUoSW50NTJPdmVyZmxvdywg
bm9WYWx1ZSgpLCAwLCBtX291dC5leHRyYWN0VmFsdWUocmVzdWx0LCAxKSk7CisgICAgICAgICAg
ICBzZXRJbnQ1MihtX291dC5leHRyYWN0VmFsdWUocmVzdWx0LCAwKSk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQogICAgICAgICAgICAgCkBAIC04NzYsMTEgKzEwMTAsMTUgQEAgcHJp
dmF0ZToKICAgICAgICAgY2FzZSBJbnQzMlVzZTogewogICAgICAgICAgICAgTFZhbHVlIGxlZnQg
PSBsb3dJbnQzMihtX25vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIExWYWx1ZSByaWdodCA9
IGxvd0ludDMyKG1fbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICAgICAgTFZhbHVlIHJlc3VsdCA9
IG1fb3V0Lm11bChsZWZ0LCByaWdodCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIExWYWx1
ZSByZXN1bHQ7CiAKLSAgICAgICAgICAgIGlmIChzaG91bGRDaGVja092ZXJmbG93KG1fbm9kZS0+
YXJpdGhNb2RlKCkpKSB7CisgICAgICAgICAgICBpZiAoIXNob3VsZENoZWNrT3ZlcmZsb3cobV9u
b2RlLT5hcml0aE1vZGUoKSkpCisgICAgICAgICAgICAgICAgcmVzdWx0ID0gbV9vdXQubXVsKGxl
ZnQsIHJpZ2h0KTsKKyAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIExWYWx1ZSBv
dmVyZmxvd1Jlc3VsdCA9IG1fb3V0Lm11bFdpdGhPdmVyZmxvdzMyKGxlZnQsIHJpZ2h0KTsKICAg
ICAgICAgICAgICAgICBzcGVjdWxhdGUoT3ZlcmZsb3csIG5vVmFsdWUoKSwgMCwgbV9vdXQuZXh0
cmFjdFZhbHVlKG92ZXJmbG93UmVzdWx0LCAxKSk7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0g
bV9vdXQuZXh0cmFjdFZhbHVlKG92ZXJmbG93UmVzdWx0LCAwKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIAogICAgICAgICAgICAgaWYgKHNob3VsZENoZWNrTmVnYXRpdmVaZXJvKG1fbm9k
ZS0+YXJpdGhNb2RlKCkpKSB7CkBAIC05MDQsMTEgKzEwNDIsMTAgQEAgcHJpdmF0ZToKICAgICAg
ICAgICAgIEludDUyS2luZCBraW5kOwogICAgICAgICAgICAgTFZhbHVlIGxlZnQgPSBsb3dXaGlj
aGV2ZXJJbnQ1MihtX25vZGUtPmNoaWxkMSgpLCBraW5kKTsKICAgICAgICAgICAgIExWYWx1ZSBy
aWdodCA9IGxvd0ludDUyKG1fbm9kZS0+Y2hpbGQyKCksIG9wcG9zaXRlKGtpbmQpKTsKLSAgICAg
ICAgICAgIExWYWx1ZSByZXN1bHQgPSBtX291dC5tdWwobGVmdCwgcmlnaHQpOwotCiAKICAgICAg
ICAgICAgIExWYWx1ZSBvdmVyZmxvd1Jlc3VsdCA9IG1fb3V0Lm11bFdpdGhPdmVyZmxvdzY0KGxl
ZnQsIHJpZ2h0KTsKICAgICAgICAgICAgIHNwZWN1bGF0ZShJbnQ1Mk92ZXJmbG93LCBub1ZhbHVl
KCksIDAsIG1fb3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvd1Jlc3VsdCwgMSkpOworICAgICAgICAg
ICAgTFZhbHVlIHJlc3VsdCA9IG1fb3V0LmV4dHJhY3RWYWx1ZShvdmVyZmxvd1Jlc3VsdCwgMCk7
CiAKICAgICAgICAgICAgIGlmIChzaG91bGRDaGVja05lZ2F0aXZlWmVybyhtX25vZGUtPmFyaXRo
TW9kZSgpKSkgewogICAgICAgICAgICAgICAgIExCYXNpY0Jsb2NrIHNsb3dDYXNlID0gRlRMX05F
V19CTE9DSyhtX291dCwgKCJBcml0aE11bCBzbG93IGNhc2UiKSk7CkBAIC05MzksMTYgKzEwNzYs
MTYgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgIH0KIAotICAgIHZvaWQgY29tcGlsZUFyaXRo
RGl2TW9kKCkKKyAgICB2b2lkIGNvbXBpbGVBcml0aERpdigpCiAgICAgewogICAgICAgICBzd2l0
Y2ggKG1fbm9kZS0+YmluYXJ5VXNlS2luZCgpKSB7CiAgICAgICAgIGNhc2UgSW50MzJVc2U6IHsK
ICAgICAgICAgICAgIExWYWx1ZSBudW1lcmF0b3IgPSBsb3dJbnQzMihtX25vZGUtPmNoaWxkMSgp
KTsKICAgICAgICAgICAgIExWYWx1ZSBkZW5vbWluYXRvciA9IGxvd0ludDMyKG1fbm9kZS0+Y2hp
bGQyKCkpOwogICAgICAgICAgICAgCi0gICAgICAgICAgICBMQmFzaWNCbG9jayB1bnNhZmVEZW5v
bWluYXRvciA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiQXJpdGhEaXZNb2QgdW5zYWZlIGRlbm9t
aW5hdG9yIikpOwotICAgICAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gRlRMX05F
V19CTE9DSyhtX291dCwgKCJBcml0aERpdk1vZCBjb250aW51YXRpb24iKSk7Ci0gICAgICAgICAg
ICBMQmFzaWNCbG9jayBkb25lID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJBcml0aERpdk1vZCBk
b25lIikpOworICAgICAgICAgICAgTEJhc2ljQmxvY2sgdW5zYWZlRGVub21pbmF0b3IgPSBGVExf
TkVXX0JMT0NLKG1fb3V0LCAoIkFyaXRoRGl2IHVuc2FmZSBkZW5vbWluYXRvciIpKTsKKyAgICAg
ICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgi
QXJpdGhEaXYgY29udGludWF0aW9uIikpOworICAgICAgICAgICAgTEJhc2ljQmxvY2sgZG9uZSA9
IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiQXJpdGhEaXYgZG9uZSIpKTsKICAgICAgICAgICAgIAog
ICAgICAgICAgICAgVmVjdG9yPFZhbHVlRnJvbUJsb2NrLCAzPiByZXN1bHRzOwogICAgICAgICAg
ICAgCkBAIC05OTEsOCArMTEyOCw4IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBtX291dC5hcHBl
bmRUbyhjb250aW51YXRpb24sIGRvbmUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBpZiAo
c2hvdWxkQ2hlY2tOZWdhdGl2ZVplcm8obV9ub2RlLT5hcml0aE1vZGUoKSkpIHsKLSAgICAgICAg
ICAgICAgICBMQmFzaWNCbG9jayB6ZXJvTnVtZXJhdG9yID0gRlRMX05FV19CTE9DSyhtX291dCwg
KCJBcml0aERpdk1vZCB6ZXJvIG51bWVyYXRvciIpKTsKLSAgICAgICAgICAgICAgICBMQmFzaWNC
bG9jayBudW1lcmF0b3JDb250aW51YXRpb24gPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIkFyaXRo
RGl2TW9kIG51bWVyYXRvciBjb250aW51YXRpb24iKSk7CisgICAgICAgICAgICAgICAgTEJhc2lj
QmxvY2sgemVyb051bWVyYXRvciA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiQXJpdGhEaXYgemVy
byBudW1lcmF0b3IiKSk7CisgICAgICAgICAgICAgICAgTEJhc2ljQmxvY2sgbnVtZXJhdG9yQ29u
dGludWF0aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJBcml0aERpdiBudW1lcmF0b3IgY29u
dGludWF0aW9uIikpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIG1fb3V0LmJy
YW5jaChtX291dC5pc1plcm8zMihudW1lcmF0b3IpLCB6ZXJvTnVtZXJhdG9yLCBudW1lcmF0b3JD
b250aW51YXRpb24pOwogICAgICAgICAgICAgICAgIApAQCAtMTAwNiwxNyArMTE0MywxNSBAQCBw
cml2YXRlOgogICAgICAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRvKG51bWVyYXRvckNvbnRpbnVh
dGlvbiwgaW5uZXJMYXN0TmV4dCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAg
ICAgICAgIExWYWx1ZSBkaXZNb2RSZXN1bHQgPSBtX25vZGUtPm9wKCkgPT0gQXJpdGhEaXYKLSAg
ICAgICAgICAgICAgICA/IG1fb3V0LmRpdihudW1lcmF0b3IsIGRlbm9taW5hdG9yKQotICAgICAg
ICAgICAgICAgIDogbV9vdXQucmVtKG51bWVyYXRvciwgZGVub21pbmF0b3IpOworICAgICAgICAg
ICAgTFZhbHVlIHJlc3VsdCA9IG1fb3V0LmRpdihudW1lcmF0b3IsIGRlbm9taW5hdG9yKTsKICAg
ICAgICAgICAgIAogICAgICAgICAgICAgaWYgKHNob3VsZENoZWNrT3ZlcmZsb3cobV9ub2RlLT5h
cml0aE1vZGUoKSkpIHsKICAgICAgICAgICAgICAgICBzcGVjdWxhdGUoCiAgICAgICAgICAgICAg
ICAgICAgIE92ZXJmbG93LCBub1ZhbHVlKCksIDAsCi0gICAgICAgICAgICAgICAgICAgIG1fb3V0
Lm5vdEVxdWFsKG1fb3V0Lm11bChkaXZNb2RSZXN1bHQsIGRlbm9taW5hdG9yKSwgbnVtZXJhdG9y
KSk7CisgICAgICAgICAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKG1fb3V0Lm11bChyZXN1bHQs
IGRlbm9taW5hdG9yKSwgbnVtZXJhdG9yKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAK
LSAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKG1fb3V0LmFuY2hvcihkaXZNb2RSZXN1bHQpKTsK
KyAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKG1fb3V0LmFuY2hvcihyZXN1bHQpKTsKICAgICAg
ICAgICAgIG1fb3V0Lmp1bXAoZG9uZSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIG1fb3V0
LmFwcGVuZFRvKGRvbmUsIGxhc3ROZXh0KTsKQEAgLTEwMjYsOSArMTE2MSw4IEBAIHByaXZhdGU6
CiAgICAgICAgIH0KICAgICAgICAgICAgIAogICAgICAgICBjYXNlIE51bWJlclVzZTogewotICAg
ICAgICAgICAgTFZhbHVlIEMxID0gbG93RG91YmxlKG1fbm9kZS0+Y2hpbGQxKCkpOwotICAgICAg
ICAgICAgTFZhbHVlIEMyID0gbG93RG91YmxlKG1fbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICAg
ICAgc2V0RG91YmxlKG1fbm9kZS0+b3AoKSA9PSBBcml0aERpdiA/IG1fb3V0LmRvdWJsZURpdihD
MSwgQzIpIDogbV9vdXQuZG91YmxlUmVtKEMxLCBDMikpOworICAgICAgICAgICAgc2V0RG91Ymxl
KG1fb3V0LmRvdWJsZURpdigKKyAgICAgICAgICAgICAgICBsb3dEb3VibGUobV9ub2RlLT5jaGls
ZDEoKSksIGxvd0RvdWJsZShtX25vZGUtPmNoaWxkMigpKSkpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KICAgICAgICAgICAgIApAQCAtMTAzOCw2ICsxMTcyLDk5IEBAIHByaXZhdGU6
CiAgICAgICAgIH0KICAgICB9CiAgICAgCisgICAgdm9pZCBjb21waWxlQXJpdGhNb2QoKQorICAg
IHsKKyAgICAgICAgc3dpdGNoIChtX25vZGUtPmJpbmFyeVVzZUtpbmQoKSkgeworICAgICAgICBj
YXNlIEludDMyVXNlOiB7CisgICAgICAgICAgICBMVmFsdWUgbnVtZXJhdG9yID0gbG93SW50MzIo
bV9ub2RlLT5jaGlsZDEoKSk7CisgICAgICAgICAgICBMVmFsdWUgZGVub21pbmF0b3IgPSBsb3dJ
bnQzMihtX25vZGUtPmNoaWxkMigpKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgTEJhc2lj
QmxvY2sgdW5zYWZlRGVub21pbmF0b3IgPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIkFyaXRoTW9k
IHVuc2FmZSBkZW5vbWluYXRvciIpKTsKKyAgICAgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVh
dGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiQXJpdGhNb2QgY29udGludWF0aW9uIikpOwor
ICAgICAgICAgICAgTEJhc2ljQmxvY2sgZG9uZSA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiQXJp
dGhNb2QgZG9uZSIpKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgVmVjdG9yPFZhbHVlRnJv
bUJsb2NrLCAzPiByZXN1bHRzOworICAgICAgICAgICAgCisgICAgICAgICAgICBMVmFsdWUgYWRq
dXN0ZWREZW5vbWluYXRvciA9IG1fb3V0LmFkZChkZW5vbWluYXRvciwgbV9vdXQuaW50MzJPbmUp
OworICAgICAgICAgICAgCisgICAgICAgICAgICBtX291dC5icmFuY2gobV9vdXQuYWJvdmUoYWRq
dXN0ZWREZW5vbWluYXRvciwgbV9vdXQuaW50MzJPbmUpLCBjb250aW51YXRpb24sIHVuc2FmZURl
bm9taW5hdG9yKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5l
eHQgPSBtX291dC5hcHBlbmRUbyh1bnNhZmVEZW5vbWluYXRvciwgY29udGludWF0aW9uKTsKKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgTFZhbHVlIG5lZzJUb1RoZTMxID0gbV9vdXQuY29uc3RJ
bnQzMigtMjE0NzQ4MzY0Ny0xKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgLy8gRklYTUU6
IC0yXjMxIC8gLTEgd2lsbCBhY3R1YWxseSB5aWVsZCBuZWdhdGl2ZSB6ZXJvLCBzbyB3ZSBjb3Vs
ZCBoYXZlIGEKKyAgICAgICAgICAgIC8vIHNlcGFyYXRlIGNhc2UgZm9yIHRoYXQuIEJ1dCBpdCBw
cm9iYWJseSBkb2Vzbid0IG1hdHRlciBzbyBtdWNoLgorICAgICAgICAgICAgaWYgKHNob3VsZENo
ZWNrT3ZlcmZsb3cobV9ub2RlLT5hcml0aE1vZGUoKSkpIHsKKyAgICAgICAgICAgICAgICBMVmFs
dWUgY29uZCA9IG1fb3V0LmJpdE9yKG1fb3V0LmlzWmVybzMyKGRlbm9taW5hdG9yKSwgbV9vdXQu
ZXF1YWwobnVtZXJhdG9yLCBuZWcyVG9UaGUzMSkpOworICAgICAgICAgICAgICAgIHNwZWN1bGF0
ZShPdmVyZmxvdywgbm9WYWx1ZSgpLCAwLCBjb25kKTsKKyAgICAgICAgICAgICAgICBtX291dC5q
dW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IC8vIFRoaXMgaXMgdGhlIGNhc2Ugd2hlcmUgd2UgY29udmVydCB0aGUgcmVzdWx0IHRvIGFuIGlu
dCBhZnRlciB3ZSdyZSBkb25lLiBTbywKKyAgICAgICAgICAgICAgICAvLyBpZiB0aGUgZGVub21p
bmF0b3IgaXMgemVybywgdGhlbiB0aGUgcmVzdWx0IHNob3VsZCBiZSByZXN1bHQgc2hvdWxkIGJl
IHplcm8uCisgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGRlbm9taW5hdG9yIGlzIG5vdCB6ZXJv
IChpLmUuIGl0J3MgLTEgYmVjYXVzZSB3ZSdyZSBndWFyZGVkIGJ5IHRoZQorICAgICAgICAgICAg
ICAgIC8vIGNoZWNrIGFib3ZlKSBhbmQgdGhlIG51bWVyYXRvciBpcyAtMl4zMSB0aGVuIHRoZSBy
ZXN1bHQgc2hvdWxkIGJlIC0yXjMxLgorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAg
IExCYXNpY0Jsb2NrIG1vZEJ5WmVybyA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiQXJpdGhNb2Qg
bW9kdWxvIGJ5IHplcm8iKSk7CisgICAgICAgICAgICAgICAgTEJhc2ljQmxvY2sgbm90TW9kQnla
ZXJvID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJBcml0aE1vZCBub3QgbW9kdWxvIGJ5IHplcm8i
KSk7CisgICAgICAgICAgICAgICAgTEJhc2ljQmxvY2sgbmVnMlRvVGhlMzFCeU5lZzEgPSBGVExf
TkVXX0JMT0NLKG1fb3V0LCAoIkFyaXRoTW9kIC0yXjMxLy0xIikpOworICAgICAgICAgICAgICAg
IAorICAgICAgICAgICAgICAgIG1fb3V0LmJyYW5jaChtX291dC5pc1plcm8zMihkZW5vbWluYXRv
ciksIG1vZEJ5WmVybywgbm90TW9kQnlaZXJvKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAg
ICAgICAgICBtX291dC5hcHBlbmRUbyhtb2RCeVplcm8sIG5vdE1vZEJ5WmVybyk7CisgICAgICAg
ICAgICAgICAgcmVzdWx0cy5hcHBlbmQobV9vdXQuYW5jaG9yKG1fb3V0LmludDMyWmVybykpOwor
ICAgICAgICAgICAgICAgIG1fb3V0Lmp1bXAoZG9uZSk7CisgICAgICAgICAgICAgICAgCisgICAg
ICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8obm90TW9kQnlaZXJvLCBuZWcyVG9UaGUzMUJ5TmVn
MSk7CisgICAgICAgICAgICAgICAgbV9vdXQuYnJhbmNoKG1fb3V0LmVxdWFsKG51bWVyYXRvciwg
bmVnMlRvVGhlMzEpLCBuZWcyVG9UaGUzMUJ5TmVnMSwgY29udGludWF0aW9uKTsKKyAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgICAgICBtX291dC5hcHBlbmRUbyhuZWcyVG9UaGUzMUJ5TmVn
MSwgY29udGludWF0aW9uKTsKKyAgICAgICAgICAgICAgICByZXN1bHRzLmFwcGVuZChtX291dC5h
bmNob3IobV9vdXQuaW50MzJaZXJvKSk7CisgICAgICAgICAgICAgICAgbV9vdXQuanVtcChkb25l
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgbV9vdXQuYXBwZW5k
VG8oY29udGludWF0aW9uLCBkb25lKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgTFZhbHVl
IHJlbWFpbmRlciA9IG1fb3V0LnJlbShudW1lcmF0b3IsIGRlbm9taW5hdG9yKTsKKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgaWYgKHNob3VsZENoZWNrTmVnYXRpdmVaZXJvKG1fbm9kZS0+YXJp
dGhNb2RlKCkpKSB7CisgICAgICAgICAgICAgICAgTEJhc2ljQmxvY2sgbmVnYXRpdmVOdW1lcmF0
b3IgPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIkFyaXRoTW9kIG5lZ2F0aXZlIG51bWVyYXRvciIp
KTsKKyAgICAgICAgICAgICAgICBMQmFzaWNCbG9jayBudW1lcmF0b3JDb250aW51YXRpb24gPSBG
VExfTkVXX0JMT0NLKG1fb3V0LCAoIkFyaXRoTW9kIG51bWVyYXRvciBjb250aW51YXRpb24iKSk7
CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgbV9vdXQuYnJhbmNoKAorICAgICAg
ICAgICAgICAgICAgICBtX291dC5sZXNzVGhhbihudW1lcmF0b3IsIG1fb3V0LmludDMyWmVybyks
CisgICAgICAgICAgICAgICAgICAgIG5lZ2F0aXZlTnVtZXJhdG9yLCBudW1lcmF0b3JDb250aW51
YXRpb24pOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIExCYXNpY0Jsb2NrIGlu
bmVyTGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyhuZWdhdGl2ZU51bWVyYXRvciwgbnVtZXJhdG9y
Q29udGludWF0aW9uKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBzcGVjdWxh
dGUoTmVnYXRpdmVaZXJvLCBub1ZhbHVlKCksIDAsIG1fb3V0LmlzWmVybzMyKHJlbWFpbmRlcikp
OworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIG1fb3V0Lmp1bXAobnVtZXJhdG9y
Q29udGludWF0aW9uKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBtX291dC5h
cHBlbmRUbyhudW1lcmF0b3JDb250aW51YXRpb24sIGlubmVyTGFzdE5leHQpOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICByZXN1bHRzLmFwcGVuZChtX291dC5hbmNo
b3IocmVtYWluZGVyKSk7CisgICAgICAgICAgICBtX291dC5qdW1wKGRvbmUpOworICAgICAgICAg
ICAgCisgICAgICAgICAgICBtX291dC5hcHBlbmRUbyhkb25lLCBsYXN0TmV4dCk7CisgICAgICAg
ICAgICAKKyAgICAgICAgICAgIHNldEludDMyKG1fb3V0LnBoaShtX291dC5pbnQzMiwgcmVzdWx0
cykpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAg
ICBjYXNlIE51bWJlclVzZTogeworICAgICAgICAgICAgc2V0RG91YmxlKAorICAgICAgICAgICAg
ICAgIG1fb3V0LmRvdWJsZVJlbShsb3dEb3VibGUobV9ub2RlLT5jaGlsZDEoKSksIGxvd0RvdWJs
ZShtX25vZGUtPmNoaWxkMigpKSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAg
ICAgICAgICAgIAorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorCiAg
ICAgdm9pZCBjb21waWxlQXJpdGhNaW5Pck1heCgpCiAgICAgewogICAgICAgICBzd2l0Y2ggKG1f
bm9kZS0+YmluYXJ5VXNlS2luZCgpKSB7CkBAIC0xMTE0LDYgKzEzNDEsMTIgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfQorCisgICAgdm9pZCBjb21waWxl
QXJpdGhTaW4oKSB7IHNldERvdWJsZShtX291dC5kb3VibGVTaW4obG93RG91YmxlKG1fbm9kZS0+
Y2hpbGQxKCkpKSk7IH0KKworICAgIHZvaWQgY29tcGlsZUFyaXRoQ29zKCkgeyBzZXREb3VibGUo
bV9vdXQuZG91YmxlQ29zKGxvd0RvdWJsZShtX25vZGUtPmNoaWxkMSgpKSkpOyB9CisKKyAgICB2
b2lkIGNvbXBpbGVBcml0aFNxcnQoKSB7IHNldERvdWJsZShtX291dC5kb3VibGVTcXJ0KGxvd0Rv
dWJsZShtX25vZGUtPmNoaWxkMSgpKSkpOyB9CiAgICAgCiAgICAgdm9pZCBjb21waWxlQXJpdGhO
ZWdhdGUoKQogICAgIHsKQEAgLTExMjEsMTYgKzEzNTQsMTggQEAgcHJpdmF0ZToKICAgICAgICAg
Y2FzZSBJbnQzMlVzZTogewogICAgICAgICAgICAgTFZhbHVlIHZhbHVlID0gbG93SW50MzIobV9u
b2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIExWYWx1ZSByZXN1bHQg
PSBtX291dC5uZWcodmFsdWUpOwotICAgICAgICAgICAgaWYgKHNob3VsZENoZWNrT3ZlcmZsb3co
bV9ub2RlLT5hcml0aE1vZGUoKSkpIHsKLSAgICAgICAgICAgICAgICBpZiAoIXNob3VsZENoZWNr
TmVnYXRpdmVaZXJvKG1fbm9kZS0+YXJpdGhNb2RlKCkpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IC8vIFdlIGRvbid0IGhhdmUgYSBuZWdhdGUtd2l0aC1vdmVyZmxvdyBpbnRyaW5zaWMuIEhvcGVm
dWxseSB0aGlzCi0gICAgICAgICAgICAgICAgICAgIC8vIGRvZXMgdGhlIHRyaWNrLCB0aG91Z2gu
Ci0gICAgICAgICAgICAgICAgICAgIExWYWx1ZSBvdmVyZmxvd1Jlc3VsdCA9IG1fb3V0LnN1Yldp
dGhPdmVyZmxvdzMyKG1fb3V0LmludDMyWmVybywgdmFsdWUpOwotICAgICAgICAgICAgICAgICAg
ICBzcGVjdWxhdGUoT3ZlcmZsb3csIG5vVmFsdWUoKSwgMCwgbV9vdXQuZXh0cmFjdFZhbHVlKG92
ZXJmbG93UmVzdWx0LCAxKSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAg
ICAgICAgIHNwZWN1bGF0ZShPdmVyZmxvdywgbm9WYWx1ZSgpLCAwLCBtX291dC50ZXN0SXNaZXJv
MzIodmFsdWUsIG1fb3V0LmNvbnN0SW50MzIoMHg3ZmZmZmZmZikpKTsKLQorICAgICAgICAgICAg
TFZhbHVlIHJlc3VsdDsKKyAgICAgICAgICAgIGlmICghc2hvdWxkQ2hlY2tPdmVyZmxvdyhtX25v
ZGUtPmFyaXRoTW9kZSgpKSkKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBtX291dC5uZWcodmFs
dWUpOworICAgICAgICAgICAgZWxzZSBpZiAoIXNob3VsZENoZWNrTmVnYXRpdmVaZXJvKG1fbm9k
ZS0+YXJpdGhNb2RlKCkpKSB7CisgICAgICAgICAgICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSBhIG5l
Z2F0ZS13aXRoLW92ZXJmbG93IGludHJpbnNpYy4gSG9wZWZ1bGx5IHRoaXMKKyAgICAgICAgICAg
ICAgICAvLyBkb2VzIHRoZSB0cmljaywgdGhvdWdoLgorICAgICAgICAgICAgICAgIExWYWx1ZSBv
dmVyZmxvd1Jlc3VsdCA9IG1fb3V0LnN1YldpdGhPdmVyZmxvdzMyKG1fb3V0LmludDMyWmVybywg
dmFsdWUpOworICAgICAgICAgICAgICAgIHNwZWN1bGF0ZShPdmVyZmxvdywgbm9WYWx1ZSgpLCAw
LCBtX291dC5leHRyYWN0VmFsdWUob3ZlcmZsb3dSZXN1bHQsIDEpKTsKKyAgICAgICAgICAgICAg
ICByZXN1bHQgPSBtX291dC5leHRyYWN0VmFsdWUob3ZlcmZsb3dSZXN1bHQsIDApOworICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBzcGVjdWxhdGUoT3ZlcmZsb3csIG5vVmFs
dWUoKSwgMCwgbV9vdXQudGVzdElzWmVybzMyKHZhbHVlLCBtX291dC5jb25zdEludDMyKDB4N2Zm
ZmZmZmYpKSk7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gbV9vdXQubmVnKHZhbHVlKTsKICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgc2V0SW50MzIocmVzdWx0KTsKQEAgLTExNTEsNyAr
MTM4Niw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBMVmFsdWUgdmFsdWUgPSBsb3dJbnQ1Miht
X25vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIExWYWx1ZSBvdmVyZmxvd1Jlc3VsdCA9IG1f
b3V0LnN1YldpdGhPdmVyZmxvdzY0KG1fb3V0LmludDY0WmVybywgdmFsdWUpOwogICAgICAgICAg
ICAgc3BlY3VsYXRlKEludDUyT3ZlcmZsb3csIG5vVmFsdWUoKSwgMCwgbV9vdXQuZXh0cmFjdFZh
bHVlKG92ZXJmbG93UmVzdWx0LCAxKSk7Ci0gICAgICAgICAgICBMVmFsdWUgcmVzdWx0ID0gbV9v
dXQubmVnKHZhbHVlKTsKKyAgICAgICAgICAgIExWYWx1ZSByZXN1bHQgPSBtX291dC5leHRyYWN0
VmFsdWUob3ZlcmZsb3dSZXN1bHQsIDApOwogICAgICAgICAgICAgc3BlY3VsYXRlKE5lZ2F0aXZl
WmVybywgbm9WYWx1ZSgpLCAwLCBtX291dC5pc1plcm82NChyZXN1bHQpKTsKICAgICAgICAgICAg
IHNldEludDUyKHJlc3VsdCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTEyNzUsNiArMTUxMCwx
NyBAQCBwcml2YXRlOgogICAgICAgICAgICAgbV9vdXQubm90RXF1YWwoY2VsbCwgd2Vha1BvaW50
ZXIobV9ub2RlLT5mdW5jdGlvbigpKSkpOwogICAgIH0KICAgICAKKyAgICB2b2lkIGNvbXBpbGVD
aGVja0V4ZWN1dGFibGUoKQorICAgIHsKKyAgICAgICAgTFZhbHVlIGNlbGwgPSBsb3dDZWxsKG1f
bm9kZS0+Y2hpbGQxKCkpOworICAgICAgICAKKyAgICAgICAgc3BlY3VsYXRlKAorICAgICAgICAg
ICAgQmFkRXhlY3V0YWJsZSwganNWYWx1ZVZhbHVlKGNlbGwpLCBtX25vZGUtPmNoaWxkMSgpLm5v
ZGUoKSwKKyAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKAorICAgICAgICAgICAgICAgIG1fb3V0
LmxvYWRQdHIoY2VsbCwgbV9oZWFwcy5KU0Z1bmN0aW9uX2V4ZWN1dGFibGUpLAorICAgICAgICAg
ICAgICAgIHdlYWtQb2ludGVyKG1fbm9kZS0+ZXhlY3V0YWJsZSgpKSkpOworICAgIH0KKyAgICAK
ICAgICB2b2lkIGNvbXBpbGVBcnJheWlmeVRvU3RydWN0dXJlKCkKICAgICB7CiAgICAgICAgIExW
YWx1ZSBjZWxsID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsKQEAgLTEzNzAsOCArMTYxNiw4
IEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgY2FsbCA9IG1fb3V0LmNhbGwo
CiAgICAgICAgICAgICBtX291dC5wYXRjaHBvaW50SW50NjRJbnRyaW5zaWMoKSwKLSAgICAgICAg
ICAgIG1fb3V0LmNvbnN0SW50MzIoc3RhY2ttYXBJRCksIG1fb3V0LmNvbnN0SW50MzIoc2l6ZU9m
R2V0QnlJZCgpKSwKLSAgICAgICAgICAgIGNvbnN0TnVsbChtX291dC5yZWY4KSwgbV9vdXQuY29u
c3RJbnQzMigyKSwgbV9jYWxsRnJhbWUsIGJhc2UpOworICAgICAgICAgICAgbV9vdXQuY29uc3RJ
bnQ2NChzdGFja21hcElEKSwgbV9vdXQuY29uc3RJbnQzMihzaXplT2ZHZXRCeUlkKCkpLAorICAg
ICAgICAgICAgY29uc3ROdWxsKG1fb3V0LnJlZjgpLCBtX291dC5jb25zdEludDMyKDEpLCBiYXNl
KTsKICAgICAgICAgc2V0SW5zdHJ1Y3Rpb25DYWxsaW5nQ29udmVudGlvbihjYWxsLCBMTFZNQW55
UmVnQ2FsbENvbnYpOwogICAgICAgICBzZXRKU1ZhbHVlKGNhbGwpOwogICAgICAgICAKQEAgLTEz
OTUsOCArMTY0MSw4IEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBMVmFsdWUgY2FsbCA9
IG1fb3V0LmNhbGwoCiAgICAgICAgICAgICBtX291dC5wYXRjaHBvaW50Vm9pZEludHJpbnNpYygp
LAotICAgICAgICAgICAgbV9vdXQuY29uc3RJbnQzMihzdGFja21hcElEKSwgbV9vdXQuY29uc3RJ
bnQzMihzaXplT2ZQdXRCeUlkKCkpLAotICAgICAgICAgICAgY29uc3ROdWxsKG1fb3V0LnJlZjgp
LCBtX291dC5jb25zdEludDMyKDMpLCBtX2NhbGxGcmFtZSwgYmFzZSwgdmFsdWUpOworICAgICAg
ICAgICAgbV9vdXQuY29uc3RJbnQ2NChzdGFja21hcElEKSwgbV9vdXQuY29uc3RJbnQzMihzaXpl
T2ZQdXRCeUlkKCkpLAorICAgICAgICAgICAgY29uc3ROdWxsKG1fb3V0LnJlZjgpLCBtX291dC5j
b25zdEludDMyKDIpLCBiYXNlLCB2YWx1ZSk7CiAgICAgICAgIHNldEluc3RydWN0aW9uQ2FsbGlu
Z0NvbnZlbnRpb24oY2FsbCwgTExWTUFueVJlZ0NhbGxDb252KTsKICAgICAgICAgCiAgICAgICAg
IG1fZnRsU3RhdGUucHV0QnlJZHMuYXBwZW5kKFB1dEJ5SWREZXNjcmlwdG9yKApAQCAtMTQ2Mywy
MCArMTcwOSwyMCBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEFycmF5OjpJbnQzMjoKICAgICAg
ICAgY2FzZSBBcnJheTo6RG91YmxlOgogICAgICAgICBjYXNlIEFycmF5OjpDb250aWd1b3VzOiB7
Ci0gICAgICAgICAgICBzZXRJbnQzMihtX291dC5sb2FkMzIobG93U3RvcmFnZShtX25vZGUtPmNo
aWxkMigpKSwgbV9oZWFwcy5CdXR0ZXJmbHlfcHVibGljTGVuZ3RoKSk7CisgICAgICAgICAgICBz
ZXRJbnQzMihtX291dC5sb2FkMzJOb25OZWdhdGl2ZShsb3dTdG9yYWdlKG1fbm9kZS0+Y2hpbGQy
KCkpLCBtX2hlYXBzLkJ1dHRlcmZseV9wdWJsaWNMZW5ndGgpKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgQXJyYXk6OlN0cmluZzog
ewogICAgICAgICAgICAgTFZhbHVlIHN0cmluZyA9IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7
Ci0gICAgICAgICAgICBzZXRJbnQzMihtX291dC5sb2FkMzIoc3RyaW5nLCBtX2hlYXBzLkpTU3Ry
aW5nX2xlbmd0aCkpOworICAgICAgICAgICAgc2V0SW50MzIobV9vdXQubG9hZDMyTm9uTmVnYXRp
dmUoc3RyaW5nLCBtX2hlYXBzLkpTU3RyaW5nX2xlbmd0aCkpOwogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg
IGlmIChpc1R5cGVkVmlldyhtX25vZGUtPmFycmF5TW9kZSgpLnR5cGVkQXJyYXlUeXBlKCkpKSB7
CiAgICAgICAgICAgICAgICAgc2V0SW50MzIoCi0gICAgICAgICAgICAgICAgICAgIG1fb3V0Lmxv
YWQzMihsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpLCBtX2hlYXBzLkpTQXJyYXlCdWZmZXJWaWV3
X2xlbmd0aCkpOworICAgICAgICAgICAgICAgICAgICBtX291dC5sb2FkMzJOb25OZWdhdGl2ZShs
b3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpLCBtX2hlYXBzLkpTQXJyYXlCdWZmZXJWaWV3X2xlbmd0
aCkpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IApAQCAtMTUxOCw3ICsxNzY0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIAogICAgICAgICAg
ICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgICAgIG1fb3V0LmFib3ZlT3JFcXVhbCgKLSAg
ICAgICAgICAgICAgICAgICAgaW5kZXgsIG1fb3V0LmxvYWQzMihzdG9yYWdlLCBtX2hlYXBzLkJ1
dHRlcmZseV9wdWJsaWNMZW5ndGgpKSwKKyAgICAgICAgICAgICAgICAgICAgaW5kZXgsIG1fb3V0
LmxvYWQzMk5vbk5lZ2F0aXZlKHN0b3JhZ2UsIG1faGVhcHMuQnV0dGVyZmx5X3B1YmxpY0xlbmd0
aCkpLAogICAgICAgICAgICAgICAgIHNsb3dDYXNlLCBmYXN0Q2FzZSk7CiAgICAgICAgICAgICAK
ICAgICAgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuYXBwZW5kVG8oZmFzdENh
c2UsIHNsb3dDYXNlKTsKQEAgLTE1NjUsNyArMTgxMSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgICAgICBtX291dC5hYm92
ZU9yRXF1YWwoCi0gICAgICAgICAgICAgICAgICAgIGluZGV4LCBtX291dC5sb2FkMzIoc3RvcmFn
ZSwgbV9oZWFwcy5CdXR0ZXJmbHlfcHVibGljTGVuZ3RoKSksCisgICAgICAgICAgICAgICAgICAg
IGluZGV4LCBtX291dC5sb2FkMzJOb25OZWdhdGl2ZShzdG9yYWdlLCBtX2hlYXBzLkJ1dHRlcmZs
eV9wdWJsaWNMZW5ndGgpKSwKICAgICAgICAgICAgICAgICBzbG93Q2FzZSwgaW5Cb3VuZHMpOwog
ICAgICAgICAgICAgCiAgICAgICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFw
cGVuZFRvKGluQm91bmRzLCBib3hQYXRoKTsKQEAgLTE2ODcsNiArMTkzMyw3IEBAIHByaXZhdGU6
CiAgICAgICAgIEVkZ2UgY2hpbGQyID0gbV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDEpOwog
ICAgICAgICBFZGdlIGNoaWxkMyA9IG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAyKTsKICAg
ICAgICAgRWRnZSBjaGlsZDQgPSBtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMyk7CisgICAg
ICAgIEVkZ2UgY2hpbGQ1ID0gbV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUsIDQpOwogICAgICAg
ICAKICAgICAgICAgc3dpdGNoIChtX25vZGUtPmFycmF5TW9kZSgpLnR5cGUoKSkgewogICAgICAg
ICBjYXNlIEFycmF5OjpHZW5lcmljOiB7CkBAIC0xODAxLDYgKzIwNDgsOSBAQCBwcml2YXRlOgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fb3V0Lnplcm9FeHQoaW5kZXgsIG1fb3V0Lmlu
dFB0ciksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9vdXQuY29uc3RJbnRQdHIobG9n
RWxlbWVudFNpemUodHlwZSkpKSkpOwogICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAg
IExUeXBlIHJlZlR5cGU7CisgICAgICAgICAgICAgICAgTFZhbHVlIHZhbHVlVG9TdG9yZTsKKyAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBpZiAoaXNJbnQodHlwZSkpIHsKICAgICAg
ICAgICAgICAgICAgICAgTFZhbHVlIGludFZhbHVlOwogICAgICAgICAgICAgICAgICAgICBzd2l0
Y2ggKGNoaWxkMy51c2VLaW5kKCkpIHsKQEAgLTE4NzYsMzQgKzIxMjYsNTMgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZWxlbWVu
dFNpemUodHlwZSkpIHsKICAgICAgICAgICAgICAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAg
ICAgICAgICAgICAgbV9vdXQuc3RvcmU4KG1fb3V0LmludENhc3QoaW50VmFsdWUsIG1fb3V0Lmlu
dDgpLCBwb2ludGVyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlVG9TdG9yZSA9IG1f
b3V0LmludENhc3QoaW50VmFsdWUsIG1fb3V0LmludDgpOworICAgICAgICAgICAgICAgICAgICAg
ICAgcmVmVHlwZSA9IG1fb3V0LnJlZjg7CiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgICAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgICAgICAgICAgICAgbV9v
dXQuc3RvcmUxNihtX291dC5pbnRDYXN0KGludFZhbHVlLCBtX291dC5pbnQxNiksIHBvaW50ZXIp
OworICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVUb1N0b3JlID0gbV9vdXQuaW50Q2FzdChp
bnRWYWx1ZSwgbV9vdXQuaW50MTYpOworICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZSA9
IG1fb3V0LnJlZjE2OwogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICAgICAgICAgIGNhc2UgNDoKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fb3V0LnN0b3JlMzIo
aW50VmFsdWUsIHBvaW50ZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVUb1N0b3Jl
ID0gaW50VmFsdWU7CisgICAgICAgICAgICAgICAgICAgICAgICByZWZUeXBlID0gbV9vdXQucmVm
MzI7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9IGVsc2UgLyog
IWlzSW50KHR5cGUpICovIHsKKyAgICAgICAgICAgICAgICAgICAgTFZhbHVlIHZhbHVlID0gbG93
RG91YmxlKGNoaWxkMyk7CisgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodHlwZSkgeworICAg
ICAgICAgICAgICAgICAgICBjYXNlIFR5cGVGbG9hdDMyOgorICAgICAgICAgICAgICAgICAgICAg
ICAgdmFsdWVUb1N0b3JlID0gbV9vdXQuZnBDYXN0KHZhbHVlLCBtX291dC5mbG9hdFR5cGUpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgcmVmVHlwZSA9IG1fb3V0LnJlZkZsb2F0OworICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgVHlwZUZs
b2F0NjQ6CisgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVRvU3RvcmUgPSB2YWx1ZTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHJlZlR5cGUgPSBtX291dC5yZWZEb3VibGU7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoKICAg
ICAgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgCi0gICAgICAg
ICAgICAgICAgQVNTRVJUKGlzRmxvYXQodHlwZSkpOwotICAgICAgICAgICAgICAgIAotICAgICAg
ICAgICAgICAgIExWYWx1ZSB2YWx1ZSA9IGxvd0RvdWJsZShjaGlsZDMpOwotICAgICAgICAgICAg
ICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICAgICAgICAgIGNhc2UgVHlwZUZsb2F0MzI6Ci0g
ICAgICAgICAgICAgICAgICAgIG1fb3V0LnN0b3JlRmxvYXQobV9vdXQuZnBDYXN0KHZhbHVlLCBt
X291dC5mbG9hdFR5cGUpLCBwb2ludGVyKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKLSAgICAgICAgICAgICAgICAgICAgbV9v
dXQuc3RvcmVEb3VibGUodmFsdWUsIHBvaW50ZXIpOwotICAgICAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgICAgIGlmIChtX25vZGUtPmFycmF5
TW9kZSgpLmlzSW5Cb3VuZHMoKSkKKyAgICAgICAgICAgICAgICAgICAgbV9vdXQuc3RvcmUodmFs
dWVUb1N0b3JlLCBwb2ludGVyLCByZWZUeXBlKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAg
ICAgICAgICAgICAgICAgICAgTEJhc2ljQmxvY2sgaXNJbkJvdW5kcyA9IEZUTF9ORVdfQkxPQ0so
bV9vdXQsICgiUHV0QnlWYWwgdHlwZWQgYXJyYXkgaW4gYm91bmRzIGNhc2UiKSk7CisgICAgICAg
ICAgICAgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9v
dXQsICgiUHV0QnlWYWwgdHlwZWQgYXJyYXkgY29udGludWF0aW9uIikpOworICAgICAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgbV9vdXQuYnJhbmNoKAorICAgICAgICAgICAg
ICAgICAgICAgICAgbV9vdXQuYWJvdmVPckVxdWFsKGluZGV4LCBsb3dJbnQzMihjaGlsZDUpKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVhdGlvbiwgaXNJbkJvdW5kcyk7CisgICAg
ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4
dCA9IG1fb3V0LmFwcGVuZFRvKGlzSW5Cb3VuZHMsIGNvbnRpbnVhdGlvbik7CisgICAgICAgICAg
ICAgICAgICAgIG1fb3V0LnN0b3JlKHZhbHVlVG9TdG9yZSwgcG9pbnRlciwgcmVmVHlwZSk7Cisg
ICAgICAgICAgICAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAgICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlv
biwgbGFzdE5leHQpOwogICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKQEAgLTIwNjAs
NiArMjMyOSwxMDkgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIG1fb3V0LmNvbnN0SW50UHRyKG1f
bm9kZS0+bnVtQ29uc3RhbnRzKCkpKSk7CiAgICAgfQogICAgIAorICAgIHZvaWQgY29tcGlsZU5l
d0FycmF5V2l0aFNpemUoKQorICAgIHsKKyAgICAgICAgTFZhbHVlIHB1YmxpY0xlbmd0aCA9IGxv
d0ludDMyKG1fbm9kZS0+Y2hpbGQxKCkpOworICAgICAgICAKKyAgICAgICAgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCA9IG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG1fbm9kZS0+Y29kZU9y
aWdpbik7CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5hcnJh
eVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oCisgICAgICAgICAgICBt
X25vZGUtPmluZGV4aW5nVHlwZSgpKTsKKyAgICAgICAgCisgICAgICAgIGlmICghZ2xvYmFsT2Jq
ZWN0LT5pc0hhdmluZ0FCYWRUaW1lKCkgJiYgIWhhc0FycmF5U3RvcmFnZShtX25vZGUtPmluZGV4
aW5nVHlwZSgpKSkgeworICAgICAgICAgICAgQVNTRVJUKAorICAgICAgICAgICAgICAgIGhhc1Vu
ZGVjaWRlZChzdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpKQorICAgICAgICAgICAgICAgIHx8IGhh
c0ludDMyKHN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCkpCisgICAgICAgICAgICAgICAgfHwgaGFz
RG91YmxlKHN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCkpCisgICAgICAgICAgICAgICAgfHwgaGFz
Q29udGlndW91cyhzdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpKSk7CisKKyAgICAgICAgICAgIExC
YXNpY0Jsb2NrIGZhc3RDYXNlID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJOZXdBcnJheVdpdGhT
aXplIGZhc3QgY2FzZSIpKTsKKyAgICAgICAgICAgIExCYXNpY0Jsb2NrIGxhcmdlQ2FzZSA9IEZU
TF9ORVdfQkxPQ0sobV9vdXQsICgiTmV3QXJyYXlXaXRoU2l6ZSBsYXJnZSBjYXNlIikpOworICAg
ICAgICAgICAgTEJhc2ljQmxvY2sgZmFpbENhc2UgPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIk5l
d0FycmF5V2l0aFNpemUgZmFpbCBjYXNlIikpOworICAgICAgICAgICAgTEJhc2ljQmxvY2sgc2xv
d0Nhc2UgPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIk5ld0FycmF5V2l0aFNpemUgc2xvdyBjYXNl
IikpOworICAgICAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gRlRMX05FV19CTE9D
SyhtX291dCwgKCJOZXdBcnJheVdpdGhTaXplIGNvbnRpbnVhdGlvbiIpKTsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgbV9vdXQuYnJhbmNoKAorICAgICAgICAgICAgICAgIG1fb3V0LmFib3Zl
T3JFcXVhbChwdWJsaWNMZW5ndGgsIG1fb3V0LmNvbnN0SW50MzIoTUlOX1NQQVJTRV9BUlJBWV9J
TkRFWCkpLAorICAgICAgICAgICAgICAgIGxhcmdlQ2FzZSwgZmFzdENhc2UpOworCisgICAgICAg
ICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGZhc3RDYXNlLCBsYXJn
ZUNhc2UpOworICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBXZSBkb24ndCByb3VuZCB1cCB0
byBCQVNFX1ZFQ1RPUl9MRU4gZm9yIG5ldyBBcnJheShibGFoKS4KKyAgICAgICAgICAgIExWYWx1
ZSB2ZWN0b3JMZW5ndGggPSBwdWJsaWNMZW5ndGg7CisgICAgICAgICAgICAKKyAgICAgICAgICAg
IExWYWx1ZSBwYXlsb2FkU2l6ZSA9CisgICAgICAgICAgICAgICAgbV9vdXQuc2hsKG1fb3V0Lnpl
cm9FeHQodmVjdG9yTGVuZ3RoLCBtX291dC5pbnRQdHIpLCBtX291dC5jb25zdEludFB0cigzKSk7
CisgICAgICAgICAgICAKKyAgICAgICAgICAgIExWYWx1ZSBidXR0ZXJmbHlTaXplID0gbV9vdXQu
YWRkKAorICAgICAgICAgICAgICAgIHBheWxvYWRTaXplLCBtX291dC5jb25zdEludFB0cihzaXpl
b2YoSW5kZXhpbmdIZWFkZXIpKSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIExWYWx1ZSBl
bmRPZlN0b3JhZ2UgPSBhbGxvY2F0ZUJhc2ljU3RvcmFnZUFuZEdldEVuZChidXR0ZXJmbHlTaXpl
LCBmYWlsQ2FzZSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIExWYWx1ZSBidXR0ZXJmbHkg
PSBtX291dC5zdWIoZW5kT2ZTdG9yYWdlLCBwYXlsb2FkU2l6ZSk7CisgICAgICAgICAgICAKKyAg
ICAgICAgICAgIExWYWx1ZSBvYmplY3QgPSBhbGxvY2F0ZU9iamVjdDxKU0FycmF5PigKKyAgICAg
ICAgICAgICAgICBtX291dC5jb25zdEludFB0cihzdHJ1Y3R1cmUpLCBidXR0ZXJmbHksIGZhaWxD
YXNlKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbV9vdXQuc3RvcmUzMihwdWJsaWNMZW5n
dGgsIGJ1dHRlcmZseSwgbV9oZWFwcy5CdXR0ZXJmbHlfcHVibGljTGVuZ3RoKTsKKyAgICAgICAg
ICAgIG1fb3V0LnN0b3JlMzIodmVjdG9yTGVuZ3RoLCBidXR0ZXJmbHksIG1faGVhcHMuQnV0dGVy
Zmx5X3ZlY3Rvckxlbmd0aCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChoYXNEb3Vi
bGUobV9ub2RlLT5pbmRleGluZ1R5cGUoKSkpIHsKKyAgICAgICAgICAgICAgICBMQmFzaWNCbG9j
ayBpbml0TG9vcCA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiTmV3QXJyYXlXaXRoU2l6ZSBkb3Vi
bGUgaW5pdCBsb29wIikpOworICAgICAgICAgICAgICAgIExCYXNpY0Jsb2NrIGluaXREb25lID0g
RlRMX05FV19CTE9DSyhtX291dCwgKCJOZXdBcnJheVdpdGhTaXplIGRvdWJsZSBpbml0IGRvbmUi
KSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgVmFsdWVGcm9tQmxvY2sgb3Jp
Z2luYWxJbmRleCA9IG1fb3V0LmFuY2hvcih2ZWN0b3JMZW5ndGgpOworICAgICAgICAgICAgICAg
IFZhbHVlRnJvbUJsb2NrIG9yaWdpbmFsUG9pbnRlciA9IG1fb3V0LmFuY2hvcihidXR0ZXJmbHkp
OworICAgICAgICAgICAgICAgIG1fb3V0LmJyYW5jaChtX291dC5ub3RaZXJvMzIodmVjdG9yTGVu
Z3RoKSwgaW5pdExvb3AsIGluaXREb25lKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAg
ICAgICBMQmFzaWNCbG9jayBpbml0TGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyhpbml0TG9vcCwg
aW5pdERvbmUpOworICAgICAgICAgICAgICAgIExWYWx1ZSBpbmRleCA9IG1fb3V0LnBoaShtX291
dC5pbnQzMiwgb3JpZ2luYWxJbmRleCk7CisgICAgICAgICAgICAgICAgTFZhbHVlIHBvaW50ZXIg
PSBtX291dC5waGkobV9vdXQuaW50UHRyLCBvcmlnaW5hbFBvaW50ZXIpOworICAgICAgICAgICAg
ICAgIAorICAgICAgICAgICAgICAgIG1fb3V0LnN0b3JlNjQoCisgICAgICAgICAgICAgICAgICAg
IG1fb3V0LmNvbnN0SW50NjQoYml0d2lzZV9jYXN0PGludDY0X3Q+KFFOYU4pKSwKKyAgICAgICAg
ICAgICAgICAgICAgVHlwZWRQb2ludGVyKG1faGVhcHMuaW5kZXhlZERvdWJsZVByb3BlcnRpZXMu
YXRBbnlJbmRleCgpLCBwb2ludGVyKSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAg
ICAgTFZhbHVlIG5leHRJbmRleCA9IG1fb3V0LnN1YihpbmRleCwgbV9vdXQuaW50MzJPbmUpOwor
ICAgICAgICAgICAgICAgIGFkZEluY29taW5nKGluZGV4LCBtX291dC5hbmNob3IobmV4dEluZGV4
KSk7CisgICAgICAgICAgICAgICAgYWRkSW5jb21pbmcocG9pbnRlciwgbV9vdXQuYW5jaG9yKG1f
b3V0LmFkZChwb2ludGVyLCBtX291dC5pbnRQdHJFaWdodCkpKTsKKyAgICAgICAgICAgICAgICBt
X291dC5icmFuY2gobV9vdXQubm90WmVybzMyKG5leHRJbmRleCksIGluaXRMb29wLCBpbml0RG9u
ZSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8oaW5p
dERvbmUsIGluaXRMYXN0TmV4dCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAg
ICAgICAgIFZhbHVlRnJvbUJsb2NrIGZhc3RSZXN1bHQgPSBtX291dC5hbmNob3Iob2JqZWN0KTsK
KyAgICAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgbV9vdXQuYXBwZW5kVG8obGFyZ2VDYXNlLCBmYWlsQ2FzZSk7CisgICAgICAgICAg
ICBWYWx1ZUZyb21CbG9jayBsYXJnZVN0cnVjdHVyZSA9IG1fb3V0LmFuY2hvcihtX291dC5jb25z
dEludFB0cigKKyAgICAgICAgICAgICAgICBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlRm9y
SW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhBcnJheVN0b3JhZ2UpKSk7Cisg
ICAgICAgICAgICBtX291dC5qdW1wKHNsb3dDYXNlKTsKKyAgICAgICAgICAgIAorICAgICAgICAg
ICAgbV9vdXQuYXBwZW5kVG8oZmFpbENhc2UsIHNsb3dDYXNlKTsKKyAgICAgICAgICAgIFZhbHVl
RnJvbUJsb2NrIGZhaWxTdHJ1Y3R1cmUgPSBtX291dC5hbmNob3IobV9vdXQuY29uc3RJbnRQdHIo
c3RydWN0dXJlKSk7CisgICAgICAgICAgICBtX291dC5qdW1wKHNsb3dDYXNlKTsKKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8oc2xvd0Nhc2UsIGNvbnRpbnVhdGlvbik7
CisgICAgICAgICAgICBMVmFsdWUgc3RydWN0dXJlVmFsdWUgPSBtX291dC5waGkoCisgICAgICAg
ICAgICAgICAgbV9vdXQuaW50UHRyLCBsYXJnZVN0cnVjdHVyZSwgZmFpbFN0cnVjdHVyZSk7Cisg
ICAgICAgICAgICBWYWx1ZUZyb21CbG9jayBzbG93UmVzdWx0ID0gbV9vdXQuYW5jaG9yKHZtQ2Fs
bCgKKyAgICAgICAgICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyYXlXaXRo
U2l6ZSksCisgICAgICAgICAgICAgICAgbV9jYWxsRnJhbWUsIHN0cnVjdHVyZVZhbHVlLCBwdWJs
aWNMZW5ndGgpKTsKKyAgICAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4
dCk7CisgICAgICAgICAgICBzZXRKU1ZhbHVlKG1fb3V0LnBoaShtX291dC5pbnRQdHIsIGZhc3RS
ZXN1bHQsIHNsb3dSZXN1bHQpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
ICAgICAKKyAgICAgICAgTFZhbHVlIHN0cnVjdHVyZVZhbHVlID0gbV9vdXQuc2VsZWN0KAorICAg
ICAgICAgICAgbV9vdXQuYWJvdmVPckVxdWFsKHB1YmxpY0xlbmd0aCwgbV9vdXQuY29uc3RJbnQz
MihNSU5fU1BBUlNFX0FSUkFZX0lOREVYKSksCisgICAgICAgICAgICBtX291dC5jb25zdEludFB0
cigKKyAgICAgICAgICAgICAgICBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlRm9ySW5kZXhp
bmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhBcnJheVN0b3JhZ2UpKSwKKyAgICAgICAg
ICAgIG1fb3V0LmNvbnN0SW50UHRyKHN0cnVjdHVyZSkpOworICAgICAgICBzZXRKU1ZhbHVlKHZt
Q2FsbChtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZSksIG1fY2FsbEZy
YW1lLCBzdHJ1Y3R1cmVWYWx1ZSwgcHVibGljTGVuZ3RoKSk7CisgICAgfQorICAgIAogICAgIHZv
aWQgY29tcGlsZUFsbG9jYXRlUHJvcGVydHlTdG9yYWdlKCkKICAgICB7CiAgICAgICAgIFN0cnVj
dHVyZVRyYW5zaXRpb25EYXRhJiBkYXRhID0gbV9ub2RlLT5zdHJ1Y3R1cmVUcmFuc2l0aW9uRGF0
YSgpOwpAQCAtMjEwMiw2ICsyNDc0LDE2MCBAQCBwcml2YXRlOgogICAgICAgICBzZXRTdG9yYWdl
KHJlc3VsdCk7CiAgICAgfQogICAgIAorICAgIHZvaWQgY29tcGlsZVRvU3RyaW5nKCkKKyAgICB7
CisgICAgICAgIHN3aXRjaCAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkpIHsKKyAgICAgICAg
Y2FzZSBTdHJpbmdPYmplY3RVc2U6IHsKKyAgICAgICAgICAgIExWYWx1ZSBjZWxsID0gbG93Q2Vs
bChtX25vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgICAgIHNwZWN1bGF0ZVN0cmluZ09iamVjdEZv
ckNlbGwobV9ub2RlLT5jaGlsZDEoKSwgY2VsbCk7CisgICAgICAgICAgICBtX2ludGVycHJldGVy
LmZpbHRlcihtX25vZGUtPmNoaWxkMSgpLCBTcGVjU3RyaW5nT2JqZWN0KTsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgc2V0SlNWYWx1ZShtX291dC5sb2FkUHRyKGNlbGwsIG1faGVhcHMuSlNX
cmFwcGVyT2JqZWN0X2ludGVybmFsVmFsdWUpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorICAgICAgICAgICAgCisgICAgICAgIGNhc2UgU3RyaW5nT3JTdHJpbmdPYmplY3RVc2U6
IHsKKyAgICAgICAgICAgIExWYWx1ZSBjZWxsID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsK
KyAgICAgICAgICAgIExWYWx1ZSBzdHJ1Y3R1cmUgPSBtX291dC5sb2FkUHRyKGNlbGwsIG1faGVh
cHMuSlNDZWxsX3N0cnVjdHVyZSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIExCYXNpY0Js
b2NrIG5vdFN0cmluZyA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiVG9TdHJpbmcgU3RyaW5nT3JT
dHJpbmdPYmplY3Qgbm90IHN0cmluZyBjYXNlIikpOworICAgICAgICAgICAgTEJhc2ljQmxvY2sg
Y29udGludWF0aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJUb1N0cmluZyBTdHJpbmdPclN0
cmluZ09iamVjdCBjb250aW51YXRpb24iKSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIFZh
bHVlRnJvbUJsb2NrIHNpbXBsZVJlc3VsdCA9IG1fb3V0LmFuY2hvcihjZWxsKTsKKyAgICAgICAg
ICAgIG1fb3V0LmJyYW5jaCgKKyAgICAgICAgICAgICAgICBtX291dC5lcXVhbChzdHJ1Y3R1cmUs
IG1fb3V0LmNvbnN0SW50UHRyKHZtKCkuc3RyaW5nU3RydWN0dXJlLmdldCgpKSksCisgICAgICAg
ICAgICAgICAgY29udGludWF0aW9uLCBub3RTdHJpbmcpOworICAgICAgICAgICAgCisgICAgICAg
ICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0LmFwcGVuZFRvKG5vdFN0cmluZywgY29u
dGludWF0aW9uKTsKKyAgICAgICAgICAgIHNwZWN1bGF0ZVN0cmluZ09iamVjdEZvclN0cnVjdHVy
ZShtX25vZGUtPmNoaWxkMSgpLCBzdHJ1Y3R1cmUpOworICAgICAgICAgICAgVmFsdWVGcm9tQmxv
Y2sgdW5ib3hlZFJlc3VsdCA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAgICAgICAgICBtX291dC5s
b2FkUHRyKGNlbGwsIG1faGVhcHMuSlNXcmFwcGVyT2JqZWN0X2ludGVybmFsVmFsdWUpKTsKKyAg
ICAgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAgICAgICAgIAorICAgICAg
ICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAgICAgICAg
ICBzZXRKU1ZhbHVlKG1fb3V0LnBoaShtX291dC5pbnQ2NCwgc2ltcGxlUmVzdWx0LCB1bmJveGVk
UmVzdWx0KSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1faW50ZXJwcmV0ZXIuZmlsdGVy
KG1fbm9kZS0+Y2hpbGQxKCksIFNwZWNTdHJpbmcgfCBTcGVjU3RyaW5nT2JqZWN0KTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgIGNhc2UgQ2Vs
bFVzZToKKyAgICAgICAgY2FzZSBVbnR5cGVkVXNlOiB7CisgICAgICAgICAgICBMVmFsdWUgdmFs
dWU7CisgICAgICAgICAgICBpZiAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gQ2VsbFVz
ZSkKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgdmFsdWUgPSBsb3dKU1ZhbHVlKG1fbm9k
ZS0+Y2hpbGQxKCkpOworICAgICAgICAgICAgCisgICAgICAgICAgICBMQmFzaWNCbG9jayBpc0Nl
bGwgPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIlRvU3RyaW5nIENlbGxVc2UvVW50eXBlZFVzZSBp
cyBjZWxsIikpOworICAgICAgICAgICAgTEJhc2ljQmxvY2sgbm90U3RyaW5nID0gRlRMX05FV19C
TE9DSyhtX291dCwgKCJUb1N0cmluZyBDZWxsVXNlL1VudHlwZWRVc2Ugbm90IHN0cmluZyIpKTsK
KyAgICAgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9v
dXQsICgiVG9TdHJpbmcgQ2VsbFVzZS9VbnR5cGVkVXNlIGNvbnRpbnVhdGlvbiIpKTsKKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgTFZhbHVlIGlzQ2VsbFByZWRpY2F0ZTsKKyAgICAgICAgICAg
IGlmIChtX25vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBDZWxsVXNlKQorICAgICAgICAgICAg
ICAgIGlzQ2VsbFByZWRpY2F0ZSA9IG1fb3V0LmJvb2xlYW5UcnVlOworICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgIGlzQ2VsbFByZWRpY2F0ZSA9IHRoaXMtPmlzQ2VsbCh2YWx1ZSk7
CisgICAgICAgICAgICBtX291dC5icmFuY2goaXNDZWxsUHJlZGljYXRlLCBpc0NlbGwsIG5vdFN0
cmluZyk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0g
bV9vdXQuYXBwZW5kVG8oaXNDZWxsLCBub3RTdHJpbmcpOworICAgICAgICAgICAgVmFsdWVGcm9t
QmxvY2sgc2ltcGxlUmVzdWx0ID0gbV9vdXQuYW5jaG9yKHZhbHVlKTsKKyAgICAgICAgICAgIExW
YWx1ZSBpc1N0cmluZ1ByZWRpY2F0ZTsKKyAgICAgICAgICAgIGlmIChtX25vZGUtPmNoaWxkMSgp
LT5wcmVkaWN0aW9uKCkgJiBTcGVjU3RyaW5nKSB7CisgICAgICAgICAgICAgICAgaXNTdHJpbmdQ
cmVkaWNhdGUgPSBtX291dC5lcXVhbCgKKyAgICAgICAgICAgICAgICAgICAgbV9vdXQubG9hZFB0
cih2YWx1ZSwgbV9oZWFwcy5KU0NlbGxfc3RydWN0dXJlKSwKKyAgICAgICAgICAgICAgICAgICAg
bV9vdXQuY29uc3RJbnRQdHIodm0oKS5zdHJpbmdTdHJ1Y3R1cmUuZ2V0KCkpKTsKKyAgICAgICAg
ICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGlzU3RyaW5nUHJlZGljYXRlID0gbV9vdXQuYm9v
bGVhbkZhbHNlOworICAgICAgICAgICAgbV9vdXQuYnJhbmNoKGlzU3RyaW5nUHJlZGljYXRlLCBj
b250aW51YXRpb24sIG5vdFN0cmluZyk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1fb3V0
LmFwcGVuZFRvKG5vdFN0cmluZywgY29udGludWF0aW9uKTsKKyAgICAgICAgICAgIExWYWx1ZSBv
cGVyYXRpb247CisgICAgICAgICAgICBpZiAobV9ub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0g
Q2VsbFVzZSkKKyAgICAgICAgICAgICAgICBvcGVyYXRpb24gPSBtX291dC5vcGVyYXRpb24ob3Bl
cmF0aW9uVG9TdHJpbmdPbkNlbGwpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
IG9wZXJhdGlvbiA9IG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25Ub1N0cmluZyk7CisgICAgICAg
ICAgICBWYWx1ZUZyb21CbG9jayBjb252ZXJ0ZWRSZXN1bHQgPSBtX291dC5hbmNob3Iodm1DYWxs
KG9wZXJhdGlvbiwgbV9jYWxsRnJhbWUsIHZhbHVlKSk7CisgICAgICAgICAgICBtX291dC5qdW1w
KGNvbnRpbnVhdGlvbik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1fb3V0LmFwcGVuZFRv
KGNvbnRpbnVhdGlvbiwgbGFzdE5leHQpOworICAgICAgICAgICAgc2V0SlNWYWx1ZShtX291dC5w
aGkobV9vdXQuaW50NjQsIHNpbXBsZVJlc3VsdCwgY29udmVydGVkUmVzdWx0KSk7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIHZvaWQgY29tcGlsZU1ha2VSb3BlKCkK
KyAgICB7CisgICAgICAgIExWYWx1ZSBraWRzWzNdOworICAgICAgICB1bnNpZ25lZCBudW1LaWRz
OworICAgICAgICBraWRzWzBdID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAg
a2lkc1sxXSA9IGxvd0NlbGwobV9ub2RlLT5jaGlsZDIoKSk7CisgICAgICAgIGlmIChtX25vZGUt
PmNoaWxkMygpKSB7CisgICAgICAgICAgICBraWRzWzJdID0gbG93Q2VsbChtX25vZGUtPmNoaWxk
MygpKTsKKyAgICAgICAgICAgIG51bUtpZHMgPSAzOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAga2lkc1syXSA9IDA7CisgICAgICAgICAgICBudW1LaWRzID0gMjsKKyAgICAgICAgfQor
ICAgICAgICAKKyAgICAgICAgTEJhc2ljQmxvY2sgc2xvd1BhdGggPSBGVExfTkVXX0JMT0NLKG1f
b3V0LCAoIk1ha2VSb3BlIHNsb3cgcGF0aCIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGlu
dWF0aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJNYWtlUm9wZSBjb250aW51YXRpb24iKSk7
CisgICAgICAgIAorICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0Lmluc2VydE5l
d0Jsb2Nrc0JlZm9yZShzbG93UGF0aCk7CisgICAgICAgIAorICAgICAgICBNYXJrZWRBbGxvY2F0
b3ImIGFsbG9jYXRvciA9CisgICAgICAgICAgICB2bSgpLmhlYXAuYWxsb2NhdG9yRm9yT2JqZWN0
V2l0aEltbW9ydGFsU3RydWN0dXJlRGVzdHJ1Y3RvcihzaXplb2YoSlNSb3BlU3RyaW5nKSk7Cisg
ICAgICAgIAorICAgICAgICBMVmFsdWUgcmVzdWx0ID0gYWxsb2NhdGVDZWxsKAorICAgICAgICAg
ICAgbV9vdXQuY29uc3RJbnRQdHIoJmFsbG9jYXRvciksCisgICAgICAgICAgICBtX291dC5jb25z
dEludFB0cih2bSgpLnN0cmluZ1N0cnVjdHVyZS5nZXQoKSksCisgICAgICAgICAgICBzbG93UGF0
aCk7CisgICAgICAgIAorICAgICAgICBtX291dC5zdG9yZVB0cihtX291dC5pbnRQdHJaZXJvLCBy
ZXN1bHQsIG1faGVhcHMuSlNTdHJpbmdfdmFsdWUpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgbnVtS2lkczsgKytpKQorICAgICAgICAgICAgbV9vdXQuc3RvcmVQdHIoa2lkc1tp
XSwgcmVzdWx0LCBtX2hlYXBzLkpTUm9wZVN0cmluZ19maWJlcnNbaV0pOworICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSBudW1LaWRzOyBpIDwgSlNSb3BlU3RyaW5nOjpzX21heEludGVybmFsUm9w
ZUxlbmd0aDsgKytpKQorICAgICAgICAgICAgbV9vdXQuc3RvcmVQdHIobV9vdXQuaW50UHRyWmVy
bywgcmVzdWx0LCBtX2hlYXBzLkpTUm9wZVN0cmluZ19maWJlcnNbaV0pOworICAgICAgICBMVmFs
dWUgZmxhZ3MgPSBtX291dC5sb2FkMzIoa2lkc1swXSwgbV9oZWFwcy5KU1N0cmluZ19mbGFncyk7
CisgICAgICAgIExWYWx1ZSBsZW5ndGggPSBtX291dC5sb2FkMzIoa2lkc1swXSwgbV9oZWFwcy5K
U1N0cmluZ19sZW5ndGgpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgbnVtS2lk
czsgKytpKSB7CisgICAgICAgICAgICBmbGFncyA9IG1fb3V0LmJpdEFuZChmbGFncywgbV9vdXQu
bG9hZDMyKGtpZHNbaV0sIG1faGVhcHMuSlNTdHJpbmdfZmxhZ3MpKTsKKyAgICAgICAgICAgIGxl
bmd0aCA9IG1fb3V0LmFkZChsZW5ndGgsIG1fb3V0LmxvYWQzMihraWRzW2ldLCBtX2hlYXBzLkpT
U3RyaW5nX2xlbmd0aCkpOworICAgICAgICB9CisgICAgICAgIG1fb3V0LnN0b3JlMzIoCisgICAg
ICAgICAgICBtX291dC5iaXRBbmQobV9vdXQuY29uc3RJbnQzMihKU1N0cmluZzo6SXM4Qml0KSwg
ZmxhZ3MpLAorICAgICAgICAgICAgcmVzdWx0LCBtX2hlYXBzLkpTU3RyaW5nX2ZsYWdzKTsKKyAg
ICAgICAgbV9vdXQuc3RvcmUzMihsZW5ndGgsIHJlc3VsdCwgbV9oZWFwcy5KU1N0cmluZ19sZW5n
dGgpOworICAgICAgICAKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZmFzdFJlc3VsdCA9IG1fb3V0
LmFuY2hvcihyZXN1bHQpOworICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CisgICAg
ICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhzbG93UGF0aCwgY29udGludWF0aW9uKTsKKyAg
ICAgICAgVmFsdWVGcm9tQmxvY2sgc2xvd1Jlc3VsdDsKKyAgICAgICAgc3dpdGNoIChudW1LaWRz
KSB7CisgICAgICAgIGNhc2UgMjoKKyAgICAgICAgICAgIHNsb3dSZXN1bHQgPSBtX291dC5hbmNo
b3Iodm1DYWxsKAorICAgICAgICAgICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25NYWtl
Um9wZTIpLCBtX2NhbGxGcmFtZSwga2lkc1swXSwga2lkc1sxXSkpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgMzoKKyAgICAgICAgICAgIHNsb3dSZXN1bHQgPSBtX291dC5hbmNo
b3Iodm1DYWxsKAorICAgICAgICAgICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25NYWtl
Um9wZTMpLCBtX2NhbGxGcmFtZSwga2lkc1swXSwga2lkc1sxXSwga2lkc1syXSkpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAg
bV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAKKyAgICAgICAgbV9vdXQuYXBwZW5k
VG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAgICAgIHNldEpTVmFsdWUobV9vdXQucGhp
KG1fb3V0LmludDY0LCBmYXN0UmVzdWx0LCBzbG93UmVzdWx0KSk7CisgICAgfQorICAgIAogICAg
IHZvaWQgY29tcGlsZVN0cmluZ0NoYXJBdCgpCiAgICAgewogICAgICAgICBMVmFsdWUgYmFzZSA9
IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7CkBAIC0yMTE0LDcgKzI2NDAsNyBAQCBwcml2YXRl
OgogICAgICAgICAgICAgCiAgICAgICAgIG1fb3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0
LmFib3ZlT3JFcXVhbCgKLSAgICAgICAgICAgICAgICBpbmRleCwgbV9vdXQubG9hZDMyKGJhc2Us
IG1faGVhcHMuSlNTdHJpbmdfbGVuZ3RoKSksCisgICAgICAgICAgICAgICAgaW5kZXgsIG1fb3V0
LmxvYWQzMk5vbk5lZ2F0aXZlKGJhc2UsIG1faGVhcHMuSlNTdHJpbmdfbGVuZ3RoKSksCiAgICAg
ICAgICAgICBzbG93UGF0aCwgZmFzdFBhdGgpOwogICAgICAgICAgICAgCiAgICAgICAgIExCYXNp
Y0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuYXBwZW5kVG8oZmFzdFBhdGgsIHNsb3dQYXRoKTsKQEAg
LTIyMTAsNyArMjczNiw4IEBAIHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICBzcGVjdWxhdGUo
CiAgICAgICAgICAgICBVbmNvdW50YWJsZSwgbm9WYWx1ZSgpLCAwLAotICAgICAgICAgICAgbV9v
dXQuYWJvdmVPckVxdWFsKGluZGV4LCBtX291dC5sb2FkMzIoYmFzZSwgbV9oZWFwcy5KU1N0cmlu
Z19sZW5ndGgpKSk7CisgICAgICAgICAgICBtX291dC5hYm92ZU9yRXF1YWwoCisgICAgICAgICAg
ICAgICAgaW5kZXgsIG1fb3V0LmxvYWQzMk5vbk5lZ2F0aXZlKGJhc2UsIG1faGVhcHMuSlNTdHJp
bmdfbGVuZ3RoKSkpOwogICAgICAgICAKICAgICAgICAgTFZhbHVlIHN0cmluZ0ltcGwgPSBtX291
dC5sb2FkUHRyKGJhc2UsIG1faGVhcHMuSlNTdHJpbmdfdmFsdWUpOwogICAgICAgICAKQEAgLTIz
NDUsNiArMjg3MiwxNiBAQCBwcml2YXRlOgogICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51
YXRpb24sIGxhc3ROZXh0KTsKICAgICB9CiAgICAgCisgICAgdm9pZCBjb21waWxlR2V0Q2FsbGVl
KCkKKyAgICB7CisgICAgICAgIHNldEpTVmFsdWUobV9vdXQubG9hZFB0cihhZGRyZXNzRm9yKEpT
U3RhY2s6OkNhbGxlZSkpKTsKKyAgICB9CisgICAgCisgICAgdm9pZCBjb21waWxlR2V0U2NvcGUo
KQorICAgIHsKKyAgICAgICAgc2V0SlNWYWx1ZShtX291dC5sb2FkUHRyKGxvd0NlbGwobV9ub2Rl
LT5jaGlsZDEoKSksIG1faGVhcHMuSlNGdW5jdGlvbl9zY29wZSkpOworICAgIH0KKyAgICAKICAg
ICB2b2lkIGNvbXBpbGVHZXRNeVNjb3BlKCkKICAgICB7CiAgICAgICAgIHNldEpTVmFsdWUobV9v
dXQubG9hZFB0cihhZGRyZXNzRm9yKApAQCAtMjQ4OCwzNSArMzAyNSwzNyBAQCBwcml2YXRlOgog
ICAgIAogICAgIHZvaWQgY29tcGlsZUNhbGxPckNvbnN0cnVjdCgpCiAgICAgewotICAgICAgICAv
LyBGSVhNRTogVGhpcyBpcyB1bmFjY2VwdGFibHkgc2xvdy4KLSAgICAgICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzYyMQorICAgICAgICBpbnQgZHVtbXlU
aGlzQXJndW1lbnQgPSBtX25vZGUtPm9wKCkgPT0gQ2FsbCA/IDAgOiAxOworICAgICAgICBpbnQg
bnVtUGFzc2VkQXJncyA9IG1fbm9kZS0+bnVtQ2hpbGRyZW4oKSAtIDE7CisgICAgICAgIGludCBu
dW1BcmdzID0gbnVtUGFzc2VkQXJncyArIGR1bW15VGhpc0FyZ3VtZW50OwogICAgICAgICAKLSAg
ICAgICAgSl9KSVRPcGVyYXRpb25fRSBmdW5jdGlvbiA9Ci0gICAgICAgICAgICBtX25vZGUtPm9w
KCkgPT0gQ2FsbCA/IG9wZXJhdGlvbkZUTENhbGwgOiBvcGVyYXRpb25GVExDb25zdHJ1Y3Q7Cisg
ICAgICAgIExWYWx1ZSBjYWxsZWUgPSBsb3dKU1ZhbHVlKG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9u
b2RlLCAwKSk7CiAgICAgICAgIAotICAgICAgICBpbnQgZHVtbXlUaGlzQXJndW1lbnQgPSBtX25v
ZGUtPm9wKCkgPT0gQ2FsbCA/IDAgOiAxOworICAgICAgICB1bnNpZ25lZCBzdGFja21hcElEID0g
bV9zdGFja21hcElEcysrOwogICAgICAgICAKLSAgICAgICAgaW50IG51bVBhc3NlZEFyZ3MgPSBt
X25vZGUtPm51bUNoaWxkcmVuKCkgLSAxOworICAgICAgICBWZWN0b3I8TFZhbHVlPiBhcmd1bWVu
dHM7CisgICAgICAgIGFyZ3VtZW50cy5hcHBlbmQobV9vdXQuY29uc3RJbnQ2NChzdGFja21hcElE
KSk7CisgICAgICAgIGFyZ3VtZW50cy5hcHBlbmQobV9vdXQuY29uc3RJbnQzMihzaXplT2ZDYWxs
KCkpKTsKKyAgICAgICAgYXJndW1lbnRzLmFwcGVuZChjb25zdE51bGwobV9vdXQucmVmOCkpOwor
ICAgICAgICBhcmd1bWVudHMuYXBwZW5kKG1fb3V0LmNvbnN0SW50MzIoMSArIEpTU3RhY2s6OkNh
bGxGcmFtZUhlYWRlclNpemUgLSBKU1N0YWNrOjpDYWxsZXJGcmFtZUFuZFBDU2l6ZSArIG51bUFy
Z3MpKTsKKyAgICAgICAgYXJndW1lbnRzLmFwcGVuZChjYWxsZWUpOyAvLyBjYWxsZWUgLT4gJXJh
eAorICAgICAgICBhcmd1bWVudHMuYXBwZW5kKGdldFVuZGVmKG1fb3V0LmludDY0KSk7IC8vIGNv
ZGUgYmxvY2sKKyAgICAgICAgYXJndW1lbnRzLmFwcGVuZChnZXRVbmRlZihtX291dC5pbnQ2NCkp
OyAvLyBzY29wZSBjaGFpbgorICAgICAgICBhcmd1bWVudHMuYXBwZW5kKGNhbGxlZSk7IC8vIGNh
bGxlZSAtPiBzdGFjaworICAgICAgICBhcmd1bWVudHMuYXBwZW5kKG1fb3V0LmNvbnN0SW50NjQo
bnVtQXJncykpOyAvLyBhcmd1bWVudCBjb3VudCBhbmQgemVyb3MgZm9yIHRoZSB0YWcKKyAgICAg
ICAgaWYgKGR1bW15VGhpc0FyZ3VtZW50KQorICAgICAgICAgICAgYXJndW1lbnRzLmFwcGVuZChn
ZXRVbmRlZihtX291dC5pbnQ2NCkpOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bVBh
c3NlZEFyZ3M7ICsraSkKKyAgICAgICAgICAgIGFyZ3VtZW50cy5hcHBlbmQobG93SlNWYWx1ZSht
X2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMSArIGkpKSk7CiAgICAgICAgIAotICAgICAgICBM
VmFsdWUgY2FsbGVlRnJhbWUgPSBtX291dC5hZGQoCi0gICAgICAgICAgICBtX2NhbGxGcmFtZSwK
LSAgICAgICAgICAgIG1fb3V0LmNvbnN0SW50UHRyKHNpemVvZihSZWdpc3RlcikgKiB2aXJ0dWFs
UmVnaXN0ZXJGb3JMb2NhbChtX2dyYXBoLmZyYW1lUmVnaXN0ZXJDb3VudCgpKS5vZmZzZXQoKSkp
OworICAgICAgICBjYWxsUHJlZmxpZ2h0KCk7CiAgICAgICAgIAotICAgICAgICBtX291dC5zdG9y
ZTMyKAotICAgICAgICAgICAgbV9vdXQuY29uc3RJbnQzMihudW1QYXNzZWRBcmdzICsgZHVtbXlU
aGlzQXJndW1lbnQpLAotICAgICAgICAgICAgcGF5bG9hZEZvcihjYWxsZWVGcmFtZSwgSlNTdGFj
azo6QXJndW1lbnRDb3VudCkpOwotICAgICAgICBtX291dC5zdG9yZTY0KG1fY2FsbEZyYW1lLCBj
YWxsZWVGcmFtZSwgbV9oZWFwcy5DYWxsRnJhbWVfY2FsbGVyRnJhbWUpOwotICAgICAgICBtX291
dC5zdG9yZTY0KAotICAgICAgICAgICAgbG93SlNWYWx1ZShtX2dyYXBoLnZhckFyZ0NoaWxkKG1f
bm9kZSwgMCkpLAotICAgICAgICAgICAgYWRkcmVzc0ZvcihjYWxsZWVGcmFtZSwgSlNTdGFjazo6
Q2FsbGVlKSk7CisgICAgICAgIExWYWx1ZSBjYWxsID0gbV9vdXQuY2FsbChtX291dC5wYXRjaHBv
aW50SW50NjRJbnRyaW5zaWMoKSwgYXJndW1lbnRzKTsKKyAgICAgICAgc2V0SW5zdHJ1Y3Rpb25D
YWxsaW5nQ29udmVudGlvbihjYWxsLCBMTFZNV2ViS2l0SlNDYWxsQ29udik7CiAgICAgICAgIAot
ICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bVBhc3NlZEFyZ3M7ICsraSkgewotICAgICAg
ICAgICAgbV9vdXQuc3RvcmU2NCgKLSAgICAgICAgICAgICAgICBsb3dKU1ZhbHVlKG1fZ3JhcGgu
dmFyQXJnQ2hpbGQobV9ub2RlLCAxICsgaSkpLAotICAgICAgICAgICAgICAgIGFkZHJlc3NGb3Io
Y2FsbGVlRnJhbWUsIHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50KGkgKyBkdW1teVRoaXNBcmd1
bWVudCkub2Zmc2V0KCkpKTsKLSAgICAgICAgfQorICAgICAgICBtX2Z0bFN0YXRlLmpzQ2FsbHMu
YXBwZW5kKEpTQ2FsbChzdGFja21hcElELCBtX25vZGUpKTsKICAgICAgICAgCi0gICAgICAgIHNl
dEpTVmFsdWUodm1DYWxsKG1fb3V0Lm9wZXJhdGlvbihmdW5jdGlvbiksIGNhbGxlZUZyYW1lKSk7
CisgICAgICAgIHNldEpTVmFsdWUoY2FsbCk7CiAgICAgfQogICAgIAogICAgIHZvaWQgY29tcGls
ZUp1bXAoKQpAQCAtMjYyNyw3ICszMTY2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIAogICAg
ICAgICAgICAgbV9vdXQuYnJhbmNoKAogICAgICAgICAgICAgICAgIG1fb3V0Lm5vdEVxdWFsKAot
ICAgICAgICAgICAgICAgICAgICBtX291dC5sb2FkMzIoc3RyaW5nVmFsdWUsIG1faGVhcHMuSlNT
dHJpbmdfbGVuZ3RoKSwKKyAgICAgICAgICAgICAgICAgICAgbV9vdXQubG9hZDMyTm9uTmVnYXRp
dmUoc3RyaW5nVmFsdWUsIG1faGVhcHMuSlNTdHJpbmdfbGVuZ3RoKSwKICAgICAgICAgICAgICAg
ICAgICAgbV9vdXQuaW50MzJPbmUpLAogICAgICAgICAgICAgICAgIGxvd0Jsb2NrKGRhdGEtPmZh
bGxUaHJvdWdoKSwgbGVuZ3RoSXMxKTsKICAgICAgICAgICAgIApAQCAtMjcwOCw2ICszMjQ3LDIy
IEBAIHByaXZhdGU6CiAgICAgICAgIGluZm8ubV9pc0ludmFsaWRhdGlvblBvaW50ID0gdHJ1ZTsK
ICAgICB9CiAgICAgCisgICAgdm9pZCBjb21waWxlQ2hlY2tBcmd1bWVudHNOb3RDcmVhdGVkKCkK
KyAgICB7CisgICAgICAgIEFTU0VSVCghaXNFbXB0eVNwZWN1bGF0aW9uKAorICAgICAgICAgICAg
bV9zdGF0ZS52YXJpYWJsZXMoKS5vcGVyYW5kKAorICAgICAgICAgICAgICAgIG1fZ3JhcGguYXJn
dW1lbnRzUmVnaXN0ZXJGb3IobV9ub2RlLT5jb2RlT3JpZ2luKSkubV90eXBlKSk7CisgICAgICAg
IAorICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgcmVnID0gbV9ncmFwaC5tYWNoaW5lQXJndW1lbnRz
UmVnaXN0ZXJGb3IobV9ub2RlLT5jb2RlT3JpZ2luKTsKKyAgICAgICAgc3BlY3VsYXRlKEFyZ3Vt
ZW50c0VzY2FwZWQsIG5vVmFsdWUoKSwgMCwgbV9vdXQubm90WmVybzY0KG1fb3V0LmxvYWQ2NChh
ZGRyZXNzRm9yKHJlZykpKSk7CisgICAgfQorICAgIAorICAgIHZvaWQgY29tcGlsZUNvdW50RXhl
Y3V0aW9uKCkKKyAgICB7CisgICAgICAgIFR5cGVkUG9pbnRlciBjb3VudGVyID0gbV9vdXQuYWJz
b2x1dGUobV9ub2RlLT5leGVjdXRpb25Db3VudGVyKCktPmFkZHJlc3MoKSk7CisgICAgICAgIG1f
b3V0LnN0b3JlNjQobV9vdXQuYWRkKG1fb3V0LmxvYWQ2NChjb3VudGVyKSwgbV9vdXQuY29uc3RJ
bnQ2NCgxKSksIGNvdW50ZXIpOworICAgIH0KKyAgICAKICAgICBUeXBlZFBvaW50ZXIgYmFzZUlu
ZGV4KEluZGV4ZWRBYnN0cmFjdEhlYXAmIGhlYXAsIExWYWx1ZSBzdG9yYWdlLCBMVmFsdWUgaW5k
ZXgsIEVkZ2UgZWRnZSkKICAgICB7CiAgICAgICAgIHJldHVybiBtX291dC5iYXNlSW5kZXgoCkBA
IC0yOTI0LDcgKzM0NzksNyBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgaWYgKEpTQXJyYXlC
dWZmZXJWaWV3KiB2aWV3ID0gbV9ncmFwaC50cnlHZXRGb2xkYWJsZVZpZXcoYmFzZUVkZ2Uubm9k
ZSgpLCBhcnJheU1vZGUpKQogICAgICAgICAgICAgcmV0dXJuIG1fb3V0LmNvbnN0SW50MzIodmll
dy0+bGVuZ3RoKCkpOwotICAgICAgICByZXR1cm4gbV9vdXQubG9hZDMyKGJhc2UsIG1faGVhcHMu
SlNBcnJheUJ1ZmZlclZpZXdfbGVuZ3RoKTsKKyAgICAgICAgcmV0dXJuIG1fb3V0LmxvYWQzMk5v
bk5lZ2F0aXZlKGJhc2UsIG1faGVhcHMuSlNBcnJheUJ1ZmZlclZpZXdfbGVuZ3RoKTsKICAgICB9
CiAgICAgCiAgICAgTFZhbHVlIHR5cGVkQXJyYXlMZW5ndGgoRWRnZSBiYXNlRWRnZSwgQXJyYXlN
b2RlIGFycmF5TW9kZSkKQEAgLTI5NDgsNyArMzUwMyw3IEBAIHByaXZhdGU6CiAgICAgICAgICAg
ICAgICAgICAgIE1hbnVhbE9wZXJhbmRTcGVjdWxhdGlvbikpOwogICAgICAgICBjYXNlIFN0cmlu
Z1VzZTogewogICAgICAgICAgICAgTFZhbHVlIHN0cmluZ1ZhbHVlID0gbG93U3RyaW5nKG1fbm9k
ZS0+Y2hpbGQxKCkpOwotICAgICAgICAgICAgTFZhbHVlIGxlbmd0aCA9IG1fb3V0LmxvYWQzMihz
dHJpbmdWYWx1ZSwgbV9oZWFwcy5KU1N0cmluZ19sZW5ndGgpOworICAgICAgICAgICAgTFZhbHVl
IGxlbmd0aCA9IG1fb3V0LmxvYWQzMk5vbk5lZ2F0aXZlKHN0cmluZ1ZhbHVlLCBtX2hlYXBzLkpT
U3RyaW5nX2xlbmd0aCk7CiAgICAgICAgICAgICByZXR1cm4gbV9vdXQubm90RXF1YWwobGVuZ3Ro
LCBtX291dC5pbnQzMlplcm8pOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgVW50eXBlZFVzZTog
ewpAQCAtMzA4Miw3ICszNjM3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgTEJhc2ljQmxvY2sgY29u
dGludWF0aW9uKQogICAgIHsKICAgICAgICAgTFZhbHVlIGlzTm90SW5Cb3VuZHMgPSBtX291dC5h
Ym92ZU9yRXF1YWwoCi0gICAgICAgICAgICBpbmRleCwgbV9vdXQubG9hZDMyKHN0b3JhZ2UsIG1f
aGVhcHMuQnV0dGVyZmx5X3B1YmxpY0xlbmd0aCkpOworICAgICAgICAgICAgaW5kZXgsIG1fb3V0
LmxvYWQzMk5vbk5lZ2F0aXZlKHN0b3JhZ2UsIG1faGVhcHMuQnV0dGVyZmx5X3B1YmxpY0xlbmd0
aCkpOwogICAgICAgICBpZiAoIW1fbm9kZS0+YXJyYXlNb2RlKCkuaXNJbkJvdW5kcygpKSB7CiAg
ICAgICAgICAgICBMQmFzaWNCbG9jayBub3RJbkJvdW5kc0Nhc2UgPQogICAgICAgICAgICAgICAg
IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiUHV0QnlWYWwgbm90IGluIGJvdW5kcyIpKTsKQEAgLTMw
OTQsNyArMzY0OSw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4
dCA9IG1fb3V0LmFwcGVuZFRvKG5vdEluQm91bmRzQ2FzZSwgcGVyZm9ybVN0b3JlKTsKICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgIExWYWx1ZSBpc091dE9mQm91bmRzID0gbV9vdXQuYWJv
dmVPckVxdWFsKAotICAgICAgICAgICAgICAgIGluZGV4LCBtX291dC5sb2FkMzIoc3RvcmFnZSwg
bV9oZWFwcy5CdXR0ZXJmbHlfdmVjdG9yTGVuZ3RoKSk7CisgICAgICAgICAgICAgICAgaW5kZXgs
IG1fb3V0LmxvYWQzMk5vbk5lZ2F0aXZlKHN0b3JhZ2UsIG1faGVhcHMuQnV0dGVyZmx5X3ZlY3Rv
ckxlbmd0aCkpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKCFtX25vZGUtPmFy
cmF5TW9kZSgpLmlzT3V0T2ZCb3VuZHMoKSkKICAgICAgICAgICAgICAgICBzcGVjdWxhdGUoT3V0
T2ZCb3VuZHMsIG5vVmFsdWUoKSwgMCwgaXNPdXRPZkJvdW5kcyk7CkBAIC0zNzE4LDYgKzQyNzMs
NyBAQCBwcml2YXRlOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgS25vd25JbnQz
MlVzZToKICAgICAgICAgY2FzZSBLbm93bk51bWJlclVzZToKKyAgICAgICAgY2FzZSBLbm93blN0
cmluZ1VzZToKICAgICAgICAgICAgIEFTU0VSVCghbV9pbnRlcnByZXRlci5uZWVkc1R5cGVDaGVj
ayhlZGdlKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBJbnQzMlVzZToKQEAg
LTM3NDEsNiArNDI5NywxMiBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIFN0cmluZ1VzZToKICAg
ICAgICAgICAgIHNwZWN1bGF0ZVN0cmluZyhlZGdlKTsKICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIFN0cmluZ09iamVjdFVzZToKKyAgICAgICAgICAgIHNwZWN1bGF0ZVN0cmluZ09i
amVjdChlZGdlKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFN0cmluZ09yU3Ry
aW5nT2JqZWN0VXNlOgorICAgICAgICAgICAgc3BlY3VsYXRlU3RyaW5nT3JTdHJpbmdPYmplY3Qo
ZWRnZSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBSZWFsTnVtYmVyVXNlOgog
ICAgICAgICAgICAgc3BlY3VsYXRlUmVhbE51bWJlcihlZGdlKTsKICAgICAgICAgICAgIGJyZWFr
OwpAQCAtMzkyOCw2ICs0NDkwLDU1IEBAIHByaXZhdGU6CiAgICAgICAgIHNwZWN1bGF0ZVN0cmlu
ZyhlZGdlLCBsb3dDZWxsKGVkZ2UpKTsKICAgICB9CiAgICAgCisgICAgdm9pZCBzcGVjdWxhdGVT
dHJpbmdPYmplY3QoRWRnZSBlZGdlKQorICAgIHsKKyAgICAgICAgaWYgKCFtX2ludGVycHJldGVy
Lm5lZWRzVHlwZUNoZWNrKGVkZ2UsIFNwZWNTdHJpbmdPYmplY3QpKQorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAKKyAgICAgICAgc3BlY3VsYXRlU3RyaW5nT2JqZWN0Rm9yQ2VsbChlZGdl
LCBsb3dDZWxsKGVkZ2UpKTsKKyAgICAgICAgbV9pbnRlcnByZXRlci5maWx0ZXIoZWRnZSwgU3Bl
Y1N0cmluZ09iamVjdCk7CisgICAgfQorICAgIAorICAgIHZvaWQgc3BlY3VsYXRlU3RyaW5nT3JT
dHJpbmdPYmplY3QoRWRnZSBlZGdlKQorICAgIHsKKyAgICAgICAgaWYgKCFtX2ludGVycHJldGVy
Lm5lZWRzVHlwZUNoZWNrKGVkZ2UsIFNwZWNTdHJpbmcgfCBTcGVjU3RyaW5nT2JqZWN0KSkKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgCisgICAgICAgIExCYXNpY0Jsb2NrIG5vdFN0cmlu
ZyA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiU3BlY3VsYXRlIFN0cmluZ09yU3RyaW5nT2JqZWN0
IG5vdCBzdHJpbmcgY2FzZSIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0g
RlRMX05FV19CTE9DSyhtX291dCwgKCJTcGVjdWxhdGUgU3RyaW5nT3JTdHJpbmdPYmplY3QgY29u
dGludWF0aW9uIikpOworICAgICAgICAKKyAgICAgICAgTFZhbHVlIHN0cnVjdHVyZSA9IG1fb3V0
LmxvYWRQdHIobG93Q2VsbChlZGdlKSwgbV9oZWFwcy5KU0NlbGxfc3RydWN0dXJlKTsKKyAgICAg
ICAgbV9vdXQuYnJhbmNoKAorICAgICAgICAgICAgbV9vdXQuZXF1YWwoc3RydWN0dXJlLCBtX291
dC5jb25zdEludFB0cih2bSgpLnN0cmluZ1N0cnVjdHVyZS5nZXQoKSkpLAorICAgICAgICAgICAg
Y29udGludWF0aW9uLCBub3RTdHJpbmcpOworICAgICAgICAKKyAgICAgICAgTEJhc2ljQmxvY2sg
bGFzdE5leHQgPSBtX291dC5hcHBlbmRUbyhub3RTdHJpbmcsIGNvbnRpbnVhdGlvbik7CisgICAg
ICAgIHNwZWN1bGF0ZVN0cmluZ09iamVjdEZvclN0cnVjdHVyZShlZGdlLCBzdHJ1Y3R1cmUpOwor
ICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAgICBtX291
dC5hcHBlbmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0KTsKKyAgICAgICAgCisgICAgICAgIG1f
aW50ZXJwcmV0ZXIuZmlsdGVyKGVkZ2UsIFNwZWNTdHJpbmcgfCBTcGVjU3RyaW5nT2JqZWN0KTsK
KyAgICB9CisgICAgCisgICAgdm9pZCBzcGVjdWxhdGVTdHJpbmdPYmplY3RGb3JDZWxsKEVkZ2Ug
ZWRnZSwgTFZhbHVlIGNlbGwpCisgICAgeworICAgICAgICBzcGVjdWxhdGVTdHJpbmdPYmplY3RG
b3JTdHJ1Y3R1cmUoZWRnZSwgbV9vdXQubG9hZFB0cihjZWxsLCBtX2hlYXBzLkpTQ2VsbF9zdHJ1
Y3R1cmUpKTsKKyAgICB9CisgICAgCisgICAgdm9pZCBzcGVjdWxhdGVTdHJpbmdPYmplY3RGb3JT
dHJ1Y3R1cmUoRWRnZSBlZGdlLCBMVmFsdWUgc3RydWN0dXJlKQorICAgIHsKKyAgICAgICAgU3Ry
dWN0dXJlKiBzdHJpbmdPYmplY3RTdHJ1Y3R1cmUgPQorICAgICAgICAgICAgbV9ncmFwaC5nbG9i
YWxPYmplY3RGb3IobV9ub2RlLT5jb2RlT3JpZ2luKS0+c3RyaW5nT2JqZWN0U3RydWN0dXJlKCk7
CisgICAgICAgIAorICAgICAgICBpZiAobV9zdGF0ZS5mb3JOb2RlKGVkZ2UpLm1fY3VycmVudEtu
b3duU3RydWN0dXJlLmlzU3Vic2V0T2YoU3RydWN0dXJlU2V0KHN0cmluZ09iamVjdFN0cnVjdHVy
ZSkpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAKKyAgICAgICAgc3BlY3VsYXRlKAor
ICAgICAgICAgICAgTm90U3RyaW5nT2JqZWN0LCBub1ZhbHVlKCksIDAsCisgICAgICAgICAgICBt
X291dC5ub3RFcXVhbChzdHJ1Y3R1cmUsIHdlYWtQb2ludGVyKHN0cmluZ09iamVjdFN0cnVjdHVy
ZSkpKTsKKyAgICB9CisgICAgCiAgICAgdm9pZCBzcGVjdWxhdGVOb25OdWxsT2JqZWN0KEVkZ2Ug
ZWRnZSwgTFZhbHVlIGNlbGwpCiAgICAgewogICAgICAgICBMVmFsdWUgc3RydWN0dXJlID0gbV9v
dXQubG9hZFB0cihjZWxsLCBtX2hlYXBzLkpTQ2VsbF9zdHJ1Y3R1cmUpOwpAQCAtNDEwNiwxOCAr
NDcxNywxMyBAQCBwcml2YXRlOgogICAgICAgICBpZiAobW9kZSA9PSBOb0V4Y2VwdGlvbnMpCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIAotICAgICAgICBMQmFzaWNCbG9jayBkaWRIYXZl
RXhjZXB0aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJEaWQgaGF2ZSBleGNlcHRpb24iKSk7
CiAgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9vdXQs
ICgiRXhjZXB0aW9uIGNoZWNrIGNvbnRpbnVhdGlvbiIpKTsKICAgICAgICAgCiAgICAgICAgIG1f
b3V0LmJyYW5jaCgKICAgICAgICAgICAgIG1fb3V0Lm5vdFplcm82NChtX291dC5sb2FkNjQobV9v
dXQuYWJzb2x1dGUodm0oKS5hZGRyZXNzT2ZFeGNlcHRpb24oKSkpKSwKLSAgICAgICAgICAgIGRp
ZEhhdmVFeGNlcHRpb24sIGNvbnRpbnVhdGlvbik7CisgICAgICAgICAgICBtX2hhbmRsZUV4Y2Vw
dGlvbnMsIGNvbnRpbnVhdGlvbik7CiAgICAgICAgIAotICAgICAgICBMQmFzaWNCbG9jayBsYXN0
TmV4dCA9IG1fb3V0LmFwcGVuZFRvKGRpZEhhdmVFeGNlcHRpb24sIGNvbnRpbnVhdGlvbik7Ci0g
ICAgICAgIC8vIEZJWE1FOiBIYW5kbGUgZXhjZXB0aW9ucy4gaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExMzYyMgotICAgICAgICBtX291dC5jcmFzaCgpOwotICAgICAg
ICAKLSAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAg
ICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlvbik7CiAgICAgfQogICAgIAogICAgIExCYXNp
Y0Jsb2NrIGxvd0Jsb2NrKEJhc2ljQmxvY2sqIGJsb2NrKQpAQCAtNDEzMyw4ICs0NzM5LDExIEBA
IHByaXZhdGU6CiAgICAgdm9pZCBhcHBlbmRPU1JFeGl0KAogICAgICAgICBFeGl0S2luZCBraW5k
LCBGb3JtYXR0ZWRWYWx1ZSBsb3dWYWx1ZSwgTm9kZSogaGlnaFZhbHVlLCBMVmFsdWUgZmFpbENv
bmRpdGlvbikKICAgICB7Ci0gICAgICAgIGlmICh2ZXJib3NlQ29tcGlsYXRpb25FbmFibGVkKCkp
CisgICAgICAgIGlmICh2ZXJib3NlQ29tcGlsYXRpb25FbmFibGVkKCkpIHsKICAgICAgICAgICAg
IGRhdGFMb2coIiAgICBPU1IgZXhpdCAjIiwgbV9mdGxTdGF0ZS5qaXRDb2RlLT5vc3JFeGl0LnNp
emUoKSwgIiB3aXRoIGF2YWlsYWJpbGl0eTogIiwgbV9hdmFpbGFiaWxpdHksICJcbiIpOworICAg
ICAgICAgICAgaWYgKCFtX2F2YWlsYWJsZVJlY292ZXJpZXMuaXNFbXB0eSgpKQorICAgICAgICAg
ICAgICAgIGRhdGFMb2coIiAgICAgICAgQXZhaWxhYmxlIHJlY292ZXJpZXM6ICIsIGxpc3REdW1w
KG1fYXZhaWxhYmxlUmVjb3ZlcmllcyksICJcbiIpOworICAgICAgICB9CiAKICAgICAgICAgQVNT
RVJUKG1fZnRsU3RhdGUuaml0Q29kZS0+b3NyRXhpdC5zaXplKCkgPT0gbV9mdGxTdGF0ZS5maW5h
bGl6ZXItPm9zckV4aXQuc2l6ZSgpKTsKICAgICAgICAgCkBAIC00MTc4LDcgKzQ3ODcsNiBAQCBw
cml2YXRlOgogICAgICAgICBPU1JFeGl0JiBleGl0LCBFeGl0QXJndW1lbnRMaXN0JiBhcmd1bWVu
dHMsIEZvcm1hdHRlZFZhbHVlIGxvd1ZhbHVlLAogICAgICAgICBDb2RlT3JpZ2luIGNvZGVPcmln
aW4pCiAgICAgewotICAgICAgICBhcmd1bWVudHMuYXBwZW5kKG1fY2FsbEZyYW1lKTsKICAgICAg
ICAgaWYgKCEhbG93VmFsdWUpCiAgICAgICAgICAgICBhcmd1bWVudHMuYXBwZW5kKGxvd1ZhbHVl
LnZhbHVlKCkpOwogICAgICAgICAKQEAgLTQyNDYsNyArNDg1NCw3IEBAIHByaXZhdGU6CiAgICAg
ewogICAgICAgICBleGl0Lm1fc3RhY2ttYXBJRCA9IG1fc3RhY2ttYXBJRHMrKzsKICAgICAgICAg
YXJndW1lbnRzLmluc2VydCgwLCBtX291dC5jb25zdEludDMyKE1hY3JvQXNzZW1ibGVyOjptYXhK
dW1wUmVwbGFjZW1lbnRTaXplKCkpKTsKLSAgICAgICAgYXJndW1lbnRzLmluc2VydCgwLCBtX291
dC5jb25zdEludDMyKGV4aXQubV9zdGFja21hcElEKSk7CisgICAgICAgIGFyZ3VtZW50cy5pbnNl
cnQoMCwgbV9vdXQuY29uc3RJbnQ2NChleGl0Lm1fc3RhY2ttYXBJRCkpOwogICAgICAgICAKICAg
ICAgICAgbV9vdXQuY2FsbChtX291dC5zdGFja21hcEludHJpbnNpYygpLCBhcmd1bWVudHMpOwog
ICAgIH0KQEAgLTQyNjAsNiArNDg2OCwxOSBAQCBwcml2YXRlOgogICAgICAgICBpZiAodHJ5VG9T
ZXRDb25zdGFudEV4aXRBcmd1bWVudChleGl0LCBpbmRleCwgbm9kZSkpCiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIAorICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9hdmFp
bGFibGVSZWNvdmVyaWVzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBBdmFpbGFibGVSZWNv
dmVyeSByZWNvdmVyeSA9IG1fYXZhaWxhYmxlUmVjb3Zlcmllc1tpXTsKKyAgICAgICAgICAgIGlm
IChyZWNvdmVyeS5ub2RlKCkgIT0gbm9kZSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgZXhpdC5tX3ZhbHVlc1tpbmRleF0gPSBFeGl0VmFsdWU6
OnJlY292ZXJ5KAorICAgICAgICAgICAgICAgIHJlY292ZXJ5Lm9wY29kZSgpLCBhcmd1bWVudHMu
c2l6ZSgpLCBhcmd1bWVudHMuc2l6ZSgpICsgMSwKKyAgICAgICAgICAgICAgICByZWNvdmVyeS5m
b3JtYXQoKSk7CisgICAgICAgICAgICBhcmd1bWVudHMuYXBwZW5kKHJlY292ZXJ5LmxlZnQoKSk7
CisgICAgICAgICAgICBhcmd1bWVudHMuYXBwZW5kKHJlY292ZXJ5LnJpZ2h0KCkpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIAogICAgICAgICBMb3dlcmVkTm9kZVZh
bHVlIHZhbHVlID0gbV9pbnQzMlZhbHVlcy5nZXQobm9kZSk7CiAgICAgICAgIGlmIChpc1ZhbGlk
KHZhbHVlKSkgewogICAgICAgICAgICAgYWRkRXhpdEFyZ3VtZW50KGV4aXQsIGFyZ3VtZW50cywg
aW5kZXgsIFZhbHVlRm9ybWF0SW50MzIsIHZhbHVlLnZhbHVlKCkpOwpAQCAtNDMyOSw2ICs0OTUw
LDI5IEBAIHByaXZhdGU6CiAgICAgICAgIGFyZ3VtZW50cy5hcHBlbmQodmFsdWUpOwogICAgIH0K
ICAgICAKKyAgICBib29sIGRvZXNLaWxsKEVkZ2UgZWRnZSkKKyAgICB7CisgICAgICAgIGlmIChl
ZGdlLmRvZXNOb3RLaWxsKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAor
ICAgICAgICBpZiAoZWRnZS0+aGFzQ29uc3RhbnQoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHZvaWQgYWRk
QXZhaWxhYmxlUmVjb3ZlcnkoCisgICAgICAgIE5vZGUqIG5vZGUsIFJlY292ZXJ5T3Bjb2RlIG9w
Y29kZSwgTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCwgVmFsdWVGb3JtYXQgZm9ybWF0KQorICAg
IHsKKyAgICAgICAgbV9hdmFpbGFibGVSZWNvdmVyaWVzLmFwcGVuZChBdmFpbGFibGVSZWNvdmVy
eShub2RlLCBvcGNvZGUsIGxlZnQsIHJpZ2h0LCBmb3JtYXQpKTsKKyAgICB9CisgICAgCisgICAg
dm9pZCBhZGRBdmFpbGFibGVSZWNvdmVyeSgKKyAgICAgICAgRWRnZSBlZGdlLCBSZWNvdmVyeU9w
Y29kZSBvcGNvZGUsIExWYWx1ZSBsZWZ0LCBMVmFsdWUgcmlnaHQsIFZhbHVlRm9ybWF0IGZvcm1h
dCkKKyAgICB7CisgICAgICAgIGFkZEF2YWlsYWJsZVJlY292ZXJ5KGVkZ2Uubm9kZSgpLCBvcGNv
ZGUsIGxlZnQsIHJpZ2h0LCBmb3JtYXQpOworICAgIH0KKyAgICAKICAgICB2b2lkIHNldEludDMy
KE5vZGUqIG5vZGUsIExWYWx1ZSB2YWx1ZSkKICAgICB7CiAgICAgICAgIG1faW50MzJWYWx1ZXMu
c2V0KG5vZGUsIExvd2VyZWROb2RlVmFsdWUodmFsdWUsIG1faGlnaEJsb2NrKSk7CkBAIC00NDMx
LDM1ICs1MDc1LDM3IEBAIHByaXZhdGU6CiAgICAgfQogICAgIFR5cGVkUG9pbnRlciBwYXlsb2Fk
Rm9yKExWYWx1ZSBiYXNlLCBpbnQgb3BlcmFuZCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZGRy
ZXNzRm9yKGJhc2UsIG9wZXJhbmQsIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlw
dG9yLCBhc0JpdHMucGF5bG9hZCkpOworICAgICAgICByZXR1cm4gYWRkcmVzc0ZvcihiYXNlLCBv
cGVyYW5kLCBQYXlsb2FkT2Zmc2V0KTsKICAgICB9CiAgICAgVHlwZWRQb2ludGVyIHRhZ0ZvcihM
VmFsdWUgYmFzZSwgaW50IG9wZXJhbmQpCiAgICAgewotICAgICAgICByZXR1cm4gYWRkcmVzc0Zv
cihiYXNlLCBvcGVyYW5kLCBPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwg
YXNCaXRzLnRhZykpOworICAgICAgICByZXR1cm4gYWRkcmVzc0ZvcihiYXNlLCBvcGVyYW5kLCBU
YWdPZmZzZXQpOwogICAgIH0KLSAgICBUeXBlZFBvaW50ZXIgYWRkcmVzc0ZvcihpbnQgb3BlcmFu
ZCkKKyAgICBUeXBlZFBvaW50ZXIgYWRkcmVzc0ZvcihpbnQgb3BlcmFuZCwgcHRyZGlmZl90IG9m
ZnNldCA9IDApCiAgICAgewotICAgICAgICByZXR1cm4gYWRkcmVzc0ZvcihtX2NhbGxGcmFtZSwg
b3BlcmFuZCk7CisgICAgICAgIHJldHVybiBhZGRyZXNzRm9yKFZpcnR1YWxSZWdpc3RlcihvcGVy
YW5kKSwgb2Zmc2V0KTsKICAgICB9Ci0gICAgVHlwZWRQb2ludGVyIGFkZHJlc3NGb3IoVmlydHVh
bFJlZ2lzdGVyIG9wZXJhbmQpCisgICAgVHlwZWRQb2ludGVyIGFkZHJlc3NGb3IoVmlydHVhbFJl
Z2lzdGVyIG9wZXJhbmQsIHB0cmRpZmZfdCBvZmZzZXQgPSAwKQogICAgIHsKLSAgICAgICAgcmV0
dXJuIGFkZHJlc3NGb3IobV9jYWxsRnJhbWUsIG9wZXJhbmQub2Zmc2V0KCkpOworICAgICAgICBp
ZiAob3BlcmFuZC5pc0xvY2FsKCkpCisgICAgICAgICAgICByZXR1cm4gYWRkcmVzc0ZvcihtX2Nh
cHR1cmVkLCBvcGVyYW5kLm9mZnNldCgpLCBvZmZzZXQpOworICAgICAgICByZXR1cm4gYWRkcmVz
c0ZvcihtX2NhbGxGcmFtZSwgb3BlcmFuZC5vZmZzZXQoKSwgb2Zmc2V0KTsKICAgICB9CiAgICAg
VHlwZWRQb2ludGVyIHBheWxvYWRGb3IoaW50IG9wZXJhbmQpCiAgICAgewotICAgICAgICByZXR1
cm4gcGF5bG9hZEZvcihtX2NhbGxGcmFtZSwgb3BlcmFuZCk7CisgICAgICAgIHJldHVybiBwYXls
b2FkRm9yKFZpcnR1YWxSZWdpc3RlcihvcGVyYW5kKSk7CiAgICAgfQogICAgIFR5cGVkUG9pbnRl
ciBwYXlsb2FkRm9yKFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kKQogICAgIHsKLSAgICAgICAgcmV0
dXJuIHBheWxvYWRGb3IobV9jYWxsRnJhbWUsIG9wZXJhbmQub2Zmc2V0KCkpOworICAgICAgICBy
ZXR1cm4gYWRkcmVzc0ZvcihvcGVyYW5kLCBQYXlsb2FkT2Zmc2V0KTsKICAgICB9CiAgICAgVHlw
ZWRQb2ludGVyIHRhZ0ZvcihpbnQgb3BlcmFuZCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0YWdG
b3IobV9jYWxsRnJhbWUsIG9wZXJhbmQpOworICAgICAgICByZXR1cm4gdGFnRm9yKFZpcnR1YWxS
ZWdpc3RlcihvcGVyYW5kKSk7CiAgICAgfQogICAgIFR5cGVkUG9pbnRlciB0YWdGb3IoVmlydHVh
bFJlZ2lzdGVyIG9wZXJhbmQpCiAgICAgewotICAgICAgICByZXR1cm4gdGFnRm9yKG1fY2FsbEZy
YW1lLCBvcGVyYW5kLm9mZnNldCgpKTsKKyAgICAgICAgcmV0dXJuIGFkZHJlc3NGb3Iob3BlcmFu
ZCwgVGFnT2Zmc2V0KTsKICAgICB9CiAgICAgCiAgICAgVk0mIHZtKCkgeyByZXR1cm4gbV9ncmFw
aC5tX3ZtOyB9CkBAIC00NDcxLDkgKzUxMTcsMTEgQEAgcHJpdmF0ZToKICAgICBPdXRwdXQgbV9v
dXQ7CiAgICAgCiAgICAgTEJhc2ljQmxvY2sgbV9wcm9sb2d1ZTsKKyAgICBMQmFzaWNCbG9jayBt
X2hhbmRsZUV4Y2VwdGlvbnM7CiAgICAgSGFzaE1hcDxCYXNpY0Jsb2NrKiwgTEJhc2ljQmxvY2s+
IG1fYmxvY2tzOwogICAgIAogICAgIExWYWx1ZSBtX2NhbGxGcmFtZTsKKyAgICBMVmFsdWUgbV9j
YXB0dXJlZDsKICAgICBMVmFsdWUgbV90YWdUeXBlTnVtYmVyOwogICAgIExWYWx1ZSBtX3RhZ01h
c2s7CiAgICAgCkBAIC00NDg5LDYgKzUxMzcsOCBAQCBwcml2YXRlOgogICAgIAogICAgIE9wZXJh
bmRzPEF2YWlsYWJpbGl0eT4gbV9hdmFpbGFiaWxpdHk7CiAgICAgCisgICAgVmVjdG9yPEF2YWls
YWJsZVJlY292ZXJ5LCAzPiBtX2F2YWlsYWJsZVJlY292ZXJpZXM7CisgICAgCiAgICAgSW5QbGFj
ZUFic3RyYWN0U3RhdGUgbV9zdGF0ZTsKICAgICBBYnN0cmFjdEludGVycHJldGVyPEluUGxhY2VB
YnN0cmFjdFN0YXRlPiBtX2ludGVycHJldGVyOwogICAgIEJhc2ljQmxvY2sqIG1faGlnaEJsb2Nr
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFbnRyeS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkVudHJ5LmNwcAppbmRleCAxODUwNDYw
NTQ3Mjg0MzRhYWE2YjZhNDRkMmVmNjBhNTFlN2RjMGMyLi4xZjZhMjkxOGY0ZWY3MjA5MmYzZmI2
ZDcwNzE2N2I1ZmEzMDZjZWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTE9TUkVudHJ5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkVu
dHJ5LmNwcApAQCAtNDMsNiArNDMsNyBAQCB2b2lkKiBwcmVwYXJlT1NSRW50cnkoCiB7CiAgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBDb2RlQmxvY2sqIGJhc2VsaW5lID0gZGZnQ29kZUJs
b2NrLT5iYXNlbGluZVZlcnNpb24oKTsKKyAgICBFeGVjdXRhYmxlQmFzZSogZXhlY3V0YWJsZSA9
IGRmZ0NvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCk7CiAgICAgREZHOjpKSVRDb2RlKiBkZmdD
b2RlID0gZGZnQ29kZUJsb2NrLT5qaXRDb2RlKCktPmRmZygpOwogICAgIEZvck9TUkVudHJ5SklU
Q29kZSogZW50cnlDb2RlID0gZW50cnlDb2RlQmxvY2stPmppdENvZGUoKS0+ZnRsRm9yT1NSRW50
cnkoKTsKICAgICAKQEAgLTgwLDcgKzgxLDcgQEAgdm9pZCogcHJlcGFyZU9TUkVudHJ5KAogICAg
ICAgICBzY3JhdGNoW2xvY2FsXSA9IEpTVmFsdWU6OmVuY29kZSh2YWx1ZXMubG9jYWwobG9jYWwp
KTsKICAgICAKICAgICBpbnQgc3RhY2tGcmFtZVNpemUgPSBlbnRyeUNvZGUtPmNvbW1vbi5yZXF1
aXJlZFJlZ2lzdGVyQ291bnRGb3JFeGVjdXRpb25BbmRFeGl0KCk7Ci0gICAgaWYgKCF2bS5pbnRl
cnByZXRlci0+c3RhY2soKS5ncm93KCZleGVjLT5yZWdpc3RlcnMoKVt2aXJ0dWFsUmVnaXN0ZXJG
b3JMb2NhbChzdGFja0ZyYW1lU2l6ZSkub2Zmc2V0KCldKSkgeworICAgIGlmICghdm0uaW50ZXJw
cmV0ZXItPnN0YWNrKCkuZW5zdXJlQ2FwYWNpdHlGb3IoJmV4ZWMtPnJlZ2lzdGVycygpW3ZpcnR1
YWxSZWdpc3RlckZvckxvY2FsKHN0YWNrRnJhbWVTaXplIC0gMSkub2Zmc2V0KCldKSkgewogICAg
ICAgICBpZiAoT3B0aW9uczo6dmVyYm9zZU9TUigpKQogICAgICAgICAgICAgZGF0YUxvZygiICAg
IE9TUiBmYWlsZWQgYmVjYXVzZSBzdGFjayBncm93dGggZmFpbGVkLlxuIik7CiAgICAgICAgIHJl
dHVybiAwOwpAQCAtODgsNyArODksOSBAQCB2b2lkKiBwcmVwYXJlT1NSRW50cnkoCiAgICAgCiAg
ICAgZXhlYy0+c2V0Q29kZUJsb2NrKGVudHJ5Q29kZUJsb2NrKTsKICAgICAKLSAgICB2b2lkKiBy
ZXN1bHQgPSBlbnRyeUNvZGUtPmFkZHJlc3NGb3JDYWxsKCkuZXhlY3V0YWJsZUFkZHJlc3MoKTsK
KyAgICB2b2lkKiByZXN1bHQgPSBlbnRyeUNvZGUtPmFkZHJlc3NGb3JDYWxsKAorICAgICAgICB2
bSwgZXhlY3V0YWJsZSwgQXJpdHlDaGVja05vdFJlcXVpcmVkLAorICAgICAgICBSZWdpc3RlclBy
ZXNlcnZhdGlvbk5vdFJlcXVpcmVkKS5leGVjdXRhYmxlQWRkcmVzcygpOwogICAgIGlmIChPcHRp
b25zOjp2ZXJib3NlT1NSKCkpCiAgICAgICAgIGRhdGFMb2coIiAgICBFbnRyeSB3aWxsIHN1Y2Nl
ZWQsIGdvaW5nIHRvIGFkZHJlc3MiLCBSYXdQb2ludGVyKHJlc3VsdCksICJcbiIpOwogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXQuaAppbmRleCA0ZTQ3OWViZGQwY2E1OTg5
MGUxZmEzYTI5YTg5YzU2ZTAwZjgwNzFmLi44N2I0YmQwY2QzODEzYTEyY2Q0ZTI3MzNmZDFhZjY3
Yzk3NTg1Y2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4
aXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXQuaApAQCAtMTY2
LDYgKzE2NiwxMSBAQCBzdHJ1Y3QgT1NSRXhpdCA6IHB1YmxpYyBERkc6Ok9TUkV4aXRCYXNlIHsK
ICAgICB1aW50MzJfdCBtX3N0YWNrbWFwSUQ7CiAgICAgCiAgICAgQ29kZUxvY2F0aW9uSnVtcCBj
b2RlTG9jYXRpb25Gb3JSZXBhdGNoKENvZGVCbG9jayogZnRsQ29kZUJsb2NrKSBjb25zdDsKKyAg
ICAKKyAgICBib29sIGNvbnNpZGVyQWRkaW5nQXNGcmVxdWVudEV4aXRTaXRlKENvZGVCbG9jayog
cHJvZmlsZWRDb2RlQmxvY2spCisgICAgeworICAgICAgICByZXR1cm4gT1NSRXhpdEJhc2U6OmNv
bnNpZGVyQWRkaW5nQXNGcmVxdWVudEV4aXRTaXRlKHByb2ZpbGVkQ29kZUJsb2NrLCBFeGl0RnJv
bUZUTCk7CisgICAgfQogfTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwCmluZGV4IDA3NmE0
OTVlYTY1YjEyYWFhZGQ4OWJkMzg4MGJkZmNmYmRmMzIyMjcuLmI1ODZlZjJiNWVhZjIyNjYwMTk0
N2IwMWQ5NDY1ODk3ODZjMDU5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTE9TUkV4aXRDb21waWxlci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM1LDcgKzM1LDkgQEAKICNpbmNsdWRlICJGVExPU1JF
eGl0LmgiCiAjaW5jbHVkZSAiRlRMU2F2ZVJlc3RvcmUuaCIKICNpbmNsdWRlICJPcGVyYW5kc0lu
bGluZXMuaCIKKyNpbmNsdWRlICJNYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oIgogI2lu
Y2x1ZGUgIk9wZXJhdGlvbnMuaCIKKyNpbmNsdWRlICJSZWdpc3RlclByZXNlcnZhdGlvbldyYXBw
ZXJHZW5lcmF0b3IuaCIKICNpbmNsdWRlICJSZXBhdGNoQnVmZmVyLmgiCiAKIG5hbWVzcGFjZSBK
U0MgeyBuYW1lc3BhY2UgRlRMIHsKQEAgLTYyLDkgKzY0LDEwIEBAIHN0YXRpYyB2b2lkIGNvbXBp
bGVTdHViKAogICAgIAogICAgIC8vIFdlIG5lZWQgc2NyYXRjaCBzcGFjZSB0byBzYXZlIGFsbCBy
ZWdpc3RlcnMgYW5kIHRvIGJ1aWxkIHVwIHRoZSBKU1N0YWNrLgogICAgIC8vIFVzZSBhIHNjcmF0
Y2ggYnVmZmVyIHRvIHRyYW5zZmVyIGFsbCB2YWx1ZXMuCi0gICAgU2NyYXRjaEJ1ZmZlciogc2Ny
YXRjaEJ1ZmZlciA9IHZtLT5zY3JhdGNoQnVmZmVyRm9yU2l6ZShzaXplb2YoRW5jb2RlZEpTVmFs
dWUpICogZXhpdC5tX3ZhbHVlcy5zaXplKCkgKyByZXF1aXJlZFNjcmF0Y2hNZW1vcnlTaXplSW5C
eXRlcygpKTsKKyAgICBTY3JhdGNoQnVmZmVyKiBzY3JhdGNoQnVmZmVyID0gdm0tPnNjcmF0Y2hC
dWZmZXJGb3JTaXplKHNpemVvZihFbmNvZGVkSlNWYWx1ZSkgKiBleGl0Lm1fdmFsdWVzLnNpemUo
KSArIHJlcXVpcmVkU2NyYXRjaE1lbW9yeVNpemVJbkJ5dGVzKCkgKyBqaXRDb2RlLT51bndpbmRJ
bmZvLm1fcmVnaXN0ZXJzLnNpemUoKSAqIHNpemVvZih1aW50NjRfdCkpOwogICAgIEVuY29kZWRK
U1ZhbHVlKiBzY3JhdGNoID0gc2NyYXRjaEJ1ZmZlciA/IHN0YXRpY19jYXN0PEVuY29kZWRKU1Zh
bHVlKj4oc2NyYXRjaEJ1ZmZlci0+ZGF0YUJ1ZmZlcigpKSA6IDA7CiAgICAgY2hhciogcmVnaXN0
ZXJTY3JhdGNoID0gYml0d2lzZV9jYXN0PGNoYXIqPihzY3JhdGNoICsgZXhpdC5tX3ZhbHVlcy5z
aXplKCkpOworICAgIHVpbnQ2NF90KiB1bndpbmRTY3JhdGNoID0gYml0d2lzZV9jYXN0PHVpbnQ2
NF90Kj4ocmVnaXN0ZXJTY3JhdGNoICsgcmVxdWlyZWRTY3JhdGNoTWVtb3J5U2l6ZUluQnl0ZXMo
KSk7CiAgICAgCiAgICAgLy8gTWFrZSBzdXJlIHRoYXQgc2F2ZUFsbFJlZ2lzdGVycygpIGhhcyBh
IHBsYWNlIG9uIHRvcCBvZiB0aGUgc3RhY2sgdG8gc3BpbGwgdGhpbmdzLiBUaGF0CiAgICAgLy8g
ZnVuY3Rpb24gZXhwZWN0cyB0byBiZSBhYmxlIHRvIHVzZSB0b3Agb2Ygc3RhY2sgZm9yIHNjcmF0
Y2ggbWVtb3J5LgpAQCAtNzUsMTggKzc4LDI3IEBAIHN0YXRpYyB2b2lkIGNvbXBpbGVTdHViKAog
ICAgIGppdC5wb3AoR1BSSW5mbzo6cmVnVDApOwogICAgIGppdC5wb3AoR1BSSW5mbzo6cmVnVDAp
OwogICAgIAorICAgIGlmICh2bS0+bV9wZXJCeXRlY29kZVByb2ZpbGVyICYmIGNvZGVCbG9jay0+
aml0Q29kZSgpLT5kZmdDb21tb24oKS0+Y29tcGlsYXRpb24pIHsKKyAgICAgICAgUHJvZmlsZXI6
OkRhdGFiYXNlJiBkYXRhYmFzZSA9ICp2bS0+bV9wZXJCeXRlY29kZVByb2ZpbGVyOworICAgICAg
ICBQcm9maWxlcjo6Q29tcGlsYXRpb24qIGNvbXBpbGF0aW9uID0gY29kZUJsb2NrLT5qaXRDb2Rl
KCktPmRmZ0NvbW1vbigpLT5jb21waWxhdGlvbi5nZXQoKTsKKyAgICAgICAgCisgICAgICAgIFBy
b2ZpbGVyOjpPU1JFeGl0KiBwcm9maWxlckV4aXQgPSBjb21waWxhdGlvbi0+YWRkT1NSRXhpdCgK
KyAgICAgICAgICAgIGV4aXRJRCwgUHJvZmlsZXI6Ok9yaWdpblN0YWNrKGRhdGFiYXNlLCBjb2Rl
QmxvY2ssIGV4aXQubV9jb2RlT3JpZ2luKSwKKyAgICAgICAgICAgIGV4aXQubV9raW5kLCBpc1dh
dGNocG9pbnQoZXhpdC5tX2tpbmQpKTsKKyAgICAgICAgaml0LmFkZDY0KENDYWxsSGVscGVyczo6
VHJ1c3RlZEltbTMyKDEpLCBDQ2FsbEhlbHBlcnM6OkFic29sdXRlQWRkcmVzcyhwcm9maWxlckV4
aXQtPmNvdW50ZXJBZGRyZXNzKCkpKTsKKyAgICB9CisKICAgICAvLyBUaGUgcmVtYWluaW5nIGNv
ZGUgYXNzdW1lcyB0aGF0IFNQL0ZQIGFyZSBpbiB0aGUgc2FtZSBzdGF0ZSB0aGF0IHRoZXkgd2Vy
ZSBpbiB0aGUgRlRMJ3MKICAgICAvLyBjYWxsIGZyYW1lLgogICAgIAogICAgIC8vIEdldCB0aGUg
Y2FsbCBmcmFtZSBhbmQgdGFnIHRoaW5naWVzLgogICAgIC8vIFJlc3RvcmUgdGhlIGV4aXRpbmcg
ZnVuY3Rpb24ncyBjYWxsRnJhbWUgdmFsdWUgaW50byBhIHJlZ1Q0Ci0gICAgcmVjb3JkLT5sb2Nh
dGlvbnNbMF0ucmVzdG9yZUludG8oaml0LCBqaXRDb2RlLT5zdGFja21hcHMsIHJlZ2lzdGVyU2Ny
YXRjaCwgR1BSSW5mbzo6cmVnVDQpOwogICAgIGppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVz
dGVkSW1tNjQoVGFnVHlwZU51bWJlciksIEdQUkluZm86OnRhZ1R5cGVOdW1iZXJSZWdpc3Rlcik7
CiAgICAgaml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW02NChUYWdNYXNrKSwgR1BS
SW5mbzo6dGFnTWFza1JlZ2lzdGVyKTsKICAgICAKICAgICAvLyBEbyBzb21lIHZhbHVlIHByb2Zp
bGluZy4KICAgICBpZiAoZXhpdC5tX3Byb2ZpbGVWYWx1ZUZvcm1hdCAhPSBJbnZhbGlkVmFsdWVG
b3JtYXQpIHsKLSAgICAgICAgcmVjb3JkLT5sb2NhdGlvbnNbMV0ucmVzdG9yZUludG8oaml0LCBq
aXRDb2RlLT5zdGFja21hcHMsIHJlZ2lzdGVyU2NyYXRjaCwgR1BSSW5mbzo6cmVnVDApOworICAg
ICAgICByZWNvcmQtPmxvY2F0aW9uc1swXS5yZXN0b3JlSW50byhqaXQsIGppdENvZGUtPnN0YWNr
bWFwcywgcmVnaXN0ZXJTY3JhdGNoLCBHUFJJbmZvOjpyZWdUMCk7CiAgICAgICAgIHJlYm94QWNj
b3JkaW5nVG9Gb3JtYXQoCiAgICAgICAgICAgICBleGl0Lm1fcHJvZmlsZVZhbHVlRm9ybWF0LCBq
aXQsIEdQUkluZm86OnJlZ1QwLCBHUFJJbmZvOjpyZWdUMSwgR1BSSW5mbzo6cmVnVDIpOwogICAg
ICAgICAKQEAgLTEzMCw3ICsxNDIsNDUgQEAgc3RhdGljIHZvaWQgY29tcGlsZVN0dWIoCiAgICAg
ICAgIGNhc2UgRXhpdFZhbHVlSW5KU1N0YWNrQXNJbnQzMjoKICAgICAgICAgY2FzZSBFeGl0VmFs
dWVJbkpTU3RhY2tBc0ludDUyOgogICAgICAgICBjYXNlIEV4aXRWYWx1ZUluSlNTdGFja0FzRG91
YmxlOgotICAgICAgICAgICAgaml0LmxvYWQ2NChBc3NlbWJseUhlbHBlcnM6OmFkZHJlc3NGb3Io
dmFsdWUudmlydHVhbFJlZ2lzdGVyKCksIEdQUkluZm86OnJlZ1Q0KSwgR1BSSW5mbzo6cmVnVDAp
OworICAgICAgICAgICAgaml0LmxvYWQ2NChBc3NlbWJseUhlbHBlcnM6OmFkZHJlc3NGb3IodmFs
dWUudmlydHVhbFJlZ2lzdGVyKCkpLCBHUFJJbmZvOjpyZWdUMCk7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIAorICAgICAgICBjYXNlIEV4aXRWYWx1ZVJlY292ZXJ5OgorICAgICAg
ICAgICAgcmVjb3JkLT5sb2NhdGlvbnNbdmFsdWUucmlnaHRSZWNvdmVyeUFyZ3VtZW50KCldLnJl
c3RvcmVJbnRvKAorICAgICAgICAgICAgICAgIGppdCwgaml0Q29kZS0+c3RhY2ttYXBzLCByZWdp
c3RlclNjcmF0Y2gsIEdQUkluZm86OnJlZ1QxKTsKKyAgICAgICAgICAgIHJlY29yZC0+bG9jYXRp
b25zW3ZhbHVlLmxlZnRSZWNvdmVyeUFyZ3VtZW50KCldLnJlc3RvcmVJbnRvKAorICAgICAgICAg
ICAgICAgIGppdCwgaml0Q29kZS0+c3RhY2ttYXBzLCByZWdpc3RlclNjcmF0Y2gsIEdQUkluZm86
OnJlZ1QwKTsKKyAgICAgICAgICAgIHN3aXRjaCAodmFsdWUucmVjb3ZlcnlPcGNvZGUoKSkgewor
ICAgICAgICAgICAgY2FzZSBBZGRSZWNvdmVyeToKKyAgICAgICAgICAgICAgICBzd2l0Y2ggKHZh
bHVlLnJlY292ZXJ5Rm9ybWF0KCkpIHsKKyAgICAgICAgICAgICAgICBjYXNlIFZhbHVlRm9ybWF0
SW50MzI6CisgICAgICAgICAgICAgICAgICAgIGppdC5hZGQzMihHUFJJbmZvOjpyZWdUMSwgR1BS
SW5mbzo6cmVnVDApOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICBjYXNlIFZhbHVlRm9ybWF0SW50NTI6CisgICAgICAgICAgICAgICAgICAgIGppdC5hZGQ2NChH
UFJJbmZvOjpyZWdUMSwgR1BSSW5mbzo6cmVnVDApOworICAgICAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFN1
YlJlY292ZXJ5OgorICAgICAgICAgICAgICAgIHN3aXRjaCAodmFsdWUucmVjb3ZlcnlGb3JtYXQo
KSkgeworICAgICAgICAgICAgICAgIGNhc2UgVmFsdWVGb3JtYXRJbnQzMjoKKyAgICAgICAgICAg
ICAgICAgICAgaml0LnN1YjMyKEdQUkluZm86OnJlZ1QxLCBHUFJJbmZvOjpyZWdUMCk7CisgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgVmFsdWVGb3JtYXRJ
bnQ1MjoKKyAgICAgICAgICAgICAgICAgICAgaml0LnN1YjY0KEdQUkluZm86OnJlZ1QxLCBHUFJJ
bmZvOjpyZWdUMCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAg
IGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgCiAgICAgICAgIGRl
ZmF1bHQ6CkBAIC0xNDEsNiArMTkxLDEzNyBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1YigKICAg
ICAgICAgaml0LnN0b3JlNjQoR1BSSW5mbzo6cmVnVDAsIHNjcmF0Y2ggKyBpbmRleCk7CiAgICAg
fQogICAgIAorICAgIC8vIEhlbmNlZm9ydGggd2UgbWFrZSBpdCBsb29rIGxpa2UgdGhlIGV4aXRp
bmcgZnVuY3Rpb24gd2FzIGNhbGxlZCB0aHJvdWdoIGEgcmVnaXN0ZXIKKyAgICAvLyBwcmVzZXJ2
YXRpb24gd3JhcHBlci4gVGhpcyBpbXBsaWVzIHRoYXQgRlAgbXVzdCBiZSBudWRnZWQgZG93biBi
eSBhIGNlcnRhaW4gYW1vdW50LiBUaGVuCisgICAgLy8gd2UgcmVzdG9yZSB0aGUgdmFyaW91cyB0
aGluZ3MgYWNjb3JkaW5nIHRvIGVpdGhlciBleGl0Lm1fdmFsdWVzIG9yIGJ5IGNvcHlpbmcgZnJv
bSB0aGUKKyAgICAvLyBvbGQgZnJhbWUsIGFuZCBmaW5hbGx5IHdlIHNhdmUgdGhlIHZhcmlvdXMg
Y2FsbGVlLXNhdmUgcmVnaXN0ZXJzIGludG8gd2hlcmUgdGhlCisgICAgLy8gcmVzdG9yYXRpb24g
dGh1bmsgd291bGQgcmVzdG9yZSB0aGVtIGZyb20uCisgICAgCisgICAgcHRyZGlmZl90IG9mZnNl
dCA9IHJlZ2lzdGVyUHJlc2VydmF0aW9uT2Zmc2V0KCk7CisgICAgUmVnaXN0ZXJTZXQgdG9TYXZl
ID0gcmVnaXN0ZXJzVG9QcmVzZXJ2ZSgpOworICAgIAorICAgIC8vIEJlZm9yZSB3ZSBzdGFydCBt
ZXNzaW5nIHdpdGggdGhlIGZyYW1lLCB3ZSBuZWVkIHRvIHNldCBhc2lkZSBhbnkgcmVnaXN0ZXJz
IHRoYXQgdGhlCisgICAgLy8gRlRMIGNvZGUgd2FzIHByZXNlcnZpbmcuCisgICAgZm9yICh1bnNp
Z25lZCBpID0gaml0Q29kZS0+dW53aW5kSW5mby5tX3JlZ2lzdGVycy5zaXplKCk7IGktLTspIHsK
KyAgICAgICAgUmVnaXN0ZXJBdE9mZnNldCBlbnRyeSA9IGppdENvZGUtPnVud2luZEluZm8ubV9y
ZWdpc3RlcnNbaV07CisgICAgICAgIGppdC5sb2FkNjQoCisgICAgICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6QWRkcmVzcyhNYWNyb0Fzc2VtYmxlcjo6ZnJhbWVQb2ludGVyUmVnaXN0ZXIsIGVudHJ5
Lm9mZnNldCgpKSwKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1QwKTsKKyAgICAgICAgaml0LnN0
b3JlNjQoR1BSSW5mbzo6cmVnVDAsIHVud2luZFNjcmF0Y2ggKyBpKTsKKyAgICB9CisgICAgCisg
ICAgaml0LmxvYWQzMihDQ2FsbEhlbHBlcnM6OnBheWxvYWRGb3IoSlNTdGFjazo6QXJndW1lbnRD
b3VudCksIEdQUkluZm86OnJlZ1QyKTsKKyAgICAKKyAgICAvLyBMZXQncyBzYXkgdGhhdCB0aGUg
RlRMIGZ1bmN0aW9uIGhhZCBmYWlsZWQgaXRzIGFyaXR5IGNoZWNrLiBJbiB0aGF0IGNhc2UsIHRo
ZSBzdGFjayB3aWxsCisgICAgLy8gY29udGFpbiBzb21lIGV4dHJhIHN0dWZmLgorICAgIC8vCisg
ICAgLy8gRmlyc3Qgd2UgY29tcHV0ZSB0aGUgcGFkZGVkIHN0YWNrIHNwYWNlOgorICAgIC8vCisg
ICAgLy8gICAgIHBhZGRlZFN0YWNrU3BhY2UgPSByb3VuZFVwKGNvZGVCbG9jay0+bnVtUGFyYW1l
dGVycyAtIHJlZ1QyICsgMSkKKyAgICAvLworICAgIC8vIFRoZSBzdGFjayB3aWxsIGhhdmUgcmVn
VDIgKyBDYWxsRnJhbWVIZWFkZXJTaXplIHN0dWZmLCBidXQgYWJvdmUgaXQgdGhlcmUgd2lsbCBi
ZQorICAgIC8vIHBhZGRlZFN0YWNrU3BhY2UgZ3VuayB1c2VkIGJ5IHRoZSBhcml0eSBjaGVjayBm
YWlsIHJlc3RvcmF0aW9uIHRodW5rLiBXaGVuIHRoYXQgaGFwcGVucworICAgIC8vIHdlIHdhbnQg
dG8gbWFrZSB0aGUgc3RhY2sgbG9vayBsaWtlIHRoaXMsIGZyb20gaGlnaGVyIGFkZHJlc3NlcyBk
b3duOgorICAgIC8vCisgICAgLy8gICAgIC0gcmVnaXN0ZXIgcHJlc2VydmF0aW9uIHJldHVybiBQ
QworICAgIC8vICAgICAtIHByZXNlcnZlZCByZWdpc3RlcnMKKyAgICAvLyAgICAgLSBhcml0eSBj
aGVjayBmYWlsIHJldHVybiBQQworICAgIC8vICAgICAtIGFyZ3VtZW50IHBhZGRpbmcKKyAgICAv
LyAgICAgLSBhY3R1YWwgYXJndW1lbnRzCisgICAgLy8gICAgIC0gY2FsbCBmcmFtZSBoZWFkZXIK
KyAgICAvLworICAgIC8vIFNvIHRoYXQgdGhlIGFjdHVhbCBjYWxsIGZyYW1lIGhlYWRlciBhcHBl
YXJzIHRvIHJldHVybiB0byB0aGUgYXJpdHkgY2hlY2sgZmFpbCByZXR1cm4KKyAgICAvLyBQQywg
YW5kIHRoYXQgdGhlbiByZXR1cm5zIHRvIHRoZSByZWdpc3RlciBwcmVzZXJ2YXRpb24gdGh1bmsu
IFRoZSBhcml0eSBjaGVjayB0aHVuayB0aGF0CisgICAgLy8gd2UgcmV0dXJuIHRvIHdpbGwgaGF2
ZSB0aGUgcGFkZGluZyBzaXplIGVuY29kZWQgaW50byBpdC4gSXQgd2lsbCB0aGVuIGtub3cgdG8g
cmV0dXJuCisgICAgLy8gaW50byB0aGUgcmVnaXN0ZXIgcHJlc2VydmF0aW9uIHRodW5rLCB3aGlj
aCB1c2VzIHRoZSBhcmd1bWVudCBjb3VudCB0byBmaWd1cmUgb3V0IHdoZXJlCisgICAgLy8gcmVn
aXN0ZXJzIGFyZSBwcmVzZXJ2ZWQuCisKKyAgICAvLyBUaGlzIGNvZGUgYXNzdW1lcyB0aGF0IHdl
J3JlIGRlYWxpbmcgd2l0aCBGdW5jdGlvbkNvZGUuCisgICAgUkVMRUFTRV9BU1NFUlQoY29kZUJs
b2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSk7CisgICAgCisgICAgaml0LmFkZDMyKAor
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKC1jb2RlQmxvY2stPm51bVBhcmFt
ZXRlcnMoKSksIEdQUkluZm86OnJlZ1QyLAorICAgICAgICBHUFJJbmZvOjpyZWdUMyk7CisgICAg
TWFjcm9Bc3NlbWJsZXI6Okp1bXAgYXJpdHlJbnRhY3QgPSBqaXQuYnJhbmNoVGVzdDMyKE1hY3Jv
QXNzZW1ibGVyOjpaZXJvLCBHUFJJbmZvOjpyZWdUMyk7CisgICAgaml0Lm5lZzMyKEdQUkluZm86
OnJlZ1QzKTsKKyAgICBqaXQuYWRkMzIoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMigxICsg
c3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSAtIDEpLCBHUFJJbmZvOjpyZWdUMyk7CisgICAgaml0
LmFuZDMyKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoLXN0YWNrQWxpZ25tZW50UmVnaXN0
ZXJzKCkpLCBHUFJJbmZvOjpyZWdUMyk7CisgICAgaml0LmFkZDMyKEdQUkluZm86OnJlZ1QzLCBH
UFJJbmZvOjpyZWdUMik7CisgICAgYXJpdHlJbnRhY3QubGluaygmaml0KTsKKworICAgIC8vIEZp
cnN0IHNldCB1cCBTUCBzbyB0aGF0IG91ciBkYXRhIGRvZXNuJ3QgZ2V0IGNsb2JiZXJlZCBieSBz
aWduYWxzLgorICAgIGppdC5hZGRQdHIoCisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVk
SW1tMzIoCisgICAgICAgICAgICBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2YoCisgICAgICAgICAg
ICAgICAgc3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSwKKyAgICAgICAgICAgICAgICAtcmVnaXN0
ZXJQcmVzZXJ2YXRpb25PZmZzZXQoKSAtIGV4aXQubV92YWx1ZXMubnVtYmVyT2ZMb2NhbHMoKSAq
IHNpemVvZihSZWdpc3RlcikgLSBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCkpLAorICAg
ICAgICBNYWNyb0Fzc2VtYmxlcjo6ZnJhbWVQb2ludGVyUmVnaXN0ZXIsIE1hY3JvQXNzZW1ibGVy
OjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgCisgICAgaml0LnN1YlB0cigKKyAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihyZWdpc3RlclByZXNlcnZhdGlvbk9mZnNldCgp
KSwKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OmZyYW1lUG9pbnRlclJlZ2lzdGVyKTsKKyAgICAK
KyAgICAvLyBDb3B5IHRoZSBvbGQgZnJhbWUgZGF0YSBpbnRvIGl0cyBuZXcgbG9jYXRpb24uCisg
ICAgaml0LmFkZDMyKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoSlNTdGFjazo6Q2FsbEZy
YW1lSGVhZGVyU2l6ZSksIEdQUkluZm86OnJlZ1QyKTsKKyAgICBqaXQubW92ZShNYWNyb0Fzc2Vt
Ymxlcjo6ZnJhbWVQb2ludGVyUmVnaXN0ZXIsIEdQUkluZm86OnJlZ1QxKTsKKyAgICBNYWNyb0Fz
c2VtYmxlcjo6TGFiZWwgbG9vcCA9IGppdC5sYWJlbCgpOworICAgIGppdC5zdWIzMihNYWNyb0Fz
c2VtYmxlcjo6VHJ1c3RlZEltbTMyKDEpLCBHUFJJbmZvOjpyZWdUMik7CisgICAgaml0LmxvYWQ2
NChNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMSwgb2Zmc2V0KSwgR1BSSW5m
bzo6cmVnVDApOworICAgIGppdC5zdG9yZTY0KEdQUkluZm86OnJlZ1QwLCBHUFJJbmZvOjpyZWdU
MSk7CisgICAgaml0LmFkZFB0cihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKHNpemVvZihS
ZWdpc3RlcikpLCBHUFJJbmZvOjpyZWdUMSk7CisgICAgaml0LmJyYW5jaFRlc3QzMihNYWNyb0Fz
c2VtYmxlcjo6Tm9uWmVybywgR1BSSW5mbzo6cmVnVDIpLmxpbmtUbyhsb29wLCAmaml0KTsKKyAg
ICAKKyAgICAvLyBBdCB0aGlzIHBvaW50IHJlZ1QxIHBvaW50cyB0byB3aGVyZSB3ZSB3b3VsZCBz
YXZlIG91ciByZWdpc3RlcnMuIFNhdmUgdGhlbSBoZXJlLgorICAgIHB0cmRpZmZfdCBjdXJyZW50
T2Zmc2V0ID0gMDsKKyAgICBmb3IgKEdQUlJlZyBncHIgPSBBc3NlbWJseUhlbHBlcnM6OmZpcnN0
UmVnaXN0ZXIoKTsgZ3ByIDw9IEFzc2VtYmx5SGVscGVyczo6bGFzdFJlZ2lzdGVyKCk7IGdwciA9
IHN0YXRpY19jYXN0PEdQUlJlZz4oZ3ByICsgMSkpIHsKKyAgICAgICAgaWYgKCF0b1NhdmUuZ2V0
KGdwcikpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgY3VycmVudE9mZnNldCArPSBz
aXplb2YoUmVnaXN0ZXIpOworICAgICAgICB1bnNpZ25lZCB1bndpbmRJbmRleCA9IGppdENvZGUt
PnVud2luZEluZm8uaW5kZXhPZihncHIpOworICAgICAgICBpZiAodW53aW5kSW5kZXggPT0gVUlO
VF9NQVgpIHsKKyAgICAgICAgICAgIC8vIFRoZSBGVEwgY29tcGlsYXRpb24gZGlkbid0IHByZXNl
cnZlIHRoaXMgcmVnaXN0ZXIuIFRoaXMgbWVhbnMgdGhhdCBpdCBhbHNvCisgICAgICAgICAgICAv
LyBkaWRuJ3QgdXNlIHRoZSByZWdpc3Rlci4gU28gaXRzIHZhbHVlIGF0IHRoZSBiZWdpbm5pbmcg
b2YgT1NSIGV4aXQgc2hvdWxkIGJlCisgICAgICAgICAgICAvLyBwcmVzZXJ2ZWQgYnkgdGhlIHRo
dW5rLiBMdWNraWx5LCB3ZSBzYXZlZCBhbGwgcmVnaXN0ZXJzIGludG8gdGhlIHJlZ2lzdGVyCisg
ICAgICAgICAgICAvLyBzY3JhdGNoIGJ1ZmZlciwgc28gd2UgY2FuIHJlc3RvcmUgdGhlbSBmcm9t
IHRoZXJlLgorICAgICAgICAgICAgaml0LmxvYWQ2NChyZWdpc3RlclNjcmF0Y2ggKyBvZmZzZXRP
ZkdQUihncHIpLCBHUFJJbmZvOjpyZWdUMCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAvLyBUaGUgRlRMIGNvbXBpbGF0aW9uIHByZXNlcnZlZCB0aGUgcmVnaXN0ZXIuIEl0cyBuZXcg
dmFsdWUgaXMgdGhlcmVmb3JlCisgICAgICAgICAgICAvLyBpcnJlbGV2YW50LCBidXQgd2UgY2Fu
IGdldCB0aGUgdmFsdWUgdGhhdCB3YXMgcHJlc2VydmVkIGJ5IHVzaW5nIHRoZSB1bndpbmQKKyAg
ICAgICAgICAgIC8vIGRhdGEuIFdlJ3ZlIGFscmVhZHkgY29waWVkIGFsbCB1bndpbmQtYWJsZSBw
cmVzZXJ2ZWQgcmVnaXN0ZXJzIGludG8gdGhlIHVud2luZAorICAgICAgICAgICAgLy8gc2NyYXRj
aCBidWZmZXIsIHNvIHdlIGNhbiBnZXQgaXQgZnJvbSB0aGVyZS4KKyAgICAgICAgICAgIGppdC5s
b2FkNjQodW53aW5kU2NyYXRjaCArIHVud2luZEluZGV4LCBHUFJJbmZvOjpyZWdUMCk7CisgICAg
ICAgIH0KKyAgICAgICAgaml0LnN0b3JlNjQoR1BSSW5mbzo6cmVnVDAsIEFzc2VtYmx5SGVscGVy
czo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMSwgY3VycmVudE9mZnNldCkpOworICAgIH0KKyAgICAK
KyAgICAvLyBXZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIHJldHVybiBpbnRvIHRoZSByZWdp
c3RlciByZXN0b3JhdGlvbiB0aHVuay4gVGhpcyB3b3JrcworICAgIC8vIGRpZmZlcmVudGx5IGRl
cGVuZGluZyBvbiB3aGV0aGVyIG9yIG5vdCB3ZSBoYWQgYXJpdHkgaXNzdWVzLgorICAgIE1hY3Jv
QXNzZW1ibGVyOjpKdW1wIGFyaXR5SW50YWN0Rm9yUmV0dXJuUEMgPQorICAgICAgICBqaXQuYnJh
bmNoVGVzdDMyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCBHUFJJbmZvOjpyZWdUMyk7CisgICAgCisg
ICAgLy8gVGhlIHJldHVybiBQQyBpbiB0aGUgY2FsbCBmcmFtZSBoZWFkZXIgcG9pbnRzIGF0IGV4
YWN0bHkgdGhlIHJpZ2h0IGFyaXR5IHJlc3RvcmF0aW9uCisgICAgLy8gdGh1bmsuIFdlIGRvbid0
IHdhbnQgdG8gY2hhbmdlIHRoYXQuIEJ1dCB0aGUgYXJpdHkgcmVzdG9yYXRpb24gdGh1bmsncyBm
cmFtZSBoYXMgYQorICAgIC8vIHJldHVybiBQQyBhbmQgd2Ugd2FudCB0byByZXJvdXRlIHRoYXQg
dG8gb3VyIHJlZ2lzdGVyIHJlc3RvcmF0aW9uIHRodW5rLiBUaGUgYXJpdHkKKyAgICAvLyByZXN0
b3JhdGlvbidzIHJldHVybiBQQyBqdXN0IGp1c3QgYmVsb3cgcmVnVDEsIGFuZCB0aGUgcmVnaXN0
ZXIgcmVzdG9yYXRpb24ncyByZXR1cm4gUEMKKyAgICAvLyBpcyByaWdodCBhdCByZWdUMS4KKyAg
ICBqaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMSwgLXN0
YXRpY19jYXN0PHB0cmRpZmZfdD4oc2l6ZW9mKFJlZ2lzdGVyKSkpLCBHUFJJbmZvOjpyZWdUMCk7
CisgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OnJlZ1QwLCBHUFJJbmZvOjpyZWdUMSk7CisgICAg
aml0LnN0b3JlUHRyKAorICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cih2bS0+
Z2V0Q1RJU3R1YihyZWdpc3RlclJlc3RvcmF0aW9uVGh1bmtHZW5lcmF0b3IpLmNvZGUoKS5leGVj
dXRhYmxlQWRkcmVzcygpKSwKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoR1BSSW5m
bzo6cmVnVDEsIC1zdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihSZWdpc3RlcikpKSk7Cisg
ICAgCisgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgYXJpdHlSZXR1cm5QQ1JlYWR5ID0gaml0Lmp1
bXAoKTsKKworICAgIGFyaXR5SW50YWN0Rm9yUmV0dXJuUEMubGluaygmaml0KTsKKyAgICAKKyAg
ICBqaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhNYWNyb0Fzc2VtYmxlcjo6ZnJh
bWVQb2ludGVyUmVnaXN0ZXIsIENhbGxGcmFtZTo6cmV0dXJuUENPZmZzZXQoKSksIEdQUkluZm86
OnJlZ1QwKTsKKyAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6cmVnVDAsIEdQUkluZm86OnJlZ1Qx
KTsKKyAgICBqaXQuc3RvcmVQdHIoCisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
UHRyKHZtLT5nZXRDVElTdHViKHJlZ2lzdGVyUmVzdG9yYXRpb25UaHVua0dlbmVyYXRvcikuY29k
ZSgpLmV4ZWN1dGFibGVBZGRyZXNzKCkpLAorICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVz
cyhNYWNyb0Fzc2VtYmxlcjo6ZnJhbWVQb2ludGVyUmVnaXN0ZXIsIENhbGxGcmFtZTo6cmV0dXJu
UENPZmZzZXQoKSkpOworICAgIAorICAgIGFyaXR5UmV0dXJuUENSZWFkeS5saW5rKCZqaXQpOwor
ICAgIAogICAgIC8vIE5vdyBnZXQgc3RhdGUgb3V0IG9mIHRoZSBzY3JhdGNoIGJ1ZmZlciBhbmQg
cGxhY2UgaXQgYmFjayBpbnRvIHRoZSBzdGFjay4gVGhpcyBwYXJ0IGRvZXMKICAgICAvLyBhbGwg
cmVib3hpbmcuCiAgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IGV4aXQubV92YWx1ZXMuc2l6ZSgp
OyBpbmRleC0tOykgewpAQCAtMTUwLDI2ICszMzEsMTYgQEAgc3RhdGljIHZvaWQgY29tcGlsZVN0
dWIoCiAgICAgICAgIGppdC5sb2FkNjQoc2NyYXRjaCArIGluZGV4LCBHUFJJbmZvOjpyZWdUMCk7
CiAgICAgICAgIHJlYm94QWNjb3JkaW5nVG9Gb3JtYXQoCiAgICAgICAgICAgICB2YWx1ZS52YWx1
ZUZvcm1hdCgpLCBqaXQsIEdQUkluZm86OnJlZ1QwLCBHUFJJbmZvOjpyZWdUMSwgR1BSSW5mbzo6
cmVnVDIpOwotICAgICAgICBqaXQuc3RvcmU2NChHUFJJbmZvOjpyZWdUMCwgQXNzZW1ibHlIZWxw
ZXJzOjphZGRyZXNzRm9yKHN0YXRpY19jYXN0PFZpcnR1YWxSZWdpc3Rlcj4ob3BlcmFuZCksIEdQ
UkluZm86OnJlZ1Q0KSk7CisgICAgICAgIGppdC5zdG9yZTY0KEdQUkluZm86OnJlZ1QwLCBBc3Nl
bWJseUhlbHBlcnM6OmFkZHJlc3NGb3Ioc3RhdGljX2Nhc3Q8VmlydHVhbFJlZ2lzdGVyPihvcGVy
YW5kKSkpOwogICAgIH0KICAgICAKLSAgICAvLyBSZXN0b3JlIHRoZSBvbGQgc3RhY2sgcG9pbnRl
ciBhbmQgdGhlbiBwdXQgcmVnVDQgaW50byBjYWxsRnJhbWVSZWdpc3Rlci4gVGhlIGlkZWEgaXMK
LSAgICAvLyB0aGF0IHRoZSBGVEwgY2FsbCBmcmFtZSBpcyBwdXNoZWQgb250byB0aGUgSlMgY2Fs
bCBmcmFtZSBhbmQgd2UgY2FuIHJlY292ZXIgdGhlIG9sZAotICAgIC8vIHZhbHVlIG9mIHRoZSBz
dGFjayBwb2ludGVyIGJ5IHBvcHBpbmcgdGhlIEZUTCBjYWxsIGZyYW1lLiBXZSBhbHJlYWR5IGtu
b3cgd2hhdCB0aGUKLSAgICAvLyBmcmFtZSBwb2ludGVyIGluIHRoZSBKUyBjYWxsIGZyYW1lIHdh
cyBiZWNhdXNlIGl0IHdvdWxkIGhhdmUgYmVlbiBwYXNzZWQgYXMgYW4gYXJndW1lbnQKLSAgICAv
LyB0byB0aGUgRlRMIGNhbGwgZnJhbWUuCi0gICAgaml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OmZy
YW1lUG9pbnRlclJlZ2lzdGVyLCBNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIp
OwotICAgIGppdC5wb3AoR1BSSW5mbzo6bm9uQXJnR1BSMCk7Ci0gICAgaml0LnBvcChHUFJJbmZv
Ojpub25BcmdHUFIwKTsKLSAgICBqaXQubW92ZShHUFJJbmZvOjpyZWdUNCwgR1BSSW5mbzo6Y2Fs
bEZyYW1lUmVnaXN0ZXIpOwotICAgIAogICAgIGhhbmRsZUV4aXRDb3VudHMoaml0LCBleGl0KTsK
ICAgICByZWlmeUlubGluZWRDYWxsRnJhbWVzKGppdCwgZXhpdCk7CiAgICAgYWRqdXN0QW5kSnVt
cFRvVGFyZ2V0KGppdCwgZXhpdCk7CiAgICAgCiAgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcigq
dm0sICZqaXQsIGNvZGVCbG9jayk7CiAgICAgZXhpdC5tX2NvZGUgPSBGSU5BTElaRV9DT0RFX0lG
KAotICAgICAgICBzaG91bGRTaG93RGlzYXNzZW1ibHkoKSwKKyAgICAgICAgc2hvdWxkU2hvd0Rp
c2Fzc2VtYmx5KCkgfHwgT3B0aW9uczo6dmVyYm9zZU9TUigpLAogICAgICAgICBwYXRjaEJ1ZmZl
ciwKICAgICAgICAgKCJGVEwgT1NSIGV4aXQgIyV1ICglcywgJXMpIGZyb20gJXMsIHdpdGggb3Bl
cmFuZHMgPSAlcywgYW5kIHJlY29yZCA9ICVzIiwKICAgICAgICAgICAgIGV4aXRJRCwgdG9DU3Ry
aW5nKGV4aXQubV9jb2RlT3JpZ2luKS5kYXRhKCksCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExP
dXRwdXQuaAppbmRleCAyZWM4NzM1MDNhNWU3MmI1NTRiYjMxYWU5YTA2ZjBkNTQ3YzgyNTU2Li5i
ZTQwZDExMTFiOTdlMmE1OWRhMDg5MGU1NTNmNGM0ZmFmYmZjZjkxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1dC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMT3V0cHV0LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTE4NCw3ICsxODQsMjMgQEAgcHVibGljOgogICAgIHsKICAg
ICAgICAgcmV0dXJuIGNhbGwoZG91YmxlQWJzSW50cmluc2ljKCksIHZhbHVlKTsKICAgICB9Ci0g
ICAgCisgICAgTFZhbHVlIGRvdWJsZVNpbihMVmFsdWUgdmFsdWUpCisgICAgeworICAgICAgICBy
ZXR1cm4gY2FsbChkb3VibGVTaW5JbnRyaW5zaWMoKSwgdmFsdWUpOworICAgIH0KKworCisgICAg
TFZhbHVlIGRvdWJsZUNvcyhMVmFsdWUgdmFsdWUpCisgICAgeworICAgICAgICByZXR1cm4gY2Fs
bChkb3VibGVDb3NJbnRyaW5zaWMoKSwgdmFsdWUpOworICAgIH0KKworICAgIExWYWx1ZSBkb3Vi
bGVTcXJ0KExWYWx1ZSB2YWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBjYWxsKGRvdWJsZVNx
cnRJbnRyaW5zaWMoKSwgdmFsdWUpOworICAgIH0KKworCiAgICAgc3RhdGljIGJvb2wgaGFzU2Vu
c2libGVEb3VibGVUb0ludCgpIHsgcmV0dXJuIGlzWDg2KCk7IH0KICAgICBMVmFsdWUgc2Vuc2li
bGVEb3VibGVUb0ludChMVmFsdWUgdmFsdWUpCiAgICAgewpAQCAtMjEwLDYgKzIyNiw3IEBAIHB1
YmxpYzoKICAgICBMVmFsdWUgY2FzdFRvSW50MzIoTFZhbHVlIHZhbHVlKSB7IHJldHVybiBpbnRD
YXN0KHZhbHVlLCBpbnQzMik7IH0KICAgICBMVmFsdWUgZnBDYXN0KExWYWx1ZSB2YWx1ZSwgTFR5
cGUgdHlwZSkgeyByZXR1cm4gYnVpbGRGUENhc3QobV9idWlsZGVyLCB2YWx1ZSwgdHlwZSk7IH0K
ICAgICBMVmFsdWUgaW50VG9QdHIoTFZhbHVlIHZhbHVlLCBMVHlwZSB0eXBlKSB7IHJldHVybiBi
dWlsZEludFRvUHRyKG1fYnVpbGRlciwgdmFsdWUsIHR5cGUpOyB9CisgICAgTFZhbHVlIHB0clRv
SW50KExWYWx1ZSB2YWx1ZSwgTFR5cGUgdHlwZSkgeyByZXR1cm4gYnVpbGRQdHJUb0ludChtX2J1
aWxkZXIsIHZhbHVlLCB0eXBlKTsgfQogICAgIExWYWx1ZSBiaXRDYXN0KExWYWx1ZSB2YWx1ZSwg
TFR5cGUgdHlwZSkgeyByZXR1cm4gYnVpbGRCaXRDYXN0KG1fYnVpbGRlciwgdmFsdWUsIHR5cGUp
OyB9CiAgICAgCiAgICAgTFZhbHVlIGFsbG9jYShMVHlwZSB0eXBlKSB7IHJldHVybiBidWlsZEFs
bG9jYShtX2J1aWxkZXIsIHR5cGUpOyB9CkBAIC0zMTQsNiArMzMxLDIwIEBAIHB1YmxpYzoKICAg
ICB2b2lkIHN0b3JlUHRyKExWYWx1ZSB2YWx1ZSwgTFZhbHVlIGJhc2UsIGNvbnN0IEFic3RyYWN0
RmllbGQmIGZpZWxkKSB7IHN0b3JlUHRyKHZhbHVlLCBhZGRyZXNzKGJhc2UsIGZpZWxkKSk7IH0K
ICAgICB2b2lkIHN0b3JlRG91YmxlKExWYWx1ZSB2YWx1ZSwgTFZhbHVlIGJhc2UsIGNvbnN0IEFi
c3RyYWN0RmllbGQmIGZpZWxkKSB7IHN0b3JlRG91YmxlKHZhbHVlLCBhZGRyZXNzKGJhc2UsIGZp
ZWxkKSk7IH0KICAgICAKKyAgICB2b2lkIGFzY3JpYmVSYW5nZShMVmFsdWUgbG9hZEluc3RydWN0
aW9uLCBjb25zdCBWYWx1ZVJhbmdlJiByYW5nZSkKKyAgICB7CisgICAgICAgIHJhbmdlLmRlY29y
YXRlSW5zdHJ1Y3Rpb24obV9jb250ZXh0LCBsb2FkSW5zdHJ1Y3Rpb24sIHJhbmdlS2luZCk7Cisg
ICAgfQorICAgIAorICAgIExWYWx1ZSBub25OZWdhdGl2ZTMyKExWYWx1ZSBsb2FkSW5zdHJ1Y3Rp
b24pCisgICAgeworICAgICAgICBhc2NyaWJlUmFuZ2UobG9hZEluc3RydWN0aW9uLCBub25OZWdh
dGl2ZUludDMyKTsKKyAgICAgICAgcmV0dXJuIGxvYWRJbnN0cnVjdGlvbjsKKyAgICB9CisgICAg
CisgICAgTFZhbHVlIGxvYWQzMk5vbk5lZ2F0aXZlKFR5cGVkUG9pbnRlciBwb2ludGVyKSB7IHJl
dHVybiBub25OZWdhdGl2ZTMyKGxvYWQzMihwb2ludGVyKSk7IH0KKyAgICBMVmFsdWUgbG9hZDMy
Tm9uTmVnYXRpdmUoTFZhbHVlIGJhc2UsIGNvbnN0IEFic3RyYWN0RmllbGQmIGZpZWxkKSB7IHJl
dHVybiBub25OZWdhdGl2ZTMyKGxvYWQzMihiYXNlLCBmaWVsZCkpOyB9CisgICAgCiAgICAgTFZh
bHVlIGljbXAoTEludFByZWRpY2F0ZSBjb25kLCBMVmFsdWUgbGVmdCwgTFZhbHVlIHJpZ2h0KSB7
IHJldHVybiBidWlsZElDbXAobV9idWlsZGVyLCBjb25kLCBsZWZ0LCByaWdodCk7IH0KICAgICBM
VmFsdWUgZXF1YWwoTFZhbHVlIGxlZnQsIExWYWx1ZSByaWdodCkgeyByZXR1cm4gaWNtcChMTFZN
SW50RVEsIGxlZnQsIHJpZ2h0KTsgfQogICAgIExWYWx1ZSBub3RFcXVhbChMVmFsdWUgbGVmdCwg
TFZhbHVlIHJpZ2h0KSB7IHJldHVybiBpY21wKExMVk1JbnRORSwgbGVmdCwgcmlnaHQpOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFJlY292ZXJ5T3Bjb2RlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMUmVjb3ZlcnlPcGNvZGUuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjcwNzcwZGQ4MTE2NGJjMGI2YzBmNGQ1YjUyYTgyYTg3OTliMTllMTcKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFJlY292ZXJ5T3Bjb2RlLmNw
cApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJGVExSZWNvdmVyeU9wY29k
ZS5oIgorCisjaWYgRU5BQkxFKEZUTF9KSVQpCisKKyNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0u
aD4KKworbmFtZXNwYWNlIFdURiB7CisKK3ZvaWQgcHJpbnRJbnRlcm5hbChQcmludFN0cmVhbSYg
b3V0LCBKU0M6OkZUTDo6UmVjb3ZlcnlPcGNvZGUgb3Bjb2RlKQoreworICAgIHN3aXRjaCAob3Bj
b2RlKSB7CisgICAgY2FzZSBKU0M6OkZUTDo6QWRkUmVjb3Zlcnk6CisgICAgICAgIG91dC5wcmlu
dCgiQWRkIik7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIEpTQzo6RlRMOjpTdWJSZWNvdmVy
eToKKyAgICAgICAgb3V0LnByaW50KCJTdWIiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXVEYK
KworI2VuZGlmIC8vIEVOQUJMRShGVExfSklUKQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTFJlY292ZXJ5T3Bjb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTFJlY292ZXJ5T3Bjb2RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDNhNzU1YTk0NmQzMzFjYjE3YjAz
MzQ4YTE3OWE1YTMyYjk0YjZjMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMUmVjb3ZlcnlPcGNvZGUuaApAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgRlRMUmVjb3ZlcnlP
cGNvZGVfaAorI2RlZmluZSBGVExSZWNvdmVyeU9wY29kZV9oCisKKyNpZiBFTkFCTEUoRlRMX0pJ
VCkKKworbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgeworCitlbnVtIFJlY292ZXJ5T3Bj
b2RlIHsKKyAgICBBZGRSZWNvdmVyeSwKKyAgICBTdWJSZWNvdmVyeQorfTsKKworfSB9IC8vIG5h
bWVzcGFjZSBKU0M6OkZUTAorCituYW1lc3BhY2UgV1RGIHsKKworY2xhc3MgUHJpbnRTdHJlYW07
Cit2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mLCBKU0M6OkZUTDo6UmVjb3ZlcnlPcGNv
ZGUpOworCit9IC8vIG5hbWVzcGFjZSBXVEYKKworI2VuZGlmIC8vIEVOQUJMRShGVExfSklUKQor
CisjZW5kaWYgLy8gRlRMUmVjb3ZlcnlPcGNvZGVfaAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTFJlZ2lzdGVyQXRPZmZzZXQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExSZWdpc3RlckF0T2Zmc2V0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNzA3N2ZkNTBk
YzQwNjFhYTRiYzA1MDY5MmM3YjU3YTIyOGIwOGY0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExSZWdpc3RlckF0T2Zmc2V0LmNwcApAQCAtMCwwICsxLDQx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJGVExSZWdpc3RlckF0T2Zmc2V0LmgiCisKKyNpZiBF
TkFCTEUoRlRMX0pJVCkKKworbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgeworCit2b2lk
IFJlZ2lzdGVyQXRPZmZzZXQ6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBv
dXQucHJpbnQoZ3ByKCksICIgYXQgIiwgb2Zmc2V0KCkpOworfQorCit9IH0gLy8gbmFtZXNwYWNl
IEpTQzo6RlRMCisKKyNlbmRpZiAvLyBFTkFCTEUoRlRMX0pJVCkKKwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExSZWdpc3RlckF0T2Zmc2V0LmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTFJlZ2lzdGVyQXRPZmZzZXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZDllOWFi
MDNkMDNmNzk5YzYwYTczM2ZjNTI3MTczZjRhYmEwMzA2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExSZWdpc3RlckF0T2Zmc2V0LmgKQEAgLTAsMCArMSw4
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZu
ZGVmIEZUTFJlZ2lzdGVyQXRPZmZzZXRfaAorI2RlZmluZSBGVExSZWdpc3RlckF0T2Zmc2V0X2gK
KworI2lmIEVOQUJMRShGVExfSklUKQorCisjaW5jbHVkZSAiR1BSSW5mby5oIgorI2luY2x1ZGUg
PHd0Zi9QcmludFN0cmVhbS5oPgorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CisK
K2NsYXNzIFJlZ2lzdGVyQXRPZmZzZXQgeworcHVibGljOgorICAgIFJlZ2lzdGVyQXRPZmZzZXQo
KQorICAgICAgICA6IG1fZ3ByKEludmFsaWRHUFJSZWcpCisgICAgICAgICwgbV9vZmZzZXQoMCkK
KyAgICB7CisgICAgfQorICAgIAorICAgIFJlZ2lzdGVyQXRPZmZzZXQoR1BSUmVnIGdwciwgcHRy
ZGlmZl90IG9mZnNldCkKKyAgICAgICAgOiBtX2dwcihncHIpCisgICAgICAgICwgbV9vZmZzZXQo
b2Zmc2V0KQorICAgIHsKKyAgICB9CisgICAgCisgICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdCB7
IHJldHVybiBtX2dwciA9PSBJbnZhbGlkR1BSUmVnOyB9CisgICAgCisgICAgR1BSUmVnIGdwcigp
IGNvbnN0IHsgcmV0dXJuIG1fZ3ByOyB9CisgICAgcHRyZGlmZl90IG9mZnNldCgpIGNvbnN0IHsg
cmV0dXJuIG1fb2Zmc2V0OyB9CisgICAgCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlZ2lz
dGVyQXRPZmZzZXQmIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGdwcigpID09
IG90aGVyLmdwcigpICYmIG9mZnNldCgpID09IG90aGVyLm9mZnNldCgpOworICAgIH0KKyAgICAK
KyAgICBib29sIG9wZXJhdG9yPChjb25zdCBSZWdpc3RlckF0T2Zmc2V0JiBvdGhlcikgY29uc3QK
KyAgICB7CisgICAgICAgIGlmIChncHIoKSAhPSBvdGhlci5ncHIoKSkKKyAgICAgICAgICAgIHJl
dHVybiBncHIoKSA8IG90aGVyLmdwcigpOworICAgICAgICByZXR1cm4gb2Zmc2V0KCkgPCBvdGhl
ci5vZmZzZXQoKTsKKyAgICB9CisgICAgCisgICAgc3RhdGljIEdQUlJlZyBnZXRHUFIoUmVnaXN0
ZXJBdE9mZnNldCogdmFsdWUpIHsgcmV0dXJuIHZhbHVlLT5ncHIoKTsgfQorICAgIAorICAgIHZv
aWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBHUFJSZWcg
bV9ncHI7CisgICAgcHRyZGlmZl90IG1fb2Zmc2V0OworfTsKKworfSB9IC8vIG5hbWVzcGFjZSBK
U0M6OkZUTAorCisjZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQpCisKKyNlbmRpZiAvLyBGVExSZWdp
c3RlckF0T2Zmc2V0X2gKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExTbG93UGF0aENhbGwuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0
aENhbGwuY3BwCmluZGV4IDNjZjZhZTBlM2Y2MGI1Y2YzOTFjZmM0ODA1NWRmMGZkZTRjZTAxNjcu
LjJlMGZhODg5YzczNzNmZDliMDYwM2VlMzE4MmM3YmJjM2NjYTY0ODggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxsLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5jcHAKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDYgKzI5LDcgQEAKICNp
ZiBFTkFCTEUoRlRMX0pJVCkKIAogI2luY2x1ZGUgIkNDYWxsSGVscGVycy5oIgorI2luY2x1ZGUg
IkNhbGxGcmFtZUlubGluZXMuaCIKICNpbmNsdWRlICJGVExTdGF0ZS5oIgogI2luY2x1ZGUgIkdQ
UkluZm8uaCIKIApAQCAtMTM0LDExICsxMzUsMTMgQEAgcHVibGljOgogICAgICAgICByZXR1cm4g
U2xvd1BhdGhDYWxsS2V5KHVzZWRSZWdpc3RlcnMoKSwgY2FsbFRhcmdldCwgb2Zmc2V0KCkpOwog
ICAgIH0KICAgICAKLSAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBtYWtlQ2FsbCh2b2lkKiBjYWxs
VGFyZ2V0KQorICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIG1ha2VDYWxsKHZvaWQqIGNhbGxUYXJn
ZXQsIE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCogZXhjZXB0aW9uVGFyZ2V0KQogICAgIHsKICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgcmVzdWx0ID0gbV9qaXQuY2FsbCgpOwogICAgICAg
ICBtX3N0YXRlLmZpbmFsaXplci0+c2xvd1BhdGhDYWxscy5hcHBlbmQoU2xvd1BhdGhDYWxsKAog
ICAgICAgICAgICAgcmVzdWx0LCBrZXlXaXRoVGFyZ2V0KGNhbGxUYXJnZXQpKSk7CisgICAgICAg
IGlmIChleGNlcHRpb25UYXJnZXQpCisgICAgICAgICAgICBleGNlcHRpb25UYXJnZXQtPmFwcGVu
ZChtX2ppdC5lbWl0RXhjZXB0aW9uQ2hlY2soKSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAg
ICAgfQogICAgIApAQCAtMTU3LDMyICsxNjAsNDQgQEAgcHJpdmF0ZToKIAogfSAvLyBhbm9ueW1v
dXMgbmFtZXNwYWNlCiAKK3ZvaWQgc3RvcmVDb2RlT3JpZ2luKFN0YXRlJiBzdGF0ZSwgQ0NhbGxI
ZWxwZXJzJiBqaXQsIENvZGVPcmlnaW4gY29kZU9yaWdpbikKK3sKKyAgICBpZiAoIWNvZGVPcmln
aW4uaXNTZXQoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIHVuc2lnbmVkIGluZGV4ID0g
c3RhdGUuaml0Q29kZS0+Y29tbW9uLmFkZENvZGVPcmlnaW4oY29kZU9yaWdpbik7CisgICAgdW5z
aWduZWQgbG9jYXRpb25CaXRzID0gQ2FsbEZyYW1lOjpMb2NhdGlvbjo6ZW5jb2RlQXNDb2RlT3Jp
Z2luSW5kZXgoaW5kZXgpOworICAgIGppdC5zdG9yZTMyKAorICAgICAgICBDQ2FsbEhlbHBlcnM6
OlRydXN0ZWRJbW0zMihsb2NhdGlvbkJpdHMpLAorICAgICAgICBDQ2FsbEhlbHBlcnM6OnRhZ0Zv
cihzdGF0aWNfY2FzdDxWaXJ0dWFsUmVnaXN0ZXI+KEpTU3RhY2s6OkFyZ3VtZW50Q291bnQpKSk7
Cit9CisKIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oCi0gICAgU3RhdGUmIHN0
YXRlLCBjb25zdCBSZWdpc3RlclNldCYgdXNlZFJlZ2lzdGVycywgQ0NhbGxIZWxwZXJzJiBqaXQs
IAotICAgIEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQ
UlJlZyBjYWxsRnJhbWVSZWdpc3RlciwKLSAgICBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8s
IEdQUlJlZyBvYmplY3QsIFN0cmluZ0ltcGwqIHVpZCkKKyAgICBTdGF0ZSYgc3RhdGUsIGNvbnN0
IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzLCBDQ2FsbEhlbHBlcnMmIGppdCwKKyAgICBDb2Rl
T3JpZ2luIGNvZGVPcmlnaW4sIE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCogZXhjZXB0aW9uVGFy
Z2V0LAorICAgIEpfSklUT3BlcmF0aW9uX0VTc2lKSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQs
IFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywKKyAgICBHUFJSZWcgb2JqZWN0LCBTdHJpbmdJ
bXBsKiB1aWQpCiB7CisgICAgc3RvcmVDb2RlT3JpZ2luKHN0YXRlLCBqaXQsIGNvZGVPcmlnaW4p
OwogICAgIENhbGxDb250ZXh0IGNvbnRleHQoc3RhdGUsIHVzZWRSZWdpc3RlcnMsIGppdCwgNCwg
cmVzdWx0KTsKLSAgICBqaXQuc2V0dXBBcmd1bWVudHMoCi0gICAgICAgIGNhbGxGcmFtZVJlZ2lz
dGVyLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBvYmplY3QsCisgICAg
aml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZSgKKyAgICAgICAgQ0NhbGxIZWxwZXJzOjpU
cnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwgb2JqZWN0LAogICAgICAgICBDQ2FsbEhlbHBlcnM6OlRy
dXN0ZWRJbW1QdHIodWlkKSk7Ci0gICAgcmV0dXJuIGNvbnRleHQubWFrZUNhbGwoYml0d2lzZV9j
YXN0PHZvaWQqPihvcGVyYXRpb24pKTsKLSAgICAvLyBGSVhNRTogRlRMIHNob3VsZCBzdXBwb3J0
IGV4Y2VwdGlvbnMuCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExMzYyMgorICAgIHJldHVybiBjb250ZXh0Lm1ha2VDYWxsKGJpdHdpc2VfY2FzdDx2b2lk
Kj4ob3BlcmF0aW9uKSwgZXhjZXB0aW9uVGFyZ2V0KTsKIH0KIAogTWFjcm9Bc3NlbWJsZXI6OkNh
bGwgY2FsbE9wZXJhdGlvbigKICAgICBTdGF0ZSYgc3RhdGUsIGNvbnN0IFJlZ2lzdGVyU2V0JiB1
c2VkUmVnaXN0ZXJzLCBDQ2FsbEhlbHBlcnMmIGppdCwgCi0gICAgVl9KSVRPcGVyYXRpb25fRVNz
aUpKSSBvcGVyYXRpb24sIEdQUlJlZyBjYWxsRnJhbWVSZWdpc3RlciwKLSAgICBTdHJ1Y3R1cmVT
dHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyB2YWx1ZSwgR1BSUmVnIG9iamVjdCwgU3RyaW5nSW1w
bCogdWlkKQorICAgIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgTWFjcm9Bc3NlbWJsZXI6Okp1bXBM
aXN0KiBleGNlcHRpb25UYXJnZXQsCisgICAgVl9KSVRPcGVyYXRpb25fRVNzaUpKSSBvcGVyYXRp
b24sIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIHZhbHVlLAorICAgIEdQUlJl
ZyBvYmplY3QsIFN0cmluZ0ltcGwqIHVpZCkKIHsKKyAgICBzdG9yZUNvZGVPcmlnaW4oc3RhdGUs
IGppdCwgY29kZU9yaWdpbik7CiAgICAgQ2FsbENvbnRleHQgY29udGV4dChzdGF0ZSwgdXNlZFJl
Z2lzdGVycywgaml0LCA1LCBJbnZhbGlkR1BSUmVnKTsKLSAgICBqaXQuc2V0dXBBcmd1bWVudHMo
Ci0gICAgICAgIGNhbGxGcmFtZVJlZ2lzdGVyLCBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1QdHIo
c3R1YkluZm8pLCB2YWx1ZSwgb2JqZWN0LAorICAgIGppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoCisgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihzdHViSW5mbyksIHZh
bHVlLCBvYmplY3QsCiAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cih1aWQpKTsK
LSAgICByZXR1cm4gY29udGV4dC5tYWtlQ2FsbChiaXR3aXNlX2Nhc3Q8dm9pZCo+KG9wZXJhdGlv
bikpOwotICAgIC8vIEZJWE1FOiBGVEwgc2hvdWxkIHN1cHBvcnQgZXhjZXB0aW9ucy4KLSAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzNjIyCisgICAgcmV0
dXJuIGNvbnRleHQubWFrZUNhbGwoYml0d2lzZV9jYXN0PHZvaWQqPihvcGVyYXRpb24pLCBleGNl
cHRpb25UYXJnZXQpOwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6RlRMCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQYXRoQ2FsbC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExTbG93UGF0aENhbGwuaAppbmRleCA0MzVlZmRjODM0ZTQwMjQ1
ZTlkYmMwOTc5ZmY5M2FiZTM5NmNiNWZkLi42OGUwOWU2NmI5N2VjNDBmNDlmZjVmOTdiOGM0ODgx
Yzc0ZGEzMzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFNsb3dQ
YXRoQ2FsbC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU2xvd1BhdGhDYWxs
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTU1LDEzICs1NSwxNSBAQCBwcml2YXRlOgogICAgIFNsb3dQYXRoQ2FsbEtleSBtX2tleTsK
IH07CiAKK3ZvaWQgc3RvcmVDb2RlT3JpZ2luKFN0YXRlJiwgQ0NhbGxIZWxwZXJzJiwgQ29kZU9y
aWdpbik7CisKIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oCi0gICAgU3RhdGUm
LCBjb25zdCBSZWdpc3RlclNldCYsIENDYWxsSGVscGVycyYsIEpfSklUT3BlcmF0aW9uX0VTc2lK
SSwKLSAgICBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgY2FsbEZyYW1lUmVnaXN0ZXIsIFN0cnVjdHVy
ZVN0dWJJbmZvKiwgR1BSUmVnIG9iamVjdCwKKyAgICBTdGF0ZSYsIGNvbnN0IFJlZ2lzdGVyU2V0
JiwgQ0NhbGxIZWxwZXJzJiwgQ29kZU9yaWdpbiwgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCosCisg
ICAgSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBHUFJSZWcgcmVzdWx0LCBTdHJ1Y3R1cmVTdHViSW5m
byosIEdQUlJlZyBvYmplY3QsCiAgICAgU3RyaW5nSW1wbCogdWlkKTsKIE1hY3JvQXNzZW1ibGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oCi0gICAgU3RhdGUmLCBjb25zdCBSZWdpc3RlclNldCYsIEND
YWxsSGVscGVycyYsIFZfSklUT3BlcmF0aW9uX0VTc2lKSkksCi0gICAgR1BSUmVnIGNhbGxGcmFt
ZVJlZ2lzdGVyLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEdQUlJlZyB2YWx1ZSwgR1BSUmVnIG9iamVj
dCwKKyAgICBTdGF0ZSYsIGNvbnN0IFJlZ2lzdGVyU2V0JiwgQ0NhbGxIZWxwZXJzJiwgQ29kZU9y
aWdpbiwgQ0NhbGxIZWxwZXJzOjpKdW1wTGlzdCosCisgICAgVl9KSVRPcGVyYXRpb25fRVNzaUpK
SSwgU3RydWN0dXJlU3R1YkluZm8qLCBHUFJSZWcgdmFsdWUsIEdQUlJlZyBvYmplY3QsCiAgICAg
U3RyaW5nSW1wbCogdWlkKTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGFja01hcHMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExTdGFja01hcHMuY3BwCmluZGV4IDVhZjIwODJjOGNjYTA2OGZj
MTIwNjZmMGNjNDg4ZmZlOGMzOWJjYzkuLjQwMzM4OTFhOWI0MzdjYTQ4ZTJhZTY0ZGUwZTU0M2Zm
MzNlNmM2NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhY2tN
YXBzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YWNrTWFwcy5jcHAK
QEAgLTc5LDcgKzc5LDkgQEAgdm9pZCBTdGFja01hcHM6OkxvY2F0aW9uOjpyZXN0b3JlSW50bygK
IAogYm9vbCBTdGFja01hcHM6OlJlY29yZDo6cGFyc2UoRGF0YVZpZXcqIHZpZXcsIHVuc2lnbmVk
JiBvZmZzZXQpCiB7Ci0gICAgcGF0Y2hwb2ludElEID0gdmlldy0+cmVhZDx1aW50MzJfdD4ob2Zm
c2V0LCB0cnVlKTsKKyAgICBpbnQ2NF90IGlkID0gdmlldy0+cmVhZDxpbnQ2NF90PihvZmZzZXQs
IHRydWUpOworICAgIEFTU0VSVChzdGF0aWNfY2FzdDxpbnQzMl90PihpZCkgPT0gaWQpOworICAg
IHBhdGNocG9pbnRJRCA9IHN0YXRpY19jYXN0PHVpbnQzMl90PihpZCk7CiAgICAgaWYgKHN0YXRp
Y19jYXN0PGludDMyX3Q+KHBhdGNocG9pbnRJRCkgPCAwKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgCkBAIC05MCw2ICs5MiwxMyBAQCBib29sIFN0YWNrTWFwczo6UmVjb3JkOjpwYXJzZShE
YXRhVmlldyogdmlldywgdW5zaWduZWQmIG9mZnNldCkKICAgICB3aGlsZSAobGVuZ3RoLS0pCiAg
ICAgICAgIGxvY2F0aW9ucy5hcHBlbmQocmVhZE9iamVjdDxMb2NhdGlvbj4odmlldywgb2Zmc2V0
KSk7CiAgICAgCisgICAgdW5zaWduZWQgbnVtTGl2ZU91dHMgPSB2aWV3LT5yZWFkPHVpbnQxNl90
PihvZmZzZXQsIHRydWUpOworICAgIHdoaWxlIChudW1MaXZlT3V0cy0tKSB7CisgICAgICAgIHZp
ZXctPnJlYWQ8dWludDE2X3Q+KG9mZnNldCwgdHJ1ZSk7IC8vIHJlZ251bQorICAgICAgICB2aWV3
LT5yZWFkPHVpbnQ4X3Q+KG9mZnNldCwgdHJ1ZSk7IC8vIHJlc2VydmVkCisgICAgICAgIHZpZXct
PnJlYWQ8dWludDhfdD4ob2Zmc2V0LCB0cnVlKTsgLy8gc2l6ZSBpbiBieXRlcworICAgIH0KKyAg
ICAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExTdGFja01hcHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3Rh
Y2tNYXBzLmgKaW5kZXggZjE3NTkyNWQ1MDEyYzE3Y2ExMDY1ZmU5MmI5ZDJiNjNhYzg1ODlkYS4u
MDNiNzY2MTVmZDdmMDNhMmJmYmQzY2RkZGU4MTg4ODZhYTVjYWE1NiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGFja01hcHMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTFN0YWNrTWFwcy5oCkBAIC02MSw3ICs2MSw3IEBAIHN0cnVjdCBTdGFj
a01hcHMgewogICAgICAgICB1aW50MTZfdCBkd2FyZlJlZ051bTsgLy8gUmVwcmVzZW50ZWQgYXMg
YSAxMi1iaXQgaW50IGluIHRoZSBzZWN0aW9uLgogICAgICAgICBpbnQ4X3Qgc2l6ZTsKICAgICAg
ICAgS2luZCBraW5kOwotICAgICAgICBpbnQxNl90IG9mZnNldDsKKyAgICAgICAgaW50MzJfdCBv
ZmZzZXQ7CiAgICAgICAgIAogICAgICAgICB2b2lkIHBhcnNlKERhdGFWaWV3KiwgdW5zaWduZWQm
IG9mZnNldCk7CiAgICAgICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhdGUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAKaW5kZXggYzI2M2IyNjRiNGRkMzEyNjVj
ZjE2YTRhMzljNjQ4MjkzMTUzYzFiNC4uMzI5NDRkNmI0MzNmYjk5ZGIyMDNlOWQ1YmU5YmMzNGEx
ZmFhY2EyOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5jcHAKQEAgLTQzLDYg
KzQzLDggQEAgU3RhdGU6OlN0YXRlKEdyYXBoJiBncmFwaCkKICAgICAsIG1vZHVsZSgwKQogICAg
ICwgZnVuY3Rpb24oMCkKICAgICAsIGdlbmVyYXRlZEZ1bmN0aW9uKDApCisgICAgLCBjb21wYWN0
VW53aW5kKDApCisgICAgLCBjb21wYWN0VW53aW5kU2l6ZSgwKQogewogICAgIHN3aXRjaCAoZ3Jh
cGgubV9wbGFuLm1vZGUpIHsKICAgICBjYXNlIEZUTE1vZGU6IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhdGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMU3RhdGUuaAppbmRleCBjODJkYjY3Mjg0MmViZWJhNmQ1NmJiNTYxNGNiNGMxZGFlMzEx
NjkzLi42ZTRhMzgxNjMwM2Q1NjZiNDc3YzFjODM3NTliNjM0M2FhYjM4ZDlhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YXRlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExTdGF0ZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiRlRMSW5s
aW5lQ2FjaGVEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiRlRMSklUQ29kZS5oIgogI2luY2x1ZGUg
IkZUTEpJVEZpbmFsaXplci5oIgorI2luY2x1ZGUgIkZUTEpTQ2FsbC5oIgogI2luY2x1ZGUgIkZU
TFN0YWNrTWFwcy5oIgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCkBAIC01NywxMCAr
NTgsMTUgQEAgcHVibGljOgogICAgIFJlZlB0cjxKSVRDb2RlPiBqaXRDb2RlOwogICAgIEdlbmVy
YXRlZEZ1bmN0aW9uIGdlbmVyYXRlZEZ1bmN0aW9uOwogICAgIEpJVEZpbmFsaXplciogZmluYWxp
emVyOworICAgIHVuc2lnbmVkIGhhbmRsZUV4Y2VwdGlvblN0YWNrbWFwSUQ7CisgICAgdW5zaWdu
ZWQgY2FwdHVyZWRTdGFja21hcElEOwogICAgIFNlZ21lbnRlZFZlY3RvcjxHZXRCeUlkRGVzY3Jp
cHRvcj4gZ2V0QnlJZHM7CiAgICAgU2VnbWVudGVkVmVjdG9yPFB1dEJ5SWREZXNjcmlwdG9yPiBw
dXRCeUlkczsKKyAgICBWZWN0b3I8SlNDYWxsPiBqc0NhbGxzOwogICAgIFZlY3RvcjxDU3RyaW5n
PiBjb2RlU2VjdGlvbk5hbWVzOwogICAgIFZlY3RvcjxDU3RyaW5nPiBkYXRhU2VjdGlvbk5hbWVz
OworICAgIHZvaWQqIGNvbXBhY3RVbndpbmQ7CisgICAgc2l6ZV90IGNvbXBhY3RVbndpbmRTaXpl
OwogICAgIFJlZkNvdW50ZWRBcnJheTxMU2VjdGlvbldvcmQ+IHN0YWNrbWFwc1NlY3Rpb247CiAg
ICAgCiAgICAgdm9pZCBkdW1wU3RhdGUoY29uc3QgY2hhciogd2hlbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFRodW5rcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTFRodW5rcy5jcHAKaW5kZXggYmYwNGFmMDJhMzk4NTczNDU5YjQ1NzYyYWJl
MDU2YWMwMTAzY2Y3NC4uMTlmMmZlMmEwMjU2ZjYxNmIyN2E1NWQzMzlkOWVlMjI5NDFiOTdjZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExUaHVua3MuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMVGh1bmtzLmNwcApAQCAtMzksOSArMzksOSBA
QCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAKIHVzaW5nIG5hbWVzcGFjZSBERkc7
CiAKLU1hY3JvQXNzZW1ibGVyQ29kZVJlZiBvc3JFeGl0R2VuZXJhdGlvblRodW5rR2VuZXJhdG9y
KFZNJiB2bSwgY29uc3QgTG9jYXRpb24mIGxvY2F0aW9uKQorTWFjcm9Bc3NlbWJsZXJDb2RlUmVm
IG9zckV4aXRHZW5lcmF0aW9uVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQogewotICAgIEFzc2VtYmx5
SGVscGVycyBqaXQoJnZtLCAwKTsKKyAgICBBc3NlbWJseUhlbHBlcnMgaml0KHZtLCAwKTsKICAg
ICAKICAgICAvLyBOb3RlIHRoYXQgdGhlICJyZXR1cm4gYWRkcmVzcyIgd2lsbCBiZSB0aGUgT1NS
IGV4aXQgSUQuCiAgICAgCkBAIC01MSw3ICs1MSw3IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBv
c3JFeGl0R2VuZXJhdGlvblRodW5rR2VuZXJhdG9yKFZNJiB2bSwgY29uc3QgTG9jYXRpb24mIGxv
CiAgICAgaml0LnB1c2goR1BSSW5mbzo6cmVnVDApOwogICAgIGppdC5wdXNoKEdQUkluZm86OnJl
Z1QwKTsKICAgICAKLSAgICBTY3JhdGNoQnVmZmVyKiBzY3JhdGNoQnVmZmVyID0gdm0uc2NyYXRj
aEJ1ZmZlckZvclNpemUocmVxdWlyZWRTY3JhdGNoTWVtb3J5U2l6ZUluQnl0ZXMoKSk7CisgICAg
U2NyYXRjaEJ1ZmZlciogc2NyYXRjaEJ1ZmZlciA9IHZtLT5zY3JhdGNoQnVmZmVyRm9yU2l6ZShy
ZXF1aXJlZFNjcmF0Y2hNZW1vcnlTaXplSW5CeXRlcygpKTsKICAgICBjaGFyKiBidWZmZXIgPSBz
dGF0aWNfY2FzdDxjaGFyKj4oc2NyYXRjaEJ1ZmZlci0+ZGF0YUJ1ZmZlcigpKTsKICAgICAKICAg
ICBzYXZlQWxsUmVnaXN0ZXJzKGppdCwgYnVmZmVyKTsKQEAgLTYwLDcgKzYwLDcgQEAgTWFjcm9B
c3NlbWJsZXJDb2RlUmVmIG9zckV4aXRHZW5lcmF0aW9uVGh1bmtHZW5lcmF0b3IoVk0mIHZtLCBj
b25zdCBMb2NhdGlvbiYgbG8KICAgICBqaXQubW92ZShNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZElt
bVB0cihzY3JhdGNoQnVmZmVyLT5hY3RpdmVMZW5ndGhQdHIoKSksIEdQUkluZm86Om5vbkFyZ0dQ
UjEpOwogICAgIGppdC5zdG9yZVB0cihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihyZXF1
aXJlZFNjcmF0Y2hNZW1vcnlTaXplSW5CeXRlcygpKSwgR1BSSW5mbzo6bm9uQXJnR1BSMSk7CiAK
LSAgICBsb2NhdGlvbi5yZXN0b3JlSW50byhqaXQsIGJ1ZmZlciwgR1BSSW5mbzo6YXJndW1lbnRH
UFIwLCAxKTsKKyAgICBqaXQubG9hZFB0cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgR1BS
SW5mbzo6YXJndW1lbnRHUFIwKTsKICAgICBqaXQucGVlayhHUFJJbmZvOjphcmd1bWVudEdQUjEs
IDMpOwogICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGZ1bmN0aW9uQ2FsbCA9IGppdC5jYWxsKCk7
CiAgICAgCkBAIC03MSw2ICs3MSwxMCBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgb3NyRXhpdEdl
bmVyYXRpb25UaHVua0dlbmVyYXRvcihWTSYgdm0sIGNvbnN0IExvY2F0aW9uJiBsbwogICAgIAog
ICAgIGppdC5tb3ZlKEdQUkluZm86OnJldHVyblZhbHVlR1BSLCBHUFJJbmZvOjpyZWdUMCk7CiAg
ICAgCisgICAgLy8gTWFrZSBzdXJlIHdlIHRlbGwgdGhlIEdDIHRoYXQgd2UncmUgbm90IHVzaW5n
IHRoZSBzY3JhdGNoIGJ1ZmZlciBhbnltb3JlLgorICAgIGppdC5tb3ZlKE1hY3JvQXNzZW1ibGVy
OjpUcnVzdGVkSW1tUHRyKHNjcmF0Y2hCdWZmZXItPmFjdGl2ZUxlbmd0aFB0cigpKSwgR1BSSW5m
bzo6cmVnVDEpOworICAgIGppdC5zdG9yZVB0cihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0
cigwKSwgR1BSSW5mbzo6cmVnVDEpOworICAgIAogICAgIC8vIFByZXBhcmUgZm9yIHRhaWwgY2Fs
bC4KICAgICBqaXQucG9wKEdQUkluZm86OnJlZ1QxKTsKICAgICBqaXQucG9wKEdQUkluZm86OnJl
Z1QxKTsKQEAgLTgxLDE0ICs4NSwxNCBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgb3NyRXhpdEdl
bmVyYXRpb25UaHVua0dlbmVyYXRvcihWTSYgdm0sIGNvbnN0IExvY2F0aW9uJiBsbwogICAgIC8v
IHJlc3RvcmUgYWxsIHJlZ2lzdGVycy4KICAgICAKICAgICBqaXQucmVzdG9yZVJldHVybkFkZHJl
c3NCZWZvcmVSZXR1cm4oR1BSSW5mbzo6cmVnVDApOwotICAgIAorCiAgICAgcmVzdG9yZUFsbFJl
Z2lzdGVycyhqaXQsIGJ1ZmZlcik7CiAKICAgICBqaXQucmV0KCk7CiAgICAgCi0gICAgTGlua0J1
ZmZlciBwYXRjaEJ1ZmZlcih2bSwgJmppdCwgR0xPQkFMX1RIVU5LX0lEKTsKKyAgICBMaW5rQnVm
ZmVyIHBhdGNoQnVmZmVyKCp2bSwgJmppdCwgR0xPQkFMX1RIVU5LX0lEKTsKICAgICBwYXRjaEJ1
ZmZlci5saW5rKGZ1bmN0aW9uQ2FsbCwgY29tcGlsZUZUTE9TUkV4aXQpOwotICAgIHJldHVybiBG
SU5BTElaRV9DT0RFKHBhdGNoQnVmZmVyLCAoIkZUTCBPU1IgZXhpdCBnZW5lcmF0aW9uIHRodW5r
IGZvciBjYWxsRnJhbWUgYXQgJXMiLCB0b0NTdHJpbmcobG9jYXRpb24pLmRhdGEoKSkpOworICAg
IHJldHVybiBGSU5BTElaRV9DT0RFKHBhdGNoQnVmZmVyLCAoIkZUTCBPU1IgZXhpdCBnZW5lcmF0
aW9uIHRodW5rIikpOwogfQogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgc2xvd1BhdGhDYWxsVGh1
bmtHZW5lcmF0b3IoVk0mIHZtLCBjb25zdCBTbG93UGF0aENhbGxLZXkmIGtleSkKQEAgLTExOSwx
MSArMTIzLDEzIEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBzbG93UGF0aENhbGxUaHVua0dlbmVy
YXRvcihWTSYgdm0sIGNvbnN0IFNsb3dQYXRoQ2FsbEtleSYKICAgICAgICAgY3VycmVudE9mZnNl
dCArPSBzaXplb2YoZG91YmxlKTsKICAgICB9CiAgICAgCisgICAgLy8gRklYTUU6IENTdGFjayAt
IE5lZWQgdG8gZG8gc29lbWV0aGluZyBsaWtlIGppdC5lbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpOwog
ICAgIGppdC5wcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwoR1BSSW5mbzo6bm9uQXJnR1BS
MCk7CiAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86Om5vbkFyZ0dQUjAsIEFzc2VtYmx5SGVscGVy
czo6QWRkcmVzcyhNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIGtleS5vZmZz
ZXQoKSkpOwogICAgIAogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGwgPSBqaXQuY2FsbCgpOwot
ICAgIAorCisgICAgLy8gRklYTUU6IENTdGFjayAtIE5lZWQgdG8gZG8gc29tZXRoaW5nIGxpa2Ug
aml0LmVtaXRGdW5jdGlvbkVwaWxvZ3VlKCk7CiAgICAgaml0LmxvYWRQdHIoQXNzZW1ibHlIZWxw
ZXJzOjpBZGRyZXNzKE1hY3JvQXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3Rlciwga2V5Lm9m
ZnNldCgpKSwgR1BSSW5mbzo6bm9uUHJlc2VydmVkTm9uUmV0dXJuR1BSKTsKICAgICBqaXQucmVz
dG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4oR1BSSW5mbzo6bm9uUHJlc2VydmVkTm9uUmV0
dXJuR1BSKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
VGh1bmtzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFRodW5rcy5oCmluZGV4IGJi
Y2RiZGRjOTJhNWQ1ODcwZDMwYzU5ZmZjMTc3OTE5NWFhMjYzZjQuLjMwMDg0NDU0OTY0OTE3ODkx
MGIyNGVkODYxZDlhM2NmZjFiOWViNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMVGh1bmtzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExUaHVu
a3MuaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBWTTsKIAogbmFtZXNwYWNlIEZUTCB7CiAKLU1h
Y3JvQXNzZW1ibGVyQ29kZVJlZiBvc3JFeGl0R2VuZXJhdGlvblRodW5rR2VuZXJhdG9yKFZNJiwg
Y29uc3QgTG9jYXRpb24mKTsKK01hY3JvQXNzZW1ibGVyQ29kZVJlZiBvc3JFeGl0R2VuZXJhdGlv
blRodW5rR2VuZXJhdG9yKFZNKik7CiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgc2xvd1BhdGhDYWxs
VGh1bmtHZW5lcmF0b3IoVk0mLCBjb25zdCBTbG93UGF0aENhbGxLZXkmKTsKIAogdGVtcGxhdGU8
dHlwZW5hbWUgS2V5VHlwZUFyZ3VtZW50PgpAQCAtNzgsMTIgKzc4LDYgQEAgdHlwZW5hbWUgTWFw
VHlwZTo6S2V5VHlwZSBrZXlGb3JUaHVuayhNYXBUeXBlJiBtYXAsIE1hY3JvQXNzZW1ibGVyQ29k
ZVB0ciBwdHIpCiAKIGNsYXNzIFRodW5rcyB7CiBwdWJsaWM6Ci0gICAgTWFjcm9Bc3NlbWJsZXJD
b2RlUmVmIGdldE9TUkV4aXRHZW5lcmF0aW9uVGh1bmsoVk0mIHZtLCBjb25zdCBMb2NhdGlvbiYg
bG9jYXRpb24pCi0gICAgewotICAgICAgICByZXR1cm4gZ2VuZXJhdGVJZk5lY2Vzc2FyeSgKLSAg
ICAgICAgICAgIHZtLCBtX29zckV4aXRUaHVua3MsIGxvY2F0aW9uLCBvc3JFeGl0R2VuZXJhdGlv
blRodW5rR2VuZXJhdG9yKTsKLSAgICB9Ci0gICAgCiAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVm
IGdldFNsb3dQYXRoQ2FsbFRodW5rKFZNJiB2bSwgY29uc3QgU2xvd1BhdGhDYWxsS2V5JiBrZXkp
CiAgICAgewogICAgICAgICByZXR1cm4gZ2VuZXJhdGVJZk5lY2Vzc2FyeSgKQEAgLTk2LDcgKzkw
LDYgQEAgcHVibGljOgogICAgIH0KICAgICAKIHByaXZhdGU6Ci0gICAgVGh1bmtNYXA8TG9jYXRp
b24+IG1fb3NyRXhpdFRodW5rczsKICAgICBUaHVua01hcDxTbG93UGF0aENhbGxLZXk+IG1fc2xv
d1BhdGhDYWxsVGh1bmtzOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExVbndpbmRJbmZvLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMVW53
aW5kSW5mby5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmU0MGI5MjIyMzE3MWExYWEyNThkN2Q5YWVkNzdhZWVm
NmNkNjcyZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
VW53aW5kSW5mby5jcHAKQEAgLTAsMCArMSwxMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkZU
TFVud2luZEluZm8uaCIKKworI2lmIEVOQUJMRShGVExfSklUKQorCisjaW5jbHVkZSA8d3RmL0xp
c3REdW1wLmg+CisjaW5jbHVkZSA8bWFjaC1vL2NvbXBhY3RfdW53aW5kX2VuY29kaW5nLmg+CisK
K25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKKworVW53aW5kSW5mbzo6VW53aW5kSW5m
bygpIHsgfQorVW53aW5kSW5mbzo6flVud2luZEluZm8oKSB7IH0KKworbmFtZXNwYWNlIHsKKwor
c3RydWN0IENvbXBhY3RVbndpbmQgeworICAgIHZvaWQqIGZ1bmN0aW9uOworICAgIHVpbnQzMl90
IHNpemU7CisgICAgY29tcGFjdF91bndpbmRfZW5jb2RpbmdfdCBlbmNvZGluZzsKKyAgICB2b2lk
KiBwZXJzb25hbGl0eTsKKyAgICB2b2lkKiBsc2RhOworfTsKKworfSAvLyBhbm9ueW1vdXMgbmFt
ZXNwYWNlCisKK3ZvaWQgVW53aW5kSW5mbzo6cGFyc2Uodm9pZCogc2VjdGlvbiwgc2l6ZV90IHNp
emUsIEdlbmVyYXRlZEZ1bmN0aW9uIGdlbmVyYXRlZEZ1bmN0aW9uKQoreworICAgIG1fcmVnaXN0
ZXJzLmNsZWFyKCk7CisgICAgCisgICAgUkVMRUFTRV9BU1NFUlQoc2VjdGlvbik7CisgICAgUkVM
RUFTRV9BU1NFUlQoc2l6ZSA+PSBzaXplb2YoQ29tcGFjdFVud2luZCkpOworICAgIAorICAgIENv
bXBhY3RVbndpbmQqIGRhdGEgPSBiaXR3aXNlX2Nhc3Q8Q29tcGFjdFVud2luZCo+KHNlY3Rpb24p
OworICAgIAorICAgIFJFTEVBU0VfQVNTRVJUKCFkYXRhLT5wZXJzb25hbGl0eSk7IC8vIFdlIGRv
bid0IGtub3cgaG93IHRvIGhhbmRsZSB0aGlzLgorICAgIFJFTEVBU0VfQVNTRVJUKCFkYXRhLT5s
c2RhKTsgLy8gV2UgZG9uJ3Qga25vdyBob3cgdG8gaGFuZGxlIHRoaXMuCisgICAgUkVMRUFTRV9B
U1NFUlQoZGF0YS0+ZnVuY3Rpb24gPT0gZ2VuZXJhdGVkRnVuY3Rpb24pOyAvLyBUaGUgdW53aW5k
IGRhdGEgYmV0dGVyIGJlIGZvciBvdXIgZnVuY3Rpb24uCisgICAgCisgICAgY29tcGFjdF91bndp
bmRfZW5jb2RpbmdfdCBlbmNvZGluZyA9IGRhdGEtPmVuY29kaW5nOworICAgIFJFTEVBU0VfQVNT
RVJUKCEoZW5jb2RpbmcgJiBVTldJTkRfSVNfTk9UX0ZVTkNUSU9OX1NUQVJUKSk7CisgICAgUkVM
RUFTRV9BU1NFUlQoIShlbmNvZGluZyAmIFVOV0lORF9IQVNfTFNEQSkpOworICAgIFJFTEVBU0Vf
QVNTRVJUKCEoZW5jb2RpbmcgJiBVTldJTkRfUEVSU09OQUxJVFlfTUFTSykpOworICAgIFJFTEVB
U0VfQVNTRVJUKChlbmNvZGluZyAmIFVOV0lORF9YODZfNjRfTU9ERV9NQVNLKSA9PSBVTldJTkRf
WDg2XzY0X01PREVfUkJQX0ZSQU1FKTsKKyAgICAKKyAgICBpbnQzMl90IG9mZnNldCA9IC0oKGVu
Y29kaW5nICYgVU5XSU5EX1g4Nl82NF9SQlBfRlJBTUVfT0ZGU0VUKSA+PiAxNikgKiA4OworICAg
IHVpbnQzMl90IG5leHRSZWdpc3RlcnMgPSBlbmNvZGluZzsKKyAgICBmb3IgKHVuc2lnbmVkIGkg
PSA1OyBpLS07KSB7CisgICAgICAgIHVpbnQzMl90IGN1cnJlbnRSZWdpc3RlciA9IG5leHRSZWdp
c3RlcnMgJiA3OworICAgICAgICBuZXh0UmVnaXN0ZXJzID4+PSAzOworICAgICAgICAKKyAgICAg
ICAgc3dpdGNoIChjdXJyZW50UmVnaXN0ZXIpIHsKKyAgICAgICAgY2FzZSBVTldJTkRfWDg2XzY0
X1JFR19OT05FOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAKKyAgICAgICAgY2Fz
ZSBVTldJTkRfWDg2XzY0X1JFR19SQlg6CisgICAgICAgICAgICBtX3JlZ2lzdGVycy5hcHBlbmQo
UmVnaXN0ZXJBdE9mZnNldChYODZSZWdpc3RlcnM6OmVieCwgb2Zmc2V0KSk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIAorICAgICAgICBjYXNlIFVOV0lORF9YODZfNjRfUkVHX1Ix
MjoKKyAgICAgICAgICAgIG1fcmVnaXN0ZXJzLmFwcGVuZChSZWdpc3RlckF0T2Zmc2V0KFg4NlJl
Z2lzdGVyczo6cjEyLCBvZmZzZXQpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
CisgICAgICAgIGNhc2UgVU5XSU5EX1g4Nl82NF9SRUdfUjEzOgorICAgICAgICAgICAgbV9yZWdp
c3RlcnMuYXBwZW5kKFJlZ2lzdGVyQXRPZmZzZXQoWDg2UmVnaXN0ZXJzOjpyMTMsIG9mZnNldCkp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAKKyAgICAgICAgY2FzZSBVTldJTkRf
WDg2XzY0X1JFR19SMTQ6CisgICAgICAgICAgICBtX3JlZ2lzdGVycy5hcHBlbmQoUmVnaXN0ZXJB
dE9mZnNldChYODZSZWdpc3RlcnM6OnIxNCwgb2Zmc2V0KSk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIAorICAgICAgICBjYXNlIFVOV0lORF9YODZfNjRfUkVHX1IxNToKKyAgICAg
ICAgICAgIG1fcmVnaXN0ZXJzLmFwcGVuZChSZWdpc3RlckF0T2Zmc2V0KFg4NlJlZ2lzdGVyczo6
cjE1LCBvZmZzZXQpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgCisgICAgICAg
IGNhc2UgVU5XSU5EX1g4Nl82NF9SRUdfUkJQOgorICAgICAgICAgICAgbV9yZWdpc3RlcnMuYXBw
ZW5kKFJlZ2lzdGVyQXRPZmZzZXQoWDg2UmVnaXN0ZXJzOjplYnAsIG9mZnNldCkpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAg
ICAgIG9mZnNldCArPSA4OworICAgIH0KKyAgICAKKyAgICBzdGQ6OnNvcnQobV9yZWdpc3RlcnMu
YmVnaW4oKSwgbV9yZWdpc3RlcnMuZW5kKCkpOworfQorCit2b2lkIFVud2luZEluZm86OmR1bXAo
UHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBvdXQucHJpbnQobGlzdER1bXAobV9yZWdp
c3RlcnMpKTsKK30KKworUmVnaXN0ZXJBdE9mZnNldCogVW53aW5kSW5mbzo6ZmluZChHUFJSZWcg
Z3ByKSBjb25zdAoreworICAgIHJldHVybiB0cnlCaW5hcnlTZWFyY2g8UmVnaXN0ZXJBdE9mZnNl
dCwgR1BSUmVnPihtX3JlZ2lzdGVycywgbV9yZWdpc3RlcnMuc2l6ZSgpLCBncHIsIFJlZ2lzdGVy
QXRPZmZzZXQ6OmdldEdQUik7Cit9CisKK3Vuc2lnbmVkIFVud2luZEluZm86OmluZGV4T2YoR1BS
UmVnIGdwcikgY29uc3QKK3sKKyAgICBpZiAoUmVnaXN0ZXJBdE9mZnNldCogcG9pbnRlciA9IGZp
bmQoZ3ByKSkKKyAgICAgICAgcmV0dXJuIHBvaW50ZXIgLSBtX3JlZ2lzdGVycy5iZWdpbigpOwor
ICAgIHJldHVybiBVSU5UX01BWDsKK30KKworfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZUTAorCisj
ZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQpCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMVW53aW5kSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExV
bndpbmRJbmZvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGU1NDE3MjhkNDUyMTUyZDdmZmNlOWM4NjZlYzdhZDkx
MjE0MmU4YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
VW53aW5kSW5mby5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBGVExVbndpbmRJbmZvX2gKKyNkZWZpbmUgRlRM
VW53aW5kSW5mb19oCisKKyNpZiBFTkFCTEUoRlRMX0pJVCkKKworI2luY2x1ZGUgIkZUTEdlbmVy
YXRlZEZ1bmN0aW9uLmgiCisjaW5jbHVkZSAiRlRMUmVnaXN0ZXJBdE9mZnNldC5oIgorCituYW1l
c3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CisKK3N0cnVjdCBVbndpbmRJbmZvIHsKKyAgICBV
bndpbmRJbmZvKCk7CisgICAgflVud2luZEluZm8oKTsKKyAgICAKKyAgICB2b2lkIHBhcnNlKHZv
aWQqLCBzaXplX3QsIEdlbmVyYXRlZEZ1bmN0aW9uKTsKKyAgICAKKyAgICB2b2lkIGR1bXAoUHJp
bnRTdHJlYW0mKSBjb25zdDsKKyAgICAKKyAgICBSZWdpc3RlckF0T2Zmc2V0KiBmaW5kKEdQUlJl
ZyBncHIpIGNvbnN0OworICAgIHVuc2lnbmVkIGluZGV4T2YoR1BSUmVnIGdwcikgY29uc3Q7IC8v
IFJldHVybnMgVUlOVF9NQVggaWYgbm90IGZvdW5kLgorICAgIAorICAgIFZlY3RvcjxSZWdpc3Rl
ckF0T2Zmc2V0PiBtX3JlZ2lzdGVyczsKK307CisKK30gfSAvLyBuYW1lc3BhY2UgSlNDOjpGVEwK
KworI2VuZGlmIC8vIEVOQUJMRShGVExfSklUKQorCisjZW5kaWYgLy8gRlRMVW53aW5kSW5mb19o
CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMVmFsdWVSYW5nZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFZhbHVlUmFuZ2UuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA4OTdjODZiZDQwNWYzYjRkMmY0NWRmOTc3YjM2OWFhN2M5MzZkOTYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFZhbHVlUmFuZ2UuY3BwCkBAIC0w
LDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkZUTFZhbHVlUmFuZ2UuaCIKKworI2lu
Y2x1ZGUgIkZUTEFiYnJldmlhdGlvbnMuaCIKKworI2lmIEVOQUJMRShGVExfSklUKQorCituYW1l
c3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CisKK3ZvaWQgVmFsdWVSYW5nZTo6ZGVjb3JhdGVJ
bnN0cnVjdGlvbigKKyAgICBMQ29udGV4dCBjb250ZXh0LCBMVmFsdWUgbG9hZEluc3RydWN0aW9u
LCB1bnNpZ25lZCByYW5nZUtpbmQpIGNvbnN0Cit7CisgICAgaWYgKCFtX3JhbmdlTWV0YWRhdGEp
CisgICAgICAgIG1fcmFuZ2VNZXRhZGF0YSA9IG1kTm9kZShjb250ZXh0LCBtX2JlZ2luLCBtX2Vu
ZCk7CisgICAgc2V0TWV0YWRhdGEobG9hZEluc3RydWN0aW9uLCByYW5nZUtpbmQsIG1fcmFuZ2VN
ZXRhZGF0YSk7Cit9CisKK30gfSAvLyBuYW1lc3BhY2UgSlNDOjpGVEwKKworI2VuZGlmIC8vIEVO
QUJMRShGVExfSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExW
YWx1ZVJhbmdlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFZhbHVlUmFuZ2UuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iZWU0NGVmYTE4ODAxOTBmZTBjZDhkMjQzNGM4ZDA1ZTRhMjhhMDU1Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExWYWx1ZVJhbmdlLmgK
QEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaWZuZGVmIEZUTFZhbHVlUmFuZ2VfaAorI2RlZmluZSBGVExWYWx1ZVJhbmdlX2gK
KworI2lmIEVOQUJMRShGVExfSklUKQorCisjaW5jbHVkZSAiRlRMQWJicmV2aWF0ZWRUeXBlcy5o
IgorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CisKK2NsYXNzIFZhbHVlUmFuZ2Ug
eworcHVibGljOgorICAgIFZhbHVlUmFuZ2UoKQorICAgICAgICA6IG1fYmVnaW4oMCkKKyAgICAg
ICAgLCBtX2VuZCgwKQorICAgICAgICAsIG1fcmFuZ2VNZXRhZGF0YSgwKQorICAgIHsKKyAgICB9
CisgICAgCisgICAgVmFsdWVSYW5nZShMVmFsdWUgYmVnaW4sIExWYWx1ZSBlbmQpCisgICAgICAg
IDogbV9iZWdpbihiZWdpbikKKyAgICAgICAgLCBtX2VuZChlbmQpCisgICAgICAgICwgbV9yYW5n
ZU1ldGFkYXRhKDApCisgICAgeworICAgIH0KKyAgICAKKyAgICBMVmFsdWUgYmVnaW4oKSBjb25z
dCB7IHJldHVybiBtX2JlZ2luOyB9CisgICAgTFZhbHVlIGVuZCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZW5kOyB9CisgICAgCisgICAgdm9pZCBkZWNvcmF0ZUluc3RydWN0aW9uKExDb250ZXh0LCBMVmFs
dWUgbG9hZEluc3RydWN0aW9uLCB1bnNpZ25lZCByYW5nZUtpbmQpIGNvbnN0OworICAgIAorcHJp
dmF0ZToKKyAgICBMVmFsdWUgbV9iZWdpbjsKKyAgICBMVmFsdWUgbV9lbmQ7CisgICAgbXV0YWJs
ZSBMVmFsdWUgbV9yYW5nZU1ldGFkYXRhOworfTsKKworfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkZU
TAorCisjZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQpCisKKyNlbmRpZiAvLyBGVExWYWx1ZVJhbmdl
X2gKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29uc2VydmF0aXZl
Um9vdHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29uc2VydmF0aXZlUm9vdHMu
Y3BwCmluZGV4IDdmYzhlZWUzZmY4MjIzNDUzY2FjOGU1NzNmOTNiMWUzN2QzYzc5ODIuLjQwZGY5
MDNjMDg0MzE2YzkxNzJkNjg1MmMzNjU1OGQwZGE1ZjFhZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9oZWFwL0NvbnNlcnZhdGl2ZVJvb3RzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9Db25zZXJ2YXRpdmVSb290cy5jcHAKQEAgLTk5LDcgKzk5LDYgQEAg
dm9pZCBDb25zZXJ2YXRpdmVSb290czo6Z2VuZXJpY0FkZFNwYW4odm9pZCogYmVnaW4sIHZvaWQq
IGVuZCwgTWFya0hvb2smIG1hcmtIb28KICAgICAgICAgZW5kID0gc3dhcFRlbXA7CiAgICAgfQog
Ci0gICAgQVNTRVJUKChzdGF0aWNfY2FzdDxjaGFyKj4oZW5kKSAtIHN0YXRpY19jYXN0PGNoYXIq
PihiZWdpbikpIDwgMHgxMDAwMDAwKTsKICAgICBBU1NFUlQoaXNQb2ludGVyQWxpZ25lZChiZWdp
bikpOwogICAgIEFTU0VSVChpc1BvaW50ZXJBbGlnbmVkKGVuZCkpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9oZWFwL0hlYXAuY3BwCmluZGV4IDJhYmEzYWE5ZDAxZTcxMjhhMDA0MGY4ZmI2NGI5YjliMDdh
OTYzNzYuLmE2MmEyMzdiNWMzNmIyZjcxMzM0Y2Y4N2VhMTYzMDQ2Nzg2ZTNlNzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqICBDb3B5cmln
aHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTEsIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogIENvcHlyaWdodCAoQykgMjAw
MywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMSwgMjAxMywgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAgQ29weXJpZ2h0IChDKSAyMDA3IEVy
aWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CiAgKgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTQ1MSwyNCArNDUx
LDI3IEBAIHZvaWQgSGVhcDo6bWFya1Jvb3RzKCkKICAgICBkb3VibGUgZ2NTdGFydFRpbWUgPSBX
VEY6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogI2VuZGlmCiAKKyAgICBtX2NvZGVC
bG9ja3MuY2xlYXJNYXJrcygpOwogICAgIHZvaWQqIGR1bW15OwotICAgIAorCiAgICAgLy8gV2Ug
Z2F0aGVyIGNvbnNlcnZhdGl2ZSByb290cyBiZWZvcmUgY2xlYXJpbmcgbWFyayBiaXRzIGJlY2F1
c2UgY29uc2VydmF0aXZlCiAgICAgLy8gZ2F0aGVyaW5nIHVzZXMgdGhlIG1hcmsgYml0cyB0byBk
ZXRlcm1pbmUgd2hldGhlciBhIHJlZmVyZW5jZSBpcyB2YWxpZC4KICAgICBDb25zZXJ2YXRpdmVS
b290cyBtYWNoaW5lVGhyZWFkUm9vdHMoJm1fb2JqZWN0U3BhY2UuYmxvY2tzKCksICZtX3N0b3Jh
Z2VTcGFjZSk7CiAgICAgbV9qaXRTdHViUm91dGluZXMuY2xlYXJNYXJrcygpOwogICAgIHsKICAg
ICAgICAgR0NQSEFTRShHYXRoZXJDb25zZXJ2YXRpdmVSb290cyk7Ci0gICAgICAgIG1fbWFjaGlu
ZVRocmVhZHMuZ2F0aGVyQ29uc2VydmF0aXZlUm9vdHMobWFjaGluZVRocmVhZFJvb3RzLCAmZHVt
bXkpOworICAgICAgICBtX21hY2hpbmVUaHJlYWRzLmdhdGhlckNvbnNlcnZhdGl2ZVJvb3RzKG1h
Y2hpbmVUaHJlYWRSb290cywgbV9qaXRTdHViUm91dGluZXMsIG1fY29kZUJsb2NrcywgJmR1bW15
KTsKICAgICB9CiAKKyNpZiBFTkFCTEUoTExJTlRfQ19MT09QKQogICAgIENvbnNlcnZhdGl2ZVJv
b3RzIHN0YWNrUm9vdHMoJm1fb2JqZWN0U3BhY2UuYmxvY2tzKCksICZtX3N0b3JhZ2VTcGFjZSk7
Ci0gICAgbV9jb2RlQmxvY2tzLmNsZWFyTWFya3MoKTsKICAgICB7CiAgICAgICAgIEdDUEhBU0Uo
R2F0aGVyU3RhY2tSb290cyk7CiAgICAgICAgIHN0YWNrKCkuZ2F0aGVyQ29uc2VydmF0aXZlUm9v
dHMoc3RhY2tSb290cywgbV9qaXRTdHViUm91dGluZXMsIG1fY29kZUJsb2Nrcyk7Ci0gICAgICAg
IHN0YWNrKCkuc2FuaXRpemVTdGFjaygpOwogICAgIH0KKyNlbmRpZgorCisgICAgc2FuaXRpemVT
dGFja0ZvclZNKG1fdm0pOwogCiAjaWYgRU5BQkxFKERGR19KSVQpCiAgICAgQ29uc2VydmF0aXZl
Um9vdHMgc2NyYXRjaEJ1ZmZlclJvb3RzKCZtX29iamVjdFNwYWNlLmJsb2NrcygpLCAmbV9zdG9y
YWdlU3BhY2UpOwpAQCAtNTA1LDEyICs1MDgsMTQgQEAgdm9pZCBIZWFwOjptYXJrUm9vdHMoKQog
ICAgICAgICAgICAgdmlzaXRvci5hcHBlbmQobWFjaGluZVRocmVhZFJvb3RzKTsKICAgICAgICAg
ICAgIHZpc2l0b3IuZG9uYXRlQW5kRHJhaW4oKTsKICAgICAgICAgfQorI2lmIEVOQUJMRShMTElO
VF9DX0xPT1ApCiAgICAgICAgIHsKICAgICAgICAgICAgIEdDUEhBU0UoVmlzaXRTdGFja1Jvb3Rz
KTsKICAgICAgICAgICAgIE1BUktfTE9HX1JPT1QodmlzaXRvciwgIlN0YWNrIik7CiAgICAgICAg
ICAgICB2aXNpdG9yLmFwcGVuZChzdGFja1Jvb3RzKTsKICAgICAgICAgICAgIHZpc2l0b3IuZG9u
YXRlQW5kRHJhaW4oKTsKICAgICAgICAgfQorI2VuZGlmCiAjaWYgRU5BQkxFKERGR19KSVQpCiAg
ICAgICAgIHsKICAgICAgICAgICAgIEdDUEhBU0UoVmlzaXRTY3JhdGNoQnVmZmVyUm9vdHMpOwpA
QCAtOTUyLDEyICs5NTcsMTIgQEAgdm9pZCBIZWFwOjpjb2xsZWN0KCkKIAogYm9vbCBIZWFwOjpj
b2xsZWN0SWZOZWNlc3NhcnlPckRlZmVyKCkKIHsKLSAgICBpZiAobV9kZWZlcnJhbERlcHRoKQor
ICAgIGlmIChpc0RlZmVycmVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKKwogICAg
IGlmICghc2hvdWxkQ29sbGVjdCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgCisKICAg
ICBjb2xsZWN0KCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9IZWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFw
LmgKaW5kZXggN2JhMTVjYTU4NGNjMTU3YmFkYjBhMTBiMjRhYmFlZDg2MWQzN2Q3MC4uNWYyYWNh
ZWIwZDU0YzZmYzI3ZmE2ZDFlZDBhMDA2ODRhNDZkZDdhNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFw
L0hlYXAuaApAQCAtMTk3LDcgKzE5Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAKICAg
ICAgICAgdm9pZCBhZGRSZWZlcmVuY2UoSlNDZWxsKiwgQXJyYXlCdWZmZXIqKTsKICAgICAgICAg
Ci0gICAgICAgIGJvb2wgaXNEZWZlcnJlZCgpIGNvbnN0IHsgcmV0dXJuICEhbV9kZWZlcnJhbERl
cHRoOyB9CisgICAgICAgIGJvb2wgaXNEZWZlcnJlZCgpIGNvbnN0IHsgcmV0dXJuICEhbV9kZWZl
cnJhbERlcHRoIHx8IE9wdGlvbnM6OmRpc2FibGVHQygpOyB9CiAKICNpZiBVU0UoQ0YpCiAgICAg
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgcmVsZWFzZVNvb24oUmV0YWluUHRyPFQ+JiYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFjaGluZVN0YWNrTWFy
a2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hY2hpbmVTdGFja01hcmtlci5j
cHAKaW5kZXggZjU0NmNiMzhiYmM2NTFmMTE4N2Q2ZmQzNmEzNjYyYjRkODY4ZjMxMC4uODI2MzE5
MmQxY2Q5YWUyY2ExNzMyYmFkMmE3YzM4ZjkyNDJkMDdiZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvTWFjaGluZVN0YWNrTWFya2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaGVhcC9NYWNoaW5lU3RhY2tNYXJrZXIuY3BwCkBAIC0yMzIsNyArMjMyLDcg
QEAgdm9pZCBNYWNoaW5lVGhyZWFkczo6cmVtb3ZlQ3VycmVudFRocmVhZCgpCiAjZGVmaW5lIFJF
R0lTVEVSX0JVRkZFUl9BTElHTk1FTlQKICNlbmRpZgogCi12b2lkIE1hY2hpbmVUaHJlYWRzOjpn
YXRoZXJGcm9tQ3VycmVudFRocmVhZChDb25zZXJ2YXRpdmVSb290cyYgY29uc2VydmF0aXZlUm9v
dHMsIHZvaWQqIHN0YWNrQ3VycmVudCkKK3ZvaWQgTWFjaGluZVRocmVhZHM6OmdhdGhlckZyb21D
dXJyZW50VGhyZWFkKENvbnNlcnZhdGl2ZVJvb3RzJiBjb25zZXJ2YXRpdmVSb290cywgSklUU3R1
YlJvdXRpbmVTZXQmIGppdFN0dWJSb3V0aW5lcywgQ29kZUJsb2NrU2V0JiBjb2RlQmxvY2tzLCB2
b2lkKiBzdGFja0N1cnJlbnQpCiB7CiAgICAgLy8gc2V0am1wIGZvcmNlcyB2b2xhdGlsZSByZWdp
c3RlcnMgb250byB0aGUgc3RhY2sKICAgICBqbXBfYnVmIHJlZ2lzdGVycyBSRUdJU1RFUl9CVUZG
RVJfQUxJR05NRU5UOwpAQCAtMjQ4LDEyICsyNDgsMTIgQEAgdm9pZCBNYWNoaW5lVGhyZWFkczo6
Z2F0aGVyRnJvbUN1cnJlbnRUaHJlYWQoQ29uc2VydmF0aXZlUm9vdHMmIGNvbnNlcnZhdGl2ZVJv
b3QKICAgICB2b2lkKiByZWdpc3RlcnNCZWdpbiA9ICZyZWdpc3RlcnM7CiAgICAgdm9pZCogcmVn
aXN0ZXJzRW5kID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4ocm91bmRVcFRvTXVsdGlwbGVPZjxz
aXplb2Yodm9pZCopPihyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oJnJlZ2lzdGVycyArIDEp
KSk7CiAgICAgc3dhcElmQmFja3dhcmRzKHJlZ2lzdGVyc0JlZ2luLCByZWdpc3RlcnNFbmQpOwot
ICAgIGNvbnNlcnZhdGl2ZVJvb3RzLmFkZChyZWdpc3RlcnNCZWdpbiwgcmVnaXN0ZXJzRW5kKTsK
KyAgICBjb25zZXJ2YXRpdmVSb290cy5hZGQocmVnaXN0ZXJzQmVnaW4sIHJlZ2lzdGVyc0VuZCwg
aml0U3R1YlJvdXRpbmVzLCBjb2RlQmxvY2tzKTsKIAogICAgIHZvaWQqIHN0YWNrQmVnaW4gPSBz
dGFja0N1cnJlbnQ7CiAgICAgdm9pZCogc3RhY2tFbmQgPSB3dGZUaHJlYWREYXRhKCkuc3RhY2so
KS5vcmlnaW4oKTsKICAgICBzd2FwSWZCYWNrd2FyZHMoc3RhY2tCZWdpbiwgc3RhY2tFbmQpOwot
ICAgIGNvbnNlcnZhdGl2ZVJvb3RzLmFkZChzdGFja0JlZ2luLCBzdGFja0VuZCk7CisgICAgY29u
c2VydmF0aXZlUm9vdHMuYWRkKHN0YWNrQmVnaW4sIHN0YWNrRW5kLCBqaXRTdHViUm91dGluZXMs
IGNvZGVCbG9ja3MpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgc3VzcGVuZFRocmVhZChjb25z
dCBQbGF0Zm9ybVRocmVhZCYgcGxhdGZvcm1UaHJlYWQpCkBAIC00MzQsMjQgKzQzNCwyNCBAQCBz
dGF0aWMgdm9pZCBmcmVlUGxhdGZvcm1UaHJlYWRSZWdpc3RlcnMoUGxhdGZvcm1UaHJlYWRSZWdp
c3RlcnMmIHJlZ3MpCiAjZW5kaWYKIH0KIAotdm9pZCBNYWNoaW5lVGhyZWFkczo6Z2F0aGVyRnJv
bU90aGVyVGhyZWFkKENvbnNlcnZhdGl2ZVJvb3RzJiBjb25zZXJ2YXRpdmVSb290cywgVGhyZWFk
KiB0aHJlYWQpCit2b2lkIE1hY2hpbmVUaHJlYWRzOjpnYXRoZXJGcm9tT3RoZXJUaHJlYWQoQ29u
c2VydmF0aXZlUm9vdHMmIGNvbnNlcnZhdGl2ZVJvb3RzLCBUaHJlYWQqIHRocmVhZCwgSklUU3R1
YlJvdXRpbmVTZXQmIGppdFN0dWJSb3V0aW5lcywgQ29kZUJsb2NrU2V0JiBjb2RlQmxvY2tzKQog
ewogICAgIFBsYXRmb3JtVGhyZWFkUmVnaXN0ZXJzIHJlZ3M7CiAgICAgc2l6ZV90IHJlZ1NpemUg
PSBnZXRQbGF0Zm9ybVRocmVhZFJlZ2lzdGVycyh0aHJlYWQtPnBsYXRmb3JtVGhyZWFkLCByZWdz
KTsKIAotICAgIGNvbnNlcnZhdGl2ZVJvb3RzLmFkZChzdGF0aWNfY2FzdDx2b2lkKj4oJnJlZ3Mp
LCBzdGF0aWNfY2FzdDx2b2lkKj4ocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oJnJlZ3MpICsgcmVn
U2l6ZSkpOworICAgIGNvbnNlcnZhdGl2ZVJvb3RzLmFkZChzdGF0aWNfY2FzdDx2b2lkKj4oJnJl
Z3MpLCBzdGF0aWNfY2FzdDx2b2lkKj4ocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oJnJlZ3MpICsg
cmVnU2l6ZSksIGppdFN0dWJSb3V0aW5lcywgY29kZUJsb2Nrcyk7CiAKICAgICB2b2lkKiBzdGFj
a1BvaW50ZXIgPSBvdGhlclRocmVhZFN0YWNrUG9pbnRlcihyZWdzKTsKICAgICB2b2lkKiBzdGFj
a0Jhc2UgPSB0aHJlYWQtPnN0YWNrQmFzZTsKICAgICBzd2FwSWZCYWNrd2FyZHMoc3RhY2tQb2lu
dGVyLCBzdGFja0Jhc2UpOwotICAgIGNvbnNlcnZhdGl2ZVJvb3RzLmFkZChzdGFja1BvaW50ZXIs
IHN0YWNrQmFzZSk7CisgICAgY29uc2VydmF0aXZlUm9vdHMuYWRkKHN0YWNrUG9pbnRlciwgc3Rh
Y2tCYXNlLCBqaXRTdHViUm91dGluZXMsIGNvZGVCbG9ja3MpOwogCiAgICAgZnJlZVBsYXRmb3Jt
VGhyZWFkUmVnaXN0ZXJzKHJlZ3MpOwogfQogCi12b2lkIE1hY2hpbmVUaHJlYWRzOjpnYXRoZXJD
b25zZXJ2YXRpdmVSb290cyhDb25zZXJ2YXRpdmVSb290cyYgY29uc2VydmF0aXZlUm9vdHMsIHZv
aWQqIHN0YWNrQ3VycmVudCkKK3ZvaWQgTWFjaGluZVRocmVhZHM6OmdhdGhlckNvbnNlcnZhdGl2
ZVJvb3RzKENvbnNlcnZhdGl2ZVJvb3RzJiBjb25zZXJ2YXRpdmVSb290cywgSklUU3R1YlJvdXRp
bmVTZXQmIGppdFN0dWJSb3V0aW5lcywgQ29kZUJsb2NrU2V0JiBjb2RlQmxvY2tzLCB2b2lkKiBz
dGFja0N1cnJlbnQpCiB7Ci0gICAgZ2F0aGVyRnJvbUN1cnJlbnRUaHJlYWQoY29uc2VydmF0aXZl
Um9vdHMsIHN0YWNrQ3VycmVudCk7CisgICAgZ2F0aGVyRnJvbUN1cnJlbnRUaHJlYWQoY29uc2Vy
dmF0aXZlUm9vdHMsIGppdFN0dWJSb3V0aW5lcywgY29kZUJsb2Nrcywgc3RhY2tDdXJyZW50KTsK
IAogICAgIGlmIChtX3RocmVhZFNwZWNpZmljKSB7CiAgICAgICAgIFBsYXRmb3JtVGhyZWFkIGN1
cnJlbnRQbGF0Zm9ybVRocmVhZCA9IGdldEN1cnJlbnRQbGF0Zm9ybVRocmVhZCgpOwpAQCAtNDcz
LDcgKzQ3Myw3IEBAIHZvaWQgTWFjaGluZVRocmVhZHM6OmdhdGhlckNvbnNlcnZhdGl2ZVJvb3Rz
KENvbnNlcnZhdGl2ZVJvb3RzJiBjb25zZXJ2YXRpdmVSb290CiAgICAgICAgIC8vIGFuZCBzaW5j
ZSB0aGlzIGlzIGEgc2hhcmVkIGhlYXAsIHRoZXkgYXJlIHJlYWwgbG9ja3MuCiAgICAgICAgIGZv
ciAoVGhyZWFkKiB0aHJlYWQgPSBtX3JlZ2lzdGVyZWRUaHJlYWRzOyB0aHJlYWQ7IHRocmVhZCA9
IHRocmVhZC0+bmV4dCkgewogICAgICAgICAgICAgaWYgKCFlcXVhbFRocmVhZCh0aHJlYWQtPnBs
YXRmb3JtVGhyZWFkLCBjdXJyZW50UGxhdGZvcm1UaHJlYWQpKQotICAgICAgICAgICAgICAgIGdh
dGhlckZyb21PdGhlclRocmVhZChjb25zZXJ2YXRpdmVSb290cywgdGhyZWFkKTsKKyAgICAgICAg
ICAgICAgICBnYXRoZXJGcm9tT3RoZXJUaHJlYWQoY29uc2VydmF0aXZlUm9vdHMsIHRocmVhZCwg
aml0U3R1YlJvdXRpbmVzLCBjb2RlQmxvY2tzKTsKICAgICAgICAgfQogCiAgICAgICAgIGZvciAo
VGhyZWFkKiB0aHJlYWQgPSBtX3JlZ2lzdGVyZWRUaHJlYWRzOyB0aHJlYWQ7IHRocmVhZCA9IHRo
cmVhZC0+bmV4dCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFj
aGluZVN0YWNrTWFya2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYWNoaW5lU3Rh
Y2tNYXJrZXIuaAppbmRleCA0OTgyM2Q0M2UyN2I1M2M5ZGViN2IwMTA2ODlmYTY3YjViYzY3NTI2
Li4zM2I3MmM4NjE0ZjA2YWZlYjQxZGMwNDkwMjUyYTYxMDY3YjUzOTY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYWNoaW5lU3RhY2tNYXJrZXIuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYWNoaW5lU3RhY2tNYXJrZXIuaApAQCAtMjgsOCArMjgs
MTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKKyAgICBjbGFzcyBDb2RlQmxvY2tTZXQ7CiAgICAg
Y2xhc3MgQ29uc2VydmF0aXZlUm9vdHM7CiAgICAgY2xhc3MgSGVhcDsKKyAgICBjbGFzcyBKSVRT
dHViUm91dGluZVNldDsKIAogICAgIGNsYXNzIE1hY2hpbmVUaHJlYWRzIHsKICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTWFjaGluZVRocmVhZHMpOwpAQCAtMzcsMjAgKzM5LDIwIEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICBNYWNoaW5lVGhyZWFkcyhIZWFwKik7CiAgICAgICAgIH5N
YWNoaW5lVGhyZWFkcygpOwogCi0gICAgICAgIHZvaWQgZ2F0aGVyQ29uc2VydmF0aXZlUm9vdHMo
Q29uc2VydmF0aXZlUm9vdHMmLCB2b2lkKiBzdGFja0N1cnJlbnQpOworICAgICAgICB2b2lkIGdh
dGhlckNvbnNlcnZhdGl2ZVJvb3RzKENvbnNlcnZhdGl2ZVJvb3RzJiwgSklUU3R1YlJvdXRpbmVT
ZXQmLCBDb2RlQmxvY2tTZXQmLCB2b2lkKiBzdGFja0N1cnJlbnQpOwogCiAgICAgICAgIEpTX0VY
UE9SVF9QUklWQVRFIHZvaWQgbWFrZVVzYWJsZUZyb21NdWx0aXBsZVRocmVhZHMoKTsKICAgICAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBhZGRDdXJyZW50VGhyZWFkKCk7IC8vIE9ubHkgbmVl
ZHMgdG8gYmUgY2FsbGVkIGJ5IGNsaWVudHMgdGhhdCBjYW4gdXNlIHRoZSBzYW1lIGhlYXAgZnJv
bSBtdWx0aXBsZSB0aHJlYWRzLgogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgdm9pZCBnYXRoZXJG
cm9tQ3VycmVudFRocmVhZChDb25zZXJ2YXRpdmVSb290cyYsIHZvaWQqIHN0YWNrQ3VycmVudCk7
CisgICAgICAgIHZvaWQgZ2F0aGVyRnJvbUN1cnJlbnRUaHJlYWQoQ29uc2VydmF0aXZlUm9vdHMm
LCBKSVRTdHViUm91dGluZVNldCYsIENvZGVCbG9ja1NldCYsIHZvaWQqIHN0YWNrQ3VycmVudCk7
CiAKICAgICAgICAgY2xhc3MgVGhyZWFkOwogCiAgICAgICAgIHN0YXRpYyB2b2lkIHJlbW92ZVRo
cmVhZCh2b2lkKik7CiAgICAgICAgIHZvaWQgcmVtb3ZlQ3VycmVudFRocmVhZCgpOwogCi0gICAg
ICAgIHZvaWQgZ2F0aGVyRnJvbU90aGVyVGhyZWFkKENvbnNlcnZhdGl2ZVJvb3RzJiwgVGhyZWFk
Kik7CisgICAgICAgIHZvaWQgZ2F0aGVyRnJvbU90aGVyVGhyZWFkKENvbnNlcnZhdGl2ZVJvb3Rz
JiwgVGhyZWFkKiwgSklUU3R1YlJvdXRpbmVTZXQmLCBDb2RlQmxvY2tTZXQmKTsKIAogICAgICAg
ICBNdXRleCBtX3JlZ2lzdGVyZWRUaHJlYWRzTXV0ZXg7CiAgICAgICAgIFRocmVhZCogbV9yZWdp
c3RlcmVkVGhyZWFkczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9DYWxsRnJhbWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0Nh
bGxGcmFtZS5jcHAKaW5kZXggYTIyNmU5ODQ4YmY5YTE0N2U5MGRiNjRmMDFmYzE2NjJhY2UwOWJk
NS4uNGE2MDgwOWUyOWQxNmY3MWMyOTQ4ZjY2MTg2OGFkMmI2ZDlkYzg5YiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhbGxGcmFtZS5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhbGxGcmFtZS5jcHAKQEAgLTExNiwxMSAr
MTE2LDExIEBAIENvZGVPcmlnaW4gQ2FsbEZyYW1lOjpjb2RlT3JpZ2luKCkKICAgICByZXR1cm4g
Q29kZU9yaWdpbihsb2NhdGlvbkFzQnl0ZWNvZGVPZmZzZXQoKSk7CiB9CiAKLVJlZ2lzdGVyKiBD
YWxsRnJhbWU6OmZyYW1lRXh0ZW50SW50ZXJuYWwoKQorUmVnaXN0ZXIqIENhbGxGcmFtZTo6dG9w
T2ZGcmFtZUludGVybmFsKCkKIHsKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IHRoaXMtPmNv
ZGVCbG9jaygpOwogICAgIEFTU0VSVChjb2RlQmxvY2spOwotICAgIHJldHVybiByZWdpc3RlcnMo
KSArIHZpcnR1YWxSZWdpc3RlckZvckxvY2FsKGNvZGVCbG9jay0+ZnJhbWVSZWdpc3RlckNvdW50
KCkpLm9mZnNldCgpOworICAgIHJldHVybiByZWdpc3RlcnMoKSArIGNvZGVCbG9jay0+c3RhY2tQ
b2ludGVyT2Zmc2V0KCk7CiB9CiAKIEpTR2xvYmFsT2JqZWN0KiBDYWxsRnJhbWU6OnZtRW50cnlH
bG9iYWxPYmplY3QoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0NhbGxGcmFtZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhbGxG
cmFtZS5oCmluZGV4IDQ4ZmJjZDc3OWI5ODRjM2Q4MTI4OWY0MmY1YjUzNDdjYjNkYzBjNWUuLjZm
NTA4NDIyYTU3MDYwZGExZjg3NmFhNGFlYWU4Njk1MGY3MDJkN2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJhbWUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FsbEZyYW1lLmgKQEAgLTE3NiwxNSArMTc2LDEzIEBA
IG5hbWVzcGFjZSBKU0MgIHsKICAgICAgICAgLy8gQ29kZU9yaWdpbigwKSBpZiB3ZSdyZSBpbiBu
YXRpdmUgY29kZS4KICAgICAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2luKCk7CiAKLSAgICAgICAg
UmVnaXN0ZXIqIGZyYW1lRXh0ZW50KCkKKyAgICAgICAgUmVnaXN0ZXIqIHRvcE9mRnJhbWUoKQog
ICAgICAgICB7CiAgICAgICAgICAgICBpZiAoaXNWTUVudHJ5U2VudGluZWwoKSB8fCAhY29kZUJs
b2NrKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJlZ2lzdGVycygpIC0gMTsKLSAgICAgICAg
ICAgIHJldHVybiBmcmFtZUV4dGVudEludGVybmFsKCk7CisgICAgICAgICAgICAgICAgcmV0dXJu
IHJlZ2lzdGVycygpOworICAgICAgICAgICAgcmV0dXJuIHRvcE9mRnJhbWVJbnRlcm5hbCgpOwog
ICAgICAgICB9CiAgICAgCi0gICAgICAgIFJlZ2lzdGVyKiBmcmFtZUV4dGVudEludGVybmFsKCk7
Ci0KICNpZiBVU0UoSlNWQUxVRTMyXzY0KQogICAgICAgICBJbnN0cnVjdGlvbiogY3VycmVudFZQ
QygpIGNvbnN0CiAgICAgICAgIHsKQEAgLTMxOCw2ICszMTYsOCBAQCBuYW1lc3BhY2UgSlNDICB7
CiAgICAgICAgIEV4ZWNTdGF0ZSgpOwogICAgICAgICB+RXhlY1N0YXRlKCk7CiAKKyAgICAgICAg
UmVnaXN0ZXIqIHRvcE9mRnJhbWVJbnRlcm5hbCgpOworCiAgICAgICAgIC8vIFRoZSBmb2xsb3dp
bmcgYXJlIGZvciBpbnRlcm5hbCB1c2UgaW4gZGVidWdnaW5nIGFuZCB2ZXJpZmljYXRpb24KICAg
ICAgICAgLy8gY29kZSBvbmx5IGFuZCBub3QgbWVhbnQgYXMgYW4gQVBJIGZvciBnZW5lcmFsIHVz
YWdlOgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJl
dGVyLmNwcAppbmRleCA0ZmJjODIyOWFjZTk3ZjEyYTk1MTg3Mjc2NWYxMTgxMTQxNDFkM2E5Li4y
MWY1ZGZiNWIxMmVlZDRmODE0ZTU2YThhMDNlOGQ3NWRiNjZlNTY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTY1LDYgKzY1
LDcgQEAKICNpbmNsdWRlICJSZWdFeHBQcm90b3R5cGUuaCIKICNpbmNsdWRlICJSZWdpc3Rlci5o
IgogI2luY2x1ZGUgIlNhbXBsaW5nVG9vbC5oIgorI2luY2x1ZGUgIlN0YWNrQWxpZ25tZW50Lmgi
CiAjaW5jbHVkZSAiU3RhY2tWaXNpdG9yLmgiCiAjaW5jbHVkZSAiU3RyaWN0RXZhbEFjdGl2YXRp
b24uaCIKICNpbmNsdWRlICJTdHJvbmdJbmxpbmVzLmgiCkBAIC03NCw2ICs3NSw3IEBACiAjaW5j
bHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDx3dGYvU3RhY2tT
dGF0cy5oPgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3Ry
aW5nUHJpbnRTdHJlYW0uaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8
d3RmL1dURlRocmVhZERhdGEuaD4KQEAgLTg5LDIyICs5MSw2IEBAIHVzaW5nIG5hbWVzcGFjZSBz
dGQ7CiAKIG5hbWVzcGFjZSBKU0MgewogCi1JbnRlcnByZXRlcjo6RXJyb3JIYW5kbGluZ01vZGU6
OkVycm9ySGFuZGxpbmdNb2RlKEV4ZWNTdGF0ZSAqZXhlYykKLSAgICA6IG1faW50ZXJwcmV0ZXIo
KmV4ZWMtPmludGVycHJldGVyKCkpCi17Ci0gICAgaWYgKCFtX2ludGVycHJldGVyLm1fZXJyb3JI
YW5kbGluZ01vZGVSZWVudHJ5KQotICAgICAgICBtX2ludGVycHJldGVyLnN0YWNrKCkuZW5hYmxl
RXJyb3JTdGFja1Jlc2VydmUoKTsKLSAgICBtX2ludGVycHJldGVyLm1fZXJyb3JIYW5kbGluZ01v
ZGVSZWVudHJ5Kys7Ci19Ci0KLUludGVycHJldGVyOjpFcnJvckhhbmRsaW5nTW9kZTo6fkVycm9y
SGFuZGxpbmdNb2RlKCkKLXsKLSAgICBtX2ludGVycHJldGVyLm1fZXJyb3JIYW5kbGluZ01vZGVS
ZWVudHJ5LS07Ci0gICAgQVNTRVJUKG1faW50ZXJwcmV0ZXIubV9lcnJvckhhbmRsaW5nTW9kZVJl
ZW50cnkgPj0gMCk7Ci0gICAgaWYgKCFtX2ludGVycHJldGVyLm1fZXJyb3JIYW5kbGluZ01vZGVS
ZWVudHJ5KQotICAgICAgICBtX2ludGVycHJldGVyLnN0YWNrKCkuZGlzYWJsZUVycm9yU3RhY2tS
ZXNlcnZlKCk7Ci19Ci0KIEpTVmFsdWUgZXZhbChDYWxsRnJhbWUqIGNhbGxGcmFtZSkKIHsKICAg
ICBpZiAoIWNhbGxGcmFtZS0+YXJndW1lbnRDb3VudCgpKQpAQCAtMTUyLDIyICsxMzgsMjUgQEAg
SlNWYWx1ZSBldmFsKENhbGxGcmFtZSogY2FsbEZyYW1lKQogICAgIHJldHVybiBpbnRlcnByZXRl
ci0+ZXhlY3V0ZShldmFsLCBjYWxsRnJhbWUsIHRoaXNWYWx1ZSwgY2FsbGVyU2NvcGVDaGFpbik7
CiB9CiAKLUNhbGxGcmFtZSogc2l6ZUFuZEFsbG9jRnJhbWVGb3JWYXJhcmdzKENhbGxGcmFtZSog
Y2FsbEZyYW1lLCBKU1N0YWNrKiBzdGFjaywgSlNWYWx1ZSBhcmd1bWVudHMsIGludCBmaXJzdEZy
ZWVSZWdpc3RlcikKK0NhbGxGcmFtZSogc2l6ZUZyYW1lRm9yVmFyYXJncyhDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSlNTdGFjayogc3RhY2ssIEpTVmFsdWUgYXJndW1lbnRzLCBpbnQgZmlyc3RGcmVl
UmVnaXN0ZXIpCiB7CiAgICAgaWYgKCFhcmd1bWVudHMpIHsgLy8gZi5hcHBseSh4LCBhcmd1bWVu
dHMpLCB3aXRoIGFyZ3VtZW50cyB1bm1vZGlmaWVkLgogICAgICAgICB1bnNpZ25lZCBhcmd1bWVu
dENvdW50SW5jbHVkaW5nVGhpcyA9IGNhbGxGcmFtZS0+YXJndW1lbnRDb3VudEluY2x1ZGluZ1Ro
aXMoKTsKLSAgICAgICAgQ2FsbEZyYW1lKiBuZXdDYWxsRnJhbWUgPSBDYWxsRnJhbWU6OmNyZWF0
ZShjYWxsRnJhbWUtPnJlZ2lzdGVycygpICsgZmlyc3RGcmVlUmVnaXN0ZXIgLSBhcmd1bWVudENv
dW50SW5jbHVkaW5nVGhpcyAtIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUgLSAxKTsKLSAg
ICAgICAgaWYgKGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzID4gQXJndW1lbnRzOjpNYXhBcmd1
bWVudHMgKyAxIHx8ICFzdGFjay0+Z3JvdyhuZXdDYWxsRnJhbWUtPnJlZ2lzdGVycygpKSkgewot
ICAgICAgICAgICAgY2FsbEZyYW1lLT52bSgpLnRocm93RXhjZXB0aW9uKGNhbGxGcmFtZSwgY3Jl
YXRlU3RhY2tPdmVyZmxvd0Vycm9yKGNhbGxGcmFtZSkpOworICAgICAgICB1bnNpZ25lZCBwYWRk
ZWRDYWxsZWVGcmFtZU9mZnNldCA9IFdURjo6cm91bmRVcFRvTXVsdGlwbGVPZihzdGFja0FsaWdu
bWVudFJlZ2lzdGVycygpLCAtZmlyc3RGcmVlUmVnaXN0ZXIgKyBhcmd1bWVudENvdW50SW5jbHVk
aW5nVGhpcyArIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUgKyAxKTsKKyAgICAgICAgQ2Fs
bEZyYW1lKiBuZXdDYWxsRnJhbWUgPSBDYWxsRnJhbWU6OmNyZWF0ZShjYWxsRnJhbWUtPnJlZ2lz
dGVycygpIC0gcGFkZGVkQ2FsbGVlRnJhbWVPZmZzZXQpOworICAgICAgICBpZiAoYXJndW1lbnRD
b3VudEluY2x1ZGluZ1RoaXMgPiBBcmd1bWVudHM6Ok1heEFyZ3VtZW50cyArIDEgfHwgIXN0YWNr
LT5lbnN1cmVDYXBhY2l0eUZvcihuZXdDYWxsRnJhbWUtPnJlZ2lzdGVycygpKSkgeworICAgICAg
ICAgICAgdGhyb3dTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKTsKICAgICAgICAgICAgIHJl
dHVybiAwOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBuZXdDYWxsRnJhbWU7CiAgICAgfQog
CiAgICAgaWYgKGFyZ3VtZW50cy5pc1VuZGVmaW5lZE9yTnVsbCgpKSB7Ci0gICAgICAgIENhbGxG
cmFtZSogbmV3Q2FsbEZyYW1lID0gQ2FsbEZyYW1lOjpjcmVhdGUoY2FsbEZyYW1lLT5yZWdpc3Rl
cnMoKSArIGZpcnN0RnJlZVJlZ2lzdGVyIC0gMSAtIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNp
emUgLSAxKTsKLSAgICAgICAgaWYgKCFzdGFjay0+Z3JvdyhuZXdDYWxsRnJhbWUtPnJlZ2lzdGVy
cygpKSkgewotICAgICAgICAgICAgY2FsbEZyYW1lLT52bSgpLnRocm93RXhjZXB0aW9uKGNhbGxG
cmFtZSwgY3JlYXRlU3RhY2tPdmVyZmxvd0Vycm9yKGNhbGxGcmFtZSkpOworICAgICAgICB1bnNp
Z25lZCBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyA9IDE7CisgICAgICAgIHVuc2lnbmVkIHBh
ZGRlZENhbGxlZUZyYW1lT2Zmc2V0ID0gV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9mKHN0YWNrQWxp
Z25tZW50UmVnaXN0ZXJzKCksICAtZmlyc3RGcmVlUmVnaXN0ZXIgKyBhcmd1bWVudENvdW50SW5j
bHVkaW5nVGhpcyArIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUgKyAxKTsKKyAgICAgICAg
Q2FsbEZyYW1lKiBuZXdDYWxsRnJhbWUgPSBDYWxsRnJhbWU6OmNyZWF0ZShjYWxsRnJhbWUtPnJl
Z2lzdGVycygpIC0gcGFkZGVkQ2FsbGVlRnJhbWVPZmZzZXQpOworICAgICAgICBpZiAoIXN0YWNr
LT5lbnN1cmVDYXBhY2l0eUZvcihuZXdDYWxsRnJhbWUtPnJlZ2lzdGVycygpKSkgeworICAgICAg
ICAgICAgdGhyb3dTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKTsKICAgICAgICAgICAgIHJl
dHVybiAwOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBuZXdDYWxsRnJhbWU7CkBAIC0xODEs
OSArMTcwLDEwIEBAIENhbGxGcmFtZSogc2l6ZUFuZEFsbG9jRnJhbWVGb3JWYXJhcmdzKENhbGxG
cmFtZSogY2FsbEZyYW1lLCBKU1N0YWNrKiBzdGFjaywgSlNWCiAgICAgaWYgKGFzT2JqZWN0KGFy
Z3VtZW50cyktPmNsYXNzSW5mbygpID09IEFyZ3VtZW50czo6aW5mbygpKSB7CiAgICAgICAgIEFy
Z3VtZW50cyogYXJnc09iamVjdCA9IGFzQXJndW1lbnRzKGFyZ3VtZW50cyk7CiAgICAgICAgIHVu
c2lnbmVkIGFyZ0NvdW50ID0gYXJnc09iamVjdC0+bGVuZ3RoKGNhbGxGcmFtZSk7Ci0gICAgICAg
IENhbGxGcmFtZSogbmV3Q2FsbEZyYW1lID0gQ2FsbEZyYW1lOjpjcmVhdGUoY2FsbEZyYW1lLT5y
ZWdpc3RlcnMoKSArIGZpcnN0RnJlZVJlZ2lzdGVyIC0gQ2FsbEZyYW1lOjpvZmZzZXRGb3IoYXJn
Q291bnQgKyAxKSk7Ci0gICAgICAgIGlmIChhcmdDb3VudCA+IEFyZ3VtZW50czo6TWF4QXJndW1l
bnRzIHx8ICFzdGFjay0+Z3JvdyhuZXdDYWxsRnJhbWUtPnJlZ2lzdGVycygpKSkgewotICAgICAg
ICAgICAgY2FsbEZyYW1lLT52bSgpLnRocm93RXhjZXB0aW9uKGNhbGxGcmFtZSwgY3JlYXRlU3Rh
Y2tPdmVyZmxvd0Vycm9yKGNhbGxGcmFtZSkpOworICAgICAgICB1bnNpZ25lZCBwYWRkZWRDYWxs
ZWVGcmFtZU9mZnNldCA9IFdURjo6cm91bmRVcFRvTXVsdGlwbGVPZihzdGFja0FsaWdubWVudFJl
Z2lzdGVycygpLCAtZmlyc3RGcmVlUmVnaXN0ZXIgKyBDYWxsRnJhbWU6Om9mZnNldEZvcihhcmdD
b3VudCArIDEpKTsKKyAgICAgICAgQ2FsbEZyYW1lKiBuZXdDYWxsRnJhbWUgPSBDYWxsRnJhbWU6
OmNyZWF0ZShjYWxsRnJhbWUtPnJlZ2lzdGVycygpIC0gcGFkZGVkQ2FsbGVlRnJhbWVPZmZzZXQp
OworICAgICAgICBpZiAoYXJnQ291bnQgPiBBcmd1bWVudHM6Ok1heEFyZ3VtZW50cyB8fCAhc3Rh
Y2stPmVuc3VyZUNhcGFjaXR5Rm9yKG5ld0NhbGxGcmFtZS0+cmVnaXN0ZXJzKCkpKSB7CisgICAg
ICAgICAgICB0aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihjYWxsRnJhbWUpOwogICAgICAgICAgICAg
cmV0dXJuIDA7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIG5ld0NhbGxGcmFtZTsKQEAgLTE5
Miw5ICsxODIsMTAgQEAgQ2FsbEZyYW1lKiBzaXplQW5kQWxsb2NGcmFtZUZvclZhcmFyZ3MoQ2Fs
bEZyYW1lKiBjYWxsRnJhbWUsIEpTU3RhY2sqIHN0YWNrLCBKU1YKICAgICBpZiAoaXNKU0FycmF5
KGFyZ3VtZW50cykpIHsKICAgICAgICAgSlNBcnJheSogYXJyYXkgPSBhc0FycmF5KGFyZ3VtZW50
cyk7CiAgICAgICAgIHVuc2lnbmVkIGFyZ0NvdW50ID0gYXJyYXktPmxlbmd0aCgpOwotICAgICAg
ICBDYWxsRnJhbWUqIG5ld0NhbGxGcmFtZSA9IENhbGxGcmFtZTo6Y3JlYXRlKGNhbGxGcmFtZS0+
cmVnaXN0ZXJzKCkgKyBmaXJzdEZyZWVSZWdpc3RlciAtIENhbGxGcmFtZTo6b2Zmc2V0Rm9yKGFy
Z0NvdW50ICsgMSkpOwotICAgICAgICBpZiAoYXJnQ291bnQgPiBBcmd1bWVudHM6Ok1heEFyZ3Vt
ZW50cyB8fCAhc3RhY2stPmdyb3cobmV3Q2FsbEZyYW1lLT5yZWdpc3RlcnMoKSkpIHsKLSAgICAg
ICAgICAgIGNhbGxGcmFtZS0+dm0oKS50aHJvd0V4Y2VwdGlvbihjYWxsRnJhbWUsIGNyZWF0ZVN0
YWNrT3ZlcmZsb3dFcnJvcihjYWxsRnJhbWUpKTsKKyAgICAgICAgdW5zaWduZWQgcGFkZGVkQ2Fs
bGVlRnJhbWVPZmZzZXQgPSBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Yoc3RhY2tBbGlnbm1lbnRS
ZWdpc3RlcnMoKSwgLWZpcnN0RnJlZVJlZ2lzdGVyICsgQ2FsbEZyYW1lOjpvZmZzZXRGb3IoYXJn
Q291bnQgKyAxKSk7CisgICAgICAgIENhbGxGcmFtZSogbmV3Q2FsbEZyYW1lID0gQ2FsbEZyYW1l
OjpjcmVhdGUoY2FsbEZyYW1lLT5yZWdpc3RlcnMoKSAtIHBhZGRlZENhbGxlZUZyYW1lT2Zmc2V0
KTsKKyAgICAgICAgaWYgKGFyZ0NvdW50ID4gQXJndW1lbnRzOjpNYXhBcmd1bWVudHMgfHwgIXN0
YWNrLT5lbnN1cmVDYXBhY2l0eUZvcihuZXdDYWxsRnJhbWUtPnJlZ2lzdGVycygpKSkgeworICAg
ICAgICAgICAgdGhyb3dTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKTsKICAgICAgICAgICAg
IHJldHVybiAwOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBuZXdDYWxsRnJhbWU7CkBAIC0y
MDIsOSArMTkzLDEwIEBAIENhbGxGcmFtZSogc2l6ZUFuZEFsbG9jRnJhbWVGb3JWYXJhcmdzKENh
bGxGcmFtZSogY2FsbEZyYW1lLCBKU1N0YWNrKiBzdGFjaywgSlNWCiAKICAgICBKU09iamVjdCog
YXJnT2JqZWN0ID0gYXNPYmplY3QoYXJndW1lbnRzKTsKICAgICB1bnNpZ25lZCBhcmdDb3VudCA9
IGFyZ09iamVjdC0+Z2V0KGNhbGxGcmFtZSwgY2FsbEZyYW1lLT5wcm9wZXJ0eU5hbWVzKCkubGVu
Z3RoKS50b1VJbnQzMihjYWxsRnJhbWUpOwotICAgIENhbGxGcmFtZSogbmV3Q2FsbEZyYW1lID0g
Q2FsbEZyYW1lOjpjcmVhdGUoY2FsbEZyYW1lLT5yZWdpc3RlcnMoKSArIGZpcnN0RnJlZVJlZ2lz
dGVyIC0gQ2FsbEZyYW1lOjpvZmZzZXRGb3IoYXJnQ291bnQgKyAxKSk7Ci0gICAgaWYgKGFyZ0Nv
dW50ID4gQXJndW1lbnRzOjpNYXhBcmd1bWVudHMgfHwgIXN0YWNrLT5ncm93KG5ld0NhbGxGcmFt
ZS0+cmVnaXN0ZXJzKCkpKSB7Ci0gICAgICAgIGNhbGxGcmFtZS0+dm0oKS50aHJvd0V4Y2VwdGlv
bihjYWxsRnJhbWUsICBjcmVhdGVTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKSk7CisgICAg
dW5zaWduZWQgcGFkZGVkQ2FsbGVlRnJhbWVPZmZzZXQgPSBXVEY6OnJvdW5kVXBUb011bHRpcGxl
T2Yoc3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSwgLWZpcnN0RnJlZVJlZ2lzdGVyICsgQ2FsbEZy
YW1lOjpvZmZzZXRGb3IoYXJnQ291bnQgKyAxKSk7CisgICAgQ2FsbEZyYW1lKiBuZXdDYWxsRnJh
bWUgPSBDYWxsRnJhbWU6OmNyZWF0ZShjYWxsRnJhbWUtPnJlZ2lzdGVycygpIC0gcGFkZGVkQ2Fs
bGVlRnJhbWVPZmZzZXQpOworICAgIGlmIChhcmdDb3VudCA+IEFyZ3VtZW50czo6TWF4QXJndW1l
bnRzIHx8ICFzdGFjay0+ZW5zdXJlQ2FwYWNpdHlGb3IobmV3Q2FsbEZyYW1lLT5yZWdpc3RlcnMo
KSkpIHsKKyAgICAgICAgdGhyb3dTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKTsKICAgICAg
ICAgcmV0dXJuIDA7CiAgICAgfQogICAgIHJldHVybiBuZXdDYWxsRnJhbWU7CkBAIC00MjEsNyAr
NDEzLDYgQEAgc3RhdGljIGJvb2wgdW53aW5kQ2FsbEZyYW1lKFN0YWNrVmlzaXRvciYgdmlzaXRv
cikKIHsKICAgICBDYWxsRnJhbWUqIGNhbGxGcmFtZSA9IHZpc2l0b3ItPmNhbGxGcmFtZSgpOwog
ICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gdmlzaXRvci0+Y29kZUJsb2NrKCk7Ci0gICAgQ29k
ZUJsb2NrKiBvbGRDb2RlQmxvY2sgPSBjb2RlQmxvY2s7CiAgICAgSlNTY29wZSogc2NvcGUgPSBj
YWxsRnJhbWUtPnNjb3BlKCk7CiAKICAgICBpZiAoRGVidWdnZXIqIGRlYnVnZ2VyID0gY2FsbEZy
YW1lLT52bUVudHJ5R2xvYmFsT2JqZWN0KCktPmRlYnVnZ2VyKCkpIHsKQEAgLTQzMiwxNiArNDIz
LDE2IEBAIHN0YXRpYyBib29sIHVud2luZENhbGxGcmFtZShTdGFja1Zpc2l0b3ImIHZpc2l0b3Ip
CiAgICAgfQogCiAgICAgSlNWYWx1ZSBhY3RpdmF0aW9uOwotICAgIGlmIChvbGRDb2RlQmxvY2st
PmNvZGVUeXBlKCkgPT0gRnVuY3Rpb25Db2RlICYmIG9sZENvZGVCbG9jay0+bmVlZHNBY3RpdmF0
aW9uKCkpIHsKKyAgICBpZiAoY29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSAm
JiBjb2RlQmxvY2stPm5lZWRzQWN0aXZhdGlvbigpKSB7CiAjaWYgRU5BQkxFKERGR19KSVQpCiAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKCF2aXNpdG9yLT5pc0lubGluZWRGcmFtZSgpKTsKICNlbmRp
ZgotICAgICAgICBhY3RpdmF0aW9uID0gY2FsbEZyYW1lLT51bmNoZWNrZWRSKG9sZENvZGVCbG9j
ay0+YWN0aXZhdGlvblJlZ2lzdGVyKCkub2Zmc2V0KCkpLmpzVmFsdWUoKTsKKyAgICAgICAgYWN0
aXZhdGlvbiA9IGNhbGxGcmFtZS0+dW5jaGVja2VkUihjb2RlQmxvY2stPmFjdGl2YXRpb25SZWdp
c3RlcigpLm9mZnNldCgpKS5qc1ZhbHVlKCk7CiAgICAgICAgIGlmIChhY3RpdmF0aW9uKQogICAg
ICAgICAgICAganNDYXN0PEpTQWN0aXZhdGlvbio+KGFjdGl2YXRpb24pLT50ZWFyT2ZmKCpzY29w
ZS0+dm0oKSk7CiAgICAgfQogCi0gICAgaWYgKG9sZENvZGVCbG9jay0+Y29kZVR5cGUoKSA9PSBG
dW5jdGlvbkNvZGUgJiYgb2xkQ29kZUJsb2NrLT51c2VzQXJndW1lbnRzKCkpIHsKKyAgICBpZiAo
Y29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSAmJiBjb2RlQmxvY2stPnVzZXNB
cmd1bWVudHMoKSkgewogICAgICAgICBpZiAoQXJndW1lbnRzKiBhcmd1bWVudHMgPSB2aXNpdG9y
LT5leGlzdGluZ0FyZ3VtZW50cygpKSB7CiAgICAgICAgICAgICBpZiAoYWN0aXZhdGlvbikKICAg
ICAgICAgICAgICAgICBhcmd1bWVudHMtPmRpZFRlYXJPZmZBY3RpdmF0aW9uKGNhbGxGcmFtZSwg
anNDYXN0PEpTQWN0aXZhdGlvbio+KGFjdGl2YXRpb24pKTsKQEAgLTQ1NSwxMSArNDQ2LDcgQEAg
c3RhdGljIGJvb2wgdW53aW5kQ2FsbEZyYW1lKFN0YWNrVmlzaXRvciYgdmlzaXRvcikKICAgICB9
CiAKICAgICBDYWxsRnJhbWUqIGNhbGxlckZyYW1lID0gY2FsbEZyYW1lLT5jYWxsZXJGcmFtZSgp
OwotICAgIGlmIChjYWxsZXJGcmFtZS0+aXNWTUVudHJ5U2VudGluZWwoKSkgewotICAgICAgICBj
YWxsRnJhbWUtPnZtKCkudG9wQ2FsbEZyYW1lID0gY2FsbGVyRnJhbWUtPnZtRW50cnlTZW50aW5l
bENhbGxlckZyYW1lKCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgcmV0dXJu
IHRydWU7CisgICAgcmV0dXJuICFjYWxsZXJGcmFtZS0+aXNWTUVudHJ5U2VudGluZWwoKTsKIH0K
IAogc3RhdGljIFN0YWNrRnJhbWVDb2RlVHlwZSBnZXRTdGFja0ZyYW1lQ29kZVR5cGUoU3RhY2tW
aXNpdG9yJiB2aXNpdG9yKQpAQCAtNjYyLDcgKzY0OSwxNyBAQCBwcml2YXRlOgogCiBORVZFUl9J
TkxJTkUgSGFuZGxlckluZm8qIEludGVycHJldGVyOjp1bndpbmQoQ2FsbEZyYW1lKiYgY2FsbEZy
YW1lLCBKU1ZhbHVlJiBleGNlcHRpb25WYWx1ZSkKIHsKKyAgICBpZiAoY2FsbEZyYW1lLT5pc1ZN
RW50cnlTZW50aW5lbCgpKSB7CisgICAgICAgIC8vIFRoaXMgaGFwcGVucyB3aGVuIHdlIHRocm93
IHN0YWNrIG92ZXJmbG93IGluIGEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQKKyAgICAgICAgLy8g
ZGlyZWN0bHkgZnJvbSBjYWxsVG9KYXZhU2NyaXB0LiAgU3RhY2sgb3ZlcmZsb3cgdGhyb3dzIHRo
ZSBleGNlcHRpb24gaW4gdGhlCisgICAgICAgIC8vIGNvbnRleHQgb2YgdGhlIGNhbGxlci4gIElu
IHRoYXQgY2FzZSB0aGUgY2FsbGVyIGlzIHRoZSBzZW50aW5lbCBmcmFtZS4gIFRoZQorICAgICAg
ICAvLyByaWdodCB0aGluZyB0byBkbyBpcyB0byBwcmV0ZW5kIHRoYXQgdGhlIGV4Y2VwdGlvbiBp
cyB1bmNhdWdodCBzbyB0aGF0IHdlCisgICAgICAgIC8vIGdvIHRvIHRoZSB1bmNhdWdodCBleGNl
cHRpb24gaGFuZGxlciwgd2hpY2ggcmV0dXJucyB0aHJvdWdoIGNhbGxUb0phdmFTY3JpcHQuCisg
ICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICAKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9
IGNhbGxGcmFtZS0+Y29kZUJsb2NrKCk7CisgICAgQVNTRVJUKGNvZGVCbG9jayk7CiAgICAgYm9v
bCBpc1Rlcm1pbmF0aW9uID0gZmFsc2U7CiAKICAgICBBU1NFUlQoIWV4Y2VwdGlvblZhbHVlLmlz
RW1wdHkoKSk7CkBAIC03NjcsNyArNzY0LDYgQEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6ZXhlY3V0
ZShQcm9ncmFtRXhlY3V0YWJsZSogcHJvZ3JhbSwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEoKICAg
ICBpZiAodm0uaXNDb2xsZWN0b3JCdXN5KCkpCiAgICAgICAgIHJldHVybiBqc051bGwoKTsKIAot
ICAgIFZNRW50cnlTY29wZSBlbnRyeVNjb3BlKHZtLCBzY29wZS0+Z2xvYmFsT2JqZWN0KCkpOwog
ICAgIGlmICghdm0uaXNTYWZlVG9SZWN1cnNlKCkpCiAgICAgICAgIHJldHVybiBjaGVja2VkUmV0
dXJuKHRocm93U3RhY2tPdmVyZmxvd0Vycm9yKGNhbGxGcmFtZSkpOwogCkBAIC04NzQsNiArODcw
LDggQEAgZmFpbGVkSlNPTlA6CiAgICAgLy8gSWYgd2UgZ2V0IGhlcmUsIHRoZW4gd2UgaGF2ZSBh
bHJlYWR5IHByb3ZlbiB0aGF0IHRoZSBzY3JpcHQgaXMgbm90IGEgSlNPTgogICAgIC8vIG9iamVj
dC4KIAorICAgIFZNRW50cnlTY29wZSBlbnRyeVNjb3BlKHZtLCBzY29wZS0+Z2xvYmFsT2JqZWN0
KCkpOworCiAgICAgLy8gQ29tcGlsZSBzb3VyY2UgdG8gYnl0ZWNvZGUgaWYgbmVjZXNzYXJ5Ogog
ICAgIGlmIChKU09iamVjdCogZXJyb3IgPSBwcm9ncmFtLT5pbml0aWFsaXplR2xvYmFsUHJvcGVy
dGllcyh2bSwgY2FsbEZyYW1lLCBzY29wZSkpCiAgICAgICAgIHJldHVybiBjaGVja2VkUmV0dXJu
KGNhbGxGcmFtZS0+dm0oKS50aHJvd0V4Y2VwdGlvbihjYWxsRnJhbWUsIGVycm9yKSk7CkBAIC04
ODgsOSArODg2LDYgQEAgZmFpbGVkSlNPTlA6CiAKICAgICBBU1NFUlQoY29kZUJsb2NrLT5udW1Q
YXJhbWV0ZXJzKCkgPT0gMSk7IC8vIDEgcGFyYW1ldGVyIGZvciAndGhpcycuCiAKLSAgICBpZiAo
VU5MSUtFTFkoIW1fc3RhY2suZW50cnlDaGVjayhjb2RlQmxvY2ssIDEpKSkKLSAgICAgICAgcmV0
dXJuIGNoZWNrZWRSZXR1cm4odGhyb3dTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKSk7Ci0K
ICAgICBQcm90b0NhbGxGcmFtZSBwcm90b0NhbGxGcmFtZTsKICAgICBwcm90b0NhbGxGcmFtZS5p
bml0KGNvZGVCbG9jaywgc2NvcGUsIDAsIHRoaXNPYmosIDEpOwogCkBAIC05MDMsNyArODk4LDcg
QEAgZmFpbGVkSlNPTlA6CiAgICAgICAgIFNhbXBsaW5nVG9vbDo6Q2FsbFJlY29yZCBjYWxsUmVj
b3JkKG1fc2FtcGxlci5nZXQoKSk7CiAgICAgICAgIFdhdGNoZG9nOjpTY29wZSB3YXRjaGRvZ1Nj
b3BlKHZtLndhdGNoZG9nKTsKIAotICAgICAgICByZXN1bHQgPSBwcm9ncmFtLT5nZW5lcmF0ZWRK
SVRDb2RlKCktPmV4ZWN1dGUoJnZtLCAmcHJvdG9DYWxsRnJhbWUsIG1fc3RhY2suZ2V0VG9wT2ZT
dGFjaygpKTsKKyAgICAgICAgcmVzdWx0ID0gcHJvZ3JhbS0+Z2VuZXJhdGVkSklUQ29kZSgpLT5l
eGVjdXRlKCZ2bSwgJnByb3RvQ2FsbEZyYW1lKTsKICAgICB9CiAKICAgICBpZiAoTGVnYWN5UHJv
ZmlsZXIqIHByb2ZpbGVyID0gdm0uZW5hYmxlZFByb2ZpbGVyKCkpCkBAIC05NTEsOSArOTQ2LDYg
QEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6ZXhlY3V0ZUNhbGwoQ2FsbEZyYW1lKiBjYWxsRnJhbWUs
IEpTT2JqZWN0KiBmdW5jdGlvbiwgQ2FsbFQKICAgICBpZiAoVU5MSUtFTFkodm0ud2F0Y2hkb2cu
ZGlkRmlyZShjYWxsRnJhbWUpKSkKICAgICAgICAgcmV0dXJuIHRocm93VGVybWluYXRlZEV4ZWN1
dGlvbkV4Y2VwdGlvbihjYWxsRnJhbWUpOwogCi0gICAgaWYgKFVOTElLRUxZKCFtX3N0YWNrLmVu
dHJ5Q2hlY2sobmV3Q29kZUJsb2NrLCBhcmdzQ291bnQpKSkKLSAgICAgICAgcmV0dXJuIGNoZWNr
ZWRSZXR1cm4odGhyb3dTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKSk7Ci0KICAgICBQcm90
b0NhbGxGcmFtZSBwcm90b0NhbGxGcmFtZTsKICAgICBwcm90b0NhbGxGcmFtZS5pbml0KG5ld0Nv
ZGVCbG9jaywgc2NvcGUsIGZ1bmN0aW9uLCB0aGlzVmFsdWUsIGFyZ3NDb3VudCwgYXJncy5kYXRh
KCkpOwogCkBAIC05NjcsOSArOTU5LDEyIEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6OmV4ZWN1dGVD
YWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU09iamVjdCogZnVuY3Rpb24sIENhbGxUCiAKICAg
ICAgICAgLy8gRXhlY3V0ZSB0aGUgY29kZToKICAgICAgICAgaWYgKGlzSlNDYWxsKQotICAgICAg
ICAgICAgcmVzdWx0ID0gY2FsbERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlLT5nZW5lcmF0ZWRK
SVRDb2RlRm9yQ2FsbCgpLT5leGVjdXRlKCZ2bSwgJnByb3RvQ2FsbEZyYW1lLCBtX3N0YWNrLmdl
dFRvcE9mU3RhY2soKSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlc3VsdCA9IEpTVmFs
dWU6OmRlY29kZShjYWxsVG9OYXRpdmVGdW5jdGlvbihyZWludGVycHJldF9jYXN0PHZvaWQqPihj
YWxsRGF0YS5uYXRpdmUuZnVuY3Rpb24pLCAmdm0udG9wQ2FsbEZyYW1lLCAmcHJvdG9DYWxsRnJh
bWUsIG1fc3RhY2suZ2V0VG9wT2ZTdGFjaygpKSk7CisgICAgICAgICAgICByZXN1bHQgPSBjYWxs
RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUtPmdlbmVyYXRlZEpJVENvZGVGb3JDYWxsKCktPmV4
ZWN1dGUoJnZtLCAmcHJvdG9DYWxsRnJhbWUpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAg
IHJlc3VsdCA9IEpTVmFsdWU6OmRlY29kZShjYWxsVG9OYXRpdmVGdW5jdGlvbihyZWludGVycHJl
dF9jYXN0PHZvaWQqPihjYWxsRGF0YS5uYXRpdmUuZnVuY3Rpb24pLCAmdm0sICZwcm90b0NhbGxG
cmFtZSkpOworICAgICAgICAgICAgaWYgKGNhbGxGcmFtZS0+aGFkRXhjZXB0aW9uKCkpCisgICAg
ICAgICAgICAgICAgcmVzdWx0ID0ganNOdWxsKCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBp
ZiAoTGVnYWN5UHJvZmlsZXIqIHByb2ZpbGVyID0gdm0uZW5hYmxlZFByb2ZpbGVyKCkpCkBAIC0x
MDE5LDkgKzEwMTQsNiBAQCBKU09iamVjdCogSW50ZXJwcmV0ZXI6OmV4ZWN1dGVDb25zdHJ1Y3Qo
Q2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTT2JqZWN0KiBjb25zdHJ1YwogICAgIGlmIChVTkxJS0VM
WSh2bS53YXRjaGRvZy5kaWRGaXJlKGNhbGxGcmFtZSkpKQogICAgICAgICByZXR1cm4gdGhyb3dU
ZXJtaW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9uKGNhbGxGcmFtZSk7CiAKLSAgICBpZiAoVU5MSUtF
TFkoIW1fc3RhY2suZW50cnlDaGVjayhuZXdDb2RlQmxvY2ssIGFyZ3NDb3VudCkpKQotICAgICAg
ICByZXR1cm4gY2hlY2tlZFJldHVybih0aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihjYWxsRnJhbWUp
KTsKLQogICAgIFByb3RvQ2FsbEZyYW1lIHByb3RvQ2FsbEZyYW1lOwogICAgIHByb3RvQ2FsbEZy
YW1lLmluaXQobmV3Q29kZUJsb2NrLCBzY29wZSwgY29uc3RydWN0b3IsIGpzVW5kZWZpbmVkKCks
IGFyZ3NDb3VudCwgYXJncy5kYXRhKCkpOwogCkBAIC0xMDM1LDkgKzEwMjcsOSBAQCBKU09iamVj
dCogSW50ZXJwcmV0ZXI6OmV4ZWN1dGVDb25zdHJ1Y3QoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpT
T2JqZWN0KiBjb25zdHJ1YwogCiAgICAgICAgIC8vIEV4ZWN1dGUgdGhlIGNvZGUuCiAgICAgICAg
IGlmIChpc0pTQ29uc3RydWN0KQotICAgICAgICAgICAgcmVzdWx0ID0gY29uc3RydWN0RGF0YS5q
cy5mdW5jdGlvbkV4ZWN1dGFibGUtPmdlbmVyYXRlZEpJVENvZGVGb3JDb25zdHJ1Y3QoKS0+ZXhl
Y3V0ZSgmdm0sICZwcm90b0NhbGxGcmFtZSwgbV9zdGFjay5nZXRUb3BPZlN0YWNrKCkpOworICAg
ICAgICAgICAgcmVzdWx0ID0gY29uc3RydWN0RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUtPmdl
bmVyYXRlZEpJVENvZGVGb3JDb25zdHJ1Y3QoKS0+ZXhlY3V0ZSgmdm0sICZwcm90b0NhbGxGcmFt
ZSk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgcmVzdWx0ID0gSlNWYWx1ZTo6ZGVjb2Rl
KGNhbGxUb05hdGl2ZUZ1bmN0aW9uKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGNvbnN0cnVjdERh
dGEubmF0aXZlLmZ1bmN0aW9uKSwgJnZtLnRvcENhbGxGcmFtZSwgJnByb3RvQ2FsbEZyYW1lLCBt
X3N0YWNrLmdldFRvcE9mU3RhY2soKSkpOworICAgICAgICAgICAgcmVzdWx0ID0gSlNWYWx1ZTo6
ZGVjb2RlKGNhbGxUb05hdGl2ZUZ1bmN0aW9uKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGNvbnN0
cnVjdERhdGEubmF0aXZlLmZ1bmN0aW9uKSwgJnZtLCAmcHJvdG9DYWxsRnJhbWUpKTsKIAogICAg
ICAgICAgICAgaWYgKCFjYWxsRnJhbWUtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICAgICAgICAg
IFJFTEVBU0VfQVNTRVJUKHJlc3VsdC5pc09iamVjdCgpKTsKQEAgLTEwNzIsMTEgKzEwNjQsNiBA
QCBDYWxsRnJhbWVDbG9zdXJlIEludGVycHJldGVyOjpwcmVwYXJlRm9yUmVwZWF0Q2FsbChGdW5j
dGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uRQogCiAgICAgc2l6ZV90IGFyZ3NDb3VudCA9IGFyZ3Vt
ZW50Q291bnRJbmNsdWRpbmdUaGlzOwogCi0gICAgaWYgKFVOTElLRUxZKCFtX3N0YWNrLmVudHJ5
Q2hlY2sobmV3Q29kZUJsb2NrLCBhcmdzQ291bnQpKSkgewotICAgICAgICB0aHJvd1N0YWNrT3Zl
cmZsb3dFcnJvcihjYWxsRnJhbWUpOwotICAgICAgICByZXR1cm4gQ2FsbEZyYW1lQ2xvc3VyZSgp
OwotICAgIH0KLQogICAgIHByb3RvQ2FsbEZyYW1lLT5pbml0KG5ld0NvZGVCbG9jaywgc2NvcGUs
IGZ1bmN0aW9uLCBqc1VuZGVmaW5lZCgpLCBhcmdzQ291bnQsIGFyZ3MpOwogICAgIC8vIFJldHVy
biB0aGUgc3VjY2Vzc2Z1bCBjbG9zdXJlOgogICAgIENhbGxGcmFtZUNsb3N1cmUgcmVzdWx0ID0g
eyBjYWxsRnJhbWUsIHByb3RvQ2FsbEZyYW1lLCBmdW5jdGlvbiwgZnVuY3Rpb25FeGVjdXRhYmxl
LCAmdm0sIHNjb3BlLCBuZXdDb2RlQmxvY2stPm51bVBhcmFtZXRlcnMoKSwgYXJndW1lbnRDb3Vu
dEluY2x1ZGluZ1RoaXMgfTsKQEAgLTExMDcsNyArMTA5NCw3IEBAIEpTVmFsdWUgSW50ZXJwcmV0
ZXI6OmV4ZWN1dGUoQ2FsbEZyYW1lQ2xvc3VyZSYgY2xvc3VyZSkKICAgICAgICAgU2FtcGxpbmdU
b29sOjpDYWxsUmVjb3JkIGNhbGxSZWNvcmQobV9zYW1wbGVyLmdldCgpKTsKICAgICAgICAgV2F0
Y2hkb2c6OlNjb3BlIHdhdGNoZG9nU2NvcGUodm0ud2F0Y2hkb2cpOwogCi0gICAgICAgIHJlc3Vs
dCA9IGNsb3N1cmUuZnVuY3Rpb25FeGVjdXRhYmxlLT5nZW5lcmF0ZWRKSVRDb2RlRm9yQ2FsbCgp
LT5leGVjdXRlKCZ2bSwgY2xvc3VyZS5wcm90b0NhbGxGcmFtZSwgbV9zdGFjay5nZXRUb3BPZlN0
YWNrKCkpOworICAgICAgICByZXN1bHQgPSBjbG9zdXJlLmZ1bmN0aW9uRXhlY3V0YWJsZS0+Z2Vu
ZXJhdGVkSklUQ29kZUZvckNhbGwoKS0+ZXhlY3V0ZSgmdm0sIGNsb3N1cmUucHJvdG9DYWxsRnJh
bWUpOwogICAgIH0KIAogICAgIGlmIChMZWdhY3lQcm9maWxlciogcHJvZmlsZXIgPSB2bS5lbmFi
bGVkUHJvZmlsZXIoKSkKQEAgLTExNzgsOSArMTE2NSw2IEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6
OmV4ZWN1dGUoRXZhbEV4ZWN1dGFibGUqIGV2YWwsIENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU1Zh
bHVlCiAKICAgICBBU1NFUlQoY29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCkgPT0gMSk7IC8vIDEg
cGFyYW1ldGVyIGZvciAndGhpcycuCiAKLSAgICBpZiAoVU5MSUtFTFkoIW1fc3RhY2suZW50cnlD
aGVjayhjb2RlQmxvY2ssIDEpKSkKLSAgICAgICAgcmV0dXJuIGNoZWNrZWRSZXR1cm4odGhyb3dT
dGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKSk7Ci0KICAgICBQcm90b0NhbGxGcmFtZSBwcm90
b0NhbGxGcmFtZTsKICAgICBwcm90b0NhbGxGcmFtZS5pbml0KGNvZGVCbG9jaywgc2NvcGUsIDAs
IHRoaXNWYWx1ZSwgMSk7CiAKQEAgLTExOTMsNyArMTE3Nyw3IEBAIEpTVmFsdWUgSW50ZXJwcmV0
ZXI6OmV4ZWN1dGUoRXZhbEV4ZWN1dGFibGUqIGV2YWwsIENhbGxGcmFtZSogY2FsbEZyYW1lLCBK
U1ZhbHVlCiAgICAgICAgIFNhbXBsaW5nVG9vbDo6Q2FsbFJlY29yZCBjYWxsUmVjb3JkKG1fc2Ft
cGxlci5nZXQoKSk7CiAgICAgICAgIFdhdGNoZG9nOjpTY29wZSB3YXRjaGRvZ1Njb3BlKHZtLndh
dGNoZG9nKTsKIAotICAgICAgICByZXN1bHQgPSBldmFsLT5nZW5lcmF0ZWRKSVRDb2RlKCktPmV4
ZWN1dGUoJnZtLCAmcHJvdG9DYWxsRnJhbWUsIG1fc3RhY2suZ2V0VG9wT2ZTdGFjaygpKTsKKyAg
ICAgICAgcmVzdWx0ID0gZXZhbC0+Z2VuZXJhdGVkSklUQ29kZSgpLT5leGVjdXRlKCZ2bSwgJnBy
b3RvQ2FsbEZyYW1lKTsKICAgICB9CiAKICAgICBpZiAoTGVnYWN5UHJvZmlsZXIqIHByb2ZpbGVy
ID0gdm0uZW5hYmxlZFByb2ZpbGVyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5oCmluZGV4IGNmYzcyMWIzODE3ODIzODFlNDVkNDcwMzlkZGI1
NGFmZmJmMDZmOWQuLmI0NTMwMzcwMGFhMDNhYTgwNGQ1YTU1NDhlZDhhYTJkYjM4YmRkNTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBA
IC0xODAsNiArMTgwLDE1IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgQVNTRVJUKCFj
YWxsRnJhbWUtPmlzVk1FbnRyeVNlbnRpbmVsKCkpOwogICAgICAgICAgICAgdm0tPnRvcENhbGxG
cmFtZSA9IGNhbGxGcmFtZTsKICAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZW51bSBWTUVu
dHJ5U2VudGluZWxPS1RhZyB7IFZNRW50cnlTZW50aW5lbE9LIH07CisgICAgICAgIEFMV0FZU19J
TkxJTkUgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyKFZNKiB2bSwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUs
IFZNRW50cnlTZW50aW5lbE9LVGFnKQorICAgICAgICB7CisgICAgICAgICAgICBBU1NFUlQodm0p
OworICAgICAgICAgICAgQVNTRVJUKGNhbGxGcmFtZSk7CisgICAgICAgICAgICBpZiAoIWNhbGxG
cmFtZS0+aXNWTUVudHJ5U2VudGluZWwoKSkKKyAgICAgICAgICAgICAgICB2bS0+dG9wQ2FsbEZy
YW1lID0gY2FsbEZyYW1lOworICAgICAgICB9CiAgICAgfTsKIAogICAgIGNsYXNzIEludGVycHJl
dGVyIHsKQEAgLTE5MCwxNCArMTk5LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGZyaWVu
ZCBjbGFzcyBWTTsKIAogICAgIHB1YmxpYzoKLSAgICAgICAgY2xhc3MgRXJyb3JIYW5kbGluZ01v
ZGUgewotICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgICBKU19FWFBPUlRfUFJJVkFURSBFcnJv
ckhhbmRsaW5nTW9kZShFeGVjU3RhdGUqKTsKLSAgICAgICAgICAgIEpTX0VYUE9SVF9QUklWQVRF
IH5FcnJvckhhbmRsaW5nTW9kZSgpOwotICAgICAgICBwcml2YXRlOgotICAgICAgICAgICAgSW50
ZXJwcmV0ZXImIG1faW50ZXJwcmV0ZXI7Ci0gICAgICAgIH07Ci0KICAgICAgICAgSW50ZXJwcmV0
ZXIoVk0gJik7CiAgICAgICAgIH5JbnRlcnByZXRlcigpOwogICAgICAgICAKQEAgLTIzNyw4ICsy
MzgsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgCiAgICAgICAgIFNhbXBsaW5nVG9vbCog
c2FtcGxlcigpIHsgcmV0dXJuIG1fc2FtcGxlci5nZXQoKTsgfQogCi0gICAgICAgIGJvb2wgaXNJ
bkVycm9ySGFuZGxpbmdNb2RlKCkgeyByZXR1cm4gbV9lcnJvckhhbmRsaW5nTW9kZVJlZW50cnk7
IH0KLQogICAgICAgICBORVZFUl9JTkxJTkUgSGFuZGxlckluZm8qIHVud2luZChDYWxsRnJhbWUq
JiwgSlNWYWx1ZSYpOwogICAgICAgICBORVZFUl9JTkxJTkUgdm9pZCBkZWJ1ZyhDYWxsRnJhbWUq
LCBEZWJ1Z0hvb2tJRCk7CiAgICAgICAgIEpTU3RyaW5nKiBzdGFja1RyYWNlQXNTdHJpbmcoRXhl
Y1N0YXRlKiwgVmVjdG9yPFN0YWNrRnJhbWU+KTsKQEAgLTI4Niw3ICsyODUsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICB9OwogCiAgICAgSlNWYWx1ZSBldmFsKENhbGxGcmFtZSopOwotICAgIENh
bGxGcmFtZSogc2l6ZUFuZEFsbG9jRnJhbWVGb3JWYXJhcmdzKENhbGxGcmFtZSosIEpTU3RhY2sq
LCBKU1ZhbHVlLCBpbnQpOworICAgIENhbGxGcmFtZSogc2l6ZUZyYW1lRm9yVmFyYXJncyhDYWxs
RnJhbWUqLCBKU1N0YWNrKiwgSlNWYWx1ZSwgaW50KTsKICAgICB2b2lkIGxvYWRWYXJhcmdzKENh
bGxGcmFtZSosIENhbGxGcmFtZSosIEpTVmFsdWUsIEpTVmFsdWUpOwogfSAvLyBuYW1lc3BhY2Ug
SlNDCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9KU1N0
YWNrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9KU1N0YWNrLmNwcApp
bmRleCBmYTNlM2Q1MGQ3ZWVkNWRmM2E2YmZkZGIxY2NjMTYxOWQzYWNmNTQzLi4wN2JjNTJlMmFl
MGFmMjZhZWIyNzZhODBlODMyODNiNTFmNzJiYzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvSlNTdGFjay5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0pTU3RhY2suY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAwOCwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDgsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMSw5ICszMSwxMSBAQAog
CiAjaW5jbHVkZSAiQ29uc2VydmF0aXZlUm9vdHMuaCIKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgorI2luY2x1ZGUgIk9wdGlvbnMuaCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKKyNpZiBFTkFCTEUo
TExJTlRfQ19MT09QKQogc3RhdGljIHNpemVfdCBjb21taXR0ZWRCeXRlc0NvdW50ID0gMDsKIAog
c3RhdGljIE11dGV4JiBzdGFja1N0YXRpc3RpY3NNdXRleCgpCkBAIC00MSw4NyArNDMsOTggQEAg
c3RhdGljIE11dGV4JiBzdGFja1N0YXRpc3RpY3NNdXRleCgpCiAgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChNdXRleCwgc3RhdGljTXV0ZXgsICgpKTsKICAgICByZXR1cm4gc3RhdGljTXV0ZXg7CiB9
ICAgIAorI2VuZGlmIC8vIEVOQUJMRShMTElOVF9DX0xPT1ApCiAKLUpTU3RhY2s6OkpTU3RhY2so
Vk0mIHZtLCBzaXplX3QgY2FwYWNpdHkpCitKU1N0YWNrOjpKU1N0YWNrKFZNJiB2bSkKICAgICA6
IG1fdm0odm0pCi0gICAgLCBtX2VuZCgwKQogICAgICwgbV90b3BDYWxsRnJhbWUodm0udG9wQ2Fs
bEZyYW1lKQorI2lmIEVOQUJMRShMTElOVF9DX0xPT1ApCisgICAgLCBtX2VuZCgwKQorICAgICwg
bV9yZXNlcnZlZFpvbmVTaXplSW5SZWdpc3RlcnMoMCkKKyNlbmRpZgogeworI2lmIEVOQUJMRShM
TElOVF9DX0xPT1ApCisgICAgc2l6ZV90IGNhcGFjaXR5ID0gT3B0aW9uczo6bWF4UGVyVGhyZWFk
U3RhY2tVc2FnZSgpOwogICAgIEFTU0VSVChjYXBhY2l0eSAmJiBpc1BhZ2VBbGlnbmVkKGNhcGFj
aXR5KSk7CiAKLSAgICBtX3Jlc2VydmF0aW9uID0gUGFnZVJlc2VydmF0aW9uOjpyZXNlcnZlKHJv
dW5kVXBBbGxvY2F0aW9uU2l6ZShjYXBhY2l0eSAqIHNpemVvZihSZWdpc3RlciksIGNvbW1pdFNp
emUpLCBPU0FsbG9jYXRvcjo6SlNWTVN0YWNrUGFnZXMpOwotICAgIHVwZGF0ZVN0YWNrTGltaXQo
aGlnaEFkZHJlc3MoKSk7Ci0gICAgbV9jb21taXRFbmQgPSBoaWdoQWRkcmVzcygpOworICAgIG1f
cmVzZXJ2YXRpb24gPSBQYWdlUmVzZXJ2YXRpb246OnJlc2VydmUoV1RGOjpyb3VuZFVwVG9NdWx0
aXBsZU9mKGNvbW1pdFNpemUsIGNhcGFjaXR5KSwgT1NBbGxvY2F0b3I6OkpTVk1TdGFja1BhZ2Vz
KTsKKyAgICBzZXRTdGFja0xpbWl0KGhpZ2hBZGRyZXNzKCkpOworICAgIG1fY29tbWl0VG9wID0g
aGlnaEFkZHJlc3MoKTsKICAgICAKLSAgICBtX2xhc3RTdGFja1RvcCA9IGdldEJhc2VPZlN0YWNr
KCk7Ci0KLSAgICBkaXNhYmxlRXJyb3JTdGFja1Jlc2VydmUoKTsKKyAgICBtX2xhc3RTdGFja1Rv
cCA9IGJhc2VPZlN0YWNrKCk7CisjZW5kaWYgLy8gRU5BQkxFKExMSU5UX0NfTE9PUCkKIAogICAg
IG1fdG9wQ2FsbEZyYW1lID0gMDsKIH0KIAorI2lmIEVOQUJMRShMTElOVF9DX0xPT1ApCiBKU1N0
YWNrOjp+SlNTdGFjaygpCiB7Ci0gICAgdm9pZCogaGlnaEFkZHJlc3MgPSByZWludGVycHJldF9j
YXN0PHZvaWQqPihzdGF0aWNfY2FzdDxjaGFyKj4obV9yZXNlcnZhdGlvbi5iYXNlKCkpICsgbV9y
ZXNlcnZhdGlvbi5zaXplKCkpOwotICAgIG1fcmVzZXJ2YXRpb24uZGVjb21taXQocmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKj4obV9jb21taXRFbmQpLCByZWludGVycHJldF9jYXN0PGludHB0cl90Piho
aWdoQWRkcmVzcykgLSByZWludGVycHJldF9jYXN0PGludHB0cl90PihtX2NvbW1pdEVuZCkpOwot
ICAgIGFkZFRvQ29tbWl0dGVkQnl0ZUNvdW50KC0ocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4o
aGlnaEFkZHJlc3MpIC0gcmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4obV9jb21taXRFbmQpKSk7
CisgICAgcHRyZGlmZl90IHNpemVUb0RlY29tbWl0ID0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4o
aGlnaEFkZHJlc3MoKSkgLSByZWludGVycHJldF9jYXN0PGNoYXIqPihtX2NvbW1pdFRvcCk7Cisg
ICAgbV9yZXNlcnZhdGlvbi5kZWNvbW1pdChyZWludGVycHJldF9jYXN0PHZvaWQqPihtX2NvbW1p
dFRvcCksIHNpemVUb0RlY29tbWl0KTsKKyAgICBhZGRUb0NvbW1pdHRlZEJ5dGVDb3VudCgtc2l6
ZVRvRGVjb21taXQpOwogICAgIG1fcmVzZXJ2YXRpb24uZGVhbGxvY2F0ZSgpOwogfQogCi1ib29s
IEpTU3RhY2s6Omdyb3dTbG93Q2FzZShSZWdpc3RlciogbmV3RW5kKQorYm9vbCBKU1N0YWNrOjpn
cm93U2xvd0Nhc2UoUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCiB7CisgICAgUmVnaXN0ZXIqIG5l
d1RvcE9mU3RhY2tXaXRoUmVzZXJ2ZWRab25lID0gbmV3VG9wT2ZTdGFjayAtIG1fcmVzZXJ2ZWRa
b25lU2l6ZUluUmVnaXN0ZXJzOworCiAgICAgLy8gSWYgd2UgaGF2ZSBhbHJlYWR5IGNvbW1pdHRl
ZCBlbm91Z2ggbWVtb3J5IHRvIHNhdGlzZnkgdGhpcyByZXF1ZXN0LAogICAgIC8vIGp1c3QgdXBk
YXRlIHRoZSBlbmQgcG9pbnRlciBhbmQgcmV0dXJuLgotICAgIGlmIChuZXdFbmQgPj0gbV9jb21t
aXRFbmQpIHsKLSAgICAgICAgdXBkYXRlU3RhY2tMaW1pdChuZXdFbmQpOworICAgIGlmIChuZXdU
b3BPZlN0YWNrV2l0aFJlc2VydmVkWm9uZSA+PSBtX2NvbW1pdFRvcCkgeworICAgICAgICBzZXRT
dGFja0xpbWl0KG5ld1RvcE9mU3RhY2spOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAK
ICAgICAvLyBDb21wdXRlIHRoZSBjaHVuayBzaXplIG9mIGFkZGl0aW9uYWwgbWVtb3J5IHRvIGNv
bW1pdCwgYW5kIHNlZSBpZiB3ZQogICAgIC8vIGhhdmUgaXQgaXMgc3RpbGwgd2l0aGluIG91ciBi
dWRnZXQuIElmIG5vdCwgd2UnbGwgZmFpbCB0byBncm93IGFuZAogICAgIC8vIHJldHVybiBmYWxz
ZS4KLSAgICBsb25nIGRlbHRhID0gcm91bmRVcEFsbG9jYXRpb25TaXplKHJlaW50ZXJwcmV0X2Nh
c3Q8Y2hhcio+KG1fY29tbWl0RW5kKSAtIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KG5ld0VuZCks
IGNvbW1pdFNpemUpOwotICAgIGlmIChyZWludGVycHJldF9jYXN0PGNoYXIqPihtX2NvbW1pdEVu
ZCkgLSBkZWx0YSA8PSByZWludGVycHJldF9jYXN0PGNoYXIqPihtX3VzZWFibGVFbmQpKQorICAg
IHB0cmRpZmZfdCBkZWx0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KG1fY29tbWl0VG9wKSAt
IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KG5ld1RvcE9mU3RhY2tXaXRoUmVzZXJ2ZWRab25lKTsK
KyAgICBkZWx0YSA9IFdURjo6cm91bmRVcFRvTXVsdGlwbGVPZihjb21taXRTaXplLCBkZWx0YSk7
CisgICAgUmVnaXN0ZXIqIG5ld0NvbW1pdFRvcCA9IG1fY29tbWl0VG9wIC0gKGRlbHRhIC8gc2l6
ZW9mKFJlZ2lzdGVyKSk7CisgICAgaWYgKG5ld0NvbW1pdFRvcCA8IHJlc2VydmF0aW9uVG9wKCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIE90aGVyd2lzZSwgdGhlIGdyb3d0aCBp
cyBzdGlsbCB3aXRoaW4gb3VyIGJ1ZGdldC4gR28gYWhlYWQgYW5kIGNvbW1pdAogICAgIC8vIGl0
IGFuZCByZXR1cm4gdHJ1ZS4KLSAgICBtX3Jlc2VydmF0aW9uLmNvbW1pdChyZWludGVycHJldF9j
YXN0PGNoYXIqPihtX2NvbW1pdEVuZCkgLSBkZWx0YSwgZGVsdGEpOworICAgIG1fcmVzZXJ2YXRp
b24uY29tbWl0KG5ld0NvbW1pdFRvcCwgZGVsdGEpOwogICAgIGFkZFRvQ29tbWl0dGVkQnl0ZUNv
dW50KGRlbHRhKTsKLSAgICBtX2NvbW1pdEVuZCA9IHJlaW50ZXJwcmV0X2Nhc3RfcHRyPFJlZ2lz
dGVyKj4ocmVpbnRlcnByZXRfY2FzdDxjaGFyKj4obV9jb21taXRFbmQpIC0gZGVsdGEpOwotICAg
IHVwZGF0ZVN0YWNrTGltaXQobmV3RW5kKTsKKyAgICBtX2NvbW1pdFRvcCA9IG5ld0NvbW1pdFRv
cDsKKyAgICBzZXRTdGFja0xpbWl0KG5ld1RvcE9mU3RhY2spOwogICAgIHJldHVybiB0cnVlOwog
fQogCiB2b2lkIEpTU3RhY2s6OmdhdGhlckNvbnNlcnZhdGl2ZVJvb3RzKENvbnNlcnZhdGl2ZVJv
b3RzJiBjb25zZXJ2YXRpdmVSb290cykKIHsKLSAgICBjb25zZXJ2YXRpdmVSb290cy5hZGQoZ2V0
QmFzZU9mU3RhY2soKSwgZ2V0VG9wT2ZTdGFjaygpKTsKKyAgICBjb25zZXJ2YXRpdmVSb290cy5h
ZGQodG9wT2ZTdGFjaygpICsgMSwgaGlnaEFkZHJlc3MoKSk7CiB9CiAKIHZvaWQgSlNTdGFjazo6
Z2F0aGVyQ29uc2VydmF0aXZlUm9vdHMoQ29uc2VydmF0aXZlUm9vdHMmIGNvbnNlcnZhdGl2ZVJv
b3RzLCBKSVRTdHViUm91dGluZVNldCYgaml0U3R1YlJvdXRpbmVzLCBDb2RlQmxvY2tTZXQmIGNv
ZGVCbG9ja3MpCiB7Ci0gICAgY29uc2VydmF0aXZlUm9vdHMuYWRkKGdldEJhc2VPZlN0YWNrKCks
IGdldFRvcE9mU3RhY2soKSwgaml0U3R1YlJvdXRpbmVzLCBjb2RlQmxvY2tzKTsKKyAgICBjb25z
ZXJ2YXRpdmVSb290cy5hZGQodG9wT2ZTdGFjaygpICsgMSwgaGlnaEFkZHJlc3MoKSwgaml0U3R1
YlJvdXRpbmVzLCBjb2RlQmxvY2tzKTsKIH0KIAogdm9pZCBKU1N0YWNrOjpzYW5pdGl6ZVN0YWNr
KCkKIHsKLSAgICBBU1NFUlQoZ2V0VG9wT2ZTdGFjaygpIDw9IGdldEJhc2VPZlN0YWNrKCkpOwor
ICAgIEFTU0VSVCh0b3BPZlN0YWNrKCkgPD0gYmFzZU9mU3RhY2soKSk7CiAgICAgCi0gICAgaWYg
KG1fbGFzdFN0YWNrVG9wIDwgZ2V0VG9wT2ZTdGFjaygpKSB7Ci0gICAgICAgIGNoYXIqIGJlZ2lu
ID0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4obV9sYXN0U3RhY2tUb3ApOwotICAgICAgICBjaGFy
KiBlbmQgPSByZWludGVycHJldF9jYXN0PGNoYXIqPihnZXRUb3BPZlN0YWNrKCkpOworICAgIGlm
IChtX2xhc3RTdGFja1RvcCA8IHRvcE9mU3RhY2soKSkgeworICAgICAgICBjaGFyKiBiZWdpbiA9
IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KG1fbGFzdFN0YWNrVG9wICsgMSk7CisgICAgICAgIGNo
YXIqIGVuZCA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KHRvcE9mU3RhY2soKSArIDEpOwogICAg
ICAgICBtZW1zZXQoYmVnaW4sIDAsIGVuZCAtIGJlZ2luKTsKICAgICB9CiAgICAgCi0gICAgbV9s
YXN0U3RhY2tUb3AgPSBnZXRUb3BPZlN0YWNrKCk7CisgICAgbV9sYXN0U3RhY2tUb3AgPSB0b3BP
ZlN0YWNrKCk7CiB9CiAKIHZvaWQgSlNTdGFjazo6cmVsZWFzZUV4Y2Vzc0NhcGFjaXR5KCkKIHsK
LSAgICBwdHJkaWZmX3QgZGVsdGEgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oaGlnaEFk
ZHJlc3MoKSkgLSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4obV9jb21taXRFbmQpOwotICAg
IG1fcmVzZXJ2YXRpb24uZGVjb21taXQobV9jb21taXRFbmQsIGRlbHRhKTsKKyAgICBSZWdpc3Rl
ciogaGlnaEFkZHJlc3NXaXRoUmVzZXJ2ZWRab25lID0gaGlnaEFkZHJlc3MoKSAtIG1fcmVzZXJ2
ZWRab25lU2l6ZUluUmVnaXN0ZXJzOworICAgIHB0cmRpZmZfdCBkZWx0YSA9IHJlaW50ZXJwcmV0
X2Nhc3Q8Y2hhcio+KGhpZ2hBZGRyZXNzV2l0aFJlc2VydmVkWm9uZSkgLSByZWludGVycHJldF9j
YXN0PGNoYXIqPihtX2NvbW1pdFRvcCk7CisgICAgbV9yZXNlcnZhdGlvbi5kZWNvbW1pdChtX2Nv
bW1pdFRvcCwgZGVsdGEpOwogICAgIGFkZFRvQ29tbWl0dGVkQnl0ZUNvdW50KC1kZWx0YSk7Ci0g
ICAgbV9jb21taXRFbmQgPSBoaWdoQWRkcmVzcygpOworICAgIG1fY29tbWl0VG9wID0gaGlnaEFk
ZHJlc3NXaXRoUmVzZXJ2ZWRab25lOwogfQogCiB2b2lkIEpTU3RhY2s6OmluaXRpYWxpemVUaHJl
YWRpbmcoKQpAQCAtMTI5LDEyICsxNDIsNiBAQCB2b2lkIEpTU3RhY2s6OmluaXRpYWxpemVUaHJl
YWRpbmcoKQogICAgIHN0YWNrU3RhdGlzdGljc011dGV4KCk7CiB9CiAKLXNpemVfdCBKU1N0YWNr
Ojpjb21taXR0ZWRCeXRlQ291bnQoKQotewotICAgIE11dGV4TG9ja2VyIGxvY2tlcihzdGFja1N0
YXRpc3RpY3NNdXRleCgpKTsKLSAgICByZXR1cm4gY29tbWl0dGVkQnl0ZXNDb3VudDsKLX0KLQog
dm9pZCBKU1N0YWNrOjphZGRUb0NvbW1pdHRlZEJ5dGVDb3VudChsb25nIGJ5dGVDb3VudCkKIHsK
ICAgICBNdXRleExvY2tlciBsb2NrZXIoc3RhY2tTdGF0aXN0aWNzTXV0ZXgoKSk7CkBAIC0xNDIs
MjUgKzE0OSw0MSBAQCB2b2lkIEpTU3RhY2s6OmFkZFRvQ29tbWl0dGVkQnl0ZUNvdW50KGxvbmcg
Ynl0ZUNvdW50KQogICAgIGNvbW1pdHRlZEJ5dGVzQ291bnQgKz0gYnl0ZUNvdW50OwogfQogCi12
b2lkIEpTU3RhY2s6OmVuYWJsZUVycm9yU3RhY2tSZXNlcnZlKCkKK3ZvaWQgSlNTdGFjazo6c2V0
UmVzZXJ2ZWRab25lU2l6ZShzaXplX3QgcmVzZXJ2ZWRab25lU2l6ZSkKIHsKLSAgICBtX3VzZWFi
bGVFbmQgPSByZXNlcnZhdGlvbkVuZCgpOworICAgIG1fcmVzZXJ2ZWRab25lU2l6ZUluUmVnaXN0
ZXJzID0gcmVzZXJ2ZWRab25lU2l6ZSAvIHNpemVvZihSZWdpc3Rlcik7CisgICAgaWYgKG1fY29t
bWl0VG9wID49IChtX2VuZCArIDEpIC0gbV9yZXNlcnZlZFpvbmVTaXplSW5SZWdpc3RlcnMpCisg
ICAgICAgIGdyb3dTbG93Q2FzZShtX2VuZCArIDEpOwogfQorI2VuZGlmIC8vIEVOQUJMRShMTElO
VF9DX0xPT1ApCiAKLXZvaWQgSlNTdGFjazo6ZGlzYWJsZUVycm9yU3RhY2tSZXNlcnZlKCkKKyNp
ZiAhRU5BQkxFKExMSU5UX0NfTE9PUCkKK1JlZ2lzdGVyKiBKU1N0YWNrOjpsb3dBZGRyZXNzKCkg
Y29uc3QKIHsKLSAgICBjaGFyKiB1c2VhYmxlRW5kID0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4o
cmVzZXJ2YXRpb25FbmQoKSkgKyBjb21taXRTaXplOwotICAgIG1fdXNlYWJsZUVuZCA9IHJlaW50
ZXJwcmV0X2Nhc3RfcHRyPFJlZ2lzdGVyKj4odXNlYWJsZUVuZCk7Ci0KLSAgICAvLyBCeSB0aGUg
dGltZSB3ZSBnZXQgaGVyZSwgd2UgYXJlIGd1YXJhbnRlZWQgdG8gYmUgZGVzdHJ1Y3RpbmcgdGhl
IGxhc3QKLSAgICAvLyBJbnRlcnByZXRlcjo6RXJyb3JIYW5kbGluZ01vZGUgdGhhdCBlbmFibGVk
IHRoaXMgcmVzZXJ2ZSBpbiB0aGUgZmlyc3QKLSAgICAvLyBwbGFjZS4gVGhhdCBtZWFucyB0aGUg
c3RhY2sgc3BhY2UgYmV5b25kIG1fdXNlYWJsZUVuZCBiZWZvcmUgd2UKLSAgICAvLyBlbmFibGVk
IHRoZSByZXNlcnZlIHdhcyBub3QgcHJldmlvdXNseSBpbiB1c2UuIEhlbmNlLCBpdCBpcyBzYWZl
IHRvCi0gICAgLy8gc2hyaW5rIGJhY2sgdG8gdGhhdCBtX3VzZWFibGVFbmQuCi0gICAgaWYgKG1f
ZW5kIDwgbV91c2VhYmxlRW5kKSB7Ci0gICAgICAgIEFTU0VSVChtX3RvcENhbGxGcmFtZS0+ZnJh
bWVFeHRlbnQoKSA+PSBtX3VzZWFibGVFbmQpOwotICAgICAgICBzaHJpbmsobV91c2VhYmxlRW5k
KTsKLSAgICB9CisgICAgQVNTRVJUKHd0ZlRocmVhZERhdGEoKS5zdGFjaygpLmlzR3Jvd2luZ0Rv
d253YXJkKCkpOworICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFJlZ2lzdGVyKj4obV92bS5z
dGFja0xpbWl0KCkpOworfQorCitSZWdpc3RlciogSlNTdGFjazo6aGlnaEFkZHJlc3MoKSBjb25z
dAoreworICAgIEFTU0VSVCh3dGZUaHJlYWREYXRhKCkuc3RhY2soKS5pc0dyb3dpbmdEb3dud2Fy
ZCgpKTsKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxSZWdpc3Rlcio+KHd0ZlRocmVhZERh
dGEoKS5zdGFjaygpLm9yaWdpbigpKTsKK30KKyNlbmRpZiAvLyAhRU5BQkxFKExMSU5UX0NfTE9P
UCkKKworc2l6ZV90IEpTU3RhY2s6OmNvbW1pdHRlZEJ5dGVDb3VudCgpCit7CisjaWYgRU5BQkxF
KExMSU5UX0NfTE9PUCkKKyAgICBNdXRleExvY2tlciBsb2NrZXIoc3RhY2tTdGF0aXN0aWNzTXV0
ZXgoKSk7CisgICAgcmV0dXJuIGNvbW1pdHRlZEJ5dGVzQ291bnQ7CisjZWxzZQorICAgIC8vIFdo
ZW4gdXNpbmcgdGhlIEMgc3RhY2ssIHdlIGRvbid0IGtub3cgaG93IG1hbnkgc3RhY2sgcGFnZXMg
YXJlIGFjdHVhbGx5CisgICAgLy8gY29tbWl0dGVkLiBTbywgd2UgdXNlIHRoZSBjdXJyZW50IHN0
YWNrIHVzYWdlIGFzIGFuIGVzdGltYXRlLgorICAgIEFTU0VSVCh3dGZUaHJlYWREYXRhKCkuc3Rh
Y2soKS5pc0dyb3dpbmdEb3dud2FyZCgpKTsKKyAgICBpbnQ4X3QqIGN1cnJlbnQgPSByZWludGVy
cHJldF9jYXN0PGludDhfdCo+KCZjdXJyZW50KTsKKyAgICBpbnQ4X3QqIGhpZ2ggPSByZWludGVy
cHJldF9jYXN0PGludDhfdCo+KHd0ZlRocmVhZERhdGEoKS5zdGFjaygpLm9yaWdpbigpKTsKKyAg
ICByZXR1cm4gaGlnaCAtIGN1cnJlbnQ7CisjZW5kaWYKIH0KIAogfSAvLyBuYW1lc3BhY2UgSlND
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSlNTdGFjay5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0pTU3RhY2suaAppbmRleCA5MWY5
M2UyYmY5YjU0NDVhMjQ3ZmJhNjI2Y2YzZWNkMjQ4MTc3YWFkLi4xZjZmZTIwYzE2MDhhNTI5NWE1
NzJkZTEwYTQ3N2JlYTg4ODU5MzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvSlNTdGFjay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9KU1N0YWNrLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4
LCAyMDA5LCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAwOCwgMjAwOSwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM1LDExICszNSw2IEBACiAj
aW5jbHVkZSA8d3RmL1BhZ2VSZXNlcnZhdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9WTVRhZ3MuaD4K
IAotI2RlZmluZSBFTkFCTEVfREVCVUdfSlNTVEFDSyAwCi0jaWYgIWRlZmluZWQoTkRFQlVHKSAm
JiAhZGVmaW5lZChFTkFCTEVfREVCVUdfSlNTVEFDSykKLSNkZWZpbmUgRU5BQkxFX0RFQlVHX0pT
U1RBQ0sgMQotI2VuZGlmCi0KIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgQ29kZUJsb2Nr
U2V0OwpAQCAtNjEsNyArNTYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSlNTdGFjayk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIENhbGxGcmFt
ZUhlYWRlckVudHJ5IHsKLSAgICAgICAgICAgIENvZGVCbG9jayA9IHNpemVvZihDYWxsZXJGcmFt
ZUFuZFBDKSAvIHNpemVvZihSZWdpc3RlciksCisgICAgICAgICAgICBDYWxsZXJGcmFtZUFuZFBD
U2l6ZSA9IHNpemVvZihDYWxsZXJGcmFtZUFuZFBDKSAvIHNpemVvZihSZWdpc3RlciksCisgICAg
ICAgICAgICBDb2RlQmxvY2sgPSBDYWxsZXJGcmFtZUFuZFBDU2l6ZSwKICAgICAgICAgICAgIFNj
b3BlQ2hhaW4sCiAgICAgICAgICAgICBDYWxsZWUsCiAgICAgICAgICAgICBBcmd1bWVudENvdW50
LApAQCAtNzIsOTIgKzY4LDg3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgRmlyc3RB
cmd1bWVudCwKICAgICAgICAgfTsKIAotICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGRlZmF1
bHRDYXBhY2l0eSA9IDUxMiAqIDEwMjQ7CiAgICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgY29t
bWl0U2l6ZSA9IDE2ICogMTAyNDsKICAgICAgICAgLy8gQWxsb3cgOGsgb2YgZXhjZXNzIHJlZ2lz
dGVycyBiZWZvcmUgd2Ugc3RhcnQgdHJ5aW5nIHRvIHJlYXAgdGhlIHN0YWNrCiAgICAgICAgIHN0
YXRpYyBjb25zdCBwdHJkaWZmX3QgbWF4RXhjZXNzQ2FwYWNpdHkgPSA4ICogMTAyNDsKIAotICAg
ICAgICBKU1N0YWNrKFZNJiwgc2l6ZV90IGNhcGFjaXR5ID0gZGVmYXVsdENhcGFjaXR5KTsKLSAg
ICAgICAgfkpTU3RhY2soKTsKKyAgICAgICAgSlNTdGFjayhWTSYpOwogICAgICAgICAKKyAgICAg
ICAgYm9vbCBlbnN1cmVDYXBhY2l0eUZvcihSZWdpc3RlciogbmV3VG9wT2ZTdGFjayk7CisKKyAg
ICAgICAgYm9vbCBjb250YWluc0FkZHJlc3MoUmVnaXN0ZXIqIGFkZHJlc3MpIHsgcmV0dXJuIChs
b3dBZGRyZXNzKCkgPD0gYWRkcmVzcyAmJiBhZGRyZXNzIDwgaGlnaEFkZHJlc3MoKSk7IH0KKyAg
ICAgICAgc3RhdGljIHNpemVfdCBjb21taXR0ZWRCeXRlQ291bnQoKTsKKworI2lmICFFTkFCTEUo
TExJTlRfQ19MT09QKQorICAgICAgICB2b2lkIGdhdGhlckNvbnNlcnZhdGl2ZVJvb3RzKENvbnNl
cnZhdGl2ZVJvb3RzJikgeyB9CisgICAgICAgIHZvaWQgZ2F0aGVyQ29uc2VydmF0aXZlUm9vdHMo
Q29uc2VydmF0aXZlUm9vdHMmLCBKSVRTdHViUm91dGluZVNldCYsIENvZGVCbG9ja1NldCYpIHsg
fQorICAgICAgICB2b2lkIHNhbml0aXplU3RhY2soKSB7IH0KKyAgICAgICAgc3RhdGljIHZvaWQg
aW5pdGlhbGl6ZVRocmVhZGluZygpIHsgfQorI2Vsc2UKKyAgICAgICAgfkpTU3RhY2soKTsKKwog
ICAgICAgICB2b2lkIGdhdGhlckNvbnNlcnZhdGl2ZVJvb3RzKENvbnNlcnZhdGl2ZVJvb3RzJik7
CiAgICAgICAgIHZvaWQgZ2F0aGVyQ29uc2VydmF0aXZlUm9vdHMoQ29uc2VydmF0aXZlUm9vdHMm
LCBKSVRTdHViUm91dGluZVNldCYsIENvZGVCbG9ja1NldCYpOwogICAgICAgICB2b2lkIHNhbml0
aXplU3RhY2soKTsKIAotICAgICAgICBSZWdpc3RlciogZ2V0QmFzZU9mU3RhY2soKSBjb25zdAor
ICAgICAgICBSZWdpc3RlciogYmFzZU9mU3RhY2soKSBjb25zdAogICAgICAgICB7CiAgICAgICAg
ICAgICByZXR1cm4gaGlnaEFkZHJlc3MoKSAtIDE7CiAgICAgICAgIH0KIAogICAgICAgICBzaXpl
X3Qgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGhpZ2hBZGRyZXNzKCkgLSBsb3dBZGRyZXNzKCk7IH0K
IAotICAgICAgICBib29sIGdyb3coUmVnaXN0ZXIqKTsKLSAgICAgICAgCi0gICAgICAgIHN0YXRp
YyBzaXplX3QgY29tbWl0dGVkQnl0ZUNvdW50KCk7CiAgICAgICAgIHN0YXRpYyB2b2lkIGluaXRp
YWxpemVUaHJlYWRpbmcoKTsKIAotICAgICAgICBSZWdpc3RlciogZ2V0VG9wT2ZGcmFtZShDYWxs
RnJhbWUqKTsKLSAgICAgICAgUmVnaXN0ZXIqIGdldFN0YXJ0T2ZGcmFtZShDYWxsRnJhbWUqKTsK
LSAgICAgICAgUmVnaXN0ZXIqIGdldFRvcE9mU3RhY2soKTsKLQotICAgICAgICBib29sIGVudHJ5
Q2hlY2soY2xhc3MgQ29kZUJsb2NrKiwgaW50KTsKKyAgICAgICAgdm9pZCBzZXRSZXNlcnZlZFpv
bmVTaXplKHNpemVfdCk7CiAKLSAgICAgICAgQ2FsbEZyYW1lKiBwdXNoRnJhbWUoY2xhc3MgQ29k
ZUJsb2NrKiwgSlNTY29wZSosIGludCBhcmdzQ291bnQsIEpTT2JqZWN0KiBjYWxsZWUpOwotCi0g
ICAgICAgIHZvaWQgcG9wRnJhbWUoQ2FsbEZyYW1lKik7Ci0KLSAgICAgICAgYm9vbCBjb250YWlu
c0FkZHJlc3MoUmVnaXN0ZXIqIGFkZHJlc3MpIHsgcmV0dXJuIChsb3dBZGRyZXNzKCkgPD0gYWRk
cmVzcyAmJiBhZGRyZXNzIDw9IGhpZ2hBZGRyZXNzKCkpOyB9Ci0KLSAgICAgICAgdm9pZCBlbmFi
bGVFcnJvclN0YWNrUmVzZXJ2ZSgpOwotICAgICAgICB2b2lkIGRpc2FibGVFcnJvclN0YWNrUmVz
ZXJ2ZSgpOwotCi0jaWYgRU5BQkxFKERFQlVHX0pTU1RBQ0spCi0gICAgICAgIHZvaWQgaW5zdGFs
bEZlbmNlKENhbGxGcmFtZSosIGNvbnN0IGNoYXIgKmZ1bmN0aW9uID0gIiIsIGludCBsaW5lTm8g
PSAwKTsKLSAgICAgICAgdm9pZCB2YWxpZGF0ZUZlbmNlKENhbGxGcmFtZSosIGNvbnN0IGNoYXIg
KmZ1bmN0aW9uID0gIiIsIGludCBsaW5lTm8gPSAwKTsKLSAgICAgICAgc3RhdGljIGNvbnN0IGlu
dCBGZW5jZVNpemUgPSA0OwotI2Vsc2UgLy8gIUVOQUJMRShERUJVR19KU1NUQUNLKQotICAgICAg
ICB2b2lkIGluc3RhbGxGZW5jZShDYWxsRnJhbWUqLCBjb25zdCBjaGFyKiA9ICIiLCBpbnQgPSAw
KSB7IH0KLSAgICAgICAgdm9pZCB2YWxpZGF0ZUZlbmNlKENhbGxGcmFtZSosIGNvbnN0IGNoYXIq
ID0gIiIsIGludCA9IDApIHsgfQotI2VuZGlmIC8vICFFTkFCTEUoREVCVUdfSlNTVEFDSykKKyAg
ICAgICAgaW5saW5lIFJlZ2lzdGVyKiB0b3BPZlN0YWNrKCk7CisjZW5kaWYgLy8gRU5BQkxFKExM
SU5UX0NfTE9PUCkKIAogICAgIHByaXZhdGU6CisKKyNpZiBFTkFCTEUoTExJTlRfQ19MT09QKQog
ICAgICAgICBSZWdpc3RlciogbG93QWRkcmVzcygpIGNvbnN0CiAgICAgICAgIHsKLSAgICAgICAg
ICAgIHJldHVybiBtX2VuZDsKKyAgICAgICAgICAgIHJldHVybiBtX2VuZCArIDE7CiAgICAgICAg
IH0KIAogICAgICAgICBSZWdpc3RlciogaGlnaEFkZHJlc3MoKSBjb25zdAogICAgICAgICB7CiAg
ICAgICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdF9wdHI8UmVnaXN0ZXIqPihzdGF0aWNf
Y2FzdDxjaGFyKj4obV9yZXNlcnZhdGlvbi5iYXNlKCkpICsgbV9yZXNlcnZhdGlvbi5zaXplKCkp
OwogICAgICAgICB9CisjZWxzZQorICAgICAgICBSZWdpc3RlciogbG93QWRkcmVzcygpIGNvbnN0
OworICAgICAgICBSZWdpc3RlciogaGlnaEFkZHJlc3MoKSBjb25zdDsKKyNlbmRpZiAvLyBFTkFC
TEUoTExJTlRfQ19MT09QKQogCi0gICAgICAgIFJlZ2lzdGVyKiByZXNlcnZhdGlvbkVuZCgpIGNv
bnN0CisjaWYgRU5BQkxFKExMSU5UX0NfTE9PUCkKKyAgICAgICAgaW5saW5lIFJlZ2lzdGVyKiB0
b3BPZkZyYW1lRm9yKENhbGxGcmFtZSopOworCisgICAgICAgIFJlZ2lzdGVyKiByZXNlcnZhdGlv
blRvcCgpIGNvbnN0CiAgICAgICAgIHsKLSAgICAgICAgICAgIGNoYXIqIHJlc2VydmF0aW9uRW5k
ID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG1fcmVzZXJ2YXRpb24uYmFzZSgpKTsKLSAgICAgICAgICAg
IHJldHVybiByZWludGVycHJldF9jYXN0X3B0cjxSZWdpc3Rlcio+KHJlc2VydmF0aW9uRW5kKTsK
KyAgICAgICAgICAgIGNoYXIqIHJlc2VydmF0aW9uVG9wID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG1f
cmVzZXJ2YXRpb24uYmFzZSgpKTsKKyAgICAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0
X3B0cjxSZWdpc3Rlcio+KHJlc2VydmF0aW9uVG9wKTsKICAgICAgICAgfQogCi0jaWYgRU5BQkxF
KERFQlVHX0pTU1RBQ0spCi0gICAgICAgIHN0YXRpYyBKU1ZhbHVlIGdlbmVyYXRlRmVuY2VWYWx1
ZShzaXplX3QgYXJnSW5kZXgpOwotICAgICAgICB2b2lkIGluc3RhbGxUcmFwc0FmdGVyRnJhbWUo
Q2FsbEZyYW1lKik7Ci0jZWxzZQotICAgICAgICB2b2lkIGluc3RhbGxUcmFwc0FmdGVyRnJhbWUo
Q2FsbEZyYW1lKikgeyB9Ci0jZW5kaWYKLQotICAgICAgICBib29sIGdyb3dTbG93Q2FzZShSZWdp
c3RlciopOwotICAgICAgICB2b2lkIHNocmluayhSZWdpc3RlciopOworICAgICAgICBib29sIGdy
b3coUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spOworICAgICAgICBib29sIGdyb3dTbG93Q2FzZShS
ZWdpc3RlciogbmV3VG9wT2ZTdGFjayk7CisgICAgICAgIHZvaWQgc2hyaW5rKFJlZ2lzdGVyKiBu
ZXdUb3BPZlN0YWNrKTsKICAgICAgICAgdm9pZCByZWxlYXNlRXhjZXNzQ2FwYWNpdHkoKTsKICAg
ICAgICAgdm9pZCBhZGRUb0NvbW1pdHRlZEJ5dGVDb3VudChsb25nKTsKIAotICAgICAgICB2b2lk
IHVwZGF0ZVN0YWNrTGltaXQoUmVnaXN0ZXIqIG5ld0VuZCk7CisgICAgICAgIHZvaWQgc2V0U3Rh
Y2tMaW1pdChSZWdpc3RlciogbmV3VG9wT2ZTdGFjayk7CisjZW5kaWYgLy8gRU5BQkxFKExMSU5U
X0NfTE9PUCkKIAogICAgICAgICBWTSYgbV92bTsKKyAgICAgICAgQ2FsbEZyYW1lKiYgbV90b3BD
YWxsRnJhbWU7CisjaWYgRU5BQkxFKExMSU5UX0NfTE9PUCkKICAgICAgICAgUmVnaXN0ZXIqIG1f
ZW5kOwotICAgICAgICBSZWdpc3RlciogbV9jb21taXRFbmQ7Ci0gICAgICAgIFJlZ2lzdGVyKiBt
X3VzZWFibGVFbmQ7CisgICAgICAgIFJlZ2lzdGVyKiBtX2NvbW1pdFRvcDsKICAgICAgICAgUGFn
ZVJlc2VydmF0aW9uIG1fcmVzZXJ2YXRpb247Ci0gICAgICAgIENhbGxGcmFtZSomIG1fdG9wQ2Fs
bEZyYW1lOwogICAgICAgICBSZWdpc3RlciogbV9sYXN0U3RhY2tUb3A7CisgICAgICAgIHB0cmRp
ZmZfdCBtX3Jlc2VydmVkWm9uZVNpemVJblJlZ2lzdGVyczsKKyNlbmRpZiAvLyBFTkFCTEUoTExJ
TlRfQ19MT09QKQogCiAgICAgICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7
CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9K
U1N0YWNrSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0pTU3Rh
Y2tJbmxpbmVzLmgKaW5kZXggNWEyYWZmMTE3MWRkMWRiMjYzN2RjMWI4OTViYTNhZjM1ZDVjZTQz
Ni4uYjA3NGIzN2ViMGIwZjZlZjgxOGE4Y2FiMjk5MWFiNDZmZDczZGZmZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0pTU3RhY2tJbmxpbmVzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0pTU3RhY2tJbmxpbmVzLmgKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMywgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTMzLDI2MiArMzMsNjUgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWlubGluZSBSZWdp
c3RlciogSlNTdGFjazo6Z2V0VG9wT2ZGcmFtZShDYWxsRnJhbWUqIGZyYW1lKQoraW5saW5lIGJv
b2wgSlNTdGFjazo6ZW5zdXJlQ2FwYWNpdHlGb3IoUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCiB7
Ci0gICAgaWYgKFVOTElLRUxZKCFmcmFtZSkpCi0gICAgICAgIHJldHVybiBnZXRCYXNlT2ZTdGFj
aygpOwotICAgIHJldHVybiBmcmFtZS0+ZnJhbWVFeHRlbnQoKTsKLX0KLQotaW5saW5lIFJlZ2lz
dGVyKiBKU1N0YWNrOjpnZXRUb3BPZlN0YWNrKCkKLXsKLSAgICByZXR1cm4gZ2V0VG9wT2ZGcmFt
ZShtX3RvcENhbGxGcmFtZSk7CisjaWYgRU5BQkxFKExMSU5UX0NfTE9PUCkKKyAgICByZXR1cm4g
Z3JvdyhuZXdUb3BPZlN0YWNrKTsKKyNlbHNlCisgICAgQVNTRVJUKHd0ZlRocmVhZERhdGEoKS5z
dGFjaygpLmlzR3Jvd2luZ0Rvd253YXJkKCkpOworICAgIHJldHVybiBuZXdUb3BPZlN0YWNrID49
IG1fdm0uc3RhY2tMaW1pdCgpOworI2VuZGlmCiB9CiAKLWlubGluZSBSZWdpc3RlciogSlNTdGFj
azo6Z2V0U3RhcnRPZkZyYW1lKENhbGxGcmFtZSogZnJhbWUpCi17Ci0gICAgQ2FsbEZyYW1lKiBj
YWxsZXJGcmFtZSA9IGZyYW1lLT5jYWxsZXJGcmFtZVNraXBwaW5nVk1FbnRyeVNlbnRpbmVsKCk7
Ci0gICAgcmV0dXJuIGdldFRvcE9mRnJhbWUoY2FsbGVyRnJhbWUpOwotfQorI2lmIEVOQUJMRShM
TElOVF9DX0xPT1ApCiAKLWlubGluZSBib29sIEpTU3RhY2s6OmVudHJ5Q2hlY2soY2xhc3MgQ29k
ZUJsb2NrKiBjb2RlQmxvY2ssIGludCBhcmdzQ291bnQpCitpbmxpbmUgUmVnaXN0ZXIqIEpTU3Rh
Y2s6OnRvcE9mRnJhbWVGb3IoQ2FsbEZyYW1lKiBmcmFtZSkKIHsKLSAgICBSZWdpc3Rlciogb2xk
RW5kID0gZ2V0VG9wT2ZTdGFjaygpOwotCi0gICAgLy8gRW5zdXJlIHRoYXQgd2UgaGF2ZSBlbm91
Z2ggc3BhY2UgZm9yIHRoZSBwYXJhbWV0ZXJzOgotICAgIHNpemVfdCBwYWRkZWRBcmdzQ291bnQg
PSBhcmdzQ291bnQ7Ci0gICAgaWYgKGNvZGVCbG9jaykgewotICAgICAgICBzaXplX3QgbnVtUGFy
YW1ldGVycyA9IGNvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpOwotICAgICAgICBpZiAocGFkZGVk
QXJnc0NvdW50IDwgbnVtUGFyYW1ldGVycykKLSAgICAgICAgICAgIHBhZGRlZEFyZ3NDb3VudCA9
IG51bVBhcmFtZXRlcnM7Ci0gICAgfQotCi0gICAgUmVnaXN0ZXIqIG5ld0NhbGxGcmFtZVNsb3Qg
PSBvbGRFbmQgLSBwYWRkZWRBcmdzQ291bnQgLSAoMiAqIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRl
clNpemUpICsgMTsKLQotI2lmIEVOQUJMRShERUJVR19KU1NUQUNLKQotICAgIG5ld0NhbGxGcmFt
ZVNsb3QgLT0gSlNTdGFjazo6RmVuY2VTaXplOworI2lmIEVOQUJMRShMTElOVF9DX0xPT1ApCisg
ICAgaWYgKFVOTElLRUxZKCFmcmFtZSkpCisgICAgICAgIHJldHVybiBiYXNlT2ZTdGFjaygpOwog
I2VuZGlmCi0KLSAgICBSZWdpc3RlciogbmV3RW5kID0gbmV3Q2FsbEZyYW1lU2xvdDsKLSAgICBp
ZiAoISFjb2RlQmxvY2spCi0gICAgICAgIG5ld0VuZCArPSB2aXJ0dWFsUmVnaXN0ZXJGb3JMb2Nh
bChjb2RlQmxvY2stPmZyYW1lUmVnaXN0ZXJDb3VudCgpKS5vZmZzZXQoKTsKLQotICAgIC8vIEVu
c3VyZSB0aGF0IHdlIGhhdmUgdGhlIG5lZWRlZCBzdGFjayBjYXBhY2l0eSB0byBwdXNoIHRoZSBu
ZXcgZnJhbWU6Ci0gICAgaWYgKCFncm93KG5ld0VuZCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBmcmFtZS0+dG9wT2ZGcmFtZSgpIC0gMTsK
IH0KIAotaW5saW5lIENhbGxGcmFtZSogSlNTdGFjazo6cHVzaEZyYW1lKGNsYXNzIENvZGVCbG9j
ayogY29kZUJsb2NrLCBKU1Njb3BlKiBzY29wZSwgaW50IGFyZ3NDb3VudCwgSlNPYmplY3QqIGNh
bGxlZSkKK2lubGluZSBSZWdpc3RlciogSlNTdGFjazo6dG9wT2ZTdGFjaygpCiB7Ci0gICAgQVNT
RVJUKCEhc2NvcGUpOwotICAgIFJlZ2lzdGVyKiBvbGRFbmQgPSBnZXRUb3BPZlN0YWNrKCk7Ci0K
LSAgICAvLyBFbnN1cmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBzcGFjZSBmb3IgdGhlIHBhcmFtZXRl
cnM6Ci0gICAgc2l6ZV90IHBhZGRlZEFyZ3NDb3VudCA9IGFyZ3NDb3VudDsKLSAgICBpZiAoY29k
ZUJsb2NrKSB7Ci0gICAgICAgIHNpemVfdCBudW1QYXJhbWV0ZXJzID0gY29kZUJsb2NrLT5udW1Q
YXJhbWV0ZXJzKCk7Ci0gICAgICAgIGlmIChwYWRkZWRBcmdzQ291bnQgPCBudW1QYXJhbWV0ZXJz
KQotICAgICAgICAgICAgcGFkZGVkQXJnc0NvdW50ID0gbnVtUGFyYW1ldGVyczsKLSAgICB9Ci0K
LSAgICBSZWdpc3RlciogbmV3Q2FsbEZyYW1lU2xvdCA9IG9sZEVuZCAtIHBhZGRlZEFyZ3NDb3Vu
dCAtICgyICogSlNTdGFjazo6Q2FsbEZyYW1lSGVhZGVyU2l6ZSkgKyAxOwotCi0jaWYgRU5BQkxF
KERFQlVHX0pTU1RBQ0spCi0gICAgbmV3Q2FsbEZyYW1lU2xvdCAtPSBKU1N0YWNrOjpGZW5jZVNp
emU7Ci0jZW5kaWYKLQotICAgIFJlZ2lzdGVyKiBuZXdFbmQgPSBuZXdDYWxsRnJhbWVTbG90Owot
ICAgIGlmICghIWNvZGVCbG9jaykKLSAgICAgICAgbmV3RW5kICs9IHZpcnR1YWxSZWdpc3RlckZv
ckxvY2FsKGNvZGVCbG9jay0+ZnJhbWVSZWdpc3RlckNvdW50KCkpLm9mZnNldCgpOwotCi0gICAg
Ly8gRW5zdXJlIHRoYXQgd2UgaGF2ZSB0aGUgbmVlZGVkIHN0YWNrIGNhcGFjaXR5IHRvIHB1c2gg
dGhlIG5ldyBmcmFtZToKLSAgICBpZiAoIWdyb3cobmV3RW5kKSkKLSAgICAgICAgcmV0dXJuIDA7
Ci0KLSAgICAvLyBDb21wdXRlIHRoZSBhZGRyZXNzIG9mIHRoZSBuZXcgVk0gc2VudGluZWwgZnJh
bWUgZm9yIHRoaXMgaW52b2NhdGlvbjoKLSAgICBDYWxsRnJhbWUqIG5ld1ZNRW50cnlTZW50aW5l
bEZyYW1lID0gQ2FsbEZyYW1lOjpjcmVhdGUobmV3Q2FsbEZyYW1lU2xvdCArIHBhZGRlZEFyZ3ND
b3VudCArIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUpOwotICAgIEFTU0VSVCghIW5ld1ZN
RW50cnlTZW50aW5lbEZyYW1lKTsKLQotICAgIC8vIENvbXB1dGUgdGhlIGFkZHJlc3Mgb2YgdGhl
IG5ldyBmcmFtZSBmb3IgdGhpcyBpbnZvY2F0aW9uOgotICAgIENhbGxGcmFtZSogbmV3Q2FsbEZy
YW1lID0gQ2FsbEZyYW1lOjpjcmVhdGUobmV3Q2FsbEZyYW1lU2xvdCk7Ci0gICAgQVNTRVJUKCEh
bmV3Q2FsbEZyYW1lKTsKLQotICAgIC8vIFRoZSBjYWxsZXIgZnJhbWUgc2hvdWxkIGFsd2F5cyBi
ZSB0aGUgcmVhbCBwcmV2aW91cyBmcmFtZSBvbiB0aGUgc3RhY2ssCi0gICAgLy8gYW5kIG5vdCBh
IHBvdGVudGlhbCBHbG9iYWxFeGVjIHRoYXQgd2FzIHBhc3NlZCBpbi4gUG9pbnQgY2FsbGVyRnJh
bWUgdG8KLSAgICAvLyB0aGUgdG9wIGZyYW1lIG9uIHRoZSBzdGFjay4KLSAgICBDYWxsRnJhbWUq
IGNhbGxlckZyYW1lID0gbV90b3BDYWxsRnJhbWU7Ci0KLSAgICAvLyBJbml0aWFsaXplIHRoZSBW
TSBzZW50aW5lbCBmcmFtZSBoZWFkZXI6Ci0gICAgbmV3Vk1FbnRyeVNlbnRpbmVsRnJhbWUtPmlu
aXRpYWxpemVWTUVudHJ5U2VudGluZWxGcmFtZShjYWxsZXJGcmFtZSk7Ci0KLSAgICAvLyBJbml0
aWFsaXplIHRoZSBjYWxsZWUgZnJhbWUgaGVhZGVyOgotICAgIG5ld0NhbGxGcmFtZS0+aW5pdChj
b2RlQmxvY2ssIDAsIHNjb3BlLCBuZXdWTUVudHJ5U2VudGluZWxGcmFtZSwgYXJnc0NvdW50LCBj
YWxsZWUpOwotCi0gICAgQVNTRVJUKCEhbmV3Q2FsbEZyYW1lLT5zY29wZSgpKTsKLQotICAgIC8v
IFBhZCBhZGRpdGlvbmFsIGFyZ3MgaWYgbmVlZGVkOgotICAgIC8vIE5vdGU6IHdlIG5lZWQgdG8g
c3VidHJhY3QgMSBmcm9tIGFyZ3NDb3VudCBhbmQgcGFkZGVkQXJnc0NvdW50IHRvCi0gICAgLy8g
ZXhjbHVkZSB0aGUgdGhpcyBwb2ludGVyLgotICAgIGZvciAoc2l6ZV90IGkgPSBhcmdzQ291bnQt
MTsgaSA8IHBhZGRlZEFyZ3NDb3VudC0xOyArK2kpCi0gICAgICAgIG5ld0NhbGxGcmFtZS0+c2V0
QXJndW1lbnQoaSwganNVbmRlZmluZWQoKSk7Ci0KLSAgICBpbnN0YWxsRmVuY2UobmV3Q2FsbEZy
YW1lLCBfX0ZVTkNUSU9OX18sIF9fTElORV9fKTsKLSAgICB2YWxpZGF0ZUZlbmNlKG5ld0NhbGxG
cmFtZSwgX19GVU5DVElPTl9fLCBfX0xJTkVfXyk7Ci0gICAgaW5zdGFsbFRyYXBzQWZ0ZXJGcmFt
ZShuZXdDYWxsRnJhbWUpOwotCi0gICAgLy8gUHVzaCB0aGUgbmV3IGZyYW1lOgotICAgIG1fdG9w
Q2FsbEZyYW1lID0gbmV3Q2FsbEZyYW1lOwotCi0gICAgcmV0dXJuIG5ld0NhbGxGcmFtZTsKKyAg
ICByZXR1cm4gdG9wT2ZGcmFtZUZvcihtX3RvcENhbGxGcmFtZSk7CiB9CiAKLWlubGluZSB2b2lk
IEpTU3RhY2s6OnBvcEZyYW1lKENhbGxGcmFtZSogZnJhbWUpCi17Ci0gICAgdmFsaWRhdGVGZW5j
ZShmcmFtZSwgX19GVU5DVElPTl9fLCBfX0xJTkVfXyk7Ci0KLSAgICAvLyBQb3Agb2ZmIHRoZSBj
YWxsZWUgZnJhbWUgYW5kIHRoZSBzZW50aW5lbCBmcmFtZS4KLSAgICBDYWxsRnJhbWUqIGNhbGxl
ckZyYW1lID0gZnJhbWUtPmNhbGxlckZyYW1lKCktPnZtRW50cnlTZW50aW5lbENhbGxlckZyYW1l
KCk7Ci0KLSAgICAvLyBQb3AgdG8gdGhlIGNhbGxlcjoKLSAgICBtX3RvcENhbGxGcmFtZSA9IGNh
bGxlckZyYW1lOwotCi0gICAgLy8gSWYgd2UgYXJlIHBvcHBpbmcgdGhlIHZlcnkgZmlyc3QgZnJh
bWUgZnJvbSB0aGUgc3RhY2sgaS5lLiBubyBtb3JlCi0gICAgLy8gZnJhbWVzIGJlZm9yZSB0aGlz
LCB0aGVuIHdlIGNhbiBub3cgc2FmZWx5IHNocmluayB0aGUgc3RhY2suIEluCi0gICAgLy8gdGhp
cyBjYXNlLCB3ZSdyZSBzaHJpbmtpbmcgYWxsIHRoZSB3YXkgdG8gdGhlIGJlZ2lubmluZyBzaW5j
ZSB0aGVyZQotICAgIC8vIGFyZSBubyBtb3JlIGZyYW1lcyBvbiB0aGUgc3RhY2suCi0gICAgaWYg
KCFjYWxsZXJGcmFtZSkKLSAgICAgICAgc2hyaW5rKGdldEJhc2VPZlN0YWNrKCkpOwotCi0gICAg
aW5zdGFsbFRyYXBzQWZ0ZXJGcmFtZShjYWxsZXJGcmFtZSk7Ci19Ci0KLWlubGluZSB2b2lkIEpT
U3RhY2s6OnNocmluayhSZWdpc3RlciogbmV3RW5kKQoraW5saW5lIHZvaWQgSlNTdGFjazo6c2hy
aW5rKFJlZ2lzdGVyKiBuZXdUb3BPZlN0YWNrKQogeworICAgIFJlZ2lzdGVyKiBuZXdFbmQgPSBu
ZXdUb3BPZlN0YWNrIC0gMTsKICAgICBpZiAobmV3RW5kID49IG1fZW5kKQogICAgICAgICByZXR1
cm47Ci0gICAgdXBkYXRlU3RhY2tMaW1pdChuZXdFbmQpOwotICAgIGlmIChtX2VuZCA9PSBnZXRC
YXNlT2ZTdGFjaygpICYmIChtX2NvbW1pdEVuZCAtIGdldEJhc2VPZlN0YWNrKCkpID49IG1heEV4
Y2Vzc0NhcGFjaXR5KQorICAgIHNldFN0YWNrTGltaXQobmV3VG9wT2ZTdGFjayk7CisgICAgLy8g
Tm90ZTogQ2xhbmcgY29tcGxhaW5zIG9mIGFuIHVucmVzb2x2ZWQgbGlua2FnZSB0byBtYXhFeGNl
c3NDYXBhY2l0eSBpZgorICAgIC8vIGludm9rZSBzdGQ6Om1heCgpIHdpdGggaXQgYXMgYW4gYXJn
dW1lbnQuIFRvIHdvcmsgYXJvdW5kIHRoaXMsIHdlIGZpcnN0CisgICAgLy8gYXNzaWduIHRoZSBj
b25zdGFudCB0byBhIGxvY2FsIHZhcmlhYmxlLCBhbmQgdXNlIHRoZSBsb2NhbCBpbnN0ZWFkLgor
ICAgIHB0cmRpZmZfdCBtYXhFeGNlc3NDYXBhY2l0eSA9IEpTU3RhY2s6Om1heEV4Y2Vzc0NhcGFj
aXR5OworICAgIHB0cmRpZmZfdCBtYXhFeGNlc3NJblJlZ2lzdGVycyA9IHN0ZDo6bWF4KG1heEV4
Y2Vzc0NhcGFjaXR5LCBtX3Jlc2VydmVkWm9uZVNpemVJblJlZ2lzdGVycyk7CisgICAgaWYgKG1f
ZW5kID09IGJhc2VPZlN0YWNrKCkgJiYgKGhpZ2hBZGRyZXNzKCkgLSBtX2NvbW1pdFRvcCkgPj0g
bWF4RXhjZXNzSW5SZWdpc3RlcnMpCiAgICAgICAgIHJlbGVhc2VFeGNlc3NDYXBhY2l0eSgpOwog
fQogCi1pbmxpbmUgYm9vbCBKU1N0YWNrOjpncm93KFJlZ2lzdGVyKiBuZXdFbmQpCitpbmxpbmUg
Ym9vbCBKU1N0YWNrOjpncm93KFJlZ2lzdGVyKiBuZXdUb3BPZlN0YWNrKQogeworICAgIFJlZ2lz
dGVyKiBuZXdFbmQgPSBuZXdUb3BPZlN0YWNrIC0gMTsKICAgICBpZiAobmV3RW5kID49IG1fZW5k
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICByZXR1cm4gZ3Jvd1Nsb3dDYXNlKG5ld0VuZCk7
CisgICAgcmV0dXJuIGdyb3dTbG93Q2FzZShuZXdUb3BPZlN0YWNrKTsKIH0KIAotaW5saW5lIHZv
aWQgSlNTdGFjazo6dXBkYXRlU3RhY2tMaW1pdChSZWdpc3RlciogbmV3RW5kKQoraW5saW5lIHZv
aWQgSlNTdGFjazo6c2V0U3RhY2tMaW1pdChSZWdpc3RlciogbmV3VG9wT2ZTdGFjaykKIHsKKyAg
ICBSZWdpc3RlciogbmV3RW5kID0gbmV3VG9wT2ZTdGFjayAtIDE7CiAgICAgbV9lbmQgPSBuZXdF
bmQ7Ci0jaWYgVVNFKFNFUEFSQVRFX0NfQU5EX0pTX1NUQUNLKQotICAgIG1fdm0uc2V0SlNTdGFj
a0xpbWl0KG5ld0VuZCk7CisjaWYgRU5BQkxFKExMSU5UX0NfTE9PUCkKKyAgICBtX3ZtLnNldEpT
U3RhY2tMaW1pdChuZXdUb3BPZlN0YWNrKTsKICNlbmRpZgogfQogCi0jaWYgRU5BQkxFKERFQlVH
X0pTU1RBQ0spCi1pbmxpbmUgSlNWYWx1ZSBKU1N0YWNrOjpnZW5lcmF0ZUZlbmNlVmFsdWUoc2l6
ZV90IGFyZ0luZGV4KQotewotICAgIHVuc2lnbmVkIGZlbmNlQml0cyA9IDB4ZmFjZWJhZDAgfCAo
KGFyZ0luZGV4KzEpICYgMHhmKTsKLSAgICBKU1ZhbHVlIGZlbmNlVmFsdWUgPSBKU1ZhbHVlKGZl
bmNlQml0cyk7Ci0gICAgcmV0dXJuIGZlbmNlVmFsdWU7Ci19Ci0KLS8vIFRoZSBKU1N0YWNrIGZl
bmNlcyBtZWNoYW5pc20gd29ya3MgYXMgZm9sbG93czoKLS8vIDEuIEEgZmVuY2UgaXMgYSBudW1i
ZXIgKEpTU3RhY2s6OkZlbmNlU2l6ZSkgb2YgSlNWYWx1ZXMgdGhhdCBhcmUgaW5pdGlhbGl6ZWQK
LS8vICAgIHdpdGggdmFsdWVzIGdlbmVyYXRlZCBieSBKU1N0YWNrOjpnZW5lcmF0ZUZlbmNlVmFs
dWUoKS4KLS8vIDIuIFdoZW4gcHVzaEZyYW1lKCkgaXMgY2FsbGVkLCB0aGUgZmVuY2UgaXMgaW5z
dGFsbGVkIGFmdGVyIHRoZSBtYXggZXh0ZW50Ci0vLyAgICBvZiB0aGUgcHJldmlvdXMgdG9wQ2Fs
bEZyYW1lIGFuZCB0aGUgbGFzdCBhcmcgb2YgdGhlIG5ldyBmcmFtZToKLS8vCi0vLyAgICAgICAg
ICAgICAgICAgICAgIHwgLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLS8v
ICAgICAgICAgICAgICAgICAgICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tfAotLy8gICAgICAgICAgICAgICAgICAgICB8IEZyYW1lIEhlYWRlciBvZiBwcmV2aW91cyBm
cmFtZSAgICAgICB8Ci0vLyAgICAgICAgICAgICAgICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLXwKLS8vICAgIHRvcENhbGxGcmFtZSAtLT4gfCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotLy8gICAgICAgICAgICAgICAgICAgICB8IExv
Y2FscyBvZiBwcmV2aW91cyBmcmFtZSAgICAgICAgICAgICB8Ci0vLyAgICAgICAgICAgICAgICAg
ICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKLS8vICAgICAgICAg
ICAgICAgICAgICAgfCAqKiogdGhlIEZlbmNlICoqKiAgICAgICAgICAgICAgICAgICAgfAotLy8g
ICAgICAgICAgICAgICAgICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS18Ci0vLyAgICAgICAgICAgICAgICAgICAgIHwgVk0gZW50cnkgc2VudGluZWwgZnJhbWUgaGVh
ZGVyICAgICAgIHwKLS8vICAgICAgICAgICAgICAgICAgICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tfAotLy8gICAgICAgICAgICAgICAgICAgICB8IEFyZ3Mgb2YgbmV3
IGZyYW1lICAgICAgICAgICAgICAgICAgICB8Ci0vLyAgICAgICAgICAgICAgICAgICAgIHwtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKLS8vICAgICAgICAgICAgICAgICAg
ICAgfCBGcmFtZSBIZWFkZXIgb2YgbmV3IGZyYW1lICAgICAgICAgICAgfAotLy8gICAgICAgICAg
ICAgICAgICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18Ci0vLyAg
ICAgICAgICAgZnJhbWUgLS0+IHwgTG9jYWxzIG9mIG5ldyBmcmFtZSAgICAgICAgICAgICAgICAg
IHwKLS8vICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfAotLy8KLS8vIDMuIEluIHBvcEZyYW1lKCkgYW5kIGVsc2V3aGVyZSwgd2UgY2Fu
IGNhbGwgSlNTdGFjazo6dmFsaWRhdGVGZW5jZSgpIHRvCi0vLyAgICBhc3NlcnQgdGhhdCB0aGUg
ZmVuY2UgY29udGFpbnMgdGhlIHZhbHVlcyB3ZSBleHBlY3QuCi0KLWlubGluZSB2b2lkIEpTU3Rh
Y2s6Omluc3RhbGxGZW5jZShDYWxsRnJhbWUqIGZyYW1lLCBjb25zdCBjaGFyICpmdW5jdGlvbiwg
aW50IGxpbmVObykKLXsKLSAgICBVTlVTRURfUEFSQU0oZnVuY3Rpb24pOwotICAgIFVOVVNFRF9Q
QVJBTShsaW5lTm8pOwotICAgIFJlZ2lzdGVyKiBzdGFydE9mRnJhbWUgPSBnZXRTdGFydE9mRnJh
bWUoZnJhbWUpOwotCi0gICAgLy8gVGhlIGxhc3QgYXJnSW5kZXggaXMgYXQ6Ci0gICAgc2l6ZV90
IG1heEluZGV4ID0gZnJhbWUtPmFyZ0luZGV4Rm9yUmVnaXN0ZXIoc3RhcnRPZkZyYW1lKSArIDE7
Ci0gICAgc2l6ZV90IHN0YXJ0SW5kZXggPSBtYXhJbmRleCAtIEZlbmNlU2l6ZTsKLSAgICBmb3Ig
KHNpemVfdCBpID0gc3RhcnRJbmRleDsgaSA8IG1heEluZGV4OyArK2kpIHsKLSAgICAgICAgSlNW
YWx1ZSBmZW5jZVZhbHVlID0gZ2VuZXJhdGVGZW5jZVZhbHVlKGkpOwotICAgICAgICBmcmFtZS0+
c2V0QXJndW1lbnQoaSwgZmVuY2VWYWx1ZSk7Ci0gICAgfQotfQotCi1pbmxpbmUgdm9pZCBKU1N0
YWNrOjp2YWxpZGF0ZUZlbmNlKENhbGxGcmFtZSogZnJhbWUsIGNvbnN0IGNoYXIgKmZ1bmN0aW9u
LCBpbnQgbGluZU5vKQotewotICAgIFVOVVNFRF9QQVJBTShmdW5jdGlvbik7Ci0gICAgVU5VU0VE
X1BBUkFNKGxpbmVObyk7Ci0gICAgQVNTRVJUKCEhZnJhbWUtPnNjb3BlKCkpOwotICAgIFJlZ2lz
dGVyKiBzdGFydE9mRnJhbWUgPSBnZXRTdGFydE9mRnJhbWUoZnJhbWUpOwotICAgIHNpemVfdCBt
YXhJbmRleCA9IGZyYW1lLT5hcmdJbmRleEZvclJlZ2lzdGVyKHN0YXJ0T2ZGcmFtZSkgKyAxOwot
ICAgIHNpemVfdCBzdGFydEluZGV4ID0gbWF4SW5kZXggLSBGZW5jZVNpemU7Ci0gICAgZm9yIChz
aXplX3QgaSA9IHN0YXJ0SW5kZXg7IGkgPCBtYXhJbmRleDsgKytpKSB7Ci0gICAgICAgIEpTVmFs
dWUgZmVuY2VWYWx1ZSA9IGdlbmVyYXRlRmVuY2VWYWx1ZShpKTsKLSAgICAgICAgSlNWYWx1ZSBh
Y3R1YWxWYWx1ZSA9IGZyYW1lLT5nZXRBcmd1bWVudFVuc2FmZShpKTsKLSAgICAgICAgQVNTRVJU
KGZlbmNlVmFsdWUgPT0gYWN0dWFsVmFsdWUpOwotICAgIH0KLX0KLQotLy8gV2hlbiBkZWJ1Z2dp
bmcgdGhlIEpTU3RhY2ssIHdlIGluc3RhbGwgYmFkIHZhbHVlcyBhZnRlciB0aGUgZXh0ZW50IG9m
IHRoZQotLy8gdG9wQ2FsbEZyYW1lIGF0IHRoZSBlbmQgb2YgcHVzaEZyYW1lKCkgYW5kIHBvcEZy
YW1lKCkuIFRoZSBpbnRlbnRpb24gaXMKLS8vIHRvIHRyaWdnZXIgY3Jhc2hlcyBpbiB0aGUgZXZl
bnQgdGhhdCBtZW1vcnkgaW4gdGhpcyBzdXBwb3NlZGx5IHVudXNlZAotLy8gcmVnaW9uIGlzIHJl
YWQgYW5kIGNvbnN1bWVkIHdpdGhvdXQgcHJvcGVyIGluaXRpYWxpemF0aW9uLiBBZnRlciB0aGUg
dHJhcAotLy8gd29yZHMgYXJlIGluc3RhbGxlZCwgdGhlIHN0YWNrIGxvb2tzIGxpa2UgdGhpczoK
LS8vCi0vLyAgICAgICAgICAgICAgICAgICAgIHwgLi4uICAgICAgICAgICAgICAgICAgICAgICAg
IHwKLS8vICAgICAgICAgICAgICAgICAgICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
fAotLy8gICAgICAgICAgICAgICAgICAgICB8IEZyYW1lIEhlYWRlciBvZiBmcmFtZSAgICAgICB8
Ci0vLyAgICAgICAgICAgICAgICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwK
LS8vICAgIHRvcENhbGxGcmFtZSAtLT4gfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAot
Ly8gICAgICAgICAgICAgICAgICAgICB8IExvY2FscyBvZiBmcmFtZSAgICAgICAgICAgICB8Ci0v
LyAgICAgICAgICAgICAgICAgICAgIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKLS8v
ICAgICAgICAgICAgICAgICAgICAgfCAqKiogVHJhcCB3b3JkcyAqKiogICAgICAgICAgfAotLy8g
ICAgICAgICAgICAgICAgICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18Ci0vLyAg
ICAgICAgICAgICAgICAgICAgIHwgVW51c2VkIHNwYWNlIC4uLiAgICAgICAgICAgIHwKLS8vICAg
ICAgICAgICAgICAgICAgICAgfCAuLi4gICAgICAgICAgICAgICAgICAgICAgICAgfAotCi1pbmxp
bmUgdm9pZCBKU1N0YWNrOjppbnN0YWxsVHJhcHNBZnRlckZyYW1lKENhbGxGcmFtZSogZnJhbWUp
Ci17Ci0gICAgUmVnaXN0ZXIqIHRvcE9mRnJhbWUgPSBnZXRUb3BPZkZyYW1lKGZyYW1lKTsKLSAg
ICBjb25zdCBpbnQgc2l6ZU9mVHJhcCA9IDY0OwotICAgIGludDMyX3QqIHN0YXJ0T2ZUcmFwID0g
cmVpbnRlcnByZXRfY2FzdDxpbnQzMl90Kj4odG9wT2ZGcmFtZSk7Ci0gICAgaW50MzJfdCogZW5k
T2ZUcmFwID0gc3RhcnRPZlRyYXAgLSBzaXplT2ZUcmFwOwotICAgIGludDMyX3QqIGVuZE9mQ29t
bWl0ZWRNZW1vcnkgPSByZWludGVycHJldF9jYXN0PGludDMyX3QqPihtX2NvbW1pdEVuZCk7Ci0K
LSAgICAvLyBNYWtlIHN1cmUgd2UncmUgbm90IGV4Y2VlZGluZyB0aGUgYW1vdW50IG9mIGF2YWls
YWJsZSBtZW1vcnkgdG8gd3JpdGUgdG86Ci0gICAgaWYgKGVuZE9mVHJhcCA8IGVuZE9mQ29tbWl0
ZWRNZW1vcnkpCi0gICAgICAgIGVuZE9mVHJhcCA9IGVuZE9mQ29tbWl0ZWRNZW1vcnk7Ci0KLSAg
ICAvLyBMYXkgdGhlIHRyYXBzOgotICAgIGludDMyX3QqIHAgPSBzdGFydE9mVHJhcDsKLSAgICB3
aGlsZSAocCA+IGVuZE9mVHJhcCkKLSAgICAgICAgKnAtLSA9IDB4YWJhZGNhZmU7IC8vIEEgYmFk
IHdvcmQgdG8gdHJpZ2dlciBhIGNyYXNoIGlmIGRlcmVmJ2VkLgotfQotI2VuZGlmIC8vIEVOQUJM
RShERUJVR19KU1NUQUNLKQorI2VuZGlmIC8vIEVOQUJMRShMTElOVF9DX0xPT1ApCiAKIH0gLy8g
bmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvUHJvdG9DYWxsRnJhbWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL1Byb3RvQ2FsbEZyYW1lLmNwcAppbmRleCBhMzYwMDE0Mzc4MTEwZDNlNDcyMGY4MGVlYTMz
NzZjN2E4NDNkN2Y5Li5mMGUwMmJhNGU0NzZmOTljYzkxM2IwNDYyYWQyNzk1MDA2MDlmYTNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUHJvdG9DYWxsRnJh
bWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9Qcm90b0NhbGxG
cmFtZS5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJQcm90b0NhbGxGcmFtZS5oIgog
CiAjaW5jbHVkZSAiQ29kZUJsb2NrLmgiCisjaW5jbHVkZSAiU3RhY2tBbGlnbm1lbnQuaCIKIAog
bmFtZXNwYWNlIEpTQyB7CiAKQEAgLTQzLDcgKzQ0LDkgQEAgdm9pZCBQcm90b0NhbGxGcmFtZTo6
aW5pdChDb2RlQmxvY2sqIGNvZGVCbG9jaywgSlNTY29wZSogc2NvcGUsIEpTT2JqZWN0KiBjYWxs
ZWUKICAgICAgICAgaWYgKHBhZGRlZEFyZ3NDb3VudCA8IG51bVBhcmFtZXRlcnMpCiAgICAgICAg
ICAgICBwYWRkZWRBcmdzQ291bnQgPSBudW1QYXJhbWV0ZXJzOwogICAgIH0KLSAgICB0aGlzLT5z
ZXRQYWRkZWRBcmdzQ291bnQocGFkZGVkQXJnc0NvdW50KTsKKyAgICAvLyBSb3VuZCB1cCBwYWRk
ZWRBcmdzQ291bnQgdG8ga2VlcCB0aGUgc3RhY2sgZnJhbWUgc2l6ZSBhbGlnbmVkLgorICAgIHBh
ZGRlZEFyZ3NDb3VudCA9IHJvdW5kQXJndW1lbnRDb3VudFRvQWxpZ25GcmFtZShwYWRkZWRBcmdz
Q291bnQpOworICAgIHRoaXMtPnNldFBhZGRlZEFyZ0NvdW50KHBhZGRlZEFyZ3NDb3VudCk7CiAg
ICAgdGhpcy0+Y2xlYXJDdXJyZW50VlBDKCk7CiAgICAgdGhpcy0+c2V0VGhpc1ZhbHVlKHRoaXNW
YWx1ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
UHJvdG9DYWxsRnJhbWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9Qcm90
b0NhbGxGcmFtZS5oCmluZGV4IGI3MTUxZWVmZmM1ZGNjYWEwMjAwOTc3MzA2YzcxYThlODdiYTk5
Y2IuLjU2MTI4NmIzZjliNTRiYTVhOTQ1YmIwYjA2ZDBhNWVjZDk0M2U2MzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9Qcm90b0NhbGxGcmFtZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9Qcm90b0NhbGxGcmFtZS5oCkBAIC01
Myw3ICs1Myw3IEBAIHN0cnVjdCBQcm90b0NhbGxGcmFtZSB7CiAgICAgaW50IGFyZ3VtZW50Q291
bnRJbmNsdWRpbmdUaGlzKCkgY29uc3QgeyByZXR1cm4gYXJnQ291bnRBbmRDb2RlT3JpZ2luVmFs
dWUucGF5bG9hZCgpOyB9CiAgICAgaW50IGFyZ3VtZW50Q291bnQoKSBjb25zdCB7IHJldHVybiBh
cmd1bWVudENvdW50SW5jbHVkaW5nVGhpcygpIC0gMTsgfQogICAgIHZvaWQgc2V0QXJndW1lbnRD
b3VudEluY2x1ZGluZ1RoaXMoaW50IGNvdW50KSB7IGFyZ0NvdW50QW5kQ29kZU9yaWdpblZhbHVl
LnBheWxvYWQoKSA9IGNvdW50OyB9Ci0gICAgdm9pZCBzZXRQYWRkZWRBcmdzQ291bnQoc2l6ZV90
IGFyZ0NvdW50KSB7IHBhZGRlZEFyZ0NvdW50ID0gYXJnQ291bnQ7IH0KKyAgICB2b2lkIHNldFBh
ZGRlZEFyZ0NvdW50KHNpemVfdCBhcmdDb3VudCkgeyBwYWRkZWRBcmdDb3VudCA9IGFyZ0NvdW50
OyB9CiAKICAgICB2b2lkIGNsZWFyQ3VycmVudFZQQygpIHsgYXJnQ291bnRBbmRDb2RlT3JpZ2lu
VmFsdWUudGFnKCkgPSAwOyB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0FyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwZWIx
YjY1Zjc3YzNlY2I3N2IwZTM5NWE0NjdlNGJhMWVkMTg2ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0FyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmNwcApA
QCAtMCwwICsxLDEzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQXJpdHlDaGVja0ZhaWxSZXR1
cm5UaHVua3MuaCIKKworI2lmIEVOQUJMRShKSVQpCisKKyNpbmNsdWRlICJBc3NlbWJseUhlbHBl
cnMuaCIKKyNpbmNsdWRlICJMaW5rQnVmZmVyLmgiCisjaW5jbHVkZSAiU3RhY2tBbGlnbm1lbnQu
aCIKKworbmFtZXNwYWNlIEpTQyB7CisKK0FyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzOjpBcml0
eUNoZWNrRmFpbFJldHVyblRodW5rcygpCisgICAgOiBtX25leHRTaXplKDApCit7Cit9CisKK0Fy
aXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzOjp+QXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MoKSB7
IH0KKworQ29kZUxvY2F0aW9uTGFiZWwqIEFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzOjpyZXR1
cm5QQ3NGb3IoCisgICAgVk0mIHZtLCB1bnNpZ25lZCBudW1FeHBlY3RlZEFyZ3VtZW50c0luY2x1
ZGluZ1RoaXMpCit7CisgICAgQVNTRVJUKG51bUV4cGVjdGVkQXJndW1lbnRzSW5jbHVkaW5nVGhp
cyA+PSAxKTsKKyAgICAKKyAgICBudW1FeHBlY3RlZEFyZ3VtZW50c0luY2x1ZGluZ1RoaXMgPSBX
VEY6OnJvdW5kVXBUb011bHRpcGxlT2YoCisgICAgICAgIHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJz
KCksIG51bUV4cGVjdGVkQXJndW1lbnRzSW5jbHVkaW5nVGhpcyk7CisgICAgCisgICAgeworICAg
ICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxvY2tlcihtX2xvY2spOworICAgICAgICBpZiAobnVt
RXhwZWN0ZWRBcmd1bWVudHNJbmNsdWRpbmdUaGlzIDwgbV9uZXh0U2l6ZSkKKyAgICAgICAgICAg
IHJldHVybiBtX3JldHVyblBDQXJyYXlzLmxhc3QoKS5nZXQoKTsKKyAgICB9CisgICAgCisgICAg
QVNTRVJUKCFpc0NvbXBpbGF0aW9uVGhyZWFkKCkpOworICAgIAorICAgIG51bUV4cGVjdGVkQXJn
dW1lbnRzSW5jbHVkaW5nVGhpcyA9IHN0ZDo6bWF4KAorICAgICAgICBudW1FeHBlY3RlZEFyZ3Vt
ZW50c0luY2x1ZGluZ1RoaXMsCisgICAgICAgIG1fbmV4dFNpemUgKiAyKTsKKyAgICAKKyAgICBB
c3NlbWJseUhlbHBlcnMgaml0KCZ2bSwgMCk7CisgICAgCisgICAgVmVjdG9yPEFzc2VtYmx5SGVs
cGVyczo6TGFiZWw+IGxhYmVsczsKKyAgICAKKyAgICBmb3IgKHVuc2lnbmVkIHNpemUgPSBtX25l
eHRTaXplOyBzaXplIDw9IG51bUV4cGVjdGVkQXJndW1lbnRzSW5jbHVkaW5nVGhpczsgc2l6ZSAr
PSBzdGFja0FsaWdubWVudFJlZ2lzdGVycygpKSB7CisgICAgICAgIGxhYmVscy5hcHBlbmQoaml0
LmxhYmVsKCkpOworICAgICAgICAKKyAgICAgICAgaml0LmxvYWQzMigKKyAgICAgICAgICAgIEFz
c2VtYmx5SGVscGVyczo6QWRkcmVzcygKKyAgICAgICAgICAgICAgICBBc3NlbWJseUhlbHBlcnM6
OnN0YWNrUG9pbnRlclJlZ2lzdGVyLAorICAgICAgICAgICAgICAgIChKU1N0YWNrOjpBcmd1bWVu
dENvdW50IC0gSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUpICogc2l6ZW9mKFJlZ2lzdGVy
KSArCisgICAgICAgICAgICAgICAgUGF5bG9hZE9mZnNldCksCisgICAgICAgICAgICBHUFJJbmZv
OjpyZWdUNCk7CisgICAgICAgIGppdC5hZGQzMigKKyAgICAgICAgICAgIEFzc2VtYmx5SGVscGVy
czo6VHJ1c3RlZEltbTMyKAorICAgICAgICAgICAgICAgIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRl
clNpemUgLSBKU1N0YWNrOjpDYWxsZXJGcmFtZUFuZFBDU2l6ZSArIHNpemUgLSAxKSwKKyAgICAg
ICAgICAgIEdQUkluZm86OnJlZ1Q0LCBHUFJJbmZvOjpyZWdUMik7CisgICAgICAgIGppdC5sc2hp
ZnQzMihBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW0zMigzKSwgR1BSSW5mbzo6cmVnVDIpOwor
ICAgICAgICBqaXQuYWRkUHRyKEFzc2VtYmx5SGVscGVyczo6c3RhY2tQb2ludGVyUmVnaXN0ZXIs
IEdQUkluZm86OnJlZ1QyKTsKKyAgICAgICAgaml0LmxvYWRQdHIoR1BSSW5mbzo6cmVnVDIsIEdQ
UkluZm86OnJlZ1QyKTsKKyAgICAgICAgCisgICAgICAgIGppdC5hZGRQdHIoCisgICAgICAgICAg
ICBBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW0zMihzaXplICogc2l6ZW9mKFJlZ2lzdGVyKSks
CisgICAgICAgICAgICBBc3NlbWJseUhlbHBlcnM6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKyAg
ICAgICAgCisgICAgICAgIC8vIFRodW5rcyBsaWtlIG91cnMgd2FudCB0byB1c2UgdGhlIHJldHVy
biBQQyB0byBmaWd1cmUgb3V0IHdoZXJlIHRoaW5ncworICAgICAgICAvLyB3ZXJlIHNhdmVkLiBT
bywgd2UgcGF5IGl0IGZvcndhcmQuCisgICAgICAgIGppdC5zdG9yZTMyKAorICAgICAgICAgICAg
R1BSSW5mbzo6cmVnVDQsCisgICAgICAgICAgICBBc3NlbWJseUhlbHBlcnM6OkFkZHJlc3MoCisg
ICAgICAgICAgICAgICAgQXNzZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3RlciwKKyAg
ICAgICAgICAgICAgICAoSlNTdGFjazo6QXJndW1lbnRDb3VudCAtIEpTU3RhY2s6OkNhbGxlckZy
YW1lQW5kUENTaXplKSAqIHNpemVvZihSZWdpc3RlcikgKworICAgICAgICAgICAgICAgIFBheWxv
YWRPZmZzZXQpKTsKKyAgICAgICAgCisgICAgICAgIGppdC5qdW1wKEdQUkluZm86OnJlZ1QyKTsK
KyAgICB9CisgICAgCisgICAgTGlua0J1ZmZlciBsaW5rQnVmZmVyKHZtLCAmaml0LCBHTE9CQUxf
VEhVTktfSUQpOworICAgIAorICAgIHVuc2lnbmVkIHJldHVyblBDc1NpemUgPSBudW1FeHBlY3Rl
ZEFyZ3VtZW50c0luY2x1ZGluZ1RoaXMgLyBzdGFja0FsaWdubWVudFJlZ2lzdGVycygpICsgMTsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8Q29kZUxvY2F0aW9uTGFiZWxbXT4gcmV0dXJuUENzID0KKyAg
ICAgICAgc3RkOjptYWtlX3VuaXF1ZTxDb2RlTG9jYXRpb25MYWJlbFtdPihyZXR1cm5QQ3NTaXpl
KTsKKyAgICBmb3IgKHVuc2lnbmVkIHNpemUgPSAwOyBzaXplIDw9IG51bUV4cGVjdGVkQXJndW1l
bnRzSW5jbHVkaW5nVGhpczsgc2l6ZSArPSBzdGFja0FsaWdubWVudFJlZ2lzdGVycygpKSB7Cisg
ICAgICAgIHVuc2lnbmVkIGluZGV4ID0gc2l6ZSAvIHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCk7
CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKGluZGV4IDwgcmV0dXJuUENzU2l6ZSk7CisgICAgICAg
IGlmIChzaXplIDwgbV9uZXh0U2l6ZSkKKyAgICAgICAgICAgIHJldHVyblBDc1tpbmRleF0gPSBt
X3JldHVyblBDQXJyYXlzLmxhc3QoKVtpbmRleF07CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHJldHVyblBDc1tpbmRleF0gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2YobGFiZWxzWyhzaXplIC0g
bV9uZXh0U2l6ZSkgLyBzdGFja0FsaWdubWVudFJlZ2lzdGVycygpXSk7CisgICAgfQorCisgICAg
Q29kZUxvY2F0aW9uTGFiZWwqIHJlc3VsdCA9IHJldHVyblBDcy5nZXQoKTsKKworICAgIHsKKyAg
ICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9sb2NrKTsKKyAgICAgICAgbV9yZXR1
cm5QQ0FycmF5cy5hcHBlbmQoc3RkOjptb3ZlKHJldHVyblBDcykpOworICAgICAgICBtX3JlZnMu
YXBwZW5kKEZJTkFMSVpFX0NPREUobGlua0J1ZmZlciwgKCJBcml0eSBjaGVjayBmYWlsIHJldHVy
biB0aHVua3MgZm9yIHVwIHRvIG51bUFyZ3MgPSAldSIsIG51bUV4cGVjdGVkQXJndW1lbnRzSW5j
bHVkaW5nVGhpcykpKTsKKyAgICAgICAgbV9uZXh0U2l6ZSA9IG51bUV4cGVjdGVkQXJndW1lbnRz
SW5jbHVkaW5nVGhpcyArIHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCk7CisgICAgfQorICAgIAor
ICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0NvZGVMb2NhdGlvbkxhYmVsIEFyaXR5Q2hlY2tGYWls
UmV0dXJuVGh1bmtzOjpyZXR1cm5QQ0ZvcihWTSYgdm0sIHVuc2lnbmVkIHNsb3RzVG9BZGQpCit7
CisgICAgcmV0dXJuIHJldHVyblBDc0Zvcih2bSwgc2xvdHNUb0FkZClbc2xvdHNUb0FkZCAvIHN0
YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCldOworfQorCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2Vu
ZGlmIC8vIEVOQUJMRShKSVQpCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMmQwMzQxMzkxY2M0
MjU0N2VhMDYxYzRiOTEwNDY3NzQ1NzQ0NmYwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9Bcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5oCkBAIC0wLDAgKzEs
NTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lm
bmRlZiBBcml0eUNoZWNrRmFpbFJldHVyblRodW5rc19oCisjZGVmaW5lIEFyaXR5Q2hlY2tGYWls
UmV0dXJuVGh1bmtzX2gKKworI2lmIEVOQUJMRShKSVQpCisKKyNpbmNsdWRlICJDb2RlTG9jYXRp
b24uaCIKKyNpbmNsdWRlICJDb25jdXJyZW50SklUTG9jay5oIgorI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBBcml0eUNoZWNrRmFpbFJldHVyblRo
dW5rcyB7CitwdWJsaWM6CisgICAgQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MoKTsKKyAgICB+
QXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3MoKTsKKyAgICAKKyAgICAvLyBSZXR1cm5zIGEgcG9p
bnRlciB0byBhbiBhcnJheSBvZiByZXR1cm4gbGFiZWxzIGluZGV4ZWQgYnkgbWlzc2luZ0FyZ3Mu
CisgICAgQ29kZUxvY2F0aW9uTGFiZWwqIHJldHVyblBDc0ZvcihWTSYsIHVuc2lnbmVkIG51bUV4
cGVjdGVkQXJndW1lbnRzSW5jbHVkaW5nVGhpcyk7CisgICAgCisgICAgQ29kZUxvY2F0aW9uTGFi
ZWwgcmV0dXJuUENGb3IoVk0mLCB1bnNpZ25lZCBzbG90c1RvQWRkKTsKKyAgICAKK3ByaXZhdGU6
CisgICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxDb2RlTG9jYXRpb25MYWJlbFtdPj4gbV9yZXR1
cm5QQ0FycmF5czsKKyAgICB1bnNpZ25lZCBtX25leHRTaXplOworICAgIFZlY3RvcjxNYWNyb0Fz
c2VtYmxlckNvZGVSZWY+IG1fcmVmczsKKyAgICBDb25jdXJyZW50SklUTG9jayBtX2xvY2s7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEVOQUJMRShKSVQpCisKKyNlbmRp
ZiAvLyBBcml0eUNoZWNrRmFpbFJldHVyblRodW5rc19oCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmNwcAppbmRleCBkZGYxZDYzNTkyMWJkNWQ1MzIzZmZl
Y2M4MWE3ZmRmODM2MmJjNjM2Li5kZDM2OTE3NWVlYzMwYmU0ZmJhODEzMTk1NjlkZWY3YTQ0OTlj
Yzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVy
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3Bw
CkBAIC0xMTAsNiArMTEwLDE3IEBAIHZvaWQgQXNzZW1ibHlIZWxwZXJzOjpqaXRBc3NlcnRJc0Nl
bGwoR1BSUmVnIGdwcikKICAgICBicmVha3BvaW50KCk7CiAgICAgY2hlY2tDZWxsLmxpbmsodGhp
cyk7CiB9CisKK3ZvaWQgQXNzZW1ibHlIZWxwZXJzOjpqaXRBc3NlcnRUYWdzSW5QbGFjZSgpCit7
CisgICAgSnVtcCBvayA9IGJyYW5jaDY0KEVxdWFsLCBHUFJJbmZvOjp0YWdUeXBlTnVtYmVyUmVn
aXN0ZXIsIFRydXN0ZWRJbW02NChUYWdUeXBlTnVtYmVyKSk7CisgICAgYnJlYWtwb2ludCgpOwor
ICAgIG9rLmxpbmsodGhpcyk7CisgICAgCisgICAgb2sgPSBicmFuY2g2NChFcXVhbCwgR1BSSW5m
bzo6dGFnTWFza1JlZ2lzdGVyLCBUcnVzdGVkSW1tNjQoVGFnTWFzaykpOworICAgIGJyZWFrcG9p
bnQoKTsKKyAgICBvay5saW5rKHRoaXMpOworfQogI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKIHZv
aWQgQXNzZW1ibHlIZWxwZXJzOjpqaXRBc3NlcnRJc0ludDMyKEdQUlJlZyBncHIpCiB7CkBAIC0x
NDUsNiArMTU2LDEwIEBAIHZvaWQgQXNzZW1ibHlIZWxwZXJzOjpqaXRBc3NlcnRJc0NlbGwoR1BS
UmVnIGdwcikKICAgICBicmVha3BvaW50KCk7CiAgICAgY2hlY2tDZWxsLmxpbmsodGhpcyk7CiB9
CisKK3ZvaWQgQXNzZW1ibHlIZWxwZXJzOjpqaXRBc3NlcnRUYWdzSW5QbGFjZSgpCit7Cit9CiAj
ZW5kaWYgLy8gVVNFKEpTVkFMVUUzMl82NCkKIAogdm9pZCBBc3NlbWJseUhlbHBlcnM6OmppdEFz
c2VydEhhc1ZhbGlkQ2FsbEZyYW1lKCkKQEAgLTE2MCw2ICsxNzUsMTMgQEAgdm9pZCBBc3NlbWJs
eUhlbHBlcnM6OmppdEFzc2VydElzTnVsbChHUFJSZWcgZ3ByKQogICAgIGJyZWFrcG9pbnQoKTsK
ICAgICBjaGVja051bGwubGluayh0aGlzKTsKIH0KKwordm9pZCBBc3NlbWJseUhlbHBlcnM6Ompp
dEFzc2VydEFyZ3VtZW50Q291bnRTYW5lKCkKK3sKKyAgICBKdW1wIG9rID0gYnJhbmNoMzIoQmVs
b3csIHBheWxvYWRGb3IoSlNTdGFjazo6QXJndW1lbnRDb3VudCksIFRydXN0ZWRJbW0zMigxMDAw
MDAwMCkpOworICAgIGJyZWFrcG9pbnQoKTsKKyAgICBvay5saW5rKHRoaXMpOworfQogI2VuZGlm
IC8vICFBU1NFUlRfRElTQUJMRUQKIAogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaAppbmRleCAzNmQ1ODMxMzkxMzQ1NmQ3NDE0
MTA3NTUxODM5N2ZmMmI2ODc0MTliLi42NWNiNzM5YTM1YzY3OTdiMzA2YjNkNWY5MDFlNDU5MjIx
NTVkMjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVs
cGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgK
QEAgLTU4LDggKzU4LDM2IEBAIHB1YmxpYzoKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jaygpIHsg
cmV0dXJuIG1fY29kZUJsb2NrOyB9CiAgICAgVk0qIHZtKCkgeyByZXR1cm4gbV92bTsgfQogICAg
IEFzc2VtYmxlclR5cGVfVCYgYXNzZW1ibGVyKCkgeyByZXR1cm4gbV9hc3NlbWJsZXI7IH0KLSAg
ICAKKworICAgIHZvaWQgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoKQorICAgIHsKKyAgICAg
ICAgLy8gVGhpcyBjaGVjayBpcyBib3RoIHVubmVlZGVkIGFuZCBoYXJkZXIgdG8gd3JpdGUgY29y
cmVjdGx5IGZvciBBUk02NAorI2lmICFkZWZpbmVkKE5ERUJVRykgJiYgIUNQVShBUk02NCkKKyAg
ICAgICAgSnVtcCBzdGFja1BvaW50ZXJBbGlnbmVkID0gYnJhbmNoVGVzdFB0cihaZXJvLCBzdGFj
a1BvaW50ZXJSZWdpc3RlciwgVHJ1c3RlZEltbTMyKDB4ZikpOworICAgICAgICBicmVha3BvaW50
KCk7CisgICAgICAgIHN0YWNrUG9pbnRlckFsaWduZWQubGluayh0aGlzKTsKKyNlbmRpZgorICAg
IH0KKwogI2lmIENQVShYODZfNjQpIHx8IENQVShYODYpCisgICAgc2l6ZV90IHByb2xvZ3VlU3Rh
Y2tQb2ludGVyRGVsdGEoKQorICAgIHsKKyAgICAgICAgLy8gUHJvbG9ndWUgb25seSBzYXZlcyB0
aGUgZnJhbWVQb2ludGVyUmVnaXN0ZXIKKyAgICAgICAgcmV0dXJuIHNpemVvZih2b2lkKik7Cisg
ICAgfQorCisgICAgdm9pZCBlbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpCisgICAgeworICAgICAgICBw
dXNoKGZyYW1lUG9pbnRlclJlZ2lzdGVyKTsKKyAgICAgICAgbW92ZShzdGFja1BvaW50ZXJSZWdp
c3RlciwgZnJhbWVQb2ludGVyUmVnaXN0ZXIpOworICAgIH0KKworICAgIHZvaWQgZW1pdEZ1bmN0
aW9uRXBpbG9ndWUoKQorICAgIHsKKyAgICAgICAgbW92ZShmcmFtZVBvaW50ZXJSZWdpc3Rlciwg
c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgICAgICBwb3AoZnJhbWVQb2ludGVyUmVnaXN0ZXIp
OworICAgIH0KKwogICAgIHZvaWQgcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKEdQUlJl
ZyByZWcpCiAgICAgewogICAgICAgICBwb3AocmVnKTsKQEAgLTc3LDYgKzEwNSwyNCBAQCBwdWJs
aWM6CiAjZW5kaWYgLy8gQ1BVKFg4Nl82NCkgfHwgQ1BVKFg4NikKIAogI2lmIENQVShBUk0pIHx8
IENQVShBUk02NCkKKyAgICBzaXplX3QgcHJvbG9ndWVTdGFja1BvaW50ZXJEZWx0YSgpCisgICAg
eworICAgICAgICAvLyBQcm9sb2d1ZSBzYXZlcyB0aGUgZnJhbWVQb2ludGVyUmVnaXN0ZXIgYW5k
IGxpbmtSZWdpc3RlcgorICAgICAgICByZXR1cm4gMiAqIHNpemVvZih2b2lkKik7CisgICAgfQor
CisgICAgdm9pZCBlbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpCisgICAgeworICAgICAgICBwdXNoUGFp
cihmcmFtZVBvaW50ZXJSZWdpc3RlciwgbGlua1JlZ2lzdGVyKTsKKyAgICAgICAgbW92ZShzdGFj
a1BvaW50ZXJSZWdpc3RlciwgZnJhbWVQb2ludGVyUmVnaXN0ZXIpOworICAgIH0KKworICAgIHZv
aWQgZW1pdEZ1bmN0aW9uRXBpbG9ndWUoKQorICAgIHsKKyAgICAgICAgbW92ZShmcmFtZVBvaW50
ZXJSZWdpc3Rlciwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgICAgICBwb3BQYWlyKGZyYW1l
UG9pbnRlclJlZ2lzdGVyLCBsaW5rUmVnaXN0ZXIpOworICAgIH0KKwogICAgIEFMV0FZU19JTkxJ
TkUgdm9pZCBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwoUmVnaXN0ZXJJRCByZWcpCiAg
ICAgewogICAgICAgICBtb3ZlKGxpbmtSZWdpc3RlciwgcmVnKTsKQEAgLTk0LDYgKzE0MCwxMiBA
QCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIENQVShNSVBTKQorICAgIHNpemVfdCBwcm9sb2d1ZVN0
YWNrUG9pbnRlckRlbHRhKCkKKyAgICB7CisgICAgICAgIC8vIFByb2xvZ3VlIHNhdmVzIHRoZSBm
cmFtZVBvaW50ZXJSZWdpc3RlciBhbmQgcmV0dXJuQWRkcmVzc1JlZ2lzdGVyCisgICAgICAgIHJl
dHVybiAyICogc2l6ZW9mKHZvaWQqKTsKKyAgICB9CisKICAgICBBTFdBWVNfSU5MSU5FIHZvaWQg
cHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKFJlZ2lzdGVySUQgcmVnKQogICAgIHsKICAg
ICAgICAgbW92ZShyZXR1cm5BZGRyZXNzUmVnaXN0ZXIsIHJlZyk7CkBAIC0xMTEsNiArMTYzLDEy
IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgQ1BVKFNINCkKKyAgICBzaXplX3QgcHJvbG9ndWVT
dGFja1BvaW50ZXJEZWx0YSgpCisgICAgeworICAgICAgICAvLyBQcm9sb2d1ZSBzYXZlcyB0aGUg
ZnJhbWVQb2ludGVyUmVnaXN0ZXIgYW5kIGxpbmsgcmVnaXN0ZXIKKyAgICAgICAgcmV0dXJuIDIg
KiBzaXplb2Yodm9pZCopOworICAgIH0KKwogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBwcmVzZXJ2
ZVJldHVybkFkZHJlc3NBZnRlckNhbGwoUmVnaXN0ZXJJRCByZWcpCiAgICAgewogICAgICAgICBt
X2Fzc2VtYmxlci5zdHNwcihyZWcpOwpAQCAtMTUwLDEwICsyMDgsNiBAQCBwdWJsaWM6CiAgICAg
ICAgIHN0b3JlUHRyKGZyb20sIEFkZHJlc3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIENh
bGxGcmFtZTo6Y2FsbGVyRnJhbWVPZmZzZXQoKSkpOwogICAgIH0KIAotICAgIHZvaWQgZW1pdEdl
dFJldHVyblBDRnJvbUNhbGxGcmFtZUhlYWRlclB0cihSZWdpc3RlcklEIHRvKQotICAgIHsKLSAg
ICAgICAgbG9hZFB0cihBZGRyZXNzKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBDYWxsRnJh
bWU6OnJldHVyblBDT2Zmc2V0KCkpLCB0byk7Ci0gICAgfQogICAgIHZvaWQgZW1pdFB1dFJldHVy
blBDVG9DYWxsRnJhbWVIZWFkZXIoUmVnaXN0ZXJJRCBmcm9tKQogICAgIHsKICAgICAgICAgc3Rv
cmVQdHIoZnJvbSwgQWRkcmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgQ2FsbEZyYW1l
OjpyZXR1cm5QQ09mZnNldCgpKSk7CkBAIC0xNjMsNiArMjE3LDI5IEBAIHB1YmxpYzoKICAgICAg
ICAgc3RvcmVQdHIoZnJvbSwgQWRkcmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgQ2Fs
bEZyYW1lOjpyZXR1cm5QQ09mZnNldCgpKSk7CiAgICAgfQogCisgICAgLy8gZW1pdFB1dFRvQ2Fs
bEZyYW1lSGVhZGVyQmVmb3JlUHJvbG9ndWUoKSBhbmQgcmVsYXRlZCBhcmUgdXNlZCB0byBhY2Nl
c3MgY2FsbGVlIGZyYW1lIGhlYWRlcgorICAgIC8vIGZpZWxkcyBiZWZvcmUgdGhlIGNvZGUgZnJv
bSBlbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpIGhhcyBleGVjdXRlZC4KKyAgICAvLyBGaXJzdCwgdGhl
IGFjY2VzcyBpcyB2aWEgdGhlIHN0YWNrIHBvaW50ZXIuIFNlY29uZCwgdGhlIGFkZHJlc3MgY2Fs
Y3VsYXRpb24gbXVzdCBhbHNvIHRha2UKKyAgICAvLyBpbnRvIGFjY291bnQgdGhhdCB0aGUgc3Rh
Y2sgcG9pbnRlciBtYXkgbm90IGhhdmUgYmVlbiBhZGp1c3RlZCBkb3duIGZvciB0aGUgcmV0dXJu
IFBDIGFuZC9vcgorICAgIC8vIGNhbGxlcidzIGZyYW1lIHBvaW50ZXIuIE9uIHNvbWUgcGxhdGZv
cm1zLCB0aGUgY2FsbGVlIGlzIHJlc3BvbnNpYmxlIGZvciBwdXNoaW5nIHRoZQorICAgIC8vICJs
aW5rIHJlZ2lzdGVyIiBjb250YWluaW5nIHRoZSByZXR1cm4gYWRkcmVzcyBpbiB0aGUgZnVuY3Rp
b24gcHJvbG9ndWUuCisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICB2b2lkIGVtaXRQdXRUb0NhbGxG
cmFtZUhlYWRlckJlZm9yZVByb2xvZ3VlKEdQUlJlZyBmcm9tLCBKU1N0YWNrOjpDYWxsRnJhbWVI
ZWFkZXJFbnRyeSBlbnRyeSkKKyAgICB7CisgICAgICAgIHN0b3JlUHRyKGZyb20sIEFkZHJlc3Mo
c3RhY2tQb2ludGVyUmVnaXN0ZXIsIGVudHJ5ICogc3RhdGljX2Nhc3Q8cHRyZGlmZl90PihzaXpl
b2YoUmVnaXN0ZXIpKSAtIHByb2xvZ3VlU3RhY2tQb2ludGVyRGVsdGEoKSkpOworICAgIH0KKyNl
bHNlCisgICAgdm9pZCBlbWl0UHV0UGF5bG9hZFRvQ2FsbEZyYW1lSGVhZGVyQmVmb3JlUHJvbG9n
dWUoR1BSUmVnIGZyb20sIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlckVudHJ5IGVudHJ5KQorICAg
IHsKKyAgICAgICAgc3RvcmVQdHIoZnJvbSwgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3Rlciwg
ZW50cnkgKiBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihSZWdpc3RlcikpIC0gcHJvbG9n
dWVTdGFja1BvaW50ZXJEZWx0YSgpICsgT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2Ny
aXB0b3IsIGFzQml0cy5wYXlsb2FkKSkpOworICAgIH0KKworICAgIHZvaWQgZW1pdFB1dFRhZ1Rv
Q2FsbEZyYW1lSGVhZGVyQmVmb3JlUHJvbG9ndWUoVHJ1c3RlZEltbTMyIHRhZywgSlNTdGFjazo6
Q2FsbEZyYW1lSGVhZGVyRW50cnkgZW50cnkpCisgICAgeworICAgICAgICBzdG9yZVB0cih0YWcs
IEFkZHJlc3Moc3RhY2tQb2ludGVyUmVnaXN0ZXIsIGVudHJ5ICogc3RhdGljX2Nhc3Q8cHRyZGlm
Zl90PihzaXplb2YoUmVnaXN0ZXIpKSAtIHByb2xvZ3VlU3RhY2tQb2ludGVyRGVsdGEoKSArIE9C
SkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMudGFnKSkpOworICAg
IH0KKyNlbmRpZgorCiAgICAgSnVtcCBicmFuY2hJZk5vdENlbGwoR1BSUmVnIHJlZykKICAgICB7
CiAjaWYgVVNFKEpTVkFMVUU2NCkKQEAgLTE5NCw3ICsyNzEsNyBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIEFkZHJlc3MgdGFnRm9yKFZpcnR1YWxSZWdpc3RlciB2aXJ0dWFsUmVnaXN0ZXIpCiAgICAg
ewogICAgICAgICBBU1NFUlQodmlydHVhbFJlZ2lzdGVyLmlzVmFsaWQoKSk7Ci0gICAgICAgIHJl
dHVybiBBZGRyZXNzKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCB2aXJ0dWFsUmVnaXN0ZXIu
b2Zmc2V0KCkgKiBzaXplb2YoUmVnaXN0ZXIpICsgT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1
ZURlc2NyaXB0b3IsIGFzQml0cy50YWcpKTsKKyAgICAgICAgcmV0dXJuIEFkZHJlc3MoR1BSSW5m
bzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIHZpcnR1YWxSZWdpc3Rlci5vZmZzZXQoKSAqIHNpemVvZihS
ZWdpc3RlcikgKyBUYWdPZmZzZXQpOwogICAgIH0KICAgICBzdGF0aWMgQWRkcmVzcyB0YWdGb3Io
aW50IG9wZXJhbmQpCiAgICAgewpAQCAtMjA0LDcgKzI4MSw3IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgQWRkcmVzcyBwYXlsb2FkRm9yKFZpcnR1YWxSZWdpc3RlciB2aXJ0dWFsUmVnaXN0ZXIpCiAg
ICAgewogICAgICAgICBBU1NFUlQodmlydHVhbFJlZ2lzdGVyLmlzVmFsaWQoKSk7Ci0gICAgICAg
IHJldHVybiBBZGRyZXNzKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCB2aXJ0dWFsUmVnaXN0
ZXIub2Zmc2V0KCkgKiBzaXplb2YoUmVnaXN0ZXIpICsgT0JKRUNUX09GRlNFVE9GKEVuY29kZWRW
YWx1ZURlc2NyaXB0b3IsIGFzQml0cy5wYXlsb2FkKSk7CisgICAgICAgIHJldHVybiBBZGRyZXNz
KEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCB2aXJ0dWFsUmVnaXN0ZXIub2Zmc2V0KCkgKiBz
aXplb2YoUmVnaXN0ZXIpICsgUGF5bG9hZE9mZnNldCk7CiAgICAgfQogICAgIHN0YXRpYyBBZGRy
ZXNzIHBheWxvYWRGb3IoaW50IG9wZXJhbmQpCiAgICAgewpAQCAtMjk4LDYgKzM3NSw4IEBAIHB1
YmxpYzoKICAgICB2b2lkIGppdEFzc2VydElzQ2VsbChHUFJSZWcpOwogICAgIHZvaWQgaml0QXNz
ZXJ0SGFzVmFsaWRDYWxsRnJhbWUoKTsKICAgICB2b2lkIGppdEFzc2VydElzTnVsbChHUFJSZWcp
OworICAgIHZvaWQgaml0QXNzZXJ0VGFnc0luUGxhY2UoKTsKKyAgICB2b2lkIGppdEFzc2VydEFy
Z3VtZW50Q291bnRTYW5lKCk7CiAjZWxzZQogICAgIHZvaWQgaml0QXNzZXJ0SXNJbnQzMihHUFJS
ZWcpIHsgfQogICAgIHZvaWQgaml0QXNzZXJ0SXNKU0ludDMyKEdQUlJlZykgeyB9CkBAIC0zMDYs
NiArMzg1LDggQEAgcHVibGljOgogICAgIHZvaWQgaml0QXNzZXJ0SXNDZWxsKEdQUlJlZykgeyB9
CiAgICAgdm9pZCBqaXRBc3NlcnRIYXNWYWxpZENhbGxGcmFtZSgpIHsgfQogICAgIHZvaWQgaml0
QXNzZXJ0SXNOdWxsKEdQUlJlZykgeyB9CisgICAgdm9pZCBqaXRBc3NlcnRUYWdzSW5QbGFjZSgp
IHsgfQorICAgIHZvaWQgaml0QXNzZXJ0QXJndW1lbnRDb3VudFNhbmUoKSB7IH0KICNlbmRpZgog
CiAgICAgLy8gVGhlc2UgbWV0aG9kcyBjb252ZXJ0IGJldHdlZW4gZG91YmxlcywgYW5kIGRvdWJs
ZXMgYm94ZWQgYW5kIEpTVmFsdWVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9DQ2FsbEhlbHBlcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxw
ZXJzLmgKaW5kZXggODM2NTczYmUxZGY4MDc5MmZlODMwMGJiNTAwNzJmOTZhMzJhNDE5MC4uZDRh
NzVlY2EyMTY4MjU3ZWZiZjUwODY4ZGZhNmY5M2IwMjdlNWE0ZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0NDYWxsSGVscGVycy5oCkBAIC05NSw2ICs5NSwxMyBAQCBwdWJsaWM6CiAgICAg
ICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKICAgICB9CiAgICAgCisgICAgQUxXQVlTX0lOTElO
RSB2b2lkIHNldHVwQXJndW1lbnRzKFRydXN0ZWRJbW1QdHIgYXJnMSwgR1BSUmVnIGFyZzIpCisg
ICAgeworICAgICAgICByZXNldENhbGxBcmd1bWVudHMoKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3Vt
ZW50KGFyZzEpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMik7CisgICAgfQorICAgIAog
ICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50cyhHUFJSZWcgYXJnMSwgR1BSUmVn
IGFyZzIsIEdQUlJlZyBhcmczKQogICAgIHsKICAgICAgICAgcmVzZXRDYWxsQXJndW1lbnRzKCk7
CkBAIC05MzksNiArOTQ2LDEyIEBAIHB1YmxpYzoKICAgICAgICAgbW92ZShhcmcxLCBHUFJJbmZv
Ojphcmd1bWVudEdQUjApOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFy
Z3VtZW50cyhUcnVzdGVkSW1tUHRyIGFyZzEsIEdQUlJlZyBhcmcyKQorICAgIHsKKyAgICAgICAg
bW92ZShhcmcyLCBHUFJJbmZvOjphcmd1bWVudEdQUjEpOworICAgICAgICBtb3ZlKGFyZzEsIEdQ
UkluZm86OmFyZ3VtZW50R1BSMCk7CisgICAgfQorICAgIAogICAgIEFMV0FZU19JTkxJTkUgdm9p
ZCBzZXR1cEFyZ3VtZW50cyhHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIpCiAgICAgewogICAgICAg
ICBzZXR1cFR3b1N0dWJBcmdzR1BSPEdQUkluZm86OmFyZ3VtZW50R1BSMCwgR1BSSW5mbzo6YXJn
dW1lbnRHUFIxPihhcmcxLCBhcmcyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9F
eGVjdXRhYmxlQWxsb2NhdG9yLmgKaW5kZXggMDFiZTdjMWFhZWQ2MTM3NTBkNzg5Y2ZlZmU5YTI5
MDMwMTRjYmZjYS4uNTVmOWU3NzQ2NGEwMDkxM2JmMjkyNzBjZmMxYmI2ZTk1NDc0MGNjMiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKQEAg
LTc4LDIxICs3OCw2IEBAIHZvaWQgcmVsZWFzZUV4ZWN1dGFibGVNZW1vcnkoVk0mKTsKIAogc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGppdEFsbG9jYXRpb25HcmFudWxlID0gMzI7CiAKLWlubGluZSBz
aXplX3Qgcm91bmRVcEFsbG9jYXRpb25TaXplKHNpemVfdCByZXF1ZXN0LCBzaXplX3QgZ3JhbnVs
YXJpdHkpCi17Ci0gICAgUkVMRUFTRV9BU1NFUlQoKHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90
Pjo6bWF4KCkgLSBncmFudWxhcml0eSkgPiByZXF1ZXN0KTsKLSAgICAKLSAgICAvLyBSb3VuZCB1
cCB0byBuZXh0IHBhZ2UgYm91bmRhcnkKLSAgICBzaXplX3Qgc2l6ZSA9IHJlcXVlc3QgKyAoZ3Jh
bnVsYXJpdHkgLSAxKTsKLSAgICBzaXplID0gc2l6ZSAmIH4oZ3JhbnVsYXJpdHkgLSAxKTsKLSAg
ICBBU1NFUlQoc2l6ZSA+PSByZXF1ZXN0KTsKLSAgICByZXR1cm4gc2l6ZTsKLX0KLQotfQotCi1u
YW1lc3BhY2UgSlNDIHsKLQogdHlwZWRlZiBXVEY6Ok1ldGFBbGxvY2F0b3JIYW5kbGUgRXhlY3V0
YWJsZU1lbW9yeUhhbmRsZTsKIAogI2lmIEVOQUJMRShBU1NFTUJMRVIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5jcHAKaW5kZXggYzM1MDhiMDFkNzA0NDBkOTliMzIxNzE2Nzc4MzRiNDNhYzgwOGM1
OC4uMjg2MTc0NGEwNWZhZDE5NWM2Mjc1YWE0MDE1MGYzNGJkN2Y4NmRmNCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklULmNwcApAQCAtMzQsNiArMzQsNyBAQAogSlNDOjpNYWNyb0Fzc2VtYmxlclg4
NkNvbW1vbjo6U1NFMkNoZWNrU3RhdGUgSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c19z
c2UyQ2hlY2tTdGF0ZSA9IE5vdENoZWNrZWRTU0UyOwogI2VuZGlmCiAKKyNpbmNsdWRlICJBcml0
eUNoZWNrRmFpbFJldHVyblRodW5rcy5oIgogI2luY2x1ZGUgIkNvZGVCbG9jay5oIgogI2luY2x1
ZGUgIkRGR0NhcGFiaWxpdGllcy5oIgogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCkBAIC00Miwx
MSArNDMsMTMgQEAgSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6U1NFMkNoZWNrU3RhdGUg
SlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c19zc2UKICNpbmNsdWRlICJKU0FycmF5Lmgi
CiAjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkxpbmtCdWZmZXIuaCIKKyNpbmNs
dWRlICJNYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oIgogI2luY2x1ZGUgIk9wZXJhdGlv
bnMuaCIKICNpbmNsdWRlICJSZXBhdGNoQnVmZmVyLmgiCiAjaW5jbHVkZSAiUmVzdWx0VHlwZS5o
IgogI2luY2x1ZGUgIlNhbXBsaW5nVG9vbC5oIgogI2luY2x1ZGUgIlNsb3dQYXRoQ2FsbC5oIgor
I2luY2x1ZGUgIlN0YWNrQWxpZ25tZW50LmgiCiAjaW5jbHVkZSA8d3RmL0NyeXB0b2dyYXBoaWNh
bGx5UmFuZG9tTnVtYmVyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC05OCw2ICsxMDEs
NyBAQCB2b2lkIEpJVDo6ZW1pdEVudGVyT3B0aW1pemF0aW9uQ2hlY2soKQogICAgIEFTU0VSVCgh
bV9ieXRlY29kZU9mZnNldCk7CiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25PcHRpbWl6ZSwg
bV9ieXRlY29kZU9mZnNldCk7CiAgICAgc2tpcE9wdGltaXplLmFwcGVuZChicmFuY2hUZXN0UHRy
KFplcm8sIHJldHVyblZhbHVlR1BSKSk7CisgICAgbW92ZShyZXR1cm5WYWx1ZUdQUjIsIHN0YWNr
UG9pbnRlclJlZ2lzdGVyKTsKICAgICBqdW1wKHJldHVyblZhbHVlR1BSKTsKICAgICBza2lwT3B0
aW1pemUubGluayh0aGlzKTsKIH0KQEAgLTEyOCw2ICsxMzIsOSBAQCB2b2lkIEpJVDo6ZW1pdEVu
dGVyT3B0aW1pemF0aW9uQ2hlY2soKQogCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFz
cygpCiB7CisgICAgaml0QXNzZXJ0VGFnc0luUGxhY2UoKTsKKyAgICBqaXRBc3NlcnRBcmd1bWVu
dENvdW50U2FuZSgpOworICAgIAogICAgIEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbnNCZWdpbiA9
IG1fY29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigpOwogICAgIHVuc2lnbmVkIGluc3Ry
dWN0aW9uQ291bnQgPSBtX2NvZGVCbG9jay0+aW5zdHJ1Y3Rpb25zKCkuc2l6ZSgpOwogCkBAIC00
OTYsOCArNTAzLDcgQEAgQ29tcGlsYXRpb25SZXN1bHQgSklUOjpwcml2YXRlQ29tcGlsZShKSVRD
b21waWxhdGlvbkVmZm9ydCBlZmZvcnQpCiAgICAgaWYgKG1fcmFuZG9tR2VuZXJhdG9yLmdldFVp
bnQzMigpICYgMSkKICAgICAgICAgbm9wKCk7CiAKLSAgICBwcmVzZXJ2ZVJldHVybkFkZHJlc3NB
ZnRlckNhbGwocmVnVDIpOwotICAgIGVtaXRQdXRSZXR1cm5QQ1RvQ2FsbEZyYW1lSGVhZGVyKHJl
Z1QyKTsKKyAgICBlbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpOwogICAgIGVtaXRQdXRJbW1lZGlhdGVU
b0NhbGxGcmFtZUhlYWRlcihtX2NvZGVCbG9jaywgSlNTdGFjazo6Q29kZUJsb2NrKTsKIAogICAg
IExhYmVsIGJlZ2luTGFiZWwodGhpcyk7CkBAIC01MDcsNyArNTEzLDcgQEAgQ29tcGlsYXRpb25S
ZXN1bHQgSklUOjpwcml2YXRlQ29tcGlsZShKSVRDb21waWxhdGlvbkVmZm9ydCBlZmZvcnQpCiAg
ICAgc2FtcGxlSW5zdHJ1Y3Rpb24obV9jb2RlQmxvY2stPmluc3RydWN0aW9ucygpLmJlZ2luKCkp
OwogI2VuZGlmCiAKLSAgICBKdW1wIHN0YWNrQ2hlY2s7CisgICAgSnVtcCBzdGFja092ZXJmbG93
OwogICAgIGlmIChtX2NvZGVCbG9jay0+Y29kZVR5cGUoKSA9PSBGdW5jdGlvbkNvZGUpIHsKICAg
ICAgICAgQVNTRVJUKG1fYnl0ZWNvZGVPZmZzZXQgPT0gKHVuc2lnbmVkKS0xKTsKICAgICAgICAg
aWYgKHNob3VsZEVtaXRQcm9maWxpbmcoKSkgewpAQCAtNTI3LDEyICs1MzMsMTMgQEAgQ29tcGls
YXRpb25SZXN1bHQgSklUOjpwcml2YXRlQ29tcGlsZShKSVRDb21waWxhdGlvbkVmZm9ydCBlZmZv
cnQpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBhZGRQdHIoVHJ1c3RlZElt
bTMyKHZpcnR1YWxSZWdpc3RlckZvckxvY2FsKGZyYW1lUmVnaXN0ZXJDb3VudEZvcihtX2NvZGVC
bG9jaykpLm9mZnNldCgpICogc2l6ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCBy
ZWdUMSk7Ci0gICAgICAgIHN0YWNrQ2hlY2sgPSBicmFuY2hQdHIoQWJvdmUsIEFic29sdXRlQWRk
cmVzcyhtX3ZtLT5hZGRyZXNzT2ZKU1N0YWNrTGltaXQoKSksIHJlZ1QxKTsKKyAgICAgICAgYWRk
UHRyKFRydXN0ZWRJbW0zMihzdGFja1BvaW50ZXJPZmZzZXRGb3IobV9jb2RlQmxvY2spICogc2l6
ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCByZWdUMSk7CisgICAgICAgIHN0YWNr
T3ZlcmZsb3cgPSBicmFuY2hQdHIoQWJvdmUsIEFic29sdXRlQWRkcmVzcyhtX3ZtLT5hZGRyZXNz
T2ZKU1N0YWNrTGltaXQoKSksIHJlZ1QxKTsKICAgICB9CiAKLSAgICBMYWJlbCBmdW5jdGlvbkJv
ZHkgPSBsYWJlbCgpOwotICAgIAorICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoc3RhY2tQb2ludGVy
T2Zmc2V0Rm9yKG1fY29kZUJsb2NrKSAqIHNpemVvZihSZWdpc3RlcikpLCBjYWxsRnJhbWVSZWdp
c3Rlciwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25t
ZW50KCk7CisKICAgICBwcml2YXRlQ29tcGlsZU1haW5QYXNzKCk7CiAgICAgcHJpdmF0ZUNvbXBp
bGVMaW5rUGFzcygpOwogICAgIHByaXZhdGVDb21waWxlU2xvd0Nhc2VzKCk7CkBAIC01NDIsMTgg
KzU0OSwxNSBAQCBDb21waWxhdGlvblJlc3VsdCBKSVQ6OnByaXZhdGVDb21waWxlKEpJVENvbXBp
bGF0aW9uRWZmb3J0IGVmZm9ydCkKIAogICAgIExhYmVsIGFyaXR5Q2hlY2s7CiAgICAgaWYgKG1f
Y29kZUJsb2NrLT5jb2RlVHlwZSgpID09IEZ1bmN0aW9uQ29kZSkgewotICAgICAgICBzdGFja0No
ZWNrLmxpbmsodGhpcyk7CisgICAgICAgIHN0YWNrT3ZlcmZsb3cubGluayh0aGlzKTsKICAgICAg
ICAgbV9ieXRlY29kZU9mZnNldCA9IDA7Ci0gICAgICAgIGNhbGxPcGVyYXRpb25XaXRoQ2FsbEZy
YW1lUm9sbGJhY2tPbkV4Y2VwdGlvbihvcGVyYXRpb25TdGFja0NoZWNrLCBtX2NvZGVCbG9jayk7
Ci0jaWZuZGVmIE5ERUJVRwotICAgICAgICBtX2J5dGVjb2RlT2Zmc2V0ID0gKHVuc2lnbmVkKS0x
OyAvLyBSZXNldCB0aGlzLCBpbiBvcmRlciB0byBndWFyZCBpdHMgdXNlIHdpdGggQVNTRVJUcy4K
LSNlbmRpZgotICAgICAgICBqdW1wKGZ1bmN0aW9uQm9keSk7CisgICAgICAgIGlmIChtYXhGcmFt
ZUV4dGVudEZvclNsb3dQYXRoQ2FsbCkKKyAgICAgICAgICAgIGFkZFB0cihUcnVzdGVkSW1tMzIo
LW1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwor
ICAgICAgICBjYWxsT3BlcmF0aW9uV2l0aENhbGxGcmFtZVJvbGxiYWNrT25FeGNlcHRpb24ob3Bl
cmF0aW9uVGhyb3dTdGFja092ZXJmbG93RXJyb3IsIG1fY29kZUJsb2NrKTsKIAogICAgICAgICBh
cml0eUNoZWNrID0gbGFiZWwoKTsKICAgICAgICAgc3RvcmU4KFRydXN0ZWRJbW0zMigwKSwgJm1f
Y29kZUJsb2NrLT5tX3Nob3VsZEFsd2F5c0JlSW5saW5lZCk7Ci0gICAgICAgIHByZXNlcnZlUmV0
dXJuQWRkcmVzc0FmdGVyQ2FsbChyZWdUMik7Ci0gICAgICAgIGVtaXRQdXRSZXR1cm5QQ1RvQ2Fs
bEZyYW1lSGVhZGVyKHJlZ1QyKTsKKyAgICAgICAgZW1pdEZ1bmN0aW9uUHJvbG9ndWUoKTsKICAg
ICAgICAgZW1pdFB1dEltbWVkaWF0ZVRvQ2FsbEZyYW1lSGVhZGVyKG1fY29kZUJsb2NrLCBKU1N0
YWNrOjpDb2RlQmxvY2spOwogCiAgICAgICAgIGxvYWQzMihwYXlsb2FkRm9yKEpTU3RhY2s6OkFy
Z3VtZW50Q291bnQpLCByZWdUMSk7CkBAIC01NjEsMTAgKzU2NSwxNiBAQCBDb21waWxhdGlvblJl
c3VsdCBKSVQ6OnByaXZhdGVDb21waWxlKEpJVENvbXBpbGF0aW9uRWZmb3J0IGVmZm9ydCkKIAog
ICAgICAgICBtX2J5dGVjb2RlT2Zmc2V0ID0gMDsKIAorICAgICAgICBpZiAobWF4RnJhbWVFeHRl
bnRGb3JTbG93UGF0aENhbGwpCisgICAgICAgICAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKC1tYXhG
cmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCksIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKICAgICAg
ICAgY2FsbE9wZXJhdGlvbldpdGhDYWxsRnJhbWVSb2xsYmFja09uRXhjZXB0aW9uKG1fY29kZUJs
b2NrLT5tX2lzQ29uc3RydWN0b3IgPyBvcGVyYXRpb25Db25zdHJ1Y3RBcml0eUNoZWNrIDogb3Bl
cmF0aW9uQ2FsbEFyaXR5Q2hlY2spOworICAgICAgICBpZiAobWF4RnJhbWVFeHRlbnRGb3JTbG93
UGF0aENhbGwpCisgICAgICAgICAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKG1heEZyYW1lRXh0ZW50
Rm9yU2xvd1BhdGhDYWxsKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogICAgICAgICBpZiAocmV0
dXJuVmFsdWVHUFIgIT0gcmVnVDApCiAgICAgICAgICAgICBtb3ZlKHJldHVyblZhbHVlR1BSLCBy
ZWdUMCk7CiAgICAgICAgIGJyYW5jaFRlc3QzMihaZXJvLCByZWdUMCkubGlua1RvKGJlZ2luTGFi
ZWwsIHRoaXMpOworICAgICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIobV92bS0+YXJpdHlDaGVja0Zh
aWxSZXR1cm5UaHVua3MtPnJldHVyblBDc0ZvcigqbV92bSwgbV9jb2RlQmxvY2stPm51bVBhcmFt
ZXRlcnMoKSkpLCByZWdUNSk7CisgICAgICAgIGxvYWRQdHIoQmFzZUluZGV4KHJlZ1Q1LCByZWdU
MCwgdGltZXNQdHIoKSksIHJlZ1Q1KTsKICAgICAgICAgZW1pdE5ha2VkQ2FsbChtX3ZtLT5nZXRD
VElTdHViKGFyaXR5Rml4dXApLmNvZGUoKSk7CiAKICNpZiAhQVNTRVJUX0RJU0FCTEVECkBAIC02
NTMsMjAgKzY2MywxMiBAQCBDb21waWxhdGlvblJlc3VsdCBKSVQ6OnByaXZhdGVDb21waWxlKEpJ
VENvbXBpbGF0aW9uRWZmb3J0IGVmZm9ydCkKICAgICAgICAgaW5mby5jYWxsZWVHUFIgPSByZWdU
MDsKICAgICB9CiAKLSNpZiBFTkFCTEUoREZHX0pJVCkgfHwgRU5BQkxFKExMSU5UKQotICAgIGlm
IChjYW5CZU9wdGltaXplZE9ySW5saW5lZCgpCi0jaWYgRU5BQkxFKExMSU5UKQotICAgICAgICB8
fCB0cnVlCi0jZW5kaWYKLSAgICAgICAgKSB7Ci0gICAgICAgIENvbXBhY3RKSVRDb2RlTWFwOjpF
bmNvZGVyIGppdENvZGVNYXBFbmNvZGVyOwotICAgICAgICBmb3IgKHVuc2lnbmVkIGJ5dGVjb2Rl
T2Zmc2V0ID0gMDsgYnl0ZWNvZGVPZmZzZXQgPCBtX2xhYmVscy5zaXplKCk7ICsrYnl0ZWNvZGVP
ZmZzZXQpIHsKLSAgICAgICAgICAgIGlmIChtX2xhYmVsc1tieXRlY29kZU9mZnNldF0uaXNTZXQo
KSkKLSAgICAgICAgICAgICAgICBqaXRDb2RlTWFwRW5jb2Rlci5hcHBlbmQoYnl0ZWNvZGVPZmZz
ZXQsIHBhdGNoQnVmZmVyLm9mZnNldE9mKG1fbGFiZWxzW2J5dGVjb2RlT2Zmc2V0XSkpOwotICAg
ICAgICB9Ci0gICAgICAgIG1fY29kZUJsb2NrLT5zZXRKSVRDb2RlTWFwKGppdENvZGVNYXBFbmNv
ZGVyLmZpbmlzaCgpKTsKKyAgICBDb21wYWN0SklUQ29kZU1hcDo6RW5jb2RlciBqaXRDb2RlTWFw
RW5jb2RlcjsKKyAgICBmb3IgKHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0ID0gMDsgYnl0ZWNvZGVP
ZmZzZXQgPCBtX2xhYmVscy5zaXplKCk7ICsrYnl0ZWNvZGVPZmZzZXQpIHsKKyAgICAgICAgaWYg
KG1fbGFiZWxzW2J5dGVjb2RlT2Zmc2V0XS5pc1NldCgpKQorICAgICAgICAgICAgaml0Q29kZU1h
cEVuY29kZXIuYXBwZW5kKGJ5dGVjb2RlT2Zmc2V0LCBwYXRjaEJ1ZmZlci5vZmZzZXRPZihtX2xh
YmVsc1tieXRlY29kZU9mZnNldF0pKTsKICAgICB9Ci0jZW5kaWYKKyAgICBtX2NvZGVCbG9jay0+
c2V0SklUQ29kZU1hcChqaXRDb2RlTWFwRW5jb2Rlci5maW5pc2goKSk7CiAKICAgICBNYWNyb0Fz
c2VtYmxlckNvZGVQdHIgd2l0aEFyaXR5Q2hlY2s7CiAgICAgaWYgKG1fY29kZUJsb2NrLT5jb2Rl
VHlwZSgpID09IEZ1bmN0aW9uQ29kZSkKQEAgLTY4Nyw4ICs2ODksNyBAQCBDb21waWxhdGlvblJl
c3VsdCBKSVQ6OnByaXZhdGVDb21waWxlKEpJVENvbXBpbGF0aW9uRWZmb3J0IGVmZm9ydCkKICAg
ICAKICAgICBtX2NvZGVCbG9jay0+c2hyaW5rVG9GaXQoQ29kZUJsb2NrOjpMYXRlU2hyaW5rKTsK
ICAgICBtX2NvZGVCbG9jay0+c2V0SklUQ29kZSgKLSAgICAgICAgYWRvcHRSZWYobmV3IERpcmVj
dEpJVENvZGUocmVzdWx0LCBKSVRDb2RlOjpCYXNlbGluZUpJVCkpLAotICAgICAgICB3aXRoQXJp
dHlDaGVjayk7CisgICAgICAgIGFkb3B0UmVmKG5ldyBEaXJlY3RKSVRDb2RlKHJlc3VsdCwgd2l0
aEFyaXR5Q2hlY2ssIEpJVENvZGU6OkJhc2VsaW5lSklUKSkpOwogICAgIAogI2lmIEVOQUJMRShK
SVRfVkVSQk9TRSkKICAgICBkYXRhTG9nRigiSklUIGdlbmVyYXRlZCBjb2RlIGZvciAlcCBhdCBb
JXAsICVwKS5cbiIsIG1fY29kZUJsb2NrLCByZXN1bHQuZXhlY3V0YWJsZU1lbW9yeSgpLT5zdGFy
dCgpLCByZXN1bHQuZXhlY3V0YWJsZU1lbW9yeSgpLT5lbmQoKSk7CkBAIC02OTcsNDIgKzY5OCw2
IEBAIENvbXBpbGF0aW9uUmVzdWx0IEpJVDo6cHJpdmF0ZUNvbXBpbGUoSklUQ29tcGlsYXRpb25F
ZmZvcnQgZWZmb3J0KQogICAgIHJldHVybiBDb21waWxhdGlvblN1Y2Nlc3NmdWw7CiB9CiAKLXZv
aWQgSklUOjpsaW5rRm9yKEV4ZWNTdGF0ZSogZXhlYywgSlNGdW5jdGlvbiogY2FsbGVlLCBDb2Rl
QmxvY2sqIGNhbGxlckNvZGVCbG9jaywgQ29kZUJsb2NrKiBjYWxsZWVDb2RlQmxvY2ssIEpJVDo6
Q29kZVB0ciBjb2RlLCBDYWxsTGlua0luZm8qIGNhbGxMaW5rSW5mbywgVk0qIHZtLCBDb2RlU3Bl
Y2lhbGl6YXRpb25LaW5kIGtpbmQpCi17Ci0gICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVy
KGNhbGxlckNvZGVCbG9jayk7Ci0KLSAgICBBU1NFUlQoIWNhbGxMaW5rSW5mby0+aXNMaW5rZWQo
KSk7Ci0gICAgY2FsbExpbmtJbmZvLT5jYWxsZWUuc2V0KCp2bSwgY2FsbExpbmtJbmZvLT5ob3RQ
YXRoQmVnaW4sIGNhbGxlckNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCksIGNhbGxlZSk7Ci0g
ICAgY2FsbExpbmtJbmZvLT5sYXN0U2VlbkNhbGxlZS5zZXQoKnZtLCBjYWxsZXJDb2RlQmxvY2st
Pm93bmVyRXhlY3V0YWJsZSgpLCBjYWxsZWUpOwotICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGNh
bGxMaW5rSW5mby0+aG90UGF0aE90aGVyLCBjb2RlKTsKLQotICAgIGlmIChjYWxsZWVDb2RlQmxv
Y2spCi0gICAgICAgIGNhbGxlZUNvZGVCbG9jay0+bGlua0luY29taW5nQ2FsbChleGVjLCBjYWxs
TGlua0luZm8pOwotCi0gICAgLy8gUGF0Y2ggdGhlIHNsb3cgcGF0Y2ggc28gd2UgZG8gbm90IGNv
bnRpbnVlIHRvIHRyeSB0byBsaW5rLgotICAgIGlmIChraW5kID09IENvZGVGb3JDYWxsKSB7Ci0g
ICAgICAgIEFTU0VSVChjYWxsTGlua0luZm8tPmNhbGxUeXBlID09IENhbGxMaW5rSW5mbzo6Q2Fs
bAotICAgICAgICAgICAgICAgfHwgY2FsbExpbmtJbmZvLT5jYWxsVHlwZSA9PSBDYWxsTGlua0lu
Zm86OkNhbGxWYXJhcmdzKTsKLSAgICAgICAgaWYgKGNhbGxMaW5rSW5mby0+Y2FsbFR5cGUgPT0g
Q2FsbExpbmtJbmZvOjpDYWxsKSB7Ci0gICAgICAgICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhj
YWxsTGlua0luZm8tPmNhbGxSZXR1cm5Mb2NhdGlvbiwgdm0tPmdldENUSVN0dWIobGlua0Nsb3N1
cmVDYWxsVGh1bmtHZW5lcmF0b3IpLmNvZGUoKSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIH0KLQotICAgICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhjYWxsTGlua0luZm8tPmNhbGxS
ZXR1cm5Mb2NhdGlvbiwgdm0tPmdldENUSVN0dWIodmlydHVhbENhbGxUaHVua0dlbmVyYXRvciku
Y29kZSgpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIEFTU0VSVChraW5kID09IENv
ZGVGb3JDb25zdHJ1Y3QpOwotICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGNhbGxMaW5rSW5mby0+
Y2FsbFJldHVybkxvY2F0aW9uLCB2bS0+Z2V0Q1RJU3R1Yih2aXJ0dWFsQ29uc3RydWN0VGh1bmtH
ZW5lcmF0b3IpLmNvZGUoKSk7Ci19Ci0KLXZvaWQgSklUOjpsaW5rU2xvd0NhbGwoQ29kZUJsb2Nr
KiBjYWxsZXJDb2RlQmxvY2ssIENhbGxMaW5rSW5mbyogY2FsbExpbmtJbmZvKQotewotICAgIFJl
cGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihjYWxsZXJDb2RlQmxvY2spOwotCi0gICAgcmVwYXRj
aEJ1ZmZlci5yZWxpbmsoY2FsbExpbmtJbmZvLT5jYWxsUmV0dXJuTG9jYXRpb24sIGNhbGxlckNv
ZGVCbG9jay0+dm0oKS0+Z2V0Q1RJU3R1Yih2aXJ0dWFsQ2FsbFRodW5rR2VuZXJhdG9yKS5jb2Rl
KCkpOwotfQotCiB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVFeGNlcHRpb25IYW5kbGVycygpCiB7
CiAgICAgaWYgKG1fZXhjZXB0aW9uQ2hlY2tzLmVtcHR5KCkgJiYgbV9leGNlcHRpb25DaGVja3NX
aXRoQ2FsbEZyYW1lUm9sbGJhY2suZW1wdHkoKSkKQEAgLTc0Miw3ICs3MDcsNyBAQCB2b2lkIEpJ
VDo6cHJpdmF0ZUNvbXBpbGVFeGNlcHRpb25IYW5kbGVycygpCiAKICAgICBpZiAoIW1fZXhjZXB0
aW9uQ2hlY2tzV2l0aENhbGxGcmFtZVJvbGxiYWNrLmVtcHR5KCkpIHsKICAgICAgICAgbV9leGNl
cHRpb25DaGVja3NXaXRoQ2FsbEZyYW1lUm9sbGJhY2subGluayh0aGlzKTsKLSAgICAgICAgZW1p
dEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRlclB0cihHUFJJbmZvOjphcmd1bWVudEdQ
UjApOworICAgICAgICBlbWl0R2V0Q2FsbGVyRnJhbWVGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEdQ
UkluZm86OmFyZ3VtZW50R1BSMSk7CiAgICAgICAgIGRvTG9va3VwID0ganVtcCgpOwogICAgIH0K
IApAQCAtNzUwLDE5ICs3MTUsMzMgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlRXhjZXB0aW9u
SGFuZGxlcnMoKQogICAgICAgICBtX2V4Y2VwdGlvbkNoZWNrcy5saW5rKHRoaXMpOwogICAgIAog
ICAgIC8vIGxvb2t1cEV4Y2VwdGlvbkhhbmRsZXIgaXMgcGFzc2VkIG9uZSBhcmd1bWVudCwgdGhl
IGV4ZWMgKHRoZSBDYWxsRnJhbWUqKS4KLSAgICBtb3ZlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lz
dGVyLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOworICAgIG1vdmUoR1BSSW5mbzo6Y2FsbEZyYW1l
UmVnaXN0ZXIsIEdQUkluZm86OmFyZ3VtZW50R1BSMSk7CiAKICAgICBpZiAoZG9Mb29rdXAuaXNT
ZXQoKSkKICAgICAgICAgZG9Mb29rdXAubGluayh0aGlzKTsKIAorICAgIG1vdmUoVHJ1c3RlZElt
bVB0cih2bSgpKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKKwogI2lmIENQVShYODYpCiAgICAg
Ly8gRklYTUU6IHNob3VsZCB1c2UgdGhlIGNhbGwgYWJzdHJhY3Rpb24sIGJ1dCB0aGlzIGlzIGN1
cnJlbnRseSBpbiB0aGUgU3BlY3VsYXRpdmVKSVQgbGF5ZXIhCiAgICAgcG9rZShHUFJJbmZvOjph
cmd1bWVudEdQUjApOworICAgIHBva2UoR1BSSW5mbzo6YXJndW1lbnRHUFIxLCAxKTsKICNlbmRp
ZgogICAgIG1fY2FsbHMuYXBwZW5kKENhbGxSZWNvcmQoY2FsbCgpLCAodW5zaWduZWQpLTEsIEZ1
bmN0aW9uUHRyKGxvb2t1cEV4Y2VwdGlvbkhhbmRsZXIpLnZhbHVlKCkpKTsKICAgICBqdW1wVG9F
eGNlcHRpb25IYW5kbGVyKCk7CiB9CiAKK3Vuc2lnbmVkIEpJVDo6ZnJhbWVSZWdpc3RlckNvdW50
Rm9yKENvZGVCbG9jayogY29kZUJsb2NrKQoreworICAgIEFTU0VSVChzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oY29kZUJsb2NrLT5tX251bUNhbGxlZVJlZ2lzdGVycykgPT0gV1RGOjpyb3VuZFVwVG9N
dWx0aXBsZU9mKHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCksIHN0YXRpY19jYXN0PHVuc2lnbmVk
Pihjb2RlQmxvY2stPm1fbnVtQ2FsbGVlUmVnaXN0ZXJzKSkpOworCisgICAgcmV0dXJuIHJvdW5k
TG9jYWxSZWdpc3RlckNvdW50Rm9yRnJhbWVQb2ludGVyT2Zmc2V0KGNvZGVCbG9jay0+bV9udW1D
YWxsZWVSZWdpc3RlcnMgKyBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbEluUmVnaXN0ZXJz
KTsKK30KKworaW50IEpJVDo6c3RhY2tQb2ludGVyT2Zmc2V0Rm9yKENvZGVCbG9jayogY29kZUJs
b2NrKQoreworICAgIHJldHVybiB2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChmcmFtZVJlZ2lzdGVy
Q291bnRGb3IoY29kZUJsb2NrKSAtIDEpLm9mZnNldCgpOworfQogCiB9IC8vIG5hbWVzcGFjZSBK
U0MKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggMjk4MDc1NzA2MWI2YzliZmQyZTdiM2Ix
NTM1MzgzMzgyZWM2NmI2Yy4uZmU4NTAzZTc5NDg4Y2I3ZGFiOGY4ZDRhYzQzNjAyYjMwNGMzNTJk
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC0yNDEsMTMgKzI0MSw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICAgICAgcmV0dXJuIGppdC5wcml2YXRlQ29tcGlsZUNUSU5hdGl2ZUNh
bGwodm0sIGZ1bmMpOwogICAgICAgICB9CiAKLSAgICAgICAgc3RhdGljIHZvaWQgbGlua0ZvcihF
eGVjU3RhdGUqLCBKU0Z1bmN0aW9uKiBjYWxsZWUsIENvZGVCbG9jayogY2FsbGVyQ29kZUJsb2Nr
LCBDb2RlQmxvY2sqIGNhbGxlZUNvZGVCbG9jaywgQ29kZVB0ciwgQ2FsbExpbmtJbmZvKiwgVk0q
LCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kKTsKLSAgICAgICAgc3RhdGljIHZvaWQgbGlua1Nsb3dD
YWxsKENvZGVCbG9jayogY2FsbGVyQ29kZUJsb2NrLCBDYWxsTGlua0luZm8qKTsKLSAgICAgICAg
Ci0gICAgICAgIHN0YXRpYyB1bnNpZ25lZCBmcmFtZVJlZ2lzdGVyQ291bnRGb3IoQ29kZUJsb2Nr
KiBjb2RlQmxvY2spCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBjb2RlQmxvY2stPm1f
bnVtQ2FsbGVlUmVnaXN0ZXJzOwotICAgICAgICB9CisgICAgICAgIHN0YXRpYyB1bnNpZ25lZCBm
cmFtZVJlZ2lzdGVyQ291bnRGb3IoQ29kZUJsb2NrKik7CisgICAgICAgIHN0YXRpYyBpbnQgc3Rh
Y2tQb2ludGVyT2Zmc2V0Rm9yKENvZGVCbG9jayopOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAg
SklUKFZNKiwgQ29kZUJsb2NrKiA9IDApOwpAQCAtNjk3LDExICs2OTIsMTEgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oV2l0aFBy
b2ZpbGVUYWcsIEpfSklUT3BlcmF0aW9uX0VQYywgaW50LCBJbnN0cnVjdGlvbiopOwogICAgICAg
ICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VaLCBp
bnQsIGludDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KFBfSklUT3BlcmF0aW9uX0VKUywgR1BSUmVnLCBzaXplX3QpOwotICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFBfSklUT3BlcmF0aW9uX0VaLCBpbnQzMl90KTsKICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihTX0pJVE9wZXJhdGlvbl9F
Q0MsIFJlZ2lzdGVySUQsIFJlZ2lzdGVySUQpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2Fs
bCBjYWxsT3BlcmF0aW9uKFNfSklUT3BlcmF0aW9uX0VKLCBSZWdpc3RlcklEKTsKICAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihTX0pJVE9wZXJhdGlvbl9FSkosIFJl
Z2lzdGVySUQsIFJlZ2lzdGVySUQpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKFNfSklUT3BlcmF0aW9uX0VPSnNzLCBSZWdpc3RlcklELCBSZWdpc3RlcklEKTsK
KyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihTcHJ0X0pJVE9wZXJh
dGlvbl9FWiwgaW50MzJfdCk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oVl9KSVRPcGVyYXRpb25fRSk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNh
bGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRUMsIFJlZ2lzdGVySUQpOwogICAgICAgICBNYWNy
b0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VDQywgUmVnaXN0
ZXJJRCwgUmVnaXN0ZXJJRCk7CkBAIC03MjYsNiArNzIxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25f
RVBjLCBJbnN0cnVjdGlvbiopOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3Bl
cmF0aW9uKFZfSklUT3BlcmF0aW9uX0VaLCBpbnQzMl90KTsKICAgICAgICAgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbldpdGhDYWxsRnJhbWVSb2xsYmFja09uRXhjZXB0aW9uKEpf
SklUT3BlcmF0aW9uX0UpOworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0
aW9uTm9FeGNlcHRpb25DaGVjayhKX0pJVE9wZXJhdGlvbl9FRSwgUmVnaXN0ZXJJRCk7CiAgICAg
ICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb25XaXRoQ2FsbEZyYW1lUm9sbGJh
Y2tPbkV4Y2VwdGlvbihWX0pJVE9wZXJhdGlvbl9FQ2IsIENvZGVCbG9jayopOwogICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uV2l0aENhbGxGcmFtZVJvbGxiYWNrT25F
eGNlcHRpb24oWl9KSVRPcGVyYXRpb25fRSk7CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwCmluZGV4IDkwYzJlNGZiOTJmMDlkODMyZWQzYTk2
ZmVjYmYyNzM0MDg3N2NhZWQuLmFlZjY3MmIxY2YwM2ExM2Y5M2RlYTUzNWYzNGZkMGJmNmI5Njc3
MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcApAQCAtMzksNiArMzksNyBA
QAogI2luY2x1ZGUgIlJlcGF0Y2hCdWZmZXIuaCIKICNpbmNsdWRlICJSZXN1bHRUeXBlLmgiCiAj
aW5jbHVkZSAiU2FtcGxpbmdUb29sLmgiCisjaW5jbHVkZSAiU3RhY2tBbGlnbm1lbnQuaCIKICNp
bmNsdWRlICJUaHVua0dlbmVyYXRvcnMuaCIKICNpbmNsdWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJl
YW0uaD4KIApAQCAtNzEsMTAgKzcyLDE0IEBAIHZvaWQgSklUOjpjb21waWxlTG9hZFZhcmFyZ3Mo
SW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQogICAgICAgICBlbWl0R2V0RnJvbUNhbGxGcmFtZUhl
YWRlcjMyKEpTU3RhY2s6OkFyZ3VtZW50Q291bnQsIHJlZ1QwKTsKICAgICAgICAgc2xvd0Nhc2Uu
YXBwZW5kKGJyYW5jaDMyKEFib3ZlLCByZWdUMCwgVHJ1c3RlZEltbTMyKEFyZ3VtZW50czo6TWF4
QXJndW1lbnRzICsgMSkpKTsKICAgICAgICAgLy8gcmVnVDA6IGFyZ3VtZW50Q291bnRJbmNsdWRp
bmdUaGlzCi0KICAgICAgICAgbW92ZShyZWdUMCwgcmVnVDEpOworICAgICAgICBhZGQ2NChUcnVz
dGVkSW1tMzIoLWZpcnN0RnJlZVJlZ2lzdGVyICsgSlNTdGFjazo6Q2FsbEZyYW1lSGVhZGVyU2l6
ZSksIHJlZ1QxKTsKKyAgICAgICAgLy8gcmVnVDEgbm93IGhhcyB0aGUgcmVxdWlyZWQgZnJhbWUg
c2l6ZSBpbiBSZWdpc3RlciB1bml0cworICAgICAgICAvLyBSb3VuZCByZWdUMSB0byBuZXh0IG11
bHRpcGxlIG9mIHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCkKKyAgICAgICAgYWRkNjQoVHJ1c3Rl
ZEltbTMyKHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCkgLSAxKSwgcmVnVDEpOworICAgICAgICBh
bmQ2NChUcnVzdGVkSW1tMzIofihzdGFja0FsaWdubWVudFJlZ2lzdGVycygpIC0gMSkpLCByZWdU
MSk7CisKICAgICAgICAgbmVnNjQocmVnVDEpOwotICAgICAgICBhZGQ2NChUcnVzdGVkSW1tMzIo
Zmlyc3RGcmVlUmVnaXN0ZXIgLSBKU1N0YWNrOjpDYWxsRnJhbWVIZWFkZXJTaXplKSwgcmVnVDEp
OwogICAgICAgICBsc2hpZnQ2NChUcnVzdGVkSW1tMzIoMyksIHJlZ1QxKTsKICAgICAgICAgYWRk
UHRyKGNhbGxGcmFtZVJlZ2lzdGVyLCByZWdUMSk7CiAgICAgICAgIC8vIHJlZ1QxOiBuZXdDYWxs
RnJhbWUKQEAgLTEwNSw3ICsxMTAsOCBAQCB2b2lkIEpJVDo6Y29tcGlsZUxvYWRWYXJhcmdzKElu
c3RydWN0aW9uKiBpbnN0cnVjdGlvbikKICAgICAgICAgc2xvd0Nhc2UubGluayh0aGlzKTsKIAog
ICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoYXJndW1lbnRzLCByZWdUMSk7Ci0gICAgY2FsbE9w
ZXJhdGlvbihvcGVyYXRpb25TaXplQW5kQWxsb2NGcmFtZUZvclZhcmFyZ3MsIHJlZ1QxLCBmaXJz
dEZyZWVSZWdpc3Rlcik7CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25TaXplRnJhbWVGb3JW
YXJhcmdzLCByZWdUMSwgZmlyc3RGcmVlUmVnaXN0ZXIpOworICAgIG1vdmUocmV0dXJuVmFsdWVH
UFIsIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHRo
aXNWYWx1ZSwgcmVnVDEpOwogICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoYXJndW1lbnRzLCBy
ZWdUMik7CiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25Mb2FkVmFyYXJncywgcmV0dXJuVmFs
dWVHUFIsIHJlZ1QxLCByZWdUMik7CkBAIC0xMTMsMTMgKzExOSwyNCBAQCB2b2lkIEpJVDo6Y29t
cGlsZUxvYWRWYXJhcmdzKEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbikKIAogICAgIGlmIChjYW5P
cHRpbWl6ZSkKICAgICAgICAgZW5kLmxpbmsodGhpcyk7CisgICAgCisgICAgYWRkUHRyKFRydXN0
ZWRJbW0zMihzaXplb2YoQ2FsbGVyRnJhbWVBbmRQQykpLCByZWdUMSwgc3RhY2tQb2ludGVyUmVn
aXN0ZXIpOwogfQogCiB2b2lkIEpJVDo6Y29tcGlsZUNhbGxFdmFsKEluc3RydWN0aW9uKiBpbnN0
cnVjdGlvbikKIHsKLSAgICBjYWxsT3BlcmF0aW9uV2l0aENhbGxGcmFtZVJvbGxiYWNrT25FeGNl
cHRpb24ob3BlcmF0aW9uQ2FsbEV2YWwpOworICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoLXN0YXRp
Y19jYXN0PHB0cmRpZmZfdD4oc2l6ZW9mKENhbGxlckZyYW1lQW5kUEMpKSksIHN0YWNrUG9pbnRl
clJlZ2lzdGVyLCByZWdUMSk7CisgICAgY2FsbE9wZXJhdGlvbk5vRXhjZXB0aW9uQ2hlY2sob3Bl
cmF0aW9uQ2FsbEV2YWwsIHJlZ1QxKTsKKworICAgIEp1bXAgbm9FeGNlcHRpb24gPSBlbWl0RXhj
ZXB0aW9uQ2hlY2soSW52ZXJ0ZWRFeGNlcHRpb25DaGVjayk7CisgICAgYWRkUHRyKFRydXN0ZWRJ
bW0zMihzdGFja1BvaW50ZXJPZmZzZXRGb3IobV9jb2RlQmxvY2spICogc2l6ZW9mKFJlZ2lzdGVy
KSksIGNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7ICAgIAorICAgIGV4
Y2VwdGlvbkNoZWNrKGp1bXAoKSk7CisKKyAgICBub0V4Y2VwdGlvbi5saW5rKHRoaXMpOwogICAg
IGFkZFNsb3dDYXNlKGJyYW5jaDY0KEVxdWFsLCByZWdUMCwgVHJ1c3RlZEltbTY0KEpTVmFsdWU6
OmVuY29kZShKU1ZhbHVlKCkpKSkpOwotICAgIGVtaXRHZXRDYWxsZXJGcmFtZUZyb21DYWxsRnJh
bWVIZWFkZXJQdHIoY2FsbEZyYW1lUmVnaXN0ZXIpOworCisgICAgYWRkUHRyKFRydXN0ZWRJbW0z
MihzdGFja1BvaW50ZXJPZmZzZXRGb3IobV9jb2RlQmxvY2spICogc2l6ZW9mKFJlZ2lzdGVyKSks
IGNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgY2hlY2tTdGFj
a1BvaW50ZXJBbGlnbm1lbnQoKTsKIAogICAgIHNhbXBsZUNvZGVCbG9jayhtX2NvZGVCbG9jayk7
CiAgICAgCkBAIC0xMzAsOCArMTQ3LDEwIEBAIHZvaWQgSklUOjpjb21waWxlQ2FsbEV2YWxTbG93
Q2FzZShJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24sIFZlY3RvcjxTbG93Q2FzZUVudHJ5CiB7CiAg
ICAgbGlua1Nsb3dDYXNlKGl0ZXIpOwogCi0gICAgZW1pdEdldEZyb21DYWxsRnJhbWVIZWFkZXI2
NChKU1N0YWNrOjpDYWxsZWUsIHJlZ1QwKTsKKyAgICBsb2FkNjQoQWRkcmVzcyhzdGFja1BvaW50
ZXJSZWdpc3Rlciwgc2l6ZW9mKFJlZ2lzdGVyKSAqIEpTU3RhY2s6OkNhbGxlZSAtIHNpemVvZihD
YWxsZXJGcmFtZUFuZFBDKSksIHJlZ1QwKTsKICAgICBlbWl0TmFrZWRDYWxsKG1fdm0tPmdldENU
SVN0dWIodmlydHVhbENhbGxUaHVua0dlbmVyYXRvcikuY29kZSgpKTsKKyAgICBhZGRQdHIoVHJ1
c3RlZEltbTMyKHN0YWNrUG9pbnRlck9mZnNldEZvcihtX2NvZGVCbG9jaykgKiBzaXplb2YoUmVn
aXN0ZXIpKSwgY2FsbEZyYW1lUmVnaXN0ZXIsIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKyAgICBj
aGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwogCiAgICAgc2FtcGxlQ29kZUJsb2NrKG1fY29k
ZUJsb2NrKTsKICAgICAKQEAgLTE3MCwxOCArMTg5LDE2IEBAIHZvaWQgSklUOjpjb21waWxlT3BD
YWxsKE9wY29kZUlEIG9wY29kZUlELCBJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24sIHVuc2lnbmVk
IGNhCiAgICAgICAgICAgICBkb25lLmxpbmsodGhpcyk7CiAgICAgICAgIH0KICAgICAKLSAgICAg
ICAgYWRkUHRyKFRydXN0ZWRJbW0zMihyZWdpc3Rlck9mZnNldCAqIHNpemVvZihSZWdpc3Rlcikp
LCBjYWxsRnJhbWVSZWdpc3RlciwgcmVnVDEpOwotICAgICAgICBzdG9yZTMyKFRydXN0ZWRJbW0z
MihhcmdDb3VudCksIEFkZHJlc3MocmVnVDEsIEpTU3RhY2s6OkFyZ3VtZW50Q291bnQgKiBzdGF0
aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpICsgT0JKRUNUX09GRlNFVE9GKEVuY29kZWRW
YWx1ZURlc2NyaXB0b3IsIGFzQml0cy5wYXlsb2FkKSkpOwotICAgIH0gLy8gcmVnVDEgaG9sZHMg
bmV3Q2FsbEZyYW1lIHdpdGggQXJndW1lbnRDb3VudCBpbml0aWFsaXplZC4KKyAgICAgICAgYWRk
UHRyKFRydXN0ZWRJbW0zMihyZWdpc3Rlck9mZnNldCAqIHNpemVvZihSZWdpc3RlcikgKyBzaXpl
b2YoQ2FsbGVyRnJhbWVBbmRQQykpLCBjYWxsRnJhbWVSZWdpc3Rlciwgc3RhY2tQb2ludGVyUmVn
aXN0ZXIpOworICAgICAgICBzdG9yZTMyKFRydXN0ZWRJbW0zMihhcmdDb3VudCksIEFkZHJlc3Mo
c3RhY2tQb2ludGVyUmVnaXN0ZXIsIEpTU3RhY2s6OkFyZ3VtZW50Q291bnQgKiBzdGF0aWNfY2Fz
dDxpbnQ+KHNpemVvZihSZWdpc3RlcikpICsgUGF5bG9hZE9mZnNldCAtIHNpemVvZihDYWxsZXJG
cmFtZUFuZFBDKSkpOworICAgIH0gLy8gU1AgaG9sZHMgbmV3Q2FsbEZyYW1lICsgc2l6ZW9mKENh
bGxlckZyYW1lQW5kUEMpLCB3aXRoIEFyZ3VtZW50Q291bnQgaW5pdGlhbGl6ZWQuCiAgICAgCiAg
ICAgdWludDMyX3QgYnl0ZWNvZGVPZmZzZXQgPSBpbnN0cnVjdGlvbiAtIG1fY29kZUJsb2NrLT5p
bnN0cnVjdGlvbnMoKS5iZWdpbigpOwogICAgIHVpbnQzMl90IGxvY2F0aW9uQml0cyA9IENhbGxG
cmFtZTo6TG9jYXRpb246OmVuY29kZUFzQnl0ZWNvZGVPZmZzZXQoYnl0ZWNvZGVPZmZzZXQpOwot
ICAgIHN0b3JlMzIoVHJ1c3RlZEltbTMyKGxvY2F0aW9uQml0cyksIEFkZHJlc3MoY2FsbEZyYW1l
UmVnaXN0ZXIsIEpTU3RhY2s6OkFyZ3VtZW50Q291bnQgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVv
ZihSZWdpc3RlcikpICsgT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFz
Qml0cy50YWcpKSk7CisgICAgc3RvcmUzMihUcnVzdGVkSW1tMzIobG9jYXRpb25CaXRzKSwgQWRk
cmVzcyhjYWxsRnJhbWVSZWdpc3RlciwgSlNTdGFjazo6QXJndW1lbnRDb3VudCAqIHN0YXRpY19j
YXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkgKyBUYWdPZmZzZXQpKTsKICAgICBlbWl0R2V0Vmly
dHVhbFJlZ2lzdGVyKGNhbGxlZSwgcmVnVDApOyAvLyByZWdUMCBob2xkcyBjYWxsZWUuCiAKLSAg
ICBzdG9yZTY0KGNhbGxGcmFtZVJlZ2lzdGVyLCBBZGRyZXNzKHJlZ1QxLCBDYWxsRnJhbWU6OmNh
bGxlckZyYW1lT2Zmc2V0KCkpKTsKLSAgICBzdG9yZTY0KHJlZ1QwLCBBZGRyZXNzKHJlZ1QxLCBK
U1N0YWNrOjpDYWxsZWUgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpKSk7Ci0g
ICAgbW92ZShyZWdUMSwgY2FsbEZyYW1lUmVnaXN0ZXIpOworICAgIHN0b3JlNjQocmVnVDAsIEFk
ZHJlc3Moc3RhY2tQb2ludGVyUmVnaXN0ZXIsIEpTU3RhY2s6OkNhbGxlZSAqIHN0YXRpY19jYXN0
PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkgLSBzaXplb2YoQ2FsbGVyRnJhbWVBbmRQQykpKTsKIAog
ICAgIGlmIChvcGNvZGVJRCA9PSBvcF9jYWxsX2V2YWwpIHsKICAgICAgICAgY29tcGlsZUNhbGxF
dmFsKGluc3RydWN0aW9uKTsKQEAgLTE5OCwxMCArMjE1LDE0IEBAIHZvaWQgSklUOjpjb21waWxl
T3BDYWxsKE9wY29kZUlEIG9wY29kZUlELCBJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24sIHVuc2ln
bmVkIGNhCiAgICAgbV9jYWxsU3RydWN0dXJlU3R1YkNvbXBpbGF0aW9uSW5mb1tjYWxsTGlua0lu
Zm9JbmRleF0uY2FsbFR5cGUgPSBDYWxsTGlua0luZm86OmNhbGxUeXBlRm9yKG9wY29kZUlEKTsK
ICAgICBtX2NhbGxTdHJ1Y3R1cmVTdHViQ29tcGlsYXRpb25JbmZvW2NhbGxMaW5rSW5mb0luZGV4
XS5ieXRlY29kZUluZGV4ID0gbV9ieXRlY29kZU9mZnNldDsKIAotICAgIGxvYWRQdHIoQWRkcmVz
cyhyZWdUMCwgT0JKRUNUX09GRlNFVE9GKEpTRnVuY3Rpb24sIG1fc2NvcGUpKSwgcmVnVDEpOwot
ICAgIGVtaXRQdXRUb0NhbGxGcmFtZUhlYWRlcihyZWdUMSwgSlNTdGFjazo6U2NvcGVDaGFpbik7
CisgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QwLCBPQkpFQ1RfT0ZGU0VUT0YoSlNGdW5jdGlvbiwg
bV9zY29wZSkpLCByZWdUMik7CisgICAgc3RvcmU2NChyZWdUMiwgQWRkcmVzcyhNYWNyb0Fzc2Vt
Ymxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIEpTU3RhY2s6OlNjb3BlQ2hhaW4gKiBzaXplb2Yo
UmVnaXN0ZXIpIC0gc2l6ZW9mKENhbGxlckZyYW1lQW5kUEMpKSk7CisKICAgICBtX2NhbGxTdHJ1
Y3R1cmVTdHViQ29tcGlsYXRpb25JbmZvW2NhbGxMaW5rSW5mb0luZGV4XS5ob3RQYXRoT3RoZXIg
PSBlbWl0TmFrZWRDYWxsKCk7CiAKKyAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKHN0YWNrUG9pbnRl
ck9mZnNldEZvcihtX2NvZGVCbG9jaykgKiBzaXplb2YoUmVnaXN0ZXIpKSwgY2FsbEZyYW1lUmVn
aXN0ZXIsIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdu
bWVudCgpOworCiAgICAgc2FtcGxlQ29kZUJsb2NrKG1fY29kZUJsb2NrKTsKICAgICAKICAgICBl
bWl0UHV0Q2FsbFJlc3VsdChpbnN0cnVjdGlvbik7CkBAIC0yMTYsNyArMjM3LDE0IEBAIHZvaWQg
SklUOjpjb21waWxlT3BDYWxsU2xvd0Nhc2UoT3Bjb2RlSUQgb3Bjb2RlSUQsIEluc3RydWN0aW9u
KiBpbnN0cnVjdGlvbiwgVmVjCiAKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CiAKLSAgICBtX2Nh
bGxTdHJ1Y3R1cmVTdHViQ29tcGlsYXRpb25JbmZvW2NhbGxMaW5rSW5mb0luZGV4XS5jYWxsUmV0
dXJuTG9jYXRpb24gPSBlbWl0TmFrZWRDYWxsKG9wY29kZUlEID09IG9wX2NvbnN0cnVjdCA/IG1f
dm0tPmdldENUSVN0dWIobGlua0NvbnN0cnVjdFRodW5rR2VuZXJhdG9yKS5jb2RlKCkgOiBtX3Zt
LT5nZXRDVElTdHViKGxpbmtDYWxsVGh1bmtHZW5lcmF0b3IpLmNvZGUoKSk7CisgICAgVGh1bmtH
ZW5lcmF0b3IgZ2VuZXJhdG9yID0gbGlua1RodW5rR2VuZXJhdG9yRm9yKAorICAgICAgICBvcGNv
ZGVJRCA9PSBvcF9jb25zdHJ1Y3QgPyBDb2RlRm9yQ29uc3RydWN0IDogQ29kZUZvckNhbGwsCisg
ICAgICAgIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQpOworICAgIAorICAgIG1fY2Fs
bFN0cnVjdHVyZVN0dWJDb21waWxhdGlvbkluZm9bY2FsbExpbmtJbmZvSW5kZXhdLmNhbGxSZXR1
cm5Mb2NhdGlvbiA9IGVtaXROYWtlZENhbGwobV92bS0+Z2V0Q1RJU3R1YihnZW5lcmF0b3IpLmNv
ZGUoKSk7CisKKyAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKHN0YWNrUG9pbnRlck9mZnNldEZvciht
X2NvZGVCbG9jaykgKiBzaXplb2YoUmVnaXN0ZXIpKSwgY2FsbEZyYW1lUmVnaXN0ZXIsIHN0YWNr
UG9pbnRlclJlZ2lzdGVyKTsKKyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwogCiAg
ICAgc2FtcGxlQ29kZUJsb2NrKG1fY29kZUJsb2NrKTsKICAgICAKQEAgLTIyNiw3ICsyNTQsNyBA
QCB2b2lkIEpJVDo6Y29tcGlsZU9wQ2FsbFNsb3dDYXNlKE9wY29kZUlEIG9wY29kZUlELCBJbnN0
cnVjdGlvbiogaW5zdHJ1Y3Rpb24sIFZlYwogdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlQ2xvc3Vy
ZUNhbGwoQ2FsbExpbmtJbmZvKiBjYWxsTGlua0luZm8sIENvZGVCbG9jayogY2FsbGVlQ29kZUJs
b2NrLCBTdHJ1Y3R1cmUqIGV4cGVjdGVkU3RydWN0dXJlLCBFeGVjdXRhYmxlQmFzZSogZXhwZWN0
ZWRFeGVjdXRhYmxlLCBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgY29kZVB0cikKIHsKICAgICBKdW1w
TGlzdCBzbG93Q2FzZXM7Ci0gICAgCisKICAgICBzbG93Q2FzZXMuYXBwZW5kKGJyYW5jaFRlc3RQ
dHIoTm9uWmVybywgcmVnVDAsIHRhZ01hc2tSZWdpc3RlcikpOwogICAgIHNsb3dDYXNlcy5hcHBl
bmQoYnJhbmNoUHRyKE5vdEVxdWFsLCBBZGRyZXNzKHJlZ1QwLCBKU0NlbGw6OnN0cnVjdHVyZU9m
ZnNldCgpKSwgVHJ1c3RlZEltbVB0cihleHBlY3RlZFN0cnVjdHVyZSkpKTsKICAgICBzbG93Q2Fz
ZXMuYXBwZW5kKGJyYW5jaFB0cihOb3RFcXVhbCwgQWRkcmVzcyhyZWdUMCwgSlNGdW5jdGlvbjo6
b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpLCBUcnVzdGVkSW1tUHRyKGV4cGVjdGVkRXhlY3V0YWJsZSkp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcAppbmRleCA2MDg2
MDM4YTI2N2JlMjhjNWU0YjMzNWE4Njc3MTkzOWQ3ZTVkNGI2Li42OWZhMGYwZTY0YzVkZjIzM2Y2
YzljYjVhYWZmMDg0Y2FkOWMyZDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVENhbGwzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRD
YWxsMzJfNjQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDgsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiUmVwYXRj
aEJ1ZmZlci5oIgogI2luY2x1ZGUgIlJlc3VsdFR5cGUuaCIKICNpbmNsdWRlICJTYW1wbGluZ1Rv
b2wuaCIKKyNpbmNsdWRlICJTdGFja0FsaWdubWVudC5oIgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdQ
cmludFN0cmVhbS5oPgogCiAKQEAgLTU2LDEwICs1Nyw5IEBAIHZvaWQgSklUOjplbWl0X29wX3Jl
dChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIHVuc2lnbmVkIGRzdCA9IGN1
cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CiAKICAgICBlbWl0TG9hZChkc3QsIHJlZ1Qx
LCByZWdUMCk7Ci0gICAgZW1pdEdldFJldHVyblBDRnJvbUNhbGxGcmFtZUhlYWRlclB0cihyZWdU
Mik7Ci0gICAgZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRlclB0cihjYWxsRnJh
bWVSZWdpc3Rlcik7CiAKLSAgICByZXN0b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybihyZWdU
Mik7CisgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoKTsKKyAgICBlbWl0RnVuY3Rpb25F
cGlsb2d1ZSgpOwogICAgIHJldCgpOwogfQogCkBAIC03MywyMCArNzMsMTYgQEAgdm9pZCBKSVQ6
OmVtaXRfb3BfcmV0X29iamVjdF9vcl90aGlzKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rp
b24pCiAgICAgbG9hZFB0cihBZGRyZXNzKHJlZ1QwLCBKU0NlbGw6OnN0cnVjdHVyZU9mZnNldCgp
KSwgcmVnVDIpOwogICAgIEp1bXAgbm90T2JqZWN0ID0gZW1pdEp1bXBJZk5vdE9iamVjdChyZWdU
Mik7CiAKLSAgICBlbWl0R2V0UmV0dXJuUENGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKHJlZ1QyKTsK
LSAgICBlbWl0R2V0Q2FsbGVyRnJhbWVGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKGNhbGxGcmFtZVJl
Z2lzdGVyKTsKLQotICAgIHJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKHJlZ1QyKTsK
KyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOworICAgIGVtaXRGdW5jdGlvbkVwaWxv
Z3VlKCk7CiAgICAgcmV0KCk7CiAKICAgICBub3RKU0NlbGwubGluayh0aGlzKTsKICAgICBub3RP
YmplY3QubGluayh0aGlzKTsKICAgICBlbWl0TG9hZCh0aGlzUmVnLCByZWdUMSwgcmVnVDApOwog
Ci0gICAgZW1pdEdldFJldHVyblBDRnJvbUNhbGxGcmFtZUhlYWRlclB0cihyZWdUMik7Ci0gICAg
ZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRlclB0cihjYWxsRnJhbWVSZWdpc3Rl
cik7Ci0KLSAgICByZXN0b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybihyZWdUMik7CisgICAg
Y2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoKTsKKyAgICBlbWl0RnVuY3Rpb25FcGlsb2d1ZSgp
OwogICAgIHJldCgpOwogfQogCkBAIC0xNTEsOCArMTQ3LDEyIEBAIHZvaWQgSklUOjpjb21waWxl
TG9hZFZhcmFyZ3MoSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQogICAgICAgICAvLyByZWdUMjog
YXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMKIAogICAgICAgICBtb3ZlKHJlZ1QyLCByZWdUMyk7
CisgICAgICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoLWZpcnN0RnJlZVJlZ2lzdGVyICsgSlNTdGFj
azo6Q2FsbEZyYW1lSGVhZGVyU2l6ZSksIHJlZ1QzKTsKKyAgICAgICAgLy8gcmVnVDEgbm93IGhh
cyB0aGUgcmVxdWlyZWQgZnJhbWUgc2l6ZSBpbiBSZWdpc3RlciB1bml0cworICAgICAgICAvLyBS
b3VuZCByZWdUMSB0byBuZXh0IG11bHRpcGxlIG9mIHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCkK
KyAgICAgICAgYWRkUHRyKFRydXN0ZWRJbW0zMihzdGFja0FsaWdubWVudFJlZ2lzdGVycygpIC0g
MSksIHJlZ1QzKTsKKyAgICAgICAgYW5kUHRyKFRydXN0ZWRJbW0zMih+KHN0YWNrQWxpZ25tZW50
UmVnaXN0ZXJzKCkgLSAxKSksIHJlZ1QzKTsKICAgICAgICAgbmVnMzIocmVnVDMpOwotICAgICAg
ICBhZGQzMihUcnVzdGVkSW1tMzIoZmlyc3RGcmVlUmVnaXN0ZXIgLSBKU1N0YWNrOjpDYWxsRnJh
bWVIZWFkZXJTaXplKSwgcmVnVDMpOwogICAgICAgICBsc2hpZnQzMihUcnVzdGVkSW1tMzIoMyks
IHJlZ1QzKTsKICAgICAgICAgYWRkUHRyKGNhbGxGcmFtZVJlZ2lzdGVyLCByZWdUMyk7CiAgICAg
ICAgIC8vIHJlZ1QzOiBuZXdDYWxsRnJhbWUKQEAgLTE4NSwyMiArMTg1LDM0IEBAIHZvaWQgSklU
Ojpjb21waWxlTG9hZFZhcmFyZ3MoSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQogICAgICAgICBz
bG93Q2FzZS5saW5rKHRoaXMpOwogCiAgICAgZW1pdExvYWQoYXJndW1lbnRzLCByZWdUMSwgcmVn
VDApOwotICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uU2l6ZUFuZEFsbG9jRnJhbWVGb3JWYXJh
cmdzLCByZWdUMSwgcmVnVDAsIGZpcnN0RnJlZVJlZ2lzdGVyKTsKLSAgICBtb3ZlKHJldHVyblZh
bHVlR1BSLCByZWdUNSk7Ci0gICAgZW1pdExvYWQodGhpc1ZhbHVlLCByZWdUMSwgcmVnVDApOwor
ICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uU2l6ZUZyYW1lRm9yVmFyYXJncywgcmVnVDEsIHJl
Z1QwLCBmaXJzdEZyZWVSZWdpc3Rlcik7CisgICAgbW92ZShyZXR1cm5WYWx1ZUdQUiwgc3RhY2tQ
b2ludGVyUmVnaXN0ZXIpOworICAgIGVtaXRMb2FkKHRoaXNWYWx1ZSwgcmVnVDEsIHJlZ1Q0KTsK
ICAgICBlbWl0TG9hZChhcmd1bWVudHMsIHJlZ1QzLCByZWdUMik7Ci0gICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25Mb2FkVmFyYXJncywgcmVnVDUsIHJlZ1QxLCByZWdUMCwgcmVnVDMsIHJlZ1Qy
KTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkxvYWRWYXJhcmdzLCByZXR1cm5WYWx1ZUdQ
UiwgcmVnVDEsIHJlZ1Q0LCByZWdUMywgcmVnVDIpOwogICAgIG1vdmUocmV0dXJuVmFsdWVHUFIs
IHJlZ1QzKTsKIAogICAgIGlmIChjYW5PcHRpbWl6ZSkKICAgICAgICAgZW5kLmxpbmsodGhpcyk7
CisKKyAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKHNpemVvZihDYWxsZXJGcmFtZUFuZFBDKSksIHJl
Z1QzLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiB9CiAKIHZvaWQgSklUOjpjb21waWxlQ2FsbEV2
YWwoSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uKQogewotICAgIGNhbGxPcGVyYXRpb25XaXRoQ2Fs
bEZyYW1lUm9sbGJhY2tPbkV4Y2VwdGlvbihvcGVyYXRpb25DYWxsRXZhbCk7CisgICAgYWRkUHRy
KFRydXN0ZWRJbW0zMigtc3RhdGljX2Nhc3Q8cHRyZGlmZl90PihzaXplb2YoQ2FsbGVyRnJhbWVB
bmRQQykpKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIsIHJlZ1QxKTsKKworICAgIGNhbGxPcGVyYXRp
b25Ob0V4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbkNhbGxFdmFsLCByZWdUMSk7CisKKyAgICBKdW1w
IG5vRXhjZXB0aW9uID0gZW1pdEV4Y2VwdGlvbkNoZWNrKEludmVydGVkRXhjZXB0aW9uQ2hlY2sp
OworICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoc3RhY2tQb2ludGVyT2Zmc2V0Rm9yKG1fY29kZUJs
b2NrKSAqIHNpemVvZihSZWdpc3RlcikpLCBjYWxsRnJhbWVSZWdpc3Rlciwgc3RhY2tQb2ludGVy
UmVnaXN0ZXIpOworICAgIGV4Y2VwdGlvbkNoZWNrKGp1bXAoKSk7CisKKyAgICBub0V4Y2VwdGlv
bi5saW5rKHRoaXMpOwogICAgIGFkZFNsb3dDYXNlKGJyYW5jaDMyKEVxdWFsLCByZWdUMSwgVHJ1
c3RlZEltbTMyKEpTVmFsdWU6OkVtcHR5VmFsdWVUYWcpKSk7Ci0gICAgZW1pdEdldENhbGxlckZy
YW1lRnJvbUNhbGxGcmFtZUhlYWRlclB0cihjYWxsRnJhbWVSZWdpc3Rlcik7CisKKyAgICBhZGRQ
dHIoVHJ1c3RlZEltbTMyKHN0YWNrUG9pbnRlck9mZnNldEZvcihtX2NvZGVCbG9jaykgKiBzaXpl
b2YoUmVnaXN0ZXIpKSwgY2FsbEZyYW1lUmVnaXN0ZXIsIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsK
KyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwogCiAgICAgc2FtcGxlQ29kZUJsb2Nr
KG1fY29kZUJsb2NrKTsKICAgICAKQEAgLTIxMSw4ICsyMjMsMTMgQEAgdm9pZCBKSVQ6OmNvbXBp
bGVDYWxsRXZhbFNsb3dDYXNlKEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dD
YXNlRW50cnkKIHsKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CiAKKyAgICBsb2FkUHRyKEFkZHJl
c3Moc3RhY2tQb2ludGVyUmVnaXN0ZXIsIHNpemVvZihSZWdpc3RlcikgKiBKU1N0YWNrOjpDYWxs
ZWUgLSBzaXplb2YoQ2FsbGVyRnJhbWVBbmRQQykpLCByZWdUMCk7CisgICAgbG9hZFB0cihBZGRy
ZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCBzaXplb2YoUmVnaXN0ZXIpICogSlNTdGFjazo6Q2Fs
bGVlIC0gc2l6ZW9mKENhbGxlckZyYW1lQW5kUEMpKSwgcmVnVDEpOworCiAgICAgZW1pdExvYWQo
SlNTdGFjazo6Q2FsbGVlLCByZWdUMSwgcmVnVDApOwogICAgIGVtaXROYWtlZENhbGwobV92bS0+
Z2V0Q1RJU3R1Yih2aXJ0dWFsQ2FsbFRodW5rR2VuZXJhdG9yKS5jb2RlKCkpOworICAgIGFkZFB0
cihUcnVzdGVkSW1tMzIoc3RhY2tQb2ludGVyT2Zmc2V0Rm9yKG1fY29kZUJsb2NrKSAqIHNpemVv
ZihSZWdpc3RlcikpLCBjYWxsRnJhbWVSZWdpc3Rlciwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwor
ICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KCk7CiAKICAgICBzYW1wbGVDb2RlQmxvY2so
bV9jb2RlQmxvY2spOwogICAgIApAQCAtMjUxLDE4ICsyNjgsMTcgQEAgdm9pZCBKSVQ6OmNvbXBp
bGVPcENhbGwoT3Bjb2RlSUQgb3Bjb2RlSUQsIEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbiwgdW5z
aWduZWQgY2EKICAgICAgICAgICAgIGRvbmUubGluayh0aGlzKTsKICAgICAgICAgfQogICAgIAot
ICAgICAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKHJlZ2lzdGVyT2Zmc2V0ICogc2l6ZW9mKFJlZ2lz
dGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCByZWdUMyk7CisgICAgICAgIGFkZFB0cihUcnVzdGVk
SW1tMzIocmVnaXN0ZXJPZmZzZXQgKiBzaXplb2YoUmVnaXN0ZXIpICsgc2l6ZW9mKENhbGxlckZy
YW1lQW5kUEMpKSwgY2FsbEZyYW1lUmVnaXN0ZXIsIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKIAot
ICAgICAgICBzdG9yZTMyKFRydXN0ZWRJbW0zMihhcmdDb3VudCksIHBheWxvYWRGb3IoSlNTdGFj
azo6QXJndW1lbnRDb3VudCwgcmVnVDMpKTsKLSAgICB9IC8vIHJlZ1QzIGhvbGRzIG5ld0NhbGxG
cmFtZSB3aXRoIEFyZ3VtZW50Q291bnQgaW5pdGlhbGl6ZWQuCisgICAgICAgIHN0b3JlMzIoVHJ1
c3RlZEltbTMyKGFyZ0NvdW50KSwgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlciwgSlNTdGFj
azo6QXJndW1lbnRDb3VudCAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkgKyBQ
YXlsb2FkT2Zmc2V0IC0gc2l6ZW9mKENhbGxlckZyYW1lQW5kUEMpKSk7CisgICAgfSAvLyBTUCBo
b2xkcyBuZXdDYWxsRnJhbWUgKyBzaXplb2YoQ2FsbGVyRnJhbWVBbmRQQyksIHdpdGggQXJndW1l
bnRDb3VudCBpbml0aWFsaXplZC4KICAgICAKICAgICB1aW50MzJfdCBsb2NhdGlvbkJpdHMgPSBD
YWxsRnJhbWU6OkxvY2F0aW9uOjplbmNvZGVBc0J5dGVjb2RlSW5zdHJ1Y3Rpb24oaW5zdHJ1Y3Rp
b24pOwogICAgIHN0b3JlMzIoVHJ1c3RlZEltbTMyKGxvY2F0aW9uQml0cyksIHRhZ0ZvcihKU1N0
YWNrOjpBcmd1bWVudENvdW50LCBjYWxsRnJhbWVSZWdpc3RlcikpOwogICAgIGVtaXRMb2FkKGNh
bGxlZSwgcmVnVDEsIHJlZ1QwKTsgLy8gcmVnVDEsIHJlZ1QwIGhvbGRzIGNhbGxlZS4KIAotICAg
IHN0b3JlUHRyKGNhbGxGcmFtZVJlZ2lzdGVyLCBBZGRyZXNzKHJlZ1QzLCBDYWxsRnJhbWU6OmNh
bGxlckZyYW1lT2Zmc2V0KCkpKTsKLSAgICBlbWl0U3RvcmUoSlNTdGFjazo6Q2FsbGVlLCByZWdU
MSwgcmVnVDAsIHJlZ1QzKTsKLSAgICBtb3ZlKHJlZ1QzLCBjYWxsRnJhbWVSZWdpc3Rlcik7Cisg
ICAgc3RvcmUzMihyZWdUMCwgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlciwgSlNTdGFjazo6
Q2FsbGVlICogc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0ZXIpKSArIFBheWxvYWRPZmZz
ZXQgLSBzaXplb2YoQ2FsbGVyRnJhbWVBbmRQQykpKTsKKyAgICBzdG9yZTMyKHJlZ1QxLCBBZGRy
ZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCBKU1N0YWNrOjpDYWxsZWUgKiBzdGF0aWNfY2FzdDxp
bnQ+KHNpemVvZihSZWdpc3RlcikpICsgVGFnT2Zmc2V0IC0gc2l6ZW9mKENhbGxlckZyYW1lQW5k
UEMpKSk7CiAKICAgICBpZiAob3Bjb2RlSUQgPT0gb3BfY2FsbF9ldmFsKSB7CiAgICAgICAgIGNv
bXBpbGVDYWxsRXZhbChpbnN0cnVjdGlvbik7CkBAIC0yODEsMTAgKzI5NywxNiBAQCB2b2lkIEpJ
VDo6Y29tcGlsZU9wQ2FsbChPcGNvZGVJRCBvcGNvZGVJRCwgSW5zdHJ1Y3Rpb24qIGluc3RydWN0
aW9uLCB1bnNpZ25lZCBjYQogICAgIG1fY2FsbFN0cnVjdHVyZVN0dWJDb21waWxhdGlvbkluZm9b
Y2FsbExpbmtJbmZvSW5kZXhdLmNhbGxUeXBlID0gQ2FsbExpbmtJbmZvOjpjYWxsVHlwZUZvcihv
cGNvZGVJRCk7CiAgICAgbV9jYWxsU3RydWN0dXJlU3R1YkNvbXBpbGF0aW9uSW5mb1tjYWxsTGlu
a0luZm9JbmRleF0uYnl0ZWNvZGVJbmRleCA9IG1fYnl0ZWNvZGVPZmZzZXQ7CiAKLSAgICBsb2Fk
UHRyKEFkZHJlc3MocmVnVDAsIE9CSkVDVF9PRkZTRVRPRihKU0Z1bmN0aW9uLCBtX3Njb3BlKSks
IHJlZ1QxKTsKLSAgICBlbWl0UHV0Q2VsbFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QxLCBKU1N0YWNr
OjpTY29wZUNoYWluKTsKKyAgICBsb2FkUHRyKEFkZHJlc3MocmVnVDAsIE9CSkVDVF9PRkZTRVRP
RihKU0Z1bmN0aW9uLCBtX3Njb3BlKSksIHJlZ1QyKTsKKyAgICBzdG9yZTMyKHJlZ1QyLCBBZGRy
ZXNzKE1hY3JvQXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3RlciwgSlNTdGFjazo6U2NvcGVD
aGFpbiAqIHNpemVvZihSZWdpc3RlcikgKyBQYXlsb2FkT2Zmc2V0IC0gc2l6ZW9mKENhbGxlckZy
YW1lQW5kUEMpKSk7CisgICAgc3RvcmUzMihUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZyks
IEFkZHJlc3Moc3RhY2tQb2ludGVyUmVnaXN0ZXIsIEpTU3RhY2s6OlNjb3BlQ2hhaW4gKiBzaXpl
b2YoUmVnaXN0ZXIpICsgVGFnT2Zmc2V0IC0gc2l6ZW9mKENhbGxlckZyYW1lQW5kUEMpKSk7CisK
KyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwogICAgIG1fY2FsbFN0cnVjdHVyZVN0
dWJDb21waWxhdGlvbkluZm9bY2FsbExpbmtJbmZvSW5kZXhdLmhvdFBhdGhPdGhlciA9IGVtaXRO
YWtlZENhbGwoKTsKIAorICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoc3RhY2tQb2ludGVyT2Zmc2V0
Rm9yKG1fY29kZUJsb2NrKSAqIHNpemVvZihSZWdpc3RlcikpLCBjYWxsRnJhbWVSZWdpc3Rlciwg
c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KCk7
CisKICAgICBzYW1wbGVDb2RlQmxvY2sobV9jb2RlQmxvY2spOwogICAgIGVtaXRQdXRDYWxsUmVz
dWx0KGluc3RydWN0aW9uKTsKIH0KQEAgLTI5OSw3ICszMjEsMTQgQEAgdm9pZCBKSVQ6OmNvbXBp
bGVPcENhbGxTbG93Q2FzZShPcGNvZGVJRCBvcGNvZGVJRCwgSW5zdHJ1Y3Rpb24qIGluc3RydWN0
aW9uLCBWZWMKICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CiAgICAgbGlua1Nsb3dDYXNlKGl0ZXIp
OwogCi0gICAgbV9jYWxsU3RydWN0dXJlU3R1YkNvbXBpbGF0aW9uSW5mb1tjYWxsTGlua0luZm9J
bmRleF0uY2FsbFJldHVybkxvY2F0aW9uID0gZW1pdE5ha2VkQ2FsbChvcGNvZGVJRCA9PSBvcF9j
b25zdHJ1Y3QgPyBtX3ZtLT5nZXRDVElTdHViKGxpbmtDb25zdHJ1Y3RUaHVua0dlbmVyYXRvciku
Y29kZSgpIDogbV92bS0+Z2V0Q1RJU3R1YihsaW5rQ2FsbFRodW5rR2VuZXJhdG9yKS5jb2RlKCkp
OworICAgIFRodW5rR2VuZXJhdG9yIGdlbmVyYXRvciA9IGxpbmtUaHVua0dlbmVyYXRvckZvcigK
KyAgICAgICAgb3Bjb2RlSUQgPT0gb3BfY29uc3RydWN0ID8gQ29kZUZvckNvbnN0cnVjdCA6IENv
ZGVGb3JDYWxsLAorICAgICAgICBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsKKyAg
ICAKKyAgICBtX2NhbGxTdHJ1Y3R1cmVTdHViQ29tcGlsYXRpb25JbmZvW2NhbGxMaW5rSW5mb0lu
ZGV4XS5jYWxsUmV0dXJuTG9jYXRpb24gPSBlbWl0TmFrZWRDYWxsKG1fdm0tPmdldENUSVN0dWIo
Z2VuZXJhdG9yKS5jb2RlKCkpOworCisgICAgYWRkUHRyKFRydXN0ZWRJbW0zMihzdGFja1BvaW50
ZXJPZmZzZXRGb3IobV9jb2RlQmxvY2spICogc2l6ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJl
Z2lzdGVyLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgY2hlY2tTdGFja1BvaW50ZXJBbGln
bm1lbnQoKTsKIAogICAgIHNhbXBsZUNvZGVCbG9jayhtX2NvZGVCbG9jayk7CiAgICAgZW1pdFB1
dENhbGxSZXN1bHQoaW5zdHJ1Y3Rpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRDb2RlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5j
cHAKaW5kZXggMjEzYjcwMDBjYmIyODM0NTgxNGRiNWUyYmJhYjQxNDQ2N2Y0YzkyZC4uZWQwODdj
ZDNhNDRkNmUwNmFlNTQ2MzdjZDNiMDg3MjJkNzM4ZTNjYSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRDb2RlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVENvZGUuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJMTEludFRodW5r
cy5oIgogI2luY2x1ZGUgIk9wZXJhdGlvbnMuaCIKKyNpbmNsdWRlICJSZWdpc3RlclByZXNlcnZh
dGlvbldyYXBwZXJHZW5lcmF0b3IuaCIKICNpbmNsdWRlIDx3dGYvUHJpbnRTdHJlYW0uaD4KIAog
bmFtZXNwYWNlIEpTQyB7CkBAIC00MSwxMSArNDIsOSBAQCBKSVRDb2RlOjp+SklUQ29kZSgpCiB7
CiB9CiAKLUpTVmFsdWUgSklUQ29kZTo6ZXhlY3V0ZShWTSogdm0sIFByb3RvQ2FsbEZyYW1lKiBw
cm90b0NhbGxGcmFtZSwgUmVnaXN0ZXIqIHRvcE9mU3RhY2spCitKU1ZhbHVlIEpJVENvZGU6OmV4
ZWN1dGUoVk0qIHZtLCBQcm90b0NhbGxGcmFtZSogcHJvdG9DYWxsRnJhbWUpCiB7Ci0gICAgQVNT
RVJUKCF2bS0+dG9wQ2FsbEZyYW1lIHx8ICgoUmVnaXN0ZXIqKSh2bS0+dG9wQ2FsbEZyYW1lKSA+
PSB0b3BPZlN0YWNrKSk7Ci0KLSAgICBKU1ZhbHVlIHJlc3VsdCA9IEpTVmFsdWU6OmRlY29kZShj
YWxsVG9KYXZhU2NyaXB0KGV4ZWN1dGFibGVBZGRyZXNzKCksICZ2bS0+dG9wQ2FsbEZyYW1lLCBw
cm90b0NhbGxGcmFtZSwgdG9wT2ZTdGFjaykpOworICAgIEpTVmFsdWUgcmVzdWx0ID0gSlNWYWx1
ZTo6ZGVjb2RlKGNhbGxUb0phdmFTY3JpcHQoZXhlY3V0YWJsZUFkZHJlc3MoKSwgdm0sIHByb3Rv
Q2FsbEZyYW1lKSk7CiAgICAgcmV0dXJuIHZtLT5leGNlcHRpb24oKSA/IGpzTnVsbCgpIDogcmVz
dWx0OwogfQogCkBAIC03Myw1MiArNzIsMzUgQEAgRlRMOjpGb3JPU1JFbnRyeUpJVENvZGUqIEpJ
VENvZGU6OmZ0bEZvck9TUkVudHJ5KCkKICAgICByZXR1cm4gMDsKIH0KIAotUGFzc1JlZlB0cjxK
SVRDb2RlPiBKSVRDb2RlOjpob3N0RnVuY3Rpb24oSklUQ29kZTo6Q29kZVJlZiBjb2RlKQotewot
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGlyZWN0SklUQ29kZShjb2RlLCBIb3N0Q2FsbFRodW5r
KSk7Ci19Ci0KLURpcmVjdEpJVENvZGU6OkRpcmVjdEpJVENvZGUoSklUVHlwZSBqaXRUeXBlKQor
SklUQ29kZVdpdGhDb2RlUmVmOjpKSVRDb2RlV2l0aENvZGVSZWYoSklUVHlwZSBqaXRUeXBlKQog
ICAgIDogSklUQ29kZShqaXRUeXBlKQogewogfQogCi1EaXJlY3RKSVRDb2RlOjpEaXJlY3RKSVRD
b2RlKGNvbnN0IEpJVENvZGU6OkNvZGVSZWYgcmVmLCBKSVRUeXBlIGppdFR5cGUpCitKSVRDb2Rl
V2l0aENvZGVSZWY6OkpJVENvZGVXaXRoQ29kZVJlZihDb2RlUmVmIHJlZiwgSklUVHlwZSBqaXRU
eXBlKQogICAgIDogSklUQ29kZShqaXRUeXBlKQogICAgICwgbV9yZWYocmVmKQogewogfQogCi1E
aXJlY3RKSVRDb2RlOjp+RGlyZWN0SklUQ29kZSgpCi17Ci19Ci0KLXZvaWQgRGlyZWN0SklUQ29k
ZTo6aW5pdGlhbGl6ZUNvZGVSZWYoY29uc3QgSklUQ29kZTo6Q29kZVJlZiByZWYpCi17Ci0gICAg
UkVMRUFTRV9BU1NFUlQoIW1fcmVmKTsKLSAgICBtX3JlZiA9IHJlZjsKLX0KLQotSklUQ29kZTo6
Q29kZVB0ciBEaXJlY3RKSVRDb2RlOjphZGRyZXNzRm9yQ2FsbCgpCitKSVRDb2RlV2l0aENvZGVS
ZWY6On5KSVRDb2RlV2l0aENvZGVSZWYoKQogewotICAgIFJFTEVBU0VfQVNTRVJUKG1fcmVmKTsK
LSAgICByZXR1cm4gbV9yZWYuY29kZSgpOwogfQogCi12b2lkKiBEaXJlY3RKSVRDb2RlOjpleGVj
dXRhYmxlQWRkcmVzc0F0T2Zmc2V0KHNpemVfdCBvZmZzZXQpCit2b2lkKiBKSVRDb2RlV2l0aENv
ZGVSZWY6OmV4ZWN1dGFibGVBZGRyZXNzQXRPZmZzZXQoc2l6ZV90IG9mZnNldCkKIHsKICAgICBS
RUxFQVNFX0FTU0VSVChtX3JlZik7CiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+
KG1fcmVmLmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpKSArIG9mZnNldDsKIH0KIAotdm9pZCog
RGlyZWN0SklUQ29kZTo6ZGF0YUFkZHJlc3NBdE9mZnNldChzaXplX3Qgb2Zmc2V0KQordm9pZCog
SklUQ29kZVdpdGhDb2RlUmVmOjpkYXRhQWRkcmVzc0F0T2Zmc2V0KHNpemVfdCBvZmZzZXQpCiB7
CiAgICAgUkVMRUFTRV9BU1NFUlQobV9yZWYpOwogICAgIEFTU0VSVChvZmZzZXQgPD0gc2l6ZSgp
KTsgLy8gdXNlIDw9IGluc3RlYWQgb2YgPCBiZWNhdXNlIGl0IGlzIHZhbGlkIHRvIGFzayBmb3Ig
YW4gYWRkcmVzcyBhdCB0aGUgZXhjbHVzaXZlIGVuZCBvZiB0aGUgY29kZS4KICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxjaGFyKj4obV9yZWYuY29kZSgpLmRhdGFMb2NhdGlvbigpKSArIG9m
ZnNldDsKIH0KIAotdW5zaWduZWQgRGlyZWN0SklUQ29kZTo6b2Zmc2V0T2Yodm9pZCogcG9pbnRl
ckludG9Db2RlKQordW5zaWduZWQgSklUQ29kZVdpdGhDb2RlUmVmOjpvZmZzZXRPZih2b2lkKiBw
b2ludGVySW50b0NvZGUpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQobV9yZWYpOwogICAgIGludHB0
cl90IHJlc3VsdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KHBvaW50ZXJJbnRvQ29kZSkg
LSByZWludGVycHJldF9jYXN0PGludHB0cl90PihtX3JlZi5jb2RlKCkuZXhlY3V0YWJsZUFkZHJl
c3MoKSk7CkBAIC0xMjYsMTggKzEwOCwxMTcgQEAgdW5zaWduZWQgRGlyZWN0SklUQ29kZTo6b2Zm
c2V0T2Yodm9pZCogcG9pbnRlckludG9Db2RlKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4ocmVzdWx0KTsKIH0KIAotc2l6ZV90IERpcmVjdEpJVENvZGU6OnNpemUoKQorc2l6ZV90
IEpJVENvZGVXaXRoQ29kZVJlZjo6c2l6ZSgpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQobV9yZWYp
OwogICAgIHJldHVybiBtX3JlZi5zaXplKCk7CiB9CiAKLWJvb2wgRGlyZWN0SklUQ29kZTo6Y29u
dGFpbnModm9pZCogYWRkcmVzcykKK2Jvb2wgSklUQ29kZVdpdGhDb2RlUmVmOjpjb250YWlucyh2
b2lkKiBhZGRyZXNzKQogewogICAgIFJFTEVBU0VfQVNTRVJUKG1fcmVmKTsKICAgICByZXR1cm4g
bV9yZWYuZXhlY3V0YWJsZU1lbW9yeSgpLT5jb250YWlucyhhZGRyZXNzKTsKIH0KIAorRGlyZWN0
SklUQ29kZTo6RGlyZWN0SklUQ29kZShKSVRUeXBlIGppdFR5cGUpCisgICAgOiBKSVRDb2RlV2l0
aENvZGVSZWYoaml0VHlwZSkKK3sKK30KKworRGlyZWN0SklUQ29kZTo6RGlyZWN0SklUQ29kZSgK
KyAgICBKSVRDb2RlOjpDb2RlUmVmIHJlZiwgSklUQ29kZTo6Q29kZVB0ciB3aXRoQXJpdHlDaGVj
aywgSklUVHlwZSBqaXRUeXBlKQorICAgIDogSklUQ29kZVdpdGhDb2RlUmVmKHJlZiwgaml0VHlw
ZSkKKyAgICAsIG1fd2l0aEFyaXR5Q2hlY2sod2l0aEFyaXR5Q2hlY2spCit7Cit9CisKK0RpcmVj
dEpJVENvZGU6On5EaXJlY3RKSVRDb2RlKCkKK3sKK30KKwordm9pZCBEaXJlY3RKSVRDb2RlOjpp
bml0aWFsaXplQ29kZVJlZihKSVRDb2RlOjpDb2RlUmVmIHJlZiwgSklUQ29kZTo6Q29kZVB0ciB3
aXRoQXJpdHlDaGVjaykKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCghbV9yZWYpOworICAgIG1fcmVm
ID0gcmVmOworICAgIG1fd2l0aEFyaXR5Q2hlY2sgPSB3aXRoQXJpdHlDaGVjazsKK30KKworRGly
ZWN0SklUQ29kZTo6UmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVycyogRGlyZWN0SklUQ29kZTo6
ZW5zdXJlV3JhcHBlcnMoKQoreworICAgIGlmICghbV93cmFwcGVycykKKyAgICAgICAgbV93cmFw
cGVycyA9IHN0ZDo6bWFrZV91bmlxdWU8UmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVycz4oKTsK
KyAgICByZXR1cm4gbV93cmFwcGVycy5nZXQoKTsKK30KKworSklUQ29kZTo6Q29kZVB0ciBEaXJl
Y3RKSVRDb2RlOjphZGRyZXNzRm9yQ2FsbCgKKyAgICBWTSYgdm0sIEV4ZWN1dGFibGVCYXNlKiBl
eGVjdXRhYmxlLCBBcml0eUNoZWNrTW9kZSBhcml0eSwKKyAgICBSZWdpc3RlclByZXNlcnZhdGlv
bk1vZGUgcmVnaXN0ZXJzKQoreworICAgIHN3aXRjaCAoYXJpdHkpIHsKKyAgICBjYXNlIEFyaXR5
Q2hlY2tOb3RSZXF1aXJlZDoKKyAgICAgICAgc3dpdGNoIChyZWdpc3RlcnMpIHsKKyAgICAgICAg
Y2FzZSBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkOgorICAgICAgICAgICAgUkVMRUFT
RV9BU1NFUlQobV9yZWYpOworICAgICAgICAgICAgcmV0dXJuIG1fcmVmLmNvZGUoKTsKKyAgICAg
ICAgY2FzZSBNdXN0UHJlc2VydmVSZWdpc3RlcnM6IHsKKyNpZiBFTkFCTEUoSklUKQorICAgICAg
ICAgICAgUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVycyogd3JhcHBlcnMgPSBlbnN1cmVXcmFw
cGVycygpOworICAgICAgICAgICAgaWYgKCF3cmFwcGVycy0+d2l0aG91dEFyaXR5Q2hlY2spCisg
ICAgICAgICAgICAgICAgd3JhcHBlcnMtPndpdGhvdXRBcml0eUNoZWNrID0gZ2VuZXJhdGVSZWdp
c3RlclByZXNlcnZhdGlvbldyYXBwZXIodm0sIGV4ZWN1dGFibGUsIG1fcmVmLmNvZGUoKSk7Cisg
ICAgICAgICAgICByZXR1cm4gd3JhcHBlcnMtPndpdGhvdXRBcml0eUNoZWNrLmNvZGUoKTsKKyNl
bHNlCisgICAgICAgICAgICBVTlVTRURfUEFSQU0odm0pOworICAgICAgICAgICAgVU5VU0VEX1BB
UkFNKGV4ZWN1dGFibGUpOworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyNlbmRpZgorICAgICAgICB9IH0KKyAgICBjYXNlIE11c3RDaGVja0FyaXR5OgorICAgICAg
ICBzd2l0Y2ggKHJlZ2lzdGVycykgeworICAgICAgICBjYXNlIFJlZ2lzdGVyUHJlc2VydmF0aW9u
Tm90UmVxdWlyZWQ6CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChtX3dpdGhBcml0eUNoZWNr
KTsKKyAgICAgICAgICAgIHJldHVybiBtX3dpdGhBcml0eUNoZWNrOworICAgICAgICBjYXNlIE11
c3RQcmVzZXJ2ZVJlZ2lzdGVyczogeworI2lmIEVOQUJMRShKSVQpCisgICAgICAgICAgICBSZWdp
c3RlclByZXNlcnZhdGlvbldyYXBwZXJzKiB3cmFwcGVycyA9IGVuc3VyZVdyYXBwZXJzKCk7Cisg
ICAgICAgICAgICBpZiAoIXdyYXBwZXJzLT53aXRoQXJpdHlDaGVjaykKKyAgICAgICAgICAgICAg
ICB3cmFwcGVycy0+d2l0aEFyaXR5Q2hlY2sgPSBnZW5lcmF0ZVJlZ2lzdGVyUHJlc2VydmF0aW9u
V3JhcHBlcih2bSwgZXhlY3V0YWJsZSwgbV93aXRoQXJpdHlDaGVjayk7CisgICAgICAgICAgICBy
ZXR1cm4gd3JhcHBlcnMtPndpdGhBcml0eUNoZWNrLmNvZGUoKTsKKyNlbHNlCisgICAgICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworI2VuZGlmCisgICAgICAgIH0gfQorICAg
IH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBDb2RlUHRy
KCk7Cit9CisKK05hdGl2ZUpJVENvZGU6Ok5hdGl2ZUpJVENvZGUoSklUVHlwZSBqaXRUeXBlKQor
ICAgIDogSklUQ29kZVdpdGhDb2RlUmVmKGppdFR5cGUpCit7Cit9CisKK05hdGl2ZUpJVENvZGU6
Ok5hdGl2ZUpJVENvZGUoQ29kZVJlZiByZWYsIEpJVFR5cGUgaml0VHlwZSkKKyAgICA6IEpJVENv
ZGVXaXRoQ29kZVJlZihyZWYsIGppdFR5cGUpCit7Cit9CisKK05hdGl2ZUpJVENvZGU6On5OYXRp
dmVKSVRDb2RlKCkKK3sKK30KKwordm9pZCBOYXRpdmVKSVRDb2RlOjppbml0aWFsaXplQ29kZVJl
ZihDb2RlUmVmIHJlZikKK3sKKyAgICBBU1NFUlQoIW1fcmVmKTsKKyAgICBtX3JlZiA9IHJlZjsK
K30KKworSklUQ29kZTo6Q29kZVB0ciBOYXRpdmVKSVRDb2RlOjphZGRyZXNzRm9yQ2FsbCgKKyAg
ICBWTSYsIEV4ZWN1dGFibGVCYXNlKiwgQXJpdHlDaGVja01vZGUsIFJlZ2lzdGVyUHJlc2VydmF0
aW9uTW9kZSkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCghIW1fcmVmKTsKKyAgICByZXR1cm4gbV9y
ZWYuY29kZSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogbmFtZXNwYWNlIFdURiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENvZGUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5oCmluZGV4IDUyYzc4MTExYTRkNjhlYjBmYWY5NzQ5
MDM4N2M1ODJlMjc2MmRlZmQuLjQxYjMxZjJmMTYwMWZmYjVmZTQ3ZWFjMTU3MzdlMGFjZDQ4ODNl
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ29kZS5oCkBAIC0yNiwxNCArMjYsMTQgQEAK
ICNpZm5kZWYgSklUQ29kZV9oCiAjZGVmaW5lIEpJVENvZGVfaAogCi0jaWYgRU5BQkxFKEpJVCkg
fHwgRU5BQkxFKExMSU5UKQorI2luY2x1ZGUgIkFyaXR5Q2hlY2tNb2RlLmgiCiAjaW5jbHVkZSAi
Q2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiRGlzYXNzZW1ibGVyLmgiCiAjaW5jbHVkZSAiSklUU3R1
YnMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiTGVnYWN5UHJvZmlsZXIu
aCIKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCIKLSNlbmRpZgorI2luY2x1ZGUg
IlJlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZS5oIgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNTQs
NyArNTQsMTQgQEAgcHVibGljOgogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIENv
ZGVSZWY7CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgQ29kZVB0cjsKIAotICAg
IGVudW0gSklUVHlwZSB7IE5vbmUsIEhvc3RDYWxsVGh1bmssIEludGVycHJldGVyVGh1bmssIEJh
c2VsaW5lSklULCBERkdKSVQsIEZUTEpJVCB9OworICAgIGVudW0gSklUVHlwZSA6IHVpbnQ4X3Qg
eworICAgICAgICBOb25lLAorICAgICAgICBIb3N0Q2FsbFRodW5rLAorICAgICAgICBJbnRlcnBy
ZXRlclRodW5rLAorICAgICAgICBCYXNlbGluZUpJVCwKKyAgICAgICAgREZHSklULAorICAgICAg
ICBGVExKSVQKKyAgICB9OwogICAgIAogICAgIHN0YXRpYyBKSVRUeXBlIGJvdHRvbVRpZXJKSVQo
KQogICAgIHsKQEAgLTE2NCw3ICsxNzEsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBqaXRD
b2RlLT5qaXRUeXBlKCk7CiAgICAgfQogICAgIAotICAgIHZpcnR1YWwgQ29kZVB0ciBhZGRyZXNz
Rm9yQ2FsbCgpID0gMDsKKyAgICB2aXJ0dWFsIENvZGVQdHIgYWRkcmVzc0ZvckNhbGwoVk0mLCBF
eGVjdXRhYmxlQmFzZSosIEFyaXR5Q2hlY2tNb2RlLCBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGUp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzQXRPZmZzZXQoc2l6ZV90
IG9mZnNldCkgPSAwOwogICAgIHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzKCkgeyByZXR1cm4gZXhl
Y3V0YWJsZUFkZHJlc3NBdE9mZnNldCgwKTsgfQogICAgIHZpcnR1YWwgdm9pZCogZGF0YUFkZHJl
c3NBdE9mZnNldChzaXplX3Qgb2Zmc2V0KSA9IDA7CkBAIC0xNzUsNyArMTgyLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgRlRMOjpKSVRDb2RlKiBmdGwoKTsKICAgICB2aXJ0dWFsIEZUTDo6Rm9y
T1NSRW50cnlKSVRDb2RlKiBmdGxGb3JPU1JFbnRyeSgpOwogICAgIAotICAgIEpTVmFsdWUgZXhl
Y3V0ZShWTSosIFByb3RvQ2FsbEZyYW1lKiwgUmVnaXN0ZXIqKTsKKyAgICBKU1ZhbHVlIGV4ZWN1
dGUoVk0qLCBQcm90b0NhbGxGcmFtZSopOwogICAgIAogICAgIHZvaWQqIHN0YXJ0KCkgeyByZXR1
cm4gZGF0YUFkZHJlc3NBdE9mZnNldCgwKTsgfQogICAgIHZpcnR1YWwgc2l6ZV90IHNpemUoKSA9
IDA7CkBAIC0xODMsMzEgKzE5MCw2MiBAQCBwdWJsaWM6CiAgICAgCiAgICAgdmlydHVhbCBib29s
IGNvbnRhaW5zKHZvaWQqKSA9IDA7CiAKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxKSVRDb2RlPiBo
b3N0RnVuY3Rpb24oQ29kZVJlZik7Ci0KIHByaXZhdGU6CiAgICAgSklUVHlwZSBtX2ppdFR5cGU7
CiB9OwogCi1jbGFzcyBEaXJlY3RKSVRDb2RlIDogcHVibGljIEpJVENvZGUgeworY2xhc3MgSklU
Q29kZVdpdGhDb2RlUmVmIDogcHVibGljIEpJVENvZGUgeworcHJvdGVjdGVkOgorICAgIEpJVENv
ZGVXaXRoQ29kZVJlZihKSVRUeXBlKTsKKyAgICBKSVRDb2RlV2l0aENvZGVSZWYoQ29kZVJlZiwg
SklUVHlwZSk7CisKIHB1YmxpYzoKLSAgICBEaXJlY3RKSVRDb2RlKEpJVFR5cGUpOwotICAgIERp
cmVjdEpJVENvZGUoY29uc3QgQ29kZVJlZiwgSklUVHlwZSk7Ci0gICAgdmlydHVhbCB+RGlyZWN0
SklUQ29kZSgpOwotICAgIAotICAgIHZvaWQgaW5pdGlhbGl6ZUNvZGVSZWYoQ29kZVJlZiByZWYp
OworICAgIHZpcnR1YWwgfkpJVENvZGVXaXRoQ29kZVJlZigpOwogCi0gICAgdmlydHVhbCBDb2Rl
UHRyIGFkZHJlc3NGb3JDYWxsKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkKiBleGVjdXRh
YmxlQWRkcmVzc0F0T2Zmc2V0KHNpemVfdCBvZmZzZXQpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwg
dm9pZCogZGF0YUFkZHJlc3NBdE9mZnNldChzaXplX3Qgb2Zmc2V0KSBvdmVycmlkZTsKICAgICB2
aXJ0dWFsIHVuc2lnbmVkIG9mZnNldE9mKHZvaWQqIHBvaW50ZXJJbnRvQ29kZSkgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCBzaXplX3Qgc2l6ZSgpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBj
b250YWlucyh2b2lkKikgb3ZlcnJpZGU7CiAKLXByaXZhdGU6Citwcm90ZWN0ZWQ6CiAgICAgQ29k
ZVJlZiBtX3JlZjsKIH07CiAKK2NsYXNzIERpcmVjdEpJVENvZGUgOiBwdWJsaWMgSklUQ29kZVdp
dGhDb2RlUmVmIHsKK3B1YmxpYzoKKyAgICBEaXJlY3RKSVRDb2RlKEpJVFR5cGUpOworICAgIERp
cmVjdEpJVENvZGUoQ29kZVJlZiwgQ29kZVB0ciB3aXRoQXJpdHlDaGVjaywgSklUVHlwZSk7Cisg
ICAgdmlydHVhbCB+RGlyZWN0SklUQ29kZSgpOworICAgIAorICAgIHZvaWQgaW5pdGlhbGl6ZUNv
ZGVSZWYoQ29kZVJlZiByZWYsIENvZGVQdHIgd2l0aEFyaXR5Q2hlY2spOworCisgICAgdmlydHVh
bCBDb2RlUHRyIGFkZHJlc3NGb3JDYWxsKFZNJiwgRXhlY3V0YWJsZUJhc2UqLCBBcml0eUNoZWNr
TW9kZSwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlKSBvdmVycmlkZTsKKworcHJpdmF0ZToKKyAg
ICBzdHJ1Y3QgUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVycyB7CisgICAgICAgIENvZGVSZWYg
d2l0aG91dEFyaXR5Q2hlY2s7CisgICAgICAgIENvZGVSZWYgd2l0aEFyaXR5Q2hlY2s7CisgICAg
fTsKKworICAgIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlcnMqIGVuc3VyZVdyYXBwZXJzKCk7
CisgICAgCisgICAgQ29kZVB0ciBtX3dpdGhBcml0eUNoZWNrOworICAgIAorICAgIHN0ZDo6dW5p
cXVlX3B0cjxSZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJzPiBtX3dyYXBwZXJzOworfTsKKwor
Y2xhc3MgTmF0aXZlSklUQ29kZSA6IHB1YmxpYyBKSVRDb2RlV2l0aENvZGVSZWYgeworcHVibGlj
OgorICAgIE5hdGl2ZUpJVENvZGUoSklUVHlwZSk7CisgICAgTmF0aXZlSklUQ29kZShDb2RlUmVm
LCBKSVRUeXBlKTsKKyAgICB2aXJ0dWFsIH5OYXRpdmVKSVRDb2RlKCk7CisgICAgCisgICAgdm9p
ZCBpbml0aWFsaXplQ29kZVJlZihDb2RlUmVmIHJlZik7CisKKyAgICB2aXJ0dWFsIENvZGVQdHIg
YWRkcmVzc0ZvckNhbGwoVk0mLCBFeGVjdXRhYmxlQmFzZSosIEFyaXR5Q2hlY2tNb2RlLCBSZWdp
c3RlclByZXNlcnZhdGlvbk1vZGUpIG92ZXJyaWRlOworfTsKKwogfSAvLyBuYW1lc3BhY2UgSlND
CiAKIG5hbWVzcGFjZSBXVEYgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRFeGNlcHRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklURXhjZXB0
aW9ucy5jcHAKaW5kZXggODA4NGY3NzNiMjFkZDZkN2ZjMGFjMzg5ZDU3YTNkZDI2YWM0YmNkZC4u
MmI2MzdjMTE2NDZmYzY1OTdhNDE5Y2VjZTNjZjM2YzNlYzA4MjJkYiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRFeGNlcHRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVEV4Y2VwdGlvbnMuY3BwCkBAIC00Myw2ICs0MywxMSBAQCBuYW1l
c3BhY2UgSlNDIHsKIAogdm9pZCBnZW5lcmljVW53aW5kKFZNKiB2bSwgRXhlY1N0YXRlKiBjYWxs
RnJhbWUsIEpTVmFsdWUgZXhjZXB0aW9uVmFsdWUpCiB7CisgICAgaWYgKE9wdGlvbnM6OmJyZWFr
T25UaHJvdygpKSB7CisgICAgICAgIGRhdGFMb2coIkluIGNhbGwgZnJhbWUgIiwgUmF3UG9pbnRl
cihjYWxsRnJhbWUpLCAiIGZvciBjb2RlIGJsb2NrICIsICpjYWxsRnJhbWUtPmNvZGVCbG9jaygp
LCAiXG4iKTsKKyAgICAgICAgQ1JBU0goKTsKKyAgICB9CisgICAgCiAgICAgUkVMRUFTRV9BU1NF
UlQoZXhjZXB0aW9uVmFsdWUpOwogICAgIEhhbmRsZXJJbmZvKiBoYW5kbGVyID0gdm0tPmludGVy
cHJldGVyLT51bndpbmQoY2FsbEZyYW1lLCBleGNlcHRpb25WYWx1ZSk7IC8vIFRoaXMgbWF5IHVw
ZGF0ZSBjYWxsRnJhbWUuCiAKQEAgLTU2LDcgKzYxLDcgQEAgdm9pZCBnZW5lcmljVW53aW5kKFZN
KiB2bSwgRXhlY1N0YXRlKiBjYWxsRnJhbWUsIEpTVmFsdWUgZXhjZXB0aW9uVmFsdWUpCiAgICAg
ICAgIGNhdGNoUm91dGluZSA9IGNhdGNoUENGb3JJbnRlcnByZXRlci0+dS5wb2ludGVyOwogI2Vu
ZGlmCiAgICAgfSBlbHNlCi0gICAgICAgIGNhdGNoUm91dGluZSA9IExMSW50OjpnZXRDb2RlUHRy
KHJldHVybkZyb21KYXZhU2NyaXB0KTsKKyAgICAgICAgY2F0Y2hSb3V0aW5lID0gTExJbnQ6Omdl
dENvZGVQdHIoaGFuZGxlVW5jYXVnaHRFeGNlcHRpb24pOwogICAgIAogICAgIHZtLT5jYWxsRnJh
bWVGb3JUaHJvdyA9IGNhbGxGcmFtZTsKICAgICB2bS0+dGFyZ2V0TWFjaGluZVBDRm9yVGhyb3cg
PSBjYXRjaFJvdXRpbmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VElubGluZUNhY2hlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
SW5saW5lQ2FjaGVHZW5lcmF0b3IuY3BwCmluZGV4IDc0YjA4NmE3YzU3MzQ2M2QwNzNmZjMxNDg2
NTdiMGQwY2FjNTFmYjYuLjJmM2VmNTcwZDU4OGQ5ZTdhODczOWY0OTQwNmFlMmYxNjYxMjc1Njcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5l
cmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVH
ZW5lcmF0b3IuY3BwCkBAIC00OSw3ICs0OSw3IEBAIEpJVElubGluZUNhY2hlR2VuZXJhdG9yOjpK
SVRJbmxpbmVDYWNoZUdlbmVyYXRvcihDb2RlQmxvY2sqIGNvZGVCbG9jaywgQ29kZU9yaWdpCiAK
IEpJVEJ5SWRHZW5lcmF0b3I6OkpJVEJ5SWRHZW5lcmF0b3IoCiAgICAgQ29kZUJsb2NrKiBjb2Rl
QmxvY2ssIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgY29uc3QgUmVnaXN0ZXJTZXQmIHVzZWRSZWdp
c3RlcnMsCi0gICAgR1BSUmVnIGNhbGxGcmFtZVJlZ2lzdGVyLCBKU1ZhbHVlUmVncyBiYXNlLCBK
U1ZhbHVlUmVncyB2YWx1ZSwgYm9vbCByZWdpc3RlcnNGbHVzaGVkKQorICAgIEpTVmFsdWVSZWdz
IGJhc2UsIEpTVmFsdWVSZWdzIHZhbHVlLCBib29sIHJlZ2lzdGVyc0ZsdXNoZWQpCiAgICAgOiBK
SVRJbmxpbmVDYWNoZUdlbmVyYXRvcihjb2RlQmxvY2ssIGNvZGVPcmlnaW4pCiAgICAgLCBtX2Jh
c2UoYmFzZSkKICAgICAsIG1fdmFsdWUodmFsdWUpCkBAIC02Miw3ICs2Miw2IEBAIEpJVEJ5SWRH
ZW5lcmF0b3I6OkpJVEJ5SWRHZW5lcmF0b3IoCiAgICAgbV9zdHViSW5mby0+cGF0Y2gudXNlZFJl
Z2lzdGVycy5zZXQoYmFzZSk7CiAgICAgbV9zdHViSW5mby0+cGF0Y2gudXNlZFJlZ2lzdGVycy5z
ZXQodmFsdWUpOwogICAgIAotICAgIG1fc3R1YkluZm8tPnBhdGNoLmNhbGxGcmFtZVJlZ2lzdGVy
ID0gc3RhdGljX2Nhc3Q8aW50OF90PihjYWxsRnJhbWVSZWdpc3Rlcik7CiAgICAgbV9zdHViSW5m
by0+cGF0Y2guYmFzZUdQUiA9IHN0YXRpY19jYXN0PGludDhfdD4oYmFzZS5wYXlsb2FkR1BSKCkp
OwogICAgIG1fc3R1YkluZm8tPnBhdGNoLnZhbHVlR1BSID0gc3RhdGljX2Nhc3Q8aW50OF90Pih2
YWx1ZS5wYXlsb2FkR1BSKCkpOwogI2lmIFVTRShKU1ZBTFVFMzJfNjQpCkBAIC0xMzAsMTEgKzEy
OSw5IEBAIHZvaWQgSklUR2V0QnlJZEdlbmVyYXRvcjo6Z2VuZXJhdGVGYXN0UGF0aChNYWNyb0Fz
c2VtYmxlciYgaml0KQogCiBKSVRQdXRCeUlkR2VuZXJhdG9yOjpKSVRQdXRCeUlkR2VuZXJhdG9y
KAogICAgIENvZGVCbG9jayogY29kZUJsb2NrLCBDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIGNvbnN0
IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzLAotICAgIEdQUlJlZyBjYWxsRnJhbWVSZWdpc3Rl
ciwgSlNWYWx1ZVJlZ3MgYmFzZSwgSlNWYWx1ZVJlZ3MgdmFsdWUsIEdQUlJlZyBzY3JhdGNoLAot
ICAgIGJvb2wgcmVnaXN0ZXJzRmx1c2hlZCwgRUNNQU1vZGUgZWNtYU1vZGUsIFB1dEtpbmQgcHV0
S2luZCkKLSAgICA6IEpJVEJ5SWRHZW5lcmF0b3IoCi0gICAgICAgIGNvZGVCbG9jaywgY29kZU9y
aWdpbiwgdXNlZFJlZ2lzdGVycywgY2FsbEZyYW1lUmVnaXN0ZXIsIGJhc2UsIHZhbHVlLAotICAg
ICAgICByZWdpc3RlcnNGbHVzaGVkKQorICAgIEpTVmFsdWVSZWdzIGJhc2UsIEpTVmFsdWVSZWdz
IHZhbHVlLCBHUFJSZWcgc2NyYXRjaCwgYm9vbCByZWdpc3RlcnNGbHVzaGVkLAorICAgIEVDTUFN
b2RlIGVjbWFNb2RlLCBQdXRLaW5kIHB1dEtpbmQpCisgICAgOiBKSVRCeUlkR2VuZXJhdG9yKGNv
ZGVCbG9jaywgY29kZU9yaWdpbiwgdXNlZFJlZ2lzdGVycywgYmFzZSwgdmFsdWUsIHJlZ2lzdGVy
c0ZsdXNoZWQpCiAgICAgLCBtX3NjcmF0Y2goc2NyYXRjaCkKICAgICAsIG1fZWNtYU1vZGUoZWNt
YU1vZGUpCiAgICAgLCBtX3B1dEtpbmQocHV0S2luZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuaAppbmRleCA2ZmYwYzA5YjUxNDNj
YzIyN2VmNGVhMWJiMjY4YmE3M2NkMzJiOGQ4Li42ZGI5ODM2ZDAyYzM1ZWVmZGM4OWIwODc0MDM0
NGEwNzJlZWEyN2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElu
bGluZUNhY2hlR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVDYWNoZUdlbmVyYXRvci5oCkBAIC01Niw4ICs1Niw4IEBAIHByb3RlY3RlZDoKICAgICBK
SVRCeUlkR2VuZXJhdG9yKCkgeyB9CiAKICAgICBKSVRCeUlkR2VuZXJhdG9yKAotICAgICAgICBD
b2RlQmxvY2sqLCBDb2RlT3JpZ2luLCBjb25zdCBSZWdpc3RlclNldCYsIEdQUlJlZyBjYWxsRnJh
bWVSZWdpc3RlciwKLSAgICAgICAgSlNWYWx1ZVJlZ3MgYmFzZSwgSlNWYWx1ZVJlZ3MgdmFsdWUs
IGJvb2wgcmVnaXN0ZXJzRmx1c2hlZCk7CisgICAgICAgIENvZGVCbG9jayosIENvZGVPcmlnaW4s
IGNvbnN0IFJlZ2lzdGVyU2V0JiwgSlNWYWx1ZVJlZ3MgYmFzZSwgSlNWYWx1ZVJlZ3MgdmFsdWUs
CisgICAgICAgIGJvb2wgcmVnaXN0ZXJzRmx1c2hlZCk7CiAgICAgCiBwdWJsaWM6CiAgICAgdm9p
ZCByZXBvcnRTbG93UGF0aENhbGwoTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIHNsb3dQYXRoQmVnaW4s
IE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGwpCkBAIC05NiwxMSArOTYsOCBAQCBwdWJsaWM6CiAK
ICAgICBKSVRHZXRCeUlkR2VuZXJhdG9yKAogICAgICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jaywg
Q29kZU9yaWdpbiBjb2RlT3JpZ2luLCBjb25zdCBSZWdpc3RlclNldCYgdXNlZFJlZ2lzdGVycywK
LSAgICAgICAgR1BSUmVnIGNhbGxGcmFtZVJlZ2lzdGVyLCBKU1ZhbHVlUmVncyBiYXNlLCBKU1Zh
bHVlUmVncyB2YWx1ZSwKLSAgICAgICAgYm9vbCByZWdpc3RlcnNGbHVzaGVkKQotICAgICAgICA6
IEpJVEJ5SWRHZW5lcmF0b3IoCi0gICAgICAgICAgICBjb2RlQmxvY2ssIGNvZGVPcmlnaW4sIHVz
ZWRSZWdpc3RlcnMsIGNhbGxGcmFtZVJlZ2lzdGVyLCBiYXNlLCB2YWx1ZSwKLSAgICAgICAgICAg
IHJlZ2lzdGVyc0ZsdXNoZWQpCisgICAgICAgIEpTVmFsdWVSZWdzIGJhc2UsIEpTVmFsdWVSZWdz
IHZhbHVlLCBib29sIHJlZ2lzdGVyc0ZsdXNoZWQpCisgICAgICAgIDogSklUQnlJZEdlbmVyYXRv
cihjb2RlQmxvY2ssIGNvZGVPcmlnaW4sIHVzZWRSZWdpc3RlcnMsIGJhc2UsIHZhbHVlLCByZWdp
c3RlcnNGbHVzaGVkKQogICAgIHsKICAgICB9CiAgICAgCkBAIC0xMTIsOSArMTA5LDggQEAgcHVi
bGljOgogICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IoKSB7IH0KIAogICAgIEpJVFB1dEJ5SWRHZW5l
cmF0b3IoCi0gICAgICAgIENvZGVCbG9jayosIENvZGVPcmlnaW4sIGNvbnN0IFJlZ2lzdGVyU2V0
JiB1c2VkUmVnaXN0ZXJzLCBHUFJSZWcgY2FsbEZyYW1lUmVnaXN0ZXIsCi0gICAgICAgIEpTVmFs
dWVSZWdzIGJhc2UsIEpTVmFsdWVSZWdzIHZhbHVlLCBHUFJSZWcgc2NyYXRjaCwgYm9vbCByZWdp
c3RlcnNGbHVzaGVkLAotICAgICAgICBFQ01BTW9kZSwgUHV0S2luZCk7CisgICAgICAgIENvZGVC
bG9jayosIENvZGVPcmlnaW4sIGNvbnN0IFJlZ2lzdGVyU2V0JiB1c2VkUmVnaXN0ZXJzLCBKU1Zh
bHVlUmVncyBiYXNlLAorICAgICAgICBKU1ZhbHVlUmVncyB2YWx1ZSwgR1BSUmVnIHNjcmF0Y2gs
IGJvb2wgcmVnaXN0ZXJzRmx1c2hlZCwgRUNNQU1vZGUsIFB1dEtpbmQpOwogICAgIAogICAgIHZv
aWQgZ2VuZXJhdGVGYXN0UGF0aChNYWNyb0Fzc2VtYmxlciYpOwogICAgIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVElubGluZXMuaAppbmRleCA5MzMwZTc3M2U3NDUxNDM1NDIyMGVmYTY2Nzg2
M2E2ZTlkN2U3MzI2Li43MGJiNGYzZWNiNDIwM2RkMTY1MDIzZTIzNDBiZGY5ZDUyYWM1YjM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaApAQCAtOTMsNyArOTMsNiBAQCBB
TFdBWVNfSU5MSU5FIHZvaWQgSklUOjplbWl0TG9hZENoYXJhY3RlclN0cmluZyhSZWdpc3RlcklE
IHNyYywgUmVnaXN0ZXJJRCBkc3QsCiBBTFdBWVNfSU5MSU5FIEpJVDo6Q2FsbCBKSVQ6OmVtaXRO
YWtlZENhbGwoQ29kZVB0ciBmdW5jdGlvbikKIHsKICAgICBBU1NFUlQobV9ieXRlY29kZU9mZnNl
dCAhPSAodW5zaWduZWQpLTEpOyAvLyBUaGlzIG1ldGhvZCBzaG91bGQgb25seSBiZSBjYWxsZWQg
ZHVyaW5nIGhvdC9jb2xkIHBhdGggZ2VuZXJhdGlvbiwgc28gdGhhdCBtX2J5dGVjb2RlT2Zmc2V0
IGlzIHNldC4KLQogICAgIENhbGwgbmFrZWRDYWxsID0gbmVhckNhbGwoKTsKICAgICBtX2NhbGxz
LmFwcGVuZChDYWxsUmVjb3JkKG5ha2VkQ2FsbCwgbV9ieXRlY29kZU9mZnNldCwgZnVuY3Rpb24u
ZXhlY3V0YWJsZUFkZHJlc3MoKSkpOwogICAgIHJldHVybiBuYWtlZENhbGw7CkBAIC0yMjMsMjEg
KzIyMiwyMSBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9w
ZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FWiBvcGVyYXRpbwogICAgIHJldHVybiBhcHBlbmRDYWxs
V2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7CiB9CiAK
LUFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFBf
SklUT3BlcmF0aW9uX0VaIG9wZXJhdGlvbiwgaW50MzJfdCBvcCkKK0FMV0FZU19JTkxJTkUgTWFj
cm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFNfSklUT3BlcmF0aW9uX0VDQyBv
cGVyYXRpb24sIFJlZ2lzdGVySUQgcmVnT3AxLCBSZWdpc3RlcklEIHJlZ09wMikKIHsKLSAgICBz
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbTMyKG9wKSk7CisgICAgc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKHJlZ09wMSwgcmVnT3AyKTsKICAgICByZXR1cm4gYXBwZW5k
Q2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24pOwogfQogCi1BTFdBWVNfSU5MSU5FIE1h
Y3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihTX0pJVE9wZXJhdGlvbl9FQ0Mg
b3BlcmF0aW9uLCBSZWdpc3RlcklEIHJlZ09wMSwgUmVnaXN0ZXJJRCByZWdPcDIpCitBTFdBWVNf
SU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihTX0pJVE9wZXJh
dGlvbl9FT0pzcyBvcGVyYXRpb24sIFJlZ2lzdGVySUQgcmVnT3AxLCBSZWdpc3RlcklEIHJlZ09w
MikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUocmVnT3AxLCByZWdPcDIpOwog
ICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiB9CiAK
LUFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKFNf
SklUT3BlcmF0aW9uX0VPSnNzIG9wZXJhdGlvbiwgUmVnaXN0ZXJJRCByZWdPcDEsIFJlZ2lzdGVy
SUQgcmVnT3AyKQorQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxP
cGVyYXRpb24oU3BydF9KSVRPcGVyYXRpb25fRVogb3BlcmF0aW9uLCBpbnQzMl90IG9wKQogewot
ICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShyZWdPcDEsIHJlZ09wMik7CisgICAgc2V0
dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW0zMihvcCkpOwogICAgIHJldHVybiBh
cHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CiB9CiAKQEAgLTI3Nyw2ICsy
NzYsMTMgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVy
YXRpb25XaXRoQ2FsbEZyYW1lUm9sbGJhY2tPbkV4Y2UKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdp
dGhDYWxsRnJhbWVSb2xsYmFja09uRXhjZXB0aW9uKG9wZXJhdGlvbik7CiB9CiAKK0FMV0FZU19J
TkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uTm9FeGNlcHRpb25D
aGVjayhKX0pJVE9wZXJhdGlvbl9FRSBvcGVyYXRpb24sIFJlZ2lzdGVySUQgcmVnT3ApCit7Cisg
ICAgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKHJlZ09wKTsKKyAgICB1cGRhdGVUb3BDYWxs
RnJhbWUoKTsKKyAgICByZXR1cm4gYXBwZW5kQ2FsbChvcGVyYXRpb24pOworfQorCiBBTFdBWVNf
SU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbldpdGhDYWxsRnJh
bWVSb2xsYmFja09uRXhjZXB0aW9uKFZfSklUT3BlcmF0aW9uX0VDYiBvcGVyYXRpb24sIENvZGVC
bG9jayogcG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3Rl
ZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNw
cAppbmRleCAyYmRhZTE5MTRkMDc1YTRkZjYwYmE2MDk4ZTMxNjM5NzFmYWI1MzFmLi5jYTdhZDEx
ZjJlMGI4YTNiOGIxODU4OTFkN2U1MjJiYWU0MDNhMjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJKU0Z1bmN0
aW9uLmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVJdGVyYXRvci5oIgogI2luY2x1ZGUgIkxp
bmtCdWZmZXIuaCIKKyNpbmNsdWRlICJNYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbC5oIgog
I2luY2x1ZGUgIlNsb3dQYXRoQ2FsbC5oIgogI2luY2x1ZGUgIlZpcnR1YWxSZWdpc3Rlci5oIgog
CkBAIC03Myw3ICs3NCw3IEBAIHZvaWQgSklUOjplbWl0X29wX2VuZChJbnN0cnVjdGlvbiogY3Vy
cmVudEluc3RydWN0aW9uKQogewogICAgIFJFTEVBU0VfQVNTRVJUKHJldHVyblZhbHVlR1BSICE9
IGNhbGxGcmFtZVJlZ2lzdGVyKTsKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvblsxXS51Lm9wZXJhbmQsIHJldHVyblZhbHVlR1BSKTsKLSAgICByZXN0b3JlUmV0
dXJuQWRkcmVzc0JlZm9yZVJldHVybihBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBDYWxsRnJh
bWU6OnJldHVyblBDT2Zmc2V0KCkpKTsKKyAgICBlbWl0RnVuY3Rpb25FcGlsb2d1ZSgpOwogICAg
IHJldCgpOwogfQogCkBAIC0yNjIsMTQgKzI2Myw4IEBAIHZvaWQgSklUOjplbWl0X29wX3JldChJ
bnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIC8vIFJldHVybiB0aGUgcmVzdWx0
IGluICVlYXguCiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kLCByZXR1cm5WYWx1ZUdQUik7CiAKLSAgICAvLyBHcmFiIHRoZSByZXR1cm4g
YWRkcmVzcy4KLSAgICBlbWl0R2V0UmV0dXJuUENGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKHJlZ1Qx
KTsKLQotICAgIC8vIFJlc3RvcmUgb3VyIGNhbGxlcidzICJyIi4KLSAgICBlbWl0R2V0Q2FsbGVy
RnJhbWVGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKGNhbGxGcmFtZVJlZ2lzdGVyKTsKLQotICAgIC8v
IFJldHVybi4KLSAgICByZXN0b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybihyZWdUMSk7Cisg
ICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoKTsKKyAgICBlbWl0RnVuY3Rpb25FcGlsb2d1
ZSgpOwogICAgIHJldCgpOwogfQogCkBAIC0yODUsMTQgKzI4MCw4IEBAIHZvaWQgSklUOjplbWl0
X29wX3JldF9vYmplY3Rfb3JfdGhpcyhJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQog
ICAgIGxvYWRQdHIoQWRkcmVzcyhyZXR1cm5WYWx1ZUdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVPZmZz
ZXQoKSksIHJlZ1QyKTsKICAgICBKdW1wIG5vdE9iamVjdCA9IGVtaXRKdW1wSWZOb3RPYmplY3Qo
cmVnVDIpOwogCi0gICAgLy8gR3JhYiB0aGUgcmV0dXJuIGFkZHJlc3MuCi0gICAgZW1pdEdldFJl
dHVyblBDRnJvbUNhbGxGcmFtZUhlYWRlclB0cihyZWdUMSk7Ci0KLSAgICAvLyBSZXN0b3JlIG91
ciBjYWxsZXIncyAiciIuCi0gICAgZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRl
clB0cihjYWxsRnJhbWVSZWdpc3Rlcik7Ci0KICAgICAvLyBSZXR1cm4uCi0gICAgcmVzdG9yZVJl
dHVybkFkZHJlc3NCZWZvcmVSZXR1cm4ocmVnVDEpOworICAgIGVtaXRGdW5jdGlvbkVwaWxvZ3Vl
KCk7CiAgICAgcmV0KCk7CiAKICAgICAvLyBSZXR1cm4gJ3RoaXMnIGluICVlYXguCkBAIC0zMDAs
MTQgKzI4OSw4IEBAIHZvaWQgSklUOjplbWl0X29wX3JldF9vYmplY3Rfb3JfdGhpcyhJbnN0cnVj
dGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIG5vdE9iamVjdC5saW5rKHRoaXMpOwogICAg
IGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwg
cmV0dXJuVmFsdWVHUFIpOwogCi0gICAgLy8gR3JhYiB0aGUgcmV0dXJuIGFkZHJlc3MuCi0gICAg
ZW1pdEdldFJldHVyblBDRnJvbUNhbGxGcmFtZUhlYWRlclB0cihyZWdUMSk7Ci0KLSAgICAvLyBS
ZXN0b3JlIG91ciBjYWxsZXIncyAiciIuCi0gICAgZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxG
cmFtZUhlYWRlclB0cihjYWxsRnJhbWVSZWdpc3Rlcik7Ci0KICAgICAvLyBSZXR1cm4uCi0gICAg
cmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4ocmVnVDEpOworICAgIGVtaXRGdW5jdGlv
bkVwaWxvZ3VlKCk7CiAgICAgcmV0KCk7CiB9CiAKQEAgLTY1MCw2ICs2MzMsOSBAQCB2b2lkIEpJ
VDo6ZW1pdF9vcF9jYXRjaChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogewogICAg
IG1vdmUoVHJ1c3RlZEltbVB0cihtX3ZtKSwgcmVnVDMpOwogICAgIGxvYWQ2NChBZGRyZXNzKHJl
Z1QzLCBWTTo6Y2FsbEZyYW1lRm9yVGhyb3dPZmZzZXQoKSksIGNhbGxGcmFtZVJlZ2lzdGVyKTsK
KworICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoc3RhY2tQb2ludGVyT2Zmc2V0Rm9yKGNvZGVCbG9j
aygpKSAqIHNpemVvZihSZWdpc3RlcikpLCBjYWxsRnJhbWVSZWdpc3Rlciwgc3RhY2tQb2ludGVy
UmVnaXN0ZXIpOworCiAgICAgbG9hZDY0KEFkZHJlc3MocmVnVDMsIFZNOjpleGNlcHRpb25PZmZz
ZXQoKSksIHJlZ1QwKTsKICAgICBzdG9yZTY0KFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUo
SlNWYWx1ZSgpKSksIEFkZHJlc3MocmVnVDMsIFZNOjpleGNlcHRpb25PZmZzZXQoKSkpOwogICAg
IGVtaXRQdXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCk7
CkBAIC0xMTAzLDIwICsxMDg5LDggQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbG9vcF9oaW50KEluc3Ry
dWN0aW9uKikKIHsKICAgICAvLyBFbWl0IHRoZSBKSVQgb3B0aW1pemF0aW9uIGNoZWNrOiAKICAg
ICBpZiAoY2FuQmVPcHRpbWl6ZWQoKSkgewotICAgICAgICBpZiAoT3B0aW9uczo6ZW5hYmxlT1NS
RW50cnlJbkxvb3BzKCkpIHsKLSAgICAgICAgICAgIGFkZFNsb3dDYXNlKGJyYW5jaEFkZDMyKFBv
c2l0aXZlT3JaZXJvLCBUcnVzdGVkSW1tMzIoT3B0aW9uczo6ZXhlY3V0aW9uQ291bnRlckluY3Jl
bWVudEZvckxvb3AoKSksCi0gICAgICAgICAgICAgICAgQWJzb2x1dGVBZGRyZXNzKG1fY29kZUJs
b2NrLT5hZGRyZXNzT2ZKSVRFeGVjdXRlQ291bnRlcigpKSkpOwotICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgLy8gQWRkIHdpdGggc2F0dXJhdGlvbi4KLSAgICAgICAgICAgIG1vdmUoVHJ1
c3RlZEltbVB0cihtX2NvZGVCbG9jay0+YWRkcmVzc09mSklURXhlY3V0ZUNvdW50ZXIoKSksIHJl
Z1QzKTsKLSAgICAgICAgICAgIGxvYWQzMihyZWdUMywgcmVnVDIpOwotICAgICAgICAgICAgSnVt
cCBkb250QWRkID0gYnJhbmNoMzIoCi0gICAgICAgICAgICAgICAgR3JlYXRlclRoYW4sIHJlZ1Qy
LAotICAgICAgICAgICAgICAgIFRydXN0ZWRJbW0zMihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMy
X3Q+OjptYXgoKSAtIE9wdGlvbnM6OmV4ZWN1dGlvbkNvdW50ZXJJbmNyZW1lbnRGb3JMb29wKCkp
KTsKLSAgICAgICAgICAgIGFkZDMyKFRydXN0ZWRJbW0zMihPcHRpb25zOjpleGVjdXRpb25Db3Vu
dGVySW5jcmVtZW50Rm9yTG9vcCgpKSwgcmVnVDIpOwotICAgICAgICAgICAgc3RvcmUzMihyZWdU
MiwgcmVnVDMpOwotICAgICAgICAgICAgZG9udEFkZC5saW5rKHRoaXMpOwotICAgICAgICB9Cisg
ICAgICAgIGFkZFNsb3dDYXNlKGJyYW5jaEFkZDMyKFBvc2l0aXZlT3JaZXJvLCBUcnVzdGVkSW1t
MzIoT3B0aW9uczo6ZXhlY3V0aW9uQ291bnRlckluY3JlbWVudEZvckxvb3AoKSksCisgICAgICAg
ICAgICBBYnNvbHV0ZUFkZHJlc3MobV9jb2RlQmxvY2stPmFkZHJlc3NPZkpJVEV4ZWN1dGVDb3Vu
dGVyKCkpKSk7CiAgICAgfQogCiAgICAgLy8gRW1pdCB0aGUgd2F0Y2hkb2cgdGltZXIgY2hlY2s6
CkBAIC0xMTI4LDExICsxMTAyLDEyIEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9sb29wX2hpbnQo
SW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJiBpCiB7CiAjaWYg
RU5BQkxFKERGR19KSVQpCiAgICAgLy8gRW1pdCB0aGUgc2xvdyBwYXRoIGZvciB0aGUgSklUIG9w
dGltaXphdGlvbiBjaGVjazoKLSAgICBpZiAoY2FuQmVPcHRpbWl6ZWQoKSAmJiBPcHRpb25zOjpl
bmFibGVPU1JFbnRyeUluTG9vcHMoKSkgeworICAgIGlmIChjYW5CZU9wdGltaXplZCgpKSB7CiAg
ICAgICAgIGxpbmtTbG93Q2FzZShpdGVyKTsKICAgICAgICAgCiAgICAgICAgIGNhbGxPcGVyYXRp
b24ob3BlcmF0aW9uT3B0aW1pemUsIG1fYnl0ZWNvZGVPZmZzZXQpOwogICAgICAgICBKdW1wIG5v
T3B0aW1pemVkRW50cnkgPSBicmFuY2hUZXN0UHRyKFplcm8sIHJldHVyblZhbHVlR1BSKTsKKyAg
ICAgICAgbW92ZShyZXR1cm5WYWx1ZUdQUjIsIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKICAgICAg
ICAganVtcChyZXR1cm5WYWx1ZUdQUik7CiAgICAgICAgIG5vT3B0aW1pemVkRW50cnkubGluayh0
aGlzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVz
MzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3Bw
CmluZGV4IDI5ZTg4ODBhYTU2NWM1MmRkNjNiZjMyNDZhNTBiYTg5OTlmNWUwY2MuLjk4ZDEwYTNm
NGRjYjEyZDg5ZjM3YTEyZjIyNjA0Yjk0NmUwOGU2MjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDA5LCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgUGF0cmljayBHYW5zdGVy
ZXIgPHBhcm9nYUBwYXJvZ2EuY29tPgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzksNiArMzksNyBA
QAogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lSXRlcmF0b3IuaCIKICNpbmNsdWRlICJKU1Zhcmlh
YmxlT2JqZWN0LmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgorI2luY2x1ZGUgIk1heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmgiCiAjaW5jbHVkZSAiU2xvd1BhdGhDYWxsLmgiCiAjaW5j
bHVkZSAiVmlydHVhbFJlZ2lzdGVyLmgiCiAKQEAgLTQ4LDYgKzQ5LDcgQEAgSklUOjpDb2RlUmVm
IEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElOYXRpdmVDYWxsKFZNKiB2bSwgTmF0aXZlRnVuY3Rpb24g
ZnVuYykKIHsKICAgICBDYWxsIG5hdGl2ZUNhbGw7CiAKKyAgICBlbWl0RnVuY3Rpb25Qcm9sb2d1
ZSgpOwogICAgIGVtaXRQdXRJbW1lZGlhdGVUb0NhbGxGcmFtZUhlYWRlcigwLCBKU1N0YWNrOjpD
b2RlQmxvY2spOwogICAgIHN0b3JlUHRyKGNhbGxGcmFtZVJlZ2lzdGVyLCAmbV92bS0+dG9wQ2Fs
bEZyYW1lKTsKIApAQCAtNTgsMjEgKzYwLDE3IEBAIEpJVDo6Q29kZVJlZiBKSVQ6OnByaXZhdGVD
b21waWxlQ1RJTmF0aXZlQ2FsbChWTSogdm0sIE5hdGl2ZUZ1bmN0aW9uIGZ1bmMpCiAgICAgZW1p
dEdldEZyb21DYWxsRnJhbWVIZWFkZXJQdHIoSlNTdGFjazo6U2NvcGVDaGFpbiwgcmVnVDEsIHJl
Z1QwKTsKICAgICBlbWl0UHV0Q2VsbFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QxLCBKU1N0YWNrOjpT
Y29wZUNoYWluKTsKIAotICAgIHBlZWsocmVnVDEpOwotICAgIGVtaXRQdXRSZXR1cm5QQ1RvQ2Fs
bEZyYW1lSGVhZGVyKHJlZ1QxKTsKLQogICAgIC8vIENhbGxpbmcgY29udmVudGlvbjogICAgICBm
KGVjeCwgZWR4LCAuLi4pOwogICAgIC8vIEhvc3QgZnVuY3Rpb24gc2lnbmF0dXJlOiBmKEV4ZWNT
dGF0ZSopOwogICAgIG1vdmUoY2FsbEZyYW1lUmVnaXN0ZXIsIFg4NlJlZ2lzdGVyczo6ZWN4KTsK
IAotICAgIHN1YlB0cihUcnVzdGVkSW1tMzIoMTYgLSBzaXplb2Yodm9pZCopKSwgc3RhY2tQb2lu
dGVyUmVnaXN0ZXIpOyAvLyBBbGlnbiBzdGFjayBhZnRlciBjYWxsLgotCi0gICAgbW92ZShyZWdU
MCwgY2FsbEZyYW1lUmVnaXN0ZXIpOyAvLyBFYWdlcmx5IHJlc3RvcmUgY2FsbGVyIGZyYW1lIHJl
Z2lzdGVyIHRvIGF2b2lkIGxvYWRpbmcgZnJvbSBzdGFjay4KKyAgICBzdWJQdHIoVHJ1c3RlZElt
bTMyKDgpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7IC8vIEFsaWduIHN0YWNrIGZvciBjYWxsLgor
ICAgIHN0b3JlUHRyKFg4NlJlZ2lzdGVyczo6ZWN4LCBBZGRyZXNzKHN0YWNrUG9pbnRlclJlZ2lz
dGVyKSk7CiAKICAgICAvLyBjYWxsIHRoZSBmdW5jdGlvbgogICAgIG5hdGl2ZUNhbGwgPSBjYWxs
KCk7CiAKLSAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKDE2IC0gc2l6ZW9mKHZvaWQqKSksIHN0YWNr
UG9pbnRlclJlZ2lzdGVyKTsKKyAgICBhZGRQdHIoVHJ1c3RlZEltbTMyKDgpLCBzdGFja1BvaW50
ZXJSZWdpc3Rlcik7CiAKICNlbGlmIENQVShBUk0pIHx8IENQVShTSDQpIHx8IENQVShNSVBTKQog
ICAgIC8vIExvYWQgY2FsbGVyIGZyYW1lJ3Mgc2NvcGUgY2hhaW4gaW50byB0aGlzIGNhbGxmcmFt
ZSBzbyB0aGF0IHdoYXRldmVyIHdlIGNhbGwgY2FuIGdldCB0byBpdHMgZ2xvYmFsIGRhdGEuCkBA
IC04MCw5ICs3OCw2IEBAIEpJVDo6Q29kZVJlZiBKSVQ6OnByaXZhdGVDb21waWxlQ1RJTmF0aXZl
Q2FsbChWTSogdm0sIE5hdGl2ZUZ1bmN0aW9uIGZ1bmMpCiAgICAgZW1pdEdldEZyb21DYWxsRnJh
bWVIZWFkZXJQdHIoSlNTdGFjazo6U2NvcGVDaGFpbiwgcmVnVDEsIHJlZ1QyKTsKICAgICBlbWl0
UHV0Q2VsbFRvQ2FsbEZyYW1lSGVhZGVyKHJlZ1QxLCBKU1N0YWNrOjpTY29wZUNoYWluKTsKIAot
ICAgIHByZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVyQ2FsbChyZWdUMyk7IC8vIENhbGxlZSBwcmVz
ZXJ2ZWQKLSAgICBlbWl0UHV0UmV0dXJuUENUb0NhbGxGcmFtZUhlYWRlcihyZWdUMyk7Ci0KICNp
ZiBDUFUoTUlQUykKICAgICAvLyBBbGxvY2F0ZSBzdGFjayBzcGFjZSBmb3IgKHVudXNlZCkgMTYg
Ynl0ZXMgKDgtYnl0ZSBhbGlnbmVkKSBmb3IgNCBhcmd1bWVudHMuCiAgICAgc3ViUHRyKFRydXN0
ZWRJbW0zMigxNiksIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKQEAgLTkzLDcgKzg4LDYgQEAgSklU
OjpDb2RlUmVmIEpJVDo6cHJpdmF0ZUNvbXBpbGVDVElOYXRpdmVDYWxsKFZNKiB2bSwgTmF0aXZl
RnVuY3Rpb24gZnVuYykKICAgICBtb3ZlKGNhbGxGcmFtZVJlZ2lzdGVyLCBhcmd1bWVudEdQUjAp
OwogCiAgICAgZW1pdEdldEZyb21DYWxsRnJhbWVIZWFkZXJQdHIoSlNTdGFjazo6Q2FsbGVlLCBh
cmd1bWVudEdQUjEpOwotICAgIG1vdmUocmVnVDIsIGNhbGxGcmFtZVJlZ2lzdGVyKTsgLy8gRWFn
ZXJseSByZXN0b3JlIGNhbGxlciBmcmFtZSByZWdpc3RlciB0byBhdm9pZCBsb2FkaW5nIGZyb20g
c3RhY2suCiAgICAgbG9hZFB0cihBZGRyZXNzKGFyZ3VtZW50R1BSMSwgT0JKRUNUX09GRlNFVE9G
KEpTRnVuY3Rpb24sIG1fZXhlY3V0YWJsZSkpLCByZWdUMik7CiAKICAgICAvLyBjYWxsIHRoZSBm
dW5jdGlvbgpAQCAtMTEzLDMwICsxMDcsMjcgQEAgSklUOjpDb2RlUmVmIEpJVDo6cHJpdmF0ZUNv
bXBpbGVDVElOYXRpdmVDYWxsKFZNKiB2bSwgTmF0aXZlRnVuY3Rpb24gZnVuYykKICAgICAvLyBD
aGVjayBmb3IgYW4gZXhjZXB0aW9uCiAgICAgSnVtcCBzYXdFeGNlcHRpb24gPSBicmFuY2gzMihO
b3RFcXVhbCwgQWJzb2x1dGVBZGRyZXNzKHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KHZtLT5hZGRy
ZXNzT2ZFeGNlcHRpb24oKSkgKyBPQkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMudGFn
KSksIFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpFbXB0eVZhbHVlVGFnKSk7IAogCisgICAgZW1pdEZ1
bmN0aW9uRXBpbG9ndWUoKTsKICAgICAvLyBSZXR1cm4uCiAgICAgcmV0KCk7CiAKICAgICAvLyBI
YW5kbGUgYW4gZXhjZXB0aW9uCiAgICAgc2F3RXhjZXB0aW9uLmxpbmsodGhpcyk7CiAKLSAgICAv
LyBHcmFiIHRoZSByZXR1cm4gYWRkcmVzcy4KLSAgICBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRl
ckNhbGwocmVnVDEpOwotCi0gICAgbW92ZShUcnVzdGVkSW1tUHRyKCZ2bS0+ZXhjZXB0aW9uTG9j
YXRpb24pLCByZWdUMik7Ci0gICAgc3RvcmVQdHIocmVnVDEsIHJlZ1QyKTsKICAgICBzdG9yZVB0
cihjYWxsRnJhbWVSZWdpc3RlciwgJm1fdm0tPnRvcENhbGxGcmFtZSk7CiAKICNpZiBDUFUoWDg2
KQotICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoLTEyKSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwot
ICAgIHB1c2goY2FsbEZyYW1lUmVnaXN0ZXIpOworICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoLTQp
LCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgbG9hZFB0cihBZGRyZXNzKGNhbGxGcmFtZVJl
Z2lzdGVyKSwgWDg2UmVnaXN0ZXJzOjplY3gpOworICAgIHB1c2goWDg2UmVnaXN0ZXJzOjplY3gp
OwogI2Vsc2UKLSAgICBtb3ZlKGNhbGxGcmFtZVJlZ2lzdGVyLCBhcmd1bWVudEdQUjApOworICAg
IGxvYWRQdHIoQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3RlciksIGFyZ3VtZW50R1BSMCk7CiAjZW5k
aWYKICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIoRnVuY3Rpb25QdHIob3BlcmF0aW9uVk1IYW5kbGVF
eGNlcHRpb24pLnZhbHVlKCkpLCByZWdUMyk7CiAgICAgY2FsbChyZWdUMyk7CiAKICNpZiBDUFUo
WDg2KQotICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoMTYpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7
CisgICAgYWRkUHRyKFRydXN0ZWRJbW0zMig4KSwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogI2Vu
ZGlmCiAKICAgICBqdW1wVG9FeGNlcHRpb25IYW5kbGVyKCk7CkBAIC0xNzUsNyArMTY2LDcgQEAg
dm9pZCBKSVQ6OmVtaXRfb3BfZW5kKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7
CiAgICAgQVNTRVJUKHJldHVyblZhbHVlR1BSICE9IGNhbGxGcmFtZVJlZ2lzdGVyKTsKICAgICBl
bWl0TG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kLCByZWdUMSwgcmVnVDApOwot
ICAgIHJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKEFkZHJlc3MoY2FsbEZyYW1lUmVn
aXN0ZXIsIENhbGxGcmFtZTo6cmV0dXJuUENPZmZzZXQoKSkpOworICAgIGVtaXRGdW5jdGlvbkVw
aWxvZ3VlKCk7CiAgICAgcmV0KCk7CiB9CiAKQEAgLTkyNyw2ICs5MTgsOSBAQCB2b2lkIEpJVDo6
ZW1pdF9vcF9jYXRjaChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIG1vdmUo
VHJ1c3RlZEltbVB0cihtX3ZtKSwgcmVnVDMpOwogICAgIC8vIG9wZXJhdGlvblRocm93IHJldHVy
bnMgdGhlIGNhbGxGcmFtZSBmb3IgdGhlIGhhbmRsZXIuCiAgICAgbG9hZDMyKEFkZHJlc3MocmVn
VDMsIFZNOjpjYWxsRnJhbWVGb3JUaHJvd09mZnNldCgpKSwgY2FsbEZyYW1lUmVnaXN0ZXIpOwor
CisgICAgYWRkUHRyKFRydXN0ZWRJbW0zMihzdGFja1BvaW50ZXJPZmZzZXRGb3IoY29kZUJsb2Nr
KCkpICogc2l6ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50ZXJS
ZWdpc3Rlcik7CisKICAgICAvLyBOb3cgc3RvcmUgdGhlIGV4Y2VwdGlvbiByZXR1cm5lZCBieSBv
cGVyYXRpb25UaHJvdy4KICAgICBsb2FkMzIoQWRkcmVzcyhyZWdUMywgVk06OmV4Y2VwdGlvbk9m
ZnNldCgpICsgT0JKRUNUX09GRlNFVE9GKEpTVmFsdWUsIHUuYXNCaXRzLnBheWxvYWQpKSwgcmVn
VDApOwogICAgIGxvYWQzMihBZGRyZXNzKHJlZ1QzLCBWTTo6ZXhjZXB0aW9uT2Zmc2V0KCkgKyBP
QkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMudGFnKSksIHJlZ1QxKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4IDViNjYwYWRhNDg4ZDUx
ZmQzMjk3MTk2ZTUyMjdlYjJkNGE4MGYwM2MuLjUwM2NmN2Q5Njk1ZGUxMTBlMmNlOTFhYzFlYzJk
NGNiNzFhZGQ4MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bl
cmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25z
LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMzAsMTIgKzMwLDEyIEBACiAjaW5jbHVkZSAiQXJndW1lbnRzLmgiCiAjaW5jbHVkZSAi
QXJyYXlDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkNhbGxGcmFtZUlubGluZXMuaCIKLSNpbmNs
dWRlICJDb21tb25TbG93UGF0aHMuaCIKICNpbmNsdWRlICJERkdDb21waWxhdGlvbk1vZGUuaCIK
ICNpbmNsdWRlICJERkdEcml2ZXIuaCIKICNpbmNsdWRlICJERkdPU1JFbnRyeS5oIgogI2luY2x1
ZGUgIkRGR1dvcmtsaXN0LmgiCiAjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJFcnJvckhh
bmRsaW5nU2NvcGUuaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJIb3N0
Q2FsbFJldHVyblZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgiCkBAIC03MSw3ICs3MSw3IEBAIHZv
aWQgKiBfUmV0dXJuQWRkcmVzcyh2b2lkKTsKICNlbmRpZgogCiAKLXZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25TdGFja0NoZWNrKEV4ZWNTdGF0ZSogZXhlYywgQ29kZUJsb2NrKiBjb2RlQmxv
Y2spCit2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVGhyb3dTdGFja092ZXJmbG93RXJyb3Io
RXhlY1N0YXRlKiBleGVjLCBDb2RlQmxvY2sqIGNvZGVCbG9jaykKIHsKICAgICAvLyBXZSBwYXNz
IGluIG91ciBvd24gY29kZSBibG9jaywgYmVjYXVzZSB0aGUgY2FsbGZyYW1lIGhhc24ndCBiZWVu
IHBvcHVsYXRlZC4KICAgICBWTSogdm0gPSBjb2RlQmxvY2stPnZtKCk7CkBAIC04MCwxMSArODAs
OCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uU3RhY2tDaGVjayhFeGVjU3RhdGUqIGV4
ZWMsIENvZGVCbG9jayogY29kZUJsb2NrKQogICAgICAgICBjYWxsZXJGcmFtZSA9IGV4ZWM7CiAK
ICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBjYWxsZXJGcmFtZSk7Ci0KLSAg
ICBKU1N0YWNrJiBzdGFjayA9IHZtLT5pbnRlcnByZXRlci0+c3RhY2soKTsKLQotICAgIGlmIChV
TkxJS0VMWSghc3RhY2suZ3JvdygmZXhlYy0+cmVnaXN0ZXJzKClbdmlydHVhbFJlZ2lzdGVyRm9y
TG9jYWwoY29kZUJsb2NrLT5mcmFtZVJlZ2lzdGVyQ291bnQoKSkub2Zmc2V0KCldKSkpCi0gICAg
ICAgIHZtLT50aHJvd0V4Y2VwdGlvbihjYWxsZXJGcmFtZSwgY3JlYXRlU3RhY2tPdmVyZmxvd0Vy
cm9yKGNhbGxlckZyYW1lKSk7CisgICAgRXJyb3JIYW5kbGluZ1Njb3BlIGVycm9yU2NvcGUoKnZt
KTsKKyAgICB2bS0+dGhyb3dFeGNlcHRpb24oY2FsbGVyRnJhbWUsIGNyZWF0ZVN0YWNrT3ZlcmZs
b3dFcnJvcihjYWxsZXJGcmFtZSkpOwogfQogCiBpbnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uQ2FsbEFyaXR5Q2hlY2soRXhlY1N0YXRlKiBleGVjKQpAQCAtOTcsNyArOTQsNyBAQCBpbnQz
Ml90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ2FsbEFyaXR5Q2hlY2soRXhlY1N0YXRlKiBleGVj
KQogCiAgICAgaW50MzJfdCBtaXNzaW5nQXJnQ291bnQgPSBDb21tb25TbG93UGF0aHM6OmFyaXR5
Q2hlY2tGb3IoZXhlYywgJnN0YWNrLCBDb2RlRm9yQ2FsbCk7CiAgICAgaWYgKG1pc3NpbmdBcmdD
b3VudCA8IDApCi0gICAgICAgIHZtLT50aHJvd0V4Y2VwdGlvbihjYWxsZXJGcmFtZSwgY3JlYXRl
U3RhY2tPdmVyZmxvd0Vycm9yKGNhbGxlckZyYW1lKSk7CisgICAgICAgIHRocm93U3RhY2tPdmVy
Zmxvd0Vycm9yKGNhbGxlckZyYW1lKTsKIAogICAgIHJldHVybiBtaXNzaW5nQXJnQ291bnQ7CiB9
CkBAIC0xMTIsNyArMTA5LDcgQEAgaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNvbnN0
cnVjdEFyaXR5Q2hlY2soRXhlY1N0YXRlKiBleGVjKQogCiAgICAgaW50MzJfdCBtaXNzaW5nQXJn
Q291bnQgPSBDb21tb25TbG93UGF0aHM6OmFyaXR5Q2hlY2tGb3IoZXhlYywgJnN0YWNrLCBDb2Rl
Rm9yQ29uc3RydWN0KTsKICAgICBpZiAobWlzc2luZ0FyZ0NvdW50IDwgMCkKLSAgICAgICAgdm0t
PnRocm93RXhjZXB0aW9uKGNhbGxlckZyYW1lLCBjcmVhdGVTdGFja092ZXJmbG93RXJyb3IoY2Fs
bGVyRnJhbWUpKTsKKyAgICAgICAgdGhyb3dTdGFja092ZXJmbG93RXJyb3IoY2FsbGVyRnJhbWUp
OwogCiAgICAgcmV0dXJuIG1pc3NpbmdBcmdDb3VudDsKIH0KQEAgLTYxMiwxNSArNjA5LDEzIEBA
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25EaXJlY3RQdXRCeVZhbEdlbmVyaWMoRXhlY1N0
YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1CiAgICAgZGlyZWN0UHV0QnlWYWwoZXhlYywgYXNPYmpl
Y3QoYmFzZVZhbHVlKSwgc3Vic2NyaXB0LCB2YWx1ZSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uQ2FsbEV2YWwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlKQorRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25DYWxsRXZhbChFeGVjU3RhdGUqIGV4
ZWMsIEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSkKIHsKLSAgICBDYWxsRnJhbWUqIGNhbGxlckZyYW1l
ID0gZXhlY0NhbGxlZS0+Y2FsbGVyRnJhbWUoKTsKLSAgICBBU1NFUlQoZXhlY0NhbGxlZS0+Y2Fs
bGVyRnJhbWUoKS0+Y29kZUJsb2NrKCktPmNvZGVUeXBlKCkgIT0gRnVuY3Rpb25Db2RlCi0gICAg
ICAgIHx8ICFleGVjQ2FsbGVlLT5jYWxsZXJGcmFtZSgpLT5jb2RlQmxvY2soKS0+bmVlZHNGdWxs
U2NvcGVDaGFpbigpCi0gICAgICAgIHx8IGV4ZWNDYWxsZWUtPmNhbGxlckZyYW1lKCktPnVuY2hl
Y2tlZFIoZXhlY0NhbGxlZS0+Y2FsbGVyRnJhbWUoKS0+Y29kZUJsb2NrKCktPmFjdGl2YXRpb25S
ZWdpc3RlcigpLm9mZnNldCgpKS5qc1ZhbHVlKCkpOworICAgIEFTU0VSVChleGVjLT5jb2RlQmxv
Y2soKS0+Y29kZVR5cGUoKSAhPSBGdW5jdGlvbkNvZGUKKyAgICAgICAgfHwgIWV4ZWMtPmNvZGVC
bG9jaygpLT5uZWVkc0Z1bGxTY29wZUNoYWluKCkKKyAgICAgICAgfHwgZXhlYy0+dW5jaGVja2Vk
UihleGVjLT5jb2RlQmxvY2soKS0+YWN0aXZhdGlvblJlZ2lzdGVyKCkub2Zmc2V0KCkpLmpzVmFs
dWUoKSk7CiAKLSAgICBleGVjQ2FsbGVlLT5zZXRTY29wZShjYWxsZXJGcmFtZS0+c2NvcGUoKSk7
Ci0gICAgZXhlY0NhbGxlZS0+c2V0UmV0dXJuUEMoc3RhdGljX2Nhc3Q8SW5zdHJ1Y3Rpb24qPihP
VVJfUkVUVVJOX0FERFJFU1MpKTsKKyAgICBleGVjQ2FsbGVlLT5zZXRTY29wZShleGVjLT5zY29w
ZSgpKTsKICAgICBleGVjQ2FsbGVlLT5zZXRDb2RlQmxvY2soMCk7CiAKICAgICBpZiAoIWlzSG9z
dEZ1bmN0aW9uKGV4ZWNDYWxsZWUtPmNhbGxlZUFzVmFsdWUoKSwgZ2xvYmFsRnVuY0V2YWwpKQpA
QCAtNjg1LDcgKzY4MCw4IEBAIHN0YXRpYyB2b2lkKiBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUq
IGV4ZWNDYWxsZWUsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6CiAgICAgcmV0dXJuIHZt
LT5nZXRDVElTdHViKHRocm93RXhjZXB0aW9uRnJvbUNhbGxTbG93UGF0aEdlbmVyYXRvcikuY29k
ZSgpLmV4ZWN1dGFibGVBZGRyZXNzKCk7CiB9CiAKLWlubGluZSBjaGFyKiBsaW5rRm9yKEV4ZWNT
dGF0ZSogZXhlY0NhbGxlZSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQoraW5saW5lIGNo
YXIqIGxpbmtGb3IoCisgICAgRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBDb2RlU3BlY2lhbGl6YXRp
b25LaW5kIGtpbmQsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZSByZWdpc3RlcnMpCiB7CiAgICAg
RXhlY1N0YXRlKiBleGVjID0gZXhlY0NhbGxlZS0+Y2FsbGVyRnJhbWUoKTsKICAgICBWTSogdm0g
PSAmZXhlYy0+dm0oKTsKQEAgLTcwMywzOSArNjk5LDUzIEBAIGlubGluZSBjaGFyKiBsaW5rRm9y
KEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQogICAg
IE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBjb2RlUHRyOwogICAgIENvZGVCbG9jayogY29kZUJsb2Nr
ID0gMDsKICAgICBDYWxsTGlua0luZm8mIGNhbGxMaW5rSW5mbyA9IGV4ZWMtPmNvZGVCbG9jaygp
LT5nZXRDYWxsTGlua0luZm8oZXhlY0NhbGxlZS0+cmV0dXJuUEMoKSk7Ci0gICAgaWYgKGV4ZWN1
dGFibGUtPmlzSG9zdEZ1bmN0aW9uKCkpCi0gICAgICAgIGNvZGVQdHIgPSBleGVjdXRhYmxlLT5n
ZW5lcmF0ZWRKSVRDb2RlRm9yKGtpbmQpLT5hZGRyZXNzRm9yQ2FsbCgpOwotICAgIGVsc2Ugewor
ICAgIGlmIChleGVjdXRhYmxlLT5pc0hvc3RGdW5jdGlvbigpKSB7CisgICAgICAgIGNvZGVQdHIg
PSBleGVjdXRhYmxlLT5lbnRyeXBvaW50Rm9yKCp2bSwga2luZCwgTXVzdENoZWNrQXJpdHksIHJl
Z2lzdGVycyk7CisgICAgfSBlbHNlIHsKICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5j
dGlvbkV4ZWN1dGFibGUgPSBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihleGVjdXRh
YmxlKTsKICAgICAgICAgSlNPYmplY3QqIGVycm9yID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5wcmVw
YXJlRm9yRXhlY3V0aW9uKGV4ZWNDYWxsZWUsIGNhbGxlZS0+c2NvcGUoKSwga2luZCk7CiAgICAg
ICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgdm0tPnRocm93RXhjZXB0aW9uKGV4ZWMsIGNy
ZWF0ZVN0YWNrT3ZlcmZsb3dFcnJvcihleGVjKSk7CisgICAgICAgICAgICB0aHJvd1N0YWNrT3Zl
cmZsb3dFcnJvcihleGVjKTsKICAgICAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNo
YXIqPih2bS0+Z2V0Q1RJU3R1Yih0aHJvd0V4Y2VwdGlvbkZyb21DYWxsU2xvd1BhdGhHZW5lcmF0
b3IpLmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpKTsKICAgICAgICAgfQogICAgICAgICBjb2Rl
QmxvY2sgPSBmdW5jdGlvbkV4ZWN1dGFibGUtPmNvZGVCbG9ja0ZvcihraW5kKTsKKyAgICAgICAg
QXJpdHlDaGVja01vZGUgYXJpdHk7CiAgICAgICAgIGlmIChleGVjQ2FsbGVlLT5hcmd1bWVudENv
dW50SW5jbHVkaW5nVGhpcygpIDwgc3RhdGljX2Nhc3Q8c2l6ZV90Pihjb2RlQmxvY2stPm51bVBh
cmFtZXRlcnMoKSkgfHwgY2FsbExpbmtJbmZvLmNhbGxUeXBlID09IENhbGxMaW5rSW5mbzo6Q2Fs
bFZhcmFyZ3MpCi0gICAgICAgICAgICBjb2RlUHRyID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5nZW5l
cmF0ZWRKSVRDb2RlV2l0aEFyaXR5Q2hlY2tGb3Ioa2luZCk7CisgICAgICAgICAgICBhcml0eSA9
IE11c3RDaGVja0FyaXR5OwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBjb2RlUHRyID0gZnVu
Y3Rpb25FeGVjdXRhYmxlLT5nZW5lcmF0ZWRKSVRDb2RlRm9yKGtpbmQpLT5hZGRyZXNzRm9yQ2Fs
bCgpOworICAgICAgICAgICAgYXJpdHkgPSBBcml0eUNoZWNrTm90UmVxdWlyZWQ7CisgICAgICAg
IGNvZGVQdHIgPSBmdW5jdGlvbkV4ZWN1dGFibGUtPmVudHJ5cG9pbnRGb3IoKnZtLCBraW5kLCBh
cml0eSwgcmVnaXN0ZXJzKTsKICAgICB9CiAgICAgaWYgKCFjYWxsTGlua0luZm8uc2Vlbk9uY2Uo
KSkKICAgICAgICAgY2FsbExpbmtJbmZvLnNldFNlZW4oKTsKICAgICBlbHNlCi0gICAgICAgIGxp
bmtGb3IoZXhlY0NhbGxlZSwgY2FsbExpbmtJbmZvLCBjb2RlQmxvY2ssIGNhbGxlZSwgY29kZVB0
ciwga2luZCk7CisgICAgICAgIGxpbmtGb3IoZXhlY0NhbGxlZSwgY2FsbExpbmtJbmZvLCBjb2Rl
QmxvY2ssIGNhbGxlZSwgY29kZVB0ciwga2luZCwgcmVnaXN0ZXJzKTsKICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxjaGFyKj4oY29kZVB0ci5leGVjdXRhYmxlQWRkcmVzcygpKTsKIH0KIAog
Y2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5rQ2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxs
ZWUpCiB7Ci0gICAgcmV0dXJuIGxpbmtGb3IoZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwpOworICAg
IHJldHVybiBsaW5rRm9yKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxsLCBSZWdpc3RlclByZXNlcnZh
dGlvbk5vdFJlcXVpcmVkKTsKIH0KIAogY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5r
Q29uc3RydWN0KEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSkKIHsKLSAgICByZXR1cm4gbGlua0Zvcihl
eGVjQ2FsbGVlLCBDb2RlRm9yQ29uc3RydWN0KTsKKyAgICByZXR1cm4gbGlua0ZvcihleGVjQ2Fs
bGVlLCBDb2RlRm9yQ29uc3RydWN0LCBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsK
K30KKworY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5rQ2FsbFRoYXRQcmVzZXJ2ZXNS
ZWdzKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSkKK3sKKyAgICByZXR1cm4gbGlua0ZvcihleGVjQ2Fs
bGVlLCBDb2RlRm9yQ2FsbCwgTXVzdFByZXNlcnZlUmVnaXN0ZXJzKTsKIH0KIAotaW5saW5lIGNo
YXIqIHZpcnR1YWxGb3JXaXRoRnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBDb2RlU3Bl
Y2lhbGl6YXRpb25LaW5kIGtpbmQsIEpTQ2VsbComIGNhbGxlZUFzRnVuY3Rpb25DZWxsKQorY2hh
ciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5rQ29uc3RydWN0VGhhdFByZXNlcnZlc1JlZ3Mo
RXhlY1N0YXRlKiBleGVjQ2FsbGVlKQoreworICAgIHJldHVybiBsaW5rRm9yKGV4ZWNDYWxsZWUs
IENvZGVGb3JDb25zdHJ1Y3QsIE11c3RQcmVzZXJ2ZVJlZ2lzdGVycyk7Cit9CisKK2lubGluZSBj
aGFyKiB2aXJ0dWFsRm9yV2l0aEZ1bmN0aW9uKAorICAgIEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwg
Q29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kLCBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGUgcmVn
aXN0ZXJzLAorICAgIEpTQ2VsbComIGNhbGxlZUFzRnVuY3Rpb25DZWxsKQogewogICAgIEV4ZWNT
dGF0ZSogZXhlYyA9IGV4ZWNDYWxsZWUtPmNhbGxlckZyYW1lKCk7CiAgICAgVk0qIHZtID0gJmV4
ZWMtPnZtKCk7CkBAIC03NTcsMTYgKzc2NywyMCBAQCBpbmxpbmUgY2hhciogdmlydHVhbEZvcldp
dGhGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIENvZGVTcGVjaWFsaXphdGlvbktpbgog
ICAgICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KHZtLT5nZXRDVElTdHVi
KHRocm93RXhjZXB0aW9uRnJvbUNhbGxTbG93UGF0aEdlbmVyYXRvcikuY29kZSgpLmV4ZWN1dGFi
bGVBZGRyZXNzKCkpOwogICAgICAgICB9CiAgICAgfQotICAgIHJldHVybiByZWludGVycHJldF9j
YXN0PGNoYXIqPihleGVjdXRhYmxlLT5nZW5lcmF0ZWRKSVRDb2RlV2l0aEFyaXR5Q2hlY2tGb3Io
a2luZCkuZXhlY3V0YWJsZUFkZHJlc3MoKSk7CisgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
Y2hhcio+KGV4ZWN1dGFibGUtPmVudHJ5cG9pbnRGb3IoCisgICAgICAgICp2bSwga2luZCwgTXVz
dENoZWNrQXJpdHksIHJlZ2lzdGVycykuZXhlY3V0YWJsZUFkZHJlc3MoKSk7CiB9CiAKLWlubGlu
ZSBjaGFyKiB2aXJ0dWFsRm9yKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgQ29kZVNwZWNpYWxpemF0
aW9uS2luZCBraW5kKQoraW5saW5lIGNoYXIqIHZpcnR1YWxGb3IoCisgICAgRXhlY1N0YXRlKiBl
eGVjQ2FsbGVlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQsIFJlZ2lzdGVyUHJlc2VydmF0
aW9uTW9kZSByZWdpc3RlcnMpCiB7CiAgICAgSlNDZWxsKiBjYWxsZWVBc0Z1bmN0aW9uQ2VsbEln
bm9yZWQ7Ci0gICAgcmV0dXJuIHZpcnR1YWxGb3JXaXRoRnVuY3Rpb24oZXhlY0NhbGxlZSwga2lu
ZCwgY2FsbGVlQXNGdW5jdGlvbkNlbGxJZ25vcmVkKTsKKyAgICByZXR1cm4gdmlydHVhbEZvcldp
dGhGdW5jdGlvbihleGVjQ2FsbGVlLCBraW5kLCByZWdpc3RlcnMsIGNhbGxlZUFzRnVuY3Rpb25D
ZWxsSWdub3JlZCk7CiB9CiAKLXN0YXRpYyBib29sIGF0dGVtcHRUb09wdGltaXplQ2xvc3VyZUNh
bGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBKU0NlbGwqIGNhbGxlZUFzRnVuY3Rpb25DZWxsLCBD
YWxsTGlua0luZm8mIGNhbGxMaW5rSW5mbykKK3N0YXRpYyBib29sIGF0dGVtcHRUb09wdGltaXpl
Q2xvc3VyZUNhbGwoCisgICAgRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBSZWdpc3RlclByZXNlcnZh
dGlvbk1vZGUgcmVnaXN0ZXJzLCBKU0NlbGwqIGNhbGxlZUFzRnVuY3Rpb25DZWxsLAorICAgIENh
bGxMaW5rSW5mbyYgY2FsbExpbmtJbmZvKQogewogICAgIGlmICghY2FsbGVlQXNGdW5jdGlvbkNl
bGwpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTc4MCw3ICs3OTQsMTAgQEAgc3RhdGljIGJv
b2wgYXR0ZW1wdFRvT3B0aW1pemVDbG9zdXJlQ2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEpT
Q2VsbCogY2FsbGVlQXMKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAgIEFTU0VSVChj
YWxsZWUtPmV4ZWN1dGFibGUoKS0+aGFzSklUQ29kZUZvckNhbGwoKSk7Ci0gICAgTWFjcm9Bc3Nl
bWJsZXJDb2RlUHRyIGNvZGVQdHIgPSBjYWxsZWUtPmV4ZWN1dGFibGUoKS0+Z2VuZXJhdGVkSklU
Q29kZUZvckNhbGwoKS0+YWRkcmVzc0ZvckNhbGwoKTsKKyAgICBNYWNyb0Fzc2VtYmxlckNvZGVQ
dHIgY29kZVB0ciA9CisgICAgICAgIGNhbGxlZS0+ZXhlY3V0YWJsZSgpLT5nZW5lcmF0ZWRKSVRD
b2RlRm9yQ2FsbCgpLT5hZGRyZXNzRm9yQ2FsbCgKKyAgICAgICAgICAgICpleGVjQ2FsbGVlLT5j
YWxsZXJGcmFtZSgpLT5jb2RlQmxvY2soKS0+dm0oKSwgY2FsbGVlLT5leGVjdXRhYmxlKCksCisg
ICAgICAgICAgICBBcml0eUNoZWNrTm90UmVxdWlyZWQsIHJlZ2lzdGVycyk7CiAgICAgCiAgICAg
Q29kZUJsb2NrKiBjb2RlQmxvY2s7CiAgICAgaWYgKGNhbGxlZS0+ZXhlY3V0YWJsZSgpLT5pc0hv
c3RGdW5jdGlvbigpKQpAQCAtNzkzLDcgKzgxMCw3IEBAIHN0YXRpYyBib29sIGF0dGVtcHRUb09w
dGltaXplQ2xvc3VyZUNhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBKU0NlbGwqIGNhbGxlZUFz
CiAgICAgCiAgICAgbGlua0Nsb3N1cmVDYWxsKAogICAgICAgICBleGVjQ2FsbGVlLCBjYWxsTGlu
a0luZm8sIGNvZGVCbG9jaywKLSAgICAgICAgY2FsbGVlLT5zdHJ1Y3R1cmUoKSwgY2FsbGVlLT5l
eGVjdXRhYmxlKCksIGNvZGVQdHIpOworICAgICAgICBjYWxsZWUtPnN0cnVjdHVyZSgpLCBjYWxs
ZWUtPmV4ZWN1dGFibGUoKSwgY29kZVB0ciwgcmVnaXN0ZXJzKTsKICAgICAKICAgICByZXR1cm4g
dHJ1ZTsKIH0KQEAgLTgwMSwyNSArODE4LDQ2IEBAIHN0YXRpYyBib29sIGF0dGVtcHRUb09wdGlt
aXplQ2xvc3VyZUNhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBKU0NlbGwqIGNhbGxlZUFzCiBj
aGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxpbmtDbG9zdXJlQ2FsbChFeGVjU3RhdGUqIGV4
ZWNDYWxsZWUpCiB7CiAgICAgSlNDZWxsKiBjYWxsZWVBc0Z1bmN0aW9uQ2VsbDsKLSAgICBjaGFy
KiByZXN1bHQgPSB2aXJ0dWFsRm9yV2l0aEZ1bmN0aW9uKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxs
LCBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCk7CisgICAgY2hhciogcmVzdWx0ID0gdmlydHVhbEZvcldp
dGhGdW5jdGlvbihleGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25O
b3RSZXF1aXJlZCwgY2FsbGVlQXNGdW5jdGlvbkNlbGwpOwogICAgIENhbGxMaW5rSW5mbyYgY2Fs
bExpbmtJbmZvID0gZXhlY0NhbGxlZS0+Y2FsbGVyRnJhbWUoKS0+Y29kZUJsb2NrKCktPmdldENh
bGxMaW5rSW5mbyhleGVjQ2FsbGVlLT5yZXR1cm5QQygpKTsKIAotICAgIGlmICghYXR0ZW1wdFRv
T3B0aW1pemVDbG9zdXJlQ2FsbChleGVjQ2FsbGVlLCBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCwgY2Fs
bExpbmtJbmZvKSkKLSAgICAgICAgbGlua1Nsb3dGb3IoZXhlY0NhbGxlZSwgY2FsbExpbmtJbmZv
LCBDb2RlRm9yQ2FsbCk7CisgICAgaWYgKCFhdHRlbXB0VG9PcHRpbWl6ZUNsb3N1cmVDYWxsKGV4
ZWNDYWxsZWUsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQsIGNhbGxlZUFzRnVuY3Rp
b25DZWxsLCBjYWxsTGlua0luZm8pKQorICAgICAgICBsaW5rU2xvd0ZvcihleGVjQ2FsbGVlLCBj
YWxsTGlua0luZm8sIENvZGVGb3JDYWxsLCBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVk
KTsKICAgICAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblZpcnR1YWxDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSkKIHsgICAgCi0gICAgcmV0
dXJuIHZpcnR1YWxGb3IoZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwpOworICAgIHJldHVybiB2aXJ0
dWFsRm9yKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxsLCBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJl
cXVpcmVkKTsKIH0KIAogY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25WaXJ0dWFsQ29uc3Ry
dWN0KEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSkKIHsKLSAgICByZXR1cm4gdmlydHVhbEZvcihleGVj
Q2FsbGVlLCBDb2RlRm9yQ29uc3RydWN0KTsKKyAgICByZXR1cm4gdmlydHVhbEZvcihleGVjQ2Fs
bGVlLCBDb2RlRm9yQ29uc3RydWN0LCBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsK
IH0KIAorY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5rQ2xvc3VyZUNhbGxUaGF0UHJl
c2VydmVzUmVncyhFeGVjU3RhdGUqIGV4ZWNDYWxsZWUpCit7CisgICAgSlNDZWxsKiBjYWxsZWVB
c0Z1bmN0aW9uQ2VsbDsKKyAgICBjaGFyKiByZXN1bHQgPSB2aXJ0dWFsRm9yV2l0aEZ1bmN0aW9u
KGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxsLCBNdXN0UHJlc2VydmVSZWdpc3RlcnMsIGNhbGxlZUFz
RnVuY3Rpb25DZWxsKTsKKyAgICBDYWxsTGlua0luZm8mIGNhbGxMaW5rSW5mbyA9IGV4ZWNDYWxs
ZWUtPmNhbGxlckZyYW1lKCktPmNvZGVCbG9jaygpLT5nZXRDYWxsTGlua0luZm8oZXhlY0NhbGxl
ZS0+cmV0dXJuUEMoKSk7CisKKyAgICBpZiAoIWF0dGVtcHRUb09wdGltaXplQ2xvc3VyZUNhbGwo
ZXhlY0NhbGxlZSwgTXVzdFByZXNlcnZlUmVnaXN0ZXJzLCBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCwg
Y2FsbExpbmtJbmZvKSkKKyAgICAgICAgbGlua1Nsb3dGb3IoZXhlY0NhbGxlZSwgY2FsbExpbmtJ
bmZvLCBDb2RlRm9yQ2FsbCwgTXVzdFByZXNlcnZlUmVnaXN0ZXJzKTsKKyAgICAKKyAgICByZXR1
cm4gcmVzdWx0OworfQorCitjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZpcnR1YWxDYWxs
VGhhdFByZXNlcnZlc1JlZ3MoRXhlY1N0YXRlKiBleGVjQ2FsbGVlKQoreyAgICAKKyAgICByZXR1
cm4gdmlydHVhbEZvcihleGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgTXVzdFByZXNlcnZlUmVnaXN0
ZXJzKTsKK30KKworY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25WaXJ0dWFsQ29uc3RydWN0
VGhhdFByZXNlcnZlc1JlZ3MoRXhlY1N0YXRlKiBleGVjQ2FsbGVlKQoreworICAgIHJldHVybiB2
aXJ0dWFsRm9yKGV4ZWNDYWxsZWUsIENvZGVGb3JDb25zdHJ1Y3QsIE11c3RQcmVzZXJ2ZVJlZ2lz
dGVycyk7Cit9CiAKIHNpemVfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNvbXBhcmVMZXNzKEV4
ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZE9wMikKIHsKQEAgLTk3NCw3ICsxMDEyLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkRlYnVnKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBkZWJ1Z0hvb2tJRCkKIH0KIAog
I2lmIEVOQUJMRShERkdfSklUKQotY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6
ZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZWNvZGVJbmRleCkKK1Nsb3dQYXRoUmV0dXJu
VHlwZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50
MzJfdCBieXRlY29kZUluZGV4KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwpAQCAtMTAyNCw3ICsxMDYyLDcg
QEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMs
IGludDMyX3QgYnl0ZWNvZGVJbmRleCkKICAgICAgICAgY29kZUJsb2NrLT51cGRhdGVBbGxQcmVk
aWN0aW9ucygpOwogICAgICAgICBpZiAoT3B0aW9uczo6dmVyYm9zZU9TUigpKQogICAgICAgICAg
ICAgZGF0YUxvZygiQ2hvb3Npbmcgbm90IHRvIG9wdGltaXplICIsICpjb2RlQmxvY2ssICIgeWV0
LCBiZWNhdXNlIHRoZSB0aHJlc2hvbGQgaGFzbid0IGJlZW4gcmVhY2hlZC5cbiIpOwotICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIGVuY29kZVJlc3VsdCgwLCAwKTsKICAgICB9CiAg
ICAgCiAgICAgaWYgKGNvZGVCbG9jay0+bV9zaG91bGRBbHdheXNCZUlubGluZWQpIHsKQEAgLTEw
MzIsMTggKzEwNzAsMTkgQEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShF
eGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZWNvZGVJbmRleCkKICAgICAgICAgY29kZUJsb2Nr
LT5vcHRpbWl6ZUFmdGVyV2FybVVwKCk7CiAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NS
KCkpCiAgICAgICAgICAgICBkYXRhTG9nKCJDaG9vc2luZyBub3QgdG8gb3B0aW1pemUgIiwgKmNv
ZGVCbG9jaywgIiB5ZXQsIGJlY2F1c2UgbV9zaG91bGRBbHdheXNCZUlubGluZWQgPT0gdHJ1ZS5c
biIpOwotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIGVuY29kZVJlc3VsdCgwLCAw
KTsKICAgICB9CiAKICAgICAvLyBXZSBjYW5ub3QgYmUgaW4gdGhlIHByb2Nlc3Mgb2YgYXN5bmNo
cm9ub3VzIGNvbXBpbGF0aW9uIGFuZCBhbHNvIGhhdmUgYW4gb3B0aW1pemVkCiAgICAgLy8gcmVw
bGFjZW1lbnQuCisgICAgREZHOjpXb3JrbGlzdCogd29ya2xpc3QgPSBERkc6OmV4aXN0aW5nR2xv
YmFsREZHV29ya2xpc3RPck51bGwoKTsKICAgICBBU1NFUlQoCi0gICAgICAgICF2bS53b3JrbGlz
dAotICAgICAgICB8fCAhKHZtLndvcmtsaXN0LT5jb21waWxhdGlvblN0YXRlKERGRzo6Q29tcGls
YXRpb25LZXkoY29kZUJsb2NrLCBERkc6OkRGR01vZGUpKSAhPSBERkc6OldvcmtsaXN0OjpOb3RL
bm93bgorICAgICAgICAhd29ya2xpc3QKKyAgICAgICAgfHwgISh3b3JrbGlzdC0+Y29tcGlsYXRp
b25TdGF0ZShERkc6OkNvbXBpbGF0aW9uS2V5KGNvZGVCbG9jaywgREZHOjpERkdNb2RlKSkgIT0g
REZHOjpXb3JrbGlzdDo6Tm90S25vd24KICAgICAgICAgJiYgY29kZUJsb2NrLT5oYXNPcHRpbWl6
ZWRSZXBsYWNlbWVudCgpKSk7CiAKICAgICBERkc6OldvcmtsaXN0OjpTdGF0ZSB3b3JrbGlzdFN0
YXRlOwotICAgIGlmICh2bS53b3JrbGlzdCkgeworICAgIGlmICh3b3JrbGlzdCkgewogICAgICAg
ICAvLyBUaGUgY2FsbCB0byBERkc6OldvcmtsaXN0Ojpjb21wbGV0ZUFsbFJlYWR5UGxhbnNGb3JW
TSgpIHdpbGwgY29tcGxldGUgYWxsIHJlYWR5CiAgICAgICAgIC8vIChpLmUuIGNvbXBpbGVkKSBj
b2RlIGJsb2Nrcy4gQnV0IGlmIGl0IGNvbXBsZXRlcyBvdXJzLCB3ZSBhbHNvIG5lZWQgdG8ga25v
dwogICAgICAgICAvLyB3aGF0IHRoZSByZXN1bHQgd2FzIHNvIHRoYXQgd2UgZG9uJ3QgcGxvdyBh
aGVhZCBhbmQgYXR0ZW1wdCBPU1Igb3IgaW1tZWRpYXRlCkBAIC0xMDYyLDcgKzExMDEsNyBAQCBj
aGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50
MzJfdCBieXRlY29kZUluZGV4KQogICAgICAgICAvLyBwcm9iYWJseSBhIHdhc3RlIG9mIG1lbW9y
eS4gT3VyIGdvYWwgaGVyZSBpcyB0byBjb21wbGV0ZSBjb2RlIGJsb2NrcyBhcyBzb29uIGFzCiAg
ICAgICAgIC8vIHBvc3NpYmxlIGluIG9yZGVyIHRvIG1pbmltaXplIHRoZSBjaGFuY2VzIG9mIHVz
IGV4ZWN1dGluZyBiYXNlbGluZSBjb2RlIGFmdGVyCiAgICAgICAgIC8vIG9wdGltaXplZCBjb2Rl
IGlzIGFscmVhZHkgYXZhaWxhYmxlLgotICAgICAgICB3b3JrbGlzdFN0YXRlID0gdm0ud29ya2xp
c3QtPmNvbXBsZXRlQWxsUmVhZHlQbGFuc0ZvclZNKAorICAgICAgICB3b3JrbGlzdFN0YXRlID0g
d29ya2xpc3QtPmNvbXBsZXRlQWxsUmVhZHlQbGFuc0ZvclZNKAogICAgICAgICAgICAgdm0sIERG
Rzo6Q29tcGlsYXRpb25LZXkoY29kZUJsb2NrLCBERkc6OkRGR01vZGUpKTsKICAgICB9IGVsc2UK
ICAgICAgICAgd29ya2xpc3RTdGF0ZSA9IERGRzo6V29ya2xpc3Q6Ok5vdEtub3duOwpAQCAtMTA3
Miw3ICsxMTExLDcgQEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVj
U3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZWNvZGVJbmRleCkKICAgICAgICAgLy8gcmVwbGFjZW1l
bnQuCiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKCFjb2RlQmxvY2stPmhhc09wdGltaXplZFJlcGxh
Y2VtZW50KCkpOwogICAgICAgICBjb2RlQmxvY2stPnNldE9wdGltaXphdGlvblRocmVzaG9sZEJh
c2VkT25Db21waWxhdGlvblJlc3VsdChDb21waWxhdGlvbkRlZmVycmVkKTsKLSAgICAgICAgcmV0
dXJuIDA7CisgICAgICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CiAgICAgfQogCiAgICAg
aWYgKHdvcmtsaXN0U3RhdGUgPT0gREZHOjpXb3JrbGlzdDo6Q29tcGlsZWQpIHsKQEAgLTEwODUs
NyArMTEyNCw3IEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0
YXRlKiBleGVjLCBpbnQzMl90IGJ5dGVjb2RlSW5kZXgpCiAgICAgICAgICAgICBjb2RlQmxvY2st
PnVwZGF0ZUFsbFByZWRpY3Rpb25zKCk7CiAgICAgICAgICAgICBpZiAoT3B0aW9uczo6dmVyYm9z
ZU9TUigpKQogICAgICAgICAgICAgICAgIGRhdGFMb2coIkNvZGUgYmxvY2sgIiwgKmNvZGVCbG9j
aywgIiB3YXMgY29tcGlsZWQgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhbiBvcHRpbWl6ZWQgcmVwbGFj
ZW1lbnQuXG4iKTsKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJuIGVu
Y29kZVJlc3VsdCgwLCAwKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoY29kZUJsb2NrLT5o
YXNPcHRpbWl6ZWRSZXBsYWNlbWVudCgpKSB7CiAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJib3Nl
T1NSKCkpCkBAIC0xMTEwLDcgKzExNDksNyBAQCBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlY29kZUluZGV4KQogICAgICAg
ICAgICAgICAgICAgICAiKCIsICpjb2RlQmxvY2stPnJlcGxhY2VtZW50KCksICIpIChpbiBsb29w
KS5cbiIpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgY29kZUJsb2NrLT5yZXBsYWNlbWVu
dCgpLT5qZXR0aXNvbihDb3VudFJlb3B0aW1pemF0aW9uKTsKLSAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICAgICAgcmV0dXJuIGVuY29kZVJlc3VsdCgwLCAwKTsKICAgICAgICAgfQogICAg
IH0gZWxzZSB7CiAgICAgICAgIGlmICghY29kZUJsb2NrLT5zaG91bGRPcHRpbWl6ZU5vdygpKSB7
CkBAIC0xMTE5LDcgKzExNTgsNyBAQCBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGlt
aXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlY29kZUluZGV4KQogICAgICAgICAgICAg
ICAgICAgICAiRGVsYXlpbmcgb3B0aW1pemF0aW9uIGZvciAiLCAqY29kZUJsb2NrLAogICAgICAg
ICAgICAgICAgICAgICAiIGJlY2F1c2Ugb2YgaW5zdWZmaWNpZW50IHByb2ZpbGluZy5cbiIpOwog
ICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICByZXR1cm4g
ZW5jb2RlUmVzdWx0KDAsIDApOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKE9wdGlvbnM6OnZl
cmJvc2VPU1IoKSkKQEAgLTExNDcsMTIgKzExODYsMTEgQEAgY2hhciogSklUX09QRVJBVElPTiBv
cGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZWNvZGVJbmRleCkK
ICAgICAgICAgfQogCiAgICAgICAgIENvbXBpbGF0aW9uUmVzdWx0IHJlc3VsdCA9IERGRzo6Y29t
cGlsZSgKLSAgICAgICAgICAgIHZtLCBjb2RlQmxvY2stPm5ld1JlcGxhY2VtZW50KCkuZ2V0KCks
IERGRzo6REZHTW9kZSwgYnl0ZWNvZGVJbmRleCwKLSAgICAgICAgICAgIG11c3RIYW5kbGVWYWx1
ZXMsIEpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrOjpjcmVhdGUoKSwKLSAgICAg
ICAgICAgIHZtLmVuc3VyZVdvcmtsaXN0KCkpOworICAgICAgICAgICAgdm0sIGNvZGVCbG9jay0+
bmV3UmVwbGFjZW1lbnQoKS5nZXQoKSwgMCwgREZHOjpERkdNb2RlLCBieXRlY29kZUluZGV4LAor
ICAgICAgICAgICAgbXVzdEhhbmRsZVZhbHVlcywgSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9u
Q2FsbGJhY2s6OmNyZWF0ZSgpKTsKICAgICAgICAgCiAgICAgICAgIGlmIChyZXN1bHQgIT0gQ29t
cGlsYXRpb25TdWNjZXNzZnVsKQotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICBy
ZXR1cm4gZW5jb2RlUmVzdWx0KDAsIDApOwogICAgIH0KICAgICAKICAgICBDb2RlQmxvY2sqIG9w
dGltaXplZENvZGVCbG9jayA9IGNvZGVCbG9jay0+cmVwbGFjZW1lbnQoKTsKQEAgLTExNjYsNyAr
MTIwNCw4IEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0YXRl
KiBleGVjLCBpbnQzMl90IGJ5dGVjb2RlSW5kZXgpCiAgICAgICAgIH0KIAogICAgICAgICBjb2Rl
QmxvY2stPm9wdGltaXplU29vbigpOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y2hhcio+
KGFkZHJlc3MpOworICAgICAgICBBU1NFUlQoZXhlYy0+Y29kZUJsb2NrKCkgPT0gb3B0aW1pemVk
Q29kZUJsb2NrKTsKKyAgICAgICAgcmV0dXJuIGVuY29kZVJlc3VsdChhZGRyZXNzLCBleGVjLT50
b3BPZkZyYW1lKCkpOwogICAgIH0KIAogICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NSKCkpIHsK
QEAgLTExOTUsMTQgKzEyMzQsMTQgQEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRp
bWl6ZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZWNvZGVJbmRleCkKICAgICAgICAgICAg
ICAgICAqY29kZUJsb2NrLT5yZXBsYWNlbWVudCgpLCAiIChhZnRlciBPU1IgZmFpbCkuXG4iKTsK
ICAgICAgICAgfQogICAgICAgICBvcHRpbWl6ZWRDb2RlQmxvY2stPmpldHRpc29uKENvdW50UmVv
cHRpbWl6YXRpb24pOwotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIGVuY29kZVJl
c3VsdCgwLCAwKTsKICAgICB9CiAKICAgICAvLyBPU1IgZmFpbGVkIHRoaXMgdGltZSwgYnV0IGl0
IG1pZ2h0IHN1Y2NlZWQgbmV4dCB0aW1lISBMZXQgdGhlIGNvZGUgcnVuIGEgYml0CiAgICAgLy8g
bG9uZ2VyIGFuZCB0aGVuIHRyeSBhZ2Fpbi4KICAgICBjb2RlQmxvY2stPm9wdGltaXplQWZ0ZXJX
YXJtVXAoKTsKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gZW5jb2RlUmVzdWx0KDAs
IDApOwogfQogI2VuZGlmCiAKQEAgLTE1MzAsMTMgKzE1NjksMTMgQEAgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25JbnN0YW5jZU9mKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2Rl
ZEpTVmFsdWUKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihyZXN1bHQpKTsK
IH0KIAotQ2FsbEZyYW1lKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblNpemVBbmRBbGxvY0ZyYW1l
Rm9yVmFyYXJncyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRBcmd1bWVu
dHMsIGludDMyX3QgZmlyc3RGcmVlUmVnaXN0ZXIpCitDYWxsRnJhbWUqIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uU2l6ZUZyYW1lRm9yVmFyYXJncyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRBcmd1bWVudHMsIGludDMyX3QgZmlyc3RGcmVlUmVnaXN0ZXIpCiB7CiAgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2
bSwgZXhlYyk7CiAgICAgSlNTdGFjayogc3RhY2sgPSAmZXhlYy0+aW50ZXJwcmV0ZXIoKS0+c3Rh
Y2soKTsKICAgICBKU1ZhbHVlIGFyZ3VtZW50cyA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQXJn
dW1lbnRzKTsKLSAgICBDYWxsRnJhbWUqIG5ld0NhbGxGcmFtZSA9IHNpemVBbmRBbGxvY0ZyYW1l
Rm9yVmFyYXJncyhleGVjLCBzdGFjaywgYXJndW1lbnRzLCBmaXJzdEZyZWVSZWdpc3Rlcik7Cisg
ICAgQ2FsbEZyYW1lKiBuZXdDYWxsRnJhbWUgPSBzaXplRnJhbWVGb3JWYXJhcmdzKGV4ZWMsIHN0
YWNrLCBhcmd1bWVudHMsIGZpcnN0RnJlZVJlZ2lzdGVyKTsKICAgICByZXR1cm4gbmV3Q2FsbEZy
YW1lOwogfQogCkBAIC0xNzI5LDEyICsxNzY4LDExIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVy
YXRpb25Jbml0R2xvYmFsQ29uc3QoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogcGMpCiAg
ICAgcGNbMV0udS5yZWdpc3RlclBvaW50ZXItPnNldCgqdm0sIGV4ZWMtPmNvZGVCbG9jaygpLT5n
bG9iYWxPYmplY3QoKSwgdmFsdWUpOwogfQogCi12b2lkIEpJVF9PUEVSQVRJT04gbG9va3VwRXhj
ZXB0aW9uSGFuZGxlcihFeGVjU3RhdGUqIGV4ZWMpCit2b2lkIEpJVF9PUEVSQVRJT04gbG9va3Vw
RXhjZXB0aW9uSGFuZGxlcihWTSogdm0sIEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICBWTSogdm0g
PSAmZXhlYy0+dm0oKTsKLSAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVj
KTsKKyAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjLCBOYXRpdmVDYWxs
RnJhbWVUcmFjZXI6OlZNRW50cnlTZW50aW5lbE9LKTsKIAotICAgIEpTVmFsdWUgZXhjZXB0aW9u
VmFsdWUgPSBleGVjLT5leGNlcHRpb24oKTsKKyAgICBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlID0g
dm0tPmV4Y2VwdGlvbigpOwogICAgIEFTU0VSVChleGNlcHRpb25WYWx1ZSk7CiAgICAgCiAgICAg
Z2VuZXJpY1Vud2luZCh2bSwgZXhlYywgZXhjZXB0aW9uVmFsdWUpOwpAQCAtMTc2Nyw3ICsxODA1
LDYgQEAgYXNtICgKICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFs
dWUpICJcbiIKIEhJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKIFNZTUJP
TF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKLSAgICAibW92IDAoJXJi
cCksICVyYnBcbiIgLy8gQ2FsbGVyRnJhbWVBbmRQQzo6Y2FsbGVyRnJhbWUKICAgICAibW92ICVy
YnAsICVyZGlcbiIKICAgICAiam1wICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4iCiApOwpAQCAtMTc3OCw4ICsxODE1LDExIEBAIGFzbSAo
CiAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCiBI
SURFX1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCiBTWU1CT0xfU1RSSU5HKGdl
dEhvc3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCi0gICAgIm1vdiAwKCVlYnApLCAlZWJwXG4i
IC8vIENhbGxlckZyYW1lQW5kUEM6OmNhbGxlckZyYW1lCi0gICAgIm1vdiAlZWJwLCA0KCVlc3Ap
XG4iCisgICAgIm1vdiAoJWVzcCksICVlYXhcbiIKKyAgICAicHVzaCAlZWJwXG4iCisgICAgImxl
YWwgLTQoJWVzcCksICVlc3BcbiIKKyAgICAicHVzaCAlZWJwXG4iCisgICAgInB1c2ggJWVheFxu
IgogICAgICJqbXAgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhF
eGVjU3RhdGUpICJcbiIKICk7CiAKQEAgLTE3OTIsNyArMTgzMiw2IEBAIEhJREVfU1lNQk9MKGdl
dEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKICIudGh1bWIiICJcbiIKICIudGh1bWJfZnVuYyAi
IFRIVU1CX0ZVTkNfUEFSQU0oZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgogU1lNQk9MX1NU
UklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgotICAgICJsZHIgcjcsIFtyNywg
IzBdIiAiXG4iIC8vIENhbGxlckZyYW1lQW5kUEM6OmNhbGxlckZyYW1lCiAgICAgIm1vdiByMCwg
cjciICJcbiIKICAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVl
V2l0aEV4ZWNTdGF0ZSkgIlxuIgogKTsKQEAgLTE4MDQsNyArMTg0Myw2IEBAIGFzbSAoCiBISURF
X1NZTUJPTChnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCiBJTkxJTkVfQVJNX0ZVTkNUSU9O
KGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpCiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWUpICI6IiAiXG4iCi0gICAgImxkciByMTEsIFtyMTEsICMwXSIgIlxuIiAvLyBDYWxsZXJG
cmFtZUFuZFBDOjpjYWxsZXJGcmFtZQogICAgICJtb3YgcjAsIHIxMSIgIlxuIgogICAgICJiICIg
TE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhlY1N0YXRlKSAiXG4i
CiApOwpAQCAtMTgxNiw3ICsxODU0LDYgQEAgYXNtICgKICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5H
KGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKIEhJREVfU1lNQk9MKGdldEhvc3RDYWxsUmV0
dXJuVmFsdWUpICJcbiIKIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoi
ICJcbiIKLSAgICAibGR1ciB4MjksIFt4MjksICMwXSIgIlxuIgogICAgICAibW92IHgwLCB4Mjki
ICJcbiIKICAgICAgImIgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdp
dGhFeGVjU3RhdGUpICJcbiIKICk7CkBAIC0xODI4LDcgKzE4NjUsNiBAQCBhc20gKAogSElERV9T
WU1CT0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgogU1lNQk9MX1NUUklORyhnZXRIb3N0
Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxuIgogICAgIExPQURfRlVOQ1RJT05fVE9fVDkoZ2V0SG9z
dENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpCi0gICAgImx3ICRmcCwgMCgkZnApIiAiXG4i
IC8vIENhbGxlckZyYW1lQW5kUEM6OmNhbGxlckZyYW1lCiAgICAgIm1vdmUgJGEwLCAkZnAiICJc
biIKICAgICAiYiAiIExPQ0FMX1JFRkVSRU5DRShnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2l0aEV4
ZWNTdGF0ZSkgIlxuIgogKTsKQEAgLTE4MzksNyArMTg3NSw2IEBAIGFzbSAoCiAiLmdsb2JsICIg
U1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCiBISURFX1NZTUJPTChn
ZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiXG4iCiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0
dXJuVmFsdWUpICI6IiAiXG4iCi0gICAgIm1vdi5sIEByMTQsIHIxNCIgIlxuIiAvLyBDYWxsZXJG
cmFtZUFuZFBDOjpjYWxsZXJGcmFtZQogICAgICJtb3YgcjE0LCByNCIgIlxuIgogICAgICJtb3Yu
bCAyZiwgIiBTSDRfU0NSQVRDSF9SRUdJU1RFUiAiXG4iCiAgICAgImJyYWYgIiBTSDRfU0NSQVRD
SF9SRUdJU1RFUiAiXG4iCkBAIC0xODUyLDcgKzE4ODcsNiBAQCBTWU1CT0xfU1RSSU5HKGdldEhv
c3RDYWxsUmV0dXJuVmFsdWUpICI6IiAiXG4iCiBleHRlcm4gIkMiIHsKICAgICBfX2RlY2xzcGVj
KG5ha2VkKSBFbmNvZGVkSlNWYWx1ZSBIT1NUX0NBTExfUkVUVVJOX1ZBTFVFX09QVElPTiBnZXRI
b3N0Q2FsbFJldHVyblZhbHVlKCkKICAgICB7Ci0gICAgICAgIF9fYXNtIG1vdiBlYnAsIFtlYnAg
KyAwXTsgLy8gQ2FsbGVyRnJhbWVBbmRQQzo6Y2FsbGVyRnJhbWUKICAgICAgICAgX19hc20gbW92
IFtlc3AgKyA0XSwgZWJwOwogICAgICAgICBfX2FzbSBqbXAgZ2V0SG9zdENhbGxSZXR1cm5WYWx1
ZVdpdGhFeGVjU3RhdGUKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5oCmluZGV4IDQzY2E2MTc3YmZiZDFkNWQzNDQ4NTY0ZTAwMTEwZWRhMmVhOTcwMzcuLjkz
M2IzMTEyMWQ2NjIxYzZiMTUwMTRmN2EyYWJkZmNkYmZmNGJmOTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxF
KEpJVCkKIAogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgorI2luY2x1ZGUgIkNvbW1vblNsb3dQYXRo
cy5oIgogI2luY2x1ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCiAj
aW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgpAQCAtNzIsNiArNzMsNyBAQCBleHRlcm4gIkMiIHsKICAg
ICBQYzogSW5zdHJ1Y3Rpb24qIGkuZS4gYnl0ZWNvZGUgUEMKICAgICBSOiBSZWdpc3RlcgogICAg
IFM6IHNpemVfdAorICAgIFNwcnQ6IFNsb3dQYXRoUmV0dXJuVHlwZQogICAgIFNzaTogU3RydWN0
dXJlU3R1YkluZm8qCiAgICAgU3Q6IFN0cnVjdHVyZSoKICAgICBWOiB2b2lkCkBAIC05Miw2ICs5
NCw3IEBAIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0
aW9uX0VDQykoRXhlY1N0YXRlKiwgSlNDZWxsKiwKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VDSSkoRXhlY1N0YXRlKiwgSlNDZWxsKiwgU3Ry
aW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRUNKKShFeGVjU3RhdGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBl
ZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FREEpKEV4
ZWNTdGF0ZSosIGRvdWJsZSwgSlNBcnJheSopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUUpKEV4ZWNTdGF0ZSosIEV4ZWNTdGF0ZSopOwog
dHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUkp
KEV4ZWNTdGF0ZSosIFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSk7
CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9F
SkEpKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBKU0FycmF5Kik7CkBAIC0xMzMsNiArMTM2
LDcgQEAgdHlwZWRlZiBzaXplX3QgSklUX09QRVJBVElPTiAoKlNfSklUT3BlcmF0aW9uX0VKKShF
eGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIHNpemVfdCBKSVRfT1BFUkFUSU9O
ICgqU19KSVRPcGVyYXRpb25fRUpKKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUpOwogdHlwZWRlZiBzaXplX3QgSklUX09QRVJBVElPTiAoKlNfSklUT3BlcmF0aW9u
X0VPSnNzKShFeGVjU3RhdGUqLCBKU09iamVjdCosIEpTU3RyaW5nKik7CiB0eXBlZGVmIHNpemVf
dCBKSVRfT1BFUkFUSU9OICgqU19KSVRPcGVyYXRpb25fSikoRW5jb2RlZEpTVmFsdWUpOwordHlw
ZWRlZiBTbG93UGF0aFJldHVyblR5cGUgSklUX09QRVJBVElPTiAoKlNwcnRfSklUT3BlcmF0aW9u
X0VaKShFeGVjU3RhdGUqLCBpbnQzMl90KTsKIHR5cGVkZWYgdm9pZCBKSVRfT1BFUkFUSU9OICgq
Vl9KSVRPcGVyYXRpb25fRSkoRXhlY1N0YXRlKik7CiB0eXBlZGVmIHZvaWQgSklUX09QRVJBVElP
TiAoKlZfSklUT3BlcmF0aW9uX0VDKShFeGVjU3RhdGUqLCBKU0NlbGwqKTsKIHR5cGVkZWYgdm9p
ZCBKSVRfT1BFUkFUSU9OICgqVl9KSVRPcGVyYXRpb25fRUNiKShFeGVjU3RhdGUqLCBDb2RlQmxv
Y2sqKTsKQEAgLTE3NCwxOCArMTc4LDE3IEBAIHR5cGVkZWYgY2hhciogSklUX09QRVJBVElPTiAo
KlBfSklUT3BlcmF0aW9uX0VTdEopKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSosIEVuY29kCiB0eXBl
ZGVmIGNoYXIqIEpJVF9PUEVSQVRJT04gKCpQX0pJVE9wZXJhdGlvbl9FU3RQUykoRXhlY1N0YXRl
KiwgU3RydWN0dXJlKiwgdm9pZCosIHNpemVfdCk7CiB0eXBlZGVmIGNoYXIqIEpJVF9PUEVSQVRJ
T04gKCpQX0pJVE9wZXJhdGlvbl9FU3RTUykoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgc2l6ZV90
LCBzaXplX3QpOwogdHlwZWRlZiBjaGFyKiBKSVRfT1BFUkFUSU9OICgqUF9KSVRPcGVyYXRpb25f
RVN0WikoRXhlY1N0YXRlKiwgU3RydWN0dXJlKiwgaW50MzJfdCk7Ci10eXBlZGVmIGNoYXIqIEpJ
VF9PUEVSQVRJT04gKCpQX0pJVE9wZXJhdGlvbl9FWikoRXhlY1N0YXRlKiwgaW50MzJfdCk7CiB0
eXBlZGVmIGNoYXIqIEpJVF9PUEVSQVRJT04gKCpQX0pJVE9wZXJhdGlvbl9FWlopKEV4ZWNTdGF0
ZSosIGludDMyX3QsIGludDMyX3QpOwogdHlwZWRlZiBTdHJpbmdJbXBsKiBKSVRfT1BFUkFUSU9O
ICgqSV9KSVRPcGVyYXRpb25fRUpzcykoRXhlY1N0YXRlKiwgSlNTdHJpbmcqKTsKIHR5cGVkZWYg
SlNTdHJpbmcqIEpJVF9PUEVSQVRJT04gKCpKc3NfSklUT3BlcmF0aW9uX0VaKShFeGVjU3RhdGUq
LCBpbnQzMl90KTsKIAogLy8gVGhpcyBtZXRob2QgaXMgdXNlZCB0byBsb29rdXAgYW4gZXhjZXB0
aW9uIGhhbmRlciwga2V5ZWQgYnkgZmF1bHRMb2NhdGlvbiwgd2hpY2ggaXMKIC8vIHRoZSByZXR1
cm4gbG9jYXRpb24gZnJvbSBvbmUgb2YgdGhlIGNhbGxzIG91dCB0byBvbmUgb2YgdGhlIGhlbHBl
ciBvcGVyYXRpb25zIGFib3ZlLgotICAgIAotdm9pZCBKSVRfT1BFUkFUSU9OIGxvb2t1cEV4Y2Vw
dGlvbkhhbmRsZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOworCit2b2lkIEpJVF9PUEVSQVRJ
T04gbG9va3VwRXhjZXB0aW9uSGFuZGxlcihWTSosIEV4ZWNTdGF0ZSopIFdURl9JTlRFUk5BTDsK
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25WTUhhbmRsZUV4Y2VwdGlvbihFeGVjU3RhdGUq
KSBXVEZfSU5URVJOQUw7CiAKLXZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25TdGFja0NoZWNr
KEV4ZWNTdGF0ZSosIENvZGVCbG9jayopIFdURl9JTlRFUk5BTDsKK3ZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25UaHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihFeGVjU3RhdGUqLCBDb2RlQmxvY2sq
KSBXVEZfSU5URVJOQUw7CiBpbnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ2FsbEFyaXR5
Q2hlY2soRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwogaW50MzJfdCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkNvbnN0cnVjdEFyaXR5Q2hlY2soRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwogRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkKEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKSBXVEZfSU5URVJO
QUw7CkBAIC0yMTMsMTIgKzIxNiwxOCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlWYWwoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLAogdm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsKEV4ZWNTdGF0ZSosIEVuY29kZWRK
U1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKIHZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeVZhbEdlbmVyaWMoRXhlY1N0YXRlKiwgRW5j
b2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFM
Owogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsR2VuZXJpYyhFeGVj
U3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlKSBX
VEZfSU5URVJOQUw7Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNhbGxF
dmFsKEV4ZWNTdGF0ZSopIFdURl9JTlRFUk5BTDsKLWNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uVmlydHVhbENhbGwoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOworRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25DYWxsRXZhbChFeGVjU3RhdGUqLCBFeGVjU3RhdGUqKSBX
VEZfSU5URVJOQUw7CiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxpbmtDYWxsKEV4ZWNT
dGF0ZSopIFdURl9JTlRFUk5BTDsKIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTGlua0Ns
b3N1cmVDYWxsKEV4ZWNTdGF0ZSopIFdURl9JTlRFUk5BTDsKK2NoYXIqIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uVmlydHVhbENhbGwoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwogY2hhciogSklU
X09QRVJBVElPTiBvcGVyYXRpb25WaXJ0dWFsQ29uc3RydWN0KEV4ZWNTdGF0ZSopIFdURl9JTlRF
Uk5BTDsKIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTGlua0NvbnN0cnVjdChFeGVjU3Rh
dGUqKSBXVEZfSU5URVJOQUw7CitjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxpbmtDYWxs
VGhhdFByZXNlcnZlc1JlZ3MoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOworY2hhciogSklUX09Q
RVJBVElPTiBvcGVyYXRpb25MaW5rQ2xvc3VyZUNhbGxUaGF0UHJlc2VydmVzUmVncyhFeGVjU3Rh
dGUqKSBXVEZfSU5URVJOQUw7CitjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZpcnR1YWxD
YWxsVGhhdFByZXNlcnZlc1JlZ3MoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOworY2hhciogSklU
X09QRVJBVElPTiBvcGVyYXRpb25WaXJ0dWFsQ29uc3RydWN0VGhhdFByZXNlcnZlc1JlZ3MoRXhl
Y1N0YXRlKikgV1RGX0lOVEVSTkFMOworY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5r
Q29uc3RydWN0VGhhdFByZXNlcnZlc1JlZ3MoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOworCiBz
aXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25Db21wYXJlTGVzcyhFeGVjU3RhdGUqLCBFbmNv
ZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKIHNpemVfdCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkNvbXBhcmVMZXNzRXEoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUs
IEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CiBzaXplX3QgSklUX09QRVJBVElPTiBvcGVy
YXRpb25Db21wYXJlR3JlYXRlcihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUpIFdURl9JTlRFUk5BTDsKQEAgLTI0Miw3ICsyNTEsNyBAQCB2b2lkIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uVGhyb3dTdGF0aWNFcnJvcihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwg
aW50MzJfdAogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblRocm93KEV4ZWNTdGF0ZSosIEVu
Y29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
RGVidWcoRXhlY1N0YXRlKiwgaW50MzJfdCkgV1RGX0lOVEVSTkFMOwogI2lmIEVOQUJMRShERkdf
SklUKQotY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqLCBp
bnQzMl90KSBXVEZfSU5URVJOQUw7CitTbG93UGF0aFJldHVyblR5cGUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqLCBpbnQzMl90KSBXVEZfSU5URVJOQUw7CiAjZW5k
aWYKIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUluZGV4KEV4ZWNTdGF0ZSosIEVu
Y29kZWRKU1ZhbHVlLCBpbnQzMl90LCBFbmNvZGVkSlNWYWx1ZSk7CiAjaWYgVVNFKEpTVkFMVUU2
NCkKQEAgLTI2Nyw3ICsyNzYsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVGVhck9m
ZkFyZ3VtZW50cyhFeGVjU3RhdGUqLCBKU0NlbGwqLCBKU0NlbGwqKSBXVEZfSQogRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25EZWxldGVCeUlkKEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlIGJhc2UsIGNvbnN0IElkZW50aWZpZXIqKSBXVEZfSU5URVJOQUw7CiBKU0NlbGwq
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0UE5hbWVzKEV4ZWNTdGF0ZSosIEpTT2JqZWN0Kikg
V1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbnN0
YW5jZU9mKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBwcm90bykg
V1RGX0lOVEVSTkFMOwotQ2FsbEZyYW1lKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblNpemVBbmRB
bGxvY0ZyYW1lRm9yVmFyYXJncyhFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBhcmd1bWVudHMs
IGludDMyX3QgZmlyc3RGcmVlUmVnaXN0ZXIpIFdURl9JTlRFUk5BTDsKK0NhbGxGcmFtZSogSklU
X09QRVJBVElPTiBvcGVyYXRpb25TaXplRnJhbWVGb3JWYXJhcmdzKEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlIGFyZ3VtZW50cywgaW50MzJfdCBmaXJzdEZyZWVSZWdpc3RlcikgV1RGX0lOVEVS
TkFMOwogQ2FsbEZyYW1lKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxvYWRWYXJhcmdzKEV4ZWNT
dGF0ZSosIENhbGxGcmFtZSosIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFs
dWUgYXJndW1lbnRzKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblRvT2JqZWN0KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJO
QUw7CiAKQEAgLTI4Nyw2ICsyOTYsNjggQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbklu
aXRHbG9iYWxDb25zdChFeGVjU3RhdGUqLCBJbnN0cnVjdGlvbiopOwogCiB9IC8vIGV4dGVybiAi
QyIKIAoraW5saW5lIFBfSklUT3BlcmF0aW9uX0Ugb3BlcmF0aW9uTGlua0ZvcigKKyAgICBDb2Rl
U3BlY2lhbGl6YXRpb25LaW5kIGtpbmQsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZSByZWdpc3Rl
cnMpCit7CisgICAgc3dpdGNoIChraW5kKSB7CisgICAgY2FzZSBDb2RlRm9yQ2FsbDoKKyAgICAg
ICAgc3dpdGNoIChyZWdpc3RlcnMpIHsKKyAgICAgICAgY2FzZSBSZWdpc3RlclByZXNlcnZhdGlv
bk5vdFJlcXVpcmVkOgorICAgICAgICAgICAgcmV0dXJuIG9wZXJhdGlvbkxpbmtDYWxsOworICAg
ICAgICBjYXNlIE11c3RQcmVzZXJ2ZVJlZ2lzdGVyczoKKyAgICAgICAgICAgIHJldHVybiBvcGVy
YXRpb25MaW5rQ2FsbFRoYXRQcmVzZXJ2ZXNSZWdzOworICAgICAgICB9CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQ29kZUZvckNvbnN0cnVjdDoKKyAgICAgICAgc3dpdGNoIChyZWdpc3RlcnMp
IHsKKyAgICAgICAgY2FzZSBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkOgorICAgICAg
ICAgICAgcmV0dXJuIG9wZXJhdGlvbkxpbmtDb25zdHJ1Y3Q7CisgICAgICAgIGNhc2UgTXVzdFBy
ZXNlcnZlUmVnaXN0ZXJzOgorICAgICAgICAgICAgcmV0dXJuIG9wZXJhdGlvbkxpbmtDb25zdHJ1
Y3RUaGF0UHJlc2VydmVzUmVnczsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICB9Cisg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKworaW5s
aW5lIFBfSklUT3BlcmF0aW9uX0Ugb3BlcmF0aW9uVmlydHVhbEZvcigKKyAgICBDb2RlU3BlY2lh
bGl6YXRpb25LaW5kIGtpbmQsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZSByZWdpc3RlcnMpCit7
CisgICAgc3dpdGNoIChraW5kKSB7CisgICAgY2FzZSBDb2RlRm9yQ2FsbDoKKyAgICAgICAgc3dp
dGNoIChyZWdpc3RlcnMpIHsKKyAgICAgICAgY2FzZSBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJl
cXVpcmVkOgorICAgICAgICAgICAgcmV0dXJuIG9wZXJhdGlvblZpcnR1YWxDYWxsOworICAgICAg
ICBjYXNlIE11c3RQcmVzZXJ2ZVJlZ2lzdGVyczoKKyAgICAgICAgICAgIHJldHVybiBvcGVyYXRp
b25WaXJ0dWFsQ2FsbFRoYXRQcmVzZXJ2ZXNSZWdzOworICAgICAgICB9CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgQ29kZUZvckNvbnN0cnVjdDoKKyAgICAgICAgc3dpdGNoIChyZWdpc3RlcnMp
IHsKKyAgICAgICAgY2FzZSBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkOgorICAgICAg
ICAgICAgcmV0dXJuIG9wZXJhdGlvblZpcnR1YWxDb25zdHJ1Y3Q7CisgICAgICAgIGNhc2UgTXVz
dFByZXNlcnZlUmVnaXN0ZXJzOgorICAgICAgICAgICAgcmV0dXJuIG9wZXJhdGlvblZpcnR1YWxD
b25zdHJ1Y3RUaGF0UHJlc2VydmVzUmVnczsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAg
ICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30K
KworaW5saW5lIFBfSklUT3BlcmF0aW9uX0Ugb3BlcmF0aW9uTGlua0Nsb3N1cmVDYWxsRm9yKFJl
Z2lzdGVyUHJlc2VydmF0aW9uTW9kZSByZWdpc3RlcnMpCit7CisgICAgc3dpdGNoIChyZWdpc3Rl
cnMpIHsKKyAgICBjYXNlIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQ6CisgICAgICAg
IHJldHVybiBvcGVyYXRpb25MaW5rQ2xvc3VyZUNhbGw7CisgICAgY2FzZSBNdXN0UHJlc2VydmVS
ZWdpc3RlcnM6CisgICAgICAgIHJldHVybiBvcGVyYXRpb25MaW5rQ2xvc3VyZUNhbGxUaGF0UHJl
c2VydmVzUmVnczsKKyAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICByZXR1cm4gMDsKK30KKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBFTkFCTEUo
SklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFj
Y2Vzcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNw
cAppbmRleCA0MjQxYmFmMzJhZDljNDUyZDU3MmYyOTQ2NzRmNjYxZGJhOTgxMGZiLi4yNmRkNGQx
YWY3NDVhZmExZmJjNTNhOWMwMjNhNmU0NzQxYTY2YTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5LCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTIwLDcgKzUy
MCw3IEBAIHZvaWQgSklUOjplbWl0X29wX2dldF9ieV9pZChJbnN0cnVjdGlvbiogY3VycmVudElu
c3RydWN0aW9uKQogCiAgICAgSklUR2V0QnlJZEdlbmVyYXRvciBnZW4oCiAgICAgICAgIG1fY29k
ZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBSZWdpc3RlclNldDo6c3BlY2lh
bFJlZ2lzdGVycygpLAotICAgICAgICBjYWxsRnJhbWVSZWdpc3RlciwgSlNWYWx1ZVJlZ3MocmVn
VDApLCBKU1ZhbHVlUmVncyhyZWdUMCksIHRydWUpOworICAgICAgICBKU1ZhbHVlUmVncyhyZWdU
MCksIEpTVmFsdWVSZWdzKHJlZ1QwKSwgdHJ1ZSk7CiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgo
KnRoaXMpOwogICAgIGFkZFNsb3dDYXNlKGdlbi5zbG93UGF0aEp1bXAoKSk7CiAgICAgbV9nZXRC
eUlkcy5hcHBlbmQoZ2VuKTsKQEAgLTU2Niw4ICs1NjYsOCBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9w
dXRfYnlfaWQoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIAogICAgIEpJVFB1dEJ5
SWRHZW5lcmF0b3IgZ2VuKAogICAgICAgICBtX2NvZGVCbG9jaywgQ29kZU9yaWdpbihtX2J5dGVj
b2RlT2Zmc2V0KSwgUmVnaXN0ZXJTZXQ6OnNwZWNpYWxSZWdpc3RlcnMoKSwKLSAgICAgICAgY2Fs
bEZyYW1lUmVnaXN0ZXIsIEpTVmFsdWVSZWdzKHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDEpLCBy
ZWdUMiwgdHJ1ZSwKLSAgICAgICAgbV9jb2RlQmxvY2stPmVjbWFNb2RlKCksIGRpcmVjdCA/IERp
cmVjdCA6IE5vdERpcmVjdCk7CisgICAgICAgIEpTVmFsdWVSZWdzKHJlZ1QwKSwgSlNWYWx1ZVJl
Z3MocmVnVDEpLCByZWdUMiwgdHJ1ZSwgbV9jb2RlQmxvY2stPmVjbWFNb2RlKCksCisgICAgICAg
IGRpcmVjdCA/IERpcmVjdCA6IE5vdERpcmVjdCk7CiAgICAgCiAgICAgZ2VuLmdlbmVyYXRlRmFz
dFBhdGgoKnRoaXMpOwogICAgIGFkZFNsb3dDYXNlKGdlbi5zbG93UGF0aEp1bXAoKSk7CkBAIC0x
MDc4LDcgKzEwNzgsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeVZhbChCeVZhbElu
Zm8qIGJ5VmFsSW5mbywgUmV0dXJuQWRkcmVzc1B0ciByZXR1cm5BZAogICAgIHBhdGNoQnVmZmVy
LmxpbmsoZG9uZSwgYnlWYWxJbmZvLT5iYWRUeXBlSnVtcC5sYWJlbEF0T2Zmc2V0KGJ5VmFsSW5m
by0+YmFkVHlwZUp1bXBUb0RvbmUpKTsKICAgICAKICAgICBieVZhbEluZm8tPnN0dWJSb3V0aW5l
ID0gRklOQUxJWkVfQ09ERV9GT1JfU1RVQigKLSAgICAgICAgcGF0Y2hCdWZmZXIsCisgICAgICAg
IG1fY29kZUJsb2NrLCBwYXRjaEJ1ZmZlciwKICAgICAgICAgKCJCYXNlbGluZSBnZXRfYnlfdmFs
IHN0dWIgZm9yICVzLCByZXR1cm4gcG9pbnQgJXAiLCB0b0NTdHJpbmcoKm1fY29kZUJsb2NrKS5k
YXRhKCksIHJldHVybkFkZHJlc3MudmFsdWUoKSkpOwogICAgIAogICAgIFJlcGF0Y2hCdWZmZXIg
cmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CkBAIC0xMTQxLDEyICsxMTQxLDEyIEBAIHZvaWQg
SklUOjpwcml2YXRlQ29tcGlsZVB1dEJ5VmFsKEJ5VmFsSW5mbyogYnlWYWxJbmZvLCBSZXR1cm5B
ZGRyZXNzUHRyIHJldHVybkFkCiAgICAgYm9vbCBpc0RpcmVjdCA9IG1faW50ZXJwcmV0ZXItPmdl
dE9wY29kZUlEKGN1cnJlbnRJbnN0cnVjdGlvbi0+dS5vcGNvZGUpID09IG9wX3B1dF9ieV92YWxf
ZGlyZWN0OwogICAgIGlmICghaXNEaXJlY3QpIHsKICAgICAgICAgYnlWYWxJbmZvLT5zdHViUm91
dGluZSA9IEZJTkFMSVpFX0NPREVfRk9SX1NUVUIoCi0gICAgICAgICAgICBwYXRjaEJ1ZmZlciwK
KyAgICAgICAgICAgIG1fY29kZUJsb2NrLCBwYXRjaEJ1ZmZlciwKICAgICAgICAgICAgICgiQmFz
ZWxpbmUgcHV0X2J5X3ZhbCBzdHViIGZvciAlcywgcmV0dXJuIHBvaW50ICVwIiwgdG9DU3RyaW5n
KCptX2NvZGVCbG9jaykuZGF0YSgpLCByZXR1cm5BZGRyZXNzLnZhbHVlKCkpKTsKICAgICAgICAg
CiAgICAgfSBlbHNlIHsKICAgICAgICAgYnlWYWxJbmZvLT5zdHViUm91dGluZSA9IEZJTkFMSVpF
X0NPREVfRk9SX1NUVUIoCi0gICAgICAgICAgICBwYXRjaEJ1ZmZlciwKKyAgICAgICAgICAgIG1f
Y29kZUJsb2NrLCBwYXRjaEJ1ZmZlciwKICAgICAgICAgICAgICgiQmFzZWxpbmUgcHV0X2J5X3Zh
bF9kaXJlY3Qgc3R1YiBmb3IgJXMsIHJldHVybiBwb2ludCAlcCIsIHRvQ1N0cmluZygqbV9jb2Rl
QmxvY2spLmRhdGEoKSwgcmV0dXJuQWRkcmVzcy52YWx1ZSgpKSk7CiAgICAgfQogICAgIFJlcGF0
Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihtX2NvZGVCbG9jayk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAppbmRleCA1YmM4ZDFh
YmI0NDBhOTYwMzE0ZWRkMzY4ODY3NGNmZDAxYWEwYjc5Li5kMThmZWE3MTVjYjAzYjM3YWE5MjZk
ODQ5YThlNWFiOTU2M2VjZDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ4Miw3ICs0ODIsNyBA
QCB2b2lkIEpJVDo6ZW1pdF9vcF9nZXRfYnlfaWQoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVj
dGlvbikKIAogICAgIEpJVEdldEJ5SWRHZW5lcmF0b3IgZ2VuKAogICAgICAgICBtX2NvZGVCbG9j
aywgQ29kZU9yaWdpbihtX2J5dGVjb2RlT2Zmc2V0KSwgUmVnaXN0ZXJTZXQ6OnNwZWNpYWxSZWdp
c3RlcnMoKSwKLSAgICAgICAgY2FsbEZyYW1lUmVnaXN0ZXIsIEpTVmFsdWVSZWdzOjpwYXlsb2Fk
T25seShyZWdUMCksIEpTVmFsdWVSZWdzKHJlZ1QxLCByZWdUMCksIHRydWUpOworICAgICAgICBK
U1ZhbHVlUmVnczo6cGF5bG9hZE9ubHkocmVnVDApLCBKU1ZhbHVlUmVncyhyZWdUMSwgcmVnVDAp
LCB0cnVlKTsKICAgICBnZW4uZ2VuZXJhdGVGYXN0UGF0aCgqdGhpcyk7CiAgICAgYWRkU2xvd0Nh
c2UoZ2VuLnNsb3dQYXRoSnVtcCgpKTsKICAgICBtX2dldEJ5SWRzLmFwcGVuZChnZW4pOwpAQCAt
NTMwLDcgKzUzMCw3IEBAIHZvaWQgSklUOjplbWl0X29wX3B1dF9ieV9pZChJbnN0cnVjdGlvbiog
Y3VycmVudEluc3RydWN0aW9uKQogCiAgICAgSklUUHV0QnlJZEdlbmVyYXRvciBnZW4oCiAgICAg
ICAgIG1fY29kZUJsb2NrLCBDb2RlT3JpZ2luKG1fYnl0ZWNvZGVPZmZzZXQpLCBSZWdpc3RlclNl
dDo6c3BlY2lhbFJlZ2lzdGVycygpLAotICAgICAgICBjYWxsRnJhbWVSZWdpc3RlciwgSlNWYWx1
ZVJlZ3M6OnBheWxvYWRPbmx5KHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDMsIHJlZ1QyKSwKKyAg
ICAgICAgSlNWYWx1ZVJlZ3M6OnBheWxvYWRPbmx5KHJlZ1QwKSwgSlNWYWx1ZVJlZ3MocmVnVDMs
IHJlZ1QyKSwKICAgICAgICAgcmVnVDEsIHRydWUsIG1fY29kZUJsb2NrLT5lY21hTW9kZSgpLCBk
aXJlY3QgPyBEaXJlY3QgOiBOb3REaXJlY3QpOwogICAgIAogICAgIGdlbi5nZW5lcmF0ZUZhc3RQ
YXRoKCp0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1
YlJvdXRpbmUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YlJvdXRpbmUuaApp
bmRleCAwMjBlZjY5MDc5ZDMxN2JhNmEyY2EwNzYwMDYxYjQ5OTVkY2VkYjJkLi43NDg2NTRiYmM2
MTM0N2RlOWJjNjA5ZTg2YmMxMTU2NTFhM2RkNDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFN0dWJSb3V0aW5lLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRTdHViUm91dGluZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0xNTAsMTEgKzE1MCw4IEBAIHByb3RlY3RlZDoKIH07CiAK
IC8vIEhlbHBlciBmb3IgdGhlIGNyZWF0aW9uIG9mIHNpbXBsZSBzdHViIHJvdXRpbmVzIHRoYXQg
bmVlZCBubyBoZWxwIGZyb20gdGhlIEdDLgotI2RlZmluZSBGSU5BTElaRV9DT0RFX0ZPUl9TVFVC
KHBhdGNoQnVmZmVyLCBkYXRhTG9nRkFyZ3VtZW50cykgXAotICAgIChhZG9wdFJlZihuZXcgSklU
U3R1YlJvdXRpbmUoRklOQUxJWkVfQ09ERSgocGF0Y2hCdWZmZXIpLCBkYXRhTG9nRkFyZ3VtZW50
cykpKSkKLQotI2RlZmluZSBGSU5BTElaRV9DT0RFX0ZPUl9ERkdfU1RVQihwYXRjaEJ1ZmZlciwg
ZGF0YUxvZ0ZBcmd1bWVudHMpIFwKLSAgICAoYWRvcHRSZWYobmV3IEpJVFN0dWJSb3V0aW5lKEZJ
TkFMSVpFX0RGR19DT0RFKChwYXRjaEJ1ZmZlciksIGRhdGFMb2dGQXJndW1lbnRzKSkpKQorI2Rl
ZmluZSBGSU5BTElaRV9DT0RFX0ZPUl9TVFVCKGNvZGVCbG9jaywgcGF0Y2hCdWZmZXIsIGRhdGFM
b2dGQXJndW1lbnRzKSBcCisgICAgKGFkb3B0UmVmKG5ldyBKSVRTdHViUm91dGluZShGSU5BTEla
RV9DT0RFX0ZPUigoY29kZUJsb2NrKSwgKHBhdGNoQnVmZmVyKSwgZGF0YUxvZ0ZBcmd1bWVudHMp
KSkpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVFN0dWJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJz
LmgKaW5kZXggMjRkOTVkZmQ0OWI4ZTRhZjFjMjUwNmE4NDI5N2EyYzhmZmU5NDY3ZC4uMTMzMTQ0
ZTE4OWEzOGNhZGVmMWEzNmViM2UyMmUxMmI2NjI4ZjA5MCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUU3R1YnMuaApAQCAtMzcsMTQgKzM3LDEzIEBAIG5hbWVzcGFjZSBKU0MgewogI2lmIEVO
QUJMRShKSVQpCiAKICNpZiBPUyhXSU5ET1dTKQotY2xhc3MgRXhlY1N0YXRlOwotY2xhc3MgUmVn
aXN0ZXI7CiBzdHJ1Y3QgUHJvdG9DYWxsRnJhbWU7CitjbGFzcyBWTTsKIAogZXh0ZXJuICJDIiB7
Ci0gICAgRW5jb2RlZEpTVmFsdWUgY2FsbFRvSmF2YVNjcmlwdCh2b2lkKiwgRXhlY1N0YXRlKios
IFByb3RvQ2FsbEZyYW1lKiwgUmVnaXN0ZXIqKTsKLSAgICB2b2lkIHJldHVybkZyb21KYXZhU2Ny
aXB0KCk7Ci0gICAgRW5jb2RlZEpTVmFsdWUgY2FsbFRvTmF0aXZlRnVuY3Rpb24odm9pZCosIEV4
ZWNTdGF0ZSoqLCBQcm90b0NhbGxGcmFtZSosIFJlZ2lzdGVyKik7CisgICAgRW5jb2RlZEpTVmFs
dWUgY2FsbFRvSmF2YVNjcmlwdCh2b2lkKiwgVk0qLCBQcm90b0NhbGxGcmFtZSopOworICAgIEVu
Y29kZWRKU1ZhbHVlIGNhbGxUb05hdGl2ZUZ1bmN0aW9uKHZvaWQqLCBWTSosIFByb3RvQ2FsbEZy
YW1lKik7CisgICAgdm9pZCBoYW5kbGVVbmNhdWdodEV4Y2VwdGlvbigpOwogfQogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNNU1ZDNjQuYXNt
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic01TVkM2NC5hc20KZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBiY2Q5ZGRiNDlmZGQ3ZTZjMTY0ODE5YWQ3ZjY2OTI1NzI1
ZTUyZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic01TVkM2NC5hc20KKysrIC9kZXYvbnVsbApA
QCAtMSwyNTUgKzAsMCBAQAotOy8qCi07IENvcHlyaWdodCAoQykgMjAxMyBEaWdpYSBQbGMuIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotOwotOyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLTsgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi07
IGFyZSBtZXQ6Ci07IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci07ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLTsgMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLTsgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotOyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotOwotOyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLTsgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLTsgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci07IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi07IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotOyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi07IFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotOyBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi07IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotOyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLTsgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLTsqLwotCi1FWFRFUk4g
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUgOiBuZWFyCi0KLVBVQkxJQyBjYWxs
VG9KYXZhU2NyaXB0Ci1QVUJMSUMgcmV0dXJuRnJvbUphdmFTY3JpcHQKLVBVQkxJQyBnZXRIb3N0
Q2FsbFJldHVyblZhbHVlCi0KLV9URVhUICAgU0VHTUVOVAotCi1jYWxsVG9KYXZhU2NyaXB0IFBS
T0MKLSAgICA7OyBUaGlzIGZ1bmN0aW9uIGlzIGJlbGlldmVkIHRvIGJlIGFuIGFjY3VyYXRlIGFk
YXB0YXRpb24gb2YgdGhlIGFzc2VtYmx5IGNyZWF0ZWQgYnkgdGhlIGxsaW50IHN0dWIgb2YgdGhl
Ci0gICAgOzsgc2FtZSBuYW1lIHdpdGggY2hhbmdlcyBmb3IgYXJndW1lbnQgcmVnaXN0ZXIgZGlm
ZmVyZW5jZXMuCi0gICAgbW92IHIxMCwgcXdvcmQgcHRyW3JzcF0KLSAgICBwdXNoIHJicAotICAg
IG1vdiByYXgsIHJicCA7IFNhdmUgcHJldmlvdXMgZnJhbWUgcG9pbnRlcgotICAgIG1vdiByYnAs
IHJzcAotICAgIHB1c2ggcjEyCi0gICAgcHVzaCByMTMKLSAgICBwdXNoIHIxNAotICAgIHB1c2gg
cjE1Ci0gICAgcHVzaCByYngKLSAgICBwdXNoIHJzaQotICAgIHB1c2ggcmRpCi0KLSAgICA7IEpJ
VCBvcGVyYXRpb25zIGNhbiB1c2UgdXAgdG8gNiBhcmdzICg0IGluIHJlZ2lzdGVycyBhbmQgMiBv
biB0aGUgc3RhY2spLgotICAgIDsgSW4gYWRkaXRpb24sIFg4Nl82NCBBQkkgc3BlY2lmaWVzIHRo
YXQgdGhlIHdvcnNlIGNhc2Ugc3RhY2sgYWxpZ25tZW50Ci0gICAgOyByZXF1aXJlbWVudCBpcyAz
MiBieXRlcy4gQmFzZWQgb24gdGhlc2UgZmFjdG9ycywgd2UgbmVlZCB0byBwYWQgdGhlIHN0YWNr
Ci0gICAgOyBhbiBhZGRpdGlvbmFsIDI4aCBieXRlcy4KLSAgICBzdWIgcnNwLCAyOGgKLQotICAg
IG1vdiByYnAsIHI5Ci0gICAgc3ViIHJicCwgNDAKLSAgICBtb3YgcXdvcmQgcHRyW3JicCArIDQw
XSwgMAotICAgIG1vdiBxd29yZCBwdHJbcmJwICsgMzJdLCByZHgKLQotICAgIG1vdiByYXgsIHF3
b3JkIHB0cltyZHhdCi0gICAgbW92IHF3b3JkIHB0cltyYnAgKyAyNF0sIHJheAotICAgIG1vdiBx
d29yZCBwdHJbcmJwICsgMTZdLCAxCi0gICAgbW92IHF3b3JkIHB0cltyYnAgKyA4XSwgcjEwCi0g
ICAgbW92IHF3b3JkIHB0cltyYnBdLCByYXgKLSAgICBtb3YgcmF4LCByYnAKLQotICAgIG1vdiBl
YngsIGR3b3JkIHB0cltyOCArIDQwXQotICAgIGFkZCByYngsIDYKLSAgICBzYWwgcmJ4LCAzCi0g
ICAgc3ViIHJicCwgcmJ4Ci0gICAgbW92IHF3b3JkIHB0cltyYnBdLCByYXgKLQotICAgIG1vdiBy
YXgsIDUKLQotY29weUhlYWRlckxvb3A6Ci0gICAgc3ViIHJheCwgMQotICAgIG1vdiByMTAsIHF3
b3JkIHB0cltyOCArIHJheCAqIDhdCi0gICAgbW92IHF3b3JkIHB0cltyYnAgKyByYXggKiA4ICsg
MTZdLCByMTAKLSAgICB0ZXN0IHJheCwgcmF4Ci0gICAgam56IGNvcHlIZWFkZXJMb29wCi0KLSAg
ICBtb3YgZWJ4LCBkd29yZCBwdHJbcjggKyAyNF0KLSAgICBzdWIgcmJ4LCAxCi0gICAgbW92IHIx
MGQsIGR3b3JkIHB0cltyOCArIDQwXQotICAgIHN1YiByMTAsIDEKLSAgICBjbXAgcmJ4LCByMTAK
LSAgICBqZSBjb3B5QXJncwotICAgIG1vdiByYXgsIDBhaAotCi1maWxsRXh0cmFBcmdzTG9vcDoK
LSAgICBzdWIgcjEwLCAxCi0gICAgbW92IHF3b3JkIHB0cltyYnAgKyByMTAgKiA4ICsgNTZdLCBy
YXgKLSAgICBjbXAgcmJ4LCByMTAKLSAgICBqbmUgZmlsbEV4dHJhQXJnc0xvb3AKLQotY29weUFy
Z3M6Ci0gICAgbW92IHJheCwgcXdvcmQgcHRyW3I4ICsgNDhdCi0KLWNvcHlBcmdzTG9vcDoKLSAg
ICB0ZXN0IGVieCwgZWJ4Ci0gICAganogY29weUFyZ3NEb25lCi0gICAgc3ViIGVieCwgMQotICAg
IG1vdiByMTAsIHF3b3JkIHB0cltyYXggKyByYnggKiA4XQotICAgIG1vdiBxd29yZCBwdHJbcmJw
ICsgcmJ4ICogOCArIDU2XSwgcjEwCi0gICAgam1wIGNvcHlBcmdzTG9vcAotCi1jb3B5QXJnc0Rv
bmU6Ci0gICAgbW92IHF3b3JkIHB0cltyZHhdLCByYnAKLSAgICBtb3YgcjE0LCAwRkZGRjAwMDAw
MDAwMDAwMGgKLSAgICBtb3YgcjE1LCAwRkZGRjAwMDAwMDAwMDAwMmgKLSAgICBjYWxsIHJjeAot
ICAgIGNtcCBxd29yZCBwdHJbcmJwICsgMTZdLCAxCi0gICAgamUgY2FsbGVlRnJhbWVQb3BwZWQK
LSAgICBtb3YgcmJwLCBxd29yZCBwdHJbcmJwXQotCi1jYWxsZWVGcmFtZVBvcHBlZDoKLSAgICBt
b3YgcmJ4LCBxd29yZCBwdHJbcmJwICsgMzJdIDsgVk0udG9wQ2FsbEZyYW1lCi0gICAgbW92IHIx
MCwgcXdvcmQgcHRyW3JicCArIDI0XQotICAgIG1vdiBxd29yZCBwdHJbcmJ4XSwgcjEwCi0gICAg
YWRkIHJzcCwgMjhoCi0gICAgcG9wIHJkaQotICAgIHBvcCByc2kKLSAgICBwb3AgcmJ4Ci0gICAg
cG9wIHIxNQotICAgIHBvcCByMTQKLSAgICBwb3AgcjEzCi0gICAgcG9wIHIxMgotICAgIHBvcCBy
YnAKLSAgICByZXQKLWNhbGxUb0phdmFTY3JpcHQgRU5EUAotCi1jYWxsVG9OYXRpdmVGdW5jdGlv
biBQUk9DCi0gICAgOzsgVGhpcyBmdW5jdGlvbiBpcyBiZWxpZXZlZCB0byBiZSBhbiBhY2N1cmF0
ZSBhZGFwdGF0aW9uIG9mIHRoZSBhc3NlbWJseSBjcmVhdGVkIGJ5IHRoZSBsbGludCBzdHViIG9m
IHRoZQotICAgIDs7IHNhbWUgbmFtZSB3aXRoIGNoYW5nZXMgZm9yIGFyZ3VtZW50IHJlZ2lzdGVy
IGRpZmZlcmVuY2VzLgotICAgIG1vdiByMTAsIHF3b3JkIHB0cltyc3BdCi0gICAgcHVzaCByYnAK
LSAgICBtb3YgcmF4LCByYnAgOyBTYXZlIHByZXZpb3VzIGZyYW1lIHBvaW50ZXIKLSAgICBtb3Yg
cmJwLCByc3AKLSAgICBwdXNoIHIxMgotICAgIHB1c2ggcjEzCi0gICAgcHVzaCByMTQKLSAgICBw
dXNoIHIxNQotICAgIHB1c2ggcmJ4Ci0gICAgcHVzaCByc2kKLSAgICBwdXNoIHJkaQotCi0gICAg
OyBKSVQgb3BlcmF0aW9ucyBjYW4gdXNlIHVwIHRvIDYgYXJncyAoNCBpbiByZWdpc3RlcnMgYW5k
IDIgb24gdGhlIHN0YWNrKS4KLSAgICA7IEluIGFkZGl0aW9uLCBYODZfNjQgQUJJIHNwZWNpZmll
cyB0aGF0IHRoZSB3b3JzZSBjYXNlIHN0YWNrIGFsaWdubWVudAotICAgIDsgcmVxdWlyZW1lbnQg
aXMgMzIgYnl0ZXMuIEJhc2VkIG9uIHRoZXNlIGZhY3RvcnMsIHdlIG5lZWQgdG8gcGFkIHRoZSBz
dGFjawotICAgIDsgYW4gYWRkaXRpb25hbCAyOGggYnl0ZXMuCi0gICAgc3ViIHJzcCwgMjhoCi0K
LSAgICBtb3YgcmJwLCByOQotICAgIHN1YiByYnAsIDQwCi0gICAgbW92IHF3b3JkIHB0cltyYnAg
KyA0MF0sIDAKLSAgICBtb3YgcXdvcmQgcHRyW3JicCArIDMyXSwgcmR4Ci0KLSAgICBtb3YgcmF4
LCBxd29yZCBwdHJbcmR4XQotICAgIG1vdiBxd29yZCBwdHJbcmJwICsgMjRdLCByYXgKLSAgICBt
b3YgcXdvcmQgcHRyW3JicCArIDE2XSwgMQotICAgIG1vdiBxd29yZCBwdHJbcmJwICsgOF0sIHIx
MAotICAgIG1vdiBxd29yZCBwdHJbcmJwXSwgcmF4Ci0gICAgbW92IHJheCwgcmJwCi0KLSAgICBt
b3YgZWJ4LCBkd29yZCBwdHJbcjggKyA0MF0KLSAgICBhZGQgcmJ4LCA2Ci0gICAgc2FsIHJieCwg
MwotICAgIHN1YiByYnAsIHJieAotICAgIG1vdiBxd29yZCBwdHJbcmJwXSwgcmF4Ci0KLSAgICBt
b3YgcmF4LCA1Ci0KLWNvcHlIZWFkZXJMb29wOgotICAgIHN1YiByYXgsIDEKLSAgICBtb3YgcjEw
LCBxd29yZCBwdHJbcjggKyByYXggKiA4XQotICAgIG1vdiBxd29yZCBwdHJbcmJwICsgcmF4ICog
OCArIDE2XSwgcjEwCi0gICAgdGVzdCByYXgsIHJheAotICAgIGpueiBjb3B5SGVhZGVyTG9vcAot
Ci0gICAgbW92IGVieCwgZHdvcmQgcHRyW3I4ICsgMjRdCi0gICAgc3ViIHJieCwgMQotICAgIG1v
diByMTBkLCBkd29yZCBwdHJbcjggKyA0MF0KLSAgICBzdWIgcjEwLCAxCi0gICAgY21wIHJieCwg
cjEwCi0gICAgamUgY29weUFyZ3MKLSAgICBtb3YgcmF4LCAwYWgKLQotZmlsbEV4dHJhQXJnc0xv
b3A6Ci0gICAgc3ViIHIxMCwgMQotICAgIG1vdiBxd29yZCBwdHJbcmJwICsgcjEwICogOCArIDU2
XSwgcmF4Ci0gICAgY21wIHJieCwgcjEwCi0gICAgam5lIGZpbGxFeHRyYUFyZ3NMb29wCi0KLWNv
cHlBcmdzOgotICAgIG1vdiByYXgsIHF3b3JkIHB0cltyOCArIDQ4XQotCi1jb3B5QXJnc0xvb3A6
Ci0gICAgdGVzdCByYngsIHJieAotICAgIGp6IGNvcHlBcmdzRG9uZQotICAgIHN1YiByYngsIDEK
LSAgICBtb3YgcjEwLCBxd29yZCBwdHJbcmF4ICsgcmJ4ICogOF0KLSAgICBtb3YgcXdvcmQgcHRy
W3JicCArIHJieCAqIDggKyA1Nl0sIHIxMAotICAgIGptcCBjb3B5QXJnc0xvb3AKLQotY29weUFy
Z3NEb25lOgotICAgIG1vdiBxd29yZCBwdHJbcmR4XSwgcmJwCi0gICAgbW92IHIxNCwgMEZGRkYw
MDAwMDAwMDAwMDBoCi0gICAgbW92IHIxNSwgMEZGRkYwMDAwMDAwMDAwMDJoCi0KLSAgICBtb3Yg
cmF4LCByY3gKLSAgICBtb3YgcmN4LCByYnAKLSAgICBjYWxsIHJheAotCi0gICAgY21wIHF3b3Jk
IHB0cltyYnAgKyAxNl0sIDEKLSAgICBqZSBjYWxsZWVGcmFtZVBvcHBlZAotICAgIG1vdiByYnAs
IHF3b3JkIHB0cltyYnBdCi0KLWNhbGxlZUZyYW1lUG9wcGVkOgotICAgIG1vdiByYngsIHF3b3Jk
IHB0cltyYnAgKyAzMl0gOyBWTS50b3BDYWxsRnJhbWUKLSAgICBtb3YgcjEwLCBxd29yZCBwdHJb
cmJwICsgMjRdCi0gICAgbW92IHF3b3JkIHB0cltyYnhdLCByMTAKLSAgICBhZGQgcnNwLCAyOGgK
LSAgICBwb3AgcmRpCi0gICAgcG9wIHJzaQotICAgIHBvcCByYngKLSAgICBwb3AgcjE1Ci0gICAg
cG9wIHIxNAotICAgIHBvcCByMTMKLSAgICBwb3AgcjEyCi0gICAgcG9wIHJicAotICAgIHJldAot
Y2FsbFRvTmF0aXZlRnVuY3Rpb24gRU5EUAotCi1yZXR1cm5Gcm9tSmF2YVNjcmlwdCBQUk9DCi0g
ICAgYWRkIHJzcCwgMjhoCi0gICAgcG9wIHJkaQotICAgIHBvcCByc2kKLSAgICBwb3AgcmJ4Ci0g
ICAgcG9wIHIxNQotICAgIHBvcCByMTQKLSAgICBwb3AgcjEzCi0gICAgcG9wIHIxMgotICAgIHBv
cCByYnAKLSAgICByZXQKLXJldHVybkZyb21KYXZhU2NyaXB0IEVORFAKLQkKLWdldEhvc3RDYWxs
UmV0dXJuVmFsdWUgUFJPQwotICAgIG1vdiByYnAsIFtyYnBdIDsgQ2FsbEZyYW1lCi0gICAgbW92
IHJjeCwgcmJwIDsgcmN4IGlzIGZpcnN0IGFyZ3VtZW50IHJlZ2lzdGVyIG9uIFdpbmRvd3MKLSAg
ICBqbXAgZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUKLWdldEhvc3RDYWxsUmV0
dXJuVmFsdWUgRU5EUAotCi1fVEVYVCAgIEVORFMKLQotRU5ECmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFN0dWJzWDg2LmgKaW5kZXggYTFmYmRlZjJhMjRhMjZjMDE4NDBiYmFjNTU3MjA0ZTc1
NGViZWNjMS4uZGRkYjIxOTE3ZWFiODAzZGZjMDI1ZjViMjQ5NjVmMzVhZTg3NGM4YyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4Ni5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNYODYuaApAQCAtMjAwLDIzMCArMjAwLDYgQEAg
U1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lRW5kKSAiOiIgIlxuIgogCiAjZW5k
aWYgLy8gQ09NUElMRVIoR0NDKQogCi0jaWYgQ09NUElMRVIoTVNWQykKLQotZXh0ZXJuICJDIiB7
Ci0KLSAgICAvLyBGSVhNRTogU2luY2UgV2luZG93cyBkb2Vzbid0IHVzZSB0aGUgTExJbnQsIHdl
IGhhdmUgaW5saW5lIHN0dWJzIGhlcmUuCi0gICAgLy8gVW50aWwgdGhlIExMSW50IGlzIGNoYW5n
ZWQgdG8gc3VwcG9ydCBXaW5kb3dzLCB0aGVzZSBzdHViIG5lZWRzIHRvIGJlIHVwZGF0ZWQuCi0g
ICAgX19kZWNsc3BlYyhuYWtlZCkgRW5jb2RlZEpTVmFsdWUgY2FsbFRvSmF2YVNjcmlwdCh2b2lk
KiBjb2RlLCBFeGVjU3RhdGUqKiwgUHJvdG9DYWxsRnJhbWUqLCBSZWdpc3RlciopCi0gICAgewot
ICAgICAgICBfX2FzbSB7Ci0gICAgICAgICAgICBtb3YgZWR4LCBbZXNwXQotICAgICAgICAgICAg
cHVzaCBlYnA7Ci0gICAgICAgICAgICBtb3YgZWF4LCBlYnA7Ci0gICAgICAgICAgICBtb3YgZWJw
LCBlc3A7Ci0gICAgICAgICAgICBwdXNoIGVzaTsKLSAgICAgICAgICAgIHB1c2ggZWRpOwotICAg
ICAgICAgICAgcHVzaCBlYng7Ci0gICAgICAgICAgICBzdWIgZXNwLCAweDFjOwotICAgICAgICAg
ICAgbW92IGVjeCwgZHdvcmQgcHRyW2VzcCArIDB4MzRdOwotICAgICAgICAgICAgbW92IGVzaSwg
ZHdvcmQgcHRyW2VzcCArIDB4MzhdOwotICAgICAgICAgICAgbW92IGVicCwgZHdvcmQgcHRyW2Vz
cCArIDB4M2NdOwotICAgICAgICAgICAgc3ViIGVicCwgMHgyMDsKLSAgICAgICAgICAgIG1vdiBk
d29yZCBwdHJbZWJwICsgMHgyNF0sIDA7Ci0gICAgICAgICAgICBtb3YgZHdvcmQgcHRyW2VicCAr
IDB4MjBdLCAwOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltlYnAgKyAweDFjXSwgMDsKLSAg
ICAgICAgICAgIG1vdiBkd29yZCBwdHJbZWJwICsgMHgxOF0sIGVjeDsKLSAgICAgICAgICAgIG1v
diBlYngsIFtlY3hdOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltlYnAgKyAweDE0XSwgMDsK
LSAgICAgICAgICAgIG1vdiBkd29yZCBwdHJbZWJwICsgMHgxMF0sIGVieDsKLSAgICAgICAgICAg
IG1vdiBkd29yZCBwdHJbZWJwICsgMHhjXSwgMDsKLSAgICAgICAgICAgIG1vdiBkd29yZCBwdHJb
ZWJwICsgMHg4XSwgMTsKLSAgICAgICAgICAgIG1vdiBkd29yZCBwdHJbZWJwICsgMHg0XSwgZWR4
OwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltlYnBdLCBlYXg7Ci0gICAgICAgICAgICBtb3Yg
ZWF4LCBlYnA7Ci0KLSAgICAgICAgICAgIG1vdiBlZHgsIGR3b3JkIHB0cltlc2kgKyAweDI4XTsK
LSAgICAgICAgICAgIGFkZCBlZHgsIDU7Ci0gICAgICAgICAgICBzYWwgZWR4LCAzOwotICAgICAg
ICAgICAgc3ViIGVicCwgZWR4OwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltlYnBdLCBlYXg7
Ci0KLSAgICAgICAgICAgIG1vdiBlYXgsIDU7Ci0KLSAgICAgICAgY29weUhlYWRlckxvb3A6Ci0g
ICAgICAgICAgICBzdWIgZWF4LCAxOwotICAgICAgICAgICAgbW92IGVjeCwgZHdvcmQgcHRyW2Vz
aSArIGVheCAqIDhdOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0ciA4W2VicCArIGVheCAqIDhd
LCBlY3g7Ci0gICAgICAgICAgICBtb3YgZWN4LCBkd29yZCBwdHIgNFtlc2kgKyBlYXggKiA4XTsK
LSAgICAgICAgICAgIG1vdiBkd29yZCBwdHIgMTJbZWJwICsgZWF4ICogOF0sIGVjeDsKLSAgICAg
ICAgICAgIHRlc3QgZWF4LCBlYXg7Ci0gICAgICAgICAgICBqbnogY29weUhlYWRlckxvb3A7Ci0K
LSAgICAgICAgICAgIG1vdiBlZHgsIGR3b3JkIHB0cltlc2kgKyAweDE4XTsKLSAgICAgICAgICAg
IHN1YiBlZHgsIDE7Ci0gICAgICAgICAgICBtb3YgZWN4LCBkd29yZCBwdHJbZXNpICsgMHgyOF07
Ci0gICAgICAgICAgICBzdWIgZWN4LCAxOwotCi0gICAgICAgICAgICBjbXAgZWR4LCBlY3g7Ci0g
ICAgICAgICAgICBqZSBjb3B5QXJnczsKLQotICAgICAgICAgICAgeG9yIGVheCwgZWF4OwotICAg
ICAgICAgICAgbW92IGVieCwgLTQ7Ci0KLSAgICAgICAgZmlsbEV4dHJhQXJnc0xvb3A6Ci0gICAg
ICAgICAgICBzdWIgZWN4LCAxOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0ciAweDMwW2VicCAr
IGVjeCAqIDhdLCBlYXg7ICAgICAgICAgICAgCi0gICAgICAgICAgICBtb3YgZHdvcmQgcHRyIDB4
MzRbZWJwICsgZWN4ICogOF0sIGVieDsKLSAgICAgICAgICAgIGNtcCBlZHgsIGVjeDsKLSAgICAg
ICAgICAgIGpuZSBmaWxsRXh0cmFBcmdzTG9vcDsKLQotICAgICAgICBjb3B5QXJnczoKLSAgICAg
ICAgICAgIG1vdiBlYXgsIGR3b3JkIHB0cltlc2kgKyAweDJjXTsKLQotICAgICAgICBjb3B5QXJn
c0xvb3A6Ci0gICAgICAgICAgICB0ZXN0IGVkeCwgZWR4OwotICAgICAgICAgICAganogY29weUFy
Z3NEb25lOwotICAgICAgICAgICAgc3ViIGVkeCwgMTsKLSAgICAgICAgICAgIG1vdiBlY3gsIGR3
b3JkIHB0ciAwW2VheCArIGVkeCAqIDhdOwotICAgICAgICAgICAgbW92IGVieCwgZHdvcmQgcHRy
IDRbZWF4ICsgZWR4ICogOF07Ci0gICAgICAgICAgICBtb3YgZHdvcmQgcHRyIDB4MzBbZWJwICsg
ZWR4ICogOF0sIGVjeDsKLSAgICAgICAgICAgIG1vdiBkd29yZCBwdHIgMHgzNFtlYnAgKyBlZHgg
KiA4XSwgZWJ4OwotICAgICAgICAgICAgam1wIGNvcHlBcmdzTG9vcDsKLQotICAgICAgICBjb3B5
QXJnc0RvbmU6Ci0gICAgICAgICAgICBtb3YgZWN4LCBkd29yZCBwdHJbZXNwICsgMHgzNF07Ci0g
ICAgICAgICAgICBtb3YgZHdvcmQgcHRyW2VjeF0sIGVicDsKLQotICAgICAgICAgICAgY2FsbCBk
d29yZCBwdHJbZXNwICsgMHgzMF07Ci0KLSAgICAgICAgICAgIGNtcCBkd29yZCBwdHJbZWJwICsg
OF0sIDE7Ci0gICAgICAgICAgICBqZSBjYWxsZWVGcmFtZVBvcHBlZDsKLSAgICAgICAgICAgIG1v
diBlYnAsIGR3b3JkIHB0cltlYnBdOwotCi0gICAgICAgIGNhbGxlZUZyYW1lUG9wcGVkOgotICAg
ICAgICAgICAgbW92IGVjeCwgZHdvcmQgcHRyW2VicCArIDB4MThdOwotICAgICAgICAgICAgbW92
IGVieCwgZHdvcmQgcHRyW2VicCArIDB4MTBdOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltl
Y3hdLCBlYng7Ci0KLSAgICAgICAgICAgIGFkZCBlc3AsIDB4MWM7Ci0gICAgICAgICAgICBwb3Ag
ZWJ4OwotICAgICAgICAgICAgcG9wIGVkaTsKLSAgICAgICAgICAgIHBvcCBlc2k7Ci0gICAgICAg
ICAgICBwb3AgZWJwOwotICAgICAgICAgICAgcmV0OwotICAgICAgICB9Ci0gICAgfQotCi0gICAg
X19kZWNsc3BlYyhuYWtlZCkgdm9pZCByZXR1cm5Gcm9tSmF2YVNjcmlwdCgpCi0gICAgewotICAg
ICAgICBfX2FzbSB7Ci0gICAgICAgICAgICBhZGQgZXNwLCAweDFjOwotICAgICAgICAgICAgcG9w
IGVieDsKLSAgICAgICAgICAgIHBvcCBlZGk7Ci0gICAgICAgICAgICBwb3AgZXNpOwotICAgICAg
ICAgICAgcG9wIGVicDsKLSAgICAgICAgICAgIHJldDsKLSAgICAgICAgfQotICAgIH0KLQotICAg
IF9fZGVjbHNwZWMobmFrZWQpIEVuY29kZWRKU1ZhbHVlIGNhbGxUb05hdGl2ZUZ1bmN0aW9uKHZv
aWQqIGNvZGUsIEV4ZWNTdGF0ZSoqLCBQcm90b0NhbGxGcmFtZSosIFJlZ2lzdGVyKikKLSAgICB7
Ci0gICAgICAgIF9fYXNtIHsKLSAgICAgICAgICAgIG1vdiBlZHgsIFtlc3BdCi0gICAgICAgICAg
ICBwdXNoIGVicDsKLSAgICAgICAgICAgIG1vdiBlYXgsIGVicDsKLSAgICAgICAgICAgIG1vdiBl
YnAsIGVzcDsKLSAgICAgICAgICAgIHB1c2ggZXNpOwotICAgICAgICAgICAgcHVzaCBlZGk7Ci0g
ICAgICAgICAgICBwdXNoIGVieDsKLSAgICAgICAgICAgIHN1YiBlc3AsIDB4MWM7Ci0gICAgICAg
ICAgICBtb3YgZWN4LCBbZXNwICsgMHgzNF07Ci0gICAgICAgICAgICBtb3YgZXNpLCBbZXNwICsg
MHgzOF07Ci0gICAgICAgICAgICBtb3YgZWJwLCBbZXNwICsgMHgzY107Ci0gICAgICAgICAgICBz
dWIgZWJwLCAweDIwOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltlYnAgKyAweDI0XSwgMDsK
LSAgICAgICAgICAgIG1vdiBkd29yZCBwdHJbZWJwICsgMHgyMF0sIDA7Ci0gICAgICAgICAgICBt
b3YgZHdvcmQgcHRyW2VicCArIDB4MWNdLCAwOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltl
YnAgKyAweDE4XSwgZWN4OwotICAgICAgICAgICAgbW92IGVieCwgW2VjeF07Ci0gICAgICAgICAg
ICBtb3YgZHdvcmQgcHRyW2VicCArIDB4MTRdLCAwOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0
cltlYnAgKyAweDEwXSwgZWJ4OwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltlYnAgKyAweGNd
LCAwOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0cltlYnAgKyAweDhdLCAxOwotICAgICAgICAg
ICAgbW92IGR3b3JkIHB0cltlYnAgKyAweDRdLCBlZHg7Ci0gICAgICAgICAgICBtb3YgZHdvcmQg
cHRyW2VicF0sIGVheDsKLSAgICAgICAgICAgIG1vdiBlYXgsIGVicDsKLQotICAgICAgICAgICAg
bW92IGVkeCwgZHdvcmQgcHRyW2VzaSArIDB4MjhdOwotICAgICAgICAgICAgYWRkIGVkeCwgNTsK
LSAgICAgICAgICAgIHNhbCBlZHgsIDM7Ci0gICAgICAgICAgICBzdWIgZWJwLCBlZHg7Ci0gICAg
ICAgICAgICBtb3YgZHdvcmQgcHRyW2VicF0sIGVheDsKLQotICAgICAgICAgICAgbW92IGVheCwg
NTsKLQotICAgICAgICBjb3B5SGVhZGVyTG9vcDoKLSAgICAgICAgICAgIHN1YiBlYXgsIDE7Ci0g
ICAgICAgICAgICBtb3YgZWN4LCBkd29yZCBwdHJbZXNpICsgZWF4ICogOF07Ci0gICAgICAgICAg
ICBtb3YgZHdvcmQgcHRyIDhbZWJwICsgZWF4ICogOF0sIGVjeDsKLSAgICAgICAgICAgIG1vdiBl
Y3gsIGR3b3JkIHB0ciA0W2VzaSArIGVheCAqIDhdOwotICAgICAgICAgICAgbW92IGR3b3JkIHB0
ciAxMltlYnAgKyBlYXggKiA4XSwgZWN4OwotICAgICAgICAgICAgdGVzdCBlYXgsIGVheDsKLSAg
ICAgICAgICAgIGpueiBjb3B5SGVhZGVyTG9vcDsKLQotICAgICAgICAgICAgbW92IGVkeCwgZHdv
cmQgcHRyW2VzaSArIDB4MThdOwotICAgICAgICAgICAgc3ViIGVkeCwgMTsKLSAgICAgICAgICAg
IG1vdiBlY3gsIGR3b3JkIHB0cltlc2kgKyAweDI4XTsKLSAgICAgICAgICAgIHN1YiBlY3gsIDE7
Ci0KLSAgICAgICAgICAgIGNtcCBlZHgsIGVjeDsKLSAgICAgICAgICAgIGplIGNvcHlBcmdzOwot
Ci0gICAgICAgICAgICB4b3IgZWF4LCBlYXg7Ci0gICAgICAgICAgICBtb3YgZWJ4LCAtNDsKLQot
ICAgICAgICBmaWxsRXh0cmFBcmdzTG9vcDoKLSAgICAgICAgICAgIHN1YiBlY3gsIDE7Ci0gICAg
ICAgICAgICBtb3YgZHdvcmQgcHRyIDB4MzBbZWJwICsgZWN4ICogOF0sIGVheDsgICAgICAgICAg
ICAKLSAgICAgICAgICAgIG1vdiBkd29yZCBwdHIgMHgzNFtlYnAgKyBlY3ggKiA4XSwgZWJ4Owot
ICAgICAgICAgICAgY21wIGVkeCwgZWN4OwotICAgICAgICAgICAgam5lIGZpbGxFeHRyYUFyZ3NM
b29wOwotCi0gICAgICAgIGNvcHlBcmdzOgotICAgICAgICAgICAgbW92IGVheCwgZHdvcmQgcHRy
W2VzaSArIDB4MmNdOwotCi0gICAgICAgIGNvcHlBcmdzTG9vcDoKLSAgICAgICAgICAgIHRlc3Qg
ZWR4LCBlZHg7Ci0gICAgICAgICAgICBqeiBjb3B5QXJnc0RvbmU7Ci0gICAgICAgICAgICBzdWIg
ZWR4LCAxOwotICAgICAgICAgICAgbW92IGVjeCwgZHdvcmQgcHRyIDBbZWF4ICsgZWR4ICogOF07
Ci0gICAgICAgICAgICBtb3YgZWJ4LCBkd29yZCBwdHIgNFtlYXggKyBlZHggKiA4XTsKLSAgICAg
ICAgICAgIG1vdiBkd29yZCBwdHIgMHgzMFtlYnAgKyBlZHggKiA4XSwgZWN4OwotICAgICAgICAg
ICAgbW92IGR3b3JkIHB0ciAweDM0W2VicCArIGVkeCAqIDhdLCBlYng7Ci0gICAgICAgICAgICBq
bXAgY29weUFyZ3NMb29wOwotCi0gICAgICAgIGNvcHlBcmdzRG9uZToKLSAgICAgICAgICAgIG1v
diBlY3gsIGR3b3JkIHB0cltlc3AgKyAweDM0XTsKLSAgICAgICAgICAgIG1vdiBkd29yZCBwdHJb
ZWN4XSwgZWJwOwotCi0gICAgICAgICAgICBtb3YgZWRpLCBkd29yZCBwdHJbZXNwICsgMHgzMF07
Ci0gICAgICAgICAgICBtb3YgZHdvcmQgcHRyW2VzcCArIDB4MzBdLCBlYnA7Ci0gICAgICAgICAg
ICBtb3YgZWN4LCBlYnA7Ci0gICAgICAgICAgICBjYWxsIGVkaTsKLQotICAgICAgICAgICAgY21w
IGR3b3JkIHB0cltlYnAgKyA4XSwgMTsKLSAgICAgICAgICAgIGplIGNhbGxlZUZyYW1lUG9wcGVk
OwotICAgICAgICAgICAgbW92IGVicCwgZHdvcmQgcHRyW2VicF07Ci0KLSAgICAgICAgY2FsbGVl
RnJhbWVQb3BwZWQ6Ci0gICAgICAgICAgICBtb3YgZWN4LCBkd29yZCBwdHJbZWJwICsgMHgxOF07
Ci0gICAgICAgICAgICBtb3YgZWJ4LCBkd29yZCBwdHJbZWJwICsgMHgxMF07Ci0gICAgICAgICAg
ICBtb3YgZHdvcmQgcHRyW2VjeF0sIGVieDsKLQotICAgICAgICAgICAgYWRkIGVzcCwgMHgxYzsK
LSAgICAgICAgICAgIHBvcCBlYng7Ci0gICAgICAgICAgICBwb3AgZWRpOwotICAgICAgICAgICAg
cG9wIGVzaTsKLSAgICAgICAgICAgIHBvcCBlYnA7Ci0gICAgICAgICAgICByZXQ7Ci0gICAgICAg
IH0KLSAgICB9Ci19Ci0KLSNlbmRpZiAvLyBDT01QSUxFUihNU1ZDKQotCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKIAogI2VuZGlmIC8vIEpJVFN0dWJzWDg2X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUVGh1bmtzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUVGh1bmtzLmNwcAppbmRleCA0YzQ4MTYzZTlmZDAzNzAyYmE2ZTllOWJhN2FlYjVkZmU4MWZh
OTlkLi41MGM3ZjY0YjYyMGU2YmMyM2I2YTQzYTVjNzBlNGFhMTRkNjU5NWE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFRodW5rcy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRUaHVua3MuY3BwCkBAIC01Miw2ICs1Miw3IEBAIE1hY3JvQXNz
ZW1ibGVyQ29kZVB0ciBKSVRUaHVua3M6OmN0aU5hdGl2ZUNhbGwoVk0qIHZtKQogI2VuZGlmCiAg
ICAgcmV0dXJuIGN0aVN0dWIodm0sIG5hdGl2ZUNhbGxHZW5lcmF0b3IpLmNvZGUoKTsKIH0KKwog
TWFjcm9Bc3NlbWJsZXJDb2RlUHRyIEpJVFRodW5rczo6Y3RpTmF0aXZlQ29uc3RydWN0KFZNKiB2
bSkKIHsKICNpZiBFTkFCTEUoTExJTlQpCkBAIC02MSw2ICs2MiwxMiBAQCBNYWNyb0Fzc2VtYmxl
ckNvZGVQdHIgSklUVGh1bmtzOjpjdGlOYXRpdmVDb25zdHJ1Y3QoVk0qIHZtKQogICAgIHJldHVy
biBjdGlTdHViKHZtLCBuYXRpdmVDb25zdHJ1Y3RHZW5lcmF0b3IpLmNvZGUoKTsKIH0KIAorTWFj
cm9Bc3NlbWJsZXJDb2RlUHRyIEpJVFRodW5rczo6Y3RpTmF0aXZlVGFpbENhbGwoVk0qIHZtKQor
eworICAgIEFTU0VSVCh2bS0+Y2FuVXNlSklUKCkpOworICAgIHJldHVybiBjdGlTdHViKHZtLCBu
YXRpdmVUYWlsQ2FsbEdlbmVyYXRvcikuY29kZSgpOworfQorCiBNYWNyb0Fzc2VtYmxlckNvZGVS
ZWYgSklUVGh1bmtzOjpjdGlTdHViKFZNKiB2bSwgVGh1bmtHZW5lcmF0b3IgZ2VuZXJhdG9yKQog
ewogICAgIExvY2tlciBsb2NrZXIobV9sb2NrKTsKQEAgLTgwLDcgKzg3LDEyIEBAIE5hdGl2ZUV4
ZWN1dGFibGUqIEpJVFRodW5rczo6aG9zdEZ1bmN0aW9uU3R1YihWTSogdm0sIE5hdGl2ZUZ1bmN0
aW9uIGZ1bmN0aW9uLCBOCiAgICAgaWYgKE5hdGl2ZUV4ZWN1dGFibGUqIG5hdGl2ZUV4ZWN1dGFi
bGUgPSBtX2hvc3RGdW5jdGlvblN0dWJNYXAtPmdldChzdGQ6Om1ha2VfcGFpcihmdW5jdGlvbiwg
Y29uc3RydWN0b3IpKSkKICAgICAgICAgcmV0dXJuIG5hdGl2ZUV4ZWN1dGFibGU7CiAKLSAgICBO
YXRpdmVFeGVjdXRhYmxlKiBuYXRpdmVFeGVjdXRhYmxlID0gTmF0aXZlRXhlY3V0YWJsZTo6Y3Jl
YXRlKCp2bSwgSklUOjpjb21waWxlQ1RJTmF0aXZlQ2FsbCh2bSwgZnVuY3Rpb24pLCBmdW5jdGlv
biwgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVTZWxmTWFuYWdlZENvZGVSZWYoY3RpTmF0
aXZlQ29uc3RydWN0KHZtKSksIGNvbnN0cnVjdG9yLCBOb0ludHJpbnNpYyk7CisgICAgTmF0aXZl
RXhlY3V0YWJsZSogbmF0aXZlRXhlY3V0YWJsZSA9IE5hdGl2ZUV4ZWN1dGFibGU6OmNyZWF0ZSgK
KyAgICAgICAgKnZtLAorICAgICAgICBhZG9wdFJlZihuZXcgTmF0aXZlSklUQ29kZShKSVQ6OmNv
bXBpbGVDVElOYXRpdmVDYWxsKHZtLCBmdW5jdGlvbiksIEpJVENvZGU6Okhvc3RDYWxsVGh1bmsp
KSwKKyAgICAgICAgZnVuY3Rpb24sCisgICAgICAgIGFkb3B0UmVmKG5ldyBOYXRpdmVKSVRDb2Rl
KE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3JlYXRlU2VsZk1hbmFnZWRDb2RlUmVmKGN0aU5hdGl2
ZUNvbnN0cnVjdCh2bSkpLCBKSVRDb2RlOjpIb3N0Q2FsbFRodW5rKSksCisgICAgICAgIGNvbnN0
cnVjdG9yLCBOb0ludHJpbnNpYyk7CiAgICAgd2Vha0FkZCgqbV9ob3N0RnVuY3Rpb25TdHViTWFw
LCBzdGQ6Om1ha2VfcGFpcihmdW5jdGlvbiwgY29uc3RydWN0b3IpLCBXZWFrPE5hdGl2ZUV4ZWN1
dGFibGU+KG5hdGl2ZUV4ZWN1dGFibGUpKTsKICAgICByZXR1cm4gbmF0aXZlRXhlY3V0YWJsZTsK
IH0KQEAgLTkyLDE2ICsxMDQsMTggQEAgTmF0aXZlRXhlY3V0YWJsZSogSklUVGh1bmtzOjpob3N0
RnVuY3Rpb25TdHViKFZNKiB2bSwgTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb24sIFQKICAgICBpZiAo
TmF0aXZlRXhlY3V0YWJsZSogbmF0aXZlRXhlY3V0YWJsZSA9IG1faG9zdEZ1bmN0aW9uU3R1Yk1h
cC0+Z2V0KHN0ZDo6bWFrZV9wYWlyKGZ1bmN0aW9uLCAmY2FsbEhvc3RGdW5jdGlvbkFzQ29uc3Ry
dWN0b3IpKSkKICAgICAgICAgcmV0dXJuIG5hdGl2ZUV4ZWN1dGFibGU7CiAKLSAgICBNYWNyb0Fz
c2VtYmxlckNvZGVSZWYgY29kZTsKKyAgICBSZWZQdHI8SklUQ29kZT4gZm9yQ2FsbDsKICAgICBp
ZiAoZ2VuZXJhdG9yKSB7Ci0gICAgICAgIGlmICh2bS0+Y2FuVXNlSklUKCkpCi0gICAgICAgICAg
ICBjb2RlID0gZ2VuZXJhdG9yKHZtKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgY29kZSA9
IE1hY3JvQXNzZW1ibGVyQ29kZVJlZigpOworICAgICAgICBpZiAodm0tPmNhblVzZUpJVCgpKSB7
CisgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgZW50cnkgPSBnZW5lcmF0b3Iodm0p
OworICAgICAgICAgICAgZm9yQ2FsbCA9IGFkb3B0UmVmKG5ldyBEaXJlY3RKSVRDb2RlKGVudHJ5
LCBlbnRyeS5jb2RlKCksIEpJVENvZGU6Okhvc3RDYWxsVGh1bmspKTsKKyAgICAgICAgfQogICAg
IH0gZWxzZQotICAgICAgICBjb2RlID0gSklUOjpjb21waWxlQ1RJTmF0aXZlQ2FsbCh2bSwgZnVu
Y3Rpb24pOwotCi0gICAgTmF0aXZlRXhlY3V0YWJsZSogbmF0aXZlRXhlY3V0YWJsZSA9IE5hdGl2
ZUV4ZWN1dGFibGU6OmNyZWF0ZSgqdm0sIGNvZGUsIGZ1bmN0aW9uLCBNYWNyb0Fzc2VtYmxlckNv
ZGVSZWY6OmNyZWF0ZVNlbGZNYW5hZ2VkQ29kZVJlZihjdGlOYXRpdmVDb25zdHJ1Y3Qodm0pKSwg
Y2FsbEhvc3RGdW5jdGlvbkFzQ29uc3RydWN0b3IsIGludHJpbnNpYyk7CisgICAgICAgIGZvckNh
bGwgPSBhZG9wdFJlZihuZXcgTmF0aXZlSklUQ29kZShKSVQ6OmNvbXBpbGVDVElOYXRpdmVDYWxs
KHZtLCBmdW5jdGlvbiksIEpJVENvZGU6Okhvc3RDYWxsVGh1bmspKTsKKyAgICAKKyAgICBSZWZQ
dHI8SklUQ29kZT4gZm9yQ29uc3RydWN0ID0gYWRvcHRSZWYobmV3IE5hdGl2ZUpJVENvZGUoTWFj
cm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVTZWxmTWFuYWdlZENvZGVSZWYoY3RpTmF0aXZlQ29u
c3RydWN0KHZtKSksIEpJVENvZGU6Okhvc3RDYWxsVGh1bmspKTsKKyAgICAKKyAgICBOYXRpdmVF
eGVjdXRhYmxlKiBuYXRpdmVFeGVjdXRhYmxlID0gTmF0aXZlRXhlY3V0YWJsZTo6Y3JlYXRlKCp2
bSwgZm9yQ2FsbCwgZnVuY3Rpb24sIGZvckNvbnN0cnVjdCwgY2FsbEhvc3RGdW5jdGlvbkFzQ29u
c3RydWN0b3IsIGludHJpbnNpYyk7CiAgICAgd2Vha0FkZCgqbV9ob3N0RnVuY3Rpb25TdHViTWFw
LCBzdGQ6Om1ha2VfcGFpcihmdW5jdGlvbiwgJmNhbGxIb3N0RnVuY3Rpb25Bc0NvbnN0cnVjdG9y
KSwgV2VhazxOYXRpdmVFeGVjdXRhYmxlPihuYXRpdmVFeGVjdXRhYmxlKSk7CiAgICAgcmV0dXJu
IG5hdGl2ZUV4ZWN1dGFibGU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVFRodW5rcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRUaHVua3MuaApp
bmRleCA5N2U3ZWNkNmJiNzRhOTA3MGQwNDlkMzI3MTQ4YzA5MzdkMzRiNTZmLi4yZGFhNTBhYTdh
NTdlMDIyODMzZTI5Mzg2YjgwNmExMzNkOTVlNjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFRodW5rcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUVGh1bmtzLmgKQEAgLTU0LDYgKzU0LDcgQEAgcHVibGljOgogCiAgICAgTWFjcm9Bc3NlbWJs
ZXJDb2RlUHRyIGN0aU5hdGl2ZUNhbGwoVk0qKTsKICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIg
Y3RpTmF0aXZlQ29uc3RydWN0KFZNKik7CisgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIGN0aU5h
dGl2ZVRhaWxDYWxsKFZNKik7ICAgIAogCiAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGN0aVN0
dWIoVk0qLCBUaHVua0dlbmVyYXRvcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9yLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFwcGVyR2VuZXJhdG9y
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40OTcwNGNiY2I4YTJiYmZlOWI3MGU1ZmFhZjMwODQ1ZDg5NmE0YmE5
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclBy
ZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuY3BwCkBAIC0wLDAgKzEsMjIzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJSZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuaCIKKwor
I2lmIEVOQUJMRShKSVQpCisKKyNpbmNsdWRlICJBc3NlbWJseUhlbHBlcnMuaCIKKyNpbmNsdWRl
ICJMaW5rQnVmZmVyLmgiCisjaW5jbHVkZSAiU3RhY2tBbGlnbm1lbnQuaCIKKworbmFtZXNwYWNl
IEpTQyB7CisKK1JlZ2lzdGVyU2V0IHJlZ2lzdGVyc1RvUHJlc2VydmUoKQoreworICAgIFJlZ2lz
dGVyU2V0IGNhbGxlZVNhdmVzID0gUmVnaXN0ZXJTZXQ6OmNhbGxlZVNhdmVSZWdpc3RlcnMoKTsK
KyAgICAKKyAgICAvLyBObyBuZWVkIHRvIHByZXNlcnZlIEZQIHNpbmNlIHRoYXQgYWx3YXlzIGdl
dHMgcHJlc2VydmVkIGFueXdheS4KKyAgICBjYWxsZWVTYXZlcy5jbGVhcihHUFJJbmZvOjpjYWxs
RnJhbWVSZWdpc3Rlcik7CisgICAgCisgICAgcmV0dXJuIGNhbGxlZVNhdmVzOworfQorCitwdHJk
aWZmX3QgcmVnaXN0ZXJQcmVzZXJ2YXRpb25PZmZzZXQoKQoreworICAgIHVuc2lnbmVkIG51bWJl
ck9mQ2FsbGVlU2F2ZXMgPSByZWdpc3RlcnNUb1ByZXNlcnZlKCkubnVtYmVyT2ZTZXRSZWdpc3Rl
cnMoKTsKKyAgICAKKyAgICAvLyBOZWVkIHRvIHByZXNlcnZlIHRoZSBvbGQgcmV0dXJuIFBDLgor
ICAgIHVuc2lnbmVkIG51bWJlck9mVmFsdWVzVG9TYXZlID0gbnVtYmVyT2ZDYWxsZWVTYXZlcyAr
IDE7CisgICAgCisgICAgLy8gQWxpZ25tZW50LiBQcmVzZXJ2ZSB0aGUgc2FtZSBhbGlnbm1lbnQg
aW52YXJpYW50cyB0aGF0IHRoZSBjYWxsZXIgaW1wb3NlZC4KKyAgICB1bnNpZ25lZCBudW1iZXJP
Zk5ld1N0YWNrU2xvdHMgPQorICAgICAgICBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Yoc3RhY2tB
bGlnbm1lbnRSZWdpc3RlcnMoKSwgbnVtYmVyT2ZWYWx1ZXNUb1NhdmUpOworICAgIAorICAgIHJl
dHVybiBzaXplb2YoUmVnaXN0ZXIpICogbnVtYmVyT2ZOZXdTdGFja1Nsb3RzOworfQorCitNYWNy
b0Fzc2VtYmxlckNvZGVSZWYgZ2VuZXJhdGVSZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXIoVk0m
IHZtLCBFeGVjdXRhYmxlQmFzZSogZXhlY3V0YWJsZSwgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIHRh
cmdldCkKK3sKKyNpZiBFTkFCTEUoRlRMX0pJVCkKKyAgICAvLyBXZSBzaG91bGRuJ3QgZXZlciBi
ZSBnZW5lcmF0aW5nIHdyYXBwZXJzIGZvciBuYXRpdmUgZnVuY3Rpb25zLgorICAgIFJlZ2lzdGVy
U2V0IHRvU2F2ZSA9IHJlZ2lzdGVyc1RvUHJlc2VydmUoKTsKKyAgICBwdHJkaWZmX3Qgb2Zmc2V0
ID0gcmVnaXN0ZXJQcmVzZXJ2YXRpb25PZmZzZXQoKTsKKyAgICAKKyAgICBBc3NlbWJseUhlbHBl
cnMgaml0KCZ2bSwgMCk7CisgICAgCisgICAgaml0LnByZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVy
Q2FsbChHUFJJbmZvOjpyZWdUMSk7CisgICAgaml0LmxvYWQzMigKKyAgICAgICAgQXNzZW1ibHlI
ZWxwZXJzOjpBZGRyZXNzKAorICAgICAgICAgICAgQXNzZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50
ZXJSZWdpc3RlciwKKyAgICAgICAgICAgIChKU1N0YWNrOjpBcmd1bWVudENvdW50IC0gSlNTdGFj
azo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUpICogc2l6ZW9mKFJlZ2lzdGVyKSArIFBheWxvYWRPZmZz
ZXQpLAorICAgICAgICBHUFJJbmZvOjpyZWdUMik7CisgICAgCisgICAgLy8gUGxhY2UgdGhlIHN0
YWNrIHBvaW50ZXIgd2hlcmUgd2Ugd2FudCBpdCB0byBiZS4KKyAgICBqaXQuc3ViUHRyKEFzc2Vt
Ymx5SGVscGVyczo6VHJ1c3RlZEltbTMyKG9mZnNldCksIEFzc2VtYmx5SGVscGVyczo6c3RhY2tQ
b2ludGVyUmVnaXN0ZXIpOworICAgIAorICAgIC8vIENvbXB1dGUgdGhlIG51bWJlciBvZiB0aGlu
Z3Mgd2Ugd2lsbCBiZSBjb3B5aW5nLgorICAgIGppdC5hZGQzMigKKyAgICAgICAgQXNzZW1ibHlI
ZWxwZXJzOjpUcnVzdGVkSW1tMzIoCisgICAgICAgICAgICBKU1N0YWNrOjpDYWxsRnJhbWVIZWFk
ZXJTaXplIC0gSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUpLAorICAgICAgICBHUFJJbmZv
OjpyZWdUMik7CisKKyAgICBBU1NFUlQoIXRvU2F2ZS5nZXQoR1BSSW5mbzo6cmVnVDQpKTsKKyAg
ICBqaXQubW92ZShBc3NlbWJseUhlbHBlcnM6OnN0YWNrUG9pbnRlclJlZ2lzdGVyLCBHUFJJbmZv
OjpyZWdUNCk7CisgICAgCisgICAgQXNzZW1ibHlIZWxwZXJzOjpMYWJlbCBsb29wID0gaml0Lmxh
YmVsKCk7CisgICAgaml0LnN1YjMyKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbTMyKDEpLCBH
UFJJbmZvOjpyZWdUMik7CisgICAgaml0LmxvYWQ2NChBc3NlbWJseUhlbHBlcnM6OkFkZHJlc3Mo
R1BSSW5mbzo6cmVnVDQsIG9mZnNldCksIEdQUkluZm86OnJlZ1QwKTsKKyAgICBqaXQuc3RvcmU2
NChHUFJJbmZvOjpyZWdUMCwgR1BSSW5mbzo6cmVnVDQpOworICAgIGppdC5hZGRQdHIoQXNzZW1i
bHlIZWxwZXJzOjpUcnVzdGVkSW1tMzIoc2l6ZW9mKFJlZ2lzdGVyKSksIEdQUkluZm86OnJlZ1Q0
KTsKKyAgICBqaXQuYnJhbmNoVGVzdDMyKEFzc2VtYmx5SGVscGVyczo6Tm9uWmVybywgR1BSSW5m
bzo6cmVnVDIpLmxpbmtUbyhsb29wLCAmaml0KTsKKworICAgIC8vIEF0IHRoaXMgcG9pbnQgcmVn
VDQgKyBvZmZzZXQgcG9pbnRzIHRvIHdoZXJlIHdlIHNhdmUgdGhpbmdzLgorICAgIHB0cmRpZmZf
dCBjdXJyZW50T2Zmc2V0ID0gMDsKKyAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6cmVnVDEsIEFz
c2VtYmx5SGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUNCwgY3VycmVudE9mZnNldCkpOwor
ICAgIAorICAgIGZvciAoR1BSUmVnIGdwciA9IEFzc2VtYmx5SGVscGVyczo6Zmlyc3RSZWdpc3Rl
cigpOyBncHIgPD0gQXNzZW1ibHlIZWxwZXJzOjpsYXN0UmVnaXN0ZXIoKTsgZ3ByID0gc3RhdGlj
X2Nhc3Q8R1BSUmVnPihncHIgKyAxKSkgeworICAgICAgICBpZiAoIXRvU2F2ZS5nZXQoZ3ByKSkK
KyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBjdXJyZW50T2Zmc2V0ICs9IHNpemVvZihS
ZWdpc3Rlcik7CisgICAgICAgIGppdC5zdG9yZTY0KGdwciwgQXNzZW1ibHlIZWxwZXJzOjpBZGRy
ZXNzKEdQUkluZm86OnJlZ1Q0LCBjdXJyZW50T2Zmc2V0KSk7CisgICAgfQorICAgIAorICAgIC8v
IEFzc3VtZSB0aGF0IHRoZXJlIGFyZW4ndCBhbnkgc2F2ZWQgRlAgcmVnaXN0ZXJzLgorICAgIAor
ICAgIC8vIFJlc3RvcmUgdGhlIHRhZyByZWdpc3RlcnMuCisgICAgaml0Lm1vdmUoQXNzZW1ibHlI
ZWxwZXJzOjpUcnVzdGVkSW1tNjQoVGFnVHlwZU51bWJlciksIEdQUkluZm86OnRhZ1R5cGVOdW1i
ZXJSZWdpc3Rlcik7CisgICAgaml0LmFkZDY0KEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbTMy
KFRhZ01hc2sgLSBUYWdUeXBlTnVtYmVyKSwgR1BSSW5mbzo6dGFnVHlwZU51bWJlclJlZ2lzdGVy
LCBHUFJJbmZvOjp0YWdNYXNrUmVnaXN0ZXIpOworICAgIAorICAgIGppdC5tb3ZlKAorICAgICAg
ICBBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoCisgICAgICAgICAgICB2bS5nZXRDVElT
dHViKHJlZ2lzdGVyUmVzdG9yYXRpb25UaHVua0dlbmVyYXRvcikuY29kZSgpLmV4ZWN1dGFibGVB
ZGRyZXNzKCkpLAorICAgICAgICBHUFJJbmZvOjpub25BcmdHUFIwKTsKKyAgICBqaXQucmVzdG9y
ZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4oR1BSSW5mbzo6bm9uQXJnR1BSMCk7CisgICAgQXNz
ZW1ibHlIZWxwZXJzOjpKdW1wIGp1bXAgPSBqaXQuanVtcCgpOworICAgIAorICAgIExpbmtCdWZm
ZXIgbGlua0J1ZmZlcih2bSwgJmppdCwgR0xPQkFMX1RIVU5LX0lEKTsKKyAgICBsaW5rQnVmZmVy
LmxpbmsoanVtcCwgQ29kZUxvY2F0aW9uTGFiZWwodGFyZ2V0KSk7CisKKyAgICBpZiAoT3B0aW9u
czo6dmVyYm9zZUZUTFRvSlNUaHVuaygpKQorICAgICAgICBkYXRhTG9nKCJOZWVkIGEgdGh1bmsg
Zm9yIGNhbGxzIGZyb20gRlRMIHRvIG5vbi1GVEwgdmVyc2lvbiBvZiAiLCAqZXhlY3V0YWJsZSwg
IlxuIik7CisgICAgCisgICAgcmV0dXJuIEZJTkFMSVpFX0RGR19DT0RFKGxpbmtCdWZmZXIsICgi
UmVnaXN0ZXIgcHJlc2VydmF0aW9uIHdyYXBwZXIgZm9yICVzLyVzLCAlcCIsIHRvQ1N0cmluZyhl
eGVjdXRhYmxlLT5oYXNoRm9yKENvZGVGb3JDYWxsKSkuZGF0YSgpLCB0b0NTdHJpbmcoZXhlY3V0
YWJsZS0+aGFzaEZvcihDb2RlRm9yQ29uc3RydWN0KSkuZGF0YSgpLCB0YXJnZXQuZXhlY3V0YWJs
ZUFkZHJlc3MoKSkpOworI2Vsc2UgLy8gRU5BQkxFKEZUTF9KSVQpCisgICAgVU5VU0VEX1BBUkFN
KHZtKTsKKyAgICBVTlVTRURfUEFSQU0oZXhlY3V0YWJsZSk7CisgICAgVU5VU0VEX1BBUkFNKHRh
cmdldCk7CisgICAgLy8gV2UgZG9uJ3Qgc3VwcG9ydCBub24tRlRMIGJ1aWxkcyBmb3IgdHdvIHJl
YXNvbnM6CisgICAgLy8gLSBJdCBqdXN0IHNvIGhhcHBlbnMgdGhhdCBjdXJyZW50bHkgb25seSB0
aGUgRlRMIGJvdHRvbXMgb3V0IGluIHRoaXMgY29kZS4KKyAgICAvLyAtIFRoZSBjb2RlIGFib3Zl
IHVzZXMgNjQtYml0IGluc3RydWN0aW9ucy4gSXQgZG9lc24ndCBuZWNlc3NhcmlseSBoYXZlIHRv
OyBpdCB3b3VsZCBiZQorICAgIC8vICAgZWFzeSB0byBjaGFuZ2UgaXQgc28gdGhhdCBpdCBkb2Vz
bid0LiBCdXQgb2J2aW91c2x5IG1ha2luZyB0aGF0IGNoYW5nZSB3b3VsZCBiZSBhCisgICAgLy8g
ICBwcmVyZXF1aXNpdGUgdG8gcmVtb3ZpbmcgdGhpcyAjaWYuCisgICAgVU5SRUFDSEFCTEVfRk9S
X1BMQVRGT1JNKCk7CisgICAgcmV0dXJuIE1hY3JvQXNzZW1ibGVyQ29kZVJlZigpOworI2VuZGlm
IC8vIEVOQUJMRShGVExfSklUKQorfQorCitzdGF0aWMgdm9pZCBnZW5lcmF0ZVJlZ2lzdGVyUmVz
dG9yYXRpb24oQXNzZW1ibHlIZWxwZXJzJiBqaXQpCit7CisjaWYgRU5BQkxFKEZUTF9KSVQpCisg
ICAgUmVnaXN0ZXJTZXQgdG9TYXZlID0gcmVnaXN0ZXJzVG9QcmVzZXJ2ZSgpOworICAgIHB0cmRp
ZmZfdCBvZmZzZXQgPSByZWdpc3RlclByZXNlcnZhdGlvbk9mZnNldCgpOworICAgIAorICAgIEFT
U0VSVCghdG9TYXZlLmdldChHUFJJbmZvOjpyZWdUNCkpOworCisgICAgLy8gV2UgbmVlZCB0byBw
bGFjZSB0aGUgc3RhY2sgcG9pbnRlciBiYWNrIHRvIHdoZXJlIHRoZSBjYWxsZXIgdGhvdWdodCB0
aGV5IGxlZnQgaXQuCisgICAgLy8gQnV0IGFsc28sIGluIG9yZGVyIHRvIHJlY292ZXIgdGhlIHJl
Z2lzdGVycywgd2UgbmVlZCB0byBmaWd1cmUgb3V0IGhvdyBiaWcgdGhlCisgICAgLy8gYXJndW1l
bnRzIGFyZWEgaXMuCisgICAgCisgICAgaml0LmxvYWQzMigKKyAgICAgICAgQXNzZW1ibHlIZWxw
ZXJzOjpBZGRyZXNzKAorICAgICAgICAgICAgQXNzZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50ZXJS
ZWdpc3RlciwKKyAgICAgICAgICAgIChKU1N0YWNrOjpBcmd1bWVudENvdW50IC0gSlNTdGFjazo6
Q2FsbGVyRnJhbWVBbmRQQ1NpemUpICogc2l6ZW9mKFJlZ2lzdGVyKSArIFBheWxvYWRPZmZzZXQp
LAorICAgICAgICBHUFJJbmZvOjpyZWdUNCk7CisgICAgCisgICAgaml0Lm1vdmUoR1BSSW5mbzo6
cmVnVDQsIEdQUkluZm86OnJlZ1QyKTsKKyAgICBqaXQubHNoaWZ0MzIoQXNzZW1ibHlIZWxwZXJz
OjpUcnVzdGVkSW1tMzIoMyksIEdQUkluZm86OnJlZ1QyKTsKKyAgICAKKyAgICBqaXQuYWRkUHRy
KEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbTMyKG9mZnNldCksIEFzc2VtYmx5SGVscGVyczo6
c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIGppdC5hZGRQdHIoQXNzZW1ibHlIZWxwZXJzOjpz
dGFja1BvaW50ZXJSZWdpc3RlciwgR1BSSW5mbzo6cmVnVDIpOworICAgIAorICAgIC8vIFdlIHNh
dmVkIHRoaW5ncyBhdDoKKyAgICAvLworICAgIC8vICAgICBhZGpTUCArIChKU1N0YWNrOjpDYWxs
RnJhbWVIZWFkZXJTaXplIC0gSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUgKyBOdW1Bcmdz
KSAqIDgKKyAgICAvLworICAgIC8vIFdoZXJlOgorICAgIC8vCisgICAgLy8gICAgIGFkalNQID0g
b3JpZ1NQIC0gb2Zmc2V0CisgICAgLy8KKyAgICAvLyByZWdUMiBub3cgcG9pbnRzIGF0OgorICAg
IC8vCisgICAgLy8gICAgIG9yaWdTUCArIE51bUFyZ3MgKiA4CisgICAgLy8gICA9IGFkalNQICsg
b2Zmc2V0ICsgTnVtQXJncyAqIDgKKyAgICAvLyAKKyAgICAvLyBTbyBpZiB3ZSBzdWJ0cmFjdCBv
ZmZzZXQgYW5kIHRoZW4gYWRkIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUgYW5kIHN1YnRy
YWN0CisgICAgLy8gSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUsIHdlJ2xsIGdldCB0aGUg
dGhpbmcgd2Ugd2FudC4KKyAgICBwdHJkaWZmX3QgY3VycmVudE9mZnNldCA9IC1vZmZzZXQgKyBz
aXplb2YoUmVnaXN0ZXIpICogKAorICAgICAgICBKU1N0YWNrOjpDYWxsRnJhbWVIZWFkZXJTaXpl
IC0gSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUpOworICAgIGppdC5sb2FkUHRyKEFzc2Vt
Ymx5SGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMiwgY3VycmVudE9mZnNldCksIEdQUklu
Zm86OnJlZ1QxKTsKKyAgICAKKyAgICBmb3IgKEdQUlJlZyBncHIgPSBBc3NlbWJseUhlbHBlcnM6
OmZpcnN0UmVnaXN0ZXIoKTsgZ3ByIDw9IEFzc2VtYmx5SGVscGVyczo6bGFzdFJlZ2lzdGVyKCk7
IGdwciA9IHN0YXRpY19jYXN0PEdQUlJlZz4oZ3ByICsgMSkpIHsKKyAgICAgICAgaWYgKCF0b1Nh
dmUuZ2V0KGdwcikpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgY3VycmVudE9mZnNl
dCArPSBzaXplb2YoUmVnaXN0ZXIpOworICAgICAgICBqaXQubG9hZDY0KEFzc2VtYmx5SGVscGVy
czo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMiwgY3VycmVudE9mZnNldCksIGdwcik7CisgICAgfQor
ICAgIAorICAgIC8vIFRodW5rcyBsaWtlIHRoaXMgcmVseSBvbiB0aGUgQXJndW1lbnRDb3VudCBi
ZWluZyBpbnRhY3QuIFBheSBpdCBmb3J3YXJkLgorICAgIGppdC5zdG9yZTMyKAorICAgICAgICBH
UFJJbmZvOjpyZWdUNCwKKyAgICAgICAgQXNzZW1ibHlIZWxwZXJzOjpBZGRyZXNzKAorICAgICAg
ICAgICAgQXNzZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3RlciwKKyAgICAgICAgICAg
IChKU1N0YWNrOjpBcmd1bWVudENvdW50IC0gSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUp
ICogc2l6ZW9mKFJlZ2lzdGVyKSArIFBheWxvYWRPZmZzZXQpKTsKKyAgICAKKyAgICBpZiAoIUFT
U0VSVF9ESVNBQkxFRCkgeworICAgICAgICBBc3NlbWJseUhlbHBlcnM6Okp1bXAgb2sgPSBqaXQu
YnJhbmNoUHRyKAorICAgICAgICAgICAgQXNzZW1ibHlIZWxwZXJzOjpBYm92ZSwgR1BSSW5mbzo6
cmVnVDEsIEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbVB0cihzdGF0aWNfY2FzdDxzaXplX3Q+
KDB4MTAwMCkpKTsKKyAgICAgICAgaml0LmJyZWFrcG9pbnQoKTsKKyAgICAgICAgb2subGluaygm
aml0KTsKKyAgICB9CisgICAgCisgICAgaml0Lmp1bXAoR1BSSW5mbzo6cmVnVDEpOworI2Vsc2Ug
Ly8gRU5BQkxFKEZUTF9KSVQpCisgICAgVU5VU0VEX1BBUkFNKGppdCk7CisgICAgVU5SRUFDSEFC
TEVfRk9SX1BMQVRGT1JNKCk7CisjZW5kaWYgLy8gRU5BQkxFKEZUTF9KSVQpCit9CisKK01hY3Jv
QXNzZW1ibGVyQ29kZVJlZiByZWdpc3RlclJlc3RvcmF0aW9uVGh1bmtHZW5lcmF0b3IoVk0qIHZt
KQoreworICAgIEFzc2VtYmx5SGVscGVycyBqaXQodm0sIDApOworICAgIGdlbmVyYXRlUmVnaXN0
ZXJSZXN0b3JhdGlvbihqaXQpOworICAgIExpbmtCdWZmZXIgbGlua0J1ZmZlcigqdm0sICZqaXQs
IEdMT0JBTF9USFVOS19JRCk7CisgICAgcmV0dXJuIEZJTkFMSVpFX0NPREUobGlua0J1ZmZlciwg
KCJSZWdpc3RlciByZXN0b3JhdGlvbiB0aHVuayIpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgSlND
CisKKyNlbmRpZiAvLyBFTkFCTEUoSklUKQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1JlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBlckdlbmVyYXRvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclByZXNlcnZhdGlvbldyYXBwZXJHZW5lcmF0b3Iu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44ZWUxZmM2YWY3MWU3MjE4NDIxZjFlNzI1MDUyOGI1NWRiOGU1NzIwCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZWdpc3RlclByZXNl
cnZhdGlvbldyYXBwZXJHZW5lcmF0b3IuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgUmVnaXN0ZXJQcmVzZXJ2
YXRpb25XcmFwcGVyR2VuZXJhdG9yX2gKKyNkZWZpbmUgUmVnaXN0ZXJQcmVzZXJ2YXRpb25XcmFw
cGVyR2VuZXJhdG9yX2gKKworI2lmIEVOQUJMRShKSVQpCisKKyNpbmNsdWRlICJBcml0eUNoZWNr
TW9kZS5oIgorI2luY2x1ZGUgIkFzc2VtYmx5SGVscGVycy5oIgorI2luY2x1ZGUgIk1hY3JvQXNz
ZW1ibGVyQ29kZVJlZi5oIgorI2luY2x1ZGUgIlZNLmgiCisKK25hbWVzcGFjZSBKU0MgeworCitS
ZWdpc3RlclNldCByZWdpc3RlcnNUb1ByZXNlcnZlKCk7CisKK3B0cmRpZmZfdCByZWdpc3RlclBy
ZXNlcnZhdGlvbk9mZnNldCgpOworCitNYWNyb0Fzc2VtYmxlckNvZGVSZWYgZ2VuZXJhdGVSZWdp
c3RlclByZXNlcnZhdGlvbldyYXBwZXIoVk0mLCBFeGVjdXRhYmxlQmFzZSosIE1hY3JvQXNzZW1i
bGVyQ29kZVB0ciB0YXJnZXQpOworCitNYWNyb0Fzc2VtYmxlckNvZGVSZWYgcmVnaXN0ZXJSZXN0
b3JhdGlvblRodW5rR2VuZXJhdG9yKFZNKik7CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5k
aWYgLy8gRU5BQkxFKEpJVCkKKworI2VuZGlmIC8vIFJlZ2lzdGVyUHJlc2VydmF0aW9uV3JhcHBl
ckdlbmVyYXRvcl9oCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVw
YXRjaC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCmluZGV4IDVj
OWFhOTY1ODY2MmE1MDZkNjk4YmRkNjJkNGQ4NDBlMjBmNWJiOTcuLjkyYjhjNDdkZGRjZTQ0YzYy
NDBkN2M2ZGQ3NWRmZGU4MjYwY2M2OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvUmVwYXRjaC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNo
LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIsIDIw
MTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEx
LCAyMDEyLCAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTEsMTEgKzUxLDYgQEAgbmFtZXNwYWNlIEpT
QyB7CiAvLyB0aGF0IHdvdWxkIG9yZGluYXJpbHkgaGF2ZSB3ZWxsLWtub3duIHZhbHVlczoKIC8v
IC0gdGFnVHlwZU51bWJlclJlZ2lzdGVyCiAvLyAtIHRhZ01hc2tSZWdpc3RlcgotLy8gLSBjYWxs
RnJhbWVSZWdpc3RlciAqKgotLy8KLS8vIFdlIGN1cnJlbnRseSBvbmx5IHVzZSB0aGUgY2FsbEZy
YW1lUmVnaXN0ZXIgZm9yIGNsb3N1cmUgY2FsbCBwYXRjaGluZywgYW5kIHdlJ3JlIG5vdCBnb2lu
ZyB0bwotLy8gZ2l2ZSB0aGUgRlRMIGNsb3N1cmUgY2FsbCBwYXRjaGluZyBzdXBwb3J0IHVudGls
IHdlIHN3aXRjaCB0byB0aGUgQyBzdGFjayAtIGJ1dCB3aGVuIHdlIGRvIHRoYXQsCi0vLyBjYWxs
RnJhbWVSZWdpc3RlciB3aWxsIGRpc2FwcGVhci4KIAogc3RhdGljIEZ1bmN0aW9uUHRyIHJlYWRD
YWxsVGFyZ2V0KFJlcGF0Y2hCdWZmZXImIHJlcGF0Y2hCdWZmZXIsIENvZGVMb2NhdGlvbkNhbGwg
Y2FsbCkKIHsKQEAgLTI5OCwyMyArMjkzLDIzIEBAIHN0YXRpYyBQcm90b0NoYWluR2VuZXJhdGlv
blJlc3VsdCBnZW5lcmF0ZVByb3RvQ2hhaW5BY2Nlc3NTdHViKEV4ZWNTdGF0ZSogZXhlYywKICNl
bmRpZgogICAgICAgICB9CiAgICAgfQorCiAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgb3BlcmF0
aW9uQ2FsbDsKICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBoYW5kbGVyQ2FsbDsKICAgICBGdW5j
dGlvblB0ciBvcGVyYXRpb25GdW5jdGlvbjsKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBzdWNj
ZXNzLCBmYWlsOwogICAgIGlmIChpc0FjY2Vzc29yKSB7Ci0gICAgICAgIEdQUlJlZyBjYWxsRnJh
bWVSZWdpc3RlciA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2guY2FsbEZyYW1l
UmVnaXN0ZXIpOwogICAgICAgICBpZiAoc2xvdC5pc0NhY2hlYWJsZUdldHRlcigpKSB7Ci0gICAg
ICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRzKGNhbGxGcmFtZVJlZ2lzdGVyLCBzY3JhdGNo
R1BSLCByZXN1bHRHUFIpOworICAgICAgICAgICAgc3R1YkppdC5zZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoc2NyYXRjaEdQUiwgcmVzdWx0R1BSKTsKICAgICAgICAgICAgIG9wZXJhdGlvbkZ1
bmN0aW9uID0gb3BlcmF0aW9uQ2FsbEdldHRlcjsKICAgICAgICAgfSBlbHNlIHsKICNpZiBVU0Uo
SlNWQUxVRTY0KQogICAgICAgICAgICAgLy8gRW5jb2RlZEpTVmFsdWUgKCpHZXRWYWx1ZUZ1bmMp
KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIFByb3BlcnR5TmFtZSk7Ci0gICAgICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRz
KGNhbGxGcmFtZVJlZ2lzdGVyLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihwcm90b09i
amVjdCksIHNjcmF0Y2hHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKHByb3BlcnR5
TmFtZS5pbXBsKCkpKTsKKyAgICAgICAgICAgIHN0dWJKaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhl
Y1N0YXRlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKHByb3RvT2JqZWN0KSwgc2NyYXRj
aEdQUiwgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIocHJvcGVydHlOYW1lLmltcGwoKSkp
OwogICAgICAgICAgICAgb3BlcmF0aW9uRnVuY3Rpb24gPSBGdW5jdGlvblB0cihzbG90LmN1c3Rv
bUdldHRlcigpKTsKICNlbHNlCiAgICAgICAgICAgICBzdHViSml0Lm1vdmUoTWFjcm9Bc3NlbWJs
ZXI6OlRydXN0ZWRJbW1QdHIocHJvdG9PYmplY3QpLCBzY3JhdGNoR1BSKTsKLSAgICAgICAgICAg
IHN0dWJKaXQuc2V0dXBBcmd1bWVudHMoY2FsbEZyYW1lUmVnaXN0ZXIsIHNjcmF0Y2hHUFIsCisg
ICAgICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShzY3JhdGNoR1BS
LAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKEZ1bmN0aW9u
UHRyKHNsb3QuY3VzdG9tR2V0dGVyKCkpLmV4ZWN1dGFibGVBZGRyZXNzKCkpLAogICAgICAgICAg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKHByb3BlcnR5TmFtZS5pbXBsKCkp
KTsKICAgICAgICAgICAgIG9wZXJhdGlvbkZ1bmN0aW9uID0gb3BlcmF0aW9uQ2FsbEN1c3RvbUdl
dHRlcjsKQEAgLTM1MCw5ICszNDUsMTAgQEAgc3RhdGljIFByb3RvQ2hhaW5HZW5lcmF0aW9uUmVz
dWx0IGdlbmVyYXRlUHJvdG9DaGFpbkFjY2Vzc1N0dWIoRXhlY1N0YXRlKiBleGVjLAogICAgICAg
ICBwYXRjaEJ1ZmZlci5saW5rKG9wZXJhdGlvbkNhbGwsIG9wZXJhdGlvbkZ1bmN0aW9uKTsKICAg
ICAgICAgcGF0Y2hCdWZmZXIubGluayhoYW5kbGVyQ2FsbCwgbG9va3VwRXhjZXB0aW9uSGFuZGxl
cik7CiAgICAgfQotICAgIHN0dWJSb3V0aW5lID0gRklOQUxJWkVfQ09ERV9GT1JfREZHX1NUVUIo
Ci0gICAgICAgIHBhdGNoQnVmZmVyLAotICAgICAgICAoIkRGRyBwcm90b3R5cGUgY2hhaW4gYWNj
ZXNzIHN0dWIgZm9yICVzLCByZXR1cm4gcG9pbnQgJXAiLAorICAgIAorICAgIHN0dWJSb3V0aW5l
ID0gRklOQUxJWkVfQ09ERV9GT1JfU1RVQigKKyAgICAgICAgZXhlYy0+Y29kZUJsb2NrKCksIHBh
dGNoQnVmZmVyLAorICAgICAgICAoIlByb3RvdHlwZSBjaGFpbiBhY2Nlc3Mgc3R1YiBmb3IgJXMs
IHJldHVybiBwb2ludCAlcCIsCiAgICAgICAgICAgICB0b0NTdHJpbmcoKmV4ZWMtPmNvZGVCbG9j
aygpKS5kYXRhKCksIHN1Y2Nlc3NMYWJlbC5leGVjdXRhYmxlQWRkcmVzcygpKSk7CiAgICAgcmV0
dXJuIFByb3RvQ2hhaW5HZW5lcmF0aW9uU3VjY2VlZGVkOwogfQpAQCAtNDEyLDkgKzQwOCw5IEBA
IHN0YXRpYyBib29sIHRyeUNhY2hlR2V0QnlJRChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFz
ZVZhbHVlLCBjb25zdCBJZGVudGlmaWVyCiAgICAgICAgIAogICAgICAgICBsaW5rUmVzdG9yZVNj
cmF0Y2gocGF0Y2hCdWZmZXIsIG5lZWRUb1Jlc3RvcmVTY3JhdGNoLCBzdHViSW5mbywgc3VjY2Vz
cywgZmFpbCwgZmFpbHVyZUNhc2VzKTsKICAgICAgICAgCi0gICAgICAgIHN0dWJJbmZvLnN0dWJS
b3V0aW5lID0gRklOQUxJWkVfQ09ERV9GT1JfREZHX1NUVUIoCi0gICAgICAgICAgICBwYXRjaEJ1
ZmZlciwKLSAgICAgICAgICAgICgiREZHIEdldEJ5SWQgYXJyYXkgbGVuZ3RoIHN0dWIgZm9yICVz
LCByZXR1cm4gcG9pbnQgJXAiLAorICAgICAgICBzdHViSW5mby5zdHViUm91dGluZSA9IEZJTkFM
SVpFX0NPREVfRk9SX1NUVUIoCisgICAgICAgICAgICBleGVjLT5jb2RlQmxvY2soKSwgcGF0Y2hC
dWZmZXIsCisgICAgICAgICAgICAoIkdldEJ5SWQgYXJyYXkgbGVuZ3RoIHN0dWIgZm9yICVzLCBy
ZXR1cm4gcG9pbnQgJXAiLAogICAgICAgICAgICAgICAgIHRvQ1N0cmluZygqZXhlYy0+Y29kZUJs
b2NrKCkpLmRhdGEoKSwgc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmxhYmVsQXRPZmZzZXQo
CiAgICAgICAgICAgICAgICAgICAgIHN0dWJJbmZvLnBhdGNoLmRlbHRhQ2FsbFRvRG9uZSkuZXhl
Y3V0YWJsZUFkZHJlc3MoKSkpOwogICAgICAgICAKQEAgLTU3Miw3ICs1NjgsNiBAQCBzdGF0aWMg
Ym9vbCB0cnlCdWlsZEdldEJ5SURMaXN0KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBiYXNlVmFs
dWUsIGNvbnN0IElkZW50aQogICAgICAgICAKICAgICAgICAgc3R1YkluZm8udS5nZXRCeUlkU2Vs
Zkxpc3QubGlzdFNpemUrKzsKICAgICAgICAgCi0gICAgICAgIEdQUlJlZyBjYWxsRnJhbWVSZWdp
c3RlciA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2guY2FsbEZyYW1lUmVnaXN0
ZXIpOwogICAgICAgICBHUFJSZWcgYmFzZUdQUiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1Yklu
Zm8ucGF0Y2guYmFzZUdQUik7CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICAgICAgR1BSUmVn
IHJlc3VsdFRhZ0dQUiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2gudmFsdWVU
YWdHUFIpOwpAQCAtNTk2LDYgKzU5MSwxMCBAQCBzdGF0aWMgYm9vbCB0cnlCdWlsZEdldEJ5SURM
aXN0KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBiYXNlVmFsdWUsIGNvbnN0IElkZW50aQogICAg
ICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBzdWNjZXNzOwogICAgICAgICAKICAgICAgICAgaWYg
KHNsb3QuaXNDYWNoZWFibGVHZXR0ZXIoKSB8fCBzbG90LmlzQ2FjaGVhYmxlQ3VzdG9tKCkpIHsK
KyAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGNvZGUgc2hvdWxkbid0IGJlIGFzc3VtaW5nIHRo
YXQgdGhlIHRvcCBvZiBzdGFjayBpcyBzZXQgdXAgZm9yIEpTQworICAgICAgICAgICAgLy8gSklU
LXN0eWxlIEMgY2FsbHMsIHNpbmNlIHdlIG1heSBiZSBjdXJyZW50bHkgb24gdG9wIG9mIGFuIEZU
TCBmcmFtZS4KKyAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjU3MTEKKyAgICAgICAgICAgIAogICAgICAgICAgICAgaWYgKHNsb3QuaXNDYWNo
ZWFibGVHZXR0ZXIoKSkgewogICAgICAgICAgICAgICAgIEFTU0VSVChzY3JhdGNoR1BSICE9IElu
dmFsaWRHUFJSZWcpOwogICAgICAgICAgICAgICAgIEFTU0VSVChiYXNlR1BSICE9IHNjcmF0Y2hH
UFIpOwpAQCAtNjEzLDE2ICs2MTIsMTYgQEAgc3RhdGljIGJvb2wgdHJ5QnVpbGRHZXRCeUlETGlz
dChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFzZVZhbHVlLCBjb25zdCBJZGVudGkKICAgICAg
ICAgICAgICAgICAgICAgc3R1YkppdC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc2Ny
YXRjaEdQUiwgb2Zmc2V0UmVsYXRpdmVUb0Jhc2Uoc2xvdC5jYWNoZWRPZmZzZXQoKSkpLCBzY3Jh
dGNoR1BSKTsKICNlbmRpZgogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBzdHVi
Sml0LnNldHVwQXJndW1lbnRzKGNhbGxGcmFtZVJlZ2lzdGVyLCBiYXNlR1BSLCBzY3JhdGNoR1BS
KTsKKyAgICAgICAgICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShi
YXNlR1BSLCBzY3JhdGNoR1BSKTsKICAgICAgICAgICAgICAgICBvcGVyYXRpb25GdW5jdGlvbiA9
IG9wZXJhdGlvbkNhbGxHZXR0ZXI7CiAgICAgICAgICAgICB9IGVsc2UgewogI2lmIFVTRShKU1ZB
TFVFNjQpCiAgICAgICAgICAgICAgICAgLy8gRW5jb2RlZEpTVmFsdWUgKCpHZXRWYWx1ZUZ1bmMp
KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIFByb3BlcnR5TmFtZSk7Ci0gICAgICAgICAgICAgICAgc3R1YkppdC5zZXR1cEFyZ3Vt
ZW50cyhjYWxsRnJhbWVSZWdpc3RlciwgYmFzZUdQUiwgYmFzZUdQUiwgTWFjcm9Bc3NlbWJsZXI6
OlRydXN0ZWRJbW1QdHIoaWRlbnQuaW1wbCgpKSk7CisgICAgICAgICAgICAgICAgc3R1YkppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYmFzZUdQUiwgYmFzZUdQUiwgTWFjcm9Bc3NlbWJs
ZXI6OlRydXN0ZWRJbW1QdHIoaWRlbnQuaW1wbCgpKSk7CiAgICAgICAgICAgICAgICAgb3BlcmF0
aW9uRnVuY3Rpb24gPSBGdW5jdGlvblB0cihzbG90LmN1c3RvbUdldHRlcigpKTsKICNlbHNlCi0g
ICAgICAgICAgICAgICAgc3R1YkppdC5zZXR1cEFyZ3VtZW50cygKLSAgICAgICAgICAgICAgICAg
ICAgY2FsbEZyYW1lUmVnaXN0ZXIsIGJhc2VHUFIsCisgICAgICAgICAgICAgICAgc3R1YkppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoCisgICAgICAgICAgICAgICAgICAgIGJhc2VHUFIs
CiAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKEZ1bmN0
aW9uUHRyKHNsb3QuY3VzdG9tR2V0dGVyKCkpLmV4ZWN1dGFibGVBZGRyZXNzKCkpLAogICAgICAg
ICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihpZGVudC5pbXBsKCkp
KTsKICAgICAgICAgICAgICAgICBvcGVyYXRpb25GdW5jdGlvbiA9IG9wZXJhdGlvbkNhbGxDdXN0
b21HZXR0ZXI7CkBAIC02NDQsNyArNjQzLDcgQEAgc3RhdGljIGJvb2wgdHJ5QnVpbGRHZXRCeUlE
TGlzdChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFzZVZhbHVlLCBjb25zdCBJZGVudGkKICNl
bmRpZgogICAgICAgICAgICAgc3VjY2VzcyA9IHN0dWJKaXQuZW1pdEV4Y2VwdGlvbkNoZWNrKEND
YWxsSGVscGVyczo6SW52ZXJ0ZWRFeGNlcHRpb25DaGVjayk7CiAgICAgICAgICAgICAKLSAgICAg
ICAgICAgIHN0dWJKaXQuc2V0dXBBcmd1bWVudHNFeGVjU3RhdGUoKTsKKyAgICAgICAgICAgIHN0
dWJKaXQuc2V0dXBBcmd1bWVudHMoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKHZtKSwgR1BS
SW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwogICAgICAgICAgICAgaGFuZGxlckNhbGwgPSBzdHVi
Sml0LmNhbGwoKTsKICAgICAgICAgICAgIHN0dWJKaXQuanVtcFRvRXhjZXB0aW9uSGFuZGxlcigp
OwogICAgICAgICB9IGVsc2UgewpAQCAtNjg0LDkgKzY4Myw5IEBAIHN0YXRpYyBib29sIHRyeUJ1
aWxkR2V0QnlJRExpc3QoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgY29uc3Qg
SWRlbnRpCiAgICAgICAgIAogICAgICAgICBSZWZQdHI8SklUU3R1YlJvdXRpbmU+IHN0dWJSb3V0
aW5lID0KICAgICAgICAgICAgIGNyZWF0ZUpJVFN0dWJSb3V0aW5lKAotICAgICAgICAgICAgICAg
IEZJTkFMSVpFX0RGR19DT0RFKAotICAgICAgICAgICAgICAgICAgICBwYXRjaEJ1ZmZlciwKLSAg
ICAgICAgICAgICAgICAgICAgKCJERkcgR2V0QnlJZCBwb2x5bW9ycGhpYyBsaXN0IGFjY2VzcyBm
b3IgJXMsIHJldHVybiBwb2ludCAlcCIsCisgICAgICAgICAgICAgICAgRklOQUxJWkVfQ09ERV9G
T1IoCisgICAgICAgICAgICAgICAgICAgIGV4ZWMtPmNvZGVCbG9jaygpLCBwYXRjaEJ1ZmZlciwK
KyAgICAgICAgICAgICAgICAgICAgKCJHZXRCeUlkIHBvbHltb3JwaGljIGxpc3QgYWNjZXNzIGZv
ciAlcywgcmV0dXJuIHBvaW50ICVwIiwKICAgICAgICAgICAgICAgICAgICAgICAgIHRvQ1N0cmlu
ZygqZXhlYy0+Y29kZUJsb2NrKCkpLmRhdGEoKSwgc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9u
LmxhYmVsQXRPZmZzZXQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R1YkluZm8ucGF0
Y2guZGVsdGFDYWxsVG9Eb25lKS5leGVjdXRhYmxlQWRkcmVzcygpKSksCiAgICAgICAgICAgICAg
ICAgKnZtLApAQCAtNzc1LDcgKzc3NCw3IEBAIHN0YXRpYyBWX0pJVE9wZXJhdGlvbl9FU3NpSkpJ
IGFwcHJvcHJpYXRlTGlzdEJ1aWxkaW5nUHV0QnlJZEZ1bmN0aW9uKGNvbnN0IFB1dFByCiB9CiAK
ICNpZiBFTkFCTEUoR0dDKQotc3RhdGljIE1hY3JvQXNzZW1ibGVyOjpDYWxsIHN0b3JlVG9Xcml0
ZUJhcnJpZXJCdWZmZXIoQ0NhbGxIZWxwZXJzJiBqaXQsIEdQUlJlZyBjZWxsLCBHUFJSZWcgc2Ny
YXRjaDEsIEdQUlJlZyBzY3JhdGNoMiwgR1BSUmVnIGNhbGxGcmFtZVJlZ2lzdGVyLCBTY3JhdGNo
UmVnaXN0ZXJBbGxvY2F0b3ImIGFsbG9jYXRvcikKK3N0YXRpYyBNYWNyb0Fzc2VtYmxlcjo6Q2Fs
bCBzdG9yZVRvV3JpdGVCYXJyaWVyQnVmZmVyKENDYWxsSGVscGVycyYgaml0LCBHUFJSZWcgY2Vs
bCwgR1BSUmVnIHNjcmF0Y2gxLCBHUFJSZWcgc2NyYXRjaDIsIFNjcmF0Y2hSZWdpc3RlckFsbG9j
YXRvciYgYWxsb2NhdG9yKQogewogICAgIEFTU0VSVChzY3JhdGNoMSAhPSBzY3JhdGNoMik7CiAg
ICAgV3JpdGVCYXJyaWVyQnVmZmVyKiB3cml0ZUJhcnJpZXJCdWZmZXIgPSAmaml0LnZtKCktPmhl
YXAud3JpdGVCYXJyaWVyQnVmZmVyKCk7CkBAIC04MDgsNyArODA3LDcgQEAgc3RhdGljIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIHN0b3JlVG9Xcml0ZUJhcnJpZXJCdWZmZXIoQ0NhbGxIZWxwZXJzJiBq
aXQsIEdQUlJlZwogICAgIGlmIChieXRlc1RvU3VidHJhY3QpCiAgICAgICAgIGppdC5zdWJQdHIo
TWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMihieXRlc1RvU3VidHJhY3QpLCBNYWNyb0Fzc2Vt
Ymxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOyAKIAotICAgIGppdC5zZXR1cEFyZ3VtZW50cyhj
YWxsRnJhbWVSZWdpc3RlciwgY2VsbCk7CisgICAgaml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNT
dGF0ZShjZWxsKTsKICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsID0gaml0LmNhbGwoKTsK
IAogICAgIGlmIChieXRlc1RvU3VidHJhY3QpCkBAIC04MjAsMTMgKzgxOSwxMyBAQCBzdGF0aWMg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgc3RvcmVUb1dyaXRlQmFycmllckJ1ZmZlcihDQ2FsbEhlbHBl
cnMmIGppdCwgR1BSUmVnCiAgICAgcmV0dXJuIGNhbGw7CiB9CiAKLXN0YXRpYyBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCB3cml0ZUJhcnJpZXIoQ0NhbGxIZWxwZXJzJiBqaXQsIEdQUlJlZyBvd25lciwg
R1BSUmVnIHNjcmF0Y2gxLCBHUFJSZWcgc2NyYXRjaDIsIEdQUlJlZyBjYWxsRnJhbWVSZWdpc3Rl
ciwgU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yJiBhbGxvY2F0b3IpCitzdGF0aWMgTWFjcm9Bc3Nl
bWJsZXI6OkNhbGwgd3JpdGVCYXJyaWVyKENDYWxsSGVscGVycyYgaml0LCBHUFJSZWcgb3duZXIs
IEdQUlJlZyBzY3JhdGNoMSwgR1BSUmVnIHNjcmF0Y2gyLCBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0
b3ImIGFsbG9jYXRvcikKIHsKICAgICBBU1NFUlQob3duZXIgIT0gc2NyYXRjaDEpOwogICAgIEFT
U0VSVChvd25lciAhPSBzY3JhdGNoMik7CiAKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBkZWZp
bml0ZWx5Tm90TWFya2VkID0gREZHOjpTcGVjdWxhdGl2ZUpJVDo6Z2VuZXJpY1dyaXRlQmFycmll
cihqaXQsIG93bmVyLCBzY3JhdGNoMSwgc2NyYXRjaDIpOwotICAgIE1hY3JvQXNzZW1ibGVyOjpD
YWxsIGNhbGwgPSBzdG9yZVRvV3JpdGVCYXJyaWVyQnVmZmVyKGppdCwgb3duZXIsIHNjcmF0Y2gx
LCBzY3JhdGNoMiwgY2FsbEZyYW1lUmVnaXN0ZXIsIGFsbG9jYXRvcik7CisgICAgTWFjcm9Bc3Nl
bWJsZXI6OkNhbGwgY2FsbCA9IHN0b3JlVG9Xcml0ZUJhcnJpZXJCdWZmZXIoaml0LCBvd25lciwg
c2NyYXRjaDEsIHNjcmF0Y2gyLCBhbGxvY2F0b3IpOwogICAgIGRlZmluaXRlbHlOb3RNYXJrZWQu
bGluaygmaml0KTsKICAgICByZXR1cm4gY2FsbDsKIH0KQEAgLTg0NCw5ICs4NDMsNiBAQCBzdGF0
aWMgdm9pZCBlbWl0UHV0UmVwbGFjZVN0dWIoCiAgICAgUmVmUHRyPEpJVFN0dWJSb3V0aW5lPiYg
c3R1YlJvdXRpbmUpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7Ci0jaWYgRU5BQkxFKEdH
QykKLSAgICBHUFJSZWcgY2FsbEZyYW1lUmVnaXN0ZXIgPSBzdGF0aWNfY2FzdDxHUFJSZWc+KHN0
dWJJbmZvLnBhdGNoLmNhbGxGcmFtZVJlZ2lzdGVyKTsKLSNlbmRpZgogICAgIEdQUlJlZyBiYXNl
R1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5wYXRjaC5iYXNlR1BSKTsKICNpZiBV
U0UoSlNWQUxVRTMyXzY0KQogICAgIEdQUlJlZyB2YWx1ZVRhZ0dQUiA9IHN0YXRpY19jYXN0PEdQ
UlJlZz4oc3R1YkluZm8ucGF0Y2gudmFsdWVUYWdHUFIpOwpAQCAtODkzLDcgKzg4OSw3IEBAIHN0
YXRpYyB2b2lkIGVtaXRQdXRSZXBsYWNlU3R1YigKICNlbmRpZgogICAgIAogI2lmIEVOQUJMRShH
R0MpCi0gICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgd3JpdGVCYXJyaWVyT3BlcmF0aW9uID0gd3Jp
dGVCYXJyaWVyKHN0dWJKaXQsIGJhc2VHUFIsIHNjcmF0Y2hHUFIxLCBzY3JhdGNoR1BSMiwgY2Fs
bEZyYW1lUmVnaXN0ZXIsIGFsbG9jYXRvcik7CisgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgd3Jp
dGVCYXJyaWVyT3BlcmF0aW9uID0gd3JpdGVCYXJyaWVyKHN0dWJKaXQsIGJhc2VHUFIsIHNjcmF0
Y2hHUFIxLCBzY3JhdGNoR1BSMiwgYWxsb2NhdG9yKTsKICNlbmRpZgogICAgIAogICAgIE1hY3Jv
QXNzZW1ibGVyOjpKdW1wIHN1Y2Nlc3M7CkBAIC05MTgsOSArOTE0LDkgQEAgc3RhdGljIHZvaWQg
ZW1pdFB1dFJlcGxhY2VTdHViKAogICAgIHBhdGNoQnVmZmVyLmxpbmsoc3VjY2Vzcywgc3R1Yklu
Zm8uY2FsbFJldHVybkxvY2F0aW9uLmxhYmVsQXRPZmZzZXQoc3R1YkluZm8ucGF0Y2guZGVsdGFD
YWxsVG9Eb25lKSk7CiAgICAgcGF0Y2hCdWZmZXIubGluayhmYWlsdXJlLCBmYWlsdXJlTGFiZWwp
OwogICAgICAgICAgICAgCi0gICAgc3R1YlJvdXRpbmUgPSBGSU5BTElaRV9DT0RFX0ZPUl9ERkdf
U1RVQigKLSAgICAgICAgcGF0Y2hCdWZmZXIsCi0gICAgICAgICgiREZHIFB1dEJ5SWQgcmVwbGFj
ZSBzdHViIGZvciAlcywgcmV0dXJuIHBvaW50ICVwIiwKKyAgICBzdHViUm91dGluZSA9IEZJTkFM
SVpFX0NPREVfRk9SX1NUVUIoCisgICAgICAgIGV4ZWMtPmNvZGVCbG9jaygpLCBwYXRjaEJ1ZmZl
ciwKKyAgICAgICAgKCJQdXRCeUlkIHJlcGxhY2Ugc3R1YiBmb3IgJXMsIHJldHVybiBwb2ludCAl
cCIsCiAgICAgICAgICAgICB0b0NTdHJpbmcoKmV4ZWMtPmNvZGVCbG9jaygpKS5kYXRhKCksIHN0
dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5sYWJlbEF0T2Zmc2V0KAogICAgICAgICAgICAgICAg
IHN0dWJJbmZvLnBhdGNoLmRlbHRhQ2FsbFRvRG9uZSkuZXhlY3V0YWJsZUFkZHJlc3MoKSkpOwog
fQpAQCAtOTQwLDcgKzkzNiw2IEBAIHN0YXRpYyB2b2lkIGVtaXRQdXRUcmFuc2l0aW9uU3R1YigK
IHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKIAotICAgIEdQUlJlZyBjYWxsRnJhbWVSZWdp
c3RlciA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2guY2FsbEZyYW1lUmVnaXN0
ZXIpOwogICAgIEdQUlJlZyBiYXNlR1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5w
YXRjaC5iYXNlR1BSKTsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQogICAgIEdQUlJlZyB2YWx1ZVRh
Z0dQUiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2gudmFsdWVUYWdHUFIpOwpA
QCAtMTA2MCw3ICsxMDU1LDcgQEAgc3RhdGljIHZvaWQgZW1pdFB1dFRyYW5zaXRpb25TdHViKAog
I2VuZGlmCiAgICAgCiAjaWYgRU5BQkxFKEdHQykKLSAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCB3
cml0ZUJhcnJpZXJPcGVyYXRpb24gPSB3cml0ZUJhcnJpZXIoc3R1YkppdCwgYmFzZUdQUiwgc2Ny
YXRjaEdQUjEsIHNjcmF0Y2hHUFIyLCBjYWxsRnJhbWVSZWdpc3RlciwgYWxsb2NhdG9yKTsKKyAg
ICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCB3cml0ZUJhcnJpZXJPcGVyYXRpb24gPSB3cml0ZUJhcnJp
ZXIoc3R1YkppdCwgYmFzZUdQUiwgc2NyYXRjaEdQUjEsIHNjcmF0Y2hHUFIyLCBhbGxvY2F0b3Ip
OwogI2VuZGlmCiAgICAgCiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgc3VjY2VzczsKQEAgLTEw
ODYsOSArMTA4MSw5IEBAIHN0YXRpYyB2b2lkIGVtaXRQdXRUcmFuc2l0aW9uU3R1YigKICAgICAg
ICAgU2NyYXRjaEJ1ZmZlciogc2NyYXRjaEJ1ZmZlciA9IHZtLT5zY3JhdGNoQnVmZmVyRm9yU2l6
ZShhbGxvY2F0b3IuZGVzaXJlZFNjcmF0Y2hCdWZmZXJTaXplKCkpOwogICAgICAgICBhbGxvY2F0
b3IucHJlc2VydmVVc2VkUmVnaXN0ZXJzVG9TY3JhdGNoQnVmZmVyKHN0dWJKaXQsIHNjcmF0Y2hC
dWZmZXIsIHNjcmF0Y2hHUFIxKTsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICBzdHViSml0
LnNldHVwQXJndW1lbnRzKGNhbGxGcmFtZVJlZ2lzdGVyLCBiYXNlR1BSLCBNYWNyb0Fzc2VtYmxl
cjo6VHJ1c3RlZEltbVB0cihzdHJ1Y3R1cmUpLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMy
KHNsb3QuY2FjaGVkT2Zmc2V0KCkpLCB2YWx1ZUdQUik7CisgICAgICAgIHN0dWJKaXQuc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKGJhc2VHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
UHRyKHN0cnVjdHVyZSksIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoc2xvdC5jYWNoZWRP
ZmZzZXQoKSksIHZhbHVlR1BSKTsKICNlbHNlCi0gICAgICAgIHN0dWJKaXQuc2V0dXBBcmd1bWVu
dHMoY2FsbEZyYW1lUmVnaXN0ZXIsIGJhc2VHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
UHRyKHN0cnVjdHVyZSksIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoc2xvdC5jYWNoZWRP
ZmZzZXQoKSksIHZhbHVlR1BSLCB2YWx1ZVRhZ0dQUik7CisgICAgICAgIHN0dWJKaXQuc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKGJhc2VHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
UHRyKHN0cnVjdHVyZSksIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoc2xvdC5jYWNoZWRP
ZmZzZXQoKSksIHZhbHVlR1BSLCB2YWx1ZVRhZ0dQUik7CiAjZW5kaWYKICAgICAgICAgb3BlcmF0
aW9uQ2FsbCA9IHN0dWJKaXQuY2FsbCgpOwogICAgICAgICBhbGxvY2F0b3IucmVzdG9yZVVzZWRS
ZWdpc3RlcnNGcm9tU2NyYXRjaEJ1ZmZlcihzdHViSml0LCBzY3JhdGNoQnVmZmVyLCBzY3JhdGNo
R1BSMSk7CkBAIC0xMTExLDkgKzExMDYsOSBAQCBzdGF0aWMgdm9pZCBlbWl0UHV0VHJhbnNpdGlv
blN0dWIoCiAgICAgCiAgICAgc3R1YlJvdXRpbmUgPQogICAgICAgICBjcmVhdGVKSVRTdHViUm91
dGluZSgKLSAgICAgICAgICAgIEZJTkFMSVpFX0RGR19DT0RFKAotICAgICAgICAgICAgICAgIHBh
dGNoQnVmZmVyLAotICAgICAgICAgICAgICAgICgiREZHIFB1dEJ5SWQgJXN0cmFuc2l0aW9uIHN0
dWIgKCVwIC0+ICVwKSBmb3IgJXMsIHJldHVybiBwb2ludCAlcCIsCisgICAgICAgICAgICBGSU5B
TElaRV9DT0RFX0ZPUigKKyAgICAgICAgICAgICAgICBleGVjLT5jb2RlQmxvY2soKSwgcGF0Y2hC
dWZmZXIsCisgICAgICAgICAgICAgICAgKCJQdXRCeUlkICVzdHJhbnNpdGlvbiBzdHViICglcCAt
PiAlcCkgZm9yICVzLCByZXR1cm4gcG9pbnQgJXAiLAogICAgICAgICAgICAgICAgICAgICBzdHJ1
Y3R1cmUtPm91dE9mTGluZUNhcGFjaXR5KCkgIT0gb2xkU3RydWN0dXJlLT5vdXRPZkxpbmVDYXBh
Y2l0eSgpID8gInJlYWxsb2NhdGluZyAiIDogIiIsCiAgICAgICAgICAgICAgICAgICAgIG9sZFN0
cnVjdHVyZSwgc3RydWN0dXJlLAogICAgICAgICAgICAgICAgICAgICB0b0NTdHJpbmcoKmV4ZWMt
PmNvZGVCbG9jaygpKS5kYXRhKCksIHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5sYWJlbEF0
T2Zmc2V0KApAQCAtMTM5NCw5ICsxMzg5LDkgQEAgc3RhdGljIGJvb2wgdHJ5UmVwYXRjaEluKAog
CiAgICAgICAgIGxpbmtSZXN0b3JlU2NyYXRjaChwYXRjaEJ1ZmZlciwgbmVlZFRvUmVzdG9yZVNj
cmF0Y2gsIHN1Y2Nlc3MsIGZhaWwsIGZhaWx1cmVDYXNlcywgc3VjY2Vzc0xhYmVsLCBzbG93Q2Fz
ZUxhYmVsKTsKICAgICAgICAgCi0gICAgICAgIHN0dWJSb3V0aW5lID0gRklOQUxJWkVfQ09ERV9G
T1JfREZHX1NUVUIoCi0gICAgICAgICAgICBwYXRjaEJ1ZmZlciwKLSAgICAgICAgICAgICgiREZH
IEluIChmb3VuZCA9ICVzKSBzdHViIGZvciAlcywgcmV0dXJuIHBvaW50ICVwIiwKKyAgICAgICAg
c3R1YlJvdXRpbmUgPSBGSU5BTElaRV9DT0RFX0ZPUl9TVFVCKAorICAgICAgICAgICAgZXhlYy0+
Y29kZUJsb2NrKCksIHBhdGNoQnVmZmVyLAorICAgICAgICAgICAgKCJJbiAoZm91bmQgPSAlcykg
c3R1YiBmb3IgJXMsIHJldHVybiBwb2ludCAlcCIsCiAgICAgICAgICAgICAgICAgd2FzRm91bmQg
PyAieWVzIiA6ICJubyIsIHRvQ1N0cmluZygqZXhlYy0+Y29kZUJsb2NrKCkpLmRhdGEoKSwKICAg
ICAgICAgICAgICAgICBzdWNjZXNzTGFiZWwuZXhlY3V0YWJsZUFkZHJlc3MoKSkpOwogICAgIH0K
QEAgLTE0MTksMTcgKzE0MTQsMTkgQEAgdm9pZCByZXBhdGNoSW4oCiAgICAgcmVwYXRjaENhbGwo
ZXhlYy0+Y29kZUJsb2NrKCksIHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbiwgb3BlcmF0aW9u
SW4pOwogfQogCi1zdGF0aWMgdm9pZCBsaW5rU2xvd0ZvcihSZXBhdGNoQnVmZmVyJiByZXBhdGNo
QnVmZmVyLCBWTSogdm0sIENhbGxMaW5rSW5mbyYgY2FsbExpbmtJbmZvLCBDb2RlU3BlY2lhbGl6
YXRpb25LaW5kIGtpbmQpCitzdGF0aWMgdm9pZCBsaW5rU2xvd0ZvcigKKyAgICBSZXBhdGNoQnVm
ZmVyJiByZXBhdGNoQnVmZmVyLCBWTSogdm0sIENhbGxMaW5rSW5mbyYgY2FsbExpbmtJbmZvLAor
ICAgIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2Rl
IHJlZ2lzdGVycykKIHsKLSAgICBpZiAoa2luZCA9PSBDb2RlRm9yQ2FsbCkgewotICAgICAgICBy
ZXBhdGNoQnVmZmVyLnJlbGluayhjYWxsTGlua0luZm8uY2FsbFJldHVybkxvY2F0aW9uLCB2bS0+
Z2V0Q1RJU3R1Yih2aXJ0dWFsQ2FsbFRodW5rR2VuZXJhdG9yKS5jb2RlKCkpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotICAgIEFTU0VSVChraW5kID09IENvZGVGb3JDb25zdHJ1Y3QpOwotICAg
IHJlcGF0Y2hCdWZmZXIucmVsaW5rKGNhbGxMaW5rSW5mby5jYWxsUmV0dXJuTG9jYXRpb24sIHZt
LT5nZXRDVElTdHViKHZpcnR1YWxDb25zdHJ1Y3RUaHVua0dlbmVyYXRvcikuY29kZSgpKTsKKyAg
ICByZXBhdGNoQnVmZmVyLnJlbGluaygKKyAgICAgICAgY2FsbExpbmtJbmZvLmNhbGxSZXR1cm5M
b2NhdGlvbiwKKyAgICAgICAgdm0tPmdldENUSVN0dWIodmlydHVhbFRodW5rR2VuZXJhdG9yRm9y
KGtpbmQsIHJlZ2lzdGVycykpLmNvZGUoKSk7CiB9CiAKLXZvaWQgbGlua0ZvcihFeGVjU3RhdGUq
IGV4ZWMsIENhbGxMaW5rSW5mbyYgY2FsbExpbmtJbmZvLCBDb2RlQmxvY2sqIGNhbGxlZUNvZGVC
bG9jaywgSlNGdW5jdGlvbiogY2FsbGVlLCBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgY29kZVB0ciwg
Q29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQordm9pZCBsaW5rRm9yKAorICAgIEV4ZWNTdGF0
ZSogZXhlYywgQ2FsbExpbmtJbmZvJiBjYWxsTGlua0luZm8sIENvZGVCbG9jayogY2FsbGVlQ29k
ZUJsb2NrLAorICAgIEpTRnVuY3Rpb24qIGNhbGxlZSwgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIGNv
ZGVQdHIsIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCwKKyAgICBSZWdpc3RlclByZXNlcnZh
dGlvbk1vZGUgcmVnaXN0ZXJzKQogewogICAgIEFTU0VSVCghY2FsbExpbmtJbmZvLnN0dWIpOwog
ICAgIApAQCAtMTQ0NSwzMSArMTQ0MiwzOCBAQCB2b2lkIGxpbmtGb3IoRXhlY1N0YXRlKiBleGVj
LCBDYWxsTGlua0luZm8mIGNhbGxMaW5rSW5mbywgQ29kZUJsb2NrKiBjYWxsZWVDb2RlQgogICAg
IEFTU0VSVCghY2FsbExpbmtJbmZvLmlzTGlua2VkKCkpOwogICAgIGNhbGxMaW5rSW5mby5jYWxs
ZWUuc2V0KGV4ZWMtPmNhbGxlckZyYW1lKCktPnZtKCksIGNhbGxMaW5rSW5mby5ob3RQYXRoQmVn
aW4sIGNhbGxlckNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCksIGNhbGxlZSk7CiAgICAgY2Fs
bExpbmtJbmZvLmxhc3RTZWVuQ2FsbGVlLnNldChleGVjLT5jYWxsZXJGcmFtZSgpLT52bSgpLCBj
YWxsZXJDb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpLCBjYWxsZWUpOworICAgIGlmIChzaG91
bGRTaG93RGlzYXNzZW1ibHlGb3IoY2FsbGVyQ29kZUJsb2NrKSkKKyAgICAgICAgZGF0YUxvZygi
TGlua2luZyBjYWxsIGluICIsICpjYWxsZXJDb2RlQmxvY2ssICIgYXQgIiwgY2FsbExpbmtJbmZv
LmNvZGVPcmlnaW4sICIgdG8gIiwgcG9pbnRlckR1bXAoY2FsbGVlQ29kZUJsb2NrKSwgIiwgZW50
cnlwb2ludCBhdCAiLCBjb2RlUHRyLCAiXG4iKTsKICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhj
YWxsTGlua0luZm8uaG90UGF0aE90aGVyLCBjb2RlUHRyKTsKICAgICAKICAgICBpZiAoY2FsbGVl
Q29kZUJsb2NrKQogICAgICAgICBjYWxsZWVDb2RlQmxvY2stPmxpbmtJbmNvbWluZ0NhbGwoZXhl
Yy0+Y2FsbGVyRnJhbWUoKSwgJmNhbGxMaW5rSW5mbyk7CiAgICAgCiAgICAgaWYgKGtpbmQgPT0g
Q29kZUZvckNhbGwpIHsKLSAgICAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoY2FsbExpbmtJbmZv
LmNhbGxSZXR1cm5Mb2NhdGlvbiwgdm0tPmdldENUSVN0dWIobGlua0Nsb3N1cmVDYWxsVGh1bmtH
ZW5lcmF0b3IpLmNvZGUoKSk7CisgICAgICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKGNhbGxMaW5r
SW5mby5jYWxsUmV0dXJuTG9jYXRpb24sIHZtLT5nZXRDVElTdHViKGxpbmtDbG9zdXJlQ2FsbFRo
dW5rR2VuZXJhdG9yRm9yKHJlZ2lzdGVycykpLmNvZGUoKSk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAgICAgCiAgICAgQVNTRVJUKGtpbmQgPT0gQ29kZUZvckNvbnN0cnVjdCk7Ci0gICAgbGlu
a1Nsb3dGb3IocmVwYXRjaEJ1ZmZlciwgdm0sIGNhbGxMaW5rSW5mbywgQ29kZUZvckNvbnN0cnVj
dCk7CisgICAgbGlua1Nsb3dGb3IocmVwYXRjaEJ1ZmZlciwgdm0sIGNhbGxMaW5rSW5mbywgQ29k
ZUZvckNvbnN0cnVjdCwgcmVnaXN0ZXJzKTsKIH0KIAotdm9pZCBsaW5rU2xvd0ZvcihFeGVjU3Rh
dGUqIGV4ZWMsIENhbGxMaW5rSW5mbyYgY2FsbExpbmtJbmZvLCBDb2RlU3BlY2lhbGl6YXRpb25L
aW5kIGtpbmQpCit2b2lkIGxpbmtTbG93Rm9yKAorICAgIEV4ZWNTdGF0ZSogZXhlYywgQ2FsbExp
bmtJbmZvJiBjYWxsTGlua0luZm8sIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCwKKyAgICBS
ZWdpc3RlclByZXNlcnZhdGlvbk1vZGUgcmVnaXN0ZXJzKQogewogICAgIENvZGVCbG9jayogY2Fs
bGVyQ29kZUJsb2NrID0gZXhlYy0+Y2FsbGVyRnJhbWUoKS0+Y29kZUJsb2NrKCk7CiAgICAgVk0q
IHZtID0gY2FsbGVyQ29kZUJsb2NrLT52bSgpOwogICAgIAogICAgIFJlcGF0Y2hCdWZmZXIgcmVw
YXRjaEJ1ZmZlcihjYWxsZXJDb2RlQmxvY2spOwogICAgIAotICAgIGxpbmtTbG93Rm9yKHJlcGF0
Y2hCdWZmZXIsIHZtLCBjYWxsTGlua0luZm8sIGtpbmQpOworICAgIGxpbmtTbG93Rm9yKHJlcGF0
Y2hCdWZmZXIsIHZtLCBjYWxsTGlua0luZm8sIGtpbmQsIHJlZ2lzdGVycyk7CiB9CiAKLXZvaWQg
bGlua0Nsb3N1cmVDYWxsKEV4ZWNTdGF0ZSogZXhlYywgQ2FsbExpbmtJbmZvJiBjYWxsTGlua0lu
Zm8sIENvZGVCbG9jayogY2FsbGVlQ29kZUJsb2NrLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRXhl
Y3V0YWJsZUJhc2UqIGV4ZWN1dGFibGUsIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBjb2RlUHRyKQor
dm9pZCBsaW5rQ2xvc3VyZUNhbGwoCisgICAgRXhlY1N0YXRlKiBleGVjLCBDYWxsTGlua0luZm8m
IGNhbGxMaW5rSW5mbywgQ29kZUJsb2NrKiBjYWxsZWVDb2RlQmxvY2ssCisgICAgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEV4ZWN1dGFibGVCYXNlKiBleGVjdXRhYmxlLCBNYWNyb0Fzc2VtYmxlckNv
ZGVQdHIgY29kZVB0ciwKKyAgICBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGUgcmVnaXN0ZXJzKQog
ewogICAgIEFTU0VSVCghY2FsbExpbmtJbmZvLnN0dWIpOwogICAgIApAQCAtMTQ4Miw2ICsxNDg2
LDE1IEBAIHZvaWQgbGlua0Nsb3N1cmVDYWxsKEV4ZWNTdGF0ZSogZXhlYywgQ2FsbExpbmtJbmZv
JiBjYWxsTGlua0luZm8sIENvZGVCbG9jayogY2FsCiAgICAgCiAgICAgQ0NhbGxIZWxwZXJzOjpK
dW1wTGlzdCBzbG93UGF0aDsKICAgICAKKyAgICBwdHJkaWZmX3Qgb2Zmc2V0VG9GcmFtZSA9IC1z
aXplb2YoQ2FsbGVyRnJhbWVBbmRQQyk7CisKKyAgICBpZiAoIUFTU0VSVF9ESVNBQkxFRCkgewor
ICAgICAgICBDQ2FsbEhlbHBlcnM6Okp1bXAgb2tBcmd1bWVudENvdW50ID0gc3R1YkppdC5icmFu
Y2gzMigKKyAgICAgICAgICAgIENDYWxsSGVscGVyczo6QmVsb3csIENDYWxsSGVscGVyczo6QWRk
cmVzcyhDQ2FsbEhlbHBlcnM6OnN0YWNrUG9pbnRlclJlZ2lzdGVyLCBzdGF0aWNfY2FzdDxwdHJk
aWZmX3Q+KHNpemVvZihSZWdpc3RlcikgKiBKU1N0YWNrOjpBcmd1bWVudENvdW50KSArIG9mZnNl
dFRvRnJhbWUgKyBQYXlsb2FkT2Zmc2V0KSwgQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoMTAw
MDAwMDApKTsKKyAgICAgICAgc3R1YkppdC5icmVha3BvaW50KCk7CisgICAgICAgIG9rQXJndW1l
bnRDb3VudC5saW5rKCZzdHViSml0KTsKKyAgICB9CisgICAgICAgICAgICAKICNpZiBVU0UoSlNW
QUxVRTY0KQogICAgIC8vIFdlIGNhbiBzYWZlbHkgY2xvYmJlciBldmVyeXRoaW5nIGV4Y2VwdCB0
aGUgY2FsbGVlR1BSLiBXZSBjYW4ndCByZWx5IG9uIHRhZ01hc2tSZWdpc3RlcgogICAgIC8vIGJl
aW5nIHNldC4gU28gd2UgZG8gdGhpcyB0aGUgaGFyZCB3YXkuCkBAIC0xNTA3LDE4ICsxNTIwLDE4
IEBAIHZvaWQgbGlua0Nsb3N1cmVDYWxsKEV4ZWNTdGF0ZSogZXhlYywgQ2FsbExpbmtJbmZvJiBj
YWxsTGlua0luZm8sIENvZGVCbG9jayogY2FsCiAgICAgc3R1YkppdC5sb2FkUHRyKAogICAgICAg
ICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoY2FsbGVlR1BSLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZlNj
b3BlQ2hhaW4oKSksCiAgICAgICAgIEdQUkluZm86OnJldHVyblZhbHVlR1BSKTsKLQorICAgIAog
I2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgc3R1YkppdC5zdG9yZTY0KAogICAgICAgICBHUFJJbmZv
OjpyZXR1cm5WYWx1ZUdQUiwKLSAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86
OmNhbGxGcmFtZVJlZ2lzdGVyLCBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihSZWdpc3Rl
cikgKiBKU1N0YWNrOjpTY29wZUNoYWluKSkpOworICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJl
c3MoTWFjcm9Bc3NlbWJsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVyLCBzdGF0aWNfY2FzdDxwdHJk
aWZmX3Q+KHNpemVvZihSZWdpc3RlcikgKiBKU1N0YWNrOjpTY29wZUNoYWluKSArIG9mZnNldFRv
RnJhbWUpKTsKICNlbHNlCiAgICAgc3R1YkppdC5zdG9yZVB0cigKICAgICAgICAgR1BSSW5mbzo6
cmV0dXJuVmFsdWVHUFIsCi0gICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpj
YWxsRnJhbWVSZWdpc3Rlciwgc3RhdGljX2Nhc3Q8cHRyZGlmZl90PihzaXplb2YoUmVnaXN0ZXIp
ICogSlNTdGFjazo6U2NvcGVDaGFpbikgKyBPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVz
Y3JpcHRvciwgYXNCaXRzLnBheWxvYWQpKSk7CisgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVz
cyhNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIHN0YXRpY19jYXN0PHB0cmRp
ZmZfdD4oc2l6ZW9mKFJlZ2lzdGVyKSAqIEpTU3RhY2s6OlNjb3BlQ2hhaW4pICsgT0JKRUNUX09G
RlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy5wYXlsb2FkKSArIG9mZnNldFRv
RnJhbWUpKTsKICAgICBzdHViSml0LnN0b3JlMzIoCiAgICAgICAgIENDYWxsSGVscGVyczo6VHJ1
c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpLAotICAgICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJl
c3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIHN0YXRpY19jYXN0PHB0cmRpZmZfdD4oc2l6
ZW9mKFJlZ2lzdGVyKSAqIEpTU3RhY2s6OlNjb3BlQ2hhaW4pICsgT0JKRUNUX09GRlNFVE9GKEVu
Y29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy50YWcpKSk7CisgICAgICAgIENDYWxsSGVscGVy
czo6QWRkcmVzcyhNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIHN0YXRpY19j
YXN0PHB0cmRpZmZfdD4oc2l6ZW9mKFJlZ2lzdGVyKSAqIEpTU3RhY2s6OlNjb3BlQ2hhaW4pICsg
T0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy50YWcpICsgb2Zm
c2V0VG9GcmFtZSkpOwogI2VuZGlmCiAgICAgCiAgICAgQXNzZW1ibHlIZWxwZXJzOjpDYWxsIGNh
bGwgPSBzdHViSml0Lm5lYXJDYWxsKCk7CkBAIC0xNTI5LDIwICsxNTQyLDI0IEBAIHZvaWQgbGlu
a0Nsb3N1cmVDYWxsKEV4ZWNTdGF0ZSogZXhlYywgQ2FsbExpbmtJbmZvJiBjYWxsTGlua0luZm8s
IENvZGVCbG9jayogY2FsCiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICBzdHViSml0Lm1vdmUo
Q0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZyksIEdQUkluZm86OnJl
Z1QxKTsKICNlbmRpZgotICAgIHN0dWJKaXQubW92ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW1Q
dHIoY2FsbExpbmtJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5leGVjdXRhYmxlQWRkcmVzcygpKSwg
R1BSSW5mbzo6bm9uQXJnR1BSMik7Ci0gICAgc3R1YkppdC5yZXN0b3JlUmV0dXJuQWRkcmVzc0Jl
Zm9yZVJldHVybihHUFJJbmZvOjpub25BcmdHUFIyKTsKKyAgICBzdHViSml0Lm1vdmUoQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGNhbGxMaW5rSW5mby5jYWxsUmV0dXJuTG9jYXRpb24uZXhl
Y3V0YWJsZUFkZHJlc3MoKSksIEdQUkluZm86OnJlZ1QyKTsKKyAgICAKKyAgICBzdHViSml0LnJl
c3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKEdQUkluZm86OnJlZ1QyKTsKICAgICBBc3Nl
bWJseUhlbHBlcnM6Okp1bXAgc2xvdyA9IHN0dWJKaXQuanVtcCgpOwogICAgIAogICAgIExpbmtC
dWZmZXIgcGF0Y2hCdWZmZXIoKnZtLCAmc3R1YkppdCwgY2FsbGVyQ29kZUJsb2NrKTsKICAgICAK
ICAgICBwYXRjaEJ1ZmZlci5saW5rKGNhbGwsIEZ1bmN0aW9uUHRyKGNvZGVQdHIuZXhlY3V0YWJs
ZUFkZHJlc3MoKSkpOwotICAgIHBhdGNoQnVmZmVyLmxpbmsoZG9uZSwgY2FsbExpbmtJbmZvLmNh
bGxSZXR1cm5Mb2NhdGlvbi5sYWJlbEF0T2Zmc2V0KDApKTsKLSAgICBwYXRjaEJ1ZmZlci5saW5r
KHNsb3csIENvZGVMb2NhdGlvbkxhYmVsKHZtLT5nZXRDVElTdHViKHZpcnR1YWxDYWxsVGh1bmtH
ZW5lcmF0b3IpLmNvZGUoKSkpOworICAgIGlmIChKSVRDb2RlOjppc09wdGltaXppbmdKSVQoY2Fs
bGVyQ29kZUJsb2NrLT5qaXRUeXBlKCkpKQorICAgICAgICBwYXRjaEJ1ZmZlci5saW5rKGRvbmUs
IGNhbGxMaW5rSW5mby5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldCgwKSk7CisgICAg
ZWxzZQorICAgICAgICBwYXRjaEJ1ZmZlci5saW5rKGRvbmUsIGNhbGxMaW5rSW5mby5ob3RQYXRo
T3RoZXIubGFiZWxBdE9mZnNldCgwKSk7CisgICAgcGF0Y2hCdWZmZXIubGluayhzbG93LCBDb2Rl
TG9jYXRpb25MYWJlbCh2bS0+Z2V0Q1RJU3R1Yih2aXJ0dWFsVGh1bmtHZW5lcmF0b3JGb3IoQ29k
ZUZvckNhbGwsIHJlZ2lzdGVycykpLmNvZGUoKSkpOwogICAgIAogICAgIFJlZlB0cjxDbG9zdXJl
Q2FsbFN0dWJSb3V0aW5lPiBzdHViUm91dGluZSA9IGFkb3B0UmVmKG5ldyBDbG9zdXJlQ2FsbFN0
dWJSb3V0aW5lKAotICAgICAgICBGSU5BTElaRV9ERkdfQ09ERSgKLSAgICAgICAgICAgIHBhdGNo
QnVmZmVyLAotICAgICAgICAgICAgKCJERkcgY2xvc3VyZSBjYWxsIHN0dWIgZm9yICVzLCByZXR1
cm4gcG9pbnQgJXAsIHRhcmdldCAlcCAoJXMpIiwKKyAgICAgICAgRklOQUxJWkVfQ09ERV9GT1Io
CisgICAgICAgICAgICBjYWxsZXJDb2RlQmxvY2ssIHBhdGNoQnVmZmVyLAorICAgICAgICAgICAg
KCJDbG9zdXJlIGNhbGwgc3R1YiBmb3IgJXMsIHJldHVybiBwb2ludCAlcCwgdGFyZ2V0ICVwICgl
cykiLAogICAgICAgICAgICAgICAgIHRvQ1N0cmluZygqY2FsbGVyQ29kZUJsb2NrKS5kYXRhKCks
IGNhbGxMaW5rSW5mby5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldCgwKS5leGVjdXRh
YmxlQWRkcmVzcygpLAogICAgICAgICAgICAgICAgIGNvZGVQdHIuZXhlY3V0YWJsZUFkZHJlc3Mo
KSwgdG9DU3RyaW5nKHBvaW50ZXJEdW1wKGNhbGxlZUNvZGVCbG9jaykpLmRhdGEoKSkpLAogICAg
ICAgICAqdm0sIGNhbGxlckNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCksIHN0cnVjdHVyZSwg
ZXhlY3V0YWJsZSwgY2FsbExpbmtJbmZvLmNvZGVPcmlnaW4pKTsKQEAgLTE1NTIsNyArMTU2OSw3
IEBAIHZvaWQgbGlua0Nsb3N1cmVDYWxsKEV4ZWNTdGF0ZSogZXhlYywgQ2FsbExpbmtJbmZvJiBj
YWxsTGlua0luZm8sIENvZGVCbG9jayogY2FsCiAgICAgcmVwYXRjaEJ1ZmZlci5yZXBsYWNlV2l0
aEp1bXAoCiAgICAgICAgIFJlcGF0Y2hCdWZmZXI6OnN0YXJ0T2ZCcmFuY2hQdHJXaXRoUGF0Y2hP
blJlZ2lzdGVyKGNhbGxMaW5rSW5mby5ob3RQYXRoQmVnaW4pLAogICAgICAgICBDb2RlTG9jYXRp
b25MYWJlbChzdHViUm91dGluZS0+Y29kZSgpLmNvZGUoKSkpOwotICAgIGxpbmtTbG93Rm9yKHJl
cGF0Y2hCdWZmZXIsIHZtLCBjYWxsTGlua0luZm8sIENvZGVGb3JDYWxsKTsKKyAgICBsaW5rU2xv
d0ZvcihyZXBhdGNoQnVmZmVyLCB2bSwgY2FsbExpbmtJbmZvLCBDb2RlRm9yQ2FsbCwgcmVnaXN0
ZXJzKTsKICAgICAKICAgICBjYWxsTGlua0luZm8uc3R1YiA9IHN0dWJSb3V0aW5lLnJlbGVhc2Uo
KTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmgKaW5kZXggZmFhNzg3NjEzMzAz
OGM1M2RmM2FkZmMwMjFiNWU2MmY3YTg3ZmE0ZC4uNzk2Yzg1NTkxZjNkMjE0MmIwYmM4NzI5ZTJh
YzY3MWFhZjFhMTUzOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBh
dGNoLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmgKQEAgLTQxLDkg
KzQxLDkgQEAgdm9pZCBidWlsZEdldEJ5SURQcm90b0xpc3QoRXhlY1N0YXRlKiwgSlNWYWx1ZSwg
Y29uc3QgSWRlbnRpZmllciYsIGNvbnN0IFByb3BlcnQKIHZvaWQgcmVwYXRjaFB1dEJ5SUQoRXhl
Y1N0YXRlKiwgSlNWYWx1ZSwgY29uc3QgSWRlbnRpZmllciYsIGNvbnN0IFB1dFByb3BlcnR5U2xv
dCYsIFN0cnVjdHVyZVN0dWJJbmZvJiwgUHV0S2luZCk7CiB2b2lkIGJ1aWxkUHV0QnlJZExpc3Qo
RXhlY1N0YXRlKiwgSlNWYWx1ZSwgY29uc3QgSWRlbnRpZmllciYsIGNvbnN0IFB1dFByb3BlcnR5
U2xvdCYsIFN0cnVjdHVyZVN0dWJJbmZvJiwgUHV0S2luZCk7CiB2b2lkIHJlcGF0Y2hJbihFeGVj
U3RhdGUqLCBKU0NlbGwqLCBjb25zdCBJZGVudGlmaWVyJiwgYm9vbCB3YXNGb3VuZCwgY29uc3Qg
UHJvcGVydHlTbG90JiwgU3RydWN0dXJlU3R1YkluZm8mKTsKLXZvaWQgbGlua0ZvcihFeGVjU3Rh
dGUqLCBDYWxsTGlua0luZm8mLCBDb2RlQmxvY2sqLCBKU0Z1bmN0aW9uKiBjYWxsZWUsIE1hY3Jv
QXNzZW1ibGVyQ29kZVB0ciwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCk7Ci12b2lkIGxpbmtTbG93
Rm9yKEV4ZWNTdGF0ZSosIENhbGxMaW5rSW5mbyYsIENvZGVTcGVjaWFsaXphdGlvbktpbmQpOwot
dm9pZCBsaW5rQ2xvc3VyZUNhbGwoRXhlY1N0YXRlKiwgQ2FsbExpbmtJbmZvJiwgQ29kZUJsb2Nr
KiwgU3RydWN0dXJlKiwgRXhlY3V0YWJsZUJhc2UqLCBNYWNyb0Fzc2VtYmxlckNvZGVQdHIpOwor
dm9pZCBsaW5rRm9yKEV4ZWNTdGF0ZSosIENhbGxMaW5rSW5mbyYsIENvZGVCbG9jayosIEpTRnVu
Y3Rpb24qIGNhbGxlZSwgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyLCBDb2RlU3BlY2lhbGl6YXRpb25L
aW5kLCBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGUpOwordm9pZCBsaW5rU2xvd0ZvcihFeGVjU3Rh
dGUqLCBDYWxsTGlua0luZm8mLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kLCBSZWdpc3RlclByZXNl
cnZhdGlvbk1vZGUpOwordm9pZCBsaW5rQ2xvc3VyZUNhbGwoRXhlY1N0YXRlKiwgQ2FsbExpbmtJ
bmZvJiwgQ29kZUJsb2NrKiwgU3RydWN0dXJlKiwgRXhlY3V0YWJsZUJhc2UqLCBNYWNyb0Fzc2Vt
YmxlckNvZGVQdHIsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZSk7CiB2b2lkIHJlc2V0R2V0QnlJ
RChSZXBhdGNoQnVmZmVyJiwgU3RydWN0dXJlU3R1YkluZm8mKTsKIHZvaWQgcmVzZXRQdXRCeUlE
KFJlcGF0Y2hCdWZmZXImLCBTdHJ1Y3R1cmVTdHViSW5mbyYpOwogdm9pZCByZXNldEluKFJlcGF0
Y2hCdWZmZXImLCBTdHJ1Y3R1cmVTdHViSW5mbyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9TcGVjaWFsaXplZFRodW5rSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1NwZWNpYWxpemVkVGh1bmtKSVQuaAppbmRleCA2ZWMxZTcxYTdiYTg3YTIyYmEyN2Mz
MTRjMjcwZjQ5YjM3OWU4OGMyLi5kODA1MzdiNDE4YmExYjYxNmNhOGMzMzJhZWM0MWM1YWE4Mjdh
MjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1NwZWNpYWxpemVkVGh1
bmtKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1NwZWNpYWxpemVkVGh1bmtK
SVQuaApAQCAtNDEsNiArNDEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgU3BlY2lhbGl6
ZWRUaHVua0pJVChWTSogdm0sIGludCBleHBlY3RlZEFyZ0NvdW50KQogICAgICAgICAgICAgOiBK
U0ludGVyZmFjZUpJVCh2bSkKICAgICAgICAgeworICAgICAgICAgICAgZW1pdEZ1bmN0aW9uUHJv
bG9ndWUoKTsKICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgd2UgaGF2ZSB0aGUgZXhwZWN0ZWQg
bnVtYmVyIG9mIGFyZ3VtZW50cwogICAgICAgICAgICAgbV9mYWlsdXJlcy5hcHBlbmQoYnJhbmNo
MzIoTm90RXF1YWwsIHBheWxvYWRGb3IoSlNTdGFjazo6QXJndW1lbnRDb3VudCksIFRydXN0ZWRJ
bW0zMihleHBlY3RlZEFyZ0NvdW50ICsgMSkpKTsKICAgICAgICAgfQpAQCAtNDgsNiArNDksNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgZXhwbGljaXQgU3BlY2lhbGl6ZWRUaHVua0pJVChW
TSogdm0pCiAgICAgICAgICAgICA6IEpTSW50ZXJmYWNlSklUKHZtKQogICAgICAgICB7CisgICAg
ICAgICAgICBlbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpOwogICAgICAgICB9CiAgICAgICAgIAogICAg
ICAgICB2b2lkIGxvYWREb3VibGVBcmd1bWVudChpbnQgYXJndW1lbnQsIEZQUmVnaXN0ZXJJRCBk
c3QsIFJlZ2lzdGVySUQgc2NyYXRjaCkKQEAgLTk3LDcgKzk5LDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChzcmMgIT0gcmVnVDApCiAgICAgICAgICAgICAg
ICAgbW92ZShzcmMsIHJlZ1QwKTsKLSAgICAgICAgICAgIGxvYWRQdHIoQWRkcmVzcyhjYWxsRnJh
bWVSZWdpc3RlciwgQ2FsbEZyYW1lOjpjYWxsZXJGcmFtZU9mZnNldCgpKSwgY2FsbEZyYW1lUmVn
aXN0ZXIpOworICAgICAgICAgICAgZW1pdEZ1bmN0aW9uRXBpbG9ndWUoKTsKICAgICAgICAgICAg
IHJldCgpOwogICAgICAgICB9CiAjZWxzZQpAQCAtMTA1LDcgKzEwNyw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICB7CiAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKHBheWxvYWQsIHBheWxv
YWQgPT0gcmVnVDApOwogICAgICAgICAgICAgQVNTRVJUX1VOVVNFRCh0YWcsIHRhZyA9PSByZWdU
MSk7Ci0gICAgICAgICAgICBsb2FkUHRyKEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIENhbGxG
cmFtZTo6Y2FsbGVyRnJhbWVPZmZzZXQoKSksIGNhbGxGcmFtZVJlZ2lzdGVyKTsKKyAgICAgICAg
ICAgIGVtaXRGdW5jdGlvbkVwaWxvZ3VlKCk7CiAgICAgICAgICAgICByZXQoKTsKICAgICAgICAg
fQogI2VuZGlmCkBAIC0xMzYsNyArMTM4LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAg
ICBsb3dOb25aZXJvLmxpbmsodGhpcyk7CiAgICAgICAgICAgICBoaWdoTm9uWmVyby5saW5rKHRo
aXMpOwogI2VuZGlmCi0gICAgICAgICAgICBsb2FkUHRyKEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0
ZXIsIENhbGxGcmFtZTo6Y2FsbGVyRnJhbWVPZmZzZXQoKSksIGNhbGxGcmFtZVJlZ2lzdGVyKTsK
KyAgICAgICAgICAgIGVtaXRGdW5jdGlvbkVwaWxvZ3VlKCk7CiAgICAgICAgICAgICByZXQoKTsK
ICAgICAgICAgfQogCkBAIC0xNDUsNyArMTQ3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
ICAgICBpZiAoc3JjICE9IHJlZ1QwKQogICAgICAgICAgICAgICAgIG1vdmUoc3JjLCByZWdUMCk7
CiAgICAgICAgICAgICB0YWdSZXR1cm5Bc0ludDMyKCk7Ci0gICAgICAgICAgICBsb2FkUHRyKEFk
ZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIENhbGxGcmFtZTo6Y2FsbGVyRnJhbWVPZmZzZXQoKSks
IGNhbGxGcmFtZVJlZ2lzdGVyKTsKKyAgICAgICAgICAgIGVtaXRGdW5jdGlvbkVwaWxvZ3VlKCk7
CiAgICAgICAgICAgICByZXQoKTsKICAgICAgICAgfQogCkBAIC0xNTQsNyArMTU2LDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBpZiAoc3JjICE9IHJlZ1QwKQogICAgICAgICAgICAg
ICAgIG1vdmUoc3JjLCByZWdUMCk7CiAgICAgICAgICAgICB0YWdSZXR1cm5Bc0pTQ2VsbCgpOwot
ICAgICAgICAgICAgbG9hZFB0cihBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBDYWxsRnJhbWU6
OmNhbGxlckZyYW1lT2Zmc2V0KCkpLCBjYWxsRnJhbWVSZWdpc3Rlcik7CisgICAgICAgICAgICBl
bWl0RnVuY3Rpb25FcGlsb2d1ZSgpOwogICAgICAgICAgICAgcmV0KCk7CiAgICAgICAgIH0KICAg
ICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJh
dG9ycy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAK
aW5kZXggMTE4NzVjY2JmY2YyOGRlOWY5YjBlNmE4MGNiNmY3ZmY2ZTdkZGQxYi4uMjU3ODhmYzA5
N2JlMTdkNjEyMjEwMDNkYzY3ZWIzNzNmNmQxZWM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTAsIDIwMTIsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEyLCAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzEs
NiArMzEsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0
b3IuaCIKICNpbmNsdWRlICJKU1N0YWNrLmgiCisjaW5jbHVkZSAiTWF4RnJhbWVFeHRlbnRGb3JT
bG93UGF0aENhbGwuaCIKICNpbmNsdWRlICJPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiU3BlY2lh
bGl6ZWRUaHVua0pJVC5oIgogI2luY2x1ZGUgPHd0Zi9JbmxpbmVBU00uaD4KQEAgLTY2LDEwICs2
Nyw3IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiB0aHJvd0V4Y2VwdGlvbkZyb21DYWxsU2xvd1Bh
dGhHZW5lcmF0b3IoVk0qIHZtKQogICAgIC8vIGV2ZW4gdGhvdWdoIHdlIHdvbid0IHVzZSBpdC4K
ICAgICBqaXQucHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKEdQUkluZm86Om5vblByZXNl
cnZlZE5vblJldHVybkdQUik7CiAKLSAgICAvLyBUaGUgQ2FsbEZyYW1lIHJlZ2lzdGVyIHBvaW50
cyB0byB0aGUgKGZhaWxlZCkgY2FsbGVlIGZyYW1lLCBzbyB3ZSBuZWVkIHRvIHBvcCBiYWNrIG9u
ZSBmcmFtZS4KLSAgICBqaXQuZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRlclB0
cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7Ci0KLSAgICBqaXQuc2V0dXBBcmd1bWVudHNF
eGVjU3RhdGUoKTsKKyAgICBqaXQuc2V0dXBBcmd1bWVudHMoQ0NhbGxIZWxwZXJzOjpUcnVzdGVk
SW1tUHRyKHZtKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwogICAgIGppdC5tb3ZlKEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihiaXR3aXNlX2Nhc3Q8dm9pZCo+KGxvb2t1cEV4Y2Vw
dGlvbkhhbmRsZXIpKSwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CiAgICAgZW1pdFBvaW50ZXJWYWxp
ZGF0aW9uKGppdCwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CiAgICAgaml0LmNhbGwoR1BSSW5mbzo6
bm9uQXJnR1BSMCk7CkBAIC04MiwyOSArODAsMjggQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHRo
cm93RXhjZXB0aW9uRnJvbUNhbGxTbG93UGF0aEdlbmVyYXRvcihWTSogdm0pCiBzdGF0aWMgdm9p
ZCBzbG93UGF0aEZvcigKICAgICBDQ2FsbEhlbHBlcnMmIGppdCwgVk0qIHZtLCBQX0pJVE9wZXJh
dGlvbl9FIHNsb3dQYXRoRnVuY3Rpb24pCiB7Ci0gICAgaml0LnByZXNlcnZlUmV0dXJuQWRkcmVz
c0FmdGVyQ2FsbChHUFJJbmZvOjpub25BcmdHUFIyKTsKLSAgICBlbWl0UG9pbnRlclZhbGlkYXRp
b24oaml0LCBHUFJJbmZvOjpub25BcmdHUFIyKTsKLSAgICBqaXQuZW1pdFB1dFJldHVyblBDVG9D
YWxsRnJhbWVIZWFkZXIoR1BSSW5mbzo6bm9uQXJnR1BSMik7CisgICAgaml0LmVtaXRGdW5jdGlv
blByb2xvZ3VlKCk7CiAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVy
LCAmdm0tPnRvcENhbGxGcmFtZSk7CisgICAgaWYgKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhD
YWxsKQorICAgICAgICBqaXQuYWRkUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKC1tYXhG
cmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCksIENDYWxsSGVscGVyczo6c3RhY2tQb2ludGVyUmVn
aXN0ZXIpOwogICAgIGppdC5zZXR1cEFyZ3VtZW50c0V4ZWNTdGF0ZSgpOwogICAgIGppdC5tb3Zl
KENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihiaXR3aXNlX2Nhc3Q8dm9pZCo+KHNsb3dQYXRo
RnVuY3Rpb24pKSwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CiAgICAgZW1pdFBvaW50ZXJWYWxpZGF0
aW9uKGppdCwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CiAgICAgaml0LmNhbGwoR1BSSW5mbzo6bm9u
QXJnR1BSMCk7CisgICAgaWYgKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsKQorICAgICAg
ICBqaXQuYWRkUHRyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKG1heEZyYW1lRXh0ZW50Rm9y
U2xvd1BhdGhDYWxsKSwgQ0NhbGxIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAgICAg
CiAgICAgLy8gVGhpcyBzbG93IGNhbGwgd2lsbCByZXR1cm4gdGhlIGFkZHJlc3Mgb2Ygb25lIG9m
IHRoZSBmb2xsb3dpbmc6CiAgICAgLy8gMSkgRXhjZXB0aW9uIHRocm93aW5nIHRodW5rLgogICAg
IC8vIDIpIEhvc3QgY2FsbCByZXR1cm4gdmFsdWUgcmV0dXJuZXIgdGhpbmd5LgogICAgIC8vIDMp
IFRoZSBmdW5jdGlvbiB0byBjYWxsLgotICAgIGppdC5lbWl0R2V0UmV0dXJuUENGcm9tQ2FsbEZy
YW1lSGVhZGVyUHRyKEdQUkluZm86Om5vblByZXNlcnZlZE5vblJldHVybkdQUik7Ci0gICAgaml0
LmVtaXRQdXRSZXR1cm5QQ1RvQ2FsbEZyYW1lSGVhZGVyKENDYWxsSGVscGVyczo6VHJ1c3RlZElt
bVB0cigwKSk7Ci0gICAgZW1pdFBvaW50ZXJWYWxpZGF0aW9uKGppdCwgR1BSSW5mbzo6bm9uUHJl
c2VydmVkTm9uUmV0dXJuR1BSKTsKLSAgICBqaXQucmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVS
ZXR1cm4oR1BSSW5mbzo6bm9uUHJlc2VydmVkTm9uUmV0dXJuR1BSKTsKICAgICBlbWl0UG9pbnRl
clZhbGlkYXRpb24oaml0LCBHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUik7CisgICAgaml0LmVtaXRG
dW5jdGlvbkVwaWxvZ3VlKCk7CiAgICAgaml0Lmp1bXAoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIp
OwogfQogCiBzdGF0aWMgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGxpbmtGb3JUaHVua0dlbmVyYXRv
cigKLSAgICBWTSogdm0sIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkKKyAgICBWTSogdm0s
IENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlIHJl
Z2lzdGVycykKIHsKICAgICAvLyBUaGUgcmV0dXJuIGFkZHJlc3MgaXMgb24gdGhlIHN0YWNrIG9y
IGluIHRoZSBsaW5rIHJlZ2lzdGVyLiBXZSB3aWxsIGhlbmNlCiAgICAgLy8gc2F2ZSB0aGUgcmV0
dXJuIGFkZHJlc3MgdG8gdGhlIGNhbGwgZnJhbWUgd2hpbGUgd2UgbWFrZSBhIEMrKyBmdW5jdGlv
biBjYWxsCkBAIC0xMTQsMzggKzExMSw1OSBAQCBzdGF0aWMgTWFjcm9Bc3NlbWJsZXJDb2RlUmVm
IGxpbmtGb3JUaHVua0dlbmVyYXRvcigKICAgICAKICAgICBDQ2FsbEhlbHBlcnMgaml0KHZtKTsK
ICAgICAKLSAgICBzbG93UGF0aEZvcihqaXQsIHZtLCBraW5kID09IENvZGVGb3JDYWxsID8gb3Bl
cmF0aW9uTGlua0NhbGwgOiBvcGVyYXRpb25MaW5rQ29uc3RydWN0KTsKKyAgICBzbG93UGF0aEZv
cihqaXQsIHZtLCBvcGVyYXRpb25MaW5rRm9yKGtpbmQsIHJlZ2lzdGVycykpOwogICAgIAogICAg
IExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIoKnZtLCAmaml0LCBHTE9CQUxfVEhVTktfSUQpOwogICAg
IHJldHVybiBGSU5BTElaRV9DT0RFKAogICAgICAgICBwYXRjaEJ1ZmZlciwKLSAgICAgICAgKCJM
aW5rICVzIHNsb3cgcGF0aCB0aHVuayIsIGtpbmQgPT0gQ29kZUZvckNhbGwgPyAiY2FsbCIgOiAi
Y29uc3RydWN0IikpOworICAgICAgICAoIkxpbmsgJXMlcyBzbG93IHBhdGggdGh1bmsiLCBraW5k
ID09IENvZGVGb3JDYWxsID8gImNhbGwiIDogImNvbnN0cnVjdCIsIHJlZ2lzdGVycyA9PSBNdXN0
UHJlc2VydmVSZWdpc3RlcnMgPyAiIHRoYXQgcHJlc2VydmVzIHJlZ2lzdGVycyIgOiAiIikpOwog
fQogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbGlua0NhbGxUaHVua0dlbmVyYXRvcihWTSogdm0p
CiB7Ci0gICAgcmV0dXJuIGxpbmtGb3JUaHVua0dlbmVyYXRvcih2bSwgQ29kZUZvckNhbGwpOwor
ICAgIHJldHVybiBsaW5rRm9yVGh1bmtHZW5lcmF0b3Iodm0sIENvZGVGb3JDYWxsLCBSZWdpc3Rl
clByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsKIH0KIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGxp
bmtDb25zdHJ1Y3RUaHVua0dlbmVyYXRvcihWTSogdm0pCiB7Ci0gICAgcmV0dXJuIGxpbmtGb3JU
aHVua0dlbmVyYXRvcih2bSwgQ29kZUZvckNvbnN0cnVjdCk7CisgICAgcmV0dXJuIGxpbmtGb3JU
aHVua0dlbmVyYXRvcih2bSwgQ29kZUZvckNvbnN0cnVjdCwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25O
b3RSZXF1aXJlZCk7CiB9CiAKLS8vIEZvciBjbG9zdXJlIG9wdGltaXphdGlvbnMsIHdlIG9ubHkg
aW5jbHVkZSBjYWxscywgc2luY2UgaWYgeW91J3JlIHVzaW5nIGNsb3N1cmVzIGZvcgotLy8gb2Jq
ZWN0IGNvbnN0cnVjdGlvbiB0aGVuIHlvdSdyZSBnb2luZyB0byBsb3NlIGJpZyB0aW1lIGFueXdh
eS4KLU1hY3JvQXNzZW1ibGVyQ29kZVJlZiBsaW5rQ2xvc3VyZUNhbGxUaHVua0dlbmVyYXRvcihW
TSogdm0pCitNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbGlua0NhbGxUaGF0UHJlc2VydmVzUmVnc1Ro
dW5rR2VuZXJhdG9yKFZNKiB2bSkKK3sKKyAgICByZXR1cm4gbGlua0ZvclRodW5rR2VuZXJhdG9y
KHZtLCBDb2RlRm9yQ2FsbCwgTXVzdFByZXNlcnZlUmVnaXN0ZXJzKTsKK30KKworTWFjcm9Bc3Nl
bWJsZXJDb2RlUmVmIGxpbmtDb25zdHJ1Y3RUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9y
KFZNKiB2bSkKK3sKKyAgICByZXR1cm4gbGlua0ZvclRodW5rR2VuZXJhdG9yKHZtLCBDb2RlRm9y
Q29uc3RydWN0LCBNdXN0UHJlc2VydmVSZWdpc3RlcnMpOworfQorCitzdGF0aWMgTWFjcm9Bc3Nl
bWJsZXJDb2RlUmVmIGxpbmtDbG9zdXJlQ2FsbEZvclRodW5rR2VuZXJhdG9yKAorICAgIFZNKiB2
bSwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlIHJlZ2lzdGVycykKIHsKICAgICBDQ2FsbEhlbHBl
cnMgaml0KHZtKTsKICAgICAKLSAgICBzbG93UGF0aEZvcihqaXQsIHZtLCBvcGVyYXRpb25MaW5r
Q2xvc3VyZUNhbGwpOworICAgIHNsb3dQYXRoRm9yKGppdCwgdm0sIG9wZXJhdGlvbkxpbmtDbG9z
dXJlQ2FsbEZvcihyZWdpc3RlcnMpKTsKICAgICAKICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVy
KCp2bSwgJmppdCwgR0xPQkFMX1RIVU5LX0lEKTsKLSAgICByZXR1cm4gRklOQUxJWkVfQ09ERShw
YXRjaEJ1ZmZlciwgKCJMaW5rIGNsb3N1cmUgY2FsbCBzbG93IHBhdGggdGh1bmsiKSk7CisgICAg
cmV0dXJuIEZJTkFMSVpFX0NPREUocGF0Y2hCdWZmZXIsICgiTGluayBjbG9zdXJlIGNhbGwgJXMg
c2xvdyBwYXRoIHRodW5rIiwgcmVnaXN0ZXJzID09IE11c3RQcmVzZXJ2ZVJlZ2lzdGVycyA/ICIg
dGhhdCBwcmVzZXJ2ZXMgcmVnaXN0ZXJzIiA6ICIiKSk7Cit9CisKKy8vIEZvciBjbG9zdXJlIG9w
dGltaXphdGlvbnMsIHdlIG9ubHkgaW5jbHVkZSBjYWxscywgc2luY2UgaWYgeW91J3JlIHVzaW5n
IGNsb3N1cmVzIGZvcgorLy8gb2JqZWN0IGNvbnN0cnVjdGlvbiB0aGVuIHlvdSdyZSBnb2luZyB0
byBsb3NlIGJpZyB0aW1lIGFueXdheS4KK01hY3JvQXNzZW1ibGVyQ29kZVJlZiBsaW5rQ2xvc3Vy
ZUNhbGxUaHVua0dlbmVyYXRvcihWTSogdm0pCit7CisgICAgcmV0dXJuIGxpbmtDbG9zdXJlQ2Fs
bEZvclRodW5rR2VuZXJhdG9yKHZtLCBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsK
K30KKworTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGxpbmtDbG9zdXJlQ2FsbFRoYXRQcmVzZXJ2ZXNS
ZWdzVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQoreworICAgIHJldHVybiBsaW5rQ2xvc3VyZUNhbGxG
b3JUaHVua0dlbmVyYXRvcih2bSwgTXVzdFByZXNlcnZlUmVnaXN0ZXJzKTsKIH0KIAogc3RhdGlj
IE1hY3JvQXNzZW1ibGVyQ29kZVJlZiB2aXJ0dWFsRm9yVGh1bmtHZW5lcmF0b3IoCi0gICAgVk0q
IHZtLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCisgICAgVk0qIHZtLCBDb2RlU3BlY2lh
bGl6YXRpb25LaW5kIGtpbmQsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZSByZWdpc3RlcnMpCiB7
CiAgICAgLy8gVGhlIGNhbGxlZSBpcyBpbiByZWdUMCAoZm9yIEpTVkFMVUUzMl82NCwgdGhlIHRh
ZyBpcyBpbiByZWdUMSkuCiAgICAgLy8gVGhlIHJldHVybiBhZGRyZXNzIGlzIG9uIHRoZSBzdGFj
aywgb3IgaW4gdGhlIGxpbmsgcmVnaXN0ZXIuIFdlIHdpbGwgaGVuY2UKQEAgLTE2MCwzMyArMTc4
LDM0IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdmlydHVhbEZvclRodW5rR2VuZXJh
dG9yKAogICAgIC8vIHRoZSBERkcga25vd3MgdGhhdCB0aGUgdmFsdWUgaXMgZGVmaW5pdGVseSBh
IGNlbGwsIG9yIGRlZmluaXRlbHkgYSBmdW5jdGlvbi4KICAgICAKICNpZiBVU0UoSlNWQUxVRTY0
KQorICAgIGppdC5tb3ZlKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTY0KFRhZ01hc2spLCBHUFJJ
bmZvOjpyZWdUMik7CisgICAgCiAgICAgc2xvd0Nhc2UuYXBwZW5kKAogICAgICAgICBqaXQuYnJh
bmNoVGVzdDY0KAotICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpOb25aZXJvLCBHUFJJbmZvOjpy
ZWdUMCwgR1BSSW5mbzo6dGFnTWFza1JlZ2lzdGVyKSk7CisgICAgICAgICAgICBDQ2FsbEhlbHBl
cnM6Ok5vblplcm8sIEdQUkluZm86OnJlZ1QwLCBHUFJJbmZvOjpyZWdUMikpOwogI2Vsc2UKICAg
ICBzbG93Q2FzZS5hcHBlbmQoCiAgICAgICAgIGppdC5icmFuY2gzMigKICAgICAgICAgICAgIEND
YWxsSGVscGVyczo6Tm90RXF1YWwsIEdQUkluZm86OnJlZ1QxLAogICAgICAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZykpKTsKICNlbmRpZgotICAgIGpp
dC5sb2FkUHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMCwgSlNDZWxsOjpz
dHJ1Y3R1cmVPZmZzZXQoKSksIEdQUkluZm86Om5vbkFyZ0dQUjIpOworICAgIGppdC5sb2FkUHRy
KENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpyZWdUMCwgSlNDZWxsOjpzdHJ1Y3R1cmVP
ZmZzZXQoKSksIEdQUkluZm86OnJlZ1QyKTsKICAgICBzbG93Q2FzZS5hcHBlbmQoCiAgICAgICAg
IGppdC5icmFuY2hQdHIoCiAgICAgICAgICAgICBDQ2FsbEhlbHBlcnM6Ok5vdEVxdWFsLAotICAg
ICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86Om5vbkFyZ0dQUjIsIFN0cnVj
dHVyZTo6Y2xhc3NJbmZvT2Zmc2V0KCkpLAorICAgICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRy
ZXNzKEdQUkluZm86OnJlZ1QyLCBTdHJ1Y3R1cmU6OmNsYXNzSW5mb09mZnNldCgpKSwKICAgICAg
ICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihKU0Z1bmN0aW9uOjppbmZvKCkpKSk7
CiAgICAgCiAgICAgLy8gTm93IHdlIGtub3cgd2UgaGF2ZSBhIEpTRnVuY3Rpb24uCiAgICAgCiAg
ICAgaml0LmxvYWRQdHIoCiAgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpy
ZWdUMCwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpLAotICAgICAgICBHUFJJbmZv
Ojpub25BcmdHUFIyKTsKLSAgICBzbG93Q2FzZS5hcHBlbmQoCi0gICAgICAgIGppdC5icmFuY2gz
MigKLSAgICAgICAgICAgIENDYWxsSGVscGVyczo6TGVzc1RoYW4sCi0gICAgICAgICAgICBDQ2Fs
bEhlbHBlcnM6OkFkZHJlc3MoCi0gICAgICAgICAgICAgICAgR1BSSW5mbzo6bm9uQXJnR1BSMiwg
RXhlY3V0YWJsZUJhc2U6Om9mZnNldE9mTnVtUGFyYW1ldGVyc0ZvcihraW5kKSksCi0gICAgICAg
ICAgICBDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMigwKSkpOworICAgICAgICBHUFJJbmZvOjpy
ZWdUMik7CisgICAgaml0LmxvYWRQdHIoCisgICAgICAgIENDYWxsSGVscGVyczo6QWRkcmVzcygK
KyAgICAgICAgICAgIEdQUkluZm86OnJlZ1QyLCBFeGVjdXRhYmxlQmFzZTo6b2Zmc2V0T2ZKSVRD
b2RlV2l0aEFyaXR5Q2hlY2tGb3Ioa2luZCwgcmVnaXN0ZXJzKSksCisgICAgICAgIEdQUkluZm86
OnJlZ1QyKTsKKyAgICBzbG93Q2FzZS5hcHBlbmQoaml0LmJyYW5jaFRlc3RQdHIoQ0NhbGxIZWxw
ZXJzOjpaZXJvLCBHUFJJbmZvOjpyZWdUMikpOwogICAgIAogICAgIC8vIE5vdyB3ZSBrbm93IHRo
YXQgd2UgaGF2ZSBhIENvZGVCbG9jaywgYW5kIHdlJ3JlIGNvbW1pdHRlZCB0byBtYWtpbmcgYSBm
YXN0CiAgICAgLy8gY2FsbC4KQEAgLTE5NSw2MiArMjE0LDYwIEBAIHN0YXRpYyBNYWNyb0Fzc2Vt
YmxlckNvZGVSZWYgdmlydHVhbEZvclRodW5rR2VuZXJhdG9yKAogICAgICAgICBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoR1BSSW5mbzo6cmVnVDAsIEpTRnVuY3Rpb246Om9mZnNldE9mU2NvcGVDaGFp
bigpKSwKICAgICAgICAgR1BSSW5mbzo6cmVnVDEpOwogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAg
aml0LnN0b3JlNjQoCi0gICAgICAgIEdQUkluZm86OnJlZ1QxLAotICAgICAgICBDQ2FsbEhlbHBl
cnM6OkFkZHJlc3MoCi0gICAgICAgICAgICBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwKLSAg
ICAgICAgICAgIHN0YXRpY19jYXN0PHB0cmRpZmZfdD4oc2l6ZW9mKFJlZ2lzdGVyKSkgKiBKU1N0
YWNrOjpTY29wZUNoYWluKSk7CisgICAgaml0LmVtaXRQdXRUb0NhbGxGcmFtZUhlYWRlckJlZm9y
ZVByb2xvZ3VlKEdQUkluZm86OnJlZ1QxLCBKU1N0YWNrOjpTY29wZUNoYWluKTsKICNlbHNlCi0g
ICAgaml0LnN0b3JlUHRyKAotICAgICAgICBHUFJJbmZvOjpyZWdUMSwKLSAgICAgICAgQ0NhbGxI
ZWxwZXJzOjpBZGRyZXNzKAotICAgICAgICAgICAgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIs
Ci0gICAgICAgICAgICBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihSZWdpc3RlcikpICog
SlNTdGFjazo6U2NvcGVDaGFpbiArCi0gICAgICAgICAgICBPQkpFQ1RfT0ZGU0VUT0YoRW5jb2Rl
ZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnBheWxvYWQpKSk7Ci0gICAgaml0LnN0b3JlMzIoCi0g
ICAgICAgIENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpLAotICAg
ICAgICBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoCi0gICAgICAgICAgICBHUFJJbmZvOjpjYWxsRnJh
bWVSZWdpc3RlciwKLSAgICAgICAgICAgIHN0YXRpY19jYXN0PHB0cmRpZmZfdD4oc2l6ZW9mKFJl
Z2lzdGVyKSkgKiBKU1N0YWNrOjpTY29wZUNoYWluICsKLSAgICAgICAgICAgIE9CSkVDVF9PRkZT
RVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMudGFnKSkpOworICAgIGppdC5lbWl0
UHV0UGF5bG9hZFRvQ2FsbEZyYW1lSGVhZGVyQmVmb3JlUHJvbG9ndWUoR1BSSW5mbzo6cmVnVDEs
IEpTU3RhY2s6OlNjb3BlQ2hhaW4pOworICAgIGppdC5lbWl0UHV0VGFnVG9DYWxsRnJhbWVIZWFk
ZXJCZWZvcmVQcm9sb2d1ZShDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihKU1ZhbHVlOjpDZWxs
VGFnKSwKKyAgICAgICAgSlNTdGFjazo6U2NvcGVDaGFpbik7CiAjZW5kaWYKICAgICAKLSAgICBq
aXQubG9hZFB0cigKLSAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86Om5vbkFy
Z0dQUjIsIEV4ZWN1dGFibGVCYXNlOjpvZmZzZXRPZkpJVENvZGVXaXRoQXJpdHlDaGVja0Zvcihr
aW5kKSksCi0gICAgICAgIEdQUkluZm86OnJlZ1QwKTsKLSAgICAKICAgICAvLyBNYWtlIGEgdGFp
bCBjYWxsLiBUaGlzIHdpbGwgcmV0dXJuIGJhY2sgdG8gSklUIGNvZGUuCi0gICAgZW1pdFBvaW50
ZXJWYWxpZGF0aW9uKGppdCwgR1BSSW5mbzo6cmVnVDApOwotICAgIGppdC5qdW1wKEdQUkluZm86
OnJlZ1QwKTsKKyAgICBlbWl0UG9pbnRlclZhbGlkYXRpb24oaml0LCBHUFJJbmZvOjpyZWdUMik7
CisgICAgaml0Lmp1bXAoR1BSSW5mbzo6cmVnVDIpOwogCiAgICAgc2xvd0Nhc2UubGluaygmaml0
KTsKICAgICAKICAgICAvLyBIZXJlIHdlIGRvbid0IGtub3cgYW55dGhpbmcsIHNvIHJldmVydCB0
byB0aGUgZnVsbCBzbG93IHBhdGguCiAgICAgCi0gICAgc2xvd1BhdGhGb3Ioaml0LCB2bSwga2lu
ZCA9PSBDb2RlRm9yQ2FsbCA/IG9wZXJhdGlvblZpcnR1YWxDYWxsIDogb3BlcmF0aW9uVmlydHVh
bENvbnN0cnVjdCk7CisgICAgc2xvd1BhdGhGb3Ioaml0LCB2bSwgb3BlcmF0aW9uVmlydHVhbEZv
cihraW5kLCByZWdpc3RlcnMpKTsKICAgICAKICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCp2
bSwgJmppdCwgR0xPQkFMX1RIVU5LX0lEKTsKICAgICByZXR1cm4gRklOQUxJWkVfQ09ERSgKICAg
ICAgICAgcGF0Y2hCdWZmZXIsCi0gICAgICAgICgiVmlydHVhbCAlcyBzbG93IHBhdGggdGh1bmsi
LCBraW5kID09IENvZGVGb3JDYWxsID8gImNhbGwiIDogImNvbnN0cnVjdCIpKTsKKyAgICAgICAg
KCJWaXJ0dWFsICVzJXMgc2xvdyBwYXRoIHRodW5rIiwga2luZCA9PSBDb2RlRm9yQ2FsbCA/ICJj
YWxsIiA6ICJjb25zdHJ1Y3QiLCByZWdpc3RlcnMgPT0gTXVzdFByZXNlcnZlUmVnaXN0ZXJzID8g
IiB0aGF0IHByZXNlcnZlcyByZWdpc3RlcnMiIDogIiIpKTsKIH0KIAogTWFjcm9Bc3NlbWJsZXJD
b2RlUmVmIHZpcnR1YWxDYWxsVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQogewotICAgIHJldHVybiB2
aXJ0dWFsRm9yVGh1bmtHZW5lcmF0b3Iodm0sIENvZGVGb3JDYWxsKTsKKyAgICByZXR1cm4gdmly
dHVhbEZvclRodW5rR2VuZXJhdG9yKHZtLCBDb2RlRm9yQ2FsbCwgUmVnaXN0ZXJQcmVzZXJ2YXRp
b25Ob3RSZXF1aXJlZCk7CiB9CiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiB2aXJ0dWFsQ29uc3Ry
dWN0VGh1bmtHZW5lcmF0b3IoVk0qIHZtKQogewotICAgIHJldHVybiB2aXJ0dWFsRm9yVGh1bmtH
ZW5lcmF0b3Iodm0sIENvZGVGb3JDb25zdHJ1Y3QpOworICAgIHJldHVybiB2aXJ0dWFsRm9yVGh1
bmtHZW5lcmF0b3Iodm0sIENvZGVGb3JDb25zdHJ1Y3QsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90
UmVxdWlyZWQpOwogfQogCi1zdGF0aWMgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIG5hdGl2ZUZvckdl
bmVyYXRvcihWTSogdm0sIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkKK01hY3JvQXNzZW1i
bGVyQ29kZVJlZiB2aXJ0dWFsQ2FsbFRoYXRQcmVzZXJ2ZXNSZWdzVGh1bmtHZW5lcmF0b3IoVk0q
IHZtKQoreworICAgIHJldHVybiB2aXJ0dWFsRm9yVGh1bmtHZW5lcmF0b3Iodm0sIENvZGVGb3JD
YWxsLCBNdXN0UHJlc2VydmVSZWdpc3RlcnMpOworfQorCitNYWNyb0Fzc2VtYmxlckNvZGVSZWYg
dmlydHVhbENvbnN0cnVjdFRoYXRQcmVzZXJ2ZXNSZWdzVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQor
eworICAgIHJldHVybiB2aXJ0dWFsRm9yVGh1bmtHZW5lcmF0b3Iodm0sIENvZGVGb3JDb25zdHJ1
Y3QsIE11c3RQcmVzZXJ2ZVJlZ2lzdGVycyk7Cit9CisKK2VudW0gVGh1bmtFbnRyeVR5cGUgeyBF
bnRlclZpYUNhbGwsIEVudGVyVmlhSnVtcCB9OworCitzdGF0aWMgTWFjcm9Bc3NlbWJsZXJDb2Rl
UmVmIG5hdGl2ZUZvckdlbmVyYXRvcihWTSogdm0sIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2lu
ZCwgVGh1bmtFbnRyeVR5cGUgZW50cnlUeXBlID0gRW50ZXJWaWFDYWxsKQogewogICAgIGludCBl
eGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvbiA9IE5hdGl2ZUV4ZWN1dGFibGU6Om9mZnNldE9mTmF0
aXZlRnVuY3Rpb25Gb3Ioa2luZCk7CiAgICAgCiAgICAgSlNJbnRlcmZhY2VKSVQgaml0KHZtKTsK
LSAgICAKKworICAgIGlmIChlbnRyeVR5cGUgPT0gRW50ZXJWaWFDYWxsKQorICAgICAgICBqaXQu
ZW1pdEZ1bmN0aW9uUHJvbG9ndWUoKTsKKwogICAgIGppdC5lbWl0UHV0SW1tZWRpYXRlVG9DYWxs
RnJhbWVIZWFkZXIoMCwgSlNTdGFjazo6Q29kZUJsb2NrKTsKICAgICBqaXQuc3RvcmVQdHIoSlNJ
bnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyLCAmdm0tPnRvcENhbGxGcmFtZSk7CiAKQEAg
LTI2MSwyMiArMjc4LDE4IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbmF0aXZlRm9y
R2VuZXJhdG9yKFZNKiB2bSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBrCiAgICAgaml0LmVtaXRH
ZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEpTU3RhY2s6OlNjb3BlQ2hhaW4sIEpTSW50ZXJmYWNl
SklUOjpyZWdUMSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QwKTsKICAgICBqaXQuZW1pdFB1dENlbGxU
b0NhbGxGcmFtZUhlYWRlcihKU0ludGVyZmFjZUpJVDo6cmVnVDEsIEpTU3RhY2s6OlNjb3BlQ2hh
aW4pOwogCi0gICAgaml0LnBlZWsoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKLSAgICBqaXQuZW1p
dFB1dFJldHVyblBDVG9DYWxsRnJhbWVIZWFkZXIoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKLQog
ICAgIC8vIENhbGxpbmcgY29udmVudGlvbjogICAgICBmKGVjeCwgZWR4LCAuLi4pOwogICAgIC8v
IEhvc3QgZnVuY3Rpb24gc2lnbmF0dXJlOiBmKEV4ZWNTdGF0ZSopOwogICAgIGppdC5tb3ZlKEpT
SW50ZXJmYWNlSklUOjpjYWxsRnJhbWVSZWdpc3RlciwgWDg2UmVnaXN0ZXJzOjplY3gpOwogCi0g
ICAgaml0LnN1YlB0cihKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKDE2IC0gc2l6ZW9mKHZv
aWQqKSksIEpTSW50ZXJmYWNlSklUOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7IC8vIEFsaWduIHN0
YWNrIGFmdGVyIGNhbGwuCisgICAgaml0LnN1YlB0cihKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZElt
bTMyKDgpLCBKU0ludGVyZmFjZUpJVDo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOyAvLyBBbGlnbiBz
dGFjayBhZnRlciBwcm9sb2d1ZS4KIAogICAgIC8vIGNhbGwgdGhlIGZ1bmN0aW9uCiAgICAgaml0
LmVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEpTU3RhY2s6OkNhbGxlZSwgSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1QxKTsKICAgICBqaXQubG9hZFB0cihKU0ludGVyZmFjZUpJVDo6QWRkcmVzcyhK
U0ludGVyZmFjZUpJVDo6cmVnVDEsIEpTRnVuY3Rpb246Om9mZnNldE9mRXhlY3V0YWJsZSgpKSwg
SlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKLSAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6cmVn
VDAsIEpTSW50ZXJmYWNlSklUOjpjYWxsRnJhbWVSZWdpc3Rlcik7IC8vIEVhZ2VybHkgcmVzdG9y
ZSBjYWxsZXIgZnJhbWUgcmVnaXN0ZXIgdG8gYXZvaWQgbG9hZGluZyBmcm9tIHN0YWNrLgogICAg
IGppdC5jYWxsKEpTSW50ZXJmYWNlSklUOjpBZGRyZXNzKEpTSW50ZXJmYWNlSklUOjpyZWdUMSwg
ZXhlY3V0YWJsZU9mZnNldFRvRnVuY3Rpb24pKTsKIAotICAgIGppdC5hZGRQdHIoSlNJbnRlcmZh
Y2VKSVQ6OlRydXN0ZWRJbW0zMigxNiAtIHNpemVvZih2b2lkKikpLCBKU0ludGVyZmFjZUpJVDo6
c3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgIGppdC5hZGRQdHIoSlNJbnRlcmZhY2VKSVQ6OlRy
dXN0ZWRJbW0zMig4KSwgSlNJbnRlcmZhY2VKSVQ6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKIAog
I2VsaWYgQ1BVKFg4Nl82NCkKICAgICAvLyBMb2FkIGNhbGxlciBmcmFtZSdzIHNjb3BlIGNoYWlu
IGludG8gdGhpcyBjYWxsZnJhbWUgc28gdGhhdCB3aGF0ZXZlciB3ZSBjYWxsIGNhbgpAQCAtMjg0
LDIzICsyOTcsMTUgQEAgc3RhdGljIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBuYXRpdmVGb3JHZW5l
cmF0b3IoVk0qIHZtLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGsKICAgICBqaXQuZW1pdEdldENh
bGxlckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRlclB0cihKU0ludGVyZmFjZUpJVDo6cmVnVDApOwog
ICAgIGppdC5lbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihKU1N0YWNrOjpTY29wZUNoYWlu
LCBKU0ludGVyZmFjZUpJVDo6cmVnVDEsIEpTSW50ZXJmYWNlSklUOjpyZWdUMCk7CiAgICAgaml0
LmVtaXRQdXRDZWxsVG9DYWxsRnJhbWVIZWFkZXIoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxLCBKU1N0
YWNrOjpTY29wZUNoYWluKTsKLQotICAgIGppdC5wZWVrKEpTSW50ZXJmYWNlSklUOjpyZWdUMSk7
Ci0gICAgaml0LmVtaXRQdXRSZXR1cm5QQ1RvQ2FsbEZyYW1lSGVhZGVyKEpTSW50ZXJmYWNlSklU
OjpyZWdUMSk7Ci0KICNpZiAhT1MoV0lORE9XUykKICAgICAvLyBDYWxsaW5nIGNvbnZlbnRpb246
ICAgICAgZihlZGksIGVzaSwgZWR4LCBlY3gsIC4uLik7CiAgICAgLy8gSG9zdCBmdW5jdGlvbiBz
aWduYXR1cmU6IGYoRXhlY1N0YXRlKik7CiAgICAgaml0Lm1vdmUoSlNJbnRlcmZhY2VKSVQ6OmNh
bGxGcmFtZVJlZ2lzdGVyLCBYODZSZWdpc3RlcnM6OmVkaSk7CiAKLSAgICBqaXQuc3ViUHRyKEpT
SW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMTYgLSBzaXplb2YoaW50NjRfdCkpLCBKU0ludGVy
ZmFjZUpJVDo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOyAvLyBBbGlnbiBzdGFjayBhZnRlciBjYWxs
LgotCiAgICAgaml0LmVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEpTU3RhY2s6OkNhbGxl
ZSwgWDg2UmVnaXN0ZXJzOjplc2kpOwogICAgIGppdC5sb2FkUHRyKEpTSW50ZXJmYWNlSklUOjpB
ZGRyZXNzKFg4NlJlZ2lzdGVyczo6ZXNpLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZkV4ZWN1dGFibGUo
KSksIFg4NlJlZ2lzdGVyczo6cjkpOwotICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpyZWdU
MCwgSlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyKTsgLy8gRWFnZXJseSByZXN0b3Jl
IGNhbGxlciBmcmFtZSByZWdpc3RlciB0byBhdm9pZCBsb2FkaW5nIGZyb20gc3RhY2suCiAgICAg
aml0LmNhbGwoSlNJbnRlcmZhY2VKSVQ6OkFkZHJlc3MoWDg2UmVnaXN0ZXJzOjpyOSwgZXhlY3V0
YWJsZU9mZnNldFRvRnVuY3Rpb24pKTsKIAotICAgIGppdC5hZGRQdHIoSlNJbnRlcmZhY2VKSVQ6
OlRydXN0ZWRJbW0zMigxNiAtIHNpemVvZihpbnQ2NF90KSksIEpTSW50ZXJmYWNlSklUOjpzdGFj
a1BvaW50ZXJSZWdpc3Rlcik7CiAjZWxzZQogICAgIC8vIENhbGxpbmcgY29udmVudGlvbjogICAg
ICBmKGVjeCwgZWR4LCByOCwgcjksIC4uLik7CiAgICAgLy8gSG9zdCBmdW5jdGlvbiBzaWduYXR1
cmU6IGYoRXhlY1N0YXRlKik7CkBAIC0zMTEsNyArMzE2LDYgQEAgc3RhdGljIE1hY3JvQXNzZW1i
bGVyQ29kZVJlZiBuYXRpdmVGb3JHZW5lcmF0b3IoVk0qIHZtLCBDb2RlU3BlY2lhbGl6YXRpb25L
aW5kIGsKIAogICAgIGppdC5lbWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihKU1N0YWNrOjpD
YWxsZWUsIFg4NlJlZ2lzdGVyczo6ZWR4KTsKICAgICBqaXQubG9hZFB0cihKU0ludGVyZmFjZUpJ
VDo6QWRkcmVzcyhYODZSZWdpc3RlcnM6OmVkeCwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRh
YmxlKCkpLCBYODZSZWdpc3RlcnM6OnI5KTsKLSAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6
cmVnVDAsIEpTSW50ZXJmYWNlSklUOjpjYWxsRnJhbWVSZWdpc3Rlcik7IC8vIEVhZ2VybHkgcmVz
dG9yZSBjYWxsZXIgZnJhbWUgcmVnaXN0ZXIgdG8gYXZvaWQgbG9hZGluZyBmcm9tIHN0YWNrLgog
ICAgIGppdC5jYWxsKEpTSW50ZXJmYWNlSklUOjpBZGRyZXNzKFg4NlJlZ2lzdGVyczo6cjksIGV4
ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uKSk7CiAKICAgICBqaXQuYWRkUHRyKEpTSW50ZXJmYWNl
SklUOjpUcnVzdGVkSW1tMzIoNCAqIHNpemVvZihpbnQ2NF90KSArIDE2IC0gc2l6ZW9mKGludDY0
X3QpKSwgSlNJbnRlcmZhY2VKSVQ6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKQEAgLTMzMCwyOCAr
MzM0LDE4IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbmF0aXZlRm9yR2VuZXJhdG9y
KFZNKiB2bSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBrCiAgICAgaml0LmVtaXRHZXRGcm9tQ2Fs
bEZyYW1lSGVhZGVyUHRyKEpTU3RhY2s6OlNjb3BlQ2hhaW4sIEpTSW50ZXJmYWNlSklUOjpyZWdU
MSwgQVJNNjRSZWdpc3RlcnM6OngzKTsKICAgICBqaXQuZW1pdFB1dENlbGxUb0NhbGxGcmFtZUhl
YWRlcihKU0ludGVyZmFjZUpJVDo6cmVnVDEsIEpTU3RhY2s6OlNjb3BlQ2hhaW4pOwogCi0gICAg
aml0LnByZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVyQ2FsbChKU0ludGVyZmFjZUpJVDo6cmVnVDMp
OyAvLyBDYWxsZWUgcHJlc2VydmVkCi0gICAgaml0LmVtaXRQdXRSZXR1cm5QQ1RvQ2FsbEZyYW1l
SGVhZGVyKEFSTTY0UmVnaXN0ZXJzOjpscik7Ci0KICAgICAvLyBIb3N0IGZ1bmN0aW9uIHNpZ25h
dHVyZTogZihFeGVjU3RhdGUqKTsKICAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6Y2FsbEZy
YW1lUmVnaXN0ZXIsIEFSTTY0UmVnaXN0ZXJzOjp4MCk7CiAKICAgICBqaXQuZW1pdEdldEZyb21D
YWxsRnJhbWVIZWFkZXJQdHIoSlNTdGFjazo6Q2FsbGVlLCBBUk02NFJlZ2lzdGVyczo6eDEpOwog
ICAgIGppdC5sb2FkUHRyKEpTSW50ZXJmYWNlSklUOjpBZGRyZXNzKEFSTTY0UmVnaXN0ZXJzOjp4
MSwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpLCBBUk02NFJlZ2lzdGVyczo6eDIp
OwotICAgIGppdC5tb3ZlKEFSTTY0UmVnaXN0ZXJzOjp4MywgSlNJbnRlcmZhY2VKSVQ6OmNhbGxG
cmFtZVJlZ2lzdGVyKTsgLy8gRWFnZXJseSByZXN0b3JlIGNhbGxlciBmcmFtZSByZWdpc3RlciB0
byBhdm9pZCBsb2FkaW5nIGZyb20gc3RhY2suCiAgICAgaml0LmNhbGwoSlNJbnRlcmZhY2VKSVQ6
OkFkZHJlc3MoQVJNNjRSZWdpc3RlcnM6OngyLCBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvbikp
OwotCi0gICAgaml0LnJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKEpTSW50ZXJmYWNl
SklUOjpyZWdUMyk7Ci0KICNlbGlmIENQVShBUk0pIHx8IENQVShTSDQpIHx8IENQVShNSVBTKQog
ICAgIC8vIExvYWQgY2FsbGVyIGZyYW1lJ3Mgc2NvcGUgY2hhaW4gaW50byB0aGlzIGNhbGxmcmFt
ZSBzbyB0aGF0IHdoYXRldmVyIHdlIGNhbGwgY2FuIGdldCB0byBpdHMgZ2xvYmFsIGRhdGEuCiAg
ICAgaml0LmVtaXRHZXRDYWxsZXJGcmFtZUZyb21DYWxsRnJhbWVIZWFkZXJQdHIoSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1QyKTsKICAgICBqaXQuZW1pdEdldEZyb21DYWxsRnJhbWVIZWFkZXJQdHIoSlNT
dGFjazo6U2NvcGVDaGFpbiwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxLCBKU0ludGVyZmFjZUpJVDo6
cmVnVDIpOwogICAgIGppdC5lbWl0UHV0Q2VsbFRvQ2FsbEZyYW1lSGVhZGVyKEpTSW50ZXJmYWNl
SklUOjpyZWdUMSwgSlNTdGFjazo6U2NvcGVDaGFpbik7CiAKLSAgICBqaXQucHJlc2VydmVSZXR1
cm5BZGRyZXNzQWZ0ZXJDYWxsKEpTSW50ZXJmYWNlSklUOjpyZWdUMyk7IC8vIENhbGxlZSBwcmVz
ZXJ2ZWQKLSAgICBqaXQuZW1pdFB1dFJldHVyblBDVG9DYWxsRnJhbWVIZWFkZXIoSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1QzKTsKLQogI2lmIENQVShNSVBTKQogICAgIC8vIEFsbG9jYXRlIHN0YWNrIHNw
YWNlIGZvciAodW51c2VkKSAxNiBieXRlcyAoOC1ieXRlIGFsaWduZWQpIGZvciA0IGFyZ3VtZW50
cy4KICAgICBqaXQuc3ViUHRyKEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMTYpLCBKU0lu
dGVyZmFjZUpJVDo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOwpAQCAtMzYyLDcgKzM1Niw2IEBAIHN0
YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbmF0aXZlRm9yR2VuZXJhdG9yKFZNKiB2bSwgQ29k
ZVNwZWNpYWxpemF0aW9uS2luZCBrCiAgICAgaml0Lm1vdmUoSlNJbnRlcmZhY2VKSVQ6OmNhbGxG
cmFtZVJlZ2lzdGVyLCBKU0ludGVyZmFjZUpJVDo6YXJndW1lbnRHUFIwKTsKIAogICAgIGppdC5l
bWl0R2V0RnJvbUNhbGxGcmFtZUhlYWRlclB0cihKU1N0YWNrOjpDYWxsZWUsIEpTSW50ZXJmYWNl
SklUOjphcmd1bWVudEdQUjEpOwotICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpyZWdUMiwg
SlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyKTsgLy8gRWFnZXJseSByZXN0b3JlIGNh
bGxlciBmcmFtZSByZWdpc3RlciB0byBhdm9pZCBsb2FkaW5nIGZyb20gc3RhY2suCiAgICAgaml0
LmxvYWRQdHIoSlNJbnRlcmZhY2VKSVQ6OkFkZHJlc3MoSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50
R1BSMSwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpLCBKU0ludGVyZmFjZUpJVDo6
cmVnVDIpOwogICAgIGppdC5jYWxsKEpTSW50ZXJmYWNlSklUOjpBZGRyZXNzKEpTSW50ZXJmYWNl
SklUOjpyZWdUMiwgZXhlY3V0YWJsZU9mZnNldFRvRnVuY3Rpb24pKTsKIApAQCAtMzcwLDggKzM2
Myw2IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbmF0aXZlRm9yR2VuZXJhdG9yKFZN
KiB2bSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBrCiAgICAgLy8gUmVzdG9yZSBzdGFjayBzcGFj
ZQogICAgIGppdC5hZGRQdHIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMigxNiksIEpTSW50
ZXJmYWNlSklUOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAjZW5kaWYKLQotICAgIGppdC5yZXN0
b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybihKU0ludGVyZmFjZUpJVDo6cmVnVDMpOwogI2Vs
c2UKICNlcnJvciAiSklUIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS4iCiAgICAgVU5V
U0VEX1BBUkFNKGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uKTsKQEAgLTM4OSwyNSArMzgwLDIx
IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbmF0aXZlRm9yR2VuZXJhdG9yKFZNKiB2
bSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBrCiAgICAgICAgIEpTSW50ZXJmYWNlSklUOjpUcnVz
dGVkSW1tMzIoSlNWYWx1ZTo6RW1wdHlWYWx1ZVRhZykpOwogI2VuZGlmCiAKKyAgICBqaXQuZW1p
dEZ1bmN0aW9uRXBpbG9ndWUoKTsKICAgICAvLyBSZXR1cm4uCiAgICAgaml0LnJldCgpOwogCiAg
ICAgLy8gSGFuZGxlIGFuIGV4Y2VwdGlvbgogICAgIGV4Y2VwdGlvbkhhbmRsZXIubGluaygmaml0
KTsKIAotICAgIC8vIEdyYWIgdGhlIHJldHVybiBhZGRyZXNzLgotICAgIGppdC5wcmVzZXJ2ZVJl
dHVybkFkZHJlc3NBZnRlckNhbGwoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKLSAgICAKLSAgICBq
aXQubW92ZShKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbVB0cigmdm0tPmV4Y2VwdGlvbkxvY2F0
aW9uKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKTsKLSAgICBqaXQuc3RvcmVQdHIoSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1QxLCBKU0ludGVyZmFjZUpJVDo6cmVnVDIpOwotCiAgICAgaml0LnN0b3JlUHRy
KEpTSW50ZXJmYWNlSklUOjpjYWxsRnJhbWVSZWdpc3RlciwgJnZtLT50b3BDYWxsRnJhbWUpOwog
CiAjaWYgQ1BVKFg4NikgJiYgVVNFKEpTVkFMVUUzMl82NCkKICAgICBqaXQuYWRkUHRyKEpTSW50
ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoLTEyKSwgSlNJbnRlcmZhY2VKSVQ6OnN0YWNrUG9pbnRl
clJlZ2lzdGVyKTsKLSAgICBqaXQucHVzaChKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1lUmVnaXN0
ZXIpOworICAgIGppdC5sb2FkUHRyKEpTSW50ZXJmYWNlSklUOjpBZGRyZXNzKEpTSW50ZXJmYWNl
SklUOjpjYWxsRnJhbWVSZWdpc3RlciksIEpTSW50ZXJmYWNlSklUOjpyZWdUMCk7CisgICAgaml0
LnB1c2goSlNJbnRlcmZhY2VKSVQ6OnJlZ1QwKTsKICNlbHNlCi0gICAgaml0Lm1vdmUoSlNJbnRl
cmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyLCBKU0ludGVyZmFjZUpJVDo6YXJndW1lbnRHUFIw
KTsKKyAgICBqaXQubG9hZFB0cihKU0ludGVyZmFjZUpJVDo6QWRkcmVzcyhKU0ludGVyZmFjZUpJ
VDo6Y2FsbEZyYW1lUmVnaXN0ZXIpLCBKU0ludGVyZmFjZUpJVDo6YXJndW1lbnRHUFIwKTsKICNl
bmRpZgogICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tUHRyKEZ1bmN0aW9u
UHRyKG9wZXJhdGlvblZNSGFuZGxlRXhjZXB0aW9uKS52YWx1ZSgpKSwgSlNJbnRlcmZhY2VKSVQ6
OnJlZ1QzKTsKICAgICBqaXQuY2FsbChKU0ludGVyZmFjZUpJVDo6cmVnVDMpOwpAQCAtNDE4LDcg
KzQwNSw3IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbmF0aXZlRm9yR2VuZXJhdG9y
KFZNKiB2bSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBrCiAgICAgaml0Lmp1bXBUb0V4Y2VwdGlv
bkhhbmRsZXIoKTsKIAogICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIoKnZtLCAmaml0LCBHTE9C
QUxfVEhVTktfSUQpOwotICAgIHJldHVybiBGSU5BTElaRV9DT0RFKHBhdGNoQnVmZmVyLCAoIm5h
dGl2ZSAlcyB0cmFtcG9saW5lIiwgdG9DU3RyaW5nKGtpbmQpLmRhdGEoKSkpOworICAgIHJldHVy
biBGSU5BTElaRV9DT0RFKHBhdGNoQnVmZmVyLCAoIm5hdGl2ZSAlcyVzIHRyYW1wb2xpbmUiLCBl
bnRyeVR5cGUgPT0gRW50ZXJWaWFKdW1wID8gIlRhaWwgIiA6ICIiLCB0b0NTdHJpbmcoa2luZCku
ZGF0YSgpKSk7CiB9CiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBuYXRpdmVDYWxsR2VuZXJhdG9y
KFZNKiB2bSkKQEAgLTQyNiw2ICs0MTMsMTEgQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIG5hdGl2
ZUNhbGxHZW5lcmF0b3IoVk0qIHZtKQogICAgIHJldHVybiBuYXRpdmVGb3JHZW5lcmF0b3Iodm0s
IENvZGVGb3JDYWxsKTsKIH0KIAorTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIG5hdGl2ZVRhaWxDYWxs
R2VuZXJhdG9yKFZNKiB2bSkKK3sKKyAgICByZXR1cm4gbmF0aXZlRm9yR2VuZXJhdG9yKHZtLCBD
b2RlRm9yQ2FsbCwgRW50ZXJWaWFKdW1wKTsKK30KKwogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIG5h
dGl2ZUNvbnN0cnVjdEdlbmVyYXRvcihWTSogdm0pCiB7CiAgICAgcmV0dXJuIG5hdGl2ZUZvckdl
bmVyYXRvcih2bSwgQ29kZUZvckNvbnN0cnVjdCk7CkBAIC00MzUsMTQgKzQyNywxNiBAQCBNYWNy
b0Fzc2VtYmxlckNvZGVSZWYgYXJpdHlGaXh1cChWTSogdm0pCiB7CiAgICAgSlNJbnRlcmZhY2VK
SVQgaml0KHZtKTsKIAotICAgIC8vIFdlIGVudGVyIHdpdGggZml4dXAgY291bnQgaW4gcmVnVDAK
KyAgICAvLyBXZSBlbnRlciB3aXRoIGZpeHVwIGNvdW50LCBpbiBhbGlnbmVkIHN0YWNrIHVuaXRz
LCBpbiByZWdUMCBhbmQgdGhlIHJldHVybiB0aHVuayBpbgorICAgIC8vIHJlZ1Q1LiBXZSB1c2Ug
Vk06OmN1cnJlbnRSZXR1cm5UaHVua1BDIGluc3RlYWQgb2YgcmVnVDUgb24gWDg2LTMyLgogI2lm
IFVTRShKU1ZBTFVFNjQpCiAjICBpZiBDUFUoWDg2XzY0KQogICAgIGppdC5wb3AoSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1Q0KTsKICMgIGVuZGlmCisgICAgaml0LmxzaGlmdDMyKEpTSW50ZXJmYWNlSklU
OjpUcnVzdGVkSW1tMzIobG9nU3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSksIEpTSW50ZXJmYWNl
SklUOjpyZWdUMCk7CiAgICAgaml0Lm5lZzY0KEpTSW50ZXJmYWNlSklUOjpyZWdUMCk7CiAgICAg
aml0Lm1vdmUoSlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyLCBKU0ludGVyZmFjZUpJ
VDo6cmVnVDMpOwotICAgIGppdC5sb2FkMzIoSlNJbnRlcmZhY2VKSVQ6OkFkZHJlc3MoSlNJbnRl
cmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyLCBKU1N0YWNrOjpBcmd1bWVudENvdW50ICogOCks
IEpTSW50ZXJmYWNlSklUOjpyZWdUMik7CisgICAgaml0LmxvYWQzMihKU0ludGVyZmFjZUpJVDo6
QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1lUmVnaXN0ZXIsIEpTU3RhY2s6OkFyZ3Vt
ZW50Q291bnQgKiBzaXplb2YoUmVnaXN0ZXIpKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKTsKICAg
ICBqaXQuYWRkMzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMihKU1N0YWNrOjpDYWxsRnJh
bWVIZWFkZXJTaXplKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKTsKIAogICAgIC8vIE1vdmUgY3Vy
cmVudCBmcmFtZSBkb3duIHJlZ1QwIG51bWJlciBvZiBzbG90cwpAQCAtNDUyLDE3ICs0NDYsMjcg
QEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGFyaXR5Rml4dXAoVk0qIHZtKQogICAgIGppdC5hZGRQ
dHIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMig4KSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1Qz
KTsKICAgICBqaXQuYnJhbmNoU3ViMzIoTWFjcm9Bc3NlbWJsZXI6Ok5vblplcm8sIEpTSW50ZXJm
YWNlSklUOjpUcnVzdGVkSW1tMzIoMSksIEpTSW50ZXJmYWNlSklUOjpyZWdUMikubGlua1RvKGNv
cHlMb29wLCAmaml0KTsKIAotICAgIC8vIEZpbGwgaW4gcmVnVDAgbWlzc2luZyBhcmcgc2xvdHMg
d2l0aCB1bmRlZmluZWQKKyAgICAvLyBGaWxsIGluIHJlZ1QwIC0gMSBtaXNzaW5nIGFyZyBzbG90
cyB3aXRoIHVuZGVmaW5lZAogICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpyZWdUMCwgSlNJ
bnRlcmZhY2VKSVQ6OnJlZ1QyKTsKICAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6VHJ1c3Rl
ZEltbTY0KFZhbHVlVW5kZWZpbmVkKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKKyAgICBqaXQu
YWRkMzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMigxKSwgSlNJbnRlcmZhY2VKSVQ6OnJl
Z1QyKTsKICAgICBKU0ludGVyZmFjZUpJVDo6TGFiZWwgZmlsbFVuZGVmaW5lZExvb3Aoaml0Lmxh
YmVsKCkpOwogICAgIGppdC5zdG9yZTY0KEpTSW50ZXJmYWNlSklUOjpyZWdUMSwgTWFjcm9Bc3Nl
bWJsZXI6OkJhc2VJbmRleChKU0ludGVyZmFjZUpJVDo6cmVnVDMsIEpTSW50ZXJmYWNlSklUOjpy
ZWdUMCwgSlNJbnRlcmZhY2VKSVQ6OlRpbWVzRWlnaHQpKTsKICAgICBqaXQuYWRkUHRyKEpTSW50
ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoOCksIEpTSW50ZXJmYWNlSklUOjpyZWdUMyk7CiAgICAg
aml0LmJyYW5jaEFkZDMyKE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCBKU0ludGVyZmFjZUpJVDo6
VHJ1c3RlZEltbTMyKDEpLCBKU0ludGVyZmFjZUpJVDo6cmVnVDIpLmxpbmtUbyhmaWxsVW5kZWZp
bmVkTG9vcCwgJmppdCk7Ci0KLSAgICAvLyBBZGp1c3QgY2FsbCBmcmFtZSByZWdpc3RlciB0byBh
Y2NvdW50IGZvciBtaXNzaW5nIGFyZ3MKLSAgICBqaXQubHNoaWZ0NjQoSlNJbnRlcmZhY2VKSVQ6
OlRydXN0ZWRJbW0zMigzKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QwKTsKLSAgICBqaXQuYWRkUHRy
KEpTSW50ZXJmYWNlSklUOjpyZWdUMCwgSlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVy
KTsKKyAgICAKKyAgICAvLyBBZGp1c3QgY2FsbCBmcmFtZSByZWdpc3RlciBhbmQgc3RhY2sgcG9p
bnRlciB0byBhY2NvdW50IGZvciBtaXNzaW5nIGFyZ3MKKyAgICBqaXQubW92ZShKU0ludGVyZmFj
ZUpJVDo6cmVnVDAsIEpTSW50ZXJmYWNlSklUOjpyZWdUMSk7CisgICAgaml0LmxzaGlmdDY0KEpT
SW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMyksIEpTSW50ZXJmYWNlSklUOjpyZWdUMSk7Cisg
ICAgaml0LmFkZFB0cihKU0ludGVyZmFjZUpJVDo6cmVnVDEsIEpTSW50ZXJmYWNlSklUOjpjYWxs
RnJhbWVSZWdpc3Rlcik7CisgICAgaml0LmFkZFB0cihKU0ludGVyZmFjZUpJVDo6cmVnVDEsIEpT
SW50ZXJmYWNlSklUOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisKKyAgICAvLyBTYXZlIHRoZSBv
cmlnaW5hbCByZXR1cm4gUEMuCisgICAgaml0LmxvYWRQdHIoSlNJbnRlcmZhY2VKSVQ6OkFkZHJl
c3MoSlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyLCBDYWxsRnJhbWU6OnJldHVyblBD
T2Zmc2V0KCkpLCBHUFJJbmZvOjpyZWdUMSk7CisgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OnJl
Z1QxLCBNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KEpTSW50ZXJmYWNlSklUOjpyZWdUMywgSlNJ
bnRlcmZhY2VKSVQ6OnJlZ1QwLCBKU0ludGVyZmFjZUpJVDo6VGltZXNFaWdodCkpOworICAgIAor
ICAgIC8vIEluc3RhbGwgdGhlIG5ldyByZXR1cm4gUEMuCisgICAgaml0LnN0b3JlUHRyKEdQUklu
Zm86OnJlZ1Q1LCBKU0ludGVyZmFjZUpJVDo6QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6Y2FsbEZy
YW1lUmVnaXN0ZXIsIENhbGxGcmFtZTo6cmV0dXJuUENPZmZzZXQoKSkpOwogCiAjICBpZiBDUFUo
WDg2XzY0KQogICAgIGppdC5wdXNoKEpTSW50ZXJmYWNlSklUOjpyZWdUNCk7CkBAIC00NzIsOSAr
NDc2LDEwIEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBhcml0eUZpeHVwKFZNKiB2bSkKICMgIGlm
IENQVShYODYpCiAgICAgaml0LnBvcChKU0ludGVyZmFjZUpJVDo6cmVnVDQpOwogIyAgZW5kaWYK
KyAgICBqaXQubHNoaWZ0MzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMihsb2dTdGFja0Fs
aWdubWVudFJlZ2lzdGVycygpKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QwKTsKICAgICBqaXQubmVn
MzIoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QwKTsKICAgICBqaXQubW92ZShKU0ludGVyZmFjZUpJVDo6
Y2FsbEZyYW1lUmVnaXN0ZXIsIEpTSW50ZXJmYWNlSklUOjpyZWdUMyk7Ci0gICAgaml0LmxvYWQz
MihKU0ludGVyZmFjZUpJVDo6QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1lUmVnaXN0
ZXIsIEpTU3RhY2s6OkFyZ3VtZW50Q291bnQgKiA4KSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKTsK
KyAgICBqaXQubG9hZDMyKEpTSW50ZXJmYWNlSklUOjpBZGRyZXNzKEpTSW50ZXJmYWNlSklUOjpj
YWxsRnJhbWVSZWdpc3RlciwgSlNTdGFjazo6QXJndW1lbnRDb3VudCAqIHNpemVvZihSZWdpc3Rl
cikpLCBKU0ludGVyZmFjZUpJVDo6cmVnVDIpOwogICAgIGppdC5hZGQzMihKU0ludGVyZmFjZUpJ
VDo6VHJ1c3RlZEltbTMyKEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUpLCBKU0ludGVyZmFj
ZUpJVDo6cmVnVDIpOwogCiAgICAgLy8gTW92ZSBjdXJyZW50IGZyYW1lIGRvd24gcmVnVDAgbnVt
YmVyIG9mIHNsb3RzCkBAIC00ODYsOCArNDkxLDkgQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGFy
aXR5Rml4dXAoVk0qIHZtKQogICAgIGppdC5hZGRQdHIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJ
bW0zMig4KSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QzKTsKICAgICBqaXQuYnJhbmNoU3ViMzIoTWFj
cm9Bc3NlbWJsZXI6Ok5vblplcm8sIEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMSksIEpT
SW50ZXJmYWNlSklUOjpyZWdUMikubGlua1RvKGNvcHlMb29wLCAmaml0KTsKIAotICAgIC8vIEZp
bGwgaW4gcmVnVDAgbWlzc2luZyBhcmcgc2xvdHMgd2l0aCB1bmRlZmluZWQKKyAgICAvLyBGaWxs
IGluIHJlZ1QwIC0gMSBtaXNzaW5nIGFyZyBzbG90cyB3aXRoIHVuZGVmaW5lZAogICAgIGppdC5t
b3ZlKEpTSW50ZXJmYWNlSklUOjpyZWdUMCwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKTsKKyAgICBq
aXQuYWRkMzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMigxKSwgSlNJbnRlcmZhY2VKSVQ6
OnJlZ1QyKTsKICAgICBKU0ludGVyZmFjZUpJVDo6TGFiZWwgZmlsbFVuZGVmaW5lZExvb3Aoaml0
LmxhYmVsKCkpOwogICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMCks
IEpTSW50ZXJmYWNlSklUOjpyZWdUMSk7CiAgICAgaml0LnN0b3JlMzIoSlNJbnRlcmZhY2VKSVQ6
OnJlZ1QxLCBNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KEpTSW50ZXJmYWNlSklUOjpyZWdUMywg
SlNJbnRlcmZhY2VKSVQ6OnJlZ1QwLCBKU0ludGVyZmFjZUpJVDo6VGltZXNFaWdodCkpOwpAQCAt
NDk3LDEwICs1MDMsMjUgQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGFyaXR5Rml4dXAoVk0qIHZt
KQogICAgIGppdC5hZGRQdHIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMig4KSwgSlNJbnRl
cmZhY2VKSVQ6OnJlZ1QzKTsKICAgICBqaXQuYnJhbmNoQWRkMzIoTWFjcm9Bc3NlbWJsZXI6Ok5v
blplcm8sIEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMSksIEpTSW50ZXJmYWNlSklUOjpy
ZWdUMikubGlua1RvKGZpbGxVbmRlZmluZWRMb29wLCAmaml0KTsKIAotICAgIC8vIEFkanVzdCBj
YWxsIGZyYW1lIHJlZ2lzdGVyIHRvIGFjY291bnQgZm9yIG1pc3NpbmcgYXJncwotICAgIGppdC5s
c2hpZnQzMihKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKDMpLCBKU0ludGVyZmFjZUpJVDo6
cmVnVDApOwotICAgIGppdC5hZGRQdHIoSlNJbnRlcmZhY2VKSVQ6OnJlZ1QwLCBKU0ludGVyZmFj
ZUpJVDo6Y2FsbEZyYW1lUmVnaXN0ZXIpOworICAgIC8vIEFkanVzdCBjYWxsIGZyYW1lIHJlZ2lz
dGVyIGFuZCBzdGFjayBwb2ludGVyIHRvIGFjY291bnQgZm9yIG1pc3NpbmcgYXJncworICAgIGpp
dC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpyZWdUMCwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKKyAg
ICBqaXQubHNoaWZ0MzIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMigzKSwgSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1QxKTsKKyAgICBqaXQuYWRkUHRyKEpTSW50ZXJmYWNlSklUOjpyZWdUMSwgSlNJ
bnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyKTsKKyAgICBqaXQuYWRkUHRyKEpTSW50ZXJm
YWNlSklUOjpyZWdUMSwgSlNJbnRlcmZhY2VKSVQ6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKIAor
ICAgIC8vIFNhdmUgdGhlIG9yaWdpbmFsIHJldHVybiBQQy4KKyAgICBqaXQubG9hZFB0cihKU0lu
dGVyZmFjZUpJVDo6QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1lUmVnaXN0ZXIsIENh
bGxGcmFtZTo6cmV0dXJuUENPZmZzZXQoKSksIEdQUkluZm86OnJlZ1QxKTsKKyAgICBqaXQuc3Rv
cmVQdHIoR1BSSW5mbzo6cmVnVDEsIE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgoSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1QzLCBKU0ludGVyZmFjZUpJVDo6cmVnVDAsIEpTSW50ZXJmYWNlSklUOjpUaW1l
c0VpZ2h0KSk7CisgICAgCisgICAgLy8gSW5zdGFsbCB0aGUgbmV3IHJldHVybiBQQy4KKyAgICAv
LyBGSVhNRTogSSBkb24ndCB0aGluayBjdXJyZW50UmV0dXJuVGh1bmtQQyBpcyB1c2VkIGFuZCBz
aG91bGQgYmUgZGVsZXRlZC4KKyMgIGlmIDAKKyAgICBqaXQubG9hZFB0cigmdm0tPmN1cnJlbnRS
ZXR1cm5UaHVua1BDLCBHUFJJbmZvOjpyZWdUMik7CisgICAgaml0LnN0b3JlUHRyKEdQUkluZm86
OnJlZ1QyLCBKU0ludGVyZmFjZUpJVDo6QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1l
UmVnaXN0ZXIsIENhbGxGcmFtZTo6cmV0dXJuUENPZmZzZXQoKSkpOworIyAgIGVsc2UKKyAgICBq
aXQuc3RvcmVQdHIoR1BSSW5mbzo6cmVnVDUsIEpTSW50ZXJmYWNlSklUOjpBZGRyZXNzKEpTSW50
ZXJmYWNlSklUOjpjYWxsRnJhbWVSZWdpc3RlciwgQ2FsbEZyYW1lOjpyZXR1cm5QQ09mZnNldCgp
KSk7CisjICAgZW5kaWYKKyAgICAKICMgIGlmIENQVShYODYpCiAgICAgaml0LnB1c2goSlNJbnRl
cmZhY2VKSVQ6OnJlZ1Q0KTsKICMgIGVuZGlmCkBAIC01NTQsNyArNTc1LDcgQEAgTWFjcm9Bc3Nl
bWJsZXJDb2RlUmVmIGNoYXJDb2RlQXRUaHVua0dlbmVyYXRvcihWTSogdm0pCiAgICAgU3BlY2lh
bGl6ZWRUaHVua0pJVCBqaXQodm0sIDEpOwogICAgIHN0cmluZ0NoYXJMb2FkKGppdCwgdm0pOwog
ICAgIGppdC5yZXR1cm5JbnQzMihTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMCk7Ci0gICAgcmV0
dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMtPmN0aU5hdGl2ZUNhbGwodm0pLCAiY2hhckNv
ZGVBdCIpOworICAgIHJldHVybiBqaXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVU
YWlsQ2FsbCh2bSksICJjaGFyQ29kZUF0Iik7CiB9CiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBj
aGFyQXRUaHVua0dlbmVyYXRvcihWTSogdm0pCkBAIC01NjMsNyArNTg0LDcgQEAgTWFjcm9Bc3Nl
bWJsZXJDb2RlUmVmIGNoYXJBdFRodW5rR2VuZXJhdG9yKFZNKiB2bSkKICAgICBzdHJpbmdDaGFy
TG9hZChqaXQsIHZtKTsKICAgICBjaGFyVG9TdHJpbmcoaml0LCB2bSwgU3BlY2lhbGl6ZWRUaHVu
a0pJVDo6cmVnVDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1QwLCBTcGVjaWFsaXplZFRodW5r
SklUOjpyZWdUMSk7CiAgICAgaml0LnJldHVybkpTQ2VsbChTcGVjaWFsaXplZFRodW5rSklUOjpy
ZWdUMCk7Ci0gICAgcmV0dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMtPmN0aU5hdGl2ZUNh
bGwodm0pLCAiY2hhckF0Iik7CisgICAgcmV0dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMt
PmN0aU5hdGl2ZVRhaWxDYWxsKHZtKSwgImNoYXJBdCIpOwogfQogCiBNYWNyb0Fzc2VtYmxlckNv
ZGVSZWYgZnJvbUNoYXJDb2RlVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQpAQCAtNTczLDcgKzU5NCw3
IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBmcm9tQ2hhckNvZGVUaHVua0dlbmVyYXRvcihWTSog
dm0pCiAgICAgaml0LmxvYWRJbnQzMkFyZ3VtZW50KDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJl
Z1QwKTsKICAgICBjaGFyVG9TdHJpbmcoaml0LCB2bSwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVn
VDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1QwLCBTcGVjaWFsaXplZFRodW5rSklUOjpyZWdU
MSk7CiAgICAgaml0LnJldHVybkpTQ2VsbChTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMCk7Ci0g
ICAgcmV0dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMtPmN0aU5hdGl2ZUNhbGwodm0pLCAi
ZnJvbUNoYXJDb2RlIik7CisgICAgcmV0dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMtPmN0
aU5hdGl2ZVRhaWxDYWxsKHZtKSwgImZyb21DaGFyQ29kZSIpOwogfQogCiBNYWNyb0Fzc2VtYmxl
ckNvZGVSZWYgc3FydFRodW5rR2VuZXJhdG9yKFZNKiB2bSkKQEAgLTU4NSw3ICs2MDYsNyBAQCBN
YWNyb0Fzc2VtYmxlckNvZGVSZWYgc3FydFRodW5rR2VuZXJhdG9yKFZNKiB2bSkKICAgICBqaXQu
bG9hZERvdWJsZUFyZ3VtZW50KDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDAsIFNwZWNp
YWxpemVkVGh1bmtKSVQ6OnJlZ1QwKTsKICAgICBqaXQuc3FydERvdWJsZShTcGVjaWFsaXplZFRo
dW5rSklUOjpmcFJlZ1QwLCBTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1QwKTsKICAgICBqaXQu
cmV0dXJuRG91YmxlKFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDApOwotICAgIHJldHVybiBq
aXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVDYWxsKHZtKSwgInNxcnQiKTsKKyAg
ICByZXR1cm4gaml0LmZpbmFsaXplKHZtLT5qaXRTdHVicy0+Y3RpTmF0aXZlVGFpbENhbGwodm0p
LCAic3FydCIpOwogfQogCiAKQEAgLTYxMSw3ICs2MzIsOSBAQCBkb3VibGUganNSb3VuZChkb3Vi
bGUgZCkKICAgICAgICAgIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZnVuY3Rpb24jI1RodW5rKSAi
XG4iIFwKICAgICAgICAgSElERV9TWU1CT0woZnVuY3Rpb24jI1RodW5rKSAiXG4iIFwKICAgICAg
ICAgU1lNQk9MX1NUUklORyhmdW5jdGlvbiMjVGh1bmspICI6IiAiXG4iIFwKKyAgICAgICAgInB1
c2hxICVyYXhcbiIgXAogICAgICAgICAiY2FsbCAiIEdMT0JBTF9SRUZFUkVOQ0UoZnVuY3Rpb24p
ICJcbiIgXAorICAgICAgICAicG9wcSAlcmN4XG4iIFwKICAgICAgICAgInJldFxuIiBcCiAgICAg
KTtcCiAgICAgZXh0ZXJuICJDIiB7IFwKQEAgLTYyNiwxMiArNjQ5LDEyIEBAIGRvdWJsZSBqc1Jv
dW5kKGRvdWJsZSBkKQogICAgICAgICAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhmdW5jdGlvbiMj
VGh1bmspICJcbiIgXAogICAgICAgICBISURFX1NZTUJPTChmdW5jdGlvbiMjVGh1bmspICJcbiIg
XAogICAgICAgICBTWU1CT0xfU1RSSU5HKGZ1bmN0aW9uIyNUaHVuaykgIjoiICJcbiIgXAotICAg
ICAgICAic3VibCAkOCwgJWVzcFxuIiBcCisgICAgICAgICJzdWJsICQyMCwgJWVzcFxuIiBcCiAg
ICAgICAgICJtb3ZzZCAleG1tMCwgKCVlc3ApIFxuIiBcCiAgICAgICAgICJjYWxsICIgR0xPQkFM
X1JFRkVSRU5DRShmdW5jdGlvbikgIlxuIiBcCiAgICAgICAgICJmc3RwbCAoJWVzcCkgXG4iIFwK
ICAgICAgICAgIm1vdnNkICglZXNwKSwgJXhtbTAgXG4iIFwKLSAgICAgICAgImFkZGwgJDgsICVl
c3BcbiIgXAorICAgICAgICAiYWRkbCAkMjAsICVlc3BcbiIgXAogICAgICAgICAicmV0XG4iIFwK
ICAgICApO1wKICAgICBleHRlcm4gIkMiIHsgXApAQCAtNzMzLDcgKzc1Niw3IEBAIE1hY3JvQXNz
ZW1ibGVyQ29kZVJlZiBmbG9vclRodW5rR2VuZXJhdG9yKFZNKiB2bSkKICAgICBkb3VibGVSZXN1
bHQubGluaygmaml0KTsKICAgICBqaXQucmV0dXJuRG91YmxlKFNwZWNpYWxpemVkVGh1bmtKSVQ6
OmZwUmVnVDApOwogI2VuZGlmIC8vIENQVShBUk02NCkKLSAgICByZXR1cm4gaml0LmZpbmFsaXpl
KHZtLT5qaXRTdHVicy0+Y3RpTmF0aXZlQ2FsbCh2bSksICJmbG9vciIpOworICAgIHJldHVybiBq
aXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVUYWlsQ2FsbCh2bSksICJmbG9vciIp
OwogfQogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgY2VpbFRodW5rR2VuZXJhdG9yKFZNKiB2bSkK
QEAgLTc1Niw3ICs3NzksNyBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgY2VpbFRodW5rR2VuZXJh
dG9yKFZNKiB2bSkKICAgICBqaXQucmV0dXJuSW50MzIoU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVn
VDApOwogICAgIGRvdWJsZVJlc3VsdC5saW5rKCZqaXQpOwogICAgIGppdC5yZXR1cm5Eb3VibGUo
U3BlY2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdUMCk7Ci0gICAgcmV0dXJuIGppdC5maW5hbGl6ZSh2
bS0+aml0U3R1YnMtPmN0aU5hdGl2ZUNhbGwodm0pLCAiY2VpbCIpOworICAgIHJldHVybiBqaXQu
ZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVUYWlsQ2FsbCh2bSksICJjZWlsIik7CiB9
CiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiByb3VuZFRodW5rR2VuZXJhdG9yKFZNKiB2bSkKQEAg
LTc5MCw3ICs4MTMsNyBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgcm91bmRUaHVua0dlbmVyYXRv
cihWTSogdm0pCiAgICAgaml0LnJldHVybkludDMyKFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1Qw
KTsKICAgICBkb3VibGVSZXN1bHQubGluaygmaml0KTsKICAgICBqaXQucmV0dXJuRG91YmxlKFNw
ZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDApOwotICAgIHJldHVybiBqaXQuZmluYWxpemUodm0t
PmppdFN0dWJzLT5jdGlOYXRpdmVDYWxsKHZtKSwgInJvdW5kIik7CisgICAgcmV0dXJuIGppdC5m
aW5hbGl6ZSh2bS0+aml0U3R1YnMtPmN0aU5hdGl2ZVRhaWxDYWxsKHZtKSwgInJvdW5kIik7CiB9
CiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBleHBUaHVua0dlbmVyYXRvcihWTSogdm0pCkBAIC04
MDMsNyArODI2LDcgQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGV4cFRodW5rR2VuZXJhdG9yKFZN
KiB2bSkKICAgICBqaXQubG9hZERvdWJsZUFyZ3VtZW50KDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6
OmZwUmVnVDAsIFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1QwKTsKICAgICBqaXQuY2FsbERvdWJs
ZVRvRG91YmxlUHJlc2VydmluZ1JldHVybihVbmFyeURvdWJsZU9wV3JhcHBlcihleHApKTsKICAg
ICBqaXQucmV0dXJuRG91YmxlKFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDApOwotICAgIHJl
dHVybiBqaXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVDYWxsKHZtKSwgImV4cCIp
OworICAgIHJldHVybiBqaXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVUYWlsQ2Fs
bCh2bSksICJleHAiKTsKIH0KIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGxvZ1RodW5rR2VuZXJh
dG9yKFZNKiB2bSkKQEAgLTgxNiw3ICs4MzksNyBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbG9n
VGh1bmtHZW5lcmF0b3IoVk0qIHZtKQogICAgIGppdC5sb2FkRG91YmxlQXJndW1lbnQoMCwgU3Bl
Y2lhbGl6ZWRUaHVua0pJVDo6ZnBSZWdUMCwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDApOwog
ICAgIGppdC5jYWxsRG91YmxlVG9Eb3VibGVQcmVzZXJ2aW5nUmV0dXJuKFVuYXJ5RG91YmxlT3BX
cmFwcGVyKGxvZykpOwogICAgIGppdC5yZXR1cm5Eb3VibGUoU3BlY2lhbGl6ZWRUaHVua0pJVDo6
ZnBSZWdUMCk7Ci0gICAgcmV0dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMtPmN0aU5hdGl2
ZUNhbGwodm0pLCAibG9nIik7CisgICAgcmV0dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMt
PmN0aU5hdGl2ZVRhaWxDYWxsKHZtKSwgImxvZyIpOwogfQogCiBNYWNyb0Fzc2VtYmxlckNvZGVS
ZWYgYWJzVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQpAQCAtODM2LDcgKzg1OSw3IEBAIE1hY3JvQXNz
ZW1ibGVyQ29kZVJlZiBhYnNUaHVua0dlbmVyYXRvcihWTSogdm0pCiAgICAgaml0LmxvYWREb3Vi
bGVBcmd1bWVudCgwLCBTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1QwLCBTcGVjaWFsaXplZFRo
dW5rSklUOjpyZWdUMCk7CiAgICAgaml0LmFic0RvdWJsZShTcGVjaWFsaXplZFRodW5rSklUOjpm
cFJlZ1QwLCBTcGVjaWFsaXplZFRodW5rSklUOjpmcFJlZ1QxKTsKICAgICBqaXQucmV0dXJuRG91
YmxlKFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVnVDEpOwotICAgIHJldHVybiBqaXQuZmluYWxp
emUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVDYWxsKHZtKSwgImFicyIpOworICAgIHJldHVybiBq
aXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVUYWlsQ2FsbCh2bSksICJhYnMiKTsK
IH0KIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHBvd1RodW5rR2VuZXJhdG9yKFZNKiB2bSkKQEAg
LTg4OCw3ICs5MTEsNyBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgcG93VGh1bmtHZW5lcmF0b3Io
Vk0qIHZtKQogICAgIH0gZWxzZQogICAgICAgICBqaXQuYXBwZW5kRmFpbHVyZShub25JbnRFeHBv
bmVudCk7CiAKLSAgICByZXR1cm4gaml0LmZpbmFsaXplKHZtLT5qaXRTdHVicy0+Y3RpTmF0aXZl
Q2FsbCh2bSksICJwb3ciKTsKKyAgICByZXR1cm4gaml0LmZpbmFsaXplKHZtLT5qaXRTdHVicy0+
Y3RpTmF0aXZlVGFpbENhbGwodm0pLCAicG93Iik7CiB9CiAKIE1hY3JvQXNzZW1ibGVyQ29kZVJl
ZiBpbXVsVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQpAQCAtOTIxLDcgKzk0NCw3IEBAIE1hY3JvQXNz
ZW1ibGVyQ29kZVJlZiBpbXVsVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQogICAgIH0gZWxzZQogICAg
ICAgICBqaXQuYXBwZW5kRmFpbHVyZShub25JbnRBcmcxSnVtcCk7CiAKLSAgICByZXR1cm4gaml0
LmZpbmFsaXplKHZtLT5qaXRTdHVicy0+Y3RpTmF0aXZlQ2FsbCh2bSksICJpbXVsIik7CisgICAg
cmV0dXJuIGppdC5maW5hbGl6ZSh2bS0+aml0U3R1YnMtPmN0aU5hdGl2ZVRhaWxDYWxsKHZtKSwg
ImltdWwiKTsKIH0KIAogc3RhdGljIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBhcnJheUl0ZXJhdG9y
TmV4dFRodW5rR2VuZXJhdG9yKFZNKiB2bSwgQXJyYXlJdGVyYXRpb25LaW5kIGtpbmQpCkBAIC05
NjEsNyArOTg0LDcgQEAgc3RhdGljIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBhcnJheUl0ZXJhdG9y
TmV4dFRodW5rR2VuZXJhdG9yKFZNKiB2bSwgQXJyYXlJdGVyYXQKICAgICBpZiAoa2luZCA9PSBB
cnJheUl0ZXJhdGVLZXkpIHsKICAgICAgICAgaml0LmFkZDMyKFRydXN0ZWRJbW0zMigxKSwgQWRk
cmVzcyhTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUNCwgSlNBcnJheUl0ZXJhdG9yOjpvZmZzZXRP
Zk5leHRJbmRleCgpKSk7CiAgICAgICAgIGppdC5yZXR1cm5JbnQzMihTcGVjaWFsaXplZFRodW5r
SklUOjpyZWdUMSk7Ci0gICAgICAgIHJldHVybiBqaXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5j
dGlOYXRpdmVDYWxsKHZtKSwgImFycmF5LWl0ZXJhdG9yLW5leHQta2V5Iik7CisgICAgICAgIHJl
dHVybiBqaXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRpdmVUYWlsQ2FsbCh2bSksICJh
cnJheS1pdGVyYXRvci1uZXh0LWtleSIpOwogICAgICAgICAKICAgICB9CiAgICAgQVNTRVJUKGtp
bmQgPT0gQXJyYXlJdGVyYXRlVmFsdWUpOwpAQCAtMTAxMiw3ICsxMDM1LDcgQEAgc3RhdGljIE1h
Y3JvQXNzZW1ibGVyQ29kZVJlZiBhcnJheUl0ZXJhdG9yTmV4dFRodW5rR2VuZXJhdG9yKFZNKiB2
bSwgQXJyYXlJdGVyYXQKICAgICBqaXQuYWRkMzIoVHJ1c3RlZEltbTMyKDEpLCBBZGRyZXNzKFNw
ZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1Q0LCBKU0FycmF5SXRlcmF0b3I6Om9mZnNldE9mTmV4dElu
ZGV4KCkpKTsKICAgICBqaXQucmV0dXJuRG91YmxlKFNwZWNpYWxpemVkVGh1bmtKSVQ6OmZwUmVn
VDApOwogICAgIAotICAgIHJldHVybiBqaXQuZmluYWxpemUodm0tPmppdFN0dWJzLT5jdGlOYXRp
dmVDYWxsKHZtKSwgImFycmF5LWl0ZXJhdG9yLW5leHQtdmFsdWUiKTsKKyAgICByZXR1cm4gaml0
LmZpbmFsaXplKHZtLT5qaXRTdHVicy0+Y3RpTmF0aXZlVGFpbENhbGwodm0pLCAiYXJyYXktaXRl
cmF0b3ItbmV4dC12YWx1ZSIpOwogfQogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgYXJyYXlJdGVy
YXRvck5leHRLZXlUaHVua0dlbmVyYXRvcihWTSogdm0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9UaHVua0dlbmVyYXRvcnMuaAppbmRleCAwZTI3NjI4OTA4YzJmNzE2ZjIxZjBhZDZlYzA2
NmQzNTgyY2I2ZDU0Li5jMzVhMmY1NDc5OWNjOGE2YTQ0OGRmZWFmMTFiNWVmM2FmZGVjMDg4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmgKQEAgLTI2LDYg
KzI2LDggQEAKICNpZm5kZWYgVGh1bmtHZW5lcmF0b3JzX2gKICNkZWZpbmUgVGh1bmtHZW5lcmF0
b3JzX2gKIAorI2luY2x1ZGUgIkNvZGVTcGVjaWFsaXphdGlvbktpbmQuaCIKKyNpbmNsdWRlICJS
ZWdpc3RlclByZXNlcnZhdGlvbk1vZGUuaCIKICNpbmNsdWRlICJUaHVua0dlbmVyYXRvci5oIgog
CiAjaWYgRU5BQkxFKEpJVCkKQEAgLTM1LDE0ICszNyw4MiBAQCBNYWNyb0Fzc2VtYmxlckNvZGVS
ZWYgdGhyb3dFeGNlcHRpb25Gcm9tQ2FsbFNsb3dQYXRoR2VuZXJhdG9yKFZNKik7CiAKIE1hY3Jv
QXNzZW1ibGVyQ29kZVJlZiBsaW5rQ2FsbFRodW5rR2VuZXJhdG9yKFZNKik7CiBNYWNyb0Fzc2Vt
YmxlckNvZGVSZWYgbGlua0NvbnN0cnVjdFRodW5rR2VuZXJhdG9yKFZNKik7CitNYWNyb0Fzc2Vt
YmxlckNvZGVSZWYgbGlua0NhbGxUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9yKFZNKik7
CitNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbGlua0NvbnN0cnVjdFRoYXRQcmVzZXJ2ZXNSZWdzVGh1
bmtHZW5lcmF0b3IoVk0qKTsKKworaW5saW5lIFRodW5rR2VuZXJhdG9yIGxpbmtUaHVua0dlbmVy
YXRvckZvcigKKyAgICBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQsIFJlZ2lzdGVyUHJlc2Vy
dmF0aW9uTW9kZSByZWdpc3RlcnMpCit7CisgICAgc3dpdGNoIChraW5kKSB7CisgICAgY2FzZSBD
b2RlRm9yQ2FsbDoKKyAgICAgICAgc3dpdGNoIChyZWdpc3RlcnMpIHsKKyAgICAgICAgY2FzZSBS
ZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkOgorICAgICAgICAgICAgcmV0dXJuIGxpbmtD
YWxsVGh1bmtHZW5lcmF0b3I7CisgICAgICAgIGNhc2UgTXVzdFByZXNlcnZlUmVnaXN0ZXJzOgor
ICAgICAgICAgICAgcmV0dXJuIGxpbmtDYWxsVGhhdFByZXNlcnZlc1JlZ3NUaHVua0dlbmVyYXRv
cjsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBjYXNlIENvZGVGb3JDb25zdHJ1Y3Q6
CisgICAgICAgIHN3aXRjaCAocmVnaXN0ZXJzKSB7CisgICAgICAgIGNhc2UgUmVnaXN0ZXJQcmVz
ZXJ2YXRpb25Ob3RSZXF1aXJlZDoKKyAgICAgICAgICAgIHJldHVybiBsaW5rQ29uc3RydWN0VGh1
bmtHZW5lcmF0b3I7CisgICAgICAgIGNhc2UgTXVzdFByZXNlcnZlUmVnaXN0ZXJzOgorICAgICAg
ICAgICAgcmV0dXJuIGxpbmtDb25zdHJ1Y3RUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9y
OworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYg
bGlua0Nsb3N1cmVDYWxsVGh1bmtHZW5lcmF0b3IoVk0qKTsKK01hY3JvQXNzZW1ibGVyQ29kZVJl
ZiBsaW5rQ2xvc3VyZUNhbGxUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9yKFZNKik7CisK
K2lubGluZSBUaHVua0dlbmVyYXRvciBsaW5rQ2xvc3VyZUNhbGxUaHVua0dlbmVyYXRvckZvcihS
ZWdpc3RlclByZXNlcnZhdGlvbk1vZGUgcmVnaXN0ZXJzKQoreworICAgIHN3aXRjaCAocmVnaXN0
ZXJzKSB7CisgICAgY2FzZSBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkOgorICAgICAg
ICByZXR1cm4gbGlua0Nsb3N1cmVDYWxsVGh1bmtHZW5lcmF0b3I7CisgICAgY2FzZSBNdXN0UHJl
c2VydmVSZWdpc3RlcnM6CisgICAgICAgIHJldHVybiBsaW5rQ2xvc3VyZUNhbGxUaGF0UHJlc2Vy
dmVzUmVnc1RodW5rR2VuZXJhdG9yOworICAgIH0KKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIHJldHVybiAwOworfQogCiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdmlydHVh
bENhbGxUaHVua0dlbmVyYXRvcihWTSopOwogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHZpcnR1YWxD
b25zdHJ1Y3RUaHVua0dlbmVyYXRvcihWTSopOworTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHZpcnR1
YWxDYWxsVGhhdFByZXNlcnZlc1JlZ3NUaHVua0dlbmVyYXRvcihWTSopOworTWFjcm9Bc3NlbWJs
ZXJDb2RlUmVmIHZpcnR1YWxDb25zdHJ1Y3RUaGF0UHJlc2VydmVzUmVnc1RodW5rR2VuZXJhdG9y
KFZNKik7CisKK2lubGluZSBUaHVua0dlbmVyYXRvciB2aXJ0dWFsVGh1bmtHZW5lcmF0b3JGb3Io
CisgICAgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kLCBSZWdpc3RlclByZXNlcnZhdGlvbk1v
ZGUgcmVnaXN0ZXJzKQoreworICAgIHN3aXRjaCAoa2luZCkgeworICAgIGNhc2UgQ29kZUZvckNh
bGw6CisgICAgICAgIHN3aXRjaCAocmVnaXN0ZXJzKSB7CisgICAgICAgIGNhc2UgUmVnaXN0ZXJQ
cmVzZXJ2YXRpb25Ob3RSZXF1aXJlZDoKKyAgICAgICAgICAgIHJldHVybiB2aXJ0dWFsQ2FsbFRo
dW5rR2VuZXJhdG9yOworICAgICAgICBjYXNlIE11c3RQcmVzZXJ2ZVJlZ2lzdGVyczoKKyAgICAg
ICAgICAgIHJldHVybiB2aXJ0dWFsQ2FsbFRoYXRQcmVzZXJ2ZXNSZWdzVGh1bmtHZW5lcmF0b3I7
CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDb2RlRm9yQ29uc3RydWN0Ogor
ICAgICAgICBzd2l0Y2ggKHJlZ2lzdGVycykgeworICAgICAgICBjYXNlIFJlZ2lzdGVyUHJlc2Vy
dmF0aW9uTm90UmVxdWlyZWQ6CisgICAgICAgICAgICByZXR1cm4gdmlydHVhbENvbnN0cnVjdFRo
dW5rR2VuZXJhdG9yOworICAgICAgICBjYXNlIE11c3RQcmVzZXJ2ZVJlZ2lzdGVyczoKKyAgICAg
ICAgICAgIHJldHVybiB2aXJ0dWFsQ29uc3RydWN0VGhhdFByZXNlcnZlc1JlZ3NUaHVua0dlbmVy
YXRvcjsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICB9CisgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KIAogTWFjcm9Bc3NlbWJsZXJDb2Rl
UmVmIG5hdGl2ZUNhbGxHZW5lcmF0b3IoVk0qKTsKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBuYXRp
dmVDb25zdHJ1Y3RHZW5lcmF0b3IoVk0qKTsKK01hY3JvQXNzZW1ibGVyQ29kZVJlZiBuYXRpdmVU
YWlsQ2FsbEdlbmVyYXRvcihWTSopOwogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGFyaXR5Rml4dXAo
Vk0qKTsKIAogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGNoYXJDb2RlQXRUaHVua0dlbmVyYXRvcihW
TSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3Au
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuY3BwCmluZGV4IDE4
YzJiOTljMTJjNDhlZWUxMDFmMmUwNDZlZDNkYTJjNjVmODJhMmYuLjI3ZGIxMTVlMzFiNDRkOWFi
ZTYwM2M0OGJkZWI4MzYyYzBlNmZiNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludENMb29wLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRDTG9vcC5jcHAKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIExMSW50IHsKIAogdm9p
ZCBDTG9vcDo6aW5pdGlhbGl6ZSgpCiB7Ci0gICAgZXhlY3V0ZSgwLCBnZXRPcGNvZGUobGxpbnRf
dW51c2VkKSwgdHJ1ZSk7CisgICAgZXhlY3V0ZShsbGludF91bnVzZWQsIDAsIDAsIDAsIHRydWUp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBMTEludApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludENMb29wLmgKaW5kZXggODc1OTU3MWYzNWRlNjYyYTkzNjViMzlkMGNiN2UzNzdhZDA3YTA4
OS4uYjM1NzcxMjhjY2Q2OWNjZmFiYmRjNDc0OTgyNzBlZTA3OWY1ODJhMiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50Q0xvb3AuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTExJbnRDTG9vcC5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVk
ZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgogI2luY2x1ZGUgIk9wY29k
ZS5oIgorI2luY2x1ZGUgIlByb3RvQ2FsbEZyYW1lLmgiCiAKIG5hbWVzcGFjZSBKU0MgewogbmFt
ZXNwYWNlIExMSW50IHsKQEAgLTQwLDcgKzQxLDcgQEAgY29uc3QgT3Bjb2RlSUQgbGxpbnRfdW51
c2VkID0gbGxpbnRfZW5kOwogY2xhc3MgQ0xvb3AgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lk
IGluaXRpYWxpemUoKTsKLSAgICBzdGF0aWMgSlNWYWx1ZSBleGVjdXRlKENhbGxGcmFtZSosIE9w
Y29kZSBlbnRyeU9wY29kZSwgYm9vbCBpc0luaXRpYWxpemF0aW9uUGFzcyA9IGZhbHNlKTsKKyAg
ICBzdGF0aWMgSlNWYWx1ZSBleGVjdXRlKE9wY29kZUlEIGVudHJ5T3Bjb2RlSUQsIHZvaWQqIGV4
ZWN1dGFibGVBZGRyZXNzLCBWTSosIFByb3RvQ2FsbEZyYW1lKiwgYm9vbCBpc0luaXRpYWxpemF0
aW9uUGFzcyA9IGZhbHNlKTsKIH07CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpMTEludApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0YS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmNwcAppbmRleCBhYzc3ODM2YzBiYjk0
MTlkZWRiZGU4YzY1MzhjZmY2M2I3YjA5ZGIwLi5lN2Y5YzZkN2E1YzQ4OWMxNWMwYjY2NTUxMmM5
M2UxNzMxZDk3MzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnREYXRhLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmNw
cApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkluc3RydWN0aW9uLmgiCiAjaW5jbHVkZSAi
SlNTY29wZS5oIgogI2luY2x1ZGUgIkxMSW50Q0xvb3AuaCIKKyNpbmNsdWRlICJNYXhGcmFtZUV4
dGVudEZvclNsb3dQYXRoQ2FsbC5oIgogI2luY2x1ZGUgIk9wY29kZS5oIgogI2luY2x1ZGUgIlBy
b3BlcnR5T2Zmc2V0LmgiCiAKQEAgLTg3LDYgKzg4LDcgQEAgdm9pZCBEYXRhOjpwZXJmb3JtQXNz
ZXJ0aW9ucyhWTSYgdm0pCiAgICAgQVNTRVJUKEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUg
PT0gQ2FsbEZyYW1lSGVhZGVyU2xvdHMpOwogCiAgICAgQVNTRVJUKCFDYWxsRnJhbWU6OmNhbGxl
ckZyYW1lT2Zmc2V0KCkpOworICAgIEFTU0VSVChKU1N0YWNrOjpDYWxsZXJGcmFtZUFuZFBDU2l6
ZSA9PSAoUHRyU2l6ZSAqIDIpIC8gU2xvdFNpemUpOwogICAgIEFTU0VSVChDYWxsRnJhbWU6OnJl
dHVyblBDT2Zmc2V0KCkgPT0gQ2FsbEZyYW1lOjpjYWxsZXJGcmFtZU9mZnNldCgpICsgUHRyU2l6
ZSk7CiAgICAgQVNTRVJUKEpTU3RhY2s6OkNvZGVCbG9jayAqIHNpemVvZihSZWdpc3RlcikgPT0g
Q2FsbEZyYW1lOjpyZXR1cm5QQ09mZnNldCgpICsgUHRyU2l6ZSk7CiAgICAgQVNTRVJUKEpTU3Rh
Y2s6OlNjb3BlQ2hhaW4gKiBzaXplb2YoUmVnaXN0ZXIpID09IEpTU3RhY2s6OkNvZGVCbG9jayAq
IHNpemVvZihSZWdpc3RlcikgKyBTbG90U2l6ZSk7CkBAIC0xMjMsNiArMTI1LDEzIEBAIHZvaWQg
RGF0YTo6cGVyZm9ybUFzc2VydGlvbnMoVk0mIHZtKQogICAgIEFTU0VSVChWYWx1ZVVuZGVmaW5l
ZCA9PSAoVGFnQml0VHlwZU90aGVyIHwgVGFnQml0VW5kZWZpbmVkKSk7CiAgICAgQVNTRVJUKFZh
bHVlTnVsbCA9PSBUYWdCaXRUeXBlT3RoZXIpOwogI2VuZGlmCisjaWYgQ1BVKFg4Nl82NCkgfHwg
Q1BVKEFSTTY0KSB8fCBFTkFCTEUoTExJTlRfQ19MT09QKQorICAgIEFTU0VSVChtYXhGcmFtZUV4
dGVudEZvclNsb3dQYXRoQ2FsbCA9PSAwKTsKKyNlbGlmIENQVShBUk0pIHx8IENQVShTSDQpCisg
ICAgQVNTRVJUKG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID09IDI0KTsKKyNlbGlmIENQ
VShYODYpIHx8IENQVShNSVBTKQorICAgIEFTU0VSVChtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRo
Q2FsbCA9PSA0MCk7CisjZW5kaWYKICAgICBBU1NFUlQoU3RyaW5nVHlwZSA9PSA1KTsKICAgICBB
U1NFUlQoT2JqZWN0VHlwZSA9PSAxNyk7CiAgICAgQVNTRVJUKEZpbmFsT2JqZWN0VHlwZSA9PSAx
OCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRFbnRyeXBv
aW50LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludEVudHJ5cG9pbnQuY3Bw
CmluZGV4IDk5M2VjNjdiOTkzYjA0Zjg0NTQxMmUzN2JkZmE2ZGMxNWQ4ZDU3ZjkuLjVkOTFiZTYz
MDNkYmQ1ZDU2ZThjYzBjZTY1YjcxNWM1MmEyN2MyYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludEVudHJ5cG9pbnQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludEVudHJ5cG9pbnQuY3BwCkBAIC0zMyw2ICszMyw4IEBACiAjaW5j
bHVkZSAiSlNPYmplY3QuaCIKICNpbmNsdWRlICJMTEludFRodW5rcy5oIgogI2luY2x1ZGUgIkxv
d0xldmVsSW50ZXJwcmV0ZXIuaCIKKyNpbmNsdWRlICJNYXhGcmFtZUV4dGVudEZvclNsb3dQYXRo
Q2FsbC5oIgorI2luY2x1ZGUgIlN0YWNrQWxpZ25tZW50LmgiCiAjaW5jbHVkZSAiVk0uaCIKIAog
bmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTEludCB7CkBAIC00NSwxNCArNDcsMTIgQEAgc3Rh
dGljIHZvaWQgc2V0RnVuY3Rpb25FbnRyeXBvaW50KFZNJiB2bSwgQ29kZUJsb2NrKiBjb2RlQmxv
Y2spCiAgICAgaWYgKHZtLmNhblVzZUpJVCgpKSB7CiAgICAgICAgIGlmIChraW5kID09IENvZGVG
b3JDYWxsKSB7CiAgICAgICAgICAgICBjb2RlQmxvY2stPnNldEpJVENvZGUoCi0gICAgICAgICAg
ICAgICAgYWRvcHRSZWYobmV3IERpcmVjdEpJVENvZGUodm0uZ2V0Q1RJU3R1YihmdW5jdGlvbkZv
ckNhbGxFbnRyeVRodW5rR2VuZXJhdG9yKSwgSklUQ29kZTo6SW50ZXJwcmV0ZXJUaHVuaykpLAot
ICAgICAgICAgICAgICAgIHZtLmdldENUSVN0dWIoZnVuY3Rpb25Gb3JDYWxsQXJpdHlDaGVja1Ro
dW5rR2VuZXJhdG9yKS5jb2RlKCkpOworICAgICAgICAgICAgICAgIGFkb3B0UmVmKG5ldyBEaXJl
Y3RKSVRDb2RlKHZtLmdldENUSVN0dWIoZnVuY3Rpb25Gb3JDYWxsRW50cnlUaHVua0dlbmVyYXRv
ciksIHZtLmdldENUSVN0dWIoZnVuY3Rpb25Gb3JDYWxsQXJpdHlDaGVja1RodW5rR2VuZXJhdG9y
KS5jb2RlKCksIEpJVENvZGU6OkludGVycHJldGVyVGh1bmspKSk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KICAgICAgICAgQVNTRVJUKGtpbmQgPT0gQ29kZUZvckNvbnN0cnVjdCk7
CiAgICAgICAgIGNvZGVCbG9jay0+c2V0SklUQ29kZSgKLSAgICAgICAgICAgIGFkb3B0UmVmKG5l
dyBEaXJlY3RKSVRDb2RlKHZtLmdldENUSVN0dWIoZnVuY3Rpb25Gb3JDb25zdHJ1Y3RFbnRyeVRo
dW5rR2VuZXJhdG9yKSwgSklUQ29kZTo6SW50ZXJwcmV0ZXJUaHVuaykpLAotICAgICAgICAgICAg
dm0uZ2V0Q1RJU3R1YihmdW5jdGlvbkZvckNvbnN0cnVjdEFyaXR5Q2hlY2tUaHVua0dlbmVyYXRv
cikuY29kZSgpKTsKKyAgICAgICAgICAgIGFkb3B0UmVmKG5ldyBEaXJlY3RKSVRDb2RlKHZtLmdl
dENUSVN0dWIoZnVuY3Rpb25Gb3JDb25zdHJ1Y3RFbnRyeVRodW5rR2VuZXJhdG9yKSwgdm0uZ2V0
Q1RJU3R1YihmdW5jdGlvbkZvckNvbnN0cnVjdEFyaXR5Q2hlY2tUaHVua0dlbmVyYXRvcikuY29k
ZSgpLCBKSVRDb2RlOjpJbnRlcnByZXRlclRodW5rKSkpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogI2VuZGlmIC8vIEVOQUJMRShKSVQpCkBAIC02MCwxNCArNjAsMTIgQEAgc3RhdGljIHZvaWQg
c2V0RnVuY3Rpb25FbnRyeXBvaW50KFZNJiB2bSwgQ29kZUJsb2NrKiBjb2RlQmxvY2spCiAgICAg
VU5VU0VEX1BBUkFNKHZtKTsKICAgICBpZiAoa2luZCA9PSBDb2RlRm9yQ2FsbCkgewogICAgICAg
ICBjb2RlQmxvY2stPnNldEpJVENvZGUoCi0gICAgICAgICAgICBhZG9wdFJlZihuZXcgRGlyZWN0
SklUQ29kZShNYWNyb0Fzc2VtYmxlckNvZGVSZWY6OmNyZWF0ZUxMSW50Q29kZVJlZihsbGludF9m
dW5jdGlvbl9mb3JfY2FsbF9wcm9sb2d1ZSksIEpJVENvZGU6OkludGVycHJldGVyVGh1bmspKSwK
LSAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjo6Y3JlYXRlTExJbnRDb2RlUHRyKGxs
aW50X2Z1bmN0aW9uX2Zvcl9jYWxsX2FyaXR5X2NoZWNrKSk7CisgICAgICAgICAgICBhZG9wdFJl
ZihuZXcgRGlyZWN0SklUQ29kZShNYWNyb0Fzc2VtYmxlckNvZGVSZWY6OmNyZWF0ZUxMSW50Q29k
ZVJlZihsbGludF9mdW5jdGlvbl9mb3JfY2FsbF9wcm9sb2d1ZSksIE1hY3JvQXNzZW1ibGVyQ29k
ZVB0cjo6Y3JlYXRlTExJbnRDb2RlUHRyKGxsaW50X2Z1bmN0aW9uX2Zvcl9jYWxsX2FyaXR5X2No
ZWNrKSwgSklUQ29kZTo6SW50ZXJwcmV0ZXJUaHVuaykpKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBBU1NFUlQoa2luZCA9PSBDb2RlRm9yQ29uc3RydWN0KTsKICAgICBjb2RlQmxvY2st
PnNldEpJVENvZGUoCi0gICAgICAgIGFkb3B0UmVmKG5ldyBEaXJlY3RKSVRDb2RlKE1hY3JvQXNz
ZW1ibGVyQ29kZVJlZjo6Y3JlYXRlTExJbnRDb2RlUmVmKGxsaW50X2Z1bmN0aW9uX2Zvcl9jb25z
dHJ1Y3RfcHJvbG9ndWUpLCBKSVRDb2RlOjpJbnRlcnByZXRlclRodW5rKSksCi0gICAgICAgIE1h
Y3JvQXNzZW1ibGVyQ29kZVB0cjo6Y3JlYXRlTExJbnRDb2RlUHRyKGxsaW50X2Z1bmN0aW9uX2Zv
cl9jb25zdHJ1Y3RfYXJpdHlfY2hlY2spKTsKKyAgICAgICAgYWRvcHRSZWYobmV3IERpcmVjdEpJ
VENvZGUoTWFjcm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVMTEludENvZGVSZWYobGxpbnRfZnVu
Y3Rpb25fZm9yX2NvbnN0cnVjdF9wcm9sb2d1ZSksIE1hY3JvQXNzZW1ibGVyQ29kZVB0cjo6Y3Jl
YXRlTExJbnRDb2RlUHRyKGxsaW50X2Z1bmN0aW9uX2Zvcl9jb25zdHJ1Y3RfYXJpdHlfY2hlY2sp
LCBKSVRDb2RlOjpJbnRlcnByZXRlclRodW5rKSkpOwogfQogCiBzdGF0aWMgdm9pZCBzZXRFdmFs
RW50cnlwb2ludChWTSYgdm0sIENvZGVCbG9jayogY29kZUJsb2NrKQpAQCAtNzUsMTYgKzczLDE0
IEBAIHN0YXRpYyB2b2lkIHNldEV2YWxFbnRyeXBvaW50KFZNJiB2bSwgQ29kZUJsb2NrKiBjb2Rl
QmxvY2spCiAjaWYgRU5BQkxFKEpJVCkKICAgICBpZiAodm0uY2FuVXNlSklUKCkpIHsKICAgICAg
ICAgY29kZUJsb2NrLT5zZXRKSVRDb2RlKAotICAgICAgICAgICAgYWRvcHRSZWYobmV3IERpcmVj
dEpJVENvZGUodm0uZ2V0Q1RJU3R1YihldmFsRW50cnlUaHVua0dlbmVyYXRvciksIEpJVENvZGU6
OkludGVycHJldGVyVGh1bmspKSwKLSAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0cigp
KTsKKyAgICAgICAgICAgIGFkb3B0UmVmKG5ldyBEaXJlY3RKSVRDb2RlKHZtLmdldENUSVN0dWIo
ZXZhbEVudHJ5VGh1bmtHZW5lcmF0b3IpLCBNYWNyb0Fzc2VtYmxlckNvZGVQdHIoKSwgSklUQ29k
ZTo6SW50ZXJwcmV0ZXJUaHVuaykpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICNlbmRpZiAv
LyBFTkFCTEUoSklUKQogCiAgICAgVU5VU0VEX1BBUkFNKHZtKTsKICAgICBjb2RlQmxvY2stPnNl
dEpJVENvZGUoCi0gICAgICAgIGFkb3B0UmVmKG5ldyBEaXJlY3RKSVRDb2RlKE1hY3JvQXNzZW1i
bGVyQ29kZVJlZjo6Y3JlYXRlTExJbnRDb2RlUmVmKGxsaW50X2V2YWxfcHJvbG9ndWUpLCBKSVRD
b2RlOjpJbnRlcnByZXRlclRodW5rKSksCi0gICAgICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0cigp
KTsKKyAgICAgICAgYWRvcHRSZWYobmV3IERpcmVjdEpJVENvZGUoTWFjcm9Bc3NlbWJsZXJDb2Rl
UmVmOjpjcmVhdGVMTEludENvZGVSZWYobGxpbnRfZXZhbF9wcm9sb2d1ZSksIE1hY3JvQXNzZW1i
bGVyQ29kZVB0cigpLCBKSVRDb2RlOjpJbnRlcnByZXRlclRodW5rKSkpOwogfQogCiBzdGF0aWMg
dm9pZCBzZXRQcm9ncmFtRW50cnlwb2ludChWTSYgdm0sIENvZGVCbG9jayogY29kZUJsb2NrKQpA
QCAtOTIsMTYgKzg4LDE0IEBAIHN0YXRpYyB2b2lkIHNldFByb2dyYW1FbnRyeXBvaW50KFZNJiB2
bSwgQ29kZUJsb2NrKiBjb2RlQmxvY2spCiAjaWYgRU5BQkxFKEpJVCkKICAgICBpZiAodm0uY2Fu
VXNlSklUKCkpIHsKICAgICAgICAgY29kZUJsb2NrLT5zZXRKSVRDb2RlKAotICAgICAgICAgICAg
YWRvcHRSZWYobmV3IERpcmVjdEpJVENvZGUodm0uZ2V0Q1RJU3R1Yihwcm9ncmFtRW50cnlUaHVu
a0dlbmVyYXRvciksIEpJVENvZGU6OkludGVycHJldGVyVGh1bmspKSwKLSAgICAgICAgICAgIE1h
Y3JvQXNzZW1ibGVyQ29kZVB0cigpKTsKKyAgICAgICAgICAgIGFkb3B0UmVmKG5ldyBEaXJlY3RK
SVRDb2RlKHZtLmdldENUSVN0dWIocHJvZ3JhbUVudHJ5VGh1bmtHZW5lcmF0b3IpLCBNYWNyb0Fz
c2VtYmxlckNvZGVQdHIoKSwgSklUQ29kZTo6SW50ZXJwcmV0ZXJUaHVuaykpKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICNlbmRpZiAvLyBFTkFCTEUoSklUKQogCiAgICAgVU5VU0VEX1BBUkFN
KHZtKTsKICAgICBjb2RlQmxvY2stPnNldEpJVENvZGUoCi0gICAgICAgIGFkb3B0UmVmKG5ldyBE
aXJlY3RKSVRDb2RlKE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3JlYXRlTExJbnRDb2RlUmVmKGxs
aW50X3Byb2dyYW1fcHJvbG9ndWUpLCBKSVRDb2RlOjpJbnRlcnByZXRlclRodW5rKSksCi0gICAg
ICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0cigpKTsKKyAgICAgICAgYWRvcHRSZWYobmV3IERpcmVj
dEpJVENvZGUoTWFjcm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVMTEludENvZGVSZWYobGxpbnRf
cHJvZ3JhbV9wcm9sb2d1ZSksIE1hY3JvQXNzZW1ibGVyQ29kZVB0cigpLCBKSVRDb2RlOjpJbnRl
cnByZXRlclRodW5rKSkpOwogfQogCiB2b2lkIHNldEVudHJ5cG9pbnQoVk0mIHZtLCBDb2RlQmxv
Y2sqIGNvZGVCbG9jaykKQEAgLTEyMyw3ICsxMTcsOSBAQCB2b2lkIHNldEVudHJ5cG9pbnQoVk0m
IHZtLCBDb2RlQmxvY2sqIGNvZGVCbG9jaykKIAogdW5zaWduZWQgZnJhbWVSZWdpc3RlckNvdW50
Rm9yKENvZGVCbG9jayogY29kZUJsb2NrKQogewotICAgIHJldHVybiBjb2RlQmxvY2stPm1fbnVt
Q2FsbGVlUmVnaXN0ZXJzOworICAgIEFTU0VSVChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY29kZUJs
b2NrLT5tX251bUNhbGxlZVJlZ2lzdGVycykgPT0gV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9mKHN0
YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihjb2RlQmxvY2st
Pm1fbnVtQ2FsbGVlUmVnaXN0ZXJzKSkpOworCisgICAgcmV0dXJuIHJvdW5kTG9jYWxSZWdpc3Rl
ckNvdW50Rm9yRnJhbWVQb2ludGVyT2Zmc2V0KGNvZGVCbG9jay0+bV9udW1DYWxsZWVSZWdpc3Rl
cnMgKyBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbEluUmVnaXN0ZXJzKTsKIH0KIAogfSB9
IC8vIG5hbWVzcGFjZSBKU0M6OkxMSW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRPZmZzZXRzRXh0cmFjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludE9mZnNldHNFeHRyYWN0b3IuY3BwCmluZGV4IGEwY2JmYTBiYTNlMDc2OWZj
NTQ0MWIyZTNhNzE5ZDA5NzQzZDQzYWYuLjYwNGNjMjYzY2Y5N2UwODZmZWQwNmVjOTAzYjBlYzE5
ODNlNzgxMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9m
ZnNldHNFeHRyYWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dE9mZnNldHNFeHRyYWN0b3IuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJBcnJh
eVByb2ZpbGUuaCIKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKKyNpbmNsdWRlICJDb21tb25TbG93
UGF0aHMuaCIKICNpbmNsdWRlICJEZWJ1Z2dlci5oIgogI2luY2x1ZGUgIkV4ZWN1dGFibGUuaCIK
ICNpbmNsdWRlICJIZWFwLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRPcGNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9wY29k
ZS5oCmluZGV4IDdlZTUzZGY4MjNjZjUzODJkMDU4N2JkN2ExZWZiNDMxYmI0ZDc4YzYuLmZhMWZh
NmFhOGQ5ZmVhNGIxNDNiZDBmOGYwNzViYzRhYmZjMmNmMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9wY29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludE9wY29kZS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNCw3ICszNCwxOCBAQAogCiAj
ZGVmaW5lIEZPUl9FQUNIX0xMSU5UX05PSklUX05BVElWRV9IRUxQRVIobWFjcm8pIFwKICAgICBt
YWNybyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlLCAxKSBcCi0gICAgbWFjcm8ocmV0dXJuRnJvbUph
dmFTY3JpcHQsIDEpCisgICAgbWFjcm8obGxpbnRfcmV0dXJuX3RvX2hvc3QsIDEpIFwKKyAgICBt
YWNybyhsbGludF9jYWxsX3RvX2phdmFzY3JpcHQsIDEpIFwKKyAgICBtYWNybyhsbGludF9jYWxs
X3RvX25hdGl2ZV9mdW5jdGlvbiwgMSkgXAorICAgIG1hY3JvKGhhbmRsZVVuY2F1Z2h0RXhjZXB0
aW9uLCAxKSBcCisgICAgXAorICAgIG1hY3JvKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9q
c18xLCAxKSBcCisgICAgbWFjcm8obGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzIsIDEp
IFwKKyAgICBtYWNybyhsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfMywgMSkgXAorICAg
IG1hY3JvKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc180LCAxKSBcCisgICAgbWFjcm8o
bGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzUsIDEpIFwKKyAgICBtYWNybyhsbGludF9j
bG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfNiwgMSkgXAorICAgIG1hY3JvKGxsaW50X2Nsb29wX2Rp
ZF9yZXR1cm5fZnJvbV9qc183LCAxKSBcCiAKICNlbHNlIC8vICFFTkFCTEUoTExJTlRfQ19MT09Q
KQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0
aHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcApp
bmRleCAyNjI2NDE3MWQ2YzcwMzg0Y2NkMDAzOTYwNjk2ZmIxMDgwZjI3NGJjLi44NjM1MmQ0NWQy
M2Q5NjY4NTQxY2Q3ZTljNmE0NWEwNTBlNjBkZjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDExLCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMz
LDYgKzMzLDcgQEAKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJDb21tb25TbG93
UGF0aHMuaCIKICNpbmNsdWRlICJDb21tb25TbG93UGF0aHNFeGNlcHRpb25zLmgiCisjaW5jbHVk
ZSAiRXJyb3JIYW5kbGluZ1Njb3BlLmgiCiAjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5j
bHVkZSAiSG9zdENhbGxSZXR1cm5WYWx1ZS5oIgogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCkBA
IC01MSw2ICs1Miw3IEBACiAjaW5jbHVkZSAiTG93TGV2ZWxJbnRlcnByZXRlci5oIgogI2luY2x1
ZGUgIk9iamVjdENvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiT3BlcmF0aW9ucy5oIgorI2luY2x1
ZGUgIlByb3RvQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlUmFyZURhdGFJbmxpbmVz
LmgiCiAjaW5jbHVkZSA8d3RmL1N0cmluZ1ByaW50U3RyZWFtLmg+CiAKQEAgLTgyLDcgKzg0LDcg
QEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTEludCB7CiAgICAgICAgIHJldHVybiBlbmNv
ZGVSZXN1bHQoZmlyc3QsIHNlY29uZCk7ICAgICAgICBcCiAgICAgfSB3aGlsZSAoZmFsc2UpCiAK
LSNkZWZpbmUgTExJTlRfRU5EX0lNUEwoKSBMTElOVF9SRVRVUk5fVFdPKHBjLCBleGVjKQorI2Rl
ZmluZSBMTElOVF9FTkRfSU1QTCgpIExMSU5UX1JFVFVSTl9UV08ocGMsIDApCiAKICNkZWZpbmUg
TExJTlRfVEhST1coZXhjZXB0aW9uVG9UaHJvdykgZG8geyAgICAgICAgICAgICAgICAgICAgICAg
IFwKICAgICAgICAgdm0udGhyb3dFeGNlcHRpb24oZXhlYywgZXhjZXB0aW9uVG9UaHJvdyk7ICAg
ICAgICAgICAgICAgIFwKQEAgLTEzNywyMiArMTM5LDI4IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1l
c3BhY2UgTExJbnQgewogI2RlZmluZSBMTElOVF9DQUxMX1RIUk9XKGV4ZWMsIGV4Y2VwdGlvblRv
VGhyb3cpIGRvIHsgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBFeGVjU3RhdGUqIF9fY3Rf
ZXhlYyA9IChleGVjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAg
ICB2bS50aHJvd0V4Y2VwdGlvbihfX2N0X2V4ZWMsIGV4Y2VwdGlvblRvVGhyb3cpOyAgICAgICAg
ICAgICAgICAgXAotICAgICAgICBMTElOVF9DQUxMX0VORF9JTVBMKF9fY3RfZXhlYywgY2FsbFRv
VGhyb3coX19jdF9leGVjKSk7ICAgICAgICAgXAorICAgICAgICBMTElOVF9DQUxMX0VORF9JTVBM
KDAsIGNhbGxUb1Rocm93KF9fY3RfZXhlYykpOyAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hp
bGUgKGZhbHNlKQogCiAjZGVmaW5lIExMSU5UX0NBTExfQ0hFQ0tfRVhDRVBUSU9OKGV4ZWMpIGRv
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIEV4ZWNTdGF0ZSogX19jY2Vf
ZXhlYyA9IChleGVjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAg
IGlmIChVTkxJS0VMWSh2bS5leGNlcHRpb24oKSkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCi0gICAgICAgICAgICBMTElOVF9DQUxMX0VORF9JTVBMKF9fY2NlX2V4ZWMsIGNh
bGxUb1Rocm93KF9fY2NlX2V4ZWMpKTsgICBcCisgICAgICAgICAgICBMTElOVF9DQUxMX0VORF9J
TVBMKDAsIGNhbGxUb1Rocm93KF9fY2NlX2V4ZWMpKTsgICAgICAgICAgICBcCiAgICAgfSB3aGls
ZSAoZmFsc2UpCiAKICNkZWZpbmUgTExJTlRfQ0FMTF9SRVRVUk4oZXhlYywgY2FsbFRhcmdldCkg
ZG8geyAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgRXhlY1N0YXRlKiBfX2NyX2V4
ZWMgPSAoZXhlYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAg
dm9pZCogX19jcl9jYWxsVGFyZ2V0ID0gKGNhbGxUYXJnZXQpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKLSAgICAgICAgTExJTlRfQ0FMTF9DSEVDS19FWENFUFRJT04oX19jcl9leGVjLT5j
YWxsZXJGcmFtZSgpKTsgICAgICAgICAgIFwKKyAgICAgICAgTExJTlRfQ0FMTF9DSEVDS19FWENF
UFRJT04oX19jcl9leGVjKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgTExJ
TlRfQ0FMTF9FTkRfSU1QTChfX2NyX2V4ZWMsIF9fY3JfY2FsbFRhcmdldCk7ICAgICAgICAgICAg
ICAgIFwKICAgICB9IHdoaWxlIChmYWxzZSkKIAorI2RlZmluZSBMTElOVF9SRVRVUk5fQ0FMTEVF
X0ZSQU1FKGV4ZWNDYWxsZWUpIGRvIHsgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBF
eGVjU3RhdGUqIF9fcmNmX2V4ZWMgPSAoZXhlY0NhbGxlZSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCBfX3JjZl9leGVjKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gd2hpbGUgKGZhbHNlKQorICAgIAorCiBl
eHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF90cmFjZV9vcGVyYW5kKEV4ZWNTdGF0
ZSogZXhlYywgSW5zdHJ1Y3Rpb24qIHBjLCBpbnQgZnJvbVdoZXJlLCBpbnQgb3BlcmFuZCkKIHsK
ICAgICBMTElOVF9CRUdJTigpOwpAQCAtMjQyLDYgKzI1MCwxMCBAQCBMTElOVF9TTE9XX1BBVEhf
REVDTCh0cmFjZSkKICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludHB0cl90PihwYyAtIGV4ZWMt
PmNvZGVCbG9jaygpLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigpKSwKICAgICAgICAgICAgIG9wY29k
ZU5hbWVzW2V4ZWMtPnZtKCkuaW50ZXJwcmV0ZXItPmdldE9wY29kZUlEKHBjWzBdLnUub3Bjb2Rl
KV0sCiAgICAgICAgICAgICBleGVjLT5zY29wZSgpLCBwYyk7CisgICAgaWYgKGV4ZWMtPnZtKCku
aW50ZXJwcmV0ZXItPmdldE9wY29kZUlEKHBjWzBdLnUub3Bjb2RlKSA9PSBvcF9lbnRlcikgewor
ICAgICAgICBkYXRhTG9nRigiRnJhbWUgd2lsbCBldmVudHVhbGx5IHJldHVybiB0byAlcFxuIiwg
ZXhlYy0+cmV0dXJuUEMoKS52YWx1ZSgpKTsKKyAgICAgICAgKmJpdHdpc2VfY2FzdDx2b2xhdGls
ZSBjaGFyKj4oZXhlYy0+cmV0dXJuUEMoKS52YWx1ZSgpKTsKKyAgICB9CiAgICAgaWYgKGV4ZWMt
PnZtKCkuaW50ZXJwcmV0ZXItPmdldE9wY29kZUlEKHBjWzBdLnUub3Bjb2RlKSA9PSBvcF9yZXQp
IHsKICAgICAgICAgZGF0YUxvZ0YoIldpbGwgYmUgcmV0dXJuaW5nIHRvICVwXG4iLCBleGVjLT5y
ZXR1cm5QQygpLnZhbHVlKCkpOwogICAgICAgICBkYXRhTG9nRigiVGhlIG5ldyBjZnIgd2lsbCBi
ZSAlcFxuIiwgZXhlYy0+Y2FsbGVyRnJhbWUoKSk7CkBAIC0zMjUsMTUgKzMzNywxNyBAQCBzdGF0
aWMgU2xvd1BhdGhSZXR1cm5UeXBlIGVudHJ5T1NSKEV4ZWNTdGF0ZSogZXhlYywgSW5zdHJ1Y3Rp
b24qLCBDb2RlQmxvY2sqIGNvZAogICAgIAogICAgIGlmICghc2hvdWxkSklUKGV4ZWMpKSB7CiAg
ICAgICAgIGNvZGVCbG9jay0+ZG9udEpJVEFueXRpbWVTb29uKCk7Ci0gICAgICAgIExMSU5UX1JF
VFVSTl9UV08oMCwgZXhlYyk7CisgICAgICAgIExMSU5UX1JFVFVSTl9UV08oMCwgMCk7CiAgICAg
fQogICAgIGlmICghaml0Q29tcGlsZUFuZFNldEhldXJpc3RpY3MoY29kZUJsb2NrLCBleGVjKSkK
LSAgICAgICAgTExJTlRfUkVUVVJOX1RXTygwLCBleGVjKTsKKyAgICAgICAgTExJTlRfUkVUVVJO
X1RXTygwLCAwKTsKICAgICAKICAgICBpZiAoa2luZCA9PSBQcm9sb2d1ZSkKLSAgICAgICAgTExJ
TlRfUkVUVVJOX1RXTyhjb2RlQmxvY2stPmppdENvZGUoKS0+ZXhlY3V0YWJsZUFkZHJlc3MoKSwg
ZXhlYyk7CisgICAgICAgIExMSU5UX1JFVFVSTl9UV08oY29kZUJsb2NrLT5qaXRDb2RlKCktPmV4
ZWN1dGFibGVBZGRyZXNzKCksIDApOwogICAgIEFTU0VSVChraW5kID09IEFyaXR5Q2hlY2spOwot
ICAgIExMSU5UX1JFVFVSTl9UV08oY29kZUJsb2NrLT5qaXRDb2RlV2l0aEFyaXR5Q2hlY2soKS5l
eGVjdXRhYmxlQWRkcmVzcygpLCBleGVjKTsKKyAgICBMTElOVF9SRVRVUk5fVFdPKGNvZGVCbG9j
ay0+aml0Q29kZSgpLT5hZGRyZXNzRm9yQ2FsbCgKKyAgICAgICAgKmNvZGVCbG9jay0+dm0oKSwg
Y29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUoKSwgTXVzdENoZWNrQXJpdHksCisgICAgICAgIFJl
Z2lzdGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQpLmV4ZWN1dGFibGVBZGRyZXNzKCksIDApOwog
fQogI2Vsc2UgLy8gRU5BQkxFKEpJVCkKIHN0YXRpYyBTbG93UGF0aFJldHVyblR5cGUgZW50cnlP
U1IoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiosIENvZGVCbG9jayogY29kZUJsb2NrLCBj
b25zdCBjaGFyKiwgRW50cnlLaW5kKQpAQCAtMzgxLDExICszOTUsMTEgQEAgTExJTlRfU0xPV19Q
QVRIX0RFQ0wobG9vcF9vc3IpCiAgICAgCiAgICAgaWYgKCFzaG91bGRKSVQoZXhlYykpIHsKICAg
ICAgICAgY29kZUJsb2NrLT5kb250SklUQW55dGltZVNvb24oKTsKLSAgICAgICAgTExJTlRfUkVU
VVJOX1RXTygwLCBleGVjKTsKKyAgICAgICAgTExJTlRfUkVUVVJOX1RXTygwLCAwKTsKICAgICB9
CiAgICAgCiAgICAgaWYgKCFqaXRDb21waWxlQW5kU2V0SGV1cmlzdGljcyhjb2RlQmxvY2ssIGV4
ZWMpKQotICAgICAgICBMTElOVF9SRVRVUk5fVFdPKDAsIGV4ZWMpOworICAgICAgICBMTElOVF9S
RVRVUk5fVFdPKDAsIDApOwogICAgIAogICAgIEFTU0VSVChjb2RlQmxvY2stPmppdFR5cGUoKSA9
PSBKSVRDb2RlOjpCYXNlbGluZUpJVCk7CiAgICAgCkBAIC0zOTgsMTAgKzQxMiwxMCBAQCBMTElO
VF9TTE9XX1BBVEhfREVDTChsb29wX29zcikKICAgICB2b2lkKiBqdW1wVGFyZ2V0ID0gY29kZUJs
b2NrLT5qaXRDb2RlKCktPmV4ZWN1dGFibGVBZGRyZXNzQXRPZmZzZXQobWFwcGluZy0+bV9tYWNo
aW5lQ29kZU9mZnNldCk7CiAgICAgQVNTRVJUKGp1bXBUYXJnZXQpOwogICAgIAotICAgIExMSU5U
X1JFVFVSTl9UV08oanVtcFRhcmdldCwgZXhlYyk7CisgICAgTExJTlRfUkVUVVJOX1RXTyhqdW1w
VGFyZ2V0LCBleGVjLT50b3BPZkZyYW1lKCkpOwogI2Vsc2UgLy8gRU5BQkxFKEpJVCkKICAgICBj
b2RlQmxvY2stPmRvbnRKSVRBbnl0aW1lU29vbigpOwotICAgIExMSU5UX1JFVFVSTl9UV08oMCwg
ZXhlYyk7CisgICAgTExJTlRfUkVUVVJOX1RXTygwLCAwKTsKICNlbmRpZiAvLyBFTkFCTEUoSklU
KQogfQogCkBAIC00MzcsMTMgKzQ1MSwzNCBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzdGFja19j
aGVjaykKICAgICBkYXRhTG9nRigiTnVtIHZhcnMgPSAldS5cbiIsIGV4ZWMtPmNvZGVCbG9jaygp
LT5tX251bVZhcnMpOwogICAgIGRhdGFMb2dGKCJDdXJyZW50IGVuZCBpcyBhdCAlcC5cbiIsIGV4
ZWMtPnZtKCkuaW50ZXJwcmV0ZXItPnN0YWNrKCkuZW5kKCkpOwogI2VuZGlmCi0gICAgQVNTRVJU
KCFleGVjLT52bSgpLmludGVycHJldGVyLT5zdGFjaygpLmNvbnRhaW5zQWRkcmVzcygmZXhlYy0+
cmVnaXN0ZXJzKClbdmlydHVhbFJlZ2lzdGVyRm9yTG9jYWwoZXhlYy0+Y29kZUJsb2NrKCktPm1f
bnVtQ2FsbGVlUmVnaXN0ZXJzKS5vZmZzZXQoKV0pKTsKLSAgICBpZiAoVU5MSUtFTFkoIXZtLmlu
dGVycHJldGVyLT5zdGFjaygpLmdyb3coJmV4ZWMtPnJlZ2lzdGVycygpW3ZpcnR1YWxSZWdpc3Rl
ckZvckxvY2FsKGV4ZWMtPmNvZGVCbG9jaygpLT5tX251bUNhbGxlZVJlZ2lzdGVycykub2Zmc2V0
KCldKSkpIHsKLSAgICAgICAgZXhlYyA9IGV4ZWMtPmNhbGxlckZyYW1lKCk7Ci0gICAgICAgIENv
bW1vblNsb3dQYXRoczo6aW50ZXJwcmV0ZXJUaHJvd0luQ2FsbGVyKGV4ZWMsIGNyZWF0ZVN0YWNr
T3ZlcmZsb3dFcnJvcihleGVjKSk7Ci0gICAgICAgIHBjID0gcmV0dXJuVG9UaHJvd0ZvclRocm93
bkV4Y2VwdGlvbihleGVjKTsKLSAgICB9Ci0gICAgTExJTlRfRU5EX0lNUEwoKTsKKworICAgIC8v
IFRoaXMgc3RhY2sgY2hlY2sgaXMgZG9uZSBpbiB0aGUgcHJvbG9ndWUgZm9yIGEgZnVuY3Rpb24g
Y2FsbCwgYW5kIHRoZQorICAgIC8vIENhbGxGcmFtZSBpcyBub3QgY29tcGxldGVseSBzZXQgdXAg
eWV0LiBGb3IgZXhhbXBsZSwgaWYgdGhlIGZyYW1lIG5lZWRzCisgICAgLy8gYW4gYWN0aXZhdGlv
biBvYmplY3QsIHRoZSBhY3RpdmF0aW9uIG9iamVjdCB3aWxsIG9ubHkgYmUgc2V0IHVwIGFmdGVy
CisgICAgLy8gd2Ugc3RhcnQgZXhlY3V0aW5nIHRoZSBmdW5jdGlvbi4gSWYgd2UgbmVlZCB0byB0
aHJvdyBhIFN0YWNrT3ZlcmZsb3dFcnJvcgorICAgIC8vIGhlcmUsIHRoZW4gd2UgbmVlZCB0byB0
ZWxsIHRoZSBwcm9sb2d1ZSB0byBzdGFydCB0aGUgc3RhY2sgdW53aW5kaW5nIGZyb20KKyAgICAv
LyB0aGUgY2FsbGVyIGZyYW1lICh3aGljaCBpcyBmdWxseSBzZXQgdXApIGluc3RlYWQuIFRvIGRv
IHRoYXQsIHdlIHJldHVybgorICAgIC8vIHRoZSBjYWxsZXIncyBDYWxsRnJhbWUgaW4gdGhlIHNl
Y29uZCByZXR1cm4gdmFsdWUuCisgICAgLy8KKyAgICAvLyBJZiB0aGUgc3RhY2sgY2hlY2sgc3Vj
Y2VlZHMgYW5kIHdlIGRvbid0IG5lZWQgdG8gdGhyb3cgdGhlIGVycm9yLCB0aGVuCisgICAgLy8g
d2UnbGwgcmV0dXJuIDAgaW5zdGVhZC4gVGhlIHByb2xvZ3VlIHdpbGwgY2hlY2sgZm9yIGEgbm9u
LXplcm8gdmFsdWUKKyAgICAvLyB3aGVuIGRldGVybWluaW5nIHdoZXRoZXIgdG8gc2V0IHRoZSBj
YWxsRnJhbWUgb3Igbm90LgorCisgICAgLy8gRm9yIEpJVCBlbmFibGVkIGJ1aWxkcyB3aGljaCB1
c2VzIHRoZSBDIHN0YWNrLCB0aGUgc3RhY2sgaXMgbm90IGdyb3dhYmxlLgorICAgIC8vIEhlbmNl
LCBpZiB3ZSBnZXQgaGVyZSwgdGhlbiB3ZSBrbm93IGEgc3RhY2sgb3ZlcmZsb3cgaXMgaW1taW5l
bnQuIFNvLCBqdXN0CisgICAgLy8gdGhyb3cgdGhlIFN0YWNrT3ZlcmZsb3dFcnJvciB1bmNvbmRp
dGlvbmFsbHkuCisjaWYgRU5BQkxFKExMSU5UX0NfTE9PUCkKKyAgICBBU1NFUlQoIXZtLmludGVy
cHJldGVyLT5zdGFjaygpLmNvbnRhaW5zQWRkcmVzcyhleGVjLT50b3BPZkZyYW1lKCkpKTsKKyAg
ICBpZiAoTElLRUxZKHZtLmludGVycHJldGVyLT5zdGFjaygpLmVuc3VyZUNhcGFjaXR5Rm9yKGV4
ZWMtPnRvcE9mRnJhbWUoKSkpKQorICAgICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCAwKTsKKyNl
bmRpZgorCisgICAgZXhlYyA9IGV4ZWMtPmNhbGxlckZyYW1lKCk7CisgICAgdm0udG9wQ2FsbEZy
YW1lID0gZXhlYzsKKyAgICBFcnJvckhhbmRsaW5nU2NvcGUgZXJyb3JTY29wZSh2bSk7CisgICAg
Q29tbW9uU2xvd1BhdGhzOjppbnRlcnByZXRlclRocm93SW5DYWxsZXIoZXhlYywgY3JlYXRlU3Rh
Y2tPdmVyZmxvd0Vycm9yKGV4ZWMpKTsKKyAgICBwYyA9IHJldHVyblRvVGhyb3dGb3JUaHJvd25F
eGNlcHRpb24oZXhlYyk7CisgICAgTExJTlRfUkVUVVJOX1RXTyhwYywgZXhlYyk7CiB9CiAKIExM
SU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9jcmVhdGVfYWN0aXZhdGlvbikKQEAgLTEwNDUs
NyArMTA4MCw3IEBAIGlubGluZSBTbG93UGF0aFJldHVyblR5cGUgc2V0VXBDYWxsKEV4ZWNTdGF0
ZSogZXhlY0NhbGxlZSwgSW5zdHJ1Y3Rpb24qIHBjLCBDb2RlCiAgICAgTWFjcm9Bc3NlbWJsZXJD
b2RlUHRyIGNvZGVQdHI7CiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSAwOwogICAgIGlmIChl
eGVjdXRhYmxlLT5pc0hvc3RGdW5jdGlvbigpKQotICAgICAgICBjb2RlUHRyID0gZXhlY3V0YWJs
ZS0+aG9zdENvZGVFbnRyeUZvcihraW5kKTsKKyAgICAgICAgY29kZVB0ciA9IGV4ZWN1dGFibGUt
PmVudHJ5cG9pbnRGb3Iodm0sIGtpbmQsIE11c3RDaGVja0FyaXR5LCBSZWdpc3RlclByZXNlcnZh
dGlvbk5vdFJlcXVpcmVkKTsKICAgICBlbHNlIHsKICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxl
KiBmdW5jdGlvbkV4ZWN1dGFibGUgPSBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihl
eGVjdXRhYmxlKTsKICAgICAgICAgSlNPYmplY3QqIGVycm9yID0gZnVuY3Rpb25FeGVjdXRhYmxl
LT5wcmVwYXJlRm9yRXhlY3V0aW9uKGV4ZWNDYWxsZWUsIGNhbGxlZS0+c2NvcGUoKSwga2luZCk7
CkBAIC0xMDUzLDEyICsxMDg4LDE2IEBAIGlubGluZSBTbG93UGF0aFJldHVyblR5cGUgc2V0VXBD
YWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSW5zdHJ1Y3Rpb24qIHBjLCBDb2RlCiAgICAgICAg
ICAgICBMTElOVF9DQUxMX1RIUk9XKGV4ZWNDYWxsZWUtPmNhbGxlckZyYW1lKCksIGVycm9yKTsK
ICAgICAgICAgY29kZUJsb2NrID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5jb2RlQmxvY2tGb3Ioa2lu
ZCk7CiAgICAgICAgIEFTU0VSVChjb2RlQmxvY2spOworICAgICAgICBBcml0eUNoZWNrTW9kZSBh
cml0eTsKICAgICAgICAgaWYgKGV4ZWNDYWxsZWUtPmFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlz
KCkgPCBzdGF0aWNfY2FzdDxzaXplX3Q+KGNvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpKSkKLSAg
ICAgICAgICAgIGNvZGVQdHIgPSBmdW5jdGlvbkV4ZWN1dGFibGUtPmpzQ29kZVdpdGhBcml0eUNo
ZWNrRW50cnlGb3Ioa2luZCk7CisgICAgICAgICAgICBhcml0eSA9IE11c3RDaGVja0FyaXR5Owog
ICAgICAgICBlbHNlCi0gICAgICAgICAgICBjb2RlUHRyID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5q
c0NvZGVFbnRyeUZvcihraW5kKTsKKyAgICAgICAgICAgIGFyaXR5ID0gQXJpdHlDaGVja05vdFJl
cXVpcmVkOworICAgICAgICBjb2RlUHRyID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5lbnRyeXBvaW50
Rm9yKHZtLCBraW5kLCBhcml0eSwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Ob3RSZXF1aXJlZCk7CiAg
ICAgfQogICAgIAorICAgIEFTU0VSVCghIWNvZGVQdHIpOworICAgIAogICAgIGlmICghTExJTlRf
QUxXQVlTX0FDQ0VTU19TTE9XICYmIGNhbGxMaW5rSW5mbykgewogICAgICAgICBFeGVjU3RhdGUq
IGV4ZWNDYWxsZXIgPSBleGVjQ2FsbGVlLT5jYWxsZXJGcmFtZSgpOwogICAgICAgICAKQEAgLTEx
MTAsMTkgKzExNDksMTkgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX2NvbnN0cnVj
dCkKICAgICByZXR1cm4gZ2VuZXJpY0NhbGwoZXhlYywgcGMsIENvZGVGb3JDb25zdHJ1Y3QpOwog
fQogCi1MTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfc2l6ZV9hbmRfYWxsb2NfZnJhbWVf
Zm9yX3ZhcmFyZ3MpCitMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfc2l6ZV9mcmFtZV9m
b3JfdmFyYXJncykKIHsKICAgICBMTElOVF9CRUdJTigpOwogICAgIC8vIFRoaXMgbmVlZHMgdG86
CiAgICAgLy8gLSBTZXQgdXAgYSBjYWxsIGZyYW1lIHdoaWxlIHJlc3BlY3RpbmcgdGhlIHZhcmlh
YmxlIGFyZ3VtZW50cy4KICAgICAKLSAgICBFeGVjU3RhdGUqIGV4ZWNDYWxsZWUgPSBzaXplQW5k
QWxsb2NGcmFtZUZvclZhcmFyZ3MoZXhlYywgJnZtLmludGVycHJldGVyLT5zdGFjaygpLAorICAg
IEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSA9IHNpemVGcmFtZUZvclZhcmFyZ3MoZXhlYywgJnZtLmlu
dGVycHJldGVyLT5zdGFjaygpLAogICAgICAgICBMTElOVF9PUF9DKDQpLmpzVmFsdWUoKSwgcGNb
NV0udS5vcGVyYW5kKTsKICAgICBMTElOVF9DQUxMX0NIRUNLX0VYQ0VQVElPTihleGVjKTsKICAg
ICAKICAgICB2bS5uZXdDYWxsRnJhbWVSZXR1cm5WYWx1ZSA9IGV4ZWNDYWxsZWU7CiAKLSAgICBM
TElOVF9FTkQoKTsKKyAgICBMTElOVF9SRVRVUk5fQ0FMTEVFX0ZSQU1FKGV4ZWNDYWxsZWUpOwog
fQogCiBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfY2FsbF92YXJhcmdzKQpAQCAtMTMx
MiwxMyArMTM1MSw2IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9wcm9maWxlX2Rp
ZF9jYWxsKQogICAgIExMSU5UX0VORCgpOwogfQogCi1MTElOVF9TTE9XX1BBVEhfREVDTCh0aHJv
d19mcm9tX25hdGl2ZV9jYWxsKQotewotICAgIExMSU5UX0JFR0lOKCk7Ci0gICAgQVNTRVJUKHZt
LmV4Y2VwdGlvbigpKTsKLSAgICBMTElOVF9FTkQoKTsKLX0KLQogTExJTlRfU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX2hhbmRsZV9leGNlcHRpb24pCiB7CiAgICAgTExJTlRfQkVHSU5fTk9fU0VU
X1BDKCk7CkBAIC0xMzg4LDYgKzE0MjAsMjMgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX3B1dF90b19zY29wZSkKICAgICBMTElOVF9FTkQoKTsKIH0KIAorU2xvd1BhdGhSZXR1cm5U
eXBlIGxsaW50X3Rocm93X3N0YWNrX292ZXJmbG93X2Vycm9yKFZNKiB2bSwgUHJvdG9DYWxsRnJh
bWUqIHByb3RvRnJhbWUpCit7CisgICAgRXhlY1N0YXRlKiBleGVjID0gdm0tPnRvcENhbGxGcmFt
ZTsKKyAgICBpZiAoIWV4ZWMpCisgICAgICAgIGV4ZWMgPSBwcm90b0ZyYW1lLT5zY29wZSgpLT5n
bG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpOworICAgIHRocm93U3RhY2tPdmVyZmxvd0Vycm9y
KGV4ZWMpOworICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7Cit9CisKKyNpZiBFTkFCTEUo
TExJTlRfQ19MT09QKQorU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3N0YWNrX2NoZWNrX2F0X3Zt
X2VudHJ5KFZNKiB2bSwgUmVnaXN0ZXIqIG5ld1RvcE9mU3RhY2spCit7CisgICAgYm9vbCBzdWNj
ZXNzID0gdm0tPmludGVycHJldGVyLT5zdGFjaygpLmVuc3VyZUNhcGFjaXR5Rm9yKG5ld1RvcE9m
U3RhY2spOworICAgIHJldHVybiBlbmNvZGVSZXN1bHQocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4o
c3VjY2VzcyksIDApOworfQorI2VuZGlmCisKIGV4dGVybiAiQyIgdm9pZCBsbGludF93cml0ZV9i
YXJyaWVyX3Nsb3coRXhlY1N0YXRlKiwgSlNDZWxsKiBjZWxsKQogewogICAgIEhlYXA6OndyaXRl
QmFycmllcihjZWxsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1Bh
dGhzLmgKaW5kZXggOGQ2MGFmYTI0YWRmYTMwMmIxNTI4YTBlNDNlYzIzMjc3MGU4ZmU3ZS4uOThh
ODcwMmI4MmIzMzQ2YjhmZTNjN2I1ZTYyNGVjNTQyNmQyMDgwZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM2LDYgKzM2LDcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAKIGNsYXNzIEV4ZWNTdGF0ZTsKIHN0cnVjdCBJbnN0cnVjdGlvbjsKK3N0cnVjdCBQ
cm90b0NhbGxGcmFtZTsKIAogbmFtZXNwYWNlIExMSW50IHsKIApAQCAtMTAxLDcgKzEwMiw3IEBA
IExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpOwogTExJTlRf
U0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApOwogTExJTlRfU0xP
V19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURE
RU5fREVDTChzbG93X3BhdGhfY29uc3RydWN0KTsKLUxMSU5UX1NMT1dfUEFUSF9ISURERU5fREVD
TChzbG93X3BhdGhfc2l6ZV9hbmRfYWxsb2NfZnJhbWVfZm9yX3ZhcmFyZ3MpOworTExJTlRfU0xP
V19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zaXplX2ZyYW1lX2Zvcl92YXJhcmdzKTsKIExM
SU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfY2FsbF92YXJhcmdzKTsKIExMSU5U
X1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfY2FsbF9ldmFsKTsKIExMSU5UX1NMT1df
UEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfdGVhcl9vZmZfYWN0aXZhdGlvbik7CkBAIC0xMTks
MTEgKzEyMCwxNCBAQCBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2hhbmRs
ZV93YXRjaGRvZ190aW1lcik7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRo
X2RlYnVnKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfcHJvZmlsZV93
aWxsX2NhbGwpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9wcm9maWxl
X2RpZF9jYWxsKTsKLUxMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTCh0aHJvd19mcm9tX25hdGl2
ZV9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfaGFuZGxlX2V4
Y2VwdGlvbik7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3Jlc29sdmVf
c2NvcGUpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9nZXRfZnJvbV9z
Y29wZSk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3B1dF90b19zY29w
ZSk7CitleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF90aHJvd19zdGFja19vdmVy
Zmxvd19lcnJvcihWTSosIFByb3RvQ2FsbEZyYW1lKik7CisjaWYgRU5BQkxFKExMSU5UX0NfTE9P
UCkKK2V4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3N0YWNrX2NoZWNrX2F0X3Zt
X2VudHJ5KFZNKiwgUmVnaXN0ZXIqKTsKKyNlbmRpZgogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6
TExJbnQKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50VGh1
bmtzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFRodW5rcy5jcHAKaW5k
ZXggOTQyOWU2Y2I1MmRiZTA5YzE3M2E1MWY2MjY5ZTEyOWY5YWQwODY3Ni4uM2VjMTRkMjQxMGQz
ZThkYzY0ODA4NTc5OTMzMmU1OTNlNWMzZjJkYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50VGh1bmtzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRUaHVua3MuY3BwCkBAIC05NCw1OCArOTQsMTYgQEAgTWFjcm9Bc3NlbWJsZXJD
b2RlUmVmIHByb2dyYW1FbnRyeVRodW5rR2VuZXJhdG9yKFZNKiB2bSkKIAogLy8gTm9uLUpJVCAo
aS5lLiBDIExvb3AgTExJTlQpIGNhc2U6CiAKLXR5cGVkZWYgSlNWYWx1ZSAoKkV4ZWN1dGVDb2Rl
KSAoQ2FsbEZyYW1lKiwgdm9pZCogZXhlY3V0YWJsZUFkZHJlc3MpOwotCi10ZW1wbGF0ZTxFeGVj
dXRlQ29kZSBleGVjdXRlPgotRW5jb2RlZEpTVmFsdWUgZG9DYWxsVG9KYXZhU2NyaXB0KHZvaWQq
IGV4ZWN1dGFibGVBZGRyZXNzLCBQcm90b0NhbGxGcmFtZSogcHJvdG9DYWxsRnJhbWUpCitFbmNv
ZGVkSlNWYWx1ZSBjYWxsVG9KYXZhU2NyaXB0KHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzLCBWTSog
dm0sIFByb3RvQ2FsbEZyYW1lKiBwcm90b0NhbGxGcmFtZSkKIHsKLSAgICBDb2RlQmxvY2sqIGNv
ZGVCbG9jayA9IHByb3RvQ2FsbEZyYW1lLT5jb2RlQmxvY2soKTsKLSAgICBKU1Njb3BlKiBzY29w
ZSA9IHByb3RvQ2FsbEZyYW1lLT5zY29wZSgpOwotICAgIEpTT2JqZWN0KiBjYWxsZWUgPSBwcm90
b0NhbGxGcmFtZS0+Y2FsbGVlKCk7Ci0gICAgaW50IGFyZ0NvdW50SW5jbHVkaW5nVGhpcyA9IHBy
b3RvQ2FsbEZyYW1lLT5hcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcygpOwotICAgIGludCBhcmdD
b3VudCA9IHByb3RvQ2FsbEZyYW1lLT5hcmd1bWVudENvdW50KCk7Ci0gICAgSlNWYWx1ZSB0aGlz
VmFsdWUgPSBwcm90b0NhbGxGcmFtZS0+dGhpc1ZhbHVlKCk7Ci0gICAgSlNTdGFjayYgc3RhY2sg
PSBzY29wZS0+dm0oKS0+aW50ZXJwcmV0ZXItPnN0YWNrKCk7Ci0KLSAgICBDYWxsRnJhbWUqIG5l
d0NhbGxGcmFtZSA9IHN0YWNrLnB1c2hGcmFtZShjb2RlQmxvY2ssIHNjb3BlLCBhcmdDb3VudElu
Y2x1ZGluZ1RoaXMsIGNhbGxlZSk7Ci0gICAgaWYgKFVOTElLRUxZKCFuZXdDYWxsRnJhbWUpKSB7
Ci0gICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBzY29wZS0+Z2xvYmFsT2Jq
ZWN0KCk7Ci0gICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhl
YygpOwotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRocm93U3RhY2tPdmVyZmxvd0Vy
cm9yKGV4ZWMpKTsKLSAgICB9Ci0KLSAgICAvLyBTZXQgdGhlIGFyZ3VtZW50cyBmb3IgdGhlIGNh
bGxlZToKLSAgICBuZXdDYWxsRnJhbWUtPnNldFRoaXNWYWx1ZSh0aGlzVmFsdWUpOwotICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgYXJnQ291bnQ7ICsraSkKLSAgICAgICAgbmV3Q2FsbEZyYW1lLT5z
ZXRBcmd1bWVudChpLCBwcm90b0NhbGxGcmFtZS0+YXJndW1lbnQoaSkpOwotCi0gICAgSlNWYWx1
ZSByZXN1bHQgPSBleGVjdXRlKG5ld0NhbGxGcmFtZSwgZXhlY3V0YWJsZUFkZHJlc3MpOwotCi0g
ICAgc3RhY2sucG9wRnJhbWUobmV3Q2FsbEZyYW1lKTsKLQorICAgIEpTVmFsdWUgcmVzdWx0ID0g
Q0xvb3A6OmV4ZWN1dGUobGxpbnRfY2FsbF90b19qYXZhc2NyaXB0LCBleGVjdXRhYmxlQWRkcmVz
cywgdm0sIHByb3RvQ2FsbEZyYW1lKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3Vs
dCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBleGVjdXRlSlMoQ2FsbEZyYW1lKiBuZXdD
YWxsRnJhbWUsIHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNzKQotewotICAgIE9wY29kZSBlbnRyeU9w
Y29kZSA9ICpyZWludGVycHJldF9jYXN0PE9wY29kZSo+KCZleGVjdXRhYmxlQWRkcmVzcyk7Ci0g
ICAgcmV0dXJuIENMb29wOjpleGVjdXRlKG5ld0NhbGxGcmFtZSwgZW50cnlPcGNvZGUpOwotfQot
Ci1FbmNvZGVkSlNWYWx1ZSBjYWxsVG9KYXZhU2NyaXB0KHZvaWQqIGV4ZWN1dGFibGVBZGRyZXNz
LCBFeGVjU3RhdGUqKiwgUHJvdG9DYWxsRnJhbWUqIHByb3RvQ2FsbEZyYW1lLCBSZWdpc3Rlciop
Ci17Ci0gICAgcmV0dXJuIGRvQ2FsbFRvSmF2YVNjcmlwdDxleGVjdXRlSlM+KGV4ZWN1dGFibGVB
ZGRyZXNzLCBwcm90b0NhbGxGcmFtZSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBleGVj
dXRlTmF0aXZlKENhbGxGcmFtZSogbmV3Q2FsbEZyYW1lLCB2b2lkKiBleGVjdXRhYmxlQWRkcmVz
cykKLXsKLSAgICBOYXRpdmVGdW5jdGlvbiBmdW5jdGlvbiA9IHJlaW50ZXJwcmV0X2Nhc3Q8TmF0
aXZlRnVuY3Rpb24+KGV4ZWN1dGFibGVBZGRyZXNzKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZGVj
b2RlKGZ1bmN0aW9uKG5ld0NhbGxGcmFtZSkpOwotfQotCi1FbmNvZGVkSlNWYWx1ZSBjYWxsVG9O
YXRpdmVGdW5jdGlvbih2b2lkKiBleGVjdXRhYmxlQWRkcmVzcywgRXhlY1N0YXRlKiosIFByb3Rv
Q2FsbEZyYW1lKiBwcm90b0NhbGxGcmFtZSwgUmVnaXN0ZXIqKQorRW5jb2RlZEpTVmFsdWUgY2Fs
bFRvTmF0aXZlRnVuY3Rpb24odm9pZCogZXhlY3V0YWJsZUFkZHJlc3MsIFZNKiB2bSwgUHJvdG9D
YWxsRnJhbWUqIHByb3RvQ2FsbEZyYW1lKQogewotICAgIHJldHVybiBkb0NhbGxUb0phdmFTY3Jp
cHQ8ZXhlY3V0ZU5hdGl2ZT4oZXhlY3V0YWJsZUFkZHJlc3MsIHByb3RvQ2FsbEZyYW1lKTsKKyAg
ICBKU1ZhbHVlIHJlc3VsdCA9IENMb29wOjpleGVjdXRlKGxsaW50X2NhbGxfdG9fbmF0aXZlX2Z1
bmN0aW9uLCBleGVjdXRhYmxlQWRkcmVzcywgdm0sIHByb3RvQ2FsbEZyYW1lKTsKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoSklUKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50VGh1bmtzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRUaHVua3MuaAppbmRleCA4YTg5NGFhNDFj
Mjg5MWY4Y2JiMzcyMDliZGFhMjk3ZDZhNjg5ZGM3Li4zNjE4Njk1MmNhZDg4ZGQyYzhkZTA0OGIx
ZjdjOGFiYTFhNGNiZmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRUaHVua3MuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRUaHVu
a3MuaApAQCAtMzQsMTYgKzM0LDE0IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1jbGFzcyBFeGVj
U3RhdGU7Ci1jbGFzcyBSZWdpc3RlcjsKIGNsYXNzIFZNOwogc3RydWN0IFByb3RvQ2FsbEZyYW1l
OwogCiBleHRlcm4gIkMiIHsKLSAgICBFbmNvZGVkSlNWYWx1ZSBjYWxsVG9KYXZhU2NyaXB0KHZv
aWQqLCBFeGVjU3RhdGUqKiwgUHJvdG9DYWxsRnJhbWUqLCBSZWdpc3RlciopOwotICAgIEVuY29k
ZWRKU1ZhbHVlIGNhbGxUb05hdGl2ZUZ1bmN0aW9uKHZvaWQqLCBFeGVjU3RhdGUqKiwgUHJvdG9D
YWxsRnJhbWUqLCBSZWdpc3RlciopOworICAgIEVuY29kZWRKU1ZhbHVlIGNhbGxUb0phdmFTY3Jp
cHQodm9pZCosIFZNKiwgUHJvdG9DYWxsRnJhbWUqKTsKKyAgICBFbmNvZGVkSlNWYWx1ZSBjYWxs
VG9OYXRpdmVGdW5jdGlvbih2b2lkKiwgVk0qLCBQcm90b0NhbGxGcmFtZSopOwogI2lmIEVOQUJM
RShKSVQpCi0gICAgdm9pZCByZXR1cm5Gcm9tSmF2YVNjcmlwdCgpOworICAgIHZvaWQgaGFuZGxl
VW5jYXVnaHRFeGNlcHRpb24oKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggYmU4NGRlZTM2NmNi
ZWRjMmIzZjE5NzdkMzkyMTQyYjBkOGE1N2UzYS4uMTllN2YzMzY1YThjNDA3ZWQxMDQwYTg3NTUz
MTBlYjY4Yjk1MWMyZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtMzgsOSArMzgsMTIgQEAgY29uc3QgQ2FsbEZyYW1l
SGVhZGVyU2xvdHMgPSA2CiBlbHNlCiBjb25zdCBQdHJTaXplID0gNAogY29uc3QgQ2FsbEZyYW1l
SGVhZGVyU2xvdHMgPSA1Citjb25zdCBDYWxsRnJhbWVBbGlnblNsb3RzID0gMQogZW5kCiBjb25z
dCBTbG90U2l6ZSA9IDgKIAorY29uc3QgQ2FsbGVyRnJhbWVBbmRQQ1NpemUgPSAyICogUHRyU2l6
ZQorCiBjb25zdCBDYWxsZXJGcmFtZSA9IDAKIGNvbnN0IFJldHVyblBDID0gQ2FsbGVyRnJhbWUg
KyBQdHJTaXplCiBjb25zdCBDb2RlQmxvY2sgPSBSZXR1cm5QQyArIFB0clNpemUKQEAgLTcxLDYg
Kzc0LDE2IEBAIGNvbnN0IERlbGV0ZWRWYWx1ZVRhZyA9IC03CiBjb25zdCBMb3dlc3RUYWcgPSBE
ZWxldGVkVmFsdWVUYWcKIGVuZAogCitpZiBYODZfNjQgb3IgQVJNNjQgb3IgQ19MT09QCitjb25z
dCBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9IDAKK2Vsc2lmIEFSTSBvciBBUk12N19U
UkFESVRJT05BTCBvciBBUk12NyBvciBTSDQKK2NvbnN0IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1Bh
dGhDYWxsID0gMjQKK2Vsc2lmIFg4NgorY29uc3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENh
bGwgPSA0MAorZWxzaWYgTUlQUworY29uc3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwg
PSA0MAorZW5kCisKICMgV2F0Y2hwb2ludCBzdGF0ZXMKIGNvbnN0IENsZWFyV2F0Y2hwb2ludCA9
IDAKIGNvbnN0IElzV2F0Y2hlZCA9IDEKQEAgLTg1LDcgKzk4LDcgQEAgaWYgSlNWQUxVRTY0CiAg
ICAgIyAgIHRvIEMgZnVuY3Rpb25zLgogICAgICMgLSBDIGNhbGxzIGFyZSBzdGlsbCBnaXZlbiB0
aGUgSW5zdHJ1Y3Rpb24qIHJhdGhlciB0aGFuIHRoZSBQQyBpbmRleC4KICAgICAjICAgVGhpcyBy
ZXF1aXJlcyBhbiBhZGQgYmVmb3JlIHRoZSBjYWxsLCBhbmQgYSBzdWIgYWZ0ZXIuCi0gICAgY29u
c3QgUEMgPSB0NAorICAgIGNvbnN0IFBDID0gdDUKICAgICBjb25zdCBQQiA9IHQ2CiAgICAgY29u
c3QgdGFnVHlwZU51bWJlciA9IGNzcjEKICAgICBjb25zdCB0YWdNYXNrID0gY3NyMgpAQCAtMTAz
LDcgKzExNiw3IEBAIGlmIEpTVkFMVUU2NAogICAgIGVuZAogCiBlbHNlCi0gICAgY29uc3QgUEMg
PSB0NAorICAgIGNvbnN0IFBDID0gdDUKICAgICBtYWNybyBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24o
b2Zmc2V0LCBkZXN0KQogICAgICAgICBsb2FkaXMgb2Zmc2V0ICogNFtQQ10sIGRlc3QKICAgICBl
bmQKQEAgLTIxMCw2ICsyMjMsNTIgQEAgbWFjcm8gYXNzZXJ0KGFzc2VydGlvbikKICAgICBlbmQK
IGVuZAogCittYWNybyBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0ZW1wUmVnLCBsb2NhdGlv
bikKKyAgICBpZiBBUk02NCBvciBDX0xPT1AKKyAgICAgICAgIyBBUk02NCB3aWxsIGNoZWNrIGZv
ciB1cyEKKyAgICAgICAgIyBDX0xPT1AgZG9lcyBub3QgbmVlZCB0aGUgYWxpZ25tZW50LCBhbmQg
Y2FuIHVzZSBhIGxpdHRsZSBwZXJmCisgICAgICAgICMgaW1wcm92ZW1lbnQgZnJvbSBhdm9pZGlu
ZyB1c2VsZXNzIHdvcmsuCisgICAgZWxzZQorICAgICAgICBpZiBBUk0gb3IgQVJNdjcgb3IgQVJN
djdfVFJBRElUSU9OQUwKKyAgICAgICAgICAgICMgQVJNIGNhbid0IGRvIGxvZ2ljYWwgb3BzIHdp
dGggdGhlIHNwIGFzIGEgc291cmNlCisgICAgICAgICAgICBtb3ZlIHNwLCB0ZW1wUmVnCisgICAg
ICAgICAgICBhbmRwIDB4ZiwgdGVtcFJlZworICAgICAgICBlbHNlCisgICAgICAgICAgICBhbmRw
IHNwLCAweGYsIHRlbXBSZWcKKyAgICAgICAgZW5kCisgICAgICAgIGJ0cHogdGVtcFJlZywgLnN0
YWNrUG9pbnRlck9rYXkKKyAgICAgICAgbW92ZSBsb2NhdGlvbiwgdGVtcFJlZworICAgICAgICBi
cmVhaworICAgIC5zdGFja1BvaW50ZXJPa2F5OgorICAgIGVuZAorZW5kCisKK21hY3JvIHByZXNl
cnZlQ2FsbGVyUENBbmRDRlIoKQorICAgIGlmIENfTE9PUCBvciBBUk0gb3IgQVJNdjcgb3IgQVJN
djdfVFJBRElUSU9OQUwgb3IgTUlQUyBvciBTSDQKKyAgICAgICAgcHVzaCBscgorICAgICAgICBw
dXNoIGNmcgorICAgIGVsc2lmIFg4NiBvciBYODZfNjQKKyAgICAgICAgcHVzaCBjZnIKKyAgICBl
bHNpZiBBUk02NAorICAgICAgICBwdXNoTFJBbmRGUAorICAgIGVsc2UKKyAgICAgICAgZXJyb3IK
KyAgICBlbmQKKyAgICBtb3ZlIHNwLCBjZnIKK2VuZAorCittYWNybyByZXN0b3JlQ2FsbGVyUENB
bmRDRlIoKQorICAgIG1vdmUgY2ZyLCBzcAorICAgIGlmIENfTE9PUCBvciBBUk0gb3IgQVJNdjcg
b3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgTUlQUyBvciBTSDQKKyAgICAgICAgcG9wIGNmcgorICAg
ICAgICBwb3AgbHIKKyAgICBlbHNpZiBYODYgb3IgWDg2XzY0CisgICAgICAgIHBvcCBjZnIKKyAg
ICBlbHNpZiBBUk02NAorICAgICAgICBwb3BMUkFuZEZQCisgICAgZW5kCitlbmQKKwogbWFjcm8g
cHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKGRlc3RpbmF0aW9uUmVnaXN0ZXIpCiAgICAg
aWYgQ19MT09QIG9yIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTCBvciBBUk02NCBv
ciBNSVBTIG9yIFNINAogICAgICAgICAjIEluIENfTE9PUCBjYXNlLCB3ZSdyZSBvbmx5IHByZXNl
cnZpbmcgdGhlIGJ5dGVjb2RlIHZQQy4KQEAgLTIzMiwzMSArMjkxLDEyMiBAQCBtYWNybyByZXN0
b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybihzb3VyY2VSZWdpc3RlcikKICAgICBlbmQKIGVu
ZAogCittYWNybyBmdW5jdGlvblByb2xvZ3VlKCkKKyAgICBpZiBYODYgb3IgWDg2XzY0CisgICAg
ICAgIHB1c2ggY2ZyCisgICAgZWxzaWYgQVJNNjQKKyAgICAgICAgcHVzaExSQW5kRlAKKyAgICBl
bHNpZiBDX0xPT1Agb3IgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIE1JUFMK
KyAgICAgICAgcHVzaCBscgorICAgICAgICBwdXNoIGNmcgorICAgIGVuZAorICAgIG1vdmUgc3As
IGNmcgorZW5kCisKK21hY3JvIGZ1bmN0aW9uRXBpbG9ndWUoKQorICAgIGlmIFg4NiBvciBYODZf
NjQKKyAgICAgICAgcG9wIGNmcgorICAgIGVsc2lmIEFSTTY0CisgICAgICAgIHBvcExSQW5kRlAK
KyAgICBlbHNpZiBDX0xPT1Agb3IgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9y
IE1JUFMKKyAgICAgICAgcG9wIGNmcgorICAgICAgICBwb3AgbHIKKyAgICBlbmQKK2VuZAorCitt
YWNybyBjYWxsVG9KYXZhU2NyaXB0UHJvbG9ndWUoKQorICAgIGlmIFg4Nl82NAorICAgICAgICBw
dXNoIGNmcgorICAgICAgICBwdXNoIHQwCisgICAgZWxzaWYgWDg2CisgICAgICAgIHB1c2ggY2Zy
CisgICAgZWxzaWYgQVJNNjQKKyAgICAgICAgcHVzaExSQW5kRlAKKyAgICBlbHNpZiBDX0xPT1Ag
b3IgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIE1JUFMKKyAgICAgICAgcHVz
aCBscgorICAgICAgICBwdXNoIGNmcgorICAgIGVuZAorICAgIHB1c2hDYWxsZWVTYXZlcworICAg
IGlmIFg4NgorICAgICAgICBzdWJwIDEyLCBzcAorICAgIGVsc2lmIEFSTSBvciBBUk12NyBvciBB
Uk12N19UUkFESVRJT05BTAorICAgICAgICBzdWJwIDQsIHNwCisgICAgICAgIG1vdmUgc3AsIHQ0
CisgICAgICAgIGNscmJwIHQ0LCAweGYsIHQ1CisgICAgICAgIG1vdmUgdDUsIHNwCisgICAgICAg
IHN0b3JlcCB0NCwgW3NwXQorICAgIGVuZAorZW5kCisKK21hY3JvIGNhbGxUb0phdmFTY3JpcHRF
cGlsb2d1ZSgpCisgICAgYWRkcCBDYWxsRnJhbWVIZWFkZXJTbG90cyAqIDgsIGNmciwgc3AKKyAg
ICBsb2FkcCBDYWxsZXJGcmFtZVtjZnJdLCBjZnIKKworICAgIGlmIFg4NgorICAgICAgICBhZGRw
IDEyLCBzcAorICAgIGVsc2lmIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTAorICAg
ICAgICBwb3AgdDQKKyAgICAgICAgbW92ZSB0NCwgc3AKKyAgICAgICAgYWRkcCA0LCBzcAorICAg
IGVuZAorCisgICAgcG9wQ2FsbGVlU2F2ZXMKKyAgICBpZiBYODZfNjQKKyAgICAgICAgcG9wIHQy
CisgICAgICAgIHBvcCBjZnIKKyAgICBlbHNpZiBYODYKKyAgICAgICAgcG9wIGNmcgorICAgIGVs
c2lmIEFSTTY0CisgICAgICAgIHBvcExSQW5kRlAKKyAgICBlbHNpZiBDX0xPT1Agb3IgQVJNIG9y
IEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIE1JUFMKKyAgICAgICAgcG9wIGNmcgorICAg
ICAgICBwb3AgbHIKKyAgICBlbmQKK2VuZAorCittYWNybyBtb3ZlU3RhY2tQb2ludGVyRm9yQ29k
ZUJsb2NrKGNvZGVCbG9jaywgc2NyYXRjaCkKKyAgICBsb2FkaSBDb2RlQmxvY2s6Om1fbnVtQ2Fs
bGVlUmVnaXN0ZXJzW2NvZGVCbG9ja10sIHNjcmF0Y2gKKyAgICBsc2hpZnRwIDMsIHNjcmF0Y2gK
KyAgICBhZGRwIG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLCBzY3JhdGNoCisgICAgc3Vi
cCBjZnIsIHNjcmF0Y2gsIHNwCitlbmQKKworbWFjcm8gcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVy
Q2FsbCgpCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQyCisgICAgbW92ZVN0YWNrUG9pbnRl
ckZvckNvZGVCbG9jayh0MiwgdDQpCitlbmQKKwogbWFjcm8gdHJhY2VFeGVjdXRpb24oKQogICAg
IGlmIEVYRUNVVElPTl9UUkFDSU5HCiAgICAgICAgIGNhbGxTbG93UGF0aChfbGxpbnRfdHJhY2Up
CiAgICAgZW5kCiBlbmQKIAotbWFjcm8gY2FsbFRhcmdldEZ1bmN0aW9uKGNhbGxMaW5rSW5mbykK
K21hY3JvIGNhbGxUYXJnZXRGdW5jdGlvbihjYWxsTGlua0luZm8sIGNhbGxlZUZyYW1lUHRyKQor
ICAgIG1vdmUgY2FsbGVlRnJhbWVQdHIsIHNwCiAgICAgaWYgQ19MT09QCiAgICAgICAgIGNsb29w
Q2FsbEpTRnVuY3Rpb24gTExJbnRDYWxsTGlua0luZm86Om1hY2hpbmVDb2RlVGFyZ2V0W2NhbGxM
aW5rSW5mb10KICAgICBlbHNlCiAgICAgICAgIGNhbGwgTExJbnRDYWxsTGlua0luZm86Om1hY2hp
bmVDb2RlVGFyZ2V0W2NhbGxMaW5rSW5mb10KLSAgICAgICAgZGlzcGF0Y2hBZnRlckNhbGwoKQog
ICAgIGVuZAorICAgIHJlc3RvcmVTdGFja1BvaW50ZXJBZnRlckNhbGwoKQorICAgIGRpc3BhdGNo
QWZ0ZXJDYWxsKCkKIGVuZAogCiBtYWNybyBzbG93UGF0aEZvckNhbGwoc2xvd1BhdGgpCiAgICAg
Y2FsbENhbGxTbG93UGF0aCgKICAgICAgICAgc2xvd1BhdGgsCiAgICAgICAgIG1hY3JvIChjYWxs
ZWUpCisgICAgICAgICAgICBidHB6IHQxLCAuZG9udFVwZGF0ZVNQCisgICAgICAgICAgICBhZGRw
IENhbGxlckZyYW1lQW5kUENTaXplLCB0MSwgc3AKKyAgICAgICAgLmRvbnRVcGRhdGVTUDoKICAg
ICAgICAgICAgIGlmIENfTE9PUAogICAgICAgICAgICAgICAgIGNsb29wQ2FsbEpTRnVuY3Rpb24g
Y2FsbGVlCiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgY2FsbCBjYWxsZWUKLSAg
ICAgICAgICAgICAgICBkaXNwYXRjaEFmdGVyQ2FsbCgpCiAgICAgICAgICAgICBlbmQKKyAgICAg
ICAgICAgIHJlc3RvcmVTdGFja1BvaW50ZXJBZnRlckNhbGwoKQorICAgICAgICAgICAgZGlzcGF0
Y2hBZnRlckNhbGwoKQogICAgICAgICBlbmQpCiBlbmQKIApAQCAtMzI1LDI2ICs0NzUsNDggQEAg
ZW5kCiAjIERvIHRoZSBiYXJlIG1pbmltdW0gcmVxdWlyZWQgdG8gZXhlY3V0ZSBjb2RlLiBTZXRz
IHVwIHRoZSBQQywgbGVhdmUgdGhlIENvZGVCbG9jayoKICMgaW4gdDEuIE1heSBhbHNvIHRyaWdn
ZXIgcHJvbG9ndWUgZW50cnkgT1NSLgogbWFjcm8gcHJvbG9ndWUoY29kZUJsb2NrR2V0dGVyLCBj
b2RlQmxvY2tTZXR0ZXIsIG9zclNsb3dQYXRoLCB0cmFjZVNsb3dQYXRoKQotICAgIHByZXNlcnZl
UmV0dXJuQWRkcmVzc0FmdGVyQ2FsbCh0MikKLSAgICAKICAgICAjIFNldCB1cCB0aGUgY2FsbCBm
cmFtZSBhbmQgY2hlY2sgaWYgd2Ugc2hvdWxkIE9TUi4KLSAgICBzdG9yZXAgdDIsIFJldHVyblBD
W2Nmcl0KKyAgICBwcmVzZXJ2ZUNhbGxlclBDQW5kQ0ZSKCkKKwogICAgIGlmIEVYRUNVVElPTl9U
UkFDSU5HCisgICAgICAgIHN1YnAgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwsIHNwCiAg
ICAgICAgIGNhbGxTbG93UGF0aCh0cmFjZVNsb3dQYXRoKQorICAgICAgICBhZGRwIG1heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsLCBzcAogICAgIGVuZAogICAgIGNvZGVCbG9ja0dldHRlcih0
MSkKK2lmIENfTE9PUAorZWxzZQogICAgIGJhZGRpcyA1LCBDb2RlQmxvY2s6Om1fbGxpbnRFeGVj
dXRlQ291bnRlciArIEV4ZWN1dGlvbkNvdW50ZXI6Om1fY291bnRlclt0MV0sIC5jb250aW51ZQot
ICAgIGNDYWxsMihvc3JTbG93UGF0aCwgY2ZyLCBQQykKLSAgICBtb3ZlIHQxLCBjZnIKKyAgICBp
ZiBKU1ZBTFVFNjQKKyAgICAgICAgY0NhbGwyKG9zclNsb3dQYXRoLCBjZnIsIFBDKQorICAgIGVs
c2UKKyAgICAgICAgIyBXZSBhcmUgYWZ0ZXIgdGhlIGZ1bmN0aW9uIHByb2xvZ3VlLCBidXQgYmVm
b3JlIHdlIGhhdmUgc2V0IHVwIHNwIGZyb20gdGhlIENvZGVCbG9jay4KKyAgICAgICAgIyBUZW1w
b3JhcmlseSBhbGlnbiBzdGFjayBwb2ludGVyIGZvciB0aGlzIGNhbGwuCisgICAgICAgIHN1YnAg
OCwgc3AKKyAgICAgICAgY0NhbGwyKG9zclNsb3dQYXRoLCBjZnIsIFBDKQorICAgICAgICBhZGRw
IDgsIHNwCisgICAgZW5kCiAgICAgYnRweiB0MCwgLnJlY292ZXIKLSAgICBsb2FkcCBSZXR1cm5Q
Q1tjZnJdLCB0MgotICAgIHJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKHQyKQorICAg
IG1vdmUgY2ZyLCBzcCAjIHJlc3RvcmUgdGhlIHByZXZpb3VzIHNwCisgICAgIyBwb3AgdGhlIGNh
bGxlckZyYW1lIHNpbmNlIHdlIHdpbGwganVtcCB0byBhIGZ1bmN0aW9uIHRoYXQgd2FudHMgdG8g
c2F2ZSBpdAorICAgIGlmIEFSTTY0CisgICAgICAgIHBvcExSQW5kRlAKKyAgICBlbHNpZiBBUk0g
b3IgQVJNdjcgb3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgTUlQUyBvciBTSDQKKyAgICAgICAgcG9w
IGNmcgorICAgICAgICBwb3AgbHIKKyAgICBlbHNlCisgICAgICAgIHBvcCBjZnIKKyAgICBlbmQK
ICAgICBqbXAgdDAKIC5yZWNvdmVyOgogICAgIGNvZGVCbG9ja0dldHRlcih0MSkKIC5jb250aW51
ZToKK2VuZAorCiAgICAgY29kZUJsb2NrU2V0dGVyKHQxKQogICAgIAorICAgIG1vdmVTdGFja1Bv
aW50ZXJGb3JDb2RlQmxvY2sodDEsIHQyKQorCiAgICAgIyBTZXQgdXAgdGhlIFBDLgogICAgIGlm
IEpTVkFMVUU2NAogICAgICAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1Y3Rpb25zW3QxXSwg
UEIKQEAgLTM4OSwxNCArNTYxLDE2IEBAIG1hY3JvIGZ1bmN0aW9uSW5pdGlhbGl6YXRpb24ocHJv
ZmlsZUFyZ1NraXApCiAgICAgICAgIAogICAgICMgQ2hlY2sgc3RhY2sgaGVpZ2h0LgogICAgIGxv
YWRpIENvZGVCbG9jazo6bV9udW1DYWxsZWVSZWdpc3RlcnNbdDFdLCB0MAotICAgIGFkZGkgMSwg
dDAgIyBBY2NvdW50IHRoYXQgbG9jYWwwIGdvZXMgYXQgc2xvdCAtMQogICAgIGxvYWRwIENvZGVC
bG9jazo6bV92bVt0MV0sIHQyCiAgICAgbHNoaWZ0cCAzLCB0MAorICAgIGFkZGkgbWF4RnJhbWVF
eHRlbnRGb3JTbG93UGF0aENhbGwsIHQwCiAgICAgc3VicCBjZnIsIHQwLCB0MAogICAgIGJwYmVx
IFZNOjptX2pzU3RhY2tMaW1pdFt0Ml0sIHQwLCAuc3RhY2tIZWlnaHRPSwogCiAgICAgIyBTdGFj
ayBoZWlnaHQgY2hlY2sgZmFpbGVkIC0gbmVlZCB0byBjYWxsIGEgc2xvd19wYXRoLgogICAgIGNh
bGxTbG93UGF0aChfbGxpbnRfc3RhY2tfY2hlY2spCisgICAgYnBlcSB0MSwgMCwgLnN0YWNrSGVp
Z2h0T0sKKyAgICBtb3ZlIHQxLCBjZnIKIC5zdGFja0hlaWdodE9LOgogZW5kCiAKQEAgLTQyMywy
NSArNTk3LDY5IEBAIG1hY3JvIGFsbG9jYXRlSlNPYmplY3QoYWxsb2NhdG9yLCBzdHJ1Y3R1cmUs
IHJlc3VsdCwgc2NyYXRjaDEsIHNsb3dDYXNlKQogZW5kCiAKIG1hY3JvIGRvUmV0dXJuKCkKLSAg
ICBsb2FkcCBSZXR1cm5QQ1tjZnJdLCB0MgotICAgIGxvYWRwIENhbGxlckZyYW1lW2Nmcl0sIGNm
cgotICAgIHJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKHQyKQorICAgIHJlc3RvcmVD
YWxsZXJQQ0FuZENGUigpCiAgICAgcmV0CiBlbmQKIAotaWYgQ19MT09QCi1lbHNlCiAjIHN0dWIg
dG8gY2FsbCBpbnRvIEphdmFTY3JpcHQgb3IgTmF0aXZlIGZ1bmN0aW9ucwotIyBFbmNvZGVkSlNW
YWx1ZSBjYWxsVG9KYXZhU2NyaXB0KHZvaWQqIGNvZGUsIEV4ZWNTdGF0ZSoqIHZtLCBQcm90b0Nh
bGxGcmFtZSogcHJvdG9GcmFtZSwgUmVnaXN0ZXIqIHRvcE9mU3RhY2spCi0jIEVuY29kZWRKU1Zh
bHVlIGNhbGxUb05hdGl2ZUZ1bmN0aW9uKHZvaWQqIGNvZGUsIEV4ZWNTdGF0ZSoqIHZtLCBQcm90
b0NhbGxGcmFtZSogcHJvdG9GcmFtZSwgUmVnaXN0ZXIqIHRvcE9mU3RhY2spCisjIEVuY29kZWRK
U1ZhbHVlIGNhbGxUb0phdmFTY3JpcHQodm9pZCogY29kZSwgRXhlY1N0YXRlKiogdm1Ub3BDYWxs
RnJhbWUsIFByb3RvQ2FsbEZyYW1lKiBwcm90b0ZyYW1lKQorIyBFbmNvZGVkSlNWYWx1ZSBjYWxs
VG9OYXRpdmVGdW5jdGlvbih2b2lkKiBjb2RlLCBFeGVjU3RhdGUqKiB2bVRvcENhbGxGcmFtZSwg
UHJvdG9DYWxsRnJhbWUqIHByb3RvRnJhbWUpCiAjIE5vdGUsIGlmIHRoZXNlIHN0dWJzIG9yIG9u
ZSBvZiB0aGVpciByZWxhdGVkIG1hY3JvcyBhcmUgY2hhbmdlZCwgbWFrZSB0aGUKICMgZXF1aXZh
bGVudCBjaGFuZ2VzIGluIGppdC9KSVRTdHVic1g4Ni5oIGFuZC9vciBqaXQvSklUU3R1YnNNU1ZD
NjQuYXNtCisKK2lmIENfTE9PUAorX2xsaW50X2NhbGxfdG9famF2YXNjcmlwdDoKK2Vsc2UKIF9j
YWxsVG9KYXZhU2NyaXB0OgotICAgIGRvQ2FsbFRvSmF2YVNjcmlwdChtYWtlSmF2YVNjcmlwdENh
bGwsIGRvUmV0dXJuRnJvbUphdmFTY3JpcHQpCitlbmQKKyAgICBkb0NhbGxUb0phdmFTY3JpcHQo
bWFrZUphdmFTY3JpcHRDYWxsKQogCisKK2lmIENfTE9PUAorX2xsaW50X2NhbGxfdG9fbmF0aXZl
X2Z1bmN0aW9uOgorZWxzZQogX2NhbGxUb05hdGl2ZUZ1bmN0aW9uOgotICAgIGRvQ2FsbFRvSmF2
YVNjcmlwdChtYWtlSG9zdEZ1bmN0aW9uQ2FsbCwgZG9SZXR1cm5Gcm9tSG9zdEZ1bmN0aW9uKQog
ZW5kCisgICAgZG9DYWxsVG9KYXZhU2NyaXB0KG1ha2VIb3N0RnVuY3Rpb25DYWxsKQorCisKK2lm
IENfTE9PUAorZWxzZQorIyB2b2lkIHNhbml0aXplU3RhY2tGb3JWTUltcGwoVk0qIHZtKQorX3Nh
bml0aXplU3RhY2tGb3JWTUltcGw6CisgICAgaWYgWDg2XzY0CisgICAgICAgIGNvbnN0IHZtID0g
dDQKKyAgICAgICAgY29uc3QgYWRkcmVzcyA9IHQxCisgICAgICAgIGNvbnN0IHplcm9WYWx1ZSA9
IHQwCisgICAgZWxzaWYgWDg2CisgICAgICAgIGNvbnN0IHZtID0gdDIKKyAgICAgICAgY29uc3Qg
YWRkcmVzcyA9IHQxCisgICAgICAgIGNvbnN0IHplcm9WYWx1ZSA9IHQwCisgICAgZWxzZQorICAg
ICAgICBjb25zdCB2bSA9IGEwCisgICAgICAgIGNvbnN0IGFkZHJlc3MgPSB0MQorICAgICAgICBj
b25zdCB6ZXJvVmFsdWUgPSB0MgorICAgIGVuZAorCisgICAgaWYgWDg2CisgICAgICAgIGxvYWRw
IDRbc3BdLCB2bQorICAgIGVuZAorCisgICAgbG9hZHAgVk06Om1fbGFzdFN0YWNrVG9wW3ZtXSwg
YWRkcmVzcworICAgIGJwYmVxIHNwLCBhZGRyZXNzLCAuemVyb0ZpbGxEb25lCisKKyAgICBtb3Zl
IDAsIHplcm9WYWx1ZQorLnplcm9GaWxsTG9vcDoKKyAgICBzdG9yZXAgemVyb1ZhbHVlLCBbYWRk
cmVzc10KKyAgICBhZGRwIFB0clNpemUsIGFkZHJlc3MKKyAgICBicGEgc3AsIGFkZHJlc3MsIC56
ZXJvRmlsbExvb3AKKworLnplcm9GaWxsRG9uZToKKyAgICBtb3ZlIHNwLCBhZGRyZXNzCisgICAg
c3RvcmVwIGFkZHJlc3MsIFZNOjptX2xhc3RTdGFja1RvcFt2bV0KKyAgICByZXQKK2VuZAorCiAK
ICMgSW5kaWNhdGUgdGhlIGJlZ2lubmluZyBvZiBMTEludC4KIF9sbGludF9iZWdpbjoKQEAgLTcz
MSw4ICs5NDksMTUgQEAgX2xsaW50X29wX2NvbnN0cnVjdDoKIAogX2xsaW50X29wX2NhbGxfdmFy
YXJnczoKICAgICB0cmFjZUV4ZWN1dGlvbigpCi0gICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93
X3BhdGhfc2l6ZV9hbmRfYWxsb2NfZnJhbWVfZm9yX3ZhcmFyZ3MpCisgICAgY2FsbFNsb3dQYXRo
KF9sbGludF9zbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncykKICAgICBicmFuY2hJZkV4
Y2VwdGlvbihfbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZSkKKyAgICAjIGNh
bGxlZUZyYW1lIGluIHQxCisgICAgaWYgSlNWQUxVRTY0CisgICAgICAgIG1vdmUgdDEsIHNwCisg
ICAgZWxzZQorICAgICAgICAjIFRoZSBjYWxsZWVGcmFtZSBpcyBub3Qgc3RhY2sgYWxpZ25lZCwg
bW92ZSBkb3duIGJ5IENhbGxlckZyYW1lQW5kUENTaXplIHRvIGFsaWduCisgICAgICAgIHN1YnAg
dDEsIENhbGxlckZyYW1lQW5kUENTaXplLCBzcAorICAgIGVuZAogICAgIHNsb3dQYXRoRm9yQ2Fs
bChfbGxpbnRfc2xvd19wYXRoX2NhbGxfdmFyYXJncykKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5jcHAKaW5kZXggNDgxNDhjNmY0
NTRmOTI5NGMyMDM4YzIzZjdkY2IyYmM5YmQ0ZjRjMi4uOWJjNTVkZTI0NDZjMmRiNzg5YzA2N2E1
MTc4YzA0YzFiMTFhZDllYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDEyLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtOTAsNiArOTAsMTIgQEAgdXNpbmcgbmFtZXNwYWNl
IEpTQzo6TExJbnQ7CiAjZGVmaW5lIE9GRkxJTkVfQVNNX0JFR0lOCiAjZGVmaW5lIE9GRkxJTkVf
QVNNX0VORAogCisjaWYgRU5BQkxFKE9QQ09ERV9UUkFDSU5HKQorI2RlZmluZSBUUkFDRV9PUENP
REUob3Bjb2RlKSBkYXRhTG9nRigiICAgb3AgJXNcbiIsICNvcGNvZGUpCisjZWxzZQorI2RlZmlu
ZSBUUkFDRV9PUENPREUob3Bjb2RlKQorI2VuZGlmCisKIC8vIFRvIGtlZXAgY29tcGlsZXJzIGhh
cHB5IGluIGNhc2Ugb2YgdW51c2VkIGxhYmVscywgZm9yY2UgdXNhZ2Ugb2YgdGhlIGxhYmVsOgog
I2RlZmluZSBVU0VfTEFCRUwobGFiZWwpIFwKICAgICBkbyB7IFwKQEAgLTk3LDcgKzEwMyw3IEBA
IHVzaW5nIG5hbWVzcGFjZSBKU0M6OkxMSW50OwogICAgICAgICAgICAgZ290byBsYWJlbDsgXAog
ICAgIH0gd2hpbGUgKGZhbHNlKQogCi0jZGVmaW5lIE9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cGNvZGUpIERFRklORV9PUENPREUob3Bjb2RlKSBVU0VfTEFCRUwob3Bjb2RlKTsKKyNkZWZpbmUg
T0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wY29kZSkgREVGSU5FX09QQ09ERShvcGNvZGUpIFVT
RV9MQUJFTChvcGNvZGUpOyBUUkFDRV9PUENPREUob3Bjb2RlKTsKIAogI2lmIEVOQUJMRShDT01Q
VVRFRF9HT1RPX09QQ09ERVMpCiAjZGVmaW5lIE9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGFiZWwp
ICBsYWJlbDogVVNFX0xBQkVMKGxhYmVsKTsKQEAgLTIxMiwxMCArMjE4LDE0IEBAIHN0cnVjdCBD
TG9vcFJlZ2lzdGVyIHsKICNlbmRpZiAvLyAhQ1BVKEJJR19FTkRJQU4pCiAjZW5kaWYgLy8gIVVT
RShKU1ZBTFVFNjQpCiAKKyAgICAgICAgaW50cHRyX3QqIGlwOwogICAgICAgICBpbnQ4X3QqIGk4
cDsKICAgICAgICAgdm9pZCogdnA7CisgICAgICAgIENhbGxGcmFtZSogY2FsbEZyYW1lOwogICAg
ICAgICBFeGVjU3RhdGUqIGV4ZWNTdGF0ZTsKICAgICAgICAgdm9pZCogaW5zdHJ1Y3Rpb247Cisg
ICAgICAgIFZNKiB2bTsKKyAgICAgICAgUHJvdG9DYWxsRnJhbWUqIHByb3RvQ2FsbEZyYW1lOwog
ICAgICAgICBOYXRpdmVGdW5jdGlvbiBuYXRpdmVGdW5jOwogI2lmIFVTRShKU1ZBTFVFNjQpCiAg
ICAgICAgIGludDY0X3QgaTY0OwpAQCAtMjI2LDYgKzIzNiwxMiBAQCBzdHJ1Y3QgQ0xvb3BSZWdp
c3RlciB7CiAgICAgICAgIE9wY29kZSBvcGNvZGU7CiAgICAgfTsKIAorICAgIG9wZXJhdG9yIEV4
ZWNTdGF0ZSooKSB7IHJldHVybiBleGVjU3RhdGU7IH0KKyAgICBvcGVyYXRvciBJbnN0cnVjdGlv
biooKSB7IHJldHVybiByZWludGVycHJldF9jYXN0PEluc3RydWN0aW9uKj4oaW5zdHJ1Y3Rpb24p
OyB9CisgICAgb3BlcmF0b3IgVk0qKCkgeyByZXR1cm4gdm07IH0KKyAgICBvcGVyYXRvciBQcm90
b0NhbGxGcmFtZSooKSB7IHJldHVybiBwcm90b0NhbGxGcmFtZTsgfQorICAgIG9wZXJhdG9yIFJl
Z2lzdGVyKigpIHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8UmVnaXN0ZXIqPih2cCk7IH0KKwog
I2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgaW5saW5lIHZvaWQgY2xlYXJIaWdoV29yZCgpIHsgaTMy
cGFkZGluZyA9IDA7IH0KICNlbHNlCkBAIC0yMzcsNyArMjUzLDcgQEAgc3RydWN0IENMb29wUmVn
aXN0ZXIgewogLy8gVGhlIGxsaW50IEMrKyBpbnRlcnByZXRlciBsb29wOgogLy8KIAotSlNWYWx1
ZSBDTG9vcDo6ZXhlY3V0ZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgT3Bjb2RlIGVudHJ5T3Bjb2Rl
LCBib29sIGlzSW5pdGlhbGl6YXRpb25QYXNzKQorSlNWYWx1ZSBDTG9vcDo6ZXhlY3V0ZShPcGNv
ZGVJRCBlbnRyeU9wY29kZUlELCB2b2lkKiBleGVjdXRhYmxlQWRkcmVzcywgVk0qIHZtLCBQcm90
b0NhbGxGcmFtZSogcHJvdG9DYWxsRnJhbWUsIGJvb2wgaXNJbml0aWFsaXphdGlvblBhc3MpCiB7
CiAgICAgI2RlZmluZSBDQVNUIHJlaW50ZXJwcmV0X2Nhc3QKICAgICAjZGVmaW5lIFNJR05fQklU
MzIoeCkgKCh4KSAmIDB4ODAwMDAwMDApCkBAIC0yNzIsOCArMjg4LDYgQEAgSlNWYWx1ZSBDTG9v
cDo6ZXhlY3V0ZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgT3Bjb2RlIGVudHJ5T3Bjb2RlLCBib29s
IGlzSW5pdGlhbGkKICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKICAgICB9CiAKLSAgICBBU1NF
UlQoY2FsbEZyYW1lLT52bSgpLnRvcENhbGxGcmFtZSA9PSBjYWxsRnJhbWUpOwotCiAgICAgLy8g
RGVmaW5lIHRoZSBwc2V1ZG8gcmVnaXN0ZXJzIHVzZWQgYnkgdGhlIExMSU5UIEMgTG9vcCBiYWNr
ZW5kOgogICAgIEFTU0VSVChzaXplb2YoQ0xvb3BSZWdpc3RlcikgPT0gc2l6ZW9mKGludHB0cl90
KSk7CiAKQEAgLTMwOCw1MCArMzIyLDQ4IEBAIEpTVmFsdWUgQ0xvb3A6OmV4ZWN1dGUoQ2FsbEZy
YW1lKiBjYWxsRnJhbWUsIE9wY29kZSBlbnRyeU9wY29kZSwgYm9vbCBpc0luaXRpYWxpCiAgICAg
Ly8gMi4gMzIgYml0IHJlc3VsdCB2YWx1ZXMgd2lsbCBiZSBpbiB0aGUgbG93IDMyLWJpdCBvZiB0
MC4KICAgICAvLyAzLiA2NCBiaXQgcmVzdWx0IHZhbHVlcyB3aWxsIGJlIGluIHQwLgogCi0gICAg
Q0xvb3BSZWdpc3RlciB0MCwgdDEsIHQyLCB0MzsKKyAgICBDTG9vcFJlZ2lzdGVyIHQwLCB0MSwg
dDIsIHQzLCB0NSwgc3AsIGNmciwgbHIsIHBjOwogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgQ0xv
b3BSZWdpc3RlciByQmFzZVBDLCB0YWdUeXBlTnVtYmVyLCB0YWdNYXNrOworICAgIENMb29wUmVn
aXN0ZXIgcGNCYXNlLCB0YWdUeXBlTnVtYmVyLCB0YWdNYXNrOwogI2VuZGlmCi0gICAgQ0xvb3BS
ZWdpc3RlciByUmV0VlBDOwogICAgIENMb29wRG91YmxlUmVnaXN0ZXIgZDAsIGQxOwogCi0gICAg
Ly8gS2VlcCB0aGUgY29tcGlsZXIgaGFwcHkuIFdlIGRvbid0IHJlYWxseSBuZWVkIHRoaXMsIGJ1
dCB0aGUgY29tcGlsZXIKLSAgICAvLyB3aWxsIGNvbXBsYWluLiBUaGlzIG1ha2VzIHRoZSB3YXJu
aW5nIGdvIGF3YXkuCi0gICAgdDAuaSA9IDA7Ci0gICAgdDEuaSA9IDA7Ci0KLSAgICBWTSogdm0g
PSAmY2FsbEZyYW1lLT52bSgpOwotCi0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBjYWxsRnJh
bWUtPmNvZGVCbG9jaygpOwotICAgIEluc3RydWN0aW9uKiB2UEM7CisgICAgbHIub3Bjb2RlID0g
Z2V0T3Bjb2RlKGxsaW50X3JldHVybl90b19ob3N0KTsKKyAgICBzcC52cCA9IHZtLT5pbnRlcnBy
ZXRlci0+c3RhY2soKS50b3BPZlN0YWNrKCkgKyAxOworICAgIGNmci5jYWxsRnJhbWUgPSB2bS0+
dG9wQ2FsbEZyYW1lOworI2lmbmRlZiBOREVCVUcKKyAgICB2b2lkKiBzdGFydFNQID0gc3AudnA7
CisgICAgQ2FsbEZyYW1lKiBzdGFydENGUiA9IGNmci5jYWxsRnJhbWU7CisjZW5kaWYKIAotICAg
IC8vIHJQQyBpcyBhbiBhbGlhcyBmb3IgdlBDLiBTZXQgdXAgdGhlIGFsaWFzOgotICAgIENMb29w
UmVnaXN0ZXImIHJQQyA9ICpDQVNUPENMb29wUmVnaXN0ZXIqPigmdlBDKTsKLQotI2lmIFVTRShK
U1ZBTFVFMzJfNjQpCi0gICAgdlBDID0gY29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigp
OwotI2Vsc2UgLy8gVVNFKEpTVkFMVUU2NCkKLSAgICB2UEMgPSAwOwotICAgIHJCYXNlUEMudnAg
PSBjb2RlQmxvY2stPmluc3RydWN0aW9ucygpLmJlZ2luKCk7CisgICAgLy8gSW5pdGlhbGl6ZSB0
aGUgaW5jb21pbmcgYXJncyBmb3IgZG9DYWxsVG9KYXZhU2NyaXB0OgorICAgIHQwLnZwID0gZXhl
Y3V0YWJsZUFkZHJlc3M7CisgICAgdDEudm0gPSB2bTsKKyAgICB0Mi5wcm90b0NhbGxGcmFtZSA9
IHByb3RvQ2FsbEZyYW1lOwogCisjaWYgVVNFKEpTVkFMVUU2NCkKICAgICAvLyBGb3IgdGhlIEFT
TSBsbGludCwgSklUU3R1YnMgdGFrZXMgY2FyZSBvZiB0aGlzIGluaXRpYWxpemF0aW9uLiBXZSBk
bwogICAgIC8vIGl0IGV4cGxpY2l0bHkgaGVyZSBmb3IgdGhlIEMgbG9vcDoKICAgICB0YWdUeXBl
TnVtYmVyLmkgPSAweEZGRkYwMDAwMDAwMDAwMDA7CiAgICAgdGFnTWFzay5pID0gMHhGRkZGMDAw
MDAwMDAwMDAyOwogI2VuZGlmIC8vIFVTRShKU1ZBTFVFNjQpCiAKLSAgICAvLyBjZnIgaXMgYW4g
YWxpYXMgZm9yIGNhbGxGcmFtZS4gU2V0IHVwIHRoaXMgYWxpYXM6Ci0gICAgQ0xvb3BSZWdpc3Rl
ciYgY2ZyID0gKkNBU1Q8Q0xvb3BSZWdpc3Rlcio+KCZjYWxsRnJhbWUpOwotCi0gICAgLy8gU2lt
dWxhdGUgYSBuYXRpdmUgcmV0dXJuIFBDIHdoaWNoIHNob3VsZCBuZXZlciBiZSB1c2VkOgotICAg
IHJSZXRWUEMuaSA9IDB4YmJhZGJlZWY7Ci0KICAgICAvLyBJbnRlcnByZXRlciB2YXJpYWJsZXMg
Zm9yIHZhbHVlIHBhc3NpbmcgYmV0d2VlbiBvcGNvZGVzIGFuZC9vciBoZWxwZXJzOgogICAgIE5h
dGl2ZUZ1bmN0aW9uIG5hdGl2ZUZ1bmMgPSAwOwogICAgIEpTVmFsdWUgZnVuY3Rpb25SZXR1cm5W
YWx1ZTsKLSAgICBPcGNvZGUgb3Bjb2RlOworICAgIE9wY29kZSBvcGNvZGUgPSBnZXRPcGNvZGUo
ZW50cnlPcGNvZGVJRCk7CiAKLSAgICBvcGNvZGUgPSBlbnRyeU9wY29kZTsKKyAgICAjZGVmaW5l
IFBVU0goY2xvb3BSZWcpIFwKKyAgICAgICAgZG8geyBcCisgICAgICAgICAgICBzcC5pcC0tOyBc
CisgICAgICAgICAgICAqc3AuaXAgPSBjbG9vcFJlZy5pOyBcCisgICAgICAgIH0gd2hpbGUgKGZh
bHNlKQorICAgIAorICAgICNkZWZpbmUgUE9QKGNsb29wUmVnKSBcCisgICAgICAgIGRvIHsgXAor
ICAgICAgICAgICAgY2xvb3BSZWcuaSA9ICpzcC5pcDsgXAorICAgICAgICAgICAgc3AuaXArKzsg
XAorICAgICAgICB9IHdoaWxlIChmYWxzZSkKIAogICAgICNpZiBFTkFCTEUoT1BDT0RFX1NUQVRT
KQogICAgICAgICAjZGVmaW5lIFJFQ09SRF9PUENPREVfU1RBVFMoX19vcGNvZGUpIFwKQEAgLTM2
MSw5ICszNzMsOSBAQCBKU1ZhbHVlIENMb29wOjpleGVjdXRlKENhbGxGcmFtZSogY2FsbEZyYW1l
LCBPcGNvZGUgZW50cnlPcGNvZGUsIGJvb2wgaXNJbml0aWFsaQogICAgICNlbmRpZgogCiAgICAg
I2lmIFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgICAgICNkZWZpbmUgRkVUQ0hfT1BDT0RFKCkgdlBD
LT51Lm9wY29kZQorICAgICAgICAjZGVmaW5lIEZFVENIX09QQ09ERSgpIHBjLm9wY29kZQogICAg
ICNlbHNlIC8vIFVTRShKU1ZBTFVFNjQpCi0gICAgICAgICNkZWZpbmUgRkVUQ0hfT1BDT0RFKCkg
KmJpdHdpc2VfY2FzdDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIHJQQy5pICogOCkKKyAgICAgICAg
I2RlZmluZSBGRVRDSF9PUENPREUoKSAqYml0d2lzZV9jYXN0PE9wY29kZSo+KHBjQmFzZS5pOHAg
KyBwYy5pICogOCkKICAgICAjZW5kaWYgLy8gVVNFKEpTVkFMVUU2NCkKIAogICAgICNkZWZpbmUg
TkVYVF9JTlNUUlVDVElPTigpIFwKQEAgLTQxMiwxNCArNDI0LDIyIEBAIEpTVmFsdWUgQ0xvb3A6
OmV4ZWN1dGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIE9wY29kZSBlbnRyeU9wY29kZSwgYm9vbCBp
c0luaXRpYWxpCiAKICAgICAgICAgI2luY2x1ZGUgIkxMSW50QXNzZW1ibHkuaCIKIAorICAgICAg
ICBPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X3JldHVybl90b19ob3N0KQorICAgICAgICB7
CisgICAgICAgICAgICBBU1NFUlQoc3RhcnRTUCA9PSBzcC52cCk7CisgICAgICAgICAgICBBU1NF
UlQoc3RhcnRDRlIgPT0gY2ZyLmNhbGxGcmFtZSk7CisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAg
ICAgICAgICAgIHJldHVybiBKU1ZhbHVlKHQxLmksIHQwLmkpOyAvLyByZXR1cm5pbmcgSlNWYWx1
ZSh0YWcsIHBheWxvYWQpOworI2Vsc2UKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpkZWNv
ZGUodDAuZW5jb2RlZEpTVmFsdWUpOworI2VuZGlmCisgICAgICAgIH0KKwogICAgICAgICAvLyBJ
biB0aGUgQVNNIGxsaW50LCBnZXRIb3N0Q2FsbFJldHVyblZhbHVlKCkgaXMgYSBwaWVjZSBvZiBn
bHVlCi0gICAgICAgIC8vIGZ1bmN0aW9uIHByb3ZpZGVkIGJ5IHRoZSBKSVQgKHNlZSBkZmcvREZH
T3BlcmF0aW9ucy5jcHApLgorICAgICAgICAvLyBmdW5jdGlvbiBwcm92aWRlZCBieSB0aGUgSklU
IChzZWUgaml0L0pJVE9wZXJhdGlvbnMuY3BwKS4KICAgICAgICAgLy8gV2Ugc2ltdWxhdGUgaXQg
aGVyZSB3aXRoIGEgcHNlZHVvLW9wY29kZSBoYW5kbGVyLgogICAgICAgICBPRkZMSU5FX0FTTV9H
TFVFX0xBQkVMKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpCiAgICAgICAgIHsKLSAgICAgICAgICAg
IC8vIFRoZSBBU00gcGFydCBwb3BzIHRoZSBmcmFtZToKLSAgICAgICAgICAgIGNhbGxGcmFtZSA9
IGNhbGxGcmFtZS0+Y2FsbGVyRnJhbWUoKTsKLQogICAgICAgICAgICAgLy8gVGhlIHBhcnQgaW4g
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUoKToKICAgICAgICAgICAgIEpTVmFs
dWUgcmVzdWx0ID0gdm0tPmhvc3RDYWxsUmV0dXJuVmFsdWU7CiAjaWYgVVNFKEpTVkFMVUUzMl82
NCkKQEAgLTQyOCwxMiArNDQ4LDggQEAgSlNWYWx1ZSBDTG9vcDo6ZXhlY3V0ZShDYWxsRnJhbWUq
IGNhbGxGcmFtZSwgT3Bjb2RlIGVudHJ5T3Bjb2RlLCBib29sIGlzSW5pdGlhbGkKICNlbHNlCiAg
ICAgICAgICAgICB0MC5lbmNvZGVkSlNWYWx1ZSA9IEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwog
I2VuZGlmCi0gICAgICAgICAgICBnb3RvIGRvUmV0dXJuSGVscGVyOwotICAgICAgICB9Ci0KLSAg
ICAgICAgT0ZGTElORV9BU01fR0xVRV9MQUJFTChyZXR1cm5Gcm9tSmF2YVNjcmlwdCkKLSAgICAg
ICAgewotICAgICAgICAgICAgcmV0dXJuIHZtLT5leGNlcHRpb24oKTsKKyAgICAgICAgICAgIG9w
Y29kZSA9IGxyLm9wY29kZTsKKyAgICAgICAgICAgIERJU1BBVENIX09QQ09ERSgpOwogICAgICAg
ICB9CiAKICNpZiAhRU5BQkxFKENPTVBVVEVEX0dPVE9fT1BDT0RFUykKQEAgLTQ0Myw1NSArNDU5
LDYgQEAgSlNWYWx1ZSBDTG9vcDo6ZXhlY3V0ZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgT3Bjb2Rl
IGVudHJ5T3Bjb2RlLCBib29sIGlzSW5pdGlhbGkKIAogICAgIH0gLy8gRU5EIGJ5dGVjb2RlIGhh
bmRsZXIgY2FzZXMuCiAKLSAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotICAgIC8vIEJ5dGVjb2RlIGhl
bHBlcnM6Ci0KLSAgICBkb1JldHVybkhlbHBlcjogewotICAgICAgICBBU1NFUlQoISFjYWxsRnJh
bWUpOwotICAgICAgICBpZiAoY2FsbEZyYW1lLT5pc1ZNRW50cnlTZW50aW5lbCgpKSB7Ci0jaWYg
VVNFKEpTVkFMVUUzMl82NCkKLSAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlKHQxLmksIHQwLmkp
OyAvLyByZXR1cm5pbmcgSlNWYWx1ZSh0YWcsIHBheWxvYWQpOwotI2Vsc2UKLSAgICAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjpkZWNvZGUodDAuZW5jb2RlZEpTVmFsdWUpOwotI2VuZGlmCi0gICAg
ICAgIH0KLQotICAgICAgICAvLyBUaGUgbm9ybWFsIEFTTSBsbGludCBjYWxsIGltcGxlbWVudGF0
aW9uIHJldHVybnMgdG8gdGhlIGNhbGxlciBhcwotICAgICAgICAvLyByZWNvcmRlZCBpbiByUmV0
VlBDLCBhbmQgdGhlIGNhbGxlciB3b3VsZCBmZXRjaCB0aGUgcmV0dXJuIGFkZHJlc3MKLSAgICAg
ICAgLy8gZnJvbSBBcmd1bWVudENvdW50LnRhZygpIChzZWUgdGhlIGRpc3BhdGNoQWZ0ZXJDYWxs
KCkgbWFjcm8gdXNlZCBpbgotICAgICAgICAvLyB0aGUgY2FsbFRhcmdldEZ1bmN0aW9uKCkgbWFj
cm8gaW4gdGhlIGxsaW50IGFzbSBmaWxlcykuCi0gICAgICAgIC8vCi0gICAgICAgIC8vIEZvciB0
aGUgQyBsb29wLCB3ZSBkb24ndCBoYXZlIHRoZSBKSVQgc3R1YiB0byBkbyB0aGlzIHdvcmsgZm9y
IHVzLiBTbywKLSAgICAgICAgLy8gd2UganVtcCB0byBsbGludF9nZW5lcmljX3JldHVybl9wb2lu
dC4KLQotICAgICAgICB2UEMgPSBjYWxsRnJhbWUtPmN1cnJlbnRWUEMoKTsKLQotI2lmIFVTRShK
U1ZBTFVFNjQpCi0gICAgICAgIC8vIEJhc2VkIG9uIExvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20n
cyBkaXNwYXRjaEFmdGVyQ2FsbCgpOgotCi0gICAgICAgIC8vIFdoZW4gcmV0dXJuaW5nIGZyb20g
YSBuYXRpdmUgdHJhbXBvbGluZSBjYWxsLCB1bmxpa2UgdGhlIGFzc2VtYmx5Ci0gICAgICAgIC8v
IExMSW50LCB3ZSBjYW4ndCBzaW1wbHkgcmV0dXJuIHRvIHRoZSBjYWxsZXIuIEluIG91ciBjYXNl
LCB3ZSBncmFiCi0gICAgICAgIC8vIHRoZSBjYWxsZXIncyBWUEMgYW5kIHJlc3VtZSBleGVjdXRp
b24gdGhlcmUuIEhvd2V2ZXIsIHRoZSBjYWxsZXIncwotICAgICAgICAvLyBWUEMgcmV0dXJuZWQg
YnkgY2FsbEZyYW1lLT5jdXJyZW50VlBDKCkgaXMgaW4gdGhlIGZvcm0gb2YgdGhlIHJlYWwKLSAg
ICAgICAgLy8gYWRkcmVzcyBvZiB0aGUgdGFyZ2V0IGJ5dGVjb2RlLCBidXQgdGhlIDY0LWJpdCBs
bGludCBleHBlY3RzIHRoZQotICAgICAgICAvLyBWUEMgdG8gYmUgYSBieXRlY29kZSBvZmZzZXQu
IEhlbmNlLCB3ZSBuZWVkIHRvIG1hcCBpdCBiYWNrIHRvIGEKLSAgICAgICAgLy8gYnl0ZWNvZGUg
b2Zmc2V0IGJlZm9yZSB3ZSBkaXNwYXRjaCB2aWEgdGhlIHVzdWFsIGRpc3BhdGNoIG1lY2hhbmlz
bQotICAgICAgICAvLyBpLmUuIE5FWFRfSU5TVFJVQ1RJT04oKToKLQotICAgICAgICBjb2RlQmxv
Y2sgPSBjYWxsRnJhbWUtPmNvZGVCbG9jaygpOwotICAgICAgICBBU1NFUlQoY29kZUJsb2NrKTsK
LSAgICAgICAgclBDLnZwID0gY2FsbEZyYW1lLT5jdXJyZW50VlBDKCk7Ci0gICAgICAgIHJQQy5p
ID0gclBDLmk4cCAtIHJlaW50ZXJwcmV0X2Nhc3Q8aW50OF90Kj4oY29kZUJsb2NrLT5pbnN0cnVj
dGlvbnMoKS5iZWdpbigpKTsKLSAgICAgICAgclBDLmkgPj49IDM7Ci0KLSAgICAgICAgckJhc2VQ
Qy52cCA9IGNvZGVCbG9jay0+aW5zdHJ1Y3Rpb25zKCkuYmVnaW4oKTsKLSNlbmRpZiAvLyBVU0Uo
SlNWQUxVRTY0KQotCi0gICAgICAgIGdvdG8gbGxpbnRfZ2VuZXJpY19yZXR1cm5fcG9pbnQ7Ci0K
LSAgICB9IC8vIEVORCBkb1JldHVybkhlbHBlci4KLQotCiAjaWYgRU5BQkxFKENPTVBVVEVEX0dP
VE9fT1BDT0RFUykKICAgICAvLyBLZWVwIHRoZSBjb21waWxlciBoYXBweSBzbyB0aGF0IGl0IGRv
ZXNuJ3QgY29tcGxhaW4gYWJvdXQgdW51c2VkCiAgICAgLy8gbGFiZWxzIGZvciB0aGUgTExJbnQg
dHJhbXBvbGluZSBnbHVlLiBUaGUgbGFiZWxzIGFyZSBhdXRvbWF0aWNhbGx5CkBAIC01MjMsMTIg
KzQ5MCwxMiBAQCBKU1ZhbHVlIENMb29wOjpleGVjdXRlKENhbGxGcmFtZSogY2FsbEZyYW1lLCBP
cGNvZGUgZW50cnlPcGNvZGUsIGJvb2wgaXNJbml0aWFsaQogCiAvLyBUaGVzZSBhcmUgZm9yIGJ1
aWxkaW5nIGFuIGludGVycHJldGVyIGZyb20gZ2VuZXJhdGVkIGFzc2VtYmx5IGNvZGU6CiAjaWYg
Q1BVKFg4Nl82NCkgJiYgQ09NUElMRVIoQ0xBTkcpCi0jZGVmaW5lIE9GRkxJTkVfQVNNX0JFR0lO
ICAgYXNtICggXAorI2RlZmluZSBPRkZMSU5FX0FTTV9CRUdJTiAgIGFzbSAoICAgICAgICAgICAg
ICAgIFwKICAgICAiLmNmaV9zdGFydHByb2NcbiIKIAotI2RlZmluZSBPRkZMSU5FX0FTTV9FTkQg
ICAgIFwKLSAgICAiLmNmaV9lbmRwcm9jXG4iIFwKLSk7CisjZGVmaW5lIE9GRkxJTkVfQVNNX0VO
RCAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICIuY2ZpX2VuZHByb2NcbiIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwog
I2Vsc2UKICNkZWZpbmUgT0ZGTElORV9BU01fQkVHSU4gICBhc20gKAogI2RlZmluZSBPRkZMSU5F
X0FTTV9FTkQgICAgICk7CkBAIC01NTEsOSArNTE4LDkgQEAgSlNWYWx1ZSBDTG9vcDo6ZXhlY3V0
ZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgT3Bjb2RlIGVudHJ5T3Bjb2RlLCBib29sIGlzSW5pdGlh
bGkKICAgICAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhsYWJlbCkgIlxuIiAgICAgICAgIFwKICAg
ICBISURFX1NZTUJPTChsYWJlbCkgIlxuIiAgICAgICAgICAgICAgICAgICAgIFwKICAgICBTWU1C
T0xfU1RSSU5HKGxhYmVsKSAiOlxuIiAgICAgICAgICAgICAgICAgIFwKLSAgICAiLmNmaV9kZWZf
Y2ZhIHJicCwgMFxuIiAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiLmNmaV9vZmZzZXQgMTYs
IDhcbiIgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAiLmNmaV9vZmZzZXQgNiwgMFxuIgor
ICAgICIuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2XG4iICAgICAgICAgICAgICAgICAgXAorICAgICIu
Y2ZpX29mZnNldCAlcmJwLCAtMTZcbiIgICAgICAgICAgICAgICAgICAgXAorICAgICIuY2ZpX2Rl
Zl9jZmFfcmVnaXN0ZXIgcmJwXG4iCiAjZWxzZQogI2RlZmluZSBPRkZMSU5FX0FTTV9HTE9CQUxf
TEFCRUwobGFiZWwpICAgICAgICAgXAogICAgICIudGV4dFxuIiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQppbmRleCBmMWE0NzBlYWVhYjkwMWMzYTc0
MWM5MDllM2E1MzY2MDliNDhmYWI0Li5jODhmZmNlYmQ0NmI4MDVhMDkxMGFkMTYzMTMxMjliMDFl
NWQxZTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjMyXzY0LmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQpAQCAtMSw0ICsxLDQgQEAKLSMgQ29weXJpZ2h0IChD
KSAyMDExLCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgQ29w
eXJpZ2h0IChDKSAyMDExLCAyMDEyLCAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTAyLDkgKzEwMiwxMSBA
QCBtYWNybyBjQ2FsbDIoZnVuY3Rpb24sIGFyZzEsIGFyZzIpCiAgICAgICAgIG1vdmUgYXJnMiwg
YTEKICAgICAgICAgY2FsbCBmdW5jdGlvbgogICAgIGVsc2lmIFg4NgotICAgICAgICBwb2tlIGFy
ZzEsIDAKLSAgICAgICAgcG9rZSBhcmcyLCAxCisgICAgICAgIHN1YnAgOCwgc3AKKyAgICAgICAg
cHVzaCBhcmcyCisgICAgICAgIHB1c2ggYXJnMQogICAgICAgICBjYWxsIGZ1bmN0aW9uCisgICAg
ICAgIGFkZHAgMTYsIHNwCiAgICAgZWxzaWYgU0g0CiAgICAgICAgIHNldGFyZ3MgYXJnMSwgYXJn
MgogICAgICAgICBjYWxsIGZ1bmN0aW9uCkBAIC0xMjQsMTEgKzEyNiwxMiBAQCBtYWNybyBjQ2Fs
bDQoZnVuY3Rpb24sIGFyZzEsIGFyZzIsIGFyZzMsIGFyZzQpCiAgICAgICAgIG1vdmUgYXJnNCwg
YTMKICAgICAgICAgY2FsbCBmdW5jdGlvbgogICAgIGVsc2lmIFg4NgotICAgICAgICBwb2tlIGFy
ZzEsIDAKLSAgICAgICAgcG9rZSBhcmcyLCAxCi0gICAgICAgIHBva2UgYXJnMywgMgotICAgICAg
ICBwb2tlIGFyZzQsIDMKKyAgICAgICAgcHVzaCBhcmc0CisgICAgICAgIHB1c2ggYXJnMworICAg
ICAgICBwdXNoIGFyZzIKKyAgICAgICAgcHVzaCBhcmcxCiAgICAgICAgIGNhbGwgZnVuY3Rpb24K
KyAgICAgICAgYWRkcCAxNiwgc3AKICAgICBlbHNpZiBTSDQKICAgICAgICAgc2V0YXJncyBhcmcx
LCBhcmcyLCBhcmczLCBhcmc0CiAgICAgICAgIGNhbGwgZnVuY3Rpb24KQEAgLTE0Miw4NSArMTQ1
LDQyIEBAIGVuZAogbWFjcm8gY2FsbFNsb3dQYXRoKHNsb3dQYXRoKQogICAgIGNDYWxsMihzbG93
UGF0aCwgY2ZyLCBQQykKICAgICBtb3ZlIHQwLCBQQwotICAgIG1vdmUgdDEsIGNmcgotZW5kCi0K
LW1hY3JvIGZ1bmN0aW9uUHJvbG9ndWUoZXh0cmFTdGFja1NwYWNlKQotICAgIGlmIFg4NgotICAg
ICAgICBwdXNoIGNmcgotICAgICAgICBtb3ZlIHNwLCBjZnIKLSAgICBlbmQKLSAgICBwdXNoQ2Fs
bGVlU2F2ZXMKLSAgICBpZiBBUk0gb3IgQVJNdjcgb3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgTUlQ
UwotICAgICAgICBwdXNoIGNmcgotICAgICAgICBwdXNoIGxyCi0gICAgZW5kCi0gICAgc3VicCBl
eHRyYVN0YWNrU3BhY2UsIHNwCiBlbmQKIAotbWFjcm8gZnVuY3Rpb25FcGlsb2d1ZShleHRyYVN0
YWNrU3BhY2UpCi0gICAgYWRkcCBleHRyYVN0YWNrU3BhY2UsIHNwCi0gICAgaWYgQVJNIG9yIEFS
TXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIE1JUFMKLSAgICAgICAgcG9wIGxyCi0gICAgICAg
IHBvcCBjZnIKLSAgICBlbmQKLSAgICBwb3BDYWxsZWVTYXZlcworbWFjcm8gZG9DYWxsVG9KYXZh
U2NyaXB0KG1ha2VDYWxsKQogICAgIGlmIFg4NgotICAgICAgICBwb3AgY2ZyCi0gICAgZW5kCi1l
bmQKKyAgICAgICAgY29uc3QgZW50cnkgPSB0NAorICAgICAgICBjb25zdCB2bSA9IHQzCisgICAg
ICAgIGNvbnN0IHByb3RvQ2FsbEZyYW1lID0gdDUKIAotbWFjcm8gZG9DYWxsVG9KYXZhU2NyaXB0
KG1ha2VDYWxsLCBkb1JldHVybikKLSAgICBpZiBYODYKLSAgICAgICAgY29uc3QgZW50cnkgPSB0
NQotICAgICAgICBjb25zdCB2bVRvcENhbGxGcmFtZSA9IHQyCi0gICAgICAgIGNvbnN0IHByb3Rv
Q2FsbEZyYW1lID0gdDQKLQotICAgICAgICBjb25zdCBleHRyYVN0YWNrU3BhY2UgPSAyOAogICAg
ICAgICBjb25zdCBwcmV2aW91c0NGUiA9IHQwCiAgICAgICAgIGNvbnN0IHByZXZpb3VzUEMgPSB0
MQogICAgICAgICBjb25zdCB0ZW1wMSA9IHQwICMgU2FtZSBhcyBwcmV2aW91c0NGUgogICAgICAg
ICBjb25zdCB0ZW1wMiA9IHQxICMgU2FtZSBhcyBwcmV2aW91c1BDCi0gICAgICAgIGNvbnN0IHRl
bXAzID0gdDIgIyBzYW1lIGFzIHZtVG9wQ2FsbEZyYW1lCi0gICAgICAgIGNvbnN0IHRlbXA0ID0g
dDMKLSAgICBlbHNpZiBBUk0gb3IgQVJNdjdfVFJBRElUSU9OQUwKLSAgICAgICAgY29uc3QgZW50
cnkgPSBhMAotICAgICAgICBjb25zdCB2bVRvcENhbGxGcmFtZSA9IGExCi0gICAgICAgIGNvbnN0
IHByb3RvQ2FsbEZyYW1lID0gYTIKLSAgICAgICAgY29uc3QgdG9wT2ZTdGFjayA9IGEzCi0KLSAg
ICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNlID0gMTYKLSAgICAgICAgY29uc3QgcHJldmlvdXND
RlIgPSB0MwotICAgICAgICBjb25zdCBwcmV2aW91c1BDID0gbHIKLSAgICAgICAgY29uc3QgdGVt
cDEgPSB0MyAjIFNhbWUgYXMgcHJldmlvdXNDRlIKLSAgICAgICAgY29uc3QgdGVtcDIgPSBhMyAj
IFNhbWUgYXMgdG9wT2ZTdGFjawotICAgICAgICBjb25zdCB0ZW1wMyA9IHQ0Ci0gICAgICAgIGNv
bnN0IHRlbXA0ID0gdDUKLSAgICBlbHNpZiBBUk12NworICAgICAgICBjb25zdCB0ZW1wMyA9IHQy
CisgICAgICAgIGNvbnN0IHRlbXA0ID0gdDMgIyBzYW1lIGFzIHZtCisgICAgZWxzaWYgQVJNIG9y
IEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIENfTE9PUAogICAgICAgICBjb25zdCBlbnRy
eSA9IGEwCi0gICAgICAgIGNvbnN0IHZtVG9wQ2FsbEZyYW1lID0gYTEKKyAgICAgICAgY29uc3Qg
dm0gPSBhMQogICAgICAgICBjb25zdCBwcm90b0NhbGxGcmFtZSA9IGEyCi0gICAgICAgIGNvbnN0
IHRvcE9mU3RhY2sgPSBhMwogCi0gICAgICAgIGNvbnN0IGV4dHJhU3RhY2tTcGFjZSA9IDI4CiAg
ICAgICAgIGNvbnN0IHByZXZpb3VzQ0ZSID0gdDMKICAgICAgICAgY29uc3QgcHJldmlvdXNQQyA9
IGxyCiAgICAgICAgIGNvbnN0IHRlbXAxID0gdDMgIyBTYW1lIGFzIHByZXZpb3VzQ0ZSCi0gICAg
ICAgIGNvbnN0IHRlbXAyID0gYTMgIyBTYW1lIGFzIHRvcE9mU3RhY2sKLSAgICAgICAgY29uc3Qg
dGVtcDMgPSB0NAotICAgICAgICBjb25zdCB0ZW1wNCA9IHQ1CisgICAgICAgIGNvbnN0IHRlbXAy
ID0gdDQKKyAgICAgICAgY29uc3QgdGVtcDMgPSB0NQorICAgICAgICBjb25zdCB0ZW1wNCA9IHQ0
ICMgU2FtZSBhcyB0ZW1wMgogICAgIGVsc2lmIE1JUFMKICAgICAgICAgY29uc3QgZW50cnkgPSBh
MAogICAgICAgICBjb25zdCB2bVRvcENhbGxGcmFtZSA9IGExCiAgICAgICAgIGNvbnN0IHByb3Rv
Q2FsbEZyYW1lID0gYTIKICAgICAgICAgY29uc3QgdG9wT2ZTdGFjayA9IGEzCiAKLSAgICAgICAg
Y29uc3QgZXh0cmFTdGFja1NwYWNlID0gMzYKICAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0
MgogICAgICAgICBjb25zdCBwcmV2aW91c1BDID0gbHIKICAgICAgICAgY29uc3QgdGVtcDEgPSB0
MwotICAgICAgICBjb25zdCB0ZW1wMiA9IHQ0Ci0gICAgICAgIGNvbnN0IHRlbXAzID0gdDUKKyAg
ICAgICAgY29uc3QgdGVtcDIgPSB0NQorICAgICAgICBjb25zdCB0ZW1wMyA9IHQ0CiAgICAgICAg
IGNvbnN0IHRlbXA0ID0gdDYKICAgICBlbHNpZiBTSDQKICAgICAgICAgY29uc3QgZW50cnkgPSBh
MApAQCAtMjI4LDcgKzE4OCw2IEBAIG1hY3JvIGRvQ2FsbFRvSmF2YVNjcmlwdChtYWtlQ2FsbCwg
ZG9SZXR1cm4pCiAgICAgICAgIGNvbnN0IHByb3RvQ2FsbEZyYW1lID0gYTIKICAgICAgICAgY29u
c3QgdG9wT2ZTdGFjayA9IGEzCiAKLSAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNlID0gMjAK
ICAgICAgICAgY29uc3QgcHJldmlvdXNDRlIgPSB0MwogICAgICAgICBjb25zdCBwcmV2aW91c1BD
ID0gbHIKICAgICAgICAgY29uc3QgdGVtcDEgPSB0MyAjIFNhbWUgYXMgcHJldmlvdXNDRlIKQEAg
LTIzNyw0OSArMTk2LDc4IEBAIG1hY3JvIGRvQ2FsbFRvSmF2YVNjcmlwdChtYWtlQ2FsbCwgZG9S
ZXR1cm4pCiAgICAgICAgIGNvbnN0IHRlbXA0ID0gdDkKICAgICBlbmQKIAorICAgIGNhbGxUb0ph
dmFTY3JpcHRQcm9sb2d1ZSgpCisKICAgICBpZiBYODYKLSAgICAgICAgbG9hZHAgW3NwXSwgcHJl
dmlvdXNQQwotICAgICAgICBtb3ZlIGNmciwgcHJldmlvdXNDRlIKLSAgICBlbmQKLSAgICBmdW5j
dGlvblByb2xvZ3VlKGV4dHJhU3RhY2tTcGFjZSkKLSAgICBpZiBYODYKLSAgICAgICAgbG9hZHAg
ZXh0cmFTdGFja1NwYWNlKzIwW3NwXSwgZW50cnkKLSAgICAgICAgbG9hZHAgZXh0cmFTdGFja1Nw
YWNlKzI0W3NwXSwgdm1Ub3BDYWxsRnJhbWUKLSAgICAgICAgbG9hZHAgZXh0cmFTdGFja1NwYWNl
KzI4W3NwXSwgcHJvdG9DYWxsRnJhbWUKLSAgICAgICAgbG9hZHAgZXh0cmFTdGFja1NwYWNlKzMy
W3NwXSwgY2ZyCisgICAgICAgIGxvYWRwIDM2W3NwXSwgdm0KKyAgICAgICAgbG9hZHAgMzJbc3Bd
LCBlbnRyeQogICAgIGVsc2UKICAgICAgICAgbW92ZSBjZnIsIHByZXZpb3VzQ0ZSCi0gICAgICAg
IG1vdmUgdG9wT2ZTdGFjaywgY2ZyCiAgICAgZW5kCiAKLSAgICBzdWJwIChDYWxsRnJhbWVIZWFk
ZXJTbG90cy0xKSo4LCBjZnIKLSAgICBzdG9yZXAgMCwgQXJndW1lbnRDb3VudCs0W2Nmcl0KKyAg
ICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0ZW1wMiwgMHhiYWQwZGMwMSkKKworICAgICMg
VGhlIHN0YWNrIHJlc2VydmVkIHpvbmUgZW5zdXJlcyB0aGF0IHdlIGhhdmUgYWRlcXVhdGUgc3Bh
Y2UgZm9yIHRoZQorICAgICMgVk1FbnRyeVNlbnRpbmVsRnJhbWUuIFByb2NlZWQgd2l0aCBhbGxv
Y2F0aW5nIGFuZCBpbml0aWFsaXppbmcgdGhlCisgICAgIyBzZW50aW5lbCBmcmFtZS4KKyAgICBt
b3ZlIHNwLCBjZnIKKyAgICBzdWJwIENhbGxGcmFtZUhlYWRlclNsb3RzICogOCwgY2ZyCiAgICAg
c3RvcmVwIDAsIEFyZ3VtZW50Q291bnRbY2ZyXQotICAgIHN0b3JlcCAwLCBDYWxsZWUrNFtjZnJd
Ci0gICAgc3RvcmVwIHZtVG9wQ2FsbEZyYW1lLCBDYWxsZWVbY2ZyXQotICAgIGxvYWRwIFt2bVRv
cENhbGxGcmFtZV0sIHRlbXA0Ci0gICAgc3RvcmVwIDAsIFNjb3BlQ2hhaW4rNFtjZnJdCi0gICAg
c3RvcmVwIHRlbXA0LCBTY29wZUNoYWluW2Nmcl0KLSAgICBzdG9yZXAgMCwgQ29kZUJsb2NrKzRb
Y2ZyXQorICAgIHN0b3JlcCB2bSwgQ2FsbGVlW2Nmcl0KKyAgICBsb2FkcCBWTTo6dG9wQ2FsbEZy
YW1lW3ZtXSwgdGVtcDIKKyAgICBzdG9yZXAgdGVtcDIsIFNjb3BlQ2hhaW5bY2ZyXQogICAgIHN0
b3JlcCAxLCBDb2RlQmxvY2tbY2ZyXQorICAgIGlmIFg4NgorICAgICAgICBsb2FkcCAyOFtzcF0s
IHByZXZpb3VzUEMKKyAgICAgICAgbG9hZHAgMjRbc3BdLCBwcmV2aW91c0NGUgorICAgIGVuZAog
ICAgIHN0b3JlcCBwcmV2aW91c1BDLCBSZXR1cm5QQ1tjZnJdCiAgICAgc3RvcmVwIHByZXZpb3Vz
Q0ZSLCBDYWxsZXJGcmFtZVtjZnJdCi0gICAgbW92ZSBjZnIsIHRlbXAxCisKKyAgICBpZiBYODYK
KyAgICAgICAgbG9hZHAgNDBbc3BdLCBwcm90b0NhbGxGcmFtZQorICAgIGVuZAogCiAgICAgbG9h
ZGkgUHJvdG9DYWxsRnJhbWU6OnBhZGRlZEFyZ0NvdW50W3Byb3RvQ2FsbEZyYW1lXSwgdGVtcDIK
ICAgICBhZGRwIENhbGxGcmFtZUhlYWRlclNsb3RzLCB0ZW1wMiwgdGVtcDIKICAgICBsc2hpZnRw
IDMsIHRlbXAyCi0gICAgc3VicCB0ZW1wMiwgY2ZyCi0gICAgc3RvcmVwIHRlbXAxLCBDYWxsZXJG
cmFtZVtjZnJdCisgICAgc3VicCBjZnIsIHRlbXAyLCB0ZW1wMQorCisgICAgIyBFbnN1cmUgdGhh
dCB3ZSBoYXZlIGVub3VnaCBhZGRpdGlvbmFsIHN0YWNrIGNhcGFjaXR5IGZvciB0aGUgaW5jb21p
bmcgYXJncywKKyAgICAjIGFuZCB0aGUgZnJhbWUgZm9yIHRoZSBKUyBjb2RlIHdlJ3JlIGV4ZWN1
dGluZy4gV2UgbmVlZCB0byBkbyB0aGlzIGNoZWNrCisgICAgIyBiZWZvcmUgd2Ugc3RhcnQgY29w
eWluZyB0aGUgYXJncyBmcm9tIHRoZSBwcm90b0NhbGxGcmFtZSBiZWxvdy4KKyAgICBicGFlcSB0
ZW1wMSwgVk06Om1fanNTdGFja0xpbWl0W3ZtXSwgLnN0YWNrSGVpZ2h0T0sKKworICAgIHN1YnAg
Y2ZyLCA4LCBzcAorCisgICAgaWYgQ19MT09QCisgICAgICAgIG1vdmUgZW50cnksIHRlbXAyCisg
ICAgICAgIG1vdmUgdm0sIHRlbXAzCisgICAgICAgIGNsb29wQ2FsbFNsb3dQYXRoIF9sbGludF9z
dGFja19jaGVja19hdF92bV9lbnRyeSwgdm0sIHRlbXAxCisgICAgICAgIGJwZXEgdDAsIDAsIC5z
dGFja0NoZWNrRmFpbGVkCisgICAgICAgIG1vdmUgdGVtcDIsIGVudHJ5CisgICAgICAgIG1vdmUg
dGVtcDMsIHZtCisgICAgICAgIGptcCAuc3RhY2tIZWlnaHRPSworCisuc3RhY2tDaGVja0ZhaWxl
ZDoKKyAgICAgICAgbW92ZSB0ZW1wMiwgZW50cnkKKyAgICAgICAgbW92ZSB0ZW1wMywgdm0KKyAg
ICBlbmQKIAorICAgIGNDYWxsMihfbGxpbnRfdGhyb3dfc3RhY2tfb3ZlcmZsb3dfZXJyb3IsIHZt
LCBwcm90b0NhbGxGcmFtZSkKKyAgICBjYWxsVG9KYXZhU2NyaXB0RXBpbG9ndWUoKQorICAgIHJl
dAorCisuc3RhY2tIZWlnaHRPSzoKKyAgICBtb3ZlIHRlbXAxLCBzcAogICAgIG1vdmUgNSwgdGVt
cDEKIAogLmNvcHlIZWFkZXJMb29wOgogICAgIHN1YmkgMSwgdGVtcDEKLSAgICBsb2FkcCBbcHJv
dG9DYWxsRnJhbWUsIHRlbXAxLCA4XSwgdGVtcDMKLSAgICBzdG9yZXAgdGVtcDMsIENvZGVCbG9j
a1tjZnIsIHRlbXAxLCA4XQotICAgIGxvYWRwIDRbcHJvdG9DYWxsRnJhbWUsIHRlbXAxLCA4XSwg
dGVtcDMKLSAgICBzdG9yZXAgdGVtcDMsIENvZGVCbG9jays0W2NmciwgdGVtcDEsIDhdCisgICAg
bG9hZGkgVGFnT2Zmc2V0W3Byb3RvQ2FsbEZyYW1lLCB0ZW1wMSwgOF0sIHRlbXAzCisgICAgc3Rv
cmVpIHRlbXAzLCBUYWdPZmZzZXQgKyBDb2RlQmxvY2tbc3AsIHRlbXAxLCA4XQorICAgIGxvYWRp
IFBheWxvYWRPZmZzZXRbcHJvdG9DYWxsRnJhbWUsIHRlbXAxLCA4XSwgdGVtcDMKKyAgICBzdG9y
ZWkgdGVtcDMsIFBheWxvYWRPZmZzZXQgKyBDb2RlQmxvY2tbc3AsIHRlbXAxLCA4XQogICAgIGJ0
aW56IHRlbXAxLCAuY29weUhlYWRlckxvb3AKIAogICAgIGxvYWRpIFByb3RvQ2FsbEZyYW1lOjph
cmdDb3VudEFuZENvZGVPcmlnaW5WYWx1ZVtwcm90b0NhbGxGcmFtZV0sIHRlbXAyCkBAIC0yODgs
MTIgKzI3NiwxMCBAQCBtYWNybyBkb0NhbGxUb0phdmFTY3JpcHQobWFrZUNhbGwsIGRvUmV0dXJu
KQogICAgIHN1YmkgMSwgdGVtcDMKIAogICAgIGJpZXEgdGVtcDIsIHRlbXAzLCAuY29weUFyZ3MK
LSAgICBtb3ZlIDAsIHRlbXAxCi0gICAgbW92ZSBVbmRlZmluZWRUYWcsIHRlbXA0CiAuZmlsbEV4
dHJhQXJnc0xvb3A6CiAgICAgc3ViaSAxLCB0ZW1wMwotICAgIHN0b3JlcCB0ZW1wMSwgVGhpc0Fy
Z3VtZW50T2Zmc2V0KzgrUGF5bG9hZE9mZnNldFtjZnIsIHRlbXAzLCA4XQotICAgIHN0b3JlcCB0
ZW1wNCwgVGhpc0FyZ3VtZW50T2Zmc2V0KzgrVGFnT2Zmc2V0W2NmciwgdGVtcDMsIDhdCisgICAg
c3RvcmVpIFVuZGVmaW5lZFRhZywgVGhpc0FyZ3VtZW50T2Zmc2V0ICsgOCArIFRhZ09mZnNldFtz
cCwgdGVtcDMsIDhdCisgICAgc3RvcmVpIDAsIFRoaXNBcmd1bWVudE9mZnNldCArIDggKyBQYXls
b2FkT2Zmc2V0W3NwLCB0ZW1wMywgOF0KICAgICBiaW5lcSB0ZW1wMiwgdGVtcDMsIC5maWxsRXh0
cmFBcmdzTG9vcAogCiAuY29weUFyZ3M6CkBAIC0zMDIsNTIgKzI4OCw4NyBAQCBtYWNybyBkb0Nh
bGxUb0phdmFTY3JpcHQobWFrZUNhbGwsIGRvUmV0dXJuKQogLmNvcHlBcmdzTG9vcDoKICAgICBi
dGl6IHRlbXAyLCAuY29weUFyZ3NEb25lCiAgICAgc3ViaSAxLCB0ZW1wMgotICAgIGxvYWRwIFBh
eWxvYWRPZmZzZXRbdGVtcDEsIHRlbXAyLCA4XSwgdGVtcDMKLSAgICBsb2FkcCBUYWdPZmZzZXRb
dGVtcDEsIHRlbXAyLCA4XSwgdGVtcDQKLSAgICBzdG9yZXAgdGVtcDMsIFRoaXNBcmd1bWVudE9m
ZnNldCs4K1BheWxvYWRPZmZzZXRbY2ZyLCB0ZW1wMiwgOF0KLSAgICBzdG9yZXAgdGVtcDQsIFRo
aXNBcmd1bWVudE9mZnNldCs4K1RhZ09mZnNldFtjZnIsIHRlbXAyLCA4XQorICAgIGxvYWRpIFRh
Z09mZnNldFt0ZW1wMSwgdGVtcDIsIDhdLCB0ZW1wMworICAgIHN0b3JlaSB0ZW1wMywgVGhpc0Fy
Z3VtZW50T2Zmc2V0ICsgOCArIFRhZ09mZnNldFtzcCwgdGVtcDIsIDhdCisgICAgbG9hZGkgUGF5
bG9hZE9mZnNldFt0ZW1wMSwgdGVtcDIsIDhdLCB0ZW1wMworICAgIHN0b3JlaSB0ZW1wMywgVGhp
c0FyZ3VtZW50T2Zmc2V0ICsgOCArIFBheWxvYWRPZmZzZXRbc3AsIHRlbXAyLCA4XQogICAgIGpt
cCAuY29weUFyZ3NMb29wCiAKIC5jb3B5QXJnc0RvbmU6Ci0gICAgaWYgWDg2Ci0gICAgICAgIGxv
YWRwIGV4dHJhU3RhY2tTcGFjZSsyNFtzcF0sIHZtVG9wQ2FsbEZyYW1lCi0gICAgZW5kCi0gICAg
c3RvcmVwIGNmciwgW3ZtVG9wQ2FsbEZyYW1lXQorICAgIHN0b3JlcCBzcCwgVk06OnRvcENhbGxG
cmFtZVt2bV0KIAotICAgIG1ha2VDYWxsKGVudHJ5LCB0ZW1wMSkKKyAgICBtYWtlQ2FsbChlbnRy
eSwgdGVtcDEsIHRlbXAyKQogCiAgICAgYnBlcSBDb2RlQmxvY2tbY2ZyXSwgMSwgLmNhbGxlZUZy
YW1lUG9wcGVkCiAgICAgbG9hZHAgQ2FsbGVyRnJhbWVbY2ZyXSwgY2ZyCiAKIC5jYWxsZWVGcmFt
ZVBvcHBlZDoKLSAgICBsb2FkcCBDYWxsZWVbY2ZyXSwgdGVtcDMgIyBWTS50b3BDYWxsRnJhbWUK
LSAgICBsb2FkcCBTY29wZUNoYWluW2Nmcl0sIHRlbXA0Ci0gICAgc3RvcmVwIHRlbXA0LCBbdGVt
cDNdCisgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHRlbXAzICMgVk0KKyAgICBsb2FkcCBTY29wZUNo
YWluW2Nmcl0sIHRlbXA0ICMgcHJldmlvdXMgdG9wQ2FsbEZyYW1lCisgICAgc3RvcmVwIHRlbXA0
LCBWTTo6dG9wQ2FsbEZyYW1lW3RlbXAzXQogCi0gICAgZG9SZXR1cm4oZXh0cmFTdGFja1NwYWNl
KQorICAgIGNhbGxUb0phdmFTY3JpcHRFcGlsb2d1ZSgpCisgICAgcmV0CiBlbmQKIAotbWFjcm8g
bWFrZUphdmFTY3JpcHRDYWxsKGVudHJ5LCB0ZW1wKQotICAgIGNhbGwgZW50cnkKK21hY3JvIG1h
a2VKYXZhU2NyaXB0Q2FsbChlbnRyeSwgdGVtcCwgdW51c2VkKQorICAgIGFkZHAgQ2FsbGVyRnJh
bWVBbmRQQ1NpemUsIHNwCisgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDIsIDB4YmFk
MGRjMDIpCisgICAgaWYgQ19MT09QCisgICAgICAgIGNsb29wQ2FsbEpTRnVuY3Rpb24gZW50cnkK
KyAgICBlbHNlCisgICAgICAgIGNhbGwgZW50cnkKKyAgICBlbmQKKyAgICBjaGVja1N0YWNrUG9p
bnRlckFsaWdubWVudCh0MiwgMHhiYWQwZGMwMykKKyAgICBzdWJwIENhbGxlckZyYW1lQW5kUENT
aXplLCBzcAogZW5kCiAKLW1hY3JvIG1ha2VIb3N0RnVuY3Rpb25DYWxsKGVudHJ5LCB0ZW1wKQot
ICAgIG1vdmUgZW50cnksIHRlbXAKLSAgICBpZiBYODYKLSAgICAgICAgIyBQdXQgY2ZyIG9uIHN0
YWNrIGFzIGFyZzAsIGFsc28gcHV0IGl0IGluIGVjeCBmb3IgImZhc3RjYWxsIiB0YXJnZXRzCi0g
ICAgICAgIHBva2UgY2ZyLCAwCi0gICAgICAgIG1vdmUgY2ZyLCB0MgorbWFjcm8gbWFrZUhvc3RG
dW5jdGlvbkNhbGwoZW50cnksIHRlbXAxLCB0ZW1wMikKKyAgICBtb3ZlIGVudHJ5LCB0ZW1wMQor
ICAgIGlmIENfTE9PUAorICAgICAgICBtb3ZlIHNwLCBhMAorICAgICAgICBzdG9yZXAgY2ZyLCBb
c3BdCisgICAgICAgIHN0b3JlcCBsciwgUHRyU2l6ZVtzcF0KKyAgICAgICAgY2xvb3BDYWxsTmF0
aXZlIHRlbXAxCiAgICAgZWxzZQotICAgICAgICBtb3ZlIGNmciwgYTAKKyAgICAgICAgaWYgWDg2
CisgICAgICAgICAgICAjIFB1dCBjYWxsZWUgZnJhbWUgcG9pbnRlciBvbiBzdGFjayBhcyBhcmcw
LCBhbHNvIHB1dCBpdCBpbiBlY3ggZm9yICJmYXN0Y2FsbCIgdGFyZ2V0cworICAgICAgICAgICAg
bW92ZSAwLCB0ZW1wMgorICAgICAgICAgICAgbW92ZSB0ZW1wMiwgNFtzcF0gIyBwdXQgMCBpbiBS
ZXR1cm5QQworICAgICAgICAgICAgbW92ZSBjZnIsIFtzcF0gIyBwdXQgY2FsbGVyIGZyYW1lIHBv
aW50ZXIgaW50byBjYWxsZWUgZnJhbWUgc2luY2UgY2FsbGVlIHByb2xvZ3VlIGNhbid0CisgICAg
ICAgICAgICBtb3ZlIHNwLCB0MiAjIHQyIGlzIGVjeAorICAgICAgICAgICAgcHVzaCB0ZW1wMiAj
IFB1c2ggZHVtbXkgYXJnMQorICAgICAgICAgICAgcHVzaCB0MgorICAgICAgICBlbHNlCisgICAg
ICAgICAgICBtb3ZlIHNwLCBhMAorICAgICAgICAgICAgYWRkcCBDYWxsZXJGcmFtZUFuZFBDU2l6
ZSwgc3AKKyAgICAgICAgZW5kCisgICAgICAgIGNhbGwgdGVtcDEKKyAgICAgICAgaWYgWDg2Cisg
ICAgICAgICAgICBhZGRwIDgsIHNwCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHN1YnAgQ2Fs
bGVyRnJhbWVBbmRQQ1NpemUsIHNwCisgICAgICAgIGVuZAogICAgIGVuZAotICAgIGNhbGwgdGVt
cAogZW5kCiAKLW1hY3JvIGRvUmV0dXJuRnJvbUphdmFTY3JpcHQoZXh0cmFTdGFja1NwYWNlKQot
X3JldHVybkZyb21KYXZhU2NyaXB0OgotICAgIGZ1bmN0aW9uRXBpbG9ndWUoZXh0cmFTdGFja1Nw
YWNlKQorX2hhbmRsZVVuY2F1Z2h0RXhjZXB0aW9uOgorICAgIGxvYWRwIFNjb3BlQ2hhaW4gKyBQ
YXlsb2FkT2Zmc2V0W2Nmcl0sIHQzCisgICAgYW5kcCBNYXJrZWRCbG9ja01hc2ssIHQzCisgICAg
bG9hZHAgTWFya2VkQmxvY2s6Om1fd2Vha1NldCArIFdlYWtTZXQ6Om1fdm1bdDNdLCB0MworICAg
IGxvYWRwIFZNOjpjYWxsRnJhbWVGb3JUaHJvd1t0M10sIGNmcgorCisgICAgIyBTbyBmYXIsIHdl
J3ZlIHVud291bmQgdGhlIHN0YWNrIHRvIHRoZSBmcmFtZSBqdXN0IGJlbG93IHRoZSBzZW50aW5l
bCBmcmFtZS4KKyAgICAjIFdlIG5lZWQgdG8gcG9wIHRvIHRoZSBzZW50aW5lbCBmcmFtZSBhbmQg
ZG8gdGhlIG5lY2Vzc2FyeSBjbGVhbiB1cCBmb3IKKyAgICAjIHJldHVybmluZyB0byB0aGUgY2Fs
bGVyIEMgZnJhbWUuCisgICAgbG9hZHAgQ2FsbGVyRnJhbWUgKyBQYXlsb2FkT2Zmc2V0W2Nmcl0s
IGNmcgorCisgICAgbG9hZHAgQ2FsbGVlICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0MyAjIFZNCisg
ICAgbG9hZHAgU2NvcGVDaGFpbiArIFBheWxvYWRPZmZzZXRbY2ZyXSwgdDUgIyBwcmV2aW91cyB0
b3BDYWxsRnJhbWUKKyAgICBzdG9yZXAgdDUsIFZNOjp0b3BDYWxsRnJhbWVbdDNdCisKKyAgICBj
YWxsVG9KYXZhU2NyaXB0RXBpbG9ndWUoKQogICAgIHJldAotZW5kCiAKIG1hY3JvIGRvUmV0dXJu
RnJvbUhvc3RGdW5jdGlvbihleHRyYVN0YWNrU3BhY2UpCiAgICAgZnVuY3Rpb25FcGlsb2d1ZShl
eHRyYVN0YWNrU3BhY2UpCkBAIC0zNzcsMTQgKzM5OCwxMiBAQCBlbmQKIG1hY3JvIGNhbGxDYWxs
U2xvd1BhdGgoc2xvd1BhdGgsIGFjdGlvbikKICAgICBzdG9yZXAgUEMsIEFyZ3VtZW50Q291bnQg
KyBUYWdPZmZzZXRbY2ZyXQogICAgIGNDYWxsMihzbG93UGF0aCwgY2ZyLCBQQykKLSAgICBtb3Zl
IHQxLCBjZnIKICAgICBhY3Rpb24odDApCiBlbmQKIAogbWFjcm8gY2FsbFdhdGNoZG9nVGltZXJI
YW5kbGVyKHRocm93SGFuZGxlcikKICAgICBzdG9yZWkgUEMsIEFyZ3VtZW50Q291bnQgKyBUYWdP
ZmZzZXRbY2ZyXQogICAgIGNDYWxsMihfbGxpbnRfc2xvd19wYXRoX2hhbmRsZV93YXRjaGRvZ190
aW1lciwgY2ZyLCBQQykKLSAgICBtb3ZlIHQxLCBjZnIKICAgICBidHBueiB0MCwgdGhyb3dIYW5k
bGVyCiAgICAgbG9hZGkgQXJndW1lbnRDb3VudCArIFRhZ09mZnNldFtjZnJdLCBQQwogZW5kCkBA
IC0zOTUsOCArNDE0LDggQEAgbWFjcm8gY2hlY2tTd2l0Y2hUb0pJVEZvckxvb3AoKQogICAgICAg
ICBtYWNybyAoKQogICAgICAgICAgICAgc3RvcmVpIFBDLCBBcmd1bWVudENvdW50ICsgVGFnT2Zm
c2V0W2Nmcl0KICAgICAgICAgICAgIGNDYWxsMihfbGxpbnRfbG9vcF9vc3IsIGNmciwgUEMpCi0g
ICAgICAgICAgICBtb3ZlIHQxLCBjZnIKICAgICAgICAgICAgIGJ0cHogdDAsIC5yZWNvdmVyCisg
ICAgICAgICAgICBtb3ZlIHQxLCBzcAogICAgICAgICAgICAgam1wIHQwCiAgICAgICAgIC5yZWNv
dmVyOgogICAgICAgICAgICAgbG9hZGkgQXJndW1lbnRDb3VudCArIFRhZ09mZnNldFtjZnJdLCBQ
QwpAQCAtNTUzLDE4ICs1NzIsMzQgQEAgZW5kCiAjIEVudHJ5cG9pbnRzIGludG8gdGhlIGludGVy
cHJldGVyCiAKICMgRXhwZWN0cyB0aGF0IENvZGVCbG9jayBpcyBpbiB0MSwgd2hpY2ggaXMgd2hh
dCBwcm9sb2d1ZSgpIGxlYXZlcyBiZWhpbmQuCi1tYWNybyBmdW5jdGlvbkFyaXR5Q2hlY2soZG9u
ZUxhYmVsLCBzbG93X3BhdGgpCittYWNybyBmdW5jdGlvbkFyaXR5Q2hlY2soZG9uZUxhYmVsLCBz
bG93UGF0aCkKICAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0ICsgQXJndW1lbnRDb3VudFtjZnJdLCB0
MAogICAgIGJpYWVxIHQwLCBDb2RlQmxvY2s6Om1fbnVtUGFyYW1ldGVyc1t0MV0sIGRvbmVMYWJl
bAotICAgIGNDYWxsMihzbG93X3BhdGgsIGNmciwgUEMpICAgIyBUaGlzIHNsb3dfcGF0aCBoYXMg
YSBzaW1wbGUgcHJvdG9jb2w6IHQwID0gMCA9PiBubyBlcnJvciwgdDAgIT0gMCA9PiBlcnJvcgot
ICAgIGJ0aXogdDAsIC5pc0FyaXR5Rml4dXBOZWVkZWQKKyAgICBjQ2FsbDIoc2xvd1BhdGgsIGNm
ciwgUEMpICAgIyBUaGlzIHNsb3dQYXRoIGhhcyBhIHNpbXBsZSBwcm90b2NvbDogdDAgPSAwID0+
IG5vIGVycm9yLCB0MCAhPSAwID0+IGVycm9yCisgICAgYnRpeiB0MCwgLm5vRXJyb3IKICAgICBt
b3ZlIHQxLCBjZnIgICAjIHQxIGNvbnRhaW5zIGNhbGxlciBmcmFtZQogICAgIGptcCBfbGxpbnRf
dGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZQogCi0uaXNBcml0eUZpeHVwTmVlZGVkOgor
Lm5vRXJyb3I6CisgICAgIyB0MSBwb2ludHMgdG8gQXJpdHlDaGVja0RhdGEuCisgICAgbG9hZHAg
Q29tbW9uU2xvd1BhdGhzOjpBcml0eUNoZWNrRGF0YTo6dGh1bmtUb0NhbGxbdDFdLCB0MgorICAg
IGJ0cHogdDIsIC5wcm9jZWVkSW5saW5lCisgICAgCisgICAgbG9hZHAgQ29tbW9uU2xvd1BhdGhz
OjpBcml0eUNoZWNrRGF0YTo6cmV0dXJuUENbdDFdLCB0NQorICAgIGxvYWRwIENvbW1vblNsb3dQ
YXRoczo6QXJpdHlDaGVja0RhdGE6OnBhZGRlZFN0YWNrU3BhY2VbdDFdLCB0MAorICAgIGNhbGwg
dDIKKyAgICBpZiBBU1NFUlRfRU5BQkxFRAorICAgICAgICBsb2FkcCBSZXR1cm5QQ1tjZnJdLCB0
MAorICAgICAgICBsb2FkcCBbdDBdLCB0MAorICAgIGVuZAorICAgIGptcCAuY29udGludWUKKwor
LnByb2NlZWRJbmxpbmU6CisgICAgbG9hZGkgQ29tbW9uU2xvd1BhdGhzOjpBcml0eUNoZWNrRGF0
YTo6cGFkZGVkU3RhY2tTcGFjZVt0MV0sIHQxCiAgICAgYnRpeiB0MSwgLmNvbnRpbnVlCiAKLSAg
ICAvLyBNb3ZlIGZyYW1lIHVwICJ0MSIgc2xvdHMKKyAgICAvLyBNb3ZlIGZyYW1lIHVwICJ0MSAq
IDIiIHNsb3RzCisgICAgbHNoaWZ0cCAxLCB0MQogICAgIG5lZ2kgdDEKICAgICBtb3ZlIGNmciwg
dDMKICAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0ICsgQXJndW1lbnRDb3VudFtjZnJdLCB0MgpAQCAt
NTg5LDYgKzYyNCw3IEBAIG1hY3JvIGZ1bmN0aW9uQXJpdHlDaGVjayhkb25lTGFiZWwsIHNsb3df
cGF0aCkKIAogICAgIGxzaGlmdHAgMywgdDEKICAgICBhZGRwIHQxLCBjZnIKKyAgICBhZGRwIHQx
LCBzcAogLmNvbnRpbnVlOgogICAgICMgUmVsb2FkIENvZGVCbG9jayBhbmQgUEMsIHNpbmNlIHRo
ZSBzbG93X3BhdGggY2xvYmJlcmVkIGl0LgogICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MQpA
QCAtNTk2LDcgKzYzMiw2IEBAIG1hY3JvIGZ1bmN0aW9uQXJpdHlDaGVjayhkb25lTGFiZWwsIHNs
b3dfcGF0aCkKICAgICBqbXAgZG9uZUxhYmVsCiBlbmQKIAotCiBtYWNybyBicmFuY2hJZkV4Y2Vw
dGlvbihsYWJlbCkKICAgICBsb2FkcCBTY29wZUNoYWluW2Nmcl0sIHQzCiAgICAgYW5kcCBNYXJr
ZWRCbG9ja01hc2ssIHQzCkBAIC02MTEsNiArNjQ2LDcgQEAgZW5kCiAKIF9sbGludF9vcF9lbnRl
cjoKICAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQo
dDIsIDB4ZGVhZDAwZTEpCiAgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQyICAgICAgICAgICAg
ICAgIC8vIHQyPENvZGVCbG9jaz4gPSBjZnIuQ29kZUJsb2NrCiAgICAgbG9hZGkgQ29kZUJsb2Nr
OjptX251bVZhcnNbdDJdLCB0MiAgICAgIC8vIHQyPHNpemVfdD4gPSB0MjxDb2RlQmxvY2s+Lm1f
bnVtVmFycwogICAgIGJ0aXogdDIsIC5vcEVudGVyRG9uZQpAQCAtMTkyMCwxMiArMTk1NiwxMSBA
QCBtYWNybyBkb0NhbGwoc2xvd1BhdGgpCiAgICAgc3RvcmVpIHQwLCBTY29wZUNoYWluICsgUGF5
bG9hZE9mZnNldFt0M10KICAgICBsb2FkaSAxMltQQ10sIHQyCiAgICAgc3RvcmVpIFBDLCBBcmd1
bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0KLSAgICBzdG9yZXAgY2ZyLCBDYWxsZXJGcmFtZVt0
M10KICAgICBzdG9yZWkgdDIsIEFyZ3VtZW50Q291bnQgKyBQYXlsb2FkT2Zmc2V0W3QzXQogICAg
IHN0b3JlaSBDZWxsVGFnLCBDYWxsZWUgKyBUYWdPZmZzZXRbdDNdCiAgICAgc3RvcmVpIENlbGxU
YWcsIFNjb3BlQ2hhaW4gKyBUYWdPZmZzZXRbdDNdCi0gICAgbW92ZSB0MywgY2ZyCi0gICAgY2Fs
bFRhcmdldEZ1bmN0aW9uKHQxKQorICAgIGFkZHAgQ2FsbGVyRnJhbWVBbmRQQ1NpemUsIHQzCisg
ICAgY2FsbFRhcmdldEZ1bmN0aW9uKHQxLCB0MykKIAogLm9wQ2FsbFNsb3c6CiAgICAgc2xvd1Bh
dGhGb3JDYWxsKHNsb3dQYXRoKQpAQCAtMjAzOSwxMCArMjA3NCwxMiBAQCBfbGxpbnRfb3BfY2F0
Y2g6CiAgICAgIyB0aGUgaW50ZXJwcmV0ZXIncyB0aHJvdyB0cmFtcG9saW5lIChzZWUgX2xsaW50
X3Rocm93X3RyYW1wb2xpbmUpLgogICAgICMgVGhlIHRocm93aW5nIGNvZGUgbXVzdCBoYXZlIGtu
b3duIHRoYXQgd2Ugd2VyZSB0aHJvd2luZyB0byB0aGUgaW50ZXJwcmV0ZXIsCiAgICAgIyBhbmQg
aGF2ZSBzZXQgVk06OnRhcmdldEludGVycHJldGVyUENGb3JUaHJvdy4KLSAgICBsb2FkcCBTY29w
ZUNoYWluW2Nmcl0sIHQzCisgICAgbG9hZHAgU2NvcGVDaGFpbiArIFBheWxvYWRPZmZzZXRbY2Zy
XSwgdDMKICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKICAgICBsb2FkcCBNYXJrZWRCbG9j
azo6bV93ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0M10sIHQzCiAgICAgbG9hZHAgVk06OmNhbGxG
cmFtZUZvclRocm93W3QzXSwgY2ZyCisgICAgcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVyQ2FsbCgp
CisKICAgICBsb2FkaSBWTTo6dGFyZ2V0SW50ZXJwcmV0ZXJQQ0ZvclRocm93W3QzXSwgUEMKICAg
ICBsb2FkaSBWTTo6bV9leGNlcHRpb24gKyBQYXlsb2FkT2Zmc2V0W3QzXSwgdDAKICAgICBsb2Fk
aSBWTTo6bV9leGNlcHRpb24gKyBUYWdPZmZzZXRbdDNdLCB0MQpAQCAtMjExNiw3NCArMjE1Myw2
MiBAQCBfbGxpbnRfdGhyb3dfZHVyaW5nX2NhbGxfdHJhbXBvbGluZToKIAogCiBtYWNybyBuYXRp
dmVDYWxsVHJhbXBvbGluZShleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvbikKKworICAgIGZ1bmN0
aW9uUHJvbG9ndWUoKQogICAgIHN0b3JlcCAwLCBDb2RlQmxvY2tbY2ZyXQogICAgIGxvYWRwIENh
bGxlckZyYW1lW2Nmcl0sIHQwCiAgICAgbG9hZGkgU2NvcGVDaGFpbiArIFBheWxvYWRPZmZzZXRb
dDBdLCB0MQogICAgIHN0b3JlaSBDZWxsVGFnLCBTY29wZUNoYWluICsgVGFnT2Zmc2V0W2Nmcl0K
ICAgICBzdG9yZWkgdDEsIFNjb3BlQ2hhaW4gKyBQYXlsb2FkT2Zmc2V0W2Nmcl0KICAgICBpZiBY
ODYKLSAgICAgICAgbG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0MwotICAgICAgICBhbmRwIE1hcmtl
ZEJsb2NrTWFzaywgdDMKLSAgICAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fd2Vha1NldCArIFdl
YWtTZXQ6Om1fdm1bdDNdLCB0MworICAgICAgICBzdWJwIDgsIHNwICMgYWxpZ24gc3RhY2sgcG9p
bnRlcgorICAgICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDEKKyAgICAgICAgbG9hZHAgTWFy
a2VkQmxvY2s6Om1fd2Vha1NldCArIFdlYWtTZXQ6Om1fdm1bdDFdLCB0MwogICAgICAgICBzdG9y
ZXAgY2ZyLCBWTTo6dG9wQ2FsbEZyYW1lW3QzXQotICAgICAgICBwZWVrIDAsIHQxCi0gICAgICAg
IHN0b3JlcCB0MSwgUmV0dXJuUENbY2ZyXQogICAgICAgICBtb3ZlIGNmciwgdDIgICMgdDIgPSBl
Y3gKLSAgICAgICAgc3VicCAxNiAtIDQsIHNwCisgICAgICAgIHN0b3JlcCB0MiwgW3NwXQogICAg
ICAgICBsb2FkaSBDYWxsZWUgKyBQYXlsb2FkT2Zmc2V0W2Nmcl0sIHQxCiAgICAgICAgIGxvYWRw
IEpTRnVuY3Rpb246Om1fZXhlY3V0YWJsZVt0MV0sIHQxCi0gICAgICAgIG1vdmUgdDAsIGNmcgor
ICAgICAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0MywgMHhkZWFkMDAwMSkKICAgICAg
ICAgY2FsbCBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvblt0MV0KLSAgICAgICAgYWRkcCAxNiAt
IDQsIHNwCi0gICAgICAgIGxvYWRwIFNjb3BlQ2hhaW5bY2ZyXSwgdDMKLSAgICAgICAgYW5kcCBN
YXJrZWRCbG9ja01hc2ssIHQzCi0gICAgICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3dlYWtTZXQg
KyBXZWFrU2V0OjptX3ZtW3QzXSwgdDMKLSAgICBlbHNpZiBBUk0gb3IgQVJNdjcgb3IgQVJNdjdf
VFJBRElUSU9OQUwgb3IgTUlQUyBvciBTSDQKICAgICAgICAgbG9hZHAgU2NvcGVDaGFpbltjZnJd
LCB0MwogICAgICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKICAgICAgICAgbG9hZHAgTWFy
a2VkQmxvY2s6Om1fd2Vha1NldCArIFdlYWtTZXQ6Om1fdm1bdDNdLCB0MwotICAgICAgICBzdG9y
ZXAgY2ZyLCBWTTo6dG9wQ2FsbEZyYW1lW3QzXQotICAgICAgICBtb3ZlIHQwLCB0MgotICAgICAg
ICBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwodDMpCi0gICAgICAgIHN0b3JlcCB0Mywg
UmV0dXJuUENbY2ZyXQotICAgICAgICBtb3ZlIGNmciwgdDAKLSAgICAgICAgbG9hZGkgQ2FsbGVl
ICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0MQotICAgICAgICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4
ZWN1dGFibGVbdDFdLCB0MQotICAgICAgICBtb3ZlIHQyLCBjZnIKKyAgICAgICAgYWRkcCA4LCBz
cAorICAgIGVsc2lmIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTCBvciBDX0xPT1Ag
b3IgTUlQUyBvciBTSDQKKyAgICAgICAgc3VicCA4LCBzcCAjIGFsaWduIHN0YWNrIHBvaW50ZXIK
KyAgICAgICAgIyB0MSBhbHJlYWR5IGNvbnRhaW5zIHRoZSBTY29wZUNoYWluLgorICAgICAgICBh
bmRwIE1hcmtlZEJsb2NrTWFzaywgdDEKKyAgICAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fd2Vh
a1NldCArIFdlYWtTZXQ6Om1fdm1bdDFdLCB0MQorICAgICAgICBzdG9yZXAgY2ZyLCBWTTo6dG9w
Q2FsbEZyYW1lW3QxXQogICAgICAgICBpZiBNSVBTIG9yIFNINAotICAgICAgICAgICAgbW92ZSB0
MCwgYTAKKyAgICAgICAgICAgIG1vdmUgY2ZyLCBhMAorICAgICAgICBlbHNlCisgICAgICAgICAg
ICBtb3ZlIGNmciwgdDAKICAgICAgICAgZW5kCi0gICAgICAgIGNhbGwgZXhlY3V0YWJsZU9mZnNl
dFRvRnVuY3Rpb25bdDFdCi0gICAgICAgIHJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJu
KHQzKQotICAgICAgICBsb2FkcCBTY29wZUNoYWluW2Nmcl0sIHQzCi0gICAgICAgIGFuZHAgTWFy
a2VkQmxvY2tNYXNrLCB0MwotICAgICAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV93ZWFrU2V0ICsg
V2Vha1NldDo6bV92bVt0M10sIHQzCi0gICAgZWxzaWYgQ19MT09QCi0gICAgICAgIGxvYWRwIFNj
b3BlQ2hhaW5bY2ZyXSwgdDMKLSAgICAgICAgYW5kcCBNYXJrZWRCbG9ja01hc2ssIHQzCi0gICAg
ICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3dlYWtTZXQgKyBXZWFrU2V0OjptX3ZtW3QzXSwgdDMK
LSAgICAgICAgc3RvcmVwIGNmciwgVk06OnRvcENhbGxGcmFtZVt0M10KLSAgICAgICAgbW92ZSB0
MCwgdDIKLSAgICAgICAgcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKHQzKQotICAgICAg
ICBzdG9yZXAgdDMsIFJldHVyblBDW2Nmcl0KLSAgICAgICAgbW92ZSBjZnIsIHQwCiAgICAgICAg
IGxvYWRpIENhbGxlZSArIFBheWxvYWRPZmZzZXRbY2ZyXSwgdDEKICAgICAgICAgbG9hZHAgSlNG
dW5jdGlvbjo6bV9leGVjdXRhYmxlW3QxXSwgdDEKLSAgICAgICAgbW92ZSB0MiwgY2ZyCi0gICAg
ICAgIGNsb29wQ2FsbE5hdGl2ZSBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvblt0MV0KLSAgICAg
ICAgcmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4odDMpCisgICAgICAgIGNoZWNrU3Rh
Y2tQb2ludGVyQWxpZ25tZW50KHQzLCAweGRlYWQwMDAxKQorICAgICAgICBpZiBDX0xPT1AKKyAg
ICAgICAgICAgIGNsb29wQ2FsbE5hdGl2ZSBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvblt0MV0K
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgY2FsbCBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlv
blt0MV0KKyAgICAgICAgZW5kCiAgICAgICAgIGxvYWRwIFNjb3BlQ2hhaW5bY2ZyXSwgdDMKICAg
ICAgICAgYW5kcCBNYXJrZWRCbG9ja01hc2ssIHQzCiAgICAgICAgIGxvYWRwIE1hcmtlZEJsb2Nr
OjptX3dlYWtTZXQgKyBXZWFrU2V0OjptX3ZtW3QzXSwgdDMKKyAgICAgICAgYWRkcCA4LCBzcAog
ICAgIGVsc2UKICAgICAgICAgZXJyb3IKICAgICBlbmQKLSAgICBiaW5lcSBWTTo6bV9leGNlcHRp
b24gKyBUYWdPZmZzZXRbdDNdLCBFbXB0eVZhbHVlVGFnLCAuZXhjZXB0aW9uCisgICAgCisgICAg
ZnVuY3Rpb25FcGlsb2d1ZSgpCisgICAgYmluZXEgVk06Om1fZXhjZXB0aW9uICsgVGFnT2Zmc2V0
W3QzXSwgRW1wdHlWYWx1ZVRhZywgLmhhbmRsZUV4Y2VwdGlvbgogICAgIHJldAotLmV4Y2VwdGlv
bjoKLSAgICBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwodDEpICMgVGhpcyBpcyByZWFs
bHkgb25seSBuZWVkZWQgb24gWDg2Ci0gICAgbG9hZGkgQXJndW1lbnRDb3VudCArIFRhZ09mZnNl
dFtjZnJdLCBQQwotICAgIGNhbGxTbG93UGF0aChfbGxpbnRfdGhyb3dfZnJvbV9uYXRpdmVfY2Fs
bCkKKworLmhhbmRsZUV4Y2VwdGlvbjoKKyAgICBzdG9yZXAgY2ZyLCBWTTo6dG9wQ2FsbEZyYW1l
W3QzXQorICAgIHJlc3RvcmVTdGFja1BvaW50ZXJBZnRlckNhbGwoKQogICAgIGptcCBfbGxpbnRf
dGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZQogZW5kCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KaW5kZXggMWJj
NWVkNjhkN2U0NjQ0ZjdkNzEzOTAxYzZhNDUwYzVmOTVjNDgyNS4uZDIwYmI2NTkyZjBhNzRjNjVj
YTQyYmNmMjMwNGIyYzM0ODhmY2NhYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KQEAgLTEsNCArMSw0IEBACi0jIENv
cHlyaWdodCAoQykgMjAxMSwgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisjIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUyLDkg
KzUyLDEwIEBAIG1hY3JvIGRpc3BhdGNoQWZ0ZXJDYWxsKCkKIGVuZAogCiBtYWNybyBjQ2FsbDIo
ZnVuY3Rpb24sIGFyZzEsIGFyZzIpCisgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDQs
IDB4YmFkMGMwMDIpCiAgICAgaWYgWDg2XzY0Ci0gICAgICAgIG1vdmUgYXJnMSwgdDUKLSAgICAg
ICAgbW92ZSBhcmcyLCB0NAorICAgICAgICBtb3ZlIGFyZzEsIHQ0CisgICAgICAgIG1vdmUgYXJn
MiwgdDUKICAgICAgICAgY2FsbCBmdW5jdGlvbgogICAgIGVsc2lmIEFSTTY0CiAgICAgICAgIG1v
dmUgYXJnMSwgdDAKQEAgLTY5LDkgKzcwLDEwIEBAIGVuZAogCiAjIFRoaXMgYmFyZWx5IHdvcmtz
LiBhcmczIGFuZCBhcmc0IHNob3VsZCBwcm9iYWJseSBiZSBpbW1lZGlhdGVzLgogbWFjcm8gY0Nh
bGw0KGZ1bmN0aW9uLCBhcmcxLCBhcmcyLCBhcmczLCBhcmc0KQorICAgIGNoZWNrU3RhY2tQb2lu
dGVyQWxpZ25tZW50KHQ0LCAweGJhZDBjMDA0KQogICAgIGlmIFg4Nl82NAotICAgICAgICBtb3Zl
IGFyZzEsIHQ1Ci0gICAgICAgIG1vdmUgYXJnMiwgdDQKKyAgICAgICAgbW92ZSBhcmcxLCB0NAor
ICAgICAgICBtb3ZlIGFyZzIsIHQ1CiAgICAgICAgIG1vdmUgYXJnMywgdDEKICAgICAgICAgbW92
ZSBhcmc0LCB0MgogICAgICAgICBjYWxsIGZ1bmN0aW9uCkBAIC04OCw2NiArOTAsNDkgQEAgbWFj
cm8gY0NhbGw0KGZ1bmN0aW9uLCBhcmcxLCBhcmcyLCBhcmczLCBhcmc0KQogICAgIGVuZAogZW5k
CiAKLW1hY3JvIGZ1bmN0aW9uUHJvbG9ndWUoZXh0cmFTdGFja1NwYWNlKQorbWFjcm8gZG9DYWxs
VG9KYXZhU2NyaXB0KG1ha2VDYWxsKQogICAgIGlmIFg4Nl82NAotICAgICAgICBwdXNoIGNmcgot
ICAgICAgICBtb3ZlIHNwLCBjZnIKLSAgICBlbHNpZiBBUk02NAotICAgICAgICBwdXNoTFJBbmRG
UAotICAgIGVuZAotICAgIHB1c2hDYWxsZWVTYXZlcwotICAgIGlmIFg4Nl82NAotICAgICAgICBz
dWJwIGV4dHJhU3RhY2tTcGFjZSwgc3AKLSAgICBlbmQKLWVuZAotCi1tYWNybyBmdW5jdGlvbkVw
aWxvZ3VlKGV4dHJhU3RhY2tTcGFjZSkKLSAgICBpZiBYODZfNjQKLSAgICAgICAgYWRkcCBleHRy
YVN0YWNrU3BhY2UsIHNwCi0gICAgZW5kCi0gICAgcG9wQ2FsbGVlU2F2ZXMKLSAgICBpZiBYODZf
NjQKLSAgICAgICAgcG9wIGNmcgotICAgIGVsc2lmIEFSTTY0Ci0gICAgICAgIHBvcExSQW5kRlAK
LSAgICBlbmQKLWVuZAotCi1tYWNybyBkb0NhbGxUb0phdmFTY3JpcHQobWFrZUNhbGwsIGRvUmV0
dXJuKQotICAgIGlmIFg4Nl82NAotICAgICAgICBjb25zdCBlbnRyeSA9IHQ1Ci0gICAgICAgIGNv
bnN0IHZtVG9wQ2FsbEZyYW1lID0gdDQKKyAgICAgICAgY29uc3QgZW50cnkgPSB0NAorICAgICAg
ICBjb25zdCB2bSA9IHQ1CiAgICAgICAgIGNvbnN0IHByb3RvQ2FsbEZyYW1lID0gdDEKLSAgICAg
ICAgY29uc3QgdG9wT2ZTdGFjayA9IHQyCiAKLSAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNl
ID0gOAogICAgICAgICBjb25zdCBwcmV2aW91c0NGUiA9IHQwCiAgICAgICAgIGNvbnN0IHByZXZp
b3VzUEMgPSB0NgogICAgICAgICBjb25zdCB0ZW1wMSA9IHQwCiAgICAgICAgIGNvbnN0IHRlbXAy
ID0gdDMKICAgICAgICAgY29uc3QgdGVtcDMgPSB0NgotICAgIGVsc2lmIEFSTTY0CisgICAgZWxz
aWYgQVJNNjQgb3IgQ19MT09QCiAgICAgICAgIGNvbnN0IGVudHJ5ID0gYTAKLSAgICAgICAgY29u
c3Qgdm1Ub3BDYWxsRnJhbWUgPSBhMQorICAgICAgICBjb25zdCB2bSA9IGExCiAgICAgICAgIGNv
bnN0IHByb3RvQ2FsbEZyYW1lID0gYTIKLSAgICAgICAgY29uc3QgdG9wT2ZTdGFjayA9IGEzCiAK
LSAgICAgICAgY29uc3QgZXh0cmFTdGFja1NwYWNlID0gMAotICAgICAgICBjb25zdCBwcmV2aW91
c0NGUiA9IHQ0CisgICAgICAgIGNvbnN0IHByZXZpb3VzQ0ZSID0gdDUKICAgICAgICAgY29uc3Qg
cHJldmlvdXNQQyA9IGxyCiAgICAgICAgIGNvbnN0IHRlbXAxID0gdDMKLSAgICAgICAgY29uc3Qg
dGVtcDIgPSB0NQorICAgICAgICBjb25zdCB0ZW1wMiA9IHQ0CiAgICAgICAgIGNvbnN0IHRlbXAz
ID0gdDYKICAgICBlbmQKIAotICAgIGZ1bmN0aW9uUHJvbG9ndWUoZXh0cmFTdGFja1NwYWNlKQor
ICAgIGNhbGxUb0phdmFTY3JpcHRQcm9sb2d1ZSgpCisKKyAgICBpZiBYODZfNjQKKyAgICAgICAg
bG9hZHAgNyo4W3NwXSwgcHJldmlvdXNQQworICAgICAgICBtb3ZlIDYqOFtzcF0sIHByZXZpb3Vz
Q0ZSCisgICAgZWxzaWYgQVJNNjQKKyAgICAgICAgbW92ZSBjZnIsIHByZXZpb3VzQ0ZSCisgICAg
ZW5kCisKKyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0ZW1wMiwgMHhiYWQwZGMwMSkK
IAotICAgIG1vdmUgdG9wT2ZTdGFjaywgY2ZyCi0gICAgc3VicCAoQ2FsbEZyYW1lSGVhZGVyU2xv
dHMtMSkqOCwgY2ZyCisgICAgIyBUaGUgc3RhY2sgcmVzZXJ2ZWQgem9uZSBlbnN1cmVzIHRoYXQg
d2UgaGF2ZSBhZGVxdWF0ZSBzcGFjZSBmb3IgdGhlCisgICAgIyBWTUVudHJ5U2VudGluZWxGcmFt
ZS4gUHJvY2VlZCB3aXRoIGFsbG9jYXRpbmcgYW5kIGluaXRpYWxpemluZyB0aGUKKyAgICAjIHNl
bnRpbmVsIGZyYW1lLgorICAgIG1vdmUgc3AsIGNmcgorICAgIHN1YnAgQ2FsbEZyYW1lSGVhZGVy
U2xvdHMgKiA4LCBjZnIKICAgICBzdG9yZXAgMCwgQXJndW1lbnRDb3VudFtjZnJdCi0gICAgc3Rv
cmVwIHZtVG9wQ2FsbEZyYW1lLCBDYWxsZWVbY2ZyXQotICAgIGxvYWRwIFt2bVRvcENhbGxGcmFt
ZV0sIHRlbXAxCi0gICAgc3RvcmVwIHRlbXAxLCBTY29wZUNoYWluW2Nmcl0KKyAgICBzdG9yZXAg
dm0sIENhbGxlZVtjZnJdCisgICAgbG9hZHAgVk06OnRvcENhbGxGcmFtZVt2bV0sIHRlbXAyCisg
ICAgc3RvcmVwIHRlbXAyLCBTY29wZUNoYWluW2Nmcl0KICAgICBzdG9yZXAgMSwgQ29kZUJsb2Nr
W2Nmcl0KICAgICBpZiBYODZfNjQKICAgICAgICAgbG9hZHAgNyo4W3NwXSwgcHJldmlvdXNQQwpA
QCAtMTU1LDIwICsxNDAsNDUgQEAgbWFjcm8gZG9DYWxsVG9KYXZhU2NyaXB0KG1ha2VDYWxsLCBk
b1JldHVybikKICAgICBlbmQKICAgICBzdG9yZXAgcHJldmlvdXNQQywgUmV0dXJuUENbY2ZyXQog
ICAgIHN0b3JlcCBwcmV2aW91c0NGUiwgQ2FsbGVyRnJhbWVbY2ZyXQotICAgIG1vdmUgY2ZyLCB0
ZW1wMQogCiAgICAgbG9hZGkgUHJvdG9DYWxsRnJhbWU6OnBhZGRlZEFyZ0NvdW50W3Byb3RvQ2Fs
bEZyYW1lXSwgdGVtcDIKICAgICBhZGRwIENhbGxGcmFtZUhlYWRlclNsb3RzLCB0ZW1wMiwgdGVt
cDIKICAgICBsc2hpZnRwIDMsIHRlbXAyCi0gICAgc3VicCB0ZW1wMiwgY2ZyCi0gICAgc3RvcmVw
IHRlbXAxLCBDYWxsZXJGcmFtZVtjZnJdCisgICAgc3VicCBjZnIsIHRlbXAyLCB0ZW1wMQorCisg
ICAgIyBFbnN1cmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBhZGRpdGlvbmFsIHN0YWNrIGNhcGFjaXR5
IGZvciB0aGUgaW5jb21pbmcgYXJncywKKyAgICAjIGFuZCB0aGUgZnJhbWUgZm9yIHRoZSBKUyBj
b2RlIHdlJ3JlIGV4ZWN1dGluZy4gV2UgbmVlZCB0byBkbyB0aGlzIGNoZWNrCisgICAgIyBiZWZv
cmUgd2Ugc3RhcnQgY29weWluZyB0aGUgYXJncyBmcm9tIHRoZSBwcm90b0NhbGxGcmFtZSBiZWxv
dy4KKyAgICBicGFlcSB0ZW1wMSwgVk06Om1fanNTdGFja0xpbWl0W3ZtXSwgLnN0YWNrSGVpZ2h0
T0sKKworICAgIG1vdmUgY2ZyLCBzcAorCisgICAgaWYgQ19MT09QCisgICAgICAgIG1vdmUgZW50
cnksIHRlbXAyCisgICAgICAgIG1vdmUgdm0sIHRlbXAzCisgICAgICAgIGNsb29wQ2FsbFNsb3dQ
YXRoIF9sbGludF9zdGFja19jaGVja19hdF92bV9lbnRyeSwgdm0sIHRlbXAxCisgICAgICAgIGJw
ZXEgdDAsIDAsIC5zdGFja0NoZWNrRmFpbGVkCisgICAgICAgIG1vdmUgdGVtcDIsIGVudHJ5Cisg
ICAgICAgIG1vdmUgdGVtcDMsIHZtCisgICAgICAgIGptcCAuc3RhY2tIZWlnaHRPSworCisuc3Rh
Y2tDaGVja0ZhaWxlZDoKKyAgICAgICAgbW92ZSB0ZW1wMiwgZW50cnkKKyAgICAgICAgbW92ZSB0
ZW1wMywgdm0KKyAgICBlbmQKKworICAgIGNDYWxsMihfbGxpbnRfdGhyb3dfc3RhY2tfb3ZlcmZs
b3dfZXJyb3IsIHZtLCBwcm90b0NhbGxGcmFtZSkKKyAgICBjYWxsVG9KYXZhU2NyaXB0RXBpbG9n
dWUoKQorICAgIHJldAogCisuc3RhY2tIZWlnaHRPSzoKKyAgICBtb3ZlIHRlbXAxLCBzcAogICAg
IG1vdmUgNSwgdGVtcDEKIAogLmNvcHlIZWFkZXJMb29wOgogICAgIHN1YmkgMSwgdGVtcDEKLSAg
ICBsb2FkcCBbcHJvdG9DYWxsRnJhbWUsIHRlbXAxLCA4XSwgdGVtcDMKLSAgICBzdG9yZXAgdGVt
cDMsIENvZGVCbG9ja1tjZnIsIHRlbXAxLCA4XQorICAgIGxvYWRxIFtwcm90b0NhbGxGcmFtZSwg
dGVtcDEsIDhdLCB0ZW1wMworICAgIHN0b3JlcSB0ZW1wMywgQ29kZUJsb2NrW3NwLCB0ZW1wMSwg
OF0KICAgICBidGlueiB0ZW1wMSwgLmNvcHlIZWFkZXJMb29wCiAKICAgICBsb2FkaSBQcm90b0Nh
bGxGcmFtZTo6YXJnQ291bnRBbmRDb2RlT3JpZ2luVmFsdWVbcHJvdG9DYWxsRnJhbWVdLCB0ZW1w
MgpAQCAtMTgwLDcgKzE5MCw3IEBAIG1hY3JvIGRvQ2FsbFRvSmF2YVNjcmlwdChtYWtlQ2FsbCwg
ZG9SZXR1cm4pCiAgICAgbW92ZSBWYWx1ZVVuZGVmaW5lZCwgdGVtcDEKIC5maWxsRXh0cmFBcmdz
TG9vcDoKICAgICBzdWJpIDEsIHRlbXAzCi0gICAgc3RvcmVwIHRlbXAxLCBUaGlzQXJndW1lbnRP
ZmZzZXQrOFtjZnIsIHRlbXAzLCA4XQorICAgIHN0b3JlcSB0ZW1wMSwgVGhpc0FyZ3VtZW50T2Zm
c2V0ICsgOFtzcCwgdGVtcDMsIDhdCiAgICAgYmluZXEgdGVtcDIsIHRlbXAzLCAuZmlsbEV4dHJh
QXJnc0xvb3AKIAogLmNvcHlBcmdzOgpAQCAtMTg5LDUzICsxOTksOTcgQEAgbWFjcm8gZG9DYWxs
VG9KYXZhU2NyaXB0KG1ha2VDYWxsLCBkb1JldHVybikKIC5jb3B5QXJnc0xvb3A6CiAgICAgYnRp
eiB0ZW1wMiwgLmNvcHlBcmdzRG9uZQogICAgIHN1YmkgMSwgdGVtcDIKLSAgICBsb2FkcCBbdGVt
cDEsIHRlbXAyLCA4XSwgdGVtcDMKLSAgICBzdG9yZXAgdGVtcDMsIFRoaXNBcmd1bWVudE9mZnNl
dCs4W2NmciwgdGVtcDIsIDhdCisgICAgbG9hZHEgW3RlbXAxLCB0ZW1wMiwgOF0sIHRlbXAzCisg
ICAgc3RvcmVxIHRlbXAzLCBUaGlzQXJndW1lbnRPZmZzZXQgKyA4W3NwLCB0ZW1wMiwgOF0KICAg
ICBqbXAgLmNvcHlBcmdzTG9vcAogCiAuY29weUFyZ3NEb25lOgotICAgIHN0b3JlcCBjZnIsIFt2
bVRvcENhbGxGcmFtZV0KKyAgICBpZiBBUk02NAorICAgICAgICBtb3ZlIHNwLCB0ZW1wMgorICAg
ICAgICBzdG9yZXAgdGVtcDIsIFZNOjp0b3BDYWxsRnJhbWVbdm1dCisgICAgZWxzZQorICAgICAg
ICBzdG9yZXAgc3AsIFZNOjp0b3BDYWxsRnJhbWVbdm1dCisgICAgZW5kCiAKICAgICBtb3ZlIDB4
ZmZmZjAwMDAwMDAwMDAwMCwgY3NyMQogICAgIGFkZHAgMiwgY3NyMSwgY3NyMgogCisgICAgY2hl
Y2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodGVtcDMsIDB4YmFkMGRjMDIpCisKICAgICBtYWtlQ2Fs
bChlbnRyeSwgdGVtcDEpCiAKKyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0ZW1wMywg
MHhiYWQwZGMwMykKKwogICAgIGJwZXEgQ29kZUJsb2NrW2Nmcl0sIDEsIC5jYWxsZWVGcmFtZVBv
cHBlZAogICAgIGxvYWRwIENhbGxlckZyYW1lW2Nmcl0sIGNmcgogCiAuY2FsbGVlRnJhbWVQb3Bw
ZWQ6Ci0gICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHRlbXAyICMgVk0udG9wQ2FsbEZyYW1lCi0gICAg
bG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0ZW1wMwotICAgIHN0b3JlcCB0ZW1wMywgW3RlbXAyXQor
ICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0ZW1wMiAjIFZNCisgICAgbG9hZHAgU2NvcGVDaGFpbltj
ZnJdLCB0ZW1wMyAjIHByZXZpb3VzIHRvcENhbGxGcmFtZQorICAgIHN0b3JlcCB0ZW1wMywgVk06
OnRvcENhbGxGcmFtZVt0ZW1wMl0KKworICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHRl
bXAzLCAweGJhZDBkYzA0KQogCi0gICAgZG9SZXR1cm4oZXh0cmFTdGFja1NwYWNlKQorICAgIGlm
IFg4Nl82NAorICAgICAgICBwb3AgdDUKKyAgICBlbmQKKyAgICBjYWxsVG9KYXZhU2NyaXB0RXBp
bG9ndWUoKQorCisgICAgcmV0CiBlbmQKIAorCiBtYWNybyBtYWtlSmF2YVNjcmlwdENhbGwoZW50
cnksIHRlbXApCi0gICAgY2FsbCBlbnRyeQorICAgIGFkZHAgMTYsIHNwCisgICAgaWYgQ19MT09Q
CisgICAgICAgIGNsb29wQ2FsbEpTRnVuY3Rpb24gZW50cnkKKyAgICBlbHNlCisgICAgICAgIGNh
bGwgZW50cnkKKyAgICBlbmQKKyAgICBzdWJwIDE2LCBzcAogZW5kCiAKKwogbWFjcm8gbWFrZUhv
c3RGdW5jdGlvbkNhbGwoZW50cnksIHRlbXApCiAgICAgbW92ZSBlbnRyeSwgdGVtcAogICAgIGlm
IFg4Nl82NAotICAgICAgICBtb3ZlIGNmciwgdDUKKyAgICAgICAgbW92ZSBzcCwgdDQKICAgICBl
bHNpZiBBUk02NCBvciBDX0xPT1AKLSAgICAgICAgbW92ZSBjZnIsIGEwCisgICAgICAgIG1vdmUg
c3AsIGEwCisgICAgZW5kCisgICAgaWYgQ19MT09QCisgICAgICAgIHN0b3JlcCBjZnIsIFtzcF0K
KyAgICAgICAgc3RvcmVwIGxyLCA4W3NwXQorICAgICAgICBjbG9vcENhbGxOYXRpdmUgdGVtcAor
ICAgIGVsc2UKKyAgICAgICAgYWRkcCAxNiwgc3AgCisgICAgICAgIGNhbGwgdGVtcAorICAgICAg
ICBzdWJwIDE2LCBzcAogICAgIGVuZAotICAgIGNhbGwgdGVtcAogZW5kCiAKLW1hY3JvIGRvUmV0
dXJuRnJvbUphdmFTY3JpcHQoZXh0cmFTdGFja1NwYWNlKQotX3JldHVybkZyb21KYXZhU2NyaXB0
OgotICAgIGZ1bmN0aW9uRXBpbG9ndWUoZXh0cmFTdGFja1NwYWNlKQotICAgIHJldAotZW5kCiAK
LW1hY3JvIGRvUmV0dXJuRnJvbUhvc3RGdW5jdGlvbihleHRyYVN0YWNrU3BhY2UpCi0gICAgZnVu
Y3Rpb25FcGlsb2d1ZShleHRyYVN0YWNrU3BhY2UpCitfaGFuZGxlVW5jYXVnaHRFeGNlcHRpb246
CisgICAgbG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0MworICAgIGFuZHAgTWFya2VkQmxvY2tNYXNr
LCB0MworICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3dlYWtTZXQgKyBXZWFrU2V0OjptX3ZtW3Qz
XSwgdDMKKyAgICBsb2FkcCBWTTo6Y2FsbEZyYW1lRm9yVGhyb3dbdDNdLCBjZnIKKworICAgICMg
U28gZmFyLCB3ZSd2ZSB1bndvdW5kIHRoZSBzdGFjayB0byB0aGUgZnJhbWUganVzdCBiZWxvdyB0
aGUgc2VudGluZWwgZnJhbWUsIGV4Y2VwdAorICAgICMgaW4gdGhlIGNhc2Ugb2Ygc3RhY2sgb3Zl
cmZsb3cgaW4gdGhlIGZpcnN0IGZ1bmN0aW9uIGNhbGxlZCBmcm9tIGNhbGxUb0phdmFTY3JpcHQu
CisgICAgIyBDaGVjayBpZiB3ZSBuZWVkIHRvIHBvcCB0byB0aGUgc2VudGluZWwgZnJhbWUgYW5k
IGRvIHRoZSBuZWNlc3NhcnkgY2xlYW4gdXAgZm9yCisgICAgIyByZXR1cm5pbmcgdG8gdGhlIGNh
bGxlciBDIGZyYW1lLgorICAgIGJwZXEgQ29kZUJsb2NrW2Nmcl0sIDEsIC5oYW5kbGVVbmNhdWdo
dEV4Y2VwdGlvbkFscmVhZHlJc1NlbnRpbmVsCisgICAgbG9hZHAgQ2FsbGVyRnJhbWVbY2ZyXSwg
Y2ZyCisuaGFuZGxlVW5jYXVnaHRFeGNlcHRpb25BbHJlYWR5SXNTZW50aW5lbDoKKworICAgIGxv
YWRwIENhbGxlZVtjZnJdLCB0MyAjIFZNCisgICAgbG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0NSAj
IHByZXZpb3VzIHRvcENhbGxGcmFtZQorICAgIHN0b3JlcCB0NSwgVk06OnRvcENhbGxGcmFtZVt0
M10KKworICAgIGNhbGxUb0phdmFTY3JpcHRFcGlsb2d1ZSgpCiAgICAgcmV0Ci1lbmQKKwogCiBt
YWNybyBwcmVwYXJlU3RhdGVGb3JDQ2FsbCgpCiAgICAgbGVhcCBbUEIsIFBDLCA4XSwgUEMKQEAg
LTI0NCw3ICsyOTgsNiBAQCBlbmQKIAogbWFjcm8gcmVzdG9yZVN0YXRlQWZ0ZXJDQ2FsbCgpCiAg
ICAgbW92ZSB0MCwgUEMKLSAgICBtb3ZlIHQxLCBjZnIKICAgICBtb3ZlIHQzLCBQQgogICAgIHN1
YnAgUEIsIFBDCiAgICAgcnNoaWZ0cCAzLCBQQwpAQCAtMjczLDcgKzMyNiw2IEBAIG1hY3JvIGNh
bGxDYWxsU2xvd1BhdGgoc2xvd1BhdGgsIGFjdGlvbikKICAgICBzdG9yZWkgUEMsIEFyZ3VtZW50
Q291bnQgKyBUYWdPZmZzZXRbY2ZyXQogICAgIHByZXBhcmVTdGF0ZUZvckNDYWxsKCkKICAgICBj
Q2FsbDIoc2xvd1BhdGgsIGNmciwgUEMpCi0gICAgbW92ZSB0MSwgY2ZyCiAgICAgYWN0aW9uKHQw
KQogZW5kCiAKQEAgLTI4MSw3ICszMzMsNiBAQCBtYWNybyBjYWxsV2F0Y2hkb2dUaW1lckhhbmRs
ZXIodGhyb3dIYW5kbGVyKQogICAgIHN0b3JlaSBQQywgQXJndW1lbnRDb3VudCArIFRhZ09mZnNl
dFtjZnJdCiAgICAgcHJlcGFyZVN0YXRlRm9yQ0NhbGwoKQogICAgIGNDYWxsMihfbGxpbnRfc2xv
d19wYXRoX2hhbmRsZV93YXRjaGRvZ190aW1lciwgY2ZyLCBQQykKLSAgICBtb3ZlIHQxLCBjZnIK
ICAgICBidHBueiB0MCwgdGhyb3dIYW5kbGVyCiAgICAgbW92ZSB0MywgUEIKICAgICBsb2FkaSBB
cmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0sIFBDCkBAIC0yOTQsOCArMzQ1LDggQEAgbWFj
cm8gY2hlY2tTd2l0Y2hUb0pJVEZvckxvb3AoKQogICAgICAgICAgICAgc3RvcmVpIFBDLCBBcmd1
bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0KICAgICAgICAgICAgIHByZXBhcmVTdGF0ZUZvckND
YWxsKCkKICAgICAgICAgICAgIGNDYWxsMihfbGxpbnRfbG9vcF9vc3IsIGNmciwgUEMpCi0gICAg
ICAgICAgICBtb3ZlIHQxLCBjZnIKICAgICAgICAgICAgIGJ0cHogdDAsIC5yZWNvdmVyCisgICAg
ICAgICAgICBtb3ZlIHQxLCBzcAogICAgICAgICAgICAgam1wIHQwCiAgICAgICAgIC5yZWNvdmVy
OgogICAgICAgICAgICAgbW92ZSB0MywgUEIKQEAgLTM4NywxOSArNDM4LDM1IEBAIGVuZAogIyBF
bnRyeXBvaW50cyBpbnRvIHRoZSBpbnRlcnByZXRlci4KIAogIyBFeHBlY3RzIHRoYXQgQ29kZUJs
b2NrIGlzIGluIHQxLCB3aGljaCBpcyB3aGF0IHByb2xvZ3VlKCkgbGVhdmVzIGJlaGluZC4KLW1h
Y3JvIGZ1bmN0aW9uQXJpdHlDaGVjayhkb25lTGFiZWwsIHNsb3dfcGF0aCkKK21hY3JvIGZ1bmN0
aW9uQXJpdHlDaGVjayhkb25lTGFiZWwsIHNsb3dQYXRoKQogICAgIGxvYWRpIFBheWxvYWRPZmZz
ZXQgKyBBcmd1bWVudENvdW50W2Nmcl0sIHQwCiAgICAgYmlhZXEgdDAsIENvZGVCbG9jazo6bV9u
dW1QYXJhbWV0ZXJzW3QxXSwgZG9uZUxhYmVsCiAgICAgcHJlcGFyZVN0YXRlRm9yQ0NhbGwoKQot
ICAgIGNDYWxsMihzbG93X3BhdGgsIGNmciwgUEMpICAgIyBUaGlzIHNsb3dfcGF0aCBoYXMgYSBz
aW1wbGUgcHJvdG9jb2w6IHQwID0gMCA9PiBubyBlcnJvciwgdDAgIT0gMCA9PiBlcnJvcgotICAg
IGJ0aXogdDAsIC5pc0FyaXR5Rml4dXBOZWVkZWQKKyAgICBjQ2FsbDIoc2xvd1BhdGgsIGNmciwg
UEMpICAgIyBUaGlzIHNsb3dQYXRoIGhhcyB0aGUgcHJvdG9jb2w6IHQwID0gMCA9PiBubyBlcnJv
ciwgdDAgIT0gMCA9PiBlcnJvcgorICAgIGJ0aXogdDAsIC5ub0Vycm9yCiAgICAgbW92ZSB0MSwg
Y2ZyICAgIyB0MSBjb250YWlucyBjYWxsZXIgZnJhbWUKICAgICBqbXAgX2xsaW50X3Rocm93X2Zy
b21fc2xvd19wYXRoX3RyYW1wb2xpbmUKIAotLmlzQXJpdHlGaXh1cE5lZWRlZDoKKy5ub0Vycm9y
OgorICAgICMgdDEgcG9pbnRzIHRvIEFyaXR5Q2hlY2tEYXRhLgorICAgIGxvYWRwIENvbW1vblNs
b3dQYXRoczo6QXJpdHlDaGVja0RhdGE6OnRodW5rVG9DYWxsW3QxXSwgdDIKKyAgICBidHB6IHQy
LCAucHJvY2VlZElubGluZQorICAgIAorICAgIGxvYWRwIENvbW1vblNsb3dQYXRoczo6QXJpdHlD
aGVja0RhdGE6OnJldHVyblBDW3QxXSwgdDUKKyAgICBsb2FkcCBDb21tb25TbG93UGF0aHM6OkFy
aXR5Q2hlY2tEYXRhOjpwYWRkZWRTdGFja1NwYWNlW3QxXSwgdDAKKyAgICBjYWxsIHQyCisgICAg
aWYgQVNTRVJUX0VOQUJMRUQKKyAgICAgICAgbG9hZHAgUmV0dXJuUENbY2ZyXSwgdDAKKyAgICAg
ICAgbG9hZHAgW3QwXSwgdDAKKyAgICBlbmQKKyAgICBqbXAgLmNvbnRpbnVlCisKKy5wcm9jZWVk
SW5saW5lOgorICAgIGxvYWRpIENvbW1vblNsb3dQYXRoczo6QXJpdHlDaGVja0RhdGE6OnBhZGRl
ZFN0YWNrU3BhY2VbdDFdLCB0MQogICAgIGJ0aXogdDEsIC5jb250aW51ZQogCi0gICAgLy8gTW92
ZSBmcmFtZSB1cCAidDEiIHNsb3RzCisgICAgLy8gTW92ZSBmcmFtZSB1cCAidDEgKiAyIiBzbG90
cworICAgIGxzaGlmdHAgMSwgdDEKICAgICBuZWdxIHQxCiAgICAgbW92ZSBjZnIsIHQzCiAgICAg
bG9hZGkgUGF5bG9hZE9mZnNldCArIEFyZ3VtZW50Q291bnRbY2ZyXSwgdDIKQEAgLTQyMCw2ICs0
ODcsNyBAQCBtYWNybyBmdW5jdGlvbkFyaXR5Q2hlY2soZG9uZUxhYmVsLCBzbG93X3BhdGgpCiAK
ICAgICBsc2hpZnRwIDMsIHQxCiAgICAgYWRkcCB0MSwgY2ZyCisgICAgYWRkcCB0MSwgc3AKIAog
LmNvbnRpbnVlOgogICAgICMgUmVsb2FkIENvZGVCbG9jayBhbmQgcmVzZXQgUEMsIHNpbmNlIHRo
ZSBzbG93X3BhdGggY2xvYmJlcmVkIHRoZW0uCkBAIC00MjksNyArNDk3LDYgQEAgbWFjcm8gZnVu
Y3Rpb25Bcml0eUNoZWNrKGRvbmVMYWJlbCwgc2xvd19wYXRoKQogICAgIGptcCBkb25lTGFiZWwK
IGVuZAogCi0KIG1hY3JvIGJyYW5jaElmRXhjZXB0aW9uKGxhYmVsKQogICAgIGxvYWRwIFNjb3Bl
Q2hhaW5bY2ZyXSwgdDMKICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKQEAgLTQ0NCw2ICs1
MTEsNyBAQCBlbmQKIAogX2xsaW50X29wX2VudGVyOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0MiwgMHhkZWFkMDBlMSkKICAgICBsb2FkcCBD
b2RlQmxvY2tbY2ZyXSwgdDIgICAgICAgICAgICAgICAgLy8gdDI8Q29kZUJsb2NrPiA9IGNmci5D
b2RlQmxvY2sKICAgICBsb2FkaSBDb2RlQmxvY2s6Om1fbnVtVmFyc1t0Ml0sIHQyICAgICAgLy8g
dDI8c2l6ZV90PiA9IHQyPENvZGVCbG9jaz4ubV9udW1WYXJzCiAgICAgYnRpeiB0MiwgLm9wRW50
ZXJEb25lCkBAIC0xNzE3LDEwICsxNzg1LDkgQEAgbWFjcm8gZG9DYWxsKHNsb3dQYXRoKQogICAg
IHN0b3JlcSB0MCwgU2NvcGVDaGFpblt0M10KICAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywg
dDIpCiAgICAgc3RvcmVpIFBDLCBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0KLSAgICBz
dG9yZXEgY2ZyLCBDYWxsZXJGcmFtZVt0M10KICAgICBzdG9yZWkgdDIsIEFyZ3VtZW50Q291bnQg
KyBQYXlsb2FkT2Zmc2V0W3QzXQotICAgIG1vdmUgdDMsIGNmcgotICAgIGNhbGxUYXJnZXRGdW5j
dGlvbih0MSkKKyAgICBhZGRwIENhbGxlckZyYW1lQW5kUENTaXplLCB0MworICAgIGNhbGxUYXJn
ZXRGdW5jdGlvbih0MSwgdDMpCiAKIC5vcENhbGxTbG93OgogICAgIHNsb3dQYXRoRm9yQ2FsbChz
bG93UGF0aCkKQEAgLTE4NDAsNiArMTkwNyw4IEBAIF9sbGludF9vcF9jYXRjaDoKICAgICBhbmRw
IE1hcmtlZEJsb2NrTWFzaywgdDMKICAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV93ZWFrU2V0ICsg
V2Vha1NldDo6bV92bVt0M10sIHQzCiAgICAgbG9hZHAgVk06OmNhbGxGcmFtZUZvclRocm93W3Qz
XSwgY2ZyCisgICAgcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVyQ2FsbCgpCisKICAgICBsb2FkcCBD
b2RlQmxvY2tbY2ZyXSwgUEIKICAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1Y3Rpb25zW1BC
XSwgUEIKICAgICBsb2FkcCBWTTo6dGFyZ2V0SW50ZXJwcmV0ZXJQQ0ZvclRocm93W3QzXSwgUEMK
QEAgLTE4NzksNiArMTk0OCw4IEBAIF9sbGludF90aHJvd19kdXJpbmdfY2FsbF90cmFtcG9saW5l
OgogCiAKIG1hY3JvIG5hdGl2ZUNhbGxUcmFtcG9saW5lKGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0
aW9uKQorCisgICAgZnVuY3Rpb25Qcm9sb2d1ZSgpCiAgICAgc3RvcmVwIDAsIENvZGVCbG9ja1tj
ZnJdCiAgICAgaWYgWDg2XzY0CiAgICAgICAgIGxvYWRwIFNjb3BlQ2hhaW5bY2ZyXSwgdDAKQEAg
LTE4ODgsMTkgKzE5NTksMTUgQEAgbWFjcm8gbmF0aXZlQ2FsbFRyYW1wb2xpbmUoZXhlY3V0YWJs
ZU9mZnNldFRvRnVuY3Rpb24pCiAgICAgICAgIGxvYWRwIENhbGxlckZyYW1lW2Nmcl0sIHQwCiAg
ICAgICAgIGxvYWRxIFNjb3BlQ2hhaW5bdDBdLCB0MQogICAgICAgICBzdG9yZXEgdDEsIFNjb3Bl
Q2hhaW5bY2ZyXQotICAgICAgICBwZWVrIDAsIHQxCi0gICAgICAgIHN0b3JlcCB0MSwgUmV0dXJu
UENbY2ZyXQotICAgICAgICBtb3ZlIGNmciwgdDUgICMgdDUgPSByZGkKLSAgICAgICAgc3VicCAx
NiAtIDgsIHNwCi0gICAgICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0NCAjIHQ0ID0gcnNpCi0gICAg
ICAgIGxvYWRwIEpTRnVuY3Rpb246Om1fZXhlY3V0YWJsZVt0NF0sIHQxCi0gICAgICAgIG1vdmUg
dDAsIGNmciAjIFJlc3RvcmUgY2ZyIHRvIGF2b2lkIGxvYWRpbmcgZnJvbSBzdGFjaworICAgICAg
ICBtb3ZlIGNmciwgdDQgICMgdDQgPSByZGkKKyAgICAgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQ1
ICMgdDUgPSByc2kKKyAgICAgICAgbG9hZHAgSlNGdW5jdGlvbjo6bV9leGVjdXRhYmxlW3Q1XSwg
dDEKKyAgICAgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDMsIDB4ZGVhZDAwMDEpCiAg
ICAgICAgIGNhbGwgZXhlY3V0YWJsZU9mZnNldFRvRnVuY3Rpb25bdDFdCi0gICAgICAgIGFkZHAg
MTYgLSA4LCBzcAogICAgICAgICBsb2FkcCBTY29wZUNoYWluW2Nmcl0sIHQzCiAgICAgICAgIGFu
ZHAgTWFya2VkQmxvY2tNYXNrLCB0MwogICAgICAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV93ZWFr
U2V0ICsgV2Vha1NldDo6bV92bVt0M10sIHQzCi0gICAgZWxzaWYgQVJNNjQKKyAgICBlbHNpZiBB
Uk02NCBvciBDX0xPT1AKICAgICAgICAgbG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0MAogICAgICAg
ICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDAKICAgICAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1f
d2Vha1NldCArIFdlYWtTZXQ6Om1fdm1bdDBdLCB0MApAQCAtMTkxNCwzMCArMTk4MSwxMSBAQCBt
YWNybyBuYXRpdmVDYWxsVHJhbXBvbGluZShleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvbikKICAg
ICAgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQxCiAgICAgICAgIGxvYWRwIEpTRnVuY3Rpb246Om1f
ZXhlY3V0YWJsZVt0MV0sIHQxCiAgICAgICAgIG1vdmUgdDIsIGNmciAjIFJlc3RvcmUgY2ZyIHRv
IGF2b2lkIGxvYWRpbmcgZnJvbSBzdGFjawotICAgICAgICBjYWxsIGV4ZWN1dGFibGVPZmZzZXRU
b0Z1bmN0aW9uW3QxXQotICAgICAgICByZXN0b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybih0
MykKLSAgICAgICAgbG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0MwotICAgICAgICBhbmRwIE1hcmtl
ZEJsb2NrTWFzaywgdDMKLSAgICAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fd2Vha1NldCArIFdl
YWtTZXQ6Om1fdm1bdDNdLCB0MwotICAgIGVsc2lmIENfTE9PUAotICAgICAgICBsb2FkcCBDYWxs
ZXJGcmFtZVtjZnJdLCB0MAotICAgICAgICBsb2FkcCBTY29wZUNoYWluW3QwXSwgdDEKLSAgICAg
ICAgc3RvcmVwIHQxLCBTY29wZUNoYWluW2Nmcl0KLQotICAgICAgICBsb2FkcCBTY29wZUNoYWlu
W2Nmcl0sIHQzCi0gICAgICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MwotICAgICAgICBsb2Fk
cCBNYXJrZWRCbG9jazo6bV93ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0M10sIHQzCi0gICAgICAg
IHN0b3JlcCBjZnIsIFZNOjp0b3BDYWxsRnJhbWVbdDNdCi0KLSAgICAgICAgbW92ZSB0MCwgdDIK
LSAgICAgICAgcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKHQzKQotICAgICAgICBzdG9y
ZXAgdDMsIFJldHVyblBDW2Nmcl0KLSAgICAgICAgbW92ZSBjZnIsIHQwCi0gICAgICAgIGxvYWRw
IENhbGxlZVtjZnJdLCB0MQotICAgICAgICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4ZWN1dGFibGVb
dDFdLCB0MQotICAgICAgICBtb3ZlIHQyLCBjZnIKLSAgICAgICAgY2xvb3BDYWxsTmF0aXZlIGV4
ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uW3QxXQotCisgICAgICAgIGlmIENfTE9PUAorICAgICAg
ICAgICAgY2xvb3BDYWxsTmF0aXZlIGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uW3QxXQorICAg
ICAgICBlbHNlCisgICAgICAgICAgICBjYWxsIGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uW3Qx
XQorICAgICAgICBlbmQKICAgICAgICAgcmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4o
dDMpCiAgICAgICAgIGxvYWRwIFNjb3BlQ2hhaW5bY2ZyXSwgdDMKICAgICAgICAgYW5kcCBNYXJr
ZWRCbG9ja01hc2ssIHQzCkBAIC0xOTQ2LDE2ICsxOTk0LDE0IEBAIG1hY3JvIG5hdGl2ZUNhbGxU
cmFtcG9saW5lKGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uKQogICAgICAgICBlcnJvcgogICAg
IGVuZAogCi0gICAgYnRxbnogVk06Om1fZXhjZXB0aW9uW3QzXSwgLmV4Y2VwdGlvbgorICAgIGZ1
bmN0aW9uRXBpbG9ndWUoKQorCisgICAgYnRxbnogVk06Om1fZXhjZXB0aW9uW3QzXSwgLmhhbmRs
ZUV4Y2VwdGlvbgogICAgIHJldAotLmV4Y2VwdGlvbjoKLSAgICBwcmVzZXJ2ZVJldHVybkFkZHJl
c3NBZnRlckNhbGwodDEpICMgVGhpcyBpcyByZWFsbHkgb25seSBuZWVkZWQgb24gWDg2XzY0Ci0g
ICAgbG9hZGkgQXJndW1lbnRDb3VudCArIFRhZ09mZnNldFtjZnJdLCBQQwotICAgIGxvYWRwIENv
ZGVCbG9ja1tjZnJdLCBQQgotICAgIGxvYWRwIENvZGVCbG9jazo6bV92bVtQQl0sIHQwCi0gICAg
bG9hZHAgQ29kZUJsb2NrOjptX2luc3RydWN0aW9uc1tQQl0sIFBCCi0gICAgc3RvcmVwIGNmciwg
Vk06OnRvcENhbGxGcmFtZVt0MF0KLSAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Rocm93X2Zyb21f
bmF0aXZlX2NhbGwpCisKKy5oYW5kbGVFeGNlcHRpb246CisgICAgc3RvcmVwIGNmciwgVk06OnRv
cENhbGxGcmFtZVt0M10KKyAgICByZXN0b3JlU3RhY2tQb2ludGVyQWZ0ZXJDYWxsKCkKICAgICBq
bXAgX2xsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmUKIGVuZAogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGx2bS9saWJyYXJ5L0xMVk1FeHBvcnRzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCmluZGV4
IDZlNzRiNTBhNDc1OWFlMzFiMGU3MWI3YmE4ZjU2MmUxYmRjMjY3N2YuLjQ5NDBhNGM3NjBlMDM5
MGNmMzNhMmUyOTdhNjhkNWMzNWQzNTcyMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbHZtL2xpYnJhcnkvTExWTUV4cG9ydHMuY3BwCkBAIC00Miw2ICs0MiwxMCBAQCBleHRl
cm4gIkMiIEpTQzo6TExWTUFQSSogaW5pdGlhbGl6ZUFuZEdldEpTQ0xMVk1BUEkodm9pZCAoKmNh
bGxiYWNrKShjb25zdCBjaGFyKgogICAgIGdfbGx2bVRyYXBDYWxsYmFjayA9IGNhbGxiYWNrOwog
ICAgIAogICAgIExMVk1JbnN0YWxsRmF0YWxFcnJvckhhbmRsZXIobGx2bUNyYXNoKTsKKworICAg
IGlmICghTExWTVN0YXJ0TXVsdGl0aHJlYWRlZCgpKQorICAgICAgICBjYWxsYmFjaygiQ291bGQg
bm90IHN0YXJ0IExMVk0gbXVsdGl0aHJlYWRpbmciKTsKKyAgICAKICAgICBMTFZNTGlua0luTUNK
SVQoKTsKICAgICBMTFZNSW5pdGlhbGl6ZU5hdGl2ZVRhcmdldCgpOwogICAgIExMVk1Jbml0aWFs
aXplWDg2QXNtUHJpbnRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29m
ZmxpbmVhc20vYXJtLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXJtLnJi
CmluZGV4IDEwYjMzOWViNjdiOGMwODhhYjRhNzg3Y2VkOGY1ZmM2ZDE0ZjA2NWIuLmMzZGJjNTEw
YzA4NDY3NjgyYmUyNWM4OWU2YzUwNDQ3Yjk5ZWVjMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FybS5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS9hcm0ucmIKQEAgLTYwMSw2ICs2MDEsOCBAQCBjbGFzcyBJbnN0cnVjdGlvbgog
ICAgICAgICAgICAgJGFzbS5wdXRzICJzbXVsbCAje29wZXJhbmRzWzJdLmFybU9wZXJhbmR9LCAj
e29wZXJhbmRzWzNdLmFybU9wZXJhbmR9LCAje29wZXJhbmRzWzBdLmFybU9wZXJhbmR9LCAje29w
ZXJhbmRzWzFdLmFybU9wZXJhbmR9IgogICAgICAgICB3aGVuICJtZW1mZW5jZSIKICAgICAgICAg
ICAgICRhc20ucHV0cyAiZG1iIHN5IgorICAgICAgICB3aGVuICJjbHJicCIKKyAgICAgICAgICAg
ICRhc20ucHV0cyAiYmljICN7b3BlcmFuZHNbMl0uYXJtT3BlcmFuZH0sICN7b3BlcmFuZHNbMF0u
YXJtT3BlcmFuZH0sICN7b3BlcmFuZHNbMV0uYXJtT3BlcmFuZH0iCiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIGxvd2VyRGVmYXVsdAogICAgICAgICBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FybTY0LnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L29mZmxpbmVhc20vYXJtNjQucmIKaW5kZXggZTBhMjNmZjM3ODFlZWM5OWM4OTMxODE1YzgyZmM0
NTQwOTNlOGFlYi4uMjA4ODIxNmMwY2M5YWJhNmVmMGMwMTAyMzM0ZjY4YzFhY2RkYjZkZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXJtNjQucmIKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXJtNjQucmIKQEAgLTQwLDE0ICs0MCwx
NCBAQCByZXF1aXJlICJyaXNjIgogIyAgeDEgID0+IHQxLCBhMSwgcjEKICMgIHgyICA9PiB0Miwg
YTIKICMgIHgzICA9PiBhMworIyAgeDUgID0+IHQ1CisjICB4NiAgPT4gdDYKICMgIHg5ICA9PiAo
bm9uQXJnR1BSMSBpbiBiYXNlbGluZSkKLSMgeDEwICA9PiB0NCAodW51c2VkIGluIGJhc2VsaW5l
KQotIyB4MTEgID0+IHQ1ICh1bnVzZWQgaW4gYmFzZWxpbmUpCi0jIHgxMiAgPT4gdDYgKHVudXNl
ZCBpbiBiYXNlbGluZSkKICMgeDEzICA9PiBzY3JhdGNoICh1bnVzZWQgaW4gYmFzZWxpbmUpCiAj
IHgxNiAgPT4gc2NyYXRjaAogIyB4MTcgID0+IHNjcmF0Y2gKICMgeDIzICA9PiB0MworIyB4MjQg
ID0+IHQ0CiAjIHgyNyAgPT4gY3NyMSAodGFnVHlwZU51bWJlcikKICMgeDI4ICA9PiBjc3IyICh0
YWdNYXNrKQogIyB4MjkgID0+IGNmcgpAQCAtMTEzLDExICsxMTMsMTEgQEAgY2xhc3MgUmVnaXN0
ZXJJRAogICAgICAgICB3aGVuICd0MycKICAgICAgICAgICAgIGFybTY0R1BSTmFtZSgneDIzJywg
a2luZCkKICAgICAgICAgd2hlbiAndDQnCi0gICAgICAgICAgICBhcm02NEdQUk5hbWUoJ3gxMCcs
IGtpbmQpCisgICAgICAgICAgICBhcm02NEdQUk5hbWUoJ3gyNCcsIGtpbmQpCiAgICAgICAgIHdo
ZW4gJ3Q1JwotICAgICAgICAgICAgYXJtNjRHUFJOYW1lKCd4MTEnLCBraW5kKQorICAgICAgICAg
ICAgYXJtNjRHUFJOYW1lKCd4NScsIGtpbmQpCiAgICAgICAgIHdoZW4gJ3Q2JwotICAgICAgICAg
ICAgYXJtNjRHUFJOYW1lKCd4MTInLCBraW5kKQorICAgICAgICAgICAgYXJtNjRHUFJOYW1lKCd4
NicsIGtpbmQpCiAgICAgICAgIHdoZW4gJ2NmcicKICAgICAgICAgICAgIGFybTY0R1BSTmFtZSgn
eDI5Jywga2luZCkKICAgICAgICAgd2hlbiAnY3NyMScKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9vZmZsaW5lYXNtL2Nsb29wLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29m
ZmxpbmVhc20vY2xvb3AucmIKaW5kZXggODUyZTg2NGU5OWEzYjg3YjVkYzFkZWIwMGRhY2M0N2U1
ODkyZTNmOS4uOWI5MjA0N2RlMjE2ZjdlYjY4YTFiYjI2ZjJiNmJlYTk3ODdiMjI3ZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vY2xvb3AucmIKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vY2xvb3AucmIKQEAgLTEsNCArMSw0IEBACi0j
IENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENv
cHlyaWdodCAoQykgMjAxMiwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAj
CiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTY4LDM0ICs2OCwyMiBAQCBDX0xPT1BfU0NS
QVRDSF9GUFIgPSBTcGVjaWFsUmVnaXN0ZXIubmV3KCJkNiIpCiBjbGFzcyBSZWdpc3RlcklECiAg
ICAgZGVmIGNsRHVtcAogICAgICAgICBjYXNlIG5hbWUKLSAgICAgICAgd2hlbiAiYTAiCi0gICAg
ICAgICAgICAiYTAiCi0gICAgICAgIHdoZW4gImExIgotICAgICAgICAgICAgImExIgotICAgICAg
ICB3aGVuICJhMiIKLSAgICAgICAgICAgICJhMiIKLSAgICAgICAgd2hlbiAiYTMiCi0gICAgICAg
ICAgICAiYTMiCi0gICAgICAgIHdoZW4gImE0IgotICAgICAgICAgICAgImE0IgotICAgICAgICB3
aGVuICJhNSIKLSAgICAgICAgICAgICJhNSIKLSAgICAgICAgd2hlbiAiYTYiCi0gICAgICAgICAg
ICAiYTYiCi0gICAgICAgIHdoZW4gImE2IgotICAgICAgICAgICAgImE2IgotICAgICAgICB3aGVu
ICJ0MCIKKyAgICAgICAgIyBUaGUgY2xvb3AgaXMgbW9kZWxsZWQgb24gdGhlIEFSTSBpbXBsZW1l
bnRhdGlvbi4gSGVuY2UsIHRoZSBhMC1hMworICAgICAgICAjIHJlZ2lzdGVycyBhcmUgYWxpYXNl
cyBmb3IgcjAtcjMgaS5lLiB0MC10MyBpbiBvdXIgY2FzZS4KKyAgICAgICAgd2hlbiAidDAiLCAi
YTAiCiAgICAgICAgICAgICAidDAiCi0gICAgICAgIHdoZW4gInQxIgorICAgICAgICB3aGVuICJ0
MSIsICJhMSIKICAgICAgICAgICAgICJ0MSIKLSAgICAgICAgd2hlbiAidDIiCisgICAgICAgIHdo
ZW4gInQyIiwgImEyIgogICAgICAgICAgICAgInQyIgotICAgICAgICB3aGVuICJ0MyIKKyAgICAg
ICAgd2hlbiAidDMiLCAiYTMiCiAgICAgICAgICAgICAidDMiCiAgICAgICAgIHdoZW4gInQ0Igot
ICAgICAgICAgICAgInJQQyIKKyAgICAgICAgICAgICJwYyIKKyAgICAgICAgd2hlbiAidDUiCisg
ICAgICAgICAgICAidDUiCiAgICAgICAgIHdoZW4gInQ2IgotICAgICAgICAgICAgInJCYXNlUEMi
CisgICAgICAgICAgICAicGNCYXNlIgogICAgICAgICB3aGVuICJjc3IxIgogICAgICAgICAgICAg
InRhZ1R5cGVOdW1iZXIiCiAgICAgICAgIHdoZW4gImNzcjIiCkBAIC0xMDMsNyArOTEsNyBAQCBj
bGFzcyBSZWdpc3RlcklECiAgICAgICAgIHdoZW4gImNmciIKICAgICAgICAgICAgICJjZnIiCiAg
ICAgICAgIHdoZW4gImxyIgotICAgICAgICAgICAgInJSZXRWUEMiCisgICAgICAgICAgICAibHIi
CiAgICAgICAgIHdoZW4gInNwIgogICAgICAgICAgICAgInNwIgogICAgICAgICBlbHNlCkBAIC01
NTUsMTQgKzU0MywxNCBAQCBlbmQKICMgb3BlcmFuZHM6IGNhbGxUYXJnZXQsIGN1cnJlbnRGcmFt
ZSwgY3VycmVudFBDCiBkZWYgY2xvb3BFbWl0Q2FsbFNsb3dQYXRoKG9wZXJhbmRzKQogICAgICRh
c20ucHV0YyAieyIKLSAgICAkYXNtLnB1dGMgIiAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4
ZWNTdGF0ZSo+KCN7b3BlcmFuZHNbMV0uY2xWYWx1ZSg6dm9pZFB0cil9KTsiCi0gICAgJGFzbS5w
dXRjICIgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KCN7b3BlcmFuZHNb
Ml0uY2xWYWx1ZSg6dm9pZFB0cil9KTsiCi0gICAgJGFzbS5wdXRjICIgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9ICN7b3BlcmFuZHNbMF0uY0xhYmVsfShleGVjLCBwYyk7IgotICAgICRh
c20ucHV0YyAiICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS52cCk7
IgorICAgICRhc20ucHV0YyAiICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSAje29wZXJh
bmRzWzBdLmNMYWJlbH0oI3tvcGVyYW5kc1sxXS5jbER1bXB9LCAje29wZXJhbmRzWzJdLmNsRHVt
cH0pOyIKKyAgICAkYXNtLnB1dGMgIiAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC52cCwgdDEu
dnApOyIKICAgICAkYXNtLnB1dGMgIn0iCiBlbmQKIAogY2xhc3MgSW5zdHJ1Y3Rpb24KKyAgICBA
QGRpZFJldHVybkZyb21KU0xhYmVsQ291bnRlciA9IDAKKwogICAgIGRlZiBsb3dlckNfTE9PUAog
ICAgICAgICAkYXNtLmNvZGVPcmlnaW4gY29kZU9yaWdpblN0cmluZyBpZiAkZW5hYmxlQ29kZU9y
aWdpbkNvbW1lbnRzCiAgICAgICAgICRhc20uYW5ub3RhdGlvbiBhbm5vdGF0aW9uIGlmICRlbmFi
bGVJbnN0ckFubm90YXRpb25zICYmIChvcGNvZGUgIT0gImNsb29wRG8iKQpAQCAtODc2LDcgKzg2
NCw4IEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgIHdoZW4gImJyZWFrIgogICAgICAgICAg
ICAgJGFzbS5wdXRjICJDUkFTSCgpOyAvLyBicmVhayBpbnN0cnVjdGlvbiBub3QgaW1wbGVtZW50
ZWQuIgogICAgICAgICB3aGVuICJyZXQiCi0gICAgICAgICAgICAkYXNtLnB1dGMgImdvdG8gZG9S
ZXR1cm5IZWxwZXI7IgorICAgICAgICAgICAgJGFzbS5wdXRjICJvcGNvZGUgPSBsci5vcGNvZGU7
IgorICAgICAgICAgICAgJGFzbS5wdXRjICJESVNQQVRDSF9PUENPREUoKTsiCiAKICAgICAgICAg
d2hlbiAiY2JlcSIKICAgICAgICAgICAgIGNsb29wRW1pdENvbXBhcmVBbmRTZXQob3BlcmFuZHMs
IDp1aW50OCwgIj09IikKQEAgLTEwOTcsNiArMTA4NiwxMiBAQCBjbGFzcyBJbnN0cnVjdGlvbgog
ICAgICAgICAgICAgY2xvb3BFbWl0T3BBbmRCcmFuY2gob3BlcmFuZHMsICJ8IiwgOmludDMyLCAi
IT0gMCIpCiAgICAgICAgICAgICAKICAgICAgICAgd2hlbiAibWVtZmVuY2UiCisKKyAgICAgICAg
d2hlbiAicHVzaCIKKyAgICAgICAgICAgICRhc20ucHV0YyAiUFVTSCgje29wZXJhbmRzWzBdLmNs
RHVtcH0pOyIKKyAgICAgICAgd2hlbiAicG9wIgorICAgICAgICAgICAgJGFzbS5wdXRjICJQT1Ao
I3tvcGVyYW5kc1swXS5jbER1bXB9KTsiCisKICAgICAgICAgd2hlbiAicHVzaENhbGxlZVNhdmVz
IgogICAgICAgICB3aGVuICJwb3BDYWxsZWVTYXZlcyIKIApAQCAtMTExMyw4ICsxMTA4LDExIEBA
IGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgICMgdXNlIG9mIHRoZSBjYWxsIGluc3RydWN0aW9u
LiBJbnN0ZWFkLCB3ZSBqdXN0IGltcGxlbWVudCBKUyBjYWxscwogICAgICAgICAjIGFzIGFuIG9w
Y29kZSBkaXNwYXRjaC4KICAgICAgICAgd2hlbiAiY2xvb3BDYWxsSlNGdW5jdGlvbiIKKyAgICAg
ICAgICAgIEBAZGlkUmV0dXJuRnJvbUpTTGFiZWxDb3VudGVyICs9IDEKKyAgICAgICAgICAgICRh
c20ucHV0YyAibHIub3Bjb2RlID0gZ2V0T3Bjb2RlKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJv
bV9qc18je0BAZGlkUmV0dXJuRnJvbUpTTGFiZWxDb3VudGVyfSk7IgogICAgICAgICAgICAgJGFz
bS5wdXRjICJvcGNvZGUgPSAje29wZXJhbmRzWzBdLmNsVmFsdWUoOm9wY29kZSl9OyIKICAgICAg
ICAgICAgICRhc20ucHV0YyAiRElTUEFUQ0hfT1BDT0RFKCk7IgorICAgICAgICAgICAgJGFzbS5w
dXRzTGFiZWwoImxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc18je0BAZGlkUmV0dXJuRnJv
bUpTTGFiZWxDb3VudGVyfSIpCiAKICAgICAgICAgIyBXZSBjYW4ndCBkbyBnZW5lcmljIGZ1bmN0
aW9uIGNhbGxzIHdpdGggYW4gYXJiaXRyYXJ5IHNldCBvZiBhcmdzLCBidXQKICAgICAgICAgIyBm
b3J0dW5hdGVseSB3ZSBkb24ndCBoYXZlIHRvIGhlcmUuIEFsbCBuYXRpdmUgZnVuY3Rpb24gY2Fs
bHMgYWx3YXlzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9p
bnN0cnVjdGlvbnMucmIgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9pbnN0cnVj
dGlvbnMucmIKaW5kZXggNWEzNDYzZmM5YWNjYTVlY2MyZTUyY2E4NTMzNGJkOTU3NDE5MDQ0MC4u
OTg5ZWU4MmMyNzgzYWU2MTEwOGM4MWQ4NGRlZmUxYjdlNjE1YzAzZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vaW5zdHJ1Y3Rpb25zLnJiCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2luc3RydWN0aW9ucy5yYgpAQCAtMjU4LDYgKzI1
OCwxMSBAQCBYODZfSU5TVFJVQ1RJT05TID0KICAgICAgImlkaXZpIgogICAgIF0KIAorQVJNX0lO
U1RSVUNUSU9OUyA9CisgICAgWworICAgICAiY2xyYnAiCisgICAgXQorCiBBUk02NF9JTlNUUlVD
VElPTlMgPQogICAgIFsKICAgICAgInBvcExSQW5kRlAiLCAgICMgQVJNNjQgcmVxdWlyZXMgcmVn
aXN0ZXJzIHRvIGJlIHB1c2hlZCBhbmQgcG9wcGVkIGluIHBhaXJzLApAQCAtMzEzLDcgKzMxOCw3
IEBAIENYWF9JTlNUUlVDVElPTlMgPQogICAgICAiY2xvb3BEbyIsICAgICAgICAgICAgICAjIG5v
IG9wZXJhbmRzCiAgICAgXQogCi1JTlNUUlVDVElPTlMgPSBNQUNST19JTlNUUlVDVElPTlMgKyBY
ODZfSU5TVFJVQ1RJT05TICsgQVJNNjRfSU5TVFJVQ1RJT05TICsgUklTQ19JTlNUUlVDVElPTlMg
KyBNSVBTX0lOU1RSVUNUSU9OUyArIFNINF9JTlNUUlVDVElPTlMgKyBDWFhfSU5TVFJVQ1RJT05T
CitJTlNUUlVDVElPTlMgPSBNQUNST19JTlNUUlVDVElPTlMgKyBYODZfSU5TVFJVQ1RJT05TICsg
QVJNX0lOU1RSVUNUSU9OUyArIEFSTTY0X0lOU1RSVUNUSU9OUyArIFJJU0NfSU5TVFJVQ1RJT05T
ICsgTUlQU19JTlNUUlVDVElPTlMgKyBTSDRfSU5TVFJVQ1RJT05TICsgQ1hYX0lOU1RSVUNUSU9O
UwogCiBJTlNUUlVDVElPTl9QQVRURVJOID0gUmVnZXhwLm5ldygnXFxBKCgnICsgSU5TVFJVQ1RJ
T05TLmpvaW4oJyl8KCcpICsgJykpXFxaJykKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL29mZmxpbmVhc20veDg2LnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVh
c20veDg2LnJiCmluZGV4IGU0N2YyOTU2MTE1MDc2ODRkMTY0ZWQ0ZjgyZWJlOWRmYTU2NDcyNzYu
LmMxNjEyNDJiZTY3NmJmNmZkYjYzZjU1NDYzOWVkYmUxNzY5M2VjMDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3g4Ni5yYgorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvb2ZmbGluZWFzbS94ODYucmIKQEAgLTE1MCwxNSArMTUwLDE1IEBAIGNsYXNzIFJl
Z2lzdGVySUQKICAgICAgICAgd2hlbiAidDQiCiAgICAgICAgICAgICBjYXNlIGtpbmQKICAgICAg
ICAgICAgIHdoZW4gOmJ5dGUKLSAgICAgICAgICAgICAgICAiJXNpbCIKKyAgICAgICAgICAgICAg
ICAiJWRpbCIKICAgICAgICAgICAgIHdoZW4gOmhhbGYKLSAgICAgICAgICAgICAgICAiJXNpIgor
ICAgICAgICAgICAgICAgICIlZGkiCiAgICAgICAgICAgICB3aGVuIDppbnQKLSAgICAgICAgICAg
ICAgICAiJWVzaSIKKyAgICAgICAgICAgICAgICAiJWVkaSIKICAgICAgICAgICAgIHdoZW4gOnB0
cgotICAgICAgICAgICAgICAgIGlzWDY0ID8gIiVyc2kiIDogIiVlc2kiCisgICAgICAgICAgICAg
ICAgaXNYNjQgPyAiJXJkaSIgOiAiJWVkaSIKICAgICAgICAgICAgIHdoZW4gOnF1YWQKLSAgICAg
ICAgICAgICAgICBpc1g2NCA/ICIlcnNpIiA6IHJhaXNlCisgICAgICAgICAgICAgICAgaXNYNjQg
PyAiJXJkaSIgOiByYWlzZQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHJhaXNl
CiAgICAgICAgICAgICBlbmQKQEAgLTIwNiwxNSArMjA2LDE1IEBAIGNsYXNzIFJlZ2lzdGVySUQK
ICAgICAgICAgd2hlbiAidDUiCiAgICAgICAgICAgICBjYXNlIGtpbmQKICAgICAgICAgICAgIHdo
ZW4gOmJ5dGUKLSAgICAgICAgICAgICAgICAiJWRpbCIKKyAgICAgICAgICAgICAgICAiJXNpbCIK
ICAgICAgICAgICAgIHdoZW4gOmhhbGYKLSAgICAgICAgICAgICAgICAiJWRpIgorICAgICAgICAg
ICAgICAgICIlc2kiCiAgICAgICAgICAgICB3aGVuIDppbnQKLSAgICAgICAgICAgICAgICAiJWVk
aSIKKyAgICAgICAgICAgICAgICAiJWVzaSIKICAgICAgICAgICAgIHdoZW4gOnB0cgotICAgICAg
ICAgICAgICAgIGlzWDY0ID8gIiVyZGkiIDogIiVlZGkiCisgICAgICAgICAgICAgICAgaXNYNjQg
PyAiJXJzaSIgOiAiJWVzaSIKICAgICAgICAgICAgIHdoZW4gOnF1YWQKLSAgICAgICAgICAgICAg
ICBpc1g2NCA/ICIlcmRpIiA6IHJhaXNlCisgICAgICAgICAgICAgICAgaXNYNjQgPyAiJXJzaSIg
OiByYWlzZQogICAgICAgICAgICAgZW5kCiAgICAgICAgIHdoZW4gInQ2IgogICAgICAgICAgICAg
cmFpc2UgIkNhbm5vdCB1c2UgI3tuYW1lfSBpbiAzMi1iaXQgWDg2IGF0ICN7Y29kZU9yaWdpblN0
cmluZ30iIHVubGVzcyBpc1g2NApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXJFcnJvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJF
cnJvci5oCmluZGV4IGJhYTQ0NjVkMDc4ZGUxNzY0YWE4ZWYyN2I3NTU5MWE4YmJiZTVhYWMuLmRm
MzhhMDY3NDI5YWViMmJiNzY5YTVmYjgzOTY0MDRmZTg4YTQ1NjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRXJyb3IuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlckVycm9yLmgKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUg
UGFyc2VyRXJyb3JfaAogCiAjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJFcnJvckhhbmRs
aW5nU2NvcGUuaCIKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCiAjaW5jbHVkZSAiUGFy
c2VyVG9rZW5zLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC05NCw4ICs5
NSwxMCBAQCBzdHJ1Y3QgUGFyc2VyRXJyb3IgewogICAgICAgICAgICAgcmV0dXJuIGFkZEVycm9y
SW5mbyhnbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKSwgY3JlYXRlU3ludGF4RXJyb3IoZ2xvYmFs
T2JqZWN0LCBtX21lc3NhZ2UpLCBtX2xpbmUsIHNvdXJjZSk7CiAgICAgICAgIGNhc2UgRXZhbEVy
cm9yOgogICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVN5bnRheEVycm9yKGdsb2JhbE9iamVjdCwg
bV9tZXNzYWdlKTsKLSAgICAgICAgY2FzZSBTdGFja092ZXJmbG93OgorICAgICAgICBjYXNlIFN0
YWNrT3ZlcmZsb3c6IHsKKyAgICAgICAgICAgIEVycm9ySGFuZGxpbmdTY29wZSBlcnJvclNjb3Bl
KGdsb2JhbE9iamVjdC0+dm0oKSk7CiAgICAgICAgICAgICByZXR1cm4gY3JlYXRlU3RhY2tPdmVy
Zmxvd0Vycm9yKGdsb2JhbE9iamVjdCk7CisgICAgICAgIH0KICAgICAgICAgY2FzZSBPdXRPZk1l
bW9yeToKICAgICAgICAgICAgIHJldHVybiBjcmVhdGVPdXRPZk1lbW9yeUVycm9yKGdsb2JhbE9i
amVjdCk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9m
aWxlci9Qcm9maWxlckNvbXBpbGF0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9m
aWxlci9Qcm9maWxlckNvbXBpbGF0aW9uLmNwcAppbmRleCA1NTc2NmNlNWM4MGVhMTlmZTI4YzJk
OTI2NDM0MDNmOTgyYTE0YmE2Li4wMDhjYWYxY2Q5MWFmZGQzOTM0NWY5Yjk0Yzk3NzY2OTcyMjBk
OGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJD
b21waWxhdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2Zp
bGVyQ29tcGlsYXRpb24uY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02Nyw2ICs2NywxMSBAQCB2b2lkIENvbXBp
bGF0aW9uOjphZGREZXNjcmlwdGlvbihjb25zdCBDb21waWxlZEJ5dGVjb2RlJiBjb21waWxlZEJ5
dGVjb2RlKQogICAgIG1fZGVzY3JpcHRpb25zLmFwcGVuZChjb21waWxlZEJ5dGVjb2RlKTsKIH0K
IAordm9pZCBDb21waWxhdGlvbjo6YWRkRGVzY3JpcHRpb24oY29uc3QgT3JpZ2luU3RhY2smIHN0
YWNrLCBjb25zdCBDU3RyaW5nJiBkZXNjcmlwdGlvbikKK3sKKyAgICBhZGREZXNjcmlwdGlvbihD
b21waWxlZEJ5dGVjb2RlKHN0YWNrLCBkZXNjcmlwdGlvbikpOworfQorCiBFeGVjdXRpb25Db3Vu
dGVyKiBDb21waWxhdGlvbjo6ZXhlY3V0aW9uQ291bnRlckZvcihjb25zdCBPcmlnaW5TdGFjayYg
b3JpZ2luKQogewogICAgIHN0ZDo6dW5pcXVlX3B0cjxFeGVjdXRpb25Db3VudGVyPiYgY291bnRl
ciA9IG1fY291bnRlcnMuYWRkKG9yaWdpbiwgbnVsbHB0cikuaXRlcmF0b3ItPnZhbHVlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRp
b24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckNvbXBpbGF0aW9u
LmgKaW5kZXggZGMyODEwNTI1Yjc3YzY4NmM2MTExYTM5MDQ0ODNhMmU0YjBhMjFkNS4uZDE2NzU3
ZTJhZWUzYzYxMWM4OGFiYmZhMTNiZWZiNTVhNjE2ZDZiZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb24uaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJDb21waWxhdGlvbi5oCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMsIDIwMTQgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC02Myw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBDb21waWxhdGlvbktpbmQga2luZCgpIGNvbnN0
IHsgcmV0dXJuIG1fa2luZDsgfQogICAgIAogICAgIHZvaWQgYWRkRGVzY3JpcHRpb24oY29uc3Qg
Q29tcGlsZWRCeXRlY29kZSYpOworICAgIHZvaWQgYWRkRGVzY3JpcHRpb24oY29uc3QgT3JpZ2lu
U3RhY2smLCBjb25zdCBDU3RyaW5nJiBkZXNjcmlwdGlvbik7CiAgICAgRXhlY3V0aW9uQ291bnRl
ciogZXhlY3V0aW9uQ291bnRlckZvcihjb25zdCBPcmlnaW5TdGFjayYpOwogICAgIHZvaWQgYWRk
T1NSRXhpdFNpdGUoY29uc3QgVmVjdG9yPGNvbnN0IHZvaWQqPiYgY29kZUFkZHJlc3Nlcyk7CiAg
ICAgT1NSRXhpdCogYWRkT1NSRXhpdCh1bnNpZ25lZCBpZCwgY29uc3QgT3JpZ2luU3RhY2smLCBF
eGl0S2luZCwgYm9vbCBpc1dhdGNocG9pbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckNvbXBpbGF0aW9uS2luZC5jcHAKaW5kZXggNzhj
ZTcwNTg2ZGQwMWJlNWI2MzNjZWRiMmQwY2FmYWZjYTQyYzljZS4uM2ZiZTI1MTkyNWFkYjM4M2I3
OGJlNWExZWQxZTJjZTQ1YmI4ODMzOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Byb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXJDb21waWxhdGlvbktpbmQuY3BwCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00Miw2ICs0Miwx
MiBAQCB2b2lkIHByaW50SW50ZXJuYWwoUHJpbnRTdHJlYW0mIG91dCwgSlNDOjpQcm9maWxlcjo6
Q29tcGlsYXRpb25LaW5kIGtpbmQpCiAgICAgY2FzZSBKU0M6OlByb2ZpbGVyOjpERkc6CiAgICAg
ICAgIG91dC5wcmludCgiREZHIik7CiAgICAgICAgIHJldHVybjsKKyAgICBjYXNlIEpTQzo6UHJv
ZmlsZXI6OkZUTDoKKyAgICAgICAgb3V0LnByaW50KCJGVEwiKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIGNhc2UgSlNDOjpQcm9maWxlcjo6RlRMRm9yT1NSRW50cnk6CisgICAgICAgIG91dC5wcmlu
dCgiRlRMRm9yT1NSRW50cnkiKTsKKyAgICAgICAgcmV0dXJuOwogICAgIGRlZmF1bHQ6CiAgICAg
ICAgIENSQVNIKCk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wcm9maWxlci9Qcm9maWxlckNvbXBpbGF0aW9uS2luZC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmgKaW5kZXggNDgwNmQz
OWI5M2ZiMDg0NGZkNDA2MTQ0MjE3MjgxN2Q2Mzg1MDIwYi4uNTc1ZWMyOTQ3YTc2MWU0ZmZjZTVk
MjJjNDllOWFmZGMxYjQ1YTc4NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3By
b2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Byb2ZpbGVyL1Byb2ZpbGVyQ29tcGlsYXRpb25LaW5kLmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDcgKzMxLDkgQEAgbmFt
ZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBQcm9maWxlciB7CiBlbnVtIENvbXBpbGF0aW9uS2luZCB7
CiAgICAgTExJbnQsCiAgICAgQmFzZWxpbmUsCi0gICAgREZHCisgICAgREZHLAorICAgIEZUTCwK
KyAgICBGVExGb3JPU1JFbnRyeQogfTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OlByb2ZpbGVy
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcml0eUNoZWNrTW9k
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJpdHlDaGVja01vZGUuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mMjA5MGMwNTdmZGFmMGNiMWEwOTRhOTJmYTk5NTY2MTQ3OWRmM2Y3Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJpdHlDaGVja01vZGUu
aApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorICovCisKKyNpZm5kZWYgQXJpdHlDaGVja01vZGVfaAorI2RlZmluZSBBcml0eUNoZWNrTW9k
ZV9oCisKK25hbWVzcGFjZSBKU0MgeworCitlbnVtIEFyaXR5Q2hlY2tNb2RlIHsKKyAgICBBcml0
eUNoZWNrTm90UmVxdWlyZWQsCisgICAgTXVzdENoZWNrQXJpdHkKK307CisKK30gLy8gbmFtZXNw
YWNlIEpTQworCisjZW5kaWYgLy8gQXJpdHlDaGVja01vZGVfaAorCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25TbG93UGF0aHMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmNwcAppbmRleCBmNmExNDJlNmQy
YzA1NDIxMjE1MjQ4N2IzOTEzOThiNTg0ZGE3YmY2Li4wNzU4NzVmYjIzMTZhNTU1NzA1MGE2Njkw
Y2QwZjk4ODI0ODRmNWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db21tb25TbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0NvbW1vblNsb3dQYXRocy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDExLCAyMDEyLCAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDEwICsyOSwx
MiBAQAogI2lmIEVOQUJMRShKSVQpIHx8IEVOQUJMRShMTElOVCkKIAogI2luY2x1ZGUgIkFyZ3Vt
ZW50cy5oIgorI2luY2x1ZGUgIkFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLmgiCiAjaW5jbHVk
ZSAiQXJyYXlDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgogI2luY2x1ZGUg
IkNvZGVQcm9maWxpbmcuaCIKICNpbmNsdWRlICJDb21tb25TbG93UGF0aHNFeGNlcHRpb25zLmgi
CisjaW5jbHVkZSAiRXJyb3JIYW5kbGluZ1Njb3BlLmgiCiAjaW5jbHVkZSAiR2V0dGVyU2V0dGVy
LmgiCiAjaW5jbHVkZSAiSG9zdENhbGxSZXR1cm5WYWx1ZS5oIgogI2luY2x1ZGUgIkludGVycHJl
dGVyLmgiCkBAIC0xNjEsMjggKzE2Myw0NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgQ0FM
TF9FTkRfSU1QTChjckV4ZWMsIGNyQ2FsbFRhcmdldCk7ICAgICAgICAgICAgICAgIFwKICAgICB9
IHdoaWxlIChmYWxzZSkKIAorc3RhdGljIENvbW1vblNsb3dQYXRoczo6QXJpdHlDaGVja0RhdGEq
IHNldHVwQXJpdHlDaGVja0RhdGEoVk0mIHZtLCBpbnQgc2xvdHNUb0FkZCkKK3sKKyAgICBDb21t
b25TbG93UGF0aHM6OkFyaXR5Q2hlY2tEYXRhKiByZXN1bHQgPSB2bS5hcml0eUNoZWNrRGF0YS5n
ZXQoKTsKKyAgICByZXN1bHQtPnBhZGRlZFN0YWNrU3BhY2UgPSBzbG90c1RvQWRkOworI2lmIEVO
QUJMRShKSVQpCisgICAgaWYgKHZtLmNhblVzZUpJVCgpKSB7CisgICAgICAgIHJlc3VsdC0+dGh1
bmtUb0NhbGwgPSB2bS5nZXRDVElTdHViKGFyaXR5Rml4dXApLmNvZGUoKS5leGVjdXRhYmxlQWRk
cmVzcygpOworICAgICAgICByZXN1bHQtPnJldHVyblBDID0gdm0uYXJpdHlDaGVja0ZhaWxSZXR1
cm5UaHVua3MtPnJldHVyblBDRm9yKHZtLCBzbG90c1RvQWRkICogc3RhY2tBbGlnbm1lbnRSZWdp
c3RlcnMoKSkuZXhlY3V0YWJsZUFkZHJlc3MoKTsKKyAgICB9IGVsc2UKKyNlbmRpZgorICAgIHsK
KyAgICAgICAgcmVzdWx0LT50aHVua1RvQ2FsbCA9IDA7CisgICAgICAgIHJlc3VsdC0+cmV0dXJu
UEMgPSAwOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBTTE9XX1BBVEhfREVDTChz
bG93X3BhdGhfY2FsbF9hcml0eUNoZWNrKQogewogICAgIEJFR0lOKCk7Ci0gICAgaW50IFNsb3Rz
VG9BZGQgPSBDb21tb25TbG93UGF0aHM6OmFyaXR5Q2hlY2tGb3IoZXhlYywgJnZtLmludGVycHJl
dGVyLT5zdGFjaygpLCBDb2RlRm9yQ2FsbCk7Ci0gICAgaWYgKFNsb3RzVG9BZGQgPCAwKSB7Cisg
ICAgaW50IHNsb3RzVG9BZGQgPSBDb21tb25TbG93UGF0aHM6OmFyaXR5Q2hlY2tGb3IoZXhlYywg
JnZtLmludGVycHJldGVyLT5zdGFjaygpLCBDb2RlRm9yQ2FsbCk7CisgICAgaWYgKHNsb3RzVG9B
ZGQgPCAwKSB7CiAgICAgICAgIGV4ZWMgPSBleGVjLT5jYWxsZXJGcmFtZSgpOworICAgICAgICBF
cnJvckhhbmRsaW5nU2NvcGUgZXJyb3JTY29wZShleGVjLT52bSgpKTsKICAgICAgICAgQ29tbW9u
U2xvd1BhdGhzOjppbnRlcnByZXRlclRocm93SW5DYWxsZXIoZXhlYywgY3JlYXRlU3RhY2tPdmVy
Zmxvd0Vycm9yKGV4ZWMpKTsKICAgICAgICAgUkVUVVJOX1RXTyhiaXR3aXNlX2Nhc3Q8dm9pZCo+
KHN0YXRpY19jYXN0PHVpbnRwdHJfdD4oMSkpLCBleGVjKTsKICAgICB9Ci0gICAgUkVUVVJOX1RX
TygwLCByZWludGVycHJldF9jYXN0PEV4ZWNTdGF0ZSo+KFNsb3RzVG9BZGQpKTsKKyAgICBSRVRV
Uk5fVFdPKDAsIHNldHVwQXJpdHlDaGVja0RhdGEodm0sIHNsb3RzVG9BZGQpKTsKIH0KIAogU0xP
V19QQVRIX0RFQ0woc2xvd19wYXRoX2NvbnN0cnVjdF9hcml0eUNoZWNrKQogewogICAgIEJFR0lO
KCk7Ci0gICAgaW50IFNsb3RzVG9BZGQgPSBDb21tb25TbG93UGF0aHM6OmFyaXR5Q2hlY2tGb3Io
ZXhlYywgJnZtLmludGVycHJldGVyLT5zdGFjaygpLCBDb2RlRm9yQ29uc3RydWN0KTsKLSAgICBp
ZiAoU2xvdHNUb0FkZCA8IDApIHsKKyAgICBpbnQgc2xvdHNUb0FkZCA9IENvbW1vblNsb3dQYXRo
czo6YXJpdHlDaGVja0ZvcihleGVjLCAmdm0uaW50ZXJwcmV0ZXItPnN0YWNrKCksIENvZGVGb3JD
b25zdHJ1Y3QpOworICAgIGlmIChzbG90c1RvQWRkIDwgMCkgewogICAgICAgICBleGVjID0gZXhl
Yy0+Y2FsbGVyRnJhbWUoKTsKKyAgICAgICAgRXJyb3JIYW5kbGluZ1Njb3BlIGVycm9yU2NvcGUo
ZXhlYy0+dm0oKSk7CiAgICAgICAgIENvbW1vblNsb3dQYXRoczo6aW50ZXJwcmV0ZXJUaHJvd0lu
Q2FsbGVyKGV4ZWMsIGNyZWF0ZVN0YWNrT3ZlcmZsb3dFcnJvcihleGVjKSk7CiAgICAgICAgIFJF
VFVSTl9UV08oYml0d2lzZV9jYXN0PHZvaWQqPihzdGF0aWNfY2FzdDx1aW50cHRyX3Q+KDEpKSwg
ZXhlYyk7CiAgICAgfQotICAgIFJFVFVSTl9UV08oMCwgcmVpbnRlcnByZXRfY2FzdDxFeGVjU3Rh
dGUqPihTbG90c1RvQWRkKSk7CisgICAgUkVUVVJOX1RXTygwLCBzZXR1cEFyaXR5Q2hlY2tEYXRh
KHZtLCBzbG90c1RvQWRkKSk7CiB9CiAKIFNMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF90b3VjaF9l
bnRyeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vblNs
b3dQYXRocy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhz
LmgKaW5kZXggY2ZjOGJkYmI3NmFkZDczNzY5OTlmMWIyZjI2YWUyYjU5ZmM3YTliNy4uNjhmNjQw
ODRmYTI4MTEyZmVlMGQ5NDQyZGJkZWUzOGQ1MjExNDU3MSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmgKQEAgLTQ5LDYgKzQ5LDEyIEBAIG5h
bWVzcGFjZSBKU0MgewogCiBuYW1lc3BhY2UgQ29tbW9uU2xvd1BhdGhzIHsKIAorc3RydWN0IEFy
aXR5Q2hlY2tEYXRhIHsKKyAgICB1bnNpZ25lZCBwYWRkZWRTdGFja1NwYWNlOworICAgIHZvaWQq
IHRodW5rVG9DYWxsOworICAgIHZvaWQqIHJldHVyblBDOworfTsKKwogQUxXQVlTX0lOTElORSBp
bnQgYXJpdHlDaGVja0ZvcihFeGVjU3RhdGUqIGV4ZWMsIEpTU3RhY2sqIHN0YWNrLCBDb2RlU3Bl
Y2lhbGl6YXRpb25LaW5kIGtpbmQpCiB7CiAgICAgSlNGdW5jdGlvbiogY2FsbGVlID0ganNDYXN0
PEpTRnVuY3Rpb24qPihleGVjLT5jYWxsZWUoKSk7CkBAIC01OCwxOCArNjQsMTIgQEAgQUxXQVlT
X0lOTElORSBpbnQgYXJpdHlDaGVja0ZvcihFeGVjU3RhdGUqIGV4ZWMsIEpTU3RhY2sqIHN0YWNr
LCBDb2RlU3BlY2lhbGl6YXQKICAgICAKICAgICBBU1NFUlQoYXJndW1lbnRDb3VudEluY2x1ZGlu
Z1RoaXMgPCBuZXdDb2RlQmxvY2stPm51bVBhcmFtZXRlcnMoKSk7CiAgICAgaW50IG1pc3NpbmdB
cmd1bWVudENvdW50ID0gbmV3Q29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCkgLSBhcmd1bWVudENv
dW50SW5jbHVkaW5nVGhpczsKLSAgICBpbnQgcGFkZGVkTWlzc2luZ0FyZ3VtZW50Q291bnQgPSBX
VEY6OnJvdW5kVXBUb011bHRpcGxlT2Yoc3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSwgbWlzc2lu
Z0FyZ3VtZW50Q291bnQpOworICAgIGludCBuZWVkZWRTdGFja1NwYWNlID0gbWlzc2luZ0FyZ3Vt
ZW50Q291bnQgKyAxOyAvLyBBbGxvdyBzcGFjZSB0byBzYXZlIHRoZSBvcmlnaW5hbCByZXR1cm4g
UEMuCisgICAgaW50IHBhZGRlZFN0YWNrU3BhY2UgPSBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Yo
c3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSwgbmVlZGVkU3RhY2tTcGFjZSk7CiAKLSNpZiBVU0Uo
U0VQQVJBVEVfQ19BTkRfSlNfU1RBQ0spCi0gICAgaWYgKCFzdGFjay0+Z3JvdyhleGVjLT5yZWdp
c3RlcnMoKSAtIHBhZGRlZE1pc3NpbmdBcmd1bWVudENvdW50KSkKKyAgICBpZiAoIXN0YWNrLT5l
bnN1cmVDYXBhY2l0eUZvcihleGVjLT5yZWdpc3RlcnMoKSAtIHBhZGRlZFN0YWNrU3BhY2UpKQog
ICAgICAgICByZXR1cm4gLTE7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShzdGFjayk7Ci0gICAg
aWYgKCFleGVjLT52bSgpLmlzU2FmZVRvUmVjdXJzZShwYWRkZWRNaXNzaW5nQXJndW1lbnRDb3Vu
dCAqIHNpemVvZihSZWdpc3RlcikpKQotICAgICAgICByZXR1cm4gLTE7Ci0jZW5kaWYgLy8gVVNF
KFNFUEFSQVRFX0NfQU5EX0pTX1NUQUNLKQotCi0gICAgcmV0dXJuIHBhZGRlZE1pc3NpbmdBcmd1
bWVudENvdW50OworICAgIHJldHVybiBwYWRkZWRTdGFja1NwYWNlIC8gc3RhY2tBbGlnbm1lbnRS
ZWdpc3RlcnMoKTsKIH0KIAogaW5saW5lIGJvb2wgb3BJbihFeGVjU3RhdGUqIGV4ZWMsIEpTVmFs
dWUgcHJvcE5hbWUsIEpTVmFsdWUgYmFzZVZhbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Vycm9ySGFuZGxpbmdTY29wZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9FcnJvckhhbmRsaW5nU2NvcGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyMmM1ZmU1
MjMxMTk3M2I0YzJlOGNiZDU2YjViZDc1ZWRjODJjOTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckhhbmRsaW5nU2NvcGUuY3BwCkBAIC0wLDAg
KzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkVycm9ySGFuZGxpbmdTY29wZS5oIgorCisj
aW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKKyNpbmNsdWRlICJPcHRpb25zLmgiCisjaW5jbHVkZSAi
Vk0uaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK0Vycm9ySGFuZGxpbmdTY29wZTo6RXJyb3JIYW5k
bGluZ1Njb3BlKFZNJiB2bSkKKyAgICA6IG1fdm0odm0pCit7CisgICAgaWYgKCFtX3ZtLnN0YWNr
UG9pbnRlckF0Vk1FbnRyeSkKKyAgICAgICAgbV92bS5zdGFja1BvaW50ZXJBdFZNRW50cnkgPSB0
aGlzOworICAgIHNpemVfdCBuZXdSZXNlcnZlZFpvbmVTaXplID0gT3B0aW9uczo6ZXJyb3JNb2Rl
UmVzZXJ2ZWRab25lU2l6ZSgpOworICAgIG1fc2F2ZWRSZXNlcnZlZFpvbmVTaXplID0gbV92bS51
cGRhdGVTdGFja0xpbWl0V2l0aFJlc2VydmVkWm9uZVNpemUobmV3UmVzZXJ2ZWRab25lU2l6ZSk7
CisjaWYgRU5BQkxFKExMSU5UX0NfTE9PUCkKKyAgICBtX3ZtLmludGVycHJldGVyLT5zdGFjaygp
LnNldFJlc2VydmVkWm9uZVNpemUobmV3UmVzZXJ2ZWRab25lU2l6ZSk7CisjZW5kaWYKK30KKwor
RXJyb3JIYW5kbGluZ1Njb3BlOjp+RXJyb3JIYW5kbGluZ1Njb3BlKCkKK3sKKyAgICBpZiAobV92
bS5zdGFja1BvaW50ZXJBdFZNRW50cnkgPT0gdGhpcykKKyAgICAgICAgbV92bS5zdGFja1BvaW50
ZXJBdFZNRW50cnkgPSBudWxscHRyOworICAgIG1fdm0udXBkYXRlU3RhY2tMaW1pdFdpdGhSZXNl
cnZlZFpvbmVTaXplKG1fc2F2ZWRSZXNlcnZlZFpvbmVTaXplKTsKKyNpZiBFTkFCTEUoTExJTlRf
Q19MT09QKQorICAgIG1fdm0uaW50ZXJwcmV0ZXItPnN0YWNrKCkuc2V0UmVzZXJ2ZWRab25lU2l6
ZShtX3NhdmVkUmVzZXJ2ZWRab25lU2l6ZSk7CisjZW5kaWYKK30KKworfSAvLyBuYW1lc3BhY2Ug
SlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckhhbmRs
aW5nU2NvcGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySGFuZGxpbmdT
Y29wZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ1MWIyNDFlNDhjMjUzY2EyYjdkODEzYTFiZDFmNmM2MTkyMzEz
OGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJv
ckhhbmRsaW5nU2NvcGUuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgRXJyb3JIYW5kbGluZ1Njb3BlX2gKKyNk
ZWZpbmUgRXJyb3JIYW5kbGluZ1Njb3BlX2gKKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIFZN
OworCitjbGFzcyBFcnJvckhhbmRsaW5nU2NvcGUgeworcHVibGljOgorICAgIEpTX0VYUE9SVF9Q
UklWQVRFIEVycm9ySGFuZGxpbmdTY29wZShWTSYpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIH5F
cnJvckhhbmRsaW5nU2NvcGUoKTsKK3ByaXZhdGU6CisgICAgVk0mIG1fdm07CisgICAgc2l6ZV90
IG1fc2F2ZWRSZXNlcnZlZFpvbmVTaXplOworfTsKKworfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNl
bmRpZiAvLyBFcnJvckhhbmRsaW5nU2NvcGVfaAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuY3BwCmluZGV4IDhmNDQyNDhlMzg2MTU5NTQ3
NWQyYzFjYTJjYWViZmE5MDYzZmRiZGQuLjA1ZTExZTBiODBhMzQzMGFlYWIyMmIwMjIyYTIxMmY0
YThlMmM0OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2Vw
dGlvbkhlbHBlcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2Vw
dGlvbkhlbHBlcnMuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAKICNpbmNsdWRlICJDb2RlQmxvY2su
aCIKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKKyNpbmNsdWRlICJFcnJvckhhbmRsaW5nU2NvcGUu
aCIKICNpbmNsdWRlICJFcnJvckluc3RhbmNlLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3RG
dW5jdGlvbnMuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgpAQCAtMTYwLDE0ICsxNjEsMTYgQEAg
SlNPYmplY3QqIHRocm93T3V0T2ZNZW1vcnlFcnJvcihFeGVjU3RhdGUqIGV4ZWMpCiAKIEpTT2Jq
ZWN0KiB0aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgSW50
ZXJwcmV0ZXI6OkVycm9ySGFuZGxpbmdNb2RlIG1vZGUoZXhlYyk7Ci0gICAgcmV0dXJuIGV4ZWMt
PnZtKCkudGhyb3dFeGNlcHRpb24oZXhlYywgY3JlYXRlU3RhY2tPdmVyZmxvd0Vycm9yKGV4ZWMp
KTsKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIEVycm9ySGFuZGxpbmdTY29wZSBlcnJv
clNjb3BlKHZtKTsKKyAgICByZXR1cm4gdm0udGhyb3dFeGNlcHRpb24oZXhlYywgY3JlYXRlU3Rh
Y2tPdmVyZmxvd0Vycm9yKGV4ZWMpKTsKIH0KIAogSlNPYmplY3QqIHRocm93VGVybWluYXRlZEV4
ZWN1dGlvbkV4Y2VwdGlvbihFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgSW50ZXJwcmV0ZXI6OkVy
cm9ySGFuZGxpbmdNb2RlIG1vZGUoZXhlYyk7Ci0gICAgcmV0dXJuIGV4ZWMtPnZtKCkudGhyb3dF
eGNlcHRpb24oZXhlYywgY3JlYXRlVGVybWluYXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbigmZXhlYy0+
dm0oKSkpOworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgRXJyb3JIYW5kbGluZ1Njb3Bl
IGVycm9yU2NvcGUodm0pOworICAgIHJldHVybiB2bS50aHJvd0V4Y2VwdGlvbihleGVjLCBjcmVh
dGVUZXJtaW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9uKCZ2bSkpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFi
bGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKaW5k
ZXggYmJkNmVkMjNlMjZmYTJjZDk3NWQ2MzdjNTRhMmVkMmU2MTViMGY5MS4uNmJjNDY0ZDM3ZWU5
NTdlMDg4YjFiNzcyOTE0ODg0YjdmYjFlNzcxNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJMTElu
dEVudHJ5cG9pbnQuaCIKICNpbmNsdWRlICJPcGVyYXRpb25zLmgiCiAjaW5jbHVkZSAiUGFyc2Vy
LmgiCisjaW5jbHVkZSA8d3RmL0NvbW1hUHJpbnRlci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKQEAgLTExOCwxMiArMTE5
LDE0IEBAIHZvaWQgU2NyaXB0RXhlY3V0YWJsZTo6aW5zdGFsbENvZGUoQ29kZUJsb2NrKiBnZW5l
cmljQ29kZUJsb2NrKQogICAgIHN3aXRjaCAoa2luZCkgewogICAgIGNhc2UgQ29kZUZvckNhbGw6
CiAgICAgICAgIG1faml0Q29kZUZvckNhbGwgPSBnZW5lcmljQ29kZUJsb2NrLT5qaXRDb2RlKCk7
Ci0gICAgICAgIG1faml0Q29kZUZvckNhbGxXaXRoQXJpdHlDaGVjayA9IGdlbmVyaWNDb2RlQmxv
Y2stPmppdENvZGVXaXRoQXJpdHlDaGVjaygpOworICAgICAgICBtX2ppdENvZGVGb3JDYWxsV2l0
aEFyaXR5Q2hlY2sgPSBNYWNyb0Fzc2VtYmxlckNvZGVQdHIoKTsKKyAgICAgICAgbV9qaXRDb2Rl
Rm9yQ2FsbFdpdGhBcml0eUNoZWNrQW5kUHJlc2VydmVSZWdzID0gTWFjcm9Bc3NlbWJsZXJDb2Rl
UHRyKCk7CiAgICAgICAgIG1fbnVtUGFyYW1ldGVyc0ZvckNhbGwgPSBnZW5lcmljQ29kZUJsb2Nr
LT5udW1QYXJhbWV0ZXJzKCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29kZUZvckNvbnN0
cnVjdDoKICAgICAgICAgbV9qaXRDb2RlRm9yQ29uc3RydWN0ID0gZ2VuZXJpY0NvZGVCbG9jay0+
aml0Q29kZSgpOwotICAgICAgICBtX2ppdENvZGVGb3JDb25zdHJ1Y3RXaXRoQXJpdHlDaGVjayA9
IGdlbmVyaWNDb2RlQmxvY2stPmppdENvZGVXaXRoQXJpdHlDaGVjaygpOworICAgICAgICBtX2pp
dENvZGVGb3JDb25zdHJ1Y3RXaXRoQXJpdHlDaGVjayA9IE1hY3JvQXNzZW1ibGVyQ29kZVB0cigp
OworICAgICAgICBtX2ppdENvZGVGb3JDb25zdHJ1Y3RXaXRoQXJpdHlDaGVja0FuZFByZXNlcnZl
UmVncyA9IE1hY3JvQXNzZW1ibGVyQ29kZVB0cigpOwogICAgICAgICBtX251bVBhcmFtZXRlcnNG
b3JDb25zdHJ1Y3QgPSBnZW5lcmljQ29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCk7CiAgICAgICAg
IGJyZWFrOwogICAgIH0KQEAgLTEzMyw3ICsxMzYsNiBAQCB2b2lkIFNjcmlwdEV4ZWN1dGFibGU6
Omluc3RhbGxDb2RlKENvZGVCbG9jayogZ2VuZXJpY0NvZGVCbG9jaykKICAgICAgICAgUHJvZ3Jh
bUV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBqc0Nhc3Q8UHJvZ3JhbUV4ZWN1dGFibGUqPih0aGlz
KTsKICAgICAgICAgUHJvZ3JhbUNvZGVCbG9jayogY29kZUJsb2NrID0gc3RhdGljX2Nhc3Q8UHJv
Z3JhbUNvZGVCbG9jayo+KGdlbmVyaWNDb2RlQmxvY2spOwogICAgICAgICAKLSAgICAgICAgQVNT
RVJUKCFjb2RlQmxvY2stPmppdENvZGVXaXRoQXJpdHlDaGVjaygpKTsKICAgICAgICAgQVNTRVJU
KGtpbmQgPT0gQ29kZUZvckNhbGwpOwogICAgICAgICAKICAgICAgICAgb2xkQ29kZUJsb2NrID0g
ZXhlY3V0YWJsZS0+bV9wcm9ncmFtQ29kZUJsb2NrOwpAQCAtMTQ1LDcgKzE0Nyw2IEBAIHZvaWQg
U2NyaXB0RXhlY3V0YWJsZTo6aW5zdGFsbENvZGUoQ29kZUJsb2NrKiBnZW5lcmljQ29kZUJsb2Nr
KQogICAgICAgICBFdmFsRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGpzQ2FzdDxFdmFsRXhlY3V0
YWJsZSo+KHRoaXMpOwogICAgICAgICBFdmFsQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBzdGF0aWNf
Y2FzdDxFdmFsQ29kZUJsb2NrKj4oZ2VuZXJpY0NvZGVCbG9jayk7CiAgICAgICAgIAotICAgICAg
ICBBU1NFUlQoIWNvZGVCbG9jay0+aml0Q29kZVdpdGhBcml0eUNoZWNrKCkpOwogICAgICAgICBB
U1NFUlQoa2luZCA9PSBDb2RlRm9yQ2FsbCk7CiAgICAgICAgIAogICAgICAgICBvbGRDb2RlQmxv
Y2sgPSBleGVjdXRhYmxlLT5tX2V2YWxDb2RlQmxvY2s7CkBAIC02MTAsNiArNjExLDQ2IEBAIFN0
cmluZyBGdW5jdGlvbkV4ZWN1dGFibGU6OnBhcmFtU3RyaW5nKCkgY29uc3QKICAgICByZXR1cm4g
bV91bmxpbmtlZEV4ZWN1dGFibGUtPnBhcmFtU3RyaW5nKCk7CiB9CiAKK3ZvaWQgRXhlY3V0YWJs
ZUJhc2U6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKK3sKKyAgICBFeGVjdXRhYmxlQmFz
ZSogcmVhbFRoaXMgPSBjb25zdF9jYXN0PEV4ZWN1dGFibGVCYXNlKj4odGhpcyk7CisgICAgCisg
ICAgaWYgKGNsYXNzSW5mbygpID09IE5hdGl2ZUV4ZWN1dGFibGU6OmluZm8oKSkgeworICAgICAg
ICBOYXRpdmVFeGVjdXRhYmxlKiBuYXRpdmUgPSBqc0Nhc3Q8TmF0aXZlRXhlY3V0YWJsZSo+KHJl
YWxUaGlzKTsKKyAgICAgICAgb3V0LnByaW50KCJOYXRpdmVFeGVjdXRhYmxlOiIsIFJhd1BvaW50
ZXIoYml0d2lzZV9jYXN0PHZvaWQqPihuYXRpdmUtPmZ1bmN0aW9uKCkpKSwgIi8iLCBSYXdQb2lu
dGVyKGJpdHdpc2VfY2FzdDx2b2lkKj4obmF0aXZlLT5jb25zdHJ1Y3RvcigpKSkpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIAorICAgIGlmIChjbGFzc0luZm8oKSA9PSBFdmFsRXhlY3V0
YWJsZTo6aW5mbygpKSB7CisgICAgICAgIEV2YWxFeGVjdXRhYmxlKiBldmFsID0ganNDYXN0PEV2
YWxFeGVjdXRhYmxlKj4ocmVhbFRoaXMpOworICAgICAgICBpZiAoQ29kZUJsb2NrKiBjb2RlQmxv
Y2sgPSBldmFsLT5jb2RlQmxvY2soKSkKKyAgICAgICAgICAgIG91dC5wcmludCgqY29kZUJsb2Nr
KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgb3V0LnByaW50KCJFdmFsRXhlY3V0YWJsZSB3
L28gQ29kZUJsb2NrIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAgaWYgKGNs
YXNzSW5mbygpID09IFByb2dyYW1FeGVjdXRhYmxlOjppbmZvKCkpIHsKKyAgICAgICAgUHJvZ3Jh
bUV4ZWN1dGFibGUqIGV2YWwgPSBqc0Nhc3Q8UHJvZ3JhbUV4ZWN1dGFibGUqPihyZWFsVGhpcyk7
CisgICAgICAgIGlmIChDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV2YWwtPmNvZGVCbG9jaygpKQor
ICAgICAgICAgICAgb3V0LnByaW50KCpjb2RlQmxvY2spOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBvdXQucHJpbnQoIlByb2dyYW1FeGVjdXRhYmxlIHcvbyBDb2RlQmxvY2siKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9u
ID0ganNDYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KHJlYWxUaGlzKTsKKyAgICBpZiAoIWZ1bmN0
aW9uLT5laXRoZXJDb2RlQmxvY2soKSkKKyAgICAgICAgb3V0LnByaW50KCJGdW5jdGlvbkV4ZWN1
dGFibGUgdy9vIENvZGVCbG9jayIpOworICAgIGVsc2UgeworICAgICAgICBDb21tYVByaW50ZXIg
Y29tbWEoIi8iKTsKKyAgICAgICAgaWYgKGZ1bmN0aW9uLT5jb2RlQmxvY2tGb3JDYWxsKCkpCisg
ICAgICAgICAgICBvdXQucHJpbnQoY29tbWEsICpmdW5jdGlvbi0+Y29kZUJsb2NrRm9yQ2FsbCgp
KTsKKyAgICAgICAgaWYgKGZ1bmN0aW9uLT5jb2RlQmxvY2tGb3JDb25zdHJ1Y3QoKSkKKyAgICAg
ICAgICAgIG91dC5wcmludChjb21tYSwgKmZ1bmN0aW9uLT5jb2RlQmxvY2tGb3JDb25zdHJ1Y3Qo
KSk7CisgICAgfQorfQorCiBDb2RlQmxvY2tIYXNoIEV4ZWN1dGFibGVCYXNlOjpoYXNoRm9yKENv
ZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkgY29uc3QKIHsKICAgICBpZiAodGhpcy0+Y2xhc3NJ
bmZvKCkgPT0gTmF0aXZlRXhlY3V0YWJsZTo6aW5mbygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRXhlY3V0YWJsZS5oCmluZGV4IDZmZjI3YWVlOWZjM2I4MjY4YWU2Yjk3NmE5ZWRk
ODZjM2Y5MDI1NWMuLjE5ODk3NmJiM2ZlNmU2ZTkxMTc5ODEyZDFjYWY5YjhiZjliZmQwYmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmgKQEAgLTI2LDYgKzI2
LDcgQEAKICNpZm5kZWYgRXhlY3V0YWJsZV9oCiAjZGVmaW5lIEV4ZWN1dGFibGVfaAogCisjaW5j
bHVkZSAiQXJpdHlDaGVja01vZGUuaCIKICNpbmNsdWRlICJDYWxsRGF0YS5oIgogI2luY2x1ZGUg
IkNvZGVCbG9ja0hhc2guaCIKICNpbmNsdWRlICJDb2RlU3BlY2lhbGl6YXRpb25LaW5kLmgiCkBA
IC0zNiw2ICszNyw3IEBACiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJKSVRD
b2RlLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJSZWdpc3RlclBy
ZXNlcnZhdGlvbk1vZGUuaCIKICNpbmNsdWRlICJTYW1wbGluZ1Rvb2wuaCIKICNpbmNsdWRlICJT
b3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiVW5saW5rZWRDb2RlQmxvY2suaCIKQEAgLTE0NCwzNyAr
MTQ2LDk0IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKGtpbmQgPT0gQ29kZUZvckNvbnN0cnVj
dCk7CiAgICAgICAgIHJldHVybiBnZW5lcmF0ZWRKSVRDb2RlRm9yQ29uc3RydWN0KCk7CiAgICAg
fQotCi0gICAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIGdlbmVyYXRlZEpJVENvZGVGb3JDYWxsV2l0
aEFyaXR5Q2hlY2soKQotICAgIHsKLSAgICAgICAgQVNTRVJUKG1faml0Q29kZUZvckNhbGwpOwot
ICAgICAgICBBU1NFUlQobV9qaXRDb2RlRm9yQ2FsbFdpdGhBcml0eUNoZWNrKTsKLSAgICAgICAg
cmV0dXJuIG1faml0Q29kZUZvckNhbGxXaXRoQXJpdHlDaGVjazsKLSAgICB9Ci0KLSAgICBNYWNy
b0Fzc2VtYmxlckNvZGVQdHIgZ2VuZXJhdGVkSklUQ29kZUZvckNvbnN0cnVjdFdpdGhBcml0eUNo
ZWNrKCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChtX2ppdENvZGVGb3JDb25zdHJ1Y3QpOwotICAg
ICAgICBBU1NFUlQobV9qaXRDb2RlRm9yQ29uc3RydWN0V2l0aEFyaXR5Q2hlY2spOwotICAgICAg
ICByZXR1cm4gbV9qaXRDb2RlRm9yQ29uc3RydWN0V2l0aEFyaXR5Q2hlY2s7Ci0gICAgfQotICAg
ICAgICAKLSAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgZ2VuZXJhdGVkSklUQ29kZVdpdGhBcml0
eUNoZWNrRm9yKENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkKLSAgICB7Ci0gICAgICAgIGlm
IChraW5kID09IENvZGVGb3JDYWxsKQotICAgICAgICAgICAgcmV0dXJuIGdlbmVyYXRlZEpJVENv
ZGVGb3JDYWxsV2l0aEFyaXR5Q2hlY2soKTsKLSAgICAgICAgQVNTRVJUKGtpbmQgPT0gQ29kZUZv
ckNvbnN0cnVjdCk7Ci0gICAgICAgIHJldHVybiBnZW5lcmF0ZWRKSVRDb2RlRm9yQ29uc3RydWN0
V2l0aEFyaXR5Q2hlY2soKTsKLSAgICB9Ci0gICAgICAgIAotICAgIHN0YXRpYyBwdHJkaWZmX3Qg
b2Zmc2V0T2ZKSVRDb2RlV2l0aEFyaXR5Q2hlY2tGb3IoQ29kZVNwZWNpYWxpemF0aW9uS2luZCBr
aW5kKQotICAgIHsKLSAgICAgICAgaWYgKGtpbmQgPT0gQ29kZUZvckNhbGwpCi0gICAgICAgICAg
ICByZXR1cm4gT0JKRUNUX09GRlNFVE9GKEV4ZWN1dGFibGVCYXNlLCBtX2ppdENvZGVGb3JDYWxs
V2l0aEFyaXR5Q2hlY2spOwotICAgICAgICBBU1NFUlQoa2luZCA9PSBDb2RlRm9yQ29uc3RydWN0
KTsKLSAgICAgICAgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihFeGVjdXRhYmxlQmFzZSwgbV9qaXRD
b2RlRm9yQ29uc3RydWN0V2l0aEFyaXR5Q2hlY2spOworICAgIAorICAgIE1hY3JvQXNzZW1ibGVy
Q29kZVB0ciBlbnRyeXBvaW50Rm9yKAorICAgICAgICBWTSYgdm0sIENvZGVTcGVjaWFsaXphdGlv
bktpbmQga2luZCwgQXJpdHlDaGVja01vZGUgYXJpdHksIFJlZ2lzdGVyUHJlc2VydmF0aW9uTW9k
ZSByZWdpc3RlcnMpCisgICAgeworICAgICAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGEgY2FjaGVk
IHJlc3VsdC4gV2Ugb25seSBoYXZlIGl0IGZvciBhcml0eSBjaGVjayBiZWNhdXNlIHdlIHVzZSB0
aGUKKyAgICAgICAgLy8gbm8tYXJpdHkgZW50cnlwb2ludCBpbiBub24tdmlydHVhbCBjYWxscywg
d2hpY2ggd2lsbCAiY2FjaGUiIHRoaXMgdmFsdWUgZGlyZWN0bHkgaW4KKyAgICAgICAgLy8gbWFj
aGluZSBjb2RlLgorICAgICAgICBpZiAoYXJpdHkgPT0gTXVzdENoZWNrQXJpdHkpIHsKKyAgICAg
ICAgICAgIHN3aXRjaCAoa2luZCkgeworICAgICAgICAgICAgY2FzZSBDb2RlRm9yQ2FsbDoKKyAg
ICAgICAgICAgICAgICBzd2l0Y2ggKHJlZ2lzdGVycykgeworICAgICAgICAgICAgICAgIGNhc2Ug
UmVnaXN0ZXJQcmVzZXJ2YXRpb25Ob3RSZXF1aXJlZDoKKyAgICAgICAgICAgICAgICAgICAgaWYg
KE1hY3JvQXNzZW1ibGVyQ29kZVB0ciByZXN1bHQgPSBtX2ppdENvZGVGb3JDYWxsV2l0aEFyaXR5
Q2hlY2spCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIE11c3RQcmVzZXJ2ZVJlZ2lz
dGVyczoKKyAgICAgICAgICAgICAgICAgICAgaWYgKE1hY3JvQXNzZW1ibGVyQ29kZVB0ciByZXN1
bHQgPSBtX2ppdENvZGVGb3JDYWxsV2l0aEFyaXR5Q2hlY2tBbmRQcmVzZXJ2ZVJlZ3MpCisgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBjYXNlIENvZGVGb3JDb25zdHJ1Y3Q6CisgICAgICAgICAgICAgICAgc3dpdGNoIChyZWdp
c3RlcnMpIHsKKyAgICAgICAgICAgICAgICBjYXNlIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90UmVx
dWlyZWQ6CisgICAgICAgICAgICAgICAgICAgIGlmIChNYWNyb0Fzc2VtYmxlckNvZGVQdHIgcmVz
dWx0ID0gbV9qaXRDb2RlRm9yQ29uc3RydWN0V2l0aEFyaXR5Q2hlY2spCisgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgICAgICBjYXNlIE11c3RQcmVzZXJ2ZVJlZ2lzdGVyczoKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKE1hY3JvQXNzZW1ibGVyQ29kZVB0ciByZXN1bHQgPSBtX2ppdENvZGVGb3JDb25z
dHJ1Y3RXaXRoQXJpdHlDaGVja0FuZFByZXNlcnZlUmVncykKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgcmVzdWx0ID0KKyAgICAgICAgICAgIGdl
bmVyYXRlZEpJVENvZGVGb3Ioa2luZCktPmFkZHJlc3NGb3JDYWxsKHZtLCB0aGlzLCBhcml0eSwg
cmVnaXN0ZXJzKTsKKyAgICAgICAgaWYgKGFyaXR5ID09IE11c3RDaGVja0FyaXR5KSB7CisgICAg
ICAgICAgICAvLyBDYWNoZSB0aGUgcmVzdWx0OyB0aGlzIGlzIG5lY2Vzc2FyeSBmb3IgdGhlIEpJ
VCdzIHZpcnR1YWwgY2FsbCBvcHRpbWl6YXRpb25zLgorICAgICAgICAgICAgc3dpdGNoIChraW5k
KSB7CisgICAgICAgICAgICBjYXNlIENvZGVGb3JDYWxsOgorICAgICAgICAgICAgICAgIHN3aXRj
aCAocmVnaXN0ZXJzKSB7CisgICAgICAgICAgICAgICAgY2FzZSBSZWdpc3RlclByZXNlcnZhdGlv
bk5vdFJlcXVpcmVkOgorICAgICAgICAgICAgICAgICAgICBtX2ppdENvZGVGb3JDYWxsV2l0aEFy
aXR5Q2hlY2sgPSByZXN1bHQ7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgIGNhc2UgTXVzdFByZXNlcnZlUmVnaXN0ZXJzOgorICAgICAgICAgICAgICAgICAgICBt
X2ppdENvZGVGb3JDYWxsV2l0aEFyaXR5Q2hlY2tBbmRQcmVzZXJ2ZVJlZ3MgPSByZXN1bHQ7Cisg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ29kZUZvckNvbnN0cnVjdDoKKyAgICAgICAg
ICAgICAgICBzd2l0Y2ggKHJlZ2lzdGVycykgeworICAgICAgICAgICAgICAgIGNhc2UgUmVnaXN0
ZXJQcmVzZXJ2YXRpb25Ob3RSZXF1aXJlZDoKKyAgICAgICAgICAgICAgICAgICAgbV9qaXRDb2Rl
Rm9yQ29uc3RydWN0V2l0aEFyaXR5Q2hlY2sgPSByZXN1bHQ7CisgICAgICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgTXVzdFByZXNlcnZlUmVnaXN0ZXJzOgorICAg
ICAgICAgICAgICAgICAgICBtX2ppdENvZGVGb3JDb25zdHJ1Y3RXaXRoQXJpdHlDaGVja0FuZFBy
ZXNlcnZlUmVncyA9IHJlc3VsdDsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgc3RhdGljIHB0cmRpZmZf
dCBvZmZzZXRPZkpJVENvZGVXaXRoQXJpdHlDaGVja0ZvcigKKyAgICAgICAgQ29kZVNwZWNpYWxp
emF0aW9uS2luZCBraW5kLCBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGUgcmVnaXN0ZXJzKQorICAg
IHsKKyAgICAgICAgc3dpdGNoIChraW5kKSB7CisgICAgICAgIGNhc2UgQ29kZUZvckNhbGw6Cisg
ICAgICAgICAgICBzd2l0Y2ggKHJlZ2lzdGVycykgeworICAgICAgICAgICAgY2FzZSBSZWdpc3Rl
clByZXNlcnZhdGlvbk5vdFJlcXVpcmVkOgorICAgICAgICAgICAgICAgIHJldHVybiBPQkpFQ1Rf
T0ZGU0VUT0YoRXhlY3V0YWJsZUJhc2UsIG1faml0Q29kZUZvckNhbGxXaXRoQXJpdHlDaGVjayk7
CisgICAgICAgICAgICBjYXNlIE11c3RQcmVzZXJ2ZVJlZ2lzdGVyczoKKyAgICAgICAgICAgICAg
ICByZXR1cm4gT0JKRUNUX09GRlNFVE9GKEV4ZWN1dGFibGVCYXNlLCBtX2ppdENvZGVGb3JDYWxs
V2l0aEFyaXR5Q2hlY2tBbmRQcmVzZXJ2ZVJlZ3MpOworICAgICAgICAgICAgfQorICAgICAgICBj
YXNlIENvZGVGb3JDb25zdHJ1Y3Q6CisgICAgICAgICAgICBzd2l0Y2ggKHJlZ2lzdGVycykgewor
ICAgICAgICAgICAgY2FzZSBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkOgorICAgICAg
ICAgICAgICAgIHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoRXhlY3V0YWJsZUJhc2UsIG1faml0Q29k
ZUZvckNvbnN0cnVjdFdpdGhBcml0eUNoZWNrKTsKKyAgICAgICAgICAgIGNhc2UgTXVzdFByZXNl
cnZlUmVnaXN0ZXJzOgorICAgICAgICAgICAgICAgIHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoRXhl
Y3V0YWJsZUJhc2UsIG1faml0Q29kZUZvckNvbnN0cnVjdFdpdGhBcml0eUNoZWNrQW5kUHJlc2Vy
dmVSZWdzKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBSRUxFQVNFX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICAgICAgIAorICAg
IAogICAgIHN0YXRpYyBwdHJkaWZmX3Qgb2Zmc2V0T2ZOdW1QYXJhbWV0ZXJzRm9yKENvZGVTcGVj
aWFsaXphdGlvbktpbmQga2luZCkKICAgICB7CiAgICAgICAgIGlmIChraW5kID09IENvZGVGb3JD
YWxsKQpAQCAtMjEwLDIyICsyNjksOSBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm4gaW50
cmluc2ljKCk7CiAgICAgICAgIHJldHVybiBOb0ludHJpbnNpYzsKICAgICB9CisgICAgCisgICAg
dm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Q7CiAgICAgICAgIAotICAgIE1hY3JvQXNzZW1i
bGVyQ29kZVB0ciBob3N0Q29kZUVudHJ5Rm9yKENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkK
LSAgICB7Ci0gICAgICAgIHJldHVybiBnZW5lcmF0ZWRKSVRDb2RlRm9yKGtpbmQpLT5hZGRyZXNz
Rm9yQ2FsbCgpOwotICAgIH0KLQotICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBqc0NvZGVFbnRy
eUZvcihDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCi0gICAgewotICAgICAgICByZXR1cm4g
Z2VuZXJhdGVkSklUQ29kZUZvcihraW5kKS0+YWRkcmVzc0ZvckNhbGwoKTsKLSAgICB9Ci0KLSAg
ICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIganNDb2RlV2l0aEFyaXR5Q2hlY2tFbnRyeUZvcihDb2Rl
U3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCi0gICAgewotICAgICAgICByZXR1cm4gZ2VuZXJhdGVk
SklUQ29kZVdpdGhBcml0eUNoZWNrRm9yKGtpbmQpOwotICAgIH0KLQogcHJvdGVjdGVkOgogICAg
IEV4ZWN1dGFibGVCYXNlKiBtX3ByZXY7CiAgICAgRXhlY3V0YWJsZUJhc2UqIG1fbmV4dDsKQEAg
LTIzNCw2ICsyODAsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgUmVmUHRyPEpJVENvZGU+IG1faml0Q29k
ZUZvckNvbnN0cnVjdDsKICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgbV9qaXRDb2RlRm9yQ2Fs
bFdpdGhBcml0eUNoZWNrOwogICAgIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBtX2ppdENvZGVGb3JD
b25zdHJ1Y3RXaXRoQXJpdHlDaGVjazsKKyAgICBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgbV9qaXRD
b2RlRm9yQ2FsbFdpdGhBcml0eUNoZWNrQW5kUHJlc2VydmVSZWdzOworICAgIE1hY3JvQXNzZW1i
bGVyQ29kZVB0ciBtX2ppdENvZGVGb3JDb25zdHJ1Y3RXaXRoQXJpdHlDaGVja0FuZFByZXNlcnZl
UmVnczsKIH07CiAKIGNsYXNzIE5hdGl2ZUV4ZWN1dGFibGUgOiBwdWJsaWMgRXhlY3V0YWJsZUJh
c2UgewpAQCAtMjQyLDE0ICsyOTAsMTEgQEAgY2xhc3MgTmF0aXZlRXhlY3V0YWJsZSA6IHB1Ymxp
YyBFeGVjdXRhYmxlQmFzZSB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBFeGVjdXRhYmxlQmFzZSBC
YXNlOwogCi0gICAgc3RhdGljIE5hdGl2ZUV4ZWN1dGFibGUqIGNyZWF0ZShWTSYgdm0sIE1hY3Jv
QXNzZW1ibGVyQ29kZVJlZiBjYWxsVGh1bmssIE5hdGl2ZUZ1bmN0aW9uIGZ1bmN0aW9uLCBNYWNy
b0Fzc2VtYmxlckNvZGVSZWYgY29uc3RydWN0VGh1bmssIE5hdGl2ZUZ1bmN0aW9uIGNvbnN0cnVj
dG9yLCBJbnRyaW5zaWMgaW50cmluc2ljKQorICAgIHN0YXRpYyBOYXRpdmVFeGVjdXRhYmxlKiBj
cmVhdGUoVk0mIHZtLCBQYXNzUmVmUHRyPEpJVENvZGU+IGNhbGxUaHVuaywgTmF0aXZlRnVuY3Rp
b24gZnVuY3Rpb24sIFBhc3NSZWZQdHI8SklUQ29kZT4gY29uc3RydWN0VGh1bmssIE5hdGl2ZUZ1
bmN0aW9uIGNvbnN0cnVjdG9yLCBJbnRyaW5zaWMgaW50cmluc2ljKQogICAgIHsKICAgICAgICAg
TmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZTsKICAgICAgICAgZXhlY3V0YWJsZSA9IG5ldyAo
Tm90TnVsbCwgYWxsb2NhdGVDZWxsPE5hdGl2ZUV4ZWN1dGFibGU+KHZtLmhlYXApKSBOYXRpdmVF
eGVjdXRhYmxlKHZtLCBmdW5jdGlvbiwgY29uc3RydWN0b3IpOwotICAgICAgICBpZiAoIWNhbGxU
aHVuaykKLSAgICAgICAgICAgIGV4ZWN1dGFibGUtPmZpbmlzaENyZWF0aW9uKHZtLCAwLCAwLCBp
bnRyaW5zaWMpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBleGVjdXRhYmxlLT5maW5pc2hD
cmVhdGlvbih2bSwgSklUQ29kZTo6aG9zdEZ1bmN0aW9uKGNhbGxUaHVuayksIEpJVENvZGU6Omhv
c3RGdW5jdGlvbihjb25zdHJ1Y3RUaHVuayksIGludHJpbnNpYyk7CisgICAgICAgIGV4ZWN1dGFi
bGUtPmZpbmlzaENyZWF0aW9uKHZtLCBjYWxsVGh1bmssIGNvbnN0cnVjdFRodW5rLCBpbnRyaW5z
aWMpOwogICAgICAgICByZXR1cm4gZXhlY3V0YWJsZTsKICAgICB9CiAKQEAgLTI4OCw4ICszMzMs
NiBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFBhc3NSZWZQ
dHI8SklUQ29kZT4gY2FsbFRodW5rLCBQYXNzUmVmUHRyPEpJVENvZGU+IGNvbnN0cnVjdFRodW5r
LCBJbnRyaW5zaWMgaW50cmluc2ljKQogICAgIHsKICAgICAgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0pOwotICAgICAgICBtX2ppdENvZGVGb3JDYWxsV2l0aEFyaXR5Q2hlY2sgPSBjYWxsVGh1
bmsgPyBjYWxsVGh1bmstPmFkZHJlc3NGb3JDYWxsKCkgOiBNYWNyb0Fzc2VtYmxlckNvZGVQdHIo
KTsKLSAgICAgICAgbV9qaXRDb2RlRm9yQ29uc3RydWN0V2l0aEFyaXR5Q2hlY2sgPSBjb25zdHJ1
Y3RUaHVuayA/IGNvbnN0cnVjdFRodW5rLT5hZGRyZXNzRm9yQ2FsbCgpIDogTWFjcm9Bc3NlbWJs
ZXJDb2RlUHRyKCk7CiAgICAgICAgIG1faml0Q29kZUZvckNhbGwgPSBjYWxsVGh1bms7CiAgICAg
ICAgIG1faml0Q29kZUZvckNvbnN0cnVjdCA9IGNvbnN0cnVjdFRodW5rOwogICAgICAgICBtX2lu
dHJpbnNpYyA9IGludHJpbnNpYzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ0pTVmFsdWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ0pT
VmFsdWUuaAppbmRleCA4NWFjMzJiZGRmZmRhNmY1NTU4YTgwY2UxYzBkYmJhNmUxZDUyM2MwLi45
MThkZTE0ZDUyODM1NDU1Y2RjNjdhZTc5ZjE3YzgzOGRjYmFjMDM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NKU1ZhbHVlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNDSlNWYWx1ZS5oCkBAIC05Nyw2ICs5Nyw5IEBAIHVuaW9uIEVu
Y29kZWRWYWx1ZURlc2NyaXB0b3IgewogI2VuZGlmCiB9OwogCisjZGVmaW5lIFRhZ09mZnNldCAo
T0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy50YWcpKQorI2Rl
ZmluZSBQYXlsb2FkT2Zmc2V0IChPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRv
ciwgYXNCaXRzLnBheWxvYWQpKQorCiBlbnVtIFdoaWNoVmFsdWVXb3JkIHsKICAgICBUYWdXb3Jk
LAogICAgIFBheWxvYWRXb3JkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0xvY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmNw
cAppbmRleCA3NjA0MDc1ZjhiOWYzOTRmYWM0YWZiMmRjYWQ4M2ZlNzcwYjlmYTcxLi44NDE1YWQ1
ZWM1ZDgyZWFiYjdmMWEyM2NjYzRlMmM3ZWE0NzQ0YzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTTG9jay5jcHAKQEAgLTI5MCw2ICsyOTAsMTAgQEAgSlNMb2NrOjpEcm9wQWxs
TG9ja3M6OkRyb3BBbGxMb2NrcyhFeGVjU3RhdGUqIGV4ZWMsIEFsd2F5c0Ryb3BMb2Nrc1RhZyBh
bHdheXNEcm8KICNpZiBQTEFURk9STShJT1MpCiAgICAgU3BpbkxvY2tIb2xkZXIgaG9sZGVyKCZz
cGluTG9jayk7CiAjZW5kaWYKKyAgICBtX3NhdmVkUmVzZXJ2ZWRab25lU2l6ZSA9IG1fdm0tPnJl
c2VydmVkWm9uZVNpemUoKTsKKyAgICBtX3NhdmVkU3RhY2tQb2ludGVyQXRWTUVudHJ5ID0gbV92
bS0+c3RhY2tQb2ludGVyQXRWTUVudHJ5OworICAgIG1fdm0tPnN0YWNrUG9pbnRlckF0Vk1FbnRy
eSA9IG51bGxwdHI7CisKICAgICBpZiAoYWx3YXlzRHJvcExvY2tzKQogICAgICAgICBtX2xvY2tD
b3VudCA9IG1fdm0tPmFwaUxvY2soKS5kcm9wQWxsTG9ja3NVbmNvbmRpdGlvbmFsbHkoc3Bpbkxv
Y2spOwogICAgIGVsc2UKQEAgLTMwNiw2ICszMTAsMTAgQEAgSlNMb2NrOjpEcm9wQWxsTG9ja3M6
OkRyb3BBbGxMb2NrcyhWTSogdm0sIEFsd2F5c0Ryb3BMb2Nrc1RhZyBhbHdheXNEcm9wTG9ja3Mp
CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFNwaW5Mb2NrSG9sZGVyIGhvbGRlcigmc3BpbkxvY2sp
OwogI2VuZGlmCisgICAgbV9zYXZlZFJlc2VydmVkWm9uZVNpemUgPSBtX3ZtLT5yZXNlcnZlZFpv
bmVTaXplKCk7CisgICAgbV9zYXZlZFN0YWNrUG9pbnRlckF0Vk1FbnRyeSA9IG1fdm0tPnN0YWNr
UG9pbnRlckF0Vk1FbnRyeTsKKyAgICBtX3ZtLT5zdGFja1BvaW50ZXJBdFZNRW50cnkgPSBudWxs
cHRyOworCiAgICAgaWYgKGFsd2F5c0Ryb3BMb2NrcykKICAgICAgICAgbV9sb2NrQ291bnQgPSBt
X3ZtLT5hcGlMb2NrKCkuZHJvcEFsbExvY2tzVW5jb25kaXRpb25hbGx5KHNwaW5Mb2NrKTsKICAg
ICBlbHNlCkBAIC0zMjEsNiArMzI5LDkgQEAgSlNMb2NrOjpEcm9wQWxsTG9ja3M6On5Ecm9wQWxs
TG9ja3MoKQogICAgIFNwaW5Mb2NrSG9sZGVyIGhvbGRlcigmc3BpbkxvY2spOwogI2VuZGlmCiAg
ICAgbV92bS0+YXBpTG9jaygpLmdyYWJBbGxMb2NrcyhtX2xvY2tDb3VudCwgc3BpbkxvY2spOwor
CisgICAgbV92bS0+c3RhY2tQb2ludGVyQXRWTUVudHJ5ID0gbV9zYXZlZFN0YWNrUG9pbnRlckF0
Vk1FbnRyeTsKKyAgICBtX3ZtLT51cGRhdGVTdGFja0xpbWl0V2l0aFJlc2VydmVkWm9uZVNpemUo
bV9zYXZlZFJlc2VydmVkWm9uZVNpemUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKaW5kZXggMzAwMmFkZDY0N2EyNTAwZDg1NWRh
YjBhZGZjOTc3M2VjODcyZGZmZS4uMGRhY2RmMGJjOWY4MWFhNWM2NzNjZWQ5ZGYyY2Q5YWU5ZGUx
NjI3MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTk1LDEwICs5
NSw2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIEpTX0VYUE9SVF9QUklWQVRFIGJvb2wg
Y3VycmVudFRocmVhZElzSG9sZGluZ0xvY2soKTsKIAotICAgICAgICB1bnNpZ25lZCBkcm9wQWxs
TG9ja3MoU3BpbkxvY2smKTsKLSAgICAgICAgdW5zaWduZWQgZHJvcEFsbExvY2tzVW5jb25kaXRp
b25hbGx5KFNwaW5Mb2NrJik7Ci0gICAgICAgIHZvaWQgZ3JhYkFsbExvY2tzKHVuc2lnbmVkIGxv
Y2tDb3VudCwgU3BpbkxvY2smKTsKLQogICAgICAgICB2b2lkIHdpbGxEZXN0cm95Vk0oVk0qKTsK
IAogICAgICAgICBjbGFzcyBEcm9wQWxsTG9ja3MgewpAQCAtMTE0LDkgKzExMCwxNSBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgcHJpdmF0ZToKICAgICAgICAgICAgIGludHB0cl90IG1fbG9j
a0NvdW50OwogICAgICAgICAgICAgUmVmUHRyPFZNPiBtX3ZtOworICAgICAgICAgICAgc2l6ZV90
IG1fc2F2ZWRSZXNlcnZlZFpvbmVTaXplOworICAgICAgICAgICAgdm9pZCogbV9zYXZlZFN0YWNr
UG9pbnRlckF0Vk1FbnRyeTsKICAgICAgICAgfTsKIAogICAgIHByaXZhdGU6CisgICAgICAgIHVu
c2lnbmVkIGRyb3BBbGxMb2NrcyhTcGluTG9jayYpOworICAgICAgICB1bnNpZ25lZCBkcm9wQWxs
TG9ja3NVbmNvbmRpdGlvbmFsbHkoU3BpbkxvY2smKTsKKyAgICAgICAgdm9pZCBncmFiQWxsTG9j
a3ModW5zaWduZWQgbG9ja0NvdW50LCBTcGluTG9jayYpOworCiAgICAgICAgIFNwaW5Mb2NrIG1f
c3BpbkxvY2s7CiAgICAgICAgIE11dGV4IG1fbG9jazsKICAgICAgICAgVGhyZWFkSWRlbnRpZmll
ciBtX293bmVyVGhyZWFkOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNPTk9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2Jq
ZWN0LmNwcAppbmRleCA5ODI2Mjg5MTcxYjhkNDBmY2Y4YWM0NTA1ZmJhYjY3N2RkNWFlMWZiLi4w
ZDNkN2UzZTBhY2U5MmQxN2I3ZDgxZmFlMWI5YmIyYWJlOThhZWIxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcApAQCAtNjU0LDcgKzY1NCw3IEBAIE5F
VkVSX0lOTElORSBKU1ZhbHVlIFdhbGtlcjo6d2FsayhKU1ZhbHVlIHVuZmlsdGVyZWQpCiAgICAg
ICAgICAgICAgICAgQVNTRVJUKGluVmFsdWUuaXNPYmplY3QoKSk7CiAgICAgICAgICAgICAgICAg
QVNTRVJUKGlzSlNBcnJheShhc09iamVjdChpblZhbHVlKSkgfHwgYXNPYmplY3QoaW5WYWx1ZSkt
PmluaGVyaXRzKEpTQXJyYXk6OmluZm8oKSkpOwogICAgICAgICAgICAgICAgIGlmIChvYmplY3RT
dGFjay5zaXplKCkgKyBhcnJheVN0YWNrLnNpemUoKSA+IG1heGltdW1GaWx0ZXJSZWN1cnNpb24p
Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBtX2V4ZWMtPnZtKCkudGhyb3dFeGNlcHRpb24o
bV9leGVjLCBjcmVhdGVTdGFja092ZXJmbG93RXJyb3IobV9leGVjKSk7CisgICAgICAgICAgICAg
ICAgICAgIHJldHVybiB0aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihtX2V4ZWMpOwogCiAgICAgICAg
ICAgICAgICAgSlNBcnJheSogYXJyYXkgPSBhc0FycmF5KGluVmFsdWUpOwogICAgICAgICAgICAg
ICAgIGFycmF5U3RhY2sucHVzaChhcnJheSk7CkBAIC03MDUsNyArNzA1LDcgQEAgTkVWRVJfSU5M
SU5FIEpTVmFsdWUgV2Fsa2VyOjp3YWxrKEpTVmFsdWUgdW5maWx0ZXJlZCkKICAgICAgICAgICAg
ICAgICBBU1NFUlQoaW5WYWx1ZS5pc09iamVjdCgpKTsKICAgICAgICAgICAgICAgICBBU1NFUlQo
IWlzSlNBcnJheShhc09iamVjdChpblZhbHVlKSkgJiYgIWFzT2JqZWN0KGluVmFsdWUpLT5pbmhl
cml0cyhKU0FycmF5OjppbmZvKCkpKTsKICAgICAgICAgICAgICAgICBpZiAob2JqZWN0U3RhY2su
c2l6ZSgpICsgYXJyYXlTdGFjay5zaXplKCkgPiBtYXhpbXVtRmlsdGVyUmVjdXJzaW9uKQotICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gbV9leGVjLT52bSgpLnRocm93RXhjZXB0aW9uKG1fZXhl
YywgY3JlYXRlU3RhY2tPdmVyZmxvd0Vycm9yKG1fZXhlYykpOworICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gdGhyb3dTdGFja092ZXJmbG93RXJyb3IobV9leGVjKTsKIAogICAgICAgICAgICAg
ICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChpblZhbHVlKTsKICAgICAgICAgICAgICAg
ICBvYmplY3RTdGFjay5wdXNoKG9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PcHRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09wdGlvbnMuY3BwCmluZGV4IGFhOGNjYzc1MTc1NmQ1NmYzNjdjYmZjYmI2YzMxYjZlZDBkYmRj
YzIuLjkyNjNmMjgyZGZiNjZlNjVkMjUwZDAzMTMyN2ExNjU1MDk2NmJjMWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5j
bHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgor
I2luY2x1ZGUgPHd0Zi9EYXRhTG9nLmg+CiAjaW5jbHVkZSA8d3RmL051bWJlck9mQ29yZXMuaD4K
ICNpbmNsdWRlIDx3dGYvUGFnZUJsb2NrLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5o
PgpAQCAtMTc1LDYgKzE3Niw0NSBAQCBjb25zdCBPcHRpb25zOjpFbnRyeUluZm8gT3B0aW9uczo6
c19vcHRpb25zSW5mb1tPcHRpb25zOjpudW1iZXJPZk9wdGlvbnNdID0gewogI3VuZGVmIEZPUl9F
QUNIX09QVElPTgogfTsKIAorc3RhdGljIHZvaWQgcmVjb21wdXRlRGVwZW5kZW50T3B0aW9ucygp
Cit7CisjaWYgIUVOQUJMRShKSVQpCisgICAgT3B0aW9uczo6dXNlSklUKCkgPSBmYWxzZTsKKyAg
ICBPcHRpb25zOjp1c2VERkdKSVQoKSA9IGZhbHNlOworI2VuZGlmCisjaWYgIUVOQUJMRShZQVJS
X0pJVCkKKyAgICBPcHRpb25zOjp1c2VSZWdFeHBKSVQoKSA9IGZhbHNlOworI2VuZGlmCisgICAg
CisgICAgaWYgKE9wdGlvbnM6OnNob3dEaXNhc3NlbWJseSgpCisgICAgICAgIHx8IE9wdGlvbnM6
OnNob3dERkdEaXNhc3NlbWJseSgpCisgICAgICAgIHx8IE9wdGlvbnM6OmR1bXBCeXRlY29kZUF0
REZHVGltZSgpCisgICAgICAgIHx8IE9wdGlvbnM6OmR1bXBHcmFwaEF0RWFjaFBoYXNlKCkKKyAg
ICAgICAgfHwgT3B0aW9uczo6dmVyYm9zZUNvbXBpbGF0aW9uKCkKKyAgICAgICAgfHwgT3B0aW9u
czo6bG9nQ29tcGlsYXRpb25DaGFuZ2VzKCkKKyAgICAgICAgfHwgT3B0aW9uczo6dmFsaWRhdGVH
cmFwaCgpCisgICAgICAgIHx8IE9wdGlvbnM6OnZhbGlkYXRlR3JhcGhBdEVhY2hQaGFzZSgpCisg
ICAgICAgIHx8IE9wdGlvbnM6OnZlcmJvc2VPU1IoKQorICAgICAgICB8fCBPcHRpb25zOjp2ZXJi
b3NlQ29tcGlsYXRpb25RdWV1ZSgpCisgICAgICAgIHx8IE9wdGlvbnM6OnJlcG9ydENvbXBpbGVU
aW1lcygpCisgICAgICAgIHx8IE9wdGlvbnM6OnJlcG9ydEZUTENvbXBpbGVUaW1lcygpCisgICAg
ICAgIHx8IE9wdGlvbnM6OnZlcmJvc2VDRkEoKQorICAgICAgICB8fCBPcHRpb25zOjp2ZXJib3Nl
RlRMRmFpbHVyZSgpKQorICAgICAgICBPcHRpb25zOjphbHdheXNDb21wdXRlSGFzaCgpID0gdHJ1
ZTsKKyAgICAKKyAgICAvLyBDb21wdXRlIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSByZW9wdGlt
aXphdGlvbiByZXRyeSBjb3VudGVyLiBUaGlzIGlzIHNpbXBseQorICAgIC8vIHRoZSBsYXJnZXN0
IHZhbHVlIGF0IHdoaWNoIHdlIGRvbid0IG92ZXJmbG93IHRoZSBleGVjdXRlIGNvdW50ZXIsIHdo
ZW4gdXNpbmcgaXQKKyAgICAvLyB0byBsZWZ0LXNoaWZ0IHRoZSBleGVjdXRpb24gY291bnRlciBi
eSB0aGlzIGFtb3VudC4gQ3VycmVudGx5IHRoZSB2YWx1ZSBlbmRzCisgICAgLy8gdXAgYmVpbmcg
MTgsIHNvIHRoaXMgbG9vcCBpcyBub3Qgc28gdGVycmlibGU7IGl0IHByb2JhYmx5IHRha2VzIHVw
IH4xMDAgY3ljbGVzCisgICAgLy8gdG90YWwgb24gYSAzMi1iaXQgcHJvY2Vzc29yLgorICAgIE9w
dGlvbnM6OnJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyTWF4KCkgPSAwOworICAgIHdoaWxlICgo
c3RhdGljX2Nhc3Q8aW50NjRfdD4oT3B0aW9uczo6dGhyZXNob2xkRm9yT3B0aW1pemVBZnRlckxv
bmdXYXJtVXAoKSkgPDwgKE9wdGlvbnM6OnJlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVyTWF4KCkg
KyAxKSkgPD0gc3RhdGljX2Nhc3Q8aW50NjRfdD4oc3RkOjpudW1lcmljX2xpbWl0czxpbnQzMl90
Pjo6bWF4KCkpKQorICAgICAgICBPcHRpb25zOjpyZW9wdGltaXphdGlvblJldHJ5Q291bnRlck1h
eCgpKys7CisKKyAgICBBU1NFUlQoKHN0YXRpY19jYXN0PGludDY0X3Q+KE9wdGlvbnM6OnRocmVz
aG9sZEZvck9wdGltaXplQWZ0ZXJMb25nV2FybVVwKCkpIDw8IE9wdGlvbnM6OnJlb3B0aW1pemF0
aW9uUmV0cnlDb3VudGVyTWF4KCkpID4gMCk7CisgICAgQVNTRVJUKChzdGF0aWNfY2FzdDxpbnQ2
NF90PihPcHRpb25zOjp0aHJlc2hvbGRGb3JPcHRpbWl6ZUFmdGVyTG9uZ1dhcm1VcCgpKSA8PCBP
cHRpb25zOjpyZW9wdGltaXphdGlvblJldHJ5Q291bnRlck1heCgpKSA8PSBzdGF0aWNfY2FzdDxp
bnQ2NF90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptYXgoKSkpOworfQorCiB2b2lk
IE9wdGlvbnM6OmluaXRpYWxpemUoKQogewogICAgIC8vIEluaXRpYWxpemUgZWFjaCBvZiB0aGUg
b3B0aW9ucyB3aXRoIHRoZWlyIGRlZmF1bHQgdmFsdWVzOgpAQCAtMjA0LDMwICsyNDQsMTIgQEAg
dm9pZCBPcHRpb25zOjppbml0aWFsaXplKCkKICAgICA7IC8vIERlY29uZnVzZSBlZGl0b3JzIHRo
YXQgZG8gYXV0byBpbmRlbnRhdGlvbgogI2VuZGlmCiAgICAgCi0jaWYgIUVOQUJMRShKSVQpCi0g
ICAgdXNlSklUKCkgPSBmYWxzZTsKLSAgICB1c2VERkdKSVQoKSA9IGZhbHNlOwotI2VuZGlmCi0j
aWYgIUVOQUJMRShZQVJSX0pJVCkKLSAgICB1c2VSZWdFeHBKSVQoKSA9IGZhbHNlOwotI2VuZGlm
CisgICAgcmVjb21wdXRlRGVwZW5kZW50T3B0aW9ucygpOwogCiAgICAgLy8gRG8gcmFuZ2UgY2hl
Y2tzIHdoZXJlIG5lZWRlZCBhbmQgbWFrZSBjb3JyZWN0aW9ucyB0byB0aGUgb3B0aW9uczoKLSAg
ICBBU1NFUlQodGhyZXNob2xkRm9yT3B0aW1pemVBZnRlckxvbmdXYXJtVXAoKSA+PSB0aHJlc2hv
bGRGb3JPcHRpbWl6ZUFmdGVyV2FybVVwKCkpOwotICAgIEFTU0VSVCh0aHJlc2hvbGRGb3JPcHRp
bWl6ZUFmdGVyV2FybVVwKCkgPj0gdGhyZXNob2xkRm9yT3B0aW1pemVTb29uKCkpOwotICAgIEFT
U0VSVCh0aHJlc2hvbGRGb3JPcHRpbWl6ZUFmdGVyV2FybVVwKCkgPj0gMCk7Ci0KLSAgICAvLyBD
b21wdXRlIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSByZW9wdGltaXphdGlvbiByZXRyeSBjb3Vu
dGVyLiBUaGlzIGlzIHNpbXBseQotICAgIC8vIHRoZSBsYXJnZXN0IHZhbHVlIGF0IHdoaWNoIHdl
IGRvbid0IG92ZXJmbG93IHRoZSBleGVjdXRlIGNvdW50ZXIsIHdoZW4gdXNpbmcgaXQKLSAgICAv
LyB0byBsZWZ0LXNoaWZ0IHRoZSBleGVjdXRpb24gY291bnRlciBieSB0aGlzIGFtb3VudC4gQ3Vy
cmVudGx5IHRoZSB2YWx1ZSBlbmRzCi0gICAgLy8gdXAgYmVpbmcgMTgsIHNvIHRoaXMgbG9vcCBp
cyBub3Qgc28gdGVycmlibGU7IGl0IHByb2JhYmx5IHRha2VzIHVwIH4xMDAgY3ljbGVzCi0gICAg
Ly8gdG90YWwgb24gYSAzMi1iaXQgcHJvY2Vzc29yLgotICAgIHJlb3B0aW1pemF0aW9uUmV0cnlD
b3VudGVyTWF4KCkgPSAwOwotICAgIHdoaWxlICgoc3RhdGljX2Nhc3Q8aW50NjRfdD4odGhyZXNo
b2xkRm9yT3B0aW1pemVBZnRlckxvbmdXYXJtVXAoKSkgPDwgKHJlb3B0aW1pemF0aW9uUmV0cnlD
b3VudGVyTWF4KCkgKyAxKSkgPD0gc3RhdGljX2Nhc3Q8aW50NjRfdD4oc3RkOjpudW1lcmljX2xp
bWl0czxpbnQzMj46Om1heCgpKSkKLSAgICAgICAgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJN
YXgoKSsrOwotCi0gICAgQVNTRVJUKChzdGF0aWNfY2FzdDxpbnQ2NF90Pih0aHJlc2hvbGRGb3JP
cHRpbWl6ZUFmdGVyTG9uZ1dhcm1VcCgpKSA8PCByZW9wdGltaXphdGlvblJldHJ5Q291bnRlck1h
eCgpKSA+IDApOwotICAgIEFTU0VSVCgoc3RhdGljX2Nhc3Q8aW50NjRfdD4odGhyZXNob2xkRm9y
T3B0aW1pemVBZnRlckxvbmdXYXJtVXAoKSkgPDwgcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXJN
YXgoKSkgPD0gc3RhdGljX2Nhc3Q8aW50NjRfdD4oc3RkOjpudW1lcmljX2xpbWl0czxpbnQzMj46
Om1heCgpKSk7CisgICAgQVNTRVJUKE9wdGlvbnM6OnRocmVzaG9sZEZvck9wdGltaXplQWZ0ZXJM
b25nV2FybVVwKCkgPj0gT3B0aW9uczo6dGhyZXNob2xkRm9yT3B0aW1pemVBZnRlcldhcm1VcCgp
KTsKKyAgICBBU1NFUlQoT3B0aW9uczo6dGhyZXNob2xkRm9yT3B0aW1pemVBZnRlcldhcm1VcCgp
ID49IE9wdGlvbnM6OnRocmVzaG9sZEZvck9wdGltaXplU29vbigpKTsKKyAgICBBU1NFUlQoT3B0
aW9uczo6dGhyZXNob2xkRm9yT3B0aW1pemVBZnRlcldhcm1VcCgpID49IDApOwogfQogCiAvLyBQ
YXJzZXMgYSBzaW5nbGUgY29tbWFuZCBsaW5lIG9wdGlvbiBpbiB0aGUgZm9ybWF0ICI8b3B0aW9u
TmFtZT49PHZhbHVlPiIKQEAgLTI1MSw2ICsyNzMsNyBAQCBib29sIE9wdGlvbnM6OnNldE9wdGlv
bihjb25zdCBjaGFyKiBhcmcpCiAgICAgICAgIGJvb2wgc3VjY2VzcyA9IHBhcnNlKHZhbHVlU3Ry
LCB2YWx1ZSk7ICAgICAgICAgIFwKICAgICAgICAgaWYgKHN1Y2Nlc3MpIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgbmFtZV8oKSA9IHZhbHVlOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICByZWNvbXB1dGVEZXBlbmRlbnRP
cHRpb25zKCk7ICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgIHJldHVybiB0cnVlOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICB9ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIHJldHVybiBmYWxzZTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTI1OSw3ICsyODIsNyBAQCBib29s
IE9wdGlvbnM6OnNldE9wdGlvbihjb25zdCBjaGFyKiBhcmcpCiAgICAgSlNDX09QVElPTlMoRk9S
X0VBQ0hfT1BUSU9OKQogI3VuZGVmIEZPUl9FQUNIX09QVElPTgogCi0gICAgICAgIHJldHVybiBm
YWxzZTsgLy8gTm8gb3B0aW9uIG1hdGNoZWQuCisgICAgcmV0dXJuIGZhbHNlOyAvLyBObyBvcHRp
b24gbWF0Y2hlZC4KIH0KIAogdm9pZCBPcHRpb25zOjpkdW1wQWxsT3B0aW9ucyhGSUxFKiBzdHJl
YW0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKaW5kZXggYzg4YjNhYzZj
MzZiZTkwOGEyMmUwNDI1MmNkNzU5NzZlMmFlMGRlYy4uMDViNmZlMDFkMWZhZDRlMjJhNDMxYWVj
Mzc2NzIzYTJjMWZhOTkyNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT3B0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMu
aApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIsIDIwMTMg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAy
MDEyLCAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkpTRXhw
b3J0TWFjcm9zLmgiCiAjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KKyNp
bmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC05NCw2
ICs5NSwxMCBAQCB0eXBlZGVmIE9wdGlvblJhbmdlIG9wdGlvblJhbmdlOwogICAgIHYoYm9vbCwg
dXNlREZHSklULCB0cnVlKSBcCiAgICAgdihib29sLCB1c2VSZWdFeHBKSVQsIHRydWUpIFwKICAg
ICBcCisgICAgdih1bnNpZ25lZCwgbWF4UGVyVGhyZWFkU3RhY2tVc2FnZSwgNCAqIE1CKSBcCisg
ICAgdih1bnNpZ25lZCwgcmVzZXJ2ZWRab25lU2l6ZSwgMTI4ICogS0IpIFwKKyAgICB2KHVuc2ln
bmVkLCBlcnJvck1vZGVSZXNlcnZlZFpvbmVTaXplLCA2NCAqIEtCKSBcCisgICAgXAogICAgIHYo
Ym9vbCwgY3Jhc2hJZkNhbnRBbGxvY2F0ZUpJVE1lbW9yeSwgZmFsc2UpIFwKICAgICBcCiAgICAg
dihib29sLCBmb3JjZURGR0NvZGVCbG9ja0xpdmVuZXNzLCBmYWxzZSkgXApAQCAtMTE4LDExICsx
MjMsMTkgQEAgdHlwZWRlZiBPcHRpb25SYW5nZSBvcHRpb25SYW5nZTsKICAgICB2KGJvb2wsIHZl
cmJvc2VDYWxsTGluaywgZmFsc2UpIFwKICAgICB2KGJvb2wsIHZlcmJvc2VDb21waWxhdGlvblF1
ZXVlLCBmYWxzZSkgXAogICAgIHYoYm9vbCwgcmVwb3J0Q29tcGlsZVRpbWVzLCBmYWxzZSkgXAor
ICAgIHYoYm9vbCwgcmVwb3J0RlRMQ29tcGlsZVRpbWVzLCBmYWxzZSkgXAogICAgIHYoYm9vbCwg
dmVyYm9zZUNGQSwgZmFsc2UpIFwKKyAgICB2KGJvb2wsIHZlcmJvc2VGVExUb0pTVGh1bmssIGZh
bHNlKSBcCisgICAgdihib29sLCB2ZXJib3NlRlRMRmFpbHVyZSwgZmFsc2UpIFwKKyAgICB2KGJv
b2wsIGFsd2F5c0NvbXB1dGVIYXNoLCBmYWxzZSkgXAorICAgIHYoYm9vbCwgdGVzdFRoZUZUTCwg
ZmFsc2UpIFwKKyAgICB2KGJvb2wsIHZlcmJvc2VTYW5pdGl6ZVN0YWNrLCBmYWxzZSkgXAogICAg
IFwKLSAgICB2KGJvb2wsIGVuYWJsZU9TUkVudHJ5SW5Mb29wcywgdHJ1ZSkgXAorICAgIHYoYm9v
bCwgZW5hYmxlT1NSRW50cnlUb0RGRywgdHJ1ZSkgXAorICAgIHYoYm9vbCwgZW5hYmxlT1NSRW50
cnlUb0ZUTCwgdHJ1ZSkgXAogICAgIFwKICAgICB2KGJvb2wsIHVzZUV4cGVyaW1lbnRhbEZUTCwg
ZmFsc2UpIFwKKyAgICB2KGJvb2wsIGVuYWJsZUV4cGVyaW1lbnRhbEZUTENvdmVyYWdlLCBmYWxz
ZSkgXAogICAgIHYoYm9vbCwgdXNlRlRMVEJBQSwgdHJ1ZSkgXAogICAgIHYoYm9vbCwgZW5hYmxl
TExWTUZhc3RJU2VsLCBmYWxzZSkgXAogICAgIHYoYm9vbCwgdXNlTExWTVNtYWxsQ29kZU1vZGVs
LCBmYWxzZSkgXApAQCAtMTM0LDEwICsxNDcsMTIgQEAgdHlwZWRlZiBPcHRpb25SYW5nZSBvcHRp
b25SYW5nZTsKICAgICB2KHVuc2lnbmVkLCBsbHZtQmFja2VuZE9wdGltaXphdGlvbkxldmVsLCAy
KSBcCiAgICAgdih1bnNpZ25lZCwgbGx2bU9wdGltaXphdGlvbkxldmVsLCAyKSBcCiAgICAgdih1
bnNpZ25lZCwgbGx2bVNpemVMZXZlbCwgMCkgXAorICAgIHYoYm9vbCwgbGx2bURpc2FsbG93QVZY
LCB0cnVlKSBcCiAgICAgdihib29sLCBmdGxDcmFzaGVzLCBmYWxzZSkgLyogZm9vbC1wcm9vZiB3
YXkgb2YgY2hlY2tpbmcgdGhhdCB5b3UgZW5kZWQgdXAgaW4gdGhlIEZUTC4gOy0pICovXAogICAg
IFwKICAgICB2KGJvb2wsIGVuYWJsZUNvbmN1cnJlbnRKSVQsIHRydWUpIFwKLSAgICB2KHVuc2ln
bmVkLCBudW1iZXJPZkNvbXBpbGVyVGhyZWFkcywgY29tcHV0ZU51bWJlck9mV29ya2VyVGhyZWFk
cygyKSAtIDEpIFwKKyAgICB2KHVuc2lnbmVkLCBudW1iZXJPZkRGR0NvbXBpbGVyVGhyZWFkcywg
Y29tcHV0ZU51bWJlck9mV29ya2VyVGhyZWFkcygyKSAtIDEpIFwKKyAgICB2KHVuc2lnbmVkLCBu
dW1iZXJPZkZUTENvbXBpbGVyVGhyZWFkcywgY29tcHV0ZU51bWJlck9mV29ya2VyVGhyZWFkcyg4
KSAtIDEpIFwKICAgICBcCiAgICAgdihib29sLCBlbmFibGVQcm9maWxlciwgZmFsc2UpIFwKICAg
ICBcCkBAIC0xNDYsNiArMTYxLDggQEAgdHlwZWRlZiBPcHRpb25SYW5nZSBvcHRpb25SYW5nZTsK
ICAgICBcCiAgICAgdihib29sLCBlbmFibGVBcmNoaXRlY3R1cmVTcGVjaWZpY09wdGltaXphdGlv
bnMsIHRydWUpIFwKICAgICBcCisgICAgdihib29sLCBicmVha09uVGhyb3csIGZhbHNlKSBcCisg
ICAgXAogICAgIHYodW5zaWduZWQsIG1heGltdW1PcHRpbWl6YXRpb25DYW5kaWRhdGVJbnN0cnVj
dGlvbkNvdW50LCAxMDAwMCkgXAogICAgIFwKICAgICB2KHVuc2lnbmVkLCBtYXhpbXVtRnVuY3Rp
b25Gb3JDYWxsSW5saW5lQ2FuZGlkYXRlSW5zdHJ1Y3Rpb25Db3VudCwgMTgwKSBcCkBAIC0xNTQs
NiArMTcxLDEyIEBAIHR5cGVkZWYgT3B0aW9uUmFuZ2Ugb3B0aW9uUmFuZ2U7CiAgICAgXAogICAg
IC8qIERlcHRoIG9mIGlubGluZSBzdGFjaywgc28gMSA9IG5vIGlubGluaW5nLCAyID0gb25lIGxl
dmVsLCBldGMuICovIFwKICAgICB2KHVuc2lnbmVkLCBtYXhpbXVtSW5saW5pbmdEZXB0aCwgNSkg
XAorICAgIHYodW5zaWduZWQsIG1heGltdW1JbmxpbmluZ1JlY3Vyc2lvbiwgMikgXAorICAgIHYo
dW5zaWduZWQsIG1heGltdW1JbmxpbmluZ0RlcHRoRm9yTXVzdElubGluZSwgNykgXAorICAgIHYo
dW5zaWduZWQsIG1heGltdW1JbmxpbmluZ1JlY3Vyc2lvbkZvck11c3RJbmxpbmUsIDMpIFwKKyAg
ICBcCisgICAgdihib29sLCBlbmFibGVQb2x5dmFyaWFudENhbGxJbmxpbmluZywgdHJ1ZSkgXAor
ICAgIHYoYm9vbCwgZW5hYmxlUG9seXZhcmlhbnRCeUlkSW5saW5pbmcsIHRydWUpIFwKICAgICBc
CiAgICAgdih1bnNpZ25lZCwgbWF4aW11bUJpbmFyeVN0cmluZ1N3aXRjaENhc2VMZW5ndGgsIDUw
KSBcCiAgICAgdih1bnNpZ25lZCwgbWF4aW11bUJpbmFyeVN0cmluZ1N3aXRjaFRvdGFsTGVuZ3Ro
LCAyMDAwKSBcCkBAIC0yMTAsNiArMjMzLDcgQEAgdHlwZWRlZiBPcHRpb25SYW5nZSBvcHRpb25S
YW5nZTsKICAgICB2KGJvb2wsIHNob3dPYmplY3RTdGF0aXN0aWNzLCBmYWxzZSkgXAogICAgIFwK
ICAgICB2KGJvb2wsIGxvZ0dDLCBmYWxzZSkgXAorICAgIHYoYm9vbCwgZGlzYWJsZUdDLCBmYWxz
ZSkgXAogICAgIHYodW5zaWduZWQsIGdjTWF4SGVhcFNpemUsIDApIFwKICAgICB2KGJvb2wsIHJl
Y29yZEdDUGF1c2VUaW1lcywgZmFsc2UpIFwKICAgICB2KGJvb2wsIGxvZ0hlYXBTdGF0aXN0aWNz
QXRFeGl0LCBmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1JlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnaXN0ZXJQcmVzZXJ2YXRpb25Nb2RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzM1MWRiNGEzMjYzYTQ4
MTFmYTRjNGU4MmJjMDQ0YTllZGMzZTM4NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ2lzdGVyUHJlc2VydmF0aW9uTW9kZS5oCkBAIC0wLDAgKzEs
MzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lm
bmRlZiBSZWdpc3RlclByZXNlcnZhdGlvbk1vZGVfaAorI2RlZmluZSBSZWdpc3RlclByZXNlcnZh
dGlvbk1vZGVfaAorCituYW1lc3BhY2UgSlNDIHsKKworZW51bSBSZWdpc3RlclByZXNlcnZhdGlv
bk1vZGUgeworICAgIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQsCisgICAgTXVzdFBy
ZXNlcnZlUmVnaXN0ZXJzCit9OworCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIFJl
Z2lzdGVyUHJlc2VydmF0aW9uTW9kZV9oCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N0YWNrQWxpZ25tZW50LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdGFja0FsaWdubWVudC5oCmluZGV4IGI4MDNlNGRlZGQ5OGVkMjhhYjI5YzJkMTkwMjVk
NDM3Yzg2OTc2YzguLmQyOTgwMmIzZmRiY2U1NTkyNmM2M2EzYjEyY2RiYjRlNWI1MzQxNTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0YWNrQWxpZ25tZW50LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RhY2tBbGlnbm1lbnQuaApAQCAt
MjcsNiArMjcsOCBAQAogI2RlZmluZSBTdGFja0FsaWdubWVudF9oCiAKICNpbmNsdWRlICJKU0NK
U1ZhbHVlLmgiCisjaW5jbHVkZSAiSlNTdGFjay5oIgorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFz
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0zOCw2ICs0MCwyNSBAQCBpbmxpbmUgdW5zaWdu
ZWQgc3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKQogICAgIHJldHVybiBzdGFja0FsaWdubWVudEJ5
dGVzKCkgLyBzaXplb2YoRW5jb2RlZEpTVmFsdWUpOwogfQogCisvLyBBbGlnbiBhcmd1bWVudCBj
b3VudCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBDYWxsRnJhbWVIZWFkZXJTaXplIG1heSBiZQor
Ly8gYW4gInVuYWxpZ25lZCIgY291bnQgb2YgcmVnaXN0ZXJzLgoraW5saW5lIHVuc2lnbmVkIHJv
dW5kQXJndW1lbnRDb3VudFRvQWxpZ25GcmFtZSh1bnNpZ25lZCBhcmd1bWVudENvdW50KQorewor
ICAgIHJldHVybiBXVEY6OnJvdW5kVXBUb011bHRpcGxlT2Yoc3RhY2tBbGlnbm1lbnRSZWdpc3Rl
cnMoKSwgYXJndW1lbnRDb3VudCArIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUpIC0gSlNT
dGFjazo6Q2FsbEZyYW1lSGVhZGVyU2l6ZTsKK30KKworLy8gQWxpZ24gbG9jYWwgcmVnaXN0ZXIg
Y291bnQgdG8gbWFrZSB0aGUgbGFzdCBsb2NhbCBlbmQgb24gYSBzdGFjayBhbGlnbmVkIGFkZHJl
c3MgZ2l2ZW4gdGhlCisvLyBDYWxsRnJhbWUgaXMgYXQgYW4gYWRkcmVzcyB0aGF0IGlzIHN0YWNr
IGFsaWduZWQgbWludXMgSlNTdGFjazo6Q2FsbGVyRnJhbWVBbmRQQ1NpemUKK2lubGluZSB1bnNp
Z25lZCByb3VuZExvY2FsUmVnaXN0ZXJDb3VudEZvckZyYW1lUG9pbnRlck9mZnNldCh1bnNpZ25l
ZCBsb2NhbFJlZ2lzdGVyQ291bnQpCit7CisgICAgcmV0dXJuIFdURjo6cm91bmRVcFRvTXVsdGlw
bGVPZihzdGFja0FsaWdubWVudFJlZ2lzdGVycygpLCBsb2NhbFJlZ2lzdGVyQ291bnQgKyBKU1N0
YWNrOjpDYWxsZXJGcmFtZUFuZFBDU2l6ZSkgLSBKU1N0YWNrOjpDYWxsZXJGcmFtZUFuZFBDU2l6
ZTsKK30KKworaW5saW5lIHVuc2lnbmVkIGxvZ1N0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCkKK3sK
KyAgICByZXR1cm4gV1RGOjpmYXN0TG9nMihzdGFja0FsaWdubWVudFJlZ2lzdGVycygpKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBTdGFja0FsaWdubWVudF9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdSZWN1cnNpb25DaGVj
a2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1JlY3Vyc2lvbkNo
ZWNrZXIuY3BwCmluZGV4IDFmMjA0MjMxZTk2MjgyZjQ1MTMwMmQxMmM1OTYwNmZiN2ZmMjUwMmYu
LjY3MjQ2YWE2MDQ2OTI1Nzk5MTI0ZTZjZDgxNjUxNWI1ZDc1Yjk4Y2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1JlY3Vyc2lvbkNoZWNrZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1JlY3Vyc2lvbkNoZWNrZXIu
Y3BwCkBAIC0yOCw3ICsyOCw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiBKU1ZhbHVlIFN0cmluZ1Jl
Y3Vyc2lvbkNoZWNrZXI6OnRocm93U3RhY2tPdmVyZmxvd0Vycm9yKCkKIHsKLSAgICByZXR1cm4g
bV9leGVjLT52bSgpLnRocm93RXhjZXB0aW9uKG1fZXhlYywgY3JlYXRlU3RhY2tPdmVyZmxvd0Vy
cm9yKG1fZXhlYykpOworICAgIHJldHVybiBKU0M6OnRocm93U3RhY2tPdmVyZmxvd0Vycm9yKG1f
ZXhlYyk7CiB9CiAKIEpTVmFsdWUgU3RyaW5nUmVjdXJzaW9uQ2hlY2tlcjo6ZW1wdHlTdHJpbmco
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKaW5kZXggODc4
MWFiMDA3MzRiMjBhMDljZGVlMTdjM2I1ZGVkNjVjZDBmZDc5OS4uMDQyOTFmN2U4ZGQyNGU4YWIz
M2Q3NWFmMWRhNDU2OGYyYmM5OWU2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmUuY3BwCkBAIC0xMDQ4LDggKzEwNDgsMTMgQEAgdm9pZCBTdHJ1Y3R1cmU6OmR1
bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKICAgICBpZiAodGFibGUpIHsKICAgICAgICAgUHJv
cGVydHlUYWJsZTo6aXRlcmF0b3IgaXRlciA9IHRhYmxlLT5iZWdpbigpOwogICAgICAgICBQcm9w
ZXJ0eVRhYmxlOjppdGVyYXRvciBlbmQgPSB0YWJsZS0+ZW5kKCk7Ci0gICAgICAgIGZvciAoOyBp
dGVyICE9IGVuZDsgKytpdGVyKQorICAgICAgICBmb3IgKDsgaXRlciAhPSBlbmQ7ICsraXRlcikg
ewogICAgICAgICAgICAgb3V0LnByaW50KGNvbW1hLCBpdGVyLT5rZXksICI6Iiwgc3RhdGljX2Nh
c3Q8aW50PihpdGVyLT5vZmZzZXQpKTsKKyAgICAgICAgICAgIGlmIChpdGVyLT5zcGVjaWZpY1Zh
bHVlKSB7CisgICAgICAgICAgICAgICAgRHVtcENvbnRleHQgZHVtbXlDb250ZXh0OworICAgICAg
ICAgICAgICAgIG91dC5wcmludCgiPT4iLCBSYXdQb2ludGVyKGl0ZXItPnNwZWNpZmljVmFsdWUu
Z2V0KCkpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgICAgICAKICAgICAgICAgc3Ry
dWN0dXJlLT5tX2xvY2sudW5sb2NrKCk7CiAgICAgfQpAQCAtMTA1OSw2ICsxMDY0LDEwIEBAIHZv
aWQgU3RydWN0dXJlOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CiAgICAgICAgIGlmICgh
c3RydWN0dXJlLT5tX25hbWVJblByZXZpb3VzKQogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIG91dC5wcmludChjb21tYSwgc3RydWN0dXJlLT5tX25hbWVJblByZXZpb3VzLmdldCgpLCAi
OiIsIHN0YXRpY19jYXN0PGludD4oc3RydWN0dXJlLT5tX29mZnNldCkpOworICAgICAgICBpZiAo
c3RydWN0dXJlLT5tX3NwZWNpZmljVmFsdWVJblByZXZpb3VzKSB7CisgICAgICAgICAgICBEdW1w
Q29udGV4dCBkdW1teUNvbnRleHQ7CisgICAgICAgICAgICBvdXQucHJpbnQoIj0+IiwgUmF3UG9p
bnRlcihzdHJ1Y3R1cmUtPm1fc3BlY2lmaWNWYWx1ZUluUHJldmlvdXMuZ2V0KCkpKTsKKyAgICAg
ICAgfQogICAgIH0KICAgICAKICAgICBvdXQucHJpbnQoIn0sICIsIEluZGV4aW5nVHlwZUR1bXAo
aW5kZXhpbmdUeXBlKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAppbmRleCA5
NTU4YjhkNzIzNDEwYjAwZTE2MDE0ZDcwNTFmZDM1NmIwYmZmMDg2Li4zMzY1ZTQ1ZGJjYzMyZGZk
MDJjYmY3NDdkMmI5YmRkN2I3NWYwMmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9WTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0u
Y3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAxMSwgMjAx
MyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgs
IDIwMTEsIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMCwxMSArMzAsMTMgQEAKICNpbmNsdWRlICJW
TS5oIgogCiAjaW5jbHVkZSAiQXJnTGlzdC5oIgorI2luY2x1ZGUgIkFyaXR5Q2hlY2tGYWlsUmV0
dXJuVGh1bmtzLmgiCiAjaW5jbHVkZSAiQXJyYXlCdWZmZXJOZXV0ZXJpbmdXYXRjaHBvaW50Lmgi
CiAjaW5jbHVkZSAiQ2FsbEZyYW1lSW5saW5lcy5oIgogI2luY2x1ZGUgIkNvZGVCbG9jay5oIgog
I2luY2x1ZGUgIkNvZGVDYWNoZS5oIgogI2luY2x1ZGUgIkNvbW1vbklkZW50aWZpZXJzLmgiCisj
aW5jbHVkZSAiQ29tbW9uU2xvd1BhdGhzLmgiCiAjaW5jbHVkZSAiREZHTG9uZ0xpdmVkU3RhdGUu
aCIKICNpbmNsdWRlICJERkdXb3JrbGlzdC5oIgogI2luY2x1ZGUgIkRlYnVnZ2VyQWN0aXZhdGlv
bi5oIgpAQCAtNDksNiArNTEsNyBAQAogI2luY2x1ZGUgIklkZW50aWZpZXIuaCIKICNpbmNsdWRl
ICJJbmNyZW1lbnRhbFN3ZWVwZXIuaCIKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgorI2luY2x1
ZGUgIkpJVENvZGUuaCIKICNpbmNsdWRlICJKU0FQSVZhbHVlV3JhcHBlci5oIgogI2luY2x1ZGUg
IkpTQWN0aXZhdGlvbi5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKQEAgLTE2Niw2ICsxNjksNyBA
QCBWTTo6Vk0oVk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUgaGVhcFR5cGUpCiAgICAgLCB2bVR5cGUo
dm1UeXBlKQogICAgICwgY2xpZW50RGF0YSgwKQogICAgICwgdG9wQ2FsbEZyYW1lKENhbGxGcmFt
ZTo6bm9DYWxsZXIoKSkKKyAgICAsIHN0YWNrUG9pbnRlckF0Vk1FbnRyeSgwKQogICAgICwgYXJy
YXlDb25zdHJ1Y3RvclRhYmxlKGFkb3B0UHRyKG5ldyBIYXNoVGFibGUoSlNDOjphcnJheUNvbnN0
cnVjdG9yVGFibGUpKSkKICAgICAsIGFycmF5UHJvdG90eXBlVGFibGUoYWRvcHRQdHIobmV3IEhh
c2hUYWJsZShKU0M6OmFycmF5UHJvdG90eXBlVGFibGUpKSkKICAgICAsIGJvb2xlYW5Qcm90b3R5
cGVUYWJsZShhZG9wdFB0cihuZXcgSGFzaFRhYmxlKEpTQzo6Ym9vbGVhblByb3RvdHlwZVRhYmxl
KSkpCkBAIC0yMTcsNyArMjIxLDcgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhl
YXBUeXBlKQogICAgICwgbV9pbml0aWFsaXppbmdPYmplY3RDbGFzcygwKQogI2VuZGlmCiAgICAg
LCBtX3N0YWNrTGltaXQoMCkKLSNpZiBVU0UoU0VQQVJBVEVfQ19BTkRfSlNfU1RBQ0spCisjaWYg
RU5BQkxFKExMSU5UX0NfTE9PUCkKICAgICAsIG1fanNTdGFja0xpbWl0KDApCiAjZW5kaWYKICAg
ICAsIG1faW5EZWZpbmVPd25Qcm9wZXJ0eShmYWxzZSkKQEAgLTIyNSw3ICsyMjksMTEgQEAgVk06
OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBlKQogewogICAgIGludGVycHJldGVy
ID0gbmV3IEludGVycHJldGVyKCp0aGlzKTsKICAgICBTdGFja0JvdW5kcyBzdGFjayA9IHd0ZlRo
cmVhZERhdGEoKS5zdGFjaygpOwotICAgIHNldFN0YWNrTGltaXQoc3RhY2sucmVjdXJzaW9uTGlt
aXQoKSk7CisgICAgdXBkYXRlU3RhY2tMaW1pdFdpdGhSZXNlcnZlZFpvbmVTaXplKE9wdGlvbnM6
OnJlc2VydmVkWm9uZVNpemUoKSk7CisjaWYgRU5BQkxFKExMSU5UX0NfTE9PUCkKKyAgICBpbnRl
cnByZXRlci0+c3RhY2soKS5zZXRSZXNlcnZlZFpvbmVTaXplKE9wdGlvbnM6OnJlc2VydmVkWm9u
ZVNpemUoKSk7CisjZW5kaWYKKyAgICBzZXRMYXN0U3RhY2tUb3Aoc3RhY2sub3JpZ2luKCkpOwog
CiAgICAgLy8gTmVlZCB0byBiZSBjYXJlZnVsIHRvIGtlZXAgZXZlcnl0aGluZyBjb25zaXN0ZW50
IGhlcmUKICAgICBKU0xvY2tIb2xkZXIgbG9jayh0aGlzKTsKQEAgLTI2Nyw3ICsyNzUsOSBAQCBW
TTo6Vk0oVk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUgaGVhcFR5cGUpCiAKICNpZiBFTkFCTEUoSklU
KQogICAgIGppdFN0dWJzID0gYWRvcHRQdHIobmV3IEpJVFRodW5rcygpKTsKKyAgICBhcml0eUNo
ZWNrRmFpbFJldHVyblRodW5rcyA9IHN0ZDo6bWFrZV91bmlxdWU8QXJpdHlDaGVja0ZhaWxSZXR1
cm5UaHVua3M+KCk7CiAjZW5kaWYKKyAgICBhcml0eUNoZWNrRGF0YSA9IHN0ZDo6bWFrZV91bmlx
dWU8Q29tbW9uU2xvd1BhdGhzOjpBcml0eUNoZWNrRGF0YT4oKTsKIAogI2lmIEVOQUJMRShGVExf
SklUKQogICAgIGZ0bFRodW5rcyA9IHN0ZDo6bWFrZV91bmlxdWU8RlRMOjpUaHVua3M+KCk7CkBA
IC0yODAsNyArMjkwLDcgQEAgVk06OlZNKFZNVHlwZSB2bVR5cGUsIEhlYXBUeXBlIGhlYXBUeXBl
KQogI2VuZGlmCiAKICAgICBoZWFwLm5vdGlmeUlzU2FmZVRvQ29sbGVjdCgpOwotCisgICAgCiAg
ICAgTExJbnQ6OkRhdGE6OnBlcmZvcm1Bc3NlcnRpb25zKCp0aGlzKTsKICAgICAKICAgICBpZiAo
T3B0aW9uczo6ZW5hYmxlUHJvZmlsZXIoKSkgewpAQCAtMzA2LDYgKzMxNiwxNiBAQCBWTTo6Vk0o
Vk1UeXBlIHZtVHlwZSwgSGVhcFR5cGUgaGVhcFR5cGUpCiAgICAgbV90eXBlZEFycmF5Q29udHJv
bGxlciA9IGFkb3B0UmVmKG5ldyBTaW1wbGVUeXBlZEFycmF5Q29udHJvbGxlcigpKTsKIH0KIAor
I2lmIEVOQUJMRShERkdfSklUKQorc3RhdGljIHZvaWQgY2xlYW5Xb3JrbGlzdChWTSYgdm0sIERG
Rzo6V29ya2xpc3QqIHdvcmtsaXN0KQoreworICAgIGlmICghd29ya2xpc3QpCisgICAgICAgIHJl
dHVybjsKKyAgICB3b3JrbGlzdC0+d2FpdFVudGlsQWxsUGxhbnNGb3JWTUFyZVJlYWR5KHZtKTsK
KyAgICB3b3JrbGlzdC0+cmVtb3ZlQWxsUmVhZHlQbGFuc0ZvclZNKHZtKTsKK30KKyNlbmRpZiAv
LyBFTkFCTEUoREZHX0pJVCkKKwogVk06On5WTSgpCiB7CiAgICAgLy8gTmV2ZXIgR0MsIGV2ZXIg
YWdhaW4uCkBAIC0zMTQsMTAgKzMzNCw4IEBAIFZNOjp+Vk0oKQogI2lmIEVOQUJMRShERkdfSklU
KQogICAgIC8vIE1ha2Ugc3VyZSBjb25jdXJyZW50IGNvbXBpbGF0aW9ucyBhcmUgZG9uZSwgYnV0
IGRvbid0IGluc3RhbGwgdGhlbSwgc2luY2UgdGhlcmUgaXMKICAgICAvLyBubyBwb2ludCB0byBk
b2luZyBzby4KLSAgICBpZiAod29ya2xpc3QpIHsKLSAgICAgICAgd29ya2xpc3QtPndhaXRVbnRp
bEFsbFBsYW5zRm9yVk1BcmVSZWFkeSgqdGhpcyk7Ci0gICAgICAgIHdvcmtsaXN0LT5yZW1vdmVB
bGxSZWFkeVBsYW5zRm9yVk0oKnRoaXMpOwotICAgIH0KKyAgICBjbGVhbldvcmtsaXN0KCp0aGlz
LCBERkc6OmV4aXN0aW5nR2xvYmFsREZHV29ya2xpc3RPck51bGwoKSk7CisgICAgY2xlYW5Xb3Jr
bGlzdCgqdGhpcywgREZHOjpleGlzdGluZ0dsb2JhbEZUTFdvcmtsaXN0T3JOdWxsKCkpOwogI2Vu
ZGlmIC8vIEVOQUJMRShERkdfSklUKQogICAgIAogICAgIC8vIENsZWFyIHRoaXMgZmlyc3QgdG8g
ZW5zdXJlIHRoYXQgbm9ib2R5IHRyaWVzIHRvIHJlbW92ZSB0aGVtc2VsdmVzIGZyb20gaXQuCkBA
IC00NjEsOCArNDc5LDggQEAgTmF0aXZlRXhlY3V0YWJsZSogVk06OmdldEhvc3RGdW5jdGlvbihO
YXRpdmVGdW5jdGlvbiBmdW5jdGlvbiwgSW50cmluc2ljIGludHJpbnMKIE5hdGl2ZUV4ZWN1dGFi
bGUqIFZNOjpnZXRIb3N0RnVuY3Rpb24oTmF0aXZlRnVuY3Rpb24gZnVuY3Rpb24sIE5hdGl2ZUZ1
bmN0aW9uIGNvbnN0cnVjdG9yKQogewogICAgIHJldHVybiBOYXRpdmVFeGVjdXRhYmxlOjpjcmVh
dGUoKnRoaXMsCi0gICAgICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3JlYXRlTExJbnRDb2Rl
UmVmKGxsaW50X25hdGl2ZV9jYWxsX3RyYW1wb2xpbmUpLCBmdW5jdGlvbiwKLSAgICAgICAgTWFj
cm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVMTEludENvZGVSZWYobGxpbnRfbmF0aXZlX2NvbnN0
cnVjdF90cmFtcG9saW5lKSwgY29uc3RydWN0b3IsCisgICAgICAgIGFkb3B0UmVmKG5ldyBOYXRp
dmVKSVRDb2RlKE1hY3JvQXNzZW1ibGVyQ29kZVJlZjo6Y3JlYXRlTExJbnRDb2RlUmVmKGxsaW50
X25hdGl2ZV9jYWxsX3RyYW1wb2xpbmUpLCBKSVRDb2RlOjpIb3N0Q2FsbFRodW5rKSksIGZ1bmN0
aW9uLAorICAgICAgICBhZG9wdFJlZihuZXcgTmF0aXZlSklUQ29kZShNYWNyb0Fzc2VtYmxlckNv
ZGVSZWY6OmNyZWF0ZUxMSW50Q29kZVJlZihsbGludF9uYXRpdmVfY29uc3RydWN0X3RyYW1wb2xp
bmUpLCBKSVRDb2RlOjpIb3N0Q2FsbFRodW5rKSksIGNvbnN0cnVjdG9yLAogICAgICAgICBOb0lu
dHJpbnNpYyk7CiB9CiAKQEAgLTQ5MCwxNCArNTA4LDIxIEBAIHZvaWQgVk06OnN0b3BTYW1wbGlu
ZygpCiAgICAgaW50ZXJwcmV0ZXItPnN0b3BTYW1wbGluZygpOwogfQogCi12b2lkIFZNOjpwcmVw
YXJlVG9EaXNjYXJkQ29kZSgpCi17CiAjaWYgRU5BQkxFKERGR19KSVQpCitzdGF0aWMgdm9pZCBw
cmVwYXJlVG9EaXNjYXJkQ29kZUZvcihWTSYgdm0sIERGRzo6V29ya2xpc3QqIHdvcmtsaXN0KQor
ewogICAgIGlmICghd29ya2xpc3QpCiAgICAgICAgIHJldHVybjsKLSAgICAKLSAgICB3b3JrbGlz
dC0+Y29tcGxldGVBbGxQbGFuc0ZvclZNKCp0aGlzKTsKLSNlbmRpZgorICAgIHdvcmtsaXN0LT5j
b21wbGV0ZUFsbFBsYW5zRm9yVk0odm0pOworfQorI2VuZGlmIC8vIEVOQUJMRShERkdfSklUKQor
Cit2b2lkIFZNOjpwcmVwYXJlVG9EaXNjYXJkQ29kZSgpCit7CisjaWYgRU5BQkxFKERGR19KSVQp
CisgICAgcHJlcGFyZVRvRGlzY2FyZENvZGVGb3IoKnRoaXMsIERGRzo6ZXhpc3RpbmdHbG9iYWxE
RkdXb3JrbGlzdE9yTnVsbCgpKTsKKyAgICBwcmVwYXJlVG9EaXNjYXJkQ29kZUZvcigqdGhpcywg
REZHOjpleGlzdGluZ0dsb2JhbEZUTFdvcmtsaXN0T3JOdWxsKCkpOworI2VuZGlmIC8vIEVOQUJM
RShERkdfSklUKQogfQogCiB2b2lkIFZNOjpkaXNjYXJkQWxsQ29kZSgpCkBAIC02MzIsNiArNjU3
LDExIEBAIHN0YXRpYyB2b2lkIGFwcGVuZFNvdXJjZVRvRXJyb3IoQ2FsbEZyYW1lKiBjYWxsRnJh
bWUsIEVycm9ySW5zdGFuY2UqIGV4Y2VwdGlvbiwKICAgICAKIEpTVmFsdWUgVk06OnRocm93RXhj
ZXB0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBlcnJvcikKIHsKKyAgICBpZiAoT3B0aW9u
czo6YnJlYWtPblRocm93KCkpIHsKKyAgICAgICAgZGF0YUxvZygiSW4gY2FsbCBmcmFtZSAiLCBS
YXdQb2ludGVyKGV4ZWMpLCAiIGZvciBjb2RlIGJsb2NrICIsICpleGVjLT5jb2RlQmxvY2soKSwg
IlxuIik7CisgICAgICAgIENSQVNIKCk7CisgICAgfQorICAgIAogICAgIEFTU0VSVChleGVjID09
IHRvcENhbGxGcmFtZSB8fCBleGVjID09IGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+Z2xv
YmFsRXhlYygpIHx8IGV4ZWMgPT0gZXhlYy0+dm1FbnRyeUdsb2JhbE9iamVjdCgpLT5nbG9iYWxF
eGVjKCkpOwogICAgIAogICAgIFZlY3RvcjxTdGFja0ZyYW1lPiBzdGFja1RyYWNlOwpAQCAtNzA2
LDYgKzczNiwyNCBAQCB2b2lkIFZNOjogY2xlYXJFeGNlcHRpb25TdGFjaygpCiAgICAgbV9leGNl
cHRpb25TdGFjayA9IFJlZkNvdW50ZWRBcnJheTxTdGFja0ZyYW1lPigpOwogfQogCitzaXplX3Qg
Vk06OnVwZGF0ZVN0YWNrTGltaXRXaXRoUmVzZXJ2ZWRab25lU2l6ZShzaXplX3QgcmVzZXJ2ZWRa
b25lU2l6ZSkKK3sKKyAgICBzaXplX3Qgb2xkUmVzZXJ2ZWRab25lU2l6ZSA9IG1fcmVzZXJ2ZWRa
b25lU2l6ZTsKKyAgICBtX3Jlc2VydmVkWm9uZVNpemUgPSByZXNlcnZlZFpvbmVTaXplOworCisg
ICAgdm9pZCogc3RhY2tMaW1pdDsKKyAgICBpZiAoc3RhY2tQb2ludGVyQXRWTUVudHJ5KSB7Cisg
ICAgICAgIEFTU0VSVCh3dGZUaHJlYWREYXRhKCkuc3RhY2soKS5pc0dyb3dpbmdEb3dud2FyZCgp
KTsKKyAgICAgICAgY2hhciogc3RhcnRPZlN0YWNrID0gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4o
c3RhY2tQb2ludGVyQXRWTUVudHJ5KTsKKyAgICAgICAgY2hhciogZGVzaXJlZFN0YWNrTGltaXQg
PSBzdGFydE9mU3RhY2sgLSBPcHRpb25zOjptYXhQZXJUaHJlYWRTdGFja1VzYWdlKCkgKyByZXNl
cnZlZFpvbmVTaXplOworICAgICAgICBzdGFja0xpbWl0ID0gd3RmVGhyZWFkRGF0YSgpLnN0YWNr
KCkucmVjdXJzaW9uTGltaXQocmVzZXJ2ZWRab25lU2l6ZSwgZGVzaXJlZFN0YWNrTGltaXQpOwor
ICAgIH0gZWxzZQorICAgICAgICBzdGFja0xpbWl0ID0gd3RmVGhyZWFkRGF0YSgpLnN0YWNrKCku
cmVjdXJzaW9uTGltaXQocmVzZXJ2ZWRab25lU2l6ZSk7CisKKyAgICBzZXRTdGFja0xpbWl0KHN0
YWNrTGltaXQpOworICAgIHJldHVybiBvbGRSZXNlcnZlZFpvbmVTaXplOworfQorCiB2b2lkIHJl
bGVhc2VFeGVjdXRhYmxlTWVtb3J5KFZNJiB2bSkKIHsKICAgICB2bS5yZWxlYXNlRXhlY3V0YWJs
ZU1lbW9yeSgpOwpAQCAtNzIyLDE2ICs3NzAsMTkgQEAgdm9pZCBWTTo6Z2F0aGVyQ29uc2VydmF0
aXZlUm9vdHMoQ29uc2VydmF0aXZlUm9vdHMmIGNvbnNlcnZhdGl2ZVJvb3RzKQogICAgICAgICB9
CiAgICAgfQogfQorI2VuZGlmCiAKLURGRzo6V29ya2xpc3QqIFZNOjplbnN1cmVXb3JrbGlzdCgp
Cit2b2lkIGxvZ1Nhbml0aXplU3RhY2soVk0qIHZtKQogewotICAgIGlmICghREZHOjplbmFibGVD
b25jdXJyZW50SklUKCkpCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmICghd29ya2xpc3QpCi0g
ICAgICAgIHdvcmtsaXN0ID0gREZHOjpnbG9iYWxXb3JrbGlzdCgpOwotICAgIHJldHVybiB3b3Jr
bGlzdC5nZXQoKTsKKyAgICBpZiAoT3B0aW9uczo6dmVyYm9zZVNhbml0aXplU3RhY2soKSAmJiB2
bS0+dG9wQ2FsbEZyYW1lKSB7CisgICAgICAgIGludCBkdW1teTsKKyAgICAgICAgZGF0YUxvZygK
KyAgICAgICAgICAgICJTYW5pdGl6aW5nIHN0YWNrIHdpdGggdG9wIGNhbGwgZnJhbWUgYXQgIiwg
UmF3UG9pbnRlcih2bS0+dG9wQ2FsbEZyYW1lKSwKKyAgICAgICAgICAgICIsIGN1cnJlbnQgc3Rh
Y2sgcG9pbnRlciBhdCAiLCBSYXdQb2ludGVyKCZkdW1teSksICIsIGluICIsCisgICAgICAgICAg
ICBwb2ludGVyRHVtcCh2bS0+dG9wQ2FsbEZyYW1lLT5jb2RlQmxvY2soKSksICIgYW5kIGxhc3Qg
Y29kZSBvcmlnaW4gPSAiLAorICAgICAgICAgICAgdm0tPnRvcENhbGxGcmFtZS0+Y29kZU9yaWdp
bigpLCAiXG4iKTsKKyAgICB9CiB9Ci0jZW5kaWYKIAogI2lmIEVOQUJMRShSRUdFWFBfVFJBQ0lO
RykKIHZvaWQgVk06OmFkZFJlZ0V4cFRvVHJhY2UoUmVnRXhwKiByZWdFeHApCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uaAppbmRleCA1MGEzMTVlZTQzMzg5OWQwMDAxMDI5ZTgxMDY0NDlkZmJh
ZWJiMDQ3Li44MzZmMmFkNjczMmJmOWVmZGYyMjA0OGNkZmU3NjU2NzI3YzA3NTk0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKQEAgLTY4LDYgKzY4LDcgQEAKIAogbmFtZXNwYWNlIEpT
QyB7CiAKKyAgICBjbGFzcyBBcml0eUNoZWNrRmFpbFJldHVyblRodW5rczsKICAgICBjbGFzcyBD
b2RlQmxvY2s7CiAgICAgY2xhc3MgQ29kZUNhY2hlOwogICAgIGNsYXNzIENvbW1vbklkZW50aWZp
ZXJzOwpAQCAtMTAzLDcgKzEwNCw2IEBAIG5hbWVzcGFjZSBKU0MgewogI2lmIEVOQUJMRShERkdf
SklUKQogICAgIG5hbWVzcGFjZSBERkcgewogICAgIGNsYXNzIExvbmdMaXZlZFN0YXRlOwotICAg
IGNsYXNzIFdvcmtsaXN0OwogICAgIH0KICNlbmRpZiAvLyBFTkFCTEUoREZHX0pJVCkKICNpZiBF
TkFCTEUoRlRMX0pJVCkKQEAgLTExMSw2ICsxMTEsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBj
bGFzcyBUaHVua3M7CiAgICAgfQogI2VuZGlmIC8vIEVOQUJMRShGVExfSklUKQorICAgIG5hbWVz
cGFjZSBDb21tb25TbG93UGF0aHMgeworICAgIHN0cnVjdCBBcml0eUNoZWNrRGF0YTsKKyAgICB9
CiAKICAgICBzdHJ1Y3QgSGFzaFRhYmxlOwogICAgIHN0cnVjdCBJbnN0cnVjdGlvbjsKQEAgLTIw
NCwxMCArMjA3LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgdm9pZCBtYWtlVXNhYmxl
RnJvbU11bHRpcGxlVGhyZWFkcygpIHsgaGVhcC5tYWNoaW5lVGhyZWFkcygpLm1ha2VVc2FibGVG
cm9tTXVsdGlwbGVUaHJlYWRzKCk7IH0KICAgICAgICAgCi0jaWYgRU5BQkxFKERGR19KSVQpCi0g
ICAgICAgIERGRzo6V29ya2xpc3QqIGVuc3VyZVdvcmtsaXN0KCk7Ci0jZW5kaWYgLy8gRU5BQkxF
KERGR19KSVQpCi0KICAgICBwcml2YXRlOgogICAgICAgICBSZWZQdHI8SlNMb2NrPiBtX2FwaUxv
Y2s7CiAKQEAgLTIyNCwxMiArMjIzLDEyIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAKICNp
ZiBFTkFCTEUoREZHX0pJVCkKICAgICAgICAgT3duUHRyPERGRzo6TG9uZ0xpdmVkU3RhdGU+IGRm
Z1N0YXRlOwotICAgICAgICBSZWZQdHI8REZHOjpXb3JrbGlzdD4gd29ya2xpc3Q7CiAjZW5kaWYg
Ly8gRU5BQkxFKERGR19KSVQpCiAKICAgICAgICAgVk1UeXBlIHZtVHlwZTsKICAgICAgICAgQ2xp
ZW50RGF0YSogY2xpZW50RGF0YTsKICAgICAgICAgRXhlY1N0YXRlKiB0b3BDYWxsRnJhbWU7Cisg
ICAgICAgIHZvaWQqIHN0YWNrUG9pbnRlckF0Vk1FbnRyeTsKICAgICAgICAgV2F0Y2hkb2cgd2F0
Y2hkb2c7CiAKICAgICAgICAgY29uc3QgT3duUHRyPGNvbnN0IEhhc2hUYWJsZT4gYXJyYXlDb25z
dHJ1Y3RvclRhYmxlOwpAQCAtMzQxLDcgKzM0MCwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgICAgIHJldHVybiBqaXRTdHVicy0+Y3RpU3R1Yih0aGlzLCBnZW5lcmF0b3IpOwogICAgICAg
ICB9CiAgICAgICAgIE5hdGl2ZUV4ZWN1dGFibGUqIGdldEhvc3RGdW5jdGlvbihOYXRpdmVGdW5j
dGlvbiwgSW50cmluc2ljKTsKLSNlbmRpZgorICAgICAgICAKKyAgICAgICAgc3RkOjp1bmlxdWVf
cHRyPEFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzPiBhcml0eUNoZWNrRmFpbFJldHVyblRodW5r
czsKKyNpZiBDUFUoWDg2KQorICAgICAgICB2b2lkKiBjdXJyZW50UmV0dXJuVGh1bmtQQzsKKyNl
bmRpZiAvLyBDUFUoWDg2KQorI2VuZGlmIC8vIEVOQUJMRShKSVQpCisgICAgICAgIHN0ZDo6dW5p
cXVlX3B0cjxDb21tb25TbG93UGF0aHM6OkFyaXR5Q2hlY2tEYXRhPiBhcml0eUNoZWNrRGF0YTsK
ICNpZiBFTkFCTEUoRlRMX0pJVCkKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPEZUTDo6VGh1bmtz
PiBmdGxUaHVua3M7CiAjZW5kaWYKQEAgLTM3MywxMiArMzc4LDE2IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBKU19FWFBPUlRfUFJJVkFURSBKU1ZhbHVlIHRocm93RXhjZXB0aW9uKEV4ZWNT
dGF0ZSosIEpTVmFsdWUpOwogICAgICAgICBKU19FWFBPUlRfUFJJVkFURSBKU09iamVjdCogdGhy
b3dFeGNlcHRpb24oRXhlY1N0YXRlKiwgSlNPYmplY3QqKTsKICAgICAgICAgCisgICAgICAgIHNp
emVfdCByZXNlcnZlZFpvbmVTaXplKCkgY29uc3QgeyByZXR1cm4gbV9yZXNlcnZlZFpvbmVTaXpl
OyB9CisgICAgICAgIHNpemVfdCB1cGRhdGVTdGFja0xpbWl0V2l0aFJlc2VydmVkWm9uZVNpemUo
c2l6ZV90IHJlc2VydmVkWm9uZVNpemUpOworCiAgICAgICAgIHZvaWQqKiBhZGRyZXNzT2ZKU1N0
YWNrTGltaXQoKSB7IHJldHVybiAmbV9qc1N0YWNrTGltaXQ7IH0KKyNpZiBFTkFCTEUoTExJTlRf
Q19MT09QKQogICAgICAgICB2b2lkKiBqc1N0YWNrTGltaXQoKSB7IHJldHVybiBtX2pzU3RhY2tM
aW1pdDsgfQogICAgICAgICB2b2lkIHNldEpTU3RhY2tMaW1pdCh2b2lkKiBsaW1pdCkgeyBtX2pz
U3RhY2tMaW1pdCA9IGxpbWl0OyB9Ci0KKyNlbmRpZgogICAgICAgICB2b2lkKiBzdGFja0xpbWl0
KCkgeyByZXR1cm4gbV9zdGFja0xpbWl0OyB9Ci0gICAgICAgIHZvaWQgc2V0U3RhY2tMaW1pdCh2
b2lkKiBsaW1pdCkgeyBtX3N0YWNrTGltaXQgPSBsaW1pdDsgfQorCiAgICAgICAgIGJvb2wgaXNT
YWZlVG9SZWN1cnNlKHNpemVfdCBuZWVkZWRTdGFja0luQnl0ZXMgPSAwKSBjb25zdAogICAgICAg
ICB7CiAgICAgICAgICAgICBBU1NFUlQod3RmVGhyZWFkRGF0YSgpLnN0YWNrKCkuaXNHcm93aW5n
RG93bndhcmQoKSk7CkBAIC0zODcsMTAgKzM5NiwxMiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgICAgIHJldHVybiBjdXJyID49IGxpbWl0ICYmIHN0YXRpY19jYXN0PHNpemVfdD4oY3VyciAt
IGxpbWl0KSA+PSBuZWVkZWRTdGFja0luQnl0ZXM7CiAgICAgICAgIH0KIAorICAgICAgICB2b2lk
KiBsYXN0U3RhY2tUb3AoKSB7IHJldHVybiBtX2xhc3RTdGFja1RvcDsgfQorICAgICAgICB2b2lk
IHNldExhc3RTdGFja1RvcCh2b2lkKiBsYXN0U3RhY2tUb3ApIHsgbV9sYXN0U3RhY2tUb3AgPSBs
YXN0U3RhY2tUb3A7IH0KKwogICAgICAgICBjb25zdCBDbGFzc0luZm8qIGNvbnN0IGpzQXJyYXlD
bGFzc0luZm87CiAgICAgICAgIGNvbnN0IENsYXNzSW5mbyogY29uc3QganNGaW5hbE9iamVjdENs
YXNzSW5mbzsKIAotICAgICAgICBSZXR1cm5BZGRyZXNzUHRyIGV4Y2VwdGlvbkxvY2F0aW9uOwog
ICAgICAgICBKU1ZhbHVlIGhvc3RDYWxsUmV0dXJuVmFsdWU7CiAgICAgICAgIEV4ZWNTdGF0ZSog
bmV3Q2FsbEZyYW1lUmV0dXJuVmFsdWU7CiAgICAgICAgIEV4ZWNTdGF0ZSogY2FsbEZyYW1lRm9y
VGhyb3c7CkBAIC00MTMsNyArNDI0LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICAg
ICAgLy8gbWF4KHNjcmF0Y2ggYnVmZmVyIHNpemUpICogNC4KICAgICAgICAgICAgICAgICBzaXpl
T2ZMYXN0U2NyYXRjaEJ1ZmZlciA9IHNpemUgKiAyOwogCi0gICAgICAgICAgICAgICAgc2NyYXRj
aEJ1ZmZlcnMuYXBwZW5kKFNjcmF0Y2hCdWZmZXI6OmNyZWF0ZShzaXplT2ZMYXN0U2NyYXRjaEJ1
ZmZlcikpOworICAgICAgICAgICAgICAgIFNjcmF0Y2hCdWZmZXIqIG5ld0J1ZmZlciA9IFNjcmF0
Y2hCdWZmZXI6OmNyZWF0ZShzaXplT2ZMYXN0U2NyYXRjaEJ1ZmZlcik7CisgICAgICAgICAgICAg
ICAgUkVMRUFTRV9BU1NFUlQobmV3QnVmZmVyKTsKKyAgICAgICAgICAgICAgICBzY3JhdGNoQnVm
ZmVycy5hcHBlbmQobmV3QnVmZmVyKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgU2Ny
YXRjaEJ1ZmZlciogcmVzdWx0ID0gc2NyYXRjaEJ1ZmZlcnMubGFzdCgpOwpAQCAtNDk1LDYgKzUw
OCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBWTShWTVR5cGUsIEhlYXBUeXBlKTsKICAg
ICAgICAgc3RhdGljIFZNKiYgc2hhcmVkSW5zdGFuY2VJbnRlcm5hbCgpOwogICAgICAgICB2b2lk
IGNyZWF0ZU5hdGl2ZVRodW5rKCk7CisKKyAgICAgICAgdm9pZCBzZXRTdGFja0xpbWl0KHZvaWQq
IGxpbWl0KSB7IG1fc3RhY2tMaW1pdCA9IGxpbWl0OyB9CisKICNpZiBFTkFCTEUoQVNTRU1CTEVS
KQogICAgICAgICBib29sIG1fY2FuVXNlQXNzZW1ibGVyOwogI2VuZGlmCkBAIC01MDcsOCArNTIz
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAjaWYgRU5BQkxFKEdDX1ZBTElEQVRJT04pCiAgICAgICAg
IGNvbnN0IENsYXNzSW5mbyogbV9pbml0aWFsaXppbmdPYmplY3RDbGFzczsKICNlbmRpZgotCi0j
aWYgVVNFKFNFUEFSQVRFX0NfQU5EX0pTX1NUQUNLKQorICAgICAgICBzaXplX3QgbV9yZXNlcnZl
ZFpvbmVTaXplOworI2lmIEVOQUJMRShMTElOVF9DX0xPT1ApCiAgICAgICAgIHN0cnVjdCB7CiAg
ICAgICAgICAgICB2b2lkKiBtX3N0YWNrTGltaXQ7CiAgICAgICAgICAgICB2b2lkKiBtX2pzU3Rh
Y2tMaW1pdDsKQEAgLTUxOSw2ICs1MzUsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAg
IHZvaWQqIG1fanNTdGFja0xpbWl0OwogICAgICAgICB9OwogI2VuZGlmCisgICAgICAgIHZvaWQq
IG1fbGFzdFN0YWNrVG9wOwogICAgICAgICBKU1ZhbHVlIG1fZXhjZXB0aW9uOwogICAgICAgICBi
b29sIG1faW5EZWZpbmVPd25Qcm9wZXJ0eTsKICAgICAgICAgT3duUHRyPENvZGVDYWNoZT4gbV9j
b2RlQ2FjaGU7CkBAIC01NDQsNiArNTYxLDIyIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBy
ZXR1cm4gJm1fdm0tPmhlYXA7CiAgICAgfQogCisjaWYgIUVOQUJMRShMTElOVF9DX0xPT1ApCisg
ICAgZXh0ZXJuICJDIiB2b2lkIHNhbml0aXplU3RhY2tGb3JWTUltcGwoVk0qKTsKKyNlbmRpZgor
CisgICAgdm9pZCBsb2dTYW5pdGl6ZVN0YWNrKFZNKik7CisKKyAgICBBTFdBWVNfSU5MSU5FIHZv
aWQgc2FuaXRpemVTdGFja0ZvclZNKFZNKiB2bSkKKyAgICB7CisgICAgICAgIGxvZ1Nhbml0aXpl
U3RhY2sodm0pOworI2lmIEVOQUJMRShMTElOVF9DX0xPT1ApCisgICAgICAgIHZtLT5pbnRlcnBy
ZXRlci0+c3RhY2soKS5zYW5pdGl6ZVN0YWNrKCk7CisjZWxzZQorICAgICAgICBzYW5pdGl6ZVN0
YWNrRm9yVk1JbXBsKHZtKTsKKyNlbmRpZgorICAgIH0KKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAK
ICNlbmRpZiAvLyBWTV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9WTUVudHJ5U2NvcGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk1FbnRy
eVNjb3BlLmNwcAppbmRleCA0Nzc4MmNlM2JjYTNlYWQzZDlhZjRlYjNiNWZhZDViZDViOWFjZmU4
Li44NDkzYzYyYWVhNDAzOGEyNTY3NGFkODRkOTdjMTczMDdiMGQ5YTQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUVudHJ5U2NvcGUuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNRW50cnlTY29wZS5jcHAKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDYgKzI3LDcgQEAK
ICNpbmNsdWRlICJWTUVudHJ5U2NvcGUuaCIKIAogI2luY2x1ZGUgIkRlYnVnZ2VyLmgiCisjaW5j
bHVkZSAiT3B0aW9ucy5oIgogI2luY2x1ZGUgIlZNLmgiCiAjaW5jbHVkZSA8d3RmL1N0YWNrQm91
bmRzLmg+CiAKQEAgLTM0LDEyICszNSwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogVk1FbnRyeVNj
b3BlOjpWTUVudHJ5U2NvcGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQog
ICAgIDogbV92bSh2bSkKLSAgICAsIG1fc3RhY2sod3RmVGhyZWFkRGF0YSgpLnN0YWNrKCkpCiAg
ICAgLCBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QpCi0gICAgLCBtX3ByZXYodm0uZW50cnlT
Y29wZSkKLSAgICAsIG1fcHJldlN0YWNrTGltaXQodm0uc3RhY2tMaW1pdCgpKQogICAgICwgbV9y
ZWNvbXBpbGF0aW9uTmVlZGVkKGZhbHNlKQogeworICAgIEFTU0VSVCh3dGZUaHJlYWREYXRhKCku
c3RhY2soKS5pc0dyb3dpbmdEb3dud2FyZCgpKTsKICAgICBpZiAoIXZtLmVudHJ5U2NvcGUpIHsK
ICNpZiBFTkFCTEUoQVNTRU1CTEVSKQogICAgICAgICBpZiAoRXhlY3V0YWJsZUFsbG9jYXRvcjo6
dW5kZXJNZW1vcnlQcmVzc3VyZSgpKQpAQCAtNTEsMTcgKzUwLDI0IEBAIFZNRW50cnlTY29wZTo6
Vk1FbnRyeVNjb3BlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICAg
ICAgLy8gb2JzZXJ2ZSB0aW1lIHhvbmUgY2hhbmdlcy4KICAgICAgICAgdm0ucmVzZXREYXRlQ2Fj
aGUoKTsKICAgICB9Ci0gICAgLy8gQ2xlYXIgdGhlIGV4Y2VwdGlvbiBzdGFjayBiZXR3ZWVuIGVu
dHJpZXMKLSAgICB2bS5jbGVhckV4Y2VwdGlvblN0YWNrKCk7CiAKLSAgICB2b2lkKiBsaW1pdCA9
IG1fc3RhY2sucmVjdXJzaW9uTGltaXQocmVxdWlyZWRDYXBhY2l0eSgpKTsKLSAgICB2bS5zZXRT
dGFja0xpbWl0KGxpbWl0KTsKKyAgICBpZiAoIXZtLnN0YWNrUG9pbnRlckF0Vk1FbnRyeSkgewor
ICAgICAgICB2bS5zdGFja1BvaW50ZXJBdFZNRW50cnkgPSB0aGlzOworICAgICAgICBtX3NhdmVk
UmVzZXJ2ZWRab25lU2l6ZSA9IHZtLnVwZGF0ZVN0YWNrTGltaXRXaXRoUmVzZXJ2ZWRab25lU2l6
ZShPcHRpb25zOjpyZXNlcnZlZFpvbmVTaXplKCkpOworICAgIH0KKworICAgIC8vIENsZWFyIHRo
ZSBjYXB0dXJlZCBleGNlcHRpb24gc3RhY2sgYmV0d2VlbiBlbnRyaWVzCisgICAgdm0uY2xlYXJF
eGNlcHRpb25TdGFjaygpOwogfQogCiBWTUVudHJ5U2NvcGU6On5WTUVudHJ5U2NvcGUoKQogewot
ICAgIG1fdm0uZW50cnlTY29wZSA9IG1fcHJldjsKLSAgICBtX3ZtLnNldFN0YWNrTGltaXQobV9w
cmV2U3RhY2tMaW1pdCk7CisgICAgaWYgKG1fdm0uZW50cnlTY29wZSA9PSB0aGlzKQorICAgICAg
ICBtX3ZtLmVudHJ5U2NvcGUgPSBudWxscHRyOworICAgIGlmIChtX3ZtLnN0YWNrUG9pbnRlckF0
Vk1FbnRyeSA9PSB0aGlzKSB7CisgICAgICAgIG1fdm0uc3RhY2tQb2ludGVyQXRWTUVudHJ5ID0g
bnVsbHB0cjsKKyAgICAgICAgbV92bS51cGRhdGVTdGFja0xpbWl0V2l0aFJlc2VydmVkWm9uZVNp
emUobV9zYXZlZFJlc2VydmVkWm9uZVNpemUpOworICAgIH0KIAogICAgIGlmIChtX3JlY29tcGls
YXRpb25OZWVkZWQpIHsKICAgICAgICAgaWYgKG1fdm0uZW50cnlTY29wZSkKQEAgLTczLDIzICs3
OSw0IEBAIFZNRW50cnlTY29wZTo6flZNRW50cnlTY29wZSgpCiAgICAgfQogfQogCi1zaXplX3Qg
Vk1FbnRyeVNjb3BlOjpyZXF1aXJlZENhcGFjaXR5KCkgY29uc3QKLXsKLSAgICBJbnRlcnByZXRl
ciogaW50ZXJwcmV0ZXIgPSBtX3ZtLmludGVycHJldGVyOwotCi0gICAgLy8gV2UgcmVxdWlyZSBh
IHNtYWxsZXIgc3RhY2sgYnVkZ2V0IGZvciB0aGUgZXJyb3Igc3RhY2suIFRoaXMgaXMgdG8gYWxs
b3cKLSAgICAvLyBzb21lIG1pbmltYWwgSlMgZXhlY3V0aW9uIHRvIHByb2NlZWQgYW5kIGRvIHRo
ZSB3b3JrIG9mIHRocm93aW5nIGEgc3RhY2sKLSAgICAvLyBvdmVyZmxvdyBlcnJvciBpZiBuZWVk
ZWQuIEluIGNvbnRyYXN0LCBhcmJpdHJhcnkgSlMgY29kZSB3aWxsIHJlcXVpcmUgdGhlCi0gICAg
Ly8gbW9yZSBnZW5lcm91cyBzdGFjayBidWRnZXQgaW4gb3JkZXIgdG8gcHJvY2VlZC4KLSAgICAv
LwotICAgIC8vIFRoZXNlIHNpemVzIHdlcmUgZGVyaXZlZCBmcm9tIHRoZSBzdGFjayB1c2FnZSBv
ZiBhIG51bWJlciBvZiBzaXRlcyB3aGVuCi0gICAgLy8gbGF5b3V0IG9jY3VycyB3aGVuIHdlJ3Zl
IGFscmVhZHkgY29uc3VtZWQgbW9zdCBvZiB0aGUgQyBzdGFjay4KLSAgICBjb25zdCBzaXplX3Qg
cmVxdWlyZWRTdGFjayA9IDEyOCAqIEtCOwotICAgIGNvbnN0IHNpemVfdCBlcnJvck1vZGVSZXF1
aXJlZFN0YWNrID0gNjQgKiBLQjsKLQotICAgIHNpemVfdCByZXF1aXJlZENhcGFjaXR5ID0gaW50
ZXJwcmV0ZXItPmlzSW5FcnJvckhhbmRsaW5nTW9kZSgpID8gZXJyb3JNb2RlUmVxdWlyZWRTdGFj
ayA6IHJlcXVpcmVkU3RhY2s7Ci0gICAgUkVMRUFTRV9BU1NFUlQobV9zdGFjay5zaXplKCkgPj0g
cmVxdWlyZWRDYXBhY2l0eSk7Ci0gICAgcmV0dXJuIHJlcXVpcmVkQ2FwYWNpdHk7Ci19Ci0KIH0g
Ly8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVk1FbnRyeVNjb3BlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUVudHJ5
U2NvcGUuaAppbmRleCBkNWJhODIzZDA0YzIwODdhMGIyODBhODZlZjA1NDYwN2RmNmI2NjFhLi45
YTljY2JmZTQ1YjBiZjhmNWM2ZjVmYjliOTgwYjZjMmIwMGIyN2JjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTUVudHJ5U2NvcGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9WTUVudHJ5U2NvcGUuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDUsMTYgKzQ1LDEwIEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldFJlY29tcGlsYXRpb25OZWVkZWQoYm9vbCByZWNvbXBpbGVOZWVkZWQp
IHsgbV9yZWNvbXBpbGF0aW9uTmVlZGVkID0gcmVjb21waWxlTmVlZGVkOyB9CiAKIHByaXZhdGU6
Ci0gICAgc2l6ZV90IHJlcXVpcmVkQ2FwYWNpdHkoKSBjb25zdDsKLQogICAgIFZNJiBtX3ZtOwog
ICAgIFN0YWNrU3RhdHM6OkNoZWNrUG9pbnQgbV9zdGFja0NoZWNrUG9pbnQ7Ci0gICAgU3RhY2tC
b3VuZHMgbV9zdGFjazsKICAgICBKU0dsb2JhbE9iamVjdCogbV9nbG9iYWxPYmplY3Q7Ci0KLSAg
ICAvLyBtX3ByZXYgYW5kIG1fcHJldlN0YWNrTGltaXQgbWF5IGJlbG9uZyB0byBhIGRpZmZlcmVu
dCB0aHJlYWQncyBzdGFjay4KLSAgICBWTUVudHJ5U2NvcGUqIG1fcHJldjsKLSAgICB2b2lkKiBt
X3ByZXZTdGFja0xpbWl0OworICAgIHNpemVfdCBtX3NhdmVkUmVzZXJ2ZWRab25lU2l6ZTsKICAg
ICBib29sIG1fcmVjb21waWxhdGlvbk5lZWRlZDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYWRkLWNvbnN0YW50LW92ZXJmbG93LXJlY292ZXJ5
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hZGQtY29uc3RhbnQtb3Zl
cmZsb3ctcmVjb3ZlcnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjRiYjJjYmUzY2E3Y2Q2ZjIyYzEzZjBkNWZj
MDZiN2NlZTBhNDFkYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYWRkLWNvbnN0YW50LW92ZXJmbG93LXJlY292ZXJ5LmpzCkBAIC0wLDAgKzEs
MTUgQEAKK2Z1bmN0aW9uIGZvbyhhKSB7CisgICAgcmV0dXJuIGEuZiArIDIwMDAwMDAwMDA7Cit9
CisKK25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsK
KyAgICB2YXIgcmVzdWx0ID0gZm9vKHtmOjF9KTsKKyAgICBpZiAocmVzdWx0ICE9IDIwMDAwMDAw
MDEpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30KKwor
dmFyIHJlc3VsdCA9IGZvbyh7ZjoyMDAwMDAwMDAwfSk7CitpZiAocmVzdWx0ICE9IDQwMDAwMDAw
MDApCisgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hZGQtaW50NTItY29uc3RhbnQt
b3ZlcmZsb3ctcmVjb3ZlcnkuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2FkZC1pbnQ1Mi1jb25zdGFudC1vdmVyZmxvdy1yZWNvdmVyeS5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTQ4
ZDM0ZmMxOTBjNTk4NjIwMTRkZTYyNDBlNDhiYTZjZGY2NjFmCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hZGQtaW50NTItY29uc3RhbnQtb3Zl
cmZsb3ctcmVjb3ZlcnkuanMKQEAgLTAsMCArMSwxNSBAQAorZnVuY3Rpb24gZm9vKGEpIHsKKyAg
ICByZXR1cm4gYSAqIDIwOTcxNDQgKyAxMDczNzQ1OTIwOworfQorCitub0lubGluZShmb28pOwor
Citmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZv
bygxMDczNzM2MzgzKTsKKyAgICBpZiAocmVzdWx0ICE9IDIyNTE3ODA4ODY5MzYwNzIpCisgICAg
ICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30KKwordmFyIHJlc3Vs
dCA9IGZvbygxMDczNzQ1OTE5KTsKK2lmIChyZXN1bHQgIT0gMjI1MTgwMDg4NTMwMTI1NikKKyAg
ICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2FkZC1pbnQ1Mi1sYXJnZS1jb25zdGFudC1v
dmVyZmxvdy1yZWNvdmVyeS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YWRkLWludDUyLWxhcmdlLWNvbnN0YW50LW92ZXJmbG93LXJlY292ZXJ5LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmM2NGJjM2ZlNTI5ZWZkYzU5MjIyZDJlMDgzM2RmZmJiMzY5MWNhNWQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2FkZC1pbnQ1Mi1sYXJnZS1j
b25zdGFudC1vdmVyZmxvdy1yZWNvdmVyeS5qcwpAQCAtMCwwICsxLDE1IEBACitmdW5jdGlvbiBm
b28oYSkgeworICAgIHJldHVybiBhICogMjA5NzE0NCArIDEwMDAwMDAwMDAwOworfQorCitub0lu
bGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFy
IHJlc3VsdCA9IGZvbygxMDczNzQxMTUxKTsKKyAgICBpZiAocmVzdWx0ICE9IDIyNTE3OTk4MTIz
NzI3NDQpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30K
KwordmFyIHJlc3VsdCA9IGZvbygxMDczNzQxMTUyKTsKK2lmIChyZXN1bHQgIT0gMjI1MTc5OTgx
NDQ2OTg4OCkKKyAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2FkZC1vdmVyZmxvdy1y
ZWNvdmVyeS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYWRkLW92ZXJm
bG93LXJlY292ZXJ5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlMTcxOGM1YzJiZTBlZGNkZGE2OTk4MGViYjMy
ZmEzMjgzZTQyZTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2FkZC1vdmVyZmxvdy1yZWNvdmVyeS5qcwpAQCAtMCwwICsxLDE1IEBACitmdW5j
dGlvbiBmb28oYSwgYikgeworICAgIHJldHVybiBhLmYgKyBiLmY7Cit9CisKK25vSW5saW5lKGZv
byk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2YXIgcmVzdWx0
ID0gZm9vKHtmOjF9LCB7ZjoyfSk7CisgICAgaWYgKHJlc3VsdCAhPSAzKQorICAgICAgICB0aHJv
dyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKK3ZhciByZXN1bHQgPSBmb28o
e2Y6MjAwMDAwMDAwMH0sIHtmOjIwMDAwMDAwMDB9KTsKK2lmIChyZXN1bHQgIT0gNDAwMDAwMDAw
MCkKKyAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2FkZC1zbWFsbC1jb25zdGFudC1v
dmVyZmxvdy1yZWNvdmVyeS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YWRkLXNtYWxsLWNvbnN0YW50LW92ZXJmbG93LXJlY292ZXJ5LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0ZDlm
MDRmNjhkZTg4ZDhkY2JjYjQ0ZGFkMTlmNTlhZDEyODQ2MzAKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2FkZC1zbWFsbC1jb25zdGFudC1vdmVy
Zmxvdy1yZWNvdmVyeS5qcwpAQCAtMCwwICsxLDE1IEBACitmdW5jdGlvbiBmb28oYSkgeworICAg
IHJldHVybiBhLmYgKyAxMDAwOworfQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0g
MDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbyh7ZjoxfSk7CisgICAg
aWYgKHJlc3VsdCAhPSAxMDAxKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIg
KyByZXN1bHQ7Cit9CisKK3ZhciByZXN1bHQgPSBmb28oe2Y6MjE0NzQ4MzE0OH0pOworaWYgKHJl
c3VsdCAhPSAyMTQ3NDg0MTQ4KQorICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJl
c3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
YXktcHVzaC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyYXktcHVz
aC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wNTYwOTg3YWJlZTE3ZjEzYjMwNTFjOTliNDI0NWJkYTJlNTliMzAy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJheS1wdXNoLmpzCkBAIC0wLDAgKzEsMTggQEAKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICB2YXIg
YXJyYXkgPSBbXTsKKyAgICB2YXIgcmVzdWx0ID0gW107CisgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCA0MjsgKytpKQorICAgICAgICByZXN1bHQucHVzaChhcnJheS5wdXNoKDcgLSBpKSk7CisgICAg
cmV0dXJuIFthcnJheSwgcmVzdWx0XTsKK30KKworbm9JbmxpbmUoZm9vKTsKKworZm9yICh2YXIg
aSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIHZhciByZXN1bHQgPSBmb28oKTsKKyAgICBp
ZiAocmVzdWx0WzBdLnRvU3RyaW5nKCkgIT0gIjcsNiw1LDQsMywyLDEsMCwtMSwtMiwtMywtNCwt
NSwtNiwtNywtOCwtOSwtMTAsLTExLC0xMiwtMTMsLTE0LC0xNSwtMTYsLTE3LC0xOCwtMTksLTIw
LC0yMSwtMjIsLTIzLC0yNCwtMjUsLTI2LC0yNywtMjgsLTI5LC0zMCwtMzEsLTMyLC0zMywtMzQi
KQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCBhcnJheTogIiArIHJlc3VsdFswXTsKKyAgICBp
ZiAocmVzdWx0WzFdLnRvU3RyaW5nKCkgIT0gIjEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEz
LDE0LDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyLDIzLDI0LDI1LDI2LDI3LDI4LDI5LDMwLDMxLDMy
LDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyIikKKyAgICAgICAgdGhyb3cgIkVycm9yOiBi
YWQgYXJyYXk6ICIgKyByZXN1bHRbMV07Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvZW1wdHktZnVuY3Rpb24uanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2VtcHR5LWZ1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxMmU1MTA1
ZWEyMzg1NTdhY2E5NmI3ZWU0ZDRlYjg4YjBkNTU4OGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2VtcHR5LWZ1bmN0aW9uLmpzCkBAIC0wLDAg
KzEsMTAgQEAKK2Z1bmN0aW9uIGZvbygpIHsgfQorCitub0lubGluZShmb28pOworCitmb3IgKHZh
ciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbygpOworICAg
IGlmIChyZXN1bHQgIT09IHZvaWQgMCkKKyAgICAgICAgdGhyb3cgIllvdSBicm9rZSBKU0Mgc28g
aGFyZCB0aGF0IGV2ZW4gdGhlIGVtcHR5IGZ1bmN0aW9uIGRvZXNuJ3Qgd29yazogIiArIHJlc3Vs
dDsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9l
eGl0LWFmdGVyLWludDMyLXRvLWRvdWJsZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvZXhpdC1hZnRlci1pbnQzMi10by1kb3VibGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTgwYzVh
OWI3MmE4ZGIzYzAwY2U4MDRjNDVjOGZiYzk1MDZhOTk3NgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhpdC1hZnRlci1pbnQzMi10by1kb3Vi
bGUuanMKQEAgLTAsMCArMSwxNSBAQAorZnVuY3Rpb24gZm9vKHgsIG8pIHsKKyAgICByZXR1cm4g
by5mICsgeDsKK30KKworbm9JbmxpbmUoZm9vKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAw
MDA7ICsraSkgeworICAgIHZhciByZXN1bHQgPSBmb28oNDIuNSwge2Y6NX0pOworICAgIGlmIChy
ZXN1bHQgIT0gNDcuNSkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVz
dWx0OworfQorCit2YXIgcmVzdWx0ID0gZm9vKCI0MiIsIHtmOjV9KTsKK2lmIChyZXN1bHQgIT0g
IjU0MiIpCisgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9leGl0LWFmdGVyLWludDUy
LXRvLWRvdWJsZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhpdC1h
ZnRlci1pbnQ1Mi10by1kb3VibGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDZiYWIzYjFkYWMxNWY2OGQyM2E0
NzIyOWZiYmI3MWE2YzZmYTk4NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvZXhpdC1hZnRlci1pbnQ1Mi10by1kb3VibGUuanMKQEAgLTAsMCAr
MSwxNiBAQAorZnVuY3Rpb24gZm9vKGEsIGIsIGMpIHsKKyAgICByZXR1cm4gYS5mICsgYi5mICsg
Yy5mOworfQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsg
KytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbyh7ZjoyMDAwMDAwMDAwfSwge2Y6MjAwMDAwMDAw
MH0sIHtmOjAuNX0pOworICAgIGlmIChyZXN1bHQgIT0gNDAwMDAwMDAwMC41KQorICAgICAgICB0
aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKK3ZhciByZXN1bHQgPSBm
b28oe2Y6MjAwMDAwMDAwMH0sIHtmOjIwMDAwMDAwMDB9LCB7ZjoiNDIifSk7CitpZiAocmVzdWx0
ICE9ICI0MDAwMDAwMDAwNDIiKQorICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJl
c3VsdDsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9l
eGl0LWFmdGVyLWludDUyLXRvLXZhbHVlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9leGl0LWFmdGVyLWludDUyLXRvLXZhbHVlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyZWQxZjg1
MzUwMjUwNjE4MDY2ZmJhYjI5Mzk5NGE0MjJmZTkwNTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4aXQtYWZ0ZXItaW50NTItdG8tdmFsdWUu
anMKQEAgLTAsMCArMSwyNSBAQAorZnVuY3Rpb24gZm9vKGEsIGIsIGMpIHsKKyAgICBjLmYuZiA9
IGEuZiArIGIuZjsKK30KKworbm9JbmxpbmUoZm9vKTsKKwordmFyIGNvdW50ZXIgPSAwOworZnVu
Y3Rpb24gbWFrZVdlaXJkT2JqZWN0KCkgeworICAgIHZhciByZXN1bHQgPSB7fTsKKyAgICByZXN1
bHRbImJsYWgiICsgKGNvdW50ZXIrKyldID0gNDI7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwor
Zm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIHZhciBvID0gbWFrZVdlaXJk
T2JqZWN0KCk7CisgICAgZm9vKHtmOjIwMDAwMDAwMDB9LCB7ZjoyMDAwMDAwMDAwfSwge2Y6b30p
OworICAgIGlmIChvLmYgIT0gNDAwMDAwMDAwMCkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQg
cmVzdWx0OiAiICsgcmVzdWx0OworfQorCit2YXIgdGhpbmd5OworTnVtYmVyLnByb3RvdHlwZS5f
X2RlZmluZVNldHRlcl9fKCJmIiwgZnVuY3Rpb24odmFsdWUpIHsgdGhpbmd5ID0gdmFsdWU7IH0p
OworZm9vKHtmOjIwMDAwMDAwMDB9LCB7ZjoyMDAwMDAwMDAwfSwge2Y6NDJ9KTsKK2lmICh0aGlu
Z3kgIT0gNDAwMDAwMDAwMCkKKyAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyB0aGlu
Z3k7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4aXQt
YWZ0ZXItbGx2bS1mb2xkcy1sYXJnZS1pbnQtY29uc3RhbnQuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2V4aXQtYWZ0ZXItbGx2bS1mb2xkcy1sYXJnZS1pbnQtY29uc3Rh
bnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDhkMzVmZTViZDMwYTA0OWQ2NjkxMDgzZDNhOWNhMWJjMzE0MDFh
NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
ZXhpdC1hZnRlci1sbHZtLWZvbGRzLWxhcmdlLWludC1jb25zdGFudC5qcwpAQCAtMCwwICsxLDE4
IEBACitmdW5jdGlvbiBmb28obywgaW8pIHsKKyAgICB2YXIgaSA9IGlvLmY7CisgICAgaWYgKGkg
IT0gOTIxNjApCisgICAgICAgIG8uZyA9IDQyOworICAgIHJldHVybiBvLmYuZiArIGk7Cit9CisK
K25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAg
ICB2YXIgcmVzdWx0ID0gZm9vKHtmOntmOjQyfX0sIHtmOjkyMTYwfSk7CisgICAgaWYgKHJlc3Vs
dCAhPSA5MjIwMikKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0
OworfQorCit2YXIgcmVzdWx0ID0gZm9vKHtmOntnOjIwLCBmOjIxfX0sIHtmOjkyMTYwfSk7Citp
ZiAocmVzdWx0ICE9IDkyMTgxKQorICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJl
c3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhp
dC1mcm9tLWZ0bC13aXRoLWFyaXR5LWNoZWNrLWZhaWwuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2V4aXQtZnJvbS1mdGwtd2l0aC1hcml0eS1jaGVjay1mYWlsLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjZiZTNiMjEwYTAxZTAwNTZlN2E2ZDRlY2MxMTlmZWY3Y2VkZDI5ZWYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4aXQtZnJv
bS1mdGwtd2l0aC1hcml0eS1jaGVjay1mYWlsLmpzCkBAIC0wLDAgKzEsMTggQEAKK2Z1bmN0aW9u
IGZvbyhvLCBhLCBiLCBjLCBkLCBlLCBmLCBnLCBoLCBpLCBqKSB7CisgICAgcmV0dXJuIG8uZjsK
K30KKworZnVuY3Rpb24gYmFyKG8pIHsKKyAgICByZXR1cm4gZm9vKG8pOworfQorCitub0lubGlu
ZShmb28pOworbm9JbmxpbmUoYmFyKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsr
aSkKKyAgICBiYXIoe2Y6NDJ9KTsKKwordmFyIHJlc3VsdCA9IGJhcih7ZzoyNCwgZjo0M30pOwor
aWYgKHJlc3VsdCAhPSA0MykKKyAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1
bHQ7CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRs
LWFyaXRoY29zLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9mdGwtYXJp
dGhjb3MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzhhMWY1ZmMzMDJmMjJiYzZjNjdiYjJkZmFmMjg1NGRhNmY0
YTM0NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvZnRsLWFyaXRoY29zLmpzCkBAIC0wLDAgKzEsMTMgQEAKK2Z1bmN0aW9uIGZvbyh4KSB7Cisg
ICAgcmV0dXJuIE1hdGguY29zKHgpOworfQorCitub0lubGluZShmb28pOworCit2YXIgaiA9IDA7
Citmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKQorICAgIGogPSBmb28oaSk7CisKK2lm
ICgtMC41MDk4NzUzNzI0MTc5MDA5ICE9IGopeworICAgIHRocm93ICJFcnJvciIKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLWFyaXRoc2luLmpz
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9mdGwtYXJpdGhzaW4uanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjU1OWY0ZDQ5MDUxOWQyNzcxOWQ1YjQzOTMwMThhOTQ4NDVhOTUyNgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLWFyaXRo
c2luLmpzCkBAIC0wLDAgKzEsMTMgQEAKK2Z1bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0dXJuIE1h
dGguc2luKHgpOworfQorCitub0lubGluZShmb28pOworCit2YXIgaiA9IDA7Citmb3IgKHZhciBp
ID0gMDsgaSA8IDEwMDAwMDsgKytpKQorICAgIGogPSBmb28oaSk7CisKK2lmICgwLjg2MDI0ODI4
MDc4OTc0MiAhPSBqKXsKKyAgICB0aHJvdyAiRXJyb3IiCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Z0bC1hcml0aHNxcnQuanMgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Z0bC1hcml0aHNxcnQuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGJl
MDFjZTRiNzBlMjQwNTgwMDU0N2ZlZTZiMDFkNzE2MjcyN2NjMgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLWFyaXRoc3FydC5qcwpAQCAt
MCwwICsxLDEzIEBACitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiBNYXRoLnNxcnQoeCk7
Cit9CisKK25vSW5saW5lKGZvbyk7CisKK3ZhciBqID0gMDsKK2ZvciAodmFyIGkgPSAwOyBpIDwg
MTAwMDAwOyArK2kpCisgICAgaiA9IGZvbyhpKTsKKworaWYgKCAzMTYuMjI2MTg0ODc0MDU1ICE9
IGopeworICAgIHRocm93ICJFcnJvciIKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvZnRsLXB1dGJ5aWQuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Z0bC1wdXRieWlkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkZmQ5ZTRiZTY5ZjY1Yjk1
MjU2ZTBkMDM2MWMyOTY0NGQ1Mzk1NmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Z0bC1wdXRieWlkLmpzCkBAIC0wLDAgKzEsMTMgQEAKKwor
T2JqZWN0LnByb3RvdHlwZS5fX2RlZmluZVNldHRlcl9fKCJyIiwgZnVuY3Rpb24odmFsKXsgbyA9
IHZhbCB9KQorCitmdW5jdGlvbiBmb28oeCl7CisgICAgdmFyIG4gPSB7IH0KKyAgICBuLnIgPSB4
OworfQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytp
KQorICAgIGZvbyhpKTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9mdGwtcHV0YnlpZGRpcmVjdC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvZnRsLXB1dGJ5aWRkaXJlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjUwYWQwZGNiMjZkNDFh
ZjdhYmQ5ZTY3MWY3NDNhOTNiOGRmYjNmNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZnRsLXB1dGJ5aWRkaXJlY3QuanMKQEAgLTAsMCArMSwx
MiBAQAorZnVuY3Rpb24gZm9vKHgpeworICAgIHJldHVybiB7IDAgOiAxICwgYSA6IHggfQorfQor
Citub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKQorICAg
IG8gPSBmb28oaSk7CisKK2lmIChvLmEgIT0gOTk5OTkgfHwgb1swXSAhPSAxKQorICAgIHRocm93
ICJFcnJvciIKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9nZXQtYnktaWQtdGhyb3ctZnJvbS1nZXR0ZXItdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS5qcyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2V0LWJ5LWlkLXRocm93LWZyb20t
Z2V0dGVyLXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWIzMDFkNzY5ZGQ3
NmZhZWQwNWFlZjYzZDc4YzA5OGJkYzE1YTY5ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2V0LWJ5LWlkLXRocm93LWZyb20tZ2V0dGVyLXRo
cm91Z2gtb3B0aW1pemVkLWNvZGUuanMKQEAgLTAsMCArMSwzNyBAQAorZnVuY3Rpb24gZm9vKG8p
IHsKKyAgICByZXR1cm4gby5mICsgMTsKK30KKworbm9JbmxpbmUoZm9vKTsKKwordmFyIHNob3Vs
ZFRocm93ID0gZmFsc2U7CisKK2Z1bmN0aW9uIG1ha2VXaXRoR2V0dGVyKCkgeworICAgIHZhciBv
ID0ge307CisgICAgby5fX2RlZmluZUdldHRlcl9fKCJmIiwgZnVuY3Rpb24oKSB7CisgICAgICAg
IGlmIChzaG91bGRUaHJvdykKKyAgICAgICAgICAgIHRocm93ICJoZWxsbyI7CisgICAgICAgIHJl
dHVybiA0MjsKKyAgICB9KTsKKyAgICByZXR1cm4gbzsKK30KKworZm9yICh2YXIgaSA9IDA7IGkg
PCAxMDAwMDA7ICsraSkgeworICAgIHZhciByZXN1bHQgPSBmb28oe2Y6MjN9KTsKKyAgICBpZiAo
cmVzdWx0ICE9IDI0KQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1
bHQ7CisgICAgcmVzdWx0ID0gZm9vKG1ha2VXaXRoR2V0dGVyKCkpOworICAgIGlmIChyZXN1bHQg
IT0gNDMpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30K
KwordmFyIGRpZFRocm93OwordHJ5IHsKKyAgICBzaG91bGRUaHJvdyA9IHRydWU7CisgICAgZm9v
KG1ha2VXaXRoR2V0dGVyKCkpOworfSBjYXRjaCAoZSkgeworICAgIGRpZFRocm93ID0gZTsKK30K
KworaWYgKGRpZFRocm93ICE9ICJoZWxsbyIpCisgICAgdGhyb3cgIkVycm9yOiBkaWRuJ3QgdGhy
b3cgb3IgdGhyZXcgd3JvbmcgZXhjZXB0aW9uOiAiICsgZGlkVGhyb3c7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2dldC1ieS1pZC10aHJvdy1mcm9tLXVu
ZXhwZWN0ZWQtZ2V0dGVyLXRocm91Z2gtb3B0aW1pemVkLWNvZGUtdGhhdC1kb2VzLW5vdC1leGl0
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9nZXQtYnktaWQtdGhyb3ct
ZnJvbS11bmV4cGVjdGVkLWdldHRlci10aHJvdWdoLW9wdGltaXplZC1jb2RlLXRoYXQtZG9lcy1u
b3QtZXhpdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMTRkMGNlYjZlY2IwYWI5N2ZmMDk3MWQwNGFjZTYxOTNi
M2UwNGI0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9nZXQtYnktaWQtdGhyb3ctZnJvbS11bmV4cGVjdGVkLWdldHRlci10aHJvdWdoLW9wdGlt
aXplZC1jb2RlLXRoYXQtZG9lcy1ub3QtZXhpdC5qcwpAQCAtMCwwICsxLDM1IEBACitmdW5jdGlv
biBmb28obykgeworICAgIHJldHVybiBvLmY7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2Z1bmN0
aW9uIG1ha2VXaXRoR2V0dGVyKCkgeworICAgIHZhciBvID0ge307CisgICAgby5fX2RlZmluZUdl
dHRlcl9fKCJmIiwgZnVuY3Rpb24oKSB7CisgICAgICAgIHRocm93ICJoZWxsbyI7CisgICAgfSk7
CisgICAgcmV0dXJuIG87Cit9CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsK
KyAgICB2YXIgcmVzdWx0ID0gZm9vKHtmOjIzfSk7CisgICAgaWYgKHJlc3VsdCAhPSAyMykKKyAg
ICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgIHJlc3VsdCA9
IGZvbyh7ZzoxMiwgZjoxM30pOworICAgIGlmIChyZXN1bHQgIT0gMTMpCisgICAgICAgIHRocm93
ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICByZXN1bHQgPSBmb28oe2c6MTIs
IGg6MTMsIGY6MTR9KTsKKyAgICBpZiAocmVzdWx0ICE9IDE0KQorICAgICAgICB0aHJvdyAiRXJy
b3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKK3ZhciBkaWRUaHJvdzsKK3RyeSB7Cisg
ICAgZm9vKG1ha2VXaXRoR2V0dGVyKCkpOworfSBjYXRjaCAoZSkgeworICAgIGRpZFRocm93ID0g
ZTsKK30KKworaWYgKGRpZFRocm93ICE9ICJoZWxsbyIpCisgICAgdGhyb3cgIkVycm9yOiBkaWRu
J3QgdGhyb3cgb3IgdGhyZXcgd3JvbmcgZXhjZXB0aW9uOiAiICsgZGlkVGhyb3c7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2dldC1ieS1pZC10aHJvdy1m
cm9tLXVuZXhwZWN0ZWQtZ2V0dGVyLXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2dldC1ieS1pZC10aHJvdy1mcm9tLXVuZXhwZWN0
ZWQtZ2V0dGVyLXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWVmNzcyNmE0
ODk4ZTU3NjQxYzJhZTNjMWUwYjAxNTdiZmZmMWFkMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZ2V0LWJ5LWlkLXRocm93LWZyb20tdW5leHBl
Y3RlZC1nZXR0ZXItdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS5qcwpAQCAtMCwwICsxLDM1IEBACitm
dW5jdGlvbiBmb28obykgeworICAgIHJldHVybiBvLmYgKyAxOworfQorCitub0lubGluZShmb28p
OworCitmdW5jdGlvbiBtYWtlV2l0aEdldHRlcigpIHsKKyAgICB2YXIgbyA9IHt9OworICAgIG8u
X19kZWZpbmVHZXR0ZXJfXygiZiIsIGZ1bmN0aW9uKCkgeworICAgICAgICB0aHJvdyAiaGVsbG8i
OworICAgIH0pOworICAgIHJldHVybiBvOworfQorCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAw
MDsgKytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbyh7ZjoyM30pOworICAgIGlmIChyZXN1bHQg
IT0gMjQpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAg
ICByZXN1bHQgPSBmb28oe2c6MTIsIGY6MTN9KTsKKyAgICBpZiAocmVzdWx0ICE9IDE0KQorICAg
ICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgcmVzdWx0ID0g
Zm9vKHtnOjEyLCBoOjEzLCBmOjE0fSk7CisgICAgaWYgKHJlc3VsdCAhPSAxNSkKKyAgICAgICAg
dGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworfQorCit2YXIgZGlkVGhyb3c7
Cit0cnkgeworICAgIGZvbyhtYWtlV2l0aEdldHRlcigpKTsKK30gY2F0Y2ggKGUpIHsKKyAgICBk
aWRUaHJvdyA9IGU7Cit9CisKK2lmIChkaWRUaHJvdyAhPSAiaGVsbG8iKQorICAgIHRocm93ICJF
cnJvcjogZGlkbid0IHRocm93IG9yIHRocmV3IHdyb25nIGV4Y2VwdGlvbjogIiArIGRpZFRocm93
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9pYy10aHJv
dy10aHJvdWdoLW9wdGltaXplZC1jb2RlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9pYy10aHJvdy10aHJvdWdoLW9wdGltaXplZC1jb2RlLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2
NDA0MjY0YTQwMzY5MGZiNTk5ZjE2MDliMDliZTliNTNiMzQwNWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2ljLXRocm93LXRocm91Z2gtb3B0
aW1pemVkLWNvZGUuanMKQEAgLTAsMCArMSwyOSBAQAorZnVuY3Rpb24gZm9vKG8pIHsKKyAgICBy
ZXR1cm4gby5mICsgMTsKK30KKworTnVtYmVyLnByb3RvdHlwZS5mID0gNDI7CisKK25vSW5saW5l
KGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2YXIgcmVz
dWx0ID0gZm9vKDIzKTsKKyAgICBpZiAocmVzdWx0ICE9IDQzKQorICAgICAgICB0aHJvdyAiRXJy
b3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgcmVzdWx0ID0gZm9vKHtmOjI1fSk7Cisg
ICAgaWYgKHJlc3VsdCAhPSAyNikKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAi
ICsgcmVzdWx0OworICAgIHJlc3VsdCA9IGZvbyh7ZzoxMiwgZjoxM30pOworICAgIGlmIChyZXN1
bHQgIT0gMTQpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsK
K30KKwordmFyIGRpZFRocm93OwordHJ5IHsKKyAgICBmb28odm9pZCAwKTsKK30gY2F0Y2ggKGUp
IHsKKyAgICBkaWRUaHJvdyA9IGU7Cit9CisKK2lmICghZGlkVGhyb3cgfHwgZGlkVGhyb3cudG9T
dHJpbmcoKS5pbmRleE9mKCJUeXBlRXJyb3I6IikgIT0gMCkKKyAgICB0aHJvdyAiRXJyb3I6IGRp
ZG4ndCB0aHJvdyBvciB0aHJldyB3cm9uZyBleGNlcHRpb246ICIgKyBkaWRUaHJvdzsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvaW5saW5lLWNhbGwtdmFy
YXJncy1hbmQtY2FsbC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvaW5s
aW5lLWNhbGwtdmFyYXJncy1hbmQtY2FsbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMDAxZDI1NjAwZGU0NTVk
OTIyMzY2NjJmMTZmZjY2MjAwYzI0ZTQwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9pbmxpbmUtY2FsbC12YXJhcmdzLWFuZC1jYWxsLmpzCkBA
IC0wLDAgKzEsMjUgQEAKK2Z1bmN0aW9uIGZvbyhhLCBiKSB7CisgICAgcmV0dXJuIGJhcihhLCBi
KTsKK30KKworZnVuY3Rpb24gYmFyKGEsIGIpIHsKKyAgICB2YXIgeCA9IGJhei5hcHBseShudWxs
LCBhcmd1bWVudHMpOworICAgIHZhciB5ID0gYmF6KGEsIGIpCisgICAgcmV0dXJuIHggKyB5ICog
MzsKK30KKworZnVuY3Rpb24gYmF6KGEsIGIpIHsKKyAgICByZXR1cm4gYSArIGIgKiAyOworfQor
Citub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7Cisg
ICAgdmFyIHJlc3VsdCA9IGZvbyg3LCAxMSk7CisgICAgaWYgKHJlc3VsdCAhPSAxMTYpCisgICAg
ICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30KKwordmFyIHJlc3Vs
dCA9IGZvbyg1LCAyMTQ3NDgzNjQ2KTsKK2lmIChyZXN1bHQgIT0gMTcxNzk4NjkxODgpCisgICAg
dGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9pbmxpbmUtY2FsbC12YXJhcmdzLmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9pbmxpbmUtY2FsbC12YXJhcmdzLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFlN2E1NDUwOWE3MjkyMjk1MDljOWNmYjExZGFhMDFkYjM3NDFhNmIKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2lubGluZS1j
YWxsLXZhcmFyZ3MuanMKQEAgLTAsMCArMSwyMyBAQAorZnVuY3Rpb24gZm9vKGEsIGIpIHsKKyAg
ICByZXR1cm4gYmFyKGEsIGIpOworfQorCitmdW5jdGlvbiBiYXIoYSwgYikgeworICAgIHJldHVy
biBiYXouYXBwbHkobnVsbCwgYXJndW1lbnRzKTsKK30KKworZnVuY3Rpb24gYmF6KGEsIGIpIHsK
KyAgICByZXR1cm4gYSArIGIgKiAyOworfQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBp
ID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbyg3LCAxMSk7Cisg
ICAgaWYgKHJlc3VsdCAhPSAyOSkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAi
ICsgcmVzdWx0OworfQorCit2YXIgcmVzdWx0ID0gZm9vKDUsIDIxNDc0ODM2NDYpOworaWYgKHJl
c3VsdCAhPSA0Mjk0OTY3Mjk3KQorICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJl
c3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvaW5s
aW5lLWNsb3N1cmUtY2FsbC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
aW5saW5lLWNsb3N1cmUtY2FsbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZDlhNjE0ZGZhNGVjOGYzNDZhMjAw
MTJhNjBiZGU4OThkYmFhYjBiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9pbmxpbmUtY2xvc3VyZS1jYWxsLmpzCkBAIC0wLDAgKzEsMTYgQEAK
K2Z1bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0dXJuIGZ1bmN0aW9uKHkpIHsgcmV0dXJuIHggKyB5
OyB9Cit9CisKK2Z1bmN0aW9uIGJhcihhLCBiKSB7CisgICAgcmV0dXJuIGZvbyhhKShiKTsKK30K
Kworbm9JbmxpbmUoZm9vKTsKK25vSW5saW5lKGJhcik7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwg
MTAwMDAwOyArK2kpIHsKKyAgICB2YXIgcmVzdWx0ID0gYmFyKGksIGkgKyAxKTsKKyAgICBpZiAo
cmVzdWx0ICE9IGkgKiAyICsgMSkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0IGZv
ciAiICsgaSArICI6ICIgKyByZXN1bHQ7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2ludDE2LXB1dC1ieS12YWwtaW4tYW5kLW91dC1vZi1ib3VuZHMu
anMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2ludDE2LXB1dC1ieS12YWwt
aW4tYW5kLW91dC1vZi1ib3VuZHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTcwZjg1ZWZhNzdhZTY0NjM2NjVh
ZDM1NjVhNzk4ZjhhZmRlZGE3ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvaW50MTYtcHV0LWJ5LXZhbC1pbi1hbmQtb3V0LW9mLWJvdW5kcy5q
cwpAQCAtMCwwICsxLDE4IEBACitmdW5jdGlvbiBmb28oYSkgeworICAgIGFbNDJdID0gOTUwMTA7
Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2Z1bmN0aW9uIHRlc3QobGVuZ3RoLCBleHBlY3RlZCkg
eworICAgIHZhciBhID0gbmV3IEludDE2QXJyYXkobGVuZ3RoKTsKKyAgICBmb28oYSk7CisgICAg
dmFyIHJlc3VsdCA9IGFbNDJdOworICAgIGlmIChyZXN1bHQgIT0gZXhwZWN0ZWQpCisgICAgICAg
IHRocm93ICJFcnJvcjogYmFkIHZhbHVlIGF0IGFbNDJdOiAiICsgcmVzdWx0OworfQorCitmb3Ig
KHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdGVzdCgxMCwgdm9pZCAwKTsKKyAg
ICB0ZXN0KDEwMCwgMjk0NzQpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9pbnQxNi1wdXQtYnktdmFsLWluLWJvdW5kcy10aGVuLWV4aXQtb3V0LW9m
LWJvdW5kcy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvaW50MTYtcHV0
LWJ5LXZhbC1pbi1ib3VuZHMtdGhlbi1leGl0LW91dC1vZi1ib3VuZHMuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGVkNzQ2MmE0MzIzMjdiZDIzOGQzOWU5M2IzOGY4NTM0NjkxNTQ2MwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvaW50MTYtcHV0LWJ5LXZhbC1p
bi1ib3VuZHMtdGhlbi1leGl0LW91dC1vZi1ib3VuZHMuanMKQEAgLTAsMCArMSwxOSBAQAorZnVu
Y3Rpb24gZm9vKGEpIHsKKyAgICBhWzQyXSA9IDk1MDEwOworfQorCitub0lubGluZShmb28pOwor
CitmdW5jdGlvbiB0ZXN0KGxlbmd0aCwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgYSA9IG5ldyBJbnQx
NkFycmF5KGxlbmd0aCk7CisgICAgZm9vKGEpOworICAgIHZhciByZXN1bHQgPSBhWzQyXTsKKyAg
ICBpZiAocmVzdWx0ICE9IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCB2YWx1
ZSBhdCBhWzQyXTogIiArIHJlc3VsdDsKK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7
ICsraSkKKyAgICB0ZXN0KDEwMCwgMjk0NzQpOworCit0ZXN0KDEwLCB2b2lkIDApOworCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2ludDE2LXB1dC1ieS12
YWwtb3V0LW9mLWJvdW5kcy1ib3VuZHMtdGhlbi1kby1pbi1ib3VuZHMuanMgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2ludDE2LXB1dC1ieS12YWwtb3V0LW9mLWJvdW5kcy1i
b3VuZHMtdGhlbi1kby1pbi1ib3VuZHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2JiOTY0Y2EwNzM2ZDNhNjA0
MjYxNTM3MDVkNWNlYTMxZDE3ODE3NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvaW50MTYtcHV0LWJ5LXZhbC1vdXQtb2YtYm91bmRzLWJvdW5k
cy10aGVuLWRvLWluLWJvdW5kcy5qcwpAQCAtMCwwICsxLDE5IEBACitmdW5jdGlvbiBmb28oYSkg
eworICAgIGFbNDJdID0gOTUwMTA7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2Z1bmN0aW9uIHRl
c3QobGVuZ3RoLCBleHBlY3RlZCkgeworICAgIHZhciBhID0gbmV3IEludDE2QXJyYXkobGVuZ3Ro
KTsKKyAgICBmb28oYSk7CisgICAgdmFyIHJlc3VsdCA9IGFbNDJdOworICAgIGlmIChyZXN1bHQg
IT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHZhbHVlIGF0IGFbNDJdOiAi
ICsgcmVzdWx0OworfQorCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKQorICAgIHRl
c3QoMTAsIHZvaWQgMCk7CisKK3Rlc3QoMTAwLCAyOTQ3NCk7CisKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvaW52YWxpZGF0aW9uLXBvaW50LmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9pbnZhbGlkYXRpb24tcG9pbnQuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNmY4YjU1YzdjNjNiZWZiZjNjNjllOGE5ZDhjMjY1ZjVlMjA0YTdiYgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvaW52YWxpZGF0
aW9uLXBvaW50LmpzCkBAIC0wLDAgKzEsMjQgQEAKK2Z1bmN0aW9uIGZvbyhvLCBwKSB7CisgICAg
cG9zc2libHlEb0JhZFRoaW5ncyhwKTsKKyAgICByZXR1cm4gby5mKCk7Cit9Citub0lubGluZShm
b28pOworCitmdW5jdGlvbiBUaGluZ3koKSB7IH0KK1RoaW5neS5wcm90b3R5cGUuZiA9IGZ1bmN0
aW9uKCkgeyByZXR1cm4gNDI7IH0KKworZnVuY3Rpb24gcG9zc2libHlEb0JhZFRoaW5ncyhwKSB7
CisgICAgaWYgKHApCisgICAgICAgIFRoaW5neS5wcm90b3R5cGUuZiA9IGZ1bmN0aW9uKCkgeyBy
ZXR1cm4gMjQ7IH0KK30KK25vSW5saW5lKHBvc3NpYmx5RG9CYWRUaGluZ3MpOworCitmb3IgKHZh
ciBpID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbyhuZXcgVGhp
bmd5KCksIGZhbHNlKTsKKyAgICBpZiAocmVzdWx0ICE9IDQyKQorICAgICAgICB0aHJvdyAiRXJy
b3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKK3ZhciByZXN1bHQgPSBmb28obmV3IFRo
aW5neSgpLCB0cnVlKTsKK2lmIChyZXN1bHQgIT0gMjQpCisgICAgdGhyb3cgIkVycm9yOiBiYWQg
cmVzdWx0OiAiICsgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9tYWtlLXJvcGUtMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvbWFrZS1yb3BlLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjJhMjNhYjU1ODMwYmVlMTViZGQ5NDRj
YzJkMWU4ODYyNTZjMWNhMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvbWFrZS1yb3BlLTIuanMKQEAgLTAsMCArMSwxNiBAQAorZnVuY3Rpb24g
Zm9vKHgpIHsKKyAgICByZXR1cm4gImhlbGxvIiArIHg7Cit9CisKK25vSW5saW5lKGZvbyk7CisK
K2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2YXIgcmVzdWx0ID0gZm9v
KCIgd29ybGQiKTsKKyAgICBpZiAodHlwZW9mIHJlc3VsdCAhPSAic3RyaW5nIikgeworICAgICAg
ICBkZXNjcmliZShyZXN1bHQpOworICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQgdHlw
ZTogIiArIHJlc3VsdDsKKyAgICB9CisgICAgaWYgKHJlc3VsdCAhPSAiaGVsbG8gd29ybGQiKQor
ICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbWFrZS1yb3BlLTMuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL21ha2Utcm9wZS0zLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjNhODUyY2MzNzFhYmU0ODM4NmEyMDBjMGM1NjdjMzVjMmFjYWVjOGQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL21ha2Utcm9wZS0z
LmpzCkBAIC0wLDAgKzEsMTYgQEAKK2Z1bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0dXJuICJoZWxs
byIgKyB4ICsgIiEhIjsKK30KKworbm9JbmxpbmUoZm9vKTsKKworZm9yICh2YXIgaSA9IDA7IGkg
PCAxMDAwMDA7ICsraSkgeworICAgIHZhciByZXN1bHQgPSBmb28oIiB3b3JsZCIpOworICAgIGlm
ICh0eXBlb2YgcmVzdWx0ICE9ICJzdHJpbmciKSB7CisgICAgICAgIGRlc2NyaWJlKHJlc3VsdCk7
CisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdCB0eXBlOiAiICsgcmVzdWx0OworICAg
IH0KKyAgICBpZiAocmVzdWx0ICE9ICJoZWxsbyB3b3JsZCEhIikKKyAgICAgICAgdGhyb3cgIkVy
cm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL25ldy1hcnJheS1zdG9yYWdlLWFycmF5LXdpdGgtc2l6
ZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbmV3LWFycmF5LXN0b3Jh
Z2UtYXJyYXktd2l0aC1zaXplLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkNjFiZTk1NmFjNTVhYWYxMjBhOWQ4
NGFlYzRiNmVhOTJlYTNjMmMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL25ldy1hcnJheS1zdG9yYWdlLWFycmF5LXdpdGgtc2l6ZS5qcwpAQCAt
MCwwICsxLDIzIEBACitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiBuZXcgQXJyYXkoeCk7
Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2Z1bmN0aW9uIHRlc3Qoc2l6ZSkgeworICAgIHZhciBy
ZXN1bHQgPSBmb28oc2l6ZSk7CisgICAgaWYgKHJlc3VsdC5sZW5ndGggIT0gc2l6ZSkKKyAgICAg
ICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgIHZhciBzYXdUaGlu
Z3MgPSBmYWxzZTsKKyAgICBmb3IgKHZhciBzIGluIHJlc3VsdCkKKyAgICAgICAgc2F3VGhpbmdz
ID0gdHJ1ZTsKKyAgICBpZiAoc2F3VGhpbmdzKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGFycmF5
IGlzIGluIGJhZCBzdGF0ZTogIiArIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSAiNDIuNSI7Cisg
ICAgaWYgKHJlc3VsdFswXSAhPSAiNDIuNSIpCisgICAgICAgIHRocm93ICJFcnJvcjogYXJyYXkg
aXMgaW4gd2llcmQgc3RhdGU6ICIgKyByZXN1bHQ7Cit9CisKK2ZvciAodmFyIGkgPSAwOyBpIDwg
MTAwMDAwOyArK2kpIHsKKyAgICB0ZXN0KDEwMDAwMDApOworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9uZXctYXJyYXktd2l0aC1zaXplLXdpdGgtYmFk
LXRpbWUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL25ldy1hcnJheS13
aXRoLXNpemUtd2l0aC1iYWQtdGltZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTY3NzQxNTZmMjljYjkxYmRi
NTk5MTNhZjQ1OTEyMTRiNTQ3NmQxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9uZXctYXJyYXktd2l0aC1zaXplLXdpdGgtYmFkLXRpbWUuanMK
QEAgLTAsMCArMSwzNCBAQAorZnVuY3Rpb24gZm9vKHgpIHsKKyAgICByZXR1cm4gbmV3IEFycmF5
KHgpOworfQorCitub0lubGluZShmb28pOworCit2YXIgcG9rZTsKK0FycmF5LnByb3RvdHlwZS5f
X2RlZmluZVNldHRlcl9fKCIxIiwgZnVuY3Rpb24oKSB7CisgICAgcG9rZSA9ICJwb2tlIjsKK30p
OworCitmdW5jdGlvbiB0ZXN0KHNpemUpIHsKKyAgICB2YXIgcmVzdWx0ID0gZm9vKHNpemUpOwor
ICAgIGlmIChyZXN1bHQubGVuZ3RoICE9IHNpemUpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFk
IHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICB2YXIgc2F3VGhpbmdzID0gZmFsc2U7CisgICAgZm9y
ICh2YXIgcyBpbiByZXN1bHQpIHsKKyAgICAgICAgaWYgKHMgIT0gIjEiKQorICAgICAgICAgICAg
c2F3VGhpbmdzID0gdHJ1ZTsKKyAgICB9CisgICAgaWYgKHNhd1RoaW5ncykKKyAgICAgICAgdGhy
b3cgIkVycm9yOiBhcnJheSBpcyBpbiBiYWQgc3RhdGU6ICIgKyByZXN1bHQ7CisgICAgcmVzdWx0
WzBdID0gIjQyLjUiOworICAgIGlmIChyZXN1bHRbMF0gIT0gIjQyLjUiKQorICAgICAgICB0aHJv
dyAiRXJyb3I6IGFycmF5IGlzIGluIHdpZXJkIHN0YXRlOiAiICsgcmVzdWx0OworICAgIHBva2Ug
PSBudWxsOworICAgIHJlc3VsdFsxXSA9IDQyOworICAgIGlmIChwb2tlICE9ICJwb2tlIikKKyAg
ICAgICAgdGhyb3cgIkVycm9yOiBzZXR0ZXIgbm90IGNhbGxlZC4iOworfQorCitmb3IgKHZhciBp
ID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CisgICAgdGVzdCg0Mik7Cit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL25ldy1jb250aWd1b3VzLWFycmF5LXdp
dGgtc2l6ZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbmV3LWNvbnRp
Z3VvdXMtYXJyYXktd2l0aC1zaXplLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwOGE2ZjY3ZTgxOTVhNWUyNTQx
MjY5ODdjOTk0NWJiZTZjNWQ5YzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL25ldy1jb250aWd1b3VzLWFycmF5LXdpdGgtc2l6ZS5qcwpAQCAt
MCwwICsxLDMxIEBACitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiBuZXcgQXJyYXkoeCk7
Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2Z1bmN0aW9uIHRlc3Qoc2l6ZSkgeworICAgIHZhciBy
ZXN1bHQgPSBmb28oc2l6ZSk7CisgICAgaWYgKHJlc3VsdC5sZW5ndGggIT0gc2l6ZSkgeworICAg
ICAgICBwcmludCgiR290IGEgd2VpcmQgbGVuZ3RoOiAiICsgcmVzdWx0Lmxlbmd0aCk7CisgICAg
ICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICB9CisgICAgdmFy
IHNhd1RoaW5ncyA9IGZhbHNlOworICAgIGZvciAodmFyIHMgaW4gcmVzdWx0KQorICAgICAgICBz
YXdUaGluZ3MgPSB0cnVlOworICAgIGlmIChzYXdUaGluZ3MpIHsKKyAgICAgICAgcHJpbnQoIlNh
dyB0aGluZ3MhIik7CisgICAgICAgIHRocm93ICJFcnJvcjogYXJyYXkgaXMgaW4gYmFkIHN0YXRl
OiAiICsgcmVzdWx0OworICAgIH0KKyAgICByZXN1bHRbMF0gPSAiNDIuNSI7CisgICAgaWYgKHJl
c3VsdFswXSAhPSAiNDIuNSIpIHsKKyAgICAgICAgcHJpbnQoIkRpZG4ndCBzdG9yZSB3aGF0IEkg
dGhvdWdodCBJIHN0b3JlZC4iKTsKKyAgICAgICAgdGhyb3cgIkVycm9yOiBhcnJheSBpcyBpbiB3
aWVyZCBzdGF0ZTogIiArIHJlc3VsdDsKKyAgICB9Cit9CisKK2ZvciAodmFyIGkgPSAwOyBpIDwg
MTAwMDAwOyArK2kpIHsKKyAgICB0ZXN0KDApOworICAgIHRlc3QoMSk7CisgICAgdGVzdCg0Mik7
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL25ldy1k
b3VibGUtYXJyYXktd2l0aC1zaXplLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9uZXctZG91YmxlLWFycmF5LXdpdGgtc2l6ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGYyOGJhNjQz
ODljZmMwYTVlMDA3ZGI2NWVhYmY5YjBlZTc2NDhhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9uZXctZG91YmxlLWFycmF5LXdpdGgtc2l6ZS5q
cwpAQCAtMCwwICsxLDI1IEBACitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiBuZXcgQXJy
YXkoeCk7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2Z1bmN0aW9uIHRlc3Qoc2l6ZSkgeworICAg
IHZhciByZXN1bHQgPSBmb28oc2l6ZSk7CisgICAgaWYgKHJlc3VsdC5sZW5ndGggIT0gc2l6ZSkK
KyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgIHZhciBz
YXdUaGluZ3MgPSBmYWxzZTsKKyAgICBmb3IgKHZhciBzIGluIHJlc3VsdCkKKyAgICAgICAgc2F3
VGhpbmdzID0gdHJ1ZTsKKyAgICBpZiAoc2F3VGhpbmdzKQorICAgICAgICB0aHJvdyAiRXJyb3I6
IGFycmF5IGlzIGluIGJhZCBzdGF0ZTogIiArIHJlc3VsdDsKKyAgICByZXN1bHRbMF0gPSA0Mi41
OworICAgIGlmIChyZXN1bHRbMF0gIT0gNDIuNSkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBhcnJh
eSBpcyBpbiB3aWVyZCBzdGF0ZTogIiArIHJlc3VsdDsKK30KKworZm9yICh2YXIgaSA9IDA7IGkg
PCAxMDAwMDA7ICsraSkgeworICAgIHRlc3QoMCk7CisgICAgdGVzdCgxKTsKKyAgICB0ZXN0KDQy
KTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbmV3
LWludDMyLWFycmF5LXdpdGgtc2l6ZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvbmV3LWludDMyLWFycmF5LXdpdGgtc2l6ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZjhjNWRiNzIw
N2VkYTQ0M2M3ZjIyYjJiMjMxNjVjMTFlZjRmMjQzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9uZXctaW50MzItYXJyYXktd2l0aC1zaXplLmpz
CkBAIC0wLDAgKzEsMjUgQEAKK2Z1bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0dXJuIG5ldyBBcnJh
eSh4KTsKK30KKworbm9JbmxpbmUoZm9vKTsKKworZnVuY3Rpb24gdGVzdChzaXplKSB7CisgICAg
dmFyIHJlc3VsdCA9IGZvbyhzaXplKTsKKyAgICBpZiAocmVzdWx0Lmxlbmd0aCAhPSBzaXplKQor
ICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgdmFyIHNh
d1RoaW5ncyA9IGZhbHNlOworICAgIGZvciAodmFyIHMgaW4gcmVzdWx0KQorICAgICAgICBzYXdU
aGluZ3MgPSB0cnVlOworICAgIGlmIChzYXdUaGluZ3MpCisgICAgICAgIHRocm93ICJFcnJvcjog
YXJyYXkgaXMgaW4gYmFkIHN0YXRlOiAiICsgcmVzdWx0OworICAgIHJlc3VsdFswXSA9IDQyOwor
ICAgIGlmIChyZXN1bHRbMF0gIT0gNDIpCisgICAgICAgIHRocm93ICJFcnJvcjogYXJyYXkgaXMg
aW4gd2llcmQgc3RhdGU6ICIgKyByZXN1bHQ7Cit9CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAw
MDAwOyArK2kpIHsKKyAgICB0ZXN0KDApOworICAgIHRlc3QoMSk7CisgICAgdGVzdCg0Mik7Cit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL25ldy11bmRl
Y2lkZWQtYXJyYXktd2l0aC1zaXplLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9uZXctdW5kZWNpZGVkLWFycmF5LXdpdGgtc2l6ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMTQyYzdl
MjExZGVlMzE0MDcyNmRmYzdkOWUxMGZhNDFmODAyZjlkCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9uZXctdW5kZWNpZGVkLWFycmF5LXdpdGgt
c2l6ZS5qcwpAQCAtMCwwICsxLDIyIEBACitmdW5jdGlvbiBmb28oeCkgeworICAgIHJldHVybiBu
ZXcgQXJyYXkoeCk7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2Z1bmN0aW9uIHRlc3Qoc2l6ZSkg
eworICAgIHZhciByZXN1bHQgPSBmb28oc2l6ZSk7CisgICAgaWYgKHJlc3VsdC5sZW5ndGggIT0g
c2l6ZSkKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAg
IHZhciBzYXdUaGluZ3MgPSBmYWxzZTsKKyAgICBmb3IgKHZhciBzIGluIHJlc3VsdCkKKyAgICAg
ICAgc2F3VGhpbmdzID0gdHJ1ZTsKKyAgICBpZiAoc2F3VGhpbmdzKQorICAgICAgICB0aHJvdyAi
RXJyb3I6IGFycmF5IGlzIGluIGJhZCBzdGF0ZTogIiArIHJlc3VsdDsKK30KKworZm9yICh2YXIg
aSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIHRlc3QoMCk7CisgICAgdGVzdCgxKTsKKyAg
ICB0ZXN0KDQyKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvcHV0LWJ5LWlkLXRocm93LXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3B1dC1ieS1pZC10aHJvdy10aHJvdWdoLW9wdGlt
aXplZC1jb2RlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3NTQxYmE5NjMyZTRlZjg5NjlmZTg2NDUyMTEyNjc3
Yzc5ZDE2NzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL3B1dC1ieS1pZC10aHJvdy10aHJvdWdoLW9wdGltaXplZC1jb2RlLmpzCkBAIC0wLDAg
KzEsMzMgQEAKK2Z1bmN0aW9uIGZvbyhvKSB7CisgICAgInVzZSBzdHJpY3QiOworICAgIG8uZiA9
IDQyOworfQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsg
KytpKSB7CisgICAgdmFyIG8gPSB7fTsKKyAgICBmb28obyk7CisgICAgaWYgKG8uZiAhPSA0MikK
KyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgby5mOworICAgIG8gPSB7Zjoy
M307CisgICAgZm9vKG8pOworICAgIGlmIChvLmYgIT0gNDIpCisgICAgICAgIHRocm93ICJFcnJv
cjogYmFkIHJlc3VsdDogIiArIG8uZjsKKyAgICBvID0ge2c6MTJ9OworICAgIGZvbyhvKTsKKyAg
ICBpZiAoby5mICE9IDQyKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyBv
LmY7Cit9CisKK3ZhciBkaWRUaHJvdzsKK3RyeSB7CisgICAgdmFyIG8gPSB7fTsKKyAgICBPYmpl
Y3QuZnJlZXplKG8pOworICAgIGZvbyhvKTsKK30gY2F0Y2ggKGUpIHsKKyAgICBkaWRUaHJvdyA9
IGU7Cit9CisKK2lmICghZGlkVGhyb3cgfHwgZGlkVGhyb3cudG9TdHJpbmcoKS5pbmRleE9mKCJU
eXBlRXJyb3I6IikgIT0gMCkKKyAgICB0aHJvdyAiRXJyb3I6IGRpZG4ndCB0aHJvdyBvciB0aHJl
dyB3cm9uZyBleGNlcHRpb246ICIgKyBkaWRUaHJvdzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvcmVjdXJzZS1pbmZpbml0ZWx5LW9uLWdldHRlci5qcyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvcmVjdXJzZS1pbmZpbml0ZWx5LW9u
LWdldHRlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTBiZThiNDJmNzA4MTBmZTExYThjMzk3NmI4NzQ3YzFk
YzhiNDdhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9yZWN1cnNlLWluZmluaXRlbHktb24tZ2V0dGVyLmpzCkBAIC0wLDAgKzEsMTkgQEAKK2Zv
ciAodmFyIGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICB2YXIgbyA9IHt9OworICAgIG8uX19k
ZWZpbmVHZXR0ZXJfXygiZiIsIGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1cm4gby5mOworICAg
IH0pOworICAgIHZhciBkaWRUaHJvdzsKKyAgICB2YXIgcmVzdWx0OworICAgIHJlc3VsdCA9ICJu
b3Qgc2V0IjsKKyAgICB0cnkgeworICAgICAgICByZXN1bHQgPSBvLmY7CisgICAgfSBjYXRjaCAo
ZSkgeworICAgICAgICBkaWRUaHJvdyA9IGU7CisgICAgfQorICAgIGlmIChyZXN1bHQgIT0gIm5v
dCBzZXQiKQorICAgICAgICB0aHJvdyAiRGlkIHNldCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAg
aWYgKCFkaWRUaHJvdyB8fCBkaWRUaHJvdy50b1N0cmluZygpLmluZGV4T2YoIlJhbmdlRXJyb3Ii
KSAhPSAwKQorICAgICAgICB0aHJvdyAiQmFkIGV4Y2VwdGlvbjogIiArIGRpZFRocm93OworfQor
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3JlcGVhdGVk
LWFyaXR5LWNoZWNrLWZhaWwuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L3JlcGVhdGVkLWFyaXR5LWNoZWNrLWZhaWwuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM4YzQ4ZjczMDJhYzA5
YTAwODQzYWIxM2IyYWFlMjgwYTVkYTY1YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvcmVwZWF0ZWQtYXJpdHktY2hlY2stZmFpbC5qcwpAQCAt
MCwwICsxLDggQEAKK2Z1bmN0aW9uIGJhcihhLGIsYyxkLGUsZixnLGgsaSxqLGspIHsKK30KKwor
bm9JbmxpbmUoYmFyKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDAwMDsgKytpKQorICAg
IGJhcigpOworCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L3J1bnRpbWUtdGhyb3ctdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS5qcyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvcnVudGltZS10aHJvdy10aHJvdWdoLW9wdGltaXplZC1jb2Rl
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjFkOWRmMWRkZmJjNTI3ZjcwN2FjNzJmYjBkNTM2MDhkZDZiNmYxOTgK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3J1
bnRpbWUtdGhyb3ctdGhyb3VnaC1vcHRpbWl6ZWQtY29kZS5qcwpAQCAtMCwwICsxLDMzIEBACitm
dW5jdGlvbiBmb28oYSwgcykgeworICAgIHJldHVybiBhW3NdICsgMTsKK30KKwordmFyIHNob3Vs
ZFRocm93ID0gZmFsc2U7CitmdW5jdGlvbiBiYXIoKSB7CisgICAgaWYgKHNob3VsZFRocm93KQor
ICAgICAgICB0aHJvdyAiaGVsbG8iOworICAgIHJldHVybiA0MjsKK30KKwordmFyIGEgPSB7fTsK
K2EuX19kZWZpbmVHZXR0ZXJfXygiYmFyIiwgYmFyKTsKKworbm9JbmxpbmUoZm9vKTsKK25vSW5s
aW5lKGJhcik7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2YXIg
cmVzdWx0ID0gZm9vKGEsICJiYXIiKTsKKyAgICBpZiAocmVzdWx0ICE9IDQzKQorICAgICAgICB0
aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKK3ZhciBkaWRUaHJvdzsK
K3RyeSB7CisgICAgc2hvdWxkVGhyb3cgPSB0cnVlOworICAgIGZvbyhhLCAiYmFyIik7Cit9IGNh
dGNoIChlKSB7CisgICAgZGlkVGhyb3cgPSBlOworfQorCitpZiAoZGlkVGhyb3cgIT0gImhlbGxv
IikKKyAgICB0aHJvdyAiRXJyb3I6IGRpZG4ndCB0aHJvdyBvciB0aHJldyB3cm9uZyBleGNlcHRp
b246ICIgKyBkaWRUaHJvdzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3Mvc2ltcGxlLXBvbHl2YXJpYW50LWNhbGwtaW5saW5pbmctZXhhbXBsZS5qcyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvc2ltcGxlLXBvbHl2YXJpYW50LWNhbGwt
aW5saW5pbmctZXhhbXBsZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzNiMjc2Y2FjYjhlNGE3MzRhYjIzYjQy
Yjg2MmY1NjVkOGY0ZTAzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9zaW1wbGUtcG9seXZhcmlhbnQtY2FsbC1pbmxpbmluZy1leGFtcGxlLmpz
CkBAIC0wLDAgKzEsMzIgQEAKK2Z1bmN0aW9uIGZvbyhiYXopIHsKKyAgICByZXR1cm4gYmFyKGJh
eik7Cit9CisKK2Z1bmN0aW9uIGZ1enooYmF6KSB7CisgICAgcmV0dXJuIGJhcihiYXopOworfQor
CitmdW5jdGlvbiBiYXIoYmF6KSB7CisgICAgcmV0dXJuIGJheigpOworfQorCitmdW5jdGlvbiBi
YXoxKCkgeworICAgIHJldHVybiA0MjsKK30KKworZnVuY3Rpb24gYmF6MigpIHsKKyAgICByZXR1
cm4gMjQ7Cit9CisKK25vSW5saW5lKGZvbyk7Citub0lubGluZShmdXp6KTsKKworZm9yICh2YXIg
aSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIHZhciByZXN1bHQgPSBmb28oYmF6MSk7Cisg
ICAgaWYgKHJlc3VsdCAhPSA0MikKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAi
ICsgcmVzdWx0OworICAgIHZhciByZXN1bHQgPSBmdXp6KGJhejIpOworICAgIGlmIChyZXN1bHQg
IT0gMjQpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30K
KwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zaW1wbGUt
cG9seXZhcmlhbnQtZ2V0LWJ5LWlkLWlubGluaW5nLWV4YW1wbGUuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL3NpbXBsZS1wb2x5dmFyaWFudC1nZXQtYnktaWQtaW5saW5p
bmctZXhhbXBsZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NTRhYjA5YzczMDg0MGZlZjFiN2QwZTU4ZGE4Mjk2
ODE0MmM1ZDhmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9zaW1wbGUtcG9seXZhcmlhbnQtZ2V0LWJ5LWlkLWlubGluaW5nLWV4YW1wbGUuanMK
QEAgLTAsMCArMSwyNCBAQAorZnVuY3Rpb24gZm9vKG8pIHsKKyAgICByZXR1cm4gYmFyKG8pOwor
fQorCitmdW5jdGlvbiBmdXp6KG8pIHsKKyAgICByZXR1cm4gYmFyKG8pOworfQorCitmdW5jdGlv
biBiYXIobykgeworICAgIHJldHVybiBvLmY7Cit9CisKK25vSW5saW5lKGZvbyk7Citub0lubGlu
ZShmdXp6KTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIHZhciBy
ZXN1bHQgPSBmb28oe2Y6NDJ9KTsKKyAgICBpZiAocmVzdWx0ICE9IDQyKQorICAgICAgICB0aHJv
dyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgdmFyIHJlc3VsdCA9IGZ1enoo
e2c6MjMsIGY6MjR9KTsKKyAgICBpZiAocmVzdWx0ICE9IDI0KQorICAgICAgICB0aHJvdyAiRXJy
b3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvc2ltcGxlLXBvbHl2YXJpYW50LXB1dC1ieS1pZC1pbmxp
bmluZy1leGFtcGxlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zaW1w
bGUtcG9seXZhcmlhbnQtcHV0LWJ5LWlkLWlubGluaW5nLWV4YW1wbGUuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OGViNjI3MmY3ZWU4ZmY0OTc5Nzg5MzkyNWQ5MmM5N2FkN2I1NzQxNQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvc2ltcGxlLXBvbHl2YXJpYW50
LXB1dC1ieS1pZC1pbmxpbmluZy1leGFtcGxlLmpzCkBAIC0wLDAgKzEsMjYgQEAKK2Z1bmN0aW9u
IGZvbyhvKSB7CisgICAgYmFyKG8pOworfQorCitmdW5jdGlvbiBmdXp6KG8pIHsKKyAgICBiYXIo
byk7Cit9CisKK2Z1bmN0aW9uIGJhcihvKSB7CisgICAgby5mID0gNDI7Cit9CisKK25vSW5saW5l
KGZvbyk7Citub0lubGluZShmdXp6KTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsr
aSkgeworICAgIHZhciBvID0ge307CisgICAgZm9vKG8pOworICAgIGlmIChvLmYgIT0gNDIpCisg
ICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIG8uZjsKKyAgICBvID0ge2Y6MjN9
OworICAgIHZhciByZXN1bHQgPSBmdXp6KG8pOworICAgIGlmIChvLmYgIT0gNDIpCisgICAgICAg
IHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIG8uZjsKK30KKwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90aHJvdy10aHJvdWdoLW9wdGltaXplZC1j
b2RlLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90aHJvdy10aHJvdWdo
LW9wdGltaXplZC1jb2RlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmZWIyNDBlZDM3OGZhMWY4MWNhM2UwMGI1
MTdkODIwZDU1OTcxOWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL3Rocm93LXRocm91Z2gtb3B0aW1pemVkLWNvZGUuanMKQEAgLTAsMCArMSwz
MCBAQAorZnVuY3Rpb24gZm9vKGYpIHsKKyAgICByZXR1cm4gZigxKSArIDE7Cit9CisKK3ZhciBz
aG91bGRUaHJvdyA9IGZhbHNlOworZnVuY3Rpb24gYmFyKHgpIHsKKyAgICBpZiAoc2hvdWxkVGhy
b3cpCisgICAgICAgIHRocm93ICJoZWxsbyI7CisgICAgcmV0dXJuIDQyIC0geDsKK30KKworbm9J
bmxpbmUoZm9vKTsKK25vSW5saW5lKGJhcik7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAw
OyArK2kpIHsKKyAgICB2YXIgcmVzdWx0ID0gZm9vKGJhcik7CisgICAgaWYgKHJlc3VsdCAhPSA0
MikKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworfQorCit2
YXIgZGlkVGhyb3c7Cit0cnkgeworICAgIHNob3VsZFRocm93ID0gdHJ1ZTsKKyAgICBmb28oYmFy
KTsKK30gY2F0Y2ggKGUpIHsKKyAgICBkaWRUaHJvdyA9IGU7Cit9CisKK2lmIChkaWRUaHJvdyAh
PSAiaGVsbG8iKQorICAgIHRocm93ICJFcnJvcjogZGlkbid0IHRocm93IG9yIHRocmV3IHdyb25n
IGV4Y2VwdGlvbjogIiArIGRpZFRocm93OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy90by1zdHJpbmctb24tb2JqZWN0LW9yLXN0cmluZy5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvdG8tc3RyaW5nLW9uLW9iamVjdC1vci1zdHJp
bmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDM2MzhjMTRjZjFlZDY3MTU0MzE3YWY4YWRhYTBhMGU4ZmVjNzE2
ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
dG8tc3RyaW5nLW9uLW9iamVjdC1vci1zdHJpbmcuanMKQEAgLTAsMCArMSwyNyBAQAorZnVuY3Rp
b24gRm9vKCkgeyB9CisKK0Zvby5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0
dXJuICJoZWxsbyIgfTsKKworZnVuY3Rpb24gZm9vKG8pIHsKKyAgICByZXR1cm4gU3RyaW5nKG8p
OworfQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwMDsgKytp
KSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbyhuZXcgRm9vKCkpOworICAgIGlmICh0eXBlb2YgcmVz
dWx0ICE9ICJzdHJpbmciKSB7CisgICAgICAgIGRlc2NyaWJlKHJlc3VsdCk7CisgICAgICAgIHRo
cm93ICJFcnJvcjogcmVzdWx0IGlzbid0IGEgc3RyaW5nIjsKKyAgICB9CisgICAgaWYgKHJlc3Vs
dCAhPSAiaGVsbG8iKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1
bHQ7CisgICAgCisgICAgcmVzdWx0ID0gZm9vKCJ3b3JsZCIpOworICAgIGlmICh0eXBlb2YgcmVz
dWx0ICE9ICJzdHJpbmciKSB7CisgICAgICAgIGRlc2NyaWJlKHJlc3VsdCk7CisgICAgICAgIHRo
cm93ICJFcnJvcjogcmVzdWx0IGlzbid0IGEgc3RyaW5nIjsKKyAgICB9CisgICAgaWYgKHJlc3Vs
dCAhPSAid29ybGQiKQorICAgICAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1
bHQ7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3Rv
LXN0cmluZy1vbi1vYmplY3QuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L3RvLXN0cmluZy1vbi1vYmplY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBhODlhNGM0MzM1ZDdiM2UxZGUz
ZDRlZDNjYjg2NWI5YTBlMDU3NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvdG8tc3RyaW5nLW9uLW9iamVjdC5qcwpAQCAtMCwwICsxLDE5IEBA
CitmdW5jdGlvbiBGb28oKSB7IH0KKworRm9vLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9u
KCkgeyByZXR1cm4gImhlbGxvIiB9OworCitmdW5jdGlvbiBmb28obykgeworICAgIHJldHVybiBT
dHJpbmcobyk7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAw
MDAwOyArK2kpIHsKKyAgICB2YXIgcmVzdWx0ID0gZm9vKG5ldyBGb28oKSk7CisgICAgaWYgKHR5
cGVvZiByZXN1bHQgIT0gInN0cmluZyIpIHsKKyAgICAgICAgZGVzY3JpYmUocmVzdWx0KTsKKyAg
ICAgICAgdGhyb3cgIkVycm9yOiByZXN1bHQgaXNuJ3QgYSBzdHJpbmciOworICAgIH0KKyAgICBp
ZiAocmVzdWx0ICE9ICJoZWxsbyIpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDog
IiArIHJlc3VsdDsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvdG8tc3RyaW5nLW9uLXN0cmluZy1vYmplY3QuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL3RvLXN0cmluZy1vbi1zdHJpbmctb2JqZWN0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU0NDM1ZTVhYWMxYjRlNDMzYzAxOTNmYjM3MzFmNzc4ZGUxODIyNTIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RvLXN0cmluZy1vbi1zdHJp
bmctb2JqZWN0LmpzCkBAIC0wLDAgKzEsMTUgQEAKK2Z1bmN0aW9uIGZvbyhvKSB7CisgICAgcmV0
dXJuIFN0cmluZyhvKTsKK30KKworbm9JbmxpbmUoZm9vKTsKKworZm9yICh2YXIgaSA9IDA7IGkg
PCAxMDAwMDA7ICsraSkgeworICAgIHZhciByZXN1bHQgPSBmb28obmV3IFN0cmluZygiaGVsbG8i
KSk7CisgICAgaWYgKHR5cGVvZiByZXN1bHQgIT0gInN0cmluZyIpIHsKKyAgICAgICAgZGVzY3Jp
YmUocmVzdWx0KTsKKyAgICAgICAgdGhyb3cgIkVycm9yOiByZXN1bHQgaXNuJ3QgYSBzdHJpbmci
OworICAgIH0KKyAgICBpZiAocmVzdWx0ICE9ICJoZWxsbyIpCisgICAgICAgIHRocm93ICJFcnJv
cjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvdG8tc3RyaW5nLW9uLXN0cmluZy1vci1zdHJpbmctb2JqZWN0
LXRoZW4tb2JqZWN0LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90by1z
dHJpbmctb24tc3RyaW5nLW9yLXN0cmluZy1vYmplY3QtdGhlbi1vYmplY3QuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOGViMDQwYjc4YTFmNmMyNDdiNzhmYWY4NWY1YWE1N2QzM2Y5MDE5YgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvdG8tc3RyaW5nLW9uLXN0
cmluZy1vci1zdHJpbmctb2JqZWN0LXRoZW4tb2JqZWN0LmpzCkBAIC0wLDAgKzEsMzUgQEAKK2Z1
bmN0aW9uIGZvbyhvKSB7CisgICAgcmV0dXJuIFN0cmluZyhvKTsKK30KKworbm9JbmxpbmUoZm9v
KTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgeworICAgIHZhciByZXN1bHQg
PSBmb28obmV3IFN0cmluZygiaGVsbG8iKSk7CisgICAgaWYgKHR5cGVvZiByZXN1bHQgIT0gInN0
cmluZyIpIHsKKyAgICAgICAgZGVzY3JpYmUocmVzdWx0KTsKKyAgICAgICAgdGhyb3cgIkVycm9y
OiByZXN1bHQgaXNuJ3QgYSBzdHJpbmciOworICAgIH0KKyAgICBpZiAocmVzdWx0ICE9ICJoZWxs
byIpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKKyAgICAK
KyAgICByZXN1bHQgPSBmb28oIndvcmxkIik7CisgICAgaWYgKHR5cGVvZiByZXN1bHQgIT0gInN0
cmluZyIpIHsKKyAgICAgICAgZGVzY3JpYmUocmVzdWx0KTsKKyAgICAgICAgdGhyb3cgIkVycm9y
OiByZXN1bHQgaXNuJ3QgYSBzdHJpbmciOworICAgIH0KKyAgICBpZiAocmVzdWx0ICE9ICJ3b3Js
ZCIpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiArIHJlc3VsdDsKK30KKwor
ZnVuY3Rpb24gRm9vKCkgeyB9CisKK0Zvby5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbigp
IHsgcmV0dXJuICJoZWxsbyIgfTsKKwordmFyIHJlc3VsdCA9IGZvbyhuZXcgRm9vKCkpOworaWYg
KHR5cGVvZiByZXN1bHQgIT0gInN0cmluZyIpIHsKKyAgICBkZXNjcmliZShyZXN1bHQpOworICAg
IHRocm93ICJFcnJvcjogcmVzdWx0IGlzbid0IGEgc3RyaW5nIjsKK30KK2lmIChyZXN1bHQgIT0g
ImhlbGxvIikKKyAgICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RvLXN0cmluZy1vbi1z
dHJpbmctb3Itc3RyaW5nLW9iamVjdC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvdG8tc3RyaW5nLW9uLXN0cmluZy1vci1zdHJpbmctb2JqZWN0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjVhNWRlOTZmNDdkYzEwNTc1MmVkMDIzNDM0MTRhOWRiNzg3ODI2NGIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RvLXN0cmluZy1vbi1zdHJp
bmctb3Itc3RyaW5nLW9iamVjdC5qcwpAQCAtMCwwICsxLDIzIEBACitmdW5jdGlvbiBmb28obykg
eworICAgIHJldHVybiBTdHJpbmcobyk7Cit9CisKK25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFy
IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2YXIgcmVzdWx0ID0gZm9vKG5ldyBTdHJp
bmcoImhlbGxvIikpOworICAgIGlmICh0eXBlb2YgcmVzdWx0ICE9ICJzdHJpbmciKSB7CisgICAg
ICAgIGRlc2NyaWJlKHJlc3VsdCk7CisgICAgICAgIHRocm93ICJFcnJvcjogcmVzdWx0IGlzbid0
IGEgc3RyaW5nIjsKKyAgICB9CisgICAgaWYgKHJlc3VsdCAhPSAiaGVsbG8iKQorICAgICAgICB0
aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgCisgICAgcmVzdWx0ID0g
Zm9vKCJ3b3JsZCIpOworICAgIGlmICh0eXBlb2YgcmVzdWx0ICE9ICJzdHJpbmciKSB7CisgICAg
ICAgIGRlc2NyaWJlKHJlc3VsdCk7CisgICAgICAgIHRocm93ICJFcnJvcjogcmVzdWx0IGlzbid0
IGEgc3RyaW5nIjsKKyAgICB9CisgICAgaWYgKHJlc3VsdCAhPSAid29ybGQiKQorICAgICAgICB0
aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7Cit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RvLXN0cmluZy1vbi12YWx1ZS1vci1zdHJp
bmcuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RvLXN0cmluZy1vbi12
YWx1ZS1vci1zdHJpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGNlZDZjMDgzYTRjOGNhMzg1OWU3ZjdhZmY3
MDFjYThjZTRkZDI2YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvdG8tc3RyaW5nLW9uLXZhbHVlLW9yLXN0cmluZy5qcwpAQCAtMCwwICsxLDIz
IEBACitmdW5jdGlvbiBmb28obykgeworICAgIHJldHVybiBTdHJpbmcobyk7Cit9CisKK25vSW5s
aW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKKyAgICB2YXIg
cmVzdWx0ID0gZm9vKDQyKTsKKyAgICBpZiAodHlwZW9mIHJlc3VsdCAhPSAic3RyaW5nIikgewor
ICAgICAgICBkZXNjcmliZShyZXN1bHQpOworICAgICAgICB0aHJvdyAiRXJyb3I6IHJlc3VsdCBp
c24ndCBhIHN0cmluZyI7CisgICAgfQorICAgIGlmIChyZXN1bHQgIT0gIjQyIikKKyAgICAgICAg
dGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworICAgIAorICAgIHJlc3VsdCA9
IGZvbygid29ybGQiKTsKKyAgICBpZiAodHlwZW9mIHJlc3VsdCAhPSAic3RyaW5nIikgeworICAg
ICAgICBkZXNjcmliZShyZXN1bHQpOworICAgICAgICB0aHJvdyAiRXJyb3I6IHJlc3VsdCBpc24n
dCBhIHN0cmluZyI7CisgICAgfQorICAgIGlmIChyZXN1bHQgIT0gIndvcmxkIikKKyAgICAgICAg
dGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0OworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90by1zdHJpbmctb24tdmFsdWUuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3RvLXN0cmluZy1vbi12YWx1ZS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40MDhlNWJhNGM5ZWQxZTA2ODUwOWJjMzU1ZDBmZmE2ZjVkNGM3NDRjCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90by1zdHJp
bmctb24tdmFsdWUuanMKQEAgLTAsMCArMSwxNSBAQAorZnVuY3Rpb24gZm9vKG8pIHsKKyAgICBy
ZXR1cm4gU3RyaW5nKG8pOworfQorCitub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsg
aSA8IDEwMDAwMDsgKytpKSB7CisgICAgdmFyIHJlc3VsdCA9IGZvbyg0Mik7CisgICAgaWYgKHR5
cGVvZiByZXN1bHQgIT0gInN0cmluZyIpIHsKKyAgICAgICAgZGVzY3JpYmUocmVzdWx0KTsKKyAg
ICAgICAgdGhyb3cgIkVycm9yOiByZXN1bHQgaXNuJ3QgYSBzdHJpbmciOworICAgIH0KKyAgICBp
ZiAocmVzdWx0ICE9ICI0MiIpCisgICAgICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogIiAr
IHJlc3VsdDsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0JhZ1RvSGFzaE1hcC5oIGIv
U291cmNlL1dURi93dGYvQmFnVG9IYXNoTWFwLmgKaW5kZXggYzFiZTdmZjk1MTA3YTNhMWY0NDUz
ZjQ4N2ZlOTMzYmYwMzRhNzZkYy4uNTM5Nzk1ZmRlMWY1NzcxMjY2MjFkNzRjMTNhNmYyZjU2NGE3
NTg3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQmFnVG9IYXNoTWFwLmgKKysrIGIvU291
cmNlL1dURi93dGYvQmFnVG9IYXNoTWFwLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDggKzMyLDggQEAKIAogbmFtZXNwYWNlIFdU
RiB7CiAKLXRlbXBsYXRlPHR5cGVuYW1lIEVsZW1lbnRUeXBlLCB0eXBlbmFtZSBLZXlUeXBlLCB0
eXBlbmFtZSBLZXlHZXR0ZXJGdW5jdG9yPgotdm9pZCB0b0hhc2hNYXAoQmFnPEVsZW1lbnRUeXBl
PiYgYmFnLCBLZXlHZXR0ZXJGdW5jdG9yJiBnZXRLZXksIEhhc2hNYXA8S2V5VHlwZSwgRWxlbWVu
dFR5cGUqPiYgcmVzdWx0KQordGVtcGxhdGU8dHlwZW5hbWUgRWxlbWVudFR5cGUsIHR5cGVuYW1l
IEtleVR5cGUsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1lIEtleUdldHRlckZ1bmN0b3I+Cit2
b2lkIHRvSGFzaE1hcChCYWc8RWxlbWVudFR5cGU+JiBiYWcsIEtleUdldHRlckZ1bmN0b3ImIGdl
dEtleSwgSGFzaE1hcDxLZXlUeXBlLCBFbGVtZW50VHlwZSosIEhhc2hBcmc+JiByZXN1bHQpCiB7
CiAgICAgZm9yICh0eXBlbmFtZSBCYWc8RWxlbWVudFR5cGU+OjppdGVyYXRvciBpdGVyID0gYmFn
LmJlZ2luKCk7ICEhaXRlcjsgKytpdGVyKSB7CiAgICAgICAgIEVsZW1lbnRUeXBlKiBlbGVtZW50
ID0gKml0ZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNl
L1dURi93dGYvUGxhdGZvcm0uaAppbmRleCBhYTBhYzU3MzQxNGIzMjhkOWE1OWE3NTkxMzhmYmQ0
MWM0ZmYwYjJlLi43MmNhNjRhZTNkMzc3YTg1OWU3MzIxOGM4NWRhZjEwMjQxYjkxNTkwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtLmgKQEAgLTY2MCwxMiArNjYwLDEyIEBACiAjZGVmaW5lIEVOQUJMRV9KSVQgMAogI2Vu
ZGlmCiAKLS8qIFRoZSBKSVQgaXMgZW5hYmxlZCBieSBkZWZhdWx0IG9uIGFsbCB4ODYsIHg4Ni02
NCwgQVJNICYgTUlQUyBwbGF0Zm9ybXMgZXhjZXB0IFdpbjY0LiAqLworLyogVGhlIEpJVCBpcyBl
bmFibGVkIGJ5IGRlZmF1bHQgb24gYWxsIHg4NiwgeDg2LTY0LCBBUk0gJiBNSVBTIHBsYXRmb3Jt
cyBleGNlcHQgV2luZG93cy4gKi8KICNpZiAhZGVmaW5lZChFTkFCTEVfSklUKSBcCiAgICAgJiYg
KENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShBUk02NCkgfHwgQ1BV
KE1JUFMpKSBcCiAgICAgJiYgKE9TKERBUldJTikgfHwgIUNPTVBJTEVSKEdDQykgfHwgR0NDX1ZF
UlNJT05fQVRfTEVBU1QoNCwgMSwgMCkpIFwKICAgICAmJiAhT1MoV0lOQ0UpIFwKLSAgICAmJiAh
KE9TKFdJTkRPV1MpICYmIENQVShYODZfNjQpKQorICAgICYmICFPUyhXSU5ET1dTKQogI2RlZmlu
ZSBFTkFCTEVfSklUIDEKICNlbmRpZgogCkBAIC04MzUsMTQgKzgzNSw2IEBACiAjZW5kaWYKICNl
bmRpZgogCi0vKiBGSVhNRTogV2UgY3VycmVudGx5IHVuY29uZGl0aW9uYWxseSB1c2Ugc3BlYXJh
dGUgc3RhY2tzLiBXaGVuIHdlIHN3aXRjaCB0byB1c2luZyB0aGUKLSAgIEMgc3RhY2sgZm9yIEpT
IGZyYW1lcywgd2UnbGwgbmVlZCB0byBtYWtlIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uYWwgb24g
RU5BQkxFKExMSU5UX0NMT09QKQotICAgb25seS4KLSovCi0jaWYgRU5BQkxFKExMSU5UX0NMT09Q
KSB8fCAxCi0jZGVmaW5lIFdURl9VU0VfU0VQQVJBVEVfQ19BTkRfSlNfU1RBQ0sgMQotI2VuZGlm
Ci0KIC8qIFBpY2sgd2hpY2ggYWxsb2NhdG9yIHRvIHVzZTsgd2Ugb25seSBuZWVkIGFuIGV4ZWN1
dGFibGUgYWxsb2NhdG9yIGlmIHRoZSBhc3NlbWJsZXIgaXMgY29tcGlsZWQgaW4uCiAgICBPbiB4
ODYtNjQgd2UgdXNlIGEgc2luZ2xlIGZpeGVkIG1tYXAsIG9uIG90aGVyIHBsYXRmb3JtcyB3ZSBt
bWFwIG9uIGRlbWFuZC4gKi8KICNpZiBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvU3RhY2tCb3VuZHMuaCBiL1NvdXJjZS9XVEYvd3RmL1N0YWNrQm91bmRzLmgK
aW5kZXggY2EzOTc0OTZmMDQ5MTVkZDQ5YTk4MTEwZjQzYjIwOTQ4NDQ2MTc4YS4uNzg3NjdjYzI4
NDY2NDQ4ZGM2MDA1OTNhN2I1MjMzNjZlYzY1Yjk2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvU3RhY2tCb3VuZHMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TdGFja0JvdW5kcy5oCkBAIC0y
Nyw2ICsyNyw4IEBACiAjaWZuZGVmIFN0YWNrQm91bmRzX2gKICNkZWZpbmUgU3RhY2tCb3VuZHNf
aAogCisjaW5jbHVkZSA8YWxnb3JpdGhtPgorCiBuYW1lc3BhY2UgV1RGIHsKIAogY2xhc3MgU3Rh
Y2tCb3VuZHMgewpAQCAtNjcsNiArNjksMTcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Y2hhcio+KG1fYm91bmQpIC0gbWluQXZhaWxhYmxlRGVsdGE7CiAgICAgfQogCisg
ICAgdm9pZCogcmVjdXJzaW9uTGltaXQoc2l6ZV90IGhvc3Rab25lU2l6ZSwgdm9pZCogZGVzaXJl
ZExpbWl0KSBjb25zdAorICAgIHsKKyAgICAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOworICAgICAg
ICBpZiAoaXNHcm93aW5nRG93bndhcmQoKSkgeworICAgICAgICAgICAgY2hhciogZW5kT2ZTdGFj
a1dpdGhIb3N0Wm9uZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KG1fYm91bmQpICsgaG9zdFpv
bmVTaXplOworICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bWF4KGRlc2lyZWRMaW1pdCwgcmVpbnRl
cnByZXRfY2FzdDx2b2lkKj4oZW5kT2ZTdGFja1dpdGhIb3N0Wm9uZSkpOworICAgICAgICB9Cisg
ICAgICAgIGNoYXIqIGVuZE9mU3RhY2tXaXRoSG9zdFpvbmUgPSByZWludGVycHJldF9jYXN0PGNo
YXIqPihtX2JvdW5kKSAtIGhvc3Rab25lU2l6ZTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWluKGRl
c2lyZWRMaW1pdCwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZW5kT2ZTdGFja1dpdGhIb3N0Wm9u
ZSkpOworICAgIH0KKwogICAgIGJvb2wgaXNHcm93aW5nRG93bndhcmQoKSBjb25zdAogICAgIHsK
ICAgICAgICAgQVNTRVJUKG1fb3JpZ2luICYmIG1fYm91bmQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL0NvbnRlbnRTZWFyY2hVdGlsaXRp
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9Db250ZW50
U2VhcmNoVXRpbGl0aWVzLmgKaW5kZXggOGVlZTEyNTYxYmI3NTdkMjg0MzIzNWUyMmFkNjcxNTVh
MWU5MjhlNS4uMDdjNDdjYWEwZmEwODUxY2M0M2U1ZmIyODFiNjhiMjA0MTEzZTM1YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvaW5zcGVjdG9yL0NvbnRlbnRT
ZWFyY2hVdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9p
bnNwZWN0b3IvQ29udGVudFNlYXJjaFV0aWxpdGllcy5oCkBAIC0yLDMgKzIsNyBAQAogI2RlZmlu
ZSBXZWJDb3JlX0ZXRF9Db250ZW50U2VhcmNoVXRpbGl0aWVzX2gKICNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9Db250ZW50U2VhcmNoVXRpbGl0aWVzLmg+CiAjZW5kaWYKKyNpZm5kZWYgV2ViQ29y
ZV9GV0RfQ29udGVudFNlYXJjaFV0aWxpdGllc19oCisjZGVmaW5lIFdlYkNvcmVfRldEX0NvbnRl
bnRTZWFyY2hVdGlsaXRpZXNfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvbnRlbnRTZWFy
Y2hVdGlsaXRpZXMuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2Fy
ZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdEJyZWFrcG9pbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L0ZvcndhcmRpbmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHRCcmVha3BvaW50LmgKaW5kZXggMTlk
ZTQyNTczYmI5ZDI0YTE5OGI1MGRiZDA5MmI2OWI1ZWE5OThiYy4uMzYyMGE0ZjBiYzIxNjEyMjE0
MWQwYmVkMTBmNjcxYzcwODEzYzA1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRm9yd2Fy
ZGluZ0hlYWRlcnMvaW5zcGVjdG9yL1NjcmlwdEJyZWFrcG9pbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0QnJlYWtwb2ludC5oCkBAIC0y
LDMgKzIsNyBAQAogI2RlZmluZSBXZWJDb3JlX0ZXRF9TY3JpcHRCcmVha3BvaW50X2gKICNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRCcmVha3BvaW50Lmg+CiAjZW5kaWYKKyNpZm5kZWYg
V2ViQ29yZV9GV0RfU2NyaXB0QnJlYWtwb2ludF9oCisjZGVmaW5lIFdlYkNvcmVfRldEX1Njcmlw
dEJyZWFrcG9pbnRfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdEJyZWFrcG9pbnQu
aD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMv
aW5zcGVjdG9yL1NjcmlwdERlYnVnTGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRp
bmdIZWFkZXJzL2luc3BlY3Rvci9TY3JpcHREZWJ1Z0xpc3RlbmVyLmgKaW5kZXggZWM2ZmVhN2Uy
NzAyODljOTJmYTA3NzYyMzFhM2M4Zjc4NWEzMjc1MS4uMTlkZDcwY2ViYmI3NGYxNzdkOTQ1MmE2
MTQxODQxYTE3Mzc0MGNhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hl
YWRlcnMvaW5zcGVjdG9yL1NjcmlwdERlYnVnTGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Gb3J3YXJkaW5nSGVhZGVycy9pbnNwZWN0b3IvU2NyaXB0RGVidWdMaXN0ZW5lci5oCkBAIC0y
LDMgKzIsNyBAQAogI2RlZmluZSBXZWJDb3JlX0ZXRF9TY3JpcHREZWJ1Z0xpc3RlbmVyX2gKICNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHREZWJ1Z0xpc3RlbmVyLmg+CiAjZW5kaWYKKyNp
Zm5kZWYgV2ViQ29yZV9GV0RfU2NyaXB0RGVidWdMaXN0ZW5lcl9oCisjZGVmaW5lIFdlYkNvcmVf
RldEX1NjcmlwdERlYnVnTGlzdGVuZXJfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1Njcmlw
dERlYnVnTGlzdGVuZXIuaD4KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRm9y
d2FyZGluZ0hlYWRlcnMvcnVudGltZS9FcnJvckhhbmRsaW5nU2NvcGUuaCBiL1NvdXJjZS9XZWJD
b3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvRXJyb3JIYW5kbGluZ1Njb3BlLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjZmZDJmZTAxZDFhNWQzMTE4NmE0MmMwNTNmZDMzMjY2Y2ZlNTQyMAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3J1bnRpbWUvRXJyb3JI
YW5kbGluZ1Njb3BlLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX0Vycm9y
SGFuZGxpbmdTY29wZV9oCisjZGVmaW5lIFdlYkNvcmVfRldEX0Vycm9ySGFuZGxpbmdTY29wZV9o
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRXJyb3JIYW5kbGluZ1Njb3BlLmg+CisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3lhcnIvUmVndWxh
ckV4cHJlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3lhcnIvUmVn
dWxhckV4cHJlc3Npb24uaAppbmRleCAwOTlmYTQ2NDZmYTlkNzI1ZWFkOTI0NmM5ZjRmNzhkOWNh
NDdhMjJiLi5iYzI5M2UwNDk2NjZlOTFjNzE4MTJiZDhiNTFkZWQxYjRkOGFkZWZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy95YXJyL1JlZ3VsYXJFeHByZXNz
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMveWFyci9SZWd1bGFy
RXhwcmVzc2lvbi5oCkBAIC0yLDMgKzIsNyBAQAogI2RlZmluZSBXZWJDb3JlX0ZXRF9SZWd1bGFy
RXhwcmVzc2lvbl9oCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUmVndWxhckV4cHJlc3Npb24u
aD4KICNlbmRpZgorI2lmbmRlZiBXZWJDb3JlX0ZXRF9SZWd1bGFyRXhwcmVzc2lvbl9oCisjZGVm
aW5lIFdlYkNvcmVfRldEX1JlZ3VsYXJFeHByZXNzaW9uX2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9SZWd1bGFyRXhwcmVzc2lvbi5oPgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCBhMTM4NWI4YThkNjQ4MTAwN2I0NTk0
NzI5ZTdlMmE0OTIzNTMwYjRjLi42YTU3YmNmMjkwYjRhZjJlZGU5ZDY5Mzk0ZmI0MGVlZWFmNDU2
Nzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKQEAgLTE4NTAyLDYgKzE4NTAyLDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZv
cndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcQ29uc3RydWN0RGF0YS5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cRm9yd2FyZGluZ0hlYWRlcnNccnVudGltZVxEYXRlSW5zdGFuY2UuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVc
RXJyb3IuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJz
XHJ1bnRpbWVcRXJyb3JIYW5kbGluZ1Njb3BlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEVycm9yUHJvdG90eXBlLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEV4Y2VwdGlv
bkhlbHBlcnMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFk
ZXJzXHJ1bnRpbWVcRXhlY3V0YWJsZS5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDkwMDY3MjFjMjlj
Nzc0NWM1YTc2MTQzZDI3ZTBlNDIxMTEyYmU4MWMuLmJkYjAyODJhOTgyY2UyZDk0NmI1NGM2YWU2
MWRlODEyNDYzNWQ2NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTEyNDkyLDYgKzEyNDkyLDkgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWVcRXJyb3Iu
aCI+CiAgICAgICA8RmlsdGVyPkZvcndhcmRpbmdIZWFkZXJzXHJ1bnRpbWU8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXEZvcndhcmRpbmdIZWFk
ZXJzXHJ1bnRpbWVcRXJyb3JIYW5kbGluZ1Njb3BlLmgiPgorICAgICAgPEZpbHRlcj5Gb3J3YXJk
aW5nSGVhZGVyc1xydW50aW1lPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lXEVycm9yUHJvdG90eXBl
LmgiPgogICAgICAgPEZpbHRlcj5Gb3J3YXJkaW5nSGVhZGVyc1xydW50aW1lPC9GaWx0ZXI+CiAg
ICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5n
LmNwcAppbmRleCBhMzJkMzMyYWQyZTlhN2I4ZDE1ZjMwYmU0YTk1Njk5OTljZjk4ZWRhLi41ODIy
MWQwMGU0OTZiN2EwOTdlMDk4MmI0NDM5MWMwM2IyOGY0YzJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRl
IDxpbnRlcnByZXRlci9JbnRlcnByZXRlci5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvRGF0ZUluc3Rh
bmNlLmg+CiAjaW5jbHVkZSA8cnVudGltZS9FcnJvci5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvRXJy
b3JIYW5kbGluZ1Njb3BlLmg+CiAjaW5jbHVkZSA8cnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmg+
CiAjaW5jbHVkZSA8cnVudGltZS9KU0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRy
YXMuaD4KQEAgLTE1NCw3ICsxNTUsNyBAQCB2b2lkIHJlcG9ydEV4Y2VwdGlvbihFeGVjU3RhdGUq
IGV4ZWMsIEpTVmFsdWUgZXhjZXB0aW9uLCBDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcgogICAgIGlm
IChpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24oZXhjZXB0aW9uKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgSW50ZXJwcmV0ZXI6OkVycm9ySGFuZGxpbmdNb2RlIG1vZGUoZXhlYyk7Cisg
ICAgRXJyb3JIYW5kbGluZ1Njb3BlIGVycm9yU2NvcGUoZXhlYy0+dm0oKSk7CiAKICAgICBSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2soY3JlYXRlU2NyaXB0Q2FsbFN0YWNrRnJvbUV4
Y2VwdGlvbihleGVjLCBleGNlcHRpb24sIFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6
ZVRvQ2FwdHVyZSkpOwogICAgIGV4ZWMtPmNsZWFyRXhjZXB0aW9uKCk7CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzZiYmZiYjA1ZGYxNWQzZjE5
Y2ZkMzgyYjU4MTI1NzUxYzNjNDBlMy4uMTg2ODY5OTM5MTliZjk0NDUzNjRjZDg5NDYzZGQ2Yzdl
MTZjN2M1OSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDE0LTAxLTI4ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVu
YmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgTWVyZ2UgdGhlIGpzQ1N0YWNrIGJyYW5jaAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NzYzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL2Rp
c3BsYXktcHJvZmlsZXItb3V0cHV0OgorICAgICAgICAqIFNjcmlwdHMvcnVuLWpzYy1zdHJlc3Mt
dGVzdHM6CisKIDIwMTQtMDEtMjggIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBBZGQgQVBJIHRvIGFsbG93IHNldHRpbmcgdGhlIHBy
b2Nlc3MgbW9kZWwgaW4gV2ViS2l0V2ViQ29udGV4dApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy9kaXNwbGF5LXByb2ZpbGVyLW91dHB1dCBiL1Rvb2xzL1NjcmlwdHMvZGlzcGxheS1wcm9maWxl
ci1vdXRwdXQKaW5kZXggOTZhZjNmNTljZjRmOWM3YTljYjFmYjJlMzg2MjkyMTdjZTQ4YmJiMy4u
OGIyNjIyYTlmZTBiMWM0YWIyZDI5ZjgyYmI3MTBkMjg0ZDRlODYzYSAxMDA3NTUKLS0tIGEvVG9v
bHMvU2NyaXB0cy9kaXNwbGF5LXByb2ZpbGVyLW91dHB1dAorKysgYi9Ub29scy9TY3JpcHRzL2Rp
c3BsYXktcHJvZmlsZXItb3V0cHV0CkBAIC0xLDYgKzEsNiBAQAogIyEvdXNyL2Jpbi9lbnYgcnVi
eQogCi0jIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQzNyw3ICs0
MzcsMTEgQEAgJGNvbXBpbGF0aW9ucyA9ICRqc29uWyJjb21waWxhdGlvbnMiXS5tYXAgewogICAg
IHwgc3ViSnNvbiB8CiAgICAgQ29tcGlsYXRpb24ubmV3KHN1Ykpzb24pCiB9Ci0kZW5naW5lcyA9
IFsiQmFzZWxpbmUiLCAiREZHIl0KKyRlbmdpbmVzID0gWyJCYXNlbGluZSIsICJERkciLCAiRlRM
IiwgIkZUTEZvck9TUkVudHJ5Il0KKworZGVmIGlzT3B0aW1pemluZyhlbmdpbmUpCisgICAgZW5n
aW5lID09ICJERkciIG9yIGVuZ2luZSA9PSAiRlRMIiBvciBlbmdpbmUgPT0gIkZUTEZvck9TUkVu
dHJ5IgorZW5kCiAKICRzaG93Q291bnRzID0gdHJ1ZQogJHNvcnRNb2RlID0gOnRpbWUKQEAgLTU3
Miw5ICs1NzYsOSBAQCBkZWYgc3VtbWFyeShtb2RlKQogICAgIGlmIG1vZGUgPT0gOmZ1bGwKICAg
ICAgICAgcHJpbnQoIiAiICsgKCIgIiAqIGluc3RydWN0aW9uQ291bnRDb2xzKSkKICAgICBlbmQK
LSAgICBwcmludCgiICIgKyBjZW50ZXIoIkJhc2UvREZHIiwgY291bnRDb2xzKSkKKyAgICBwcmlu
dCgiICIgKyBjZW50ZXIoIkJhc2UvREZHL0ZUTC9GVExPU1IiLCBjb3VudENvbHMpKQogICAgIGlm
IG1vZGUgPT0gOmZ1bGwKLSAgICAgICAgcHJpbnQoIiAiICsgY2VudGVyKCJCYXNlL0RGRyIsIG1h
Y2hpbmVDb3VudENvbHMpKQorICAgICAgICBwcmludCgiICIgKyBjZW50ZXIoIkJhc2UvREZHL0ZU
TC9GVExPU1IiLCBtYWNoaW5lQ291bnRDb2xzKSkKICAgICAgICAgcHJpbnQoIiAiICsgKCIgIiAq
IGNvbXBpbGF0aW9uc0NvbHMpKQogICAgICAgICBwcmludCgiICIgKyBjZW50ZXIoIlNyYy9Ub3Rh
bCIsIGlubGluZXNDb2xzKSkKICAgICAgICAgcHJpbnQoIiAiICsgKCIgIiAqIGV4aXRDb3VudENv
bHMpKQpAQCAtNjc0LDcgKzY3OCw3IEBAIGRlZiBleGVjdXRlQ29tbWFuZCgqY29tbWFuZEFycmF5
KQogICAgICAgICAgICAgaWYgJHNob3dDb3VudHMKICAgICAgICAgICAgICAgICBwdXRzKGNlbnRl
cigiU291cmNlIENvdW50cyIsIGNvdW50Q29scykgKyAiICIgKyBjZW50ZXIoIk1hY2hpbmUgQ291
bnRzIiwgbWFjaGluZUNvbHMpICsKICAgICAgICAgICAgICAgICAgICAgICgiICIgKiBwYWQpICsg
Y2VudGVyKCJCeXRlY29kZSBmb3IgI3tieXRlY29kZXN9Iiwgc2NyZWVuV2lkdGggLSBwYWQgLSBj
b3VudENvbHMgLSAxIC0gbWFjaGluZUNvbHMpKQotICAgICAgICAgICAgICAgIHB1dHMoY2VudGVy
KCJCYXNlL0RGRyIsIGNvdW50Q29scykgKyAiICIgKyBjZW50ZXIoIkJhc2UvREZHIiwgY291bnRD
b2xzKSkKKyAgICAgICAgICAgICAgICBwdXRzKGNlbnRlcigiQmFzZS9ERkcvRlRML0ZUTE9TUiIs
IGNvdW50Q29scykgKyAiICIgKyBjZW50ZXIoIkJhc2UvREZHL0ZUTC9GVExPU1IiLCBjb3VudENv
bHMpKQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHB1dHMoIkJ5dGVjb2RlIGZv
ciAje2J5dGVjb2Rlc306IikKICAgICAgICAgICAgIGVuZApAQCAtODk0LDcgKzg5OCw3IEBAIGRl
ZiBleGVjdXRlQ29tbWFuZCgqY29tbWFuZEFycmF5KQogICAgICAgICAgICAgcHV0cygiQ29tcGls
YXRpb24gI3tjb21waWxhdGlvbn06IikKICAgICAgICAgICAgIGlmICRzaG93Q291bnRzCiAgICAg
ICAgICAgICAgICAgcHV0cyhjZW50ZXIoIkFjdHVhbCBDb3VudHMiLCBhY3R1YWxDb3VudENvbHMp
ICsgIiAiICsgY2VudGVyKCJTb3VyY2UgQ291bnRzIiwgc291cmNlQ291bnRDb2xzKSArICIgIiAr
IGNlbnRlcigiRGlzYXNzZW1ibHkgaW4gI3tjb21waWxhdGlvbi5lbmdpbmV9Iiwgc2NyZWVuV2lk
dGggLSAxIC0gc291cmNlQ291bnRDb2xzIC0gMSAtIGFjdHVhbENvdW50Q29scykpCi0gICAgICAg
ICAgICAgICAgcHV0cygoIiAiICogYWN0dWFsQ291bnRDb2xzKSArICIgIiArIGNlbnRlcigiQmFz
ZS9ERkciLCBzb3VyY2VDb3VudENvbHMpKQorICAgICAgICAgICAgICAgIHB1dHMoKCIgIiAqIGFj
dHVhbENvdW50Q29scykgKyAiICIgKyBjZW50ZXIoIkJhc2UvREZHL0ZUTC9GVExPU1IiLCBzb3Vy
Y2VDb3VudENvbHMpKQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHB1dHMoIkRp
c2Fzc2VtYmx5IGluICN7Y29tcGlsYXRpb24uZW5naW5lfSIpCiAgICAgICAgICAgICBlbmQKQEAg
LTkwNSwxMSArOTA5LDE1IEBAIGRlZiBleGVjdXRlQ29tbWFuZCgqY29tbWFuZEFycmF5KQogICAg
ICAgICAgICAgICAgIHwgZGVzY3JpcHRpb24gfAogICAgICAgICAgICAgICAgICMgRklYTUU6IFdl
IHNob3VsZCBoYXZlIGEgYmV0dGVyIHdheSBvZiBkZXRlY3RpbmcgdGhpbmdzIGxpa2UgQ291bnRF
eGVjdXRpb24gbm9kZXMKICAgICAgICAgICAgICAgICAjIGFuZCBzbG93IHBhdGggZW50cmllcyBp
biB0aGUgYmFzZWxpbmUgSklULgotICAgICAgICAgICAgICAgIGlmIGRlc2NyaXB0aW9uLmRlc2Ny
aXB0aW9uID1+IC9Db3VudEV4ZWN1dGlvblwoLyBhbmQgY29tcGlsYXRpb24uZW5naW5lID09ICJE
RkciCisgICAgICAgICAgICAgICAgaWYgZGVzY3JpcHRpb24uZGVzY3JpcHRpb24gPX4gL0NvdW50
RXhlY3V0aW9uXCgvIGFuZCBpc09wdGltaXppbmcoY29tcGlsYXRpb24uZW5naW5lKQogICAgICAg
ICAgICAgICAgICAgICBzaG91bGRTaG93ID0gZmFsc2UKICAgICAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgIHNob3VsZFNob3cgPSB0cnVlCiAgICAgICAgICAgICAgICAgZW5k
CisgICAgICAgICAgICAgICAgaWYgbm90IGRlc2NyaXB0aW9uLm9yaWdpbi5lbXB0eT8gYW5kIG5v
dCBkZXNjcmlwdGlvbi5vcmlnaW5bLTFdCisgICAgICAgICAgICAgICAgICAgIHAgZGVzY3JpcHRp
b24ub3JpZ2luCisgICAgICAgICAgICAgICAgICAgIHAgZGVzY3JpcHRpb24uZGVzY3JpcHRpb24K
KyAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgICBpZiBkZXNjcmlwdGlvbi5vcmln
aW4uZW1wdHk/IG9yIG5vdCBkZXNjcmlwdGlvbi5vcmlnaW5bLTFdLnNob3VsZEhhdmVDb3VudHM/
IG9yIChjb21waWxhdGlvbi5lbmdpbmUgPT0gIkJhc2VsaW5lIiBhbmQgZGVzY3JpcHRpb24uZGVz
Y3JpcHRpb24gPX4gL15ccypcKFNcKS8pCiAgICAgICAgICAgICAgICAgICAgIGFjdHVhbENvdW50
c1N0cmluZyA9ICIiCiAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUNvdW50c1N0cmluZyA9ICIi
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzIGIvVG9vbHMv
U2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwppbmRleCAxMTQ3Yzc3ZDA3NWQ2NDU4NmE5NTJl
OTljN2VkZGI1MGM1YzlmYjBhLi5hMmM0NWVhODNmMDJjMzZkOTdlMGU2ZDFkYzQ0YTk1MTI4Y2Ri
YjAxIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCisrKyBi
L1Rvb2xzL1NjcmlwdHMvcnVuLWpzYy1zdHJlc3MtdGVzdHMKQEAgLTE4MCw2ICsxODAsOCBAQCAk
bnVtRmFpbHVyZXMgPSAwCiAKIEVBR0VSX09QVElPTlMgPSBbIi0tdGhyZXNob2xkRm9ySklUQWZ0
ZXJXYXJtVXA9MTAiLCAiLS10aHJlc2hvbGRGb3JKSVRTb29uPTEwIiwgIi0tdGhyZXNob2xkRm9y
T3B0aW1pemVBZnRlcldhcm1VcD0yMCIsICItLXRocmVzaG9sZEZvck9wdGltaXplQWZ0ZXJMb25n
V2FybVVwPTIwIiwgIi0tdGhyZXNob2xkRm9yT3B0aW1pemVTb29uPTIwIiwgIi0tdGhyZXNob2xk
Rm9yRlRMT3B0aW1pemVBZnRlcldhcm1VcD0yMCIsICItLXRocmVzaG9sZEZvckZUTE9wdGltaXpl
U29vbj0yMCJdCiAKK0ZUTF9PUFRJT05TID0gWyItLXVzZUV4cGVyaW1lbnRhbEZUTD10cnVlIiwg
Ii0tZW5hYmxlRXhwZXJpbWVudGFsRlRMQ292ZXJhZ2U9dHJ1ZSJdCisKICRydW5saXN0ID0gW10K
IAogZGVmIGZyYW1ld29ya0Zyb21KU0NQYXRoKGpzY1BhdGgpCkBAIC01MzIsMTkgKzUzNCwxOSBA
QCBkZWYgcnVuTm9DSklUVmFsaWRhdGVQaGFzZXMKIGVuZAogCiBkZWYgcnVuRGVmYXVsdEZUTAot
ICAgIHJ1bigiZGVmYXVsdC1mdGwiLCAiLS11c2VFeHBlcmltZW50YWxGVEw9dHJ1ZSIpCisgICAg
cnVuKCJkZWZhdWx0LWZ0bCIsICpGVExfT1BUSU9OUykKIGVuZAogCiBkZWYgcnVuRlRMTm9DSklU
Ci0gICAgcnVuKCJmdGwtbm8tY2ppdCIsICItLWVuYWJsZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAi
LS11c2VFeHBlcmltZW50YWxGVEw9dHJ1ZSIpCisgICAgcnVuKCJmdGwtbm8tY2ppdCIsICItLWVu
YWJsZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAqRlRMX09QVElPTlMpCiBlbmQKIAogZGVmIHJ1bkZU
TE5vQ0pJVFZhbGlkYXRlCi0gICAgcnVuKCJmdGwtbm8tY2ppdC12YWxpZGF0ZSIsICItLWVuYWJs
ZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAiLS11c2VFeHBlcmltZW50YWxGVEw9dHJ1ZSIsICItLXZh
bGlkYXRlR3JhcGg9dHJ1ZSIpCisgICAgcnVuKCJmdGwtbm8tY2ppdC12YWxpZGF0ZSIsICItLWVu
YWJsZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAiLS12YWxpZGF0ZUdyYXBoPXRydWUiLCAqRlRMX09Q
VElPTlMpCiBlbmQKIAogZGVmIHJ1bkZUTE5vQ0pJVE9TUlZhbGlkYXRpb24KLSAgICBydW4oImZ0
bC1uby1jaml0LW9zci12YWxpZGF0aW9uIiwgIi0tZW5hYmxlQ29uY3VycmVudEpJVD1mYWxzZSIs
ICItLXVzZUV4cGVyaW1lbnRhbEZUTD10cnVlIiwgIi0tdmFsaWRhdGVGVExPU1JFeGl0TGl2ZW5l
c3M9dHJ1ZSIpCisgICAgcnVuKCJmdGwtbm8tY2ppdC1vc3ItdmFsaWRhdGlvbiIsICItLWVuYWJs
ZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAiLS12YWxpZGF0ZUZUTE9TUkV4aXRMaXZlbmVzcz10cnVl
IiwgKkZUTF9PUFRJT05TKQogZW5kCiAKIGRlZiBydW5ERkdFYWdlcgpAQCAtNTU2LDE1ICs1NTgs
MTUgQEAgZGVmIHJ1bkRGR0VhZ2VyTm9DSklUVmFsaWRhdGUKIGVuZAogCiBkZWYgcnVuRlRMRWFn
ZXIKLSAgICBydW4oImZ0bC1lYWdlciIsICItLXVzZUV4cGVyaW1lbnRhbEZUTD10cnVlIiwgKkVB
R0VSX09QVElPTlMpCisgICAgcnVuKCJmdGwtZWFnZXIiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJf
T1BUSU9OUykpCiBlbmQKIAogZGVmIHJ1bkZUTEVhZ2VyTm9DSklUVmFsaWRhdGUKLSAgICBydW4o
ImZ0bC1lYWdlci1uby1jaml0IiwgIi0tdXNlRXhwZXJpbWVudGFsRlRMPXRydWUiLCAiLS1lbmFi
bGVDb25jdXJyZW50SklUPWZhbHNlIiwgIi0tdmFsaWRhdGVHcmFwaD10cnVlIiwgKkVBR0VSX09Q
VElPTlMpCisgICAgcnVuKCJmdGwtZWFnZXItbm8tY2ppdCIsICItLWVuYWJsZUNvbmN1cnJlbnRK
SVQ9ZmFsc2UiLCAiLS12YWxpZGF0ZUdyYXBoPXRydWUiLCAqKEZUTF9PUFRJT05TICsgRUFHRVJf
T1BUSU9OUykpCiBlbmQKIAogZGVmIHJ1bkZUTEVhZ2VyTm9DSklUT1NSVmFsaWRhdGlvbgotICAg
IHJ1bigiZnRsLWVhZ2VyLW5vLWNqaXQtb3NyLXZhbGlkYXRpb24iLCAiLS11c2VFeHBlcmltZW50
YWxGVEw9dHJ1ZSIsICItLWVuYWJsZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAiLS12YWxpZGF0ZUZU
TE9TUkV4aXRMaXZlbmVzcz10cnVlIiwgKkVBR0VSX09QVElPTlMpCisgICAgcnVuKCJmdGwtZWFn
ZXItbm8tY2ppdC1vc3ItdmFsaWRhdGlvbiIsICItLWVuYWJsZUNvbmN1cnJlbnRKSVQ9ZmFsc2Ui
LCAiLS12YWxpZGF0ZUZUTE9TUkV4aXRMaXZlbmVzcz10cnVlIiwgKihGVExfT1BUSU9OUyArIEVB
R0VSX09QVElPTlMpKQogZW5kCiAKIGRlZiBydW5BbHdheXNUcmlnZ2VyQ29weVBoYXNlCkBAIC02
NDYsMTMgKzY0OCwzNCBAQCBkZWYgcnVuTGF5b3V0VGVzdERGR0VhZ2VyTm9DSklUCiAgICAgcnVu
TGF5b3V0VGVzdCgiZGZnLWVhZ2VyLW5vLWNqaXQiLCAiLS1lbmFibGVDb25jdXJyZW50SklUPWZh
bHNlIiwgKkVBR0VSX09QVElPTlMpCiBlbmQKIAotZGVmIGRlZmF1bHRSdW5MYXlvdXRUZXN0Citk
ZWYgcnVuTGF5b3V0VGVzdERlZmF1bHRGVEwKKyAgICBydW5MYXlvdXRUZXN0KCJmdGwiLCAiLS10
ZXN0VGhlRlRMPXRydWUiLCAqRlRMX09QVElPTlMpCitlbmQKKworZGVmIHJ1bkxheW91dFRlc3RG
VExOb0NKSVQKKyAgICBydW5MYXlvdXRUZXN0KCJmdGwtbm8tY2ppdCIsICItLXRlc3RUaGVGVEw9
dHJ1ZSIsICItLWVuYWJsZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAqRlRMX09QVElPTlMpCitlbmQK
KworZGVmIHJ1bkxheW91dFRlc3RGVExFYWdlck5vQ0pJVAorICAgIHJ1bkxheW91dFRlc3QoImZ0
bC1lYWdlci1uby1jaml0IiwgIi0tdGVzdFRoZUZUTD10cnVlIiwgIi0tZW5hYmxlQ29uY3VycmVu
dEpJVD1mYWxzZSIsICooRlRMX09QVElPTlMgKyBFQUdFUl9PUFRJT05TKSkKK2VuZAorCitkZWYg
bm9GVExSdW5MYXlvdXRUZXN0CiAgICAgcnVuTGF5b3V0VGVzdERlZmF1bHQKICAgICBydW5MYXlv
dXRUZXN0Tm9MTEludAogICAgIHJ1bkxheW91dFRlc3ROb0NKSVQKICAgICBydW5MYXlvdXRUZXN0
REZHRWFnZXJOb0NKSVQKIGVuZAogCitkZWYgZGVmYXVsdFJ1bkxheW91dFRlc3QKKyAgICBub0ZU
TFJ1bkxheW91dFRlc3QKKyAgICBpZiAkZW5hYmxlRlRMCisgICAgICAgIHJ1bkxheW91dFRlc3RE
ZWZhdWx0RlRMCisgICAgICAgIHJ1bkxheW91dFRlc3RGVExOb0NKSVQKKyAgICAgICAgcnVuTGF5
b3V0VGVzdEZUTEVhZ2VyTm9DSklUCisgICAgZW5kCitlbmQKKwogZGVmIHByZXBhcmVFeHRyYVJl
bGF0aXZlRmlsZXMoZXh0cmFGaWxlcywgZGVzdGluYXRpb24pCiAgICAgRGlyLmNoZGlyKCRvdXRw
dXREaXIpIHsKICAgICAgICAgZXh0cmFGaWxlcy5lYWNoIHsKQEAgLTcwNiw2ICs3MjksMTAgQEAg
ZGVmIHJ1bk1vemlsbGFUZXN0RGVmYXVsdChtb2RlLCAqZXh0cmFGaWxlcykKICAgICBydW5Nb3pp
bGxhVGVzdChuaWwsIG1vZGUsIGV4dHJhRmlsZXMpCiBlbmQKIAorZGVmIHJ1bk1vemlsbGFUZXN0
RGVmYXVsdEZUTChtb2RlLCAqZXh0cmFGaWxlcykKKyAgICBydW5Nb3ppbGxhVGVzdCgiZnRsIiwg
bW9kZSwgZXh0cmFGaWxlcywgKkZUTF9PUFRJT05TKQorZW5kCisKIGRlZiBydW5Nb3ppbGxhVGVz
dExMSW50KG1vZGUsICpleHRyYUZpbGVzKQogICAgIHJ1bk1vemlsbGFUZXN0KCJsbGludCIsIG1v
ZGUsIGV4dHJhRmlsZXMsICItLXVzZUpJVD1mYWxzZSIpCiBlbmQKQEAgLTcxOCwxMSArNzQ1LDE5
IEBAIGRlZiBydW5Nb3ppbGxhVGVzdERGR0VhZ2VyTm9DSklUVmFsaWRhdGVQaGFzZXMobW9kZSwg
KmV4dHJhRmlsZXMpCiAgICAgcnVuTW96aWxsYVRlc3QoImRmZy1lYWdlci1uby1jaml0LXZhbGlk
YXRlLXBoYXNlcyIsIG1vZGUsIGV4dHJhRmlsZXMsICItLWVuYWJsZUNvbmN1cnJlbnRKSVQ9ZmFs
c2UiLCAiLS12YWxpZGF0ZUJ5dGVjb2RlPXRydWUiLCAiLS12YWxpZGF0ZUdyYXBoQXRFYWNoUGhh
c2U9dHJ1ZSIsICpFQUdFUl9PUFRJT05TKQogZW5kCiAKK2RlZiBydW5Nb3ppbGxhVGVzdEZUTEVh
Z2VyTm9DSklUVmFsaWRhdGVQaGFzZXMobW9kZSwgKmV4dHJhRmlsZXMpCisgICAgcnVuTW96aWxs
YVRlc3QoImZ0bC1lYWdlci1uby1jaml0LXZhbGlkYXRlLXBoYXNlcyIsIG1vZGUsIGV4dHJhRmls
ZXMsICItLWVuYWJsZUNvbmN1cnJlbnRKSVQ9ZmFsc2UiLCAiLS12YWxpZGF0ZUJ5dGVjb2RlPXRy
dWUiLCAiLS12YWxpZGF0ZUdyYXBoQXRFYWNoUGhhc2U9dHJ1ZSIsICooRlRMX09QVElPTlMgKyBF
QUdFUl9PUFRJT05TKSkKK2VuZAorCiBkZWYgZGVmYXVsdFJ1bk1vemlsbGFUZXN0KG1vZGUsICpl
eHRyYUZpbGVzKQogICAgIHJ1bk1vemlsbGFUZXN0RGVmYXVsdChtb2RlLCAqZXh0cmFGaWxlcykK
ICAgICBydW5Nb3ppbGxhVGVzdExMSW50KG1vZGUsICpleHRyYUZpbGVzKQogICAgIHJ1bk1vemls
bGFUZXN0QmFzZWxpbmVKSVQobW9kZSwgKmV4dHJhRmlsZXMpCiAgICAgcnVuTW96aWxsYVRlc3RE
RkdFYWdlck5vQ0pJVFZhbGlkYXRlUGhhc2VzKG1vZGUsICpleHRyYUZpbGVzKQorICAgIGlmICRl
bmFibGVGVEwKKyAgICAgICAgcnVuTW96aWxsYVRlc3REZWZhdWx0RlRMKG1vZGUsICpleHRyYUZp
bGVzKQorICAgICAgICBydW5Nb3ppbGxhVGVzdEZUTEVhZ2VyTm9DSklUVmFsaWRhdGVQaGFzZXMo
bW9kZSwgKmV4dHJhRmlsZXMpCisgICAgZW5kCiBlbmQKIAogZGVmIHNraXAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1MjYw
MmI5ODgwYTQ0ZjM5OGY5YmVhZTk1ZjI3ZDIyODFhMGY2NGJjLi42YzU4ZWFkY2NlOTQ4MWY4NTFk
OGE2ZGVjZmM1Zjg0NmQxMjVjNjk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTQtMDEtMjgg
IE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KKworICAgICAgICBNZXJn
ZSB0aGUganNDU3RhY2sgYnJhbmNoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjc3NjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGpzL2xhcmdlLWV4cHJlc3Npb25zLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBqcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9zdGVwYW5vdl9jb250YWluZXIuanM6CisgICAg
ICAgICoganMvcmVncmVzcy9zdGVwYW5vdl9jb250YWluZXItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGpzL3JlZ3Jlc3Mvc3RlcGFub3ZfY29udGFpbmVyLmh0bWw6CisgICAgICAgICoganMvc2Ny
aXB0LXRlc3RzL2RmZy1hZGQtbm90LW51bWJlci5qczoKKyAgICAgICAgKiBqcy9zY3JpcHQtdGVz
dHMvbGFyZ2UtZXhwcmVzc2lvbnMuanM6CisKIDIwMTQtMDEtMjcgIEJyaWFuIEJ1cmcgIDxiYnVy
Z0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY2xlYW4gdXAgaW5pdGlhbGl6
YXRpb24gb2YgbWFuYWdlcnMgYW5kIG9ic2VydmVycyBpbiBJbnNwZWN0b3JUZXN0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9sYXJnZS1leHByZXNzaW9ucy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9qcy9sYXJnZS1leHByZXNzaW9ucy1leHBlY3RlZC50eHQKaW5kZXggODc5ZTI2NDll
ZjRjOTlkYjU2ZjJlZmZmMThjMzEyZTI4NzJhYmM1NC4uYWEwNjE0M2I3NDJmOTI2MWM4MDRmMGY2
MzM5MjFmNWY5ZTc1OGVjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvbGFyZ2UtZXhwcmVz
c2lvbnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pzL2xhcmdlLWV4cHJlc3Npb25z
LWV4cGVjdGVkLnR4dApAQCAtNSw3ICs1LDcgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAog
UEFTUyBldmFsKHJlcGVhdGVkRXhwcmVzc2lvbigibGV0dGVyQSIsICIrIiwgMTAwKSkgaXMgcmVw
ZWF0ZWRTdHJpbmcoImEiLCAxMDApCiBQQVNTIGV2YWwocmVwZWF0ZWRFeHByZXNzaW9uKCJsZXR0
ZXJBIiwgIisiLCAxMDAwKSkgaXMgcmVwZWF0ZWRTdHJpbmcoImEiLCAxMDAwKQotUEFTUyBldmFs
KHJlcGVhdGVkRXhwcmVzc2lvbigibGV0dGVyQSIsICIrIiwgMTAwMDApKSBpcyByZXBlYXRlZFN0
cmluZygiYSIsIDEwMDAwKQorUEFTUyBldmFsKHJlcGVhdGVkRXhwcmVzc2lvbigibGV0dGVyQSIs
ICIrIiwgMTAwMDApKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IE91dCBvZiBtZW1vcnkuCiBQQVNT
IGV2YWwocmVwZWF0ZWRFeHByZXNzaW9uKCJsZXR0ZXJBIiwgIisiLCAxMDAwMDApKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IE91dCBvZiBtZW1vcnkuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3Rz
L3N0ZXBhbm92X2NvbnRhaW5lci5qcyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRl
c3RzL3N0ZXBhbm92X2NvbnRhaW5lci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MzI4MzcxMDhkNzgwZGYyYWNiMjEwY2U3N2E0ODA2MWNjMGJiYzNhYi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Nj
cmlwdC10ZXN0cy9zdGVwYW5vdl9jb250YWluZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSw2NDA0
ICswLDAgQEAKLS8vQCBzbG93IQotLy9AIHJ1bkRlZmF1bHQKLS8vQCBydW5EZWZhdWx0RlRMIGlm
ICRlbmFibGVGVEwKLQotLy8gTm90ZTogRm9yIG1heGltdW0tc3BlZWQgY29kZSwgc2VlICJPcHRp
bWl6aW5nIENvZGUiIG9uIHRoZSBFbXNjcmlwdGVuIHdpa2ksIGh0dHBzOi8vZ2l0aHViLmNvbS9r
cmlwa2VuL2Vtc2NyaXB0ZW4vd2lraS9PcHRpbWl6aW5nLUNvZGUKLS8vIE5vdGU6IFNvbWUgRW1z
Y3JpcHRlbiBzZXR0aW5ncyBtYXkgbGltaXQgdGhlIHNwZWVkIG9mIHRoZSBnZW5lcmF0ZWQgY29k
ZS4KLS8vIFRoZSBNb2R1bGUgb2JqZWN0OiBPdXIgaW50ZXJmYWNlIHRvIHRoZSBvdXRzaWRlIHdv
cmxkLiBXZSBpbXBvcnQKLS8vIGFuZCBleHBvcnQgdmFsdWVzIG9uIGl0LCBhbmQgZG8gdGhlIHdv
cmsgdG8gZ2V0IHRoYXQgdGhyb3VnaAotLy8gY2xvc3VyZSBjb21waWxlciBpZiBuZWNlc3Nhcnku
IFRoZXJlIGFyZSB2YXJpb3VzIHdheXMgTW9kdWxlIGNhbiBiZSB1c2VkOgotLy8gMS4gTm90IGRl
ZmluZWQuIFdlIGNyZWF0ZSBpdCBoZXJlCi0vLyAyLiBBIGZ1bmN0aW9uIHBhcmFtZXRlciwgZnVu
Y3Rpb24oTW9kdWxlKSB7IC4uZ2VuZXJhdGVkIGNvZGUuLiB9Ci0vLyAzLiBwcmUtcnVuIGFwcGVu
ZGVkIGl0LCB2YXIgTW9kdWxlID0ge307IC4uZ2VuZXJhdGVkIGNvZGUuLgotLy8gNC4gRXh0ZXJu
YWwgc2NyaXB0IHRhZyBkZWZpbmVzIHZhciBNb2R1bGUuCi0vLyBXZSBuZWVkIHRvIGRvIGFuIGV2
YWwgaW4gb3JkZXIgdG8gaGFuZGxlIHRoZSBjbG9zdXJlIGNvbXBpbGVyCi0vLyBjYXNlLCB3aGVy
ZSB0aGlzIGNvZGUgaGVyZSBpcyBtaW5pZmllZCBidXQgTW9kdWxlIHdhcyBkZWZpbmVkCi0vLyBl
bHNld2hlcmUgKGUuZy4gY2FzZSA0IGFib3ZlKS4gV2UgYWxzbyBuZWVkIHRvIGNoZWNrIGlmIE1v
ZHVsZQotLy8gYWxyZWFkeSBleGlzdHMgKGUuZy4gY2FzZSAzIGFib3ZlKS4KLS8vIE5vdGUgdGhh
dCBpZiB5b3Ugd2FudCB0byBydW4gY2xvc3VyZSwgYW5kIGFsc28gdG8gdXNlIE1vZHVsZQotLy8g
YWZ0ZXIgdGhlIGdlbmVyYXRlZCBjb2RlLCB5b3Ugd2lsbCBuZWVkIHRvIGRlZmluZSAgIHZhciBN
b2R1bGUgPSB7fTsKLS8vIGJlZm9yZSB0aGUgY29kZS4gVGhlbiB0aGF0IG9iamVjdCB3aWxsIGJl
IHVzZWQgaW4gdGhlIGNvZGUsIGFuZCB5b3UKLS8vIGNhbiBjb250aW51ZSB0byB1c2UgTW9kdWxl
IGFmdGVyd2FyZHMgYXMgd2VsbC4KLXZhciBNb2R1bGU7Ci1pZiAoIU1vZHVsZSkgTW9kdWxlID0g
ZXZhbCgnKGZ1bmN0aW9uKCkgeyB0cnkgeyByZXR1cm4gTW9kdWxlIHx8IHt9IH0gY2F0Y2goZSkg
eyByZXR1cm4ge30gfSB9KSgpJyk7Ci0vLyBTb21ldGltZXMgYW4gZXhpc3RpbmcgTW9kdWxlIG9i
amVjdCBleGlzdHMgd2l0aCBwcm9wZXJ0aWVzCi0vLyBtZWFudCB0byBvdmVyd3JpdGUgdGhlIGRl
ZmF1bHQgbW9kdWxlIGZ1bmN0aW9uYWxpdHkuIEhlcmUKLS8vIHdlIGNvbGxlY3QgdGhvc2UgcHJv
cGVydGllcyBhbmQgcmVhcHBseSBfYWZ0ZXJfIHdlIGNvbmZpZ3VyZQotLy8gdGhlIGN1cnJlbnQg
ZW52aXJvbm1lbnQncyBkZWZhdWx0cyB0byBhdm9pZCBoYXZpbmcgdG8gYmUgc28KLS8vIGRlZmVu
c2l2ZSBkdXJpbmcgaW5pdGlhbGl6YXRpb24uCi12YXIgbW9kdWxlT3ZlcnJpZGVzID0ge307Ci1m
b3IgKHZhciBrZXkgaW4gTW9kdWxlKSB7Ci0gIGlmIChNb2R1bGUuaGFzT3duUHJvcGVydHkoa2V5
KSkgewotICAgIG1vZHVsZU92ZXJyaWRlc1trZXldID0gTW9kdWxlW2tleV07Ci0gIH0KLX0KLS8v
IFRoZSBlbnZpcm9ubWVudCBzZXR1cCBjb2RlIGJlbG93IGlzIGN1c3RvbWl6ZWQgdG8gdXNlIE1v
ZHVsZS4KLS8vICoqKiBFbnZpcm9ubWVudCBzZXR1cCBjb2RlICoqKgotdmFyIEVOVklST05NRU5U
X0lTX05PREUgPSB0eXBlb2YgcHJvY2VzcyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIHJlcXVpcmUg
PT09ICdmdW5jdGlvbic7Ci12YXIgRU5WSVJPTk1FTlRfSVNfV0VCID0gdHlwZW9mIHdpbmRvdyA9
PT0gJ29iamVjdCc7Ci12YXIgRU5WSVJPTk1FTlRfSVNfV09SS0VSID0gdHlwZW9mIGltcG9ydFNj
cmlwdHMgPT09ICdmdW5jdGlvbic7Ci12YXIgRU5WSVJPTk1FTlRfSVNfU0hFTEwgPSAhRU5WSVJP
Tk1FTlRfSVNfV0VCICYmICFFTlZJUk9OTUVOVF9JU19OT0RFICYmICFFTlZJUk9OTUVOVF9JU19X
T1JLRVI7Ci1pZiAoRU5WSVJPTk1FTlRfSVNfTk9ERSkgewotICAvLyBFeHBvc2UgZnVuY3Rpb25h
bGl0eSBpbiB0aGUgc2FtZSBzaW1wbGUgd2F5IHRoYXQgdGhlIHNoZWxscyB3b3JrCi0gIC8vIE5v
dGUgdGhhdCB3ZSBwb2xsdXRlIHRoZSBnbG9iYWwgbmFtZXNwYWNlIGhlcmUsIG90aGVyd2lzZSB3
ZSBicmVhayBpbiBub2RlCi0gIE1vZHVsZVsncHJpbnQnXSA9IGZ1bmN0aW9uKHgpIHsKLSAgICBw
cm9jZXNzWydzdGRvdXQnXS53cml0ZSh4ICsgJ1xuJyk7Ci0gIH07Ci0gIE1vZHVsZVsncHJpbnRF
cnInXSA9IGZ1bmN0aW9uKHgpIHsKLSAgICBwcm9jZXNzWydzdGRlcnInXS53cml0ZSh4ICsgJ1xu
Jyk7Ci0gIH07Ci0gIHZhciBub2RlRlMgPSByZXF1aXJlKCdmcycpOwotICB2YXIgbm9kZVBhdGgg
PSByZXF1aXJlKCdwYXRoJyk7Ci0gIE1vZHVsZVsncmVhZCddID0gZnVuY3Rpb24oZmlsZW5hbWUs
IGJpbmFyeSkgewotICAgIGZpbGVuYW1lID0gbm9kZVBhdGhbJ25vcm1hbGl6ZSddKGZpbGVuYW1l
KTsKLSAgICB2YXIgcmV0ID0gbm9kZUZTWydyZWFkRmlsZVN5bmMnXShmaWxlbmFtZSk7Ci0gICAg
Ly8gVGhlIHBhdGggaXMgYWJzb2x1dGUgaWYgdGhlIG5vcm1hbGl6ZWQgdmVyc2lvbiBpcyB0aGUg
c2FtZSBhcyB0aGUgcmVzb2x2ZWQuCi0gICAgaWYgKCFyZXQgJiYgZmlsZW5hbWUgIT0gbm9kZVBh
dGhbJ3Jlc29sdmUnXShmaWxlbmFtZSkpIHsKLSAgICAgIGZpbGVuYW1lID0gcGF0aC5qb2luKF9f
ZGlybmFtZSwgJy4uJywgJ3NyYycsIGZpbGVuYW1lKTsKLSAgICAgIHJldCA9IG5vZGVGU1sncmVh
ZEZpbGVTeW5jJ10oZmlsZW5hbWUpOwotICAgIH0KLSAgICBpZiAocmV0ICYmICFiaW5hcnkpIHJl
dCA9IHJldC50b1N0cmluZygpOwotICAgIHJldHVybiByZXQ7Ci0gIH07Ci0gIE1vZHVsZVsncmVh
ZEJpbmFyeSddID0gZnVuY3Rpb24oZmlsZW5hbWUpIHsgcmV0dXJuIE1vZHVsZVsncmVhZCddKGZp
bGVuYW1lLCB0cnVlKSB9OwotICBNb2R1bGVbJ2xvYWQnXSA9IGZ1bmN0aW9uKGYpIHsKLSAgICBn
bG9iYWxFdmFsKHJlYWQoZikpOwotICB9OwotICBNb2R1bGVbJ2FyZ3VtZW50cyddID0gcHJvY2Vz
c1snYXJndiddLnNsaWNlKDIpOwotICBtb2R1bGUuZXhwb3J0cyA9IE1vZHVsZTsKLX0KLWVsc2Ug
aWYgKEVOVklST05NRU5UX0lTX1NIRUxMKSB7Ci0gIE1vZHVsZVsncHJpbnQnXSA9IHByaW50Owot
ICBpZiAodHlwZW9mIHByaW50RXJyICE9ICd1bmRlZmluZWQnKSBNb2R1bGVbJ3ByaW50RXJyJ10g
PSBwcmludEVycjsgLy8gbm90IHByZXNlbnQgaW4gdjggb3Igb2xkZXIgc20KLSAgaWYgKHR5cGVv
ZiByZWFkICE9ICd1bmRlZmluZWQnKSB7Ci0gICAgTW9kdWxlWydyZWFkJ10gPSByZWFkOwotICB9
IGVsc2UgewotICAgIE1vZHVsZVsncmVhZCddID0gZnVuY3Rpb24oKSB7IHRocm93ICdubyByZWFk
KCkgYXZhaWxhYmxlIChqc2M/KScgfTsKLSAgfQotICBNb2R1bGVbJ3JlYWRCaW5hcnknXSA9IGZ1
bmN0aW9uKGYpIHsKLSAgICByZXR1cm4gcmVhZChmLCAnYmluYXJ5Jyk7Ci0gIH07Ci0gIGlmICh0
eXBlb2Ygc2NyaXB0QXJncyAhPSAndW5kZWZpbmVkJykgewotICAgIE1vZHVsZVsnYXJndW1lbnRz
J10gPSBzY3JpcHRBcmdzOwotICB9IGVsc2UgaWYgKHR5cGVvZiBhcmd1bWVudHMgIT0gJ3VuZGVm
aW5lZCcpIHsKLSAgICBNb2R1bGVbJ2FyZ3VtZW50cyddID0gYXJndW1lbnRzOwotICB9Ci0gIHRo
aXNbJ01vZHVsZSddID0gTW9kdWxlOwotfQotZWxzZSBpZiAoRU5WSVJPTk1FTlRfSVNfV0VCIHx8
IEVOVklST05NRU5UX0lTX1dPUktFUikgewotICBNb2R1bGVbJ3JlYWQnXSA9IGZ1bmN0aW9uKHVy
bCkgewotICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub3Blbign
R0VUJywgdXJsLCBmYWxzZSk7Ci0gICAgeGhyLnNlbmQobnVsbCk7Ci0gICAgcmV0dXJuIHhoci5y
ZXNwb25zZVRleHQ7Ci0gIH07Ci0gIGlmICh0eXBlb2YgYXJndW1lbnRzICE9ICd1bmRlZmluZWQn
KSB7Ci0gICAgTW9kdWxlWydhcmd1bWVudHMnXSA9IGFyZ3VtZW50czsKLSAgfQotICBpZiAoRU5W
SVJPTk1FTlRfSVNfV0VCKSB7Ci0gICAgTW9kdWxlWydwcmludCddID0gZnVuY3Rpb24oeCkgewot
ICAgICAgY29uc29sZS5sb2coeCk7Ci0gICAgfTsKLSAgICBNb2R1bGVbJ3ByaW50RXJyJ10gPSBm
dW5jdGlvbih4KSB7Ci0gICAgICBjb25zb2xlLmxvZyh4KTsKLSAgICB9OwotICAgIHRoaXNbJ01v
ZHVsZSddID0gTW9kdWxlOwotICB9IGVsc2UgaWYgKEVOVklST05NRU5UX0lTX1dPUktFUikgewot
ICAgIC8vIFdlIGNhbiBkbyB2ZXJ5IGxpdHRsZSBoZXJlLi4uCi0gICAgdmFyIFRSWV9VU0VfRFVN
UCA9IGZhbHNlOwotICAgIE1vZHVsZVsncHJpbnQnXSA9IChUUllfVVNFX0RVTVAgJiYgKHR5cGVv
ZihkdW1wKSAhPT0gInVuZGVmaW5lZCIpID8gKGZ1bmN0aW9uKHgpIHsKLSAgICAgIGR1bXAoeCk7
Ci0gICAgfSkgOiAoZnVuY3Rpb24oeCkgewotICAgICAgLy8gc2VsZi5wb3N0TWVzc2FnZSh4KTsg
Ly8gZW5hYmxlIHRoaXMgaWYgeW91IHdhbnQgc3Rkb3V0IHRvIGJlIHNlbnQgYXMgbWVzc2FnZXMK
LSAgICB9KSk7Ci0gICAgTW9kdWxlWydsb2FkJ10gPSBpbXBvcnRTY3JpcHRzOwotICB9Ci19Ci1l
bHNlIHsKLSAgLy8gVW5yZWFjaGFibGUgYmVjYXVzZSBTSEVMTCBpcyBkZXBlbmRhbnQgb24gdGhl
IG90aGVycwotICB0aHJvdyAnVW5rbm93biBydW50aW1lIGVudmlyb25tZW50LiBXaGVyZSBhcmUg
d2U/JzsKLX0KLWZ1bmN0aW9uIGdsb2JhbEV2YWwoeCkgewotICBldmFsLmNhbGwobnVsbCwgeCk7
Ci19Ci1pZiAoIU1vZHVsZVsnbG9hZCddID09ICd1bmRlZmluZWQnICYmIE1vZHVsZVsncmVhZCdd
KSB7Ci0gIE1vZHVsZVsnbG9hZCddID0gZnVuY3Rpb24oZikgewotICAgIGdsb2JhbEV2YWwoTW9k
dWxlWydyZWFkJ10oZikpOwotICB9OwotfQotaWYgKCFNb2R1bGVbJ3ByaW50J10pIHsKLSAgTW9k
dWxlWydwcmludCddID0gZnVuY3Rpb24oKXt9OwotfQotaWYgKCFNb2R1bGVbJ3ByaW50RXJyJ10p
IHsKLSAgTW9kdWxlWydwcmludEVyciddID0gTW9kdWxlWydwcmludCddOwotfQotaWYgKCFNb2R1
bGVbJ2FyZ3VtZW50cyddKSB7Ci0gIE1vZHVsZVsnYXJndW1lbnRzJ10gPSBbXTsKLX0KLS8vICoq
KiBFbnZpcm9ubWVudCBzZXR1cCBjb2RlICoqKgotLy8gQ2xvc3VyZSBoZWxwZXJzCi1Nb2R1bGUu
cHJpbnQgPSBNb2R1bGVbJ3ByaW50J107Ci1Nb2R1bGUucHJpbnRFcnIgPSBNb2R1bGVbJ3ByaW50
RXJyJ107Ci0vLyBDYWxsYmFja3MKLU1vZHVsZVsncHJlUnVuJ10gPSBbXTsKLU1vZHVsZVsncG9z
dFJ1biddID0gW107Ci0vLyBNZXJnZSBiYWNrIGluIHRoZSBvdmVycmlkZXMKLWZvciAodmFyIGtl
eSBpbiBtb2R1bGVPdmVycmlkZXMpIHsKLSAgaWYgKG1vZHVsZU92ZXJyaWRlcy5oYXNPd25Qcm9w
ZXJ0eShrZXkpKSB7Ci0gICAgTW9kdWxlW2tleV0gPSBtb2R1bGVPdmVycmlkZXNba2V5XTsKLSAg
fQotfQotLy8gPT09IEF1dG8tZ2VuZXJhdGVkIHByZWFtYmxlIGxpYnJhcnkgc3R1ZmYgPT09Ci0v
Lz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS8vIFJ1bnRpbWUgY29k
ZSBzaGFyZWQgd2l0aCBjb21waWxlcgotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci12YXIgUnVudGltZSA9IHsKLSAgc3RhY2tTYXZlOiBmdW5jdGlvbiAoKSB7Ci0g
ICAgcmV0dXJuIFNUQUNLVE9QOwotICB9LAotICBzdGFja1Jlc3RvcmU6IGZ1bmN0aW9uIChzdGFj
a1RvcCkgewotICAgIFNUQUNLVE9QID0gc3RhY2tUb3A7Ci0gIH0sCi0gIGZvcmNlQWxpZ246IGZ1
bmN0aW9uICh0YXJnZXQsIHF1YW50dW0pIHsKLSAgICBxdWFudHVtID0gcXVhbnR1bSB8fCA0Owot
ICAgIGlmIChxdWFudHVtID09IDEpIHJldHVybiB0YXJnZXQ7Ci0gICAgaWYgKGlzTnVtYmVyKHRh
cmdldCkgJiYgaXNOdW1iZXIocXVhbnR1bSkpIHsKLSAgICAgIHJldHVybiBNYXRoLmNlaWwodGFy
Z2V0L3F1YW50dW0pKnF1YW50dW07Ci0gICAgfSBlbHNlIGlmIChpc051bWJlcihxdWFudHVtKSAm
JiBpc1Bvd2VyT2ZUd28ocXVhbnR1bSkpIHsKLSAgICAgIHZhciBsb2dnID0gbG9nMihxdWFudHVt
KTsKLSAgICAgIHJldHVybiAnKCgoKCcgK3RhcmdldCArICcpKycgKyAocXVhbnR1bS0xKSArICcp
Pj4nICsgbG9nZyArICcpPDwnICsgbG9nZyArICcpJzsKLSAgICB9Ci0gICAgcmV0dXJuICdNYXRo
LmNlaWwoKCcgKyB0YXJnZXQgKyAnKS8nICsgcXVhbnR1bSArICcpKicgKyBxdWFudHVtOwotICB9
LAotICBpc051bWJlclR5cGU6IGZ1bmN0aW9uICh0eXBlKSB7Ci0gICAgcmV0dXJuIHR5cGUgaW4g
UnVudGltZS5JTlRfVFlQRVMgfHwgdHlwZSBpbiBSdW50aW1lLkZMT0FUX1RZUEVTOwotICB9LAot
ICBpc1BvaW50ZXJUeXBlOiBmdW5jdGlvbiBpc1BvaW50ZXJUeXBlKHR5cGUpIHsKLSAgcmV0dXJu
IHR5cGVbdHlwZS5sZW5ndGgtMV0gPT0gJyonOwotfSwKLSAgaXNTdHJ1Y3RUeXBlOiBmdW5jdGlv
biBpc1N0cnVjdFR5cGUodHlwZSkgewotICBpZiAoaXNQb2ludGVyVHlwZSh0eXBlKSkgcmV0dXJu
IGZhbHNlOwotICBpZiAoaXNBcnJheVR5cGUodHlwZSkpIHJldHVybiB0cnVlOwotICBpZiAoLzw/
eyA/W159XSogP30+Py8udGVzdCh0eXBlKSkgcmV0dXJuIHRydWU7IC8vIHsgaTMyLCBpOCB9IGV0
Yy4gLSBhbm9ueW1vdXMgc3RydWN0IHR5cGVzCi0gIC8vIFNlZSBjb21tZW50IGluIGlzU3RydWN0
UG9pbnRlclR5cGUoKQotICByZXR1cm4gdHlwZVswXSA9PSAnJSc7Ci19LAotICBJTlRfVFlQRVM6
IHsiaTEiOjAsImk4IjowLCJpMTYiOjAsImkzMiI6MCwiaTY0IjowfSwKLSAgRkxPQVRfVFlQRVM6
IHsiZmxvYXQiOjAsImRvdWJsZSI6MH0sCi0gIG9yNjQ6IGZ1bmN0aW9uICh4LCB5KSB7Ci0gICAg
dmFyIGwgPSAoeCB8IDApIHwgKHkgfCAwKTsKLSAgICB2YXIgaCA9IChNYXRoLnJvdW5kKHggLyA0
Mjk0OTY3Mjk2KSB8IE1hdGgucm91bmQoeSAvIDQyOTQ5NjcyOTYpKSAqIDQyOTQ5NjcyOTY7Ci0g
ICAgcmV0dXJuIGwgKyBoOwotICB9LAotICBhbmQ2NDogZnVuY3Rpb24gKHgsIHkpIHsKLSAgICB2
YXIgbCA9ICh4IHwgMCkgJiAoeSB8IDApOwotICAgIHZhciBoID0gKE1hdGgucm91bmQoeCAvIDQy
OTQ5NjcyOTYpICYgTWF0aC5yb3VuZCh5IC8gNDI5NDk2NzI5NikpICogNDI5NDk2NzI5NjsKLSAg
ICByZXR1cm4gbCArIGg7Ci0gIH0sCi0gIHhvcjY0OiBmdW5jdGlvbiAoeCwgeSkgewotICAgIHZh
ciBsID0gKHggfCAwKSBeICh5IHwgMCk7Ci0gICAgdmFyIGggPSAoTWF0aC5yb3VuZCh4IC8gNDI5
NDk2NzI5NikgXiBNYXRoLnJvdW5kKHkgLyA0Mjk0OTY3Mjk2KSkgKiA0Mjk0OTY3Mjk2OwotICAg
IHJldHVybiBsICsgaDsKLSAgfSwKLSAgZ2V0TmF0aXZlVHlwZVNpemU6IGZ1bmN0aW9uICh0eXBl
LCBxdWFudHVtU2l6ZSkgewotICAgIGlmIChSdW50aW1lLlFVQU5UVU1fU0laRSA9PSAxKSByZXR1
cm4gMTsKLSAgICB2YXIgc2l6ZSA9IHsKLSAgICAgICclaTEnOiAxLAotICAgICAgJyVpOCc6IDEs
Ci0gICAgICAnJWkxNic6IDIsCi0gICAgICAnJWkzMic6IDQsCi0gICAgICAnJWk2NCc6IDgsCi0g
ICAgICAiJWZsb2F0IjogNCwKLSAgICAgICIlZG91YmxlIjogOAotICAgIH1bJyUnK3R5cGVdOyAv
LyBhZGQgJyUnIHNpbmNlIGZsb2F0IGFuZCBkb3VibGUgY29uZnVzZSBDbG9zdXJlIGNvbXBpbGVy
IGFzIGtleXMsIGFuZCBhbHNvIHNwaWRlcm1vbmtleSBhcyBhIGNvbXBpbGVyIHdpbGwgcmVtb3Zl
ICdzIGZyb20gJ19pOCcgZXRjCi0gICAgaWYgKCFzaXplKSB7Ci0gICAgICBpZiAodHlwZS5jaGFy
QXQodHlwZS5sZW5ndGgtMSkgPT0gJyonKSB7Ci0gICAgICAgIHNpemUgPSBSdW50aW1lLlFVQU5U
VU1fU0laRTsgLy8gQSBwb2ludGVyCi0gICAgICB9IGVsc2UgaWYgKHR5cGVbMF0gPT0gJ2knKSB7
Ci0gICAgICAgIHZhciBiaXRzID0gcGFyc2VJbnQodHlwZS5zdWJzdHIoMSkpOwotICAgICAgICBh
c3NlcnQoYml0cyAlIDggPT0gMCk7Ci0gICAgICAgIHNpemUgPSBiaXRzLzg7Ci0gICAgICB9Ci0g
ICAgfQotICAgIHJldHVybiBzaXplOwotICB9LAotICBnZXROYXRpdmVGaWVsZFNpemU6IGZ1bmN0
aW9uICh0eXBlKSB7Ci0gICAgcmV0dXJuIE1hdGgubWF4KFJ1bnRpbWUuZ2V0TmF0aXZlVHlwZVNp
emUodHlwZSksIFJ1bnRpbWUuUVVBTlRVTV9TSVpFKTsKLSAgfSwKLSAgZGVkdXA6IGZ1bmN0aW9u
IGRlZHVwKGl0ZW1zLCBpZGVudCkgewotICB2YXIgc2VlbiA9IHt9OwotICBpZiAoaWRlbnQpIHsK
LSAgICByZXR1cm4gaXRlbXMuZmlsdGVyKGZ1bmN0aW9uKGl0ZW0pIHsKLSAgICAgIGlmIChzZWVu
W2l0ZW1baWRlbnRdXSkgcmV0dXJuIGZhbHNlOwotICAgICAgc2VlbltpdGVtW2lkZW50XV0gPSB0
cnVlOwotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSk7Ci0gIH0gZWxzZSB7Ci0gICAgcmV0dXJu
IGl0ZW1zLmZpbHRlcihmdW5jdGlvbihpdGVtKSB7Ci0gICAgICBpZiAoc2VlbltpdGVtXSkgcmV0
dXJuIGZhbHNlOwotICAgICAgc2VlbltpdGVtXSA9IHRydWU7Ci0gICAgICByZXR1cm4gdHJ1ZTsK
LSAgICB9KTsKLSAgfQotfSwKLSAgc2V0OiBmdW5jdGlvbiBzZXQoKSB7Ci0gIHZhciBhcmdzID0g
dHlwZW9mIGFyZ3VtZW50c1swXSA9PT0gJ29iamVjdCcgPyBhcmd1bWVudHNbMF0gOiBhcmd1bWVu
dHM7Ci0gIHZhciByZXQgPSB7fTsKLSAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsg
aSsrKSB7Ci0gICAgcmV0W2FyZ3NbaV1dID0gMDsKLSAgfQotICByZXR1cm4gcmV0OwotfSwKLSAg
U1RBQ0tfQUxJR046IDgsCi0gIGdldEFsaWduU2l6ZTogZnVuY3Rpb24gKHR5cGUsIHNpemUsIHZh
cmFyZykgewotICAgIC8vIHdlIGFsaWduIGk2NHMgYW5kIGRvdWJsZXMgb24gNjQtYml0IGJvdW5k
YXJpZXMsIHVubGlrZSB4ODYKLSAgICBpZiAodHlwZSA9PSAnaTY0JyB8fCB0eXBlID09ICdkb3Vi
bGUnIHx8IHZhcmFyZykgcmV0dXJuIDg7Ci0gICAgaWYgKCF0eXBlKSByZXR1cm4gTWF0aC5taW4o
c2l6ZSwgOCk7IC8vIGFsaWduIHN0cnVjdHVyZXMgaW50ZXJuYWxseSB0byA2NCBiaXRzCi0gICAg
cmV0dXJuIE1hdGgubWluKHNpemUgfHwgKHR5cGUgPyBSdW50aW1lLmdldE5hdGl2ZUZpZWxkU2l6
ZSh0eXBlKSA6IDApLCBSdW50aW1lLlFVQU5UVU1fU0laRSk7Ci0gIH0sCi0gIGNhbGN1bGF0ZVN0
cnVjdEFsaWdubWVudDogZnVuY3Rpb24gY2FsY3VsYXRlU3RydWN0QWxpZ25tZW50KHR5cGUpIHsK
LSAgICB0eXBlLmZsYXRTaXplID0gMDsKLSAgICB0eXBlLmFsaWduU2l6ZSA9IDA7Ci0gICAgdmFy
IGRpZmZzID0gW107Ci0gICAgdmFyIHByZXYgPSAtMTsKLSAgICB2YXIgaW5kZXggPSAwOwotICAg
IHR5cGUuZmxhdEluZGV4ZXMgPSB0eXBlLmZpZWxkcy5tYXAoZnVuY3Rpb24oZmllbGQpIHsKLSAg
ICAgIGluZGV4Kys7Ci0gICAgICB2YXIgc2l6ZSwgYWxpZ25TaXplOwotICAgICAgaWYgKFJ1bnRp
bWUuaXNOdW1iZXJUeXBlKGZpZWxkKSB8fCBSdW50aW1lLmlzUG9pbnRlclR5cGUoZmllbGQpKSB7
Ci0gICAgICAgIHNpemUgPSBSdW50aW1lLmdldE5hdGl2ZVR5cGVTaXplKGZpZWxkKTsgLy8gcGFj
ayBjaGFyOyBjaGFyOyBpbiBzdHJ1Y3RzLCBhbHNvIGNoYXJbWF1zLgotICAgICAgICBhbGlnblNp
emUgPSBSdW50aW1lLmdldEFsaWduU2l6ZShmaWVsZCwgc2l6ZSk7Ci0gICAgICB9IGVsc2UgaWYg
KFJ1bnRpbWUuaXNTdHJ1Y3RUeXBlKGZpZWxkKSkgewotICAgICAgICBpZiAoZmllbGRbMV0gPT09
ICcwJykgewotICAgICAgICAgIC8vIHRoaXMgaXMgWzAgeCBzb21ldGhpbmddLiBXaGVuIGluc2lk
ZSBhbm90aGVyIHN0cnVjdHVyZSBsaWtlIGhlcmUsIGl0IG11c3QgYmUgYXQgdGhlIGVuZCwKLSAg
ICAgICAgICAvLyBhbmQgaXQgYWRkcyBubyBzaXplCi0gICAgICAgICAgLy8gWFhYIHRoaXMgaGFw
cGVucyBpbiBqYXZhLW5ib2R5IGZvciBleGFtcGxlLi4uIGFzc2VydChpbmRleCA9PT0gdHlwZS5m
aWVsZHMubGVuZ3RoLCAnemVyby1sZW5ndGggaW4gdGhlIG1pZGRsZSEnKTsKLSAgICAgICAgICBz
aXplID0gMDsKLSAgICAgICAgICBhbGlnblNpemUgPSB0eXBlLmFsaWduU2l6ZSB8fCBRVUFOVFVN
X1NJWkU7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgc2l6ZSA9IFR5cGVzLnR5cGVzW2Zp
ZWxkXS5mbGF0U2l6ZTsKLSAgICAgICAgICBhbGlnblNpemUgPSBSdW50aW1lLmdldEFsaWduU2l6
ZShudWxsLCBUeXBlcy50eXBlc1tmaWVsZF0uYWxpZ25TaXplKTsKLSAgICAgICAgfQotICAgICAg
fSBlbHNlIGlmIChmaWVsZFswXSA9PSAnYicpIHsKLSAgICAgICAgLy8gYk4sIGxhcmdlIG51bWJl
ciBmaWVsZCwgbGlrZSBhIFtOIHggaThdCi0gICAgICAgIHNpemUgPSBmaWVsZC5zdWJzdHIoMSl8
MDsKLSAgICAgICAgYWxpZ25TaXplID0gMTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHRocm93
ICdVbmNsZWFyIHR5cGUgaW4gc3RydWN0OiAnICsgZmllbGQgKyAnLCBpbiAnICsgdHlwZS5uYW1l
XyArICcgOjogJyArIGR1bXAoVHlwZXMudHlwZXNbdHlwZS5uYW1lX10pOwotICAgICAgfQotICAg
ICAgaWYgKHR5cGUucGFja2VkKSBhbGlnblNpemUgPSAxOwotICAgICAgdHlwZS5hbGlnblNpemUg
PSBNYXRoLm1heCh0eXBlLmFsaWduU2l6ZSwgYWxpZ25TaXplKTsKLSAgICAgIHZhciBjdXJyID0g
UnVudGltZS5hbGlnbk1lbW9yeSh0eXBlLmZsYXRTaXplLCBhbGlnblNpemUpOyAvLyBpZiBuZWNl
c3NhcnksIHBsYWNlIHRoaXMgb24gYWxpZ25lZCBtZW1vcnkKLSAgICAgIHR5cGUuZmxhdFNpemUg
PSBjdXJyICsgc2l6ZTsKLSAgICAgIGlmIChwcmV2ID49IDApIHsKLSAgICAgICAgZGlmZnMucHVz
aChjdXJyLXByZXYpOwotICAgICAgfQotICAgICAgcHJldiA9IGN1cnI7Ci0gICAgICByZXR1cm4g
Y3VycjsKLSAgICB9KTsKLSAgICB0eXBlLmZsYXRTaXplID0gUnVudGltZS5hbGlnbk1lbW9yeSh0
eXBlLmZsYXRTaXplLCB0eXBlLmFsaWduU2l6ZSk7Ci0gICAgaWYgKGRpZmZzLmxlbmd0aCA9PSAw
KSB7Ci0gICAgICB0eXBlLmZsYXRGYWN0b3IgPSB0eXBlLmZsYXRTaXplOwotICAgIH0gZWxzZSBp
ZiAoUnVudGltZS5kZWR1cChkaWZmcykubGVuZ3RoID09IDEpIHsKLSAgICAgIHR5cGUuZmxhdEZh
Y3RvciA9IGRpZmZzWzBdOwotICAgIH0KLSAgICB0eXBlLm5lZWRzRmxhdHRlbmluZyA9ICh0eXBl
LmZsYXRGYWN0b3IgIT0gMSk7Ci0gICAgcmV0dXJuIHR5cGUuZmxhdEluZGV4ZXM7Ci0gIH0sCi0g
IGdlbmVyYXRlU3RydWN0SW5mbzogZnVuY3Rpb24gKHN0cnVjdCwgdHlwZU5hbWUsIG9mZnNldCkg
ewotICAgIHZhciB0eXBlLCBhbGlnbm1lbnQ7Ci0gICAgaWYgKHR5cGVOYW1lKSB7Ci0gICAgICBv
ZmZzZXQgPSBvZmZzZXQgfHwgMDsKLSAgICAgIHR5cGUgPSAodHlwZW9mIFR5cGVzID09PSAndW5k
ZWZpbmVkJyA/IFJ1bnRpbWUudHlwZUluZm8gOiBUeXBlcy50eXBlcylbdHlwZU5hbWVdOwotICAg
ICAgaWYgKCF0eXBlKSByZXR1cm4gbnVsbDsKLSAgICAgIGlmICh0eXBlLmZpZWxkcy5sZW5ndGgg
IT0gc3RydWN0Lmxlbmd0aCkgewotICAgICAgICBwcmludEVycignTnVtYmVyIG9mIG5hbWVkIGZp
ZWxkcyBtdXN0IG1hdGNoIHRoZSB0eXBlIGZvciAnICsgdHlwZU5hbWUgKyAnOiBwb3NzaWJseSBk
dXBsaWNhdGUgc3RydWN0IG5hbWVzLiBDYW5ub3QgcmV0dXJuIHN0cnVjdEluZm8nKTsKLSAgICAg
ICAgcmV0dXJuIG51bGw7Ci0gICAgICB9Ci0gICAgICBhbGlnbm1lbnQgPSB0eXBlLmZsYXRJbmRl
eGVzOwotICAgIH0gZWxzZSB7Ci0gICAgICB2YXIgdHlwZSA9IHsgZmllbGRzOiBzdHJ1Y3QubWFw
KGZ1bmN0aW9uKGl0ZW0pIHsgcmV0dXJuIGl0ZW1bMF0gfSkgfTsKLSAgICAgIGFsaWdubWVudCA9
IFJ1bnRpbWUuY2FsY3VsYXRlU3RydWN0QWxpZ25tZW50KHR5cGUpOwotICAgIH0KLSAgICB2YXIg
cmV0ID0gewotICAgICAgX19zaXplX186IHR5cGUuZmxhdFNpemUKLSAgICB9OwotICAgIGlmICh0
eXBlTmFtZSkgewotICAgICAgc3RydWN0LmZvckVhY2goZnVuY3Rpb24oaXRlbSwgaSkgewotICAg
ICAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnKSB7Ci0gICAgICAgICAgcmV0W2l0ZW1d
ID0gYWxpZ25tZW50W2ldICsgb2Zmc2V0OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIC8v
IGVtYmVkZGVkIHN0cnVjdAotICAgICAgICAgIHZhciBrZXk7Ci0gICAgICAgICAgZm9yICh2YXIg
ayBpbiBpdGVtKSBrZXkgPSBrOwotICAgICAgICAgIHJldFtrZXldID0gUnVudGltZS5nZW5lcmF0
ZVN0cnVjdEluZm8oaXRlbVtrZXldLCB0eXBlLmZpZWxkc1tpXSwgYWxpZ25tZW50W2ldKTsKLSAg
ICAgICAgfQotICAgICAgfSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHN0cnVjdC5mb3JFYWNoKGZ1
bmN0aW9uKGl0ZW0sIGkpIHsKLSAgICAgICAgcmV0W2l0ZW1bMV1dID0gYWxpZ25tZW50W2ldOwot
ICAgICAgfSk7Ci0gICAgfQotICAgIHJldHVybiByZXQ7Ci0gIH0sCi0gIGR5bkNhbGw6IGZ1bmN0
aW9uIChzaWcsIHB0ciwgYXJncykgewotICAgIGlmIChhcmdzICYmIGFyZ3MubGVuZ3RoKSB7Ci0g
ICAgICBpZiAoIWFyZ3Muc3BsaWNlKSBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwo
YXJncyk7Ci0gICAgICBhcmdzLnNwbGljZSgwLCAwLCBwdHIpOwotICAgICAgcmV0dXJuIE1vZHVs
ZVsnZHluQ2FsbF8nICsgc2lnXS5hcHBseShudWxsLCBhcmdzKTsKLSAgICB9IGVsc2UgewotICAg
ICAgcmV0dXJuIE1vZHVsZVsnZHluQ2FsbF8nICsgc2lnXS5jYWxsKG51bGwsIHB0cik7Ci0gICAg
fQotICB9LAotICBmdW5jdGlvblBvaW50ZXJzOiBbXSwKLSAgYWRkRnVuY3Rpb246IGZ1bmN0aW9u
IChmdW5jKSB7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBSdW50aW1lLmZ1bmN0aW9uUG9pbnRl
cnMubGVuZ3RoOyBpKyspIHsKLSAgICAgIGlmICghUnVudGltZS5mdW5jdGlvblBvaW50ZXJzW2ld
KSB7Ci0gICAgICAgIFJ1bnRpbWUuZnVuY3Rpb25Qb2ludGVyc1tpXSA9IGZ1bmM7Ci0gICAgICAg
IHJldHVybiAyICsgMippOwotICAgICAgfQotICAgIH0KLSAgICB0aHJvdyAnRmluaXNoZWQgdXAg
YWxsIHJlc2VydmVkIGZ1bmN0aW9uIHBvaW50ZXJzLiBVc2UgYSBoaWdoZXIgdmFsdWUgZm9yIFJF
U0VSVkVEX0ZVTkNUSU9OX1BPSU5URVJTLic7Ci0gIH0sCi0gIHJlbW92ZUZ1bmN0aW9uOiBmdW5j
dGlvbiAoaW5kZXgpIHsKLSAgICBSdW50aW1lLmZ1bmN0aW9uUG9pbnRlcnNbKGluZGV4LTIpLzJd
ID0gbnVsbDsKLSAgfSwKLSAgd2Fybk9uY2U6IGZ1bmN0aW9uICh0ZXh0KSB7Ci0gICAgaWYgKCFS
dW50aW1lLndhcm5PbmNlLnNob3duKSBSdW50aW1lLndhcm5PbmNlLnNob3duID0ge307Ci0gICAg
aWYgKCFSdW50aW1lLndhcm5PbmNlLnNob3duW3RleHRdKSB7Ci0gICAgICBSdW50aW1lLndhcm5P
bmNlLnNob3duW3RleHRdID0gMTsKLSAgICAgIE1vZHVsZS5wcmludEVycih0ZXh0KTsKLSAgICB9
Ci0gIH0sCi0gIGZ1bmNXcmFwcGVyczoge30sCi0gIGdldEZ1bmNXcmFwcGVyOiBmdW5jdGlvbiAo
ZnVuYywgc2lnKSB7Ci0gICAgYXNzZXJ0KHNpZyk7Ci0gICAgaWYgKCFSdW50aW1lLmZ1bmNXcmFw
cGVyc1tmdW5jXSkgewotICAgICAgUnVudGltZS5mdW5jV3JhcHBlcnNbZnVuY10gPSBmdW5jdGlv
bigpIHsKLSAgICAgICAgcmV0dXJuIFJ1bnRpbWUuZHluQ2FsbChzaWcsIGZ1bmMsIGFyZ3VtZW50
cyk7Ci0gICAgICB9OwotICAgIH0KLSAgICByZXR1cm4gUnVudGltZS5mdW5jV3JhcHBlcnNbZnVu
Y107Ci0gIH0sCi0gIFVURjhQcm9jZXNzb3I6IGZ1bmN0aW9uICgpIHsKLSAgICB2YXIgYnVmZmVy
ID0gW107Ci0gICAgdmFyIG5lZWRlZCA9IDA7Ci0gICAgdGhpcy5wcm9jZXNzQ0NoYXIgPSBmdW5j
dGlvbiAoY29kZSkgewotICAgICAgY29kZSA9IGNvZGUgJiAweEZGOwotICAgICAgaWYgKGJ1ZmZl
ci5sZW5ndGggPT0gMCkgewotICAgICAgICBpZiAoKGNvZGUgJiAweDgwKSA9PSAweDAwKSB7ICAg
ICAgICAvLyAweHh4eHh4eAotICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGNv
ZGUpOwotICAgICAgICB9Ci0gICAgICAgIGJ1ZmZlci5wdXNoKGNvZGUpOwotICAgICAgICBpZiAo
KGNvZGUgJiAweEUwKSA9PSAweEMwKSB7ICAgICAgICAvLyAxMTB4eHh4eAotICAgICAgICAgIG5l
ZWRlZCA9IDE7Ci0gICAgICAgIH0gZWxzZSBpZiAoKGNvZGUgJiAweEYwKSA9PSAweEUwKSB7IC8v
IDExMTB4eHh4Ci0gICAgICAgICAgbmVlZGVkID0gMjsKLSAgICAgICAgfSBlbHNlIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gMTExMTB4eHgKLSAgICAgICAgICBuZWVkZWQgPSAzOwot
ICAgICAgICB9Ci0gICAgICAgIHJldHVybiAnJzsKLSAgICAgIH0KLSAgICAgIGlmIChuZWVkZWQp
IHsKLSAgICAgICAgYnVmZmVyLnB1c2goY29kZSk7Ci0gICAgICAgIG5lZWRlZC0tOwotICAgICAg
ICBpZiAobmVlZGVkID4gMCkgcmV0dXJuICcnOwotICAgICAgfQotICAgICAgdmFyIGMxID0gYnVm
ZmVyWzBdOwotICAgICAgdmFyIGMyID0gYnVmZmVyWzFdOwotICAgICAgdmFyIGMzID0gYnVmZmVy
WzJdOwotICAgICAgdmFyIGM0ID0gYnVmZmVyWzNdOwotICAgICAgdmFyIHJldDsKLSAgICAgIGlm
IChidWZmZXIubGVuZ3RoID09IDIpIHsKLSAgICAgICAgcmV0ID0gU3RyaW5nLmZyb21DaGFyQ29k
ZSgoKGMxICYgMHgxRikgPDwgNikgIHwgKGMyICYgMHgzRikpOwotICAgICAgfSBlbHNlIGlmIChi
dWZmZXIubGVuZ3RoID09IDMpIHsKLSAgICAgICAgcmV0ID0gU3RyaW5nLmZyb21DaGFyQ29kZSgo
KGMxICYgMHgwRikgPDwgMTIpIHwgKChjMiAmIDB4M0YpIDw8IDYpICB8IChjMyAmIDB4M0YpKTsK
LSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIC8vIGh0dHA6Ly9tYXRoaWFzYnluZW5zLmJlL25vdGVz
L2phdmFzY3JpcHQtZW5jb2Rpbmcjc3Vycm9nYXRlLWZvcm11bGFlCi0gICAgICAgIHZhciBjb2Rl
UG9pbnQgPSAoKGMxICYgMHgwNykgPDwgMTgpIHwgKChjMiAmIDB4M0YpIDw8IDEyKSB8Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAoKGMzICYgMHgzRikgPDwgNikgIHwgKGM0ICYgMHgzRik7Ci0g
ICAgICAgIHJldCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoCi0gICAgICAgICAgTWF0aC5mbG9vcigo
Y29kZVBvaW50IC0gMHgxMDAwMCkgLyAweDQwMCkgKyAweEQ4MDAsCi0gICAgICAgICAgKGNvZGVQ
b2ludCAtIDB4MTAwMDApICUgMHg0MDAgKyAweERDMDApOwotICAgICAgfQotICAgICAgYnVmZmVy
Lmxlbmd0aCA9IDA7Ci0gICAgICByZXR1cm4gcmV0OwotICAgIH0KLSAgICB0aGlzLnByb2Nlc3NK
U1N0cmluZyA9IGZ1bmN0aW9uKHN0cmluZykgewotICAgICAgc3RyaW5nID0gdW5lc2NhcGUoZW5j
b2RlVVJJQ29tcG9uZW50KHN0cmluZykpOwotICAgICAgdmFyIHJldCA9IFtdOwotICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBzdHJpbmcubGVuZ3RoOyBpKyspIHsKLSAgICAgICAgcmV0LnB1c2go
c3RyaW5nLmNoYXJDb2RlQXQoaSkpOwotICAgICAgfQotICAgICAgcmV0dXJuIHJldDsKLSAgICB9
Ci0gIH0sCi0gIHN0YWNrQWxsb2M6IGZ1bmN0aW9uIChzaXplKSB7IHZhciByZXQgPSBTVEFDS1RP
UDtTVEFDS1RPUCA9IChTVEFDS1RPUCArIHNpemUpfDA7U1RBQ0tUT1AgPSAoKCgoU1RBQ0tUT1Ap
KzcpPj4zKTw8Myk7IHJldHVybiByZXQ7IH0sCi0gIHN0YXRpY0FsbG9jOiBmdW5jdGlvbiAoc2l6
ZSkgeyB2YXIgcmV0ID0gU1RBVElDVE9QO1NUQVRJQ1RPUCA9IChTVEFUSUNUT1AgKyBzaXplKXww
O1NUQVRJQ1RPUCA9ICgoKChTVEFUSUNUT1ApKzcpPj4zKTw8Myk7IHJldHVybiByZXQ7IH0sCi0g
IGR5bmFtaWNBbGxvYzogZnVuY3Rpb24gKHNpemUpIHsgdmFyIHJldCA9IERZTkFNSUNUT1A7RFlO
QU1JQ1RPUCA9IChEWU5BTUlDVE9QICsgc2l6ZSl8MDtEWU5BTUlDVE9QID0gKCgoKERZTkFNSUNU
T1ApKzcpPj4zKTw8Myk7IGlmIChEWU5BTUlDVE9QID49IFRPVEFMX01FTU9SWSkgZW5sYXJnZU1l
bW9yeSgpOzsgcmV0dXJuIHJldDsgfSwKLSAgYWxpZ25NZW1vcnk6IGZ1bmN0aW9uIChzaXplLHF1
YW50dW0pIHsgdmFyIHJldCA9IHNpemUgPSBNYXRoLmNlaWwoKHNpemUpLyhxdWFudHVtID8gcXVh
bnR1bSA6IDgpKSoocXVhbnR1bSA/IHF1YW50dW0gOiA4KTsgcmV0dXJuIHJldDsgfSwKLSAgbWFr
ZUJpZ0ludDogZnVuY3Rpb24gKGxvdyxoaWdoLHVuc2lnbmVkKSB7IHZhciByZXQgPSAodW5zaWdu
ZWQgPyAoKCsoKChsb3cpPj4+KDApKSkpKygoKygoKGhpZ2gpPj4+KDApKSkpKigrKDQyOTQ5Njcy
OTYpKSkpIDogKCgrKCgobG93KT4+PigwKSkpKSsoKCsoKChoaWdoKXwoMCkpKSkqKCsoNDI5NDk2
NzI5NikpKSkpOyByZXR1cm4gcmV0OyB9LAotICBHTE9CQUxfQkFTRTogOCwKLSAgUVVBTlRVTV9T
SVpFOiA0LAotICBfX2R1bW15X186IDAKLX0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLy8gUnVudGltZSBlc3NlbnRpYWxzCi0vLz09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLXZhciBfX1RIUkVXX18gPSAwOyAvLyBVc2VkIGluIGNo
ZWNraW5nIGZvciB0aHJvd24gZXhjZXB0aW9ucy4KLXZhciBBQk9SVCA9IGZhbHNlOyAvLyB3aGV0
aGVyIHdlIGFyZSBxdWl0dGluZyB0aGUgYXBwbGljYXRpb24uIG5vIGNvZGUgc2hvdWxkIHJ1biBh
ZnRlciB0aGlzLiBzZXQgaW4gZXhpdCgpIGFuZCBhYm9ydCgpCi12YXIgRVhJVFNUQVRVUyA9IDA7
Ci12YXIgdW5kZWYgPSAwOwotLy8gdGVtcEludCBpcyB1c2VkIGZvciAzMi1iaXQgc2lnbmVkIHZh
bHVlcyBvciBzbWFsbGVyLiB0ZW1wQmlnSW50IGlzIHVzZWQKLS8vIGZvciAzMi1iaXQgdW5zaWdu
ZWQgdmFsdWVzIG9yIG1vcmUgdGhhbiAzMiBiaXRzLiBUT0RPOiBhdWRpdCBhbGwgdXNlcyBvZiB0
ZW1wSW50Ci12YXIgdGVtcFZhbHVlLCB0ZW1wSW50LCB0ZW1wQmlnSW50LCB0ZW1wSW50MiwgdGVt
cEJpZ0ludDIsIHRlbXBQYWlyLCB0ZW1wQmlnSW50SSwgdGVtcEJpZ0ludFIsIHRlbXBCaWdJbnRT
LCB0ZW1wQmlnSW50UCwgdGVtcEJpZ0ludEQ7Ci12YXIgdGVtcEk2NCwgdGVtcEk2NGI7Ci12YXIg
dGVtcFJldDAsIHRlbXBSZXQxLCB0ZW1wUmV0MiwgdGVtcFJldDMsIHRlbXBSZXQ0LCB0ZW1wUmV0
NSwgdGVtcFJldDYsIHRlbXBSZXQ3LCB0ZW1wUmV0OCwgdGVtcFJldDk7Ci1mdW5jdGlvbiBhc3Nl
cnQoY29uZGl0aW9uLCB0ZXh0KSB7Ci0gIGlmICghY29uZGl0aW9uKSB7Ci0gICAgYWJvcnQoJ0Fz
c2VydGlvbiBmYWlsZWQ6ICcgKyB0ZXh0KTsKLSAgfQotfQotdmFyIGdsb2JhbFNjb3BlID0gdGhp
czsKLS8vIEMgY2FsbGluZyBpbnRlcmZhY2UuIEEgY29udmVuaWVudCB3YXkgdG8gY2FsbCBDIGZ1
bmN0aW9ucyAoaW4gQyBmaWxlcywgb3IKLS8vIGRlZmluZWQgd2l0aCBleHRlcm4gIkMiKS4KLS8v
Ci0vLyBOb3RlOiBMTFZNIG9wdGltaXphdGlvbnMgY2FuIGlubGluZSBhbmQgcmVtb3ZlIGZ1bmN0
aW9ucywgYWZ0ZXIgd2hpY2ggeW91IHdpbGwgbm90IGJlCi0vLyAgICAgICBhYmxlIHRvIGNhbGwg
dGhlbS4gQ2xvc3VyZSBjYW4gYWxzbyBkbyBzby4gVG8gYXZvaWQgdGhhdCwgYWRkIHlvdXIgZnVu
Y3Rpb24gdG8KLS8vICAgICAgIHRoZSBleHBvcnRzIHVzaW5nIHNvbWV0aGluZyBsaWtlCi0vLwot
Ly8gICAgICAgICAtcyBFWFBPUlRFRF9GVU5DVElPTlM9J1siX21haW4iLCAiX215ZnVuYyJdJwot
Ly8KLS8vIEBwYXJhbSBpZGVudCAgICAgIFRoZSBuYW1lIG9mIHRoZSBDIGZ1bmN0aW9uIChub3Rl
IHRoYXQgQysrIGZ1bmN0aW9ucyB3aWxsIGJlIG5hbWUtbWFuZ2xlZCAtIHVzZSBleHRlcm4gIkMi
KQotLy8gQHBhcmFtIHJldHVyblR5cGUgVGhlIHJldHVybiB0eXBlIG9mIHRoZSBmdW5jdGlvbiwg
b25lIG9mIHRoZSBKUyB0eXBlcyAnbnVtYmVyJywgJ3N0cmluZycgb3IgJ2FycmF5JyAodXNlICdu
dW1iZXInIGZvciBhbnkgQyBwb2ludGVyLCBhbmQKLS8vICAgICAgICAgICAgICAgICAgICdhcnJh
eScgZm9yIEphdmFTY3JpcHQgYXJyYXlzIGFuZCB0eXBlZCBhcnJheXM7IG5vdGUgdGhhdCBhcnJh
eXMgYXJlIDgtYml0KS4KLS8vIEBwYXJhbSBhcmdUeXBlcyAgIEFuIGFycmF5IG9mIHRoZSB0eXBl
cyBvZiBhcmd1bWVudHMgZm9yIHRoZSBmdW5jdGlvbiAoaWYgdGhlcmUgYXJlIG5vIGFyZ3VtZW50
cywgdGhpcyBjYW4gYmUgb21taXR0ZWQpLiBUeXBlcyBhcmUgYXMgaW4gcmV0dXJuVHlwZSwKLS8v
ICAgICAgICAgICAgICAgICAgIGV4Y2VwdCB0aGF0ICdhcnJheScgaXMgbm90IHBvc3NpYmxlICh0
aGVyZSBpcyBubyB3YXkgZm9yIHVzIHRvIGtub3cgdGhlIGxlbmd0aCBvZiB0aGUgYXJyYXkpCi0v
LyBAcGFyYW0gYXJncyAgICAgICBBbiBhcnJheSBvZiB0aGUgYXJndW1lbnRzIHRvIHRoZSBmdW5j
dGlvbiwgYXMgbmF0aXZlIEpTIHZhbHVlcyAoYXMgaW4gcmV0dXJuVHlwZSkKLS8vICAgICAgICAg
ICAgICAgICAgIE5vdGUgdGhhdCBzdHJpbmcgYXJndW1lbnRzIHdpbGwgYmUgc3RvcmVkIG9uIHRo
ZSBzdGFjayAodGhlIEpTIHN0cmluZyB3aWxsIGJlY29tZSBhIEMgc3RyaW5nIG9uIHRoZSBzdGFj
aykuCi0vLyBAcmV0dXJuICAgICAgICAgICBUaGUgcmV0dXJuIHZhbHVlLCBhcyBhIG5hdGl2ZSBK
UyB2YWx1ZSAoYXMgaW4gcmV0dXJuVHlwZSkKLWZ1bmN0aW9uIGNjYWxsKGlkZW50LCByZXR1cm5U
eXBlLCBhcmdUeXBlcywgYXJncykgewotICByZXR1cm4gY2NhbGxGdW5jKGdldENGdW5jKGlkZW50
KSwgcmV0dXJuVHlwZSwgYXJnVHlwZXMsIGFyZ3MpOwotfQotTW9kdWxlWyJjY2FsbCJdID0gY2Nh
bGw7Ci0vLyBSZXR1cm5zIHRoZSBDIGZ1bmN0aW9uIHdpdGggYSBzcGVjaWZpZWQgaWRlbnRpZmll
ciAoZm9yIEMrKywgeW91IG5lZWQgdG8gZG8gbWFudWFsIG5hbWUgbWFuZ2xpbmcpCi1mdW5jdGlv
biBnZXRDRnVuYyhpZGVudCkgewotICB0cnkgewotICAgIHZhciBmdW5jID0gTW9kdWxlWydfJyAr
IGlkZW50XTsgLy8gY2xvc3VyZSBleHBvcnRlZCBmdW5jdGlvbgotICAgIGlmICghZnVuYykgZnVu
YyA9IGV2YWwoJ18nICsgaWRlbnQpOyAvLyBleHBsaWNpdCBsb29rdXAKLSAgfSBjYXRjaChlKSB7
Ci0gIH0KLSAgYXNzZXJ0KGZ1bmMsICdDYW5ub3QgY2FsbCB1bmtub3duIGZ1bmN0aW9uICcgKyBp
ZGVudCArICcgKHBlcmhhcHMgTExWTSBvcHRpbWl6YXRpb25zIG9yIGNsb3N1cmUgcmVtb3ZlZCBp
dD8pJyk7Ci0gIHJldHVybiBmdW5jOwotfQotLy8gSW50ZXJuYWwgZnVuY3Rpb24gdGhhdCBkb2Vz
IGEgQyBjYWxsIHVzaW5nIGEgZnVuY3Rpb24sIG5vdCBhbiBpZGVudGlmaWVyCi1mdW5jdGlvbiBj
Y2FsbEZ1bmMoZnVuYywgcmV0dXJuVHlwZSwgYXJnVHlwZXMsIGFyZ3MpIHsKLSAgdmFyIHN0YWNr
ID0gMDsKLSAgZnVuY3Rpb24gdG9DKHZhbHVlLCB0eXBlKSB7Ci0gICAgaWYgKHR5cGUgPT0gJ3N0
cmluZycpIHsKLSAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVk
IHx8IHZhbHVlID09PSAwKSByZXR1cm4gMDsgLy8gbnVsbCBzdHJpbmcKLSAgICAgIGlmICghc3Rh
Y2spIHN0YWNrID0gUnVudGltZS5zdGFja1NhdmUoKTsKLSAgICAgIHZhciByZXQgPSBSdW50aW1l
LnN0YWNrQWxsb2ModmFsdWUubGVuZ3RoKzEpOwotICAgICAgd3JpdGVTdHJpbmdUb01lbW9yeSh2
YWx1ZSwgcmV0KTsKLSAgICAgIHJldHVybiByZXQ7Ci0gICAgfSBlbHNlIGlmICh0eXBlID09ICdh
cnJheScpIHsKLSAgICAgIGlmICghc3RhY2spIHN0YWNrID0gUnVudGltZS5zdGFja1NhdmUoKTsK
LSAgICAgIHZhciByZXQgPSBSdW50aW1lLnN0YWNrQWxsb2ModmFsdWUubGVuZ3RoKTsKLSAgICAg
IHdyaXRlQXJyYXlUb01lbW9yeSh2YWx1ZSwgcmV0KTsKLSAgICAgIHJldHVybiByZXQ7Ci0gICAg
fQotICAgIHJldHVybiB2YWx1ZTsKLSAgfQotICBmdW5jdGlvbiBmcm9tQyh2YWx1ZSwgdHlwZSkg
ewotICAgIGlmICh0eXBlID09ICdzdHJpbmcnKSB7Ci0gICAgICByZXR1cm4gUG9pbnRlcl9zdHJp
bmdpZnkodmFsdWUpOwotICAgIH0KLSAgICBhc3NlcnQodHlwZSAhPSAnYXJyYXknKTsKLSAgICBy
ZXR1cm4gdmFsdWU7Ci0gIH0KLSAgdmFyIGkgPSAwOwotICB2YXIgY0FyZ3MgPSBhcmdzID8gYXJn
cy5tYXAoZnVuY3Rpb24oYXJnKSB7Ci0gICAgcmV0dXJuIHRvQyhhcmcsIGFyZ1R5cGVzW2krK10p
OwotICB9KSA6IFtdOwotICB2YXIgcmV0ID0gZnJvbUMoZnVuYy5hcHBseShudWxsLCBjQXJncyks
IHJldHVyblR5cGUpOwotICBpZiAoc3RhY2spIFJ1bnRpbWUuc3RhY2tSZXN0b3JlKHN0YWNrKTsK
LSAgcmV0dXJuIHJldDsKLX0KLS8vIFJldHVybnMgYSBuYXRpdmUgSlMgd3JhcHBlciBmb3IgYSBD
IGZ1bmN0aW9uLiBUaGlzIGlzIHNpbWlsYXIgdG8gY2NhbGwsIGJ1dAotLy8gcmV0dXJucyBhIGZ1
bmN0aW9uIHlvdSBjYW4gY2FsbCByZXBlYXRlZGx5IGluIGEgbm9ybWFsIHdheS4gRm9yIGV4YW1w
bGU6Ci0vLwotLy8gICB2YXIgbXlfZnVuY3Rpb24gPSBjd3JhcCgnbXlfY19mdW5jdGlvbicsICdu
dW1iZXInLCBbJ251bWJlcicsICdudW1iZXInXSk7Ci0vLyAgIGFsZXJ0KG15X2Z1bmN0aW9uKDUs
IDIyKSk7Ci0vLyAgIGFsZXJ0KG15X2Z1bmN0aW9uKDk5LCAxMikpOwotLy8KLWZ1bmN0aW9uIGN3
cmFwKGlkZW50LCByZXR1cm5UeXBlLCBhcmdUeXBlcykgewotICB2YXIgZnVuYyA9IGdldENGdW5j
KGlkZW50KTsKLSAgcmV0dXJuIGZ1bmN0aW9uKCkgewotICAgIHJldHVybiBjY2FsbEZ1bmMoZnVu
YywgcmV0dXJuVHlwZSwgYXJnVHlwZXMsIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3Vt
ZW50cykpOwotICB9Ci19Ci1Nb2R1bGVbImN3cmFwIl0gPSBjd3JhcDsKLS8vIFNldHMgYSB2YWx1
ZSBpbiBtZW1vcnkgaW4gYSBkeW5hbWljIHdheSBhdCBydW4tdGltZS4gVXNlcyB0aGUKLS8vIHR5
cGUgZGF0YS4gVGhpcyBpcyB0aGUgc2FtZSBhcyBtYWtlU2V0VmFsdWUsIGV4Y2VwdCB0aGF0Ci0v
LyBtYWtlU2V0VmFsdWUgaXMgZG9uZSBhdCBjb21waWxlLXRpbWUgYW5kIGdlbmVyYXRlcyB0aGUg
bmVlZGVkCi0vLyBjb2RlIHRoZW4sIHdoZXJlYXMgdGhpcyBmdW5jdGlvbiBwaWNrcyB0aGUgcmln
aHQgY29kZSBhdAotLy8gcnVuLXRpbWUuCi0vLyBOb3RlIHRoYXQgc2V0VmFsdWUgYW5kIGdldFZh
bHVlIG9ubHkgZG8gKmFsaWduZWQqIHdyaXRlcyBhbmQgcmVhZHMhCi0vLyBOb3RlIHRoYXQgY2Nh
bGwgdXNlcyBKUyB0eXBlcyBhcyBmb3IgZGVmaW5pbmcgdHlwZXMsIHdoaWxlIHNldFZhbHVlIGFu
ZAotLy8gZ2V0VmFsdWUgbmVlZCBMTFZNIHR5cGVzICgnaTgnLCAnaTMyJykgLSB0aGlzIGlzIGEg
bG93ZXItbGV2ZWwgb3BlcmF0aW9uCi1mdW5jdGlvbiBzZXRWYWx1ZShwdHIsIHZhbHVlLCB0eXBl
LCBub1NhZmUpIHsKLSAgdHlwZSA9IHR5cGUgfHwgJ2k4JzsKLSAgaWYgKHR5cGUuY2hhckF0KHR5
cGUubGVuZ3RoLTEpID09PSAnKicpIHR5cGUgPSAnaTMyJzsgLy8gcG9pbnRlcnMgYXJlIDMyLWJp
dAotICAgIHN3aXRjaCh0eXBlKSB7Ci0gICAgICBjYXNlICdpMSc6IEhFQVA4WyhwdHIpXT12YWx1
ZTsgYnJlYWs7Ci0gICAgICBjYXNlICdpOCc6IEhFQVA4WyhwdHIpXT12YWx1ZTsgYnJlYWs7Ci0g
ICAgICBjYXNlICdpMTYnOiBIRUFQMTZbKChwdHIpPj4xKV09dmFsdWU7IGJyZWFrOwotICAgICAg
Y2FzZSAnaTMyJzogSEVBUDMyWygocHRyKT4+MildPXZhbHVlOyBicmVhazsKLSAgICAgIGNhc2Ug
J2k2NCc6ICh0ZW1wSTY0ID0gW3ZhbHVlPj4+MCwodGVtcERvdWJsZT12YWx1ZSwoKyhNYXRoLmFi
cyh0ZW1wRG91YmxlKSkpID49ICgrKDEpKSA/ICh0ZW1wRG91YmxlID4gKCsoMCkpID8gKChNYXRo
Lm1pbigoKyhNYXRoLmZsb29yKCh0ZW1wRG91YmxlKS8oKyg0Mjk0OTY3Mjk2KSkpKSksICgrKDQy
OTQ5NjcyOTUpKSkpfDApPj4+MCA6ICh+figoKyhNYXRoLmNlaWwoKHRlbXBEb3VibGUgLSArKCgo
fn4odGVtcERvdWJsZSkpKT4+PjApKS8oKyg0Mjk0OTY3Mjk2KSkpKSkpKT4+PjApIDogMCldLEhF
QVAzMlsoKHB0cik+PjIpXT10ZW1wSTY0WzBdLEhFQVAzMlsoKChwdHIpKyg0KSk+PjIpXT10ZW1w
STY0WzFdKTsgYnJlYWs7Ci0gICAgICBjYXNlICdmbG9hdCc6IEhFQVBGMzJbKChwdHIpPj4yKV09
dmFsdWU7IGJyZWFrOwotICAgICAgY2FzZSAnZG91YmxlJzogSEVBUEY2NFsoKHB0cik+PjMpXT12
YWx1ZTsgYnJlYWs7Ci0gICAgICBkZWZhdWx0OiBhYm9ydCgnaW52YWxpZCB0eXBlIGZvciBzZXRW
YWx1ZTogJyArIHR5cGUpOwotICAgIH0KLX0KLU1vZHVsZVsnc2V0VmFsdWUnXSA9IHNldFZhbHVl
OwotLy8gUGFyYWxsZWwgdG8gc2V0VmFsdWUuCi1mdW5jdGlvbiBnZXRWYWx1ZShwdHIsIHR5cGUs
IG5vU2FmZSkgewotICB0eXBlID0gdHlwZSB8fCAnaTgnOwotICBpZiAodHlwZS5jaGFyQXQodHlw
ZS5sZW5ndGgtMSkgPT09ICcqJykgdHlwZSA9ICdpMzInOyAvLyBwb2ludGVycyBhcmUgMzItYml0
Ci0gICAgc3dpdGNoKHR5cGUpIHsKLSAgICAgIGNhc2UgJ2kxJzogcmV0dXJuIEhFQVA4WyhwdHIp
XTsKLSAgICAgIGNhc2UgJ2k4JzogcmV0dXJuIEhFQVA4WyhwdHIpXTsKLSAgICAgIGNhc2UgJ2kx
Nic6IHJldHVybiBIRUFQMTZbKChwdHIpPj4xKV07Ci0gICAgICBjYXNlICdpMzInOiByZXR1cm4g
SEVBUDMyWygocHRyKT4+MildOwotICAgICAgY2FzZSAnaTY0JzogcmV0dXJuIEhFQVAzMlsoKHB0
cik+PjIpXTsKLSAgICAgIGNhc2UgJ2Zsb2F0JzogcmV0dXJuIEhFQVBGMzJbKChwdHIpPj4yKV07
Ci0gICAgICBjYXNlICdkb3VibGUnOiByZXR1cm4gSEVBUEY2NFsoKHB0cik+PjMpXTsKLSAgICAg
IGRlZmF1bHQ6IGFib3J0KCdpbnZhbGlkIHR5cGUgZm9yIHNldFZhbHVlOiAnICsgdHlwZSk7Ci0g
ICAgfQotICByZXR1cm4gbnVsbDsKLX0KLU1vZHVsZVsnZ2V0VmFsdWUnXSA9IGdldFZhbHVlOwot
dmFyIEFMTE9DX05PUk1BTCA9IDA7IC8vIFRyaWVzIHRvIHVzZSBfbWFsbG9jKCkKLXZhciBBTExP
Q19TVEFDSyA9IDE7IC8vIExpdmVzIGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIGN1cnJlbnQgZnVu
Y3Rpb24gY2FsbAotdmFyIEFMTE9DX1NUQVRJQyA9IDI7IC8vIENhbm5vdCBiZSBmcmVlZAotdmFy
IEFMTE9DX0RZTkFNSUMgPSAzOyAvLyBDYW5ub3QgYmUgZnJlZWQgZXhjZXB0IHRocm91Z2ggc2Jy
awotdmFyIEFMTE9DX05PTkUgPSA0OyAvLyBEbyBub3QgYWxsb2NhdGUKLU1vZHVsZVsnQUxMT0Nf
Tk9STUFMJ10gPSBBTExPQ19OT1JNQUw7Ci1Nb2R1bGVbJ0FMTE9DX1NUQUNLJ10gPSBBTExPQ19T
VEFDSzsKLU1vZHVsZVsnQUxMT0NfU1RBVElDJ10gPSBBTExPQ19TVEFUSUM7Ci1Nb2R1bGVbJ0FM
TE9DX0RZTkFNSUMnXSA9IEFMTE9DX0RZTkFNSUM7Ci1Nb2R1bGVbJ0FMTE9DX05PTkUnXSA9IEFM
TE9DX05PTkU7Ci0vLyBhbGxvY2F0ZSgpOiBUaGlzIGlzIGZvciBpbnRlcm5hbCB1c2UuIFlvdSBj
YW4gdXNlIGl0IHlvdXJzZWxmIGFzIHdlbGwsIGJ1dCB0aGUgaW50ZXJmYWNlCi0vLyAgICAgICAg
ICAgICBpcyBhIGxpdHRsZSB0cmlja3kgKHNlZSBkb2NzIHJpZ2h0IGJlbG93KS4gVGhlIHJlYXNv
biBpcyB0aGF0IGl0IGlzIG9wdGltaXplZAotLy8gICAgICAgICAgICAgZm9yIG11bHRpcGxlIHN5
bnRheGVzIHRvIHNhdmUgc3BhY2UgaW4gZ2VuZXJhdGVkIGNvZGUuIFNvIHlvdSBzaG91bGQKLS8v
ICAgICAgICAgICAgIG5vcm1hbGx5IG5vdCB1c2UgYWxsb2NhdGUoKSwgYW5kIGluc3RlYWQgYWxs
b2NhdGUgbWVtb3J5IHVzaW5nIF9tYWxsb2MoKSwKLS8vICAgICAgICAgICAgIGluaXRpYWxpemUg
aXQgd2l0aCBzZXRWYWx1ZSgpLCBhbmQgc28gZm9ydGguCi0vLyBAc2xhYjogQW4gYXJyYXkgb2Yg
ZGF0YSwgb3IgYSBudW1iZXIuIElmIGEgbnVtYmVyLCB0aGVuIHRoZSBzaXplIG9mIHRoZSBibG9j
ayB0byBhbGxvY2F0ZSwKLS8vICAgICAgICBpbiAqYnl0ZXMqIChub3RlIHRoYXQgdGhpcyBpcyBz
b21ldGltZXMgY29uZnVzaW5nOiB0aGUgbmV4dCBwYXJhbWV0ZXIgZG9lcyBub3QKLS8vICAgICAg
ICBhZmZlY3QgdGhpcyEpCi0vLyBAdHlwZXM6IEVpdGhlciBhbiBhcnJheSBvZiB0eXBlcywgb25l
IGZvciBlYWNoIGJ5dGUgKG9yIDAgaWYgbm8gdHlwZSBhdCB0aGF0IHBvc2l0aW9uKSwKLS8vICAg
ICAgICAgb3IgYSBzaW5nbGUgdHlwZSB3aGljaCBpcyB1c2VkIGZvciB0aGUgZW50aXJlIGJsb2Nr
LiBUaGlzIG9ubHkgbWF0dGVycyBpZiB0aGVyZQotLy8gICAgICAgICBpcyBpbml0aWFsIGRhdGEg
LSBpZiBAc2xhYiBpcyBhIG51bWJlciwgdGhlbiB0aGlzIGRvZXMgbm90IG1hdHRlciBhdCBhbGwg
YW5kIGlzCi0vLyAgICAgICAgIGlnbm9yZWQuCi0vLyBAYWxsb2NhdG9yOiBIb3cgdG8gYWxsb2Nh
dGUgbWVtb3J5LCBzZWUgQUxMT0NfKgotZnVuY3Rpb24gYWxsb2NhdGUoc2xhYiwgdHlwZXMsIGFs
bG9jYXRvciwgcHRyKSB7Ci0gIHZhciB6ZXJvaW5pdCwgc2l6ZTsKLSAgaWYgKHR5cGVvZiBzbGFi
ID09PSAnbnVtYmVyJykgewotICAgIHplcm9pbml0ID0gdHJ1ZTsKLSAgICBzaXplID0gc2xhYjsK
LSAgfSBlbHNlIHsKLSAgICB6ZXJvaW5pdCA9IGZhbHNlOwotICAgIHNpemUgPSBzbGFiLmxlbmd0
aDsKLSAgfQotICB2YXIgc2luZ2xlVHlwZSA9IHR5cGVvZiB0eXBlcyA9PT0gJ3N0cmluZycgPyB0
eXBlcyA6IG51bGw7Ci0gIHZhciByZXQ7Ci0gIGlmIChhbGxvY2F0b3IgPT0gQUxMT0NfTk9ORSkg
ewotICAgIHJldCA9IHB0cjsKLSAgfSBlbHNlIHsKLSAgICByZXQgPSBbX21hbGxvYywgUnVudGlt
ZS5zdGFja0FsbG9jLCBSdW50aW1lLnN0YXRpY0FsbG9jLCBSdW50aW1lLmR5bmFtaWNBbGxvY11b
YWxsb2NhdG9yID09PSB1bmRlZmluZWQgPyBBTExPQ19TVEFUSUMgOiBhbGxvY2F0b3JdKE1hdGgu
bWF4KHNpemUsIHNpbmdsZVR5cGUgPyAxIDogdHlwZXMubGVuZ3RoKSk7Ci0gIH0KLSAgaWYgKHpl
cm9pbml0KSB7Ci0gICAgdmFyIHB0ciA9IHJldCwgc3RvcDsKLSAgICBhc3NlcnQoKHJldCAmIDMp
ID09IDApOwotICAgIHN0b3AgPSByZXQgKyAoc2l6ZSAmIH4zKTsKLSAgICBmb3IgKDsgcHRyIDwg
c3RvcDsgcHRyICs9IDQpIHsKLSAgICAgIEhFQVAzMlsoKHB0cik+PjIpXT0wOwotICAgIH0KLSAg
ICBzdG9wID0gcmV0ICsgc2l6ZTsKLSAgICB3aGlsZSAocHRyIDwgc3RvcCkgewotICAgICAgSEVB
UDhbKChwdHIrKyl8MCldPTA7Ci0gICAgfQotICAgIHJldHVybiByZXQ7Ci0gIH0KLSAgaWYgKHNp
bmdsZVR5cGUgPT09ICdpOCcpIHsKLSAgICBpZiAoc2xhYi5zdWJhcnJheSB8fCBzbGFiLnNsaWNl
KSB7Ci0gICAgICBIRUFQVTguc2V0KHNsYWIsIHJldCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIEhF
QVBVOC5zZXQobmV3IFVpbnQ4QXJyYXkoc2xhYiksIHJldCk7Ci0gICAgfQotICAgIHJldHVybiBy
ZXQ7Ci0gIH0KLSAgdmFyIGkgPSAwLCB0eXBlLCB0eXBlU2l6ZSwgcHJldmlvdXNUeXBlOwotICB3
aGlsZSAoaSA8IHNpemUpIHsKLSAgICB2YXIgY3VyciA9IHNsYWJbaV07Ci0gICAgaWYgKHR5cGVv
ZiBjdXJyID09PSAnZnVuY3Rpb24nKSB7Ci0gICAgICBjdXJyID0gUnVudGltZS5nZXRGdW5jdGlv
bkluZGV4KGN1cnIpOwotICAgIH0KLSAgICB0eXBlID0gc2luZ2xlVHlwZSB8fCB0eXBlc1tpXTsK
LSAgICBpZiAodHlwZSA9PT0gMCkgewotICAgICAgaSsrOwotICAgICAgY29udGludWU7Ci0gICAg
fQotICAgIGlmICh0eXBlID09ICdpNjQnKSB0eXBlID0gJ2kzMic7IC8vIHNwZWNpYWwgY2FzZTog
d2UgaGF2ZSBvbmUgaTMyIGhlcmUsIGFuZCBvbmUgaTMyIGxhdGVyCi0gICAgc2V0VmFsdWUocmV0
K2ksIGN1cnIsIHR5cGUpOwotICAgIC8vIG5vIG5lZWQgdG8gbG9vayB1cCBzaXplIHVubGVzcyB0
eXBlIGNoYW5nZXMsIHNvIGNhY2hlIGl0Ci0gICAgaWYgKHByZXZpb3VzVHlwZSAhPT0gdHlwZSkg
ewotICAgICAgdHlwZVNpemUgPSBSdW50aW1lLmdldE5hdGl2ZVR5cGVTaXplKHR5cGUpOwotICAg
ICAgcHJldmlvdXNUeXBlID0gdHlwZTsKLSAgICB9Ci0gICAgaSArPSB0eXBlU2l6ZTsKLSAgfQot
ICByZXR1cm4gcmV0OwotfQotTW9kdWxlWydhbGxvY2F0ZSddID0gYWxsb2NhdGU7Ci1mdW5jdGlv
biBQb2ludGVyX3N0cmluZ2lmeShwdHIsIC8qIG9wdGlvbmFsICovIGxlbmd0aCkgewotICAvLyBU
T0RPOiB1c2UgVGV4dERlY29kZXIKLSAgLy8gRmluZCB0aGUgbGVuZ3RoLCBhbmQgY2hlY2sgZm9y
IFVURiB3aGlsZSBkb2luZyBzbwotICB2YXIgaGFzVXRmID0gZmFsc2U7Ci0gIHZhciB0OwotICB2
YXIgaSA9IDA7Ci0gIHdoaWxlICgxKSB7Ci0gICAgdCA9IEhFQVBVOFsoKChwdHIpKyhpKSl8MCld
OwotICAgIGlmICh0ID49IDEyOCkgaGFzVXRmID0gdHJ1ZTsKLSAgICBlbHNlIGlmICh0ID09IDAg
JiYgIWxlbmd0aCkgYnJlYWs7Ci0gICAgaSsrOwotICAgIGlmIChsZW5ndGggJiYgaSA9PSBsZW5n
dGgpIGJyZWFrOwotICB9Ci0gIGlmICghbGVuZ3RoKSBsZW5ndGggPSBpOwotICB2YXIgcmV0ID0g
Jyc7Ci0gIGlmICghaGFzVXRmKSB7Ci0gICAgdmFyIE1BWF9DSFVOSyA9IDEwMjQ7IC8vIHNwbGl0
IHVwIGludG8gY2h1bmtzLCBiZWNhdXNlIC5hcHBseSBvbiBhIGh1Z2Ugc3RyaW5nIGNhbiBvdmVy
ZmxvdyB0aGUgc3RhY2sKLSAgICB2YXIgY3VycjsKLSAgICB3aGlsZSAobGVuZ3RoID4gMCkgewot
ICAgICAgY3VyciA9IFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLCBIRUFQVTguc3Vi
YXJyYXkocHRyLCBwdHIgKyBNYXRoLm1pbihsZW5ndGgsIE1BWF9DSFVOSykpKTsKLSAgICAgIHJl
dCA9IHJldCA/IHJldCArIGN1cnIgOiBjdXJyOwotICAgICAgcHRyICs9IE1BWF9DSFVOSzsKLSAg
ICAgIGxlbmd0aCAtPSBNQVhfQ0hVTks7Ci0gICAgfQotICAgIHJldHVybiByZXQ7Ci0gIH0KLSAg
dmFyIHV0ZjggPSBuZXcgUnVudGltZS5VVEY4UHJvY2Vzc29yKCk7Ci0gIGZvciAoaSA9IDA7IGkg
PCBsZW5ndGg7IGkrKykgewotICAgIHQgPSBIRUFQVThbKCgocHRyKSsoaSkpfDApXTsKLSAgICBy
ZXQgKz0gdXRmOC5wcm9jZXNzQ0NoYXIodCk7Ci0gIH0KLSAgcmV0dXJuIHJldDsKLX0KLU1vZHVs
ZVsnUG9pbnRlcl9zdHJpbmdpZnknXSA9IFBvaW50ZXJfc3RyaW5naWZ5OwotLy8gTWVtb3J5IG1h
bmFnZW1lbnQKLXZhciBQQUdFX1NJWkUgPSA0MDk2OwotZnVuY3Rpb24gYWxpZ25NZW1vcnlQYWdl
KHgpIHsKLSAgcmV0dXJuICgoeCs0MDk1KT4+MTIpPDwxMjsKLX0KLXZhciBIRUFQOwotdmFyIEhF
QVA4LCBIRUFQVTgsIEhFQVAxNiwgSEVBUFUxNiwgSEVBUDMyLCBIRUFQVTMyLCBIRUFQRjMyLCBI
RUFQRjY0OwotdmFyIFNUQVRJQ19CQVNFID0gMCwgU1RBVElDVE9QID0gMCwgc3RhdGljU2VhbGVk
ID0gZmFsc2U7IC8vIHN0YXRpYyBhcmVhCi12YXIgU1RBQ0tfQkFTRSA9IDAsIFNUQUNLVE9QID0g
MCwgU1RBQ0tfTUFYID0gMDsgLy8gc3RhY2sgYXJlYQotdmFyIERZTkFNSUNfQkFTRSA9IDAsIERZ
TkFNSUNUT1AgPSAwOyAvLyBkeW5hbWljIGFyZWEgaGFuZGxlZCBieSBzYnJrCi1mdW5jdGlvbiBl
bmxhcmdlTWVtb3J5KCkgewotICBhYm9ydCgnQ2Fubm90IGVubGFyZ2UgbWVtb3J5IGFycmF5cyBp
biBhc20uanMuIEVpdGhlciAoMSkgY29tcGlsZSB3aXRoIC1zIFRPVEFMX01FTU9SWT1YIHdpdGgg
WCBoaWdoZXIgdGhhbiB0aGUgY3VycmVudCB2YWx1ZSwgb3IgKDIpIHNldCBNb2R1bGUuVE9UQUxf
TUVNT1JZIGJlZm9yZSB0aGUgcHJvZ3JhbSBydW5zLicpOwotfQotdmFyIFRPVEFMX1NUQUNLID0g
TW9kdWxlWydUT1RBTF9TVEFDSyddIHx8IDUyNDI4ODA7Ci12YXIgVE9UQUxfTUVNT1JZID0gTW9k
dWxlWydUT1RBTF9NRU1PUlknXSB8fCAxNjc3NzIxNjsKLXZhciBGQVNUX01FTU9SWSA9IE1vZHVs
ZVsnRkFTVF9NRU1PUlknXSB8fCAyMDk3MTUyOwotLy8gSW5pdGlhbGl6ZSB0aGUgcnVudGltZSdz
IG1lbW9yeQotLy8gY2hlY2sgZm9yIGZ1bGwgZW5naW5lIHN1cHBvcnQgKHVzZSBzdHJpbmcgJ3N1
YmFycmF5JyB0byBhdm9pZCBjbG9zdXJlIGNvbXBpbGVyIGNvbmZ1c2lvbikKLWFzc2VydCghIUlu
dDMyQXJyYXkgJiYgISFGbG9hdDY0QXJyYXkgJiYgISEobmV3IEludDMyQXJyYXkoMSlbJ3N1YmFy
cmF5J10pICYmICEhKG5ldyBJbnQzMkFycmF5KDEpWydzZXQnXSksCi0gICAgICAgJ0Nhbm5vdCBm
YWxsYmFjayB0byBub24tdHlwZWQgYXJyYXkgY2FzZTogQ29kZSBpcyB0b28gc3BlY2lhbGl6ZWQn
KTsKLXZhciBidWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoVE9UQUxfTUVNT1JZKTsKLUhFQVA4ID0g
bmV3IEludDhBcnJheShidWZmZXIpOwotSEVBUDE2ID0gbmV3IEludDE2QXJyYXkoYnVmZmVyKTsK
LUhFQVAzMiA9IG5ldyBJbnQzMkFycmF5KGJ1ZmZlcik7Ci1IRUFQVTggPSBuZXcgVWludDhBcnJh
eShidWZmZXIpOwotSEVBUFUxNiA9IG5ldyBVaW50MTZBcnJheShidWZmZXIpOwotSEVBUFUzMiA9
IG5ldyBVaW50MzJBcnJheShidWZmZXIpOwotSEVBUEYzMiA9IG5ldyBGbG9hdDMyQXJyYXkoYnVm
ZmVyKTsKLUhFQVBGNjQgPSBuZXcgRmxvYXQ2NEFycmF5KGJ1ZmZlcik7Ci0vLyBFbmRpYW5uZXNz
IGNoZWNrIChub3RlOiBhc3N1bWVzIGNvbXBpbGVyIGFyY2ggd2FzIGxpdHRsZS1lbmRpYW4pCi1I
RUFQMzJbMF0gPSAyNTU7Ci1hc3NlcnQoSEVBUFU4WzBdID09PSAyNTUgJiYgSEVBUFU4WzNdID09
PSAwLCAnVHlwZWQgYXJyYXlzIDIgbXVzdCBiZSBydW4gb24gYSBsaXR0bGUtZW5kaWFuIHN5c3Rl
bScpOwotTW9kdWxlWydIRUFQJ10gPSBIRUFQOwotTW9kdWxlWydIRUFQOCddID0gSEVBUDg7Ci1N
b2R1bGVbJ0hFQVAxNiddID0gSEVBUDE2OwotTW9kdWxlWydIRUFQMzInXSA9IEhFQVAzMjsKLU1v
ZHVsZVsnSEVBUFU4J10gPSBIRUFQVTg7Ci1Nb2R1bGVbJ0hFQVBVMTYnXSA9IEhFQVBVMTY7Ci1N
b2R1bGVbJ0hFQVBVMzInXSA9IEhFQVBVMzI7Ci1Nb2R1bGVbJ0hFQVBGMzInXSA9IEhFQVBGMzI7
Ci1Nb2R1bGVbJ0hFQVBGNjQnXSA9IEhFQVBGNjQ7Ci1mdW5jdGlvbiBjYWxsUnVudGltZUNhbGxi
YWNrcyhjYWxsYmFja3MpIHsKLSAgd2hpbGUoY2FsbGJhY2tzLmxlbmd0aCA+IDApIHsKLSAgICB2
YXIgY2FsbGJhY2sgPSBjYWxsYmFja3Muc2hpZnQoKTsKLSAgICBpZiAodHlwZW9mIGNhbGxiYWNr
ID09ICdmdW5jdGlvbicpIHsKLSAgICAgIGNhbGxiYWNrKCk7Ci0gICAgICBjb250aW51ZTsKLSAg
ICB9Ci0gICAgdmFyIGZ1bmMgPSBjYWxsYmFjay5mdW5jOwotICAgIGlmICh0eXBlb2YgZnVuYyA9
PT0gJ251bWJlcicpIHsKLSAgICAgIGlmIChjYWxsYmFjay5hcmcgPT09IHVuZGVmaW5lZCkgewot
ICAgICAgICBSdW50aW1lLmR5bkNhbGwoJ3YnLCBmdW5jKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgIFJ1bnRpbWUuZHluQ2FsbCgndmknLCBmdW5jLCBbY2FsbGJhY2suYXJnXSk7Ci0gICAgICB9
Ci0gICAgfSBlbHNlIHsKLSAgICAgIGZ1bmMoY2FsbGJhY2suYXJnID09PSB1bmRlZmluZWQgPyBu
dWxsIDogY2FsbGJhY2suYXJnKTsKLSAgICB9Ci0gIH0KLX0KLXZhciBfX0FUUFJFUlVOX18gID0g
W107IC8vIGZ1bmN0aW9ucyBjYWxsZWQgYmVmb3JlIHRoZSBydW50aW1lIGlzIGluaXRpYWxpemVk
Ci12YXIgX19BVElOSVRfXyAgICA9IFtdOyAvLyBmdW5jdGlvbnMgY2FsbGVkIGR1cmluZyBzdGFy
dHVwCi12YXIgX19BVE1BSU5fXyAgICA9IFtdOyAvLyBmdW5jdGlvbnMgY2FsbGVkIHdoZW4gbWFp
bigpIGlzIHRvIGJlIHJ1bgotdmFyIF9fQVRFWElUX18gICAgPSBbXTsgLy8gZnVuY3Rpb25zIGNh
bGxlZCBkdXJpbmcgc2h1dGRvd24KLXZhciBfX0FUUE9TVFJVTl9fID0gW107IC8vIGZ1bmN0aW9u
cyBjYWxsZWQgYWZ0ZXIgdGhlIHJ1bnRpbWUgaGFzIGV4aXRlZAotdmFyIHJ1bnRpbWVJbml0aWFs
aXplZCA9IGZhbHNlOwotZnVuY3Rpb24gcHJlUnVuKCkgewotICAvLyBjb21wYXRpYmlsaXR5IC0g
bWVyZ2UgaW4gYW55dGhpbmcgZnJvbSBNb2R1bGVbJ3ByZVJ1biddIGF0IHRoaXMgdGltZQotICBp
ZiAoTW9kdWxlWydwcmVSdW4nXSkgewotICAgIGlmICh0eXBlb2YgTW9kdWxlWydwcmVSdW4nXSA9
PSAnZnVuY3Rpb24nKSBNb2R1bGVbJ3ByZVJ1biddID0gW01vZHVsZVsncHJlUnVuJ11dOwotICAg
IHdoaWxlIChNb2R1bGVbJ3ByZVJ1biddLmxlbmd0aCkgewotICAgICAgYWRkT25QcmVSdW4oTW9k
dWxlWydwcmVSdW4nXS5zaGlmdCgpKTsKLSAgICB9Ci0gIH0KLSAgY2FsbFJ1bnRpbWVDYWxsYmFj
a3MoX19BVFBSRVJVTl9fKTsKLX0KLWZ1bmN0aW9uIGVuc3VyZUluaXRSdW50aW1lKCkgewotICBp
ZiAocnVudGltZUluaXRpYWxpemVkKSByZXR1cm47Ci0gIHJ1bnRpbWVJbml0aWFsaXplZCA9IHRy
dWU7Ci0gIGNhbGxSdW50aW1lQ2FsbGJhY2tzKF9fQVRJTklUX18pOwotfQotZnVuY3Rpb24gcHJl
TWFpbigpIHsKLSAgY2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVE1BSU5fXyk7Ci19Ci1mdW5jdGlv
biBleGl0UnVudGltZSgpIHsKLSAgY2FsbFJ1bnRpbWVDYWxsYmFja3MoX19BVEVYSVRfXyk7Ci19
Ci1mdW5jdGlvbiBwb3N0UnVuKCkgewotICAvLyBjb21wYXRpYmlsaXR5IC0gbWVyZ2UgaW4gYW55
dGhpbmcgZnJvbSBNb2R1bGVbJ3Bvc3RSdW4nXSBhdCB0aGlzIHRpbWUKLSAgaWYgKE1vZHVsZVsn
cG9zdFJ1biddKSB7Ci0gICAgaWYgKHR5cGVvZiBNb2R1bGVbJ3Bvc3RSdW4nXSA9PSAnZnVuY3Rp
b24nKSBNb2R1bGVbJ3Bvc3RSdW4nXSA9IFtNb2R1bGVbJ3Bvc3RSdW4nXV07Ci0gICAgd2hpbGUg
KE1vZHVsZVsncG9zdFJ1biddLmxlbmd0aCkgewotICAgICAgYWRkT25Qb3N0UnVuKE1vZHVsZVsn
cG9zdFJ1biddLnNoaWZ0KCkpOwotICAgIH0KLSAgfQotICBjYWxsUnVudGltZUNhbGxiYWNrcyhf
X0FUUE9TVFJVTl9fKTsKLX0KLWZ1bmN0aW9uIGFkZE9uUHJlUnVuKGNiKSB7Ci0gIF9fQVRQUkVS
VU5fXy51bnNoaWZ0KGNiKTsKLX0KLU1vZHVsZVsnYWRkT25QcmVSdW4nXSA9IE1vZHVsZS5hZGRP
blByZVJ1biA9IGFkZE9uUHJlUnVuOwotZnVuY3Rpb24gYWRkT25Jbml0KGNiKSB7Ci0gIF9fQVRJ
TklUX18udW5zaGlmdChjYik7Ci19Ci1Nb2R1bGVbJ2FkZE9uSW5pdCddID0gTW9kdWxlLmFkZE9u
SW5pdCA9IGFkZE9uSW5pdDsKLWZ1bmN0aW9uIGFkZE9uUHJlTWFpbihjYikgewotICBfX0FUTUFJ
Tl9fLnVuc2hpZnQoY2IpOwotfQotTW9kdWxlWydhZGRPblByZU1haW4nXSA9IE1vZHVsZS5hZGRP
blByZU1haW4gPSBhZGRPblByZU1haW47Ci1mdW5jdGlvbiBhZGRPbkV4aXQoY2IpIHsKLSAgX19B
VEVYSVRfXy51bnNoaWZ0KGNiKTsKLX0KLU1vZHVsZVsnYWRkT25FeGl0J10gPSBNb2R1bGUuYWRk
T25FeGl0ID0gYWRkT25FeGl0OwotZnVuY3Rpb24gYWRkT25Qb3N0UnVuKGNiKSB7Ci0gIF9fQVRQ
T1NUUlVOX18udW5zaGlmdChjYik7Ci19Ci1Nb2R1bGVbJ2FkZE9uUG9zdFJ1biddID0gTW9kdWxl
LmFkZE9uUG9zdFJ1biA9IGFkZE9uUG9zdFJ1bjsKLS8vIFRvb2xzCi0vLyBUaGlzIHByb2Nlc3Nl
cyBhIEpTIHN0cmluZyBpbnRvIGEgQy1saW5lIGFycmF5IG9mIG51bWJlcnMsIDAtdGVybWluYXRl
ZC4KLS8vIEZvciBMTFZNLW9yaWdpbmF0aW5nIHN0cmluZ3MsIHNlZSBwYXJzZXIuanM6cGFyc2VM
TFZNU3RyaW5nIGZ1bmN0aW9uCi1mdW5jdGlvbiBpbnRBcnJheUZyb21TdHJpbmcoc3RyaW5neSwg
ZG9udEFkZE51bGwsIGxlbmd0aCAvKiBvcHRpb25hbCAqLykgewotICB2YXIgcmV0ID0gKG5ldyBS
dW50aW1lLlVURjhQcm9jZXNzb3IoKSkucHJvY2Vzc0pTU3RyaW5nKHN0cmluZ3kpOwotICBpZiAo
bGVuZ3RoKSB7Ci0gICAgcmV0Lmxlbmd0aCA9IGxlbmd0aDsKLSAgfQotICBpZiAoIWRvbnRBZGRO
dWxsKSB7Ci0gICAgcmV0LnB1c2goMCk7Ci0gIH0KLSAgcmV0dXJuIHJldDsKLX0KLU1vZHVsZVsn
aW50QXJyYXlGcm9tU3RyaW5nJ10gPSBpbnRBcnJheUZyb21TdHJpbmc7Ci1mdW5jdGlvbiBpbnRB
cnJheVRvU3RyaW5nKGFycmF5KSB7Ci0gIHZhciByZXQgPSBbXTsKLSAgZm9yICh2YXIgaSA9IDA7
IGkgPCBhcnJheS5sZW5ndGg7IGkrKykgewotICAgIHZhciBjaHIgPSBhcnJheVtpXTsKLSAgICBp
ZiAoY2hyID4gMHhGRikgewotICAgICAgY2hyICY9IDB4RkY7Ci0gICAgfQotICAgIHJldC5wdXNo
KFN0cmluZy5mcm9tQ2hhckNvZGUoY2hyKSk7Ci0gIH0KLSAgcmV0dXJuIHJldC5qb2luKCcnKTsK
LX0KLU1vZHVsZVsnaW50QXJyYXlUb1N0cmluZyddID0gaW50QXJyYXlUb1N0cmluZzsKLS8vIFdy
aXRlIGEgSmF2YXNjcmlwdCBhcnJheSB0byBzb21ld2hlcmUgaW4gdGhlIGhlYXAKLWZ1bmN0aW9u
IHdyaXRlU3RyaW5nVG9NZW1vcnkoc3RyaW5nLCBidWZmZXIsIGRvbnRBZGROdWxsKSB7Ci0gIHZh
ciBhcnJheSA9IGludEFycmF5RnJvbVN0cmluZyhzdHJpbmcsIGRvbnRBZGROdWxsKTsKLSAgdmFy
IGkgPSAwOwotICB3aGlsZSAoaSA8IGFycmF5Lmxlbmd0aCkgewotICAgIHZhciBjaHIgPSBhcnJh
eVtpXTsKLSAgICBIRUFQOFsoKChidWZmZXIpKyhpKSl8MCldPWNocgotICAgIGkgPSBpICsgMTsK
LSAgfQotfQotTW9kdWxlWyd3cml0ZVN0cmluZ1RvTWVtb3J5J10gPSB3cml0ZVN0cmluZ1RvTWVt
b3J5OwotZnVuY3Rpb24gd3JpdGVBcnJheVRvTWVtb3J5KGFycmF5LCBidWZmZXIpIHsKLSAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykgewotICAgIEhFQVA4WygoKGJ1ZmZl
cikrKGkpKXwwKV09YXJyYXlbaV07Ci0gIH0KLX0KLU1vZHVsZVsnd3JpdGVBcnJheVRvTWVtb3J5
J10gPSB3cml0ZUFycmF5VG9NZW1vcnk7Ci1mdW5jdGlvbiB1blNpZ24odmFsdWUsIGJpdHMsIGln
bm9yZSwgc2lnKSB7Ci0gIGlmICh2YWx1ZSA+PSAwKSB7Ci0gICAgcmV0dXJuIHZhbHVlOwotICB9
Ci0gIHJldHVybiBiaXRzIDw9IDMyID8gMipNYXRoLmFicygxIDw8IChiaXRzLTEpKSArIHZhbHVl
IC8vIE5lZWQgc29tZSB0cmlja2VyeSwgc2luY2UgaWYgYml0cyA9PSAzMiwgd2UgYXJlIHJpZ2h0
IGF0IHRoZSBsaW1pdCBvZiB0aGUgYml0cyBKUyB1c2VzIGluIGJpdHNoaWZ0cwotICAgICAgICAg
ICAgICAgICAgICA6IE1hdGgucG93KDIsIGJpdHMpICAgICAgICAgKyB2YWx1ZTsKLX0KLWZ1bmN0
aW9uIHJlU2lnbih2YWx1ZSwgYml0cywgaWdub3JlLCBzaWcpIHsKLSAgaWYgKHZhbHVlIDw9IDAp
IHsKLSAgICByZXR1cm4gdmFsdWU7Ci0gIH0KLSAgdmFyIGhhbGYgPSBiaXRzIDw9IDMyID8gTWF0
aC5hYnMoMSA8PCAoYml0cy0xKSkgLy8gYWJzIGlzIG5lZWRlZCBpZiBiaXRzID09IDMyCi0gICAg
ICAgICAgICAgICAgICAgICAgICA6IE1hdGgucG93KDIsIGJpdHMtMSk7Ci0gIGlmICh2YWx1ZSA+
PSBoYWxmICYmIChiaXRzIDw9IDMyIHx8IHZhbHVlID4gaGFsZikpIHsgLy8gZm9yIGh1Z2UgdmFs
dWVzLCB3ZSBjYW4gaGl0IHRoZSBwcmVjaXNpb24gbGltaXQgYW5kIGFsd2F5cyBnZXQgdHJ1ZSBo
ZXJlLiBzbyBkb24ndCBkbyB0aGF0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gYnV0LCBpbiBnZW5lcmFsIHRoZXJlIGlzIG5vIHBlcmZl
Y3Qgc29sdXRpb24gaGVyZS4gV2l0aCA2NC1iaXQgaW50cywgd2UgZ2V0IHJvdW5kaW5nIGFuZCBl
cnJvcnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBUT0RPOiBJbiBpNjQgbW9kZSAxLCByZXNpZ24gdGhlIHR3byBwYXJ0cyBzZXBhcmF0
ZWx5IGFuZCBzYWZlbHkKLSAgICB2YWx1ZSA9IC0yKmhhbGYgKyB2YWx1ZTsgLy8gQ2Fubm90IGJp
dHNoaWZ0IGhhbGYsIGFzIGl0IG1heSBiZSBhdCB0aGUgbGltaXQgb2YgdGhlIGJpdHMgSlMgdXNl
cyBpbiBiaXRzaGlmdHMKLSAgfQotICByZXR1cm4gdmFsdWU7Ci19Ci1pZiAoIU1hdGhbJ2ltdWwn
XSkgTWF0aFsnaW11bCddID0gZnVuY3Rpb24oYSwgYikgewotICB2YXIgYWggID0gYSA+Pj4gMTY7
Ci0gIHZhciBhbCA9IGEgJiAweGZmZmY7Ci0gIHZhciBiaCAgPSBiID4+PiAxNjsKLSAgdmFyIGJs
ID0gYiAmIDB4ZmZmZjsKLSAgcmV0dXJuIChhbCpibCArICgoYWgqYmwgKyBhbCpiaCkgPDwgMTYp
KXwwOwotfTsKLU1hdGguaW11bCA9IE1hdGhbJ2ltdWwnXTsKLS8vIEEgY291bnRlciBvZiBkZXBl
bmRlbmNpZXMgZm9yIGNhbGxpbmcgcnVuKCkuIElmIHdlIG5lZWQgdG8KLS8vIGRvIGFzeW5jaHJv
bm91cyB3b3JrIGJlZm9yZSBydW5uaW5nLCBpbmNyZW1lbnQgdGhpcyBhbmQKLS8vIGRlY3JlbWVu
dCBpdC4gSW5jcmVtZW50aW5nIG11c3QgaGFwcGVuIGluIGEgcGxhY2UgbGlrZQotLy8gUFJFX1JV
Tl9BRERJVElPTlMgKHVzZWQgYnkgZW1jYyB0byBhZGQgZmlsZSBwcmVsb2FkaW5nKS4KLS8vIE5v
dGUgdGhhdCB5b3UgY2FuIGFkZCBkZXBlbmRlbmNpZXMgaW4gcHJlUnVuLCBldmVuIHRob3VnaAot
Ly8gaXQgaGFwcGVucyByaWdodCBiZWZvcmUgcnVuIC0gcnVuIHdpbGwgYmUgcG9zdHBvbmVkIHVu
dGlsCi0vLyB0aGUgZGVwZW5kZW5jaWVzIGFyZSBtZXQuCi12YXIgcnVuRGVwZW5kZW5jaWVzID0g
MDsKLXZhciBydW5EZXBlbmRlbmN5VHJhY2tpbmcgPSB7fTsKLXZhciBjYWxsZWRJbml0ID0gZmFs
c2UsIGNhbGxlZFJ1biA9IGZhbHNlOwotdmFyIHJ1bkRlcGVuZGVuY3lXYXRjaGVyID0gbnVsbDsK
LWZ1bmN0aW9uIGFkZFJ1bkRlcGVuZGVuY3koaWQpIHsKLSAgcnVuRGVwZW5kZW5jaWVzKys7Ci0g
IGlmIChNb2R1bGVbJ21vbml0b3JSdW5EZXBlbmRlbmNpZXMnXSkgewotICAgIE1vZHVsZVsnbW9u
aXRvclJ1bkRlcGVuZGVuY2llcyddKHJ1bkRlcGVuZGVuY2llcyk7Ci0gIH0KLSAgaWYgKGlkKSB7
Ci0gICAgYXNzZXJ0KCFydW5EZXBlbmRlbmN5VHJhY2tpbmdbaWRdKTsKLSAgICBydW5EZXBlbmRl
bmN5VHJhY2tpbmdbaWRdID0gMTsKLSAgfSBlbHNlIHsKLSAgICBNb2R1bGUucHJpbnRFcnIoJ3dh
cm5pbmc6IHJ1biBkZXBlbmRlbmN5IGFkZGVkIHdpdGhvdXQgSUQnKTsKLSAgfQotfQotTW9kdWxl
WydhZGRSdW5EZXBlbmRlbmN5J10gPSBhZGRSdW5EZXBlbmRlbmN5OwotZnVuY3Rpb24gcmVtb3Zl
UnVuRGVwZW5kZW5jeShpZCkgewotICBydW5EZXBlbmRlbmNpZXMtLTsKLSAgaWYgKE1vZHVsZVsn
bW9uaXRvclJ1bkRlcGVuZGVuY2llcyddKSB7Ci0gICAgTW9kdWxlWydtb25pdG9yUnVuRGVwZW5k
ZW5jaWVzJ10ocnVuRGVwZW5kZW5jaWVzKTsKLSAgfQotICBpZiAoaWQpIHsKLSAgICBhc3NlcnQo
cnVuRGVwZW5kZW5jeVRyYWNraW5nW2lkXSk7Ci0gICAgZGVsZXRlIHJ1bkRlcGVuZGVuY3lUcmFj
a2luZ1tpZF07Ci0gIH0gZWxzZSB7Ci0gICAgTW9kdWxlLnByaW50RXJyKCd3YXJuaW5nOiBydW4g
ZGVwZW5kZW5jeSByZW1vdmVkIHdpdGhvdXQgSUQnKTsKLSAgfQotICBpZiAocnVuRGVwZW5kZW5j
aWVzID09IDApIHsKLSAgICBpZiAocnVuRGVwZW5kZW5jeVdhdGNoZXIgIT09IG51bGwpIHsKLSAg
ICAgIGNsZWFySW50ZXJ2YWwocnVuRGVwZW5kZW5jeVdhdGNoZXIpOwotICAgICAgcnVuRGVwZW5k
ZW5jeVdhdGNoZXIgPSBudWxsOwotICAgIH0gCi0gICAgLy8gSWYgcnVuIGhhcyBuZXZlciBiZWVu
IGNhbGxlZCwgYW5kIHdlIHNob3VsZCBjYWxsIHJ1biAoSU5WT0tFX1JVTiBpcyB0cnVlLCBhbmQg
TW9kdWxlLm5vSW5pdGlhbFJ1biBpcyBub3QgZmFsc2UpCi0gICAgaWYgKCFjYWxsZWRSdW4gJiYg
c2hvdWxkUnVuTm93KSBydW4oKTsKLSAgfQotfQotTW9kdWxlWydyZW1vdmVSdW5EZXBlbmRlbmN5
J10gPSByZW1vdmVSdW5EZXBlbmRlbmN5OwotTW9kdWxlWyJwcmVsb2FkZWRJbWFnZXMiXSA9IHt9
OyAvLyBtYXBzIHVybCB0byBpbWFnZSBkYXRhCi1Nb2R1bGVbInByZWxvYWRlZEF1ZGlvcyJdID0g
e307IC8vIG1hcHMgdXJsIHRvIGF1ZGlvIGRhdGEKLWZ1bmN0aW9uIGxvYWRNZW1vcnlJbml0aWFs
aXplcihmaWxlbmFtZSkgewotICBmdW5jdGlvbiBhcHBseURhdGEoZGF0YSkgewotICAgIEhFQVBV
OC5zZXQoZGF0YSwgU1RBVElDX0JBU0UpOwotICB9Ci0gIC8vIGFsd2F5cyBkbyB0aGlzIGFzeW5j
aHJvbm91c2x5LCB0byBrZWVwIHNoZWxsIGFuZCB3ZWIgYXMgc2ltaWxhciBhcyBwb3NzaWJsZQot
ICBhZGRPblByZVJ1bihmdW5jdGlvbigpIHsKLSAgICBpZiAoRU5WSVJPTk1FTlRfSVNfTk9ERSB8
fCBFTlZJUk9OTUVOVF9JU19TSEVMTCkgewotICAgICAgYXBwbHlEYXRhKE1vZHVsZVsncmVhZEJp
bmFyeSddKGZpbGVuYW1lKSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIEJyb3dzZXIuYXN5bmNMb2Fk
KGZpbGVuYW1lLCBmdW5jdGlvbihkYXRhKSB7Ci0gICAgICAgIGFwcGx5RGF0YShkYXRhKTsKLSAg
ICAgIH0sIGZ1bmN0aW9uKGRhdGEpIHsKLSAgICAgICAgdGhyb3cgJ2NvdWxkIG5vdCBsb2FkIG1l
bW9yeSBpbml0aWFsaXplciAnICsgZmlsZW5hbWU7Ci0gICAgICB9KTsKLSAgICB9Ci0gIH0pOwot
fQotLy8gPT09IEJvZHkgPT09Ci1TVEFUSUNfQkFTRSA9IDg7Ci1TVEFUSUNUT1AgPSBTVEFUSUNf
QkFTRSArIDE2MzkyOwotdmFyIF9zdGRvdXQ7Ci12YXIgX3N0ZGluOwotdmFyIF9zdGRlcnI7Ci0v
KiBnbG9iYWwgaW5pdGlhbGl6ZXJzICovIF9fQVRJTklUX18ucHVzaCh7IGZ1bmM6IGZ1bmN0aW9u
KCkgeyBydW5Qb3N0U2V0cygpIH0gfSx7IGZ1bmM6IGZ1bmN0aW9uKCkgeyBfX0dMT0JBTF9fSV9h
KCkgfSB9LHsgZnVuYzogZnVuY3Rpb24oKSB7IF9fR0xPQkFMX19JX2E4KCkgfSB9KTsKLXZhciBf
X19mc211ODsKLXZhciBfX19kc29faGFuZGxlOwotdmFyIF9fWlRWTjEwX19jeHhhYml2MTIwX19z
aV9jbGFzc190eXBlX2luZm9FOwotdmFyIF9fWlRWTjEwX19jeHhhYml2MTE3X19jbGFzc190eXBl
X2luZm9FOwotdmFyIF9fWk5TdDNfXzExMl9fcnNfZGVmYXVsdEQxRXY7Ci12YXIgX19aTlN0MTNy
dW50aW1lX2Vycm9yQzFFUEtjOwotdmFyIF9fWk5TdDEzcnVudGltZV9lcnJvckQxRXY7Ci12YXIg
X19aTlN0MTJsZW5ndGhfZXJyb3JEMUV2OwotdmFyIF9fWk5TdDNfXzE2bG9jYWxlQzFFdjsKLXZh
ciBfX1pOU3QzX18xNmxvY2FsZUMxRVJLUzBfOwotdmFyIF9fWk5TdDNfXzE2bG9jYWxlRDFFdjsK
LXZhciBfX1pOU3Q4YmFkX2Nhc3RDMUV2OwotdmFyIF9fWk5TdDhiYWRfY2FzdEQxRXY7Ci12YXIg
X3N0ZG91dCA9IF9zdGRvdXQ9YWxsb2NhdGUoWzAsMCwwLDAsMCwwLDAsMF0sICJpOCIsIEFMTE9D
X1NUQVRJQyk7Ci12YXIgX3N0ZGluID0gX3N0ZGluPWFsbG9jYXRlKFswLDAsMCwwLDAsMCwwLDBd
LCAiaTgiLCBBTExPQ19TVEFUSUMpOwotdmFyIF9zdGRlcnIgPSBfc3RkZXJyPWFsbG9jYXRlKFsw
LDAsMCwwLDAsMCwwLDBdLCAiaTgiLCBBTExPQ19TVEFUSUMpOwotX19aVFZOMTBfX2N4eGFiaXYx
MjBfX3NpX2NsYXNzX3R5cGVfaW5mb0U9YWxsb2NhdGUoWzAsMCwwLDAsMjAwLDM3LDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwXSwgImk4IiwgQUxMT0NfU1RBVElDKTsKLV9fWlRWTjEwX19jeHhh
Yml2MTE3X19jbGFzc190eXBlX2luZm9FPWFsbG9jYXRlKFswLDAsMCwwLDIxNiwzNywwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMF0sICJpOCIsIEFMTE9DX1NUQVRJQyk7Ci0vKiBtZW1vcnkgaW5p
dGlhbGl6ZXIgKi8gYWxsb2NhdGUoWzAsMCwwLDAsMCwwLDM2LDY0LDAsMCwwLDAsMCwwLDg5LDY0
LDAsMCwwLDAsMCwxMzYsMTk1LDY0LDAsMCwwLDAsMTMyLDIxNSwxNTEsNjUsMCwxMjgsMjI0LDU1
LDEyMSwxOTUsNjUsNjcsMjMsMTEwLDUsMTgxLDE4MSwxODQsMTQ3LDcwLDI0NSwyNDksNjMsMjMz
LDMsNzksNTYsNzcsNTAsMjksNDgsMjQ5LDcyLDExOSwxMzAsOTAsNjAsMTkxLDExNSwxMjcsMjIx
LDc5LDIxLDExNyw3NCwxMTcsMTA4LDAsMCwwLDAsMCw3NCwxMTcsMTEwLDAsMCwwLDAsMCw2NSwx
MTIsMTE0LDAsMCwwLDAsMCw3Nyw5NywxMTQsMCwwLDAsMCwwLDcwLDEwMSw5OCwwLDAsMCwwLDAs
NzQsOTcsMTEwLDAsMCwwLDAsMCw2OCwxMDEsOTksMTAxLDEwOSw5OCwxMDEsMTE0LDAsMCwwLDAs
MCwwLDAsMCw3OCwxMTEsMTE4LDEwMSwxMDksOTgsMTAxLDExNCwwLDAsMCwwLDAsMCwwLDAsNzks
OTksMTE2LDExMSw5OCwxMDEsMTE0LDAsODMsMTAxLDExMiwxMTYsMTAxLDEwOSw5OCwxMDEsMTE0
LDAsMCwwLDAsMCwwLDAsMTE3LDExMCwxMTUsMTE3LDExMiwxMTIsMTExLDExNCwxMTYsMTAxLDEw
MCwzMiwxMDgsMTExLDk5LDk3LDEwOCwxMDEsMzIsMTAyLDExMSwxMTQsMzIsMTE1LDExNiw5Nywx
MTAsMTAwLDk3LDExNCwxMDAsMzIsMTA1LDExMCwxMTIsMTE3LDExNiwwLDAsMCw2NSwxMTcsMTAz
LDExNywxMTUsMTE2LDAsMCw3NCwxMTcsMTA4LDEyMSwwLDAsMCwwLDc0LDExNywxMTAsMTAxLDAs
MCwwLDAsNzcsOTcsMTIxLDAsMCwwLDAsMCw2NSwxMTIsMTE0LDEwNSwxMDgsMCwwLDAsNzcsOTcs
MTE0LDk5LDEwNCwwLDAsMCw3MCwxMDEsOTgsMTE0LDExNyw5NywxMTQsMTIxLDAsMCwwLDAsMCww
LDAsMCw3NCw5NywxMTAsMTE3LDk3LDExNCwxMjEsMCw2OCwwLDAsMCwxMDEsMCwwLDAsOTksMCww
LDAsMCwwLDAsMCw3OCwwLDAsMCwxMTEsMCwwLDAsMTE4LDAsMCwwLDAsMCwwLDAsNzksMCwwLDAs
OTksMCwwLDAsMTE2LDAsMCwwLDAsMCwwLDAsODMsMCwwLDAsMTAxLDAsMCwwLDExMiwwLDAsMCww
LDAsMCwwLDk4LDk3LDExNSwxMDUsOTksOTUsMTE1LDExNiwxMTQsMTA1LDExMCwxMDMsMCwwLDAs
MCw2NSwwLDAsMCwxMTcsMCwwLDAsMTAzLDAsMCwwLDAsMCwwLDAsNzQsMCwwLDAsMTE3LDAsMCww
LDEwOCwwLDAsMCwwLDAsMCwwLDc0LDAsMCwwLDExNywwLDAsMCwxMTAsMCwwLDAsMCwwLDAsMCw3
NywwLDAsMCw5NywwLDAsMCwxMjEsMCwwLDAsMCwwLDAsMCw2NSwwLDAsMCwxMTIsMCwwLDAsMTE0
LDAsMCwwLDAsMCwwLDAsNzcsMCwwLDAsOTcsMCwwLDAsMTE0LDAsMCwwLDAsMCwwLDAsNzAsMCww
LDAsMTAxLDAsMCwwLDk4LDAsMCwwLDAsMCwwLDAsNzQsMCwwLDAsOTcsMCwwLDAsMTEwLDAsMCww
LDAsMCwwLDAsNjgsMCwwLDAsMTAxLDAsMCwwLDk5LDAsMCwwLDEwMSwwLDAsMCwxMDksMCwwLDAs
OTgsMCwwLDAsMTAxLDAsMCwwLDExNCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNzgsMCwwLDAsMTEx
LDAsMCwwLDExOCwwLDAsMCwxMDEsMCwwLDAsMTA5LDAsMCwwLDk4LDAsMCwwLDEwMSwwLDAsMCwx
MTQsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDc5LDAsMCwwLDk5LDAsMCwwLDExNiwwLDAsMCwxMTEs
MCwwLDAsOTgsMCwwLDAsMTAxLDAsMCwwLDExNCwwLDAsMCwwLDAsMCwwLDgzLDAsMCwwLDEwMSww
LDAsMCwxMTIsMCwwLDAsMTE2LDAsMCwwLDEwMSwwLDAsMCwxMDksMCwwLDAsOTgsMCwwLDAsMTAx
LDAsMCwwLDExNCwwLDAsMCwwLDAsMCwwLDY1LDAsMCwwLDExNywwLDAsMCwxMDMsMCwwLDAsMTE3
LDAsMCwwLDExNSwwLDAsMCwxMTYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDc0LDAsMCwwLDExNyww
LDAsMCwxMDgsMCwwLDAsMTIxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw3NCwwLDAsMCwxMTcsMCww
LDAsMTEwLDAsMCwwLDEwMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNjUsMCwwLDAsMTEyLDAsMCww
LDExNCwwLDAsMCwxMDUsMCwwLDAsMTA4LDAsMCwwLDAsMCwwLDAsNzcsMCwwLDAsOTcsMCwwLDAs
MTE0LDAsMCwwLDk5LDAsMCwwLDEwNCwwLDAsMCwwLDAsMCwwLDcwLDAsMCwwLDEwMSwwLDAsMCw5
OCwwLDAsMCwxMTQsMCwwLDAsMTE3LDAsMCwwLDk3LDAsMCwwLDExNCwwLDAsMCwxMjEsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDc0LDAsMCwwLDk3LDAsMCwwLDExMCwwLDAsMCwxMTcsMCwwLDAsOTcs
MCwwLDAsMTE0LDAsMCwwLDEyMSwwLDAsMCwwLDAsMCwwLDgwLDc3LDAsMCwwLDAsMCwwLDY1LDc3
LDAsMCwwLDAsMCwwLDgwLDAsMCwwLDc3LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw2NSwwLDAsMCw3
NywwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTA4LDExMSw5OSw5NywxMDgsMTAxLDMyLDExMCwxMTEs
MTE2LDMyLDExNSwxMTcsMTEyLDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDAsMCwwLDAsMzcsMCww
LDAsNzMsMCwwLDAsNTgsMCwwLDAsMzcsMCwwLDAsNzcsMCwwLDAsNTgsMCwwLDAsMzcsMCwwLDAs
ODMsMCwwLDAsMzIsMCwwLDAsMzcsMCwwLDAsMTEyLDAsMCwwLDAsMCwwLDAsMzcsNzMsNTgsMzcs
NzcsNTgsMzcsODMsMzIsMzcsMTEyLDAsMCwwLDAsMCwzNywwLDAsMCw5NywwLDAsMCwzMiwwLDAs
MCwzNywwLDAsMCw5OCwwLDAsMCwzMiwwLDAsMCwzNywwLDAsMCwxMDAsMCwwLDAsMzIsMCwwLDAs
MzcsMCwwLDAsNzIsMCwwLDAsNTgsMCwwLDAsMzcsMCwwLDAsNzcsMCwwLDAsNTgsMCwwLDAsMzcs
MCwwLDAsODMsMCwwLDAsMzIsMCwwLDAsMzcsMCwwLDAsODksMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDM3LDk3LDMyLDM3LDk4LDMyLDM3LDEwMCwzMiwzNyw3Miw1OCwzNyw3Nyw1OCwzNyw4MywzMiwz
Nyw4OSwwLDAsMCwwLDM3LDAsMCwwLDcyLDAsMCwwLDU4LDAsMCwwLDM3LDAsMCwwLDc3LDAsMCww
LDU4LDAsMCwwLDM3LDAsMCwwLDgzLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwzNyw3Miw1OCwzNyw3
Nyw1OCwzNyw4MywwLDAsMCwwLDAsMCwwLDAsMTE1LDExNiwxMDAsNTgsNTgsOTgsOTcsMTAwLDk1
LDk3LDEwOCwxMDgsMTExLDk5LDAsMCwzNywwLDAsMCwxMDksMCwwLDAsNDcsMCwwLDAsMzcsMCww
LDAsMTAwLDAsMCwwLDQ3LDAsMCwwLDM3LDAsMCwwLDEyMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MzcsMTA5LDQ3LDM3LDEwMCw0NywzNywxMjEsMCwwLDAsMCwwLDAsMCwwLDEwMiwwLDAsMCw5Nyww
LDAsMCwxMDgsMCwwLDAsMTE1LDAsMCwwLDEwMSwwLDAsMCwwLDAsMCwwLDEwMiw5NywxMDgsMTE1
LDEwMSwwLDAsMCwxMTYsMCwwLDAsMTE0LDAsMCwwLDExNywwLDAsMCwxMDEsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDExNiwxMTQsMTE3LDEwMSwwLDAsMCwwLDU4LDMyLDAsMCwwLDAsMCwwLDEwNSwx
MTEsMTE1LDk1LDk4LDk3LDExNSwxMDEsNTgsNTgsOTksMTA4LDEwMSw5NywxMTQsMCwzNywxMTIs
MCwwLDAsMCwwLDAsMTE1LDExNiwxMDAsNTgsNTgsOTgsOTcsMTAwLDk1LDk5LDk3LDExNSwxMTYs
MCwwLDAsNjcsMCwwLDAsMCwwLDAsMCwxMTgsMTAxLDk5LDExNiwxMTEsMTE0LDAsMCwzNyw0Niw0
OCw3NiwxMDIsMCwwLDAsMTA5LDExMSwxMTAsMTAxLDEyMSw5NSwxMDMsMTAxLDExNiwzMiwxMDEs
MTE0LDExNCwxMTEsMTE0LDAsODMsOTcsMTE2LDAsMCwwLDAsMCw3MCwxMTQsMTA1LDAsMCwwLDAs
MCw4NCwxMDQsMTE3LDAsMCwwLDAsMCwzNyw3NiwxMDIsMCwwLDAsMCwwLDEwNSwxMTEsMTE1LDEx
NiwxMTQsMTAxLDk3LDEwOSwwLDAsMCwwLDAsMCwwLDAsODcsMTAxLDEwMCwwLDAsMCwwLDAsODQs
MTE3LDEwMSwwLDAsMCwwLDAsNzcsMTExLDExMCwwLDAsMCwwLDAsODMsMTE3LDExMCwwLDAsMCww
LDAsODMsOTcsMTE2LDExNywxMTQsMTAwLDk3LDEyMSwwLDAsMCwwLDAsMCwwLDAsNzAsMTE0LDEw
NSwxMDAsOTcsMTIxLDAsMCw4NCwxMDQsMTE3LDExNCwxMTUsMTAwLDk3LDEyMSwwLDAsMCwwLDAs
MCwwLDAsODcsMTAxLDEwMCwxMTAsMTAxLDExNSwxMDAsOTcsMTIxLDAsMCwwLDAsMCwwLDAsODQs
MTE3LDEwMSwxMTUsMTAwLDk3LDEyMSwwLDc3LDExMSwxMTAsMTAwLDk3LDEyMSwwLDAsODMsMTE3
LDExMCwxMDAsOTcsMTIxLDAsMCw4MywwLDAsMCw5NywwLDAsMCwxMTYsMCwwLDAsMCwwLDAsMCw3
MCwwLDAsMCwxMTQsMCwwLDAsMTA1LDAsMCwwLDAsMCwwLDAsODQsMCwwLDAsMTA0LDAsMCwwLDEx
NywwLDAsMCwwLDAsMCwwLDg3LDAsMCwwLDEwMSwwLDAsMCwxMDAsMCwwLDAsMCwwLDAsMCw4NCww
LDAsMCwxMTcsMCwwLDAsMTAxLDAsMCwwLDAsMCwwLDAsNzcsMCwwLDAsMTExLDAsMCwwLDExMCww
LDAsMCwwLDAsMCwwLDExNywxMTAsMTE1LDExMiwxMDEsOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwz
MiwxMDUsMTExLDExNSwxMTYsMTE0LDEwMSw5NywxMDksOTUsOTksOTcsMTE2LDEwMSwxMDMsMTEx
LDExNCwxMjEsMzIsMTAxLDExNCwxMTQsMTExLDExNCwwLDAsMCwwLDAsODMsMCwwLDAsMTE3LDAs
MCwwLDExMCwwLDAsMCwwLDAsMCwwLDgzLDAsMCwwLDk3LDAsMCwwLDExNiwwLDAsMCwxMTcsMCww
LDAsMTE0LDAsMCwwLDEwMCwwLDAsMCw5NywwLDAsMCwxMjEsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDcwLDAsMCwwLDExNCwwLDAsMCwxMDUsMCwwLDAsMTAwLDAsMCwwLDk3LDAsMCwwLDEyMSwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsODQsMCwwLDAsMTA0LDAsMCwwLDExNywwLDAsMCwxMTQsMCwwLDAs
MTE1LDAsMCwwLDEwMCwwLDAsMCw5NywwLDAsMCwxMjEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDg3
LDAsMCwwLDEwMSwwLDAsMCwxMDAsMCwwLDAsMTEwLDAsMCwwLDEwMSwwLDAsMCwxMTUsMCwwLDAs
MTAwLDAsMCwwLDk3LDAsMCwwLDEyMSwwLDAsMCwwLDAsMCwwLDg0LDAsMCwwLDExNywwLDAsMCwx
MDEsMCwwLDAsMTE1LDAsMCwwLDEwMCwwLDAsMCw5NywwLDAsMCwxMjEsMCwwLDAsMCwwLDAsMCw3
NywwLDAsMCwxMTEsMCwwLDAsMTEwLDAsMCwwLDEwMCwwLDAsMCw5NywwLDAsMCwxMjEsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDgzLDAsMCwwLDExNywwLDAsMCwxMTAsMCwwLDAsMTAwLDAsMCwwLDk3
LDAsMCwwLDEyMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNjgsMTAxLDk5LDAsMCwwLDAsMCw3OCwx
MTEsMTE4LDAsMCwwLDAsMCw3OSw5OSwxMTYsMCwwLDAsMCwwLDgzLDEwMSwxMTIsMCwwLDAsMCww
LDY1LDExNywxMDMsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsNDgsNDksNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsMCwwLDAsMCww
LDAsNDgsNDksNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsMCwwLDAsMCwwLDAsMzcsMCwwLDAsODks
MCwwLDAsNDUsMCwwLDAsMzcsMCwwLDAsMTA5LDAsMCwwLDQ1LDAsMCwwLDM3LDAsMCwwLDEwMCww
LDAsMCwzNywwLDAsMCw3MiwwLDAsMCw1OCwwLDAsMCwzNywwLDAsMCw3NywwLDAsMCw1OCwwLDAs
MCwzNywwLDAsMCw4MywwLDAsMCwzNywwLDAsMCw3MiwwLDAsMCw1OCwwLDAsMCwzNywwLDAsMCw3
NywwLDAsMCwwLDAsMCwwLDM3LDAsMCwwLDczLDAsMCwwLDU4LDAsMCwwLDM3LDAsMCwwLDc3LDAs
MCwwLDU4LDAsMCwwLDM3LDAsMCwwLDgzLDAsMCwwLDMyLDAsMCwwLDM3LDAsMCwwLDExMiwwLDAs
MCwwLDAsMCwwLDM3LDAsMCwwLDEwOSwwLDAsMCw0NywwLDAsMCwzNywwLDAsMCwxMDAsMCwwLDAs
NDcsMCwwLDAsMzcsMCwwLDAsMTIxLDAsMCwwLDM3LDAsMCwwLDcyLDAsMCwwLDU4LDAsMCwwLDM3
LDAsMCwwLDc3LDAsMCwwLDU4LDAsMCwwLDM3LDAsMCwwLDgzLDAsMCwwLDM3LDcyLDU4LDM3LDc3
LDU4LDM3LDgzLDM3LDcyLDU4LDM3LDc3LDAsMCwwLDM3LDczLDU4LDM3LDc3LDU4LDM3LDgzLDMy
LDM3LDExMiwwLDAsMCwwLDAsMzcsODksNDUsMzcsMTA5LDQ1LDM3LDEwMCwzNywxMDksNDcsMzcs
MTAwLDQ3LDM3LDEyMSwzNyw3Miw1OCwzNyw3Nyw1OCwzNyw4MywzNywwLDAsMCwwLDAsMCwwLDM3
LDExMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDIyNCwzMSwwLDAsMzAsMCwwLDAsMTE2LDAsMCwwLDk4
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMjQwLDMxLDAsMCwxOTYsMCww
LDAsMTY0LDAsMCwwLDM2LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwz
MiwwLDAsNzAsMCwwLDAsNiwxLDAsMCwzOCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDE2LDMyLDAsMCw5NCwwLDAsMCw4LDAsMCwwLDExMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDMyLDMyLDAsMCw5NCwwLDAsMCwyMCwwLDAsMCwxMTAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw1NiwzMiwwLDAsMTY4LDAsMCwwLDg0LDAs
MCwwLDQ4LDAsMCwwLDIsMCwwLDAsOCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDg4LDMyLDAsMCwyMzAsMCwwLDAsMTg2LDAsMCwwLDQ4LDAsMCwwLDQsMCwwLDAsMTQsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxMjAsMzIsMCwwLDE2MiwwLDAsMCwx
ODgsMCwwLDAsNDgsMCwwLDAsOCwwLDAsMCwxMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDE1MiwzMiwwLDAsMjU0LDAsMCwwLDE0MCwwLDAsMCw0OCwwLDAsMCw2LDAsMCww
LDEwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNTYsMzMsMCwwLDI1Miww
LDAsMCwxNiwwLDAsMCw0OCwwLDAsMCwyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDg4
LDMzLDAsMCwxNjAsMCwwLDAsMTA4LDAsMCwwLDQ4LDAsMCwwLDQsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMTIwLDMzLDAsMCwzOCwwLDAsMCwxMTAsMCwwLDAsNDgsMCwwLDAsMTIwLDAs
MCwwLDQsMCwwLDAsMzIsMCwwLDAsNiwwLDAsMCwyMCwwLDAsMCw1NiwwLDAsMCwyLDAsMCwwLDI0
OCwyNTUsMjU1LDI1NSwxMjAsMzMsMCwwLDIyLDAsMCwwLDgsMCwwLDAsMzIsMCwwLDAsMTIsMCww
LDAsMiwwLDAsMCwzMCwwLDAsMCwxMjQsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwxNjAsMzMsMCwwLDI0MiwwLDAsMCwyMjIsMCwwLDAsNDgsMCwwLDAsMjAsMCwwLDAsMTYs
MCwwLDAsNjAsMCwwLDAsMjYsMCwwLDAsMTgsMCwwLDAsMiwwLDAsMCw0LDAsMCwwLDI0OCwyNTUs
MjU1LDI1NSwxNjAsMzMsMCwwLDcwLDAsMCwwLDEwNCwwLDAsMCwxMTYsMCwwLDAsMTIyLDAsMCww
LDY0LDAsMCwwLDQ0LDAsMCwwLDU0LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMjAwLDMzLDAsMCw3OCwwLDAsMCwxOTAsMCwwLDAsNDgsMCwwLDAsNDgsMCwwLDAsNDAsMCww
LDAsOCwwLDAsMCwzOCwwLDAsMCw0OCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyMTYs
MzMsMCwwLDU4LDAsMCwwLDY0LDAsMCwwLDQ4LDAsMCwwLDQyLDAsMCwwLDg0LDAsMCwwLDEyLDAs
MCwwLDU0LDAsMCwwLDIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMjMyLDMzLDAsMCwy
NDYsMCwwLDAsMiwwLDAsMCw0OCwwLDAsMCwyNCwwLDAsMCwzMCwwLDAsMCw2NCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCw4LDM0LDAsMCw0NiwwLDAsMCwyMDgsMCwwLDAsNDgsMCwwLDAs
MzYsMCwwLDAsMTQsMCwwLDAsMTQsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNDAsMzQs
MCwwLDIxMCwwLDAsMCwxMTIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNDgsMzQsMCww
LDI4LDAsMCwwLDEzOCwwLDAsMCwzOCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDY0LDM0LDAsMCw2LDAsMCwwLDE3NCwwLDAsMCw0OCwwLDAsMCw4LDAsMCwwLDYsMCwwLDAs
MTIsMCwwLDAsNCwwLDAsMCwxMCwwLDAsMCw0LDAsMCwwLDIsMCwwLDAsMTIsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw5NiwzNCwwLDAsOTgsMCwwLDAsMTgsMCwwLDAsNDgs
MCwwLDAsMjAsMCwwLDAsMjQsMCwwLDAsMzQsMCwwLDAsMjIsMCwwLDAsMjIsMCwwLDAsOCwwLDAs
MCw2LDAsMCwwLDE4LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTI4LDM0
LDAsMCw0MCwwLDAsMCwyNCwwLDAsMCw0OCwwLDAsMCw0OCwwLDAsMCw0NiwwLDAsMCwzOCwwLDAs
MCw0MCwwLDAsMCwzMCwwLDAsMCw0NCwwLDAsMCwzNiwwLDAsMCw1NCwwLDAsMCw1MiwwLDAsMCw1
MCwwLDAsMCwyNCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNjAsMzQsMCwwLDUyLDAs
MCwwLDQsMCwwLDAsNDgsMCwwLDAsNzYsMCwwLDAsNzAsMCwwLDAsNjQsMCwwLDAsNjYsMCwwLDAs
NTgsMCwwLDAsNjgsMCwwLDAsNjIsMCwwLDAsMjgsMCwwLDAsNzQsMCwwLDAsNzIsMCwwLDAsNDIs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTkyLDM0LDAsMCw3NCwwLDAsMCw5MiwwLDAs
MCw0OCwwLDAsMCwxNiwwLDAsMCwxMiwwLDAsMCwxMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwyMDgsMzQsMCwwLDI2LDAsMCwwLDE3NiwwLDAsMCw0OCwwLDAsMCwyMiwwLDAsMCwxNCww
LDAsMCwyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIyNCwzNCwwLDAsMjI4LDAsMCww
LDEzMCwwLDAsMCw0OCwwLDAsMCwxNCwwLDAsMCw0LDAsMCwwLDIwLDAsMCwwLDE2LDAsMCwwLDYy
LDAsMCwwLDQsMCwwLDAsNzYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwzNSwwLDAs
MTgwLDAsMCwwLDYwLDAsMCwwLDQ4LDAsMCwwLDIsMCwwLDAsOCwwLDAsMCw4LDAsMCwwLDEwNiww
LDAsMCw5NiwwLDAsMCwxOCwwLDAsMCw5NCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwz
MiwzNSwwLDAsMTgwLDAsMCwwLDEzMiwwLDAsMCw0OCwwLDAsMCwxNiwwLDAsMCw2LDAsMCwwLDIs
MCwwLDAsMTI2LDAsMCwwLDQ2LDAsMCwwLDEyLDAsMCwwLDE4LDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDY0LDM1LDAsMCwxODAsMCwwLDAsMTUyLDAsMCwwLDQ4LDAsMCwwLDEwLDAsMCww
LDEyLDAsMCwwLDI0LDAsMCwwLDM0LDAsMCwwLDc0LDAsMCwwLDYsMCwwLDAsNjYsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsOTYsMzUsMCwwLDE4MCwwLDAsMCwzNCwwLDAsMCw0OCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDExMiwzNSwwLDAsNTYsMCwwLDAsMTU2
LDAsMCwwLDQ4LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTI4LDM1LDAs
MCwxODAsMCwwLDAsODAsMCwwLDAsNDgsMCwwLDAsMjAsMCwwLDAsMiwwLDAsMCw0LDAsMCwwLDEw
LDAsMCwwLDE2LDAsMCwwLDI4LDAsMCwwLDIyLDAsMCwwLDYsMCwwLDAsNiwwLDAsMCw4LDAsMCww
LDEwLDAsMCwwLDEwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTYwLDM1
LDAsMCw0LDEsMCwwLDM2LDAsMCwwLDQ4LDAsMCwwLDIsMCwwLDAsNCwwLDAsMCwxOCwwLDAsMCwz
NCwwLDAsMCw4LDAsMCwwLDYsMCwwLDAsMjYsMCwwLDAsMTQsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwyMDgsMzUsMCwwLDY2LDAsMCwwLDIxOCwwLDAsMCw3OCwwLDAsMCwy
LDAsMCwwLDE0LDAsMCwwLDMyLDAsMCwwLDQsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwyMjQsMzUsMCwwLDE4MCwwLDAsMCw4NiwwLDAsMCw0OCwwLDAsMCwxMCwwLDAsMCwx
MiwwLDAsMCwyNCwwLDAsMCwzNCwwLDAsMCw3NCwwLDAsMCw2LDAsMCwwLDY2LDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDI0MCwzNSwwLDAsMTgwLDAsMCwwLDIzOCwwLDAsMCw0OCwwLDAs
MCwxMCwwLDAsMCwxMiwwLDAsMCwyNCwwLDAsMCwzNCwwLDAsMCw3NCwwLDAsMCw2LDAsMCwwLDY2
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMzYsMCwwLDEyNiwwLDAsMCwyMzQsMCww
LDAsMTYsMCwwLDAsMjIsMCwwLDAsMTYsMCwwLDAsMTAsMCwwLDAsODgsMCwwLDAsMTAwLDAsMCww
LDMwLDAsMCwwLDI4LDAsMCwwLDI2LDAsMCwwLDI4LDAsMCwwLDQwLDAsMCwwLDIwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDgsMzYsMCwwLDEwLDAsMCwwLDExOCwwLDAsMCw1OCwwLDAs
MCwzOCwwLDAsMCwyOCwwLDAsMCw2LDAsMCwwLDUwLDAsMCwwLDg2LDAsMCwwLDE4LDAsMCwwLDYs
MCwwLDAsMTAsMCwwLDAsMjQsMCwwLDAsMTYsMCwwLDAsMTAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMTYsMzYsMCwwLDEwMCwwLDAsMCwxOTQsMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDE0
LDAsMCwwLDMyLDAsMCwwLDIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNCwwLDAsMCww
LDAsMCwwLDU2LDM2LDAsMCw0NCwwLDAsMCwyMDYsMCwwLDAsMjUyLDI1NSwyNTUsMjU1LDI1Miwy
NTUsMjU1LDI1NSw1NiwzNiwwLDAsMTQ2LDAsMCwwLDEyNCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
NCwwLDAsMCwwLDAsMCwwLDgwLDM2LDAsMCwyMTIsMCwwLDAsMjM2LDAsMCwwLDI1MiwyNTUsMjU1
LDI1NSwyNTIsMjU1LDI1NSwyNTUsODAsMzYsMCwwLDEwNiwwLDAsMCwyMDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDgsMCwwLDAsMCwwLDAsMCwxMDQsMzYsMCwwLDg4LDAsMCwwLDgsMSwwLDAsMjQ4
LDI1NSwyNTUsMjU1LDI0OCwyNTUsMjU1LDI1NSwxMDQsMzYsMCwwLDE4MiwwLDAsMCwyMzIsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDgsMCwwLDAsMCwwLDAsMCwxMjgsMzYsMCwwLDEwNCwwLDAsMCwy
MDQsMCwwLDAsMjQ4LDI1NSwyNTUsMjU1LDI0OCwyNTUsMjU1LDI1NSwxMjgsMzYsMCwwLDEzNiww
LDAsMCw1MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNTIsMzYsMCwwLDIwMiwwLDAs
MCwxODQsMCwwLDAsMzgsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxOTIs
MzYsMCwwLDI0OCwwLDAsMCwyMjYsMCwwLDAsNCwwLDAsMCwyMiwwLDAsMCwxNiwwLDAsMCwxMCww
LDAsMCw1OCwwLDAsMCwxMDAsMCwwLDAsMzAsMCwwLDAsMjgsMCwwLDAsMjYsMCwwLDAsMjgsMCww
LDAsNDAsMCwwLDAsMjYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMjA4LDM2LDAsMCwx
NTQsMCwwLDAsMTc4LDAsMCwwLDM0LDAsMCwwLDM4LDAsMCwwLDI4LDAsMCwwLDYsMCwwLDAsOTAs
MCwwLDAsODYsMCwwLDAsMTgsMCwwLDAsNiwwLDAsMCwxMCwwLDAsMCwyNCwwLDAsMCwxNiwwLDAs
MCwxNCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDM3LDAsMCwyMjAsMCwwLDAsMTQ0
LDAsMCwwLDQ4LDAsMCwwLDY4LDAsMCwwLDExOCwwLDAsMCw0MCwwLDAsMCw4MCwwLDAsMCw2LDAs
MCwwLDI4LDAsMCwwLDUyLDAsMCwwLDIwLDAsMCwwLDM2LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDMyLDM3LDAsMCwxMDIsMCwwLDAsNTQsMCwwLDAsNDgsMCwwLDAsMTEyLDAsMCwwLDQs
MCwwLDAsNjYsMCwwLDAsNzQsMCwwLDAsNzYsMCwwLDAsMjIsMCwwLDAsMTE0LDAsMCwwLDUwLDAs
MCwwLDEwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDY0LDM3LDAsMCwyMjQsMCwwLDAs
MTE0LDAsMCwwLDQ4LDAsMCwwLDE0LDAsMCwwLDYwLDAsMCwwLDQ2LDAsMCwwLDQyLDAsMCwwLDc4
LDAsMCwwLDUyLDAsMCwwLDkyLDAsMCwwLDU2LDAsMCwwLDMyLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDk2LDM3LDAsMCw3NiwwLDAsMCwxNzIsMCwwLDAsNDgsMCwwLDAsMTAyLDAsMCww
LDEwOCwwLDAsMCwyNiwwLDAsMCw3MiwwLDAsMCwyNCwwLDAsMCwxOCwwLDAsMCw4MCwwLDAsMCw3
MCwwLDAsMCw2OCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNTIsMzcsMCwwLDkwLDAs
MCwwLDY4LDAsMCwwLDYyLDAsMCwwLDIyLDAsMCwwLDE2LDAsMCwwLDEwLDAsMCwwLDg4LDAsMCww
LDEwMCwwLDAsMCwzMCwwLDAsMCw3MiwwLDAsMCw4MiwwLDAsMCwxMiwwLDAsMCw0MCwwLDAsMCwy
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNjgsMzcsMCwwLDE0LDAsMCwwLDIxNCww
LDAsMCw2MCwwLDAsMCwzOCwwLDAsMCwyOCwwLDAsMCw2LDAsMCwwLDUwLDAsMCwwLDg2LDAsMCww
LDE4LDAsMCwwLDU2LDAsMCwwLDI0LDAsMCwwLDQsMCwwLDAsMTYsMCwwLDAsMTAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMTg0LDM3LDAsMCwyNTAsMCwwLDAsMTk4LDAsMCwwLDYyLDAs
MCwwLDE1MCwwLDAsMCw4LDAsMCwwLDIsMCwwLDAsNiwwLDAsMCw0LDAsMCwwLDAsMCwwLDAsMCww
LDAsMCw4MywxMTYsNTcsMTE2LDEyMSwxMTIsMTAxLDk1LDEwNSwxMTAsMTAyLDExMSwwLDAsMCww
LDgzLDExNiw1NywxMDEsMTIwLDk5LDEwMSwxMTIsMTE2LDEwNSwxMTEsMTEwLDAsMCwwLDAsODMs
MTE2LDU3LDk4LDk3LDEwMCw5NSw5NywxMDgsMTA4LDExMSw5OSwwLDAsMCwwLDgzLDExNiw1Niw5
OCw5NywxMDAsOTUsOTksOTcsMTE1LDExNiwwLDAsMCwwLDAsODMsMTE2LDQ5LDUxLDExNCwxMTcs
MTEwLDExNiwxMDUsMTA5LDEwMSw5NSwxMDEsMTE0LDExNCwxMTEsMTE0LDAsMCwwLDAsMCwwLDAs
ODMsMTE2LDQ5LDUwLDEwOCwxMDEsMTEwLDEwMywxMTYsMTA0LDk1LDEwMSwxMTQsMTE0LDExMSwx
MTQsMCwwLDAsMCwwLDAsMCwwLDgzLDExNiw0OSw0OSwxMDgsMTExLDEwMywxMDUsOTksOTUsMTAx
LDExNCwxMTQsMTExLDExNCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1NywxMTYsMTA1LDEwOSwx
MDEsOTUsOTgsOTcsMTE1LDEwMSw2OSwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDks
NTcsMTA5LDExMSwxMTAsMTAxLDEyMSw5NSwxMTIsMTE3LDExNiw3MywxMTksNzgsODMsOTUsNDks
NTcsMTExLDExNSwxMTYsMTE0LDEwMSw5NywxMDksOTgsMTE3LDEwMiw5NSwxMDUsMTE2LDEwMSwx
MTQsOTcsMTE2LDExMSwxMTQsNzMsMTE5LDc4LDgzLDk1LDQ5LDQ5LDk5LDEwNCw5NywxMTQsOTUs
MTE2LDExNCw5NywxMDUsMTE2LDExNSw3MywxMTksNjksNjksNjksNjksNjksNjksMCwwLDAsNzgs
ODMsMTE2LDUxLDk1LDk1LDQ5LDU3LDEwOSwxMTEsMTEwLDEwMSwxMjEsOTUsMTEyLDExNywxMTYs
NzMsOTksNzgsODMsOTUsNDksNTcsMTExLDExNSwxMTYsMTE0LDEwMSw5NywxMDksOTgsMTE3LDEw
Miw5NSwxMDUsMTE2LDEwMSwxMTQsOTcsMTE2LDExMSwxMTQsNzMsOTksNzgsODMsOTUsNDksNDks
OTksMTA0LDk3LDExNCw5NSwxMTYsMTE0LDk3LDEwNSwxMTYsMTE1LDczLDk5LDY5LDY5LDY5LDY5
LDY5LDY5LDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1NywxMDksMTExLDExMCwxMDEsMTIx
LDk1LDEwMywxMDEsMTE2LDczLDExOSw3OCw4Myw5NSw0OSw1NywxMDUsMTE1LDExNiwxMTQsMTAx
LDk3LDEwOSw5OCwxMTcsMTAyLDk1LDEwNSwxMTYsMTAxLDExNCw5NywxMTYsMTExLDExNCw3Mywx
MTksNzgsODMsOTUsNDksNDksOTksMTA0LDk3LDExNCw5NSwxMTYsMTE0LDk3LDEwNSwxMTYsMTE1
LDczLDExOSw2OSw2OSw2OSw2OSw2OSw2OSwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTcs
MTA5LDExMSwxMTAsMTAxLDEyMSw5NSwxMDMsMTAxLDExNiw3Myw5OSw3OCw4Myw5NSw0OSw1Nywx
MDUsMTE1LDExNiwxMTQsMTAxLDk3LDEwOSw5OCwxMTcsMTAyLDk1LDEwNSwxMTYsMTAxLDExNCw5
NywxMTYsMTExLDExNCw3Myw5OSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwx
MTQsOTcsMTA1LDExNiwxMTUsNzMsOTksNjksNjksNjksNjksNjksNjksMCwwLDAsNzgsODMsMTE2
LDUxLDk1LDk1LDQ5LDU3LDk4LDk3LDExNSwxMDUsOTksOTUsMTA1LDExMSwxMTUsNzMsMTE5LDc4
LDgzLDk1LDQ5LDQ5LDk5LDEwNCw5NywxMTQsOTUsMTE2LDExNCw5NywxMDUsMTE2LDExNSw3Mywx
MTksNjksNjksNjksNjksMCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTcsOTgs
OTcsMTE1LDEwNSw5OSw5NSwxMDUsMTExLDExNSw3Myw5OSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQs
OTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUsNzMsOTksNjksNjksNjksNjksMCwwLDAs
MCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTcsOTUsOTUsMTEwLDExNywxMDksOTUsMTEy
LDExNywxMTYsNzMsMTE5LDY5LDY5LDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1Nyw5NSw5
NSwxMTAsMTE3LDEwOSw5NSwxMTIsMTE3LDExNiw3Myw5OSw2OSw2OSwwLDAsMCw3OCw4MywxMTYs
NTEsOTUsOTUsNDksNTcsOTUsOTUsMTEwLDExNywxMDksOTUsMTAzLDEwMSwxMTYsNzMsMTE5LDY5
LDY5LDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1Nyw5NSw5NSwxMTAsMTE3LDEwOSw5NSwx
MDMsMTAxLDExNiw3Myw5OSw2OSw2OSwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTYsMTE2
LDEwNSwxMDksMTAxLDk1LDExMiwxMTcsMTE2LDczLDExOSw3OCw4Myw5NSw0OSw1NywxMTEsMTE1
LDExNiwxMTQsMTAxLDk3LDEwOSw5OCwxMTcsMTAyLDk1LDEwNSwxMTYsMTAxLDExNCw5NywxMTYs
MTExLDExNCw3MywxMTksNzgsODMsOTUsNDksNDksOTksMTA0LDk3LDExNCw5NSwxMTYsMTE0LDk3
LDEwNSwxMTYsMTE1LDczLDExOSw2OSw2OSw2OSw2OSw2OSw2OSwwLDAsMCwwLDc4LDgzLDExNiw1
MSw5NSw5NSw0OSw1NiwxMTYsMTA1LDEwOSwxMDEsOTUsMTEyLDExNywxMTYsNzMsOTksNzgsODMs
OTUsNDksNTcsMTExLDExNSwxMTYsMTE0LDEwMSw5NywxMDksOTgsMTE3LDEwMiw5NSwxMDUsMTE2
LDEwMSwxMTQsOTcsMTE2LDExMSwxMTQsNzMsOTksNzgsODMsOTUsNDksNDksOTksMTA0LDk3LDEx
NCw5NSwxMTYsMTE0LDk3LDEwNSwxMTYsMTE1LDczLDk5LDY5LDY5LDY5LDY5LDY5LDY5LDAsMCww
LDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDU2LDExNiwxMDUsMTA5LDEwMSw5NSwxMDMsMTAxLDEx
Niw3MywxMTksNzgsODMsOTUsNDksNTcsMTA1LDExNSwxMTYsMTE0LDEwMSw5NywxMDksOTgsMTE3
LDEwMiw5NSwxMDUsMTE2LDEwMSwxMTQsOTcsMTE2LDExMSwxMTQsNzMsMTE5LDc4LDgzLDk1LDQ5
LDQ5LDk5LDEwNCw5NywxMTQsOTUsMTE2LDExNCw5NywxMDUsMTE2LDExNSw3MywxMTksNjksNjks
NjksNjksNjksNjksMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTYsMTE2LDEwNSwxMDks
MTAxLDk1LDEwMywxMDEsMTE2LDczLDk5LDc4LDgzLDk1LDQ5LDU3LDEwNSwxMTUsMTE2LDExNCwx
MDEsOTcsMTA5LDk4LDExNywxMDIsOTUsMTA1LDExNiwxMDEsMTE0LDk3LDExNiwxMTEsMTE0LDcz
LDk5LDc4LDgzLDk1LDQ5LDQ5LDk5LDEwNCw5NywxMTQsOTUsMTE2LDExNCw5NywxMDUsMTE2LDEx
NSw3Myw5OSw2OSw2OSw2OSw2OSw2OSw2OSwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1
NiwxMTAsMTE3LDEwOSwxMTIsMTE3LDExMCw5OSwxMTYsNzMsMTE5LDY5LDY5LDAsMCwwLDAsNzgs
ODMsMTE2LDUxLDk1LDk1LDQ5LDU2LDExMCwxMTcsMTA5LDExMiwxMTcsMTEwLDk5LDExNiw3Myw5
OSw2OSw2OSwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1NiwxMDksMTAxLDExNSwxMTUs
OTcsMTAzLDEwMSwxMTUsNzMsMTE5LDY5LDY5LDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5
LDU2LDEwOSwxMDEsMTE1LDExNSw5NywxMDMsMTAxLDExNSw3Myw5OSw2OSw2OSwwLDAsMCwwLDc4
LDgzLDExNiw1MSw5NSw5NSw0OSw1NiwxMDUsMTExLDExNSw5NSw5OCw5NywxMTUsMTAxLDY5LDAs
MCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDU2LDEwNSwxMTEsMTE1LDk1LDk4LDk3
LDExNSwxMDEsNTUsMTAyLDk3LDEwNSwxMDgsMTE3LDExNCwxMDEsNjksMCwwLDAsMCwwLDAsMCw3
OCw4MywxMTYsNTEsOTUsOTUsNDksNTUsMTEwLDExNywxMDksOTUsMTEyLDExNywxMTYsNzMsMTE5
LDc4LDgzLDk1LDQ5LDU3LDExMSwxMTUsMTE2LDExNCwxMDEsOTcsMTA5LDk4LDExNywxMDIsOTUs
MTA1LDExNiwxMDEsMTE0LDk3LDExNiwxMTEsMTE0LDczLDExOSw3OCw4Myw5NSw0OSw0OSw5OSwx
MDQsOTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUsNzMsMTE5LDY5LDY5LDY5LDY5LDY5
LDY5LDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTUsMTEwLDExNywxMDksOTUsMTEy
LDExNywxMTYsNzMsOTksNzgsODMsOTUsNDksNTcsMTExLDExNSwxMTYsMTE0LDEwMSw5NywxMDks
OTgsMTE3LDEwMiw5NSwxMDUsMTE2LDEwMSwxMTQsOTcsMTE2LDExMSwxMTQsNzMsOTksNzgsODMs
OTUsNDksNDksOTksMTA0LDk3LDExNCw5NSwxMTYsMTE0LDk3LDEwNSwxMTYsMTE1LDczLDk5LDY5
LDY5LDY5LDY5LDY5LDY5LDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTUsMTEwLDEx
NywxMDksOTUsMTAzLDEwMSwxMTYsNzMsMTE5LDc4LDgzLDk1LDQ5LDU3LDEwNSwxMTUsMTE2LDEx
NCwxMDEsOTcsMTA5LDk4LDExNywxMDIsOTUsMTA1LDExNiwxMDEsMTE0LDk3LDExNiwxMTEsMTE0
LDczLDExOSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDEx
NiwxMTUsNzMsMTE5LDY5LDY5LDY5LDY5LDY5LDY5LDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUs
OTUsNDksNTUsMTEwLDExNywxMDksOTUsMTAzLDEwMSwxMTYsNzMsOTksNzgsODMsOTUsNDksNTcs
MTA1LDExNSwxMTYsMTE0LDEwMSw5NywxMDksOTgsMTE3LDEwMiw5NSwxMDUsMTE2LDEwMSwxMTQs
OTcsMTE2LDExMSwxMTQsNzMsOTksNzgsODMsOTUsNDksNDksOTksMTA0LDk3LDExNCw5NSwxMTYs
MTE0LDk3LDEwNSwxMTYsMTE1LDczLDk5LDY5LDY5LDY5LDY5LDY5LDY5LDAsMCwwLDAsMCw3OCw4
MywxMTYsNTEsOTUsOTUsNDksNTUsOTksMTExLDEwOCwxMDgsOTcsMTE2LDEwMSw3MywxMTksNjks
NjksMCwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw1NSw5OSwxMTEsMTA4LDEwOCw5Nywx
MTYsMTAxLDczLDk5LDY5LDY5LDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTUsOTks
MTExLDEwMCwxMDEsOTksMTE4LDExNiw3MywxMTksOTksNDksNDgsOTUsMTA5LDk4LDExNSwxMTYs
OTcsMTE2LDEwMSw5NSwxMTYsNjksNjksMCwwLDAsMCwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5
NSw0OSw1NSw5OSwxMTEsMTAwLDEwMSw5OSwxMTgsMTE2LDczLDk5LDk5LDQ5LDQ4LDk1LDEwOSw5
OCwxMTUsMTE2LDk3LDExNiwxMDEsOTUsMTE2LDY5LDY5LDAsMCwwLDAsMCwwLDAsMCw3OCw4Mywx
MTYsNTEsOTUsOTUsNDksNTUsOTksMTExLDEwMCwxMDEsOTksMTE4LDExNiw3Myw2OCwxMTUsOTks
NDksNDgsOTUsMTA5LDk4LDExNSwxMTYsOTcsMTE2LDEwMSw5NSwxMTYsNjksNjksMCwwLDAsMCww
LDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTUsOTksMTExLDEwMCwxMDEsOTksMTE4LDExNiw3
Myw2OCwxMDUsOTksNDksNDgsOTUsMTA5LDk4LDExNSwxMTYsOTcsMTE2LDEwMSw5NSwxMTYsNjks
NjksMCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTQsMTA4LDExMSw5OSw5Nywx
MDgsMTAxLDUzLDEwMiw5Nyw5OSwxMDEsMTE2LDY5LDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0
OSw1NCwxMDgsMTExLDk5LDk3LDEwOCwxMDEsNTMsOTUsOTUsMTA1LDEwOSwxMTIsNjksMCwwLDAs
NzgsODMsMTE2LDUxLDk1LDk1LDQ5LDUzLDk5LDExNiwxMjEsMTEyLDEwMSw3MywxMTksNjksNjks
MCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNTMsOTksMTE2LDEyMSwxMTIsMTAx
LDczLDk5LDY5LDY5LDAsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDUwLDQ4LDk1
LDk1LDExNiwxMDUsMTA5LDEwMSw5NSwxMDMsMTAxLDExNiw5NSw5OSw5NSwxMTUsMTE2LDExMSwx
MTQsOTcsMTAzLDEwMSw3MywxMTksNjksNjksMCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUs
OTUsNDksNTAsNDgsOTUsOTUsMTE2LDEwNSwxMDksMTAxLDk1LDEwMywxMDEsMTE2LDk1LDk5LDk1
LDExNSwxMTYsMTExLDExNCw5NywxMDMsMTAxLDczLDk5LDY5LDY5LDAsMCwwLDAsMCwwLDAsNzgs
ODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDU3LDk1LDk1LDEwNSwxMTEsMTE1LDExNiwxMTQsMTAxLDk3
LDEwOSw5NSw5OSw5NywxMTYsMTAxLDEwMywxMTEsMTE0LDEyMSw2OSwwLDAsMCw3OCw4MywxMTYs
NTEsOTUsOTUsNDksNDksNTUsOTUsOTUsMTE5LDEwNSwxMDAsMTAxLDExMCw5NSwxMDIsMTE0LDEx
MSwxMDksOTUsMTE3LDExNiwxMDIsNTYsNzMsNzYsMTA2LDUxLDUwLDY5LDY5LDY5LDAsMCwwLDAs
MCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1NCw5NSw5NSwxMTAsOTcsMTE0LDExNCwxMTEs
MTE5LDk1LDExNiwxMTEsOTUsMTE3LDExNiwxMDIsNTYsNzMsNzYsMTA2LDUxLDUwLDY5LDY5LDY5
LDAsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDUzLDk4LDk3LDExNSwxMDUs
OTksOTUsMTE1LDExNiwxMTQsMTAxLDk3LDEwOSw5OCwxMTcsMTAyLDczLDExOSw3OCw4Myw5NSw0
OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUsNzMsMTE5LDY5LDY5
LDY5LDY5LDAsMCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNTMsOTgsOTcs
MTE1LDEwNSw5OSw5NSwxMTUsMTE2LDExNCwxMDEsOTcsMTA5LDk4LDExNywxMDIsNzMsOTksNzgs
ODMsOTUsNDksNDksOTksMTA0LDk3LDExNCw5NSwxMTYsMTE0LDk3LDEwNSwxMTYsMTE1LDczLDk5
LDY5LDY5LDY5LDY5LDAsMCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNTIs
MTAxLDExNCwxMTQsMTExLDExNCw5NSw5OSw5NywxMTYsMTAxLDEwMywxMTEsMTE0LDEyMSw2OSww
LDAsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDUyLDk1LDk1LDExNSwxMDQs
OTcsMTE0LDEwMSwxMDAsOTUsOTksMTExLDExNywxMTAsMTE2LDY5LDAsMCwwLDAsMCwwLDAsMCw3
OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNTIsOTUsOTUsMTEwLDExNywxMDksOTUsMTEyLDExNywx
MTYsOTUsOTgsOTcsMTE1LDEwMSw2OSwwLDAsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1
LDQ5LDQ5LDUyLDk1LDk1LDExMCwxMTcsMTA5LDk1LDEwMywxMDEsMTE2LDk1LDk4LDk3LDExNSwx
MDEsNjksMCwwLDAsMCwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1MSwxMDksMTAx
LDExNSwxMTUsOTcsMTAzLDEwMSwxMTUsOTUsOTgsOTcsMTE1LDEwMSw2OSwwLDc4LDgzLDExNiw1
MSw5NSw5NSw0OSw0OSw1MSw5OCw5NywxMTUsMTA1LDk5LDk1LDExMSwxMTUsMTE2LDExNCwxMDEs
OTcsMTA5LDczLDExOSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwxMTQsOTcs
MTA1LDExNiwxMTUsNzMsMTE5LDY5LDY5LDY5LDY5LDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDks
NDksNTEsOTgsOTcsMTE1LDEwNSw5OSw5NSwxMTEsMTE1LDExNiwxMTQsMTAxLDk3LDEwOSw3Myw5
OSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUs
NzMsOTksNjksNjksNjksNjksMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1MSw5OCw5Nywx
MTUsMTA1LDk5LDk1LDEwNSwxMTUsMTE2LDExNCwxMDEsOTcsMTA5LDczLDExOSw3OCw4Myw5NSw0
OSw0OSw5OSwxMDQsOTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUsNzMsMTE5LDY5LDY5
LDY5LDY5LDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNTEsOTgsOTcsMTE1LDEwNSw5OSw5
NSwxMDUsMTE1LDExNiwxMTQsMTAxLDk3LDEwOSw3Myw5OSw3OCw4Myw5NSw0OSw0OSw5OSwxMDQs
OTcsMTE0LDk1LDExNiwxMTQsOTcsMTA1LDExNiwxMTUsNzMsOTksNjksNjksNjksNjksMCwwLDc4
LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw1MCwxMTUsMTIxLDExNSwxMTYsMTAxLDEwOSw5NSwxMDEs
MTE0LDExNCwxMTEsMTE0LDY5LDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNTAsOTksMTEx
LDEwMCwxMDEsOTksMTE4LDExNiw5NSw5OCw5NywxMTUsMTAxLDY5LDAsMCw3OCw4MywxMTYsNTEs
OTUsOTUsNDksNDksNTAsOTUsOTUsMTAwLDExMSw5NSwxMDksMTAxLDExNSwxMTUsOTcsMTAzLDEw
MSw2OSwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ5LDk1LDk1LDExNSwxMTYsMTAwLDEx
MSwxMTcsMTE2LDk4LDExNywxMDIsNzMsMTE5LDY5LDY5LDAsMCwwLDAsMCwwLDAsMCw3OCw4Mywx
MTYsNTEsOTUsOTUsNDksNDksNDksOTUsOTUsMTE1LDExNiwxMDAsMTExLDExNywxMTYsOTgsMTE3
LDEwMiw3Myw5OSw2OSw2OSwwLDAsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5
LDQ5LDk1LDk1LDEwOSwxMTEsMTEwLDEwMSwxMjEsOTUsMTEyLDExNywxMTYsNzMsMTE5LDY5LDY5
LDAsMCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNDksOTUsOTUsMTA5LDEx
MSwxMTAsMTAxLDEyMSw5NSwxMTIsMTE3LDExNiw3Myw5OSw2OSw2OSwwLDAsMCwwLDAsMCwwLDAs
NzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ5LDk1LDk1LDEwOSwxMTEsMTEwLDEwMSwxMjEsOTUs
MTAzLDEwMSwxMTYsNzMsMTE5LDY5LDY5LDAsMCwwLDAsMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUs
OTUsNDksNDksNDksOTUsOTUsMTA5LDExMSwxMTAsMTAxLDEyMSw5NSwxMDMsMTAxLDExNiw3Myw5
OSw2OSw2OSwwLDAsMCwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ4LDEwOSwx
MTEsMTEwLDEwMSwxMjEsMTEyLDExNywxMTAsOTksMTE2LDczLDExOSw3Niw5OCw0OSw2OSw2OSw2
OSwwLDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ4LDEwOSwxMTEsMTEwLDEwMSwx
MjEsMTEyLDExNywxMTAsOTksMTE2LDczLDExOSw3Niw5OCw0OCw2OSw2OSw2OSwwLDAsMCwwLDAs
NzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ4LDEwOSwxMTEsMTEwLDEwMSwxMjEsMTEyLDExNywx
MTAsOTksMTE2LDczLDk5LDc2LDk4LDQ5LDY5LDY5LDY5LDAsMCwwLDAsMCw3OCw4MywxMTYsNTEs
OTUsOTUsNDksNDksNDgsMTA5LDExMSwxMTAsMTAxLDEyMSwxMTIsMTE3LDExMCw5OSwxMTYsNzMs
OTksNzYsOTgsNDgsNjksNjksNjksMCwwLDAsMCwwLDc4LDgzLDExNiw1MSw5NSw5NSw0OSw0OSw0
OCwxMDksMTExLDExMCwxMDEsMTIxLDk1LDk4LDk3LDExNSwxMDEsNjksMCwwLDAsMCw3OCw4Mywx
MTYsNTEsOTUsOTUsNDksNDksNDgsOTksMTE2LDEyMSwxMTIsMTAxLDk1LDk4LDk3LDExNSwxMDEs
NjksMCwwLDAsMCw3OCw4MywxMTYsNTEsOTUsOTUsNDksNDksNDgsOTUsOTUsMTE2LDEwNSwxMDks
MTAxLDk1LDExMiwxMTcsMTE2LDY5LDAsMCwwLDAsNzgsODMsMTE2LDUxLDk1LDk1LDQ5LDQ5LDQ4
LDk1LDk1LDExNSwxMTYsMTAwLDEwNSwxMTAsOTgsMTE3LDEwMiw3MywxMTksNjksNjksMCw3OCw4
MywxMTYsNTEsOTUsOTUsNDksNDksNDgsOTUsOTUsMTE1LDExNiwxMDAsMTA1LDExMCw5OCwxMTcs
MTAyLDczLDk5LDY5LDY5LDAsNzgsNDksNDgsOTUsOTUsOTksMTIwLDEyMCw5Nyw5OCwxMDUsMTE4
LDQ5LDUwLDQ5LDk1LDk1LDExOCwxMDksMTA1LDk1LDk5LDEwOCw5NywxMTUsMTE1LDk1LDExNiwx
MjEsMTEyLDEwMSw5NSwxMDUsMTEwLDEwMiwxMTEsNjksMCwwLDAsNzgsNDksNDgsOTUsOTUsOTks
MTIwLDEyMCw5Nyw5OCwxMDUsMTE4LDQ5LDUwLDQ4LDk1LDk1LDExNSwxMDUsOTUsOTksMTA4LDk3
LDExNSwxMTUsOTUsMTE2LDEyMSwxMTIsMTAxLDk1LDEwNSwxMTAsMTAyLDExMSw2OSwwLDAsMCww
LDc4LDQ5LDQ4LDk1LDk1LDk5LDEyMCwxMjAsOTcsOTgsMTA1LDExOCw0OSw0OSw1NSw5NSw5NSw5
OSwxMDgsOTcsMTE1LDExNSw5NSwxMTYsMTIxLDExMiwxMDEsOTUsMTA1LDExMCwxMDIsMTExLDY5
LDAsMCwwLDAsMCwwLDAsNzgsNDksNDgsOTUsOTUsOTksMTIwLDEyMCw5Nyw5OCwxMDUsMTE4LDQ5
LDQ5LDU0LDk1LDk1LDExNSwxMDQsMTA1LDEwOSw5NSwxMTYsMTIxLDExMiwxMDEsOTUsMTA1LDEx
MCwxMDIsMTExLDY5LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDQwLDIwLDAsMCwwLDAsMCwwLDU2
LDIwLDAsMCwwLDAsMCwwLDcyLDIwLDAsMCwyMTYsMzEsMCwwLDAsMCwwLDAsMCwwLDAsMCw4OCwy
MCwwLDAsMjE2LDMxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTA0LDIwLDAsMCwyMTYsMzEsMCwwLDAs
MCwwLDAsMCwwLDAsMCwxMjgsMjAsMCwwLDMyLDMyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTUyLDIw
LDAsMCwyMTYsMzEsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNjgsMjAsMCwwLDAsMjAsMCwwLDE5Miwy
MCwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAsMCwwLDIyNCwzNiwwLDAsMCwwLDAs
MCwwLDIwLDAsMCw4LDIxLDAsMCwwLDAsMCwwLDIsMCwwLDAsOTYsMzUsMCwwLDIsMCwwLDAsMjMy
LDM2LDAsMCwwLDAsMCwwLDAsMjAsMCwwLDgwLDIxLDAsMCwwLDAsMCwwLDIsMCwwLDAsOTYsMzUs
MCwwLDIsMCwwLDAsMjQwLDM2LDAsMCwwLDAsMCwwLDAsMjAsMCwwLDE1MiwyMSwwLDAsMCwwLDAs
MCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAsMCwwLDI0OCwzNiwwLDAsMCwwLDAsMCwwLDAsMCwwLDIy
NCwyMSwwLDAsNDAsMzQsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNiwyMiwwLDAsNDAsMzQsMCwwLDAs
MCwwLDAsMCwyMCwwLDAsNjQsMjIsMCwwLDAsMCwwLDAsMSwwLDAsMCwzMiwzNiwwLDAsMCwwLDAs
MCwwLDIwLDAsMCw4OCwyMiwwLDAsMCwwLDAsMCwxLDAsMCwwLDMyLDM2LDAsMCwwLDAsMCwwLDAs
MjAsMCwwLDExMiwyMiwwLDAsMCwwLDAsMCwxLDAsMCwwLDQwLDM2LDAsMCwwLDAsMCwwLDAsMjAs
MCwwLDEzNiwyMiwwLDAsMCwwLDAsMCwxLDAsMCwwLDQwLDM2LDAsMCwwLDAsMCwwLDAsMjAsMCww
LDE2MCwyMiwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAsMCwwLDE0NCwzNywwLDAs
MCw4LDAsMCwwLDIwLDAsMCwyMzIsMjIsMCwwLDAsMCwwLDAsMiwwLDAsMCw5NiwzNSwwLDAsMiww
LDAsMCwxNDQsMzcsMCwwLDAsOCwwLDAsMCwyMCwwLDAsNDgsMjMsMCwwLDAsMCwwLDAsMywwLDAs
MCw5NiwzNSwwLDAsMiwwLDAsMCw0OCwzMiwwLDAsMiwwLDAsMCwxOTIsMzUsMCwwLDAsOCwwLDAs
MCwyMCwwLDAsMTIwLDIzLDAsMCwwLDAsMCwwLDMsMCwwLDAsOTYsMzUsMCwwLDIsMCwwLDAsNDgs
MzIsMCwwLDIsMCwwLDAsMjAwLDM1LDAsMCwwLDgsMCwwLDAsMCwwLDAsMTkyLDIzLDAsMCw5Niwz
NSwwLDAsMCwwLDAsMCwwLDAsMCwwLDIxNiwyMywwLDAsOTYsMzUsMCwwLDAsMCwwLDAsMCwyMCww
LDAsMjQwLDIzLDAsMCwwLDAsMCwwLDIsMCwwLDAsOTYsMzUsMCwwLDIsMCwwLDAsNDgsMzYsMCww
LDIsMCwwLDAsMCwyMCwwLDAsOCwyNCwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAs
MCwwLDQ4LDM2LDAsMCwyLDAsMCwwLDAsMCwwLDAsMzIsMjQsMCwwLDAsMCwwLDAsNTYsMjQsMCww
LDE1MiwzNiwwLDAsMCwwLDAsMCwwLDIwLDAsMCw4OCwyNCwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2
LDM1LDAsMCwyLDAsMCwwLDIxNiwzMiwwLDAsMCwwLDAsMCwwLDIwLDAsMCwxNjAsMjQsMCwwLDAs
MCwwLDAsMiwwLDAsMCw5NiwzNSwwLDAsMiwwLDAsMCwyNDAsMzIsMCwwLDAsMCwwLDAsMCwyMCww
LDAsMjMyLDI0LDAsMCwwLDAsMCwwLDIsMCwwLDAsOTYsMzUsMCwwLDIsMCwwLDAsOCwzMywwLDAs
MCwwLDAsMCwwLDIwLDAsMCw0OCwyNSwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAs
MCwwLDMyLDMzLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTIwLDI1LDAsMCw5NiwzNSwwLDAsMCwwLDAs
MCwwLDAsMCwwLDE0NCwyNSwwLDAsOTYsMzUsMCwwLDAsMCwwLDAsMCwyMCwwLDAsMTY4LDI1LDAs
MCwwLDAsMCwwLDIsMCwwLDAsOTYsMzUsMCwwLDIsMCwwLDAsMTY4LDM2LDAsMCwyLDAsMCwwLDAs
MjAsMCwwLDIwOCwyNSwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAsMCwwLDE2OCwz
NiwwLDAsMiwwLDAsMCwwLDIwLDAsMCwyNDgsMjUsMCwwLDAsMCwwLDAsMiwwLDAsMCw5NiwzNSww
LDAsMiwwLDAsMCwxNjgsMzYsMCwwLDIsMCwwLDAsMCwyMCwwLDAsMzIsMjYsMCwwLDAsMCwwLDAs
MiwwLDAsMCw5NiwzNSwwLDAsMiwwLDAsMCwxNjgsMzYsMCwwLDIsMCwwLDAsMCwwLDAsMCw3Miwy
NiwwLDAsMjQsMzYsMCwwLDAsMCwwLDAsMCwwLDAsMCw5NiwyNiwwLDAsOTYsMzUsMCwwLDAsMCww
LDAsMCwyMCwwLDAsMTIwLDI2LDAsMCwwLDAsMCwwLDIsMCwwLDAsOTYsMzUsMCwwLDIsMCwwLDAs
MTM2LDM3LDAsMCwyLDAsMCwwLDAsMjAsMCwwLDE0NCwyNiwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2
LDM1LDAsMCwyLDAsMCwwLDEzNiwzNywwLDAsMiwwLDAsMCwwLDAsMCwwLDE2OCwyNiwwLDAsMCww
LDAsMCwyMDgsMjYsMCwwLDAsMCwwLDAsMjQ4LDI2LDAsMCwxNzYsMzYsMCwwLDAsMCwwLDAsMCww
LDAsMCwyNCwyNywwLDAsNjQsMzUsMCwwLDAsMCwwLDAsMCwwLDAsMCw2NCwyNywwLDAsNjQsMzUs
MCwwLDAsMCwwLDAsMCwwLDAsMCwxMDQsMjcsMCwwLDAsMCwwLDAsMTYwLDI3LDAsMCwwLDAsMCww
LDIxNiwyNywwLDAsMCwwLDAsMCwyNDgsMjcsMCwwLDAsMCwwLDAsMjQsMjgsMCwwLDAsMCwwLDAs
NTYsMjgsMCwwLDAsMCwwLDAsODgsMjgsMCwwLDAsMjAsMCwwLDExMiwyOCwwLDAsMCwwLDAsMCwx
LDAsMCwwLDE4NCwzMiwwLDAsMywyNDQsMjU1LDI1NSwwLDIwLDAsMCwxNjAsMjgsMCwwLDAsMCww
LDAsMSwwLDAsMCwyMDAsMzIsMCwwLDMsMjQ0LDI1NSwyNTUsMCwyMCwwLDAsMjA4LDI4LDAsMCww
LDAsMCwwLDEsMCwwLDAsMTg0LDMyLDAsMCwzLDI0NCwyNTUsMjU1LDAsMjAsMCwwLDAsMjksMCww
LDAsMCwwLDAsMSwwLDAsMCwyMDAsMzIsMCwwLDMsMjQ0LDI1NSwyNTUsMCwwLDAsMCw0OCwyOSww
LDAsMCwzMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDcyLDI5LDAsMCwwLDAsMCwwLDk2LDI5LDAsMCwx
NiwzNiwwLDAsMCwwLDAsMCwwLDAsMCwwLDEyMCwyOSwwLDAsMCwzNiwwLDAsMCwwLDAsMCwwLDAs
MCwwLDE1MiwyOSwwLDAsOCwzNiwwLDAsMCwwLDAsMCwwLDAsMCwwLDE4NCwyOSwwLDAsMCwwLDAs
MCwyMTYsMjksMCwwLDAsMCwwLDAsMjQ4LDI5LDAsMCwwLDAsMCwwLDI0LDMwLDAsMCwwLDIwLDAs
MCw1NiwzMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAsMCwwLDEyOCwzNywwLDAs
MiwwLDAsMCwwLDIwLDAsMCw4OCwzMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDk2LDM1LDAsMCwyLDAs
MCwwLDEyOCwzNywwLDAsMiwwLDAsMCwwLDIwLDAsMCwxMjAsMzAsMCwwLDAsMCwwLDAsMiwwLDAs
MCw5NiwzNSwwLDAsMiwwLDAsMCwxMjgsMzcsMCwwLDIsMCwwLDAsMCwyMCwwLDAsMTUyLDMwLDAs
MCwwLDAsMCwwLDIsMCwwLDAsOTYsMzUsMCwwLDIsMCwwLDAsMTI4LDM3LDAsMCwyLDAsMCwwLDAs
MCwwLDAsMTg0LDMwLDAsMCwwLDAsMCwwLDIwOCwzMCwwLDAsMCwwLDAsMCwyMzIsMzAsMCwwLDAs
MCwwLDAsMCwzMSwwLDAsMCwzNiwwLDAsMCwwLDAsMCwwLDAsMCwwLDI0LDMxLDAsMCw4LDM2LDAs
MCwwLDAsMCwwLDAsMCwwLDAsNDgsMzEsMCwwLDIxNiwzNywwLDAsMCwwLDAsMCwwLDAsMCwwLDg4
LDMxLDAsMCwyMTYsMzcsMCwwLDAsMCwwLDAsMCwwLDAsMCwxMjgsMzEsMCwwLDIzMiwzNywwLDAs
MCwwLDAsMCwwLDAsMCwwLDE2OCwzMSwwLDAsMjA4LDMxLDAsMCwwLDAsMCwwLDI1NSwyNTUsMjU1
LDI1NSwwLDAsMCwwLDI1NSwyNTUsMjU1LDI1NSwwLDAsMCwwLDI1NSwyNTUsMjU1LDI1NSwwLDAs
MCwwLDQ4LDQ5LDUwLDUxLDUyLDUzLDU0LDU1LDU2LDU3LDk3LDk4LDk5LDEwMCwxMDEsMTAyLDY1
LDY2LDY3LDY4LDY5LDcwLDEyMCw4OCw0Myw0NSwxMTIsODAsMTA1LDczLDExMCw3OCwwLDAsMCww
LDAsMCwwLDBdLCAiaTgiLCBBTExPQ19OT05FLCBSdW50aW1lLkdMT0JBTF9CQVNFKQotdmFyIHRl
bXBEb3VibGVQdHIgPSBSdW50aW1lLmFsaWduTWVtb3J5KGFsbG9jYXRlKDEyLCAiaTgiLCBBTExP
Q19TVEFUSUMpLCA4KTsKLWFzc2VydCh0ZW1wRG91YmxlUHRyICUgOCA9PSAwKTsKLWZ1bmN0aW9u
IGNvcHlUZW1wRmxvYXQocHRyKSB7IC8vIGZ1bmN0aW9ucywgYmVjYXVzZSBpbmxpbmluZyB0aGlz
IGNvZGUgaW5jcmVhc2VzIGNvZGUgc2l6ZSB0b28gbXVjaAotICBIRUFQOFt0ZW1wRG91YmxlUHRy
XSA9IEhFQVA4W3B0cl07Ci0gIEhFQVA4W3RlbXBEb3VibGVQdHIrMV0gPSBIRUFQOFtwdHIrMV07
Ci0gIEhFQVA4W3RlbXBEb3VibGVQdHIrMl0gPSBIRUFQOFtwdHIrMl07Ci0gIEhFQVA4W3RlbXBE
b3VibGVQdHIrM10gPSBIRUFQOFtwdHIrM107Ci19Ci1mdW5jdGlvbiBjb3B5VGVtcERvdWJsZShw
dHIpIHsKLSAgSEVBUDhbdGVtcERvdWJsZVB0cl0gPSBIRUFQOFtwdHJdOwotICBIRUFQOFt0ZW1w
RG91YmxlUHRyKzFdID0gSEVBUDhbcHRyKzFdOwotICBIRUFQOFt0ZW1wRG91YmxlUHRyKzJdID0g
SEVBUDhbcHRyKzJdOwotICBIRUFQOFt0ZW1wRG91YmxlUHRyKzNdID0gSEVBUDhbcHRyKzNdOwot
ICBIRUFQOFt0ZW1wRG91YmxlUHRyKzRdID0gSEVBUDhbcHRyKzRdOwotICBIRUFQOFt0ZW1wRG91
YmxlUHRyKzVdID0gSEVBUDhbcHRyKzVdOwotICBIRUFQOFt0ZW1wRG91YmxlUHRyKzZdID0gSEVB
UDhbcHRyKzZdOwotICBIRUFQOFt0ZW1wRG91YmxlUHRyKzddID0gSEVBUDhbcHRyKzddOwotfQot
ICBmdW5jdGlvbiBfYXRleGl0KGZ1bmMsIGFyZykgewotICAgICAgX19BVEVYSVRfXy51bnNoaWZ0
KHsgZnVuYzogZnVuYywgYXJnOiBhcmcgfSk7Ci0gICAgfXZhciBfX19jeGFfYXRleGl0PV9hdGV4
aXQ7Ci0gIGZ1bmN0aW9uIF9sbHZtX3VtdWxfd2l0aF9vdmVyZmxvd19pMzIoeCwgeSkgewotICAg
ICAgeCA9IHg+Pj4wOwotICAgICAgeSA9IHk+Pj4wOwotICAgICAgcmV0dXJuICgoYXNtWyJzZXRU
ZW1wUmV0MCJdKHgqeSA+IDQyOTQ5NjcyOTUpLCh4KnkpPj4+MCl8MCk7Ci0gICAgfQotICBmdW5j
dGlvbiBfX19neHhfcGVyc29uYWxpdHlfdjAoKSB7Ci0gICAgfQotICBmdW5jdGlvbiBfX2V4aXQo
c3RhdHVzKSB7Ci0gICAgICAvLyB2b2lkIF9leGl0KGludCBzdGF0dXMpOwotICAgICAgLy8gaHR0
cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5OS9mdW5jdGlvbnMvZXhp
dC5odG1sCi0gICAgICBNb2R1bGUucHJpbnQoJ2V4aXQoJyArIHN0YXR1cyArICcpIGNhbGxlZCcp
OwotICAgICAgTW9kdWxlWydleGl0J10oc3RhdHVzKTsKLSAgICB9ZnVuY3Rpb24gX2V4aXQoc3Rh
dHVzKSB7Ci0gICAgICBfX2V4aXQoc3RhdHVzKTsKLSAgICB9ZnVuY3Rpb24gX19aU3Q5dGVybWlu
YXRldigpIHsKLSAgICAgIF9leGl0KC0xMjM0KTsKLSAgICB9Ci0gIE1vZHVsZVsiX21lbWNweSJd
ID0gX21lbWNweTt2YXIgX2xsdm1fbWVtY3B5X3AwaThfcDBpOF9pMzI9X21lbWNweTsKLSAgdmFy
IF9sb2c9TWF0aC5sb2c7Ci0gIHZhciBfZmxvb3I9TWF0aC5mbG9vcjsKLSAgdmFyIGN0bHpfaTgg
PSBhbGxvY2F0ZShbOCw3LDYsNiw1LDUsNSw1LDQsNCw0LDQsNCw0LDQsNCwzLDMsMywzLDMsMywz
LDMsMywzLDMsMywzLDMsMywzLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIs
MiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwx
LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEs
MSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMF0sICJpOCIsIEFMTE9DX1NUQVRJQyk7IAotICBNb2R1bGVbIl9sbHZtX2N0bHpf
aTMyIl0gPSBfbGx2bV9jdGx6X2kzMjsKLSAgZnVuY3Rpb24gX19aU3QxOHVuY2F1Z2h0X2V4Y2Vw
dGlvbnYoKSB7IC8vIHN0ZDo6dW5jYXVnaHRfZXhjZXB0aW9uKCkKLSAgICAgIHJldHVybiAhIV9f
WlN0MTh1bmNhdWdodF9leGNlcHRpb252LnVuY2F1Z2h0X2V4Y2VwdGlvbjsKLSAgICB9ZnVuY3Rp
b24gX19fY3hhX2JlZ2luX2NhdGNoKHB0cikgewotICAgICAgX19aU3QxOHVuY2F1Z2h0X2V4Y2Vw
dGlvbnYudW5jYXVnaHRfZXhjZXB0aW9uLS07Ci0gICAgICByZXR1cm4gcHRyOwotICAgIH0KLSAg
ZnVuY3Rpb24gX2xsdm1fZWhfZXhjZXB0aW9uKCkgewotICAgICAgcmV0dXJuIEhFQVAzMlsoKF9s
bHZtX2VoX2V4Y2VwdGlvbi5idWYpPj4yKV07Ci0gICAgfQotICBmdW5jdGlvbiBfX19jeGFfZnJl
ZV9leGNlcHRpb24ocHRyKSB7Ci0gICAgICB0cnkgewotICAgICAgICByZXR1cm4gX2ZyZWUocHRy
KTsKLSAgICAgIH0gY2F0Y2goZSkgeyAvLyBYWFggRklYTUUKLSAgICAgIH0KLSAgICB9ZnVuY3Rp
b24gX19fY3hhX2VuZF9jYXRjaCgpIHsKLSAgICAgIGlmIChfX19jeGFfZW5kX2NhdGNoLnJldGhy
b3duKSB7Ci0gICAgICAgIF9fX2N4YV9lbmRfY2F0Y2gucmV0aHJvd24gPSBmYWxzZTsKLSAgICAg
ICAgcmV0dXJuOwotICAgICAgfQotICAgICAgLy8gQ2xlYXIgc3RhdGUgZmxhZy4KLSAgICAgIGFz
bVsnc2V0VGhyZXcnXSgwKTsKLSAgICAgIC8vIENsZWFyIHR5cGUuCi0gICAgICBIRUFQMzJbKCgo
X2xsdm1fZWhfZXhjZXB0aW9uLmJ1ZikrKDQpKT4+MildPTAKLSAgICAgIC8vIENhbGwgZGVzdHJ1
Y3RvciBpZiBvbmUgaXMgcmVnaXN0ZXJlZCB0aGVuIGNsZWFyIGl0LgotICAgICAgdmFyIHB0ciA9
IEhFQVAzMlsoKF9sbHZtX2VoX2V4Y2VwdGlvbi5idWYpPj4yKV07Ci0gICAgICB2YXIgZGVzdHJ1
Y3RvciA9IEhFQVAzMlsoKChfbGx2bV9laF9leGNlcHRpb24uYnVmKSsoOCkpPj4yKV07Ci0gICAg
ICBpZiAoZGVzdHJ1Y3RvcikgewotICAgICAgICBSdW50aW1lLmR5bkNhbGwoJ3ZpJywgZGVzdHJ1
Y3RvciwgW3B0cl0pOwotICAgICAgICBIRUFQMzJbKCgoX2xsdm1fZWhfZXhjZXB0aW9uLmJ1Zikr
KDgpKT4+MildPTAKLSAgICAgIH0KLSAgICAgIC8vIEZyZWUgcHRyIGlmIGl0IGlzbid0IG51bGwu
Ci0gICAgICBpZiAocHRyKSB7Ci0gICAgICAgIF9fX2N4YV9mcmVlX2V4Y2VwdGlvbihwdHIpOwot
ICAgICAgICBIRUFQMzJbKChfbGx2bV9laF9leGNlcHRpb24uYnVmKT4+MildPTAKLSAgICAgIH0K
LSAgICB9ZnVuY3Rpb24gX19fY3hhX3JldGhyb3coKSB7Ci0gICAgICBfX19jeGFfZW5kX2NhdGNo
LnJldGhyb3duID0gdHJ1ZTsKLSAgICAgIHRocm93IEhFQVAzMlsoKF9sbHZtX2VoX2V4Y2VwdGlv
bi5idWYpPj4yKV0gKyAiIC0gRXhjZXB0aW9uIGNhdGNoaW5nIGlzIGRpc2FibGVkLCB0aGlzIGV4
Y2VwdGlvbiBjYW5ub3QgYmUgY2F1Z2h0LiBDb21waWxlIHdpdGggLXMgRElTQUJMRV9FWENFUFRJ
T05fQ0FUQ0hJTkc9MCBvciBESVNBQkxFX0VYQ0VQVElPTl9DQVRDSElORz0yIHRvIGNhdGNoLiI7
OwotICAgIH0KLSAgTW9kdWxlWyJfbWVtbW92ZSJdID0gX21lbW1vdmU7dmFyIF9sbHZtX21lbW1v
dmVfcDBpOF9wMGk4X2kzMj1fbWVtbW92ZTsKLSAgTW9kdWxlWyJfbWVtc2V0Il0gPSBfbWVtc2V0
O3ZhciBfbGx2bV9tZW1zZXRfcDBpOF9pNjQ9X21lbXNldDsKLSAgZnVuY3Rpb24gX2xsdm1fbGlm
ZXRpbWVfc3RhcnQoKSB7fQotICBmdW5jdGlvbiBfbGx2bV9saWZldGltZV9lbmQoKSB7fQotICBm
dW5jdGlvbiBfcHRocmVhZF9tdXRleF9sb2NrKCkge30KLSAgZnVuY3Rpb24gX3B0aHJlYWRfbXV0
ZXhfdW5sb2NrKCkge30KLSAgZnVuY3Rpb24gX19fY3hhX2d1YXJkX2FjcXVpcmUodmFyaWFibGUp
IHsKLSAgICAgIGlmICghSEVBUDhbKHZhcmlhYmxlKV0pIHsgLy8gaWdub3JlIFNBRkVfSEVBUCBz
dHVmZiBiZWNhdXNlIGxsdm0gbWl4ZXMgaTY0IGFuZCBpOCBoZXJlCi0gICAgICAgIEhFQVA4Wyh2
YXJpYWJsZSldPTE7Ci0gICAgICAgIHJldHVybiAxOwotICAgICAgfQotICAgICAgcmV0dXJuIDA7
Ci0gICAgfQotICBmdW5jdGlvbiBfX19jeGFfZ3VhcmRfcmVsZWFzZSgpIHt9Ci0gIGZ1bmN0aW9u
IF9wdGhyZWFkX2NvbmRfYnJvYWRjYXN0KCkgewotICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICBm
dW5jdGlvbiBfcHRocmVhZF9jb25kX3dhaXQoKSB7Ci0gICAgICByZXR1cm4gMDsKLSAgICB9Ci0g
IGZ1bmN0aW9uIF9fX2N4YV9hbGxvY2F0ZV9leGNlcHRpb24oc2l6ZSkgewotICAgICAgcmV0dXJu
IF9tYWxsb2Moc2l6ZSk7Ci0gICAgfQotICBmdW5jdGlvbiBfX19jeGFfaXNfbnVtYmVyX3R5cGUo
dHlwZSkgewotICAgICAgdmFyIGlzTnVtYmVyID0gZmFsc2U7Ci0gICAgICB0cnkgeyBpZiAodHlw
ZSA9PSBfX1pUSWkpIGlzTnVtYmVyID0gdHJ1ZSB9IGNhdGNoKGUpe30KLSAgICAgIHRyeSB7IGlm
ICh0eXBlID09IF9fWlRJaikgaXNOdW1iZXIgPSB0cnVlIH0gY2F0Y2goZSl7fQotICAgICAgdHJ5
IHsgaWYgKHR5cGUgPT0gX19aVElsKSBpc051bWJlciA9IHRydWUgfSBjYXRjaChlKXt9Ci0gICAg
ICB0cnkgeyBpZiAodHlwZSA9PSBfX1pUSW0pIGlzTnVtYmVyID0gdHJ1ZSB9IGNhdGNoKGUpe30K
LSAgICAgIHRyeSB7IGlmICh0eXBlID09IF9fWlRJeCkgaXNOdW1iZXIgPSB0cnVlIH0gY2F0Y2go
ZSl7fQotICAgICAgdHJ5IHsgaWYgKHR5cGUgPT0gX19aVEl5KSBpc051bWJlciA9IHRydWUgfSBj
YXRjaChlKXt9Ci0gICAgICB0cnkgeyBpZiAodHlwZSA9PSBfX1pUSWYpIGlzTnVtYmVyID0gdHJ1
ZSB9IGNhdGNoKGUpe30KLSAgICAgIHRyeSB7IGlmICh0eXBlID09IF9fWlRJZCkgaXNOdW1iZXIg
PSB0cnVlIH0gY2F0Y2goZSl7fQotICAgICAgdHJ5IHsgaWYgKHR5cGUgPT0gX19aVEllKSBpc051
bWJlciA9IHRydWUgfSBjYXRjaChlKXt9Ci0gICAgICB0cnkgeyBpZiAodHlwZSA9PSBfX1pUSWMp
IGlzTnVtYmVyID0gdHJ1ZSB9IGNhdGNoKGUpe30KLSAgICAgIHRyeSB7IGlmICh0eXBlID09IF9f
WlRJYSkgaXNOdW1iZXIgPSB0cnVlIH0gY2F0Y2goZSl7fQotICAgICAgdHJ5IHsgaWYgKHR5cGUg
PT0gX19aVEloKSBpc051bWJlciA9IHRydWUgfSBjYXRjaChlKXt9Ci0gICAgICB0cnkgeyBpZiAo
dHlwZSA9PSBfX1pUSXMpIGlzTnVtYmVyID0gdHJ1ZSB9IGNhdGNoKGUpe30KLSAgICAgIHRyeSB7
IGlmICh0eXBlID09IF9fWlRJdCkgaXNOdW1iZXIgPSB0cnVlIH0gY2F0Y2goZSl7fQotICAgICAg
cmV0dXJuIGlzTnVtYmVyOwotICAgIH1mdW5jdGlvbiBfX19jeGFfZG9lc19pbmhlcml0KGRlZmlu
aXRlVHlwZSwgcG9zc2liaWxpdHlUeXBlLCBwb3NzaWJpbGl0eSkgewotICAgICAgaWYgKHBvc3Np
YmlsaXR5ID09IDApIHJldHVybiBmYWxzZTsKLSAgICAgIGlmIChwb3NzaWJpbGl0eVR5cGUgPT0g
MCB8fCBwb3NzaWJpbGl0eVR5cGUgPT0gZGVmaW5pdGVUeXBlKQotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgIHZhciBwb3NzaWJpbGl0eV90eXBlX2luZm87Ci0gICAgICBpZiAoX19fY3hhX2lz
X251bWJlcl90eXBlKHBvc3NpYmlsaXR5VHlwZSkpIHsKLSAgICAgICAgcG9zc2liaWxpdHlfdHlw
ZV9pbmZvID0gcG9zc2liaWxpdHlUeXBlOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgdmFyIHBv
c3NpYmlsaXR5X3R5cGVfaW5mb0FkZHIgPSBIRUFQMzJbKChwb3NzaWJpbGl0eVR5cGUpPj4yKV0g
LSA4OwotICAgICAgICBwb3NzaWJpbGl0eV90eXBlX2luZm8gPSBIRUFQMzJbKChwb3NzaWJpbGl0
eV90eXBlX2luZm9BZGRyKT4+MildOwotICAgICAgfQotICAgICAgc3dpdGNoIChwb3NzaWJpbGl0
eV90eXBlX2luZm8pIHsKLSAgICAgIGNhc2UgMDogLy8gcG9zc2liaWxpdHkgaXMgYSBwb2ludGVy
Ci0gICAgICAgIC8vIFNlZSBpZiBkZWZpbml0ZSB0eXBlIGlzIGEgcG9pbnRlcgotICAgICAgICB2
YXIgZGVmaW5pdGVfdHlwZV9pbmZvQWRkciA9IEhFQVAzMlsoKGRlZmluaXRlVHlwZSk+PjIpXSAt
IDg7Ci0gICAgICAgIHZhciBkZWZpbml0ZV90eXBlX2luZm8gPSBIRUFQMzJbKChkZWZpbml0ZV90
eXBlX2luZm9BZGRyKT4+MildOwotICAgICAgICBpZiAoZGVmaW5pdGVfdHlwZV9pbmZvID09IDAp
IHsKLSAgICAgICAgICAvLyBBbHNvIGEgcG9pbnRlcjsgY29tcGFyZSBiYXNlIHR5cGVzIG9mIHBv
aW50ZXJzCi0gICAgICAgICAgdmFyIGRlZlBvaW50ZXJCYXNlQWRkciA9IGRlZmluaXRlVHlwZSs4
OwotICAgICAgICAgIHZhciBkZWZQb2ludGVyQmFzZVR5cGUgPSBIRUFQMzJbKChkZWZQb2ludGVy
QmFzZUFkZHIpPj4yKV07Ci0gICAgICAgICAgdmFyIHBvc3NQb2ludGVyQmFzZUFkZHIgPSBwb3Nz
aWJpbGl0eVR5cGUrODsKLSAgICAgICAgICB2YXIgcG9zc1BvaW50ZXJCYXNlVHlwZSA9IEhFQVAz
MlsoKHBvc3NQb2ludGVyQmFzZUFkZHIpPj4yKV07Ci0gICAgICAgICAgcmV0dXJuIF9fX2N4YV9k
b2VzX2luaGVyaXQoZGVmUG9pbnRlckJhc2VUeXBlLCBwb3NzUG9pbnRlckJhc2VUeXBlLCBwb3Nz
aWJpbGl0eSk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gb25l
IHBvaW50ZXIgYW5kIG9uZSBub24tcG9pbnRlcgotICAgICAgY2FzZSAxOiAvLyBjbGFzcyB3aXRo
IG5vIGJhc2UgY2xhc3MKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgY2FzZSAyOiAvLyBj
bGFzcyB3aXRoIGJhc2UgY2xhc3MKLSAgICAgICAgdmFyIHBhcmVudFR5cGVBZGRyID0gcG9zc2li
aWxpdHlUeXBlICsgODsKLSAgICAgICAgdmFyIHBhcmVudFR5cGUgPSBIRUFQMzJbKChwYXJlbnRU
eXBlQWRkcik+PjIpXTsKLSAgICAgICAgcmV0dXJuIF9fX2N4YV9kb2VzX2luaGVyaXQoZGVmaW5p
dGVUeXBlLCBwYXJlbnRUeXBlLCBwb3NzaWJpbGl0eSk7Ci0gICAgICBkZWZhdWx0OgotICAgICAg
ICByZXR1cm4gZmFsc2U7IC8vIHNvbWUgdW5lbmNvdW50ZXJlZCB0eXBlCi0gICAgICB9Ci0gICAg
fQotICBmdW5jdGlvbiBfX19yZXN1bWVFeGNlcHRpb24ocHRyKSB7Ci0gICAgICBpZiAoSEVBUDMy
WygoX2xsdm1fZWhfZXhjZXB0aW9uLmJ1Zik+PjIpXSA9PSAwKSBIRUFQMzJbKChfbGx2bV9laF9l
eGNlcHRpb24uYnVmKT4+MildPXB0cjsKLSAgICAgIHRocm93IHB0ciArICIgLSBFeGNlcHRpb24g
Y2F0Y2hpbmcgaXMgZGlzYWJsZWQsIHRoaXMgZXhjZXB0aW9uIGNhbm5vdCBiZSBjYXVnaHQuIENv
bXBpbGUgd2l0aCAtcyBESVNBQkxFX0VYQ0VQVElPTl9DQVRDSElORz0wIG9yIERJU0FCTEVfRVhD
RVBUSU9OX0NBVENISU5HPTIgdG8gY2F0Y2guIjs7Ci0gICAgfWZ1bmN0aW9uIF9fX2N4YV9maW5k
X21hdGNoaW5nX2NhdGNoKHRocm93biwgdGhyb3dudHlwZSkgewotICAgICAgaWYgKHRocm93biA9
PSAtMSkgdGhyb3duID0gSEVBUDMyWygoX2xsdm1fZWhfZXhjZXB0aW9uLmJ1Zik+PjIpXTsKLSAg
ICAgIGlmICh0aHJvd250eXBlID09IC0xKSB0aHJvd250eXBlID0gSEVBUDMyWygoKF9sbHZtX2Vo
X2V4Y2VwdGlvbi5idWYpKyg0KSk+PjIpXTsKLSAgICAgIHZhciB0eXBlQXJyYXkgPSBBcnJheS5w
cm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDIpOwotICAgICAgLy8gSWYgdGhyb3dudHlw
ZSBpcyBhIHBvaW50ZXIsIHRoaXMgbWVhbnMgYSBwb2ludGVyIGhhcyBiZWVuCi0gICAgICAvLyB0
aHJvd24uIFdoZW4gYSBwb2ludGVyIGlzIHRocm93biwgYWN0dWFsbHkgd2hhdCdzIHRocm93bgot
ICAgICAgLy8gaXMgYSBwb2ludGVyIHRvIHRoZSBwb2ludGVyLiBXZSdsbCBkZXJlZmVyZW5jZSBp
dC4KLSAgICAgIGlmICh0aHJvd250eXBlICE9IDAgJiYgIV9fX2N4YV9pc19udW1iZXJfdHlwZSh0
aHJvd250eXBlKSkgewotICAgICAgICB2YXIgdGhyb3dudHlwZUluZm9BZGRyPSBIRUFQMzJbKCh0
aHJvd250eXBlKT4+MildIC0gODsKLSAgICAgICAgdmFyIHRocm93bnR5cGVJbmZvPSBIRUFQMzJb
KCh0aHJvd250eXBlSW5mb0FkZHIpPj4yKV07Ci0gICAgICAgIGlmICh0aHJvd250eXBlSW5mbyA9
PSAwKQotICAgICAgICAgIHRocm93biA9IEhFQVAzMlsoKHRocm93bik+PjIpXTsKLSAgICAgIH0K
LSAgICAgIC8vIFRoZSBkaWZmZXJlbnQgY2F0Y2ggYmxvY2tzIGFyZSBkZW5vdGVkIGJ5IGRpZmZl
cmVudCB0eXBlcy4KLSAgICAgIC8vIER1ZSB0byBpbmhlcml0YW5jZSwgdGhvc2UgdHlwZXMgbWF5
IG5vdCBwcmVjaXNlbHkgbWF0Y2ggdGhlCi0gICAgICAvLyB0eXBlIG9mIHRoZSB0aHJvd24gb2Jq
ZWN0LiBGaW5kIG9uZSB3aGljaCBtYXRjaGVzLCBhbmQKLSAgICAgIC8vIHJldHVybiB0aGUgdHlw
ZSBvZiB0aGUgY2F0Y2ggYmxvY2sgd2hpY2ggc2hvdWxkIGJlIGNhbGxlZC4KLSAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgdHlwZUFycmF5Lmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIGlmIChfX19j
eGFfZG9lc19pbmhlcml0KHR5cGVBcnJheVtpXSwgdGhyb3dudHlwZSwgdGhyb3duKSkKLSAgICAg
ICAgICByZXR1cm4gKChhc21bInNldFRlbXBSZXQwIl0odHlwZUFycmF5W2ldKSx0aHJvd24pfDAp
OwotICAgICAgfQotICAgICAgLy8gU2hvdWxkbid0IGhhcHBlbiB1bmxlc3Mgd2UgaGF2ZSBib2d1
cyBkYXRhIGluIHR5cGVBcnJheQotICAgICAgLy8gb3IgZW5jb3VudGVyIGEgdHlwZSBmb3Igd2hp
Y2ggZW1zY3JpcHRlbiBkb2Vzbid0IGhhdmUgc3VpdGFibGUKLSAgICAgIC8vIHR5cGVpbmZvIGRl
ZmluZWQuIEJlc3QtZWZmb3J0cyBtYXRjaCBqdXN0IGluIGNhc2UuCi0gICAgICByZXR1cm4gKChh
c21bInNldFRlbXBSZXQwIl0odGhyb3dudHlwZSksdGhyb3duKXwwKTsKLSAgICB9ZnVuY3Rpb24g
X19fY3hhX3Rocm93KHB0ciwgdHlwZSwgZGVzdHJ1Y3RvcikgewotICAgICAgaWYgKCFfX19jeGFf
dGhyb3cuaW5pdGlhbGl6ZWQpIHsKLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICBIRUFQMzJbKChf
X1pUVk4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FKT4+MildPTA7IC8vIFdvcmth
cm91bmQgZm9yIGxpYmN4eGFiaSBpbnRlZ3JhdGlvbiBidWcKLSAgICAgICAgfSBjYXRjaChlKXt9
Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgSEVBUDMyWygoX19aVFZOMTBfX2N4eGFiaXYxMTdf
X2NsYXNzX3R5cGVfaW5mb0UpPj4yKV09MTsgLy8gV29ya2Fyb3VuZCBmb3IgbGliY3h4YWJpIGlu
dGVncmF0aW9uIGJ1ZwotICAgICAgICB9IGNhdGNoKGUpe30KLSAgICAgICAgdHJ5IHsKLSAgICAg
ICAgICBIRUFQMzJbKChfX1pUVk4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRSk+
PjIpXT0yOyAvLyBXb3JrYXJvdW5kIGZvciBsaWJjeHhhYmkgaW50ZWdyYXRpb24gYnVnCi0gICAg
ICAgIH0gY2F0Y2goZSl7fQotICAgICAgICBfX19jeGFfdGhyb3cuaW5pdGlhbGl6ZWQgPSB0cnVl
OwotICAgICAgfQotICAgICAgSEVBUDMyWygoX2xsdm1fZWhfZXhjZXB0aW9uLmJ1Zik+PjIpXT1w
dHIKLSAgICAgIEhFQVAzMlsoKChfbGx2bV9laF9leGNlcHRpb24uYnVmKSsoNCkpPj4yKV09dHlw
ZQotICAgICAgSEVBUDMyWygoKF9sbHZtX2VoX2V4Y2VwdGlvbi5idWYpKyg4KSk+PjIpXT1kZXN0
cnVjdG9yCi0gICAgICBpZiAoISgidW5jYXVnaHRfZXhjZXB0aW9uIiBpbiBfX1pTdDE4dW5jYXVn
aHRfZXhjZXB0aW9udikpIHsKLSAgICAgICAgX19aU3QxOHVuY2F1Z2h0X2V4Y2VwdGlvbnYudW5j
YXVnaHRfZXhjZXB0aW9uID0gMTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIF9fWlN0MTh1bmNh
dWdodF9leGNlcHRpb252LnVuY2F1Z2h0X2V4Y2VwdGlvbisrOwotICAgICAgfQotICAgICAgdGhy
b3cgcHRyICsgIiAtIEV4Y2VwdGlvbiBjYXRjaGluZyBpcyBkaXNhYmxlZCwgdGhpcyBleGNlcHRp
b24gY2Fubm90IGJlIGNhdWdodC4gQ29tcGlsZSB3aXRoIC1zIERJU0FCTEVfRVhDRVBUSU9OX0NB
VENISU5HPTAgb3IgRElTQUJMRV9FWENFUFRJT05fQ0FUQ0hJTkc9MiB0byBjYXRjaC4iOzsKLSAg
ICB9Ci0gIHZhciBFUlJOT19DT0RFUz17RVBFUk06MSxFTk9FTlQ6MixFU1JDSDozLEVJTlRSOjQs
RUlPOjUsRU5YSU86NixFMkJJRzo3LEVOT0VYRUM6OCxFQkFERjo5LEVDSElMRDoxMCxFQUdBSU46
MTEsRVdPVUxEQkxPQ0s6MTEsRU5PTUVNOjEyLEVBQ0NFUzoxMyxFRkFVTFQ6MTQsRU5PVEJMSzox
NSxFQlVTWToxNixFRVhJU1Q6MTcsRVhERVY6MTgsRU5PREVWOjE5LEVOT1RESVI6MjAsRUlTRElS
OjIxLEVJTlZBTDoyMixFTkZJTEU6MjMsRU1GSUxFOjI0LEVOT1RUWToyNSxFVFhUQlNZOjI2LEVG
QklHOjI3LEVOT1NQQzoyOCxFU1BJUEU6MjksRVJPRlM6MzAsRU1MSU5LOjMxLEVQSVBFOjMyLEVE
T006MzMsRVJBTkdFOjM0LEVOT01TRzozNSxFSURSTTozNixFQ0hSTkc6MzcsRUwyTlNZTkM6Mzgs
RUwzSExUOjM5LEVMM1JTVDo0MCxFTE5STkc6NDEsRVVOQVRDSDo0MixFTk9DU0k6NDMsRUwySExU
OjQ0LEVERUFETEs6NDUsRU5PTENLOjQ2LEVCQURFOjUwLEVCQURSOjUxLEVYRlVMTDo1MixFTk9B
Tk86NTMsRUJBRFJRQzo1NCxFQkFEU0xUOjU1LEVERUFETE9DSzo1NixFQkZPTlQ6NTcsRU5PU1RS
OjYwLEVOT0RBVEE6NjEsRVRJTUU6NjIsRU5PU1I6NjMsRU5PTkVUOjY0LEVOT1BLRzo2NSxFUkVN
T1RFOjY2LEVOT0xJTks6NjcsRUFEVjo2OCxFU1JNTlQ6NjksRUNPTU06NzAsRVBST1RPOjcxLEVN
VUxUSUhPUDo3NCxFRE9URE9UOjc2LEVCQURNU0c6NzcsRU5PVFVOSVE6ODAsRUJBREZEOjgxLEVS
RU1DSEc6ODIsRUxJQkFDQzo4MyxFTElCQkFEOjg0LEVMSUJTQ046ODUsRUxJQk1BWDo4NixFTElC
RVhFQzo4NyxFTk9TWVM6ODgsRU5PVEVNUFRZOjkwLEVOQU1FVE9PTE9ORzo5MSxFTE9PUDo5MixF
T1BOT1RTVVBQOjk1LEVQRk5PU1VQUE9SVDo5NixFQ09OTlJFU0VUOjEwNCxFTk9CVUZTOjEwNSxF
QUZOT1NVUFBPUlQ6MTA2LEVQUk9UT1RZUEU6MTA3LEVOT1RTT0NLOjEwOCxFTk9QUk9UT09QVDox
MDksRVNIVVRET1dOOjExMCxFQ09OTlJFRlVTRUQ6MTExLEVBRERSSU5VU0U6MTEyLEVDT05OQUJP
UlRFRDoxMTMsRU5FVFVOUkVBQ0g6MTE0LEVORVRET1dOOjExNSxFVElNRURPVVQ6MTE2LEVIT1NU
RE9XTjoxMTcsRUhPU1RVTlJFQUNIOjExOCxFSU5QUk9HUkVTUzoxMTksRUFMUkVBRFk6MTIwLEVE
RVNUQUREUlJFUToxMjEsRU1TR1NJWkU6MTIyLEVQUk9UT05PU1VQUE9SVDoxMjMsRVNPQ0tUTk9T
VVBQT1JUOjEyNCxFQUREUk5PVEFWQUlMOjEyNSxFTkVUUkVTRVQ6MTI2LEVJU0NPTk46MTI3LEVO
T1RDT05OOjEyOCxFVE9PTUFOWVJFRlM6MTI5LEVVU0VSUzoxMzEsRURRVU9UOjEzMixFU1RBTEU6
MTMzLEVOT1RTVVA6MTM0LEVOT01FRElVTToxMzUsRUlMU0VROjEzOCxFT1ZFUkZMT1c6MTM5LEVD
QU5DRUxFRDoxNDAsRU5PVFJFQ09WRVJBQkxFOjE0MSxFT1dORVJERUFEOjE0MixFU1RSUElQRTox
NDN9OwotICB2YXIgRVJSTk9fTUVTU0FHRVM9ezA6IlN1Y2Nlc3MiLDE6Ik5vdCBzdXBlci11c2Vy
IiwyOiJObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IiwzOiJObyBzdWNoIHByb2Nlc3MiLDQ6Iklu
dGVycnVwdGVkIHN5c3RlbSBjYWxsIiw1OiJJL08gZXJyb3IiLDY6Ik5vIHN1Y2ggZGV2aWNlIG9y
IGFkZHJlc3MiLDc6IkFyZyBsaXN0IHRvbyBsb25nIiw4OiJFeGVjIGZvcm1hdCBlcnJvciIsOToi
QmFkIGZpbGUgbnVtYmVyIiwxMDoiTm8gY2hpbGRyZW4iLDExOiJObyBtb3JlIHByb2Nlc3NlcyIs
MTI6Ik5vdCBlbm91Z2ggY29yZSIsMTM6IlBlcm1pc3Npb24gZGVuaWVkIiwxNDoiQmFkIGFkZHJl
c3MiLDE1OiJCbG9jayBkZXZpY2UgcmVxdWlyZWQiLDE2OiJNb3VudCBkZXZpY2UgYnVzeSIsMTc6
IkZpbGUgZXhpc3RzIiwxODoiQ3Jvc3MtZGV2aWNlIGxpbmsiLDE5OiJObyBzdWNoIGRldmljZSIs
MjA6Ik5vdCBhIGRpcmVjdG9yeSIsMjE6IklzIGEgZGlyZWN0b3J5IiwyMjoiSW52YWxpZCBhcmd1
bWVudCIsMjM6IlRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtIiwyNDoiVG9vIG1hbnkgb3Bl
biBmaWxlcyIsMjU6Ik5vdCBhIHR5cGV3cml0ZXIiLDI2OiJUZXh0IGZpbGUgYnVzeSIsMjc6IkZp
bGUgdG9vIGxhcmdlIiwyODoiTm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UiLDI5OiJJbGxlZ2FsIHNl
ZWsiLDMwOiJSZWFkIG9ubHkgZmlsZSBzeXN0ZW0iLDMxOiJUb28gbWFueSBsaW5rcyIsMzI6IkJy
b2tlbiBwaXBlIiwzMzoiTWF0aCBhcmcgb3V0IG9mIGRvbWFpbiBvZiBmdW5jIiwzNDoiTWF0aCBy
ZXN1bHQgbm90IHJlcHJlc2VudGFibGUiLDM1OiJObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZSIs
MzY6IklkZW50aWZpZXIgcmVtb3ZlZCIsMzc6IkNoYW5uZWwgbnVtYmVyIG91dCBvZiByYW5nZSIs
Mzg6IkxldmVsIDIgbm90IHN5bmNocm9uaXplZCIsMzk6IkxldmVsIDMgaGFsdGVkIiw0MDoiTGV2
ZWwgMyByZXNldCIsNDE6IkxpbmsgbnVtYmVyIG91dCBvZiByYW5nZSIsNDI6IlByb3RvY29sIGRy
aXZlciBub3QgYXR0YWNoZWQiLDQzOiJObyBDU0kgc3RydWN0dXJlIGF2YWlsYWJsZSIsNDQ6Ikxl
dmVsIDIgaGFsdGVkIiw0NToiRGVhZGxvY2sgY29uZGl0aW9uIiw0NjoiTm8gcmVjb3JkIGxvY2tz
IGF2YWlsYWJsZSIsNTA6IkludmFsaWQgZXhjaGFuZ2UiLDUxOiJJbnZhbGlkIHJlcXVlc3QgZGVz
Y3JpcHRvciIsNTI6IkV4Y2hhbmdlIGZ1bGwiLDUzOiJObyBhbm9kZSIsNTQ6IkludmFsaWQgcmVx
dWVzdCBjb2RlIiw1NToiSW52YWxpZCBzbG90Iiw1NjoiRmlsZSBsb2NraW5nIGRlYWRsb2NrIGVy
cm9yIiw1NzoiQmFkIGZvbnQgZmlsZSBmbXQiLDYwOiJEZXZpY2Ugbm90IGEgc3RyZWFtIiw2MToi
Tm8gZGF0YSAoZm9yIG5vIGRlbGF5IGlvKSIsNjI6IlRpbWVyIGV4cGlyZWQiLDYzOiJPdXQgb2Yg
c3RyZWFtcyByZXNvdXJjZXMiLDY0OiJNYWNoaW5lIGlzIG5vdCBvbiB0aGUgbmV0d29yayIsNjU6
IlBhY2thZ2Ugbm90IGluc3RhbGxlZCIsNjY6IlRoZSBvYmplY3QgaXMgcmVtb3RlIiw2NzoiVGhl
IGxpbmsgaGFzIGJlZW4gc2V2ZXJlZCIsNjg6IkFkdmVydGlzZSBlcnJvciIsNjk6IlNybW91bnQg
ZXJyb3IiLDcwOiJDb21tdW5pY2F0aW9uIGVycm9yIG9uIHNlbmQiLDcxOiJQcm90b2NvbCBlcnJv
ciIsNzQ6Ik11bHRpaG9wIGF0dGVtcHRlZCIsNzY6IkNyb3NzIG1vdW50IHBvaW50IChub3QgcmVh
bGx5IGVycm9yKSIsNzc6IlRyeWluZyB0byByZWFkIHVucmVhZGFibGUgbWVzc2FnZSIsODA6Ikdp
dmVuIGxvZy4gbmFtZSBub3QgdW5pcXVlIiw4MToiZi5kLiBpbnZhbGlkIGZvciB0aGlzIG9wZXJh
dGlvbiIsODI6IlJlbW90ZSBhZGRyZXNzIGNoYW5nZWQiLDgzOiJDYW4gICBhY2Nlc3MgYSBuZWVk
ZWQgc2hhcmVkIGxpYiIsODQ6IkFjY2Vzc2luZyBhIGNvcnJ1cHRlZCBzaGFyZWQgbGliIiw4NToi
LmxpYiBzZWN0aW9uIGluIGEub3V0IGNvcnJ1cHRlZCIsODY6IkF0dGVtcHRpbmcgdG8gbGluayBp
biB0b28gbWFueSBsaWJzIiw4NzoiQXR0ZW1wdGluZyB0byBleGVjIGEgc2hhcmVkIGxpYnJhcnki
LDg4OiJGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQiLDkwOiJEaXJlY3Rvcnkgbm90IGVtcHR5Iiw5
MToiRmlsZSBvciBwYXRoIG5hbWUgdG9vIGxvbmciLDkyOiJUb28gbWFueSBzeW1ib2xpYyBsaW5r
cyIsOTU6Ik9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIG9uIHRyYW5zcG9ydCBlbmRwb2ludCIsOTY6
IlByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkIiwxMDQ6IkNvbm5lY3Rpb24gcmVzZXQgYnkg
cGVlciIsMTA1OiJObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlIiwxMDY6IkFkZHJlc3MgZmFtaWx5
IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wgZmFtaWx5IiwxMDc6IlByb3RvY29sIHdyb25nIHR5
cGUgZm9yIHNvY2tldCIsMTA4OiJTb2NrZXQgb3BlcmF0aW9uIG9uIG5vbi1zb2NrZXQiLDEwOToi
UHJvdG9jb2wgbm90IGF2YWlsYWJsZSIsMTEwOiJDYW4ndCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0
ZG93biIsMTExOiJDb25uZWN0aW9uIHJlZnVzZWQiLDExMjoiQWRkcmVzcyBhbHJlYWR5IGluIHVz
ZSIsMTEzOiJDb25uZWN0aW9uIGFib3J0ZWQiLDExNDoiTmV0d29yayBpcyB1bnJlYWNoYWJsZSIs
MTE1OiJOZXR3b3JrIGludGVyZmFjZSBpcyBub3QgY29uZmlndXJlZCIsMTE2OiJDb25uZWN0aW9u
IHRpbWVkIG91dCIsMTE3OiJIb3N0IGlzIGRvd24iLDExODoiSG9zdCBpcyB1bnJlYWNoYWJsZSIs
MTE5OiJDb25uZWN0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MiLDEyMDoiU29ja2V0IGFscmVhZHkg
Y29ubmVjdGVkIiwxMjE6IkRlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQiLDEyMjoiTWVzc2Fn
ZSB0b28gbG9uZyIsMTIzOiJVbmtub3duIHByb3RvY29sIiwxMjQ6IlNvY2tldCB0eXBlIG5vdCBz
dXBwb3J0ZWQiLDEyNToiQWRkcmVzcyBub3QgYXZhaWxhYmxlIiwxMjY6IkNvbm5lY3Rpb24gcmVz
ZXQgYnkgbmV0d29yayIsMTI3OiJTb2NrZXQgaXMgYWxyZWFkeSBjb25uZWN0ZWQiLDEyODoiU29j
a2V0IGlzIG5vdCBjb25uZWN0ZWQiLDEyOToiVG9vIG1hbnkgcmVmZXJlbmNlcyIsMTMxOiJUb28g
bWFueSB1c2VycyIsMTMyOiJRdW90YSBleGNlZWRlZCIsMTMzOiJTdGFsZSBmaWxlIGhhbmRsZSIs
MTM0OiJOb3Qgc3VwcG9ydGVkIiwxMzU6Ik5vIG1lZGl1bSAoaW4gdGFwZSBkcml2ZSkiLDEzODoi
SWxsZWdhbCBieXRlIHNlcXVlbmNlIiwxMzk6IlZhbHVlIHRvbyBsYXJnZSBmb3IgZGVmaW5lZCBk
YXRhIHR5cGUiLDE0MDoiT3BlcmF0aW9uIGNhbmNlbGVkIiwxNDE6IlN0YXRlIG5vdCByZWNvdmVy
YWJsZSIsMTQyOiJQcmV2aW91cyBvd25lciBkaWVkIiwxNDM6IlN0cmVhbXMgcGlwZSBlcnJvciJ9
OwotICB2YXIgX19fZXJybm9fc3RhdGU9MDtmdW5jdGlvbiBfX19zZXRFcnJObyh2YWx1ZSkgewot
ICAgICAgLy8gRm9yIGNvbnZlbmllbnQgc2V0dGluZyBhbmQgcmV0dXJuaW5nIG9mIGVycm5vLgot
ICAgICAgSEVBUDMyWygoX19fZXJybm9fc3RhdGUpPj4yKV09dmFsdWUKLSAgICAgIHJldHVybiB2
YWx1ZTsKLSAgICB9Ci0gIHZhciBWRlM9dW5kZWZpbmVkOwotICB2YXIgUEFUSD17c3BsaXRQYXRo
OmZ1bmN0aW9uIChmaWxlbmFtZSkgewotICAgICAgICB2YXIgc3BsaXRQYXRoUmUgPSAvXihcLz98
KShbXHNcU10qPykoKD86XC57MSwyfXxbXlwvXSs/fCkoXC5bXi5cL10qfCkpKD86W1wvXSopJC87
Ci0gICAgICAgIHJldHVybiBzcGxpdFBhdGhSZS5leGVjKGZpbGVuYW1lKS5zbGljZSgxKTsKLSAg
ICAgIH0sbm9ybWFsaXplQXJyYXk6ZnVuY3Rpb24gKHBhcnRzLCBhbGxvd0Fib3ZlUm9vdCkgewot
ICAgICAgICAvLyBpZiB0aGUgcGF0aCB0cmllcyB0byBnbyBhYm92ZSB0aGUgcm9vdCwgYHVwYCBl
bmRzIHVwID4gMAotICAgICAgICB2YXIgdXAgPSAwOwotICAgICAgICBmb3IgKHZhciBpID0gcGFy
dHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsKLSAgICAgICAgICB2YXIgbGFzdCA9IHBhcnRz
W2ldOwotICAgICAgICAgIGlmIChsYXN0ID09PSAnLicpIHsKLSAgICAgICAgICAgIHBhcnRzLnNw
bGljZShpLCAxKTsKLSAgICAgICAgICB9IGVsc2UgaWYgKGxhc3QgPT09ICcuLicpIHsKLSAgICAg
ICAgICAgIHBhcnRzLnNwbGljZShpLCAxKTsKLSAgICAgICAgICAgIHVwKys7Ci0gICAgICAgICAg
fSBlbHNlIGlmICh1cCkgewotICAgICAgICAgICAgcGFydHMuc3BsaWNlKGksIDEpOwotICAgICAg
ICAgICAgdXAtLTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgLy8gaWYgdGhlIHBh
dGggaXMgYWxsb3dlZCB0byBnbyBhYm92ZSB0aGUgcm9vdCwgcmVzdG9yZSBsZWFkaW5nIC4ucwot
ICAgICAgICBpZiAoYWxsb3dBYm92ZVJvb3QpIHsKLSAgICAgICAgICBmb3IgKDsgdXAtLTsgdXAp
IHsKLSAgICAgICAgICAgIHBhcnRzLnVuc2hpZnQoJy4uJyk7Ci0gICAgICAgICAgfQotICAgICAg
ICB9Ci0gICAgICAgIHJldHVybiBwYXJ0czsKLSAgICAgIH0sbm9ybWFsaXplOmZ1bmN0aW9uIChw
YXRoKSB7Ci0gICAgICAgIHZhciBpc0Fic29sdXRlID0gcGF0aC5jaGFyQXQoMCkgPT09ICcvJywK
LSAgICAgICAgICAgIHRyYWlsaW5nU2xhc2ggPSBwYXRoLnN1YnN0cigtMSkgPT09ICcvJzsKLSAg
ICAgICAgLy8gTm9ybWFsaXplIHRoZSBwYXRoCi0gICAgICAgIHBhdGggPSBQQVRILm5vcm1hbGl6
ZUFycmF5KHBhdGguc3BsaXQoJy8nKS5maWx0ZXIoZnVuY3Rpb24ocCkgewotICAgICAgICAgIHJl
dHVybiAhIXA7Ci0gICAgICAgIH0pLCAhaXNBYnNvbHV0ZSkuam9pbignLycpOwotICAgICAgICBp
ZiAoIXBhdGggJiYgIWlzQWJzb2x1dGUpIHsKLSAgICAgICAgICBwYXRoID0gJy4nOwotICAgICAg
ICB9Ci0gICAgICAgIGlmIChwYXRoICYmIHRyYWlsaW5nU2xhc2gpIHsKLSAgICAgICAgICBwYXRo
ICs9ICcvJzsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gKGlzQWJzb2x1dGUgPyAnLycgOiAn
JykgKyBwYXRoOwotICAgICAgfSxkaXJuYW1lOmZ1bmN0aW9uIChwYXRoKSB7Ci0gICAgICAgIHZh
ciByZXN1bHQgPSBQQVRILnNwbGl0UGF0aChwYXRoKSwKLSAgICAgICAgICAgIHJvb3QgPSByZXN1
bHRbMF0sCi0gICAgICAgICAgICBkaXIgPSByZXN1bHRbMV07Ci0gICAgICAgIGlmICghcm9vdCAm
JiAhZGlyKSB7Ci0gICAgICAgICAgLy8gTm8gZGlybmFtZSB3aGF0c29ldmVyCi0gICAgICAgICAg
cmV0dXJuICcuJzsKLSAgICAgICAgfQotICAgICAgICBpZiAoZGlyKSB7Ci0gICAgICAgICAgLy8g
SXQgaGFzIGEgZGlybmFtZSwgc3RyaXAgdHJhaWxpbmcgc2xhc2gKLSAgICAgICAgICBkaXIgPSBk
aXIuc3Vic3RyKDAsIGRpci5sZW5ndGggLSAxKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4g
cm9vdCArIGRpcjsKLSAgICAgIH0sYmFzZW5hbWU6ZnVuY3Rpb24gKHBhdGgsIGV4dCkgewotICAg
ICAgICAvLyBFTVNDUklQVEVOIHJldHVybiAnLycnIGZvciAnLycsIG5vdCBhbiBlbXB0eSBzdHJp
bmcKLSAgICAgICAgaWYgKHBhdGggPT09ICcvJykgcmV0dXJuICcvJzsKLSAgICAgICAgdmFyIGYg
PSBQQVRILnNwbGl0UGF0aChwYXRoKVsyXTsKLSAgICAgICAgaWYgKGV4dCAmJiBmLnN1YnN0cigt
MSAqIGV4dC5sZW5ndGgpID09PSBleHQpIHsKLSAgICAgICAgICBmID0gZi5zdWJzdHIoMCwgZi5s
ZW5ndGggLSBleHQubGVuZ3RoKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gZjsKLSAgICAg
IH0sam9pbjpmdW5jdGlvbiAoKSB7Ci0gICAgICAgIHZhciBwYXRocyA9IEFycmF5LnByb3RvdHlw
ZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMCk7Ci0gICAgICAgIHJldHVybiBQQVRILm5vcm1hbGl6
ZShwYXRocy5maWx0ZXIoZnVuY3Rpb24ocCwgaW5kZXgpIHsKLSAgICAgICAgICBpZiAodHlwZW9m
IHAgIT09ICdzdHJpbmcnKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1
bWVudHMgdG8gcGF0aC5qb2luIG11c3QgYmUgc3RyaW5ncycpOwotICAgICAgICAgIH0KLSAgICAg
ICAgICByZXR1cm4gcDsKLSAgICAgICAgfSkuam9pbignLycpKTsKLSAgICAgIH0scmVzb2x2ZTpm
dW5jdGlvbiAoKSB7Ci0gICAgICAgIHZhciByZXNvbHZlZFBhdGggPSAnJywKLSAgICAgICAgICBy
ZXNvbHZlZEFic29sdXRlID0gZmFsc2U7Ci0gICAgICAgIGZvciAodmFyIGkgPSBhcmd1bWVudHMu
bGVuZ3RoIC0gMTsgaSA+PSAtMSAmJiAhcmVzb2x2ZWRBYnNvbHV0ZTsgaS0tKSB7Ci0gICAgICAg
ICAgdmFyIHBhdGggPSAoaSA+PSAwKSA/IGFyZ3VtZW50c1tpXSA6IEZTLmN3ZCgpOwotICAgICAg
ICAgIC8vIFNraXAgZW1wdHkgYW5kIGludmFsaWQgZW50cmllcwotICAgICAgICAgIGlmICh0eXBl
b2YgcGF0aCAhPT0gJ3N0cmluZycpIHsKLSAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3Io
J0FyZ3VtZW50cyB0byBwYXRoLnJlc29sdmUgbXVzdCBiZSBzdHJpbmdzJyk7Ci0gICAgICAgICAg
fSBlbHNlIGlmICghcGF0aCkgewotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgfQot
ICAgICAgICAgIHJlc29sdmVkUGF0aCA9IHBhdGggKyAnLycgKyByZXNvbHZlZFBhdGg7Ci0gICAg
ICAgICAgcmVzb2x2ZWRBYnNvbHV0ZSA9IHBhdGguY2hhckF0KDApID09PSAnLyc7Ci0gICAgICAg
IH0KLSAgICAgICAgLy8gQXQgdGhpcyBwb2ludCB0aGUgcGF0aCBzaG91bGQgYmUgcmVzb2x2ZWQg
dG8gYSBmdWxsIGFic29sdXRlIHBhdGgsIGJ1dAotICAgICAgICAvLyBoYW5kbGUgcmVsYXRpdmUg
cGF0aHMgdG8gYmUgc2FmZSAobWlnaHQgaGFwcGVuIHdoZW4gcHJvY2Vzcy5jd2QoKSBmYWlscykK
LSAgICAgICAgcmVzb2x2ZWRQYXRoID0gUEFUSC5ub3JtYWxpemVBcnJheShyZXNvbHZlZFBhdGgu
c3BsaXQoJy8nKS5maWx0ZXIoZnVuY3Rpb24ocCkgewotICAgICAgICAgIHJldHVybiAhIXA7Ci0g
ICAgICAgIH0pLCAhcmVzb2x2ZWRBYnNvbHV0ZSkuam9pbignLycpOwotICAgICAgICByZXR1cm4g
KChyZXNvbHZlZEFic29sdXRlID8gJy8nIDogJycpICsgcmVzb2x2ZWRQYXRoKSB8fCAnLic7Ci0g
ICAgICB9LHJlbGF0aXZlOmZ1bmN0aW9uIChmcm9tLCB0bykgewotICAgICAgICBmcm9tID0gUEFU
SC5yZXNvbHZlKGZyb20pLnN1YnN0cigxKTsKLSAgICAgICAgdG8gPSBQQVRILnJlc29sdmUodG8p
LnN1YnN0cigxKTsKLSAgICAgICAgZnVuY3Rpb24gdHJpbShhcnIpIHsKLSAgICAgICAgICB2YXIg
c3RhcnQgPSAwOwotICAgICAgICAgIGZvciAoOyBzdGFydCA8IGFyci5sZW5ndGg7IHN0YXJ0Kysp
IHsKLSAgICAgICAgICAgIGlmIChhcnJbc3RhcnRdICE9PSAnJykgYnJlYWs7Ci0gICAgICAgICAg
fQotICAgICAgICAgIHZhciBlbmQgPSBhcnIubGVuZ3RoIC0gMTsKLSAgICAgICAgICBmb3IgKDsg
ZW5kID49IDA7IGVuZC0tKSB7Ci0gICAgICAgICAgICBpZiAoYXJyW2VuZF0gIT09ICcnKSBicmVh
azsKLSAgICAgICAgICB9Ci0gICAgICAgICAgaWYgKHN0YXJ0ID4gZW5kKSByZXR1cm4gW107Ci0g
ICAgICAgICAgcmV0dXJuIGFyci5zbGljZShzdGFydCwgZW5kIC0gc3RhcnQgKyAxKTsKLSAgICAg
ICAgfQotICAgICAgICB2YXIgZnJvbVBhcnRzID0gdHJpbShmcm9tLnNwbGl0KCcvJykpOwotICAg
ICAgICB2YXIgdG9QYXJ0cyA9IHRyaW0odG8uc3BsaXQoJy8nKSk7Ci0gICAgICAgIHZhciBsZW5n
dGggPSBNYXRoLm1pbihmcm9tUGFydHMubGVuZ3RoLCB0b1BhcnRzLmxlbmd0aCk7Ci0gICAgICAg
IHZhciBzYW1lUGFydHNMZW5ndGggPSBsZW5ndGg7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgbGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICBpZiAoZnJvbVBhcnRzW2ldICE9PSB0b1BhcnRz
W2ldKSB7Ci0gICAgICAgICAgICBzYW1lUGFydHNMZW5ndGggPSBpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIHZhciBvdXRwdXRQYXJ0cyA9IFtd
OwotICAgICAgICBmb3IgKHZhciBpID0gc2FtZVBhcnRzTGVuZ3RoOyBpIDwgZnJvbVBhcnRzLmxl
bmd0aDsgaSsrKSB7Ci0gICAgICAgICAgb3V0cHV0UGFydHMucHVzaCgnLi4nKTsKLSAgICAgICAg
fQotICAgICAgICBvdXRwdXRQYXJ0cyA9IG91dHB1dFBhcnRzLmNvbmNhdCh0b1BhcnRzLnNsaWNl
KHNhbWVQYXJ0c0xlbmd0aCkpOwotICAgICAgICByZXR1cm4gb3V0cHV0UGFydHMuam9pbignLycp
OwotICAgICAgfX07Ci0gIHZhciBUVFk9e3R0eXM6W10scmVnaXN0ZXI6ZnVuY3Rpb24gKGRldiwg
b3BzKSB7Ci0gICAgICAgIFRUWS50dHlzW2Rldl0gPSB7IGlucHV0OiBbXSwgb3V0cHV0OiBbXSwg
b3BzOiBvcHMgfTsKLSAgICAgICAgRlMucmVnaXN0ZXJEZXZpY2UoZGV2LCBUVFkuc3RyZWFtX29w
cyk7Ci0gICAgICB9LHN0cmVhbV9vcHM6e29wZW46ZnVuY3Rpb24gKHN0cmVhbSkgewotICAgICAg
ICAgIC8vIHRoaXMgd291bGRuJ3QgYmUgcmVxdWlyZWQgaWYgdGhlIGxpYnJhcnkgd2Fzbid0IGV2
YWwnZCBhdCBmaXJzdC4uLgotICAgICAgICAgIGlmICghVFRZLnV0ZjgpIHsKLSAgICAgICAgICAg
IFRUWS51dGY4ID0gbmV3IFJ1bnRpbWUuVVRGOFByb2Nlc3NvcigpOwotICAgICAgICAgIH0KLSAg
ICAgICAgICB2YXIgdHR5ID0gVFRZLnR0eXNbc3RyZWFtLm5vZGUucmRldl07Ci0gICAgICAgICAg
aWYgKCF0dHkpIHsKLSAgICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NP
REVTLkVOT0RFVik7Ci0gICAgICAgICAgfQotICAgICAgICAgIHN0cmVhbS50dHkgPSB0dHk7Ci0g
ICAgICAgICAgc3RyZWFtLnNlZWthYmxlID0gZmFsc2U7Ci0gICAgICAgIH0sY2xvc2U6ZnVuY3Rp
b24gKHN0cmVhbSkgewotICAgICAgICAgIC8vIGZsdXNoIGFueSBwZW5kaW5nIGxpbmUgZGF0YQot
ICAgICAgICAgIGlmIChzdHJlYW0udHR5Lm91dHB1dC5sZW5ndGgpIHsKLSAgICAgICAgICAgIHN0
cmVhbS50dHkub3BzLnB1dF9jaGFyKHN0cmVhbS50dHksIDEwKTsKLSAgICAgICAgICB9Ci0gICAg
ICAgIH0scmVhZDpmdW5jdGlvbiAoc3RyZWFtLCBidWZmZXIsIG9mZnNldCwgbGVuZ3RoLCBwb3Mg
LyogaWdub3JlZCAqLykgewotICAgICAgICAgIGlmICghc3RyZWFtLnR0eSB8fCAhc3RyZWFtLnR0
eS5vcHMuZ2V0X2NoYXIpIHsKLSAgICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVS
Uk5PX0NPREVTLkVOWElPKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgdmFyIGJ5dGVzUmVhZCA9
IDA7Ci0gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewotICAgICAg
ICAgICAgdmFyIHJlc3VsdDsKLSAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgIHJlc3Vs
dCA9IHN0cmVhbS50dHkub3BzLmdldF9jaGFyKHN0cmVhbS50dHkpOwotICAgICAgICAgICAgfSBj
YXRjaCAoZSkgewotICAgICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19D
T0RFUy5FSU8pOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gdW5k
ZWZpbmVkICYmIGJ5dGVzUmVhZCA9PT0gMCkgewotICAgICAgICAgICAgICB0aHJvdyBuZXcgRlMu
RXJybm9FcnJvcihFUlJOT19DT0RFUy5FQUdBSU4pOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgaWYgKHJlc3VsdCA9PT0gbnVsbCB8fCByZXN1bHQgPT09IHVuZGVmaW5lZCkgYnJlYWs7Ci0g
ICAgICAgICAgICBieXRlc1JlYWQrKzsKLSAgICAgICAgICAgIGJ1ZmZlcltvZmZzZXQraV0gPSBy
ZXN1bHQ7Ci0gICAgICAgICAgfQotICAgICAgICAgIGlmIChieXRlc1JlYWQpIHsKLSAgICAgICAg
ICAgIHN0cmVhbS5ub2RlLnRpbWVzdGFtcCA9IERhdGUubm93KCk7Ci0gICAgICAgICAgfQotICAg
ICAgICAgIHJldHVybiBieXRlc1JlYWQ7Ci0gICAgICAgIH0sd3JpdGU6ZnVuY3Rpb24gKHN0cmVh
bSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0aCwgcG9zKSB7Ci0gICAgICAgICAgaWYgKCFzdHJlYW0u
dHR5IHx8ICFzdHJlYW0udHR5Lm9wcy5wdXRfY2hhcikgewotICAgICAgICAgICAgdGhyb3cgbmV3
IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5YSU8pOwotICAgICAgICAgIH0KLSAgICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICB0cnkgewot
ICAgICAgICAgICAgICBzdHJlYW0udHR5Lm9wcy5wdXRfY2hhcihzdHJlYW0udHR5LCBidWZmZXJb
b2Zmc2V0K2ldKTsKLSAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgICAgdGhy
b3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlPKTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICB9Ci0gICAgICAgICAgaWYgKGxlbmd0aCkgewotICAgICAgICAgICAgc3RyZWFtLm5v
ZGUudGltZXN0YW1wID0gRGF0ZS5ub3coKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgcmV0dXJu
IGk7Ci0gICAgICAgIH19LGRlZmF1bHRfdHR5X29wczp7Z2V0X2NoYXI6ZnVuY3Rpb24gKHR0eSkg
ewotICAgICAgICAgIGlmICghdHR5LmlucHV0Lmxlbmd0aCkgewotICAgICAgICAgICAgdmFyIHJl
c3VsdCA9IG51bGw7Ci0gICAgICAgICAgICBpZiAoRU5WSVJPTk1FTlRfSVNfTk9ERSkgewotICAg
ICAgICAgICAgICBpZiAocHJvY2Vzcy5zdGRpbi5kZXN0cm95ZWQpIHsKLSAgICAgICAgICAgICAg
ICByZXR1cm4gdW5kZWZpbmVkOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIHJlc3Vs
dCA9IHByb2Nlc3Muc3RkaW4ucmVhZCgpOwotICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2Yg
d2luZG93ICE9ICd1bmRlZmluZWQnICYmCi0gICAgICAgICAgICAgIHR5cGVvZiB3aW5kb3cucHJv
bXB0ID09ICdmdW5jdGlvbicpIHsKLSAgICAgICAgICAgICAgLy8gQnJvd3Nlci4KLSAgICAgICAg
ICAgICAgcmVzdWx0ID0gd2luZG93LnByb21wdCgnSW5wdXQ6ICcpOyAgLy8gcmV0dXJucyBudWxs
IG9uIGNhbmNlbAotICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7Ci0gICAgICAg
ICAgICAgICAgcmVzdWx0ICs9ICdcbic7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0g
ZWxzZSBpZiAodHlwZW9mIHJlYWRsaW5lID09ICdmdW5jdGlvbicpIHsKLSAgICAgICAgICAgICAg
Ly8gQ29tbWFuZCBsaW5lLgotICAgICAgICAgICAgICByZXN1bHQgPSByZWFkbGluZSgpOwotICAg
ICAgICAgICAgICBpZiAocmVzdWx0ICE9PSBudWxsKSB7Ci0gICAgICAgICAgICAgICAgcmVzdWx0
ICs9ICdcbic7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlm
ICghcmVzdWx0KSB7Ci0gICAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgdHR5LmlucHV0ID0gaW50QXJyYXlGcm9tU3RyaW5nKHJlc3VsdCwgdHJ1ZSk7
Ci0gICAgICAgICAgfQotICAgICAgICAgIHJldHVybiB0dHkuaW5wdXQuc2hpZnQoKTsKLSAgICAg
ICAgfSxwdXRfY2hhcjpmdW5jdGlvbiAodHR5LCB2YWwpIHsKLSAgICAgICAgICBpZiAodmFsID09
PSBudWxsIHx8IHZhbCA9PT0gMTApIHsKLSAgICAgICAgICAgIE1vZHVsZVsncHJpbnQnXSh0dHku
b3V0cHV0LmpvaW4oJycpKTsKLSAgICAgICAgICAgIHR0eS5vdXRwdXQgPSBbXTsKLSAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgdHR5Lm91dHB1dC5wdXNoKFRUWS51dGY4LnByb2Nlc3ND
Q2hhcih2YWwpKTsKLSAgICAgICAgICB9Ci0gICAgICAgIH19LGRlZmF1bHRfdHR5MV9vcHM6e3B1
dF9jaGFyOmZ1bmN0aW9uICh0dHksIHZhbCkgewotICAgICAgICAgIGlmICh2YWwgPT09IG51bGwg
fHwgdmFsID09PSAxMCkgewotICAgICAgICAgICAgTW9kdWxlWydwcmludEVyciddKHR0eS5vdXRw
dXQuam9pbignJykpOwotICAgICAgICAgICAgdHR5Lm91dHB1dCA9IFtdOwotICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICB0dHkub3V0cHV0LnB1c2goVFRZLnV0ZjgucHJvY2Vzc0NDaGFy
KHZhbCkpOwotICAgICAgICAgIH0KLSAgICAgICAgfX19OwotICB2YXIgTUVNRlM9e21vdW50OmZ1
bmN0aW9uIChtb3VudCkgewotICAgICAgICByZXR1cm4gTUVNRlMuY3JlYXRlX25vZGUobnVsbCwg
Jy8nLCAwMDQwMDAwIHwgMDc3NywgMCk7Ci0gICAgICB9LGNyZWF0ZV9ub2RlOmZ1bmN0aW9uIChw
YXJlbnQsIG5hbWUsIG1vZGUsIGRldikgewotICAgICAgICBpZiAoRlMuaXNCbGtkZXYobW9kZSkg
fHwgRlMuaXNGSUZPKG1vZGUpKSB7Ci0gICAgICAgICAgLy8gbm8gc3VwcG9ydGVkCi0gICAgICAg
ICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRVBFUk0pOwotICAgICAgICB9
Ci0gICAgICAgIHZhciBub2RlID0gRlMuY3JlYXRlTm9kZShwYXJlbnQsIG5hbWUsIG1vZGUsIGRl
dik7Ci0gICAgICAgIGlmIChGUy5pc0Rpcihub2RlLm1vZGUpKSB7Ci0gICAgICAgICAgbm9kZS5u
b2RlX29wcyA9IHsKLSAgICAgICAgICAgIGdldGF0dHI6IE1FTUZTLm5vZGVfb3BzLmdldGF0dHIs
Ci0gICAgICAgICAgICBzZXRhdHRyOiBNRU1GUy5ub2RlX29wcy5zZXRhdHRyLAotICAgICAgICAg
ICAgbG9va3VwOiBNRU1GUy5ub2RlX29wcy5sb29rdXAsCi0gICAgICAgICAgICBta25vZDogTUVN
RlMubm9kZV9vcHMubWtub2QsCi0gICAgICAgICAgICBta25vZDogTUVNRlMubm9kZV9vcHMubWtu
b2QsCi0gICAgICAgICAgICByZW5hbWU6IE1FTUZTLm5vZGVfb3BzLnJlbmFtZSwKLSAgICAgICAg
ICAgIHVubGluazogTUVNRlMubm9kZV9vcHMudW5saW5rLAotICAgICAgICAgICAgcm1kaXI6IE1F
TUZTLm5vZGVfb3BzLnJtZGlyLAotICAgICAgICAgICAgcmVhZGRpcjogTUVNRlMubm9kZV9vcHMu
cmVhZGRpciwKLSAgICAgICAgICAgIHN5bWxpbms6IE1FTUZTLm5vZGVfb3BzLnN5bWxpbmsKLSAg
ICAgICAgICB9OwotICAgICAgICAgIG5vZGUuc3RyZWFtX29wcyA9IHsKLSAgICAgICAgICAgIGxs
c2VlazogTUVNRlMuc3RyZWFtX29wcy5sbHNlZWsKLSAgICAgICAgICB9OwotICAgICAgICAgIG5v
ZGUuY29udGVudHMgPSB7fTsKLSAgICAgICAgfSBlbHNlIGlmIChGUy5pc0ZpbGUobm9kZS5tb2Rl
KSkgewotICAgICAgICAgIG5vZGUubm9kZV9vcHMgPSB7Ci0gICAgICAgICAgICBnZXRhdHRyOiBN
RU1GUy5ub2RlX29wcy5nZXRhdHRyLAotICAgICAgICAgICAgc2V0YXR0cjogTUVNRlMubm9kZV9v
cHMuc2V0YXR0cgotICAgICAgICAgIH07Ci0gICAgICAgICAgbm9kZS5zdHJlYW1fb3BzID0gewot
ICAgICAgICAgICAgbGxzZWVrOiBNRU1GUy5zdHJlYW1fb3BzLmxsc2VlaywKLSAgICAgICAgICAg
IHJlYWQ6IE1FTUZTLnN0cmVhbV9vcHMucmVhZCwKLSAgICAgICAgICAgIHdyaXRlOiBNRU1GUy5z
dHJlYW1fb3BzLndyaXRlLAotICAgICAgICAgICAgYWxsb2NhdGU6IE1FTUZTLnN0cmVhbV9vcHMu
YWxsb2NhdGUsCi0gICAgICAgICAgICBtbWFwOiBNRU1GUy5zdHJlYW1fb3BzLm1tYXAKLSAgICAg
ICAgICB9OwotICAgICAgICAgIG5vZGUuY29udGVudHMgPSBbXTsKLSAgICAgICAgfSBlbHNlIGlm
IChGUy5pc0xpbmsobm9kZS5tb2RlKSkgewotICAgICAgICAgIG5vZGUubm9kZV9vcHMgPSB7Ci0g
ICAgICAgICAgICBnZXRhdHRyOiBNRU1GUy5ub2RlX29wcy5nZXRhdHRyLAotICAgICAgICAgICAg
c2V0YXR0cjogTUVNRlMubm9kZV9vcHMuc2V0YXR0ciwKLSAgICAgICAgICAgIHJlYWRsaW5rOiBN
RU1GUy5ub2RlX29wcy5yZWFkbGluawotICAgICAgICAgIH07Ci0gICAgICAgICAgbm9kZS5zdHJl
YW1fb3BzID0ge307Ci0gICAgICAgIH0gZWxzZSBpZiAoRlMuaXNDaHJkZXYobm9kZS5tb2RlKSkg
ewotICAgICAgICAgIG5vZGUubm9kZV9vcHMgPSB7Ci0gICAgICAgICAgICBnZXRhdHRyOiBNRU1G
Uy5ub2RlX29wcy5nZXRhdHRyLAotICAgICAgICAgICAgc2V0YXR0cjogTUVNRlMubm9kZV9vcHMu
c2V0YXR0cgotICAgICAgICAgIH07Ci0gICAgICAgICAgbm9kZS5zdHJlYW1fb3BzID0gRlMuY2hy
ZGV2X3N0cmVhbV9vcHM7Ci0gICAgICAgIH0KLSAgICAgICAgbm9kZS50aW1lc3RhbXAgPSBEYXRl
Lm5vdygpOwotICAgICAgICAvLyBhZGQgdGhlIG5ldyBub2RlIHRvIHRoZSBwYXJlbnQKLSAgICAg
ICAgaWYgKHBhcmVudCkgewotICAgICAgICAgIHBhcmVudC5jb250ZW50c1tuYW1lXSA9IG5vZGU7
Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG5vZGU7Ci0gICAgICB9LG5vZGVfb3BzOntnZXRh
dHRyOmZ1bmN0aW9uIChub2RlKSB7Ci0gICAgICAgICAgdmFyIGF0dHIgPSB7fTsKLSAgICAgICAg
ICAvLyBkZXZpY2UgbnVtYmVycyByZXVzZSBpbm9kZSBudW1iZXJzLgotICAgICAgICAgIGF0dHIu
ZGV2ID0gRlMuaXNDaHJkZXYobm9kZS5tb2RlKSA/IG5vZGUuaWQgOiAxOwotICAgICAgICAgIGF0
dHIuaW5vID0gbm9kZS5pZDsKLSAgICAgICAgICBhdHRyLm1vZGUgPSBub2RlLm1vZGU7Ci0gICAg
ICAgICAgYXR0ci5ubGluayA9IDE7Ci0gICAgICAgICAgYXR0ci51aWQgPSAwOwotICAgICAgICAg
IGF0dHIuZ2lkID0gMDsKLSAgICAgICAgICBhdHRyLnJkZXYgPSBub2RlLnJkZXY7Ci0gICAgICAg
ICAgaWYgKEZTLmlzRGlyKG5vZGUubW9kZSkpIHsKLSAgICAgICAgICAgIGF0dHIuc2l6ZSA9IDQw
OTY7Ci0gICAgICAgICAgfSBlbHNlIGlmIChGUy5pc0ZpbGUobm9kZS5tb2RlKSkgewotICAgICAg
ICAgICAgYXR0ci5zaXplID0gbm9kZS5jb250ZW50cy5sZW5ndGg7Ci0gICAgICAgICAgfSBlbHNl
IGlmIChGUy5pc0xpbmsobm9kZS5tb2RlKSkgewotICAgICAgICAgICAgYXR0ci5zaXplID0gbm9k
ZS5saW5rLmxlbmd0aDsKLSAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgYXR0ci5zaXpl
ID0gMDsKLSAgICAgICAgICB9Ci0gICAgICAgICAgYXR0ci5hdGltZSA9IG5ldyBEYXRlKG5vZGUu
dGltZXN0YW1wKTsKLSAgICAgICAgICBhdHRyLm10aW1lID0gbmV3IERhdGUobm9kZS50aW1lc3Rh
bXApOwotICAgICAgICAgIGF0dHIuY3RpbWUgPSBuZXcgRGF0ZShub2RlLnRpbWVzdGFtcCk7Ci0g
ICAgICAgICAgLy8gTk9URTogSW4gb3VyIGltcGxlbWVudGF0aW9uLCBzdF9ibG9ja3MgPSBNYXRo
LmNlaWwoc3Rfc2l6ZS9zdF9ibGtzaXplKSwKLSAgICAgICAgICAvLyAgICAgICBidXQgdGhpcyBp
cyBub3QgcmVxdWlyZWQgYnkgdGhlIHN0YW5kYXJkLgotICAgICAgICAgIGF0dHIuYmxrc2l6ZSA9
IDQwOTY7Ci0gICAgICAgICAgYXR0ci5ibG9ja3MgPSBNYXRoLmNlaWwoYXR0ci5zaXplIC8gYXR0
ci5ibGtzaXplKTsKLSAgICAgICAgICByZXR1cm4gYXR0cjsKLSAgICAgICAgfSxzZXRhdHRyOmZ1
bmN0aW9uIChub2RlLCBhdHRyKSB7Ci0gICAgICAgICAgaWYgKGF0dHIubW9kZSAhPT0gdW5kZWZp
bmVkKSB7Ci0gICAgICAgICAgICBub2RlLm1vZGUgPSBhdHRyLm1vZGU7Ci0gICAgICAgICAgfQot
ICAgICAgICAgIGlmIChhdHRyLnRpbWVzdGFtcCAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgICAg
ICBub2RlLnRpbWVzdGFtcCA9IGF0dHIudGltZXN0YW1wOwotICAgICAgICAgIH0KLSAgICAgICAg
ICBpZiAoYXR0ci5zaXplICE9PSB1bmRlZmluZWQpIHsKLSAgICAgICAgICAgIHZhciBjb250ZW50
cyA9IG5vZGUuY29udGVudHM7Ci0gICAgICAgICAgICBpZiAoYXR0ci5zaXplIDwgY29udGVudHMu
bGVuZ3RoKSBjb250ZW50cy5sZW5ndGggPSBhdHRyLnNpemU7Ci0gICAgICAgICAgICBlbHNlIHdo
aWxlIChhdHRyLnNpemUgPiBjb250ZW50cy5sZW5ndGgpIGNvbnRlbnRzLnB1c2goMCk7Ci0gICAg
ICAgICAgfQotICAgICAgICB9LGxvb2t1cDpmdW5jdGlvbiAocGFyZW50LCBuYW1lKSB7Ci0gICAg
ICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PRU5UKTsKLSAgICAg
ICAgfSxta25vZDpmdW5jdGlvbiAocGFyZW50LCBuYW1lLCBtb2RlLCBkZXYpIHsKLSAgICAgICAg
ICByZXR1cm4gTUVNRlMuY3JlYXRlX25vZGUocGFyZW50LCBuYW1lLCBtb2RlLCBkZXYpOwotICAg
ICAgICB9LHJlbmFtZTpmdW5jdGlvbiAob2xkX25vZGUsIG5ld19kaXIsIG5ld19uYW1lKSB7Ci0g
ICAgICAgICAgLy8gaWYgd2UncmUgb3ZlcndyaXRpbmcgYSBkaXJlY3RvcnkgYXQgbmV3X25hbWUs
IG1ha2Ugc3VyZSBpdCdzIGVtcHR5LgotICAgICAgICAgIGlmIChGUy5pc0RpcihvbGRfbm9kZS5t
b2RlKSkgewotICAgICAgICAgICAgdmFyIG5ld19ub2RlOwotICAgICAgICAgICAgdHJ5IHsKLSAg
ICAgICAgICAgICAgbmV3X25vZGUgPSBGUy5sb29rdXBOb2RlKG5ld19kaXIsIG5ld19uYW1lKTsK
LSAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlm
IChuZXdfbm9kZSkgewotICAgICAgICAgICAgICBmb3IgKHZhciBpIGluIG5ld19ub2RlLmNvbnRl
bnRzKSB7Ci0gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09E
RVMuRU5PVEVNUFRZKTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAg
IH0KLSAgICAgICAgICAvLyBkbyB0aGUgaW50ZXJuYWwgcmV3aXJpbmcKLSAgICAgICAgICBkZWxl
dGUgb2xkX25vZGUucGFyZW50LmNvbnRlbnRzW29sZF9ub2RlLm5hbWVdOwotICAgICAgICAgIG9s
ZF9ub2RlLm5hbWUgPSBuZXdfbmFtZTsKLSAgICAgICAgICBuZXdfZGlyLmNvbnRlbnRzW25ld19u
YW1lXSA9IG9sZF9ub2RlOwotICAgICAgICB9LHVubGluazpmdW5jdGlvbiAocGFyZW50LCBuYW1l
KSB7Ci0gICAgICAgICAgZGVsZXRlIHBhcmVudC5jb250ZW50c1tuYW1lXTsKLSAgICAgICAgfSxy
bWRpcjpmdW5jdGlvbiAocGFyZW50LCBuYW1lKSB7Ci0gICAgICAgICAgdmFyIG5vZGUgPSBGUy5s
b29rdXBOb2RlKHBhcmVudCwgbmFtZSk7Ci0gICAgICAgICAgZm9yICh2YXIgaSBpbiBub2RlLmNv
bnRlbnRzKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RF
Uy5FTk9URU1QVFkpOwotICAgICAgICAgIH0KLSAgICAgICAgICBkZWxldGUgcGFyZW50LmNvbnRl
bnRzW25hbWVdOwotICAgICAgICB9LHJlYWRkaXI6ZnVuY3Rpb24gKG5vZGUpIHsKLSAgICAgICAg
ICB2YXIgZW50cmllcyA9IFsnLicsICcuLiddCi0gICAgICAgICAgZm9yICh2YXIga2V5IGluIG5v
ZGUuY29udGVudHMpIHsKLSAgICAgICAgICAgIGlmICghbm9kZS5jb250ZW50cy5oYXNPd25Qcm9w
ZXJ0eShrZXkpKSB7Ci0gICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgZW50cmllcy5wdXNoKGtleSk7Ci0gICAgICAgICAgfQotICAgICAgICAgIHJldHVy
biBlbnRyaWVzOwotICAgICAgICB9LHN5bWxpbms6ZnVuY3Rpb24gKHBhcmVudCwgbmV3bmFtZSwg
b2xkcGF0aCkgewotICAgICAgICAgIHZhciBub2RlID0gTUVNRlMuY3JlYXRlX25vZGUocGFyZW50
LCBuZXduYW1lLCAwNzc3IHwgMDEyMDAwMCwgMCk7Ci0gICAgICAgICAgbm9kZS5saW5rID0gb2xk
cGF0aDsKLSAgICAgICAgICByZXR1cm4gbm9kZTsKLSAgICAgICAgfSxyZWFkbGluazpmdW5jdGlv
biAobm9kZSkgewotICAgICAgICAgIGlmICghRlMuaXNMaW5rKG5vZGUubW9kZSkpIHsKLSAgICAg
ICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJTlZBTCk7Ci0gICAg
ICAgICAgfQotICAgICAgICAgIHJldHVybiBub2RlLmxpbms7Ci0gICAgICAgIH19LHN0cmVhbV9v
cHM6e3JlYWQ6ZnVuY3Rpb24gKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0aCwgcG9zaXRp
b24pIHsKLSAgICAgICAgICB2YXIgY29udGVudHMgPSBzdHJlYW0ubm9kZS5jb250ZW50czsKLSAg
ICAgICAgICB2YXIgc2l6ZSA9IE1hdGgubWluKGNvbnRlbnRzLmxlbmd0aCAtIHBvc2l0aW9uLCBs
ZW5ndGgpOwotICAgICAgICAgIGlmIChjb250ZW50cy5zdWJhcnJheSkgeyAvLyB0eXBlZCBhcnJh
eQotICAgICAgICAgICAgYnVmZmVyLnNldChjb250ZW50cy5zdWJhcnJheShwb3NpdGlvbiwgcG9z
aXRpb24gKyBzaXplKSwgb2Zmc2V0KTsKLSAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICB7Ci0g
ICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNpemU7IGkrKykgewotICAgICAgICAgICAg
ICBidWZmZXJbb2Zmc2V0ICsgaV0gPSBjb250ZW50c1twb3NpdGlvbiArIGldOwotICAgICAgICAg
ICAgfQotICAgICAgICAgIH0KLSAgICAgICAgICByZXR1cm4gc2l6ZTsKLSAgICAgICAgfSx3cml0
ZTpmdW5jdGlvbiAoc3RyZWFtLCBidWZmZXIsIG9mZnNldCwgbGVuZ3RoLCBwb3NpdGlvbikgewot
ICAgICAgICAgIHZhciBjb250ZW50cyA9IHN0cmVhbS5ub2RlLmNvbnRlbnRzOwotICAgICAgICAg
IHdoaWxlIChjb250ZW50cy5sZW5ndGggPCBwb3NpdGlvbikgY29udGVudHMucHVzaCgwKTsKLSAg
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICBj
b250ZW50c1twb3NpdGlvbiArIGldID0gYnVmZmVyW29mZnNldCArIGldOwotICAgICAgICAgIH0K
LSAgICAgICAgICBzdHJlYW0ubm9kZS50aW1lc3RhbXAgPSBEYXRlLm5vdygpOwotICAgICAgICAg
IHJldHVybiBsZW5ndGg7Ci0gICAgICAgIH0sbGxzZWVrOmZ1bmN0aW9uIChzdHJlYW0sIG9mZnNl
dCwgd2hlbmNlKSB7Ci0gICAgICAgICAgdmFyIHBvc2l0aW9uID0gb2Zmc2V0OwotICAgICAgICAg
IGlmICh3aGVuY2UgPT09IDEpIHsgIC8vIFNFRUtfQ1VSLgotICAgICAgICAgICAgcG9zaXRpb24g
Kz0gc3RyZWFtLnBvc2l0aW9uOwotICAgICAgICAgIH0gZWxzZSBpZiAod2hlbmNlID09PSAyKSB7
ICAvLyBTRUVLX0VORC4KLSAgICAgICAgICAgIGlmIChGUy5pc0ZpbGUoc3RyZWFtLm5vZGUubW9k
ZSkpIHsKLSAgICAgICAgICAgICAgcG9zaXRpb24gKz0gc3RyZWFtLm5vZGUuY29udGVudHMubGVu
Z3RoOwotICAgICAgICAgICAgfQotICAgICAgICAgIH0KLSAgICAgICAgICBpZiAocG9zaXRpb24g
PCAwKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5F
SU5WQUwpOwotICAgICAgICAgIH0KLSAgICAgICAgICBzdHJlYW0udW5nb3R0ZW4gPSBbXTsKLSAg
ICAgICAgICBzdHJlYW0ucG9zaXRpb24gPSBwb3NpdGlvbjsKLSAgICAgICAgICByZXR1cm4gcG9z
aXRpb247Ci0gICAgICAgIH0sYWxsb2NhdGU6ZnVuY3Rpb24gKHN0cmVhbSwgb2Zmc2V0LCBsZW5n
dGgpIHsKLSAgICAgICAgICB2YXIgY29udGVudHMgPSBzdHJlYW0ubm9kZS5jb250ZW50czsKLSAg
ICAgICAgICB2YXIgbGltaXQgPSBvZmZzZXQgKyBsZW5ndGg7Ci0gICAgICAgICAgd2hpbGUgKGxp
bWl0ID4gY29udGVudHMubGVuZ3RoKSBjb250ZW50cy5wdXNoKDApOwotICAgICAgICB9LG1tYXA6
ZnVuY3Rpb24gKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0aCwgcG9zaXRpb24sIHByb3Qs
IGZsYWdzKSB7Ci0gICAgICAgICAgaWYgKCFGUy5pc0ZpbGUoc3RyZWFtLm5vZGUubW9kZSkpIHsK
LSAgICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT0RFVik7
Ci0gICAgICAgICAgfQotICAgICAgICAgIHZhciBwdHI7Ci0gICAgICAgICAgdmFyIGFsbG9jYXRl
ZDsKLSAgICAgICAgICB2YXIgY29udGVudHMgPSBzdHJlYW0ubm9kZS5jb250ZW50czsKLSAgICAg
ICAgICAvLyBPbmx5IG1ha2UgYSBuZXcgY29weSB3aGVuIE1BUF9QUklWQVRFIGlzIHNwZWNpZmll
ZC4KLSAgICAgICAgICBpZiAoIShmbGFncyAmIDB4MDIpKSB7Ci0gICAgICAgICAgICAvLyBXZSBj
YW4ndCBlbXVsYXRlIE1BUF9TSEFSRUQgd2hlbiB0aGUgZmlsZSBpcyBub3QgYmFja2VkIGJ5IHRo
ZSBidWZmZXIKLSAgICAgICAgICAgIC8vIHdlJ3JlIG1hcHBpbmcgdG8gKGUuZy4gdGhlIEhFQVAg
YnVmZmVyKS4KLSAgICAgICAgICAgIGFzc2VydChjb250ZW50cy5idWZmZXIgPT09IGJ1ZmZlciB8
fCBjb250ZW50cy5idWZmZXIgPT09IGJ1ZmZlci5idWZmZXIpOwotICAgICAgICAgICAgYWxsb2Nh
dGVkID0gZmFsc2U7Ci0gICAgICAgICAgICBwdHIgPSBjb250ZW50cy5ieXRlT2Zmc2V0OwotICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBUcnkgdG8gYXZvaWQgdW5uZWNlc3Nhcnkg
c2xpY2VzLgotICAgICAgICAgICAgaWYgKHBvc2l0aW9uID4gMCB8fCBwb3NpdGlvbiArIGxlbmd0
aCA8IGNvbnRlbnRzLmxlbmd0aCkgewotICAgICAgICAgICAgICBpZiAoY29udGVudHMuc3ViYXJy
YXkpIHsKLSAgICAgICAgICAgICAgICBjb250ZW50cyA9IGNvbnRlbnRzLnN1YmFycmF5KHBvc2l0
aW9uLCBwb3NpdGlvbiArIGxlbmd0aCk7Ci0gICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgY29udGVudHMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjb250ZW50cywg
cG9zaXRpb24sIHBvc2l0aW9uICsgbGVuZ3RoKTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgYWxsb2NhdGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIHB0ciA9IF9t
YWxsb2MobGVuZ3RoKTsKLSAgICAgICAgICAgIGlmICghcHRyKSB7Ci0gICAgICAgICAgICAgIHRo
cm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVOT01FTSk7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICBidWZmZXIuc2V0KGNvbnRlbnRzLCBwdHIpOwotICAgICAgICAgIH0KLSAg
ICAgICAgICByZXR1cm4geyBwdHI6IHB0ciwgYWxsb2NhdGVkOiBhbGxvY2F0ZWQgfTsKLSAgICAg
ICAgfX19OwotICB2YXIgX3N0ZGluPWFsbG9jYXRlKDEsICJpMzIqIiwgQUxMT0NfU1RBVElDKTsK
LSAgdmFyIF9zdGRvdXQ9YWxsb2NhdGUoMSwgImkzMioiLCBBTExPQ19TVEFUSUMpOwotICB2YXIg
X3N0ZGVycj1hbGxvY2F0ZSgxLCAiaTMyKiIsIEFMTE9DX1NUQVRJQyk7Ci0gIGZ1bmN0aW9uIF9m
Zmx1c2goc3RyZWFtKSB7Ci0gICAgICAvLyBpbnQgZmZsdXNoKEZJTEUgKnN0cmVhbSk7Ci0gICAg
ICAvLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDAwMDk1Mzk5L2Z1bmN0
aW9ucy9mZmx1c2guaHRtbAotICAgICAgLy8gd2UgZG9uJ3QgY3VycmVudGx5IHBlcmZvcm0gYW55
IHVzZXItc3BhY2UgYnVmZmVyaW5nIG9mIGRhdGEKLSAgICB9dmFyIEZTPXtyb290Om51bGwsbm9k
ZXM6W251bGxdLGRldmljZXM6W251bGxdLHN0cmVhbXM6W251bGxdLG5leHRJbm9kZToxLG5hbWVf
dGFibGU6bnVsbCxjdXJyZW50UGF0aDoiLyIsaW5pdGlhbGl6ZWQ6ZmFsc2UsaWdub3JlUGVybWlz
c2lvbnM6dHJ1ZSxFcnJub0Vycm9yOmZ1bmN0aW9uIEVycm5vRXJyb3IoZXJybm8pIHsKLSAgICAg
ICAgICB0aGlzLmVycm5vID0gZXJybm87Ci0gICAgICAgICAgZm9yICh2YXIga2V5IGluIEVSUk5P
X0NPREVTKSB7Ci0gICAgICAgICAgICBpZiAoRVJSTk9fQ09ERVNba2V5XSA9PT0gZXJybm8pIHsK
LSAgICAgICAgICAgICAgdGhpcy5jb2RlID0ga2V5OwotICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICB9Ci0gICAgICAgICAgdGhpcy5tZXNzYWdlID0gRVJSTk9f
TUVTU0FHRVNbZXJybm9dOwotICAgICAgICB9LGhhbmRsZUZTRXJyb3I6ZnVuY3Rpb24gKGUpIHsK
LSAgICAgICAgaWYgKCEoZSBpbnN0YW5jZW9mIEZTLkVycm5vRXJyb3IpKSB0aHJvdyBlICsgJyA6
ICcgKyBuZXcgRXJyb3IoKS5zdGFjazsKLSAgICAgICAgcmV0dXJuIF9fX3NldEVyck5vKGUuZXJy
bm8pOwotICAgICAgfSxoYXNoTmFtZTpmdW5jdGlvbiAocGFyZW50aWQsIG5hbWUpIHsKLSAgICAg
ICAgdmFyIGhhc2ggPSAwOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5hbWUubGVuZ3Ro
OyBpKyspIHsKLSAgICAgICAgICBoYXNoID0gKChoYXNoIDw8IDUpIC0gaGFzaCArIG5hbWUuY2hh
ckNvZGVBdChpKSkgfCAwOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiAoKHBhcmVudGlkICsg
aGFzaCkgPj4+IDApICUgRlMubmFtZV90YWJsZS5sZW5ndGg7Ci0gICAgICB9LGhhc2hBZGROb2Rl
OmZ1bmN0aW9uIChub2RlKSB7Ci0gICAgICAgIHZhciBoYXNoID0gRlMuaGFzaE5hbWUobm9kZS5w
YXJlbnQuaWQsIG5vZGUubmFtZSk7Ci0gICAgICAgIG5vZGUubmFtZV9uZXh0ID0gRlMubmFtZV90
YWJsZVtoYXNoXTsKLSAgICAgICAgRlMubmFtZV90YWJsZVtoYXNoXSA9IG5vZGU7Ci0gICAgICB9
LGhhc2hSZW1vdmVOb2RlOmZ1bmN0aW9uIChub2RlKSB7Ci0gICAgICAgIHZhciBoYXNoID0gRlMu
aGFzaE5hbWUobm9kZS5wYXJlbnQuaWQsIG5vZGUubmFtZSk7Ci0gICAgICAgIGlmIChGUy5uYW1l
X3RhYmxlW2hhc2hdID09PSBub2RlKSB7Ci0gICAgICAgICAgRlMubmFtZV90YWJsZVtoYXNoXSA9
IG5vZGUubmFtZV9uZXh0OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIHZhciBjdXJyZW50
ID0gRlMubmFtZV90YWJsZVtoYXNoXTsKLSAgICAgICAgICB3aGlsZSAoY3VycmVudCkgewotICAg
ICAgICAgICAgaWYgKGN1cnJlbnQubmFtZV9uZXh0ID09PSBub2RlKSB7Ci0gICAgICAgICAgICAg
IGN1cnJlbnQubmFtZV9uZXh0ID0gbm9kZS5uYW1lX25leHQ7Ci0gICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQubmFtZV9uZXh0
OwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfSxsb29rdXBOb2RlOmZ1bmN0aW9uIChw
YXJlbnQsIG5hbWUpIHsKLSAgICAgICAgdmFyIGVyciA9IEZTLm1heUxvb2t1cChwYXJlbnQpOwot
ICAgICAgICBpZiAoZXJyKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoZXJy
KTsKLSAgICAgICAgfQotICAgICAgICB2YXIgaGFzaCA9IEZTLmhhc2hOYW1lKHBhcmVudC5pZCwg
bmFtZSk7Ci0gICAgICAgIGZvciAodmFyIG5vZGUgPSBGUy5uYW1lX3RhYmxlW2hhc2hdOyBub2Rl
OyBub2RlID0gbm9kZS5uYW1lX25leHQpIHsKLSAgICAgICAgICBpZiAobm9kZS5wYXJlbnQuaWQg
PT09IHBhcmVudC5pZCAmJiBub2RlLm5hbWUgPT09IG5hbWUpIHsKLSAgICAgICAgICAgIHJldHVy
biBub2RlOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICAvLyBpZiB3ZSBmYWlsZWQg
dG8gZmluZCBpdCBpbiB0aGUgY2FjaGUsIGNhbGwgaW50byB0aGUgVkZTCi0gICAgICAgIHJldHVy
biBGUy5sb29rdXAocGFyZW50LCBuYW1lKTsKLSAgICAgIH0sY3JlYXRlTm9kZTpmdW5jdGlvbiAo
cGFyZW50LCBuYW1lLCBtb2RlLCByZGV2KSB7Ci0gICAgICAgIHZhciBub2RlID0gewotICAgICAg
ICAgIGlkOiBGUy5uZXh0SW5vZGUrKywKLSAgICAgICAgICBuYW1lOiBuYW1lLAotICAgICAgICAg
IG1vZGU6IG1vZGUsCi0gICAgICAgICAgbm9kZV9vcHM6IHt9LAotICAgICAgICAgIHN0cmVhbV9v
cHM6IHt9LAotICAgICAgICAgIHJkZXY6IHJkZXYsCi0gICAgICAgICAgcGFyZW50OiBudWxsLAot
ICAgICAgICAgIG1vdW50OiBudWxsCi0gICAgICAgIH07Ci0gICAgICAgIGlmICghcGFyZW50KSB7
Ci0gICAgICAgICAgcGFyZW50ID0gbm9kZTsgIC8vIHJvb3Qgbm9kZSBzZXRzIHBhcmVudCB0byBp
dHNlbGYKLSAgICAgICAgfQotICAgICAgICBub2RlLnBhcmVudCA9IHBhcmVudDsKLSAgICAgICAg
bm9kZS5tb3VudCA9IHBhcmVudC5tb3VudDsKLSAgICAgICAgLy8gY29tcGF0aWJpbGl0eQotICAg
ICAgICB2YXIgcmVhZE1vZGUgPSAyOTIgfCA3MzsKLSAgICAgICAgdmFyIHdyaXRlTW9kZSA9IDE0
NjsKLSAgICAgICAgLy8gTk9URSB3ZSBtdXN0IHVzZSBPYmplY3QuZGVmaW5lUHJvcGVydGllcyBp
bnN0ZWFkIG9mIGluZGl2aWR1YWwgY2FsbHMgdG8KLSAgICAgICAgLy8gT2JqZWN0LmRlZmluZVBy
b3BlcnR5IGluIG9yZGVyIHRvIG1ha2UgY2xvc3VyZSBjb21waWxlciBoYXBweQotICAgICAgICBP
YmplY3QuZGVmaW5lUHJvcGVydGllcyhub2RlLCB7Ci0gICAgICAgICAgcmVhZDogewotICAgICAg
ICAgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIChub2RlLm1vZGUgJiByZWFkTW9kZSkgPT09
IHJlYWRNb2RlOyB9LAotICAgICAgICAgICAgc2V0OiBmdW5jdGlvbih2YWwpIHsgdmFsID8gbm9k
ZS5tb2RlIHw9IHJlYWRNb2RlIDogbm9kZS5tb2RlICY9IH5yZWFkTW9kZTsgfQotICAgICAgICAg
IH0sCi0gICAgICAgICAgd3JpdGU6IHsKLSAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7IHJl
dHVybiAobm9kZS5tb2RlICYgd3JpdGVNb2RlKSA9PT0gd3JpdGVNb2RlOyB9LAotICAgICAgICAg
ICAgc2V0OiBmdW5jdGlvbih2YWwpIHsgdmFsID8gbm9kZS5tb2RlIHw9IHdyaXRlTW9kZSA6IG5v
ZGUubW9kZSAmPSB+d3JpdGVNb2RlOyB9Ci0gICAgICAgICAgfSwKLSAgICAgICAgICBpc0ZvbGRl
cjogewotICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIEZTLmlzRGlyKG5vZGUu
bW9kZSk7IH0sCi0gICAgICAgICAgfSwKLSAgICAgICAgICBpc0RldmljZTogewotICAgICAgICAg
ICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIEZTLmlzQ2hyZGV2KG5vZGUubW9kZSk7IH0sCi0g
ICAgICAgICAgfSwKLSAgICAgICAgfSk7Ci0gICAgICAgIEZTLmhhc2hBZGROb2RlKG5vZGUpOwot
ICAgICAgICByZXR1cm4gbm9kZTsKLSAgICAgIH0sZGVzdHJveU5vZGU6ZnVuY3Rpb24gKG5vZGUp
IHsKLSAgICAgICAgRlMuaGFzaFJlbW92ZU5vZGUobm9kZSk7Ci0gICAgICB9LGlzUm9vdDpmdW5j
dGlvbiAobm9kZSkgewotICAgICAgICByZXR1cm4gbm9kZSA9PT0gbm9kZS5wYXJlbnQ7Ci0gICAg
ICB9LGlzTW91bnRwb2ludDpmdW5jdGlvbiAobm9kZSkgewotICAgICAgICByZXR1cm4gbm9kZS5t
b3VudGVkOwotICAgICAgfSxpc0ZpbGU6ZnVuY3Rpb24gKG1vZGUpIHsKLSAgICAgICAgcmV0dXJu
IChtb2RlICYgMDE3MDAwMCkgPT09IDAxMDAwMDA7Ci0gICAgICB9LGlzRGlyOmZ1bmN0aW9uICht
b2RlKSB7Ci0gICAgICAgIHJldHVybiAobW9kZSAmIDAxNzAwMDApID09PSAwMDQwMDAwOwotICAg
ICAgfSxpc0xpbms6ZnVuY3Rpb24gKG1vZGUpIHsKLSAgICAgICAgcmV0dXJuIChtb2RlICYgMDE3
MDAwMCkgPT09IDAxMjAwMDA7Ci0gICAgICB9LGlzQ2hyZGV2OmZ1bmN0aW9uIChtb2RlKSB7Ci0g
ICAgICAgIHJldHVybiAobW9kZSAmIDAxNzAwMDApID09PSAwMDIwMDAwOwotICAgICAgfSxpc0Js
a2RldjpmdW5jdGlvbiAobW9kZSkgewotICAgICAgICByZXR1cm4gKG1vZGUgJiAwMTcwMDAwKSA9
PT0gMDA2MDAwMDsKLSAgICAgIH0saXNGSUZPOmZ1bmN0aW9uIChtb2RlKSB7Ci0gICAgICAgIHJl
dHVybiAobW9kZSAmIDAxNzAwMDApID09PSAwMDEwMDAwOwotICAgICAgfSxjd2Q6ZnVuY3Rpb24g
KCkgewotICAgICAgICByZXR1cm4gRlMuY3VycmVudFBhdGg7Ci0gICAgICB9LGxvb2t1cFBhdGg6
ZnVuY3Rpb24gKHBhdGgsIG9wdHMpIHsKLSAgICAgICAgcGF0aCA9IFBBVEgucmVzb2x2ZShGUy5j
dXJyZW50UGF0aCwgcGF0aCk7Ci0gICAgICAgIG9wdHMgPSBvcHRzIHx8IHsgcmVjdXJzZV9jb3Vu
dDogMCB9OwotICAgICAgICBpZiAob3B0cy5yZWN1cnNlX2NvdW50ID4gOCkgeyAgLy8gbWF4IHJl
Y3Vyc2l2ZSBsb29rdXAgb2YgOAotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVS
Uk5PX0NPREVTLkVMT09QKTsKLSAgICAgICAgfQotICAgICAgICAvLyBzcGxpdCB0aGUgcGF0aAot
ICAgICAgICB2YXIgcGFydHMgPSBQQVRILm5vcm1hbGl6ZUFycmF5KHBhdGguc3BsaXQoJy8nKS5m
aWx0ZXIoZnVuY3Rpb24ocCkgewotICAgICAgICAgIHJldHVybiAhIXA7Ci0gICAgICAgIH0pLCBm
YWxzZSk7Ci0gICAgICAgIC8vIHN0YXJ0IGF0IHRoZSByb290Ci0gICAgICAgIHZhciBjdXJyZW50
ID0gRlMucm9vdDsKLSAgICAgICAgdmFyIGN1cnJlbnRfcGF0aCA9ICcvJzsKLSAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykgewotICAgICAgICAgIHZhciBpc2xh
c3QgPSAoaSA9PT0gcGFydHMubGVuZ3RoLTEpOwotICAgICAgICAgIGlmIChpc2xhc3QgJiYgb3B0
cy5wYXJlbnQpIHsKLSAgICAgICAgICAgIC8vIHN0b3AgcmVzb2x2aW5nCi0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICB9Ci0gICAgICAgICAgY3VycmVudCA9IEZTLmxvb2t1cE5vZGUoY3Vy
cmVudCwgcGFydHNbaV0pOwotICAgICAgICAgIGN1cnJlbnRfcGF0aCA9IFBBVEguam9pbihjdXJy
ZW50X3BhdGgsIHBhcnRzW2ldKTsKLSAgICAgICAgICAvLyBqdW1wIHRvIHRoZSBtb3VudCdzIHJv
b3Qgbm9kZSBpZiB0aGlzIGlzIGEgbW91bnRwb2ludAotICAgICAgICAgIGlmIChGUy5pc01vdW50
cG9pbnQoY3VycmVudCkpIHsKLSAgICAgICAgICAgIGN1cnJlbnQgPSBjdXJyZW50Lm1vdW50LnJv
b3Q7Ci0gICAgICAgICAgfQotICAgICAgICAgIC8vIGZvbGxvdyBzeW1saW5rcwotICAgICAgICAg
IC8vIGJ5IGRlZmF1bHQsIGxvb2t1cFBhdGggd2lsbCBub3QgZm9sbG93IGEgc3ltbGluayBpZiBp
dCBpcyB0aGUgZmluYWwgcGF0aCBjb21wb25lbnQuCi0gICAgICAgICAgLy8gc2V0dGluZyBvcHRz
LmZvbGxvdyA9IHRydWUgd2lsbCBvdmVycmlkZSB0aGlzIGJlaGF2aW9yLgotICAgICAgICAgIGlm
ICghaXNsYXN0IHx8IG9wdHMuZm9sbG93KSB7Ci0gICAgICAgICAgICB2YXIgY291bnQgPSAwOwot
ICAgICAgICAgICAgd2hpbGUgKEZTLmlzTGluayhjdXJyZW50Lm1vZGUpKSB7Ci0gICAgICAgICAg
ICAgIHZhciBsaW5rID0gRlMucmVhZGxpbmsoY3VycmVudF9wYXRoKTsKLSAgICAgICAgICAgICAg
Y3VycmVudF9wYXRoID0gUEFUSC5yZXNvbHZlKFBBVEguZGlybmFtZShjdXJyZW50X3BhdGgpLCBs
aW5rKTsKLSAgICAgICAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgoY3VycmVudF9w
YXRoLCB7IHJlY3Vyc2VfY291bnQ6IG9wdHMucmVjdXJzZV9jb3VudCB9KTsKLSAgICAgICAgICAg
ICAgY3VycmVudCA9IGxvb2t1cC5ub2RlOwotICAgICAgICAgICAgICBpZiAoY291bnQrKyA+IDQw
KSB7ICAvLyBsaW1pdCBtYXggY29uc2VjdXRpdmUgc3ltbGlua3MgdG8gNDAgKFNZTUxPT1BfTUFY
KS4KLSAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5F
TE9PUCk7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICAgICAgcmV0dXJuIHsgcGF0aDogY3VycmVudF9wYXRoLCBub2RlOiBjdXJyZW50
IH07Ci0gICAgICB9LGdldFBhdGg6ZnVuY3Rpb24gKG5vZGUpIHsKLSAgICAgICAgdmFyIHBhdGg7
Ci0gICAgICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICAgICAgaWYgKEZTLmlzUm9vdChub2RlKSkg
ewotICAgICAgICAgICAgcmV0dXJuIHBhdGggPyBQQVRILmpvaW4obm9kZS5tb3VudC5tb3VudHBv
aW50LCBwYXRoKSA6IG5vZGUubW91bnQubW91bnRwb2ludDsKLSAgICAgICAgICB9Ci0gICAgICAg
ICAgcGF0aCA9IHBhdGggPyBQQVRILmpvaW4obm9kZS5uYW1lLCBwYXRoKSA6IG5vZGUubmFtZTsK
LSAgICAgICAgICBub2RlID0gbm9kZS5wYXJlbnQ7Ci0gICAgICAgIH0KLSAgICAgIH0sZmxhZ01v
ZGVzOnsiciI6MCwicnMiOjgxOTIsInIrIjoyLCJ3IjoxNTM3LCJ3eCI6MzU4NSwieHciOjM1ODUs
IncrIjoxNTM4LCJ3eCsiOjM1ODYsInh3KyI6MzU4NiwiYSI6NTIxLCJheCI6MjU2OSwieGEiOjI1
NjksImErIjo1MjIsImF4KyI6MjU3MCwieGErIjoyNTcwfSxtb2RlU3RyaW5nVG9GbGFnczpmdW5j
dGlvbiAoc3RyKSB7Ci0gICAgICAgIHZhciBmbGFncyA9IEZTLmZsYWdNb2Rlc1tzdHJdOwotICAg
ICAgICBpZiAodHlwZW9mIGZsYWdzID09PSAndW5kZWZpbmVkJykgewotICAgICAgICAgIHRocm93
IG5ldyBFcnJvcignVW5rbm93biBmaWxlIG9wZW4gbW9kZTogJyArIHN0cik7Ci0gICAgICAgIH0K
LSAgICAgICAgcmV0dXJuIGZsYWdzOwotICAgICAgfSxmbGFnc1RvUGVybWlzc2lvblN0cmluZzpm
dW5jdGlvbiAoZmxhZykgewotICAgICAgICB2YXIgYWNjbW9kZSA9IGZsYWcgJiAzOwotICAgICAg
ICB2YXIgcGVybXMgPSBbJ3InLCAndycsICdydyddW2FjY21vZGVdOwotICAgICAgICBpZiAoKGZs
YWcgJiAxMDI0KSkgewotICAgICAgICAgIHBlcm1zICs9ICd3JzsKLSAgICAgICAgfQotICAgICAg
ICByZXR1cm4gcGVybXM7Ci0gICAgICB9LG5vZGVQZXJtaXNzaW9uczpmdW5jdGlvbiAobm9kZSwg
cGVybXMpIHsKLSAgICAgICAgaWYgKEZTLmlnbm9yZVBlcm1pc3Npb25zKSB7Ci0gICAgICAgICAg
cmV0dXJuIDA7Ci0gICAgICAgIH0KLSAgICAgICAgLy8gcmV0dXJuIDAgaWYgYW55IHVzZXIsIGdy
b3VwIG9yIG93bmVyIGJpdHMgYXJlIHNldC4KLSAgICAgICAgaWYgKHBlcm1zLmluZGV4T2YoJ3In
KSAhPT0gLTEgJiYgIShub2RlLm1vZGUgJiAyOTIpKSB7Ci0gICAgICAgICAgcmV0dXJuIEVSUk5P
X0NPREVTLkVBQ0NFUzsKLSAgICAgICAgfSBlbHNlIGlmIChwZXJtcy5pbmRleE9mKCd3JykgIT09
IC0xICYmICEobm9kZS5tb2RlICYgMTQ2KSkgewotICAgICAgICAgIHJldHVybiBFUlJOT19DT0RF
Uy5FQUNDRVM7Ci0gICAgICAgIH0gZWxzZSBpZiAocGVybXMuaW5kZXhPZigneCcpICE9PSAtMSAm
JiAhKG5vZGUubW9kZSAmIDczKSkgewotICAgICAgICAgIHJldHVybiBFUlJOT19DT0RFUy5FQUND
RVM7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgICB9LG1heUxvb2t1cDpmdW5j
dGlvbiAoZGlyKSB7Ci0gICAgICAgIHJldHVybiBGUy5ub2RlUGVybWlzc2lvbnMoZGlyLCAneCcp
OwotICAgICAgfSxtYXlNa25vZDpmdW5jdGlvbiAobW9kZSkgewotICAgICAgICBzd2l0Y2ggKG1v
ZGUgJiAwMTcwMDAwKSB7Ci0gICAgICAgICAgY2FzZSAwMTAwMDAwOgotICAgICAgICAgIGNhc2Ug
MDAyMDAwMDoKLSAgICAgICAgICBjYXNlIDAwNjAwMDA6Ci0gICAgICAgICAgY2FzZSAwMDEwMDAw
OgotICAgICAgICAgIGNhc2UgMDE0MDAwMDoKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gRVJSTk9fQ09ERVMuRUlOVkFMOwotICAg
ICAgICB9Ci0gICAgICB9LG1heUNyZWF0ZTpmdW5jdGlvbiAoZGlyLCBuYW1lKSB7Ci0gICAgICAg
IHRyeSB7Ci0gICAgICAgICAgdmFyIG5vZGUgPSBGUy5sb29rdXBOb2RlKGRpciwgbmFtZSk7Ci0g
ICAgICAgICAgcmV0dXJuIEVSUk5PX0NPREVTLkVFWElTVDsKLSAgICAgICAgfSBjYXRjaCAoZSkg
ewotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBGUy5ub2RlUGVybWlzc2lvbnMoZGlyLCAnd3gn
KTsKLSAgICAgIH0sbWF5RGVsZXRlOmZ1bmN0aW9uIChkaXIsIG5hbWUsIGlzZGlyKSB7Ci0gICAg
ICAgIHZhciBub2RlOwotICAgICAgICB0cnkgewotICAgICAgICAgIG5vZGUgPSBGUy5sb29rdXBO
b2RlKGRpciwgbmFtZSk7Ci0gICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICByZXR1cm4g
ZS5lcnJubzsKLSAgICAgICAgfQotICAgICAgICB2YXIgZXJyID0gRlMubm9kZVBlcm1pc3Npb25z
KGRpciwgJ3d4Jyk7Ci0gICAgICAgIGlmIChlcnIpIHsKLSAgICAgICAgICByZXR1cm4gZXJyOwot
ICAgICAgICB9Ci0gICAgICAgIGlmIChpc2RpcikgewotICAgICAgICAgIGlmICghRlMuaXNEaXIo
bm9kZS5tb2RlKSkgewotICAgICAgICAgICAgcmV0dXJuIEVSUk5PX0NPREVTLkVOT1RESVI7Ci0g
ICAgICAgICAgfQotICAgICAgICAgIGlmIChGUy5pc1Jvb3Qobm9kZSkgfHwgRlMuZ2V0UGF0aChu
b2RlKSA9PT0gRlMuY3VycmVudFBhdGgpIHsKLSAgICAgICAgICAgIHJldHVybiBFUlJOT19DT0RF
Uy5FQlVTWTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgaWYgKEZT
LmlzRGlyKG5vZGUubW9kZSkpIHsKLSAgICAgICAgICAgIHJldHVybiBFUlJOT19DT0RFUy5FSVNE
SVI7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIHJldHVybiAwOwotICAgICAgfSxt
YXlPcGVuOmZ1bmN0aW9uIChub2RlLCBmbGFncykgewotICAgICAgICBpZiAoIW5vZGUpIHsKLSAg
ICAgICAgICByZXR1cm4gRVJSTk9fQ09ERVMuRU5PRU5UOwotICAgICAgICB9Ci0gICAgICAgIGlm
IChGUy5pc0xpbmsobm9kZS5tb2RlKSkgewotICAgICAgICAgIHJldHVybiBFUlJOT19DT0RFUy5F
TE9PUDsKLSAgICAgICAgfSBlbHNlIGlmIChGUy5pc0Rpcihub2RlLm1vZGUpKSB7Ci0gICAgICAg
ICAgaWYgKChmbGFncyAmIDMpICE9PSAwIHx8ICAvLyBvcGVuaW5nIGZvciB3cml0ZQotICAgICAg
ICAgICAgICAoZmxhZ3MgJiAxMDI0KSkgewotICAgICAgICAgICAgcmV0dXJuIEVSUk5PX0NPREVT
LkVJU0RJUjsKLSAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIEZTLm5vZGVQ
ZXJtaXNzaW9ucyhub2RlLCBGUy5mbGFnc1RvUGVybWlzc2lvblN0cmluZyhmbGFncykpOwotICAg
ICAgfSxjaHJkZXZfc3RyZWFtX29wczp7b3BlbjpmdW5jdGlvbiAoc3RyZWFtKSB7Ci0gICAgICAg
ICAgdmFyIGRldmljZSA9IEZTLmdldERldmljZShzdHJlYW0ubm9kZS5yZGV2KTsKLSAgICAgICAg
ICAvLyBvdmVycmlkZSBub2RlJ3Mgc3RyZWFtIG9wcyB3aXRoIHRoZSBkZXZpY2UncwotICAgICAg
ICAgIHN0cmVhbS5zdHJlYW1fb3BzID0gZGV2aWNlLnN0cmVhbV9vcHM7Ci0gICAgICAgICAgLy8g
Zm9yd2FyZCB0aGUgb3BlbiBjYWxsCi0gICAgICAgICAgaWYgKHN0cmVhbS5zdHJlYW1fb3BzLm9w
ZW4pIHsKLSAgICAgICAgICAgIHN0cmVhbS5zdHJlYW1fb3BzLm9wZW4oc3RyZWFtKTsKLSAgICAg
ICAgICB9Ci0gICAgICAgIH0sbGxzZWVrOmZ1bmN0aW9uICgpIHsKLSAgICAgICAgICB0aHJvdyBu
ZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FU1BJUEUpOwotICAgICAgICB9fSxtYWpvcjpm
dW5jdGlvbiAoZGV2KSB7Ci0gICAgICAgIHJldHVybiAoKGRldikgPj4gOCk7Ci0gICAgICB9LG1p
bm9yOmZ1bmN0aW9uIChkZXYpIHsKLSAgICAgICAgcmV0dXJuICgoZGV2KSAmIDB4ZmYpOwotICAg
ICAgfSxtYWtlZGV2OmZ1bmN0aW9uIChtYSwgbWkpIHsKLSAgICAgICAgcmV0dXJuICgobWEpIDw8
IDggfCAobWkpKTsKLSAgICAgIH0scmVnaXN0ZXJEZXZpY2U6ZnVuY3Rpb24gKGRldiwgb3BzKSB7
Ci0gICAgICAgIEZTLmRldmljZXNbZGV2XSA9IHsgc3RyZWFtX29wczogb3BzIH07Ci0gICAgICB9
LGdldERldmljZTpmdW5jdGlvbiAoZGV2KSB7Ci0gICAgICAgIHJldHVybiBGUy5kZXZpY2VzW2Rl
dl07Ci0gICAgICB9LE1BWF9PUEVOX0ZEUzo0MDk2LG5leHRmZDpmdW5jdGlvbiAoZmRfc3RhcnQs
IGZkX2VuZCkgewotICAgICAgICBmZF9zdGFydCA9IGZkX3N0YXJ0IHx8IDE7Ci0gICAgICAgIGZk
X2VuZCA9IGZkX2VuZCB8fCBGUy5NQVhfT1BFTl9GRFM7Ci0gICAgICAgIGZvciAodmFyIGZkID0g
ZmRfc3RhcnQ7IGZkIDw9IGZkX2VuZDsgZmQrKykgewotICAgICAgICAgIGlmICghRlMuc3RyZWFt
c1tmZF0pIHsKLSAgICAgICAgICAgIHJldHVybiBmZDsKLSAgICAgICAgICB9Ci0gICAgICAgIH0K
LSAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU1GSUxFKTsKLSAg
ICAgIH0sZ2V0U3RyZWFtOmZ1bmN0aW9uIChmZCkgewotICAgICAgICByZXR1cm4gRlMuc3RyZWFt
c1tmZF07Ci0gICAgICB9LGNyZWF0ZVN0cmVhbTpmdW5jdGlvbiAoc3RyZWFtLCBmZF9zdGFydCwg
ZmRfZW5kKSB7Ci0gICAgICAgIHZhciBmZCA9IEZTLm5leHRmZChmZF9zdGFydCwgZmRfZW5kKTsK
LSAgICAgICAgc3RyZWFtLmZkID0gZmQ7Ci0gICAgICAgIC8vIGNvbXBhdGliaWxpdHkKLSAgICAg
ICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoc3RyZWFtLCB7Ci0gICAgICAgICAgb2JqZWN0OiB7
Ci0gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gc3RyZWFtLm5vZGU7IH0sCi0g
ICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uKHZhbCkgeyBzdHJlYW0ubm9kZSA9IHZhbDsgfQotICAg
ICAgICAgIH0sCi0gICAgICAgICAgaXNSZWFkOiB7Ci0gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9u
KCkgeyByZXR1cm4gKHN0cmVhbS5mbGFncyAmIDMpICE9PSAxOyB9Ci0gICAgICAgICAgfSwKLSAg
ICAgICAgICBpc1dyaXRlOiB7Ci0gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4g
KHN0cmVhbS5mbGFncyAmIDMpICE9PSAwOyB9Ci0gICAgICAgICAgfSwKLSAgICAgICAgICBpc0Fw
cGVuZDogewotICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIChzdHJlYW0uZmxh
Z3MgJiA4KTsgfQotICAgICAgICAgIH0KLSAgICAgICAgfSk7Ci0gICAgICAgIEZTLnN0cmVhbXNb
ZmRdID0gc3RyZWFtOwotICAgICAgICByZXR1cm4gc3RyZWFtOwotICAgICAgfSxjbG9zZVN0cmVh
bTpmdW5jdGlvbiAoZmQpIHsKLSAgICAgICAgRlMuc3RyZWFtc1tmZF0gPSBudWxsOwotICAgICAg
fSxnZXRNb2RlOmZ1bmN0aW9uIChjYW5SZWFkLCBjYW5Xcml0ZSkgewotICAgICAgICB2YXIgbW9k
ZSA9IDA7Ci0gICAgICAgIGlmIChjYW5SZWFkKSBtb2RlIHw9IDI5MiB8IDczOwotICAgICAgICBp
ZiAoY2FuV3JpdGUpIG1vZGUgfD0gMTQ2OwotICAgICAgICByZXR1cm4gbW9kZTsKLSAgICAgIH0s
am9pblBhdGg6ZnVuY3Rpb24gKHBhcnRzLCBmb3JjZVJlbGF0aXZlKSB7Ci0gICAgICAgIHZhciBw
YXRoID0gUEFUSC5qb2luLmFwcGx5KG51bGwsIHBhcnRzKTsKLSAgICAgICAgaWYgKGZvcmNlUmVs
YXRpdmUgJiYgcGF0aFswXSA9PSAnLycpIHBhdGggPSBwYXRoLnN1YnN0cigxKTsKLSAgICAgICAg
cmV0dXJuIHBhdGg7Ci0gICAgICB9LGFic29sdXRlUGF0aDpmdW5jdGlvbiAocmVsYXRpdmUsIGJh
c2UpIHsKLSAgICAgICAgcmV0dXJuIFBBVEgucmVzb2x2ZShiYXNlLCByZWxhdGl2ZSk7Ci0gICAg
ICB9LHN0YW5kYXJkaXplUGF0aDpmdW5jdGlvbiAocGF0aCkgewotICAgICAgICByZXR1cm4gUEFU
SC5ub3JtYWxpemUocGF0aCk7Ci0gICAgICB9LGZpbmRPYmplY3Q6ZnVuY3Rpb24gKHBhdGgsIGRv
bnRSZXNvbHZlTGFzdExpbmspIHsKLSAgICAgICAgdmFyIHJldCA9IEZTLmFuYWx5emVQYXRoKHBh
dGgsIGRvbnRSZXNvbHZlTGFzdExpbmspOwotICAgICAgICBpZiAocmV0LmV4aXN0cykgewotICAg
ICAgICAgIHJldHVybiByZXQub2JqZWN0OwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIF9f
X3NldEVyck5vKHJldC5lcnJvcik7Ci0gICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAgICAgIH0K
LSAgICAgIH0sYW5hbHl6ZVBhdGg6ZnVuY3Rpb24gKHBhdGgsIGRvbnRSZXNvbHZlTGFzdExpbmsp
IHsKLSAgICAgICAgLy8gb3BlcmF0ZSBmcm9tIHdpdGhpbiB0aGUgY29udGV4dCBvZiB0aGUgc3lt
bGluaydzIHRhcmdldAotICAgICAgICB0cnkgewotICAgICAgICAgIHZhciBsb29rdXAgPSBGUy5s
b29rdXBQYXRoKHBhdGgsIHsgZm9sbG93OiAhZG9udFJlc29sdmVMYXN0TGluayB9KTsKLSAgICAg
ICAgICBwYXRoID0gbG9va3VwLnBhdGg7Ci0gICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAg
fQotICAgICAgICB2YXIgcmV0ID0gewotICAgICAgICAgIGlzUm9vdDogZmFsc2UsIGV4aXN0czog
ZmFsc2UsIGVycm9yOiAwLCBuYW1lOiBudWxsLCBwYXRoOiBudWxsLCBvYmplY3Q6IG51bGwsCi0g
ICAgICAgICAgcGFyZW50RXhpc3RzOiBmYWxzZSwgcGFyZW50UGF0aDogbnVsbCwgcGFyZW50T2Jq
ZWN0OiBudWxsCi0gICAgICAgIH07Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgdmFyIGxvb2t1
cCA9IEZTLmxvb2t1cFBhdGgocGF0aCwgeyBwYXJlbnQ6IHRydWUgfSk7Ci0gICAgICAgICAgcmV0
LnBhcmVudEV4aXN0cyA9IHRydWU7Ci0gICAgICAgICAgcmV0LnBhcmVudFBhdGggPSBsb29rdXAu
cGF0aDsKLSAgICAgICAgICByZXQucGFyZW50T2JqZWN0ID0gbG9va3VwLm5vZGU7Ci0gICAgICAg
ICAgcmV0Lm5hbWUgPSBQQVRILmJhc2VuYW1lKHBhdGgpOwotICAgICAgICAgIGxvb2t1cCA9IEZT
Lmxvb2t1cFBhdGgocGF0aCwgeyBmb2xsb3c6ICFkb250UmVzb2x2ZUxhc3RMaW5rIH0pOwotICAg
ICAgICAgIHJldC5leGlzdHMgPSB0cnVlOwotICAgICAgICAgIHJldC5wYXRoID0gbG9va3VwLnBh
dGg7Ci0gICAgICAgICAgcmV0Lm9iamVjdCA9IGxvb2t1cC5ub2RlOwotICAgICAgICAgIHJldC5u
YW1lID0gbG9va3VwLm5vZGUubmFtZTsKLSAgICAgICAgICByZXQuaXNSb290ID0gbG9va3VwLnBh
dGggPT09ICcvJzsKLSAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgIHJldC5lcnJvciA9
IGUuZXJybm87Ci0gICAgICAgIH07Ci0gICAgICAgIHJldHVybiByZXQ7Ci0gICAgICB9LGNyZWF0
ZUZvbGRlcjpmdW5jdGlvbiAocGFyZW50LCBuYW1lLCBjYW5SZWFkLCBjYW5Xcml0ZSkgewotICAg
ICAgICB2YXIgcGF0aCA9IFBBVEguam9pbih0eXBlb2YgcGFyZW50ID09PSAnc3RyaW5nJyA/IHBh
cmVudCA6IEZTLmdldFBhdGgocGFyZW50KSwgbmFtZSk7Ci0gICAgICAgIHZhciBtb2RlID0gRlMu
Z2V0TW9kZShjYW5SZWFkLCBjYW5Xcml0ZSk7Ci0gICAgICAgIHJldHVybiBGUy5ta2RpcihwYXRo
LCBtb2RlKTsKLSAgICAgIH0sY3JlYXRlUGF0aDpmdW5jdGlvbiAocGFyZW50LCBwYXRoLCBjYW5S
ZWFkLCBjYW5Xcml0ZSkgewotICAgICAgICBwYXJlbnQgPSB0eXBlb2YgcGFyZW50ID09PSAnc3Ry
aW5nJyA/IHBhcmVudCA6IEZTLmdldFBhdGgocGFyZW50KTsKLSAgICAgICAgdmFyIHBhcnRzID0g
cGF0aC5zcGxpdCgnLycpLnJldmVyc2UoKTsKLSAgICAgICAgd2hpbGUgKHBhcnRzLmxlbmd0aCkg
ewotICAgICAgICAgIHZhciBwYXJ0ID0gcGFydHMucG9wKCk7Ci0gICAgICAgICAgaWYgKCFwYXJ0
KSBjb250aW51ZTsKLSAgICAgICAgICB2YXIgY3VycmVudCA9IFBBVEguam9pbihwYXJlbnQsIHBh
cnQpOwotICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBGUy5ta2RpcihjdXJyZW50LCAwNzc3
KTsKLSAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAvLyBpZ25vcmUgRUVYSVNU
Ci0gICAgICAgICAgfQotICAgICAgICAgIHBhcmVudCA9IGN1cnJlbnQ7Ci0gICAgICAgIH0KLSAg
ICAgICAgcmV0dXJuIGN1cnJlbnQ7Ci0gICAgICB9LGNyZWF0ZUZpbGU6ZnVuY3Rpb24gKHBhcmVu
dCwgbmFtZSwgcHJvcGVydGllcywgY2FuUmVhZCwgY2FuV3JpdGUpIHsKLSAgICAgICAgdmFyIHBh
dGggPSBQQVRILmpvaW4odHlwZW9mIHBhcmVudCA9PT0gJ3N0cmluZycgPyBwYXJlbnQgOiBGUy5n
ZXRQYXRoKHBhcmVudCksIG5hbWUpOwotICAgICAgICB2YXIgbW9kZSA9IEZTLmdldE1vZGUoY2Fu
UmVhZCwgY2FuV3JpdGUpOwotICAgICAgICByZXR1cm4gRlMuY3JlYXRlKHBhdGgsIG1vZGUpOwot
ICAgICAgfSxjcmVhdGVEYXRhRmlsZTpmdW5jdGlvbiAocGFyZW50LCBuYW1lLCBkYXRhLCBjYW5S
ZWFkLCBjYW5Xcml0ZSkgewotICAgICAgICB2YXIgcGF0aCA9IFBBVEguam9pbih0eXBlb2YgcGFy
ZW50ID09PSAnc3RyaW5nJyA/IHBhcmVudCA6IEZTLmdldFBhdGgocGFyZW50KSwgbmFtZSk7Ci0g
ICAgICAgIHZhciBtb2RlID0gRlMuZ2V0TW9kZShjYW5SZWFkLCBjYW5Xcml0ZSk7Ci0gICAgICAg
IHZhciBub2RlID0gRlMuY3JlYXRlKHBhdGgsIG1vZGUpOwotICAgICAgICBpZiAoZGF0YSkgewot
ICAgICAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHsKLSAgICAgICAgICAgIHZh
ciBhcnIgPSBuZXcgQXJyYXkoZGF0YS5sZW5ndGgpOwotICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDAsIGxlbiA9IGRhdGEubGVuZ3RoOyBpIDwgbGVuOyArK2kpIGFycltpXSA9IGRhdGEuY2hhckNv
ZGVBdChpKTsKLSAgICAgICAgICAgIGRhdGEgPSBhcnI7Ci0gICAgICAgICAgfQotICAgICAgICAg
IC8vIG1ha2Ugc3VyZSB3ZSBjYW4gd3JpdGUgdG8gdGhlIGZpbGUKLSAgICAgICAgICBGUy5jaG1v
ZChwYXRoLCBtb2RlIHwgMTQ2KTsKLSAgICAgICAgICB2YXIgc3RyZWFtID0gRlMub3BlbihwYXRo
LCAndycpOwotICAgICAgICAgIEZTLndyaXRlKHN0cmVhbSwgZGF0YSwgMCwgZGF0YS5sZW5ndGgs
IDApOwotICAgICAgICAgIEZTLmNsb3NlKHN0cmVhbSk7Ci0gICAgICAgICAgRlMuY2htb2QocGF0
aCwgbW9kZSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG5vZGU7Ci0gICAgICB9LGNyZWF0
ZURldmljZTpmdW5jdGlvbiAocGFyZW50LCBuYW1lLCBpbnB1dCwgb3V0cHV0KSB7Ci0gICAgICAg
IHZhciBwYXRoID0gUEFUSC5qb2luKHR5cGVvZiBwYXJlbnQgPT09ICdzdHJpbmcnID8gcGFyZW50
IDogRlMuZ2V0UGF0aChwYXJlbnQpLCBuYW1lKTsKLSAgICAgICAgdmFyIG1vZGUgPSBpbnB1dCAm
JiBvdXRwdXQgPyAwNzc3IDogKGlucHV0ID8gMDMzMyA6IDA1NTUpOwotICAgICAgICBpZiAoIUZT
LmNyZWF0ZURldmljZS5tYWpvcikgRlMuY3JlYXRlRGV2aWNlLm1ham9yID0gNjQ7Ci0gICAgICAg
IHZhciBkZXYgPSBGUy5tYWtlZGV2KEZTLmNyZWF0ZURldmljZS5tYWpvcisrLCAwKTsKLSAgICAg
ICAgLy8gQ3JlYXRlIGEgZmFrZSBkZXZpY2UgdGhhdCBhIHNldCBvZiBzdHJlYW0gb3BzIHRvIGVt
dWxhdGUKLSAgICAgICAgLy8gdGhlIG9sZCBiZWhhdmlvci4KLSAgICAgICAgRlMucmVnaXN0ZXJE
ZXZpY2UoZGV2LCB7Ci0gICAgICAgICAgb3BlbjogZnVuY3Rpb24oc3RyZWFtKSB7Ci0gICAgICAg
ICAgICBzdHJlYW0uc2Vla2FibGUgPSBmYWxzZTsKLSAgICAgICAgICB9LAotICAgICAgICAgIGNs
b3NlOiBmdW5jdGlvbihzdHJlYW0pIHsKLSAgICAgICAgICAgIC8vIGZsdXNoIGFueSBwZW5kaW5n
IGxpbmUgZGF0YQotICAgICAgICAgICAgaWYgKG91dHB1dCAmJiBvdXRwdXQuYnVmZmVyICYmIG91
dHB1dC5idWZmZXIubGVuZ3RoKSB7Ci0gICAgICAgICAgICAgIG91dHB1dCgxMCk7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgfSwKLSAgICAgICAgICByZWFkOiBmdW5jdGlvbihzdHJlYW0sIGJ1
ZmZlciwgb2Zmc2V0LCBsZW5ndGgsIHBvcyAvKiBpZ25vcmVkICovKSB7Ci0gICAgICAgICAgICB2
YXIgYnl0ZXNSZWFkID0gMDsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3Ro
OyBpKyspIHsKLSAgICAgICAgICAgICAgdmFyIHJlc3VsdDsKLSAgICAgICAgICAgICAgdHJ5IHsK
LSAgICAgICAgICAgICAgICByZXN1bHQgPSBpbnB1dCgpOwotICAgICAgICAgICAgICB9IGNhdGNo
IChlKSB7Ci0gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09E
RVMuRUlPKTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBpZiAocmVzdWx0ID09PSB1
bmRlZmluZWQgJiYgYnl0ZXNSZWFkID09PSAwKSB7Ci0gICAgICAgICAgICAgICAgdGhyb3cgbmV3
IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUFHQUlOKTsKLSAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICBpZiAocmVzdWx0ID09PSBudWxsIHx8IHJlc3VsdCA9PT0gdW5kZWZpbmVkKSBi
cmVhazsKLSAgICAgICAgICAgICAgYnl0ZXNSZWFkKys7Ci0gICAgICAgICAgICAgIGJ1ZmZlcltv
ZmZzZXQraV0gPSByZXN1bHQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoYnl0ZXNS
ZWFkKSB7Ci0gICAgICAgICAgICAgIHN0cmVhbS5ub2RlLnRpbWVzdGFtcCA9IERhdGUubm93KCk7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gYnl0ZXNSZWFkOwotICAgICAgICAg
IH0sCi0gICAgICAgICAgd3JpdGU6IGZ1bmN0aW9uKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxl
bmd0aCwgcG9zKSB7Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsr
KSB7Ci0gICAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgb3V0cHV0KGJ1ZmZlcltv
ZmZzZXQraV0pOwotICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAgICAg
dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlPKTsKLSAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGxlbmd0aCkgewotICAgICAgICAgICAg
ICBzdHJlYW0ubm9kZS50aW1lc3RhbXAgPSBEYXRlLm5vdygpOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgcmV0dXJuIGk7Ci0gICAgICAgICAgfQotICAgICAgICB9KTsKLSAgICAgICAgcmV0
dXJuIEZTLm1rZGV2KHBhdGgsIG1vZGUsIGRldik7Ci0gICAgICB9LGNyZWF0ZUxpbms6ZnVuY3Rp
b24gKHBhcmVudCwgbmFtZSwgdGFyZ2V0LCBjYW5SZWFkLCBjYW5Xcml0ZSkgewotICAgICAgICB2
YXIgcGF0aCA9IFBBVEguam9pbih0eXBlb2YgcGFyZW50ID09PSAnc3RyaW5nJyA/IHBhcmVudCA6
IEZTLmdldFBhdGgocGFyZW50KSwgbmFtZSk7Ci0gICAgICAgIHJldHVybiBGUy5zeW1saW5rKHRh
cmdldCwgcGF0aCk7Ci0gICAgICB9LGZvcmNlTG9hZEZpbGU6ZnVuY3Rpb24gKG9iaikgewotICAg
ICAgICBpZiAob2JqLmlzRGV2aWNlIHx8IG9iai5pc0ZvbGRlciB8fCBvYmoubGluayB8fCBvYmou
Y29udGVudHMpIHJldHVybiB0cnVlOwotICAgICAgICB2YXIgc3VjY2VzcyA9IHRydWU7Ci0gICAg
ICAgIGlmICh0eXBlb2YgWE1MSHR0cFJlcXVlc3QgIT09ICd1bmRlZmluZWQnKSB7Ci0gICAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJMYXp5IGxvYWRpbmcgc2hvdWxkIGhhdmUgYmVlbiBwZXJmb3Jt
ZWQgKGNvbnRlbnRzIHNldCkgaW4gY3JlYXRlTGF6eUZpbGUsIGJ1dCBpdCB3YXMgbm90LiBMYXp5
IGxvYWRpbmcgb25seSB3b3JrcyBpbiB3ZWIgd29ya2Vycy4gVXNlIC0tZW1iZWQtZmlsZSBvciAt
LXByZWxvYWQtZmlsZSBpbiBlbWNjIG9uIHRoZSBtYWluIHRocmVhZC4iKTsKLSAgICAgICAgfSBl
bHNlIGlmIChNb2R1bGVbJ3JlYWQnXSkgewotICAgICAgICAgIC8vIENvbW1hbmQtbGluZS4KLSAg
ICAgICAgICB0cnkgewotICAgICAgICAgICAgLy8gV0FSTklORzogQ2FuJ3QgcmVhZCBiaW5hcnkg
ZmlsZXMgaW4gVjgncyBkOCBvciB0cmFjZW1vbmtleSdzIGpzLCBhcwotICAgICAgICAgICAgLy8g
ICAgICAgICAgcmVhZCgpIHdpbGwgdHJ5IHRvIHBhcnNlIFVURjguCi0gICAgICAgICAgICBvYmou
Y29udGVudHMgPSBpbnRBcnJheUZyb21TdHJpbmcoTW9kdWxlWydyZWFkJ10ob2JqLnVybCksIHRy
dWUpOwotICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIHN1Y2Nlc3MgPSBmYWxz
ZTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCdDYW5ub3QgbG9hZCB3aXRob3V0IHJlYWQoKSBvciBYTUxIdHRwUmVxdWVzdC4nKTsKLSAg
ICAgICAgfQotICAgICAgICBpZiAoIXN1Y2Nlc3MpIF9fX3NldEVyck5vKEVSUk5PX0NPREVTLkVJ
Tyk7Ci0gICAgICAgIHJldHVybiBzdWNjZXNzOwotICAgICAgfSxjcmVhdGVMYXp5RmlsZTpmdW5j
dGlvbiAocGFyZW50LCBuYW1lLCB1cmwsIGNhblJlYWQsIGNhbldyaXRlKSB7Ci0gICAgICAgIGlm
ICh0eXBlb2YgWE1MSHR0cFJlcXVlc3QgIT09ICd1bmRlZmluZWQnKSB7Ci0gICAgICAgICAgaWYg
KCFFTlZJUk9OTUVOVF9JU19XT1JLRVIpIHRocm93ICdDYW5ub3QgZG8gc3luY2hyb25vdXMgYmlu
YXJ5IFhIUnMgb3V0c2lkZSB3ZWJ3b3JrZXJzIGluIG1vZGVybiBicm93c2Vycy4gVXNlIC0tZW1i
ZWQtZmlsZSBvciAtLXByZWxvYWQtZmlsZSBpbiBlbWNjJzsKLSAgICAgICAgICAvLyBMYXp5IGNo
dW5rZWQgVWludDhBcnJheSAoaW1wbGVtZW50cyBnZXQgYW5kIGxlbmd0aCBmcm9tIFVpbnQ4QXJy
YXkpLiBBY3R1YWwgZ2V0dGluZyBpcyBhYnN0cmFjdGVkIGF3YXkgZm9yIGV2ZW50dWFsIHJldXNl
LgotICAgICAgICAgIHZhciBMYXp5VWludDhBcnJheSA9IGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgdGhpcy5sZW5ndGhLbm93biA9IGZhbHNlOwotICAgICAgICAgICAgdGhpcy5jaHVua3MgPSBb
XTsgLy8gTG9hZGVkIGNodW5rcy4gSW5kZXggaXMgdGhlIGNodW5rIG51bWJlcgotICAgICAgICAg
IH0KLSAgICAgICAgICBMYXp5VWludDhBcnJheS5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24oaWR4
KSB7Ci0gICAgICAgICAgICBpZiAoaWR4ID4gdGhpcy5sZW5ndGgtMSB8fCBpZHggPCAwKSB7Ci0g
ICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB2YXIgY2h1bmtPZmZzZXQgPSBpZHggJSB0aGlzLmNodW5rU2l6ZTsKLSAgICAgICAgICAgIHZh
ciBjaHVua051bSA9IE1hdGguZmxvb3IoaWR4IC8gdGhpcy5jaHVua1NpemUpOwotICAgICAgICAg
ICAgcmV0dXJuIHRoaXMuZ2V0dGVyKGNodW5rTnVtKVtjaHVua09mZnNldF07Ci0gICAgICAgICAg
fQotICAgICAgICAgIExhenlVaW50OEFycmF5LnByb3RvdHlwZS5zZXREYXRhR2V0dGVyID0gZnVu
Y3Rpb24oZ2V0dGVyKSB7Ci0gICAgICAgICAgICB0aGlzLmdldHRlciA9IGdldHRlcjsKLSAgICAg
ICAgICB9Ci0gICAgICAgICAgTGF6eVVpbnQ4QXJyYXkucHJvdG90eXBlLmNhY2hlTGVuZ3RoID0g
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgIC8vIEZpbmQgbGVuZ3RoCi0gICAgICAgICAgICAg
IHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICAgICAgICAgICAgeGhyLm9wZW4o
J0hFQUQnLCB1cmwsIGZhbHNlKTsKLSAgICAgICAgICAgICAgeGhyLnNlbmQobnVsbCk7Ci0gICAg
ICAgICAgICAgIGlmICghKHhoci5zdGF0dXMgPj0gMjAwICYmIHhoci5zdGF0dXMgPCAzMDAgfHwg
eGhyLnN0YXR1cyA9PT0gMzA0KSkgdGhyb3cgbmV3IEVycm9yKCJDb3VsZG4ndCBsb2FkICIgKyB1
cmwgKyAiLiBTdGF0dXM6ICIgKyB4aHIuc3RhdHVzKTsKLSAgICAgICAgICAgICAgdmFyIGRhdGFs
ZW5ndGggPSBOdW1iZXIoeGhyLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LWxlbmd0aCIpKTsK
LSAgICAgICAgICAgICAgdmFyIGhlYWRlcjsKLSAgICAgICAgICAgICAgdmFyIGhhc0J5dGVTZXJ2
aW5nID0gKGhlYWRlciA9IHhoci5nZXRSZXNwb25zZUhlYWRlcigiQWNjZXB0LVJhbmdlcyIpKSAm
JiBoZWFkZXIgPT09ICJieXRlcyI7Ci0gICAgICAgICAgICAgIHZhciBjaHVua1NpemUgPSAxMDI0
KjEwMjQ7IC8vIENodW5rIHNpemUgaW4gYnl0ZXMKLSAgICAgICAgICAgICAgaWYgKCFoYXNCeXRl
U2VydmluZykgY2h1bmtTaXplID0gZGF0YWxlbmd0aDsKLSAgICAgICAgICAgICAgLy8gRnVuY3Rp
b24gdG8gZ2V0IGEgcmFuZ2UgZnJvbSB0aGUgcmVtb3RlIFVSTC4KLSAgICAgICAgICAgICAgdmFy
IGRvWEhSID0gKGZ1bmN0aW9uKGZyb20sIHRvKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGZyb20g
PiB0bykgdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHJhbmdlICgiICsgZnJvbSArICIsICIgKyB0
byArICIpIG9yIG5vIGJ5dGVzIHJlcXVlc3RlZCEiKTsKLSAgICAgICAgICAgICAgICBpZiAodG8g
PiBkYXRhbGVuZ3RoLTEpIHRocm93IG5ldyBFcnJvcigib25seSAiICsgZGF0YWxlbmd0aCArICIg
Ynl0ZXMgYXZhaWxhYmxlISBwcm9ncmFtbWVyIGVycm9yISIpOwotICAgICAgICAgICAgICAgIC8v
IFRPRE86IFVzZSBtb3pSZXNwb25zZUFycmF5QnVmZmVyLCByZXNwb25zZVN0cmVhbSwgZXRjLiBp
ZiBhdmFpbGFibGUuCi0gICAgICAgICAgICAgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVz
dCgpOwotICAgICAgICAgICAgICAgIHhoci5vcGVuKCdHRVQnLCB1cmwsIGZhbHNlKTsKLSAgICAg
ICAgICAgICAgICBpZiAoZGF0YWxlbmd0aCAhPT0gY2h1bmtTaXplKSB4aHIuc2V0UmVxdWVzdEhl
YWRlcigiUmFuZ2UiLCAiYnl0ZXM9IiArIGZyb20gKyAiLSIgKyB0byk7Ci0gICAgICAgICAgICAg
ICAgLy8gU29tZSBoaW50cyB0byB0aGUgYnJvd3NlciB0aGF0IHdlIHdhbnQgYmluYXJ5IGRhdGEu
Ci0gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBVaW50OEFycmF5ICE9ICd1bmRlZmluZWQnKSB4
aHIucmVzcG9uc2VUeXBlID0gJ2FycmF5YnVmZmVyJzsKLSAgICAgICAgICAgICAgICBpZiAoeGhy
Lm92ZXJyaWRlTWltZVR5cGUpIHsKLSAgICAgICAgICAgICAgICAgIHhoci5vdmVycmlkZU1pbWVU
eXBlKCd0ZXh0L3BsYWluOyBjaGFyc2V0PXgtdXNlci1kZWZpbmVkJyk7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIHhoci5zZW5kKG51bGwpOwotICAgICAgICAgICAgICAgIGlm
ICghKHhoci5zdGF0dXMgPj0gMjAwICYmIHhoci5zdGF0dXMgPCAzMDAgfHwgeGhyLnN0YXR1cyA9
PT0gMzA0KSkgdGhyb3cgbmV3IEVycm9yKCJDb3VsZG4ndCBsb2FkICIgKyB1cmwgKyAiLiBTdGF0
dXM6ICIgKyB4aHIuc3RhdHVzKTsKLSAgICAgICAgICAgICAgICBpZiAoeGhyLnJlc3BvbnNlICE9
PSB1bmRlZmluZWQpIHsKLSAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgVWludDhBcnJheSh4
aHIucmVzcG9uc2UgfHwgW10pOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICByZXR1cm4gaW50QXJyYXlGcm9tU3RyaW5nKHhoci5yZXNwb25zZVRleHQgfHwgJycs
IHRydWUpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAg
ICAgIHZhciBsYXp5QXJyYXkgPSB0aGlzOwotICAgICAgICAgICAgICBsYXp5QXJyYXkuc2V0RGF0
YUdldHRlcihmdW5jdGlvbihjaHVua051bSkgewotICAgICAgICAgICAgICAgIHZhciBzdGFydCA9
IGNodW5rTnVtICogY2h1bmtTaXplOwotICAgICAgICAgICAgICAgIHZhciBlbmQgPSAoY2h1bmtO
dW0rMSkgKiBjaHVua1NpemUgLSAxOyAvLyBpbmNsdWRpbmcgdGhpcyBieXRlCi0gICAgICAgICAg
ICAgICAgZW5kID0gTWF0aC5taW4oZW5kLCBkYXRhbGVuZ3RoLTEpOyAvLyBpZiBkYXRhbGVuZ3Ro
LTEgaXMgc2VsZWN0ZWQsIHRoaXMgaXMgdGhlIGxhc3QgYmxvY2sKLSAgICAgICAgICAgICAgICBp
ZiAodHlwZW9mKGxhenlBcnJheS5jaHVua3NbY2h1bmtOdW1dKSA9PT0gInVuZGVmaW5lZCIpIHsK
LSAgICAgICAgICAgICAgICAgIGxhenlBcnJheS5jaHVua3NbY2h1bmtOdW1dID0gZG9YSFIoc3Rh
cnQsIGVuZCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICh0eXBlb2Yo
bGF6eUFycmF5LmNodW5rc1tjaHVua051bV0pID09PSAidW5kZWZpbmVkIikgdGhyb3cgbmV3IEVy
cm9yKCJkb1hIUiBmYWlsZWQhIik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGxhenlBcnJheS5j
aHVua3NbY2h1bmtOdW1dOwotICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgdGhpcy5f
bGVuZ3RoID0gZGF0YWxlbmd0aDsKLSAgICAgICAgICAgICAgdGhpcy5fY2h1bmtTaXplID0gY2h1
bmtTaXplOwotICAgICAgICAgICAgICB0aGlzLmxlbmd0aEtub3duID0gdHJ1ZTsKLSAgICAgICAg
ICB9Ci0gICAgICAgICAgdmFyIGxhenlBcnJheSA9IG5ldyBMYXp5VWludDhBcnJheSgpOwotICAg
ICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsYXp5QXJyYXksICJsZW5ndGgiLCB7Ci0gICAg
ICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgICBpZighdGhpcy5s
ZW5ndGhLbm93bikgewotICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2FjaGVMZW5ndGgoKTsK
LSAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9sZW5n
dGg7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICB9KTsKLSAgICAgICAgICBPYmplY3QuZGVm
aW5lUHJvcGVydHkobGF6eUFycmF5LCAiY2h1bmtTaXplIiwgewotICAgICAgICAgICAgICBnZXQ6
IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgaWYoIXRoaXMubGVuZ3RoS25vd24pIHsK
LSAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNhY2hlTGVuZ3RoKCk7Ci0gICAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fY2h1bmtTaXplOwotICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgfSk7Ci0gICAgICAgICAgdmFyIHByb3BlcnRpZXMgPSB7IGlz
RGV2aWNlOiBmYWxzZSwgY29udGVudHM6IGxhenlBcnJheSB9OwotICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgIHZhciBwcm9wZXJ0aWVzID0geyBpc0RldmljZTogZmFsc2UsIHVybDogdXJsIH07
Ci0gICAgICAgIH0KLSAgICAgICAgdmFyIG5vZGUgPSBGUy5jcmVhdGVGaWxlKHBhcmVudCwgbmFt
ZSwgcHJvcGVydGllcywgY2FuUmVhZCwgY2FuV3JpdGUpOwotICAgICAgICAvLyBUaGlzIGlzIGEg
dG90YWwgaGFjaywgYnV0IEkgd2FudCB0byBnZXQgdGhpcyBsYXp5IGZpbGUgY29kZSBvdXQgb2Yg
dGhlCi0gICAgICAgIC8vIGNvcmUgb2YgTUVNRlMuIElmIHdlIHdhbnQgdG8ga2VlcCB0aGlzIGxh
enkgZmlsZSBjb25jZXB0IEkgZmVlbCBpdCBzaG91bGQKLSAgICAgICAgLy8gYmUgaXRzIG93biB0
aGluIExBWllGUyBwcm94eWluZyBjYWxscyB0byBNRU1GUy4KLSAgICAgICAgaWYgKHByb3BlcnRp
ZXMuY29udGVudHMpIHsKLSAgICAgICAgICBub2RlLmNvbnRlbnRzID0gcHJvcGVydGllcy5jb250
ZW50czsKLSAgICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0aWVzLnVybCkgewotICAgICAgICAgIG5v
ZGUuY29udGVudHMgPSBudWxsOwotICAgICAgICAgIG5vZGUudXJsID0gcHJvcGVydGllcy51cmw7
Ci0gICAgICAgIH0KLSAgICAgICAgLy8gb3ZlcnJpZGUgZWFjaCBzdHJlYW0gb3Agd2l0aCBvbmUg
dGhhdCB0cmllcyB0byBmb3JjZSBsb2FkIHRoZSBsYXp5IGZpbGUgZmlyc3QKLSAgICAgICAgdmFy
IHN0cmVhbV9vcHMgPSB7fTsKLSAgICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhub2RlLnN0
cmVhbV9vcHMpOwotICAgICAgICBrZXlzLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7Ci0gICAgICAg
ICAgdmFyIGZuID0gbm9kZS5zdHJlYW1fb3BzW2tleV07Ci0gICAgICAgICAgc3RyZWFtX29wc1tr
ZXldID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAoIUZTLmZvcmNlTG9hZEZpbGUobm9k
ZSkpIHsKLSAgICAgICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMu
RUlPKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBmbi5hcHBseShudWxsLCBh
cmd1bWVudHMpOwotICAgICAgICAgIH07Ci0gICAgICAgIH0pOwotICAgICAgICAvLyB1c2UgYSBj
dXN0b20gcmVhZCBmdW5jdGlvbgotICAgICAgICBzdHJlYW1fb3BzLnJlYWQgPSBmdW5jdGlvbihz
dHJlYW0sIGJ1ZmZlciwgb2Zmc2V0LCBsZW5ndGgsIHBvc2l0aW9uKSB7Ci0gICAgICAgICAgaWYg
KCFGUy5mb3JjZUxvYWRGaWxlKG5vZGUpKSB7Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJy
bm9FcnJvcihFUlJOT19DT0RFUy5FSU8pOwotICAgICAgICAgIH0KLSAgICAgICAgICB2YXIgY29u
dGVudHMgPSBzdHJlYW0ubm9kZS5jb250ZW50czsKLSAgICAgICAgICB2YXIgc2l6ZSA9IE1hdGgu
bWluKGNvbnRlbnRzLmxlbmd0aCAtIHBvc2l0aW9uLCBsZW5ndGgpOwotICAgICAgICAgIGlmIChj
b250ZW50cy5zbGljZSkgeyAvLyBub3JtYWwgYXJyYXkKLSAgICAgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgc2l6ZTsgaSsrKSB7Ci0gICAgICAgICAgICAgIGJ1ZmZlcltvZmZzZXQgKyBpXSA9
IGNvbnRlbnRzW3Bvc2l0aW9uICsgaV07Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7IC8vIExhenlV
aW50OEFycmF5IGZyb20gc3luYyBiaW5hcnkgWEhSCi0gICAgICAgICAgICAgIGJ1ZmZlcltvZmZz
ZXQgKyBpXSA9IGNvbnRlbnRzLmdldChwb3NpdGlvbiArIGkpOwotICAgICAgICAgICAgfQotICAg
ICAgICAgIH0KLSAgICAgICAgICByZXR1cm4gc2l6ZTsKLSAgICAgICAgfTsKLSAgICAgICAgbm9k
ZS5zdHJlYW1fb3BzID0gc3RyZWFtX29wczsKLSAgICAgICAgcmV0dXJuIG5vZGU7Ci0gICAgICB9
LGNyZWF0ZVByZWxvYWRlZEZpbGU6ZnVuY3Rpb24gKHBhcmVudCwgbmFtZSwgdXJsLCBjYW5SZWFk
LCBjYW5Xcml0ZSwgb25sb2FkLCBvbmVycm9yLCBkb250Q3JlYXRlRmlsZSkgewotICAgICAgICBC
cm93c2VyLmluaXQoKTsKLSAgICAgICAgLy8gVE9ETyB3ZSBzaG91bGQgYWxsb3cgcGVvcGxlIHRv
IGp1c3QgcGFzcyBpbiBhIGNvbXBsZXRlIGZpbGVuYW1lIGluc3RlYWQKLSAgICAgICAgLy8gb2Yg
cGFyZW50IGFuZCBuYW1lIGJlaW5nIHRoYXQgd2UganVzdCBqb2luIHRoZW0gYW55d2F5cwotICAg
ICAgICB2YXIgZnVsbG5hbWUgPSBQQVRILnJlc29sdmUoUEFUSC5qb2luKHBhcmVudCwgbmFtZSkp
OwotICAgICAgICBmdW5jdGlvbiBwcm9jZXNzRGF0YShieXRlQXJyYXkpIHsKLSAgICAgICAgICBm
dW5jdGlvbiBmaW5pc2goYnl0ZUFycmF5KSB7Ci0gICAgICAgICAgICBpZiAoIWRvbnRDcmVhdGVG
aWxlKSB7Ci0gICAgICAgICAgICAgIEZTLmNyZWF0ZURhdGFGaWxlKHBhcmVudCwgbmFtZSwgYnl0
ZUFycmF5LCBjYW5SZWFkLCBjYW5Xcml0ZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBp
ZiAob25sb2FkKSBvbmxvYWQoKTsKLSAgICAgICAgICAgIHJlbW92ZVJ1bkRlcGVuZGVuY3koJ2Nw
ICcgKyBmdWxsbmFtZSk7Ci0gICAgICAgICAgfQotICAgICAgICAgIHZhciBoYW5kbGVkID0gZmFs
c2U7Ci0gICAgICAgICAgTW9kdWxlWydwcmVsb2FkUGx1Z2lucyddLmZvckVhY2goZnVuY3Rpb24o
cGx1Z2luKSB7Ci0gICAgICAgICAgICBpZiAoaGFuZGxlZCkgcmV0dXJuOwotICAgICAgICAgICAg
aWYgKHBsdWdpblsnY2FuSGFuZGxlJ10oZnVsbG5hbWUpKSB7Ci0gICAgICAgICAgICAgIHBsdWdp
blsnaGFuZGxlJ10oYnl0ZUFycmF5LCBmdWxsbmFtZSwgZmluaXNoLCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgICAgICBpZiAob25lcnJvcikgb25lcnJvcigpOwotICAgICAgICAgICAgICAgIHJl
bW92ZVJ1bkRlcGVuZGVuY3koJ2NwICcgKyBmdWxsbmFtZSk7Ci0gICAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICB9
KTsKLSAgICAgICAgICBpZiAoIWhhbmRsZWQpIGZpbmlzaChieXRlQXJyYXkpOwotICAgICAgICB9
Ci0gICAgICAgIGFkZFJ1bkRlcGVuZGVuY3koJ2NwICcgKyBmdWxsbmFtZSk7Ci0gICAgICAgIGlm
ICh0eXBlb2YgdXJsID09ICdzdHJpbmcnKSB7Ci0gICAgICAgICAgQnJvd3Nlci5hc3luY0xvYWQo
dXJsLCBmdW5jdGlvbihieXRlQXJyYXkpIHsKLSAgICAgICAgICAgIHByb2Nlc3NEYXRhKGJ5dGVB
cnJheSk7Ci0gICAgICAgICAgfSwgb25lcnJvcik7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgcHJvY2Vzc0RhdGEodXJsKTsKLSAgICAgICAgfQotICAgICAgfSxjcmVhdGVEZWZhdWx0RGly
ZWN0b3JpZXM6ZnVuY3Rpb24gKCkgewotICAgICAgICBGUy5ta2RpcignL3RtcCcsIDA3NzcpOwot
ICAgICAgfSxjcmVhdGVEZWZhdWx0RGV2aWNlczpmdW5jdGlvbiAoKSB7Ci0gICAgICAgIC8vIGNy
ZWF0ZSAvZGV2Ci0gICAgICAgIEZTLm1rZGlyKCcvZGV2JywgMDc3Nyk7Ci0gICAgICAgIC8vIHNl
dHVwIC9kZXYvbnVsbAotICAgICAgICBGUy5yZWdpc3RlckRldmljZShGUy5tYWtlZGV2KDEsIDMp
LCB7Ci0gICAgICAgICAgcmVhZDogZnVuY3Rpb24oKSB7IHJldHVybiAwOyB9LAotICAgICAgICAg
IHdyaXRlOiBmdW5jdGlvbigpIHsgcmV0dXJuIDA7IH0KLSAgICAgICAgfSk7Ci0gICAgICAgIEZT
Lm1rZGV2KCcvZGV2L251bGwnLCAwNjY2LCBGUy5tYWtlZGV2KDEsIDMpKTsKLSAgICAgICAgLy8g
c2V0dXAgL2Rldi90dHkgYW5kIC9kZXYvdHR5MQotICAgICAgICAvLyBzdGRlcnIgbmVlZHMgdG8g
cHJpbnQgb3V0cHV0IHVzaW5nIE1vZHVsZVsncHJpbnRFcnInXQotICAgICAgICAvLyBzbyB3ZSBy
ZWdpc3RlciBhIHNlY29uZCB0dHkganVzdCBmb3IgaXQuCi0gICAgICAgIFRUWS5yZWdpc3RlcihG
Uy5tYWtlZGV2KDUsIDApLCBUVFkuZGVmYXVsdF90dHlfb3BzKTsKLSAgICAgICAgVFRZLnJlZ2lz
dGVyKEZTLm1ha2VkZXYoNiwgMCksIFRUWS5kZWZhdWx0X3R0eTFfb3BzKTsKLSAgICAgICAgRlMu
bWtkZXYoJy9kZXYvdHR5JywgMDY2NiwgRlMubWFrZWRldig1LCAwKSk7Ci0gICAgICAgIEZTLm1r
ZGV2KCcvZGV2L3R0eTEnLCAwNjY2LCBGUy5tYWtlZGV2KDYsIDApKTsKLSAgICAgICAgLy8gd2Un
cmUgbm90IGdvaW5nIHRvIGVtdWxhdGUgdGhlIGFjdHVhbCBzaG0gZGV2aWNlLAotICAgICAgICAv
LyBqdXN0IGNyZWF0ZSB0aGUgdG1wIGRpcnMgdGhhdCByZXNpZGUgaW4gaXQgY29tbW9ubHkKLSAg
ICAgICAgRlMubWtkaXIoJy9kZXYvc2htJywgMDc3Nyk7Ci0gICAgICAgIEZTLm1rZGlyKCcvZGV2
L3NobS90bXAnLCAwNzc3KTsKLSAgICAgIH0sY3JlYXRlU3RhbmRhcmRTdHJlYW1zOmZ1bmN0aW9u
ICgpIHsKLSAgICAgICAgLy8gVE9ETyBkZXByZWNhdGUgdGhlIG9sZCBmdW5jdGlvbmFsaXR5IG9m
IGEgc2luZ2xlCi0gICAgICAgIC8vIGlucHV0IC8gb3V0cHV0IGNhbGxiYWNrIGFuZCB0aGF0IHV0
aWxpemVzIEZTLmNyZWF0ZURldmljZQotICAgICAgICAvLyBhbmQgaW5zdGVhZCByZXF1aXJlIGEg
dW5pcXVlIHNldCBvZiBzdHJlYW0gb3BzCi0gICAgICAgIC8vIGJ5IGRlZmF1bHQsIHdlIHN5bWxp
bmsgdGhlIHN0YW5kYXJkIHN0cmVhbXMgdG8gdGhlCi0gICAgICAgIC8vIGRlZmF1bHQgdHR5IGRl
dmljZXMuIGhvd2V2ZXIsIGlmIHRoZSBzdGFuZGFyZCBzdHJlYW1zCi0gICAgICAgIC8vIGhhdmUg
YmVlbiBvdmVyd3JpdHRlbiB3ZSBjcmVhdGUgYSB1bmlxdWUgZGV2aWNlIGZvcgotICAgICAgICAv
LyB0aGVtIGluc3RlYWQuCi0gICAgICAgIGlmIChNb2R1bGVbJ3N0ZGluJ10pIHsKLSAgICAgICAg
ICBGUy5jcmVhdGVEZXZpY2UoJy9kZXYnLCAnc3RkaW4nLCBNb2R1bGVbJ3N0ZGluJ10pOwotICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgIEZTLnN5bWxpbmsoJy9kZXYvdHR5JywgJy9kZXYvc3Rk
aW4nKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoTW9kdWxlWydzdGRvdXQnXSkgewotICAgICAg
ICAgIEZTLmNyZWF0ZURldmljZSgnL2RldicsICdzdGRvdXQnLCBudWxsLCBNb2R1bGVbJ3N0ZG91
dCddKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICBGUy5zeW1saW5rKCcvZGV2L3R0eScs
ICcvZGV2L3N0ZG91dCcpOwotICAgICAgICB9Ci0gICAgICAgIGlmIChNb2R1bGVbJ3N0ZGVycidd
KSB7Ci0gICAgICAgICAgRlMuY3JlYXRlRGV2aWNlKCcvZGV2JywgJ3N0ZGVycicsIG51bGwsIE1v
ZHVsZVsnc3RkZXJyJ10pOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIEZTLnN5bWxpbmso
Jy9kZXYvdHR5MScsICcvZGV2L3N0ZGVycicpOwotICAgICAgICB9Ci0gICAgICAgIC8vIG9wZW4g
ZGVmYXVsdCBzdHJlYW1zIGZvciB0aGUgc3RkaW4sIHN0ZG91dCBhbmQgc3RkZXJyIGRldmljZXMK
LSAgICAgICAgdmFyIHN0ZGluID0gRlMub3BlbignL2Rldi9zdGRpbicsICdyJyk7Ci0gICAgICAg
IEhFQVAzMlsoKF9zdGRpbik+PjIpXT1zdGRpbi5mZDsKLSAgICAgICAgYXNzZXJ0KHN0ZGluLmZk
ID09PSAxLCAnaW52YWxpZCBoYW5kbGUgZm9yIHN0ZGluICgnICsgc3RkaW4uZmQgKyAnKScpOwot
ICAgICAgICB2YXIgc3Rkb3V0ID0gRlMub3BlbignL2Rldi9zdGRvdXQnLCAndycpOwotICAgICAg
ICBIRUFQMzJbKChfc3Rkb3V0KT4+MildPXN0ZG91dC5mZDsKLSAgICAgICAgYXNzZXJ0KHN0ZG91
dC5mZCA9PT0gMiwgJ2ludmFsaWQgaGFuZGxlIGZvciBzdGRvdXQgKCcgKyBzdGRvdXQuZmQgKyAn
KScpOwotICAgICAgICB2YXIgc3RkZXJyID0gRlMub3BlbignL2Rldi9zdGRlcnInLCAndycpOwot
ICAgICAgICBIRUFQMzJbKChfc3RkZXJyKT4+MildPXN0ZGVyci5mZDsKLSAgICAgICAgYXNzZXJ0
KHN0ZGVyci5mZCA9PT0gMywgJ2ludmFsaWQgaGFuZGxlIGZvciBzdGRlcnIgKCcgKyBzdGRlcnIu
ZmQgKyAnKScpOwotICAgICAgfSxzdGF0aWNJbml0OmZ1bmN0aW9uICgpIHsKLSAgICAgICAgRlMu
bmFtZV90YWJsZSA9IG5ldyBBcnJheSg0MDk2KTsKLSAgICAgICAgRlMucm9vdCA9IEZTLmNyZWF0
ZU5vZGUobnVsbCwgJy8nLCAwMDQwMDAwIHwgMDc3NywgMCk7Ci0gICAgICAgIEZTLm1vdW50KE1F
TUZTLCB7fSwgJy8nKTsKLSAgICAgICAgRlMuY3JlYXRlRGVmYXVsdERpcmVjdG9yaWVzKCk7Ci0g
ICAgICAgIEZTLmNyZWF0ZURlZmF1bHREZXZpY2VzKCk7Ci0gICAgICB9LGluaXQ6ZnVuY3Rpb24g
KGlucHV0LCBvdXRwdXQsIGVycm9yKSB7Ci0gICAgICAgIGFzc2VydCghRlMuaW5pdC5pbml0aWFs
aXplZCwgJ0ZTLmluaXQgd2FzIHByZXZpb3VzbHkgY2FsbGVkLiBJZiB5b3Ugd2FudCB0byBpbml0
aWFsaXplIGxhdGVyIHdpdGggY3VzdG9tIHBhcmFtZXRlcnMsIHJlbW92ZSBhbnkgZWFybGllciBj
YWxscyAobm90ZSB0aGF0IG9uZSBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBnZW5lcmF0
ZWQgY29kZSknKTsKLSAgICAgICAgRlMuaW5pdC5pbml0aWFsaXplZCA9IHRydWU7Ci0gICAgICAg
IC8vIEFsbG93IE1vZHVsZS5zdGRpbiBldGMuIHRvIHByb3ZpZGUgZGVmYXVsdHMsIGlmIG5vbmUg
ZXhwbGljaXRseSBwYXNzZWQgdG8gdXMgaGVyZQotICAgICAgICBNb2R1bGVbJ3N0ZGluJ10gPSBp
bnB1dCB8fCBNb2R1bGVbJ3N0ZGluJ107Ci0gICAgICAgIE1vZHVsZVsnc3Rkb3V0J10gPSBvdXRw
dXQgfHwgTW9kdWxlWydzdGRvdXQnXTsKLSAgICAgICAgTW9kdWxlWydzdGRlcnInXSA9IGVycm9y
IHx8IE1vZHVsZVsnc3RkZXJyJ107Ci0gICAgICAgIEZTLmNyZWF0ZVN0YW5kYXJkU3RyZWFtcygp
OwotICAgICAgfSxxdWl0OmZ1bmN0aW9uICgpIHsKLSAgICAgICAgRlMuaW5pdC5pbml0aWFsaXpl
ZCA9IGZhbHNlOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IEZTLnN0cmVhbXMubGVuZ3Ro
OyBpKyspIHsKLSAgICAgICAgICB2YXIgc3RyZWFtID0gRlMuc3RyZWFtc1tpXTsKLSAgICAgICAg
ICBpZiAoIXN0cmVhbSkgewotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgfQotICAg
ICAgICAgIEZTLmNsb3NlKHN0cmVhbSk7Ci0gICAgICAgIH0KLSAgICAgIH0sbW91bnQ6ZnVuY3Rp
b24gKHR5cGUsIG9wdHMsIG1vdW50cG9pbnQpIHsKLSAgICAgICAgdmFyIG1vdW50ID0gewotICAg
ICAgICAgIHR5cGU6IHR5cGUsCi0gICAgICAgICAgb3B0czogb3B0cywKLSAgICAgICAgICBtb3Vu
dHBvaW50OiBtb3VudHBvaW50LAotICAgICAgICAgIHJvb3Q6IG51bGwKLSAgICAgICAgfTsKLSAg
ICAgICAgdmFyIGxvb2t1cDsKLSAgICAgICAgaWYgKG1vdW50cG9pbnQpIHsKLSAgICAgICAgICBs
b29rdXAgPSBGUy5sb29rdXBQYXRoKG1vdW50cG9pbnQsIHsgZm9sbG93OiBmYWxzZSB9KTsKLSAg
ICAgICAgfQotICAgICAgICAvLyBjcmVhdGUgYSByb290IG5vZGUgZm9yIHRoZSBmcwotICAgICAg
ICB2YXIgcm9vdCA9IHR5cGUubW91bnQobW91bnQpOwotICAgICAgICByb290Lm1vdW50ID0gbW91
bnQ7Ci0gICAgICAgIG1vdW50LnJvb3QgPSByb290OwotICAgICAgICAvLyBhc3NpZ24gdGhlIG1v
dW50IGluZm8gdG8gdGhlIG1vdW50cG9pbnQncyBub2RlCi0gICAgICAgIGlmIChsb29rdXApIHsK
LSAgICAgICAgICBsb29rdXAubm9kZS5tb3VudCA9IG1vdW50OwotICAgICAgICAgIGxvb2t1cC5u
b2RlLm1vdW50ZWQgPSB0cnVlOwotICAgICAgICAgIC8vIGNvbXBhdGliaWxpdHkgdXBkYXRlIEZT
LnJvb3QgaWYgd2UgbW91bnQgdG8gLwotICAgICAgICAgIGlmIChtb3VudHBvaW50ID09PSAnLycp
IHsKLSAgICAgICAgICAgIEZTLnJvb3QgPSBtb3VudC5yb290OwotICAgICAgICAgIH0KLSAgICAg
ICAgfQotICAgICAgICByZXR1cm4gcm9vdDsKLSAgICAgIH0sbG9va3VwOmZ1bmN0aW9uIChwYXJl
bnQsIG5hbWUpIHsKLSAgICAgICAgcmV0dXJuIHBhcmVudC5ub2RlX29wcy5sb29rdXAocGFyZW50
LCBuYW1lKTsKLSAgICAgIH0sbWtub2Q6ZnVuY3Rpb24gKHBhdGgsIG1vZGUsIGRldikgewotICAg
ICAgICB2YXIgbG9va3VwID0gRlMubG9va3VwUGF0aChwYXRoLCB7IHBhcmVudDogdHJ1ZSB9KTsK
LSAgICAgICAgdmFyIHBhcmVudCA9IGxvb2t1cC5ub2RlOwotICAgICAgICB2YXIgbmFtZSA9IFBB
VEguYmFzZW5hbWUocGF0aCk7Ci0gICAgICAgIHZhciBlcnIgPSBGUy5tYXlDcmVhdGUocGFyZW50
LCBuYW1lKTsKLSAgICAgICAgaWYgKGVycikgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJu
b0Vycm9yKGVycik7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCFwYXJlbnQubm9kZV9vcHMubWtu
b2QpIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FUEVS
TSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHBhcmVudC5ub2RlX29wcy5ta25vZChwYXJl
bnQsIG5hbWUsIG1vZGUsIGRldik7Ci0gICAgICB9LGNyZWF0ZTpmdW5jdGlvbiAocGF0aCwgbW9k
ZSkgewotICAgICAgICBtb2RlICY9IDQwOTU7Ci0gICAgICAgIG1vZGUgfD0gMDEwMDAwMDsKLSAg
ICAgICAgcmV0dXJuIEZTLm1rbm9kKHBhdGgsIG1vZGUsIDApOwotICAgICAgfSxta2RpcjpmdW5j
dGlvbiAocGF0aCwgbW9kZSkgewotICAgICAgICBtb2RlICY9IDUxMSB8IDAwMDEwMDA7Ci0gICAg
ICAgIG1vZGUgfD0gMDA0MDAwMDsKLSAgICAgICAgcmV0dXJuIEZTLm1rbm9kKHBhdGgsIG1vZGUs
IDApOwotICAgICAgfSxta2RldjpmdW5jdGlvbiAocGF0aCwgbW9kZSwgZGV2KSB7Ci0gICAgICAg
IG1vZGUgfD0gMDAyMDAwMDsKLSAgICAgICAgcmV0dXJuIEZTLm1rbm9kKHBhdGgsIG1vZGUsIGRl
dik7Ci0gICAgICB9LHN5bWxpbms6ZnVuY3Rpb24gKG9sZHBhdGgsIG5ld3BhdGgpIHsKLSAgICAg
ICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgobmV3cGF0aCwgeyBwYXJlbnQ6IHRydWUgfSk7
Ci0gICAgICAgIHZhciBwYXJlbnQgPSBsb29rdXAubm9kZTsKLSAgICAgICAgdmFyIG5ld25hbWUg
PSBQQVRILmJhc2VuYW1lKG5ld3BhdGgpOwotICAgICAgICB2YXIgZXJyID0gRlMubWF5Q3JlYXRl
KHBhcmVudCwgbmV3bmFtZSk7Ci0gICAgICAgIGlmIChlcnIpIHsKLSAgICAgICAgICB0aHJvdyBu
ZXcgRlMuRXJybm9FcnJvcihlcnIpOwotICAgICAgICB9Ci0gICAgICAgIGlmICghcGFyZW50Lm5v
ZGVfb3BzLnN5bWxpbmspIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJO
T19DT0RFUy5FUEVSTSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHBhcmVudC5ub2RlX29w
cy5zeW1saW5rKHBhcmVudCwgbmV3bmFtZSwgb2xkcGF0aCk7Ci0gICAgICB9LHJlbmFtZTpmdW5j
dGlvbiAob2xkX3BhdGgsIG5ld19wYXRoKSB7Ci0gICAgICAgIHZhciBvbGRfZGlybmFtZSA9IFBB
VEguZGlybmFtZShvbGRfcGF0aCk7Ci0gICAgICAgIHZhciBuZXdfZGlybmFtZSA9IFBBVEguZGly
bmFtZShuZXdfcGF0aCk7Ci0gICAgICAgIHZhciBvbGRfbmFtZSA9IFBBVEguYmFzZW5hbWUob2xk
X3BhdGgpOwotICAgICAgICB2YXIgbmV3X25hbWUgPSBQQVRILmJhc2VuYW1lKG5ld19wYXRoKTsK
LSAgICAgICAgLy8gcGFyZW50cyBtdXN0IGV4aXN0Ci0gICAgICAgIHZhciBsb29rdXAsIG9sZF9k
aXIsIG5ld19kaXI7Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgbG9va3VwID0gRlMubG9va3Vw
UGF0aChvbGRfcGF0aCwgeyBwYXJlbnQ6IHRydWUgfSk7Ci0gICAgICAgICAgb2xkX2RpciA9IGxv
b2t1cC5ub2RlOwotICAgICAgICAgIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgobmV3X3BhdGgsIHsg
cGFyZW50OiB0cnVlIH0pOwotICAgICAgICAgIG5ld19kaXIgPSBsb29rdXAubm9kZTsKLSAgICAg
ICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5P
X0NPREVTLkVCVVNZKTsKLSAgICAgICAgfQotICAgICAgICAvLyBuZWVkIHRvIGJlIHBhcnQgb2Yg
dGhlIHNhbWUgbW91bnQKLSAgICAgICAgaWYgKG9sZF9kaXIubW91bnQgIT09IG5ld19kaXIubW91
bnQpIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FWERF
Vik7Ci0gICAgICAgIH0KLSAgICAgICAgLy8gc291cmNlIG11c3QgZXhpc3QKLSAgICAgICAgdmFy
IG9sZF9ub2RlID0gRlMubG9va3VwTm9kZShvbGRfZGlyLCBvbGRfbmFtZSk7Ci0gICAgICAgIC8v
IG9sZCBwYXRoIHNob3VsZCBub3QgYmUgYW4gYW5jZXN0b3Igb2YgdGhlIG5ldyBwYXRoCi0gICAg
ICAgIHZhciByZWxhdGl2ZSA9IFBBVEgucmVsYXRpdmUob2xkX3BhdGgsIG5ld19kaXJuYW1lKTsK
LSAgICAgICAgaWYgKHJlbGF0aXZlLmNoYXJBdCgwKSAhPT0gJy4nKSB7Ci0gICAgICAgICAgdGhy
b3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKTsKLSAgICAgICAgfQotICAg
ICAgICAvLyBuZXcgcGF0aCBzaG91bGQgbm90IGJlIGFuIGFuY2VzdG9yIG9mIHRoZSBvbGQgcGF0
aAotICAgICAgICByZWxhdGl2ZSA9IFBBVEgucmVsYXRpdmUobmV3X3BhdGgsIG9sZF9kaXJuYW1l
KTsKLSAgICAgICAgaWYgKHJlbGF0aXZlLmNoYXJBdCgwKSAhPT0gJy4nKSB7Ci0gICAgICAgICAg
dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRU5PVEVNUFRZKTsKLSAgICAgICAg
fQotICAgICAgICAvLyBzZWUgaWYgdGhlIG5ldyBwYXRoIGFscmVhZHkgZXhpc3RzCi0gICAgICAg
IHZhciBuZXdfbm9kZTsKLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICBuZXdfbm9kZSA9IEZTLmxv
b2t1cE5vZGUobmV3X2RpciwgbmV3X25hbWUpOwotICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAg
ICAgICAgLy8gbm90IGZhdGFsCi0gICAgICAgIH0KLSAgICAgICAgLy8gZWFybHkgb3V0IGlmIG5v
dGhpbmcgbmVlZHMgdG8gY2hhbmdlCi0gICAgICAgIGlmIChvbGRfbm9kZSA9PT0gbmV3X25vZGUp
IHsKLSAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgLy8gd2UnbGwgbmVlZCB0
byBkZWxldGUgdGhlIG9sZCBlbnRyeQotICAgICAgICB2YXIgaXNkaXIgPSBGUy5pc0RpcihvbGRf
bm9kZS5tb2RlKTsKLSAgICAgICAgdmFyIGVyciA9IEZTLm1heURlbGV0ZShvbGRfZGlyLCBvbGRf
bmFtZSwgaXNkaXIpOwotICAgICAgICBpZiAoZXJyKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZT
LkVycm5vRXJyb3IoZXJyKTsKLSAgICAgICAgfQotICAgICAgICAvLyBuZWVkIGRlbGV0ZSBwZXJt
aXNzaW9ucyBpZiB3ZSdsbCBiZSBvdmVyd3JpdGluZy4KLSAgICAgICAgLy8gbmVlZCBjcmVhdGUg
cGVybWlzc2lvbnMgaWYgbmV3IGRvZXNuJ3QgYWxyZWFkeSBleGlzdC4KLSAgICAgICAgZXJyID0g
bmV3X25vZGUgPwotICAgICAgICAgIEZTLm1heURlbGV0ZShuZXdfZGlyLCBuZXdfbmFtZSwgaXNk
aXIpIDoKLSAgICAgICAgICBGUy5tYXlDcmVhdGUobmV3X2RpciwgbmV3X25hbWUpOwotICAgICAg
ICBpZiAoZXJyKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoZXJyKTsKLSAg
ICAgICAgfQotICAgICAgICBpZiAoIW9sZF9kaXIubm9kZV9vcHMucmVuYW1lKSB7Ci0gICAgICAg
ICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRVBFUk0pOwotICAgICAgICB9
Ci0gICAgICAgIGlmIChGUy5pc01vdW50cG9pbnQob2xkX25vZGUpIHx8IChuZXdfbm9kZSAmJiBG
Uy5pc01vdW50cG9pbnQobmV3X25vZGUpKSkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJu
b0Vycm9yKEVSUk5PX0NPREVTLkVCVVNZKTsKLSAgICAgICAgfQotICAgICAgICAvLyBpZiB3ZSBh
cmUgZ29pbmcgdG8gY2hhbmdlIHRoZSBwYXJlbnQsIGNoZWNrIHdyaXRlIHBlcm1pc3Npb25zCi0g
ICAgICAgIGlmIChuZXdfZGlyICE9PSBvbGRfZGlyKSB7Ci0gICAgICAgICAgZXJyID0gRlMubm9k
ZVBlcm1pc3Npb25zKG9sZF9kaXIsICd3Jyk7Ci0gICAgICAgICAgaWYgKGVycikgewotICAgICAg
ICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoZXJyKTsKLSAgICAgICAgICB9Ci0gICAgICAg
IH0KLSAgICAgICAgLy8gcmVtb3ZlIHRoZSBub2RlIGZyb20gdGhlIGxvb2t1cCBoYXNoCi0gICAg
ICAgIEZTLmhhc2hSZW1vdmVOb2RlKG9sZF9ub2RlKTsKLSAgICAgICAgLy8gZG8gdGhlIHVuZGVy
bHlpbmcgZnMgcmVuYW1lCi0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgb2xkX2Rpci5ub2RlX29w
cy5yZW5hbWUob2xkX25vZGUsIG5ld19kaXIsIG5ld19uYW1lKTsKLSAgICAgICAgfSBjYXRjaCAo
ZSkgewotICAgICAgICAgIHRocm93IGU7Ci0gICAgICAgIH0gZmluYWxseSB7Ci0gICAgICAgICAg
Ly8gYWRkIHRoZSBub2RlIGJhY2sgdG8gdGhlIGhhc2ggKGluIGNhc2Ugbm9kZV9vcHMucmVuYW1l
Ci0gICAgICAgICAgLy8gY2hhbmdlZCBpdHMgbmFtZSkKLSAgICAgICAgICBGUy5oYXNoQWRkTm9k
ZShvbGRfbm9kZSk7Ci0gICAgICAgIH0KLSAgICAgIH0scm1kaXI6ZnVuY3Rpb24gKHBhdGgpIHsK
LSAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgocGF0aCwgeyBwYXJlbnQ6IHRydWUg
fSk7Ci0gICAgICAgIHZhciBwYXJlbnQgPSBsb29rdXAubm9kZTsKLSAgICAgICAgdmFyIG5hbWUg
PSBQQVRILmJhc2VuYW1lKHBhdGgpOwotICAgICAgICB2YXIgbm9kZSA9IEZTLmxvb2t1cE5vZGUo
cGFyZW50LCBuYW1lKTsKLSAgICAgICAgdmFyIGVyciA9IEZTLm1heURlbGV0ZShwYXJlbnQsIG5h
bWUsIHRydWUpOwotICAgICAgICBpZiAoZXJyKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVy
cm5vRXJyb3IoZXJyKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoIXBhcmVudC5ub2RlX29wcy5y
bWRpcikgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVQ
RVJNKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoRlMuaXNNb3VudHBvaW50KG5vZGUpKSB7Ci0g
ICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUJVU1kpOwotICAg
ICAgICB9Ci0gICAgICAgIHBhcmVudC5ub2RlX29wcy5ybWRpcihwYXJlbnQsIG5hbWUpOwotICAg
ICAgICBGUy5kZXN0cm95Tm9kZShub2RlKTsKLSAgICAgIH0scmVhZGRpcjpmdW5jdGlvbiAocGF0
aCkgewotICAgICAgICB2YXIgbG9va3VwID0gRlMubG9va3VwUGF0aChwYXRoLCB7IGZvbGxvdzog
dHJ1ZSB9KTsKLSAgICAgICAgdmFyIG5vZGUgPSBsb29rdXAubm9kZTsKLSAgICAgICAgaWYgKCFu
b2RlLm5vZGVfb3BzLnJlYWRkaXIpIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJv
cihFUlJOT19DT0RFUy5FTk9URElSKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gbm9kZS5u
b2RlX29wcy5yZWFkZGlyKG5vZGUpOwotICAgICAgfSx1bmxpbms6ZnVuY3Rpb24gKHBhdGgpIHsK
LSAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgocGF0aCwgeyBwYXJlbnQ6IHRydWUg
fSk7Ci0gICAgICAgIHZhciBwYXJlbnQgPSBsb29rdXAubm9kZTsKLSAgICAgICAgdmFyIG5hbWUg
PSBQQVRILmJhc2VuYW1lKHBhdGgpOwotICAgICAgICB2YXIgbm9kZSA9IEZTLmxvb2t1cE5vZGUo
cGFyZW50LCBuYW1lKTsKLSAgICAgICAgdmFyIGVyciA9IEZTLm1heURlbGV0ZShwYXJlbnQsIG5h
bWUsIGZhbHNlKTsKLSAgICAgICAgaWYgKGVycikgewotICAgICAgICAgIC8vIFBPU0lYIHNheXMg
dW5saW5rIHNob3VsZCBzZXQgRVBFUk0sIG5vdCBFSVNESVIKLSAgICAgICAgICBpZiAoZXJyID09
PSBFUlJOT19DT0RFUy5FSVNESVIpIGVyciA9IEVSUk5PX0NPREVTLkVQRVJNOwotICAgICAgICAg
IHRocm93IG5ldyBGUy5FcnJub0Vycm9yKGVycik7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCFw
YXJlbnQubm9kZV9vcHMudW5saW5rKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJy
b3IoRVJSTk9fQ09ERVMuRVBFUk0pOwotICAgICAgICB9Ci0gICAgICAgIGlmIChGUy5pc01vdW50
cG9pbnQobm9kZSkpIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19D
T0RFUy5FQlVTWSk7Ci0gICAgICAgIH0KLSAgICAgICAgcGFyZW50Lm5vZGVfb3BzLnVubGluayhw
YXJlbnQsIG5hbWUpOwotICAgICAgICBGUy5kZXN0cm95Tm9kZShub2RlKTsKLSAgICAgIH0scmVh
ZGxpbms6ZnVuY3Rpb24gKHBhdGgpIHsKLSAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBh
dGgocGF0aCwgeyBmb2xsb3c6IGZhbHNlIH0pOwotICAgICAgICB2YXIgbGluayA9IGxvb2t1cC5u
b2RlOwotICAgICAgICBpZiAoIWxpbmsubm9kZV9vcHMucmVhZGxpbmspIHsKLSAgICAgICAgICB0
aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpOwotICAgICAgICB9Ci0g
ICAgICAgIHJldHVybiBsaW5rLm5vZGVfb3BzLnJlYWRsaW5rKGxpbmspOwotICAgICAgfSxzdGF0
OmZ1bmN0aW9uIChwYXRoLCBkb250Rm9sbG93KSB7Ci0gICAgICAgIHZhciBsb29rdXAgPSBGUy5s
b29rdXBQYXRoKHBhdGgsIHsgZm9sbG93OiAhZG9udEZvbGxvdyB9KTsKLSAgICAgICAgdmFyIG5v
ZGUgPSBsb29rdXAubm9kZTsKLSAgICAgICAgaWYgKCFub2RlLm5vZGVfb3BzLmdldGF0dHIpIHsK
LSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FUEVSTSk7Ci0g
ICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG5vZGUubm9kZV9vcHMuZ2V0YXR0cihub2RlKTsKLSAg
ICAgIH0sbHN0YXQ6ZnVuY3Rpb24gKHBhdGgpIHsKLSAgICAgICAgcmV0dXJuIEZTLnN0YXQocGF0
aCwgdHJ1ZSk7Ci0gICAgICB9LGNobW9kOmZ1bmN0aW9uIChwYXRoLCBtb2RlLCBkb250Rm9sbG93
KSB7Ci0gICAgICAgIHZhciBub2RlOwotICAgICAgICBpZiAodHlwZW9mIHBhdGggPT09ICdzdHJp
bmcnKSB7Ci0gICAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBhdGgocGF0aCwgeyBmb2xs
b3c6ICFkb250Rm9sbG93IH0pOwotICAgICAgICAgIG5vZGUgPSBsb29rdXAubm9kZTsKLSAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICBub2RlID0gcGF0aDsKLSAgICAgICAgfQotICAgICAgICBp
ZiAoIW5vZGUubm9kZV9vcHMuc2V0YXR0cikgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJu
b0Vycm9yKEVSUk5PX0NPREVTLkVQRVJNKTsKLSAgICAgICAgfQotICAgICAgICBub2RlLm5vZGVf
b3BzLnNldGF0dHIobm9kZSwgewotICAgICAgICAgIG1vZGU6IChtb2RlICYgNDA5NSkgfCAobm9k
ZS5tb2RlICYgfjQwOTUpLAotICAgICAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKQotICAgICAg
ICB9KTsKLSAgICAgIH0sbGNobW9kOmZ1bmN0aW9uIChwYXRoLCBtb2RlKSB7Ci0gICAgICAgIEZT
LmNobW9kKHBhdGgsIG1vZGUsIHRydWUpOwotICAgICAgfSxmY2htb2Q6ZnVuY3Rpb24gKGZkLCBt
b2RlKSB7Ci0gICAgICAgIHZhciBzdHJlYW0gPSBGUy5nZXRTdHJlYW0oZmQpOwotICAgICAgICBp
ZiAoIXN0cmVhbSkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NP
REVTLkVCQURGKTsKLSAgICAgICAgfQotICAgICAgICBGUy5jaG1vZChzdHJlYW0ubm9kZSwgbW9k
ZSk7Ci0gICAgICB9LGNob3duOmZ1bmN0aW9uIChwYXRoLCB1aWQsIGdpZCwgZG9udEZvbGxvdykg
ewotICAgICAgICB2YXIgbm9kZTsKLSAgICAgICAgaWYgKHR5cGVvZiBwYXRoID09PSAnc3RyaW5n
JykgewotICAgICAgICAgIHZhciBsb29rdXAgPSBGUy5sb29rdXBQYXRoKHBhdGgsIHsgZm9sbG93
OiAhZG9udEZvbGxvdyB9KTsKLSAgICAgICAgICBub2RlID0gbG9va3VwLm5vZGU7Ci0gICAgICAg
IH0gZWxzZSB7Ci0gICAgICAgICAgbm9kZSA9IHBhdGg7Ci0gICAgICAgIH0KLSAgICAgICAgaWYg
KCFub2RlLm5vZGVfb3BzLnNldGF0dHIpIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9F
cnJvcihFUlJOT19DT0RFUy5FUEVSTSk7Ci0gICAgICAgIH0KLSAgICAgICAgbm9kZS5ub2RlX29w
cy5zZXRhdHRyKG5vZGUsIHsKLSAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCkKLSAgICAg
ICAgICAvLyB3ZSBpZ25vcmUgdGhlIHVpZCAvIGdpZCBmb3Igbm93Ci0gICAgICAgIH0pOwotICAg
ICAgfSxsY2hvd246ZnVuY3Rpb24gKHBhdGgsIHVpZCwgZ2lkKSB7Ci0gICAgICAgIEZTLmNob3du
KHBhdGgsIHVpZCwgZ2lkLCB0cnVlKTsKLSAgICAgIH0sZmNob3duOmZ1bmN0aW9uIChmZCwgdWlk
LCBnaWQpIHsKLSAgICAgICAgdmFyIHN0cmVhbSA9IEZTLmdldFN0cmVhbShmZCk7Ci0gICAgICAg
IGlmICghc3RyZWFtKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9f
Q09ERVMuRUJBREYpOwotICAgICAgICB9Ci0gICAgICAgIEZTLmNob3duKHN0cmVhbS5ub2RlLCB1
aWQsIGdpZCk7Ci0gICAgICB9LHRydW5jYXRlOmZ1bmN0aW9uIChwYXRoLCBsZW4pIHsKLSAgICAg
ICAgaWYgKGxlbiA8IDApIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJO
T19DT0RFUy5FSU5WQUwpOwotICAgICAgICB9Ci0gICAgICAgIHZhciBub2RlOwotICAgICAgICBp
ZiAodHlwZW9mIHBhdGggPT09ICdzdHJpbmcnKSB7Ci0gICAgICAgICAgdmFyIGxvb2t1cCA9IEZT
Lmxvb2t1cFBhdGgocGF0aCwgeyBmb2xsb3c6IHRydWUgfSk7Ci0gICAgICAgICAgbm9kZSA9IGxv
b2t1cC5ub2RlOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgIG5vZGUgPSBwYXRoOwotICAg
ICAgICB9Ci0gICAgICAgIGlmICghbm9kZS5ub2RlX29wcy5zZXRhdHRyKSB7Ci0gICAgICAgICAg
dGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRVBFUk0pOwotICAgICAgICB9Ci0g
ICAgICAgIGlmIChGUy5pc0Rpcihub2RlLm1vZGUpKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZT
LkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlTRElSKTsKLSAgICAgICAgfQotICAgICAgICBpZiAo
IUZTLmlzRmlsZShub2RlLm1vZGUpKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJy
b3IoRVJSTk9fQ09ERVMuRUlOVkFMKTsKLSAgICAgICAgfQotICAgICAgICB2YXIgZXJyID0gRlMu
bm9kZVBlcm1pc3Npb25zKG5vZGUsICd3Jyk7Ci0gICAgICAgIGlmIChlcnIpIHsKLSAgICAgICAg
ICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihlcnIpOwotICAgICAgICB9Ci0gICAgICAgIG5vZGUu
bm9kZV9vcHMuc2V0YXR0cihub2RlLCB7Ci0gICAgICAgICAgc2l6ZTogbGVuLAotICAgICAgICAg
IHRpbWVzdGFtcDogRGF0ZS5ub3coKQotICAgICAgICB9KTsKLSAgICAgIH0sZnRydW5jYXRlOmZ1
bmN0aW9uIChmZCwgbGVuKSB7Ci0gICAgICAgIHZhciBzdHJlYW0gPSBGUy5nZXRTdHJlYW0oZmQp
OwotICAgICAgICBpZiAoIXN0cmVhbSkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vy
cm9yKEVSUk5PX0NPREVTLkVCQURGKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoKHN0cmVhbS5m
bGFncyAmIDMpID09PSAwKSB7Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJS
Tk9fQ09ERVMuRUlOVkFMKTsKLSAgICAgICAgfQotICAgICAgICBGUy50cnVuY2F0ZShzdHJlYW0u
bm9kZSwgbGVuKTsKLSAgICAgIH0sdXRpbWU6ZnVuY3Rpb24gKHBhdGgsIGF0aW1lLCBtdGltZSkg
ewotICAgICAgICB2YXIgbG9va3VwID0gRlMubG9va3VwUGF0aChwYXRoLCB7IGZvbGxvdzogdHJ1
ZSB9KTsKLSAgICAgICAgdmFyIG5vZGUgPSBsb29rdXAubm9kZTsKLSAgICAgICAgbm9kZS5ub2Rl
X29wcy5zZXRhdHRyKG5vZGUsIHsKLSAgICAgICAgICB0aW1lc3RhbXA6IE1hdGgubWF4KGF0aW1l
LCBtdGltZSkKLSAgICAgICAgfSk7Ci0gICAgICB9LG9wZW46ZnVuY3Rpb24gKHBhdGgsIGZsYWdz
LCBtb2RlLCBmZF9zdGFydCwgZmRfZW5kKSB7Ci0gICAgICAgIHBhdGggPSBQQVRILm5vcm1hbGl6
ZShwYXRoKTsKLSAgICAgICAgZmxhZ3MgPSB0eXBlb2YgZmxhZ3MgPT09ICdzdHJpbmcnID8gRlMu
bW9kZVN0cmluZ1RvRmxhZ3MoZmxhZ3MpIDogZmxhZ3M7Ci0gICAgICAgIG1vZGUgPSB0eXBlb2Yg
bW9kZSA9PT0gJ3VuZGVmaW5lZCcgPyAwNjY2IDogbW9kZTsKLSAgICAgICAgaWYgKChmbGFncyAm
IDUxMikpIHsKLSAgICAgICAgICBtb2RlID0gKG1vZGUgJiA0MDk1KSB8IDAxMDAwMDA7Ci0gICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgbW9kZSA9IDA7Ci0gICAgICAgIH0KLSAgICAgICAgdmFy
IG5vZGU7Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgdmFyIGxvb2t1cCA9IEZTLmxvb2t1cFBh
dGgocGF0aCwgewotICAgICAgICAgICAgZm9sbG93OiAhKGZsYWdzICYgMDIwMDAwMCkKLSAgICAg
ICAgICB9KTsKLSAgICAgICAgICBub2RlID0gbG9va3VwLm5vZGU7Ci0gICAgICAgICAgcGF0aCA9
IGxvb2t1cC5wYXRoOwotICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgLy8gaWdub3Jl
Ci0gICAgICAgIH0KLSAgICAgICAgLy8gcGVyaGFwcyB3ZSBuZWVkIHRvIGNyZWF0ZSB0aGUgbm9k
ZQotICAgICAgICBpZiAoKGZsYWdzICYgNTEyKSkgewotICAgICAgICAgIGlmIChub2RlKSB7Ci0g
ICAgICAgICAgICAvLyBpZiBPX0NSRUFUIGFuZCBPX0VYQ0wgYXJlIHNldCwgZXJyb3Igb3V0IGlm
IHRoZSBub2RlIGFscmVhZHkgZXhpc3RzCi0gICAgICAgICAgICBpZiAoKGZsYWdzICYgMjA0OCkp
IHsKLSAgICAgICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUVY
SVNUKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8g
bm9kZSBkb2Vzbid0IGV4aXN0LCB0cnkgdG8gY3JlYXRlIGl0Ci0gICAgICAgICAgICBub2RlID0g
RlMubWtub2QocGF0aCwgbW9kZSwgMCk7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAg
IGlmICghbm9kZSkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NP
REVTLkVOT0VOVCk7Ci0gICAgICAgIH0KLSAgICAgICAgLy8gY2FuJ3QgdHJ1bmNhdGUgYSBkZXZp
Y2UKLSAgICAgICAgaWYgKEZTLmlzQ2hyZGV2KG5vZGUubW9kZSkpIHsKLSAgICAgICAgICBmbGFn
cyAmPSB+MTAyNDsKLSAgICAgICAgfQotICAgICAgICAvLyBjaGVjayBwZXJtaXNzaW9ucwotICAg
ICAgICB2YXIgZXJyID0gRlMubWF5T3Blbihub2RlLCBmbGFncyk7Ci0gICAgICAgIGlmIChlcnIp
IHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihlcnIpOwotICAgICAgICB9Ci0g
ICAgICAgIC8vIGRvIHRydW5jYXRpb24gaWYgbmVjZXNzYXJ5Ci0gICAgICAgIGlmICgoZmxhZ3Mg
JiAxMDI0KSkgewotICAgICAgICAgIEZTLnRydW5jYXRlKG5vZGUsIDApOwotICAgICAgICB9Ci0g
ICAgICAgIC8vIHJlZ2lzdGVyIHRoZSBzdHJlYW0gd2l0aCB0aGUgZmlsZXN5c3RlbQotICAgICAg
ICB2YXIgc3RyZWFtID0gRlMuY3JlYXRlU3RyZWFtKHsKLSAgICAgICAgICBwYXRoOiBwYXRoLAot
ICAgICAgICAgIG5vZGU6IG5vZGUsCi0gICAgICAgICAgZmxhZ3M6IGZsYWdzLAotICAgICAgICAg
IHNlZWthYmxlOiB0cnVlLAotICAgICAgICAgIHBvc2l0aW9uOiAwLAotICAgICAgICAgIHN0cmVh
bV9vcHM6IG5vZGUuc3RyZWFtX29wcywKLSAgICAgICAgICAvLyB1c2VkIGJ5IHRoZSBmaWxlIGZh
bWlseSBsaWJjIGNhbGxzIChmb3BlbiwgZndyaXRlLCBmZXJyb3IsIGV0Yy4pCi0gICAgICAgICAg
dW5nb3R0ZW46IFtdLAotICAgICAgICAgIGVycm9yOiBmYWxzZQotICAgICAgICB9LCBmZF9zdGFy
dCwgZmRfZW5kKTsKLSAgICAgICAgLy8gY2FsbCB0aGUgbmV3IHN0cmVhbSdzIG9wZW4gZnVuY3Rp
b24KLSAgICAgICAgaWYgKHN0cmVhbS5zdHJlYW1fb3BzLm9wZW4pIHsKLSAgICAgICAgICBzdHJl
YW0uc3RyZWFtX29wcy5vcGVuKHN0cmVhbSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHN0
cmVhbTsKLSAgICAgIH0sY2xvc2U6ZnVuY3Rpb24gKHN0cmVhbSkgewotICAgICAgICB0cnkgewot
ICAgICAgICAgIGlmIChzdHJlYW0uc3RyZWFtX29wcy5jbG9zZSkgewotICAgICAgICAgICAgc3Ry
ZWFtLnN0cmVhbV9vcHMuY2xvc2Uoc3RyZWFtKTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0gY2F0
Y2ggKGUpIHsKLSAgICAgICAgICB0aHJvdyBlOwotICAgICAgICB9IGZpbmFsbHkgewotICAgICAg
ICAgIEZTLmNsb3NlU3RyZWFtKHN0cmVhbS5mZCk7Ci0gICAgICAgIH0KLSAgICAgIH0sbGxzZWVr
OmZ1bmN0aW9uIChzdHJlYW0sIG9mZnNldCwgd2hlbmNlKSB7Ci0gICAgICAgIGlmICghc3RyZWFt
LnNlZWthYmxlIHx8ICFzdHJlYW0uc3RyZWFtX29wcy5sbHNlZWspIHsKLSAgICAgICAgICB0aHJv
dyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FU1BJUEUpOwotICAgICAgICB9Ci0gICAg
ICAgIHJldHVybiBzdHJlYW0uc3RyZWFtX29wcy5sbHNlZWsoc3RyZWFtLCBvZmZzZXQsIHdoZW5j
ZSk7Ci0gICAgICB9LHJlYWQ6ZnVuY3Rpb24gKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0
aCwgcG9zaXRpb24pIHsKLSAgICAgICAgaWYgKGxlbmd0aCA8IDAgfHwgcG9zaXRpb24gPCAwKSB7
Ci0gICAgICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKTsK
LSAgICAgICAgfQotICAgICAgICBpZiAoKHN0cmVhbS5mbGFncyAmIDMpID09PSAxKSB7Ci0gICAg
ICAgICAgdGhyb3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUJBREYpOwotICAgICAg
ICB9Ci0gICAgICAgIGlmIChGUy5pc0RpcihzdHJlYW0ubm9kZS5tb2RlKSkgewotICAgICAgICAg
IHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVJU0RJUik7Ci0gICAgICAgIH0K
LSAgICAgICAgaWYgKCFzdHJlYW0uc3RyZWFtX29wcy5yZWFkKSB7Ci0gICAgICAgICAgdGhyb3cg
bmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUlOVkFMKTsKLSAgICAgICAgfQotICAgICAg
ICB2YXIgc2Vla2luZyA9IHRydWU7Ci0gICAgICAgIGlmICh0eXBlb2YgcG9zaXRpb24gPT09ICd1
bmRlZmluZWQnKSB7Ci0gICAgICAgICAgcG9zaXRpb24gPSBzdHJlYW0ucG9zaXRpb247Ci0gICAg
ICAgICAgc2Vla2luZyA9IGZhbHNlOwotICAgICAgICB9IGVsc2UgaWYgKCFzdHJlYW0uc2Vla2Fi
bGUpIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FU1BJ
UEUpOwotICAgICAgICB9Ci0gICAgICAgIHZhciBieXRlc1JlYWQgPSBzdHJlYW0uc3RyZWFtX29w
cy5yZWFkKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0aCwgcG9zaXRpb24pOwotICAgICAg
ICBpZiAoIXNlZWtpbmcpIHN0cmVhbS5wb3NpdGlvbiArPSBieXRlc1JlYWQ7Ci0gICAgICAgIHJl
dHVybiBieXRlc1JlYWQ7Ci0gICAgICB9LHdyaXRlOmZ1bmN0aW9uIChzdHJlYW0sIGJ1ZmZlciwg
b2Zmc2V0LCBsZW5ndGgsIHBvc2l0aW9uKSB7Ci0gICAgICAgIGlmIChsZW5ndGggPCAwIHx8IHBv
c2l0aW9uIDwgMCkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NP
REVTLkVJTlZBTCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKChzdHJlYW0uZmxhZ3MgJiAzKSA9
PT0gMCkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVSUk5PX0NPREVTLkVC
QURGKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoRlMuaXNEaXIoc3RyZWFtLm5vZGUubW9kZSkp
IHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSVNESVIp
OwotICAgICAgICB9Ci0gICAgICAgIGlmICghc3RyZWFtLnN0cmVhbV9vcHMud3JpdGUpIHsKLSAg
ICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpOwotICAg
ICAgICB9Ci0gICAgICAgIHZhciBzZWVraW5nID0gdHJ1ZTsKLSAgICAgICAgaWYgKHR5cGVvZiBw
b3NpdGlvbiA9PT0gJ3VuZGVmaW5lZCcpIHsKLSAgICAgICAgICBwb3NpdGlvbiA9IHN0cmVhbS5w
b3NpdGlvbjsKLSAgICAgICAgICBzZWVraW5nID0gZmFsc2U7Ci0gICAgICAgIH0gZWxzZSBpZiAo
IXN0cmVhbS5zZWVrYWJsZSkgewotICAgICAgICAgIHRocm93IG5ldyBGUy5FcnJub0Vycm9yKEVS
Uk5PX0NPREVTLkVTUElQRSk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHN0cmVhbS5mbGFncyAm
IDgpIHsKLSAgICAgICAgICAvLyBzZWVrIHRvIHRoZSBlbmQgYmVmb3JlIHdyaXRpbmcgaW4gYXBw
ZW5kIG1vZGUKLSAgICAgICAgICBGUy5sbHNlZWsoc3RyZWFtLCAwLCAyKTsKLSAgICAgICAgfQot
ICAgICAgICB2YXIgYnl0ZXNXcml0dGVuID0gc3RyZWFtLnN0cmVhbV9vcHMud3JpdGUoc3RyZWFt
LCBidWZmZXIsIG9mZnNldCwgbGVuZ3RoLCBwb3NpdGlvbik7Ci0gICAgICAgIGlmICghc2Vla2lu
Zykgc3RyZWFtLnBvc2l0aW9uICs9IGJ5dGVzV3JpdHRlbjsKLSAgICAgICAgcmV0dXJuIGJ5dGVz
V3JpdHRlbjsKLSAgICAgIH0sYWxsb2NhdGU6ZnVuY3Rpb24gKHN0cmVhbSwgb2Zmc2V0LCBsZW5n
dGgpIHsKLSAgICAgICAgaWYgKG9mZnNldCA8IDAgfHwgbGVuZ3RoIDw9IDApIHsKLSAgICAgICAg
ICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FSU5WQUwpOwotICAgICAgICB9
Ci0gICAgICAgIGlmICgoc3RyZWFtLmZsYWdzICYgMykgPT09IDApIHsKLSAgICAgICAgICB0aHJv
dyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FQkFERik7Ci0gICAgICAgIH0KLSAgICAg
ICAgaWYgKCFGUy5pc0ZpbGUoc3RyZWFtLm5vZGUubW9kZSkgJiYgIUZTLmlzRGlyKG5vZGUubW9k
ZSkpIHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FTk9E
RVYpOwotICAgICAgICB9Ci0gICAgICAgIGlmICghc3RyZWFtLnN0cmVhbV9vcHMuYWxsb2NhdGUp
IHsKLSAgICAgICAgICB0aHJvdyBuZXcgRlMuRXJybm9FcnJvcihFUlJOT19DT0RFUy5FT1BOT1RT
VVBQKTsKLSAgICAgICAgfQotICAgICAgICBzdHJlYW0uc3RyZWFtX29wcy5hbGxvY2F0ZShzdHJl
YW0sIG9mZnNldCwgbGVuZ3RoKTsKLSAgICAgIH0sbW1hcDpmdW5jdGlvbiAoc3RyZWFtLCBidWZm
ZXIsIG9mZnNldCwgbGVuZ3RoLCBwb3NpdGlvbiwgcHJvdCwgZmxhZ3MpIHsKLSAgICAgICAgLy8g
VE9ETyBpZiBQUk9UIGlzIFBST1RfV1JJVEUsIG1ha2Ugc3VyZSB3ZSBoYXZlIHdyaXRlIGFjY2Vz
cwotICAgICAgICBpZiAoKHN0cmVhbS5mbGFncyAmIDMpID09PSAxKSB7Ci0gICAgICAgICAgdGhy
b3cgbmV3IEZTLkVycm5vRXJyb3IoRVJSTk9fQ09ERVMuRUFDQ0VTKTsKLSAgICAgICAgfQotICAg
ICAgICBpZiAoIXN0cmVhbS5zdHJlYW1fb3BzLm1tYXApIHsKLSAgICAgICAgICB0aHJvdyBuZXcg
RlMuZXJybm9FcnJvcihFUlJOT19DT0RFUy5FTk9ERVYpOwotICAgICAgICB9Ci0gICAgICAgIHJl
dHVybiBzdHJlYW0uc3RyZWFtX29wcy5tbWFwKHN0cmVhbSwgYnVmZmVyLCBvZmZzZXQsIGxlbmd0
aCwgcG9zaXRpb24sIHByb3QsIGZsYWdzKTsKLSAgICAgIH19OwotICBmdW5jdGlvbiBfc2VuZChm
ZCwgYnVmLCBsZW4sIGZsYWdzKSB7Ci0gICAgICB2YXIgaW5mbyA9IEZTLmdldFN0cmVhbShmZCk7
Ci0gICAgICBpZiAoIWluZm8pIHsKLSAgICAgICAgX19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRUJB
REYpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgICB9Ci0gICAgICBpZiAoaW5mby5zb2NrZXQu
cmVhZHlTdGF0ZSA9PT0gV2ViU29ja2V0LkNMT1NJTkcgfHwgaW5mby5zb2NrZXQucmVhZHlTdGF0
ZSA9PT0gV2ViU29ja2V0LkNMT1NFRCkgewotICAgICAgICBfX19zZXRFcnJObyhFUlJOT19DT0RF
Uy5FTk9UQ09OTik7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICAgIH0gZWxzZSBpZiAoaW5mby5z
b2NrZXQucmVhZHlTdGF0ZSA9PT0gV2ViU29ja2V0LkNPTk5FQ1RJTkcpIHsKLSAgICAgICAgX19f
c2V0RXJyTm8oRVJSTk9fQ09ERVMuRUFHQUlOKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgICAg
fQotICAgICAgaW5mby5zZW5kZXIoSEVBUFU4LnN1YmFycmF5KGJ1ZiwgYnVmK2xlbikpOwotICAg
ICAgcmV0dXJuIGxlbjsKLSAgICB9Ci0gIGZ1bmN0aW9uIF9wd3JpdGUoZmlsZGVzLCBidWYsIG5i
eXRlLCBvZmZzZXQpIHsKLSAgICAgIC8vIHNzaXplX3QgcHdyaXRlKGludCBmaWxkZXMsIGNvbnN0
IHZvaWQgKmJ1Ziwgc2l6ZV90IG5ieXRlLCBvZmZfdCBvZmZzZXQpOwotICAgICAgLy8gaHR0cDov
L3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5OS9mdW5jdGlvbnMvd3JpdGUu
aHRtbAotICAgICAgdmFyIHN0cmVhbSA9IEZTLmdldFN0cmVhbShmaWxkZXMpOwotICAgICAgaWYg
KCFzdHJlYW0pIHsKLSAgICAgICAgX19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRUJBREYpOwotICAg
ICAgICByZXR1cm4gLTE7Ci0gICAgICB9Ci0gICAgICB0cnkgewotICAgICAgICB2YXIgc2xhYiA9
IEhFQVA4OwotICAgICAgICByZXR1cm4gRlMud3JpdGUoc3RyZWFtLCBzbGFiLCBidWYsIG5ieXRl
LCBvZmZzZXQpOwotICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICBGUy5oYW5kbGVGU0Vycm9y
KGUpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgICB9Ci0gICAgfWZ1bmN0aW9uIF93cml0ZShm
aWxkZXMsIGJ1ZiwgbmJ5dGUpIHsKLSAgICAgIC8vIHNzaXplX3Qgd3JpdGUoaW50IGZpbGRlcywg
Y29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgbmJ5dGUpOwotICAgICAgLy8gaHR0cDovL3B1YnMub3Bl
bmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5OS9mdW5jdGlvbnMvd3JpdGUuaHRtbAotICAg
ICAgdmFyIHN0cmVhbSA9IEZTLmdldFN0cmVhbShmaWxkZXMpOwotICAgICAgaWYgKCFzdHJlYW0p
IHsKLSAgICAgICAgX19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRUJBREYpOwotICAgICAgICByZXR1
cm4gLTE7Ci0gICAgICB9Ci0gICAgICBpZiAoc3RyZWFtICYmICgnc29ja2V0JyBpbiBzdHJlYW0p
KSB7Ci0gICAgICAgIHJldHVybiBfc2VuZChmaWxkZXMsIGJ1ZiwgbmJ5dGUsIDApOwotICAgICAg
fQotICAgICAgdHJ5IHsKLSAgICAgICAgdmFyIHNsYWIgPSBIRUFQODsKLSAgICAgICAgcmV0dXJu
IEZTLndyaXRlKHN0cmVhbSwgc2xhYiwgYnVmLCBuYnl0ZSk7Ci0gICAgICB9IGNhdGNoIChlKSB7
Ci0gICAgICAgIEZTLmhhbmRsZUZTRXJyb3IoZSk7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICAg
IH0KLSAgICB9ZnVuY3Rpb24gX2Z3cml0ZShwdHIsIHNpemUsIG5pdGVtcywgc3RyZWFtKSB7Ci0g
ICAgICAvLyBzaXplX3QgZndyaXRlKGNvbnN0IHZvaWQgKnJlc3RyaWN0IHB0ciwgc2l6ZV90IHNp
emUsIHNpemVfdCBuaXRlbXMsIEZJTEUgKnJlc3RyaWN0IHN0cmVhbSk7Ci0gICAgICAvLyBodHRw
Oi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDAwMDk1Mzk5L2Z1bmN0aW9ucy9md3Jp
dGUuaHRtbAotICAgICAgdmFyIGJ5dGVzVG9Xcml0ZSA9IG5pdGVtcyAqIHNpemU7Ci0gICAgICBp
ZiAoYnl0ZXNUb1dyaXRlID09IDApIHJldHVybiAwOwotICAgICAgdmFyIGJ5dGVzV3JpdHRlbiA9
IF93cml0ZShzdHJlYW0sIHB0ciwgYnl0ZXNUb1dyaXRlKTsKLSAgICAgIGlmIChieXRlc1dyaXR0
ZW4gPT0gLTEpIHsKLSAgICAgICAgdmFyIHN0cmVhbU9iaiA9IEZTLmdldFN0cmVhbShzdHJlYW0p
OwotICAgICAgICBpZiAoc3RyZWFtT2JqKSBzdHJlYW1PYmouZXJyb3IgPSB0cnVlOwotICAgICAg
ICByZXR1cm4gMDsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldHVybiBNYXRoLmZsb29yKGJ5
dGVzV3JpdHRlbiAvIHNpemUpOwotICAgICAgfQotICAgIH0KLSAgZnVuY3Rpb24gX3VuZ2V0Yyhj
LCBzdHJlYW0pIHsKLSAgICAgIC8vIGludCB1bmdldGMoaW50IGMsIEZJTEUgKnN0cmVhbSk7Ci0g
ICAgICAvLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDAwMDk1Mzk5L2Z1
bmN0aW9ucy91bmdldGMuaHRtbAotICAgICAgc3RyZWFtID0gRlMuZ2V0U3RyZWFtKHN0cmVhbSk7
Ci0gICAgICBpZiAoIXN0cmVhbSkgewotICAgICAgICByZXR1cm4gLTE7Ci0gICAgICB9Ci0gICAg
ICBpZiAoYyA9PT0gLTEpIHsKLSAgICAgICAgLy8gZG8gbm90aGluZyBmb3IgRU9GIGNoYXJhY3Rl
cgotICAgICAgICByZXR1cm4gYzsKLSAgICAgIH0KLSAgICAgIGMgPSB1blNpZ24oYyAmIDB4RkYp
OwotICAgICAgc3RyZWFtLnVuZ290dGVuLnB1c2goYyk7Ci0gICAgICBzdHJlYW0uZW9mID0gZmFs
c2U7Ci0gICAgICByZXR1cm4gYzsKLSAgICB9Ci0gIGZ1bmN0aW9uIF9yZWN2KGZkLCBidWYsIGxl
biwgZmxhZ3MpIHsKLSAgICAgIHZhciBpbmZvID0gRlMuZ2V0U3RyZWFtKGZkKTsKLSAgICAgIGlm
ICghaW5mbykgewotICAgICAgICBfX19zZXRFcnJObyhFUlJOT19DT0RFUy5FQkFERik7Ci0gICAg
ICAgIHJldHVybiAtMTsKLSAgICAgIH0KLSAgICAgIGlmICghaW5mby5oYXNEYXRhKCkpIHsKLSAg
ICAgICAgaWYgKGluZm8uc29ja2V0LnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5DTE9TSU5HIHx8
IGluZm8uc29ja2V0LnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5DTE9TRUQpIHsKLSAgICAgICAg
ICAvLyBzb2NrZXQgaGFzIGNsb3NlZAotICAgICAgICAgIHJldHVybiAwOwotICAgICAgICB9IGVs
c2UgewotICAgICAgICAgIC8vIGVsc2UsIG91ciBzb2NrZXQgaXMgaW4gYSB2YWxpZCBzdGF0ZSBi
dXQgdHJ1bHkgaGFzIG5vdGhpbmcgYXZhaWxhYmxlCi0gICAgICAgICAgX19fc2V0RXJyTm8oRVJS
Tk9fQ09ERVMuRUFHQUlOKTsKLSAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIH0KLSAgICAg
IH0KLSAgICAgIHZhciBidWZmZXIgPSBpbmZvLmluUXVldWUuc2hpZnQoKTsKLSAgICAgIGlmIChs
ZW4gPCBidWZmZXIubGVuZ3RoKSB7Ci0gICAgICAgIGlmIChpbmZvLnN0cmVhbSkgewotICAgICAg
ICAgIC8vIFRoaXMgaXMgdGNwIChyZWxpYWJsZSksIHNvIGlmIG5vdCBhbGwgd2FzIHJlYWQsIGtl
ZXAgaXQKLSAgICAgICAgICBpbmZvLmluUXVldWUudW5zaGlmdChidWZmZXIuc3ViYXJyYXkobGVu
KSk7Ci0gICAgICAgIH0KLSAgICAgICAgYnVmZmVyID0gYnVmZmVyLnN1YmFycmF5KDAsIGxlbik7
Ci0gICAgICB9Ci0gICAgICBIRUFQVTguc2V0KGJ1ZmZlciwgYnVmKTsKLSAgICAgIHJldHVybiBi
dWZmZXIubGVuZ3RoOwotICAgIH0KLSAgZnVuY3Rpb24gX3ByZWFkKGZpbGRlcywgYnVmLCBuYnl0
ZSwgb2Zmc2V0KSB7Ci0gICAgICAvLyBzc2l6ZV90IHByZWFkKGludCBmaWxkZXMsIHZvaWQgKmJ1
Ziwgc2l6ZV90IG5ieXRlLCBvZmZfdCBvZmZzZXQpOwotICAgICAgLy8gaHR0cDovL3B1YnMub3Bl
bmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5OS9mdW5jdGlvbnMvcmVhZC5odG1sCi0gICAg
ICB2YXIgc3RyZWFtID0gRlMuZ2V0U3RyZWFtKGZpbGRlcyk7Ci0gICAgICBpZiAoIXN0cmVhbSkg
ewotICAgICAgICBfX19zZXRFcnJObyhFUlJOT19DT0RFUy5FQkFERik7Ci0gICAgICAgIHJldHVy
biAtMTsKLSAgICAgIH0KLSAgICAgIHRyeSB7Ci0gICAgICAgIHZhciBzbGFiID0gSEVBUDg7Ci0g
ICAgICAgIHJldHVybiBGUy5yZWFkKHN0cmVhbSwgc2xhYiwgYnVmLCBuYnl0ZSwgb2Zmc2V0KTsK
LSAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgRlMuaGFuZGxlRlNFcnJvcihlKTsKLSAgICAg
ICAgcmV0dXJuIC0xOwotICAgICAgfQotICAgIH1mdW5jdGlvbiBfcmVhZChmaWxkZXMsIGJ1Ziwg
bmJ5dGUpIHsKLSAgICAgIC8vIHNzaXplX3QgcmVhZChpbnQgZmlsZGVzLCB2b2lkICpidWYsIHNp
emVfdCBuYnl0ZSk7Ci0gICAgICAvLyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1
YnMvMDAwMDk1Mzk5L2Z1bmN0aW9ucy9yZWFkLmh0bWwKLSAgICAgIHZhciBzdHJlYW0gPSBGUy5n
ZXRTdHJlYW0oZmlsZGVzKTsKLSAgICAgIGlmICghc3RyZWFtKSB7Ci0gICAgICAgIF9fX3NldEVy
ck5vKEVSUk5PX0NPREVTLkVCQURGKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgICAgfQotICAg
ICAgaWYgKHN0cmVhbSAmJiAoJ3NvY2tldCcgaW4gc3RyZWFtKSkgewotICAgICAgICByZXR1cm4g
X3JlY3YoZmlsZGVzLCBidWYsIG5ieXRlLCAwKTsKLSAgICAgIH0KLSAgICAgIHRyeSB7Ci0gICAg
ICAgIHZhciBzbGFiID0gSEVBUDg7Ci0gICAgICAgIHJldHVybiBGUy5yZWFkKHN0cmVhbSwgc2xh
YiwgYnVmLCBuYnl0ZSk7Ci0gICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIEZTLmhhbmRsZUZT
RXJyb3IoZSk7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICAgIH0KLSAgICB9ZnVuY3Rpb24gX2Zy
ZWFkKHB0ciwgc2l6ZSwgbml0ZW1zLCBzdHJlYW0pIHsKLSAgICAgIC8vIHNpemVfdCBmcmVhZCh2
b2lkICpyZXN0cmljdCBwdHIsIHNpemVfdCBzaXplLCBzaXplX3Qgbml0ZW1zLCBGSUxFICpyZXN0
cmljdCBzdHJlYW0pOwotICAgICAgLy8gaHR0cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVw
dWJzLzAwMDA5NTM5OS9mdW5jdGlvbnMvZnJlYWQuaHRtbAotICAgICAgdmFyIGJ5dGVzVG9SZWFk
ID0gbml0ZW1zICogc2l6ZTsKLSAgICAgIGlmIChieXRlc1RvUmVhZCA9PSAwKSB7Ci0gICAgICAg
IHJldHVybiAwOwotICAgICAgfQotICAgICAgdmFyIGJ5dGVzUmVhZCA9IDA7Ci0gICAgICB2YXIg
c3RyZWFtT2JqID0gRlMuZ2V0U3RyZWFtKHN0cmVhbSk7Ci0gICAgICB3aGlsZSAoc3RyZWFtT2Jq
LnVuZ290dGVuLmxlbmd0aCAmJiBieXRlc1RvUmVhZCA+IDApIHsKLSAgICAgICAgSEVBUDhbKChw
dHIrKyl8MCldPXN0cmVhbU9iai51bmdvdHRlbi5wb3AoKQotICAgICAgICBieXRlc1RvUmVhZC0t
OwotICAgICAgICBieXRlc1JlYWQrKzsKLSAgICAgIH0KLSAgICAgIHZhciBlcnIgPSBfcmVhZChz
dHJlYW0sIHB0ciwgYnl0ZXNUb1JlYWQpOwotICAgICAgaWYgKGVyciA9PSAtMSkgewotICAgICAg
ICBpZiAoc3RyZWFtT2JqKSBzdHJlYW1PYmouZXJyb3IgPSB0cnVlOwotICAgICAgICByZXR1cm4g
MDsKLSAgICAgIH0KLSAgICAgIGJ5dGVzUmVhZCArPSBlcnI7Ci0gICAgICBpZiAoYnl0ZXNSZWFk
IDwgYnl0ZXNUb1JlYWQpIHN0cmVhbU9iai5lb2YgPSB0cnVlOwotICAgICAgcmV0dXJuIE1hdGgu
Zmxvb3IoYnl0ZXNSZWFkIC8gc2l6ZSk7Ci0gICAgfWZ1bmN0aW9uIF9mZ2V0YyhzdHJlYW0pIHsK
LSAgICAgIC8vIGludCBmZ2V0YyhGSUxFICpzdHJlYW0pOwotICAgICAgLy8gaHR0cDovL3B1YnMu
b3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5OS9mdW5jdGlvbnMvZmdldGMuaHRtbAot
ICAgICAgdmFyIHN0cmVhbU9iaiA9IEZTLmdldFN0cmVhbShzdHJlYW0pOwotICAgICAgaWYgKCFz
dHJlYW1PYmopIHJldHVybiAtMTsKLSAgICAgIGlmIChzdHJlYW1PYmouZW9mIHx8IHN0cmVhbU9i
ai5lcnJvcikgcmV0dXJuIC0xOwotICAgICAgdmFyIHJldCA9IF9mcmVhZChfZmdldGMucmV0LCAx
LCAxLCBzdHJlYW0pOwotICAgICAgaWYgKHJldCA9PSAwKSB7Ci0gICAgICAgIHN0cmVhbU9iai5l
b2YgPSB0cnVlOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgICB9IGVsc2UgaWYgKHJldCA9PSAt
MSkgewotICAgICAgICBzdHJlYW1PYmouZXJyb3IgPSB0cnVlOwotICAgICAgICByZXR1cm4gLTE7
Ci0gICAgICB9IGVsc2UgewotICAgICAgICByZXR1cm4gSEVBUFU4WygoX2ZnZXRjLnJldCl8MCld
OwotICAgICAgfQotICAgIH12YXIgX2dldGM9X2ZnZXRjOwotICBmdW5jdGlvbiBfX19jeGFfcHVy
ZV92aXJ0dWFsKCkgewotICAgICAgQUJPUlQgPSB0cnVlOwotICAgICAgdGhyb3cgJ1B1cmUgdmly
dHVhbCBmdW5jdGlvbiBjYWxsZWQhJzsKLSAgICB9Ci0gIGZ1bmN0aW9uIF9fX2Vycm5vX2xvY2F0
aW9uKCkgewotICAgICAgcmV0dXJuIF9fX2Vycm5vX3N0YXRlOwotICAgIH12YXIgX19fZXJybm89
X19fZXJybm9fbG9jYXRpb247Ci0gIHZhciBfbGx2bV9tZW1zZXRfcDBpOF9pMzI9X21lbXNldDsK
LSAgTW9kdWxlWyJfc3RybGVuIl0gPSBfc3RybGVuOwotICBmdW5jdGlvbiBfc3RyZXJyb3Jfcihl
cnJudW0sIHN0cmVycmJ1ZiwgYnVmbGVuKSB7Ci0gICAgICBpZiAoZXJybnVtIGluIEVSUk5PX01F
U1NBR0VTKSB7Ci0gICAgICAgIGlmIChFUlJOT19NRVNTQUdFU1tlcnJudW1dLmxlbmd0aCA+IGJ1
ZmxlbiAtIDEpIHsKLSAgICAgICAgICByZXR1cm4gX19fc2V0RXJyTm8oRVJSTk9fQ09ERVMuRVJB
TkdFKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICB2YXIgbXNnID0gRVJSTk9fTUVTU0FH
RVNbZXJybnVtXTsKLSAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkr
KykgewotICAgICAgICAgICAgSEVBUDhbKCgoc3RyZXJyYnVmKSsoaSkpfDApXT1tc2cuY2hhckNv
ZGVBdChpKQotICAgICAgICAgIH0KLSAgICAgICAgICBIRUFQOFsoKChzdHJlcnJidWYpKyhpKSl8
MCldPTAKLSAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQotICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgcmV0dXJuIF9fX3NldEVyck5vKEVSUk5PX0NPREVTLkVJTlZBTCk7Ci0gICAgICB9Ci0g
ICAgfWZ1bmN0aW9uIF9zdHJlcnJvcihlcnJudW0pIHsKLSAgICAgIGlmICghX3N0cmVycm9yLmJ1
ZmZlcikgX3N0cmVycm9yLmJ1ZmZlciA9IF9tYWxsb2MoMjU2KTsKLSAgICAgIF9zdHJlcnJvcl9y
KGVycm51bSwgX3N0cmVycm9yLmJ1ZmZlciwgMjU2KTsKLSAgICAgIHJldHVybiBfc3RyZXJyb3Iu
YnVmZmVyOwotICAgIH0KLSAgZnVuY3Rpb24gX2Fib3J0KCkgewotICAgICAgTW9kdWxlWydhYm9y
dCddKCk7Ci0gICAgfQotICBmdW5jdGlvbiBfX3JlYWxseU5lZ2F0aXZlKHgpIHsKLSAgICAgIHJl
dHVybiB4IDwgMCB8fCAoeCA9PT0gMCAmJiAoMS94KSA9PT0gLUluZmluaXR5KTsKLSAgICB9ZnVu
Y3Rpb24gX19mb3JtYXRTdHJpbmcoZm9ybWF0LCB2YXJhcmdzKSB7Ci0gICAgICB2YXIgdGV4dElu
ZGV4ID0gZm9ybWF0OwotICAgICAgdmFyIGFyZ0luZGV4ID0gMDsKLSAgICAgIGZ1bmN0aW9uIGdl
dE5leHRBcmcodHlwZSkgewotICAgICAgICAvLyBOT1RFOiBFeHBsaWNpdGx5IGlnbm9yaW5nIHR5
cGUgc2FmZXR5LiBPdGhlcndpc2UgdGhpcyBmYWlsczoKLSAgICAgICAgLy8gICAgICAgaW50IHgg
PSA0OyBwcmludGYoIiVjXG4iLCAoY2hhcil4KTsKLSAgICAgICAgdmFyIHJldDsKLSAgICAgICAg
aWYgKHR5cGUgPT09ICdkb3VibGUnKSB7Ci0gICAgICAgICAgcmV0ID0gSEVBUEY2NFsoKCh2YXJh
cmdzKSsoYXJnSW5kZXgpKT4+MyldOwotICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ2k2NCcp
IHsKLSAgICAgICAgICByZXQgPSBbSEVBUDMyWygoKHZhcmFyZ3MpKyhhcmdJbmRleCkpPj4yKV0s
Ci0gICAgICAgICAgICAgICAgIEhFQVAzMlsoKCh2YXJhcmdzKSsoYXJnSW5kZXgrOCkpPj4yKV1d
OwotICAgICAgICAgIGFyZ0luZGV4ICs9IDg7IC8vIGVhY2ggMzItYml0IGNodW5rIGlzIGluIGEg
NjQtYml0IGJsb2NrCi0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgdHlwZSA9ICdpMzInOyAv
LyB2YXJhcmdzIGFyZSBhbHdheXMgaTMyLCBpNjQsIG9yIGRvdWJsZQotICAgICAgICAgIHJldCA9
IEhFQVAzMlsoKCh2YXJhcmdzKSsoYXJnSW5kZXgpKT4+MildOwotICAgICAgICB9Ci0gICAgICAg
IGFyZ0luZGV4ICs9IE1hdGgubWF4KFJ1bnRpbWUuZ2V0TmF0aXZlRmllbGRTaXplKHR5cGUpLCBS
dW50aW1lLmdldEFsaWduU2l6ZSh0eXBlLCBudWxsLCB0cnVlKSk7Ci0gICAgICAgIHJldHVybiBy
ZXQ7Ci0gICAgICB9Ci0gICAgICB2YXIgcmV0ID0gW107Ci0gICAgICB2YXIgY3VyciwgbmV4dCwg
Y3VyckFyZzsKLSAgICAgIHdoaWxlKDEpIHsKLSAgICAgICAgdmFyIHN0YXJ0VGV4dEluZGV4ID0g
dGV4dEluZGV4OwotICAgICAgICBjdXJyID0gSEVBUDhbKHRleHRJbmRleCldOwotICAgICAgICBp
ZiAoY3VyciA9PT0gMCkgYnJlYWs7Ci0gICAgICAgIG5leHQgPSBIRUFQOFsoKHRleHRJbmRleCsx
KXwwKV07Ci0gICAgICAgIGlmIChjdXJyID09IDM3KSB7Ci0gICAgICAgICAgLy8gSGFuZGxlIGZs
YWdzLgotICAgICAgICAgIHZhciBmbGFnQWx3YXlzU2lnbmVkID0gZmFsc2U7Ci0gICAgICAgICAg
dmFyIGZsYWdMZWZ0QWxpZ24gPSBmYWxzZTsKLSAgICAgICAgICB2YXIgZmxhZ0FsdGVybmF0aXZl
ID0gZmFsc2U7Ci0gICAgICAgICAgdmFyIGZsYWdaZXJvUGFkID0gZmFsc2U7Ci0gICAgICAgICAg
ZmxhZ3NMb29wOiB3aGlsZSAoMSkgewotICAgICAgICAgICAgc3dpdGNoIChuZXh0KSB7Ci0gICAg
ICAgICAgICAgIGNhc2UgNDM6Ci0gICAgICAgICAgICAgICAgZmxhZ0Fsd2F5c1NpZ25lZCA9IHRy
dWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgIGNhc2UgNDU6Ci0gICAg
ICAgICAgICAgICAgZmxhZ0xlZnRBbGlnbiA9IHRydWU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgIGNhc2UgMzU6Ci0gICAgICAgICAgICAgICAgZmxhZ0FsdGVybmF0aXZl
ID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgY2FzZSA0ODoK
LSAgICAgICAgICAgICAgICBpZiAoZmxhZ1plcm9QYWQpIHsKLSAgICAgICAgICAgICAgICAgIGJy
ZWFrIGZsYWdzTG9vcDsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAg
ICAgZmxhZ1plcm9QYWQgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIGJyZWFr
IGZsYWdzTG9vcDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRleHRJbmRleCsrOwotICAg
ICAgICAgICAgbmV4dCA9IEhFQVA4WygodGV4dEluZGV4KzEpfDApXTsKLSAgICAgICAgICB9Ci0g
ICAgICAgICAgLy8gSGFuZGxlIHdpZHRoLgotICAgICAgICAgIHZhciB3aWR0aCA9IDA7Ci0gICAg
ICAgICAgaWYgKG5leHQgPT0gNDIpIHsKLSAgICAgICAgICAgIHdpZHRoID0gZ2V0TmV4dEFyZygn
aTMyJyk7Ci0gICAgICAgICAgICB0ZXh0SW5kZXgrKzsKLSAgICAgICAgICAgIG5leHQgPSBIRUFQ
OFsoKHRleHRJbmRleCsxKXwwKV07Ci0gICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHdo
aWxlIChuZXh0ID49IDQ4ICYmIG5leHQgPD0gNTcpIHsKLSAgICAgICAgICAgICAgd2lkdGggPSB3
aWR0aCAqIDEwICsgKG5leHQgLSA0OCk7Ci0gICAgICAgICAgICAgIHRleHRJbmRleCsrOwotICAg
ICAgICAgICAgICBuZXh0ID0gSEVBUDhbKCh0ZXh0SW5kZXgrMSl8MCldOwotICAgICAgICAgICAg
fQotICAgICAgICAgIH0KLSAgICAgICAgICAvLyBIYW5kbGUgcHJlY2lzaW9uLgotICAgICAgICAg
IHZhciBwcmVjaXNpb25TZXQgPSBmYWxzZTsKLSAgICAgICAgICBpZiAobmV4dCA9PSA0Nikgewot
ICAgICAgICAgICAgdmFyIHByZWNpc2lvbiA9IDA7Ci0gICAgICAgICAgICBwcmVjaXNpb25TZXQg
PSB0cnVlOwotICAgICAgICAgICAgdGV4dEluZGV4Kys7Ci0gICAgICAgICAgICBuZXh0ID0gSEVB
UDhbKCh0ZXh0SW5kZXgrMSl8MCldOwotICAgICAgICAgICAgaWYgKG5leHQgPT0gNDIpIHsKLSAg
ICAgICAgICAgICAgcHJlY2lzaW9uID0gZ2V0TmV4dEFyZygnaTMyJyk7Ci0gICAgICAgICAgICAg
IHRleHRJbmRleCsrOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgd2hpbGUo
MSkgewotICAgICAgICAgICAgICAgIHZhciBwcmVjaXNpb25DaHIgPSBIRUFQOFsoKHRleHRJbmRl
eCsxKXwwKV07Ci0gICAgICAgICAgICAgICAgaWYgKHByZWNpc2lvbkNociA8IDQ4IHx8Ci0gICAg
ICAgICAgICAgICAgICAgIHByZWNpc2lvbkNociA+IDU3KSBicmVhazsKLSAgICAgICAgICAgICAg
ICBwcmVjaXNpb24gPSBwcmVjaXNpb24gKiAxMCArIChwcmVjaXNpb25DaHIgLSA0OCk7Ci0gICAg
ICAgICAgICAgICAgdGV4dEluZGV4Kys7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIG5leHQgPSBIRUFQOFsoKHRleHRJbmRleCsxKXwwKV07Ci0gICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgIHZhciBwcmVjaXNpb24gPSA2OyAvLyBTdGFuZGFyZCBkZWZh
dWx0LgotICAgICAgICAgIH0KLSAgICAgICAgICAvLyBIYW5kbGUgaW50ZWdlciBzaXplcy4gV0FS
TklORzogVGhlc2UgYXNzdW1lIGEgMzItYml0IGFyY2hpdGVjdHVyZSEKLSAgICAgICAgICB2YXIg
YXJnU2l6ZTsKLSAgICAgICAgICBzd2l0Y2ggKFN0cmluZy5mcm9tQ2hhckNvZGUobmV4dCkpIHsK
LSAgICAgICAgICAgIGNhc2UgJ2gnOgotICAgICAgICAgICAgICB2YXIgbmV4dE5leHQgPSBIRUFQ
OFsoKHRleHRJbmRleCsyKXwwKV07Ci0gICAgICAgICAgICAgIGlmIChuZXh0TmV4dCA9PSAxMDQp
IHsKLSAgICAgICAgICAgICAgICB0ZXh0SW5kZXgrKzsKLSAgICAgICAgICAgICAgICBhcmdTaXpl
ID0gMTsgLy8gY2hhciAoYWN0dWFsbHkgaTMyIGluIHZhcmFyZ3MpCi0gICAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgYXJnU2l6ZSA9IDI7IC8vIHNob3J0IChhY3R1YWxseSBp
MzIgaW4gdmFyYXJncykKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIGNhc2UgJ2wnOgotICAgICAgICAgICAgICB2YXIgbmV4dE5leHQgPSBIRUFQOFso
KHRleHRJbmRleCsyKXwwKV07Ci0gICAgICAgICAgICAgIGlmIChuZXh0TmV4dCA9PSAxMDgpIHsK
LSAgICAgICAgICAgICAgICB0ZXh0SW5kZXgrKzsKLSAgICAgICAgICAgICAgICBhcmdTaXplID0g
ODsgLy8gbG9uZyBsb25nCi0gICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
YXJnU2l6ZSA9IDQ7IC8vIGxvbmcKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIGNhc2UgJ0wnOiAvLyBsb25nIGxvbmcKLSAgICAgICAgICAgIGNhc2Ug
J3EnOiAvLyBpbnQ2NF90Ci0gICAgICAgICAgICBjYXNlICdqJzogLy8gaW50bWF4X3QKLSAgICAg
ICAgICAgICAgYXJnU2l6ZSA9IDg7Ci0gICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
Y2FzZSAneic6IC8vIHNpemVfdAotICAgICAgICAgICAgY2FzZSAndCc6IC8vIHB0cmRpZmZfdAot
ICAgICAgICAgICAgY2FzZSAnSSc6IC8vIHNpZ25lZCBwdHJkaWZmX3Qgb3IgdW5zaWduZWQgc2l6
ZV90Ci0gICAgICAgICAgICAgIGFyZ1NpemUgPSA0OwotICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgIGFyZ1NpemUgPSBudWxsOwotICAgICAg
ICAgIH0KLSAgICAgICAgICBpZiAoYXJnU2l6ZSkgdGV4dEluZGV4Kys7Ci0gICAgICAgICAgbmV4
dCA9IEhFQVA4WygodGV4dEluZGV4KzEpfDApXTsKLSAgICAgICAgICAvLyBIYW5kbGUgdHlwZSBz
cGVjaWZpZXIuCi0gICAgICAgICAgc3dpdGNoIChTdHJpbmcuZnJvbUNoYXJDb2RlKG5leHQpKSB7
Ci0gICAgICAgICAgICBjYXNlICdkJzogY2FzZSAnaSc6IGNhc2UgJ3UnOiBjYXNlICdvJzogY2Fz
ZSAneCc6IGNhc2UgJ1gnOiBjYXNlICdwJzogewotICAgICAgICAgICAgICAvLyBJbnRlZ2VyLgot
ICAgICAgICAgICAgICB2YXIgc2lnbmVkID0gbmV4dCA9PSAxMDAgfHwgbmV4dCA9PSAxMDU7Ci0g
ICAgICAgICAgICAgIGFyZ1NpemUgPSBhcmdTaXplIHx8IDQ7Ci0gICAgICAgICAgICAgIHZhciBj
dXJyQXJnID0gZ2V0TmV4dEFyZygnaScgKyAoYXJnU2l6ZSAqIDgpKTsKLSAgICAgICAgICAgICAg
dmFyIG9yaWdBcmcgPSBjdXJyQXJnOwotICAgICAgICAgICAgICB2YXIgYXJnVGV4dDsKLSAgICAg
ICAgICAgICAgLy8gRmxhdHRlbiBpNjQtMSBbbG93LCBoaWdoXSBpbnRvIGEgKHNsaWdodGx5IHJv
dW5kZWQpIGRvdWJsZQotICAgICAgICAgICAgICBpZiAoYXJnU2l6ZSA9PSA4KSB7Ci0gICAgICAg
ICAgICAgICAgY3VyckFyZyA9IFJ1bnRpbWUubWFrZUJpZ0ludChjdXJyQXJnWzBdLCBjdXJyQXJn
WzFdLCBuZXh0ID09IDExNyk7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgLy8gVHJ1
bmNhdGUgdG8gcmVxdWVzdGVkIHNpemUuCi0gICAgICAgICAgICAgIGlmIChhcmdTaXplIDw9IDQp
IHsKLSAgICAgICAgICAgICAgICB2YXIgbGltaXQgPSBNYXRoLnBvdygyNTYsIGFyZ1NpemUpIC0g
MTsKLSAgICAgICAgICAgICAgICBjdXJyQXJnID0gKHNpZ25lZCA/IHJlU2lnbiA6IHVuU2lnbiko
Y3VyckFyZyAmIGxpbWl0LCBhcmdTaXplICogOCk7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgLy8gRm9ybWF0IHRoZSBudW1iZXIuCi0gICAgICAgICAgICAgIHZhciBjdXJyQWJzQXJn
ID0gTWF0aC5hYnMoY3VyckFyZyk7Ci0gICAgICAgICAgICAgIHZhciBwcmVmaXggPSAnJzsKLSAg
ICAgICAgICAgICAgaWYgKG5leHQgPT0gMTAwIHx8IG5leHQgPT0gMTA1KSB7Ci0gICAgICAgICAg
ICAgICAgaWYgKGFyZ1NpemUgPT0gOCAmJiBpNjRNYXRoKSBhcmdUZXh0ID0gaTY0TWF0aC5zdHJp
bmdpZnkob3JpZ0FyZ1swXSwgb3JpZ0FyZ1sxXSwgbnVsbCk7IGVsc2UKLSAgICAgICAgICAgICAg
ICBhcmdUZXh0ID0gcmVTaWduKGN1cnJBcmcsIDggKiBhcmdTaXplLCAxKS50b1N0cmluZygxMCk7
Ci0gICAgICAgICAgICAgIH0gZWxzZSBpZiAobmV4dCA9PSAxMTcpIHsKLSAgICAgICAgICAgICAg
ICBpZiAoYXJnU2l6ZSA9PSA4ICYmIGk2NE1hdGgpIGFyZ1RleHQgPSBpNjRNYXRoLnN0cmluZ2lm
eShvcmlnQXJnWzBdLCBvcmlnQXJnWzFdLCB0cnVlKTsgZWxzZQotICAgICAgICAgICAgICAgIGFy
Z1RleHQgPSB1blNpZ24oY3VyckFyZywgOCAqIGFyZ1NpemUsIDEpLnRvU3RyaW5nKDEwKTsKLSAg
ICAgICAgICAgICAgICBjdXJyQXJnID0gTWF0aC5hYnMoY3VyckFyZyk7Ci0gICAgICAgICAgICAg
IH0gZWxzZSBpZiAobmV4dCA9PSAxMTEpIHsKLSAgICAgICAgICAgICAgICBhcmdUZXh0ID0gKGZs
YWdBbHRlcm5hdGl2ZSA/ICcwJyA6ICcnKSArIGN1cnJBYnNBcmcudG9TdHJpbmcoOCk7Ci0gICAg
ICAgICAgICAgIH0gZWxzZSBpZiAobmV4dCA9PSAxMjAgfHwgbmV4dCA9PSA4OCkgewotICAgICAg
ICAgICAgICAgIHByZWZpeCA9IChmbGFnQWx0ZXJuYXRpdmUgJiYgY3VyckFyZyAhPSAwKSA/ICcw
eCcgOiAnJzsKLSAgICAgICAgICAgICAgICBpZiAoYXJnU2l6ZSA9PSA4ICYmIGk2NE1hdGgpIHsK
LSAgICAgICAgICAgICAgICAgIGlmIChvcmlnQXJnWzFdKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGFyZ1RleHQgPSAob3JpZ0FyZ1sxXT4+PjApLnRvU3RyaW5nKDE2KTsKLSAgICAgICAgICAgICAg
ICAgICAgdmFyIGxvd2VyID0gKG9yaWdBcmdbMF0+Pj4wKS50b1N0cmluZygxNik7Ci0gICAgICAg
ICAgICAgICAgICAgIHdoaWxlIChsb3dlci5sZW5ndGggPCA4KSBsb3dlciA9ICcwJyArIGxvd2Vy
OwotICAgICAgICAgICAgICAgICAgICBhcmdUZXh0ICs9IGxvd2VyOwotICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgYXJnVGV4dCA9IChvcmlnQXJnWzBdPj4+
MCkudG9TdHJpbmcoMTYpOwotICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgICAgIGlmIChjdXJyQXJnIDwgMCkgewotICAgICAgICAgICAgICAg
ICAgLy8gUmVwcmVzZW50IG5lZ2F0aXZlIG51bWJlcnMgaW4gaGV4IGFzIDIncyBjb21wbGVtZW50
LgotICAgICAgICAgICAgICAgICAgY3VyckFyZyA9IC1jdXJyQXJnOwotICAgICAgICAgICAgICAg
ICAgYXJnVGV4dCA9IChjdXJyQWJzQXJnIC0gMSkudG9TdHJpbmcoMTYpOwotICAgICAgICAgICAg
ICAgICAgdmFyIGJ1ZmZlciA9IFtdOwotICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBhcmdUZXh0Lmxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgICAgIGJ1ZmZlci5w
dXNoKCgweEYgLSBwYXJzZUludChhcmdUZXh0W2ldLCAxNikpLnRvU3RyaW5nKDE2KSk7Ci0gICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICBhcmdUZXh0ID0gYnVmZmVyLmpvaW4o
JycpOwotICAgICAgICAgICAgICAgICAgd2hpbGUgKGFyZ1RleHQubGVuZ3RoIDwgYXJnU2l6ZSAq
IDIpIGFyZ1RleHQgPSAnZicgKyBhcmdUZXh0OwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICAgICAgICBhcmdUZXh0ID0gY3VyckFic0FyZy50b1N0cmluZygxNik7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChuZXh0ID09IDg4KSB7Ci0gICAgICAg
ICAgICAgICAgICBwcmVmaXggPSBwcmVmaXgudG9VcHBlckNhc2UoKTsKLSAgICAgICAgICAgICAg
ICAgIGFyZ1RleHQgPSBhcmdUZXh0LnRvVXBwZXJDYXNlKCk7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICB9IGVsc2UgaWYgKG5leHQgPT0gMTEyKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKGN1cnJBYnNBcmcgPT09IDApIHsKLSAgICAgICAgICAgICAgICAgIGFyZ1RleHQgPSAnKG5p
bCknOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICBwcmVmaXgg
PSAnMHgnOwotICAgICAgICAgICAgICAgICAgYXJnVGV4dCA9IGN1cnJBYnNBcmcudG9TdHJpbmco
MTYpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBp
ZiAocHJlY2lzaW9uU2V0KSB7Ci0gICAgICAgICAgICAgICAgd2hpbGUgKGFyZ1RleHQubGVuZ3Ro
IDwgcHJlY2lzaW9uKSB7Ci0gICAgICAgICAgICAgICAgICBhcmdUZXh0ID0gJzAnICsgYXJnVGV4
dDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgLy8g
QWRkIHNpZ24gaWYgbmVlZGVkCi0gICAgICAgICAgICAgIGlmIChmbGFnQWx3YXlzU2lnbmVkKSB7
Ci0gICAgICAgICAgICAgICAgaWYgKGN1cnJBcmcgPCAwKSB7Ci0gICAgICAgICAgICAgICAgICBw
cmVmaXggPSAnLScgKyBwcmVmaXg7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAgIHByZWZpeCA9ICcrJyArIHByZWZpeDsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgLy8gQWRkIHBhZGRpbmcuCi0gICAgICAgICAgICAg
IHdoaWxlIChwcmVmaXgubGVuZ3RoICsgYXJnVGV4dC5sZW5ndGggPCB3aWR0aCkgewotICAgICAg
ICAgICAgICAgIGlmIChmbGFnTGVmdEFsaWduKSB7Ci0gICAgICAgICAgICAgICAgICBhcmdUZXh0
ICs9ICcgJzsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgaWYg
KGZsYWdaZXJvUGFkKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFyZ1RleHQgPSAnMCcgKyBhcmdU
ZXh0OwotICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcHJl
Zml4ID0gJyAnICsgcHJlZml4OwotICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAvLyBJbnNlcnQgdGhlIHJlc3VsdCBp
bnRvIHRoZSBidWZmZXIuCi0gICAgICAgICAgICAgIGFyZ1RleHQgPSBwcmVmaXggKyBhcmdUZXh0
OwotICAgICAgICAgICAgICBhcmdUZXh0LnNwbGl0KCcnKS5mb3JFYWNoKGZ1bmN0aW9uKGNocikg
ewotICAgICAgICAgICAgICAgIHJldC5wdXNoKGNoci5jaGFyQ29kZUF0KDApKTsKLSAgICAgICAg
ICAgICAgfSk7Ci0gICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgY2FzZSAnZic6IGNhc2UgJ0YnOiBjYXNlICdlJzogY2FzZSAnRSc6IGNhc2UgJ2cnOiBjYXNl
ICdHJzogewotICAgICAgICAgICAgICAvLyBGbG9hdC4KLSAgICAgICAgICAgICAgdmFyIGN1cnJB
cmcgPSBnZXROZXh0QXJnKCdkb3VibGUnKTsKLSAgICAgICAgICAgICAgdmFyIGFyZ1RleHQ7Ci0g
ICAgICAgICAgICAgIGlmIChpc05hTihjdXJyQXJnKSkgewotICAgICAgICAgICAgICAgIGFyZ1Rl
eHQgPSAnbmFuJzsKLSAgICAgICAgICAgICAgICBmbGFnWmVyb1BhZCA9IGZhbHNlOwotICAgICAg
ICAgICAgICB9IGVsc2UgaWYgKCFpc0Zpbml0ZShjdXJyQXJnKSkgewotICAgICAgICAgICAgICAg
IGFyZ1RleHQgPSAoY3VyckFyZyA8IDAgPyAnLScgOiAnJykgKyAnaW5mJzsKLSAgICAgICAgICAg
ICAgICBmbGFnWmVyb1BhZCA9IGZhbHNlOwotICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgICAgIHZhciBpc0dlbmVyYWwgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICB2YXIgZWZm
ZWN0aXZlUHJlY2lzaW9uID0gTWF0aC5taW4ocHJlY2lzaW9uLCAyMCk7Ci0gICAgICAgICAgICAg
ICAgLy8gQ29udmVydCBnL0cgdG8gZi9GIG9yIGUvRSwgYXMgcGVyOgotICAgICAgICAgICAgICAg
IC8vIGh0dHA6Ly9wdWJzLm9wZW5ncm91cC5vcmcvb25saW5lcHVicy85Njk5OTE5Nzk5L2Z1bmN0
aW9ucy9wcmludGYuaHRtbAotICAgICAgICAgICAgICAgIGlmIChuZXh0ID09IDEwMyB8fCBuZXh0
ID09IDcxKSB7Ci0gICAgICAgICAgICAgICAgICBpc0dlbmVyYWwgPSB0cnVlOwotICAgICAgICAg
ICAgICAgICAgcHJlY2lzaW9uID0gcHJlY2lzaW9uIHx8IDE7Ci0gICAgICAgICAgICAgICAgICB2
YXIgZXhwb25lbnQgPSBwYXJzZUludChjdXJyQXJnLnRvRXhwb25lbnRpYWwoZWZmZWN0aXZlUHJl
Y2lzaW9uKS5zcGxpdCgnZScpWzFdLCAxMCk7Ci0gICAgICAgICAgICAgICAgICBpZiAocHJlY2lz
aW9uID4gZXhwb25lbnQgJiYgZXhwb25lbnQgPj0gLTQpIHsKLSAgICAgICAgICAgICAgICAgICAg
bmV4dCA9ICgobmV4dCA9PSAxMDMpID8gJ2YnIDogJ0YnKS5jaGFyQ29kZUF0KDApOwotICAgICAg
ICAgICAgICAgICAgICBwcmVjaXNpb24gLT0gZXhwb25lbnQgKyAxOwotICAgICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgbmV4dCA9ICgobmV4dCA9PSAxMDMpID8g
J2UnIDogJ0UnKS5jaGFyQ29kZUF0KDApOwotICAgICAgICAgICAgICAgICAgICBwcmVjaXNpb24t
LTsKLSAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgIGVmZmVjdGl2ZVByZWNp
c2lvbiA9IE1hdGgubWluKHByZWNpc2lvbiwgMjApOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICBpZiAobmV4dCA9PSAxMDEgfHwgbmV4dCA9PSA2OSkgewotICAgICAgICAgICAg
ICAgICAgYXJnVGV4dCA9IGN1cnJBcmcudG9FeHBvbmVudGlhbChlZmZlY3RpdmVQcmVjaXNpb24p
OwotICAgICAgICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBleHBvbmVudCBoYXMgYXQgbGVh
c3QgMiBkaWdpdHMuCi0gICAgICAgICAgICAgICAgICBpZiAoL1tlRV1bLStdXGQkLy50ZXN0KGFy
Z1RleHQpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGFyZ1RleHQgPSBhcmdUZXh0LnNsaWNlKDAs
IC0xKSArICcwJyArIGFyZ1RleHQuc2xpY2UoLTEpOwotICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIH0gZWxzZSBpZiAobmV4dCA9PSAxMDIgfHwgbmV4dCA9PSA3MCkgewotICAg
ICAgICAgICAgICAgICAgYXJnVGV4dCA9IGN1cnJBcmcudG9GaXhlZChlZmZlY3RpdmVQcmVjaXNp
b24pOwotICAgICAgICAgICAgICAgICAgaWYgKGN1cnJBcmcgPT09IDAgJiYgX19yZWFsbHlOZWdh
dGl2ZShjdXJyQXJnKSkgewotICAgICAgICAgICAgICAgICAgICBhcmdUZXh0ID0gJy0nICsgYXJn
VGV4dDsKLSAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgdmFyIHBhcnRzID0gYXJnVGV4dC5zcGxpdCgnZScpOwotICAgICAgICAgICAgICAgIGlm
IChpc0dlbmVyYWwgJiYgIWZsYWdBbHRlcm5hdGl2ZSkgewotICAgICAgICAgICAgICAgICAgLy8g
RGlzY2FyZCB0cmFpbGluZyB6ZXJvcyBhbmQgcGVyaW9kcy4KLSAgICAgICAgICAgICAgICAgIHdo
aWxlIChwYXJ0c1swXS5sZW5ndGggPiAxICYmIHBhcnRzWzBdLmluZGV4T2YoJy4nKSAhPSAtMSAm
JgotICAgICAgICAgICAgICAgICAgICAgICAgIChwYXJ0c1swXS5zbGljZSgtMSkgPT0gJzAnIHx8
IHBhcnRzWzBdLnNsaWNlKC0xKSA9PSAnLicpKSB7Ci0gICAgICAgICAgICAgICAgICAgIHBhcnRz
WzBdID0gcGFydHNbMF0uc2xpY2UoMCwgLTEpOwotICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgd2UgaGF2
ZSBhIHBlcmlvZCBpbiBhbHRlcm5hdGl2ZSBtb2RlLgotICAgICAgICAgICAgICAgICAgaWYgKGZs
YWdBbHRlcm5hdGl2ZSAmJiBhcmdUZXh0LmluZGV4T2YoJy4nKSA9PSAtMSkgcGFydHNbMF0gKz0g
Jy4nOwotICAgICAgICAgICAgICAgICAgLy8gWmVybyBwYWQgdW50aWwgcmVxdWlyZWQgcHJlY2lz
aW9uLgotICAgICAgICAgICAgICAgICAgd2hpbGUgKHByZWNpc2lvbiA+IGVmZmVjdGl2ZVByZWNp
c2lvbisrKSBwYXJ0c1swXSArPSAnMCc7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIGFyZ1RleHQgPSBwYXJ0c1swXSArIChwYXJ0cy5sZW5ndGggPiAxID8gJ2UnICsgcGFydHNb
MV0gOiAnJyk7Ci0gICAgICAgICAgICAgICAgLy8gQ2FwaXRhbGl6ZSAnRScgaWYgbmVlZGVkLgot
ICAgICAgICAgICAgICAgIGlmIChuZXh0ID09IDY5KSBhcmdUZXh0ID0gYXJnVGV4dC50b1VwcGVy
Q2FzZSgpOwotICAgICAgICAgICAgICAgIC8vIEFkZCBzaWduLgotICAgICAgICAgICAgICAgIGlm
IChmbGFnQWx3YXlzU2lnbmVkICYmIGN1cnJBcmcgPj0gMCkgewotICAgICAgICAgICAgICAgICAg
YXJnVGV4dCA9ICcrJyArIGFyZ1RleHQ7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgIC8vIEFkZCBwYWRkaW5nLgotICAgICAgICAgICAgICB3aGlsZSAo
YXJnVGV4dC5sZW5ndGggPCB3aWR0aCkgewotICAgICAgICAgICAgICAgIGlmIChmbGFnTGVmdEFs
aWduKSB7Ci0gICAgICAgICAgICAgICAgICBhcmdUZXh0ICs9ICcgJzsKLSAgICAgICAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgaWYgKGZsYWdaZXJvUGFkICYmIChhcmdUZXh0
WzBdID09ICctJyB8fCBhcmdUZXh0WzBdID09ICcrJykpIHsKLSAgICAgICAgICAgICAgICAgICAg
YXJnVGV4dCA9IGFyZ1RleHRbMF0gKyAnMCcgKyBhcmdUZXh0LnNsaWNlKDEpOwotICAgICAgICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgYXJnVGV4dCA9IChmbGFnWmVy
b1BhZCA/ICcwJyA6ICcgJykgKyBhcmdUZXh0OwotICAgICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAvLyBBZGp1c3QgY2Fz
ZS4KLSAgICAgICAgICAgICAgaWYgKG5leHQgPCA5NykgYXJnVGV4dCA9IGFyZ1RleHQudG9VcHBl
ckNhc2UoKTsKLSAgICAgICAgICAgICAgLy8gSW5zZXJ0IHRoZSByZXN1bHQgaW50byB0aGUgYnVm
ZmVyLgotICAgICAgICAgICAgICBhcmdUZXh0LnNwbGl0KCcnKS5mb3JFYWNoKGZ1bmN0aW9uKGNo
cikgewotICAgICAgICAgICAgICAgIHJldC5wdXNoKGNoci5jaGFyQ29kZUF0KDApKTsKLSAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgY2FzZSAncyc6IHsKLSAgICAgICAgICAgICAgLy8gU3RyaW5nLgotICAgICAgICAgICAg
ICB2YXIgYXJnID0gZ2V0TmV4dEFyZygnaTgqJyk7Ci0gICAgICAgICAgICAgIHZhciBhcmdMZW5n
dGggPSBhcmcgPyBfc3RybGVuKGFyZykgOiAnKG51bGwpJy5sZW5ndGg7Ci0gICAgICAgICAgICAg
IGlmIChwcmVjaXNpb25TZXQpIGFyZ0xlbmd0aCA9IE1hdGgubWluKGFyZ0xlbmd0aCwgcHJlY2lz
aW9uKTsKLSAgICAgICAgICAgICAgaWYgKCFmbGFnTGVmdEFsaWduKSB7Ci0gICAgICAgICAgICAg
ICAgd2hpbGUgKGFyZ0xlbmd0aCA8IHdpZHRoLS0pIHsKLSAgICAgICAgICAgICAgICAgIHJldC5w
dXNoKDMyKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgaWYgKGFyZykgewotICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJnTGVu
Z3RoOyBpKyspIHsKLSAgICAgICAgICAgICAgICAgIHJldC5wdXNoKEhFQVBVOFsoKGFyZysrKXww
KV0pOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICByZXQgPSByZXQuY29uY2F0KGludEFycmF5RnJvbVN0cmluZygnKG51bGwpJy5zdWJz
dHIoMCwgYXJnTGVuZ3RoKSwgdHJ1ZSkpOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
IGlmIChmbGFnTGVmdEFsaWduKSB7Ci0gICAgICAgICAgICAgICAgd2hpbGUgKGFyZ0xlbmd0aCA8
IHdpZHRoLS0pIHsKLSAgICAgICAgICAgICAgICAgIHJldC5wdXNoKDMyKTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBjYXNlICdjJzogewotICAgICAgICAgICAgICAvLyBDaGFyYWN0ZXIu
Ci0gICAgICAgICAgICAgIGlmIChmbGFnTGVmdEFsaWduKSByZXQucHVzaChnZXROZXh0QXJnKCdp
OCcpKTsKLSAgICAgICAgICAgICAgd2hpbGUgKC0td2lkdGggPiAwKSB7Ci0gICAgICAgICAgICAg
ICAgcmV0LnB1c2goMzIpOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIGlmICghZmxh
Z0xlZnRBbGlnbikgcmV0LnB1c2goZ2V0TmV4dEFyZygnaTgnKSk7Ci0gICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAnbic6IHsKLSAgICAgICAgICAg
ICAgLy8gV3JpdGUgdGhlIGxlbmd0aCB3cml0dGVuIHNvIGZhciB0byB0aGUgbmV4dCBwYXJhbWV0
ZXIuCi0gICAgICAgICAgICAgIHZhciBwdHIgPSBnZXROZXh0QXJnKCdpMzIqJyk7Ci0gICAgICAg
ICAgICAgIEhFQVAzMlsoKHB0cik+PjIpXT1yZXQubGVuZ3RoCi0gICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAnJSc6IHsKLSAgICAgICAgICAgICAg
Ly8gTGl0ZXJhbCBwZXJjZW50IHNpZ24uCi0gICAgICAgICAgICAgIHJldC5wdXNoKGN1cnIpOwot
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGRlZmF1bHQ6
IHsKLSAgICAgICAgICAgICAgLy8gVW5rbm93biBzcGVjaWZpZXJzIHJlbWFpbiB1bnRvdWNoZWQu
Ci0gICAgICAgICAgICAgIGZvciAodmFyIGkgPSBzdGFydFRleHRJbmRleDsgaSA8IHRleHRJbmRl
eCArIDI7IGkrKykgewotICAgICAgICAgICAgICAgIHJldC5wdXNoKEhFQVA4WyhpKV0pOwotICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgfQotICAgICAgICAgIHRleHRJ
bmRleCArPSAyOwotICAgICAgICAgIC8vIFRPRE86IFN1cHBvcnQgYS9BIChoZXggZmxvYXQpIGFu
ZCBtIChsYXN0IGVycm9yKSBzcGVjaWZpZXJzLgotICAgICAgICAgIC8vIFRPRE86IFN1cHBvcnQg
JTEke3NwZWNpZmllcn0gZm9yIGFyZyBzZWxlY3Rpb24uCi0gICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgcmV0LnB1c2goY3Vycik7Ci0gICAgICAgICAgdGV4dEluZGV4ICs9IDE7Ci0gICAgICAg
IH0KLSAgICAgIH0KLSAgICAgIHJldHVybiByZXQ7Ci0gICAgfWZ1bmN0aW9uIF9zbnByaW50Zihz
LCBuLCBmb3JtYXQsIHZhcmFyZ3MpIHsKLSAgICAgIC8vIGludCBzbnByaW50ZihjaGFyICpyZXN0
cmljdCBzLCBzaXplX3QgbiwgY29uc3QgY2hhciAqcmVzdHJpY3QgZm9ybWF0LCAuLi4pOwotICAg
ICAgLy8gaHR0cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwMDA5NTM5OS9mdW5j
dGlvbnMvcHJpbnRmLmh0bWwKLSAgICAgIHZhciByZXN1bHQgPSBfX2Zvcm1hdFN0cmluZyhmb3Jt
YXQsIHZhcmFyZ3MpOwotICAgICAgdmFyIGxpbWl0ID0gKG4gPT09IHVuZGVmaW5lZCkgPyByZXN1
bHQubGVuZ3RoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IE1hdGgubWlu
KHJlc3VsdC5sZW5ndGgsIE1hdGgubWF4KG4gLSAxLCAwKSk7Ci0gICAgICBpZiAocyA8IDApIHsK
LSAgICAgICAgcyA9IC1zOwotICAgICAgICB2YXIgYnVmID0gX21hbGxvYyhsaW1pdCsxKTsKLSAg
ICAgICAgSEVBUDMyWygocyk+PjIpXT1idWY7Ci0gICAgICAgIHMgPSBidWY7Ci0gICAgICB9Ci0g
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbWl0OyBpKyspIHsKLSAgICAgICAgSEVBUDhbKCgo
cykrKGkpKXwwKV09cmVzdWx0W2ldOwotICAgICAgfQotICAgICAgaWYgKGxpbWl0IDwgbiB8fCAo
biA9PT0gdW5kZWZpbmVkKSkgSEVBUDhbKCgocykrKGkpKXwwKV09MDsKLSAgICAgIHJldHVybiBy
ZXN1bHQubGVuZ3RoOwotICAgIH0KLSAgZnVuY3Rpb24gX3N5c2NvbmYobmFtZSkgewotICAgICAg
Ly8gbG9uZyBzeXNjb25mKGludCBuYW1lKTsKLSAgICAgIC8vIGh0dHA6Ly9wdWJzLm9wZW5ncm91
cC5vcmcvb25saW5lcHVicy8wMDk2OTUzOTkvZnVuY3Rpb25zL3N5c2NvbmYuaHRtbAotICAgICAg
c3dpdGNoKG5hbWUpIHsKLSAgICAgICAgY2FzZSA4OiByZXR1cm4gUEFHRV9TSVpFOwotICAgICAg
ICBjYXNlIDU0OgotICAgICAgICBjYXNlIDU2OgotICAgICAgICBjYXNlIDIxOgotICAgICAgICBj
YXNlIDYxOgotICAgICAgICBjYXNlIDYzOgotICAgICAgICBjYXNlIDIyOgotICAgICAgICBjYXNl
IDY3OgotICAgICAgICBjYXNlIDIzOgotICAgICAgICBjYXNlIDI0OgotICAgICAgICBjYXNlIDI1
OgotICAgICAgICBjYXNlIDI2OgotICAgICAgICBjYXNlIDI3OgotICAgICAgICBjYXNlIDY5Ogot
ICAgICAgICBjYXNlIDI4OgotICAgICAgICBjYXNlIDEwMToKLSAgICAgICAgY2FzZSA3MDoKLSAg
ICAgICAgY2FzZSA3MToKLSAgICAgICAgY2FzZSAyOToKLSAgICAgICAgY2FzZSAzMDoKLSAgICAg
ICAgY2FzZSAxOTk6Ci0gICAgICAgIGNhc2UgNzU6Ci0gICAgICAgIGNhc2UgNzY6Ci0gICAgICAg
IGNhc2UgMzI6Ci0gICAgICAgIGNhc2UgNDM6Ci0gICAgICAgIGNhc2UgNDQ6Ci0gICAgICAgIGNh
c2UgODA6Ci0gICAgICAgIGNhc2UgNDY6Ci0gICAgICAgIGNhc2UgNDc6Ci0gICAgICAgIGNhc2Ug
NDU6Ci0gICAgICAgIGNhc2UgNDg6Ci0gICAgICAgIGNhc2UgNDk6Ci0gICAgICAgIGNhc2UgNDI6
Ci0gICAgICAgIGNhc2UgODI6Ci0gICAgICAgIGNhc2UgMzM6Ci0gICAgICAgIGNhc2UgNzoKLSAg
ICAgICAgY2FzZSAxMDg6Ci0gICAgICAgIGNhc2UgMTA5OgotICAgICAgICBjYXNlIDEwNzoKLSAg
ICAgICAgY2FzZSAxMTI6Ci0gICAgICAgIGNhc2UgMTE5OgotICAgICAgICBjYXNlIDEyMToKLSAg
ICAgICAgICByZXR1cm4gMjAwODA5OwotICAgICAgICBjYXNlIDEzOgotICAgICAgICBjYXNlIDEw
NDoKLSAgICAgICAgY2FzZSA5NDoKLSAgICAgICAgY2FzZSA5NToKLSAgICAgICAgY2FzZSAzNDoK
LSAgICAgICAgY2FzZSAzNToKLSAgICAgICAgY2FzZSA3NzoKLSAgICAgICAgY2FzZSA4MToKLSAg
ICAgICAgY2FzZSA4MzoKLSAgICAgICAgY2FzZSA4NDoKLSAgICAgICAgY2FzZSA4NToKLSAgICAg
ICAgY2FzZSA4NjoKLSAgICAgICAgY2FzZSA4NzoKLSAgICAgICAgY2FzZSA4ODoKLSAgICAgICAg
Y2FzZSA4OToKLSAgICAgICAgY2FzZSA5MDoKLSAgICAgICAgY2FzZSA5MToKLSAgICAgICAgY2Fz
ZSA5NDoKLSAgICAgICAgY2FzZSA5NToKLSAgICAgICAgY2FzZSAxMTA6Ci0gICAgICAgIGNhc2Ug
MTExOgotICAgICAgICBjYXNlIDExMzoKLSAgICAgICAgY2FzZSAxMTQ6Ci0gICAgICAgIGNhc2Ug
MTE1OgotICAgICAgICBjYXNlIDExNjoKLSAgICAgICAgY2FzZSAxMTc6Ci0gICAgICAgIGNhc2Ug
MTE4OgotICAgICAgICBjYXNlIDEyMDoKLSAgICAgICAgY2FzZSA0MDoKLSAgICAgICAgY2FzZSAx
NjoKLSAgICAgICAgY2FzZSA3OToKLSAgICAgICAgY2FzZSAxOToKLSAgICAgICAgICByZXR1cm4g
LTE7Ci0gICAgICAgIGNhc2UgOTI6Ci0gICAgICAgIGNhc2UgOTM6Ci0gICAgICAgIGNhc2UgNToK
LSAgICAgICAgY2FzZSA3MjoKLSAgICAgICAgY2FzZSA2OgotICAgICAgICBjYXNlIDc0OgotICAg
ICAgICBjYXNlIDkyOgotICAgICAgICBjYXNlIDkzOgotICAgICAgICBjYXNlIDk2OgotICAgICAg
ICBjYXNlIDk3OgotICAgICAgICBjYXNlIDk4OgotICAgICAgICBjYXNlIDk5OgotICAgICAgICBj
YXNlIDEwMjoKLSAgICAgICAgY2FzZSAxMDM6Ci0gICAgICAgIGNhc2UgMTA1OgotICAgICAgICAg
IHJldHVybiAxOwotICAgICAgICBjYXNlIDM4OgotICAgICAgICBjYXNlIDY2OgotICAgICAgICBj
YXNlIDUwOgotICAgICAgICBjYXNlIDUxOgotICAgICAgICBjYXNlIDQ6Ci0gICAgICAgICAgcmV0
dXJuIDEwMjQ7Ci0gICAgICAgIGNhc2UgMTU6Ci0gICAgICAgIGNhc2UgNjQ6Ci0gICAgICAgIGNh
c2UgNDE6Ci0gICAgICAgICAgcmV0dXJuIDMyOwotICAgICAgICBjYXNlIDU1OgotICAgICAgICBj
YXNlIDM3OgotICAgICAgICBjYXNlIDE3OgotICAgICAgICAgIHJldHVybiAyMTQ3NDgzNjQ3Owot
ICAgICAgICBjYXNlIDE4OgotICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgcmV0dXJuIDQ3ODM5
OwotICAgICAgICBjYXNlIDU5OgotICAgICAgICBjYXNlIDU3OgotICAgICAgICAgIHJldHVybiA5
OTsKLSAgICAgICAgY2FzZSA2ODoKLSAgICAgICAgY2FzZSA1ODoKLSAgICAgICAgICByZXR1cm4g
MjA0ODsKLSAgICAgICAgY2FzZSAwOiByZXR1cm4gMjA5NzE1MjsKLSAgICAgICAgY2FzZSAzOiBy
ZXR1cm4gNjU1MzY7Ci0gICAgICAgIGNhc2UgMTQ6IHJldHVybiAzMjc2ODsKLSAgICAgICAgY2Fz
ZSA3MzogcmV0dXJuIDMyNzY3OwotICAgICAgICBjYXNlIDM5OiByZXR1cm4gMTYzODQ7Ci0gICAg
ICAgIGNhc2UgNjA6IHJldHVybiAxMDAwOwotICAgICAgICBjYXNlIDEwNjogcmV0dXJuIDcwMDsK
LSAgICAgICAgY2FzZSA1MjogcmV0dXJuIDI1NjsKLSAgICAgICAgY2FzZSA2MjogcmV0dXJuIDI1
NTsKLSAgICAgICAgY2FzZSAyOiByZXR1cm4gMTAwOwotICAgICAgICBjYXNlIDY1OiByZXR1cm4g
NjQ7Ci0gICAgICAgIGNhc2UgMzY6IHJldHVybiAyMDsKLSAgICAgICAgY2FzZSAxMDA6IHJldHVy
biAxNjsKLSAgICAgICAgY2FzZSAyMDogcmV0dXJuIDY7Ci0gICAgICAgIGNhc2UgNTM6IHJldHVy
biA0OwotICAgICAgICBjYXNlIDEwOiByZXR1cm4gMTsKLSAgICAgIH0KLSAgICAgIF9fX3NldEVy
ck5vKEVSUk5PX0NPREVTLkVJTlZBTCk7Ci0gICAgICByZXR1cm4gLTE7Ci0gICAgfQotICBmdW5j
dGlvbiBfX19jeGFfZ3VhcmRfYWJvcnQoKSB7fQotICBmdW5jdGlvbiBfaXN4ZGlnaXQoY2hyKSB7
Ci0gICAgICByZXR1cm4gKGNociA+PSA0OCAmJiBjaHIgPD0gNTcpIHx8Ci0gICAgICAgICAgICAg
KGNociA+PSA5NyAmJiBjaHIgPD0gMTAyKSB8fAotICAgICAgICAgICAgIChjaHIgPj0gNjUgJiYg
Y2hyIDw9IDcwKTsKLSAgICB9dmFyIF9pc3hkaWdpdF9sPV9pc3hkaWdpdDsKLSAgZnVuY3Rpb24g
X2lzZGlnaXQoY2hyKSB7Ci0gICAgICByZXR1cm4gY2hyID49IDQ4ICYmIGNociA8PSA1NzsKLSAg
ICB9dmFyIF9pc2RpZ2l0X2w9X2lzZGlnaXQ7Ci0gIGZ1bmN0aW9uIF9faXNGbG9hdCh0ZXh0KSB7
Ci0gICAgICByZXR1cm4gISEoL15bKy1dP1swLTldKlwuP1swLTldKyhbZUVdWystXT9bMC05XSsp
PyQvLmV4ZWModGV4dCkpOwotICAgIH1mdW5jdGlvbiBfX3NjYW5TdHJpbmcoZm9ybWF0LCBnZXQs
IHVuZ2V0LCB2YXJhcmdzKSB7Ci0gICAgICBpZiAoIV9fc2NhblN0cmluZy53aGl0ZVNwYWNlKSB7
Ci0gICAgICAgIF9fc2NhblN0cmluZy53aGl0ZVNwYWNlID0ge307Ci0gICAgICAgIF9fc2NhblN0
cmluZy53aGl0ZVNwYWNlWzMyXSA9IDE7Ci0gICAgICAgIF9fc2NhblN0cmluZy53aGl0ZVNwYWNl
WzldID0gMTsKLSAgICAgICAgX19zY2FuU3RyaW5nLndoaXRlU3BhY2VbMTBdID0gMTsKLSAgICAg
ICAgX19zY2FuU3RyaW5nLndoaXRlU3BhY2VbMTFdID0gMTsKLSAgICAgICAgX19zY2FuU3RyaW5n
LndoaXRlU3BhY2VbMTJdID0gMTsKLSAgICAgICAgX19zY2FuU3RyaW5nLndoaXRlU3BhY2VbMTNd
ID0gMTsKLSAgICAgICAgX19zY2FuU3RyaW5nLndoaXRlU3BhY2VbJyAnXSA9IDE7Ci0gICAgICAg
IF9fc2NhblN0cmluZy53aGl0ZVNwYWNlWydcdCddID0gMTsKLSAgICAgICAgX19zY2FuU3RyaW5n
LndoaXRlU3BhY2VbJ1xuJ10gPSAxOwotICAgICAgICBfX3NjYW5TdHJpbmcud2hpdGVTcGFjZVsn
XHYnXSA9IDE7Ci0gICAgICAgIF9fc2NhblN0cmluZy53aGl0ZVNwYWNlWydcZiddID0gMTsKLSAg
ICAgICAgX19zY2FuU3RyaW5nLndoaXRlU3BhY2VbJ1xyJ10gPSAxOwotICAgICAgfQotICAgICAg
Ly8gU3VwcG9ydHMgJXgsICU0eCwgJWQuJWQsICVsbGQsICVzLCAlZiwgJWxmLgotICAgICAgLy8g
VE9ETzogU3VwcG9ydCBhbGwgZm9ybWF0IHNwZWNpZmllcnMuCi0gICAgICBmb3JtYXQgPSBQb2lu
dGVyX3N0cmluZ2lmeShmb3JtYXQpOwotICAgICAgdmFyIHNvRmFyID0gMDsKLSAgICAgIGlmIChm
b3JtYXQuaW5kZXhPZignJW4nKSA+PSAwKSB7Ci0gICAgICAgIC8vIG5lZWQgdG8gdHJhY2sgc29G
YXIKLSAgICAgICAgdmFyIF9nZXQgPSBnZXQ7Ci0gICAgICAgIGdldCA9IGZ1bmN0aW9uKCkgewot
ICAgICAgICAgIHNvRmFyKys7Ci0gICAgICAgICAgcmV0dXJuIF9nZXQoKTsKLSAgICAgICAgfQot
ICAgICAgICB2YXIgX3VuZ2V0ID0gdW5nZXQ7Ci0gICAgICAgIHVuZ2V0ID0gZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgc29GYXItLTsKLSAgICAgICAgICByZXR1cm4gX3VuZ2V0KCk7Ci0gICAgICAg
IH0KLSAgICAgIH0KLSAgICAgIHZhciBmb3JtYXRJbmRleCA9IDA7Ci0gICAgICB2YXIgYXJnc2kg
PSAwOwotICAgICAgdmFyIGZpZWxkcyA9IDA7Ci0gICAgICB2YXIgYXJnSW5kZXggPSAwOwotICAg
ICAgdmFyIG5leHQ7Ci0gICAgICBtYWluTG9vcDoKLSAgICAgIGZvciAodmFyIGZvcm1hdEluZGV4
ID0gMDsgZm9ybWF0SW5kZXggPCBmb3JtYXQubGVuZ3RoOykgewotICAgICAgICBpZiAoZm9ybWF0
W2Zvcm1hdEluZGV4XSA9PT0gJyUnICYmIGZvcm1hdFtmb3JtYXRJbmRleCsxXSA9PSAnbicpIHsK
LSAgICAgICAgICB2YXIgYXJnUHRyID0gSEVBUDMyWygoKHZhcmFyZ3MpKyhhcmdJbmRleCkpPj4y
KV07Ci0gICAgICAgICAgYXJnSW5kZXggKz0gUnVudGltZS5nZXRBbGlnblNpemUoJ3ZvaWQqJywg
bnVsbCwgdHJ1ZSk7Ci0gICAgICAgICAgSEVBUDMyWygoYXJnUHRyKT4+MildPXNvRmFyOwotICAg
ICAgICAgIGZvcm1hdEluZGV4ICs9IDI7Ci0gICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0K
LSAgICAgICAgaWYgKGZvcm1hdFtmb3JtYXRJbmRleF0gPT09ICclJykgewotICAgICAgICAgIHZh
ciBuZXh0QyA9IGZvcm1hdC5pbmRleE9mKCdjJywgZm9ybWF0SW5kZXgrMSk7Ci0gICAgICAgICAg
aWYgKG5leHRDID4gMCkgewotICAgICAgICAgICAgdmFyIG1heHggPSAxOwotICAgICAgICAgICAg
aWYgKG5leHRDID4gZm9ybWF0SW5kZXgrMSkgewotICAgICAgICAgICAgICB2YXIgc3ViID0gZm9y
bWF0LnN1YnN0cmluZyhmb3JtYXRJbmRleCsxLCBuZXh0QykKLSAgICAgICAgICAgICAgbWF4eCA9
IHBhcnNlSW50KHN1Yik7Ci0gICAgICAgICAgICAgIGlmIChtYXh4ICE9IHN1YikgbWF4eCA9IDA7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAobWF4eCkgewotICAgICAgICAgICAgICB2
YXIgYXJnUHRyID0gSEVBUDMyWygoKHZhcmFyZ3MpKyhhcmdJbmRleCkpPj4yKV07Ci0gICAgICAg
ICAgICAgIGFyZ0luZGV4ICs9IFJ1bnRpbWUuZ2V0QWxpZ25TaXplKCd2b2lkKicsIG51bGwsIHRy
dWUpOwotICAgICAgICAgICAgICBmaWVsZHMrKzsKLSAgICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBtYXh4OyBpKyspIHsKLSAgICAgICAgICAgICAgICBuZXh0ID0gZ2V0KCk7Ci0gICAg
ICAgICAgICAgICAgSEVBUDhbKChhcmdQdHIrKyl8MCldPW5leHQ7Ci0gICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgZm9ybWF0SW5kZXggKz0gbmV4dEMgLSBmb3JtYXRJbmRleCArIDE7Ci0g
ICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotICAgICAgICAgIH0KLSAgICAg
ICAgfQotICAgICAgICAvLyByZW1vdmUgd2hpdGVzcGFjZQotICAgICAgICB3aGlsZSAoMSkgewot
ICAgICAgICAgIG5leHQgPSBnZXQoKTsKLSAgICAgICAgICBpZiAobmV4dCA9PSAwKSByZXR1cm4g
ZmllbGRzOwotICAgICAgICAgIGlmICghKG5leHQgaW4gX19zY2FuU3RyaW5nLndoaXRlU3BhY2Up
KSBicmVhazsKLSAgICAgICAgfQotICAgICAgICB1bmdldCgpOwotICAgICAgICBpZiAoZm9ybWF0
W2Zvcm1hdEluZGV4XSA9PT0gJyUnKSB7Ci0gICAgICAgICAgZm9ybWF0SW5kZXgrKzsKLSAgICAg
ICAgICB2YXIgc3VwcHJlc3NBc3NpZ25tZW50ID0gZmFsc2U7Ci0gICAgICAgICAgaWYgKGZvcm1h
dFtmb3JtYXRJbmRleF0gPT0gJyonKSB7Ci0gICAgICAgICAgICBzdXBwcmVzc0Fzc2lnbm1lbnQg
PSB0cnVlOwotICAgICAgICAgICAgZm9ybWF0SW5kZXgrKzsKLSAgICAgICAgICB9Ci0gICAgICAg
ICAgdmFyIG1heFNwZWNpZmllclN0YXJ0ID0gZm9ybWF0SW5kZXg7Ci0gICAgICAgICAgd2hpbGUg
KGZvcm1hdFtmb3JtYXRJbmRleF0uY2hhckNvZGVBdCgwKSA+PSA0OCAmJgotICAgICAgICAgICAg
ICAgICBmb3JtYXRbZm9ybWF0SW5kZXhdLmNoYXJDb2RlQXQoMCkgPD0gNTcpIHsKLSAgICAgICAg
ICAgIGZvcm1hdEluZGV4Kys7Ci0gICAgICAgICAgfQotICAgICAgICAgIHZhciBtYXhfOwotICAg
ICAgICAgIGlmIChmb3JtYXRJbmRleCAhPSBtYXhTcGVjaWZpZXJTdGFydCkgewotICAgICAgICAg
ICAgbWF4XyA9IHBhcnNlSW50KGZvcm1hdC5zbGljZShtYXhTcGVjaWZpZXJTdGFydCwgZm9ybWF0
SW5kZXgpLCAxMCk7Ci0gICAgICAgICAgfQotICAgICAgICAgIHZhciBsb25nXyA9IGZhbHNlOwot
ICAgICAgICAgIHZhciBoYWxmID0gZmFsc2U7Ci0gICAgICAgICAgdmFyIGxvbmdMb25nID0gZmFs
c2U7Ci0gICAgICAgICAgaWYgKGZvcm1hdFtmb3JtYXRJbmRleF0gPT0gJ2wnKSB7Ci0gICAgICAg
ICAgICBsb25nXyA9IHRydWU7Ci0gICAgICAgICAgICBmb3JtYXRJbmRleCsrOwotICAgICAgICAg
ICAgaWYgKGZvcm1hdFtmb3JtYXRJbmRleF0gPT0gJ2wnKSB7Ci0gICAgICAgICAgICAgIGxvbmdM
b25nID0gdHJ1ZTsKLSAgICAgICAgICAgICAgZm9ybWF0SW5kZXgrKzsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICB9IGVsc2UgaWYgKGZvcm1hdFtmb3JtYXRJbmRleF0gPT0gJ2gnKSB7Ci0gICAg
ICAgICAgICBoYWxmID0gdHJ1ZTsKLSAgICAgICAgICAgIGZvcm1hdEluZGV4Kys7Ci0gICAgICAg
ICAgfQotICAgICAgICAgIHZhciB0eXBlID0gZm9ybWF0W2Zvcm1hdEluZGV4XTsKLSAgICAgICAg
ICBmb3JtYXRJbmRleCsrOwotICAgICAgICAgIHZhciBjdXJyID0gMDsKLSAgICAgICAgICB2YXIg
YnVmZmVyID0gW107Ci0gICAgICAgICAgLy8gUmVhZCBjaGFyYWN0ZXJzIGFjY29yZGluZyB0byB0
aGUgZm9ybWF0LiBmbG9hdHMgYXJlIHRyaWNraWVyLCB0aGV5IG1heSBiZSBpbiBhbiB1bmZsb2F0
IHN0YXRlIGluIHRoZSBtaWRkbGUsIHRoZW4gYmUgYSB2YWxpZCBmbG9hdCBsYXRlcgotICAgICAg
ICAgIGlmICh0eXBlID09ICdmJyB8fCB0eXBlID09ICdlJyB8fCB0eXBlID09ICdnJyB8fAotICAg
ICAgICAgICAgICB0eXBlID09ICdGJyB8fCB0eXBlID09ICdFJyB8fCB0eXBlID09ICdHJykgewot
ICAgICAgICAgICAgdmFyIGxhc3QgPSAwOwotICAgICAgICAgICAgbmV4dCA9IGdldCgpOwotICAg
ICAgICAgICAgd2hpbGUgKG5leHQgPiAwKSB7Ci0gICAgICAgICAgICAgIGJ1ZmZlci5wdXNoKFN0
cmluZy5mcm9tQ2hhckNvZGUobmV4dCkpOwotICAgICAgICAgICAgICBpZiAoX19pc0Zsb2F0KGJ1
ZmZlci5qb2luKCcnKSkpIHsKLSAgICAgICAgICAgICAgICBsYXN0ID0gYnVmZmVyLmxlbmd0aDsK
LSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBuZXh0ID0gZ2V0KCk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ1ZmZlci5sZW5ndGggLSBsYXN0
ICsgMTsgaSsrKSB7Ci0gICAgICAgICAgICAgIHVuZ2V0KCk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBidWZmZXIubGVuZ3RoID0gbGFzdDsKLSAgICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgbmV4dCA9IGdldCgpOwotICAgICAgICAgICAgdmFyIGZpcnN0ID0gdHJ1ZTsKLSAgICAg
ICAgICAgIHdoaWxlICgoY3VyciA8IG1heF8gfHwgaXNOYU4obWF4XykpICYmIG5leHQgPiAwKSB7
Ci0gICAgICAgICAgICAgIGlmICghKG5leHQgaW4gX19zY2FuU3RyaW5nLndoaXRlU3BhY2UpICYm
IC8vIHN0b3Agb24gd2hpdGVzcGFjZQotICAgICAgICAgICAgICAgICAgKHR5cGUgPT0gJ3MnIHx8
Ci0gICAgICAgICAgICAgICAgICAgKCh0eXBlID09PSAnZCcgfHwgdHlwZSA9PSAndScgfHwgdHlw
ZSA9PSAnaScpICYmICgobmV4dCA+PSA0OCAmJiBuZXh0IDw9IDU3KSB8fAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KGZpcnN0ICYmIG5leHQgPT0gNDUpKSkgfHwKLSAgICAgICAgICAgICAgICAgICAoKHR5cGUgPT09
ICd4JyB8fCB0eXBlID09PSAnWCcpICYmIChuZXh0ID49IDQ4ICYmIG5leHQgPD0gNTcgfHwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0ID49IDk3ICYmIG5leHQgPD0g
MTAyIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dCA+PSA2NSAm
JiBuZXh0IDw9IDcwKSkpICYmCi0gICAgICAgICAgICAgICAgICAoZm9ybWF0SW5kZXggPj0gZm9y
bWF0Lmxlbmd0aCB8fCBuZXh0ICE9PSBmb3JtYXRbZm9ybWF0SW5kZXhdLmNoYXJDb2RlQXQoMCkp
KSB7IC8vIFN0b3Agd2hlbiB3ZSByZWFkIHNvbWV0aGluZyB0aGF0IGlzIGNvbWluZyB1cAotICAg
ICAgICAgICAgICAgIGJ1ZmZlci5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUobmV4dCkpOwotICAg
ICAgICAgICAgICAgIG5leHQgPSBnZXQoKTsKLSAgICAgICAgICAgICAgICBjdXJyKys7Ci0gICAg
ICAgICAgICAgICAgZmlyc3QgPSBmYWxzZTsKLSAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgdW5nZXQoKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgaWYgKGJ1ZmZlci5sZW5ndGgg
PT09IDApIHJldHVybiAwOyAgLy8gRmFpbHVyZS4KLSAgICAgICAgICBpZiAoc3VwcHJlc3NBc3Np
Z25tZW50KSBjb250aW51ZTsKLSAgICAgICAgICB2YXIgdGV4dCA9IGJ1ZmZlci5qb2luKCcnKTsK
LSAgICAgICAgICB2YXIgYXJnUHRyID0gSEVBUDMyWygoKHZhcmFyZ3MpKyhhcmdJbmRleCkpPj4y
KV07Ci0gICAgICAgICAgYXJnSW5kZXggKz0gUnVudGltZS5nZXRBbGlnblNpemUoJ3ZvaWQqJywg
bnVsbCwgdHJ1ZSk7Ci0gICAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgICAgICBjYXNl
ICdkJzogY2FzZSAndSc6IGNhc2UgJ2knOgotICAgICAgICAgICAgICBpZiAoaGFsZikgewotICAg
ICAgICAgICAgICAgIEhFQVAxNlsoKGFyZ1B0cik+PjEpXT1wYXJzZUludCh0ZXh0LCAxMCk7Ci0g
ICAgICAgICAgICAgIH0gZWxzZSBpZiAobG9uZ0xvbmcpIHsKLSAgICAgICAgICAgICAgICAodGVt
cEk2NCA9IFtwYXJzZUludCh0ZXh0LCAxMCk+Pj4wLCh0ZW1wRG91YmxlPXBhcnNlSW50KHRleHQs
IDEwKSwoKyhNYXRoLmFicyh0ZW1wRG91YmxlKSkpID49ICgrKDEpKSA/ICh0ZW1wRG91YmxlID4g
KCsoMCkpID8gKChNYXRoLm1pbigoKyhNYXRoLmZsb29yKCh0ZW1wRG91YmxlKS8oKyg0Mjk0OTY3
Mjk2KSkpKSksICgrKDQyOTQ5NjcyOTUpKSkpfDApPj4+MCA6ICh+figoKyhNYXRoLmNlaWwoKHRl
bXBEb3VibGUgLSArKCgofn4odGVtcERvdWJsZSkpKT4+PjApKS8oKyg0Mjk0OTY3Mjk2KSkpKSkp
KT4+PjApIDogMCldLEhFQVAzMlsoKGFyZ1B0cik+PjIpXT10ZW1wSTY0WzBdLEhFQVAzMlsoKChh
cmdQdHIpKyg0KSk+PjIpXT10ZW1wSTY0WzFdKTsKLSAgICAgICAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgICAgICBIRUFQMzJbKChhcmdQdHIpPj4yKV09cGFyc2VJbnQodGV4dCwgMTApOwot
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAn
WCc6Ci0gICAgICAgICAgICBjYXNlICd4JzoKLSAgICAgICAgICAgICAgSEVBUDMyWygoYXJnUHRy
KT4+MildPXBhcnNlSW50KHRleHQsIDE2KQotICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgIGNhc2UgJ0YnOgotICAgICAgICAgICAgY2FzZSAnZic6Ci0gICAgICAgICAgICBjYXNlICdF
JzoKLSAgICAgICAgICAgIGNhc2UgJ2UnOgotICAgICAgICAgICAgY2FzZSAnRyc6Ci0gICAgICAg
ICAgICBjYXNlICdnJzoKLSAgICAgICAgICAgIGNhc2UgJ0UnOgotICAgICAgICAgICAgICAvLyBm
YWxsdGhyb3VnaCBpbnRlbmRlZAotICAgICAgICAgICAgICBpZiAobG9uZ18pIHsKLSAgICAgICAg
ICAgICAgICBIRUFQRjY0WygoYXJnUHRyKT4+MyldPXBhcnNlRmxvYXQodGV4dCkKLSAgICAgICAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBIRUFQRjMyWygoYXJnUHRyKT4+MildPXBh
cnNlRmxvYXQodGV4dCkKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIGNhc2UgJ3MnOgotICAgICAgICAgICAgICB2YXIgYXJyYXkgPSBpbnRBcnJheUZy
b21TdHJpbmcodGV4dCk7Ci0gICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgYXJyYXku
bGVuZ3RoOyBqKyspIHsKLSAgICAgICAgICAgICAgICBIRUFQOFsoKChhcmdQdHIpKyhqKSl8MCld
PWFycmF5W2pdCi0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgfQotICAgICAgICAgIGZpZWxkcysrOwotICAgICAgICB9IGVsc2UgaWYgKGZvcm1hdFtmb3Jt
YXRJbmRleF0gaW4gX19zY2FuU3RyaW5nLndoaXRlU3BhY2UpIHsKLSAgICAgICAgICBuZXh0ID0g
Z2V0KCk7Ci0gICAgICAgICAgd2hpbGUgKG5leHQgaW4gX19zY2FuU3RyaW5nLndoaXRlU3BhY2Up
IHsKLSAgICAgICAgICAgIGlmIChuZXh0IDw9IDApIGJyZWFrIG1haW5Mb29wOyAgLy8gRW5kIG9m
IGlucHV0LgotICAgICAgICAgICAgbmV4dCA9IGdldCgpOwotICAgICAgICAgIH0KLSAgICAgICAg
ICB1bmdldChuZXh0KTsKLSAgICAgICAgICBmb3JtYXRJbmRleCsrOwotICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgIC8vIE5vdCBhIHNwZWNpZmllci4KLSAgICAgICAgICBuZXh0ID0gZ2V0KCk7
Ci0gICAgICAgICAgaWYgKGZvcm1hdFtmb3JtYXRJbmRleF0uY2hhckNvZGVBdCgwKSAhPT0gbmV4
dCkgewotICAgICAgICAgICAgdW5nZXQobmV4dCk7Ci0gICAgICAgICAgICBicmVhayBtYWluTG9v
cDsKLSAgICAgICAgICB9Ci0gICAgICAgICAgZm9ybWF0SW5kZXgrKzsKLSAgICAgICAgfQotICAg
ICAgfQotICAgICAgcmV0dXJuIGZpZWxkczsKLSAgICB9ZnVuY3Rpb24gX3NzY2FuZihzLCBmb3Jt
YXQsIHZhcmFyZ3MpIHsKLSAgICAgIC8vIGludCBzc2NhbmYoY29uc3QgY2hhciAqcmVzdHJpY3Qg
cywgY29uc3QgY2hhciAqcmVzdHJpY3QgZm9ybWF0LCAuLi4gKTsKLSAgICAgIC8vIGh0dHA6Ly9w
dWJzLm9wZW5ncm91cC5vcmcvb25saW5lcHVicy8wMDAwOTUzOTkvZnVuY3Rpb25zL3NjYW5mLmh0
bWwKLSAgICAgIHZhciBpbmRleCA9IDA7Ci0gICAgICB2YXIgZ2V0ID0gZnVuY3Rpb24oKSB7IHJl
dHVybiBIRUFQOFsoKChzKSsoaW5kZXgrKykpfDApXTsgfTsKLSAgICAgIHZhciB1bmdldCA9IGZ1
bmN0aW9uKCkgeyBpbmRleC0tOyB9OwotICAgICAgcmV0dXJuIF9fc2NhblN0cmluZyhmb3JtYXQs
IGdldCwgdW5nZXQsIHZhcmFyZ3MpOwotICAgIH0KLSAgZnVuY3Rpb24gX19aN2NhdG9wZW5QS2Np
KCkgeyB0aHJvdyAnY2F0b3BlbiBub3QgaW1wbGVtZW50ZWQnIH0KLSAgZnVuY3Rpb24gX19aN2Nh
dGdldHNQOF9ubF9jYXRkaWlQS2MoKSB7IHRocm93ICdjYXRnZXRzIG5vdCBpbXBsZW1lbnRlZCcg
fQotICBmdW5jdGlvbiBfX1o4Y2F0Y2xvc2VQOF9ubF9jYXRkKCkgeyB0aHJvdyAnY2F0Y2xvc2Ug
bm90IGltcGxlbWVudGVkJyB9Ci0gIGZ1bmN0aW9uIF9uZXdsb2NhbGUobWFzaywgbG9jYWxlLCBi
YXNlKSB7Ci0gICAgICByZXR1cm4gMDsKLSAgICB9Ci0gIGZ1bmN0aW9uIF9mcmVlbG9jYWxlKGxv
Y2FsZSkge30KLSAgZnVuY3Rpb24gX19fY3R5cGVfYl9sb2MoKSB7Ci0gICAgICAvLyBodHRwOi8v
cmVmc3BlY3MuZnJlZXN0YW5kYXJkcy5vcmcvTFNCXzMuMC4wL0xTQi1Db3JlLWdlbmVyaWMvTFNC
LUNvcmUtZ2VuZXJpYy9iYXNlbGliLS0tY3R5cGUtYi1sb2MuaHRtbAotICAgICAgdmFyIG1lID0g
X19fY3R5cGVfYl9sb2M7Ci0gICAgICBpZiAoIW1lLnJldCkgewotICAgICAgICB2YXIgdmFsdWVz
ID0gWwotICAgICAgICAgIDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICAgICAgICAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsCi0gICAgICAgICAgMCwwLDAsMCww
LDAsMCwwLDAsMCwyLDIsMiwyLDIsMiwyLDIsMiw4MTk1LDgxOTQsODE5NCw4MTk0LDgxOTQsMiwy
LDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMjQ1NzcsNDkxNTYsNDkxNTYsNDkxNTYs
Ci0gICAgICAgICAgNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkx
NTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNTUzMDQsNTUzMDQsNTUzMDQsNTUzMDQsNTUzMDQs
NTUzMDQsNTUzMDQsNTUzMDQsCi0gICAgICAgICAgNTUzMDQsNTUzMDQsNDkxNTYsNDkxNTYsNDkx
NTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNTQ1MzYsNTQ1MzYsNTQ1MzYsNTQ1MzYsNTQ1MzYs
NTQ1MzYsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsCi0gICAgICAgICAgNTA0NDAsNTA0
NDAsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAs
NTA0NDAsNTA0NDAsNTA0NDAsNTA0NDAsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsCi0g
ICAgICAgICAgNDkxNTYsNTQ3OTIsNTQ3OTIsNTQ3OTIsNTQ3OTIsNTQ3OTIsNTQ3OTIsNTA2OTYs
NTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2
OTYsNTA2OTYsNTA2OTYsCi0gICAgICAgICAgNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYsNTA2OTYs
NTA2OTYsNTA2OTYsNDkxNTYsNDkxNTYsNDkxNTYsNDkxNTYsMiwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAotICAgICAgICAgIDAsMCwwLDAsMCwwLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwKLSAgICAgICAg
ICAwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKLSAgICAgICAgXTsKLSAgICAgICAgdmFy
IGkxNnNpemUgPSAyOwotICAgICAgICB2YXIgYXJyID0gX21hbGxvYyh2YWx1ZXMubGVuZ3RoICog
aTE2c2l6ZSk7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsr
KSB7Ci0gICAgICAgICAgSEVBUDE2WygoKGFycikrKGkgKiBpMTZzaXplKSk+PjEpXT12YWx1ZXNb
aV0KLSAgICAgICAgfQotICAgICAgICBtZS5yZXQgPSBhbGxvY2F0ZShbYXJyICsgMTI4ICogaTE2
c2l6ZV0sICdpMTYqJywgQUxMT0NfTk9STUFMKTsKLSAgICAgIH0KLSAgICAgIHJldHVybiBtZS5y
ZXQ7Ci0gICAgfQotICBmdW5jdGlvbiBfX19jdHlwZV90b2xvd2VyX2xvYygpIHsKLSAgICAgIC8v
IGh0dHA6Ly9yZWZzcGVjcy5mcmVlc3RhbmRhcmRzLm9yZy9MU0JfMy4xLjEvTFNCLUNvcmUtZ2Vu
ZXJpYy9MU0ItQ29yZS1nZW5lcmljL2xpYnV0aWwtLS1jdHlwZS10b2xvd2VyLWxvYy5odG1sCi0g
ICAgICB2YXIgbWUgPSBfX19jdHlwZV90b2xvd2VyX2xvYzsKLSAgICAgIGlmICghbWUucmV0KSB7
Ci0gICAgICAgIHZhciB2YWx1ZXMgPSBbCi0gICAgICAgICAgMTI4LDEyOSwxMzAsMTMxLDEzMiwx
MzMsMTM0LDEzNSwxMzYsMTM3LDEzOCwxMzksMTQwLDE0MSwxNDIsMTQzLDE0NCwxNDUsMTQ2LDE0
NywxNDgsMTQ5LDE1MCwxNTEsMTUyLDE1MywxNTQsMTU1LDE1NiwxNTcsCi0gICAgICAgICAgMTU4
LDE1OSwxNjAsMTYxLDE2MiwxNjMsMTY0LDE2NSwxNjYsMTY3LDE2OCwxNjksMTcwLDE3MSwxNzIs
MTczLDE3NCwxNzUsMTc2LDE3NywxNzgsMTc5LDE4MCwxODEsMTgyLDE4MywxODQsMTg1LDE4Niwx
ODcsCi0gICAgICAgICAgMTg4LDE4OSwxOTAsMTkxLDE5MiwxOTMsMTk0LDE5NSwxOTYsMTk3LDE5
OCwxOTksMjAwLDIwMSwyMDIsMjAzLDIwNCwyMDUsMjA2LDIwNywyMDgsMjA5LDIxMCwyMTEsMjEy
LDIxMywyMTQsMjE1LDIxNiwyMTcsCi0gICAgICAgICAgMjE4LDIxOSwyMjAsMjIxLDIyMiwyMjMs
MjI0LDIyNSwyMjYsMjI3LDIyOCwyMjksMjMwLDIzMSwyMzIsMjMzLDIzNCwyMzUsMjM2LDIzNywy
MzgsMjM5LDI0MCwyNDEsMjQyLDI0MywyNDQsMjQ1LDI0NiwyNDcsCi0gICAgICAgICAgMjQ4LDI0
OSwyNTAsMjUxLDI1MiwyNTMsMjU0LC0xLDAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMs
MTQsMTUsMTYsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksMzAsMzEsMzIs
Ci0gICAgICAgICAgMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDcs
NDgsNDksNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksNjAsNjEsNjIsNjMsNjQsOTcsOTgs
OTksMTAwLDEwMSwxMDIsMTAzLAotICAgICAgICAgIDEwNCwxMDUsMTA2LDEwNywxMDgsMTA5LDEx
MCwxMTEsMTEyLDExMywxMTQsMTE1LDExNiwxMTcsMTE4LDExOSwxMjAsMTIxLDEyMiw5MSw5Miw5
Myw5NCw5NSw5Niw5Nyw5OCw5OSwxMDAsMTAxLDEwMiwxMDMsCi0gICAgICAgICAgMTA0LDEwNSwx
MDYsMTA3LDEwOCwxMDksMTEwLDExMSwxMTIsMTEzLDExNCwxMTUsMTE2LDExNywxMTgsMTE5LDEy
MCwxMjEsMTIyLDEyMywxMjQsMTI1LDEyNiwxMjcsMTI4LDEyOSwxMzAsMTMxLDEzMiwxMzMsCi0g
ICAgICAgICAgMTM0LDEzNSwxMzYsMTM3LDEzOCwxMzksMTQwLDE0MSwxNDIsMTQzLDE0NCwxNDUs
MTQ2LDE0NywxNDgsMTQ5LDE1MCwxNTEsMTUyLDE1MywxNTQsMTU1LDE1NiwxNTcsMTU4LDE1OSwx
NjAsMTYxLDE2MiwxNjMsCi0gICAgICAgICAgMTY0LDE2NSwxNjYsMTY3LDE2OCwxNjksMTcwLDE3
MSwxNzIsMTczLDE3NCwxNzUsMTc2LDE3NywxNzgsMTc5LDE4MCwxODEsMTgyLDE4MywxODQsMTg1
LDE4NiwxODcsMTg4LDE4OSwxOTAsMTkxLDE5MiwxOTMsCi0gICAgICAgICAgMTk0LDE5NSwxOTYs
MTk3LDE5OCwxOTksMjAwLDIwMSwyMDIsMjAzLDIwNCwyMDUsMjA2LDIwNywyMDgsMjA5LDIxMCwy
MTEsMjEyLDIxMywyMTQsMjE1LDIxNiwyMTcsMjE4LDIxOSwyMjAsMjIxLDIyMiwyMjMsCi0gICAg
ICAgICAgMjI0LDIyNSwyMjYsMjI3LDIyOCwyMjksMjMwLDIzMSwyMzIsMjMzLDIzNCwyMzUsMjM2
LDIzNywyMzgsMjM5LDI0MCwyNDEsMjQyLDI0MywyNDQsMjQ1LDI0NiwyNDcsMjQ4LDI0OSwyNTAs
MjUxLDI1MiwyNTMsCi0gICAgICAgICAgMjU0LDI1NQotICAgICAgICBdOwotICAgICAgICB2YXIg
aTMyc2l6ZSA9IDQ7Ci0gICAgICAgIHZhciBhcnIgPSBfbWFsbG9jKHZhbHVlcy5sZW5ndGggKiBp
MzJzaXplKTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWx1ZXMubGVuZ3RoOyBpKysp
IHsKLSAgICAgICAgICBIRUFQMzJbKCgoYXJyKSsoaSAqIGkzMnNpemUpKT4+MildPXZhbHVlc1tp
XQotICAgICAgICB9Ci0gICAgICAgIG1lLnJldCA9IGFsbG9jYXRlKFthcnIgKyAxMjggKiBpMzJz
aXplXSwgJ2kzMionLCBBTExPQ19OT1JNQUwpOwotICAgICAgfQotICAgICAgcmV0dXJuIG1lLnJl
dDsKLSAgICB9Ci0gIGZ1bmN0aW9uIF9fX2N0eXBlX3RvdXBwZXJfbG9jKCkgewotICAgICAgLy8g
aHR0cDovL3JlZnNwZWNzLmZyZWVzdGFuZGFyZHMub3JnL0xTQl8zLjEuMS9MU0ItQ29yZS1nZW5l
cmljL0xTQi1Db3JlLWdlbmVyaWMvbGlidXRpbC0tLWN0eXBlLXRvdXBwZXItbG9jLmh0bWwKLSAg
ICAgIHZhciBtZSA9IF9fX2N0eXBlX3RvdXBwZXJfbG9jOwotICAgICAgaWYgKCFtZS5yZXQpIHsK
LSAgICAgICAgdmFyIHZhbHVlcyA9IFsKLSAgICAgICAgICAxMjgsMTI5LDEzMCwxMzEsMTMyLDEz
MywxMzQsMTM1LDEzNiwxMzcsMTM4LDEzOSwxNDAsMTQxLDE0MiwxNDMsMTQ0LDE0NSwxNDYsMTQ3
LDE0OCwxNDksMTUwLDE1MSwxNTIsMTUzLDE1NCwxNTUsMTU2LDE1NywKLSAgICAgICAgICAxNTgs
MTU5LDE2MCwxNjEsMTYyLDE2MywxNjQsMTY1LDE2NiwxNjcsMTY4LDE2OSwxNzAsMTcxLDE3Miwx
NzMsMTc0LDE3NSwxNzYsMTc3LDE3OCwxNzksMTgwLDE4MSwxODIsMTgzLDE4NCwxODUsMTg2LDE4
NywKLSAgICAgICAgICAxODgsMTg5LDE5MCwxOTEsMTkyLDE5MywxOTQsMTk1LDE5NiwxOTcsMTk4
LDE5OSwyMDAsMjAxLDIwMiwyMDMsMjA0LDIwNSwyMDYsMjA3LDIwOCwyMDksMjEwLDIxMSwyMTIs
MjEzLDIxNCwyMTUsMjE2LDIxNywKLSAgICAgICAgICAyMTgsMjE5LDIyMCwyMjEsMjIyLDIyMywy
MjQsMjI1LDIyNiwyMjcsMjI4LDIyOSwyMzAsMjMxLDIzMiwyMzMsMjM0LDIzNSwyMzYsMjM3LDIz
OCwyMzksMjQwLDI0MSwyNDIsMjQzLDI0NCwyNDUsMjQ2LDI0NywKLSAgICAgICAgICAyNDgsMjQ5
LDI1MCwyNTEsMjUyLDI1MywyNTQsLTEsMCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywx
NCwxNSwxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMSwzMiwK
LSAgICAgICAgICAzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0
OCw0OSw1MCw1MSw1Miw1Myw1NCw1NSw1Niw1Nyw1OCw1OSw2MCw2MSw2Miw2Myw2NCw2NSw2Niw2
Nyw2OCw2OSw3MCw3MSw3MiwKLSAgICAgICAgICA3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4
Miw4Myw4NCw4NSw4Niw4Nyw4OCw4OSw5MCw5MSw5Miw5Myw5NCw5NSw5Niw2NSw2Niw2Nyw2OCw2
OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCwKLSAgICAgICAgICA4MSw4Miw4Myw4
NCw4NSw4Niw4Nyw4OCw4OSw5MCwxMjMsMTI0LDEyNSwxMjYsMTI3LDEyOCwxMjksMTMwLDEzMSwx
MzIsMTMzLDEzNCwxMzUsMTM2LDEzNywxMzgsMTM5LDE0MCwxNDEsMTQyLDE0MywxNDQsCi0gICAg
ICAgICAgMTQ1LDE0NiwxNDcsMTQ4LDE0OSwxNTAsMTUxLDE1MiwxNTMsMTU0LDE1NSwxNTYsMTU3
LDE1OCwxNTksMTYwLDE2MSwxNjIsMTYzLDE2NCwxNjUsMTY2LDE2NywxNjgsMTY5LDE3MCwxNzEs
MTcyLDE3MywxNzQsCi0gICAgICAgICAgMTc1LDE3NiwxNzcsMTc4LDE3OSwxODAsMTgxLDE4Miwx
ODMsMTg0LDE4NSwxODYsMTg3LDE4OCwxODksMTkwLDE5MSwxOTIsMTkzLDE5NCwxOTUsMTk2LDE5
NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsCi0gICAgICAgICAgMjA1LDIwNiwyMDcsMjA4
LDIwOSwyMTAsMjExLDIxMiwyMTMsMjE0LDIxNSwyMTYsMjE3LDIxOCwyMTksMjIwLDIyMSwyMjIs
MjIzLDIyNCwyMjUsMjI2LDIyNywyMjgsMjI5LDIzMCwyMzEsMjMyLDIzMywyMzQsCi0gICAgICAg
ICAgMjM1LDIzNiwyMzcsMjM4LDIzOSwyNDAsMjQxLDI0MiwyNDMsMjQ0LDI0NSwyNDYsMjQ3LDI0
OCwyNDksMjUwLDI1MSwyNTIsMjUzLDI1NCwyNTUKLSAgICAgICAgXTsKLSAgICAgICAgdmFyIGkz
MnNpemUgPSA0OwotICAgICAgICB2YXIgYXJyID0gX21hbGxvYyh2YWx1ZXMubGVuZ3RoICogaTMy
c2l6ZSk7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7
Ci0gICAgICAgICAgSEVBUDMyWygoKGFycikrKGkgKiBpMzJzaXplKSk+PjIpXT12YWx1ZXNbaV0K
LSAgICAgICAgfQotICAgICAgICBtZS5yZXQgPSBhbGxvY2F0ZShbYXJyICsgMTI4ICogaTMyc2l6
ZV0sICdpMzIqJywgQUxMT0NfTk9STUFMKTsKLSAgICAgIH0KLSAgICAgIHJldHVybiBtZS5yZXQ7
Ci0gICAgfQotICB2YXIgX19fdG1fc3RydWN0X2xheW91dD17X19zaXplX186NDQsdG1fc2VjOjAs
dG1fbWluOjQsdG1faG91cjo4LHRtX21kYXk6MTIsdG1fbW9uOjE2LHRtX3llYXI6MjAsdG1fd2Rh
eToyNCx0bV95ZGF5OjI4LHRtX2lzZHN0OjMyLHRtX2dtdG9mZjozNix0bV96b25lOjQwfTsKLSAg
ZnVuY3Rpb24gX19pc0xlYXBZZWFyKHllYXIpIHsKLSAgICAgICAgcmV0dXJuIHllYXIlNCA9PT0g
MCAmJiAoeWVhciUxMDAgIT09IDAgfHwgeWVhciU0MDAgPT09IDApOwotICAgIH0KLSAgZnVuY3Rp
b24gX19hcnJheVN1bShhcnJheSwgaW5kZXgpIHsKLSAgICAgIHZhciBzdW0gPSAwOwotICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPD0gaW5kZXg7IHN1bSArPSBhcnJheVtpKytdKTsKLSAgICAgIHJl
dHVybiBzdW07Ci0gICAgfQotICB2YXIgX19NT05USF9EQVlTX0xFQVA9WzMxLDI5LDMxLDMwLDMx
LDMwLDMxLDMxLDMwLDMxLDMwLDMxXTsKLSAgdmFyIF9fTU9OVEhfREFZU19SRUdVTEFSPVszMSwy
OCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07ZnVuY3Rpb24gX19hZGREYXlzKGRhdGUs
IGRheXMpIHsKLSAgICAgIHZhciBuZXdEYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkpOwot
ICAgICAgd2hpbGUoZGF5cyA+IDApIHsKLSAgICAgICAgdmFyIGxlYXAgPSBfX2lzTGVhcFllYXIo
bmV3RGF0ZS5nZXRGdWxsWWVhcigpKTsKLSAgICAgICAgdmFyIGN1cnJlbnRNb250aCA9IG5ld0Rh
dGUuZ2V0TW9udGgoKTsKLSAgICAgICAgdmFyIGRheXNJbkN1cnJlbnRNb250aCA9IChsZWFwID8g
X19NT05USF9EQVlTX0xFQVAgOiBfX01PTlRIX0RBWVNfUkVHVUxBUilbY3VycmVudE1vbnRoXTsK
LSAgICAgICAgaWYgKGRheXMgPiBkYXlzSW5DdXJyZW50TW9udGgtbmV3RGF0ZS5nZXREYXRlKCkp
IHsKLSAgICAgICAgICAvLyB3ZSBzcGlsbCBvdmVyIHRvIG5leHQgbW9udGgKLSAgICAgICAgICBk
YXlzIC09IChkYXlzSW5DdXJyZW50TW9udGgtbmV3RGF0ZS5nZXREYXRlKCkrMSk7Ci0gICAgICAg
ICAgbmV3RGF0ZS5zZXREYXRlKDEpOwotICAgICAgICAgIGlmIChjdXJyZW50TW9udGggPCAxMSkg
ewotICAgICAgICAgICAgbmV3RGF0ZS5zZXRNb250aChjdXJyZW50TW9udGgrMSkKLSAgICAgICAg
ICB9IGVsc2UgewotICAgICAgICAgICAgbmV3RGF0ZS5zZXRNb250aCgwKTsKLSAgICAgICAgICAg
IG5ld0RhdGUuc2V0RnVsbFllYXIobmV3RGF0ZS5nZXRGdWxsWWVhcigpKzEpOwotICAgICAgICAg
IH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAvLyB3ZSBzdGF5IGluIGN1cnJlbnQgbW9u
dGggCi0gICAgICAgICAgbmV3RGF0ZS5zZXREYXRlKG5ld0RhdGUuZ2V0RGF0ZSgpK2RheXMpOwot
ICAgICAgICAgIHJldHVybiBuZXdEYXRlOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICByZXR1
cm4gbmV3RGF0ZTsKLSAgICB9ZnVuY3Rpb24gX3N0cmZ0aW1lKHMsIG1heHNpemUsIGZvcm1hdCwg
dG0pIHsKLSAgICAgIC8vIHNpemVfdCBzdHJmdGltZShjaGFyICpyZXN0cmljdCBzLCBzaXplX3Qg
bWF4c2l6ZSwgY29uc3QgY2hhciAqcmVzdHJpY3QgZm9ybWF0LCBjb25zdCBzdHJ1Y3QgdG0gKnJl
c3RyaWN0IHRpbWVwdHIpOwotICAgICAgLy8gaHR0cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxp
bmVwdWJzLzAwOTY5NTM5OS9mdW5jdGlvbnMvc3RyZnRpbWUuaHRtbAotICAgICAgdmFyIGRhdGUg
PSB7Ci0gICAgICAgIHRtX3NlYzogSEVBUDMyWygoKHRtKSsoX19fdG1fc3RydWN0X2xheW91dC50
bV9zZWMpKT4+MildLAotICAgICAgICB0bV9taW46IEhFQVAzMlsoKCh0bSkrKF9fX3RtX3N0cnVj
dF9sYXlvdXQudG1fbWluKSk+PjIpXSwKLSAgICAgICAgdG1faG91cjogSEVBUDMyWygoKHRtKSso
X19fdG1fc3RydWN0X2xheW91dC50bV9ob3VyKSk+PjIpXSwKLSAgICAgICAgdG1fbWRheTogSEVB
UDMyWygoKHRtKSsoX19fdG1fc3RydWN0X2xheW91dC50bV9tZGF5KSk+PjIpXSwKLSAgICAgICAg
dG1fbW9uOiBIRUFQMzJbKCgodG0pKyhfX190bV9zdHJ1Y3RfbGF5b3V0LnRtX21vbikpPj4yKV0s
Ci0gICAgICAgIHRtX3llYXI6IEhFQVAzMlsoKCh0bSkrKF9fX3RtX3N0cnVjdF9sYXlvdXQudG1f
eWVhcikpPj4yKV0sCi0gICAgICAgIHRtX3dkYXk6IEhFQVAzMlsoKCh0bSkrKF9fX3RtX3N0cnVj
dF9sYXlvdXQudG1fd2RheSkpPj4yKV0sCi0gICAgICAgIHRtX3lkYXk6IEhFQVAzMlsoKCh0bSkr
KF9fX3RtX3N0cnVjdF9sYXlvdXQudG1feWRheSkpPj4yKV0sCi0gICAgICAgIHRtX2lzZHN0OiBI
RUFQMzJbKCgodG0pKyhfX190bV9zdHJ1Y3RfbGF5b3V0LnRtX2lzZHN0KSk+PjIpXQotICAgICAg
fTsKLSAgICAgIHZhciBwYXR0ZXJuID0gUG9pbnRlcl9zdHJpbmdpZnkoZm9ybWF0KTsKLSAgICAg
IC8vIGV4cGFuZCBmb3JtYXQKLSAgICAgIHZhciBFWFBBTlNJT05fUlVMRVNfMSA9IHsKLSAgICAg
ICAgJyVjJzogJyVhICViICVkICVIOiVNOiVTICVZJywgICAgIC8vIFJlcGxhY2VkIGJ5IHRoZSBs
b2NhbGUncyBhcHByb3ByaWF0ZSBkYXRlIGFuZCB0aW1lIHJlcHJlc2VudGF0aW9uIC0gZS5nLiwg
TW9uIEF1ZyAgMyAxNDowMjowMSAyMDEzCi0gICAgICAgICclRCc6ICclbS8lZC8leScsICAgICAg
ICAgICAgICAgICAvLyBFcXVpdmFsZW50IHRvICVtIC8gJWQgLyAleQotICAgICAgICAnJUYnOiAn
JVktJW0tJWQnLCAgICAgICAgICAgICAgICAgLy8gRXF1aXZhbGVudCB0byAlWSAtICVtIC0gJWQK
LSAgICAgICAgJyVoJzogJyViJywgICAgICAgICAgICAgICAgICAgICAgIC8vIEVxdWl2YWxlbnQg
dG8gJWIKLSAgICAgICAgJyVyJzogJyVJOiVNOiVTICVwJywgICAgICAgICAgICAgIC8vIFJlcGxh
Y2VkIGJ5IHRoZSB0aW1lIGluIGEubS4gYW5kIHAubS4gbm90YXRpb24KLSAgICAgICAgJyVSJzog
JyVIOiVNJywgICAgICAgICAgICAgICAgICAgIC8vIFJlcGxhY2VkIGJ5IHRoZSB0aW1lIGluIDI0
LWhvdXIgbm90YXRpb24KLSAgICAgICAgJyVUJzogJyVIOiVNOiVTJywgICAgICAgICAgICAgICAg
IC8vIFJlcGxhY2VkIGJ5IHRoZSB0aW1lCi0gICAgICAgICcleCc6ICclbS8lZC8leScsICAgICAg
ICAgICAgICAgICAvLyBSZXBsYWNlZCBieSB0aGUgbG9jYWxlJ3MgYXBwcm9wcmlhdGUgZGF0ZSBy
ZXByZXNlbnRhdGlvbgotICAgICAgICAnJVgnOiAnJUg6JU06JVMnLCAgICAgICAgICAgICAgICAg
Ly8gUmVwbGFjZWQgYnkgdGhlIGxvY2FsZSdzIGFwcHJvcHJpYXRlIGRhdGUgcmVwcmVzZW50YXRp
b24KLSAgICAgIH07Ci0gICAgICBmb3IgKHZhciBydWxlIGluIEVYUEFOU0lPTl9SVUxFU18xKSB7
Ci0gICAgICAgIHBhdHRlcm4gPSBwYXR0ZXJuLnJlcGxhY2UobmV3IFJlZ0V4cChydWxlLCAnZycp
LCBFWFBBTlNJT05fUlVMRVNfMVtydWxlXSk7Ci0gICAgICB9Ci0gICAgICB2YXIgV0VFS0RBWVMg
PSBbJ1N1bmRheScsICdNb25kYXknLCAnVHVlc2RheScsICdXZWRuZXNkYXknLCAnVGh1cnNkYXkn
LCAnRnJpZGF5JywgJ1NhdHVyZGF5J107Ci0gICAgICB2YXIgTU9OVEhTID0gWydKYW51YXJ5Jywg
J0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVn
dXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ107Ci0g
ICAgICB2YXIgbGVhZGluZ1NvbWV0aGluZyA9IGZ1bmN0aW9uKHZhbHVlLCBkaWdpdHMsIGNoYXJh
Y3RlcikgewotICAgICAgICB2YXIgc3RyID0gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyA/IHZh
bHVlLnRvU3RyaW5nKCkgOiAodmFsdWUgfHwgJycpOwotICAgICAgICB3aGlsZSAoc3RyLmxlbmd0
aCA8IGRpZ2l0cykgewotICAgICAgICAgIHN0ciA9IGNoYXJhY3RlclswXStzdHI7Ci0gICAgICAg
IH0KLSAgICAgICAgcmV0dXJuIHN0cjsKLSAgICAgIH07Ci0gICAgICB2YXIgbGVhZGluZ051bGxz
ID0gZnVuY3Rpb24odmFsdWUsIGRpZ2l0cykgewotICAgICAgICByZXR1cm4gbGVhZGluZ1NvbWV0
aGluZyh2YWx1ZSwgZGlnaXRzLCAnMCcpOwotICAgICAgfTsKLSAgICAgIHZhciBjb21wYXJlQnlE
YXkgPSBmdW5jdGlvbihkYXRlMSwgZGF0ZTIpIHsKLSAgICAgICAgdmFyIHNnbiA9IGZ1bmN0aW9u
KHZhbHVlKSB7Ci0gICAgICAgICAgcmV0dXJuIHZhbHVlIDwgMCA/IC0xIDogKHZhbHVlID4gMCA/
IDEgOiAwKTsKLSAgICAgICAgfTsKLSAgICAgICAgdmFyIGNvbXBhcmU7Ci0gICAgICAgIGlmICgo
Y29tcGFyZSA9IHNnbihkYXRlMS5nZXRGdWxsWWVhcigpLWRhdGUyLmdldEZ1bGxZZWFyKCkpKSA9
PT0gMCkgewotICAgICAgICAgIGlmICgoY29tcGFyZSA9IHNnbihkYXRlMS5nZXRNb250aCgpLWRh
dGUyLmdldE1vbnRoKCkpKSA9PT0gMCkgewotICAgICAgICAgICAgY29tcGFyZSA9IHNnbihkYXRl
MS5nZXREYXRlKCktZGF0ZTIuZ2V0RGF0ZSgpKTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0KLSAg
ICAgICAgcmV0dXJuIGNvbXBhcmU7Ci0gICAgICB9OwotICAgICAgdmFyIGdldEZpcnN0V2Vla1N0
YXJ0RGF0ZSA9IGZ1bmN0aW9uKGphbkZvdXJ0aCkgewotICAgICAgICAgIHN3aXRjaCAoamFuRm91
cnRoLmdldERheSgpKSB7Ci0gICAgICAgICAgICBjYXNlIDA6IC8vIFN1bmRheQotICAgICAgICAg
ICAgICByZXR1cm4gbmV3IERhdGUoamFuRm91cnRoLmdldEZ1bGxZZWFyKCktMSwgMTEsIDI5KTsK
LSAgICAgICAgICAgIGNhc2UgMTogLy8gTW9uZGF5Ci0gICAgICAgICAgICAgIHJldHVybiBqYW5G
b3VydGg7Ci0gICAgICAgICAgICBjYXNlIDI6IC8vIFR1ZXNkYXkKLSAgICAgICAgICAgICAgcmV0
dXJuIG5ldyBEYXRlKGphbkZvdXJ0aC5nZXRGdWxsWWVhcigpLCAwLCAzKTsKLSAgICAgICAgICAg
IGNhc2UgMzogLy8gV2VkbmVzZGF5Ci0gICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShqYW5G
b3VydGguZ2V0RnVsbFllYXIoKSwgMCwgMik7Ci0gICAgICAgICAgICBjYXNlIDQ6IC8vIFRodXJz
ZGF5Ci0gICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShqYW5Gb3VydGguZ2V0RnVsbFllYXIo
KSwgMCwgMSk7Ci0gICAgICAgICAgICBjYXNlIDU6IC8vIEZyaWRheQotICAgICAgICAgICAgICBy
ZXR1cm4gbmV3IERhdGUoamFuRm91cnRoLmdldEZ1bGxZZWFyKCktMSwgMTEsIDMxKTsKLSAgICAg
ICAgICAgIGNhc2UgNjogLy8gU2F0dXJkYXkKLSAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRl
KGphbkZvdXJ0aC5nZXRGdWxsWWVhcigpLTEsIDExLCAzMCk7Ci0gICAgICAgICAgfQotICAgICAg
fTsKLSAgICAgIHZhciBnZXRXZWVrQmFzZWRZZWFyID0gZnVuY3Rpb24oZGF0ZSkgewotICAgICAg
ICAgIHZhciB0aGlzRGF0ZSA9IF9fYWRkRGF5cyhuZXcgRGF0ZShkYXRlLnRtX3llYXIrMTkwMCwg
MCwgMSksIGRhdGUudG1feWRheSk7Ci0gICAgICAgICAgdmFyIGphbkZvdXJ0aFRoaXNZZWFyID0g
bmV3IERhdGUodGhpc0RhdGUuZ2V0RnVsbFllYXIoKSwgMCwgNCk7Ci0gICAgICAgICAgdmFyIGph
bkZvdXJ0aE5leHRZZWFyID0gbmV3IERhdGUodGhpc0RhdGUuZ2V0RnVsbFllYXIoKSsxLCAwLCA0
KTsKLSAgICAgICAgICB2YXIgZmlyc3RXZWVrU3RhcnRUaGlzWWVhciA9IGdldEZpcnN0V2Vla1N0
YXJ0RGF0ZShqYW5Gb3VydGhUaGlzWWVhcik7Ci0gICAgICAgICAgdmFyIGZpcnN0V2Vla1N0YXJ0
TmV4dFllYXIgPSBnZXRGaXJzdFdlZWtTdGFydERhdGUoamFuRm91cnRoTmV4dFllYXIpOwotICAg
ICAgICAgIGlmIChjb21wYXJlQnlEYXkoZmlyc3RXZWVrU3RhcnRUaGlzWWVhciwgdGhpc0RhdGUp
IDw9IDApIHsKLSAgICAgICAgICAgIC8vIHRoaXMgZGF0ZSBpcyBhZnRlciB0aGUgc3RhcnQgb2Yg
dGhlIGZpcnN0IHdlZWsgb2YgdGhpcyB5ZWFyCi0gICAgICAgICAgICBpZiAoY29tcGFyZUJ5RGF5
KGZpcnN0V2Vla1N0YXJ0TmV4dFllYXIsIHRoaXNEYXRlKSA8PSAwKSB7Ci0gICAgICAgICAgICAg
IHJldHVybiB0aGlzRGF0ZS5nZXRGdWxsWWVhcigpKzE7Ci0gICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICByZXR1cm4gdGhpc0RhdGUuZ2V0RnVsbFllYXIoKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICB9IGVsc2UgeyAKLSAgICAgICAgICAgIHJldHVybiB0aGlzRGF0ZS5nZXRG
dWxsWWVhcigpLTE7Ci0gICAgICAgICAgfQotICAgICAgfTsKLSAgICAgIHZhciBFWFBBTlNJT05f
UlVMRVNfMiA9IHsKLSAgICAgICAgJyVhJzogZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIHJl
dHVybiBXRUVLREFZU1tkYXRlLnRtX3dkYXldLnN1YnN0cmluZygwLDMpOwotICAgICAgICB9LAot
ICAgICAgICAnJUEnOiBmdW5jdGlvbihkYXRlKSB7Ci0gICAgICAgICAgcmV0dXJuIFdFRUtEQVlT
W2RhdGUudG1fd2RheV07Ci0gICAgICAgIH0sCi0gICAgICAgICclYic6IGZ1bmN0aW9uKGRhdGUp
IHsKLSAgICAgICAgICByZXR1cm4gTU9OVEhTW2RhdGUudG1fbW9uXS5zdWJzdHJpbmcoMCwzKTsK
LSAgICAgICAgfSwKLSAgICAgICAgJyVCJzogZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIHJl
dHVybiBNT05USFNbZGF0ZS50bV9tb25dOwotICAgICAgICB9LAotICAgICAgICAnJUMnOiBmdW5j
dGlvbihkYXRlKSB7Ci0gICAgICAgICAgdmFyIHllYXIgPSBkYXRlLnRtX3llYXIrMTkwMDsKLSAg
ICAgICAgICByZXR1cm4gbGVhZGluZ051bGxzKE1hdGguZmxvb3IoeWVhci8xMDApLDIpOwotICAg
ICAgICB9LAotICAgICAgICAnJWQnOiBmdW5jdGlvbihkYXRlKSB7Ci0gICAgICAgICAgcmV0dXJu
IGxlYWRpbmdOdWxscyhkYXRlLnRtX21kYXksIDIpOwotICAgICAgICB9LAotICAgICAgICAnJWUn
OiBmdW5jdGlvbihkYXRlKSB7Ci0gICAgICAgICAgcmV0dXJuIGxlYWRpbmdTb21ldGhpbmcoZGF0
ZS50bV9tZGF5LCAyLCAnICcpOwotICAgICAgICB9LAotICAgICAgICAnJWcnOiBmdW5jdGlvbihk
YXRlKSB7Ci0gICAgICAgICAgLy8gJWcsICVHLCBhbmQgJVYgZ2l2ZSB2YWx1ZXMgYWNjb3JkaW5n
IHRvIHRoZSBJU08gODYwMToyMDAwIHN0YW5kYXJkIHdlZWstYmFzZWQgeWVhci4gCi0gICAgICAg
ICAgLy8gSW4gdGhpcyBzeXN0ZW0sIHdlZWtzIGJlZ2luIG9uIGEgTW9uZGF5IGFuZCB3ZWVrIDEg
b2YgdGhlIHllYXIgaXMgdGhlIHdlZWsgdGhhdCBpbmNsdWRlcyAKLSAgICAgICAgICAvLyBKYW51
YXJ5IDR0aCwgd2hpY2ggaXMgYWxzbyB0aGUgd2VlayB0aGF0IGluY2x1ZGVzIHRoZSBmaXJzdCBU
aHVyc2RheSBvZiB0aGUgeWVhciwgYW5kIAotICAgICAgICAgIC8vIGlzIGFsc28gdGhlIGZpcnN0
IHdlZWsgdGhhdCBjb250YWlucyBhdCBsZWFzdCBmb3VyIGRheXMgaW4gdGhlIHllYXIuIAotICAg
ICAgICAgIC8vIElmIHRoZSBmaXJzdCBNb25kYXkgb2YgSmFudWFyeSBpcyB0aGUgMm5kLCAzcmQs
IG9yIDR0aCwgdGhlIHByZWNlZGluZyBkYXlzIGFyZSBwYXJ0IG9mIAotICAgICAgICAgIC8vIHRo
ZSBsYXN0IHdlZWsgb2YgdGhlIHByZWNlZGluZyB5ZWFyOyB0aHVzLCBmb3IgU2F0dXJkYXkgMm5k
IEphbnVhcnkgMTk5OSwgCi0gICAgICAgICAgLy8gJUcgaXMgcmVwbGFjZWQgYnkgMTk5OCBhbmQg
JVYgaXMgcmVwbGFjZWQgYnkgNTMuIElmIERlY2VtYmVyIDI5dGgsIDMwdGgsIAotICAgICAgICAg
IC8vIG9yIDMxc3QgaXMgYSBNb25kYXksIGl0IGFuZCBhbnkgZm9sbG93aW5nIGRheXMgYXJlIHBh
cnQgb2Ygd2VlayAxIG9mIHRoZSBmb2xsb3dpbmcgeWVhci4gCi0gICAgICAgICAgLy8gVGh1cywg
Zm9yIFR1ZXNkYXkgMzB0aCBEZWNlbWJlciAxOTk3LCAlRyBpcyByZXBsYWNlZCBieSAxOTk4IGFu
ZCAlViBpcyByZXBsYWNlZCBieSAwMS4KLSAgICAgICAgICByZXR1cm4gZ2V0V2Vla0Jhc2VkWWVh
cihkYXRlKS50b1N0cmluZygpLnN1YnN0cmluZygyKTsKLSAgICAgICAgfSwKLSAgICAgICAgJyVH
JzogZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIHJldHVybiBnZXRXZWVrQmFzZWRZZWFyKGRh
dGUpOwotICAgICAgICB9LAotICAgICAgICAnJUgnOiBmdW5jdGlvbihkYXRlKSB7Ci0gICAgICAg
ICAgcmV0dXJuIGxlYWRpbmdOdWxscyhkYXRlLnRtX2hvdXIsIDIpOwotICAgICAgICB9LAotICAg
ICAgICAnJUknOiBmdW5jdGlvbihkYXRlKSB7Ci0gICAgICAgICAgcmV0dXJuIGxlYWRpbmdOdWxs
cyhkYXRlLnRtX2hvdXIgPCAxMyA/IGRhdGUudG1faG91ciA6IGRhdGUudG1faG91ci0xMiwgMik7
Ci0gICAgICAgIH0sCi0gICAgICAgICclaic6IGZ1bmN0aW9uKGRhdGUpIHsKLSAgICAgICAgICAv
LyBEYXkgb2YgdGhlIHllYXIgKDAwMS0zNjYpCi0gICAgICAgICAgcmV0dXJuIGxlYWRpbmdOdWxs
cyhkYXRlLnRtX21kYXkrX19hcnJheVN1bShfX2lzTGVhcFllYXIoZGF0ZS50bV95ZWFyKzE5MDAp
ID8gX19NT05USF9EQVlTX0xFQVAgOiBfX01PTlRIX0RBWVNfUkVHVUxBUiwgZGF0ZS50bV9tb24t
MSksIDMpOwotICAgICAgICB9LAotICAgICAgICAnJW0nOiBmdW5jdGlvbihkYXRlKSB7Ci0gICAg
ICAgICAgcmV0dXJuIGxlYWRpbmdOdWxscyhkYXRlLnRtX21vbisxLCAyKTsKLSAgICAgICAgfSwK
LSAgICAgICAgJyVNJzogZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIHJldHVybiBsZWFkaW5n
TnVsbHMoZGF0ZS50bV9taW4sIDIpOwotICAgICAgICB9LAotICAgICAgICAnJW4nOiBmdW5jdGlv
bigpIHsKLSAgICAgICAgICByZXR1cm4gJ1xuJzsKLSAgICAgICAgfSwKLSAgICAgICAgJyVwJzog
ZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIGlmIChkYXRlLnRtX2hvdXIgPiAwICYmIGRhdGUu
dG1faG91ciA8IDEzKSB7Ci0gICAgICAgICAgICByZXR1cm4gJ0FNJzsKLSAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgcmV0dXJuICdQTSc7Ci0gICAgICAgICAgfQotICAgICAgICB9LAot
ICAgICAgICAnJVMnOiBmdW5jdGlvbihkYXRlKSB7Ci0gICAgICAgICAgcmV0dXJuIGxlYWRpbmdO
dWxscyhkYXRlLnRtX3NlYywgMik7Ci0gICAgICAgIH0sCi0gICAgICAgICcldCc6IGZ1bmN0aW9u
KCkgewotICAgICAgICAgIHJldHVybiAnXHQnOwotICAgICAgICB9LAotICAgICAgICAnJXUnOiBm
dW5jdGlvbihkYXRlKSB7Ci0gICAgICAgICAgdmFyIGRheSA9IG5ldyBEYXRlKGRhdGUudG1feWVh
cisxOTAwLCBkYXRlLnRtX21vbisxLCBkYXRlLnRtX21kYXksIDAsIDAsIDAsIDApOwotICAgICAg
ICAgIHJldHVybiBkYXkuZ2V0RGF5KCkgfHwgNzsKLSAgICAgICAgfSwKLSAgICAgICAgJyVVJzog
ZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIC8vIFJlcGxhY2VkIGJ5IHRoZSB3ZWVrIG51bWJl
ciBvZiB0aGUgeWVhciBhcyBhIGRlY2ltYWwgbnVtYmVyIFswMCw1M10uIAotICAgICAgICAgIC8v
IFRoZSBmaXJzdCBTdW5kYXkgb2YgSmFudWFyeSBpcyB0aGUgZmlyc3QgZGF5IG9mIHdlZWsgMTsg
Ci0gICAgICAgICAgLy8gZGF5cyBpbiB0aGUgbmV3IHllYXIgYmVmb3JlIHRoaXMgYXJlIGluIHdl
ZWsgMC4gWyB0bV95ZWFyLCB0bV93ZGF5LCB0bV95ZGF5XQotICAgICAgICAgIHZhciBqYW5GaXJz
dCA9IG5ldyBEYXRlKGRhdGUudG1feWVhcisxOTAwLCAwLCAxKTsKLSAgICAgICAgICB2YXIgZmly
c3RTdW5kYXkgPSBqYW5GaXJzdC5nZXREYXkoKSA9PT0gMCA/IGphbkZpcnN0IDogX19hZGREYXlz
KGphbkZpcnN0LCA3LWphbkZpcnN0LmdldERheSgpKTsKLSAgICAgICAgICB2YXIgZW5kRGF0ZSA9
IG5ldyBEYXRlKGRhdGUudG1feWVhcisxOTAwLCBkYXRlLnRtX21vbiwgZGF0ZS50bV9tZGF5KTsK
LSAgICAgICAgICAvLyBpcyB0YXJnZXQgZGF0ZSBhZnRlciB0aGUgZmlyc3QgU3VuZGF5PwotICAg
ICAgICAgIGlmIChjb21wYXJlQnlEYXkoZmlyc3RTdW5kYXksIGVuZERhdGUpIDwgMCkgewotICAg
ICAgICAgICAgLy8gY2FsY3VsYXRlIGRpZmZlcmVuY2UgaW4gZGF5cyBiZXR3ZWVuIGZpcnN0IFN1
bmRheSBhbmQgZW5kRGF0ZQotICAgICAgICAgICAgdmFyIGZlYnJ1YXJ5Rmlyc3RVbnRpbEVuZE1v
bnRoID0gX19hcnJheVN1bShfX2lzTGVhcFllYXIoZW5kRGF0ZS5nZXRGdWxsWWVhcigpKSA/IF9f
TU9OVEhfREFZU19MRUFQIDogX19NT05USF9EQVlTX1JFR1VMQVIsIGVuZERhdGUuZ2V0TW9udGgo
KS0xKS0zMTsKLSAgICAgICAgICAgIHZhciBmaXJzdFN1bmRheVVudGlsRW5kSmFudWFyeSA9IDMx
LWZpcnN0U3VuZGF5LmdldERhdGUoKTsKLSAgICAgICAgICAgIHZhciBkYXlzID0gZmlyc3RTdW5k
YXlVbnRpbEVuZEphbnVhcnkrZmVicnVhcnlGaXJzdFVudGlsRW5kTW9udGgrZW5kRGF0ZS5nZXRE
YXRlKCk7Ci0gICAgICAgICAgICByZXR1cm4gbGVhZGluZ051bGxzKE1hdGguY2VpbChkYXlzLzcp
LCAyKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgcmV0dXJuIGNvbXBhcmVCeURheShmaXJzdFN1
bmRheSwgamFuRmlyc3QpID09PSAwID8gJzAxJzogJzAwJzsKLSAgICAgICAgfSwKLSAgICAgICAg
JyVWJzogZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIC8vIFJlcGxhY2VkIGJ5IHRoZSB3ZWVr
IG51bWJlciBvZiB0aGUgeWVhciAoTW9uZGF5IGFzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsp
IAotICAgICAgICAgIC8vIGFzIGEgZGVjaW1hbCBudW1iZXIgWzAxLDUzXS4gSWYgdGhlIHdlZWsg
Y29udGFpbmluZyAxIEphbnVhcnkgaGFzIGZvdXIgCi0gICAgICAgICAgLy8gb3IgbW9yZSBkYXlz
IGluIHRoZSBuZXcgeWVhciwgdGhlbiBpdCBpcyBjb25zaWRlcmVkIHdlZWsgMS4gCi0gICAgICAg
ICAgLy8gT3RoZXJ3aXNlLCBpdCBpcyB0aGUgbGFzdCB3ZWVrIG9mIHRoZSBwcmV2aW91cyB5ZWFy
LCBhbmQgdGhlIG5leHQgd2VlayBpcyB3ZWVrIDEuIAotICAgICAgICAgIC8vIEJvdGggSmFudWFy
eSA0dGggYW5kIHRoZSBmaXJzdCBUaHVyc2RheSBvZiBKYW51YXJ5IGFyZSBhbHdheXMgaW4gd2Vl
ayAxLiBbIHRtX3llYXIsIHRtX3dkYXksIHRtX3lkYXldCi0gICAgICAgICAgdmFyIGphbkZvdXJ0
aFRoaXNZZWFyID0gbmV3IERhdGUoZGF0ZS50bV95ZWFyKzE5MDAsIDAsIDQpOwotICAgICAgICAg
IHZhciBqYW5Gb3VydGhOZXh0WWVhciA9IG5ldyBEYXRlKGRhdGUudG1feWVhcisxOTAxLCAwLCA0
KTsKLSAgICAgICAgICB2YXIgZmlyc3RXZWVrU3RhcnRUaGlzWWVhciA9IGdldEZpcnN0V2Vla1N0
YXJ0RGF0ZShqYW5Gb3VydGhUaGlzWWVhcik7Ci0gICAgICAgICAgdmFyIGZpcnN0V2Vla1N0YXJ0
TmV4dFllYXIgPSBnZXRGaXJzdFdlZWtTdGFydERhdGUoamFuRm91cnRoTmV4dFllYXIpOwotICAg
ICAgICAgIHZhciBlbmREYXRlID0gX19hZGREYXlzKG5ldyBEYXRlKGRhdGUudG1feWVhcisxOTAw
LCAwLCAxKSwgZGF0ZS50bV95ZGF5KTsKLSAgICAgICAgICBpZiAoY29tcGFyZUJ5RGF5KGVuZERh
dGUsIGZpcnN0V2Vla1N0YXJ0VGhpc1llYXIpIDwgMCkgewotICAgICAgICAgICAgLy8gaWYgZ2l2
ZW4gZGF0ZSBpcyBiZWZvcmUgdGhpcyB5ZWFycyBmaXJzdCB3ZWVrLCB0aGVuIGl0IGJlbG9uZ3Mg
dG8gdGhlIDUzcmQgd2VlayBvZiBsYXN0IHllYXIKLSAgICAgICAgICAgIHJldHVybiAnNTMnOwot
ICAgICAgICAgIH0gCi0gICAgICAgICAgaWYgKGNvbXBhcmVCeURheShmaXJzdFdlZWtTdGFydE5l
eHRZZWFyLCBlbmREYXRlKSA8PSAwKSB7Ci0gICAgICAgICAgICAvLyBpZiBnaXZlbiBkYXRlIGlz
IGFmdGVyIG5leHQgeWVhcnMgZmlyc3Qgd2VlaywgdGhlbiBpdCBiZWxvbmdzIHRvIHRoZSAwMXRo
IHdlZWsgb2YgbmV4dCB5ZWFyCi0gICAgICAgICAgICByZXR1cm4gJzAxJzsKLSAgICAgICAgICB9
Ci0gICAgICAgICAgLy8gZ2l2ZW4gZGF0ZSBpcyBpbiBiZXR3ZWVuIENXIDAxLi41MyBvZiB0aGlz
IGNhbGVuZGFyIHllYXIKLSAgICAgICAgICB2YXIgZGF5c0RpZmZlcmVuY2U7Ci0gICAgICAgICAg
aWYgKGZpcnN0V2Vla1N0YXJ0VGhpc1llYXIuZ2V0RnVsbFllYXIoKSA8IGRhdGUudG1feWVhcisx
OTAwKSB7Ci0gICAgICAgICAgICAvLyBmaXJzdCBDVyBvZiB0aGlzIHllYXIgc3RhcnRzIGxhc3Qg
eWVhcgotICAgICAgICAgICAgZGF5c0RpZmZlcmVuY2UgPSBkYXRlLnRtX3lkYXkrMzItZmlyc3RX
ZWVrU3RhcnRUaGlzWWVhci5nZXREYXRlKCkKLSAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgLy8gZmlyc3QgQ1cgb2YgdGhpcyB5ZWFyIHN0YXJ0cyB0aGlzIHllYXIKLSAgICAgICAgICAg
IGRheXNEaWZmZXJlbmNlID0gZGF0ZS50bV95ZGF5KzEtZmlyc3RXZWVrU3RhcnRUaGlzWWVhci5n
ZXREYXRlKCk7Ci0gICAgICAgICAgfQotICAgICAgICAgIHJldHVybiBsZWFkaW5nTnVsbHMoTWF0
aC5jZWlsKGRheXNEaWZmZXJlbmNlLzcpLCAyKTsKLSAgICAgICAgfSwKLSAgICAgICAgJyV3Jzog
ZnVuY3Rpb24oZGF0ZSkgewotICAgICAgICAgIHZhciBkYXkgPSBuZXcgRGF0ZShkYXRlLnRtX3ll
YXIrMTkwMCwgZGF0ZS50bV9tb24rMSwgZGF0ZS50bV9tZGF5LCAwLCAwLCAwLCAwKTsKLSAgICAg
ICAgICByZXR1cm4gZGF5LmdldERheSgpOwotICAgICAgICB9LAotICAgICAgICAnJVcnOiBmdW5j
dGlvbihkYXRlKSB7Ci0gICAgICAgICAgLy8gUmVwbGFjZWQgYnkgdGhlIHdlZWsgbnVtYmVyIG9m
IHRoZSB5ZWFyIGFzIGEgZGVjaW1hbCBudW1iZXIgWzAwLDUzXS4gCi0gICAgICAgICAgLy8gVGhl
IGZpcnN0IE1vbmRheSBvZiBKYW51YXJ5IGlzIHRoZSBmaXJzdCBkYXkgb2Ygd2VlayAxOyAKLSAg
ICAgICAgICAvLyBkYXlzIGluIHRoZSBuZXcgeWVhciBiZWZvcmUgdGhpcyBhcmUgaW4gd2VlayAw
LiBbIHRtX3llYXIsIHRtX3dkYXksIHRtX3lkYXldCi0gICAgICAgICAgdmFyIGphbkZpcnN0ID0g
bmV3IERhdGUoZGF0ZS50bV95ZWFyLCAwLCAxKTsKLSAgICAgICAgICB2YXIgZmlyc3RNb25kYXkg
PSBqYW5GaXJzdC5nZXREYXkoKSA9PT0gMSA/IGphbkZpcnN0IDogX19hZGREYXlzKGphbkZpcnN0
LCBqYW5GaXJzdC5nZXREYXkoKSA9PT0gMCA/IDEgOiA3LWphbkZpcnN0LmdldERheSgpKzEpOwot
ICAgICAgICAgIHZhciBlbmREYXRlID0gbmV3IERhdGUoZGF0ZS50bV95ZWFyKzE5MDAsIGRhdGUu
dG1fbW9uLCBkYXRlLnRtX21kYXkpOwotICAgICAgICAgIC8vIGlzIHRhcmdldCBkYXRlIGFmdGVy
IHRoZSBmaXJzdCBNb25kYXk/Ci0gICAgICAgICAgaWYgKGNvbXBhcmVCeURheShmaXJzdE1vbmRh
eSwgZW5kRGF0ZSkgPCAwKSB7Ci0gICAgICAgICAgICB2YXIgZmVicnVhcnlGaXJzdFVudGlsRW5k
TW9udGggPSBfX2FycmF5U3VtKF9faXNMZWFwWWVhcihlbmREYXRlLmdldEZ1bGxZZWFyKCkpID8g
X19NT05USF9EQVlTX0xFQVAgOiBfX01PTlRIX0RBWVNfUkVHVUxBUiwgZW5kRGF0ZS5nZXRNb250
aCgpLTEpLTMxOwotICAgICAgICAgICAgdmFyIGZpcnN0TW9uZGF5VW50aWxFbmRKYW51YXJ5ID0g
MzEtZmlyc3RNb25kYXkuZ2V0RGF0ZSgpOwotICAgICAgICAgICAgdmFyIGRheXMgPSBmaXJzdE1v
bmRheVVudGlsRW5kSmFudWFyeStmZWJydWFyeUZpcnN0VW50aWxFbmRNb250aCtlbmREYXRlLmdl
dERhdGUoKTsKLSAgICAgICAgICAgIHJldHVybiBsZWFkaW5nTnVsbHMoTWF0aC5jZWlsKGRheXMv
NyksIDIpOwotICAgICAgICAgIH0KLSAgICAgICAgICByZXR1cm4gY29tcGFyZUJ5RGF5KGZpcnN0
TW9uZGF5LCBqYW5GaXJzdCkgPT09IDAgPyAnMDEnOiAnMDAnOwotICAgICAgICB9LAotICAgICAg
ICAnJXknOiBmdW5jdGlvbihkYXRlKSB7Ci0gICAgICAgICAgLy8gUmVwbGFjZWQgYnkgdGhlIGxh
c3QgdHdvIGRpZ2l0cyBvZiB0aGUgeWVhciBhcyBhIGRlY2ltYWwgbnVtYmVyIFswMCw5OV0uIFsg
dG1feWVhcl0KLSAgICAgICAgICByZXR1cm4gKGRhdGUudG1feWVhcisxOTAwKS50b1N0cmluZygp
LnN1YnN0cmluZygyKTsKLSAgICAgICAgfSwKLSAgICAgICAgJyVZJzogZnVuY3Rpb24oZGF0ZSkg
ewotICAgICAgICAgIC8vIFJlcGxhY2VkIGJ5IHRoZSB5ZWFyIGFzIGEgZGVjaW1hbCBudW1iZXIg
KGZvciBleGFtcGxlLCAxOTk3KS4gWyB0bV95ZWFyXQotICAgICAgICAgIHJldHVybiBkYXRlLnRt
X3llYXIrMTkwMDsKLSAgICAgICAgfSwKLSAgICAgICAgJyV6JzogZnVuY3Rpb24oZGF0ZSkgewot
ICAgICAgICAgIC8vIFJlcGxhY2VkIGJ5IHRoZSBvZmZzZXQgZnJvbSBVVEMgaW4gdGhlIElTTyA4
NjAxOjIwMDAgc3RhbmRhcmQgZm9ybWF0ICggK2hobW0gb3IgLWhobW0gKSwKLSAgICAgICAgICAv
LyBvciBieSBubyBjaGFyYWN0ZXJzIGlmIG5vIHRpbWV6b25lIGlzIGRldGVybWluYWJsZS4gCi0g
ICAgICAgICAgLy8gRm9yIGV4YW1wbGUsICItMDQzMCIgbWVhbnMgNCBob3VycyAzMCBtaW51dGVz
IGJlaGluZCBVVEMgKHdlc3Qgb2YgR3JlZW53aWNoKS4gCi0gICAgICAgICAgLy8gSWYgdG1faXNk
c3QgaXMgemVybywgdGhlIHN0YW5kYXJkIHRpbWUgb2Zmc2V0IGlzIHVzZWQuIAotICAgICAgICAg
IC8vIElmIHRtX2lzZHN0IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLCB0aGUgZGF5bGlnaHQgc2F2aW5n
cyB0aW1lIG9mZnNldCBpcyB1c2VkLiAKLSAgICAgICAgICAvLyBJZiB0bV9pc2RzdCBpcyBuZWdh
dGl2ZSwgbm8gY2hhcmFjdGVycyBhcmUgcmV0dXJuZWQuIAotICAgICAgICAgIC8vIEZJWE1FOiB3
ZSBjYW5ub3QgZGV0ZXJtaW5lIHRpbWUgem9uZSAob3IgY2FuIHdlPykKLSAgICAgICAgICByZXR1
cm4gJyc7Ci0gICAgICAgIH0sCi0gICAgICAgICclWic6IGZ1bmN0aW9uKGRhdGUpIHsKLSAgICAg
ICAgICAvLyBSZXBsYWNlZCBieSB0aGUgdGltZXpvbmUgbmFtZSBvciBhYmJyZXZpYXRpb24sIG9y
IGJ5IG5vIGJ5dGVzIGlmIG5vIHRpbWV6b25lIGluZm9ybWF0aW9uIGV4aXN0cy4gWyB0bV9pc2Rz
dF0KLSAgICAgICAgICAvLyBGSVhNRTogd2UgY2Fubm90IGRldGVybWluZSB0aW1lIHpvbmUgKG9y
IGNhbiB3ZT8pCi0gICAgICAgICAgcmV0dXJuICcnOwotICAgICAgICB9LAotICAgICAgICAnJSUn
OiBmdW5jdGlvbigpIHsKLSAgICAgICAgICByZXR1cm4gJyUnOwotICAgICAgICB9Ci0gICAgICB9
OwotICAgICAgZm9yICh2YXIgcnVsZSBpbiBFWFBBTlNJT05fUlVMRVNfMikgewotICAgICAgICBp
ZiAocGF0dGVybi5pbmRleE9mKHJ1bGUpID49IDApIHsKLSAgICAgICAgICBwYXR0ZXJuID0gcGF0
dGVybi5yZXBsYWNlKG5ldyBSZWdFeHAocnVsZSwgJ2cnKSwgRVhQQU5TSU9OX1JVTEVTXzJbcnVs
ZV0oZGF0ZSkpOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICB2YXIgYnl0ZXMgPSBpbnRBcnJh
eUZyb21TdHJpbmcocGF0dGVybiwgZmFsc2UpOwotICAgICAgaWYgKGJ5dGVzLmxlbmd0aCA+IG1h
eHNpemUpIHsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgICB9IAotICAgICAgd3JpdGVBcnJheVRv
TWVtb3J5KGJ5dGVzLCBzKTsKLSAgICAgIHJldHVybiBieXRlcy5sZW5ndGgtMTsKLSAgICB9dmFy
IF9zdHJmdGltZV9sPV9zdHJmdGltZTsKLSAgZnVuY3Rpb24gX2lzc3BhY2UoY2hyKSB7Ci0gICAg
ICByZXR1cm4gKGNociA9PSAzMikgfHwgKGNociA+PSA5ICYmIGNociA8PSAxMyk7Ci0gICAgfQot
ICBmdW5jdGlvbiBfX3BhcnNlSW50NjQoc3RyLCBlbmRwdHIsIGJhc2UsIG1pbiwgbWF4LCB1bnNp
Z24pIHsKLSAgICAgIHZhciBpc05lZ2F0aXZlID0gZmFsc2U7Ci0gICAgICAvLyBTa2lwIHNwYWNl
LgotICAgICAgd2hpbGUgKF9pc3NwYWNlKEhFQVA4WyhzdHIpXSkpIHN0cisrOwotICAgICAgLy8g
Q2hlY2sgZm9yIGEgcGx1cy9taW51cyBzaWduLgotICAgICAgaWYgKEhFQVA4WyhzdHIpXSA9PSA0
NSkgewotICAgICAgICBzdHIrKzsKLSAgICAgICAgaXNOZWdhdGl2ZSA9IHRydWU7Ci0gICAgICB9
IGVsc2UgaWYgKEhFQVA4WyhzdHIpXSA9PSA0MykgewotICAgICAgICBzdHIrKzsKLSAgICAgIH0K
LSAgICAgIC8vIEZpbmQgYmFzZS4KLSAgICAgIHZhciBvayA9IGZhbHNlOwotICAgICAgdmFyIGZp
bmFsQmFzZSA9IGJhc2U7Ci0gICAgICBpZiAoIWZpbmFsQmFzZSkgewotICAgICAgICBpZiAoSEVB
UDhbKHN0cildID09IDQ4KSB7Ci0gICAgICAgICAgaWYgKEhFQVA4Wygoc3RyKzEpfDApXSA9PSAx
MjAgfHwKLSAgICAgICAgICAgICAgSEVBUDhbKChzdHIrMSl8MCldID09IDg4KSB7Ci0gICAgICAg
ICAgICBmaW5hbEJhc2UgPSAxNjsKLSAgICAgICAgICAgIHN0ciArPSAyOwotICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICBmaW5hbEJhc2UgPSA4OwotICAgICAgICAgICAgb2sgPSB0cnVl
OyAvLyB3ZSBzYXcgYW4gaW5pdGlhbCB6ZXJvLCBwZXJoYXBzIHRoZSBlbnRpcmUgdGhpbmcgaXMg
anVzdCAiMCIKLSAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgIH0gZWxzZSBpZiAoZmluYWxC
YXNlPT0xNikgewotICAgICAgICBpZiAoSEVBUDhbKHN0cildID09IDQ4KSB7Ci0gICAgICAgICAg
aWYgKEhFQVA4Wygoc3RyKzEpfDApXSA9PSAxMjAgfHwKLSAgICAgICAgICAgICAgSEVBUDhbKChz
dHIrMSl8MCldID09IDg4KSB7Ci0gICAgICAgICAgICBzdHIgKz0gMjsKLSAgICAgICAgICB9Ci0g
ICAgICAgIH0KLSAgICAgIH0KLSAgICAgIGlmICghZmluYWxCYXNlKSBmaW5hbEJhc2UgPSAxMDsK
LSAgICAgIHN0YXJ0ID0gc3RyOwotICAgICAgLy8gR2V0IGRpZ2l0cy4KLSAgICAgIHZhciBjaHI7
Ci0gICAgICB3aGlsZSAoKGNociA9IEhFQVA4WyhzdHIpXSkgIT0gMCkgewotICAgICAgICB2YXIg
ZGlnaXQgPSBwYXJzZUludChTdHJpbmcuZnJvbUNoYXJDb2RlKGNociksIGZpbmFsQmFzZSk7Ci0g
ICAgICAgIGlmIChpc05hTihkaWdpdCkpIHsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICBzdHIrKzsKLSAgICAgICAgICBvayA9IHRydWU7Ci0gICAgICAgIH0K
LSAgICAgIH0KLSAgICAgIGlmICghb2spIHsKLSAgICAgICAgX19fc2V0RXJyTm8oRVJSTk9fQ09E
RVMuRUlOVkFMKTsKLSAgICAgICAgcmV0dXJuICgoYXNtWyJzZXRUZW1wUmV0MCJdKDApLDApfDAp
OwotICAgICAgfQotICAgICAgLy8gU2V0IGVuZCBwb2ludGVyLgotICAgICAgaWYgKGVuZHB0cikg
ewotICAgICAgICBIRUFQMzJbKChlbmRwdHIpPj4yKV09c3RyCi0gICAgICB9Ci0gICAgICB0cnkg
ewotICAgICAgICB2YXIgbnVtYmVyU3RyaW5nID0gaXNOZWdhdGl2ZSA/ICctJytQb2ludGVyX3N0
cmluZ2lmeShzdGFydCwgc3RyIC0gc3RhcnQpIDogUG9pbnRlcl9zdHJpbmdpZnkoc3RhcnQsIHN0
ciAtIHN0YXJ0KTsKLSAgICAgICAgaTY0TWF0aC5mcm9tU3RyaW5nKG51bWJlclN0cmluZywgZmlu
YWxCYXNlLCBtaW4sIG1heCwgdW5zaWduKTsKLSAgICAgIH0gY2F0Y2goZSkgewotICAgICAgICBf
X19zZXRFcnJObyhFUlJOT19DT0RFUy5FUkFOR0UpOyAvLyBub3QgcXVpdGUgY29ycmVjdAotICAg
ICAgfQotICAgICAgcmV0dXJuICgoYXNtWyJzZXRUZW1wUmV0MCJdKCgoSEVBUDMyWygoKHRlbXBE
b3VibGVQdHIpKyg0KSk+PjIpXSl8MCkpLCgoSEVBUDMyWygodGVtcERvdWJsZVB0cik+PjIpXSl8
MCkpfDApOwotICAgIH1mdW5jdGlvbiBfc3RydG91bGwoc3RyLCBlbmRwdHIsIGJhc2UpIHsKLSAg
ICAgIHJldHVybiBfX3BhcnNlSW50NjQoc3RyLCBlbmRwdHIsIGJhc2UsIDAsICcxODQ0Njc0NDA3
MzcwOTU1MTYxNScsIHRydWUpOyAgLy8gVUxPTkdfTUFYLgotICAgIH12YXIgX3N0cnRvdWxsX2w9
X3N0cnRvdWxsOwotICBmdW5jdGlvbiBfc3RydG9sbChzdHIsIGVuZHB0ciwgYmFzZSkgewotICAg
ICAgcmV0dXJuIF9fcGFyc2VJbnQ2NChzdHIsIGVuZHB0ciwgYmFzZSwgJy05MjIzMzcyMDM2ODU0
Nzc1ODA4JywgJzkyMjMzNzIwMzY4NTQ3NzU4MDcnKTsgIC8vIExMT05HX01JTiwgTExPTkdfTUFY
LgotICAgIH12YXIgX3N0cnRvbGxfbD1fc3RydG9sbDsKLSAgZnVuY3Rpb24gX3VzZWxvY2FsZShs
b2NhbGUpIHsKLSAgICAgIHJldHVybiAwOwotICAgIH0KLSAgZnVuY3Rpb24gX19fbG9jYWxlX21i
X2N1cl9tYXgoKSB7IHRocm93ICdfX2xvY2FsZV9tYl9jdXJfbWF4IG5vdCBpbXBsZW1lbnRlZCcg
fQotICB2YXIgX2xsdm1fdmFfc3RhcnQ9dW5kZWZpbmVkOwotICBmdW5jdGlvbiBfc3ByaW50Zihz
LCBmb3JtYXQsIHZhcmFyZ3MpIHsKLSAgICAgIC8vIGludCBzcHJpbnRmKGNoYXIgKnJlc3RyaWN0
IHMsIGNvbnN0IGNoYXIgKnJlc3RyaWN0IGZvcm1hdCwgLi4uKTsKLSAgICAgIC8vIGh0dHA6Ly9w
dWJzLm9wZW5ncm91cC5vcmcvb25saW5lcHVicy8wMDAwOTUzOTkvZnVuY3Rpb25zL3ByaW50Zi5o
dG1sCi0gICAgICByZXR1cm4gX3NucHJpbnRmKHMsIHVuZGVmaW5lZCwgZm9ybWF0LCB2YXJhcmdz
KTsKLSAgICB9ZnVuY3Rpb24gX2FzcHJpbnRmKHMsIGZvcm1hdCwgdmFyYXJncykgewotICAgICAg
cmV0dXJuIF9zcHJpbnRmKC1zLCBmb3JtYXQsIHZhcmFyZ3MpOwotICAgIH1mdW5jdGlvbiBfdmFz
cHJpbnRmKHMsIGZvcm1hdCwgdmFfYXJnKSB7Ci0gICAgICByZXR1cm4gX2FzcHJpbnRmKHMsIGZv
cm1hdCwgSEVBUDMyWygodmFfYXJnKT4+MildKTsKLSAgICB9Ci0gIGZ1bmN0aW9uIF9sbHZtX3Zh
X2VuZCgpIHt9Ci0gIGZ1bmN0aW9uIF92c25wcmludGYocywgbiwgZm9ybWF0LCB2YV9hcmcpIHsK
LSAgICAgIHJldHVybiBfc25wcmludGYocywgbiwgZm9ybWF0LCBIRUFQMzJbKCh2YV9hcmcpPj4y
KV0pOwotICAgIH0KLSAgZnVuY3Rpb24gX3Zzc2NhbmYocywgZm9ybWF0LCB2YV9hcmcpIHsKLSAg
ICAgIHJldHVybiBfc3NjYW5mKHMsIGZvcm1hdCwgSEVBUDMyWygodmFfYXJnKT4+MildKTsKLSAg
ICB9Ci0gIGZ1bmN0aW9uIF9zYnJrKGJ5dGVzKSB7Ci0gICAgICAvLyBJbXBsZW1lbnQgYSBMaW51
eC1saWtlICdtZW1vcnkgYXJlYScgZm9yIG91ciAncHJvY2VzcycuCi0gICAgICAvLyBDaGFuZ2Vz
IHRoZSBzaXplIG9mIHRoZSBtZW1vcnkgYXJlYSBieSB8Ynl0ZXN8OyByZXR1cm5zIHRoZQotICAg
ICAgLy8gYWRkcmVzcyBvZiB0aGUgcHJldmlvdXMgdG9wICgnYnJlYWsnKSBvZiB0aGUgbWVtb3J5
IGFyZWEKLSAgICAgIC8vIFdlIGNvbnRyb2wgdGhlICJkeW5hbWljIiBtZW1vcnkgLSBEWU5BTUlD
X0JBU0UgdG8gRFlOQU1JQ1RPUAotICAgICAgdmFyIHNlbGYgPSBfc2JyazsKLSAgICAgIGlmICgh
c2VsZi5jYWxsZWQpIHsKLSAgICAgICAgRFlOQU1JQ1RPUCA9IGFsaWduTWVtb3J5UGFnZShEWU5B
TUlDVE9QKTsgLy8gbWFrZSBzdXJlIHdlIHN0YXJ0IG91dCBhbGlnbmVkCi0gICAgICAgIHNlbGYu
Y2FsbGVkID0gdHJ1ZTsKLSAgICAgICAgYXNzZXJ0KFJ1bnRpbWUuZHluYW1pY0FsbG9jKTsKLSAg
ICAgICAgc2VsZi5hbGxvYyA9IFJ1bnRpbWUuZHluYW1pY0FsbG9jOwotICAgICAgICBSdW50aW1l
LmR5bmFtaWNBbGxvYyA9IGZ1bmN0aW9uKCkgeyBhYm9ydCgnY2Fubm90IGR5bmFtaWNhbGx5IGFs
bG9jYXRlLCBzYnJrIG5vdyBoYXMgY29udHJvbCcpIH07Ci0gICAgICB9Ci0gICAgICB2YXIgcmV0
ID0gRFlOQU1JQ1RPUDsKLSAgICAgIGlmIChieXRlcyAhPSAwKSBzZWxmLmFsbG9jKGJ5dGVzKTsK
LSAgICAgIHJldHVybiByZXQ7ICAvLyBQcmV2aW91cyBicmVhayBsb2NhdGlvbi4KLSAgICB9Ci0g
IGZ1bmN0aW9uIF90aW1lKHB0cikgewotICAgICAgdmFyIHJldCA9IE1hdGguZmxvb3IoRGF0ZS5u
b3coKS8xMDAwKTsKLSAgICAgIGlmIChwdHIpIHsKLSAgICAgICAgSEVBUDMyWygocHRyKT4+Mild
PXJldAotICAgICAgfQotICAgICAgcmV0dXJuIHJldDsKLSAgICB9Ci0gIGZ1bmN0aW9uIF9fX2N4
YV9jYWxsX3VuZXhwZWN0ZWQoZXhjZXB0aW9uKSB7Ci0gICAgICBNb2R1bGUucHJpbnRFcnIoJ1Vu
ZXhwZWN0ZWQgZXhjZXB0aW9uIHRocm93biwgdGhpcyBpcyBub3QgcHJvcGVybHkgc3VwcG9ydGVk
IC0gYWJvcnRpbmcnKTsKLSAgICAgIEFCT1JUID0gdHJ1ZTsKLSAgICAgIHRocm93IGV4Y2VwdGlv
bjsKLSAgICB9Ci0gIHZhciBCcm93c2VyPXttYWluTG9vcDp7c2NoZWR1bGVyOm51bGwsc2hvdWxk
UGF1c2U6ZmFsc2UscGF1c2VkOmZhbHNlLHF1ZXVlOltdLHBhdXNlOmZ1bmN0aW9uICgpIHsKLSAg
ICAgICAgICBCcm93c2VyLm1haW5Mb29wLnNob3VsZFBhdXNlID0gdHJ1ZTsKLSAgICAgICAgfSxy
ZXN1bWU6ZnVuY3Rpb24gKCkgewotICAgICAgICAgIGlmIChCcm93c2VyLm1haW5Mb29wLnBhdXNl
ZCkgewotICAgICAgICAgICAgQnJvd3Nlci5tYWluTG9vcC5wYXVzZWQgPSBmYWxzZTsKLSAgICAg
ICAgICAgIEJyb3dzZXIubWFpbkxvb3Auc2NoZWR1bGVyKCk7Ci0gICAgICAgICAgfQotICAgICAg
ICAgIEJyb3dzZXIubWFpbkxvb3Auc2hvdWxkUGF1c2UgPSBmYWxzZTsKLSAgICAgICAgfSx1cGRh
dGVTdGF0dXM6ZnVuY3Rpb24gKCkgewotICAgICAgICAgIGlmIChNb2R1bGVbJ3NldFN0YXR1cydd
KSB7Ci0gICAgICAgICAgICB2YXIgbWVzc2FnZSA9IE1vZHVsZVsnc3RhdHVzTWVzc2FnZSddIHx8
ICdQbGVhc2Ugd2FpdC4uLic7Ci0gICAgICAgICAgICB2YXIgcmVtYWluaW5nID0gQnJvd3Nlci5t
YWluTG9vcC5yZW1haW5pbmdCbG9ja2VyczsKLSAgICAgICAgICAgIHZhciBleHBlY3RlZCA9IEJy
b3dzZXIubWFpbkxvb3AuZXhwZWN0ZWRCbG9ja2VyczsKLSAgICAgICAgICAgIGlmIChyZW1haW5p
bmcpIHsKLSAgICAgICAgICAgICAgaWYgKHJlbWFpbmluZyA8IGV4cGVjdGVkKSB7Ci0gICAgICAg
ICAgICAgICAgTW9kdWxlWydzZXRTdGF0dXMnXShtZXNzYWdlICsgJyAoJyArIChleHBlY3RlZCAt
IHJlbWFpbmluZykgKyAnLycgKyBleHBlY3RlZCArICcpJyk7Ci0gICAgICAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgTW9kdWxlWydzZXRTdGF0dXMnXShtZXNzYWdlKTsKLSAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgTW9kdWxlWydz
ZXRTdGF0dXMnXSgnJyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgfQotICAgICAgICB9fSxp
c0Z1bGxTY3JlZW46ZmFsc2UscG9pbnRlckxvY2s6ZmFsc2UsbW9kdWxlQ29udGV4dENyZWF0ZWRD
YWxsYmFja3M6W10sd29ya2VyczpbXSxpbml0OmZ1bmN0aW9uICgpIHsKLSAgICAgICAgaWYgKCFN
b2R1bGVbInByZWxvYWRQbHVnaW5zIl0pIE1vZHVsZVsicHJlbG9hZFBsdWdpbnMiXSA9IFtdOyAv
LyBuZWVkcyB0byBleGlzdCBldmVuIGluIHdvcmtlcnMKLSAgICAgICAgaWYgKEJyb3dzZXIuaW5p
dHRlZCB8fCBFTlZJUk9OTUVOVF9JU19XT1JLRVIpIHJldHVybjsKLSAgICAgICAgQnJvd3Nlci5p
bml0dGVkID0gdHJ1ZTsKLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICBuZXcgQmxvYigpOwotICAg
ICAgICAgIEJyb3dzZXIuaGFzQmxvYkNvbnN0cnVjdG9yID0gdHJ1ZTsKLSAgICAgICAgfSBjYXRj
aChlKSB7Ci0gICAgICAgICAgQnJvd3Nlci5oYXNCbG9iQ29uc3RydWN0b3IgPSBmYWxzZTsKLSAg
ICAgICAgICBjb25zb2xlLmxvZygid2FybmluZzogbm8gYmxvYiBjb25zdHJ1Y3RvciwgY2Fubm90
IGNyZWF0ZSBibG9icyB3aXRoIG1pbWV0eXBlcyIpOwotICAgICAgICB9Ci0gICAgICAgIEJyb3dz
ZXIuQmxvYkJ1aWxkZXIgPSB0eXBlb2YgTW96QmxvYkJ1aWxkZXIgIT0gInVuZGVmaW5lZCIgPyBN
b3pCbG9iQnVpbGRlciA6ICh0eXBlb2YgV2ViS2l0QmxvYkJ1aWxkZXIgIT0gInVuZGVmaW5lZCIg
PyBXZWJLaXRCbG9iQnVpbGRlciA6ICghQnJvd3Nlci5oYXNCbG9iQ29uc3RydWN0b3IgPyBjb25z
b2xlLmxvZygid2FybmluZzogbm8gQmxvYkJ1aWxkZXIiKSA6IG51bGwpKTsKLSAgICAgICAgQnJv
d3Nlci5VUkxPYmplY3QgPSB0eXBlb2Ygd2luZG93ICE9ICJ1bmRlZmluZWQiID8gKHdpbmRvdy5V
UkwgPyB3aW5kb3cuVVJMIDogd2luZG93LndlYmtpdFVSTCkgOiB1bmRlZmluZWQ7Ci0gICAgICAg
IGlmICghTW9kdWxlLm5vSW1hZ2VEZWNvZGluZyAmJiB0eXBlb2YgQnJvd3Nlci5VUkxPYmplY3Qg
PT09ICd1bmRlZmluZWQnKSB7Ci0gICAgICAgICAgY29uc29sZS5sb2coIndhcm5pbmc6IEJyb3dz
ZXIgZG9lcyBub3Qgc3VwcG9ydCBjcmVhdGluZyBvYmplY3QgVVJMcy4gQnVpbHQtaW4gYnJvd3Nl
ciBpbWFnZSBkZWNvZGluZyB3aWxsIG5vdCBiZSBhdmFpbGFibGUuIik7Ci0gICAgICAgICAgTW9k
dWxlLm5vSW1hZ2VEZWNvZGluZyA9IHRydWU7Ci0gICAgICAgIH0KLSAgICAgICAgLy8gU3VwcG9y
dCBmb3IgcGx1Z2lucyB0aGF0IGNhbiBwcm9jZXNzIHByZWxvYWRlZCBmaWxlcy4gWW91IGNhbiBh
ZGQgbW9yZSBvZiB0aGVzZSB0bwotICAgICAgICAvLyB5b3VyIGFwcCBieSBjcmVhdGluZyBhbmQg
YXBwZW5kaW5nIHRvIE1vZHVsZS5wcmVsb2FkUGx1Z2lucy4KLSAgICAgICAgLy8KLSAgICAgICAg
Ly8gRWFjaCBwbHVnaW4gaXMgYXNrZWQgaWYgaXQgY2FuIGhhbmRsZSBhIGZpbGUgYmFzZWQgb24g
dGhlIGZpbGUncyBuYW1lLiBJZiBpdCBjYW4sCi0gICAgICAgIC8vIGl0IGlzIGdpdmVuIHRoZSBm
aWxlJ3MgcmF3IGRhdGEuIFdoZW4gaXQgaXMgZG9uZSwgaXQgY2FsbHMgYSBjYWxsYmFjayB3aXRo
IHRoZSBmaWxlJ3MKLSAgICAgICAgLy8gKHBvc3NpYmx5IG1vZGlmaWVkKSBkYXRhLiBGb3IgZXhh
bXBsZSwgYSBwbHVnaW4gbWlnaHQgZGVjb21wcmVzcyBhIGZpbGUsIG9yIGl0Ci0gICAgICAgIC8v
IG1pZ2h0IGNyZWF0ZSBzb21lIHNpZGUgZGF0YSBzdHJ1Y3R1cmUgZm9yIHVzZSBsYXRlciAobGlr
ZSBhbiBJbWFnZSBlbGVtZW50LCBldGMuKS4KLSAgICAgICAgdmFyIGltYWdlUGx1Z2luID0ge307
Ci0gICAgICAgIGltYWdlUGx1Z2luWydjYW5IYW5kbGUnXSA9IGZ1bmN0aW9uKG5hbWUpIHsKLSAg
ICAgICAgICByZXR1cm4gIU1vZHVsZS5ub0ltYWdlRGVjb2RpbmcgJiYgL1wuKGpwZ3xqcGVnfHBu
Z3xibXApJC9pLnRlc3QobmFtZSk7Ci0gICAgICAgIH07Ci0gICAgICAgIGltYWdlUGx1Z2luWydo
YW5kbGUnXSA9IGZ1bmN0aW9uKGJ5dGVBcnJheSwgbmFtZSwgb25sb2FkLCBvbmVycm9yKSB7Ci0g
ICAgICAgICAgdmFyIGIgPSBudWxsOwotICAgICAgICAgIGlmIChCcm93c2VyLmhhc0Jsb2JDb25z
dHJ1Y3RvcikgewotICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgYiA9IG5ldyBCbG9i
KFtieXRlQXJyYXldLCB7IHR5cGU6IEJyb3dzZXIuZ2V0TWltZXR5cGUobmFtZSkgfSk7Ci0gICAg
ICAgICAgICAgIGlmIChiLnNpemUgIT09IGJ5dGVBcnJheS5sZW5ndGgpIHsgLy8gU2FmYXJpIGJ1
ZyAjMTE4NjMwCi0gICAgICAgICAgICAgICAgLy8gU2FmYXJpJ3MgQmxvYiBjYW4gb25seSB0YWtl
IGFuIEFycmF5QnVmZmVyCi0gICAgICAgICAgICAgICAgYiA9IG5ldyBCbG9iKFsobmV3IFVpbnQ4
QXJyYXkoYnl0ZUFycmF5KSkuYnVmZmVyXSwgeyB0eXBlOiBCcm93c2VyLmdldE1pbWV0eXBlKG5h
bWUpIH0pOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGNhdGNoKGUpIHsKLSAgICAg
ICAgICAgICAgUnVudGltZS53YXJuT25jZSgnQmxvYiBjb25zdHJ1Y3RvciBwcmVzZW50IGJ1dCBm
YWlsczogJyArIGUgKyAnOyBmYWxsaW5nIGJhY2sgdG8gYmxvYiBidWlsZGVyJyk7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgfQotICAgICAgICAgIGlmICghYikgewotICAgICAgICAgICAgdmFy
IGJiID0gbmV3IEJyb3dzZXIuQmxvYkJ1aWxkZXIoKTsKLSAgICAgICAgICAgIGJiLmFwcGVuZCgo
bmV3IFVpbnQ4QXJyYXkoYnl0ZUFycmF5KSkuYnVmZmVyKTsgLy8gd2UgbmVlZCB0byBwYXNzIGEg
YnVmZmVyLCBhbmQgbXVzdCBjb3B5IHRoZSBhcnJheSB0byBnZXQgdGhlIHJpZ2h0IGRhdGEgcmFu
Z2UKLSAgICAgICAgICAgIGIgPSBiYi5nZXRCbG9iKCk7Ci0gICAgICAgICAgfQotICAgICAgICAg
IHZhciB1cmwgPSBCcm93c2VyLlVSTE9iamVjdC5jcmVhdGVPYmplY3RVUkwoYik7Ci0gICAgICAg
ICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOwotICAgICAgICAgIGltZy5vbmxvYWQgPSBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgIGFzc2VydChpbWcuY29tcGxldGUsICdJbWFnZSAnICsgbmFtZSAr
ICcgY291bGQgbm90IGJlIGRlY29kZWQnKTsKLSAgICAgICAgICAgIHZhciBjYW52YXMgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKLSAgICAgICAgICAgIGNhbnZhcy53aWR0aCA9
IGltZy53aWR0aDsKLSAgICAgICAgICAgIGNhbnZhcy5oZWlnaHQgPSBpbWcuaGVpZ2h0OwotICAg
ICAgICAgICAgdmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwotICAgICAgICAgICAg
Y3R4LmRyYXdJbWFnZShpbWcsIDAsIDApOwotICAgICAgICAgICAgTW9kdWxlWyJwcmVsb2FkZWRJ
bWFnZXMiXVtuYW1lXSA9IGNhbnZhczsKLSAgICAgICAgICAgIEJyb3dzZXIuVVJMT2JqZWN0LnJl
dm9rZU9iamVjdFVSTCh1cmwpOwotICAgICAgICAgICAgaWYgKG9ubG9hZCkgb25sb2FkKGJ5dGVB
cnJheSk7Ci0gICAgICAgICAgfTsKLSAgICAgICAgICBpbWcub25lcnJvciA9IGZ1bmN0aW9uKGV2
ZW50KSB7Ci0gICAgICAgICAgICBjb25zb2xlLmxvZygnSW1hZ2UgJyArIHVybCArICcgY291bGQg
bm90IGJlIGRlY29kZWQnKTsKLSAgICAgICAgICAgIGlmIChvbmVycm9yKSBvbmVycm9yKCk7Ci0g
ICAgICAgICAgfTsKLSAgICAgICAgICBpbWcuc3JjID0gdXJsOwotICAgICAgICB9OwotICAgICAg
ICBNb2R1bGVbJ3ByZWxvYWRQbHVnaW5zJ10ucHVzaChpbWFnZVBsdWdpbik7Ci0gICAgICAgIHZh
ciBhdWRpb1BsdWdpbiA9IHt9OwotICAgICAgICBhdWRpb1BsdWdpblsnY2FuSGFuZGxlJ10gPSBm
dW5jdGlvbihuYW1lKSB7Ci0gICAgICAgICAgcmV0dXJuICFNb2R1bGUubm9BdWRpb0RlY29kaW5n
ICYmIG5hbWUuc3Vic3RyKC00KSBpbiB7ICcub2dnJzogMSwgJy53YXYnOiAxLCAnLm1wMyc6IDEg
fTsKLSAgICAgICAgfTsKLSAgICAgICAgYXVkaW9QbHVnaW5bJ2hhbmRsZSddID0gZnVuY3Rpb24o
Ynl0ZUFycmF5LCBuYW1lLCBvbmxvYWQsIG9uZXJyb3IpIHsKLSAgICAgICAgICB2YXIgZG9uZSA9
IGZhbHNlOwotICAgICAgICAgIGZ1bmN0aW9uIGZpbmlzaChhdWRpbykgewotICAgICAgICAgICAg
aWYgKGRvbmUpIHJldHVybjsKLSAgICAgICAgICAgIGRvbmUgPSB0cnVlOwotICAgICAgICAgICAg
TW9kdWxlWyJwcmVsb2FkZWRBdWRpb3MiXVtuYW1lXSA9IGF1ZGlvOwotICAgICAgICAgICAgaWYg
KG9ubG9hZCkgb25sb2FkKGJ5dGVBcnJheSk7Ci0gICAgICAgICAgfQotICAgICAgICAgIGZ1bmN0
aW9uIGZhaWwoKSB7Ci0gICAgICAgICAgICBpZiAoZG9uZSkgcmV0dXJuOwotICAgICAgICAgICAg
ZG9uZSA9IHRydWU7Ci0gICAgICAgICAgICBNb2R1bGVbInByZWxvYWRlZEF1ZGlvcyJdW25hbWVd
ID0gbmV3IEF1ZGlvKCk7IC8vIGVtcHR5IHNoaW0KLSAgICAgICAgICAgIGlmIChvbmVycm9yKSBv
bmVycm9yKCk7Ci0gICAgICAgICAgfQotICAgICAgICAgIGlmIChCcm93c2VyLmhhc0Jsb2JDb25z
dHJ1Y3RvcikgewotICAgICAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgICAgdmFyIGIgPSBuZXcg
QmxvYihbYnl0ZUFycmF5XSwgeyB0eXBlOiBCcm93c2VyLmdldE1pbWV0eXBlKG5hbWUpIH0pOwot
ICAgICAgICAgICAgfSBjYXRjaChlKSB7Ci0gICAgICAgICAgICAgIHJldHVybiBmYWlsKCk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICB2YXIgdXJsID0gQnJvd3Nlci5VUkxPYmplY3QuY3Jl
YXRlT2JqZWN0VVJMKGIpOyAvLyBYWFggd2UgbmV2ZXIgcmV2b2tlIHRoaXMhCi0gICAgICAgICAg
ICB2YXIgYXVkaW8gPSBuZXcgQXVkaW8oKTsKLSAgICAgICAgICAgIGF1ZGlvLmFkZEV2ZW50TGlz
dGVuZXIoJ2NhbnBsYXl0aHJvdWdoJywgZnVuY3Rpb24oKSB7IGZpbmlzaChhdWRpbykgfSwgZmFs
c2UpOyAvLyB1c2UgYWRkRXZlbnRMaXN0ZW5lciBkdWUgdG8gY2hyb21pdW0gYnVnIDEyNDkyNgot
ICAgICAgICAgICAgYXVkaW8ub25lcnJvciA9IGZ1bmN0aW9uKGV2ZW50KSB7Ci0gICAgICAgICAg
ICAgIGlmIChkb25lKSByZXR1cm47Ci0gICAgICAgICAgICAgIGNvbnNvbGUubG9nKCd3YXJuaW5n
OiBicm93c2VyIGNvdWxkIG5vdCBmdWxseSBkZWNvZGUgYXVkaW8gJyArIG5hbWUgKyAnLCB0cnlp
bmcgc2xvd2VyIGJhc2U2NCBhcHByb2FjaCcpOwotICAgICAgICAgICAgICBmdW5jdGlvbiBlbmNv
ZGU2NChkYXRhKSB7Ci0gICAgICAgICAgICAgICAgdmFyIEJBU0UgPSAnQUJDREVGR0hJSktMTU5P
UFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyc7Ci0gICAg
ICAgICAgICAgICAgdmFyIFBBRCA9ICc9JzsKLSAgICAgICAgICAgICAgICB2YXIgcmV0ID0gJyc7
Ci0gICAgICAgICAgICAgICAgdmFyIGxlZnRjaGFyID0gMDsKLSAgICAgICAgICAgICAgICB2YXIg
bGVmdGJpdHMgPSAwOwotICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0YS5s
ZW5ndGg7IGkrKykgewotICAgICAgICAgICAgICAgICAgbGVmdGNoYXIgPSAobGVmdGNoYXIgPDwg
OCkgfCBkYXRhW2ldOwotICAgICAgICAgICAgICAgICAgbGVmdGJpdHMgKz0gODsKLSAgICAgICAg
ICAgICAgICAgIHdoaWxlIChsZWZ0Yml0cyA+PSA2KSB7Ci0gICAgICAgICAgICAgICAgICAgIHZh
ciBjdXJyID0gKGxlZnRjaGFyID4+IChsZWZ0Yml0cy02KSkgJiAweDNmOwotICAgICAgICAgICAg
ICAgICAgICBsZWZ0Yml0cyAtPSA2OwotICAgICAgICAgICAgICAgICAgICByZXQgKz0gQkFTRVtj
dXJyXTsKLSAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgaWYgKGxlZnRiaXRzID09IDIpIHsKLSAgICAgICAgICAgICAgICAgIHJldCArPSBCQVNF
WyhsZWZ0Y2hhciYzKSA8PCA0XTsKLSAgICAgICAgICAgICAgICAgIHJldCArPSBQQUQgKyBQQUQ7
Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChsZWZ0Yml0cyA9PSA0KSB7Ci0gICAgICAgICAg
ICAgICAgICByZXQgKz0gQkFTRVsobGVmdGNoYXImMHhmKSA8PCAyXTsKLSAgICAgICAgICAgICAg
ICAgIHJldCArPSBQQUQ7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHJldHVy
biByZXQ7Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgYXVkaW8uc3JjID0gJ2RhdGE6
YXVkaW8veC0nICsgbmFtZS5zdWJzdHIoLTMpICsgJztiYXNlNjQsJyArIGVuY29kZTY0KGJ5dGVB
cnJheSk7Ci0gICAgICAgICAgICAgIGZpbmlzaChhdWRpbyk7IC8vIHdlIGRvbid0IHdhaXQgZm9y
IGNvbmZpcm1hdGlvbiB0aGlzIHdvcmtlZCAtIGJ1dCBpdCdzIHdvcnRoIHRyeWluZwotICAgICAg
ICAgICAgfTsKLSAgICAgICAgICAgIGF1ZGlvLnNyYyA9IHVybDsKLSAgICAgICAgICAgIC8vIHdv
cmthcm91bmQgZm9yIGNocm9tZSBidWcgMTI0OTI2IC0gd2UgZG8gbm90IGFsd2F5cyBnZXQgb25j
YW5wbGF5dGhyb3VnaCBvciBvbmVycm9yCi0gICAgICAgICAgICBCcm93c2VyLnNhZmVTZXRUaW1l
b3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICBmaW5pc2goYXVkaW8pOyAvLyB0cnkgdG8g
dXNlIGl0IGV2ZW4gdGhvdWdoIGl0IGlzIG5vdCBuZWNlc3NhcmlseSByZWFkeSB0byBwbGF5Ci0g
ICAgICAgICAgICB9LCAxMDAwMCk7Ci0gICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHJl
dHVybiBmYWlsKCk7Ci0gICAgICAgICAgfQotICAgICAgICB9OwotICAgICAgICBNb2R1bGVbJ3By
ZWxvYWRQbHVnaW5zJ10ucHVzaChhdWRpb1BsdWdpbik7Ci0gICAgICAgIC8vIENhbnZhcyBldmVu
dCBzZXR1cAotICAgICAgICB2YXIgY2FudmFzID0gTW9kdWxlWydjYW52YXMnXTsKLSAgICAgICAg
Y2FudmFzLnJlcXVlc3RQb2ludGVyTG9jayA9IGNhbnZhc1sncmVxdWVzdFBvaW50ZXJMb2NrJ10g
fHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbnZhc1snbW96UmVxdWVz
dFBvaW50ZXJMb2NrJ10gfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNh
bnZhc1snd2Via2l0UmVxdWVzdFBvaW50ZXJMb2NrJ107Ci0gICAgICAgIGNhbnZhcy5leGl0UG9p
bnRlckxvY2sgPSBkb2N1bWVudFsnZXhpdFBvaW50ZXJMb2NrJ10gfHwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRvY3VtZW50Wydtb3pFeGl0UG9pbnRlckxvY2snXSB8fAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRbJ3dlYmtpdEV4aXRQb2ludGVy
TG9jayddIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbigpe307
IC8vIG5vLW9wIGlmIGZ1bmN0aW9uIGRvZXMgbm90IGV4aXN0Ci0gICAgICAgIGNhbnZhcy5leGl0
UG9pbnRlckxvY2sgPSBjYW52YXMuZXhpdFBvaW50ZXJMb2NrLmJpbmQoZG9jdW1lbnQpOwotICAg
ICAgICBmdW5jdGlvbiBwb2ludGVyTG9ja0NoYW5nZSgpIHsKLSAgICAgICAgICBCcm93c2VyLnBv
aW50ZXJMb2NrID0gZG9jdW1lbnRbJ3BvaW50ZXJMb2NrRWxlbWVudCddID09PSBjYW52YXMgfHwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRbJ21velBvaW50ZXJMb2Nr
RWxlbWVudCddID09PSBjYW52YXMgfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZG9jdW1lbnRbJ3dlYmtpdFBvaW50ZXJMb2NrRWxlbWVudCddID09PSBjYW52YXM7Ci0gICAgICAg
IH0KLSAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmxvY2tjaGFuZ2Un
LCBwb2ludGVyTG9ja0NoYW5nZSwgZmFsc2UpOwotICAgICAgICBkb2N1bWVudC5hZGRFdmVudExp
c3RlbmVyKCdtb3pwb2ludGVybG9ja2NoYW5nZScsIHBvaW50ZXJMb2NrQ2hhbmdlLCBmYWxzZSk7
Ci0gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmtpdHBvaW50ZXJsb2NrY2hh
bmdlJywgcG9pbnRlckxvY2tDaGFuZ2UsIGZhbHNlKTsKLSAgICAgICAgaWYgKE1vZHVsZVsnZWxl
bWVudFBvaW50ZXJMb2NrJ10pIHsKLSAgICAgICAgICBjYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBmdW5jdGlvbihldikgewotICAgICAgICAgICAgaWYgKCFCcm93c2VyLnBvaW50ZXJM
b2NrICYmIGNhbnZhcy5yZXF1ZXN0UG9pbnRlckxvY2spIHsKLSAgICAgICAgICAgICAgY2FudmFz
LnJlcXVlc3RQb2ludGVyTG9jaygpOwotICAgICAgICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgp
OwotICAgICAgICAgICAgfQotICAgICAgICAgIH0sIGZhbHNlKTsKLSAgICAgICAgfQotICAgICAg
fSxjcmVhdGVDb250ZXh0OmZ1bmN0aW9uIChjYW52YXMsIHVzZVdlYkdMLCBzZXRJbk1vZHVsZSkg
ewotICAgICAgICB2YXIgY3R4OwotICAgICAgICB0cnkgewotICAgICAgICAgIGlmICh1c2VXZWJH
TCkgewotICAgICAgICAgICAgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJ2V4cGVyaW1lbnRhbC13
ZWJnbCcsIHsKLSAgICAgICAgICAgICAgYWxwaGE6IGZhbHNlCi0gICAgICAgICAgICB9KTsKLSAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJk
Jyk7Ci0gICAgICAgICAgfQotICAgICAgICAgIGlmICghY3R4KSB0aHJvdyAnOignOwotICAgICAg
ICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgTW9kdWxlLnByaW50KCdDb3VsZCBub3QgY3JlYXRl
IGNhbnZhcyAtICcgKyBlKTsKLSAgICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgICAgfQotICAg
ICAgICBpZiAodXNlV2ViR0wpIHsKLSAgICAgICAgICAvLyBTZXQgdGhlIGJhY2tncm91bmQgb2Yg
dGhlIFdlYkdMIGNhbnZhcyB0byBibGFjawotICAgICAgICAgIGNhbnZhcy5zdHlsZS5iYWNrZ3Jv
dW5kQ29sb3IgPSAiYmxhY2siOwotICAgICAgICAgIC8vIFdhcm4gb24gY29udGV4dCBsb3NzCi0g
ICAgICAgICAgY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoJ3dlYmdsY29udGV4dGxvc3QnLCBmdW5j
dGlvbihldmVudCkgewotICAgICAgICAgICAgYWxlcnQoJ1dlYkdMIGNvbnRleHQgbG9zdC4gWW91
IHdpbGwgbmVlZCB0byByZWxvYWQgdGhlIHBhZ2UuJyk7Ci0gICAgICAgICAgfSwgZmFsc2UpOwot
ICAgICAgICB9Ci0gICAgICAgIGlmIChzZXRJbk1vZHVsZSkgewotICAgICAgICAgIE1vZHVsZS5j
dHggPSBjdHg7Ci0gICAgICAgICAgTW9kdWxlLnVzZVdlYkdMID0gdXNlV2ViR0w7Ci0gICAgICAg
ICAgQnJvd3Nlci5tb2R1bGVDb250ZXh0Q3JlYXRlZENhbGxiYWNrcy5mb3JFYWNoKGZ1bmN0aW9u
KGNhbGxiYWNrKSB7IGNhbGxiYWNrKCkgfSk7Ci0gICAgICAgICAgQnJvd3Nlci5pbml0KCk7Ci0g
ICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGN0eDsKLSAgICAgIH0sZGVzdHJveUNvbnRleHQ6ZnVu
Y3Rpb24gKGNhbnZhcywgdXNlV2ViR0wsIHNldEluTW9kdWxlKSB7fSxmdWxsU2NyZWVuSGFuZGxl
cnNJbnN0YWxsZWQ6ZmFsc2UsbG9ja1BvaW50ZXI6dW5kZWZpbmVkLHJlc2l6ZUNhbnZhczp1bmRl
ZmluZWQscmVxdWVzdEZ1bGxTY3JlZW46ZnVuY3Rpb24gKGxvY2tQb2ludGVyLCByZXNpemVDYW52
YXMpIHsKLSAgICAgICAgQnJvd3Nlci5sb2NrUG9pbnRlciA9IGxvY2tQb2ludGVyOwotICAgICAg
ICBCcm93c2VyLnJlc2l6ZUNhbnZhcyA9IHJlc2l6ZUNhbnZhczsKLSAgICAgICAgaWYgKHR5cGVv
ZiBCcm93c2VyLmxvY2tQb2ludGVyID09PSAndW5kZWZpbmVkJykgQnJvd3Nlci5sb2NrUG9pbnRl
ciA9IHRydWU7Ci0gICAgICAgIGlmICh0eXBlb2YgQnJvd3Nlci5yZXNpemVDYW52YXMgPT09ICd1
bmRlZmluZWQnKSBCcm93c2VyLnJlc2l6ZUNhbnZhcyA9IGZhbHNlOwotICAgICAgICB2YXIgY2Fu
dmFzID0gTW9kdWxlWydjYW52YXMnXTsKLSAgICAgICAgZnVuY3Rpb24gZnVsbFNjcmVlbkNoYW5n
ZSgpIHsKLSAgICAgICAgICBCcm93c2VyLmlzRnVsbFNjcmVlbiA9IGZhbHNlOwotICAgICAgICAg
IGlmICgoZG9jdW1lbnRbJ3dlYmtpdEZ1bGxTY3JlZW5FbGVtZW50J10gfHwgZG9jdW1lbnRbJ3dl
YmtpdEZ1bGxzY3JlZW5FbGVtZW50J10gfHwKLSAgICAgICAgICAgICAgIGRvY3VtZW50Wydtb3pG
dWxsU2NyZWVuRWxlbWVudCddIHx8IGRvY3VtZW50Wydtb3pGdWxsc2NyZWVuRWxlbWVudCddIHx8
Ci0gICAgICAgICAgICAgICBkb2N1bWVudFsnZnVsbFNjcmVlbkVsZW1lbnQnXSB8fCBkb2N1bWVu
dFsnZnVsbHNjcmVlbkVsZW1lbnQnXSkgPT09IGNhbnZhcykgewotICAgICAgICAgICAgY2FudmFz
LmNhbmNlbEZ1bGxTY3JlZW4gPSBkb2N1bWVudFsnY2FuY2VsRnVsbFNjcmVlbiddIHx8Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50Wydtb3pDYW5jZWxGdWxs
U2NyZWVuJ10gfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1l
bnRbJ3dlYmtpdENhbmNlbEZ1bGxTY3JlZW4nXTsKLSAgICAgICAgICAgIGNhbnZhcy5jYW5jZWxG
dWxsU2NyZWVuID0gY2FudmFzLmNhbmNlbEZ1bGxTY3JlZW4uYmluZChkb2N1bWVudCk7Ci0gICAg
ICAgICAgICBpZiAoQnJvd3Nlci5sb2NrUG9pbnRlcikgY2FudmFzLnJlcXVlc3RQb2ludGVyTG9j
aygpOwotICAgICAgICAgICAgQnJvd3Nlci5pc0Z1bGxTY3JlZW4gPSB0cnVlOwotICAgICAgICAg
ICAgaWYgKEJyb3dzZXIucmVzaXplQ2FudmFzKSBCcm93c2VyLnNldEZ1bGxTY3JlZW5DYW52YXNT
aXplKCk7Ci0gICAgICAgICAgfSBlbHNlIGlmIChCcm93c2VyLnJlc2l6ZUNhbnZhcyl7Ci0gICAg
ICAgICAgICBCcm93c2VyLnNldFdpbmRvd2VkQ2FudmFzU2l6ZSgpOwotICAgICAgICAgIH0KLSAg
ICAgICAgICBpZiAoTW9kdWxlWydvbkZ1bGxTY3JlZW4nXSkgTW9kdWxlWydvbkZ1bGxTY3JlZW4n
XShCcm93c2VyLmlzRnVsbFNjcmVlbik7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCFCcm93c2Vy
LmZ1bGxTY3JlZW5IYW5kbGVyc0luc3RhbGxlZCkgewotICAgICAgICAgIEJyb3dzZXIuZnVsbFNj
cmVlbkhhbmRsZXJzSW5zdGFsbGVkID0gdHJ1ZTsKLSAgICAgICAgICBkb2N1bWVudC5hZGRFdmVu
dExpc3RlbmVyKCdmdWxsc2NyZWVuY2hhbmdlJywgZnVsbFNjcmVlbkNoYW5nZSwgZmFsc2UpOwot
ICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vemZ1bGxzY3JlZW5jaGFuZ2Un
LCBmdWxsU2NyZWVuQ2hhbmdlLCBmYWxzZSk7Ci0gICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcignd2Via2l0ZnVsbHNjcmVlbmNoYW5nZScsIGZ1bGxTY3JlZW5DaGFuZ2UsIGZhbHNl
KTsKLSAgICAgICAgfQotICAgICAgICBjYW52YXMucmVxdWVzdEZ1bGxTY3JlZW4gPSBjYW52YXNb
J3JlcXVlc3RGdWxsU2NyZWVuJ10gfHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2FudmFzWydtb3pSZXF1ZXN0RnVsbFNjcmVlbiddIHx8Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIChjYW52YXNbJ3dlYmtpdFJlcXVlc3RGdWxsU2NyZWVuJ10gPyBmdW5j
dGlvbigpIHsgY2FudmFzWyd3ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbiddKEVsZW1lbnRbJ0FMTE9X
X0tFWUJPQVJEX0lOUFVUJ10pIH0gOiBudWxsKTsKLSAgICAgICAgY2FudmFzLnJlcXVlc3RGdWxs
U2NyZWVuKCk7Ci0gICAgICB9LHJlcXVlc3RBbmltYXRpb25GcmFtZTpmdW5jdGlvbiAoZnVuYykg
ewotICAgICAgICBpZiAoIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpIHsKLSAgICAgICAg
ICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lID0gd2luZG93WydyZXF1ZXN0QW5pbWF0aW9u
RnJhbWUnXSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5k
b3dbJ21velJlcXVlc3RBbmltYXRpb25GcmFtZSddIHx8Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHdpbmRvd1snd2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lJ10g
fHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93Wydtc1Jl
cXVlc3RBbmltYXRpb25GcmFtZSddIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHdpbmRvd1snb1JlcXVlc3RBbmltYXRpb25GcmFtZSddIHx8Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvd1snc2V0VGltZW91dCddOwotICAg
ICAgICB9Ci0gICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuYyk7Ci0gICAg
ICB9LHNhZmVDYWxsYmFjazpmdW5jdGlvbiAoZnVuYykgewotICAgICAgICByZXR1cm4gZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgaWYgKCFBQk9SVCkgcmV0dXJuIGZ1bmMuYXBwbHkobnVsbCwgYXJn
dW1lbnRzKTsKLSAgICAgICAgfTsKLSAgICAgIH0sc2FmZVJlcXVlc3RBbmltYXRpb25GcmFtZTpm
dW5jdGlvbiAoZnVuYykgewotICAgICAgICByZXR1cm4gQnJvd3Nlci5yZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgaWYgKCFBQk9SVCkgZnVuYygpOwotICAgICAg
ICB9KTsKLSAgICAgIH0sc2FmZVNldFRpbWVvdXQ6ZnVuY3Rpb24gKGZ1bmMsIHRpbWVvdXQpIHsK
LSAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgaWYgKCFB
Qk9SVCkgZnVuYygpOwotICAgICAgICB9LCB0aW1lb3V0KTsKLSAgICAgIH0sc2FmZVNldEludGVy
dmFsOmZ1bmN0aW9uIChmdW5jLCB0aW1lb3V0KSB7Ci0gICAgICAgIHJldHVybiBzZXRJbnRlcnZh
bChmdW5jdGlvbigpIHsKLSAgICAgICAgICBpZiAoIUFCT1JUKSBmdW5jKCk7Ci0gICAgICAgIH0s
IHRpbWVvdXQpOwotICAgICAgfSxnZXRNaW1ldHlwZTpmdW5jdGlvbiAobmFtZSkgewotICAgICAg
ICByZXR1cm4gewotICAgICAgICAgICdqcGcnOiAnaW1hZ2UvanBlZycsCi0gICAgICAgICAgJ2pw
ZWcnOiAnaW1hZ2UvanBlZycsCi0gICAgICAgICAgJ3BuZyc6ICdpbWFnZS9wbmcnLAotICAgICAg
ICAgICdibXAnOiAnaW1hZ2UvYm1wJywKLSAgICAgICAgICAnb2dnJzogJ2F1ZGlvL29nZycsCi0g
ICAgICAgICAgJ3dhdic6ICdhdWRpby93YXYnLAotICAgICAgICAgICdtcDMnOiAnYXVkaW8vbXBl
ZycKLSAgICAgICAgfVtuYW1lLnN1YnN0cihuYW1lLmxhc3RJbmRleE9mKCcuJykrMSldOwotICAg
ICAgfSxnZXRVc2VyTWVkaWE6ZnVuY3Rpb24gKGZ1bmMpIHsKLSAgICAgICAgaWYoIXdpbmRvdy5n
ZXRVc2VyTWVkaWEpIHsKLSAgICAgICAgICB3aW5kb3cuZ2V0VXNlck1lZGlhID0gbmF2aWdhdG9y
WydnZXRVc2VyTWVkaWEnXSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXZp
Z2F0b3JbJ21vekdldFVzZXJNZWRpYSddOwotICAgICAgICB9Ci0gICAgICAgIHdpbmRvdy5nZXRV
c2VyTWVkaWEoZnVuYyk7Ci0gICAgICB9LGdldE1vdmVtZW50WDpmdW5jdGlvbiAoZXZlbnQpIHsK
LSAgICAgICAgcmV0dXJuIGV2ZW50Wydtb3ZlbWVudFgnXSB8fAotICAgICAgICAgICAgICAgZXZl
bnRbJ21vek1vdmVtZW50WCddIHx8Ci0gICAgICAgICAgICAgICBldmVudFsnd2Via2l0TW92ZW1l
bnRYJ10gfHwKLSAgICAgICAgICAgICAgIDA7Ci0gICAgICB9LGdldE1vdmVtZW50WTpmdW5jdGlv
biAoZXZlbnQpIHsKLSAgICAgICAgcmV0dXJuIGV2ZW50Wydtb3ZlbWVudFknXSB8fAotICAgICAg
ICAgICAgICAgZXZlbnRbJ21vek1vdmVtZW50WSddIHx8Ci0gICAgICAgICAgICAgICBldmVudFsn
d2Via2l0TW92ZW1lbnRZJ10gfHwKLSAgICAgICAgICAgICAgIDA7Ci0gICAgICB9LG1vdXNlWDow
LG1vdXNlWTowLG1vdXNlTW92ZW1lbnRYOjAsbW91c2VNb3ZlbWVudFk6MCxjYWxjdWxhdGVNb3Vz
ZUV2ZW50OmZ1bmN0aW9uIChldmVudCkgeyAvLyBldmVudCBzaG91bGQgYmUgbW91c2Vtb3ZlLCBt
b3VzZWRvd24gb3IgbW91c2V1cAotICAgICAgICBpZiAoQnJvd3Nlci5wb2ludGVyTG9jaykgewot
ICAgICAgICAgIC8vIFdoZW4gdGhlIHBvaW50ZXIgaXMgbG9ja2VkLCBjYWxjdWxhdGUgdGhlIGNv
b3JkaW5hdGVzCi0gICAgICAgICAgLy8gYmFzZWQgb24gdGhlIG1vdmVtZW50IG9mIHRoZSBtb3Vz
ZS4KLSAgICAgICAgICAvLyBXb3JrYXJvdW5kIGZvciBGaXJlZm94IGJ1ZyA3NjQ0OTgKLSAgICAg
ICAgICBpZiAoZXZlbnQudHlwZSAhPSAnbW91c2Vtb3ZlJyAmJgotICAgICAgICAgICAgICAoJ21v
ek1vdmVtZW50WCcgaW4gZXZlbnQpKSB7Ci0gICAgICAgICAgICBCcm93c2VyLm1vdXNlTW92ZW1l
bnRYID0gQnJvd3Nlci5tb3VzZU1vdmVtZW50WSA9IDA7Ci0gICAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgIEJyb3dzZXIubW91c2VNb3ZlbWVudFggPSBCcm93c2VyLmdldE1vdmVtZW50WChl
dmVudCk7Ci0gICAgICAgICAgICBCcm93c2VyLm1vdXNlTW92ZW1lbnRZID0gQnJvd3Nlci5nZXRN
b3ZlbWVudFkoZXZlbnQpOwotICAgICAgICAgIH0KLSAgICAgICAgICAvLyBjaGVjayBpZiBTREwg
aXMgYXZhaWxhYmxlCi0gICAgICAgICAgaWYgKHR5cGVvZiBTREwgIT0gInVuZGVmaW5lZCIpIHsK
LSAgICAgICAgICAJQnJvd3Nlci5tb3VzZVggPSBTREwubW91c2VYICsgQnJvd3Nlci5tb3VzZU1v
dmVtZW50WDsKLSAgICAgICAgICAJQnJvd3Nlci5tb3VzZVkgPSBTREwubW91c2VZICsgQnJvd3Nl
ci5tb3VzZU1vdmVtZW50WTsKLSAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgIAkvLyBqdXN0
IGFkZCB0aGUgbW91c2UgZGVsdGEgdG8gdGhlIGN1cnJlbnQgYWJzb2x1dCBtb3VzZSBwb3NpdGlv
bgotICAgICAgICAgIAkvLyBGSVhNRTogaWRlYWxseSB0aGlzIHNob3VsZCBiZSBjbGFtcGVkIGFn
YWluc3QgdGhlIGNhbnZhcyBzaXplIGFuZCB6ZXJvCi0gICAgICAgICAgCUJyb3dzZXIubW91c2VY
ICs9IEJyb3dzZXIubW91c2VNb3ZlbWVudFg7Ci0gICAgICAgICAgCUJyb3dzZXIubW91c2VZICs9
IEJyb3dzZXIubW91c2VNb3ZlbWVudFk7Ci0gICAgICAgICAgfSAgICAgICAgCi0gICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgLy8gT3RoZXJ3aXNlLCBjYWxjdWxhdGUgdGhlIG1vdmVtZW50IGJh
c2VkIG9uIHRoZSBjaGFuZ2VzCi0gICAgICAgICAgLy8gaW4gdGhlIGNvb3JkaW5hdGVzLgotICAg
ICAgICAgIHZhciByZWN0ID0gTW9kdWxlWyJjYW52YXMiXS5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTsKLSAgICAgICAgICB2YXIgeCwgeTsKLSAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PSAndG91
Y2hzdGFydCcgfHwKLSAgICAgICAgICAgICAgZXZlbnQudHlwZSA9PSAndG91Y2hlbmQnIHx8Ci0g
ICAgICAgICAgICAgIGV2ZW50LnR5cGUgPT0gJ3RvdWNobW92ZScpIHsKLSAgICAgICAgICAgIHZh
ciB0ID0gZXZlbnQudG91Y2hlcy5pdGVtKDApOwotICAgICAgICAgICAgaWYgKHQpIHsKLSAgICAg
ICAgICAgICAgeCA9IHQucGFnZVggLSAod2luZG93LnNjcm9sbFggKyByZWN0LmxlZnQpOwotICAg
ICAgICAgICAgICB5ID0gdC5wYWdlWSAtICh3aW5kb3cuc2Nyb2xsWSArIHJlY3QudG9wKTsKLSAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgeCA9IGV2ZW50LnBhZ2VYIC0gKHdpbmRv
dy5zY3JvbGxYICsgcmVjdC5sZWZ0KTsKLSAgICAgICAgICAgIHkgPSBldmVudC5wYWdlWSAtICh3
aW5kb3cuc2Nyb2xsWSArIHJlY3QudG9wKTsKLSAgICAgICAgICB9Ci0gICAgICAgICAgLy8gdGhl
IGNhbnZhcyBtaWdodCBiZSBDU1Mtc2NhbGVkIGNvbXBhcmVkIHRvIGl0cyBiYWNrYnVmZmVyOwot
ICAgICAgICAgIC8vIFNETC11c2luZyBjb250ZW50IHdpbGwgd2FudCBtb3VzZSBjb29yZGluYXRl
cyBpbiB0ZXJtcwotICAgICAgICAgIC8vIG9mIGJhY2tidWZmZXIgdW5pdHMuCi0gICAgICAgICAg
dmFyIGN3ID0gTW9kdWxlWyJjYW52YXMiXS53aWR0aDsKLSAgICAgICAgICB2YXIgY2ggPSBNb2R1
bGVbImNhbnZhcyJdLmhlaWdodDsKLSAgICAgICAgICB4ID0geCAqIChjdyAvIHJlY3Qud2lkdGgp
OwotICAgICAgICAgIHkgPSB5ICogKGNoIC8gcmVjdC5oZWlnaHQpOwotICAgICAgICAgIEJyb3dz
ZXIubW91c2VNb3ZlbWVudFggPSB4IC0gQnJvd3Nlci5tb3VzZVg7Ci0gICAgICAgICAgQnJvd3Nl
ci5tb3VzZU1vdmVtZW50WSA9IHkgLSBCcm93c2VyLm1vdXNlWTsKLSAgICAgICAgICBCcm93c2Vy
Lm1vdXNlWCA9IHg7Ci0gICAgICAgICAgQnJvd3Nlci5tb3VzZVkgPSB5OwotICAgICAgICB9Ci0g
ICAgICB9LHhockxvYWQ6ZnVuY3Rpb24gKHVybCwgb25sb2FkLCBvbmVycm9yKSB7Ci0gICAgICAg
IHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICAgICAgeGhyLm9wZW4oJ0dFVCcs
IHVybCwgdHJ1ZSk7Ci0gICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSAnYXJyYXlidWZmZXInOwot
ICAgICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgaWYgKHhoci5zdGF0
dXMgPT0gMjAwIHx8ICh4aHIuc3RhdHVzID09IDAgJiYgeGhyLnJlc3BvbnNlKSkgeyAvLyBmaWxl
IFVSTHMgY2FuIHJldHVybiAwCi0gICAgICAgICAgICBvbmxvYWQoeGhyLnJlc3BvbnNlKTsKLSAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgb25lcnJvcigpOwotICAgICAgICAgIH0KLSAg
ICAgICAgfTsKLSAgICAgICAgeGhyLm9uZXJyb3IgPSBvbmVycm9yOwotICAgICAgICB4aHIuc2Vu
ZChudWxsKTsKLSAgICAgIH0sYXN5bmNMb2FkOmZ1bmN0aW9uICh1cmwsIG9ubG9hZCwgb25lcnJv
ciwgbm9SdW5EZXApIHsKLSAgICAgICAgQnJvd3Nlci54aHJMb2FkKHVybCwgZnVuY3Rpb24oYXJy
YXlCdWZmZXIpIHsKLSAgICAgICAgICBhc3NlcnQoYXJyYXlCdWZmZXIsICdMb2FkaW5nIGRhdGEg
ZmlsZSAiJyArIHVybCArICciIGZhaWxlZCAobm8gYXJyYXlCdWZmZXIpLicpOwotICAgICAgICAg
IG9ubG9hZChuZXcgVWludDhBcnJheShhcnJheUJ1ZmZlcikpOwotICAgICAgICAgIGlmICghbm9S
dW5EZXApIHJlbW92ZVJ1bkRlcGVuZGVuY3koJ2FsICcgKyB1cmwpOwotICAgICAgICB9LCBmdW5j
dGlvbihldmVudCkgewotICAgICAgICAgIGlmIChvbmVycm9yKSB7Ci0gICAgICAgICAgICBvbmVy
cm9yKCk7Ci0gICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHRocm93ICdMb2FkaW5nIGRh
dGEgZmlsZSAiJyArIHVybCArICciIGZhaWxlZC4nOwotICAgICAgICAgIH0KLSAgICAgICAgfSk7
Ci0gICAgICAgIGlmICghbm9SdW5EZXApIGFkZFJ1bkRlcGVuZGVuY3koJ2FsICcgKyB1cmwpOwot
ICAgICAgfSxyZXNpemVMaXN0ZW5lcnM6W10sdXBkYXRlUmVzaXplTGlzdGVuZXJzOmZ1bmN0aW9u
ICgpIHsKLSAgICAgICAgdmFyIGNhbnZhcyA9IE1vZHVsZVsnY2FudmFzJ107Ci0gICAgICAgIEJy
b3dzZXIucmVzaXplTGlzdGVuZXJzLmZvckVhY2goZnVuY3Rpb24obGlzdGVuZXIpIHsKLSAgICAg
ICAgICBsaXN0ZW5lcihjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpOwotICAgICAgICB9KTsK
LSAgICAgIH0sc2V0Q2FudmFzU2l6ZTpmdW5jdGlvbiAod2lkdGgsIGhlaWdodCwgbm9VcGRhdGVz
KSB7Ci0gICAgICAgIHZhciBjYW52YXMgPSBNb2R1bGVbJ2NhbnZhcyddOwotICAgICAgICBjYW52
YXMud2lkdGggPSB3aWR0aDsKLSAgICAgICAgY2FudmFzLmhlaWdodCA9IGhlaWdodDsKLSAgICAg
ICAgaWYgKCFub1VwZGF0ZXMpIEJyb3dzZXIudXBkYXRlUmVzaXplTGlzdGVuZXJzKCk7Ci0gICAg
ICB9LHdpbmRvd2VkV2lkdGg6MCx3aW5kb3dlZEhlaWdodDowLHNldEZ1bGxTY3JlZW5DYW52YXNT
aXplOmZ1bmN0aW9uICgpIHsKLSAgICAgICAgdmFyIGNhbnZhcyA9IE1vZHVsZVsnY2FudmFzJ107
Ci0gICAgICAgIHRoaXMud2luZG93ZWRXaWR0aCA9IGNhbnZhcy53aWR0aDsKLSAgICAgICAgdGhp
cy53aW5kb3dlZEhlaWdodCA9IGNhbnZhcy5oZWlnaHQ7Ci0gICAgICAgIGNhbnZhcy53aWR0aCA9
IHNjcmVlbi53aWR0aDsKLSAgICAgICAgY2FudmFzLmhlaWdodCA9IHNjcmVlbi5oZWlnaHQ7Ci0g
ICAgICAgIC8vIGNoZWNrIGlmIFNETCBpcyBhdmFpbGFibGUgICAKLSAgICAgICAgaWYgKHR5cGVv
ZiBTREwgIT0gInVuZGVmaW5lZCIpIHsKLSAgICAgICAgCXZhciBmbGFncyA9IEhFQVBVMzJbKChT
REwuc2NyZWVuK1J1bnRpbWUuUVVBTlRVTV9TSVpFKjApPj4yKV07Ci0gICAgICAgIAlmbGFncyA9
IGZsYWdzIHwgMHgwMDgwMDAwMDsgLy8gc2V0IFNETF9GVUxMU0NSRUVOIGZsYWcKLSAgICAgICAg
CUhFQVAzMlsoKFNETC5zY3JlZW4rUnVudGltZS5RVUFOVFVNX1NJWkUqMCk+PjIpXT1mbGFncwot
ICAgICAgICB9Ci0gICAgICAgIEJyb3dzZXIudXBkYXRlUmVzaXplTGlzdGVuZXJzKCk7Ci0gICAg
ICB9LHNldFdpbmRvd2VkQ2FudmFzU2l6ZTpmdW5jdGlvbiAoKSB7Ci0gICAgICAgIHZhciBjYW52
YXMgPSBNb2R1bGVbJ2NhbnZhcyddOwotICAgICAgICBjYW52YXMud2lkdGggPSB0aGlzLndpbmRv
d2VkV2lkdGg7Ci0gICAgICAgIGNhbnZhcy5oZWlnaHQgPSB0aGlzLndpbmRvd2VkSGVpZ2h0Owot
ICAgICAgICAvLyBjaGVjayBpZiBTREwgaXMgYXZhaWxhYmxlICAgICAgIAotICAgICAgICBpZiAo
dHlwZW9mIFNETCAhPSAidW5kZWZpbmVkIikgewotICAgICAgICAJdmFyIGZsYWdzID0gSEVBUFUz
MlsoKFNETC5zY3JlZW4rUnVudGltZS5RVUFOVFVNX1NJWkUqMCk+PjIpXTsKLSAgICAgICAgCWZs
YWdzID0gZmxhZ3MgJiB+MHgwMDgwMDAwMDsgLy8gY2xlYXIgU0RMX0ZVTExTQ1JFRU4gZmxhZwot
ICAgICAgICAJSEVBUDMyWygoU0RMLnNjcmVlbitSdW50aW1lLlFVQU5UVU1fU0laRSowKT4+Mild
PWZsYWdzCi0gICAgICAgIH0KLSAgICAgICAgQnJvd3Nlci51cGRhdGVSZXNpemVMaXN0ZW5lcnMo
KTsKLSAgICAgIH19OwotX2xsdm1fZWhfZXhjZXB0aW9uLmJ1ZiA9IGFsbG9jYXRlKDEyLCAidm9p
ZCoiLCBBTExPQ19TVEFUSUMpOwotRlMuc3RhdGljSW5pdCgpO19fQVRJTklUX18udW5zaGlmdCh7
IGZ1bmM6IGZ1bmN0aW9uKCkgeyBpZiAoIU1vZHVsZVsibm9GU0luaXQiXSAmJiAhRlMuaW5pdC5p
bml0aWFsaXplZCkgRlMuaW5pdCgpIH0gfSk7X19BVE1BSU5fXy5wdXNoKHsgZnVuYzogZnVuY3Rp
b24oKSB7IEZTLmlnbm9yZVBlcm1pc3Npb25zID0gZmFsc2UgfSB9KTtfX0FURVhJVF9fLnB1c2go
eyBmdW5jOiBmdW5jdGlvbigpIHsgRlMucXVpdCgpIH0gfSk7TW9kdWxlWyJGU19jcmVhdGVGb2xk
ZXIiXSA9IEZTLmNyZWF0ZUZvbGRlcjtNb2R1bGVbIkZTX2NyZWF0ZVBhdGgiXSA9IEZTLmNyZWF0
ZVBhdGg7TW9kdWxlWyJGU19jcmVhdGVEYXRhRmlsZSJdID0gRlMuY3JlYXRlRGF0YUZpbGU7TW9k
dWxlWyJGU19jcmVhdGVQcmVsb2FkZWRGaWxlIl0gPSBGUy5jcmVhdGVQcmVsb2FkZWRGaWxlO01v
ZHVsZVsiRlNfY3JlYXRlTGF6eUZpbGUiXSA9IEZTLmNyZWF0ZUxhenlGaWxlO01vZHVsZVsiRlNf
Y3JlYXRlTGluayJdID0gRlMuY3JlYXRlTGluaztNb2R1bGVbIkZTX2NyZWF0ZURldmljZSJdID0g
RlMuY3JlYXRlRGV2aWNlOwotX19fZXJybm9fc3RhdGUgPSBSdW50aW1lLnN0YXRpY0FsbG9jKDQp
OyBIRUFQMzJbKChfX19lcnJub19zdGF0ZSk+PjIpXT0wOwotX2ZnZXRjLnJldCA9IGFsbG9jYXRl
KFswXSwgImk4IiwgQUxMT0NfU1RBVElDKTsKLU1vZHVsZVsicmVxdWVzdEZ1bGxTY3JlZW4iXSA9
IGZ1bmN0aW9uKGxvY2tQb2ludGVyLCByZXNpemVDYW52YXMpIHsgQnJvd3Nlci5yZXF1ZXN0RnVs
bFNjcmVlbihsb2NrUG9pbnRlciwgcmVzaXplQ2FudmFzKSB9OwotICBNb2R1bGVbInJlcXVlc3RB
bmltYXRpb25GcmFtZSJdID0gZnVuY3Rpb24oZnVuYykgeyBCcm93c2VyLnJlcXVlc3RBbmltYXRp
b25GcmFtZShmdW5jKSB9OwotICBNb2R1bGVbInNldENhbnZhc1NpemUiXSA9IGZ1bmN0aW9uKHdp
ZHRoLCBoZWlnaHQsIG5vVXBkYXRlcykgeyBCcm93c2VyLnNldENhbnZhc1NpemUod2lkdGgsIGhl
aWdodCwgbm9VcGRhdGVzKSB9OwotICBNb2R1bGVbInBhdXNlTWFpbkxvb3AiXSA9IGZ1bmN0aW9u
KCkgeyBCcm93c2VyLm1haW5Mb29wLnBhdXNlKCkgfTsKLSAgTW9kdWxlWyJyZXN1bWVNYWluTG9v
cCJdID0gZnVuY3Rpb24oKSB7IEJyb3dzZXIubWFpbkxvb3AucmVzdW1lKCkgfTsKLSAgTW9kdWxl
WyJnZXRVc2VyTWVkaWEiXSA9IGZ1bmN0aW9uKCkgeyBCcm93c2VyLmdldFVzZXJNZWRpYSgpIH0K
LVNUQUNLX0JBU0UgPSBTVEFDS1RPUCA9IFJ1bnRpbWUuYWxpZ25NZW1vcnkoU1RBVElDVE9QKTsK
LXN0YXRpY1NlYWxlZCA9IHRydWU7IC8vIHNlYWwgdGhlIHN0YXRpYyBwb3J0aW9uIG9mIG1lbW9y
eQotU1RBQ0tfTUFYID0gU1RBQ0tfQkFTRSArIDUyNDI4ODA7Ci1EWU5BTUlDX0JBU0UgPSBEWU5B
TUlDVE9QID0gUnVudGltZS5hbGlnbk1lbW9yeShTVEFDS19NQVgpOwotYXNzZXJ0KERZTkFNSUNf
QkFTRSA8IFRPVEFMX01FTU9SWSk7IC8vIFN0YWNrIG11c3QgZml0IGluIFRPVEFMX01FTU9SWTsg
YWxsb2NhdGlvbnMgZnJvbSBoZXJlIG9uIG1heSBlbmxhcmdlIFRPVEFMX01FTU9SWQotIHZhciBj
dHR6X2k4ID0gYWxsb2NhdGUoWzgsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwxLDAsNCwwLDEs
MCwyLDAsMSwwLDMsMCwxLDAsMiwwLDEsMCw1LDAsMSwwLDIsMCwxLDAsMywwLDEsMCwyLDAsMSww
LDQsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwxLDAsNiwwLDEsMCwyLDAsMSwwLDMsMCwxLDAs
MiwwLDEsMCw0LDAsMSwwLDIsMCwxLDAsMywwLDEsMCwyLDAsMSwwLDUsMCwxLDAsMiwwLDEsMCwz
LDAsMSwwLDIsMCwxLDAsNCwwLDEsMCwyLDAsMSwwLDMsMCwxLDAsMiwwLDEsMCw3LDAsMSwwLDIs
MCwxLDAsMywwLDEsMCwyLDAsMSwwLDQsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwxLDAsNSww
LDEsMCwyLDAsMSwwLDMsMCwxLDAsMiwwLDEsMCw0LDAsMSwwLDIsMCwxLDAsMywwLDEsMCwyLDAs
MSwwLDYsMCwxLDAsMiwwLDEsMCwzLDAsMSwwLDIsMCwxLDAsNCwwLDEsMCwyLDAsMSwwLDMsMCwx
LDAsMiwwLDEsMCw1LDAsMSwwLDIsMCwxLDAsMywwLDEsMCwyLDAsMSwwLDQsMCwxLDAsMiwwLDEs
MCwzLDAsMSwwLDIsMCwxLDBdLCAiaTgiLCBBTExPQ19EWU5BTUlDKTsKLXZhciBNYXRoX21pbiA9
IE1hdGgubWluOwotZnVuY3Rpb24gaW52b2tlX3ZpaWlpaShpbmRleCxhMSxhMixhMyxhNCxhNSkg
ewotICB0cnkgewotICAgIE1vZHVsZVsiZHluQ2FsbF92aWlpaWkiXShpbmRleCxhMSxhMixhMyxh
NCxhNSk7Ci0gIH0gY2F0Y2goZSkgewotICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicgJiYg
ZSAhPT0gJ2xvbmdqbXAnKSB0aHJvdyBlOwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsKLSAg
fQotfQotZnVuY3Rpb24gaW52b2tlX3ZpaWlpaWlpKGluZGV4LGExLGEyLGEzLGE0LGE1LGE2LGE3
KSB7Ci0gIHRyeSB7Ci0gICAgTW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWlpIl0oaW5kZXgsYTEsYTIs
YTMsYTQsYTUsYTYsYTcpOwotICB9IGNhdGNoKGUpIHsKLSAgICBpZiAodHlwZW9mIGUgIT09ICdu
dW1iZXInICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsKLSAgICBhc21bInNldFRocmV3Il0o
MSwgMCk7Ci0gIH0KLX0KLWZ1bmN0aW9uIGludm9rZV92aShpbmRleCxhMSkgewotICB0cnkgewot
ICAgIE1vZHVsZVsiZHluQ2FsbF92aSJdKGluZGV4LGExKTsKLSAgfSBjYXRjaChlKSB7Ci0gICAg
aWYgKHR5cGVvZiBlICE9PSAnbnVtYmVyJyAmJiBlICE9PSAnbG9uZ2ptcCcpIHRocm93IGU7Ci0g
ICAgYXNtWyJzZXRUaHJldyJdKDEsIDApOwotICB9Ci19Ci1mdW5jdGlvbiBpbnZva2VfdmlpKGlu
ZGV4LGExLGEyKSB7Ci0gIHRyeSB7Ci0gICAgTW9kdWxlWyJkeW5DYWxsX3ZpaSJdKGluZGV4LGEx
LGEyKTsKLSAgfSBjYXRjaChlKSB7Ci0gICAgaWYgKHR5cGVvZiBlICE9PSAnbnVtYmVyJyAmJiBl
ICE9PSAnbG9uZ2ptcCcpIHRocm93IGU7Ci0gICAgYXNtWyJzZXRUaHJldyJdKDEsIDApOwotICB9
Ci19Ci1mdW5jdGlvbiBpbnZva2VfaWlpKGluZGV4LGExLGEyKSB7Ci0gIHRyeSB7Ci0gICAgcmV0
dXJuIE1vZHVsZVsiZHluQ2FsbF9paWkiXShpbmRleCxhMSxhMik7Ci0gIH0gY2F0Y2goZSkgewot
ICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicgJiYgZSAhPT0gJ2xvbmdqbXAnKSB0aHJvdyBl
OwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsKLSAgfQotfQotZnVuY3Rpb24gaW52b2tlX2lp
aWlpaShpbmRleCxhMSxhMixhMyxhNCxhNSkgewotICB0cnkgewotICAgIHJldHVybiBNb2R1bGVb
ImR5bkNhbGxfaWlpaWlpIl0oaW5kZXgsYTEsYTIsYTMsYTQsYTUpOwotICB9IGNhdGNoKGUpIHsK
LSAgICBpZiAodHlwZW9mIGUgIT09ICdudW1iZXInICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cg
ZTsKLSAgICBhc21bInNldFRocmV3Il0oMSwgMCk7Ci0gIH0KLX0KLWZ1bmN0aW9uIGludm9rZV9p
aShpbmRleCxhMSkgewotICB0cnkgewotICAgIHJldHVybiBNb2R1bGVbImR5bkNhbGxfaWkiXShp
bmRleCxhMSk7Ci0gIH0gY2F0Y2goZSkgewotICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicg
JiYgZSAhPT0gJ2xvbmdqbXAnKSB0aHJvdyBlOwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsK
LSAgfQotfQotZnVuY3Rpb24gaW52b2tlX2lpaWkoaW5kZXgsYTEsYTIsYTMpIHsKLSAgdHJ5IHsK
LSAgICByZXR1cm4gTW9kdWxlWyJkeW5DYWxsX2lpaWkiXShpbmRleCxhMSxhMixhMyk7Ci0gIH0g
Y2F0Y2goZSkgewotICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicgJiYgZSAhPT0gJ2xvbmdq
bXAnKSB0aHJvdyBlOwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsKLSAgfQotfQotZnVuY3Rp
b24gaW52b2tlX3ZpaWlpaWYoaW5kZXgsYTEsYTIsYTMsYTQsYTUsYTYpIHsKLSAgdHJ5IHsKLSAg
ICBNb2R1bGVbImR5bkNhbGxfdmlpaWlpZiJdKGluZGV4LGExLGEyLGEzLGE0LGE1LGE2KTsKLSAg
fSBjYXRjaChlKSB7Ci0gICAgaWYgKHR5cGVvZiBlICE9PSAnbnVtYmVyJyAmJiBlICE9PSAnbG9u
Z2ptcCcpIHRocm93IGU7Ci0gICAgYXNtWyJzZXRUaHJldyJdKDEsIDApOwotICB9Ci19Ci1mdW5j
dGlvbiBpbnZva2VfdmlpaShpbmRleCxhMSxhMixhMykgewotICB0cnkgewotICAgIE1vZHVsZVsi
ZHluQ2FsbF92aWlpIl0oaW5kZXgsYTEsYTIsYTMpOwotICB9IGNhdGNoKGUpIHsKLSAgICBpZiAo
dHlwZW9mIGUgIT09ICdudW1iZXInICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsKLSAgICBh
c21bInNldFRocmV3Il0oMSwgMCk7Ci0gIH0KLX0KLWZ1bmN0aW9uIGludm9rZV92aWlpaWlpaWko
aW5kZXgsYTEsYTIsYTMsYTQsYTUsYTYsYTcsYTgpIHsKLSAgdHJ5IHsKLSAgICBNb2R1bGVbImR5
bkNhbGxfdmlpaWlpaWlpIl0oaW5kZXgsYTEsYTIsYTMsYTQsYTUsYTYsYTcsYTgpOwotICB9IGNh
dGNoKGUpIHsKLSAgICBpZiAodHlwZW9mIGUgIT09ICdudW1iZXInICYmIGUgIT09ICdsb25nam1w
JykgdGhyb3cgZTsKLSAgICBhc21bInNldFRocmV3Il0oMSwgMCk7Ci0gIH0KLX0KLWZ1bmN0aW9u
IGludm9rZV92KGluZGV4KSB7Ci0gIHRyeSB7Ci0gICAgTW9kdWxlWyJkeW5DYWxsX3YiXShpbmRl
eCk7Ci0gIH0gY2F0Y2goZSkgewotICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicgJiYgZSAh
PT0gJ2xvbmdqbXAnKSB0aHJvdyBlOwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsKLSAgfQot
fQotZnVuY3Rpb24gaW52b2tlX2lpaWlpaWlpaShpbmRleCxhMSxhMixhMyxhNCxhNSxhNixhNyxh
OCkgewotICB0cnkgewotICAgIHJldHVybiBNb2R1bGVbImR5bkNhbGxfaWlpaWlpaWlpIl0oaW5k
ZXgsYTEsYTIsYTMsYTQsYTUsYTYsYTcsYTgpOwotICB9IGNhdGNoKGUpIHsKLSAgICBpZiAodHlw
ZW9mIGUgIT09ICdudW1iZXInICYmIGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsKLSAgICBhc21b
InNldFRocmV3Il0oMSwgMCk7Ci0gIH0KLX0KLWZ1bmN0aW9uIGludm9rZV92aWlpaWlpaWlpKGlu
ZGV4LGExLGEyLGEzLGE0LGE1LGE2LGE3LGE4LGE5KSB7Ci0gIHRyeSB7Ci0gICAgTW9kdWxlWyJk
eW5DYWxsX3ZpaWlpaWlpaWkiXShpbmRleCxhMSxhMixhMyxhNCxhNSxhNixhNyxhOCxhOSk7Ci0g
IH0gY2F0Y2goZSkgewotICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicgJiYgZSAhPT0gJ2xv
bmdqbXAnKSB0aHJvdyBlOwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsKLSAgfQotfQotZnVu
Y3Rpb24gaW52b2tlX3ZpaWlpaWlmKGluZGV4LGExLGEyLGEzLGE0LGE1LGE2LGE3KSB7Ci0gIHRy
eSB7Ci0gICAgTW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWlmIl0oaW5kZXgsYTEsYTIsYTMsYTQsYTUs
YTYsYTcpOwotICB9IGNhdGNoKGUpIHsKLSAgICBpZiAodHlwZW9mIGUgIT09ICdudW1iZXInICYm
IGUgIT09ICdsb25nam1wJykgdGhyb3cgZTsKLSAgICBhc21bInNldFRocmV3Il0oMSwgMCk7Ci0g
IH0KLX0KLWZ1bmN0aW9uIGludm9rZV92aWlpaWlpKGluZGV4LGExLGEyLGEzLGE0LGE1LGE2KSB7
Ci0gIHRyeSB7Ci0gICAgTW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWkiXShpbmRleCxhMSxhMixhMyxh
NCxhNSxhNik7Ci0gIH0gY2F0Y2goZSkgewotICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicg
JiYgZSAhPT0gJ2xvbmdqbXAnKSB0aHJvdyBlOwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsK
LSAgfQotfQotZnVuY3Rpb24gaW52b2tlX2lpaWlpKGluZGV4LGExLGEyLGEzLGE0KSB7Ci0gIHRy
eSB7Ci0gICAgcmV0dXJuIE1vZHVsZVsiZHluQ2FsbF9paWlpaSJdKGluZGV4LGExLGEyLGEzLGE0
KTsKLSAgfSBjYXRjaChlKSB7Ci0gICAgaWYgKHR5cGVvZiBlICE9PSAnbnVtYmVyJyAmJiBlICE9
PSAnbG9uZ2ptcCcpIHRocm93IGU7Ci0gICAgYXNtWyJzZXRUaHJldyJdKDEsIDApOwotICB9Ci19
Ci1mdW5jdGlvbiBpbnZva2VfdmlpaWkoaW5kZXgsYTEsYTIsYTMsYTQpIHsKLSAgdHJ5IHsKLSAg
ICBNb2R1bGVbImR5bkNhbGxfdmlpaWkiXShpbmRleCxhMSxhMixhMyxhNCk7Ci0gIH0gY2F0Y2go
ZSkgewotICAgIGlmICh0eXBlb2YgZSAhPT0gJ251bWJlcicgJiYgZSAhPT0gJ2xvbmdqbXAnKSB0
aHJvdyBlOwotICAgIGFzbVsic2V0VGhyZXciXSgxLCAwKTsKLSAgfQotfQotZnVuY3Rpb24gYXNt
UHJpbnRJbnQoeCwgeSkgewotICBNb2R1bGUucHJpbnQoJ2ludCAnICsgeCArICcsJyArIHkpOy8v
ICsgJyAnICsgbmV3IEVycm9yKCkuc3RhY2spOwotfQotZnVuY3Rpb24gYXNtUHJpbnRGbG9hdCh4
LCB5KSB7Ci0gIE1vZHVsZS5wcmludCgnZmxvYXQgJyArIHggKyAnLCcgKyB5KTsvLyArICcgJyAr
IG5ldyBFcnJvcigpLnN0YWNrKTsKLX0KLS8vIEVNU0NSSVBURU5fU1RBUlRfQVNNCi12YXIgYXNt
PShmdW5jdGlvbihnbG9iYWwsZW52LGJ1ZmZlcil7InVzZSBhc20iO3ZhciBhPW5ldyBnbG9iYWwu
SW50OEFycmF5KGJ1ZmZlcik7dmFyIGI9bmV3IGdsb2JhbC5JbnQxNkFycmF5KGJ1ZmZlcik7dmFy
IGM9bmV3IGdsb2JhbC5JbnQzMkFycmF5KGJ1ZmZlcik7dmFyIGQ9bmV3IGdsb2JhbC5VaW50OEFy
cmF5KGJ1ZmZlcik7dmFyIGU9bmV3IGdsb2JhbC5VaW50MTZBcnJheShidWZmZXIpO3ZhciBmPW5l
dyBnbG9iYWwuVWludDMyQXJyYXkoYnVmZmVyKTt2YXIgZz1uZXcgZ2xvYmFsLkZsb2F0MzJBcnJh
eShidWZmZXIpO3ZhciBoPW5ldyBnbG9iYWwuRmxvYXQ2NEFycmF5KGJ1ZmZlcik7dmFyIGk9ZW52
LlNUQUNLVE9QfDA7dmFyIGo9ZW52LlNUQUNLX01BWHwwO3ZhciBrPWVudi50ZW1wRG91YmxlUHRy
fDA7dmFyIGw9ZW52LkFCT1JUfDA7dmFyIG09ZW52LmN0dHpfaTh8MDt2YXIgbj1lbnYuY3Rsel9p
OHwwO3ZhciBvPWVudi5fc3RkaW58MDt2YXIgcD1lbnYuX19aVFZOMTBfX2N4eGFiaXYxMTdfX2Ns
YXNzX3R5cGVfaW5mb0V8MDt2YXIgcT1lbnYuX19aVFZOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNz
X3R5cGVfaW5mb0V8MDt2YXIgcj1lbnYuX3N0ZGVycnwwO3ZhciBzPWVudi5fX19mc211OHwwO3Zh
ciB0PWVudi5fc3Rkb3V0fDA7dmFyIHU9ZW52Ll9fX2Rzb19oYW5kbGV8MDt2YXIgdj0rZW52Lk5h
Tjt2YXIgdz0rZW52LkluZmluaXR5O3ZhciB4PTA7dmFyIHk9MDt2YXIgej0wO3ZhciBBPTA7dmFy
IEI9MCxDPTAsRD0wLEU9MCxGPTAuMCxHPTAsSD0wLEk9MCxKPTAuMDt2YXIgSz0wO3ZhciBMPTA7
dmFyIE09MDt2YXIgTj0wO3ZhciBPPTA7dmFyIFA9MDt2YXIgUT0wO3ZhciBSPTA7dmFyIFM9MDt2
YXIgVD0wO3ZhciBVPWdsb2JhbC5NYXRoLmZsb29yO3ZhciBWPWdsb2JhbC5NYXRoLmFiczt2YXIg
Vz1nbG9iYWwuTWF0aC5zcXJ0O3ZhciBYPWdsb2JhbC5NYXRoLnBvdzt2YXIgWT1nbG9iYWwuTWF0
aC5jb3M7dmFyIFo9Z2xvYmFsLk1hdGguc2luO3ZhciBfPWdsb2JhbC5NYXRoLnRhbjt2YXIgJD1n
bG9iYWwuTWF0aC5hY29zO3ZhciBhYT1nbG9iYWwuTWF0aC5hc2luO3ZhciBhYj1nbG9iYWwuTWF0
aC5hdGFuO3ZhciBhYz1nbG9iYWwuTWF0aC5hdGFuMjt2YXIgYWQ9Z2xvYmFsLk1hdGguZXhwO3Zh
ciBhZT1nbG9iYWwuTWF0aC5sb2c7dmFyIGFmPWdsb2JhbC5NYXRoLmNlaWw7dmFyIGFnPWdsb2Jh
bC5NYXRoLmltdWw7dmFyIGFoPWVudi5hYm9ydDt2YXIgYWk9ZW52LmFzc2VydDt2YXIgYWo9ZW52
LmFzbVByaW50SW50O3ZhciBhaz1lbnYuYXNtUHJpbnRGbG9hdDt2YXIgYWw9ZW52Lm1pbjt2YXIg
YW09ZW52Lmludm9rZV92aWlpaWk7dmFyIGFuPWVudi5pbnZva2VfdmlpaWlpaWk7dmFyIGFvPWVu
di5pbnZva2Vfdmk7dmFyIGFwPWVudi5pbnZva2VfdmlpO3ZhciBhcT1lbnYuaW52b2tlX2lpaTt2
YXIgYXI9ZW52Lmludm9rZV9paWlpaWk7dmFyIGFzPWVudi5pbnZva2VfaWk7dmFyIGF0PWVudi5p
bnZva2VfaWlpaTt2YXIgYXU9ZW52Lmludm9rZV92aWlpaWlmO3ZhciBhdj1lbnYuaW52b2tlX3Zp
aWk7dmFyIGF3PWVudi5pbnZva2VfdmlpaWlpaWlpO3ZhciBheD1lbnYuaW52b2tlX3Y7dmFyIGF5
PWVudi5pbnZva2VfaWlpaWlpaWlpO3ZhciBhej1lbnYuaW52b2tlX3ZpaWlpaWlpaWk7dmFyIGFB
PWVudi5pbnZva2VfdmlpaWlpaWY7dmFyIGFCPWVudi5pbnZva2VfdmlpaWlpaTt2YXIgYUM9ZW52
Lmludm9rZV9paWlpaTt2YXIgYUQ9ZW52Lmludm9rZV92aWlpaTt2YXIgYUU9ZW52Ll9sbHZtX2xp
ZmV0aW1lX2VuZDt2YXIgYUY9ZW52Ll9fc2NhblN0cmluZzt2YXIgYUc9ZW52Ll9wdGhyZWFkX211
dGV4X2xvY2s7dmFyIGFIPWVudi5fX19jeGFfZW5kX2NhdGNoO3ZhciBhST1lbnYuX3N0cnRvdWxs
O3ZhciBhSj1lbnYuX19pc0Zsb2F0O3ZhciBhSz1lbnYuX2ZmbHVzaDt2YXIgYUw9ZW52Ll9faXNM
ZWFwWWVhcjt2YXIgYU09ZW52Ll9md3JpdGU7dmFyIGFOPWVudi5fc2VuZDt2YXIgYU89ZW52Ll9s
bHZtX3VtdWxfd2l0aF9vdmVyZmxvd19pMzI7dmFyIGFQPWVudi5faXNzcGFjZTt2YXIgYVE9ZW52
Ll9yZWFkO3ZhciBhUj1lbnYuX19fY3hhX2d1YXJkX2Fib3J0O3ZhciBhUz1lbnYuX25ld2xvY2Fs
ZTt2YXIgYVQ9ZW52Ll9fX2d4eF9wZXJzb25hbGl0eV92MDt2YXIgYVU9ZW52Ll9wdGhyZWFkX2Nv
bmRfd2FpdDt2YXIgYVY9ZW52Ll9fX2N4YV9yZXRocm93O3ZhciBhVz1lbnYuX19fcmVzdW1lRXhj
ZXB0aW9uO3ZhciBhWD1lbnYuX2xsdm1fdmFfZW5kO3ZhciBhWT1lbnYuX3Zzc2NhbmY7dmFyIGFa
PWVudi5fc25wcmludGY7dmFyIGFfPWVudi5fZmdldGM7dmFyIGEkPWVudi5fYXRleGl0O3ZhciBh
MD1lbnYuX19fY3hhX2ZyZWVfZXhjZXB0aW9uO3ZhciBhMT1lbnYuX19aOGNhdGNsb3NlUDhfbmxf
Y2F0ZDt2YXIgYTI9ZW52Ll9fX3NldEVyck5vO3ZhciBhMz1lbnYuX2lzeGRpZ2l0O3ZhciBhND1l
bnYuX2V4aXQ7dmFyIGE1PWVudi5fc3ByaW50Zjt2YXIgYTY9ZW52Ll9fX2N0eXBlX2JfbG9jO3Zh
ciBhNz1lbnYuX2ZyZWVsb2NhbGU7dmFyIGE4PWVudi5fX1o3Y2F0b3BlblBLY2k7dmFyIGE5PWVu
di5fYXNwcmludGY7dmFyIGJhPWVudi5fX19jeGFfaXNfbnVtYmVyX3R5cGU7dmFyIGJiPWVudi5f
X19jeGFfZG9lc19pbmhlcml0O3ZhciBiYz1lbnYuX19fY3hhX2d1YXJkX2FjcXVpcmU7dmFyIGJk
PWVudi5fX19sb2NhbGVfbWJfY3VyX21heDt2YXIgYmU9ZW52Ll9fX2N4YV9iZWdpbl9jYXRjaDt2
YXIgYmY9ZW52Ll9yZWN2O3ZhciBiZz1lbnYuX19wYXJzZUludDY0O3ZhciBiaD1lbnYuX19aU3Qx
OHVuY2F1Z2h0X2V4Y2VwdGlvbnY7dmFyIGJpPWVudi5fX19jeGFfY2FsbF91bmV4cGVjdGVkO3Zh
ciBiaj1lbnYuX19leGl0O3ZhciBiaz1lbnYuX3N0cmZ0aW1lO3ZhciBibD1lbnYuX19fY3hhX3Ro
cm93O3ZhciBibT1lbnYuX2xsdm1fZWhfZXhjZXB0aW9uO3ZhciBibj1lbnYuX3ByZWFkO3ZhciBi
bz1lbnYuX19hcnJheVN1bTt2YXIgYnA9ZW52Ll9sb2c7dmFyIGJxPWVudi5fX19jeGFfZmluZF9t
YXRjaGluZ19jYXRjaDt2YXIgYnI9ZW52Ll9fZm9ybWF0U3RyaW5nO3ZhciBicz1lbnYuX3B0aHJl
YWRfY29uZF9icm9hZGNhc3Q7dmFyIGJ0PWVudi5fX1pTdDl0ZXJtaW5hdGV2O3ZhciBidT1lbnYu
X3B0aHJlYWRfbXV0ZXhfdW5sb2NrO3ZhciBidj1lbnYuX3Nicms7dmFyIGJ3PWVudi5fX19lcnJu
b19sb2NhdGlvbjt2YXIgYng9ZW52Ll9zdHJlcnJvcjt2YXIgYnk9ZW52Ll9sbHZtX2xpZmV0aW1l
X3N0YXJ0O3ZhciBiej1lbnYuX19fY3hhX2d1YXJkX3JlbGVhc2U7dmFyIGJBPWVudi5fdW5nZXRj
O3ZhciBiQj1lbnYuX3VzZWxvY2FsZTt2YXIgYkM9ZW52Ll92c25wcmludGY7dmFyIGJEPWVudi5f
c3NjYW5mO3ZhciBiRT1lbnYuX3N5c2NvbmY7dmFyIGJGPWVudi5fZnJlYWQ7dmFyIGJHPWVudi5f
YWJvcnQ7dmFyIGJIPWVudi5faXNkaWdpdDt2YXIgYkk9ZW52Ll9zdHJ0b2xsO3ZhciBiSj1lbnYu
X19hZGREYXlzO3ZhciBiSz1lbnYuX2Zsb29yO3ZhciBiTD1lbnYuX19yZWFsbHlOZWdhdGl2ZTt2
YXIgYk09ZW52Ll9fWjdjYXRnZXRzUDhfbmxfY2F0ZGlpUEtjO3ZhciBiTj1lbnYuX3dyaXRlO3Zh
ciBiTz1lbnYuX19fY3hhX2FsbG9jYXRlX2V4Y2VwdGlvbjt2YXIgYlA9ZW52Ll9fX2N4YV9wdXJl
X3ZpcnR1YWw7dmFyIGJRPWVudi5fdmFzcHJpbnRmO3ZhciBiUj1lbnYuX19fY3R5cGVfdG91cHBl
cl9sb2M7dmFyIGJTPWVudi5fX19jdHlwZV90b2xvd2VyX2xvYzt2YXIgYlQ9ZW52Ll9wd3JpdGU7
dmFyIGJVPWVudi5fc3RyZXJyb3Jfcjt2YXIgYlY9ZW52Ll90aW1lOwotLy8gRU1TQ1JJUFRFTl9T
VEFSVF9GVU5DUwotZnVuY3Rpb24gY2MoYSl7YT1hfDA7dmFyIGI9MDtiPWk7aT1pK2F8MDtpPWkr
Nz4+Mzw8MztyZXR1cm4gYnwwfWZ1bmN0aW9uIGNkKCl7cmV0dXJuIGl8MH1mdW5jdGlvbiBjZShh
KXthPWF8MDtpPWF9ZnVuY3Rpb24gY2YoYSxiKXthPWF8MDtiPWJ8MDtpZigoeHwwKT09MCl7eD1h
O3k9Yn19ZnVuY3Rpb24gY2coYil7Yj1ifDA7YVtrXT1hW2JdO2FbaysxfDBdPWFbYisxfDBdO2Fb
aysyfDBdPWFbYisyfDBdO2FbayszfDBdPWFbYiszfDBdfWZ1bmN0aW9uIGNoKGIpe2I9YnwwO2Fb
a109YVtiXTthW2srMXwwXT1hW2IrMXwwXTthW2srMnwwXT1hW2IrMnwwXTthW2srM3wwXT1hW2Ir
M3wwXTthW2srNHwwXT1hW2IrNHwwXTthW2srNXwwXT1hW2IrNXwwXTthW2srNnwwXT1hW2IrNnww
XTthW2srN3wwXT1hW2IrN3wwXX1mdW5jdGlvbiBjaShhKXthPWF8MDtLPWF9ZnVuY3Rpb24gY2oo
YSl7YT1hfDA7TD1hfWZ1bmN0aW9uIGNrKGEpe2E9YXwwO009YX1mdW5jdGlvbiBjbChhKXthPWF8
MDtOPWF9ZnVuY3Rpb24gY20oYSl7YT1hfDA7Tz1hfWZ1bmN0aW9uIGNuKGEpe2E9YXwwO1A9YX1m
dW5jdGlvbiBjbyhhKXthPWF8MDtRPWF9ZnVuY3Rpb24gY3AoYSl7YT1hfDA7Uj1hfWZ1bmN0aW9u
IGNxKGEpe2E9YXwwO1M9YX1mdW5jdGlvbiBjcihhKXthPWF8MDtUPWF9ZnVuY3Rpb24gY3MoKXtj
W3ErOD4+Ml09MjUwO2NbcSsxMj4+Ml09MTI4O2NbcSsxNj4+Ml09NjI7Y1txKzIwPj4yXT0xNTA7
Y1txKzI0Pj4yXT04O2NbcSsyOD4+Ml09MTA7Y1txKzMyPj4yXT0yO2NbcSszNj4+Ml09MjtjW3Ar
OD4+Ml09MjUwO2NbcCsxMj4+Ml09MjQ0O2NbcCsxNj4+Ml09NjI7Y1twKzIwPj4yXT0xNTA7Y1tw
KzI0Pj4yXT04O2NbcCsyOD4+Ml09MjY7Y1twKzMyPj4yXT00O2NbcCszNj4+Ml09ODtjWzIwMzZd
PXArODtjWzIwMzhdPXArODtjWzIwNDBdPXErODtjWzIwNDRdPXErODtjWzIwNDhdPXErODtjWzIw
NTJdPXErODtjWzIwNTZdPXErODtjWzIwNjBdPXArODtjWzIwOTRdPXErODtjWzIwOThdPXErODtj
WzIxNjJdPXErODtjWzIxNjZdPXErODtjWzIxODZdPXArODtjWzIxODhdPXErODtjWzIyMjRdPXEr
ODtjWzIyMjhdPXErODtjWzIyNjRdPXErODtjWzIyNjhdPXErODtjWzIyODhdPXArODtjWzIyOTBd
PXArODtjWzIyOTJdPXErODtjWzIyOTZdPXErODtjWzIzMDBdPXErODtjWzIzMDRdPXArODtjWzIz
MDZdPXArODtjWzIzMDhdPXArODtjWzIzMTBdPXArODtjWzIzMTJdPXArODtjWzIzMTRdPXArODtj
WzIzMTZdPXArODtjWzIzNDJdPXErODtjWzIzNDZdPXArODtjWzIzNDhdPXErODtjWzIzNTJdPXEr
ODtjWzIzNTZdPXErODtjWzIzNjBdPXArODtjWzIzNjJdPXArODtjWzIzNjRdPXArODtjWzIzNjZd
PXArODtjWzI0MDBdPXArODtjWzI0MDJdPXArODtjWzI0MDRdPXArODtjWzI0MDZdPXErODtjWzI0
MTBdPXErODtjWzI0MTRdPXErODtjWzI0MThdPXErODtjWzI0MjJdPXErODtjWzI0MjZdPXErOH1m
dW5jdGlvbiBjdChhKXthPWF8MDt2YXIgYj0wLGQ9MDtiPWNbYT4+Ml18MDtpZigoYnwwKT09MCl7
cmV0dXJufWQ9YSs0fDA7YT1jW2Q+PjJdfDA7aWYoKGJ8MCkhPShhfDApKXtjW2Q+PjJdPWErKH4o
KGEtOCsoLWJ8MCl8MCk+Pj4zKTw8Myl9a1MoYik7cmV0dXJufWZ1bmN0aW9uIGN1KGEsYixkKXth
PWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAs
cD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLjAsdz0wLHg9MCx5PTAuMCx6PTAuMDtkPWk7aT1p
KzI0fDA7ZT1kfDA7Zj1kKzh8MDtnPWZ8MDtjW2c+PjJdPTA7aj1mKzR8MDtjW2o+PjJdPTA7az1m
Kzh8MDtjW2s+PjJdPTA7bD1iLWF8MDttPWw+PjM7ZG97aWYoKG18MCk9PTApe249MDtvPTB9ZWxz
ZXtpZihtPj4+MD41MzY4NzA5MTEpe2lyKGYpfXA9a08obCl8MDtjW2o+PjJdPXA7Y1tnPj4yXT1w
O2Nbaz4+Ml09cCsobTw8Myk7aWYoKGF8MCk9PShifDApKXtuPXA7bz1wO2JyZWFrfWVsc2V7cT1h
O3I9cH1kb3tpZigocnwwKT09MCl7cz0wfWVsc2V7aFtyPj4zXT0raFtxPj4zXTtzPWNbaj4+Ml18
MH1yPXMrOHwwO2Nbaj4+Ml09cjtxPXErOHwwO313aGlsZSgocXwwKSE9KGJ8MCkpO249Y1tnPj4y
XXwwO289cn19d2hpbGUoMCk7Y1UobixvLGUpO2U9Y1tnPj4yXXwwO289Y1tqPj4yXXwwO0wyMzpk
b3tpZigoZXwwKT09KG98MCkpe3Q9ZX1lbHNle249ZTt3aGlsZSgxKXt1PW4rOHwwO2lmKCh1fDAp
PT0ob3wwKSl7dD1lO2JyZWFrIEwyM312PStoW24+PjNdO2lmKHY9PStoW3U+PjNdKXticmVha31l
bHNle249dX19aWYoKG58MCk9PShvfDApKXt0PWU7YnJlYWt9ZWxzZXt3PXU7eD1uO3k9dn1MMjg6
d2hpbGUoMSl7cj13O2Rve3I9cis4fDA7aWYoKHJ8MCk9PShvfDApKXticmVhayBMMjh9ej0raFty
Pj4zXTt9d2hpbGUoeT09eik7Yj14Kzh8MDtoW2I+PjNdPXo7dz1yO3g9Yjt5PXp9dD1jW2c+PjJd
fDB9fXdoaWxlKDApO2lmKCh0fDApPT0wKXtpPWQ7cmV0dXJufWc9Y1tqPj4yXXwwO2lmKCh0fDAp
IT0oZ3wwKSl7Y1tqPj4yXT1nKyh+KChnLTgrKC10fDApfDApPj4+Myk8PDMpfWtTKHQpO2k9ZDty
ZXR1cm59ZnVuY3Rpb24gY3YoYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9
MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0w
LjAseD0wLjAseT0wLHo9MC4wO2Q9aTtpPWkrMjR8MDtlPWR8MDtmPWQrOHwwO2c9ZnwwO2NbZz4+
Ml09MDtqPWYrNHwwO2Nbaj4+Ml09MDtrPWYrOHwwO2Nbaz4+Ml09MDtsPWItYXwwO209bD4+Mztk
b3tpZigobXwwKT09MCl7bj0wO289MH1lbHNle2lmKG0+Pj4wPjUzNjg3MDkxMSl7aXIoZil9cD1r
TyhsKXwwO2Nbaj4+Ml09cDtjW2c+PjJdPXA7Y1trPj4yXT1wKyhtPDwzKTtpZigoYXwwKT09KGJ8
MCkpe249cDtvPXA7YnJlYWt9ZWxzZXtxPWE7cj1wfWRve2lmKChyfDApPT0wKXtzPTB9ZWxzZXto
W3I+PjNdPStoW3E+PjNdO3M9Y1tqPj4yXXwwfXI9cys4fDA7Y1tqPj4yXT1yO3E9cSs4fDA7fXdo
aWxlKChxfDApIT0oYnwwKSk7bj1jW2c+PjJdfDA7bz1yfX13aGlsZSgwKTtjVShuLG8sZSk7ZT1j
W2c+PjJdfDA7bz1jW2o+PjJdfDA7TDU4OmRve2lmKChlfDApPT0ob3wwKSl7dD1lO3U9NjJ9ZWxz
ZXtuPWU7d2hpbGUoMSl7cj1uKzh8MDtpZigocnwwKT09KG98MCkpe3Y9ZTticmVhayBMNTh9aWYo
K2hbbj4+M109PStoW3I+PjNdKXt0PW47dT02MjticmVha31lbHNle249cn19fX13aGlsZSgwKTtk
b3tpZigodXwwKT09NjIpe2lmKCh0fDApPT0ob3wwKSl7dj1lO2JyZWFrfW49dCsxNnwwO2lmKChu
fDApPT0ob3wwKSl7dj1lO2JyZWFrfXI9bjtuPXQ7dz0raFt0Pj4zXTt3aGlsZSgxKXt4PStoW3I+
PjNdO2lmKHc9PXgpe3k9bjt6PXd9ZWxzZXtiPW4rOHwwO2hbYj4+M109eDt5PWI7ej14fWI9cis4
fDA7aWYoKGJ8MCk9PShvfDApKXticmVha31lbHNle3I9YjtuPXk7dz16fX12PWNbZz4+Ml18MH19
d2hpbGUoMCk7aWYoKHZ8MCk9PTApe2k9ZDtyZXR1cm59Zz1jW2o+PjJdfDA7aWYoKHZ8MCkhPShn
fDApKXtjW2o+PjJdPWcrKH4oKGctOCsoLXZ8MCl8MCk+Pj4zKTw8Myl9a1Modik7aT1kO3JldHVy
bn1mdW5jdGlvbiBjdyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGo9
MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0w
LHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAs
TT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxf
PTAsJD0wLGFhPTAsYWI9MDtkPWk7aT1pKzh8MDtlPWR8MDtmPWU7Zz1pO2k9aSs4fDA7aj1nO2s9
aTtpPWkrMXwwO2k9aSs3Pj4zPDwzO2w9aTtpPWkrOHwwO209aTtpPWkrOHwwO249aTtpPWkrMXww
O2k9aSs3Pj4zPDwzO289aTtpPWkrMjR8MDtwPWk7aT1pKzh8MDtxPWk7aT1pKzh8MDtyPWI7cz1y
LWE+PjM7aFtwPj4zXT0wLjA7dD1vfDA7dT1vKzR8MDt2PW8rOHwwO2skKG98MCwwLDI0KTtkb3tp
Zigoc3wwKT09MCl7dz0wO3g9bysxNnwwO3k9MDt6PTA7QT0wO0I9MH1lbHNle2NPKG8scyxwKTtD
PWNbdT4+Ml18MDtEPW8rMTZ8MDtFPWNbRD4+Ml18MDtGPWNbdj4+Ml18MDtHPUMrKEU+Pj45PDwy
KXwwO2lmKChGfDApPT0oQ3wwKSl7dz0wO3g9RDt5PUY7ej1FO0E9QztCPUc7YnJlYWt9dz0oY1tH
Pj4yXXwwKSsoKEUmNTExKTw8Myl8MDt4PUQ7eT1GO3o9RTtBPUM7Qj1HfX13aGlsZSgwKTtpZigo
YXwwKT09KGJ8MCkpe0g9QTtJPXo7Sj15fWVsc2V7eT1hO2E9dzt3PUI7d2hpbGUoMSl7Qj1hO3o9
KGNbdz4+Ml18MCkrNDA5Ni1CPj4zO0E9eTtwPXItQT4+MztpZigocHwwKT4oenwwKSl7Sz15Kyh6
PDwzKXwwO0w9en1lbHNle0s9YjtMPXB9a18oYXwwLHl8MCxLLUF8MCk7ZG97aWYoKEx8MCk9PTAp
e009YTtOPXd9ZWxzZXtBPShCLShjW3c+PjJdfDApPj4zKStMfDA7aWYoKEF8MCk+MCl7cD13Kygo
KEF8MCkvNTEyfDApPDwyKXwwO009KGNbcD4+Ml18MCkrKCgoQXwwKSU1MTJ8MCk8PDMpfDA7Tj1w
O2JyZWFrfWVsc2V7cD01MTEtQXwwO0E9dysoKChwfDApLy01MTJ8MCk8PDIpfDA7TT0oY1tBPj4y
XXwwKSsoNTExLSgocHwwKSU1MTJ8MCk8PDMpfDA7Tj1BO2JyZWFrfX19d2hpbGUoMCk7aWYoKEt8
MCk9PShifDApKXticmVha31lbHNle3k9SzthPU07dz1OfX1IPWNbdT4+Ml18MDtJPWNbeD4+Ml18
MDtKPWNbdj4+Ml18MH1OPUgrKEk+Pj45PDwyKXwwO2lmKChKfDApPT0oSHwwKSl7Sj1vKzIwfDA7
Tz0wO1A9MDtRPTA7Uj0wO1M9SjtUPUgrKChJKyhjW0o+PjJdfDApfDApPj4+OTw8Mil8MH1lbHNl
e0o9bysyMHwwO289SSsoY1tKPj4yXXwwKXwwO3c9SCsobz4+Pjk8PDIpfDA7Tz0oY1t3Pj4yXXww
KSsoKG8mNTExKTw8Myl8MDtQPTA7UT0oY1tOPj4yXXwwKSsoKEkmNTExKTw8Myl8MDtSPTA7Uz1K
O1Q9d31jW2w+PjJdPVJ8TjtjW2wrND4+Ml09UTtjW20+PjJdPVB8VDtjW20rND4+Ml09TztjSyhs
LG0sbik7bj1jW3U+PjJdfDA7bT1jW3g+PjJdfDA7bD1uKyhtPj4+OTw8Mil8MDtpZigoY1t2Pj4y
XXwwKT09KG58MCkpe1U9MDtWPTA7Vz0wO1g9MDtZPW4rKChtKyhjW1M+PjJdfDApfDApPj4+OTw8
Mil8MH1lbHNle089bSsoY1tTPj4yXXwwKXwwO1Q9bisoTz4+Pjk8PDIpfDA7VT0oY1tUPj4yXXww
KSsoKE8mNTExKTw8Myl8MDtWPTA7Vz0oY1tsPj4yXXwwKSsoKG0mNTExKTw8Myl8MDtYPTA7WT1U
fWNbZT4+Ml09WHxsO2NbZSs0Pj4yXT1XO2NbZz4+Ml09VnxZO2NbZys0Pj4yXT1VO2NJKHEsZixq
LGspO2s9Y1t1Pj4yXXwwO2o9Y1t4Pj4yXXwwO2Y9aysoaj4+Pjk8PDIpfDA7cT1jW3Y+PjJdfDA7
aWYoKHF8MCk9PShrfDApKXtaPTA7Xz0wfWVsc2V7VT0oY1tTPj4yXXwwKStqfDA7Wj0oY1trKyhV
Pj4+OTw8Mik+PjJdfDApKygoVSY1MTEpPDwzKXwwO189KGNbZj4+Ml18MCkrKChqJjUxMSk8PDMp
fDB9aj1mO2Y9XztMMTEyOndoaWxlKDEpe189Zjtkb3tpZigoX3wwKT09KFp8MCkpe2JyZWFrIEwx
MTJ9Xz1fKzh8MDt9d2hpbGUoKF8tKGNbaj4+Ml18MCl8MCkhPTQwOTYpO189ais0fDA7aj1fO2Y9
Y1tfPj4yXXwwfWNbUz4+Ml09MDtTPXEtaz4+MjtpZihTPj4+MD4yKXtmPWs7d2hpbGUoMSl7a1Mo
Y1tmPj4yXXwwKTtqPShjW3U+PjJdfDApKzR8MDtjW3U+PjJdPWo7Wj1jW3Y+PjJdfDA7Xz1aLWo+
PjI7aWYoXz4+PjA+Mil7Zj1qfWVsc2V7JD1fO2FhPWo7YWI9WjticmVha319fWVsc2V7JD1TO2Fh
PWs7YWI9cX1zd2l0Y2goJHwwKXtjYXNlIDE6e2NbeD4+Ml09MjU2O2JyZWFrfTtjYXNlIDI6e2Nb
eD4+Ml09NTEyO2JyZWFrfTtkZWZhdWx0Ont9fWRve2lmKChhYXwwKSE9KGFifDApKXt4PWFhO2Rv
e2tTKGNbeD4+Ml18MCk7eD14KzR8MDt9d2hpbGUoKHh8MCkhPShhYnwwKSk7eD1jW3U+PjJdfDA7
JD1jW3Y+PjJdfDA7aWYoKHh8MCk9PSgkfDApKXticmVha31jW3Y+PjJdPSQrKH4oKCQtNCsoLXh8
MCl8MCk+Pj4yKTw8Mil9fXdoaWxlKDApO3Y9Y1t0Pj4yXXwwO2lmKCh2fDApPT0wKXtpPWQ7cmV0
dXJufWtTKHYpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gY3goYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHww
O3ZhciBlPTAsZj0wLGc9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAs
dD0wLHU9MCx2PTAsdz0wLHg9MC4wLHk9MCx6PTA7ZD1pO2k9aSs0OHwwO2U9ZHwwO2Y9ZCs4fDA7
Zz1kKzE2fDA7aj1kKzI0fDA7az1kKzMyfDA7bD1rfDA7bT1rO2NbbD4+Ml09bTtuPWsrNHwwO2Nb
bj4+Ml09bTtvPWsrOHwwO2Nbbz4+Ml09MDtpZigoYXwwKT09KGJ8MCkpe3A9bTtxPTB9ZWxzZXtr
PWE7YT1tO3I9MDt3aGlsZSgxKXtzPWtPKDE2KXwwO3Q9czt1PXMrOHwwO2lmKCh1fDApIT0wKXto
W3U+PjNdPStoW2s+PjNdfWNbYSs0Pj4yXT10O2Nbcz4+Ml09Y1tsPj4yXTtjW2w+PjJdPXQ7Y1tz
KzQ+PjJdPW07dj0oY1tvPj4yXXwwKSsxfDA7Y1tvPj4yXT12O3M9ays4fDA7aWYoKHN8MCk9PShi
fDApKXticmVha31lbHNle2s9czthPXQ7cj12fX1wPWNbbj4+Ml18MDtxPXZ9Y1tlPj4yXT1wO2Nb
Zj4+Ml09bTtjSihnLGUsZixxLGopO2o9Y1tuPj4yXXwwO2lmKChqfDApIT0obXwwKSl7cT1qO3do
aWxlKDEpe2o9Y1txKzQ+PjJdfDA7TDE1MDpkb3tpZigoanwwKT09KG18MCkpe3c9bX1lbHNle3g9
K2hbcSs4Pj4zXTtmPWo7d2hpbGUoMSl7aWYoeCE9K2hbZis4Pj4zXSl7dz1mO2JyZWFrIEwxNTB9
ZT1jW2YrND4+Ml18MDtpZigoZXwwKT09KG18MCkpe3c9bTticmVha31lbHNle2Y9ZX19fX13aGls
ZSgwKTtpZigoanwwKT09KHd8MCkpe3k9an1lbHNle2Y9KGNbdz4+Ml18MCkrNHwwO2U9anwwO2Nb
KGNbZT4+Ml18MCkrND4+Ml09Y1tmPj4yXTtjW2NbZj4+Ml0+PjJdPWNbZT4+Ml07ZT1qO3doaWxl
KDEpe2Y9Y1tlKzQ+PjJdfDA7Y1tvPj4yXT0oY1tvPj4yXXwwKS0xO2tTKGUpO2lmKChmfDApPT0o
d3wwKSl7eT13O2JyZWFrfWVsc2V7ZT1mfX19aWYoKHl8MCk9PShtfDApKXticmVha31lbHNle3E9
eX19fWlmKChjW28+PjJdfDApPT0wKXtpPWQ7cmV0dXJufXk9Y1tuPj4yXXwwO249KGNbbD4+Ml18
MCkrNHwwO2w9eXwwO2NbKGNbbD4+Ml18MCkrND4+Ml09Y1tuPj4yXTtjW2Nbbj4+Ml0+PjJdPWNb
bD4+Ml07Y1tvPj4yXT0wO2lmKCh5fDApPT0obXwwKSl7aT1kO3JldHVybn1lbHNle3o9eX13aGls
ZSgxKXt5PWNbeis0Pj4yXXwwO2tTKHopO2lmKCh5fDApPT0obXwwKSl7YnJlYWt9ZWxzZXt6PXl9
fWk9ZDtyZXR1cm59ZnVuY3Rpb24gY3koYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAs
Zj0wLGc9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wO2Q9aTtp
PWkrMzJ8MDtlPWR8MDtmPWQrOHwwO2c9ZCsxNnwwO2o9Z3wwO2s9Zys0fDA7Y1trPj4yXT0wO2w9
Zys4fDA7Y1tsPj4yXT0wO209aztrPWd8MDtjW2s+PjJdPW07aWYoKGF8MCk9PShifDApKXtuPTA7
Y0UoaixuKTtpPWQ7cmV0dXJufW89ZnwwO3A9Zys0fDA7Zz1hO2Rve2Nbbz4+Ml09bTthPWNIKGos
ZixlLGcpfDA7aWYoKGNbYT4+Ml18MCk9PTApe3E9a08oMjQpfDA7cj1xKzE2fDA7aWYoKHJ8MCkh
PTApe2hbcj4+M109K2hbZz4+M119cj1jW2U+PjJdfDA7cz1xO2NbcT4+Ml09MDtjW3ErND4+Ml09
MDtjW3ErOD4+Ml09cjtjW2E+PjJdPXM7cj1jW2Nbaz4+Ml0+PjJdfDA7aWYoKHJ8MCk9PTApe3Q9
c31lbHNle2Nbaz4+Ml09cjt0PWNbYT4+Ml18MH1jRyhjW3A+PjJdfDAsdCk7Y1tsPj4yXT0oY1ts
Pj4yXXwwKSsxfWc9Zys4fDA7fXdoaWxlKChnfDApIT0oYnwwKSk7bj1jW3A+PjJdfDA7Y0Uoaixu
KTtpPWQ7cmV0dXJufWZ1bmN0aW9uIGN6KGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0w
LGY9MCxnPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAs
dj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTA7ZD1pO2k9aSsz
MnwwO2U9ZHwwO2Y9ZCs4fDA7Zz1kKzE2fDA7aj1nfDA7az1nKzR8MDtjW2s+PjJdPTA7bD1nKzh8
MDtjW2w+PjJdPTA7bT1rO249Z3wwO2Nbbj4+Ml09bTtkb3tpZigoYXwwKSE9KGJ8MCkpe289Znww
O3A9Zys0fDA7cT1hO2Rve2Nbbz4+Ml09bTtyPWNDKGosZixlLHEpfDA7cz1rTygyNCl8MDt0PXMr
MTZ8MDtpZigodHwwKSE9MCl7aFt0Pj4zXT0raFtxPj4zXX10PWNbZT4+Ml18MDt1PXM7Y1tzPj4y
XT0wO2Nbcys0Pj4yXT0wO2Nbcys4Pj4yXT10O2Nbcj4+Ml09dTt0PWNbY1tuPj4yXT4+Ml18MDtp
ZigodHwwKT09MCl7dj11fWVsc2V7Y1tuPj4yXT10O3Y9Y1tyPj4yXXwwfWNHKGNbcD4+Ml18MCx2
KTtjW2w+PjJdPShjW2w+PjJdfDApKzE7cT1xKzh8MDt9d2hpbGUoKHF8MCkhPShifDApKTtxPWNb
bj4+Ml18MDtpZigocXwwKT09KG18MCkpe2JyZWFrfXA9aztvPWcrNHwwO3I9cTtMMjAyOndoaWxl
KDEpe3E9cnwwO3Q9cis0fDA7dT1yKzE2fDA7d2hpbGUoMSl7dz1jW3Q+PjJdfDA7aWYoKHd8MCk9
PTApe3M9cTt3aGlsZSgxKXt4PWNbcys4Pj4yXXwwO2lmKChzfDApPT0oY1t4Pj4yXXwwKSl7eT14
O2JyZWFrfWVsc2V7cz14fX19ZWxzZXtzPXc7d2hpbGUoMSl7eD1jW3M+PjJdfDA7aWYoKHh8MCk9
PTApe3k9czticmVha31lbHNle3M9eH19fXM9eTtpZigoeXwwKT09KHB8MCkpe3o9bztBPTIxMzti
cmVhayBMMjAyfWlmKCtoW3U+PjNdIT0raFt5KzE2Pj4zXSl7YnJlYWt9eD1jW3krND4+Ml18MDtp
ZigoeHwwKT09MCl7Qj15O3doaWxlKDEpe0M9Y1tCKzg+PjJdfDA7aWYoKEJ8MCk9PShjW0M+PjJd
fDApKXtEPUM7YnJlYWt9ZWxzZXtCPUN9fX1lbHNle0I9eDt3aGlsZSgxKXtDPWNbQj4+Ml18MDtp
ZigoQ3wwKT09MCl7RD1CO2JyZWFrfWVsc2V7Qj1DfX19aWYoKGNbbj4+Ml18MCk9PShzfDApKXtj
W24+PjJdPUR9Y1tsPj4yXT0oY1tsPj4yXXwwKS0xO2NCKGNbbz4+Ml18MCx5KTtrUyh5KX1pZigo
d3wwKT09MCl7dT1xO3doaWxlKDEpe3Q9Y1t1Kzg+PjJdfDA7aWYoKHV8MCk9PShjW3Q+PjJdfDAp
KXtFPXQ7YnJlYWt9ZWxzZXt1PXR9fX1lbHNle3U9dzt3aGlsZSgxKXtxPWNbdT4+Ml18MDtpZigo
cXwwKT09MCl7RT11O2JyZWFrfWVsc2V7dT1xfX19aWYoKEV8MCk9PShwfDApKXt6PW87QT0yMTQ7
YnJlYWt9ZWxzZXtyPUV9fWlmKChBfDApPT0yMTQpe0Y9Y1t6Pj4yXXwwO0c9RjtjRShqLEcpO2k9
ZDtyZXR1cm59ZWxzZSBpZigoQXwwKT09MjEzKXtGPWNbej4+Ml18MDtHPUY7Y0UoaixHKTtpPWQ7
cmV0dXJufX19d2hpbGUoMCk7ej1nKzR8MDtGPWNbej4+Ml18MDtHPUY7Y0UoaixHKTtpPWQ7cmV0
dXJufWZ1bmN0aW9uIGNBKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAuMCxnPTAsaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MC4wLHg9MCx5
PTAsej0wLjAsQT0wLEI9MC4wLEM9MCxEPTAsRT0wLEY9MC4wLEc9MCxIPTAsST0wLjAsSj0wLjAs
TD0wLE09MCxOPTAsTz0wLFA9MDtiPWk7aT1pKzI0fDA7ZD1ifDA7ZT1iKzh8MDtmPSsoYXwwKTtn
PX5+K1UoKygxOTkzMTU2OC41NjkzMjQxNzMvKGYqKCthZSgrZikvLjY5MzE0NzE4MDU1OTk0NTMp
KSkpO2o9YTw8MTtrPWNbMjQ0Nl18MDtsPWNbMjQ0N118MDtpZigoa3wwKSE9KGx8MCkpe2NbMjQ0
N109bCsofigobC04Kygta3wwKXwwKT4+PjMpPDwzKX1rPWV8MDtjW2s+PjJdPTA7bD1lKzR8MDtj
W2w+PjJdPTA7bT1lKzh8MDtjW20+PjJdPTA7aWYoKGp8MCk9PTApe249MH1lbHNle2lmKGo+Pj4w
PjUzNjg3MDkxMSl7aXIoZSl9ZT1rTyhhPDw0KXwwO2NbbD4+Ml09ZTtjW2s+PjJdPWU7Y1ttPj4y
XT1lKyhqPDwzKTttPWo7bz1lO2Rve2lmKChvfDApPT0wKXtwPTB9ZWxzZXtoW28+PjNdPTAuMDtw
PWNbbD4+Ml18MH1vPXArOHwwO2NbbD4+Ml09bzttPW0tMXwwO313aGlsZSgobXwwKSE9MCk7bj1j
W2s+PjJdfDB9bT1uKyhqPDwzKXwwO289bisoYTw8Myl8MDtpZigoYXwwKSE9MCl7cD1uO2Y9MC4w
O3doaWxlKDEpe2U9cCs4fDA7aFtwPj4zXT1mO2lmKChlfDApPT0ob3wwKSl7YnJlYWt9ZWxzZXtw
PWU7Zj1mKzEuMH19fWlmKChqfDApIT0oYXwwKSl7aj1vO2Y9MC4wO3doaWxlKDEpe289ais4fDA7
aFtqPj4zXT1mO2lmKChvfDApPT0obXwwKSl7YnJlYWt9ZWxzZXtqPW87Zj1mKzEuMH19fWNGKG4s
bSk7aWYoKGd8MCk+MCl7aj1hPDw0O2E9aj4+MztvPWFPKGF8MCw4KXwwO3A9bjtpZihLKXtlPWc7
d2hpbGUoMSl7cT1lLTF8MDtyPWtQKC0xKXwwO3M9cjtrWShyfDAscHwwLGopfDA7dD1zKyhhPDwz
KXwwO2NVKHMsdCxkKTtMMjY4OmRve2lmKChzfDApIT0odHwwKSl7dT1zO3doaWxlKDEpe3Y9dSs4
fDA7aWYoKHZ8MCk9PSh0fDApKXticmVhayBMMjY4fXc9K2hbdT4+M107aWYodz09K2hbdj4+M10p
e2JyZWFrfWVsc2V7dT12fX1pZigodXwwKT09KHR8MCkpe2JyZWFrfWVsc2V7eD12O3k9dTt6PXd9
d2hpbGUoMSl7QT14O2Rve0E9QSs4fDA7aWYoKEF8MCk9PSh0fDApKXticmVhayBMMjY4fUI9K2hb
QT4+M107fXdoaWxlKHo9PUIpO0M9eSs4fDA7aFtDPj4zXT1CO3g9QTt5PUM7ej1CfX19d2hpbGUo
MCk7aWYoKHJ8MCkhPTApe2tUKHIpfWlmKChxfDApPjApe2U9cX1lbHNle0Q9ZzticmVha319fWVs
c2V7ZT1nO3doaWxlKDEpe3k9ZS0xfDA7eD1rUChvKXwwO3Y9eDtrWSh4fDAscHwwLGopfDA7dD12
KyhhPDwzKXwwO2NVKHYsdCxkKTtMMjg3OmRve2lmKCh2fDApIT0odHwwKSl7cz12O3doaWxlKDEp
e0U9cys4fDA7aWYoKEV8MCk9PSh0fDApKXticmVhayBMMjg3fUY9K2hbcz4+M107aWYoRj09K2hb
RT4+M10pe2JyZWFrfWVsc2V7cz1FfX1pZigoc3wwKT09KHR8MCkpe2JyZWFrfWVsc2V7Rz1FO0g9
cztJPUZ9d2hpbGUoMSl7dT1HO2Rve3U9dSs4fDA7aWYoKHV8MCk9PSh0fDApKXticmVhayBMMjg3
fUo9K2hbdT4+M107fXdoaWxlKEk9PUopO0E9SCs4fDA7aFtBPj4zXT1KO0c9dTtIPUE7ST1KfX19
d2hpbGUoMCk7aWYoKHh8MCkhPTApe2tUKHgpfWlmKCh5fDApPjApe2U9eX1lbHNle0Q9ZzticmVh
a319fXdoaWxlKDEpe2U9RC0xfDA7Y3UobixtLGUpO2lmKChlfDApPjApe0Q9ZX1lbHNle0w9Zzti
cmVha319d2hpbGUoMSl7RD1MLTF8MDtjdihuLG0sRCk7aWYoKER8MCk+MCl7TD1EfWVsc2V7TT1n
O2JyZWFrfX13aGlsZSgxKXtMPU0tMXwwO2N3KG4sbSxMKTtpZigoTHwwKT4wKXtNPUx9ZWxzZXtO
PWc7YnJlYWt9fXdoaWxlKDEpe009Ti0xfDA7Y3gobixtLE0pO2lmKChNfDApPjApe049TX1lbHNl
e089ZzticmVha319d2hpbGUoMSl7Tj1PLTF8MDtjeShuLG0sTik7aWYoKE58MCk+MCl7Tz1OfWVs
c2V7UD1nO2JyZWFrfX1kb3tQPVAtMXwwO2N6KG4sbSxQKTt9d2hpbGUoKFB8MCk+MCl9UD1jW2s+
PjJdfDA7aWYoKFB8MCk9PTApe2k9YjtyZXR1cm59az1jW2w+PjJdfDA7aWYoKFB8MCkhPShrfDAp
KXtjW2w+PjJdPWsrKH4oKGstOCsoLVB8MCl8MCk+Pj4zKTw8Myl9a1MoUCk7aT1iO3JldHVybn1m
dW5jdGlvbiBjQihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxr
PTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9
MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wO2U9ZHwwO2Y9Y1tl
Pj4yXXwwO2Rve2lmKChmfDApPT0wKXtnPWQ7aD0zMDF9ZWxzZXtpPWNbZCs0Pj4yXXwwO2lmKChp
fDApPT0wKXtqPWY7az1kO2w9ZHwwO2g9MzAzO2JyZWFrfWVsc2V7bT1pO3doaWxlKDEpe2k9Y1tt
Pj4yXXwwO2lmKChpfDApPT0wKXtnPW07aD0zMDE7YnJlYWt9ZWxzZXttPWl9fX19fXdoaWxlKDAp
O2Rve2lmKChofDApPT0zMDEpe2Y9Z3wwO209Y1tnKzQ+PjJdfDA7aWYoKG18MCkhPTApe2o9bTtr
PWc7bD1mO2g9MzAzO2JyZWFrfW49MDtvPTA7cD1nKzh8MDtxPWc7cj1mfX13aGlsZSgwKTtpZigo
aHwwKT09MzAzKXtnPWsrOHwwO2Nbais4Pj4yXT1jW2c+PjJdO249ajtvPTE7cD1nO3E9aztyPWx9
bD1jW3A+PjJdfDA7az1sfDA7ZG97aWYoKHF8MCk9PShjW2s+PjJdfDApKXtjW2s+PjJdPW47aWYo
KHF8MCk9PShifDApKXtzPW47dD0wO2JyZWFrfXM9Yjt0PWNbKGNbcD4+Ml18MCkrND4+Ml18MH1l
bHNle2NbbCs0Pj4yXT1uO3M9Yjt0PWNbY1twPj4yXT4+Ml18MH19d2hpbGUoMCk7Yj1xKzEyfDA7
bD0oYVtiXSYxKT09MDtpZigocXwwKT09KGR8MCkpe3U9c31lbHNle2s9ZCs4fDA7Zz1jW2s+PjJd
fDA7Y1twPj4yXT1nO2lmKChjW2Nbaz4+Ml0+PjJdfDApPT0oZHwwKSl7Y1tnPj4yXT1xfWVsc2V7
Y1tnKzQ+PjJdPXF9Zz1jW2U+PjJdfDA7Y1tyPj4yXT1nO2NbZys4Pj4yXT1xO2c9Y1tkKzQ+PjJd
fDA7Y1txKzQ+PjJdPWc7aWYoKGd8MCkhPTApe2NbZys4Pj4yXT1xfWFbYl09YVtkKzEyfDBdJjE7
dT0oc3wwKT09KGR8MCk/cTpzfWlmKGx8KHV8MCk9PTApe3JldHVybn1pZihvKXthW24rMTJ8MF09
MTtyZXR1cm59ZWxzZXt2PXU7dz10fXdoaWxlKDEpe3Q9dys4fDA7dT1jW3Q+PjJdfDA7bj13KzEy
fDA7bz0oYVtuXSYxKSE9MDtpZigod3wwKT09KGNbdT4+Ml18MCkpe2lmKG8pe3g9djt5PXd9ZWxz
ZXthW25dPTE7YVt1KzEyfDBdPTA7bD1jW3Q+PjJdfDA7cz1sfDA7cT1jW3M+PjJdfDA7ZD1xKzR8
MDtiPWNbZD4+Ml18MDtjW3M+PjJdPWI7aWYoKGJ8MCkhPTApe2NbYis4Pj4yXT1sfWI9bCs4fDA7
Y1txKzg+PjJdPWNbYj4+Ml07cz1jW2I+PjJdfDA7Zz1zfDA7aWYoKGNbZz4+Ml18MCk9PShsfDAp
KXtjW2c+PjJdPXF9ZWxzZXtjW3MrND4+Ml09cX1jW2Q+PjJdPWw7Y1tiPj4yXT1xO3E9Y1t3KzQ+
PjJdfDA7eD0odnwwKT09KHF8MCk/dzp2O3k9Y1txPj4yXXwwfXo9Y1t5Pj4yXXwwO0E9KHp8MCk9
PTA7aWYoIUEpe2lmKChhW3orMTJ8MF0mMSk9PTApe2g9MzY1O2JyZWFrfX1xPWNbeSs0Pj4yXXww
O2lmKChxfDApIT0wKXtpZigoYVtxKzEyfDBdJjEpPT0wKXtoPTM2NDticmVha319YVt5KzEyfDBd
PTA7cT1jW3krOD4+Ml18MDtCPXErMTJ8MDtpZigoYVtCXSYxKT09MHwocXwwKT09KHh8MCkpe2g9
MzYxO2JyZWFrfWI9Y1txKzg+PjJdfDA7bD1jW2I+PjJdfDA7aWYoKHF8MCkhPShsfDApKXt2PXg7
dz1sO2NvbnRpbnVlfXY9eDt3PWNbYis0Pj4yXXwwO2NvbnRpbnVlfWlmKG8pe0M9djtEPXd9ZWxz
ZXthW25dPTE7YVt1KzEyfDBdPTA7dT1jW3Q+PjJdfDA7dD11KzR8MDtuPWNbdD4+Ml18MDtvPW58
MDtiPWNbbz4+Ml18MDtjW3Q+PjJdPWI7aWYoKGJ8MCkhPTApe2NbYis4Pj4yXT11fWI9dSs4fDA7
Y1tuKzg+PjJdPWNbYj4+Ml07dD1jW2I+PjJdfDA7bD10fDA7aWYoKGNbbD4+Ml18MCk9PSh1fDAp
KXtjW2w+PjJdPW59ZWxzZXtjW3QrND4+Ml09bn1jW28+PjJdPXU7Y1tiPj4yXT1uO249Y1t3Pj4y
XXwwO0M9KHZ8MCk9PShufDApP3c6djtEPWNbbis0Pj4yXXwwfUU9RHwwO0Y9Y1tFPj4yXXwwO2lm
KChGfDApIT0wKXtpZigoYVtGKzEyfDBdJjEpPT0wKXtoPTMzNTticmVha319bj1jW0QrND4+Ml18
MDtpZigobnwwKSE9MCl7aWYoKGFbbisxMnwwXSYxKT09MCl7Rz1uO2g9MzM2O2JyZWFrfX1hW0Qr
MTJ8MF09MDtuPWNbRCs4Pj4yXXwwO2lmKChufDApPT0oQ3wwKSl7SD1DO2g9MzMyO2JyZWFrfWlm
KChhW24rMTJ8MF0mMSk9PTApe0g9bjtoPTMzMjticmVha31iPWNbbis4Pj4yXXwwO3U9Y1tiPj4y
XXwwO2lmKChufDApIT0odXwwKSl7dj1DO3c9dTtjb250aW51ZX12PUM7dz1jW2IrND4+Ml18MH1p
ZigoaHwwKT09MzMyKXthW0grMTJ8MF09MTtyZXR1cm59ZWxzZSBpZigoaHwwKT09MzM1KXtIPWNb
RCs0Pj4yXXwwO2lmKChIfDApPT0wKXtoPTMzN31lbHNle0c9SDtoPTMzNn19ZWxzZSBpZigoaHww
KT09MzYxKXthW0JdPTE7cmV0dXJufWVsc2UgaWYoKGh8MCk9PTM2NCl7aWYoQSl7aD0zNjZ9ZWxz
ZXtoPTM2NX19aWYoKGh8MCk9PTMzNil7aWYoKGFbRysxMnwwXSYxKT09MCl7ST1EO2g9MzQzfWVs
c2V7aD0zMzd9fWVsc2UgaWYoKGh8MCk9PTM2NSl7aWYoKGFbeisxMnwwXSYxKT09MCl7Sj15O2g9
MzcyfWVsc2V7aD0zNjZ9fWlmKChofDApPT0zMzcpe2FbRisxMnwwXT0xO2FbRCsxMnwwXT0wO0Y9
Y1tFPj4yXXwwO3o9Ris0fDA7Rz1jW3o+PjJdfDA7Y1tFPj4yXT1HO2lmKChHfDApIT0wKXtjW0cr
OD4+Ml09RH1HPUQrOHwwO2NbRis4Pj4yXT1jW0c+PjJdO0U9Y1tHPj4yXXwwO0E9RXwwO2lmKChj
W0E+PjJdfDApPT0oRHwwKSl7Y1tBPj4yXT1GfWVsc2V7Y1tFKzQ+PjJdPUZ9Y1t6Pj4yXT1EO2Nb
Rz4+Ml09RjtJPUY7aD0zNDN9ZWxzZSBpZigoaHwwKT09MzY2KXtGPXkrNHwwO2FbKGNbRj4+Ml18
MCkrMTJ8MF09MTthW3krMTJ8MF09MDtHPWNbRj4+Ml18MDtEPUd8MDt6PWNbRD4+Ml18MDtjW0Y+
PjJdPXo7aWYoKHp8MCkhPTApe2Nbeis4Pj4yXT15fXo9eSs4fDA7Y1tHKzg+PjJdPWNbej4+Ml07
Rj1jW3o+PjJdfDA7RT1GfDA7aWYoKGNbRT4+Ml18MCk9PSh5fDApKXtjW0U+PjJdPUd9ZWxzZXtj
W0YrND4+Ml09R31jW0Q+PjJdPXk7Y1t6Pj4yXT1HO0o9RztoPTM3Mn1pZigoaHwwKT09MzQzKXtH
PUkrOHwwO3o9KGNbRz4+Ml18MCkrMTJ8MDthW0krMTJ8MF09YVt6XSYxO2Fbel09MTthWyhjW0kr
ND4+Ml18MCkrMTJ8MF09MTtJPWNbRz4+Ml18MDtHPUkrNHwwO3o9Y1tHPj4yXXwwO3k9enwwO0Q9
Y1t5Pj4yXXwwO2NbRz4+Ml09RDtpZigoRHwwKSE9MCl7Y1tEKzg+PjJdPUl9RD1JKzh8MDtjW3or
OD4+Ml09Y1tEPj4yXTtHPWNbRD4+Ml18MDtGPUd8MDtpZigoY1tGPj4yXXwwKT09KEl8MCkpe2Nb
Rj4+Ml09en1lbHNle2NbRys0Pj4yXT16fWNbeT4+Ml09STtjW0Q+PjJdPXo7cmV0dXJufWVsc2Ug
aWYoKGh8MCk9PTM3Mil7aD1KKzh8MDt6PShjW2g+PjJdfDApKzEyfDA7YVtKKzEyfDBdPWFbel0m
MTthW3pdPTE7YVsoY1tKPj4yXXwwKSsxMnwwXT0xO0o9Y1toPj4yXXwwO2g9SnwwO3o9Y1toPj4y
XXwwO0Q9eis0fDA7ST1jW0Q+PjJdfDA7Y1toPj4yXT1JO2lmKChJfDApIT0wKXtjW0krOD4+Ml09
Sn1JPUorOHwwO2Nbeis4Pj4yXT1jW0k+PjJdO2g9Y1tJPj4yXXwwO3k9aHwwO2lmKChjW3k+PjJd
fDApPT0oSnwwKSl7Y1t5Pj4yXT16fWVsc2V7Y1toKzQ+PjJdPXp9Y1tEPj4yXT1KO2NbST4+Ml09
ejtyZXR1cm59fWZ1bmN0aW9uIGNDKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3Zh
ciBmPTAsZz0wLGo9MCxrPTAuMCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1
PTAsdj0wO2Y9aTtnPWI7Yj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tiPj4yXT1jW2c+PjJdO2c9
YSs0fDA7aj1jW2I+PjJdfDA7ZG97aWYoKGp8MCkhPShnfDApKXtrPStoW2U+PjNdO2lmKCtoW2or
MTY+PjNdPj1rKXticmVha31iPWd8MDtsPWNbYj4+Ml18MDtpZigobHwwKT09MCl7Y1tkPj4yXT1n
O209YjtpPWY7cmV0dXJuIG18MH1lbHNle249bH13aGlsZSgxKXtpZigraFtuKzE2Pj4zXTxrKXtv
PW4rNHwwO2w9Y1tvPj4yXXwwO2lmKChsfDApPT0wKXtwPTQwNjticmVha31lbHNle249bDtjb250
aW51ZX19ZWxzZXtxPW58MDtsPWNbcT4+Ml18MDtpZigobHwwKT09MCl7cD00MDg7YnJlYWt9ZWxz
ZXtuPWw7Y29udGludWV9fX1pZigocHwwKT09NDA4KXtjW2Q+PjJdPW47bT1xO2k9ZjtyZXR1cm4g
bXwwfWVsc2UgaWYoKHB8MCk9PTQwNil7Y1tkPj4yXT1uO209bztpPWY7cmV0dXJuIG18MH19fXdo
aWxlKDApO289Y1tqPj4yXXwwO2Rve2lmKChqfDApPT0oY1thPj4yXXwwKSl7cj1qfWVsc2V7aWYo
KG98MCk9PTApe249anwwO3doaWxlKDEpe3E9Y1tuKzg+PjJdfDA7aWYoKG58MCk9PShjW3E+PjJd
fDApKXtuPXF9ZWxzZXtzPXE7YnJlYWt9fX1lbHNle249bzt3aGlsZSgxKXtxPWNbbis0Pj4yXXww
O2lmKChxfDApPT0wKXtzPW47YnJlYWt9ZWxzZXtuPXF9fX1rPStoW2U+PjNdO2lmKGs+PStoW3Mr
MTY+PjNdKXtyPXM7YnJlYWt9bj1nfDA7cT1jW24+PjJdfDA7aWYoKHF8MCk9PTApe2NbZD4+Ml09
ZzttPW47aT1mO3JldHVybiBtfDB9ZWxzZXt0PXF9d2hpbGUoMSl7aWYoazwraFt0KzE2Pj4zXSl7
dT10fDA7cT1jW3U+PjJdfDA7aWYoKHF8MCk9PTApe3A9Mzk5O2JyZWFrfWVsc2V7dD1xO2NvbnRp
bnVlfX1lbHNle3Y9dCs0fDA7cT1jW3Y+PjJdfDA7aWYoKHF8MCk9PTApe3A9NDAxO2JyZWFrfWVs
c2V7dD1xO2NvbnRpbnVlfX19aWYoKHB8MCk9PTM5OSl7Y1tkPj4yXT10O209dTtpPWY7cmV0dXJu
IG18MH1lbHNlIGlmKChwfDApPT00MDEpe2NbZD4+Ml09dDttPXY7aT1mO3JldHVybiBtfDB9fX13
aGlsZSgwKTtpZigob3wwKT09MCl7Y1tkPj4yXT1qO209anwwO2k9ZjtyZXR1cm4gbXwwfWVsc2V7
Y1tkPj4yXT1yO209cis0fDA7aT1mO3JldHVybiBtfDB9cmV0dXJuIDB9ZnVuY3Rpb24gY0QoKXtj
QSgxZTUpO3JldHVybiAwfWZ1bmN0aW9uIGNFKGEsYil7YT1hfDA7Yj1ifDA7aWYoKGJ8MCk9PTAp
e3JldHVybn1lbHNle2NFKGEsY1tiPj4yXXwwKTtjRShhLGNbYis0Pj4yXXwwKTtrUyhiKTtyZXR1
cm59fWZ1bmN0aW9uIGNGKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGM9MCxkPTAsZT0wLGY9MCxnPTAs
aj0wLGs9MCxsPTAsbT0wLjA7Yz1pO2k9aSs4fDA7ZD1jfDA7ZT1iLWF8MDtpZigoZXwwKTw9OCl7
aT1jO3JldHVybn1jWShkKTtmPWItOHwwO2lmKGY+Pj4wPmE+Pj4wKXtiPWE7YT1lPj4zO3doaWxl
KDEpe2U9YS0xfDA7ZG97aWYoKGV8MCkhPTApe2lmKChhfDApPT0wKXtnPWNYKGQpfDB9ZWxzZXtq
PTMyLShrWihhfDApfDApfDA7az0oKCgtMT4+PigoMzMtanwwKT4+PjApJmF8MCk9PTApPDwzMT4+
MzEpK2p8MDtqPShrPj4+MCkvKCgoKGsmMzF8MCkhPTApKyhrPj4+NSl8MCk+Pj4wKXwwO2lmKChq
fDApPT0wKXtsPTB9ZWxzZXtsPS0xPj4+KCgzMi1qfDApPj4+MCl9d2hpbGUoMSl7aj0oY1goZCl8
MCkmbDtpZihqPj4+MDxhPj4+MCl7Zz1qO2JyZWFrfX19aWYoKGd8MCk9PTApe2JyZWFrfWo9Yiso
Zzw8Myl8MDttPStoW2I+PjNdO2hbYj4+M109K2hbaj4+M107aFtqPj4zXT1tfX13aGlsZSgwKTtq
PWIrOHwwO2lmKGo+Pj4wPGY+Pj4wKXtiPWo7YT1lfWVsc2V7YnJlYWt9fX1jVyhkKTtpPWM7cmV0
dXJufWZ1bmN0aW9uIGNHKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAs
aj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wO2U9KGR8MCk9PShifDApO2Fb
ZCsxMnwwXT1lJjE7aWYoZSl7cmV0dXJufWVsc2V7Zj1kfXdoaWxlKDEpe2c9Zis4fDA7aD1jW2c+
PjJdfDA7ZD1oKzEyfDA7aWYoKGFbZF0mMSkhPTApe2k9NDg3O2JyZWFrfWo9aCs4fDA7az1jW2o+
PjJdfDA7ZT1jW2s+PjJdfDA7aWYoKGh8MCk9PShlfDApKXtsPWNbays0Pj4yXXwwO2lmKChsfDAp
PT0wKXtpPTQ1MjticmVha31tPWwrMTJ8MDtpZigoYVttXSYxKSE9MCl7aT00NTI7YnJlYWt9YVtk
XT0xO2FbaysxMnwwXT0oa3wwKT09KGJ8MCl8MDthW21dPTF9ZWxzZXtpZigoZXwwKT09MCl7aT00
Njk7YnJlYWt9bT1lKzEyfDA7aWYoKGFbbV0mMSkhPTApe2k9NDY5O2JyZWFrfWFbZF09MTthW2sr
MTJ8MF09KGt8MCk9PShifDApfDA7YVttXT0xfWlmKChrfDApPT0oYnwwKSl7aT00ODQ7YnJlYWt9
ZWxzZXtmPWt9fWlmKChpfDApPT00Njkpe2I9aHwwO2lmKChmfDApPT0oY1tiPj4yXXwwKSl7bT1m
KzR8MDtkPWNbbT4+Ml18MDtjW2I+PjJdPWQ7aWYoKGR8MCk9PTApe249a31lbHNle2NbZCs4Pj4y
XT1oO249Y1tqPj4yXXwwfWNbZz4+Ml09bjtuPWNbaj4+Ml18MDtkPW58MDtpZigoY1tkPj4yXXww
KT09KGh8MCkpe2NbZD4+Ml09Zn1lbHNle2Nbbis0Pj4yXT1mfWNbbT4+Ml09aDtjW2o+PjJdPWY7
bz1mO3A9Y1tnPj4yXXwwfWVsc2V7bz1oO3A9a31hW28rMTJ8MF09MTthW3ArMTJ8MF09MDtvPXAr
NHwwO2c9Y1tvPj4yXXwwO209Z3wwO249Y1ttPj4yXXwwO2Nbbz4+Ml09bjtpZigobnwwKSE9MCl7
Y1tuKzg+PjJdPXB9bj1wKzh8MDtjW2crOD4+Ml09Y1tuPj4yXTtvPWNbbj4+Ml18MDtkPW98MDtp
ZigoY1tkPj4yXXwwKT09KHB8MCkpe2NbZD4+Ml09Z31lbHNle2Nbbys0Pj4yXT1nfWNbbT4+Ml09
cDtjW24+PjJdPWc7cmV0dXJufWVsc2UgaWYoKGl8MCk9PTQ4NCl7cmV0dXJufWVsc2UgaWYoKGl8
MCk9PTQ4Nyl7cmV0dXJufWVsc2UgaWYoKGl8MCk9PTQ1Mil7aWYoKGZ8MCk9PShjW2g+PjJdfDAp
KXtxPWg7cj1rfWVsc2V7Zj1oKzR8MDtpPWNbZj4+Ml18MDtnPWl8MDtuPWNbZz4+Ml18MDtjW2Y+
PjJdPW47aWYoKG58MCk9PTApe3M9a31lbHNle2Nbbis4Pj4yXT1oO3M9Y1tqPj4yXXwwfW49aSs4
fDA7Y1tuPj4yXT1zO3M9Y1tqPj4yXXwwO2s9c3wwO2lmKChjW2s+PjJdfDApPT0oaHwwKSl7Y1tr
Pj4yXT1pfWVsc2V7Y1tzKzQ+PjJdPWl9Y1tnPj4yXT1oO2Nbaj4+Ml09aTtxPWk7cj1jW24+PjJd
fDB9YVtxKzEyfDBdPTE7YVtyKzEyfDBdPTA7cT1yfDA7bj1jW3E+PjJdfDA7aT1uKzR8MDtqPWNb
aT4+Ml18MDtjW3E+PjJdPWo7aWYoKGp8MCkhPTApe2Nbais4Pj4yXT1yfWo9cis4fDA7Y1tuKzg+
PjJdPWNbaj4+Ml07cT1jW2o+PjJdfDA7aD1xfDA7aWYoKGNbaD4+Ml18MCk9PShyfDApKXtjW2g+
PjJdPW59ZWxzZXtjW3ErND4+Ml09bn1jW2k+PjJdPXI7Y1tqPj4yXT1uO3JldHVybn19ZnVuY3Rp
b24gY0goYSxiLGQsZSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaj0wLGs9
MC4wLGw9MC4wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0w
LHk9MCx6PTAsQT0wO2Y9aTtnPWI7Yj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tiPj4yXT1jW2c+
PjJdO2c9YSs0fDA7aj1jW2I+PjJdfDA7ZG97aWYoKGp8MCkhPShnfDApKXtrPStoW2U+PjNdO2w9
K2hbaisxNj4+M107aWYoazxsKXticmVha31pZihsPj1rKXtjW2Q+PjJdPWo7bT1kO2k9ZjtyZXR1
cm4gbXwwfWI9ais0fDA7bj1jW2I+PjJdfDA7bz0obnwwKT09MDtpZihvKXtwPWp8MDt3aGlsZSgx
KXtxPWNbcCs4Pj4yXXwwO2lmKChwfDApPT0oY1txPj4yXXwwKSl7cj1xO2JyZWFrfWVsc2V7cD1x
fX19ZWxzZXtwPW47d2hpbGUoMSl7cT1jW3A+PjJdfDA7aWYoKHF8MCk9PTApe3I9cDticmVha31l
bHNle3A9cX19fXA9Zztkb3tpZigocnwwKSE9KHB8MCkpe2lmKGs8K2hbcisxNj4+M10pe2JyZWFr
fW49Z3wwO3E9Y1tuPj4yXXwwO2lmKChxfDApPT0wKXtjW2Q+PjJdPXA7bT1uO2k9ZjtyZXR1cm4g
bXwwfWVsc2V7cz1xfXdoaWxlKDEpe2w9K2hbcysxNj4+M107aWYoazxsKXt0PXN8MDtxPWNbdD4+
Ml18MDtpZigocXwwKT09MCl7dT01MjE7YnJlYWt9ZWxzZXtzPXE7Y29udGludWV9fWlmKGw+PWsp
e3U9NTI1O2JyZWFrfXY9cys0fDA7cT1jW3Y+PjJdfDA7aWYoKHF8MCk9PTApe3U9NTI0O2JyZWFr
fWVsc2V7cz1xfX1pZigodXwwKT09NTIxKXtjW2Q+PjJdPXM7bT10O2k9ZjtyZXR1cm4gbXwwfWVs
c2UgaWYoKHV8MCk9PTUyNCl7Y1tkPj4yXT1zO209djtpPWY7cmV0dXJuIG18MH1lbHNlIGlmKCh1
fDApPT01MjUpe2NbZD4+Ml09czttPWQ7aT1mO3JldHVybiBtfDB9fX13aGlsZSgwKTtpZihvKXtj
W2Q+PjJdPWo7bT1iO2k9ZjtyZXR1cm4gbXwwfWVsc2V7Y1tkPj4yXT1yO209cnwwO2k9ZjtyZXR1
cm4gbXwwfX19d2hpbGUoMCk7cj1jW2o+PjJdfDA7ZG97aWYoKGp8MCk9PShjW2E+PjJdfDApKXt3
PWp9ZWxzZXtpZigocnwwKT09MCl7cz1qfDA7d2hpbGUoMSl7dj1jW3MrOD4+Ml18MDtpZigoc3ww
KT09KGNbdj4+Ml18MCkpe3M9dn1lbHNle3g9djticmVha319fWVsc2V7cz1yO3doaWxlKDEpe2I9
Y1tzKzQ+PjJdfDA7aWYoKGJ8MCk9PTApe3g9czticmVha31lbHNle3M9Yn19fWs9K2hbZT4+M107
aWYoK2hbeCsxNj4+M108ayl7dz14O2JyZWFrfXM9Z3wwO2I9Y1tzPj4yXXwwO2lmKChifDApPT0w
KXtjW2Q+PjJdPWc7bT1zO2k9ZjtyZXR1cm4gbXwwfWVsc2V7eT1ifXdoaWxlKDEpe2w9K2hbeSsx
Nj4+M107aWYoazxsKXt6PXl8MDtiPWNbej4+Ml18MDtpZigoYnwwKT09MCl7dT01MDI7YnJlYWt9
ZWxzZXt5PWI7Y29udGludWV9fWlmKGw+PWspe3U9NTA2O2JyZWFrfUE9eSs0fDA7Yj1jW0E+PjJd
fDA7aWYoKGJ8MCk9PTApe3U9NTA1O2JyZWFrfWVsc2V7eT1ifX1pZigodXwwKT09NTA1KXtjW2Q+
PjJdPXk7bT1BO2k9ZjtyZXR1cm4gbXwwfWVsc2UgaWYoKHV8MCk9PTUwNil7Y1tkPj4yXT15O209
ZDtpPWY7cmV0dXJuIG18MH1lbHNlIGlmKCh1fDApPT01MDIpe2NbZD4+Ml09eTttPXo7aT1mO3Jl
dHVybiBtfDB9fX13aGlsZSgwKTtpZigocnwwKT09MCl7Y1tkPj4yXT1qO209anwwO2k9ZjtyZXR1
cm4gbXwwfWVsc2V7Y1tkPj4yXT13O209dys0fDA7aT1mO3JldHVybiBtfDB9cmV0dXJuIDB9ZnVu
Y3Rpb24gY0koYixkLGUsZil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxqPTAsaz0w
LGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAs
ej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MC4wLEg9MCxJPTA7Zz1pO2o9ZDtkPWk7aT1p
Kzh8MDtjW2Q+PjJdPWNbaj4+Ml07Y1tkKzQ+PjJdPWNbais0Pj4yXTtqPWU7ZT1pO2k9aSs4fDA7
Y1tlPj4yXT1jW2o+PjJdO2NbZSs0Pj4yXT1jW2orND4+Ml07aj1mO2Y9aTtpPWkrMXwwO2k9aSs3
Pj4zPDwzO2FbZl09YVtqXXwwO2o9ZHwwO2Y9ZCs0fDA7az1jW2Y+PjJdfDA7bD1jW2U+PjJdfDA7
bT1jW2UrND4+Ml18MDtMNjU1OmRve2lmKChrfDApPT0obXwwKSl7bj1rO289bDtwPTU0OX1lbHNl
e2U9Y1tqPj4yXXwwO3E9ZTtyPWs7cz1jW2U+PjJdfDA7d2hpbGUoMSl7ZT1yKzh8MDtpZigoZS1z
fDApPT00MDk2KXt0PXErNHwwO3U9Y1t0Pj4yXXwwO3Y9dDt3PXU7eD11fWVsc2V7dj1xO3c9ZTt4
PXN9aWYoKHd8MCk9PShtfDApKXticmVha31pZigraFtyPj4zXT09K2hbdz4+M10pe249cjtvPXE7
cD01NDk7YnJlYWsgTDY1NX1lbHNle3E9djtyPXc7cz14fX1jW2o+PjJdPWw7Y1tmPj4yXT1tfX13
aGlsZSgwKTtkb3tpZigocHwwKT09NTQ5KXtjW2o+PjJdPW87Y1tmPj4yXT1uO2lmKChufDApPT0o
bXwwKSl7YnJlYWt9bD1uKzh8MDt4PWNbbz4+Ml18MDtpZigobC14fDApPT00MDk2KXt3PW8rNHww
O3Y9Y1t3Pj4yXXwwO3k9dzt6PXY7QT12O0I9bjtDPW99ZWxzZXt5PW87ej1sO0E9eDtCPW47Qz1v
fXdoaWxlKDEpe3g9eis4fDA7aWYoKHgtQXwwKT09NDA5Nil7bD15KzR8MDt2PWNbbD4+Ml18MDtE
PWw7RT12O0Y9dn1lbHNle0Q9eTtFPXg7Rj1BfWlmKChFfDApPT0obXwwKSl7YnJlYWt9Rz0raFtF
Pj4zXTtpZigraFtCPj4zXT09Ryl7eT1EO3o9RTtBPUY7Qj1CO0M9Qztjb250aW51ZX14PUIrOHww
O2NbZj4+Ml09eDtpZigoeC0oY1tDPj4yXXwwKXwwKT09NDA5Nil7dj1DKzR8MDtjW2o+PjJdPXY7
bD1jW3Y+PjJdfDA7Y1tmPj4yXT1sO0g9djtJPWx9ZWxzZXtIPUM7ST14fWhbST4+M109Rzt5PUQ7
ej1FO0E9Y1tEPj4yXXwwO0I9STtDPUh9eD1CKzh8MDtjW2Y+PjJdPXg7aWYoKHgtKGNbQz4+Ml18
MCl8MCkhPTQwOTYpe2JyZWFrfXg9Qys0fDA7Y1tqPj4yXT14O2NbZj4+Ml09Y1t4Pj4yXX19d2hp
bGUoMCk7Zj1kO2Q9YjtiPWNbZis0Pj4yXXwwO2NbZD4+Ml09Y1tmPj4yXTtjW2QrND4+Ml09Yjtp
PWc7cmV0dXJufWZ1bmN0aW9uIGNKKGEsYixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7
Zj1mfDA7dmFyIGc9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0w
LHU9MCx2PTAsdz0wLjAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAuMCxEPTA7Zz1pO2k9aSs0OHww
O2o9YjtiPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2I+PjJdPWNbaj4+Ml07aj1kO2Q9aTtpPWkr
NHwwO2k9aSs3Pj4zPDwzO2NbZD4+Ml09Y1tqPj4yXTtqPWd8MDtrPWcrOHwwO2w9ZysxNnwwO209
ZysyNHwwO249ZyszMnwwO289Zys0MHwwO3N3aXRjaChlfDApe2Nhc2UgMjp7cD1kfDA7cT1jW2Nb
cD4+Ml0+PjJdfDA7Y1twPj4yXT1xO3A9Y1tiPj4yXXwwO2lmKCtoW3ErOD4+M108K2hbcCs4Pj4z
XSl7cj1xKzR8MDtzPXF8MDtjWyhjW3M+PjJdfDApKzQ+PjJdPWNbcj4+Ml07Y1tjW3I+PjJdPj4y
XT1jW3M+PjJdO3Q9cHwwO2NbKGNbdD4+Ml18MCkrND4+Ml09cTtjW3M+PjJdPWNbdD4+Ml07Y1t0
Pj4yXT1xO2Nbcj4+Ml09cDtjW2E+PjJdPXE7aT1nO3JldHVybn1lbHNle2NbYT4+Ml09cDtpPWc7
cmV0dXJufWJyZWFrfTtjYXNlIDA6Y2FzZSAxOntjW2E+PjJdPWNbYj4+Ml07aT1nO3JldHVybn07
ZGVmYXVsdDp7cD1lPj4+MTtxPWJ8MDtiPWNbcT4+Ml18MDtpZigocHwwKT09MCl7dT1ifWVsc2V7
cj1wO3Q9Yjt3aGlsZSgxKXtzPXItMXwwO3Y9Y1t0KzQ+PjJdfDA7aWYoKHN8MCk+MCl7cj1zO3Q9
dn1lbHNle3U9djticmVha319fWNbaz4+Ml09YjtjW2w+PjJdPXU7Y0ooaixrLGwscCxmKTtsPWNb
aj4+Ml18MDtjW3E+PjJdPWw7Y1tuPj4yXT11O3U9ZHwwO2Q9Y1t1Pj4yXXwwO2Nbbz4+Ml09ZDtj
SihtLG4sbyxlLXB8MCxmKTtmPWNbbT4+Ml18MDt3PStoW2wrOD4+M107aWYoK2hbZis4Pj4zXTx3
KXttPWNbZis0Pj4yXXwwO0w2OTc6ZG97aWYoKG18MCk9PShkfDApKXt4PWR9ZWxzZXtwPW07d2hp
bGUoMSl7aWYoK2hbcCs4Pj4zXT49dyl7eD1wO2JyZWFrIEw2OTd9ZT1jW3ArND4+Ml18MDtpZigo
ZXwwKT09KGR8MCkpe3g9ZDticmVha31lbHNle3A9ZX19fX13aGlsZSgwKTttPWNbeD4+Ml18MDtw
PW0rNHwwO2U9ZnwwO2NbKGNbZT4+Ml18MCkrND4+Ml09Y1twPj4yXTtjW2NbcD4+Ml0+PjJdPWNb
ZT4+Ml07bz1jW2wrND4+Ml18MDtuPWx8MDtjWyhjW24+PjJdfDApKzQ+PjJdPWY7Y1tlPj4yXT1j
W24+PjJdO2Nbbj4+Ml09bTtjW3A+PjJdPWw7eT1mO3o9eDtBPW99ZWxzZXt5PWw7ej1mO0E9Y1ts
KzQ+PjJdfDB9Y1txPj4yXT1BO0w3MDQ6ZG97aWYoKEF8MCkhPSh6fDApKXtsPXo7Zj16O289QTt4
PWQ7d2hpbGUoMSl7cD1sKzh8MDtpZigobHwwKT09KHh8MCkpe2JyZWFrIEw3MDR9ZWxzZXtCPW99
d2hpbGUoMSl7Qz0raFtCKzg+PjNdO2lmKCtoW3A+PjNdPEMpe2JyZWFrfW09Y1tCKzQ+PjJdfDA7
Y1txPj4yXT1tO2lmKChtfDApPT0oZnwwKSl7YnJlYWsgTDcwNH1lbHNle0I9bX19cD1jW2wrND4+
Ml18MDtMNzExOmRve2lmKChwfDApPT0oeHwwKSl7RD14fWVsc2V7bT1wO3doaWxlKDEpe2lmKCto
W20rOD4+M10+PUMpe0Q9bTticmVhayBMNzExfW49Y1ttKzQ+PjJdfDA7aWYoKG58MCk9PSh4fDAp
KXtEPXg7YnJlYWt9ZWxzZXttPW59fX19d2hpbGUoMCk7cD1jW0Q+PjJdfDA7bT1wKzR8MDtuPWx8
MDtjWyhjW24+PjJdfDApKzQ+PjJdPWNbbT4+Ml07Y1tjW20+PjJdPj4yXT1jW24+PjJdO2U9Y1tC
KzQ+PjJdfDA7aj0oZnwwKT09KGx8MCk/RDpmO2s9QnwwO2NbKGNbaz4+Ml18MCkrND4+Ml09bDtj
W24+PjJdPWNbaz4+Ml07Y1trPj4yXT1wO2NbbT4+Ml09QjtjW3E+PjJdPWU7aWYoKGV8MCk9PShq
fDApKXticmVhayBMNzA0fWw9RDtmPWo7bz1lO3g9Y1t1Pj4yXXwwfX19d2hpbGUoMCk7Y1thPj4y
XT15O2k9ZztyZXR1cm59fX1mdW5jdGlvbiBjSyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFy
IGU9MCxmPTAsZz0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAs
dT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJ
PTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9
MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAsYWI9MCxhYz0wLGFkPTAsYWU9MCxhZj0wLGFnPTAs
YWg9MCxhaT0wLGFqPTAsYWs9MCxhbD0wLGFtPTAsYW49MCxhbz0wLGFwPTAsYXE9MCxhcj0wLGFz
PTAsYXQ9MCxhdT0wLGF2PTAsYXc9MCxheD0wLGF5PTAsYXo9MCxhQT0wLGFCPTAsYUM9MCxhRD0w
LGFFPTAsYUY9MCxhRz0wLjAsYUg9MC4wLGFJPTAuMCxhSj0wLjAsYUs9MC4wLGFMPTAsYU09MCxh
Tj0wLGFPPTAsYVA9MCxhUT0wLGFSPTAsYVM9MC4wLGFUPTAsYVU9MCxhVj0wLGFXPTAsYVg9MCxh
WT0wLGFaPTAsYV89MCxhJD0wLGEwPTAuMCxhMT0wLGEyPTAsYTM9MCxhND0wLGE1PTAsYTY9MCxh
Nz0wLGE4PTAuMCxhOT0wLGJhPTAsYmI9MCxiYz0wLGJkPTAuMCxiZT0wLGJmPTAsYmc9MCxiaD0w
LGJpPTAsYmo9MCxiaz0wLGJsPTAsYm09MCxibj0wLGJvPTAsYnA9MCxicT0wLGJyPTAsYnM9MCxi
dD0wLGJ1PTAuMCxidj0wLGJ3PTAsYng9MCxieT0wLGJ6PTAuMCxiQT0wLGJCPTAsYkM9MCxiRD0w
LGJFPTAsYkY9MCxiRz0wLGJIPTAsYkk9MCxiSj0wLGJLPTAsYkw9MCxiTT0wLGJOPTAsYk89MCxi
UD0wLGJRPTAuMCxiUj0wLGJTPTAsYlQ9MDtlPWk7aT1pKzh8MDtmPWE7YT1pO2k9aSs4fDA7Y1th
Pj4yXT1jW2Y+PjJdO2NbYSs0Pj4yXT1jW2YrND4+Ml07Zj1iO2I9aTtpPWkrOHwwO2NbYj4+Ml09
Y1tmPj4yXTtjW2IrND4+Ml09Y1tmKzQ+PjJdO2Y9ZXwwO2c9ZjtqPWk7aT1pKzh8MDtrPWo7bD1p
O2k9aSs4fDA7bT1sO249aTtpPWkrOHwwO289bjtwPWk7aT1pKzh8MDtxPXA7cj1pO2k9aSs4fDA7
cz1yO3Q9aTtpPWkrOHwwO3U9dDt2PWk7aT1pKzh8MDt3PXY7eD1pO2k9aSs4fDA7eT14O3o9aTtp
PWkrOHwwO0E9aTtpPWkrOHwwO0I9aTtpPWkrOHwwO0M9aTtpPWkrOHwwO0Q9QztFPWk7aT1pKzh8
MDtGPWk7aT1pKzh8MDtHPWk7aT1pKzh8MDtIPUc7ST1pO2k9aSs4fDA7Sj1JO0s9aTtpPWkrOHww
O0w9aTtpPWkrOHwwO009aTtpPWkrOHwwO049TTtPPWIrNHwwO1A9Y1tPPj4yXXwwO1E9YSs0fDA7
Uj1jW1E+PjJdfDA7aWYoKFB8MCk9PShSfDApKXtpPWU7cmV0dXJufVM9YnwwO1Q9YXwwO1U9YTth
PXkrNHwwO1Y9eDtXPXp8MDtYPXorNHwwO1k9QXwwO1o9QSs0fDA7Xz1CfDA7JD1CKzR8MDthYT1F
fDA7YWI9RSs0fDA7YWM9RnwwO2FkPUYrNHwwO2FlPWI7Yj1LfDA7YWY9Sys0fDA7YWc9THwwO2Fo
PUwrNHwwO2FpPVA7UD1SO0w3MjU6d2hpbGUoMSl7YWo9Y1tTPj4yXXwwO1I9Y1tUPj4yXXwwO2Fr
PWNbYWo+PjJdfDA7YWw9Y1tSPj4yXXwwO2FtPVAtYWw+PjM7YW49KGFpLWFrPj4zKSsoYWotUjw8
NyktYW18MDtzd2l0Y2goYW58MCl7Y2FzZSA1Onthbz02MzA7YnJlYWsgTDcyNTticmVha307Y2Fz
ZSA0Onthbz02MTA7YnJlYWsgTDcyNTticmVha307Y2FzZSAyOnthbz01OTM7YnJlYWsgTDcyNTti
cmVha307Y2FzZSAzOnthbz01OTc7YnJlYWsgTDcyNTticmVha307Y2FzZSAwOmNhc2UgMTp7YW89
NzYwO2JyZWFrIEw3MjU7YnJlYWt9O2RlZmF1bHQ6e319aWYoKGFufDApPDMxKXthbz02NDM7YnJl
YWt9aWYoKGFpfDApPT0oYWt8MCkpe2FwPWFqLTR8MDthcT1hcDthcj0oY1thcD4+Ml18MCkrNDA5
NnwwfWVsc2V7YXE9YWo7YXI9YWl9YXA9YXItOHwwO2FzPShhbnwwKS8yfDA7YXQ9KGFuKzF8MCk+
Pj4wPjI7ZG97aWYoKGFufDApPjk5OSl7ZG97aWYoYXQpe2F1PWFtK2FzfDA7aWYoKGF1fDApPjAp
e2F2PVIrKCgoYXV8MCkvNTEyfDApPDwyKXwwO2F3PWNbYXY+PjJdfDA7YXg9YXcrKCgoYXV8MCkl
NTEyfDApPDwzKXwwO2F5PWF2O2F6PWF3O2JyZWFrfWVsc2V7YXc9NTExLWF1fDA7YXU9UisoKChh
d3wwKS8tNTEyfDApPDwyKXwwO2F2PWNbYXU+PjJdfDA7YXg9YXYrKDUxMS0oKGF3fDApJTUxMnww
KTw8Myl8MDtheT1hdTthej1hdjticmVha319ZWxzZXtheD1QO2F5PVI7YXo9YWx9fXdoaWxlKDAp
O2F2PShhbnwwKS80fDA7YXU9Y1tVPj4yXXwwO2F3PWNbVSs0Pj4yXXwwO2Nbdj4+Ml09YXU7Y1t2
KzQ+PjJdPWF3O2NbeD4+Ml09YXU7Y1t4KzQ+PjJdPWF3O2FBPShhbiszfDApPj4+MD42O2FCPWF1
O2Rve2lmKGFBKXthdT0oYXctKGNbYUI+PjJdfDApPj4zKSthdnwwO2lmKChhdXwwKT4wKXthQz1h
QisoKChhdXwwKS81MTJ8MCk8PDIpfDA7Y1tWPj4yXT1hQztjW2E+PjJdPShjW2FDPj4yXXwwKSso
KChhdXwwKSU1MTJ8MCk8PDMpO2NbVz4+Ml09YXk7Y1tYPj4yXT1heDtjW1k+PjJdPWF5O2NbWj4+
Ml09YXg7aWYoIWFBKXticmVha319ZWxzZXthQz01MTEtYXV8MDthdT1hQisoKChhQ3wwKS8tNTEy
fDApPDwyKXwwO2NbVj4+Ml09YXU7Y1thPj4yXT0oY1thdT4+Ml18MCkrKDUxMS0oKGFDfDApJTUx
MnwwKTw8Myk7Y1tXPj4yXT1heTtjW1g+PjJdPWF4O2NbWT4+Ml09YXk7Y1taPj4yXT1heH1hQz0o
YXgtYXo+PjMpK2F2fDA7aWYoKGFDfDApPjApe2F1PWF5KygoKGFDfDApLzUxMnwwKTw8Mil8MDtj
W1k+PjJdPWF1O2NbWj4+Ml09KGNbYXU+PjJdfDApKygoKGFDfDApJTUxMnwwKTw8Myk7YnJlYWt9
ZWxzZXthdT01MTEtYUN8MDthQz1heSsoKChhdXwwKS8tNTEyfDApPDwyKXwwO2NbWT4+Ml09YUM7
Y1taPj4yXT0oY1thQz4+Ml18MCkrKDUxMS0oKGF1fDApJTUxMnwwKTw8Myk7YnJlYWt9fWVsc2V7
Y1tXPj4yXT1heTtjW1g+PjJdPWF4O2NbWT4+Ml09YXk7Y1taPj4yXT1heH19d2hpbGUoMCk7Y1tf
Pj4yXT1hcTtjWyQ+PjJdPWFwO2FEPWNMKHcseSx6LEEsQiwwKXwwO2FFPWF4fWVsc2V7ZG97aWYo
YXQpe2F2PWFtK2FzfDA7aWYoKGF2fDApPjApe2FGPShjW1IrKCgoYXZ8MCkvNTEyfDApPDwyKT4+
Ml18MCkrKCgoYXZ8MCklNTEyfDApPDwzKXwwO2JyZWFrfWVsc2V7YUI9NTExLWF2fDA7YUY9KGNb
UisoKChhQnwwKS8tNTEyfDApPDwyKT4+Ml18MCkrKDUxMS0oKGFCfDApJTUxMnwwKTw8Myl8MDti
cmVha319ZWxzZXthRj1QfX13aGlsZSgwKTthQj1jW1UrND4+Ml18MDthRz0raFthRj4+M107YUg9
K2hbYUI+PjNdO2FJPStoW2FwPj4zXTthdj1hSTxhRztpZihhRz49YUgpe2lmKCFhdil7YUQ9MDth
RT1hRjticmVha31oW2FGPj4zXT1hSTtoW2FwPj4zXT1hRzthSj0raFthRj4+M107YUs9K2hbYUI+
PjNdO2lmKGFKPj1hSyl7YUQ9MTthRT1hRjticmVha31oW2FCPj4zXT1hSjtoW2FGPj4zXT1hSzth
RD0yO2FFPWFGO2JyZWFrfWlmKGF2KXtoW2FCPj4zXT1hSTtoW2FwPj4zXT1hSDthRD0xO2FFPWFG
O2JyZWFrfWhbYUI+PjNdPWFHO2hbYUY+PjNdPWFIO2FHPStoW2FwPj4zXTtpZihhRz49YUgpe2FE
PTE7YUU9YUY7YnJlYWt9aFthRj4+M109YUc7aFthcD4+M109YUg7YUQ9MjthRT1hRn19d2hpbGUo
MCk7Uj1jW1Q+PjJdfDA7YXM9Y1tRPj4yXXwwO2FIPStoW2FzPj4zXTthRz0raFthRT4+M107ZG97
aWYoYUg8YUcpe2FMPWFEO2FNPWFxO2FOPWFwO2FvPTcwN31lbHNle2FtPWFxO2F0PWFwO2FuPWNb
YXE+PjJdfDA7d2hpbGUoMSl7aWYoKGF0fDApPT0oYW58MCkpe2FsPWFtLTR8MDthQj1jW2FsPj4y
XXwwO2FPPWFsO2FQPWFCKzQwOTZ8MDthUT1hQn1lbHNle2FPPWFtO2FQPWF0O2FRPWFufWFSPWFQ
LTh8MDtpZigoYXN8MCk9PShhUnwwKSl7YnJlYWt9YVM9K2hbYVI+PjNdO2lmKGFTPGFHKXthbz03
MDY7YnJlYWt9ZWxzZXthbT1hTzthdD1hUjthbj1hUX19aWYoKGFvfDApPT03MDYpe2FvPTA7aFth
cz4+M109YVM7aFthUj4+M109YUg7YUw9YUQrMXwwO2FNPWFPO2FOPWFSO2FvPTcwNzticmVha31h
bj1hcys4fDA7YXQ9Y1tSPj4yXXwwO2lmKChhbi1hdHwwKT09NDA5Nil7YW09Uis0fDA7YUI9Y1th
bT4+Ml18MDthVD1hQjthVT1hbTthVj1hQn1lbHNle2FUPWFuO2FVPVI7YVY9YXR9YXQ9Y1tTPj4y
XXwwO2FuPWNbTz4+Ml18MDtpZigoYW58MCk9PShjW2F0Pj4yXXwwKSl7YUI9YXQtNHwwO2FXPWFC
O2FYPShjW2FCPj4yXXwwKSs0MDk2fDB9ZWxzZXthVz1hdDthWD1hbn1hbj1hWC04fDA7YUk9K2hb
YW4+PjNdO2Rve2lmKGFIPGFJKXthWT1hVDthWj1hVTthXz1hVn1lbHNle2F0PWFUO2FCPWFVO2Ft
PWFWO0w3ODY6d2hpbGUoMSl7YSQ9YXQ7d2hpbGUoMSl7aWYoKGEkfDApPT0oYW58MCkpe2FvPTc2
NzticmVhayBMNzI1fWEwPStoW2EkPj4zXTtpZihhSDxhMCl7YnJlYWsgTDc4Nn1hbD1hJCs4fDA7
aWYoKGFsLWFtfDApPT00MDk2KXticmVha31lbHNle2EkPWFsfX1hbD1hQis0fDA7YXY9Y1thbD4+
Ml18MDthdD1hdjthQj1hbDthbT1hdn1oW2EkPj4zXT1hSTtoW2FuPj4zXT1hMDthbT1hJCs4fDA7
YXQ9Y1thQj4+Ml18MDtpZigoYW0tYXR8MCkhPTQwOTYpe2FZPWFtO2FaPWFCO2FfPWF0O2JyZWFr
fWF0PWFCKzR8MDthbT1jW2F0Pj4yXXwwO2FZPWFtO2FaPWF0O2FfPWFtfX13aGlsZSgwKTtpZigo
YVl8MCk9PShhbnwwKSl7YW89NzY4O2JyZWFrIEw3MjV9ZWxzZXthMT1hWTthMj1hWjthMz1hVzth
ND1hbjthNT1hX313aGlsZSgxKXthST0raFtjW1E+PjJdPj4zXTthbT1hMTthNj1hMjthdD1hNTtM
Nzk4OndoaWxlKDEpe2E3PWFtO3doaWxlKDEpe2E4PStoW2E3Pj4zXTtpZihhSTxhOCl7YnJlYWsg
TDc5OH1hdj1hNys4fDA7aWYoKGF2LWF0fDApPT00MDk2KXticmVha31lbHNle2E3PWF2fX1hdj1h
Nis0fDA7YWw9Y1thdj4+Ml18MDthbT1hbDthNj1hdjthdD1hbH1hdD1hMzthbT1hNDthQj1jW2Ez
Pj4yXXwwO3doaWxlKDEpe2lmKChhbXwwKT09KGFCfDApKXthbD1hdC00fDA7YXY9Y1thbD4+Ml18
MDthOT1hbDtiYT1hdis0MDk2fDA7YmI9YXZ9ZWxzZXthOT1hdDtiYT1hbTtiYj1hQn1iYz1iYS04
fDA7YmQ9K2hbYmM+PjNdO2lmKGFJPGJkKXthdD1hOTthbT1iYzthQj1iYn1lbHNle2JyZWFrfX1p
ZihhNj4+PjA+PWE5Pj4+MCl7aWYoYTc+Pj4wPj1iYz4+PjB8KGE2fDApIT0oYTl8MCkpe2JyZWFr
fX1oW2E3Pj4zXT1iZDtoW2JjPj4zXT1hODthQj1hNys4fDA7YW09Y1thNj4+Ml18MDtpZigoYUIt
YW18MCkhPTQwOTYpe2ExPWFCO2EyPWE2O2EzPWE5O2E0PWJjO2E1PWFtO2NvbnRpbnVlfWFtPWE2
KzR8MDthQj1jW2FtPj4yXXwwO2ExPWFCO2EyPWFtO2EzPWE5O2E0PWJjO2E1PWFCfWNbVD4+Ml09
YTY7Y1tRPj4yXT1hNztiZT1hN319d2hpbGUoMCk7TDgxNjpkb3tpZigoYW98MCk9PTcwNyl7YW89
MDthcD1hcys4fDA7YW49Y1tSPj4yXXwwO2lmKChhcC1hbnwwKT09NDA5Nil7YUI9Uis0fDA7YW09
Y1thQj4+Ml18MDtiZj1hbTtiZz1hQjtiaD1hbX1lbHNle2JmPWFwO2JnPVI7Ymg9YW59aWYoYmc+
Pj4wPGFNPj4+MCl7Ymk9YUw7Ymo9YmY7Yms9Ymc7Ymw9YUU7Ym09YU07Ym49YU47Ym89Ymg7YW89
NzExfWVsc2V7aWYoKGJnfDApPT0oYU18MCkmYmY+Pj4wPGFOPj4+MCl7Ymk9YUw7Ymo9YmY7Yms9
Ymc7Ymw9YUU7Ym09YU07Ym49YU47Ym89Ymg7YW89NzExfWVsc2V7YnA9YUw7YnE9YmY7YnI9Ymc7
YnM9YUV9fUw4MjM6ZG97aWYoKGFvfDApPT03MTEpe3doaWxlKDEpe2FvPTA7YUg9K2hbYmw+PjNd
O2FuPWJqO2FwPWJrO2FtPWJvO0w4MjY6d2hpbGUoMSl7YnQ9YW47d2hpbGUoMSl7YnU9K2hbYnQ+
PjNdO2lmKGJ1Pj1hSCl7YnJlYWsgTDgyNn1hQj1idCs4fDA7aWYoKGFCLWFtfDApPT00MDk2KXti
cmVha31lbHNle2J0PWFCfX1hQj1hcCs0fDA7YXQ9Y1thQj4+Ml18MDthbj1hdDthcD1hQjthbT1h
dH1hbT1ibTthbj1ibjthdD1jW2JtPj4yXXwwO3doaWxlKDEpe2lmKChhbnwwKT09KGF0fDApKXth
Qj1hbS00fDA7YXY9Y1thQj4+Ml18MDtidj1hQjtidz1hdis0MDk2fDA7Yng9YXZ9ZWxzZXtidj1h
bTtidz1hbjtieD1hdH1ieT1idy04fDA7Yno9K2hbYnk+PjNdO2lmKGJ6Pj1hSCl7YW09YnY7YW49
Ynk7YXQ9Ynh9ZWxzZXticmVha319aWYoYnY+Pj4wPGFwPj4+MCl7YnA9Ymk7YnE9YnQ7YnI9YXA7
YnM9Ymw7YnJlYWsgTDgyM31pZigoYnZ8MCk9PShhcHwwKSZieT4+PjA8YnQ+Pj4wKXticD1iaTti
cT1idDticj1hcDticz1ibDticmVhayBMODIzfWhbYnQ+PjNdPWJ6O2hbYnk+PjNdPWJ1O2F0PWJp
KzF8MDthbj0oYmx8MCk9PShidHwwKT9ieTpibDthbT1idCs4fDA7YXY9Y1thcD4+Ml18MDtpZigo
YW0tYXZ8MCkhPTQwOTYpe2JpPWF0O2JqPWFtO2JrPWFwO2JsPWFuO2JtPWJ2O2JuPWJ5O2JvPWF2
O2FvPTcxMTtjb250aW51ZX1hdj1hcCs0fDA7YW09Y1thdj4+Ml18MDtiaT1hdDtiaj1hbTtiaz1h
djtibD1hbjtibT1idjtibj1ieTtibz1hbTthbz03MTF9fX13aGlsZSgwKTtkb3tpZigoYnF8MCk9
PShic3wwKSl7YkE9YnB9ZWxzZXthSD0raFticz4+M107YUc9K2hbYnE+PjNdO2lmKGFIPj1hRyl7
YkE9YnA7YnJlYWt9aFticT4+M109YUg7aFticz4+M109YUc7YkE9YnArMXwwfX13aGlsZSgwKTtk
b3tpZigoYkF8MCk9PTApe2FtPWNbVSs0Pj4yXXwwO2NbQz4+Ml09Y1tVPj4yXTtjW0MrND4+Ml09
YW07Y1thYT4+Ml09YnI7Y1thYj4+Ml09YnE7YW09Y04oRCxFLDApfDA7Y1thYz4+Ml09YnI7Y1th
ZD4+Ml09YnE7YW49YnEtKGNbYnI+PjJdfDApPj4zO2F2PWFuKzF8MDtpZigoYXZ8MCk+MCl7YXQ9
YnIrKCgoYXZ8MCkvNTEyfDApPDwyKXwwO2NbYWM+PjJdPWF0O2JCPShjW2F0Pj4yXXwwKSsoKChh
dnwwKSU1MTJ8MCk8PDMpfDB9ZWxzZXthdj01MTAtYW58MDthbj1icisoKChhdnwwKS8tNTEyfDAp
PDwyKXwwO2NbYWM+PjJdPWFuO2JCPShjW2FuPj4yXXwwKSsoNTExLSgoYXZ8MCklNTEyfDApPDwz
KXwwfWNbYWQ+PjJdPWJCO2F2PWNbYWUrND4+Ml18MDtjW0c+PjJdPWNbYWU+PjJdO2NbRys0Pj4y
XT1hdjtpZihjTihGLEgsMCl8MCl7aWYoYW0pe2FvPTc3MDticmVhayBMNzI1fWNbUz4+Ml09YnI7
Y1tPPj4yXT1icTtiZT1jW1E+PjJdfDA7YnJlYWsgTDgxNn1pZighYW0pe2JyZWFrfWFtPWJxKzh8
MDtpZigoYW0tKGNbYnI+PjJdfDApfDApPT00MDk2KXthdj1icis0fDA7YkM9Y1thdj4+Ml18MDti
RD1hdn1lbHNle2JDPWFtO2JEPWJyfWNbVD4+Ml09YkQ7Y1tRPj4yXT1iQztiZT1iQzticmVhayBM
ODE2fX13aGlsZSgwKTthbT1jW1E+PjJdfDA7aWYoKGJxfDApPT0oYW18MCkpe2JFPTB9ZWxzZXth
dj1jW1Q+PjJdfDA7YkU9KGJxLShjW2JyPj4yXXwwKT4+MykrKGJyLWF2PDw3KS0oYW0tKGNbYXY+
PjJdfDApPj4zKXwwfWF2PWNbTz4+Ml18MDtpZigoYXZ8MCk9PShicXwwKSl7YkY9MH1lbHNle2Fu
PWNbUz4+Ml18MDtiRj0oYXYtKGNbYW4+PjJdfDApPj4zKSsoYW4tYnI8PDcpLShicS0oY1ticj4+
Ml18MCk+PjMpfDB9aWYoKGJFfDApPChiRnwwKSl7YW49Y1tVKzQ+PjJdfDA7Y1tJPj4yXT1jW1U+
PjJdO2NbSSs0Pj4yXT1hbjtjW2I+PjJdPWJyO2NbYWY+PjJdPWJxO2NLKEosSyxkKTthbj1icSs4
fDA7aWYoKGFuLShjW2JyPj4yXXwwKXwwKT09NDA5Nil7YXY9YnIrNHwwO2JHPWNbYXY+PjJdfDA7
Ykg9YXZ9ZWxzZXtiRz1hbjtiSD1icn1jW1Q+PjJdPWJIO2NbUT4+Ml09Ykc7YmU9Ykc7YnJlYWt9
Y1thZz4+Ml09YnI7Y1thaD4+Ml09YnE7YW49YnEtKGNbYnI+PjJdfDApPj4zO2F2PWFuKzF8MDtp
ZigoYXZ8MCk+MCl7YXQ9YnIrKCgoYXZ8MCkvNTEyfDApPDwyKXwwO2NbYWc+PjJdPWF0O2JJPShj
W2F0Pj4yXXwwKSsoKChhdnwwKSU1MTJ8MCk8PDMpfDB9ZWxzZXthdj01MTAtYW58MDthbj1iciso
KChhdnwwKS8tNTEyfDApPDwyKXwwO2NbYWc+PjJdPWFuO2JJPShjW2FuPj4yXXwwKSsoNTExLSgo
YXZ8MCklNTEyfDApPDwzKXwwfWNbYWg+PjJdPWJJO2F2PWNbYWUrND4+Ml18MDtjW00+PjJdPWNb
YWU+PjJdO2NbTSs0Pj4yXT1hdjtjSyhMLE4sZCk7Y1tTPj4yXT1icjtjW08+PjJdPWJxO2JlPWFt
fX13aGlsZSgwKTtSPWNbTz4+Ml18MDtpZigoUnwwKT09KGJlfDApKXthbz03Njk7YnJlYWt9ZWxz
ZXthaT1SO1A9YmV9fWlmKChhb3wwKT09NjMwKXtiZT1jW1U+PjJdfDA7YnE9Y1tVKzQ+PjJdfDA7
Y1tmPj4yXT1iZTtjW2YrND4+Ml09YnE7Y1tqPj4yXT1iZTtjW2orND4+Ml09YnE7Zj1icTticj1q
O2o9YmU7ZD1mLShjW2o+PjJdfDApPj4zO049ZCsxfDA7aWYoKE58MCk+MCl7TD1qKygoKE58MCkv
NTEyfDApPDwyKXwwO2NbYnI+PjJdPUw7Yko9KGNbTD4+Ml18MCkrKCgoTnwwKSU1MTJ8MCk8PDMp
fDB9ZWxzZXtOPTUxMC1kfDA7ZD1qKygoKE58MCkvLTUxMnwwKTw8Mil8MDtjW2JyPj4yXT1kO2JK
PShjW2Q+PjJdfDApKyg1MTEtKChOfDApJTUxMnwwKTw8Myl8MH1jW2srND4+Ml09Yko7Y1tsPj4y
XT1iZTtjW2wrND4+Ml09YnE7Yko9bDtsPWYtKGNbaj4+Ml18MCk+PjM7Tj1sKzJ8MDtpZigoTnww
KT4wKXtkPWorKCgoTnwwKS81MTJ8MCk8PDIpfDA7Y1tiSj4+Ml09ZDtiSz0oY1tkPj4yXXwwKSso
KChOfDApJTUxMnwwKTw8Myl8MH1lbHNle049NTA5LWx8MDtsPWorKCgoTnwwKS8tNTEyfDApPDwy
KXwwO2NbYko+PjJdPWw7Yks9KGNbbD4+Ml18MCkrKDUxMS0oKE58MCklNTEyfDApPDwzKXwwfWNb
bSs0Pj4yXT1iSztjW24+PjJdPWJlO2Nbbis0Pj4yXT1icTticT1uO249Zi0oY1tqPj4yXXwwKT4+
MztmPW4rM3wwO2lmKChmfDApPjApe2JlPWorKCgoZnwwKS81MTJ8MCk8PDIpfDA7Y1ticT4+Ml09
YmU7Ykw9KGNbYmU+PjJdfDApKygoKGZ8MCklNTEyfDApPDwzKXwwfWVsc2V7Zj01MDgtbnwwO249
aisoKChmfDApLy01MTJ8MCk8PDIpfDA7Y1ticT4+Ml09bjtiTD0oY1tuPj4yXXwwKSsoNTExLSgo
ZnwwKSU1MTJ8MCk8PDMpfDB9Y1tvKzQ+PjJdPWJMO2lmKChhaXwwKT09KGFrfDApKXtiTD1hai00
fDA7Y1tTPj4yXT1iTDtmPShjW2JMPj4yXXwwKSs0MDk2fDA7Y1tPPj4yXT1mO2JNPWZ9ZWxzZXti
TT1haX1jW08+PjJdPWJNLTg7Yk09Y1thZSs0Pj4yXXwwO2NbcD4+Ml09Y1thZT4+Ml07Y1twKzQ+
PjJdPWJNO2NMKGcsayxtLG8scSwwKXwwO2k9ZTtyZXR1cm59ZWxzZSBpZigoYW98MCk9PTYxMCl7
cT1jW1U+PjJdfDA7bz1jW1UrND4+Ml18MDttPW87az1vLShjW3E+PjJdfDApPj4zO289aysxfDA7
aWYoKG98MCk+MCl7Yk49KGNbcSsoKChvfDApLzUxMnwwKTw8Mik+PjJdfDApKygoKG98MCklNTEy
fDApPDwzKXwwfWVsc2V7bz01MTAta3wwO2JOPShjW3ErKCgob3wwKS8tNTEyfDApPDwyKT4+Ml18
MCkrKDUxMS0oKG98MCklNTEyfDApPDwzKXwwfW89aysyfDA7aWYoKG98MCk+MCl7Yk89KGNbcSso
KChvfDApLzUxMnwwKTw8Mik+PjJdfDApKygoKG98MCklNTEyfDApPDwzKXwwfWVsc2V7bz01MDkt
a3wwO2JPPShjW3ErKCgob3wwKS8tNTEyfDApPDwyKT4+Ml18MCkrKDUxMS0oKG98MCklNTEyfDAp
PDwzKXwwfWlmKChhaXwwKT09KGFrfDApKXtvPWFqLTR8MDtjW1M+PjJdPW87cT0oY1tvPj4yXXww
KSs0MDk2fDA7Y1tPPj4yXT1xO2JQPXF9ZWxzZXtiUD1haX1jW08+PjJdPWJQLTg7YlA9Y1thZSs0
Pj4yXXwwO2J1PStoW2JOPj4zXTtiej0raFttPj4zXTthOD0raFtiTz4+M107cT1hODxidTtkb3tp
ZihidTxieil7aWYocSl7aFttPj4zXT1hODtoW2JPPj4zXT1iejtiUT1iejticmVha31oW20+PjNd
PWJ1O2hbYk4+PjNdPWJ6O2JkPStoW2JPPj4zXTtpZihiZD49Ynope2JRPWJkO2JyZWFrfWhbYk4+
PjNdPWJkO2hbYk8+PjNdPWJ6O2JRPWJ6fWVsc2V7aWYoIXEpe2JRPWE4O2JyZWFrfWhbYk4+PjNd
PWE4O2hbYk8+PjNdPWJ1O2JkPStoW2JOPj4zXTthMD0raFttPj4zXTtpZihiZD49YTApe2JRPWJ1
O2JyZWFrfWhbbT4+M109YmQ7aFtiTj4+M109YTA7YlE9K2hbYk8+PjNdfX13aGlsZSgwKTtidT0r
aFtiUD4+M107aWYoYnU+PWJRKXtpPWU7cmV0dXJufWhbYk8+PjNdPWJ1O2hbYlA+PjNdPWJRO2JR
PStoW2JPPj4zXTtidT0raFtiTj4+M107aWYoYlE+PWJ1KXtpPWU7cmV0dXJufWhbYk4+PjNdPWJR
O2hbYk8+PjNdPWJ1O2J1PStoW2JOPj4zXTtiUT0raFttPj4zXTtpZihidT49YlEpe2k9ZTtyZXR1
cm59aFttPj4zXT1idTtoW2JOPj4zXT1iUTtpPWU7cmV0dXJufWVsc2UgaWYoKGFvfDApPT02NDMp
e2JOPWNbVSs0Pj4yXXwwO2Nbcj4+Ml09Y1tVPj4yXTtjW3IrND4+Ml09Yk47Yk49Y1thZSs0Pj4y
XXwwO2NbdD4+Ml09Y1thZT4+Ml07Y1t0KzQ+PjJdPWJOO2NNKHMsdSwwKTtpPWU7cmV0dXJufWVs
c2UgaWYoKGFvfDApPT01OTMpe2lmKChhaXwwKT09KGFrfDApKXt1PWFqLTR8MDtjW1M+PjJdPXU7
cz0oY1t1Pj4yXXwwKSs0MDk2fDA7Y1tPPj4yXT1zO2JSPXN9ZWxzZXtiUj1haX1zPWJSLTh8MDtj
W08+PjJdPXM7YlE9K2hbcz4+M107YnU9K2hbUD4+M107aWYoYlE+PWJ1KXtpPWU7cmV0dXJufWhb
UD4+M109YlE7aFtzPj4zXT1idTtpPWU7cmV0dXJufWVsc2UgaWYoKGFvfDApPT01OTcpe3M9Y1tV
Pj4yXXwwO1A9Y1tVKzQ+PjJdfDA7VT1QO2JSPVAtKGNbcz4+Ml18MCk+PjM7UD1iUisxfDA7aWYo
KFB8MCk+MCl7YlM9KGNbcysoKChQfDApLzUxMnwwKTw8Mik+PjJdfDApKygoKFB8MCklNTEyfDAp
PDwzKXwwfWVsc2V7UD01MTAtYlJ8MDtiUz0oY1tzKygoKFB8MCkvLTUxMnwwKTw8Mik+PjJdfDAp
Kyg1MTEtKChQfDApJTUxMnwwKTw8Myl8MH1pZigoYWl8MCk9PShha3wwKSl7YWs9YWotNHwwO2Nb
Uz4+Ml09YWs7Uz0oY1thaz4+Ml18MCkrNDA5NnwwO2NbTz4+Ml09UztiVD1TfWVsc2V7YlQ9YWl9
Y1tPPj4yXT1iVC04O2JUPWNbYWUrND4+Ml18MDtidT0raFtiUz4+M107YlE9K2hbVT4+M107YTg9
K2hbYlQ+PjNdO2FlPWE4PGJ1O2lmKGJ1Pj1iUSl7aWYoIWFlKXtpPWU7cmV0dXJufWhbYlM+PjNd
PWE4O2hbYlQ+PjNdPWJ1O2J6PStoW2JTPj4zXTthMD0raFtVPj4zXTtpZihiej49YTApe2k9ZTty
ZXR1cm59aFtVPj4zXT1iejtoW2JTPj4zXT1hMDtpPWU7cmV0dXJufWlmKGFlKXtoW1U+PjNdPWE4
O2hbYlQ+PjNdPWJRO2k9ZTtyZXR1cm59aFtVPj4zXT1idTtoW2JTPj4zXT1iUTtidT0raFtiVD4+
M107aWYoYnU+PWJRKXtpPWU7cmV0dXJufWhbYlM+PjNdPWJ1O2hbYlQ+PjNdPWJRO2k9ZTtyZXR1
cm59ZWxzZSBpZigoYW98MCk9PTc2MCl7aT1lO3JldHVybn1lbHNlIGlmKChhb3wwKT09NzY3KXtp
PWU7cmV0dXJufWVsc2UgaWYoKGFvfDApPT03Njgpe2k9ZTtyZXR1cm59ZWxzZSBpZigoYW98MCk9
PTc2OSl7aT1lO3JldHVybn1lbHNlIGlmKChhb3wwKT09NzcwKXtpPWU7cmV0dXJufX1mdW5jdGlv
biBjTChhLGIsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7dmFy
IGo9MCxrPTAsbD0wLG09MCxuPTAuMCxvPTAuMCxwPTAuMCxxPTAscj0wLHM9MC4wLHQ9MC4wLHU9
MC4wLHY9MCx3PTA7Zz1pO2o9YTthPWk7aT1pKzh8MDtjW2E+PjJdPWNbaj4+Ml07Y1thKzQ+PjJd
PWNbais0Pj4yXTtqPWI7Yj1pO2k9aSs4fDA7Y1tiPj4yXT1jW2o+PjJdO2NbYis0Pj4yXT1jW2or
ND4+Ml07aj1kO2Q9aTtpPWkrOHwwO2NbZD4+Ml09Y1tqPj4yXTtjW2QrND4+Ml09Y1tqKzQ+PjJd
O2o9ZTtlPWk7aT1pKzh8MDtjW2U+PjJdPWNbaj4+Ml07Y1tlKzQ+PjJdPWNbais0Pj4yXTtqPWY7
Zj1pO2k9aSs4fDA7Y1tmPj4yXT1jW2o+PjJdO2NbZis0Pj4yXT1jW2orND4+Ml07aj1jW2ErND4+
Ml18MDtrPWNbYis0Pj4yXXwwO2w9Y1tkKzQ+PjJdfDA7bT1jW2UrND4+Ml18MDtuPStoW2s+PjNd
O289K2hbaj4+M107cD0raFtsPj4zXTtxPXA8bjtkb3tpZihuPG8pe2lmKHEpe2hbaj4+M109cDto
W2w+PjNdPW87cj0xO3M9bzticmVha31oW2o+PjNdPW47aFtrPj4zXT1vO3Q9K2hbbD4+M107aWYo
dD49byl7cj0xO3M9dDticmVha31oW2s+PjNdPXQ7aFtsPj4zXT1vO3I9MjtzPW99ZWxzZXtpZigh
cSl7cj0wO3M9cDticmVha31oW2s+PjNdPXA7aFtsPj4zXT1uO3Q9K2hbaz4+M107dT0raFtqPj4z
XTtpZih0Pj11KXtyPTE7cz1uO2JyZWFrfWhbaj4+M109dDtoW2s+PjNdPXU7cj0yO3M9K2hbbD4+
M119fXdoaWxlKDApO249K2hbbT4+M107ZG97aWYobjxzKXtoW2w+PjNdPW47aFttPj4zXT1zO3A9
K2hbbD4+M107bz0raFtrPj4zXTtpZihwPj1vKXt2PXIrMXwwO2JyZWFrfWhbaz4+M109cDtoW2w+
PjNdPW87bz0raFtrPj4zXTtwPStoW2o+PjNdO2lmKG8+PXApe3Y9cisyfDA7YnJlYWt9aFtqPj4z
XT1vO2hbaz4+M109cDt2PXIrM3wwfWVsc2V7dj1yfX13aGlsZSgwKTtyPWNbZis0Pj4yXXwwO2Y9
Y1tlKzQ+PjJdfDA7cz0raFtyPj4zXTtuPStoW2Y+PjNdO2lmKHM+PW4pe3c9djtpPWc7cmV0dXJu
IHd8MH1oW2Y+PjNdPXM7aFtyPj4zXT1uO3I9Y1tkKzQ+PjJdfDA7bj0raFtmPj4zXTtzPStoW3I+
PjNdO2lmKG4+PXMpe3c9disxfDA7aT1nO3JldHVybiB3fDB9aFtyPj4zXT1uO2hbZj4+M109cztm
PWNbYis0Pj4yXXwwO3M9K2hbcj4+M107bj0raFtmPj4zXTtpZihzPj1uKXt3PXYrMnwwO2k9Zzty
ZXR1cm4gd3wwfWhbZj4+M109cztoW3I+PjNdPW47cj1jW2ErND4+Ml18MDtuPStoW2Y+PjNdO3M9
K2hbcj4+M107aWYobj49cyl7dz12KzN8MDtpPWc7cmV0dXJuIHd8MH1oW3I+PjNdPW47aFtmPj4z
XT1zO3c9dis0fDA7aT1nO3JldHVybiB3fDB9ZnVuY3Rpb24gY00oYSxiLGQpe2E9YXwwO2I9Ynww
O2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MC4wLHA9MC4wLHE9
MC4wLHI9MC4wLHM9MC4wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTA7ZD1pO2U9YTth
PWk7aT1pKzh8MDtjW2E+PjJdPWNbZT4+Ml07Y1thKzQ+PjJdPWNbZSs0Pj4yXTtlPWI7Yj1pO2k9
aSs4fDA7Y1tiPj4yXT1jW2U+PjJdO2NbYis0Pj4yXT1jW2UrND4+Ml07ZT1jW2E+PjJdfDA7Zj1h
KzR8MDtnPShjW2Y+PjJdfDApLShjW2U+PjJdfDApPj4zO2o9ZysyfDA7aWYoKGp8MCk+MCl7az1l
KygoKGp8MCkvNTEyfDApPDwyKXwwO2w9KGNbaz4+Ml18MCkrKCgoanwwKSU1MTJ8MCk8PDMpfDA7
bT1rfWVsc2V7az01MDktZ3wwO2c9ZSsoKChrfDApLy01MTJ8MCk8PDIpfDA7bD0oY1tnPj4yXXww
KSsoNTExLSgoa3wwKSU1MTJ8MCk8PDMpfDA7bT1nfWc9YTthPWNbZz4+Ml18MDtrPWNbZys0Pj4y
XXwwO2c9aztlPWstKGNbYT4+Ml18MCk+PjM7az1lKzF8MDtpZigoa3wwKT4wKXtuPShjW2ErKCgo
a3wwKS81MTJ8MCk8PDIpPj4yXXwwKSsoKChrfDApJTUxMnwwKTw8Myl8MH1lbHNle2s9NTEwLWV8
MDtuPShjW2ErKCgoa3wwKS8tNTEyfDApPDwyKT4+Ml18MCkrKDUxMS0oKGt8MCklNTEyfDApPDwz
KXwwfW89K2hbbj4+M107cD0raFtnPj4zXTtxPStoW2w+PjNdO2s9cTxvO2Rve2lmKG88cCl7aWYo
ayl7aFtnPj4zXT1xO2hbbD4+M109cDticmVha31oW2c+PjNdPW87aFtuPj4zXT1wO3I9K2hbbD4+
M107aWYocj49cCl7YnJlYWt9aFtuPj4zXT1yO2hbbD4+M109cH1lbHNle2lmKCFrKXticmVha31o
W24+PjNdPXE7aFtsPj4zXT1vO3I9K2hbbj4+M107cz0raFtnPj4zXTtpZihyPj1zKXticmVha31o
W2c+PjNdPXI7aFtuPj4zXT1zfX13aGlsZSgwKTtuPWwtKGNbbT4+Ml18MCk+PjM7Zz1uKzF8MDtp
ZigoZ3wwKT4wKXtrPW0rKCgoZ3wwKS81MTJ8MCk8PDIpfDA7YT1jW2s+PjJdfDA7dD1rO3U9YSso
KChnfDApJTUxMnwwKTw8Myl8MDt2PWF9ZWxzZXthPTUxMC1ufDA7bj1tKygoKGF8MCkvLTUxMnww
KTw8Mil8MDtnPWNbbj4+Ml18MDt0PW47dT1nKyg1MTEtKChhfDApJTUxMnwwKTw8Myl8MDt2PWd9
Zz1iKzR8MDtiPWw7bD10O3Q9dTt1PW07bT12O0wxMDIyOndoaWxlKDEpe3Y9YjthPXQ7bj11O2s9
bTt3aGlsZSgxKXtpZigoYXwwKT09KGNbZz4+Ml18MCkpe2JyZWFrIEwxMDIyfW89K2hbYT4+M107
cT0raFt2Pj4zXTtpZihvPHEpe2U9bjtqPXY7dz1hO3A9cTt3aGlsZSgxKXtoW3c+PjNdPXA7aWYo
KGp8MCk9PShjW2Y+PjJdfDApKXticmVha31pZigoanwwKT09KGNbZT4+Ml18MCkpe3g9ZS00fDA7
eT14O3o9KGNbeD4+Ml18MCkrNDA5NnwwfWVsc2V7eT1lO3o9an14PXotOHwwO3E9K2hbeD4+M107
aWYobzxxKXtlPXk7dz1qO2o9eDtwPXF9ZWxzZXticmVha319aFtqPj4zXT1vO0E9Y1tsPj4yXXww
fWVsc2V7QT1rfXc9YSs4fDA7aWYoKHctQXwwKT09NDA5Nil7YnJlYWt9ZWxzZXt2PWE7YT13O249
bDtrPUF9fWs9bCs0fDA7bj1jW2s+PjJdfDA7Yj1hO3U9bDtsPWs7dD1uO209bn1pPWQ7cmV0dXJu
fWZ1bmN0aW9uIGNOKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaj0w
LGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAs
eT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAuMCxFPTAuMCxGPTAsRz0wLEg9MC4wLEk9MC4wLEo9MC4w
LEs9MCxMPTAsTT0wLE49MC4wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9
MCxZPTAsWj0wLF89MCwkPTAsYWE9MCxhYj0wLGFjPTAsYWQ9MCxhZT0wLGFmPTA7ZD1pO2k9aSs4
fDA7ZT1hO2E9aTtpPWkrOHwwO2NbYT4+Ml09Y1tlPj4yXTtjW2ErND4+Ml09Y1tlKzQ+PjJdO2U9
YjtiPWk7aT1pKzh8MDtjW2I+PjJdPWNbZT4+Ml07Y1tiKzQ+PjJdPWNbZSs0Pj4yXTtlPWR8MDtm
PWU7Zz1pO2k9aSs4fDA7aj1nO2s9aTtpPWkrOHwwO2w9azttPWk7aT1pKzh8MDtuPW07bz1pO2k9
aSs4fDA7cD1vO3E9Yis0fDA7cj1jW3E+PjJdfDA7cz1hKzR8MDt0PWNbcz4+Ml18MDtpZigocnww
KT09KHR8MCkpe3U9MTtpPWQ7cmV0dXJuIHV8MH12PWJ8MDt3PWNbdj4+Ml18MDt4PWNbYT4+Ml18
MDt5PWNbdz4+Ml18MDt6PXQtKGNbeD4+Ml18MCk+PjM7c3dpdGNoKChyLXk+PjMpKyh3LXg8PDcp
LXp8MCl7Y2FzZSAyOntpZigocnwwKT09KHl8MCkpe0E9dy00fDA7Y1t2Pj4yXT1BO0I9KGNbQT4+
Ml18MCkrNDA5NnwwO2NbcT4+Ml09QjtDPUJ9ZWxzZXtDPXJ9Qj1DLTh8MDtjW3E+PjJdPUI7RD0r
aFtCPj4zXTtFPStoW3Q+PjNdO2lmKEQ+PUUpe3U9MTtpPWQ7cmV0dXJuIHV8MH1oW3Q+PjNdPUQ7
aFtCPj4zXT1FO3U9MTtpPWQ7cmV0dXJuIHV8MH07Y2FzZSAwOmNhc2UgMTp7dT0xO2k9ZDtyZXR1
cm4gdXwwfTtjYXNlIDM6e0I9YTt0PWNbQj4+Ml18MDtDPWNbQis0Pj4yXXwwO0I9QztBPUMtKGNb
dD4+Ml18MCk+PjM7Qz1BKzF8MDtpZigoQ3wwKT4wKXtGPShjW3QrKCgoQ3wwKS81MTJ8MCk8PDIp
Pj4yXXwwKSsoKChDfDApJTUxMnwwKTw8Myl8MH1lbHNle0M9NTEwLUF8MDtGPShjW3QrKCgoQ3ww
KS8tNTEyfDApPDwyKT4+Ml18MCkrKDUxMS0oKEN8MCklNTEyfDApPDwzKXwwfWlmKChyfDApPT0o
eXwwKSl7Qz13LTR8MDtjW3Y+PjJdPUM7dD0oY1tDPj4yXXwwKSs0MDk2fDA7Y1txPj4yXT10O0c9
dH1lbHNle0c9cn1jW3E+PjJdPUctODtHPWNbYis0Pj4yXXwwO0U9K2hbRj4+M107RD0raFtCPj4z
XTtIPStoW0c+PjNdO3Q9SDxFO2lmKEU+PUQpe2lmKCF0KXt1PTE7aT1kO3JldHVybiB1fDB9aFtG
Pj4zXT1IO2hbRz4+M109RTtJPStoW0Y+PjNdO0o9K2hbQj4+M107aWYoST49Sil7dT0xO2k9ZDty
ZXR1cm4gdXwwfWhbQj4+M109STtoW0Y+PjNdPUo7dT0xO2k9ZDtyZXR1cm4gdXwwfWlmKHQpe2hb
Qj4+M109SDtoW0c+PjNdPUQ7dT0xO2k9ZDtyZXR1cm4gdXwwfWhbQj4+M109RTtoW0Y+PjNdPUQ7
RT0raFtHPj4zXTtpZihFPj1EKXt1PTE7aT1kO3JldHVybiB1fDB9aFtGPj4zXT1FO2hbRz4+M109
RDt1PTE7aT1kO3JldHVybiB1fDB9O2Nhc2UgNDp7Rz1hO0Y9Y1tHPj4yXXwwO0I9Y1tHKzQ+PjJd
fDA7Rz1CO3Q9Qi0oY1tGPj4yXXwwKT4+MztCPXQrMXwwO2lmKChCfDApPjApe0s9KGNbRisoKChC
fDApLzUxMnwwKTw8Mik+PjJdfDApKygoKEJ8MCklNTEyfDApPDwzKXwwfWVsc2V7Qj01MTAtdHww
O0s9KGNbRisoKChCfDApLy01MTJ8MCk8PDIpPj4yXXwwKSsoNTExLSgoQnwwKSU1MTJ8MCk8PDMp
fDB9Qj10KzJ8MDtpZigoQnwwKT4wKXtMPShjW0YrKCgoQnwwKS81MTJ8MCk8PDIpPj4yXXwwKSso
KChCfDApJTUxMnwwKTw8Myl8MH1lbHNle0I9NTA5LXR8MDtMPShjW0YrKCgoQnwwKS8tNTEyfDAp
PDwyKT4+Ml18MCkrKDUxMS0oKEJ8MCklNTEyfDApPDwzKXwwfWlmKChyfDApPT0oeXwwKSl7Qj13
LTR8MDtjW3Y+PjJdPUI7Rj0oY1tCPj4yXXwwKSs0MDk2fDA7Y1txPj4yXT1GO009Rn1lbHNle009
cn1jW3E+PjJdPU0tODtNPWNbYis0Pj4yXXwwO0Q9K2hbSz4+M107RT0raFtHPj4zXTtIPStoW0w+
PjNdO0Y9SDxEO2Rve2lmKEQ8RSl7aWYoRil7aFtHPj4zXT1IO2hbTD4+M109RTtOPUU7YnJlYWt9
aFtHPj4zXT1EO2hbSz4+M109RTtKPStoW0w+PjNdO2lmKEo+PUUpe049SjticmVha31oW0s+PjNd
PUo7aFtMPj4zXT1FO049RX1lbHNle2lmKCFGKXtOPUg7YnJlYWt9aFtLPj4zXT1IO2hbTD4+M109
RDtKPStoW0s+PjNdO0k9K2hbRz4+M107aWYoSj49SSl7Tj1EO2JyZWFrfWhbRz4+M109SjtoW0s+
PjNdPUk7Tj0raFtMPj4zXX19d2hpbGUoMCk7RD0raFtNPj4zXTtpZihEPj1OKXt1PTE7aT1kO3Jl
dHVybiB1fDB9aFtMPj4zXT1EO2hbTT4+M109TjtOPStoW0w+PjNdO0Q9K2hbSz4+M107aWYoTj49
RCl7dT0xO2k9ZDtyZXR1cm4gdXwwfWhbSz4+M109TjtoW0w+PjNdPUQ7RD0raFtLPj4zXTtOPSto
W0c+PjNdO2lmKEQ+PU4pe3U9MTtpPWQ7cmV0dXJuIHV8MH1oW0c+PjNdPUQ7aFtLPj4zXT1OO3U9
MTtpPWQ7cmV0dXJuIHV8MH07Y2FzZSA1OntLPWE7Rz1jW0s+PjJdfDA7TD1jW0srND4+Ml18MDtj
W2U+PjJdPUc7Y1tlKzQ+PjJdPUw7Y1tnPj4yXT1HO2NbZys0Pj4yXT1MO2U9TDtLPWc7Zz1HO009
ZS0oY1tnPj4yXXwwKT4+MztGPU0rMXwwO2lmKChGfDApPjApe0I9ZysoKChGfDApLzUxMnwwKTw8
Mil8MDtjW0s+PjJdPUI7Tz0oY1tCPj4yXXwwKSsoKChGfDApJTUxMnwwKTw8Myl8MH1lbHNle0Y9
NTEwLU18MDtNPWcrKCgoRnwwKS8tNTEyfDApPDwyKXwwO2NbSz4+Ml09TTtPPShjW00+PjJdfDAp
Kyg1MTEtKChGfDApJTUxMnwwKTw8Myl8MH1jW2orND4+Ml09TztjW2s+PjJdPUc7Y1trKzQ+PjJd
PUw7Tz1rO2s9ZS0oY1tnPj4yXXwwKT4+MztGPWsrMnwwO2lmKChGfDApPjApe009ZysoKChGfDAp
LzUxMnwwKTw8Mil8MDtjW08+PjJdPU07UD0oY1tNPj4yXXwwKSsoKChGfDApJTUxMnwwKTw8Myl8
MH1lbHNle0Y9NTA5LWt8MDtrPWcrKCgoRnwwKS8tNTEyfDApPDwyKXwwO2NbTz4+Ml09aztQPShj
W2s+PjJdfDApKyg1MTEtKChGfDApJTUxMnwwKTw8Myl8MH1jW2wrND4+Ml09UDtjW20+PjJdPUc7
Y1ttKzQ+PjJdPUw7TD1tO209ZS0oY1tnPj4yXXwwKT4+MztlPW0rM3wwO2lmKChlfDApPjApe0c9
ZysoKChlfDApLzUxMnwwKTw8Mil8MDtjW0w+PjJdPUc7UT0oY1tHPj4yXXwwKSsoKChlfDApJTUx
MnwwKTw8Myl8MH1lbHNle2U9NTA4LW18MDttPWcrKCgoZXwwKS8tNTEyfDApPDwyKXwwO2NbTD4+
Ml09bTtRPShjW20+PjJdfDApKyg1MTEtKChlfDApJTUxMnwwKTw8Myl8MH1jW24rND4+Ml09UTtp
ZigocnwwKT09KHl8MCkpe3k9dy00fDA7Y1t2Pj4yXT15O3Y9KGNbeT4+Ml18MCkrNDA5NnwwO2Nb
cT4+Ml09djtSPXZ9ZWxzZXtSPXJ9Y1txPj4yXT1SLTg7Uj1iO2I9Y1tSKzQ+PjJdfDA7Y1tvPj4y
XT1jW1I+PjJdO2Nbbys0Pj4yXT1iO2NMKGYsaixsLG4scCwwKXwwO3U9MTtpPWQ7cmV0dXJuIHV8
MH07ZGVmYXVsdDp7cD16KzJ8MDtpZigocHwwKT4wKXtuPXgrKCgocHwwKS81MTJ8MCk8PDIpfDA7
Uz1uO1Q9KGNbbj4+Ml18MCkrKCgocHwwKSU1MTJ8MCk8PDMpfDB9ZWxzZXtwPTUwOS16fDA7ej14
KygoKHB8MCkvLTUxMnwwKTw8Mil8MDtTPXo7VD0oY1t6Pj4yXXwwKSsoNTExLSgocHwwKSU1MTJ8
MCk8PDMpfDB9cD1hO2E9Y1twPj4yXXwwO3o9Y1twKzQ+PjJdfDA7cD16O3g9ei0oY1thPj4yXXww
KT4+Mzt6PXgrMXwwO2lmKCh6fDApPjApe1U9KGNbYSsoKCh6fDApLzUxMnwwKTw8Mik+PjJdfDAp
KygoKHp8MCklNTEyfDApPDwzKXwwfWVsc2V7ej01MTAteHwwO1U9KGNbYSsoKCh6fDApLy01MTJ8
MCk8PDIpPj4yXXwwKSsoNTExLSgoenwwKSU1MTJ8MCk8PDMpfDB9Tj0raFtVPj4zXTtEPStoW3A+
PjNdO0g9K2hbVD4+M107ej1IPE47ZG97aWYoTjxEKXtpZih6KXtoW3A+PjNdPUg7aFtUPj4zXT1E
O2JyZWFrfWhbcD4+M109TjtoW1U+PjNdPUQ7RT0raFtUPj4zXTtpZihFPj1EKXticmVha31oW1U+
PjNdPUU7aFtUPj4zXT1EfWVsc2V7aWYoIXope2JyZWFrfWhbVT4+M109SDtoW1Q+PjNdPU47RT0r
aFtVPj4zXTtJPStoW3A+PjNdO2lmKEU+PUkpe2JyZWFrfWhbcD4+M109RTtoW1U+PjNdPUl9fXdo
aWxlKDApO1U9VC0oY1tTPj4yXXwwKT4+MztwPVUrMXwwO2lmKChwfDApPjApe3o9UysoKChwfDAp
LzUxMnwwKTw8Mil8MDthPWNbej4+Ml18MDtWPTA7Vz1hKygoKHB8MCklNTEyfDApPDwzKXwwO1g9
ejtZPVM7Wj1UO189YX1lbHNle2E9NTEwLVV8MDtVPVMrKCgoYXwwKS8tNTEyfDApPDwyKXwwO3o9
Y1tVPj4yXXwwO1Y9MDtXPXorKDUxMS0oKGF8MCklNTEyfDApPDwzKXwwO1g9VTtZPVM7Wj1UO189
en1MMTA2NTp3aGlsZSgxKXt6PVY7JD1XO1Q9WTtTPVo7VT1fO3doaWxlKDEpe2lmKCgkfDApPT0o
Y1txPj4yXXwwKSl7dT0xO2FhPTkwNjticmVhayBMMTA2NX1OPStoWyQ+PjNdO0g9K2hbUz4+M107
aWYoTjxIKXthPVQ7cD1TO3g9JDtEPUg7d2hpbGUoMSl7aFt4Pj4zXT1EO2lmKChwfDApPT0oY1tz
Pj4yXXwwKSl7YnJlYWt9aWYoKHB8MCk9PShjW2E+PjJdfDApKXtuPWEtNHwwO2FiPW47YWM9KGNb
bj4+Ml18MCkrNDA5NnwwfWVsc2V7YWI9YTthYz1wfW49YWMtOHwwO0g9K2hbbj4+M107aWYoTjxI
KXthPWFiO3g9cDtwPW47RD1IfWVsc2V7YnJlYWt9fWhbcD4+M109Tjt4PXorMXwwO2lmKCh4fDAp
PT04KXticmVhayBMMTA2NX1hZD14O2FlPWNbWD4+Ml18MH1lbHNle2FkPXo7YWU9VX14PSQrOHww
O2lmKCh4LWFlfDApPT00MDk2KXticmVha31lbHNle3o9YWQ7Uz0kOyQ9eDtUPVg7VT1hZX19VT1Y
KzR8MDtUPWNbVT4+Ml18MDtWPWFkO1c9VDtZPVg7WD1VO1o9JDtfPVR9aWYoKGFhfDApPT05MDYp
e2k9ZDtyZXR1cm4gdXwwfWFhPSQrOHwwO2lmKChhYS0oY1tYPj4yXXwwKXwwKT09NDA5Nil7YWY9
Y1tYKzQ+PjJdfDB9ZWxzZXthZj1hYX11PShhZnwwKT09KGNbcT4+Ml18MCk7aT1kO3JldHVybiB1
fDB9fXJldHVybiAwfWZ1bmN0aW9uIGNPKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0w
LGY9MCxnPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAs
dT0wLHY9MCx3PTAseD0wLHk9MDtlPWErOHwwO2Y9Y1tlPj4yXXwwO2c9YSs0fDA7aT1jW2c+PjJd
fDA7aWYoKGZ8MCk9PShpfDApKXtqPTB9ZWxzZXtqPShmLWk8PDcpLTF8MH1rPWErMTZ8MDtsPWNb
az4+Ml18MDttPWErMjB8MDtuPWNbbT4+Ml18MDtvPWotbC1ufDA7aWYobz4+PjA8Yj4+PjApe2NR
KGEsYi1vfDApO3A9Y1ttPj4yXXwwO3E9Y1trPj4yXXwwO3I9Y1tnPj4yXXwwO3M9Y1tlPj4yXXww
fWVsc2V7cD1uO3E9bDtyPWk7cz1mfWY9cStwfDA7cD1yKyhmPj4+OTw8Mil8MDtpZigoc3wwKT09
KHJ8MCkpe3Q9MH1lbHNle3Q9KGNbcD4+Ml18MCkrKChmJjUxMSk8PDMpfDB9aWYoKGJ8MCk9PTAp
e3JldHVybn1lbHNle3U9dDt2PXA7dz1ifXdoaWxlKDEpe2lmKCh1fDApIT0wKXtoW3U+PjNdPSto
W2Q+PjNdfWI9dy0xfDA7cD11Kzh8MDtpZigocC0oY1t2Pj4yXXwwKXwwKT09NDA5Nil7dD12KzR8
MDt4PXQ7eT1jW3Q+PjJdfDB9ZWxzZXt4PXY7eT1wfWNbbT4+Ml09KGNbbT4+Ml18MCkrMTtpZigo
YnwwKT09MCl7YnJlYWt9ZWxzZXt1PXk7dj14O3c9Yn19cmV0dXJufWZ1bmN0aW9uIGNQKGEsYil7
YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTA7ZD1hKzR8MDtlPWNbZD4+Ml18MDtmPWF8MDtkb3tp
ZigoZXwwKT09KGNbZj4+Ml18MCkpe2c9YSs4fDA7aD1jW2c+PjJdfDA7aT1hKzEyfDA7aj1jW2k+
PjJdfDA7az1qO2lmKGg+Pj4wPGo+Pj4wKXtqPWg7bD0oKGstaj4+MikrMXwwKS8yfDA7bT1qLWV8
MDtqPWgrKGwtKG0+PjIpPDwyKXwwO2tfKGp8MCxlfDAsbXwwKTtjW2Q+PjJdPWo7Y1tnPj4yXT0o
Y1tnPj4yXXwwKSsobDw8Mik7bj1qO2JyZWFrfWo9ay1lPj4xO2s9KGp8MCk9PTA/MTpqO2o9a08o
azw8Mil8MDtsPWorKChrKzN8MCk+Pj4yPDwyKXwwO209aisoazw8Mil8MDtpZigoZXwwKT09KGh8
MCkpe289bDtwPWV9ZWxzZXtrPWU7cT1sO2Rve2lmKChxfDApPT0wKXtyPTB9ZWxzZXtjW3E+PjJd
PWNbaz4+Ml07cj1xfXE9cis0fDA7az1rKzR8MDt9d2hpbGUoKGt8MCkhPShofDApKTtvPXE7cD1j
W2Y+PjJdfDB9Y1tmPj4yXT1qO2NbZD4+Ml09bDtjW2c+PjJdPW87Y1tpPj4yXT1tO2lmKChwfDAp
PT0wKXtuPWw7YnJlYWt9a1MocCk7bj1jW2Q+PjJdfDB9ZWxzZXtuPWV9fXdoaWxlKDApO2U9bi00
fDA7aWYoKGV8MCk9PTApe3M9bjt0PXMtNHwwO2NbZD4+Ml09dDtyZXR1cm59Y1tlPj4yXT1jW2I+
PjJdO3M9Y1tkPj4yXXwwO3Q9cy00fDA7Y1tkPj4yXT10O3JldHVybn1mdW5jdGlvbiBjUShhLGIp
e2E9YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAs
bz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxD
PTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9
MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAsYWI9MCxh
Yz0wLGFkPTAsYWU9MCxhZj0wLGFnPTAsYWg9MCxhaT0wLGFqPTAsYWs9MDtkPWk7aT1pKzMyfDA7
ZT1kfDA7Zj1kKzh8MDtnPWF8MDtoPWErOHwwO2o9Y1toPj4yXXwwO2s9YSs0fDA7bD1jW2s+PjJd
fDA7bT0oKGp8MCk9PShsfDApKStifDA7Yj0oKG0mNTExfDApIT0wKSsobT4+PjkpfDA7bT1hKzE2
fDA7bj1jW20+PjJdfDA7bz1uPj4+OTtwPWI+Pj4wPG8+Pj4wP2I6bztxPWItcHwwO2lmKChifDAp
PT0ocHwwKSl7Y1ttPj4yXT1uLShiPDw5KTtpZigoYnwwKT09MCl7aT1kO3JldHVybn1uPWErMTJ8
MDtyPWF8MDtzPWI7dD1qO3U9bDt3aGlsZSgxKXt2PWNbdT4+Ml18MDt3PXUrNHwwO2Nbaz4+Ml09
dztkb3tpZigodHwwKT09KGNbbj4+Ml18MCkpe3g9Y1tyPj4yXXwwO2lmKHc+Pj4wPng+Pj4wKXt5
PXc7ej0oKHkteD4+MikrMXwwKS8tMnwwO0E9eisxfDA7Qj10LXl8MDtrXyh1KyhBPDwyKXwwLHd8
MCxCfDApO3k9dSsoQSsoQj4+Mik8PDIpfDA7Y1toPj4yXT15O2Nbaz4+Ml09KGNbaz4+Ml18MCkr
KHo8PDIpO0M9eTticmVha315PXQteD4+MTt6PSh5fDApPT0wPzE6eTt5PWtPKHo8PDIpfDA7Qj15
Kyh6Pj4+Mjw8Mil8MDtBPXkrKHo8PDIpfDA7aWYoKHd8MCk9PSh0fDApKXtEPUI7RT14fWVsc2V7
eD13O3o9Qjtkb3tpZigoenwwKT09MCl7Rj0wfWVsc2V7Y1t6Pj4yXT1jW3g+PjJdO0Y9en16PUYr
NHwwO3g9eCs0fDA7fXdoaWxlKCh4fDApIT0odHwwKSk7RD16O0U9Y1tyPj4yXXwwfWNbcj4+Ml09
eTtjW2s+PjJdPUI7Y1toPj4yXT1EO2Nbbj4+Ml09QTtpZigoRXwwKT09MCl7Qz1EO2JyZWFrfWtT
KEUpO0M9Y1toPj4yXXwwfWVsc2V7Qz10fX13aGlsZSgwKTtpZigoQ3wwKT09MCl7Rz0wfWVsc2V7
Y1tDPj4yXT12O0c9Y1toPj4yXXwwfXc9Rys0fDA7Y1toPj4yXT13O3g9cy0xfDA7aWYoKHh8MCk9
PTApe2JyZWFrfXM9eDt0PXc7dT1jW2s+PjJdfDB9aT1kO3JldHVybn11PWErMTJ8MDt0PXV8MDtz
PWNbdD4+Ml18MDtHPWF8MDthPXMtKGNbRz4+Ml18MCl8MDtDPWotbD4+MjtpZihxPj4+MDw9KChh
Pj4yKS1DfDApPj4+MCl7bD1xO0U9ajtqPXM7d2hpbGUoMSl7aWYoKGp8MCk9PShFfDApKXtIPTk3
MTticmVha31zPWtPKDQwOTYpfDA7aWYoKEV8MCk9PTApe0k9MH1lbHNle2NbRT4+Ml09cztJPWNb
aD4+Ml18MH1zPUkrNHwwO2NbaD4+Ml09cztEPWwtMXwwO2lmKChEfDApPT0wKXtKPXM7SD05NzI7
YnJlYWt9bD1EO0U9cztqPWNbdD4+Ml18MH1kb3tpZigoSHwwKT09OTcxKXtpZigobHwwKT09MCl7
Sj1qO0g9OTcyO2JyZWFrfUU9fm87ST1+YjtzPUU+Pj4wPkk+Pj4wP0U6STtJPWw7ZG97Y1tlPj4y
XT1rTyg0MDk2KXwwO2NQKGcsZSk7ST1JLTF8MDtLPWNbaD4+Ml18MDtMPShjW20+PjJdfDApKzUx
Mi0oKEstKGNbaz4+Ml18MCl8MCk9PTQpfDA7Y1ttPj4yXT1MO313aGlsZSgoSXwwKSE9MCk7TT1s
LTEtc3wwO049SztPPUx9fXdoaWxlKDApO2lmKChIfDApPT05NzIpe009cDtOPUo7Tz1jW20+PjJd
fDB9Y1ttPj4yXT1PLShNPDw5KTtpZigoTXwwKT09MCl7aT1kO3JldHVybn1lbHNle1A9TTtRPU59
ZG97Tj1jW2s+PjJdfDA7TT1jW04+PjJdfDA7Tz1OKzR8MDtjW2s+PjJdPU87ZG97aWYoKFF8MCk9
PShjW3Q+PjJdfDApKXtKPWNbRz4+Ml18MDtpZihPPj4+MD5KPj4+MCl7SD1PO0w9KChILUo+PjIp
KzF8MCkvLTJ8MDtLPUwrMXwwO2w9US1IfDA7a18oTisoSzw8Mil8MCxPfDAsbHwwKTtIPU4rKEsr
KGw+PjIpPDwyKXwwO2NbaD4+Ml09SDtjW2s+PjJdPShjW2s+PjJdfDApKyhMPDwyKTtSPUg7YnJl
YWt9SD1RLUo+PjE7TD0oSHwwKT09MD8xOkg7SD1rTyhMPDwyKXwwO2w9SCsoTD4+PjI8PDIpfDA7
Sz1IKyhMPDwyKXwwO2lmKChPfDApPT0oUXwwKSl7Uz1sO1Q9Sn1lbHNle0o9TztMPWw7ZG97aWYo
KEx8MCk9PTApe1U9MH1lbHNle2NbTD4+Ml09Y1tKPj4yXTtVPUx9TD1VKzR8MDtKPUorNHwwO313
aGlsZSgoSnwwKSE9KFF8MCkpO1M9TDtUPWNbRz4+Ml18MH1jW0c+PjJdPUg7Y1trPj4yXT1sO2Nb
aD4+Ml09UztjW3Q+PjJdPUs7aWYoKFR8MCk9PTApe1I9UzticmVha31rUyhUKTtSPWNbaD4+Ml18
MH1lbHNle1I9UX19d2hpbGUoMCk7aWYoKFJ8MCk9PTApe1Y9MH1lbHNle2NbUj4+Ml09TTtWPWNb
aD4+Ml18MH1RPVYrNHwwO2NbaD4+Ml09UTtQPVAtMXwwO313aGlsZSgoUHwwKSE9MCk7aT1kO3Jl
dHVybn1QPXA8PDk7UT1hPj4xO2E9cStDfDA7Vj1RPj4+MDxhPj4+MD9hOlE7UT1mKzEyfDA7Y1tR
Pj4yXT0wO2NbZisxNj4+Ml09dTtpZigoVnwwKT09MCl7Vz0wfWVsc2V7Vz1rTyhWPDwyKXwwfXU9
ZnwwO2NbdT4+Ml09VzthPVcrKEMtcDw8Mil8MDtDPWYrOHwwO2NbQz4+Ml09YTtSPWYrNHwwO2Nb
Uj4+Ml09YTtUPVcrKFY8PDIpfDA7Y1tRPj4yXT1UO1Y9cTtxPVc7Vz1hO1M9VDtUPWE7d2hpbGUo
MSl7YT1rTyg0MDk2KXwwO2Rve2lmKChXfDApPT0oU3wwKSl7aWYoVD4+PjA+cT4+PjApe1U9VDtP
PSgoVS1xPj4yKSsxfDApLy0yfDA7Tj1TLVV8MDtrXyhUKyhPPDwyKXwwLFR8MCxOfDApO1U9VCso
TysoTj4+Mik8PDIpfDA7Y1tDPj4yXT1VO049KGNbUj4+Ml18MCkrKE88PDIpfDA7Y1tSPj4yXT1O
O1g9VTtZPVM7Wj1xO189TjticmVha31OPVMtcT4+MTtVPShOfDApPT0wPzE6TjtOPWtPKFU8PDIp
fDA7Tz1OKyhVPj4+Mjw8Mil8MDtzPU4rKFU8PDIpfDA7aWYoKFR8MCk9PShTfDApKXskPU87YWE9
cX1lbHNle1U9VDtKPU87ZG97aWYoKEp8MCk9PTApe2FiPTB9ZWxzZXtjW0o+PjJdPWNbVT4+Ml07
YWI9Sn1KPWFiKzR8MDtVPVUrNHwwO313aGlsZSgoVXwwKSE9KFN8MCkpOyQ9SjthYT1jW3U+PjJd
fDB9Y1t1Pj4yXT1OO2NbUj4+Ml09TztjW0M+PjJdPSQ7Y1tRPj4yXT1zO2lmKChhYXwwKT09MCl7
WD0kO1k9cztaPU47Xz1PO2JyZWFrfWtTKGFhKTtYPSQ7WT1zO1o9TjtfPU99ZWxzZXtYPVc7WT1T
O1o9cTtfPVR9fXdoaWxlKDApO2lmKChYfDApPT0wKXthYz0wfWVsc2V7Y1tYPj4yXT1hO2FjPWNb
Qz4+Ml18MH1hZD1hYys0fDA7Y1tDPj4yXT1hZDtNPVYtMXwwO2lmKChNfDApPT0wKXticmVha31l
bHNle1Y9TTtxPVo7Vz1hZDtTPVk7VD1ffX1pZigocHwwKSE9MCl7Xz1wO3A9Y1trPj4yXXwwO1Q9
YWQ7YWQ9WTtZPVo7d2hpbGUoMSl7ZG97aWYoKFR8MCk9PShhZHwwKSl7Wj1jW1I+PjJdfDA7aWYo
Wj4+PjA+WT4+PjApe1M9WjtXPSgoUy1ZPj4yKSsxfDApLy0yfDA7cT1aKyhXPDwyKXwwO1Y9YWQt
U3wwO2tfKHF8MCxafDAsVnwwKTtTPVorKFcrKFY+PjIpPDwyKXwwO2NbQz4+Ml09UztjW1I+PjJd
PXE7YWU9UzthZj1hZDthZz1ZO2JyZWFrfVM9YWQtWT4+MTtxPShTfDApPT0wPzE6UztTPWtPKHE8
PDIpfDA7Vj1TKyhxPj4+Mjw8Mil8MDtXPVMrKHE8PDIpfDA7aWYoKFp8MCk9PShhZHwwKSl7YWg9
VjthaT1ZfWVsc2V7cT1aO1o9Vjtkb3tpZigoWnwwKT09MCl7YWo9MH1lbHNle2NbWj4+Ml09Y1tx
Pj4yXTthaj1afVo9YWorNHwwO3E9cSs0fDA7fXdoaWxlKChxfDApIT0oYWR8MCkpO2FoPVo7YWk9
Y1t1Pj4yXXwwfWNbdT4+Ml09UztjW1I+PjJdPVY7Y1tDPj4yXT1haDtjW1E+PjJdPVc7aWYoKGFp
fDApPT0wKXthZT1haDthZj1XO2FnPVM7YnJlYWt9a1MoYWkpO2FlPWFoO2FmPVc7YWc9U31lbHNl
e2FlPVQ7YWY9YWQ7YWc9WX19d2hpbGUoMCk7aWYoKGFlfDApPT0wKXthaz0wfWVsc2V7Y1thZT4+
Ml09Y1twPj4yXTthaz1jW0M+PjJdfDB9YT1hays0fDA7Y1tDPj4yXT1hO3E9KGNbaz4+Ml18MCkr
NHwwO2Nbaz4+Ml09cTtPPV8tMXwwO2lmKChPfDApPT0wKXticmVha31lbHNle189TztwPXE7VD1h
O2FkPWFmO1k9YWd9fX1hZz1jW2g+PjJdfDA7d2hpbGUoMSl7aWYoKGFnfDApPT0oY1trPj4yXXww
KSl7YnJlYWt9WT1hZy00fDA7Y1MoZixZKTthZz1ZfWY9Y1tHPj4yXXwwO2NbRz4+Ml09Y1t1Pj4y
XTtjW3U+PjJdPWY7Y1trPj4yXT1jW1I+PjJdO2NbUj4+Ml09YWc7Uj1jW2g+PjJdfDA7Y1toPj4y
XT1jW0M+PjJdO2NbQz4+Ml09UjtoPWNbdD4+Ml18MDtjW3Q+PjJdPWNbUT4+Ml07Y1tRPj4yXT1o
O2NbbT4+Ml09KGNbbT4+Ml18MCktUDtpZigoYWd8MCkhPShSfDApKXtjW0M+PjJdPVIrKH4oKFIt
NCsoLWFnfDApfDApPj4+Mik8PDIpfWlmKChmfDApPT0wKXtpPWQ7cmV0dXJufWtTKGYpO2k9ZDty
ZXR1cm59ZnVuY3Rpb24gY1IoYSxiLGMsZCxlLGYpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9
ZXwwO2Y9ZnwwO3ZhciBnPTAuMCxpPTAuMCxqPTAuMCxrPTAsbD0wLjAsbT0wLjAsbj0wLjAsbz0w
LHA9MDtnPStoW2I+PjNdO2k9K2hbYT4+M107aj0raFtjPj4zXTtmPWo8Zztkb3tpZihnPGkpe2lm
KGYpe2hbYT4+M109ajtoW2M+PjNdPWk7az0xO2w9aTticmVha31oW2E+PjNdPWc7aFtiPj4zXT1p
O209K2hbYz4+M107aWYobT49aSl7az0xO2w9bTticmVha31oW2I+PjNdPW07aFtjPj4zXT1pO2s9
MjtsPWl9ZWxzZXtpZighZil7az0wO2w9ajticmVha31oW2I+PjNdPWo7aFtjPj4zXT1nO209K2hb
Yj4+M107bj0raFthPj4zXTtpZihtPj1uKXtrPTE7bD1nO2JyZWFrfWhbYT4+M109bTtoW2I+PjNd
PW47az0yO2w9K2hbYz4+M119fXdoaWxlKDApO2c9K2hbZD4+M107ZG97aWYoZzxsKXtoW2M+PjNd
PWc7aFtkPj4zXT1sO2o9K2hbYz4+M107aT0raFtiPj4zXTtpZihqPj1pKXtvPWsrMXwwO2JyZWFr
fWhbYj4+M109ajtoW2M+PjNdPWk7aT0raFtiPj4zXTtqPStoW2E+PjNdO2lmKGk8ail7aFthPj4z
XT1pO2hbYj4+M109ajtvPWsrM3wwO2JyZWFrfWVsc2V7bz1rKzJ8MDticmVha319ZWxzZXtvPWt9
fXdoaWxlKDApO2w9K2hbZT4+M107Zz0raFtkPj4zXTtpZihsPj1nKXtwPW87cmV0dXJuIHB8MH1o
W2Q+PjNdPWw7aFtlPj4zXT1nO2c9K2hbZD4+M107bD0raFtjPj4zXTtpZihnPj1sKXtwPW8rMXww
O3JldHVybiBwfDB9aFtjPj4zXT1nO2hbZD4+M109bDtsPStoW2M+PjNdO2c9K2hbYj4+M107aWYo
bD49Zyl7cD1vKzJ8MDtyZXR1cm4gcHwwfWhbYj4+M109bDtoW2M+PjNdPWc7Zz0raFtiPj4zXTts
PStoW2E+PjNdO2lmKGc+PWwpe3A9byszfDA7cmV0dXJuIHB8MH1oW2E+PjNdPWc7aFtiPj4zXT1s
O3A9bys0fDA7cmV0dXJuIHB8MH1mdW5jdGlvbiBjUyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTAs
ZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxz
PTAsdD0wO2Q9YSs0fDA7ZT1jW2Q+PjJdfDA7Zj1hfDA7ZG97aWYoKGV8MCk9PShjW2Y+PjJdfDAp
KXtnPWErOHwwO2g9Y1tnPj4yXXwwO2k9YSsxMnwwO2o9Y1tpPj4yXXwwO2s9ajtpZihoPj4+MDxq
Pj4+MCl7aj1oO2w9KChrLWo+PjIpKzF8MCkvMnwwO209ai1lfDA7aj1oKyhsLShtPj4yKTw8Mil8
MDtrXyhqfDAsZXwwLG18MCk7Y1tkPj4yXT1qO2NbZz4+Ml09KGNbZz4+Ml18MCkrKGw8PDIpO249
ajticmVha31qPWstZT4+MTtrPShqfDApPT0wPzE6ajtqPWtPKGs8PDIpfDA7bD1qKygoayszfDAp
Pj4+Mjw8Mil8MDttPWorKGs8PDIpfDA7aWYoKGV8MCk9PShofDApKXtvPWw7cD1lfWVsc2V7az1l
O3E9bDtkb3tpZigocXwwKT09MCl7cj0wfWVsc2V7Y1txPj4yXT1jW2s+PjJdO3I9cX1xPXIrNHww
O2s9ays0fDA7fXdoaWxlKChrfDApIT0oaHwwKSk7bz1xO3A9Y1tmPj4yXXwwfWNbZj4+Ml09ajtj
W2Q+PjJdPWw7Y1tnPj4yXT1vO2NbaT4+Ml09bTtpZigocHwwKT09MCl7bj1sO2JyZWFrfWtTKHAp
O249Y1tkPj4yXXwwfWVsc2V7bj1lfX13aGlsZSgwKTtlPW4tNHwwO2lmKChlfDApPT0wKXtzPW47
dD1zLTR8MDtjW2Q+PjJdPXQ7cmV0dXJufWNbZT4+Ml09Y1tiPj4yXTtzPWNbZD4+Ml18MDt0PXMt
NHwwO2NbZD4+Ml09dDtyZXR1cm59ZnVuY3Rpb24gY1QoKXtjWzI0NDZdPTA7Y1syNDQ3XT0wO2Nb
MjQ0OF09MDthJCg3Miw5Nzg0LHV8MCl8MDtyZXR1cm59ZnVuY3Rpb24gY1UoYSxiLGMpe2E9YXww
O2I9YnwwO2M9Y3wwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAs
bz0wLHA9MC4wLHE9MC4wLHI9MC4wLHM9MC4wLHQ9MC4wLHU9MCx2PTAsdz0wLHg9MC4wLHk9MCx6
PTAuMCxBPTAsQj0wLEM9MCxEPTAuMCxFPTAsRj0wLEc9MC4wLEg9MCxJPTAsSj0wLEs9MC4wLEw9
MCxNPTAsTj0wLjAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAuMCxVPTAsVj0wLFc9MC4wLFg9MCxZ
PTAuMDtkPWE7YT1iO0wxMzk3OndoaWxlKDEpe2I9YTtlPWEtOHwwO2Y9ZDtMMTM5OTp3aGlsZSgx
KXtnPWY7aT1iLWd8MDtqPWk+PjM7c3dpdGNoKGp8MCl7Y2FzZSAzOntrPTExMDI7YnJlYWsgTDEz
OTc7YnJlYWt9O2Nhc2UgNTp7az0xMTIyO2JyZWFrIEwxMzk3O2JyZWFrfTtjYXNlIDI6e2s9MTEw
MDticmVhayBMMTM5NzticmVha307Y2FzZSAwOmNhc2UgMTp7az0xMTg1O2JyZWFrIEwxMzk3O2Jy
ZWFrfTtjYXNlIDQ6e2s9MTExMDticmVhayBMMTM5NzticmVha307ZGVmYXVsdDp7fX1pZigoaXww
KTwyNDgpe2s9MTEyNDticmVhayBMMTM5N31sPShqfDApLzJ8MDttPWYrKGw8PDMpfDA7ZG97aWYo
KGl8MCk+Nzk5Mil7bj0oanwwKS80fDA7bz1jUihmLGYrKG48PDMpfDAsbSxmKyhuK2w8PDMpfDAs
ZSwwKXwwfWVsc2V7cD0raFttPj4zXTtxPStoW2Y+PjNdO3I9K2hbZT4+M107bj1yPHA7aWYocD49
cSl7aWYoIW4pe289MDticmVha31oW20+PjNdPXI7aFtlPj4zXT1wO3M9K2hbbT4+M107dD0raFtm
Pj4zXTtpZihzPj10KXtvPTE7YnJlYWt9aFtmPj4zXT1zO2hbbT4+M109dDtvPTI7YnJlYWt9aWYo
bil7aFtmPj4zXT1yO2hbZT4+M109cTtvPTE7YnJlYWt9aFtmPj4zXT1wO2hbbT4+M109cTtwPSto
W2U+PjNdO2lmKHA+PXEpe289MTticmVha31oW20+PjNdPXA7aFtlPj4zXT1xO289Mn19d2hpbGUo
MCk7cT0raFtmPj4zXTtwPStoW20+PjNdO2Rve2lmKHE8cCl7dT1lO3Y9b31lbHNle2w9ZTt3aGls
ZSgxKXt3PWwtOHwwO2lmKChmfDApPT0od3wwKSl7YnJlYWt9eD0raFt3Pj4zXTtpZih4PHApe2s9
MTE2MjticmVha31lbHNle2w9d319aWYoKGt8MCk9PTExNjIpe2s9MDtoW2Y+PjNdPXg7aFt3Pj4z
XT1xO3U9dzt2PW8rMXwwO2JyZWFrfWw9Zis4fDA7cj0raFtlPj4zXTtpZihxPHIpe3k9bH1lbHNl
e2o9bDt3aGlsZSgxKXtpZigoanwwKT09KGV8MCkpe2s9MTE5NzticmVhayBMMTM5N316PStoW2o+
PjNdO0E9ais4fDA7aWYocTx6KXticmVha31lbHNle2o9QX19aFtqPj4zXT1yO2hbZT4+M109ejt5
PUF9aWYoKHl8MCk9PShlfDApKXtrPTExOTI7YnJlYWsgTDEzOTd9ZWxzZXtCPWU7Qz15fXdoaWxl
KDEpe3Q9K2hbZj4+M107bD1DO3doaWxlKDEpe0Q9K2hbbD4+M107RT1sKzh8MDtpZih0Pj1EKXts
PUV9ZWxzZXtGPUI7YnJlYWt9fWRve0Y9Ri04fDA7Rz0raFtGPj4zXTt9d2hpbGUodDxHKTtpZihs
Pj4+MD49Rj4+PjApe2Y9bDtjb250aW51ZSBMMTM5OX1oW2w+PjNdPUc7aFtGPj4zXT1EO0I9RjtD
PUV9fX13aGlsZSgwKTtqPWYrOHwwO0wxNDM4OmRve2lmKGo+Pj4wPHU+Pj4wKXtpPXU7bj1qO0g9
djtJPW07d2hpbGUoMSl7cT0raFtJPj4zXTtKPW47d2hpbGUoMSl7Sz0raFtKPj4zXTtMPUorOHww
O2lmKEs8cSl7Sj1MfWVsc2V7TT1pO2JyZWFrfX1kb3tNPU0tOHwwO049K2hbTT4+M107fXdoaWxl
KE4+PXEpO2lmKEo+Pj4wPk0+Pj4wKXtPPUo7UD1IO1E9STticmVhayBMMTQzOH1oW0o+PjNdPU47
aFtNPj4zXT1LO2k9TTtuPUw7SD1IKzF8MDtJPShJfDApPT0oSnwwKT9NOkl9fWVsc2V7Tz1qO1A9
djtRPW19fXdoaWxlKDApO2Rve2lmKChPfDApPT0oUXwwKSl7Uj1QfWVsc2V7cT0raFtRPj4zXTtw
PStoW08+PjNdO2lmKHE+PXApe1I9UDticmVha31oW08+PjNdPXE7aFtRPj4zXT1wO1I9UCsxfDB9
fXdoaWxlKDApO2lmKChSfDApPT0wKXtTPWNWKGYsTywwKXwwO209Tys4fDA7aWYoY1YobSxhLDAp
fDApe2s9MTE3NDticmVha31pZihTKXtmPW07Y29udGludWV9fW09TztpZigobS1nfDApPj0oYi1t
fDApKXtrPTExNzg7YnJlYWt9Y1UoZixPLGMpO2Y9Tys4fDB9aWYoKGt8MCk9PTExNzQpe2s9MDtp
ZihTKXtrPTExODY7YnJlYWt9ZWxzZXtkPWY7YT1PO2NvbnRpbnVlfX1lbHNlIGlmKChrfDApPT0x
MTc4KXtrPTA7Y1UoTys4fDAsYSxjKTtkPWY7YT1PO2NvbnRpbnVlfX1pZigoa3wwKT09MTEwMil7
Tz1mKzh8MDtLPStoW08+PjNdO049K2hbZj4+M107RD0raFtlPj4zXTtkPUQ8SztpZihLPj1OKXtp
ZighZCl7cmV0dXJufWhbTz4+M109RDtoW2U+PjNdPUs7Rz0raFtPPj4zXTt6PStoW2Y+PjNdO2lm
KEc+PXope3JldHVybn1oW2Y+PjNdPUc7aFtPPj4zXT16O3JldHVybn1pZihkKXtoW2Y+PjNdPUQ7
aFtlPj4zXT1OO3JldHVybn1oW2Y+PjNdPUs7aFtPPj4zXT1OO0s9K2hbZT4+M107aWYoSz49Til7
cmV0dXJufWhbTz4+M109SztoW2U+PjNdPU47cmV0dXJufWVsc2UgaWYoKGt8MCk9PTExMjIpe2NS
KGYsZis4fDAsZisxNnwwLGYrMjR8MCxlLDApfDA7cmV0dXJufWVsc2UgaWYoKGt8MCk9PTExMjQp
e089ZisxNnwwO2Q9Zis4fDA7Tj0raFtkPj4zXTtLPStoW2Y+PjNdO0Q9K2hbTz4+M107Yz1EPE47
ZG97aWYoTjxLKXtpZihjKXtoW2Y+PjNdPUQ7aFtPPj4zXT1LO1Q9SzticmVha31oW2Y+PjNdPU47
aFtkPj4zXT1LO2lmKEQ+PUspe1Q9RDticmVha31oW2Q+PjNdPUQ7aFtPPj4zXT1LO1Q9S31lbHNl
e2lmKCFjKXtUPUQ7YnJlYWt9aFtkPj4zXT1EO2hbTz4+M109TjtpZihEPj1LKXtUPU47YnJlYWt9
aFtmPj4zXT1EO2hbZD4+M109SztUPU59fXdoaWxlKDApO2Q9ZisyNHwwO2lmKChkfDApPT0oYXww
KSl7cmV0dXJufWVsc2V7VT1PO1Y9ZDtXPVR9d2hpbGUoMSl7VD0raFtWPj4zXTtpZihUPFcpe2Q9
VTtPPVY7Tj1XO3doaWxlKDEpe2hbTz4+M109TjtpZigoZHwwKT09KGZ8MCkpe1g9ZjticmVha31j
PWQtOHwwO0s9K2hbYz4+M107aWYoVDxLKXtPPWQ7ZD1jO049S31lbHNle1g9ZDticmVha319aFtY
Pj4zXT1UfWQ9Vis4fDA7aWYoKGR8MCk9PShhfDApKXticmVha31OPStoW1Y+PjNdO1U9VjtWPWQ7
Vz1OfXJldHVybn1lbHNlIGlmKChrfDApPT0xMTk3KXtyZXR1cm59ZWxzZSBpZigoa3wwKT09MTEw
MCl7Vz0raFtlPj4zXTtOPStoW2Y+PjNdO2lmKFc+PU4pe3JldHVybn1oW2Y+PjNdPVc7aFtlPj4z
XT1OO3JldHVybn1lbHNlIGlmKChrfDApPT0xMTg1KXtyZXR1cm59ZWxzZSBpZigoa3wwKT09MTE4
Nil7cmV0dXJufWVsc2UgaWYoKGt8MCk9PTExOTIpe3JldHVybn1lbHNlIGlmKChrfDApPT0xMTEw
KXtrPWYrOHwwO1Y9ZisxNnwwO049K2hbaz4+M107Vz0raFtmPj4zXTtLPStoW1Y+PjNdO1U9SzxO
O2Rve2lmKE48Vyl7aWYoVSl7aFtmPj4zXT1LO2hbVj4+M109VztZPVc7YnJlYWt9aFtmPj4zXT1O
O2hbaz4+M109VztpZihLPj1XKXtZPUs7YnJlYWt9aFtrPj4zXT1LO2hbVj4+M109VztZPVd9ZWxz
ZXtpZighVSl7WT1LO2JyZWFrfWhbaz4+M109SztoW1Y+PjNdPU47aWYoSz49Vyl7WT1OO2JyZWFr
fWhbZj4+M109SztoW2s+PjNdPVc7WT1OfX13aGlsZSgwKTtOPStoW2U+PjNdO2lmKE4+PVkpe3Jl
dHVybn1oW1Y+PjNdPU47aFtlPj4zXT1ZO1k9K2hbVj4+M107Tj0raFtrPj4zXTtpZihZPj1OKXty
ZXR1cm59aFtrPj4zXT1ZO2hbVj4+M109TjtOPStoW2Y+PjNdO2lmKFk+PU4pe3JldHVybn1oW2Y+
PjNdPVk7aFtrPj4zXT1OO3JldHVybn19ZnVuY3Rpb24gY1YoYSxiLGMpe2E9YXwwO2I9YnwwO2M9
Y3wwO3ZhciBkPTAsZT0wLGY9MC4wLGc9MC4wLGk9MC4wLGo9MCxrPTAuMCxsPTAuMCxtPTAsbj0w
LjAsbz0wLjAscD0wLHE9MCxyPTAscz0wLjAsdD0wLHU9MCx2PTA7c3dpdGNoKGItYT4+M3wwKXtj
YXNlIDA6Y2FzZSAxOntkPTE7cmV0dXJuIGR8MH07Y2FzZSAzOntjPWErOHwwO2U9Yi04fDA7Zj0r
aFtjPj4zXTtnPStoW2E+PjNdO2k9K2hbZT4+M107aj1pPGY7aWYoZj49Zyl7aWYoIWope2Q9MTty
ZXR1cm4gZHwwfWhbYz4+M109aTtoW2U+PjNdPWY7az0raFtjPj4zXTtsPStoW2E+PjNdO2lmKGs+
PWwpe2Q9MTtyZXR1cm4gZHwwfWhbYT4+M109aztoW2M+PjNdPWw7ZD0xO3JldHVybiBkfDB9aWYo
ail7aFthPj4zXT1pO2hbZT4+M109ZztkPTE7cmV0dXJuIGR8MH1oW2E+PjNdPWY7aFtjPj4zXT1n
O2Y9K2hbZT4+M107aWYoZj49Zyl7ZD0xO3JldHVybiBkfDB9aFtjPj4zXT1mO2hbZT4+M109Zztk
PTE7cmV0dXJuIGR8MH07Y2FzZSAyOntlPWItOHwwO2c9K2hbZT4+M107Zj0raFthPj4zXTtpZihn
Pj1mKXtkPTE7cmV0dXJuIGR8MH1oW2E+PjNdPWc7aFtlPj4zXT1mO2Q9MTtyZXR1cm4gZHwwfTtj
YXNlIDQ6e2U9YSs4fDA7Yz1hKzE2fDA7aj1iLTh8MDtmPStoW2U+PjNdO2c9K2hbYT4+M107aT0r
aFtjPj4zXTttPWk8Zjtkb3tpZihmPGcpe2lmKG0pe2hbYT4+M109aTtoW2M+PjNdPWc7bj1nO2Jy
ZWFrfWhbYT4+M109ZjtoW2U+PjNdPWc7aWYoaT49Zyl7bj1pO2JyZWFrfWhbZT4+M109aTtoW2M+
PjNdPWc7bj1nfWVsc2V7aWYoIW0pe249aTticmVha31oW2U+PjNdPWk7aFtjPj4zXT1mO2lmKGk+
PWcpe249ZjticmVha31oW2E+PjNdPWk7aFtlPj4zXT1nO249Zn19d2hpbGUoMCk7Zj0raFtqPj4z
XTtpZihmPj1uKXtkPTE7cmV0dXJuIGR8MH1oW2M+PjNdPWY7aFtqPj4zXT1uO249K2hbYz4+M107
Zj0raFtlPj4zXTtpZihuPj1mKXtkPTE7cmV0dXJuIGR8MH1oW2U+PjNdPW47aFtjPj4zXT1mO2Y9
K2hbYT4+M107aWYobj49Zil7ZD0xO3JldHVybiBkfDB9aFthPj4zXT1uO2hbZT4+M109ZjtkPTE7
cmV0dXJuIGR8MH07Y2FzZSA1OntjUihhLGErOHwwLGErMTZ8MCxhKzI0fDAsYi04fDAsMCl8MDtk
PTE7cmV0dXJuIGR8MH07ZGVmYXVsdDp7ZT1hKzE2fDA7Yz1hKzh8MDtmPStoW2M+PjNdO249K2hb
YT4+M107Zz0raFtlPj4zXTtqPWc8Zjtkb3tpZihmPG4pe2lmKGope2hbYT4+M109ZztoW2U+PjNd
PW47bz1uO2JyZWFrfWhbYT4+M109ZjtoW2M+PjNdPW47aWYoZz49bil7bz1nO2JyZWFrfWhbYz4+
M109ZztoW2U+PjNdPW47bz1ufWVsc2V7aWYoIWope289ZzticmVha31oW2M+PjNdPWc7aFtlPj4z
XT1mO2lmKGc+PW4pe289ZjticmVha31oW2E+PjNdPWc7aFtjPj4zXT1uO289Zn19d2hpbGUoMCk7
Yz1hKzI0fDA7aWYoKGN8MCk9PShifDApKXtkPTE7cmV0dXJuIGR8MH1lbHNle3A9ZTtxPTA7cj1j
O3M9b313aGlsZSgxKXtvPStoW3I+PjNdO2lmKG88cyl7Yz1wO2U9cjtmPXM7d2hpbGUoMSl7aFtl
Pj4zXT1mO2lmKChjfDApPT0oYXwwKSl7dD1hO2JyZWFrfWo9Yy04fDA7bj0raFtqPj4zXTtpZihv
PG4pe2U9YztjPWo7Zj1ufWVsc2V7dD1jO2JyZWFrfX1oW3Q+PjNdPW87Yz1xKzF8MDtpZigoY3ww
KT09OCl7YnJlYWt9ZWxzZXt1PWN9fWVsc2V7dT1xfWM9cis4fDA7aWYoKGN8MCk9PShifDApKXtk
PTE7dj0xMjU2O2JyZWFrfWY9K2hbcj4+M107cD1yO3E9dTtyPWM7cz1mfWlmKCh2fDApPT0xMjU2
KXtyZXR1cm4gZHwwfWQ9KHIrOHwwKT09KGJ8MCk7cmV0dXJuIGR8MH19cmV0dXJuIDB9ZnVuY3Rp
b24gY1coYSl7YT1hfDA7dmFyIGI9MDthPShjWzQwMzhdfDApLTF8MDtjWzQwMzhdPWE7aWYoKGF8
MCkhPTApe3JldHVybn1iO3JldHVybn1mdW5jdGlvbiBjWChiKXtiPWJ8MDt2YXIgZD0wLGU9MCxm
PTA7ZG97aWYoKGFbMTYyODBdfDApPT0wKXtpZigoYmMoMTYyODApfDApPT0wKXticmVha31jWzI5
NjJdPTU0ODk7Yj0xO2Q9NTQ4OTtkb3tkPShhZyhkPj4+MzBeZCwxODEyNDMzMjUzKXwwKStifDA7
Y1sxMTg0OCsoYjw8Mik+PjJdPWQ7Yj1iKzF8MDt9d2hpbGUoYj4+PjA8NjI0KTtjWzM1ODZdPTB9
fXdoaWxlKDApO2I9Y1szNTg2XXwwO2Q9KChiKzF8MCk+Pj4wKSU2MjR8MDtlPTExODQ4KyhiPDwy
KXwwO2Y9Y1sxMTg0OCsoZDw8Mik+PjJdfDA7Y1tlPj4yXT0tKGYmMSkmLTE3Mjc0ODM2ODFeY1sx
MTg0OCsoKCgoYiszOTd8MCk+Pj4wKSU2MjR8MCk8PDIpPj4yXV4oZiYyMTQ3NDgzNjQ2fGNbZT4+
Ml0mLTIxNDc0ODM2NDgpPj4+MTtlPWNbMTE4NDgrKGNbMzU4Nl08PDIpPj4yXXwwO2Y9ZT4+PjEx
XmU7Y1szNTg2XT1kO2Q9Zjw8NyYtMTY1ODAzODY1Nl5mO2Y9ZDw8MTUmLTI3MjIzNjU0NF5kO3Jl
dHVybiBmPj4+MTheZnwwfWZ1bmN0aW9uIGNZKGEpe2E9YXwwO3ZhciBiPTA7YjtjWzQwMzhdPTE7
cmV0dXJufWZ1bmN0aW9uIGNaKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGo9MCxr
PTAsbD0wO2I9aTtpPWkrMzJ8MDtkPWJ8MDtlPWIrOHwwO2Y9YisxNnwwO2c9YisyNHwwO2RxKDE1
MTM2LGNbbz4+Ml18MCwxNTE5Mik7Y1s0MDE0XT00NTAwO2NbNDAxNl09NDUyMDtjWzQwMTVdPTA7
aD1jWzExMjJdfDA7ZWsoMTYwNTYraHwwLDE1MTM2KTtjW2grMTYxMjg+PjJdPTA7Y1toKzE2MTMy
Pj4yXT0tMTtoPWNbdD4+Ml18MDtlcCgxNTA0MCk7Y1szNzYwXT00NjQ4O2NbMzc2OF09aDtpTihn
LDE1MDQ0KTtoPWlYKGcsMTUzOTIpfDA7aj1oO2lPKGcpO2NbMzc2OV09ajtjWzM3NzBdPTE1MjAw
O2FbMTUwODRdPShiMFtjWyhjW2g+PjJdfDApKzI4Pj4yXSYxMjddKGopfDApJjE7Y1szOTQ4XT00
NDA0O2NbMzk0OV09NDQyNDtqPWNbMTA5OF18MDtlaygxNTc5MitqfDAsMTUwNDApO2g9ais3Mnww
O2NbMTU3OTIraD4+Ml09MDtnPWorNzZ8MDtjWzE1NzkyK2c+PjJdPS0xO2s9Y1tyPj4yXXwwO2Vw
KDE1MDg4KTtjWzM3NzJdPTQ2NDg7Y1szNzgwXT1rO2lOKGYsMTUwOTIpO2s9aVgoZiwxNTM5Mil8
MDtsPWs7aU8oZik7Y1szNzgxXT1sO2NbMzc4Ml09MTUyMDg7YVsxNTEzMl09KGIwW2NbKGNbaz4+
Ml18MCkrMjg+PjJdJjEyN10obCl8MCkmMTtjWzM5OTJdPTQ0MDQ7Y1szOTkzXT00NDI0O2VrKDE1
OTY4K2p8MCwxNTA4OCk7Y1sxNTk2OCtoPj4yXT0wO2NbMTU5NjgrZz4+Ml09LTE7bD1jWyhjWyhj
WzM5OTJdfDApLTEyPj4yXXwwKSsxNTk5Mj4+Ml18MDtjWzM5NzBdPTQ0MDQ7Y1szOTcxXT00NDI0
O2VrKDE1ODgwK2p8MCxsKTtjWzE1ODgwK2g+PjJdPTA7Y1sxNTg4MCtnPj4yXT0tMTtjWyhjWyhj
WzQwMTRdfDApLTEyPj4yXXwwKSsxNjEyOD4+Ml09MTU3OTI7Zz0oY1soY1szOTkyXXwwKS0xMj4+
Ml18MCkrMTU5NzJ8MDtjW2c+PjJdPWNbZz4+Ml18ODE5MjtjWyhjWyhjWzM5OTJdfDApLTEyPj4y
XXwwKSsxNjA0MD4+Ml09MTU3OTI7YzMoMTQ5ODQsY1tvPj4yXXwwLDE1MjE2KTtjWzM5MjZdPTQ0
NTI7Y1szOTI4XT00NDcyO2NbMzkyN109MDtnPWNbMTExMF18MDtlaygxNTcwNCtnfDAsMTQ5ODQp
O2NbZysxNTc3Nj4+Ml09MDtjW2crMTU3ODA+PjJdPS0xO2c9Y1t0Pj4yXXwwO2V3KDE0ODg4KTtj
WzM3MjJdPTQ1NzY7Y1szNzMwXT1nO2lOKGUsMTQ4OTIpO2c9aVgoZSwxNTM4NCl8MDtoPWc7aU8o
ZSk7Y1szNzMxXT1oO2NbMzczMl09MTUyMjQ7YVsxNDkzMl09KGIwW2NbKGNbZz4+Ml18MCkrMjg+
PjJdJjEyN10oaCl8MCkmMTtjWzM4NTZdPTQzNTY7Y1szODU3XT00Mzc2O2g9Y1sxMDg2XXwwO2Vr
KDE1NDI0K2h8MCwxNDg4OCk7Zz1oKzcyfDA7Y1sxNTQyNCtnPj4yXT0wO2U9aCs3NnwwO2NbMTU0
MjQrZT4+Ml09LTE7bD1jW3I+PjJdfDA7ZXcoMTQ5MzYpO2NbMzczNF09NDU3NjtjWzM3NDJdPWw7
aU4oZCwxNDk0MCk7bD1pWChkLDE1Mzg0KXwwO2o9bDtpTyhkKTtjWzM3NDNdPWo7Y1szNzQ0XT0x
NTIzMjthWzE0OTgwXT0oYjBbY1soY1tsPj4yXXwwKSsyOD4+Ml0mMTI3XShqKXwwKSYxO2NbMzkw
MF09NDM1NjtjWzM5MDFdPTQzNzY7ZWsoMTU2MDAraHwwLDE0OTM2KTtjWzE1NjAwK2c+PjJdPTA7
Y1sxNTYwMCtlPj4yXT0tMTtqPWNbKGNbKGNbMzkwMF18MCktMTI+PjJdfDApKzE1NjI0Pj4yXXww
O2NbMzg3OF09NDM1NjtjWzM4NzldPTQzNzY7ZWsoMTU1MTIraHwwLGopO2NbMTU1MTIrZz4+Ml09
MDtjWzE1NTEyK2U+PjJdPS0xO2NbKGNbKGNbMzkyNl18MCktMTI+PjJdfDApKzE1Nzc2Pj4yXT0x
NTQyNDtlPShjWyhjWzM5MDBdfDApLTEyPj4yXXwwKSsxNTYwNHwwO2NbZT4+Ml09Y1tlPj4yXXw4
MTkyO2NbKGNbKGNbMzkwMF18MCktMTI+PjJdfDApKzE1NjcyPj4yXT0xNTQyNDtpPWI7cmV0dXJu
fWZ1bmN0aW9uIGNfKGEpe2E9YXwwO2V2KGF8MCk7cmV0dXJufWZ1bmN0aW9uIGMkKGEpe2E9YXww
O2V2KGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGMwKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9
MDtiMFtjWyhjW2I+PjJdfDApKzI0Pj4yXSYxMjddKGIpfDA7ZT1pWChkLDE1Mzg0KXwwO2Q9ZTtj
W2IrMzY+PjJdPWQ7YVtiKzQ0fDBdPShiMFtjWyhjW2U+PjJdfDApKzI4Pj4yXSYxMjddKGQpfDAp
JjE7cmV0dXJufWZ1bmN0aW9uIGMxKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MCxmPTAsZz0wLGg9
MCxqPTAsaz0wLGw9MCxtPTAsbj0wO2I9aTtpPWkrMTZ8MDtkPWJ8MDtlPWIrOHwwO2Y9YSszNnww
O2c9YSs0MHwwO2g9ZHwwO2o9ZCs4fDA7az1kO2Q9YSszMnwwO0wxNjQyOndoaWxlKDEpe2E9Y1tm
Pj4yXXwwO2w9YiRbY1soY1thPj4yXXwwKSsyMD4+Ml0mMzFdKGEsY1tnPj4yXXwwLGgsaixlKXww
O2E9KGNbZT4+Ml18MCkta3wwO2lmKChhTShofDAsMSxhfDAsY1tkPj4yXXwwKXwwKSE9KGF8MCkp
e209LTE7bj0xMzA0O2JyZWFrfXN3aXRjaChsfDApe2Nhc2UgMjp7bT0tMTtuPTEzMDU7YnJlYWsg
TDE2NDI7YnJlYWt9O2Nhc2UgMTp7YnJlYWt9O2RlZmF1bHQ6e249MTMwMTticmVhayBMMTY0Mn19
fWlmKChufDApPT0xMzA0KXtpPWI7cmV0dXJuIG18MH1lbHNlIGlmKChufDApPT0xMzA1KXtpPWI7
cmV0dXJuIG18MH1lbHNlIGlmKChufDApPT0xMzAxKXttPSgoYUsoY1tkPj4yXXwwKXwwKSE9MCk8
PDMxPj4zMTtpPWI7cmV0dXJuIG18MH1yZXR1cm4gMH1mdW5jdGlvbiBjMihiLGQpe2I9YnwwO2Q9
ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxy
PTAscz0wLHQ9MCx1PTAsdj0wLHc9MDtlPWk7aT1pKzMyfDA7Zj1lfDA7Zz1lKzh8MDtoPWUrMTZ8
MDtqPWUrMjR8MDtrPShkfDApPT0tMTtMMTY1MTpkb3tpZighayl7Y1tnPj4yXT1kO2lmKChhW2Ir
NDR8MF0mMSkhPTApe2lmKChhTShnfDAsNCwxLGNbYiszMj4+Ml18MCl8MCk9PTEpe2JyZWFrfWVs
c2V7bD0tMX1pPWU7cmV0dXJuIGx8MH1tPWZ8MDtjW2g+PjJdPW07bj1nKzR8MDtvPWIrMzZ8MDtw
PWIrNDB8MDtxPWYrOHwwO3I9ZjtzPWIrMzJ8MDt0PWc7d2hpbGUoMSl7dT1jW28+PjJdfDA7dj1i
NltjWyhjW3U+PjJdfDApKzEyPj4yXSYzMV0odSxjW3A+PjJdfDAsdCxuLGosbSxxLGgpfDA7aWYo
KGNbaj4+Ml18MCk9PSh0fDApKXtsPS0xO3c9MTMyMDticmVha31pZigodnwwKT09Myl7dz0xMzEy
O2JyZWFrfXU9KHZ8MCk9PTE7aWYodj4+PjA+PTIpe2w9LTE7dz0xMzIyO2JyZWFrfXY9KGNbaD4+
Ml18MCktcnwwO2lmKChhTShtfDAsMSx2fDAsY1tzPj4yXXwwKXwwKSE9KHZ8MCkpe2w9LTE7dz0x
MzIxO2JyZWFrfWlmKHUpe3Q9dT9jW2o+PjJdfDA6dH1lbHNle2JyZWFrIEwxNjUxfX1pZigod3ww
KT09MTMyMSl7aT1lO3JldHVybiBsfDB9ZWxzZSBpZigod3wwKT09MTMyMil7aT1lO3JldHVybiBs
fDB9ZWxzZSBpZigod3wwKT09MTMxMil7aWYoKGFNKHR8MCwxLDEsY1tzPj4yXXwwKXwwKT09MSl7
YnJlYWt9ZWxzZXtsPS0xfWk9ZTtyZXR1cm4gbHwwfWVsc2UgaWYoKHd8MCk9PTEzMjApe2k9ZTty
ZXR1cm4gbHwwfX19d2hpbGUoMCk7bD1rPzA6ZDtpPWU7cmV0dXJuIGx8MH1mdW5jdGlvbiBjMyhi
LGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGo9MDtmPWk7aT1pKzh8MDtn
PWZ8MDtldyhifDApO2NbYj4+Ml09NDk3NjtjW2IrMzI+PjJdPWQ7Y1tiKzQwPj4yXT1lO2NbYis0
OD4+Ml09LTE7YVtiKzUyfDBdPTA7aU4oZyxiKzR8MCk7ZT1pWChnLDE1Mzg0KXwwO2Q9ZTtoPWIr
MzZ8MDtjW2g+PjJdPWQ7aj1iKzQ0fDA7Y1tqPj4yXT1iMFtjWyhjW2U+PjJdfDApKzI0Pj4yXSYx
MjddKGQpfDA7ZD1jW2g+PjJdfDA7YVtiKzUzfDBdPShiMFtjWyhjW2Q+PjJdfDApKzI4Pj4yXSYx
MjddKGQpfDApJjE7aWYoKGNbaj4+Ml18MCk8PTgpe2lPKGcpO2k9ZjtyZXR1cm59aFYoMTg0KTtp
TyhnKTtpPWY7cmV0dXJufWZ1bmN0aW9uIGM0KGEpe2E9YXwwO2V2KGF8MCk7cmV0dXJufWZ1bmN0
aW9uIGM1KGEpe2E9YXwwO2V2KGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGM2KGIsZCl7Yj1i
fDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2U9aVgoZCwxNTM4NCl8MDtkPWU7Zj1iKzM2fDA7Y1tm
Pj4yXT1kO2c9Yis0NHwwO2NbZz4+Ml09YjBbY1soY1tlPj4yXXwwKSsyND4+Ml0mMTI3XShkKXww
O2Q9Y1tmPj4yXXwwO2FbYis1M3wwXT0oYjBbY1soY1tkPj4yXXwwKSsyOD4+Ml0mMTI3XShkKXww
KSYxO2lmKChjW2c+PjJdfDApPD04KXtyZXR1cm59aFYoMTg0KTtyZXR1cm59ZnVuY3Rpb24gYzco
YSl7YT1hfDA7cmV0dXJuIGRhKGEsMCl8MH1mdW5jdGlvbiBjOChhKXthPWF8MDtyZXR1cm4gZGEo
YSwxKXwwfWZ1bmN0aW9uIGM5KGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxq
PTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MDtlPWk7aT1pKzMyfDA7Zj1lfDA7Zz1l
Kzh8MDtoPWUrMTZ8MDtqPWUrMjR8MDtrPWIrNTJ8MDtsPShhW2tdJjEpIT0wO2lmKChkfDApPT0t
MSl7aWYobCl7bT0tMTtpPWU7cmV0dXJuIG18MH1uPWNbYis0OD4+Ml18MDthW2tdPShufDApIT0t
MXwwO209bjtpPWU7cmV0dXJuIG18MH1uPWIrNDh8MDtMMTY5NDpkb3tpZihsKXtjW2g+PjJdPWNb
bj4+Ml07bz1jW2IrMzY+PjJdfDA7cD1mfDA7c3dpdGNoKGI2W2NbKGNbbz4+Ml18MCkrMTI+PjJd
JjMxXShvLGNbYis0MD4+Ml18MCxoLGgrNHwwLGoscCxmKzh8MCxnKXwwKXtjYXNlIDI6Y2FzZSAx
OnttPS0xO2k9ZTtyZXR1cm4gbXwwfTtjYXNlIDM6e2FbcF09Y1tuPj4yXSYyNTU7Y1tnPj4yXT1m
KzE7YnJlYWt9O2RlZmF1bHQ6e319bz1iKzMyfDA7d2hpbGUoMSl7cT1jW2c+PjJdfDA7aWYocT4+
PjA8PXA+Pj4wKXticmVhayBMMTY5NH1yPXEtMXwwO2NbZz4+Ml09cjtpZigoYkEoYVtyXXwwLGNb
bz4+Ml18MCl8MCk9PS0xKXttPS0xO2JyZWFrfX1pPWU7cmV0dXJuIG18MH19d2hpbGUoMCk7Y1tu
Pj4yXT1kO2Fba109MTttPWQ7aT1lO3JldHVybiBtfDB9ZnVuY3Rpb24gZGEoYixkKXtiPWJ8MDtk
PWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAs
cj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MDtlPWk7aT1pKzMyfDA7Zj1lfDA7Zz1lKzh8
MDtoPWUrMTZ8MDtqPWUrMjR8MDtrPWIrNTJ8MDtpZigoYVtrXSYxKSE9MCl7bD1iKzQ4fDA7bT1j
W2w+PjJdfDA7aWYoIWQpe249bTtpPWU7cmV0dXJuIG58MH1jW2w+PjJdPS0xO2Fba109MDtuPW07
aT1lO3JldHVybiBufDB9bT1jW2IrNDQ+PjJdfDA7az0obXwwKT4xP206MTtMMTcxNDpkb3tpZigo
a3wwKT4wKXttPWIrMzJ8MDtsPTA7d2hpbGUoMSl7bz1hXyhjW20+PjJdfDApfDA7aWYoKG98MCk9
PS0xKXtuPS0xO2JyZWFrfWFbZitsfDBdPW8mMjU1O2w9bCsxfDA7aWYoKGx8MCk+PShrfDApKXti
cmVhayBMMTcxNH19aT1lO3JldHVybiBufDB9fXdoaWxlKDApO0wxNzIxOmRve2lmKChhW2IrNTN8
MF0mMSk9PTApe2w9Yis0MHwwO209YiszNnwwO289ZnwwO3A9Zys0fDA7cT1iKzMyfDA7cj1rO0wx
NzIzOndoaWxlKDEpe3M9Y1tsPj4yXXwwO3Q9czt1PWNbdD4+Ml18MDt2PWNbdCs0Pj4yXXwwO3Q9
Y1ttPj4yXXwwO3c9ZityfDA7c3dpdGNoKGI2W2NbKGNbdD4+Ml18MCkrMTY+PjJdJjMxXSh0LHMs
byx3LGgsZyxwLGopfDApe2Nhc2UgMTp7YnJlYWt9O2Nhc2UgMjp7bj0tMTt4PTEzODA7YnJlYWsg
TDE3MjM7YnJlYWt9O2Nhc2UgMzp7eD0xMzY5O2JyZWFrIEwxNzIzO2JyZWFrfTtkZWZhdWx0Ont5
PXI7YnJlYWsgTDE3MjF9fXM9Y1tsPj4yXXwwO2Nbcz4+Ml09dTtjW3MrND4+Ml09djtpZigocnww
KT09OCl7bj0tMTt4PTEzNzk7YnJlYWt9dj1hXyhjW3E+PjJdfDApfDA7aWYoKHZ8MCk9PS0xKXtu
PS0xO3g9MTM4NTticmVha31hW3ddPXYmMjU1O3I9cisxfDB9aWYoKHh8MCk9PTEzNzkpe2k9ZTty
ZXR1cm4gbnwwfWVsc2UgaWYoKHh8MCk9PTEzODApe2k9ZTtyZXR1cm4gbnwwfWVsc2UgaWYoKHh8
MCk9PTEzODUpe2k9ZTtyZXR1cm4gbnwwfWVsc2UgaWYoKHh8MCk9PTEzNjkpe2NbZz4+Ml09YVtv
XXwwO3k9cjticmVha319ZWxzZXtjW2c+PjJdPWFbZnwwXXwwO3k9a319d2hpbGUoMCk7aWYoZCl7
ZD1jW2c+PjJdfDA7Y1tiKzQ4Pj4yXT1kO249ZDtpPWU7cmV0dXJuIG58MH1kPWIrMzJ8MDtiPXk7
d2hpbGUoMSl7aWYoKGJ8MCk8PTApe2JyZWFrfXk9Yi0xfDA7aWYoKGJBKGFbZit5fDBdfDAsY1tk
Pj4yXXwwKXwwKT09LTEpe249LTE7eD0xMzgyO2JyZWFrfWVsc2V7Yj15fX1pZigoeHwwKT09MTM4
Mil7aT1lO3JldHVybiBufDB9bj1jW2c+PjJdfDA7aT1lO3JldHVybiBufDB9ZnVuY3Rpb24gZGIo
YSl7YT1hfDA7ZW8oYXwwKTtyZXR1cm59ZnVuY3Rpb24gZGMoYSl7YT1hfDA7ZW8oYXwwKTtrUyhh
KTtyZXR1cm59ZnVuY3Rpb24gZGQoYSl7YT1hfDA7ZmcoMTU3OTIpfDA7ZmcoMTU4ODApfDA7Zmgo
MTU0MjQpfDA7ZmgoMTU1MTIpfDA7cmV0dXJufWZ1bmN0aW9uIGRlKGEpe2E9YXwwO3JldHVybn1m
dW5jdGlvbiBkZihhKXthPWF8MDtyZXR1cm59ZnVuY3Rpb24gZGcoYSl7YT1hfDA7dmFyIGI9MDti
PWErNHwwO0k9Y1tiPj4yXXwwLGNbYj4+Ml09SSsxLEk7cmV0dXJufWZ1bmN0aW9uIGRoKGEpe2E9
YXwwO3JldHVybiBjW2ErND4+Ml18MH1mdW5jdGlvbiBkaShhKXthPWF8MDtyZXR1cm4gY1thKzQ+
PjJdfDB9ZnVuY3Rpb24gZGooYSl7YT1hfDA7Y1thPj4yXT00MzA0O3JldHVybn1mdW5jdGlvbiBk
ayhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7Y1thPj4yXT1kO2NbYSs0Pj4yXT1iO3JldHVybn1m
dW5jdGlvbiBkbChhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MDtpZigoY1tiKzQ+PjJd
fDApIT0oYXwwKSl7ZT0wO3JldHVybiBlfDB9ZT0oY1tiPj4yXXwwKT09KGR8MCk7cmV0dXJuIGV8
MH1mdW5jdGlvbiBkbShiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTA7YjBbY1soY1tiPj4yXXwwKSsy
ND4+Ml0mMTI3XShiKXwwO2U9aVgoZCwxNTM5Mil8MDtkPWU7Y1tiKzM2Pj4yXT1kO2FbYis0NHww
XT0oYjBbY1soY1tlPj4yXXwwKSsyOD4+Ml0mMTI3XShkKXwwKSYxO3JldHVybn1mdW5jdGlvbiBk
bihhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49
MDtiPWk7aT1pKzE2fDA7ZD1ifDA7ZT1iKzh8MDtmPWErMzZ8MDtnPWErNDB8MDtoPWR8MDtqPWQr
OHwwO2s9ZDtkPWErMzJ8MDtMMTc2Nzp3aGlsZSgxKXthPWNbZj4+Ml18MDtsPWIkW2NbKGNbYT4+
Ml18MCkrMjA+PjJdJjMxXShhLGNbZz4+Ml18MCxoLGosZSl8MDthPShjW2U+PjJdfDApLWt8MDtp
ZigoYU0oaHwwLDEsYXwwLGNbZD4+Ml18MCl8MCkhPShhfDApKXttPS0xO249MTQxNDticmVha31z
d2l0Y2gobHwwKXtjYXNlIDI6e209LTE7bj0xNDE1O2JyZWFrIEwxNzY3O2JyZWFrfTtjYXNlIDE6
e2JyZWFrfTtkZWZhdWx0OntuPTE0MTE7YnJlYWsgTDE3Njd9fX1pZigobnwwKT09MTQxNSl7aT1i
O3JldHVybiBtfDB9ZWxzZSBpZigobnwwKT09MTQxMSl7bT0oKGFLKGNbZD4+Ml18MCl8MCkhPTAp
PDwzMT4+MzE7aT1iO3JldHVybiBtfDB9ZWxzZSBpZigobnwwKT09MTQxNCl7aT1iO3JldHVybiBt
fDB9cmV0dXJuIDB9ZnVuY3Rpb24gZHAoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAs
aD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3
PTA7ZT1pO2k9aSszMnwwO2Y9ZXwwO2c9ZSs4fDA7aD1lKzE2fDA7aj1lKzI0fDA7az0oZHwwKT09
LTE7TDE3NzY6ZG97aWYoIWspe2FbZ109ZCYyNTU7aWYoKGFbYis0NHwwXSYxKSE9MCl7aWYoKGFN
KGd8MCwxLDEsY1tiKzMyPj4yXXwwKXwwKT09MSl7YnJlYWt9ZWxzZXtsPS0xfWk9ZTtyZXR1cm4g
bHwwfW09ZnwwO2NbaD4+Ml09bTtuPWcrMXwwO289YiszNnwwO3A9Yis0MHwwO3E9Zis4fDA7cj1m
O3M9YiszMnwwO3Q9Zzt3aGlsZSgxKXt1PWNbbz4+Ml18MDt2PWI2W2NbKGNbdT4+Ml18MCkrMTI+
PjJdJjMxXSh1LGNbcD4+Ml18MCx0LG4saixtLHEsaCl8MDtpZigoY1tqPj4yXXwwKT09KHR8MCkp
e2w9LTE7dz0xNDMzO2JyZWFrfWlmKCh2fDApPT0zKXt3PTE0MjI7YnJlYWt9dT0odnwwKT09MTtp
Zih2Pj4+MD49Mil7bD0tMTt3PTE0MzI7YnJlYWt9dj0oY1toPj4yXXwwKS1yfDA7aWYoKGFNKG18
MCwxLHZ8MCxjW3M+PjJdfDApfDApIT0odnwwKSl7bD0tMTt3PTE0MzA7YnJlYWt9aWYodSl7dD11
P2Nbaj4+Ml18MDp0fWVsc2V7YnJlYWsgTDE3NzZ9fWlmKCh3fDApPT0xNDMwKXtpPWU7cmV0dXJu
IGx8MH1lbHNlIGlmKCh3fDApPT0xNDIyKXtpZigoYU0odHwwLDEsMSxjW3M+PjJdfDApfDApPT0x
KXticmVha31lbHNle2w9LTF9aT1lO3JldHVybiBsfDB9ZWxzZSBpZigod3wwKT09MTQzMil7aT1l
O3JldHVybiBsfDB9ZWxzZSBpZigod3wwKT09MTQzMyl7aT1lO3JldHVybiBsfDB9fX13aGlsZSgw
KTtsPWs/MDpkO2k9ZTtyZXR1cm4gbHwwfWZ1bmN0aW9uIGRxKGIsZCxlKXtiPWJ8MDtkPWR8MDtl
PWV8MDt2YXIgZj0wLGc9MCxoPTAsaj0wO2Y9aTtpPWkrOHwwO2c9ZnwwO2VwKGJ8MCk7Y1tiPj4y
XT01MDQ4O2NbYiszMj4+Ml09ZDtjW2IrNDA+PjJdPWU7Y1tiKzQ4Pj4yXT0tMTthW2IrNTJ8MF09
MDtpTihnLGIrNHwwKTtlPWlYKGcsMTUzOTIpfDA7ZD1lO2g9YiszNnwwO2NbaD4+Ml09ZDtqPWIr
NDR8MDtjW2o+PjJdPWIwW2NbKGNbZT4+Ml18MCkrMjQ+PjJdJjEyN10oZCl8MDtkPWNbaD4+Ml18
MDthW2IrNTN8MF09KGIwW2NbKGNbZD4+Ml18MCkrMjg+PjJdJjEyN10oZCl8MCkmMTtpZigoY1tq
Pj4yXXwwKTw9OCl7aU8oZyk7aT1mO3JldHVybn1oVigxODQpO2lPKGcpO2k9ZjtyZXR1cm59ZnVu
Y3Rpb24gZHIoYSl7YT1hfDA7ZW8oYXwwKTtyZXR1cm59ZnVuY3Rpb24gZHMoYSl7YT1hfDA7ZW8o
YXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gZHQoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9
MCxnPTA7ZT1pWChkLDE1MzkyKXwwO2Q9ZTtmPWIrMzZ8MDtjW2Y+PjJdPWQ7Zz1iKzQ0fDA7Y1tn
Pj4yXT1iMFtjWyhjW2U+PjJdfDApKzI0Pj4yXSYxMjddKGQpfDA7ZD1jW2Y+PjJdfDA7YVtiKzUz
fDBdPShiMFtjWyhjW2Q+PjJdfDApKzI4Pj4yXSYxMjddKGQpfDApJjE7aWYoKGNbZz4+Ml18MCk8
PTgpe3JldHVybn1oVigxODQpO3JldHVybn1mdW5jdGlvbiBkdShhKXthPWF8MDtyZXR1cm4gZHgo
YSwwKXwwfWZ1bmN0aW9uIGR2KGEpe2E9YXwwO3JldHVybiBkeChhLDEpfDB9ZnVuY3Rpb24gZHco
YixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAs
bz0wLHA9MCxxPTAscj0wO2U9aTtpPWkrMzJ8MDtmPWV8MDtnPWUrOHwwO2g9ZSsxNnwwO2o9ZSsy
NHwwO2s9Yis1MnwwO2w9KGFba10mMSkhPTA7aWYoKGR8MCk9PS0xKXtpZihsKXttPS0xO2k9ZTty
ZXR1cm4gbXwwfW49Y1tiKzQ4Pj4yXXwwO2Fba109KG58MCkhPS0xfDA7bT1uO2k9ZTtyZXR1cm4g
bXwwfW49Yis0OHwwO0wxODE5OmRve2lmKGwpe2FbaF09Y1tuPj4yXSYyNTU7bz1jW2IrMzY+PjJd
fDA7cD1mfDA7c3dpdGNoKGI2W2NbKGNbbz4+Ml18MCkrMTI+PjJdJjMxXShvLGNbYis0MD4+Ml18
MCxoLGgrMXwwLGoscCxmKzh8MCxnKXwwKXtjYXNlIDM6e2FbcF09Y1tuPj4yXSYyNTU7Y1tnPj4y
XT1mKzE7YnJlYWt9O2Nhc2UgMjpjYXNlIDE6e209LTE7aT1lO3JldHVybiBtfDB9O2RlZmF1bHQ6
e319bz1iKzMyfDA7d2hpbGUoMSl7cT1jW2c+PjJdfDA7aWYocT4+PjA8PXA+Pj4wKXticmVhayBM
MTgxOX1yPXEtMXwwO2NbZz4+Ml09cjtpZigoYkEoYVtyXXwwLGNbbz4+Ml18MCl8MCk9PS0xKXtt
PS0xO2JyZWFrfX1pPWU7cmV0dXJuIG18MH19d2hpbGUoMCk7Y1tuPj4yXT1kO2Fba109MTttPWQ7
aT1lO3JldHVybiBtfDB9ZnVuY3Rpb24gZHgoYixlKXtiPWJ8MDtlPWV8MDt2YXIgZj0wLGc9MCxo
PTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9
MCx4PTAseT0wLHo9MCxBPTA7Zj1pO2k9aSszMnwwO2c9ZnwwO2g9Zis4fDA7aj1mKzE2fDA7az1m
KzI0fDA7bD1iKzUyfDA7aWYoKGFbbF0mMSkhPTApe209Yis0OHwwO249Y1ttPj4yXXwwO2lmKCFl
KXtvPW47aT1mO3JldHVybiBvfDB9Y1ttPj4yXT0tMTthW2xdPTA7bz1uO2k9ZjtyZXR1cm4gb3ww
fW49Y1tiKzQ0Pj4yXXwwO2w9KG58MCk+MT9uOjE7TDE4Mzk6ZG97aWYoKGx8MCk+MCl7bj1iKzMy
fDA7bT0wO3doaWxlKDEpe3A9YV8oY1tuPj4yXXwwKXwwO2lmKChwfDApPT0tMSl7bz0tMTticmVh
a31hW2crbXwwXT1wJjI1NTttPW0rMXwwO2lmKChtfDApPj0obHwwKSl7YnJlYWsgTDE4Mzl9fWk9
ZjtyZXR1cm4gb3wwfX13aGlsZSgwKTtMMTg0Njpkb3tpZigoYVtiKzUzfDBdJjEpPT0wKXttPWIr
NDB8MDtuPWIrMzZ8MDtwPWd8MDtxPWgrMXwwO3I9YiszMnwwO3M9bDtMMTg0ODp3aGlsZSgxKXt0
PWNbbT4+Ml18MDt1PXQ7dj1jW3U+PjJdfDA7dz1jW3UrND4+Ml18MDt1PWNbbj4+Ml18MDt4PWcr
c3wwO3N3aXRjaChiNltjWyhjW3U+PjJdfDApKzE2Pj4yXSYzMV0odSx0LHAseCxqLGgscSxrKXww
KXtjYXNlIDE6e2JyZWFrfTtjYXNlIDI6e289LTE7eT0xNDkwO2JyZWFrIEwxODQ4O2JyZWFrfTtj
YXNlIDM6e3k9MTQ3OTticmVhayBMMTg0ODticmVha307ZGVmYXVsdDp7ej1zO2JyZWFrIEwxODQ2
fX10PWNbbT4+Ml18MDtjW3Q+PjJdPXY7Y1t0KzQ+PjJdPXc7aWYoKHN8MCk9PTgpe289LTE7eT0x
NDkxO2JyZWFrfXc9YV8oY1tyPj4yXXwwKXwwO2lmKCh3fDApPT0tMSl7bz0tMTt5PTE0OTU7YnJl
YWt9YVt4XT13JjI1NTtzPXMrMXwwfWlmKCh5fDApPT0xNDkwKXtpPWY7cmV0dXJuIG98MH1lbHNl
IGlmKCh5fDApPT0xNDk1KXtpPWY7cmV0dXJuIG98MH1lbHNlIGlmKCh5fDApPT0xNDc5KXthW2hd
PWFbcF18MDt6PXM7YnJlYWt9ZWxzZSBpZigoeXwwKT09MTQ5MSl7aT1mO3JldHVybiBvfDB9fWVs
c2V7YVtoXT1hW2d8MF18MDt6PWx9fXdoaWxlKDApO2Rve2lmKGUpe2w9YVtoXXwwO2NbYis0OD4+
Ml09bCYyNTU7QT1sfWVsc2V7bD1iKzMyfDA7az16O3doaWxlKDEpe2lmKChrfDApPD0wKXt5PTE0
ODY7YnJlYWt9aj1rLTF8MDtpZigoYkEoZFtnK2p8MF18MHwwLGNbbD4+Ml18MCl8MCk9PS0xKXtv
PS0xO3k9MTQ5NDticmVha31lbHNle2s9an19aWYoKHl8MCk9PTE0ODYpe0E9YVtoXXwwO2JyZWFr
fWVsc2UgaWYoKHl8MCk9PTE0OTQpe2k9ZjtyZXR1cm4gb3wwfX19d2hpbGUoMCk7bz1BJjI1NTtp
PWY7cmV0dXJuIG98MH1mdW5jdGlvbiBkeSgpe2NaKDApO2EkKDE0MiwxNjE0NHwwLHV8MCl8MDty
ZXR1cm59ZnVuY3Rpb24gZHooYSl7YT1hfDA7dmFyIGI9MCxkPTA7Yj1hKzR8MDtpZigoKEk9Y1ti
Pj4yXXwwLGNbYj4+Ml09SSsgLTEsSSl8MCkhPTApe2Q9MDtyZXR1cm4gZHwwfWJZW2NbKGNbYT4+
Ml18MCkrOD4+Ml0mNTExXShhKTtkPTE7cmV0dXJuIGR8MH1mdW5jdGlvbiBkQShhLGIpe2E9YXww
O2I9YnwwO3ZhciBkPTAsZT0wLGY9MDtjW2E+PjJdPTI1MzY7ZD1hKzR8MDtpZigoZHwwKT09MCl7
cmV0dXJufWE9azAoYnwwKXwwO2U9YSsxfDA7Zj1rUChhKzEzfDApfDA7Y1tmKzQ+PjJdPWE7Y1tm
Pj4yXT1hO2E9ZisxMnwwO2NbZD4+Ml09YTtjW2YrOD4+Ml09MDtrWShhfDAsYnwwLGUpfDA7cmV0
dXJufWZ1bmN0aW9uIGRCKGEpe2E9YXwwO3ZhciBiPTAsZD0wLGU9MDtjW2E+PjJdPTI1MzY7Yj1h
KzR8MDtkPShjW2I+PjJdfDApLTR8MDtpZigoKEk9Y1tkPj4yXXwwLGNbZD4+Ml09SSsgLTEsSSkt
MXwwKT49MCl7ZT1hO2tTKGUpO3JldHVybn1kPShjW2I+PjJdfDApLTEyfDA7aWYoKGR8MCk9PTAp
e2U9YTtrUyhlKTtyZXR1cm59a1QoZCk7ZT1hO2tTKGUpO3JldHVybn1mdW5jdGlvbiBkQyhhKXth
PWF8MDt2YXIgYj0wO2NbYT4+Ml09MjUzNjtiPWErNHwwO2E9KGNbYj4+Ml18MCktNHwwO2lmKCgo
ST1jW2E+PjJdfDAsY1thPj4yXT1JKyAtMSxJKS0xfDApPj0wKXtyZXR1cm59YT0oY1tiPj4yXXww
KS0xMnwwO2lmKChhfDApPT0wKXtyZXR1cm59a1QoYSk7cmV0dXJufWZ1bmN0aW9uIGREKGIsZCl7
Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2NbYj4+Ml09MjQ3MjtlPWIrNHwwO2lmKChlfDAp
PT0wKXtyZXR1cm59aWYoKGFbZF0mMSk9PTApe2Y9ZCsxfDB9ZWxzZXtmPWNbZCs4Pj4yXXwwfWQ9
azAoZnwwKXwwO2I9ZCsxfDA7Zz1rUChkKzEzfDApfDA7Y1tnKzQ+PjJdPWQ7Y1tnPj4yXT1kO2Q9
ZysxMnwwO2NbZT4+Ml09ZDtjW2crOD4+Ml09MDtrWShkfDAsZnwwLGIpfDA7cmV0dXJufWZ1bmN0
aW9uIGRFKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wO2NbYT4+Ml09MjQ3MjtkPWEr
NHwwO2lmKChkfDApPT0wKXtyZXR1cm59YT1rMChifDApfDA7ZT1hKzF8MDtmPWtQKGErMTN8MCl8
MDtjW2YrND4+Ml09YTtjW2Y+PjJdPWE7YT1mKzEyfDA7Y1tkPj4yXT1hO2NbZis4Pj4yXT0wO2tZ
KGF8MCxifDAsZSl8MDtyZXR1cm59ZnVuY3Rpb24gZEYoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0w
O2NbYT4+Ml09MjQ3MjtiPWErNHwwO2Q9KGNbYj4+Ml18MCktNHwwO2lmKCgoST1jW2Q+PjJdfDAs
Y1tkPj4yXT1JKyAtMSxJKS0xfDApPj0wKXtlPWE7a1MoZSk7cmV0dXJufWQ9KGNbYj4+Ml18MCkt
MTJ8MDtpZigoZHwwKT09MCl7ZT1hO2tTKGUpO3JldHVybn1rVChkKTtlPWE7a1MoZSk7cmV0dXJu
fWZ1bmN0aW9uIGRHKGEpe2E9YXwwO3ZhciBiPTA7Y1thPj4yXT0yNDcyO2I9YSs0fDA7YT0oY1ti
Pj4yXXwwKS00fDA7aWYoKChJPWNbYT4+Ml18MCxjW2E+PjJdPUkrIC0xLEkpLTF8MCk+PTApe3Jl
dHVybn1hPShjW2I+PjJdfDApLTEyfDA7aWYoKGF8MCk9PTApe3JldHVybn1rVChhKTtyZXR1cm59
ZnVuY3Rpb24gZEgoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wO2NbYT4+Ml09MjUzNjtiPWErNHww
O2Q9KGNbYj4+Ml18MCktNHwwO2lmKCgoST1jW2Q+PjJdfDAsY1tkPj4yXT1JKyAtMSxJKS0xfDAp
Pj0wKXtlPWE7a1MoZSk7cmV0dXJufWQ9KGNbYj4+Ml18MCktMTJ8MDtpZigoZHwwKT09MCl7ZT1h
O2tTKGUpO3JldHVybn1rVChkKTtlPWE7a1MoZSk7cmV0dXJufWZ1bmN0aW9uIGRJKGEpe2E9YXww
O2tTKGEpO3JldHVybn1mdW5jdGlvbiBkSihhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9
MCxmPTAsZz0wO2U9aTtpPWkrOHwwO2Y9ZXwwO2IzW2NbKGNbYT4+Ml18MCkrMTI+PjJdJjddKGYs
YSxiKTtpZigoY1tmKzQ+PjJdfDApIT0oY1tkKzQ+PjJdfDApKXtnPTA7aT1lO3JldHVybiBnfDB9
Zz0oY1tmPj4yXXwwKT09KGNbZD4+Ml18MCk7aT1lO3JldHVybiBnfDB9ZnVuY3Rpb24gZEsoYSxi
LGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2I9YngoY3wwKXwwO2RaKGEsYixrMChifDApfDApO3JldHVy
bn1mdW5jdGlvbiBkTChiLGUsZil7Yj1ifDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTA7Zz1pO2g9ZjtqPWk7aT1pKzEyfDA7aT1pKzc+
PjM8PDM7az1lfDA7bD1jW2s+PjJdfDA7aWYoKGx8MCk9PTApe209YjtjW20+PjJdPWNbaD4+Ml07
Y1ttKzQ+PjJdPWNbaCs0Pj4yXTtjW20rOD4+Ml09Y1toKzg+PjJdO2skKGh8MCwwLDEyKTtpPWc7
cmV0dXJufW49ZFtoXXwwO2lmKChuJjF8MCk9PTApe289bj4+PjF9ZWxzZXtvPWNbZis0Pj4yXXww
fWlmKChvfDApPT0wKXtwPWx9ZWxzZXtkVChmLDEyOTYpfDA7cD1jW2s+PjJdfDB9az1jW2UrND4+
Ml18MDtiM1tjWyhjW2s+PjJdfDApKzI0Pj4yXSY3XShqLGsscCk7cD1hW2pdfDA7aWYoKHAmMSk9
PTApe3E9aisxfDB9ZWxzZXtxPWNbais4Pj4yXXwwfWs9cCYyNTU7aWYoKGsmMXwwKT09MCl7cj1r
Pj4+MX1lbHNle3I9Y1tqKzQ+PjJdfDB9ZFYoZixxLHIpfDA7ZFAoaik7bT1iO2NbbT4+Ml09Y1to
Pj4yXTtjW20rND4+Ml09Y1toKzQ+PjJdO2NbbSs4Pj4yXT1jW2grOD4+Ml07ayQoaHwwLDAsMTIp
O2k9ZztyZXR1cm59ZnVuY3Rpb24gZE0oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHwwO3ZhciBlPTAs
Zj0wLGc9MDtlPWk7aT1pKzMyfDA7Zj1iO2I9aTtpPWkrOHwwO2NbYj4+Ml09Y1tmPj4yXTtjW2Ir
ND4+Ml09Y1tmKzQ+PjJdO2Y9ZXwwO2c9ZSsxNnwwO2RaKGcsZCxrMChkfDApfDApO2RMKGYsYixn
KTtkRChhfDAsZik7ZFAoZik7ZFAoZyk7Y1thPj4yXT00NTQ0O2c9YjtiPWErOHwwO2E9Y1tnKzQ+
PjJdfDA7Y1tiPj4yXT1jW2c+PjJdO2NbYis0Pj4yXT1hO2k9ZTtyZXR1cm59ZnVuY3Rpb24gZE4o
YSl7YT1hfDA7ZEcoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gZE8oYSl7YT1hfDA7ZEcoYXww
KTtyZXR1cm59ZnVuY3Rpb24gZFAoYil7Yj1ifDA7aWYoKGFbYl0mMSk9PTApe3JldHVybn1rUyhj
W2IrOD4+Ml18MCk7cmV0dXJufWZ1bmN0aW9uIGRRKGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxm
PTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTA7ZT1rMChkfDApfDA7Zj1iO2c9YjtoPWFbZ118MDtp
ZigoaCYxKT09MCl7aT0xMDtqPWh9ZWxzZXtoPWNbYj4+Ml18MDtpPShoJi0yKS0xfDA7aj1oJjI1
NX1pZihpPj4+MDxlPj4+MCl7aD1qJjI1NTtpZigoaCYxfDApPT0wKXtrPWg+Pj4xfWVsc2V7az1j
W2IrND4+Ml18MH1kMChiLGksZS1pfDAsaywwLGssZSxkKTtyZXR1cm4gYnwwfWlmKChqJjEpPT0w
KXtsPWYrMXwwfWVsc2V7bD1jW2IrOD4+Ml18MH1rXyhsfDAsZHwwLGV8MCk7YVtsK2V8MF09MDtp
ZigoYVtnXSYxKT09MCl7YVtnXT1lPDwxJjI1NTtyZXR1cm4gYnwwfWVsc2V7Y1tiKzQ+PjJdPWU7
cmV0dXJuIGJ8MH1yZXR1cm4gMH1mdW5jdGlvbiBkUihiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7
dmFyIGY9MCxnPTAsaD0wLGk9MDtmPWI7Zz1hW2ZdfDA7aD1nJjI1NTtpZigoaCYxfDApPT0wKXtp
PWg+Pj4xfWVsc2V7aT1jW2IrND4+Ml18MH1pZihpPj4+MDxkPj4+MCl7aD1kLWl8MDtkUyhiLGgs
ZSl8MDtyZXR1cm59aWYoKGcmMSk9PTApe2FbYisxK2R8MF09MDthW2ZdPWQ8PDEmMjU1O3JldHVy
bn1lbHNle2FbKGNbYis4Pj4yXXwwKStkfDBdPTA7Y1tiKzQ+PjJdPWQ7cmV0dXJufX1mdW5jdGlv
biBkUyhiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0w
LGw9MDtpZigoZHwwKT09MCl7cmV0dXJuIGJ8MH1mPWI7Zz1hW2ZdfDA7aWYoKGcmMSk9PTApe2g9
MTA7aT1nfWVsc2V7Zz1jW2I+PjJdfDA7aD0oZyYtMiktMXwwO2k9ZyYyNTV9Zz1pJjI1NTtpZigo
ZyYxfDApPT0wKXtqPWc+Pj4xfWVsc2V7aj1jW2IrND4+Ml18MH1pZigoaC1qfDApPj4+MDxkPj4+
MCl7ZDEoYixoLGQtaCtqfDAsaixqLDAsMCk7az1hW2ZdfDB9ZWxzZXtrPWl9aWYoKGsmMSk9PTAp
e2w9YisxfDB9ZWxzZXtsPWNbYis4Pj4yXXwwfWskKGwranwwLGV8MCxkfDApO2U9aitkfDA7aWYo
KGFbZl0mMSk9PTApe2FbZl09ZTw8MSYyNTV9ZWxzZXtjW2IrND4+Ml09ZX1hW2wrZXwwXT0wO3Jl
dHVybiBifDB9ZnVuY3Rpb24gZFQoYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm4gZFYoYSxiLGswKGJ8
MCl8MCl8MH1mdW5jdGlvbiBkVShiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAs
aT0wLGo9MCxrPTAsbD0wLG09MDtlPWI7Zj1hW2VdfDA7aWYoKGYmMSk9PTApe2c9KGYmMjU1KT4+
PjE7aD0xMH1lbHNle2c9Y1tiKzQ+PjJdfDA7aD0oY1tiPj4yXSYtMiktMXwwfWlmKChnfDApPT0o
aHwwKSl7ZDEoYixoLDEsaCxoLDAsMCk7aT1hW2VdfDB9ZWxzZXtpPWZ9aWYoKGkmMSk9PTApe2Fb
ZV09KGc8PDEpKzImMjU1O2o9YisxfDA7az1nKzF8MDtsPWorZ3wwO2FbbF09ZDttPWora3wwO2Fb
bV09MDtyZXR1cm59ZWxzZXtlPWNbYis4Pj4yXXwwO2k9ZysxfDA7Y1tiKzQ+PjJdPWk7aj1lO2s9
aTtsPWorZ3wwO2FbbF09ZDttPWora3wwO2FbbV09MDtyZXR1cm59fWZ1bmN0aW9uIGRWKGIsZCxl
KXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7Zj1iO2c9YVtm
XXwwO2lmKChnJjEpPT0wKXtoPTEwO2k9Z31lbHNle2c9Y1tiPj4yXXwwO2g9KGcmLTIpLTF8MDtp
PWcmMjU1fWc9aSYyNTU7aWYoKGcmMXwwKT09MCl7aj1nPj4+MX1lbHNle2o9Y1tiKzQ+PjJdfDB9
aWYoKGgtanwwKT4+PjA8ZT4+PjApe2QwKGIsaCxlLWgranwwLGosaiwwLGUsZCk7cmV0dXJuIGJ8
MH1pZigoZXwwKT09MCl7cmV0dXJuIGJ8MH1pZigoaSYxKT09MCl7az1iKzF8MH1lbHNle2s9Y1ti
Kzg+PjJdfDB9aT1rK2p8MDtrWShpfDAsZHwwLGUpfDA7ZD1qK2V8MDtpZigoYVtmXSYxKT09MCl7
YVtmXT1kPDwxJjI1NX1lbHNle2NbYis0Pj4yXT1kfWFbaytkfDBdPTA7cmV0dXJuIGJ8MH1mdW5j
dGlvbiBkVyhhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTA7
ZTtpZigoY1thPj4yXXwwKT09MSl7ZG97YVUoOTczNiw5NzI4KXwwO313aGlsZSgoY1thPj4yXXww
KT09MSl9aWYoKGNbYT4+Ml18MCkhPTApe2Y7cmV0dXJufWNbYT4+Ml09MTtnO2JZW2QmNTExXShi
KTtoO2NbYT4+Ml09LTE7aTticyg5NzM2KXwwO3JldHVybn1mdW5jdGlvbiBkWChhKXthPWF8MDth
PWJPKDgpfDA7ZEEoYSwzNjApO2NbYT4+Ml09MjUwNDtibChhfDAsODIwOCwzMil9ZnVuY3Rpb24g
ZFkoYixkKXtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wO2U9ZDtpZigoYVtlXSYxKT09
MCl7Zj1iO2NbZj4+Ml09Y1tlPj4yXTtjW2YrND4+Ml09Y1tlKzQ+PjJdO2NbZis4Pj4yXT1jW2Ur
OD4+Ml07cmV0dXJufWU9Y1tkKzg+PjJdfDA7Zj1jW2QrND4+Ml18MDtpZigoZnwwKT09LTEpe2RY
KDApfWlmKGY+Pj4wPDExKXthW2JdPWY8PDEmMjU1O2c9YisxfDB9ZWxzZXtkPWYrMTYmLTE2O2g9
a08oZCl8MDtjW2IrOD4+Ml09aDtjW2I+PjJdPWR8MTtjW2IrND4+Ml09ZjtnPWh9a1koZ3wwLGV8
MCxmKXwwO2FbZytmfDBdPTA7cmV0dXJufWZ1bmN0aW9uIGRaKGIsZCxlKXtiPWJ8MDtkPWR8MDtl
PWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wO2lmKChlfDApPT0tMSl7ZFgoMCl9aWYoZT4+PjA8MTEp
e2FbYl09ZTw8MSYyNTU7Zj1iKzF8MDtrWShmfDAsZHwwLGUpfDA7Zz1mK2V8MDthW2ddPTA7cmV0
dXJufWVsc2V7aD1lKzE2Ji0xNjtpPWtPKGgpfDA7Y1tiKzg+PjJdPWk7Y1tiPj4yXT1ofDE7Y1ti
KzQ+PjJdPWU7Zj1pO2tZKGZ8MCxkfDAsZSl8MDtnPWYrZXwwO2FbZ109MDtyZXR1cm59fWZ1bmN0
aW9uIGRfKGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTA7aWYoKGR8MCk9
PS0xKXtkWCgwKX1pZihkPj4+MDwxMSl7YVtiXT1kPDwxJjI1NTtmPWIrMXwwfWVsc2V7Zz1kKzE2
Ji0xNjtoPWtPKGcpfDA7Y1tiKzg+PjJdPWg7Y1tiPj4yXT1nfDE7Y1tiKzQ+PjJdPWQ7Zj1ofWsk
KGZ8MCxlfDAsZHwwKTthW2YrZHwwXT0wO3JldHVybn1mdW5jdGlvbiBkJChiLGQpe2I9YnwwO2Q9
ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxx
PTAscj0wO2lmKChkfDApPT0tMSl7ZFgoMCl9ZT1iO2Y9YjtnPWFbZl18MDtpZigoZyYxKT09MCl7
aD0xMDtpPWd9ZWxzZXtnPWNbYj4+Ml18MDtoPShnJi0yKS0xfDA7aT1nJjI1NX1nPWkmMjU1O2lm
KChnJjF8MCk9PTApe2o9Zz4+PjF9ZWxzZXtqPWNbYis0Pj4yXXwwfWc9aj4+PjA+ZD4+PjA/ajpk
O2lmKGc+Pj4wPDExKXtrPTExfWVsc2V7az1nKzE2Ji0xNn1nPWstMXwwO2lmKChnfDApPT0oaHww
KSl7cmV0dXJufWlmKChnfDApPT0xMCl7bD1lKzF8MDttPWNbYis4Pj4yXXwwO249MTtvPTB9ZWxz
ZXtpZihnPj4+MD5oPj4+MCl7cD1rTyhrKXwwfWVsc2V7cD1rTyhrKXwwfWg9aSYxO2lmKGg8PDI0
Pj4yND09MCl7cT1lKzF8MH1lbHNle3E9Y1tiKzg+PjJdfDB9bD1wO209cTtuPWg8PDI0Pj4yNCE9
MDtvPTF9aD1pJjI1NTtpZigoaCYxfDApPT0wKXtyPWg+Pj4xfWVsc2V7cj1jW2IrND4+Ml18MH1o
PXIrMXwwO2tZKGx8MCxtfDAsaCl8MDtpZihuKXtrUyhtKX1pZihvKXtjW2I+PjJdPWt8MTtjW2Ir
ND4+Ml09ajtjW2IrOD4+Ml09bDtyZXR1cm59ZWxzZXthW2ZdPWo8PDEmMjU1O3JldHVybn19ZnVu
Y3Rpb24gZDAoYixkLGUsZixnLGgsaSxqKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDto
PWh8MDtpPWl8MDtqPWp8MDt2YXIgaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAs
dD0wLHU9MDtpZigoLTMtZHwwKT4+PjA8ZT4+PjApe2RYKDApfWlmKChhW2JdJjEpPT0wKXtrPWIr
MXwwfWVsc2V7az1jW2IrOD4+Ml18MH1kb3tpZihkPj4+MDwyMTQ3NDgzNjMxKXtsPWUrZHwwO209
ZDw8MTtuPWw+Pj4wPG0+Pj4wP206bDtpZihuPj4+MDwxMSl7bz0xMTticmVha31vPW4rMTYmLTE2
fWVsc2V7bz0tMn19d2hpbGUoMCk7ZT1rTyhvKXwwO2lmKChnfDApIT0wKXtrWShlfDAsa3wwLGcp
fDB9aWYoKGl8MCkhPTApe249ZStnfDA7a1kobnwwLGp8MCxpKXwwfWo9Zi1ofDA7aWYoKGp8MCkh
PShnfDApKXtmPWotZ3wwO249ZSsoaStnKXwwO2w9aysoaCtnKXwwO2tZKG58MCxsfDAsZil8MH1p
ZigoZHwwKT09MTApe3A9Yis4fDA7Y1twPj4yXT1lO3E9b3wxO3I9YnwwO2Nbcj4+Ml09cTtzPWor
aXwwO3Q9Yis0fDA7Y1t0Pj4yXT1zO3U9ZStzfDA7YVt1XT0wO3JldHVybn1rUyhrKTtwPWIrOHww
O2NbcD4+Ml09ZTtxPW98MTtyPWJ8MDtjW3I+PjJdPXE7cz1qK2l8MDt0PWIrNHwwO2NbdD4+Ml09
czt1PWUrc3wwO2FbdV09MDtyZXR1cm59ZnVuY3Rpb24gZDEoYixkLGUsZixnLGgsaSl7Yj1ifDA7
ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7dmFyIGo9MCxrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTA7aWYoKC0zLWR8MCk+Pj4wPGU+Pj4wKXtkWCgwKX1pZigoYVtiXSYxKT09
MCl7aj1iKzF8MH1lbHNle2o9Y1tiKzg+PjJdfDB9ZG97aWYoZD4+PjA8MjE0NzQ4MzYzMSl7az1l
K2R8MDtsPWQ8PDE7bT1rPj4+MDxsPj4+MD9sOms7aWYobT4+PjA8MTEpe249MTE7YnJlYWt9bj1t
KzE2Ji0xNn1lbHNle249LTJ9fXdoaWxlKDApO2U9a08obil8MDtpZigoZ3wwKSE9MCl7a1koZXww
LGp8MCxnKXwwfW09Zi1ofDA7aWYoKG18MCkhPShnfDApKXtmPW0tZ3wwO209ZSsoaStnKXwwO2k9
aisoaCtnKXwwO2tZKG18MCxpfDAsZil8MH1pZigoZHwwKT09MTApe289Yis4fDA7Y1tvPj4yXT1l
O3A9bnwxO3E9YnwwO2NbcT4+Ml09cDtyZXR1cm59a1Moaik7bz1iKzh8MDtjW28+PjJdPWU7cD1u
fDE7cT1ifDA7Y1txPj4yXT1wO3JldHVybn1mdW5jdGlvbiBkMihhLGIpe2E9YXwwO2I9YnwwO3Jl
dHVybn1mdW5jdGlvbiBkMyhhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7cmV0dXJuIGF8MH1mdW5j
dGlvbiBkNChhKXthPWF8MDtyZXR1cm4gMH1mdW5jdGlvbiBkNShhKXthPWF8MDtyZXR1cm4gMH1m
dW5jdGlvbiBkNihhKXthPWF8MDtyZXR1cm4tMXwwfWZ1bmN0aW9uIGQ3KGEsYil7YT1hfDA7Yj1i
fDA7cmV0dXJuLTF8MH1mdW5jdGlvbiBkOChhLGIpe2E9YXwwO2I9YnwwO3JldHVybi0xfDB9ZnVu
Y3Rpb24gZDkoYSxiKXthPWF8MDtiPWJ8MDtyZXR1cm59ZnVuY3Rpb24gZWEoYSxiLGMpe2E9YXww
O2I9YnwwO2M9Y3wwO3JldHVybiBhfDB9ZnVuY3Rpb24gZWIoYSxiLGQsZSxmLGcpe2E9YXwwO2I9
YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2c9YTtjW2c+PjJdPTA7Y1tnKzQ+PjJdPTA7Zz1h
Kzh8MDtjW2c+PjJdPS0xO2NbZys0Pj4yXT0tMTtyZXR1cm59ZnVuY3Rpb24gZWMoYSxiLGQsZSl7
YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7ZT1pO2I9ZDtkPWk7aT1pKzE2fDA7Y1tkPj4yXT1jW2I+
PjJdO2NbZCs0Pj4yXT1jW2IrND4+Ml07Y1tkKzg+PjJdPWNbYis4Pj4yXTtjW2QrMTI+PjJdPWNb
YisxMj4+Ml07Yj1hO2NbYj4+Ml09MDtjW2IrND4+Ml09MDtiPWErOHwwO2NbYj4+Ml09LTE7Y1ti
KzQ+PjJdPS0xO2k9ZTtyZXR1cm59ZnVuY3Rpb24gZWQoYSxiLGQsZSxmLGcpe2E9YXwwO2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2c9YTtjW2c+PjJdPTA7Y1tnKzQ+PjJdPTA7Zz1hKzh8
MDtjW2c+PjJdPS0xO2NbZys0Pj4yXT0tMTtyZXR1cm59ZnVuY3Rpb24gZWUoYil7Yj1ifDA7aWYo
KGFbYl0mMSk9PTApe3JldHVybn1rUyhjW2IrOD4+Ml18MCk7cmV0dXJufWZ1bmN0aW9uIGVmKGEs
Yil7YT1hfDA7Yj1ifDA7cmV0dXJuIGVnKGEsYixrbShiKXwwKXwwfWZ1bmN0aW9uIGVnKGIsZCxl
KXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTA7Zj1iO2c9YVtm
XXwwO2lmKChnJjEpPT0wKXtoPTE7aT1nfWVsc2V7Zz1jW2I+PjJdfDA7aD0oZyYtMiktMXwwO2k9
ZyYyNTV9aWYoaD4+PjA8ZT4+PjApe2c9aSYyNTU7aWYoKGcmMXwwKT09MCl7aj1nPj4+MX1lbHNl
e2o9Y1tiKzQ+PjJdfDB9ZUEoYixoLGUtaHwwLGosMCxqLGUsZCk7cmV0dXJuIGJ8MH1pZigoaSYx
KT09MCl7az1iKzR8MH1lbHNle2s9Y1tiKzg+PjJdfDB9a28oayxkLGUpfDA7Y1trKyhlPDwyKT4+
Ml09MDtpZigoYVtmXSYxKT09MCl7YVtmXT1lPDwxJjI1NTtyZXR1cm4gYnwwfWVsc2V7Y1tiKzQ+
PjJdPWU7cmV0dXJuIGJ8MH1yZXR1cm4gMH1mdW5jdGlvbiBlaChiLGQpe2I9YnwwO2Q9ZHwwO3Zh
ciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MDtlPWI7Zj1hW2VdfDA7aWYoKGYm
MSk9PTApe2c9KGYmMjU1KT4+PjE7aD0xfWVsc2V7Zz1jW2IrND4+Ml18MDtoPShjW2I+PjJdJi0y
KS0xfDB9aWYoKGd8MCk9PShofDApKXtlQihiLGgsMSxoLGgsMCwwKTtpPWFbZV18MH1lbHNle2k9
Zn1pZigoaSYxKT09MCl7YVtlXT0oZzw8MSkrMiYyNTU7aj1iKzR8MDtrPWcrMXwwO2w9aisoZzw8
Mil8MDtjW2w+PjJdPWQ7bT1qKyhrPDwyKXwwO2NbbT4+Ml09MDtyZXR1cm59ZWxzZXtlPWNbYis4
Pj4yXXwwO2k9ZysxfDA7Y1tiKzQ+PjJdPWk7aj1lO2s9aTtsPWorKGc8PDIpfDA7Y1tsPj4yXT1k
O209aisoazw8Mil8MDtjW20+PjJdPTA7cmV0dXJufX1mdW5jdGlvbiBlaShhKXthPWF8MDtlRChh
fDApO3JldHVybn1mdW5jdGlvbiBlaihhLGIpe2E9YXwwO2I9YnwwO2lOKGEsYisyOHwwKTtyZXR1
cm59ZnVuY3Rpb24gZWsoYSxiKXthPWF8MDtiPWJ8MDtjW2ErMjQ+PjJdPWI7Y1thKzE2Pj4yXT0o
YnwwKT09MDtjW2ErMjA+PjJdPTA7Y1thKzQ+PjJdPTQwOTg7Y1thKzEyPj4yXT0wO2NbYSs4Pj4y
XT02O2I9YSsyOHwwO2skKGErMzJ8MCwwLDQwKTtpZigoYnwwKT09MCl7cmV0dXJufWlXKGIpO3Jl
dHVybn1mdW5jdGlvbiBlbChhKXthPWF8MDtlRChhfDApO3JldHVybn1mdW5jdGlvbiBlbShhKXth
PWF8MDtjW2E+PjJdPTQyMzI7aU8oYSs0fDApO2tTKGEpO3JldHVybn1mdW5jdGlvbiBlbihhKXth
PWF8MDtjW2E+PjJdPTQyMzI7aU8oYSs0fDApO3JldHVybn1mdW5jdGlvbiBlbyhhKXthPWF8MDtj
W2E+PjJdPTQyMzI7aU8oYSs0fDApO3JldHVybn1mdW5jdGlvbiBlcChhKXthPWF8MDtjW2E+PjJd
PTQyMzI7aVcoYSs0fDApO2skKGErOHwwLDAsMjQpO3JldHVybn1mdW5jdGlvbiBlcShiLGQsZSl7
Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7Zj1i
O2lmKChlfDApPD0wKXtnPTA7cmV0dXJuIGd8MH1oPWIrMTJ8MDtpPWIrMTZ8MDtqPWQ7ZD0wO3do
aWxlKDEpe2s9Y1toPj4yXXwwO2lmKGs+Pj4wPChjW2k+PjJdfDApPj4+MCl7Y1toPj4yXT1rKzE7
bD1hW2tdfDB9ZWxzZXtrPWIwW2NbKGNbZj4+Ml18MCkrNDA+PjJdJjEyN10oYil8MDtpZigoa3ww
KT09LTEpe2c9ZDttPTE4NTQ7YnJlYWt9bD1rJjI1NX1hW2pdPWw7az1kKzF8MDtpZigoa3wwKTwo
ZXwwKSl7aj1qKzF8MDtkPWt9ZWxzZXtnPWs7bT0xODU2O2JyZWFrfX1pZigobXwwKT09MTg1NCl7
cmV0dXJuIGd8MH1lbHNlIGlmKChtfDApPT0xODU2KXtyZXR1cm4gZ3wwfXJldHVybiAwfWZ1bmN0
aW9uIGVyKGEpe2E9YXwwO3ZhciBiPTAsZT0wO2lmKChiMFtjWyhjW2E+PjJdfDApKzM2Pj4yXSYx
MjddKGEpfDApPT0tMSl7Yj0tMTtyZXR1cm4gYnwwfWU9YSsxMnwwO2E9Y1tlPj4yXXwwO2NbZT4+
Ml09YSsxO2I9ZFthXXwwO3JldHVybiBifDB9ZnVuY3Rpb24gZXMoYixlLGYpe2I9YnwwO2U9ZXww
O2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO2c9YjtpZigoZnwwKTw9
MCl7aD0wO3JldHVybiBofDB9aT1iKzI0fDA7aj1iKzI4fDA7az0wO2w9ZTt3aGlsZSgxKXtlPWNb
aT4+Ml18MDtpZihlPj4+MDwoY1tqPj4yXXwwKT4+PjApe209YVtsXXwwO2NbaT4+Ml09ZSsxO2Fb
ZV09bX1lbHNle2lmKChiX1tjWyhjW2c+PjJdfDApKzUyPj4yXSYzMV0oYixkW2xdfDApfDApPT0t
MSl7aD1rO249MTg2OTticmVha319bT1rKzF8MDtpZigobXwwKTwoZnwwKSl7az1tO2w9bCsxfDB9
ZWxzZXtoPW07bj0xODcxO2JyZWFrfX1pZigobnwwKT09MTg2OSl7cmV0dXJuIGh8MH1lbHNlIGlm
KChufDApPT0xODcxKXtyZXR1cm4gaHwwfXJldHVybiAwfWZ1bmN0aW9uIGV0KGEpe2E9YXwwO2Nb
YT4+Ml09NDE2MDtpTyhhKzR8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGV1KGEpe2E9YXwwO2Nb
YT4+Ml09NDE2MDtpTyhhKzR8MCk7cmV0dXJufWZ1bmN0aW9uIGV2KGEpe2E9YXwwO2NbYT4+Ml09
NDE2MDtpTyhhKzR8MCk7cmV0dXJufWZ1bmN0aW9uIGV3KGEpe2E9YXwwO2NbYT4+Ml09NDE2MDtp
VyhhKzR8MCk7ayQoYSs4fDAsMCwyNCk7cmV0dXJufWZ1bmN0aW9uIGV4KGIsZCxlKXtiPWJ8MDtk
PWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAsaT0wLGo9MDtpZihlPj4+MD4xMDczNzQxODIyKXtk
WCgwKX1pZihlPj4+MDwyKXthW2JdPWU8PDEmMjU1O2Y9Yis0fDA7Zz1rbihmLGQsZSl8MDtoPWYr
KGU8PDIpfDA7Y1toPj4yXT0wO3JldHVybn1lbHNle2k9ZSs0Ji00O2o9a08oaTw8Mil8MDtjW2Ir
OD4+Ml09ajtjW2I+PjJdPWl8MTtjW2IrND4+Ml09ZTtmPWo7Zz1rbihmLGQsZSl8MDtoPWYrKGU8
PDIpfDA7Y1toPj4yXT0wO3JldHVybn19ZnVuY3Rpb24gZXkoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9
ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wO2lmKGQ+Pj4wPjEwNzM3NDE4MjIpe2RYKDApfWlm
KGQ+Pj4wPDIpe2FbYl09ZDw8MSYyNTU7Zj1iKzR8MDtnPWtwKGYsZSxkKXwwO2g9ZisoZDw8Mil8
MDtjW2g+PjJdPTA7cmV0dXJufWVsc2V7aT1kKzQmLTQ7aj1rTyhpPDwyKXwwO2NbYis4Pj4yXT1q
O2NbYj4+Ml09aXwxO2NbYis0Pj4yXT1kO2Y9ajtnPWtwKGYsZSxkKXwwO2g9ZisoZDw8Mil8MDtj
W2g+PjJdPTA7cmV0dXJufX1mdW5jdGlvbiBleihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0w
LGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTA7aWYoZD4+PjA+MTA3
Mzc0MTgyMil7ZFgoMCl9ZT1iO2Y9YVtlXXwwO2lmKChmJjEpPT0wKXtnPTE7aD1mfWVsc2V7Zj1j
W2I+PjJdfDA7Zz0oZiYtMiktMXwwO2g9ZiYyNTV9Zj1oJjI1NTtpZigoZiYxfDApPT0wKXtpPWY+
Pj4xfWVsc2V7aT1jW2IrND4+Ml18MH1mPWk+Pj4wPmQ+Pj4wP2k6ZDtpZihmPj4+MDwyKXtqPTJ9
ZWxzZXtqPWYrNCYtNH1mPWotMXwwO2lmKChmfDApPT0oZ3wwKSl7cmV0dXJufWlmKChmfDApPT0x
KXtrPWIrNHwwO2w9Y1tiKzg+PjJdfDA7bT0xO249MH1lbHNle2Q9ajw8MjtpZihmPj4+MD5nPj4+
MCl7bz1rTyhkKXwwfWVsc2V7bz1rTyhkKXwwfWQ9aCYxO2lmKGQ8PDI0Pj4yND09MCl7cD1iKzR8
MH1lbHNle3A9Y1tiKzg+PjJdfDB9az1vO2w9cDttPWQ8PDI0Pj4yNCE9MDtuPTF9ZD1rO2s9aCYy
NTU7aWYoKGsmMXwwKT09MCl7cT1rPj4+MX1lbHNle3E9Y1tiKzQ+PjJdfDB9a24oZCxsLHErMXww
KXwwO2lmKG0pe2tTKGwpfWlmKG4pe2NbYj4+Ml09anwxO2NbYis0Pj4yXT1pO2NbYis4Pj4yXT1k
O3JldHVybn1lbHNle2FbZV09aTw8MSYyNTU7cmV0dXJufX1mdW5jdGlvbiBlQShiLGQsZSxmLGcs
aCxpLGope2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2k9aXwwO2o9anwwO3Zh
ciBrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wO2lmKCgxMDczNzQx
ODIxLWR8MCk+Pj4wPGU+Pj4wKXtkWCgwKX1pZigoYVtiXSYxKT09MCl7az1iKzR8MH1lbHNle2s9
Y1tiKzg+PjJdfDB9ZG97aWYoZD4+PjA8NTM2ODcwODk1KXtsPWUrZHwwO209ZDw8MTtuPWw+Pj4w
PG0+Pj4wP206bDtpZihuPj4+MDwyKXtvPTI7YnJlYWt9bz1uKzQmLTR9ZWxzZXtvPTEwNzM3NDE4
MjJ9fXdoaWxlKDApO2U9a08obzw8Mil8MDtpZigoZ3wwKSE9MCl7a24oZSxrLGcpfDB9aWYoKGl8
MCkhPTApe249ZSsoZzw8Mil8MDtrbihuLGosaSl8MH1qPWYtaHwwO2lmKChqfDApIT0oZ3wwKSl7
Zj1qLWd8MDtuPWUrKGkrZzw8Mil8MDtsPWsrKGgrZzw8Mil8MDtrbihuLGwsZil8MH1pZigoZHww
KT09MSl7cD1iKzh8MDtjW3A+PjJdPWU7cT1vfDE7cj1ifDA7Y1tyPj4yXT1xO3M9aitpfDA7dD1i
KzR8MDtjW3Q+PjJdPXM7dT1lKyhzPDwyKXwwO2NbdT4+Ml09MDtyZXR1cm59a1Moayk7cD1iKzh8
MDtjW3A+PjJdPWU7cT1vfDE7cj1ifDA7Y1tyPj4yXT1xO3M9aitpfDA7dD1iKzR8MDtjW3Q+PjJd
PXM7dT1lKyhzPDwyKXwwO2NbdT4+Ml09MDtyZXR1cm59ZnVuY3Rpb24gZUIoYixkLGUsZixnLGgs
aSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7dmFyIGo9MCxrPTAs
bD0wLG09MCxuPTAsbz0wLHA9MCxxPTA7aWYoKDEwNzM3NDE4MjEtZHwwKT4+PjA8ZT4+PjApe2RY
KDApfWlmKChhW2JdJjEpPT0wKXtqPWIrNHwwfWVsc2V7aj1jW2IrOD4+Ml18MH1kb3tpZihkPj4+
MDw1MzY4NzA4OTUpe2s9ZStkfDA7bD1kPDwxO209az4+PjA8bD4+PjA/bDprO2lmKG0+Pj4wPDIp
e249MjticmVha31uPW0rNCYtNH1lbHNle249MTA3Mzc0MTgyMn19d2hpbGUoMCk7ZT1rTyhuPDwy
KXwwO2lmKChnfDApIT0wKXtrbihlLGosZyl8MH1tPWYtaHwwO2lmKChtfDApIT0oZ3wwKSl7Zj1t
LWd8MDttPWUrKGkrZzw8Mil8MDtpPWorKGgrZzw8Mil8MDtrbihtLGksZil8MH1pZigoZHwwKT09
MSl7bz1iKzh8MDtjW28+PjJdPWU7cD1ufDE7cT1ifDA7Y1txPj4yXT1wO3JldHVybn1rUyhqKTtv
PWIrOHwwO2Nbbz4+Ml09ZTtwPW58MTtxPWJ8MDtjW3E+PjJdPXA7cmV0dXJufWZ1bmN0aW9uIGVD
KGIsZCl7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2U9aTtpPWkrOHwwO2Y9ZXwwO2c9KGNb
YisyND4+Ml18MCk9PTA7aWYoZyl7Y1tiKzE2Pj4yXT1kfDF9ZWxzZXtjW2IrMTY+PjJdPWR9aWYo
KChnJjF8ZCkmY1tiKzIwPj4yXXwwKT09MCl7aT1lO3JldHVybn1lPWJPKDE2KXwwO2Rve2lmKChh
WzE2MjcyXXwwKT09MCl7aWYoKGJjKDE2MjcyKXwwKT09MCl7YnJlYWt9ZGooMTE4NDApO2NbMjk2
MF09NGUzO2EkKDY2LDExODQwLHV8MCl8MH19d2hpbGUoMCk7Yj1rMygxMTg0MCwwLDMyKXwwO2Q9
SztjW2Y+PjJdPWImMHwxO2NbZis0Pj4yXT1kfDA7ZE0oZSxmLDEzMDQpO2NbZT4+Ml09MzE4NDti
bChlfDAsODc1MiwyOCl9ZnVuY3Rpb24gZUQoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wLGY9MDtj
W2E+PjJdPTMxNjA7Yj1jW2ErNDA+PjJdfDA7ZD1hKzMyfDA7ZT1hKzM2fDA7aWYoKGJ8MCkhPTAp
e2Y9Yjtkb3tmPWYtMXwwO2IzW2NbKGNbZD4+Ml18MCkrKGY8PDIpPj4yXSY3XSgwLGEsY1soY1tl
Pj4yXXwwKSsoZjw8Mik+PjJdfDApO313aGlsZSgoZnwwKSE9MCl9aU8oYSsyOHwwKTtrSyhjW2Q+
PjJdfDApO2tLKGNbZT4+Ml18MCk7a0soY1thKzQ4Pj4yXXwwKTtrSyhjW2ErNjA+PjJdfDApO3Jl
dHVybn1mdW5jdGlvbiBlRShhKXthPWF8MDtyZXR1cm4gMH1mdW5jdGlvbiBlRihhKXthPWF8MDty
ZXR1cm4gMH1mdW5jdGlvbiBlRyhhKXthPWF8MDtyZXR1cm4tMXwwfWZ1bmN0aW9uIGVIKGEsYil7
YT1hfDA7Yj1ifDA7cmV0dXJuLTF8MH1mdW5jdGlvbiBlSShhLGIpe2E9YXwwO2I9YnwwO3JldHVy
bi0xfDB9ZnVuY3Rpb24gZUooYSl7YT1hfDA7cmV0dXJuIDE0MTZ8MH1mdW5jdGlvbiBlSyhhLGIs
ZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtlPWk7Yj1kO2Q9aTtpPWkrMTZ8MDtjW2Q+PjJd
PWNbYj4+Ml07Y1tkKzQ+PjJdPWNbYis0Pj4yXTtjW2QrOD4+Ml09Y1tiKzg+PjJdO2NbZCsxMj4+
Ml09Y1tiKzEyPj4yXTtiPWE7Y1tiPj4yXT0wO2NbYis0Pj4yXT0wO2I9YSs4fDA7Y1tiPj4yXT0t
MTtjW2IrND4+Ml09LTE7aT1lO3JldHVybn1mdW5jdGlvbiBlTChiLGMsZCxlLGYpe2I9YnwwO2M9
Y3wwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtMMjQzNzpk
b3tpZigoZXwwKT09KGZ8MCkpe2c9Y31lbHNle2I9YztoPWU7d2hpbGUoMSl7aWYoKGJ8MCk9PShk
fDApKXtpPS0xO2o9MTk5MDticmVha31rPWFbYl18MDtsPWFbaF18MDtpZihrPDwyND4+MjQ8bDw8
MjQ+PjI0KXtpPS0xO2o9MTk5MzticmVha31pZihsPDwyND4+MjQ8azw8MjQ+PjI0KXtpPTE7aj0x
OTkyO2JyZWFrfWs9YisxfDA7bD1oKzF8MDtpZigobHwwKT09KGZ8MCkpe2c9azticmVhayBMMjQz
N31lbHNle2I9aztoPWx9fWlmKChqfDApPT0xOTkzKXtyZXR1cm4gaXwwfWVsc2UgaWYoKGp8MCk9
PTE5OTIpe3JldHVybiBpfDB9ZWxzZSBpZigoanwwKT09MTk5MCl7cmV0dXJuIGl8MH19fXdoaWxl
KDApO2k9KGd8MCkhPShkfDApfDA7cmV0dXJuIGl8MH1mdW5jdGlvbiBlTShiLGMsZCl7Yj1ifDA7
Yz1jfDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MDtpZigoY3wwKT09KGR8MCkpe2U9MDtyZXR1
cm4gZXwwfWVsc2V7Zj1jO2c9MH13aGlsZSgxKXtjPShhW2ZdfDApKyhnPDw0KXwwO2I9YyYtMjY4
NDM1NDU2O2g9KGI+Pj4yNHxiKV5jO2M9ZisxfDA7aWYoKGN8MCk9PShkfDApKXtlPWg7YnJlYWt9
ZWxzZXtmPWM7Zz1ofX1yZXR1cm4gZXwwfWZ1bmN0aW9uIGVOKGEsYixkKXthPWF8MDtiPWJ8MDtk
PWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtlPWE7aWYoKGR8MCk8PTAp
e2Y9MDtyZXR1cm4gZnwwfWc9YSsxMnwwO2g9YSsxNnwwO2k9YjtiPTA7d2hpbGUoMSl7aj1jW2c+
PjJdfDA7aWYoaj4+PjA8KGNbaD4+Ml18MCk+Pj4wKXtjW2c+PjJdPWorNDtrPWNbaj4+Ml18MH1l
bHNle2o9YjBbY1soY1tlPj4yXXwwKSs0MD4+Ml0mMTI3XShhKXwwO2lmKChqfDApPT0tMSl7Zj1i
O2w9MjAwNzticmVha31lbHNle2s9an19Y1tpPj4yXT1rO2o9YisxfDA7aWYoKGp8MCk8KGR8MCkp
e2k9aSs0fDA7Yj1qfWVsc2V7Zj1qO2w9MjAwODticmVha319aWYoKGx8MCk9PTIwMDgpe3JldHVy
biBmfDB9ZWxzZSBpZigobHwwKT09MjAwNyl7cmV0dXJuIGZ8MH1yZXR1cm4gMH1mdW5jdGlvbiBl
TyhhKXthPWF8MDt2YXIgYj0wLGQ9MDtpZigoYjBbY1soY1thPj4yXXwwKSszNj4+Ml0mMTI3XShh
KXwwKT09LTEpe2I9LTE7cmV0dXJuIGJ8MH1kPWErMTJ8MDthPWNbZD4+Ml18MDtjW2Q+PjJdPWEr
NDtiPWNbYT4+Ml18MDtyZXR1cm4gYnwwfWZ1bmN0aW9uIGVQKGEsYixkKXthPWF8MDtiPWJ8MDtk
PWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtlPWE7aWYoKGR8MCk8PTAp
e2Y9MDtyZXR1cm4gZnwwfWc9YSsyNHwwO2g9YSsyOHwwO2k9MDtqPWI7d2hpbGUoMSl7Yj1jW2c+
PjJdfDA7aWYoYj4+PjA8KGNbaD4+Ml18MCk+Pj4wKXtrPWNbaj4+Ml18MDtjW2c+PjJdPWIrNDtj
W2I+PjJdPWt9ZWxzZXtpZigoYl9bY1soY1tlPj4yXXwwKSs1Mj4+Ml0mMzFdKGEsY1tqPj4yXXww
KXwwKT09LTEpe2Y9aTtsPTIwMjM7YnJlYWt9fWs9aSsxfDA7aWYoKGt8MCk8KGR8MCkpe2k9aztq
PWorNHwwfWVsc2V7Zj1rO2w9MjAyMjticmVha319aWYoKGx8MCk9PTIwMjMpe3JldHVybiBmfDB9
ZWxzZSBpZigobHwwKT09MjAyMil7cmV0dXJuIGZ8MH1yZXR1cm4gMH1mdW5jdGlvbiBlUShhKXth
PWF8MDtlRChhKzh8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGVSKGEpe2E9YXwwO2VEKGErOHww
KTtyZXR1cm59ZnVuY3Rpb24gZVMoYSl7YT1hfDA7dmFyIGI9MCxkPTA7Yj1hO2Q9Y1soY1thPj4y
XXwwKS0xMj4+Ml18MDtlRChiKyhkKzgpfDApO2tTKGIrZHwwKTtyZXR1cm59ZnVuY3Rpb24gZVQo
YSl7YT1hfDA7ZUQoYSsoKGNbKGNbYT4+Ml18MCktMTI+PjJdfDApKzgpfDApO3JldHVybn1mdW5j
dGlvbiBlVShhKXthPWF8MDtlRChhKzh8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGVWKGEpe2E9
YXwwO2VEKGErOHwwKTtyZXR1cm59ZnVuY3Rpb24gZVcoYSl7YT1hfDA7dmFyIGI9MCxkPTA7Yj1h
O2Q9Y1soY1thPj4yXXwwKS0xMj4+Ml18MDtlRChiKyhkKzgpfDApO2tTKGIrZHwwKTtyZXR1cm59
ZnVuY3Rpb24gZVgoYSl7YT1hfDA7ZUQoYSsoKGNbKGNbYT4+Ml18MCktMTI+PjJdfDApKzgpfDAp
O3JldHVybn1mdW5jdGlvbiBlWShhKXthPWF8MDtlRChhKzR8MCk7a1MoYSk7cmV0dXJufWZ1bmN0
aW9uIGVaKGEpe2E9YXwwO2VEKGErNHwwKTtyZXR1cm59ZnVuY3Rpb24gZV8oYSl7YT1hfDA7dmFy
IGI9MCxkPTA7Yj1hO2Q9Y1soY1thPj4yXXwwKS0xMj4+Ml18MDtlRChiKyhkKzQpfDApO2tTKGIr
ZHwwKTtyZXR1cm59ZnVuY3Rpb24gZSQoYSl7YT1hfDA7ZUQoYSsoKGNbKGNbYT4+Ml18MCktMTI+
PjJdfDApKzQpfDApO3JldHVybn1mdW5jdGlvbiBlMChhKXthPWF8MDtlRChhKzR8MCk7a1MoYSk7
cmV0dXJufWZ1bmN0aW9uIGUxKGEpe2E9YXwwO2VEKGErNHwwKTtyZXR1cm59ZnVuY3Rpb24gZTIo
YSl7YT1hfDA7dmFyIGI9MCxkPTA7Yj1hO2Q9Y1soY1thPj4yXXwwKS0xMj4+Ml18MDtlRChiKyhk
KzQpfDApO2tTKGIrZHwwKTtyZXR1cm59ZnVuY3Rpb24gZTMoYSl7YT1hfDA7ZUQoYSsoKGNbKGNb
YT4+Ml18MCktMTI+PjJdfDApKzQpfDApO3JldHVybn1mdW5jdGlvbiBlNChhLGIsYyl7YT1hfDA7
Yj1ifDA7Yz1jfDA7aWYoKGN8MCk9PTEpe2RaKGEsMTY0MCwzNSk7cmV0dXJufWVsc2V7ZEsoYSxi
fDAsYyk7cmV0dXJufX1mdW5jdGlvbiBlNShhKXthPWF8MDtkZihhfDApO3JldHVybn1mdW5jdGlv
biBlNihhKXthPWF8MDtkTyhhfDApO2tTKGEpO3JldHVybn1mdW5jdGlvbiBlNyhhKXthPWF8MDtk
TyhhfDApO3JldHVybn1mdW5jdGlvbiBlOChhKXthPWF8MDtlRChhKTtrUyhhKTtyZXR1cm59ZnVu
Y3Rpb24gZTkoYSl7YT1hfDA7ZGYoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gZmEoYSl7YT1h
fDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gZmIoYSl7YT1hfDA7ZGUoYXwwKTtyZXR1
cm59ZnVuY3Rpb24gZmMoYSl7YT1hfDA7ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24gZmQoYixkLGUs
Zil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0wLGo9MCxrPTA7ZD1lO2c9
Zi1kfDA7ZG97aWYoKGd8MCk9PS0xKXtkWChiKTtoPTIwNTh9ZWxzZXtpZihnPj4+MD49MTEpe2g9
MjA1ODticmVha31hW2JdPWc8PDEmMjU1O2k9YisxfDB9fXdoaWxlKDApO2lmKChofDApPT0yMDU4
KXtoPWcrMTYmLTE2O2o9a08oaCl8MDtjW2IrOD4+Ml09ajtjW2I+PjJdPWh8MTtjW2IrND4+Ml09
ZztpPWp9aWYoKGV8MCk9PShmfDApKXtrPWk7YVtrXT0wO3JldHVybn1qPWYrKC1kfDApfDA7ZD1p
O2c9ZTt3aGlsZSgxKXthW2RdPWFbZ118MDtlPWcrMXwwO2lmKChlfDApPT0oZnwwKSl7YnJlYWt9
ZWxzZXtkPWQrMXwwO2c9ZX19az1pK2p8MDthW2tdPTA7cmV0dXJufWZ1bmN0aW9uIGZlKGEpe2E9
YXwwO2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGZmKGEpe2E9YXwwO2RlKGF8MCk7cmV0
dXJufWZ1bmN0aW9uIGZnKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAsaD0wLGo9MCxrPTA7
ZD1pO2k9aSs4fDA7ZT1kfDA7Zj1iO2c9Y1soY1tmPj4yXXwwKS0xMj4+Ml18MDtoPWI7aWYoKGNb
aCsoZysyNCk+PjJdfDApPT0wKXtpPWQ7cmV0dXJuIGJ8MH1qPWV8MDthW2pdPTA7Y1tlKzQ+PjJd
PWI7ZG97aWYoKGNbaCsoZysxNik+PjJdfDApPT0wKXtrPWNbaCsoZys3Mik+PjJdfDA7aWYoKGt8
MCkhPTApe2ZnKGspfDB9YVtqXT0xO2s9Y1toKygoY1soY1tmPj4yXXwwKS0xMj4+Ml18MCkrMjQp
Pj4yXXwwO2lmKChiMFtjWyhjW2s+PjJdfDApKzI0Pj4yXSYxMjddKGspfDApIT0tMSl7YnJlYWt9
az1jWyhjW2Y+PjJdfDApLTEyPj4yXXwwO2VDKGgra3wwLGNbaCsoaysxNik+PjJdfDEpfX13aGls
ZSgwKTtmaShlKTtpPWQ7cmV0dXJuIGJ8MH1mdW5jdGlvbiBmaChiKXtiPWJ8MDt2YXIgZD0wLGU9
MCxmPTAsZz0wLGg9MCxqPTAsaz0wO2Q9aTtpPWkrOHwwO2U9ZHwwO2Y9YjtnPWNbKGNbZj4+Ml18
MCktMTI+PjJdfDA7aD1iO2lmKChjW2grKGcrMjQpPj4yXXwwKT09MCl7aT1kO3JldHVybiBifDB9
aj1lfDA7YVtqXT0wO2NbZSs0Pj4yXT1iO2Rve2lmKChjW2grKGcrMTYpPj4yXXwwKT09MCl7az1j
W2grKGcrNzIpPj4yXXwwO2lmKChrfDApIT0wKXtmaChrKXwwfWFbal09MTtrPWNbaCsoKGNbKGNb
Zj4+Ml18MCktMTI+PjJdfDApKzI0KT4+Ml18MDtpZigoYjBbY1soY1trPj4yXXwwKSsyND4+Ml0m
MTI3XShrKXwwKSE9LTEpe2JyZWFrfWs9Y1soY1tmPj4yXXwwKS0xMj4+Ml18MDtlQyhoK2t8MCxj
W2grKGsrMTYpPj4yXXwxKX19d2hpbGUoMCk7ZmooZSk7aT1kO3JldHVybiBifDB9ZnVuY3Rpb24g
ZmkoYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0wO2I9YSs0fDA7YT1jW2I+PjJdfDA7ZD1jWyhjW2E+
PjJdfDApLTEyPj4yXXwwO2U9YTtpZigoY1tlKyhkKzI0KT4+Ml18MCk9PTApe3JldHVybn1pZigo
Y1tlKyhkKzE2KT4+Ml18MCkhPTApe3JldHVybn1pZigoY1tlKyhkKzQpPj4yXSY4MTkyfDApPT0w
KXtyZXR1cm59aWYoYmgoKXwwKXtyZXR1cm59ZD1jW2I+PjJdfDA7ZT1jW2QrKChjWyhjW2Q+PjJd
fDApLTEyPj4yXXwwKSsyNCk+PjJdfDA7aWYoKGIwW2NbKGNbZT4+Ml18MCkrMjQ+PjJdJjEyN10o
ZSl8MCkhPS0xKXtyZXR1cm59ZT1jW2I+PjJdfDA7Yj1jWyhjW2U+PjJdfDApLTEyPj4yXXwwO2Q9
ZTtlQyhkK2J8MCxjW2QrKGIrMTYpPj4yXXwxKTtyZXR1cm59ZnVuY3Rpb24gZmooYSl7YT1hfDA7
dmFyIGI9MCxkPTAsZT0wO2I9YSs0fDA7YT1jW2I+PjJdfDA7ZD1jWyhjW2E+PjJdfDApLTEyPj4y
XXwwO2U9YTtpZigoY1tlKyhkKzI0KT4+Ml18MCk9PTApe3JldHVybn1pZigoY1tlKyhkKzE2KT4+
Ml18MCkhPTApe3JldHVybn1pZigoY1tlKyhkKzQpPj4yXSY4MTkyfDApPT0wKXtyZXR1cm59aWYo
YmgoKXwwKXtyZXR1cm59ZD1jW2I+PjJdfDA7ZT1jW2QrKChjWyhjW2Q+PjJdfDApLTEyPj4yXXww
KSsyNCk+PjJdfDA7aWYoKGIwW2NbKGNbZT4+Ml18MCkrMjQ+PjJdJjEyN10oZSl8MCkhPS0xKXty
ZXR1cm59ZT1jW2I+PjJdfDA7Yj1jWyhjW2U+PjJdfDApLTEyPj4yXXwwO2Q9ZTtlQyhkK2J8MCxj
W2QrKGIrMTYpPj4yXXwxKTtyZXR1cm59ZnVuY3Rpb24gZmsoYSxiLGQsZSxmKXthPWF8MDtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTA7TDI1OTY6ZG97
aWYoKGV8MCk9PShmfDApKXtnPWJ9ZWxzZXthPWI7aD1lO3doaWxlKDEpe2lmKChhfDApPT0oZHww
KSl7aT0tMTtqPTIxNDc7YnJlYWt9az1jW2E+PjJdfDA7bD1jW2g+PjJdfDA7aWYoKGt8MCk8KGx8
MCkpe2k9LTE7aj0yMTUwO2JyZWFrfWlmKChsfDApPChrfDApKXtpPTE7aj0yMTQ4O2JyZWFrfWs9
YSs0fDA7bD1oKzR8MDtpZigobHwwKT09KGZ8MCkpe2c9azticmVhayBMMjU5Nn1lbHNle2E9azto
PWx9fWlmKChqfDApPT0yMTQ4KXtyZXR1cm4gaXwwfWVsc2UgaWYoKGp8MCk9PTIxNDcpe3JldHVy
biBpfDB9ZWxzZSBpZigoanwwKT09MjE1MCl7cmV0dXJuIGl8MH19fXdoaWxlKDApO2k9KGd8MCkh
PShkfDApfDA7cmV0dXJuIGl8MH1mdW5jdGlvbiBmbChhLGIsZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7
dmFyIGU9MCxmPTAsZz0wLGg9MDtpZigoYnwwKT09KGR8MCkpe2U9MDtyZXR1cm4gZXwwfWVsc2V7
Zj1iO2c9MH13aGlsZSgxKXtiPShjW2Y+PjJdfDApKyhnPDw0KXwwO2E9YiYtMjY4NDM1NDU2O2g9
KGE+Pj4yNHxhKV5iO2I9Zis0fDA7aWYoKGJ8MCk9PShkfDApKXtlPWg7YnJlYWt9ZWxzZXtmPWI7
Zz1ofX1yZXR1cm4gZXwwfWZ1bmN0aW9uIGZtKGIsZCxlLGYpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9
ZnwwO3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wO2Q9ZTtnPWYtZHwwO2g9Zz4+MjtpZihoPj4+MD4x
MDczNzQxODIyKXtkWChiKX1pZihoPj4+MDwyKXthW2JdPWc+Pj4xJjI1NTtpPWIrNHwwfWVsc2V7
Zz1oKzQmLTQ7aj1rTyhnPDwyKXwwO2NbYis4Pj4yXT1qO2NbYj4+Ml09Z3wxO2NbYis0Pj4yXT1o
O2k9an1pZigoZXwwKT09KGZ8MCkpe2s9aTtjW2s+PjJdPTA7cmV0dXJufWo9KGYtNCsoLWR8MCl8
MCk+Pj4yO2Q9aTtoPWU7d2hpbGUoMSl7Y1tkPj4yXT1jW2g+PjJdO2U9aCs0fDA7aWYoKGV8MCk9
PShmfDApKXticmVha31lbHNle2Q9ZCs0fDA7aD1lfX1rPWkrKGorMTw8Mil8MDtjW2s+PjJdPTA7
cmV0dXJufWZ1bmN0aW9uIGZuKGEpe2E9YXwwO2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9u
IGZvKGEpe2E9YXwwO2RlKGF8MCk7cmV0dXJufWZ1bmN0aW9uIGZwKGIsZCxlLGYsZyxoLGope2I9
YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wO2s9
aTtpPWkrMTEyfDA7bD1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1tsPj4yXTts
PWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9a3wwO209aysxNnww
O249ayszMnwwO289ays0MHwwO3A9ays0OHwwO3E9ays1NnwwO3I9ays2NHwwO3M9ays3MnwwO3Q9
ays4MHwwO3U9aysxMDR8MDtpZigoY1tnKzQ+PjJdJjF8MCk9PTApe2Nbbj4+Ml09LTE7dj1jWyhj
W2Q+PjJdfDApKzE2Pj4yXXwwO3c9ZXwwO2NbcD4+Ml09Y1t3Pj4yXTtjW3E+PjJdPWNbZj4+Ml07
YlhbdiYxMjddKG8sZCxwLHEsZyxoLG4pO3E9Y1tvPj4yXXwwO2Nbdz4+Ml09cTtzd2l0Y2goY1tu
Pj4yXXwwKXtjYXNlIDE6e2Fbal09MTticmVha307Y2FzZSAwOnthW2pdPTA7YnJlYWt9O2RlZmF1
bHQ6e2Fbal09MTtjW2g+PjJdPTR9fWNbYj4+Ml09cTtpPWs7cmV0dXJufWVqKHIsZyk7cT1yfDA7
cj1jW3E+PjJdfDA7aWYoKGNbMzkyNF18MCkhPS0xKXtjW20+PjJdPTE1Njk2O2NbbSs0Pj4yXT0x
MjtjW20rOD4+Ml09MDtkVygxNTY5NixtLDk2KX1tPShjWzM5MjVdfDApLTF8MDtuPWNbcis4Pj4y
XXwwO2Rve2lmKChjW3IrMTI+PjJdfDApLW4+PjI+Pj4wPm0+Pj4wKXt3PWNbbisobTw8Mik+PjJd
fDA7aWYoKHd8MCk9PTApe2JyZWFrfW89dzt3PWNbcT4+Ml18MDtkeih3KXwwO2VqKHMsZyk7dz1z
fDA7cD1jW3c+PjJdfDA7aWYoKGNbMzgyOF18MCkhPS0xKXtjW2w+PjJdPTE1MzEyO2NbbCs0Pj4y
XT0xMjtjW2wrOD4+Ml09MDtkVygxNTMxMixsLDk2KX1kPShjWzM4MjldfDApLTF8MDt2PWNbcCs4
Pj4yXXwwO2Rve2lmKChjW3ArMTI+PjJdfDApLXY+PjI+Pj4wPmQ+Pj4wKXt4PWNbdisoZDw8Mik+
PjJdfDA7aWYoKHh8MCk9PTApe2JyZWFrfXk9eDt6PWNbdz4+Ml18MDtkeih6KXwwO3o9dHwwO0E9
eDtiWltjWyhjW0E+PjJdfDApKzI0Pj4yXSYxMjddKHoseSk7YlpbY1soY1tBPj4yXXwwKSsyOD4+
Ml0mMTI3XSh0KzEyfDAseSk7Y1t1Pj4yXT1jW2Y+PjJdO2Fbal09KGZxKGUsdSx6LHQrMjR8MCxv
LGgsMSl8MCk9PSh6fDApfDA7Y1tiPj4yXT1jW2U+PjJdO2RQKHQrMTJ8MCk7ZFAodHwwKTtpPWs7
cmV0dXJufX13aGlsZSgwKTtvPWJPKDQpfDA7a3Eobyk7Ymwob3wwLDgxNzYsMTM0KX19d2hpbGUo
MCk7az1iTyg0KXwwO2txKGspO2JsKGt8MCw4MTc2LDEzNCl9ZnVuY3Rpb24gZnEoYixlLGYsZyxo
LGosayl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxt
PTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9
MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0w
LFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wLFk9MCxaPTAsXz0wLCQ9MCxhYT0w
O2w9aTtpPWkrMTA0fDA7bT1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1ttPj4y
XTttPShnLWZ8MCkvMTJ8MDtuPWx8MDtkb3tpZihtPj4+MD4xMDApe289a0oobSl8MDtpZigob3ww
KSE9MCl7cD1vO3E9bzticmVha31rWCgpO3A9MDtxPTB9ZWxzZXtwPW47cT0wfX13aGlsZSgwKTtu
PShmfDApPT0oZ3wwKTtpZihuKXtyPW07cz0wfWVsc2V7bz1tO209MDt0PXA7dT1mO3doaWxlKDEp
e3Y9ZFt1XXwwO2lmKCh2JjF8MCk9PTApe3c9dj4+PjF9ZWxzZXt3PWNbdSs0Pj4yXXwwfWlmKCh3
fDApPT0wKXthW3RdPTI7eD1tKzF8MDt5PW8tMXwwfWVsc2V7YVt0XT0xO3g9bTt5PW99dj11KzEy
fDA7aWYoKHZ8MCk9PShnfDApKXtyPXk7cz14O2JyZWFrfWVsc2V7bz15O209eDt0PXQrMXwwO3U9
dn19fXU9YnwwO2I9ZXwwO2U9aDt0PTA7eD1zO3M9cjt3aGlsZSgxKXtyPWNbdT4+Ml18MDtkb3tp
ZigocnwwKT09MCl7ej0wfWVsc2V7aWYoKGNbcisxMj4+Ml18MCkhPShjW3IrMTY+PjJdfDApKXt6
PXI7YnJlYWt9aWYoKGIwW2NbKGNbcj4+Ml18MCkrMzY+PjJdJjEyN10ocil8MCk9PS0xKXtjW3U+
PjJdPTA7ej0wO2JyZWFrfWVsc2V7ej1jW3U+PjJdfDA7YnJlYWt9fX13aGlsZSgwKTtyPSh6fDAp
PT0wO209Y1tiPj4yXXwwO2lmKChtfDApPT0wKXtBPXo7Qj0wfWVsc2V7ZG97aWYoKGNbbSsxMj4+
Ml18MCk9PShjW20rMTY+PjJdfDApKXtpZigoYjBbY1soY1ttPj4yXXwwKSszNj4+Ml0mMTI3XSht
KXwwKSE9LTEpe0M9bTticmVha31jW2I+PjJdPTA7Qz0wfWVsc2V7Qz1tfX13aGlsZSgwKTtBPWNb
dT4+Ml18MDtCPUN9RD0oQnwwKT09MDtpZighKChyXkQpJihzfDApIT0wKSl7YnJlYWt9bT1jW0Er
MTI+PjJdfDA7aWYoKG18MCk9PShjW0ErMTY+PjJdfDApKXtFPShiMFtjWyhjW0E+PjJdfDApKzM2
Pj4yXSYxMjddKEEpfDApJjI1NX1lbHNle0U9YVttXXwwfWlmKGspe0Y9RX1lbHNle0Y9Yl9bY1so
Y1tlPj4yXXwwKSsxMj4+Ml0mMzFdKGgsRSl8MH1kb3tpZihuKXtHPXg7SD1zfWVsc2V7bT10KzF8
MDtMMjcwNzpkb3tpZihrKXt5PXM7bz14O3c9cDt2PTA7ST1mO3doaWxlKDEpe2Rve2lmKChhW3dd
fDApPT0xKXtKPUk7aWYoKGFbSl0mMSk9PTApe0s9SSsxfDB9ZWxzZXtLPWNbSSs4Pj4yXXwwfWlm
KEY8PDI0Pj4yNCE9KGFbSyt0fDBdfDApKXthW3ddPTA7TD12O009bztOPXktMXwwO2JyZWFrfU89
ZFtKXXwwO2lmKChPJjF8MCk9PTApe1A9Tz4+PjF9ZWxzZXtQPWNbSSs0Pj4yXXwwfWlmKChQfDAp
IT0obXwwKSl7TD0xO009bztOPXk7YnJlYWt9YVt3XT0yO0w9MTtNPW8rMXwwO049eS0xfDB9ZWxz
ZXtMPXY7TT1vO049eX19d2hpbGUoMCk7Tz1JKzEyfDA7aWYoKE98MCk9PShnfDApKXtRPU47Uj1N
O1M9TDticmVhayBMMjcwN315PU47bz1NO3c9dysxfDA7dj1MO0k9T319ZWxzZXtJPXM7dj14O3c9
cDtvPTA7eT1mO3doaWxlKDEpe2Rve2lmKChhW3ddfDApPT0xKXtPPXk7aWYoKGFbT10mMSk9PTAp
e1Q9eSsxfDB9ZWxzZXtUPWNbeSs4Pj4yXXwwfWlmKEY8PDI0Pj4yNCE9KGJfW2NbKGNbZT4+Ml18
MCkrMTI+PjJdJjMxXShoLGFbVCt0fDBdfDApfDApPDwyND4+MjQpe2Fbd109MDtVPW87Vj12O1c9
SS0xfDA7YnJlYWt9Sj1kW09dfDA7aWYoKEomMXwwKT09MCl7WD1KPj4+MX1lbHNle1g9Y1t5KzQ+
PjJdfDB9aWYoKFh8MCkhPShtfDApKXtVPTE7Vj12O1c9STticmVha31hW3ddPTI7VT0xO1Y9disx
fDA7Vz1JLTF8MH1lbHNle1U9bztWPXY7Vz1JfX13aGlsZSgwKTtKPXkrMTJ8MDtpZigoSnwwKT09
KGd8MCkpe1E9VztSPVY7Uz1VO2JyZWFrIEwyNzA3fUk9Vzt2PVY7dz13KzF8MDtvPVU7eT1KfX19
d2hpbGUoMCk7aWYoIVMpe0c9UjtIPVE7YnJlYWt9bT1jW3U+PjJdfDA7eT1tKzEyfDA7bz1jW3k+
PjJdfDA7aWYoKG98MCk9PShjW20rMTY+PjJdfDApKXt3PWNbKGNbbT4+Ml18MCkrNDA+PjJdfDA7
YjBbdyYxMjddKG0pfDB9ZWxzZXtjW3k+PjJdPW8rMX1pZigoUitRfDApPj4+MDwyfG4pe0c9UjtI
PVE7YnJlYWt9bz10KzF8MDt5PVI7bT1wO3c9Zjt3aGlsZSgxKXtkb3tpZigoYVttXXwwKT09Mil7
dj1kW3ddfDA7aWYoKHYmMXwwKT09MCl7WT12Pj4+MX1lbHNle1k9Y1t3KzQ+PjJdfDB9aWYoKFl8
MCk9PShvfDApKXtaPXk7YnJlYWt9YVttXT0wO1o9eS0xfDB9ZWxzZXtaPXl9fXdoaWxlKDApO3Y9
dysxMnwwO2lmKCh2fDApPT0oZ3wwKSl7Rz1aO0g9UTticmVha31lbHNle3k9WjttPW0rMXwwO3c9
dn19fX13aGlsZSgwKTt0PXQrMXwwO3g9RztzPUh9ZG97aWYoKEF8MCk9PTApe189MH1lbHNle2lm
KChjW0ErMTI+PjJdfDApIT0oY1tBKzE2Pj4yXXwwKSl7Xz1BO2JyZWFrfWlmKChiMFtjWyhjW0E+
PjJdfDApKzM2Pj4yXSYxMjddKEEpfDApPT0tMSl7Y1t1Pj4yXT0wO189MDticmVha31lbHNle189
Y1t1Pj4yXXwwO2JyZWFrfX19d2hpbGUoMCk7dT0oX3wwKT09MDtkb3tpZihEKXskPTIyOTN9ZWxz
ZXtpZigoY1tCKzEyPj4yXXwwKSE9KGNbQisxNj4+Ml18MCkpe2lmKHUpe2JyZWFrfWVsc2V7JD0y
Mjk1O2JyZWFrfX1pZigoYjBbY1soY1tCPj4yXXwwKSszNj4+Ml0mMTI3XShCKXwwKT09LTEpe2Nb
Yj4+Ml09MDskPTIyOTM7YnJlYWt9ZWxzZXtpZih1XihCfDApPT0wKXticmVha31lbHNleyQ9MjI5
NTticmVha319fX13aGlsZSgwKTtpZigoJHwwKT09MjI5Myl7aWYodSl7JD0yMjk1fX1pZigoJHww
KT09MjI5NSl7Y1tqPj4yXT1jW2o+PjJdfDJ9TDI3ODY6ZG97aWYobil7JD0yMzAwfWVsc2V7dT1m
O0I9cDt3aGlsZSgxKXtpZigoYVtCXXwwKT09Mil7YWE9dTticmVhayBMMjc4Nn1iPXUrMTJ8MDtp
ZigoYnwwKT09KGd8MCkpeyQ9MjMwMDticmVhayBMMjc4Nn11PWI7Qj1CKzF8MH19fXdoaWxlKDAp
O2lmKCgkfDApPT0yMzAwKXtjW2o+PjJdPWNbaj4+Ml18NDthYT1nfWlmKChxfDApPT0wKXtpPWw7
cmV0dXJuIGFhfDB9a0socSk7aT1sO3JldHVybiBhYXwwfWZ1bmN0aW9uIGZyKGIsZSxmLGcsaCxq
LGspe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0w
LG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAs
Qj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQ
PTAsUT0wLFI9MCxTPTAsVD0wLFU9MDtlPWk7aT1pKzcyfDA7bD1mO2Y9aTtpPWkrNHwwO2k9aSs3
Pj4zPDwzO2NbZj4+Ml09Y1tsPj4yXTtsPWc7Zz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tnPj4y
XT1jW2w+PjJdO2w9ZSszMnwwO209ZSs0MHwwO249ZSs1NnwwO289bjtwPWk7aT1pKzR8MDtpPWkr
Nz4+Mzw8MztxPWk7aT1pKzE2MHwwO3I9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3M9aTtpPWkrNHww
O2k9aSs3Pj4zPDwzO3N3aXRjaChjW2grND4+Ml0mNzR8MCl7Y2FzZSA2NDp7dD04O2JyZWFrfTtj
YXNlIDg6e3Q9MTY7YnJlYWt9O2Nhc2UgMDp7dD0wO2JyZWFrfTtkZWZhdWx0Ont0PTEwfX11PWV8
MDtmeChtLGgsdSxsKTtrJChvfDAsMCwxMik7aD1uO2RSKG4sMTAsMCk7aWYoKGFbb10mMSk9PTAp
e3Y9aCsxfDA7dz12O3g9djt5PW4rOHwwfWVsc2V7dj1uKzh8MDt3PWNbdj4+Ml18MDt4PWgrMXww
O3k9dn1jW3A+PjJdPXc7dj1xfDA7Y1tyPj4yXT12O2Nbcz4+Ml09MDtoPWZ8MDtmPWd8MDtnPW58
MDt6PW4rNHwwO0E9YVtsXXwwO2w9dzt3PWNbaD4+Ml18MDtMMjgwOTp3aGlsZSgxKXtkb3tpZigo
d3wwKT09MCl7Qj0wfWVsc2V7aWYoKGNbdysxMj4+Ml18MCkhPShjW3crMTY+PjJdfDApKXtCPXc7
YnJlYWt9aWYoKGIwW2NbKGNbdz4+Ml18MCkrMzY+PjJdJjEyN10odyl8MCkhPS0xKXtCPXc7YnJl
YWt9Y1toPj4yXT0wO0I9MH19d2hpbGUoMCk7Qz0oQnwwKT09MDtEPWNbZj4+Ml18MDtkb3tpZigo
RHwwKT09MCl7RT0yMzI3fWVsc2V7aWYoKGNbRCsxMj4+Ml18MCkhPShjW0QrMTY+PjJdfDApKXtp
ZihDKXtGPUQ7Rz0wO2JyZWFrfWVsc2V7SD1sO0k9RDtKPTA7YnJlYWsgTDI4MDl9fWlmKChiMFtj
WyhjW0Q+PjJdfDApKzM2Pj4yXSYxMjddKEQpfDApPT0tMSl7Y1tmPj4yXT0wO0U9MjMyNzticmVh
a31lbHNle0s9KER8MCk9PTA7aWYoQ15LKXtGPUQ7Rz1LO2JyZWFrfWVsc2V7SD1sO0k9RDtKPUs7
YnJlYWsgTDI4MDl9fX19d2hpbGUoMCk7aWYoKEV8MCk9PTIzMjcpe0U9MDtpZihDKXtIPWw7ST0w
O0o9MTticmVha31lbHNle0Y9MDtHPTF9fUQ9ZFtvXXwwO0s9KEQmMXwwKT09MDtpZigoKGNbcD4+
Ml18MCktbHwwKT09KChLP0Q+Pj4xOmNbej4+Ml18MCl8MCkpe2lmKEspe0w9RD4+PjE7TT1EPj4+
MX1lbHNle0Q9Y1t6Pj4yXXwwO0w9RDtNPUR9ZFIobixMPDwxLDApO2lmKChhW29dJjEpPT0wKXtO
PTEwfWVsc2V7Tj0oY1tnPj4yXSYtMiktMXwwfWRSKG4sTiwwKTtpZigoYVtvXSYxKT09MCl7Tz14
fWVsc2V7Tz1jW3k+PjJdfDB9Y1twPj4yXT1PK007UD1PfWVsc2V7UD1sfUQ9QisxMnwwO0s9Y1tE
Pj4yXXwwO1E9QisxNnwwO2lmKChLfDApPT0oY1tRPj4yXXwwKSl7Uj0oYjBbY1soY1tCPj4yXXww
KSszNj4+Ml0mMTI3XShCKXwwKSYyNTV9ZWxzZXtSPWFbS118MH1pZigoZnMoUix0LFAscCxzLEEs
bSx2LHIsdSl8MCkhPTApe0g9UDtJPUY7Sj1HO2JyZWFrfUs9Y1tEPj4yXXwwO2lmKChLfDApPT0o
Y1tRPj4yXXwwKSl7UT1jWyhjW0I+PjJdfDApKzQwPj4yXXwwO2IwW1EmMTI3XShCKXwwO2w9UDt3
PUI7Y29udGludWV9ZWxzZXtjW0Q+PjJdPUsrMTtsPVA7dz1CO2NvbnRpbnVlfX13PWRbbV18MDtp
ZigodyYxfDApPT0wKXtTPXc+Pj4xfWVsc2V7Uz1jW20rND4+Ml18MH1kb3tpZigoU3wwKSE9MCl7
dz1jW3I+PjJdfDA7aWYoKHctcXwwKT49MTYwKXticmVha31QPWNbcz4+Ml18MDtjW3I+PjJdPXcr
NDtjW3c+PjJdPVB9fXdoaWxlKDApO2Nbaz4+Ml09ZnUoSCxjW3A+PjJdfDAsaix0KXwwO2Z0KG0s
dixjW3I+PjJdfDAsaik7ZG97aWYoQyl7VD0wfWVsc2V7aWYoKGNbQisxMj4+Ml18MCkhPShjW0Ir
MTY+PjJdfDApKXtUPUI7YnJlYWt9aWYoKGIwW2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8
MCkhPS0xKXtUPUI7YnJlYWt9Y1toPj4yXT0wO1Q9MH19d2hpbGUoMCk7aD0oVHwwKT09MDtMMjg2
OTpkb3tpZihKKXtFPTIzNjh9ZWxzZXtkb3tpZigoY1tJKzEyPj4yXXwwKT09KGNbSSsxNj4+Ml18
MCkpe2lmKChiMFtjWyhjW0k+PjJdfDApKzM2Pj4yXSYxMjddKEkpfDApIT0tMSl7YnJlYWt9Y1tm
Pj4yXT0wO0U9MjM2ODticmVhayBMMjg2OX19d2hpbGUoMCk7aWYoIShoXihJfDApPT0wKSl7YnJl
YWt9VT1ifDA7Y1tVPj4yXT1UO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lm
KChFfDApPT0yMzY4KXtpZihoKXticmVha31VPWJ8MDtjW1U+PjJdPVQ7ZFAobik7ZFAobSk7aT1l
O3JldHVybn19d2hpbGUoMCk7Y1tqPj4yXT1jW2o+PjJdfDI7VT1ifDA7Y1tVPj4yXT1UO2RQKG4p
O2RQKG0pO2k9ZTtyZXR1cm59ZnVuY3Rpb24gZnMoYixlLGYsZyxoLGksaixrLGwsbSl7Yj1ifDA7
ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7aj1qfDA7az1rfDA7bD1sfDA7bT1tfDA7dmFy
IG49MCxvPTAscD0wLHE9MCxyPTAscz0wO249Y1tnPj4yXXwwO289KG58MCk9PShmfDApO2Rve2lm
KG8pe3A9KGFbbSsyNHwwXXwwKT09Yjw8MjQ+PjI0O2lmKCFwKXtpZigoYVttKzI1fDBdfDApIT1i
PDwyND4+MjQpe2JyZWFrfX1jW2c+PjJdPWYrMTthW2ZdPXA/NDM6NDU7Y1toPj4yXT0wO3E9MDty
ZXR1cm4gcXwwfX13aGlsZSgwKTtwPWRbal18MDtpZigocCYxfDApPT0wKXtyPXA+Pj4xfWVsc2V7
cj1jW2orND4+Ml18MH1pZigocnwwKSE9MCZiPDwyND4+MjQ9PWk8PDI0Pj4yNCl7aT1jW2w+PjJd
fDA7aWYoKGkta3wwKT49MTYwKXtxPTA7cmV0dXJuIHF8MH1rPWNbaD4+Ml18MDtjW2w+PjJdPWkr
NDtjW2k+PjJdPWs7Y1toPj4yXT0wO3E9MDtyZXR1cm4gcXwwfWs9bSsyNnwwO2k9bTt3aGlsZSgx
KXtpZigoaXwwKT09KGt8MCkpe3M9azticmVha31pZigoYVtpXXwwKT09Yjw8MjQ+PjI0KXtzPWk7
YnJlYWt9ZWxzZXtpPWkrMXwwfX1pPXMtbXwwO2lmKChpfDApPjIzKXtxPS0xO3JldHVybiBxfDB9
TDI5MDg6ZG97c3dpdGNoKGV8MCl7Y2FzZSA4OmNhc2UgMTA6e2lmKChpfDApPChlfDApKXticmVh
ayBMMjkwOH1lbHNle3E9LTF9cmV0dXJuIHF8MH07Y2FzZSAxNjp7aWYoKGl8MCk8MjIpe2JyZWFr
IEwyOTA4fWlmKG8pe3E9LTE7cmV0dXJuIHF8MH1pZigobi1mfDApPj0zKXtxPS0xO3JldHVybiBx
fDB9aWYoKGFbbi0xfDBdfDApIT00OCl7cT0tMTtyZXR1cm4gcXwwfWNbaD4+Ml09MDttPWFbOTc0
NCtpfDBdfDA7cz1jW2c+PjJdfDA7Y1tnPj4yXT1zKzE7YVtzXT1tO3E9MDtyZXR1cm4gcXwwfTtk
ZWZhdWx0Ont9fX13aGlsZSgwKTtmPWFbOTc0NCtpfDBdfDA7Y1tnPj4yXT1uKzE7YVtuXT1mO2Nb
aD4+Ml09KGNbaD4+Ml18MCkrMTtxPTA7cmV0dXJuIHF8MH1mdW5jdGlvbiBmdChiLGQsZSxmKXti
PWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49
MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTA7Zz1iO2g9YjtpPWFbaF18MDtqPWkmMjU1O2lm
KChqJjF8MCk9PTApe2s9aj4+PjF9ZWxzZXtrPWNbYis0Pj4yXXwwfWlmKChrfDApPT0wKXtyZXR1
cm59ZG97aWYoKGR8MCk9PShlfDApKXtsPWl9ZWxzZXtrPWUtNHwwO2lmKGs+Pj4wPmQ+Pj4wKXtt
PWQ7bj1rfWVsc2V7bD1pO2JyZWFrfWRve2s9Y1ttPj4yXXwwO2NbbT4+Ml09Y1tuPj4yXTtjW24+
PjJdPWs7bT1tKzR8MDtuPW4tNHwwO313aGlsZShtPj4+MDxuPj4+MCk7bD1hW2hdfDB9fXdoaWxl
KDApO2lmKChsJjEpPT0wKXtvPWcrMXwwfWVsc2V7bz1jW2IrOD4+Ml18MH1nPWwmMjU1O2lmKChn
JjF8MCk9PTApe3A9Zz4+PjF9ZWxzZXtwPWNbYis0Pj4yXXwwfWI9ZS00fDA7ZT1hW29dfDA7Zz1l
PDwyND4+MjQ7bD1lPDwyND4+MjQ8MXxlPDwyND4+MjQ9PTEyNztMMjk0Nzpkb3tpZihiPj4+MD5k
Pj4+MCl7ZT1vK3B8MDtoPW87bj1kO209ZztpPWw7d2hpbGUoMSl7aWYoIWkpe2lmKChtfDApIT0o
Y1tuPj4yXXwwKSl7YnJlYWt9fWs9KGUtaHwwKT4xP2grMXwwOmg7aj1uKzR8MDtxPWFba118MDty
PXE8PDI0Pj4yNDtzPXE8PDI0Pj4yNDwxfHE8PDI0Pj4yND09MTI3O2lmKGo+Pj4wPGI+Pj4wKXto
PWs7bj1qO209cjtpPXN9ZWxzZXt0PXI7dT1zO2JyZWFrIEwyOTQ3fX1jW2Y+PjJdPTQ7cmV0dXJu
fWVsc2V7dD1nO3U9bH19d2hpbGUoMCk7aWYodSl7cmV0dXJufXU9Y1tiPj4yXXwwO2lmKCEodD4+
PjA8dT4+PjB8KHV8MCk9PTApKXtyZXR1cm59Y1tmPj4yXT00O3JldHVybn1mdW5jdGlvbiBmdShi
LGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTAsaz0wLGw9MDtn
PWk7aT1pKzh8MDtoPWd8MDtpZigoYnwwKT09KGR8MCkpe2NbZT4+Ml09NDtqPTA7aT1nO3JldHVy
biBqfDB9az1jWyhidygpfDApPj4yXXwwO2NbKGJ3KCl8MCk+PjJdPTA7ZG97aWYoKGFbMTYyNjRd
fDApPT0wKXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXww
fX13aGlsZSgwKTtsPWJJKGJ8MCxofDAsZnwwLGNbMjk1OF18MCl8MDtmPUs7Yj1jWyhidygpfDAp
Pj4yXXwwO2lmKChifDApPT0wKXtjWyhidygpfDApPj4yXT1rfWlmKChjW2g+PjJdfDApIT0oZHww
KSl7Y1tlPj4yXT00O2o9MDtpPWc7cmV0dXJuIGp8MH1kPS0xO2g9MDtpZigoYnwwKT09MzR8KChm
fDApPChkfDApfChmfDApPT0oZHwwKSZsPj4+MDwtMjE0NzQ4MzY0OD4+PjApfCgoZnwwKT4oaHww
KXwoZnwwKT09KGh8MCkmbD4+PjA+MjE0NzQ4MzY0Nz4+PjApKXtjW2U+PjJdPTQ7ZT0wO2o9KGZ8
MCk+KGV8MCl8KGZ8MCk9PShlfDApJmw+Pj4wPjA+Pj4wPzIxNDc0ODM2NDc6LTIxNDc0ODM2NDg7
aT1nO3JldHVybiBqfDB9ZWxzZXtqPWw7aT1nO3JldHVybiBqfDB9cmV0dXJuIDB9ZnVuY3Rpb24g
ZnYoYixlLGYsZyxoLGosayl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1r
fDA7dmFyIGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9
MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxMPTAsTT0w
LE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wO2U9aTtpPWkrNzJ8MDtsPWY7Zj1p
O2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9ZztnPWk7aT1pKzR8MDtpPWkr
Nz4+Mzw8MztjW2c+PjJdPWNbbD4+Ml07bD1lKzMyfDA7bT1lKzQwfDA7bj1lKzU2fDA7bz1uO3A9
aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3E9aTtpPWkrMTYwfDA7cj1pO2k9aSs0fDA7aT1pKzc+PjM8
PDM7cz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7c3dpdGNoKGNbaCs0Pj4yXSY3NHwwKXtjYXNlIDg6
e3Q9MTY7YnJlYWt9O2Nhc2UgNjQ6e3Q9ODticmVha307Y2FzZSAwOnt0PTA7YnJlYWt9O2RlZmF1
bHQ6e3Q9MTB9fXU9ZXwwO2Z4KG0saCx1LGwpO2skKG98MCwwLDEyKTtoPW47ZFIobiwxMCwwKTtp
ZigoYVtvXSYxKT09MCl7dj1oKzF8MDt3PXY7eD12O3k9bis4fDB9ZWxzZXt2PW4rOHwwO3c9Y1t2
Pj4yXXwwO3g9aCsxfDA7eT12fWNbcD4+Ml09dzt2PXF8MDtjW3I+PjJdPXY7Y1tzPj4yXT0wO2g9
ZnwwO2Y9Z3wwO2c9bnwwO3o9bis0fDA7QT1hW2xdfDA7bD13O3c9Y1toPj4yXXwwO0wyOTk3Ondo
aWxlKDEpe2Rve2lmKCh3fDApPT0wKXtCPTB9ZWxzZXtpZigoY1t3KzEyPj4yXXwwKSE9KGNbdysx
Nj4+Ml18MCkpe0I9dzticmVha31pZigoYjBbY1soY1t3Pj4yXXwwKSszNj4+Ml0mMTI3XSh3KXww
KSE9LTEpe0I9dzticmVha31jW2g+PjJdPTA7Qj0wfX13aGlsZSgwKTtDPShCfDApPT0wO0Q9Y1tm
Pj4yXXwwO2Rve2lmKChEfDApPT0wKXtFPTI0NzZ9ZWxzZXtpZigoY1tEKzEyPj4yXXwwKSE9KGNb
RCsxNj4+Ml18MCkpe2lmKEMpe0Y9RDtHPTA7YnJlYWt9ZWxzZXtIPWw7ST1EO0o9MDticmVhayBM
Mjk5N319aWYoKGIwW2NbKGNbRD4+Ml18MCkrMzY+PjJdJjEyN10oRCl8MCk9PS0xKXtjW2Y+PjJd
PTA7RT0yNDc2O2JyZWFrfWVsc2V7TD0oRHwwKT09MDtpZihDXkwpe0Y9RDtHPUw7YnJlYWt9ZWxz
ZXtIPWw7ST1EO0o9TDticmVhayBMMjk5N319fX13aGlsZSgwKTtpZigoRXwwKT09MjQ3Nil7RT0w
O2lmKEMpe0g9bDtJPTA7Sj0xO2JyZWFrfWVsc2V7Rj0wO0c9MX19RD1kW29dfDA7TD0oRCYxfDAp
PT0wO2lmKCgoY1twPj4yXXwwKS1sfDApPT0oKEw/RD4+PjE6Y1t6Pj4yXXwwKXwwKSl7aWYoTCl7
TT1EPj4+MTtOPUQ+Pj4xfWVsc2V7RD1jW3o+PjJdfDA7TT1EO049RH1kUihuLE08PDEsMCk7aWYo
KGFbb10mMSk9PTApe089MTB9ZWxzZXtPPShjW2c+PjJdJi0yKS0xfDB9ZFIobixPLDApO2lmKChh
W29dJjEpPT0wKXtQPXh9ZWxzZXtQPWNbeT4+Ml18MH1jW3A+PjJdPVArTjtRPVB9ZWxzZXtRPWx9
RD1CKzEyfDA7TD1jW0Q+PjJdfDA7Uj1CKzE2fDA7aWYoKEx8MCk9PShjW1I+PjJdfDApKXtTPShi
MFtjWyhjW0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDApJjI1NX1lbHNle1M9YVtMXXwwfWlmKChm
cyhTLHQsUSxwLHMsQSxtLHYscix1KXwwKSE9MCl7SD1RO0k9RjtKPUc7YnJlYWt9TD1jW0Q+PjJd
fDA7aWYoKEx8MCk9PShjW1I+PjJdfDApKXtSPWNbKGNbQj4+Ml18MCkrNDA+PjJdfDA7YjBbUiYx
MjddKEIpfDA7bD1RO3c9Qjtjb250aW51ZX1lbHNle2NbRD4+Ml09TCsxO2w9UTt3PUI7Y29udGlu
dWV9fXc9ZFttXXwwO2lmKCh3JjF8MCk9PTApe1Q9dz4+PjF9ZWxzZXtUPWNbbSs0Pj4yXXwwfWRv
e2lmKChUfDApIT0wKXt3PWNbcj4+Ml18MDtpZigody1xfDApPj0xNjApe2JyZWFrfVE9Y1tzPj4y
XXwwO2Nbcj4+Ml09dys0O2Nbdz4+Ml09UX19d2hpbGUoMCk7cz1mdyhILGNbcD4+Ml18MCxqLHQp
fDA7Y1trPj4yXT1zO2Nbays0Pj4yXT1LO2Z0KG0sdixjW3I+PjJdfDAsaik7ZG97aWYoQyl7VT0w
fWVsc2V7aWYoKGNbQisxMj4+Ml18MCkhPShjW0IrMTY+PjJdfDApKXtVPUI7YnJlYWt9aWYoKGIw
W2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MCkhPS0xKXtVPUI7YnJlYWt9Y1toPj4yXT0w
O1U9MH19d2hpbGUoMCk7aD0oVXwwKT09MDtMMzA1Nzpkb3tpZihKKXtFPTI1MTd9ZWxzZXtkb3tp
ZigoY1tJKzEyPj4yXXwwKT09KGNbSSsxNj4+Ml18MCkpe2lmKChiMFtjWyhjW0k+PjJdfDApKzM2
Pj4yXSYxMjddKEkpfDApIT0tMSl7YnJlYWt9Y1tmPj4yXT0wO0U9MjUxNzticmVhayBMMzA1N319
d2hpbGUoMCk7aWYoIShoXihJfDApPT0wKSl7YnJlYWt9Vj1ifDA7Y1tWPj4yXT1VO2RQKG4pO2RQ
KG0pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lmKChFfDApPT0yNTE3KXtpZihoKXticmVha31W
PWJ8MDtjW1Y+PjJdPVU7ZFAobik7ZFAobSk7aT1lO3JldHVybn19d2hpbGUoMCk7Y1tqPj4yXT1j
W2o+PjJdfDI7Vj1ifDA7Y1tWPj4yXT1VO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59ZnVuY3Rpb24g
ZncoYixkLGUsZil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxs
PTAsbT0wO2c9aTtpPWkrOHwwO2g9Z3wwO2lmKChifDApPT0oZHwwKSl7Y1tlPj4yXT00O2o9MDtr
PTA7aT1nO3JldHVybihLPWosayl8MH1sPWNbKGJ3KCl8MCk+PjJdfDA7Y1soYncoKXwwKT4+Ml09
MDtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1
OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDApO209YkkoYnwwLGh8MCxmfDAsY1syOTU4XXwwKXww
O2Y9SztiPWNbKGJ3KCl8MCk+PjJdfDA7aWYoKGJ8MCk9PTApe2NbKGJ3KCl8MCk+PjJdPWx9aWYo
KGNbaD4+Ml18MCkhPShkfDApKXtjW2U+PjJdPTQ7aj0wO2s9MDtpPWc7cmV0dXJuKEs9aixrKXww
fWlmKChifDApIT0zNCl7aj1mO2s9bTtpPWc7cmV0dXJuKEs9aixrKXwwfWNbZT4+Ml09NDtlPTA7
Yj0oZnwwKT4oZXwwKXwoZnwwKT09KGV8MCkmbT4+PjA+MD4+PjA7aj1iPzIxNDc0ODM2NDc6LTIx
NDc0ODM2NDg7az1iPy0xOjA7aT1nO3JldHVybihLPWosayl8MH1mdW5jdGlvbiBmeChiLGQsZSxm
KXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0w
LG89MCxwPTAscT0wO2c9aTtpPWkrNDB8MDtoPWd8MDtqPWcrMTZ8MDtrPWcrMzJ8MDtlaihrLGQp
O2Q9a3wwO2s9Y1tkPj4yXXwwO2lmKChjWzM5MjRdfDApIT0tMSl7Y1tqPj4yXT0xNTY5NjtjW2or
ND4+Ml09MTI7Y1tqKzg+PjJdPTA7ZFcoMTU2OTYsaiw5Nil9aj0oY1szOTI1XXwwKS0xfDA7bD1j
W2srOD4+Ml18MDtkb3tpZigoY1trKzEyPj4yXXwwKS1sPj4yPj4+MD5qPj4+MCl7bT1jW2wrKGo8
PDIpPj4yXXwwO2lmKChtfDApPT0wKXticmVha31uPW07bz1jWyhjW20+PjJdfDApKzMyPj4yXXww
O2NhW28mMTVdKG4sOTc0NCw5NzcwLGUpfDA7bj1jW2Q+PjJdfDA7aWYoKGNbMzgyOF18MCkhPS0x
KXtjW2g+PjJdPTE1MzEyO2NbaCs0Pj4yXT0xMjtjW2grOD4+Ml09MDtkVygxNTMxMixoLDk2KX1v
PShjWzM4MjldfDApLTF8MDttPWNbbis4Pj4yXXwwO2Rve2lmKChjW24rMTI+PjJdfDApLW0+PjI+
Pj4wPm8+Pj4wKXtwPWNbbSsobzw8Mik+PjJdfDA7aWYoKHB8MCk9PTApe2JyZWFrfXE9cDthW2Zd
PWIwW2NbKGNbcD4+Ml18MCkrMTY+PjJdJjEyN10ocSl8MDtiWltjWyhjW3A+PjJdfDApKzIwPj4y
XSYxMjddKGIscSk7cT1jW2Q+PjJdfDA7ZHoocSl8MDtpPWc7cmV0dXJufX13aGlsZSgwKTtvPWJP
KDQpfDA7a3Eobyk7Ymwob3wwLDgxNzYsMTM0KX19d2hpbGUoMCk7Zz1iTyg0KXwwO2txKGcpO2Js
KGd8MCw4MTc2LDEzNCl9ZnVuY3Rpb24gZnkoZSxmLGcsaCxqLGssbCl7ZT1lfDA7Zj1mfDA7Zz1n
fDA7aD1ofDA7aj1qfDA7az1rfDA7bD1sfDA7dmFyIG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9
MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0w
LEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAs
Vj0wO2Y9aTtpPWkrNzJ8MDttPWc7Zz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tnPj4yXT1jW20+
PjJdO209aDtoPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2g+PjJdPWNbbT4+Ml07bT1mKzMyfDA7
bj1mKzQwfDA7bz1mKzU2fDA7cD1vO3E9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3I9aTtpPWkrMTYw
fDA7cz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7dD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7c3dpdGNo
KGNbais0Pj4yXSY3NHwwKXtjYXNlIDA6e3U9MDticmVha307Y2FzZSA4Ont1PTE2O2JyZWFrfTtj
YXNlIDY0Ont1PTg7YnJlYWt9O2RlZmF1bHQ6e3U9MTB9fXY9ZnwwO2Z4KG4saix2LG0pO2skKHB8
MCwwLDEyKTtqPW87ZFIobywxMCwwKTtpZigoYVtwXSYxKT09MCl7dz1qKzF8MDt4PXc7eT13O3o9
bys4fDB9ZWxzZXt3PW8rOHwwO3g9Y1t3Pj4yXXwwO3k9aisxfDA7ej13fWNbcT4+Ml09eDt3PXJ8
MDtjW3M+PjJdPXc7Y1t0Pj4yXT0wO2o9Z3wwO2c9aHwwO2g9b3wwO0E9bys0fDA7Qj1hW21dfDA7
bT14O3g9Y1tqPj4yXXwwO0wzMTIyOndoaWxlKDEpe2Rve2lmKCh4fDApPT0wKXtDPTB9ZWxzZXtp
ZigoY1t4KzEyPj4yXXwwKSE9KGNbeCsxNj4+Ml18MCkpe0M9eDticmVha31pZigoYjBbY1soY1t4
Pj4yXXwwKSszNj4+Ml0mMTI3XSh4KXwwKSE9LTEpe0M9eDticmVha31jW2o+PjJdPTA7Qz0wfX13
aGlsZSgwKTtEPShDfDApPT0wO0U9Y1tnPj4yXXwwO2Rve2lmKChFfDApPT0wKXtGPTI1Nzl9ZWxz
ZXtpZigoY1tFKzEyPj4yXXwwKSE9KGNbRSsxNj4+Ml18MCkpe2lmKEQpe0c9RTtIPTA7YnJlYWt9
ZWxzZXtJPW07Sj1FO0s9MDticmVhayBMMzEyMn19aWYoKGIwW2NbKGNbRT4+Ml18MCkrMzY+PjJd
JjEyN10oRSl8MCk9PS0xKXtjW2c+PjJdPTA7Rj0yNTc5O2JyZWFrfWVsc2V7TD0oRXwwKT09MDtp
ZihEXkwpe0c9RTtIPUw7YnJlYWt9ZWxzZXtJPW07Sj1FO0s9TDticmVhayBMMzEyMn19fX13aGls
ZSgwKTtpZigoRnwwKT09MjU3OSl7Rj0wO2lmKEQpe0k9bTtKPTA7Sz0xO2JyZWFrfWVsc2V7Rz0w
O0g9MX19RT1kW3BdfDA7TD0oRSYxfDApPT0wO2lmKCgoY1txPj4yXXwwKS1tfDApPT0oKEw/RT4+
PjE6Y1tBPj4yXXwwKXwwKSl7aWYoTCl7TT1FPj4+MTtOPUU+Pj4xfWVsc2V7RT1jW0E+PjJdfDA7
TT1FO049RX1kUihvLE08PDEsMCk7aWYoKGFbcF0mMSk9PTApe089MTB9ZWxzZXtPPShjW2g+PjJd
Ji0yKS0xfDB9ZFIobyxPLDApO2lmKChhW3BdJjEpPT0wKXtQPXl9ZWxzZXtQPWNbej4+Ml18MH1j
W3E+PjJdPVArTjtRPVB9ZWxzZXtRPW19RT1DKzEyfDA7TD1jW0U+PjJdfDA7Uj1DKzE2fDA7aWYo
KEx8MCk9PShjW1I+PjJdfDApKXtTPShiMFtjWyhjW0M+PjJdfDApKzM2Pj4yXSYxMjddKEMpfDAp
JjI1NX1lbHNle1M9YVtMXXwwfWlmKChmcyhTLHUsUSxxLHQsQixuLHcscyx2KXwwKSE9MCl7ST1R
O0o9RztLPUg7YnJlYWt9TD1jW0U+PjJdfDA7aWYoKEx8MCk9PShjW1I+PjJdfDApKXtSPWNbKGNb
Qz4+Ml18MCkrNDA+PjJdfDA7YjBbUiYxMjddKEMpfDA7bT1RO3g9Qztjb250aW51ZX1lbHNle2Nb
RT4+Ml09TCsxO209UTt4PUM7Y29udGludWV9fXg9ZFtuXXwwO2lmKCh4JjF8MCk9PTApe1Q9eD4+
PjF9ZWxzZXtUPWNbbis0Pj4yXXwwfWRve2lmKChUfDApIT0wKXt4PWNbcz4+Ml18MDtpZigoeC1y
fDApPj0xNjApe2JyZWFrfVE9Y1t0Pj4yXXwwO2Nbcz4+Ml09eCs0O2NbeD4+Ml09UX19d2hpbGUo
MCk7YltsPj4xXT1meihJLGNbcT4+Ml18MCxrLHUpfDA7ZnQobix3LGNbcz4+Ml18MCxrKTtkb3tp
ZihEKXtVPTB9ZWxzZXtpZigoY1tDKzEyPj4yXXwwKSE9KGNbQysxNj4+Ml18MCkpe1U9QzticmVh
a31pZigoYjBbY1soY1tDPj4yXXwwKSszNj4+Ml0mMTI3XShDKXwwKSE9LTEpe1U9QzticmVha31j
W2o+PjJdPTA7VT0wfX13aGlsZSgwKTtqPShVfDApPT0wO0wzMTgyOmRve2lmKEspe0Y9MjYyMH1l
bHNle2Rve2lmKChjW0orMTI+PjJdfDApPT0oY1tKKzE2Pj4yXXwwKSl7aWYoKGIwW2NbKGNbSj4+
Ml18MCkrMzY+PjJdJjEyN10oSil8MCkhPS0xKXticmVha31jW2c+PjJdPTA7Rj0yNjIwO2JyZWFr
IEwzMTgyfX13aGlsZSgwKTtpZighKGpeKEp8MCk9PTApKXticmVha31WPWV8MDtjW1Y+PjJdPVU7
ZFAobyk7ZFAobik7aT1mO3JldHVybn19d2hpbGUoMCk7ZG97aWYoKEZ8MCk9PTI2MjApe2lmKGop
e2JyZWFrfVY9ZXwwO2NbVj4+Ml09VTtkUChvKTtkUChuKTtpPWY7cmV0dXJufX13aGlsZSgwKTtj
W2s+PjJdPWNbaz4+Ml18MjtWPWV8MDtjW1Y+PjJdPVU7ZFAobyk7ZFAobik7aT1mO3JldHVybn1m
dW5jdGlvbiBmeihiLGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxq
PTAsaz0wLGw9MDtnPWk7aT1pKzh8MDtoPWd8MDtpZigoYnwwKT09KGR8MCkpe2NbZT4+Ml09NDtq
PTA7aT1nO3JldHVybiBqfDB9aWYoKGFbYl18MCk9PTQ1KXtjW2U+PjJdPTQ7aj0wO2k9ZztyZXR1
cm4ganwwfWs9Y1soYncoKXwwKT4+Ml18MDtjWyhidygpfDApPj4yXT0wO2Rve2lmKChhWzE2MjY0
XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8
MH19d2hpbGUoMCk7bD1hSShifDAsaHwwLGZ8MCxjWzI5NThdfDApfDA7Zj1LO2I9Y1soYncoKXww
KT4+Ml18MDtpZigoYnwwKT09MCl7Y1soYncoKXwwKT4+Ml09a31pZigoY1toPj4yXXwwKSE9KGR8
MCkpe2NbZT4+Ml09NDtqPTA7aT1nO3JldHVybiBqfDB9ZD0wO2lmKChifDApPT0zNHwoZj4+PjA+
ZD4+PjB8Zj4+PjA9PWQ+Pj4wJmw+Pj4wPjY1NTM1Pj4+MCkpe2NbZT4+Ml09NDtqPS0xO2k9Zzty
ZXR1cm4ganwwfWVsc2V7aj1sJjY1NTM1O2k9ZztyZXR1cm4ganwwfXJldHVybiAwfWZ1bmN0aW9u
IGZBKGIsZSxmLGcsaCxqLGspe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9
a3wwO3ZhciBsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4
PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9
MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MDtlPWk7aT1pKzcyfDA7bD1mO2Y9
aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1tsPj4yXTtsPWc7Zz1pO2k9aSs0fDA7aT1p
Kzc+PjM8PDM7Y1tnPj4yXT1jW2w+PjJdO2w9ZSszMnwwO209ZSs0MHwwO249ZSs1NnwwO289bjtw
PWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztxPWk7aT1pKzE2MHwwO3I9aTtpPWkrNHwwO2k9aSs3Pj4z
PDwzO3M9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3N3aXRjaChjW2grND4+Ml0mNzR8MCl7Y2FzZSA2
NDp7dD04O2JyZWFrfTtjYXNlIDA6e3Q9MDticmVha307Y2FzZSA4Ont0PTE2O2JyZWFrfTtkZWZh
dWx0Ont0PTEwfX11PWV8MDtmeChtLGgsdSxsKTtrJChvfDAsMCwxMik7aD1uO2RSKG4sMTAsMCk7
aWYoKGFbb10mMSk9PTApe3Y9aCsxfDA7dz12O3g9djt5PW4rOHwwfWVsc2V7dj1uKzh8MDt3PWNb
dj4+Ml18MDt4PWgrMXwwO3k9dn1jW3A+PjJdPXc7dj1xfDA7Y1tyPj4yXT12O2Nbcz4+Ml09MDto
PWZ8MDtmPWd8MDtnPW58MDt6PW4rNHwwO0E9YVtsXXwwO2w9dzt3PWNbaD4+Ml18MDtMMzIzMjp3
aGlsZSgxKXtkb3tpZigod3wwKT09MCl7Qj0wfWVsc2V7aWYoKGNbdysxMj4+Ml18MCkhPShjW3cr
MTY+PjJdfDApKXtCPXc7YnJlYWt9aWYoKGIwW2NbKGNbdz4+Ml18MCkrMzY+PjJdJjEyN10odyl8
MCkhPS0xKXtCPXc7YnJlYWt9Y1toPj4yXT0wO0I9MH19d2hpbGUoMCk7Qz0oQnwwKT09MDtEPWNb
Zj4+Ml18MDtkb3tpZigoRHwwKT09MCl7RT0yNjY5fWVsc2V7aWYoKGNbRCsxMj4+Ml18MCkhPShj
W0QrMTY+PjJdfDApKXtpZihDKXtGPUQ7Rz0wO2JyZWFrfWVsc2V7SD1sO0k9RDtKPTA7YnJlYWsg
TDMyMzJ9fWlmKChiMFtjWyhjW0Q+PjJdfDApKzM2Pj4yXSYxMjddKEQpfDApPT0tMSl7Y1tmPj4y
XT0wO0U9MjY2OTticmVha31lbHNle0s9KER8MCk9PTA7aWYoQ15LKXtGPUQ7Rz1LO2JyZWFrfWVs
c2V7SD1sO0k9RDtKPUs7YnJlYWsgTDMyMzJ9fX19d2hpbGUoMCk7aWYoKEV8MCk9PTI2Njkpe0U9
MDtpZihDKXtIPWw7ST0wO0o9MTticmVha31lbHNle0Y9MDtHPTF9fUQ9ZFtvXXwwO0s9KEQmMXww
KT09MDtpZigoKGNbcD4+Ml18MCktbHwwKT09KChLP0Q+Pj4xOmNbej4+Ml18MCl8MCkpe2lmKEsp
e0w9RD4+PjE7TT1EPj4+MX1lbHNle0Q9Y1t6Pj4yXXwwO0w9RDtNPUR9ZFIobixMPDwxLDApO2lm
KChhW29dJjEpPT0wKXtOPTEwfWVsc2V7Tj0oY1tnPj4yXSYtMiktMXwwfWRSKG4sTiwwKTtpZigo
YVtvXSYxKT09MCl7Tz14fWVsc2V7Tz1jW3k+PjJdfDB9Y1twPj4yXT1PK007UD1PfWVsc2V7UD1s
fUQ9QisxMnwwO0s9Y1tEPj4yXXwwO1E9QisxNnwwO2lmKChLfDApPT0oY1tRPj4yXXwwKSl7Uj0o
YjBbY1soY1tCPj4yXXwwKSszNj4+Ml0mMTI3XShCKXwwKSYyNTV9ZWxzZXtSPWFbS118MH1pZigo
ZnMoUix0LFAscCxzLEEsbSx2LHIsdSl8MCkhPTApe0g9UDtJPUY7Sj1HO2JyZWFrfUs9Y1tEPj4y
XXwwO2lmKChLfDApPT0oY1tRPj4yXXwwKSl7UT1jWyhjW0I+PjJdfDApKzQwPj4yXXwwO2IwW1Em
MTI3XShCKXwwO2w9UDt3PUI7Y29udGludWV9ZWxzZXtjW0Q+PjJdPUsrMTtsPVA7dz1CO2NvbnRp
bnVlfX13PWRbbV18MDtpZigodyYxfDApPT0wKXtTPXc+Pj4xfWVsc2V7Uz1jW20rND4+Ml18MH1k
b3tpZigoU3wwKSE9MCl7dz1jW3I+PjJdfDA7aWYoKHctcXwwKT49MTYwKXticmVha31QPWNbcz4+
Ml18MDtjW3I+PjJdPXcrNDtjW3c+PjJdPVB9fXdoaWxlKDApO2Nbaz4+Ml09ZkIoSCxjW3A+PjJd
fDAsaix0KXwwO2Z0KG0sdixjW3I+PjJdfDAsaik7ZG97aWYoQyl7VD0wfWVsc2V7aWYoKGNbQisx
Mj4+Ml18MCkhPShjW0IrMTY+PjJdfDApKXtUPUI7YnJlYWt9aWYoKGIwW2NbKGNbQj4+Ml18MCkr
MzY+PjJdJjEyN10oQil8MCkhPS0xKXtUPUI7YnJlYWt9Y1toPj4yXT0wO1Q9MH19d2hpbGUoMCk7
aD0oVHwwKT09MDtMMzI5Mjpkb3tpZihKKXtFPTI3MTB9ZWxzZXtkb3tpZigoY1tJKzEyPj4yXXww
KT09KGNbSSsxNj4+Ml18MCkpe2lmKChiMFtjWyhjW0k+PjJdfDApKzM2Pj4yXSYxMjddKEkpfDAp
IT0tMSl7YnJlYWt9Y1tmPj4yXT0wO0U9MjcxMDticmVhayBMMzI5Mn19d2hpbGUoMCk7aWYoISho
XihJfDApPT0wKSl7YnJlYWt9VT1ifDA7Y1tVPj4yXT1UO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59
fXdoaWxlKDApO2Rve2lmKChFfDApPT0yNzEwKXtpZihoKXticmVha31VPWJ8MDtjW1U+PjJdPVQ7
ZFAobik7ZFAobSk7aT1lO3JldHVybn19d2hpbGUoMCk7Y1tqPj4yXT1jW2o+PjJdfDI7VT1ifDA7
Y1tVPj4yXT1UO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59ZnVuY3Rpb24gZkIoYixkLGUsZil7Yj1i
fDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxsPTA7Zz1pO2k9aSs4fDA7
aD1nfDA7aWYoKGJ8MCk9PShkfDApKXtjW2U+PjJdPTQ7aj0wO2k9ZztyZXR1cm4ganwwfWlmKChh
W2JdfDApPT00NSl7Y1tlPj4yXT00O2o9MDtpPWc7cmV0dXJuIGp8MH1rPWNbKGJ3KCl8MCk+PjJd
fDA7Y1soYncoKXwwKT4+Ml09MDtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8
MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDApO2w9YUkoYnwwLGh8
MCxmfDAsY1syOTU4XXwwKXwwO2Y9SztiPWNbKGJ3KCl8MCk+PjJdfDA7aWYoKGJ8MCk9PTApe2Nb
KGJ3KCl8MCk+PjJdPWt9aWYoKGNbaD4+Ml18MCkhPShkfDApKXtjW2U+PjJdPTQ7aj0wO2k9Zzty
ZXR1cm4ganwwfWQ9MDtpZigoYnwwKT09MzR8KGY+Pj4wPmQ+Pj4wfGY+Pj4wPT1kPj4+MCZsPj4+
MD4tMT4+PjApKXtjW2U+PjJdPTQ7aj0tMTtpPWc7cmV0dXJuIGp8MH1lbHNle2o9bDtpPWc7cmV0
dXJuIGp8MH1yZXR1cm4gMH1mdW5jdGlvbiBmQyhiLGUsZixnLGgsaixrKXtiPWJ8MDtlPWV8MDtm
PWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAs
cj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxG
PTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9
MCxVPTA7ZT1pO2k9aSs3MnwwO2w9ZjtmPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2Y+PjJdPWNb
bD4+Ml07bD1nO2c9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZz4+Ml09Y1tsPj4yXTtsPWUrMzJ8
MDttPWUrNDB8MDtuPWUrNTZ8MDtvPW47cD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7cT1pO2k9aSsx
NjB8MDtyPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztzPWk7aT1pKzR8MDtpPWkrNz4+Mzw8Mztzd2l0
Y2goY1toKzQ+PjJdJjc0fDApe2Nhc2UgMDp7dD0wO2JyZWFrfTtjYXNlIDg6e3Q9MTY7YnJlYWt9
O2Nhc2UgNjQ6e3Q9ODticmVha307ZGVmYXVsdDp7dD0xMH19dT1lfDA7ZngobSxoLHUsbCk7ayQo
b3wwLDAsMTIpO2g9bjtkUihuLDEwLDApO2lmKChhW29dJjEpPT0wKXt2PWgrMXwwO3c9djt4PXY7
eT1uKzh8MH1lbHNle3Y9bis4fDA7dz1jW3Y+PjJdfDA7eD1oKzF8MDt5PXZ9Y1twPj4yXT13O3Y9
cXwwO2Nbcj4+Ml09djtjW3M+PjJdPTA7aD1mfDA7Zj1nfDA7Zz1ufDA7ej1uKzR8MDtBPWFbbF18
MDtsPXc7dz1jW2g+PjJdfDA7TDMzNDI6d2hpbGUoMSl7ZG97aWYoKHd8MCk9PTApe0I9MH1lbHNl
e2lmKChjW3crMTI+PjJdfDApIT0oY1t3KzE2Pj4yXXwwKSl7Qj13O2JyZWFrfWlmKChiMFtjWyhj
W3c+PjJdfDApKzM2Pj4yXSYxMjddKHcpfDApIT0tMSl7Qj13O2JyZWFrfWNbaD4+Ml09MDtCPTB9
fXdoaWxlKDApO0M9KEJ8MCk9PTA7RD1jW2Y+PjJdfDA7ZG97aWYoKER8MCk9PTApe0U9Mjc1OX1l
bHNle2lmKChjW0QrMTI+PjJdfDApIT0oY1tEKzE2Pj4yXXwwKSl7aWYoQyl7Rj1EO0c9MDticmVh
a31lbHNle0g9bDtJPUQ7Sj0wO2JyZWFrIEwzMzQyfX1pZigoYjBbY1soY1tEPj4yXXwwKSszNj4+
Ml0mMTI3XShEKXwwKT09LTEpe2NbZj4+Ml09MDtFPTI3NTk7YnJlYWt9ZWxzZXtLPShEfDApPT0w
O2lmKENeSyl7Rj1EO0c9SzticmVha31lbHNle0g9bDtJPUQ7Sj1LO2JyZWFrIEwzMzQyfX19fXdo
aWxlKDApO2lmKChFfDApPT0yNzU5KXtFPTA7aWYoQyl7SD1sO0k9MDtKPTE7YnJlYWt9ZWxzZXtG
PTA7Rz0xfX1EPWRbb118MDtLPShEJjF8MCk9PTA7aWYoKChjW3A+PjJdfDApLWx8MCk9PSgoSz9E
Pj4+MTpjW3o+PjJdfDApfDApKXtpZihLKXtMPUQ+Pj4xO009RD4+PjF9ZWxzZXtEPWNbej4+Ml18
MDtMPUQ7TT1EfWRSKG4sTDw8MSwwKTtpZigoYVtvXSYxKT09MCl7Tj0xMH1lbHNle049KGNbZz4+
Ml0mLTIpLTF8MH1kUihuLE4sMCk7aWYoKGFbb10mMSk9PTApe089eH1lbHNle089Y1t5Pj4yXXww
fWNbcD4+Ml09TytNO1A9T31lbHNle1A9bH1EPUIrMTJ8MDtLPWNbRD4+Ml18MDtRPUIrMTZ8MDtp
ZigoS3wwKT09KGNbUT4+Ml18MCkpe1I9KGIwW2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8
MCkmMjU1fWVsc2V7Uj1hW0tdfDB9aWYoKGZzKFIsdCxQLHAscyxBLG0sdixyLHUpfDApIT0wKXtI
PVA7ST1GO0o9RzticmVha31LPWNbRD4+Ml18MDtpZigoS3wwKT09KGNbUT4+Ml18MCkpe1E9Y1so
Y1tCPj4yXXwwKSs0MD4+Ml18MDtiMFtRJjEyN10oQil8MDtsPVA7dz1CO2NvbnRpbnVlfWVsc2V7
Y1tEPj4yXT1LKzE7bD1QO3c9Qjtjb250aW51ZX19dz1kW21dfDA7aWYoKHcmMXwwKT09MCl7Uz13
Pj4+MX1lbHNle1M9Y1ttKzQ+PjJdfDB9ZG97aWYoKFN8MCkhPTApe3c9Y1tyPj4yXXwwO2lmKCh3
LXF8MCk+PTE2MCl7YnJlYWt9UD1jW3M+PjJdfDA7Y1tyPj4yXT13KzQ7Y1t3Pj4yXT1QfX13aGls
ZSgwKTtjW2s+PjJdPWZEKEgsY1twPj4yXXwwLGosdCl8MDtmdChtLHYsY1tyPj4yXXwwLGopO2Rv
e2lmKEMpe1Q9MH1lbHNle2lmKChjW0IrMTI+PjJdfDApIT0oY1tCKzE2Pj4yXXwwKSl7VD1CO2Jy
ZWFrfWlmKChiMFtjWyhjW0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDApIT0tMSl7VD1CO2JyZWFr
fWNbaD4+Ml09MDtUPTB9fXdoaWxlKDApO2g9KFR8MCk9PTA7TDM0MDI6ZG97aWYoSil7RT0yODAw
fWVsc2V7ZG97aWYoKGNbSSsxMj4+Ml18MCk9PShjW0krMTY+PjJdfDApKXtpZigoYjBbY1soY1tJ
Pj4yXXwwKSszNj4+Ml0mMTI3XShJKXwwKSE9LTEpe2JyZWFrfWNbZj4+Ml09MDtFPTI4MDA7YnJl
YWsgTDM0MDJ9fXdoaWxlKDApO2lmKCEoaF4oSXwwKT09MCkpe2JyZWFrfVU9YnwwO2NbVT4+Ml09
VDtkUChuKTtkUChtKTtpPWU7cmV0dXJufX13aGlsZSgwKTtkb3tpZigoRXwwKT09MjgwMCl7aWYo
aCl7YnJlYWt9VT1ifDA7Y1tVPj4yXT1UO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59fXdoaWxlKDAp
O2Nbaj4+Ml09Y1tqPj4yXXwyO1U9YnwwO2NbVT4+Ml09VDtkUChuKTtkUChtKTtpPWU7cmV0dXJu
fWZ1bmN0aW9uIGZEKGIsZCxlLGYpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0w
LGo9MCxrPTAsbD0wO2c9aTtpPWkrOHwwO2g9Z3wwO2lmKChifDApPT0oZHwwKSl7Y1tlPj4yXT00
O2o9MDtpPWc7cmV0dXJuIGp8MH1pZigoYVtiXXwwKT09NDUpe2NbZT4+Ml09NDtqPTA7aT1nO3Jl
dHVybiBqfDB9az1jWyhidygpfDApPj4yXXwwO2NbKGJ3KCl8MCk+PjJdPTA7ZG97aWYoKGFbMTYy
NjRdfDApPT0wKXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCww
KXwwfX13aGlsZSgwKTtsPWFJKGJ8MCxofDAsZnwwLGNbMjk1OF18MCl8MDtmPUs7Yj1jWyhidygp
fDApPj4yXXwwO2lmKChifDApPT0wKXtjWyhidygpfDApPj4yXT1rfWlmKChjW2g+PjJdfDApIT0o
ZHwwKSl7Y1tlPj4yXT00O2o9MDtpPWc7cmV0dXJuIGp8MH1kPTA7aWYoKGJ8MCk9PTM0fChmPj4+
MD5kPj4+MHxmPj4+MD09ZD4+PjAmbD4+PjA+LTE+Pj4wKSl7Y1tlPj4yXT00O2o9LTE7aT1nO3Jl
dHVybiBqfDB9ZWxzZXtqPWw7aT1nO3JldHVybiBqfDB9cmV0dXJuIDB9ZnVuY3Rpb24gZkUoYixl
LGYsZyxoLGosayl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7dmFy
IGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAs
ej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxMPTAsTT0wLE49MCxP
PTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wO2U9aTtpPWkrNzJ8MDtsPWY7Zj1pO2k9aSs0
fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9ZztnPWk7aT1pKzR8MDtpPWkrNz4+Mzw8
MztjW2c+PjJdPWNbbD4+Ml07bD1lKzMyfDA7bT1lKzQwfDA7bj1lKzU2fDA7bz1uO3A9aTtpPWkr
NHwwO2k9aSs3Pj4zPDwzO3E9aTtpPWkrMTYwfDA7cj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7cz1p
O2k9aSs0fDA7aT1pKzc+PjM8PDM7c3dpdGNoKGNbaCs0Pj4yXSY3NHwwKXtjYXNlIDg6e3Q9MTY7
YnJlYWt9O2Nhc2UgMDp7dD0wO2JyZWFrfTtjYXNlIDY0Ont0PTg7YnJlYWt9O2RlZmF1bHQ6e3Q9
MTB9fXU9ZXwwO2Z4KG0saCx1LGwpO2skKG98MCwwLDEyKTtoPW47ZFIobiwxMCwwKTtpZigoYVtv
XSYxKT09MCl7dj1oKzF8MDt3PXY7eD12O3k9bis4fDB9ZWxzZXt2PW4rOHwwO3c9Y1t2Pj4yXXww
O3g9aCsxfDA7eT12fWNbcD4+Ml09dzt2PXF8MDtjW3I+PjJdPXY7Y1tzPj4yXT0wO2g9ZnwwO2Y9
Z3wwO2c9bnwwO3o9bis0fDA7QT1hW2xdfDA7bD13O3c9Y1toPj4yXXwwO0wzNDUyOndoaWxlKDEp
e2Rve2lmKCh3fDApPT0wKXtCPTB9ZWxzZXtpZigoY1t3KzEyPj4yXXwwKSE9KGNbdysxNj4+Ml18
MCkpe0I9dzticmVha31pZigoYjBbY1soY1t3Pj4yXXwwKSszNj4+Ml0mMTI3XSh3KXwwKSE9LTEp
e0I9dzticmVha31jW2g+PjJdPTA7Qj0wfX13aGlsZSgwKTtDPShCfDApPT0wO0Q9Y1tmPj4yXXww
O2Rve2lmKChEfDApPT0wKXtFPTI4NDl9ZWxzZXtpZigoY1tEKzEyPj4yXXwwKSE9KGNbRCsxNj4+
Ml18MCkpe2lmKEMpe0Y9RDtHPTA7YnJlYWt9ZWxzZXtIPWw7ST1EO0o9MDticmVhayBMMzQ1Mn19
aWYoKGIwW2NbKGNbRD4+Ml18MCkrMzY+PjJdJjEyN10oRCl8MCk9PS0xKXtjW2Y+PjJdPTA7RT0y
ODQ5O2JyZWFrfWVsc2V7TD0oRHwwKT09MDtpZihDXkwpe0Y9RDtHPUw7YnJlYWt9ZWxzZXtIPWw7
ST1EO0o9TDticmVhayBMMzQ1Mn19fX13aGlsZSgwKTtpZigoRXwwKT09Mjg0OSl7RT0wO2lmKEMp
e0g9bDtJPTA7Sj0xO2JyZWFrfWVsc2V7Rj0wO0c9MX19RD1kW29dfDA7TD0oRCYxfDApPT0wO2lm
KCgoY1twPj4yXXwwKS1sfDApPT0oKEw/RD4+PjE6Y1t6Pj4yXXwwKXwwKSl7aWYoTCl7TT1EPj4+
MTtOPUQ+Pj4xfWVsc2V7RD1jW3o+PjJdfDA7TT1EO049RH1kUihuLE08PDEsMCk7aWYoKGFbb10m
MSk9PTApe089MTB9ZWxzZXtPPShjW2c+PjJdJi0yKS0xfDB9ZFIobixPLDApO2lmKChhW29dJjEp
PT0wKXtQPXh9ZWxzZXtQPWNbeT4+Ml18MH1jW3A+PjJdPVArTjtRPVB9ZWxzZXtRPWx9RD1CKzEy
fDA7TD1jW0Q+PjJdfDA7Uj1CKzE2fDA7aWYoKEx8MCk9PShjW1I+PjJdfDApKXtTPShiMFtjWyhj
W0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDApJjI1NX1lbHNle1M9YVtMXXwwfWlmKChmcyhTLHQs
USxwLHMsQSxtLHYscix1KXwwKSE9MCl7SD1RO0k9RjtKPUc7YnJlYWt9TD1jW0Q+PjJdfDA7aWYo
KEx8MCk9PShjW1I+PjJdfDApKXtSPWNbKGNbQj4+Ml18MCkrNDA+PjJdfDA7YjBbUiYxMjddKEIp
fDA7bD1RO3c9Qjtjb250aW51ZX1lbHNle2NbRD4+Ml09TCsxO2w9UTt3PUI7Y29udGludWV9fXc9
ZFttXXwwO2lmKCh3JjF8MCk9PTApe1Q9dz4+PjF9ZWxzZXtUPWNbbSs0Pj4yXXwwfWRve2lmKChU
fDApIT0wKXt3PWNbcj4+Ml18MDtpZigody1xfDApPj0xNjApe2JyZWFrfVE9Y1tzPj4yXXwwO2Nb
cj4+Ml09dys0O2Nbdz4+Ml09UX19d2hpbGUoMCk7cz1mRihILGNbcD4+Ml18MCxqLHQpfDA7Y1tr
Pj4yXT1zO2Nbays0Pj4yXT1LO2Z0KG0sdixjW3I+PjJdfDAsaik7ZG97aWYoQyl7VT0wfWVsc2V7
aWYoKGNbQisxMj4+Ml18MCkhPShjW0IrMTY+PjJdfDApKXtVPUI7YnJlYWt9aWYoKGIwW2NbKGNb
Qj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MCkhPS0xKXtVPUI7YnJlYWt9Y1toPj4yXT0wO1U9MH19
d2hpbGUoMCk7aD0oVXwwKT09MDtMMzUxMjpkb3tpZihKKXtFPTI4OTB9ZWxzZXtkb3tpZigoY1tJ
KzEyPj4yXXwwKT09KGNbSSsxNj4+Ml18MCkpe2lmKChiMFtjWyhjW0k+PjJdfDApKzM2Pj4yXSYx
MjddKEkpfDApIT0tMSl7YnJlYWt9Y1tmPj4yXT0wO0U9Mjg5MDticmVhayBMMzUxMn19d2hpbGUo
MCk7aWYoIShoXihJfDApPT0wKSl7YnJlYWt9Vj1ifDA7Y1tWPj4yXT1VO2RQKG4pO2RQKG0pO2k9
ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lmKChFfDApPT0yODkwKXtpZihoKXticmVha31WPWJ8MDtj
W1Y+PjJdPVU7ZFAobik7ZFAobSk7aT1lO3JldHVybn19d2hpbGUoMCk7Y1tqPj4yXT1jW2o+PjJd
fDI7Vj1ifDA7Y1tWPj4yXT1VO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59ZnVuY3Rpb24gZkYoYixk
LGUsZil7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0w
LG49MCxvPTA7Zz1pO2k9aSs4fDA7aD1nfDA7ZG97aWYoKGJ8MCk9PShkfDApKXtjW2U+PjJdPTQ7
aj0wO2s9MH1lbHNle2lmKChhW2JdfDApPT00NSl7Y1tlPj4yXT00O2o9MDtrPTA7YnJlYWt9bD1j
WyhidygpfDApPj4yXXwwO2NbKGJ3KCl8MCk+PjJdPTA7ZG97aWYoKGFbMTYyNjRdfDApPT0wKXtp
ZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgw
KTttPWFJKGJ8MCxofDAsZnwwLGNbMjk1OF18MCl8MDtuPUs7bz1jWyhidygpfDApPj4yXXwwO2lm
KChvfDApPT0wKXtjWyhidygpfDApPj4yXT1sfWlmKChjW2g+PjJdfDApIT0oZHwwKSl7Y1tlPj4y
XT00O2o9MDtrPTA7YnJlYWt9aWYoKG98MCkhPTM0KXtqPW47az1tO2JyZWFrfWNbZT4+Ml09NDtq
PS0xO2s9LTF9fXdoaWxlKDApO2k9ZztyZXR1cm4oSz1qLGspfDB9ZnVuY3Rpb24gZkcoYixlLGYs
ZyxoLGksaixrLGwsbSxuLG8pe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2k9aXwwO2o9
anwwO2s9a3wwO2w9bHwwO209bXwwO249bnwwO289b3wwO3ZhciBwPTAscT0wLHI9MCxzPTAsdD0w
O2lmKGI8PDI0Pj4yND09aTw8MjQ+PjI0KXtpZigoYVtlXSYxKT09MCl7cD0tMTtyZXR1cm4gcHww
fWFbZV09MDtpPWNbaD4+Ml18MDtjW2g+PjJdPWkrMTthW2ldPTQ2O2k9ZFtrXXwwO2lmKChpJjF8
MCk9PTApe3E9aT4+PjF9ZWxzZXtxPWNbays0Pj4yXXwwfWlmKChxfDApPT0wKXtwPTA7cmV0dXJu
IHB8MH1xPWNbbT4+Ml18MDtpZigocS1sfDApPj0xNjApe3A9MDtyZXR1cm4gcHwwfWk9Y1tuPj4y
XXwwO2NbbT4+Ml09cSs0O2NbcT4+Ml09aTtwPTA7cmV0dXJuIHB8MH1kb3tpZihiPDwyND4+MjQ9
PWo8PDI0Pj4yNCl7aT1kW2tdfDA7aWYoKGkmMXwwKT09MCl7cj1pPj4+MX1lbHNle3I9Y1trKzQ+
PjJdfDB9aWYoKHJ8MCk9PTApe2JyZWFrfWlmKChhW2VdJjEpPT0wKXtwPS0xO3JldHVybiBwfDB9
aT1jW20+PjJdfDA7aWYoKGktbHwwKT49MTYwKXtwPTA7cmV0dXJuIHB8MH1xPWNbbj4+Ml18MDtj
W20+PjJdPWkrNDtjW2k+PjJdPXE7Y1tuPj4yXT0wO3A9MDtyZXR1cm4gcHwwfX13aGlsZSgwKTty
PW8rMzJ8MDtqPW87d2hpbGUoMSl7aWYoKGp8MCk9PShyfDApKXtzPXI7YnJlYWt9aWYoKGFbal18
MCk9PWI8PDI0Pj4yNCl7cz1qO2JyZWFrfWVsc2V7aj1qKzF8MH19aj1zLW98MDtpZigoanwwKT4z
MSl7cD0tMTtyZXR1cm4gcHwwfW89YVs5NzQ0K2p8MF18MDtzd2l0Y2goanwwKXtjYXNlIDI1OmNh
c2UgMjQ6e3M9Y1toPj4yXXwwO2Rve2lmKChzfDApIT0oZ3wwKSl7aWYoKGFbcy0xfDBdJjk1fDAp
PT0oYVtmXSYxMjd8MCkpe2JyZWFrfWVsc2V7cD0tMX1yZXR1cm4gcHwwfX13aGlsZSgwKTtjW2g+
PjJdPXMrMTthW3NdPW87cD0wO3JldHVybiBwfDB9O2Nhc2UgMjI6Y2FzZSAyMzp7YVtmXT04MDtz
PWNbaD4+Ml18MDtjW2g+PjJdPXMrMTthW3NdPW87cD0wO3JldHVybiBwfDB9O2RlZmF1bHQ6e3M9
YVtmXXwwO2Rve2lmKChvJjk1fDApPT0oczw8MjQ+PjI0fDApKXthW2ZdPXN8LTEyODtpZigoYVtl
XSYxKT09MCl7YnJlYWt9YVtlXT0wO2c9ZFtrXXwwO2lmKChnJjF8MCk9PTApe3Q9Zz4+PjF9ZWxz
ZXt0PWNbays0Pj4yXXwwfWlmKCh0fDApPT0wKXticmVha31nPWNbbT4+Ml18MDtpZigoZy1sfDAp
Pj0xNjApe2JyZWFrfWI9Y1tuPj4yXXwwO2NbbT4+Ml09Zys0O2NbZz4+Ml09Yn19d2hpbGUoMCk7
bT1jW2g+PjJdfDA7Y1toPj4yXT1tKzE7YVttXT1vO2lmKChqfDApPjIxKXtwPTA7cmV0dXJuIHB8
MH1jW24+PjJdPShjW24+PjJdfDApKzE7cD0wO3JldHVybiBwfDB9fXJldHVybiAwfWZ1bmN0aW9u
IGZIKGIsZSxmLGgsaixrLGwpe2I9YnwwO2U9ZXwwO2Y9ZnwwO2g9aHwwO2o9anwwO2s9a3wwO2w9
bHwwO3ZhciBtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5
PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09
MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wO2U9aTtpPWkrODB8
MDttPWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW20+PjJdO209aDtoPWk7aT1p
KzR8MDtpPWkrNz4+Mzw8MztjW2g+PjJdPWNbbT4+Ml07bT1lKzMyfDA7bj1lKzQwfDA7bz1lKzQ4
fDA7cD1lKzY0fDA7cT1wO3I9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3M9aTtpPWkrMTYwfDA7dD1p
O2k9aSs0fDA7aT1pKzc+PjM8PDM7dT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7dj1pO2k9aSsxfDA7
aT1pKzc+PjM8PDM7dz1pO2k9aSsxfDA7aT1pKzc+PjM8PDM7eD1lfDA7ZkoobyxqLHgsbSxuKTtr
JChxfDAsMCwxMik7aj1wO2RSKHAsMTAsMCk7aWYoKGFbcV0mMSk9PTApe3k9aisxfDA7ej15O0E9
eTtCPXArOHwwfWVsc2V7eT1wKzh8MDt6PWNbeT4+Ml18MDtBPWorMXwwO0I9eX1jW3I+PjJdPXo7
eT1zfDA7Y1t0Pj4yXT15O2NbdT4+Ml09MDthW3ZdPTE7YVt3XT02OTtqPWZ8MDtmPWh8MDtoPXB8
MDtDPXArNHwwO0Q9YVttXXwwO209YVtuXXwwO249ejt6PWNbaj4+Ml18MDtMMzYxNTp3aGlsZSgx
KXtkb3tpZigoenwwKT09MCl7RT0wfWVsc2V7aWYoKGNbeisxMj4+Ml18MCkhPShjW3orMTY+PjJd
fDApKXtFPXo7YnJlYWt9aWYoKGIwW2NbKGNbej4+Ml18MCkrMzY+PjJdJjEyN10oeil8MCkhPS0x
KXtFPXo7YnJlYWt9Y1tqPj4yXT0wO0U9MH19d2hpbGUoMCk7Rj0oRXwwKT09MDtHPWNbZj4+Ml18
MDtkb3tpZigoR3wwKT09MCl7SD0yOTc4fWVsc2V7aWYoKGNbRysxMj4+Ml18MCkhPShjW0crMTY+
PjJdfDApKXtpZihGKXtJPUc7Sj0wO2JyZWFrfWVsc2V7Sz1uO0w9RztNPTA7YnJlYWsgTDM2MTV9
fWlmKChiMFtjWyhjW0c+PjJdfDApKzM2Pj4yXSYxMjddKEcpfDApPT0tMSl7Y1tmPj4yXT0wO0g9
Mjk3ODticmVha31lbHNle049KEd8MCk9PTA7aWYoRl5OKXtJPUc7Sj1OO2JyZWFrfWVsc2V7Sz1u
O0w9RztNPU47YnJlYWsgTDM2MTV9fX19d2hpbGUoMCk7aWYoKEh8MCk9PTI5Nzgpe0g9MDtpZihG
KXtLPW47TD0wO009MTticmVha31lbHNle0k9MDtKPTF9fUc9ZFtxXXwwO049KEcmMXwwKT09MDtp
ZigoKGNbcj4+Ml18MCktbnwwKT09KChOP0c+Pj4xOmNbQz4+Ml18MCl8MCkpe2lmKE4pe089Rz4+
PjE7UD1HPj4+MX1lbHNle0c9Y1tDPj4yXXwwO089RztQPUd9ZFIocCxPPDwxLDApO2lmKChhW3Fd
JjEpPT0wKXtRPTEwfWVsc2V7UT0oY1toPj4yXSYtMiktMXwwfWRSKHAsUSwwKTtpZigoYVtxXSYx
KT09MCl7Uj1BfWVsc2V7Uj1jW0I+PjJdfDB9Y1tyPj4yXT1SK1A7Uz1SfWVsc2V7Uz1ufUc9RSsx
MnwwO049Y1tHPj4yXXwwO1Q9RSsxNnwwO2lmKChOfDApPT0oY1tUPj4yXXwwKSl7VT0oYjBbY1so
Y1tFPj4yXXwwKSszNj4+Ml0mMTI3XShFKXwwKSYyNTV9ZWxzZXtVPWFbTl18MH1pZigoZkcoVSx2
LHcsUyxyLEQsbSxvLHksdCx1LHgpfDApIT0wKXtLPVM7TD1JO009SjticmVha31OPWNbRz4+Ml18
MDtpZigoTnwwKT09KGNbVD4+Ml18MCkpe1Q9Y1soY1tFPj4yXXwwKSs0MD4+Ml18MDtiMFtUJjEy
N10oRSl8MDtuPVM7ej1FO2NvbnRpbnVlfWVsc2V7Y1tHPj4yXT1OKzE7bj1TO3o9RTtjb250aW51
ZX19ej1kW29dfDA7aWYoKHomMXwwKT09MCl7Vj16Pj4+MX1lbHNle1Y9Y1tvKzQ+PjJdfDB9ZG97
aWYoKFZ8MCkhPTApe2lmKChhW3ZdJjEpPT0wKXticmVha316PWNbdD4+Ml18MDtpZigoei1zfDAp
Pj0xNjApe2JyZWFrfVM9Y1t1Pj4yXXwwO2NbdD4+Ml09eis0O2Nbej4+Ml09U319d2hpbGUoMCk7
Z1tsPj4yXT0rZkkoSyxjW3I+PjJdfDAsayk7ZnQobyx5LGNbdD4+Ml18MCxrKTtkb3tpZihGKXtX
PTB9ZWxzZXtpZigoY1tFKzEyPj4yXXwwKSE9KGNbRSsxNj4+Ml18MCkpe1c9RTticmVha31pZigo
YjBbY1soY1tFPj4yXXwwKSszNj4+Ml0mMTI3XShFKXwwKSE9LTEpe1c9RTticmVha31jW2o+PjJd
PTA7Vz0wfX13aGlsZSgwKTtqPShXfDApPT0wO0wzNjc2OmRve2lmKE0pe0g9MzAyMH1lbHNle2Rv
e2lmKChjW0wrMTI+PjJdfDApPT0oY1tMKzE2Pj4yXXwwKSl7aWYoKGIwW2NbKGNbTD4+Ml18MCkr
MzY+PjJdJjEyN10oTCl8MCkhPS0xKXticmVha31jW2Y+PjJdPTA7SD0zMDIwO2JyZWFrIEwzNjc2
fX13aGlsZSgwKTtpZighKGpeKEx8MCk9PTApKXticmVha31YPWJ8MDtjW1g+PjJdPVc7ZFAocCk7
ZFAobyk7aT1lO3JldHVybn19d2hpbGUoMCk7ZG97aWYoKEh8MCk9PTMwMjApe2lmKGope2JyZWFr
fVg9YnwwO2NbWD4+Ml09VztkUChwKTtkUChvKTtpPWU7cmV0dXJufX13aGlsZSgwKTtjW2s+PjJd
PWNbaz4+Ml18MjtYPWJ8MDtjW1g+PjJdPVc7ZFAocCk7ZFAobyk7aT1lO3JldHVybn1mdW5jdGlv
biBmSShiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLjAsaj0wLGs9MC4w
O2Y9aTtpPWkrOHwwO2c9ZnwwO2lmKChifDApPT0oZHwwKSl7Y1tlPj4yXT00O2g9MC4wO2k9Zjty
ZXR1cm4raH1qPWNbKGJ3KCl8MCk+PjJdfDA7Y1soYncoKXwwKT4+Ml09MDtkb3tpZigoYVsxNjI2
NF18MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDAp
fDB9fXdoaWxlKDApO2s9K2tXKGIsZyxjWzI5NThdfDApO2I9Y1soYncoKXwwKT4+Ml18MDtpZigo
YnwwKT09MCl7Y1soYncoKXwwKT4+Ml09an1pZigoY1tnPj4yXXwwKSE9KGR8MCkpe2NbZT4+Ml09
NDtoPTAuMDtpPWY7cmV0dXJuK2h9aWYoKGJ8MCk9PTM0KXtjW2U+PjJdPTR9aD1rO2k9ZjtyZXR1
cm4raH1mdW5jdGlvbiBmSihiLGQsZSxmLGcpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3ww
O3ZhciBoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wO2g9aTtpPWkr
NDB8MDtqPWh8MDtrPWgrMTZ8MDtsPWgrMzJ8MDtlaihsLGQpO2Q9bHwwO2w9Y1tkPj4yXXwwO2lm
KChjWzM5MjRdfDApIT0tMSl7Y1trPj4yXT0xNTY5NjtjW2srND4+Ml09MTI7Y1trKzg+PjJdPTA7
ZFcoMTU2OTYsayw5Nil9az0oY1szOTI1XXwwKS0xfDA7bT1jW2wrOD4+Ml18MDtkb3tpZigoY1ts
KzEyPj4yXXwwKS1tPj4yPj4+MD5rPj4+MCl7bj1jW20rKGs8PDIpPj4yXXwwO2lmKChufDApPT0w
KXticmVha31vPW47cD1jWyhjW24+PjJdfDApKzMyPj4yXXwwO2NhW3AmMTVdKG8sOTc0NCw5Nzc2
LGUpfDA7bz1jW2Q+PjJdfDA7aWYoKGNbMzgyOF18MCkhPS0xKXtjW2o+PjJdPTE1MzEyO2Nbais0
Pj4yXT0xMjtjW2orOD4+Ml09MDtkVygxNTMxMixqLDk2KX1wPShjWzM4MjldfDApLTF8MDtuPWNb
bys4Pj4yXXwwO2Rve2lmKChjW28rMTI+PjJdfDApLW4+PjI+Pj4wPnA+Pj4wKXtxPWNbbisocDw8
Mik+PjJdfDA7aWYoKHF8MCk9PTApe2JyZWFrfXI9cTtzPXE7YVtmXT1iMFtjWyhjW3M+PjJdfDAp
KzEyPj4yXSYxMjddKHIpfDA7YVtnXT1iMFtjWyhjW3M+PjJdfDApKzE2Pj4yXSYxMjddKHIpfDA7
YlpbY1soY1txPj4yXXwwKSsyMD4+Ml0mMTI3XShiLHIpO3I9Y1tkPj4yXXwwO2R6KHIpfDA7aT1o
O3JldHVybn19d2hpbGUoMCk7cD1iTyg0KXwwO2txKHApO2JsKHB8MCw4MTc2LDEzNCl9fXdoaWxl
KDApO2g9Yk8oNCl8MDtrcShoKTtibChofDAsODE3NiwxMzQpfWZ1bmN0aW9uIGZLKGIsZSxmLGcs
aixrLGwpe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2o9anwwO2s9a3wwO2w9bHwwO3ZhciBtPTAs
bj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxC
PTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9
MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wO2U9aTtpPWkrODB8MDttPWY7Zj1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW20+PjJdO209ZztnPWk7aT1pKzR8MDtpPWkrNz4+
Mzw8MztjW2c+PjJdPWNbbT4+Ml07bT1lKzMyfDA7bj1lKzQwfDA7bz1lKzQ4fDA7cD1lKzY0fDA7
cT1wO3I9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3M9aTtpPWkrMTYwfDA7dD1pO2k9aSs0fDA7aT1p
Kzc+PjM8PDM7dT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7dj1pO2k9aSsxfDA7aT1pKzc+PjM8PDM7
dz1pO2k9aSsxfDA7aT1pKzc+PjM8PDM7eD1lfDA7ZkoobyxqLHgsbSxuKTtrJChxfDAsMCwxMik7
aj1wO2RSKHAsMTAsMCk7aWYoKGFbcV0mMSk9PTApe3k9aisxfDA7ej15O0E9eTtCPXArOHwwfWVs
c2V7eT1wKzh8MDt6PWNbeT4+Ml18MDtBPWorMXwwO0I9eX1jW3I+PjJdPXo7eT1zfDA7Y1t0Pj4y
XT15O2NbdT4+Ml09MDthW3ZdPTE7YVt3XT02OTtqPWZ8MDtmPWd8MDtnPXB8MDtDPXArNHwwO0Q9
YVttXXwwO209YVtuXXwwO249ejt6PWNbaj4+Ml18MDtMMzczNzp3aGlsZSgxKXtkb3tpZigoenww
KT09MCl7RT0wfWVsc2V7aWYoKGNbeisxMj4+Ml18MCkhPShjW3orMTY+PjJdfDApKXtFPXo7YnJl
YWt9aWYoKGIwW2NbKGNbej4+Ml18MCkrMzY+PjJdJjEyN10oeil8MCkhPS0xKXtFPXo7YnJlYWt9
Y1tqPj4yXT0wO0U9MH19d2hpbGUoMCk7Rj0oRXwwKT09MDtHPWNbZj4+Ml18MDtkb3tpZigoR3ww
KT09MCl7SD0zMDc5fWVsc2V7aWYoKGNbRysxMj4+Ml18MCkhPShjW0crMTY+PjJdfDApKXtpZihG
KXtJPUc7Sj0wO2JyZWFrfWVsc2V7Sz1uO0w9RztNPTA7YnJlYWsgTDM3Mzd9fWlmKChiMFtjWyhj
W0c+PjJdfDApKzM2Pj4yXSYxMjddKEcpfDApPT0tMSl7Y1tmPj4yXT0wO0g9MzA3OTticmVha31l
bHNle049KEd8MCk9PTA7aWYoRl5OKXtJPUc7Sj1OO2JyZWFrfWVsc2V7Sz1uO0w9RztNPU47YnJl
YWsgTDM3Mzd9fX19d2hpbGUoMCk7aWYoKEh8MCk9PTMwNzkpe0g9MDtpZihGKXtLPW47TD0wO009
MTticmVha31lbHNle0k9MDtKPTF9fUc9ZFtxXXwwO049KEcmMXwwKT09MDtpZigoKGNbcj4+Ml18
MCktbnwwKT09KChOP0c+Pj4xOmNbQz4+Ml18MCl8MCkpe2lmKE4pe089Rz4+PjE7UD1HPj4+MX1l
bHNle0c9Y1tDPj4yXXwwO089RztQPUd9ZFIocCxPPDwxLDApO2lmKChhW3FdJjEpPT0wKXtRPTEw
fWVsc2V7UT0oY1tnPj4yXSYtMiktMXwwfWRSKHAsUSwwKTtpZigoYVtxXSYxKT09MCl7Uj1BfWVs
c2V7Uj1jW0I+PjJdfDB9Y1tyPj4yXT1SK1A7Uz1SfWVsc2V7Uz1ufUc9RSsxMnwwO049Y1tHPj4y
XXwwO1Q9RSsxNnwwO2lmKChOfDApPT0oY1tUPj4yXXwwKSl7VT0oYjBbY1soY1tFPj4yXXwwKSsz
Nj4+Ml0mMTI3XShFKXwwKSYyNTV9ZWxzZXtVPWFbTl18MH1pZigoZkcoVSx2LHcsUyxyLEQsbSxv
LHksdCx1LHgpfDApIT0wKXtLPVM7TD1JO009SjticmVha31OPWNbRz4+Ml18MDtpZigoTnwwKT09
KGNbVD4+Ml18MCkpe1Q9Y1soY1tFPj4yXXwwKSs0MD4+Ml18MDtiMFtUJjEyN10oRSl8MDtuPVM7
ej1FO2NvbnRpbnVlfWVsc2V7Y1tHPj4yXT1OKzE7bj1TO3o9RTtjb250aW51ZX19ej1kW29dfDA7
aWYoKHomMXwwKT09MCl7Vj16Pj4+MX1lbHNle1Y9Y1tvKzQ+PjJdfDB9ZG97aWYoKFZ8MCkhPTAp
e2lmKChhW3ZdJjEpPT0wKXticmVha316PWNbdD4+Ml18MDtpZigoei1zfDApPj0xNjApe2JyZWFr
fVM9Y1t1Pj4yXXwwO2NbdD4+Ml09eis0O2Nbej4+Ml09U319d2hpbGUoMCk7aFtsPj4zXT0rZkwo
SyxjW3I+PjJdfDAsayk7ZnQobyx5LGNbdD4+Ml18MCxrKTtkb3tpZihGKXtXPTB9ZWxzZXtpZigo
Y1tFKzEyPj4yXXwwKSE9KGNbRSsxNj4+Ml18MCkpe1c9RTticmVha31pZigoYjBbY1soY1tFPj4y
XXwwKSszNj4+Ml0mMTI3XShFKXwwKSE9LTEpe1c9RTticmVha31jW2o+PjJdPTA7Vz0wfX13aGls
ZSgwKTtqPShXfDApPT0wO0wzNzk4OmRve2lmKE0pe0g9MzEyMX1lbHNle2Rve2lmKChjW0wrMTI+
PjJdfDApPT0oY1tMKzE2Pj4yXXwwKSl7aWYoKGIwW2NbKGNbTD4+Ml18MCkrMzY+PjJdJjEyN10o
TCl8MCkhPS0xKXticmVha31jW2Y+PjJdPTA7SD0zMTIxO2JyZWFrIEwzNzk4fX13aGlsZSgwKTtp
ZighKGpeKEx8MCk9PTApKXticmVha31YPWJ8MDtjW1g+PjJdPVc7ZFAocCk7ZFAobyk7aT1lO3Jl
dHVybn19d2hpbGUoMCk7ZG97aWYoKEh8MCk9PTMxMjEpe2lmKGope2JyZWFrfVg9YnwwO2NbWD4+
Ml09VztkUChwKTtkUChvKTtpPWU7cmV0dXJufX13aGlsZSgwKTtjW2s+PjJdPWNbaz4+Ml18MjtY
PWJ8MDtjW1g+PjJdPVc7ZFAocCk7ZFAobyk7aT1lO3JldHVybn1mdW5jdGlvbiBmTChiLGQsZSl7
Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLjAsaj0wLGs9MC4wO2Y9aTtpPWkrOHww
O2c9ZnwwO2lmKChifDApPT0oZHwwKSl7Y1tlPj4yXT00O2g9MC4wO2k9ZjtyZXR1cm4raH1qPWNb
KGJ3KCl8MCk+PjJdfDA7Y1soYncoKXwwKT4+Ml09MDtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lm
KChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDAp
O2s9K2tXKGIsZyxjWzI5NThdfDApO2I9Y1soYncoKXwwKT4+Ml18MDtpZigoYnwwKT09MCl7Y1so
YncoKXwwKT4+Ml09an1pZigoY1tnPj4yXXwwKSE9KGR8MCkpe2NbZT4+Ml09NDtoPTAuMDtpPWY7
cmV0dXJuK2h9aWYoKGJ8MCkhPTM0KXtoPWs7aT1mO3JldHVybitofWNbZT4+Ml09NDtoPWs7aT1m
O3JldHVybitofWZ1bmN0aW9uIGZNKGIsZSxmLGcsaixrLGwpe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9
Z3wwO2o9anwwO2s9a3wwO2w9bHwwO3ZhciBtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0w
LHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAs
ST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxX
PTAsWD0wO2U9aTtpPWkrODB8MDttPWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1j
W20+PjJdO209ZztnPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2c+PjJdPWNbbT4+Ml07bT1lKzMy
fDA7bj1lKzQwfDA7bz1lKzQ4fDA7cD1lKzY0fDA7cT1wO3I9aTtpPWkrNHwwO2k9aSs3Pj4zPDwz
O3M9aTtpPWkrMTYwfDA7dD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7dT1pO2k9aSs0fDA7aT1pKzc+
PjM8PDM7dj1pO2k9aSsxfDA7aT1pKzc+PjM8PDM7dz1pO2k9aSsxfDA7aT1pKzc+PjM8PDM7eD1l
fDA7ZkoobyxqLHgsbSxuKTtrJChxfDAsMCwxMik7aj1wO2RSKHAsMTAsMCk7aWYoKGFbcV0mMSk9
PTApe3k9aisxfDA7ej15O0E9eTtCPXArOHwwfWVsc2V7eT1wKzh8MDt6PWNbeT4+Ml18MDtBPWor
MXwwO0I9eX1jW3I+PjJdPXo7eT1zfDA7Y1t0Pj4yXT15O2NbdT4+Ml09MDthW3ZdPTE7YVt3XT02
OTtqPWZ8MDtmPWd8MDtnPXB8MDtDPXArNHwwO0Q9YVttXXwwO209YVtuXXwwO249ejt6PWNbaj4+
Ml18MDtMNjp3aGlsZSgxKXtkb3tpZigoenwwKT09MCl7RT0wfWVsc2V7aWYoKGNbeisxMj4+Ml18
MCkhPShjW3orMTY+PjJdfDApKXtFPXo7YnJlYWt9aWYoKGIwW2NbKGNbej4+Ml18MCkrMzY+PjJd
JjEyN10oeil8MCkhPS0xKXtFPXo7YnJlYWt9Y1tqPj4yXT0wO0U9MH19d2hpbGUoMCk7Rj0oRXww
KT09MDtHPWNbZj4+Ml18MDtkb3tpZigoR3wwKT09MCl7SD0xN31lbHNle2lmKChjW0crMTI+PjJd
fDApIT0oY1tHKzE2Pj4yXXwwKSl7aWYoRil7ST1HO0o9MDticmVha31lbHNle0s9bjtMPUc7TT0w
O2JyZWFrIEw2fX1pZigoYjBbY1soY1tHPj4yXXwwKSszNj4+Ml0mMTI3XShHKXwwKT09LTEpe2Nb
Zj4+Ml09MDtIPTE3O2JyZWFrfWVsc2V7Tj0oR3wwKT09MDtpZihGXk4pe0k9RztKPU47YnJlYWt9
ZWxzZXtLPW47TD1HO009TjticmVhayBMNn19fX13aGlsZSgwKTtpZigoSHwwKT09MTcpe0g9MDtp
ZihGKXtLPW47TD0wO009MTticmVha31lbHNle0k9MDtKPTF9fUc9ZFtxXXwwO049KEcmMXwwKT09
MDtpZigoKGNbcj4+Ml18MCktbnwwKT09KChOP0c+Pj4xOmNbQz4+Ml18MCl8MCkpe2lmKE4pe089
Rz4+PjE7UD1HPj4+MX1lbHNle0c9Y1tDPj4yXXwwO089RztQPUd9ZFIocCxPPDwxLDApO2lmKChh
W3FdJjEpPT0wKXtRPTEwfWVsc2V7UT0oY1tnPj4yXSYtMiktMXwwfWRSKHAsUSwwKTtpZigoYVtx
XSYxKT09MCl7Uj1BfWVsc2V7Uj1jW0I+PjJdfDB9Y1tyPj4yXT1SK1A7Uz1SfWVsc2V7Uz1ufUc9
RSsxMnwwO049Y1tHPj4yXXwwO1Q9RSsxNnwwO2lmKChOfDApPT0oY1tUPj4yXXwwKSl7VT0oYjBb
Y1soY1tFPj4yXXwwKSszNj4+Ml0mMTI3XShFKXwwKSYyNTV9ZWxzZXtVPWFbTl18MH1pZigoZkco
VSx2LHcsUyxyLEQsbSxvLHksdCx1LHgpfDApIT0wKXtLPVM7TD1JO009SjticmVha31OPWNbRz4+
Ml18MDtpZigoTnwwKT09KGNbVD4+Ml18MCkpe1Q9Y1soY1tFPj4yXXwwKSs0MD4+Ml18MDtiMFtU
JjEyN10oRSl8MDtuPVM7ej1FO2NvbnRpbnVlfWVsc2V7Y1tHPj4yXT1OKzE7bj1TO3o9RTtjb250
aW51ZX19ej1kW29dfDA7aWYoKHomMXwwKT09MCl7Vj16Pj4+MX1lbHNle1Y9Y1tvKzQ+PjJdfDB9
ZG97aWYoKFZ8MCkhPTApe2lmKChhW3ZdJjEpPT0wKXticmVha316PWNbdD4+Ml18MDtpZigoei1z
fDApPj0xNjApe2JyZWFrfVM9Y1t1Pj4yXXwwO2NbdD4+Ml09eis0O2Nbej4+Ml09U319d2hpbGUo
MCk7aFtsPj4zXT0rZk4oSyxjW3I+PjJdfDAsayk7ZnQobyx5LGNbdD4+Ml18MCxrKTtkb3tpZihG
KXtXPTB9ZWxzZXtpZigoY1tFKzEyPj4yXXwwKSE9KGNbRSsxNj4+Ml18MCkpe1c9RTticmVha31p
ZigoYjBbY1soY1tFPj4yXXwwKSszNj4+Ml0mMTI3XShFKXwwKSE9LTEpe1c9RTticmVha31jW2o+
PjJdPTA7Vz0wfX13aGlsZSgwKTtqPShXfDApPT0wO0w2Nzpkb3tpZihNKXtIPTU5fWVsc2V7ZG97
aWYoKGNbTCsxMj4+Ml18MCk9PShjW0wrMTY+PjJdfDApKXtpZigoYjBbY1soY1tMPj4yXXwwKSsz
Nj4+Ml0mMTI3XShMKXwwKSE9LTEpe2JyZWFrfWNbZj4+Ml09MDtIPTU5O2JyZWFrIEw2N319d2hp
bGUoMCk7aWYoIShqXihMfDApPT0wKSl7YnJlYWt9WD1ifDA7Y1tYPj4yXT1XO2RQKHApO2RQKG8p
O2k9ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lmKChIfDApPT01OSl7aWYoail7YnJlYWt9WD1ifDA7
Y1tYPj4yXT1XO2RQKHApO2RQKG8pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Nbaz4+Ml09Y1trPj4y
XXwyO1g9YnwwO2NbWD4+Ml09VztkUChwKTtkUChvKTtpPWU7cmV0dXJufWZ1bmN0aW9uIGZOKGIs
ZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTAuMCxqPTAsaz0wLjA7Zj1pO2k9
aSs4fDA7Zz1mfDA7aWYoKGJ8MCk9PShkfDApKXtjW2U+PjJdPTQ7aD0wLjA7aT1mO3JldHVybito
fWo9Y1soYncoKXwwKT4+Ml18MDtjWyhidygpfDApPj4yXT0wO2Rve2lmKChhWzE2MjY0XXwwKT09
MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8MH19d2hp
bGUoMCk7az0ra1coYixnLGNbMjk1OF18MCk7Yj1jWyhidygpfDApPj4yXXwwO2lmKChifDApPT0w
KXtjWyhidygpfDApPj4yXT1qfWlmKChjW2c+PjJdfDApIT0oZHwwKSl7Y1tlPj4yXT00O2g9MC4w
O2k9ZjtyZXR1cm4raH1pZigoYnwwKSE9MzQpe2g9aztpPWY7cmV0dXJuK2h9Y1tlPj4yXT00O2g9
aztpPWY7cmV0dXJuK2h9ZnVuY3Rpb24gZk8oYSl7YT1hfDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59
ZnVuY3Rpb24gZlAoYSl7YT1hfDA7ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24gZlEoYixlLGYsZyxo
LGosayl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxt
PTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9
MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0w
LFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MDtlPWk7aT1pKzY0fDA7bD1mO2Y9aTtpPWkrNHww
O2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1tsPj4yXTtsPWc7Zz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7
Y1tnPj4yXT1jW2w+PjJdO2w9ZXwwO209ZSsxNnwwO249ZSs0OHwwO289aTtpPWkrNHwwO2k9aSs3
Pj4zPDwzO3A9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8MztxPWk7aT1pKzR8MDtpPWkrNz4+Mzw8Mzty
PWk7aT1pKzE2MHwwO3M9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3Q9aTtpPWkrNHwwO2k9aSs3Pj4z
PDwzO2skKG58MCwwLDEyKTt1PXA7ZWoobyxoKTtoPW98MDtvPWNbaD4+Ml18MDtpZigoY1szOTI0
XXwwKSE9LTEpe2NbbD4+Ml09MTU2OTY7Y1tsKzQ+PjJdPTEyO2NbbCs4Pj4yXT0wO2RXKDE1Njk2
LGwsOTYpfWw9KGNbMzkyNV18MCktMXwwO3Y9Y1tvKzg+PjJdfDA7ZG97aWYoKGNbbysxMj4+Ml18
MCktdj4+Mj4+PjA+bD4+PjApe3c9Y1t2KyhsPDwyKT4+Ml18MDtpZigod3wwKT09MCl7YnJlYWt9
eD13O3k9bXwwO3o9Y1soY1t3Pj4yXXwwKSszMj4+Ml18MDtjYVt6JjE1XSh4LDk3NDQsOTc3MCx5
KXwwO3g9Y1toPj4yXXwwO2R6KHgpfDA7ayQodXwwLDAsMTIpO3g9cDtkUihwLDEwLDApO2lmKChh
W3VdJjEpPT0wKXt6PXgrMXwwO0E9ejtCPXo7Qz1wKzh8MH1lbHNle3o9cCs4fDA7QT1jW3o+PjJd
fDA7Qj14KzF8MDtDPXp9Y1txPj4yXT1BO3o9cnwwO2Nbcz4+Ml09ejtjW3Q+PjJdPTA7eD1mfDA7
dz1nfDA7RD1wfDA7RT1wKzR8MDtGPUE7Rz1jW3g+PjJdfDA7TDExNzp3aGlsZSgxKXtkb3tpZigo
R3wwKT09MCl7SD0wfWVsc2V7aWYoKGNbRysxMj4+Ml18MCkhPShjW0crMTY+PjJdfDApKXtIPUc7
YnJlYWt9aWYoKGIwW2NbKGNbRz4+Ml18MCkrMzY+PjJdJjEyN10oRyl8MCkhPS0xKXtIPUc7YnJl
YWt9Y1t4Pj4yXT0wO0g9MH19d2hpbGUoMCk7ST0oSHwwKT09MDtKPWNbdz4+Ml18MDtkb3tpZigo
SnwwKT09MCl7Sz0xMTB9ZWxzZXtpZigoY1tKKzEyPj4yXXwwKSE9KGNbSisxNj4+Ml18MCkpe2lm
KEkpe2JyZWFrfWVsc2V7TD1GO2JyZWFrIEwxMTd9fWlmKChiMFtjWyhjW0o+PjJdfDApKzM2Pj4y
XSYxMjddKEopfDApPT0tMSl7Y1t3Pj4yXT0wO0s9MTEwO2JyZWFrfWVsc2V7aWYoSV4oSnwwKT09
MCl7YnJlYWt9ZWxzZXtMPUY7YnJlYWsgTDExN319fX13aGlsZSgwKTtpZigoS3wwKT09MTEwKXtL
PTA7aWYoSSl7TD1GO2JyZWFrfX1KPWRbdV18MDtNPShKJjF8MCk9PTA7aWYoKChjW3E+PjJdfDAp
LUZ8MCk9PSgoTT9KPj4+MTpjW0U+PjJdfDApfDApKXtpZihNKXtOPUo+Pj4xO089Sj4+PjF9ZWxz
ZXtKPWNbRT4+Ml18MDtOPUo7Tz1KfWRSKHAsTjw8MSwwKTtpZigoYVt1XSYxKT09MCl7UD0xMH1l
bHNle1A9KGNbRD4+Ml0mLTIpLTF8MH1kUihwLFAsMCk7aWYoKGFbdV0mMSk9PTApe1E9Qn1lbHNl
e1E9Y1tDPj4yXXwwfWNbcT4+Ml09UStPO1I9UX1lbHNle1I9Rn1KPUgrMTJ8MDtNPWNbSj4+Ml18
MDtTPUgrMTZ8MDtpZigoTXwwKT09KGNbUz4+Ml18MCkpe1Q9KGIwW2NbKGNbSD4+Ml18MCkrMzY+
PjJdJjEyN10oSCl8MCkmMjU1fWVsc2V7VD1hW01dfDB9aWYoKGZzKFQsMTYsUixxLHQsMCxuLHos
cyx5KXwwKSE9MCl7TD1SO2JyZWFrfU09Y1tKPj4yXXwwO2lmKChNfDApPT0oY1tTPj4yXXwwKSl7
Uz1jWyhjW0g+PjJdfDApKzQwPj4yXXwwO2IwW1MmMTI3XShIKXwwO0Y9UjtHPUg7Y29udGludWV9
ZWxzZXtjW0o+PjJdPU0rMTtGPVI7Rz1IO2NvbnRpbnVlfX1hW0wrM3wwXT0wO2Rve2lmKChhWzE2
MjY0XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQs
MCl8MH19d2hpbGUoMCk7Rz1mUihMLGNbMjk1OF18MCwxMzIwLChGPWksaT1pKzh8MCxjW0Y+PjJd
PWssRil8MCl8MDtpPUY7aWYoKEd8MCkhPTEpe2Nbaj4+Ml09NH1HPWNbeD4+Ml18MDtkb3tpZigo
R3wwKT09MCl7VT0wfWVsc2V7aWYoKGNbRysxMj4+Ml18MCkhPShjW0crMTY+PjJdfDApKXtVPUc7
YnJlYWt9aWYoKGIwW2NbKGNbRz4+Ml18MCkrMzY+PjJdJjEyN10oRyl8MCkhPS0xKXtVPUc7YnJl
YWt9Y1t4Pj4yXT0wO1U9MH19d2hpbGUoMCk7eD0oVXwwKT09MDtHPWNbdz4+Ml18MDtkb3tpZigo
R3wwKT09MCl7Sz0xNTV9ZWxzZXtpZigoY1tHKzEyPj4yXXwwKSE9KGNbRysxNj4+Ml18MCkpe2lm
KCF4KXticmVha31WPWJ8MDtjW1Y+PjJdPVU7ZFAocCk7ZFAobik7aT1lO3JldHVybn1pZigoYjBb
Y1soY1tHPj4yXXwwKSszNj4+Ml0mMTI3XShHKXwwKT09LTEpe2Nbdz4+Ml09MDtLPTE1NTticmVh
a31pZighKHheKEd8MCk9PTApKXticmVha31WPWJ8MDtjW1Y+PjJdPVU7ZFAocCk7ZFAobik7aT1l
O3JldHVybn19d2hpbGUoMCk7ZG97aWYoKEt8MCk9PTE1NSl7aWYoeCl7YnJlYWt9Vj1ifDA7Y1tW
Pj4yXT1VO2RQKHApO2RQKG4pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Nbaj4+Ml09Y1tqPj4yXXwy
O1Y9YnwwO2NbVj4+Ml09VTtkUChwKTtkUChuKTtpPWU7cmV0dXJufX13aGlsZSgwKTtlPWJPKDQp
fDA7a3EoZSk7YmwoZXwwLDgxNzYsMTM0KX1mdW5jdGlvbiBmUihhLGIsZCxlKXthPWF8MDtiPWJ8
MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxoPTA7Zj1pO2k9aSsxNnwwO2c9ZnwwO2g9ZztjW2g+
PjJdPWU7Y1toKzQ+PjJdPTA7aD1iQihifDApfDA7Yj1hWShhfDAsZHwwLGd8MCl8MDtpZigoaHww
KT09MCl7aT1mO3JldHVybiBifDB9YkIoaHwwKXwwO2k9ZjtyZXR1cm4gYnwwfWZ1bmN0aW9uIGZT
KGIsZSxmLGcsaCxqLGspe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3ww
O3ZhciBsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAs
eT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxN
PTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9MCxZPTAsWj0wLF89
MCwkPTAsYWE9MCxhYj0wLGFjPTAsYWQ9MDtsPWk7aT1pKzEwNHwwO209ZTtlPWk7aT1pKzR8MDtp
PWkrNz4+Mzw8MztjW2U+PjJdPWNbbT4+Ml07bT0oZy1mfDApLzEyfDA7bj1sfDA7ZG97aWYobT4+
PjA+MTAwKXtvPWtKKG0pfDA7aWYoKG98MCkhPTApe3A9bztxPW87YnJlYWt9a1goKTtwPTA7cT0w
fWVsc2V7cD1uO3E9MH19d2hpbGUoMCk7bj0oZnwwKT09KGd8MCk7aWYobil7cj1tO3M9MH1lbHNl
e289bTttPTA7dD1wO3U9Zjt3aGlsZSgxKXt2PWRbdV18MDtpZigodiYxfDApPT0wKXt3PXY+Pj4x
fWVsc2V7dz1jW3UrND4+Ml18MH1pZigod3wwKT09MCl7YVt0XT0yO3g9bSsxfDA7eT1vLTF8MH1l
bHNle2FbdF09MTt4PW07eT1vfXY9dSsxMnwwO2lmKCh2fDApPT0oZ3wwKSl7cj15O3M9eDticmVh
a31lbHNle289eTttPXg7dD10KzF8MDt1PXZ9fX11PWJ8MDtiPWV8MDtlPWg7dD0wO3g9cztzPXI7
d2hpbGUoMSl7cj1jW3U+PjJdfDA7ZG97aWYoKHJ8MCk9PTApe3o9MH1lbHNle209Y1tyKzEyPj4y
XXwwO2lmKChtfDApPT0oY1tyKzE2Pj4yXXwwKSl7QT1iMFtjWyhjW3I+PjJdfDApKzM2Pj4yXSYx
MjddKHIpfDB9ZWxzZXtBPWNbbT4+Ml18MH1pZigoQXwwKT09LTEpe2NbdT4+Ml09MDt6PTA7YnJl
YWt9ZWxzZXt6PWNbdT4+Ml18MDticmVha319fXdoaWxlKDApO3I9KHp8MCk9PTA7bT1jW2I+PjJd
fDA7aWYoKG18MCk9PTApe0I9ejtDPTB9ZWxzZXt5PWNbbSsxMj4+Ml18MDtpZigoeXwwKT09KGNb
bSsxNj4+Ml18MCkpe0Q9YjBbY1soY1ttPj4yXXwwKSszNj4+Ml0mMTI3XShtKXwwfWVsc2V7RD1j
W3k+PjJdfDB9aWYoKER8MCk9PS0xKXtjW2I+PjJdPTA7RT0wfWVsc2V7RT1tfUI9Y1t1Pj4yXXww
O0M9RX1GPShDfDApPT0wO2lmKCEoKHJeRikmKHN8MCkhPTApKXticmVha31yPWNbQisxMj4+Ml18
MDtpZigocnwwKT09KGNbQisxNj4+Ml18MCkpe0c9YjBbY1soY1tCPj4yXXwwKSszNj4+Ml0mMTI3
XShCKXwwfWVsc2V7Rz1jW3I+PjJdfDB9aWYoayl7SD1HfWVsc2V7SD1iX1tjWyhjW2U+PjJdfDAp
KzI4Pj4yXSYzMV0oaCxHKXwwfWRve2lmKG4pe0k9eDtKPXN9ZWxzZXtyPXQrMXwwO0wyNDk6ZG97
aWYoayl7bT1zO3k9eDtvPXA7dz0wO3Y9Zjt3aGlsZSgxKXtkb3tpZigoYVtvXXwwKT09MSl7Sz12
O2lmKChhW0tdJjEpPT0wKXtMPXYrNHwwfWVsc2V7TD1jW3YrOD4+Ml18MH1pZigoSHwwKSE9KGNb
TCsodDw8Mik+PjJdfDApKXthW29dPTA7TT13O049eTtPPW0tMXwwO2JyZWFrfVA9ZFtLXXwwO2lm
KChQJjF8MCk9PTApe1E9UD4+PjF9ZWxzZXtRPWNbdis0Pj4yXXwwfWlmKChRfDApIT0ocnwwKSl7
TT0xO049eTtPPW07YnJlYWt9YVtvXT0yO009MTtOPXkrMXwwO089bS0xfDB9ZWxzZXtNPXc7Tj15
O089bX19d2hpbGUoMCk7UD12KzEyfDA7aWYoKFB8MCk9PShnfDApKXtSPU87Uz1OO1Q9TTticmVh
ayBMMjQ5fW09Tzt5PU47bz1vKzF8MDt3PU07dj1QfX1lbHNle3Y9czt3PXg7bz1wO3k9MDttPWY7
d2hpbGUoMSl7ZG97aWYoKGFbb118MCk9PTEpe1A9bTtpZigoYVtQXSYxKT09MCl7VT1tKzR8MH1l
bHNle1U9Y1ttKzg+PjJdfDB9aWYoKEh8MCkhPShiX1tjWyhjW2U+PjJdfDApKzI4Pj4yXSYzMV0o
aCxjW1UrKHQ8PDIpPj4yXXwwKXwwKSl7YVtvXT0wO1Y9eTtXPXc7WD12LTF8MDticmVha31LPWRb
UF18MDtpZigoSyYxfDApPT0wKXtZPUs+Pj4xfWVsc2V7WT1jW20rND4+Ml18MH1pZigoWXwwKSE9
KHJ8MCkpe1Y9MTtXPXc7WD12O2JyZWFrfWFbb109MjtWPTE7Vz13KzF8MDtYPXYtMXwwfWVsc2V7
Vj15O1c9dztYPXZ9fXdoaWxlKDApO0s9bSsxMnwwO2lmKChLfDApPT0oZ3wwKSl7Uj1YO1M9VztU
PVY7YnJlYWsgTDI0OX12PVg7dz1XO289bysxfDA7eT1WO209S319fXdoaWxlKDApO2lmKCFUKXtJ
PVM7Sj1SO2JyZWFrfXI9Y1t1Pj4yXXwwO209cisxMnwwO3k9Y1ttPj4yXXwwO2lmKCh5fDApPT0o
Y1tyKzE2Pj4yXXwwKSl7bz1jWyhjW3I+PjJdfDApKzQwPj4yXXwwO2IwW28mMTI3XShyKXwwfWVs
c2V7Y1ttPj4yXT15KzR9aWYoKFMrUnwwKT4+PjA8MnxuKXtJPVM7Sj1SO2JyZWFrfXk9dCsxfDA7
bT1TO3I9cDtvPWY7d2hpbGUoMSl7ZG97aWYoKGFbcl18MCk9PTIpe3c9ZFtvXXwwO2lmKCh3JjF8
MCk9PTApe1o9dz4+PjF9ZWxzZXtaPWNbbys0Pj4yXXwwfWlmKChafDApPT0oeXwwKSl7Xz1tO2Jy
ZWFrfWFbcl09MDtfPW0tMXwwfWVsc2V7Xz1tfX13aGlsZSgwKTt3PW8rMTJ8MDtpZigod3wwKT09
KGd8MCkpe0k9XztKPVI7YnJlYWt9ZWxzZXttPV87cj1yKzF8MDtvPXd9fX19d2hpbGUoMCk7dD10
KzF8MDt4PUk7cz1KfWRve2lmKChCfDApPT0wKXskPTF9ZWxzZXtKPWNbQisxMj4+Ml18MDtpZigo
SnwwKT09KGNbQisxNj4+Ml18MCkpe2FhPWIwW2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8
MH1lbHNle2FhPWNbSj4+Ml18MH1pZigoYWF8MCk9PS0xKXtjW3U+PjJdPTA7JD0xO2JyZWFrfWVs
c2V7JD0oY1t1Pj4yXXwwKT09MDticmVha319fXdoaWxlKDApO2Rve2lmKEYpe2FiPTI2NH1lbHNl
e3U9Y1tDKzEyPj4yXXwwO2lmKCh1fDApPT0oY1tDKzE2Pj4yXXwwKSl7YWM9YjBbY1soY1tDPj4y
XXwwKSszNj4+Ml0mMTI3XShDKXwwfWVsc2V7YWM9Y1t1Pj4yXXwwfWlmKChhY3wwKT09LTEpe2Nb
Yj4+Ml09MDthYj0yNjQ7YnJlYWt9ZWxzZXtpZigkXihDfDApPT0wKXticmVha31lbHNle2FiPTI2
NjticmVha319fX13aGlsZSgwKTtpZigoYWJ8MCk9PTI2NCl7aWYoJCl7YWI9MjY2fX1pZigoYWJ8
MCk9PTI2Nil7Y1tqPj4yXT1jW2o+PjJdfDJ9TDMzMDpkb3tpZihuKXthYj0yNzF9ZWxzZXskPWY7
Qz1wO3doaWxlKDEpe2lmKChhW0NdfDApPT0yKXthZD0kO2JyZWFrIEwzMzB9Yj0kKzEyfDA7aWYo
KGJ8MCk9PShnfDApKXthYj0yNzE7YnJlYWsgTDMzMH0kPWI7Qz1DKzF8MH19fXdoaWxlKDApO2lm
KChhYnwwKT09MjcxKXtjW2o+PjJdPWNbaj4+Ml18NDthZD1nfWlmKChxfDApPT0wKXtpPWw7cmV0
dXJuIGFkfDB9a0socSk7aT1sO3JldHVybiBhZHwwfWZ1bmN0aW9uIGZUKGIsZCxlLGYsZyxoLGop
e2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09
MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0w
O2s9aTtpPWkrMTEyfDA7bD1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1tsPj4y
XTtsPWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9a3wwO209aysx
NnwwO249ayszMnwwO289ays0MHwwO3A9ays0OHwwO3E9ays1NnwwO3I9ays2NHwwO3M9ays3Mnww
O3Q9ays4MHwwO3U9aysxMDR8MDtpZigoY1tnKzQ+PjJdJjF8MCk9PTApe2Nbbj4+Ml09LTE7dj1j
WyhjW2Q+PjJdfDApKzE2Pj4yXXwwO3c9ZXwwO2NbcD4+Ml09Y1t3Pj4yXTtjW3E+PjJdPWNbZj4+
Ml07YlhbdiYxMjddKG8sZCxwLHEsZyxoLG4pO3E9Y1tvPj4yXXwwO2Nbdz4+Ml09cTtzd2l0Y2go
Y1tuPj4yXXwwKXtjYXNlIDE6e2Fbal09MTticmVha307Y2FzZSAwOnthW2pdPTA7YnJlYWt9O2Rl
ZmF1bHQ6e2Fbal09MTtjW2g+PjJdPTR9fWNbYj4+Ml09cTtpPWs7cmV0dXJufWVqKHIsZyk7cT1y
fDA7cj1jW3E+PjJdfDA7aWYoKGNbMzkyMl18MCkhPS0xKXtjW20+PjJdPTE1Njg4O2NbbSs0Pj4y
XT0xMjtjW20rOD4+Ml09MDtkVygxNTY4OCxtLDk2KX1tPShjWzM5MjNdfDApLTF8MDtuPWNbcis4
Pj4yXXwwO2Rve2lmKChjW3IrMTI+PjJdfDApLW4+PjI+Pj4wPm0+Pj4wKXt3PWNbbisobTw8Mik+
PjJdfDA7aWYoKHd8MCk9PTApe2JyZWFrfW89dzt3PWNbcT4+Ml18MDtkeih3KXwwO2VqKHMsZyk7
dz1zfDA7cD1jW3c+PjJdfDA7aWYoKGNbMzgyNl18MCkhPS0xKXtjW2w+PjJdPTE1MzA0O2NbbCs0
Pj4yXT0xMjtjW2wrOD4+Ml09MDtkVygxNTMwNCxsLDk2KX1kPShjWzM4MjddfDApLTF8MDt2PWNb
cCs4Pj4yXXwwO2Rve2lmKChjW3ArMTI+PjJdfDApLXY+PjI+Pj4wPmQ+Pj4wKXt4PWNbdisoZDw8
Mik+PjJdfDA7aWYoKHh8MCk9PTApe2JyZWFrfXk9eDt6PWNbdz4+Ml18MDtkeih6KXwwO3o9dHww
O0E9eDtiWltjWyhjW0E+PjJdfDApKzI0Pj4yXSYxMjddKHoseSk7YlpbY1soY1tBPj4yXXwwKSsy
OD4+Ml0mMTI3XSh0KzEyfDAseSk7Y1t1Pj4yXT1jW2Y+PjJdO2Fbal09KGZTKGUsdSx6LHQrMjR8
MCxvLGgsMSl8MCk9PSh6fDApfDA7Y1tiPj4yXT1jW2U+PjJdO2VlKHQrMTJ8MCk7ZWUodHwwKTtp
PWs7cmV0dXJufX13aGlsZSgwKTtvPWJPKDQpfDA7a3Eobyk7Ymwob3wwLDgxNzYsMTM0KX19d2hp
bGUoMCk7az1iTyg0KXwwO2txKGspO2JsKGt8MCw4MTc2LDEzNCl9ZnVuY3Rpb24gZlUoYixlLGYs
ZyxoLGksaixrLGwsbSl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7aj1qfDA7
az1rfDA7bD1sfDA7bT1tfDA7dmFyIG49MCxvPTAscD0wLHE9MCxyPTAscz0wO249Y1tnPj4yXXww
O289KG58MCk9PShmfDApO2Rve2lmKG8pe3A9KGNbbSs5Nj4+Ml18MCk9PShifDApO2lmKCFwKXtp
ZigoY1ttKzEwMD4+Ml18MCkhPShifDApKXticmVha319Y1tnPj4yXT1mKzE7YVtmXT1wPzQzOjQ1
O2NbaD4+Ml09MDtxPTA7cmV0dXJuIHF8MH19d2hpbGUoMCk7cD1kW2pdfDA7aWYoKHAmMXwwKT09
MCl7cj1wPj4+MX1lbHNle3I9Y1tqKzQ+PjJdfDB9aWYoKHJ8MCkhPTAmKGJ8MCk9PShpfDApKXtp
PWNbbD4+Ml18MDtpZigoaS1rfDApPj0xNjApe3E9MDtyZXR1cm4gcXwwfWs9Y1toPj4yXXwwO2Nb
bD4+Ml09aSs0O2NbaT4+Ml09aztjW2g+PjJdPTA7cT0wO3JldHVybiBxfDB9az1tKzEwNHwwO2k9
bTt3aGlsZSgxKXtpZigoaXwwKT09KGt8MCkpe3M9azticmVha31pZigoY1tpPj4yXXwwKT09KGJ8
MCkpe3M9aTticmVha31lbHNle2k9aSs0fDB9fWk9cy1tfDA7bT1pPj4yO2lmKChpfDApPjkyKXtx
PS0xO3JldHVybiBxfDB9TDM5ODpkb3tzd2l0Y2goZXwwKXtjYXNlIDg6Y2FzZSAxMDp7aWYoKG18
MCk8KGV8MCkpe2JyZWFrIEwzOTh9ZWxzZXtxPS0xfXJldHVybiBxfDB9O2Nhc2UgMTY6e2lmKChp
fDApPDg4KXticmVhayBMMzk4fWlmKG8pe3E9LTE7cmV0dXJuIHF8MH1pZigobi1mfDApPj0zKXtx
PS0xO3JldHVybiBxfDB9aWYoKGFbbi0xfDBdfDApIT00OCl7cT0tMTtyZXR1cm4gcXwwfWNbaD4+
Ml09MDtzPWFbOTc0NCttfDBdfDA7Yj1jW2c+PjJdfDA7Y1tnPj4yXT1iKzE7YVtiXT1zO3E9MDty
ZXR1cm4gcXwwfTtkZWZhdWx0Ont9fX13aGlsZSgwKTtmPWFbOTc0NCttfDBdfDA7Y1tnPj4yXT1u
KzE7YVtuXT1mO2NbaD4+Ml09KGNbaD4+Ml18MCkrMTtxPTA7cmV0dXJuIHF8MH1mdW5jdGlvbiBm
VihiLGUsZixnLGgsaixrKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8
MDt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0w
LHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAs
TT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wO2U9aTtp
PWkrMTQ0fDA7bD1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1tsPj4yXTtsPWc7
Zz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tnPj4yXT1jW2w+PjJdO2w9ZSsxMDR8MDttPWUrMTEy
fDA7bj1lKzEyOHwwO289bjtwPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztxPWk7aT1pKzE2MHwwO3I9
aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3M9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3N3aXRjaChjW2gr
ND4+Ml0mNzR8MCl7Y2FzZSA4Ont0PTE2O2JyZWFrfTtjYXNlIDA6e3Q9MDticmVha307Y2FzZSA2
NDp7dD04O2JyZWFrfTtkZWZhdWx0Ont0PTEwfX11PWV8MDtmVyhtLGgsdSxsKTtrJChvfDAsMCwx
Mik7aD1uO2RSKG4sMTAsMCk7aWYoKGFbb10mMSk9PTApe3Y9aCsxfDA7dz12O3g9djt5PW4rOHww
fWVsc2V7dj1uKzh8MDt3PWNbdj4+Ml18MDt4PWgrMXwwO3k9dn1jW3A+PjJdPXc7dj1xfDA7Y1ty
Pj4yXT12O2Nbcz4+Ml09MDtoPWZ8MDtmPWd8MDtnPW58MDt6PW4rNHwwO0E9Y1tsPj4yXXwwO2w9
dzt3PWNbaD4+Ml18MDtMNDI2OndoaWxlKDEpe2Rve2lmKCh3fDApPT0wKXtCPTB9ZWxzZXtDPWNb
dysxMj4+Ml18MDtpZigoQ3wwKT09KGNbdysxNj4+Ml18MCkpe0Q9YjBbY1soY1t3Pj4yXXwwKSsz
Nj4+Ml0mMTI3XSh3KXwwfWVsc2V7RD1jW0M+PjJdfDB9aWYoKER8MCkhPS0xKXtCPXc7YnJlYWt9
Y1toPj4yXT0wO0I9MH19d2hpbGUoMCk7RT0oQnwwKT09MDtDPWNbZj4+Ml18MDtkb3tpZigoQ3ww
KT09MCl7Rj0zNjN9ZWxzZXtHPWNbQysxMj4+Ml18MDtpZigoR3wwKT09KGNbQysxNj4+Ml18MCkp
e0g9YjBbY1soY1tDPj4yXXwwKSszNj4+Ml0mMTI3XShDKXwwfWVsc2V7SD1jW0c+PjJdfDB9aWYo
KEh8MCk9PS0xKXtjW2Y+PjJdPTA7Rj0zNjM7YnJlYWt9ZWxzZXtHPShDfDApPT0wO2lmKEVeRyl7
ST1DO0o9RzticmVha31lbHNle0s9bDtMPUM7TT1HO2JyZWFrIEw0MjZ9fX19d2hpbGUoMCk7aWYo
KEZ8MCk9PTM2Myl7Rj0wO2lmKEUpe0s9bDtMPTA7TT0xO2JyZWFrfWVsc2V7ST0wO0o9MX19Qz1k
W29dfDA7Rz0oQyYxfDApPT0wO2lmKCgoY1twPj4yXXwwKS1sfDApPT0oKEc/Qz4+PjE6Y1t6Pj4y
XXwwKXwwKSl7aWYoRyl7Tj1DPj4+MTtPPUM+Pj4xfWVsc2V7Qz1jW3o+PjJdfDA7Tj1DO089Q31k
UihuLE48PDEsMCk7aWYoKGFbb10mMSk9PTApe1A9MTB9ZWxzZXtQPShjW2c+PjJdJi0yKS0xfDB9
ZFIobixQLDApO2lmKChhW29dJjEpPT0wKXtRPXh9ZWxzZXtRPWNbeT4+Ml18MH1jW3A+PjJdPVEr
TztSPVF9ZWxzZXtSPWx9Qz1CKzEyfDA7Rz1jW0M+PjJdfDA7Uz1CKzE2fDA7aWYoKEd8MCk9PShj
W1M+PjJdfDApKXtUPWIwW2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MH1lbHNle1Q9Y1tH
Pj4yXXwwfWlmKChmVShULHQsUixwLHMsQSxtLHYscix1KXwwKSE9MCl7Sz1SO0w9STtNPUo7YnJl
YWt9Rz1jW0M+PjJdfDA7aWYoKEd8MCk9PShjW1M+PjJdfDApKXtTPWNbKGNbQj4+Ml18MCkrNDA+
PjJdfDA7YjBbUyYxMjddKEIpfDA7bD1SO3c9Qjtjb250aW51ZX1lbHNle2NbQz4+Ml09Rys0O2w9
Ujt3PUI7Y29udGludWV9fXc9ZFttXXwwO2lmKCh3JjF8MCk9PTApe1U9dz4+PjF9ZWxzZXtVPWNb
bSs0Pj4yXXwwfWRve2lmKChVfDApIT0wKXt3PWNbcj4+Ml18MDtpZigody1xfDApPj0xNjApe2Jy
ZWFrfVI9Y1tzPj4yXXwwO2Nbcj4+Ml09dys0O2Nbdz4+Ml09Un19d2hpbGUoMCk7Y1trPj4yXT1m
dShLLGNbcD4+Ml18MCxqLHQpfDA7ZnQobSx2LGNbcj4+Ml18MCxqKTtkb3tpZihFKXtWPTB9ZWxz
ZXtyPWNbQisxMj4+Ml18MDtpZigocnwwKT09KGNbQisxNj4+Ml18MCkpe1c9YjBbY1soY1tCPj4y
XXwwKSszNj4+Ml0mMTI3XShCKXwwfWVsc2V7Vz1jW3I+PjJdfDB9aWYoKFd8MCkhPS0xKXtWPUI7
YnJlYWt9Y1toPj4yXT0wO1Y9MH19d2hpbGUoMCk7aD0oVnwwKT09MDtkb3tpZihNKXtGPTQwNX1l
bHNle0I9Y1tMKzEyPj4yXXwwO2lmKChCfDApPT0oY1tMKzE2Pj4yXXwwKSl7WD1iMFtjWyhjW0w+
PjJdfDApKzM2Pj4yXSYxMjddKEwpfDB9ZWxzZXtYPWNbQj4+Ml18MH1pZigoWHwwKT09LTEpe2Nb
Zj4+Ml09MDtGPTQwNTticmVha31pZighKGheKEx8MCk9PTApKXticmVha31ZPWJ8MDtjW1k+PjJd
PVY7ZFAobik7ZFAobSk7aT1lO3JldHVybn19d2hpbGUoMCk7ZG97aWYoKEZ8MCk9PTQwNSl7aWYo
aCl7YnJlYWt9WT1ifDA7Y1tZPj4yXT1WO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59fXdoaWxlKDAp
O2Nbaj4+Ml09Y1tqPj4yXXwyO1k9YnwwO2NbWT4+Ml09VjtkUChuKTtkUChtKTtpPWU7cmV0dXJu
fWZ1bmN0aW9uIGZXKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0w
LGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTA7Zj1pO2k9aSs0MHwwO2c9ZnwwO2g9Zisx
NnwwO2o9ZiszMnwwO2VqKGosYik7Yj1qfDA7aj1jW2I+PjJdfDA7aWYoKGNbMzkyMl18MCkhPS0x
KXtjW2g+PjJdPTE1Njg4O2NbaCs0Pj4yXT0xMjtjW2grOD4+Ml09MDtkVygxNTY4OCxoLDk2KX1o
PShjWzM5MjNdfDApLTF8MDtrPWNbais4Pj4yXXwwO2Rve2lmKChjW2orMTI+PjJdfDApLWs+PjI+
Pj4wPmg+Pj4wKXtsPWNbaysoaDw8Mik+PjJdfDA7aWYoKGx8MCk9PTApe2JyZWFrfW09bDtuPWNb
KGNbbD4+Ml18MCkrNDg+PjJdfDA7Y2FbbiYxNV0obSw5NzQ0LDk3NzAsZCl8MDttPWNbYj4+Ml18
MDtpZigoY1szODI2XXwwKSE9LTEpe2NbZz4+Ml09MTUzMDQ7Y1tnKzQ+PjJdPTEyO2NbZys4Pj4y
XT0wO2RXKDE1MzA0LGcsOTYpfW49KGNbMzgyN118MCktMXwwO2w9Y1ttKzg+PjJdfDA7ZG97aWYo
KGNbbSsxMj4+Ml18MCktbD4+Mj4+PjA+bj4+PjApe289Y1tsKyhuPDwyKT4+Ml18MDtpZigob3ww
KT09MCl7YnJlYWt9cD1vO2NbZT4+Ml09YjBbY1soY1tvPj4yXXwwKSsxNj4+Ml0mMTI3XShwKXww
O2JaW2NbKGNbbz4+Ml18MCkrMjA+PjJdJjEyN10oYSxwKTtwPWNbYj4+Ml18MDtkeihwKXwwO2k9
ZjtyZXR1cm59fXdoaWxlKDApO249Yk8oNCl8MDtrcShuKTtibChufDAsODE3NiwxMzQpfX13aGls
ZSgwKTtmPWJPKDQpfDA7a3EoZik7YmwoZnwwLDgxNzYsMTM0KX1mdW5jdGlvbiBmWChiLGUsZixn
LGgsaixrKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0w
LG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAs
QT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEw9MCxNPTAsTj0wLE89MCxQ
PTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9MCxZPTAsWj0wO2U9aTtpPWkrMTQ0fDA7
bD1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1tsPj4yXTtsPWc7Zz1pO2k9aSs0
fDA7aT1pKzc+PjM8PDM7Y1tnPj4yXT1jW2w+PjJdO2w9ZSsxMDR8MDttPWUrMTEyfDA7bj1lKzEy
OHwwO289bjtwPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztxPWk7aT1pKzE2MHwwO3I9aTtpPWkrNHww
O2k9aSs3Pj4zPDwzO3M9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3N3aXRjaChjW2grND4+Ml0mNzR8
MCl7Y2FzZSA4Ont0PTE2O2JyZWFrfTtjYXNlIDA6e3Q9MDticmVha307Y2FzZSA2NDp7dD04O2Jy
ZWFrfTtkZWZhdWx0Ont0PTEwfX11PWV8MDtmVyhtLGgsdSxsKTtrJChvfDAsMCwxMik7aD1uO2RS
KG4sMTAsMCk7aWYoKGFbb10mMSk9PTApe3Y9aCsxfDA7dz12O3g9djt5PW4rOHwwfWVsc2V7dj1u
Kzh8MDt3PWNbdj4+Ml18MDt4PWgrMXwwO3k9dn1jW3A+PjJdPXc7dj1xfDA7Y1tyPj4yXT12O2Nb
cz4+Ml09MDtoPWZ8MDtmPWd8MDtnPW58MDt6PW4rNHwwO0E9Y1tsPj4yXXwwO2w9dzt3PWNbaD4+
Ml18MDtMNTM1OndoaWxlKDEpe2Rve2lmKCh3fDApPT0wKXtCPTB9ZWxzZXtDPWNbdysxMj4+Ml18
MDtpZigoQ3wwKT09KGNbdysxNj4+Ml18MCkpe0Q9YjBbY1soY1t3Pj4yXXwwKSszNj4+Ml0mMTI3
XSh3KXwwfWVsc2V7RD1jW0M+PjJdfDB9aWYoKER8MCkhPS0xKXtCPXc7YnJlYWt9Y1toPj4yXT0w
O0I9MH19d2hpbGUoMCk7RT0oQnwwKT09MDtDPWNbZj4+Ml18MDtkb3tpZigoQ3wwKT09MCl7Rj00
NTB9ZWxzZXtHPWNbQysxMj4+Ml18MDtpZigoR3wwKT09KGNbQysxNj4+Ml18MCkpe0g9YjBbY1so
Y1tDPj4yXXwwKSszNj4+Ml0mMTI3XShDKXwwfWVsc2V7SD1jW0c+PjJdfDB9aWYoKEh8MCk9PS0x
KXtjW2Y+PjJdPTA7Rj00NTA7YnJlYWt9ZWxzZXtHPShDfDApPT0wO2lmKEVeRyl7ST1DO0o9Rzti
cmVha31lbHNle0w9bDtNPUM7Tj1HO2JyZWFrIEw1MzV9fX19d2hpbGUoMCk7aWYoKEZ8MCk9PTQ1
MCl7Rj0wO2lmKEUpe0w9bDtNPTA7Tj0xO2JyZWFrfWVsc2V7ST0wO0o9MX19Qz1kW29dfDA7Rz0o
QyYxfDApPT0wO2lmKCgoY1twPj4yXXwwKS1sfDApPT0oKEc/Qz4+PjE6Y1t6Pj4yXXwwKXwwKSl7
aWYoRyl7Tz1DPj4+MTtQPUM+Pj4xfWVsc2V7Qz1jW3o+PjJdfDA7Tz1DO1A9Q31kUihuLE88PDEs
MCk7aWYoKGFbb10mMSk9PTApe1E9MTB9ZWxzZXtRPShjW2c+PjJdJi0yKS0xfDB9ZFIobixRLDAp
O2lmKChhW29dJjEpPT0wKXtSPXh9ZWxzZXtSPWNbeT4+Ml18MH1jW3A+PjJdPVIrUDtTPVJ9ZWxz
ZXtTPWx9Qz1CKzEyfDA7Rz1jW0M+PjJdfDA7VD1CKzE2fDA7aWYoKEd8MCk9PShjW1Q+PjJdfDAp
KXtVPWIwW2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MH1lbHNle1U9Y1tHPj4yXXwwfWlm
KChmVShVLHQsUyxwLHMsQSxtLHYscix1KXwwKSE9MCl7TD1TO009STtOPUo7YnJlYWt9Rz1jW0M+
PjJdfDA7aWYoKEd8MCk9PShjW1Q+PjJdfDApKXtUPWNbKGNbQj4+Ml18MCkrNDA+PjJdfDA7YjBb
VCYxMjddKEIpfDA7bD1TO3c9Qjtjb250aW51ZX1lbHNle2NbQz4+Ml09Rys0O2w9Uzt3PUI7Y29u
dGludWV9fXc9ZFttXXwwO2lmKCh3JjF8MCk9PTApe1Y9dz4+PjF9ZWxzZXtWPWNbbSs0Pj4yXXww
fWRve2lmKChWfDApIT0wKXt3PWNbcj4+Ml18MDtpZigody1xfDApPj0xNjApe2JyZWFrfVM9Y1tz
Pj4yXXwwO2Nbcj4+Ml09dys0O2Nbdz4+Ml09U319d2hpbGUoMCk7cz1mdyhMLGNbcD4+Ml18MCxq
LHQpfDA7Y1trPj4yXT1zO2Nbays0Pj4yXT1LO2Z0KG0sdixjW3I+PjJdfDAsaik7ZG97aWYoRSl7
Vz0wfWVsc2V7cj1jW0IrMTI+PjJdfDA7aWYoKHJ8MCk9PShjW0IrMTY+PjJdfDApKXtYPWIwW2Nb
KGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MH1lbHNle1g9Y1tyPj4yXXwwfWlmKChYfDApIT0t
MSl7Vz1CO2JyZWFrfWNbaD4+Ml09MDtXPTB9fXdoaWxlKDApO2g9KFd8MCk9PTA7ZG97aWYoTil7
Rj00OTJ9ZWxzZXtCPWNbTSsxMj4+Ml18MDtpZigoQnwwKT09KGNbTSsxNj4+Ml18MCkpe1k9YjBb
Y1soY1tNPj4yXXwwKSszNj4+Ml0mMTI3XShNKXwwfWVsc2V7WT1jW0I+PjJdfDB9aWYoKFl8MCk9
PS0xKXtjW2Y+PjJdPTA7Rj00OTI7YnJlYWt9aWYoIShoXihNfDApPT0wKSl7YnJlYWt9Wj1ifDA7
Y1taPj4yXT1XO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lmKChGfDApPT00
OTIpe2lmKGgpe2JyZWFrfVo9YnwwO2NbWj4+Ml09VztkUChuKTtkUChtKTtpPWU7cmV0dXJufX13
aGlsZSgwKTtjW2o+PjJdPWNbaj4+Ml18MjtaPWJ8MDtjW1o+PjJdPVc7ZFAobik7ZFAobSk7aT1l
O3JldHVybn1mdW5jdGlvbiBmWShlLGYsZyxoLGosayxsKXtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8
MDtqPWp8MDtrPWt8MDtsPWx8MDt2YXIgbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1
PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9
MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0w
LFg9MCxZPTAsWj0wO2Y9aTtpPWkrMTQ0fDA7bT1nO2c9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2Nb
Zz4+Ml09Y1ttPj4yXTttPWg7aD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1toPj4yXT1jW20+PjJd
O209ZisxMDR8MDtuPWYrMTEyfDA7bz1mKzEyOHwwO3A9bztxPWk7aT1pKzR8MDtpPWkrNz4+Mzw8
MztyPWk7aT1pKzE2MHwwO3M9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3Q9aTtpPWkrNHwwO2k9aSs3
Pj4zPDwzO3N3aXRjaChjW2orND4+Ml0mNzR8MCl7Y2FzZSA4Ont1PTE2O2JyZWFrfTtjYXNlIDY0
Ont1PTg7YnJlYWt9O2Nhc2UgMDp7dT0wO2JyZWFrfTtkZWZhdWx0Ont1PTEwfX12PWZ8MDtmVyhu
LGosdixtKTtrJChwfDAsMCwxMik7aj1vO2RSKG8sMTAsMCk7aWYoKGFbcF0mMSk9PTApe3c9aisx
fDA7eD13O3k9dzt6PW8rOHwwfWVsc2V7dz1vKzh8MDt4PWNbdz4+Ml18MDt5PWorMXwwO3o9d31j
W3E+PjJdPXg7dz1yfDA7Y1tzPj4yXT13O2NbdD4+Ml09MDtqPWd8MDtnPWh8MDtoPW98MDtBPW8r
NHwwO0I9Y1ttPj4yXXwwO209eDt4PWNbaj4+Ml18MDtMNjI0OndoaWxlKDEpe2Rve2lmKCh4fDAp
PT0wKXtDPTB9ZWxzZXtEPWNbeCsxMj4+Ml18MDtpZigoRHwwKT09KGNbeCsxNj4+Ml18MCkpe0U9
YjBbY1soY1t4Pj4yXXwwKSszNj4+Ml0mMTI3XSh4KXwwfWVsc2V7RT1jW0Q+PjJdfDB9aWYoKEV8
MCkhPS0xKXtDPXg7YnJlYWt9Y1tqPj4yXT0wO0M9MH19d2hpbGUoMCk7Rj0oQ3wwKT09MDtEPWNb
Zz4+Ml18MDtkb3tpZigoRHwwKT09MCl7Rz01MjB9ZWxzZXtIPWNbRCsxMj4+Ml18MDtpZigoSHww
KT09KGNbRCsxNj4+Ml18MCkpe0k9YjBbY1soY1tEPj4yXXwwKSszNj4+Ml0mMTI3XShEKXwwfWVs
c2V7ST1jW0g+PjJdfDB9aWYoKEl8MCk9PS0xKXtjW2c+PjJdPTA7Rz01MjA7YnJlYWt9ZWxzZXtI
PShEfDApPT0wO2lmKEZeSCl7Sj1EO0s9SDticmVha31lbHNle0w9bTtNPUQ7Tj1IO2JyZWFrIEw2
MjR9fX19d2hpbGUoMCk7aWYoKEd8MCk9PTUyMCl7Rz0wO2lmKEYpe0w9bTtNPTA7Tj0xO2JyZWFr
fWVsc2V7Sj0wO0s9MX19RD1kW3BdfDA7SD0oRCYxfDApPT0wO2lmKCgoY1txPj4yXXwwKS1tfDAp
PT0oKEg/RD4+PjE6Y1tBPj4yXXwwKXwwKSl7aWYoSCl7Tz1EPj4+MTtQPUQ+Pj4xfWVsc2V7RD1j
W0E+PjJdfDA7Tz1EO1A9RH1kUihvLE88PDEsMCk7aWYoKGFbcF0mMSk9PTApe1E9MTB9ZWxzZXtR
PShjW2g+PjJdJi0yKS0xfDB9ZFIobyxRLDApO2lmKChhW3BdJjEpPT0wKXtSPXl9ZWxzZXtSPWNb
ej4+Ml18MH1jW3E+PjJdPVIrUDtTPVJ9ZWxzZXtTPW19RD1DKzEyfDA7SD1jW0Q+PjJdfDA7VD1D
KzE2fDA7aWYoKEh8MCk9PShjW1Q+PjJdfDApKXtVPWIwW2NbKGNbQz4+Ml18MCkrMzY+PjJdJjEy
N10oQyl8MH1lbHNle1U9Y1tIPj4yXXwwfWlmKChmVShVLHUsUyxxLHQsQixuLHcscyx2KXwwKSE9
MCl7TD1TO009SjtOPUs7YnJlYWt9SD1jW0Q+PjJdfDA7aWYoKEh8MCk9PShjW1Q+PjJdfDApKXtU
PWNbKGNbQz4+Ml18MCkrNDA+PjJdfDA7YjBbVCYxMjddKEMpfDA7bT1TO3g9Qztjb250aW51ZX1l
bHNle2NbRD4+Ml09SCs0O209Uzt4PUM7Y29udGludWV9fXg9ZFtuXXwwO2lmKCh4JjF8MCk9PTAp
e1Y9eD4+PjF9ZWxzZXtWPWNbbis0Pj4yXXwwfWRve2lmKChWfDApIT0wKXt4PWNbcz4+Ml18MDtp
ZigoeC1yfDApPj0xNjApe2JyZWFrfVM9Y1t0Pj4yXXwwO2Nbcz4+Ml09eCs0O2NbeD4+Ml09U319
d2hpbGUoMCk7YltsPj4xXT1meihMLGNbcT4+Ml18MCxrLHUpfDA7ZnQobix3LGNbcz4+Ml18MCxr
KTtkb3tpZihGKXtXPTB9ZWxzZXtzPWNbQysxMj4+Ml18MDtpZigoc3wwKT09KGNbQysxNj4+Ml18
MCkpe1g9YjBbY1soY1tDPj4yXXwwKSszNj4+Ml0mMTI3XShDKXwwfWVsc2V7WD1jW3M+PjJdfDB9
aWYoKFh8MCkhPS0xKXtXPUM7YnJlYWt9Y1tqPj4yXT0wO1c9MH19d2hpbGUoMCk7aj0oV3wwKT09
MDtkb3tpZihOKXtHPTU2Mn1lbHNle0M9Y1tNKzEyPj4yXXwwO2lmKChDfDApPT0oY1tNKzE2Pj4y
XXwwKSl7WT1iMFtjWyhjW00+PjJdfDApKzM2Pj4yXSYxMjddKE0pfDB9ZWxzZXtZPWNbQz4+Ml18
MH1pZigoWXwwKT09LTEpe2NbZz4+Ml09MDtHPTU2MjticmVha31pZighKGpeKE18MCk9PTApKXti
cmVha31aPWV8MDtjW1o+PjJdPVc7ZFAobyk7ZFAobik7aT1mO3JldHVybn19d2hpbGUoMCk7ZG97
aWYoKEd8MCk9PTU2Mil7aWYoail7YnJlYWt9Wj1lfDA7Y1taPj4yXT1XO2RQKG8pO2RQKG4pO2k9
ZjtyZXR1cm59fXdoaWxlKDApO2Nbaz4+Ml09Y1trPj4yXXwyO1o9ZXwwO2NbWj4+Ml09VztkUChv
KTtkUChuKTtpPWY7cmV0dXJufWZ1bmN0aW9uIGZaKGIsZSxmLGcsaCxqLGspe2I9YnwwO2U9ZXww
O2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0wLG49MCxvPTAscD0wLHE9
MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0w
LEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAs
VD0wLFU9MCxWPTAsVz0wLFg9MCxZPTA7ZT1pO2k9aSsxNDR8MDtsPWY7Zj1pO2k9aSs0fDA7aT1p
Kzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9ZztnPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2c+
PjJdPWNbbD4+Ml07bD1lKzEwNHwwO209ZSsxMTJ8MDtuPWUrMTI4fDA7bz1uO3A9aTtpPWkrNHww
O2k9aSs3Pj4zPDwzO3E9aTtpPWkrMTYwfDA7cj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7cz1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7c3dpdGNoKGNbaCs0Pj4yXSY3NHwwKXtjYXNlIDg6e3Q9MTY7YnJl
YWt9O2Nhc2UgMDp7dD0wO2JyZWFrfTtjYXNlIDY0Ont0PTg7YnJlYWt9O2RlZmF1bHQ6e3Q9MTB9
fXU9ZXwwO2ZXKG0saCx1LGwpO2skKG98MCwwLDEyKTtoPW47ZFIobiwxMCwwKTtpZigoYVtvXSYx
KT09MCl7dj1oKzF8MDt3PXY7eD12O3k9bis4fDB9ZWxzZXt2PW4rOHwwO3c9Y1t2Pj4yXXwwO3g9
aCsxfDA7eT12fWNbcD4+Ml09dzt2PXF8MDtjW3I+PjJdPXY7Y1tzPj4yXT0wO2g9ZnwwO2Y9Z3ww
O2c9bnwwO3o9bis0fDA7QT1jW2w+PjJdfDA7bD13O3c9Y1toPj4yXXwwO0w3MTM6d2hpbGUoMSl7
ZG97aWYoKHd8MCk9PTApe0I9MH1lbHNle0M9Y1t3KzEyPj4yXXwwO2lmKChDfDApPT0oY1t3KzE2
Pj4yXXwwKSl7RD1iMFtjWyhjW3c+PjJdfDApKzM2Pj4yXSYxMjddKHcpfDB9ZWxzZXtEPWNbQz4+
Ml18MH1pZigoRHwwKSE9LTEpe0I9dzticmVha31jW2g+PjJdPTA7Qj0wfX13aGlsZSgwKTtFPShC
fDApPT0wO0M9Y1tmPj4yXXwwO2Rve2lmKChDfDApPT0wKXtGPTU5MH1lbHNle0c9Y1tDKzEyPj4y
XXwwO2lmKChHfDApPT0oY1tDKzE2Pj4yXXwwKSl7SD1iMFtjWyhjW0M+PjJdfDApKzM2Pj4yXSYx
MjddKEMpfDB9ZWxzZXtIPWNbRz4+Ml18MH1pZigoSHwwKT09LTEpe2NbZj4+Ml09MDtGPTU5MDti
cmVha31lbHNle0c9KEN8MCk9PTA7aWYoRV5HKXtJPUM7Sj1HO2JyZWFrfWVsc2V7Sz1sO0w9QztN
PUc7YnJlYWsgTDcxM319fX13aGlsZSgwKTtpZigoRnwwKT09NTkwKXtGPTA7aWYoRSl7Sz1sO0w9
MDtNPTE7YnJlYWt9ZWxzZXtJPTA7Sj0xfX1DPWRbb118MDtHPShDJjF8MCk9PTA7aWYoKChjW3A+
PjJdfDApLWx8MCk9PSgoRz9DPj4+MTpjW3o+PjJdfDApfDApKXtpZihHKXtOPUM+Pj4xO089Qz4+
PjF9ZWxzZXtDPWNbej4+Ml18MDtOPUM7Tz1DfWRSKG4sTjw8MSwwKTtpZigoYVtvXSYxKT09MCl7
UD0xMH1lbHNle1A9KGNbZz4+Ml0mLTIpLTF8MH1kUihuLFAsMCk7aWYoKGFbb10mMSk9PTApe1E9
eH1lbHNle1E9Y1t5Pj4yXXwwfWNbcD4+Ml09UStPO1I9UX1lbHNle1I9bH1DPUIrMTJ8MDtHPWNb
Qz4+Ml18MDtTPUIrMTZ8MDtpZigoR3wwKT09KGNbUz4+Ml18MCkpe1Q9YjBbY1soY1tCPj4yXXww
KSszNj4+Ml0mMTI3XShCKXwwfWVsc2V7VD1jW0c+PjJdfDB9aWYoKGZVKFQsdCxSLHAscyxBLG0s
dixyLHUpfDApIT0wKXtLPVI7TD1JO009SjticmVha31HPWNbQz4+Ml18MDtpZigoR3wwKT09KGNb
Uz4+Ml18MCkpe1M9Y1soY1tCPj4yXXwwKSs0MD4+Ml18MDtiMFtTJjEyN10oQil8MDtsPVI7dz1C
O2NvbnRpbnVlfWVsc2V7Y1tDPj4yXT1HKzQ7bD1SO3c9Qjtjb250aW51ZX19dz1kW21dfDA7aWYo
KHcmMXwwKT09MCl7VT13Pj4+MX1lbHNle1U9Y1ttKzQ+PjJdfDB9ZG97aWYoKFV8MCkhPTApe3c9
Y1tyPj4yXXwwO2lmKCh3LXF8MCk+PTE2MCl7YnJlYWt9Uj1jW3M+PjJdfDA7Y1tyPj4yXT13KzQ7
Y1t3Pj4yXT1SfX13aGlsZSgwKTtjW2s+PjJdPWZCKEssY1twPj4yXXwwLGosdCl8MDtmdChtLHYs
Y1tyPj4yXXwwLGopO2Rve2lmKEUpe1Y9MH1lbHNle3I9Y1tCKzEyPj4yXXwwO2lmKChyfDApPT0o
Y1tCKzE2Pj4yXXwwKSl7Vz1iMFtjWyhjW0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDB9ZWxzZXtX
PWNbcj4+Ml18MH1pZigoV3wwKSE9LTEpe1Y9QjticmVha31jW2g+PjJdPTA7Vj0wfX13aGlsZSgw
KTtoPShWfDApPT0wO2Rve2lmKE0pe0Y9NjMyfWVsc2V7Qj1jW0wrMTI+PjJdfDA7aWYoKEJ8MCk9
PShjW0wrMTY+PjJdfDApKXtYPWIwW2NbKGNbTD4+Ml18MCkrMzY+PjJdJjEyN10oTCl8MH1lbHNl
e1g9Y1tCPj4yXXwwfWlmKChYfDApPT0tMSl7Y1tmPj4yXT0wO0Y9NjMyO2JyZWFrfWlmKCEoaF4o
THwwKT09MCkpe2JyZWFrfVk9YnwwO2NbWT4+Ml09VjtkUChuKTtkUChtKTtpPWU7cmV0dXJufX13
aGlsZSgwKTtkb3tpZigoRnwwKT09NjMyKXtpZihoKXticmVha31ZPWJ8MDtjW1k+PjJdPVY7ZFAo
bik7ZFAobSk7aT1lO3JldHVybn19d2hpbGUoMCk7Y1tqPj4yXT1jW2o+PjJdfDI7WT1ifDA7Y1tZ
Pj4yXT1WO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59ZnVuY3Rpb24gZl8oYixlLGYsZyxoLGosayl7
Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxtPTAsbj0w
LG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAs
Qz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxR
PTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wLFk9MDtlPWk7aT1pKzE0NHwwO2w9ZjtmPWk7
aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2Y+PjJdPWNbbD4+Ml07bD1nO2c9aTtpPWkrNHwwO2k9aSs3
Pj4zPDwzO2NbZz4+Ml09Y1tsPj4yXTtsPWUrMTA0fDA7bT1lKzExMnwwO249ZSsxMjh8MDtvPW47
cD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7cT1pO2k9aSsxNjB8MDtyPWk7aT1pKzR8MDtpPWkrNz4+
Mzw8MztzPWk7aT1pKzR8MDtpPWkrNz4+Mzw8Mztzd2l0Y2goY1toKzQ+PjJdJjc0fDApe2Nhc2Ug
ODp7dD0xNjticmVha307Y2FzZSA2NDp7dD04O2JyZWFrfTtjYXNlIDA6e3Q9MDticmVha307ZGVm
YXVsdDp7dD0xMH19dT1lfDA7ZlcobSxoLHUsbCk7ayQob3wwLDAsMTIpO2g9bjtkUihuLDEwLDAp
O2lmKChhW29dJjEpPT0wKXt2PWgrMXwwO3c9djt4PXY7eT1uKzh8MH1lbHNle3Y9bis4fDA7dz1j
W3Y+PjJdfDA7eD1oKzF8MDt5PXZ9Y1twPj4yXT13O3Y9cXwwO2Nbcj4+Ml09djtjW3M+PjJdPTA7
aD1mfDA7Zj1nfDA7Zz1ufDA7ej1uKzR8MDtBPWNbbD4+Ml18MDtsPXc7dz1jW2g+PjJdfDA7TDgw
Mjp3aGlsZSgxKXtkb3tpZigod3wwKT09MCl7Qj0wfWVsc2V7Qz1jW3crMTI+PjJdfDA7aWYoKEN8
MCk9PShjW3crMTY+PjJdfDApKXtEPWIwW2NbKGNbdz4+Ml18MCkrMzY+PjJdJjEyN10odyl8MH1l
bHNle0Q9Y1tDPj4yXXwwfWlmKChEfDApIT0tMSl7Qj13O2JyZWFrfWNbaD4+Ml09MDtCPTB9fXdo
aWxlKDApO0U9KEJ8MCk9PTA7Qz1jW2Y+PjJdfDA7ZG97aWYoKEN8MCk9PTApe0Y9NjYwfWVsc2V7
Rz1jW0MrMTI+PjJdfDA7aWYoKEd8MCk9PShjW0MrMTY+PjJdfDApKXtIPWIwW2NbKGNbQz4+Ml18
MCkrMzY+PjJdJjEyN10oQyl8MH1lbHNle0g9Y1tHPj4yXXwwfWlmKChIfDApPT0tMSl7Y1tmPj4y
XT0wO0Y9NjYwO2JyZWFrfWVsc2V7Rz0oQ3wwKT09MDtpZihFXkcpe0k9QztKPUc7YnJlYWt9ZWxz
ZXtLPWw7TD1DO009RzticmVhayBMODAyfX19fXdoaWxlKDApO2lmKChGfDApPT02NjApe0Y9MDtp
ZihFKXtLPWw7TD0wO009MTticmVha31lbHNle0k9MDtKPTF9fUM9ZFtvXXwwO0c9KEMmMXwwKT09
MDtpZigoKGNbcD4+Ml18MCktbHwwKT09KChHP0M+Pj4xOmNbej4+Ml18MCl8MCkpe2lmKEcpe049
Qz4+PjE7Tz1DPj4+MX1lbHNle0M9Y1t6Pj4yXXwwO049QztPPUN9ZFIobixOPDwxLDApO2lmKChh
W29dJjEpPT0wKXtQPTEwfWVsc2V7UD0oY1tnPj4yXSYtMiktMXwwfWRSKG4sUCwwKTtpZigoYVtv
XSYxKT09MCl7UT14fWVsc2V7UT1jW3k+PjJdfDB9Y1twPj4yXT1RK087Uj1RfWVsc2V7Uj1sfUM9
QisxMnwwO0c9Y1tDPj4yXXwwO1M9QisxNnwwO2lmKChHfDApPT0oY1tTPj4yXXwwKSl7VD1iMFtj
WyhjW0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDB9ZWxzZXtUPWNbRz4+Ml18MH1pZigoZlUoVCx0
LFIscCxzLEEsbSx2LHIsdSl8MCkhPTApe0s9UjtMPUk7TT1KO2JyZWFrfUc9Y1tDPj4yXXwwO2lm
KChHfDApPT0oY1tTPj4yXXwwKSl7Uz1jWyhjW0I+PjJdfDApKzQwPj4yXXwwO2IwW1MmMTI3XShC
KXwwO2w9Ujt3PUI7Y29udGludWV9ZWxzZXtjW0M+PjJdPUcrNDtsPVI7dz1CO2NvbnRpbnVlfX13
PWRbbV18MDtpZigodyYxfDApPT0wKXtVPXc+Pj4xfWVsc2V7VT1jW20rND4+Ml18MH1kb3tpZigo
VXwwKSE9MCl7dz1jW3I+PjJdfDA7aWYoKHctcXwwKT49MTYwKXticmVha31SPWNbcz4+Ml18MDtj
W3I+PjJdPXcrNDtjW3c+PjJdPVJ9fXdoaWxlKDApO2Nbaz4+Ml09ZkQoSyxjW3A+PjJdfDAsaix0
KXwwO2Z0KG0sdixjW3I+PjJdfDAsaik7ZG97aWYoRSl7Vj0wfWVsc2V7cj1jW0IrMTI+PjJdfDA7
aWYoKHJ8MCk9PShjW0IrMTY+PjJdfDApKXtXPWIwW2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10o
Qil8MH1lbHNle1c9Y1tyPj4yXXwwfWlmKChXfDApIT0tMSl7Vj1CO2JyZWFrfWNbaD4+Ml09MDtW
PTB9fXdoaWxlKDApO2g9KFZ8MCk9PTA7ZG97aWYoTSl7Rj03MDJ9ZWxzZXtCPWNbTCsxMj4+Ml18
MDtpZigoQnwwKT09KGNbTCsxNj4+Ml18MCkpe1g9YjBbY1soY1tMPj4yXXwwKSszNj4+Ml0mMTI3
XShMKXwwfWVsc2V7WD1jW0I+PjJdfDB9aWYoKFh8MCk9PS0xKXtjW2Y+PjJdPTA7Rj03MDI7YnJl
YWt9aWYoIShoXihMfDApPT0wKSl7YnJlYWt9WT1ifDA7Y1tZPj4yXT1WO2RQKG4pO2RQKG0pO2k9
ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lmKChGfDApPT03MDIpe2lmKGgpe2JyZWFrfVk9YnwwO2Nb
WT4+Ml09VjtkUChuKTtkUChtKTtpPWU7cmV0dXJufX13aGlsZSgwKTtjW2o+PjJdPWNbaj4+Ml18
MjtZPWJ8MDtjW1k+PjJdPVY7ZFAobik7ZFAobSk7aT1lO3JldHVybn1mdW5jdGlvbiBmJChiLGUs
ZixnLGgsaixrKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIg
bD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6
PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEw9MCxNPTAsTj0wLE89
MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9MCxZPTAsWj0wO2U9aTtpPWkrMTQ0
fDA7bD1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1tsPj4yXTtsPWc7Zz1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7Y1tnPj4yXT1jW2w+PjJdO2w9ZSsxMDR8MDttPWUrMTEyfDA7bj1l
KzEyOHwwO289bjtwPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztxPWk7aT1pKzE2MHwwO3I9aTtpPWkr
NHwwO2k9aSs3Pj4zPDwzO3M9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3N3aXRjaChjW2grND4+Ml0m
NzR8MCl7Y2FzZSA4Ont0PTE2O2JyZWFrfTtjYXNlIDA6e3Q9MDticmVha307Y2FzZSA2NDp7dD04
O2JyZWFrfTtkZWZhdWx0Ont0PTEwfX11PWV8MDtmVyhtLGgsdSxsKTtrJChvfDAsMCwxMik7aD1u
O2RSKG4sMTAsMCk7aWYoKGFbb10mMSk9PTApe3Y9aCsxfDA7dz12O3g9djt5PW4rOHwwfWVsc2V7
dj1uKzh8MDt3PWNbdj4+Ml18MDt4PWgrMXwwO3k9dn1jW3A+PjJdPXc7dj1xfDA7Y1tyPj4yXT12
O2Nbcz4+Ml09MDtoPWZ8MDtmPWd8MDtnPW58MDt6PW4rNHwwO0E9Y1tsPj4yXXwwO2w9dzt3PWNb
aD4+Ml18MDtMODkxOndoaWxlKDEpe2Rve2lmKCh3fDApPT0wKXtCPTB9ZWxzZXtDPWNbdysxMj4+
Ml18MDtpZigoQ3wwKT09KGNbdysxNj4+Ml18MCkpe0Q9YjBbY1soY1t3Pj4yXXwwKSszNj4+Ml0m
MTI3XSh3KXwwfWVsc2V7RD1jW0M+PjJdfDB9aWYoKER8MCkhPS0xKXtCPXc7YnJlYWt9Y1toPj4y
XT0wO0I9MH19d2hpbGUoMCk7RT0oQnwwKT09MDtDPWNbZj4+Ml18MDtkb3tpZigoQ3wwKT09MCl7
Rj03MzB9ZWxzZXtHPWNbQysxMj4+Ml18MDtpZigoR3wwKT09KGNbQysxNj4+Ml18MCkpe0g9YjBb
Y1soY1tDPj4yXXwwKSszNj4+Ml0mMTI3XShDKXwwfWVsc2V7SD1jW0c+PjJdfDB9aWYoKEh8MCk9
PS0xKXtjW2Y+PjJdPTA7Rj03MzA7YnJlYWt9ZWxzZXtHPShDfDApPT0wO2lmKEVeRyl7ST1DO0o9
RzticmVha31lbHNle0w9bDtNPUM7Tj1HO2JyZWFrIEw4OTF9fX19d2hpbGUoMCk7aWYoKEZ8MCk9
PTczMCl7Rj0wO2lmKEUpe0w9bDtNPTA7Tj0xO2JyZWFrfWVsc2V7ST0wO0o9MX19Qz1kW29dfDA7
Rz0oQyYxfDApPT0wO2lmKCgoY1twPj4yXXwwKS1sfDApPT0oKEc/Qz4+PjE6Y1t6Pj4yXXwwKXww
KSl7aWYoRyl7Tz1DPj4+MTtQPUM+Pj4xfWVsc2V7Qz1jW3o+PjJdfDA7Tz1DO1A9Q31kUihuLE88
PDEsMCk7aWYoKGFbb10mMSk9PTApe1E9MTB9ZWxzZXtRPShjW2c+PjJdJi0yKS0xfDB9ZFIobixR
LDApO2lmKChhW29dJjEpPT0wKXtSPXh9ZWxzZXtSPWNbeT4+Ml18MH1jW3A+PjJdPVIrUDtTPVJ9
ZWxzZXtTPWx9Qz1CKzEyfDA7Rz1jW0M+PjJdfDA7VD1CKzE2fDA7aWYoKEd8MCk9PShjW1Q+PjJd
fDApKXtVPWIwW2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MH1lbHNle1U9Y1tHPj4yXXww
fWlmKChmVShVLHQsUyxwLHMsQSxtLHYscix1KXwwKSE9MCl7TD1TO009STtOPUo7YnJlYWt9Rz1j
W0M+PjJdfDA7aWYoKEd8MCk9PShjW1Q+PjJdfDApKXtUPWNbKGNbQj4+Ml18MCkrNDA+PjJdfDA7
YjBbVCYxMjddKEIpfDA7bD1TO3c9Qjtjb250aW51ZX1lbHNle2NbQz4+Ml09Rys0O2w9Uzt3PUI7
Y29udGludWV9fXc9ZFttXXwwO2lmKCh3JjF8MCk9PTApe1Y9dz4+PjF9ZWxzZXtWPWNbbSs0Pj4y
XXwwfWRve2lmKChWfDApIT0wKXt3PWNbcj4+Ml18MDtpZigody1xfDApPj0xNjApe2JyZWFrfVM9
Y1tzPj4yXXwwO2Nbcj4+Ml09dys0O2Nbdz4+Ml09U319d2hpbGUoMCk7cz1mRihMLGNbcD4+Ml18
MCxqLHQpfDA7Y1trPj4yXT1zO2Nbays0Pj4yXT1LO2Z0KG0sdixjW3I+PjJdfDAsaik7ZG97aWYo
RSl7Vz0wfWVsc2V7cj1jW0IrMTI+PjJdfDA7aWYoKHJ8MCk9PShjW0IrMTY+PjJdfDApKXtYPWIw
W2NbKGNbQj4+Ml18MCkrMzY+PjJdJjEyN10oQil8MH1lbHNle1g9Y1tyPj4yXXwwfWlmKChYfDAp
IT0tMSl7Vz1CO2JyZWFrfWNbaD4+Ml09MDtXPTB9fXdoaWxlKDApO2g9KFd8MCk9PTA7ZG97aWYo
Til7Rj03NzJ9ZWxzZXtCPWNbTSsxMj4+Ml18MDtpZigoQnwwKT09KGNbTSsxNj4+Ml18MCkpe1k9
YjBbY1soY1tNPj4yXXwwKSszNj4+Ml0mMTI3XShNKXwwfWVsc2V7WT1jW0I+PjJdfDB9aWYoKFl8
MCk9PS0xKXtjW2Y+PjJdPTA7Rj03NzI7YnJlYWt9aWYoIShoXihNfDApPT0wKSl7YnJlYWt9Wj1i
fDA7Y1taPj4yXT1XO2RQKG4pO2RQKG0pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lmKChGfDAp
PT03NzIpe2lmKGgpe2JyZWFrfVo9YnwwO2NbWj4+Ml09VztkUChuKTtkUChtKTtpPWU7cmV0dXJu
fX13aGlsZSgwKTtjW2o+PjJdPWNbaj4+Ml18MjtaPWJ8MDtjW1o+PjJdPVc7ZFAobik7ZFAobSk7
aT1lO3JldHVybn1mdW5jdGlvbiBmMChiLGUsZixoLGosayxsKXtiPWJ8MDtlPWV8MDtmPWZ8MDto
PWh8MDtqPWp8MDtrPWt8MDtsPWx8MDt2YXIgbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9
MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0w
LEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAs
Vz0wLFg9MCxZPTAsWj0wLF89MCwkPTA7ZT1pO2k9aSsxNzZ8MDttPWY7Zj1pO2k9aSs0fDA7aT1p
Kzc+PjM8PDM7Y1tmPj4yXT1jW20+PjJdO209aDtoPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2g+
PjJdPWNbbT4+Ml07bT1lKzEyOHwwO249ZSsxMzZ8MDtvPWUrMTQ0fDA7cD1lKzE2MHwwO3E9cDty
PWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztzPWk7aT1pKzE2MHwwO3Q9aTtpPWkrNHwwO2k9aSs3Pj4z
PDwzO3U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3Y9aTtpPWkrMXwwO2k9aSs3Pj4zPDwzO3c9aTtp
PWkrMXwwO2k9aSs3Pj4zPDwzO3g9ZXwwO2YxKG8saix4LG0sbik7ayQocXwwLDAsMTIpO2o9cDtk
UihwLDEwLDApO2lmKChhW3FdJjEpPT0wKXt5PWorMXwwO3o9eTtBPXk7Qj1wKzh8MH1lbHNle3k9
cCs4fDA7ej1jW3k+PjJdfDA7QT1qKzF8MDtCPXl9Y1tyPj4yXT16O3k9c3wwO2NbdD4+Ml09eTtj
W3U+PjJdPTA7YVt2XT0xO2Fbd109Njk7aj1mfDA7Zj1ofDA7aD1wfDA7Qz1wKzR8MDtEPWNbbT4+
Ml18MDttPWNbbj4+Ml18MDtuPXo7ej1jW2o+PjJdfDA7TDk3NTp3aGlsZSgxKXtkb3tpZigoenww
KT09MCl7RT0wfWVsc2V7Rj1jW3orMTI+PjJdfDA7aWYoKEZ8MCk9PShjW3orMTY+PjJdfDApKXtH
PWIwW2NbKGNbej4+Ml18MCkrMzY+PjJdJjEyN10oeil8MH1lbHNle0c9Y1tGPj4yXXwwfWlmKChH
fDApIT0tMSl7RT16O2JyZWFrfWNbaj4+Ml09MDtFPTB9fXdoaWxlKDApO0g9KEV8MCk9PTA7Rj1j
W2Y+PjJdfDA7ZG97aWYoKEZ8MCk9PTApe0k9Nzk2fWVsc2V7Sj1jW0YrMTI+PjJdfDA7aWYoKEp8
MCk9PShjW0YrMTY+PjJdfDApKXtLPWIwW2NbKGNbRj4+Ml18MCkrMzY+PjJdJjEyN10oRil8MH1l
bHNle0s9Y1tKPj4yXXwwfWlmKChLfDApPT0tMSl7Y1tmPj4yXT0wO0k9Nzk2O2JyZWFrfWVsc2V7
Sj0oRnwwKT09MDtpZihIXkope0w9RjtNPUo7YnJlYWt9ZWxzZXtOPW47Tz1GO1A9SjticmVhayBM
OTc1fX19fXdoaWxlKDApO2lmKChJfDApPT03OTYpe0k9MDtpZihIKXtOPW47Tz0wO1A9MTticmVh
a31lbHNle0w9MDtNPTF9fUY9ZFtxXXwwO0o9KEYmMXwwKT09MDtpZigoKGNbcj4+Ml18MCktbnww
KT09KChKP0Y+Pj4xOmNbQz4+Ml18MCl8MCkpe2lmKEope1E9Rj4+PjE7Uj1GPj4+MX1lbHNle0Y9
Y1tDPj4yXXwwO1E9RjtSPUZ9ZFIocCxRPDwxLDApO2lmKChhW3FdJjEpPT0wKXtTPTEwfWVsc2V7
Uz0oY1toPj4yXSYtMiktMXwwfWRSKHAsUywwKTtpZigoYVtxXSYxKT09MCl7VD1BfWVsc2V7VD1j
W0I+PjJdfDB9Y1tyPj4yXT1UK1I7VT1UfWVsc2V7VT1ufUY9RSsxMnwwO0o9Y1tGPj4yXXwwO1Y9
RSsxNnwwO2lmKChKfDApPT0oY1tWPj4yXXwwKSl7Vz1iMFtjWyhjW0U+PjJdfDApKzM2Pj4yXSYx
MjddKEUpfDB9ZWxzZXtXPWNbSj4+Ml18MH1pZigoZjIoVyx2LHcsVSxyLEQsbSxvLHksdCx1LHgp
fDApIT0wKXtOPVU7Tz1MO1A9TTticmVha31KPWNbRj4+Ml18MDtpZigoSnwwKT09KGNbVj4+Ml18
MCkpe1Y9Y1soY1tFPj4yXXwwKSs0MD4+Ml18MDtiMFtWJjEyN10oRSl8MDtuPVU7ej1FO2NvbnRp
bnVlfWVsc2V7Y1tGPj4yXT1KKzQ7bj1VO3o9RTtjb250aW51ZX19ej1kW29dfDA7aWYoKHomMXww
KT09MCl7WD16Pj4+MX1lbHNle1g9Y1tvKzQ+PjJdfDB9ZG97aWYoKFh8MCkhPTApe2lmKChhW3Zd
JjEpPT0wKXticmVha316PWNbdD4+Ml18MDtpZigoei1zfDApPj0xNjApe2JyZWFrfVU9Y1t1Pj4y
XXwwO2NbdD4+Ml09eis0O2Nbej4+Ml09VX19d2hpbGUoMCk7Z1tsPj4yXT0rZkkoTixjW3I+PjJd
fDAsayk7ZnQobyx5LGNbdD4+Ml18MCxrKTtkb3tpZihIKXtZPTB9ZWxzZXt0PWNbRSsxMj4+Ml18
MDtpZigodHwwKT09KGNbRSsxNj4+Ml18MCkpe1o9YjBbY1soY1tFPj4yXXwwKSszNj4+Ml0mMTI3
XShFKXwwfWVsc2V7Wj1jW3Q+PjJdfDB9aWYoKFp8MCkhPS0xKXtZPUU7YnJlYWt9Y1tqPj4yXT0w
O1k9MH19d2hpbGUoMCk7aj0oWXwwKT09MDtkb3tpZihQKXtJPTgzOX1lbHNle0U9Y1tPKzEyPj4y
XXwwO2lmKChFfDApPT0oY1tPKzE2Pj4yXXwwKSl7Xz1iMFtjWyhjW08+PjJdfDApKzM2Pj4yXSYx
MjddKE8pfDB9ZWxzZXtfPWNbRT4+Ml18MH1pZigoX3wwKT09LTEpe2NbZj4+Ml09MDtJPTgzOTti
cmVha31pZighKGpeKE98MCk9PTApKXticmVha30kPWJ8MDtjWyQ+PjJdPVk7ZFAocCk7ZFAobyk7
aT1lO3JldHVybn19d2hpbGUoMCk7ZG97aWYoKEl8MCk9PTgzOSl7aWYoail7YnJlYWt9JD1ifDA7
Y1skPj4yXT1ZO2RQKHApO2RQKG8pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Nbaz4+Ml09Y1trPj4y
XXwyOyQ9YnwwO2NbJD4+Ml09WTtkUChwKTtkUChvKTtpPWU7cmV0dXJufWZ1bmN0aW9uIGYxKGEs
YixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTA7Zz1pO2k9aSs0MHwwO2g9Z3wwO2o9ZysxNnww
O2s9ZyszMnwwO2VqKGssYik7Yj1rfDA7az1jW2I+PjJdfDA7aWYoKGNbMzkyMl18MCkhPS0xKXtj
W2o+PjJdPTE1Njg4O2Nbais0Pj4yXT0xMjtjW2orOD4+Ml09MDtkVygxNTY4OCxqLDk2KX1qPShj
WzM5MjNdfDApLTF8MDtsPWNbays4Pj4yXXwwO2Rve2lmKChjW2srMTI+PjJdfDApLWw+PjI+Pj4w
Pmo+Pj4wKXttPWNbbCsoajw8Mik+PjJdfDA7aWYoKG18MCk9PTApe2JyZWFrfW49bTtvPWNbKGNb
bT4+Ml18MCkrNDg+PjJdfDA7Y2FbbyYxNV0obiw5NzQ0LDk3NzYsZCl8MDtuPWNbYj4+Ml18MDtp
ZigoY1szODI2XXwwKSE9LTEpe2NbaD4+Ml09MTUzMDQ7Y1toKzQ+PjJdPTEyO2NbaCs4Pj4yXT0w
O2RXKDE1MzA0LGgsOTYpfW89KGNbMzgyN118MCktMXwwO209Y1tuKzg+PjJdfDA7ZG97aWYoKGNb
bisxMj4+Ml18MCktbT4+Mj4+PjA+bz4+PjApe3A9Y1ttKyhvPDwyKT4+Ml18MDtpZigocHwwKT09
MCl7YnJlYWt9cT1wO3I9cDtjW2U+PjJdPWIwW2NbKGNbcj4+Ml18MCkrMTI+PjJdJjEyN10ocSl8
MDtjW2Y+PjJdPWIwW2NbKGNbcj4+Ml18MCkrMTY+PjJdJjEyN10ocSl8MDtiWltjWyhjW3A+PjJd
fDApKzIwPj4yXSYxMjddKGEscSk7cT1jW2I+PjJdfDA7ZHoocSl8MDtpPWc7cmV0dXJufX13aGls
ZSgwKTtvPWJPKDQpfDA7a3Eobyk7Ymwob3wwLDgxNzYsMTM0KX19d2hpbGUoMCk7Zz1iTyg0KXww
O2txKGcpO2JsKGd8MCw4MTc2LDEzNCl9ZnVuY3Rpb24gZjIoYixlLGYsZyxoLGksaixrLGwsbSxu
LG8pe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2k9aXwwO2o9anwwO2s9a3wwO2w9bHww
O209bXwwO249bnwwO289b3wwO3ZhciBwPTAscT0wLHI9MCxzPTAsdD0wO2lmKChifDApPT0oaXww
KSl7aWYoKGFbZV0mMSk9PTApe3A9LTE7cmV0dXJuIHB8MH1hW2VdPTA7aT1jW2g+PjJdfDA7Y1to
Pj4yXT1pKzE7YVtpXT00NjtpPWRba118MDtpZigoaSYxfDApPT0wKXtxPWk+Pj4xfWVsc2V7cT1j
W2srND4+Ml18MH1pZigocXwwKT09MCl7cD0wO3JldHVybiBwfDB9cT1jW20+PjJdfDA7aWYoKHEt
bHwwKT49MTYwKXtwPTA7cmV0dXJuIHB8MH1pPWNbbj4+Ml18MDtjW20+PjJdPXErNDtjW3E+PjJd
PWk7cD0wO3JldHVybiBwfDB9ZG97aWYoKGJ8MCk9PShqfDApKXtpPWRba118MDtpZigoaSYxfDAp
PT0wKXtyPWk+Pj4xfWVsc2V7cj1jW2srND4+Ml18MH1pZigocnwwKT09MCl7YnJlYWt9aWYoKGFb
ZV0mMSk9PTApe3A9LTE7cmV0dXJuIHB8MH1pPWNbbT4+Ml18MDtpZigoaS1sfDApPj0xNjApe3A9
MDtyZXR1cm4gcHwwfXE9Y1tuPj4yXXwwO2NbbT4+Ml09aSs0O2NbaT4+Ml09cTtjW24+PjJdPTA7
cD0wO3JldHVybiBwfDB9fXdoaWxlKDApO3I9bysxMjh8MDtqPW87d2hpbGUoMSl7aWYoKGp8MCk9
PShyfDApKXtzPXI7YnJlYWt9aWYoKGNbaj4+Ml18MCk9PShifDApKXtzPWo7YnJlYWt9ZWxzZXtq
PWorNHwwfX1qPXMtb3wwO289aj4+MjtpZigoanwwKT4xMjQpe3A9LTE7cmV0dXJuIHB8MH1zPWFb
OTc0NCtvfDBdfDA7TDExMTU6ZG97c3dpdGNoKG98MCl7Y2FzZSAyNTpjYXNlIDI0OntiPWNbaD4+
Ml18MDtkb3tpZigoYnwwKSE9KGd8MCkpe2lmKChhW2ItMXwwXSY5NXwwKT09KGFbZl0mMTI3fDAp
KXticmVha31lbHNle3A9LTF9cmV0dXJuIHB8MH19d2hpbGUoMCk7Y1toPj4yXT1iKzE7YVtiXT1z
O3A9MDtyZXR1cm4gcHwwfTtjYXNlIDIyOmNhc2UgMjM6e2FbZl09ODA7YnJlYWt9O2RlZmF1bHQ6
e3I9YVtmXXwwO2lmKChzJjk1fDApIT0ocjw8MjQ+PjI0fDApKXticmVhayBMMTExNX1hW2ZdPXJ8
LTEyODtpZigoYVtlXSYxKT09MCl7YnJlYWsgTDExMTV9YVtlXT0wO3I9ZFtrXXwwO2lmKChyJjF8
MCk9PTApe3Q9cj4+PjF9ZWxzZXt0PWNbays0Pj4yXXwwfWlmKCh0fDApPT0wKXticmVhayBMMTEx
NX1yPWNbbT4+Ml18MDtpZigoci1sfDApPj0xNjApe2JyZWFrIEwxMTE1fXE9Y1tuPj4yXXwwO2Nb
bT4+Ml09cis0O2Nbcj4+Ml09cX19fXdoaWxlKDApO209Y1toPj4yXXwwO2NbaD4+Ml09bSsxO2Fb
bV09cztpZigoanwwKT44NCl7cD0wO3JldHVybiBwfDB9Y1tuPj4yXT0oY1tuPj4yXXwwKSsxO3A9
MDtyZXR1cm4gcHwwfWZ1bmN0aW9uIGYzKGIsZSxmLGcsaixrLGwpe2I9YnwwO2U9ZXwwO2Y9Znww
O2c9Z3wwO2o9anwwO2s9a3wwO2w9bHwwO3ZhciBtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAs
dD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxI
PTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9
MCxXPTAsWD0wLFk9MCxaPTAsXz0wLCQ9MDtlPWk7aT1pKzE3NnwwO209ZjtmPWk7aT1pKzR8MDtp
PWkrNz4+Mzw8MztjW2Y+PjJdPWNbbT4+Ml07bT1nO2c9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2Nb
Zz4+Ml09Y1ttPj4yXTttPWUrMTI4fDA7bj1lKzEzNnwwO289ZSsxNDR8MDtwPWUrMTYwfDA7cT1w
O3I9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3M9aTtpPWkrMTYwfDA7dD1pO2k9aSs0fDA7aT1pKzc+
PjM8PDM7dT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7dj1pO2k9aSsxfDA7aT1pKzc+PjM8PDM7dz1p
O2k9aSsxfDA7aT1pKzc+PjM8PDM7eD1lfDA7ZjEobyxqLHgsbSxuKTtrJChxfDAsMCwxMik7aj1w
O2RSKHAsMTAsMCk7aWYoKGFbcV0mMSk9PTApe3k9aisxfDA7ej15O0E9eTtCPXArOHwwfWVsc2V7
eT1wKzh8MDt6PWNbeT4+Ml18MDtBPWorMXwwO0I9eX1jW3I+PjJdPXo7eT1zfDA7Y1t0Pj4yXT15
O2NbdT4+Ml09MDthW3ZdPTE7YVt3XT02OTtqPWZ8MDtmPWd8MDtnPXB8MDtDPXArNHwwO0Q9Y1tt
Pj4yXXwwO209Y1tuPj4yXXwwO249ejt6PWNbaj4+Ml18MDtMMTE0Mzp3aGlsZSgxKXtkb3tpZigo
enwwKT09MCl7RT0wfWVsc2V7Rj1jW3orMTI+PjJdfDA7aWYoKEZ8MCk9PShjW3orMTY+PjJdfDAp
KXtHPWIwW2NbKGNbej4+Ml18MCkrMzY+PjJdJjEyN10oeil8MH1lbHNle0c9Y1tGPj4yXXwwfWlm
KChHfDApIT0tMSl7RT16O2JyZWFrfWNbaj4+Ml09MDtFPTB9fXdoaWxlKDApO0g9KEV8MCk9PTA7
Rj1jW2Y+PjJdfDA7ZG97aWYoKEZ8MCk9PTApe0k9OTI5fWVsc2V7Sj1jW0YrMTI+PjJdfDA7aWYo
KEp8MCk9PShjW0YrMTY+PjJdfDApKXtLPWIwW2NbKGNbRj4+Ml18MCkrMzY+PjJdJjEyN10oRil8
MH1lbHNle0s9Y1tKPj4yXXwwfWlmKChLfDApPT0tMSl7Y1tmPj4yXT0wO0k9OTI5O2JyZWFrfWVs
c2V7Sj0oRnwwKT09MDtpZihIXkope0w9RjtNPUo7YnJlYWt9ZWxzZXtOPW47Tz1GO1A9SjticmVh
ayBMMTE0M319fX13aGlsZSgwKTtpZigoSXwwKT09OTI5KXtJPTA7aWYoSCl7Tj1uO089MDtQPTE7
YnJlYWt9ZWxzZXtMPTA7TT0xfX1GPWRbcV18MDtKPShGJjF8MCk9PTA7aWYoKChjW3I+PjJdfDAp
LW58MCk9PSgoSj9GPj4+MTpjW0M+PjJdfDApfDApKXtpZihKKXtRPUY+Pj4xO1I9Rj4+PjF9ZWxz
ZXtGPWNbQz4+Ml18MDtRPUY7Uj1GfWRSKHAsUTw8MSwwKTtpZigoYVtxXSYxKT09MCl7Uz0xMH1l
bHNle1M9KGNbZz4+Ml0mLTIpLTF8MH1kUihwLFMsMCk7aWYoKGFbcV0mMSk9PTApe1Q9QX1lbHNl
e1Q9Y1tCPj4yXXwwfWNbcj4+Ml09VCtSO1U9VH1lbHNle1U9bn1GPUUrMTJ8MDtKPWNbRj4+Ml18
MDtWPUUrMTZ8MDtpZigoSnwwKT09KGNbVj4+Ml18MCkpe1c9YjBbY1soY1tFPj4yXXwwKSszNj4+
Ml0mMTI3XShFKXwwfWVsc2V7Vz1jW0o+PjJdfDB9aWYoKGYyKFcsdix3LFUscixELG0sbyx5LHQs
dSx4KXwwKSE9MCl7Tj1VO089TDtQPU07YnJlYWt9Sj1jW0Y+PjJdfDA7aWYoKEp8MCk9PShjW1Y+
PjJdfDApKXtWPWNbKGNbRT4+Ml18MCkrNDA+PjJdfDA7YjBbViYxMjddKEUpfDA7bj1VO3o9RTtj
b250aW51ZX1lbHNle2NbRj4+Ml09Sis0O249VTt6PUU7Y29udGludWV9fXo9ZFtvXXwwO2lmKCh6
JjF8MCk9PTApe1g9ej4+PjF9ZWxzZXtYPWNbbys0Pj4yXXwwfWRve2lmKChYfDApIT0wKXtpZigo
YVt2XSYxKT09MCl7YnJlYWt9ej1jW3Q+PjJdfDA7aWYoKHotc3wwKT49MTYwKXticmVha31VPWNb
dT4+Ml18MDtjW3Q+PjJdPXorNDtjW3o+PjJdPVV9fXdoaWxlKDApO2hbbD4+M109K2ZMKE4sY1ty
Pj4yXXwwLGspO2Z0KG8seSxjW3Q+PjJdfDAsayk7ZG97aWYoSCl7WT0wfWVsc2V7dD1jW0UrMTI+
PjJdfDA7aWYoKHR8MCk9PShjW0UrMTY+PjJdfDApKXtaPWIwW2NbKGNbRT4+Ml18MCkrMzY+PjJd
JjEyN10oRSl8MH1lbHNle1o9Y1t0Pj4yXXwwfWlmKChafDApIT0tMSl7WT1FO2JyZWFrfWNbaj4+
Ml09MDtZPTB9fXdoaWxlKDApO2o9KFl8MCk9PTA7ZG97aWYoUCl7ST05NzJ9ZWxzZXtFPWNbTysx
Mj4+Ml18MDtpZigoRXwwKT09KGNbTysxNj4+Ml18MCkpe189YjBbY1soY1tPPj4yXXwwKSszNj4+
Ml0mMTI3XShPKXwwfWVsc2V7Xz1jW0U+PjJdfDB9aWYoKF98MCk9PS0xKXtjW2Y+PjJdPTA7ST05
NzI7YnJlYWt9aWYoIShqXihPfDApPT0wKSl7YnJlYWt9JD1ifDA7Y1skPj4yXT1ZO2RQKHApO2RQ
KG8pO2k9ZTtyZXR1cm59fXdoaWxlKDApO2Rve2lmKChJfDApPT05NzIpe2lmKGope2JyZWFrfSQ9
YnwwO2NbJD4+Ml09WTtkUChwKTtkUChvKTtpPWU7cmV0dXJufX13aGlsZSgwKTtjW2s+PjJdPWNb
az4+Ml18MjskPWJ8MDtjWyQ+PjJdPVk7ZFAocCk7ZFAobyk7aT1lO3JldHVybn1mdW5jdGlvbiBm
NChiLGUsZixnLGosayxsKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtqPWp8MDtrPWt8MDtsPWx8
MDt2YXIgbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0w
LHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAs
Tj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9MCxZPTAsWj0wLF89MCwk
PTA7ZT1pO2k9aSsxNzZ8MDttPWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW20+
PjJdO209ZztnPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2c+PjJdPWNbbT4+Ml07bT1lKzEyOHww
O249ZSsxMzZ8MDtvPWUrMTQ0fDA7cD1lKzE2MHwwO3E9cDtyPWk7aT1pKzR8MDtpPWkrNz4+Mzw8
MztzPWk7aT1pKzE2MHwwO3Q9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3U9aTtpPWkrNHwwO2k9aSs3
Pj4zPDwzO3Y9aTtpPWkrMXwwO2k9aSs3Pj4zPDwzO3c9aTtpPWkrMXwwO2k9aSs3Pj4zPDwzO3g9
ZXwwO2YxKG8saix4LG0sbik7ayQocXwwLDAsMTIpO2o9cDtkUihwLDEwLDApO2lmKChhW3FdJjEp
PT0wKXt5PWorMXwwO3o9eTtBPXk7Qj1wKzh8MH1lbHNle3k9cCs4fDA7ej1jW3k+PjJdfDA7QT1q
KzF8MDtCPXl9Y1tyPj4yXT16O3k9c3wwO2NbdD4+Ml09eTtjW3U+PjJdPTA7YVt2XT0xO2Fbd109
Njk7aj1mfDA7Zj1nfDA7Zz1wfDA7Qz1wKzR8MDtEPWNbbT4+Ml18MDttPWNbbj4+Ml18MDtuPXo7
ej1jW2o+PjJdfDA7TDEyMjg6d2hpbGUoMSl7ZG97aWYoKHp8MCk9PTApe0U9MH1lbHNle0Y9Y1t6
KzEyPj4yXXwwO2lmKChGfDApPT0oY1t6KzE2Pj4yXXwwKSl7Rz1iMFtjWyhjW3o+PjJdfDApKzM2
Pj4yXSYxMjddKHopfDB9ZWxzZXtHPWNbRj4+Ml18MH1pZigoR3wwKSE9LTEpe0U9ejticmVha31j
W2o+PjJdPTA7RT0wfX13aGlsZSgwKTtIPShFfDApPT0wO0Y9Y1tmPj4yXXwwO2Rve2lmKChGfDAp
PT0wKXtJPTk5Nn1lbHNle0o9Y1tGKzEyPj4yXXwwO2lmKChKfDApPT0oY1tGKzE2Pj4yXXwwKSl7
Sz1iMFtjWyhjW0Y+PjJdfDApKzM2Pj4yXSYxMjddKEYpfDB9ZWxzZXtLPWNbSj4+Ml18MH1pZigo
S3wwKT09LTEpe2NbZj4+Ml09MDtJPTk5NjticmVha31lbHNle0o9KEZ8MCk9PTA7aWYoSF5KKXtM
PUY7TT1KO2JyZWFrfWVsc2V7Tj1uO089RjtQPUo7YnJlYWsgTDEyMjh9fX19d2hpbGUoMCk7aWYo
KEl8MCk9PTk5Nil7ST0wO2lmKEgpe049bjtPPTA7UD0xO2JyZWFrfWVsc2V7TD0wO009MX19Rj1k
W3FdfDA7Sj0oRiYxfDApPT0wO2lmKCgoY1tyPj4yXXwwKS1ufDApPT0oKEo/Rj4+PjE6Y1tDPj4y
XXwwKXwwKSl7aWYoSil7UT1GPj4+MTtSPUY+Pj4xfWVsc2V7Rj1jW0M+PjJdfDA7UT1GO1I9Rn1k
UihwLFE8PDEsMCk7aWYoKGFbcV0mMSk9PTApe1M9MTB9ZWxzZXtTPShjW2c+PjJdJi0yKS0xfDB9
ZFIocCxTLDApO2lmKChhW3FdJjEpPT0wKXtUPUF9ZWxzZXtUPWNbQj4+Ml18MH1jW3I+PjJdPVQr
UjtVPVR9ZWxzZXtVPW59Rj1FKzEyfDA7Sj1jW0Y+PjJdfDA7Vj1FKzE2fDA7aWYoKEp8MCk9PShj
W1Y+PjJdfDApKXtXPWIwW2NbKGNbRT4+Ml18MCkrMzY+PjJdJjEyN10oRSl8MH1lbHNle1c9Y1tK
Pj4yXXwwfWlmKChmMihXLHYsdyxVLHIsRCxtLG8seSx0LHUseCl8MCkhPTApe049VTtPPUw7UD1N
O2JyZWFrfUo9Y1tGPj4yXXwwO2lmKChKfDApPT0oY1tWPj4yXXwwKSl7Vj1jWyhjW0U+PjJdfDAp
KzQwPj4yXXwwO2IwW1YmMTI3XShFKXwwO249VTt6PUU7Y29udGludWV9ZWxzZXtjW0Y+PjJdPUor
NDtuPVU7ej1FO2NvbnRpbnVlfX16PWRbb118MDtpZigoeiYxfDApPT0wKXtYPXo+Pj4xfWVsc2V7
WD1jW28rND4+Ml18MH1kb3tpZigoWHwwKSE9MCl7aWYoKGFbdl0mMSk9PTApe2JyZWFrfXo9Y1t0
Pj4yXXwwO2lmKCh6LXN8MCk+PTE2MCl7YnJlYWt9VT1jW3U+PjJdfDA7Y1t0Pj4yXT16KzQ7Y1t6
Pj4yXT1VfX13aGlsZSgwKTtoW2w+PjNdPStmTihOLGNbcj4+Ml18MCxrKTtmdChvLHksY1t0Pj4y
XXwwLGspO2Rve2lmKEgpe1k9MH1lbHNle3Q9Y1tFKzEyPj4yXXwwO2lmKCh0fDApPT0oY1tFKzE2
Pj4yXXwwKSl7Wj1iMFtjWyhjW0U+PjJdfDApKzM2Pj4yXSYxMjddKEUpfDB9ZWxzZXtaPWNbdD4+
Ml18MH1pZigoWnwwKSE9LTEpe1k9RTticmVha31jW2o+PjJdPTA7WT0wfX13aGlsZSgwKTtqPShZ
fDApPT0wO2Rve2lmKFApe0k9MTAzOX1lbHNle0U9Y1tPKzEyPj4yXXwwO2lmKChFfDApPT0oY1tP
KzE2Pj4yXXwwKSl7Xz1iMFtjWyhjW08+PjJdfDApKzM2Pj4yXSYxMjddKE8pfDB9ZWxzZXtfPWNb
RT4+Ml18MH1pZigoX3wwKT09LTEpe2NbZj4+Ml09MDtJPTEwMzk7YnJlYWt9aWYoIShqXihPfDAp
PT0wKSl7YnJlYWt9JD1ifDA7Y1skPj4yXT1ZO2RQKHApO2RQKG8pO2k9ZTtyZXR1cm59fXdoaWxl
KDApO2Rve2lmKChJfDApPT0xMDM5KXtpZihqKXticmVha30kPWJ8MDtjWyQ+PjJdPVk7ZFAocCk7
ZFAobyk7aT1lO3JldHVybn19d2hpbGUoMCk7Y1trPj4yXT1jW2s+PjJdfDI7JD1ifDA7Y1skPj4y
XT1ZO2RQKHApO2RQKG8pO2k9ZTtyZXR1cm59ZnVuY3Rpb24gZjUoYSl7YT1hfDA7ZGUoYXwwKTtr
UyhhKTtyZXR1cm59ZnVuY3Rpb24gZjYoYSl7YT1hfDA7ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24g
ZjcoYixlLGYsZyxoLGosayl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1r
fDA7dmFyIGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9
MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0w
LE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wLFk9MCxaPTA7
ZT1pO2k9aSsxMzZ8MDtsPWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJd
O2w9ZztnPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2c+PjJdPWNbbD4+Ml07bD1lfDA7bT1lKzE2
fDA7bj1lKzEyMHwwO289aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3A9aTtpPWkrMTJ8MDtpPWkrNz4+
Mzw8MztxPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztyPWk7aT1pKzE2MHwwO3M9aTtpPWkrNHwwO2k9
aSs3Pj4zPDwzO3Q9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2skKG58MCwwLDEyKTt1PXA7ZWoobyxo
KTtoPW98MDtvPWNbaD4+Ml18MDtpZigoY1szOTIyXXwwKSE9LTEpe2NbbD4+Ml09MTU2ODg7Y1ts
KzQ+PjJdPTEyO2NbbCs4Pj4yXT0wO2RXKDE1Njg4LGwsOTYpfWw9KGNbMzkyM118MCktMXwwO3Y9
Y1tvKzg+PjJdfDA7ZG97aWYoKGNbbysxMj4+Ml18MCktdj4+Mj4+PjA+bD4+PjApe3c9Y1t2Kyhs
PDwyKT4+Ml18MDtpZigod3wwKT09MCl7YnJlYWt9eD13O3k9bXwwO3o9Y1soY1t3Pj4yXXwwKSs0
OD4+Ml18MDtjYVt6JjE1XSh4LDk3NDQsOTc3MCx5KXwwO3g9Y1toPj4yXXwwO2R6KHgpfDA7ayQo
dXwwLDAsMTIpO3g9cDtkUihwLDEwLDApO2lmKChhW3VdJjEpPT0wKXt6PXgrMXwwO0E9ejtCPXo7
Qz1wKzh8MH1lbHNle3o9cCs4fDA7QT1jW3o+PjJdfDA7Qj14KzF8MDtDPXp9Y1txPj4yXT1BO3o9
cnwwO2Nbcz4+Ml09ejtjW3Q+PjJdPTA7eD1mfDA7dz1nfDA7RD1wfDA7RT1wKzR8MDtGPUE7Rz1j
W3g+PjJdfDA7TDEzMjM6d2hpbGUoMSl7ZG97aWYoKEd8MCk9PTApe0g9MH1lbHNle0k9Y1tHKzEy
Pj4yXXwwO2lmKChJfDApPT0oY1tHKzE2Pj4yXXwwKSl7Sj1iMFtjWyhjW0c+PjJdfDApKzM2Pj4y
XSYxMjddKEcpfDB9ZWxzZXtKPWNbST4+Ml18MH1pZigoSnwwKSE9LTEpe0g9RzticmVha31jW3g+
PjJdPTA7SD0wfX13aGlsZSgwKTtJPShIfDApPT0wO0s9Y1t3Pj4yXXwwO2Rve2lmKChLfDApPT0w
KXtMPTEwNzN9ZWxzZXtNPWNbSysxMj4+Ml18MDtpZigoTXwwKT09KGNbSysxNj4+Ml18MCkpe049
YjBbY1soY1tLPj4yXXwwKSszNj4+Ml0mMTI3XShLKXwwfWVsc2V7Tj1jW00+PjJdfDB9aWYoKE58
MCk9PS0xKXtjW3c+PjJdPTA7TD0xMDczO2JyZWFrfWVsc2V7aWYoSV4oS3wwKT09MCl7YnJlYWt9
ZWxzZXtPPUY7YnJlYWsgTDEzMjN9fX19d2hpbGUoMCk7aWYoKEx8MCk9PTEwNzMpe0w9MDtpZihJ
KXtPPUY7YnJlYWt9fUs9ZFt1XXwwO009KEsmMXwwKT09MDtpZigoKGNbcT4+Ml18MCktRnwwKT09
KChNP0s+Pj4xOmNbRT4+Ml18MCl8MCkpe2lmKE0pe1A9Sz4+PjE7UT1LPj4+MX1lbHNle0s9Y1tF
Pj4yXXwwO1A9SztRPUt9ZFIocCxQPDwxLDApO2lmKChhW3VdJjEpPT0wKXtSPTEwfWVsc2V7Uj0o
Y1tEPj4yXSYtMiktMXwwfWRSKHAsUiwwKTtpZigoYVt1XSYxKT09MCl7Uz1CfWVsc2V7Uz1jW0M+
PjJdfDB9Y1txPj4yXT1TK1E7VD1TfWVsc2V7VD1GfUs9SCsxMnwwO009Y1tLPj4yXXwwO1U9SCsx
NnwwO2lmKChNfDApPT0oY1tVPj4yXXwwKSl7Vj1iMFtjWyhjW0g+PjJdfDApKzM2Pj4yXSYxMjdd
KEgpfDB9ZWxzZXtWPWNbTT4+Ml18MH1pZigoZlUoViwxNixULHEsdCwwLG4seixzLHkpfDApIT0w
KXtPPVQ7YnJlYWt9TT1jW0s+PjJdfDA7aWYoKE18MCk9PShjW1U+PjJdfDApKXtVPWNbKGNbSD4+
Ml18MCkrNDA+PjJdfDA7YjBbVSYxMjddKEgpfDA7Rj1UO0c9SDtjb250aW51ZX1lbHNle2NbSz4+
Ml09TSs0O0Y9VDtHPUg7Y29udGludWV9fWFbTyszfDBdPTA7ZG97aWYoKGFbMTYyNjRdfDApPT0w
KXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGls
ZSgwKTtHPWZSKE8sY1syOTU4XXwwLDEzMjAsKEY9aSxpPWkrOHwwLGNbRj4+Ml09ayxGKXwwKXww
O2k9RjtpZigoR3wwKSE9MSl7Y1tqPj4yXT00fUc9Y1t4Pj4yXXwwO2Rve2lmKChHfDApPT0wKXtX
PTB9ZWxzZXtGPWNbRysxMj4+Ml18MDtpZigoRnwwKT09KGNbRysxNj4+Ml18MCkpe1g9YjBbY1so
Y1tHPj4yXXwwKSszNj4+Ml0mMTI3XShHKXwwfWVsc2V7WD1jW0Y+PjJdfDB9aWYoKFh8MCkhPS0x
KXtXPUc7YnJlYWt9Y1t4Pj4yXT0wO1c9MH19d2hpbGUoMCk7eD0oV3wwKT09MDtHPWNbdz4+Ml18
MDtkb3tpZigoR3wwKT09MCl7TD0xMTE4fWVsc2V7Rj1jW0crMTI+PjJdfDA7aWYoKEZ8MCk9PShj
W0crMTY+PjJdfDApKXtZPWIwW2NbKGNbRz4+Ml18MCkrMzY+PjJdJjEyN10oRyl8MH1lbHNle1k9
Y1tGPj4yXXwwfWlmKChZfDApPT0tMSl7Y1t3Pj4yXT0wO0w9MTExODticmVha31pZighKHheKEd8
MCk9PTApKXticmVha31aPWJ8MDtjW1o+PjJdPVc7ZFAocCk7ZFAobik7aT1lO3JldHVybn19d2hp
bGUoMCk7ZG97aWYoKEx8MCk9PTExMTgpe2lmKHgpe2JyZWFrfVo9YnwwO2NbWj4+Ml09VztkUChw
KTtkUChuKTtpPWU7cmV0dXJufX13aGlsZSgwKTtjW2o+PjJdPWNbaj4+Ml18MjtaPWJ8MDtjW1o+
PjJdPVc7ZFAocCk7ZFAobik7aT1lO3JldHVybn19d2hpbGUoMCk7ZT1iTyg0KXwwO2txKGUpO2Js
KGV8MCw4MTc2LDEzNCl9ZnVuY3Rpb24gZjgoYixkLGUsZixnLGgpe2I9YnwwO2Q9ZHwwO2U9ZXww
O2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9
MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MDtkPWk7aT1pKzgwfDA7aj1lO2U9aTtpPWkrNHwwO2k9
aSs3Pj4zPDwzO2NbZT4+Ml09Y1tqPj4yXTtqPWR8MDtrPWQrOHwwO2w9ZCsyNHwwO209ZCs0OHww
O249ZCs1NnwwO289ZCs2NHwwO3A9ZCs3MnwwO3E9anwwO2FbcV09YVsyMzg0XXwwO2FbcSsxfDBd
PWFbMjM4NXwwXXwwO2FbcSsyfDBdPWFbMjM4NnwwXXwwO2FbcSszfDBdPWFbMjM4N3wwXXwwO2Fb
cSs0fDBdPWFbMjM4OHwwXXwwO2FbcSs1fDBdPWFbMjM4OXwwXXwwO3I9aisxfDA7cz1mKzR8MDt0
PWNbcz4+Ml18MDtpZigodCYyMDQ4fDApPT0wKXt1PXJ9ZWxzZXthW3JdPTQzO3U9aisyfDB9aWYo
KHQmNTEyfDApPT0wKXt2PXV9ZWxzZXthW3VdPTM1O3Y9dSsxfDB9YVt2XT0xMDg7dT12KzF8MDtM
MTQxMDpkb3tzd2l0Y2godCY3NHwwKXtjYXNlIDY0OnthW3VdPTExMTticmVha307Y2FzZSA4Ontp
ZigodCYxNjM4NHwwKT09MCl7YVt1XT0xMjA7YnJlYWsgTDE0MTB9ZWxzZXthW3VdPTg4O2JyZWFr
IEwxNDEwfWJyZWFrfTtkZWZhdWx0OnthW3VdPTEwMH19fXdoaWxlKDApO3U9a3wwO2Rve2lmKChh
WzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEz
NDQsMCl8MH19d2hpbGUoMCk7dD1nYih1LDEyLGNbMjk1OF18MCxxLChxPWksaT1pKzh8MCxjW3E+
PjJdPWgscSl8MCl8MDtpPXE7cT1rK3R8MDtMMTQyMzpkb3tzd2l0Y2goY1tzPj4yXSYxNzZ8MCl7
Y2FzZSAzMjp7dz1xO2JyZWFrfTtjYXNlIDE2OntoPWFbdV18MDtzd2l0Y2goaDw8MjQ+PjI0KXtj
YXNlIDQ1OmNhc2UgNDM6e3c9aysxfDA7YnJlYWsgTDE0MjM7YnJlYWt9O2RlZmF1bHQ6e319aWYo
ISgodHwwKT4xJmg8PDI0Pj4yND09NDgpKXt4PTExNDc7YnJlYWsgTDE0MjN9c3dpdGNoKGFbaysx
fDBdfDApe2Nhc2UgMTIwOmNhc2UgODg6e2JyZWFrfTtkZWZhdWx0Ont4PTExNDc7YnJlYWsgTDE0
MjN9fXc9aysyfDA7YnJlYWt9O2RlZmF1bHQ6e3g9MTE0N319fXdoaWxlKDApO2lmKCh4fDApPT0x
MTQ3KXt3PXV9eD1sfDA7ZWoobyxmKTtnYyh1LHcscSx4LG0sbixvKTtkeihjW28+PjJdfDApfDA7
Y1twPj4yXT1jW2U+PjJdO2Y5KGIscCx4LGNbbT4+Ml18MCxjW24+PjJdfDAsZixnKTtpPWQ7cmV0
dXJufWZ1bmN0aW9uIGY5KGIsZCxlLGYsZyxoLGope2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9
Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wO2s9aTtp
PWkrMTZ8MDtsPWQ7ZD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tkPj4yXT1jW2w+PjJdO2w9a3ww
O209ZHwwO2Q9Y1ttPj4yXXwwO2lmKChkfDApPT0wKXtjW2I+PjJdPTA7aT1rO3JldHVybn1uPWc7
Zz1lO289bi1nfDA7cD1oKzEyfDA7aD1jW3A+PjJdfDA7cT0oaHwwKT4ob3wwKT9oLW98MDowO289
ZjtoPW8tZ3wwO2Rve2lmKChofDApPjApe2lmKChiMVtjWyhjW2Q+PjJdfDApKzQ4Pj4yXSY2M10o
ZCxlLGgpfDApPT0oaHwwKSl7YnJlYWt9Y1ttPj4yXT0wO2NbYj4+Ml09MDtpPWs7cmV0dXJufX13
aGlsZSgwKTtkb3tpZigocXwwKT4wKXtkXyhsLHEsaik7aWYoKGFbbF0mMSk9PTApe3I9bCsxfDB9
ZWxzZXtyPWNbbCs4Pj4yXXwwfWlmKChiMVtjWyhjW2Q+PjJdfDApKzQ4Pj4yXSY2M10oZCxyLHEp
fDApPT0ocXwwKSl7ZFAobCk7YnJlYWt9Y1ttPj4yXT0wO2NbYj4+Ml09MDtkUChsKTtpPWs7cmV0
dXJufX13aGlsZSgwKTtsPW4tb3wwO2Rve2lmKChsfDApPjApe2lmKChiMVtjWyhjW2Q+PjJdfDAp
KzQ4Pj4yXSY2M10oZCxmLGwpfDApPT0obHwwKSl7YnJlYWt9Y1ttPj4yXT0wO2NbYj4+Ml09MDtp
PWs7cmV0dXJufX13aGlsZSgwKTtjW3A+PjJdPTA7Y1tiPj4yXT1kO2k9aztyZXR1cm59ZnVuY3Rp
b24gZ2EoYixkLGUsZixnLGgpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3Zh
ciBqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0w
LHg9MCx5PTA7aj1pO2k9aSs0OHwwO2s9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJd
PWNbaz4+Ml07az1qfDA7bD1qKzE2fDA7bT1qKzI0fDA7bj1qKzMyfDA7aWYoKGNbZis0Pj4yXSYx
fDApPT0wKXtvPWNbKGNbZD4+Ml18MCkrMjQ+PjJdfDA7Y1tsPj4yXT1jW2U+PjJdO2I5W28mMzFd
KGIsZCxsLGYsZyxoJjEpO2k9ajtyZXR1cm59ZWoobSxmKTtmPW18MDttPWNbZj4+Ml18MDtpZigo
Y1szODI4XXwwKSE9LTEpe2Nbaz4+Ml09MTUzMTI7Y1trKzQ+PjJdPTEyO2Nbays4Pj4yXT0wO2RX
KDE1MzEyLGssOTYpfWs9KGNbMzgyOV18MCktMXwwO2c9Y1ttKzg+PjJdfDA7ZG97aWYoKGNbbSsx
Mj4+Ml18MCktZz4+Mj4+PjA+az4+PjApe2w9Y1tnKyhrPDwyKT4+Ml18MDtpZigobHwwKT09MCl7
YnJlYWt9ZD1sO289Y1tmPj4yXXwwO2R6KG8pfDA7bz1jW2w+PjJdfDA7aWYoaCl7YlpbY1tvKzI0
Pj4yXSYxMjddKG4sZCl9ZWxzZXtiWltjW28rMjg+PjJdJjEyN10obixkKX1kPW47bz1uO2w9YVtv
XXwwO2lmKChsJjEpPT0wKXtwPWQrMXwwO3E9cDtyPXA7cz1uKzh8MH1lbHNle3A9bis4fDA7cT1j
W3A+PjJdfDA7cj1kKzF8MDtzPXB9cD1lfDA7ZD1uKzR8MDt0PXE7dT1sO3doaWxlKDEpe2lmKCh1
JjEpPT0wKXt2PXJ9ZWxzZXt2PWNbcz4+Ml18MH1sPXUmMjU1O2lmKCh0fDApPT0odisoKGwmMXww
KT09MD9sPj4+MTpjW2Q+PjJdfDApfDApKXticmVha31sPWFbdF18MDt3PWNbcD4+Ml18MDtkb3tp
Zigod3wwKSE9MCl7eD13KzI0fDA7eT1jW3g+PjJdfDA7aWYoKHl8MCkhPShjW3crMjg+PjJdfDAp
KXtjW3g+PjJdPXkrMTthW3ldPWw7YnJlYWt9aWYoKGJfW2NbKGNbdz4+Ml18MCkrNTI+PjJdJjMx
XSh3LGwmMjU1KXwwKSE9LTEpe2JyZWFrfWNbcD4+Ml09MH19d2hpbGUoMCk7dD10KzF8MDt1PWFb
b118MH1jW2I+PjJdPWNbcD4+Ml07ZFAobik7aT1qO3JldHVybn19d2hpbGUoMCk7aj1iTyg0KXww
O2txKGopO2JsKGp8MCw4MTc2LDEzNCl9ZnVuY3Rpb24gZ2IoYSxiLGQsZSxmKXthPWF8MDtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTA7Zz1pO2k9aSsxNnwwO2g9Z3wwO2o9
aDtjW2o+PjJdPWY7Y1tqKzQ+PjJdPTA7aj1iQihkfDApfDA7ZD1iQyhhfDAsYnwwLGV8MCxofDAp
fDA7aWYoKGp8MCk9PTApe2k9ZztyZXR1cm4gZHwwfWJCKGp8MCl8MDtpPWc7cmV0dXJuIGR8MH1m
dW5jdGlvbiBnYyhiLGUsZixnLGgsaixrKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtq
PWp8MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9
MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0w
LEs9MCxMPTA7bD1pO2k9aSs0OHwwO209bHwwO249bCsxNnwwO289bCszMnwwO3A9a3wwO2s9Y1tw
Pj4yXXwwO2lmKChjWzM5MjRdfDApIT0tMSl7Y1tuPj4yXT0xNTY5NjtjW24rND4+Ml09MTI7Y1tu
Kzg+PjJdPTA7ZFcoMTU2OTYsbiw5Nil9bj0oY1szOTI1XXwwKS0xfDA7cT1jW2srOD4+Ml18MDtp
ZigoY1trKzEyPj4yXXwwKS1xPj4yPj4+MDw9bj4+PjApe3I9Yk8oNCl8MDtzPXI7a3Eocyk7Ymwo
cnwwLDgxNzYsMTM0KX1rPWNbcSsobjw8Mik+PjJdfDA7aWYoKGt8MCk9PTApe3I9Yk8oNCl8MDtz
PXI7a3Eocyk7YmwocnwwLDgxNzYsMTM0KX1yPWs7cz1jW3A+PjJdfDA7aWYoKGNbMzgyOF18MCkh
PS0xKXtjW20+PjJdPTE1MzEyO2NbbSs0Pj4yXT0xMjtjW20rOD4+Ml09MDtkVygxNTMxMixtLDk2
KX1tPShjWzM4MjldfDApLTF8MDtwPWNbcys4Pj4yXXwwO2lmKChjW3MrMTI+PjJdfDApLXA+PjI+
Pj4wPD1tPj4+MCl7dD1iTyg0KXwwO3U9dDtrcSh1KTtibCh0fDAsODE3NiwxMzQpfXM9Y1twKyht
PDwyKT4+Ml18MDtpZigoc3wwKT09MCl7dD1iTyg0KXwwO3U9dDtrcSh1KTtibCh0fDAsODE3Niwx
MzQpfXQ9cztiWltjWyhjW3M+PjJdfDApKzIwPj4yXSYxMjddKG8sdCk7dT1vO209bztwPWRbbV18
MDtpZigocCYxfDApPT0wKXt2PXA+Pj4xfWVsc2V7dj1jW28rND4+Ml18MH1kb3tpZigodnwwKT09
MCl7cD1jWyhjW2s+PjJdfDApKzMyPj4yXXwwO2NhW3AmMTVdKHIsYixmLGcpfDA7Y1tqPj4yXT1n
KyhmLWIpfWVsc2V7Y1tqPj4yXT1nO3A9YVtiXXwwO3N3aXRjaChwPDwyND4+MjQpe2Nhc2UgNDU6
Y2FzZSA0Mzp7bj1iX1tjWyhjW2s+PjJdfDApKzI4Pj4yXSYzMV0ocixwKXwwO3A9Y1tqPj4yXXww
O2Nbaj4+Ml09cCsxO2FbcF09bjt3PWIrMXwwO2JyZWFrfTtkZWZhdWx0Ont3PWJ9fUwxNTMzOmRv
e2lmKChmLXd8MCk+MSl7aWYoKGFbd118MCkhPTQ4KXt4PXc7YnJlYWt9bj13KzF8MDtzd2l0Y2go
YVtuXXwwKXtjYXNlIDEyMDpjYXNlIDg4OnticmVha307ZGVmYXVsdDp7eD13O2JyZWFrIEwxNTMz
fX1wPWs7cT1iX1tjWyhjW3A+PjJdfDApKzI4Pj4yXSYzMV0ociw0OCl8MDt5PWNbaj4+Ml18MDtj
W2o+PjJdPXkrMTthW3ldPXE7cT1iX1tjWyhjW3A+PjJdfDApKzI4Pj4yXSYzMV0ocixhW25dfDAp
fDA7bj1jW2o+PjJdfDA7Y1tqPj4yXT1uKzE7YVtuXT1xO3g9dysyfDB9ZWxzZXt4PXd9fXdoaWxl
KDApO2Rve2lmKCh4fDApIT0oZnwwKSl7cT1mLTF8MDtpZih4Pj4+MDxxPj4+MCl7ej14O0E9cX1l
bHNle2JyZWFrfWRve3E9YVt6XXwwO2Fbel09YVtBXXwwO2FbQV09cTt6PXorMXwwO0E9QS0xfDA7
fXdoaWxlKHo+Pj4wPEE+Pj4wKX19d2hpbGUoMCk7cT1iMFtjWyhjW3M+PjJdfDApKzE2Pj4yXSYx
MjddKHQpfDA7aWYoeD4+PjA8Zj4+PjApe249dSsxfDA7cD1rO3k9bys0fDA7Qj1vKzh8MDtDPTA7
RD0wO0U9eDt3aGlsZSgxKXtGPShhW21dJjEpPT0wO2Rve2lmKChhWyhGP246Y1tCPj4yXXwwKStE
fDBdfDApPT0wKXtHPUQ7SD1DfWVsc2V7aWYoKEN8MCkhPShhWyhGP246Y1tCPj4yXXwwKStEfDBd
fDApKXtHPUQ7SD1DO2JyZWFrfUk9Y1tqPj4yXXwwO2Nbaj4+Ml09SSsxO2FbSV09cTtJPWRbbV18
MDtHPShEPj4+MDwoKChJJjF8MCk9PTA/ST4+PjE6Y1t5Pj4yXXwwKS0xfDApPj4+MCkrRHwwO0g9
MH19d2hpbGUoMCk7Rj1iX1tjWyhjW3A+PjJdfDApKzI4Pj4yXSYzMV0ocixhW0VdfDApfDA7ST1j
W2o+PjJdfDA7Y1tqPj4yXT1JKzE7YVtJXT1GO0Y9RSsxfDA7aWYoRj4+PjA8Zj4+PjApe0M9SCsx
fDA7RD1HO0U9Rn1lbHNle2JyZWFrfX19RT1nKyh4LWIpfDA7RD1jW2o+PjJdfDA7aWYoKEV8MCk9
PShEfDApKXticmVha31DPUQtMXwwO2lmKEU+Pj4wPEM+Pj4wKXtKPUU7Sz1DfWVsc2V7YnJlYWt9
ZG97Qz1hW0pdfDA7YVtKXT1hW0tdfDA7YVtLXT1DO0o9SisxfDA7Sz1LLTF8MDt9d2hpbGUoSj4+
PjA8Sz4+PjApfX13aGlsZSgwKTtpZigoZXwwKT09KGZ8MCkpe0w9Y1tqPj4yXXwwO2NbaD4+Ml09
TDtkUChvKTtpPWw7cmV0dXJufWVsc2V7TD1nKyhlLWIpfDA7Y1toPj4yXT1MO2RQKG8pO2k9bDty
ZXR1cm59fWZ1bmN0aW9uIGdkKGIsZCxlLGYsZyxoLGope2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9Znww
O2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9
MCx0PTAsdT0wLHY9MCx3PTAseD0wO2Q9aTtpPWkrMTEyfDA7az1lO2U9aTtpPWkrNHwwO2k9aSs3
Pj4zPDwzO2NbZT4+Ml09Y1trPj4yXTtrPWR8MDtsPWQrOHwwO209ZCszMnwwO249ZCs4MHwwO289
ZCs4OHwwO3A9ZCs5NnwwO3E9ZCsxMDR8MDtjW2s+PjJdPTM3O2Nbays0Pj4yXT0wO3I9aztrPXIr
MXwwO3M9Zis0fDA7dD1jW3M+PjJdfDA7aWYoKHQmMjA0OHwwKT09MCl7dT1rfWVsc2V7YVtrXT00
Mzt1PXIrMnwwfWlmKCh0JjUxMnwwKT09MCl7dj11fWVsc2V7YVt1XT0zNTt2PXUrMXwwfWFbdl09
MTA4O2FbdisxfDBdPTEwODt1PXYrMnwwO0wxNTc0OmRve3N3aXRjaCh0Jjc0fDApe2Nhc2UgNjQ6
e2FbdV09MTExO2JyZWFrfTtjYXNlIDg6e2lmKCh0JjE2Mzg0fDApPT0wKXthW3VdPTEyMDticmVh
ayBMMTU3NH1lbHNle2FbdV09ODg7YnJlYWsgTDE1NzR9YnJlYWt9O2RlZmF1bHQ6e2FbdV09MTAw
fX19d2hpbGUoMCk7dT1sfDA7ZG97aWYoKGFbMTYyNjRdfDApPT0wKXtpZigoYmMoMTYyNjQpfDAp
PT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTt0PWdiKHUsMjIsY1sy
OTU4XXwwLHIsKHI9aSxpPWkrMTZ8MCxjW3I+PjJdPWgsY1tyKzg+PjJdPWoscil8MCl8MDtpPXI7
cj1sK3R8MDtMMTU4Nzpkb3tzd2l0Y2goY1tzPj4yXSYxNzZ8MCl7Y2FzZSAxNjp7aj1hW3VdfDA7
c3dpdGNoKGo8PDI0Pj4yNCl7Y2FzZSA0NTpjYXNlIDQzOnt3PWwrMXwwO2JyZWFrIEwxNTg3O2Jy
ZWFrfTtkZWZhdWx0Ont9fWlmKCEoKHR8MCk+MSZqPDwyND4+MjQ9PTQ4KSl7eD0xMjg2O2JyZWFr
IEwxNTg3fXN3aXRjaChhW2wrMXwwXXwwKXtjYXNlIDEyMDpjYXNlIDg4OnticmVha307ZGVmYXVs
dDp7eD0xMjg2O2JyZWFrIEwxNTg3fX13PWwrMnwwO2JyZWFrfTtjYXNlIDMyOnt3PXI7YnJlYWt9
O2RlZmF1bHQ6e3g9MTI4Nn19fXdoaWxlKDApO2lmKCh4fDApPT0xMjg2KXt3PXV9eD1tfDA7ZWoo
cCxmKTtnYyh1LHcscix4LG4sbyxwKTtkeihjW3A+PjJdfDApfDA7Y1txPj4yXT1jW2U+PjJdO2Y5
KGIscSx4LGNbbj4+Ml18MCxjW28+PjJdfDAsZixnKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIGdlKGIs
ZCxlLGYsZyxoKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9
MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTA7ZD1p
O2k9aSs4MHwwO2o9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNbaj4+Ml07aj1k
fDA7az1kKzh8MDtsPWQrMjR8MDttPWQrNDh8MDtuPWQrNTZ8MDtvPWQrNjR8MDtwPWQrNzJ8MDtx
PWp8MDthW3FdPWFbMjM4NF18MDthW3ErMXwwXT1hWzIzODV8MF18MDthW3ErMnwwXT1hWzIzODZ8
MF18MDthW3ErM3wwXT1hWzIzODd8MF18MDthW3ErNHwwXT1hWzIzODh8MF18MDthW3ErNXwwXT1h
WzIzODl8MF18MDtyPWorMXwwO3M9Zis0fDA7dD1jW3M+PjJdfDA7aWYoKHQmMjA0OHwwKT09MCl7
dT1yfWVsc2V7YVtyXT00Mzt1PWorMnwwfWlmKCh0JjUxMnwwKT09MCl7dj11fWVsc2V7YVt1XT0z
NTt2PXUrMXwwfWFbdl09MTA4O3U9disxfDA7TDE2MDU6ZG97c3dpdGNoKHQmNzR8MCl7Y2FzZSA2
NDp7YVt1XT0xMTE7YnJlYWt9O2Nhc2UgODp7aWYoKHQmMTYzODR8MCk9PTApe2FbdV09MTIwO2Jy
ZWFrIEwxNjA1fWVsc2V7YVt1XT04ODticmVhayBMMTYwNX1icmVha307ZGVmYXVsdDp7YVt1XT0x
MTd9fX13aGlsZSgwKTt1PWt8MDtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8
MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDApO3Q9Z2IodSwxMixj
WzI5NThdfDAscSwocT1pLGk9aSs4fDAsY1txPj4yXT1oLHEpfDApfDA7aT1xO3E9ayt0fDA7TDE2
MTg6ZG97c3dpdGNoKGNbcz4+Ml0mMTc2fDApe2Nhc2UgMzI6e3c9cTticmVha307Y2FzZSAxNjp7
aD1hW3VdfDA7c3dpdGNoKGg8PDI0Pj4yNCl7Y2FzZSA0NTpjYXNlIDQzOnt3PWsrMXwwO2JyZWFr
IEwxNjE4O2JyZWFrfTtkZWZhdWx0Ont9fWlmKCEoKHR8MCk+MSZoPDwyND4+MjQ9PTQ4KSl7eD0x
MzExO2JyZWFrIEwxNjE4fXN3aXRjaChhW2srMXwwXXwwKXtjYXNlIDEyMDpjYXNlIDg4OnticmVh
a307ZGVmYXVsdDp7eD0xMzExO2JyZWFrIEwxNjE4fX13PWsrMnwwO2JyZWFrfTtkZWZhdWx0Ont4
PTEzMTF9fX13aGlsZSgwKTtpZigoeHwwKT09MTMxMSl7dz11fXg9bHwwO2VqKG8sZik7Z2ModSx3
LHEseCxtLG4sbyk7ZHooY1tvPj4yXXwwKXwwO2NbcD4+Ml09Y1tlPj4yXTtmOShiLHAseCxjW20+
PjJdfDAsY1tuPj4yXXwwLGYsZyk7aT1kO3JldHVybn1mdW5jdGlvbiBnZihiLGQsZSxmLGcsaCxq
KXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDt2YXIgaz0wLGw9MCxt
PTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MDtkPWk7aT1pKzEx
MnwwO2s9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNbaz4+Ml07az1kfDA7bD1k
Kzh8MDttPWQrMzJ8MDtuPWQrODB8MDtvPWQrODh8MDtwPWQrOTZ8MDtxPWQrMTA0fDA7Y1trPj4y
XT0zNztjW2srND4+Ml09MDtyPWs7az1yKzF8MDtzPWYrNHwwO3Q9Y1tzPj4yXXwwO2lmKCh0JjIw
NDh8MCk9PTApe3U9a31lbHNle2Fba109NDM7dT1yKzJ8MH1pZigodCY1MTJ8MCk9PTApe3Y9dX1l
bHNle2FbdV09MzU7dj11KzF8MH1hW3ZdPTEwODthW3YrMXwwXT0xMDg7dT12KzJ8MDtMMTYzNjpk
b3tzd2l0Y2godCY3NHwwKXtjYXNlIDg6e2lmKCh0JjE2Mzg0fDApPT0wKXthW3VdPTEyMDticmVh
ayBMMTYzNn1lbHNle2FbdV09ODg7YnJlYWsgTDE2MzZ9YnJlYWt9O2Nhc2UgNjQ6e2FbdV09MTEx
O2JyZWFrfTtkZWZhdWx0OnthW3VdPTExN319fXdoaWxlKDApO3U9bHwwO2Rve2lmKChhWzE2MjY0
XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8
MH19d2hpbGUoMCk7dD1nYih1LDIzLGNbMjk1OF18MCxyLChyPWksaT1pKzE2fDAsY1tyPj4yXT1o
LGNbcis4Pj4yXT1qLHIpfDApfDA7aT1yO3I9bCt0fDA7TDE2NDk6ZG97c3dpdGNoKGNbcz4+Ml0m
MTc2fDApe2Nhc2UgMTY6e2o9YVt1XXwwO3N3aXRjaChqPDwyND4+MjQpe2Nhc2UgNDU6Y2FzZSA0
Mzp7dz1sKzF8MDticmVhayBMMTY0OTticmVha307ZGVmYXVsdDp7fX1pZighKCh0fDApPjEmajw8
MjQ+PjI0PT00OCkpe3g9MTMzNjticmVhayBMMTY0OX1zd2l0Y2goYVtsKzF8MF18MCl7Y2FzZSAx
MjA6Y2FzZSA4ODp7YnJlYWt9O2RlZmF1bHQ6e3g9MTMzNjticmVhayBMMTY0OX19dz1sKzJ8MDti
cmVha307Y2FzZSAzMjp7dz1yO2JyZWFrfTtkZWZhdWx0Ont4PTEzMzZ9fX13aGlsZSgwKTtpZigo
eHwwKT09MTMzNil7dz11fXg9bXwwO2VqKHAsZik7Z2ModSx3LHIseCxuLG8scCk7ZHooY1twPj4y
XXwwKXwwO2NbcT4+Ml09Y1tlPj4yXTtmOShiLHEseCxjW24+PjJdfDAsY1tvPj4yXXwwLGYsZyk7
aT1kO3JldHVybn1mdW5jdGlvbiBnZyhiLGQsZSxmLGcsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1m
fDA7Zz1nfDA7aj0rajt2YXIgaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0w
LHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAs
ST0wLEo9MDtkPWk7aT1pKzE1MnwwO2s9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJd
PWNbaz4+Ml07az1kfDA7bD1kKzh8MDttPWQrNDB8MDtuPWQrNDh8MDtvPWQrMTEyfDA7cD1kKzEy
MHwwO3E9ZCsxMjh8MDtyPWQrMTM2fDA7cz1kKzE0NHwwO2Nbaz4+Ml09Mzc7Y1trKzQ+PjJdPTA7
dD1rO2s9dCsxfDA7dT1mKzR8MDt2PWNbdT4+Ml18MDtpZigodiYyMDQ4fDApPT0wKXt3PWt9ZWxz
ZXthW2tdPTQzO3c9dCsyfDB9aWYoKHYmMTAyNHwwKT09MCl7eD13fWVsc2V7YVt3XT0zNTt4PXcr
MXwwfXc9diYyNjA7az12Pj4+MTQ7TDE2Njc6ZG97aWYoKHd8MCk9PTI2MCl7aWYoKGsmMXwwKT09
MCl7YVt4XT05Nzt5PTA7YnJlYWt9ZWxzZXthW3hdPTY1O3k9MDticmVha319ZWxzZXthW3hdPTQ2
O3Y9eCsyfDA7YVt4KzF8MF09NDI7c3dpdGNoKHd8MCl7Y2FzZSA0OntpZigoayYxfDApPT0wKXth
W3ZdPTEwMjt5PTE7YnJlYWsgTDE2Njd9ZWxzZXthW3ZdPTcwO3k9MTticmVhayBMMTY2N31icmVh
a307Y2FzZSAyNTY6e2lmKChrJjF8MCk9PTApe2Fbdl09MTAxO3k9MTticmVhayBMMTY2N31lbHNl
e2Fbdl09Njk7eT0xO2JyZWFrIEwxNjY3fWJyZWFrfTtkZWZhdWx0OntpZigoayYxfDApPT0wKXth
W3ZdPTEwMzt5PTE7YnJlYWsgTDE2Njd9ZWxzZXthW3ZdPTcxO3k9MTticmVhayBMMTY2N319fX19
d2hpbGUoMCk7az1sfDA7Y1ttPj4yXT1rO2Rve2lmKChhWzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2
MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8MH19d2hpbGUoMCk7bD1jWzI5
NThdfDA7aWYoeSl7dz1nYihrLDMwLGwsdCwoej1pLGk9aSsxNnwwLGNbej4+Ml09Y1tmKzg+PjJd
LGhbeis4Pj4zXT1qLHopfDApfDA7aT16O0E9d31lbHNle3c9Z2IoaywzMCxsLHQsKHo9aSxpPWkr
OHwwLGhbej4+M109aix6KXwwKXwwO2k9ejtBPXd9ZG97aWYoKEF8MCk+Mjkpe3c9KGFbMTYyNjRd
fDApPT0wO2lmKHkpe2Rve2lmKHcpe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09
YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDApO2w9Z2gobSxjWzI5NThdfDAsdCwoej1pLGk9aSsxNnww
LGNbej4+Ml09Y1tmKzg+PjJdLGhbeis4Pj4zXT1qLHopfDApfDA7aT16O0I9bH1lbHNle2Rve2lm
KHcpe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdo
aWxlKDApO3c9Z2gobSxjWzI5NThdfDAsdCwoej1pLGk9aSsxNnwwLGNbej4+Ml09Y1tmKzg+PjJd
LGhbeis4Pj4zXT1qLHopfDApfDA7aT16O0I9d313PWNbbT4+Ml18MDtpZigod3wwKSE9MCl7Qz1C
O0Q9dztFPXc7YnJlYWt9a1goKTt3PWNbbT4+Ml18MDtDPUI7RD13O0U9d31lbHNle0M9QTtEPTA7
RT1jW20+PjJdfDB9fXdoaWxlKDApO0E9RStDfDA7TDE3MTY6ZG97c3dpdGNoKGNbdT4+Ml0mMTc2
fDApe2Nhc2UgMTY6e0I9YVtFXXwwO3N3aXRjaChCPDwyND4+MjQpe2Nhc2UgNDU6Y2FzZSA0Mzp7
Rj1FKzF8MDticmVhayBMMTcxNjticmVha307ZGVmYXVsdDp7fX1pZighKChDfDApPjEmQjw8MjQ+
PjI0PT00OCkpe0c9MTM5MjticmVhayBMMTcxNn1zd2l0Y2goYVtFKzF8MF18MCl7Y2FzZSAxMjA6
Y2FzZSA4ODp7YnJlYWt9O2RlZmF1bHQ6e0c9MTM5MjticmVhayBMMTcxNn19Rj1FKzJ8MDticmVh
a307Y2FzZSAzMjp7Rj1BO2JyZWFrfTtkZWZhdWx0OntHPTEzOTJ9fX13aGlsZSgwKTtpZigoR3ww
KT09MTM5Mil7Rj1FfWRve2lmKChFfDApPT0oa3wwKSl7SD1ufDA7ST0wO0o9a31lbHNle0c9a0oo
Qzw8MSl8MDtpZigoR3wwKSE9MCl7SD1HO0k9RztKPUU7YnJlYWt9a1goKTtIPTA7ST0wO0o9Y1tt
Pj4yXXwwfX13aGlsZSgwKTtlaihxLGYpO2dqKEosRixBLEgsbyxwLHEpO2R6KGNbcT4+Ml18MCl8
MDtxPWV8MDtjW3M+PjJdPWNbcT4+Ml07ZjkocixzLEgsY1tvPj4yXXwwLGNbcD4+Ml18MCxmLGcp
O2c9Y1tyPj4yXXwwO2NbcT4+Ml09ZztjW2I+PjJdPWc7aWYoKEl8MCkhPTApe2tLKEkpfWlmKChE
fDApPT0wKXtpPWQ7cmV0dXJufWtLKEQpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gZ2goYSxiLGQsZSl7
YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wO2Y9aTtpPWkrMTZ8MDtnPWZ8
MDtoPWc7Y1toPj4yXT1lO2NbaCs0Pj4yXT0wO2g9YkIoYnwwKXwwO2I9YlEoYXwwLGR8MCxnfDAp
fDA7aWYoKGh8MCk9PTApe2k9ZjtyZXR1cm4gYnwwfWJCKGh8MCl8MDtpPWY7cmV0dXJuIGJ8MH1m
dW5jdGlvbiBnaShiLGQsZSxmLGcsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aj0r
ajt2YXIgaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0w
LHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MDtkPWk7
aT1pKzE1MnwwO2s9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNbaz4+Ml07az1k
fDA7bD1kKzh8MDttPWQrNDB8MDtuPWQrNDh8MDtvPWQrMTEyfDA7cD1kKzEyMHwwO3E9ZCsxMjh8
MDtyPWQrMTM2fDA7cz1kKzE0NHwwO2Nbaz4+Ml09Mzc7Y1trKzQ+PjJdPTA7dD1rO2s9dCsxfDA7
dT1mKzR8MDt2PWNbdT4+Ml18MDtpZigodiYyMDQ4fDApPT0wKXt3PWt9ZWxzZXthW2tdPTQzO3c9
dCsyfDB9aWYoKHYmMTAyNHwwKT09MCl7eD13fWVsc2V7YVt3XT0zNTt4PXcrMXwwfXc9diYyNjA7
az12Pj4+MTQ7TDE3NTQ6ZG97aWYoKHd8MCk9PTI2MCl7YVt4XT03Njt2PXgrMXwwO2lmKChrJjF8
MCk9PTApe2Fbdl09OTc7eT0wO2JyZWFrfWVsc2V7YVt2XT02NTt5PTA7YnJlYWt9fWVsc2V7YVt4
XT00NjthW3grMXwwXT00MjthW3grMnwwXT03Njt2PXgrM3wwO3N3aXRjaCh3fDApe2Nhc2UgNDp7
aWYoKGsmMXwwKT09MCl7YVt2XT0xMDI7eT0xO2JyZWFrIEwxNzU0fWVsc2V7YVt2XT03MDt5PTE7
YnJlYWsgTDE3NTR9YnJlYWt9O2Nhc2UgMjU2OntpZigoayYxfDApPT0wKXthW3ZdPTEwMTt5PTE7
YnJlYWsgTDE3NTR9ZWxzZXthW3ZdPTY5O3k9MTticmVhayBMMTc1NH1icmVha307ZGVmYXVsdDp7
aWYoKGsmMXwwKT09MCl7YVt2XT0xMDM7eT0xO2JyZWFrIEwxNzU0fWVsc2V7YVt2XT03MTt5PTE7
YnJlYWsgTDE3NTR9fX19fXdoaWxlKDApO2s9bHwwO2NbbT4+Ml09aztkb3tpZigoYVsxNjI2NF18
MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9
fXdoaWxlKDApO2w9Y1syOTU4XXwwO2lmKHkpe3c9Z2IoaywzMCxsLHQsKHo9aSxpPWkrMTZ8MCxj
W3o+PjJdPWNbZis4Pj4yXSxoW3orOD4+M109aix6KXwwKXwwO2k9ejtBPXd9ZWxzZXt3PWdiKGss
MzAsbCx0LCh6PWksaT1pKzh8MCxoW3o+PjNdPWoseil8MCl8MDtpPXo7QT13fWRve2lmKChBfDAp
PjI5KXt3PShhWzE2MjY0XXwwKT09MDtpZih5KXtkb3tpZih3KXtpZigoYmMoMTYyNjQpfDApPT0w
KXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTtsPWdoKG0sY1syOTU4XXww
LHQsKHo9aSxpPWkrMTZ8MCxjW3o+PjJdPWNbZis4Pj4yXSxoW3orOD4+M109aix6KXwwKXwwO2k9
ejtCPWx9ZWxzZXtkb3tpZih3KXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFT
KDEsMTM0NCwwKXwwfX13aGlsZSgwKTt3PWdoKG0sY1syOTU4XXwwLHQsKHo9aSxpPWkrOHwwLGhb
ej4+M109aix6KXwwKXwwO2k9ejtCPXd9dz1jW20+PjJdfDA7aWYoKHd8MCkhPTApe0M9QjtEPXc7
RT13O2JyZWFrfWtYKCk7dz1jW20+PjJdfDA7Qz1CO0Q9dztFPXd9ZWxzZXtDPUE7RD0wO0U9Y1tt
Pj4yXXwwfX13aGlsZSgwKTtBPUUrQ3wwO0wxODAzOmRve3N3aXRjaChjW3U+PjJdJjE3NnwwKXtj
YXNlIDMyOntGPUE7YnJlYWt9O2Nhc2UgMTY6e0I9YVtFXXwwO3N3aXRjaChCPDwyND4+MjQpe2Nh
c2UgNDU6Y2FzZSA0Mzp7Rj1FKzF8MDticmVhayBMMTgwMzticmVha307ZGVmYXVsdDp7fX1pZigh
KChDfDApPjEmQjw8MjQ+PjI0PT00OCkpe0c9MTQ3NzticmVhayBMMTgwM31zd2l0Y2goYVtFKzF8
MF18MCl7Y2FzZSAxMjA6Y2FzZSA4ODp7YnJlYWt9O2RlZmF1bHQ6e0c9MTQ3NzticmVhayBMMTgw
M319Rj1FKzJ8MDticmVha307ZGVmYXVsdDp7Rz0xNDc3fX19d2hpbGUoMCk7aWYoKEd8MCk9PTE0
Nzcpe0Y9RX1kb3tpZigoRXwwKT09KGt8MCkpe0g9bnwwO0k9MDtKPWt9ZWxzZXtHPWtKKEM8PDEp
fDA7aWYoKEd8MCkhPTApe0g9RztJPUc7Sj1FO2JyZWFrfWtYKCk7SD0wO0k9MDtKPWNbbT4+Ml18
MH19d2hpbGUoMCk7ZWoocSxmKTtnaihKLEYsQSxILG8scCxxKTtkeihjW3E+PjJdfDApfDA7cT1l
fDA7Y1tzPj4yXT1jW3E+PjJdO2Y5KHIscyxILGNbbz4+Ml18MCxjW3A+PjJdfDAsZixnKTtnPWNb
cj4+Ml18MDtjW3E+PjJdPWc7Y1tiPj4yXT1nO2lmKChJfDApIT0wKXtrSyhJKX1pZigoRHwwKT09
MCl7aT1kO3JldHVybn1rSyhEKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIGdqKGIsZSxmLGcsaCxqLGsp
e2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0wLG49
MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0w
LEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wO2w9aTtpPWkr
NDh8MDttPWx8MDtuPWwrMTZ8MDtvPWwrMzJ8MDtwPWt8MDtrPWNbcD4+Ml18MDtpZigoY1szOTI0
XXwwKSE9LTEpe2Nbbj4+Ml09MTU2OTY7Y1tuKzQ+PjJdPTEyO2Nbbis4Pj4yXT0wO2RXKDE1Njk2
LG4sOTYpfW49KGNbMzkyNV18MCktMXwwO3E9Y1trKzg+PjJdfDA7aWYoKGNbaysxMj4+Ml18MCkt
cT4+Mj4+PjA8PW4+Pj4wKXtyPWJPKDQpfDA7cz1yO2txKHMpO2JsKHJ8MCw4MTc2LDEzNCl9az1j
W3ErKG48PDIpPj4yXXwwO2lmKChrfDApPT0wKXtyPWJPKDQpfDA7cz1yO2txKHMpO2JsKHJ8MCw4
MTc2LDEzNCl9cj1rO3M9Y1twPj4yXXwwO2lmKChjWzM4MjhdfDApIT0tMSl7Y1ttPj4yXT0xNTMx
MjtjW20rND4+Ml09MTI7Y1ttKzg+PjJdPTA7ZFcoMTUzMTIsbSw5Nil9bT0oY1szODI5XXwwKS0x
fDA7cD1jW3MrOD4+Ml18MDtpZigoY1tzKzEyPj4yXXwwKS1wPj4yPj4+MDw9bT4+PjApe3Q9Yk8o
NCl8MDt1PXQ7a3EodSk7YmwodHwwLDgxNzYsMTM0KX1zPWNbcCsobTw8Mik+PjJdfDA7aWYoKHN8
MCk9PTApe3Q9Yk8oNCl8MDt1PXQ7a3EodSk7YmwodHwwLDgxNzYsMTM0KX10PXM7YlpbY1soY1tz
Pj4yXXwwKSsyMD4+Ml0mMTI3XShvLHQpO2Nbaj4+Ml09Zzt1PWFbYl18MDtzd2l0Y2godTw8MjQ+
PjI0KXtjYXNlIDQ1OmNhc2UgNDM6e209Yl9bY1soY1trPj4yXXwwKSsyOD4+Ml0mMzFdKHIsdSl8
MDt1PWNbaj4+Ml18MDtjW2o+PjJdPXUrMTthW3VdPW07dj1iKzF8MDticmVha307ZGVmYXVsdDp7
dj1ifX1tPWY7TDE4NTE6ZG97aWYoKG0tdnwwKT4xKXtpZigoYVt2XXwwKSE9NDgpe3c9djt4PTE1
MzI7YnJlYWt9dT12KzF8MDtzd2l0Y2goYVt1XXwwKXtjYXNlIDEyMDpjYXNlIDg4OnticmVha307
ZGVmYXVsdDp7dz12O3g9MTUzMjticmVhayBMMTg1MX19cD1rO249Yl9bY1soY1twPj4yXXwwKSsy
OD4+Ml0mMzFdKHIsNDgpfDA7cT1jW2o+PjJdfDA7Y1tqPj4yXT1xKzE7YVtxXT1uO249disyfDA7
cT1iX1tjWyhjW3A+PjJdfDApKzI4Pj4yXSYzMV0ocixhW3VdfDApfDA7dT1jW2o+PjJdfDA7Y1tq
Pj4yXT11KzE7YVt1XT1xO3E9bjt3aGlsZSgxKXtpZihxPj4+MD49Zj4+PjApe3k9cTt6PW47YnJl
YWsgTDE4NTF9dT1hW3FdfDA7ZG97aWYoKGFbMTYyNjRdfDApPT0wKXtpZigoYmMoMTYyNjQpfDAp
PT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTtpZigoYTModTw8MjQ+
PjI0fDAsY1syOTU4XXwwKXwwKT09MCl7eT1xO3o9bjticmVha31lbHNle3E9cSsxfDB9fX1lbHNl
e3c9djt4PTE1MzJ9fXdoaWxlKDApO0wxODY2OmRve2lmKCh4fDApPT0xNTMyKXt3aGlsZSgxKXt4
PTA7aWYodz4+PjA+PWY+Pj4wKXt5PXc7ej12O2JyZWFrIEwxODY2fXE9YVt3XXwwO2Rve2lmKChh
WzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEz
NDQsMCl8MH19d2hpbGUoMCk7aWYoKGJIKHE8PDI0Pj4yNHwwLGNbMjk1OF18MCl8MCk9PTApe3k9
dzt6PXY7YnJlYWt9ZWxzZXt3PXcrMXwwO3g9MTUzMn19fX13aGlsZSgwKTt4PW87dz1vO3Y9ZFt3
XXwwO2lmKCh2JjF8MCk9PTApe0E9dj4+PjF9ZWxzZXtBPWNbbys0Pj4yXXwwfWRve2lmKChBfDAp
PT0wKXt2PWNbaj4+Ml18MDt1PWNbKGNbaz4+Ml18MCkrMzI+PjJdfDA7Y2FbdSYxNV0ocix6LHks
dil8MDtjW2o+PjJdPShjW2o+PjJdfDApKyh5LXopfWVsc2V7ZG97aWYoKHp8MCkhPSh5fDApKXt2
PXktMXwwO2lmKHo+Pj4wPHY+Pj4wKXtCPXo7Qz12fWVsc2V7YnJlYWt9ZG97dj1hW0JdfDA7YVtC
XT1hW0NdfDA7YVtDXT12O0I9QisxfDA7Qz1DLTF8MDt9d2hpbGUoQj4+PjA8Qz4+PjApfX13aGls
ZSgwKTtxPWIwW2NbKGNbcz4+Ml18MCkrMTY+PjJdJjEyN10odCl8MDtpZih6Pj4+MDx5Pj4+MCl7
dj14KzF8MDt1PW8rNHwwO249bys4fDA7cD1rO0Q9MDtFPTA7Rj16O3doaWxlKDEpe0c9KGFbd10m
MSk9PTA7ZG97aWYoKGFbKEc/djpjW24+PjJdfDApK0V8MF18MCk+MCl7aWYoKER8MCkhPShhWyhH
P3Y6Y1tuPj4yXXwwKStFfDBdfDApKXtIPUU7ST1EO2JyZWFrfUo9Y1tqPj4yXXwwO2Nbaj4+Ml09
SisxO2FbSl09cTtKPWRbd118MDtIPShFPj4+MDwoKChKJjF8MCk9PTA/Sj4+PjE6Y1t1Pj4yXXww
KS0xfDApPj4+MCkrRXwwO0k9MH1lbHNle0g9RTtJPUR9fXdoaWxlKDApO0c9Yl9bY1soY1twPj4y
XXwwKSsyOD4+Ml0mMzFdKHIsYVtGXXwwKXwwO0o9Y1tqPj4yXXwwO2Nbaj4+Ml09SisxO2FbSl09
RztHPUYrMXwwO2lmKEc+Pj4wPHk+Pj4wKXtEPUkrMXwwO0U9SDtGPUd9ZWxzZXticmVha319fUY9
Zysoei1iKXwwO0U9Y1tqPj4yXXwwO2lmKChGfDApPT0oRXwwKSl7YnJlYWt9RD1FLTF8MDtpZihG
Pj4+MDxEPj4+MCl7Sz1GO0w9RH1lbHNle2JyZWFrfWRve0Q9YVtLXXwwO2FbS109YVtMXXwwO2Fb
TF09RDtLPUsrMXwwO0w9TC0xfDA7fXdoaWxlKEs+Pj4wPEw+Pj4wKX19d2hpbGUoMCk7TDE5MDU6
ZG97aWYoeT4+PjA8Zj4+PjApe0w9aztLPXk7d2hpbGUoMSl7ej1hW0tdfDA7aWYoejw8MjQ+PjI0
PT00Nil7YnJlYWt9SD1iX1tjWyhjW0w+PjJdfDApKzI4Pj4yXSYzMV0ocix6KXwwO3o9Y1tqPj4y
XXwwO2Nbaj4+Ml09eisxO2Fbel09SDtIPUsrMXwwO2lmKEg+Pj4wPGY+Pj4wKXtLPUh9ZWxzZXtN
PUg7YnJlYWsgTDE5MDV9fUw9YjBbY1soY1tzPj4yXXwwKSsxMj4+Ml0mMTI3XSh0KXwwO0g9Y1tq
Pj4yXXwwO2Nbaj4+Ml09SCsxO2FbSF09TDtNPUsrMXwwfWVsc2V7TT15fX13aGlsZSgwKTtjYVtj
WyhjW2s+PjJdfDApKzMyPj4yXSYxNV0ocixNLGYsY1tqPj4yXXwwKXwwO3I9KGNbaj4+Ml18MCkr
KG0tTSl8MDtjW2o+PjJdPXI7aWYoKGV8MCk9PShmfDApKXtOPXI7Y1toPj4yXT1OO2RQKG8pO2k9
bDtyZXR1cm59Tj1nKyhlLWIpfDA7Y1toPj4yXT1OO2RQKG8pO2k9bDtyZXR1cm59ZnVuY3Rpb24g
Z2soYSl7YT1hfDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gZ2woYSl7YT1hfDA7ZGUo
YXwwKTtyZXR1cm59ZnVuY3Rpb24gZ20oYixkLGUsZixnLGgpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9
ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxz
PTAsdD0wLHU9MCx2PTAsdz0wLHg9MDtkPWk7aT1pKzE0NHwwO2o9ZTtlPWk7aT1pKzR8MDtpPWkr
Nz4+Mzw8MztjW2U+PjJdPWNbaj4+Ml07aj1kfDA7az1kKzh8MDtsPWQrMjR8MDttPWQrMTEyfDA7
bj1kKzEyMHwwO289ZCsxMjh8MDtwPWQrMTM2fDA7cT1qfDA7YVtxXT1hWzIzODRdfDA7YVtxKzF8
MF09YVsyMzg1fDBdfDA7YVtxKzJ8MF09YVsyMzg2fDBdfDA7YVtxKzN8MF09YVsyMzg3fDBdfDA7
YVtxKzR8MF09YVsyMzg4fDBdfDA7YVtxKzV8MF09YVsyMzg5fDBdfDA7cj1qKzF8MDtzPWYrNHww
O3Q9Y1tzPj4yXXwwO2lmKCh0JjIwNDh8MCk9PTApe3U9cn1lbHNle2Fbcl09NDM7dT1qKzJ8MH1p
ZigodCY1MTJ8MCk9PTApe3Y9dX1lbHNle2FbdV09MzU7dj11KzF8MH1hW3ZdPTEwODt1PXYrMXww
O0wxOTI4OmRve3N3aXRjaCh0Jjc0fDApe2Nhc2UgNjQ6e2FbdV09MTExO2JyZWFrfTtjYXNlIDg6
e2lmKCh0JjE2Mzg0fDApPT0wKXthW3VdPTEyMDticmVhayBMMTkyOH1lbHNle2FbdV09ODg7YnJl
YWsgTDE5Mjh9YnJlYWt9O2RlZmF1bHQ6e2FbdV09MTAwfX19d2hpbGUoMCk7dT1rfDA7ZG97aWYo
KGFbMTYyNjRdfDApPT0wKXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEs
MTM0NCwwKXwwfX13aGlsZSgwKTt0PWdiKHUsMTIsY1syOTU4XXwwLHEsKHE9aSxpPWkrOHwwLGNb
cT4+Ml09aCxxKXwwKXwwO2k9cTtxPWsrdHwwO0wxOTQxOmRve3N3aXRjaChjW3M+PjJdJjE3Nnww
KXtjYXNlIDMyOnt3PXE7YnJlYWt9O2Nhc2UgMTY6e2g9YVt1XXwwO3N3aXRjaChoPDwyND4+MjQp
e2Nhc2UgNDU6Y2FzZSA0Mzp7dz1rKzF8MDticmVhayBMMTk0MTticmVha307ZGVmYXVsdDp7fX1p
ZighKCh0fDApPjEmaDw8MjQ+PjI0PT00OCkpe3g9MTYwMDticmVhayBMMTk0MX1zd2l0Y2goYVtr
KzF8MF18MCl7Y2FzZSAxMjA6Y2FzZSA4ODp7YnJlYWt9O2RlZmF1bHQ6e3g9MTYwMDticmVhayBM
MTk0MX19dz1rKzJ8MDticmVha307ZGVmYXVsdDp7eD0xNjAwfX19d2hpbGUoMCk7aWYoKHh8MCk9
PTE2MDApe3c9dX14PWx8MDtlaihvLGYpO2dwKHUsdyxxLHgsbSxuLG8pO2R6KGNbbz4+Ml18MCl8
MDtjW3A+PjJdPWNbZT4+Ml07Z3EoYixwLHgsY1ttPj4yXXwwLGNbbj4+Ml18MCxmLGcpO2k9ZDty
ZXR1cm59ZnVuY3Rpb24gZ24oYixkLGUsZixnLGgpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9
Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0w
LHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MDtkPWk7aT1pKzEwNHwwO2o9ZTtlPWk7aT1pKzR8
MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNbaj4+Ml07aj1kfDA7az1kKzI0fDA7bD1kKzQ4fDA7bT1k
Kzg4fDA7bj1kKzk2fDA7bz1kKzE2fDA7YVtvXT1hWzIzOTJdfDA7YVtvKzF8MF09YVsyMzkzfDBd
fDA7YVtvKzJ8MF09YVsyMzk0fDBdfDA7YVtvKzN8MF09YVsyMzk1fDBdfDA7YVtvKzR8MF09YVsy
Mzk2fDBdfDA7YVtvKzV8MF09YVsyMzk3fDBdfDA7cD1rfDA7ZG97aWYoKGFbMTYyNjRdfDApPT0w
KXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGls
ZSgwKTtxPWdiKHAsMjAsY1syOTU4XXwwLG8sKG89aSxpPWkrOHwwLGNbbz4+Ml09aCxvKXwwKXww
O2k9bztvPWsrcXwwO0wxOTU4OmRve3N3aXRjaChjW2YrND4+Ml0mMTc2fDApe2Nhc2UgMTY6e2g9
YVtwXXwwO3N3aXRjaChoPDwyND4+MjQpe2Nhc2UgNDU6Y2FzZSA0Mzp7cj1rKzF8MDticmVhayBM
MTk1ODticmVha307ZGVmYXVsdDp7fX1pZighKChxfDApPjEmaDw8MjQ+PjI0PT00OCkpe3M9MTYx
NTticmVhayBMMTk1OH1zd2l0Y2goYVtrKzF8MF18MCl7Y2FzZSAxMjA6Y2FzZSA4ODp7YnJlYWt9
O2RlZmF1bHQ6e3M9MTYxNTticmVhayBMMTk1OH19cj1rKzJ8MDticmVha307Y2FzZSAzMjp7cj1v
O2JyZWFrfTtkZWZhdWx0OntzPTE2MTV9fX13aGlsZSgwKTtpZigoc3wwKT09MTYxNSl7cj1wfWVq
KG0sZik7cz1tfDA7bT1jW3M+PjJdfDA7aWYoKGNbMzkyNF18MCkhPS0xKXtjW2o+PjJdPTE1Njk2
O2Nbais0Pj4yXT0xMjtjW2orOD4+Ml09MDtkVygxNTY5NixqLDk2KX1qPShjWzM5MjVdfDApLTF8
MDtoPWNbbSs4Pj4yXXwwO2Rve2lmKChjW20rMTI+PjJdfDApLWg+PjI+Pj4wPmo+Pj4wKXt0PWNb
aCsoajw8Mik+PjJdfDA7aWYoKHR8MCk9PTApe2JyZWFrfXU9dDt2PWNbcz4+Ml18MDtkeih2KXww
O3Y9bHwwO3c9Y1soY1t0Pj4yXXwwKSszMj4+Ml18MDtjYVt3JjE1XSh1LHAsbyx2KXwwO3U9bCtx
fDA7aWYoKHJ8MCk9PShvfDApKXt4PXU7eT1lfDA7ej1jW3k+PjJdfDA7QT1ufDA7Y1tBPj4yXT16
O2Y5KGIsbix2LHgsdSxmLGcpO2k9ZDtyZXR1cm59eD1sKyhyLWspfDA7eT1lfDA7ej1jW3k+PjJd
fDA7QT1ufDA7Y1tBPj4yXT16O2Y5KGIsbix2LHgsdSxmLGcpO2k9ZDtyZXR1cm59fXdoaWxlKDAp
O2Q9Yk8oNCl8MDtrcShkKTtibChkfDAsODE3NiwxMzQpfWZ1bmN0aW9uIGdvKGIsZCxlLGYsZyxo
KXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0w
LG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MDtqPWk7
aT1pKzQ4fDA7az1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1trPj4yXTtrPWp8
MDtsPWorMTZ8MDttPWorMjR8MDtuPWorMzJ8MDtpZigoY1tmKzQ+PjJdJjF8MCk9PTApe289Y1so
Y1tkPj4yXXwwKSsyND4+Ml18MDtjW2w+PjJdPWNbZT4+Ml07YjlbbyYzMV0oYixkLGwsZixnLGgm
MSk7aT1qO3JldHVybn1laihtLGYpO2Y9bXwwO209Y1tmPj4yXXwwO2lmKChjWzM4MjZdfDApIT0t
MSl7Y1trPj4yXT0xNTMwNDtjW2srND4+Ml09MTI7Y1trKzg+PjJdPTA7ZFcoMTUzMDQsayw5Nil9
az0oY1szODI3XXwwKS0xfDA7Zz1jW20rOD4+Ml18MDtkb3tpZigoY1ttKzEyPj4yXXwwKS1nPj4y
Pj4+MD5rPj4+MCl7bD1jW2crKGs8PDIpPj4yXXwwO2lmKChsfDApPT0wKXticmVha31kPWw7bz1j
W2Y+PjJdfDA7ZHoobyl8MDtvPWNbbD4+Ml18MDtpZihoKXtiWltjW28rMjQ+PjJdJjEyN10obixk
KX1lbHNle2JaW2NbbysyOD4+Ml0mMTI3XShuLGQpfWQ9bjtvPWFbZF18MDtpZigobyYxKT09MCl7
bD1uKzR8MDtwPWw7cT1sO3I9bis4fDB9ZWxzZXtsPW4rOHwwO3A9Y1tsPj4yXXwwO3E9bis0fDA7
cj1sfWw9ZXwwO3M9cDt0PW87d2hpbGUoMSl7aWYoKHQmMSk9PTApe3U9cX1lbHNle3U9Y1tyPj4y
XXwwfW89dCYyNTU7aWYoKG8mMXwwKT09MCl7dj1vPj4+MX1lbHNle3Y9Y1txPj4yXXwwfWlmKChz
fDApPT0odSsodjw8Mil8MCkpe2JyZWFrfW89Y1tzPj4yXXwwO3c9Y1tsPj4yXXwwO2Rve2lmKCh3
fDApIT0wKXt4PXcrMjR8MDt5PWNbeD4+Ml18MDtpZigoeXwwKT09KGNbdysyOD4+Ml18MCkpe3o9
Yl9bY1soY1t3Pj4yXXwwKSs1Mj4+Ml0mMzFdKHcsbyl8MH1lbHNle2NbeD4+Ml09eSs0O2NbeT4+
Ml09bzt6PW99aWYoKHp8MCkhPS0xKXticmVha31jW2w+PjJdPTB9fXdoaWxlKDApO3M9cys0fDA7
dD1hW2RdfDB9Y1tiPj4yXT1jW2w+PjJdO2VlKG4pO2k9ajtyZXR1cm59fXdoaWxlKDApO2o9Yk8o
NCl8MDtrcShqKTtibChqfDAsODE3NiwxMzQpfWZ1bmN0aW9uIGdwKGIsZSxmLGcsaCxqLGspe2I9
YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0wLG49MCxv
PTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9
MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MDtsPWk7aT1pKzQ4fDA7bT1sfDA7
bj1sKzE2fDA7bz1sKzMyfDA7cD1rfDA7az1jW3A+PjJdfDA7aWYoKGNbMzkyMl18MCkhPS0xKXtj
W24+PjJdPTE1Njg4O2Nbbis0Pj4yXT0xMjtjW24rOD4+Ml09MDtkVygxNTY4OCxuLDk2KX1uPShj
WzM5MjNdfDApLTF8MDtxPWNbays4Pj4yXXwwO2lmKChjW2srMTI+PjJdfDApLXE+PjI+Pj4wPD1u
Pj4+MCl7cj1iTyg0KXwwO3M9cjtrcShzKTtibChyfDAsODE3NiwxMzQpfWs9Y1txKyhuPDwyKT4+
Ml18MDtpZigoa3wwKT09MCl7cj1iTyg0KXwwO3M9cjtrcShzKTtibChyfDAsODE3NiwxMzQpfXI9
aztzPWNbcD4+Ml18MDtpZigoY1szODI2XXwwKSE9LTEpe2NbbT4+Ml09MTUzMDQ7Y1ttKzQ+PjJd
PTEyO2NbbSs4Pj4yXT0wO2RXKDE1MzA0LG0sOTYpfW09KGNbMzgyN118MCktMXwwO3A9Y1tzKzg+
PjJdfDA7aWYoKGNbcysxMj4+Ml18MCktcD4+Mj4+PjA8PW0+Pj4wKXt0PWJPKDQpfDA7dT10O2tx
KHUpO2JsKHR8MCw4MTc2LDEzNCl9cz1jW3ArKG08PDIpPj4yXXwwO2lmKChzfDApPT0wKXt0PWJP
KDQpfDA7dT10O2txKHUpO2JsKHR8MCw4MTc2LDEzNCl9dD1zO2JaW2NbKGNbcz4+Ml18MCkrMjA+
PjJdJjEyN10obyx0KTt1PW87bT1vO3A9ZFttXXwwO2lmKChwJjF8MCk9PTApe3Y9cD4+PjF9ZWxz
ZXt2PWNbbys0Pj4yXXwwfWRve2lmKCh2fDApPT0wKXtwPWNbKGNbaz4+Ml18MCkrNDg+PjJdfDA7
Y2FbcCYxNV0ocixiLGYsZyl8MDtjW2o+PjJdPWcrKGYtYjw8Mil9ZWxzZXtjW2o+PjJdPWc7cD1h
W2JdfDA7c3dpdGNoKHA8PDI0Pj4yNCl7Y2FzZSA0NTpjYXNlIDQzOntuPWJfW2NbKGNbaz4+Ml18
MCkrNDQ+PjJdJjMxXShyLHApfDA7cD1jW2o+PjJdfDA7Y1tqPj4yXT1wKzQ7Y1twPj4yXT1uO3c9
YisxfDA7YnJlYWt9O2RlZmF1bHQ6e3c9Yn19TDIwNTA6ZG97aWYoKGYtd3wwKT4xKXtpZigoYVt3
XXwwKSE9NDgpe3g9dzticmVha31uPXcrMXwwO3N3aXRjaChhW25dfDApe2Nhc2UgMTIwOmNhc2Ug
ODg6e2JyZWFrfTtkZWZhdWx0Ont4PXc7YnJlYWsgTDIwNTB9fXA9aztxPWJfW2NbKGNbcD4+Ml18
MCkrNDQ+PjJdJjMxXShyLDQ4KXwwO3k9Y1tqPj4yXXwwO2Nbaj4+Ml09eSs0O2NbeT4+Ml09cTtx
PWJfW2NbKGNbcD4+Ml18MCkrNDQ+PjJdJjMxXShyLGFbbl18MCl8MDtuPWNbaj4+Ml18MDtjW2o+
PjJdPW4rNDtjW24+PjJdPXE7eD13KzJ8MH1lbHNle3g9d319d2hpbGUoMCk7ZG97aWYoKHh8MCkh
PShmfDApKXtxPWYtMXwwO2lmKHg+Pj4wPHE+Pj4wKXt6PXg7QT1xfWVsc2V7YnJlYWt9ZG97cT1h
W3pdfDA7YVt6XT1hW0FdfDA7YVtBXT1xO3o9eisxfDA7QT1BLTF8MDt9d2hpbGUoej4+PjA8QT4+
PjApfX13aGlsZSgwKTtxPWIwW2NbKGNbcz4+Ml18MCkrMTY+PjJdJjEyN10odCl8MDtpZih4Pj4+
MDxmPj4+MCl7bj11KzF8MDtwPWs7eT1vKzR8MDtCPW8rOHwwO0M9MDtEPTA7RT14O3doaWxlKDEp
e0Y9KGFbbV0mMSk9PTA7ZG97aWYoKGFbKEY/bjpjW0I+PjJdfDApK0R8MF18MCk9PTApe0c9RDtI
PUN9ZWxzZXtpZigoQ3wwKSE9KGFbKEY/bjpjW0I+PjJdfDApK0R8MF18MCkpe0c9RDtIPUM7YnJl
YWt9ST1jW2o+PjJdfDA7Y1tqPj4yXT1JKzQ7Y1tJPj4yXT1xO0k9ZFttXXwwO0c9KEQ+Pj4wPCgo
KEkmMXwwKT09MD9JPj4+MTpjW3k+PjJdfDApLTF8MCk+Pj4wKStEfDA7SD0wfX13aGlsZSgwKTtG
PWJfW2NbKGNbcD4+Ml18MCkrNDQ+PjJdJjMxXShyLGFbRV18MCl8MDtJPWNbaj4+Ml18MDtjW2o+
PjJdPUkrNDtjW0k+PjJdPUY7Rj1FKzF8MDtpZihGPj4+MDxmPj4+MCl7Qz1IKzF8MDtEPUc7RT1G
fWVsc2V7YnJlYWt9fX1FPWcrKHgtYjw8Mil8MDtEPWNbaj4+Ml18MDtpZigoRXwwKT09KER8MCkp
e2JyZWFrfUM9RC00fDA7aWYoRT4+PjA8Qz4+PjApe0o9RTtLPUN9ZWxzZXticmVha31kb3tDPWNb
Sj4+Ml18MDtjW0o+PjJdPWNbSz4+Ml07Y1tLPj4yXT1DO0o9Sis0fDA7Sz1LLTR8MDt9d2hpbGUo
Sj4+PjA8Sz4+PjApfX13aGlsZSgwKTtpZigoZXwwKT09KGZ8MCkpe0w9Y1tqPj4yXXwwO2NbaD4+
Ml09TDtkUChvKTtpPWw7cmV0dXJufWVsc2V7TD1nKyhlLWI8PDIpfDA7Y1toPj4yXT1MO2RQKG8p
O2k9bDtyZXR1cm59fWZ1bmN0aW9uIGdxKGIsZCxlLGYsZyxoLGope2I9YnwwO2Q9ZHwwO2U9ZXww
O2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAs
cj0wO2s9aTtpPWkrMTZ8MDtsPWQ7ZD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tkPj4yXT1jW2w+
PjJdO2w9a3wwO209ZHwwO2Q9Y1ttPj4yXXwwO2lmKChkfDApPT0wKXtjW2I+PjJdPTA7aT1rO3Jl
dHVybn1uPWc7Zz1lO289bi1nPj4yO3A9aCsxMnwwO2g9Y1twPj4yXXwwO3E9KGh8MCk+KG98MCk/
aC1vfDA6MDtvPWY7aD1vLWd8MDtnPWg+PjI7ZG97aWYoKGh8MCk+MCl7aWYoKGIxW2NbKGNbZD4+
Ml18MCkrNDg+PjJdJjYzXShkLGUsZyl8MCk9PShnfDApKXticmVha31jW20+PjJdPTA7Y1tiPj4y
XT0wO2k9aztyZXR1cm59fXdoaWxlKDApO2Rve2lmKChxfDApPjApe2V5KGwscSxqKTtpZigoYVts
XSYxKT09MCl7cj1sKzR8MH1lbHNle3I9Y1tsKzg+PjJdfDB9aWYoKGIxW2NbKGNbZD4+Ml18MCkr
NDg+PjJdJjYzXShkLHIscSl8MCk9PShxfDApKXtlZShsKTticmVha31jW20+PjJdPTA7Y1tiPj4y
XT0wO2VlKGwpO2k9aztyZXR1cm59fXdoaWxlKDApO2w9bi1vfDA7bz1sPj4yO2Rve2lmKChsfDAp
PjApe2lmKChiMVtjWyhjW2Q+PjJdfDApKzQ4Pj4yXSY2M10oZCxmLG8pfDApPT0ob3wwKSl7YnJl
YWt9Y1ttPj4yXT0wO2NbYj4+Ml09MDtpPWs7cmV0dXJufX13aGlsZSgwKTtjW3A+PjJdPTA7Y1ti
Pj4yXT1kO2k9aztyZXR1cm59ZnVuY3Rpb24gZ3IoYixkLGUsZixnLGgsail7Yj1ifDA7ZD1kfDA7
ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7dmFyIGs9MCxsPTAsbT0wLG49MCxvPTAscD0w
LHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTA7ZD1pO2k9aSsyMzJ8MDtrPWU7ZT1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW2s+PjJdO2s9ZHwwO2w9ZCs4fDA7bT1kKzMyfDA7
bj1kKzIwMHwwO289ZCsyMDh8MDtwPWQrMjE2fDA7cT1kKzIyNHwwO2Nbaz4+Ml09Mzc7Y1trKzQ+
PjJdPTA7cj1rO2s9cisxfDA7cz1mKzR8MDt0PWNbcz4+Ml18MDtpZigodCYyMDQ4fDApPT0wKXt1
PWt9ZWxzZXthW2tdPTQzO3U9cisyfDB9aWYoKHQmNTEyfDApPT0wKXt2PXV9ZWxzZXthW3VdPTM1
O3Y9dSsxfDB9YVt2XT0xMDg7YVt2KzF8MF09MTA4O3U9disyfDA7TDIxMTk6ZG97c3dpdGNoKHQm
NzR8MCl7Y2FzZSA4OntpZigodCYxNjM4NHwwKT09MCl7YVt1XT0xMjA7YnJlYWsgTDIxMTl9ZWxz
ZXthW3VdPTg4O2JyZWFrIEwyMTE5fWJyZWFrfTtjYXNlIDY0OnthW3VdPTExMTticmVha307ZGVm
YXVsdDp7YVt1XT0xMDB9fX13aGlsZSgwKTt1PWx8MDtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lm
KChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDAp
O3Q9Z2IodSwyMixjWzI5NThdfDAsciwocj1pLGk9aSsxNnwwLGNbcj4+Ml09aCxjW3IrOD4+Ml09
aixyKXwwKXwwO2k9cjtyPWwrdHwwO0wyMTMyOmRve3N3aXRjaChjW3M+PjJdJjE3NnwwKXtjYXNl
IDMyOnt3PXI7YnJlYWt9O2Nhc2UgMTY6e2o9YVt1XXwwO3N3aXRjaChqPDwyND4+MjQpe2Nhc2Ug
NDU6Y2FzZSA0Mzp7dz1sKzF8MDticmVhayBMMjEzMjticmVha307ZGVmYXVsdDp7fX1pZighKCh0
fDApPjEmajw8MjQ+PjI0PT00OCkpe3g9MTc2MDticmVhayBMMjEzMn1zd2l0Y2goYVtsKzF8MF18
MCl7Y2FzZSAxMjA6Y2FzZSA4ODp7YnJlYWt9O2RlZmF1bHQ6e3g9MTc2MDticmVhayBMMjEzMn19
dz1sKzJ8MDticmVha307ZGVmYXVsdDp7eD0xNzYwfX19d2hpbGUoMCk7aWYoKHh8MCk9PTE3NjAp
e3c9dX14PW18MDtlaihwLGYpO2dwKHUsdyxyLHgsbixvLHApO2R6KGNbcD4+Ml18MCl8MDtjW3E+
PjJdPWNbZT4+Ml07Z3EoYixxLHgsY1tuPj4yXXwwLGNbbz4+Ml18MCxmLGcpO2k9ZDtyZXR1cm59
ZnVuY3Rpb24gZ3MoYixkLGUsZixnLGgpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9
aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2
PTAsdz0wLHg9MDtkPWk7aT1pKzE0NHwwO2o9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+
PjJdPWNbaj4+Ml07aj1kfDA7az1kKzh8MDtsPWQrMjR8MDttPWQrMTEyfDA7bj1kKzEyMHwwO289
ZCsxMjh8MDtwPWQrMTM2fDA7cT1qfDA7YVtxXT1hWzIzODRdfDA7YVtxKzF8MF09YVsyMzg1fDBd
fDA7YVtxKzJ8MF09YVsyMzg2fDBdfDA7YVtxKzN8MF09YVsyMzg3fDBdfDA7YVtxKzR8MF09YVsy
Mzg4fDBdfDA7YVtxKzV8MF09YVsyMzg5fDBdfDA7cj1qKzF8MDtzPWYrNHwwO3Q9Y1tzPj4yXXww
O2lmKCh0JjIwNDh8MCk9PTApe3U9cn1lbHNle2Fbcl09NDM7dT1qKzJ8MH1pZigodCY1MTJ8MCk9
PTApe3Y9dX1lbHNle2FbdV09MzU7dj11KzF8MH1hW3ZdPTEwODt1PXYrMXwwO0wyMTUwOmRve3N3
aXRjaCh0Jjc0fDApe2Nhc2UgNjQ6e2FbdV09MTExO2JyZWFrfTtjYXNlIDg6e2lmKCh0JjE2Mzg0
fDApPT0wKXthW3VdPTEyMDticmVhayBMMjE1MH1lbHNle2FbdV09ODg7YnJlYWsgTDIxNTB9YnJl
YWt9O2RlZmF1bHQ6e2FbdV09MTE3fX19d2hpbGUoMCk7dT1rfDA7ZG97aWYoKGFbMTYyNjRdfDAp
PT0wKXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13
aGlsZSgwKTt0PWdiKHUsMTIsY1syOTU4XXwwLHEsKHE9aSxpPWkrOHwwLGNbcT4+Ml09aCxxKXww
KXwwO2k9cTtxPWsrdHwwO0wyMTYzOmRve3N3aXRjaChjW3M+PjJdJjE3NnwwKXtjYXNlIDE2Onto
PWFbdV18MDtzd2l0Y2goaDw8MjQ+PjI0KXtjYXNlIDQ1OmNhc2UgNDM6e3c9aysxfDA7YnJlYWsg
TDIxNjM7YnJlYWt9O2RlZmF1bHQ6e319aWYoISgodHwwKT4xJmg8PDI0Pj4yND09NDgpKXt4PTE3
ODU7YnJlYWsgTDIxNjN9c3dpdGNoKGFbaysxfDBdfDApe2Nhc2UgMTIwOmNhc2UgODg6e2JyZWFr
fTtkZWZhdWx0Ont4PTE3ODU7YnJlYWsgTDIxNjN9fXc9aysyfDA7YnJlYWt9O2Nhc2UgMzI6e3c9
cTticmVha307ZGVmYXVsdDp7eD0xNzg1fX19d2hpbGUoMCk7aWYoKHh8MCk9PTE3ODUpe3c9dX14
PWx8MDtlaihvLGYpO2dwKHUsdyxxLHgsbSxuLG8pO2R6KGNbbz4+Ml18MCl8MDtjW3A+PjJdPWNb
ZT4+Ml07Z3EoYixwLHgsY1ttPj4yXXwwLGNbbj4+Ml18MCxmLGcpO2k9ZDtyZXR1cm59ZnVuY3Rp
b24gZ3QoYixkLGUsZixnLGgsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7
aj1qfDA7dmFyIGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0w
LHc9MCx4PTA7ZD1pO2k9aSsyNDB8MDtrPWU7ZT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tlPj4y
XT1jW2s+PjJdO2s9ZHwwO2w9ZCs4fDA7bT1kKzMyfDA7bj1kKzIwOHwwO289ZCsyMTZ8MDtwPWQr
MjI0fDA7cT1kKzIzMnwwO2Nbaz4+Ml09Mzc7Y1trKzQ+PjJdPTA7cj1rO2s9cisxfDA7cz1mKzR8
MDt0PWNbcz4+Ml18MDtpZigodCYyMDQ4fDApPT0wKXt1PWt9ZWxzZXthW2tdPTQzO3U9cisyfDB9
aWYoKHQmNTEyfDApPT0wKXt2PXV9ZWxzZXthW3VdPTM1O3Y9dSsxfDB9YVt2XT0xMDg7YVt2KzF8
MF09MTA4O3U9disyfDA7TDIxODE6ZG97c3dpdGNoKHQmNzR8MCl7Y2FzZSA4OntpZigodCYxNjM4
NHwwKT09MCl7YVt1XT0xMjA7YnJlYWsgTDIxODF9ZWxzZXthW3VdPTg4O2JyZWFrIEwyMTgxfWJy
ZWFrfTtjYXNlIDY0OnthW3VdPTExMTticmVha307ZGVmYXVsdDp7YVt1XT0xMTd9fX13aGlsZSgw
KTt1PWx8MDtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFr
fWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDApO3Q9Z2IodSwyMyxjWzI5NThdfDAsciwo
cj1pLGk9aSsxNnwwLGNbcj4+Ml09aCxjW3IrOD4+Ml09aixyKXwwKXwwO2k9cjtyPWwrdHwwO0wy
MTk0OmRve3N3aXRjaChjW3M+PjJdJjE3NnwwKXtjYXNlIDE2OntqPWFbdV18MDtzd2l0Y2goajw8
MjQ+PjI0KXtjYXNlIDQ1OmNhc2UgNDM6e3c9bCsxfDA7YnJlYWsgTDIxOTQ7YnJlYWt9O2RlZmF1
bHQ6e319aWYoISgodHwwKT4xJmo8PDI0Pj4yND09NDgpKXt4PTE4MTA7YnJlYWsgTDIxOTR9c3dp
dGNoKGFbbCsxfDBdfDApe2Nhc2UgMTIwOmNhc2UgODg6e2JyZWFrfTtkZWZhdWx0Ont4PTE4MTA7
YnJlYWsgTDIxOTR9fXc9bCsyfDA7YnJlYWt9O2Nhc2UgMzI6e3c9cjticmVha307ZGVmYXVsdDp7
eD0xODEwfX19d2hpbGUoMCk7aWYoKHh8MCk9PTE4MTApe3c9dX14PW18MDtlaihwLGYpO2dwKHUs
dyxyLHgsbixvLHApO2R6KGNbcD4+Ml18MCl8MDtjW3E+PjJdPWNbZT4+Ml07Z3EoYixxLHgsY1tu
Pj4yXXwwLGNbbz4+Ml18MCxmLGcpO2k9ZDtyZXR1cm59ZnVuY3Rpb24gZ3UoYixkLGUsZixnLGop
e2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2o9K2o7dmFyIGs9MCxsPTAsbT0wLG49MCxv
PTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9
MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTA7ZD1pO2k9aSszMjB8MDtrPWU7ZT1pO2k9aSs0
fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW2s+PjJdO2s9ZHwwO2w9ZCs4fDA7bT1kKzQwfDA7bj1k
KzQ4fDA7bz1kKzI4MHwwO3A9ZCsyODh8MDtxPWQrMjk2fDA7cj1kKzMwNHwwO3M9ZCszMTJ8MDtj
W2s+PjJdPTM3O2Nbays0Pj4yXT0wO3Q9aztrPXQrMXwwO3U9Zis0fDA7dj1jW3U+PjJdfDA7aWYo
KHYmMjA0OHwwKT09MCl7dz1rfWVsc2V7YVtrXT00Mzt3PXQrMnwwfWlmKCh2JjEwMjR8MCk9PTAp
e3g9d31lbHNle2Fbd109MzU7eD13KzF8MH13PXYmMjYwO2s9dj4+PjE0O0wyMjEyOmRve2lmKCh3
fDApPT0yNjApe2lmKChrJjF8MCk9PTApe2FbeF09OTc7eT0wO2JyZWFrfWVsc2V7YVt4XT02NTt5
PTA7YnJlYWt9fWVsc2V7YVt4XT00Njt2PXgrMnwwO2FbeCsxfDBdPTQyO3N3aXRjaCh3fDApe2Nh
c2UgMjU2OntpZigoayYxfDApPT0wKXthW3ZdPTEwMTt5PTE7YnJlYWsgTDIyMTJ9ZWxzZXthW3Zd
PTY5O3k9MTticmVhayBMMjIxMn1icmVha307Y2FzZSA0OntpZigoayYxfDApPT0wKXthW3ZdPTEw
Mjt5PTE7YnJlYWsgTDIyMTJ9ZWxzZXthW3ZdPTcwO3k9MTticmVhayBMMjIxMn1icmVha307ZGVm
YXVsdDp7aWYoKGsmMXwwKT09MCl7YVt2XT0xMDM7eT0xO2JyZWFrIEwyMjEyfWVsc2V7YVt2XT03
MTt5PTE7YnJlYWsgTDIyMTJ9fX19fXdoaWxlKDApO2s9bHwwO2NbbT4+Ml09aztkb3tpZigoYVsx
NjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0
LDApfDB9fXdoaWxlKDApO2w9Y1syOTU4XXwwO2lmKHkpe3c9Z2IoaywzMCxsLHQsKHo9aSxpPWkr
MTZ8MCxjW3o+PjJdPWNbZis4Pj4yXSxoW3orOD4+M109aix6KXwwKXwwO2k9ejtBPXd9ZWxzZXt3
PWdiKGssMzAsbCx0LCh6PWksaT1pKzh8MCxoW3o+PjNdPWoseil8MCl8MDtpPXo7QT13fWRve2lm
KChBfDApPjI5KXt3PShhWzE2MjY0XXwwKT09MDtpZih5KXtkb3tpZih3KXtpZigoYmMoMTYyNjQp
fDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTtsPWdoKG0sY1sy
OTU4XXwwLHQsKHo9aSxpPWkrMTZ8MCxjW3o+PjJdPWNbZis4Pj4yXSxoW3orOD4+M109aix6KXww
KXwwO2k9ejtCPWx9ZWxzZXtkb3tpZih3KXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5
NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTt3PWdoKG0sY1syOTU4XXwwLHQsKHo9aSxpPWkr
MTZ8MCxjW3o+PjJdPWNbZis4Pj4yXSxoW3orOD4+M109aix6KXwwKXwwO2k9ejtCPXd9dz1jW20+
PjJdfDA7aWYoKHd8MCkhPTApe0M9QjtEPXc7RT13O2JyZWFrfWtYKCk7dz1jW20+PjJdfDA7Qz1C
O0Q9dztFPXd9ZWxzZXtDPUE7RD0wO0U9Y1ttPj4yXXwwfX13aGlsZSgwKTtBPUUrQ3wwO0wyMjYx
OmRve3N3aXRjaChjW3U+PjJdJjE3NnwwKXtjYXNlIDMyOntGPUE7YnJlYWt9O2Nhc2UgMTY6e0I9
YVtFXXwwO3N3aXRjaChCPDwyND4+MjQpe2Nhc2UgNDU6Y2FzZSA0Mzp7Rj1FKzF8MDticmVhayBM
MjI2MTticmVha307ZGVmYXVsdDp7fX1pZighKChDfDApPjEmQjw8MjQ+PjI0PT00OCkpe0c9MTg2
NjticmVhayBMMjI2MX1zd2l0Y2goYVtFKzF8MF18MCl7Y2FzZSAxMjA6Y2FzZSA4ODp7YnJlYWt9
O2RlZmF1bHQ6e0c9MTg2NjticmVhayBMMjI2MX19Rj1FKzJ8MDticmVha307ZGVmYXVsdDp7Rz0x
ODY2fX19d2hpbGUoMCk7aWYoKEd8MCk9PTE4NjYpe0Y9RX1kb3tpZigoRXwwKT09KGt8MCkpe0g9
bnwwO0k9MDtKPWt9ZWxzZXtHPWtKKEM8PDMpfDA7dT1HO2lmKChHfDApIT0wKXtIPXU7ST11O0o9
RTticmVha31rWCgpO0g9dTtJPXU7Sj1jW20+PjJdfDB9fXdoaWxlKDApO2VqKHEsZik7Z3YoSixG
LEEsSCxvLHAscSk7ZHooY1txPj4yXXwwKXwwO3E9ZXwwO2Nbcz4+Ml09Y1txPj4yXTtncShyLHMs
SCxjW28+PjJdfDAsY1twPj4yXXwwLGYsZyk7Zz1jW3I+PjJdfDA7Y1txPj4yXT1nO2NbYj4+Ml09
ZztpZigoSXwwKSE9MCl7a0soSSl9aWYoKER8MCk9PTApe2k9ZDtyZXR1cm59a0soRCk7aT1kO3Jl
dHVybn1mdW5jdGlvbiBndihiLGUsZixnLGgsaixrKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDto
PWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAs
dT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJ
PTAsSj0wLEs9MCxMPTAsTT0wLE49MDtsPWk7aT1pKzQ4fDA7bT1sfDA7bj1sKzE2fDA7bz1sKzMy
fDA7cD1rfDA7az1jW3A+PjJdfDA7aWYoKGNbMzkyMl18MCkhPS0xKXtjW24+PjJdPTE1Njg4O2Nb
bis0Pj4yXT0xMjtjW24rOD4+Ml09MDtkVygxNTY4OCxuLDk2KX1uPShjWzM5MjNdfDApLTF8MDtx
PWNbays4Pj4yXXwwO2lmKChjW2srMTI+PjJdfDApLXE+PjI+Pj4wPD1uPj4+MCl7cj1iTyg0KXww
O3M9cjtrcShzKTtibChyfDAsODE3NiwxMzQpfWs9Y1txKyhuPDwyKT4+Ml18MDtpZigoa3wwKT09
MCl7cj1iTyg0KXwwO3M9cjtrcShzKTtibChyfDAsODE3NiwxMzQpfXI9aztzPWNbcD4+Ml18MDtp
ZigoY1szODI2XXwwKSE9LTEpe2NbbT4+Ml09MTUzMDQ7Y1ttKzQ+PjJdPTEyO2NbbSs4Pj4yXT0w
O2RXKDE1MzA0LG0sOTYpfW09KGNbMzgyN118MCktMXwwO3A9Y1tzKzg+PjJdfDA7aWYoKGNbcysx
Mj4+Ml18MCktcD4+Mj4+PjA8PW0+Pj4wKXt0PWJPKDQpfDA7dT10O2txKHUpO2JsKHR8MCw4MTc2
LDEzNCl9cz1jW3ArKG08PDIpPj4yXXwwO2lmKChzfDApPT0wKXt0PWJPKDQpfDA7dT10O2txKHUp
O2JsKHR8MCw4MTc2LDEzNCl9dD1zO2JaW2NbKGNbcz4+Ml18MCkrMjA+PjJdJjEyN10obyx0KTtj
W2o+PjJdPWc7dT1hW2JdfDA7c3dpdGNoKHU8PDI0Pj4yNCl7Y2FzZSA0NTpjYXNlIDQzOnttPWJf
W2NbKGNbaz4+Ml18MCkrNDQ+PjJdJjMxXShyLHUpfDA7dT1jW2o+PjJdfDA7Y1tqPj4yXT11KzQ7
Y1t1Pj4yXT1tO3Y9YisxfDA7YnJlYWt9O2RlZmF1bHQ6e3Y9Yn19bT1mO0wyMzA5OmRve2lmKCht
LXZ8MCk+MSl7aWYoKGFbdl18MCkhPTQ4KXt3PXY7eD0xOTIxO2JyZWFrfXU9disxfDA7c3dpdGNo
KGFbdV18MCl7Y2FzZSAxMjA6Y2FzZSA4ODp7YnJlYWt9O2RlZmF1bHQ6e3c9djt4PTE5MjE7YnJl
YWsgTDIzMDl9fXA9aztuPWJfW2NbKGNbcD4+Ml18MCkrNDQ+PjJdJjMxXShyLDQ4KXwwO3E9Y1tq
Pj4yXXwwO2Nbaj4+Ml09cSs0O2NbcT4+Ml09bjtuPXYrMnwwO3E9Yl9bY1soY1twPj4yXXwwKSs0
ND4+Ml0mMzFdKHIsYVt1XXwwKXwwO3U9Y1tqPj4yXXwwO2Nbaj4+Ml09dSs0O2NbdT4+Ml09cTtx
PW47d2hpbGUoMSl7aWYocT4+PjA+PWY+Pj4wKXt5PXE7ej1uO2JyZWFrIEwyMzA5fXU9YVtxXXww
O2Rve2lmKChhWzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4
XT1hUygxLDEzNDQsMCl8MH19d2hpbGUoMCk7aWYoKGEzKHU8PDI0Pj4yNHwwLGNbMjk1OF18MCl8
MCk9PTApe3k9cTt6PW47YnJlYWt9ZWxzZXtxPXErMXwwfX19ZWxzZXt3PXY7eD0xOTIxfX13aGls
ZSgwKTtMMjMyNDpkb3tpZigoeHwwKT09MTkyMSl7d2hpbGUoMSl7eD0wO2lmKHc+Pj4wPj1mPj4+
MCl7eT13O3o9djticmVhayBMMjMyNH1xPWFbd118MDtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lm
KChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDAp
O2lmKChiSChxPDwyND4+MjR8MCxjWzI5NThdfDApfDApPT0wKXt5PXc7ej12O2JyZWFrfWVsc2V7
dz13KzF8MDt4PTE5MjF9fX19d2hpbGUoMCk7eD1vO3c9bzt2PWRbd118MDtpZigodiYxfDApPT0w
KXtBPXY+Pj4xfWVsc2V7QT1jW28rND4+Ml18MH1kb3tpZigoQXwwKT09MCl7dj1jW2o+PjJdfDA7
dT1jWyhjW2s+PjJdfDApKzQ4Pj4yXXwwO2NhW3UmMTVdKHIseix5LHYpfDA7Y1tqPj4yXT0oY1tq
Pj4yXXwwKSsoeS16PDwyKX1lbHNle2Rve2lmKCh6fDApIT0oeXwwKSl7dj15LTF8MDtpZih6Pj4+
MDx2Pj4+MCl7Qj16O0M9dn1lbHNle2JyZWFrfWRve3Y9YVtCXXwwO2FbQl09YVtDXXwwO2FbQ109
djtCPUIrMXwwO0M9Qy0xfDA7fXdoaWxlKEI+Pj4wPEM+Pj4wKX19d2hpbGUoMCk7cT1iMFtjWyhj
W3M+PjJdfDApKzE2Pj4yXSYxMjddKHQpfDA7aWYoej4+PjA8eT4+PjApe3Y9eCsxfDA7dT1vKzR8
MDtuPW8rOHwwO3A9aztEPTA7RT0wO0Y9ejt3aGlsZSgxKXtHPShhW3ddJjEpPT0wO2Rve2lmKChh
WyhHP3Y6Y1tuPj4yXXwwKStFfDBdfDApPjApe2lmKChEfDApIT0oYVsoRz92OmNbbj4+Ml18MCkr
RXwwXXwwKSl7SD1FO0k9RDticmVha31KPWNbaj4+Ml18MDtjW2o+PjJdPUorNDtjW0o+PjJdPXE7
Sj1kW3ddfDA7SD0oRT4+PjA8KCgoSiYxfDApPT0wP0o+Pj4xOmNbdT4+Ml18MCktMXwwKT4+PjAp
K0V8MDtJPTB9ZWxzZXtIPUU7ST1EfX13aGlsZSgwKTtHPWJfW2NbKGNbcD4+Ml18MCkrNDQ+PjJd
JjMxXShyLGFbRl18MCl8MDtKPWNbaj4+Ml18MDtjW2o+PjJdPUorNDtjW0o+PjJdPUc7Rz1GKzF8
MDtpZihHPj4+MDx5Pj4+MCl7RD1JKzF8MDtFPUg7Rj1HfWVsc2V7YnJlYWt9fX1GPWcrKHotYjw8
Mil8MDtFPWNbaj4+Ml18MDtpZigoRnwwKT09KEV8MCkpe2JyZWFrfUQ9RS00fDA7aWYoRj4+PjA8
RD4+PjApe0s9RjtMPUR9ZWxzZXticmVha31kb3tEPWNbSz4+Ml18MDtjW0s+PjJdPWNbTD4+Ml07
Y1tMPj4yXT1EO0s9Sys0fDA7TD1MLTR8MDt9d2hpbGUoSz4+PjA8TD4+PjApfX13aGlsZSgwKTtM
MjM2Mzpkb3tpZih5Pj4+MDxmPj4+MCl7TD1rO0s9eTt3aGlsZSgxKXt6PWFbS118MDtpZih6PDwy
ND4+MjQ9PTQ2KXticmVha31IPWJfW2NbKGNbTD4+Ml18MCkrNDQ+PjJdJjMxXShyLHopfDA7ej1j
W2o+PjJdfDA7Y1tqPj4yXT16KzQ7Y1t6Pj4yXT1IO0g9SysxfDA7aWYoSD4+PjA8Zj4+PjApe0s9
SH1lbHNle009SDticmVhayBMMjM2M319TD1iMFtjWyhjW3M+PjJdfDApKzEyPj4yXSYxMjddKHQp
fDA7SD1jW2o+PjJdfDA7Y1tqPj4yXT1IKzQ7Y1tIPj4yXT1MO009SysxfDB9ZWxzZXtNPXl9fXdo
aWxlKDApO2NhW2NbKGNbaz4+Ml18MCkrNDg+PjJdJjE1XShyLE0sZixjW2o+PjJdfDApfDA7cj0o
Y1tqPj4yXXwwKSsobS1NPDwyKXwwO2Nbaj4+Ml09cjtpZigoZXwwKT09KGZ8MCkpe049cjtjW2g+
PjJdPU47ZFAobyk7aT1sO3JldHVybn1OPWcrKGUtYjw8Mil8MDtjW2g+PjJdPU47ZFAobyk7aT1s
O3JldHVybn1mdW5jdGlvbiBndyhiLGQsZSxmLGcsail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7
Zz1nfDA7aj0rajt2YXIgaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9
MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0w
LEo9MDtkPWk7aT1pKzMyMHwwO2s9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNb
az4+Ml07az1kfDA7bD1kKzh8MDttPWQrNDB8MDtuPWQrNDh8MDtvPWQrMjgwfDA7cD1kKzI4OHww
O3E9ZCsyOTZ8MDtyPWQrMzA0fDA7cz1kKzMxMnwwO2Nbaz4+Ml09Mzc7Y1trKzQ+PjJdPTA7dD1r
O2s9dCsxfDA7dT1mKzR8MDt2PWNbdT4+Ml18MDtpZigodiYyMDQ4fDApPT0wKXt3PWt9ZWxzZXth
W2tdPTQzO3c9dCsyfDB9aWYoKHYmMTAyNHwwKT09MCl7eD13fWVsc2V7YVt3XT0zNTt4PXcrMXww
fXc9diYyNjA7az12Pj4+MTQ7TDIzODQ6ZG97aWYoKHd8MCk9PTI2MCl7YVt4XT03Njt2PXgrMXww
O2lmKChrJjF8MCk9PTApe2Fbdl09OTc7eT0wO2JyZWFrfWVsc2V7YVt2XT02NTt5PTA7YnJlYWt9
fWVsc2V7YVt4XT00NjthW3grMXwwXT00MjthW3grMnwwXT03Njt2PXgrM3wwO3N3aXRjaCh3fDAp
e2Nhc2UgMjU2OntpZigoayYxfDApPT0wKXthW3ZdPTEwMTt5PTE7YnJlYWsgTDIzODR9ZWxzZXth
W3ZdPTY5O3k9MTticmVhayBMMjM4NH1icmVha307Y2FzZSA0OntpZigoayYxfDApPT0wKXthW3Zd
PTEwMjt5PTE7YnJlYWsgTDIzODR9ZWxzZXthW3ZdPTcwO3k9MTticmVhayBMMjM4NH1icmVha307
ZGVmYXVsdDp7aWYoKGsmMXwwKT09MCl7YVt2XT0xMDM7eT0xO2JyZWFrIEwyMzg0fWVsc2V7YVt2
XT03MTt5PTE7YnJlYWsgTDIzODR9fX19fXdoaWxlKDApO2s9bHwwO2NbbT4+Ml09aztkb3tpZigo
YVsxNjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwx
MzQ0LDApfDB9fXdoaWxlKDApO2w9Y1syOTU4XXwwO2lmKHkpe3c9Z2IoaywzMCxsLHQsKHo9aSxp
PWkrMTZ8MCxjW3o+PjJdPWNbZis4Pj4yXSxoW3orOD4+M109aix6KXwwKXwwO2k9ejtBPXd9ZWxz
ZXt3PWdiKGssMzAsbCx0LCh6PWksaT1pKzh8MCxoW3o+PjNdPWoseil8MCl8MDtpPXo7QT13fWRv
e2lmKChBfDApPjI5KXt3PShhWzE2MjY0XXwwKT09MDtpZih5KXtkb3tpZih3KXtpZigoYmMoMTYy
NjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTtsPWdoKG0s
Y1syOTU4XXwwLHQsKHo9aSxpPWkrMTZ8MCxjW3o+PjJdPWNbZis4Pj4yXSxoW3orOD4+M109aix6
KXwwKXwwO2k9ejtCPWx9ZWxzZXtkb3tpZih3KXtpZigoYmMoMTYyNjQpfDApPT0wKXticmVha31j
WzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTt3PWdoKG0sY1syOTU4XXwwLHQsKHo9aSxp
PWkrOHwwLGhbej4+M109aix6KXwwKXwwO2k9ejtCPXd9dz1jW20+PjJdfDA7aWYoKHd8MCkhPTAp
e0M9QjtEPXc7RT13O2JyZWFrfWtYKCk7dz1jW20+PjJdfDA7Qz1CO0Q9dztFPXd9ZWxzZXtDPUE7
RD0wO0U9Y1ttPj4yXXwwfX13aGlsZSgwKTtBPUUrQ3wwO0wyNDMzOmRve3N3aXRjaChjW3U+PjJd
JjE3NnwwKXtjYXNlIDE2OntCPWFbRV18MDtzd2l0Y2goQjw8MjQ+PjI0KXtjYXNlIDQ1OmNhc2Ug
NDM6e0Y9RSsxfDA7YnJlYWsgTDI0MzM7YnJlYWt9O2RlZmF1bHQ6e319aWYoISgoQ3wwKT4xJkI8
PDI0Pj4yND09NDgpKXtHPTIwMTg7YnJlYWsgTDI0MzN9c3dpdGNoKGFbRSsxfDBdfDApe2Nhc2Ug
MTIwOmNhc2UgODg6e2JyZWFrfTtkZWZhdWx0OntHPTIwMTg7YnJlYWsgTDI0MzN9fUY9RSsyfDA7
YnJlYWt9O2Nhc2UgMzI6e0Y9QTticmVha307ZGVmYXVsdDp7Rz0yMDE4fX19d2hpbGUoMCk7aWYo
KEd8MCk9PTIwMTgpe0Y9RX1kb3tpZigoRXwwKT09KGt8MCkpe0g9bnwwO0k9MDtKPWt9ZWxzZXtH
PWtKKEM8PDMpfDA7dT1HO2lmKChHfDApIT0wKXtIPXU7ST11O0o9RTticmVha31rWCgpO0g9dTtJ
PXU7Sj1jW20+PjJdfDB9fXdoaWxlKDApO2VqKHEsZik7Z3YoSixGLEEsSCxvLHAscSk7ZHooY1tx
Pj4yXXwwKXwwO3E9ZXwwO2Nbcz4+Ml09Y1txPj4yXTtncShyLHMsSCxjW28+PjJdfDAsY1twPj4y
XXwwLGYsZyk7Zz1jW3I+PjJdfDA7Y1txPj4yXT1nO2NbYj4+Ml09ZztpZigoSXwwKSE9MCl7a0so
SSl9aWYoKER8MCk9PTApe2k9ZDtyZXR1cm59a0soRCk7aT1kO3JldHVybn1mdW5jdGlvbiBneChi
LGQsZSxmLGcsaCl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxr
PTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9
MCx6PTAsQT0wO2Q9aTtpPWkrMjE2fDA7aj1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+
Ml09Y1tqPj4yXTtqPWR8MDtrPWQrMjR8MDtsPWQrNDh8MDttPWQrMjAwfDA7bj1kKzIwOHwwO289
ZCsxNnwwO2Fbb109YVsyMzkyXXwwO2FbbysxfDBdPWFbMjM5M3wwXXwwO2FbbysyfDBdPWFbMjM5
NHwwXXwwO2FbbyszfDBdPWFbMjM5NXwwXXwwO2Fbbys0fDBdPWFbMjM5NnwwXXwwO2Fbbys1fDBd
PWFbMjM5N3wwXXwwO3A9a3wwO2Rve2lmKChhWzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2MjY0KXww
KT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8MH19d2hpbGUoMCk7cT1nYihwLDIwLGNb
Mjk1OF18MCxvLChvPWksaT1pKzh8MCxjW28+PjJdPWgsbyl8MCl8MDtpPW87bz1rK3F8MDtMMjQ2
NDpkb3tzd2l0Y2goY1tmKzQ+PjJdJjE3NnwwKXtjYXNlIDE2OntoPWFbcF18MDtzd2l0Y2goaDw8
MjQ+PjI0KXtjYXNlIDQ1OmNhc2UgNDM6e3I9aysxfDA7YnJlYWsgTDI0NjQ7YnJlYWt9O2RlZmF1
bHQ6e319aWYoISgocXwwKT4xJmg8PDI0Pj4yND09NDgpKXtzPTIwNTE7YnJlYWsgTDI0NjR9c3dp
dGNoKGFbaysxfDBdfDApe2Nhc2UgMTIwOmNhc2UgODg6e2JyZWFrfTtkZWZhdWx0OntzPTIwNTE7
YnJlYWsgTDI0NjR9fXI9aysyfDA7YnJlYWt9O2Nhc2UgMzI6e3I9bzticmVha307ZGVmYXVsdDp7
cz0yMDUxfX19d2hpbGUoMCk7aWYoKHN8MCk9PTIwNTEpe3I9cH1laihtLGYpO3M9bXwwO209Y1tz
Pj4yXXwwO2lmKChjWzM5MjJdfDApIT0tMSl7Y1tqPj4yXT0xNTY4ODtjW2orND4+Ml09MTI7Y1tq
Kzg+PjJdPTA7ZFcoMTU2ODgsaiw5Nil9aj0oY1szOTIzXXwwKS0xfDA7aD1jW20rOD4+Ml18MDtk
b3tpZigoY1ttKzEyPj4yXXwwKS1oPj4yPj4+MD5qPj4+MCl7dD1jW2grKGo8PDIpPj4yXXwwO2lm
KCh0fDApPT0wKXticmVha311PXQ7dj1jW3M+PjJdfDA7ZHoodil8MDt2PWx8MDt3PWNbKGNbdD4+
Ml18MCkrNDg+PjJdfDA7Y2FbdyYxNV0odSxwLG8sdil8MDt1PWwrKHE8PDIpfDA7aWYoKHJ8MCk9
PShvfDApKXt4PXU7eT1lfDA7ej1jW3k+PjJdfDA7QT1ufDA7Y1tBPj4yXT16O2dxKGIsbix2LHgs
dSxmLGcpO2k9ZDtyZXR1cm59eD1sKyhyLWs8PDIpfDA7eT1lfDA7ej1jW3k+PjJdfDA7QT1ufDA7
Y1tBPj4yXT16O2dxKGIsbix2LHgsdSxmLGcpO2k9ZDtyZXR1cm59fXdoaWxlKDApO2Q9Yk8oNCl8
MDtrcShkKTtibChkfDAsODE3NiwxMzQpfWZ1bmN0aW9uIGd5KGEpe2E9YXwwO3JldHVybiAyfWZ1
bmN0aW9uIGd6KGEpe2E9YXwwO2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGdBKGEpe2E9
YXwwO2RlKGF8MCk7cmV0dXJufWZ1bmN0aW9uIGdCKGEsYixkLGUsZixnLGgpe2E9YXwwO2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MDtqPWk7aT1pKzE2
fDA7az1kO2Q9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZD4+Ml09Y1trPj4yXTtrPWU7ZT1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW2s+PjJdO2s9anwwO2w9ais4fDA7Y1trPj4yXT1j
W2Q+PjJdO2NbbD4+Ml09Y1tlPj4yXTtnRChhLGIsayxsLGYsZyxoLDIzNzYsMjM4NCk7aT1qO3Jl
dHVybn1mdW5jdGlvbiBnQyhiLGQsZSxmLGcsaCxqKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtn
PWd8MDtoPWh8MDtqPWp8MDt2YXIgaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MDtrPWk7
aT1pKzE2fDA7bD1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1tsPj4yXTtsPWY7
Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9a3wwO209ays4fDA7bj1k
Kzh8MDtvPWIwW2NbKGNbbj4+Ml18MCkrMjA+PjJdJjEyN10obil8MDtjW2w+PjJdPWNbZT4+Ml07
Y1ttPj4yXT1jW2Y+PjJdO2Y9bztlPWFbb118MDtpZigoZSYxKT09MCl7cD1mKzF8MDtxPWYrMXww
fWVsc2V7Zj1jW28rOD4+Ml18MDtwPWY7cT1mfWY9ZSYyNTU7aWYoKGYmMXwwKT09MCl7cj1mPj4+
MX1lbHNle3I9Y1tvKzQ+PjJdfDB9Z0QoYixkLGwsbSxnLGgsaixxLHArcnwwKTtpPWs7cmV0dXJu
fWZ1bmN0aW9uIGdEKGQsZSxmLGcsaCxqLGssbCxtKXtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDto
PWh8MDtqPWp8MDtrPWt8MDtsPWx8MDttPW18MDt2YXIgbj0wLG89MCxwPTAscT0wLHI9MCxzPTAs
dD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxI
PTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9
MCxXPTAsWD0wLFk9MCxaPTAsXz0wLCQ9MCxhYT0wLGFiPTAsYWM9MCxhZD0wO249aTtpPWkrNDh8
MDtvPWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW28+PjJdO289ZztnPWk7aT1p
KzR8MDtpPWkrNz4+Mzw8MztjW2c+PjJdPWNbbz4+Ml07bz1ufDA7cD1uKzE2fDA7cT1uKzI0fDA7
cj1uKzMyfDA7cz1uKzQwfDA7ZWoocCxoKTt0PXB8MDtwPWNbdD4+Ml18MDtpZigoY1szOTI0XXww
KSE9LTEpe2Nbbz4+Ml09MTU2OTY7Y1tvKzQ+PjJdPTEyO2Nbbys4Pj4yXT0wO2RXKDE1Njk2LG8s
OTYpfW89KGNbMzkyNV18MCktMXwwO3U9Y1twKzg+PjJdfDA7ZG97aWYoKGNbcCsxMj4+Ml18MCkt
dT4+Mj4+PjA+bz4+PjApe3Y9Y1t1KyhvPDwyKT4+Ml18MDtpZigodnwwKT09MCl7YnJlYWt9dz12
O3g9Y1t0Pj4yXXwwO2R6KHgpfDA7Y1tqPj4yXT0wO3g9ZnwwO0wyNTA2OmRve2lmKChsfDApPT0o
bXwwKSl7eT0yMTQxfWVsc2V7ej1nfDA7QT12O0I9dis4fDA7Qz12O0Q9ZTtFPXJ8MDtGPXN8MDtH
PXF8MDtIPWw7ST0wO0wyNTA4OndoaWxlKDEpe0o9STt3aGlsZSgxKXtpZigoSnwwKSE9MCl7eT0y
MTQxO2JyZWFrIEwyNTA2fUs9Y1t4Pj4yXXwwO2Rve2lmKChLfDApPT0wKXtMPTB9ZWxzZXtpZigo
Y1tLKzEyPj4yXXwwKSE9KGNbSysxNj4+Ml18MCkpe0w9SzticmVha31pZigoYjBbY1soY1tLPj4y
XXwwKSszNj4+Ml0mMTI3XShLKXwwKSE9LTEpe0w9SzticmVha31jW3g+PjJdPTA7TD0wfX13aGls
ZSgwKTtLPShMfDApPT0wO009Y1t6Pj4yXXwwO0wyNTE4OmRve2lmKChNfDApPT0wKXt5PTIwOTR9
ZWxzZXtkb3tpZigoY1tNKzEyPj4yXXwwKT09KGNbTSsxNj4+Ml18MCkpe2lmKChiMFtjWyhjW00+
PjJdfDApKzM2Pj4yXSYxMjddKE0pfDApIT0tMSl7YnJlYWt9Y1t6Pj4yXT0wO3k9MjA5NDticmVh
ayBMMjUxOH19d2hpbGUoMCk7aWYoSyl7Tj1NfWVsc2V7eT0yMDk1O2JyZWFrIEwyNTA4fX19d2hp
bGUoMCk7aWYoKHl8MCk9PTIwOTQpe3k9MDtpZihLKXt5PTIwOTU7YnJlYWsgTDI1MDh9ZWxzZXtO
PTB9fWlmKChiMVtjWyhjW0E+PjJdfDApKzM2Pj4yXSY2M10odyxhW0hdfDAsMCl8MCk8PDI0Pj4y
ND09Mzcpe3k9MjA5ODticmVha31NPWFbSF18MDtpZihNPDwyND4+MjQ+LTEpe089Y1tCPj4yXXww
O2lmKChiW08rKE08PDI0Pj4yNDw8MSk+PjFdJjgxOTIpIT0wKXtQPUg7eT0yMTA5O2JyZWFrfX1R
PUwrMTJ8MDtNPWNbUT4+Ml18MDtSPUwrMTZ8MDtpZigoTXwwKT09KGNbUj4+Ml18MCkpe1M9KGIw
W2NbKGNbTD4+Ml18MCkrMzY+PjJdJjEyN10oTCl8MCkmMjU1fWVsc2V7Uz1hW01dfDB9TT1iX1tj
WyhjW0M+PjJdfDApKzEyPj4yXSYzMV0odyxTKXwwO2lmKE08PDI0Pj4yND09KGJfW2NbKGNbQz4+
Ml18MCkrMTI+PjJdJjMxXSh3LGFbSF18MCl8MCk8PDI0Pj4yNCl7eT0yMTM2O2JyZWFrfWNbaj4+
Ml09NDtKPTR9TDI1MzY6ZG97aWYoKHl8MCk9PTIxMzYpe3k9MDtKPWNbUT4+Ml18MDtpZigoSnww
KT09KGNbUj4+Ml18MCkpe009Y1soY1tMPj4yXXwwKSs0MD4+Ml18MDtiMFtNJjEyN10oTCl8MH1l
bHNle2NbUT4+Ml09SisxfVQ9SCsxfDB9ZWxzZSBpZigoeXwwKT09MjA5OCl7eT0wO0o9SCsxfDA7
aWYoKEp8MCk9PShtfDApKXt5PTIwOTk7YnJlYWsgTDI1MDh9TT1iMVtjWyhjW0E+PjJdfDApKzM2
Pj4yXSY2M10odyxhW0pdfDAsMCl8MDtzd2l0Y2goTTw8MjQ+PjI0KXtjYXNlIDY5OmNhc2UgNDg6
e1U9SCsyfDA7aWYoKFV8MCk9PShtfDApKXt5PTIxMDI7YnJlYWsgTDI1MDh9Vj1NO1c9YjFbY1so
Y1tBPj4yXXwwKSszNj4+Ml0mNjNdKHcsYVtVXXwwLDApfDA7WD1VO2JyZWFrfTtkZWZhdWx0OntW
PTA7Vz1NO1g9Sn19Sj1jWyhjW0Q+PjJdfDApKzM2Pj4yXXwwO2NbRT4+Ml09TDtjW0Y+PjJdPU47
YjdbSiY3XShxLGUscixzLGgsaixrLFcsVik7Y1t4Pj4yXT1jW0c+PjJdO1Q9WCsxfDB9ZWxzZSBp
ZigoeXwwKT09MjEwOSl7d2hpbGUoMSl7eT0wO0o9UCsxfDA7aWYoKEp8MCk9PShtfDApKXtZPW07
YnJlYWt9TT1hW0pdfDA7aWYoTTw8MjQ+PjI0PD0tMSl7WT1KO2JyZWFrfWlmKChiW08rKE08PDI0
Pj4yNDw8MSk+PjFdJjgxOTIpPT0wKXtZPUo7YnJlYWt9ZWxzZXtQPUo7eT0yMTA5fX1LPUw7Sj1O
O3doaWxlKDEpe2Rve2lmKChLfDApPT0wKXtaPTB9ZWxzZXtpZigoY1tLKzEyPj4yXXwwKSE9KGNb
SysxNj4+Ml18MCkpe1o9SzticmVha31pZigoYjBbY1soY1tLPj4yXXwwKSszNj4+Ml0mMTI3XShL
KXwwKSE9LTEpe1o9SzticmVha31jW3g+PjJdPTA7Wj0wfX13aGlsZSgwKTtNPShafDApPT0wO2Rv
e2lmKChKfDApPT0wKXt5PTIxMjJ9ZWxzZXtpZigoY1tKKzEyPj4yXXwwKSE9KGNbSisxNj4+Ml18
MCkpe2lmKE0pe189SjticmVha31lbHNle1Q9WTticmVhayBMMjUzNn19aWYoKGIwW2NbKGNbSj4+
Ml18MCkrMzY+PjJdJjEyN10oSil8MCk9PS0xKXtjW3o+PjJdPTA7eT0yMTIyO2JyZWFrfWVsc2V7
aWYoTV4oSnwwKT09MCl7Xz1KO2JyZWFrfWVsc2V7VD1ZO2JyZWFrIEwyNTM2fX19fXdoaWxlKDAp
O2lmKCh5fDApPT0yMTIyKXt5PTA7aWYoTSl7VD1ZO2JyZWFrIEwyNTM2fWVsc2V7Xz0wfX1VPVor
MTJ8MDskPWNbVT4+Ml18MDthYT1aKzE2fDA7aWYoKCR8MCk9PShjW2FhPj4yXXwwKSl7YWI9KGIw
W2NbKGNbWj4+Ml18MCkrMzY+PjJdJjEyN10oWil8MCkmMjU1fWVsc2V7YWI9YVskXXwwfWlmKGFi
PDwyND4+MjQ8PS0xKXtUPVk7YnJlYWsgTDI1MzZ9aWYoKGJbKGNbQj4+Ml18MCkrKGFiPDwyND4+
MjQ8PDEpPj4xXSY4MTkyKT09MCl7VD1ZO2JyZWFrIEwyNTM2fSQ9Y1tVPj4yXXwwO2lmKCgkfDAp
PT0oY1thYT4+Ml18MCkpe2FhPWNbKGNbWj4+Ml18MCkrNDA+PjJdfDA7YjBbYWEmMTI3XShaKXww
O0s9WjtKPV87Y29udGludWV9ZWxzZXtjW1U+PjJdPSQrMTtLPVo7Sj1fO2NvbnRpbnVlfX19fXdo
aWxlKDApO2lmKChUfDApPT0obXwwKSl7eT0yMTQxO2JyZWFrIEwyNTA2fUg9VDtJPWNbaj4+Ml18
MH1pZigoeXwwKT09MjA5OSl7Y1tqPj4yXT00O2FjPUw7YnJlYWt9ZWxzZSBpZigoeXwwKT09MjEw
Mil7Y1tqPj4yXT00O2FjPUw7YnJlYWt9ZWxzZSBpZigoeXwwKT09MjA5NSl7Y1tqPj4yXT00O2Fj
PUw7YnJlYWt9fX13aGlsZSgwKTtpZigoeXwwKT09MjE0MSl7YWM9Y1t4Pj4yXXwwfXc9ZnwwO2Rv
e2lmKChhY3wwKSE9MCl7aWYoKGNbYWMrMTI+PjJdfDApIT0oY1thYysxNj4+Ml18MCkpe2JyZWFr
fWlmKChiMFtjWyhjW2FjPj4yXXwwKSszNj4+Ml0mMTI3XShhYyl8MCkhPS0xKXticmVha31jW3c+
PjJdPTB9fXdoaWxlKDApO3g9Y1t3Pj4yXXwwO3Y9KHh8MCk9PTA7ST1nfDA7SD1jW0k+PjJdfDA7
TDI1OTQ6ZG97aWYoKEh8MCk9PTApe3k9MjE1MX1lbHNle2Rve2lmKChjW0grMTI+PjJdfDApPT0o
Y1tIKzE2Pj4yXXwwKSl7aWYoKGIwW2NbKGNbSD4+Ml18MCkrMzY+PjJdJjEyN10oSCl8MCkhPS0x
KXticmVha31jW0k+PjJdPTA7eT0yMTUxO2JyZWFrIEwyNTk0fX13aGlsZSgwKTtpZighdil7YnJl
YWt9YWQ9ZHwwO2NbYWQ+PjJdPXg7aT1uO3JldHVybn19d2hpbGUoMCk7ZG97aWYoKHl8MCk9PTIx
NTEpe2lmKHYpe2JyZWFrfWFkPWR8MDtjW2FkPj4yXT14O2k9bjtyZXR1cm59fXdoaWxlKDApO2Nb
aj4+Ml09Y1tqPj4yXXwyO2FkPWR8MDtjW2FkPj4yXT14O2k9bjtyZXR1cm59fXdoaWxlKDApO249
Yk8oNCl8MDtrcShuKTtibChufDAsODE3NiwxMzQpfWZ1bmN0aW9uIGdFKGEsYixkLGUsZixnLGgp
e2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9
MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MDtqPWk7aT1pKzMyfDA7az1kO2Q9
aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZD4+Ml09Y1trPj4yXTtrPWU7ZT1pO2k9aSs0fDA7aT1p
Kzc+PjM8PDM7Y1tlPj4yXT1jW2s+PjJdO2s9anwwO2w9ais4fDA7bT1qKzI0fDA7ZWoobSxmKTtm
PW18MDttPWNbZj4+Ml18MDtpZigoY1szOTI0XXwwKSE9LTEpe2NbbD4+Ml09MTU2OTY7Y1tsKzQ+
PjJdPTEyO2NbbCs4Pj4yXT0wO2RXKDE1Njk2LGwsOTYpfWw9KGNbMzkyNV18MCktMXwwO249Y1tt
Kzg+PjJdfDA7ZG97aWYoKGNbbSsxMj4+Ml18MCktbj4+Mj4+PjA+bD4+PjApe289Y1tuKyhsPDwy
KT4+Ml18MDtpZigob3wwKT09MCl7YnJlYWt9cD1vO289Y1tmPj4yXXwwO2R6KG8pfDA7bz1jW2U+
PjJdfDA7cT1iKzh8MDtyPWIwW2NbY1txPj4yXT4+Ml0mMTI3XShxKXwwO2Nbaz4+Ml09bztvPShm
cShkLGsscixyKzE2OHwwLHAsZywwKXwwKS1yfDA7aWYoKG98MCk+PTE2OCl7cz1kfDA7dD1jW3M+
PjJdfDA7dT1hfDA7Y1t1Pj4yXT10O2k9ajtyZXR1cm59Y1toKzI0Pj4yXT0oKG98MCkvMTJ8MHww
KSU3fDA7cz1kfDA7dD1jW3M+PjJdfDA7dT1hfDA7Y1t1Pj4yXT10O2k9ajtyZXR1cm59fXdoaWxl
KDApO2o9Yk8oNCl8MDtrcShqKTtibChqfDAsODE3NiwxMzQpfWZ1bmN0aW9uIGdGKGEsYixkLGUs
ZixnLGgpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAs
az0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MDtqPWk7aT1pKzMyfDA7
az1kO2Q9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZD4+Ml09Y1trPj4yXTtrPWU7ZT1pO2k9aSs0
fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW2s+PjJdO2s9anwwO2w9ais4fDA7bT1qKzI0fDA7ZWoo
bSxmKTtmPW18MDttPWNbZj4+Ml18MDtpZigoY1szOTI0XXwwKSE9LTEpe2NbbD4+Ml09MTU2OTY7
Y1tsKzQ+PjJdPTEyO2NbbCs4Pj4yXT0wO2RXKDE1Njk2LGwsOTYpfWw9KGNbMzkyNV18MCktMXww
O249Y1ttKzg+PjJdfDA7ZG97aWYoKGNbbSsxMj4+Ml18MCktbj4+Mj4+PjA+bD4+PjApe289Y1tu
KyhsPDwyKT4+Ml18MDtpZigob3wwKT09MCl7YnJlYWt9cD1vO289Y1tmPj4yXXwwO2R6KG8pfDA7
bz1jW2U+PjJdfDA7cT1iKzh8MDtyPWIwW2NbKGNbcT4+Ml18MCkrND4+Ml0mMTI3XShxKXwwO2Nb
az4+Ml09bztvPShmcShkLGsscixyKzI4OHwwLHAsZywwKXwwKS1yfDA7aWYoKG98MCk+PTI4OCl7
cz1kfDA7dD1jW3M+PjJdfDA7dT1hfDA7Y1t1Pj4yXT10O2k9ajtyZXR1cm59Y1toKzE2Pj4yXT0o
KG98MCkvMTJ8MHwwKSUxMnwwO3M9ZHwwO3Q9Y1tzPj4yXXwwO3U9YXwwO2NbdT4+Ml09dDtpPWo7
cmV0dXJufX13aGlsZSgwKTtqPWJPKDQpfDA7a3Eoaik7YmwoanwwLDgxNzYsMTM0KX1mdW5jdGlv
biBnRyhhLGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDto
PWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wO2I9aTtpPWkr
MzJ8MDtqPWQ7ZD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tkPj4yXT1jW2o+PjJdO2o9ZTtlPWk7
aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNbaj4+Ml07aj1ifDA7az1iKzh8MDtsPWIrMjR8
MDtlaihsLGYpO2Y9bHwwO2w9Y1tmPj4yXXwwO2lmKChjWzM5MjRdfDApIT0tMSl7Y1trPj4yXT0x
NTY5NjtjW2srND4+Ml09MTI7Y1trKzg+PjJdPTA7ZFcoMTU2OTYsayw5Nil9az0oY1szOTI1XXww
KS0xfDA7bT1jW2wrOD4+Ml18MDtkb3tpZigoY1tsKzEyPj4yXXwwKS1tPj4yPj4+MD5rPj4+MCl7
bj1jW20rKGs8PDIpPj4yXXwwO2lmKChufDApPT0wKXticmVha31vPW47bj1jW2Y+PjJdfDA7ZHoo
bil8MDtjW2o+PjJdPWNbZT4+Ml07bj1nTChkLGosZyxvLDQpfDA7aWYoKGNbZz4+Ml0mNHwwKSE9
MCl7cD1kfDA7cT1jW3A+PjJdfDA7cj1hfDA7Y1tyPj4yXT1xO2k9YjtyZXR1cm59aWYoKG58MCk8
Njkpe3M9bisyZTN8MH1lbHNle3M9KG4tNjl8MCk+Pj4wPDMxP24rMTkwMHwwOm59Y1toKzIwPj4y
XT1zLTE5MDA7cD1kfDA7cT1jW3A+PjJdfDA7cj1hfDA7Y1tyPj4yXT1xO2k9YjtyZXR1cm59fXdo
aWxlKDApO2I9Yk8oNCl8MDtrcShiKTtibChifDAsODE3NiwxMzQpfWZ1bmN0aW9uIGdIKGQsZSxm
LGcsaCl7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MDtkPWk7aj1mO2Y9aTtpPWkrNHwwO2k9
aSs3Pj4zPDwzO2NbZj4+Ml09Y1tqPj4yXTtqPWV8MDtlPWZ8MDtmPWgrOHwwO0wyNjUyOndoaWxl
KDEpe2g9Y1tqPj4yXXwwO2Rve2lmKChofDApPT0wKXtrPTB9ZWxzZXtpZigoY1toKzEyPj4yXXww
KSE9KGNbaCsxNj4+Ml18MCkpe2s9aDticmVha31pZigoYjBbY1soY1toPj4yXXwwKSszNj4+Ml0m
MTI3XShoKXwwKT09LTEpe2Nbaj4+Ml09MDtrPTA7YnJlYWt9ZWxzZXtrPWNbaj4+Ml18MDticmVh
a319fXdoaWxlKDApO2g9KGt8MCk9PTA7bD1jW2U+PjJdfDA7TDI2NjE6ZG97aWYoKGx8MCk9PTAp
e209MjIwN31lbHNle2Rve2lmKChjW2wrMTI+PjJdfDApPT0oY1tsKzE2Pj4yXXwwKSl7aWYoKGIw
W2NbKGNbbD4+Ml18MCkrMzY+PjJdJjEyN10obCl8MCkhPS0xKXticmVha31jW2U+PjJdPTA7bT0y
MjA3O2JyZWFrIEwyNjYxfX13aGlsZSgwKTtpZihoKXtuPWw7bz0wfWVsc2V7cD1sO3E9MDticmVh
ayBMMjY1Mn19fXdoaWxlKDApO2lmKChtfDApPT0yMjA3KXttPTA7aWYoaCl7cD0wO3E9MTticmVh
a31lbHNle249MDtvPTF9fWw9Y1tqPj4yXXwwO3I9Y1tsKzEyPj4yXXwwO2lmKChyfDApPT0oY1ts
KzE2Pj4yXXwwKSl7cz0oYjBbY1soY1tsPj4yXXwwKSszNj4+Ml0mMTI3XShsKXwwKSYyNTV9ZWxz
ZXtzPWFbcl18MH1pZihzPDwyND4+MjQ8PS0xKXtwPW47cT1vO2JyZWFrfWlmKChiWyhjW2Y+PjJd
fDApKyhzPDwyND4+MjQ8PDEpPj4xXSY4MTkyKT09MCl7cD1uO3E9bzticmVha31yPWNbaj4+Ml18
MDtsPXIrMTJ8MDt0PWNbbD4+Ml18MDtpZigodHwwKT09KGNbcisxNj4+Ml18MCkpe3U9Y1soY1ty
Pj4yXXwwKSs0MD4+Ml18MDtiMFt1JjEyN10ocil8MDtjb250aW51ZX1lbHNle2NbbD4+Ml09dCsx
O2NvbnRpbnVlfX1vPWNbaj4+Ml18MDtkb3tpZigob3wwKT09MCl7dj0wfWVsc2V7aWYoKGNbbysx
Mj4+Ml18MCkhPShjW28rMTY+PjJdfDApKXt2PW87YnJlYWt9aWYoKGIwW2NbKGNbbz4+Ml18MCkr
MzY+PjJdJjEyN10obyl8MCk9PS0xKXtjW2o+PjJdPTA7dj0wO2JyZWFrfWVsc2V7dj1jW2o+PjJd
fDA7YnJlYWt9fX13aGlsZSgwKTtqPSh2fDApPT0wO2Rve2lmKHEpe209MjIyNn1lbHNle2lmKChj
W3ArMTI+PjJdfDApIT0oY1twKzE2Pj4yXXwwKSl7aWYoIShqXihwfDApPT0wKSl7YnJlYWt9aT1k
O3JldHVybn1pZigoYjBbY1soY1twPj4yXXwwKSszNj4+Ml0mMTI3XShwKXwwKT09LTEpe2NbZT4+
Ml09MDttPTIyMjY7YnJlYWt9aWYoIWope2JyZWFrfWk9ZDtyZXR1cm59fXdoaWxlKDApO2Rve2lm
KChtfDApPT0yMjI2KXtpZihqKXticmVha31pPWQ7cmV0dXJufX13aGlsZSgwKTtjW2c+PjJdPWNb
Zz4+Ml18MjtpPWQ7cmV0dXJufWZ1bmN0aW9uIGdJKGIsZCxlLGYsZyxoLGosayxsKXtiPWJ8MDtk
PWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDtsPWx8MDt2YXIgbT0wLG49
MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0w
LEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAs
UT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wLFg9MCxZPTAsWj0wLF89MCwkPTAsYWE9MCxhYj0w
LGFjPTAsYWQ9MCxhZT0wLGFmPTAsYWc9MCxhaD0wLGFpPTAsYWo9MCxhaz0wLGFsPTAsYW09MDts
PWk7aT1pKzMyOHwwO209ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNbbT4+Ml07
bT1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1ttPj4yXTttPWx8MDtuPWwrOHww
O289bCsxNnwwO3A9bCsyNHwwO3E9bCszMnwwO3I9bCs0MHwwO3M9bCs0OHwwO3Q9bCs1NnwwO3U9
bCs2NHwwO3Y9bCs3MnwwO3c9bCs4MHwwO3g9bCs4OHwwO3k9bCs5NnwwO3o9bCsxMTJ8MDtBPWwr
MTIwfDA7Qj1sKzEyOHwwO0M9bCsxMzZ8MDtEPWwrMTQ0fDA7RT1sKzE1MnwwO0Y9bCsxNjB8MDtH
PWwrMTY4fDA7SD1sKzE3NnwwO0k9bCsxODR8MDtKPWwrMTkyfDA7Sz1sKzIwMHwwO0w9bCsyMDh8
MDtNPWwrMjE2fDA7Tj1sKzIyNHwwO089bCsyMzJ8MDtQPWwrMjQwfDA7UT1sKzI0OHwwO1I9bCsy
NTZ8MDtTPWwrMjY0fDA7VD1sKzI3MnwwO1U9bCsyODB8MDtWPWwrMjg4fDA7Vz1sKzI5NnwwO1g9
bCszMDR8MDtZPWwrMzEyfDA7Wj1sKzMyMHwwO2NbaD4+Ml09MDtlaih6LGcpO189enwwO3o9Y1tf
Pj4yXXwwO2lmKChjWzM5MjRdfDApIT0tMSl7Y1t5Pj4yXT0xNTY5NjtjW3krND4+Ml09MTI7Y1t5
Kzg+PjJdPTA7ZFcoMTU2OTYseSw5Nil9eT0oY1szOTI1XXwwKS0xfDA7JD1jW3orOD4+Ml18MDtk
b3tpZigoY1t6KzEyPj4yXXwwKS0kPj4yPj4+MD55Pj4+MCl7YWE9Y1skKyh5PDwyKT4+Ml18MDtp
ZigoYWF8MCk9PTApe2JyZWFrfWFiPWFhO2FhPWNbXz4+Ml18MDtkeihhYSl8MDtMMjcwOTpkb3tz
d2l0Y2goazw8MjQ+PjI0fDApe2Nhc2UgNzI6e2NbdT4+Ml09Y1tmPj4yXTthYT1nTChlLHUsaCxh
YiwyKXwwO2FjPWNbaD4+Ml18MDtpZigoYWMmNHwwKT09MCYoYWF8MCk8MjQpe2Nbais4Pj4yXT1h
YTticmVhayBMMjcwOX1lbHNle2NbaD4+Ml09YWN8NDticmVhayBMMjcwOX1icmVha307Y2FzZSA5
NzpjYXNlIDY1OnthYz1jW2Y+PjJdfDA7YWE9ZCs4fDA7YWQ9YjBbY1tjW2FhPj4yXT4+Ml0mMTI3
XShhYSl8MDtjW3g+PjJdPWFjO2FjPShmcShlLHgsYWQsYWQrMTY4fDAsYWIsaCwwKXwwKS1hZHww
O2lmKChhY3wwKT49MTY4KXticmVhayBMMjcwOX1jW2orMjQ+PjJdPSgoYWN8MCkvMTJ8MHwwKSU3
fDA7YnJlYWt9O2Nhc2UgMTA5OntjW3I+PjJdPWNbZj4+Ml07YWM9KGdMKGUscixoLGFiLDIpfDAp
LTF8MDthZD1jW2g+PjJdfDA7aWYoKGFkJjR8MCk9PTAmKGFjfDApPDEyKXtjW2orMTY+PjJdPWFj
O2JyZWFrIEwyNzA5fWVsc2V7Y1toPj4yXT1hZHw0O2JyZWFrIEwyNzA5fWJyZWFrfTtjYXNlIDEy
MTp7Y1tuPj4yXT1jW2Y+PjJdO2FkPWdMKGUsbixoLGFiLDQpfDA7aWYoKGNbaD4+Ml0mNHwwKSE9
MCl7YnJlYWsgTDI3MDl9aWYoKGFkfDApPDY5KXthZT1hZCsyZTN8MH1lbHNle2FlPShhZC02OXww
KT4+PjA8MzE/YWQrMTkwMHwwOmFkfWNbaisyMD4+Ml09YWUtMTkwMDticmVha307Y2FzZSA5ODpj
YXNlIDY2OmNhc2UgMTA0OnthZD1jW2Y+PjJdfDA7YWM9ZCs4fDA7YWE9YjBbY1soY1thYz4+Ml18
MCkrND4+Ml0mMTI3XShhYyl8MDtjW3c+PjJdPWFkO2FkPShmcShlLHcsYWEsYWErMjg4fDAsYWIs
aCwwKXwwKS1hYXwwO2lmKChhZHwwKT49Mjg4KXticmVhayBMMjcwOX1jW2orMTY+PjJdPSgoYWR8
MCkvMTJ8MHwwKSUxMnwwO2JyZWFrfTtjYXNlIDczOnthZD1qKzh8MDtjW3Q+PjJdPWNbZj4+Ml07
YWE9Z0woZSx0LGgsYWIsMil8MDthYz1jW2g+PjJdfDA7ZG97aWYoKGFjJjR8MCk9PTApe2lmKChh
YS0xfDApPj4+MD49MTIpe2JyZWFrfWNbYWQ+PjJdPWFhO2JyZWFrIEwyNzA5fX13aGlsZSgwKTtj
W2g+PjJdPWFjfDQ7YnJlYWt9O2Nhc2UgMTA2OntjW3M+PjJdPWNbZj4+Ml07YWE9Z0woZSxzLGgs
YWIsMyl8MDthZD1jW2g+PjJdfDA7aWYoKGFkJjR8MCk9PTAmKGFhfDApPDM2Nil7Y1tqKzI4Pj4y
XT1hYTticmVhayBMMjcwOX1lbHNle2NbaD4+Ml09YWR8NDticmVhayBMMjcwOX1icmVha307Y2Fz
ZSA2ODp7YWQ9ZXwwO2NbRT4+Ml09Y1thZD4+Ml07Y1tGPj4yXT1jW2Y+PjJdO2dEKEQsZCxFLEYs
ZyxoLGosMjM2OCwyMzc2KTtjW2FkPj4yXT1jW0Q+PjJdO2JyZWFrfTtjYXNlIDg0OnthZD1lfDA7
Y1tTPj4yXT1jW2FkPj4yXTtjW1Q+PjJdPWNbZj4+Ml07Z0QoUixkLFMsVCxnLGgsaiwyMzI4LDIz
MzYpO2NbYWQ+PjJdPWNbUj4+Ml07YnJlYWt9O2Nhc2UgMTE5OntjW28+PjJdPWNbZj4+Ml07YWQ9
Z0woZSxvLGgsYWIsMSl8MDthYT1jW2g+PjJdfDA7aWYoKGFhJjR8MCk9PTAmKGFkfDApPDcpe2Nb
aisyND4+Ml09YWQ7YnJlYWsgTDI3MDl9ZWxzZXtjW2g+PjJdPWFhfDQ7YnJlYWsgTDI3MDl9YnJl
YWt9O2Nhc2UgNzA6e2FhPWV8MDtjW0g+PjJdPWNbYWE+PjJdO2NbST4+Ml09Y1tmPj4yXTtnRChH
LGQsSCxJLGcsaCxqLDIzNjAsMjM2OCk7Y1thYT4+Ml09Y1tHPj4yXTticmVha307Y2FzZSA4OTp7
Y1ttPj4yXT1jW2Y+PjJdO2FhPWdMKGUsbSxoLGFiLDQpfDA7aWYoKGNbaD4+Ml0mNHwwKSE9MCl7
YnJlYWsgTDI3MDl9Y1tqKzIwPj4yXT1hYS0xOTAwO2JyZWFrfTtjYXNlIDM3OntjW1o+PjJdPWNb
Zj4+Ml07Z0soMCxlLFosaCxhYik7YnJlYWt9O2Nhc2UgMTE0OnthYT1lfDA7Y1tNPj4yXT1jW2Fh
Pj4yXTtjW04+PjJdPWNbZj4+Ml07Z0QoTCxkLE0sTixnLGgsaiwyMzQ0LDIzNTUpO2NbYWE+PjJd
PWNbTD4+Ml07YnJlYWt9O2Nhc2UgODI6e2FhPWV8MDtjW1A+PjJdPWNbYWE+PjJdO2NbUT4+Ml09
Y1tmPj4yXTtnRChPLGQsUCxRLGcsaCxqLDIzMzYsMjM0MSk7Y1thYT4+Ml09Y1tPPj4yXTticmVh
a307Y2FzZSA5OTp7YWE9ZCs4fDA7YWQ9YjBbY1soY1thYT4+Ml18MCkrMTI+PjJdJjEyN10oYWEp
fDA7YWE9ZXwwO2NbQj4+Ml09Y1thYT4+Ml07Y1tDPj4yXT1jW2Y+PjJdO2FmPWFkO2FnPWFbYWRd
fDA7aWYoKGFnJjEpPT0wKXthaD1hZisxfDA7YWk9YWYrMXwwfWVsc2V7YWY9Y1thZCs4Pj4yXXww
O2FoPWFmO2FpPWFmfWFmPWFnJjI1NTtpZigoYWYmMXwwKT09MCl7YWo9YWY+Pj4xfWVsc2V7YWo9
Y1thZCs0Pj4yXXwwfWdEKEEsZCxCLEMsZyxoLGosYWksYWgrYWp8MCk7Y1thYT4+Ml09Y1tBPj4y
XTticmVha307Y2FzZSA4Mzp7Y1twPj4yXT1jW2Y+PjJdO2FhPWdMKGUscCxoLGFiLDIpfDA7YWQ9
Y1toPj4yXXwwO2lmKChhZCY0fDApPT0wJihhYXwwKTw2MSl7Y1tqPj4yXT1hYTticmVhayBMMjcw
OX1lbHNle2NbaD4+Ml09YWR8NDticmVhayBMMjcwOX1icmVha307Y2FzZSA3Nzp7Y1txPj4yXT1j
W2Y+PjJdO2FkPWdMKGUscSxoLGFiLDIpfDA7YWE9Y1toPj4yXXwwO2lmKChhYSY0fDApPT0wJihh
ZHwwKTw2MCl7Y1tqKzQ+PjJdPWFkO2JyZWFrIEwyNzA5fWVsc2V7Y1toPj4yXT1hYXw0O2JyZWFr
IEwyNzA5fWJyZWFrfTtjYXNlIDExMDpjYXNlIDExNjp7Y1tKPj4yXT1jW2Y+PjJdO2dIKDAsZSxK
LGgsYWIpO2JyZWFrfTtjYXNlIDExMjp7Y1tLPj4yXT1jW2Y+PjJdO2dKKGQsais4fDAsZSxLLGgs
YWIpO2JyZWFrfTtjYXNlIDEyMDp7YWE9Y1soY1tkPj4yXXwwKSsyMD4+Ml18MDtjW1U+PjJdPWNb
ZT4+Ml07Y1tWPj4yXT1jW2Y+PjJdO2JYW2FhJjEyN10oYixkLFUsVixnLGgsaik7aT1sO3JldHVy
bn07Y2FzZSA4ODp7YWE9ZCs4fDA7YWQ9YjBbY1soY1thYT4+Ml18MCkrMjQ+PjJdJjEyN10oYWEp
fDA7YWE9ZXwwO2NbWD4+Ml09Y1thYT4+Ml07Y1tZPj4yXT1jW2Y+PjJdO2FmPWFkO2FnPWFbYWRd
fDA7aWYoKGFnJjEpPT0wKXthaz1hZisxfDA7YWw9YWYrMXwwfWVsc2V7YWY9Y1thZCs4Pj4yXXww
O2FrPWFmO2FsPWFmfWFmPWFnJjI1NTtpZigoYWYmMXwwKT09MCl7YW09YWY+Pj4xfWVsc2V7YW09
Y1thZCs0Pj4yXXwwfWdEKFcsZCxYLFksZyxoLGosYWwsYWsrYW18MCk7Y1thYT4+Ml09Y1tXPj4y
XTticmVha307Y2FzZSAxMDA6Y2FzZSAxMDE6e2FhPWorMTJ8MDtjW3Y+PjJdPWNbZj4+Ml07YWQ9
Z0woZSx2LGgsYWIsMil8MDthZj1jW2g+PjJdfDA7ZG97aWYoKGFmJjR8MCk9PTApe2lmKChhZC0x
fDApPj4+MD49MzEpe2JyZWFrfWNbYWE+PjJdPWFkO2JyZWFrIEwyNzA5fX13aGlsZSgwKTtjW2g+
PjJdPWFmfDQ7YnJlYWt9O2RlZmF1bHQ6e2NbaD4+Ml09Y1toPj4yXXw0fX19d2hpbGUoMCk7Y1ti
Pj4yXT1jW2U+PjJdO2k9bDtyZXR1cm59fXdoaWxlKDApO2w9Yk8oNCl8MDtrcShsKTtibChsfDAs
ODE3NiwxMzQpfWZ1bmN0aW9uIGdKKGEsYixlLGYsZyxoKXthPWF8MDtiPWJ8MDtlPWV8MDtmPWZ8
MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MDtqPWk7aT1pKzh8MDtrPWY7Zj1p
O2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2s+PjJdO2s9anwwO2w9YSs4fDA7YT1iMFtj
WyhjW2w+PjJdfDApKzg+PjJdJjEyN10obCl8MDtsPWRbYV18MDtpZigobCYxfDApPT0wKXttPWw+
Pj4xfWVsc2V7bT1jW2ErND4+Ml18MH1sPWRbYSsxMnwwXXwwO2lmKChsJjF8MCk9PTApe249bD4+
PjF9ZWxzZXtuPWNbYSsxNj4+Ml18MH1pZigobXwwKT09KC1ufDApKXtjW2c+PjJdPWNbZz4+Ml18
NDtpPWo7cmV0dXJufWNbaz4+Ml09Y1tmPj4yXTtmPWZxKGUsayxhLGErMjR8MCxoLGcsMCl8MDtn
PWYtYXwwO2Rve2lmKChmfDApPT0oYXwwKSl7aWYoKGNbYj4+Ml18MCkhPTEyKXticmVha31jW2I+
PjJdPTA7aT1qO3JldHVybn19d2hpbGUoMCk7aWYoKGd8MCkhPTEyKXtpPWo7cmV0dXJufWc9Y1ti
Pj4yXXwwO2lmKChnfDApPj0xMil7aT1qO3JldHVybn1jW2I+PjJdPWcrMTI7aT1qO3JldHVybn1m
dW5jdGlvbiBnSyhiLGQsZSxmLGcpe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO3ZhciBo
PTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7Yj1pO2g9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8
MztjW2U+PjJdPWNbaD4+Ml07aD1kfDA7ZD1jW2g+PjJdfDA7ZG97aWYoKGR8MCk9PTApe2o9MH1l
bHNle2lmKChjW2QrMTI+PjJdfDApIT0oY1tkKzE2Pj4yXXwwKSl7aj1kO2JyZWFrfWlmKChiMFtj
WyhjW2Q+PjJdfDApKzM2Pj4yXSYxMjddKGQpfDApPT0tMSl7Y1toPj4yXT0wO2o9MDticmVha31l
bHNle2o9Y1toPj4yXXwwO2JyZWFrfX19d2hpbGUoMCk7ZD0oanwwKT09MDtqPWV8MDtlPWNbaj4+
Ml18MDtMMjgyMjpkb3tpZigoZXwwKT09MCl7az0yMzM3fWVsc2V7ZG97aWYoKGNbZSsxMj4+Ml18
MCk9PShjW2UrMTY+PjJdfDApKXtpZigoYjBbY1soY1tlPj4yXXwwKSszNj4+Ml0mMTI3XShlKXww
KSE9LTEpe2JyZWFrfWNbaj4+Ml09MDtrPTIzMzc7YnJlYWsgTDI4MjJ9fXdoaWxlKDApO2lmKGQp
e2w9ZTttPTB9ZWxzZXtrPTIzMzh9fX13aGlsZSgwKTtpZigoa3wwKT09MjMzNyl7aWYoZCl7az0y
MzM4fWVsc2V7bD0wO209MX19aWYoKGt8MCk9PTIzMzgpe2NbZj4+Ml09Y1tmPj4yXXw2O2k9Yjty
ZXR1cm59ZD1jW2g+PjJdfDA7ZT1jW2QrMTI+PjJdfDA7aWYoKGV8MCk9PShjW2QrMTY+PjJdfDAp
KXtuPShiMFtjWyhjW2Q+PjJdfDApKzM2Pj4yXSYxMjddKGQpfDApJjI1NX1lbHNle249YVtlXXww
fWlmKChiMVtjWyhjW2c+PjJdfDApKzM2Pj4yXSY2M10oZyxuLDApfDApPDwyND4+MjQhPTM3KXtj
W2Y+PjJdPWNbZj4+Ml18NDtpPWI7cmV0dXJufW49Y1toPj4yXXwwO2c9bisxMnwwO2U9Y1tnPj4y
XXwwO2lmKChlfDApPT0oY1tuKzE2Pj4yXXwwKSl7ZD1jWyhjW24+PjJdfDApKzQwPj4yXXwwO2Iw
W2QmMTI3XShuKXwwfWVsc2V7Y1tnPj4yXT1lKzF9ZT1jW2g+PjJdfDA7ZG97aWYoKGV8MCk9PTAp
e289MH1lbHNle2lmKChjW2UrMTI+PjJdfDApIT0oY1tlKzE2Pj4yXXwwKSl7bz1lO2JyZWFrfWlm
KChiMFtjWyhjW2U+PjJdfDApKzM2Pj4yXSYxMjddKGUpfDApPT0tMSl7Y1toPj4yXT0wO289MDti
cmVha31lbHNle289Y1toPj4yXXwwO2JyZWFrfX19d2hpbGUoMCk7aD0ob3wwKT09MDtkb3tpZiht
KXtrPTIzNTd9ZWxzZXtpZigoY1tsKzEyPj4yXXwwKSE9KGNbbCsxNj4+Ml18MCkpe2lmKCEoaF4o
bHwwKT09MCkpe2JyZWFrfWk9YjtyZXR1cm59aWYoKGIwW2NbKGNbbD4+Ml18MCkrMzY+PjJdJjEy
N10obCl8MCk9PS0xKXtjW2o+PjJdPTA7az0yMzU3O2JyZWFrfWlmKCFoKXticmVha31pPWI7cmV0
dXJufX13aGlsZSgwKTtkb3tpZigoa3wwKT09MjM1Nyl7aWYoaCl7YnJlYWt9aT1iO3JldHVybn19
d2hpbGUoMCk7Y1tmPj4yXT1jW2Y+PjJdfDI7aT1iO3JldHVybn1mdW5jdGlvbiBnTChkLGUsZixn
LGgpe2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MCxtPTAsbj0w
LG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAs
Qz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTA7aj1pO2s9ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8Mztj
W2U+PjJdPWNbaz4+Ml07az1kfDA7ZD1jW2s+PjJdfDA7ZG97aWYoKGR8MCk9PTApe2w9MH1lbHNl
e2lmKChjW2QrMTI+PjJdfDApIT0oY1tkKzE2Pj4yXXwwKSl7bD1kO2JyZWFrfWlmKChiMFtjWyhj
W2Q+PjJdfDApKzM2Pj4yXSYxMjddKGQpfDApPT0tMSl7Y1trPj4yXT0wO2w9MDticmVha31lbHNl
e2w9Y1trPj4yXXwwO2JyZWFrfX19d2hpbGUoMCk7ZD0obHwwKT09MDtsPWV8MDtlPWNbbD4+Ml18
MDtMMjg3Njpkb3tpZigoZXwwKT09MCl7bT0yMzc3fWVsc2V7ZG97aWYoKGNbZSsxMj4+Ml18MCk9
PShjW2UrMTY+PjJdfDApKXtpZigoYjBbY1soY1tlPj4yXXwwKSszNj4+Ml0mMTI3XShlKXwwKSE9
LTEpe2JyZWFrfWNbbD4+Ml09MDttPTIzNzc7YnJlYWsgTDI4NzZ9fXdoaWxlKDApO2lmKGQpe249
ZX1lbHNle209MjM3OH19fXdoaWxlKDApO2lmKChtfDApPT0yMzc3KXtpZihkKXttPTIzNzh9ZWxz
ZXtuPTB9fWlmKChtfDApPT0yMzc4KXtjW2Y+PjJdPWNbZj4+Ml18NjtvPTA7aT1qO3JldHVybiBv
fDB9ZD1jW2s+PjJdfDA7ZT1jW2QrMTI+PjJdfDA7aWYoKGV8MCk9PShjW2QrMTY+PjJdfDApKXtw
PShiMFtjWyhjW2Q+PjJdfDApKzM2Pj4yXSYxMjddKGQpfDApJjI1NX1lbHNle3A9YVtlXXwwfWRv
e2lmKHA8PDI0Pj4yND4tMSl7ZT1nKzh8MDtpZigoYlsoY1tlPj4yXXwwKSsocDw8MjQ+PjI0PDwx
KT4+MV0mMjA0OCk9PTApe2JyZWFrfWQ9ZztxPShiMVtjWyhjW2Q+PjJdfDApKzM2Pj4yXSY2M10o
ZyxwLDApfDApPDwyND4+MjQ7cj1jW2s+PjJdfDA7cz1yKzEyfDA7dD1jW3M+PjJdfDA7aWYoKHR8
MCk9PShjW3IrMTY+PjJdfDApKXt1PWNbKGNbcj4+Ml18MCkrNDA+PjJdfDA7YjBbdSYxMjddKHIp
fDA7dj1xO3c9aDt4PW59ZWxzZXtjW3M+PjJdPXQrMTt2PXE7dz1oO3g9bn13aGlsZSgxKXt5PXYt
NDh8MDtxPXctMXwwO3Q9Y1trPj4yXXwwO2Rve2lmKCh0fDApPT0wKXt6PTB9ZWxzZXtpZigoY1t0
KzEyPj4yXXwwKSE9KGNbdCsxNj4+Ml18MCkpe3o9dDticmVha31pZigoYjBbY1soY1t0Pj4yXXww
KSszNj4+Ml0mMTI3XSh0KXwwKT09LTEpe2Nbaz4+Ml09MDt6PTA7YnJlYWt9ZWxzZXt6PWNbaz4+
Ml18MDticmVha319fXdoaWxlKDApO3Q9KHp8MCk9PTA7aWYoKHh8MCk9PTApe0E9ejtCPTB9ZWxz
ZXtkb3tpZigoY1t4KzEyPj4yXXwwKT09KGNbeCsxNj4+Ml18MCkpe2lmKChiMFtjWyhjW3g+PjJd
fDApKzM2Pj4yXSYxMjddKHgpfDApIT0tMSl7Qz14O2JyZWFrfWNbbD4+Ml09MDtDPTB9ZWxzZXtD
PXh9fXdoaWxlKDApO0E9Y1trPj4yXXwwO0I9Q31EPShCfDApPT0wO2lmKCEoKHReRCkmKHF8MCk+
MCkpe209MjQwNzticmVha31zPWNbQSsxMj4+Ml18MDtpZigoc3wwKT09KGNbQSsxNj4+Ml18MCkp
e0U9KGIwW2NbKGNbQT4+Ml18MCkrMzY+PjJdJjEyN10oQSl8MCkmMjU1fWVsc2V7RT1hW3NdfDB9
aWYoRTw8MjQ+PjI0PD0tMSl7bz15O209MjQyMjticmVha31pZigoYlsoY1tlPj4yXXwwKSsoRTw8
MjQ+PjI0PDwxKT4+MV0mMjA0OCk9PTApe289eTttPTI0MjM7YnJlYWt9cz0oKGIxW2NbKGNbZD4+
Ml18MCkrMzY+PjJdJjYzXShnLEUsMCl8MCk8PDI0Pj4yNCkrKHkqMTB8MCl8MDtyPWNbaz4+Ml18
MDt1PXIrMTJ8MDtGPWNbdT4+Ml18MDtpZigoRnwwKT09KGNbcisxNj4+Ml18MCkpe0c9Y1soY1ty
Pj4yXXwwKSs0MD4+Ml18MDtiMFtHJjEyN10ocil8MDt2PXM7dz1xO3g9Qjtjb250aW51ZX1lbHNl
e2NbdT4+Ml09RisxO3Y9czt3PXE7eD1CO2NvbnRpbnVlfX1pZigobXwwKT09MjQwNyl7ZG97aWYo
KEF8MCk9PTApe0g9MH1lbHNle2lmKChjW0ErMTI+PjJdfDApIT0oY1tBKzE2Pj4yXXwwKSl7SD1B
O2JyZWFrfWlmKChiMFtjWyhjW0E+PjJdfDApKzM2Pj4yXSYxMjddKEEpfDApPT0tMSl7Y1trPj4y
XT0wO0g9MDticmVha31lbHNle0g9Y1trPj4yXXwwO2JyZWFrfX19d2hpbGUoMCk7ZD0oSHwwKT09
MDtMMjkzMzpkb3tpZihEKXttPTI0MTd9ZWxzZXtkb3tpZigoY1tCKzEyPj4yXXwwKT09KGNbQisx
Nj4+Ml18MCkpe2lmKChiMFtjWyhjW0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDApIT0tMSl7YnJl
YWt9Y1tsPj4yXT0wO209MjQxNzticmVhayBMMjkzM319d2hpbGUoMCk7aWYoZCl7bz15fWVsc2V7
YnJlYWt9aT1qO3JldHVybiBvfDB9fXdoaWxlKDApO2Rve2lmKChtfDApPT0yNDE3KXtpZihkKXti
cmVha31lbHNle289eX1pPWo7cmV0dXJuIG98MH19d2hpbGUoMCk7Y1tmPj4yXT1jW2Y+PjJdfDI7
bz15O2k9ajtyZXR1cm4gb3wwfWVsc2UgaWYoKG18MCk9PTI0MjIpe2k9ajtyZXR1cm4gb3wwfWVs
c2UgaWYoKG18MCk9PTI0MjMpe2k9ajtyZXR1cm4gb3wwfX19d2hpbGUoMCk7Y1tmPj4yXT1jW2Y+
PjJdfDQ7bz0wO2k9ajtyZXR1cm4gb3wwfWZ1bmN0aW9uIGdNKGEpe2E9YXwwO3JldHVybiAyfWZ1
bmN0aW9uIGdOKGEpe2E9YXwwO2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGdPKGEpe2E9
YXwwO2RlKGF8MCk7cmV0dXJufWZ1bmN0aW9uIGdQKGEsYixkLGUsZixnLGgpe2E9YXwwO2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO3ZhciBqPTAsaz0wLGw9MDtqPWk7aT1pKzE2
fDA7az1kO2Q9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZD4+Ml09Y1trPj4yXTtrPWU7ZT1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW2s+PjJdO2s9anwwO2w9ais4fDA7Y1trPj4yXT1j
W2Q+PjJdO2NbbD4+Ml09Y1tlPj4yXTtnUihhLGIsayxsLGYsZyxoLDIyOTYsMjMyOCk7aT1qO3Jl
dHVybn1mdW5jdGlvbiBnUShiLGQsZSxmLGcsaCxqKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtn
PWd8MDtoPWh8MDtqPWp8MDt2YXIgaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MDtrPWk7
aT1pKzE2fDA7bD1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1tsPj4yXTtsPWY7
Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9a3wwO209ays4fDA7bj1k
Kzh8MDtvPWIwW2NbKGNbbj4+Ml18MCkrMjA+PjJdJjEyN10obil8MDtjW2w+PjJdPWNbZT4+Ml07
Y1ttPj4yXT1jW2Y+PjJdO2Y9YVtvXXwwO2lmKChmJjEpPT0wKXtwPW8rNHwwO3E9bys0fDB9ZWxz
ZXtlPWNbbys4Pj4yXXwwO3A9ZTtxPWV9ZT1mJjI1NTtpZigoZSYxfDApPT0wKXtyPWU+Pj4xfWVs
c2V7cj1jW28rND4+Ml18MH1nUihiLGQsbCxtLGcsaCxqLHEscCsocjw8Mil8MCk7aT1rO3JldHVy
bn1mdW5jdGlvbiBnUihhLGIsZCxlLGYsZyxoLGosayl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7
Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxtPTAsbj0wLG89MCxwPTAscT0w
LHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAs
Rj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxU
PTAsVT0wLFY9MCxXPTAsWD0wLFk9MCxaPTAsXz0wLCQ9MCxhYT0wLGFiPTAsYWM9MCxhZD0wLGFl
PTAsYWY9MCxhZz0wO2w9aTtpPWkrNDh8MDttPWQ7ZD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tk
Pj4yXT1jW20+PjJdO209ZTtlPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2U+PjJdPWNbbT4+Ml07
bT1sfDA7bj1sKzE2fDA7bz1sKzI0fDA7cD1sKzMyfDA7cT1sKzQwfDA7ZWoobixmKTtyPW58MDtu
PWNbcj4+Ml18MDtpZigoY1szOTIyXXwwKSE9LTEpe2NbbT4+Ml09MTU2ODg7Y1ttKzQ+PjJdPTEy
O2NbbSs4Pj4yXT0wO2RXKDE1Njg4LG0sOTYpfW09KGNbMzkyM118MCktMXwwO3M9Y1tuKzg+PjJd
fDA7ZG97aWYoKGNbbisxMj4+Ml18MCktcz4+Mj4+PjA+bT4+PjApe3Q9Y1tzKyhtPDwyKT4+Ml18
MDtpZigodHwwKT09MCl7YnJlYWt9dT10O3Y9Y1tyPj4yXXwwO2R6KHYpfDA7Y1tnPj4yXT0wO3Y9
ZHwwO0wyOTY5OmRve2lmKChqfDApPT0oa3wwKSl7dz0yNTA4fWVsc2V7eD1lfDA7eT10O3o9dDtB
PXQ7Qj1iO0M9cHwwO0Q9cXwwO0U9b3wwO0Y9ajtHPTA7TDI5NzE6d2hpbGUoMSl7SD1HO3doaWxl
KDEpe2lmKChIfDApIT0wKXt3PTI1MDg7YnJlYWsgTDI5Njl9ST1jW3Y+PjJdfDA7ZG97aWYoKEl8
MCk9PTApe0o9MH1lbHNle0s9Y1tJKzEyPj4yXXwwO2lmKChLfDApPT0oY1tJKzE2Pj4yXXwwKSl7
TD1iMFtjWyhjW0k+PjJdfDApKzM2Pj4yXSYxMjddKEkpfDB9ZWxzZXtMPWNbSz4+Ml18MH1pZigo
THwwKSE9LTEpe0o9STticmVha31jW3Y+PjJdPTA7Sj0wfX13aGlsZSgwKTtJPShKfDApPT0wO0s9
Y1t4Pj4yXXwwO2Rve2lmKChLfDApPT0wKXt3PTI0NjB9ZWxzZXtNPWNbSysxMj4+Ml18MDtpZigo
TXwwKT09KGNbSysxNj4+Ml18MCkpe049YjBbY1soY1tLPj4yXXwwKSszNj4+Ml0mMTI3XShLKXww
fWVsc2V7Tj1jW00+PjJdfDB9aWYoKE58MCk9PS0xKXtjW3g+PjJdPTA7dz0yNDYwO2JyZWFrfWVs
c2V7aWYoSV4oS3wwKT09MCl7Tz1LO2JyZWFrfWVsc2V7dz0yNDYyO2JyZWFrIEwyOTcxfX19fXdo
aWxlKDApO2lmKCh3fDApPT0yNDYwKXt3PTA7aWYoSSl7dz0yNDYyO2JyZWFrIEwyOTcxfWVsc2V7
Tz0wfX1pZigoYjFbY1soY1t5Pj4yXXwwKSs1Mj4+Ml0mNjNdKHUsY1tGPj4yXXwwLDApfDApPDwy
ND4+MjQ9PTM3KXt3PTI0NjU7YnJlYWt9aWYoYjFbY1soY1t6Pj4yXXwwKSsxMj4+Ml0mNjNdKHUs
ODE5MixjW0Y+PjJdfDApfDApe1A9Rjt3PTI0NzU7YnJlYWt9UT1KKzEyfDA7Sz1jW1E+PjJdfDA7
Uj1KKzE2fDA7aWYoKEt8MCk9PShjW1I+PjJdfDApKXtTPWIwW2NbKGNbSj4+Ml18MCkrMzY+PjJd
JjEyN10oSil8MH1lbHNle1M9Y1tLPj4yXXwwfUs9Yl9bY1soY1tBPj4yXXwwKSsyOD4+Ml0mMzFd
KHUsUyl8MDtpZigoS3wwKT09KGJfW2NbKGNbQT4+Ml18MCkrMjg+PjJdJjMxXSh1LGNbRj4+Ml18
MCl8MCkpe3c9MjUwMzticmVha31jW2c+PjJdPTQ7SD00fUwzMDAzOmRve2lmKCh3fDApPT0yNTAz
KXt3PTA7SD1jW1E+PjJdfDA7aWYoKEh8MCk9PShjW1I+PjJdfDApKXtLPWNbKGNbSj4+Ml18MCkr
NDA+PjJdfDA7YjBbSyYxMjddKEopfDB9ZWxzZXtjW1E+PjJdPUgrNH1UPUYrNHwwfWVsc2UgaWYo
KHd8MCk9PTI0NjUpe3c9MDtIPUYrNHwwO2lmKChIfDApPT0oa3wwKSl7dz0yNDY2O2JyZWFrIEwy
OTcxfUs9YjFbY1soY1t5Pj4yXXwwKSs1Mj4+Ml0mNjNdKHUsY1tIPj4yXXwwLDApfDA7c3dpdGNo
KEs8PDI0Pj4yNCl7Y2FzZSA2OTpjYXNlIDQ4OntNPUYrOHwwO2lmKChNfDApPT0oa3wwKSl7dz0y
NDY5O2JyZWFrIEwyOTcxfVU9SztWPWIxW2NbKGNbeT4+Ml18MCkrNTI+PjJdJjYzXSh1LGNbTT4+
Ml18MCwwKXwwO1c9TTticmVha307ZGVmYXVsdDp7VT0wO1Y9SztXPUh9fUg9Y1soY1tCPj4yXXww
KSszNj4+Ml18MDtjW0M+PjJdPUo7Y1tEPj4yXT1PO2I3W0gmN10obyxiLHAscSxmLGcsaCxWLFUp
O2Nbdj4+Ml09Y1tFPj4yXTtUPVcrNHwwfWVsc2UgaWYoKHd8MCk9PTI0NzUpe3doaWxlKDEpe3c9
MDtIPVArNHwwO2lmKChIfDApPT0oa3wwKSl7WD1rO2JyZWFrfWlmKGIxW2NbKGNbej4+Ml18MCkr
MTI+PjJdJjYzXSh1LDgxOTIsY1tIPj4yXXwwKXwwKXtQPUg7dz0yNDc1fWVsc2V7WD1IO2JyZWFr
fX1JPUo7SD1PO3doaWxlKDEpe2Rve2lmKChJfDApPT0wKXtZPTB9ZWxzZXtLPWNbSSsxMj4+Ml18
MDtpZigoS3wwKT09KGNbSSsxNj4+Ml18MCkpe1o9YjBbY1soY1tJPj4yXXwwKSszNj4+Ml0mMTI3
XShJKXwwfWVsc2V7Wj1jW0s+PjJdfDB9aWYoKFp8MCkhPS0xKXtZPUk7YnJlYWt9Y1t2Pj4yXT0w
O1k9MH19d2hpbGUoMCk7Sz0oWXwwKT09MDtkb3tpZigoSHwwKT09MCl7dz0yNDkwfWVsc2V7TT1j
W0grMTI+PjJdfDA7aWYoKE18MCk9PShjW0grMTY+PjJdfDApKXtfPWIwW2NbKGNbSD4+Ml18MCkr
MzY+PjJdJjEyN10oSCl8MH1lbHNle189Y1tNPj4yXXwwfWlmKChffDApPT0tMSl7Y1t4Pj4yXT0w
O3c9MjQ5MDticmVha31lbHNle2lmKEteKEh8MCk9PTApeyQ9SDticmVha31lbHNle1Q9WDticmVh
ayBMMzAwM319fX13aGlsZSgwKTtpZigod3wwKT09MjQ5MCl7dz0wO2lmKEspe1Q9WDticmVhayBM
MzAwM31lbHNleyQ9MH19TT1ZKzEyfDA7YWE9Y1tNPj4yXXwwO2FiPVkrMTZ8MDtpZigoYWF8MCk9
PShjW2FiPj4yXXwwKSl7YWM9YjBbY1soY1tZPj4yXXwwKSszNj4+Ml0mMTI3XShZKXwwfWVsc2V7
YWM9Y1thYT4+Ml18MH1pZighKGIxW2NbKGNbej4+Ml18MCkrMTI+PjJdJjYzXSh1LDgxOTIsYWMp
fDApKXtUPVg7YnJlYWsgTDMwMDN9YWE9Y1tNPj4yXXwwO2lmKChhYXwwKT09KGNbYWI+PjJdfDAp
KXthYj1jWyhjW1k+PjJdfDApKzQwPj4yXXwwO2IwW2FiJjEyN10oWSl8MDtJPVk7SD0kO2NvbnRp
bnVlfWVsc2V7Y1tNPj4yXT1hYSs0O0k9WTtIPSQ7Y29udGludWV9fX19d2hpbGUoMCk7aWYoKFR8
MCk9PShrfDApKXt3PTI1MDg7YnJlYWsgTDI5Njl9Rj1UO0c9Y1tnPj4yXXwwfWlmKCh3fDApPT0y
NDYyKXtjW2c+PjJdPTQ7YWQ9SjticmVha31lbHNlIGlmKCh3fDApPT0yNDY2KXtjW2c+PjJdPTQ7
YWQ9SjticmVha31lbHNlIGlmKCh3fDApPT0yNDY5KXtjW2c+PjJdPTQ7YWQ9SjticmVha319fXdo
aWxlKDApO2lmKCh3fDApPT0yNTA4KXthZD1jW3Y+PjJdfDB9dT1kfDA7ZG97aWYoKGFkfDApIT0w
KXt0PWNbYWQrMTI+PjJdfDA7aWYoKHR8MCk9PShjW2FkKzE2Pj4yXXwwKSl7YWU9YjBbY1soY1th
ZD4+Ml18MCkrMzY+PjJdJjEyN10oYWQpfDB9ZWxzZXthZT1jW3Q+PjJdfDB9aWYoKGFlfDApIT0t
MSl7YnJlYWt9Y1t1Pj4yXT0wfX13aGlsZSgwKTt2PWNbdT4+Ml18MDt0PSh2fDApPT0wO0c9ZXww
O0Y9Y1tHPj4yXXwwO2Rve2lmKChGfDApPT0wKXt3PTI1MjF9ZWxzZXt6PWNbRisxMj4+Ml18MDtp
ZigoenwwKT09KGNbRisxNj4+Ml18MCkpe2FmPWIwW2NbKGNbRj4+Ml18MCkrMzY+PjJdJjEyN10o
Ril8MH1lbHNle2FmPWNbej4+Ml18MH1pZigoYWZ8MCk9PS0xKXtjW0c+PjJdPTA7dz0yNTIxO2Jy
ZWFrfWlmKCEodF4oRnwwKT09MCkpe2JyZWFrfWFnPWF8MDtjW2FnPj4yXT12O2k9bDtyZXR1cm59
fXdoaWxlKDApO2Rve2lmKCh3fDApPT0yNTIxKXtpZih0KXticmVha31hZz1hfDA7Y1thZz4+Ml09
djtpPWw7cmV0dXJufX13aGlsZSgwKTtjW2c+PjJdPWNbZz4+Ml18MjthZz1hfDA7Y1thZz4+Ml09
djtpPWw7cmV0dXJufX13aGlsZSgwKTtsPWJPKDQpfDA7a3EobCk7YmwobHwwLDgxNzYsMTM0KX1m
dW5jdGlvbiBnUyhhLGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtn
PWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9
MCx1PTA7aj1pO2k9aSszMnwwO2s9ZDtkPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2Q+PjJdPWNb
az4+Ml07az1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1trPj4yXTtrPWp8MDts
PWorOHwwO209aisyNHwwO2VqKG0sZik7Zj1tfDA7bT1jW2Y+PjJdfDA7aWYoKGNbMzkyMl18MCkh
PS0xKXtjW2w+PjJdPTE1Njg4O2NbbCs0Pj4yXT0xMjtjW2wrOD4+Ml09MDtkVygxNTY4OCxsLDk2
KX1sPShjWzM5MjNdfDApLTF8MDtuPWNbbSs4Pj4yXXwwO2Rve2lmKChjW20rMTI+PjJdfDApLW4+
PjI+Pj4wPmw+Pj4wKXtvPWNbbisobDw8Mik+PjJdfDA7aWYoKG98MCk9PTApe2JyZWFrfXA9bztv
PWNbZj4+Ml18MDtkeihvKXwwO289Y1tlPj4yXXwwO3E9Yis4fDA7cj1iMFtjW2NbcT4+Ml0+PjJd
JjEyN10ocSl8MDtjW2s+PjJdPW87bz0oZlMoZCxrLHIscisxNjh8MCxwLGcsMCl8MCktcnwwO2lm
KChvfDApPj0xNjgpe3M9ZHwwO3Q9Y1tzPj4yXXwwO3U9YXwwO2NbdT4+Ml09dDtpPWo7cmV0dXJu
fWNbaCsyND4+Ml09KChvfDApLzEyfDB8MCklN3wwO3M9ZHwwO3Q9Y1tzPj4yXXwwO3U9YXwwO2Nb
dT4+Ml09dDtpPWo7cmV0dXJufX13aGlsZSgwKTtqPWJPKDQpfDA7a3Eoaik7YmwoanwwLDgxNzYs
MTM0KX1mdW5jdGlvbiBnVChhLGIsZCxlLGYsZyxoKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtm
PWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAs
cz0wLHQ9MCx1PTA7aj1pO2k9aSszMnwwO2s9ZDtkPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2Q+
PjJdPWNbaz4+Ml07az1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1trPj4yXTtr
PWp8MDtsPWorOHwwO209aisyNHwwO2VqKG0sZik7Zj1tfDA7bT1jW2Y+PjJdfDA7aWYoKGNbMzky
Ml18MCkhPS0xKXtjW2w+PjJdPTE1Njg4O2NbbCs0Pj4yXT0xMjtjW2wrOD4+Ml09MDtkVygxNTY4
OCxsLDk2KX1sPShjWzM5MjNdfDApLTF8MDtuPWNbbSs4Pj4yXXwwO2Rve2lmKChjW20rMTI+PjJd
fDApLW4+PjI+Pj4wPmw+Pj4wKXtvPWNbbisobDw8Mik+PjJdfDA7aWYoKG98MCk9PTApe2JyZWFr
fXA9bztvPWNbZj4+Ml18MDtkeihvKXwwO289Y1tlPj4yXXwwO3E9Yis4fDA7cj1iMFtjWyhjW3E+
PjJdfDApKzQ+PjJdJjEyN10ocSl8MDtjW2s+PjJdPW87bz0oZlMoZCxrLHIscisyODh8MCxwLGcs
MCl8MCktcnwwO2lmKChvfDApPj0yODgpe3M9ZHwwO3Q9Y1tzPj4yXXwwO3U9YXwwO2NbdT4+Ml09
dDtpPWo7cmV0dXJufWNbaCsxNj4+Ml09KChvfDApLzEyfDB8MCklMTJ8MDtzPWR8MDt0PWNbcz4+
Ml18MDt1PWF8MDtjW3U+PjJdPXQ7aT1qO3JldHVybn19d2hpbGUoMCk7aj1iTyg0KXwwO2txKGop
O2JsKGp8MCw4MTc2LDEzNCl9ZnVuY3Rpb24gZ1UoYSxiLGQsZSxmLGcsaCl7YT1hfDA7Yj1ifDA7
ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09MCxuPTAsbz0w
LHA9MCxxPTAscj0wLHM9MDtiPWk7aT1pKzMyfDA7aj1kO2Q9aTtpPWkrNHwwO2k9aSs3Pj4zPDwz
O2NbZD4+Ml09Y1tqPj4yXTtqPWU7ZT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW2o+
PjJdO2o9YnwwO2s9Yis4fDA7bD1iKzI0fDA7ZWoobCxmKTtmPWx8MDtsPWNbZj4+Ml18MDtpZigo
Y1szOTIyXXwwKSE9LTEpe2Nbaz4+Ml09MTU2ODg7Y1trKzQ+PjJdPTEyO2Nbays4Pj4yXT0wO2RX
KDE1Njg4LGssOTYpfWs9KGNbMzkyM118MCktMXwwO209Y1tsKzg+PjJdfDA7ZG97aWYoKGNbbCsx
Mj4+Ml18MCktbT4+Mj4+PjA+az4+PjApe249Y1ttKyhrPDwyKT4+Ml18MDtpZigobnwwKT09MCl7
YnJlYWt9bz1uO249Y1tmPj4yXXwwO2R6KG4pfDA7Y1tqPj4yXT1jW2U+PjJdO249aGMoZCxqLGcs
byw0KXwwO2lmKChjW2c+PjJdJjR8MCkhPTApe3A9ZHwwO3E9Y1twPj4yXXwwO3I9YXwwO2Nbcj4+
Ml09cTtpPWI7cmV0dXJufWlmKChufDApPDY5KXtzPW4rMmUzfDB9ZWxzZXtzPShuLTY5fDApPj4+
MDwzMT9uKzE5MDB8MDpufWNbaCsyMD4+Ml09cy0xOTAwO3A9ZHwwO3E9Y1twPj4yXXwwO3I9YXww
O2Nbcj4+Ml09cTtpPWI7cmV0dXJufX13aGlsZSgwKTtiPWJPKDQpfDA7a3EoYik7YmwoYnwwLDgx
NzYsMTM0KX1mdW5jdGlvbiBnVihhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9
ZnwwO3ZhciBnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0
PTAsdT0wLHY9MCx3PTAseD0wO2E9aTtnPWQ7ZD1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tkPj4y
XT1jW2c+PjJdO2c9YnwwO2I9ZHwwO2Q9ZjtMMzEyNzp3aGlsZSgxKXtoPWNbZz4+Ml18MDtkb3tp
ZigoaHwwKT09MCl7aj0xfWVsc2V7az1jW2grMTI+PjJdfDA7aWYoKGt8MCk9PShjW2grMTY+PjJd
fDApKXtsPWIwW2NbKGNbaD4+Ml18MCkrMzY+PjJdJjEyN10oaCl8MH1lbHNle2w9Y1trPj4yXXww
fWlmKChsfDApPT0tMSl7Y1tnPj4yXT0wO2o9MTticmVha31lbHNle2o9KGNbZz4+Ml18MCk9PTA7
YnJlYWt9fX13aGlsZSgwKTtoPWNbYj4+Ml18MDtkb3tpZigoaHwwKT09MCl7bT0yNTgxfWVsc2V7
az1jW2grMTI+PjJdfDA7aWYoKGt8MCk9PShjW2grMTY+PjJdfDApKXtuPWIwW2NbKGNbaD4+Ml18
MCkrMzY+PjJdJjEyN10oaCl8MH1lbHNle249Y1trPj4yXXwwfWlmKChufDApPT0tMSl7Y1tiPj4y
XT0wO209MjU4MTticmVha31lbHNle2s9KGh8MCk9PTA7aWYoal5rKXtvPWg7cD1rO2JyZWFrfWVs
c2V7cT1oO3I9azticmVhayBMMzEyN319fX13aGlsZSgwKTtpZigobXwwKT09MjU4MSl7bT0wO2lm
KGope3E9MDtyPTE7YnJlYWt9ZWxzZXtvPTA7cD0xfX1oPWNbZz4+Ml18MDtrPWNbaCsxMj4+Ml18
MDtpZigoa3wwKT09KGNbaCsxNj4+Ml18MCkpe3M9YjBbY1soY1toPj4yXXwwKSszNj4+Ml0mMTI3
XShoKXwwfWVsc2V7cz1jW2s+PjJdfDB9aWYoIShiMVtjWyhjW2Q+PjJdfDApKzEyPj4yXSY2M10o
Ziw4MTkyLHMpfDApKXtxPW87cj1wO2JyZWFrfWs9Y1tnPj4yXXwwO2g9aysxMnwwO3Q9Y1toPj4y
XXwwO2lmKCh0fDApPT0oY1trKzE2Pj4yXXwwKSl7dT1jWyhjW2s+PjJdfDApKzQwPj4yXXwwO2Iw
W3UmMTI3XShrKXwwO2NvbnRpbnVlfWVsc2V7Y1toPj4yXT10KzQ7Y29udGludWV9fXA9Y1tnPj4y
XXwwO2Rve2lmKChwfDApPT0wKXt2PTF9ZWxzZXtvPWNbcCsxMj4+Ml18MDtpZigob3wwKT09KGNb
cCsxNj4+Ml18MCkpe3c9YjBbY1soY1twPj4yXXwwKSszNj4+Ml0mMTI3XShwKXwwfWVsc2V7dz1j
W28+PjJdfDB9aWYoKHd8MCk9PS0xKXtjW2c+PjJdPTA7dj0xO2JyZWFrfWVsc2V7dj0oY1tnPj4y
XXwwKT09MDticmVha319fXdoaWxlKDApO2Rve2lmKHIpe209MjYwM31lbHNle2c9Y1txKzEyPj4y
XXwwO2lmKChnfDApPT0oY1txKzE2Pj4yXXwwKSl7eD1iMFtjWyhjW3E+PjJdfDApKzM2Pj4yXSYx
MjddKHEpfDB9ZWxzZXt4PWNbZz4+Ml18MH1pZigoeHwwKT09LTEpe2NbYj4+Ml09MDttPTI2MDM7
YnJlYWt9aWYoISh2XihxfDApPT0wKSl7YnJlYWt9aT1hO3JldHVybn19d2hpbGUoMCk7ZG97aWYo
KG18MCk9PTI2MDMpe2lmKHYpe2JyZWFrfWk9YTtyZXR1cm59fXdoaWxlKDApO2NbZT4+Ml09Y1tl
Pj4yXXwyO2k9YTtyZXR1cm59ZnVuY3Rpb24gZ1coYixkLGUsZixnLGgsaixrLGwpe2I9YnwwO2Q9
ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO2w9bHwwO3ZhciBtPTAsbj0w
LG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAs
Qz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxR
PTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wLFk9MCxaPTAsXz0wLCQ9MCxhYT0wLGFiPTAs
YWM9MCxhZD0wLGFlPTAsYWY9MCxhZz0wLGFoPTAsYWk9MCxhaj0wLGFrPTAsYWw9MCxhbT0wO2w9
aTtpPWkrMzI4fDA7bT1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09Y1ttPj4yXTtt
PWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW20+PjJdO209bHwwO249bCs4fDA7
bz1sKzE2fDA7cD1sKzI0fDA7cT1sKzMyfDA7cj1sKzQwfDA7cz1sKzQ4fDA7dD1sKzU2fDA7dT1s
KzY0fDA7dj1sKzcyfDA7dz1sKzgwfDA7eD1sKzg4fDA7eT1sKzk2fDA7ej1sKzExMnwwO0E9bCsx
MjB8MDtCPWwrMTI4fDA7Qz1sKzEzNnwwO0Q9bCsxNDR8MDtFPWwrMTUyfDA7Rj1sKzE2MHwwO0c9
bCsxNjh8MDtIPWwrMTc2fDA7ST1sKzE4NHwwO0o9bCsxOTJ8MDtLPWwrMjAwfDA7TD1sKzIwOHww
O009bCsyMTZ8MDtOPWwrMjI0fDA7Tz1sKzIzMnwwO1A9bCsyNDB8MDtRPWwrMjQ4fDA7Uj1sKzI1
NnwwO1M9bCsyNjR8MDtUPWwrMjcyfDA7VT1sKzI4MHwwO1Y9bCsyODh8MDtXPWwrMjk2fDA7WD1s
KzMwNHwwO1k9bCszMTJ8MDtaPWwrMzIwfDA7Y1toPj4yXT0wO2VqKHosZyk7Xz16fDA7ej1jW18+
PjJdfDA7aWYoKGNbMzkyMl18MCkhPS0xKXtjW3k+PjJdPTE1Njg4O2NbeSs0Pj4yXT0xMjtjW3kr
OD4+Ml09MDtkVygxNTY4OCx5LDk2KX15PShjWzM5MjNdfDApLTF8MDskPWNbeis4Pj4yXXwwO2Rv
e2lmKChjW3orMTI+PjJdfDApLSQ+PjI+Pj4wPnk+Pj4wKXthYT1jWyQrKHk8PDIpPj4yXXwwO2lm
KChhYXwwKT09MCl7YnJlYWt9YWI9YWE7YWE9Y1tfPj4yXXwwO2R6KGFhKXwwO0wzMTkyOmRve3N3
aXRjaChrPDwyND4+MjR8MCl7Y2FzZSAxMDA6Y2FzZSAxMDE6e2FhPWorMTJ8MDtjW3Y+PjJdPWNb
Zj4+Ml07YWM9aGMoZSx2LGgsYWIsMil8MDthZD1jW2g+PjJdfDA7ZG97aWYoKGFkJjR8MCk9PTAp
e2lmKChhYy0xfDApPj4+MD49MzEpe2JyZWFrfWNbYWE+PjJdPWFjO2JyZWFrIEwzMTkyfX13aGls
ZSgwKTtjW2g+PjJdPWFkfDQ7YnJlYWt9O2Nhc2UgMTEwOmNhc2UgMTE2OntjW0o+PjJdPWNbZj4+
Ml07Z1YoMCxlLEosaCxhYik7YnJlYWt9O2Nhc2UgODg6e2FjPWQrOHwwO2FhPWIwW2NbKGNbYWM+
PjJdfDApKzI0Pj4yXSYxMjddKGFjKXwwO2FjPWV8MDtjW1g+PjJdPWNbYWM+PjJdO2NbWT4+Ml09
Y1tmPj4yXTthZT1hW2FhXXwwO2lmKChhZSYxKT09MCl7YWY9YWErNHwwO2FnPWFhKzR8MH1lbHNl
e2FoPWNbYWErOD4+Ml18MDthZj1haDthZz1haH1haD1hZSYyNTU7aWYoKGFoJjF8MCk9PTApe2Fp
PWFoPj4+MX1lbHNle2FpPWNbYWErND4+Ml18MH1nUihXLGQsWCxZLGcsaCxqLGFnLGFmKyhhaTw8
Mil8MCk7Y1thYz4+Ml09Y1tXPj4yXTticmVha307Y2FzZSA5ODpjYXNlIDY2OmNhc2UgMTA0Onth
Yz1jW2Y+PjJdfDA7YWE9ZCs4fDA7YWg9YjBbY1soY1thYT4+Ml18MCkrND4+Ml0mMTI3XShhYSl8
MDtjW3c+PjJdPWFjO2FjPShmUyhlLHcsYWgsYWgrMjg4fDAsYWIsaCwwKXwwKS1haHwwO2lmKChh
Y3wwKT49Mjg4KXticmVhayBMMzE5Mn1jW2orMTY+PjJdPSgoYWN8MCkvMTJ8MHwwKSUxMnwwO2Jy
ZWFrfTtjYXNlIDExMjp7Y1tLPj4yXT1jW2Y+PjJdO2dYKGQsais4fDAsZSxLLGgsYWIpO2JyZWFr
fTtjYXNlIDExNDp7YWM9ZXwwO2NbTT4+Ml09Y1thYz4+Ml07Y1tOPj4yXT1jW2Y+PjJdO2dSKEws
ZCxNLE4sZyxoLGosMjIxNiwyMjYwKTtjW2FjPj4yXT1jW0w+PjJdO2JyZWFrfTtjYXNlIDM3Ontj
W1o+PjJdPWNbZj4+Ml07Z1koMCxlLFosaCxhYik7YnJlYWt9O2Nhc2UgNjg6e2FjPWV8MDtjW0U+
PjJdPWNbYWM+PjJdO2NbRj4+Ml09Y1tmPj4yXTtnUihELGQsRSxGLGcsaCxqLDIyNjQsMjI5Nik7
Y1thYz4+Ml09Y1tEPj4yXTticmVha307Y2FzZSA4OTp7Y1ttPj4yXT1jW2Y+PjJdO2FjPWhjKGUs
bSxoLGFiLDQpfDA7aWYoKGNbaD4+Ml0mNHwwKSE9MCl7YnJlYWsgTDMxOTJ9Y1tqKzIwPj4yXT1h
Yy0xOTAwO2JyZWFrfTtjYXNlIDgyOnthYz1lfDA7Y1tQPj4yXT1jW2FjPj4yXTtjW1E+PjJdPWNb
Zj4+Ml07Z1IoTyxkLFAsUSxnLGgsaiwyMTkyLDIyMTIpO2NbYWM+PjJdPWNbTz4+Ml07YnJlYWt9
O2Nhc2UgODM6e2NbcD4+Ml09Y1tmPj4yXTthYz1oYyhlLHAsaCxhYiwyKXwwO2FoPWNbaD4+Ml18
MDtpZigoYWgmNHwwKT09MCYoYWN8MCk8NjEpe2Nbaj4+Ml09YWM7YnJlYWsgTDMxOTJ9ZWxzZXtj
W2g+PjJdPWFofDQ7YnJlYWsgTDMxOTJ9YnJlYWt9O2Nhc2UgMTA2OntjW3M+PjJdPWNbZj4+Ml07
YWg9aGMoZSxzLGgsYWIsMyl8MDthYz1jW2g+PjJdfDA7aWYoKGFjJjR8MCk9PTAmKGFofDApPDM2
Nil7Y1tqKzI4Pj4yXT1haDticmVhayBMMzE5Mn1lbHNle2NbaD4+Ml09YWN8NDticmVhayBMMzE5
Mn1icmVha307Y2FzZSA5NzpjYXNlIDY1OnthYz1jW2Y+PjJdfDA7YWg9ZCs4fDA7YWE9YjBbY1tj
W2FoPj4yXT4+Ml0mMTI3XShhaCl8MDtjW3g+PjJdPWFjO2FjPShmUyhlLHgsYWEsYWErMTY4fDAs
YWIsaCwwKXwwKS1hYXwwO2lmKChhY3wwKT49MTY4KXticmVhayBMMzE5Mn1jW2orMjQ+PjJdPSgo
YWN8MCkvMTJ8MHwwKSU3fDA7YnJlYWt9O2Nhc2UgOTk6e2FjPWQrOHwwO2FhPWIwW2NbKGNbYWM+
PjJdfDApKzEyPj4yXSYxMjddKGFjKXwwO2FjPWV8MDtjW0I+PjJdPWNbYWM+PjJdO2NbQz4+Ml09
Y1tmPj4yXTthaD1hW2FhXXwwO2lmKChhaCYxKT09MCl7YWo9YWErNHwwO2FrPWFhKzR8MH1lbHNl
e2FlPWNbYWErOD4+Ml18MDthaj1hZTthaz1hZX1hZT1haCYyNTU7aWYoKGFlJjF8MCk9PTApe2Fs
PWFlPj4+MX1lbHNle2FsPWNbYWErND4+Ml18MH1nUihBLGQsQixDLGcsaCxqLGFrLGFqKyhhbDw8
Mil8MCk7Y1thYz4+Ml09Y1tBPj4yXTticmVha307Y2FzZSA4NDp7YWM9ZXwwO2NbUz4+Ml09Y1th
Yz4+Ml07Y1tUPj4yXT1jW2Y+PjJdO2dSKFIsZCxTLFQsZyxoLGosMjE2MCwyMTkyKTtjW2FjPj4y
XT1jW1I+PjJdO2JyZWFrfTtjYXNlIDcwOnthYz1lfDA7Y1tIPj4yXT1jW2FjPj4yXTtjW0k+PjJd
PWNbZj4+Ml07Z1IoRyxkLEgsSSxnLGgsaiwyMTI4LDIxNjApO2NbYWM+PjJdPWNbRz4+Ml07YnJl
YWt9O2Nhc2UgNzI6e2NbdT4+Ml09Y1tmPj4yXTthYz1oYyhlLHUsaCxhYiwyKXwwO2FhPWNbaD4+
Ml18MDtpZigoYWEmNHwwKT09MCYoYWN8MCk8MjQpe2Nbais4Pj4yXT1hYzticmVhayBMMzE5Mn1l
bHNle2NbaD4+Ml09YWF8NDticmVhayBMMzE5Mn1icmVha307Y2FzZSAxMjE6e2Nbbj4+Ml09Y1tm
Pj4yXTthYT1oYyhlLG4saCxhYiw0KXwwO2lmKChjW2g+PjJdJjR8MCkhPTApe2JyZWFrIEwzMTky
fWlmKChhYXwwKTw2OSl7YW09YWErMmUzfDB9ZWxzZXthbT0oYWEtNjl8MCk+Pj4wPDMxP2FhKzE5
MDB8MDphYX1jW2orMjA+PjJdPWFtLTE5MDA7YnJlYWt9O2Nhc2UgMTA5OntjW3I+PjJdPWNbZj4+
Ml07YWE9KGhjKGUscixoLGFiLDIpfDApLTF8MDthYz1jW2g+PjJdfDA7aWYoKGFjJjR8MCk9PTAm
KGFhfDApPDEyKXtjW2orMTY+PjJdPWFhO2JyZWFrIEwzMTkyfWVsc2V7Y1toPj4yXT1hY3w0O2Jy
ZWFrIEwzMTkyfWJyZWFrfTtjYXNlIDczOnthYz1qKzh8MDtjW3Q+PjJdPWNbZj4+Ml07YWE9aGMo
ZSx0LGgsYWIsMil8MDthZT1jW2g+PjJdfDA7ZG97aWYoKGFlJjR8MCk9PTApe2lmKChhYS0xfDAp
Pj4+MD49MTIpe2JyZWFrfWNbYWM+PjJdPWFhO2JyZWFrIEwzMTkyfX13aGlsZSgwKTtjW2g+PjJd
PWFlfDQ7YnJlYWt9O2Nhc2UgNzc6e2NbcT4+Ml09Y1tmPj4yXTthYT1oYyhlLHEsaCxhYiwyKXww
O2FjPWNbaD4+Ml18MDtpZigoYWMmNHwwKT09MCYoYWF8MCk8NjApe2Nbais0Pj4yXT1hYTticmVh
ayBMMzE5Mn1lbHNle2NbaD4+Ml09YWN8NDticmVhayBMMzE5Mn1icmVha307Y2FzZSAxMTk6e2Nb
bz4+Ml09Y1tmPj4yXTthYz1oYyhlLG8saCxhYiwxKXwwO2FhPWNbaD4+Ml18MDtpZigoYWEmNHww
KT09MCYoYWN8MCk8Nyl7Y1tqKzI0Pj4yXT1hYzticmVhayBMMzE5Mn1lbHNle2NbaD4+Ml09YWF8
NDticmVhayBMMzE5Mn1icmVha307Y2FzZSAxMjA6e2FhPWNbKGNbZD4+Ml18MCkrMjA+PjJdfDA7
Y1tVPj4yXT1jW2U+PjJdO2NbVj4+Ml09Y1tmPj4yXTtiWFthYSYxMjddKGIsZCxVLFYsZyxoLGop
O2k9bDtyZXR1cm59O2RlZmF1bHQ6e2NbaD4+Ml09Y1toPj4yXXw0fX19d2hpbGUoMCk7Y1tiPj4y
XT1jW2U+PjJdO2k9bDtyZXR1cm59fXdoaWxlKDApO2w9Yk8oNCl8MDtrcShsKTtibChsfDAsODE3
NiwxMzQpfWZ1bmN0aW9uIGdYKGEsYixlLGYsZyxoKXthPWF8MDtiPWJ8MDtlPWV8MDtmPWZ8MDtn
PWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MDtqPWk7aT1pKzh8MDtrPWY7Zj1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2s+PjJdO2s9anwwO2w9YSs4fDA7YT1iMFtjWyhj
W2w+PjJdfDApKzg+PjJdJjEyN10obCl8MDtsPWRbYV18MDtpZigobCYxfDApPT0wKXttPWw+Pj4x
fWVsc2V7bT1jW2ErND4+Ml18MH1sPWRbYSsxMnwwXXwwO2lmKChsJjF8MCk9PTApe249bD4+PjF9
ZWxzZXtuPWNbYSsxNj4+Ml18MH1pZigobXwwKT09KC1ufDApKXtjW2c+PjJdPWNbZz4+Ml18NDtp
PWo7cmV0dXJufWNbaz4+Ml09Y1tmPj4yXTtmPWZTKGUsayxhLGErMjR8MCxoLGcsMCl8MDtnPWYt
YXwwO2Rve2lmKChmfDApPT0oYXwwKSl7aWYoKGNbYj4+Ml18MCkhPTEyKXticmVha31jW2I+PjJd
PTA7aT1qO3JldHVybn19d2hpbGUoMCk7aWYoKGd8MCkhPTEyKXtpPWo7cmV0dXJufWc9Y1tiPj4y
XXwwO2lmKChnfDApPj0xMil7aT1qO3JldHVybn1jW2I+PjJdPWcrMTI7aT1qO3JldHVybn0KLWZ1
bmN0aW9uIGdZKGEsYixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9
MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wO2E9aTtnPWQ7ZD1p
O2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tkPj4yXT1jW2c+PjJdO2c9YnwwO2I9Y1tnPj4yXXwwO2Rv
e2lmKChifDApPT0wKXtoPTF9ZWxzZXtqPWNbYisxMj4+Ml18MDtpZigoanwwKT09KGNbYisxNj4+
Ml18MCkpe2s9YjBbY1soY1tiPj4yXXwwKSszNj4+Ml0mMTI3XShiKXwwfWVsc2V7az1jW2o+PjJd
fDB9aWYoKGt8MCk9PS0xKXtjW2c+PjJdPTA7aD0xO2JyZWFrfWVsc2V7aD0oY1tnPj4yXXwwKT09
MDticmVha319fXdoaWxlKDApO2s9ZHwwO2Q9Y1trPj4yXXwwO2Rve2lmKChkfDApPT0wKXtsPTI3
MTZ9ZWxzZXtiPWNbZCsxMj4+Ml18MDtpZigoYnwwKT09KGNbZCsxNj4+Ml18MCkpe209YjBbY1so
Y1tkPj4yXXwwKSszNj4+Ml0mMTI3XShkKXwwfWVsc2V7bT1jW2I+PjJdfDB9aWYoKG18MCk9PS0x
KXtjW2s+PjJdPTA7bD0yNzE2O2JyZWFrfWVsc2V7Yj0oZHwwKT09MDtpZihoXmIpe249ZDtvPWI7
YnJlYWt9ZWxzZXtsPTI3MTg7YnJlYWt9fX19d2hpbGUoMCk7aWYoKGx8MCk9PTI3MTYpe2lmKGgp
e2w9MjcxOH1lbHNle249MDtvPTF9fWlmKChsfDApPT0yNzE4KXtjW2U+PjJdPWNbZT4+Ml18Njtp
PWE7cmV0dXJufWg9Y1tnPj4yXXwwO2Q9Y1toKzEyPj4yXXwwO2lmKChkfDApPT0oY1toKzE2Pj4y
XXwwKSl7cD1iMFtjWyhjW2g+PjJdfDApKzM2Pj4yXSYxMjddKGgpfDB9ZWxzZXtwPWNbZD4+Ml18
MH1pZigoYjFbY1soY1tmPj4yXXwwKSs1Mj4+Ml0mNjNdKGYscCwwKXwwKTw8MjQ+PjI0IT0zNyl7
Y1tlPj4yXT1jW2U+PjJdfDQ7aT1hO3JldHVybn1wPWNbZz4+Ml18MDtmPXArMTJ8MDtkPWNbZj4+
Ml18MDtpZigoZHwwKT09KGNbcCsxNj4+Ml18MCkpe2g9Y1soY1twPj4yXXwwKSs0MD4+Ml18MDti
MFtoJjEyN10ocCl8MH1lbHNle2NbZj4+Ml09ZCs0fWQ9Y1tnPj4yXXwwO2Rve2lmKChkfDApPT0w
KXtxPTF9ZWxzZXtmPWNbZCsxMj4+Ml18MDtpZigoZnwwKT09KGNbZCsxNj4+Ml18MCkpe3I9YjBb
Y1soY1tkPj4yXXwwKSszNj4+Ml0mMTI3XShkKXwwfWVsc2V7cj1jW2Y+PjJdfDB9aWYoKHJ8MCk9
PS0xKXtjW2c+PjJdPTA7cT0xO2JyZWFrfWVsc2V7cT0oY1tnPj4yXXwwKT09MDticmVha319fXdo
aWxlKDApO2Rve2lmKG8pe2w9Mjc0MH1lbHNle2c9Y1tuKzEyPj4yXXwwO2lmKChnfDApPT0oY1tu
KzE2Pj4yXXwwKSl7cz1iMFtjWyhjW24+PjJdfDApKzM2Pj4yXSYxMjddKG4pfDB9ZWxzZXtzPWNb
Zz4+Ml18MH1pZigoc3wwKT09LTEpe2Nbaz4+Ml09MDtsPTI3NDA7YnJlYWt9aWYoIShxXihufDAp
PT0wKSl7YnJlYWt9aT1hO3JldHVybn19d2hpbGUoMCk7ZG97aWYoKGx8MCk9PTI3NDApe2lmKHEp
e2JyZWFrfWk9YTtyZXR1cm59fXdoaWxlKDApO2NbZT4+Ml09Y1tlPj4yXXwyO2k9YTtyZXR1cm59
ZnVuY3Rpb24gZ1ooYSl7YT1hfDA7cmV0dXJuIDEyN31mdW5jdGlvbiBnXyhhKXthPWF8MDtyZXR1
cm4gMTI3fWZ1bmN0aW9uIGckKGEpe2E9YXwwO3JldHVybiAwfWZ1bmN0aW9uIGcwKGEpe2E9YXww
O3JldHVybiAxMjd9ZnVuY3Rpb24gZzEoYSl7YT1hfDA7cmV0dXJuIDEyN31mdW5jdGlvbiBnMihh
KXthPWF8MDtyZXR1cm4gMH1mdW5jdGlvbiBnMyhhKXthPWF8MDtyZXR1cm4gMjE0NzQ4MzY0N31m
dW5jdGlvbiBnNChhKXthPWF8MDtyZXR1cm4gMjE0NzQ4MzY0N31mdW5jdGlvbiBnNShhKXthPWF8
MDtyZXR1cm4gMH1mdW5jdGlvbiBnNihiLGMpe2I9YnwwO2M9Y3wwO2M9YjtDPTY3MTA5NjM0O2Fb
Y109QyYyNTU7Qz1DPj44O2FbYysxfDBdPUMmMjU1O0M9Qz4+ODthW2MrMnwwXT1DJjI1NTtDPUM+
Pjg7YVtjKzN8MF09QyYyNTU7cmV0dXJufWZ1bmN0aW9uIGc3KGIsYyl7Yj1ifDA7Yz1jfDA7Yz1i
O0M9NjcxMDk2MzQ7YVtjXT1DJjI1NTtDPUM+Pjg7YVtjKzF8MF09QyYyNTU7Qz1DPj44O2FbYysy
fDBdPUMmMjU1O0M9Qz4+ODthW2MrM3wwXT1DJjI1NTtyZXR1cm59ZnVuY3Rpb24gZzgoYixjKXti
PWJ8MDtjPWN8MDtjPWI7Qz02NzEwOTYzNDthW2NdPUMmMjU1O0M9Qz4+ODthW2MrMXwwXT1DJjI1
NTtDPUM+Pjg7YVtjKzJ8MF09QyYyNTU7Qz1DPj44O2FbYyszfDBdPUMmMjU1O3JldHVybn1mdW5j
dGlvbiBnOShiLGMpe2I9YnwwO2M9Y3wwO2M9YjtDPTY3MTA5NjM0O2FbY109QyYyNTU7Qz1DPj44
O2FbYysxfDBdPUMmMjU1O0M9Qz4+ODthW2MrMnwwXT1DJjI1NTtDPUM+Pjg7YVtjKzN8MF09QyYy
NTU7cmV0dXJufWZ1bmN0aW9uIGhhKGIsYyl7Yj1ifDA7Yz1jfDA7Yz1iO0M9NjcxMDk2MzQ7YVtj
XT1DJjI1NTtDPUM+Pjg7YVtjKzF8MF09QyYyNTU7Qz1DPj44O2FbYysyfDBdPUMmMjU1O0M9Qz4+
ODthW2MrM3wwXT1DJjI1NTtyZXR1cm59ZnVuY3Rpb24gaGIoYixjKXtiPWJ8MDtjPWN8MDtjPWI7
Qz02NzEwOTYzNDthW2NdPUMmMjU1O0M9Qz4+ODthW2MrMXwwXT1DJjI1NTtDPUM+Pjg7YVtjKzJ8
MF09QyYyNTU7Qz1DPj44O2FbYyszfDBdPUMmMjU1O3JldHVybn1mdW5jdGlvbiBoYyhhLGIsZCxl
LGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGo9MCxrPTAsbD0w
LG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAs
QT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wO2c9aTtoPWI7Yj1pO2k9aSs0fDA7aT1pKzc+PjM8
PDM7Y1tiPj4yXT1jW2g+PjJdO2g9YXwwO2E9Y1toPj4yXXwwO2Rve2lmKChhfDApPT0wKXtqPTF9
ZWxzZXtrPWNbYSsxMj4+Ml18MDtpZigoa3wwKT09KGNbYSsxNj4+Ml18MCkpe2w9YjBbY1soY1th
Pj4yXXwwKSszNj4+Ml0mMTI3XShhKXwwfWVsc2V7bD1jW2s+PjJdfDB9aWYoKGx8MCk9PS0xKXtj
W2g+PjJdPTA7aj0xO2JyZWFrfWVsc2V7aj0oY1toPj4yXXwwKT09MDticmVha319fXdoaWxlKDAp
O2w9YnwwO2I9Y1tsPj4yXXwwO2Rve2lmKChifDApPT0wKXttPTI5fWVsc2V7YT1jW2IrMTI+PjJd
fDA7aWYoKGF8MCk9PShjW2IrMTY+PjJdfDApKXtuPWIwW2NbKGNbYj4+Ml18MCkrMzY+PjJdJjEy
N10oYil8MH1lbHNle249Y1thPj4yXXwwfWlmKChufDApPT0tMSl7Y1tsPj4yXT0wO209Mjk7YnJl
YWt9ZWxzZXtpZihqXihifDApPT0wKXtvPWI7YnJlYWt9ZWxzZXttPTMxO2JyZWFrfX19fXdoaWxl
KDApO2lmKChtfDApPT0yOSl7aWYoail7bT0zMX1lbHNle289MH19aWYoKG18MCk9PTMxKXtjW2Q+
PjJdPWNbZD4+Ml18NjtwPTA7aT1nO3JldHVybiBwfDB9aj1jW2g+PjJdfDA7Yj1jW2orMTI+PjJd
fDA7aWYoKGJ8MCk9PShjW2orMTY+PjJdfDApKXtxPWIwW2NbKGNbaj4+Ml18MCkrMzY+PjJdJjEy
N10oail8MH1lbHNle3E9Y1tiPj4yXXwwfWI9ZTtpZighKGIxW2NbKGNbYj4+Ml18MCkrMTI+PjJd
JjYzXShlLDIwNDgscSl8MCkpe2NbZD4+Ml09Y1tkPj4yXXw0O3A9MDtpPWc7cmV0dXJuIHB8MH1q
PWU7bj0oYjFbY1soY1tqPj4yXXwwKSs1Mj4+Ml0mNjNdKGUscSwwKXwwKTw8MjQ+PjI0O3E9Y1to
Pj4yXXwwO2E9cSsxMnwwO2s9Y1thPj4yXXwwO2lmKChrfDApPT0oY1txKzE2Pj4yXXwwKSl7cj1j
WyhjW3E+PjJdfDApKzQwPj4yXXwwO2IwW3ImMTI3XShxKXwwO3M9bjt0PWY7dT1vfWVsc2V7Y1th
Pj4yXT1rKzQ7cz1uO3Q9Zjt1PW99d2hpbGUoMSl7dj1zLTQ4fDA7bz10LTF8MDtmPWNbaD4+Ml18
MDtkb3tpZigoZnwwKT09MCl7dz0wfWVsc2V7bj1jW2YrMTI+PjJdfDA7aWYoKG58MCk9PShjW2Yr
MTY+PjJdfDApKXt4PWIwW2NbKGNbZj4+Ml18MCkrMzY+PjJdJjEyN10oZil8MH1lbHNle3g9Y1tu
Pj4yXXwwfWlmKCh4fDApPT0tMSl7Y1toPj4yXT0wO3c9MDticmVha31lbHNle3c9Y1toPj4yXXww
O2JyZWFrfX19d2hpbGUoMCk7Zj0od3wwKT09MDtpZigodXwwKT09MCl7eT13O3o9MH1lbHNle249
Y1t1KzEyPj4yXXwwO2lmKChufDApPT0oY1t1KzE2Pj4yXXwwKSl7QT1iMFtjWyhjW3U+PjJdfDAp
KzM2Pj4yXSYxMjddKHUpfDB9ZWxzZXtBPWNbbj4+Ml18MH1pZigoQXwwKT09LTEpe2NbbD4+Ml09
MDtCPTB9ZWxzZXtCPXV9eT1jW2g+PjJdfDA7ej1CfUM9KHp8MCk9PTA7aWYoISgoZl5DKSYob3ww
KT4wKSl7YnJlYWt9Zj1jW3krMTI+PjJdfDA7aWYoKGZ8MCk9PShjW3krMTY+PjJdfDApKXtEPWIw
W2NbKGNbeT4+Ml18MCkrMzY+PjJdJjEyN10oeSl8MH1lbHNle0Q9Y1tmPj4yXXwwfWlmKCEoYjFb
Y1soY1tiPj4yXXwwKSsxMj4+Ml0mNjNdKGUsMjA0OCxEKXwwKSl7cD12O209ODE7YnJlYWt9Zj0o
KGIxW2NbKGNbaj4+Ml18MCkrNTI+PjJdJjYzXShlLEQsMCl8MCk8PDI0Pj4yNCkrKHYqMTB8MCl8
MDtuPWNbaD4+Ml18MDtrPW4rMTJ8MDthPWNbaz4+Ml18MDtpZigoYXwwKT09KGNbbisxNj4+Ml18
MCkpe3E9Y1soY1tuPj4yXXwwKSs0MD4+Ml18MDtiMFtxJjEyN10obil8MDtzPWY7dD1vO3U9ejtj
b250aW51ZX1lbHNle2Nbaz4+Ml09YSs0O3M9Zjt0PW87dT16O2NvbnRpbnVlfX1pZigobXwwKT09
ODEpe2k9ZztyZXR1cm4gcHwwfWRve2lmKCh5fDApPT0wKXtFPTF9ZWxzZXt1PWNbeSsxMj4+Ml18
MDtpZigodXwwKT09KGNbeSsxNj4+Ml18MCkpe0Y9YjBbY1soY1t5Pj4yXXwwKSszNj4+Ml0mMTI3
XSh5KXwwfWVsc2V7Rj1jW3U+PjJdfDB9aWYoKEZ8MCk9PS0xKXtjW2g+PjJdPTA7RT0xO2JyZWFr
fWVsc2V7RT0oY1toPj4yXXwwKT09MDticmVha319fXdoaWxlKDApO2Rve2lmKEMpe209NzV9ZWxz
ZXtoPWNbeisxMj4+Ml18MDtpZigoaHwwKT09KGNbeisxNj4+Ml18MCkpe0c9YjBbY1soY1t6Pj4y
XXwwKSszNj4+Ml0mMTI3XSh6KXwwfWVsc2V7Rz1jW2g+PjJdfDB9aWYoKEd8MCk9PS0xKXtjW2w+
PjJdPTA7bT03NTticmVha31pZihFXih6fDApPT0wKXtwPXZ9ZWxzZXticmVha31pPWc7cmV0dXJu
IHB8MH19d2hpbGUoMCk7ZG97aWYoKG18MCk9PTc1KXtpZihFKXticmVha31lbHNle3A9dn1pPWc7
cmV0dXJuIHB8MH19d2hpbGUoMCk7Y1tkPj4yXT1jW2Q+PjJdfDI7cD12O2k9ZztyZXR1cm4gcHww
fWZ1bmN0aW9uIGhkKGIsZCxlLGYsZyxoLGosayl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1n
fDA7aD1ofDA7aj1qfDA7az1rfDA7dmFyIGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAs
dD0wLHU9MCx2PTA7Zz1pO2k9aSsxMTJ8MDtmPWU7ZT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tl
Pj4yXT1jW2Y+PjJdO2Y9Z3wwO2w9Zys4fDA7bT1sfDA7bj1mfDA7YVtuXT0zNztvPWYrMXwwO2Fb
b109ajtwPWYrMnwwO2FbcF09azthW2YrM3wwXT0wO2lmKGs8PDI0Pj4yNCE9MCl7YVtvXT1rO2Fb
cF09an1qPWJrKG18MCwxMDAsbnwwLGh8MCxjW2QrOD4+Ml18MCl8MDtkPWwranwwO2w9Y1tlPj4y
XXwwO2lmKChqfDApPT0wKXtxPWw7cj1ifDA7Y1tyPj4yXT1xO2k9ZztyZXR1cm59ZWxzZXtzPWw7
dD1tfXdoaWxlKDEpe209YVt0XXwwO2lmKChzfDApPT0wKXt1PTB9ZWxzZXtsPXMrMjR8MDtqPWNb
bD4+Ml18MDtpZigoanwwKT09KGNbcysyOD4+Ml18MCkpe3Y9Yl9bY1soY1tzPj4yXXwwKSs1Mj4+
Ml0mMzFdKHMsbSYyNTUpfDB9ZWxzZXtjW2w+PjJdPWorMTthW2pdPW07dj1tJjI1NX11PSh2fDAp
PT0tMT8wOnN9bT10KzF8MDtpZigobXwwKT09KGR8MCkpe3E9dTticmVha31lbHNle3M9dTt0PW19
fXI9YnwwO2Nbcj4+Ml09cTtpPWc7cmV0dXJufWZ1bmN0aW9uIGhlKGEsYixkLGUsZixnLGgsail7
YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7dmFyIGs9MCxs
PTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTA7Zj1pO2k9aSs0MDh8MDtlPWQ7ZD1pO2k9aSs0fDA7
aT1pKzc+PjM8PDM7Y1tkPj4yXT1jW2U+PjJdO2U9ZnwwO2s9Zis0MDB8MDtsPWV8MDtjW2s+PjJd
PWUrNDAwO2hDKGIrOHwwLGwsayxnLGgsaik7aj1jW2s+PjJdfDA7az1jW2Q+PjJdfDA7aWYoKGx8
MCk9PShqfDApKXttPWs7bj1hfDA7Y1tuPj4yXT1tO2k9ZjtyZXR1cm59ZWxzZXtvPWs7cD1sfXdo
aWxlKDEpe2w9Y1twPj4yXXwwO2lmKChvfDApPT0wKXtxPTB9ZWxzZXtrPW8rMjR8MDtkPWNbaz4+
Ml18MDtpZigoZHwwKT09KGNbbysyOD4+Ml18MCkpe3I9Yl9bY1soY1tvPj4yXXwwKSs1Mj4+Ml0m
MzFdKG8sbCl8MH1lbHNle2Nbaz4+Ml09ZCs0O2NbZD4+Ml09bDtyPWx9cT0ocnwwKT09LTE/MDpv
fWw9cCs0fDA7aWYoKGx8MCk9PShqfDApKXttPXE7YnJlYWt9ZWxzZXtvPXE7cD1sfX1uPWF8MDtj
W24+PjJdPW07aT1mO3JldHVybn1mdW5jdGlvbiBoZihhKXthPWF8MDtkZShhfDApO2tTKGEpO3Jl
dHVybn1mdW5jdGlvbiBoZyhhKXthPWF8MDtkZShhfDApO3JldHVybn1mdW5jdGlvbiBoaChhLGIp
e2E9YXwwO2I9YnwwO2skKGF8MCwwLDEyKTtyZXR1cm59ZnVuY3Rpb24gaGkoYSxiKXthPWF8MDti
PWJ8MDtrJChhfDAsMCwxMik7cmV0dXJufWZ1bmN0aW9uIGhqKGEsYil7YT1hfDA7Yj1ifDA7ayQo
YXwwLDAsMTIpO3JldHVybn1mdW5jdGlvbiBoayhhLGIpe2E9YXwwO2I9YnwwO2RfKGEsMSw0NSk7
cmV0dXJufWZ1bmN0aW9uIGhsKGEpe2E9YXwwO2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9u
IGhtKGEpe2E9YXwwO2RlKGF8MCk7cmV0dXJufWZ1bmN0aW9uIGhuKGEsYil7YT1hfDA7Yj1ifDA7
ayQoYXwwLDAsMTIpO3JldHVybn1mdW5jdGlvbiBobyhhLGIpe2E9YXwwO2I9YnwwO2skKGF8MCww
LDEyKTtyZXR1cm59ZnVuY3Rpb24gaHAoYSxiKXthPWF8MDtiPWJ8MDtrJChhfDAsMCwxMik7cmV0
dXJufWZ1bmN0aW9uIGhxKGEsYil7YT1hfDA7Yj1ifDA7ZF8oYSwxLDQ1KTtyZXR1cm59ZnVuY3Rp
b24gaHIoYSl7YT1hfDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gaHMoYSl7YT1hfDA7
ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24gaHQoYSxiKXthPWF8MDtiPWJ8MDtrJChhfDAsMCwxMik7
cmV0dXJufWZ1bmN0aW9uIGh1KGEsYil7YT1hfDA7Yj1ifDA7ayQoYXwwLDAsMTIpO3JldHVybn1m
dW5jdGlvbiBodihhLGIpe2E9YXwwO2I9YnwwO2skKGF8MCwwLDEyKTtyZXR1cm59ZnVuY3Rpb24g
aHcoYSxiKXthPWF8MDtiPWJ8MDtleShhLDEsNDUpO3JldHVybn1mdW5jdGlvbiBoeChhKXthPWF8
MDtkZShhfDApO2tTKGEpO3JldHVybn1mdW5jdGlvbiBoeShiKXtiPWJ8MDt2YXIgZD0wLGU9MCxm
PTAsZz0wO2Q9YjtlPWIrOHwwO2Y9Y1tlPj4yXXwwO2Rve2lmKChhWzE2MjY0XXwwKT09MCl7aWYo
KGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8MH19d2hpbGUoMCk7
aWYoKGZ8MCk9PShjWzI5NThdfDApKXtnPWJ8MDtkZShnKTtrUyhkKTtyZXR1cm59YTcoY1tlPj4y
XXwwKTtnPWJ8MDtkZShnKTtrUyhkKTtyZXR1cm59ZnVuY3Rpb24gaHooYil7Yj1ifDA7dmFyIGQ9
MCxlPTAsZj0wO2Q9Yis4fDA7ZT1jW2Q+PjJdfDA7ZG97aWYoKGFbMTYyNjRdfDApPT0wKXtpZigo
YmMoMTYyNjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTtp
ZigoZXwwKT09KGNbMjk1OF18MCkpe2Y9YnwwO2RlKGYpO3JldHVybn1hNyhjW2Q+PjJdfDApO2Y9
YnwwO2RlKGYpO3JldHVybn1mdW5jdGlvbiBoQShiKXtiPWJ8MDt2YXIgZD0wLGU9MCxmPTAsZz0w
O2Q9YjtlPWIrOHwwO2Y9Y1tlPj4yXXwwO2Rve2lmKChhWzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2
MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8MH19d2hpbGUoMCk7aWYoKGZ8
MCk9PShjWzI5NThdfDApKXtnPWJ8MDtkZShnKTtrUyhkKTtyZXR1cm59YTcoY1tlPj4yXXwwKTtn
PWJ8MDtkZShnKTtrUyhkKTtyZXR1cm59ZnVuY3Rpb24gaEIoYil7Yj1ifDA7dmFyIGQ9MCxlPTAs
Zj0wO2Q9Yis4fDA7ZT1jW2Q+PjJdfDA7ZG97aWYoKGFbMTYyNjRdfDApPT0wKXtpZigoYmMoMTYy
NjQpfDApPT0wKXticmVha31jWzI5NThdPWFTKDEsMTM0NCwwKXwwfX13aGlsZSgwKTtpZigoZXww
KT09KGNbMjk1OF18MCkpe2Y9YnwwO2RlKGYpO3JldHVybn1hNyhjW2Q+PjJdfDApO2Y9YnwwO2Rl
KGYpO3JldHVybn1mdW5jdGlvbiBoQyhiLGQsZSxmLGcsaCl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1m
fDA7Zz1nfDA7aD1ofDA7dmFyIGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTA7aj1pO2k9
aSsxMjB8MDtrPWp8MDtsPWorMTEyfDA7bT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7bj1qKzh8MDtv
PWt8MDthW29dPTM3O3A9aysxfDA7YVtwXT1nO3E9aysyfDA7YVtxXT1oO2FbayszfDBdPTA7aWYo
aDw8MjQ+PjI0IT0wKXthW3BdPWg7YVtxXT1nfWc9YnwwO2JrKG58MCwxMDAsb3wwLGZ8MCxjW2c+
PjJdfDApfDA7Y1tsPj4yXT0wO2NbbCs0Pj4yXT0wO2NbbT4+Ml09bjtuPShjW2U+PjJdfDApLWQ+
PjI7Zj1iQihjW2c+PjJdfDApfDA7Zz1rZShkLG0sbixsKXwwO2lmKChmfDApIT0wKXtiQihmfDAp
fDB9aWYoKGd8MCk9PS0xKXtoVig5MDQpfWVsc2V7Y1tlPj4yXT1kKyhnPDwyKTtpPWo7cmV0dXJu
fX1mdW5jdGlvbiBoRChhKXthPWF8MDtyZXR1cm4gMjE0NzQ4MzY0N31mdW5jdGlvbiBoRShhKXth
PWF8MDtyZXR1cm4gMjE0NzQ4MzY0N31mdW5jdGlvbiBoRihhKXthPWF8MDtyZXR1cm4gMH1mdW5j
dGlvbiBoRyhhKXthPWF8MDtyZXR1cm59ZnVuY3Rpb24gaEgoYixjKXtiPWJ8MDtjPWN8MDtjPWI7
Qz02NzEwOTYzNDthW2NdPUMmMjU1O0M9Qz4+ODthW2MrMXwwXT1DJjI1NTtDPUM+Pjg7YVtjKzJ8
MF09QyYyNTU7Qz1DPj44O2FbYyszfDBdPUMmMjU1O3JldHVybn1mdW5jdGlvbiBoSShiLGMpe2I9
YnwwO2M9Y3wwO2M9YjtDPTY3MTA5NjM0O2FbY109QyYyNTU7Qz1DPj44O2FbYysxfDBdPUMmMjU1
O0M9Qz4+ODthW2MrMnwwXT1DJjI1NTtDPUM+Pjg7YVtjKzN8MF09QyYyNTU7cmV0dXJufWZ1bmN0
aW9uIGhKKGEpe2E9YXwwO2RlKGF8MCk7cmV0dXJufWZ1bmN0aW9uIGhLKGEsYil7YT1hfDA7Yj1i
fDA7ayQoYXwwLDAsMTIpO3JldHVybn1mdW5jdGlvbiBoTChhLGIpe2E9YXwwO2I9YnwwO2skKGF8
MCwwLDEyKTtyZXR1cm59ZnVuY3Rpb24gaE0oYSxiKXthPWF8MDtiPWJ8MDtrJChhfDAsMCwxMik7
cmV0dXJufWZ1bmN0aW9uIGhOKGEsYil7YT1hfDA7Yj1ifDA7ZXkoYSwxLDQ1KTtyZXR1cm59ZnVu
Y3Rpb24gaE8oYSl7YT1hfDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gaFAoYSl7YT1h
fDA7ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24gaFEoYixkLGUsZixnLGgsaixrKXtiPWJ8MDtkPWR8
MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0w
LHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAs
RD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxS
PTAsUz0wO2Q9aTtpPWkrMjgwfDA7bD1lO2U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZT4+Ml09
Y1tsPj4yXTtsPWY7Zj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tmPj4yXT1jW2w+PjJdO2w9ZHww
O209ZCsxNnwwO249ZCsxMjB8MDtvPWQrMTI4fDA7cD1kKzEzNnwwO3E9ZCsxNDR8MDtyPWQrMTUy
fDA7cz1kKzE2MHwwO3Q9ZCsxNzZ8MDt1PW58MDtjW3U+PjJdPW07dj1uKzR8MDtjW3Y+PjJdPTE2
Njt3PW0rMTAwfDA7ZWoocCxoKTttPXB8MDt4PWNbbT4+Ml18MDtpZigoY1szOTI0XXwwKSE9LTEp
e2NbbD4+Ml09MTU2OTY7Y1tsKzQ+PjJdPTEyO2NbbCs4Pj4yXT0wO2RXKDE1Njk2LGwsOTYpfWw9
KGNbMzkyNV18MCktMXwwO3k9Y1t4Kzg+PjJdfDA7ZG97aWYoKGNbeCsxMj4+Ml18MCkteT4+Mj4+
PjA+bD4+PjApe3o9Y1t5KyhsPDwyKT4+Ml18MDtpZigoenwwKT09MCl7YnJlYWt9QT16O2FbcV09
MDtCPWZ8MDtjW3I+PjJdPWNbQj4+Ml07ZG97aWYoaFIoZSxyLGcscCxjW2grND4+Ml18MCxqLHEs
QSxuLG8sdyl8MCl7Qz1zfDA7RD1jWyhjW3o+PjJdfDApKzMyPj4yXXwwO2NhW0QmMTVdKEEsMjEx
MiwyMTIyLEMpfDA7RD10fDA7RT1jW28+PjJdfDA7Rj1jW3U+PjJdfDA7Rz1FLUZ8MDtkb3tpZigo
R3wwKT45OCl7SD1rSihHKzJ8MCl8MDtpZigoSHwwKSE9MCl7ST1IO0o9SDticmVha31rWCgpO0k9
MDtKPTB9ZWxzZXtJPUQ7Sj0wfX13aGlsZSgwKTtpZigoYVtxXSYxKT09MCl7Sz1JfWVsc2V7YVtJ
XT00NTtLPUkrMXwwfWlmKEY+Pj4wPEU+Pj4wKXtHPXMrMTB8MDtIPXM7TD1LO009Rjt3aGlsZSgx
KXtOPUM7d2hpbGUoMSl7aWYoKE58MCk9PShHfDApKXtPPUc7YnJlYWt9aWYoKGFbTl18MCk9PShh
W01dfDApKXtPPU47YnJlYWt9ZWxzZXtOPU4rMXwwfX1hW0xdPWFbMjExMisoTy1IKXwwXXwwO049
TSsxfDA7UD1MKzF8MDtpZihOPj4+MDwoY1tvPj4yXXwwKT4+PjApe0w9UDtNPU59ZWxzZXtRPVA7
YnJlYWt9fX1lbHNle1E9S31hW1FdPTA7TT1iRChEfDAsMTQwOCwoTD1pLGk9aSs4fDAsY1tMPj4y
XT1rLEwpfDApfDA7aT1MO2lmKChNfDApPT0xKXtpZigoSnwwKT09MCl7YnJlYWt9a0soSik7YnJl
YWt9TT1iTyg4KXwwO2RFKE0sMTM2OCk7YmwoTXwwLDgxOTIsMjIpfX13aGlsZSgwKTtBPWV8MDt6
PWNbQT4+Ml18MDtkb3tpZigoenwwKT09MCl7Uj0wfWVsc2V7aWYoKGNbeisxMj4+Ml18MCkhPShj
W3orMTY+PjJdfDApKXtSPXo7YnJlYWt9aWYoKGIwW2NbKGNbej4+Ml18MCkrMzY+PjJdJjEyN10o
eil8MCkhPS0xKXtSPXo7YnJlYWt9Y1tBPj4yXT0wO1I9MH19d2hpbGUoMCk7QT0oUnwwKT09MDt6
PWNbQj4+Ml18MDtkb3tpZigoenwwKT09MCl7Uz0yNDR9ZWxzZXtpZigoY1t6KzEyPj4yXXwwKSE9
KGNbeisxNj4+Ml18MCkpe2lmKEEpe2JyZWFrfWVsc2V7Uz0yNDY7YnJlYWt9fWlmKChiMFtjWyhj
W3o+PjJdfDApKzM2Pj4yXSYxMjddKHopfDApPT0tMSl7Y1tCPj4yXT0wO1M9MjQ0O2JyZWFrfWVs
c2V7aWYoQV4oenwwKT09MCl7YnJlYWt9ZWxzZXtTPTI0NjticmVha319fX13aGlsZSgwKTtpZigo
U3wwKT09MjQ0KXtpZihBKXtTPTI0Nn19aWYoKFN8MCk9PTI0Nil7Y1tqPj4yXT1jW2o+PjJdfDJ9
Y1tiPj4yXT1SO3o9Y1ttPj4yXXwwO2R6KHopfDA7ej1jW3U+PjJdfDA7Y1t1Pj4yXT0wO2lmKCh6
fDApPT0wKXtpPWQ7cmV0dXJufWJZW2Nbdj4+Ml0mNTExXSh6KTtpPWQ7cmV0dXJufX13aGlsZSgw
KTtkPWJPKDQpfDA7a3EoZCk7YmwoZHwwLDgxNzYsMTM0KX1mdW5jdGlvbiBoUihlLGYsZyxoLGos
ayxsLG0sbixvLHApe2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO2w9bHwwO209
bXwwO249bnwwO289b3wwO3A9cHwwO3ZhciBxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0w
LHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAs
TT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxf
PTAsJD0wLGFhPTAsYWI9MCxhYz0wLGFkPTAsYWU9MCxhZj0wLGFnPTAsYWg9MCxhaT0wLGFqPTAs
YWs9MCxhbD0wLGFtPTAsYW49MCxhbz0wLGFwPTAsYXE9MCxhcj0wLGFzPTAsYXQ9MCxhdT0wLGF2
PTAsYXc9MCxheD0wLGF5PTAsYXo9MCxhQT0wLGFCPTAsYUM9MCxhRD0wLGFFPTAsYUY9MCxhRz0w
LGFIPTAsYUk9MCxhSj0wLGFLPTAsYUw9MCxhTT0wLGFOPTAsYU89MCxhUD0wLGFRPTAsYVI9MCxh
Uz0wLGFUPTAsYVU9MCxhVj0wLGFXPTAsYVg9MCxhWT0wLGFaPTAsYV89MCxhJD0wLGEwPTAsYTE9
MCxhMj0wLGEzPTAsYTQ9MCxhNT0wLGE2PTAsYTc9MCxhOD0wLGE5PTAsYmE9MCxiYj0wLGJjPTAs
YmQ9MCxiZT0wLGJmPTAsYmc9MCxiaD0wLGJpPTAsYmo9MCxiaz0wLGJsPTAsYm09MCxibj0wLGJv
PTAsYnA9MCxicT0wLGJyPTAsYnM9MCxidD0wLGJ1PTAsYnY9MCxidz0wLGJ4PTAsYnk9MCxiej0w
LGJBPTAsYkI9MCxiQz0wLGJEPTAsYkU9MDtxPWk7aT1pKzQ0MHwwO3I9ZjtmPWk7aT1pKzR8MDtp
PWkrNz4+Mzw8MztjW2Y+PjJdPWNbcj4+Ml07cj1xfDA7cz1xKzQwMHwwO3Q9cSs0MDh8MDt1PXEr
NDE2fDA7dj1xKzQyNHwwO3c9djt4PWk7aT1pKzEyfDA7aT1pKzc+PjM8PDM7eT1pO2k9aSsxMnww
O2k9aSs3Pj4zPDwzO3o9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8MztBPWk7aT1pKzEyfDA7aT1pKzc+
PjM8PDM7Qj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Qz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7RD1y
fDA7ayQod3wwLDAsMTIpO0U9eDtGPXk7Rz16O0g9QTtrJChFfDAsMCwxMik7ayQoRnwwLDAsMTIp
O2skKEd8MCwwLDEyKTtrJChIfDAsMCwxMik7aFgoZyxoLHMsdCx1LHYseCx5LHosQik7aD1ufDA7
Y1tvPj4yXT1jW2g+PjJdO2c9ZXwwO2U9ZnwwO2Y9bSs4fDA7bT16KzF8MDtJPXorNHwwO0o9eis4
fDA7Sz15KzF8MDtMPXkrNHwwO009eSs4fDA7Tj0oaiY1MTJ8MCkhPTA7aj14KzF8MDtPPXgrNHww
O1A9eCs4fDA7UT1BKzF8MDtSPUErNHwwO1M9QSs4fDA7VD1zKzN8MDtVPW4rNHwwO249dis0fDA7
Vj1wO3A9MTY2O1c9RDtYPUQ7RD1yKzQwMHwwO3I9MDtZPTA7TDI4Njp3aGlsZSgxKXtaPWNbZz4+
Ml18MDtkb3tpZigoWnwwKT09MCl7Xz0wfWVsc2V7aWYoKGNbWisxMj4+Ml18MCkhPShjW1orMTY+
PjJdfDApKXtfPVo7YnJlYWt9aWYoKGIwW2NbKGNbWj4+Ml18MCkrMzY+PjJdJjEyN10oWil8MCk9
PS0xKXtjW2c+PjJdPTA7Xz0wO2JyZWFrfWVsc2V7Xz1jW2c+PjJdfDA7YnJlYWt9fX13aGlsZSgw
KTtaPShffDApPT0wOyQ9Y1tlPj4yXXwwO2Rve2lmKCgkfDApPT0wKXthYT0yNzF9ZWxzZXtpZigo
Y1skKzEyPj4yXXwwKSE9KGNbJCsxNj4+Ml18MCkpe2lmKFope2FiPSQ7YnJlYWt9ZWxzZXthYz1w
O2FkPVc7YWU9WDthZj1yO2FhPTUyMzticmVhayBMMjg2fX1pZigoYjBbY1soY1skPj4yXXwwKSsz
Nj4+Ml0mMTI3XSgkKXwwKT09LTEpe2NbZT4+Ml09MDthYT0yNzE7YnJlYWt9ZWxzZXtpZihaKXth
Yj0kO2JyZWFrfWVsc2V7YWM9cDthZD1XO2FlPVg7YWY9cjthYT01MjM7YnJlYWsgTDI4Nn19fX13
aGlsZSgwKTtpZigoYWF8MCk9PTI3MSl7YWE9MDtpZihaKXthYz1wO2FkPVc7YWU9WDthZj1yO2Fh
PTUyMzticmVha31lbHNle2FiPTB9fUwzMDg6ZG97c3dpdGNoKGFbcytZfDBdfDApe2Nhc2UgMTp7
aWYoKFl8MCk9PTMpe2FjPXA7YWQ9VzthZT1YO2FmPXI7YWE9NTIzO2JyZWFrIEwyODZ9JD1jW2c+
PjJdfDA7YWc9Y1skKzEyPj4yXXwwO2lmKChhZ3wwKT09KGNbJCsxNj4+Ml18MCkpe2FoPShiMFtj
WyhjWyQ+PjJdfDApKzM2Pj4yXSYxMjddKCQpfDApJjI1NX1lbHNle2FoPWFbYWddfDB9aWYoYWg8
PDI0Pj4yNDw9LTEpe2FhPTI5NjticmVhayBMMjg2fWlmKChiWyhjW2Y+PjJdfDApKyhhaDw8MjQ+
PjI0PDwxKT4+MV0mODE5Mik9PTApe2FhPTI5NjticmVhayBMMjg2fWFnPWNbZz4+Ml18MDskPWFn
KzEyfDA7YWk9Y1skPj4yXXwwO2lmKChhaXwwKT09KGNbYWcrMTY+PjJdfDApKXthaj0oYjBbY1so
Y1thZz4+Ml18MCkrNDA+PjJdJjEyN10oYWcpfDApJjI1NX1lbHNle2NbJD4+Ml09YWkrMTthaj1h
W2FpXXwwfWRVKEEsYWopO2FhPTI5NzticmVha307Y2FzZSAzOnthaT1hW0ZdfDA7JD1haSYyNTU7
YWc9KCQmMXwwKT09MD8kPj4+MTpjW0w+PjJdfDA7JD1hW0ddfDA7YWs9JCYyNTU7YWw9KGFrJjF8
MCk9PTA/YWs+Pj4xOmNbST4+Ml18MDtpZigoYWd8MCk9PSgtYWx8MCkpe2FtPXI7YW49RDthbz1Y
O2FwPVc7YXE9cDthcj1WO2JyZWFrIEwzMDh9YWs9KGFnfDApPT0wO2FnPWNbZz4+Ml18MDthcz1j
W2FnKzEyPj4yXXwwO2F0PWNbYWcrMTY+PjJdfDA7YXU9KGFzfDApPT0oYXR8MCk7aWYoIShha3wo
YWx8MCk9PTApKXtpZihhdSl7YWw9KGIwW2NbKGNbYWc+PjJdfDApKzM2Pj4yXSYxMjddKGFnKXww
KSYyNTU7YXY9Y1tnPj4yXXwwO2F3PWFsO2F4PWFbRl18MDtheT1hdjthej1jW2F2KzEyPj4yXXww
O2FBPWNbYXYrMTY+PjJdfDB9ZWxzZXthdz1hW2FzXXwwO2F4PWFpO2F5PWFnO2F6PWFzO2FBPWF0
fWF0PWF5KzEyfDA7YXY9KGF6fDApPT0oYUF8MCk7aWYoYXc8PDI0Pj4yND09KGFbKGF4JjEpPT0w
P0s6Y1tNPj4yXXwwXXwwKSl7aWYoYXYpe2FsPWNbKGNbYXk+PjJdfDApKzQwPj4yXXwwO2IwW2Fs
JjEyN10oYXkpfDB9ZWxzZXtjW2F0Pj4yXT1heisxfWF0PWRbRl18MDthbT0oKGF0JjF8MCk9PTA/
YXQ+Pj4xOmNbTD4+Ml18MCk+Pj4wPjE/eTpyO2FuPUQ7YW89WDthcD1XO2FxPXA7YXI9VjticmVh
ayBMMzA4fWlmKGF2KXthQj0oYjBbY1soY1theT4+Ml18MCkrMzY+PjJdJjEyN10oYXkpfDApJjI1
NX1lbHNle2FCPWFbYXpdfDB9aWYoYUI8PDI0Pj4yNCE9KGFbKGFbR10mMSk9PTA/bTpjW0o+PjJd
fDBdfDApKXthYT0zNjM7YnJlYWsgTDI4Nn1hdj1jW2c+PjJdfDA7YXQ9YXYrMTJ8MDthbD1jW2F0
Pj4yXXwwO2lmKChhbHwwKT09KGNbYXYrMTY+PjJdfDApKXthQz1jWyhjW2F2Pj4yXXwwKSs0MD4+
Ml18MDtiMFthQyYxMjddKGF2KXwwfWVsc2V7Y1thdD4+Ml09YWwrMX1hW2xdPTE7YWw9ZFtHXXww
O2FtPSgoYWwmMXwwKT09MD9hbD4+PjE6Y1tJPj4yXXwwKT4+PjA+MT96OnI7YW49RDthbz1YO2Fw
PVc7YXE9cDthcj1WO2JyZWFrIEwzMDh9aWYoYWspe2lmKGF1KXthaz0oYjBbY1soY1thZz4+Ml18
MCkrMzY+PjJdJjEyN10oYWcpfDApJjI1NTthRD1hazthRT1hW0ddfDB9ZWxzZXthRD1hW2FzXXww
O2FFPSR9aWYoYUQ8PDI0Pj4yNCE9KGFbKGFFJjEpPT0wP206Y1tKPj4yXXwwXXwwKSl7YW09cjth
bj1EO2FvPVg7YXA9VzthcT1wO2FyPVY7YnJlYWsgTDMwOH0kPWNbZz4+Ml18MDthaz0kKzEyfDA7
YWw9Y1thaz4+Ml18MDtpZigoYWx8MCk9PShjWyQrMTY+PjJdfDApKXthdD1jWyhjWyQ+PjJdfDAp
KzQwPj4yXXwwO2IwW2F0JjEyN10oJCl8MH1lbHNle2NbYWs+PjJdPWFsKzF9YVtsXT0xO2FsPWRb
R118MDthbT0oKGFsJjF8MCk9PTA/YWw+Pj4xOmNbST4+Ml18MCk+Pj4wPjE/ejpyO2FuPUQ7YW89
WDthcD1XO2FxPXA7YXI9VjticmVhayBMMzA4fWlmKGF1KXthdT0oYjBbY1soY1thZz4+Ml18MCkr
MzY+PjJdJjEyN10oYWcpfDApJjI1NTthRj1hdTthRz1hW0ZdfDB9ZWxzZXthRj1hW2FzXXwwO2FH
PWFpfWlmKGFGPDwyND4+MjQhPShhWyhhRyYxKT09MD9LOmNbTT4+Ml18MF18MCkpe2FbbF09MTth
bT1yO2FuPUQ7YW89WDthcD1XO2FxPXA7YXI9VjticmVhayBMMzA4fWFpPWNbZz4+Ml18MDthcz1h
aSsxMnwwO2F1PWNbYXM+PjJdfDA7aWYoKGF1fDApPT0oY1thaSsxNj4+Ml18MCkpe2FnPWNbKGNb
YWk+PjJdfDApKzQwPj4yXXwwO2IwW2FnJjEyN10oYWkpfDB9ZWxzZXtjW2FzPj4yXT1hdSsxfWF1
PWRbRl18MDthbT0oKGF1JjF8MCk9PTA/YXU+Pj4xOmNbTD4+Ml18MCk+Pj4wPjE/eTpyO2FuPUQ7
YW89WDthcD1XO2FxPXA7YXI9VjticmVha307Y2FzZSAwOnthYT0yOTc7YnJlYWt9O2Nhc2UgMjp7
aWYoISgocnwwKSE9MHxZPj4+MDwyKSl7aWYoKFl8MCk9PTIpe2FIPShhW1RdfDApIT0wfWVsc2V7
YUg9MH1pZighKE58YUgpKXthbT0wO2FuPUQ7YW89WDthcD1XO2FxPXA7YXI9VjticmVhayBMMzA4
fX1hdT1hW0VdfDA7YXM9KGF1JjEpPT0wP2o6Y1tQPj4yXXwwO0wzODI6ZG97aWYoKFl8MCk9PTAp
e2FJPWFzfWVsc2V7aWYoKGRbcysoWS0xKXwwXXwwKT49Mil7YUk9YXM7YnJlYWt9YWk9YXUmMjU1
O2FnPWFzKygoYWkmMXwwKT09MD9haT4+PjE6Y1tPPj4yXXwwKXwwO2FpPWFzO3doaWxlKDEpe2lm
KChhaXwwKT09KGFnfDApKXthSj1hZzticmVha31hbD1hW2FpXXwwO2lmKGFsPDwyND4+MjQ8PS0x
KXthSj1haTticmVha31pZigoYlsoY1tmPj4yXXwwKSsoYWw8PDI0Pj4yNDw8MSk+PjFdJjgxOTIp
PT0wKXthSj1haTticmVha31lbHNle2FpPWFpKzF8MH19YWk9YUotYXN8MDthZz1hW0hdfDA7YWw9
YWcmMjU1O2FrPShhbCYxfDApPT0wP2FsPj4+MTpjW1I+PjJdfDA7aWYoYWk+Pj4wPmFrPj4+MCl7
YUk9YXM7YnJlYWt9YWw9KGFnJjEpPT0wP1E6Y1tTPj4yXXwwO2FnPWFsK2FrfDA7aWYoKGFKfDAp
PT0oYXN8MCkpe2FJPWFzO2JyZWFrfSQ9YXM7YXQ9YWwrKGFrLWFpKXwwO3doaWxlKDEpe2lmKChh
W2F0XXwwKSE9KGFbJF18MCkpe2FJPWFzO2JyZWFrIEwzODJ9YWk9YXQrMXwwO2lmKChhaXwwKT09
KGFnfDApKXthST1hSjticmVha31lbHNleyQ9JCsxfDA7YXQ9YWl9fX19d2hpbGUoMCk7YXQ9YXUm
MjU1O0wzOTY6ZG97aWYoKGFJfDApPT0oYXMrKChhdCYxfDApPT0wP2F0Pj4+MTpjW08+PjJdfDAp
fDApKXthSz1hSX1lbHNleyQ9YWI7YWc9YUk7d2hpbGUoMSl7YWk9Y1tnPj4yXXwwO2Rve2lmKChh
aXwwKT09MCl7YUw9MH1lbHNle2lmKChjW2FpKzEyPj4yXXwwKSE9KGNbYWkrMTY+PjJdfDApKXth
TD1haTticmVha31pZigoYjBbY1soY1thaT4+Ml18MCkrMzY+PjJdJjEyN10oYWkpfDApPT0tMSl7
Y1tnPj4yXT0wO2FMPTA7YnJlYWt9ZWxzZXthTD1jW2c+PjJdfDA7YnJlYWt9fX13aGlsZSgwKTth
aT0oYUx8MCk9PTA7ZG97aWYoKCR8MCk9PTApe2FhPTM5Mn1lbHNle2lmKChjWyQrMTI+PjJdfDAp
IT0oY1skKzE2Pj4yXXwwKSl7aWYoYWkpe2FNPSQ7YnJlYWt9ZWxzZXthSz1hZzticmVhayBMMzk2
fX1pZigoYjBbY1soY1skPj4yXXwwKSszNj4+Ml0mMTI3XSgkKXwwKT09LTEpe2NbZT4+Ml09MDth
YT0zOTI7YnJlYWt9ZWxzZXtpZihhaSl7YU09JDticmVha31lbHNle2FLPWFnO2JyZWFrIEwzOTZ9
fX19d2hpbGUoMCk7aWYoKGFhfDApPT0zOTIpe2FhPTA7aWYoYWkpe2FLPWFnO2JyZWFrIEwzOTZ9
ZWxzZXthTT0wfX1haz1jW2c+PjJdfDA7YWw9Y1thaysxMj4+Ml18MDtpZigoYWx8MCk9PShjW2Fr
KzE2Pj4yXXwwKSl7YU49KGIwW2NbKGNbYWs+PjJdfDApKzM2Pj4yXSYxMjddKGFrKXwwKSYyNTV9
ZWxzZXthTj1hW2FsXXwwfWlmKGFOPDwyND4+MjQhPShhW2FnXXwwKSl7YUs9YWc7YnJlYWsgTDM5
Nn1hbD1jW2c+PjJdfDA7YWs9YWwrMTJ8MDthdj1jW2FrPj4yXXwwO2lmKChhdnwwKT09KGNbYWwr
MTY+PjJdfDApKXthQz1jWyhjW2FsPj4yXXwwKSs0MD4+Ml18MDtiMFthQyYxMjddKGFsKXwwfWVs
c2V7Y1thaz4+Ml09YXYrMX1hdj1hZysxfDA7YWs9YVtFXXwwO2FsPWFrJjI1NTtpZigoYXZ8MCk9
PSgoKGFrJjEpPT0wP2o6Y1tQPj4yXXwwKSsoKGFsJjF8MCk9PTA/YWw+Pj4xOmNbTz4+Ml18MCl8
MCkpe2FLPWF2O2JyZWFrfWVsc2V7JD1hTTthZz1hdn19fX13aGlsZSgwKTtpZighTil7YW09cjth
bj1EO2FvPVg7YXA9VzthcT1wO2FyPVY7YnJlYWsgTDMwOH1hdD1hW0VdfDA7YXM9YXQmMjU1O2lm
KChhS3wwKT09KCgoYXQmMSk9PTA/ajpjW1A+PjJdfDApKygoYXMmMXwwKT09MD9hcz4+PjE6Y1tP
Pj4yXXwwKXwwKSl7YW09cjthbj1EO2FvPVg7YXA9VzthcT1wO2FyPVZ9ZWxzZXthYT00MDU7YnJl
YWsgTDI4Nn1icmVha307Y2FzZSA0Onthcz0wO2F0PUQ7YXU9WDthZz1XOyQ9cDthdj1WO0w0MzE6
d2hpbGUoMSl7YWw9Y1tnPj4yXXwwO2Rve2lmKChhbHwwKT09MCl7YU89MH1lbHNle2lmKChjW2Fs
KzEyPj4yXXwwKSE9KGNbYWwrMTY+PjJdfDApKXthTz1hbDticmVha31pZigoYjBbY1soY1thbD4+
Ml18MCkrMzY+PjJdJjEyN10oYWwpfDApPT0tMSl7Y1tnPj4yXT0wO2FPPTA7YnJlYWt9ZWxzZXth
Tz1jW2c+PjJdfDA7YnJlYWt9fX13aGlsZSgwKTthbD0oYU98MCk9PTA7YWs9Y1tlPj4yXXwwO2Rv
e2lmKChha3wwKT09MCl7YWE9NDE4fWVsc2V7aWYoKGNbYWsrMTI+PjJdfDApIT0oY1thaysxNj4+
Ml18MCkpe2lmKGFsKXticmVha31lbHNle2JyZWFrIEw0MzF9fWlmKChiMFtjWyhjW2FrPj4yXXww
KSszNj4+Ml0mMTI3XShhayl8MCk9PS0xKXtjW2U+PjJdPTA7YWE9NDE4O2JyZWFrfWVsc2V7aWYo
YWwpe2JyZWFrfWVsc2V7YnJlYWsgTDQzMX19fX13aGlsZSgwKTtpZigoYWF8MCk9PTQxOCl7YWE9
MDtpZihhbCl7YnJlYWt9fWFrPWNbZz4+Ml18MDthQz1jW2FrKzEyPj4yXXwwO2lmKChhQ3wwKT09
KGNbYWsrMTY+PjJdfDApKXthUD0oYjBbY1soY1thaz4+Ml18MCkrMzY+PjJdJjEyN10oYWspfDAp
JjI1NX1lbHNle2FQPWFbYUNdfDB9ZG97aWYoYVA8PDI0Pj4yND4tMSl7aWYoKGJbKGNbZj4+Ml18
MCkrKGFQPDwyND4+MjQ8PDEpPj4xXSYyMDQ4KT09MCl7YWE9NDM3O2JyZWFrfWFDPWNbbz4+Ml18
MDtpZigoYUN8MCk9PShhdnwwKSl7YWs9KGNbVT4+Ml18MCkhPTE2NjthUT1jW2g+PjJdfDA7YVI9
YXYtYVF8MDthUz1hUj4+PjA8MjE0NzQ4MzY0Nz9hUjw8MTotMTthVD1rTChhaz9hUTowLGFTKXww
O2lmKChhVHwwKT09MCl7a1goKX1kb3tpZihhayl7Y1toPj4yXT1hVDthVT1hVH1lbHNle2FRPWNb
aD4+Ml18MDtjW2g+PjJdPWFUO2lmKChhUXwwKT09MCl7YVU9YVQ7YnJlYWt9YllbY1tVPj4yXSY1
MTFdKGFRKTthVT1jW2g+PjJdfDB9fXdoaWxlKDApO2NbVT4+Ml09ODI7YVQ9YVUrYVJ8MDtjW28+
PjJdPWFUO2FWPShjW2g+PjJdfDApK2FTfDA7YVc9YVR9ZWxzZXthVj1hdjthVz1hQ31jW28+PjJd
PWFXKzE7YVthV109YVA7YVg9YXMrMXwwO2FZPWF0O2FaPWF1O2FfPWFnO2EkPSQ7YTA9YVZ9ZWxz
ZXthYT00Mzd9fXdoaWxlKDApO2lmKChhYXwwKT09NDM3KXthYT0wO2FsPWRbd118MDtpZigoKChh
bCYxfDApPT0wP2FsPj4+MTpjW24+PjJdfDApfDApPT0wfChhc3wwKT09MCl7YnJlYWt9aWYoYVA8
PDI0Pj4yNCE9KGFbdV18MCkpe2JyZWFrfWlmKChhdXwwKT09KGF0fDApKXthbD1hdS1hZ3wwO2FU
PWFsPj4+MDwyMTQ3NDgzNjQ3P2FsPDwxOi0xO2lmKCgkfDApPT0xNjYpe2ExPTB9ZWxzZXthMT1h
Z31haz1rTChhMSxhVCl8MDthaT1haztpZigoYWt8MCk9PTApe2tYKCl9YTI9YWkrKGFUPj4+Mjw8
Mil8MDthMz1haSsoYWw+PjI8PDIpfDA7YTQ9YWk7YTU9ODJ9ZWxzZXthMj1hdDthMz1hdTthND1h
ZzthNT0kfWNbYTM+PjJdPWFzO2FYPTA7YVk9YTI7YVo9YTMrNHwwO2FfPWE0O2EkPWE1O2EwPWF2
fWFpPWNbZz4+Ml18MDthbD1haSsxMnwwO2FUPWNbYWw+PjJdfDA7aWYoKGFUfDApPT0oY1thaSsx
Nj4+Ml18MCkpe2FrPWNbKGNbYWk+PjJdfDApKzQwPj4yXXwwO2IwW2FrJjEyN10oYWkpfDA7YXM9
YVg7YXQ9YVk7YXU9YVo7YWc9YV87JD1hJDthdj1hMDtjb250aW51ZX1lbHNle2NbYWw+PjJdPWFU
KzE7YXM9YVg7YXQ9YVk7YXU9YVo7YWc9YV87JD1hJDthdj1hMDtjb250aW51ZX19aWYoKGFnfDAp
PT0oYXV8MCl8KGFzfDApPT0wKXthNj1hdDthNz1hdTthOD1hZzthOT0kfWVsc2V7aWYoKGF1fDAp
PT0oYXR8MCkpe2FUPWF1LWFnfDA7YWw9YVQ+Pj4wPDIxNDc0ODM2NDc/YVQ8PDE6LTE7aWYoKCR8
MCk9PTE2Nil7YmE9MH1lbHNle2JhPWFnfWFpPWtMKGJhLGFsKXwwO2FrPWFpO2lmKChhaXwwKT09
MCl7a1goKX1iYj1haysoYWw+Pj4yPDwyKXwwO2JjPWFrKyhhVD4+Mjw8Mil8MDtiZD1haztiZT04
Mn1lbHNle2JiPWF0O2JjPWF1O2JkPWFnO2JlPSR9Y1tiYz4+Ml09YXM7YTY9YmI7YTc9YmMrNHww
O2E4PWJkO2E5PWJlfWlmKChjW0I+PjJdfDApPjApe2FrPWNbZz4+Ml18MDtkb3tpZigoYWt8MCk9
PTApe2JmPTB9ZWxzZXtpZigoY1thaysxMj4+Ml18MCkhPShjW2FrKzE2Pj4yXXwwKSl7YmY9YWs7
YnJlYWt9aWYoKGIwW2NbKGNbYWs+PjJdfDApKzM2Pj4yXSYxMjddKGFrKXwwKT09LTEpe2NbZz4+
Ml09MDtiZj0wO2JyZWFrfWVsc2V7YmY9Y1tnPj4yXXwwO2JyZWFrfX19d2hpbGUoMCk7YWs9KGJm
fDApPT0wO2FzPWNbZT4+Ml18MDtkb3tpZigoYXN8MCk9PTApe2FhPTQ3MH1lbHNle2lmKChjW2Fz
KzEyPj4yXXwwKSE9KGNbYXMrMTY+PjJdfDApKXtpZihhayl7Ymc9YXM7YnJlYWt9ZWxzZXthYT00
Nzc7YnJlYWsgTDI4Nn19aWYoKGIwW2NbKGNbYXM+PjJdfDApKzM2Pj4yXSYxMjddKGFzKXwwKT09
LTEpe2NbZT4+Ml09MDthYT00NzA7YnJlYWt9ZWxzZXtpZihhayl7Ymc9YXM7YnJlYWt9ZWxzZXth
YT00Nzc7YnJlYWsgTDI4Nn19fX13aGlsZSgwKTtpZigoYWF8MCk9PTQ3MCl7YWE9MDtpZihhayl7
YWE9NDc3O2JyZWFrIEwyODZ9ZWxzZXtiZz0wfX1hcz1jW2c+PjJdfDA7JD1jW2FzKzEyPj4yXXww
O2lmKCgkfDApPT0oY1thcysxNj4+Ml18MCkpe2JoPShiMFtjWyhjW2FzPj4yXXwwKSszNj4+Ml0m
MTI3XShhcyl8MCkmMjU1fWVsc2V7Ymg9YVskXXwwfWlmKGJoPDwyND4+MjQhPShhW3RdfDApKXth
YT00Nzc7YnJlYWsgTDI4Nn0kPWNbZz4+Ml18MDthcz0kKzEyfDA7YWc9Y1thcz4+Ml18MDtpZigo
YWd8MCk9PShjWyQrMTY+PjJdfDApKXthdT1jWyhjWyQ+PjJdfDApKzQwPj4yXXwwO2IwW2F1JjEy
N10oJCl8MDtiaT1hdjtiaj1iZ31lbHNle2NbYXM+PjJdPWFnKzE7Ymk9YXY7Ymo9Ymd9d2hpbGUo
MSl7YWc9Y1tnPj4yXXwwO2Rve2lmKChhZ3wwKT09MCl7Yms9MH1lbHNle2lmKChjW2FnKzEyPj4y
XXwwKSE9KGNbYWcrMTY+PjJdfDApKXtiaz1hZzticmVha31pZigoYjBbY1soY1thZz4+Ml18MCkr
MzY+PjJdJjEyN10oYWcpfDApPT0tMSl7Y1tnPj4yXT0wO2JrPTA7YnJlYWt9ZWxzZXtiaz1jW2c+
PjJdfDA7YnJlYWt9fX13aGlsZSgwKTthZz0oYmt8MCk9PTA7ZG97aWYoKGJqfDApPT0wKXthYT00
OTN9ZWxzZXtpZigoY1tiaisxMj4+Ml18MCkhPShjW2JqKzE2Pj4yXXwwKSl7aWYoYWcpe2JsPWJq
O2JyZWFrfWVsc2V7YWE9NTAxO2JyZWFrIEwyODZ9fWlmKChiMFtjWyhjW2JqPj4yXXwwKSszNj4+
Ml0mMTI3XShiail8MCk9PS0xKXtjW2U+PjJdPTA7YWE9NDkzO2JyZWFrfWVsc2V7aWYoYWcpe2Js
PWJqO2JyZWFrfWVsc2V7YWE9NTAxO2JyZWFrIEwyODZ9fX19d2hpbGUoMCk7aWYoKGFhfDApPT00
OTMpe2FhPTA7aWYoYWcpe2FhPTUwMTticmVhayBMMjg2fWVsc2V7Ymw9MH19YXM9Y1tnPj4yXXww
OyQ9Y1thcysxMj4+Ml18MDtpZigoJHwwKT09KGNbYXMrMTY+PjJdfDApKXtibT0oYjBbY1soY1th
cz4+Ml18MCkrMzY+PjJdJjEyN10oYXMpfDApJjI1NX1lbHNle2JtPWFbJF18MH1pZihibTw8MjQ+
PjI0PD0tMSl7YWE9NTAxO2JyZWFrIEwyODZ9aWYoKGJbKGNbZj4+Ml18MCkrKGJtPDwyND4+MjQ8
PDEpPj4xXSYyMDQ4KT09MCl7YWE9NTAxO2JyZWFrIEwyODZ9JD1jW28+PjJdfDA7aWYoKCR8MCk9
PShiaXwwKSl7YXM9KGNbVT4+Ml18MCkhPTE2NjthdT1jW2g+PjJdfDA7YXQ9YmktYXV8MDthVD1h
dD4+PjA8MjE0NzQ4MzY0Nz9hdDw8MTotMTthbD1rTChhcz9hdTowLGFUKXwwO2lmKChhbHwwKT09
MCl7a1goKX1kb3tpZihhcyl7Y1toPj4yXT1hbDtibj1hbH1lbHNle2F1PWNbaD4+Ml18MDtjW2g+
PjJdPWFsO2lmKChhdXwwKT09MCl7Ym49YWw7YnJlYWt9YllbY1tVPj4yXSY1MTFdKGF1KTtibj1j
W2g+PjJdfDB9fXdoaWxlKDApO2NbVT4+Ml09ODI7YWw9Ym4rYXR8MDtjW28+PjJdPWFsO2JvPShj
W2g+PjJdfDApK2FUfDA7YnA9YWx9ZWxzZXtibz1iaTticD0kfWFsPWNbZz4+Ml18MDthcz1jW2Fs
KzEyPj4yXXwwO2lmKChhc3wwKT09KGNbYWwrMTY+PjJdfDApKXthZz0oYjBbY1soY1thbD4+Ml18
MCkrMzY+PjJdJjEyN10oYWwpfDApJjI1NTticT1hZzticj1jW28+PjJdfDB9ZWxzZXticT1hW2Fz
XXwwO2JyPWJwfWNbbz4+Ml09YnIrMTthW2JyXT1icTthcz0oY1tCPj4yXXwwKS0xfDA7Y1tCPj4y
XT1hczthZz1jW2c+PjJdfDA7YWw9YWcrMTJ8MDthdT1jW2FsPj4yXXwwO2lmKChhdXwwKT09KGNb
YWcrMTY+PjJdfDApKXthaT1jWyhjW2FnPj4yXXwwKSs0MD4+Ml18MDtiMFthaSYxMjddKGFnKXww
fWVsc2V7Y1thbD4+Ml09YXUrMX1pZigoYXN8MCk+MCl7Ymk9Ym87Ymo9Ymx9ZWxzZXticz1ibzti
cmVha319fWVsc2V7YnM9YXZ9aWYoKGNbbz4+Ml18MCk9PShjW2g+PjJdfDApKXthYT01MjE7YnJl
YWsgTDI4Nn1lbHNle2FtPXI7YW49YTY7YW89YTc7YXA9YTg7YXE9YTk7YXI9YnN9YnJlYWt9O2Rl
ZmF1bHQ6e2FtPXI7YW49RDthbz1YO2FwPVc7YXE9cDthcj1WfX19d2hpbGUoMCk7TDU4NTpkb3tp
ZigoYWF8MCk9PTI5Nyl7YWE9MDtpZigoWXwwKT09Myl7YWM9cDthZD1XO2FlPVg7YWY9cjthYT01
MjM7YnJlYWsgTDI4Nn1lbHNle2J0PWFifXdoaWxlKDEpe1o9Y1tnPj4yXXwwO2Rve2lmKChafDAp
PT0wKXtidT0wfWVsc2V7aWYoKGNbWisxMj4+Ml18MCkhPShjW1orMTY+PjJdfDApKXtidT1aO2Jy
ZWFrfWlmKChiMFtjWyhjW1o+PjJdfDApKzM2Pj4yXSYxMjddKFopfDApPT0tMSl7Y1tnPj4yXT0w
O2J1PTA7YnJlYWt9ZWxzZXtidT1jW2c+PjJdfDA7YnJlYWt9fX13aGlsZSgwKTtaPShidXwwKT09
MDtkb3tpZigoYnR8MCk9PTApe2FhPTMxMH1lbHNle2lmKChjW2J0KzEyPj4yXXwwKSE9KGNbYnQr
MTY+PjJdfDApKXtpZihaKXtidj1idDticmVha31lbHNle2FtPXI7YW49RDthbz1YO2FwPVc7YXE9
cDthcj1WO2JyZWFrIEw1ODV9fWlmKChiMFtjWyhjW2J0Pj4yXXwwKSszNj4+Ml0mMTI3XShidCl8
MCk9PS0xKXtjW2U+PjJdPTA7YWE9MzEwO2JyZWFrfWVsc2V7aWYoWil7YnY9YnQ7YnJlYWt9ZWxz
ZXthbT1yO2FuPUQ7YW89WDthcD1XO2FxPXA7YXI9VjticmVhayBMNTg1fX19fXdoaWxlKDApO2lm
KChhYXwwKT09MzEwKXthYT0wO2lmKFope2FtPXI7YW49RDthbz1YO2FwPVc7YXE9cDthcj1WO2Jy
ZWFrIEw1ODV9ZWxzZXtidj0wfX0kPWNbZz4+Ml18MDthVD1jWyQrMTI+PjJdfDA7aWYoKGFUfDAp
PT0oY1skKzE2Pj4yXXwwKSl7Ync9KGIwW2NbKGNbJD4+Ml18MCkrMzY+PjJdJjEyN10oJCl8MCkm
MjU1fWVsc2V7Ync9YVthVF18MH1pZihidzw8MjQ+PjI0PD0tMSl7YW09cjthbj1EO2FvPVg7YXA9
VzthcT1wO2FyPVY7YnJlYWsgTDU4NX1pZigoYlsoY1tmPj4yXXwwKSsoYnc8PDI0Pj4yNDw8MSk+
PjFdJjgxOTIpPT0wKXthbT1yO2FuPUQ7YW89WDthcD1XO2FxPXA7YXI9VjticmVhayBMNTg1fWFU
PWNbZz4+Ml18MDskPWFUKzEyfDA7YXQ9Y1skPj4yXXwwO2lmKChhdHwwKT09KGNbYVQrMTY+PjJd
fDApKXtieD0oYjBbY1soY1thVD4+Ml18MCkrNDA+PjJdJjEyN10oYVQpfDApJjI1NX1lbHNle2Nb
JD4+Ml09YXQrMTtieD1hW2F0XXwwfWRVKEEsYngpO2J0PWJ2fX19d2hpbGUoMCk7YXY9WSsxfDA7
aWYoYXY+Pj4wPDQpe1Y9YXI7cD1hcTtXPWFwO1g9YW87RD1hbjtyPWFtO1k9YXZ9ZWxzZXthYz1h
cTthZD1hcDthZT1hbzthZj1hbTthYT01MjM7YnJlYWt9fUw2MjI6ZG97aWYoKGFhfDApPT0yOTYp
e2Nbaz4+Ml09Y1trPj4yXXw0O2J5PTA7Yno9VztiQT1wfWVsc2UgaWYoKGFhfDApPT0zNjMpe2Nb
az4+Ml09Y1trPj4yXXw0O2J5PTA7Yno9VztiQT1wfWVsc2UgaWYoKGFhfDApPT00MDUpe2Nbaz4+
Ml09Y1trPj4yXXw0O2J5PTA7Yno9VztiQT1wfWVsc2UgaWYoKGFhfDApPT00Nzcpe2Nbaz4+Ml09
Y1trPj4yXXw0O2J5PTA7Yno9YTg7YkE9YTl9ZWxzZSBpZigoYWF8MCk9PTUwMSl7Y1trPj4yXT1j
W2s+PjJdfDQ7Ynk9MDtiej1hODtiQT1hOX1lbHNlIGlmKChhYXwwKT09NTIxKXtjW2s+PjJdPWNb
az4+Ml18NDtieT0wO2J6PWE4O2JBPWE5fWVsc2UgaWYoKGFhfDApPT01MjMpe0w2MzA6ZG97aWYo
KGFmfDApIT0wKXthbT1hZjthbz1hZisxfDA7YXA9YWYrOHwwO2FxPWFmKzR8MDtZPTE7TDYzMjp3
aGlsZSgxKXtyPWRbYW1dfDA7aWYoKHImMXwwKT09MCl7YkI9cj4+PjF9ZWxzZXtiQj1jW2FxPj4y
XXwwfWlmKFk+Pj4wPj1iQj4+PjApe2JyZWFrIEw2MzB9cj1jW2c+PjJdfDA7ZG97aWYoKHJ8MCk9
PTApe2JDPTB9ZWxzZXtpZigoY1tyKzEyPj4yXXwwKSE9KGNbcisxNj4+Ml18MCkpe2JDPXI7YnJl
YWt9aWYoKGIwW2NbKGNbcj4+Ml18MCkrMzY+PjJdJjEyN10ocil8MCk9PS0xKXtjW2c+PjJdPTA7
YkM9MDticmVha31lbHNle2JDPWNbZz4+Ml18MDticmVha319fXdoaWxlKDApO3I9KGJDfDApPT0w
O1o9Y1tlPj4yXXwwO2Rve2lmKChafDApPT0wKXthYT01NDF9ZWxzZXtpZigoY1taKzEyPj4yXXww
KSE9KGNbWisxNj4+Ml18MCkpe2lmKHIpe2JyZWFrfWVsc2V7YnJlYWsgTDYzMn19aWYoKGIwW2Nb
KGNbWj4+Ml18MCkrMzY+PjJdJjEyN10oWil8MCk9PS0xKXtjW2U+PjJdPTA7YWE9NTQxO2JyZWFr
fWVsc2V7aWYocil7YnJlYWt9ZWxzZXticmVhayBMNjMyfX19fXdoaWxlKDApO2lmKChhYXwwKT09
NTQxKXthYT0wO2lmKHIpe2JyZWFrfX1aPWNbZz4+Ml18MDthbj1jW1orMTI+PjJdfDA7aWYoKGFu
fDApPT0oY1taKzE2Pj4yXXwwKSl7YkQ9KGIwW2NbKGNbWj4+Ml18MCkrMzY+PjJdJjEyN10oWil8
MCkmMjU1fWVsc2V7YkQ9YVthbl18MH1pZigoYVthbV0mMSk9PTApe2JFPWFvfWVsc2V7YkU9Y1th
cD4+Ml18MH1pZihiRDw8MjQ+PjI0IT0oYVtiRStZfDBdfDApKXticmVha31hbj1ZKzF8MDtaPWNb
Zz4+Ml18MDtEPVorMTJ8MDtYPWNbRD4+Ml18MDtpZigoWHwwKT09KGNbWisxNj4+Ml18MCkpe2Fy
PWNbKGNbWj4+Ml18MCkrNDA+PjJdfDA7YjBbYXImMTI3XShaKXwwO1k9YW47Y29udGludWV9ZWxz
ZXtjW0Q+PjJdPVgrMTtZPWFuO2NvbnRpbnVlfX1jW2s+PjJdPWNbaz4+Ml18NDtieT0wO2J6PWFk
O2JBPWFjO2JyZWFrIEw2MjJ9fXdoaWxlKDApO2lmKChhZHwwKT09KGFlfDApKXtieT0xO2J6PWFl
O2JBPWFjO2JyZWFrfWNbQz4+Ml09MDtmdCh2LGFkLGFlLEMpO2lmKChjW0M+PjJdfDApPT0wKXti
eT0xO2J6PWFkO2JBPWFjO2JyZWFrfWNbaz4+Ml09Y1trPj4yXXw0O2J5PTA7Yno9YWQ7YkE9YWN9
fXdoaWxlKDApO2RQKEEpO2RQKHopO2RQKHkpO2RQKHgpO2RQKHYpO2lmKChienwwKT09MCl7aT1x
O3JldHVybiBieXwwfWJZW2JBJjUxMV0oYnopO2k9cTtyZXR1cm4gYnl8MH1mdW5jdGlvbiBoUyhi
LGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxt
PTAsbj0wO2Y9YjtnPWQ7aD1hW2ZdfDA7aT1oJjI1NTtpZigoaSYxfDApPT0wKXtqPWk+Pj4xfWVs
c2V7aj1jW2IrND4+Ml18MH1pZigoaCYxKT09MCl7az0xMDtsPWh9ZWxzZXtoPWNbYj4+Ml18MDtr
PShoJi0yKS0xfDA7bD1oJjI1NX1oPWUtZ3wwO2lmKChlfDApPT0oZHwwKSl7cmV0dXJuIGJ8MH1p
Zigoay1qfDApPj4+MDxoPj4+MCl7ZDEoYixrLGoraC1rfDAsaixqLDAsMCk7bT1hW2ZdfDB9ZWxz
ZXttPWx9aWYoKG0mMSk9PTApe249YisxfDB9ZWxzZXtuPWNbYis4Pj4yXXwwfW09ZSsoai1nKXww
O2c9ZDtkPW4ranwwO3doaWxlKDEpe2FbZF09YVtnXXwwO2w9ZysxfDA7aWYoKGx8MCk9PShlfDAp
KXticmVha31lbHNle2c9bDtkPWQrMXwwfX1hW24rbXwwXT0wO209aitofDA7aWYoKGFbZl0mMSk9
PTApe2FbZl09bTw8MSYyNTU7cmV0dXJuIGJ8MH1lbHNle2NbYis0Pj4yXT1tO3JldHVybiBifDB9
cmV0dXJuIDB9ZnVuY3Rpb24gaFQoYSl7YT1hfDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rp
b24gaFUoYSl7YT1hfDA7ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24gaFYoYSl7YT1hfDA7dmFyIGI9
MDtiPWJPKDgpfDA7ZEUoYixhKTtibChifDAsODE5MiwyMil9ZnVuY3Rpb24gaFcoYixkLGUsZixn
LGgsaixrKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2
YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9
MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MDtkPWk7aT1pKzE2MHwwO2w9ZTtlPWk7aT1pKzR8MDtp
PWkrNz4+Mzw8MztjW2U+PjJdPWNbbD4+Ml07bD1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2Nb
Zj4+Ml09Y1tsPj4yXTtsPWR8MDttPWQrMTZ8MDtuPWQrMTIwfDA7bz1kKzEyOHwwO3A9ZCsxMzZ8
MDtxPWQrMTQ0fDA7cj1kKzE1MnwwO3M9bnwwO2Nbcz4+Ml09bTt0PW4rNHwwO2NbdD4+Ml09MTY2
O3U9bSsxMDB8MDtlaihwLGgpO209cHwwO3Y9Y1ttPj4yXXwwO2lmKChjWzM5MjRdfDApIT0tMSl7
Y1tsPj4yXT0xNTY5NjtjW2wrND4+Ml09MTI7Y1tsKzg+PjJdPTA7ZFcoMTU2OTYsbCw5Nil9bD0o
Y1szOTI1XXwwKS0xfDA7dz1jW3YrOD4+Ml18MDtkb3tpZigoY1t2KzEyPj4yXXwwKS13Pj4yPj4+
MD5sPj4+MCl7eD1jW3crKGw8PDIpPj4yXXwwO2lmKCh4fDApPT0wKXticmVha315PXg7YVtxXT0w
O3o9ZnwwO0E9Y1t6Pj4yXXwwO2Nbcj4+Ml09QTtpZihoUihlLHIsZyxwLGNbaCs0Pj4yXXwwLGos
cSx5LG4sbyx1KXwwKXtCPWs7aWYoKGFbQl0mMSk9PTApe2FbaysxfDBdPTA7YVtCXT0wfWVsc2V7
YVtjW2srOD4+Ml18MF09MDtjW2srND4+Ml09MH1CPXg7aWYoKGFbcV0mMSkhPTApe2RVKGssYl9b
Y1soY1tCPj4yXXwwKSsyOD4+Ml0mMzFdKHksNDUpfDApfXg9Yl9bY1soY1tCPj4yXXwwKSsyOD4+
Ml0mMzFdKHksNDgpfDA7eT1jW28+PjJdfDA7Qj15LTF8MDtDPWNbcz4+Ml18MDt3aGlsZSgxKXtp
ZihDPj4+MD49Qj4+PjApe2JyZWFrfWlmKChhW0NdfDApPT14PDwyND4+MjQpe0M9QysxfDB9ZWxz
ZXticmVha319aFMoayxDLHkpfDB9eD1lfDA7Qj1jW3g+PjJdfDA7ZG97aWYoKEJ8MCk9PTApe0Q9
MH1lbHNle2lmKChjW0IrMTI+PjJdfDApIT0oY1tCKzE2Pj4yXXwwKSl7RD1CO2JyZWFrfWlmKChi
MFtjWyhjW0I+PjJdfDApKzM2Pj4yXSYxMjddKEIpfDApIT0tMSl7RD1CO2JyZWFrfWNbeD4+Ml09
MDtEPTB9fXdoaWxlKDApO3g9KER8MCk9PTA7ZG97aWYoKEF8MCk9PTApe0U9NjIxfWVsc2V7aWYo
KGNbQSsxMj4+Ml18MCkhPShjW0ErMTY+PjJdfDApKXtpZih4KXticmVha31lbHNle0U9NjIzO2Jy
ZWFrfX1pZigoYjBbY1soY1tBPj4yXXwwKSszNj4+Ml0mMTI3XShBKXwwKT09LTEpe2Nbej4+Ml09
MDtFPTYyMTticmVha31lbHNle2lmKHheKEF8MCk9PTApe2JyZWFrfWVsc2V7RT02MjM7YnJlYWt9
fX19d2hpbGUoMCk7aWYoKEV8MCk9PTYyMSl7aWYoeCl7RT02MjN9fWlmKChFfDApPT02MjMpe2Nb
aj4+Ml09Y1tqPj4yXXwyfWNbYj4+Ml09RDtBPWNbbT4+Ml18MDtkeihBKXwwO0E9Y1tzPj4yXXww
O2Nbcz4+Ml09MDtpZigoQXwwKT09MCl7aT1kO3JldHVybn1iWVtjW3Q+PjJdJjUxMV0oQSk7aT1k
O3JldHVybn19d2hpbGUoMCk7ZD1iTyg0KXwwO2txKGQpO2JsKGR8MCw4MTc2LDEzNCl9ZnVuY3Rp
b24gaFgoYixkLGUsZixnLGgsaixrLGwsbSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7
aD1ofDA7aj1qfDA7az1rfDA7bD1sfDA7bT1tfDA7dmFyIG49MCxvPTAscD0wLHE9MCxyPTAscz0w
LHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAs
ST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wO249aTtpPWkrNTZ8MDtvPW58MDtwPW4rMTZ8MDtx
PW4rMzJ8MDtyPW4rNDB8MDtzPXI7dD1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3U9dDt2PWk7aT1p
KzEyfDA7aT1pKzc+PjM8PDM7dz12O3g9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8Mzt5PXg7ej1pO2k9
aSs0fDA7aT1pKzc+PjM8PDM7QT1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO0I9QTtEPWk7aT1pKzEy
fDA7aT1pKzc+PjM8PDM7RT1EO0Y9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8MztHPUY7SD1pO2k9aSsx
MnwwO2k9aSs3Pj4zPDwzO0k9SDtpZihiKXtiPWNbZD4+Ml18MDtpZigoY1s0MDQ0XXwwKSE9LTEp
e2NbcD4+Ml09MTYxNzY7Y1twKzQ+PjJdPTEyO2NbcCs4Pj4yXT0wO2RXKDE2MTc2LHAsOTYpfXA9
KGNbNDA0NV18MCktMXwwO0o9Y1tiKzg+PjJdfDA7aWYoKGNbYisxMj4+Ml18MCktSj4+Mj4+PjA8
PXA+Pj4wKXtLPWJPKDQpfDA7TD1LO2txKEwpO2JsKEt8MCw4MTc2LDEzNCl9Yj1jW0orKHA8PDIp
Pj4yXXwwO2lmKChifDApPT0wKXtLPWJPKDQpfDA7TD1LO2txKEwpO2JsKEt8MCw4MTc2LDEzNCl9
Sz1iO2JaW2NbKGNbYj4+Ml18MCkrNDQ+PjJdJjEyN10ocSxLKTtMPWU7Qz1jW3E+PjJdfDA7YVtM
XT1DJjI1NTtDPUM+Pjg7YVtMKzF8MF09QyYyNTU7Qz1DPj44O2FbTCsyfDBdPUMmMjU1O0M9Qz4+
ODthW0wrM3wwXT1DJjI1NTtMPWI7YlpbY1soY1tMPj4yXXwwKSszMj4+Ml0mMTI3XShyLEspO3E9
bDtpZigoYVtxXSYxKT09MCl7YVtsKzF8MF09MDthW3FdPTB9ZWxzZXthW2NbbCs4Pj4yXXwwXT0w
O2NbbCs0Pj4yXT0wfWQkKGwsMCk7Y1txPj4yXT1jW3M+PjJdO2NbcSs0Pj4yXT1jW3MrND4+Ml07
Y1txKzg+PjJdPWNbcys4Pj4yXTtrJChzfDAsMCwxMik7ZFAocik7YlpbY1soY1tMPj4yXXwwKSsy
OD4+Ml0mMTI3XSh0LEspO3I9aztpZigoYVtyXSYxKT09MCl7YVtrKzF8MF09MDthW3JdPTB9ZWxz
ZXthW2Nbays4Pj4yXXwwXT0wO2Nbays0Pj4yXT0wfWQkKGssMCk7Y1tyPj4yXT1jW3U+PjJdO2Nb
cis0Pj4yXT1jW3UrND4+Ml07Y1tyKzg+PjJdPWNbdSs4Pj4yXTtrJCh1fDAsMCwxMik7ZFAodCk7
dD1iO2FbZl09YjBbY1soY1t0Pj4yXXwwKSsxMj4+Ml0mMTI3XShLKXwwO2FbZ109YjBbY1soY1t0
Pj4yXXwwKSsxNj4+Ml0mMTI3XShLKXwwO2JaW2NbKGNbTD4+Ml18MCkrMjA+PjJdJjEyN10odixL
KTt0PWg7aWYoKGFbdF0mMSk9PTApe2FbaCsxfDBdPTA7YVt0XT0wfWVsc2V7YVtjW2grOD4+Ml18
MF09MDtjW2grND4+Ml09MH1kJChoLDApO2NbdD4+Ml09Y1t3Pj4yXTtjW3QrND4+Ml09Y1t3KzQ+
PjJdO2NbdCs4Pj4yXT1jW3crOD4+Ml07ayQod3wwLDAsMTIpO2RQKHYpO2JaW2NbKGNbTD4+Ml18
MCkrMjQ+PjJdJjEyN10oeCxLKTtMPWo7aWYoKGFbTF0mMSk9PTApe2FbaisxfDBdPTA7YVtMXT0w
fWVsc2V7YVtjW2orOD4+Ml18MF09MDtjW2orND4+Ml09MH1kJChqLDApO2NbTD4+Ml09Y1t5Pj4y
XTtjW0wrND4+Ml09Y1t5KzQ+PjJdO2NbTCs4Pj4yXT1jW3krOD4+Ml07ayQoeXwwLDAsMTIpO2RQ
KHgpO009YjBbY1soY1tiPj4yXXwwKSszNj4+Ml0mMTI3XShLKXwwO2NbbT4+Ml09TTtpPW47cmV0
dXJufWVsc2V7Sz1jW2Q+PjJdfDA7aWYoKGNbNDA0Nl18MCkhPS0xKXtjW28+PjJdPTE2MTg0O2Nb
bys0Pj4yXT0xMjtjW28rOD4+Ml09MDtkVygxNjE4NCxvLDk2KX1vPShjWzQwNDddfDApLTF8MDtk
PWNbSys4Pj4yXXwwO2lmKChjW0srMTI+PjJdfDApLWQ+PjI+Pj4wPD1vPj4+MCl7Tj1iTyg0KXww
O089TjtrcShPKTtibChOfDAsODE3NiwxMzQpfUs9Y1tkKyhvPDwyKT4+Ml18MDtpZigoS3wwKT09
MCl7Tj1iTyg0KXwwO089TjtrcShPKTtibChOfDAsODE3NiwxMzQpfU49SztiWltjWyhjW0s+PjJd
fDApKzQ0Pj4yXSYxMjddKHosTik7Tz1lO0M9Y1t6Pj4yXXwwO2FbT109QyYyNTU7Qz1DPj44O2Fb
TysxfDBdPUMmMjU1O0M9Qz4+ODthW08rMnwwXT1DJjI1NTtDPUM+Pjg7YVtPKzN8MF09QyYyNTU7
Tz1LO2JaW2NbKGNbTz4+Ml18MCkrMzI+PjJdJjEyN10oQSxOKTt6PWw7aWYoKGFbel0mMSk9PTAp
e2FbbCsxfDBdPTA7YVt6XT0wfWVsc2V7YVtjW2wrOD4+Ml18MF09MDtjW2wrND4+Ml09MH1kJChs
LDApO2Nbej4+Ml09Y1tCPj4yXTtjW3orND4+Ml09Y1tCKzQ+PjJdO2Nbeis4Pj4yXT1jW0IrOD4+
Ml07ayQoQnwwLDAsMTIpO2RQKEEpO2JaW2NbKGNbTz4+Ml18MCkrMjg+PjJdJjEyN10oRCxOKTtB
PWs7aWYoKGFbQV0mMSk9PTApe2FbaysxfDBdPTA7YVtBXT0wfWVsc2V7YVtjW2srOD4+Ml18MF09
MDtjW2srND4+Ml09MH1kJChrLDApO2NbQT4+Ml09Y1tFPj4yXTtjW0ErND4+Ml09Y1tFKzQ+PjJd
O2NbQSs4Pj4yXT1jW0UrOD4+Ml07ayQoRXwwLDAsMTIpO2RQKEQpO0Q9SzthW2ZdPWIwW2NbKGNb
RD4+Ml18MCkrMTI+PjJdJjEyN10oTil8MDthW2ddPWIwW2NbKGNbRD4+Ml18MCkrMTY+PjJdJjEy
N10oTil8MDtiWltjWyhjW08+PjJdfDApKzIwPj4yXSYxMjddKEYsTik7RD1oO2lmKChhW0RdJjEp
PT0wKXthW2grMXwwXT0wO2FbRF09MH1lbHNle2FbY1toKzg+PjJdfDBdPTA7Y1toKzQ+PjJdPTB9
ZCQoaCwwKTtjW0Q+PjJdPWNbRz4+Ml07Y1tEKzQ+PjJdPWNbRys0Pj4yXTtjW0QrOD4+Ml09Y1tH
Kzg+PjJdO2skKEd8MCwwLDEyKTtkUChGKTtiWltjWyhjW08+PjJdfDApKzI0Pj4yXSYxMjddKEgs
Tik7Tz1qO2lmKChhW09dJjEpPT0wKXthW2orMXwwXT0wO2FbT109MH1lbHNle2FbY1tqKzg+PjJd
fDBdPTA7Y1tqKzQ+PjJdPTB9ZCQoaiwwKTtjW08+PjJdPWNbST4+Ml07Y1tPKzQ+PjJdPWNbSSs0
Pj4yXTtjW08rOD4+Ml09Y1tJKzg+PjJdO2skKEl8MCwwLDEyKTtkUChIKTtNPWIwW2NbKGNbSz4+
Ml18MCkrMzY+PjJdJjEyN10oTil8MDtjW20+PjJdPU07aT1uO3JldHVybn19ZnVuY3Rpb24gaFko
YixkLGUsZixnLGgsaixrKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8
MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3
PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9
MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTA7ZD1pO2k9aSs2MDB8MDts
PWU7ZT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW2w+PjJdO2w9ZjtmPWk7aT1pKzR8
MDtpPWkrNz4+Mzw8MztjW2Y+PjJdPWNbbD4+Ml07bD1kfDA7bT1kKzE2fDA7bj1kKzQxNnwwO289
ZCs0MjR8MDtwPWQrNDMyfDA7cT1kKzQ0MHwwO3I9ZCs0NDh8MDtzPWQrNDU2fDA7dD1kKzQ5Nnww
O3U9bnwwO2NbdT4+Ml09bTt2PW4rNHwwO2Nbdj4+Ml09MTY2O3c9bSs0MDB8MDtlaihwLGgpO209
cHwwO3g9Y1ttPj4yXXwwO2lmKChjWzM5MjJdfDApIT0tMSl7Y1tsPj4yXT0xNTY4ODtjW2wrND4+
Ml09MTI7Y1tsKzg+PjJdPTA7ZFcoMTU2ODgsbCw5Nil9bD0oY1szOTIzXXwwKS0xfDA7eT1jW3gr
OD4+Ml18MDtkb3tpZigoY1t4KzEyPj4yXXwwKS15Pj4yPj4+MD5sPj4+MCl7ej1jW3krKGw8PDIp
Pj4yXXwwO2lmKCh6fDApPT0wKXticmVha31BPXo7YVtxXT0wO0I9ZnwwO2Nbcj4+Ml09Y1tCPj4y
XTtkb3tpZihoWihlLHIsZyxwLGNbaCs0Pj4yXXwwLGoscSxBLG4sbyx3KXwwKXtDPXN8MDtEPWNb
KGNbej4+Ml18MCkrNDg+PjJdfDA7Y2FbRCYxNV0oQSwyMDk2LDIxMDYsQyl8MDtEPXR8MDtFPWNb
bz4+Ml18MDtGPWNbdT4+Ml18MDtHPUUtRnwwO2Rve2lmKChHfDApPjM5Mil7SD1rSigoRz4+Mikr
MnwwKXwwO2lmKChIfDApIT0wKXtJPUg7Sj1IO2JyZWFrfWtYKCk7ST0wO0o9MH1lbHNle0k9RDtK
PTB9fXdoaWxlKDApO2lmKChhW3FdJjEpPT0wKXtLPUl9ZWxzZXthW0ldPTQ1O0s9SSsxfDB9aWYo
Rj4+PjA8RT4+PjApe0c9cys0MHwwO0g9cztMPUs7TT1GO3doaWxlKDEpe049Qzt3aGlsZSgxKXtp
ZigoTnwwKT09KEd8MCkpe089RzticmVha31pZigoY1tOPj4yXXwwKT09KGNbTT4+Ml18MCkpe089
TjticmVha31lbHNle049Tis0fDB9fWFbTF09YVsyMDk2KyhPLUg+PjIpfDBdfDA7Tj1NKzR8MDtQ
PUwrMXwwO2lmKE4+Pj4wPChjW28+PjJdfDApPj4+MCl7TD1QO009Tn1lbHNle1E9UDticmVha319
fWVsc2V7UT1LfWFbUV09MDtNPWJEKER8MCwxNDA4LChMPWksaT1pKzh8MCxjW0w+PjJdPWssTCl8
MCl8MDtpPUw7aWYoKE18MCk9PTEpe2lmKChKfDApPT0wKXticmVha31rSyhKKTticmVha31NPWJP
KDgpfDA7ZEUoTSwxMzY4KTtibChNfDAsODE5MiwyMil9fXdoaWxlKDApO0E9ZXwwO3o9Y1tBPj4y
XXwwO2Rve2lmKCh6fDApPT0wKXtSPTB9ZWxzZXtNPWNbeisxMj4+Ml18MDtpZigoTXwwKT09KGNb
eisxNj4+Ml18MCkpe1M9YjBbY1soY1t6Pj4yXXwwKSszNj4+Ml0mMTI3XSh6KXwwfWVsc2V7Uz1j
W00+PjJdfDB9aWYoKFN8MCkhPS0xKXtSPXo7YnJlYWt9Y1tBPj4yXT0wO1I9MH19d2hpbGUoMCk7
QT0oUnwwKT09MDt6PWNbQj4+Ml18MDtkb3tpZigoenwwKT09MCl7VD03Mzl9ZWxzZXtNPWNbeisx
Mj4+Ml18MDtpZigoTXwwKT09KGNbeisxNj4+Ml18MCkpe1U9YjBbY1soY1t6Pj4yXXwwKSszNj4+
Ml0mMTI3XSh6KXwwfWVsc2V7VT1jW00+PjJdfDB9aWYoKFV8MCk9PS0xKXtjW0I+PjJdPTA7VD03
Mzk7YnJlYWt9ZWxzZXtpZihBXih6fDApPT0wKXticmVha31lbHNle1Q9NzQxO2JyZWFrfX19fXdo
aWxlKDApO2lmKChUfDApPT03Mzkpe2lmKEEpe1Q9NzQxfX1pZigoVHwwKT09NzQxKXtjW2o+PjJd
PWNbaj4+Ml18Mn1jW2I+PjJdPVI7ej1jW20+PjJdfDA7ZHooeil8MDt6PWNbdT4+Ml18MDtjW3U+
PjJdPTA7aWYoKHp8MCk9PTApe2k9ZDtyZXR1cm59YllbY1t2Pj4yXSY1MTFdKHopO2k9ZDtyZXR1
cm59fXdoaWxlKDApO2Q9Yk8oNCl8MDtrcShkKTtibChkfDAsODE3NiwxMzQpfWZ1bmN0aW9uIGha
KGIsZSxmLGcsaCxqLGssbCxtLG4sbyl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1q
fDA7az1rfDA7bD1sfDA7bT1tfDA7bj1ufDA7bz1vfDA7dmFyIHA9MCxxPTAscj0wLHM9MCx0PTAs
dT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJ
PTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9
MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAsYWI9MCxhYz0wLGFkPTAsYWU9MCxhZj0wLGFnPTAs
YWg9MCxhaT0wLGFqPTAsYWs9MCxhbD0wLGFtPTAsYW49MCxhbz0wLGFwPTAsYXE9MCxhcj0wLGFz
PTAsYXQ9MCxhdT0wLGF2PTAsYXc9MCxheD0wLGF5PTAsYXo9MCxhQT0wLGFCPTAsYUM9MCxhRD0w
LGFFPTAsYUY9MCxhRz0wLGFIPTAsYUk9MCxhSj0wLGFLPTAsYUw9MCxhTT0wLGFOPTAsYU89MCxh
UD0wLGFRPTAsYVI9MCxhUz0wLGFUPTAsYVU9MCxhVj0wLGFXPTAsYVg9MCxhWT0wLGFaPTAsYV89
MCxhJD0wLGEwPTAsYTE9MCxhMj0wLGEzPTAsYTQ9MCxhNT0wLGE2PTAsYTc9MCxhOD0wLGE5PTAs
YmE9MCxiYj0wLGJjPTAsYmQ9MCxiZT0wLGJmPTAsYmc9MCxiaD0wLGJpPTAsYmo9MCxiaz0wLGJs
PTAsYm09MCxibj0wLGJvPTAsYnA9MCxicT0wLGJyPTAsYnM9MCxidD0wLGJ1PTAsYnY9MCxidz0w
LGJ4PTAsYnk9MCxiej0wLGJBPTAsYkI9MCxiQz0wLGJEPTA7cD1pO2k9aSs0NDh8MDtxPWU7ZT1p
O2k9aSs0fDA7aT1pKzc+PjM8PDM7Y1tlPj4yXT1jW3E+PjJdO3E9cHwwO3I9cCs4fDA7cz1wKzQw
OHwwO3Q9cCs0MTZ8MDt1PXArNDI0fDA7dj1wKzQzMnwwO3c9djt4PWk7aT1pKzEyfDA7aT1pKzc+
PjM8PDM7eT1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3o9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8MztB
PWk7aT1pKzEyfDA7aT1pKzc+PjM8PDM7Qj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Qz1pO2k9aSs0
fDA7aT1pKzc+PjM8PDM7Y1txPj4yXT1vO289cnwwO2skKHd8MCwwLDEyKTtEPXg7RT15O0Y9ejtH
PUE7ayQoRHwwLDAsMTIpO2skKEV8MCwwLDEyKTtrJChGfDAsMCwxMik7ayQoR3wwLDAsMTIpO2gy
KGYsZyxzLHQsdSx2LHgseSx6LEIpO2c9bXwwO2Nbbj4+Ml09Y1tnPj4yXTtmPWJ8MDtiPWV8MDtl
PWw7SD16KzR8MDtJPXorOHwwO0o9eSs0fDA7Sz15Kzh8MDtMPShoJjUxMnwwKSE9MDtoPXgrNHww
O009eCs4fDA7Tj1BKzR8MDtPPUErOHwwO1A9cyszfDA7UT12KzR8MDtSPTE2NjtTPW87VD1vO289
cis0MDB8MDtyPTA7VT0wO0w4OTA6d2hpbGUoMSl7Vj1jW2Y+PjJdfDA7ZG97aWYoKFZ8MCk9PTAp
e1c9MX1lbHNle1g9Y1tWKzEyPj4yXXwwO2lmKChYfDApPT0oY1tWKzE2Pj4yXXwwKSl7WT1iMFtj
WyhjW1Y+PjJdfDApKzM2Pj4yXSYxMjddKFYpfDB9ZWxzZXtZPWNbWD4+Ml18MH1pZigoWXwwKT09
LTEpe2NbZj4+Ml09MDtXPTE7YnJlYWt9ZWxzZXtXPShjW2Y+PjJdfDApPT0wO2JyZWFrfX19d2hp
bGUoMCk7Vj1jW2I+PjJdfDA7ZG97aWYoKFZ8MCk9PTApe1o9NzY3fWVsc2V7WD1jW1YrMTI+PjJd
fDA7aWYoKFh8MCk9PShjW1YrMTY+PjJdfDApKXtfPWIwW2NbKGNbVj4+Ml18MCkrMzY+PjJdJjEy
N10oVil8MH1lbHNle189Y1tYPj4yXXwwfWlmKChffDApPT0tMSl7Y1tiPj4yXT0wO1o9NzY3O2Jy
ZWFrfWVsc2V7aWYoV14oVnwwKT09MCl7JD1WO2JyZWFrfWVsc2V7YWE9UjthYj1TO2FjPVQ7YWQ9
cjtaPTEwMDc7YnJlYWsgTDg5MH19fX13aGlsZSgwKTtpZigoWnwwKT09NzY3KXtaPTA7aWYoVyl7
YWE9UjthYj1TO2FjPVQ7YWQ9cjtaPTEwMDc7YnJlYWt9ZWxzZXskPTB9fUw5MTQ6ZG97c3dpdGNo
KGFbcytVfDBdfDApe2Nhc2UgMjp7aWYoISgocnwwKSE9MHxVPj4+MDwyKSl7aWYoKFV8MCk9PTIp
e2FlPShhW1BdfDApIT0wfWVsc2V7YWU9MH1pZighKEx8YWUpKXthZj0wO2FnPW87YWg9VDthaT1T
O2FqPVI7YnJlYWsgTDkxNH19Vj1hW0RdfDA7WD0oViYxKT09MD9oOmNbTT4+Ml18MDtMOTIyOmRv
e2lmKChVfDApPT0wKXthaz1YO2FsPVY7YW09JH1lbHNle2lmKChkW3MrKFUtMSl8MF18MCk8Mil7
YW49WDthbz1WfWVsc2V7YWs9WDthbD1WO2FtPSQ7YnJlYWt9d2hpbGUoMSl7YXA9YW8mMjU1O2lm
KChhbnwwKT09KCgoYW8mMSk9PTA/aDpjW00+PjJdfDApKygoKGFwJjF8MCk9PTA/YXA+Pj4xOmNb
aD4+Ml18MCk8PDIpfDApKXthcT1hbzticmVha31pZighKGIxW2NbKGNbZT4+Ml18MCkrMTI+PjJd
JjYzXShsLDgxOTIsY1thbj4+Ml18MCl8MCkpe1o9ODY4O2JyZWFrfWFuPWFuKzR8MDthbz1hW0Rd
fDB9aWYoKFp8MCk9PTg2OCl7Wj0wO2FxPWFbRF18MH1hcD0oYXEmMSk9PTA7YXI9YW4tKGFwP2g6
Y1tNPj4yXXwwKT4+Mjthcz1hW0ddfDA7YXQ9YXMmMjU1O2F1PShhdCYxfDApPT0wO0w5MzI6ZG97
aWYoYXI+Pj4wPD0oYXU/YXQ+Pj4xOmNbTj4+Ml18MCk+Pj4wKXthdj0oYXMmMSk9PTA7YXc9KGF2
P046Y1tPPj4yXXwwKSsoKGF1P2F0Pj4+MTpjW04+PjJdfDApLWFyPDwyKXwwO2F4PShhdj9OOmNb
Tz4+Ml18MCkrKChhdT9hdD4+PjE6Y1tOPj4yXXwwKTw8Mil8MDtpZigoYXd8MCk9PShheHwwKSl7
YWs9YW47YWw9YXE7YW09JDticmVhayBMOTIyfWVsc2V7YXk9YXc7YXo9YXA/aDpjW00+PjJdfDB9
d2hpbGUoMSl7aWYoKGNbYXk+PjJdfDApIT0oY1thej4+Ml18MCkpe2JyZWFrIEw5MzJ9YXc9YXkr
NHwwO2lmKChhd3wwKT09KGF4fDApKXthaz1hbjthbD1hcTthbT0kO2JyZWFrIEw5MjJ9YXk9YXc7
YXo9YXorNHwwfX19d2hpbGUoMCk7YWs9YXA/aDpjW00+PjJdfDA7YWw9YXE7YW09JH19d2hpbGUo
MCk7TDkzOTp3aGlsZSgxKXtWPWFsJjI1NTtpZigoYWt8MCk9PSgoKGFsJjEpPT0wP2g6Y1tNPj4y
XXwwKSsoKChWJjF8MCk9PTA/Vj4+PjE6Y1toPj4yXXwwKTw8Mil8MCkpe2JyZWFrfVY9Y1tmPj4y
XXwwO2Rve2lmKChWfDApPT0wKXthQT0xfWVsc2V7WD1jW1YrMTI+PjJdfDA7aWYoKFh8MCk9PShj
W1YrMTY+PjJdfDApKXthQj1iMFtjWyhjW1Y+PjJdfDApKzM2Pj4yXSYxMjddKFYpfDB9ZWxzZXth
Qj1jW1g+PjJdfDB9aWYoKGFCfDApPT0tMSl7Y1tmPj4yXT0wO2FBPTE7YnJlYWt9ZWxzZXthQT0o
Y1tmPj4yXXwwKT09MDticmVha319fXdoaWxlKDApO2Rve2lmKChhbXwwKT09MCl7Wj04ODl9ZWxz
ZXtWPWNbYW0rMTI+PjJdfDA7aWYoKFZ8MCk9PShjW2FtKzE2Pj4yXXwwKSl7YUM9YjBbY1soY1th
bT4+Ml18MCkrMzY+PjJdJjEyN10oYW0pfDB9ZWxzZXthQz1jW1Y+PjJdfDB9aWYoKGFDfDApPT0t
MSl7Y1tiPj4yXT0wO1o9ODg5O2JyZWFrfWVsc2V7aWYoYUFeKGFtfDApPT0wKXthRD1hbTticmVh
a31lbHNle2JyZWFrIEw5Mzl9fX19d2hpbGUoMCk7aWYoKFp8MCk9PTg4OSl7Wj0wO2lmKGFBKXti
cmVha31lbHNle2FEPTB9fVY9Y1tmPj4yXXwwO2FwPWNbVisxMj4+Ml18MDtpZigoYXB8MCk9PShj
W1YrMTY+PjJdfDApKXthRT1iMFtjWyhjW1Y+PjJdfDApKzM2Pj4yXSYxMjddKFYpfDB9ZWxzZXth
RT1jW2FwPj4yXXwwfWlmKChhRXwwKSE9KGNbYWs+PjJdfDApKXticmVha31hcD1jW2Y+PjJdfDA7
Vj1hcCsxMnwwO1g9Y1tWPj4yXXwwO2lmKChYfDApPT0oY1thcCsxNj4+Ml18MCkpe2F0PWNbKGNb
YXA+PjJdfDApKzQwPj4yXXwwO2IwW2F0JjEyN10oYXApfDB9ZWxzZXtjW1Y+PjJdPVgrNH1haz1h
ays0fDA7YWw9YVtEXXwwO2FtPWFEfWlmKCFMKXthZj1yO2FnPW87YWg9VDthaT1TO2FqPVI7YnJl
YWsgTDkxNH1YPWFbRF18MDtWPVgmMjU1O2lmKChha3wwKT09KCgoWCYxKT09MD9oOmNbTT4+Ml18
MCkrKCgoViYxfDApPT0wP1Y+Pj4xOmNbaD4+Ml18MCk8PDIpfDApKXthZj1yO2FnPW87YWg9VDth
aT1TO2FqPVJ9ZWxzZXtaPTkwMTticmVhayBMODkwfWJyZWFrfTtjYXNlIDQ6e1Y9MDtYPW87YXA9
VDthdD1TO2F1PVI7TDk3NTp3aGlsZSgxKXthcj1jW2Y+PjJdfDA7ZG97aWYoKGFyfDApPT0wKXth
Rj0xfWVsc2V7YXM9Y1thcisxMj4+Ml18MDtpZigoYXN8MCk9PShjW2FyKzE2Pj4yXXwwKSl7YUc9
YjBbY1soY1thcj4+Ml18MCkrMzY+PjJdJjEyN10oYXIpfDB9ZWxzZXthRz1jW2FzPj4yXXwwfWlm
KChhR3wwKT09LTEpe2NbZj4+Ml09MDthRj0xO2JyZWFrfWVsc2V7YUY9KGNbZj4+Ml18MCk9PTA7
YnJlYWt9fX13aGlsZSgwKTthcj1jW2I+PjJdfDA7ZG97aWYoKGFyfDApPT0wKXtaPTkxNX1lbHNl
e2FzPWNbYXIrMTI+PjJdfDA7aWYoKGFzfDApPT0oY1thcisxNj4+Ml18MCkpe2FIPWIwW2NbKGNb
YXI+PjJdfDApKzM2Pj4yXSYxMjddKGFyKXwwfWVsc2V7YUg9Y1thcz4+Ml18MH1pZigoYUh8MCk9
PS0xKXtjW2I+PjJdPTA7Wj05MTU7YnJlYWt9ZWxzZXtpZihhRl4oYXJ8MCk9PTApe2JyZWFrfWVs
c2V7YnJlYWsgTDk3NX19fX13aGlsZSgwKTtpZigoWnwwKT09OTE1KXtaPTA7aWYoYUYpe2JyZWFr
fX1hcj1jW2Y+PjJdfDA7YXM9Y1thcisxMj4+Ml18MDtpZigoYXN8MCk9PShjW2FyKzE2Pj4yXXww
KSl7YUk9YjBbY1soY1thcj4+Ml18MCkrMzY+PjJdJjEyN10oYXIpfDB9ZWxzZXthST1jW2FzPj4y
XXwwfWlmKGIxW2NbKGNbZT4+Ml18MCkrMTI+PjJdJjYzXShsLDIwNDgsYUkpfDApe2FzPWNbbj4+
Ml18MDtpZigoYXN8MCk9PShjW3E+PjJdfDApKXtoMyhtLG4scSk7YUo9Y1tuPj4yXXwwfWVsc2V7
YUo9YXN9Y1tuPj4yXT1hSis0O2NbYUo+PjJdPWFJO2FLPVYrMXwwO2FMPVg7YU09YXA7YU49YXQ7
YU89YXV9ZWxzZXthcz1kW3ddfDA7aWYoKCgoYXMmMXwwKT09MD9hcz4+PjE6Y1tRPj4yXXwwKXww
KT09MHwoVnwwKT09MCl7YnJlYWt9aWYoKGFJfDApIT0oY1t1Pj4yXXwwKSl7YnJlYWt9aWYoKGFw
fDApPT0oWHwwKSl7YXM9KGF1fDApIT0xNjY7YXI9YXAtYXR8MDtheD1hcj4+PjA8MjE0NzQ4MzY0
Nz9hcjw8MTotMTtpZihhcyl7YVA9YXR9ZWxzZXthUD0wfWFzPWtMKGFQLGF4KXwwO2F3PWFzO2lm
KChhc3wwKT09MCl7a1goKX1hUT1hdysoYXg+Pj4yPDwyKXwwO2FSPWF3Kyhhcj4+Mjw8Mil8MDth
Uz1hdzthVD04Mn1lbHNle2FRPVg7YVI9YXA7YVM9YXQ7YVQ9YXV9Y1thUj4+Ml09VjthSz0wO2FM
PWFRO2FNPWFSKzR8MDthTj1hUzthTz1hVH1hdz1jW2Y+PjJdfDA7YXI9YXcrMTJ8MDtheD1jW2Fy
Pj4yXXwwO2lmKChheHwwKT09KGNbYXcrMTY+PjJdfDApKXthcz1jWyhjW2F3Pj4yXXwwKSs0MD4+
Ml18MDtiMFthcyYxMjddKGF3KXwwO1Y9YUs7WD1hTDthcD1hTTthdD1hTjthdT1hTztjb250aW51
ZX1lbHNle2NbYXI+PjJdPWF4KzQ7Vj1hSztYPWFMO2FwPWFNO2F0PWFOO2F1PWFPO2NvbnRpbnVl
fX1pZigoYXR8MCk9PShhcHwwKXwoVnwwKT09MCl7YVU9WDthVj1hcDthVz1hdDthWD1hdX1lbHNl
e2lmKChhcHwwKT09KFh8MCkpe2F4PShhdXwwKSE9MTY2O2FyPWFwLWF0fDA7YXc9YXI+Pj4wPDIx
NDc0ODM2NDc/YXI8PDE6LTE7aWYoYXgpe2FZPWF0fWVsc2V7YVk9MH1heD1rTChhWSxhdyl8MDth
cz1heDtpZigoYXh8MCk9PTApe2tYKCl9YVo9YXMrKGF3Pj4+Mjw8Mil8MDthXz1hcysoYXI+PjI8
PDIpfDA7YSQ9YXM7YTA9ODJ9ZWxzZXthWj1YO2FfPWFwO2EkPWF0O2EwPWF1fWNbYV8+PjJdPVY7
YVU9YVo7YVY9YV8rNHwwO2FXPWEkO2FYPWEwfWFzPWNbQj4+Ml18MDtpZigoYXN8MCk+MCl7YXI9
Y1tmPj4yXXwwO2Rve2lmKChhcnwwKT09MCl7YTE9MX1lbHNle2F3PWNbYXIrMTI+PjJdfDA7aWYo
KGF3fDApPT0oY1thcisxNj4+Ml18MCkpe2EyPWIwW2NbKGNbYXI+PjJdfDApKzM2Pj4yXSYxMjdd
KGFyKXwwfWVsc2V7YTI9Y1thdz4+Ml18MH1pZigoYTJ8MCk9PS0xKXtjW2Y+PjJdPTA7YTE9MTti
cmVha31lbHNle2ExPShjW2Y+PjJdfDApPT0wO2JyZWFrfX19d2hpbGUoMCk7YXI9Y1tiPj4yXXww
O2Rve2lmKChhcnwwKT09MCl7Wj05NjR9ZWxzZXtWPWNbYXIrMTI+PjJdfDA7aWYoKFZ8MCk9PShj
W2FyKzE2Pj4yXXwwKSl7YTM9YjBbY1soY1thcj4+Ml18MCkrMzY+PjJdJjEyN10oYXIpfDB9ZWxz
ZXthMz1jW1Y+PjJdfDB9aWYoKGEzfDApPT0tMSl7Y1tiPj4yXT0wO1o9OTY0O2JyZWFrfWVsc2V7
aWYoYTFeKGFyfDApPT0wKXthND1hcjticmVha31lbHNle1o9OTcwO2JyZWFrIEw4OTB9fX19d2hp
bGUoMCk7aWYoKFp8MCk9PTk2NCl7Wj0wO2lmKGExKXtaPTk3MDticmVhayBMODkwfWVsc2V7YTQ9
MH19YXI9Y1tmPj4yXXwwO1Y9Y1thcisxMj4+Ml18MDtpZigoVnwwKT09KGNbYXIrMTY+PjJdfDAp
KXthNT1iMFtjWyhjW2FyPj4yXXwwKSszNj4+Ml0mMTI3XShhcil8MH1lbHNle2E1PWNbVj4+Ml18
MH1pZigoYTV8MCkhPShjW3Q+PjJdfDApKXtaPTk3MDticmVhayBMODkwfVY9Y1tmPj4yXXwwO2Fy
PVYrMTJ8MDthdT1jW2FyPj4yXXwwO2lmKChhdXwwKT09KGNbVisxNj4+Ml18MCkpe2F0PWNbKGNb
Vj4+Ml18MCkrNDA+PjJdfDA7YjBbYXQmMTI3XShWKXwwO2E2PWE0O2E3PWFzfWVsc2V7Y1thcj4+
Ml09YXUrNDthNj1hNDthNz1hc313aGlsZSgxKXthdT1jW2Y+PjJdfDA7ZG97aWYoKGF1fDApPT0w
KXthOD0xfWVsc2V7YXI9Y1thdSsxMj4+Ml18MDtpZigoYXJ8MCk9PShjW2F1KzE2Pj4yXXwwKSl7
YTk9YjBbY1soY1thdT4+Ml18MCkrMzY+PjJdJjEyN10oYXUpfDB9ZWxzZXthOT1jW2FyPj4yXXww
fWlmKChhOXwwKT09LTEpe2NbZj4+Ml09MDthOD0xO2JyZWFrfWVsc2V7YTg9KGNbZj4+Ml18MCk9
PTA7YnJlYWt9fX13aGlsZSgwKTtkb3tpZigoYTZ8MCk9PTApe1o9OTg3fWVsc2V7YXU9Y1thNisx
Mj4+Ml18MDtpZigoYXV8MCk9PShjW2E2KzE2Pj4yXXwwKSl7YmE9YjBbY1soY1thNj4+Ml18MCkr
MzY+PjJdJjEyN10oYTYpfDB9ZWxzZXtiYT1jW2F1Pj4yXXwwfWlmKChiYXwwKT09LTEpe2NbYj4+
Ml09MDtaPTk4NzticmVha31lbHNle2lmKGE4XihhNnwwKT09MCl7YmI9YTY7YnJlYWt9ZWxzZXta
PTk5NDticmVhayBMODkwfX19fXdoaWxlKDApO2lmKChafDApPT05ODcpe1o9MDtpZihhOCl7Wj05
OTQ7YnJlYWsgTDg5MH1lbHNle2JiPTB9fWF1PWNbZj4+Ml18MDthcj1jW2F1KzEyPj4yXXwwO2lm
KChhcnwwKT09KGNbYXUrMTY+PjJdfDApKXtiYz1iMFtjWyhjW2F1Pj4yXXwwKSszNj4+Ml0mMTI3
XShhdSl8MH1lbHNle2JjPWNbYXI+PjJdfDB9aWYoIShiMVtjWyhjW2U+PjJdfDApKzEyPj4yXSY2
M10obCwyMDQ4LGJjKXwwKSl7Wj05OTQ7YnJlYWsgTDg5MH1pZigoY1tuPj4yXXwwKT09KGNbcT4+
Ml18MCkpe2gzKG0sbixxKX1hcj1jW2Y+PjJdfDA7YXU9Y1thcisxMj4+Ml18MDtpZigoYXV8MCk9
PShjW2FyKzE2Pj4yXXwwKSl7YmQ9YjBbY1soY1thcj4+Ml18MCkrMzY+PjJdJjEyN10oYXIpfDB9
ZWxzZXtiZD1jW2F1Pj4yXXwwfWF1PWNbbj4+Ml18MDtjW24+PjJdPWF1KzQ7Y1thdT4+Ml09YmQ7
YXU9YTctMXwwO2NbQj4+Ml09YXU7YXI9Y1tmPj4yXXwwO1Y9YXIrMTJ8MDthdD1jW1Y+PjJdfDA7
aWYoKGF0fDApPT0oY1thcisxNj4+Ml18MCkpe2FwPWNbKGNbYXI+PjJdfDApKzQwPj4yXXwwO2Iw
W2FwJjEyN10oYXIpfDB9ZWxzZXtjW1Y+PjJdPWF0KzR9aWYoKGF1fDApPjApe2E2PWJiO2E3PWF1
fWVsc2V7YnJlYWt9fX1pZigoY1tuPj4yXXwwKT09KGNbZz4+Ml18MCkpe1o9MTAwNTticmVhayBM
ODkwfWVsc2V7YWY9cjthZz1hVTthaD1hVjthaT1hVzthaj1hWH1icmVha307Y2FzZSAxOntpZigo
VXwwKT09Myl7YWE9UjthYj1TO2FjPVQ7YWQ9cjtaPTEwMDc7YnJlYWsgTDg5MH1hcz1jW2Y+PjJd
fDA7YXU9Y1thcysxMj4+Ml18MDtpZigoYXV8MCk9PShjW2FzKzE2Pj4yXXwwKSl7YmU9YjBbY1so
Y1thcz4+Ml18MCkrMzY+PjJdJjEyN10oYXMpfDB9ZWxzZXtiZT1jW2F1Pj4yXXwwfWlmKCEoYjFb
Y1soY1tlPj4yXXwwKSsxMj4+Ml0mNjNdKGwsODE5MixiZSl8MCkpe1o9NzkxO2JyZWFrIEw4OTB9
YXU9Y1tmPj4yXXwwO2FzPWF1KzEyfDA7YXQ9Y1thcz4+Ml18MDtpZigoYXR8MCk9PShjW2F1KzE2
Pj4yXXwwKSl7YmY9YjBbY1soY1thdT4+Ml18MCkrNDA+PjJdJjEyN10oYXUpfDB9ZWxzZXtjW2Fz
Pj4yXT1hdCs0O2JmPWNbYXQ+PjJdfDB9ZWgoQSxiZik7Wj03OTI7YnJlYWt9O2Nhc2UgMDp7Wj03
OTI7YnJlYWt9O2Nhc2UgMzp7YXQ9YVtFXXwwO2FzPWF0JjI1NTthdT0oYXMmMXwwKT09MDtWPWFb
Rl18MDthcj1WJjI1NTthcD0oYXImMXwwKT09MDtpZigoKGF1P2FzPj4+MTpjW0o+PjJdfDApfDAp
PT0oLShhcD9hcj4+PjE6Y1tIPj4yXXwwKXwwKSl7YWY9cjthZz1vO2FoPVQ7YWk9Uzthaj1SO2Jy
ZWFrIEw5MTR9ZG97aWYoKChhdT9hcz4+PjE6Y1tKPj4yXXwwKXwwKSE9MCl7aWYoKChhcD9hcj4+
PjE6Y1tIPj4yXXwwKXwwKT09MCl7YnJlYWt9WD1jW2Y+PjJdfDA7YXc9Y1tYKzEyPj4yXXwwO2lm
KChhd3wwKT09KGNbWCsxNj4+Ml18MCkpe2F4PWIwW2NbKGNbWD4+Ml18MCkrMzY+PjJdJjEyN10o
WCl8MDtiZz1heDtiaD1hW0VdfDB9ZWxzZXtiZz1jW2F3Pj4yXXwwO2JoPWF0fWF3PWNbZj4+Ml18
MDtheD1hdysxMnwwO1g9Y1theD4+Ml18MDthdj0oWHwwKT09KGNbYXcrMTY+PjJdfDApO2lmKChi
Z3wwKT09KGNbKChiaCYxKT09MD9KOmNbSz4+Ml18MCk+PjJdfDApKXtpZihhdil7Ymk9Y1soY1th
dz4+Ml18MCkrNDA+PjJdfDA7YjBbYmkmMTI3XShhdyl8MH1lbHNle2NbYXg+PjJdPVgrNH1heD1k
W0VdfDA7YWY9KChheCYxfDApPT0wP2F4Pj4+MTpjW0o+PjJdfDApPj4+MD4xP3k6cjthZz1vO2Fo
PVQ7YWk9Uzthaj1SO2JyZWFrIEw5MTR9aWYoYXYpe2JqPWIwW2NbKGNbYXc+PjJdfDApKzM2Pj4y
XSYxMjddKGF3KXwwfWVsc2V7Ymo9Y1tYPj4yXXwwfWlmKChianwwKSE9KGNbKChhW0ZdJjEpPT0w
P0g6Y1tJPj4yXXwwKT4+Ml18MCkpe1o9ODU3O2JyZWFrIEw4OTB9WD1jW2Y+PjJdfDA7YXc9WCsx
MnwwO2F2PWNbYXc+PjJdfDA7aWYoKGF2fDApPT0oY1tYKzE2Pj4yXXwwKSl7YXg9Y1soY1tYPj4y
XXwwKSs0MD4+Ml18MDtiMFtheCYxMjddKFgpfDB9ZWxzZXtjW2F3Pj4yXT1hdis0fWFba109MTth
dj1kW0ZdfDA7YWY9KChhdiYxfDApPT0wP2F2Pj4+MTpjW0g+PjJdfDApPj4+MD4xP3o6cjthZz1v
O2FoPVQ7YWk9Uzthaj1SO2JyZWFrIEw5MTR9fXdoaWxlKDApO2FyPWNbZj4+Ml18MDthcD1jW2Fy
KzEyPj4yXXwwO2F2PShhcHwwKT09KGNbYXIrMTY+PjJdfDApO2lmKCgoYXU/YXM+Pj4xOmNbSj4+
Ml18MCl8MCk9PTApe2lmKGF2KXthdz1iMFtjWyhjW2FyPj4yXXwwKSszNj4+Ml0mMTI3XShhcil8
MDtiaz1hdztibD1hW0ZdfDB9ZWxzZXtiaz1jW2FwPj4yXXwwO2JsPVZ9aWYoKGJrfDApIT0oY1so
KGJsJjEpPT0wP0g6Y1tJPj4yXXwwKT4+Ml18MCkpe2FmPXI7YWc9bzthaD1UO2FpPVM7YWo9Ujti
cmVhayBMOTE0fWF3PWNbZj4+Ml18MDtYPWF3KzEyfDA7YXg9Y1tYPj4yXXwwO2lmKChheHwwKT09
KGNbYXcrMTY+PjJdfDApKXtiaT1jWyhjW2F3Pj4yXXwwKSs0MD4+Ml18MDtiMFtiaSYxMjddKGF3
KXwwfWVsc2V7Y1tYPj4yXT1heCs0fWFba109MTtheD1kW0ZdfDA7YWY9KChheCYxfDApPT0wP2F4
Pj4+MTpjW0g+PjJdfDApPj4+MD4xP3o6cjthZz1vO2FoPVQ7YWk9Uzthaj1SO2JyZWFrIEw5MTR9
aWYoYXYpe2F2PWIwW2NbKGNbYXI+PjJdfDApKzM2Pj4yXSYxMjddKGFyKXwwO2JtPWF2O2JuPWFb
RV18MH1lbHNle2JtPWNbYXA+PjJdfDA7Ym49YXR9aWYoKGJtfDApIT0oY1soKGJuJjEpPT0wP0o6
Y1tLPj4yXXwwKT4+Ml18MCkpe2Fba109MTthZj1yO2FnPW87YWg9VDthaT1TO2FqPVI7YnJlYWsg
TDkxNH1hcD1jW2Y+PjJdfDA7YXY9YXArMTJ8MDthcj1jW2F2Pj4yXXwwO2lmKChhcnwwKT09KGNb
YXArMTY+PjJdfDApKXtheD1jWyhjW2FwPj4yXXwwKSs0MD4+Ml18MDtiMFtheCYxMjddKGFwKXww
fWVsc2V7Y1thdj4+Ml09YXIrNH1hcj1kW0VdfDA7YWY9KChhciYxfDApPT0wP2FyPj4+MTpjW0o+
PjJdfDApPj4+MD4xP3k6cjthZz1vO2FoPVQ7YWk9Uzthaj1SO2JyZWFrfTtkZWZhdWx0OnthZj1y
O2FnPW87YWg9VDthaT1TO2FqPVJ9fX13aGlsZSgwKTtMMTE4Mzpkb3tpZigoWnwwKT09NzkyKXta
PTA7aWYoKFV8MCk9PTMpe2FhPVI7YWI9UzthYz1UO2FkPXI7Wj0xMDA3O2JyZWFrIEw4OTB9ZWxz
ZXtibz0kfXdoaWxlKDEpe2FyPWNbZj4+Ml18MDtkb3tpZigoYXJ8MCk9PTApe2JwPTF9ZWxzZXth
dj1jW2FyKzEyPj4yXXwwO2lmKChhdnwwKT09KGNbYXIrMTY+PjJdfDApKXticT1iMFtjWyhjW2Fy
Pj4yXXwwKSszNj4+Ml0mMTI3XShhcil8MH1lbHNle2JxPWNbYXY+PjJdfDB9aWYoKGJxfDApPT0t
MSl7Y1tmPj4yXT0wO2JwPTE7YnJlYWt9ZWxzZXticD0oY1tmPj4yXXwwKT09MDticmVha319fXdo
aWxlKDApO2Rve2lmKChib3wwKT09MCl7Wj04MDZ9ZWxzZXthcj1jW2JvKzEyPj4yXXwwO2lmKChh
cnwwKT09KGNbYm8rMTY+PjJdfDApKXticj1iMFtjWyhjW2JvPj4yXXwwKSszNj4+Ml0mMTI3XShi
byl8MH1lbHNle2JyPWNbYXI+PjJdfDB9aWYoKGJyfDApPT0tMSl7Y1tiPj4yXT0wO1o9ODA2O2Jy
ZWFrfWVsc2V7aWYoYnBeKGJvfDApPT0wKXticz1ibzticmVha31lbHNle2FmPXI7YWc9bzthaD1U
O2FpPVM7YWo9UjticmVhayBMMTE4M319fX13aGlsZSgwKTtpZigoWnwwKT09ODA2KXtaPTA7aWYo
YnApe2FmPXI7YWc9bzthaD1UO2FpPVM7YWo9UjticmVhayBMMTE4M31lbHNle2JzPTB9fWFyPWNb
Zj4+Ml18MDthdj1jW2FyKzEyPj4yXXwwO2lmKChhdnwwKT09KGNbYXIrMTY+PjJdfDApKXtidD1i
MFtjWyhjW2FyPj4yXXwwKSszNj4+Ml0mMTI3XShhcil8MH1lbHNle2J0PWNbYXY+PjJdfDB9aWYo
IShiMVtjWyhjW2U+PjJdfDApKzEyPj4yXSY2M10obCw4MTkyLGJ0KXwwKSl7YWY9cjthZz1vO2Fo
PVQ7YWk9Uzthaj1SO2JyZWFrIEwxMTgzfWF2PWNbZj4+Ml18MDthcj1hdisxMnwwO2FwPWNbYXI+
PjJdfDA7aWYoKGFwfDApPT0oY1thdisxNj4+Ml18MCkpe2J1PWIwW2NbKGNbYXY+PjJdfDApKzQw
Pj4yXSYxMjddKGF2KXwwfWVsc2V7Y1thcj4+Ml09YXArNDtidT1jW2FwPj4yXXwwfWVoKEEsYnUp
O2JvPWJzfX19d2hpbGUoMCk7YXQ9VSsxfDA7aWYoYXQ+Pj4wPDQpe1I9YWo7Uz1haTtUPWFoO289
YWc7cj1hZjtVPWF0fWVsc2V7YWE9YWo7YWI9YWk7YWM9YWg7YWQ9YWY7Wj0xMDA3O2JyZWFrfX1M
MTIyMDpkb3tpZigoWnwwKT09ODU3KXtjW2o+PjJdPWNbaj4+Ml18NDtidj0wO2J3PVM7Yng9Un1l
bHNlIGlmKChafDApPT05MDEpe2Nbaj4+Ml09Y1tqPj4yXXw0O2J2PTA7Ync9UztieD1SfWVsc2Ug
aWYoKFp8MCk9PTk3MCl7Y1tqPj4yXT1jW2o+PjJdfDQ7YnY9MDtidz1hVztieD1hWH1lbHNlIGlm
KChafDApPT05OTQpe2Nbaj4+Ml09Y1tqPj4yXXw0O2J2PTA7Ync9YVc7Yng9YVh9ZWxzZSBpZigo
WnwwKT09MTAwNSl7Y1tqPj4yXT1jW2o+PjJdfDQ7YnY9MDtidz1hVztieD1hWH1lbHNlIGlmKCha
fDApPT0xMDA3KXtMMTIyNzpkb3tpZigoYWR8MCkhPTApe2FmPWFkO2FoPWFkKzR8MDthaT1hZCs4
fDA7YWo9MTtMMTIyOTp3aGlsZSgxKXtVPWRbYWZdfDA7aWYoKFUmMXwwKT09MCl7Ynk9VT4+PjF9
ZWxzZXtieT1jW2FoPj4yXXwwfWlmKGFqPj4+MD49Ynk+Pj4wKXticmVhayBMMTIyN31VPWNbZj4+
Ml18MDtkb3tpZigoVXwwKT09MCl7Yno9MX1lbHNle3I9Y1tVKzEyPj4yXXwwO2lmKChyfDApPT0o
Y1tVKzE2Pj4yXXwwKSl7YkE9YjBbY1soY1tVPj4yXXwwKSszNj4+Ml0mMTI3XShVKXwwfWVsc2V7
YkE9Y1tyPj4yXXwwfWlmKChiQXwwKT09LTEpe2NbZj4+Ml09MDtiej0xO2JyZWFrfWVsc2V7Yno9
KGNbZj4+Ml18MCk9PTA7YnJlYWt9fX13aGlsZSgwKTtVPWNbYj4+Ml18MDtkb3tpZigoVXwwKT09
MCl7Wj0xMDI2fWVsc2V7cj1jW1UrMTI+PjJdfDA7aWYoKHJ8MCk9PShjW1UrMTY+PjJdfDApKXti
Qj1iMFtjWyhjW1U+PjJdfDApKzM2Pj4yXSYxMjddKFUpfDB9ZWxzZXtiQj1jW3I+PjJdfDB9aWYo
KGJCfDApPT0tMSl7Y1tiPj4yXT0wO1o9MTAyNjticmVha31lbHNle2lmKGJ6XihVfDApPT0wKXti
cmVha31lbHNle2JyZWFrIEwxMjI5fX19fXdoaWxlKDApO2lmKChafDApPT0xMDI2KXtaPTA7aWYo
Ynope2JyZWFrfX1VPWNbZj4+Ml18MDtyPWNbVSsxMj4+Ml18MDtpZigocnwwKT09KGNbVSsxNj4+
Ml18MCkpe2JDPWIwW2NbKGNbVT4+Ml18MCkrMzY+PjJdJjEyN10oVSl8MH1lbHNle2JDPWNbcj4+
Ml18MH1pZigoYVthZl0mMSk9PTApe2JEPWFofWVsc2V7YkQ9Y1thaT4+Ml18MH1pZigoYkN8MCkh
PShjW2JEKyhhajw8Mik+PjJdfDApKXticmVha31yPWFqKzF8MDtVPWNbZj4+Ml18MDthZz1VKzEy
fDA7bz1jW2FnPj4yXXwwO2lmKChvfDApPT0oY1tVKzE2Pj4yXXwwKSl7VD1jWyhjW1U+PjJdfDAp
KzQwPj4yXXwwO2IwW1QmMTI3XShVKXwwO2FqPXI7Y29udGludWV9ZWxzZXtjW2FnPj4yXT1vKzQ7
YWo9cjtjb250aW51ZX19Y1tqPj4yXT1jW2o+PjJdfDQ7YnY9MDtidz1hYjtieD1hYTticmVhayBM
MTIyMH19d2hpbGUoMCk7aWYoKGFifDApPT0oYWN8MCkpe2J2PTE7Ync9YWM7Yng9YWE7YnJlYWt9
Y1tDPj4yXT0wO2Z0KHYsYWIsYWMsQyk7aWYoKGNbQz4+Ml18MCk9PTApe2J2PTE7Ync9YWI7Yng9
YWE7YnJlYWt9Y1tqPj4yXT1jW2o+PjJdfDQ7YnY9MDtidz1hYjtieD1hYX1lbHNlIGlmKChafDAp
PT03OTEpe2Nbaj4+Ml09Y1tqPj4yXXw0O2J2PTA7Ync9UztieD1SfX13aGlsZSgwKTtlZShBKTtl
ZSh6KTtlZSh5KTtlZSh4KTtkUCh2KTtpZigoYnd8MCk9PTApe2k9cDtyZXR1cm4gYnZ8MH1iWVti
eCY1MTFdKGJ3KTtpPXA7cmV0dXJuIGJ2fDB9ZnVuY3Rpb24gaF8oYixkLGUpe2I9YnwwO2Q9ZHww
O2U9ZXwwO3ZhciBmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7Zj1iO2c9
ZDtoPWFbZl18MDtpPWgmMjU1O2lmKChpJjF8MCk9PTApe2o9aT4+PjF9ZWxzZXtqPWNbYis0Pj4y
XXwwfWlmKChoJjEpPT0wKXtrPTE7bD1ofWVsc2V7aD1jW2I+PjJdfDA7az0oaCYtMiktMXwwO2w9
aCYyNTV9aD1lLWc+PjI7aWYoKGh8MCk9PTApe3JldHVybiBifDB9aWYoKGstanwwKT4+PjA8aD4+
PjApe2VCKGIsayxqK2gta3wwLGosaiwwLDApO209YVtmXXwwfWVsc2V7bT1sfWlmKChtJjEpPT0w
KXtuPWIrNHwwfWVsc2V7bj1jW2IrOD4+Ml18MH1tPW4rKGo8PDIpfDA7aWYoKGR8MCk9PShlfDAp
KXtvPW19ZWxzZXtsPWorKChlLTQrKC1nfDApfDApPj4+MikrMXwwO2c9ZDtkPW07d2hpbGUoMSl7
Y1tkPj4yXT1jW2c+PjJdO209Zys0fDA7aWYoKG18MCk9PShlfDApKXticmVha31lbHNle2c9bTtk
PWQrNHwwfX1vPW4rKGw8PDIpfDB9Y1tvPj4yXT0wO289aitofDA7aWYoKGFbZl0mMSk9PTApe2Fb
Zl09bzw8MSYyNTU7cmV0dXJuIGJ8MH1lbHNle2NbYis0Pj4yXT1vO3JldHVybiBifDB9cmV0dXJu
IDB9ZnVuY3Rpb24gaCQoYSl7YT1hfDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gaDAo
YSl7YT1hfDA7ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24gaDEoYixkLGUsZixnLGgsaixrKXtiPWJ8
MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09MCxu
PTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9
MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MDtkPWk7aT1pKzQ1NnwwO2w9ZTtlPWk7aT1pKzR8MDtp
PWkrNz4+Mzw8MztjW2U+PjJdPWNbbD4+Ml07bD1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2Nb
Zj4+Ml09Y1tsPj4yXTtsPWR8MDttPWQrMTZ8MDtuPWQrNDE2fDA7bz1kKzQyNHwwO3A9ZCs0MzJ8
MDtxPWQrNDQwfDA7cj1kKzQ0OHwwO3M9bnwwO2Nbcz4+Ml09bTt0PW4rNHwwO2NbdD4+Ml09MTY2
O3U9bSs0MDB8MDtlaihwLGgpO209cHwwO3Y9Y1ttPj4yXXwwO2lmKChjWzM5MjJdfDApIT0tMSl7
Y1tsPj4yXT0xNTY4ODtjW2wrND4+Ml09MTI7Y1tsKzg+PjJdPTA7ZFcoMTU2ODgsbCw5Nil9bD0o
Y1szOTIzXXwwKS0xfDA7dz1jW3YrOD4+Ml18MDtkb3tpZigoY1t2KzEyPj4yXXwwKS13Pj4yPj4+
MD5sPj4+MCl7eD1jW3crKGw8PDIpPj4yXXwwO2lmKCh4fDApPT0wKXticmVha315PXg7YVtxXT0w
O3o9ZnwwO0E9Y1t6Pj4yXXwwO2Nbcj4+Ml09QTtpZihoWihlLHIsZyxwLGNbaCs0Pj4yXXwwLGos
cSx5LG4sbyx1KXwwKXtCPWs7aWYoKGFbQl0mMSk9PTApe2Nbays0Pj4yXT0wO2FbQl09MH1lbHNl
e2NbY1trKzg+PjJdPj4yXT0wO2Nbays0Pj4yXT0wfUI9eDtpZigoYVtxXSYxKSE9MCl7ZWgoayxi
X1tjWyhjW0I+PjJdfDApKzQ0Pj4yXSYzMV0oeSw0NSl8MCl9eD1iX1tjWyhjW0I+PjJdfDApKzQ0
Pj4yXSYzMV0oeSw0OCl8MDt5PWNbbz4+Ml18MDtCPXktNHwwO0M9Y1tzPj4yXXwwO3doaWxlKDEp
e2lmKEM+Pj4wPj1CPj4+MCl7YnJlYWt9aWYoKGNbQz4+Ml18MCk9PSh4fDApKXtDPUMrNHwwfWVs
c2V7YnJlYWt9fWhfKGssQyx5KXwwfXg9ZXwwO0I9Y1t4Pj4yXXwwO2Rve2lmKChCfDApPT0wKXtE
PTB9ZWxzZXtFPWNbQisxMj4+Ml18MDtpZigoRXwwKT09KGNbQisxNj4+Ml18MCkpe0Y9YjBbY1so
Y1tCPj4yXXwwKSszNj4+Ml0mMTI3XShCKXwwfWVsc2V7Rj1jW0U+PjJdfDB9aWYoKEZ8MCkhPS0x
KXtEPUI7YnJlYWt9Y1t4Pj4yXT0wO0Q9MH19d2hpbGUoMCk7eD0oRHwwKT09MDtkb3tpZigoQXww
KT09MCl7Rz0xMTA1fWVsc2V7Qj1jW0ErMTI+PjJdfDA7aWYoKEJ8MCk9PShjW0ErMTY+PjJdfDAp
KXtIPWIwW2NbKGNbQT4+Ml18MCkrMzY+PjJdJjEyN10oQSl8MH1lbHNle0g9Y1tCPj4yXXwwfWlm
KChIfDApPT0tMSl7Y1t6Pj4yXT0wO0c9MTEwNTticmVha31lbHNle2lmKHheKEF8MCk9PTApe2Jy
ZWFrfWVsc2V7Rz0xMTA3O2JyZWFrfX19fXdoaWxlKDApO2lmKChHfDApPT0xMTA1KXtpZih4KXtH
PTExMDd9fWlmKChHfDApPT0xMTA3KXtjW2o+PjJdPWNbaj4+Ml18Mn1jW2I+PjJdPUQ7QT1jW20+
PjJdfDA7ZHooQSl8MDtBPWNbcz4+Ml18MDtjW3M+PjJdPTA7aWYoKEF8MCk9PTApe2k9ZDtyZXR1
cm59YllbY1t0Pj4yXSY1MTFdKEEpO2k9ZDtyZXR1cm59fXdoaWxlKDApO2Q9Yk8oNCl8MDtrcShk
KTtibChkfDAsODE3NiwxMzQpfWZ1bmN0aW9uIGgyKGIsZCxlLGYsZyxoLGosayxsLG0pe2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO2w9bHwwO209bXwwO3Zh
ciBuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0w
LEI9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MDtuPWk7
aT1pKzU2fDA7bz1ufDA7cD1uKzE2fDA7cT1uKzMyfDA7cj1uKzQwfDA7cz1yO3Q9aTtpPWkrMTJ8
MDtpPWkrNz4+Mzw8Mzt1PXQ7dj1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3c9djt4PWk7aT1pKzEy
fDA7aT1pKzc+PjM8PDM7eT14O3o9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO0E9aTtpPWkrMTJ8MDtp
PWkrNz4+Mzw8MztCPUE7RD1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO0U9RDtGPWk7aT1pKzEyfDA7
aT1pKzc+PjM8PDM7Rz1GO0g9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8MztJPUg7aWYoYil7Yj1jW2Q+
PjJdfDA7aWYoKGNbNDA0MF18MCkhPS0xKXtjW3A+PjJdPTE2MTYwO2NbcCs0Pj4yXT0xMjtjW3Ar
OD4+Ml09MDtkVygxNjE2MCxwLDk2KX1wPShjWzQwNDFdfDApLTF8MDtKPWNbYis4Pj4yXXwwO2lm
KChjW2IrMTI+PjJdfDApLUo+PjI+Pj4wPD1wPj4+MCl7Sz1iTyg0KXwwO0w9SztrcShMKTtibChL
fDAsODE3NiwxMzQpfWI9Y1tKKyhwPDwyKT4+Ml18MDtpZigoYnwwKT09MCl7Sz1iTyg0KXwwO0w9
SztrcShMKTtibChLfDAsODE3NiwxMzQpfUs9YjtiWltjWyhjW2I+PjJdfDApKzQ0Pj4yXSYxMjdd
KHEsSyk7TD1lO0M9Y1txPj4yXXwwO2FbTF09QyYyNTU7Qz1DPj44O2FbTCsxfDBdPUMmMjU1O0M9
Qz4+ODthW0wrMnwwXT1DJjI1NTtDPUM+Pjg7YVtMKzN8MF09QyYyNTU7TD1iO2JaW2NbKGNbTD4+
Ml18MCkrMzI+PjJdJjEyN10ocixLKTtxPWw7aWYoKGFbcV0mMSk9PTApe2NbbCs0Pj4yXT0wO2Fb
cV09MH1lbHNle2NbY1tsKzg+PjJdPj4yXT0wO2NbbCs0Pj4yXT0wfWV6KGwsMCk7Y1txPj4yXT1j
W3M+PjJdO2NbcSs0Pj4yXT1jW3MrND4+Ml07Y1txKzg+PjJdPWNbcys4Pj4yXTtrJChzfDAsMCwx
Mik7ZWUocik7YlpbY1soY1tMPj4yXXwwKSsyOD4+Ml0mMTI3XSh0LEspO3I9aztpZigoYVtyXSYx
KT09MCl7Y1trKzQ+PjJdPTA7YVtyXT0wfWVsc2V7Y1tjW2srOD4+Ml0+PjJdPTA7Y1trKzQ+PjJd
PTB9ZXooaywwKTtjW3I+PjJdPWNbdT4+Ml07Y1tyKzQ+PjJdPWNbdSs0Pj4yXTtjW3IrOD4+Ml09
Y1t1Kzg+PjJdO2skKHV8MCwwLDEyKTtlZSh0KTt0PWI7Y1tmPj4yXT1iMFtjWyhjW3Q+PjJdfDAp
KzEyPj4yXSYxMjddKEspfDA7Y1tnPj4yXT1iMFtjWyhjW3Q+PjJdfDApKzE2Pj4yXSYxMjddKEsp
fDA7YlpbY1soY1tiPj4yXXwwKSsyMD4+Ml0mMTI3XSh2LEspO2I9aDtpZigoYVtiXSYxKT09MCl7
YVtoKzF8MF09MDthW2JdPTB9ZWxzZXthW2NbaCs4Pj4yXXwwXT0wO2NbaCs0Pj4yXT0wfWQkKGgs
MCk7Y1tiPj4yXT1jW3c+PjJdO2NbYis0Pj4yXT1jW3crND4+Ml07Y1tiKzg+PjJdPWNbdys4Pj4y
XTtrJCh3fDAsMCwxMik7ZFAodik7YlpbY1soY1tMPj4yXXwwKSsyND4+Ml0mMTI3XSh4LEspO0w9
ajtpZigoYVtMXSYxKT09MCl7Y1tqKzQ+PjJdPTA7YVtMXT0wfWVsc2V7Y1tjW2orOD4+Ml0+PjJd
PTA7Y1tqKzQ+PjJdPTB9ZXooaiwwKTtjW0w+PjJdPWNbeT4+Ml07Y1tMKzQ+PjJdPWNbeSs0Pj4y
XTtjW0wrOD4+Ml09Y1t5Kzg+PjJdO2skKHl8MCwwLDEyKTtlZSh4KTtNPWIwW2NbKGNbdD4+Ml18
MCkrMzY+PjJdJjEyN10oSyl8MDtjW20+PjJdPU07aT1uO3JldHVybn1lbHNle0s9Y1tkPj4yXXww
O2lmKChjWzQwNDJdfDApIT0tMSl7Y1tvPj4yXT0xNjE2ODtjW28rND4+Ml09MTI7Y1tvKzg+PjJd
PTA7ZFcoMTYxNjgsbyw5Nil9bz0oY1s0MDQzXXwwKS0xfDA7ZD1jW0srOD4+Ml18MDtpZigoY1tL
KzEyPj4yXXwwKS1kPj4yPj4+MDw9bz4+PjApe049Yk8oNCl8MDtPPU47a3EoTyk7YmwoTnwwLDgx
NzYsMTM0KX1LPWNbZCsobzw8Mik+PjJdfDA7aWYoKEt8MCk9PTApe049Yk8oNCl8MDtPPU47a3Eo
Tyk7YmwoTnwwLDgxNzYsMTM0KX1OPUs7YlpbY1soY1tLPj4yXXwwKSs0ND4+Ml0mMTI3XSh6LE4p
O089ZTtDPWNbej4+Ml18MDthW09dPUMmMjU1O0M9Qz4+ODthW08rMXwwXT1DJjI1NTtDPUM+Pjg7
YVtPKzJ8MF09QyYyNTU7Qz1DPj44O2FbTyszfDBdPUMmMjU1O089SztiWltjWyhjW08+PjJdfDAp
KzMyPj4yXSYxMjddKEEsTik7ej1sO2lmKChhW3pdJjEpPT0wKXtjW2wrND4+Ml09MDthW3pdPTB9
ZWxzZXtjW2NbbCs4Pj4yXT4+Ml09MDtjW2wrND4+Ml09MH1leihsLDApO2Nbej4+Ml09Y1tCPj4y
XTtjW3orND4+Ml09Y1tCKzQ+PjJdO2Nbeis4Pj4yXT1jW0IrOD4+Ml07ayQoQnwwLDAsMTIpO2Vl
KEEpO2JaW2NbKGNbTz4+Ml18MCkrMjg+PjJdJjEyN10oRCxOKTtBPWs7aWYoKGFbQV0mMSk9PTAp
e2Nbays0Pj4yXT0wO2FbQV09MH1lbHNle2NbY1trKzg+PjJdPj4yXT0wO2Nbays0Pj4yXT0wfWV6
KGssMCk7Y1tBPj4yXT1jW0U+PjJdO2NbQSs0Pj4yXT1jW0UrND4+Ml07Y1tBKzg+PjJdPWNbRSs4
Pj4yXTtrJChFfDAsMCwxMik7ZWUoRCk7RD1LO2NbZj4+Ml09YjBbY1soY1tEPj4yXXwwKSsxMj4+
Ml0mMTI3XShOKXwwO2NbZz4+Ml09YjBbY1soY1tEPj4yXXwwKSsxNj4+Ml0mMTI3XShOKXwwO2Ja
W2NbKGNbSz4+Ml18MCkrMjA+PjJdJjEyN10oRixOKTtLPWg7aWYoKGFbS10mMSk9PTApe2FbaCsx
fDBdPTA7YVtLXT0wfWVsc2V7YVtjW2grOD4+Ml18MF09MDtjW2grND4+Ml09MH1kJChoLDApO2Nb
Sz4+Ml09Y1tHPj4yXTtjW0srND4+Ml09Y1tHKzQ+PjJdO2NbSys4Pj4yXT1jW0crOD4+Ml07ayQo
R3wwLDAsMTIpO2RQKEYpO2JaW2NbKGNbTz4+Ml18MCkrMjQ+PjJdJjEyN10oSCxOKTtPPWo7aWYo
KGFbT10mMSk9PTApe2Nbais0Pj4yXT0wO2FbT109MH1lbHNle2NbY1tqKzg+PjJdPj4yXT0wO2Nb
ais0Pj4yXT0wfWV6KGosMCk7Y1tPPj4yXT1jW0k+PjJdO2NbTys0Pj4yXT1jW0krND4+Ml07Y1tP
Kzg+PjJdPWNbSSs4Pj4yXTtrJChJfDAsMCwxMik7ZWUoSCk7TT1iMFtjWyhjW0Q+PjJdfDApKzM2
Pj4yXSYxMjddKE4pfDA7Y1ttPj4yXT1NO2k9bjtyZXR1cm59fWZ1bmN0aW9uIGgzKGEsYixkKXth
PWF8MDtiPWJ8MDtkPWR8MDt2YXIgZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MDtlPWEr
NHwwO2Y9KGNbZT4+Ml18MCkhPTE2NjtnPWF8MDthPWNbZz4+Ml18MDtoPWE7aT0oY1tkPj4yXXww
KS1ofDA7aj1pPj4+MDwyMTQ3NDgzNjQ3P2k8PDE6LTE7aT0oY1tiPj4yXXwwKS1oPj4yO2lmKGYp
e2s9YX1lbHNle2s9MH1hPWtMKGssail8MDtrPWE7aWYoKGF8MCk9PTApe2tYKCl9ZG97aWYoZil7
Y1tnPj4yXT1rO2w9a31lbHNle2E9Y1tnPj4yXXwwO2NbZz4+Ml09aztpZigoYXwwKT09MCl7bD1r
O2JyZWFrfWJZW2NbZT4+Ml0mNTExXShhKTtsPWNbZz4+Ml18MH19d2hpbGUoMCk7Y1tlPj4yXT04
MjtjW2I+PjJdPWwrKGk8PDIpO2NbZD4+Ml09KGNbZz4+Ml18MCkrKGo+Pj4yPDwyKTtyZXR1cm59
ZnVuY3Rpb24gaDQoYixlLGYsZyxqLGssbCl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aj1qfDA7
az1rfDA7bD0rbDt2YXIgbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9
MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0w
LEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAsVz0wO2U9aTtpPWkr
MjgwfDA7bT1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1ttPj4yXTttPWV8MDtu
PWUrMTIwfDA7bz1lKzIzMnwwO3A9ZSsyNDB8MDtxPWUrMjQ4fDA7cj1lKzI1NnwwO3M9ZSsyNjR8
MDt0PXM7dT1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3Y9dTt3PWk7aT1pKzEyfDA7aT1pKzc+PjM8
PDM7eD13O3k9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3o9aTtpPWkrMTAwfDA7aT1pKzc+PjM8PDM7
QT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Qj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Qz1pO2k9aSs0
fDA7aT1pKzc+PjM8PDM7RD1lKzE2fDA7Y1tuPj4yXT1EO0U9ZSsxMjh8MDtGPWFaKER8MCwxMDAs
MTM2MCwoRD1pLGk9aSs4fDAsaFtEPj4zXT1sLEQpfDApfDA7aT1EO2Rve2lmKEY+Pj4wPjk5KXtk
b3tpZigoYVsxNjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09
YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDApO0c9Z2gobixjWzI5NThdfDAsMTM2MCwoRD1pLGk9aSs4
fDAsaFtEPj4zXT1sLEQpfDApfDA7aT1EO0g9Y1tuPj4yXXwwO2lmKChIfDApPT0wKXtrWCgpO0k9
Y1tuPj4yXXwwfWVsc2V7ST1IfUg9a0ooRyl8MDtpZigoSHwwKSE9MCl7Sj1IO0s9RztMPUk7TT1I
O2JyZWFrfWtYKCk7Sj0wO0s9RztMPUk7TT0wfWVsc2V7Sj1FO0s9RjtMPTA7TT0wfX13aGlsZSgw
KTtlaihvLGopO0Y9b3wwO0U9Y1tGPj4yXXwwO2lmKChjWzM5MjRdfDApIT0tMSl7Y1ttPj4yXT0x
NTY5NjtjW20rND4+Ml09MTI7Y1ttKzg+PjJdPTA7ZFcoMTU2OTYsbSw5Nil9bT0oY1szOTI1XXww
KS0xfDA7ST1jW0UrOD4+Ml18MDtkb3tpZigoY1tFKzEyPj4yXXwwKS1JPj4yPj4+MD5tPj4+MCl7
RD1jW0krKG08PDIpPj4yXXwwO2lmKChEfDApPT0wKXticmVha31HPUQ7SD1jW24+PjJdfDA7Tj1I
K0t8MDtPPWNbKGNbRD4+Ml18MCkrMzI+PjJdfDA7Y2FbTyYxNV0oRyxILE4sSil8MDtpZigoS3ww
KT09MCl7UD0wfWVsc2V7UD0oYVtjW24+PjJdfDBdfDApPT00NX1rJCh0fDAsMCwxMik7ayQodnww
LDAsMTIpO2skKHh8MCwwLDEyKTtoNShnLFAsbyxwLHEscixzLHUsdyx5KTtOPXp8MDtIPWNbeT4+
Ml18MDtpZigoS3wwKT4oSHwwKSl7Tz1kW3hdfDA7aWYoKE8mMXwwKT09MCl7UT1PPj4+MX1lbHNl
e1E9Y1t3KzQ+PjJdfDB9Tz1kW3ZdfDA7aWYoKE8mMXwwKT09MCl7Uj1PPj4+MX1lbHNle1I9Y1t1
KzQ+PjJdfDB9Uz0oSy1IPDwxfDEpK1ErUnwwfWVsc2V7Tz1kW3hdfDA7aWYoKE8mMXwwKT09MCl7
VD1PPj4+MX1lbHNle1Q9Y1t3KzQ+PjJdfDB9Tz1kW3ZdfDA7aWYoKE8mMXwwKT09MCl7VT1PPj4+
MX1lbHNle1U9Y1t1KzQ+PjJdfDB9Uz1UKzIrVXwwfU89UytIfDA7ZG97aWYoTz4+PjA+MTAwKXtE
PWtKKE8pfDA7aWYoKER8MCkhPTApe1Y9RDtXPUQ7YnJlYWt9a1goKTtWPTA7Vz0wfWVsc2V7Vj1O
O1c9MH19d2hpbGUoMCk7aDYoVixBLEIsY1tqKzQ+PjJdfDAsSixKK0t8MCxHLFAscCxhW3FdfDAs
YVtyXXwwLHMsdSx3LEgpO2NbQz4+Ml09Y1tmPj4yXTtmOShiLEMsVixjW0E+PjJdfDAsY1tCPj4y
XXwwLGosayk7aWYoKFd8MCkhPTApe2tLKFcpfWRQKHcpO2RQKHUpO2RQKHMpO049Y1tGPj4yXXww
O2R6KE4pfDA7aWYoKE18MCkhPTApe2tLKE0pfWlmKChMfDApPT0wKXtpPWU7cmV0dXJufWtLKEwp
O2k9ZTtyZXR1cm59fXdoaWxlKDApO2U9Yk8oNCl8MDtrcShlKTtibChlfDAsODE3NiwxMzQpfWZ1
bmN0aW9uIGg1KGIsZCxlLGYsZyxoLGosayxsLG0pe2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9
Z3wwO2g9aHwwO2o9anwwO2s9a3wwO2w9bHwwO209bXwwO3ZhciBuPTAsbz0wLHA9MCxxPTAscj0w
LHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxEPTAsRT0wLEY9MCxHPTAs
SD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MDtu
PWk7aT1pKzQwfDA7bz1ufDA7cD1uKzE2fDA7cT1uKzMyfDA7cj1xO3M9aTtpPWkrMTJ8MDtpPWkr
Nz4+Mzw8Mzt0PXM7dT1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7dj11O3c9aTtpPWkrMTJ8MDtpPWkr
Nz4+Mzw8Mzt4PXc7eT1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3o9eTtBPWk7aT1pKzEyfDA7aT1p
Kzc+PjM8PDM7Qj1BO0Q9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO0U9RDtGPWk7aT1pKzEyfDA7aT1p
Kzc+PjM8PDM7Rz1GO0g9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO0k9SDtKPWk7aT1pKzEyfDA7aT1p
Kzc+PjM8PDM7Sz1KO0w9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8MztNPUw7Tj1pO2k9aSsxMnwwO2k9
aSs3Pj4zPDwzO089TjtQPWNbZT4+Ml18MDtpZihiKXtpZigoY1s0MDQ0XXwwKSE9LTEpe2NbcD4+
Ml09MTYxNzY7Y1twKzQ+PjJdPTEyO2NbcCs4Pj4yXT0wO2RXKDE2MTc2LHAsOTYpfXA9KGNbNDA0
NV18MCktMXwwO2I9Y1tQKzg+PjJdfDA7aWYoKGNbUCsxMj4+Ml18MCktYj4+Mj4+PjA8PXA+Pj4w
KXtRPWJPKDQpfDA7Uj1RO2txKFIpO2JsKFF8MCw4MTc2LDEzNCl9ZT1jW2IrKHA8PDIpPj4yXXww
O2lmKChlfDApPT0wKXtRPWJPKDQpfDA7Uj1RO2txKFIpO2JsKFF8MCw4MTc2LDEzNCl9UT1lO1I9
Y1tlPj4yXXwwO2lmKGQpe2JaW2NbUis0ND4+Ml0mMTI3XShyLFEpO3I9ZjtDPWNbcT4+Ml18MDth
W3JdPUMmMjU1O0M9Qz4+ODthW3IrMXwwXT1DJjI1NTtDPUM+Pjg7YVtyKzJ8MF09QyYyNTU7Qz1D
Pj44O2FbciszfDBdPUMmMjU1O2JaW2NbKGNbZT4+Ml18MCkrMzI+PjJdJjEyN10ocyxRKTtyPWw7
aWYoKGFbcl0mMSk9PTApe2FbbCsxfDBdPTA7YVtyXT0wfWVsc2V7YVtjW2wrOD4+Ml18MF09MDtj
W2wrND4+Ml09MH1kJChsLDApO2Nbcj4+Ml09Y1t0Pj4yXTtjW3IrND4+Ml09Y1t0KzQ+PjJdO2Nb
cis4Pj4yXT1jW3QrOD4+Ml07ayQodHwwLDAsMTIpO2RQKHMpfWVsc2V7YlpbY1tSKzQwPj4yXSYx
MjddKHYsUSk7dj1mO0M9Y1t1Pj4yXXwwO2Fbdl09QyYyNTU7Qz1DPj44O2FbdisxfDBdPUMmMjU1
O0M9Qz4+ODthW3YrMnwwXT1DJjI1NTtDPUM+Pjg7YVt2KzN8MF09QyYyNTU7YlpbY1soY1tlPj4y
XXwwKSsyOD4+Ml0mMTI3XSh3LFEpO3Y9bDtpZigoYVt2XSYxKT09MCl7YVtsKzF8MF09MDthW3Zd
PTB9ZWxzZXthW2NbbCs4Pj4yXXwwXT0wO2NbbCs0Pj4yXT0wfWQkKGwsMCk7Y1t2Pj4yXT1jW3g+
PjJdO2Nbdis0Pj4yXT1jW3grND4+Ml07Y1t2Kzg+PjJdPWNbeCs4Pj4yXTtrJCh4fDAsMCwxMik7
ZFAodyl9dz1lO2FbZ109YjBbY1soY1t3Pj4yXXwwKSsxMj4+Ml0mMTI3XShRKXwwO2FbaF09YjBb
Y1soY1t3Pj4yXXwwKSsxNj4+Ml0mMTI3XShRKXwwO3c9ZTtiWltjWyhjW3c+PjJdfDApKzIwPj4y
XSYxMjddKHksUSk7eD1qO2lmKChhW3hdJjEpPT0wKXthW2orMXwwXT0wO2FbeF09MH1lbHNle2Fb
Y1tqKzg+PjJdfDBdPTA7Y1tqKzQ+PjJdPTB9ZCQoaiwwKTtjW3g+PjJdPWNbej4+Ml07Y1t4KzQ+
PjJdPWNbeis0Pj4yXTtjW3grOD4+Ml09Y1t6Kzg+PjJdO2skKHp8MCwwLDEyKTtkUCh5KTtiWltj
WyhjW3c+PjJdfDApKzI0Pj4yXSYxMjddKEEsUSk7dz1rO2lmKChhW3ddJjEpPT0wKXthW2srMXww
XT0wO2Fbd109MH1lbHNle2FbY1trKzg+PjJdfDBdPTA7Y1trKzQ+PjJdPTB9ZCQoaywwKTtjW3c+
PjJdPWNbQj4+Ml07Y1t3KzQ+PjJdPWNbQis0Pj4yXTtjW3crOD4+Ml09Y1tCKzg+PjJdO2skKEJ8
MCwwLDEyKTtkUChBKTtTPWIwW2NbKGNbZT4+Ml18MCkrMzY+PjJdJjEyN10oUSl8MDtjW20+PjJd
PVM7aT1uO3JldHVybn1lbHNle2lmKChjWzQwNDZdfDApIT0tMSl7Y1tvPj4yXT0xNjE4NDtjW28r
ND4+Ml09MTI7Y1tvKzg+PjJdPTA7ZFcoMTYxODQsbyw5Nil9bz0oY1s0MDQ3XXwwKS0xfDA7UT1j
W1ArOD4+Ml18MDtpZigoY1tQKzEyPj4yXXwwKS1RPj4yPj4+MDw9bz4+PjApe1Q9Yk8oNCl8MDtV
PVQ7a3EoVSk7YmwoVHwwLDgxNzYsMTM0KX1QPWNbUSsobzw8Mik+PjJdfDA7aWYoKFB8MCk9PTAp
e1Q9Yk8oNCl8MDtVPVQ7a3EoVSk7YmwoVHwwLDgxNzYsMTM0KX1UPVA7VT1jW1A+PjJdfDA7aWYo
ZCl7YlpbY1tVKzQ0Pj4yXSYxMjddKEUsVCk7RT1mO0M9Y1tEPj4yXXwwO2FbRV09QyYyNTU7Qz1D
Pj44O2FbRSsxfDBdPUMmMjU1O0M9Qz4+ODthW0UrMnwwXT1DJjI1NTtDPUM+Pjg7YVtFKzN8MF09
QyYyNTU7YlpbY1soY1tQPj4yXXwwKSszMj4+Ml0mMTI3XShGLFQpO0U9bDtpZigoYVtFXSYxKT09
MCl7YVtsKzF8MF09MDthW0VdPTB9ZWxzZXthW2NbbCs4Pj4yXXwwXT0wO2NbbCs0Pj4yXT0wfWQk
KGwsMCk7Y1tFPj4yXT1jW0c+PjJdO2NbRSs0Pj4yXT1jW0crND4+Ml07Y1tFKzg+PjJdPWNbRys4
Pj4yXTtrJChHfDAsMCwxMik7ZFAoRil9ZWxzZXtiWltjW1UrNDA+PjJdJjEyN10oSSxUKTtJPWY7
Qz1jW0g+PjJdfDA7YVtJXT1DJjI1NTtDPUM+Pjg7YVtJKzF8MF09QyYyNTU7Qz1DPj44O2FbSSsy
fDBdPUMmMjU1O0M9Qz4+ODthW0krM3wwXT1DJjI1NTtiWltjWyhjW1A+PjJdfDApKzI4Pj4yXSYx
MjddKEosVCk7ST1sO2lmKChhW0ldJjEpPT0wKXthW2wrMXwwXT0wO2FbSV09MH1lbHNle2FbY1ts
Kzg+PjJdfDBdPTA7Y1tsKzQ+PjJdPTB9ZCQobCwwKTtjW0k+PjJdPWNbSz4+Ml07Y1tJKzQ+PjJd
PWNbSys0Pj4yXTtjW0krOD4+Ml09Y1tLKzg+PjJdO2skKEt8MCwwLDEyKTtkUChKKX1KPVA7YVtn
XT1iMFtjWyhjW0o+PjJdfDApKzEyPj4yXSYxMjddKFQpfDA7YVtoXT1iMFtjWyhjW0o+PjJdfDAp
KzE2Pj4yXSYxMjddKFQpfDA7Sj1QO2JaW2NbKGNbSj4+Ml18MCkrMjA+PjJdJjEyN10oTCxUKTto
PWo7aWYoKGFbaF0mMSk9PTApe2FbaisxfDBdPTA7YVtoXT0wfWVsc2V7YVtjW2orOD4+Ml18MF09
MDtjW2orND4+Ml09MH1kJChqLDApO2NbaD4+Ml09Y1tNPj4yXTtjW2grND4+Ml09Y1tNKzQ+PjJd
O2NbaCs4Pj4yXT1jW00rOD4+Ml07ayQoTXwwLDAsMTIpO2RQKEwpO2JaW2NbKGNbSj4+Ml18MCkr
MjQ+PjJdJjEyN10oTixUKTtKPWs7aWYoKGFbSl0mMSk9PTApe2FbaysxfDBdPTA7YVtKXT0wfWVs
c2V7YVtjW2srOD4+Ml18MF09MDtjW2srND4+Ml09MH1kJChrLDApO2NbSj4+Ml09Y1tPPj4yXTtj
W0orND4+Ml09Y1tPKzQ+PjJdO2NbSis4Pj4yXT1jW08rOD4+Ml07ayQoT3wwLDAsMTIpO2RQKE4p
O1M9YjBbY1soY1tQPj4yXXwwKSszNj4+Ml0mMTI3XShUKXwwO2NbbT4+Ml09UztpPW47cmV0dXJu
fX1mdW5jdGlvbiBoNihkLGUsZixnLGgsaSxqLGssbCxtLG4sbyxwLHEscil7ZD1kfDA7ZT1lfDA7
Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7aj1qfDA7az1rfDA7bD1sfDA7bT1tfDA7bj1ufDA7bz1v
fDA7cD1wfDA7cT1xfDA7cj1yfDA7dmFyIHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAs
QT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxP
PTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0wLFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFh
PTAsYWI9MCxhYz0wLGFkPTAsYWU9MCxhZj0wLGFnPTAsYWg9MCxhaT0wLGFqPTAsYWs9MCxhbD0w
LGFtPTAsYW49MCxhbz0wLGFwPTAsYXE9MCxhcj0wLGFzPTAsYXQ9MCxhdT0wLGF2PTAsYXc9MCxh
eD0wLGF5PTA7Y1tmPj4yXT1kO3M9ajt0PXE7dT1xKzF8MDt2PXErOHwwO3c9cSs0fDA7cT1wO3g9
KGcmNTEyfDApPT0wO3k9cCsxfDA7ej1wKzR8MDtBPXArOHwwO3A9ais4fDA7Qj0ocnwwKT4wO0M9
bztEPW8rMXwwO0U9bys4fDA7Rj1vKzR8MDtvPS1yfDA7Rz1oO2g9MDt3aGlsZSgxKXtMMTU4MDpk
b3tzd2l0Y2goYVtsK2h8MF18MCl7Y2FzZSAwOntjW2U+PjJdPWNbZj4+Ml07SD1HO2JyZWFrfTtj
YXNlIDE6e2NbZT4+Ml09Y1tmPj4yXTtJPWJfW2NbKGNbcz4+Ml18MCkrMjg+PjJdJjMxXShqLDMy
KXwwO0o9Y1tmPj4yXXwwO2NbZj4+Ml09SisxO2FbSl09STtIPUc7YnJlYWt9O2Nhc2UgMzp7ST1h
W3RdfDA7Sj1JJjI1NTtpZigoSiYxfDApPT0wKXtLPUo+Pj4xfWVsc2V7Sz1jW3c+PjJdfDB9aWYo
KEt8MCk9PTApe0g9RzticmVhayBMMTU4MH1pZigoSSYxKT09MCl7TD11fWVsc2V7TD1jW3Y+PjJd
fDB9ST1hW0xdfDA7Sj1jW2Y+PjJdfDA7Y1tmPj4yXT1KKzE7YVtKXT1JO0g9RzticmVha307Y2Fz
ZSAyOntJPWFbcV18MDtKPUkmMjU1O009KEomMXwwKT09MDtpZihNKXtOPUo+Pj4xfWVsc2V7Tj1j
W3o+PjJdfDB9aWYoKE58MCk9PTB8eCl7SD1HO2JyZWFrIEwxNTgwfWlmKChJJjEpPT0wKXtPPXk7
UD15fWVsc2V7ST1jW0E+PjJdfDA7Tz1JO1A9SX1pZihNKXtRPUo+Pj4xfWVsc2V7UT1jW3o+PjJd
fDB9Sj1PK1F8MDtNPWNbZj4+Ml18MDtpZigoUHwwKT09KEp8MCkpe1I9TX1lbHNle0k9UDtTPU07
d2hpbGUoMSl7YVtTXT1hW0ldfDA7TT1JKzF8MDtUPVMrMXwwO2lmKChNfDApPT0oSnwwKSl7Uj1U
O2JyZWFrfWVsc2V7ST1NO1M9VH19fWNbZj4+Ml09UjtIPUc7YnJlYWt9O2Nhc2UgNDp7Uz1jW2Y+
PjJdfDA7ST1rP0crMXwwOkc7Sj1JO3doaWxlKDEpe2lmKEo+Pj4wPj1pPj4+MCl7YnJlYWt9VD1h
W0pdfDA7aWYoVDw8MjQ+PjI0PD0tMSl7YnJlYWt9aWYoKGJbKGNbcD4+Ml18MCkrKFQ8PDI0Pj4y
NDw8MSk+PjFdJjIwNDgpPT0wKXticmVha31lbHNle0o9SisxfDB9fVQ9SjtpZihCKXtpZihKPj4+
MD5JPj4+MCl7TT1JKygtVHwwKXwwO1Q9TT4+PjA8bz4+PjA/bzpNO009VCtyfDA7VT1KO1Y9cjtX
PVM7d2hpbGUoMSl7WD1VLTF8MDtZPWFbWF18MDtjW2Y+PjJdPVcrMTthW1ddPVk7WT1WLTF8MDta
PShZfDApPjA7aWYoIShYPj4+MD5JPj4+MCZaKSl7YnJlYWt9VT1YO1Y9WTtXPWNbZj4+Ml18MH1X
PUorVHwwO2lmKFope189TTskPVc7YWE9MTM1NH1lbHNle2FiPTA7YWM9TTthZD1XfX1lbHNle189
cjskPUo7YWE9MTM1NH1pZigoYWF8MCk9PTEzNTQpe2FhPTA7YWI9Yl9bY1soY1tzPj4yXXwwKSsy
OD4+Ml0mMzFdKGosNDgpfDA7YWM9XzthZD0kfVc9Y1tmPj4yXXwwO2NbZj4+Ml09VysxO2lmKChh
Y3wwKT4wKXtWPWFjO1U9Vzt3aGlsZSgxKXthW1VdPWFiO1k9Vi0xfDA7WD1jW2Y+PjJdfDA7Y1tm
Pj4yXT1YKzE7aWYoKFl8MCk+MCl7Vj1ZO1U9WH1lbHNle2FlPVg7YnJlYWt9fX1lbHNle2FlPVd9
YVthZV09bTthZj1hZH1lbHNle2FmPUp9aWYoKGFmfDApPT0oSXwwKSl7VT1iX1tjWyhjW3M+PjJd
fDApKzI4Pj4yXSYzMV0oaiw0OCl8MDtWPWNbZj4+Ml18MDtjW2Y+PjJdPVYrMTthW1ZdPVV9ZWxz
ZXtVPWFbQ118MDtWPVUmMjU1O2lmKChWJjF8MCk9PTApe2FnPVY+Pj4xfWVsc2V7YWc9Y1tGPj4y
XXwwfWlmKChhZ3wwKT09MCl7YWg9YWY7YWk9MDthaj0wO2FrPS0xfWVsc2V7aWYoKFUmMSk9PTAp
e2FsPUR9ZWxzZXthbD1jW0U+PjJdfDB9YWg9YWY7YWk9MDthaj0wO2FrPWFbYWxdfDB9d2hpbGUo
MSl7ZG97aWYoKGFpfDApPT0oYWt8MCkpe1U9Y1tmPj4yXXwwO2NbZj4+Ml09VSsxO2FbVV09bjtV
PWFqKzF8MDtWPWFbQ118MDtNPVYmMjU1O2lmKChNJjF8MCk9PTApe2FtPU0+Pj4xfWVsc2V7YW09
Y1tGPj4yXXwwfWlmKFU+Pj4wPj1hbT4+PjApe2FuPWFrO2FvPVU7YXA9MDticmVha31NPShWJjEp
PT0wO2lmKE0pe2FxPUR9ZWxzZXthcT1jW0U+PjJdfDB9aWYoKGFbYXErVXwwXXwwKT09MTI3KXth
bj0tMTthbz1VO2FwPTA7YnJlYWt9aWYoTSl7YXI9RH1lbHNle2FyPWNbRT4+Ml18MH1hbj1hW2Fy
K1V8MF18MDthbz1VO2FwPTB9ZWxzZXthbj1hazthbz1hajthcD1haX19d2hpbGUoMCk7VT1haC0x
fDA7TT1hW1VdfDA7Vj1jW2Y+PjJdfDA7Y1tmPj4yXT1WKzE7YVtWXT1NO2lmKChVfDApPT0oSXww
KSl7YnJlYWt9ZWxzZXthaD1VO2FpPWFwKzF8MDthaj1hbzthaz1hbn19fUo9Y1tmPj4yXXwwO2lm
KChTfDApPT0oSnwwKSl7SD1JO2JyZWFrIEwxNTgwfVc9Si0xfDA7aWYoUz4+PjA8Vz4+PjApe2Fz
PVM7YXQ9V31lbHNle0g9STticmVhayBMMTU4MH13aGlsZSgxKXtXPWFbYXNdfDA7YVthc109YVth
dF18MDthW2F0XT1XO1c9YXMrMXwwO0o9YXQtMXwwO2lmKFc+Pj4wPEo+Pj4wKXthcz1XO2F0PUp9
ZWxzZXtIPUk7YnJlYWt9fWJyZWFrfTtkZWZhdWx0OntIPUd9fX13aGlsZSgwKTtJPWgrMXwwO2lm
KEk+Pj4wPDQpe0c9SDtoPUl9ZWxzZXticmVha319aD1hW3RdfDA7dD1oJjI1NTtIPSh0JjF8MCk9
PTA7aWYoSCl7YXU9dD4+PjF9ZWxzZXthdT1jW3c+PjJdfDB9aWYoYXU+Pj4wPjEpe2lmKChoJjEp
PT0wKXthdj11O2F3PXV9ZWxzZXt1PWNbdj4+Ml18MDthdj11O2F3PXV9aWYoSCl7YXg9dD4+PjF9
ZWxzZXtheD1jW3c+PjJdfDB9dz1hditheHwwO2F4PWNbZj4+Ml18MDthdj1hdysxfDA7aWYoKGF2
fDApPT0od3wwKSl7YXk9YXh9ZWxzZXthdz1heDtheD1hdjt3aGlsZSgxKXthW2F3XT1hW2F4XXww
O2F2PWF3KzF8MDt0PWF4KzF8MDtpZigodHwwKT09KHd8MCkpe2F5PWF2O2JyZWFrfWVsc2V7YXc9
YXY7YXg9dH19fWNbZj4+Ml09YXl9c3dpdGNoKGcmMTc2fDApe2Nhc2UgMTY6e3JldHVybn07Y2Fz
ZSAzMjp7Y1tlPj4yXT1jW2Y+PjJdO3JldHVybn07ZGVmYXVsdDp7Y1tlPj4yXT1kO3JldHVybn19
fWZ1bmN0aW9uIGg3KGEpe2E9YXwwO2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGg4KGEp
e2E9YXwwO2RlKGF8MCk7cmV0dXJufWZ1bmN0aW9uIGg5KGIsZSxmLGcsaCxqLGspe2I9YnwwO2U9
ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0wLG49MCxvPTAscD0w
LHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAs
RT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxT
PTAsVD0wLFU9MCxWPTAsVz0wLFg9MCxZPTAsWj0wLF89MCwkPTAsYWE9MCxhYj0wLGFjPTA7ZT1p
O2k9aSs2NHwwO2w9ZjtmPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2Y+PjJdPWNbbD4+Ml07bD1l
fDA7bT1lKzE2fDA7bj1lKzI0fDA7bz1lKzMyfDA7cD1lKzQwfDA7cT1lKzQ4fDA7cj1xO3M9aTtp
PWkrMTJ8MDtpPWkrNz4+Mzw8Mzt0PXM7dT1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3Y9dTt3PWk7
aT1pKzR8MDtpPWkrNz4+Mzw8Mzt4PWk7aT1pKzEwMHwwO2k9aSs3Pj4zPDwzO3k9aTtpPWkrNHww
O2k9aSs3Pj4zPDwzO3o9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO0E9aTtpPWkrNHwwO2k9aSs3Pj4z
PDwzO2VqKG0saCk7Qj1tfDA7Qz1jW0I+PjJdfDA7aWYoKGNbMzkyNF18MCkhPS0xKXtjW2w+PjJd
PTE1Njk2O2NbbCs0Pj4yXT0xMjtjW2wrOD4+Ml09MDtkVygxNTY5NixsLDk2KX1sPShjWzM5MjVd
fDApLTF8MDtEPWNbQys4Pj4yXXwwO2Rve2lmKChjW0MrMTI+PjJdfDApLUQ+PjI+Pj4wPmw+Pj4w
KXtFPWNbRCsobDw8Mik+PjJdfDA7aWYoKEV8MCk9PTApe2JyZWFrfUY9RTtHPWs7SD1rO0k9YVtI
XXwwO0o9SSYyNTU7aWYoKEomMXwwKT09MCl7Sz1KPj4+MX1lbHNle0s9Y1trKzQ+PjJdfDB9aWYo
KEt8MCk9PTApe0w9MH1lbHNle2lmKChJJjEpPT0wKXtNPUcrMXwwfWVsc2V7TT1jW2srOD4+Ml18
MH1JPWFbTV18MDtMPUk8PDI0Pj4yND09KGJfW2NbKGNbRT4+Ml18MCkrMjg+PjJdJjMxXShGLDQ1
KXwwKTw8MjQ+PjI0fWskKHJ8MCwwLDEyKTtrJCh0fDAsMCwxMik7ayQodnwwLDAsMTIpO2g1KGcs
TCxtLG4sbyxwLHEscyx1LHcpO0U9eHwwO0k9YVtIXXwwO0o9SSYyNTU7Tj0oSiYxfDApPT0wO2lm
KE4pe089Sj4+PjF9ZWxzZXtPPWNbays0Pj4yXXwwfVA9Y1t3Pj4yXXwwO2lmKChPfDApPihQfDAp
KXtpZihOKXtRPUo+Pj4xfWVsc2V7UT1jW2srND4+Ml18MH1KPWRbdl18MDtpZigoSiYxfDApPT0w
KXtSPUo+Pj4xfWVsc2V7Uj1jW3UrND4+Ml18MH1KPWRbdF18MDtpZigoSiYxfDApPT0wKXtTPUo+
Pj4xfWVsc2V7Uz1jW3MrND4+Ml18MH1UPShRLVA8PDF8MSkrUitTfDB9ZWxzZXtKPWRbdl18MDtp
ZigoSiYxfDApPT0wKXtVPUo+Pj4xfWVsc2V7VT1jW3UrND4+Ml18MH1KPWRbdF18MDtpZigoSiYx
fDApPT0wKXtWPUo+Pj4xfWVsc2V7Vj1jW3MrND4+Ml18MH1UPVUrMitWfDB9Sj1UK1B8MDtkb3tp
ZihKPj4+MD4xMDApe049a0ooSil8MDtpZigoTnwwKSE9MCl7Vz1OO1g9TjtZPUk7YnJlYWt9a1go
KTtXPTA7WD0wO1k9YVtIXXwwfWVsc2V7Vz1FO1g9MDtZPUl9fXdoaWxlKDApO2lmKChZJjEpPT0w
KXtaPUcrMXwwO189RysxfDB9ZWxzZXtJPWNbays4Pj4yXXwwO1o9STtfPUl9ST1ZJjI1NTtpZigo
SSYxfDApPT0wKXskPUk+Pj4xfWVsc2V7JD1jW2srND4+Ml18MH1oNihXLHkseixjW2grND4+Ml18
MCxfLForJHwwLEYsTCxuLGFbb118MCxhW3BdfDAscSxzLHUsUCk7Y1tBPj4yXT1jW2Y+PjJdO2Y5
KGIsQSxXLGNbeT4+Ml18MCxjW3o+PjJdfDAsaCxqKTtpZigoWHwwKT09MCl7ZFAodSk7ZFAocyk7
ZFAocSk7YWE9Y1tCPj4yXXwwO2FiPWFhfDA7YWM9ZHooYWIpfDA7aT1lO3JldHVybn1rSyhYKTtk
UCh1KTtkUChzKTtkUChxKTthYT1jW0I+PjJdfDA7YWI9YWF8MDthYz1keihhYil8MDtpPWU7cmV0
dXJufX13aGlsZSgwKTtlPWJPKDQpfDA7a3EoZSk7YmwoZXwwLDgxNzYsMTM0KX1mdW5jdGlvbiBp
YShiLGUsZixnLGosayxsKXtiPWJ8MDtlPWV8MDtmPWZ8MDtnPWd8MDtqPWp8MDtrPWt8MDtsPSts
O3ZhciBtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAs
ej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxO
PTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9MCxXPTAsWD0wO2U9aTtpPWkrNTc2fDA7
bT1mO2Y9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2NbZj4+Ml09Y1ttPj4yXTttPWV8MDtuPWUrMTIw
fDA7bz1lKzUyOHwwO3A9ZSs1MzZ8MDtxPWUrNTQ0fDA7cj1lKzU1MnwwO3M9ZSs1NjB8MDt0PXM7
dT1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3Y9dTt3PWk7aT1pKzEyfDA7aT1pKzc+PjM8PDM7eD13
O3k9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3o9aTtpPWkrNDAwfDA7QT1pO2k9aSs0fDA7aT1pKzc+
PjM8PDM7Qj1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7Qz1pO2k9aSs0fDA7aT1pKzc+PjM8PDM7RD1l
KzE2fDA7Y1tuPj4yXT1EO0U9ZSsxMjh8MDtGPWFaKER8MCwxMDAsMTM2MCwoRD1pLGk9aSs4fDAs
aFtEPj4zXT1sLEQpfDApfDA7aT1EO2Rve2lmKEY+Pj4wPjk5KXtkb3tpZigoYVsxNjI2NF18MCk9
PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFrfWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdo
aWxlKDApO0c9Z2gobixjWzI5NThdfDAsMTM2MCwoRD1pLGk9aSs4fDAsaFtEPj4zXT1sLEQpfDAp
fDA7aT1EO0g9Y1tuPj4yXXwwO2lmKChIfDApPT0wKXtrWCgpO0k9Y1tuPj4yXXwwfWVsc2V7ST1I
fUg9a0ooRzw8Mil8MDtKPUg7aWYoKEh8MCkhPTApe0s9SjtMPUc7TT1JO049SjticmVha31rWCgp
O0s9SjtMPUc7TT1JO049Sn1lbHNle0s9RTtMPUY7TT0wO049MH19d2hpbGUoMCk7ZWoobyxqKTtG
PW98MDtFPWNbRj4+Ml18MDtpZigoY1szOTIyXXwwKSE9LTEpe2NbbT4+Ml09MTU2ODg7Y1ttKzQ+
PjJdPTEyO2NbbSs4Pj4yXT0wO2RXKDE1Njg4LG0sOTYpfW09KGNbMzkyM118MCktMXwwO0k9Y1tF
Kzg+PjJdfDA7ZG97aWYoKGNbRSsxMj4+Ml18MCktST4+Mj4+PjA+bT4+PjApe0Q9Y1tJKyhtPDwy
KT4+Ml18MDtpZigoRHwwKT09MCl7YnJlYWt9Sj1EO0c9Y1tuPj4yXXwwO0g9RytMfDA7Tz1jWyhj
W0Q+PjJdfDApKzQ4Pj4yXXwwO2NhW08mMTVdKEosRyxILEspfDA7aWYoKEx8MCk9PTApe1A9MH1l
bHNle1A9KGFbY1tuPj4yXXwwXXwwKT09NDV9ayQodHwwLDAsMTIpO2skKHZ8MCwwLDEyKTtrJCh4
fDAsMCwxMik7aWIoZyxQLG8scCxxLHIscyx1LHcseSk7SD16fDA7Rz1jW3k+PjJdfDA7aWYoKEx8
MCk+KEd8MCkpe089ZFt4XXwwO2lmKChPJjF8MCk9PTApe1E9Tz4+PjF9ZWxzZXtRPWNbdys0Pj4y
XXwwfU89ZFt2XXwwO2lmKChPJjF8MCk9PTApe1I9Tz4+PjF9ZWxzZXtSPWNbdSs0Pj4yXXwwfVM9
KEwtRzw8MXwxKStRK1J8MH1lbHNle089ZFt4XXwwO2lmKChPJjF8MCk9PTApe1Q9Tz4+PjF9ZWxz
ZXtUPWNbdys0Pj4yXXwwfU89ZFt2XXwwO2lmKChPJjF8MCk9PTApe1U9Tz4+PjF9ZWxzZXtVPWNb
dSs0Pj4yXXwwfVM9VCsyK1V8MH1PPVMrR3wwO2Rve2lmKE8+Pj4wPjEwMCl7RD1rSihPPDwyKXww
O1Y9RDtpZigoRHwwKSE9MCl7Vz1WO1g9VjticmVha31rWCgpO1c9VjtYPVZ9ZWxzZXtXPUg7WD0w
fX13aGlsZSgwKTtpYyhXLEEsQixjW2orND4+Ml18MCxLLEsrKEw8PDIpfDAsSixQLHAsY1txPj4y
XXwwLGNbcj4+Ml18MCxzLHUsdyxHKTtjW0M+PjJdPWNbZj4+Ml07Z3EoYixDLFcsY1tBPj4yXXww
LGNbQj4+Ml18MCxqLGspO2lmKChYfDApIT0wKXtrSyhYKX1lZSh3KTtlZSh1KTtkUChzKTtIPWNb
Rj4+Ml18MDtkeihIKXwwO2lmKChOfDApIT0wKXtrSyhOKX1pZigoTXwwKT09MCl7aT1lO3JldHVy
bn1rSyhNKTtpPWU7cmV0dXJufX13aGlsZSgwKTtlPWJPKDQpfDA7a3EoZSk7YmwoZXwwLDgxNzYs
MTM0KX1mdW5jdGlvbiBpYihiLGQsZSxmLGcsaCxqLGssbCxtKXtiPWJ8MDtkPWR8MDtlPWV8MDtm
PWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDtsPWx8MDttPW18MDt2YXIgbj0wLG89MCxwPTAs
cT0wLHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsRD0wLEU9MCxG
PTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9
MCxVPTA7bj1pO2k9aSs0MHwwO289bnwwO3A9bisxNnwwO3E9biszMnwwO3I9cTtzPWk7aT1pKzEy
fDA7aT1pKzc+PjM8PDM7dD1zO3U9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3Y9dTt3PWk7aT1pKzEy
fDA7aT1pKzc+PjM8PDM7eD13O3k9aTtpPWkrMTJ8MDtpPWkrNz4+Mzw8Mzt6PXk7QT1pO2k9aSsx
MnwwO2k9aSs3Pj4zPDwzO0I9QTtEPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztFPUQ7Rj1pO2k9aSsx
MnwwO2k9aSs3Pj4zPDwzO0c9RjtIPWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztJPUg7Sj1pO2k9aSsx
MnwwO2k9aSs3Pj4zPDwzO0s9SjtMPWk7aT1pKzEyfDA7aT1pKzc+PjM8PDM7TT1MO049aTtpPWkr
MTJ8MDtpPWkrNz4+Mzw8MztPPU47UD1jW2U+PjJdfDA7aWYoYil7aWYoKGNbNDA0MF18MCkhPS0x
KXtjW3A+PjJdPTE2MTYwO2NbcCs0Pj4yXT0xMjtjW3ArOD4+Ml09MDtkVygxNjE2MCxwLDk2KX1w
PShjWzQwNDFdfDApLTF8MDtiPWNbUCs4Pj4yXXwwO2lmKChjW1ArMTI+PjJdfDApLWI+PjI+Pj4w
PD1wPj4+MCl7UT1iTyg0KXwwO1I9UTtrcShSKTtibChRfDAsODE3NiwxMzQpfWU9Y1tiKyhwPDwy
KT4+Ml18MDtpZigoZXwwKT09MCl7UT1iTyg0KXwwO1I9UTtrcShSKTtibChRfDAsODE3NiwxMzQp
fVE9ZTtSPWNbZT4+Ml18MDtpZihkKXtiWltjW1IrNDQ+PjJdJjEyN10ocixRKTtyPWY7Qz1jW3E+
PjJdfDA7YVtyXT1DJjI1NTtDPUM+Pjg7YVtyKzF8MF09QyYyNTU7Qz1DPj44O2FbcisyfDBdPUMm
MjU1O0M9Qz4+ODthW3IrM3wwXT1DJjI1NTtiWltjWyhjW2U+PjJdfDApKzMyPj4yXSYxMjddKHMs
USk7cj1sO2lmKChhW3JdJjEpPT0wKXtjW2wrND4+Ml09MDthW3JdPTB9ZWxzZXtjW2NbbCs4Pj4y
XT4+Ml09MDtjW2wrND4+Ml09MH1leihsLDApO2Nbcj4+Ml09Y1t0Pj4yXTtjW3IrND4+Ml09Y1t0
KzQ+PjJdO2Nbcis4Pj4yXT1jW3QrOD4+Ml07ayQodHwwLDAsMTIpO2VlKHMpfWVsc2V7YlpbY1tS
KzQwPj4yXSYxMjddKHYsUSk7dj1mO0M9Y1t1Pj4yXXwwO2Fbdl09QyYyNTU7Qz1DPj44O2Fbdisx
fDBdPUMmMjU1O0M9Qz4+ODthW3YrMnwwXT1DJjI1NTtDPUM+Pjg7YVt2KzN8MF09QyYyNTU7Ylpb
Y1soY1tlPj4yXXwwKSsyOD4+Ml0mMTI3XSh3LFEpO3Y9bDtpZigoYVt2XSYxKT09MCl7Y1tsKzQ+
PjJdPTA7YVt2XT0wfWVsc2V7Y1tjW2wrOD4+Ml0+PjJdPTA7Y1tsKzQ+PjJdPTB9ZXoobCwwKTtj
W3Y+PjJdPWNbeD4+Ml07Y1t2KzQ+PjJdPWNbeCs0Pj4yXTtjW3YrOD4+Ml09Y1t4Kzg+PjJdO2sk
KHh8MCwwLDEyKTtlZSh3KX13PWU7Y1tnPj4yXT1iMFtjWyhjW3c+PjJdfDApKzEyPj4yXSYxMjdd
KFEpfDA7Y1toPj4yXT1iMFtjWyhjW3c+PjJdfDApKzE2Pj4yXSYxMjddKFEpfDA7YlpbY1soY1tl
Pj4yXXwwKSsyMD4+Ml0mMTI3XSh5LFEpO3g9ajtpZigoYVt4XSYxKT09MCl7YVtqKzF8MF09MDth
W3hdPTB9ZWxzZXthW2Nbais4Pj4yXXwwXT0wO2Nbais0Pj4yXT0wfWQkKGosMCk7Y1t4Pj4yXT1j
W3o+PjJdO2NbeCs0Pj4yXT1jW3orND4+Ml07Y1t4Kzg+PjJdPWNbeis4Pj4yXTtrJCh6fDAsMCwx
Mik7ZFAoeSk7YlpbY1soY1tlPj4yXXwwKSsyND4+Ml0mMTI3XShBLFEpO2U9aztpZigoYVtlXSYx
KT09MCl7Y1trKzQ+PjJdPTA7YVtlXT0wfWVsc2V7Y1tjW2srOD4+Ml0+PjJdPTA7Y1trKzQ+PjJd
PTB9ZXooaywwKTtjW2U+PjJdPWNbQj4+Ml07Y1tlKzQ+PjJdPWNbQis0Pj4yXTtjW2UrOD4+Ml09
Y1tCKzg+PjJdO2skKEJ8MCwwLDEyKTtlZShBKTtTPWIwW2NbKGNbdz4+Ml18MCkrMzY+PjJdJjEy
N10oUSl8MDtjW20+PjJdPVM7aT1uO3JldHVybn1lbHNle2lmKChjWzQwNDJdfDApIT0tMSl7Y1tv
Pj4yXT0xNjE2ODtjW28rND4+Ml09MTI7Y1tvKzg+PjJdPTA7ZFcoMTYxNjgsbyw5Nil9bz0oY1s0
MDQzXXwwKS0xfDA7UT1jW1ArOD4+Ml18MDtpZigoY1tQKzEyPj4yXXwwKS1RPj4yPj4+MDw9bz4+
PjApe1Q9Yk8oNCl8MDtVPVQ7a3EoVSk7YmwoVHwwLDgxNzYsMTM0KX1QPWNbUSsobzw8Mik+PjJd
fDA7aWYoKFB8MCk9PTApe1Q9Yk8oNCl8MDtVPVQ7a3EoVSk7YmwoVHwwLDgxNzYsMTM0KX1UPVA7
VT1jW1A+PjJdfDA7aWYoZCl7YlpbY1tVKzQ0Pj4yXSYxMjddKEUsVCk7RT1mO0M9Y1tEPj4yXXww
O2FbRV09QyYyNTU7Qz1DPj44O2FbRSsxfDBdPUMmMjU1O0M9Qz4+ODthW0UrMnwwXT1DJjI1NTtD
PUM+Pjg7YVtFKzN8MF09QyYyNTU7YlpbY1soY1tQPj4yXXwwKSszMj4+Ml0mMTI3XShGLFQpO0U9
bDtpZigoYVtFXSYxKT09MCl7Y1tsKzQ+PjJdPTA7YVtFXT0wfWVsc2V7Y1tjW2wrOD4+Ml0+PjJd
PTA7Y1tsKzQ+PjJdPTB9ZXoobCwwKTtjW0U+PjJdPWNbRz4+Ml07Y1tFKzQ+PjJdPWNbRys0Pj4y
XTtjW0UrOD4+Ml09Y1tHKzg+PjJdO2skKEd8MCwwLDEyKTtlZShGKX1lbHNle2JaW2NbVSs0MD4+
Ml0mMTI3XShJLFQpO0k9ZjtDPWNbSD4+Ml18MDthW0ldPUMmMjU1O0M9Qz4+ODthW0krMXwwXT1D
JjI1NTtDPUM+Pjg7YVtJKzJ8MF09QyYyNTU7Qz1DPj44O2FbSSszfDBdPUMmMjU1O2JaW2NbKGNb
UD4+Ml18MCkrMjg+PjJdJjEyN10oSixUKTtJPWw7aWYoKGFbSV0mMSk9PTApe2NbbCs0Pj4yXT0w
O2FbSV09MH1lbHNle2NbY1tsKzg+PjJdPj4yXT0wO2NbbCs0Pj4yXT0wfWV6KGwsMCk7Y1tJPj4y
XT1jW0s+PjJdO2NbSSs0Pj4yXT1jW0srND4+Ml07Y1tJKzg+PjJdPWNbSys4Pj4yXTtrJChLfDAs
MCwxMik7ZWUoSil9Sj1QO2NbZz4+Ml09YjBbY1soY1tKPj4yXXwwKSsxMj4+Ml0mMTI3XShUKXww
O2NbaD4+Ml09YjBbY1soY1tKPj4yXXwwKSsxNj4+Ml0mMTI3XShUKXwwO2JaW2NbKGNbUD4+Ml18
MCkrMjA+PjJdJjEyN10oTCxUKTtoPWo7aWYoKGFbaF0mMSk9PTApe2FbaisxfDBdPTA7YVtoXT0w
fWVsc2V7YVtjW2orOD4+Ml18MF09MDtjW2orND4+Ml09MH1kJChqLDApO2NbaD4+Ml09Y1tNPj4y
XTtjW2grND4+Ml09Y1tNKzQ+PjJdO2NbaCs4Pj4yXT1jW00rOD4+Ml07ayQoTXwwLDAsMTIpO2RQ
KEwpO2JaW2NbKGNbUD4+Ml18MCkrMjQ+PjJdJjEyN10oTixUKTtQPWs7aWYoKGFbUF0mMSk9PTAp
e2Nbays0Pj4yXT0wO2FbUF09MH1lbHNle2NbY1trKzg+PjJdPj4yXT0wO2Nbays0Pj4yXT0wfWV6
KGssMCk7Y1tQPj4yXT1jW08+PjJdO2NbUCs0Pj4yXT1jW08rND4+Ml07Y1tQKzg+PjJdPWNbTys4
Pj4yXTtrJChPfDAsMCwxMik7ZWUoTik7Uz1iMFtjWyhjW0o+PjJdfDApKzM2Pj4yXSYxMjddKFQp
fDA7Y1ttPj4yXT1TO2k9bjtyZXR1cm59fWZ1bmN0aW9uIGljKGIsZCxlLGYsZyxoLGksaixrLGws
bSxuLG8scCxxKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtpPWl8MDtqPWp8
MDtrPWt8MDtsPWx8MDttPW18MDtuPW58MDtvPW98MDtwPXB8MDtxPXF8MDt2YXIgcj0wLHM9MCx0
PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9
MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MCxPPTAsUD0wLFE9MCxSPTAsUz0wLFQ9MCxVPTAsVj0w
LFc9MCxYPTAsWT0wLFo9MCxfPTAsJD0wLGFhPTAsYWI9MCxhYz0wLGFkPTAsYWU9MCxhZj0wLGFn
PTAsYWg9MCxhaT0wLGFqPTAsYWs9MCxhbD0wLGFtPTAsYW49MCxhbz0wLGFwPTAsYXE9MCxhcj0w
LGFzPTAsYXQ9MCxhdT0wLGF2PTAsYXc9MDtjW2U+PjJdPWI7cj1pO3M9cDt0PXArNHwwO3U9cCs4
fDA7cD1vO3Y9KGYmNTEyfDApPT0wO3c9bys0fDA7eD1vKzh8MDtvPWk7eT0ocXwwKT4wO3o9bjtB
PW4rMXwwO0I9bis4fDA7Qz1uKzR8MDtuPWc7Zz0wO3doaWxlKDEpe0wxOTAxOmRve3N3aXRjaChh
W2srZ3wwXXwwKXtjYXNlIDA6e2NbZD4+Ml09Y1tlPj4yXTtEPW47YnJlYWt9O2Nhc2UgMTp7Y1tk
Pj4yXT1jW2U+PjJdO0U9Yl9bY1soY1tyPj4yXXwwKSs0ND4+Ml0mMzFdKGksMzIpfDA7Rj1jW2U+
PjJdfDA7Y1tlPj4yXT1GKzQ7Y1tGPj4yXT1FO0Q9bjticmVha307Y2FzZSAzOntFPWFbc118MDtG
PUUmMjU1O2lmKChGJjF8MCk9PTApe0c9Rj4+PjF9ZWxzZXtHPWNbdD4+Ml18MH1pZigoR3wwKT09
MCl7RD1uO2JyZWFrIEwxOTAxfWlmKChFJjEpPT0wKXtIPXR9ZWxzZXtIPWNbdT4+Ml18MH1FPWNb
SD4+Ml18MDtGPWNbZT4+Ml18MDtjW2U+PjJdPUYrNDtjW0Y+PjJdPUU7RD1uO2JyZWFrfTtjYXNl
IDI6e0U9YVtwXXwwO0Y9RSYyNTU7ST0oRiYxfDApPT0wO2lmKEkpe0o9Rj4+PjF9ZWxzZXtKPWNb
dz4+Ml18MH1pZigoSnwwKT09MHx2KXtEPW47YnJlYWsgTDE5MDF9aWYoKEUmMSk9PTApe0s9dztM
PXc7TT13fWVsc2V7RT1jW3g+PjJdfDA7Sz1FO0w9RTtNPUV9aWYoSSl7Tj1GPj4+MX1lbHNle049
Y1t3Pj4yXXwwfUY9SysoTjw8Mil8MDtJPWNbZT4+Ml18MDtpZigoTHwwKT09KEZ8MCkpe089SX1l
bHNle0U9KEsrKE4tMTw8MikrKC1NfDApfDApPj4+MjtQPUw7UT1JO3doaWxlKDEpe2NbUT4+Ml09
Y1tQPj4yXTtSPVArNHwwO2lmKChSfDApPT0oRnwwKSl7YnJlYWt9UD1SO1E9USs0fDB9Tz1JKyhF
KzE8PDIpfDB9Y1tlPj4yXT1PO0Q9bjticmVha307Y2FzZSA0OntRPWNbZT4+Ml18MDtQPWo/bis0
fDA6bjtGPVA7d2hpbGUoMSl7aWYoRj4+PjA+PWg+Pj4wKXticmVha31pZihiMVtjWyhjW28+PjJd
fDApKzEyPj4yXSY2M10oaSwyMDQ4LGNbRj4+Ml18MCl8MCl7Rj1GKzR8MH1lbHNle2JyZWFrfX1p
Zih5KXtpZihGPj4+MD5QPj4+MCl7RT1GO0k9cTtkb3tFPUUtNHwwO1I9Y1tFPj4yXXwwO1M9Y1tl
Pj4yXXwwO2NbZT4+Ml09Uys0O2NbUz4+Ml09UjtJPUktMXwwO1Q9KEl8MCk+MDt9d2hpbGUoRT4+
PjA+UD4+PjAmVCk7aWYoVCl7VT1JO1Y9RTtXPTE2MzB9ZWxzZXtYPTA7WT1JO1o9RX19ZWxzZXtV
PXE7Vj1GO1c9MTYzMH1pZigoV3wwKT09MTYzMCl7Vz0wO1g9Yl9bY1soY1tyPj4yXXwwKSs0ND4+
Ml0mMzFdKGksNDgpfDA7WT1VO1o9Vn1SPWNbZT4+Ml18MDtjW2U+PjJdPVIrNDtpZigoWXwwKT4w
KXtTPVk7Xz1SO3doaWxlKDEpe2NbXz4+Ml09WDskPVMtMXwwO2FhPWNbZT4+Ml18MDtjW2U+PjJd
PWFhKzQ7aWYoKCR8MCk+MCl7Uz0kO189YWF9ZWxzZXthYj1hYTticmVha319fWVsc2V7YWI9Un1j
W2FiPj4yXT1sO2FjPVp9ZWxzZXthYz1GfWlmKChhY3wwKT09KFB8MCkpe189Yl9bY1soY1tyPj4y
XXwwKSs0ND4+Ml0mMzFdKGksNDgpfDA7Uz1jW2U+PjJdfDA7Y1tlPj4yXT1TKzQ7Y1tTPj4yXT1f
fWVsc2V7Xz1hW3pdfDA7Uz1fJjI1NTtpZigoUyYxfDApPT0wKXthZD1TPj4+MX1lbHNle2FkPWNb
Qz4+Ml18MH1pZigoYWR8MCk9PTApe2FlPWFjO2FmPTA7YWc9MDthaD0tMX1lbHNle2lmKChfJjEp
PT0wKXthaT1BfWVsc2V7YWk9Y1tCPj4yXXwwfWFlPWFjO2FmPTA7YWc9MDthaD1hW2FpXXwwfXdo
aWxlKDEpe2Rve2lmKChhZnwwKT09KGFofDApKXtfPWNbZT4+Ml18MDtjW2U+PjJdPV8rNDtjW18+
PjJdPW07Xz1hZysxfDA7Uz1hW3pdfDA7RT1TJjI1NTtpZigoRSYxfDApPT0wKXthaj1FPj4+MX1l
bHNle2FqPWNbQz4+Ml18MH1pZihfPj4+MD49YWo+Pj4wKXthaz1haDthbD1fO2FtPTA7YnJlYWt9
RT0oUyYxKT09MDtpZihFKXthbj1BfWVsc2V7YW49Y1tCPj4yXXwwfWlmKChhW2FuK198MF18MCk9
PTEyNyl7YWs9LTE7YWw9XzthbT0wO2JyZWFrfWlmKEUpe2FvPUF9ZWxzZXthbz1jW0I+PjJdfDB9
YWs9YVthbytffDBdfDA7YWw9XzthbT0wfWVsc2V7YWs9YWg7YWw9YWc7YW09YWZ9fXdoaWxlKDAp
O189YWUtNHwwO0U9Y1tfPj4yXXwwO1M9Y1tlPj4yXXwwO2NbZT4+Ml09Uys0O2NbUz4+Ml09RTtp
ZigoX3wwKT09KFB8MCkpe2JyZWFrfWVsc2V7YWU9XzthZj1hbSsxfDA7YWc9YWw7YWg9YWt9fX1G
PWNbZT4+Ml18MDtpZigoUXwwKT09KEZ8MCkpe0Q9UDticmVhayBMMTkwMX1SPUYtNHwwO2lmKFE+
Pj4wPFI+Pj4wKXthcD1RO2FxPVJ9ZWxzZXtEPVA7YnJlYWsgTDE5MDF9d2hpbGUoMSl7Uj1jW2Fw
Pj4yXXwwO2NbYXA+PjJdPWNbYXE+PjJdO2NbYXE+PjJdPVI7Uj1hcCs0fDA7Rj1hcS00fDA7aWYo
Uj4+PjA8Rj4+PjApe2FwPVI7YXE9Rn1lbHNle0Q9UDticmVha319YnJlYWt9O2RlZmF1bHQ6e0Q9
bn19fXdoaWxlKDApO1A9ZysxfDA7aWYoUD4+PjA8NCl7bj1EO2c9UH1lbHNle2JyZWFrfX1nPWFb
c118MDtzPWcmMjU1O0Q9KHMmMXwwKT09MDtpZihEKXthcj1zPj4+MX1lbHNle2FyPWNbdD4+Ml18
MH1pZihhcj4+PjA+MSl7aWYoKGcmMSk9PTApe2FzPXQ7YXQ9dDthdT10fWVsc2V7Zz1jW3U+PjJd
fDA7YXM9ZzthdD1nO2F1PWd9aWYoRCl7YXY9cz4+PjF9ZWxzZXthdj1jW3Q+PjJdfDB9dD1hcyso
YXY8PDIpfDA7cz1jW2U+PjJdfDA7RD1hdCs0fDA7aWYoKER8MCk9PSh0fDApKXthdz1zfWVsc2V7
YXQ9KChhcysoYXYtMjw8MikrKC1hdXwwKXwwKT4+PjIpKzF8MDthdT1zO2F2PUQ7d2hpbGUoMSl7
Y1thdT4+Ml09Y1thdj4+Ml07RD1hdis0fDA7aWYoKER8MCk9PSh0fDApKXticmVha31lbHNle2F1
PWF1KzR8MDthdj1EfX1hdz1zKyhhdDw8Mil8MH1jW2U+PjJdPWF3fXN3aXRjaChmJjE3NnwwKXtj
YXNlIDMyOntjW2Q+PjJdPWNbZT4+Ml07cmV0dXJufTtjYXNlIDE2OntyZXR1cm59O2RlZmF1bHQ6
e2NbZD4+Ml09YjtyZXR1cm59fX1mdW5jdGlvbiBpZChhKXthPWF8MDtkZShhfDApO2tTKGEpO3Jl
dHVybn1mdW5jdGlvbiBpZShhKXthPWF8MDtkZShhfDApO3JldHVybn1mdW5jdGlvbiBpZyhiLGQs
ZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFyIGY9MDtpZigoYVtkXSYxKT09MCl7Zj1kKzF8MH1lbHNl
e2Y9Y1tkKzg+PjJdfDB9ZD1hOChmfDAsMjAwKXwwO3JldHVybiBkPj4+KCgoZHwwKSE9LTF8MCk+
Pj4wKXwwfWZ1bmN0aW9uIGloKGIsZSxmLGcsaCxqLGspe2I9YnwwO2U9ZXwwO2Y9ZnwwO2c9Z3ww
O2g9aHwwO2o9anwwO2s9a3wwO3ZhciBsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAscz0wLHQ9
MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxHPTAsSD0w
LEk9MCxKPTAsSz0wLEw9MCxNPTAsTj0wLE89MCxQPTAsUT0wLFI9MCxTPTAsVD0wLFU9MCxWPTAs
Vz0wLFg9MCxZPTAsWj0wLF89MCwkPTAsYWE9MCxhYj0wLGFjPTA7ZT1pO2k9aSs2NHwwO2w9Zjtm
PWk7aT1pKzR8MDtpPWkrNz4+Mzw8MztjW2Y+PjJdPWNbbD4+Ml07bD1lfDA7bT1lKzE2fDA7bj1l
KzI0fDA7bz1lKzMyfDA7cD1lKzQwfDA7cT1lKzQ4fDA7cj1xO3M9aTtpPWkrMTJ8MDtpPWkrNz4+
Mzw8Mzt0PXM7dT1pO2k9aSsxMnwwO2k9aSs3Pj4zPDwzO3Y9dTt3PWk7aT1pKzR8MDtpPWkrNz4+
Mzw8Mzt4PWk7aT1pKzQwMHwwO3k9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO3o9aTtpPWkrNHwwO2k9
aSs3Pj4zPDwzO0E9aTtpPWkrNHwwO2k9aSs3Pj4zPDwzO2VqKG0saCk7Qj1tfDA7Qz1jW0I+PjJd
fDA7aWYoKGNbMzkyMl18MCkhPS0xKXtjW2w+PjJdPTE1Njg4O2NbbCs0Pj4yXT0xMjtjW2wrOD4+
Ml09MDtkVygxNTY4OCxsLDk2KX1sPShjWzM5MjNdfDApLTF8MDtEPWNbQys4Pj4yXXwwO2Rve2lm
KChjW0MrMTI+PjJdfDApLUQ+PjI+Pj4wPmw+Pj4wKXtFPWNbRCsobDw8Mik+PjJdfDA7aWYoKEV8
MCk9PTApe2JyZWFrfUY9RTtHPWs7SD1hW0ddfDA7ST1IJjI1NTtpZigoSSYxfDApPT0wKXtKPUk+
Pj4xfWVsc2V7Sj1jW2srND4+Ml18MH1pZigoSnwwKT09MCl7Sz0wfWVsc2V7aWYoKEgmMSk9PTAp
e0w9ays0fDB9ZWxzZXtMPWNbays4Pj4yXXwwfUg9Y1tMPj4yXXwwO0s9KEh8MCk9PShiX1tjWyhj
W0U+PjJdfDApKzQ0Pj4yXSYzMV0oRiw0NSl8MCl9ayQocnwwLDAsMTIpO2skKHR8MCwwLDEyKTtr
JCh2fDAsMCwxMik7aWIoZyxLLG0sbixvLHAscSxzLHUsdyk7RT14fDA7SD1hW0ddfDA7ST1IJjI1
NTtNPShJJjF8MCk9PTA7aWYoTSl7Tj1JPj4+MX1lbHNle049Y1trKzQ+PjJdfDB9Tz1jW3c+PjJd
fDA7aWYoKE58MCk+KE98MCkpe2lmKE0pe1A9ST4+PjF9ZWxzZXtQPWNbays0Pj4yXXwwfUk9ZFt2
XXwwO2lmKChJJjF8MCk9PTApe1E9ST4+PjF9ZWxzZXtRPWNbdSs0Pj4yXXwwfUk9ZFt0XXwwO2lm
KChJJjF8MCk9PTApe1I9ST4+PjF9ZWxzZXtSPWNbcys0Pj4yXXwwfVM9KFAtTzw8MXwxKStRK1J8
MH1lbHNle0k9ZFt2XXwwO2lmKChJJjF8MCk9PTApe1Q9ST4+PjF9ZWxzZXtUPWNbdSs0Pj4yXXww
fUk9ZFt0XXwwO2lmKChJJjF8MCk9PTApe1U9ST4+PjF9ZWxzZXtVPWNbcys0Pj4yXXwwfVM9VCsy
K1V8MH1JPVMrT3wwO2Rve2lmKEk+Pj4wPjEwMCl7TT1rSihJPDwyKXwwO1Y9TTtpZigoTXwwKSE9
MCl7Vz1WO1g9VjtZPUg7YnJlYWt9a1goKTtXPVY7WD1WO1k9YVtHXXwwfWVsc2V7Vz1FO1g9MDtZ
PUh9fXdoaWxlKDApO2lmKChZJjEpPT0wKXtaPWsrNHwwO189ays0fDB9ZWxzZXtIPWNbays4Pj4y
XXwwO1o9SDtfPUh9SD1ZJjI1NTtpZigoSCYxfDApPT0wKXskPUg+Pj4xfWVsc2V7JD1jW2srND4+
Ml18MH1pYyhXLHkseixjW2grND4+Ml18MCxfLForKCQ8PDIpfDAsRixLLG4sY1tvPj4yXXwwLGNb
cD4+Ml18MCxxLHMsdSxPKTtjW0E+PjJdPWNbZj4+Ml07Z3EoYixBLFcsY1t5Pj4yXXwwLGNbej4+
Ml18MCxoLGopO2lmKChYfDApPT0wKXtlZSh1KTtlZShzKTtkUChxKTthYT1jW0I+PjJdfDA7YWI9
YWF8MDthYz1keihhYil8MDtpPWU7cmV0dXJufWtLKFgpO2VlKHUpO2VlKHMpO2RQKHEpO2FhPWNb
Qj4+Ml18MDthYj1hYXwwO2FjPWR6KGFiKXwwO2k9ZTtyZXR1cm59fXdoaWxlKDApO2U9Yk8oNCl8
MDtrcShlKTtibChlfDAsODE3NiwxMzQpfWZ1bmN0aW9uIGlpKGIsZCxlLGYsZyxoKXtiPWJ8MDtk
PWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDt2YXIgaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAs
cD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wO2Q9aTtpPWkrMTZ8MDtqPWR8MDtrPWo7ayQoa3ww
LDAsMTIpO2w9YjttPWg7bj1hW2hdfDA7aWYoKG4mMSk9PTApe289bSsxfDA7cD1tKzF8MH1lbHNl
e209Y1toKzg+PjJdfDA7bz1tO3A9bX1tPW4mMjU1O2lmKChtJjF8MCk9PTApe3E9bT4+PjF9ZWxz
ZXtxPWNbaCs0Pj4yXXwwfWg9bytxfDA7ZG97aWYocD4+PjA8aD4+PjApe3E9cDtkb3tkVShqLGFb
cV18MCk7cT1xKzF8MDt9d2hpbGUocT4+PjA8aD4+PjApO3E9KGV8MCk9PS0xPy0xOmU8PDE7aWYo
KGFba10mMSk9PTApe3I9cTtzPTE3NjI7YnJlYWt9dD1jW2orOD4+Ml18MDt1PXF9ZWxzZXtyPShl
fDApPT0tMT8tMTplPDwxO3M9MTc2Mn19d2hpbGUoMCk7aWYoKHN8MCk9PTE3NjIpe3Q9aisxfDA7
dT1yfXI9Yk0odXwwLGZ8MCxnfDAsdHwwKXwwO2skKGx8MCwwLDEyKTtsPWswKHJ8MCl8MDt0PXIr
bHwwO2lmKChsfDApPjApe3Y9cn1lbHNle2RQKGopO2k9ZDtyZXR1cm59ZG97ZFUoYixhW3ZdfDAp
O3Y9disxfDA7fXdoaWxlKHY+Pj4wPHQ+Pj4wKTtkUChqKTtpPWQ7cmV0dXJufWZ1bmN0aW9uIGlq
KGEsYil7YT1hfDA7Yj1ifDA7YTEoKChifDApPT0tMT8tMTpiPDwxKXwwKXwwO3JldHVybn1mdW5j
dGlvbiBpayhhKXthPWF8MDtkZShhfDApO2tTKGEpO3JldHVybn1mdW5jdGlvbiBpbChhKXthPWF8
MDtkZShhfDApO3JldHVybn1mdW5jdGlvbiBpbShiLGQsZSl7Yj1ifDA7ZD1kfDA7ZT1lfDA7dmFy
IGY9MDtpZigoYVtkXSYxKT09MCl7Zj1kKzF8MH1lbHNle2Y9Y1tkKzg+PjJdfDB9ZD1hOChmfDAs
MjAwKXwwO3JldHVybiBkPj4+KCgoZHwwKSE9LTF8MCk+Pj4wKXwwfWZ1bmN0aW9uIGlvKGEsYil7
YT1hfDA7Yj1ifDA7YTEoKChifDApPT0tMT8tMTpiPDwxKXwwKXwwO3JldHVybn1mdW5jdGlvbiBp
cChiLGQsZSxmLGcsaCl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7dmFyIGo9
MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0w
LHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wO2Q9aTtpPWkr
MjI0fDA7aj1kfDA7az1kKzh8MDtsPWQrNDB8MDttPWQrNDh8MDtuPWQrNTZ8MDtvPWQrNjR8MDtw
PWQrMTkyfDA7cT1kKzIwMHwwO3I9ZCsyMDh8MDtzPXI7dD1pO2k9aSs4fDA7dT1pO2k9aSs4fDA7
ayQoc3wwLDAsMTIpO3Y9Yjt3PXR8MDtjW3QrND4+Ml09MDtjW3Q+PjJdPTQxMDQ7eD1hW2hdfDA7
aWYoKHgmMSk9PTApe3k9aCs0fDA7ej1oKzR8MH1lbHNle0E9Y1toKzg+PjJdfDA7eT1BO3o9QX1B
PXgmMjU1O2lmKChBJjF8MCk9PTApe0I9QT4+PjF9ZWxzZXtCPWNbaCs0Pj4yXXwwfWg9eSsoQjw8
Mil8MDtMMjEzNTpkb3tpZih6Pj4+MDxoPj4+MCl7Qj10O3k9a3wwO0E9ayszMnwwO3g9ejtDPTQx
MDQ7d2hpbGUoMSl7Y1ttPj4yXT14O0Q9KGI2W2NbQysxMj4+Ml0mMzFdKHcsaix4LGgsbSx5LEEs
bCl8MCk9PTI7RT1jW20+PjJdfDA7aWYoRHwoRXwwKT09KHh8MCkpe2JyZWFrfWlmKHk+Pj4wPChj
W2w+PjJdfDApPj4+MCl7RD15O2Rve2RVKHIsYVtEXXwwKTtEPUQrMXwwO313aGlsZShEPj4+MDwo
Y1tsPj4yXXwwKT4+PjApO0Y9Y1ttPj4yXXwwfWVsc2V7Rj1FfWlmKEY+Pj4wPj1oPj4+MCl7YnJl
YWsgTDIxMzV9eD1GO0M9Y1tCPj4yXXwwfUI9Yk8oOCl8MDtkRShCLDkwNCk7YmwoQnwwLDgxOTIs
MjIpfX13aGlsZSgwKTtkZSh0fDApO2lmKChhW3NdJjEpPT0wKXtHPXIrMXwwfWVsc2V7Rz1jW3Ir
OD4+Ml18MH1zPWJNKCgoZXwwKT09LTE/LTE6ZTw8MSl8MCxmfDAsZ3wwLEd8MCl8MDtrJCh2fDAs
MCwxMik7dj11fDA7Y1t1KzQ+PjJdPTA7Y1t1Pj4yXT00MDQ4O0c9azAoc3wwKXwwO2c9cytHfDA7
aWYoKEd8MCk8MSl7SD11fDA7ZGUoSCk7ZFAocik7aT1kO3JldHVybn1HPXU7Zj1nO2U9b3wwO3Q9
bysxMjh8MDtvPXM7cz00MDQ4O3doaWxlKDEpe2NbcT4+Ml09bztGPShiNltjW3MrMTY+PjJdJjMx
XSh2LG4sbywoZi1vfDApPjMyP28rMzJ8MDpnLHEsZSx0LHApfDApPT0yO2g9Y1txPj4yXXwwO2lm
KEZ8KGh8MCk9PShvfDApKXticmVha31pZihlPj4+MDwoY1twPj4yXXwwKT4+PjApe0Y9ZTtkb3tl
aChiLGNbRj4+Ml18MCk7Rj1GKzR8MDt9d2hpbGUoRj4+PjA8KGNbcD4+Ml18MCk+Pj4wKTtJPWNb
cT4+Ml18MH1lbHNle0k9aH1pZihJPj4+MD49Zz4+PjApe0o9MTgyOTticmVha31vPUk7cz1jW0c+
PjJdfDB9aWYoKEp8MCk9PTE4Mjkpe0g9dXwwO2RlKEgpO2RQKHIpO2k9ZDtyZXR1cm59ZD1iTyg4
KXwwO2RFKGQsOTA0KTtibChkfDAsODE5MiwyMil9ZnVuY3Rpb24gaXEoYil7Yj1ifDA7dmFyIGQ9
MCxlPTAsZj0wO2NbYj4+Ml09MzU2ODtkPWIrOHwwO2U9Y1tkPj4yXXwwO2Rve2lmKChhWzE2MjY0
XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4XT1hUygxLDEzNDQsMCl8
MH19d2hpbGUoMCk7aWYoKGV8MCk9PShjWzI5NThdfDApKXtmPWJ8MDtkZShmKTtyZXR1cm59YTco
Y1tkPj4yXXwwKTtmPWJ8MDtkZShmKTtyZXR1cm59ZnVuY3Rpb24gaXIoYSl7YT1hfDA7YT1iTyg4
KXwwO2RBKGEsMTM1Mik7Y1thPj4yXT0yNTA0O2JsKGF8MCw4MjA4LDMyKX1mdW5jdGlvbiBpcyhi
LGQpe2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxv
PTAscD0wLHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9
MCxEPTAsRT0wLEY9MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MCxNPTA7ZT1pO2k9aSs0NDh8MDtm
PWV8MDtnPWUrMTZ8MDtoPWUrMzJ8MDtqPWUrNDh8MDtrPWUrNjR8MDtsPWUrODB8MDttPWUrOTZ8
MDtuPWUrMTEyfDA7bz1lKzEyOHwwO3A9ZSsxNDR8MDtxPWUrMTYwfDA7cj1lKzE3NnwwO3M9ZSsx
OTJ8MDt0PWUrMjA4fDA7dT1lKzIyNHwwO3Y9ZSsyNDB8MDt3PWUrMjU2fDA7eD1lKzI3MnwwO3k9
ZSsyODh8MDt6PWUrMzA0fDA7QT1lKzMyMHwwO0I9ZSszMzZ8MDtDPWUrMzUyfDA7RD1lKzM2OHww
O0U9ZSszODR8MDtGPWUrNDAwfDA7Rz1lKzQxNnwwO0g9ZSs0MzJ8MDtjW2IrND4+Ml09ZC0xO2Nb
Yj4+Ml09MzgyNDtkPWIrOHwwO0k9YisxMnwwO2FbYisxMzZ8MF09MTtKPWIrMjR8MDtLPUo7Y1tJ
Pj4yXT1LO2NbZD4+Ml09SztjW2IrMTY+PjJdPUorMTEyO0o9Mjg7TD1LO2Rve2lmKChMfDApPT0w
KXtNPTB9ZWxzZXtjW0w+PjJdPTA7TT1jW0k+PjJdfDB9TD1NKzR8MDtjW0k+PjJdPUw7Sj1KLTF8
MDt9d2hpbGUoKEp8MCkhPTApO2RaKGIrMTQ0fDAsMTM0NCwxKTtKPWNbZD4+Ml18MDtkPWNbST4+
Ml18MDtpZigoSnwwKSE9KGR8MCkpe2NbST4+Ml09ZCsofigoZC00KygtSnwwKXwwKT4+PjIpPDwy
KX1jWzM2MTddPTA7Y1szNjE2XT0zNTI4O2lmKChjWzM4NDRdfDApIT0tMSl7Y1tIPj4yXT0xNTM3
NjtjW0grND4+Ml09MTI7Y1tIKzg+PjJdPTA7ZFcoMTUzNzYsSCw5Nil9aUooYiwxNDQ2NCwoY1sz
ODQ1XXwwKS0xfDApO2NbMzYxNV09MDtjWzM2MTRdPTM0ODg7aWYoKGNbMzg0Ml18MCkhPS0xKXtj
W0c+PjJdPTE1MzY4O2NbRys0Pj4yXT0xMjtjW0crOD4+Ml09MDtkVygxNTM2OCxHLDk2KX1pSihi
LDE0NDU2LChjWzM4NDNdfDApLTF8MCk7Y1szNjY3XT0wO2NbMzY2Nl09MzkzNjtjWzM2NjhdPTA7
YVsxNDY3Nl09MDtjWzM2NjhdPWNbKGE2KCl8MCk+PjJdO2lmKChjWzM5MjRdfDApIT0tMSl7Y1tG
Pj4yXT0xNTY5NjtjW0YrND4+Ml09MTI7Y1tGKzg+PjJdPTA7ZFcoMTU2OTYsRiw5Nil9aUooYiwx
NDY2NCwoY1szOTI1XXwwKS0xfDApO2NbMzY2NV09MDtjWzM2NjRdPTM4NTY7aWYoKGNbMzkyMl18
MCkhPS0xKXtjW0U+PjJdPTE1Njg4O2NbRSs0Pj4yXT0xMjtjW0UrOD4+Ml09MDtkVygxNTY4OCxF
LDk2KX1pSihiLDE0NjU2LChjWzM5MjNdfDApLTF8MCk7Y1szNjE5XT0wO2NbMzYxOF09MzYyNDtp
ZigoY1szODQ4XXwwKSE9LTEpe2NbRD4+Ml09MTUzOTI7Y1tEKzQ+PjJdPTEyO2NbRCs4Pj4yXT0w
O2RXKDE1MzkyLEQsOTYpfWlKKGIsMTQ0NzIsKGNbMzg0OV18MCktMXwwKTtjWzUyMV09MDtjWzUy
MF09MzU2ODtkb3tpZigoYVsxNjI2NF18MCk9PTApe2lmKChiYygxNjI2NCl8MCk9PTApe2JyZWFr
fWNbMjk1OF09YVMoMSwxMzQ0LDApfDB9fXdoaWxlKDApO2NbNTIyXT1jWzI5NThdO2lmKChjWzM4
NDZdfDApIT0tMSl7Y1tDPj4yXT0xNTM4NDtjW0MrND4+Ml09MTI7Y1tDKzg+PjJdPTA7ZFcoMTUz
ODQsQyw5Nil9aUooYiwyMDgwLChjWzM4NDddfDApLTF8MCk7Y1szNjIxXT0wO2NbMzYyMF09MzY4
MDtpZigoY1szODUwXXwwKSE9LTEpe2NbQj4+Ml09MTU0MDA7Y1tCKzQ+PjJdPTEyO2NbQis4Pj4y
XT0wO2RXKDE1NDAwLEIsOTYpfWlKKGIsMTQ0ODAsKGNbMzg1MV18MCktMXwwKTtjWzM2MjNdPTA7
Y1szNjIyXT0zNzM2O2lmKChjWzM4NTJdfDApIT0tMSl7Y1tBPj4yXT0xNTQwODtjW0ErND4+Ml09
MTI7Y1tBKzg+PjJdPTA7ZFcoMTU0MDgsQSw5Nil9aUooYiwxNDQ4OCwoY1szODUzXXwwKS0xfDAp
O2NbMzU5N109MDtjWzM1OTZdPTMwMzI7YVsxNDM5Ml09NDY7YVsxNDM5M109NDQ7ayQoMTQzOTYs
MCwxMik7aWYoKGNbMzgyOF18MCkhPS0xKXtjW3o+PjJdPTE1MzEyO2Nbeis0Pj4yXT0xMjtjW3or
OD4+Ml09MDtkVygxNTMxMix6LDk2KX1pSihiLDE0Mzg0LChjWzM4MjldfDApLTF8MCk7Y1s1MTNd
PTA7Y1s1MTJdPTI5ODQ7Y1s1MTRdPTQ2O2NbNTE1XT00NDtrJCgyMDY0LDAsMTIpO2lmKChjWzM4
MjZdfDApIT0tMSl7Y1t5Pj4yXT0xNTMwNDtjW3krND4+Ml09MTI7Y1t5Kzg+PjJdPTA7ZFcoMTUz
MDQseSw5Nil9aUooYiwyMDQ4LChjWzM4MjddfDApLTF8MCk7Y1szNjEzXT0wO2NbMzYxMl09MzQx
NjtpZigoY1szODQwXXwwKSE9LTEpe2NbeD4+Ml09MTUzNjA7Y1t4KzQ+PjJdPTEyO2NbeCs4Pj4y
XT0wO2RXKDE1MzYwLHgsOTYpfWlKKGIsMTQ0NDgsKGNbMzg0MV18MCktMXwwKTtjWzM2MTFdPTA7
Y1szNjEwXT0zMzQ0O2lmKChjWzM4MzhdfDApIT0tMSl7Y1t3Pj4yXT0xNTM1MjtjW3crND4+Ml09
MTI7Y1t3Kzg+PjJdPTA7ZFcoMTUzNTIsdyw5Nil9aUooYiwxNDQ0MCwoY1szODM5XXwwKS0xfDAp
O2NbMzYwOV09MDtjWzM2MDhdPTMyODA7aWYoKGNbMzgzNl18MCkhPS0xKXtjW3Y+PjJdPTE1MzQ0
O2Nbdis0Pj4yXT0xMjtjW3YrOD4+Ml09MDtkVygxNTM0NCx2LDk2KX1pSihiLDE0NDMyLChjWzM4
MzddfDApLTF8MCk7Y1szNjA3XT0wO2NbMzYwNl09MzIxNjtpZigoY1szODM0XXwwKSE9LTEpe2Nb
dT4+Ml09MTUzMzY7Y1t1KzQ+PjJdPTEyO2NbdSs4Pj4yXT0wO2RXKDE1MzM2LHUsOTYpfWlKKGIs
MTQ0MjQsKGNbMzgzNV18MCktMXwwKTtjWzM2NzddPTA7Y1szNjc2XT00OTEyO2lmKChjWzQwNDZd
fDApIT0tMSl7Y1t0Pj4yXT0xNjE4NDtjW3QrND4+Ml09MTI7Y1t0Kzg+PjJdPTA7ZFcoMTYxODQs
dCw5Nil9aUooYiwxNDcwNCwoY1s0MDQ3XXwwKS0xfDApO2NbMzY3NV09MDtjWzM2NzRdPTQ4NDg7
aWYoKGNbNDA0NF18MCkhPS0xKXtjW3M+PjJdPTE2MTc2O2Nbcys0Pj4yXT0xMjtjW3MrOD4+Ml09
MDtkVygxNjE3NixzLDk2KX1pSihiLDE0Njk2LChjWzQwNDVdfDApLTF8MCk7Y1szNjczXT0wO2Nb
MzY3Ml09NDc4NDtpZigoY1s0MDQyXXwwKSE9LTEpe2Nbcj4+Ml09MTYxNjg7Y1tyKzQ+PjJdPTEy
O2Nbcis4Pj4yXT0wO2RXKDE2MTY4LHIsOTYpfWlKKGIsMTQ2ODgsKGNbNDA0M118MCktMXwwKTtj
WzM2NzFdPTA7Y1szNjcwXT00NzIwO2lmKChjWzQwNDBdfDApIT0tMSl7Y1txPj4yXT0xNjE2MDtj
W3ErND4+Ml09MTI7Y1txKzg+PjJdPTA7ZFcoMTYxNjAscSw5Nil9aUooYiwxNDY4MCwoY1s0MDQx
XXwwKS0xfDApO2NbMzU5NV09MDtjWzM1OTRdPTI2ODg7aWYoKGNbMzgxNl18MCkhPS0xKXtjW3A+
PjJdPTE1MjY0O2NbcCs0Pj4yXT0xMjtjW3ArOD4+Ml09MDtkVygxNTI2NCxwLDk2KX1pSihiLDE0
Mzc2LChjWzM4MTddfDApLTF8MCk7Y1szNTkzXT0wO2NbMzU5Ml09MjY0ODtpZigoY1szODE0XXww
KSE9LTEpe2Nbbz4+Ml09MTUyNTY7Y1tvKzQ+PjJdPTEyO2Nbbys4Pj4yXT0wO2RXKDE1MjU2LG8s
OTYpfWlKKGIsMTQzNjgsKGNbMzgxNV18MCktMXwwKTtjWzM1OTFdPTA7Y1szNTkwXT0yNjA4O2lm
KChjWzM4MTJdfDApIT0tMSl7Y1tuPj4yXT0xNTI0ODtjW24rND4+Ml09MTI7Y1tuKzg+PjJdPTA7
ZFcoMTUyNDgsbiw5Nil9aUooYiwxNDM2MCwoY1szODEzXXwwKS0xfDApO2NbMzU4OV09MDtjWzM1
ODhdPTI1Njg7aWYoKGNbMzgxMF18MCkhPS0xKXtjW20+PjJdPTE1MjQwO2NbbSs0Pj4yXT0xMjtj
W20rOD4+Ml09MDtkVygxNTI0MCxtLDk2KX1pSihiLDE0MzUyLChjWzM4MTFdfDApLTF8MCk7Y1s1
MDldPTA7Y1s1MDhdPTI4ODg7Y1s1MTBdPTI5MzY7aWYoKGNbMzgyNF18MCkhPS0xKXtjW2w+PjJd
PTE1Mjk2O2NbbCs0Pj4yXT0xMjtjW2wrOD4+Ml09MDtkVygxNTI5NixsLDk2KX1pSihiLDIwMzIs
KGNbMzgyNV18MCktMXwwKTtjWzUwNV09MDtjWzUwNF09Mjc5MjtjWzUwNl09Mjg0MDtpZigoY1sz
ODIyXXwwKSE9LTEpe2Nbaz4+Ml09MTUyODg7Y1trKzQ+PjJdPTEyO2Nbays4Pj4yXT0wO2RXKDE1
Mjg4LGssOTYpfWlKKGIsMjAxNiwoY1szODIzXXwwKS0xfDApO2NbNTAxXT0wO2NbNTAwXT0zNzky
O2Rve2lmKChhWzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1syOTU4
XT1hUygxLDEzNDQsMCl8MH19d2hpbGUoMCk7Y1s1MDJdPWNbMjk1OF07Y1s1MDBdPTI3NjA7aWYo
KGNbMzgyMF18MCkhPS0xKXtjW2o+PjJdPTE1MjgwO2Nbais0Pj4yXT0xMjtjW2orOD4+Ml09MDtk
VygxNTI4MCxqLDk2KX1pSihiLDJlMywoY1szODIxXXwwKS0xfDApO2NbNDk3XT0wO2NbNDk2XT0z
NzkyO2Rve2lmKChhWzE2MjY0XXwwKT09MCl7aWYoKGJjKDE2MjY0KXwwKT09MCl7YnJlYWt9Y1sy
OTU4XT1hUygxLDEzNDQsMCl8MH19d2hpbGUoMCk7Y1s0OThdPWNbMjk1OF07Y1s0OTZdPTI3Mjg7
aWYoKGNbMzgxOF18MCkhPS0xKXtjW2g+PjJdPTE1MjcyO2NbaCs0Pj4yXT0xMjtjW2grOD4+Ml09
MDtkVygxNTI3MixoLDk2KX1pSihiLDE5ODQsKGNbMzgxOV18MCktMXwwKTtjWzM2MDVdPTA7Y1sz
NjA0XT0zMTIwO2lmKChjWzM4MzJdfDApIT0tMSl7Y1tnPj4yXT0xNTMyODtjW2crND4+Ml09MTI7
Y1tnKzg+PjJdPTA7ZFcoMTUzMjgsZyw5Nil9aUooYiwxNDQxNiwoY1szODMzXXwwKS0xfDApO2Nb
MzYwM109MDtjWzM2MDJdPTMwODA7aWYoKGNbMzgzMF18MCkhPS0xKXtjW2Y+PjJdPTE1MzIwO2Nb
Zis0Pj4yXT0xMjtjW2YrOD4+Ml09MDtkVygxNTMyMCxmLDk2KX1pSihiLDE0NDA4LChjWzM4MzFd
fDApLTF8MCk7aT1lO3JldHVybn1mdW5jdGlvbiBpdChhLGIpe2E9YXwwO2I9YnwwO3JldHVybiBi
fDB9ZnVuY3Rpb24gaXUoYSxiLGQsZSxmLGcsaCxpKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtm
PWZ8MDtnPWd8MDtoPWh8MDtpPWl8MDtjW2Y+PjJdPWQ7Y1tpPj4yXT1nO3JldHVybiAzfWZ1bmN0
aW9uIGl2KGEsYixkLGUsZixnLGgsaSl7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1n
fDA7aD1ofDA7aT1pfDA7Y1tmPj4yXT1kO2NbaT4+Ml09ZztyZXR1cm4gM31mdW5jdGlvbiBpdyhh
LGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2NbZj4+Ml09ZDtyZXR1cm4g
M31mdW5jdGlvbiBpeChhKXthPWF8MDtyZXR1cm4gMX1mdW5jdGlvbiBpeShhKXthPWF8MDtyZXR1
cm4gMX1mdW5jdGlvbiBpeihhKXthPWF8MDtyZXR1cm4gMX1mdW5jdGlvbiBpQShhLGIpe2E9YXww
O2I9YnwwO3JldHVybiBiPDwyND4+MjR8MH1mdW5jdGlvbiBpQihhLGIsYyl7YT1hfDA7Yj1ifDA7
Yz1jfDA7cmV0dXJuKGI+Pj4wPDEyOD9iJjI1NTpjKXwwfWZ1bmN0aW9uIGlDKGEsYixjKXthPWF8
MDtiPWJ8MDtjPWN8MDtyZXR1cm4oYjw8MjQ+PjI0Pi0xP2I6Yyl8MH1mdW5jdGlvbiBpRChhLGIs
YyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2I9ZC1jfDA7cmV0dXJuKGI+Pj4w
PGU+Pj4wP2I6ZSl8MH1mdW5jdGlvbiBpRShhKXthPWF8MDtjW2ErND4+Ml09KEk9Y1szODU0XXww
LGNbMzg1NF09SSsxLEkpKzE7cmV0dXJufWZ1bmN0aW9uIGlGKGIsZCxlLGYpe2I9YnwwO2Q9ZHww
O2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGk9MDtpZigoZHwwKT09KGV8MCkpe2c9ZDtyZXR1cm4g
Z3wwfWVsc2V7aD1kO2k9Zn13aGlsZSgxKXtjW2k+PjJdPWFbaF18MDtmPWgrMXwwO2lmKChmfDAp
PT0oZXwwKSl7Zz1lO2JyZWFrfWVsc2V7aD1mO2k9aSs0fDB9fXJldHVybiBnfDB9ZnVuY3Rpb24g
aUcoYixkLGUsZixnKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGk9MCxq
PTA7aWYoKGR8MCk9PShlfDApKXtoPWQ7cmV0dXJuIGh8MH1iPSgoZS00KygtZHwwKXwwKT4+PjIp
KzF8MDtpPWQ7aj1nO3doaWxlKDEpe2c9Y1tpPj4yXXwwO2Fbal09Zz4+PjA8MTI4P2cmMjU1OmY7
Zz1pKzR8MDtpZigoZ3wwKT09KGV8MCkpe2JyZWFrfWVsc2V7aT1nO2o9aisxfDB9fWg9ZCsoYjw8
Mil8MDtyZXR1cm4gaHwwfWZ1bmN0aW9uIGlIKGIsYyxkLGUpe2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9
ZXwwO3ZhciBmPTAsZz0wLGg9MDtpZigoY3wwKT09KGR8MCkpe2Y9YztyZXR1cm4gZnwwfWVsc2V7
Zz1jO2g9ZX13aGlsZSgxKXthW2hdPWFbZ118MDtlPWcrMXwwO2lmKChlfDApPT0oZHwwKSl7Zj1k
O2JyZWFrfWVsc2V7Zz1lO2g9aCsxfDB9fXJldHVybiBmfDB9ZnVuY3Rpb24gaUkoYixjLGQsZSxm
KXtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxpPTA7aWYoKGN8MCk9
PShkfDApKXtnPWM7cmV0dXJuIGd8MH1lbHNle2g9YztpPWZ9d2hpbGUoMSl7Zj1hW2hdfDA7YVtp
XT1mPDwyND4+MjQ+LTE/ZjplO2Y9aCsxfDA7aWYoKGZ8MCk9PShkfDApKXtnPWQ7YnJlYWt9ZWxz
ZXtoPWY7aT1pKzF8MH19cmV0dXJuIGd8MH1mdW5jdGlvbiBpSihhLGIsZCl7YT1hfDA7Yj1ifDA7
ZD1kfDA7dmFyIGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MDtkZyhifDAp
O2U9YSs4fDA7Zj1hKzEyfDA7YT1jW2Y+PjJdfDA7Zz1lfDA7aD1jW2c+PjJdfDA7aT1hLWg+PjI7
ZG97aWYoaT4+PjA+ZD4+PjApe2o9aH1lbHNle2s9ZCsxfDA7aWYoaT4+PjA8az4+PjApe2o1KGUs
ay1pfDApO2o9Y1tnPj4yXXwwO2JyZWFrfWlmKGk+Pj4wPD1rPj4+MCl7aj1oO2JyZWFrfWw9aCso
azw8Mil8MDtpZigobHwwKT09KGF8MCkpe2o9aDticmVha31jW2Y+PjJdPWErKH4oKGEtNCsoLWx8
MCl8MCk+Pj4yKTw8Mik7aj1ofX13aGlsZSgwKTtoPWNbaisoZDw8Mik+PjJdfDA7aWYoKGh8MCk9
PTApe209ajtuPW0rKGQ8PDIpfDA7Y1tuPj4yXT1iO3JldHVybn1keihofDApfDA7bT1jW2c+PjJd
fDA7bj1tKyhkPDwyKXwwO2Nbbj4+Ml09YjtyZXR1cm59ZnVuY3Rpb24gaUsoYSl7YT1hfDA7aUwo
YSk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGlMKGIpe2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTAs
aD0wLGk9MCxqPTAsaz0wLGw9MCxtPTA7Y1tiPj4yXT0zODI0O2Q9YisxMnwwO2U9Y1tkPj4yXXww
O2Y9Yis4fDA7Zz1jW2Y+PjJdfDA7aWYoKGV8MCkhPShnfDApKXtoPTA7aT1nO2c9ZTt3aGlsZSgx
KXtlPWNbaSsoaDw8Mik+PjJdfDA7aWYoKGV8MCk9PTApe2o9ZztrPWl9ZWxzZXtsPWV8MDtkeihs
KXwwO2o9Y1tkPj4yXXwwO2s9Y1tmPj4yXXwwfWw9aCsxfDA7aWYobD4+PjA8ai1rPj4yPj4+MCl7
aD1sO2k9aztnPWp9ZWxzZXticmVha319fWRQKGIrMTQ0fDApO2o9Y1tmPj4yXXwwO2lmKChqfDAp
PT0wKXttPWJ8MDtkZShtKTtyZXR1cm59Zj1jW2Q+PjJdfDA7aWYoKGp8MCkhPShmfDApKXtjW2Q+
PjJdPWYrKH4oKGYtNCsoLWp8MCl8MCk+Pj4yKTw8Mil9aWYoKGp8MCk9PShiKzI0fDApKXthW2Ir
MTM2fDBdPTA7bT1ifDA7ZGUobSk7cmV0dXJufWVsc2V7a1Moaik7bT1ifDA7ZGUobSk7cmV0dXJu
fX1mdW5jdGlvbiBpTSgpe3ZhciBiPTAsZD0wO2lmKChhWzE2MjQ4XXwwKSE9MCl7Yj1jWzI5NTBd
fDA7cmV0dXJuIGJ8MH1pZigoYmMoMTYyNDgpfDApPT0wKXtiPWNbMjk1MF18MDtyZXR1cm4gYnww
fWRve2lmKChhWzE2MjU2XXwwKT09MCl7aWYoKGJjKDE2MjU2KXwwKT09MCl7YnJlYWt9aXMoMTQ0
OTYsMSk7Y1syOTU0XT0xNDQ5NjtjWzI5NTJdPTExODE2fX13aGlsZSgwKTtkPWNbY1syOTUyXT4+
Ml18MDtjWzI5NTZdPWQ7ZGcoZHwwKTtjWzI5NTBdPTExODI0O2I9Y1syOTUwXXwwO3JldHVybiBi
fDB9ZnVuY3Rpb24gaU4oYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0wO2Q9Y1tiPj4yXXwwO2NbYT4+
Ml09ZDtkZyhkfDApO3JldHVybn1mdW5jdGlvbiBpTyhhKXthPWF8MDtkeihjW2E+PjJdfDApfDA7
cmV0dXJufWZ1bmN0aW9uIGlQKGEpe2E9YXwwO2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9u
IGlRKGEpe2E9YXwwO2lmKChhfDApPT0wKXtyZXR1cm59YllbY1soY1thPj4yXXwwKSs0Pj4yXSY1
MTFdKGEpO3JldHVybn1mdW5jdGlvbiBpUihhKXthPWF8MDtkZShhfDApO2tTKGEpO3JldHVybn1m
dW5jdGlvbiBpUyhiKXtiPWJ8MDt2YXIgZD0wO2NbYj4+Ml09MzkzNjtkPWNbYis4Pj4yXXwwO2Rv
e2lmKChkfDApIT0wKXtpZigoYVtiKzEyfDBdJjEpPT0wKXticmVha31rVChkKX19d2hpbGUoMCk7
ZGUoYnwwKTtrUyhiKTtyZXR1cm59ZnVuY3Rpb24gaVQoYil7Yj1ifDA7dmFyIGQ9MDtjW2I+PjJd
PTM5MzY7ZD1jW2IrOD4+Ml18MDtkb3tpZigoZHwwKSE9MCl7aWYoKGFbYisxMnwwXSYxKT09MCl7
YnJlYWt9a1QoZCl9fXdoaWxlKDApO2RlKGJ8MCk7cmV0dXJufWZ1bmN0aW9uIGlVKGEpe2E9YXww
O2RlKGF8MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGlWKGEpe2E9YXwwO2lxKGEpO2tTKGEpO3Jl
dHVybn1mdW5jdGlvbiBpVyhhKXthPWF8MDt2YXIgYj0wO2I9Y1soaU0oKXwwKT4+Ml18MDtjW2E+
PjJdPWI7ZGcoYnwwKTtyZXR1cm59ZnVuY3Rpb24gaVgoYSxiKXthPWF8MDtiPWJ8MDt2YXIgZD0w
LGU9MCxmPTAsZz0wLGg9MDtkPWk7aT1pKzE2fDA7ZT1kfDA7Zj1jW2E+PjJdfDA7YT1ifDA7aWYo
KGNbYT4+Ml18MCkhPS0xKXtjW2U+PjJdPWI7Y1tlKzQ+PjJdPTEyO2NbZSs4Pj4yXT0wO2RXKGEs
ZSw5Nil9ZT0oY1tiKzQ+PjJdfDApLTF8MDtiPWNbZis4Pj4yXXwwO2lmKChjW2YrMTI+PjJdfDAp
LWI+PjI+Pj4wPD1lPj4+MCl7Zz1iTyg0KXwwO2g9ZztrcShoKTtibChnfDAsODE3NiwxMzQpO3Jl
dHVybiAwfWY9Y1tiKyhlPDwyKT4+Ml18MDtpZigoZnwwKT09MCl7Zz1iTyg0KXwwO2g9ZztrcSho
KTtibChnfDAsODE3NiwxMzQpO3JldHVybiAwfWVsc2V7aT1kO3JldHVybiBmfDB9cmV0dXJuIDB9
ZnVuY3Rpb24gaVkoYSxkLGUpe2E9YXwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTA7aWYoZT4+PjA+PTEy
OCl7Zj0wO3JldHVybiBmfDB9Zj0oYlsoY1soYTYoKXwwKT4+Ml18MCkrKGU8PDEpPj4xXSZkKTw8
MTY+PjE2IT0wO3JldHVybiBmfDB9ZnVuY3Rpb24gaVooYSxkLGUsZil7YT1hfDA7ZD1kfDA7ZT1l
fDA7Zj1mfDA7dmFyIGc9MCxoPTAsaT0wLGo9MDtpZigoZHwwKT09KGV8MCkpe2c9ZDtyZXR1cm4g
Z3wwfWVsc2V7aD1kO2k9Zn13aGlsZSgxKXtmPWNbaD4+Ml18MDtpZihmPj4+MDwxMjgpe2o9Ylso
Y1soYTYoKXwwKT4+Ml18MCkrKGY8PDEpPj4xXXwwfWVsc2V7aj0wfWJbaT4+MV09ajtmPWgrNHww
O2lmKChmfDApPT0oZXwwKSl7Zz1lO2JyZWFrfWVsc2V7aD1mO2k9aSsyfDB9fXJldHVybiBnfDB9
ZnVuY3Rpb24gaV8oYSxkLGUsZil7YT1hfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAs
aT0wO2lmKChlfDApPT0oZnwwKSl7Zz1lO3JldHVybiBnfDB9ZWxzZXtoPWV9d2hpbGUoMSl7ZT1j
W2g+PjJdfDA7aWYoZT4+PjA8MTI4KXtpZigoYlsoY1soYTYoKXwwKT4+Ml18MCkrKGU8PDEpPj4x
XSZkKTw8MTY+PjE2IT0wKXtnPWg7aT0yMDk0O2JyZWFrfX1lPWgrNHwwO2lmKChlfDApPT0oZnww
KSl7Zz1mO2k9MjA5NjticmVha31lbHNle2g9ZX19aWYoKGl8MCk9PTIwOTQpe3JldHVybiBnfDB9
ZWxzZSBpZigoaXwwKT09MjA5Nil7cmV0dXJuIGd8MH1yZXR1cm4gMH1mdW5jdGlvbiBpJChhLGQs
ZSxmKXthPWF8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MDthPWU7d2hpbGUoMSl7aWYo
KGF8MCk9PShmfDApKXtnPWY7aD0yMTA0O2JyZWFrfWU9Y1thPj4yXXwwO2lmKGU+Pj4wPj0xMjgp
e2c9YTtoPTIxMDY7YnJlYWt9aWYoKGJbKGNbKGE2KCl8MCk+PjJdfDApKyhlPDwxKT4+MV0mZCk8
PDE2Pj4xNj09MCl7Zz1hO2g9MjEwNTticmVha31lbHNle2E9YSs0fDB9fWlmKChofDApPT0yMTA0
KXtyZXR1cm4gZ3wwfWVsc2UgaWYoKGh8MCk9PTIxMDUpe3JldHVybiBnfDB9ZWxzZSBpZigoaHww
KT09MjEwNil7cmV0dXJuIGd8MH1yZXR1cm4gMH1mdW5jdGlvbiBpMChhLGIpe2E9YXwwO2I9Ynww
O3ZhciBkPTA7aWYoYj4+PjA+PTEyOCl7ZD1iO3JldHVybiBkfDB9ZD1jWyhjWyhiUigpfDApPj4y
XXwwKSsoYjw8Mik+PjJdfDA7cmV0dXJuIGR8MH1mdW5jdGlvbiBpMShhLGIsZCl7YT1hfDA7Yj1i
fDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2lmKChifDApPT0oZHwwKSl7ZT1iO3JldHVybiBlfDB9
ZWxzZXtmPWJ9d2hpbGUoMSl7Yj1jW2Y+PjJdfDA7aWYoYj4+PjA8MTI4KXtnPWNbKGNbKGJSKCl8
MCk+PjJdfDApKyhiPDwyKT4+Ml18MH1lbHNle2c9Yn1jW2Y+PjJdPWc7Yj1mKzR8MDtpZigoYnww
KT09KGR8MCkpe2U9ZDticmVha31lbHNle2Y9Yn19cmV0dXJuIGV8MH1mdW5jdGlvbiBpMihhLGIp
e2E9YXwwO2I9YnwwO3ZhciBkPTA7aWYoYj4+PjA+PTEyOCl7ZD1iO3JldHVybiBkfDB9ZD1jWyhj
WyhiUygpfDApPj4yXXwwKSsoYjw8Mik+PjJdfDA7cmV0dXJuIGR8MH1mdW5jdGlvbiBpMyhhLGIs
ZCl7YT1hfDA7Yj1ifDA7ZD1kfDA7dmFyIGU9MCxmPTAsZz0wO2lmKChifDApPT0oZHwwKSl7ZT1i
O3JldHVybiBlfDB9ZWxzZXtmPWJ9d2hpbGUoMSl7Yj1jW2Y+PjJdfDA7aWYoYj4+PjA8MTI4KXtn
PWNbKGNbKGJTKCl8MCk+PjJdfDApKyhiPDwyKT4+Ml18MH1lbHNle2c9Yn1jW2Y+PjJdPWc7Yj1m
KzR8MDtpZigoYnwwKT09KGR8MCkpe2U9ZDticmVha31lbHNle2Y9Yn19cmV0dXJuIGV8MH1mdW5j
dGlvbiBpNChhLGIpe2E9YXwwO2I9YnwwO3ZhciBkPTA7aWYoYjw8MjQ+PjI0PD0tMSl7ZD1iO3Jl
dHVybiBkfDB9ZD1jWyhjWyhiUigpfDApPj4yXXwwKSsoKGImMjU1KTw8Mik+PjJdJjI1NTtyZXR1
cm4gZHwwfWZ1bmN0aW9uIGk1KGIsZCxlKXtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MCxo
PTA7aWYoKGR8MCk9PShlfDApKXtmPWQ7cmV0dXJuIGZ8MH1lbHNle2c9ZH13aGlsZSgxKXtkPWFb
Z118MDtpZihkPDwyND4+MjQ+LTEpe2g9Y1soY1soYlIoKXwwKT4+Ml18MCkrKGQ8PDI0Pj4yNDw8
Mik+PjJdJjI1NX1lbHNle2g9ZH1hW2ddPWg7ZD1nKzF8MDtpZigoZHwwKT09KGV8MCkpe2Y9ZTti
cmVha31lbHNle2c9ZH19cmV0dXJuIGZ8MH1mdW5jdGlvbiBpNihhLGIpe2E9YXwwO2I9YnwwO3Zh
ciBkPTA7aWYoYjw8MjQ+PjI0PD0tMSl7ZD1iO3JldHVybiBkfDB9ZD1jWyhjWyhiUygpfDApPj4y
XXwwKSsoYjw8MjQ+PjI0PDwyKT4+Ml0mMjU1O3JldHVybiBkfDB9ZnVuY3Rpb24gaTcoYixkLGUp
e2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0wLGg9MDtpZigoZHwwKT09KGV8MCkpe2Y9ZDty
ZXR1cm4gZnwwfWVsc2V7Zz1kfXdoaWxlKDEpe2Q9YVtnXXwwO2lmKGQ8PDI0Pj4yND4tMSl7aD1j
WyhjWyhiUygpfDApPj4yXXwwKSsoZDw8MjQ+PjI0PDwyKT4+Ml0mMjU1fWVsc2V7aD1kfWFbZ109
aDtkPWcrMXwwO2lmKChkfDApPT0oZXwwKSl7Zj1lO2JyZWFrfWVsc2V7Zz1kfX1yZXR1cm4gZnww
fWZ1bmN0aW9uIGk4KGEpe2E9YXwwO3JldHVybiAwfWZ1bmN0aW9uIGk5KGEpe2E9YXwwO2RlKGF8
MCk7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGphKGEsYixkLGUsZixnLGgsail7YT1hfDA7Yj1ifDA7
ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aj1qfDA7dmFyIGs9MCxsPTA7Yj1pO2k9aSsx
NnwwO2E9YnwwO2s9Yis4fDA7Y1thPj4yXT1kO2Nbaz4+Ml09ZztsPWpsKGQsZSxhLGcsaCxrLDEx
MTQxMTEsMCl8MDtjW2Y+PjJdPWQrKChjW2E+PjJdfDApLWQ+PjE8PDEpO2Nbaj4+Ml09ZysoKGNb
az4+Ml18MCktZyk7aT1iO3JldHVybiBsfDB9ZnVuY3Rpb24gamIoYixkLGUsZixnLGgsaixrKXti
PWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09
MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0w
LEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MCxJPTAsSj0wLEs9MDtsPWk7aT1pKzh8MDttPWx8
MDtuPW07bz1pO2k9aSsxfDA7aT1pKzc+PjM8PDM7cD1lO3doaWxlKDEpe2lmKChwfDApPT0oZnww
KSl7cT1mO2JyZWFrfWlmKChjW3A+PjJdfDApPT0wKXtxPXA7YnJlYWt9ZWxzZXtwPXArNHwwfX1j
W2s+PjJdPWg7Y1tnPj4yXT1lO0wyNTU1OmRve2lmKChlfDApPT0oZnwwKXwoaHwwKT09KGp8MCkp
e3I9ZX1lbHNle3A9ZDtzPWo7dD1iKzh8MDt1PW98MDt2PWg7dz1lO3g9cTtMMjU1Nzp3aGlsZSgx
KXt5PWNbcCs0Pj4yXXwwO2NbbT4+Ml09Y1twPj4yXTtjW20rND4+Ml09eTt5PWJCKGNbdD4+Ml18
MCl8MDt6PWtzKHYsZyx4LXc+PjIscy12fDAsZCl8MDtpZigoeXwwKSE9MCl7YkIoeXwwKXwwfXN3
aXRjaCh6fDApe2Nhc2UtMTp7QT0yMTg4O2JyZWFrIEwyNTU3O2JyZWFrfTtjYXNlIDA6e0I9MTtB
PTIyMjQ7YnJlYWsgTDI1NTc7YnJlYWt9O2RlZmF1bHQ6e319eT0oY1trPj4yXXwwKSt6fDA7Y1tr
Pj4yXT15O2lmKCh5fDApPT0oanwwKSl7QT0yMjIxO2JyZWFrfWlmKCh4fDApPT0oZnwwKSl7Qz1m
O0Q9eTtFPWNbZz4+Ml18MH1lbHNle3k9YkIoY1t0Pj4yXXwwKXwwO3o9a2codSwwLGQpfDA7aWYo
KHl8MCkhPTApe2JCKHl8MCl8MH1pZigoenwwKT09LTEpe0I9MjtBPTIyMjY7YnJlYWt9eT1jW2s+
PjJdfDA7aWYoej4+PjA+KHMteXwwKT4+PjApe0I9MTtBPTIyMjc7YnJlYWt9TDI1NzQ6ZG97aWYo
KHp8MCkhPTApe0Y9ejtHPXU7SD15O3doaWxlKDEpe0k9YVtHXXwwO2Nbaz4+Ml09SCsxO2FbSF09
STtJPUYtMXwwO2lmKChJfDApPT0wKXticmVhayBMMjU3NH1GPUk7Rz1HKzF8MDtIPWNbaz4+Ml18
MH19fXdoaWxlKDApO3k9KGNbZz4+Ml18MCkrNHwwO2NbZz4+Ml09eTt6PXk7d2hpbGUoMSl7aWYo
KHp8MCk9PShmfDApKXtKPWY7YnJlYWt9aWYoKGNbej4+Ml18MCk9PTApe0o9ejticmVha31lbHNl
e3o9eis0fDB9fUM9SjtEPWNbaz4+Ml18MDtFPXl9aWYoKEV8MCk9PShmfDApfChEfDApPT0oanww
KSl7cj1FO2JyZWFrIEwyNTU1fWVsc2V7dj1EO3c9RTt4PUN9fWlmKChBfDApPT0yMTg4KXtjW2s+
PjJdPXY7TDI1ODY6ZG97aWYoKHd8MCk9PShjW2c+PjJdfDApKXtLPXd9ZWxzZXt4PXc7dT12O3do
aWxlKDEpe3M9Y1t4Pj4yXXwwO3A9YkIoY1t0Pj4yXXwwKXwwO3o9a2codSxzLG4pfDA7aWYoKHB8
MCkhPTApe2JCKHB8MCl8MH1pZigoenwwKT09LTEpe0s9eDticmVhayBMMjU4Nn1wPShjW2s+PjJd
fDApK3p8MDtjW2s+PjJdPXA7ej14KzR8MDtpZigoenwwKT09KGNbZz4+Ml18MCkpe0s9ejticmVh
a31lbHNle3g9ejt1PXB9fX19d2hpbGUoMCk7Y1tnPj4yXT1LO0I9MjtpPWw7cmV0dXJuIEJ8MH1l
bHNlIGlmKChBfDApPT0yMjIxKXtyPWNbZz4+Ml18MDticmVha31lbHNlIGlmKChBfDApPT0yMjI0
KXtpPWw7cmV0dXJuIEJ8MH1lbHNlIGlmKChBfDApPT0yMjI2KXtpPWw7cmV0dXJuIEJ8MH1lbHNl
IGlmKChBfDApPT0yMjI3KXtpPWw7cmV0dXJuIEJ8MH19fXdoaWxlKDApO0I9KHJ8MCkhPShmfDAp
fDA7aT1sO3JldHVybiBCfDB9ZnVuY3Rpb24gamMoYixkLGUsZixnLGgsaixrKXtiPWJ8MDtkPWR8
MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtqPWp8MDtrPWt8MDt2YXIgbD0wLG09MCxuPTAsbz0w
LHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAs
RD0wLEU9MCxGPTAsRz0wLEg9MCxJPTA7bD1pO2k9aSs4fDA7bT1sfDA7bj1tO289ZTt3aGlsZSgx
KXtpZigob3wwKT09KGZ8MCkpe3A9ZjticmVha31pZigoYVtvXXwwKT09MCl7cD1vO2JyZWFrfWVs
c2V7bz1vKzF8MH19Y1trPj4yXT1oO2NbZz4+Ml09ZTtMMjYwNzpkb3tpZigoZXwwKT09KGZ8MCl8
KGh8MCk9PShqfDApKXtxPWV9ZWxzZXtvPWQ7cj1qO3M9Yis4fDA7dD1oO3U9ZTt2PXA7TDI2MDk6
d2hpbGUoMSl7dz1jW28rND4+Ml18MDtjW20+PjJdPWNbbz4+Ml07Y1ttKzQ+PjJdPXc7eD12O3c9
YkIoY1tzPj4yXXwwKXwwO3k9a2QodCxnLHgtdXwwLHItdD4+MixkKXwwO2lmKCh3fDApIT0wKXti
Qih3fDApfDB9c3dpdGNoKHl8MCl7Y2FzZS0xOnt6PTIyNDM7YnJlYWsgTDI2MDk7YnJlYWt9O2Nh
c2UgMDp7QT0yO3o9MjI3ODticmVhayBMMjYwOTticmVha307ZGVmYXVsdDp7fX13PShjW2s+PjJd
fDApKyh5PDwyKXwwO2Nbaz4+Ml09dztpZigod3wwKT09KGp8MCkpe3o9MjI3NTticmVha315PWNb
Zz4+Ml18MDtpZigodnwwKT09KGZ8MCkpe0I9ZjtDPXc7RD15fWVsc2V7RT1iQihjW3M+PjJdfDAp
fDA7Rj1rYyh3LHksMSxkKXwwO2lmKChFfDApIT0wKXtiQihFfDApfDB9aWYoKEZ8MCkhPTApe0E9
Mjt6PTIyODI7YnJlYWt9Y1trPj4yXT0oY1trPj4yXXwwKSs0O0Y9KGNbZz4+Ml18MCkrMXwwO2Nb
Zz4+Ml09RjtFPUY7d2hpbGUoMSl7aWYoKEV8MCk9PShmfDApKXtHPWY7YnJlYWt9aWYoKGFbRV18
MCk9PTApe0c9RTticmVha31lbHNle0U9RSsxfDB9fUI9RztDPWNbaz4+Ml18MDtEPUZ9aWYoKER8
MCk9PShmfDApfChDfDApPT0oanwwKSl7cT1EO2JyZWFrIEwyNjA3fWVsc2V7dD1DO3U9RDt2PUJ9
fWlmKCh6fDApPT0yMjQzKXtjW2s+PjJdPXQ7TDI2MzE6ZG97aWYoKHV8MCk9PShjW2c+PjJdfDAp
KXtIPXV9ZWxzZXt2PXQ7cj11O0wyNjMyOndoaWxlKDEpe289YkIoY1tzPj4yXXwwKXwwO0U9a2Mo
dixyLHgtcnwwLG4pfDA7aWYoKG98MCkhPTApe2JCKG98MCl8MH1zd2l0Y2goRXwwKXtjYXNlIDA6
e0k9cisxfDA7YnJlYWt9O2Nhc2UtMTp7ej0yMjU0O2JyZWFrIEwyNjMyO2JyZWFrfTtjYXNlLTI6
e3o9MjI1NTticmVhayBMMjYzMjticmVha307ZGVmYXVsdDp7ST1yK0V8MH19RT0oY1trPj4yXXww
KSs0fDA7Y1trPj4yXT1FO2lmKChJfDApPT0oY1tnPj4yXXwwKSl7SD1JO2JyZWFrIEwyNjMxfWVs
c2V7dj1FO3I9SX19aWYoKHp8MCk9PTIyNTQpe2NbZz4+Ml09cjtBPTI7aT1sO3JldHVybiBBfDB9
ZWxzZSBpZigoenwwKT09MjI1NSl7Y1tnPj4yXT1yO0E9MTtpPWw7cmV0dXJuIEF8MH19fXdoaWxl
KDApO2NbZz4+Ml09SDtBPShIfDApIT0oZnwwKXwwO2k9bDtyZXR1cm4gQXwwfWVsc2UgaWYoKHp8
MCk9PTIyNzUpe3E9Y1tnPj4yXXwwO2JyZWFrfWVsc2UgaWYoKHp8MCk9PTIyNzgpe2k9bDtyZXR1
cm4gQXwwfWVsc2UgaWYoKHp8MCk9PTIyODIpe2k9bDtyZXR1cm4gQXwwfX19d2hpbGUoMCk7QT0o
cXwwKSE9KGZ8MCl8MDtpPWw7cmV0dXJuIEF8MH1mdW5jdGlvbiBqZChiLGQsZSxmLGcpe2I9Ynww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO3ZhciBoPTAsaj0wLGs9MCxsPTAsbT0wLG49MDtoPWk7
aT1pKzh8MDtjW2c+PjJdPWU7ZT1ofDA7aj1iQihjW2IrOD4+Ml18MCl8MDtiPWtnKGUsMCxkKXww
O2lmKChqfDApIT0wKXtiQihqfDApfDB9c3dpdGNoKGJ8MCl7Y2FzZS0xOmNhc2UgMDp7az0yO2k9
aDtyZXR1cm4ga3wwfTtkZWZhdWx0Ont9fWo9Yi0xfDA7Yj1jW2c+PjJdfDA7aWYoaj4+PjA+KGYt
YnwwKT4+PjApe2s9MTtpPWg7cmV0dXJuIGt8MH1pZigoanwwKT09MCl7az0wO2k9aDtyZXR1cm4g
a3wwfWVsc2V7bD1qO209ZTtuPWJ9d2hpbGUoMSl7Yj1hW21dfDA7Y1tnPj4yXT1uKzE7YVtuXT1i
O2I9bC0xfDA7aWYoKGJ8MCk9PTApe2s9MDticmVha31sPWI7bT1tKzF8MDtuPWNbZz4+Ml18MH1p
PWg7cmV0dXJuIGt8MH1mdW5jdGlvbiBqZShhKXthPWF8MDt2YXIgYj0wLGQ9MCxlPTAsZj0wLGc9
MDtiPWErOHwwO2E9YkIoY1tiPj4yXXwwKXwwO2Q9a2YoMCwwLDEpfDA7aWYoKGF8MCkhPTApe2JC
KGF8MCl8MH1pZigoZHwwKSE9MCl7ZT0tMTtyZXR1cm4gZXwwfWQ9Y1tiPj4yXXwwO2lmKChkfDAp
PT0wKXtlPTE7cmV0dXJuIGV8MH1lPWJCKGR8MCl8MDtkPWJkKCl8MDtpZigoZXwwKT09MCl7Zj0o
ZHwwKT09MTtnPWYmMTtyZXR1cm4gZ3wwfWJCKGV8MCl8MDtmPShkfDApPT0xO2c9ZiYxO3JldHVy
biBnfDB9ZnVuY3Rpb24gamYoYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8
MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTA7aWYoKGZ8MCk9PTB8KGR8
MCk9PShlfDApKXtnPTA7cmV0dXJuIGd8MH1oPWU7aT1hKzh8MDthPWQ7ZD0wO2o9MDtMMjY5Mzp3
aGlsZSgxKXtrPWJCKGNbaT4+Ml18MCl8MDtsPWtiKGEsaC1hfDAsYil8MDtpZigoa3wwKSE9MCl7
YkIoa3wwKXwwfXN3aXRjaChsfDApe2Nhc2UgMDp7bT0xO249YSsxfDA7YnJlYWt9O2Nhc2UtMTpj
YXNlLTI6e2c9ZDtvPTIzNDM7YnJlYWsgTDI2OTM7YnJlYWt9O2RlZmF1bHQ6e209bDtuPWErbHww
fX1sPW0rZHwwO2s9aisxfDA7aWYoaz4+PjA+PWY+Pj4wfChufDApPT0oZXwwKSl7Zz1sO289MjM0
NTticmVha31lbHNle2E9bjtkPWw7aj1rfX1pZigob3wwKT09MjM0NSl7cmV0dXJuIGd8MH1lbHNl
IGlmKChvfDApPT0yMzQzKXtyZXR1cm4gZ3wwfXJldHVybiAwfWZ1bmN0aW9uIGpnKGEpe2E9YXww
O3ZhciBiPTAsZD0wLGU9MDtiPWNbYSs4Pj4yXXwwO2Rve2lmKChifDApPT0wKXtkPTF9ZWxzZXth
PWJCKGJ8MCl8MDtlPWJkKCl8MDtpZigoYXwwKT09MCl7ZD1lO2JyZWFrfWJCKGF8MCl8MDtkPWV9
fXdoaWxlKDApO3JldHVybiBkfDB9ZnVuY3Rpb24gamgoYSxiLGQsZSxmKXthPWF8MDtiPWJ8MDtk
PWR8MDtlPWV8MDtmPWZ8MDtjW2Y+PjJdPWQ7cmV0dXJuIDN9ZnVuY3Rpb24gamkoYSl7YT1hfDA7
cmV0dXJuIDB9ZnVuY3Rpb24gamooYSl7YT1hfDA7cmV0dXJuIDB9ZnVuY3Rpb24gamsoYSl7YT1h
fDA7cmV0dXJuIDR9ZnVuY3Rpb24gamwoZCxmLGcsaCxpLGosayxsKXtkPWR8MDtmPWZ8MDtnPWd8
MDtoPWh8MDtpPWl8MDtqPWp8MDtrPWt8MDtsPWx8MDt2YXIgbT0wLG49MCxvPTAscD0wLHE9MCxy
PTA7Y1tnPj4yXT1kO2Nbaj4+Ml09aDtkb3tpZigobCYyfDApIT0wKXtpZigoaS1ofDApPDMpe209
MTtyZXR1cm4gbXwwfWVsc2V7Y1tqPj4yXT1oKzE7YVtoXT0tMTc7ZD1jW2o+PjJdfDA7Y1tqPj4y
XT1kKzE7YVtkXT0tNjk7ZD1jW2o+PjJdfDA7Y1tqPj4yXT1kKzE7YVtkXT0tNjU7YnJlYWt9fX13
aGlsZSgwKTtoPWY7bD1jW2c+PjJdfDA7aWYobD4+PjA+PWY+Pj4wKXttPTA7cmV0dXJuIG18MH1k
PWk7aT1sO0wyNzI3OndoaWxlKDEpe2w9YltpPj4xXXwwO249bCY2NTUzNTtpZihuPj4+MD5rPj4+
MCl7bT0yO289MjM5OTticmVha31kb3tpZigobCY2NTUzNSk8MTI4KXtwPWNbaj4+Ml18MDtpZigo
ZC1wfDApPDEpe209MTtvPTIzODg7YnJlYWsgTDI3Mjd9Y1tqPj4yXT1wKzE7YVtwXT1sJjI1NX1l
bHNle2lmKChsJjY1NTM1KTwyMDQ4KXtwPWNbaj4+Ml18MDtpZigoZC1wfDApPDIpe209MTtvPTIz
ODk7YnJlYWsgTDI3Mjd9Y1tqPj4yXT1wKzE7YVtwXT0obj4+PjZ8MTkyKSYyNTU7cD1jW2o+PjJd
fDA7Y1tqPj4yXT1wKzE7YVtwXT0obiY2M3wxMjgpJjI1NTticmVha31pZigobCY2NTUzNSk8NTUy
OTYpe3A9Y1tqPj4yXXwwO2lmKChkLXB8MCk8Myl7bT0xO289MjM5NzticmVhayBMMjcyN31jW2o+
PjJdPXArMTthW3BdPShuPj4+MTJ8MjI0KSYyNTU7cD1jW2o+PjJdfDA7Y1tqPj4yXT1wKzE7YVtw
XT0obj4+PjYmNjN8MTI4KSYyNTU7cD1jW2o+PjJdfDA7Y1tqPj4yXT1wKzE7YVtwXT0obiY2M3wx
MjgpJjI1NTticmVha31pZigobCY2NTUzNSk+PTU2MzIwKXtpZigobCY2NTUzNSk8NTczNDQpe209
MjtvPTIzOTM7YnJlYWsgTDI3Mjd9cD1jW2o+PjJdfDA7aWYoKGQtcHwwKTwzKXttPTE7bz0yMzk0
O2JyZWFrIEwyNzI3fWNbaj4+Ml09cCsxO2FbcF09KG4+Pj4xMnwyMjQpJjI1NTtwPWNbaj4+Ml18
MDtjW2o+PjJdPXArMTthW3BdPShuPj4+NiY2M3wxMjgpJjI1NTtwPWNbaj4+Ml18MDtjW2o+PjJd
PXArMTthW3BdPShuJjYzfDEyOCkmMjU1O2JyZWFrfWlmKChoLWl8MCk8NCl7bT0xO289MjM5MTti
cmVhayBMMjcyN31wPWkrMnwwO3E9ZVtwPj4xXXwwO2lmKChxJjY0NTEyfDApIT01NjMyMCl7bT0y
O289MjM5MjticmVhayBMMjcyN31pZigoZC0oY1tqPj4yXXwwKXwwKTw0KXttPTE7bz0yMzk4O2Jy
ZWFrIEwyNzI3fXI9biY5NjA7aWYoKChyPDwxMCkrNjU1MzZ8bjw8MTAmNjQ1MTJ8cSYxMDIzKT4+
PjA+az4+PjApe209MjtvPTI0MDA7YnJlYWsgTDI3Mjd9Y1tnPj4yXT1wO3A9KHI+Pj42KSsxfDA7
cj1jW2o+PjJdfDA7Y1tqPj4yXT1yKzE7YVtyXT0ocD4+PjJ8MjQwKSYyNTU7cj1jW2o+PjJdfDA7
Y1tqPj4yXT1yKzE7YVtyXT0obj4+PjImMTV8cDw8NCY0OHwxMjgpJjI1NTtwPWNbaj4+Ml18MDtj
W2o+PjJdPXArMTthW3BdPShuPDw0JjQ4fHE+Pj42JjE1fDEyOCkmMjU1O3A9Y1tqPj4yXXwwO2Nb
aj4+Ml09cCsxO2FbcF09KHEmNjN8MTI4KSYyNTV9fXdoaWxlKDApO249KGNbZz4+Ml18MCkrMnww
O2NbZz4+Ml09bjtpZihuPj4+MDxmPj4+MCl7aT1ufWVsc2V7bT0wO289MjM5NTticmVha319aWYo
KG98MCk9PTIzODkpe3JldHVybiBtfDB9ZWxzZSBpZigob3wwKT09MjM5Myl7cmV0dXJuIG18MH1l
bHNlIGlmKChvfDApPT0yMzk0KXtyZXR1cm4gbXwwfWVsc2UgaWYoKG98MCk9PTI0MDApe3JldHVy
biBtfDB9ZWxzZSBpZigob3wwKT09MjM4OCl7cmV0dXJuIG18MH1lbHNlIGlmKChvfDApPT0yMzkx
KXtyZXR1cm4gbXwwfWVsc2UgaWYoKG98MCk9PTIzOTIpe3JldHVybiBtfDB9ZWxzZSBpZigob3ww
KT09MjM5NSl7cmV0dXJuIG18MH1lbHNlIGlmKChvfDApPT0yMzk3KXtyZXR1cm4gbXwwfWVsc2Ug
aWYoKG98MCk9PTIzOTgpe3JldHVybiBtfDB9ZWxzZSBpZigob3wwKT09MjM5OSl7cmV0dXJuIG18
MH1yZXR1cm4gMH1mdW5jdGlvbiBqbShlLGYsZyxoLGksaixrLGwpe2U9ZXwwO2Y9ZnwwO2c9Z3ww
O2g9aHwwO2k9aXwwO2o9anwwO2s9a3wwO2w9bHwwO3ZhciBtPTAsbj0wLG89MCxwPTAscT0wLHI9
MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTA7Y1tnPj4yXT1lO2Nbaj4+Ml09aDtoPWNbZz4+
Ml18MDtkb3tpZigobCY0fDApPT0wKXttPWh9ZWxzZXtpZigoZi1ofDApPD0yKXttPWg7YnJlYWt9
aWYoKGFbaF18MCkhPS0xNyl7bT1oO2JyZWFrfWlmKChhW2grMXwwXXwwKSE9LTY5KXttPWg7YnJl
YWt9aWYoKGFbaCsyfDBdfDApIT0tNjUpe209aDticmVha31lPWgrM3wwO2NbZz4+Ml09ZTttPWV9
fXdoaWxlKDApO0wyNzcyOmRve2lmKG0+Pj4wPGY+Pj4wKXtoPWY7bD1pO2U9Y1tqPj4yXXwwO249
bTtMMjc3NDp3aGlsZSgxKXtpZihlPj4+MD49aT4+PjApe289bjticmVhayBMMjc3Mn1wPWFbbl18
MDtxPXAmMjU1O2lmKHE+Pj4wPms+Pj4wKXtyPTI7cz0yNDQ0O2JyZWFrfWRve2lmKHA8PDI0Pj4y
ND4tMSl7YltlPj4xXT1wJjI1NTtjW2c+PjJdPShjW2c+PjJdfDApKzF9ZWxzZXtpZigocCYyNTUp
PDE5NCl7cj0yO3M9MjQ1MzticmVhayBMMjc3NH1pZigocCYyNTUpPDIyNCl7aWYoKGgtbnwwKTwy
KXtyPTE7cz0yNDU0O2JyZWFrIEwyNzc0fXQ9ZFtuKzF8MF18MDtpZigodCYxOTJ8MCkhPTEyOCl7
cj0yO3M9MjQ1NTticmVhayBMMjc3NH11PXQmNjN8cTw8NiYxOTg0O2lmKHU+Pj4wPms+Pj4wKXty
PTI7cz0yNDU2O2JyZWFrIEwyNzc0fWJbZT4+MV09dSY2NTUzNTtjW2c+PjJdPShjW2c+PjJdfDAp
KzI7YnJlYWt9aWYoKHAmMjU1KTwyNDApe2lmKChoLW58MCk8Myl7cj0xO3M9MjQ1NzticmVhayBM
Mjc3NH11PWFbbisxfDBdfDA7c3dpdGNoKHF8MCl7Y2FzZSAyMjQ6e2lmKCh1Ji0zMik8PDI0Pj4y
NCE9LTk2KXtyPTI7cz0yNDUwO2JyZWFrIEwyNzc0fWJyZWFrfTtjYXNlIDIzNzp7aWYoKHUmLTMy
KTw8MjQ+PjI0IT0tMTI4KXtyPTI7cz0yNDUyO2JyZWFrIEwyNzc0fWJyZWFrfTtkZWZhdWx0Ontp
ZigodSYtNjQpPDwyND4+MjQhPS0xMjgpe3I9MjtzPTI0NjI7YnJlYWsgTDI3NzR9fX10PWRbbisy
fDBdfDA7aWYoKHQmMTkyfDApIT0xMjgpe3I9MjtzPTI0NDM7YnJlYWsgTDI3NzR9dj0odSYyNTUp
PDw2JjQwMzJ8cTw8MTJ8dCY2MztpZigodiY2NTUzNSk+Pj4wPms+Pj4wKXtyPTI7cz0yNDQyO2Jy
ZWFrIEwyNzc0fWJbZT4+MV09diY2NTUzNTtjW2c+PjJdPShjW2c+PjJdfDApKzM7YnJlYWt9aWYo
KHAmMjU1KT49MjQ1KXtyPTI7cz0yNDQ3O2JyZWFrIEwyNzc0fWlmKChoLW58MCk8NCl7cj0xO3M9
MjQ1ODticmVhayBMMjc3NH12PWFbbisxfDBdfDA7c3dpdGNoKHF8MCl7Y2FzZSAyNDA6e2lmKCh2
KzExMiYyNTUpPj00OCl7cj0yO3M9MjQ0ODticmVhayBMMjc3NH1icmVha307Y2FzZSAyNDQ6e2lm
KCh2Ji0xNik8PDI0Pj4yNCE9LTEyOCl7cj0yO3M9MjQ1OTticmVhayBMMjc3NH1icmVha307ZGVm
YXVsdDp7aWYoKHYmLTY0KTw8MjQ+PjI0IT0tMTI4KXtyPTI7cz0yNDYwO2JyZWFrIEwyNzc0fX19
dD1kW24rMnwwXXwwO2lmKCh0JjE5MnwwKSE9MTI4KXtyPTI7cz0yNDYxO2JyZWFrIEwyNzc0fXU9
ZFtuKzN8MF18MDtpZigodSYxOTJ8MCkhPTEyOCl7cj0yO3M9MjQ0OTticmVhayBMMjc3NH1pZigo
bC1lfDApPDQpe3I9MTtzPTI0NDU7YnJlYWsgTDI3NzR9dz1xJjc7eD12JjI1NTt2PXQ8PDY7eT11
JjYzO2lmKCh4PDwxMiYyNTgwNDh8dzw8MTh8diY0MDMyfHkpPj4+MD5rPj4+MCl7cj0yO3M9MjQ0
NjticmVhayBMMjc3NH1iW2U+PjFdPSh4PDwyJjYwfHQ+Pj40JjN8KCh4Pj4+NCYzfHc8PDIpPDw2
KSsxNjMyMHw1NTI5NikmNjU1MzU7dz0oY1tqPj4yXXwwKSsyfDA7Y1tqPj4yXT13O2Jbdz4+MV09
KHl8diY5NjB8NTYzMjApJjY1NTM1O2NbZz4+Ml09KGNbZz4+Ml18MCkrNH19d2hpbGUoMCk7cT0o
Y1tqPj4yXXwwKSsyfDA7Y1tqPj4yXT1xO3A9Y1tnPj4yXXwwO2lmKHA+Pj4wPGY+Pj4wKXtlPXE7
bj1wfWVsc2V7bz1wO2JyZWFrIEwyNzcyfX1pZigoc3wwKT09MjQ0Mil7cmV0dXJuIHJ8MH1lbHNl
IGlmKChzfDApPT0yNDQzKXtyZXR1cm4gcnwwfWVsc2UgaWYoKHN8MCk9PTI0NDQpe3JldHVybiBy
fDB9ZWxzZSBpZigoc3wwKT09MjQ0OCl7cmV0dXJuIHJ8MH1lbHNlIGlmKChzfDApPT0yNDQ5KXty
ZXR1cm4gcnwwfWVsc2UgaWYoKHN8MCk9PTI0NTApe3JldHVybiByfDB9ZWxzZSBpZigoc3wwKT09
MjQ0NSl7cmV0dXJuIHJ8MH1lbHNlIGlmKChzfDApPT0yNDQ2KXtyZXR1cm4gcnwwfWVsc2UgaWYo
KHN8MCk9PTI0NDcpe3JldHVybiByfDB9ZWxzZSBpZigoc3wwKT09MjQ1Nil7cmV0dXJuIHJ8MH1l
bHNlIGlmKChzfDApPT0yNDU3KXtyZXR1cm4gcnwwfWVsc2UgaWYoKHN8MCk9PTI0NTgpe3JldHVy
biByfDB9ZWxzZSBpZigoc3wwKT09MjQ1OSl7cmV0dXJuIHJ8MH1lbHNlIGlmKChzfDApPT0yNDYw
KXtyZXR1cm4gcnwwfWVsc2UgaWYoKHN8MCk9PTI0NjEpe3JldHVybiByfDB9ZWxzZSBpZigoc3ww
KT09MjQ2Mil7cmV0dXJuIHJ8MH1lbHNlIGlmKChzfDApPT0yNDUyKXtyZXR1cm4gcnwwfWVsc2Ug
aWYoKHN8MCk9PTI0NTMpe3JldHVybiByfDB9ZWxzZSBpZigoc3wwKT09MjQ1NCl7cmV0dXJuIHJ8
MH1lbHNlIGlmKChzfDApPT0yNDU1KXtyZXR1cm4gcnwwfX1lbHNle289bX19d2hpbGUoMCk7cj1v
Pj4+MDxmPj4+MHwwO3JldHVybiByfDB9ZnVuY3Rpb24gam4oYixjLGUsZixnKXtiPWJ8MDtjPWN8
MDtlPWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxw
PTAscT0wLHI9MCxzPTAsdD0wLHU9MCx2PTA7ZG97aWYoKGcmNHwwKT09MCl7aD1ifWVsc2V7aWYo
KGMtYnwwKTw9Mil7aD1iO2JyZWFrfWlmKChhW2JdfDApIT0tMTcpe2g9YjticmVha31pZigoYVti
KzF8MF18MCkhPS02OSl7aD1iO2JyZWFrfWg9KGFbYisyfDBdfDApPT0tNjU/YiszfDA6Yn19d2hp
bGUoMCk7TDI4NDE6ZG97aWYoaD4+PjA8Yz4+PjAmKGV8MCkhPTApe2c9YztpPTA7aj1oO0wyODQz
OndoaWxlKDEpe2s9YVtqXXwwO2w9ayYyNTU7aWYobD4+PjA+Zj4+PjApe209ajticmVhayBMMjg0
MX1kb3tpZihrPDwyND4+MjQ+LTEpe249aisxfDA7bz1pfWVsc2V7aWYoKGsmMjU1KTwxOTQpe209
ajticmVhayBMMjg0MX1pZigoayYyNTUpPDIyNCl7aWYoKGctanwwKTwyKXttPWo7YnJlYWsgTDI4
NDF9cD1kW2orMXwwXXwwO2lmKChwJjE5MnwwKSE9MTI4KXttPWo7YnJlYWsgTDI4NDF9aWYoKHAm
NjN8bDw8NiYxOTg0KT4+PjA+Zj4+PjApe209ajticmVhayBMMjg0MX1uPWorMnwwO289aTticmVh
a31pZigoayYyNTUpPDI0MCl7cT1qO2lmKChnLXF8MCk8Myl7bT1qO2JyZWFrIEwyODQxfXA9YVtq
KzF8MF18MDtzd2l0Y2gobHwwKXtjYXNlIDIyNDp7aWYoKHAmLTMyKTw8MjQ+PjI0IT0tOTYpe3I9
MjQ4MzticmVhayBMMjg0M31icmVha307Y2FzZSAyMzc6e2lmKChwJi0zMik8PDI0Pj4yNCE9LTEy
OCl7cj0yNDg1O2JyZWFrIEwyODQzfWJyZWFrfTtkZWZhdWx0OntpZigocCYtNjQpPDwyND4+MjQh
PS0xMjgpe3I9MjQ4NzticmVhayBMMjg0M319fXM9ZFtqKzJ8MF18MDtpZigocyYxOTJ8MCkhPTEy
OCl7bT1qO2JyZWFrIEwyODQxfWlmKCgocCYyNTUpPDw2JjQwMzJ8bDw8MTImNjE0NDB8cyY2Myk+
Pj4wPmY+Pj4wKXttPWo7YnJlYWsgTDI4NDF9bj1qKzN8MDtvPWk7YnJlYWt9aWYoKGsmMjU1KT49
MjQ1KXttPWo7YnJlYWsgTDI4NDF9dD1qO2lmKChnLXR8MCk8NCl7bT1qO2JyZWFrIEwyODQxfWlm
KChlLWl8MCk+Pj4wPDIpe209ajticmVhayBMMjg0MX1zPWFbaisxfDBdfDA7c3dpdGNoKGx8MCl7
Y2FzZSAyNDA6e2lmKChzKzExMiYyNTUpPj00OCl7cj0yNDk2O2JyZWFrIEwyODQzfWJyZWFrfTtj
YXNlIDI0NDp7aWYoKHMmLTE2KTw8MjQ+PjI0IT0tMTI4KXtyPTI0OTg7YnJlYWsgTDI4NDN9YnJl
YWt9O2RlZmF1bHQ6e2lmKChzJi02NCk8PDI0Pj4yNCE9LTEyOCl7cj0yNTAwO2JyZWFrIEwyODQz
fX19cD1kW2orMnwwXXwwO2lmKChwJjE5MnwwKSE9MTI4KXttPWo7YnJlYWsgTDI4NDF9dT1kW2or
M3wwXXwwO2lmKCh1JjE5MnwwKSE9MTI4KXttPWo7YnJlYWsgTDI4NDF9aWYoKChzJjI1NSk8PDEy
JjI1ODA0OHxsPDwxOCYxODM1MDA4fHA8PDYmNDAzMnx1JjYzKT4+PjA+Zj4+PjApe209ajticmVh
ayBMMjg0MX1uPWorNHwwO289aSsxfDB9fXdoaWxlKDApO2w9bysxfDA7aWYobj4+PjA8Yz4+PjAm
bD4+PjA8ZT4+PjApe2k9bDtqPW59ZWxzZXttPW47YnJlYWsgTDI4NDF9fWlmKChyfDApPT0yNTAw
KXt2PXQtYnwwO3JldHVybiB2fDB9ZWxzZSBpZigocnwwKT09MjQ5Nil7dj10LWJ8MDtyZXR1cm4g
dnwwfWVsc2UgaWYoKHJ8MCk9PTI0OTgpe3Y9dC1ifDA7cmV0dXJuIHZ8MH1lbHNlIGlmKChyfDAp
PT0yNDgzKXt2PXEtYnwwO3JldHVybiB2fDB9ZWxzZSBpZigocnwwKT09MjQ4NSl7dj1xLWJ8MDty
ZXR1cm4gdnwwfWVsc2UgaWYoKHJ8MCk9PTI0ODcpe3Y9cS1ifDA7cmV0dXJuIHZ8MH19ZWxzZXtt
PWh9fXdoaWxlKDApO3Y9bS1ifDA7cmV0dXJuIHZ8MH1mdW5jdGlvbiBqbyhhLGIsZCxlLGYsZyxo
LGope2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9aHwwO2o9anwwO3ZhciBr
PTAsbD0wO2I9aTtpPWkrMTZ8MDthPWJ8MDtrPWIrOHwwO2NbYT4+Ml09ZDtjW2s+PjJdPWc7bD1q
bShkLGUsYSxnLGgsaywxMTE0MTExLDApfDA7Y1tmPj4yXT1kKygoY1thPj4yXXwwKS1kKTtjW2o+
PjJdPWcrKChjW2s+PjJdfDApLWc+PjE8PDEpO2k9YjtyZXR1cm4gbHwwfWZ1bmN0aW9uIGpwKGEs
YixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7cmV0dXJuIGpuKGMsZCxlLDEx
MTQxMTEsMCl8MH1mdW5jdGlvbiBqcShhKXthPWF8MDtkZShhfDApO2tTKGEpO3JldHVybn1mdW5j
dGlvbiBqcihhLGIsZCxlLGYsZyxoLGope2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9
Z3wwO2g9aHwwO2o9anwwO3ZhciBrPTAsbD0wO2I9aTtpPWkrMTZ8MDthPWJ8MDtrPWIrOHwwO2Nb
YT4+Ml09ZDtjW2s+PjJdPWc7bD1qdyhkLGUsYSxnLGgsaywxMTE0MTExLDApfDA7Y1tmPj4yXT1k
KygoY1thPj4yXXwwKS1kPj4yPDwyKTtjW2o+PjJdPWcrKChjW2s+PjJdfDApLWcpO2k9YjtyZXR1
cm4gbHwwfWZ1bmN0aW9uIGpzKGEsYixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1m
fDA7Y1tmPj4yXT1kO3JldHVybiAzfWZ1bmN0aW9uIGp0KGEpe2E9YXwwO3JldHVybiAwfWZ1bmN0
aW9uIGp1KGEpe2E9YXwwO3JldHVybiAwfWZ1bmN0aW9uIGp2KGEpe2E9YXwwO3JldHVybiA0fWZ1
bmN0aW9uIGp3KGIsZCxlLGYsZyxoLGksail7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7
aD1ofDA7aT1pfDA7aj1qfDA7dmFyIGs9MCxsPTAsbT0wLG49MDtjW2U+PjJdPWI7Y1toPj4yXT1m
O2Rve2lmKChqJjJ8MCkhPTApe2lmKChnLWZ8MCk8Myl7az0xO3JldHVybiBrfDB9ZWxzZXtjW2g+
PjJdPWYrMTthW2ZdPS0xNztiPWNbaD4+Ml18MDtjW2g+PjJdPWIrMTthW2JdPS02OTtiPWNbaD4+
Ml18MDtjW2g+PjJdPWIrMTthW2JdPS02NTticmVha319fXdoaWxlKDApO2Y9Y1tlPj4yXXwwO2lm
KGY+Pj4wPj1kPj4+MCl7az0wO3JldHVybiBrfDB9aj1nO2c9ZjtMMjkxMjp3aGlsZSgxKXtmPWNb
Zz4+Ml18MDtpZigoZiYtMjA0OHwwKT09NTUyOTZ8Zj4+PjA+aT4+PjApe2s9MjtsPTI1NDg7YnJl
YWt9ZG97aWYoZj4+PjA8MTI4KXtiPWNbaD4+Ml18MDtpZigoai1ifDApPDEpe2s9MTtsPTI1NDQ7
YnJlYWsgTDI5MTJ9Y1toPj4yXT1iKzE7YVtiXT1mJjI1NX1lbHNle2lmKGY+Pj4wPDIwNDgpe2I9
Y1toPj4yXXwwO2lmKChqLWJ8MCk8Mil7az0xO2w9MjU0NzticmVhayBMMjkxMn1jW2g+PjJdPWIr
MTthW2JdPShmPj4+NnwxOTIpJjI1NTtiPWNbaD4+Ml18MDtjW2g+PjJdPWIrMTthW2JdPShmJjYz
fDEyOCkmMjU1O2JyZWFrfWI9Y1toPj4yXXwwO209ai1ifDA7aWYoZj4+PjA8NjU1MzYpe2lmKCht
fDApPDMpe2s9MTtsPTI1NDk7YnJlYWsgTDI5MTJ9Y1toPj4yXT1iKzE7YVtiXT0oZj4+PjEyfDIy
NCkmMjU1O249Y1toPj4yXXwwO2NbaD4+Ml09bisxO2Fbbl09KGY+Pj42JjYzfDEyOCkmMjU1O249
Y1toPj4yXXwwO2NbaD4+Ml09bisxO2Fbbl09KGYmNjN8MTI4KSYyNTU7YnJlYWt9ZWxzZXtpZigo
bXwwKTw0KXtrPTE7bD0yNTQyO2JyZWFrIEwyOTEyfWNbaD4+Ml09YisxO2FbYl09KGY+Pj4xOHwy
NDApJjI1NTtiPWNbaD4+Ml18MDtjW2g+PjJdPWIrMTthW2JdPShmPj4+MTImNjN8MTI4KSYyNTU7
Yj1jW2g+PjJdfDA7Y1toPj4yXT1iKzE7YVtiXT0oZj4+PjYmNjN8MTI4KSYyNTU7Yj1jW2g+PjJd
fDA7Y1toPj4yXT1iKzE7YVtiXT0oZiY2M3wxMjgpJjI1NTticmVha319fXdoaWxlKDApO2Y9KGNb
ZT4+Ml18MCkrNHwwO2NbZT4+Ml09ZjtpZihmPj4+MDxkPj4+MCl7Zz1mfWVsc2V7az0wO2w9MjU0
MzticmVha319aWYoKGx8MCk9PTI1NDMpe3JldHVybiBrfDB9ZWxzZSBpZigobHwwKT09MjU0Mil7
cmV0dXJuIGt8MH1lbHNlIGlmKChsfDApPT0yNTQ0KXtyZXR1cm4ga3wwfWVsc2UgaWYoKGx8MCk9
PTI1NDgpe3JldHVybiBrfDB9ZWxzZSBpZigobHwwKT09MjU0OSl7cmV0dXJuIGt8MH1lbHNlIGlm
KChsfDApPT0yNTQ3KXtyZXR1cm4ga3wwfXJldHVybiAwfWZ1bmN0aW9uIGp4KGIsZSxmLGcsaCxp
LGosayl7Yj1ifDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1ofDA7aT1pfDA7aj1qfDA7az1rfDA7dmFy
IGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9MDtjW2Y+PjJdPWI7Y1tpPj4y
XT1nO2c9Y1tmPj4yXXwwO2Rve2lmKChrJjR8MCk9PTApe2w9Z31lbHNle2lmKChlLWd8MCk8PTIp
e2w9ZzticmVha31pZigoYVtnXXwwKSE9LTE3KXtsPWc7YnJlYWt9aWYoKGFbZysxfDBdfDApIT0t
Njkpe2w9ZzticmVha31pZigoYVtnKzJ8MF18MCkhPS02NSl7bD1nO2JyZWFrfWI9ZyszfDA7Y1tm
Pj4yXT1iO2w9Yn19d2hpbGUoMCk7TDI5NDQ6ZG97aWYobD4+PjA8ZT4+PjApe2c9ZTtrPWNbaT4+
Ml18MDtiPWw7TDI5NDY6d2hpbGUoMSl7aWYoaz4+PjA+PWg+Pj4wKXttPWI7YnJlYWsgTDI5NDR9
bj1hW2JdfDA7bz1uJjI1NTtkb3tpZihuPDwyND4+MjQ+LTEpe2lmKG8+Pj4wPmo+Pj4wKXtwPTI7
cT0yNjA5O2JyZWFrIEwyOTQ2fWNbaz4+Ml09bztjW2Y+PjJdPShjW2Y+PjJdfDApKzF9ZWxzZXtp
ZigobiYyNTUpPDE5NCl7cD0yO3E9MjYwMjticmVhayBMMjk0Nn1pZigobiYyNTUpPDIyNCl7aWYo
KGctYnwwKTwyKXtwPTE7cT0yNjA1O2JyZWFrIEwyOTQ2fXI9ZFtiKzF8MF18MDtpZigociYxOTJ8
MCkhPTEyOCl7cD0yO3E9MjU5ODticmVhayBMMjk0Nn1zPXImNjN8bzw8NiYxOTg0O2lmKHM+Pj4w
Pmo+Pj4wKXtwPTI7cT0yNjA0O2JyZWFrIEwyOTQ2fWNbaz4+Ml09cztjW2Y+PjJdPShjW2Y+PjJd
fDApKzI7YnJlYWt9aWYoKG4mMjU1KTwyNDApe2lmKChnLWJ8MCk8Myl7cD0xO3E9MjYwNjticmVh
ayBMMjk0Nn1zPWFbYisxfDBdfDA7c3dpdGNoKG98MCl7Y2FzZSAyMjQ6e2lmKChzJi0zMik8PDI0
Pj4yNCE9LTk2KXtwPTI7cT0yNTkxO2JyZWFrIEwyOTQ2fWJyZWFrfTtjYXNlIDIzNzp7aWYoKHMm
LTMyKTw8MjQ+PjI0IT0tMTI4KXtwPTI7cT0yNTkzO2JyZWFrIEwyOTQ2fWJyZWFrfTtkZWZhdWx0
OntpZigocyYtNjQpPDwyND4+MjQhPS0xMjgpe3A9MjtxPTI2MDM7YnJlYWsgTDI5NDZ9fX1yPWRb
YisyfDBdfDA7aWYoKHImMTkyfDApIT0xMjgpe3A9MjtxPTI1OTQ7YnJlYWsgTDI5NDZ9dD0ocyYy
NTUpPDw2JjQwMzJ8bzw8MTImNjE0NDB8ciY2MztpZih0Pj4+MD5qPj4+MCl7cD0yO3E9MjU5Mjti
cmVhayBMMjk0Nn1jW2s+PjJdPXQ7Y1tmPj4yXT0oY1tmPj4yXXwwKSszO2JyZWFrfWlmKChuJjI1
NSk+PTI0NSl7cD0yO3E9MjYwNzticmVhayBMMjk0Nn1pZigoZy1ifDApPDQpe3A9MTtxPTI2MDg7
YnJlYWsgTDI5NDZ9dD1hW2IrMXwwXXwwO3N3aXRjaChvfDApe2Nhc2UgMjQwOntpZigodCsxMTIm
MjU1KT49NDgpe3A9MjtxPTI1OTA7YnJlYWsgTDI5NDZ9YnJlYWt9O2Nhc2UgMjQ0OntpZigodCYt
MTYpPDwyND4+MjQhPS0xMjgpe3A9MjtxPTI1OTY7YnJlYWsgTDI5NDZ9YnJlYWt9O2RlZmF1bHQ6
e2lmKCh0Ji02NCk8PDI0Pj4yNCE9LTEyOCl7cD0yO3E9MjU5NzticmVhayBMMjk0Nn19fXI9ZFti
KzJ8MF18MDtpZigociYxOTJ8MCkhPTEyOCl7cD0yO3E9MjU5OTticmVhayBMMjk0Nn1zPWRbYisz
fDBdfDA7aWYoKHMmMTkyfDApIT0xMjgpe3A9MjtxPTI2MDE7YnJlYWsgTDI5NDZ9dT0odCYyNTUp
PDwxMiYyNTgwNDh8bzw8MTgmMTgzNTAwOHxyPDw2JjQwMzJ8cyY2MztpZih1Pj4+MD5qPj4+MCl7
cD0yO3E9MjYwMDticmVhayBMMjk0Nn1jW2s+PjJdPXU7Y1tmPj4yXT0oY1tmPj4yXXwwKSs0fX13
aGlsZSgwKTtvPShjW2k+PjJdfDApKzR8MDtjW2k+PjJdPW87bj1jW2Y+PjJdfDA7aWYobj4+PjA8
ZT4+PjApe2s9bztiPW59ZWxzZXttPW47YnJlYWsgTDI5NDR9fWlmKChxfDApPT0yNTk3KXtyZXR1
cm4gcHwwfWVsc2UgaWYoKHF8MCk9PTI1OTgpe3JldHVybiBwfDB9ZWxzZSBpZigocXwwKT09MjU5
OSl7cmV0dXJuIHB8MH1lbHNlIGlmKChxfDApPT0yNjAwKXtyZXR1cm4gcHwwfWVsc2UgaWYoKHF8
MCk9PTI1OTMpe3JldHVybiBwfDB9ZWxzZSBpZigocXwwKT09MjU5NCl7cmV0dXJuIHB8MH1lbHNl
IGlmKChxfDApPT0yNTk2KXtyZXR1cm4gcHwwfWVsc2UgaWYoKHF8MCk9PTI2MDUpe3JldHVybiBw
fDB9ZWxzZSBpZigocXwwKT09MjYwNil7cmV0dXJuIHB8MH1lbHNlIGlmKChxfDApPT0yNjA3KXty
ZXR1cm4gcHwwfWVsc2UgaWYoKHF8MCk9PTI2MDgpe3JldHVybiBwfDB9ZWxzZSBpZigocXwwKT09
MjYwOSl7cmV0dXJuIHB8MH1lbHNlIGlmKChxfDApPT0yNTkwKXtyZXR1cm4gcHwwfWVsc2UgaWYo
KHF8MCk9PTI1OTEpe3JldHVybiBwfDB9ZWxzZSBpZigocXwwKT09MjU5Mil7cmV0dXJuIHB8MH1l
bHNlIGlmKChxfDApPT0yNjAxKXtyZXR1cm4gcHwwfWVsc2UgaWYoKHF8MCk9PTI2MDIpe3JldHVy
biBwfDB9ZWxzZSBpZigocXwwKT09MjYwMyl7cmV0dXJuIHB8MH1lbHNlIGlmKChxfDApPT0yNjA0
KXtyZXR1cm4gcHwwfX1lbHNle209bH19d2hpbGUoMCk7cD1tPj4+MDxlPj4+MHwwO3JldHVybiBw
fDB9ZnVuY3Rpb24gankoYixjLGUsZixnKXtiPWJ8MDtjPWN8MDtlPWV8MDtmPWZ8MDtnPWd8MDt2
YXIgaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAsdD0wLHU9
MDtkb3tpZigoZyY0fDApPT0wKXtoPWJ9ZWxzZXtpZigoYy1ifDApPD0yKXtoPWI7YnJlYWt9aWYo
KGFbYl18MCkhPS0xNyl7aD1iO2JyZWFrfWlmKChhW2IrMXwwXXwwKSE9LTY5KXtoPWI7YnJlYWt9
aD0oYVtiKzJ8MF18MCk9PS02NT9iKzN8MDpifX13aGlsZSgwKTtMMzAxMTpkb3tpZihoPj4+MDxj
Pj4+MCYoZXwwKSE9MCl7Zz1jO2k9MTtqPWg7TDMwMTM6d2hpbGUoMSl7az1hW2pdfDA7bD1rJjI1
NTtkb3tpZihrPDwyND4+MjQ+LTEpe2lmKGw+Pj4wPmY+Pj4wKXttPWo7YnJlYWsgTDMwMTF9bj1q
KzF8MH1lbHNle2lmKChrJjI1NSk8MTk0KXttPWo7YnJlYWsgTDMwMTF9aWYoKGsmMjU1KTwyMjQp
e2lmKChnLWp8MCk8Mil7bT1qO2JyZWFrIEwzMDExfW89ZFtqKzF8MF18MDtpZigobyYxOTJ8MCkh
PTEyOCl7bT1qO2JyZWFrIEwzMDExfWlmKChvJjYzfGw8PDYmMTk4NCk+Pj4wPmY+Pj4wKXttPWo7
YnJlYWsgTDMwMTF9bj1qKzJ8MDticmVha31pZigoayYyNTUpPDI0MCl7cD1qO2lmKChnLXB8MCk8
Myl7bT1qO2JyZWFrIEwzMDExfW89YVtqKzF8MF18MDtzd2l0Y2gobHwwKXtjYXNlIDIyNDp7aWYo
KG8mLTMyKTw8MjQ+PjI0IT0tOTYpe3E9MjYzMDticmVhayBMMzAxM31icmVha307Y2FzZSAyMzc6
e2lmKChvJi0zMik8PDI0Pj4yNCE9LTEyOCl7cT0yNjMyO2JyZWFrIEwzMDEzfWJyZWFrfTtkZWZh
dWx0OntpZigobyYtNjQpPDwyND4+MjQhPS0xMjgpe3E9MjYzNDticmVhayBMMzAxM319fXI9ZFtq
KzJ8MF18MDtpZigociYxOTJ8MCkhPTEyOCl7bT1qO2JyZWFrIEwzMDExfWlmKCgobyYyNTUpPDw2
JjQwMzJ8bDw8MTImNjE0NDB8ciY2Myk+Pj4wPmY+Pj4wKXttPWo7YnJlYWsgTDMwMTF9bj1qKzN8
MDticmVha31pZigoayYyNTUpPj0yNDUpe209ajticmVhayBMMzAxMX1zPWo7aWYoKGctc3wwKTw0
KXttPWo7YnJlYWsgTDMwMTF9cj1hW2orMXwwXXwwO3N3aXRjaChsfDApe2Nhc2UgMjQwOntpZigo
cisxMTImMjU1KT49NDgpe3E9MjY0MjticmVhayBMMzAxM31icmVha307Y2FzZSAyNDQ6e2lmKChy
Ji0xNik8PDI0Pj4yNCE9LTEyOCl7cT0yNjQ0O2JyZWFrIEwzMDEzfWJyZWFrfTtkZWZhdWx0Ontp
ZigociYtNjQpPDwyND4+MjQhPS0xMjgpe3E9MjY0NjticmVhayBMMzAxM319fW89ZFtqKzJ8MF18
MDtpZigobyYxOTJ8MCkhPTEyOCl7bT1qO2JyZWFrIEwzMDExfXQ9ZFtqKzN8MF18MDtpZigodCYx
OTJ8MCkhPTEyOCl7bT1qO2JyZWFrIEwzMDExfWlmKCgociYyNTUpPDwxMiYyNTgwNDh8bDw8MTgm
MTgzNTAwOHxvPDw2JjQwMzJ8dCY2Myk+Pj4wPmY+Pj4wKXttPWo7YnJlYWsgTDMwMTF9bj1qKzR8
MH19d2hpbGUoMCk7aWYoIShuPj4+MDxjPj4+MCZpPj4+MDxlPj4+MCkpe209bjticmVhayBMMzAx
MX1pPWkrMXwwO2o9bn1pZigocXwwKT09MjY0NCl7dT1zLWJ8MDtyZXR1cm4gdXwwfWVsc2UgaWYo
KHF8MCk9PTI2NDIpe3U9cy1ifDA7cmV0dXJuIHV8MH1lbHNlIGlmKChxfDApPT0yNjMwKXt1PXAt
YnwwO3JldHVybiB1fDB9ZWxzZSBpZigocXwwKT09MjYzMil7dT1wLWJ8MDtyZXR1cm4gdXwwfWVs
c2UgaWYoKHF8MCk9PTI2MzQpe3U9cC1ifDA7cmV0dXJuIHV8MH1lbHNlIGlmKChxfDApPT0yNjQ2
KXt1PXMtYnwwO3JldHVybiB1fDB9fWVsc2V7bT1ofX13aGlsZSgwKTt1PW0tYnwwO3JldHVybiB1
fDB9ZnVuY3Rpb24ganooYil7Yj1ifDA7cmV0dXJuIGFbYis4fDBdfDB9ZnVuY3Rpb24gakEoYSl7
YT1hfDA7cmV0dXJuIGNbYSs4Pj4yXXwwfWZ1bmN0aW9uIGpCKGIpe2I9YnwwO3JldHVybiBhW2Ir
OXwwXXwwfWZ1bmN0aW9uIGpDKGEpe2E9YXwwO3JldHVybiBjW2ErMTI+PjJdfDB9ZnVuY3Rpb24g
akQoYSxiLGQsZSxmLGcsaCxqKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDto
PWh8MDtqPWp8MDt2YXIgaz0wLGw9MDtiPWk7aT1pKzE2fDA7YT1ifDA7az1iKzh8MDtjW2E+PjJd
PWQ7Y1trPj4yXT1nO2w9angoZCxlLGEsZyxoLGssMTExNDExMSwwKXwwO2NbZj4+Ml09ZCsoKGNb
YT4+Ml18MCktZCk7Y1tqPj4yXT1nKygoY1trPj4yXXwwKS1nPj4yPDwyKTtpPWI7cmV0dXJuIGx8
MH1mdW5jdGlvbiBqRShhLGIsYyxkLGUpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO3Jl
dHVybiBqeShjLGQsZSwxMTE0MTExLDApfDB9ZnVuY3Rpb24gakYoYSl7YT1hfDA7ZGUoYXwwKTtr
UyhhKTtyZXR1cm59ZnVuY3Rpb24gakcoYSl7YT1hfDA7ZGUoYXwwKTtrUyhhKTtyZXR1cm59ZnVu
Y3Rpb24gakgoYSl7YT1hfDA7Y1thPj4yXT0zMDMyO2RQKGErMTJ8MCk7ZGUoYXwwKTtrUyhhKTty
ZXR1cm59ZnVuY3Rpb24gakkoYSl7YT1hfDA7Y1thPj4yXT0zMDMyO2RQKGErMTJ8MCk7ZGUoYXww
KTtyZXR1cm59ZnVuY3Rpb24gakooYSl7YT1hfDA7Y1thPj4yXT0yOTg0O2RQKGErMTZ8MCk7ZGUo
YXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24gaksoYSl7YT1hfDA7Y1thPj4yXT0yOTg0O2RQKGEr
MTZ8MCk7ZGUoYXwwKTtyZXR1cm59ZnVuY3Rpb24gakwoYSxiKXthPWF8MDtiPWJ8MDtkWShhLGIr
MTJ8MCk7cmV0dXJufWZ1bmN0aW9uIGpNKGEsYil7YT1hfDA7Yj1ifDA7ZFkoYSxiKzE2fDApO3Jl
dHVybn1mdW5jdGlvbiBqTihhLGIpe2E9YXwwO2I9YnwwO2RaKGEsMTI4OCw0KTtyZXR1cm59ZnVu
Y3Rpb24gak8oYSxiKXthPWF8MDtiPWJ8MDtleChhLDEyNjQsa20oMTI2NCl8MCk7cmV0dXJufWZ1
bmN0aW9uIGpQKGEsYil7YT1hfDA7Yj1ifDA7ZFooYSwxMjU2LDUpO3JldHVybn1mdW5jdGlvbiBq
UShhLGIpe2E9YXwwO2I9YnwwO2V4KGEsMTIzMixrbSgxMjMyKXwwKTtyZXR1cm59ZnVuY3Rpb24g
alIoYil7Yj1ifDA7dmFyIGQ9MDtpZigoYVsxNjM1Ml18MCkhPTApe2Q9Y1szNzAyXXwwO3JldHVy
biBkfDB9aWYoKGJjKDE2MzUyKXwwKT09MCl7ZD1jWzM3MDJdfDA7cmV0dXJuIGR8MH1kb3tpZigo
YVsxNjIzMl18MCk9PTApe2lmKChiYygxNjIzMil8MCk9PTApe2JyZWFrfWskKDExMzQ0LDAsMTY4
KTthJCgyNjYsMCx1fDApfDB9fXdoaWxlKDApO2RRKDExMzQ0LDE1MzYpfDA7ZFEoMTEzNTYsMTUy
OCl8MDtkUSgxMTM2OCwxNTIwKXwwO2RRKDExMzgwLDE1MDQpfDA7ZFEoMTEzOTIsMTQ4OCl8MDtk
USgxMTQwNCwxNDgwKXwwO2RRKDExNDE2LDE0NjQpfDA7ZFEoMTE0MjgsMTQ1Nil8MDtkUSgxMTQ0
MCwxNDQ4KXwwO2RRKDExNDUyLDE0NDApfDA7ZFEoMTE0NjQsMTQzMil8MDtkUSgxMTQ3NiwxNDAw
KXwwO2RRKDExNDg4LDEzOTIpfDA7ZFEoMTE1MDAsMTM4NCl8MDtjWzM3MDJdPTExMzQ0O2Q9Y1sz
NzAyXXwwO3JldHVybiBkfDB9ZnVuY3Rpb24galMoYil7Yj1ifDA7dmFyIGQ9MDtpZigoYVsxNjI5
Nl18MCkhPTApe2Q9Y1szNjgwXXwwO3JldHVybiBkfDB9aWYoKGJjKDE2Mjk2KXwwKT09MCl7ZD1j
WzM2ODBdfDA7cmV0dXJuIGR8MH1kb3tpZigoYVsxNjIwOF18MCk9PTApe2lmKChiYygxNjIwOCl8
MCk9PTApe2JyZWFrfWskKDEwNjAwLDAsMTY4KTthJCgxNDgsMCx1fDApfDB9fXdoaWxlKDApO2Vm
KDEwNjAwLDE5MTIpfDA7ZWYoMTA2MTIsMTg4MCl8MDtlZigxMDYyNCwxODQ4KXwwO2VmKDEwNjM2
LDE4MDgpfDA7ZWYoMTA2NDgsMTc2OCl8MDtlZigxMDY2MCwxNzM2KXwwO2VmKDEwNjcyLDE2OTYp
fDA7ZWYoMTA2ODQsMTY4MCl8MDtlZigxMDY5NiwxNjI0KXwwO2VmKDEwNzA4LDE2MDgpfDA7ZWYo
MTA3MjAsMTU5Mil8MDtlZigxMDczMiwxNTc2KXwwO2VmKDEwNzQ0LDE1NjApfDA7ZWYoMTA3NTYs
MTU0NCl8MDtjWzM2ODBdPTEwNjAwO2Q9Y1szNjgwXXwwO3JldHVybiBkfDB9ZnVuY3Rpb24galQo
Yil7Yj1ifDA7dmFyIGQ9MDtpZigoYVsxNjM0NF18MCkhPTApe2Q9Y1szNzAwXXwwO3JldHVybiBk
fDB9aWYoKGJjKDE2MzQ0KXwwKT09MCl7ZD1jWzM3MDBdfDA7cmV0dXJuIGR8MH1kb3tpZigoYVsx
NjIyNF18MCk9PTApe2lmKChiYygxNjIyNCl8MCk9PTApe2JyZWFrfWskKDExMDU2LDAsMjg4KTth
JCgxNzAsMCx1fDApfDB9fXdoaWxlKDApO2RRKDExMDU2LDI4OCl8MDtkUSgxMTA2OCwyNzIpfDA7
ZFEoMTEwODAsMjY0KXwwO2RRKDExMDkyLDI1Nil8MDtkUSgxMTEwNCwyNDgpfDA7ZFEoMTExMTYs
MjQwKXwwO2RRKDExMTI4LDIzMil8MDtkUSgxMTE0MCwyMjQpfDA7ZFEoMTExNTIsMTY4KXwwO2RR
KDExMTY0LDE2MCl8MDtkUSgxMTE3NiwxNDQpfDA7ZFEoMTExODgsMTI4KXwwO2RRKDExMjAwLDEy
MCl8MDtkUSgxMTIxMiwxMTIpfDA7ZFEoMTEyMjQsMTA0KXwwO2RRKDExMjM2LDk2KXwwO2RRKDEx
MjQ4LDI0OCl8MDtkUSgxMTI2MCw4OCl8MDtkUSgxMTI3Miw4MCl8MDtkUSgxMTI4NCwxOTc2KXww
O2RRKDExMjk2LDE5NjgpfDA7ZFEoMTEzMDgsMTk2MCl8MDtkUSgxMTMyMCwxOTUyKXwwO2RRKDEx
MzMyLDE5NDQpfDA7Y1szNzAwXT0xMTA1NjtkPWNbMzcwMF18MDtyZXR1cm4gZHwwfWZ1bmN0aW9u
IGpVKGIpe2I9YnwwO3ZhciBkPTA7aWYoKGFbMTYyODhdfDApIT0wKXtkPWNbMzY3OF18MDtyZXR1
cm4gZHwwfWlmKChiYygxNjI4OCl8MCk9PTApe2Q9Y1szNjc4XXwwO3JldHVybiBkfDB9ZG97aWYo
KGFbMTYyMDBdfDApPT0wKXtpZigoYmMoMTYyMDApfDApPT0wKXticmVha31rJCgxMDMxMiwwLDI4
OCk7YSQoMTIyLDAsdXwwKXwwfX13aGlsZSgwKTtlZigxMDMxMiw4MjQpfDA7ZWYoMTAzMjQsNzg0
KXwwO2VmKDEwMzM2LDc2MCl8MDtlZigxMDM0OCw3MzYpfDA7ZWYoMTAzNjAsNDI0KXwwO2VmKDEw
MzcyLDcxMil8MDtlZigxMDM4NCw2ODgpfDA7ZWYoMTAzOTYsNjU2KXwwO2VmKDEwNDA4LDYxNil8
MDtlZigxMDQyMCw1ODQpfDA7ZWYoMTA0MzIsNTQ0KXwwO2VmKDEwNDQ0LDUwNCl8MDtlZigxMDQ1
Niw0ODgpfDA7ZWYoMTA0NjgsNDcyKXwwO2VmKDEwNDgwLDQ1Nil8MDtlZigxMDQ5Miw0NDApfDA7
ZWYoMTA1MDQsNDI0KXwwO2VmKDEwNTE2LDQwOCl8MDtlZigxMDUyOCwzOTIpfDA7ZWYoMTA1NDAs
Mzc2KXwwO2VmKDEwNTUyLDM0NCl8MDtlZigxMDU2NCwzMjgpfDA7ZWYoMTA1NzYsMzEyKXwwO2Vm
KDEwNTg4LDI5Nil8MDtjWzM2NzhdPTEwMzEyO2Q9Y1szNjc4XXwwO3JldHVybiBkfDB9ZnVuY3Rp
b24galYoYil7Yj1ifDA7dmFyIGQ9MDtpZigoYVsxNjM2MF18MCkhPTApe2Q9Y1szNzA0XXwwO3Jl
dHVybiBkfDB9aWYoKGJjKDE2MzYwKXwwKT09MCl7ZD1jWzM3MDRdfDA7cmV0dXJuIGR8MH1kb3tp
ZigoYVsxNjI0MF18MCk9PTApe2lmKChiYygxNjI0MCl8MCk9PTApe2JyZWFrfWskKDExNTEyLDAs
Mjg4KTthJCgxMjAsMCx1fDApfDB9fXdoaWxlKDApO2RRKDExNTEyLDg2NCl8MDtkUSgxMTUyNCw4
NTYpfDA7Y1szNzA0XT0xMTUxMjtkPWNbMzcwNF18MDtyZXR1cm4gZHwwfWZ1bmN0aW9uIGpXKGIp
e2I9YnwwO3ZhciBkPTA7aWYoKGFbMTYzMDRdfDApIT0wKXtkPWNbMzY4Ml18MDtyZXR1cm4gZHww
fWlmKChiYygxNjMwNCl8MCk9PTApe2Q9Y1szNjgyXXwwO3JldHVybiBkfDB9ZG97aWYoKGFbMTYy
MTZdfDApPT0wKXtpZigoYmMoMTYyMTYpfDApPT0wKXticmVha31rJCgxMDc2OCwwLDI4OCk7YSQo
MjQwLDAsdXwwKXwwfX13aGlsZSgwKTtlZigxMDc2OCw4ODgpfDA7ZWYoMTA3ODAsODcyKXwwO2Nb
MzY4Ml09MTA3Njg7ZD1jWzM2ODJdfDA7cmV0dXJuIGR8MH1mdW5jdGlvbiBqWChiKXtiPWJ8MDtp
ZigoYVsxNjM2OF18MCkhPTApe3JldHVybiAxNDgyNH1pZigoYmMoMTYzNjgpfDApPT0wKXtyZXR1
cm4gMTQ4MjR9ZFooMTQ4MjQsMTIxNiw4KTthJCgyNTgsMTQ4MjQsdXwwKXwwO3JldHVybiAxNDgy
NH1mdW5jdGlvbiBqWShiKXtiPWJ8MDtpZigoYVsxNjMxMl18MCkhPTApe3JldHVybiAxNDczNn1p
ZigoYmMoMTYzMTIpfDApPT0wKXtyZXR1cm4gMTQ3MzZ9ZXgoMTQ3MzYsMTE3NixrbSgxMTc2KXww
KTthJCgxOTIsMTQ3MzYsdXwwKXwwO3JldHVybiAxNDczNn1mdW5jdGlvbiBqWihiKXtiPWJ8MDtp
ZigoYVsxNjM5Ml18MCkhPTApe3JldHVybiAxNDg3Mn1pZigoYmMoMTYzOTIpfDApPT0wKXtyZXR1
cm4gMTQ4NzJ9ZFooMTQ4NzIsMTE0NCw4KTthJCgyNTgsMTQ4NzIsdXwwKXwwO3JldHVybiAxNDg3
Mn1mdW5jdGlvbiBqXyhiKXtiPWJ8MDtpZigoYVsxNjMzNl18MCkhPTApe3JldHVybiAxNDc4NH1p
ZigoYmMoMTYzMzYpfDApPT0wKXtyZXR1cm4gMTQ3ODR9ZXgoMTQ3ODQsMTEwNCxrbSgxMTA0KXww
KTthJCgxOTIsMTQ3ODQsdXwwKXwwO3JldHVybiAxNDc4NH1mdW5jdGlvbiBqJChiKXtiPWJ8MDtp
ZigoYVsxNjM4NF18MCkhPTApe3JldHVybiAxNDg1Nn1pZigoYmMoMTYzODQpfDApPT0wKXtyZXR1
cm4gMTQ4NTZ9ZFooMTQ4NTYsMTA4MCwyMCk7YSQoMjU4LDE0ODU2LHV8MCl8MDtyZXR1cm4gMTQ4
NTZ9ZnVuY3Rpb24gajAoYil7Yj1ifDA7aWYoKGFbMTYzMjhdfDApIT0wKXtyZXR1cm4gMTQ3Njh9
aWYoKGJjKDE2MzI4KXwwKT09MCl7cmV0dXJuIDE0NzY4fWV4KDE0NzY4LDk5MixrbSg5OTIpfDAp
O2EkKDE5MiwxNDc2OCx1fDApfDA7cmV0dXJuIDE0NzY4fWZ1bmN0aW9uIGoxKGIpe2I9YnwwO2lm
KChhWzE2Mzc2XXwwKSE9MCl7cmV0dXJuIDE0ODQwfWlmKChiYygxNjM3Nil8MCk9PTApe3JldHVy
biAxNDg0MH1kWigxNDg0MCw5NzYsMTEpO2EkKDI1OCwxNDg0MCx1fDApfDA7cmV0dXJuIDE0ODQw
fWZ1bmN0aW9uIGoyKGIpe2I9YnwwO2lmKChhWzE2MzIwXXwwKSE9MCl7cmV0dXJuIDE0NzUyfWlm
KChiYygxNjMyMCl8MCk9PTApe3JldHVybiAxNDc1Mn1leCgxNDc1Miw5Mjgsa20oOTI4KXwwKTth
JCgxOTIsMTQ3NTIsdXwwKXwwO3JldHVybiAxNDc1Mn1mdW5jdGlvbiBqMyhhKXthPWF8MDt2YXIg
Yj0wLGQ9MCxlPTAsZj0wO2I9YSs0fDA7ZD0oY1thPj4yXXwwKSsoY1tiKzQ+PjJdfDApfDA7YT1k
O2U9Y1tiPj4yXXwwO2lmKChlJjF8MCk9PTApe2Y9ZTtiWVtmJjUxMV0oYSk7cmV0dXJufWVsc2V7
Zj1jWyhjW2Q+PjJdfDApKyhlLTEpPj4yXXwwO2JZW2YmNTExXShhKTtyZXR1cm59fWZ1bmN0aW9u
IGo0KGEpe2E9YXwwO2VlKDExMDQ0KTtlZSgxMTAzMik7ZWUoMTEwMjApO2VlKDExMDA4KTtlZSgx
MDk5Nik7ZWUoMTA5ODQpO2VlKDEwOTcyKTtlZSgxMDk2MCk7ZWUoMTA5NDgpO2VlKDEwOTM2KTtl
ZSgxMDkyNCk7ZWUoMTA5MTIpO2VlKDEwOTAwKTtlZSgxMDg4OCk7ZWUoMTA4NzYpO2VlKDEwODY0
KTtlZSgxMDg1Mik7ZWUoMTA4NDApO2VlKDEwODI4KTtlZSgxMDgxNik7ZWUoMTA4MDQpO2VlKDEw
NzkyKTtlZSgxMDc4MCk7ZWUoMTA3NjgpO3JldHVybn1mdW5jdGlvbiBqNShiLGQpe2I9YnwwO2Q9
ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxx
PTAscj0wO2U9Yis4fDA7Zj1iKzR8MDtnPWNbZj4+Ml18MDtoPWNbZT4+Ml18MDtpPWc7aWYoaC1p
Pj4yPj4+MD49ZD4+PjApe2o9ZDtrPWc7ZG97aWYoKGt8MCk9PTApe2w9MH1lbHNle2Nbaz4+Ml09
MDtsPWNbZj4+Ml18MH1rPWwrNHwwO2NbZj4+Ml09aztqPWotMXwwO313aGlsZSgoanwwKSE9MCk7
cmV0dXJufWo9YisxNnwwO2s9YnwwO2w9Y1trPj4yXXwwO2c9aS1sPj4yO2k9ZytkfDA7aWYoaT4+
PjA+MTA3Mzc0MTgyMyl7aXIoMCl9bT1oLWx8MDtkb3tpZihtPj4yPj4+MD41MzY4NzA5MTApe249
MTA3Mzc0MTgyMztvPTI5MTl9ZWxzZXtsPW0+PjE7aD1sPj4+MDxpPj4+MD9pOmw7aWYoKGh8MCk9
PTApe3A9MDtxPTA7YnJlYWt9bD1iKzEyOHwwO2lmKCEoKGFbbF0mMSk9PTAmaD4+PjA8MjkpKXtu
PWg7bz0yOTE5O2JyZWFrfWFbbF09MTtwPWo7cT1ofX13aGlsZSgwKTtpZigob3wwKT09MjkxOSl7
cD1rTyhuPDwyKXwwO3E9bn1uPWQ7ZD1wKyhnPDwyKXwwO2Rve2lmKChkfDApPT0wKXtyPTB9ZWxz
ZXtjW2Q+PjJdPTA7cj1kfWQ9cis0fDA7bj1uLTF8MDt9d2hpbGUoKG58MCkhPTApO249cCsocTw8
Mil8MDtxPWNbaz4+Ml18MDtyPShjW2Y+PjJdfDApLXF8MDtvPXArKGctKHI+PjIpPDwyKXwwO2c9
bztwPXE7a1koZ3wwLHB8MCxyKXwwO2Nbaz4+Ml09bztjW2Y+PjJdPWQ7Y1tlPj4yXT1uO2lmKChx
fDApPT0wKXtyZXR1cm59aWYoKHF8MCk9PShqfDApKXthW2IrMTI4fDBdPTA7cmV0dXJufWVsc2V7
a1MocCk7cmV0dXJufX1mdW5jdGlvbiBqNihhKXthPWF8MDtkUCgxMTc4OCk7ZFAoMTE3NzYpO2RQ
KDExNzY0KTtkUCgxMTc1Mik7ZFAoMTE3NDApO2RQKDExNzI4KTtkUCgxMTcxNik7ZFAoMTE3MDQp
O2RQKDExNjkyKTtkUCgxMTY4MCk7ZFAoMTE2NjgpO2RQKDExNjU2KTtkUCgxMTY0NCk7ZFAoMTE2
MzIpO2RQKDExNjIwKTtkUCgxMTYwOCk7ZFAoMTE1OTYpO2RQKDExNTg0KTtkUCgxMTU3Mik7ZFAo
MTE1NjApO2RQKDExNTQ4KTtkUCgxMTUzNik7ZFAoMTE1MjQpO2RQKDExNTEyKTtyZXR1cm59ZnVu
Y3Rpb24gajcoYSl7YT1hfDA7ZWUoMTA1ODgpO2VlKDEwNTc2KTtlZSgxMDU2NCk7ZWUoMTA1NTIp
O2VlKDEwNTQwKTtlZSgxMDUyOCk7ZWUoMTA1MTYpO2VlKDEwNTA0KTtlZSgxMDQ5Mik7ZWUoMTA0
ODApO2VlKDEwNDY4KTtlZSgxMDQ1Nik7ZWUoMTA0NDQpO2VlKDEwNDMyKTtlZSgxMDQyMCk7ZWUo
MTA0MDgpO2VlKDEwMzk2KTtlZSgxMDM4NCk7ZWUoMTAzNzIpO2VlKDEwMzYwKTtlZSgxMDM0OCk7
ZWUoMTAzMzYpO2VlKDEwMzI0KTtlZSgxMDMxMik7cmV0dXJufWZ1bmN0aW9uIGo4KGEpe2E9YXww
O2RQKDExMzMyKTtkUCgxMTMyMCk7ZFAoMTEzMDgpO2RQKDExMjk2KTtkUCgxMTI4NCk7ZFAoMTEy
NzIpO2RQKDExMjYwKTtkUCgxMTI0OCk7ZFAoMTEyMzYpO2RQKDExMjI0KTtkUCgxMTIxMik7ZFAo
MTEyMDApO2RQKDExMTg4KTtkUCgxMTE3Nik7ZFAoMTExNjQpO2RQKDExMTUyKTtkUCgxMTE0MCk7
ZFAoMTExMjgpO2RQKDExMTE2KTtkUCgxMTEwNCk7ZFAoMTEwOTIpO2RQKDExMDgwKTtkUCgxMTA2
OCk7ZFAoMTEwNTYpO3JldHVybn1mdW5jdGlvbiBqOShhKXthPWF8MDtlZSgxMDc1Nik7ZWUoMTA3
NDQpO2VlKDEwNzMyKTtlZSgxMDcyMCk7ZWUoMTA3MDgpO2VlKDEwNjk2KTtlZSgxMDY4NCk7ZWUo
MTA2NzIpO2VlKDEwNjYwKTtlZSgxMDY0OCk7ZWUoMTA2MzYpO2VlKDEwNjI0KTtlZSgxMDYxMik7
ZWUoMTA2MDApO3JldHVybn1mdW5jdGlvbiBrYShhKXthPWF8MDtkUCgxMTUwMCk7ZFAoMTE0ODgp
O2RQKDExNDc2KTtkUCgxMTQ2NCk7ZFAoMTE0NTIpO2RQKDExNDQwKTtkUCgxMTQyOCk7ZFAoMTE0
MTYpO2RQKDExNDA0KTtkUCgxMTM5Mik7ZFAoMTEzODApO2RQKDExMzY4KTtkUCgxMTM1Nik7ZFAo
MTEzNDQpO3JldHVybn1mdW5jdGlvbiBrYihhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7cmV0dXJu
IGtjKDAsYSxiLChjfDApIT0wP2M6OTgzMil8MH1mdW5jdGlvbiBrYyhiLGQsZSxmKXtiPWJ8MDtk
PWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAs
cT0wLHI9MCx0PTAsdT0wLHY9MCx3PTA7Zz1pO2k9aSs4fDA7aD1nfDA7Y1toPj4yXT1iO2o9KChm
fDApPT0wPzk4MjQ6Zil8MDtmPWNbaj4+Ml18MDtMNzpkb3tpZigoZHwwKT09MCl7aWYoKGZ8MCk9
PTApe2s9MH1lbHNle2JyZWFrfWk9ZztyZXR1cm4ga3wwfWVsc2V7aWYoKGJ8MCk9PTApe2w9aDtj
W2g+PjJdPWw7bT1sfWVsc2V7bT1ifWlmKChlfDApPT0wKXtrPS0yO2k9ZztyZXR1cm4ga3wwfWRv
e2lmKChmfDApPT0wKXtsPWFbZF18MDtuPWwmMjU1O2lmKGw8PDI0Pj4yND4tMSl7Y1ttPj4yXT1u
O2s9bDw8MjQ+PjI0IT0wfDA7aT1nO3JldHVybiBrfDB9ZWxzZXtsPW4tMTk0fDA7aWYobD4+PjA+
NTApe2JyZWFrIEw3fW89ZCsxfDA7cD1jW3MrKGw8PDIpPj4yXXwwO3E9ZS0xfDA7YnJlYWt9fWVs
c2V7bz1kO3A9ZjtxPWV9fXdoaWxlKDApO0wyNTpkb3tpZigocXwwKT09MCl7cj1wfWVsc2V7bD1h
W29dfDA7bj0obCYyNTUpPj4+MztpZigobi0xNnxuKyhwPj4yNikpPj4+MD43KXticmVhayBMN31l
bHNle3Q9bzt1PXA7dj1xO3c9bH13aGlsZSgxKXt0PXQrMXwwO3U9KHcmMjU1KS0xMjh8dTw8Njt2
PXYtMXwwO2lmKCh1fDApPj0wKXticmVha31pZigodnwwKT09MCl7cj11O2JyZWFrIEwyNX13PWFb
dF18MDtpZigoKHcmMjU1KS0xMjh8MCk+Pj4wPjYzKXticmVhayBMN319Y1tqPj4yXT0wO2NbbT4+
Ml09dTtrPWUtdnwwO2k9ZztyZXR1cm4ga3wwfX13aGlsZSgwKTtjW2o+PjJdPXI7az0tMjtpPWc7
cmV0dXJuIGt8MH19d2hpbGUoMCk7Y1tqPj4yXT0wO2NbKGJ3KCl8MCk+PjJdPTEzODtrPS0xO2k9
ZztyZXR1cm4ga3wwfWZ1bmN0aW9uIGtkKGEsYixkLGUsZil7YT1hfDA7Yj1ifDA7ZD1kfDA7ZT1l
fDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAs
cz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9MCxH
PTAsSD0wLEk9MCxKPTA7Zz1pO2k9aSsxMDMyfDA7aD1nfDA7aj1nKzEwMjR8MDtrPWNbYj4+Ml18
MDtjW2o+PjJdPWs7bD0oYXwwKSE9MDttPWw/ZToyNTY7ZT1sP2E6aHwwO0wzODpkb3tpZigoa3ww
KT09MHwobXwwKT09MCl7bj0wO289ZDtwPW07cT1lO3I9a31lbHNle2E9aHwwO3M9bTt0PWQ7dT0w
O3Y9ZTt3PWs7d2hpbGUoMSl7eD10Pj4+Mjt5PXg+Pj4wPj1zPj4+MDtpZighKHl8dD4+PjA+MTMx
KSl7bj11O289dDtwPXM7cT12O3I9dzticmVhayBMMzh9ej15P3M6eDtBPXQtenwwO3g9a2Uodixq
LHosZil8MDtpZigoeHwwKT09LTEpe2JyZWFrfWlmKCh2fDApPT0oYXwwKSl7Qj1hO0M9c31lbHNl
e0I9disoeDw8Mil8MDtDPXMteHwwfXo9eCt1fDA7eD1jW2o+PjJdfDA7aWYoKHh8MCk9PTB8KEN8
MCk9PTApe249ejtvPUE7cD1DO3E9QjtyPXg7YnJlYWsgTDM4fWVsc2V7cz1DO3Q9QTt1PXo7dj1C
O3c9eH19bj0tMTtvPUE7cD0wO3E9djtyPWNbaj4+Ml18MH19d2hpbGUoMCk7TDQ5OmRve2lmKChy
fDApPT0wKXtEPW59ZWxzZXtpZigocHwwKT09MHwob3wwKT09MCl7RD1uO2JyZWFrfWVsc2V7RT1w
O0Y9bztHPW47SD1xO0k9cn13aGlsZSgxKXtKPWtjKEgsSSxGLGYpfDA7aWYoKEorMnwwKT4+PjA8
Myl7YnJlYWt9QT0oY1tqPj4yXXwwKStKfDA7Y1tqPj4yXT1BO0I9RS0xfDA7Qz1HKzF8MDtpZigo
QnwwKT09MHwoRnwwKT09KEp8MCkpe0Q9QzticmVhayBMNDl9ZWxzZXtFPUI7Rj1GLUp8MDtHPUM7
SD1IKzR8MDtJPUF9fXN3aXRjaChKfDApe2Nhc2UgMDp7Y1tqPj4yXT0wO0Q9RzticmVhayBMNDk7
YnJlYWt9O2Nhc2UtMTp7RD0tMTticmVhayBMNDk7YnJlYWt9O2RlZmF1bHQ6e2NbZj4+Ml09MDtE
PUc7YnJlYWsgTDQ5fX19fXdoaWxlKDApO2lmKCFsKXtpPWc7cmV0dXJuIER8MH1jW2I+PjJdPWNb
aj4+Ml07aT1nO3JldHVybiBEfDB9ZnVuY3Rpb24ga2UoYixlLGYsZyl7Yj1ifDA7ZT1lfDA7Zj1m
fDA7Zz1nfDA7dmFyIGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxyPTAs
dD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxI
PTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9
MCxXPTAsWD0wLFk9MCxaPTAsXz0wLCQ9MCxhYT0wLGFiPTAsYWM9MCxhZD0wLGFlPTAsYWY9MDto
PWNbZT4+Ml18MDtkb3tpZigoZ3wwKT09MCl7aT01Nn1lbHNle2o9Z3wwO2s9Y1tqPj4yXXwwO2lm
KChrfDApPT0wKXtpPTU2O2JyZWFrfWlmKChifDApPT0wKXtsPWs7bT1oO249ZjtpPTY3O2JyZWFr
fWNbaj4+Ml09MDtvPWs7cD1oO3E9YjtyPWY7aT04N319d2hpbGUoMCk7aWYoKGl8MCk9PTU2KXtp
ZigoYnwwKT09MCl7dD1oO3U9ZjtpPTU4fWVsc2V7dj1oO3c9Yjt4PWY7aT01N319TDcwOndoaWxl
KDEpe2lmKChpfDApPT04Nyl7aT0wO2g9ZFtwXXwwO2c9aD4+PjM7aWYoKGctMTZ8Zysobz4+MjYp
KT4+PjA+Nyl7aT04ODticmVha31nPXArMXwwO3k9aC0xMjh8bzw8Njtkb3tpZigoeXwwKTwwKXto
PShkW2ddfDApLTEyOHwwO2lmKGg+Pj4wPjYzKXtpPTkxO2JyZWFrIEw3MH1rPXArMnwwO3o9aHx5
PDw2O2lmKCh6fDApPj0wKXtBPXo7Qj1rO2JyZWFrfWg9KGRba118MCktMTI4fDA7aWYoaD4+PjA+
NjMpe2k9OTQ7YnJlYWsgTDcwfUE9aHx6PDw2O0I9cCszfDB9ZWxzZXtBPXk7Qj1nfX13aGlsZSgw
KTtjW3E+PjJdPUE7dj1CO3c9cSs0fDA7eD1yLTF8MDtpPTU3O2NvbnRpbnVlfWVsc2UgaWYoKGl8
MCk9PTU4KXtpPTA7Zz1hW3RdfDA7ZG97aWYoKChnJjI1NSktMXwwKT4+PjA8MTI3KXtpZigodCYz
fDApIT0wKXtDPXQ7RD11O0U9ZzticmVha31oPWNbdD4+Ml18MDtpZigoKGgtMTY4NDMwMDl8aCkm
LTIxMzkwNjIxNDR8MCk9PTApe0Y9dTtHPXR9ZWxzZXtDPXQ7RD11O0U9aCYyNTU7YnJlYWt9ZG97
Rz1HKzR8MDtGPUYtNHwwO0g9Y1tHPj4yXXwwO313aGlsZSgoKEgtMTY4NDMwMDl8SCkmLTIxMzkw
NjIxNDR8MCk9PTApO0M9RztEPUY7RT1IJjI1NX1lbHNle0M9dDtEPXU7RT1nfX13aGlsZSgwKTtn
PUUmMjU1O2lmKChnLTF8MCk+Pj4wPDEyNyl7dD1DKzF8MDt1PUQtMXwwO2k9NTg7Y29udGludWV9
aD1nLTE5NHwwO2lmKGg+Pj4wPjUwKXtJPUQ7Sj1iO0s9QztpPTk4O2JyZWFrfWw9Y1tzKyhoPDwy
KT4+Ml18MDttPUMrMXwwO249RDtpPTY3O2NvbnRpbnVlfWVsc2UgaWYoKGl8MCk9PTU3KXtpPTA7
aWYoKHh8MCk9PTApe0w9ZjtpPTEwNjticmVha31lbHNle009eDtOPXc7Tz12fXdoaWxlKDEpe2g9
YVtPXXwwO2Rve2lmKCgoaCYyNTUpLTF8MCk+Pj4wPDEyNyl7aWYoKE8mM3wwKT09MCZNPj4+MD4z
KXtQPU07UT1OO1I9T31lbHNle1M9TztUPU47VT1NO1Y9aDticmVha313aGlsZSgxKXtXPWNbUj4+
Ml18MDtpZigoKFctMTY4NDMwMDl8VykmLTIxMzkwNjIxNDR8MCkhPTApe2k9ODE7YnJlYWt9Y1tR
Pj4yXT1XJjI1NTtjW1ErND4+Ml09ZFtSKzF8MF18MDtjW1ErOD4+Ml09ZFtSKzJ8MF18MDtYPVIr
NHwwO1k9USsxNnwwO2NbUSsxMj4+Ml09ZFtSKzN8MF18MDtaPVAtNHwwO2lmKFo+Pj4wPjMpe1A9
WjtRPVk7Uj1YfWVsc2V7aT04MjticmVha319aWYoKGl8MCk9PTgxKXtpPTA7Uz1SO1Q9UTtVPVA7
Vj1XJjI1NTticmVha31lbHNlIGlmKChpfDApPT04Mil7aT0wO1M9WDtUPVk7VT1aO1Y9YVtYXXww
O2JyZWFrfX1lbHNle1M9TztUPU47VT1NO1Y9aH19d2hpbGUoMCk7Xz1WJjI1NTtpZigoXy0xfDAp
Pj4+MD49MTI3KXticmVha31jW1Q+PjJdPV87aD1VLTF8MDtpZigoaHwwKT09MCl7TD1mO2k9MTA1
O2JyZWFrIEw3MH1lbHNle009aDtOPVQrNHwwO089UysxfDB9fWg9Xy0xOTR8MDtpZihoPj4+MD41
MCl7ST1VO0o9VDtLPVM7aT05ODticmVha31vPWNbcysoaDw8Mik+PjJdfDA7cD1TKzF8MDtxPVQ7
cj1VO2k9ODc7Y29udGludWV9ZWxzZSBpZigoaXwwKT09Njcpe2k9MDtoPShkW21dfDApPj4+Mztp
ZigoaC0xNnxoKyhsPj4yNikpPj4+MD43KXtpPTY4O2JyZWFrfWg9bSsxfDA7ZG97aWYoKGwmMzM1
NTQ0MzJ8MCk9PTApeyQ9aH1lbHNle2lmKCgoZFtoXXwwKS0xMjh8MCk+Pj4wPjYzKXtpPTcxO2Jy
ZWFrIEw3MH1nPW0rMnwwO2lmKChsJjUyNDI4OHwwKT09MCl7JD1nO2JyZWFrfWlmKCgoZFtnXXww
KS0xMjh8MCk+Pj4wPjYzKXtpPTc0O2JyZWFrIEw3MH0kPW0rM3wwfX13aGlsZSgwKTt0PSQ7dT1u
LTF8MDtpPTU4O2NvbnRpbnVlfX1pZigoaXwwKT09NzEpe2FhPWw7YWI9bS0xfDA7YWM9YjthZD1u
O2k9OTd9ZWxzZSBpZigoaXwwKT09NzQpe2FhPWw7YWI9bS0xfDA7YWM9YjthZD1uO2k9OTd9ZWxz
ZSBpZigoaXwwKT09Njgpe2FhPWw7YWI9bS0xfDA7YWM9YjthZD1uO2k9OTd9ZWxzZSBpZigoaXww
KT09ODgpe2FhPW87YWI9cC0xfDA7YWM9cTthZD1yO2k9OTd9ZWxzZSBpZigoaXwwKT09OTEpe2Fh
PXk7YWI9cC0xfDA7YWM9cTthZD1yO2k9OTd9ZWxzZSBpZigoaXwwKT09OTQpe2FhPXo7YWI9cC0x
fDA7YWM9cTthZD1yO2k9OTd9ZWxzZSBpZigoaXwwKT09MTA1KXtyZXR1cm4gTHwwfWVsc2UgaWYo
KGl8MCk9PTEwNil7cmV0dXJuIEx8MH1pZigoaXwwKT09OTcpe2lmKChhYXwwKT09MCl7ST1hZDtK
PWFjO0s9YWI7aT05OH1lbHNle2FlPWFjO2FmPWFifX1kb3tpZigoaXwwKT09OTgpe2lmKChhW0td
fDApIT0wKXthZT1KO2FmPUs7YnJlYWt9aWYoKEp8MCkhPTApe2NbSj4+Ml09MDtjW2U+PjJdPTB9
TD1mLUl8MDtyZXR1cm4gTHwwfX13aGlsZSgwKTtjWyhidygpfDApPj4yXT0xMzg7aWYoKGFlfDAp
PT0wKXtMPS0xO3JldHVybiBMfDB9Y1tlPj4yXT1hZjtMPS0xO3JldHVybiBMfDB9ZnVuY3Rpb24g
a2YoYixlLGYpe2I9YnwwO2U9ZXwwO2Y9ZnwwO3ZhciBnPTAsaD0wLGo9MCxrPTAsbD0wLG09MCxu
PTA7Zz1pO2k9aSs4fDA7aD1nfDA7Y1toPj4yXT1iO2lmKChlfDApPT0wKXtqPTA7aT1nO3JldHVy
biBqfDB9ZG97aWYoKGZ8MCkhPTApe2lmKChifDApPT0wKXtrPWg7Y1toPj4yXT1rO2w9a31lbHNl
e2w9Yn1rPWFbZV18MDttPWsmMjU1O2lmKGs8PDI0Pj4yND4tMSl7Y1tsPj4yXT1tO2o9azw8MjQ+
PjI0IT0wfDA7aT1nO3JldHVybiBqfDB9az1tLTE5NHwwO2lmKGs+Pj4wPjUwKXticmVha31tPWUr
MXwwO249Y1tzKyhrPDwyKT4+Ml18MDtpZihmPj4+MDw0KXtpZigobiYtMjE0NzQ4MzY0OD4+Pigo
KGYqNnwwKS02fDApPj4+MCl8MCkhPTApe2JyZWFrfX1rPWRbbV18MDttPWs+Pj4zO2lmKChtLTE2
fG0rKG4+PjI2KSk+Pj4wPjcpe2JyZWFrfW09ay0xMjh8bjw8NjtpZigobXwwKT49MCl7Y1tsPj4y
XT1tO2o9MjtpPWc7cmV0dXJuIGp8MH1uPShkW2UrMnwwXXwwKS0xMjh8MDtpZihuPj4+MD42Myl7
YnJlYWt9az1ufG08PDY7aWYoKGt8MCk+PTApe2NbbD4+Ml09aztqPTM7aT1nO3JldHVybiBqfDB9
bT0oZFtlKzN8MF18MCktMTI4fDA7aWYobT4+PjA+NjMpe2JyZWFrfWNbbD4+Ml09bXxrPDw2O2o9
NDtpPWc7cmV0dXJuIGp8MH19d2hpbGUoMCk7Y1soYncoKXwwKT4+Ml09MTM4O2o9LTE7aT1nO3Jl
dHVybiBqfDB9ZnVuY3Rpb24ga2coYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTA7aWYo
KGJ8MCk9PTApe2Y9MTtyZXR1cm4gZnwwfWlmKGQ+Pj4wPDEyOCl7YVtiXT1kJjI1NTtmPTE7cmV0
dXJuIGZ8MH1pZihkPj4+MDwyMDQ4KXthW2JdPShkPj4+NnwxOTIpJjI1NTthW2IrMXwwXT0oZCY2
M3wxMjgpJjI1NTtmPTI7cmV0dXJuIGZ8MH1pZihkPj4+MDw1NTI5NnwoZC01NzM0NHwwKT4+PjA8
ODE5Mil7YVtiXT0oZD4+PjEyfDIyNCkmMjU1O2FbYisxfDBdPShkPj4+NiY2M3wxMjgpJjI1NTth
W2IrMnwwXT0oZCY2M3wxMjgpJjI1NTtmPTM7cmV0dXJuIGZ8MH1pZigoZC02NTUzNnwwKT4+PjA8
MTA0ODU3Nil7YVtiXT0oZD4+PjE4fDI0MCkmMjU1O2FbYisxfDBdPShkPj4+MTImNjN8MTI4KSYy
NTU7YVtiKzJ8MF09KGQ+Pj42JjYzfDEyOCkmMjU1O2FbYiszfDBdPShkJjYzfDEyOCkmMjU1O2Y9
NDtyZXR1cm4gZnwwfWVsc2V7Y1soYncoKXwwKT4+Ml09MTM4O2Y9LTE7cmV0dXJuIGZ8MH1yZXR1
cm4gMH1mdW5jdGlvbiBraChhKXthPWF8MDtyZXR1cm59ZnVuY3Rpb24ga2koYSl7YT1hfDA7cmV0
dXJufWZ1bmN0aW9uIGtqKGEpe2E9YXwwO3JldHVybiAxMzI4fDB9ZnVuY3Rpb24ga2soYSl7YT1h
fDA7cmV0dXJufWZ1bmN0aW9uIGtsKGEpe2E9YXwwO3JldHVybn1mdW5jdGlvbiBrbShhKXthPWF8
MDt2YXIgYj0wO2I9YTt3aGlsZSgxKXtpZigoY1tiPj4yXXwwKT09MCl7YnJlYWt9ZWxzZXtiPWIr
NHwwfX1yZXR1cm4gYi1hPj4yfDB9ZnVuY3Rpb24ga24oYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHww
O3ZhciBlPTAsZj0wLGc9MDtpZigoZHwwKT09MCl7cmV0dXJuIGF8MH1lbHNle2U9YjtmPWQ7Zz1h
fXdoaWxlKDEpe2Q9Zi0xfDA7Y1tnPj4yXT1jW2U+PjJdO2lmKChkfDApPT0wKXticmVha31lbHNl
e2U9ZSs0fDA7Zj1kO2c9Zys0fDB9fXJldHVybiBhfDB9ZnVuY3Rpb24ga28oYSxiLGQpe2E9YXww
O2I9YnwwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wO2U9KGR8MCk9PTA7aWYoYS1iPj4y
Pj4+MDxkPj4+MCl7aWYoZSl7cmV0dXJuIGF8MH1lbHNle2Y9ZH1kb3tmPWYtMXwwO2NbYSsoZjw8
Mik+PjJdPWNbYisoZjw8Mik+PjJdO313aGlsZSgoZnwwKSE9MCk7cmV0dXJuIGF8MH1lbHNle2lm
KGUpe3JldHVybiBhfDB9ZWxzZXtnPWI7aD1kO2k9YX13aGlsZSgxKXtkPWgtMXwwO2NbaT4+Ml09
Y1tnPj4yXTtpZigoZHwwKT09MCl7YnJlYWt9ZWxzZXtnPWcrNHwwO2g9ZDtpPWkrNHwwfX1yZXR1
cm4gYXwwfXJldHVybiAwfWZ1bmN0aW9uIGtwKGEsYixkKXthPWF8MDtiPWJ8MDtkPWR8MDt2YXIg
ZT0wLGY9MDtpZigoZHwwKT09MCl7cmV0dXJuIGF8MH1lbHNle2U9ZDtmPWF9d2hpbGUoMSl7ZD1l
LTF8MDtjW2Y+PjJdPWI7aWYoKGR8MCk9PTApe2JyZWFrfWVsc2V7ZT1kO2Y9Zis0fDB9fXJldHVy
biBhfDB9ZnVuY3Rpb24ga3EoYSl7YT1hfDA7Y1thPj4yXT0yNDQwO3JldHVybn1mdW5jdGlvbiBr
cihiLGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2YXIgZz0wO2lmKChjW2QrOD4+Ml18
MCkhPShifDApKXtyZXR1cm59Yj1kKzE2fDA7Zz1jW2I+PjJdfDA7aWYoKGd8MCk9PTApe2NbYj4+
Ml09ZTtjW2QrMjQ+PjJdPWY7Y1tkKzM2Pj4yXT0xO3JldHVybn1pZigoZ3wwKSE9KGV8MCkpe2U9
ZCszNnwwO2NbZT4+Ml09KGNbZT4+Ml18MCkrMTtjW2QrMjQ+PjJdPTI7YVtkKzU0fDBdPTE7cmV0
dXJufWU9ZCsyNHwwO2lmKChjW2U+PjJdfDApIT0yKXtyZXR1cm59Y1tlPj4yXT1mO3JldHVybn1m
dW5jdGlvbiBrcyhhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO3ZhciBn
PTAsaD0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9
MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxGPTAsRz0wLEg9MDtmPWk7aT1p
KzI2NHwwO2c9ZnwwO2g9ZisyNTZ8MDtqPWNbYj4+Ml18MDtjW2g+PjJdPWo7az0oYXwwKSE9MDts
PWs/ZToyNTY7ZT1rP2E6Z3wwO0wyNDM6ZG97aWYoKGp8MCk9PTB8KGx8MCk9PTApe209MDtuPWQ7
bz1sO3A9ZTtxPWp9ZWxzZXthPWd8MDtyPWw7cz1kO3Q9MDt1PWU7dj1qO3doaWxlKDEpe3c9cz4+
PjA+PXI+Pj4wO2lmKCEod3xzPj4+MD4zMikpe209dDtuPXM7bz1yO3A9dTtxPXY7YnJlYWsgTDI0
M314PXc/cjpzO3k9cy14fDA7dz1rdCh1LGgseCwwKXwwO2lmKCh3fDApPT0tMSl7YnJlYWt9aWYo
KHV8MCk9PShhfDApKXt6PWE7QT1yfWVsc2V7ej11K3d8MDtBPXItd3wwfXg9dyt0fDA7dz1jW2g+
PjJdfDA7aWYoKHd8MCk9PTB8KEF8MCk9PTApe209eDtuPXk7bz1BO3A9ejtxPXc7YnJlYWsgTDI0
M31lbHNle3I9QTtzPXk7dD14O3U9ejt2PXd9fW09LTE7bj15O289MDtwPXU7cT1jW2g+PjJdfDB9
fXdoaWxlKDApO0wyNTQ6ZG97aWYoKHF8MCk9PTApe0I9bX1lbHNle2lmKChvfDApPT0wfChufDAp
PT0wKXtCPW07YnJlYWt9ZWxzZXtDPW87RD1uO0U9bTtGPXA7Rz1xfXdoaWxlKDEpe0g9a2coRixj
W0c+PjJdfDAsMCl8MDtpZigoSCsxfDApPj4+MDwyKXticmVha315PShjW2g+PjJdfDApKzR8MDtj
W2g+PjJdPXk7ej1ELTF8MDtBPUUrMXwwO2lmKChDfDApPT0oSHwwKXwoenwwKT09MCl7Qj1BO2Jy
ZWFrIEwyNTR9ZWxzZXtDPUMtSHwwO0Q9ejtFPUE7Rj1GK0h8MDtHPXl9fWlmKChIfDApIT0wKXtC
PS0xO2JyZWFrfWNbaD4+Ml09MDtCPUV9fXdoaWxlKDApO2lmKCFrKXtpPWY7cmV0dXJuIEJ8MH1j
W2I+PjJdPWNbaD4+Ml07aT1mO3JldHVybiBCfDB9ZnVuY3Rpb24ga3QoYixkLGUsZil7Yj1ifDA7
ZD1kfDA7ZT1lfDA7Zj1mfDA7dmFyIGc9MCxoPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0w
LHE9MCxyPTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTA7Zj1pO2k9aSs4fDA7
Zz1mfDA7aWYoKGJ8MCk9PTApe2g9Y1tkPj4yXXwwO2o9Z3wwO2s9Y1toPj4yXXwwO2lmKChrfDAp
PT0wKXtsPTA7aT1mO3JldHVybiBsfDB9ZWxzZXttPTA7bj1oO289a313aGlsZSgxKXtpZihvPj4+
MD4xMjcpe2s9a2coaixvLDApfDA7aWYoKGt8MCk9PS0xKXtsPS0xO3A9MjQwO2JyZWFrfWVsc2V7
cT1rfX1lbHNle3E9MX1rPXErbXwwO2g9bis0fDA7cj1jW2g+PjJdfDA7aWYoKHJ8MCk9PTApe2w9
aztwPTI0MTticmVha31lbHNle209aztuPWg7bz1yfX1pZigocHwwKT09MjQwKXtpPWY7cmV0dXJu
IGx8MH1lbHNlIGlmKChwfDApPT0yNDEpe2k9ZjtyZXR1cm4gbHwwfX1MMjgwOmRve2lmKGU+Pj4w
PjMpe289ZTtuPWI7bT1jW2Q+PjJdfDA7d2hpbGUoMSl7cT1jW20+PjJdfDA7aWYoKHF8MCk9PTAp
e3M9bzt0PW47YnJlYWsgTDI4MH1pZihxPj4+MD4xMjcpe2o9a2cobixxLDApfDA7aWYoKGp8MCk9
PS0xKXtsPS0xO2JyZWFrfXU9bitqfDA7dj1vLWp8MDt3PW19ZWxzZXthW25dPXEmMjU1O3U9bisx
fDA7dj1vLTF8MDt3PWNbZD4+Ml18MH1xPXcrNHwwO2NbZD4+Ml09cTtpZih2Pj4+MD4zKXtvPXY7
bj11O209cX1lbHNle3M9djt0PXU7YnJlYWsgTDI4MH19aT1mO3JldHVybiBsfDB9ZWxzZXtzPWU7
dD1ifX13aGlsZSgwKTtMMjkyOmRve2lmKChzfDApPT0wKXt4PTB9ZWxzZXtiPWd8MDt1PXM7dj10
O3c9Y1tkPj4yXXwwO3doaWxlKDEpe209Y1t3Pj4yXXwwO2lmKChtfDApPT0wKXtwPTIzNjticmVh
a31pZihtPj4+MD4xMjcpe249a2coYixtLDApfDA7aWYoKG58MCk9PS0xKXtsPS0xO3A9MjQzO2Jy
ZWFrfWlmKG4+Pj4wPnU+Pj4wKXtwPTIzMjticmVha31vPWNbdz4+Ml18MDtrZyh2LG8sMCl8MDt5
PXYrbnwwO3o9dS1ufDA7QT13fWVsc2V7YVt2XT1tJjI1NTt5PXYrMXwwO3o9dS0xfDA7QT1jW2Q+
PjJdfDB9bT1BKzR8MDtjW2Q+PjJdPW07aWYoKHp8MCk9PTApe3g9MDticmVhayBMMjkyfWVsc2V7
dT16O3Y9eTt3PW19fWlmKChwfDApPT0yMzIpe2w9ZS11fDA7aT1mO3JldHVybiBsfDB9ZWxzZSBp
ZigocHwwKT09MjM2KXthW3ZdPTA7eD11O2JyZWFrfWVsc2UgaWYoKHB8MCk9PTI0Myl7aT1mO3Jl
dHVybiBsfDB9fX13aGlsZSgwKTtjW2Q+PjJdPTA7bD1lLXh8MDtpPWY7cmV0dXJuIGx8MH1mdW5j
dGlvbiBrdShhKXthPWF8MDtrUyhhKTtyZXR1cm59ZnVuY3Rpb24ga3YoYSl7YT1hfDA7a2goYXww
KTtyZXR1cm59ZnVuY3Rpb24ga3coYSl7YT1hfDA7a2goYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rp
b24ga3goYSl7YT1hfDA7a2goYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24ga3koYSl7YT1hfDA7
a2goYXwwKTtrUyhhKTtyZXR1cm59ZnVuY3Rpb24ga3ooYSxiLGQpe2E9YXwwO2I9YnwwO2Q9ZHww
O3ZhciBlPTAsZj0wLGc9MCxoPTA7ZT1pO2k9aSs1NnwwO2Y9ZXwwO2lmKChhfDApPT0oYnwwKSl7
Zz0xO2k9ZTtyZXR1cm4gZ3wwfWlmKChifDApPT0wKXtnPTA7aT1lO3JldHVybiBnfDB9aD1rQyhi
LDk3MDQsOTY4OCwtMSl8MDtiPWg7aWYoKGh8MCk9PTApe2c9MDtpPWU7cmV0dXJuIGd8MH1rJChm
fDAsMCw1Nik7Y1tmPj4yXT1iO2NbZis4Pj4yXT1hO2NbZisxMj4+Ml09LTE7Y1tmKzQ4Pj4yXT0x
O2NiW2NbKGNbaD4+Ml18MCkrMjg+PjJdJjE1XShiLGYsY1tkPj4yXXwwLDEpO2lmKChjW2YrMjQ+
PjJdfDApIT0xKXtnPTA7aT1lO3JldHVybiBnfDB9Y1tkPj4yXT1jW2YrMTY+PjJdO2c9MTtpPWU7
cmV0dXJuIGd8MH1mdW5jdGlvbiBrQShiLGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDt2
YXIgZz0wO2lmKChifDApIT0oY1tkKzg+PjJdfDApKXtnPWNbYis4Pj4yXXwwO2NiW2NbKGNbZz4+
Ml18MCkrMjg+PjJdJjE1XShnLGQsZSxmKTtyZXR1cm59Zz1kKzE2fDA7Yj1jW2c+PjJdfDA7aWYo
KGJ8MCk9PTApe2NbZz4+Ml09ZTtjW2QrMjQ+PjJdPWY7Y1tkKzM2Pj4yXT0xO3JldHVybn1pZigo
YnwwKSE9KGV8MCkpe2U9ZCszNnwwO2NbZT4+Ml09KGNbZT4+Ml18MCkrMTtjW2QrMjQ+PjJdPTI7
YVtkKzU0fDBdPTE7cmV0dXJufWU9ZCsyNHwwO2lmKChjW2U+PjJdfDApIT0yKXtyZXR1cm59Y1tl
Pj4yXT1mO3JldHVybn1mdW5jdGlvbiBrQihiLGQsZSxmKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8
MDt2YXIgZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wO2lmKChifDApPT0oY1tkKzg+PjJdfDAp
KXtnPWQrMTZ8MDtoPWNbZz4+Ml18MDtpZigoaHwwKT09MCl7Y1tnPj4yXT1lO2NbZCsyND4+Ml09
ZjtjW2QrMzY+PjJdPTE7cmV0dXJufWlmKChofDApIT0oZXwwKSl7aD1kKzM2fDA7Y1toPj4yXT0o
Y1toPj4yXXwwKSsxO2NbZCsyND4+Ml09MjthW2QrNTR8MF09MTtyZXR1cm59aD1kKzI0fDA7aWYo
KGNbaD4+Ml18MCkhPTIpe3JldHVybn1jW2g+PjJdPWY7cmV0dXJufWg9Y1tiKzEyPj4yXXwwO2c9
YisxNisoaDw8Myl8MDtpPWNbYisyMD4+Ml18MDtqPWk+Pjg7aWYoKGkmMXwwKT09MCl7az1qfWVs
c2V7az1jWyhjW2U+PjJdfDApK2o+PjJdfDB9aj1jW2IrMTY+PjJdfDA7Y2JbY1soY1tqPj4yXXww
KSsyOD4+Ml0mMTVdKGosZCxlK2t8MCwoaSYyfDApIT0wP2Y6Mik7aWYoKGh8MCk8PTEpe3JldHVy
bn1oPWQrNTR8MDtpPWU7az1iKzI0fDA7d2hpbGUoMSl7Yj1jW2srND4+Ml18MDtqPWI+Pjg7aWYo
KGImMXwwKT09MCl7bD1qfWVsc2V7bD1jWyhjW2k+PjJdfDApK2o+PjJdfDB9aj1jW2s+PjJdfDA7
Y2JbY1soY1tqPj4yXXwwKSsyOD4+Ml0mMTVdKGosZCxlK2x8MCwoYiYyfDApIT0wP2Y6Mik7aWYo
KGFbaF0mMSkhPTApe209Mjk3O2JyZWFrfWI9ays4fDA7aWYoYj4+PjA8Zz4+PjApe2s9Yn1lbHNl
e209Mjk4O2JyZWFrfX1pZigobXwwKT09Mjk3KXtyZXR1cm59ZWxzZSBpZigobXwwKT09Mjk4KXty
ZXR1cm59fWZ1bmN0aW9uIGtDKGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBm
PTAsZz0wLGg9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MDtmPWk7aT1pKzU2fDA7Zz1mfDA7aD1j
W2E+PjJdfDA7aj1hKyhjW2gtOD4+Ml18MCl8MDtrPWNbaC00Pj4yXXwwO2g9aztjW2c+PjJdPWQ7
Y1tnKzQ+PjJdPWE7Y1tnKzg+PjJdPWI7Y1tnKzEyPj4yXT1lO2U9ZysxNnwwO2I9ZysyMHwwO2E9
ZysyNHwwO2w9ZysyOHwwO209ZyszMnwwO249Zys0MHwwO2skKGV8MCwwLDM5KTtpZigoa3wwKT09
KGR8MCkpe2NbZys0OD4+Ml09MTtiOVtjWyhjW2s+PjJdfDApKzIwPj4yXSYzMV0oaCxnLGosaiwx
LDApO2k9ZjtyZXR1cm4oKGNbYT4+Ml18MCk9PTE/ajowKXwwfWJXW2NbKGNbaz4+Ml18MCkrMjQ+
PjJdJjddKGgsZyxqLDEsMCk7c3dpdGNoKGNbZyszNj4+Ml18MCl7Y2FzZSAxOntkb3tpZigoY1th
Pj4yXXwwKSE9MSl7aWYoKGNbbj4+Ml18MCkhPTApe289MDtpPWY7cmV0dXJuIG98MH1pZigoY1ts
Pj4yXXwwKSE9MSl7bz0wO2k9ZjtyZXR1cm4gb3wwfWlmKChjW20+PjJdfDApPT0xKXticmVha31l
bHNle289MH1pPWY7cmV0dXJuIG98MH19d2hpbGUoMCk7bz1jW2U+PjJdfDA7aT1mO3JldHVybiBv
fDB9O2Nhc2UgMDp7aWYoKGNbbj4+Ml18MCkhPTEpe289MDtpPWY7cmV0dXJuIG98MH1pZigoY1ts
Pj4yXXwwKSE9MSl7bz0wO2k9ZjtyZXR1cm4gb3wwfW89KGNbbT4+Ml18MCk9PTE/Y1tiPj4yXXww
OjA7aT1mO3JldHVybiBvfDB9O2RlZmF1bHQ6e289MDtpPWY7cmV0dXJuIG98MH19cmV0dXJuIDB9
ZnVuY3Rpb24ga0QoYixkLGUsZixnKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtpZigo
Y1tkKzg+PjJdfDApPT0oYnwwKSl7aWYoKGNbZCs0Pj4yXXwwKSE9KGV8MCkpe3JldHVybn1nPWQr
Mjh8MDtpZigoY1tnPj4yXXwwKT09MSl7cmV0dXJufWNbZz4+Ml09ZjtyZXR1cm59aWYoKGNbZD4+
Ml18MCkhPShifDApKXtyZXR1cm59ZG97aWYoKGNbZCsxNj4+Ml18MCkhPShlfDApKXtiPWQrMjB8
MDtpZigoY1tiPj4yXXwwKT09KGV8MCkpe2JyZWFrfWNbZCszMj4+Ml09ZjtjW2I+PjJdPWU7Yj1k
KzQwfDA7Y1tiPj4yXT0oY1tiPj4yXXwwKSsxO2Rve2lmKChjW2QrMzY+PjJdfDApPT0xKXtpZigo
Y1tkKzI0Pj4yXXwwKSE9Mil7YnJlYWt9YVtkKzU0fDBdPTF9fXdoaWxlKDApO2NbZCs0ND4+Ml09
NDtyZXR1cm59fXdoaWxlKDApO2lmKChmfDApIT0xKXtyZXR1cm59Y1tkKzMyPj4yXT0xO3JldHVy
bn1mdW5jdGlvbiBrRShiLGQsZSxmLGcsaCl7Yj1ifDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7
aD1ofDA7dmFyIGk9MDtpZigoY1tkKzg+PjJdfDApIT0oYnwwKSl7cmV0dXJufWFbZCs1M3wwXT0x
O2lmKChjW2QrND4+Ml18MCkhPShmfDApKXtyZXR1cm59YVtkKzUyfDBdPTE7Zj1kKzE2fDA7Yj1j
W2Y+PjJdfDA7aWYoKGJ8MCk9PTApe2NbZj4+Ml09ZTtjW2QrMjQ+PjJdPWc7Y1tkKzM2Pj4yXT0x
O2lmKCEoKGNbZCs0OD4+Ml18MCk9PTEmKGd8MCk9PTEpKXtyZXR1cm59YVtkKzU0fDBdPTE7cmV0
dXJufWlmKChifDApIT0oZXwwKSl7ZT1kKzM2fDA7Y1tlPj4yXT0oY1tlPj4yXXwwKSsxO2FbZCs1
NHwwXT0xO3JldHVybn1lPWQrMjR8MDtiPWNbZT4+Ml18MDtpZigoYnwwKT09Mil7Y1tlPj4yXT1n
O2k9Z31lbHNle2k9Yn1pZighKChjW2QrNDg+PjJdfDApPT0xJihpfDApPT0xKSl7cmV0dXJufWFb
ZCs1NHwwXT0xO3JldHVybn1mdW5jdGlvbiBrRihiLGQsZSxmLGcpe2I9YnwwO2Q9ZHwwO2U9ZXww
O2Y9ZnwwO2c9Z3wwO3ZhciBoPTAsaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAs
cj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6PTAsQT0wLEI9MCxDPTAsRD0wLEU9MCxG
PTAsRz0wLEg9MDtoPWJ8MDtpZigoaHwwKT09KGNbZCs4Pj4yXXwwKSl7aWYoKGNbZCs0Pj4yXXww
KSE9KGV8MCkpe3JldHVybn1pPWQrMjh8MDtpZigoY1tpPj4yXXwwKT09MSl7cmV0dXJufWNbaT4+
Ml09ZjtyZXR1cm59aWYoKGh8MCk9PShjW2Q+PjJdfDApKXtkb3tpZigoY1tkKzE2Pj4yXXwwKSE9
KGV8MCkpe2g9ZCsyMHwwO2lmKChjW2g+PjJdfDApPT0oZXwwKSl7YnJlYWt9Y1tkKzMyPj4yXT1m
O2k9ZCs0NHwwO2lmKChjW2k+PjJdfDApPT00KXtyZXR1cm59aj1jW2IrMTI+PjJdfDA7az1iKzE2
KyhqPDwzKXwwO0w0NzQ6ZG97aWYoKGp8MCk+MCl7bD1kKzUyfDA7bT1kKzUzfDA7bj1kKzU0fDA7
bz1iKzh8MDtwPWQrMjR8MDtxPWU7cj0wO3M9YisxNnwwO3Q9MDtMNDc2OndoaWxlKDEpe2FbbF09
MDthW21dPTA7dT1jW3MrND4+Ml18MDt2PXU+Pjg7aWYoKHUmMXwwKT09MCl7dz12fWVsc2V7dz1j
WyhjW3E+PjJdfDApK3Y+PjJdfDB9dj1jW3M+PjJdfDA7YjlbY1soY1t2Pj4yXXwwKSsyMD4+Ml0m
MzFdKHYsZCxlLGUrd3wwLDItKHU+Pj4xJjEpfDAsZyk7aWYoKGFbbl0mMSkhPTApe3g9dDt5PXI7
YnJlYWt9ZG97aWYoKGFbbV0mMSk9PTApe3o9dDtBPXJ9ZWxzZXtpZigoYVtsXSYxKT09MCl7aWYo
KGNbbz4+Ml0mMXwwKT09MCl7eD0xO3k9cjticmVhayBMNDc2fWVsc2V7ej0xO0E9cjticmVha319
aWYoKGNbcD4+Ml18MCk9PTEpe0I9Mzg1O2JyZWFrIEw0NzR9aWYoKGNbbz4+Ml0mMnwwKT09MCl7
Qj0zODU7YnJlYWsgTDQ3NH1lbHNle3o9MTtBPTF9fX13aGlsZSgwKTt1PXMrOHwwO2lmKHU+Pj4w
PGs+Pj4wKXtyPUE7cz11O3Q9en1lbHNle3g9ejt5PUE7YnJlYWt9fWlmKHkpe0M9eDtCPTM4NH1l
bHNle0Q9eDtCPTM4MX19ZWxzZXtEPTA7Qj0zODF9fXdoaWxlKDApO2Rve2lmKChCfDApPT0zODEp
e2NbaD4+Ml09ZTtrPWQrNDB8MDtjW2s+PjJdPShjW2s+PjJdfDApKzE7aWYoKGNbZCszNj4+Ml18
MCkhPTEpe0M9RDtCPTM4NDticmVha31pZigoY1tkKzI0Pj4yXXwwKSE9Mil7Qz1EO0I9Mzg0O2Jy
ZWFrfWFbZCs1NHwwXT0xO2lmKEQpe0I9Mzg1fWVsc2V7Qj0zODZ9fX13aGlsZSgwKTtpZigoQnww
KT09Mzg0KXtpZihDKXtCPTM4NX1lbHNle0I9Mzg2fX1pZigoQnwwKT09Mzg1KXtjW2k+PjJdPTM7
cmV0dXJufWVsc2UgaWYoKEJ8MCk9PTM4Nil7Y1tpPj4yXT00O3JldHVybn19fXdoaWxlKDApO2lm
KChmfDApIT0xKXtyZXR1cm59Y1tkKzMyPj4yXT0xO3JldHVybn1DPWNbYisxMj4+Ml18MDtEPWIr
MTYrKEM8PDMpfDA7eD1jW2IrMjA+PjJdfDA7eT14Pj44O2lmKCh4JjF8MCk9PTApe0U9eX1lbHNl
e0U9Y1soY1tlPj4yXXwwKSt5Pj4yXXwwfXk9Y1tiKzE2Pj4yXXwwO2JXW2NbKGNbeT4+Ml18MCkr
MjQ+PjJdJjddKHksZCxlK0V8MCwoeCYyfDApIT0wP2Y6MixnKTt4PWIrMjR8MDtpZigoQ3wwKTw9
MSl7cmV0dXJufUM9Y1tiKzg+PjJdfDA7ZG97aWYoKEMmMnwwKT09MCl7Yj1kKzM2fDA7aWYoKGNb
Yj4+Ml18MCk9PTEpe2JyZWFrfWlmKChDJjF8MCk9PTApe0U9ZCs1NHwwO3k9ZTtBPXg7d2hpbGUo
MSl7aWYoKGFbRV0mMSkhPTApe0I9NDI1O2JyZWFrfWlmKChjW2I+PjJdfDApPT0xKXtCPTQyNjti
cmVha316PWNbQSs0Pj4yXXwwO3c9ej4+ODtpZigoeiYxfDApPT0wKXtGPXd9ZWxzZXtGPWNbKGNb
eT4+Ml18MCkrdz4+Ml18MH13PWNbQT4+Ml18MDtiV1tjWyhjW3c+PjJdfDApKzI0Pj4yXSY3XSh3
LGQsZStGfDAsKHomMnwwKSE9MD9mOjIsZyk7ej1BKzh8MDtpZih6Pj4+MDxEPj4+MCl7QT16fWVs
c2V7Qj00MTI7YnJlYWt9fWlmKChCfDApPT00MTIpe3JldHVybn1lbHNlIGlmKChCfDApPT00MjUp
e3JldHVybn1lbHNlIGlmKChCfDApPT00MjYpe3JldHVybn19QT1kKzI0fDA7eT1kKzU0fDA7RT1l
O2k9eDt3aGlsZSgxKXtpZigoYVt5XSYxKSE9MCl7Qj00MjI7YnJlYWt9aWYoKGNbYj4+Ml18MCk9
PTEpe2lmKChjW0E+PjJdfDApPT0xKXtCPTQyMzticmVha319ej1jW2krND4+Ml18MDt3PXo+Pjg7
aWYoKHomMXwwKT09MCl7Rz13fWVsc2V7Rz1jWyhjW0U+PjJdfDApK3c+PjJdfDB9dz1jW2k+PjJd
fDA7YldbY1soY1t3Pj4yXXwwKSsyND4+Ml0mN10odyxkLGUrR3wwLCh6JjJ8MCkhPTA/ZjoyLGcp
O3o9aSs4fDA7aWYoej4+PjA8RD4+PjApe2k9en1lbHNle0I9NDI0O2JyZWFrfX1pZigoQnwwKT09
NDIyKXtyZXR1cm59ZWxzZSBpZigoQnwwKT09NDIzKXtyZXR1cm59ZWxzZSBpZigoQnwwKT09NDI0
KXtyZXR1cm59fX13aGlsZSgwKTtHPWQrNTR8MDtGPWU7Qz14O3doaWxlKDEpe2lmKChhW0ddJjEp
IT0wKXtCPTQyMTticmVha314PWNbQys0Pj4yXXwwO2k9eD4+ODtpZigoeCYxfDApPT0wKXtIPWl9
ZWxzZXtIPWNbKGNbRj4+Ml18MCkraT4+Ml18MH1pPWNbQz4+Ml18MDtiV1tjWyhjW2k+PjJdfDAp
KzI0Pj4yXSY3XShpLGQsZStIfDAsKHgmMnwwKSE9MD9mOjIsZyk7eD1DKzh8MDtpZih4Pj4+MDxE
Pj4+MCl7Qz14fWVsc2V7Qj00MjA7YnJlYWt9fWlmKChCfDApPT00MjApe3JldHVybn1lbHNlIGlm
KChCfDApPT00MjEpe3JldHVybn19ZnVuY3Rpb24ga0coYixkLGUsZixnKXtiPWJ8MDtkPWR8MDtl
PWV8MDtmPWZ8MDtnPWd8MDt2YXIgaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wO2g9YnwwO2lm
KChofDApPT0oY1tkKzg+PjJdfDApKXtpZigoY1tkKzQ+PjJdfDApIT0oZXwwKSl7cmV0dXJufWk9
ZCsyOHwwO2lmKChjW2k+PjJdfDApPT0xKXtyZXR1cm59Y1tpPj4yXT1mO3JldHVybn1pZigoaHww
KSE9KGNbZD4+Ml18MCkpe2g9Y1tiKzg+PjJdfDA7YldbY1soY1toPj4yXXwwKSsyND4+Ml0mN10o
aCxkLGUsZixnKTtyZXR1cm59ZG97aWYoKGNbZCsxNj4+Ml18MCkhPShlfDApKXtoPWQrMjB8MDtp
ZigoY1toPj4yXXwwKT09KGV8MCkpe2JyZWFrfWNbZCszMj4+Ml09ZjtpPWQrNDR8MDtpZigoY1tp
Pj4yXXwwKT09NCl7cmV0dXJufWo9ZCs1MnwwO2Fbal09MDtrPWQrNTN8MDthW2tdPTA7bD1jW2Ir
OD4+Ml18MDtiOVtjWyhjW2w+PjJdfDApKzIwPj4yXSYzMV0obCxkLGUsZSwxLGcpO2lmKChhW2td
JjEpPT0wKXttPTA7bj00NDF9ZWxzZXtpZigoYVtqXSYxKT09MCl7bT0xO249NDQxfX1MNTc2OmRv
e2lmKChufDApPT00NDEpe2NbaD4+Ml09ZTtqPWQrNDB8MDtjW2o+PjJdPShjW2o+PjJdfDApKzE7
ZG97aWYoKGNbZCszNj4+Ml18MCk9PTEpe2lmKChjW2QrMjQ+PjJdfDApIT0yKXtuPTQ0NDticmVh
a31hW2QrNTR8MF09MTtpZihtKXticmVhayBMNTc2fX1lbHNle249NDQ0fX13aGlsZSgwKTtpZigo
bnwwKT09NDQ0KXtpZihtKXticmVha319Y1tpPj4yXT00O3JldHVybn19d2hpbGUoMCk7Y1tpPj4y
XT0zO3JldHVybn19d2hpbGUoMCk7aWYoKGZ8MCkhPTEpe3JldHVybn1jW2QrMzI+PjJdPTE7cmV0
dXJufWZ1bmN0aW9uIGtIKGIsZCxlLGYsZyxoKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8
MDtoPWh8MDt2YXIgaT0wLGo9MCxrPTAsbD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0
PTAsdT0wLHY9MCx3PTA7aWYoKGJ8MCkhPShjW2QrOD4+Ml18MCkpe2k9ZCs1MnwwO2o9YVtpXSYx
O2s9ZCs1M3wwO2w9YVtrXSYxO209Y1tiKzEyPj4yXXwwO249YisxNisobTw8Myl8MDthW2ldPTA7
YVtrXT0wO289Y1tiKzIwPj4yXXwwO3A9bz4+ODtpZigobyYxfDApPT0wKXtxPXB9ZWxzZXtxPWNb
KGNbZj4+Ml18MCkrcD4+Ml18MH1wPWNbYisxNj4+Ml18MDtiOVtjWyhjW3A+PjJdfDApKzIwPj4y
XSYzMV0ocCxkLGUsZitxfDAsKG8mMnwwKSE9MD9nOjIsaCk7TDU5ODpkb3tpZigobXwwKT4xKXtv
PWQrMjR8MDtxPWIrOHwwO3A9ZCs1NHwwO3I9ZjtzPWIrMjR8MDtkb3tpZigoYVtwXSYxKSE9MCl7
YnJlYWsgTDU5OH1kb3tpZigoYVtpXSYxKT09MCl7aWYoKGFba10mMSk9PTApe2JyZWFrfWlmKChj
W3E+PjJdJjF8MCk9PTApe2JyZWFrIEw1OTh9fWVsc2V7aWYoKGNbbz4+Ml18MCk9PTEpe2JyZWFr
IEw1OTh9aWYoKGNbcT4+Ml0mMnwwKT09MCl7YnJlYWsgTDU5OH19fXdoaWxlKDApO2FbaV09MDth
W2tdPTA7dD1jW3MrND4+Ml18MDt1PXQ+Pjg7aWYoKHQmMXwwKT09MCl7dj11fWVsc2V7dj1jWyhj
W3I+PjJdfDApK3U+PjJdfDB9dT1jW3M+PjJdfDA7YjlbY1soY1t1Pj4yXXwwKSsyMD4+Ml0mMzFd
KHUsZCxlLGYrdnwwLCh0JjJ8MCkhPTA/ZzoyLGgpO3M9cys4fDA7fXdoaWxlKHM+Pj4wPG4+Pj4w
KX19d2hpbGUoMCk7YVtpXT1qO2Fba109bDtyZXR1cm59YVtkKzUzfDBdPTE7aWYoKGNbZCs0Pj4y
XXwwKSE9KGZ8MCkpe3JldHVybn1hW2QrNTJ8MF09MTtmPWQrMTZ8MDtsPWNbZj4+Ml18MDtpZigo
bHwwKT09MCl7Y1tmPj4yXT1lO2NbZCsyND4+Ml09ZztjW2QrMzY+PjJdPTE7aWYoISgoY1tkKzQ4
Pj4yXXwwKT09MSYoZ3wwKT09MSkpe3JldHVybn1hW2QrNTR8MF09MTtyZXR1cm59aWYoKGx8MCkh
PShlfDApKXtlPWQrMzZ8MDtjW2U+PjJdPShjW2U+PjJdfDApKzE7YVtkKzU0fDBdPTE7cmV0dXJu
fWU9ZCsyNHwwO2w9Y1tlPj4yXXwwO2lmKChsfDApPT0yKXtjW2U+PjJdPWc7dz1nfWVsc2V7dz1s
fWlmKCEoKGNbZCs0OD4+Ml18MCk9PTEmKHd8MCk9PTEpKXtyZXR1cm59YVtkKzU0fDBdPTE7cmV0
dXJufWZ1bmN0aW9uIGtJKGIsZCxlLGYsZyxoKXtiPWJ8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8
MDtoPWh8MDt2YXIgaT0wLGo9MDtpZigoYnwwKSE9KGNbZCs4Pj4yXXwwKSl7aT1jW2IrOD4+Ml18
MDtiOVtjWyhjW2k+PjJdfDApKzIwPj4yXSYzMV0oaSxkLGUsZixnLGgpO3JldHVybn1hW2QrNTN8
MF09MTtpZigoY1tkKzQ+PjJdfDApIT0oZnwwKSl7cmV0dXJufWFbZCs1MnwwXT0xO2Y9ZCsxNnww
O2g9Y1tmPj4yXXwwO2lmKChofDApPT0wKXtjW2Y+PjJdPWU7Y1tkKzI0Pj4yXT1nO2NbZCszNj4+
Ml09MTtpZighKChjW2QrNDg+PjJdfDApPT0xJihnfDApPT0xKSl7cmV0dXJufWFbZCs1NHwwXT0x
O3JldHVybn1pZigoaHwwKSE9KGV8MCkpe2U9ZCszNnwwO2NbZT4+Ml09KGNbZT4+Ml18MCkrMTth
W2QrNTR8MF09MTtyZXR1cm59ZT1kKzI0fDA7aD1jW2U+PjJdfDA7aWYoKGh8MCk9PTIpe2NbZT4+
Ml09ZztqPWd9ZWxzZXtqPWh9aWYoISgoY1tkKzQ4Pj4yXXwwKT09MSYoanwwKT09MSkpe3JldHVy
bn1hW2QrNTR8MF09MTtyZXR1cm59ZnVuY3Rpb24ga0ooYSl7YT1hfDA7dmFyIGI9MCxkPTAsZT0w
LGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAs
dD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxI
PTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wLFA9MCxRPTAsUj0wLFM9MCxUPTAsVT0wLFY9
MCxXPTAsWD0wLFk9MCxaPTAsXz0wLCQ9MCxhYT0wLGFiPTAsYWM9MCxhZD0wLGFlPTAsYWY9MCxh
Zz0wLGFoPTAsYWk9MCxhaj0wLGFrPTAsYWw9MCxhbT0wLGFuPTAsYW89MCxhcD0wLGFxPTAsYXI9
MCxhcz0wLGF0PTAsYXU9MCxhdj0wLGF3PTAsYXg9MCxheT0wLGF6PTAsYUE9MCxhQj0wLGFDPTAs
YUQ9MCxhRT0wLGFGPTAsYUc9MDtkb3tpZihhPj4+MDwyNDUpe2lmKGE+Pj4wPDExKXtiPTE2fWVs
c2V7Yj1hKzExJi04fWQ9Yj4+PjM7ZT1jWzI0NjBdfDA7Zj1lPj4+KGQ+Pj4wKTtpZigoZiYzfDAp
IT0wKXtnPShmJjFeMSkrZHwwO2g9Zzw8MTtpPTk4ODArKGg8PDIpfDA7aj05ODgwKyhoKzI8PDIp
fDA7aD1jW2o+PjJdfDA7az1oKzh8MDtsPWNbaz4+Ml18MDtkb3tpZigoaXwwKT09KGx8MCkpe2Nb
MjQ2MF09ZSZ+KDE8PGcpfWVsc2V7aWYobD4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpO3JldHVy
biAwfW09bCsxMnwwO2lmKChjW20+PjJdfDApPT0oaHwwKSl7Y1ttPj4yXT1pO2Nbaj4+Ml09bDti
cmVha31lbHNle2JHKCk7cmV0dXJuIDB9fX13aGlsZSgwKTtsPWc8PDM7Y1toKzQ+PjJdPWx8Mztq
PWgrKGx8NCl8MDtjW2o+PjJdPWNbaj4+Ml18MTtuPWs7cmV0dXJuIG58MH1pZihiPj4+MDw9KGNb
MjQ2Ml18MCk+Pj4wKXtvPWI7YnJlYWt9aWYoKGZ8MCkhPTApe2o9Mjw8ZDtsPWY8PGQmKGp8LWop
O2o9KGwmLWwpLTF8MDtsPWo+Pj4xMiYxNjtpPWo+Pj4obD4+PjApO2o9aT4+PjUmODttPWk+Pj4o
aj4+PjApO2k9bT4+PjImNDtwPW0+Pj4oaT4+PjApO209cD4+PjEmMjtxPXA+Pj4obT4+PjApO3A9
cT4+PjEmMTtyPShqfGx8aXxtfHApKyhxPj4+KHA+Pj4wKSl8MDtwPXI8PDE7cT05ODgwKyhwPDwy
KXwwO209OTg4MCsocCsyPDwyKXwwO3A9Y1ttPj4yXXwwO2k9cCs4fDA7bD1jW2k+PjJdfDA7ZG97
aWYoKHF8MCk9PShsfDApKXtjWzI0NjBdPWUmfigxPDxyKX1lbHNle2lmKGw+Pj4wPChjWzI0NjRd
fDApPj4+MCl7YkcoKTtyZXR1cm4gMH1qPWwrMTJ8MDtpZigoY1tqPj4yXXwwKT09KHB8MCkpe2Nb
aj4+Ml09cTtjW20+PjJdPWw7YnJlYWt9ZWxzZXtiRygpO3JldHVybiAwfX19d2hpbGUoMCk7bD1y
PDwzO209bC1ifDA7Y1twKzQ+PjJdPWJ8MztxPXA7ZT1xK2J8MDtjW3ErKGJ8NCk+PjJdPW18MTtj
W3ErbD4+Ml09bTtsPWNbMjQ2Ml18MDtpZigobHwwKSE9MCl7cT1jWzI0NjVdfDA7ZD1sPj4+Mzts
PWQ8PDE7Zj05ODgwKyhsPDwyKXwwO2s9Y1syNDYwXXwwO2g9MTw8ZDtkb3tpZigoayZofDApPT0w
KXtjWzI0NjBdPWt8aDtzPWY7dD05ODgwKyhsKzI8PDIpfDB9ZWxzZXtkPTk4ODArKGwrMjw8Mil8
MDtnPWNbZD4+Ml18MDtpZihnPj4+MD49KGNbMjQ2NF18MCk+Pj4wKXtzPWc7dD1kO2JyZWFrfWJH
KCk7cmV0dXJuIDB9fXdoaWxlKDApO2NbdD4+Ml09cTtjW3MrMTI+PjJdPXE7Y1txKzg+PjJdPXM7
Y1txKzEyPj4yXT1mfWNbMjQ2Ml09bTtjWzI0NjVdPWU7bj1pO3JldHVybiBufDB9bD1jWzI0NjFd
fDA7aWYoKGx8MCk9PTApe289YjticmVha31oPShsJi1sKS0xfDA7bD1oPj4+MTImMTY7az1oPj4+
KGw+Pj4wKTtoPWs+Pj41Jjg7cD1rPj4+KGg+Pj4wKTtrPXA+Pj4yJjQ7cj1wPj4+KGs+Pj4wKTtw
PXI+Pj4xJjI7ZD1yPj4+KHA+Pj4wKTtyPWQ+Pj4xJjE7Zz1jWzEwMTQ0KygoaHxsfGt8cHxyKSso
ZD4+PihyPj4+MCkpPDwyKT4+Ml18MDtyPWc7ZD1nO3A9KGNbZys0Pj4yXSYtOCktYnwwO3doaWxl
KDEpe2c9Y1tyKzE2Pj4yXXwwO2lmKChnfDApPT0wKXtrPWNbcisyMD4+Ml18MDtpZigoa3wwKT09
MCl7YnJlYWt9ZWxzZXt1PWt9fWVsc2V7dT1nfWc9KGNbdSs0Pj4yXSYtOCktYnwwO2s9Zz4+PjA8
cD4+PjA7cj11O2Q9az91OmQ7cD1rP2c6cH1yPWQ7aT1jWzI0NjRdfDA7aWYocj4+PjA8aT4+PjAp
e2JHKCk7cmV0dXJuIDB9ZT1yK2J8MDttPWU7aWYocj4+PjA+PWU+Pj4wKXtiRygpO3JldHVybiAw
fWU9Y1tkKzI0Pj4yXXwwO2Y9Y1tkKzEyPj4yXXwwO2Rve2lmKChmfDApPT0oZHwwKSl7cT1kKzIw
fDA7Zz1jW3E+PjJdfDA7aWYoKGd8MCk9PTApe2s9ZCsxNnwwO2w9Y1trPj4yXXwwO2lmKChsfDAp
PT0wKXt2PTA7YnJlYWt9ZWxzZXt3PWw7eD1rfX1lbHNle3c9Zzt4PXF9d2hpbGUoMSl7cT13KzIw
fDA7Zz1jW3E+PjJdfDA7aWYoKGd8MCkhPTApe3c9Zzt4PXE7Y29udGludWV9cT13KzE2fDA7Zz1j
W3E+PjJdfDA7aWYoKGd8MCk9PTApe2JyZWFrfWVsc2V7dz1nO3g9cX19aWYoeD4+PjA8aT4+PjAp
e2JHKCk7cmV0dXJuIDB9ZWxzZXtjW3g+PjJdPTA7dj13O2JyZWFrfX1lbHNle3E9Y1tkKzg+PjJd
fDA7aWYocT4+PjA8aT4+PjApe2JHKCk7cmV0dXJuIDB9Zz1xKzEyfDA7aWYoKGNbZz4+Ml18MCkh
PShkfDApKXtiRygpO3JldHVybiAwfWs9Zis4fDA7aWYoKGNbaz4+Ml18MCk9PShkfDApKXtjW2c+
PjJdPWY7Y1trPj4yXT1xO3Y9ZjticmVha31lbHNle2JHKCk7cmV0dXJuIDB9fX13aGlsZSgwKTtM
NzQwOmRve2lmKChlfDApIT0wKXtmPWQrMjh8MDtpPTEwMTQ0KyhjW2Y+PjJdPDwyKXwwO2Rve2lm
KChkfDApPT0oY1tpPj4yXXwwKSl7Y1tpPj4yXT12O2lmKCh2fDApIT0wKXticmVha31jWzI0NjFd
PWNbMjQ2MV0mfigxPDxjW2Y+PjJdKTticmVhayBMNzQwfWVsc2V7aWYoZT4+PjA8KGNbMjQ2NF18
MCk+Pj4wKXtiRygpO3JldHVybiAwfXE9ZSsxNnwwO2lmKChjW3E+PjJdfDApPT0oZHwwKSl7Y1tx
Pj4yXT12fWVsc2V7Y1tlKzIwPj4yXT12fWlmKCh2fDApPT0wKXticmVhayBMNzQwfX19d2hpbGUo
MCk7aWYodj4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpO3JldHVybiAwfWNbdisyND4+Ml09ZTtm
PWNbZCsxNj4+Ml18MDtkb3tpZigoZnwwKSE9MCl7aWYoZj4+PjA8KGNbMjQ2NF18MCk+Pj4wKXti
RygpO3JldHVybiAwfWVsc2V7Y1t2KzE2Pj4yXT1mO2NbZisyND4+Ml09djticmVha319fXdoaWxl
KDApO2Y9Y1tkKzIwPj4yXXwwO2lmKChmfDApPT0wKXticmVha31pZihmPj4+MDwoY1syNDY0XXww
KT4+PjApe2JHKCk7cmV0dXJuIDB9ZWxzZXtjW3YrMjA+PjJdPWY7Y1tmKzI0Pj4yXT12O2JyZWFr
fX19d2hpbGUoMCk7aWYocD4+PjA8MTYpe2U9cCtifDA7Y1tkKzQ+PjJdPWV8MztmPXIrKGUrNCl8
MDtjW2Y+PjJdPWNbZj4+Ml18MX1lbHNle2NbZCs0Pj4yXT1ifDM7Y1tyKyhifDQpPj4yXT1wfDE7
Y1tyKyhwK2IpPj4yXT1wO2Y9Y1syNDYyXXwwO2lmKChmfDApIT0wKXtlPWNbMjQ2NV18MDtpPWY+
Pj4zO2Y9aTw8MTtxPTk4ODArKGY8PDIpfDA7az1jWzI0NjBdfDA7Zz0xPDxpO2Rve2lmKChrJmd8
MCk9PTApe2NbMjQ2MF09a3xnO3k9cTt6PTk4ODArKGYrMjw8Mil8MH1lbHNle2k9OTg4MCsoZisy
PDwyKXwwO2w9Y1tpPj4yXXwwO2lmKGw+Pj4wPj0oY1syNDY0XXwwKT4+PjApe3k9bDt6PWk7YnJl
YWt9YkcoKTtyZXR1cm4gMH19d2hpbGUoMCk7Y1t6Pj4yXT1lO2NbeSsxMj4+Ml09ZTtjW2UrOD4+
Ml09eTtjW2UrMTI+PjJdPXF9Y1syNDYyXT1wO2NbMjQ2NV09bX1mPWQrOHwwO2lmKChmfDApPT0w
KXtvPWI7YnJlYWt9ZWxzZXtuPWZ9cmV0dXJuIG58MH1lbHNle2lmKGE+Pj4wPjQyOTQ5NjcyMzEp
e289LTE7YnJlYWt9Zj1hKzExfDA7Zz1mJi04O2s9Y1syNDYxXXwwO2lmKChrfDApPT0wKXtvPWc7
YnJlYWt9cj0tZ3wwO2k9Zj4+Pjg7ZG97aWYoKGl8MCk9PTApe0E9MH1lbHNle2lmKGc+Pj4wPjE2
Nzc3MjE1KXtBPTMxO2JyZWFrfWY9KGkrMTA0ODMyMHwwKT4+PjE2Jjg7bD1pPDxmO2g9KGwrNTIw
MTkyfDApPj4+MTYmNDtqPWw8PGg7bD0oaisyNDU3NjB8MCk+Pj4xNiYyO0I9MTQtKGh8ZnxsKSso
ajw8bD4+PjE1KXwwO0E9Zz4+PigoQis3fDApPj4+MCkmMXxCPDwxfX13aGlsZSgwKTtpPWNbMTAx
NDQrKEE8PDIpPj4yXXwwO0w3ODg6ZG97aWYoKGl8MCk9PTApe0M9MDtEPXI7RT0wfWVsc2V7aWYo
KEF8MCk9PTMxKXtGPTB9ZWxzZXtGPTI1LShBPj4+MSl8MH1kPTA7bT1yO3A9aTtxPWc8PEY7ZT0w
O3doaWxlKDEpe0I9Y1twKzQ+PjJdJi04O2w9Qi1nfDA7aWYobD4+PjA8bT4+PjApe2lmKChCfDAp
PT0oZ3wwKSl7Qz1wO0Q9bDtFPXA7YnJlYWsgTDc4OH1lbHNle0c9cDtIPWx9fWVsc2V7Rz1kO0g9
bX1sPWNbcCsyMD4+Ml18MDtCPWNbcCsxNisocT4+PjMxPDwyKT4+Ml18MDtqPShsfDApPT0wfChs
fDApPT0oQnwwKT9lOmw7aWYoKEJ8MCk9PTApe0M9RztEPUg7RT1qO2JyZWFrfWVsc2V7ZD1HO209
SDtwPUI7cT1xPDwxO2U9an19fX13aGlsZSgwKTtpZigoRXwwKT09MCYoQ3wwKT09MCl7aT0yPDxB
O3I9ayYoaXwtaSk7aWYoKHJ8MCk9PTApe289ZzticmVha31pPShyJi1yKS0xfDA7cj1pPj4+MTIm
MTY7ZT1pPj4+KHI+Pj4wKTtpPWU+Pj41Jjg7cT1lPj4+KGk+Pj4wKTtlPXE+Pj4yJjQ7cD1xPj4+
KGU+Pj4wKTtxPXA+Pj4xJjI7bT1wPj4+KHE+Pj4wKTtwPW0+Pj4xJjE7ST1jWzEwMTQ0KygoaXxy
fGV8cXxwKSsobT4+PihwPj4+MCkpPDwyKT4+Ml18MH1lbHNle0k9RX1pZigoSXwwKT09MCl7Sj1E
O0s9Q31lbHNle3A9STttPUQ7cT1DO3doaWxlKDEpe2U9KGNbcCs0Pj4yXSYtOCktZ3wwO3I9ZT4+
PjA8bT4+PjA7aT1yP2U6bTtlPXI/cDpxO3I9Y1twKzE2Pj4yXXwwO2lmKChyfDApIT0wKXtwPXI7
bT1pO3E9ZTtjb250aW51ZX1yPWNbcCsyMD4+Ml18MDtpZigocnwwKT09MCl7Sj1pO0s9ZTticmVh
a31lbHNle3A9cjttPWk7cT1lfX19aWYoKEt8MCk9PTApe289ZzticmVha31pZihKPj4+MD49KChj
WzI0NjJdfDApLWd8MCk+Pj4wKXtvPWc7YnJlYWt9cT1LO209Y1syNDY0XXwwO2lmKHE+Pj4wPG0+
Pj4wKXtiRygpO3JldHVybiAwfXA9cStnfDA7az1wO2lmKHE+Pj4wPj1wPj4+MCl7YkcoKTtyZXR1
cm4gMH1lPWNbSysyND4+Ml18MDtpPWNbSysxMj4+Ml18MDtkb3tpZigoaXwwKT09KEt8MCkpe3I9
SysyMHwwO2Q9Y1tyPj4yXXwwO2lmKChkfDApPT0wKXtqPUsrMTZ8MDtCPWNbaj4+Ml18MDtpZigo
QnwwKT09MCl7TD0wO2JyZWFrfWVsc2V7TT1CO049an19ZWxzZXtNPWQ7Tj1yfXdoaWxlKDEpe3I9
TSsyMHwwO2Q9Y1tyPj4yXXwwO2lmKChkfDApIT0wKXtNPWQ7Tj1yO2NvbnRpbnVlfXI9TSsxNnww
O2Q9Y1tyPj4yXXwwO2lmKChkfDApPT0wKXticmVha31lbHNle009ZDtOPXJ9fWlmKE4+Pj4wPG0+
Pj4wKXtiRygpO3JldHVybiAwfWVsc2V7Y1tOPj4yXT0wO0w9TTticmVha319ZWxzZXtyPWNbSys4
Pj4yXXwwO2lmKHI+Pj4wPG0+Pj4wKXtiRygpO3JldHVybiAwfWQ9cisxMnwwO2lmKChjW2Q+PjJd
fDApIT0oS3wwKSl7YkcoKTtyZXR1cm4gMH1qPWkrOHwwO2lmKChjW2o+PjJdfDApPT0oS3wwKSl7
Y1tkPj4yXT1pO2Nbaj4+Ml09cjtMPWk7YnJlYWt9ZWxzZXtiRygpO3JldHVybiAwfX19d2hpbGUo
MCk7TDgzODpkb3tpZigoZXwwKSE9MCl7aT1LKzI4fDA7bT0xMDE0NCsoY1tpPj4yXTw8Mil8MDtk
b3tpZigoS3wwKT09KGNbbT4+Ml18MCkpe2NbbT4+Ml09TDtpZigoTHwwKSE9MCl7YnJlYWt9Y1sy
NDYxXT1jWzI0NjFdJn4oMTw8Y1tpPj4yXSk7YnJlYWsgTDgzOH1lbHNle2lmKGU+Pj4wPChjWzI0
NjRdfDApPj4+MCl7YkcoKTtyZXR1cm4gMH1yPWUrMTZ8MDtpZigoY1tyPj4yXXwwKT09KEt8MCkp
e2Nbcj4+Ml09TH1lbHNle2NbZSsyMD4+Ml09TH1pZigoTHwwKT09MCl7YnJlYWsgTDgzOH19fXdo
aWxlKDApO2lmKEw+Pj4wPChjWzI0NjRdfDApPj4+MCl7YkcoKTtyZXR1cm4gMH1jW0wrMjQ+PjJd
PWU7aT1jW0srMTY+PjJdfDA7ZG97aWYoKGl8MCkhPTApe2lmKGk+Pj4wPChjWzI0NjRdfDApPj4+
MCl7YkcoKTtyZXR1cm4gMH1lbHNle2NbTCsxNj4+Ml09aTtjW2krMjQ+PjJdPUw7YnJlYWt9fX13
aGlsZSgwKTtpPWNbSysyMD4+Ml18MDtpZigoaXwwKT09MCl7YnJlYWt9aWYoaT4+PjA8KGNbMjQ2
NF18MCk+Pj4wKXtiRygpO3JldHVybiAwfWVsc2V7Y1tMKzIwPj4yXT1pO2NbaSsyND4+Ml09TDti
cmVha319fXdoaWxlKDApO2Rve2lmKEo+Pj4wPDE2KXtlPUorZ3wwO2NbSys0Pj4yXT1lfDM7aT1x
KyhlKzQpfDA7Y1tpPj4yXT1jW2k+PjJdfDF9ZWxzZXtjW0srND4+Ml09Z3wzO2NbcSsoZ3w0KT4+
Ml09SnwxO2NbcSsoSitnKT4+Ml09SjtpPUo+Pj4zO2lmKEo+Pj4wPDI1Nil7ZT1pPDwxO209OTg4
MCsoZTw8Mil8MDtyPWNbMjQ2MF18MDtqPTE8PGk7ZG97aWYoKHImanwwKT09MCl7Y1syNDYwXT1y
fGo7Tz1tO1A9OTg4MCsoZSsyPDwyKXwwfWVsc2V7aT05ODgwKyhlKzI8PDIpfDA7ZD1jW2k+PjJd
fDA7aWYoZD4+PjA+PShjWzI0NjRdfDApPj4+MCl7Tz1kO1A9aTticmVha31iRygpO3JldHVybiAw
fX13aGlsZSgwKTtjW1A+PjJdPWs7Y1tPKzEyPj4yXT1rO2NbcSsoZys4KT4+Ml09TztjW3ErKGcr
MTIpPj4yXT1tO2JyZWFrfWU9cDtqPUo+Pj44O2Rve2lmKChqfDApPT0wKXtRPTB9ZWxzZXtpZihK
Pj4+MD4xNjc3NzIxNSl7UT0zMTticmVha31yPShqKzEwNDgzMjB8MCk+Pj4xNiY4O2k9ajw8cjtk
PShpKzUyMDE5MnwwKT4+PjE2JjQ7Qj1pPDxkO2k9KEIrMjQ1NzYwfDApPj4+MTYmMjtsPTE0LShk
fHJ8aSkrKEI8PGk+Pj4xNSl8MDtRPUo+Pj4oKGwrN3wwKT4+PjApJjF8bDw8MX19d2hpbGUoMCk7
aj0xMDE0NCsoUTw8Mil8MDtjW3ErKGcrMjgpPj4yXT1RO2NbcSsoZysyMCk+PjJdPTA7Y1txKyhn
KzE2KT4+Ml09MDttPWNbMjQ2MV18MDtsPTE8PFE7aWYoKG0mbHwwKT09MCl7Y1syNDYxXT1tfGw7
Y1tqPj4yXT1lO2NbcSsoZysyNCk+PjJdPWo7Y1txKyhnKzEyKT4+Ml09ZTtjW3ErKGcrOCk+PjJd
PWU7YnJlYWt9aWYoKFF8MCk9PTMxKXtSPTB9ZWxzZXtSPTI1LShRPj4+MSl8MH1sPUo8PFI7bT1j
W2o+PjJdfDA7d2hpbGUoMSl7aWYoKGNbbSs0Pj4yXSYtOHwwKT09KEp8MCkpe2JyZWFrfVM9bSsx
NisobD4+PjMxPDwyKXwwO2o9Y1tTPj4yXXwwO2lmKChqfDApPT0wKXtUPTY2MTticmVha31lbHNl
e2w9bDw8MTttPWp9fWlmKChUfDApPT02NjEpe2lmKFM+Pj4wPChjWzI0NjRdfDApPj4+MCl7Ykco
KTtyZXR1cm4gMH1lbHNle2NbUz4+Ml09ZTtjW3ErKGcrMjQpPj4yXT1tO2NbcSsoZysxMik+PjJd
PWU7Y1txKyhnKzgpPj4yXT1lO2JyZWFrfX1sPW0rOHwwO2o9Y1tsPj4yXXwwO2k9Y1syNDY0XXww
O2lmKG0+Pj4wPGk+Pj4wKXtiRygpO3JldHVybiAwfWlmKGo+Pj4wPGk+Pj4wKXtiRygpO3JldHVy
biAwfWVsc2V7Y1tqKzEyPj4yXT1lO2NbbD4+Ml09ZTtjW3ErKGcrOCk+PjJdPWo7Y1txKyhnKzEy
KT4+Ml09bTtjW3ErKGcrMjQpPj4yXT0wO2JyZWFrfX19d2hpbGUoMCk7cT1LKzh8MDtpZigocXww
KT09MCl7bz1nO2JyZWFrfWVsc2V7bj1xfXJldHVybiBufDB9fXdoaWxlKDApO0s9Y1syNDYyXXww
O2lmKG8+Pj4wPD1LPj4+MCl7Uz1LLW98MDtKPWNbMjQ2NV18MDtpZihTPj4+MD4xNSl7Uj1KO2Nb
MjQ2NV09UitvO2NbMjQ2Ml09UztjW1IrKG8rNCk+PjJdPVN8MTtjW1IrSz4+Ml09UztjW0orND4+
Ml09b3wzfWVsc2V7Y1syNDYyXT0wO2NbMjQ2NV09MDtjW0orND4+Ml09S3wzO1M9SisoSys0KXww
O2NbUz4+Ml09Y1tTPj4yXXwxfW49Sis4fDA7cmV0dXJuIG58MH1KPWNbMjQ2M118MDtpZihvPj4+
MDxKPj4+MCl7Uz1KLW98MDtjWzI0NjNdPVM7Sj1jWzI0NjZdfDA7Sz1KO2NbMjQ2Nl09SytvO2Nb
Sysobys0KT4+Ml09U3wxO2NbSis0Pj4yXT1vfDM7bj1KKzh8MDtyZXR1cm4gbnwwfWRve2lmKChj
WzI0NTBdfDApPT0wKXtKPWJFKDgpfDA7aWYoKEotMSZKfDApPT0wKXtjWzI0NTJdPUo7Y1syNDUx
XT1KO2NbMjQ1M109LTE7Y1syNDU0XT0tMTtjWzI0NTVdPTA7Y1syNTcxXT0wO2NbMjQ1MF09KGJW
KDApfDApJi0xNl4xNDMxNjU1NzY4O2JyZWFrfWVsc2V7YkcoKTtyZXR1cm4gMH19fXdoaWxlKDAp
O0o9bys0OHwwO1M9Y1syNDUyXXwwO0s9bys0N3wwO1I9UytLfDA7UT0tU3wwO1M9UiZRO2lmKFM+
Pj4wPD1vPj4+MCl7bj0wO3JldHVybiBufDB9Tz1jWzI1NzBdfDA7ZG97aWYoKE98MCkhPTApe1A9
Y1syNTY4XXwwO0w9UCtTfDA7aWYoTD4+PjA8PVA+Pj4wfEw+Pj4wPk8+Pj4wKXtuPTB9ZWxzZXti
cmVha31yZXR1cm4gbnwwfX13aGlsZSgwKTtMOTMwOmRve2lmKChjWzI1NzFdJjR8MCk9PTApe089
Y1syNDY2XXwwO0w5MzI6ZG97aWYoKE98MCk9PTApe1Q9NjkxfWVsc2V7TD1PO1A9MTAyODg7d2hp
bGUoMSl7VT1QfDA7TT1jW1U+PjJdfDA7aWYoTT4+PjA8PUw+Pj4wKXtWPVArNHwwO2lmKChNKyhj
W1Y+PjJdfDApfDApPj4+MD5MPj4+MCl7YnJlYWt9fU09Y1tQKzg+PjJdfDA7aWYoKE18MCk9PTAp
e1Q9NjkxO2JyZWFrIEw5MzJ9ZWxzZXtQPU19fWlmKChQfDApPT0wKXtUPTY5MTticmVha31MPVIt
KGNbMjQ2M118MCkmUTtpZihMPj4+MD49MjE0NzQ4MzY0Nyl7Vz0wO2JyZWFrfW09YnYoTHwwKXww
O2U9KG18MCk9PSgoY1tVPj4yXXwwKSsoY1tWPj4yXXwwKXwwKTtYPWU/bTotMTtZPWU/TDowO1o9
bTtfPUw7VD03MDB9fXdoaWxlKDApO2Rve2lmKChUfDApPT02OTEpe089YnYoMCl8MDtpZigoT3ww
KT09LTEpe1c9MDticmVha31nPU87TD1jWzI0NTFdfDA7bT1MLTF8MDtpZigobSZnfDApPT0wKXsk
PVN9ZWxzZXskPVMtZysobStnJi1MKXwwfUw9Y1syNTY4XXwwO2c9TCskfDA7aWYoISgkPj4+MD5v
Pj4+MCYkPj4+MDwyMTQ3NDgzNjQ3KSl7Vz0wO2JyZWFrfW09Y1syNTcwXXwwO2lmKChtfDApIT0w
KXtpZihnPj4+MDw9TD4+PjB8Zz4+PjA+bT4+PjApe1c9MDticmVha319bT1idigkfDApfDA7Zz0o
bXwwKT09KE98MCk7WD1nP086LTE7WT1nPyQ6MDtaPW07Xz0kO1Q9NzAwfX13aGlsZSgwKTtMOTUy
OmRve2lmKChUfDApPT03MDApe209LV98MDtpZigoWHwwKSE9LTEpe2FhPVk7YWI9WDtUPTcxMTti
cmVhayBMOTMwfWRve2lmKChafDApIT0tMSZfPj4+MDwyMTQ3NDgzNjQ3Jl8+Pj4wPEo+Pj4wKXtn
PWNbMjQ1Ml18MDtPPUstXytnJi1nO2lmKE8+Pj4wPj0yMTQ3NDgzNjQ3KXthYz1fO2JyZWFrfWlm
KChidihPfDApfDApPT0tMSl7YnYobXwwKXwwO1c9WTticmVhayBMOTUyfWVsc2V7YWM9TytffDA7
YnJlYWt9fWVsc2V7YWM9X319d2hpbGUoMCk7aWYoKFp8MCk9PS0xKXtXPVl9ZWxzZXthYT1hYzth
Yj1aO1Q9NzExO2JyZWFrIEw5MzB9fX13aGlsZSgwKTtjWzI1NzFdPWNbMjU3MV18NDthZD1XO1Q9
NzA4fWVsc2V7YWQ9MDtUPTcwOH19d2hpbGUoMCk7ZG97aWYoKFR8MCk9PTcwOCl7aWYoUz4+PjA+
PTIxNDc0ODM2NDcpe2JyZWFrfVc9YnYoU3wwKXwwO1o9YnYoMCl8MDtpZighKChafDApIT0tMSYo
V3wwKSE9LTEmVz4+PjA8Wj4+PjApKXticmVha31hYz1aLVd8MDtaPWFjPj4+MD4obys0MHwwKT4+
PjA7WT1aP1c6LTE7aWYoKFl8MCkhPS0xKXthYT1aP2FjOmFkO2FiPVk7VD03MTF9fX13aGlsZSgw
KTtkb3tpZigoVHwwKT09NzExKXthZD0oY1syNTY4XXwwKSthYXwwO2NbMjU2OF09YWQ7aWYoYWQ+
Pj4wPihjWzI1NjldfDApPj4+MCl7Y1syNTY5XT1hZH1hZD1jWzI0NjZdfDA7TDk3Mjpkb3tpZigo
YWR8MCk9PTApe1M9Y1syNDY0XXwwO2lmKChTfDApPT0wfGFiPj4+MDxTPj4+MCl7Y1syNDY0XT1h
Yn1jWzI1NzJdPWFiO2NbMjU3M109YWE7Y1syNTc1XT0wO2NbMjQ2OV09Y1syNDUwXTtjWzI0Njhd
PS0xO1M9MDtkb3tZPVM8PDE7YWM9OTg4MCsoWTw8Mil8MDtjWzk4ODArKFkrMzw8Mik+PjJdPWFj
O2NbOTg4MCsoWSsyPDwyKT4+Ml09YWM7Uz1TKzF8MDt9d2hpbGUoUz4+PjA8MzIpO1M9YWIrOHww
O2lmKChTJjd8MCk9PTApe2FlPTB9ZWxzZXthZT0tUyY3fVM9YWEtNDAtYWV8MDtjWzI0NjZdPWFi
K2FlO2NbMjQ2M109UztjW2FiKyhhZSs0KT4+Ml09U3wxO2NbYWIrKGFhLTM2KT4+Ml09NDA7Y1sy
NDY3XT1jWzI0NTRdfWVsc2V7Uz0xMDI4ODt3aGlsZSgxKXthZj1jW1M+PjJdfDA7YWc9Uys0fDA7
YWg9Y1thZz4+Ml18MDtpZigoYWJ8MCk9PShhZithaHwwKSl7VD03MjM7YnJlYWt9YWM9Y1tTKzg+
PjJdfDA7aWYoKGFjfDApPT0wKXticmVha31lbHNle1M9YWN9fWRve2lmKChUfDApPT03MjMpe2lm
KChjW1MrMTI+PjJdJjh8MCkhPTApe2JyZWFrfWFjPWFkO2lmKCEoYWM+Pj4wPj1hZj4+PjAmYWM+
Pj4wPGFiPj4+MCkpe2JyZWFrfWNbYWc+PjJdPWFoK2FhO2FjPWNbMjQ2Nl18MDtZPShjWzI0NjNd
fDApK2FhfDA7Wj1hYztXPWFjKzh8MDtpZigoVyY3fDApPT0wKXthaT0wfWVsc2V7YWk9LVcmN31X
PVktYWl8MDtjWzI0NjZdPVorYWk7Y1syNDYzXT1XO2NbWisoYWkrNCk+PjJdPVd8MTtjW1orKFkr
NCk+PjJdPTQwO2NbMjQ2N109Y1syNDU0XTticmVhayBMOTcyfX13aGlsZSgwKTtpZihhYj4+PjA8
KGNbMjQ2NF18MCk+Pj4wKXtjWzI0NjRdPWFifVM9YWIrYWF8MDtZPTEwMjg4O3doaWxlKDEpe2Fq
PVl8MDtpZigoY1thaj4+Ml18MCk9PShTfDApKXtUPTczMzticmVha31aPWNbWSs4Pj4yXXwwO2lm
KChafDApPT0wKXticmVha31lbHNle1k9Wn19ZG97aWYoKFR8MCk9PTczMyl7aWYoKGNbWSsxMj4+
Ml0mOHwwKSE9MCl7YnJlYWt9Y1thaj4+Ml09YWI7Uz1ZKzR8MDtjW1M+PjJdPShjW1M+PjJdfDAp
K2FhO1M9YWIrOHwwO2lmKChTJjd8MCk9PTApe2FrPTB9ZWxzZXthaz0tUyY3fVM9YWIrKGFhKzgp
fDA7aWYoKFMmN3wwKT09MCl7YWw9MH1lbHNle2FsPS1TJjd9Uz1hYisoYWwrYWEpfDA7Wj1TO1c9
YWsrb3wwO2FjPWFiK1d8MDtfPWFjO0s9Uy0oYWIrYWspLW98MDtjW2FiKyhhays0KT4+Ml09b3wz
O2Rve2lmKChafDApPT0oY1syNDY2XXwwKSl7Sj0oY1syNDYzXXwwKStLfDA7Y1syNDYzXT1KO2Nb
MjQ2Nl09XztjW2FiKyhXKzQpPj4yXT1KfDF9ZWxzZXtpZigoWnwwKT09KGNbMjQ2NV18MCkpe0o9
KGNbMjQ2Ml18MCkrS3wwO2NbMjQ2Ml09SjtjWzI0NjVdPV87Y1thYisoVys0KT4+Ml09SnwxO2Nb
YWIrKEorVyk+PjJdPUo7YnJlYWt9Sj1hYSs0fDA7WD1jW2FiKyhKK2FsKT4+Ml18MDtpZigoWCYz
fDApPT0xKXskPVgmLTg7Vj1YPj4+MztMMTAxNzpkb3tpZihYPj4+MDwyNTYpe1U9Y1thYisoKGFs
fDgpK2FhKT4+Ml18MDtRPWNbYWIrKGFhKzEyK2FsKT4+Ml18MDtSPTk4ODArKFY8PDE8PDIpfDA7
ZG97aWYoKFV8MCkhPShSfDApKXtpZihVPj4+MDwoY1syNDY0XXwwKT4+PjApe2JHKCk7cmV0dXJu
IDB9aWYoKGNbVSsxMj4+Ml18MCk9PShafDApKXticmVha31iRygpO3JldHVybiAwfX13aGlsZSgw
KTtpZigoUXwwKT09KFV8MCkpe2NbMjQ2MF09Y1syNDYwXSZ+KDE8PFYpO2JyZWFrfWRve2lmKChR
fDApPT0oUnwwKSl7YW09USs4fDB9ZWxzZXtpZihRPj4+MDwoY1syNDY0XXwwKT4+PjApe2JHKCk7
cmV0dXJuIDB9bT1RKzh8MDtpZigoY1ttPj4yXXwwKT09KFp8MCkpe2FtPW07YnJlYWt9YkcoKTty
ZXR1cm4gMH19d2hpbGUoMCk7Y1tVKzEyPj4yXT1RO2NbYW0+PjJdPVV9ZWxzZXtSPVM7bT1jW2Fi
KygoYWx8MjQpK2FhKT4+Ml18MDtQPWNbYWIrKGFhKzEyK2FsKT4+Ml18MDtkb3tpZigoUHwwKT09
KFJ8MCkpe089YWx8MTY7Zz1hYisoSitPKXwwO0w9Y1tnPj4yXXwwO2lmKChMfDApPT0wKXtlPWFi
KyhPK2FhKXwwO089Y1tlPj4yXXwwO2lmKChPfDApPT0wKXthbj0wO2JyZWFrfWVsc2V7YW89Tzth
cD1lfX1lbHNle2FvPUw7YXA9Z313aGlsZSgxKXtnPWFvKzIwfDA7TD1jW2c+PjJdfDA7aWYoKEx8
MCkhPTApe2FvPUw7YXA9Zztjb250aW51ZX1nPWFvKzE2fDA7TD1jW2c+PjJdfDA7aWYoKEx8MCk9
PTApe2JyZWFrfWVsc2V7YW89TDthcD1nfX1pZihhcD4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygp
O3JldHVybiAwfWVsc2V7Y1thcD4+Ml09MDthbj1hbzticmVha319ZWxzZXtnPWNbYWIrKChhbHw4
KSthYSk+PjJdfDA7aWYoZz4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpO3JldHVybiAwfUw9Zysx
MnwwO2lmKChjW0w+PjJdfDApIT0oUnwwKSl7YkcoKTtyZXR1cm4gMH1lPVArOHwwO2lmKChjW2U+
PjJdfDApPT0oUnwwKSl7Y1tMPj4yXT1QO2NbZT4+Ml09Zzthbj1QO2JyZWFrfWVsc2V7YkcoKTty
ZXR1cm4gMH19fXdoaWxlKDApO2lmKChtfDApPT0wKXticmVha31QPWFiKyhhYSsyOCthbCl8MDtV
PTEwMTQ0KyhjW1A+PjJdPDwyKXwwO2Rve2lmKChSfDApPT0oY1tVPj4yXXwwKSl7Y1tVPj4yXT1h
bjtpZigoYW58MCkhPTApe2JyZWFrfWNbMjQ2MV09Y1syNDYxXSZ+KDE8PGNbUD4+Ml0pO2JyZWFr
IEwxMDE3fWVsc2V7aWYobT4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpO3JldHVybiAwfVE9bSsx
NnwwO2lmKChjW1E+PjJdfDApPT0oUnwwKSl7Y1tRPj4yXT1hbn1lbHNle2NbbSsyMD4+Ml09YW59
aWYoKGFufDApPT0wKXticmVhayBMMTAxN319fXdoaWxlKDApO2lmKGFuPj4+MDwoY1syNDY0XXww
KT4+PjApe2JHKCk7cmV0dXJuIDB9Y1thbisyND4+Ml09bTtSPWFsfDE2O1A9Y1thYisoUithYSk+
PjJdfDA7ZG97aWYoKFB8MCkhPTApe2lmKFA+Pj4wPChjWzI0NjRdfDApPj4+MCl7YkcoKTtyZXR1
cm4gMH1lbHNle2NbYW4rMTY+PjJdPVA7Y1tQKzI0Pj4yXT1hbjticmVha319fXdoaWxlKDApO1A9
Y1thYisoSitSKT4+Ml18MDtpZigoUHwwKT09MCl7YnJlYWt9aWYoUD4+PjA8KGNbMjQ2NF18MCk+
Pj4wKXtiRygpO3JldHVybiAwfWVsc2V7Y1thbisyMD4+Ml09UDtjW1ArMjQ+PjJdPWFuO2JyZWFr
fX19d2hpbGUoMCk7YXE9YWIrKCgkfGFsKSthYSl8MDthcj0kK0t8MH1lbHNle2FxPVo7YXI9S31K
PWFxKzR8MDtjW0o+PjJdPWNbSj4+Ml0mLTI7Y1thYisoVys0KT4+Ml09YXJ8MTtjW2FiKyhhcitX
KT4+Ml09YXI7Sj1hcj4+PjM7aWYoYXI+Pj4wPDI1Nil7Vj1KPDwxO1g9OTg4MCsoVjw8Mil8MDtQ
PWNbMjQ2MF18MDttPTE8PEo7ZG97aWYoKFAmbXwwKT09MCl7Y1syNDYwXT1QfG07YXM9WDthdD05
ODgwKyhWKzI8PDIpfDB9ZWxzZXtKPTk4ODArKFYrMjw8Mil8MDtVPWNbSj4+Ml18MDtpZihVPj4+
MD49KGNbMjQ2NF18MCk+Pj4wKXthcz1VO2F0PUo7YnJlYWt9YkcoKTtyZXR1cm4gMH19d2hpbGUo
MCk7Y1thdD4+Ml09XztjW2FzKzEyPj4yXT1fO2NbYWIrKFcrOCk+PjJdPWFzO2NbYWIrKFcrMTIp
Pj4yXT1YO2JyZWFrfVY9YWM7bT1hcj4+Pjg7ZG97aWYoKG18MCk9PTApe2F1PTB9ZWxzZXtpZihh
cj4+PjA+MTY3NzcyMTUpe2F1PTMxO2JyZWFrfVA9KG0rMTA0ODMyMHwwKT4+PjE2Jjg7JD1tPDxQ
O0o9KCQrNTIwMTkyfDApPj4+MTYmNDtVPSQ8PEo7JD0oVSsyNDU3NjB8MCk+Pj4xNiYyO1E9MTQt
KEp8UHwkKSsoVTw8JD4+PjE1KXwwO2F1PWFyPj4+KChRKzd8MCk+Pj4wKSYxfFE8PDF9fXdoaWxl
KDApO209MTAxNDQrKGF1PDwyKXwwO2NbYWIrKFcrMjgpPj4yXT1hdTtjW2FiKyhXKzIwKT4+Ml09
MDtjW2FiKyhXKzE2KT4+Ml09MDtYPWNbMjQ2MV18MDtRPTE8PGF1O2lmKChYJlF8MCk9PTApe2Nb
MjQ2MV09WHxRO2NbbT4+Ml09VjtjW2FiKyhXKzI0KT4+Ml09bTtjW2FiKyhXKzEyKT4+Ml09Vjtj
W2FiKyhXKzgpPj4yXT1WO2JyZWFrfWlmKChhdXwwKT09MzEpe2F2PTB9ZWxzZXthdj0yNS0oYXU+
Pj4xKXwwfVE9YXI8PGF2O1g9Y1ttPj4yXXwwO3doaWxlKDEpe2lmKChjW1grND4+Ml0mLTh8MCk9
PShhcnwwKSl7YnJlYWt9YXc9WCsxNisoUT4+PjMxPDwyKXwwO209Y1thdz4+Ml18MDtpZigobXww
KT09MCl7VD04MDY7YnJlYWt9ZWxzZXtRPVE8PDE7WD1tfX1pZigoVHwwKT09ODA2KXtpZihhdz4+
PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpO3JldHVybiAwfWVsc2V7Y1thdz4+Ml09VjtjW2FiKyhX
KzI0KT4+Ml09WDtjW2FiKyhXKzEyKT4+Ml09VjtjW2FiKyhXKzgpPj4yXT1WO2JyZWFrfX1RPVgr
OHwwO209Y1tRPj4yXXwwOyQ9Y1syNDY0XXwwO2lmKFg+Pj4wPCQ+Pj4wKXtiRygpO3JldHVybiAw
fWlmKG0+Pj4wPCQ+Pj4wKXtiRygpO3JldHVybiAwfWVsc2V7Y1ttKzEyPj4yXT1WO2NbUT4+Ml09
VjtjW2FiKyhXKzgpPj4yXT1tO2NbYWIrKFcrMTIpPj4yXT1YO2NbYWIrKFcrMjQpPj4yXT0wO2Jy
ZWFrfX19d2hpbGUoMCk7bj1hYisoYWt8OCl8MDtyZXR1cm4gbnwwfX13aGlsZSgwKTtZPWFkO1c9
MTAyODg7d2hpbGUoMSl7YXg9Y1tXPj4yXXwwO2lmKGF4Pj4+MDw9WT4+PjApe2F5PWNbVys0Pj4y
XXwwO2F6PWF4K2F5fDA7aWYoYXo+Pj4wPlk+Pj4wKXticmVha319Vz1jW1crOD4+Ml18MH1XPWF4
KyhheS0zOSl8MDtpZigoVyY3fDApPT0wKXthQT0wfWVsc2V7YUE9LVcmN31XPWF4KyhheS00Nyth
QSl8MDthYz1XPj4+MDwoYWQrMTZ8MCk+Pj4wP1k6VztXPWFjKzh8MDtfPWFiKzh8MDtpZigoXyY3
fDApPT0wKXthQj0wfWVsc2V7YUI9LV8mN31fPWFhLTQwLWFCfDA7Y1syNDY2XT1hYithQjtjWzI0
NjNdPV87Y1thYisoYUIrNCk+PjJdPV98MTtjW2FiKyhhYS0zNik+PjJdPTQwO2NbMjQ2N109Y1sy
NDU0XTtjW2FjKzQ+PjJdPTI3O2NbVz4+Ml09Y1syNTcyXTtjW1crND4+Ml09Y1sxMDI5Mj4+Ml07
Y1tXKzg+PjJdPWNbMTAyOTY+PjJdO2NbVysxMj4+Ml09Y1sxMDMwMD4+Ml07Y1syNTcyXT1hYjtj
WzI1NzNdPWFhO2NbMjU3NV09MDtjWzI1NzRdPVc7Vz1hYysyOHwwO2NbVz4+Ml09NztpZigoYWMr
MzJ8MCk+Pj4wPGF6Pj4+MCl7Xz1XO3doaWxlKDEpe1c9Xys0fDA7Y1tXPj4yXT03O2lmKChfKzh8
MCk+Pj4wPGF6Pj4+MCl7Xz1XfWVsc2V7YnJlYWt9fX1pZigoYWN8MCk9PShZfDApKXticmVha31f
PWFjLWFkfDA7Vz1ZKyhfKzQpfDA7Y1tXPj4yXT1jW1c+PjJdJi0yO2NbYWQrND4+Ml09X3wxO2Nb
WStfPj4yXT1fO1c9Xz4+PjM7aWYoXz4+PjA8MjU2KXtLPVc8PDE7Wj05ODgwKyhLPDwyKXwwO1M9
Y1syNDYwXXwwO209MTw8Vztkb3tpZigoUyZtfDApPT0wKXtjWzI0NjBdPVN8bTthQz1aO2FEPTk4
ODArKEsrMjw8Mil8MH1lbHNle1c9OTg4MCsoSysyPDwyKXwwO1E9Y1tXPj4yXXwwO2lmKFE+Pj4w
Pj0oY1syNDY0XXwwKT4+PjApe2FDPVE7YUQ9VzticmVha31iRygpO3JldHVybiAwfX13aGlsZSgw
KTtjW2FEPj4yXT1hZDtjW2FDKzEyPj4yXT1hZDtjW2FkKzg+PjJdPWFDO2NbYWQrMTI+PjJdPVo7
YnJlYWt9Sz1hZDttPV8+Pj44O2Rve2lmKChtfDApPT0wKXthRT0wfWVsc2V7aWYoXz4+PjA+MTY3
NzcyMTUpe2FFPTMxO2JyZWFrfVM9KG0rMTA0ODMyMHwwKT4+PjE2Jjg7WT1tPDxTO2FjPShZKzUy
MDE5MnwwKT4+PjE2JjQ7Vz1ZPDxhYztZPShXKzI0NTc2MHwwKT4+PjE2JjI7UT0xNC0oYWN8U3xZ
KSsoVzw8WT4+PjE1KXwwO2FFPV8+Pj4oKFErN3wwKT4+PjApJjF8UTw8MX19d2hpbGUoMCk7bT0x
MDE0NCsoYUU8PDIpfDA7Y1thZCsyOD4+Ml09YUU7Y1thZCsyMD4+Ml09MDtjW2FkKzE2Pj4yXT0w
O1o9Y1syNDYxXXwwO1E9MTw8YUU7aWYoKFomUXwwKT09MCl7Y1syNDYxXT1afFE7Y1ttPj4yXT1L
O2NbYWQrMjQ+PjJdPW07Y1thZCsxMj4+Ml09YWQ7Y1thZCs4Pj4yXT1hZDticmVha31pZigoYUV8
MCk9PTMxKXthRj0wfWVsc2V7YUY9MjUtKGFFPj4+MSl8MH1RPV88PGFGO1o9Y1ttPj4yXXwwO3do
aWxlKDEpe2lmKChjW1orND4+Ml0mLTh8MCk9PShffDApKXticmVha31hRz1aKzE2KyhRPj4+MzE8
PDIpfDA7bT1jW2FHPj4yXXwwO2lmKChtfDApPT0wKXtUPTg0MTticmVha31lbHNle1E9UTw8MTta
PW19fWlmKChUfDApPT04NDEpe2lmKGFHPj4+MDwoY1syNDY0XXwwKT4+PjApe2JHKCk7cmV0dXJu
IDB9ZWxzZXtjW2FHPj4yXT1LO2NbYWQrMjQ+PjJdPVo7Y1thZCsxMj4+Ml09YWQ7Y1thZCs4Pj4y
XT1hZDticmVha319UT1aKzh8MDtfPWNbUT4+Ml18MDttPWNbMjQ2NF18MDtpZihaPj4+MDxtPj4+
MCl7YkcoKTtyZXR1cm4gMH1pZihfPj4+MDxtPj4+MCl7YkcoKTtyZXR1cm4gMH1lbHNle2NbXysx
Mj4+Ml09SztjW1E+PjJdPUs7Y1thZCs4Pj4yXT1fO2NbYWQrMTI+PjJdPVo7Y1thZCsyND4+Ml09
MDticmVha319fXdoaWxlKDApO2FkPWNbMjQ2M118MDtpZihhZD4+PjA8PW8+Pj4wKXticmVha31f
PWFkLW98MDtjWzI0NjNdPV87YWQ9Y1syNDY2XXwwO1E9YWQ7Y1syNDY2XT1RK287Y1tRKyhvKzQp
Pj4yXT1ffDE7Y1thZCs0Pj4yXT1vfDM7bj1hZCs4fDA7cmV0dXJuIG58MH19d2hpbGUoMCk7Y1so
YncoKXwwKT4+Ml09MTI7bj0wO3JldHVybiBufDB9ZnVuY3Rpb24ga0soYSl7YT1hfDA7dmFyIGI9
MCxkPTAsZT0wLGY9MCxnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0w
LHI9MCxzPTAsdD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAs
Rj0wLEc9MCxIPTAsST0wLEo9MCxLPTAsTD0wLE09MCxOPTAsTz0wO2lmKChhfDApPT0wKXtyZXR1
cm59Yj1hLTh8MDtkPWI7ZT1jWzI0NjRdfDA7aWYoYj4+PjA8ZT4+PjApe2JHKCl9Zj1jW2EtND4+
Ml18MDtnPWYmMztpZigoZ3wwKT09MSl7YkcoKX1oPWYmLTg7aT1hKyhoLTgpfDA7aj1pO0wxMTg5
OmRve2lmKChmJjF8MCk9PTApe2s9Y1tiPj4yXXwwO2lmKChnfDApPT0wKXtyZXR1cm59bD0tOC1r
fDA7bT1hK2x8MDtuPW07bz1rK2h8MDtpZihtPj4+MDxlPj4+MCl7YkcoKX1pZigobnwwKT09KGNb
MjQ2NV18MCkpe3A9YSsoaC00KXwwO2lmKChjW3A+PjJdJjN8MCkhPTMpe3E9bjtyPW87YnJlYWt9
Y1syNDYyXT1vO2NbcD4+Ml09Y1twPj4yXSYtMjtjW2ErKGwrNCk+PjJdPW98MTtjW2k+PjJdPW87
cmV0dXJufXA9az4+PjM7aWYoaz4+PjA8MjU2KXtrPWNbYSsobCs4KT4+Ml18MDtzPWNbYSsobCsx
Mik+PjJdfDA7dD05ODgwKyhwPDwxPDwyKXwwO2Rve2lmKChrfDApIT0odHwwKSl7aWYoaz4+PjA8
ZT4+PjApe2JHKCl9aWYoKGNbaysxMj4+Ml18MCk9PShufDApKXticmVha31iRygpfX13aGlsZSgw
KTtpZigoc3wwKT09KGt8MCkpe2NbMjQ2MF09Y1syNDYwXSZ+KDE8PHApO3E9bjtyPW87YnJlYWt9
ZG97aWYoKHN8MCk9PSh0fDApKXt1PXMrOHwwfWVsc2V7aWYocz4+PjA8ZT4+PjApe2JHKCl9dj1z
Kzh8MDtpZigoY1t2Pj4yXXwwKT09KG58MCkpe3U9djticmVha31iRygpfX13aGlsZSgwKTtjW2sr
MTI+PjJdPXM7Y1t1Pj4yXT1rO3E9bjtyPW87YnJlYWt9dD1tO3A9Y1thKyhsKzI0KT4+Ml18MDt2
PWNbYSsobCsxMik+PjJdfDA7ZG97aWYoKHZ8MCk9PSh0fDApKXt3PWErKGwrMjApfDA7eD1jW3c+
PjJdfDA7aWYoKHh8MCk9PTApe3k9YSsobCsxNil8MDt6PWNbeT4+Ml18MDtpZigoenwwKT09MCl7
QT0wO2JyZWFrfWVsc2V7Qj16O0M9eX19ZWxzZXtCPXg7Qz13fXdoaWxlKDEpe3c9QisyMHwwO3g9
Y1t3Pj4yXXwwO2lmKCh4fDApIT0wKXtCPXg7Qz13O2NvbnRpbnVlfXc9QisxNnwwO3g9Y1t3Pj4y
XXwwO2lmKCh4fDApPT0wKXticmVha31lbHNle0I9eDtDPXd9fWlmKEM+Pj4wPGU+Pj4wKXtiRygp
fWVsc2V7Y1tDPj4yXT0wO0E9QjticmVha319ZWxzZXt3PWNbYSsobCs4KT4+Ml18MDtpZih3Pj4+
MDxlPj4+MCl7YkcoKX14PXcrMTJ8MDtpZigoY1t4Pj4yXXwwKSE9KHR8MCkpe2JHKCl9eT12Kzh8
MDtpZigoY1t5Pj4yXXwwKT09KHR8MCkpe2NbeD4+Ml09djtjW3k+PjJdPXc7QT12O2JyZWFrfWVs
c2V7YkcoKX19fXdoaWxlKDApO2lmKChwfDApPT0wKXtxPW47cj1vO2JyZWFrfXY9YSsobCsyOCl8
MDttPTEwMTQ0KyhjW3Y+PjJdPDwyKXwwO2Rve2lmKCh0fDApPT0oY1ttPj4yXXwwKSl7Y1ttPj4y
XT1BO2lmKChBfDApIT0wKXticmVha31jWzI0NjFdPWNbMjQ2MV0mfigxPDxjW3Y+PjJdKTtxPW47
cj1vO2JyZWFrIEwxMTg5fWVsc2V7aWYocD4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpfWs9cCsx
NnwwO2lmKChjW2s+PjJdfDApPT0odHwwKSl7Y1trPj4yXT1BfWVsc2V7Y1twKzIwPj4yXT1BfWlm
KChBfDApPT0wKXtxPW47cj1vO2JyZWFrIEwxMTg5fX19d2hpbGUoMCk7aWYoQT4+PjA8KGNbMjQ2
NF18MCk+Pj4wKXtiRygpfWNbQSsyND4+Ml09cDt0PWNbYSsobCsxNik+PjJdfDA7ZG97aWYoKHR8
MCkhPTApe2lmKHQ+Pj4wPChjWzI0NjRdfDApPj4+MCl7YkcoKX1lbHNle2NbQSsxNj4+Ml09dDtj
W3QrMjQ+PjJdPUE7YnJlYWt9fX13aGlsZSgwKTt0PWNbYSsobCsyMCk+PjJdfDA7aWYoKHR8MCk9
PTApe3E9bjtyPW87YnJlYWt9aWYodD4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpfWVsc2V7Y1tB
KzIwPj4yXT10O2NbdCsyND4+Ml09QTtxPW47cj1vO2JyZWFrfX1lbHNle3E9ZDtyPWh9fXdoaWxl
KDApO2Q9cTtpZihkPj4+MD49aT4+PjApe2JHKCl9QT1hKyhoLTQpfDA7ZT1jW0E+PjJdfDA7aWYo
KGUmMXwwKT09MCl7YkcoKX1kb3tpZigoZSYyfDApPT0wKXtpZigoanwwKT09KGNbMjQ2Nl18MCkp
e0I9KGNbMjQ2M118MCkrcnwwO2NbMjQ2M109QjtjWzI0NjZdPXE7Y1txKzQ+PjJdPUJ8MTtpZigo
cXwwKSE9KGNbMjQ2NV18MCkpe3JldHVybn1jWzI0NjVdPTA7Y1syNDYyXT0wO3JldHVybn1pZigo
anwwKT09KGNbMjQ2NV18MCkpe0I9KGNbMjQ2Ml18MCkrcnwwO2NbMjQ2Ml09QjtjWzI0NjVdPXE7
Y1txKzQ+PjJdPUJ8MTtjW2QrQj4+Ml09QjtyZXR1cm59Qj0oZSYtOCkrcnwwO0M9ZT4+PjM7TDEy
OTI6ZG97aWYoZT4+PjA8MjU2KXt1PWNbYStoPj4yXXwwO2c9Y1thKyhofDQpPj4yXXwwO2I9OTg4
MCsoQzw8MTw8Mil8MDtkb3tpZigodXwwKSE9KGJ8MCkpe2lmKHU+Pj4wPChjWzI0NjRdfDApPj4+
MCl7YkcoKX1pZigoY1t1KzEyPj4yXXwwKT09KGp8MCkpe2JyZWFrfWJHKCl9fXdoaWxlKDApO2lm
KChnfDApPT0odXwwKSl7Y1syNDYwXT1jWzI0NjBdJn4oMTw8Qyk7YnJlYWt9ZG97aWYoKGd8MCk9
PShifDApKXtEPWcrOHwwfWVsc2V7aWYoZz4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpfWY9Zys4
fDA7aWYoKGNbZj4+Ml18MCk9PShqfDApKXtEPWY7YnJlYWt9YkcoKX19d2hpbGUoMCk7Y1t1KzEy
Pj4yXT1nO2NbRD4+Ml09dX1lbHNle2I9aTtmPWNbYSsoaCsxNik+PjJdfDA7dD1jW2ErKGh8NCk+
PjJdfDA7ZG97aWYoKHR8MCk9PShifDApKXtwPWErKGgrMTIpfDA7dj1jW3A+PjJdfDA7aWYoKHZ8
MCk9PTApe209YSsoaCs4KXwwO2s9Y1ttPj4yXXwwO2lmKChrfDApPT0wKXtFPTA7YnJlYWt9ZWxz
ZXtGPWs7Rz1tfX1lbHNle0Y9djtHPXB9d2hpbGUoMSl7cD1GKzIwfDA7dj1jW3A+PjJdfDA7aWYo
KHZ8MCkhPTApe0Y9djtHPXA7Y29udGludWV9cD1GKzE2fDA7dj1jW3A+PjJdfDA7aWYoKHZ8MCk9
PTApe2JyZWFrfWVsc2V7Rj12O0c9cH19aWYoRz4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpfWVs
c2V7Y1tHPj4yXT0wO0U9RjticmVha319ZWxzZXtwPWNbYStoPj4yXXwwO2lmKHA+Pj4wPChjWzI0
NjRdfDApPj4+MCl7YkcoKX12PXArMTJ8MDtpZigoY1t2Pj4yXXwwKSE9KGJ8MCkpe2JHKCl9bT10
Kzh8MDtpZigoY1ttPj4yXXwwKT09KGJ8MCkpe2Nbdj4+Ml09dDtjW20+PjJdPXA7RT10O2JyZWFr
fWVsc2V7YkcoKX19fXdoaWxlKDApO2lmKChmfDApPT0wKXticmVha310PWErKGgrMjApfDA7dT0x
MDE0NCsoY1t0Pj4yXTw8Mil8MDtkb3tpZigoYnwwKT09KGNbdT4+Ml18MCkpe2NbdT4+Ml09RTtp
ZigoRXwwKSE9MCl7YnJlYWt9Y1syNDYxXT1jWzI0NjFdJn4oMTw8Y1t0Pj4yXSk7YnJlYWsgTDEy
OTJ9ZWxzZXtpZihmPj4+MDwoY1syNDY0XXwwKT4+PjApe2JHKCl9Zz1mKzE2fDA7aWYoKGNbZz4+
Ml18MCk9PShifDApKXtjW2c+PjJdPUV9ZWxzZXtjW2YrMjA+PjJdPUV9aWYoKEV8MCk9PTApe2Jy
ZWFrIEwxMjkyfX19d2hpbGUoMCk7aWYoRT4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpfWNbRSsy
ND4+Ml09ZjtiPWNbYSsoaCs4KT4+Ml18MDtkb3tpZigoYnwwKSE9MCl7aWYoYj4+PjA8KGNbMjQ2
NF18MCk+Pj4wKXtiRygpfWVsc2V7Y1tFKzE2Pj4yXT1iO2NbYisyND4+Ml09RTticmVha319fXdo
aWxlKDApO2I9Y1thKyhoKzEyKT4+Ml18MDtpZigoYnwwKT09MCl7YnJlYWt9aWYoYj4+PjA8KGNb
MjQ2NF18MCk+Pj4wKXtiRygpfWVsc2V7Y1tFKzIwPj4yXT1iO2NbYisyND4+Ml09RTticmVha319
fXdoaWxlKDApO2NbcSs0Pj4yXT1CfDE7Y1tkK0I+PjJdPUI7aWYoKHF8MCkhPShjWzI0NjVdfDAp
KXtIPUI7YnJlYWt9Y1syNDYyXT1CO3JldHVybn1lbHNle2NbQT4+Ml09ZSYtMjtjW3ErND4+Ml09
cnwxO2NbZCtyPj4yXT1yO0g9cn19d2hpbGUoMCk7cj1IPj4+MztpZihIPj4+MDwyNTYpe2Q9cjw8
MTtlPTk4ODArKGQ8PDIpfDA7QT1jWzI0NjBdfDA7RT0xPDxyO2Rve2lmKChBJkV8MCk9PTApe2Nb
MjQ2MF09QXxFO0k9ZTtKPTk4ODArKGQrMjw8Mil8MH1lbHNle3I9OTg4MCsoZCsyPDwyKXwwO2g9
Y1tyPj4yXXwwO2lmKGg+Pj4wPj0oY1syNDY0XXwwKT4+PjApe0k9aDtKPXI7YnJlYWt9YkcoKX19
d2hpbGUoMCk7Y1tKPj4yXT1xO2NbSSsxMj4+Ml09cTtjW3ErOD4+Ml09STtjW3ErMTI+PjJdPWU7
cmV0dXJufWU9cTtJPUg+Pj44O2Rve2lmKChJfDApPT0wKXtLPTB9ZWxzZXtpZihIPj4+MD4xNjc3
NzIxNSl7Sz0zMTticmVha31KPShJKzEwNDgzMjB8MCk+Pj4xNiY4O2Q9STw8SjtFPShkKzUyMDE5
MnwwKT4+PjE2JjQ7QT1kPDxFO2Q9KEErMjQ1NzYwfDApPj4+MTYmMjtyPTE0LShFfEp8ZCkrKEE8
PGQ+Pj4xNSl8MDtLPUg+Pj4oKHIrN3wwKT4+PjApJjF8cjw8MX19d2hpbGUoMCk7ST0xMDE0NCso
Szw8Mil8MDtjW3ErMjg+PjJdPUs7Y1txKzIwPj4yXT0wO2NbcSsxNj4+Ml09MDtyPWNbMjQ2MV18
MDtkPTE8PEs7ZG97aWYoKHImZHwwKT09MCl7Y1syNDYxXT1yfGQ7Y1tJPj4yXT1lO2NbcSsyND4+
Ml09STtjW3ErMTI+PjJdPXE7Y1txKzg+PjJdPXF9ZWxzZXtpZigoS3wwKT09MzEpe0w9MH1lbHNl
e0w9MjUtKEs+Pj4xKXwwfUE9SDw8TDtKPWNbST4+Ml18MDt3aGlsZSgxKXtpZigoY1tKKzQ+PjJd
Ji04fDApPT0oSHwwKSl7YnJlYWt9TT1KKzE2KyhBPj4+MzE8PDIpfDA7RT1jW00+PjJdfDA7aWYo
KEV8MCk9PTApe049MTAxODticmVha31lbHNle0E9QTw8MTtKPUV9fWlmKChOfDApPT0xMDE4KXtp
ZihNPj4+MDwoY1syNDY0XXwwKT4+PjApe2JHKCl9ZWxzZXtjW00+PjJdPWU7Y1txKzI0Pj4yXT1K
O2NbcSsxMj4+Ml09cTtjW3ErOD4+Ml09cTticmVha319QT1KKzh8MDtCPWNbQT4+Ml18MDtFPWNb
MjQ2NF18MDtpZihKPj4+MDxFPj4+MCl7YkcoKX1pZihCPj4+MDxFPj4+MCl7YkcoKX1lbHNle2Nb
QisxMj4+Ml09ZTtjW0E+PjJdPWU7Y1txKzg+PjJdPUI7Y1txKzEyPj4yXT1KO2NbcSsyND4+Ml09
MDticmVha319fXdoaWxlKDApO3E9KGNbMjQ2OF18MCktMXwwO2NbMjQ2OF09cTtpZigocXwwKT09
MCl7Tz0xMDI5Nn1lbHNle3JldHVybn13aGlsZSgxKXtxPWNbTz4+Ml18MDtpZigocXwwKT09MCl7
YnJlYWt9ZWxzZXtPPXErOHwwfX1jWzI0NjhdPS0xO3JldHVybn1mdW5jdGlvbiBrTChhLGIpe2E9
YXwwO2I9YnwwO3ZhciBkPTAsZT0wLGY9MCxnPTA7aWYoKGF8MCk9PTApe2Q9a0ooYil8MDtyZXR1
cm4gZHwwfWlmKGI+Pj4wPjQyOTQ5NjcyMzEpe2NbKGJ3KCl8MCk+PjJdPTEyO2Q9MDtyZXR1cm4g
ZHwwfWlmKGI+Pj4wPDExKXtlPTE2fWVsc2V7ZT1iKzExJi04fWY9a00oYS04fDAsZSl8MDtpZigo
ZnwwKSE9MCl7ZD1mKzh8MDtyZXR1cm4gZHwwfWY9a0ooYil8MDtpZigoZnwwKT09MCl7ZD0wO3Jl
dHVybiBkfDB9ZT1jW2EtND4+Ml18MDtnPShlJi04KS0oKGUmM3wwKT09MD84OjQpfDA7ZT1nPj4+
MDxiPj4+MD9nOmI7a1koZnwwLGF8MCxlKXwwO2tLKGEpO2Q9ZjtyZXR1cm4gZHwwfWZ1bmN0aW9u
IGtNKGEsYil7YT1hfDA7Yj1ifDA7dmFyIGQ9MCxlPTAsZj0wLGc9MCxoPTAsaT0wLGo9MCxrPTAs
bD0wLG09MCxuPTAsbz0wLHA9MCxxPTAscj0wLHM9MCx0PTAsdT0wLHY9MCx3PTAseD0wLHk9MCx6
PTAsQT0wO2Q9YSs0fDA7ZT1jW2Q+PjJdfDA7Zj1lJi04O2c9YTtoPWcrZnwwO2k9aDtqPWNbMjQ2
NF18MDtpZihnPj4+MDxqPj4+MCl7YkcoKTtyZXR1cm4gMH1rPWUmMztpZighKChrfDApIT0xJmc+
Pj4wPGg+Pj4wKSl7YkcoKTtyZXR1cm4gMH1sPWcrKGZ8NCl8MDttPWNbbD4+Ml18MDtpZigobSYx
fDApPT0wKXtiRygpO3JldHVybiAwfWlmKChrfDApPT0wKXtpZihiPj4+MDwyNTYpe249MDtyZXR1
cm4gbnwwfWRve2lmKGY+Pj4wPj0oYis0fDApPj4+MCl7aWYoKGYtYnwwKT4+PjA+Y1syNDUyXTw8
MT4+PjApe2JyZWFrfWVsc2V7bj1hfXJldHVybiBufDB9fXdoaWxlKDApO249MDtyZXR1cm4gbnww
fWlmKGY+Pj4wPj1iPj4+MCl7az1mLWJ8MDtpZihrPj4+MDw9MTUpe249YTtyZXR1cm4gbnwwfWNb
ZD4+Ml09ZSYxfGJ8MjtjW2crKGIrNCk+PjJdPWt8MztjW2w+PjJdPWNbbD4+Ml18MTtrTihnK2J8
MCxrKTtuPWE7cmV0dXJuIG58MH1pZigoaXwwKT09KGNbMjQ2Nl18MCkpe2s9KGNbMjQ2M118MCkr
ZnwwO2lmKGs+Pj4wPD1iPj4+MCl7bj0wO3JldHVybiBufDB9bD1rLWJ8MDtjW2Q+PjJdPWUmMXxi
fDI7Y1tnKyhiKzQpPj4yXT1sfDE7Y1syNDY2XT1nK2I7Y1syNDYzXT1sO249YTtyZXR1cm4gbnww
fWlmKChpfDApPT0oY1syNDY1XXwwKSl7bD0oY1syNDYyXXwwKStmfDA7aWYobD4+PjA8Yj4+PjAp
e249MDtyZXR1cm4gbnwwfWs9bC1ifDA7aWYoaz4+PjA+MTUpe2NbZD4+Ml09ZSYxfGJ8MjtjW2cr
KGIrNCk+PjJdPWt8MTtjW2crbD4+Ml09aztvPWcrKGwrNCl8MDtjW28+PjJdPWNbbz4+Ml0mLTI7
cD1nK2J8MDtxPWt9ZWxzZXtjW2Q+PjJdPWUmMXxsfDI7ZT1nKyhsKzQpfDA7Y1tlPj4yXT1jW2U+
PjJdfDE7cD0wO3E9MH1jWzI0NjJdPXE7Y1syNDY1XT1wO249YTtyZXR1cm4gbnwwfWlmKChtJjJ8
MCkhPTApe249MDtyZXR1cm4gbnwwfXA9KG0mLTgpK2Z8MDtpZihwPj4+MDxiPj4+MCl7bj0wO3Jl
dHVybiBufDB9cT1wLWJ8MDtlPW0+Pj4zO0wxNDc4OmRve2lmKG0+Pj4wPDI1Nil7bD1jW2crKGYr
OCk+PjJdfDA7az1jW2crKGYrMTIpPj4yXXwwO289OTg4MCsoZTw8MTw8Mil8MDtkb3tpZigobHww
KSE9KG98MCkpe2lmKGw+Pj4wPGo+Pj4wKXtiRygpO3JldHVybiAwfWlmKChjW2wrMTI+PjJdfDAp
PT0oaXwwKSl7YnJlYWt9YkcoKTtyZXR1cm4gMH19d2hpbGUoMCk7aWYoKGt8MCk9PShsfDApKXtj
WzI0NjBdPWNbMjQ2MF0mfigxPDxlKTticmVha31kb3tpZigoa3wwKT09KG98MCkpe3I9ays4fDB9
ZWxzZXtpZihrPj4+MDxqPj4+MCl7YkcoKTtyZXR1cm4gMH1zPWsrOHwwO2lmKChjW3M+PjJdfDAp
PT0oaXwwKSl7cj1zO2JyZWFrfWJHKCk7cmV0dXJuIDB9fXdoaWxlKDApO2NbbCsxMj4+Ml09aztj
W3I+PjJdPWx9ZWxzZXtvPWg7cz1jW2crKGYrMjQpPj4yXXwwO3Q9Y1tnKyhmKzEyKT4+Ml18MDtk
b3tpZigodHwwKT09KG98MCkpe3U9ZysoZisyMCl8MDt2PWNbdT4+Ml18MDtpZigodnwwKT09MCl7
dz1nKyhmKzE2KXwwO3g9Y1t3Pj4yXXwwO2lmKCh4fDApPT0wKXt5PTA7YnJlYWt9ZWxzZXt6PXg7
QT13fX1lbHNle3o9djtBPXV9d2hpbGUoMSl7dT16KzIwfDA7dj1jW3U+PjJdfDA7aWYoKHZ8MCkh
PTApe3o9djtBPXU7Y29udGludWV9dT16KzE2fDA7dj1jW3U+PjJdfDA7aWYoKHZ8MCk9PTApe2Jy
ZWFrfWVsc2V7ej12O0E9dX19aWYoQT4+PjA8aj4+PjApe2JHKCk7cmV0dXJuIDB9ZWxzZXtjW0E+
PjJdPTA7eT16O2JyZWFrfX1lbHNle3U9Y1tnKyhmKzgpPj4yXXwwO2lmKHU+Pj4wPGo+Pj4wKXti
RygpO3JldHVybiAwfXY9dSsxMnwwO2lmKChjW3Y+PjJdfDApIT0ob3wwKSl7YkcoKTtyZXR1cm4g
MH13PXQrOHwwO2lmKChjW3c+PjJdfDApPT0ob3wwKSl7Y1t2Pj4yXT10O2Nbdz4+Ml09dTt5PXQ7
YnJlYWt9ZWxzZXtiRygpO3JldHVybiAwfX19d2hpbGUoMCk7aWYoKHN8MCk9PTApe2JyZWFrfXQ9
ZysoZisyOCl8MDtsPTEwMTQ0KyhjW3Q+PjJdPDwyKXwwO2Rve2lmKChvfDApPT0oY1tsPj4yXXww
KSl7Y1tsPj4yXT15O2lmKCh5fDApIT0wKXticmVha31jWzI0NjFdPWNbMjQ2MV0mfigxPDxjW3Q+
PjJdKTticmVhayBMMTQ3OH1lbHNle2lmKHM+Pj4wPChjWzI0NjRdfDApPj4+MCl7YkcoKTtyZXR1
cm4gMH1rPXMrMTZ8MDtpZigoY1trPj4yXXwwKT09KG98MCkpe2Nbaz4+Ml09eX1lbHNle2Nbcysy
MD4+Ml09eX1pZigoeXwwKT09MCl7YnJlYWsgTDE0Nzh9fX13aGlsZSgwKTtpZih5Pj4+MDwoY1sy
NDY0XXwwKT4+PjApe2JHKCk7cmV0dXJuIDB9Y1t5KzI0Pj4yXT1zO289Y1tnKyhmKzE2KT4+Ml18
MDtkb3tpZigob3wwKSE9MCl7aWYobz4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpO3JldHVybiAw
fWVsc2V7Y1t5KzE2Pj4yXT1vO2NbbysyND4+Ml09eTticmVha319fXdoaWxlKDApO289Y1tnKyhm
KzIwKT4+Ml18MDtpZigob3wwKT09MCl7YnJlYWt9aWYobz4+PjA8KGNbMjQ2NF18MCk+Pj4wKXti
RygpO3JldHVybiAwfWVsc2V7Y1t5KzIwPj4yXT1vO2NbbysyND4+Ml09eTticmVha319fXdoaWxl
KDApO2lmKHE+Pj4wPDE2KXtjW2Q+PjJdPXB8Y1tkPj4yXSYxfDI7eT1nKyhwfDQpfDA7Y1t5Pj4y
XT1jW3k+PjJdfDE7bj1hO3JldHVybiBufDB9ZWxzZXtjW2Q+PjJdPWNbZD4+Ml0mMXxifDI7Y1tn
KyhiKzQpPj4yXT1xfDM7ZD1nKyhwfDQpfDA7Y1tkPj4yXT1jW2Q+PjJdfDE7a04oZytifDAscSk7
bj1hO3JldHVybiBufDB9cmV0dXJuIDB9ZnVuY3Rpb24ga04oYSxiKXthPWF8MDtiPWJ8MDt2YXIg
ZD0wLGU9MCxmPTAsZz0wLGg9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MCxy
PTAscz0wLHQ9MCx1PTAsdj0wLHc9MCx4PTAseT0wLHo9MCxBPTAsQj0wLEM9MCxEPTAsRT0wLEY9
MCxHPTAsSD0wLEk9MCxKPTAsSz0wLEw9MDtkPWE7ZT1kK2J8MDtmPWU7Zz1jW2ErND4+Ml18MDtM
MTU1NDpkb3tpZigoZyYxfDApPT0wKXtoPWNbYT4+Ml18MDtpZigoZyYzfDApPT0wKXtyZXR1cm59
aT1kKygtaHwwKXwwO2o9aTtrPWgrYnwwO2w9Y1syNDY0XXwwO2lmKGk+Pj4wPGw+Pj4wKXtiRygp
fWlmKChqfDApPT0oY1syNDY1XXwwKSl7bT1kKyhiKzQpfDA7aWYoKGNbbT4+Ml0mM3wwKSE9Myl7
bj1qO289azticmVha31jWzI0NjJdPWs7Y1ttPj4yXT1jW20+PjJdJi0yO2NbZCsoNC1oKT4+Ml09
a3wxO2NbZT4+Ml09aztyZXR1cm59bT1oPj4+MztpZihoPj4+MDwyNTYpe3A9Y1tkKyg4LWgpPj4y
XXwwO3E9Y1tkKygxMi1oKT4+Ml18MDtyPTk4ODArKG08PDE8PDIpfDA7ZG97aWYoKHB8MCkhPShy
fDApKXtpZihwPj4+MDxsPj4+MCl7YkcoKX1pZigoY1twKzEyPj4yXXwwKT09KGp8MCkpe2JyZWFr
fWJHKCl9fXdoaWxlKDApO2lmKChxfDApPT0ocHwwKSl7Y1syNDYwXT1jWzI0NjBdJn4oMTw8bSk7
bj1qO289azticmVha31kb3tpZigocXwwKT09KHJ8MCkpe3M9cSs4fDB9ZWxzZXtpZihxPj4+MDxs
Pj4+MCl7YkcoKX10PXErOHwwO2lmKChjW3Q+PjJdfDApPT0oanwwKSl7cz10O2JyZWFrfWJHKCl9
fXdoaWxlKDApO2NbcCsxMj4+Ml09cTtjW3M+PjJdPXA7bj1qO289azticmVha31yPWk7bT1jW2Qr
KDI0LWgpPj4yXXwwO3Q9Y1tkKygxMi1oKT4+Ml18MDtkb3tpZigodHwwKT09KHJ8MCkpe3U9MTYt
aHwwO3Y9ZCsodSs0KXwwO3c9Y1t2Pj4yXXwwO2lmKCh3fDApPT0wKXt4PWQrdXwwO3U9Y1t4Pj4y
XXwwO2lmKCh1fDApPT0wKXt5PTA7YnJlYWt9ZWxzZXt6PXU7QT14fX1lbHNle3o9dztBPXZ9d2hp
bGUoMSl7dj16KzIwfDA7dz1jW3Y+PjJdfDA7aWYoKHd8MCkhPTApe3o9dztBPXY7Y29udGludWV9
dj16KzE2fDA7dz1jW3Y+PjJdfDA7aWYoKHd8MCk9PTApe2JyZWFrfWVsc2V7ej13O0E9dn19aWYo
QT4+PjA8bD4+PjApe2JHKCl9ZWxzZXtjW0E+PjJdPTA7eT16O2JyZWFrfX1lbHNle3Y9Y1tkKyg4
LWgpPj4yXXwwO2lmKHY+Pj4wPGw+Pj4wKXtiRygpfXc9disxMnwwO2lmKChjW3c+PjJdfDApIT0o
cnwwKSl7YkcoKX14PXQrOHwwO2lmKChjW3g+PjJdfDApPT0ocnwwKSl7Y1t3Pj4yXT10O2NbeD4+
Ml09djt5PXQ7YnJlYWt9ZWxzZXtiRygpfX19d2hpbGUoMCk7aWYoKG18MCk9PTApe249ajtvPWs7
YnJlYWt9dD1kKygyOC1oKXwwO2w9MTAxNDQrKGNbdD4+Ml08PDIpfDA7ZG97aWYoKHJ8MCk9PShj
W2w+PjJdfDApKXtjW2w+PjJdPXk7aWYoKHl8MCkhPTApe2JyZWFrfWNbMjQ2MV09Y1syNDYxXSZ+
KDE8PGNbdD4+Ml0pO249ajtvPWs7YnJlYWsgTDE1NTR9ZWxzZXtpZihtPj4+MDwoY1syNDY0XXww
KT4+PjApe2JHKCl9aT1tKzE2fDA7aWYoKGNbaT4+Ml18MCk9PShyfDApKXtjW2k+PjJdPXl9ZWxz
ZXtjW20rMjA+PjJdPXl9aWYoKHl8MCk9PTApe249ajtvPWs7YnJlYWsgTDE1NTR9fX13aGlsZSgw
KTtpZih5Pj4+MDwoY1syNDY0XXwwKT4+PjApe2JHKCl9Y1t5KzI0Pj4yXT1tO3I9MTYtaHwwO3Q9
Y1tkK3I+PjJdfDA7ZG97aWYoKHR8MCkhPTApe2lmKHQ+Pj4wPChjWzI0NjRdfDApPj4+MCl7Ykco
KX1lbHNle2NbeSsxNj4+Ml09dDtjW3QrMjQ+PjJdPXk7YnJlYWt9fX13aGlsZSgwKTt0PWNbZCso
cis0KT4+Ml18MDtpZigodHwwKT09MCl7bj1qO289azticmVha31pZih0Pj4+MDwoY1syNDY0XXww
KT4+PjApe2JHKCl9ZWxzZXtjW3krMjA+PjJdPXQ7Y1t0KzI0Pj4yXT15O249ajtvPWs7YnJlYWt9
fWVsc2V7bj1hO289Yn19d2hpbGUoMCk7YT1jWzI0NjRdfDA7aWYoZT4+PjA8YT4+PjApe2JHKCl9
eT1kKyhiKzQpfDA7ej1jW3k+PjJdfDA7ZG97aWYoKHomMnwwKT09MCl7aWYoKGZ8MCk9PShjWzI0
NjZdfDApKXtBPShjWzI0NjNdfDApK298MDtjWzI0NjNdPUE7Y1syNDY2XT1uO2Nbbis0Pj4yXT1B
fDE7aWYoKG58MCkhPShjWzI0NjVdfDApKXtyZXR1cm59Y1syNDY1XT0wO2NbMjQ2Ml09MDtyZXR1
cm59aWYoKGZ8MCk9PShjWzI0NjVdfDApKXtBPShjWzI0NjJdfDApK298MDtjWzI0NjJdPUE7Y1sy
NDY1XT1uO2Nbbis0Pj4yXT1BfDE7Y1tuK0E+PjJdPUE7cmV0dXJufUE9KHomLTgpK298MDtzPXo+
Pj4zO0wxNjUzOmRve2lmKHo+Pj4wPDI1Nil7Zz1jW2QrKGIrOCk+PjJdfDA7dD1jW2QrKGIrMTIp
Pj4yXXwwO2g9OTg4MCsoczw8MTw8Mil8MDtkb3tpZigoZ3wwKSE9KGh8MCkpe2lmKGc+Pj4wPGE+
Pj4wKXtiRygpfWlmKChjW2crMTI+PjJdfDApPT0oZnwwKSl7YnJlYWt9YkcoKX19d2hpbGUoMCk7
aWYoKHR8MCk9PShnfDApKXtjWzI0NjBdPWNbMjQ2MF0mfigxPDxzKTticmVha31kb3tpZigodHww
KT09KGh8MCkpe0I9dCs4fDB9ZWxzZXtpZih0Pj4+MDxhPj4+MCl7YkcoKX1tPXQrOHwwO2lmKChj
W20+PjJdfDApPT0oZnwwKSl7Qj1tO2JyZWFrfWJHKCl9fXdoaWxlKDApO2NbZysxMj4+Ml09dDtj
W0I+PjJdPWd9ZWxzZXtoPWU7bT1jW2QrKGIrMjQpPj4yXXwwO2w9Y1tkKyhiKzEyKT4+Ml18MDtk
b3tpZigobHwwKT09KGh8MCkpe2k9ZCsoYisyMCl8MDtwPWNbaT4+Ml18MDtpZigocHwwKT09MCl7
cT1kKyhiKzE2KXwwO3Y9Y1txPj4yXXwwO2lmKCh2fDApPT0wKXtDPTA7YnJlYWt9ZWxzZXtEPXY7
RT1xfX1lbHNle0Q9cDtFPWl9d2hpbGUoMSl7aT1EKzIwfDA7cD1jW2k+PjJdfDA7aWYoKHB8MCkh
PTApe0Q9cDtFPWk7Y29udGludWV9aT1EKzE2fDA7cD1jW2k+PjJdfDA7aWYoKHB8MCk9PTApe2Jy
ZWFrfWVsc2V7RD1wO0U9aX19aWYoRT4+PjA8YT4+PjApe2JHKCl9ZWxzZXtjW0U+PjJdPTA7Qz1E
O2JyZWFrfX1lbHNle2k9Y1tkKyhiKzgpPj4yXXwwO2lmKGk+Pj4wPGE+Pj4wKXtiRygpfXA9aSsx
MnwwO2lmKChjW3A+PjJdfDApIT0oaHwwKSl7YkcoKX1xPWwrOHwwO2lmKChjW3E+PjJdfDApPT0o
aHwwKSl7Y1twPj4yXT1sO2NbcT4+Ml09aTtDPWw7YnJlYWt9ZWxzZXtiRygpfX19d2hpbGUoMCk7
aWYoKG18MCk9PTApe2JyZWFrfWw9ZCsoYisyOCl8MDtnPTEwMTQ0KyhjW2w+PjJdPDwyKXwwO2Rv
e2lmKChofDApPT0oY1tnPj4yXXwwKSl7Y1tnPj4yXT1DO2lmKChDfDApIT0wKXticmVha31jWzI0
NjFdPWNbMjQ2MV0mfigxPDxjW2w+PjJdKTticmVhayBMMTY1M31lbHNle2lmKG0+Pj4wPChjWzI0
NjRdfDApPj4+MCl7YkcoKX10PW0rMTZ8MDtpZigoY1t0Pj4yXXwwKT09KGh8MCkpe2NbdD4+Ml09
Q31lbHNle2NbbSsyMD4+Ml09Q31pZigoQ3wwKT09MCl7YnJlYWsgTDE2NTN9fX13aGlsZSgwKTtp
ZihDPj4+MDwoY1syNDY0XXwwKT4+PjApe2JHKCl9Y1tDKzI0Pj4yXT1tO2g9Y1tkKyhiKzE2KT4+
Ml18MDtkb3tpZigoaHwwKSE9MCl7aWYoaD4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpfWVsc2V7
Y1tDKzE2Pj4yXT1oO2NbaCsyND4+Ml09QzticmVha319fXdoaWxlKDApO2g9Y1tkKyhiKzIwKT4+
Ml18MDtpZigoaHwwKT09MCl7YnJlYWt9aWYoaD4+PjA8KGNbMjQ2NF18MCk+Pj4wKXtiRygpfWVs
c2V7Y1tDKzIwPj4yXT1oO2NbaCsyND4+Ml09QzticmVha319fXdoaWxlKDApO2Nbbis0Pj4yXT1B
fDE7Y1tuK0E+PjJdPUE7aWYoKG58MCkhPShjWzI0NjVdfDApKXtGPUE7YnJlYWt9Y1syNDYyXT1B
O3JldHVybn1lbHNle2NbeT4+Ml09eiYtMjtjW24rND4+Ml09b3wxO2NbbitvPj4yXT1vO0Y9b319
d2hpbGUoMCk7bz1GPj4+MztpZihGPj4+MDwyNTYpe3o9bzw8MTt5PTk4ODArKHo8PDIpfDA7Qz1j
WzI0NjBdfDA7Yj0xPDxvO2Rve2lmKChDJmJ8MCk9PTApe2NbMjQ2MF09Q3xiO0c9eTtIPTk4ODAr
KHorMjw8Mil8MH1lbHNle289OTg4MCsoeisyPDwyKXwwO2Q9Y1tvPj4yXXwwO2lmKGQ+Pj4wPj0o
Y1syNDY0XXwwKT4+PjApe0c9ZDtIPW87YnJlYWt9YkcoKX19d2hpbGUoMCk7Y1tIPj4yXT1uO2Nb
RysxMj4+Ml09bjtjW24rOD4+Ml09RztjW24rMTI+PjJdPXk7cmV0dXJufXk9bjtHPUY+Pj44O2Rv
e2lmKChHfDApPT0wKXtJPTB9ZWxzZXtpZihGPj4+MD4xNjc3NzIxNSl7ST0zMTticmVha31IPShH
KzEwNDgzMjB8MCk+Pj4xNiY4O3o9Rzw8SDtiPSh6KzUyMDE5MnwwKT4+PjE2JjQ7Qz16PDxiO3o9
KEMrMjQ1NzYwfDApPj4+MTYmMjtvPTE0LShifEh8eikrKEM8PHo+Pj4xNSl8MDtJPUY+Pj4oKG8r
N3wwKT4+PjApJjF8bzw8MX19d2hpbGUoMCk7Rz0xMDE0NCsoSTw8Mil8MDtjW24rMjg+PjJdPUk7
Y1tuKzIwPj4yXT0wO2NbbisxNj4+Ml09MDtvPWNbMjQ2MV18MDt6PTE8PEk7aWYoKG8menwwKT09
MCl7Y1syNDYxXT1vfHo7Y1tHPj4yXT15O2NbbisyND4+Ml09RztjW24rMTI+PjJdPW47Y1tuKzg+
PjJdPW47cmV0dXJufWlmKChJfDApPT0zMSl7Sj0wfWVsc2V7Sj0yNS0oST4+PjEpfDB9ST1GPDxK
O0o9Y1tHPj4yXXwwO3doaWxlKDEpe2lmKChjW0orND4+Ml0mLTh8MCk9PShGfDApKXticmVha31L
PUorMTYrKEk+Pj4zMTw8Mil8MDtHPWNbSz4+Ml18MDtpZigoR3wwKT09MCl7TD0xMjk4O2JyZWFr
fWVsc2V7ST1JPDwxO0o9R319aWYoKEx8MCk9PTEyOTgpe2lmKEs+Pj4wPChjWzI0NjRdfDApPj4+
MCl7YkcoKX1jW0s+PjJdPXk7Y1tuKzI0Pj4yXT1KO2NbbisxMj4+Ml09bjtjW24rOD4+Ml09bjty
ZXR1cm59Sz1KKzh8MDtMPWNbSz4+Ml18MDtJPWNbMjQ2NF18MDtpZihKPj4+MDxJPj4+MCl7Ykco
KX1pZihMPj4+MDxJPj4+MCl7YkcoKX1jW0wrMTI+PjJdPXk7Y1tLPj4yXT15O2Nbbis4Pj4yXT1M
O2NbbisxMj4+Ml09SjtjW24rMjQ+PjJdPTA7cmV0dXJufWZ1bmN0aW9uIGtPKGEpe2E9YXwwO3Zh
ciBiPTAsZD0wLGU9MDtiPShhfDApPT0wPzE6YTt3aGlsZSgxKXtkPWtKKGIpfDA7aWYoKGR8MCkh
PTApe2U9MTM0MjticmVha31hPShJPWNbNDA0OF18MCxjWzQwNDhdPUkrMCxJKTtpZigoYXwwKT09
MCl7YnJlYWt9YjVbYSYzXSgpfWlmKChlfDApPT0xMzQyKXtyZXR1cm4gZHwwfWQ9Yk8oNCl8MDtj
W2Q+PjJdPTI0MDg7YmwoZHwwLDgxNjAsMzApO3JldHVybiAwfWZ1bmN0aW9uIGtQKGEpe2E9YXww
O3JldHVybiBrTyhhKXwwfWZ1bmN0aW9uIGtRKGEpe2E9YXwwO3JldHVybn1mdW5jdGlvbiBrUihh
KXthPWF8MDtyZXR1cm4gMTE2MHwwfWZ1bmN0aW9uIGtTKGEpe2E9YXwwO2lmKChhfDApIT0wKXtr
SyhhKX1yZXR1cm59ZnVuY3Rpb24ga1QoYSl7YT1hfDA7a1MoYSk7cmV0dXJufWZ1bmN0aW9uIGtV
KGEpe2E9YXwwO2tTKGEpO3JldHVybn1mdW5jdGlvbiBrVihiLGQpe2I9YnwwO2Q9ZHwwO3ZhciBl
PTAsZj0wLGc9MCxpPTAsaj0wLGs9MCxsPTAsbT0wLG49MCxvPTAscD0wLHE9MC4wLHI9MCxzPTAs
dD0wLHU9MCx2PTAuMCx3PTAseD0wLHk9MCx6PTAuMCxBPTAuMCxCPTAsQz0wLEQ9MCxFPTAuMCxG
PTAsRz0wLEg9MCxJPTAsSj0wLEs9MCxMPTAsTT0wLE49MC4wLE89MCxQPTAsUT0wLjAsUj0wLjAs
Uz0wLjA7ZT1iO3doaWxlKDEpe2Y9ZSsxfDA7aWYoKGFQKGFbZV18MCl8MCk9PTApe2JyZWFrfWVs
c2V7ZT1mfX1zd2l0Y2goYVtlXXwwKXtjYXNlIDQzOntnPWY7aT0wO2JyZWFrfTtjYXNlIDQ1Ontn
PWY7aT0xO2JyZWFrfTtkZWZhdWx0OntnPWU7aT0wfX1lPS0xO2Y9MDtqPWc7d2hpbGUoMSl7az1h
W2pdfDA7aWYoKChrPDwyND4+MjQpLTQ4fDApPj4+MDwxMCl7bD1lfWVsc2V7aWYoazw8MjQ+PjI0
IT00NnwoZXwwKT4tMSl7YnJlYWt9ZWxzZXtsPWZ9fWU9bDtmPWYrMXwwO2o9aisxfDB9bD1qKygt
ZnwwKXwwO2c9KGV8MCk8MDttPSgoZ14xKTw8MzE+PjMxKStmfDA7bj0obXwwKT4xODtvPShuPy0x
ODotbXwwKSsoZz9mOmUpfDA7ZT1uPzE4Om07ZG97aWYoKGV8MCk9PTApe3A9YjtxPTAuMH1lbHNl
e2lmKChlfDApPjkpe209bDtuPWU7Zj0wO3doaWxlKDEpe2c9YVttXXwwO3I9bSsxfDA7aWYoZzw8
MjQ+PjI0PT00Nil7cz1hW3JdfDA7dD1tKzJ8MH1lbHNle3M9Zzt0PXJ9dT0oZioxMHwwKS00OCso
czw8MjQ+PjI0KXwwO3I9bi0xfDA7aWYoKHJ8MCk+OSl7bT10O249cjtmPXV9ZWxzZXticmVha319
dj0rKHV8MCkqMS4wZTk7dz05O3g9dDt5PTEzNzB9ZWxzZXtpZigoZXwwKT4wKXt2PTAuMDt3PWU7
eD1sO3k9MTM3MH1lbHNle3o9MC4wO0E9MC4wfX1pZigoeXwwKT09MTM3MCl7Zj14O249dzttPTA7
d2hpbGUoMSl7cj1hW2ZdfDA7Zz1mKzF8MDtpZihyPDwyND4+MjQ9PTQ2KXtCPWFbZ118MDtDPWYr
MnwwfWVsc2V7Qj1yO0M9Z31EPShtKjEwfDApLTQ4KyhCPDwyND4+MjQpfDA7Zz1uLTF8MDtpZigo
Z3wwKT4wKXtmPUM7bj1nO209RH1lbHNle2JyZWFrfX16PSsoRHwwKTtBPXZ9RT1BK3o7TDE4MTY6
ZG97c3dpdGNoKGs8PDI0Pj4yNCl7Y2FzZSA2OTpjYXNlIDEwMTp7bT1qKzF8MDtzd2l0Y2goYVtt
XXwwKXtjYXNlIDQ1OntGPWorMnwwO0c9MTticmVha307Y2FzZSA0Mzp7Rj1qKzJ8MDtHPTA7YnJl
YWt9O2RlZmF1bHQ6e0Y9bTtHPTB9fW09YVtGXXwwO2lmKCgobTw8MjQ+PjI0KS00OHwwKT4+PjA8
MTApe0g9RjtJPTA7Sj1tfWVsc2V7Sz0wO0w9RjtNPUc7YnJlYWsgTDE4MTZ9d2hpbGUoMSl7bT0o
SSoxMHwwKS00OCsoSjw8MjQ+PjI0KXwwO249SCsxfDA7Zj1hW25dfDA7aWYoKChmPDwyND4+MjQp
LTQ4fDApPj4+MDwxMCl7SD1uO0k9bTtKPWZ9ZWxzZXtLPW07TD1uO009RzticmVha319YnJlYWt9
O2RlZmF1bHQ6e0s9MDtMPWo7TT0wfX19d2hpbGUoMCk7bj1vKygoTXwwKT09MD9LOi1LfDApfDA7
bT0obnwwKTwwPy1ufDA6bjtpZigobXwwKT41MTEpe2NbKGJ3KCl8MCk+PjJdPTM0O049MS4wO089
ODtQPTUxMTt5PTEzODd9ZWxzZXtpZigobXwwKT09MCl7UT0xLjB9ZWxzZXtOPTEuMDtPPTg7UD1t
O3k9MTM4N319aWYoKHl8MCk9PTEzODcpe3doaWxlKDEpe3k9MDtpZigoUCYxfDApPT0wKXtSPU59
ZWxzZXtSPU4qK2hbTz4+M119bT1QPj4xO2lmKChtfDApPT0wKXtRPVI7YnJlYWt9ZWxzZXtOPVI7
Tz1PKzh8MDtQPW07eT0xMzg3fX19aWYoKG58MCk+LTEpe3A9TDtxPUUqUTticmVha31lbHNle3A9
TDtxPUUvUTticmVha319fXdoaWxlKDApO2lmKChkfDApIT0wKXtjW2Q+PjJdPXB9aWYoKGl8MCk9
PTApe1M9cTtyZXR1cm4rU31TPS0wLjAtcTtyZXR1cm4rU31mdW5jdGlvbiBrVyhhLGIsYyl7YT1h
fDA7Yj1ifDA7Yz1jfDA7cmV0dXJuKygra1YoYSxiKSl9ZnVuY3Rpb24ga1goKXt2YXIgYT0wO2E9
Yk8oNCl8MDtjW2E+PjJdPTI0MDg7YmwoYXwwLDgxNjAsMzApfWZ1bmN0aW9uIGtZKGIsZCxlKXti
PWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wO2Y9YnwwO2lmKChiJjMpPT0oZCYzKSl7d2hpbGUoYiYz
KXtpZigoZXwwKT09MClyZXR1cm4gZnwwO2FbYl09YVtkXXwwO2I9YisxfDA7ZD1kKzF8MDtlPWUt
MXwwfXdoaWxlKChlfDApPj00KXtjW2I+PjJdPWNbZD4+Ml07Yj1iKzR8MDtkPWQrNHwwO2U9ZS00
fDB9fXdoaWxlKChlfDApPjApe2FbYl09YVtkXXwwO2I9YisxfDA7ZD1kKzF8MDtlPWUtMXwwfXJl
dHVybiBmfDB9ZnVuY3Rpb24ga1ooYil7Yj1ifDA7dmFyIGM9MDtjPWFbbisoYj4+PjI0KXwwXXww
O2lmKChjfDApPDgpcmV0dXJuIGN8MDtjPWFbbisoYj4+MTYmMjU1KXwwXXwwO2lmKChjfDApPDgp
cmV0dXJuIGMrOHwwO2M9YVtuKyhiPj44JjI1NSl8MF18MDtpZigoY3wwKTw4KXJldHVybiBjKzE2
fDA7cmV0dXJuKGFbbisoYiYyNTUpfDBdfDApKzI0fDB9ZnVuY3Rpb24ga18oYixjLGQpe2I9Ynww
O2M9Y3wwO2Q9ZHwwO2lmKChjfDApPChifDApJihifDApPChjK2R8MCkpe2M9YytkfDA7Yj1iK2R8
MDt3aGlsZSgoZHwwKT4wKXtiPWItMXwwO2M9Yy0xfDA7ZD1kLTF8MDthW2JdPWFbY118MH19ZWxz
ZXtrWShiLGMsZCl8MH19ZnVuY3Rpb24gayQoYixkLGUpe2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBm
PTAsZz0wLGg9MDtmPWIrZXwwO2lmKChlfDApPj0yMCl7ZD1kJjI1NTtlPWImMztnPWR8ZDw8OHxk
PDwxNnxkPDwyNDtoPWYmfjM7aWYoZSl7ZT1iKzQtZXwwO3doaWxlKChifDApPChlfDApKXthW2Jd
PWQ7Yj1iKzF8MH19d2hpbGUoKGJ8MCk8KGh8MCkpe2NbYj4+Ml09ZztiPWIrNHwwfX13aGlsZSgo
YnwwKTwoZnwwKSl7YVtiXT1kO2I9YisxfDB9fWZ1bmN0aW9uIGswKGIpe2I9YnwwO3ZhciBjPTA7
Yz1iO3doaWxlKGFbY118MCl7Yz1jKzF8MH1yZXR1cm4gYy1ifDB9ZnVuY3Rpb24gazEoYSxiLGMs
ZCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7dmFyIGU9MDtlPWErYz4+PjA7cmV0dXJuKEs9Yitk
KyhlPj4+MDxhPj4+MHwwKT4+PjAsZXwwKXwwfWZ1bmN0aW9uIGsyKGEsYixjLGQpe2E9YXwwO2I9
YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTA7ZT1iLWQ+Pj4wO2U9Yi1kLShjPj4+MD5hPj4+MHwwKT4+
PjA7cmV0dXJuKEs9ZSxhLWM+Pj4wfDApfDB9ZnVuY3Rpb24gazMoYSxiLGMpe2E9YXwwO2I9Ynww
O2M9Y3wwO2lmKChjfDApPDMyKXtLPWI8PGN8KGEmKDE8PGMpLTE8PDMyLWMpPj4+MzItYztyZXR1
cm4gYTw8Y31LPWE8PGMtMzI7cmV0dXJuIDB9ZnVuY3Rpb24gazQoYSxiLGMpe2E9YXwwO2I9Ynww
O2M9Y3wwO2lmKChjfDApPDMyKXtLPWI+Pj5jO3JldHVybiBhPj4+Y3woYiYoMTw8YyktMSk8PDMy
LWN9Sz0wO3JldHVybiBiPj4+Yy0zMnwwfWZ1bmN0aW9uIGs1KGEsYixjKXthPWF8MDtiPWJ8MDtj
PWN8MDtpZigoY3wwKTwzMil7Sz1iPj5jO3JldHVybiBhPj4+Y3woYiYoMTw8YyktMSk8PDMyLWN9
Sz0oYnwwKTwwPy0xOjA7cmV0dXJuIGI+PmMtMzJ8MH1mdW5jdGlvbiBrNihiKXtiPWJ8MDt2YXIg
Yz0wO2M9YVttKyhiJjI1NSl8MF18MDtpZigoY3wwKTw4KXJldHVybiBjfDA7Yz1hW20rKGI+Pjgm
MjU1KXwwXXwwO2lmKChjfDApPDgpcmV0dXJuIGMrOHwwO2M9YVttKyhiPj4xNiYyNTUpfDBdfDA7
aWYoKGN8MCk8OClyZXR1cm4gYysxNnwwO3JldHVybihhW20rKGI+Pj4yNCl8MF18MCkrMjR8MH1m
dW5jdGlvbiBrNyhhLGIpe2E9YXwwO2I9YnwwO3ZhciBjPTAsZD0wLGU9MCxmPTA7Yz1hJjY1NTM1
O2Q9YiY2NTUzNTtlPWFnKGQsYyl8MDtmPWE+Pj4xNjthPShlPj4+MTYpKyhhZyhkLGYpfDApfDA7
ZD1iPj4+MTY7Yj1hZyhkLGMpfDA7cmV0dXJuKEs9KGE+Pj4xNikrKGFnKGQsZil8MCkrKCgoYSY2
NTUzNSkrYnwwKT4+PjE2KXwwLGErYjw8MTZ8ZSY2NTUzNXwwKXwwfWZ1bmN0aW9uIGs4KGEsYixj
LGQpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO3ZhciBlPTAsZj0wLGc9MCxoPTAsaT0wO2U9Yj4+
MzF8KChifDApPDA/LTE6MCk8PDE7Zj0oKGJ8MCk8MD8tMTowKT4+MzF8KChifDApPDA/LTE6MCk8
PDE7Zz1kPj4zMXwoKGR8MCk8MD8tMTowKTw8MTtoPSgoZHwwKTwwPy0xOjApPj4zMXwoKGR8MCk8
MD8tMTowKTw8MTtpPWsyKGVeYSxmXmIsZSxmKXwwO2I9SzthPWdeZTtlPWheZjtmPWsyKChsZChp
LGIsazIoZ15jLGheZCxnLGgpfDAsSywwKXwwKV5hLEteZSxhLGUpfDA7cmV0dXJuKEs9SyxmKXww
fWZ1bmN0aW9uIGs5KGEsYixkLGUpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO3ZhciBmPTAsZz0w
LGg9MCxqPTAsaz0wLGw9MCxtPTA7Zj1pO2k9aSs4fDA7Zz1mfDA7aD1iPj4zMXwoKGJ8MCk8MD8t
MTowKTw8MTtqPSgoYnwwKTwwPy0xOjApPj4zMXwoKGJ8MCk8MD8tMTowKTw8MTtrPWU+PjMxfCgo
ZXwwKTwwPy0xOjApPDwxO2w9KChlfDApPDA/LTE6MCk+PjMxfCgoZXwwKTwwPy0xOjApPDwxO209
azIoaF5hLGpeYixoLGopfDA7Yj1LO2E9azIoa15kLGxeZSxrLGwpfDA7bGQobSxiLGEsSyxnKXww
O2E9azIoY1tnPj4yXV5oLGNbZys0Pj4yXV5qLGgsail8MDtqPUs7aT1mO3JldHVybihLPWosYSl8
MH1mdW5jdGlvbiBsYShhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDt2YXIgZT0wLGY9
MDtlPWE7YT1jO2M9azcoZSxhKXwwO2Y9SztyZXR1cm4oSz0oYWcoYixhKXwwKSsoYWcoZCxlKXww
KStmfGYmMCxjfDB8MCl8MH1mdW5jdGlvbiBsYihhLGIsYyxkKXthPWF8MDtiPWJ8MDtjPWN8MDtk
PWR8MDt2YXIgZT0wO2U9bGQoYSxiLGMsZCwwKXwwO3JldHVybihLPUssZSl8MH1mdW5jdGlvbiBs
YyhhLGIsZCxlKXthPWF8MDtiPWJ8MDtkPWR8MDtlPWV8MDt2YXIgZj0wLGc9MDtmPWk7aT1pKzh8
MDtnPWZ8MDtsZChhLGIsZCxlLGcpfDA7aT1mO3JldHVybihLPWNbZys0Pj4yXXwwLGNbZz4+Ml18
MCl8MH1mdW5jdGlvbiBsZChhLGIsZCxlLGYpe2E9YXwwO2I9YnwwO2Q9ZHwwO2U9ZXwwO2Y9Znww
O3ZhciBnPTAsaD0wLGk9MCxqPTAsaz0wLGw9MCxtPTAsbj0wLG89MCxwPTAscT0wLHI9MCxzPTAs
dD0wLHU9MCx2PTAsdz0wLHg9MCx5PTAsej0wLEE9MCxCPTAsQz0wLEQ9MCxFPTAsRj0wLEc9MCxI
PTAsST0wLEo9MCxMPTAsTT0wO2c9YTtoPWI7aT1oO2o9ZDtrPWU7bD1rO2lmKChpfDApPT0wKXtt
PShmfDApIT0wO2lmKChsfDApPT0wKXtpZihtKXtjW2Y+PjJdPShnPj4+MCklKGo+Pj4wKTtjW2Yr
ND4+Ml09MH1uPTA7bz0oZz4+PjApLyhqPj4+MCk+Pj4wO3JldHVybihLPW4sbyl8MH1lbHNle2lm
KCFtKXtuPTA7bz0wO3JldHVybihLPW4sbyl8MH1jW2Y+PjJdPWF8MDtjW2YrND4+Ml09YiYwO249
MDtvPTA7cmV0dXJuKEs9bixvKXwwfX1tPShsfDApPT0wO2Rve2lmKChqfDApPT0wKXtpZihtKXtp
ZigoZnwwKSE9MCl7Y1tmPj4yXT0oaT4+PjApJShqPj4+MCk7Y1tmKzQ+PjJdPTB9bj0wO289KGk+
Pj4wKS8oaj4+PjApPj4+MDtyZXR1cm4oSz1uLG8pfDB9aWYoKGd8MCk9PTApe2lmKChmfDApIT0w
KXtjW2Y+PjJdPTA7Y1tmKzQ+PjJdPShpPj4+MCklKGw+Pj4wKX1uPTA7bz0oaT4+PjApLyhsPj4+
MCk+Pj4wO3JldHVybihLPW4sbyl8MH1wPWwtMXwwO2lmKChwJmx8MCk9PTApe2lmKChmfDApIT0w
KXtjW2Y+PjJdPWF8MDtjW2YrND4+Ml09cCZpfGImMH1uPTA7bz1pPj4+KChrNihsfDApfDApPj4+
MCk7cmV0dXJuKEs9bixvKXwwfXA9KGtaKGx8MCl8MCktKGtaKGl8MCl8MCl8MDtpZihwPj4+MDw9
MzApe3E9cCsxfDA7cj0zMS1wfDA7cz1xO3Q9aTw8cnxnPj4+KHE+Pj4wKTt1PWk+Pj4ocT4+PjAp
O3Y9MDt3PWc8PHI7YnJlYWt9aWYoKGZ8MCk9PTApe249MDtvPTA7cmV0dXJuKEs9bixvKXwwfWNb
Zj4+Ml09YXwwO2NbZis0Pj4yXT1ofGImMDtuPTA7bz0wO3JldHVybihLPW4sbyl8MH1lbHNle2lm
KCFtKXtyPShrWihsfDApfDApLShrWihpfDApfDApfDA7aWYocj4+PjA8PTMxKXtxPXIrMXwwO3A9
MzEtcnwwO3g9ci0zMT4+MzE7cz1xO3Q9Zz4+PihxPj4+MCkmeHxpPDxwO3U9aT4+PihxPj4+MCkm
eDt2PTA7dz1nPDxwO2JyZWFrfWlmKChmfDApPT0wKXtuPTA7bz0wO3JldHVybihLPW4sbyl8MH1j
W2Y+PjJdPWF8MDtjW2YrND4+Ml09aHxiJjA7bj0wO289MDtyZXR1cm4oSz1uLG8pfDB9cD1qLTF8
MDtpZigocCZqfDApIT0wKXt4PShrWihqfDApfDApKzMzLShrWihpfDApfDApfDA7cT02NC14fDA7
cj0zMi14fDA7eT1yPj4zMTt6PXgtMzJ8MDtBPXo+PjMxO3M9eDt0PXItMT4+MzEmaT4+Pih6Pj4+
MCl8KGk8PHJ8Zz4+Pih4Pj4+MCkpJkE7dT1BJmk+Pj4oeD4+PjApO3Y9Zzw8cSZ5O3c9KGk8PHF8
Zz4+Pih6Pj4+MCkpJnl8Zzw8ciZ4LTMzPj4zMTticmVha31pZigoZnwwKSE9MCl7Y1tmPj4yXT1w
Jmc7Y1tmKzQ+PjJdPTB9aWYoKGp8MCk9PTEpe249aHxiJjA7bz1hfDB8MDtyZXR1cm4oSz1uLG8p
fDB9ZWxzZXtwPWs2KGp8MCl8MDtuPWk+Pj4ocD4+PjApfDA7bz1pPDwzMi1wfGc+Pj4ocD4+PjAp
fDA7cmV0dXJuKEs9bixvKXwwfX19d2hpbGUoMCk7aWYoKHN8MCk9PTApe0I9dztDPXY7RD11O0U9
dDtGPTA7Rz0wfWVsc2V7Zz1kfDB8MDtkPWt8ZSYwO2U9azEoZyxkLC0xLC0xKXwwO2s9SztpPXc7
dz12O3Y9dTt1PXQ7dD1zO3M9MDt3aGlsZSgxKXtIPXc+Pj4zMXxpPDwxO0k9c3x3PDwxO2o9dTw8
MXxpPj4+MzF8MDthPXU+Pj4zMXx2PDwxfDA7azIoZSxrLGosYSl8MDtiPUs7aD1iPj4zMXwoKGJ8
MCk8MD8tMTowKTw8MTtKPWgmMTtMPWsyKGosYSxoJmcsKCgoYnwwKTwwPy0xOjApPj4zMXwoKGJ8
MCk8MD8tMTowKTw8MSkmZCl8MDtNPUs7Yj10LTF8MDtpZigoYnwwKT09MCl7YnJlYWt9ZWxzZXtp
PUg7dz1JO3Y9TTt1PUw7dD1iO3M9Sn19Qj1IO0M9STtEPU07RT1MO0Y9MDtHPUp9Sj1DO0M9MDtp
ZigoZnwwKSE9MCl7Y1tmPj4yXT1FO2NbZis0Pj4yXT1EfW49KEp8MCk+Pj4zMXwoQnxDKTw8MXwo
Qzw8MXxKPj4+MzEpJjB8RjtvPShKPDwxfDA+Pj4zMSkmLTJ8RztyZXR1cm4oSz1uLG8pfDB9ZnVu
Y3Rpb24gbGUoKXtiUCgpfWZ1bmN0aW9uIGxmKGEsYixjLGQsZSxmKXthPWF8MDtiPWJ8MDtjPWN8
MDtkPWR8MDtlPWV8MDtmPWZ8MDtiV1thJjddKGJ8MCxjfDAsZHwwLGV8MCxmfDApfWZ1bmN0aW9u
IGxnKGEsYixjLGQsZSxmLGcsaCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7
Zz1nfDA7aD1ofDA7YlhbYSYxMjddKGJ8MCxjfDAsZHwwLGV8MCxmfDAsZ3wwLGh8MCl9ZnVuY3Rp
b24gbGgoYSxiKXthPWF8MDtiPWJ8MDtiWVthJjUxMV0oYnwwKX1mdW5jdGlvbiBsaShhLGIsYyl7
YT1hfDA7Yj1ifDA7Yz1jfDA7YlpbYSYxMjddKGJ8MCxjfDApfWZ1bmN0aW9uIGxqKGEsYixjKXth
PWF8MDtiPWJ8MDtjPWN8MDtyZXR1cm4gYl9bYSYzMV0oYnwwLGN8MCl8MH1mdW5jdGlvbiBsayhh
LGIsYyxkLGUsZil7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7cmV0dXJuIGIk
W2EmMzFdKGJ8MCxjfDAsZHwwLGV8MCxmfDApfDB9ZnVuY3Rpb24gbGwoYSxiKXthPWF8MDtiPWJ8
MDtyZXR1cm4gYjBbYSYxMjddKGJ8MCl8MH1mdW5jdGlvbiBsbShhLGIsYyxkKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDtyZXR1cm4gYjFbYSY2M10oYnwwLGN8MCxkfDApfDB9ZnVuY3Rpb24gbG4o
YSxiLGMsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz0rZzti
MlthJjE1XShifDAsY3wwLGR8MCxlfDAsZnwwLCtnKX1mdW5jdGlvbiBsbyhhLGIsYyxkKXthPWF8
MDtiPWJ8MDtjPWN8MDtkPWR8MDtiM1thJjddKGJ8MCxjfDAsZHwwKX1mdW5jdGlvbiBscChhLGIs
YyxkLGUsZixnLGgsaSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7
aD1ofDA7aT1pfDA7YjRbYSYxNV0oYnwwLGN8MCxkfDAsZXwwLGZ8MCxnfDAsaHwwLGl8MCl9ZnVu
Y3Rpb24gbHEoYSl7YT1hfDA7YjVbYSYzXSgpfWZ1bmN0aW9uIGxyKGEsYixjLGQsZSxmLGcsaCxp
KXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtpPWl8MDty
ZXR1cm4gYjZbYSYzMV0oYnwwLGN8MCxkfDAsZXwwLGZ8MCxnfDAsaHwwLGl8MCl8MH1mdW5jdGlv
biBscyhhLGIsYyxkLGUsZixnLGgsaSxqKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtm
PWZ8MDtnPWd8MDtoPWh8MDtpPWl8MDtqPWp8MDtiN1thJjddKGJ8MCxjfDAsZHwwLGV8MCxmfDAs
Z3wwLGh8MCxpfDAsanwwKX1mdW5jdGlvbiBsdChhLGIsYyxkLGUsZixnLGgpe2E9YXwwO2I9Ynww
O2M9Y3wwO2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2c9Z3wwO2g9K2g7YjhbYSY3XShifDAsY3wwLGR8MCxl
fDAsZnwwLGd8MCwraCl9ZnVuY3Rpb24gbHUoYSxiLGMsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7Yz1j
fDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7YjlbYSYzMV0oYnwwLGN8MCxkfDAsZXwwLGZ8MCxn
fDApfWZ1bmN0aW9uIGx2KGEsYixjLGQsZSl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7
cmV0dXJuIGNhW2EmMTVdKGJ8MCxjfDAsZHwwLGV8MCl8MH1mdW5jdGlvbiBsdyhhLGIsYyxkLGUp
e2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2NiW2EmMTVdKGJ8MCxjfDAsZHwwLGV8MCl9
ZnVuY3Rpb24gbHgoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDthaCgw
KX1mdW5jdGlvbiBseShhLGIsYyxkLGUsZixnKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8MDtlPWV8
MDtmPWZ8MDtnPWd8MDthaCgxKX1mdW5jdGlvbiBseihhKXthPWF8MDthaCgyKX1mdW5jdGlvbiBs
QShhLGIpe2E9YXwwO2I9YnwwO2FoKDMpfWZ1bmN0aW9uIGxCKGEsYil7YT1hfDA7Yj1ifDA7YWgo
NCk7cmV0dXJuIDB9ZnVuY3Rpb24gbEMoYSxiLGMsZCxlKXthPWF8MDtiPWJ8MDtjPWN8MDtkPWR8
MDtlPWV8MDthaCg1KTtyZXR1cm4gMH1mdW5jdGlvbiBsRChhKXthPWF8MDthaCg2KTtyZXR1cm4g
MH1mdW5jdGlvbiBsRShhLGIsYyl7YT1hfDA7Yj1ifDA7Yz1jfDA7YWgoNyk7cmV0dXJuIDB9ZnVu
Y3Rpb24gbEYoYSxiLGMsZCxlLGYpe2E9YXwwO2I9YnwwO2M9Y3wwO2Q9ZHwwO2U9ZXwwO2Y9K2Y7
YWgoOCl9ZnVuY3Rpb24gbEcoYSxiLGMpe2E9YXwwO2I9YnwwO2M9Y3wwO2FoKDkpfWZ1bmN0aW9u
IGxIKGEsYixjLGQsZSxmLGcsaCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7
Zz1nfDA7aD1ofDA7YWgoMTApfWZ1bmN0aW9uIGxJKCl7YWgoMTEpfWZ1bmN0aW9uIGxKKGEsYixj
LGQsZSxmLGcsaCl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1mfDA7Zz1nfDA7aD1o
fDA7YWgoMTIpO3JldHVybiAwfWZ1bmN0aW9uIGxLKGEsYixjLGQsZSxmLGcsaCxpKXthPWF8MDti
PWJ8MDtjPWN8MDtkPWR8MDtlPWV8MDtmPWZ8MDtnPWd8MDtoPWh8MDtpPWl8MDthaCgxMyl9ZnVu
Y3Rpb24gbEwoYSxiLGMsZCxlLGYsZyl7YT1hfDA7Yj1ifDA7Yz1jfDA7ZD1kfDA7ZT1lfDA7Zj1m
fDA7Zz0rZzthaCgxNCl9ZnVuY3Rpb24gbE0oYSxiLGMsZCxlLGYpe2E9YXwwO2I9YnwwO2M9Y3ww
O2Q9ZHwwO2U9ZXwwO2Y9ZnwwO2FoKDE1KX1mdW5jdGlvbiBsTihhLGIsYyxkKXthPWF8MDtiPWJ8
MDtjPWN8MDtkPWR8MDthaCgxNik7cmV0dXJuIDB9ZnVuY3Rpb24gbE8oYSxiLGMsZCl7YT1hfDA7
Yj1ifDA7Yz1jfDA7ZD1kfDA7YWgoMTcpfQotLy8gRU1TQ1JJUFRFTl9FTkRfRlVOQ1MKLXZhciBi
Vz1bbHgsbHgsa0csbHgsa0QsbHgsa0YsbHhdO3ZhciBiWD1bbHksbHksZ0csbHksZ1AsbHksZ1Ms
bHksaWgsbHksZ3QsbHksZ3IsbHksaDksbHksZ0IsbHksZ0YsbHksZ1QsbHksZ2YsbHksZjcsbHks
Z0UsbHksZkgsbHksZlosbHksZ1EsbHksZ2QsbHksZiQsbHksZlgsbHksZlksbHksZlEsbHksZl8s
bHksZlYsbHksZlQsbHksZjQsbHksZjMsbHksZjAsbHksZ1UsbHksZkEsbHksZ0MsbHksZkUsbHks
ZnYsbHksZnksbHksZkMsbHksZnIsbHksZk0sbHksZkssbHksZnAsbHksbHksbHksbHksbHksbHks
bHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHks
bHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHksbHks
bHksbHksbHksbHksbHksbHksbHldO3ZhciBiWT1bbHosbHosaWssbHosZm4sbHosZ2wsbHosZEgs
bHosZW4sbHosaUUsbHosZHIsbHosaEEsbHosZjUsbHosZEIsbHosZEcsbHosZk8sbHosZmIsbHos
ZTcsbHosa1EsbHosZEMsbHosaVAsbHosaVMsbHosZ08sbHosZlAsbHosa3EsbHosZTEsbHosaWUs
bHosaVEsbHosZVMsbHosZm8sbHosaHIsbHosaUwsbHosakksbHosaVUsbHosa2ssbHosakgsbHos
ZTUsbHosYzUsbHosZEcsbHosY3QsbHosZmYsbHosaGcsbHosakssbHosaVIsbHosa0ssbHosaDcs
bHosakcsbHosZVYsbHosYzQsbHosZmUsbHosZEMsbHosajMsbHosZjYsbHosZGYsbHosaHMsbHos
ZVIsbHosZSQsbHosaHksbHosZ04sbHosZTgsbHosaGwsbHosa1UsbHosZW0sbHosajYsbHosajcs
bHosZTIsbHosZXUsbHosa3gsbHosaVYsbHosaTksbHosa2ksbHosZVQsbHosZTYsbHosaE8sbHos
ZGQsbHosaHgsbHosZTMsbHosajksbHosa2wsbHosanEsbHosZGIsbHosaUssbHosaU8sbHosaHos
bHosaFUsbHosa3UsbHosaEcsbHosaDgsbHosajgsbHosaGYsbHosZ2ssbHosZmEsbHosZGMsbHos
ZmMsbHosZVgsbHosZE4sbHosaCQsbHosaFQsbHosakosbHosZWUsbHosZEksbHosa2ksbHosa3ks
bHosZV8sbHosZE8sbHosZVEsbHosZTAsbHosaWQsbHosZUQsbHosZVosbHosZHMsbHosaVcsbHos
ZTksbHosaEosbHosZ3osbHosaG0sbHosYyQsbHosaXEsbHosaDAsbHosZVcsbHosZXQsbHosZVks
bHosakYsbHosajQsbHosZ0EsbHosa3csbHosaWwsbHosY18sbHosa3YsbHosaEIsbHosaFAsbHos
Y1csbHosZFAsbHosaVQsbHosZEYsbHosZVUsbHosa2EsbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHosbHos
bHosbHosbHosbHosbHosbHosbHosbHosbHpdO3ZhciBiWj1bbEEsbEEsalAsbEEsYzAsbEEsaE0s
bEEsak0sbEEsaGIsbEEsakwsbEEsaWosbEEsZDksbEEsaGssbEEsaEgsbEEsaHcsbEEsaGosbEEs
aGgsbEEsaE4sbEEsaU4sbEEsZzksbEEsZG0sbEEsaEksbEEsak8sbEEsaEssbEEsaG8sbEEsZEUs
bEEsaG4sbEEsalEsbEEsaGEsbEEsaHEsbEEsak4sbEEsZzgsbEEsZDIsbEEsZHQsbEEsYzYsbEEs
aW8sbEEsaHQsbEEsZzcsbEEsZzYsbEEsaGksbEEsaHUsbEEsaHYsbEEsaHAsbEEsaEwsbEEsbEEs
bEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEs
bEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEsbEEs
bEEsbEEsbEEsbEEsbEEsbEEsbEFdO3ZhciBiXz1bbEIsbEIsaTQsbEIsZHcsbEIsaUEsbEIsaXQs
bEIsZDgsbEIsYzksbEIsZHAsbEIsaTAsbEIsaTYsbEIsZUksbEIsaTIsbEIsZDcsbEIsYzIsbEIs
ZUgsbEIsbEIsbEJdO3ZhciBiJD1bbEMsbEMsamgsbEMsamYsbEMsakUsbEMsaXcsbEMsaUcsbEMs
anAsbEMsaUksbEMsZmssbEMsaUQsbEMsamQsbEMsZUwsbEMsanMsbEMsbEMsbEMsbEMsbEMsbEMs
bENdO3ZhciBiMD1bbEQsbEQsajIsbEQsZzQsbEQsZDYsbEQsalUsbEQsZXIsbEQsajAsbEQsZzAs
bEQsamUsbEQsamssbEQsZ3ksbEQsalMsbEQsZHYsbEQsZU8sbEQsZUcsbEQsalksbEQsalcsbEQs
anQsbEQsa2osbEQsZGksbEQsakMsbEQsanosbEQsalgsbEQsamosbEQsakEsbEQsZDQsbEQsaEYs
bEQsalosbEQsZHUsbEQsYzEsbEQsZzEsbEQsaTgsbEQsajEsbEQsanYsbEQsaEQsbEQsalIsbEQs
YzcsbEQsanUsbEQsamcsbEQsZUosbEQsZyQsbEQsYzgsbEQsakIsbEQsZDUsbEQsZUUsbEQsZG4s
bEQsZzIsbEQsaXosbEQsaXksbEQsa1IsbEQsZUYsbEQsZ1osbEQsalQsbEQsaXgsbEQsZ18sbEQs
ZGgsbEQsZzMsbEQsZzUsbEQsalYsbEQsaEUsbEQsZ00sbEQsaiQsbEQsal8sbEQsamksbERdO3Zh
ciBiMT1bbEUsbEUsZU0sbEUsaTUsbEUsaTMsbEUsa3osbEUsaUIsbEUsZmwsbEUsZEosbEUsZXMs
bEUsZXEsbEUsaVksbEUsZWEsbEUsaW0sbEUsaUMsbEUsaTEsbEUsZU4sbEUsZGwsbEUsaTcsbEUs
aWcsbEUsZDMsbEUsZVAsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUs
bEUsbEUsbEUsbEUsbEUsbEUsbEUsbEUsbEVdO3ZhciBiMj1bbEYsbEYsZ3csbEYsZ3UsbEYsZ2ks
bEYsZ2csbEYsbEYsbEYsbEYsbEYsbEYsbEZdO3ZhciBiMz1bbEcsbEcsZGssbEcsZTQsbEcsbEcs
bEddO3ZhciBiND1bbEgsbEgsaGUsbEgsaGQsbEgsaFEsbEgsaFksbEgsaFcsbEgsaDEsbEgsbEgs
bEhdO3ZhciBiNT1bbEksbEksbGUsbEldO3ZhciBiNj1bbEosbEosaXUsbEosamMsbEosam8sbEos
aXYsbEosanIsbEosakQsbEosamIsbEosamEsbEosbEosbEosbEosbEosbEosbEosbEosbEosbEos
bEosbEosbEosbEosbEpdO3ZhciBiNz1bbEssbEssZ1csbEssZ0ksbEssbEssbEtdO3ZhciBiOD1b
bEwsbEwsaWEsbEwsaDQsbEwsbEwsbExdO3ZhciBiOT1bbE0sbE0sa0gsbE0sZ3MsbE0sZ20sbE0s
Z28sbE0sa0ksbE0sZ3gsbE0saWksbE0sZWQsbE0sZ24sbE0sZ2EsbE0sZ2UsbE0sZjgsbE0sa0Us
bE0sZWIsbE0saXAsbE1dO3ZhciBjYT1bbE4sbE4saVosbE4saV8sbE4saUgsbE4saUYsbE4saSQs
bE4sbE4sbE4sbE4sbE5dO3ZhciBjYj1bbE8sbE8sa0EsbE8sa0IsbE8sZWMsbE8sa3IsbE8sZUss
bE8sZm0sbE8sZmQsbE9dO3JldHVybntfc3RybGVuOmswLF9mcmVlOmtLLF9tYWluOmNELF9yZWFs
bG9jOmtMLF9tZW1tb3ZlOmtfLF9fR0xPQkFMX19JX2E6Y1QsX21lbXNldDprJCxfbWFsbG9jOmtK
LF9tZW1jcHk6a1ksX2xsdm1fY3Rsel9pMzI6a1osX19HTE9CQUxfX0lfYTg6ZHkscnVuUG9zdFNl
dHM6Y3Msc3RhY2tBbGxvYzpjYyxzdGFja1NhdmU6Y2Qsc3RhY2tSZXN0b3JlOmNlLHNldFRocmV3
OmNmLHNldFRlbXBSZXQwOmNpLHNldFRlbXBSZXQxOmNqLHNldFRlbXBSZXQyOmNrLHNldFRlbXBS
ZXQzOmNsLHNldFRlbXBSZXQ0OmNtLHNldFRlbXBSZXQ1OmNuLHNldFRlbXBSZXQ2OmNvLHNldFRl
bXBSZXQ3OmNwLHNldFRlbXBSZXQ4OmNxLHNldFRlbXBSZXQ5OmNyLGR5bkNhbGxfdmlpaWlpOmxm
LGR5bkNhbGxfdmlpaWlpaWk6bGcsZHluQ2FsbF92aTpsaCxkeW5DYWxsX3ZpaTpsaSxkeW5DYWxs
X2lpaTpsaixkeW5DYWxsX2lpaWlpaTpsayxkeW5DYWxsX2lpOmxsLGR5bkNhbGxfaWlpaTpsbSxk
eW5DYWxsX3ZpaWlpaWY6bG4sZHluQ2FsbF92aWlpOmxvLGR5bkNhbGxfdmlpaWlpaWlpOmxwLGR5
bkNhbGxfdjpscSxkeW5DYWxsX2lpaWlpaWlpaTpscixkeW5DYWxsX3ZpaWlpaWlpaWk6bHMsZHlu
Q2FsbF92aWlpaWlpZjpsdCxkeW5DYWxsX3ZpaWlpaWk6bHUsZHluQ2FsbF9paWlpaTpsdixkeW5D
YWxsX3ZpaWlpOmx3fX0pCi0vLyBFTVNDUklQVEVOX0VORF9BU00KLSh7ICJNYXRoIjogTWF0aCwg
IkludDhBcnJheSI6IEludDhBcnJheSwgIkludDE2QXJyYXkiOiBJbnQxNkFycmF5LCAiSW50MzJB
cnJheSI6IEludDMyQXJyYXksICJVaW50OEFycmF5IjogVWludDhBcnJheSwgIlVpbnQxNkFycmF5
IjogVWludDE2QXJyYXksICJVaW50MzJBcnJheSI6IFVpbnQzMkFycmF5LCAiRmxvYXQzMkFycmF5
IjogRmxvYXQzMkFycmF5LCAiRmxvYXQ2NEFycmF5IjogRmxvYXQ2NEFycmF5IH0sIHsgImFib3J0
IjogYWJvcnQsICJhc3NlcnQiOiBhc3NlcnQsICJhc21QcmludEludCI6IGFzbVByaW50SW50LCAi
YXNtUHJpbnRGbG9hdCI6IGFzbVByaW50RmxvYXQsICJtaW4iOiBNYXRoX21pbiwgImludm9rZV92
aWlpaWkiOiBpbnZva2VfdmlpaWlpLCAiaW52b2tlX3ZpaWlpaWlpIjogaW52b2tlX3ZpaWlpaWlp
LCAiaW52b2tlX3ZpIjogaW52b2tlX3ZpLCAiaW52b2tlX3ZpaSI6IGludm9rZV92aWksICJpbnZv
a2VfaWlpIjogaW52b2tlX2lpaSwgImludm9rZV9paWlpaWkiOiBpbnZva2VfaWlpaWlpLCAiaW52
b2tlX2lpIjogaW52b2tlX2lpLCAiaW52b2tlX2lpaWkiOiBpbnZva2VfaWlpaSwgImludm9rZV92
aWlpaWlmIjogaW52b2tlX3ZpaWlpaWYsICJpbnZva2VfdmlpaSI6IGludm9rZV92aWlpLCAiaW52
b2tlX3ZpaWlpaWlpaSI6IGludm9rZV92aWlpaWlpaWksICJpbnZva2VfdiI6IGludm9rZV92LCAi
aW52b2tlX2lpaWlpaWlpaSI6IGludm9rZV9paWlpaWlpaWksICJpbnZva2VfdmlpaWlpaWlpaSI6
IGludm9rZV92aWlpaWlpaWlpLCAiaW52b2tlX3ZpaWlpaWlmIjogaW52b2tlX3ZpaWlpaWlmLCAi
aW52b2tlX3ZpaWlpaWkiOiBpbnZva2VfdmlpaWlpaSwgImludm9rZV9paWlpaSI6IGludm9rZV9p
aWlpaSwgImludm9rZV92aWlpaSI6IGludm9rZV92aWlpaSwgIl9sbHZtX2xpZmV0aW1lX2VuZCI6
IF9sbHZtX2xpZmV0aW1lX2VuZCwgIl9fc2NhblN0cmluZyI6IF9fc2NhblN0cmluZywgIl9wdGhy
ZWFkX211dGV4X2xvY2siOiBfcHRocmVhZF9tdXRleF9sb2NrLCAiX19fY3hhX2VuZF9jYXRjaCI6
IF9fX2N4YV9lbmRfY2F0Y2gsICJfc3RydG91bGwiOiBfc3RydG91bGwsICJfX2lzRmxvYXQiOiBf
X2lzRmxvYXQsICJfZmZsdXNoIjogX2ZmbHVzaCwgIl9faXNMZWFwWWVhciI6IF9faXNMZWFwWWVh
ciwgIl9md3JpdGUiOiBfZndyaXRlLCAiX3NlbmQiOiBfc2VuZCwgIl9sbHZtX3VtdWxfd2l0aF9v
dmVyZmxvd19pMzIiOiBfbGx2bV91bXVsX3dpdGhfb3ZlcmZsb3dfaTMyLCAiX2lzc3BhY2UiOiBf
aXNzcGFjZSwgIl9yZWFkIjogX3JlYWQsICJfX19jeGFfZ3VhcmRfYWJvcnQiOiBfX19jeGFfZ3Vh
cmRfYWJvcnQsICJfbmV3bG9jYWxlIjogX25ld2xvY2FsZSwgIl9fX2d4eF9wZXJzb25hbGl0eV92
MCI6IF9fX2d4eF9wZXJzb25hbGl0eV92MCwgIl9wdGhyZWFkX2NvbmRfd2FpdCI6IF9wdGhyZWFk
X2NvbmRfd2FpdCwgIl9fX2N4YV9yZXRocm93IjogX19fY3hhX3JldGhyb3csICJfX19yZXN1bWVF
eGNlcHRpb24iOiBfX19yZXN1bWVFeGNlcHRpb24sICJfbGx2bV92YV9lbmQiOiBfbGx2bV92YV9l
bmQsICJfdnNzY2FuZiI6IF92c3NjYW5mLCAiX3NucHJpbnRmIjogX3NucHJpbnRmLCAiX2ZnZXRj
IjogX2ZnZXRjLCAiX2F0ZXhpdCI6IF9hdGV4aXQsICJfX19jeGFfZnJlZV9leGNlcHRpb24iOiBf
X19jeGFfZnJlZV9leGNlcHRpb24sICJfX1o4Y2F0Y2xvc2VQOF9ubF9jYXRkIjogX19aOGNhdGNs
b3NlUDhfbmxfY2F0ZCwgIl9fX3NldEVyck5vIjogX19fc2V0RXJyTm8sICJfaXN4ZGlnaXQiOiBf
aXN4ZGlnaXQsICJfZXhpdCI6IF9leGl0LCAiX3NwcmludGYiOiBfc3ByaW50ZiwgIl9fX2N0eXBl
X2JfbG9jIjogX19fY3R5cGVfYl9sb2MsICJfZnJlZWxvY2FsZSI6IF9mcmVlbG9jYWxlLCAiX19a
N2NhdG9wZW5QS2NpIjogX19aN2NhdG9wZW5QS2NpLCAiX2FzcHJpbnRmIjogX2FzcHJpbnRmLCAi
X19fY3hhX2lzX251bWJlcl90eXBlIjogX19fY3hhX2lzX251bWJlcl90eXBlLCAiX19fY3hhX2Rv
ZXNfaW5oZXJpdCI6IF9fX2N4YV9kb2VzX2luaGVyaXQsICJfX19jeGFfZ3VhcmRfYWNxdWlyZSI6
IF9fX2N4YV9ndWFyZF9hY3F1aXJlLCAiX19fbG9jYWxlX21iX2N1cl9tYXgiOiBfX19sb2NhbGVf
bWJfY3VyX21heCwgIl9fX2N4YV9iZWdpbl9jYXRjaCI6IF9fX2N4YV9iZWdpbl9jYXRjaCwgIl9y
ZWN2IjogX3JlY3YsICJfX3BhcnNlSW50NjQiOiBfX3BhcnNlSW50NjQsICJfX1pTdDE4dW5jYXVn
aHRfZXhjZXB0aW9udiI6IF9fWlN0MTh1bmNhdWdodF9leGNlcHRpb252LCAiX19fY3hhX2NhbGxf
dW5leHBlY3RlZCI6IF9fX2N4YV9jYWxsX3VuZXhwZWN0ZWQsICJfX2V4aXQiOiBfX2V4aXQsICJf
c3RyZnRpbWUiOiBfc3RyZnRpbWUsICJfX19jeGFfdGhyb3ciOiBfX19jeGFfdGhyb3csICJfbGx2
bV9laF9leGNlcHRpb24iOiBfbGx2bV9laF9leGNlcHRpb24sICJfcHJlYWQiOiBfcHJlYWQsICJf
X2FycmF5U3VtIjogX19hcnJheVN1bSwgIl9sb2ciOiBfbG9nLCAiX19fY3hhX2ZpbmRfbWF0Y2hp
bmdfY2F0Y2giOiBfX19jeGFfZmluZF9tYXRjaGluZ19jYXRjaCwgIl9fZm9ybWF0U3RyaW5nIjog
X19mb3JtYXRTdHJpbmcsICJfcHRocmVhZF9jb25kX2Jyb2FkY2FzdCI6IF9wdGhyZWFkX2NvbmRf
YnJvYWRjYXN0LCAiX19aU3Q5dGVybWluYXRldiI6IF9fWlN0OXRlcm1pbmF0ZXYsICJfcHRocmVh
ZF9tdXRleF91bmxvY2siOiBfcHRocmVhZF9tdXRleF91bmxvY2ssICJfc2JyayI6IF9zYnJrLCAi
X19fZXJybm9fbG9jYXRpb24iOiBfX19lcnJub19sb2NhdGlvbiwgIl9zdHJlcnJvciI6IF9zdHJl
cnJvciwgIl9sbHZtX2xpZmV0aW1lX3N0YXJ0IjogX2xsdm1fbGlmZXRpbWVfc3RhcnQsICJfX19j
eGFfZ3VhcmRfcmVsZWFzZSI6IF9fX2N4YV9ndWFyZF9yZWxlYXNlLCAiX3VuZ2V0YyI6IF91bmdl
dGMsICJfdXNlbG9jYWxlIjogX3VzZWxvY2FsZSwgIl92c25wcmludGYiOiBfdnNucHJpbnRmLCAi
X3NzY2FuZiI6IF9zc2NhbmYsICJfc3lzY29uZiI6IF9zeXNjb25mLCAiX2ZyZWFkIjogX2ZyZWFk
LCAiX2Fib3J0IjogX2Fib3J0LCAiX2lzZGlnaXQiOiBfaXNkaWdpdCwgIl9zdHJ0b2xsIjogX3N0
cnRvbGwsICJfX2FkZERheXMiOiBfX2FkZERheXMsICJfZmxvb3IiOiBfZmxvb3IsICJfX3JlYWxs
eU5lZ2F0aXZlIjogX19yZWFsbHlOZWdhdGl2ZSwgIl9fWjdjYXRnZXRzUDhfbmxfY2F0ZGlpUEtj
IjogX19aN2NhdGdldHNQOF9ubF9jYXRkaWlQS2MsICJfd3JpdGUiOiBfd3JpdGUsICJfX19jeGFf
YWxsb2NhdGVfZXhjZXB0aW9uIjogX19fY3hhX2FsbG9jYXRlX2V4Y2VwdGlvbiwgIl9fX2N4YV9w
dXJlX3ZpcnR1YWwiOiBfX19jeGFfcHVyZV92aXJ0dWFsLCAiX3Zhc3ByaW50ZiI6IF92YXNwcmlu
dGYsICJfX19jdHlwZV90b3VwcGVyX2xvYyI6IF9fX2N0eXBlX3RvdXBwZXJfbG9jLCAiX19fY3R5
cGVfdG9sb3dlcl9sb2MiOiBfX19jdHlwZV90b2xvd2VyX2xvYywgIl9wd3JpdGUiOiBfcHdyaXRl
LCAiX3N0cmVycm9yX3IiOiBfc3RyZXJyb3JfciwgIl90aW1lIjogX3RpbWUsICJTVEFDS1RPUCI6
IFNUQUNLVE9QLCAiU1RBQ0tfTUFYIjogU1RBQ0tfTUFYLCAidGVtcERvdWJsZVB0ciI6IHRlbXBE
b3VibGVQdHIsICJBQk9SVCI6IEFCT1JULCAiY3R0el9pOCI6IGN0dHpfaTgsICJjdGx6X2k4Ijog
Y3Rsel9pOCwgIk5hTiI6IE5hTiwgIkluZmluaXR5IjogSW5maW5pdHksICJfc3RkaW4iOiBfc3Rk
aW4sICJfX1pUVk4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRSI6IF9fWlRWTjEwX19j
eHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FLCAiX19aVFZOMTBfX2N4eGFiaXYxMjBfX3NpX2Ns
YXNzX3R5cGVfaW5mb0UiOiBfX1pUVk4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZv
RSwgIl9zdGRlcnIiOiBfc3RkZXJyLCAiX19fZnNtdTgiOiBfX19mc211OCwgIl9zdGRvdXQiOiBf
c3Rkb3V0LCAiX19fZHNvX2hhbmRsZSI6IF9fX2Rzb19oYW5kbGUgfSwgYnVmZmVyKTsKLXZhciBf
c3RybGVuID0gTW9kdWxlWyJfc3RybGVuIl0gPSBhc21bIl9zdHJsZW4iXTsKLXZhciBfZnJlZSA9
IE1vZHVsZVsiX2ZyZWUiXSA9IGFzbVsiX2ZyZWUiXTsKLXZhciBfbWFpbiA9IE1vZHVsZVsiX21h
aW4iXSA9IGFzbVsiX21haW4iXTsKLXZhciBfcmVhbGxvYyA9IE1vZHVsZVsiX3JlYWxsb2MiXSA9
IGFzbVsiX3JlYWxsb2MiXTsKLXZhciBfbWVtbW92ZSA9IE1vZHVsZVsiX21lbW1vdmUiXSA9IGFz
bVsiX21lbW1vdmUiXTsKLXZhciBfX0dMT0JBTF9fSV9hID0gTW9kdWxlWyJfX0dMT0JBTF9fSV9h
Il0gPSBhc21bIl9fR0xPQkFMX19JX2EiXTsKLXZhciBfbWVtc2V0ID0gTW9kdWxlWyJfbWVtc2V0
Il0gPSBhc21bIl9tZW1zZXQiXTsKLXZhciBfbWFsbG9jID0gTW9kdWxlWyJfbWFsbG9jIl0gPSBh
c21bIl9tYWxsb2MiXTsKLXZhciBfbWVtY3B5ID0gTW9kdWxlWyJfbWVtY3B5Il0gPSBhc21bIl9t
ZW1jcHkiXTsKLXZhciBfbGx2bV9jdGx6X2kzMiA9IE1vZHVsZVsiX2xsdm1fY3Rsel9pMzIiXSA9
IGFzbVsiX2xsdm1fY3Rsel9pMzIiXTsKLXZhciBfX0dMT0JBTF9fSV9hOCA9IE1vZHVsZVsiX19H
TE9CQUxfX0lfYTgiXSA9IGFzbVsiX19HTE9CQUxfX0lfYTgiXTsKLXZhciBydW5Qb3N0U2V0cyA9
IE1vZHVsZVsicnVuUG9zdFNldHMiXSA9IGFzbVsicnVuUG9zdFNldHMiXTsKLXZhciBkeW5DYWxs
X3ZpaWlpaSA9IE1vZHVsZVsiZHluQ2FsbF92aWlpaWkiXSA9IGFzbVsiZHluQ2FsbF92aWlpaWki
XTsKLXZhciBkeW5DYWxsX3ZpaWlpaWlpID0gTW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWlpIl0gPSBh
c21bImR5bkNhbGxfdmlpaWlpaWkiXTsKLXZhciBkeW5DYWxsX3ZpID0gTW9kdWxlWyJkeW5DYWxs
X3ZpIl0gPSBhc21bImR5bkNhbGxfdmkiXTsKLXZhciBkeW5DYWxsX3ZpaSA9IE1vZHVsZVsiZHlu
Q2FsbF92aWkiXSA9IGFzbVsiZHluQ2FsbF92aWkiXTsKLXZhciBkeW5DYWxsX2lpaSA9IE1vZHVs
ZVsiZHluQ2FsbF9paWkiXSA9IGFzbVsiZHluQ2FsbF9paWkiXTsKLXZhciBkeW5DYWxsX2lpaWlp
aSA9IE1vZHVsZVsiZHluQ2FsbF9paWlpaWkiXSA9IGFzbVsiZHluQ2FsbF9paWlpaWkiXTsKLXZh
ciBkeW5DYWxsX2lpID0gTW9kdWxlWyJkeW5DYWxsX2lpIl0gPSBhc21bImR5bkNhbGxfaWkiXTsK
LXZhciBkeW5DYWxsX2lpaWkgPSBNb2R1bGVbImR5bkNhbGxfaWlpaSJdID0gYXNtWyJkeW5DYWxs
X2lpaWkiXTsKLXZhciBkeW5DYWxsX3ZpaWlpaWYgPSBNb2R1bGVbImR5bkNhbGxfdmlpaWlpZiJd
ID0gYXNtWyJkeW5DYWxsX3ZpaWlpaWYiXTsKLXZhciBkeW5DYWxsX3ZpaWkgPSBNb2R1bGVbImR5
bkNhbGxfdmlpaSJdID0gYXNtWyJkeW5DYWxsX3ZpaWkiXTsKLXZhciBkeW5DYWxsX3ZpaWlpaWlp
aSA9IE1vZHVsZVsiZHluQ2FsbF92aWlpaWlpaWkiXSA9IGFzbVsiZHluQ2FsbF92aWlpaWlpaWki
XTsKLXZhciBkeW5DYWxsX3YgPSBNb2R1bGVbImR5bkNhbGxfdiJdID0gYXNtWyJkeW5DYWxsX3Yi
XTsKLXZhciBkeW5DYWxsX2lpaWlpaWlpaSA9IE1vZHVsZVsiZHluQ2FsbF9paWlpaWlpaWkiXSA9
IGFzbVsiZHluQ2FsbF9paWlpaWlpaWkiXTsKLXZhciBkeW5DYWxsX3ZpaWlpaWlpaWkgPSBNb2R1
bGVbImR5bkNhbGxfdmlpaWlpaWlpaSJdID0gYXNtWyJkeW5DYWxsX3ZpaWlpaWlpaWkiXTsKLXZh
ciBkeW5DYWxsX3ZpaWlpaWlmID0gTW9kdWxlWyJkeW5DYWxsX3ZpaWlpaWlmIl0gPSBhc21bImR5
bkNhbGxfdmlpaWlpaWYiXTsKLXZhciBkeW5DYWxsX3ZpaWlpaWkgPSBNb2R1bGVbImR5bkNhbGxf
dmlpaWlpaSJdID0gYXNtWyJkeW5DYWxsX3ZpaWlpaWkiXTsKLXZhciBkeW5DYWxsX2lpaWlpID0g
TW9kdWxlWyJkeW5DYWxsX2lpaWlpIl0gPSBhc21bImR5bkNhbGxfaWlpaWkiXTsKLXZhciBkeW5D
YWxsX3ZpaWlpID0gTW9kdWxlWyJkeW5DYWxsX3ZpaWlpIl0gPSBhc21bImR5bkNhbGxfdmlpaWki
XTsKLVJ1bnRpbWUuc3RhY2tBbGxvYyA9IGZ1bmN0aW9uKHNpemUpIHsgcmV0dXJuIGFzbVsnc3Rh
Y2tBbGxvYyddKHNpemUpIH07Ci1SdW50aW1lLnN0YWNrU2F2ZSA9IGZ1bmN0aW9uKCkgeyByZXR1
cm4gYXNtWydzdGFja1NhdmUnXSgpIH07Ci1SdW50aW1lLnN0YWNrUmVzdG9yZSA9IGZ1bmN0aW9u
KHRvcCkgeyBhc21bJ3N0YWNrUmVzdG9yZSddKHRvcCkgfTsKLS8vIFRPRE86IHN0cmlwIG91dCBw
YXJ0cyBvZiB0aGlzIHdlIGRvIG5vdCBuZWVkCi0vLz09PT09PT0gYmVnaW4gY2xvc3VyZSBpNjQg
Y29kZSA9PT09PT09Ci0vLyBDb3B5cmlnaHQgMjAwOSBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhv
cnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0vLwotLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNo
ZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0vLyB5b3UgbWF5IG5vdCB1
c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0vLyBZ
b3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLS8vCi0vLyAgICAgIGh0dHA6
Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotLy8KLS8vIFVubGVzcyByZXF1
aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUK
LS8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJB
Uy1JUyIgQkFTSVMsCi0vLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkg
S0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLS8vIFNlZSB0aGUgTGljZW5zZSBmb3Ig
dGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLS8vIGxpbWl0
YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotLyoqCi0gKiBAZmlsZW92ZXJ2aWV3IERlZmluZXMg
YSBMb25nIGNsYXNzIGZvciByZXByZXNlbnRpbmcgYSA2NC1iaXQgdHdvJ3MtY29tcGxlbWVudAot
ICogaW50ZWdlciB2YWx1ZSwgd2hpY2ggZmFpdGhmdWxseSBzaW11bGF0ZXMgdGhlIGJlaGF2aW9y
IG9mIGEgSmF2YSAibG9uZyIuIFRoaXMKLSAqIGltcGxlbWVudGF0aW9uIGlzIGRlcml2ZWQgZnJv
bSBMb25nTGliIGluIEdXVC4KLSAqCi0gKi8KLXZhciBpNjRNYXRoID0gKGZ1bmN0aW9uKCkgeyAv
LyBFbXNjcmlwdGVuIHdyYXBwZXIKLSAgdmFyIGdvb2cgPSB7IG1hdGg6IHt9IH07Ci0gIC8qKgot
ICAgKiBDb25zdHJ1Y3RzIGEgNjQtYml0IHR3bydzLWNvbXBsZW1lbnQgaW50ZWdlciwgZ2l2ZW4g
aXRzIGxvdyBhbmQgaGlnaCAzMi1iaXQKLSAgICogdmFsdWVzIGFzICpzaWduZWQqIGludGVnZXJz
LiAgU2VlIHRoZSBmcm9tKiBmdW5jdGlvbnMgYmVsb3cgZm9yIG1vcmUKLSAgICogY29udmVuaWVu
dCB3YXlzIG9mIGNvbnN0cnVjdGluZyBMb25ncy4KLSAgICoKLSAgICogVGhlIGludGVybmFsIHJl
cHJlc2VudGF0aW9uIG9mIGEgbG9uZyBpcyB0aGUgdHdvIGdpdmVuIHNpZ25lZCwgMzItYml0IHZh
bHVlcy4KLSAgICogV2UgdXNlIDMyLWJpdCBwaWVjZXMgYmVjYXVzZSB0aGVzZSBhcmUgdGhlIHNp
emUgb2YgaW50ZWdlcnMgb24gd2hpY2gKLSAgICogSmF2YXNjcmlwdCBwZXJmb3JtcyBiaXQtb3Bl
cmF0aW9ucy4gIEZvciBvcGVyYXRpb25zIGxpa2UgYWRkaXRpb24gYW5kCi0gICAqIG11bHRpcGxp
Y2F0aW9uLCB3ZSBzcGxpdCBlYWNoIG51bWJlciBpbnRvIDE2LWJpdCBwaWVjZXMsIHdoaWNoIGNh
biBlYXNpbHkgYmUKLSAgICogbXVsdGlwbGllZCB3aXRoaW4gSmF2YXNjcmlwdCdzIGZsb2F0aW5n
LXBvaW50IHJlcHJlc2VudGF0aW9uIHdpdGhvdXQgb3ZlcmZsb3cKLSAgICogb3IgY2hhbmdlIGlu
IHNpZ24uCi0gICAqCi0gICAqIEluIHRoZSBhbGdvcml0aG1zIGJlbG93LCB3ZSBmcmVxdWVudGx5
IHJlZHVjZSB0aGUgbmVnYXRpdmUgY2FzZSB0byB0aGUKLSAgICogcG9zaXRpdmUgY2FzZSBieSBu
ZWdhdGluZyB0aGUgaW5wdXQocykgYW5kIHRoZW4gcG9zdC1wcm9jZXNzaW5nIHRoZSByZXN1bHQu
Ci0gICAqIE5vdGUgdGhhdCB3ZSBtdXN0IEFMV0FZUyBjaGVjayBzcGVjaWFsbHkgd2hldGhlciB0
aG9zZSB2YWx1ZXMgYXJlIE1JTl9WQUxVRQotICAgKiAoLTJeNjMpIGJlY2F1c2UgLU1JTl9WQUxV
RSA9PSBNSU5fVkFMVUUgKHNpbmNlIDJeNjMgY2Fubm90IGJlIHJlcHJlc2VudGVkIGFzCi0gICAq
IGEgcG9zaXRpdmUgbnVtYmVyLCBpdCBvdmVyZmxvd3MgYmFjayBpbnRvIGEgbmVnYXRpdmUpLiAg
Tm90IGhhbmRsaW5nIHRoaXMKLSAgICogY2FzZSB3b3VsZCBvZnRlbiByZXN1bHQgaW4gaW5maW5p
dGUgcmVjdXJzaW9uLgotICAgKgotICAgKiBAcGFyYW0ge251bWJlcn0gbG93ICBUaGUgbG93IChz
aWduZWQpIDMyIGJpdHMgb2YgdGhlIGxvbmcuCi0gICAqIEBwYXJhbSB7bnVtYmVyfSBoaWdoICBU
aGUgaGlnaCAoc2lnbmVkKSAzMiBiaXRzIG9mIHRoZSBsb25nLgotICAgKiBAY29uc3RydWN0b3IK
LSAgICovCi0gIGdvb2cubWF0aC5Mb25nID0gZnVuY3Rpb24obG93LCBoaWdoKSB7Ci0gICAgLyoq
Ci0gICAgICogQHR5cGUge251bWJlcn0KLSAgICAgKiBAcHJpdmF0ZQotICAgICAqLwotICAgIHRo
aXMubG93XyA9IGxvdyB8IDA7ICAvLyBmb3JjZSBpbnRvIDMyIHNpZ25lZCBiaXRzLgotICAgIC8q
KgotICAgICAqIEB0eXBlIHtudW1iZXJ9Ci0gICAgICogQHByaXZhdGUKLSAgICAgKi8KLSAgICB0
aGlzLmhpZ2hfID0gaGlnaCB8IDA7ICAvLyBmb3JjZSBpbnRvIDMyIHNpZ25lZCBiaXRzLgotICB9
OwotICAvLyBOT1RFOiBDb21tb24gY29uc3RhbnQgdmFsdWVzIFpFUk8sIE9ORSwgTkVHX09ORSwg
ZXRjLiBhcmUgZGVmaW5lZCBiZWxvdyB0aGUKLSAgLy8gZnJvbSogbWV0aG9kcyBvbiB3aGljaCB0
aGV5IGRlcGVuZC4KLSAgLyoqCi0gICAqIEEgY2FjaGUgb2YgdGhlIExvbmcgcmVwcmVzZW50YXRp
b25zIG9mIHNtYWxsIGludGVnZXIgdmFsdWVzLgotICAgKiBAdHlwZSB7IU9iamVjdH0KLSAgICog
QHByaXZhdGUKLSAgICovCi0gIGdvb2cubWF0aC5Mb25nLkludENhY2hlXyA9IHt9OwotICAvKioK
LSAgICogUmV0dXJucyBhIExvbmcgcmVwcmVzZW50aW5nIHRoZSBnaXZlbiAoMzItYml0KSBpbnRl
Z2VyIHZhbHVlLgotICAgKiBAcGFyYW0ge251bWJlcn0gdmFsdWUgVGhlIDMyLWJpdCBpbnRlZ2Vy
IGluIHF1ZXN0aW9uLgotICAgKiBAcmV0dXJuIHshZ29vZy5tYXRoLkxvbmd9IFRoZSBjb3JyZXNw
b25kaW5nIExvbmcgdmFsdWUuCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5mcm9tSW50ID0gZnVu
Y3Rpb24odmFsdWUpIHsKLSAgICBpZiAoLTEyOCA8PSB2YWx1ZSAmJiB2YWx1ZSA8IDEyOCkgewot
ICAgICAgdmFyIGNhY2hlZE9iaiA9IGdvb2cubWF0aC5Mb25nLkludENhY2hlX1t2YWx1ZV07Ci0g
ICAgICBpZiAoY2FjaGVkT2JqKSB7Ci0gICAgICAgIHJldHVybiBjYWNoZWRPYmo7Ci0gICAgICB9
Ci0gICAgfQotICAgIHZhciBvYmogPSBuZXcgZ29vZy5tYXRoLkxvbmcodmFsdWUgfCAwLCB2YWx1
ZSA8IDAgPyAtMSA6IDApOwotICAgIGlmICgtMTI4IDw9IHZhbHVlICYmIHZhbHVlIDwgMTI4KSB7
Ci0gICAgICBnb29nLm1hdGguTG9uZy5JbnRDYWNoZV9bdmFsdWVdID0gb2JqOwotICAgIH0KLSAg
ICByZXR1cm4gb2JqOwotICB9OwotICAvKioKLSAgICogUmV0dXJucyBhIExvbmcgcmVwcmVzZW50
aW5nIHRoZSBnaXZlbiB2YWx1ZSwgcHJvdmlkZWQgdGhhdCBpdCBpcyBhIGZpbml0ZQotICAgKiBu
dW1iZXIuICBPdGhlcndpc2UsIHplcm8gaXMgcmV0dXJuZWQuCi0gICAqIEBwYXJhbSB7bnVtYmVy
fSB2YWx1ZSBUaGUgbnVtYmVyIGluIHF1ZXN0aW9uLgotICAgKiBAcmV0dXJuIHshZ29vZy5tYXRo
Lkxvbmd9IFRoZSBjb3JyZXNwb25kaW5nIExvbmcgdmFsdWUuCi0gICAqLwotICBnb29nLm1hdGgu
TG9uZy5mcm9tTnVtYmVyID0gZnVuY3Rpb24odmFsdWUpIHsKLSAgICBpZiAoaXNOYU4odmFsdWUp
IHx8ICFpc0Zpbml0ZSh2YWx1ZSkpIHsKLSAgICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5aRVJP
OwotICAgIH0gZWxzZSBpZiAodmFsdWUgPD0gLWdvb2cubWF0aC5Mb25nLlRXT19QV1JfNjNfREJM
XykgewotICAgICAgcmV0dXJuIGdvb2cubWF0aC5Mb25nLk1JTl9WQUxVRTsKLSAgICB9IGVsc2Ug
aWYgKHZhbHVlICsgMSA+PSBnb29nLm1hdGguTG9uZy5UV09fUFdSXzYzX0RCTF8pIHsKLSAgICAg
IHJldHVybiBnb29nLm1hdGguTG9uZy5NQVhfVkFMVUU7Ci0gICAgfSBlbHNlIGlmICh2YWx1ZSA8
IDApIHsKLSAgICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5mcm9tTnVtYmVyKC12YWx1ZSkubmVn
YXRlKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIHJldHVybiBuZXcgZ29vZy5tYXRoLkxvbmcoCi0g
ICAgICAgICAgKHZhbHVlICUgZ29vZy5tYXRoLkxvbmcuVFdPX1BXUl8zMl9EQkxfKSB8IDAsCi0g
ICAgICAgICAgKHZhbHVlIC8gZ29vZy5tYXRoLkxvbmcuVFdPX1BXUl8zMl9EQkxfKSB8IDApOwot
ICAgIH0KLSAgfTsKLSAgLyoqCi0gICAqIFJldHVybnMgYSBMb25nIHJlcHJlc2VudGluZyB0aGUg
NjQtYml0IGludGVnZXIgdGhhdCBjb21lcyBieSBjb25jYXRlbmF0aW5nCi0gICAqIHRoZSBnaXZl
biBoaWdoIGFuZCBsb3cgYml0cy4gIEVhY2ggaXMgYXNzdW1lZCB0byB1c2UgMzIgYml0cy4KLSAg
ICogQHBhcmFtIHtudW1iZXJ9IGxvd0JpdHMgVGhlIGxvdyAzMi1iaXRzLgotICAgKiBAcGFyYW0g
e251bWJlcn0gaGlnaEJpdHMgVGhlIGhpZ2ggMzItYml0cy4KLSAgICogQHJldHVybiB7IWdvb2cu
bWF0aC5Mb25nfSBUaGUgY29ycmVzcG9uZGluZyBMb25nIHZhbHVlLgotICAgKi8KLSAgZ29vZy5t
YXRoLkxvbmcuZnJvbUJpdHMgPSBmdW5jdGlvbihsb3dCaXRzLCBoaWdoQml0cykgewotICAgIHJl
dHVybiBuZXcgZ29vZy5tYXRoLkxvbmcobG93Qml0cywgaGlnaEJpdHMpOwotICB9OwotICAvKioK
LSAgICogUmV0dXJucyBhIExvbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIGdpdmVuIHN0cmluZywg
d3JpdHRlbiB1c2luZyB0aGUgZ2l2ZW4KLSAgICogcmFkaXguCi0gICAqIEBwYXJhbSB7c3RyaW5n
fSBzdHIgVGhlIHRleHR1YWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIExvbmcuCi0gICAqIEBwYXJh
bSB7bnVtYmVyPX0gb3B0X3JhZGl4IFRoZSByYWRpeCBpbiB3aGljaCB0aGUgdGV4dCBpcyB3cml0
dGVuLgotICAgKiBAcmV0dXJuIHshZ29vZy5tYXRoLkxvbmd9IFRoZSBjb3JyZXNwb25kaW5nIExv
bmcgdmFsdWUuCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5mcm9tU3RyaW5nID0gZnVuY3Rpb24o
c3RyLCBvcHRfcmFkaXgpIHsKLSAgICBpZiAoc3RyLmxlbmd0aCA9PSAwKSB7Ci0gICAgICB0aHJv
dyBFcnJvcignbnVtYmVyIGZvcm1hdCBlcnJvcjogZW1wdHkgc3RyaW5nJyk7Ci0gICAgfQotICAg
IHZhciByYWRpeCA9IG9wdF9yYWRpeCB8fCAxMDsKLSAgICBpZiAocmFkaXggPCAyIHx8IDM2IDwg
cmFkaXgpIHsKLSAgICAgIHRocm93IEVycm9yKCdyYWRpeCBvdXQgb2YgcmFuZ2U6ICcgKyByYWRp
eCk7Ci0gICAgfQotICAgIGlmIChzdHIuY2hhckF0KDApID09ICctJykgewotICAgICAgcmV0dXJu
IGdvb2cubWF0aC5Mb25nLmZyb21TdHJpbmcoc3RyLnN1YnN0cmluZygxKSwgcmFkaXgpLm5lZ2F0
ZSgpOwotICAgIH0gZWxzZSBpZiAoc3RyLmluZGV4T2YoJy0nKSA+PSAwKSB7Ci0gICAgICB0aHJv
dyBFcnJvcignbnVtYmVyIGZvcm1hdCBlcnJvcjogaW50ZXJpb3IgIi0iIGNoYXJhY3RlcjogJyAr
IHN0cik7Ci0gICAgfQotICAgIC8vIERvIHNldmVyYWwgKDgpIGRpZ2l0cyBlYWNoIHRpbWUgdGhy
b3VnaCB0aGUgbG9vcCwgc28gYXMgdG8KLSAgICAvLyBtaW5pbWl6ZSB0aGUgY2FsbHMgdG8gdGhl
IHZlcnkgZXhwZW5zaXZlIGVtdWxhdGVkIGRpdi4KLSAgICB2YXIgcmFkaXhUb1Bvd2VyID0gZ29v
Zy5tYXRoLkxvbmcuZnJvbU51bWJlcihNYXRoLnBvdyhyYWRpeCwgOCkpOwotICAgIHZhciByZXN1
bHQgPSBnb29nLm1hdGguTG9uZy5aRVJPOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxl
bmd0aDsgaSArPSA4KSB7Ci0gICAgICB2YXIgc2l6ZSA9IE1hdGgubWluKDgsIHN0ci5sZW5ndGgg
LSBpKTsKLSAgICAgIHZhciB2YWx1ZSA9IHBhcnNlSW50KHN0ci5zdWJzdHJpbmcoaSwgaSArIHNp
emUpLCByYWRpeCk7Ci0gICAgICBpZiAoc2l6ZSA8IDgpIHsKLSAgICAgICAgdmFyIHBvd2VyID0g
Z29vZy5tYXRoLkxvbmcuZnJvbU51bWJlcihNYXRoLnBvdyhyYWRpeCwgc2l6ZSkpOwotICAgICAg
ICByZXN1bHQgPSByZXN1bHQubXVsdGlwbHkocG93ZXIpLmFkZChnb29nLm1hdGguTG9uZy5mcm9t
TnVtYmVyKHZhbHVlKSk7Ci0gICAgICB9IGVsc2UgewotICAgICAgICByZXN1bHQgPSByZXN1bHQu
bXVsdGlwbHkocmFkaXhUb1Bvd2VyKTsKLSAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmFkZChnb29n
Lm1hdGguTG9uZy5mcm9tTnVtYmVyKHZhbHVlKSk7Ci0gICAgICB9Ci0gICAgfQotICAgIHJldHVy
biByZXN1bHQ7Ci0gIH07Ci0gIC8vIE5PVEU6IHRoZSBjb21waWxlciBzaG91bGQgaW5saW5lIHRo
ZXNlIGNvbnN0YW50IHZhbHVlcyBiZWxvdyBhbmQgdGhlbiByZW1vdmUKLSAgLy8gdGhlc2UgdmFy
aWFibGVzLCBzbyB0aGVyZSBzaG91bGQgYmUgbm8gcnVudGltZSBwZW5hbHR5IGZvciB0aGVzZS4K
LSAgLyoqCi0gICAqIE51bWJlciB1c2VkIHJlcGVhdGVkIGJlbG93IGluIGNhbGN1bGF0aW9ucy4g
IFRoaXMgbXVzdCBhcHBlYXIgYmVmb3JlIHRoZQotICAgKiBmaXJzdCBjYWxsIHRvIGFueSBmcm9t
KiBmdW5jdGlvbiBiZWxvdy4KLSAgICogQHR5cGUge251bWJlcn0KLSAgICogQHByaXZhdGUKLSAg
ICovCi0gIGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMTZfREJMXyA9IDEgPDwgMTY7Ci0gIC8qKgot
ICAgKiBAdHlwZSB7bnVtYmVyfQotICAgKiBAcHJpdmF0ZQotICAgKi8KLSAgZ29vZy5tYXRoLkxv
bmcuVFdPX1BXUl8yNF9EQkxfID0gMSA8PCAyNDsKLSAgLyoqCi0gICAqIEB0eXBlIHtudW1iZXJ9
Ci0gICAqIEBwcml2YXRlCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5UV09fUFdSXzMyX0RCTF8g
PQotICAgICAgZ29vZy5tYXRoLkxvbmcuVFdPX1BXUl8xNl9EQkxfICogZ29vZy5tYXRoLkxvbmcu
VFdPX1BXUl8xNl9EQkxfOwotICAvKioKLSAgICogQHR5cGUge251bWJlcn0KLSAgICogQHByaXZh
dGUKLSAgICovCi0gIGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMzFfREJMXyA9Ci0gICAgICBnb29n
Lm1hdGguTG9uZy5UV09fUFdSXzMyX0RCTF8gLyAyOwotICAvKioKLSAgICogQHR5cGUge251bWJl
cn0KLSAgICogQHByaXZhdGUKLSAgICovCi0gIGdvb2cubWF0aC5Mb25nLlRXT19QV1JfNDhfREJM
XyA9Ci0gICAgICBnb29nLm1hdGguTG9uZy5UV09fUFdSXzMyX0RCTF8gKiBnb29nLm1hdGguTG9u
Zy5UV09fUFdSXzE2X0RCTF87Ci0gIC8qKgotICAgKiBAdHlwZSB7bnVtYmVyfQotICAgKiBAcHJp
dmF0ZQotICAgKi8KLSAgZ29vZy5tYXRoLkxvbmcuVFdPX1BXUl82NF9EQkxfID0KLSAgICAgIGdv
b2cubWF0aC5Mb25nLlRXT19QV1JfMzJfREJMXyAqIGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMzJf
REJMXzsKLSAgLyoqCi0gICAqIEB0eXBlIHtudW1iZXJ9Ci0gICAqIEBwcml2YXRlCi0gICAqLwot
ICBnb29nLm1hdGguTG9uZy5UV09fUFdSXzYzX0RCTF8gPQotICAgICAgZ29vZy5tYXRoLkxvbmcu
VFdPX1BXUl82NF9EQkxfIC8gMjsKLSAgLyoqIEB0eXBlIHshZ29vZy5tYXRoLkxvbmd9ICovCi0g
IGdvb2cubWF0aC5Mb25nLlpFUk8gPSBnb29nLm1hdGguTG9uZy5mcm9tSW50KDApOwotICAvKiog
QHR5cGUgeyFnb29nLm1hdGguTG9uZ30gKi8KLSAgZ29vZy5tYXRoLkxvbmcuT05FID0gZ29vZy5t
YXRoLkxvbmcuZnJvbUludCgxKTsKLSAgLyoqIEB0eXBlIHshZ29vZy5tYXRoLkxvbmd9ICovCi0g
IGdvb2cubWF0aC5Mb25nLk5FR19PTkUgPSBnb29nLm1hdGguTG9uZy5mcm9tSW50KC0xKTsKLSAg
LyoqIEB0eXBlIHshZ29vZy5tYXRoLkxvbmd9ICovCi0gIGdvb2cubWF0aC5Mb25nLk1BWF9WQUxV
RSA9Ci0gICAgICBnb29nLm1hdGguTG9uZy5mcm9tQml0cygweEZGRkZGRkZGIHwgMCwgMHg3RkZG
RkZGRiB8IDApOwotICAvKiogQHR5cGUgeyFnb29nLm1hdGguTG9uZ30gKi8KLSAgZ29vZy5tYXRo
LkxvbmcuTUlOX1ZBTFVFID0gZ29vZy5tYXRoLkxvbmcuZnJvbUJpdHMoMCwgMHg4MDAwMDAwMCB8
IDApOwotICAvKioKLSAgICogQHR5cGUgeyFnb29nLm1hdGguTG9uZ30KLSAgICogQHByaXZhdGUK
LSAgICovCi0gIGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMjRfID0gZ29vZy5tYXRoLkxvbmcuZnJv
bUludCgxIDw8IDI0KTsKLSAgLyoqIEByZXR1cm4ge251bWJlcn0gVGhlIHZhbHVlLCBhc3N1bWlu
ZyBpdCBpcyBhIDMyLWJpdCBpbnRlZ2VyLiAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUu
dG9JbnQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5sb3dfOwotICB9OwotICAvKiog
QHJldHVybiB7bnVtYmVyfSBUaGUgY2xvc2VzdCBmbG9hdGluZy1wb2ludCByZXByZXNlbnRhdGlv
biB0byB0aGlzIHZhbHVlLiAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUudG9OdW1iZXIg
PSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5oaWdoXyAqIGdvb2cubWF0aC5Mb25nLlRX
T19QV1JfMzJfREJMXyArCi0gICAgICAgICAgIHRoaXMuZ2V0TG93Qml0c1Vuc2lnbmVkKCk7Ci0g
IH07Ci0gIC8qKgotICAgKiBAcGFyYW0ge251bWJlcj19IG9wdF9yYWRpeCBUaGUgcmFkaXggaW4g
d2hpY2ggdGhlIHRleHQgc2hvdWxkIGJlIHdyaXR0ZW4uCi0gICAqIEByZXR1cm4ge3N0cmluZ30g
VGhlIHRleHR1YWwgcmVwcmVzZW50YXRpb24gb2YgdGhpcyB2YWx1ZS4KLSAgICovCi0gIGdvb2cu
bWF0aC5Mb25nLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uKG9wdF9yYWRpeCkgewotICAg
IHZhciByYWRpeCA9IG9wdF9yYWRpeCB8fCAxMDsKLSAgICBpZiAocmFkaXggPCAyIHx8IDM2IDwg
cmFkaXgpIHsKLSAgICAgIHRocm93IEVycm9yKCdyYWRpeCBvdXQgb2YgcmFuZ2U6ICcgKyByYWRp
eCk7Ci0gICAgfQotICAgIGlmICh0aGlzLmlzWmVybygpKSB7Ci0gICAgICByZXR1cm4gJzAnOwot
ICAgIH0KLSAgICBpZiAodGhpcy5pc05lZ2F0aXZlKCkpIHsKLSAgICAgIGlmICh0aGlzLmVxdWFs
cyhnb29nLm1hdGguTG9uZy5NSU5fVkFMVUUpKSB7Ci0gICAgICAgIC8vIFdlIG5lZWQgdG8gY2hh
bmdlIHRoZSBMb25nIHZhbHVlIGJlZm9yZSBpdCBjYW4gYmUgbmVnYXRlZCwgc28gd2UgcmVtb3Zl
Ci0gICAgICAgIC8vIHRoZSBib3R0b20tbW9zdCBkaWdpdCBpbiB0aGlzIGJhc2UgYW5kIHRoZW4g
cmVjdXJzZSB0byBkbyB0aGUgcmVzdC4KLSAgICAgICAgdmFyIHJhZGl4TG9uZyA9IGdvb2cubWF0
aC5Mb25nLmZyb21OdW1iZXIocmFkaXgpOwotICAgICAgICB2YXIgZGl2ID0gdGhpcy5kaXYocmFk
aXhMb25nKTsKLSAgICAgICAgdmFyIHJlbSA9IGRpdi5tdWx0aXBseShyYWRpeExvbmcpLnN1YnRy
YWN0KHRoaXMpOwotICAgICAgICByZXR1cm4gZGl2LnRvU3RyaW5nKHJhZGl4KSArIHJlbS50b0lu
dCgpLnRvU3RyaW5nKHJhZGl4KTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldHVybiAnLScg
KyB0aGlzLm5lZ2F0ZSgpLnRvU3RyaW5nKHJhZGl4KTsKLSAgICAgIH0KLSAgICB9Ci0gICAgLy8g
RG8gc2V2ZXJhbCAoNikgZGlnaXRzIGVhY2ggdGltZSB0aHJvdWdoIHRoZSBsb29wLCBzbyBhcyB0
bwotICAgIC8vIG1pbmltaXplIHRoZSBjYWxscyB0byB0aGUgdmVyeSBleHBlbnNpdmUgZW11bGF0
ZWQgZGl2LgotICAgIHZhciByYWRpeFRvUG93ZXIgPSBnb29nLm1hdGguTG9uZy5mcm9tTnVtYmVy
KE1hdGgucG93KHJhZGl4LCA2KSk7Ci0gICAgdmFyIHJlbSA9IHRoaXM7Ci0gICAgdmFyIHJlc3Vs
dCA9ICcnOwotICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICB2YXIgcmVtRGl2ID0gcmVtLmRpdihy
YWRpeFRvUG93ZXIpOwotICAgICAgdmFyIGludHZhbCA9IHJlbS5zdWJ0cmFjdChyZW1EaXYubXVs
dGlwbHkocmFkaXhUb1Bvd2VyKSkudG9JbnQoKTsKLSAgICAgIHZhciBkaWdpdHMgPSBpbnR2YWwu
dG9TdHJpbmcocmFkaXgpOwotICAgICAgcmVtID0gcmVtRGl2OwotICAgICAgaWYgKHJlbS5pc1pl
cm8oKSkgewotICAgICAgICByZXR1cm4gZGlnaXRzICsgcmVzdWx0OwotICAgICAgfSBlbHNlIHsK
LSAgICAgICAgd2hpbGUgKGRpZ2l0cy5sZW5ndGggPCA2KSB7Ci0gICAgICAgICAgZGlnaXRzID0g
JzAnICsgZGlnaXRzOwotICAgICAgICB9Ci0gICAgICAgIHJlc3VsdCA9ICcnICsgZGlnaXRzICsg
cmVzdWx0OwotICAgICAgfQotICAgIH0KLSAgfTsKLSAgLyoqIEByZXR1cm4ge251bWJlcn0gVGhl
IGhpZ2ggMzItYml0cyBhcyBhIHNpZ25lZCB2YWx1ZS4gKi8KLSAgZ29vZy5tYXRoLkxvbmcucHJv
dG90eXBlLmdldEhpZ2hCaXRzID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaGlnaF87
Ci0gIH07Ci0gIC8qKiBAcmV0dXJuIHtudW1iZXJ9IFRoZSBsb3cgMzItYml0cyBhcyBhIHNpZ25l
ZCB2YWx1ZS4gKi8KLSAgZ29vZy5tYXRoLkxvbmcucHJvdG90eXBlLmdldExvd0JpdHMgPSBmdW5j
dGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5sb3dfOwotICB9OwotICAvKiogQHJldHVybiB7bnVt
YmVyfSBUaGUgbG93IDMyLWJpdHMgYXMgYW4gdW5zaWduZWQgdmFsdWUuICovCi0gIGdvb2cubWF0
aC5Mb25nLnByb3RvdHlwZS5nZXRMb3dCaXRzVW5zaWduZWQgPSBmdW5jdGlvbigpIHsKLSAgICBy
ZXR1cm4gKHRoaXMubG93XyA+PSAwKSA/Ci0gICAgICAgIHRoaXMubG93XyA6IGdvb2cubWF0aC5M
b25nLlRXT19QV1JfMzJfREJMXyArIHRoaXMubG93XzsKLSAgfTsKLSAgLyoqCi0gICAqIEByZXR1
cm4ge251bWJlcn0gUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJpdHMgbmVlZGVkIHRvIHJlcHJlc2Vu
dCB0aGUgYWJzb2x1dGUKLSAgICogICAgIHZhbHVlIG9mIHRoaXMgTG9uZy4KLSAgICovCi0gIGdv
b2cubWF0aC5Mb25nLnByb3RvdHlwZS5nZXROdW1CaXRzQWJzID0gZnVuY3Rpb24oKSB7Ci0gICAg
aWYgKHRoaXMuaXNOZWdhdGl2ZSgpKSB7Ci0gICAgICBpZiAodGhpcy5lcXVhbHMoZ29vZy5tYXRo
LkxvbmcuTUlOX1ZBTFVFKSkgewotICAgICAgICByZXR1cm4gNjQ7Ci0gICAgICB9IGVsc2Ugewot
ICAgICAgICByZXR1cm4gdGhpcy5uZWdhdGUoKS5nZXROdW1CaXRzQWJzKCk7Ci0gICAgICB9Ci0g
ICAgfSBlbHNlIHsKLSAgICAgIHZhciB2YWwgPSB0aGlzLmhpZ2hfICE9IDAgPyB0aGlzLmhpZ2hf
IDogdGhpcy5sb3dfOwotICAgICAgZm9yICh2YXIgYml0ID0gMzE7IGJpdCA+IDA7IGJpdC0tKSB7
Ci0gICAgICAgIGlmICgodmFsICYgKDEgPDwgYml0KSkgIT0gMCkgewotICAgICAgICAgIGJyZWFr
OwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdGhpcy5oaWdoXyAhPSAwID8gYml0
ICsgMzMgOiBiaXQgKyAxOwotICAgIH0KLSAgfTsKLSAgLyoqIEByZXR1cm4ge2Jvb2xlYW59IFdo
ZXRoZXIgdGhpcyB2YWx1ZSBpcyB6ZXJvLiAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUu
aXNaZXJvID0gZnVuY3Rpb24oKSB7Ci0gICAgcmV0dXJuIHRoaXMuaGlnaF8gPT0gMCAmJiB0aGlz
Lmxvd18gPT0gMDsKLSAgfTsKLSAgLyoqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhpcyB2
YWx1ZSBpcyBuZWdhdGl2ZS4gKi8KLSAgZ29vZy5tYXRoLkxvbmcucHJvdG90eXBlLmlzTmVnYXRp
dmUgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gdGhpcy5oaWdoXyA8IDA7Ci0gIH07Ci0gIC8q
KiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoaXMgdmFsdWUgaXMgb2RkLiAqLwotICBnb29n
Lm1hdGguTG9uZy5wcm90b3R5cGUuaXNPZGQgPSBmdW5jdGlvbigpIHsKLSAgICByZXR1cm4gKHRo
aXMubG93XyAmIDEpID09IDE7Ci0gIH07Ci0gIC8qKgotICAgKiBAcGFyYW0ge2dvb2cubWF0aC5M
b25nfSBvdGhlciBMb25nIHRvIGNvbXBhcmUgYWdhaW5zdC4KLSAgICogQHJldHVybiB7Ym9vbGVh
bn0gV2hldGhlciB0aGlzIExvbmcgZXF1YWxzIHRoZSBvdGhlci4KLSAgICovCi0gIGdvb2cubWF0
aC5Mb25nLnByb3RvdHlwZS5lcXVhbHMgPSBmdW5jdGlvbihvdGhlcikgewotICAgIHJldHVybiAo
dGhpcy5oaWdoXyA9PSBvdGhlci5oaWdoXykgJiYgKHRoaXMubG93XyA9PSBvdGhlci5sb3dfKTsK
LSAgfTsKLSAgLyoqCi0gICAqIEBwYXJhbSB7Z29vZy5tYXRoLkxvbmd9IG90aGVyIExvbmcgdG8g
Y29tcGFyZSBhZ2FpbnN0LgotICAgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoaXMgTG9u
ZyBkb2VzIG5vdCBlcXVhbCB0aGUgb3RoZXIuCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5wcm90
b3R5cGUubm90RXF1YWxzID0gZnVuY3Rpb24ob3RoZXIpIHsKLSAgICByZXR1cm4gKHRoaXMuaGln
aF8gIT0gb3RoZXIuaGlnaF8pIHx8ICh0aGlzLmxvd18gIT0gb3RoZXIubG93Xyk7Ci0gIH07Ci0g
IC8qKgotICAgKiBAcGFyYW0ge2dvb2cubWF0aC5Mb25nfSBvdGhlciBMb25nIHRvIGNvbXBhcmUg
YWdhaW5zdC4KLSAgICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGlzIExvbmcgaXMgbGVz
cyB0aGFuIHRoZSBvdGhlci4KLSAgICovCi0gIGdvb2cubWF0aC5Mb25nLnByb3RvdHlwZS5sZXNz
VGhhbiA9IGZ1bmN0aW9uKG90aGVyKSB7Ci0gICAgcmV0dXJuIHRoaXMuY29tcGFyZShvdGhlcikg
PCAwOwotICB9OwotICAvKioKLSAgICogQHBhcmFtIHtnb29nLm1hdGguTG9uZ30gb3RoZXIgTG9u
ZyB0byBjb21wYXJlIGFnYWluc3QuCi0gICAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhp
cyBMb25nIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgb3RoZXIuCi0gICAqLwotICBnb29n
Lm1hdGguTG9uZy5wcm90b3R5cGUubGVzc1RoYW5PckVxdWFsID0gZnVuY3Rpb24ob3RoZXIpIHsK
LSAgICByZXR1cm4gdGhpcy5jb21wYXJlKG90aGVyKSA8PSAwOwotICB9OwotICAvKioKLSAgICog
QHBhcmFtIHtnb29nLm1hdGguTG9uZ30gb3RoZXIgTG9uZyB0byBjb21wYXJlIGFnYWluc3QuCi0g
ICAqIEByZXR1cm4ge2Jvb2xlYW59IFdoZXRoZXIgdGhpcyBMb25nIGlzIGdyZWF0ZXIgdGhhbiB0
aGUgb3RoZXIuCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUuZ3JlYXRlclRoYW4g
PSBmdW5jdGlvbihvdGhlcikgewotICAgIHJldHVybiB0aGlzLmNvbXBhcmUob3RoZXIpID4gMDsK
LSAgfTsKLSAgLyoqCi0gICAqIEBwYXJhbSB7Z29vZy5tYXRoLkxvbmd9IG90aGVyIExvbmcgdG8g
Y29tcGFyZSBhZ2FpbnN0LgotICAgKiBAcmV0dXJuIHtib29sZWFufSBXaGV0aGVyIHRoaXMgTG9u
ZyBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIG90aGVyLgotICAgKi8KLSAgZ29vZy5t
YXRoLkxvbmcucHJvdG90eXBlLmdyZWF0ZXJUaGFuT3JFcXVhbCA9IGZ1bmN0aW9uKG90aGVyKSB7
Ci0gICAgcmV0dXJuIHRoaXMuY29tcGFyZShvdGhlcikgPj0gMDsKLSAgfTsKLSAgLyoqCi0gICAq
IENvbXBhcmVzIHRoaXMgTG9uZyB3aXRoIHRoZSBnaXZlbiBvbmUuCi0gICAqIEBwYXJhbSB7Z29v
Zy5tYXRoLkxvbmd9IG90aGVyIExvbmcgdG8gY29tcGFyZSBhZ2FpbnN0LgotICAgKiBAcmV0dXJu
IHtudW1iZXJ9IDAgaWYgdGhleSBhcmUgdGhlIHNhbWUsIDEgaWYgdGhlIHRoaXMgaXMgZ3JlYXRl
ciwgYW5kIC0xCi0gICAqICAgICBpZiB0aGUgZ2l2ZW4gb25lIGlzIGdyZWF0ZXIuCi0gICAqLwot
ICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUuY29tcGFyZSA9IGZ1bmN0aW9uKG90aGVyKSB7Ci0g
ICAgaWYgKHRoaXMuZXF1YWxzKG90aGVyKSkgewotICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICAg
IHZhciB0aGlzTmVnID0gdGhpcy5pc05lZ2F0aXZlKCk7Ci0gICAgdmFyIG90aGVyTmVnID0gb3Ro
ZXIuaXNOZWdhdGl2ZSgpOwotICAgIGlmICh0aGlzTmVnICYmICFvdGhlck5lZykgewotICAgICAg
cmV0dXJuIC0xOwotICAgIH0KLSAgICBpZiAoIXRoaXNOZWcgJiYgb3RoZXJOZWcpIHsKLSAgICAg
IHJldHVybiAxOwotICAgIH0KLSAgICAvLyBhdCB0aGlzIHBvaW50LCB0aGUgc2lnbnMgYXJlIHRo
ZSBzYW1lLCBzbyBzdWJ0cmFjdGlvbiB3aWxsIG5vdCBvdmVyZmxvdwotICAgIGlmICh0aGlzLnN1
YnRyYWN0KG90aGVyKS5pc05lZ2F0aXZlKCkpIHsKLSAgICAgIHJldHVybiAtMTsKLSAgICB9IGVs
c2UgewotICAgICAgcmV0dXJuIDE7Ci0gICAgfQotICB9OwotICAvKiogQHJldHVybiB7IWdvb2cu
bWF0aC5Mb25nfSBUaGUgbmVnYXRpb24gb2YgdGhpcyB2YWx1ZS4gKi8KLSAgZ29vZy5tYXRoLkxv
bmcucHJvdG90eXBlLm5lZ2F0ZSA9IGZ1bmN0aW9uKCkgewotICAgIGlmICh0aGlzLmVxdWFscyhn
b29nLm1hdGguTG9uZy5NSU5fVkFMVUUpKSB7Ci0gICAgICByZXR1cm4gZ29vZy5tYXRoLkxvbmcu
TUlOX1ZBTFVFOwotICAgIH0gZWxzZSB7Ci0gICAgICByZXR1cm4gdGhpcy5ub3QoKS5hZGQoZ29v
Zy5tYXRoLkxvbmcuT05FKTsKLSAgICB9Ci0gIH07Ci0gIC8qKgotICAgKiBSZXR1cm5zIHRoZSBz
dW0gb2YgdGhpcyBhbmQgdGhlIGdpdmVuIExvbmcuCi0gICAqIEBwYXJhbSB7Z29vZy5tYXRoLkxv
bmd9IG90aGVyIExvbmcgdG8gYWRkIHRvIHRoaXMgb25lLgotICAgKiBAcmV0dXJuIHshZ29vZy5t
YXRoLkxvbmd9IFRoZSBzdW0gb2YgdGhpcyBhbmQgdGhlIGdpdmVuIExvbmcuCi0gICAqLwotICBn
b29nLm1hdGguTG9uZy5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24ob3RoZXIpIHsKLSAgICAvLyBE
aXZpZGUgZWFjaCBudW1iZXIgaW50byA0IGNodW5rcyBvZiAxNiBiaXRzLCBhbmQgdGhlbiBzdW0g
dGhlIGNodW5rcy4KLSAgICB2YXIgYTQ4ID0gdGhpcy5oaWdoXyA+Pj4gMTY7Ci0gICAgdmFyIGEz
MiA9IHRoaXMuaGlnaF8gJiAweEZGRkY7Ci0gICAgdmFyIGExNiA9IHRoaXMubG93XyA+Pj4gMTY7
Ci0gICAgdmFyIGEwMCA9IHRoaXMubG93XyAmIDB4RkZGRjsKLSAgICB2YXIgYjQ4ID0gb3RoZXIu
aGlnaF8gPj4+IDE2OwotICAgIHZhciBiMzIgPSBvdGhlci5oaWdoXyAmIDB4RkZGRjsKLSAgICB2
YXIgYjE2ID0gb3RoZXIubG93XyA+Pj4gMTY7Ci0gICAgdmFyIGIwMCA9IG90aGVyLmxvd18gJiAw
eEZGRkY7Ci0gICAgdmFyIGM0OCA9IDAsIGMzMiA9IDAsIGMxNiA9IDAsIGMwMCA9IDA7Ci0gICAg
YzAwICs9IGEwMCArIGIwMDsKLSAgICBjMTYgKz0gYzAwID4+PiAxNjsKLSAgICBjMDAgJj0gMHhG
RkZGOwotICAgIGMxNiArPSBhMTYgKyBiMTY7Ci0gICAgYzMyICs9IGMxNiA+Pj4gMTY7Ci0gICAg
YzE2ICY9IDB4RkZGRjsKLSAgICBjMzIgKz0gYTMyICsgYjMyOwotICAgIGM0OCArPSBjMzIgPj4+
IDE2OwotICAgIGMzMiAmPSAweEZGRkY7Ci0gICAgYzQ4ICs9IGE0OCArIGI0ODsKLSAgICBjNDgg
Jj0gMHhGRkZGOwotICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5mcm9tQml0cygoYzE2IDw8IDE2
KSB8IGMwMCwgKGM0OCA8PCAxNikgfCBjMzIpOwotICB9OwotICAvKioKLSAgICogUmV0dXJucyB0
aGUgZGlmZmVyZW5jZSBvZiB0aGlzIGFuZCB0aGUgZ2l2ZW4gTG9uZy4KLSAgICogQHBhcmFtIHtn
b29nLm1hdGguTG9uZ30gb3RoZXIgTG9uZyB0byBzdWJ0cmFjdCBmcm9tIHRoaXMuCi0gICAqIEBy
ZXR1cm4geyFnb29nLm1hdGguTG9uZ30gVGhlIGRpZmZlcmVuY2Ugb2YgdGhpcyBhbmQgdGhlIGdp
dmVuIExvbmcuCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUuc3VidHJhY3QgPSBm
dW5jdGlvbihvdGhlcikgewotICAgIHJldHVybiB0aGlzLmFkZChvdGhlci5uZWdhdGUoKSk7Ci0g
IH07Ci0gIC8qKgotICAgKiBSZXR1cm5zIHRoZSBwcm9kdWN0IG9mIHRoaXMgYW5kIHRoZSBnaXZl
biBsb25nLgotICAgKiBAcGFyYW0ge2dvb2cubWF0aC5Mb25nfSBvdGhlciBMb25nIHRvIG11bHRp
cGx5IHdpdGggdGhpcy4KLSAgICogQHJldHVybiB7IWdvb2cubWF0aC5Mb25nfSBUaGUgcHJvZHVj
dCBvZiB0aGlzIGFuZCB0aGUgb3RoZXIuCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5
cGUubXVsdGlwbHkgPSBmdW5jdGlvbihvdGhlcikgewotICAgIGlmICh0aGlzLmlzWmVybygpKSB7
Ci0gICAgICByZXR1cm4gZ29vZy5tYXRoLkxvbmcuWkVSTzsKLSAgICB9IGVsc2UgaWYgKG90aGVy
LmlzWmVybygpKSB7Ci0gICAgICByZXR1cm4gZ29vZy5tYXRoLkxvbmcuWkVSTzsKLSAgICB9Ci0g
ICAgaWYgKHRoaXMuZXF1YWxzKGdvb2cubWF0aC5Mb25nLk1JTl9WQUxVRSkpIHsKLSAgICAgIHJl
dHVybiBvdGhlci5pc09kZCgpID8gZ29vZy5tYXRoLkxvbmcuTUlOX1ZBTFVFIDogZ29vZy5tYXRo
LkxvbmcuWkVSTzsKLSAgICB9IGVsc2UgaWYgKG90aGVyLmVxdWFscyhnb29nLm1hdGguTG9uZy5N
SU5fVkFMVUUpKSB7Ci0gICAgICByZXR1cm4gdGhpcy5pc09kZCgpID8gZ29vZy5tYXRoLkxvbmcu
TUlOX1ZBTFVFIDogZ29vZy5tYXRoLkxvbmcuWkVSTzsKLSAgICB9Ci0gICAgaWYgKHRoaXMuaXNO
ZWdhdGl2ZSgpKSB7Ci0gICAgICBpZiAob3RoZXIuaXNOZWdhdGl2ZSgpKSB7Ci0gICAgICAgIHJl
dHVybiB0aGlzLm5lZ2F0ZSgpLm11bHRpcGx5KG90aGVyLm5lZ2F0ZSgpKTsKLSAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgIHJldHVybiB0aGlzLm5lZ2F0ZSgpLm11bHRpcGx5KG90aGVyKS5uZWdhdGUo
KTsKLSAgICAgIH0KLSAgICB9IGVsc2UgaWYgKG90aGVyLmlzTmVnYXRpdmUoKSkgewotICAgICAg
cmV0dXJuIHRoaXMubXVsdGlwbHkob3RoZXIubmVnYXRlKCkpLm5lZ2F0ZSgpOwotICAgIH0KLSAg
ICAvLyBJZiBib3RoIGxvbmdzIGFyZSBzbWFsbCwgdXNlIGZsb2F0IG11bHRpcGxpY2F0aW9uCi0g
ICAgaWYgKHRoaXMubGVzc1RoYW4oZ29vZy5tYXRoLkxvbmcuVFdPX1BXUl8yNF8pICYmCi0gICAg
ICAgIG90aGVyLmxlc3NUaGFuKGdvb2cubWF0aC5Mb25nLlRXT19QV1JfMjRfKSkgewotICAgICAg
cmV0dXJuIGdvb2cubWF0aC5Mb25nLmZyb21OdW1iZXIodGhpcy50b051bWJlcigpICogb3RoZXIu
dG9OdW1iZXIoKSk7Ci0gICAgfQotICAgIC8vIERpdmlkZSBlYWNoIGxvbmcgaW50byA0IGNodW5r
cyBvZiAxNiBiaXRzLCBhbmQgdGhlbiBhZGQgdXAgNHg0IHByb2R1Y3RzLgotICAgIC8vIFdlIGNh
biBza2lwIHByb2R1Y3RzIHRoYXQgd291bGQgb3ZlcmZsb3cuCi0gICAgdmFyIGE0OCA9IHRoaXMu
aGlnaF8gPj4+IDE2OwotICAgIHZhciBhMzIgPSB0aGlzLmhpZ2hfICYgMHhGRkZGOwotICAgIHZh
ciBhMTYgPSB0aGlzLmxvd18gPj4+IDE2OwotICAgIHZhciBhMDAgPSB0aGlzLmxvd18gJiAweEZG
RkY7Ci0gICAgdmFyIGI0OCA9IG90aGVyLmhpZ2hfID4+PiAxNjsKLSAgICB2YXIgYjMyID0gb3Ro
ZXIuaGlnaF8gJiAweEZGRkY7Ci0gICAgdmFyIGIxNiA9IG90aGVyLmxvd18gPj4+IDE2OwotICAg
IHZhciBiMDAgPSBvdGhlci5sb3dfICYgMHhGRkZGOwotICAgIHZhciBjNDggPSAwLCBjMzIgPSAw
LCBjMTYgPSAwLCBjMDAgPSAwOwotICAgIGMwMCArPSBhMDAgKiBiMDA7Ci0gICAgYzE2ICs9IGMw
MCA+Pj4gMTY7Ci0gICAgYzAwICY9IDB4RkZGRjsKLSAgICBjMTYgKz0gYTE2ICogYjAwOwotICAg
IGMzMiArPSBjMTYgPj4+IDE2OwotICAgIGMxNiAmPSAweEZGRkY7Ci0gICAgYzE2ICs9IGEwMCAq
IGIxNjsKLSAgICBjMzIgKz0gYzE2ID4+PiAxNjsKLSAgICBjMTYgJj0gMHhGRkZGOwotICAgIGMz
MiArPSBhMzIgKiBiMDA7Ci0gICAgYzQ4ICs9IGMzMiA+Pj4gMTY7Ci0gICAgYzMyICY9IDB4RkZG
RjsKLSAgICBjMzIgKz0gYTE2ICogYjE2OwotICAgIGM0OCArPSBjMzIgPj4+IDE2OwotICAgIGMz
MiAmPSAweEZGRkY7Ci0gICAgYzMyICs9IGEwMCAqIGIzMjsKLSAgICBjNDggKz0gYzMyID4+PiAx
NjsKLSAgICBjMzIgJj0gMHhGRkZGOwotICAgIGM0OCArPSBhNDggKiBiMDAgKyBhMzIgKiBiMTYg
KyBhMTYgKiBiMzIgKyBhMDAgKiBiNDg7Ci0gICAgYzQ4ICY9IDB4RkZGRjsKLSAgICByZXR1cm4g
Z29vZy5tYXRoLkxvbmcuZnJvbUJpdHMoKGMxNiA8PCAxNikgfCBjMDAsIChjNDggPDwgMTYpIHwg
YzMyKTsKLSAgfTsKLSAgLyoqCi0gICAqIFJldHVybnMgdGhpcyBMb25nIGRpdmlkZWQgYnkgdGhl
IGdpdmVuIG9uZS4KLSAgICogQHBhcmFtIHtnb29nLm1hdGguTG9uZ30gb3RoZXIgTG9uZyBieSB3
aGljaCB0byBkaXZpZGUuCi0gICAqIEByZXR1cm4geyFnb29nLm1hdGguTG9uZ30gVGhpcyBMb25n
IGRpdmlkZWQgYnkgdGhlIGdpdmVuIG9uZS4KLSAgICovCi0gIGdvb2cubWF0aC5Mb25nLnByb3Rv
dHlwZS5kaXYgPSBmdW5jdGlvbihvdGhlcikgewotICAgIGlmIChvdGhlci5pc1plcm8oKSkgewot
ICAgICAgdGhyb3cgRXJyb3IoJ2RpdmlzaW9uIGJ5IHplcm8nKTsKLSAgICB9IGVsc2UgaWYgKHRo
aXMuaXNaZXJvKCkpIHsKLSAgICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5aRVJPOwotICAgIH0K
LSAgICBpZiAodGhpcy5lcXVhbHMoZ29vZy5tYXRoLkxvbmcuTUlOX1ZBTFVFKSkgewotICAgICAg
aWYgKG90aGVyLmVxdWFscyhnb29nLm1hdGguTG9uZy5PTkUpIHx8Ci0gICAgICAgICAgb3RoZXIu
ZXF1YWxzKGdvb2cubWF0aC5Mb25nLk5FR19PTkUpKSB7Ci0gICAgICAgIHJldHVybiBnb29nLm1h
dGguTG9uZy5NSU5fVkFMVUU7ICAvLyByZWNhbGwgdGhhdCAtTUlOX1ZBTFVFID09IE1JTl9WQUxV
RQotICAgICAgfSBlbHNlIGlmIChvdGhlci5lcXVhbHMoZ29vZy5tYXRoLkxvbmcuTUlOX1ZBTFVF
KSkgewotICAgICAgICByZXR1cm4gZ29vZy5tYXRoLkxvbmcuT05FOwotICAgICAgfSBlbHNlIHsK
LSAgICAgICAgLy8gQXQgdGhpcyBwb2ludCwgd2UgaGF2ZSB8b3RoZXJ8ID49IDIsIHNvIHx0aGlz
L290aGVyfCA8IHxNSU5fVkFMVUV8LgotICAgICAgICB2YXIgaGFsZlRoaXMgPSB0aGlzLnNoaWZ0
UmlnaHQoMSk7Ci0gICAgICAgIHZhciBhcHByb3ggPSBoYWxmVGhpcy5kaXYob3RoZXIpLnNoaWZ0
TGVmdCgxKTsKLSAgICAgICAgaWYgKGFwcHJveC5lcXVhbHMoZ29vZy5tYXRoLkxvbmcuWkVSTykp
IHsKLSAgICAgICAgICByZXR1cm4gb3RoZXIuaXNOZWdhdGl2ZSgpID8gZ29vZy5tYXRoLkxvbmcu
T05FIDogZ29vZy5tYXRoLkxvbmcuTkVHX09ORTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICB2YXIgcmVtID0gdGhpcy5zdWJ0cmFjdChvdGhlci5tdWx0aXBseShhcHByb3gpKTsKLSAgICAg
ICAgICB2YXIgcmVzdWx0ID0gYXBwcm94LmFkZChyZW0uZGl2KG90aGVyKSk7Ci0gICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKLSAgICAgICAgfQotICAgICAgfQotICAgIH0gZWxzZSBpZiAob3RoZXIu
ZXF1YWxzKGdvb2cubWF0aC5Mb25nLk1JTl9WQUxVRSkpIHsKLSAgICAgIHJldHVybiBnb29nLm1h
dGguTG9uZy5aRVJPOwotICAgIH0KLSAgICBpZiAodGhpcy5pc05lZ2F0aXZlKCkpIHsKLSAgICAg
IGlmIChvdGhlci5pc05lZ2F0aXZlKCkpIHsKLSAgICAgICAgcmV0dXJuIHRoaXMubmVnYXRlKCku
ZGl2KG90aGVyLm5lZ2F0ZSgpKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldHVybiB0aGlz
Lm5lZ2F0ZSgpLmRpdihvdGhlcikubmVnYXRlKCk7Ci0gICAgICB9Ci0gICAgfSBlbHNlIGlmIChv
dGhlci5pc05lZ2F0aXZlKCkpIHsKLSAgICAgIHJldHVybiB0aGlzLmRpdihvdGhlci5uZWdhdGUo
KSkubmVnYXRlKCk7Ci0gICAgfQotICAgIC8vIFJlcGVhdCB0aGUgZm9sbG93aW5nIHVudGlsIHRo
ZSByZW1haW5kZXIgaXMgbGVzcyB0aGFuIG90aGVyOiAgZmluZCBhCi0gICAgLy8gZmxvYXRpbmct
cG9pbnQgdGhhdCBhcHByb3hpbWF0ZXMgcmVtYWluZGVyIC8gb3RoZXIgKmZyb20gYmVsb3cqLCBh
ZGQgdGhpcwotICAgIC8vIGludG8gdGhlIHJlc3VsdCwgYW5kIHN1YnRyYWN0IGl0IGZyb20gdGhl
IHJlbWFpbmRlci4gIEl0IGlzIGNyaXRpY2FsIHRoYXQKLSAgICAvLyB0aGUgYXBwcm94aW1hdGUg
dmFsdWUgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSByZWFsIHZhbHVlIHNvIHRoYXQgdGhl
Ci0gICAgLy8gcmVtYWluZGVyIG5ldmVyIGJlY29tZXMgbmVnYXRpdmUuCi0gICAgdmFyIHJlcyA9
IGdvb2cubWF0aC5Mb25nLlpFUk87Ci0gICAgdmFyIHJlbSA9IHRoaXM7Ci0gICAgd2hpbGUgKHJl
bS5ncmVhdGVyVGhhbk9yRXF1YWwob3RoZXIpKSB7Ci0gICAgICAvLyBBcHByb3hpbWF0ZSB0aGUg
cmVzdWx0IG9mIGRpdmlzaW9uLiBUaGlzIG1heSBiZSBhIGxpdHRsZSBncmVhdGVyIG9yCi0gICAg
ICAvLyBzbWFsbGVyIHRoYW4gdGhlIGFjdHVhbCB2YWx1ZS4KLSAgICAgIHZhciBhcHByb3ggPSBN
YXRoLm1heCgxLCBNYXRoLmZsb29yKHJlbS50b051bWJlcigpIC8gb3RoZXIudG9OdW1iZXIoKSkp
OwotICAgICAgLy8gV2Ugd2lsbCB0d2VhayB0aGUgYXBwcm94aW1hdGUgcmVzdWx0IGJ5IGNoYW5n
aW5nIGl0IGluIHRoZSA0OC10aCBkaWdpdCBvcgotICAgICAgLy8gdGhlIHNtYWxsZXN0IG5vbi1m
cmFjdGlvbmFsIGRpZ2l0LCB3aGljaGV2ZXIgaXMgbGFyZ2VyLgotICAgICAgdmFyIGxvZzIgPSBN
YXRoLmNlaWwoTWF0aC5sb2coYXBwcm94KSAvIE1hdGguTE4yKTsKLSAgICAgIHZhciBkZWx0YSA9
IChsb2cyIDw9IDQ4KSA/IDEgOiBNYXRoLnBvdygyLCBsb2cyIC0gNDgpOwotICAgICAgLy8gRGVj
cmVhc2UgdGhlIGFwcHJveGltYXRpb24gdW50aWwgaXQgaXMgc21hbGxlciB0aGFuIHRoZSByZW1h
aW5kZXIuICBOb3RlCi0gICAgICAvLyB0aGF0IGlmIGl0IGlzIHRvbyBsYXJnZSwgdGhlIHByb2R1
Y3Qgb3ZlcmZsb3dzIGFuZCBpcyBuZWdhdGl2ZS4KLSAgICAgIHZhciBhcHByb3hSZXMgPSBnb29n
Lm1hdGguTG9uZy5mcm9tTnVtYmVyKGFwcHJveCk7Ci0gICAgICB2YXIgYXBwcm94UmVtID0gYXBw
cm94UmVzLm11bHRpcGx5KG90aGVyKTsKLSAgICAgIHdoaWxlIChhcHByb3hSZW0uaXNOZWdhdGl2
ZSgpIHx8IGFwcHJveFJlbS5ncmVhdGVyVGhhbihyZW0pKSB7Ci0gICAgICAgIGFwcHJveCAtPSBk
ZWx0YTsKLSAgICAgICAgYXBwcm94UmVzID0gZ29vZy5tYXRoLkxvbmcuZnJvbU51bWJlcihhcHBy
b3gpOwotICAgICAgICBhcHByb3hSZW0gPSBhcHByb3hSZXMubXVsdGlwbHkob3RoZXIpOwotICAg
ICAgfQotICAgICAgLy8gV2Uga25vdyB0aGUgYW5zd2VyIGNhbid0IGJlIHplcm8uLi4gYW5kIGFj
dHVhbGx5LCB6ZXJvIHdvdWxkIGNhdXNlCi0gICAgICAvLyBpbmZpbml0ZSByZWN1cnNpb24gc2lu
Y2Ugd2Ugd291bGQgbWFrZSBubyBwcm9ncmVzcy4KLSAgICAgIGlmIChhcHByb3hSZXMuaXNaZXJv
KCkpIHsKLSAgICAgICAgYXBwcm94UmVzID0gZ29vZy5tYXRoLkxvbmcuT05FOwotICAgICAgfQot
ICAgICAgcmVzID0gcmVzLmFkZChhcHByb3hSZXMpOwotICAgICAgcmVtID0gcmVtLnN1YnRyYWN0
KGFwcHJveFJlbSk7Ci0gICAgfQotICAgIHJldHVybiByZXM7Ci0gIH07Ci0gIC8qKgotICAgKiBS
ZXR1cm5zIHRoaXMgTG9uZyBtb2R1bG8gdGhlIGdpdmVuIG9uZS4KLSAgICogQHBhcmFtIHtnb29n
Lm1hdGguTG9uZ30gb3RoZXIgTG9uZyBieSB3aGljaCB0byBtb2QuCi0gICAqIEByZXR1cm4geyFn
b29nLm1hdGguTG9uZ30gVGhpcyBMb25nIG1vZHVsbyB0aGUgZ2l2ZW4gb25lLgotICAgKi8KLSAg
Z29vZy5tYXRoLkxvbmcucHJvdG90eXBlLm1vZHVsbyA9IGZ1bmN0aW9uKG90aGVyKSB7Ci0gICAg
cmV0dXJuIHRoaXMuc3VidHJhY3QodGhpcy5kaXYob3RoZXIpLm11bHRpcGx5KG90aGVyKSk7Ci0g
IH07Ci0gIC8qKiBAcmV0dXJuIHshZ29vZy5tYXRoLkxvbmd9IFRoZSBiaXR3aXNlLU5PVCBvZiB0
aGlzIHZhbHVlLiAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUubm90ID0gZnVuY3Rpb24o
KSB7Ci0gICAgcmV0dXJuIGdvb2cubWF0aC5Mb25nLmZyb21CaXRzKH50aGlzLmxvd18sIH50aGlz
LmhpZ2hfKTsKLSAgfTsKLSAgLyoqCi0gICAqIFJldHVybnMgdGhlIGJpdHdpc2UtQU5EIG9mIHRo
aXMgTG9uZyBhbmQgdGhlIGdpdmVuIG9uZS4KLSAgICogQHBhcmFtIHtnb29nLm1hdGguTG9uZ30g
b3RoZXIgVGhlIExvbmcgd2l0aCB3aGljaCB0byBBTkQuCi0gICAqIEByZXR1cm4geyFnb29nLm1h
dGguTG9uZ30gVGhlIGJpdHdpc2UtQU5EIG9mIHRoaXMgYW5kIHRoZSBvdGhlci4KLSAgICovCi0g
IGdvb2cubWF0aC5Mb25nLnByb3RvdHlwZS5hbmQgPSBmdW5jdGlvbihvdGhlcikgewotICAgIHJl
dHVybiBnb29nLm1hdGguTG9uZy5mcm9tQml0cyh0aGlzLmxvd18gJiBvdGhlci5sb3dfLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZ2hfICYgb3RoZXIuaGlnaF8p
OwotICB9OwotICAvKioKLSAgICogUmV0dXJucyB0aGUgYml0d2lzZS1PUiBvZiB0aGlzIExvbmcg
YW5kIHRoZSBnaXZlbiBvbmUuCi0gICAqIEBwYXJhbSB7Z29vZy5tYXRoLkxvbmd9IG90aGVyIFRo
ZSBMb25nIHdpdGggd2hpY2ggdG8gT1IuCi0gICAqIEByZXR1cm4geyFnb29nLm1hdGguTG9uZ30g
VGhlIGJpdHdpc2UtT1Igb2YgdGhpcyBhbmQgdGhlIG90aGVyLgotICAgKi8KLSAgZ29vZy5tYXRo
LkxvbmcucHJvdG90eXBlLm9yID0gZnVuY3Rpb24ob3RoZXIpIHsKLSAgICByZXR1cm4gZ29vZy5t
YXRoLkxvbmcuZnJvbUJpdHModGhpcy5sb3dfIHwgb3RoZXIubG93XywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWdoXyB8IG90aGVyLmhpZ2hfKTsKLSAgfTsKLSAg
LyoqCi0gICAqIFJldHVybnMgdGhlIGJpdHdpc2UtWE9SIG9mIHRoaXMgTG9uZyBhbmQgdGhlIGdp
dmVuIG9uZS4KLSAgICogQHBhcmFtIHtnb29nLm1hdGguTG9uZ30gb3RoZXIgVGhlIExvbmcgd2l0
aCB3aGljaCB0byBYT1IuCi0gICAqIEByZXR1cm4geyFnb29nLm1hdGguTG9uZ30gVGhlIGJpdHdp
c2UtWE9SIG9mIHRoaXMgYW5kIHRoZSBvdGhlci4KLSAgICovCi0gIGdvb2cubWF0aC5Mb25nLnBy
b3RvdHlwZS54b3IgPSBmdW5jdGlvbihvdGhlcikgewotICAgIHJldHVybiBnb29nLm1hdGguTG9u
Zy5mcm9tQml0cyh0aGlzLmxvd18gXiBvdGhlci5sb3dfLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0aGlzLmhpZ2hfIF4gb3RoZXIuaGlnaF8pOwotICB9OwotICAvKioKLSAg
ICogUmV0dXJucyB0aGlzIExvbmcgd2l0aCBiaXRzIHNoaWZ0ZWQgdG8gdGhlIGxlZnQgYnkgdGhl
IGdpdmVuIGFtb3VudC4KLSAgICogQHBhcmFtIHtudW1iZXJ9IG51bUJpdHMgVGhlIG51bWJlciBv
ZiBiaXRzIGJ5IHdoaWNoIHRvIHNoaWZ0LgotICAgKiBAcmV0dXJuIHshZ29vZy5tYXRoLkxvbmd9
IFRoaXMgc2hpZnRlZCB0byB0aGUgbGVmdCBieSB0aGUgZ2l2ZW4gYW1vdW50LgotICAgKi8KLSAg
Z29vZy5tYXRoLkxvbmcucHJvdG90eXBlLnNoaWZ0TGVmdCA9IGZ1bmN0aW9uKG51bUJpdHMpIHsK
LSAgICBudW1CaXRzICY9IDYzOwotICAgIGlmIChudW1CaXRzID09IDApIHsKLSAgICAgIHJldHVy
biB0aGlzOwotICAgIH0gZWxzZSB7Ci0gICAgICB2YXIgbG93ID0gdGhpcy5sb3dfOwotICAgICAg
aWYgKG51bUJpdHMgPCAzMikgewotICAgICAgICB2YXIgaGlnaCA9IHRoaXMuaGlnaF87Ci0gICAg
ICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5mcm9tQml0cygKLSAgICAgICAgICAgIGxvdyA8PCBu
dW1CaXRzLAotICAgICAgICAgICAgKGhpZ2ggPDwgbnVtQml0cykgfCAobG93ID4+PiAoMzIgLSBu
dW1CaXRzKSkpOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgcmV0dXJuIGdvb2cubWF0aC5Mb25n
LmZyb21CaXRzKDAsIGxvdyA8PCAobnVtQml0cyAtIDMyKSk7Ci0gICAgICB9Ci0gICAgfQotICB9
OwotICAvKioKLSAgICogUmV0dXJucyB0aGlzIExvbmcgd2l0aCBiaXRzIHNoaWZ0ZWQgdG8gdGhl
IHJpZ2h0IGJ5IHRoZSBnaXZlbiBhbW91bnQuCi0gICAqIEBwYXJhbSB7bnVtYmVyfSBudW1CaXRz
IFRoZSBudW1iZXIgb2YgYml0cyBieSB3aGljaCB0byBzaGlmdC4KLSAgICogQHJldHVybiB7IWdv
b2cubWF0aC5Mb25nfSBUaGlzIHNoaWZ0ZWQgdG8gdGhlIHJpZ2h0IGJ5IHRoZSBnaXZlbiBhbW91
bnQuCi0gICAqLwotICBnb29nLm1hdGguTG9uZy5wcm90b3R5cGUuc2hpZnRSaWdodCA9IGZ1bmN0
aW9uKG51bUJpdHMpIHsKLSAgICBudW1CaXRzICY9IDYzOwotICAgIGlmIChudW1CaXRzID09IDAp
IHsKLSAgICAgIHJldHVybiB0aGlzOwotICAgIH0gZWxzZSB7Ci0gICAgICB2YXIgaGlnaCA9IHRo
aXMuaGlnaF87Ci0gICAgICBpZiAobnVtQml0cyA8IDMyKSB7Ci0gICAgICAgIHZhciBsb3cgPSB0
aGlzLmxvd187Ci0gICAgICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5mcm9tQml0cygKLSAgICAg
ICAgICAgIChsb3cgPj4+IG51bUJpdHMpIHwgKGhpZ2ggPDwgKDMyIC0gbnVtQml0cykpLAotICAg
ICAgICAgICAgaGlnaCA+PiBudW1CaXRzKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldHVy
biBnb29nLm1hdGguTG9uZy5mcm9tQml0cygKLSAgICAgICAgICAgIGhpZ2ggPj4gKG51bUJpdHMg
LSAzMiksCi0gICAgICAgICAgICBoaWdoID49IDAgPyAwIDogLTEpOwotICAgICAgfQotICAgIH0K
LSAgfTsKLSAgLyoqCi0gICAqIFJldHVybnMgdGhpcyBMb25nIHdpdGggYml0cyBzaGlmdGVkIHRv
IHRoZSByaWdodCBieSB0aGUgZ2l2ZW4gYW1vdW50LCB3aXRoCi0gICAqIHRoZSBuZXcgdG9wIGJp
dHMgbWF0Y2hpbmcgdGhlIGN1cnJlbnQgc2lnbiBiaXQuCi0gICAqIEBwYXJhbSB7bnVtYmVyfSBu
dW1CaXRzIFRoZSBudW1iZXIgb2YgYml0cyBieSB3aGljaCB0byBzaGlmdC4KLSAgICogQHJldHVy
biB7IWdvb2cubWF0aC5Mb25nfSBUaGlzIHNoaWZ0ZWQgdG8gdGhlIHJpZ2h0IGJ5IHRoZSBnaXZl
biBhbW91bnQsIHdpdGgKLSAgICogICAgIHplcm9zIHBsYWNlZCBpbnRvIHRoZSBuZXcgbGVhZGlu
ZyBiaXRzLgotICAgKi8KLSAgZ29vZy5tYXRoLkxvbmcucHJvdG90eXBlLnNoaWZ0UmlnaHRVbnNp
Z25lZCA9IGZ1bmN0aW9uKG51bUJpdHMpIHsKLSAgICBudW1CaXRzICY9IDYzOwotICAgIGlmIChu
dW1CaXRzID09IDApIHsKLSAgICAgIHJldHVybiB0aGlzOwotICAgIH0gZWxzZSB7Ci0gICAgICB2
YXIgaGlnaCA9IHRoaXMuaGlnaF87Ci0gICAgICBpZiAobnVtQml0cyA8IDMyKSB7Ci0gICAgICAg
IHZhciBsb3cgPSB0aGlzLmxvd187Ci0gICAgICAgIHJldHVybiBnb29nLm1hdGguTG9uZy5mcm9t
Qml0cygKLSAgICAgICAgICAgIChsb3cgPj4+IG51bUJpdHMpIHwgKGhpZ2ggPDwgKDMyIC0gbnVt
Qml0cykpLAotICAgICAgICAgICAgaGlnaCA+Pj4gbnVtQml0cyk7Ci0gICAgICB9IGVsc2UgaWYg
KG51bUJpdHMgPT0gMzIpIHsKLSAgICAgICAgcmV0dXJuIGdvb2cubWF0aC5Mb25nLmZyb21CaXRz
KGhpZ2gsIDApOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgcmV0dXJuIGdvb2cubWF0aC5Mb25n
LmZyb21CaXRzKGhpZ2ggPj4+IChudW1CaXRzIC0gMzIpLCAwKTsKLSAgICAgIH0KLSAgICB9Ci0g
IH07Ci0gIC8vPT09PT09PSBiZWdpbiBqc2JuID09PT09PT0KLSAgdmFyIG5hdmlnYXRvciA9IHsg
YXBwTmFtZTogJ01vZGVybiBCcm93c2VyJyB9OyAvLyBwb2x5ZmlsbCBhIGxpdHRsZQotICAvLyBD
b3B5cmlnaHQgKGMpIDIwMDUgIFRvbSBXdQotICAvLyBBbGwgUmlnaHRzIFJlc2VydmVkLgotICAv
LyBodHRwOi8vd3d3LWNzLXN0dWRlbnRzLnN0YW5mb3JkLmVkdS9+dGp3L2pzYm4vCi0gIC8qCi0g
ICAqIENvcHlyaWdodCAoYykgMjAwMy0yMDA1ICBUb20gV3UKLSAgICogQWxsIFJpZ2h0cyBSZXNl
cnZlZC4KLSAgICoKLSAgICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj
aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nCi0gICAqIGEgY29weSBvZiB0aGlzIHNvZnR3
YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQotICAgKiAiU29mdHdh
cmUiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCi0gICAqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k
aWZ5LCBtZXJnZSwgcHVibGlzaCwKLSAgICogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29y
IHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvCi0gICAqIHBlcm1pdCBwZXJzb25z
IHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwot
ICAgKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Ci0gICAqCi0gICAqIFRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlCi0gICAqIGlu
Y2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3
YXJlLgotICAgKgotICAgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTLUlTIiBBTkQgV0lU
SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgCi0gICAqIEVYUFJFU1MsIElNUExJRUQgT1IgT1RI
RVJXSVNFLCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OLCBBTlkgCi0gICAqIFdBUlJBTlRZ
IE9GIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IAotICAgKgotICAgKiBJTiBOTyBFVkVOVCBTSEFMTCBUT00gV1UgQkUgTElBQkxFIEZPUiBBTlkg
U1BFQ0lBTCwgSU5DSURFTlRBTCwKLSAgICogSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIE9GIEFOWSBLSU5ELCBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSCi0gICAqIFJFU1VMVElO
RyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgT1IgTk9UIEFEVklT
RUQgT0YKLSAgICogVEhFIFBPU1NJQklMSVRZIE9GIERBTUFHRSwgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBBUklTSU5HIE9VVAotICAgKiBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgotICAgKgotICAgKiBJbiBh
ZGRpdGlvbiwgdGhlIGZvbGxvd2luZyBjb25kaXRpb24gYXBwbGllczoKLSAgICoKLSAgICogQWxs
IHJlZGlzdHJpYnV0aW9ucyBtdXN0IHJldGFpbiBhbiBpbnRhY3QgY29weSBvZiB0aGlzIGNvcHly
aWdodCBub3RpY2UKLSAgICogYW5kIGRpc2NsYWltZXIuCi0gICAqLwotICAvLyBCYXNpYyBKYXZh
U2NyaXB0IEJOIGxpYnJhcnkgLSBzdWJzZXQgdXNlZnVsIGZvciBSU0EgZW5jcnlwdGlvbi4KLSAg
Ly8gQml0cyBwZXIgZGlnaXQKLSAgdmFyIGRiaXRzOwotICAvLyBKYXZhU2NyaXB0IGVuZ2luZSBh
bmFseXNpcwotICB2YXIgY2FuYXJ5ID0gMHhkZWFkYmVlZmNhZmU7Ci0gIHZhciBqX2xtID0gKChj
YW5hcnkmMHhmZmZmZmYpPT0weGVmY2FmZSk7Ci0gIC8vIChwdWJsaWMpIENvbnN0cnVjdG9yCi0g
IGZ1bmN0aW9uIEJpZ0ludGVnZXIoYSxiLGMpIHsKLSAgICBpZihhICE9IG51bGwpCi0gICAgICBp
ZigibnVtYmVyIiA9PSB0eXBlb2YgYSkgdGhpcy5mcm9tTnVtYmVyKGEsYixjKTsKLSAgICAgIGVs
c2UgaWYoYiA9PSBudWxsICYmICJzdHJpbmciICE9IHR5cGVvZiBhKSB0aGlzLmZyb21TdHJpbmco
YSwyNTYpOwotICAgICAgZWxzZSB0aGlzLmZyb21TdHJpbmcoYSxiKTsKLSAgfQotICAvLyByZXR1
cm4gbmV3LCB1bnNldCBCaWdJbnRlZ2VyCi0gIGZ1bmN0aW9uIG5iaSgpIHsgcmV0dXJuIG5ldyBC
aWdJbnRlZ2VyKG51bGwpOyB9Ci0gIC8vIGFtOiBDb21wdXRlIHdfaiArPSAoeCp0aGlzX2kpLCBw
cm9wYWdhdGUgY2FycmllcywKLSAgLy8gYyBpcyBpbml0aWFsIGNhcnJ5LCByZXR1cm5zIGZpbmFs
IGNhcnJ5LgotICAvLyBjIDwgMypkdmFsdWUsIHggPCAyKmR2YWx1ZSwgdGhpc19pIDwgZHZhbHVl
Ci0gIC8vIFdlIG5lZWQgdG8gc2VsZWN0IHRoZSBmYXN0ZXN0IG9uZSB0aGF0IHdvcmtzIGluIHRo
aXMgZW52aXJvbm1lbnQuCi0gIC8vIGFtMTogdXNlIGEgc2luZ2xlIG11bHQgYW5kIGRpdmlkZSB0
byBnZXQgdGhlIGhpZ2ggYml0cywKLSAgLy8gbWF4IGRpZ2l0IGJpdHMgc2hvdWxkIGJlIDI2IGJl
Y2F1c2UKLSAgLy8gbWF4IGludGVybmFsIHZhbHVlID0gMipkdmFsdWVeMi0yKmR2YWx1ZSAoPCAy
XjUzKQotICBmdW5jdGlvbiBhbTEoaSx4LHcsaixjLG4pIHsKLSAgICB3aGlsZSgtLW4gPj0gMCkg
ewotICAgICAgdmFyIHYgPSB4KnRoaXNbaSsrXSt3W2pdK2M7Ci0gICAgICBjID0gTWF0aC5mbG9v
cih2LzB4NDAwMDAwMCk7Ci0gICAgICB3W2orK10gPSB2JjB4M2ZmZmZmZjsKLSAgICB9Ci0gICAg
cmV0dXJuIGM7Ci0gIH0KLSAgLy8gYW0yIGF2b2lkcyBhIGJpZyBtdWx0LWFuZC1leHRyYWN0IGNv
bXBsZXRlbHkuCi0gIC8vIE1heCBkaWdpdCBiaXRzIHNob3VsZCBiZSA8PSAzMCBiZWNhdXNlIHdl
IGRvIGJpdHdpc2Ugb3BzCi0gIC8vIG9uIHZhbHVlcyB1cCB0byAyKmhkdmFsdWVeMi1oZHZhbHVl
LTEgKDwgMl4zMSkKLSAgZnVuY3Rpb24gYW0yKGkseCx3LGosYyxuKSB7Ci0gICAgdmFyIHhsID0g
eCYweDdmZmYsIHhoID0geD4+MTU7Ci0gICAgd2hpbGUoLS1uID49IDApIHsKLSAgICAgIHZhciBs
ID0gdGhpc1tpXSYweDdmZmY7Ci0gICAgICB2YXIgaCA9IHRoaXNbaSsrXT4+MTU7Ci0gICAgICB2
YXIgbSA9IHhoKmwraCp4bDsKLSAgICAgIGwgPSB4bCpsKygobSYweDdmZmYpPDwxNSkrd1tqXSso
YyYweDNmZmZmZmZmKTsKLSAgICAgIGMgPSAobD4+PjMwKSsobT4+PjE1KSt4aCpoKyhjPj4+MzAp
OwotICAgICAgd1tqKytdID0gbCYweDNmZmZmZmZmOwotICAgIH0KLSAgICByZXR1cm4gYzsKLSAg
fQotICAvLyBBbHRlcm5hdGVseSwgc2V0IG1heCBkaWdpdCBiaXRzIHRvIDI4IHNpbmNlIHNvbWUK
LSAgLy8gYnJvd3NlcnMgc2xvdyBkb3duIHdoZW4gZGVhbGluZyB3aXRoIDMyLWJpdCBudW1iZXJz
LgotICBmdW5jdGlvbiBhbTMoaSx4LHcsaixjLG4pIHsKLSAgICB2YXIgeGwgPSB4JjB4M2ZmZiwg
eGggPSB4Pj4xNDsKLSAgICB3aGlsZSgtLW4gPj0gMCkgewotICAgICAgdmFyIGwgPSB0aGlzW2ld
JjB4M2ZmZjsKLSAgICAgIHZhciBoID0gdGhpc1tpKytdPj4xNDsKLSAgICAgIHZhciBtID0geGgq
bCtoKnhsOwotICAgICAgbCA9IHhsKmwrKChtJjB4M2ZmZik8PDE0KSt3W2pdK2M7Ci0gICAgICBj
ID0gKGw+PjI4KSsobT4+MTQpK3hoKmg7Ci0gICAgICB3W2orK10gPSBsJjB4ZmZmZmZmZjsKLSAg
ICB9Ci0gICAgcmV0dXJuIGM7Ci0gIH0KLSAgaWYoal9sbSAmJiAobmF2aWdhdG9yLmFwcE5hbWUg
PT0gIk1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciIpKSB7Ci0gICAgQmlnSW50ZWdlci5wcm90
b3R5cGUuYW0gPSBhbTI7Ci0gICAgZGJpdHMgPSAzMDsKLSAgfQotICBlbHNlIGlmKGpfbG0gJiYg
KG5hdmlnYXRvci5hcHBOYW1lICE9ICJOZXRzY2FwZSIpKSB7Ci0gICAgQmlnSW50ZWdlci5wcm90
b3R5cGUuYW0gPSBhbTE7Ci0gICAgZGJpdHMgPSAyNjsKLSAgfQotICBlbHNlIHsgLy8gTW96aWxs
YS9OZXRzY2FwZSBzZWVtcyB0byBwcmVmZXIgYW0zCi0gICAgQmlnSW50ZWdlci5wcm90b3R5cGUu
YW0gPSBhbTM7Ci0gICAgZGJpdHMgPSAyODsKLSAgfQotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5E
QiA9IGRiaXRzOwotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5ETSA9ICgoMTw8ZGJpdHMpLTEpOwot
ICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5EViA9ICgxPDxkYml0cyk7Ci0gIHZhciBCSV9GUCA9IDUy
OwotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5GViA9IE1hdGgucG93KDIsQklfRlApOwotICBCaWdJ
bnRlZ2VyLnByb3RvdHlwZS5GMSA9IEJJX0ZQLWRiaXRzOwotICBCaWdJbnRlZ2VyLnByb3RvdHlw
ZS5GMiA9IDIqZGJpdHMtQklfRlA7Ci0gIC8vIERpZ2l0IGNvbnZlcnNpb25zCi0gIHZhciBCSV9S
TSA9ICIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiOwotICB2YXIgQklfUkMg
PSBuZXcgQXJyYXkoKTsKLSAgdmFyIHJyLHZ2OwotICByciA9ICIwIi5jaGFyQ29kZUF0KDApOwot
ICBmb3IodnYgPSAwOyB2diA8PSA5OyArK3Z2KSBCSV9SQ1tycisrXSA9IHZ2OwotICByciA9ICJh
Ii5jaGFyQ29kZUF0KDApOwotICBmb3IodnYgPSAxMDsgdnYgPCAzNjsgKyt2dikgQklfUkNbcnIr
K10gPSB2djsKLSAgcnIgPSAiQSIuY2hhckNvZGVBdCgwKTsKLSAgZm9yKHZ2ID0gMTA7IHZ2IDwg
MzY7ICsrdnYpIEJJX1JDW3JyKytdID0gdnY7Ci0gIGZ1bmN0aW9uIGludDJjaGFyKG4pIHsgcmV0
dXJuIEJJX1JNLmNoYXJBdChuKTsgfQotICBmdW5jdGlvbiBpbnRBdChzLGkpIHsKLSAgICB2YXIg
YyA9IEJJX1JDW3MuY2hhckNvZGVBdChpKV07Ci0gICAgcmV0dXJuIChjPT1udWxsKT8tMTpjOwot
ICB9Ci0gIC8vIChwcm90ZWN0ZWQpIGNvcHkgdGhpcyB0byByCi0gIGZ1bmN0aW9uIGJucENvcHlU
byhyKSB7Ci0gICAgZm9yKHZhciBpID0gdGhpcy50LTE7IGkgPj0gMDsgLS1pKSByW2ldID0gdGhp
c1tpXTsKLSAgICByLnQgPSB0aGlzLnQ7Ci0gICAgci5zID0gdGhpcy5zOwotICB9Ci0gIC8vIChw
cm90ZWN0ZWQpIHNldCBmcm9tIGludGVnZXIgdmFsdWUgeCwgLURWIDw9IHggPCBEVgotICBmdW5j
dGlvbiBibnBGcm9tSW50KHgpIHsKLSAgICB0aGlzLnQgPSAxOwotICAgIHRoaXMucyA9ICh4PDAp
Py0xOjA7Ci0gICAgaWYoeCA+IDApIHRoaXNbMF0gPSB4OwotICAgIGVsc2UgaWYoeCA8IC0xKSB0
aGlzWzBdID0geCtEVjsKLSAgICBlbHNlIHRoaXMudCA9IDA7Ci0gIH0KLSAgLy8gcmV0dXJuIGJp
Z2ludCBpbml0aWFsaXplZCB0byB2YWx1ZQotICBmdW5jdGlvbiBuYnYoaSkgeyB2YXIgciA9IG5i
aSgpOyByLmZyb21JbnQoaSk7IHJldHVybiByOyB9Ci0gIC8vIChwcm90ZWN0ZWQpIHNldCBmcm9t
IHN0cmluZyBhbmQgcmFkaXgKLSAgZnVuY3Rpb24gYm5wRnJvbVN0cmluZyhzLGIpIHsKLSAgICB2
YXIgazsKLSAgICBpZihiID09IDE2KSBrID0gNDsKLSAgICBlbHNlIGlmKGIgPT0gOCkgayA9IDM7
Ci0gICAgZWxzZSBpZihiID09IDI1NikgayA9IDg7IC8vIGJ5dGUgYXJyYXkKLSAgICBlbHNlIGlm
KGIgPT0gMikgayA9IDE7Ci0gICAgZWxzZSBpZihiID09IDMyKSBrID0gNTsKLSAgICBlbHNlIGlm
KGIgPT0gNCkgayA9IDI7Ci0gICAgZWxzZSB7IHRoaXMuZnJvbVJhZGl4KHMsYik7IHJldHVybjsg
fQotICAgIHRoaXMudCA9IDA7Ci0gICAgdGhpcy5zID0gMDsKLSAgICB2YXIgaSA9IHMubGVuZ3Ro
LCBtaSA9IGZhbHNlLCBzaCA9IDA7Ci0gICAgd2hpbGUoLS1pID49IDApIHsKLSAgICAgIHZhciB4
ID0gKGs9PTgpP3NbaV0mMHhmZjppbnRBdChzLGkpOwotICAgICAgaWYoeCA8IDApIHsKLSAgICAg
ICAgaWYocy5jaGFyQXQoaSkgPT0gIi0iKSBtaSA9IHRydWU7Ci0gICAgICAgIGNvbnRpbnVlOwot
ICAgICAgfQotICAgICAgbWkgPSBmYWxzZTsKLSAgICAgIGlmKHNoID09IDApCi0gICAgICAgIHRo
aXNbdGhpcy50KytdID0geDsKLSAgICAgIGVsc2UgaWYoc2grayA+IHRoaXMuREIpIHsKLSAgICAg
ICAgdGhpc1t0aGlzLnQtMV0gfD0gKHgmKCgxPDwodGhpcy5EQi1zaCkpLTEpKTw8c2g7Ci0gICAg
ICAgIHRoaXNbdGhpcy50KytdID0gKHg+Pih0aGlzLkRCLXNoKSk7Ci0gICAgICB9Ci0gICAgICBl
bHNlCi0gICAgICAgIHRoaXNbdGhpcy50LTFdIHw9IHg8PHNoOwotICAgICAgc2ggKz0gazsKLSAg
ICAgIGlmKHNoID49IHRoaXMuREIpIHNoIC09IHRoaXMuREI7Ci0gICAgfQotICAgIGlmKGsgPT0g
OCAmJiAoc1swXSYweDgwKSAhPSAwKSB7Ci0gICAgICB0aGlzLnMgPSAtMTsKLSAgICAgIGlmKHNo
ID4gMCkgdGhpc1t0aGlzLnQtMV0gfD0gKCgxPDwodGhpcy5EQi1zaCkpLTEpPDxzaDsKLSAgICB9
Ci0gICAgdGhpcy5jbGFtcCgpOwotICAgIGlmKG1pKSBCaWdJbnRlZ2VyLlpFUk8uc3ViVG8odGhp
cyx0aGlzKTsKLSAgfQotICAvLyAocHJvdGVjdGVkKSBjbGFtcCBvZmYgZXhjZXNzIGhpZ2ggd29y
ZHMKLSAgZnVuY3Rpb24gYm5wQ2xhbXAoKSB7Ci0gICAgdmFyIGMgPSB0aGlzLnMmdGhpcy5ETTsK
LSAgICB3aGlsZSh0aGlzLnQgPiAwICYmIHRoaXNbdGhpcy50LTFdID09IGMpIC0tdGhpcy50Owot
ICB9Ci0gIC8vIChwdWJsaWMpIHJldHVybiBzdHJpbmcgcmVwcmVzZW50YXRpb24gaW4gZ2l2ZW4g
cmFkaXgKLSAgZnVuY3Rpb24gYm5Ub1N0cmluZyhiKSB7Ci0gICAgaWYodGhpcy5zIDwgMCkgcmV0
dXJuICItIit0aGlzLm5lZ2F0ZSgpLnRvU3RyaW5nKGIpOwotICAgIHZhciBrOwotICAgIGlmKGIg
PT0gMTYpIGsgPSA0OwotICAgIGVsc2UgaWYoYiA9PSA4KSBrID0gMzsKLSAgICBlbHNlIGlmKGIg
PT0gMikgayA9IDE7Ci0gICAgZWxzZSBpZihiID09IDMyKSBrID0gNTsKLSAgICBlbHNlIGlmKGIg
PT0gNCkgayA9IDI7Ci0gICAgZWxzZSByZXR1cm4gdGhpcy50b1JhZGl4KGIpOwotICAgIHZhciBr
bSA9ICgxPDxrKS0xLCBkLCBtID0gZmFsc2UsIHIgPSAiIiwgaSA9IHRoaXMudDsKLSAgICB2YXIg
cCA9IHRoaXMuREItKGkqdGhpcy5EQiklazsKLSAgICBpZihpLS0gPiAwKSB7Ci0gICAgICBpZihw
IDwgdGhpcy5EQiAmJiAoZCA9IHRoaXNbaV0+PnApID4gMCkgeyBtID0gdHJ1ZTsgciA9IGludDJj
aGFyKGQpOyB9Ci0gICAgICB3aGlsZShpID49IDApIHsKLSAgICAgICAgaWYocCA8IGspIHsKLSAg
ICAgICAgICBkID0gKHRoaXNbaV0mKCgxPDxwKS0xKSk8PChrLXApOwotICAgICAgICAgIGQgfD0g
dGhpc1stLWldPj4ocCs9dGhpcy5EQi1rKTsKLSAgICAgICAgfQotICAgICAgICBlbHNlIHsKLSAg
ICAgICAgICBkID0gKHRoaXNbaV0+PihwLT1rKSkma207Ci0gICAgICAgICAgaWYocCA8PSAwKSB7
IHAgKz0gdGhpcy5EQjsgLS1pOyB9Ci0gICAgICAgIH0KLSAgICAgICAgaWYoZCA+IDApIG0gPSB0
cnVlOwotICAgICAgICBpZihtKSByICs9IGludDJjaGFyKGQpOwotICAgICAgfQotICAgIH0KLSAg
ICByZXR1cm4gbT9yOiIwIjsKLSAgfQotICAvLyAocHVibGljKSAtdGhpcwotICBmdW5jdGlvbiBi
bk5lZ2F0ZSgpIHsgdmFyIHIgPSBuYmkoKTsgQmlnSW50ZWdlci5aRVJPLnN1YlRvKHRoaXMscik7
IHJldHVybiByOyB9Ci0gIC8vIChwdWJsaWMpIHx0aGlzfAotICBmdW5jdGlvbiBibkFicygpIHsg
cmV0dXJuICh0aGlzLnM8MCk/dGhpcy5uZWdhdGUoKTp0aGlzOyB9Ci0gIC8vIChwdWJsaWMpIHJl
dHVybiArIGlmIHRoaXMgPiBhLCAtIGlmIHRoaXMgPCBhLCAwIGlmIGVxdWFsCi0gIGZ1bmN0aW9u
IGJuQ29tcGFyZVRvKGEpIHsKLSAgICB2YXIgciA9IHRoaXMucy1hLnM7Ci0gICAgaWYociAhPSAw
KSByZXR1cm4gcjsKLSAgICB2YXIgaSA9IHRoaXMudDsKLSAgICByID0gaS1hLnQ7Ci0gICAgaWYo
ciAhPSAwKSByZXR1cm4gKHRoaXMuczwwKT8tcjpyOwotICAgIHdoaWxlKC0taSA+PSAwKSBpZigo
cj10aGlzW2ldLWFbaV0pICE9IDApIHJldHVybiByOwotICAgIHJldHVybiAwOwotICB9Ci0gIC8v
IHJldHVybnMgYml0IGxlbmd0aCBvZiB0aGUgaW50ZWdlciB4Ci0gIGZ1bmN0aW9uIG5iaXRzKHgp
IHsKLSAgICB2YXIgciA9IDEsIHQ7Ci0gICAgaWYoKHQ9eD4+PjE2KSAhPSAwKSB7IHggPSB0OyBy
ICs9IDE2OyB9Ci0gICAgaWYoKHQ9eD4+OCkgIT0gMCkgeyB4ID0gdDsgciArPSA4OyB9Ci0gICAg
aWYoKHQ9eD4+NCkgIT0gMCkgeyB4ID0gdDsgciArPSA0OyB9Ci0gICAgaWYoKHQ9eD4+MikgIT0g
MCkgeyB4ID0gdDsgciArPSAyOyB9Ci0gICAgaWYoKHQ9eD4+MSkgIT0gMCkgeyB4ID0gdDsgciAr
PSAxOyB9Ci0gICAgcmV0dXJuIHI7Ci0gIH0KLSAgLy8gKHB1YmxpYykgcmV0dXJuIHRoZSBudW1i
ZXIgb2YgYml0cyBpbiAidGhpcyIKLSAgZnVuY3Rpb24gYm5CaXRMZW5ndGgoKSB7Ci0gICAgaWYo
dGhpcy50IDw9IDApIHJldHVybiAwOwotICAgIHJldHVybiB0aGlzLkRCKih0aGlzLnQtMSkrbmJp
dHModGhpc1t0aGlzLnQtMV1eKHRoaXMucyZ0aGlzLkRNKSk7Ci0gIH0KLSAgLy8gKHByb3RlY3Rl
ZCkgciA9IHRoaXMgPDwgbipEQgotICBmdW5jdGlvbiBibnBETFNoaWZ0VG8obixyKSB7Ci0gICAg
dmFyIGk7Ci0gICAgZm9yKGkgPSB0aGlzLnQtMTsgaSA+PSAwOyAtLWkpIHJbaStuXSA9IHRoaXNb
aV07Ci0gICAgZm9yKGkgPSBuLTE7IGkgPj0gMDsgLS1pKSByW2ldID0gMDsKLSAgICByLnQgPSB0
aGlzLnQrbjsKLSAgICByLnMgPSB0aGlzLnM7Ci0gIH0KLSAgLy8gKHByb3RlY3RlZCkgciA9IHRo
aXMgPj4gbipEQgotICBmdW5jdGlvbiBibnBEUlNoaWZ0VG8obixyKSB7Ci0gICAgZm9yKHZhciBp
ID0gbjsgaSA8IHRoaXMudDsgKytpKSByW2ktbl0gPSB0aGlzW2ldOwotICAgIHIudCA9IE1hdGgu
bWF4KHRoaXMudC1uLDApOwotICAgIHIucyA9IHRoaXMuczsKLSAgfQotICAvLyAocHJvdGVjdGVk
KSByID0gdGhpcyA8PCBuCi0gIGZ1bmN0aW9uIGJucExTaGlmdFRvKG4scikgewotICAgIHZhciBi
cyA9IG4ldGhpcy5EQjsKLSAgICB2YXIgY2JzID0gdGhpcy5EQi1iczsKLSAgICB2YXIgYm0gPSAo
MTw8Y2JzKS0xOwotICAgIHZhciBkcyA9IE1hdGguZmxvb3Iobi90aGlzLkRCKSwgYyA9ICh0aGlz
LnM8PGJzKSZ0aGlzLkRNLCBpOwotICAgIGZvcihpID0gdGhpcy50LTE7IGkgPj0gMDsgLS1pKSB7
Ci0gICAgICByW2krZHMrMV0gPSAodGhpc1tpXT4+Y2JzKXxjOwotICAgICAgYyA9ICh0aGlzW2ld
JmJtKTw8YnM7Ci0gICAgfQotICAgIGZvcihpID0gZHMtMTsgaSA+PSAwOyAtLWkpIHJbaV0gPSAw
OwotICAgIHJbZHNdID0gYzsKLSAgICByLnQgPSB0aGlzLnQrZHMrMTsKLSAgICByLnMgPSB0aGlz
LnM7Ci0gICAgci5jbGFtcCgpOwotICB9Ci0gIC8vIChwcm90ZWN0ZWQpIHIgPSB0aGlzID4+IG4K
LSAgZnVuY3Rpb24gYm5wUlNoaWZ0VG8obixyKSB7Ci0gICAgci5zID0gdGhpcy5zOwotICAgIHZh
ciBkcyA9IE1hdGguZmxvb3Iobi90aGlzLkRCKTsKLSAgICBpZihkcyA+PSB0aGlzLnQpIHsgci50
ID0gMDsgcmV0dXJuOyB9Ci0gICAgdmFyIGJzID0gbiV0aGlzLkRCOwotICAgIHZhciBjYnMgPSB0
aGlzLkRCLWJzOwotICAgIHZhciBibSA9ICgxPDxicyktMTsKLSAgICByWzBdID0gdGhpc1tkc10+
PmJzOwotICAgIGZvcih2YXIgaSA9IGRzKzE7IGkgPCB0aGlzLnQ7ICsraSkgewotICAgICAgcltp
LWRzLTFdIHw9ICh0aGlzW2ldJmJtKTw8Y2JzOwotICAgICAgcltpLWRzXSA9IHRoaXNbaV0+PmJz
OwotICAgIH0KLSAgICBpZihicyA+IDApIHJbdGhpcy50LWRzLTFdIHw9ICh0aGlzLnMmYm0pPDxj
YnM7Ci0gICAgci50ID0gdGhpcy50LWRzOwotICAgIHIuY2xhbXAoKTsKLSAgfQotICAvLyAocHJv
dGVjdGVkKSByID0gdGhpcyAtIGEKLSAgZnVuY3Rpb24gYm5wU3ViVG8oYSxyKSB7Ci0gICAgdmFy
IGkgPSAwLCBjID0gMCwgbSA9IE1hdGgubWluKGEudCx0aGlzLnQpOwotICAgIHdoaWxlKGkgPCBt
KSB7Ci0gICAgICBjICs9IHRoaXNbaV0tYVtpXTsKLSAgICAgIHJbaSsrXSA9IGMmdGhpcy5ETTsK
LSAgICAgIGMgPj49IHRoaXMuREI7Ci0gICAgfQotICAgIGlmKGEudCA8IHRoaXMudCkgewotICAg
ICAgYyAtPSBhLnM7Ci0gICAgICB3aGlsZShpIDwgdGhpcy50KSB7Ci0gICAgICAgIGMgKz0gdGhp
c1tpXTsKLSAgICAgICAgcltpKytdID0gYyZ0aGlzLkRNOwotICAgICAgICBjID4+PSB0aGlzLkRC
OwotICAgICAgfQotICAgICAgYyArPSB0aGlzLnM7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAg
YyArPSB0aGlzLnM7Ci0gICAgICB3aGlsZShpIDwgYS50KSB7Ci0gICAgICAgIGMgLT0gYVtpXTsK
LSAgICAgICAgcltpKytdID0gYyZ0aGlzLkRNOwotICAgICAgICBjID4+PSB0aGlzLkRCOwotICAg
ICAgfQotICAgICAgYyAtPSBhLnM7Ci0gICAgfQotICAgIHIucyA9IChjPDApPy0xOjA7Ci0gICAg
aWYoYyA8IC0xKSByW2krK10gPSB0aGlzLkRWK2M7Ci0gICAgZWxzZSBpZihjID4gMCkgcltpKytd
ID0gYzsKLSAgICByLnQgPSBpOwotICAgIHIuY2xhbXAoKTsKLSAgfQotICAvLyAocHJvdGVjdGVk
KSByID0gdGhpcyAqIGEsIHIgIT0gdGhpcyxhIChIQUMgMTQuMTIpCi0gIC8vICJ0aGlzIiBzaG91
bGQgYmUgdGhlIGxhcmdlciBvbmUgaWYgYXBwcm9wcmlhdGUuCi0gIGZ1bmN0aW9uIGJucE11bHRp
cGx5VG8oYSxyKSB7Ci0gICAgdmFyIHggPSB0aGlzLmFicygpLCB5ID0gYS5hYnMoKTsKLSAgICB2
YXIgaSA9IHgudDsKLSAgICByLnQgPSBpK3kudDsKLSAgICB3aGlsZSgtLWkgPj0gMCkgcltpXSA9
IDA7Ci0gICAgZm9yKGkgPSAwOyBpIDwgeS50OyArK2kpIHJbaSt4LnRdID0geC5hbSgwLHlbaV0s
cixpLDAseC50KTsKLSAgICByLnMgPSAwOwotICAgIHIuY2xhbXAoKTsKLSAgICBpZih0aGlzLnMg
IT0gYS5zKSBCaWdJbnRlZ2VyLlpFUk8uc3ViVG8ocixyKTsKLSAgfQotICAvLyAocHJvdGVjdGVk
KSByID0gdGhpc14yLCByICE9IHRoaXMgKEhBQyAxNC4xNikKLSAgZnVuY3Rpb24gYm5wU3F1YXJl
VG8ocikgewotICAgIHZhciB4ID0gdGhpcy5hYnMoKTsKLSAgICB2YXIgaSA9IHIudCA9IDIqeC50
OwotICAgIHdoaWxlKC0taSA+PSAwKSByW2ldID0gMDsKLSAgICBmb3IoaSA9IDA7IGkgPCB4LnQt
MTsgKytpKSB7Ci0gICAgICB2YXIgYyA9IHguYW0oaSx4W2ldLHIsMippLDAsMSk7Ci0gICAgICBp
ZigocltpK3gudF0rPXguYW0oaSsxLDIqeFtpXSxyLDIqaSsxLGMseC50LWktMSkpID49IHguRFYp
IHsKLSAgICAgICAgcltpK3gudF0gLT0geC5EVjsKLSAgICAgICAgcltpK3gudCsxXSA9IDE7Ci0g
ICAgICB9Ci0gICAgfQotICAgIGlmKHIudCA+IDApIHJbci50LTFdICs9IHguYW0oaSx4W2ldLHIs
MippLDAsMSk7Ci0gICAgci5zID0gMDsKLSAgICByLmNsYW1wKCk7Ci0gIH0KLSAgLy8gKHByb3Rl
Y3RlZCkgZGl2aWRlIHRoaXMgYnkgbSwgcXVvdGllbnQgYW5kIHJlbWFpbmRlciB0byBxLCByIChI
QUMgMTQuMjApCi0gIC8vIHIgIT0gcSwgdGhpcyAhPSBtLiAgcSBvciByIG1heSBiZSBudWxsLgot
ICBmdW5jdGlvbiBibnBEaXZSZW1UbyhtLHEscikgewotICAgIHZhciBwbSA9IG0uYWJzKCk7Ci0g
ICAgaWYocG0udCA8PSAwKSByZXR1cm47Ci0gICAgdmFyIHB0ID0gdGhpcy5hYnMoKTsKLSAgICBp
ZihwdC50IDwgcG0udCkgewotICAgICAgaWYocSAhPSBudWxsKSBxLmZyb21JbnQoMCk7Ci0gICAg
ICBpZihyICE9IG51bGwpIHRoaXMuY29weVRvKHIpOwotICAgICAgcmV0dXJuOwotICAgIH0KLSAg
ICBpZihyID09IG51bGwpIHIgPSBuYmkoKTsKLSAgICB2YXIgeSA9IG5iaSgpLCB0cyA9IHRoaXMu
cywgbXMgPSBtLnM7Ci0gICAgdmFyIG5zaCA9IHRoaXMuREItbmJpdHMocG1bcG0udC0xXSk7CS8v
IG5vcm1hbGl6ZSBtb2R1bHVzCi0gICAgaWYobnNoID4gMCkgeyBwbS5sU2hpZnRUbyhuc2gseSk7
IHB0LmxTaGlmdFRvKG5zaCxyKTsgfQotICAgIGVsc2UgeyBwbS5jb3B5VG8oeSk7IHB0LmNvcHlU
byhyKTsgfQotICAgIHZhciB5cyA9IHkudDsKLSAgICB2YXIgeTAgPSB5W3lzLTFdOwotICAgIGlm
KHkwID09IDApIHJldHVybjsKLSAgICB2YXIgeXQgPSB5MCooMTw8dGhpcy5GMSkrKCh5cz4xKT95
W3lzLTJdPj50aGlzLkYyOjApOwotICAgIHZhciBkMSA9IHRoaXMuRlYveXQsIGQyID0gKDE8PHRo
aXMuRjEpL3l0LCBlID0gMTw8dGhpcy5GMjsKLSAgICB2YXIgaSA9IHIudCwgaiA9IGkteXMsIHQg
PSAocT09bnVsbCk/bmJpKCk6cTsKLSAgICB5LmRsU2hpZnRUbyhqLHQpOwotICAgIGlmKHIuY29t
cGFyZVRvKHQpID49IDApIHsKLSAgICAgIHJbci50KytdID0gMTsKLSAgICAgIHIuc3ViVG8odCxy
KTsKLSAgICB9Ci0gICAgQmlnSW50ZWdlci5PTkUuZGxTaGlmdFRvKHlzLHQpOwotICAgIHQuc3Vi
VG8oeSx5KTsJLy8gIm5lZ2F0aXZlIiB5IHNvIHdlIGNhbiByZXBsYWNlIHN1YiB3aXRoIGFtIGxh
dGVyCi0gICAgd2hpbGUoeS50IDwgeXMpIHlbeS50KytdID0gMDsKLSAgICB3aGlsZSgtLWogPj0g
MCkgewotICAgICAgLy8gRXN0aW1hdGUgcXVvdGllbnQgZGlnaXQKLSAgICAgIHZhciBxZCA9IChy
Wy0taV09PXkwKT90aGlzLkRNOk1hdGguZmxvb3IocltpXSpkMSsocltpLTFdK2UpKmQyKTsKLSAg
ICAgIGlmKChyW2ldKz15LmFtKDAscWQscixqLDAseXMpKSA8IHFkKSB7CS8vIFRyeSBpdCBvdXQK
LSAgICAgICAgeS5kbFNoaWZ0VG8oaix0KTsKLSAgICAgICAgci5zdWJUbyh0LHIpOwotICAgICAg
ICB3aGlsZShyW2ldIDwgLS1xZCkgci5zdWJUbyh0LHIpOwotICAgICAgfQotICAgIH0KLSAgICBp
ZihxICE9IG51bGwpIHsKLSAgICAgIHIuZHJTaGlmdFRvKHlzLHEpOwotICAgICAgaWYodHMgIT0g
bXMpIEJpZ0ludGVnZXIuWkVSTy5zdWJUbyhxLHEpOwotICAgIH0KLSAgICByLnQgPSB5czsKLSAg
ICByLmNsYW1wKCk7Ci0gICAgaWYobnNoID4gMCkgci5yU2hpZnRUbyhuc2gscik7CS8vIERlbm9y
bWFsaXplIHJlbWFpbmRlcgotICAgIGlmKHRzIDwgMCkgQmlnSW50ZWdlci5aRVJPLnN1YlRvKHIs
cik7Ci0gIH0KLSAgLy8gKHB1YmxpYykgdGhpcyBtb2QgYQotICBmdW5jdGlvbiBibk1vZChhKSB7
Ci0gICAgdmFyIHIgPSBuYmkoKTsKLSAgICB0aGlzLmFicygpLmRpdlJlbVRvKGEsbnVsbCxyKTsK
LSAgICBpZih0aGlzLnMgPCAwICYmIHIuY29tcGFyZVRvKEJpZ0ludGVnZXIuWkVSTykgPiAwKSBh
LnN1YlRvKHIscik7Ci0gICAgcmV0dXJuIHI7Ci0gIH0KLSAgLy8gTW9kdWxhciByZWR1Y3Rpb24g
dXNpbmcgImNsYXNzaWMiIGFsZ29yaXRobQotICBmdW5jdGlvbiBDbGFzc2ljKG0pIHsgdGhpcy5t
ID0gbTsgfQotICBmdW5jdGlvbiBjQ29udmVydCh4KSB7Ci0gICAgaWYoeC5zIDwgMCB8fCB4LmNv
bXBhcmVUbyh0aGlzLm0pID49IDApIHJldHVybiB4Lm1vZCh0aGlzLm0pOwotICAgIGVsc2UgcmV0
dXJuIHg7Ci0gIH0KLSAgZnVuY3Rpb24gY1JldmVydCh4KSB7IHJldHVybiB4OyB9Ci0gIGZ1bmN0
aW9uIGNSZWR1Y2UoeCkgeyB4LmRpdlJlbVRvKHRoaXMubSxudWxsLHgpOyB9Ci0gIGZ1bmN0aW9u
IGNNdWxUbyh4LHkscikgeyB4Lm11bHRpcGx5VG8oeSxyKTsgdGhpcy5yZWR1Y2Uocik7IH0KLSAg
ZnVuY3Rpb24gY1NxclRvKHgscikgeyB4LnNxdWFyZVRvKHIpOyB0aGlzLnJlZHVjZShyKTsgfQot
ICBDbGFzc2ljLnByb3RvdHlwZS5jb252ZXJ0ID0gY0NvbnZlcnQ7Ci0gIENsYXNzaWMucHJvdG90
eXBlLnJldmVydCA9IGNSZXZlcnQ7Ci0gIENsYXNzaWMucHJvdG90eXBlLnJlZHVjZSA9IGNSZWR1
Y2U7Ci0gIENsYXNzaWMucHJvdG90eXBlLm11bFRvID0gY011bFRvOwotICBDbGFzc2ljLnByb3Rv
dHlwZS5zcXJUbyA9IGNTcXJUbzsKLSAgLy8gKHByb3RlY3RlZCkgcmV0dXJuICItMS90aGlzICUg
Ml5EQiI7IHVzZWZ1bCBmb3IgTW9udC4gcmVkdWN0aW9uCi0gIC8vIGp1c3RpZmljYXRpb246Ci0g
IC8vICAgICAgICAgeHkgPT0gMSAobW9kIG0pCi0gIC8vICAgICAgICAgeHkgPSAgMStrbQotICAv
LyAgIHh5KDIteHkpID0gKDEra20pKDEta20pCi0gIC8vIHhbeSgyLXh5KV0gPSAxLWteMm1eMgot
ICAvLyB4W3koMi14eSldID09IDEgKG1vZCBtXjIpCi0gIC8vIGlmIHkgaXMgMS94IG1vZCBtLCB0
aGVuIHkoMi14eSkgaXMgMS94IG1vZCBtXjIKLSAgLy8gc2hvdWxkIHJlZHVjZSB4IGFuZCB5KDIt
eHkpIGJ5IG1eMiBhdCBlYWNoIHN0ZXAgdG8ga2VlcCBzaXplIGJvdW5kZWQuCi0gIC8vIEpTIG11
bHRpcGx5ICJvdmVyZmxvd3MiIGRpZmZlcmVudGx5IGZyb20gQy9DKyssIHNvIGNhcmUgaXMgbmVl
ZGVkIGhlcmUuCi0gIGZ1bmN0aW9uIGJucEludkRpZ2l0KCkgewotICAgIGlmKHRoaXMudCA8IDEp
IHJldHVybiAwOwotICAgIHZhciB4ID0gdGhpc1swXTsKLSAgICBpZigoeCYxKSA9PSAwKSByZXR1
cm4gMDsKLSAgICB2YXIgeSA9IHgmMzsJCS8vIHkgPT0gMS94IG1vZCAyXjIKLSAgICB5ID0gKHkq
KDItKHgmMHhmKSp5KSkmMHhmOwkvLyB5ID09IDEveCBtb2QgMl40Ci0gICAgeSA9ICh5KigyLSh4
JjB4ZmYpKnkpKSYweGZmOwkvLyB5ID09IDEveCBtb2QgMl44Ci0gICAgeSA9ICh5KigyLSgoKHgm
MHhmZmZmKSp5KSYweGZmZmYpKSkmMHhmZmZmOwkvLyB5ID09IDEveCBtb2QgMl4xNgotICAgIC8v
IGxhc3Qgc3RlcCAtIGNhbGN1bGF0ZSBpbnZlcnNlIG1vZCBEViBkaXJlY3RseTsKLSAgICAvLyBh
c3N1bWVzIDE2IDwgREIgPD0gMzIgYW5kIGFzc3VtZXMgYWJpbGl0eSB0byBoYW5kbGUgNDgtYml0
IGludHMKLSAgICB5ID0gKHkqKDIteCp5JXRoaXMuRFYpKSV0aGlzLkRWOwkJLy8geSA9PSAxL3gg
bW9kIDJeZGJpdHMKLSAgICAvLyB3ZSByZWFsbHkgd2FudCB0aGUgbmVnYXRpdmUgaW52ZXJzZSwg
YW5kIC1EViA8IHkgPCBEVgotICAgIHJldHVybiAoeT4wKT90aGlzLkRWLXk6LXk7Ci0gIH0KLSAg
Ly8gTW9udGdvbWVyeSByZWR1Y3Rpb24KLSAgZnVuY3Rpb24gTW9udGdvbWVyeShtKSB7Ci0gICAg
dGhpcy5tID0gbTsKLSAgICB0aGlzLm1wID0gbS5pbnZEaWdpdCgpOwotICAgIHRoaXMubXBsID0g
dGhpcy5tcCYweDdmZmY7Ci0gICAgdGhpcy5tcGggPSB0aGlzLm1wPj4xNTsKLSAgICB0aGlzLnVt
ID0gKDE8PChtLkRCLTE1KSktMTsKLSAgICB0aGlzLm10MiA9IDIqbS50OwotICB9Ci0gIC8vIHhS
IG1vZCBtCi0gIGZ1bmN0aW9uIG1vbnRDb252ZXJ0KHgpIHsKLSAgICB2YXIgciA9IG5iaSgpOwot
ICAgIHguYWJzKCkuZGxTaGlmdFRvKHRoaXMubS50LHIpOwotICAgIHIuZGl2UmVtVG8odGhpcy5t
LG51bGwscik7Ci0gICAgaWYoeC5zIDwgMCAmJiByLmNvbXBhcmVUbyhCaWdJbnRlZ2VyLlpFUk8p
ID4gMCkgdGhpcy5tLnN1YlRvKHIscik7Ci0gICAgcmV0dXJuIHI7Ci0gIH0KLSAgLy8geC9SIG1v
ZCBtCi0gIGZ1bmN0aW9uIG1vbnRSZXZlcnQoeCkgewotICAgIHZhciByID0gbmJpKCk7Ci0gICAg
eC5jb3B5VG8ocik7Ci0gICAgdGhpcy5yZWR1Y2Uocik7Ci0gICAgcmV0dXJuIHI7Ci0gIH0KLSAg
Ly8geCA9IHgvUiBtb2QgbSAoSEFDIDE0LjMyKQotICBmdW5jdGlvbiBtb250UmVkdWNlKHgpIHsK
LSAgICB3aGlsZSh4LnQgPD0gdGhpcy5tdDIpCS8vIHBhZCB4IHNvIGFtIGhhcyBlbm91Z2ggcm9v
bSBsYXRlcgotICAgICAgeFt4LnQrK10gPSAwOwotICAgIGZvcih2YXIgaSA9IDA7IGkgPCB0aGlz
Lm0udDsgKytpKSB7Ci0gICAgICAvLyBmYXN0ZXIgd2F5IG9mIGNhbGN1bGF0aW5nIHUwID0geFtp
XSptcCBtb2QgRFYKLSAgICAgIHZhciBqID0geFtpXSYweDdmZmY7Ci0gICAgICB2YXIgdTAgPSAo
aip0aGlzLm1wbCsoKChqKnRoaXMubXBoKyh4W2ldPj4xNSkqdGhpcy5tcGwpJnRoaXMudW0pPDwx
NSkpJnguRE07Ci0gICAgICAvLyB1c2UgYW0gdG8gY29tYmluZSB0aGUgbXVsdGlwbHktc2hpZnQt
YWRkIGludG8gb25lIGNhbGwKLSAgICAgIGogPSBpK3RoaXMubS50OwotICAgICAgeFtqXSArPSB0
aGlzLm0uYW0oMCx1MCx4LGksMCx0aGlzLm0udCk7Ci0gICAgICAvLyBwcm9wYWdhdGUgY2FycnkK
LSAgICAgIHdoaWxlKHhbal0gPj0geC5EVikgeyB4W2pdIC09IHguRFY7IHhbKytqXSsrOyB9Ci0g
ICAgfQotICAgIHguY2xhbXAoKTsKLSAgICB4LmRyU2hpZnRUbyh0aGlzLm0udCx4KTsKLSAgICBp
Zih4LmNvbXBhcmVUbyh0aGlzLm0pID49IDApIHguc3ViVG8odGhpcy5tLHgpOwotICB9Ci0gIC8v
IHIgPSAieF4yL1IgbW9kIG0iOyB4ICE9IHIKLSAgZnVuY3Rpb24gbW9udFNxclRvKHgscikgeyB4
LnNxdWFyZVRvKHIpOyB0aGlzLnJlZHVjZShyKTsgfQotICAvLyByID0gInh5L1IgbW9kIG0iOyB4
LHkgIT0gcgotICBmdW5jdGlvbiBtb250TXVsVG8oeCx5LHIpIHsgeC5tdWx0aXBseVRvKHkscik7
IHRoaXMucmVkdWNlKHIpOyB9Ci0gIE1vbnRnb21lcnkucHJvdG90eXBlLmNvbnZlcnQgPSBtb250
Q29udmVydDsKLSAgTW9udGdvbWVyeS5wcm90b3R5cGUucmV2ZXJ0ID0gbW9udFJldmVydDsKLSAg
TW9udGdvbWVyeS5wcm90b3R5cGUucmVkdWNlID0gbW9udFJlZHVjZTsKLSAgTW9udGdvbWVyeS5w
cm90b3R5cGUubXVsVG8gPSBtb250TXVsVG87Ci0gIE1vbnRnb21lcnkucHJvdG90eXBlLnNxclRv
ID0gbW9udFNxclRvOwotICAvLyAocHJvdGVjdGVkKSB0cnVlIGlmZiB0aGlzIGlzIGV2ZW4KLSAg
ZnVuY3Rpb24gYm5wSXNFdmVuKCkgeyByZXR1cm4gKCh0aGlzLnQ+MCk/KHRoaXNbMF0mMSk6dGhp
cy5zKSA9PSAwOyB9Ci0gIC8vIChwcm90ZWN0ZWQpIHRoaXNeZSwgZSA8IDJeMzIsIGRvaW5nIHNx
ciBhbmQgbXVsIHdpdGggInIiIChIQUMgMTQuNzkpCi0gIGZ1bmN0aW9uIGJucEV4cChlLHopIHsK
LSAgICBpZihlID4gMHhmZmZmZmZmZiB8fCBlIDwgMSkgcmV0dXJuIEJpZ0ludGVnZXIuT05FOwot
ICAgIHZhciByID0gbmJpKCksIHIyID0gbmJpKCksIGcgPSB6LmNvbnZlcnQodGhpcyksIGkgPSBu
Yml0cyhlKS0xOwotICAgIGcuY29weVRvKHIpOwotICAgIHdoaWxlKC0taSA+PSAwKSB7Ci0gICAg
ICB6LnNxclRvKHIscjIpOwotICAgICAgaWYoKGUmKDE8PGkpKSA+IDApIHoubXVsVG8ocjIsZyxy
KTsKLSAgICAgIGVsc2UgeyB2YXIgdCA9IHI7IHIgPSByMjsgcjIgPSB0OyB9Ci0gICAgfQotICAg
IHJldHVybiB6LnJldmVydChyKTsKLSAgfQotICAvLyAocHVibGljKSB0aGlzXmUgJSBtLCAwIDw9
IGUgPCAyXjMyCi0gIGZ1bmN0aW9uIGJuTW9kUG93SW50KGUsbSkgewotICAgIHZhciB6OwotICAg
IGlmKGUgPCAyNTYgfHwgbS5pc0V2ZW4oKSkgeiA9IG5ldyBDbGFzc2ljKG0pOyBlbHNlIHogPSBu
ZXcgTW9udGdvbWVyeShtKTsKLSAgICByZXR1cm4gdGhpcy5leHAoZSx6KTsKLSAgfQotICAvLyBw
cm90ZWN0ZWQKLSAgQmlnSW50ZWdlci5wcm90b3R5cGUuY29weVRvID0gYm5wQ29weVRvOwotICBC
aWdJbnRlZ2VyLnByb3RvdHlwZS5mcm9tSW50ID0gYm5wRnJvbUludDsKLSAgQmlnSW50ZWdlci5w
cm90b3R5cGUuZnJvbVN0cmluZyA9IGJucEZyb21TdHJpbmc7Ci0gIEJpZ0ludGVnZXIucHJvdG90
eXBlLmNsYW1wID0gYm5wQ2xhbXA7Ci0gIEJpZ0ludGVnZXIucHJvdG90eXBlLmRsU2hpZnRUbyA9
IGJucERMU2hpZnRUbzsKLSAgQmlnSW50ZWdlci5wcm90b3R5cGUuZHJTaGlmdFRvID0gYm5wRFJT
aGlmdFRvOwotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5sU2hpZnRUbyA9IGJucExTaGlmdFRvOwot
ICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5yU2hpZnRUbyA9IGJucFJTaGlmdFRvOwotICBCaWdJbnRl
Z2VyLnByb3RvdHlwZS5zdWJUbyA9IGJucFN1YlRvOwotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5t
dWx0aXBseVRvID0gYm5wTXVsdGlwbHlUbzsKLSAgQmlnSW50ZWdlci5wcm90b3R5cGUuc3F1YXJl
VG8gPSBibnBTcXVhcmVUbzsKLSAgQmlnSW50ZWdlci5wcm90b3R5cGUuZGl2UmVtVG8gPSBibnBE
aXZSZW1UbzsKLSAgQmlnSW50ZWdlci5wcm90b3R5cGUuaW52RGlnaXQgPSBibnBJbnZEaWdpdDsK
LSAgQmlnSW50ZWdlci5wcm90b3R5cGUuaXNFdmVuID0gYm5wSXNFdmVuOwotICBCaWdJbnRlZ2Vy
LnByb3RvdHlwZS5leHAgPSBibnBFeHA7Ci0gIC8vIHB1YmxpYwotICBCaWdJbnRlZ2VyLnByb3Rv
dHlwZS50b1N0cmluZyA9IGJuVG9TdHJpbmc7Ci0gIEJpZ0ludGVnZXIucHJvdG90eXBlLm5lZ2F0
ZSA9IGJuTmVnYXRlOwotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5hYnMgPSBibkFiczsKLSAgQmln
SW50ZWdlci5wcm90b3R5cGUuY29tcGFyZVRvID0gYm5Db21wYXJlVG87Ci0gIEJpZ0ludGVnZXIu
cHJvdG90eXBlLmJpdExlbmd0aCA9IGJuQml0TGVuZ3RoOwotICBCaWdJbnRlZ2VyLnByb3RvdHlw
ZS5tb2QgPSBibk1vZDsKLSAgQmlnSW50ZWdlci5wcm90b3R5cGUubW9kUG93SW50ID0gYm5Nb2RQ
b3dJbnQ7Ci0gIC8vICJjb25zdGFudHMiCi0gIEJpZ0ludGVnZXIuWkVSTyA9IG5idigwKTsKLSAg
QmlnSW50ZWdlci5PTkUgPSBuYnYoMSk7Ci0gIC8vIGpzYm4yIHN0dWZmCi0gIC8vIChwcm90ZWN0
ZWQpIGNvbnZlcnQgZnJvbSByYWRpeCBzdHJpbmcKLSAgZnVuY3Rpb24gYm5wRnJvbVJhZGl4KHMs
YikgewotICAgIHRoaXMuZnJvbUludCgwKTsKLSAgICBpZihiID09IG51bGwpIGIgPSAxMDsKLSAg
ICB2YXIgY3MgPSB0aGlzLmNodW5rU2l6ZShiKTsKLSAgICB2YXIgZCA9IE1hdGgucG93KGIsY3Mp
LCBtaSA9IGZhbHNlLCBqID0gMCwgdyA9IDA7Ci0gICAgZm9yKHZhciBpID0gMDsgaSA8IHMubGVu
Z3RoOyArK2kpIHsKLSAgICAgIHZhciB4ID0gaW50QXQocyxpKTsKLSAgICAgIGlmKHggPCAwKSB7
Ci0gICAgICAgIGlmKHMuY2hhckF0KGkpID09ICItIiAmJiB0aGlzLnNpZ251bSgpID09IDApIG1p
ID0gdHJ1ZTsKLSAgICAgICAgY29udGludWU7Ci0gICAgICB9Ci0gICAgICB3ID0gYip3K3g7Ci0g
ICAgICBpZigrK2ogPj0gY3MpIHsKLSAgICAgICAgdGhpcy5kTXVsdGlwbHkoZCk7Ci0gICAgICAg
IHRoaXMuZEFkZE9mZnNldCh3LDApOwotICAgICAgICBqID0gMDsKLSAgICAgICAgdyA9IDA7Ci0g
ICAgICB9Ci0gICAgfQotICAgIGlmKGogPiAwKSB7Ci0gICAgICB0aGlzLmRNdWx0aXBseShNYXRo
LnBvdyhiLGopKTsKLSAgICAgIHRoaXMuZEFkZE9mZnNldCh3LDApOwotICAgIH0KLSAgICBpZiht
aSkgQmlnSW50ZWdlci5aRVJPLnN1YlRvKHRoaXMsdGhpcyk7Ci0gIH0KLSAgLy8gKHByb3RlY3Rl
ZCkgcmV0dXJuIHggcy50LiByXnggPCBEVgotICBmdW5jdGlvbiBibnBDaHVua1NpemUocikgeyBy
ZXR1cm4gTWF0aC5mbG9vcihNYXRoLkxOMip0aGlzLkRCL01hdGgubG9nKHIpKTsgfQotICAvLyAo
cHVibGljKSAwIGlmIHRoaXMgPT0gMCwgMSBpZiB0aGlzID4gMAotICBmdW5jdGlvbiBiblNpZ051
bSgpIHsKLSAgICBpZih0aGlzLnMgPCAwKSByZXR1cm4gLTE7Ci0gICAgZWxzZSBpZih0aGlzLnQg
PD0gMCB8fCAodGhpcy50ID09IDEgJiYgdGhpc1swXSA8PSAwKSkgcmV0dXJuIDA7Ci0gICAgZWxz
ZSByZXR1cm4gMTsKLSAgfQotICAvLyAocHJvdGVjdGVkKSB0aGlzICo9IG4sIHRoaXMgPj0gMCwg
MSA8IG4gPCBEVgotICBmdW5jdGlvbiBibnBETXVsdGlwbHkobikgewotICAgIHRoaXNbdGhpcy50
XSA9IHRoaXMuYW0oMCxuLTEsdGhpcywwLDAsdGhpcy50KTsKLSAgICArK3RoaXMudDsKLSAgICB0
aGlzLmNsYW1wKCk7Ci0gIH0KLSAgLy8gKHByb3RlY3RlZCkgdGhpcyArPSBuIDw8IHcgd29yZHMs
IHRoaXMgPj0gMAotICBmdW5jdGlvbiBibnBEQWRkT2Zmc2V0KG4sdykgewotICAgIGlmKG4gPT0g
MCkgcmV0dXJuOwotICAgIHdoaWxlKHRoaXMudCA8PSB3KSB0aGlzW3RoaXMudCsrXSA9IDA7Ci0g
ICAgdGhpc1t3XSArPSBuOwotICAgIHdoaWxlKHRoaXNbd10gPj0gdGhpcy5EVikgewotICAgICAg
dGhpc1t3XSAtPSB0aGlzLkRWOwotICAgICAgaWYoKyt3ID49IHRoaXMudCkgdGhpc1t0aGlzLnQr
K10gPSAwOwotICAgICAgKyt0aGlzW3ddOwotICAgIH0KLSAgfQotICAvLyAocHJvdGVjdGVkKSBj
b252ZXJ0IHRvIHJhZGl4IHN0cmluZwotICBmdW5jdGlvbiBibnBUb1JhZGl4KGIpIHsKLSAgICBp
ZihiID09IG51bGwpIGIgPSAxMDsKLSAgICBpZih0aGlzLnNpZ251bSgpID09IDAgfHwgYiA8IDIg
fHwgYiA+IDM2KSByZXR1cm4gIjAiOwotICAgIHZhciBjcyA9IHRoaXMuY2h1bmtTaXplKGIpOwot
ICAgIHZhciBhID0gTWF0aC5wb3coYixjcyk7Ci0gICAgdmFyIGQgPSBuYnYoYSksIHkgPSBuYmko
KSwgeiA9IG5iaSgpLCByID0gIiI7Ci0gICAgdGhpcy5kaXZSZW1UbyhkLHkseik7Ci0gICAgd2hp
bGUoeS5zaWdudW0oKSA+IDApIHsKLSAgICAgIHIgPSAoYSt6LmludFZhbHVlKCkpLnRvU3RyaW5n
KGIpLnN1YnN0cigxKSArIHI7Ci0gICAgICB5LmRpdlJlbVRvKGQseSx6KTsKLSAgICB9Ci0gICAg
cmV0dXJuIHouaW50VmFsdWUoKS50b1N0cmluZyhiKSArIHI7Ci0gIH0KLSAgLy8gKHB1YmxpYykg
cmV0dXJuIHZhbHVlIGFzIGludGVnZXIKLSAgZnVuY3Rpb24gYm5JbnRWYWx1ZSgpIHsKLSAgICBp
Zih0aGlzLnMgPCAwKSB7Ci0gICAgICBpZih0aGlzLnQgPT0gMSkgcmV0dXJuIHRoaXNbMF0tdGhp
cy5EVjsKLSAgICAgIGVsc2UgaWYodGhpcy50ID09IDApIHJldHVybiAtMTsKLSAgICB9Ci0gICAg
ZWxzZSBpZih0aGlzLnQgPT0gMSkgcmV0dXJuIHRoaXNbMF07Ci0gICAgZWxzZSBpZih0aGlzLnQg
PT0gMCkgcmV0dXJuIDA7Ci0gICAgLy8gYXNzdW1lcyAxNiA8IERCIDwgMzIKLSAgICByZXR1cm4g
KCh0aGlzWzFdJigoMTw8KDMyLXRoaXMuREIpKS0xKSk8PHRoaXMuREIpfHRoaXNbMF07Ci0gIH0K
LSAgLy8gKHByb3RlY3RlZCkgciA9IHRoaXMgKyBhCi0gIGZ1bmN0aW9uIGJucEFkZFRvKGEscikg
ewotICAgIHZhciBpID0gMCwgYyA9IDAsIG0gPSBNYXRoLm1pbihhLnQsdGhpcy50KTsKLSAgICB3
aGlsZShpIDwgbSkgewotICAgICAgYyArPSB0aGlzW2ldK2FbaV07Ci0gICAgICByW2krK10gPSBj
JnRoaXMuRE07Ci0gICAgICBjID4+PSB0aGlzLkRCOwotICAgIH0KLSAgICBpZihhLnQgPCB0aGlz
LnQpIHsKLSAgICAgIGMgKz0gYS5zOwotICAgICAgd2hpbGUoaSA8IHRoaXMudCkgewotICAgICAg
ICBjICs9IHRoaXNbaV07Ci0gICAgICAgIHJbaSsrXSA9IGMmdGhpcy5ETTsKLSAgICAgICAgYyA+
Pj0gdGhpcy5EQjsKLSAgICAgIH0KLSAgICAgIGMgKz0gdGhpcy5zOwotICAgIH0KLSAgICBlbHNl
IHsKLSAgICAgIGMgKz0gdGhpcy5zOwotICAgICAgd2hpbGUoaSA8IGEudCkgewotICAgICAgICBj
ICs9IGFbaV07Ci0gICAgICAgIHJbaSsrXSA9IGMmdGhpcy5ETTsKLSAgICAgICAgYyA+Pj0gdGhp
cy5EQjsKLSAgICAgIH0KLSAgICAgIGMgKz0gYS5zOwotICAgIH0KLSAgICByLnMgPSAoYzwwKT8t
MTowOwotICAgIGlmKGMgPiAwKSByW2krK10gPSBjOwotICAgIGVsc2UgaWYoYyA8IC0xKSByW2kr
K10gPSB0aGlzLkRWK2M7Ci0gICAgci50ID0gaTsKLSAgICByLmNsYW1wKCk7Ci0gIH0KLSAgQmln
SW50ZWdlci5wcm90b3R5cGUuZnJvbVJhZGl4ID0gYm5wRnJvbVJhZGl4OwotICBCaWdJbnRlZ2Vy
LnByb3RvdHlwZS5jaHVua1NpemUgPSBibnBDaHVua1NpemU7Ci0gIEJpZ0ludGVnZXIucHJvdG90
eXBlLnNpZ251bSA9IGJuU2lnTnVtOwotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS5kTXVsdGlwbHkg
PSBibnBETXVsdGlwbHk7Ci0gIEJpZ0ludGVnZXIucHJvdG90eXBlLmRBZGRPZmZzZXQgPSBibnBE
QWRkT2Zmc2V0OwotICBCaWdJbnRlZ2VyLnByb3RvdHlwZS50b1JhZGl4ID0gYm5wVG9SYWRpeDsK
LSAgQmlnSW50ZWdlci5wcm90b3R5cGUuaW50VmFsdWUgPSBibkludFZhbHVlOwotICBCaWdJbnRl
Z2VyLnByb3RvdHlwZS5hZGRUbyA9IGJucEFkZFRvOwotICAvLz09PT09PT0gZW5kIGpzYm4gPT09
PT09PQotICAvLyBFbXNjcmlwdGVuIHdyYXBwZXIKLSAgdmFyIFdyYXBwZXIgPSB7Ci0gICAgYWJz
OiBmdW5jdGlvbihsLCBoKSB7Ci0gICAgICB2YXIgeCA9IG5ldyBnb29nLm1hdGguTG9uZyhsLCBo
KTsKLSAgICAgIHZhciByZXQ7Ci0gICAgICBpZiAoeC5pc05lZ2F0aXZlKCkpIHsKLSAgICAgICAg
cmV0ID0geC5uZWdhdGUoKTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldCA9IHg7Ci0gICAg
ICB9Ci0gICAgICBIRUFQMzJbdGVtcERvdWJsZVB0cj4+Ml0gPSByZXQubG93XzsKLSAgICAgIEhF
QVAzMlt0ZW1wRG91YmxlUHRyKzQ+PjJdID0gcmV0LmhpZ2hfOwotICAgIH0sCi0gICAgZW5zdXJl
VGVtcHM6IGZ1bmN0aW9uKCkgewotICAgICAgaWYgKFdyYXBwZXIuZW5zdXJlZFRlbXBzKSByZXR1
cm47Ci0gICAgICBXcmFwcGVyLmVuc3VyZWRUZW1wcyA9IHRydWU7Ci0gICAgICBXcmFwcGVyLnR3
bzMyID0gbmV3IEJpZ0ludGVnZXIoKTsKLSAgICAgIFdyYXBwZXIudHdvMzIuZnJvbVN0cmluZygn
NDI5NDk2NzI5NicsIDEwKTsKLSAgICAgIFdyYXBwZXIudHdvNjQgPSBuZXcgQmlnSW50ZWdlcigp
OwotICAgICAgV3JhcHBlci50d282NC5mcm9tU3RyaW5nKCcxODQ0Njc0NDA3MzcwOTU1MTYxNics
IDEwKTsKLSAgICAgIFdyYXBwZXIudGVtcDEgPSBuZXcgQmlnSW50ZWdlcigpOwotICAgICAgV3Jh
cHBlci50ZW1wMiA9IG5ldyBCaWdJbnRlZ2VyKCk7Ci0gICAgfSwKLSAgICBsaDJiaWdudW06IGZ1
bmN0aW9uKGwsIGgpIHsKLSAgICAgIHZhciBhID0gbmV3IEJpZ0ludGVnZXIoKTsKLSAgICAgIGEu
ZnJvbVN0cmluZyhoLnRvU3RyaW5nKCksIDEwKTsKLSAgICAgIHZhciBiID0gbmV3IEJpZ0ludGVn
ZXIoKTsKLSAgICAgIGEubXVsdGlwbHlUbyhXcmFwcGVyLnR3bzMyLCBiKTsKLSAgICAgIHZhciBj
ID0gbmV3IEJpZ0ludGVnZXIoKTsKLSAgICAgIGMuZnJvbVN0cmluZyhsLnRvU3RyaW5nKCksIDEw
KTsKLSAgICAgIHZhciBkID0gbmV3IEJpZ0ludGVnZXIoKTsKLSAgICAgIGMuYWRkVG8oYiwgZCk7
Ci0gICAgICByZXR1cm4gZDsKLSAgICB9LAotICAgIHN0cmluZ2lmeTogZnVuY3Rpb24obCwgaCwg
dW5zaWduZWQpIHsKLSAgICAgIHZhciByZXQgPSBuZXcgZ29vZy5tYXRoLkxvbmcobCwgaCkudG9T
dHJpbmcoKTsKLSAgICAgIGlmICh1bnNpZ25lZCAmJiByZXRbMF0gPT0gJy0nKSB7Ci0gICAgICAg
IC8vIHVuc2lnbiBzbG93bHkgdXNpbmcganNibiBiaWdudW1zCi0gICAgICAgIFdyYXBwZXIuZW5z
dXJlVGVtcHMoKTsKLSAgICAgICAgdmFyIGJpZ251bSA9IG5ldyBCaWdJbnRlZ2VyKCk7Ci0gICAg
ICAgIGJpZ251bS5mcm9tU3RyaW5nKHJldCwgMTApOwotICAgICAgICByZXQgPSBuZXcgQmlnSW50
ZWdlcigpOwotICAgICAgICBXcmFwcGVyLnR3bzY0LmFkZFRvKGJpZ251bSwgcmV0KTsKLSAgICAg
ICAgcmV0ID0gcmV0LnRvU3RyaW5nKDEwKTsKLSAgICAgIH0KLSAgICAgIHJldHVybiByZXQ7Ci0g
ICAgfSwKLSAgICBmcm9tU3RyaW5nOiBmdW5jdGlvbihzdHIsIGJhc2UsIG1pbiwgbWF4LCB1bnNp
Z25lZCkgewotICAgICAgV3JhcHBlci5lbnN1cmVUZW1wcygpOwotICAgICAgdmFyIGJpZ251bSA9
IG5ldyBCaWdJbnRlZ2VyKCk7Ci0gICAgICBiaWdudW0uZnJvbVN0cmluZyhzdHIsIGJhc2UpOwot
ICAgICAgdmFyIGJpZ21pbiA9IG5ldyBCaWdJbnRlZ2VyKCk7Ci0gICAgICBiaWdtaW4uZnJvbVN0
cmluZyhtaW4sIDEwKTsKLSAgICAgIHZhciBiaWdtYXggPSBuZXcgQmlnSW50ZWdlcigpOwotICAg
ICAgYmlnbWF4LmZyb21TdHJpbmcobWF4LCAxMCk7Ci0gICAgICBpZiAodW5zaWduZWQgJiYgYmln
bnVtLmNvbXBhcmVUbyhCaWdJbnRlZ2VyLlpFUk8pIDwgMCkgewotICAgICAgICB2YXIgdGVtcCA9
IG5ldyBCaWdJbnRlZ2VyKCk7Ci0gICAgICAgIGJpZ251bS5hZGRUbyhXcmFwcGVyLnR3bzY0LCB0
ZW1wKTsKLSAgICAgICAgYmlnbnVtID0gdGVtcDsKLSAgICAgIH0KLSAgICAgIHZhciBlcnJvciA9
IGZhbHNlOwotICAgICAgaWYgKGJpZ251bS5jb21wYXJlVG8oYmlnbWluKSA8IDApIHsKLSAgICAg
ICAgYmlnbnVtID0gYmlnbWluOwotICAgICAgICBlcnJvciA9IHRydWU7Ci0gICAgICB9IGVsc2Ug
aWYgKGJpZ251bS5jb21wYXJlVG8oYmlnbWF4KSA+IDApIHsKLSAgICAgICAgYmlnbnVtID0gYmln
bWF4OwotICAgICAgICBlcnJvciA9IHRydWU7Ci0gICAgICB9Ci0gICAgICB2YXIgcmV0ID0gZ29v
Zy5tYXRoLkxvbmcuZnJvbVN0cmluZyhiaWdudW0udG9TdHJpbmcoKSk7IC8vIG1pbi1tYXggY2hl
Y2tzIHNob3VsZCBoYXZlIGNsYW1wZWQgdGhpcyB0byBhIHJhbmdlIGdvb2cubWF0aC5Mb25nIGNh
biBoYW5kbGUgd2VsbAotICAgICAgSEVBUDMyW3RlbXBEb3VibGVQdHI+PjJdID0gcmV0Lmxvd187
Ci0gICAgICBIRUFQMzJbdGVtcERvdWJsZVB0cis0Pj4yXSA9IHJldC5oaWdoXzsKLSAgICAgIGlm
IChlcnJvcikgdGhyb3cgJ3JhbmdlIGVycm9yJzsKLSAgICB9Ci0gIH07Ci0gIHJldHVybiBXcmFw
cGVyOwotfSkoKTsKLS8vPT09PT09PSBlbmQgY2xvc3VyZSBpNjQgY29kZSA9PT09PT09Ci0vLyA9
PT0gQXV0by1nZW5lcmF0ZWQgcG9zdGFtYmxlIHNldHVwIGVudHJ5IHN0dWZmID09PQotZnVuY3Rp
b24gRXhpdFN0YXR1cyhzdGF0dXMpIHsKLSAgdGhpcy5uYW1lID0gIkV4aXRTdGF0dXMiOwotICB0
aGlzLm1lc3NhZ2UgPSAiUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggZXhpdCgiICsgc3RhdHVzICsg
IikiOwotICB0aGlzLnN0YXR1cyA9IHN0YXR1czsKLX07Ci1FeGl0U3RhdHVzLnByb3RvdHlwZSA9
IG5ldyBFcnJvcigpOwotRXhpdFN0YXR1cy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBFeGl0U3Rh
dHVzOwotdmFyIGluaXRpYWxTdGFja1RvcDsKLXZhciBwcmVsb2FkU3RhcnRUaW1lID0gbnVsbDsK
LU1vZHVsZVsnY2FsbE1haW4nXSA9IE1vZHVsZS5jYWxsTWFpbiA9IGZ1bmN0aW9uIGNhbGxNYWlu
KGFyZ3MpIHsKLSAgYXNzZXJ0KHJ1bkRlcGVuZGVuY2llcyA9PSAwLCAnY2Fubm90IGNhbGwgbWFp
biB3aGVuIGFzeW5jIGRlcGVuZGVuY2llcyByZW1haW4hIChsaXN0ZW4gb24gX19BVE1BSU5fXykn
KTsKLSAgYXNzZXJ0KF9fQVRQUkVSVU5fXy5sZW5ndGggPT0gMCwgJ2Nhbm5vdCBjYWxsIG1haW4g
d2hlbiBwcmVSdW4gZnVuY3Rpb25zIHJlbWFpbiB0byBiZSBjYWxsZWQnKTsKLSAgYXJncyA9IGFy
Z3MgfHwgW107Ci0gIGlmIChFTlZJUk9OTUVOVF9JU19XRUIgJiYgcHJlbG9hZFN0YXJ0VGltZSAh
PT0gbnVsbCkgewotICAgIC8vTW9kdWxlLnByaW50RXJyKCdwcmVsb2FkIHRpbWU6ICcgKyAoRGF0
ZS5ub3coKSAtIHByZWxvYWRTdGFydFRpbWUpICsgJyBtcycpOwotICB9Ci0gIGVuc3VyZUluaXRS
dW50aW1lKCk7Ci0gIHZhciBhcmdjID0gYXJncy5sZW5ndGgrMTsKLSAgZnVuY3Rpb24gcGFkKCkg
ewotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNC0xOyBpKyspIHsKLSAgICAgIGFyZ3YucHVzaCgw
KTsKLSAgICB9Ci0gIH0KLSAgdmFyIGFyZ3YgPSBbYWxsb2NhdGUoaW50QXJyYXlGcm9tU3RyaW5n
KCIvYmluL3RoaXMucHJvZ3JhbSIpLCAnaTgnLCBBTExPQ19OT1JNQUwpIF07Ci0gIHBhZCgpOwot
ICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ2MtMTsgaSA9IGkgKyAxKSB7Ci0gICAgYXJndi5wdXNo
KGFsbG9jYXRlKGludEFycmF5RnJvbVN0cmluZyhhcmdzW2ldKSwgJ2k4JywgQUxMT0NfTk9STUFM
KSk7Ci0gICAgcGFkKCk7Ci0gIH0KLSAgYXJndi5wdXNoKDApOwotICBhcmd2ID0gYWxsb2NhdGUo
YXJndiwgJ2kzMicsIEFMTE9DX05PUk1BTCk7Ci0gIGluaXRpYWxTdGFja1RvcCA9IFNUQUNLVE9Q
OwotICB0cnkgewotICAgIHZhciByZXQgPSBNb2R1bGVbJ19tYWluJ10oYXJnYywgYXJndiwgMCk7
Ci0gICAgLy8gaWYgd2UncmUgbm90IHJ1bm5pbmcgYW4gZXZlbnRlZCBtYWluIGxvb3AsIGl0J3Mg
dGltZSB0byBleGl0Ci0gICAgaWYgKCFNb2R1bGVbJ25vRXhpdFJ1bnRpbWUnXSkgewotICAgICAg
ZXhpdChyZXQpOwotICAgIH0KLSAgfQotICBjYXRjaChlKSB7Ci0gICAgaWYgKGUgaW5zdGFuY2Vv
ZiBFeGl0U3RhdHVzKSB7Ci0gICAgICAvLyBleGl0KCkgdGhyb3dzIHRoaXMgb25jZSBpdCdzIGRv
bmUgdG8gbWFrZSBzdXJlIGV4ZWN1dGlvbgotICAgICAgLy8gaGFzIGJlZW4gc3RvcHBlZCBjb21w
bGV0ZWx5Ci0gICAgICByZXR1cm47Ci0gICAgfSBlbHNlIGlmIChlID09ICdTaW11bGF0ZUluZmlu
aXRlTG9vcCcpIHsKLSAgICAgIC8vIHJ1bm5pbmcgYW4gZXZlbnRlZCBtYWluIGxvb3AsIGRvbid0
IGltbWVkaWF0ZWx5IGV4aXQKLSAgICAgIE1vZHVsZVsnbm9FeGl0UnVudGltZSddID0gdHJ1ZTsK
LSAgICAgIHJldHVybjsKLSAgICB9IGVsc2UgewotICAgICAgdGhyb3cgZTsKLSAgICB9Ci0gIH0K
LX0KLWZ1bmN0aW9uIHJ1bihhcmdzKSB7Ci0gIGFyZ3MgPSBhcmdzIHx8IE1vZHVsZVsnYXJndW1l
bnRzJ107Ci0gIGlmIChwcmVsb2FkU3RhcnRUaW1lID09PSBudWxsKSBwcmVsb2FkU3RhcnRUaW1l
ID0gRGF0ZS5ub3coKTsKLSAgaWYgKHJ1bkRlcGVuZGVuY2llcyA+IDApIHsKLSAgICAvL01vZHVs
ZS5wcmludEVycigncnVuKCkgY2FsbGVkLCBidXQgZGVwZW5kZW5jaWVzIHJlbWFpbiwgc28gbm90
IHJ1bm5pbmcnKTsKLSAgICByZXR1cm47Ci0gIH0KLSAgcHJlUnVuKCk7Ci0gIGlmIChydW5EZXBl
bmRlbmNpZXMgPiAwKSB7Ci0gICAgLy8gYSBwcmVSdW4gYWRkZWQgYSBkZXBlbmRlbmN5LCBydW4g
d2lsbCBiZSBjYWxsZWQgbGF0ZXIKLSAgICByZXR1cm47Ci0gIH0KLSAgZnVuY3Rpb24gZG9SdW4o
KSB7Ci0gICAgZW5zdXJlSW5pdFJ1bnRpbWUoKTsKLSAgICBwcmVNYWluKCk7Ci0gICAgY2FsbGVk
UnVuID0gdHJ1ZTsKLSAgICBpZiAoTW9kdWxlWydfbWFpbiddICYmIHNob3VsZFJ1bk5vdykgewot
ICAgICAgTW9kdWxlWydjYWxsTWFpbiddKGFyZ3MpOwotICAgIH0KLSAgICBwb3N0UnVuKCk7Ci0g
IH0KLSAgaWYgKE1vZHVsZVsnc2V0U3RhdHVzJ10pIHsKLSAgICBNb2R1bGVbJ3NldFN0YXR1cydd
KCdSdW5uaW5nLi4uJyk7Ci0gICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgIHNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIE1vZHVsZVsnc2V0U3RhdHVzJ10oJycpOwotICAg
ICAgfSwgMSk7Ci0gICAgICBpZiAoIUFCT1JUKSBkb1J1bigpOwotICAgIH0sIDEpOwotICB9IGVs
c2UgewotICAgIGRvUnVuKCk7Ci0gIH0KLX0KLU1vZHVsZVsncnVuJ10gPSBNb2R1bGUucnVuID0g
cnVuOwotZnVuY3Rpb24gZXhpdChzdGF0dXMpIHsKLSAgQUJPUlQgPSB0cnVlOwotICBFWElUU1RB
VFVTID0gc3RhdHVzOwotICBTVEFDS1RPUCA9IGluaXRpYWxTdGFja1RvcDsKLSAgLy8gZXhpdCB0
aGUgcnVudGltZQotICBleGl0UnVudGltZSgpOwotICAvLyB0aHJvdyBhbiBleGNlcHRpb24gdG8g
aGFsdCB0aGUgY3VycmVudCBleGVjdXRpb24KLSAgdGhyb3cgbmV3IEV4aXRTdGF0dXMoc3RhdHVz
KTsKLX0KLU1vZHVsZVsnZXhpdCddID0gTW9kdWxlLmV4aXQgPSBleGl0OwotZnVuY3Rpb24gYWJv
cnQodGV4dCkgewotICBpZiAodGV4dCkgewotICAgIE1vZHVsZS5wcmludCh0ZXh0KTsKLSAgICBN
b2R1bGUucHJpbnRFcnIodGV4dCk7Ci0gIH0KLSAgQUJPUlQgPSB0cnVlOwotICBFWElUU1RBVFVT
ID0gMTsKLSAgdGhyb3cgJ2Fib3J0KCkgYXQgJyArIChuZXcgRXJyb3IoKS5zdGFjayk7Ci19Ci1N
b2R1bGVbJ2Fib3J0J10gPSBNb2R1bGUuYWJvcnQgPSBhYm9ydDsKLS8vIHt7UFJFX1JVTl9BRERJ
VElPTlN9fQotaWYgKE1vZHVsZVsncHJlSW5pdCddKSB7Ci0gIGlmICh0eXBlb2YgTW9kdWxlWydw
cmVJbml0J10gPT0gJ2Z1bmN0aW9uJykgTW9kdWxlWydwcmVJbml0J10gPSBbTW9kdWxlWydwcmVJ
bml0J11dOwotICB3aGlsZSAoTW9kdWxlWydwcmVJbml0J10ubGVuZ3RoID4gMCkgewotICAgIE1v
ZHVsZVsncHJlSW5pdCddLnBvcCgpKCk7Ci0gIH0KLX0KLS8vIHNob3VsZFJ1bk5vdyByZWZlcnMg
dG8gY2FsbGluZyBtYWluKCksIG5vdCBydW4oKS4KLXZhciBzaG91bGRSdW5Ob3cgPSB0cnVlOwot
aWYgKE1vZHVsZVsnbm9Jbml0aWFsUnVuJ10pIHsKLSAgc2hvdWxkUnVuTm93ID0gZmFsc2U7Ci19
Ci1ydW4oKTsKLS8vIHt7UE9TVF9SVU5fQURESVRJT05TfX0KLS8vIHt7TU9EVUxFX0FERElUSU9O
U319CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3N0ZXBhbm92X2NvbnRhaW5l
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3N0ZXBhbm92X2NvbnRhaW5l
ci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwZmI2ZjBhODQy
YmRiMTA3OTJiOTU1ZjMxMmQ2ZGNkNzg1MTMyYTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zdGVwYW5vdl9jb250
YWluZXItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotSlNSZWdy
ZXNzL3N0ZXBhbm92X2NvbnRhaW5lcgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQot
UEFTUyBubyBleGNlcHRpb24gdGhyb3duCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9z
dGVwYW5vdl9jb250YWluZXIuaHRtbCBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc3RlcGFub3Zf
Y29udGFpbmVyLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViOTVmNzUyMTIx
MGM0YjY2YzcwZDcyZGUyZTI1ZDU2MTE2OTc4OTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zdGVwYW5vdl9jb250
YWluZXIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLTwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZWdyZXNzLXByZS5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3N0ZXBhbm92X2NvbnRhaW5lci5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3JlZ3Jlc3MtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMv
ZGZnLWFkZC1ub3QtbnVtYmVyLmpzIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2RmZy1h
ZGQtbm90LW51bWJlci5qcwppbmRleCAxMmMxNGQwODdhMTk0ODQ4YzQ1ZjUxOTkzZmU5YjYwODAz
NGY2Yjc5Li5kNDM1YzYyNmNmMGJmNGM1ZjE2YmMyYzIxMzUwYWMyNjIxM2I0N2FhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvZGZnLWFkZC1ub3QtbnVtYmVyLmpzCisr
KyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9kZmctYWRkLW5vdC1udW1iZXIuanMKQEAg
LTEsMyArMSw2IEBACisvLyBUaGlzIHRlc3Qgd29uJ3QgZ2V0IGludG8gdGhlIEZUTCBjdXJyZW50
bHksIHNpbmNlIHRoZSBmb28oKSBmdW5jdGlvbiBqdXN0IGV4aXRzIGEgbG90LgorLy9AIG5vRlRM
UnVuTGF5b3V0VGVzdAorCiBkZXNjcmlwdGlvbigKICJUZXN0cyB0aGF0IGFkZGluZyB0aGluZ3Mg
dGhhdCBhcmVuJ3QgbnVtYmVycyB1c2luZyArKyBkb2VzIG5vdCBjcmFzaCBvciBnZW5lcmF0ZSBi
b2d1cyBjb2RlLiIKICk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMv
bGFyZ2UtZXhwcmVzc2lvbnMuanMgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvbGFyZ2Ut
ZXhwcmVzc2lvbnMuanMKaW5kZXggNTI0NzJiYzMxYWJlYjgyYWU3YjFkNjA3ZTQ3YjYyYWRjZTA4
ODc1MS4uNDVkYmNiN2JlNGExNmYyYjMyMWViOWVjZWYwNzYxZTM5YzkwOThmMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2xhcmdlLWV4cHJlc3Npb25zLmpzCisrKyBi
L0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9sYXJnZS1leHByZXNzaW9ucy5qcwpAQCAtMzAs
NSArMzAsNSBAQCBmdW5jdGlvbiByZXBlYXRlZFN0cmluZyh2YWx1ZSwgY291bnQpCiAKIHNob3Vs
ZEJlKCdldmFsKHJlcGVhdGVkRXhwcmVzc2lvbigibGV0dGVyQSIsICIrIiwgMTAwKSknLCAncmVw
ZWF0ZWRTdHJpbmcoImEiLCAxMDApJyk7CiBzaG91bGRCZSgnZXZhbChyZXBlYXRlZEV4cHJlc3Np
b24oImxldHRlckEiLCAiKyIsIDEwMDApKScsICdyZXBlYXRlZFN0cmluZygiYSIsIDEwMDApJyk7
Ci1zaG91bGRCZSgnZXZhbChyZXBlYXRlZEV4cHJlc3Npb24oImxldHRlckEiLCAiKyIsIDEwMDAw
KSknLCAncmVwZWF0ZWRTdHJpbmcoImEiLCAxMDAwMCknKTsKK3Nob3VsZFRocm93KCdldmFsKHJl
cGVhdGVkRXhwcmVzc2lvbigibGV0dGVyQSIsICIrIiwgMTAwMDApKScpOwogc2hvdWxkVGhyb3co
J2V2YWwocmVwZWF0ZWRFeHByZXNzaW9uKCJsZXR0ZXJBIiwgIisiLCAxMDAwMDApKScpOwo=
</data>
<flag name="commit-queue"
          id="246443"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>222448</attachid>
            <date>2014-01-28 08:45:53 -0800</date>
            <delta_ts>2014-01-28 08:45:53 -0800</delta_ts>
            <desc>Archive of layout-test-results from webkit-ews-06 for mac-mountainlion</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>495818</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
VSMVdv6SrHJoByd+dQ2wSl0DVNjlXOmdMkvPBl5X3gPsA7tdAQZF28GGWQEYq5vDRrMKCFSrmH7I
A+FUwRZWNo9O66HG0z5dXhydX1weH715e/TB2sa42jXpIhyGom6aDlLjJ9NxMmfjcbL5xPJgNc1n
+yxn8iTufs907DXbNT8LiQJqDPGmt777Cn6ie+PtR8XzHfa7spmlttAmqFEA+WxXPQJa9gRao5hH
MfUa5Ywrl3w1XJz0B7FxfvL7xdGHP342xCCJY9mOefya/e1/UEsDBAoAAAAAAME8PEQAAAAAAAAA
AAAAAAAFABwAZmFzdC9VVAkAA9nO51Ib0OdSdXgLAAEE9QEAAARQAAAAUEsDBAoAAAAAAKU8PEQA
AAAAAAAAAAAAAAAMABwAZmFzdC9pbWFnZXMvVVQJAAOlzudSG9DnUnV4CwABBPUBAAAEUAAAAFBL
AwQUAAIACAClPDxEIY+9ODIAAAAzAAAALAAcAGZhc3QvaW1hZ2VzL3BkZi1hcy1pbWFnZS1jcm9w
LWJveC1zdGRlcnIudHh0VVQJAAOlzudSpc7nUnV4CwABBPUBAAAEUAAAAHPLSSxJdUlNzk9JtVJI
AdGZeekKqUVF+UVWCpl5yflFRanJJQopiSWJCskZqcnZelwAUEsDBAoAAAAAAME8PEQAAAAAAAAA
AAAAAAAJABwAZmFzdC94c2wvVVQJAAPZzudSG9DnUnV4CwABBPUBAAAEUAAAAFBLAwQUAAIACADB
PDxEcv1l8oUAAADpAAAAJQAcAGZhc3QveHNsL3RyYW5zZm9ybS14aHItZG9jLXN0ZGVyci50eHRV
VAkAA9nO51LZzudSdXgLAAEE9QEAAARQAAAArU4xDsJADNv7inygZGC7GSbYQHRO21SclLtUuZzU
/p6DfoHFsmzL9qRpjUIeNQObqQVYovAPAiK+VGrighdywuvwwIHHW3S8067Vn1y84ELFcSuCxkWr
TS2+va2fdTo1FSRmhjOwcOLsENOq5l1zwkEhQM00tlFXEKX5T+P9Uc/z90X3AVBLAwQUAAIACADB
PDxEiR8h/pcAAADAAwAAJwAcAGZhc3QveHNsL3hzbHQtYmFkLWltcG9ydC11cmktc3RkZXJyLnR4
dFVUCQAD2c7nUtnO51J1eAsAAQT1AQAABFAAAADtjzEOwjAMRfeewhcoHtgywwQbiM5u6opITlwl
jlRuT6BHYENdLNvf/vrPa1yCkAVNwDlrdjAH4W9xiPhQqZELnsgIz8MNBx4vwfBKL61252IFZyqG
axHMXLRm387bZP1IUx/iotn6msOh7UBCYjgCC0dOBpvaNcVtLTioicYWwBREafo1SNJS/fNj0v5E
Or/z7rx/xPsGUEsDBBQAAgAIAME8PESBSnetSwAAAKwAAAA0ABwAZmFzdC94c2wveHNsdC10cmFu
c2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gtc3RkZXJyLnR4dFVUCQAD2c7nUtnO51J1eAsAAQT1AQAA
BFAAAAC1zLENgDAMRNE+U9wKtGzjwAVZcmxkLOZHomAD6q/3t5inmpSGg5mRK4YaAVMnFtA46YVb
UqUbW3LnUNdXxMBh0cW+juJVbfvl+gBQSwMEFAACAAgAaz08RP3bPigMAQAAggEAABEAHABmdWxs
X3Jlc3VsdHMuanNvblVUCQADGdDnUhvQ51J1eAsAAQT1AQAABFAAAABNkN9LwzAQx/+Xe1Ko1lmE
WZ8GLSIOlbU630K2Xde4tA3JRTZG/3cvqYIvebh8vj/uFkUhVmX1vqyrizMQOnKQn+ErvlraPV7h
0Vh0Tg29u26p0+HHohksQQ6r8pHl1dPrCyTAJG4Jdzx/W1QVT+SWvGQF1OVnDeM4JuAOypjAZNn8
JoHed8Li/i8B8lkCqie01pto1UjtcOI6xVC/h5x1Wp4GTyI2FjtlOSP9GLTv0KWFJJmW6ypd4+ZZ
UbqMbB2XS+AbbYjiApOrkc4hB2e39/O7BIw6ov71xV5u9L8SrXSCj0F0YhVtW8jJep436hjAuNNs
cm20PJxiU8/uYjqNpLCjaFRgg3S8fPgBUEsDBAoAAAAAALA8PEQAAAAAAAAAAAAAAAAFABwAaHR0
cC9VVAkAA7zO51Ib0OdSdXgLAAEE9QEAAARQAAAAUEsDBAoAAAAAANw8PEQAAAAAAAAAAAAAAAAL
ABwAaHR0cC90ZXN0cy9VVAkAAw/P51Ib0OdSdXgLAAEE9QEAAARQAAAAUEsDBAoAAAAAALA8PEQA
AAAAAAAAAAAAAAAQABwAaHR0cC90ZXN0cy9taXNjL1VUCQADvM7nUhvQ51J1eAsAAQT1AQAABFAA
AABQSwMEFAACAAgAsDw8RBU1NZJ6AAAAvAAAACoAHABodHRwL3Rlc3RzL21pc2MveHNsdC1iYWQt
aW1wb3J0LXN0ZGVyci50eHRVVAkAA7zO51K8zudSdXgLAAEE9QEAAARQAAAAjY5BDsMgDATveYU/
QCDtoRW/IcRVLBmMjJH6/BLlA9VeVjuH2SylEScjqYCqohE+xAinWYveb4/XGma2+A4h+EI9e8Uu
QzN2/+1sbk+Ho9JEzQ2ldW7AVBGegIwFq8FNl0niXSHCqGmfGhNgScd/uip95PO6lywxLz9QSwME
CgAAAAAA6Tw8RAAAAAAAAAAAAAAAABQAHABodHRwL3Rlc3RzL3NlY3VyaXR5L1VUCQADJc/nUhvQ
51J1eAsAAQT1AQAABFAAAABQSwMECgAAAAAA6Tw8RAAAAAAAAAAAAAAAACoAHABodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9VVAkAAyXP51Ib0OdSdXgLAAEE9QEAAARQ
AAAAUEsDBBQAAgAIAOk8PERjqqxsggAAAKgAAABAABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUCQADJc/nUiXP51J1eAsA
AQT1AQAABFAAAAAtjUEKwzAMBO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2wpsXqQRV
0UR7YdDh3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4
NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQAAgAIAOk8PERjqqxsggAAAKgAAABSABwA
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQt
Ynktc3R5bGUtc3JjLTItc3RkZXJyLnR4dFVUCQADJc/nUiXP51J1eAsAAQT1AQAABFAAAAAtjUEK
wzAMBO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS
7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7N
rzFEm4Lsak3U8Zq+UEsDBBQAAgAIANw8PERgS2YQkQAAAPsBAABFABwAaHR0cC90ZXN0cy9zZWN1
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
c/1RtqVOTpVxws34gjHnzn35O1GhPUTAJ70n/ZLK6/G421Ha54dthN10LbS5Pz6s+9/3jDAbxTLW
dNoOsySOSubAb1Qtkk80Ygy8HZ5QP+i+pzUs3m91jrLPuwovUOpPEkp9A1BLAwQUAAIACAD5PDxE
TVPll1UIAAAlRAAAJQAcAGpzL2xhcmdlLWV4cHJlc3Npb25zLXByZXR0eS1kaWZmLmh0bWxVVAkA
A0XP51JFz+dSdXgLAAEE9QEAAARQAAAA7Vxbc6PIFX73r6DsynovBkm25bEkj1MzvlRS2exOrbcy
j6kGGtHjhma7G0ueJP89p28IEEhKdiYPKY7LBvr6nftpivJNKjN6e3STYhTDJcMSeVGKuMDy7Wkp
E//6FJqFfKX49mhOSf585s1fiCASx94/jjwgidfSj3HEOJKE5XMvZzle6K6Q8RhzP2RSsmzuTYq1
F8M9jhdH/zoyy9lFIkYZn3sn44uZ7gseCcX3JElsf4ii5yVnZR77bmhyrX7qG5kdBKMk9k7iODZ9
Cculn6CM0Ne5l7GciQJFFmCG+JIA5AnOvLFpKhgwp/ngmAJHL1gDSictpBcXFx3rC5QLX2BOklqn
IJ+x3qO+qU9xIufeOJi69piIgiJYRKKQYj/ClJqOFYllCguMx3+wGFEck3xZzTb4rHrUXVNDFjLJ
UwAmq+Epe8G8xdV0Ol30CRxjI4pA6eVH2EvYyQllCFjhZJnKpvbUqDsQASJ5tRUD8RMJbI73sG25
9PW6DUmtUuDO13pU5rbiqNgge8KR0l+v4ejJTbNpm4y1Wyd3MKpxsTY7PKwLUDGsD6zhMy9QlzaH
vfAEiXH4qv56Gup7yqLnD4jLAFidJ4QL6UcpoXGvYNV2TzD/bNdiHGeg2rM9+9k9nPhJDuaD/VAN
aZjd1FkdWIskEaI+omQJ/iFZB1scK2v/E8pjip047DpKhOo5xUahG3uOSi6UahTstheiELRTOo3B
npXhGAfS8HahaNj5tjksOX5dtAwzmO7TlxGxF0i2V8xBwlnWEraNkWoPJfWfyizEHKwJ163LtDrg
26HUWu1s1giCzl26QqHz5MvLy5bvbWu/ijFqoalxAeMGVdC3dmDNs8tEDNyGOV3YgFVjXLPYGXBM
ougVy44gVXDlnQqmFaCLJtZqHCMNX4VJvvFW3QXy1I/AB8fo2VcNBhDJ0BI3NDP3ziuBhxQpKaqB
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
r5km3LAi48jue+hBq/HACllbMlDRUmpYFtgVGbxCpIi8IZ0GS9pmmS/dNkMkA6+LEbuTYyaGJc+h
eNCNh2FYUWf7itjAvkhpy+cstx+27Ie7MtaxsFQZ4jiB5DlByf8au3bso6LZTLa5a8OKOWt7qpAW
7JsYe0xk9CxtibH7lp1k1QLqq2HExWDYbyvVfcxu4L8te5Qt2GehTSVstvg2LL5N17DiiFP6El+t
EyvFyjjVPfDAmzZy7Jo2LHUq039TrPpnKL5kk41owTJ8PXRVIWNYG6ELbFi5bnUX2yyJGGF7r8qx
Hy4ykNs0ogWvOg5dQ9J4Fl8VM2jpb7yar1wpplTrOT+zz1mX0KZlDLLHll37RAjPMoO+PmNZnCnX
Z6COZWKGQIumSScdr5J0TXfNPmnTpVDBMm5FSocYNvbCejqc7aqt7Kal7ulgamQdHapv2gySZ5/l
NTdZIEsjpi9kWb+SpgnaDLDg900kNOkWUEKz5onWXXHleCvWDF33jmBftDamp3yOmlVqutagZ9E9
dHVPq1kNUHRJTPKqGDHomKtSB1ax6EsrySpDtusOs6yN4IbekUf+jkX3jlltSFFZ1bYvRtY2Gbq6
kLCW5dnUq8RoQ5q3MKgzjPGYSt5jOpQ31eAF+pn1yrsejTjNf5mw3jX5pHrM7FvWfa8Sq/YSk4x0
diiZkOGZkC6559hw9bKH1n2XvmT3XRuxDeJmjVglu05m9jWLrlXF82xFqhVjWtdWHxlZJ4fo6mAj
65qpNfUWhWheVoie1S540jZG9qiTDb0o1Y+eCN4m0ysfIjPIii8PLP+zpIR6Sbgsv8xelancDQ03
BxvnGvtCjveiiaHnIxHWsYy3Ky4mYJ5t9zVeVrqKUjK3bpklbdMNhrIxCEUDqW1hoVg7knpXRs6O
ZJXOscu8WGSp0pBr3JLiVYJxR/DXsHfct4gcu23fexKKJ2vlesCTBclTpu+emTfGtFE9IeVZd4Ea
bffTirf4i6r8ttXtRj6m2Gckjo1bG2P6Rjv/bepWMs1v84q6kqqnCynWeUjsSDIspaTvgXUr9c8s
eUKxfTfHwOqOsuudcfyzNKp704o15kjzBjJRsLgqVjyLfg6M5z3MVnaFlbEsgUrX09UlK6xU33Mp
BevpEGVksOkoZu1fyozaL8Ozom4w3TAXq9Bo18WXYOmTZnlyKTCS9zF3Iwmslq+I0stFUj1rkhnr
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
Es+TYgrwRzDvIwISBiZpHfL+j7fb9cZDK1lgLytcDD9S/PWvNEzEWnsZfpH1EkhJSE0J/JMeWuD/
fb2+Jj/W8ZUHJbenlvyF+suavwOyczJgMd797csn/u5X2iVN2gkP4h3Qingg5u6Sc9nDTPzh3T29
TZz49I3xmikiIZe2zpkVknuzk9Fh+QVWCiaFQJ/O1+efU05YUI7Oh++59OL6/rgfgWAg/Czklcic
rB5O06Nmsb6FmEydZfPq2Jm9XdDZpHJO2bKL1Ku7ogl+F0YQXrDEBbocZN07yUfLV5keM08IhPRX
V1TImX76egyRA/6rQ0mBahE9/DMlklstcaO40dPnSfSyDgpFKiJMPV3uyr9OMTZfSeSQWe8KIhIh
V8sWcusHzvM37VsIXlQlHley1I8ya45ilb+TFUchMzsnPdNHzYMSXSL4gvSQOMLp9Utno5bIgTkY
FiDfL6fna1DFTi+np9P9GhSip0+H+4ktxxe0Dc4YS+LlDxQMC91sq/Jp+nzOFeR1feK0jAqeyTkx
kyCadNIIEv6cdMNJP74dufSjGB4fSp1mZospWnV7nIOe/f7KXqQkYoW2aYle+MO30z2HqD4deEXN
Uj4UX1vaxaf3xwM8M6sKpTC/0Rili1whIQD5PBTxA5oiHBMxiNXL0ZfPjQD+/f3+OH3+3vv2EsEw
Obha3ORqbge7kN3/QCRbFA2ZllI5yVNYjIUlWjlhOoR6ED92FbBcgXflOShiCJsc7khrpG/PhWsg
n17lQPJ8f6a4v4DD6REf2bIaRUIRWTPNykU8BesyUST8ZQo3NiqjUaRVWU0z10PIhLsHczB8etLl
X/lLI2RPEw1Wwr8dJ8q5H59+vR3e+hggGmk2UtOuDpfr5fvr9f3+lLWc4+3Lsaee2lJs2hKb2da6
R4rGvNqvZB3Cyj5RBilxDNCsjJBEFkbesG4k4HY29rLigLI8FfGJmyJgWpPYfDh+GbKnYXkwSbZH
skEvheifsZBsDuNE3MYzpUo86OtTJNRZWsWP2/t0txNK+Fw1RTp+x4f2//3/2Oq1TBwzuAEOWHX0
6yIkP2yxQuNqtznocrjfufxQRdotlo6qZa0eNiRRSEl+UCTPznUKSyQn9Qi+RWdiyPj59fQSinCv
t8fX6xfkYpLEvo+ut6xuJtmdcn8ngv90DhiJbqsOxRrTMhNnip246/UWAnW3++OPx8eDF3KLZ7jU
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
vvHFne3xX4Wl55hV55PomjHD9CA/kb2cvNnkAuLH4nQQenpbZqWBvb/puRoV2JZFfyFxWSy3bbb/
x2/uDQrbHsK2qdqpDb+wllsbJE3bhndjyCJa8F/3j9vtuD///vSISOJ2P/xh/HL08Rc7o0dcvQ5U
R+HG5UJ+3N9++Zx4XUaWdpELACjMr+uIrMC8zRCYlxVgJMzrV/wE/waCYDMXBdJd3S1+OR12TNXy
bVFHnPw/z/UkXrUCLRGunBXNl6+cSktKFx6uhiDai7T8s211zO/EY9zRZXQ1uwzDFcdfJk/ptz5f
x5iDoiSMn/90ulwiLfli/8VumboNn84kcqLhT3dbhrH+uP9IeeSHySo6j6efJnONRmrg91NDzNwm
pz780oeC5uzZZZA52m4Qw4eSzWSC5cCStVkx/Fy41UYx4yFMzEwpapu06Zou0pd1JG0m7skoM0Ja
YjupXxZVNiyiBqbLfn5cnx6T7fWcbvV2P96f336eTN8Cv3aMX8mSXm7z7675Dt+u78fzg5uU8+80
TwGbEKpiuseCf9u5csfu/3Idj6/nv9EglN+kPTsT3o8NKMUmyqLu77YDwkdBfTYtU58hxS1cv13Y
+op/skegwDTm6oG9LvWArA28nY2UWDO+05zvVoJy+1UzQjQdp+4fqeQmJcDx/jeqwfn58ruHxU8i
nd8NdWzD9/m1nZ4gOBAW7b10fucTRDKY/s0GWu6qQbiAv7tSgd+s8XUdG6sKCLSSF6hqweLhSo2M
vIKD1rVVzFoLYf5jfzjuT//qgVnJqWe8FmviBTWE6QUlnKUqV93lHgtzQM9kcbPgZdZibaMhqbXg
T/zrbzYUmN9qQzxttUE3RqZeQUs2kdXP/Ovs823Rlr3uo0s1PTDNS6ZB1UTOVFNteHgHuSq9fBur
dLNZTlEMuSCozKfIyivMDQTbM7tLtzYxMP05FM3zra5rFV6OtTDyYmF/FZh5khH4rjtmlPZRSCiS
s345J2r/Md4KjlWn2mi3XOWWAi7/T8kZZsZjt94xihY59rbLFSSnbmJTvUVGZSn41IS7IO9NC/7E
fMfkUoTpRUBADCIzpzo34r6C5pW0Rpb7ruPLfxXOz6IXpND0dgvvbjsF/dPlhAo2XngxSkA3wOlx
4fPfHf77cbuX3J8mNkOasgx+KQXldGyFBGPh328pab1N16sKW+xiMVw3nNVcmCkXNj6WIg1t4ly3
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
51J1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAADBPDxEAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA
7UGs1wAAZmFzdC94c2wvVVQFAAPZzudSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAwTw8RHL9
ZfKFAAAA6QAAACUAGAAAAAAAAQAAAKSB79cAAGZhc3QveHNsL3RyYW5zZm9ybS14aHItZG9jLXN0
ZGVyci50eHRVVAUAA9nO51J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADBPDxEiR8h/pcAAADA
AwAAJwAYAAAAAAABAAAApIHT2AAAZmFzdC94c2wveHNsdC1iYWQtaW1wb3J0LXVyaS1zdGRlcnIu
dHh0VVQFAAPZzudSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAwTw8RIFKd61LAAAArAAAADQA
GAAAAAAAAQAAAKSBy9kAAGZhc3QveHNsL3hzbHQtdHJhbnNmb3JtLXRvLWZyYWdtZW50LWNyYXNo
LXN0ZGVyci50eHRVVAUAA9nO51J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACABrPTxE/ds+KAwB
AACCAQAAEQAYAAAAAAABAAAApIGE2gAAZnVsbF9yZXN1bHRzLmpzb25VVAUAAxnQ51J1eAsAAQT1
AQAABFAAAABQSwECHgMKAAAAAACwPDxEAAAAAAAAAAAAAAAABQAYAAAAAAAAABAA7UHb2wAAaHR0
cC9VVAUAA7zO51J1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAADcPDxEAAAAAAAAAAAAAAAACwAY
AAAAAAAAABAA7UEa3AAAaHR0cC90ZXN0cy9VVAUAAw/P51J1eAsAAQT1AQAABFAAAABQSwECHgMK
AAAAAACwPDxEAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UFf3AAAaHR0cC90ZXN0cy9taXNjL1VU
BQADvM7nUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIALA8PEQVNTWSegAAALwAAAAqABgAAAAA
AAEAAACkgancAABodHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1wb3J0LXN0ZGVyci50eHRVVAUA
A7zO51J1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAADpPDxEAAAAAAAAAAAAAAAAFAAYAAAAAAAA
ABAA7UGH3QAAaHR0cC90ZXN0cy9zZWN1cml0eS9VVAUAAyXP51J1eAsAAQT1AQAABFAAAABQSwEC
HgMKAAAAAADpPDxEAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UHV3QAAaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQFAAMlz+dSdXgLAAEE9QEAAARQAAAAUEsBAh4D
FAACAAgA6Tw8RGOqrGyCAAAAqAAAAEAAGAAAAAAAAQAAAKSBOd4AAGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVyci50eHRVVAUAAyXP51J1
eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADpPDxEY6qsbIIAAACoAAAAUgAYAAAAAAABAAAApIE1
3wAAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0
ZWQtYnktc3R5bGUtc3JjLTItc3RkZXJyLnR4dFVUBQADJc/nUnV4CwABBPUBAAAEUAAAAFBLAQIe
AxQAAgAIANw8PERgS2YQkQAAAPsBAABFABgAAAAAAAEAAACkgUPgAABodHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzcy1ERU5JRUQteHNsLWRvY3VtZW50LXNlY3VyaXR5T3JpZ2luLXN0ZGVyci50eHRVVAUA
Aw/P51J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACABjPDxE6op8QmEFAAAFDwAACgAYAAAAAAAB
AAAApIFT4QAAaHR0cGQuY29uZlVUBQADKc7nUnV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAPk8
PEQAAAAAAAAAAAAAAAADABgAAAAAAAAAEADtQfjmAABqcy9VVAUAA0XP51J1eAsAAQT1AQAABFAA
AABQSwECHgMUAAIACAD5PDxESOfm3i4BAAAxKQAAHwAYAAAAAAABAAAApIE15wAAanMvbGFyZ2Ut
ZXhwcmVzc2lvbnMtYWN0dWFsLnR4dFVUBQADRc/nUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAI
APk8PEQReLhAKQEAAMMpAAAdABgAAAAAAAEAAACkgbzoAABqcy9sYXJnZS1leHByZXNzaW9ucy1k
aWZmLnR4dFVUBQADRc/nUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPk8PESeOpPP7QAAACYC
AAAhABgAAAAAAAEAAACkgTzqAABqcy9sYXJnZS1leHByZXNzaW9ucy1leHBlY3RlZC50eHRVVAUA
A0XP51J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAD5PDxETVPll1UIAAAlRAAAJQAYAAAAAAAB
AAAApIGE6wAAanMvbGFyZ2UtZXhwcmVzc2lvbnMtcHJldHR5LWRpZmYuaHRtbFVUBQADRc/nUnV4
CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIABw9PET/4EbPIgIAANMJAAArABgAAAAAAAEAAACkgTj0
AABweXdlYnNvY2tldC53cy5sb2ctMjhKYW4yMDE0LTA3MzUwNi1lcnIudHh0VVQFAAOHz+dSdXgL
AAEE9QEAAARQAAAAUEsBAh4DFAACAAgAHD08RKdfAZ4IAQAAjwIAACsAGAAAAAAAAQAAAKSBv/YA
AHB5d2Vic29ja2V0LndzLmxvZy0yOEphbjIwMTQtMDczNTA2LW91dC50eHRVVAUAA4fP51J1eAsA
AQT1AQAABFAAAABQSwECHgMUAAIACABrPTxEZ88I0X4mAAAjpAAADAAYAAAAAAABAAAApIEs+AAA
cmVzdWx0cy5odG1sVVQFAAMa0OdSdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAaj08RAAAAAAA
AAAAAAAAAAgAGAAAAAAAAAAQAO1B8B4BAHJldHJpZXMvVVQFAAMY0OdSdXgLAAEE9QEAAARQAAAA
UEsBAh4DCgAAAAAAaj08RAAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1BMh8BAHJldHJpZXMvanMv
VVQFAAMY0OdSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAaj08REjn5t4uAQAAMSkAACcAGAAA
AAAAAQAAAKSBdx8BAHJldHJpZXMvanMvbGFyZ2UtZXhwcmVzc2lvbnMtYWN0dWFsLnR4dFVUBQAD
GNDnUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAGo9PESdKscjLQEAANMpAAAlABgAAAAAAAEA
AACkgQYhAQByZXRyaWVzL2pzL2xhcmdlLWV4cHJlc3Npb25zLWRpZmYudHh0VVQFAAMY0OdSdXgL
AAEE9QEAAARQAAAAUEsBAh4DFAACAAgAaj08RJ46k8/tAAAAJgIAACkAGAAAAAAAAQAAAKSBkiIB
AHJldHJpZXMvanMvbGFyZ2UtZXhwcmVzc2lvbnMtZXhwZWN0ZWQudHh0VVQFAAMY0OdSdXgLAAEE
9QEAAARQAAAAUEsBAh4DFAACAAgAaj08RGXu+g1aCAAALUQAAC0AGAAAAAAAAQAAAKSB4iMBAHJl
dHJpZXMvanMvbGFyZ2UtZXhwcmVzc2lvbnMtcHJldHR5LWRpZmYuaHRtbFVUBQADGNDnUnV4CwAB
BPUBAAAEUAAAAFBLAQIeAxQAAgAIAGs9PEQg1Ma5zVMGAHhMIwAKABgAAAAAAAEAAACkgaMsAQBz
dGF0cy5qc29uVVQFAAMZ0OdSdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAID08RAAAAAAAAAAA
AAAAAAQAGAAAAAAAAAAQAO1BtIAHAHN2Zy9VVAUAA4vP51J1eAsAAQT1AQAABFAAAABQSwECHgMK
AAAAAAAgPTxEAAAAAAAAAAAAAAAACwAYAAAAAAAAABAA7UHygAcAc3ZnL3N0cm9rZS9VVAUAA4vP
51J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAgPTxEgvmQsYUAAACUAAAAJQAYAAAAAAABAAAA
pIE3gQcAc3ZnL3N0cm9rZS96ZXJvLXdpZHRoLWhhbmctc3RkZXJyLnR4dFVUBQADi8/nUnV4CwAB
BPUBAAAEUAAAAFBLBQYAAAAAJgAmAJkOAAAbggcAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>222458</attachid>
            <date>2014-01-28 09:14:15 -0800</date>
            <delta_ts>2014-01-28 09:14:15 -0800</delta_ts>
            <desc>Archive of layout-test-results from webkit-ews-09 for mac-mountainlion-wk2</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>461800</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">UEsDBBQAAgAIACJDPEThnrgRf6YAAMwhCAAOABwAYWNjZXNzX2xvZy50eHRVVAkAA9/Z51Js2OdS
dXgLAAEE9QEAAAQUAAAA7F1tj9s4kv6+vyJYIP0p6hap9wCNYCaz2Z3F4m6xm/t0OASyRFtMZEkj
St3t/fXHF9ktW5RNSZTb3fFkkHbbjp6qIlksVhWrAPRuTfoHvDPon/+F/t3fw+wOmsD+aPofgf/R
cd4Zpm+a//fuz3/9y9d3d1EYJUj8HRvrEGdGiUhelxG6Tap1+u5vX7/+8w7cgj+/g6b5znOsP4Fx
ENvHEvF7uEiRgZdluEa3RVIc4BhjUaIwi1BqxHWJs5WxDHFal8iIypAkMn5sD+pBKtFDmOI4rHCe
GaSOIoRiFMsgfc+bLkJSbVJEEoQqy7Tnk98FcUXfmczVuk4rXNB5V+SkMp6SkshYsZzRrER5VqGs
MqpNQSf3KstLuqgkspTBAtP0NYvQWISx0aZJMlNsezjod2JUiErwGXb7DhPs7XdygAGBpRWkRBIM
CP2fZdxGroUBEtWP0JkYkxZ0jEmRhhsDr8MVMuqMoMoI0zR/JEazlYlP0jyUqisAAg36imMA+fPB
8MevMYna22S+LkJCbr8Xq0MN5bvA1UQ+1Ea+eHyCSZWXGyPP0s12LEi92KLyEZGrXdcF03nKcoPh
o+NWDHSmI5VhFufr22iFD7dCZwY2jGVePoaldDJf5XZEbhl6qqRT3PcvkhdhEhtsF+i1Wt1Ag6gE
kGbz8fTjJ6l9pjyoPlmW+VroFiNcVqiko80+MR5xldADTHOqkA069FXWinuctSFUMN3XS44NpxMj
pmCjaSUzUWmfc19Q2N5wbDma/UrQMlQ95uUPA5VlXipbmbbtDAdsKcYGlGB6CAqpimTL8hM1MdZ0
/txTWzNDUTVCC3gn9PEpXo3e6RPY+vktwiq5P2Jn3XAbks8BSug9GGl3jRwFatReB+LkQFim986y
riRdSbqSdCXpStKVpCtJV5KuJJ2bpJnODkVYVpgZpPRAJs5i/SfMANjTLeO9A/QWTHKOBn/6+FEn
L5+o7V2je8/1YGB5ruv65suyp2vApM7dwBkuvmcmuoLkR/ZSelK2rEFDpRhfAi6AluJz//nf/957
8GOJK0SfvS6MJU55NOcTe5HRsbjv8kaqsEI39FgW3qd5FKZJTqqOJ1avOFGU5AJX4g2E/vRpOHgE
J+grhXEc8nR9o/mM+ipHk0fNSxTjkup7Y4UqydM9x9UwWRiQCOBVufGASrzcSLCGu2PEUKpxY5lw
wi4mezidJRkmyX1V1uiAFUfJTds74+krVPVOSRZ6rdaFth2a8ca8v5LwHpFNCXfiIA3BmqY5qryO
koFyhL7/eoau8d1HKQpZioNwc1MFQpg7UGTJ0LcXG+M7kWtmx5q+vBu9uLMmqTXyqc7wHzX6Pb4H
N5/5xyz9oczT+21E7wN9wf/hh6LED1S1fVjXfI01Lkz6e/hkUJVxf2hGwUCBZH8CyVA/yf5Yks80
wv51hF+OZD7A+6masrwuf7pQZFjTkja1Ao6fqnT0ioKug1NhN98aIcX5T86n5rJwDBjb2Tkhhcg/
lbbWlSMbuDqVJl1Ynj07d6oJBvJ50cpUYsnDOTU+mQ3aDKQ8V8ozB8G17ZuWJE8gd4/slulowOVn
ha0+k6DYF4fRN1xluFqzhEkc07/xEssPl9CE5nxLmh66yuf0R/qC7h90Q0jz1fRVrkoDBetQcMMd
iIvVN/qTGgSZRCPMSBE9/6jIBDgz6lpmD800MN25uEs0xxmdERk7q0hT0CzzzLbWi1lQ8xPyJDIY
jLxgmxBhGXTS3DlTwxZ0gCUxTXxnbhTVfS6QCispjUUeb6TT0vGCsc99Jp4/fZyNGJzYTnoebcEp
0ngIy42RoF6fpEfX6jEn3QlxHEAcTQu0XFcnFP2koNNH6gsE5wIyz8fRyEnwH1TmRoqyVZWwq0Hy
w7FvT18ZaF1Um9vqqZq0NJpHZw8huSsSnOLijjm9qSGJorrEFCEuw8ffmRP1VnxNPq0DWwts19Hu
uUGg59ER6TrxrYEzt/1U7lkmdxvEYqa3RXZoAihlV6sgLMLox6rM6yw+QLGp7rZsb7YB5/hyk0PJ
LTAEdWtRNpNsidP03+wyk9z4Dqx54Qm1Ln6gIwTYMxNQ4TXOVlLZBy6cC7tELNgjzRs2g9lAcyJX
KoE5F6NiYh+dY3SKe7Oin5hiwPeBZnweI5CbanC8rnpEi1V6l5d4hTPuL86Ydb7MyzU7scjv/5wI
4x8A8eh1a+cLF0iibgGENhzy2Fa8hsrpdl3YQ83i4CPbb/dkkuc/MH1inNfsYvofdV6h2OApGiL+
RNAaU/mkPX7C0xfm+jHbri3+jghf8yuh0s3P144lv7cLTucNDUeSBeUt0xnBk86IvwofdBF+Fm9K
fFiGDoTV7AjcD6IVQ+Ml8H4GkqoqWBjdEG8YLGZKtZY8huUC75IHg4qJcRJmMWeDsyZuy/IvyH3M
tnmZo/8Sq2Q+LnZ+u+YN+SYIrsrkysPbVupvDYM8bx08QCkSs2TL27F9TdNKBshCEqRCxUGGNss0
6zWAdcDB88JZhx6VCTIleN3SyAZ6KiiYvAaR41w1wlva6F+znA6mbRPvkhoUAF6H4zptL2XaZqsD
/4fc33FVtbOPRZXgMma5m9X2bMgqUoRPPf5lqFCTQoUh7m3cMtQ5xrueRk+XUVc45R5Wajn8UaNy
s6yziEW772OUogo1ZHQczNPMlyOCPVbPxALeNNzTkp30+BeV6WWDU7l/yXMB3vHXv33Gf8niX7dK
6lBreNdxv662tyN1lQn/2vevqeDD+Scs66pkuTfPdTV7zBAP+uMA2vvkLjtzxVA6W6XvTgoXnSuH
dzwNR3J4+TDAMQm848lRTeCF85GgL4FXPvt4NoOxDGN0pOybM0p57M3tYzHwV0b42FD7legr0SeI
piSf3GiAFfy8u8Aus/DMO0E/SSneXtq/GJK2JdQvmCrrIjdyz3zFG/lOd3DvZWyQJCx6HDr2JIOF
X1XlaRxVmKacSX5rn/xRhyUCpskU4g3/8Jfq3hSvvuRlp64ogIFSfgfo47bIy4o815uINlFPbmIA
tMN0E9ROJ8l3QdrGfyuaWJfp/e3tMBKUCnecZpNC7+4Uyt2tnmYQSaqf6c0tyiMUqAoSdnlcUh1H
jQ66vkkZHdvEoQmPez3hMaPjES04UqNEOJ/rPEZMz32hH9zsKmk03/yX+OJnunNWY65gdAlSrOSh
ij+LKNqoQ0UCxk2AFGc/DDbPYkxYq6f9XFpWq66ZFAZvesKS+XhpYnk+nz2OiFagqYPY7EkpVcer
EqHsMCMVTIUcLYFuAqvjzySAHejh3RTHO8uwyy9ourOONlWKg++cah7reYb4Iog420Jbh+TH6TOi
O4ajFzkiQt3HDCagsWceOK+b0JyPBK2nC8m0yxffmd25xJURozTc8E5TdKY/9LgonMnKrIH5jMso
PbzxKu4RWrpZYUl29CPU0/oCTNaXkWCGQh0yY42W1zJFPPhhqGkGz3SumuGqGfRpBpLwgmvPjfyM
dV2JgkgFPYTlGanKWp5zbLvTTZ5e9O4+bzuBJjzJkRW6QLf85CJTsVCtLswDKischakRpniVGYuQ
IGo4bTv+PKsNA47tG9jFPe0yogdz8f8yJNWBqBf4ByK3i3Vxs8Zr9HVToHtO5nv2lsS71CmpAjxg
2XNL6/ieYTr2VWwSsVljm0v9nNK6TrIRYpNPMTO4ykoyxa4TTFAd548Zo/eOigpHRkgijKX+W2fK
w1t8tmCk5YPGg6SYjjEd+rpaGr603hJ0tPCwD6SHC/SAskoAtF/zDtFsRoj20LIMfRNOQ2uPTRuL
DlTn+r6tj7G9VtwRtQl7Sl9Aywe6GNzWk5KDi0ME/4Cvvwo9VeJBdCGXKFy/t359D83m6++t3/7n
6xfDH1yc7IWIfcRZzNpmA+iA10IzX2Cvhdj3EPIJQX9eKsnGMs8XYUkp10zh/sIuicHVvHw5O+7R
4JeSHBBpwwi+66zqBNxhMB8WPCOW9YJYSuU8hswNViAYlQ99PWEA1I6X8eIb0s5Spm400cSiRLw4
cZgS+SLwPH0D2AY7z1KQI8KzI1pnR7RfHFHnckT5Ur4GvUDXjsVu8lMUSU1/b34If36IQONo8NfN
UTVKc9JTIsgxtbHVsg2kPZ40zjXWmqThcYso1YzAeY3cccc/a/KwbbmdhQ94FVZ0UyhDkkg9276r
zyxs0GX9QbShPIaYGpwJyuiOWuHlxojzTFaa11UZQXugXHtyyqxpUBpF6ExFUYqJOapiq8oND0dh
0hNY8SxTF1cCp0GV+Q2UTDpF1li7u5rtmHHTck9uYdkO1MVeC5E0pW92b9wzsBEbtA7gfctA7Q6G
DlxnD9c5G+6+fQnPhGuZ+yWcgEZcUTpmb5+SrR7rTIzCETnBr5JRa49R6+0y6h30h36jjNp7utCe
rgvbGw5LnA+rqsSLWl5625lqH6AnTLg3T7LP8azdplhJvy3peFCfiSLyZaRE9aZuW0qXwaeM9MEg
G7Or/3sbmOcFdPYU02RA5vfSMbVc3VOrl7De6QVtbdMrzhH5Rg8w3zgFnRzLiTgsLw2VZN9i5bpS
fuHB0QPXUcziA0lxZqWiti+9BbCrK2GB7xZpvuD6F2dHG+m4SoHJHpBW/FMCZ/SC2t54TNHHwdgB
Lst8bbDW4ew3eUqCpQLnyuFYXx2CsthgRf8FzvZ2kIFIRL/SV2lMKcnPlXUDYFAMaa8K3B4JLGFT
lrZoAaVkfvege9TTOmVe/kbJtGBFsWeWqMu7TLMmhbJDvvkCmPD8mFbwc2Aq1YhVXy8sL4IHWzPW
NyPF/+nNWIWm772AiJ0XmL7Bz4Hpj1G9dZqSiN2Dar1EKeKdS2O8XKKSvRJdWaTTCCjd93D7ktCK
HGcskEC18Y+9X0TvhiQsM0SIrEXHiZiWGiLOMlQeK7IIbR0ojfHas5P4rqV55Ajv03hk0ECgbdBU
RKgNawZBJpj1Ad7w7mjbsEjOc+kMepperVApGtSzz+U2zxTUdlpbB59lyYQ460lBcIKJzFa56I0i
cfKzyP9wBdb39E9g5ufDS6d/T/iiBlLT6apERcoKEzQfGs01uCjBqbyqvOkM0UjdeSZDJ1L4I4va
seblXxoK8sEZOO/n2Z6y4LYoTcCVtwQm/BYa3WJL+Qp3lY75p9lOEJ3OR4HMCUBFXvAAFz2rUUyR
WFRQq5TpscaUkbflsywwhb2m5Ap9FOONQieGSUVKdWZMbouua8bVIcsdbBWWK3kmcOA6mtmCU9ny
T4BZJuhr/Dvh4R2ZJSgt6AQs0k/daFVgaYWaOjynJQbPLbHDsNc0ie34sM7Nx2FUSxMf3rn5OAxa
aeHjOzHiPKq5Ec8cVPy+7rNak7GodDlvFC48jqtg1gNzDO4CLfOy/7IY9AM9yNxtQurFGlfHZWyr
uKP7EY9pp09j1NNQ5uBx5lQGEg5DPDGElhvowVRcIyoXBwbBHV8aKl4uYA+ACwlh9wRPMOnPgwon
qx/gDkc9qQRczbgnAU3NgAm1704NqTcH5okBVeHTH4p5UrqOZtTtufKEgIOZYE/IWEEfQXME7Ekx
exqA16gKJWcuab6FqxsPTsfrVfTCI8APs9zRXuW8Na7U1HccMAhq38PUNgpaqHTwHsMyFr5GSS64
709hbxykp1+i8jXh6ZdnVJcsfiHjK1BZgtYgUR5DA8PR+MV6cve9QCveHAqHae/Cdk1rNECR7T+f
3XwL0yIJ5bkgCtsDtJWARhfXPPb8Ml/R4SH4AenFGFo3oaGpldGDI16S/rByAvzSLstsW6bp95dm
dnwXqOgA70BAWVTyyBDLeBD5IvTURU5tFzZwp2Hx8ot1tfQNdsm3674CvqmSugH9fogirAniqTBR
iYvKaEJgXSzbce1pUM/cRITIUyy9aQgHhSt3WIWkYIrKxQgYqHDDOJG5FqGKUrHMIxBFipnT5Mlg
FwYr1maukJzmgaVyBa4LRFhtlLxka77Kozy9CyMqOmI0n6D4SDABKt1rUsBs3y8Rb/HItSRi7TlH
I9aDsHhwvOjp4Or6s3Im733haMb8ffvhV6k0fRsALYjb4rBNaHnnjcryWB4FYlV3dA0jX4NHx9KG
cDibDU93luk19zQt02pe8ZimNE9wGJCwv7ZI7Xi9MPMYYuPn2reHFG8y9PH0jMQRGJDXB+TpAvKE
9ZrXVVFXcjSxDCYMFitrIwoOHE0ihQGYgtFT7wI47vinivZusZEwGfHQapNSzC0l9qm4Ykptmt4k
CuC5OoaKZHRBkSRHxHggRoGlza1sc5TyV0AzorzYzAD5iiSs2GZJk3AnoqF1UW2OLjfg++MfzyLi
zf0FkX8u8OhkaKxVuSK2dYiPgfBYvMBc5PHmoB20PU12HeYaA5yeHttlf6R2MgAzsdhB18oyX23f
w4ewYVXsqOsw2xhPSSk/EqiUQTjN6n9QmRspylZVMq5PyDCIjrk1SWhbP3BIkqbpW39LIEel4EYf
VEYtKRR/ozvpN2H5E1kKsmXqRvgkXuuT2ZlgmjTDB9Z+Z41izPaQxs8qOT+bSiHfPqyiGfmwYMlB
VFmEmawmoafikbd6e2Bxg7rRrUX6iReSvwdm5/a7itDAqRWzZUmc9zr1y4Gl0resD2b7cNZBo/fY
ZSrtFScZWeDVt/UfsurZw58+z1jAk9bCmto+45mAxweBNSLoHQRX5Q6HNbJMvOjitLP3eLGlOeTH
t9B9vS8aIPjz8cZdRSGvyNFmT3QFmG29ORpaBkyjcziRu31heyU1pPYN6IyVrSPFkS9b7prunKeV
ai300b6VSrslj2wHsFQC7ZarICA4RkB9T94GFowlzjBJ6GHs2GkLqiSeWV7fqmwCn9y4pRbtzoTq
vf6sFD/vx+tkKPUgj5sQvbDr/AE1qebNVQsiCnCVcs8bHA+W5aSOEt4Ib3+HUJ8YPU9uLhgfPUQq
HQL6ns/WC5MKb2F17Hqxknl2EH1YYxK1JgB9jtzQCIY/escAD4426fUERXWJ6WkNPUWo6LucCCxn
AiCLNe2XnuXTeYGzsGTA9H3SCxyY44HbFhXD+i2swluCq6fOTA5cFZhADlNnOx3ENer2ukoURuw9
5kreKSd56r1SVL8PvrXRMSRJP7d6sf2OPPkPaOF9HbY9YWOE4A+no91hnORpXYnKK4Tqr8J4TDDd
84uQ8t05QasU+joE2y6WvUY3+eO/2FUOVP4+YY8+DcSb40HHfHJMiUMz8Jwpsjtfu6qxNPS3q2pO
NKNcJNqJoVs0P7hLjj0vQg8nRvjjLosklqlxUQSJC7uXSJNB3y+ZV5xH0y+LwkUZ4pRZWxclve0q
NOAFrsNLI4quxEsjqZn38PJX46XRuL8eL4e6JkADL2SbFu6UUS0u5xq5osRZdcETfkkn1oUprroM
04tcfhdFFAv0ZXGC0viyZFWU+XfRkvey6KouzVSuHi5t4DBz5l64rjo3gYotjG3PnI8GnT2M36az
4Ho+v57Pr+fz6/n8ej6/ns+v5/MLdaJfT+fX0/n1dH49nV9P59fT+ZlP547/Ok/nong+z/pgCcpF
yA4ie1cteM6DqSPLZMdBlYSVsWIXgniyx2OCmWVTUR17JJ8QQKiQqmCbc/Fng9meDKVPrjYpIgmi
EzBGLNWeXYbvZqMEY59/WFe0hZflFR8IFOsE1CIqa7Yn2wc3Yg9uwrI6EQ+oZH0ok82ixDHD+YQr
tCb3rGL/x18AtGzH9d57n4fnretE/8Df+JW/cSXmYsflwyVS97l5ww9McPECeyskf3iNM2VuHi/p
KS8gb0GL+Qsnmv58ARLCRRSj9+Zvy1WCv9OfLzHrfv38218oNBXAl7/+7fe/i5cvNhzOr//1j/fO
b2JMml9uojyj/7T6lqHHFGeIdEo9qdDnaBmrhiQxYBdFnxjIhiQxlK+Evg8nxv/DpfN3wwOr99aN
uBJ+D+BLyLdX2V44eTPtKA3XYMe2bV7ZfutsO1uurZ9pjntbroOfaYb7O33maWB7SEO5XatNWc0M
Qyf4cw+7rstF6aakfXDDmPt8xd+7+m3yEkimO/LpxjP5DzhGeU+NPz9QuYd7CkH8zu+qdhAA64I0
UkKHPAgHXk1QGa6aurWikilnbl3YN+zy5D3/8h399ZCUAPoqV07PQIw7cHnMR8dFCcUFnjdaMEW8
FPXoYiMkBv1NvqTAaIBmISVlXlVpc5eVK2LO4X6ty1uKf7P96n3A/hOsh0WRYnFHnVHcqbus0qPX
dq/k6SZvW+2HV8iib6S5vHUzUKkxO0YCt7cH5VLFctkKAXTK0AAIVcodXxQtvlz0vK6CCI9tA2PS
duTmpbBre5bSVPMVa3K3SRH/C7qbogDPRO1qce9U6K4SN6tU1KE0CCzov2FCBTovoPCs+3ntbrk9
pVBGwA4mq6/qqZKqL0bYXZGGODuMq9tKauVKmVbKWPltVoE9i/I+nQNM29ML0sf/UePIZmWQ3gYd
i5o36Y6NMsxYyQvRMphsm1F8xT0laYDSBhOM0v69muwxfHielI55kxX0pNuYInWM8zv6hUOD2lTp
T/ZqCHVAP6FR+P/svemS47i1Lvr/PoX3j6za7m5WEuDcJzIqarTb7ul2tYftEycclAhJ7KJINUnl
4BP33S8AUiMXQIgEKWVW2tWZkjKTH9YAYGFhDemUiFtjIFelr5gMAODElkibEincvLuZJ5c0FCwe
SlXDNpxkOdwpwFRpcSYD6GgnYce9XL5b2A3cR8YWq00HIhZbxqKYeAk5sHusSs2gcYj2bazSH/qY
6iMalysyb1RDQ0/9sfsSqYoSrgsWKwe2Hbc6cFk6fxSLlrcOuryL4Qpbvn8hQ25ZRpTcdic/U9UF
d/KDFd1pji2WGzW8H7Y9qkDROdbpCFpE1zZqftzcdIziLfnYJQa4SKq0k3c8CV7lPYIPECqnFNnD
q6DwdZ4IuiQ4XR9/dMjnaAO4sYcDV544g41AdYb5YvFuSpiCFURVKjU7vpy6XRfnrKoDzEoeTkNe
y5JEr5bZbYfJ14I5Fs5F0qY6L3TgWMg2dSiJEhiyXYSCfuqu4qVTMtT93h6nA4NVxeNED7QqjUAc
e0xn6q73on36Jfg5uEjPpypu2LMIWHVDUR4bNzxEdgdygmAQMINlWZG8eRuvlzg1xtum2XIvr3gc
Dh7fuHY34ZD4bZW+rqOT7SJLpSEjPK7xoyRGGYfywhBcTpREcyxFEc5ZquI0z4rCiDJekLr6mNQ9
saK4WIXlFKzZTxF97bCFyItBzzWSrpVilD2bBsKj1iKJb+E63yql1BvAdGu+/n2dsW530wXrBVCC
TSKCjo9mnSEi1u98mUVk5/CrnEC7VEZe1Jxfg/J9jRsZLFNQWjzesf2Oo9qr783GcAzPOHA9yzIg
h9nCozICJtscjuxhyGVUFg0ya31TFbZWqvd0XSRpe3jSQUI787yN0DEJrEottTYmtC2dtAKgzZDX
QcmuWmFQXWY6Hae3YRJHYuotT/tEBrE1yn69WpF8yppIsbdC0iyz/2yFoIB6A14nJhbT67c//WBk
tyTPqZ0i6Q9qOXZHgB0pB1BWs9ef5euFwBoh9h/cfKzndnzs+59+eFdN1O95CYPKgINbwgYdrI80
vI3nVaTlUa+tba+UbZM87JintnTH5remCZD16e9/+pgxQ5Q9eHOwge4dXHRKV3PNbcNEo989HqKD
nsiL23mjzwruCBZO4wgbq/iewFcDttna5B54NGtSG8U562S8TqLdXeZ14x7T6zNueMTtzcLPNmIL
nlo29lFvZeHPvxZVOcW+rxWh2Y8XtZoRpyE0++/g1v5RpyGAN226iJjRifuqLGeN86/t96diETIv
e5amdfUwwLbQREZBDYAsp8eDI3mwuYAthDXDTKA+8kpiRyeJ/TXreRZQhTKR6budlEAd8B5qw6UJ
ge4FwPMt39H0/HvGrVeNHEys9/mNNG+l/Uz9+Vbj+Z52lRpMifhK0tzz2+91RQBh8ZBO+QElYk3V
JGa347u9ieA2UgVZAzWPg1hlhmMhKXXjkyoHBI6gQH5XiB0lOzOM11zbNHd+sSzmN9aLKEtJo16B
iwdCxRwVN5RuIDiLw6EucE6L2EDHbeB2fLKatH5+8+mTQGAqk8oFgCdhtPOlJXEoaL+oZD66UsKa
SLwAYvXJje87wbfo5FamfWFnWTYJ89FhGbUGOgvsv8eHXZezK2z6DdwxdIoCn4fPX52Fz/8+D5fR
6KjfffoJ1mbkDI9sgDSPhGxASwcaWreSsIxTABcNT/O/sYnxN7wMKLn5LfzmluTsouemkZnqWCMM
Rq/o6w7IlUkB772u0mlVTtYhjLz/eWB3piW9ZdUHwrIkeWrM8mxpxOmUmrckLcOkdjhC/kzL7E0h
fzhvbQ25r12kYphB7daZ6LeJg5QcYxFHEUm3SjKLScIPJOE6AW1C3w5Ogq4KshzLT2UUkDvFUpkS
QWe6+d3R23jugDnrSqftYCDKlY7KPSn/8Ld3xl9+hmkPzkl7MDztbDNiC7OIAdY5GaByRdlezJyt
Jn1uSXpy+NMinpX//st3n2D+nnNyWXh48uukbUm0g6t0YzIUD2x7eB6w1gRLUi4y0Dvkoq6rewfy
X/+7/ujfN3/79aNxfM6wkD88O7KU1AOCuOH751xytZFfhWI0ib8NkzVoPrmedUbCXT1LASMxWx8R
Dvp2g7MufKgHtezJRRqzGhAUPKpei4pvYBdpmdxCUCAcxkQqKwqCbsam2eqBR0ckt6RgGXuCwwy2
hKELJz769SosSqIDYD8VaMn7SzT7iymeIWAC8rBYGFUdx4SuYOEyTh4Mdj8yC+GkYNu3O2ORsCQf
En7o+pGViFxRDARctvkq58pjjIJM13lcPjRCjfl5ku/ZjH2NjiLIQ1oJwq/uOyWznoYCxz1YftAV
hQXYVWZNmD4IA+A8p6v0j2L7eHAhMNEDuwcBOWHNv7YEsNWzKPOYfsRiG8EjsBdcKD0RSUhJauWN
qGanrFdVGD0UJVWH6YKX6akssWldH2+TubrM6IYMUtt5DT24BGofV/XTE0fnBv1lUV0eZ/NTE0z7
SAFcJbE7IqfB+E6V69mxuZkWLCl/Rsrpgscz5xmoCRZSMdmR/JYcBAMm6HBIr7ldfJPNjkOWVO5i
e2Kmo5M5y7IvlMzL0lV8Bl2FMKM8nO/1chP72BGyzd50aXCyI1tEBYsTN+JqId5kINTNBLkBDdf7
6QAJ2LDhhEARfBjbuCNJZDnZiKPK06KH2yRmBxi6V28Pu4wu0QEQKVmBQux37NkkB6ukWV2fzFLP
qLbxEOPjCGMVp7NguFXmTfY5hjdZJYNK/GRWnJ2etvKlKBfdNk/TIoFLgSe2piyZNaow43SarPms
THf4QIKk7fSiT3jYDlScUvCDWYk1KtXDac7ErBJZh6AIJ3Jf5iE9JLA+A9s0q4SaV2s2RcI5K4RZ
GuT3dXwL8Mi3/UFwl2HCJEMi2B1iDwNaewIATE/Fl3c6JITkBh2RZuFtTAFYHRPhdmOrZAYgeSRc
jfOKfmmujeYjebxxm0bGstCLwlxHBvMdsZVl61cqyJx5L9jqQ39UwK5i1BkyX1YNSJh/Wphf7Nmn
AYBLKYQF+GI7TxX+/DLM2e3K1uBgjbvgzcHsT1Gx5o4xZqmxRjYshBMsxtZ1vdn3vm1OsaLsMaV4
khblrumBj8S9aKgjKZhz3oi415qXZuCFDODCBYHU39sySRuYwqO+mtGkRljBPxDT5GlYfsagbE5S
koe8/EO94dBNnOWQluEkgW05S4PyVWHz7BiCmucQlYg05EHELFnv+bAoSF4adOEWzR9bycnsSUmA
sGABcdPa6YpYrW7MkAMrj1odH9vTPBSPtC5ZuU45Q6pWJNRGo8dotqKxktssldXYnOCyPJ4L6lyo
ZJm0CCnec7DujwsuZ2X1xmvZHDykn7XMc9CFva4pv2W7BMbWKHUNHF5eCJrNyMT9AGYJC3hMGQet
hNySxEgp1uZO25gk2fRz5VWuU8chfiqZgi3qQ1HZWbMaVR3NRIWalYutYwVc/lUCWVqwrTwyKtoP
ZNsgHTj8KsnXb5s4s2ydRof3jlXas9/x6Sc6oizT7geUk1XITB0ej8D20ySJReVssKkS/NXCtBZc
YyU42WHk9cZmha/q3Lr7RQ5nHJld+cldblz1WMRzPjXEF0jI9RxtMGkmQ8JKdokYiW+58Ikr6C0P
OlWgOEc+gxTduuKRx+lqXRXU6eID9Xthd/O8ml7XNYlOnTQi91JvI0Ie7vl4vrpSfeMH2QmrcrPI
CdjzD6uEZyF5FNHpqAiZTkdYCAyGcC3dEK9/XcTF1/Rf+DUzF/Qh/hbehvWpZZ0nBjWyVnVRlAJ2
A6COQElY8DCMeBbTVYmu7IVAxx2VhKFjiL1ivvs4VZoqPQbe/LomRRQ+XOF3V9jEiH75MbtlL03T
p99MdGW9MS36xbLo2z/98Gsjb3uAQf2QpdWALOOHMDcuYywXx5y9AQWeruFgs/twDDoYrcLqNZiP
ZKJ3MKjrYKgaDz2YainJql6jhvgUqLSRyR9Ozc8k5IZ1VhRij5hjSc+bGLW44uNknQtC7fpSwHYK
475IqnJ+RhWiBpROUcmHaaGjBbNoliNAfanjeySPheyWA9NCUUh1VuJL9rsqL295Qo0TirRg0Yms
JQrdCSmveLla2C2OepOj0c0PkxUXjIwDsUM+jaCDroUsEi5Mowlh5bKnn4+KcVWn6a7zfXdHtZ4s
Y0HNFvOkh4P3LNt29bxMzL4YmsVbVIJSMRQPQ03Gw0UaEoGKU+X46a2bQJe1HaYgNdblzDcWhBmh
BotZgHwzpt0RIJvwGGEeiMLdUMXtfFsOsIj/Q4yUzKl0qkWGF8RrXEr4ClVAsaXYbmJbZnzbbmJG
WVydEov9PyNpGrLw/13fCf47V/jjbysy37WesC3L27WfcI9z0bEXmOcb/yoFxs8+3AzfcXAgGz5C
gekrtFbBtubxR6xLWuvwbcd0ZMN3fBd1nRt75960zNl91tTImZ4K4t5clZpl2O47ScB8B08lHQnE
3tuzKChMGfJUpr8rpmzPc7XJ3xNeqjm4I1ZJz+yvKsBXLDztFV31X1UdCOfx7HgHs73LhmlyDrRa
VaJr2p/fNS4x6Ape3T3VPe9rB3SVHAXWRPVUQi+wvC7EqZiWyqVoB0z4VPM4yAMCZuc5ISl2zHvH
PAqcVUxdAOliNbtZFEERz9NN0GSdApuKMjDM0xYp2GyEcHkzoT3wpgXpdBbgKkvi6QNb7MmcGnbG
lO5kRNIktL09R7uq1MpRQyPwDOS6mmEwfIVkduYbtYurM4QxWZclfD9mWYEGnTjlKIE6s23Xwy+c
sKV3koTpZ/hWAtm9hSPC63a2l1LEN3x+2i7AyvuOPmKKkqwwGCGoF8OCCFEyNE8AscFIZL+nOLRK
uDFu+hGrftQcuNoxGEaZUfMHzl/oboHsj716vmTsqDtK5XiqTteQ+tt4uGfjwO75bO49q27HyJ0o
LtYKuu4V9U2YY5o6Fm9JhCBDOOSPw/vG9Bt3FbfAzS5yTy2jkkdhZ3kkUFbUY3fY+kn3C882sutR
/11bV7Vj7LUwTtBJwO746L002ntWdS5MxFwKemNo45Iv5lJV27rK5uZ4e5nvYHm5rniN6RKRyXpu
TLLowZiE08/zvBlTpZqr2AZ4RBfQaMnRwEW433l/fh2UH+82GxX4c4CiX8/SjMUhCG7FlHzjchpy
ajZnyx0MYNVgdNEo9Y0RK6ITTtl0XMX7Snvf+QAFgYWNuMiuo2a6s4n+3ERgbYpywvUqfD0Ku9ok
naySra+XtwKg++SKmonsJiOdv2C/UsbLZg1zC9kqFrtltlG9DAvwCOU7qM/jVznhu/6UBUqDJRVs
FfFbpgIrD6Dgw7rt9wdTSaqoMhBwV85Vh3WeasUvnZA7IZ1TuVvIqXJwf1+T/IEFP4VLfu/w+83V
B3zl21dv8NUH58p/f+Ufq55vaqQvedL0WRiWH7I9/EQITJ4igdyf1TIFT8SQ5MEfUTgoMcnTIUY8
uVTc3JdHTfJ4qbndWE/CG1lwT/Y0GQDHthS3aaTmk6fSd7INu99lsIU7cXJnH3at/mHhlhJb7Iqd
Pr/ZjkoHXQPeo4LIvEJs7azr1kC3nWUHGA1t6Dxyqri5cVtsTHW4WqDKHLKAp69T3ueA5R7vemut
WGFHULM8lQqrINBen+EGJHBUV/E8gTiTYzNc5agGPoloe9JU25N+0/akz9qeFGl7UqLtSUttT8q0
PSnV9qTftT1ppe1JubYnFdqeVGp70lrbk261PelO25PutT3pQduT/qPtSUjbk7C2J1nanmRre5Kj
7Umutid52p4UaHuSr+1JprYn6bN64jPbT7hnN2y742hn2uied3oSFHG80PakqljIvskNhksp+eLB
5+dJi6MMBSrxeJY88JrHlnXwBKpUtmmlK3mSdIncZ1bgP3K6kidEV1WjnvkJWV2aXh4U3HEId3GS
GLwKSU4o6QVzFJTrPC2MdE1/whNT68A5KG7bRL25vh+JyUt2Uml3C9ITEJhGLIYgK3m1AbhEltf1
4XnMS+ZnS1ZdSdaHXaWwrjV0tTfLE9Jwt2B1eu/CuBToGFbapbyhKYBqPfD4AzBusfMTl0mZfSZp
/B86MaOMVwerKh6tmvk6CguPbQ7MFxurAmAIoCvCfZGUBusUGy9XWQ5qvoWt3sM/gqErRAwllquE
knZBKpqFwnBvpDQr1tMFq44dsuy9Rt5UFwSeWxzm5fWmWFd92yCov+Nh1AdkR8v2M75jxindzij+
jfkiXs7RDb7HBs+S4bc29CN8I6oyr1RRUjyi7StDsCJYjqOSMGZb7Qibeg0sg5ihbQp/ClC9Pqh1
Ckk8T7N8U3oNio23VOqXimF4NR5hYTff79oBQFsfUfHQe+ji4UdsB7yxutSlt4/iitPwNp7zW73r
MKWWZc4qRcVg2K+lYoBInr9/WVWUU9Z8qhGM6TkqG7gSSF3cAcNh68jzfB3c4tlT1ASefIYrO9ia
qNkr01gjCyCRUjUJVcLgiH9vKKLg/m0qx4Z2guYZi5KGFTvQRBCv3SmqxIhUmntLYNjwN4cgcbIN
RlgTMU08Y0GSFYVtruqOShce2+uL+rpRBMYeA1YzsRyrrAoUiMt820rLrTJtB3iCPE8VF5wSIkfa
vDUQq1AMGfQq+5XfjUC4FaRr96+F2s84GPbpStzSKJxACMdLq7Lg7koci5jkYT5dPPDcK3FZCdfr
hToykUPAOaYQLsqm6yVvE7Mp9zWlFjfV/HhJsjXcct3pB7mXRHMMDnWNdQen7zXSTKEAFGQmHg6q
SZd2sGW2Lgjr2gaXUzMHhWvSpx1QvKxYKq6jrliv0eBoYo+tUox7V6wGZb3RHtJwGU83dU82b+sC
xXSm05HkD4K7g9OmQxWCDK5kLdX+kIp7QkLkptmG+CCNfV2Lcr/GHipEiI+BSiWgLoQK8dkPq/i8
zkvFCBCzMEn4BKzPylU6G7yUmo8FKcvvwrwqaidOAUQe0qXGTcCNd4g5XcM4FRQcUKma2m8AcHsa
WxPsge3LEiB43sANdsxG6b2LREQXhLgRIT3MUtHx/oDGLKbAEusGYZX8ASUy2+BhvwHCKlc0ffiM
zLElqx1xnhkbN0VVYVHkJvQcXdJkCAxvA80iADo3bzkBMecpHKzf6Dqlr6cLUXc5jL1ewIuYVRGo
yl8YIa9JXhmTPLet4H1x9lQZDnlwdClSlU+3j7fqlOToIBUrdgi4cYlrSLMsV0VV/GDOSuxNF4IK
gipKgxWIAgANBGUlqtwpKiHWM1FwzfFoyYIQMYhoPSlEC75NcntB7kXYUTQ68arDct0IcEGNuwQ2
JD2sS55KQ9jcj4DdamxNI9li80vCowFwYeSChR1bnkYxtHOfbqK61iVWZrQkxorFuAH14ixdzF1V
vf4kgZO6Jk8R3hLjZ5geQxNGlV8uYhruR8quI1QSp59lMRK6WHaICJfHcXTSJLnw1zadKwzCjIfX
/PXffvn+pp1SrBLAq06pLBKgH0u3XtSw4LWJwygqjI2VGpdkCTf0dEcAbThztcGyrnIGFaoitUrH
m/6wTXp1AW9i6hSF64+BCkhXE666YHtuuAqITSr7Y34m0RZHGIvh+v10h1Vo3WYQSDYPpGmd3ceD
uyh7+uiRbBweHnLjaKMSqUTCOZYalbJNw+oHs2m2VDlpahccuwqLYbYGVj+6hnJrihF3Lw0e65qv
V8xDNHmQ+mZcz9KFuivZTc3EaJ1IWkM7SkorRl3F93RdmWdQnxGlM76EoMzYr4MNV5hF2BxYPTr6
RlUQGxSKo/CQiYPxUQOV+kMngwrhXD/QpjFFdY5miWbgqqLkBT6Vsj1QMZW2kstEkcraYwCemFx3
VOEhXxtZdCdiJQ8l7SaU3A8XQ1t9n7S/MUgiUz2sa4GpGFjel687uCE6kCOJzQsClY3GPhkTxPL7
YbHW1HTD7hK4o2Si26MF7khoJCkvR7yLzmMxrIQdqwmcNYi7cPVoe90nqjnNPK8fSTEvWZF9jgWF
Hd1+LNPrszzCqcZ9UPSYlO+qD4GqbYYuNevrrLT7OiuVWmq0Sp3fhlbNoKvcb36D0Tnu/xQ8uPGB
M5qqSVpPPxIVwLb1LJILm5UqtVbaRMLNYYlEEL7I9fii5YJ6rl6sALJlInbyW2VpASdj+Y4uhm1c
EZVbooZkuW1FGZbr4oYO5UVl7d9sfpVaXnyUm+IndRI37yb1un5zMwuTghykDCFtAug1kMr57ukQ
Er4cIWFNQsJPTkjW5QjJ0iQk68kJyWsRkj2ekLxOQirz9aGMPH0ngD4DUQ9db5GR+JrIdzUpYxWu
uQirLgBwloeFdXGVewsqUQMVyk0Nar0pxsCvapBRF/sGg6YDbA9A1w5y1fQ96jK2ewcRnsRFkHnI
HkUp+vJsjxy4HJ99QbrtyMmQiEOpi8Xe8y+ADtz9/luJDga16RTbqbCCGhnVeY6VAgSXTr8XzlFv
62NE4FTnauWfCqJKc8lzkgjKbnenT8pNAhpww6GU3yjhpiKWqnV5FqIgqPZAFhx4Q09kxjVkI43a
t0V5XSU7sIjjfXJvPvGPr7DJfkK/sVHTb7MsSbI7EtGXkwf6JaT/bf7mBWvLMotJEqGbH8kd/+18
Sb+xz9m7PGPv1gXJd7+Kb17kYRRnrKHrCt3MyDJMyAvuA5lk9/gmS18UJKFP3/xCHFZAYU5CdPND
lhP6zFQOd4XfMUoW8ZSRUiyydcIpIHz0vDlnxH+BpOxb9TErucqelrEvi7ig33gW04sNvX8OVyuS
kggyitUueRVVr91GQcj2dSnhfvHXjfV1pI245xzeK46WrQyJiYeVrmxOYiO8eZma6AFDt1qKsz2v
H8/rx6Drh2ThwEpRg8/K96x8z9J61NJyT1kqcOfCkXs4gy4V7rPyPT3lk5RHUUpVck+4kpCAYU+l
vb07ZGnDS5pGFaNE/iWNghkQZrUuFuwKhhjrVUS/FfKqsl6giajqLl+GZSnVEZBhVfrMrovFlyhK
p8NTpg+Fax4KsVIKw1jlrBWZJvGYu7rUADwVCllZHQpdbRTKknlMbSht+UmWi/Tr4CFqQyEt1xwa
E8wN1CM7Y/owFZSSsT3d2yHHMlCTh7Y1DBQeDwpq4OJpklEVlZ5V0eGVjSVswO7a2q0YkQ3j9NaQ
GmDFUoTy25Yd03a1U1buJWbwbbSpL4G+WSAmDdmaNIURFKasJxXrnXZL8mJd0LVkyZJxhfV/MELa
ljAOvhnO8fvedqo6sAlddaGnRiX6Iqg0G1j2YFhnIxJ/EaJ0Hx2VXgdgpyuV3mOiMvgiqPS+CCqt
L4JK3HEjeVREul8Ckc6XQKT/RS49T1KUz0Q+L6+PiEj7i1h5vghRBgMQmdAXt6S9u2mgE0dyw+D2
VU3uYN1WxhXW/FC7R/OULyJ3pXVWyevyYUVu+LtGGaFhQHediyk4uS9vPoZxw+f6lOn9OSwKzfQe
AsYSTbIG5mwMsjZ4uqp0XoIH0CVenbQKKKBrLNWmJCHzEEyM8UykGUwIZWN9mnsMuqJMhLtaYH3k
KQVn+L0XehYHVbfO4LDCWjGWq4+hMKqBBK1b+ynNJqmoXuYKI2IcFZeBtF1dk3FbcqxDdQwJPdM8
S5KKb+GsZLXaKPcM8vs6vmXaQvEXuyY+cUS/xrOY/hoW9NdTWQCCpz4cwXVnqyqgb030dAYDLtoq
bcosPFwIIKXKOgdVJ+LuFewWRSL4HlIAtS8LVGcZPjl1VElU62U7mkg6xoRrZitEPVj2oBNAzjUe
+sKqTPG6DrxjCv+4bukKlNB12mtaUdRAisoqXOYqwnJ7QR0y8QAUtlMUKEMSfm7DLWUxpApLMXJU
MGqbhAmwEB3C2kNJpWhDZ+RdLniDzzB7zSdBoSy0FekCkeppe4q5Kows+0GXtPrHVSsC0VNcOc0i
8uq34lQHpxRBef3FughpW3ttbGukSDZlB10RW+lU6Lt6Ap2yiduPnywPiloEKWgCKHhIpA+va7tn
KwJ0HsJwLok5NGKzUcyQmLD94Q8M2KCxGyQz5uPq9FBck1t2Ak0oFEllzhHH6qCRRyeIDajBFkYW
VH24MCr2h5XB/LZ5NquPEhYP6bQJgQJHC9N4a8go5nXuQrgUum9ZeqDgYvK9H77/blvybkXyTSfd
NDOmdfd28Chtqaif22ME8AHe7ItaA8FnWcvr+/hiAffboKYF7vts5veePlxH2XqSEEOEpNDqXRFI
rH/ItAJNIBvBt+hbYNt6AeG+CZ4mEKEauGYHNVgl63lMHz7lvbaNW78+5BvZ5Dd2kQ43BurCsQ3S
XganAFN2gdhllu5o5H29+UVWBWWE3GaH2wv64lrjatSdgmY6QXfCeMHIPDEmZJblpG4xG1FNzLOH
wqh+C5zPgatDji1+PK8/ZeDhQGmjah0859WSJbI1L1Z6yoQOvGYNb5uQrlZbobDW9qC555s9qNpv
iSbhnOU7OjgHoBn1IRikTGVX92BQ5pZOjIqlFTNzssxKuMWi3QMoXYWreFte2FiQMCI5fGY0lTZD
T1X/MKB/rtsdgduqnF0xnOjqK3lxvKNiCU0CovVyxS3jZiao13345SLOI9aVu3yo+87w1XPFjPAk
nj7A7oIO/Go2h6nh1mWcxOUDL9FMt/X8YbZOuVV+U7VEqBvINI4B0l2jVR3a6JbsjYgdQU4APyvl
jw28IOXHLKvAj7H98xJ+ssoXZLrOKdR1ZS9Urenr+J4kZgd3qVMu8HtA7pG9B1X5IehqdcNuW7+9
rhb8BV1UvqUPMaE/5+ubyOSgC+cJIjn16UjJ0FZnOk8Cz+VM9ztsNs3Mb65cetiseNMoZAM7kbEr
xjpZm36aC7q3KrTFVZJpnKbZlKncLfOugNaXG/SiiAIwhaaSnRZFvk54uJWkrTB2ziRVOrxP5QO1
C6ZF0ZDpCTOnfSxb8gYfi/qj+YQy9SxiAyFAugQvRX5PmNuQTr4sL6pr/vIuMxaiFg5ugPQwbQ+1
WE9KgcvE9e2e8g8n1HpKeORCGYKtfzG28SXR5I9Hky/XieqAVWlgFJZhFfLIQ07AujxK59YTMA+L
lfDPheiB6Z8OrmMdpcJ4tUrnJy1bSiI+eupAct3na6VU9CjP14Ep5QmLHgwT+PDLurno0uN9rFHU
GSIbprLlWHGZs/WAvAlV4s+El1HiDklxy0DLxk+G2nLBbjvFkkUeMseh9ZEzNMqmax5MHGXLENYb
bDrWgCOQxuZZ/oDQMKJKqKgYce9OoLoMMN7/9MN3y1VCGJeF1c2C3gvRPnJ97KTH0Ca6IbJcMA70
Es4OgDCLTX8YYpmTWkSeoxQ4dyJ5VUfz+1UST+PNFDLefP/9T/+Ae9P3mclS6k8fDPL9kfjx/sOP
/wO6PEx/dHYIx2KZmrmxiJPoGB7Wy8G4wA29Yw6w2DXQvtc9+9dFmS3he2zL1YtV+U8FN9kDLax1
22TRcoNsel7SB1xfLDeCkhykkqxxEi+3BoFwV/YsZyiV5Zw9HIGYxYE7kGiBAUh8io6veWeZxTkF
ZDGfsEfI043H3pDKRgAXRzvQLm8Aurr3lVx/WU98GGNMb3GMtOdoVqtNHOoqz8qMpbLDa4mtcRI3
IGVyNM2B6F0L7GvfHGa92gOWLJae5g1+m0nYIl+dtn4TUypgNBTFAglbnjOMhPeRxSL2A80anbLX
9FBVwhnGbmDpxauj6Cjizxv5/jSDIyFMPAynwSFIWI4H4YB0SuHADQYlfje5hHR7tubVZBWy22GV
A5NrmwNZn6CzAms+Jq+yXIlM3/Ke5LmQ0Q9a0ch91GLN41te7yXP7oo4nYOzxnH0O77GoQ7e8BA9
gsltmqDrUiTb6LDtKl1GBuoEVu3DBM5Z5NETVz8qWURQPE83k22P0C2ykFy1JEk5sdWtkBGuVrxb
guzqxG1xRauKtIbcI1UJ3Uc9iNU3hn4cWIZpPGNeAxBy89PGUquF8nNiQ9fldst1efenap4U8PHF
HXgygAroWaNMAhG2bnGdcpHZUcFHV2y9NHVWcWyrqPi04Fmn98vk1T1wLWX1wNnRcF+BUSwXzsHX
SQ21t5Yxq6IK3qbKnUoKtIjxJGaXGwQaSYRz1lRqMxxD6AiE2gkXdwwUHnZUSNOopCAO3C1MM4ol
QOmn0RJWcd11zi9BKD74zIOyYbXSJ4pmWLFGSduCdVjX83Hn+eAMu0KdGGl+PJyTnt6VZnjhn5Py
h7CkBk307tOnX1hUOIYL49o9CWpBFRcLty00HLHgbq6StKEGWKWZ8j6T8shQ2/F08vfIlb8dAty1
EPeE5qlHrTi2SqGbLmy9+4w6trlEjc7gCngwlnx6uMOKTxOZVfKoVE1Vrod7UCuuLIAtayAOyzH1
svbYa2uU2XyekEgaWmyqXBz3ZkBdhggs4o10ZPfzgp+bt83UbtfFzqASPjuBlolGUifYd46ds6vR
Bcv3FMbDwbbm89LYhaV1qZ5NWbmU5Hm2y12Gldk3O+iyljzX5siPymy0G/8nygNEqTyng4oAVHKV
AiLYU8IkVe02FeNYpRwZ9jqr+dFQ4HAmuZE8OPhAXN+vDlLnOsGLm/ssAU0SWLBa7sZdln8mufRW
0LaGInh/CPCR2xpW3CoD6Ef7IUSzfidytFA4KIxYb8A56tmPXWhnV9jxxHlHJsXvidwlZA/Ezgq7
c/TVBSIDrIXLjZrPLO3E0mq3aldatmkNSu3+QOBeKEMtQkrQOmivgfaE21yITLcnlYogQ+gPHHNm
auHdNpWKEXbaEJTSqp5V90tT3fsiMd5+/9O7v354D4cRm/q1hmICcTMW9nQSta2HI6UuGIS6XREG
gEyvg+x0+HaoQk3iKCLsJPiQkGJBCB1f0SXIQ8SRXd2jNIlTXuQLdG+5Zk+QX/MwLVgXyYKUVbUl
VrVVVL8X+Qj1ASQlC4mLjCJMo0l2T18dpBmC98l9DtRRRgqDlTMj93Ezhtk27T9Ydi8ObnYRQUUJ
H/X1RRyVDqxSJGQ5oL3kk4dzI8qzlRHFM6oUDFdctgeZQdCTui1g53ZWQhBSTMNV3Zq11muSRDxz
DC4sdaLnpipKDNAkBZ7O44Yh3Gfl3GQfVk3zbuNwlyN+R38Bvgh2bT0GTCt4M23Y77VkN4NR+RTG
evYeSQVxV6XiNhblrbDNxJhmS5ZKZkx5Z+m0IGkhDBN1bPmJ3leItKg3sXppLWA3PUJKwa8ivHg5
36/tVfVUM3ibYkm1L5W6IlJIvgbOwpjdh/Oyh3RPmX7mnxSsaJ+o45rt455spTYDfdA9Mk0o6Nrs
RVkVwPHu06e2MvMYKS0Zcpy/hLfhp+o2pwUOuUr3wXK4+GN1xmiBUnPPtUDx4l1tSJbZn6jbOCIZ
L0DPThktQrOVgjNUACtlbAO0267RhUUpebrXcmV3iPlXGn4+bWWWq2Tay9DaCwCwUKzuGIdL7VHq
f3ZLcuH2i4I+uClTuNV6VbGwtqPpogdbUIGlGwqG6TOX6tzuhLIrFxT9RMj2tMjqCKttq3Lk6ZUd
APfPt7BvSWULEaXtVOLalFOdPGz1Iy72jlzTLC3zDPZ7287Q8HCfHjQE7F1LLU7H7cVsNt2nWXKa
ZaeSMovFaVmHnpjK2KFL699++b5zB+ljNImHhLkGvr2+vi6Xq+vvw4dsXf5K94rimnlO+LZRgMcE
5lDYFVUO83kzo1/VXyLmzIz1Ic03vUrC5C58KIaQwI45h4isTGpF1usKvJO36nTcJJsD1VnVrldU
uRmRWbhO4OoISr7GXuys0c/MT1sjP9l8KWQ6ivwvQkf181SiqbaDvgRNdZSSUk7jakpuBeEU9uCz
n2M/OY6KLUC1bJReLK3Az8tTJW+rKk/F+unYz/p5Gi8lmumhL0IzkUZubs3eJE7hltPuMBraChx0
AdbRdel4pMx/tiRFwSJqD8XR/1BwOiZXAdMbQAVgJ503qPTh9qHWZQi+Of+GE/g4cz0x0mzzKbwd
6VrJ2pAcz3m0O9Amu2RF4Pwp0znLmtBHdHt+xl3lK0kahRNYWmjcx4VqjUmGoFTvzLIVCD7q5KKS
yOOpXDlZ9pmTpRUGcEz7SWNQyaWxHAUJHKaSyPROJRJYDbIWsjRXCPUAG03IKtTW8c5SzvbDqh3p
6YLQD5jfN05j1rhsN7tw9y6NCkyu+Zry+zs4NGxY+kAbVmmZaAEl2264XHzFriB9tqyr/8LrY6CF
sZMkhA10C+mkbasmVc/nzoVuFShqw647O5I0FmVx2jop54FYogtSbA9DsgwU65gqO6g4vQ2TGG4j
6GjVoWUWxbMHVhgWrn1uuWgYbrYAW45Whm7stAguj4DxQFTucOmmRVYI1h1vFHA8/IpUI7IokFtB
iyTfHpTYClrMbOS5Y+Fj2EXTh99VcFczPG+a5ez8njyIclskEQ8q1hjvQ1yVImgeo3rNHSFJbWEc
lp6tmhuUVdAclPKpl7JNfYs4ZXuJsD+j5yG9AnvNwihvynxNGje9/Qk87AW7pbFYZOskMiaEhW5Q
s+8/ggMDeky0do1SdXyrJ5VhQvKSAzXVFPWymBcssr0KsGQkCQ5VHWbb3mL5+5ra3IIIWxzYZk/m
1L2X616AdSgU1wUqqZtXr67pP8FoXnCPBaQvlzGwWZgUvUd2iiT0aRLr+iEs4oOQqzIfRRVs6IGV
nkCMaZge9nSBI09RfyTm/qgPtBSUpR+146o0wWrH5adn1le4dm0yNwjbPgRJDU4PzFYf8etGWbMh
SIRPde6QhB3ThXvRte8nY2k0SZYVJCUKdTI9leg+BTL362ccj2a6CNO5ymBc0x2EC5I6ao45DOJx
rTzxEHw8zBDaS7ioND7XJPr2wagEtHfggqQ8x4jky4qEYJ10FyXdHOblQnHyqyRudQSX1S60hkM9
27w7GEa7ultoMHCJsln9SN7kqRsLuqtJ4wNakg+tIYolFsUnNsJuhfaFVJfkvjTKnLVb3zt1ghaD
Ly+rrbCWTMMVO6MX1bnv0Iw3FiSMCD0vMc5Ms3Va3piNBhqjDaBiww06/wj+15TqDLWIY3pwAcfT
XfYHuXmHHUzysFhgURGLEziQZikp1tMFmJJsDzd2+J5PJXPSEiVB03VnntQJedX1TP26PpTWuTVc
rnsyA6cSs75lXPRUeg5VkAdYTctbsctRT6phIuUleE4iksU/jk9dfVd95JKDiQ28iye2ihkit1Rb
6JqTkDCXtjD1exK0CAvjABMO4HA0kyTqUcoI6o50RrJWoaDsi0pk3kURxOp7RFUOMHxksXVh3IbJ
WtR+2sSoP8zGLU/up4Tv6MY2sAa+pkI9Z9P2rkNc18bVQBcVzorkZUzaVwh2ZdSPJraurqm1v9zA
PsB35vYAdAlbGSsdGi+VNtFa4SgdjXyltUKJLK8H3D015t5/+PG7D+8NSg7rvLutH7AQ2HauI3fg
t1PWAmqEZUkPSSJX00DUZoKmwi030P2o5RVxJNQqFRroSm4qalwVOMOSnPIaazKynaGkzLwNv4W3
YX3pCkaV9FVv7mD4WeQoM4ehjJ7+qC2bRmEe/SxZLdrurHvJFhiDVMzBQLxYheXiLMq9AW6Z00OR
XVeAGJ/sTekJKdlKl6YdyM6JKHTBdQdU9gpWvlcNtHgX1KiaLkT9LgajuIKVU+zroZh56ejx6B+b
o1IIVz42+1J7VM4Sblash6SIzOKUyNZmjOWdM06T3iGeVGpY7ZimQGQdlS9Yey0T96Rvr8UTj10Q
QqnUclAhaE7KT3//0/tNxLikp7UZ9KSNLFdUTsUtdKlv+4OQU5WDAsmxHgs5JKEksOWJJ0jEaTjl
3cfpWbo6soH+KV+TvrNn0wEkVZHRXS1csePFwX3neI3A0Si2KBnF0TQDajhWJi9M4rCAy7AH9uNZ
iesMhU0OXHWzDnv9NMlKGRFZmmjcnXEqRSlW4RQuNOz0Ps6DNaHTrIxn8DbnazrcLUm5yCK1aYeQ
K7cVjpJXjy/QlGIrAoUxx3SUvCgjuac/LulRoeCrCOxGt08ZMxTqT9Joh1nddi7Lm3C1SuLKqrvC
H38rsrRxXBgGmF2BU8Qq23cZpvGMFGUz2HlQ7EZTchuNweWwzJZX+O094C8clN7dStDchEcgOy8K
mOphpUymy3GpbnCbIjbu80eDxuNCJ9TiOje3rXFJXiVhozKQPfBMhlksdezYpqY9QrSKOAPB1zQ3
AqPat2Eh5t42nGa8CgE9HoSThJsNq5Ifk9VseA+fQnQXW0KFiLqYr+QM4NquHqiczNcJu8k7kVGB
1La0kQZGofbRHyc8wgGNdg8w0APTyLOUukctRxOxD+l0kWdpti54rkWHfoIKZO6HKisAKrWQP5m6
bb8PFhCwd+IRdQsyLU2jqC+D6VdyX7tJBWFZWvGqqwWWTQfnCjn60dLwNp5T0xX2G6okJJ+AyEos
Hcmx7fSqtsL1GgLsHjP1w4rTsWzT7zlfpZDySzpNizA9AtAzL9080pC+SEv641f3XTsqKgEWe9Vo
JH3bkGdqWvkTY80zBQDUAgprPxlVR3B7XfD8vku985PZvvmFn6poznto20P6cSEgFw0kZUi4yNVH
1NGkkauyp5lIMXiT6C6SvDSNfiwzrLGSAgrvD6sLkAqo5GNJSRRd9SI3QNrscwaCBaHlGvZZ9ngL
3Er7HDH+yVtW/VSltFzf19ZvVqe48Gh2QddH2/e04e5RKhpBs6egyqVGR7q5JzkStJ50ByA7XS1q
UON+lr1aHcMag5EakZS1vkhISYzNtVJ1+uGh5HCAhDWC5NnAIKn7w7JiScrQKMM5Y8Mki+BwNz8Y
iQG74RTryVY8onFhle7LNtbAnNrCP6j4ymYqXA8YaxvVydw6ZaDIx+djH1d36LbOlLtCx+ObaIQo
GEnr4KmIzqZccBimPTAz1kkZrxJiTJNYlOrjYH8kpnRdoLszAK4Rgp8kvZKil7ZljkDyZgAdja9u
VG81vE6mZmGbsyQW5fGPoeriITU5Y+PxOMOW57ZdzcHBOTi0GxrUDtw/C49E60fgBIPusRfDnFOs
IcsfQ2+EI2ryxTPH5Itwr5G31340DAkn2bp8y8pybz+r4uPvS3FEpue6A0HO8zCNpos4iXLezlQw
AOS4tp4RwJGv/BcMXq3c2IwGdhxZozAiIffxFPZdYaXKaBrGwHs8y0ZiIZXYS10jSdKWsQRjjAXO
tFBylHfBbukWgwLPGQyZTosJa/orOIFh00FDYYu6i9P/VDhtdcVMYPmayBoGFZap0rlaAW3/apZV
l99f5eDbb7sHcJ1k9al+/zOvKnk9SbIJu/amxlBYThfCKveBkrV6Mvb0s7GMN23B2f66iCNSGHdh
nsYprNZKjoXTBrLbcw4HU1UcKuA+Cq6nfRy1p7na9wS4CKnUF+3MgD2HNxtAJ4f3iURny0mckp0x
zuudxnAAiO0NSXy0Xq5YhD6f+o3i1Uru0lNpT1MW1MfSbaoKMXwk0rbxlj3aMKQdhYYdBqtFyMBL
KS9Mb6RByDgx8CDulwm7i87J72tSyNkxsIYejUTGkwFGUre35iOJ04QtGdIaafYYI5DwQKkKX/el
ahNzU50CZEX3HVM/J3isBEu8pMdiHi1gItjHNeRmTaaLrO6nwPuCrZLXVS+Hf+fr9CbNXvze1h60
DaHYtNt4QTfDG65uV9j86sp6S7/tkOmbl6we48vqB+wff9G4x3LHkARcXdIMnpAkhKwPw7Af9+2+
3Lfg2p5YO/Ylcv/K9M4uABsUgJK1PowAHkgxoASsN1shjMBvYECNWpr2GFJ24NCn4ClJ+Vtgop1l
Th3fk8BLnDM07xvDEC90orDNkwSAbvYsPiYB5hx5yX6Cd7ZAQyD62RCtq9w8YmxF07m+4onQLLhx
W4CZN41j1R2NLE0eWF9EQd2XYccBm/vuMJibQsXsumfvDkKcWWYrBeF1Hwl81MDDYFbToTAKUn5H
fylvkYKHg/HGIesejuzBx/FrvCRMHyTscLE12jCk7dyR9mHsVYnZmxWbhWLCIlf5ygmHyJxhPMV0
QeAJi1UK9HUfjlg9kIcG3DErj4Coaq2Sd8TpSLNEF9Vo7gq8SeKQjQAr3c46uvJE1MTEHTdHg1VN
ITmRWeu0qp81ZdU78/W0zHKZkqpdt2gYg1RknvYxbEs1FXEkvmtRur11up6gtgnjPA0Gakvg6qe7
tbmE6Q8EKjNgPDwQ6GydJFXh5bs4iaZhHkmJV9qxu4xDfQhoAGVfzvc7bsyn0lYu+nU+Tn/j7TU3
XvP6XCtbdlw84MyrxmMIXRieORYLZKue7Q4/Ctb3Sn7b6I8gB959CxCDMxIDZCuTO4QUFGeBNQD3
Qf0z5lkGl+9Tu8XSMYT2Mgw4cMYZCyyL4cD3Z6Fxt4h5FknGImDqqj9wLIRroVGGBLIj8AfGLss8
nvCSiZJRON5Yo5Cphj0aL1hTA0H5SAcPzAsZB5Qc7+5J2EeVYaTGgn703SZ1tC41vf7HV8MNj7A3
NG9kVoRSsOIgvEkzxVvzERi2pMf2sM054SoFl3UFrlqBcngwn9TRr8RpVjcPh1dw/YB1jTpGLsVu
mbaWUjhr3wFI12007ABaQpQ8NODU5Ddm9WiisAzZ5Kx6Gt+wt9/uFXy8vmeRbp/j0ihZXFdKymIa
rsg3STaPZ6zkAIle0Nc3P7/59Om/+JxmB0rJDMZmB9WqBrefgrNk4cHVxwbFn5O8eUiwUTC4DKWO
C+txyfDjm+++5yLcESmWoj8ka1tXB2todOnSoOJ/8E5Cr5ZiI8pIweqlG+FsxkbDM1dg76P+MeRk
HvPGvpMHdjXAW4ALb0aQ5wUDjIDfIIdpZJB0llE9h+O8zZOQf/7p02mu11tS32UDfldjAKI3yPPM
KDODT+wav7GkYdMecAD70E3SHXswiW/O+WzlotMv7n6R/QjF3sJ1pWNsL67PmFNBwHVXpf/e0+O6
O8j6esB1+qODFurwhYu8Oq9Sf+ujLvAnNLV+grMpMEeQKyxK98tkOBqK4TzQjLd6qmL+oFtSpboM
z3vGiUyvX7MVbBlzSxG+HnGGHEV3j9bTk7c1GKeZjPkc40cRQ1JDCw1pGZOU5CzIlZ5ON2yAxG9Z
X6SxYruDi7/29ssbJqtVDXxy/PdG4L+c8UqN1DpTX1/F82AV4Cre/TKFjvwBhQ4K2bG+zM3N0o5d
h9dVPsZtyHTMLlDLVW1O8koPuaCHtmMOyI96dDyMtH59czBSlk5Xvd9VnGqUgvDPwjW4Ay86J7fO
xhlZzVHsjDQKuOgRGgy8bvYrI91WOZ343dG7l1nuBnrCuoH1k64yE8pstenfw5u4aVo+dLALzpO6
BDaNypKqK7CYJUhp89fOkk9Qo79BOFGFfrDbyKLuKFfdI8PhCfaAzDhXxjYluF8qbyeOVwVLZO3s
HXNoZtfglNGaOLtVnI5RRko3XX6v7HiRbqslCXcWNQ9aqA/zwmYRtuMPKfJbXsyNLjMJc9pCcWHt
IlIzYYYY4iasry3OZYABHskRTuj0z7Y0nqOqzrgLZXZL8pxXIdzL/odjRAYdxzbTEEy0HnK93tZZ
qJPkWEQR4BNyBjVXADUk9yuSx6zqVZjczMKkIC9alpVtViZVWtadfPN0/nqXyHllfVznyZX1nik2
r6jykbW53vwx/YQpOP1oM3rWWB4a/xGGKMEII/vSObcd3tPn3N6c41VYN5e8cEkzK7AuYvHVUuHk
aBPm9U3GXW0POY4vmeP7251/do4HejhudT97BcNyvDhkuW1bQ7LcG5rll8bnYauSnUm1yzCv463E
Ua2WUvzA0EwfSLu/GkGxddWAO1HMizBn2ZFZ/rnyv27L0soq8Chl5nUm/2BIy/AzMe4XQI6CWkkF
XeyQJTgpXbOdOJCqVHQSF2VbMVjbGXfiya3ezRn/YP4cmLHbwdZmLJ26yuOR2LDIvSg+QNY/X6Ge
+SDhw1fPTKBMqIodXzArwNUJLpDsmhe+OpnBF7g6nb5K1wW46T8zuGzlHI0tX31ZfKiOHvTFdJFn
S8I72acFKzi2QaqqJl9Zbx/b0gUe1+3AfSy6OSa/HfMSds0vh+Ltv53BMLZ1cHEMYCvxBTMAXGPg
AvoqVVIvY8ZVMijDafY0VU+4vu6IvzL9L2faVZfET1vWzJbl/8QLTptBXD3hYH16bCuTAzfEU6k2
cubpeWSNf/xyZucx5auwXHzZ1F9ZH39fk/zhynpflDlV7C+cHdgKU/rw/AvarZtL9Be6ItTEf7mL
wh4DnteFBkee9tKgyIlyERdxEV5ZbxlPWNx8WJBlPM2SLB2VMegCGUN/wr+wrnOVypiMQyyQdBVO
+XX7pTIINHFd2MRVKcQ1nnxO9j5//HL0VMqG0fe5y2bFeXe8C+fNWfY+dMn3es+ryPkM5ovnxvNa
ImfP015OurDl2a5W5dJTM7I9MKdKpeTspcjqS9TP/ZSkL3FyPrPgYH364mbBYQwmtXfOEYrq4MsM
Rf1yePCySMjs5dOktyW0obEEmMFX2zvwC+YIaIT4YJiNSlXXM8uDFXCvZlz9aq8NBWXsroohtawn
1KR27Sv8Llp+fPjuz39Jptbfi+jdm+C7P/1y+z/W38t//cMxv19GSfTh78W//oGSSfrLO/K35PNf
30UP//rnj2jy5/83/euv5eb1+l/L5GFq/fI+/FNS/Ouds57gX5K/Lz8W0T/+Nv/509vt7/3PP38x
p8skjv75SzJ9cNJ//fOXn/6HPv9fHxLzX/8ws79YvySEPfuTg//nH/foX79SFXvf6MVpXf5qwGJd
n2Vx2btTHZ//LCNNa2cA90P0H8VettWQr86UvXGpPBjbor9ANnz1xTPgspUAWo2QCRdExRcvgXOm
kJ13qz6g3LatTVY+vHvTX9BXwkYpJV+DWkZklRNqZcCp4LZKJQbHGls9N8XAzhDTPTqt2YpZgMyv
/vKgC/UTJ7tug0eferwHkPtwuUrIq2m2ZLdW/PcumBfQpFuGySzLlyQylqQMwRoMKnnGGkaSUuls
brPgBcC+RO3Yq7m3n8l5sHjv6cnTnipwVuth584th3iP7roKzCObNXSxp0fgOIbrlKKLF83OWKDr
2DvrKvgYF2lWfsryt2Obs1qEAdcIVkqzsb6wTDDrIhJOq38V+Ucffkkr5Ib+i6mTcWaGtKUFfmnz
ZasgRy8e2QrNQnAKQZEt33MvXQrH0a4UfVQB2BdG/Ngmgn1haRysF/pmEF80I3YOJseaMK6AA3ma
LFLKmqaM8Sz6xXXYF/bKY688zN4G7JXNvgRPdkYpcWnPT6nAhS3/nC13Z4eMtfZ/KnFrWto5dUUH
QJEpLh0THRF7a1Wf9Ks9+qT1+pIlKjFnwKp8gUq30cudf1fYOmNSwuWy5ay5Ghdl/+0bP1+OwnTh
zLPOHM+k58Xk4dnS63Ij/Tx1TuXY2HrmnGZV5dMomxpRRoq0NCYPq5B3QJC1oMNK138nDoNfQUnK
8VsqbcRPBN0pzCRZk1fTomg0Gh2IUEmhfcv1tIOe2PnAMgdkdWvLA2y6YzBA1usAOUONgNyGiRQa
u8Pzng0CWF3QYIo3W6dTFrCyeyHtNBEMz4LGiAB+ePZQ/JCvr5bnDwZMSqOku2C2Lns3++grgr2x
QFud/uX+fpmwW62c0MMA8yHkWUkXAxJtS3vzXdDg3tM8LBagUyEYYFxFsl2OV4vV8R40gBru9aFh
29ErOoLjjGbLH4TOjdIBdA7EWdaHVYyq1Ku6M3fLPEwLFtRllBkbCMBo2/IGIXudhrNZpd6TB2Mb
4WOgEVkvGgMeQM2zzzFlODVe43lK5/F0zUx9Y50n4Apr6QBjCTdGOKnW0jD9DN6pIvP/+fbb7hh7
M5Uul6FRfQ43hjZ10VSGc7DKQU/DbIsQT+HoRpV93215fPXdKBdkVlaN4ndJUkwvYE+xIxWSqyyk
OE2zKVO825haFctqAPWvgULTSHNh3OUZC97OlmHM+lX8tt3d1kkJTDmsFB7XC/wI1TLxH4xHT3BO
wpJs1xhQrNh0NCBtl7FsRVI4YsPUAKN7jWnDm8V5dYVTPtRYlflj0D2jfHUPcNPXSqUIH9idA6Ul
ryODgU3Q10FpuYjz6JA+bgBVQeZ0pvDW3OBC6GHFhfDnnz5dOKXrgp4xwupsB05R33wytIomjoW0
aq9kCNDcwbamXfXc/IWniveo1Ofw8AvOCNNRWew8dbHFPNWiqZcY98BhifB/++V7esAojPcffvzu
w3u6nmVLg33O7H2DLXBZTqpzAF/vivVEuOR5tlyObcPY21YOQbfjCaf0p0WWG7FwEMhSijzpzBLK
gGrRN7CRkFsCHoqQ51rjDIIehpufguc0FKjYx37vIcFCUcq27Ay+xwWQdsdx9MLvs/1gKLCph7zh
4MVz1KBrLi9vYUwXYTqHJeMFlnTS+r0n7V2cRtQi3QwGNL5VWufpZxB4I2da/sAMqVYxQiSrWOAP
qLBKSxgOEBpjCOvViuTTsCCwyycYYQxwGco+Gskf+2N4G8+5yld+vfuS6eFuUlYONtB941gawXcK
uYyjKCE14/fHAnIgGGQMZZjPSdmKjtHg/F/kZAZzHw8MDaLa3kCo9forcnyo3REqA+cZnW1ZHs/p
iscgSQ5fC6NBtAuAl4wC+UGnpV6Mn1YfEgmob2nGZGEm4ATWqcZxys7/t2R320sZvMpW65WxpXm6
iBPwDhTZpjuIuKsB5CSMHtjSrjASb5iVtdrJKx91nDKtqz7Ijm0PMLfaczQOit25SlQe+cOIggsB
PhXqnmNbAo0FSVYwnbbWLVQymwMkJS/Qysh2ioJxlw9VOGaCvfn++5/+QW2wVZgzR3y6/ankeOJ6
lmb21jO1XISlQXWH3SgXzSHBmfeO5rE0WBBJjgSW6w4kkMoko+Dbg6OSbOiq7g0jnCGXUdGg4iJL
WJWmf2R5El2Hyfbcusrp7M9Lwa2jrxRi2AW0zMqHlQgUaQOdZHTvlNOo5lE7Da6irntAgSJaFYPL
j9937BNjWqy4UczCJaFjh1qD7R7o4Exyes3tQ9RpEk8/G/RYD9+nOoE+AjenjIgUZZ7Bm5ZG3Yni
6F1CwvwffI78xOvvwPdRSm4DVdBiFZbTxQcRQ5FayI8iWts1teV4+sFapj+yB4GULAEalYZPBJgu
tdpbimt3+jCLE7IHYZs2hdCnGvMkm4SJcRvmcThJBKIy9WlHvAznpE01TF8/nkQvkD64rRtoPOXf
hxxH+dP1ckKNqL5Mxd+aphJeXROtBc/VhleEaTTJ7qV2s2c52vD2fPthDLrNPaSPuDLL26eggmul
C6JYfranEzDnqedj6UuZrVpXNFsbGgub+RM1jdY5+SDchVAQuAPoZwObJfFmaVQfMOBcNE/bQJTO
ThYydQMWpPy1zsnYZqOA7md/QORKq+GUJKwPl58ocrKGr86wb9sD6JV4nXWx94jwdpHM7Ibw4J1B
7ulvVc6PzTXK4XU6G02ULeGjnO2OPCyWBjAn5ZuSqt1kXRJqIrIUTDBEGjtnGJyUXRidYUTFHrvg
YQXumYf14ydYgtbZB5ZFgoBmpLLgoIGHJuCbj8cbXHzyvAyss4xONjF9C51jSK0zM1Cydwcdl0DF
Avv8IxPMTYzOo/5qkxOjwdQ/To2U3MnCRRWS5ZSx9y9VeFTgXr6Ueuwobg/IGGBEZSb8Gcw3bI0/
SvAyxEajDaRi0u4DUJuxOx5nWmJ7FJKaOg2lqSybwcl5gywTjzQgeXSfr3eK7QclH43jxBD6QBJ8
qjwkYQjq0dhUwumRaw/BqqbATg3T9ZGUU3gATklDdpFpqhyuRONitRhZkAln0l8+/crv5NmeaWRp
daUXRhF35Xxf/yYsLlvLIPYi6lgo1T/icvF2XZaC/C/T1ItZBSS8Y8jdWWEr+Qe6i6NYZHlJTR+B
GIKRWSIbjq206iqx4p8/fP/nslz9Uhf+UNJJrJsZW508HI0gfXg4QXRghqXkWBCN5zDz7CBobJU8
HKWH8QtIxxlI8nL1t8bjumwglm/pIn8bADtNsmKdCzZLz9VLN4Qsjm51rG574knABob3AFcXpzc2
7SnbnsJVfqclRnRXEjjD6XcH+q3AGoj70mlu+95obJBOc9fvMY5lfE+id1Xlneu9GjQbRwa1BuWp
/l6vPeYAfs8e3UVC7o9JciB3dA1ikmSTjUkuuVd33UcLuMsNVBVxLwuqXcR7yaSiAw+ytFNfH3Ck
XLcdcxzK60qtkBdD2+wmy1X5wNFWyZqlCMlkPjTlx4MRZShpGkOc8s+JEa6jODNu44hk7Yrv+tag
TIBGBaq/UmDN0Tj2NhZ2PFiu7IOnun/Aj+SZKFC8zr+YB7vI81Q4YY3z3JYpMeXWrmwV9LWByqfB
FE7GwUq3FCfiVwUrm6WalQLmOjFYxyZ7GvBugxcL1zGdcYQr3tytAdRrkonCkJRuBbry+Qwy5pHD
8vkbjDR/+VjgndzrMYK9g2m25Bl7v63mDWeHqxQq2ZG5LXaCa2uH3tlokqw4H40jWLGNhntJFiZd
yTK3Rlq2xJY5RuYA25KgZYOlX8PuF7mCajsdZtWRp7a6P+IhEnmWsLKaq4wOomI0y4kT3KvI/Xk7
zJ9+/vW7n3789Aexh/hoBFWVyB08UCtNERoitxesNoWK4pxlI7CBsftG9r1Q36h8e9DZJRie2ETw
e5nTGzjG8df0zHnD4b69vt4+81t6ELA6GhVKxWgv04IRyEFlAXbQWVREvBwjy78EHYEW8IE0ZPi9
4kAIxUYKmpcR+7Knrd2DUUqWjO/oG0XbRDoeWveJdJrUDoVG/3DQeSRiVlUa6c8kjEhevzEW/B1P
i2feWDjt+DSGHBVqPUDdKz1ClbKsqzW9ms7jhv1jD0cp976Cq7rtnIFUpTSIjqTOCWy8K92nKGGK
6XzdKVaoI6F8esOkmvpJPcRfZUW5WVngzA3zHGqFh+M2oxhmtvfYJhAj5Qd6TgnnZO92jKRRYaTr
JNnAQndTpq8LlyTxLckfKFgkqDXlY01Y+1vV9BYwn3xPevo7DYNPjWX1sZHIwhgsXQTG6W2YxNGm
EmC5yLO7wiD3U7ISVrG3fF2i3AseXTGaizJONvokViUvwBqZvj+Gff6zUQi4bwaa6K+5ftizSNYO
xzfxkNDbqiPi4lFqkfIqI6gLnIrljBU61Zx7jok6DxUkXCYUZfvC2K+4KQggD3QA7pnFv69DOP4u
kLvLdGHoZF9dwcKoesfC0UVWD8T7onizjuIyy6/DdLqg2zbb2ug8MO7oz3c5zRguRRJ0Yuge6FEj
4R3wOiXFNFzRCXpQFbdhLyI0AvX0eJrEKamqZlVb/nQRCsPKtfFEPige+AaX4DDHZgrMCnuMYezt
ZH/75Xv4JiQYYSBwDSl3sBkinxdY07zg2zIrhb310Ys0n5Ue00srO0wY2wGw1uK/31xZ79gnV9hk
n928BFwnJnedXJlI8vztU69fXlkfGlWANVJShLPtFVnTkLZ0S6n2LIHT0RpUPhtoLiahWJRkAshD
C5sgLKl8kK1bPtLN4+KmkNlnCrVzzj2Fc0xQGL76kiu2200xVJBb0jE7IuckTJIHo//KcTJ/rbPx
V4CMhqByUCidK/9plE0XZEmMnCQhy8qBzZFAnySV15fO2wC4rujWCHgdts/Ap357JsgsVxOzWHe+
Xcv2hISfpWYvYncHehkYpyXJmXuIso6krMKpMWNbKR/aDXrB2VlNNsqIMKG//N+fqkJrLO3+Hd1x
32UR+W/z3vG/oV8s/uWPf/xf9M+ut3/XrN07HAOp0Eiei9oGnKSA7VeLTFrJIitKFaVSYfgVdruy
XMTx6u7ycaiNVGuULkMVaJmGdEmPZG3zlO4iT+JauloYFe5mkZpu6CQVe67/+enTNZs30y0HyNHA
DE30V71B45RVjRWdsD1/QJXhFNf9QjfasiRlyNZsFiJAfl/HtzdXGH8ipfGO/xp9Q386rW7r2Y92
SL+Soqx+6ebjm+++r37zuqlAlqlpk5vmYbEw7hZxwtwFYcSKqVLKqqiHVSgqDamUnX0SY49A2eJU
J27eVEqF/tioSaCUCe+1j2JzYVewIvugvwzbuqC2zhmBJ4oV/JZpq9fDH7SBfD3ImqZUEfUkFvEG
Hn/+9QfYZReYgzHqELhiV7yc07lY5NOblzyd9lueTvuSfpbRX86znH6uzMiXo/DvJD+sNl6quqRf
U6ayZTKOrqz3dKWr/u77OP1cLXvMZq1+coWt6qN6Rah/n3H7CvvmFQ7Yj60P76ofvrsOm+xV83h3
Y6+af/mMDL4RsJd9vhv8tycsBOfkN7xseoOtBodu9EHWTiVfvAINZDmh5iDbS6estE+4rRwK3845
WA+sxD7i7OLD4jZPRG4aR41ZzG23MHlV3M3ob/EQ/4pVVfA/tQDuwoeC8o0xsXoYwEM8LA8FfaE1
q52cd8xS+ZbVyLxmg7myJux079rf/PznH3+bLpO76L2zmPzp7w/Ru/n9X3+9u53iHx/Cf741f57f
3LSxz9HPPvl1kI3ssZiX0vPRzcsqA4tt2axVAN2vVyu6gtXtzIw7MvkclwZLGzZSUvK75ZebLb+L
5yVaL5cPXKdN52UL931XN/cP68/Bl/PeWPznPGzsNJuomldVVM0f25ikdOjxT2GS/KK+RT/9x6Cf
8huarYpq0c9TWA8zHD1+hmvhtqOH27NwfV/fLyDYNeIMzXBqKdZWDzcZq4l/hT16xMqmdO7XOxv9
RGohKWXInsYRfDaOeBuOeJfFEQvOj8bDcoTpxbv/fbcIS3o+zf/PkWl9OmMCTUsVa+xqhEK3ou3g
oTWFjYDZw3wMgoAJ+vMlKRdZdHNfLSpxulqXmxWtWE+WcXn4A7703dMXvJvAzcufE1LdMbG/oN8e
6Jjot5+/+/EVW6depFkZzx7eZynzbxaL7O5NNR7U8Ek6+hhf0czatk6EVWNtyx9FApx71TAoX3aj
224C5D5crlghlGx5DbPs4+6PGmxz0BBs49I+O9c2OqefaaYmpm2vegzpfa/bcl15EtfWZZzEvKdV
M5woUAqJ9DVcLwsvu6Ar55NuBzVcOQcniY6Fy/PS6ZJmT7Zc7YMxLg6vsA+4ipgP897xr/A75ina
fgvYP2YufOx3jXgaK+u05PbTo6tUPGQgtlajrG3x1nMldG3vDMW5lJGwIPQXgdoUnlJCajDuYhL0
X/GPjLbqAvjASKNvVvTbd7PKwmCiI9zoWMQFt2F44gmzdlJ+Psvol79QwX6qTWWzevIf+Z+QtPrG
vtLTGbNW3nz69OH9Kwa5giaKpV3cezMkidPPcOnDYaeIUdf3TSOj2jxFc4Ykyzi62d0AVJMo/Jpf
vew+/rq+ctmRdmW9ObhmsT5wfsMuf0uprt5pXGas3VTwhUvrmOdbhcLdldSpl3+yqxO1hhmn8bHu
qytwvHi2fz4uVkPr5ZOplpeQrr/bxyyz25h7a+pTThc7Zs9fU0VhMIHVw21IDQ8gNZ6T12rYBIqG
zVGatJLYRrA46kWUr2c8FVCSY9nikQ2eUPRXZybyKJqKSPgkc0a7beP4OvChnjQn71nlwmLjQBWy
WCVWG5kdWQyqpkrBIBXEx6KgKrQonMscJHW49uTYgU9hhAOZytlWhaRtcag6rrEqe0cErTOUWsL0
5GTz2HUYBlXNx/oXms5qNDBfhK7rM/CljRkqkTF9mAFfrZ2FFbDPuo1BQYexHrct0kXvMZPhi3Rz
wDXsrGyVsOSowd0yy4lB0mkWCSouttQC0MGl7z7+8uaHD6J4gyvsXmHrHjtX1lvsIygIU+VSrTuL
yrt4Svgrzic4Y9By0ajKdBgCyA4611fYMd+cGgwo0zyEgzH5Cm8GrnlGvg7CVH9MpsLhb8F5dXUA
pg66AuzYGYkCMsfk54Gj7wp7iPKT/R/x0IS3GxP5yJ9eOQIbwVkquwvqyDh4P5He6KhgdWSW8jVD
oJcnWcpSdIw/vf2rpD4AHpApDLUg5Q0dwdE9TDW0m6t33k8qfJJOQZVGgKdzjbUDvp2LQ8+8oZWJ
oleU79+JHDOw4pjZ4NHxXcp19bQG6zytrKtqShmrPFvRYT1UTgfB0hXoVrztELZxQtVw6oihI5+H
KfdoqMSmnMyYC1iVOD+a928sefD4Ao7ulm0TT9dytZwbdVKUfLGy/VEXq20GF/2G9hK3VFctgF/a
ho+OD7C2pV8YLJ0iZSUNhRJBeHDt3UnhnXX1xt6Twzbib/MTD+C6p1FnKpwG5239nE+z1Hjz6d13
33HWYyMis3CdlPIDs2MNJIxDeLIvm69rO5ua1vjr7QTB+PrKZ1dgbwWTgxvWzUBMbcM3x5geR0KC
i1/6I0yQZyFshKA2UWzzTBPlJRXIyz0JeSLJeCcVGkX4pFXsA77y8dWbdw3xqBg9uI94YAvI0Ueb
fIpcCPs/Xr2l/96Pwf4yj6efH+BJYI3A9nrrZtbTy8NtW+3SsWlDBfpG3c2GUpTA9mp9mi2XYIsL
D5kDSmCarEv67uYbbsxOd7K437dkMf7f/+fF73hbM4PvCdNGnXB947wfjOf7BXVZLQa6BpdVoCOY
t4PH1f4dx9mlQuBV35Hpb16g+gWyNy/c6oVt1t+D+js6/WhxGdPiKATyUEqt6b+OhwYSGRwXeVoM
ZH1ZZPL/uWH91q2leu+5jU+szSebFx7efBJsPjE3L2qluLcaT3anmxfO8XO2f4X9zZ9v/src/HJb
kKatUnazv/BZEB7oJ3Jc6+Kljkz3aFoj//iDmt9BcDzNN5JACB9NfMfvvlhYDGearR723m7WDpm0
3XGkLUujfp7n8nluml0m/GXMc3iG42d561rX28WMhxFzuFyRnPWW6HJbcl4Rg+kL15ShLCulPYsh
cIbh6L49hOHMTPuiJ85GXVFF2ZUZHPOYMvjKdK63Bblkitti4VqnENtw3m9G8sdj01elY50Ktky4
XWaMdYEzZk+aGmZMB6a2VGexHg9Hr0xTOYtKpT9QF27SEyvrQV+wFzBDzcemoircNIfhpqhKfNud
Zsd17Qj09e+1h+flr1X+JP/C8tHYr7BvVVH5l39s+Em8YfjREtlkW85jUS5xHJSyDWGbw6yIz9P2
VNL280flNq3V4om2+nsQgXxRZuej1oxQLxiAG63dmkx/ZIZQa6MK5Wnlhz8AP+Tu5VF4UZXcaJQX
PjnDmEUbu1Tb6drFfUbW29acYxsPwFJ5K6Mz6Jd5Pv2CownOseZoyVFX6aqIbFUWrUhaGCm5M+7i
NMruwNu1ltOxPWiiYP+cSqXUQAUilmHCqimRyBBVRm+LAbZ1aBW/D7su8un14TUwYouP9e5YeNqJ
px+yuNSyTn2ru4ojuFWKrwddVX92o6yGpUulzlpDBTv2ODLEcOY/OrMM8bMM1WVowT26gzPL0HqW
oboMbXgeumeWof0sQ3UZOqAM8bll6DzLUF2G7mXuh+6zDNVl6MH74bll6D3LUF2GPizDc58t/GcZ
qsswuEy7NPhiZKjQn5x1T+TR1rx/Yk5mlK0LhXxwO5A707q1Rt+6PNiwvt61dKwiIurRsTSdup9j
9bl5Zb39mo5TdAMCZNRDyTvICobk6X2dY5ut2BwBHd92SzWSIZh6NKwGcyOSPsDsUjKKFIacZvtr
h7zwmx1YekAlq0cUF7zy225QApfSNZuj11JHpJIrTolHabMSLrsFFpZ6w46jB7ouZqreacrzTc1a
vC8d1k/9gY4jZ+Xu4qgw6OJe5S3cTAh9TVhm/1Gt0zi6eVm9eTlS5dMerau2xU833XPY6Pnrl5fR
W6u9OqtjBgPpnvSO61nxevWkOpfinT7A8RUPVDfPfla3jh25LnmRU1M0T6ui0VHXVQ/BIH/T06xp
O9hTdK0XWxsV4lytHFTrwuigy56zrOXoCb0bheXRHe3MBatbY/S8Ag62xliuprMOC/jY6048yaKH
LiVDT5fmppTVrvfcUekttfCqTiXLXEW+VCnPizCN6IgkpbMtSx4B72osNaWDR45GHu3qcBkm3NrS
8bQzp1iFqWJtQETP4G9ZJEzDRxHYA7EBd2hQPRIbGjywBuIBGHdg2/Zo86RZpXSPEVcEX/nmVegb
Bmt4t6nocH9/DxQmPeiH1wgmMzUysLZPJHOppVxKbyU6aAvRZRerukK8BswOCw3EKUElfvNxcKrB
pqEUyupSLLI3m7bWF7deNWsUHohV9lnmnjZWDTXzVJogOchV5JKOJkieJmtvW1eVcBufVxZipp9g
FXZ1T5p9Y3izGTn3D/+ZJOHixZF1TN/sAny7dPfoww94rdW+rUsOB1vy8R+PqVfKwPd6UC8oZy/P
nvC0aMOVNY3YtRzZqgNwZLLYfdN/GUYXrejAF56n8yCYJHaLX0oPW6QTRK0QfVXdYVaXcfEaN5n+
sMwT9hE6D/PUOWdQjv2+zsoGw+xhGSawY5zHoG2MZ52uyjvwK8lSgWPOGpBVws0KsVReCz9/6ffl
j41mlwOtT2nGJjcpjDKcGEUSFgt+twoXGvLtgVRqO4xKt7iP9MoMrk9erV7wP60e0KlWfw8WwrWZ
vHFYhrqs7Z3q0XfgEB9oRyvbG9TK3pjYdMXGjSjFQZkh6EVlnZ0ZmDHDG5cZVpcSo2Mww+LM4D/w
ABWxBuEKfPcgd3T5g2znnRYRlWsH/wSmSC7FWzTE7+CrSUlubD3NfVdUpT6hSqNcZXm533R415MW
YkygZG36epvjGtUox02+/UYWV/3NNvSaZeVTo2DFdHy2jbOuBkxfTEiS3X3TLQzbPU3GR/6wOtD2
U/3+5yyJpw97bC/CW1Iz9tVqsToCN3pIuQ2ZC1yIHJjmQKoNV/oOhtfnHb1UhWvt/jJVWil//wmq
tKbVem+ZfhvPHUlzE+Rr37+a/ZjYGODg9X9+uvJRa/y6NxxXGk0vDeRO4tJYp7GwBabtDsQzIyLA
EFQZuTZNVsGsnZ8+GpGfXbonj6B1KnzyguH4BLPFPgdbsHnlB/Mtd6ghxcPSxlahMIq494cUxiSc
fuavu3Q96TH9dkM4vn23PtyG+deTbL4urqz311fOu+u9KoFVdbu3UoZ5QzIsytbMVuBn2YvlGWtm
dUE8k1cquwSGmeYQDAu6MqygpmYfJQtGUTLv/DxrLbNoeQMxqsmdU8I3F1cmkrdUDYbg1W2WrEtB
i1nLHY1T2/D2O/oI8t+s+Sz9Ef12uBFuQ7FY2ioPg9lF8gkZh0ztjJPWrrSDi1Sw4xKVcp7pn5hx
WsTUvK6bQoMHIgcPybpdkMU7HmTB+0HTb/c8DrTWouonL8QdpP/LMFjDLx5SumluEV5Zk3rV2/SV
sCZd3AOCNtOONbA04DjelpAXbdI4Umd0yBaRLHZt18w/6mzX3YePMBvx4OtBU1FZqMtsLP3E+rem
llK25ohL7LaMrfS4irWzgAes5iSKc8H9h+WfxIYdyduHrhar1+s82YShstNnssiKUiUMVdvWJGKr
ZeI/GBe4lfZvfH+aHvCA3Nbufq6qWasjItf2hqFS3tjMdcYkcRhBgoQF7oiEqURTY/MkwqSLlBOc
jvfklioVhl7iUnWiIrBuKIKrDqyPPSDgtkXLNWvR8jX9F37Nfvp13Zrl+o9dzoUd6IeDWZAzGP2W
Iv30zHfMAnm1qRNHRcE297jb4LTfioZTYRCmw7k83nBMt/fqLh33K77CGM7rmWVZ5YhtnvA66CJ9
2nG7NeSc7TEKQoJkpJSfeypWPt1uSZLGUabmBXuXW1Yt2V1yu/YmUXPuIMvTziveYv3gyhNevy1/
oO1NeO3actNKvzlWy1UrHoFd4HLvyJ3MA7GLM8WaVt9ZH1X23a2/s+6n/H1Qvzfr73b9d6T+Oaq/
189h7VP3/37z+6x3Kv8+q7479XvH2v+OXWwe/h4ODse5+fz08XZoItNb2nYHD89Yk+PlVSWGivnb
r1QAa9OJqq+If/X5V49/tXe/Q2z+CeZfA/5J9drhr0Pjau1HhP6xF7IfOzNzRj9BKLxaux6e0q+O
NaGfo9nkpdz0xGgEWTlwcQI0sp3+LJZDsRjFOs+zeVgSYxXGsH9Pnl48gJD4xvLetyir379HH1pC
U8ZYaTrcj3w528oY24kzjJDDabkOE55tHIIytr3RdP/6q6+uzW/M66+++eraAO9Sji0qeximTMMk
4XFH8DHOfZKuFdSBT0xrBJlUXsvOhrRc131zFL12f/MSvahv49DLEzhIv1iohY0qWdk92Ijhvnfm
6Gxs4xpj7gHjcBvjzGEYNwvT6YM0PFfeZr4n9w55dsW3FYVVy0PDcCNOb8MkjoxpkrHwLNEFcEuL
ak0axSJJq3gG+m2yuzfvs7J1SWLvw8ht4HIMJ7VjecsBrdq16ReM5KplDcORapDtwWzyqnsaGdJe
whm3lix62RappRJH0IObrOIS0zFBeZsxts96bn711VeMEY1puvUfs6F++82uAhDbAdpD3VTyDTXw
D77hsJ2L5V8VtlUFbikEDJrmKGyE90931AndZFUjy9mzh+VGW/S8I83LoMPVzpHuRdkUlAur2LS4
MzvlXdXRqKx82acQINBQXcpXldY9PfiaZjIVxaPytYd+timnOywTpUF9LbYMHtGWMUeyZbqzkpVG
L+Nbdlm4IIJ61fJqIvoY+jVlJ8v/2LHyynqjTyfRoIwsWDFjFkhUffr7muRwbXRr5MWzXgiX4cOE
fB2F6Zzk2br4mg/w64Kf41qVUMkPpYF3sBPfHJdhh3fnbbxRcmV2Z82ajXUZp2FJIlHtRBQ8Hsvm
tcB2frFfNa+xJ1sj8hg81dkYPSbr0bp4LsOZIi3RbRfC5TbmwoWVB97JL+HM08NQf6nlvGOdzr1y
kRNilPGSFHsFDyKFChItoaiWThc1i1Sq7z9VrtfMgXiVh3HCPNR1jWN4qTSH5MueA0fso679XGao
6RpOpUitDn5aXU7b1ihuf/Zzlv+1yVs8ibnX11Wao3R+j8Rju0tYoqX1svz6mv6nSzXxOGxz4MJ5
1rmn+v0N+uqR/F/zqoR9ZxzRG3/DJvZhX/14W+D19bYNj66pM9Iu2cVJNc6ifv0V00h9a5Grm6Ed
WmNpUrowDHep0PuvV+FRirQm5imdDlSYdzs3wjRehrCP2fOG3+luWQLL/TJJi2/v6UT4vD0X3N3d
vbqzXmX5/BoFQXDNf1pb/jVbp3E+TXgFwhtkmrvehjVJrGDhpv3gj6yZIn/Et9SGn236KRZ0DG93
jbyurDe7OylzQuZxemOyMokkjW4or9nLWZwkNzN6DvgP2eumGB7kqh/09WL1wVcfEsKm99uHTyQh
U8qZm3qQjZRuR59ozz03ppwbhL3YnPz++X2c/pWL4OYlvwQsyX15zUb3zSYW8GX1J1vtr97wJ3WK
DbHb6biL0yi7q5Lf2bKcras29wV9lUQGlaYRFgUdHphNhANNw6AvDapelInG5GFFEY1JPHdgN7tc
dvYAEeUT+8qZHQVzv9jUmGMDlXazU0lt7sYj1o3CqHzTYPyO4/iqzFJJdZYOgFX6TEBXPjY9pVNL
JxYUv8WCy1dzdDXxZxI1KRbxrPw3He1ourLKs5IuuHGWGis6BiYj2DPuyltNnaglbQnx5sAkgt4W
3/H1oEqU4mDnqyLsFiSMqIGJxyxovC1ZLKxq3K1MsWMPKzfQq+Or1CUdTG7Ws9za5QZ6ijz/nPPN
/gLldmJZ8JSyrVhPF0eVuXk+uttlhS6S6xXTB362X6f8dlhWqAR1mtkUZUeDEM8QdtJE2OyLugXh
8GVmsFPbERurAiUdgWYkp/aNJWjgo1LD8/i51UjDfE5KI8pYPVhq1pP7uCiPRW/5/dmzHX8ljwZr
UHfW7LSXc92owV5N5/GxTeP3Zb+ljf0iBlkCBlkXwyCniXFLcrrqGvSlUXVtiKDi/laHh9Plni6n
19vkNCPMCU9VIxFd941plvNpx1e2+7L7riPA3TFPcQQGPSuv1pLFBisVkNA2nFmcF5LRBCodi/WN
hm6SeSQeja/kltc2GrovZqlkOMhXqtOlazzAfAy8Z/xn/Gf8Z/xn/Gf8Z3wl/Ns5RZwuGMaSDsQo
4v8IfOGu6XZ7/o62iCThwzsO930WRh2PfFKIeU5I+un3NWXeK/qTY3vStr8MHrndeGTRE2zHxwMc
ogfkFVVZuFkDVkqTgIAWLLXAiKPKcbEiaVRdntTkgccaB/VlGrsTXRfEiMisMLhLpqleVleaSnrK
NMIoW5U/sqI201zQzSgwfR10MDhg+GqunaOnr/P4OiyKeM4cmlQeXCgJCblQhG2ZsNL5FoDaEbIP
moSpKAXfVoqpVCCK3eu20sXuxTuhTYvCYDfbgCvAc+y+vNo+nb44XrKsfgM2ZncR8FilxDzZYzHw
UAt3fOg6Tx6MSR5SXlQ9iwXK4jhmX1ZzJzv9iNd//v3m//5/mmioWi1HVb4seEuMLMfv9mx+JzAl
q/J6ldPX19ucpNdV/wXkOX6zGK/bYwont2RbOGObGggT5QfdYNblzOezF3ys7Tt6eHX1Hl359tV7
8+qtyb8G/Otbzr2P3tUH5+pDcHP14d3Vhw/0VYd+UsejuCOTMJ8uKMOup3lG50uWx3NqIRblQ0KK
BSGleANpi/EWQ+00fFvJfA8RmKyoF2XshsdYUc2gNpB8b0eoywoPUiYABRYia3DE1+gMmPgMmNYZ
MO0zYDpnwHT1YM7omfN6Vh9MDfbOuFvECTEYpGArRSbC3cGKJLszwgVZbiGa512EbaX8I09AD/3C
Hk7yDYaxjfgEbW/X7gQ2T+gzzFeYSiyMfo7vSVK8DaM3+byAw2xwX5St0Zelsyxfhul0X1t+K4yN
whwW7Oa3l56pC51++jmmesJ+WCEuwjwlRQGVCfd1ws6TfzO8f8+ohh5yYZnl5Hq2Tnn8RaEmENv3
rfEGt05jcC91Rx9EU0oBUrIvdQ2ijBOoG4OrdMLyxYMoyf13zEmB3//51x++B+egbfaDGGEO+ron
QztbEAqUFEDO+0/rSRv7lZbAp8f+ds4g7CqdhpqjK7LpZ1JyU6G4XjxM4ioVhzmWyS1LvVqEaUQ/
gTc+XZgTaqAwoGIRfpZ4udyOIoABi/WER91lU1aXcK8+Ibz/qjQS7YZNliv44G4Hg2GmWWqExTSO
QcH6WBdunIb5g1E+rASBE9qA8uwzSQ12tu8eE6EEtJ6xuJ/ozTJb0+kRzljEPKubSticmawLuOaO
b/mDDwAExkrWqQrwNInZgiCEQmoZZGpQjJ8TQhdFwhNoYJm6WuF42Xi6CNGjUlhkKcxNx9GKyddY
gfNCBSlQRqLzPQ1vY96tICV3BnPWsB0G3k6UEilVwPe23M0w1ik/kMbCiCHX1oFe7Vv/XoarV+V9
owCw0jXDSdytyWIKRNV2Soz5FOat5wwEXUUkUhuCrUSrMBeplm2OJV3VIXmOOwxP4Kml5FxVR6vW
C6PMMp61BWMqXSCoY65Tdhey/QU4ZBPrhIRbPDjalDlbUrO7KEi0tcXEEY5KEbZKqHt+cthZZevS
zIjMErb4VhODkWuw+j5Zms1mggzQYBDoTY1yOh3p2xK27RH2/UHQpahYrW7n6agFKY3JjBqjiSB1
AWmC5bd8/Ko7zQxyX5K0EGyygalLvFsY+OCiUvbYMhVwKCvnLN+cTtHarufMBVGxZwf6YdtXBsfT
jyqmkm4lGplL9TQh6bxcFIKlyNSEtXfUXrA4MhY2k9PPsiX3w4Lgjn5wkucZ7FhQKf9+ItgsjBNj
8rCbk0Wd0gbbI95gA1iG95WU4ZXIxsMhx8UyLKeLnRdAzAGE3OFkwFxcRjhll+WyIZimPewQlHRh
SGXko1CRhmmZgw2CblStsvBcFXzUFZ+u62md/CoRhIqTuccYBPMABUOirlfznBIsJRsPNgBqcbMw
SbrHsYLm8IKkcjTrCH+XsyIXCsrn6BpCWa6yNHmgCpd9jglQQgENiPV6mpAwb1SmwLqmFo9AohC3
lc3CzRfYJFTJV1OErBtHUcMsTtdCj1KAXc2IVZVUQ7KVWqalGXMZFp+39qDBst3pwSK/hbXW93TD
F+vJ7r5iQc9RUypv2FxzVOLZLdwNvIAvgzxNiLzyTaul76k4sdTxNmRKViGVKwQlwOU6KeNVQva2
PZilKk7K0xDbpIiwpQuTbm57aIITjco6ZCmB8TSD7maDEsim6QefeCCWim9XCWslcCQqBZ0oIeRk
SljbjTDPw4fqUgk8yNuWoxlxkmQT2Geg4hJRhOJeaOFNsloQmiLUrvzADlRyvWEFzqOC3kRFKMRJ
KKYJqRLH9lbma4KtGOSZjm6sbMWsiqKHPaECV1Cb++DmWH5fYatcdJ4ALJ/wyLGCgeBuY3IHQrq2
VtayBYbytK4iJHPv21g7MKw7NtaJI4wYQaa21ZoDZZPfWG5pmdWVCOkeO/0MHym06qiS8FysYnLa
qpjlIs9g9USmTiBYEVVa+ypCsBOJOEzDU9oD1JBKQ2rfWSphBGpQ8ZKbr2UuclBj29eKBc8uXxtB
e8FYAuenLno299LGKnwQ7TGBkjmkgibpV4Is09WGcnAWF9zNONrQVmGcE3YIzvOMhdAUPPN+7/Yf
jm5zhx1AvUbCPjNt2Hkiz39wlI6pqlD02LgtXy/MplWKBFaGrOstCkrpqUxDRxGJXwxPqSBZsqbg
LtpUCTQ9DZGbC+KGgMh0tRM5Chjd6qj6pzxamUUJUiFuncyds+SVoLcf1lHSVQVAuESzibWDbmob
hNMyvhVk/TpKlqAK7n9IntWOVkNUHw5hpcVOicws/0zyQj0q07ewZujjuLbjQTTTT7BK/H0H8plm
b21hoTvDc5yBOQCMo8EEz/GH4gGd0mz7qz7vvt/15EAN38yAMpV8/Z0ol5CMBwEFZ5gZ/P/tXVtv
27i2fj+/Yr+0GyiqRqLuAwRzMm2KDnZnUrQd7I3zMBuKTMeaypIhyYkzv/6QlO9akiiJkmWHQJo6
jqNv3UgukuvSr3SLMjUtnpopjTC5T8H57sfasQsTUTQpRxU9pIlntRvCdEw9Rz5ZNlvnZbQUQBkZ
BREgneus224mgpo7CYen7UYjzAPO99GBdFckHpzrkN/hup5txzVEQlHXfPN3G9bLzuQcri1vN54Z
dtFZULnE7TSA5jnYdbgCDZxWDBfwi8bNlR3Uiemy42WHp3OrIMYZDUXmUT/Ml9q2avXLMWzYri6c
y32/Tyk/meOq49aS4UPwom4NrrP9JthrxOZhulxVuruJoYYoYNxznWe0EE9+5wkmkHGdSHUSw/rC
tfyq1RQ+FkZMQ1HtDpLcS+4l95J7yb3kXq66UgNSA5J7yb3kXnIvuZfrjtSA5J7vmKvi0JOnRFQB
EjxZJRhxkuXdVcGTRbMLVkGah3DFu19auqaiGnk7HGUSsMppUXaXxxQXzajFsWGxeykr8L9Mwmua
AfrT1a4s+k/kz1QhxHJ2e2kpp/yXGnQprfUMioCrQUsIKO3KS9uyelGhM6vRI1fPUeatblmhi6I4
xQ3fdfYisTr4UtsWhVTVd9hEukBBbpEAM0TmKQfqtk3xOupP5NBkLTU3DTDAeELHFmKuqxllJF3E
UYqB3jKaLVCVea42a1n1MyuwirPrH3HgKElhAtb7gS34C+7ZyPAYpFqCmjDjYBG8eUFV1rGG/nhN
W5i4H1lrk7ypicO+I/bdZO8ft4owVREUpcv7Wq3qXPViSqDWT5/E/pLWTSAv5h6NTlp3eYdvW7vj
1Tpehm2/NKek61Lt8kv8LrotK0LlcMVtu63cAlziEPDUtz6G7EvXeTocoOEqx7ydOAAoZvqou7Jr
HCOuFKFqiCqPSEfGKRUqxFGp5j7/L1fk73H2fUamBzjtw1Xbg2WzIFVoqXwyLWPiVc/iZThRopi4
SnSiAIr1my0Ev5qHVMAJJmtdml3957fPn8iPX/Mfb1e0SlFZwWSHK0O0Gm+nviCaBlGQ0TY68aJd
o0+JJbEklsSSWBLrArG8e+I+lufDOVzZBNUQMxyGMfVvwgnYY04QD2tfxqe9f0KlLKKV78CCVz+Y
tkZIU/J7YBfNoRyjAWMT8k4SP2+PML6XJJBaPNV1aoCpj3vY64H5grrRnSWfyC3dVqXzQtqGMCSu
J3FGiXOd0WTcPLk7ns+90toRFVunPQLuvnz/9e73bxUKLCeHbRXyInbp9dtnYlDh25XCOtK+fYXU
t2/fPuc/vc4Lq2y2FFsBsS1F4QjH5CS92u4GJttAg0l8jrNZPCGkv/3yx/e3RAqN6HRsTjrJw09F
I88Gp+EgYvnU+Q41VTyaBwgfgPGcA3Db4HZP7MdJWrOx5pX0vZcG/lredDo4Wi84l7zRsfCajDzy
BZrVoekcglb93a74RXqdJUt8vmI6mYREzMQnGwXnRHxb7Q7PNK2EEnlz/NPCS1Pisk7+92WJYRrH
BP7+JPTW+w5FmrfvkE9Pw+BhlrGhvqb8ZNb85rQimJIp7/QyqPrMxkNdKXkX68LWqR8TvzRZDbrS
H7q15Q8pbh5Fk1lEYP5tr351SUkqtzlo42uplj5VdwWcjNIGo7+eRl67lTSOXdfdIdldsnkWchE8
me2vTEe/yheh9TqjTLzMK7vm12hgRb8KqyQO0Kapn0pSZRVSxiUfnkgYU20tn7LDJgdVHsXVILYf
2T3yuvUZFdYiYxMSw1r10CZMFV3HuEpFH1O2P/PQCtEZni9Y7AabgOgLulO93pL1nlL16x5Rvzx/
ykkq+koKp3Ian+fmAqsS1YDUNzrlHYRyZEjBn4Ry3Tnl1JDfGMBTA08kZg9Tw285SWc6NXSm/mQW
Wkr5eUwNnQX/n99uv3+6+zAy6oedHrJgjuMlXP7Z4umMIGQ++L6m4uRTwEYcvdIqYMB3orNmeOtn
JFR9NELlGra6oGFbEq+sNyeh1XDtoCYxJtUTcd1tqCFh3CNxcMoMvU9zZvcRYA8Ql1Mgrc8sgFts
7v16W35hVo2eWR2QywmOAjzhmqVU0+p3qshpGZx5uC2X1Z+OB+fzgSwPrMt3RHaS5RUsXEfrV8EQ
HYdSMGnsKU87oTZi2KHWHTy6NQePnSVBSaHSKBvuPa57ddCmM4z04ZZAxkUzTkb+cz7Dwuc4pq2d
lP8T23y9+I3m4l/EaWHWYR9hnaKeF/Bip1Vf8O0R0lIaMUtfTFnaZLpc0ARccE3oSSpPsyDDNBpZ
WX9sEyECN2dwOYXx5e5bY7ssJwW4iLL6F0eeGVElD82wdE6BtHAPKmhp6TI0EsjOFWTL4/ZGt9RX
0lxT7UMaO0LWTuoqTaZsM0R2Ahm+ZtveQjBNX6O2jppcTMd7MeMUgvFjOsdl+NhUrL5NJb+hqDIV
2tDnxZtKLqaXbSqHyx5oKrb+gk3lpVrHLt+ifHem0c42DcThx/GPAB90uWPvKMssCGk1oW1Fpeky
8qlbdj3BlO/3+R8W4HsGJwb4MY5z8MKoEGaJ6/OmZTYrhKyS93JfJI9SCyY0pP+PtLC8KbxeYeVm
pSMhhqr9A+lnR0lPljnEwJTjsv24lEPh/IfCejdWsUCpqtocnvNCr5YsunYv05ZTdf26EcWKv0yz
eL6JVYSKFohwVjiAjP6VXKZj29Klis9bxYfHTUoYP+HE9+Cey66u978HKCWoL/mLoKRHBXGeP9mG
LQ8VXvb5E+fxk+UiaSkv+/iJ8/TJsi15+nS+xmE2MY4ELzABnLBbwsNgmLKSZppac1Nr9hUg8nJA
hWt5fZnGKoPdx5PnUt+eFpvmY7llqaotCaA/1YO0eWB7l3fJVlmTshYra7xaxNUX2I7r9sF5JRkD
iCH1osl9vMKbzlDlgUamqnUGLxUDTEZFtyrLdYamBphyuQKHu+ljvdBT84iXGfk/nPheAneN5yn4
L0wmJYRV6kw9PX2n1CJYHZCntZFooVTpaHhyelLJkig+Cf7Ok0HLk8TNo5nk5uDv8sTWTkLYuxfY
vdxeBIBwxxR2FsZ9EHnJs7JSaKE1IvZpEMHm6NimQP0j03pHoI93Z2b3/ch9Ev/AkULerWw2ZQqd
ctagW8AVEILRGS5Pz9pemEyzXdtIyBlEri6QQ1aidp0hthm1pSUulHHyap2KV4uD1/gRJ0kwgQ/M
Na6NusVdVGwRPgM2ajk9g+iqIUBep8cYRFiDgBgaugxpDcHIBZmW9Q/33Bgh0n+3kLOJnE3kbDK+
2cSRs0nuy82W0Q927RE/JHSHix9pahReLbCf4clnHD1k8CUIskWyt6EjS7wonYLBIJrRndswZgeU
0QQ+GTQMkavMPppSek6hcVV2q+ErjiLM4uLyfpbllxumJpBBAc2FJJbEklgSS2JJrAvEWge2w3nE
brO1uCa9mmbX07DiHJIe/P3sh9hLrrVOB4CNUU+KpqknEWlDWNBSkph43+tazAc3PvBdm1YdmMPt
o+7DLvLA9MP7plLHVbcs8SRE8RHzh6PyILUkI88ZDDnvId4L8suC9WfY/6FsJkZgm+dIbi/YpITO
k+sssTSLE+8BnqTUbUdHsazu1oW8zQ28MCBN/BR5hFyG2LMd/5y/vv73v5TVLDnSRFkQs1TBy1ZB
r+BnoAX9xHOR0Mm34DBBUSuOaUsn8QjZ7htZGQyWI9XbPpmGz0nOdX5iTR6Q1K3U7bnp9qXA1i+6
dqNFd68YyyKJ5wuwC4RlieG3OuTX0Exd60fQrYCFinqXCUi7hYKFgjVOVuuzlyqQgUnKEG/LHJhi
pJvSA/d19P42Z4gl5iI4zsAyhXDbKUqDF+RvnMRKmAdNFKGUvkVYUq/U6REXLmVsdbeWCc48fxZE
D/kJNGwdLlevG17tYX8WK7QPJ7RIO6JckhoUwXIDuw67ukCp5YA0g7o0Fccyu7MV+59jGtL+sTSQ
xtBVkWwdALKmpuABo26J4G05p2FXk3ju5ft5+MJFawRVc7vFamNTY4TKgXdXGMstwdtiMsskLJng
3YZs8eRCsFph7MLu/159fJ8E/uw4EGqckI6EBAwH9gu4yqy15e7VB/WV+/HVB+2Vo9LXv9yy74h9
N/fev2Hf1eP7WUfSdiLa8gBWWkIdRzhRHmCnSNf1zkjrtKv9bgJARIIghjIvKdmGIL5I3BqQlY/z
pgQghI5cgUaz7yVDbb+6M5MlnrLw6MKdlZXx58sPdUSspnZnjnIXmKYTKr4X+TikpWq8+ziBLUI1
TIHq2gPP4jU+WBVRF8XoMmJojMGKOjxItQSyefgLhfhhORkgq4ZIZBxNQpym5Pdgsb8aIJ18rwSi
YUwTL3ogo26ZVra2sGy3EVrvwWE8vN2E4df1ZvRTOW+G1pC3apVpyNRK0iJE8HTIEHizZjgaB5Jb
iURtgThakyDJswfgud90GwF9ur35UHkOk8P9Ny9Fl99YEifvutKO1p+mH35N3cNrXdUOojU1LmNy
OdV7iHi8DxulOFDT4NXLFod+IA79pYvDPhCH3VAcNVRWyqO74INoGt9FX9YZarfUHW7rDnBg/UXE
XVFkxa2vw8EBQrxSj8y4j5hVc4aPs+z6I/cWSMVFGDmupurdRUd9JdqmNVvnENLQenjvZbdYuf5K
FXryquysjv4485KI2MS7v9JC1zIkHCXBtGZoEYu4AmYjqBq3ab2jLNwmGv/Q6/fHHGp6KOsc79iW
wFkyB9q+waYu8t5BER3g3o7W9ekdl6nN7h83SGlVJHpb69Mio9UUCBF3urzPl4w4eS7RNbOko0uh
/JMD8g9ofgw0nKcVrL2D8qYUtuNYolBa7uPO/9ngtC0fDvWSeenP/nD7+fb7rXw8/25CPvzf//p4
d/fLzVcJUArw7fbm6/tPZ/V4TR3q8VWOAevhopT1t0E2UkVBdWZD/Fq19/AP8a/ZKRQgpQI+GzrX
Ng19NFI/12f3ai1n/PA/5LMLY78HX+9iHi/e37uIh/fj510UwHm7kifwVCPvMXjIK46ks3gZVoS3
OMjtDLfXhnIHXBFjpXaHjPBTGESYBpbsYhuDkr44tkAO8zi1TdwH0G7J0M4MLVqG4TYh6DjQw7K6
exxH0folUFp3LcVRHuSEy241bZ4rH27ldI00QnzcbKqJ5heBXpYlwf0yK6mD5TimAOC87mW5GM2K
pke1j++vkRkHZywUrplELU0QLrGX9W1u3tKgdE7WXJvDTpHWApNpFsbkGYA1mAKrwUksiSWxJJbE
klgXiQWvz6VNjiyrL5eApYuvPwInrFhcTqU0GYklsSSWxJJYEqv7Or0X/g0e3Drd9+vxAkd5nCPr
QFjqfNg8Ee01WJ3Ou0/47HVJH7zy/EyZexkrBwK6SYZVeSrGa18gYEVvXl011SbAxbD8zTuEGCAg
HyHHFvR8WqelCKDpAkcn2EKeJrDn6T65cK/fFGqJuoPT8Aqpb8g/8jUGYlR3DDKhf/tKv3mFPpKv
MPa9kNb2Ie8QCHUcOjt3EnOTo1+qOxrbG7tQD+h7enpC70ap+bGa5Ig1Oz0PwzuLsTFe4kZI2dhn
ucK6oX8cPYnoDEg8Dyr18ZNongGR9L/xS/I93Yq0IhMJJZNSsCXz8937m8+f7r597zI/9kifkPlb
LH3KCGh4MwZDeqWOwp7/+eafYxAGQm/IvzHYxkjmmTcH8+H4KBrh1PKml5MP4TS+PwMyyeQ0dhJp
SPAZSPKAPrzy5osQv4twNhIJjoCMsSkJ2LEdPp68sQUgrxvfhZwbg1JBzRlcY+ZZEcpB4w1aJLO0
bovpVN+ToS5h67lwj351QClUy1btWxhlsjBM1Dmqfb+8/1MeWf8UZDNlgkPvOa/VQwum0Wyga/Sa
vXutFVcOZL4orbDaxhU2qnFKoybV5qzEUW6l+llKQ28gjZTWaOaavnhy+Wug+5CI4fYskVLr4KkU
eGkCqZk+DKMR9mUMm+o5RLMuXSRPM7LQUr+O+l6EFriNFKqO4tH56/UCfQYMIc+G+AkWijeZ0HQ9
FkQEhsJpei+i3PNq4bA41A8u/T2cjGiqRi+IOyHjNHfiaOlL1kAJJMS2+6cDxFX7GTQJnsePHjxw
bFXrBbNawpqld19G2MR4H8b3B41VypcPZBh2X6AZSy8pRP9pyNF6nJ+P9rwF/9I4HTZyJbbElth9
Ytsvd3zz+WNCUXV9CNT9c8ufrq62Mv4JuJUwdL2v9ay0Raxr82AaPS1oJ8RGjsSW2BK7T2z75Y7v
qqWlJ1QdDYHabEFDjZRQuqAddNqEjs240gtrJMDX1NMSwxE7triPl9HES57hSnCGORBPVneeEppg
Ssyi5HDAEQCwa4yVQwFtXrT6Dh/aENhAP/e+sCd46i3DrHEzeTFMo3qBoyGwSwSOzkvg3uSZdery
Z7Rlp+JFFZUwTc1sMbc+6f4VZxst20SuSITyFlqWSGNlp+7xw2OhfZZ5LiCHVlDS7k4TAJQ3izq8
4EbwQavjNscrtjLctjBc+w7b8B3mO1QNxEX4/G51QBdv7YIORCF01R2QS+qVV4LI1dq40WMTf3Oq
7CHFD4Z/afb5St4cWvJmC8mzYh6TeHkfwt1JkKs3R24s/4o/6Fs3jQkeVDWwTkxrAJ28WLlnSbCY
BxEcj6qZajc2aU/2DM8XyjQIc3+Wvoi8Ob7eALNuscu0RWkaziln05f4Nc+I3IrjuHSR3U3j+88l
FM3nxNu+FsD5qSReZdBS4Ccycb2bxHUp8YYmLgU+tImjbhJHUuINTVwKXKTAN12k5Mo5rmlF6yZx
TUq84bQiBT78tCJlLveccs8pBS73nHLPKQUu95xyzymdQ7lyyj2n3HNKgcs959kYOc+1bklYlX2u
N+nWwDfpVo3IcZQlHo109iIfg5nRFlIF4ExxguGOtCoyBDz/sJX2Bq9l1Y5RgbHuPTgi01BJRxrO
gHeLv/KDssymitM2iL8J0FMQTeKnVNGQqQF4jgC4vG38RoBgnKauc3VFtoZKgzgrIF0bCMhyhVsD
WGYECZDc3hxBQ1SxP4sVL+13XOWsTZN4rizixXIBzxUOT2y6XTeEF3GU4jxdNg3+xrAc7eZIlaHi
OQO6bVjiWCCuTvaseEniPd8vp1N4jUK6JQRyzdrfOIkV4lQ9ZLMjL4LXkbK5MzEgT8UQg7EWYNVQ
clVdODfFqkSaLRoEASiOaBB9CBBjGJCiGZtIvFJWgHMqXitDoJiAWrgqhfGisJVGiWLFn3kJ2dTB
dRfFTQN/pXHEEq92eTjg+uM4IrlkiwSFPp6wu4OktIE2WxeU8oXBajj1NPEVvNQPAsjfcsTwNvEy
T3kM8BPImK6eLWPUEMuy/2yuzSYHyDKa4GkQ4QkzeloHHIJzXdSLGFu2QD0BECzAJPBC4jYqk9hf
zks63xJX1RqKJx0JYCojQyp6IL7dMl2Xg0xhZ9IW6RTlW6cNHsCaIWAuDGjN/cN0iwmOAmL9rHFx
Wp2Ip6v6UDSA8Kim2vIO+O7L91/vfv/W0KPmHRVORwYrMouM/uHhk1hX6wV5kcQPrBhoObZuqdWF
qBzemSFHTmmz72NcMp5+ZnU8jl1o3XEs1RkCv9BHWTXMmlbQbgODbgbOM0+61dqeE3kSr3QZ/UiV
rfuY4RU4dl1D64y443UfGzqF0TimKb06UZZ5voo3zXCiRDh7ipMfCk6SGHQfXR6XRy/NxN48nwyg
ZehlBGP/dmgSpH4cRdjPmk9VTTEXXja7vjq6R+cpyiaBJJAEkkASSAKdI9BmsRW20gLuBNlO5v5E
6amG5mhad6jlghYaIv4++cXBXRzs+rs89zsdMKnrTV9dU9/wagXseoaBD+beA75KHx/+/PPL5z++
/fknQMpAkvAWizDwWaulqzT2FuUU6cYwFE3j+OreSypEYw5DiIb0q19uvp6eECKR/xKJEKn8XUGM
OxgxypiI2RAxJppe2bdiyDHFkIO0cZFjjIocc1zKsn8ZFzkfxkXO+3GZsjkucuxacrhcVkHkWOq4
pKOPixxrTMp6MxrZMOccvOUaBj/3zhfRw6nwo0cvDCaFQ/oBLVPQuLUELdC/jIucD6MiBznjIscd
FTn6ezGTrChybsdEzv+Oy3Lej8tyxjXr6DfjmgTHpSyExjSursZlOR/HRY6g5bM6tme5YG3l44id
cG/jEFgYguJlWRLcLzP4GJovoFQXEiWmiWOU/cf4A+MC0GA8GYJ5aqY7nvDZUeqOhoCuWay5muHq
4TJKXR7zSN8rYdG4EBZZWfX1J+FbL83WxslrDVBZP2+h4kwzj0zf5dMaT8LB6OzkMCoOjlQ+wwHA
EWGp6bZ1dnxtUzxp0N16cMfJpCT5HGmVLVR1+5SRlHUMJwENoIzDJb0QVuIFTjyFZYurqgEndTid
QfcyjKrglWCaeHMwBciybIFU0Awg5ZAUKLWqV2GbYJ8pRx9I2GaFsG1k9cq6BWt4KNatKjsTYO1V
2DYIypObrDsCWLertM6Tb1FDRRW2A4La6kCsOxWsmzbqlXUXBOXJvxDCululda6JtTXrmgo3EB3I
4DW1knW3MxWrWUK8vWVUts2xBCiZnrZUlnLRHCRQnAdwxZMbrhXKEVrownFFyHDvR+Xzty9rZ+uW
+XqHP6WzeBlOlLmX+TPYARQwXxxRlB9isTzobywbJCfiQ5AuKBm3ZdsIZDmmQOWTvW1I5EB+D/Q8
5ohMNUQw/Xuc1fKtcVUKaUjOZMLwPgdphiNMR/bGMOBxpwsnwZ9h/4dCixztUuKVKdmTGMQ9pl2M
42Wm3McTsImxqzmd6dnLe8qjiAvAh3Zh8BUGaSMFmp4KiAGsGcKThLVHw6fbmw8FIqI4u10FxXTQ
fljMj8/pmXleTqakSJchUKN52ZqDgknFQc5zMt+Q1SScUpO+CcOv69S9TyzzuCSBuzvLdH/3xSu2
c83bxqqiGSSGeR9MJsThmGMyUCZkB7/y8YJtK8F5g+dIqxkJLKJFIRbMDlzxREkfH96Rf4VZ0zIF
GhQ7OwmIQQFQhuP0zSQoXFvApAxxuIKyiXmOugy3CY/zgNgQnRTmwYqo0fdSuE6Wa3dGPnD56mgo
ThS9MJ+mxOtkZURrxhDiGsa8ApjEOCV2hen0X5gvXOFsLsMsoNnrdJMCcse1IW0GSqv6rGf+vIpY
nXeja5ZACUfx+xz9c17CzEuDFsVgW7PMFjvw1KkXJr9TuCFY3Okw3/Guty77xeJA3fJkyHOzfR88
bJPygYlCU1VX1dwBAQ1Ls3k23g1lzWqqMh8qX+fBUx1L+KwYP+IkCSZ4Oy3vG/W6iAu4HXDU3kmp
XqVcwxFNATsw8BMvBQ3bbmjXNacTrMAsfAAgmq+NOX/Hq6xm6TMESPWkPP7nt8+1LAofRSnO1i/z
EUNXh6jsFgANAv/ohcuSk0mRGq4t9iR+nmAhEYRDjvtiZPKcQJtq9ZiF8B9p1Tj6wktTnLCz4akX
hMsE1rlRWe9p9ATs9O35PhU5XSWSOFTuiR9CSKD1iCDlmz2CssmaskxsIVLykk0wDU0MoIH9ZWSd
gguqOarbGXR///CUR7LRkzJlgkOPnZP9HGQ4YZnX1+Zr9u41eeSRw6D2wnxz2xNMBbtj95dpFs+r
CttpiKfaL7cijgBbnWG34JNVd5yGHnw/Y/Dcz3Cz2O2InnxvxN4ySr0pVraNJqAZXFXV5rDNOms4
FZ01tsdvRzEcXN0uzoiwI5y9Pd6uJFppNUWz/pqoFlFYMfJWvMHl/JDaGYwuEvGyOLDzt/NLKviw
0XY0Yeh0Hpl5SUSPY/w0PT6FMvvm891fx4cVjmlpfQs3WUYR2b0WsK36Grii9FrARhqPrPWyWYP5
AbS+b5oRp4tlRrBOSO/eXeVflBim7rSxhl6zZ36Mk2v1nZX/cJNdq6/pfvz7NrN2EXpB1GJMmgLE
GUdzD27AZNdfCHDTIGKwCOS2YEJc1mtdngXZXWS6OVxK4UAxqzn+k+4fRX3CRpN7abYxHIcFizFM
1Bz9EkzGvTiWNFWIjeDVgnif8GBwVWFkCJhKBTNcdAZUqzkRl2BI6PJY0ruYyvoECRoRpiMMXMSI
EMFmYRxwhK4UoS/BaMzLY+nyVnLN6WTzz5FftXcwhREgYniLYrW4ceCYxlCn5TZ7Cnx4CnVUYdgC
ZCyCy6KX7RjNkS9gbKLL8ySQcXksdTqSoIWmN0UF4ONKR9OFESFihDsXp0FdFaDBynMQR1ebk3EJ
ktUujyVdpLFUHBc4CAmjRsC41y9vh6Jf3g6lphgUn3VWbNjrk/q4aRBhk5d3GK9f4PJ6eYfFhiZi
mLEdZf4D7Pg5wigRMNi68XzAbPGMDLnNCbgEO7q8RdW4vB2eIWJRLT3BcTQkjAQRw/zy1lTj8o5t
jctbU2tCKZ/wveItFumVqsKZD6rlCgVhMaJtypcRFI0XBVU4246D+oBSPKBqltYL0n3vSHAyMXKE
gkBs6EIRfADBFImgl5TCEGphetmQ0YwzhDFKCh24QkFKebGGgREqMrA6nusKHY1mKSu2SBi7ZWZk
I4ycFSDjWKhWnJLlUigvziC8wIXJNLJaCwUpNTGRs74GujGWbQvFYKyQB/euGXAptjVTKMZg3MDr
pe4KZQdcyAxOVkxeFLg+LE9gbgMMxgkt83SkGLrtFMqNCU8AyBYK0mlV5oaBJ2aNazLjBNntCwlc
zhXU1gF1R2SnHCUZpbQy2nFCKZSSZqvC6Ngxvj5/8RPsZUBwien2gMkrhVwjxRwezT4hUUV6NNW1
+9MM+QQUWV9RrbsWqwXTzZKsDyiorxfekgqT1SIVNzj9MIYz8pCKetAvgysxcc2wzL4ghxpQ67px
gOnwHHdZg6LZXGibSnheWUYqMnRhYAXW1rnvsMHYXKdhnZAhUNvpD7VXVZ47Gli5QsK1hPtDoolB
+3D7+fb7rQQUCAiW9ZVw7eD+/a+Pd3e/3HyVkIIhv93efH3/SQIO64mCPihPMHVrTxD2Pq0+/V7g
UELjCYiSfqd0BKXfKf1OCSgdQel3Sr9TAlYBOpwOxRQnJU1OXF0gzK5cIQMsuwniKW/UFhNIZOeJ
RTadRiWMN2BFrXHdAIwIbCPIdOYleLJN3e1y4+n0od5D+souPnVbr7zfck5+w+aM6YatjWmU37dx
Rag6g26B3OHQzLoikLA462+nTEsY9LCMnjta//vKlwT3h0QTgzbEnvKFAfa/r3xBcMPsJ18g5BB7
yhcG2NhPaxk/JD006TJJD016aBJQukzSQ5MemgQU76FV3HIgtfsZmshT+aHBtBbiXM2SvPs17XI+
jZcRWMiTI82KG3+vXdUhbjFyybJ6QD0qEVJHhG70QcR+4/FCqRtbGGA1r2Aem3Me3D4G+AknV5Pl
fHGT0h62V36aKmn2HOJ0hjGUK8jRX5wTai9p5xC02OUFOYIwWat4KsQswVjBIZ7Tjsx5Y+Iir4Yp
CHaaePOyIp+OcHHmaMoMhwsyDRbZckVpcO5ls3kIGYllCIJIHx+g5zuiWFhRnSiZB6FYuij9r8Ig
+gHxgYTxsXlT8cnKlGJi1AvWI3oFJBg7vYEus6kDQgrnE9KX44gyu1UaVk+DyBI/bglov7a+hJ6P
nDZeSRrSfxmZR70oncbJPO+h+5f36KV+EiwyZRKk3n0IlzQ3kd0O80BYXOgAw/Vdc4WBp0Uf0Pif
/wdQSwMEFAACAAgAIkM8RJfSlTEaEgAAuhMBAA0AHABlcnJvcl9sb2cudHh0VVQJAAPf2edSbNjn
UnV4CwABBPUBAAAEFAAAAO2da3PbNhaGv++v4HTq2p4WEkVKtqypu+M43sa7qeOJ3aY7aSYDkZCI
mCQYAJSl3dn/vgcgdbEj6mI5skMiGVsXi0d4H9wObofvr1Ni/RPHltO27Han0e60HMuxG80P1vtb
zOMP1nlMZce6IkJQFlun2AuIRYUVM2l5LO7RfsqJb70PaKw+dvU6/6T+4Ie/vV9gH0xQj3ywThL1
2bpTg/9Na+/3mA73rctXl/VWza05B1bE/I9ChOMPvElIDN9Tt2tHtfZoNhEIWZyINKJxH9LHIxxa
LCEcS0iPmJeUw3FSCOeMw6MXUhJLq+Ec1mz43/ig0mG9AxBgs2NZQmK5t2+9/xlbASe9491eGnvK
fE39ZfeXOy9/ruNfPnT0NVYP0xBS2GPcqg8wr/dY6BMu6gmvdw/bI8e2W+6Bb4eDw08j0f38yY1u
bfjXj+vX9YQJWZNRYtHYqv/BwjQiov4SS1w/e3dVf0e6/6Ky/hqPWCqviZCiHkiZ1KV+CjxYyj24
QLLUC5AkUYJ6kJZaEiQWZGhIY2I1Gj8BuR7hhHcsdXWnXp8w6LQhIXVP55FKCrqlMkD6tY9E2p18
hTI5j/LRcsr/gBRZPiNZuSJDKqAwravVw/EAA9KAhjSp0wj34dou9m76nKWxX0vi/goyZ21kdgXx
Uk7lqOZzfHuuzNayj9UCGYVfKD7q2M62FIvZHBYhu0Uhwz6UVSQCQqTKEURjpJOxXDtYg+Jwg+AJ
8qnAXSiyaIDDlGR5/uUXTIxvgkJ4nCbS2t1MvU9CPCL+KeVeVrp3NdmeynoLql0aKz2WZLpCrgSD
dT8RT0J1kSi3jmgEygf9Z5bzXiYaErahLkSGCfyJ+IUCW1sSSAZgNdM3m8lg9SNY/aitLhU73wgn
n1P4DhQzKLzKDnwIzXx0cYl2t5XFeUWbSTi03dAKfRJLdY8vTThRT3XuKqOFmlpb1jRBjwF9Y209
sw3R3F4HJB08pSTnq0g63LokAT6D9hag2VhZEicRGxDkQR/qI8lpvw+eDkowF6SwVjWby7X9LkgI
zqWVCmKxnoUtcKSobtTBMRow6itfUJKhtMDherijpH0cHEPPRzjtjVAw6nLq17w+zZ2lVs0IMAKM
ACPACDACjAAj4JEFtIwAI8AIMAKMACPACDACHiyg5W5pykhdj+D6bAqsFiVk+VR0RHyK6wPqE5ZN
uaJ7Vgrmip5S1DNPjmN3bHtLyWnaTeRTjkTA0tCfJmx5vlPh1bFHfQcldEjCufn8jSnZRMMF6TNJ
9Sp1x/LBJIM6rhaLQdue2LciLL1ArWnnCxfrC9TpnLYlKsVuXaRJwjg0Kmph1Nq7YNCKeAqA1SVW
nKeJ+Pu11TG4RRgazS1lpU6KMgI21shDEnWJf8qxCAqmqJWGw21qmOZWP8I0RFgIApnFYr1IgHoc
R0SndDWB84wUCm0/jVCwpFdrV1nhunepy30UkgEJEdVksvXqbsi8G7VWPf7gvIUVEOw0tiQY++Ar
QCfeJTLgkLaVllW0VPgl9Kq7HIUkX9wvyD7nYJvZJwMqatmCck0ZrIHBWtZB9WlvNXH5erTesZF7
Ajr/WLyomFZFp2s/TXWcPFu3MuqlzPG6podjD6plo1Cdu0113dW0pLHe3qS8eJTtToEmJCG4aGPE
1nWQkujwSqLjU0l03JREh18SHWFJdEQl0cFKoiMuiY7PJdGRlEQHL4kOURIdsiQ60pLoGJREx21J
dAxLomNUEh3/KYmORkl0OCXR4ZZER7MkOlol0XFQEh2HJdFxVBId7ZLosEuioyzrBtSsfzwrHb2S
6Oh/PR1b3TkSfDUdTeepNlWMz3DC5WG47lruUIQSdfURYr1ZKOW0NpwrsOWsG0wjjVW0gb1EnXiV
Qzk3rEb2mZnAGtkbeWiNC2YpdXqnlDrj71NOPMn46CGhMmI8oH29C+tuVAEiCUryU7mTiBnLB0Yz
5rIF/+wkdoxSvdqPAhz7YfFuo63tKpxJZ0KH68iaPoXSn6GH2hAQP4Vq4anNVIXimqasFEBVVyOP
sRtKDL159MRdfM2m+yU+zoRAjNM+jQ3EBxZBw3BjhkLtRFyEsNFxtrWpdBzEqD5nj/1SYdOLiczj
PqldjGxI8p2oCHuATjy5ypk9zl2i9jXPSUxhZJBO59H6VBYTVUpXCjk1gZudhFAHPQi/U/+yztQp
ouseLRJ0IlXML6kDHxE+INMas76u1bUMIfEvzy7Oz16iiMiA+dlOx3x3bsKZZEVymvazlqPivIgA
++xWu/8gJYH8kqM1BDaetUBO+mmI+UOUbS3U2yTdVLBQDbveMR76dRyPVL+wuuy7l2cxoOaLc7YX
22uaKVGo3s6PfayuKtQxrQifjRCmgvG8g3z887fXr+Dqt5nNQq2rnaFXB95S6NqppDik/yG+paPF
Wd+fXfzx3+9eXV9ffnzz9vzX84vv/qe6Z4/BuBlSprtIa6+2rzpwIbk62/KAw3ETvVkr+Ypg/47m
BAzLcf87OSjXrq0O8o7hvC0O9CvUYxz1STHAhZ3MAnSAKSdCPm8EBWr0SepTaDhmI4h5AYMxqKrW
GLybMENysA6TGbv6fMX00F5I8A2Mcj2dvQbMPTDaDC8a8FcETDawBXvqIMSiUnK4UfvzLSHRR88Q
WIJRvw+OtISEd1MYgDhrwylTSSnCYqDkUGLJWYi8ABe3KO1KIfmEBzifjE95aKBoKHEamkIy5VFp
Cj2cDvPlqoYBkYFwDIgMhFttEIxHCC92SavCIcOgggSAvyUNkBkgNE7S4iH/0bfFYx0J5Rt29ZRj
lI3T85nNFf3HKiOKlfWAwAfnRtKoKh190wwWg1TvxpSbWTJ5xItFnneJW81SdYTTTM0bST0NoVcp
fRZhGpuSXwApu3dOFoCogFHDrjajtbl8O61DhbI29xIms/sIhyG7JX7xVLaB4yPXwCmEswmaJ9tI
sRzW3z8f77inmegdxxbcO96db3d3xz2Dj+aA4EUJGslHKSFl6TE2gXF3xIoixgkiscf0PaQMn/t8
5C31iH6mIRHHMFrKyDWMljIqRNSoLKIpHN/QWXVqsUpEspCn6NcX/1q4Ol1BJDTWN2JdNCiuEBRw
jX3mVZtE1IeykYUL3qy+PPLu5HnS5wS+UTtCw4DBdz1kpKTUCiKPQfkP2agp6udDJnhowE/O5njn
9PDNtKHt4BBs7EHhAXGxitms5ij3C0ZQVStH6rgO2PWfd2H6a+i5fw1x87HL1P1ydOrunDRnSlJW
dHacw/FfDh9UbrZAyH5MNMgnPZyGcuzWzpD6Matvjg0/P04qnOPUd9p2fcd9UVDZHMfUN13f1KGh
k6vT83Nd4ZxnW+Psr1XVHrsAOU/eNBHnr2EbfrC3zTq4C7x2ZwAeFoE7XJta6atdYa17BoWp99ew
q378r1oBTelZp/RAmr2b0bMtNY2v7BYp33r3rkt0pbOx1uMsOoUKdQot1J49bLV/gl+u/rW//5AG
u0SFZ7Lg77Eows+28AwffZwWphJeHf+kR2netBgNZ4dojvP+ww+fnbw4NbIO3qtseVGBLQjSx47R
q+vfXkOvL0EQEZVudKal5WDHcY8Os8eG3R4/aeRPGs3xk4PsSdPOH4/yx0ZBa+Q+McYv5ike1YfU
GxH1zUJBAO2NFGcSRtQ/xjF8kL+m8U02mYJ/pP6O+3L69o8qGAu8oyqmRjhsZGndsY9UcnfcE53g
Hadd//Pqasdu1Xeco8xPV8LVWjV+CPSSVOnZraAIRwnhKlJKYXWuHJJVzi1Wj8rSZr9yRJaeWyy8
o2hZkRgQLCGxQDG5BQc79tltpYlEOFRnk4ivHce1UZRvC+EUiIplpMIU5VsJ84AtDcNoKSPHMFrK
yDWMljJqGkZLGbUMo6WMDgyjpYwODaOljNqFjFqGUc7oyDCqx2wWzArH01oVGGnkZ3jXiz1VTTLL
Zy2qiMXAkGsEKKsYlUIMVQiHqWa08uW//HYgeaQNQ2W6/xvZbllwzJPQrox3xYm+hdBMZIRpLIDC
HK4wnrWZlKkRmCklL2i/tWTfbFWJrH4WsaqECoEcVQvISoO26jEZQELlgkOqFSOydCNCxXjQWFCf
jA9kOgbLPCyuwTIPi6EiV5wUqxgQPb4d3zHTQMmgqNueGSelCMzSOuTY1aNiWGQsljUljr2lG5f1
GNtwH/uMKoF7pImms6FfnNp2nPm0IBX6YOncTeiGxar15B24MpZqcrAHRVbVDX0/ta9cL5BP9P1+
GgddKhFU0vwUbFZZDg82riz6bNYd665pR4rQtAyaIjRIpKC8j9WdgjE1/fIsKGgxUhwuPgHpNCoI
Blr/sIu9G2GoyHsnZZHdMFC+hOIYKDNQejj2RhOvwJCZkqExaKA+8kIm1K3nF8w/VZrPZKVsQYjc
SgLKvmWlGZgq8/EhpaoQmXZ5ARzXwCmGU8jGqTAblnZDgj6nrPgGv1Xms2xZtspsYmbKTSGbpcsG
FYbDSYglHRAkvIBEpvzMQSTUFlw1X529+zklfGQ4LeBk4HwJJ1X2IxpjFW94wSyPQZQjcgyiZYiK
RxhuZREZJDNIZMAJQZJCcmdvRnJvXdEQmyHGMQ3V1KGaeQaxjqGzgI5pgBbRaRo6C+i0DJ0FdNDv
ju20DaIFiAychefjqoFh0Ec4phGWpPIcVigSVQgJqOK69GgI1lB3lGB41aX9lkFyB4n4REVZkKwj
oXznpe+FMUow1zsfFkyfGDauYVPIprkJm6wLsnYfLFxtvACbV/nrSxZSbzTDIGYxEakX1JIg2dUb
03ssjX2LccgQ3A2Jvs+5xPKxb1WehZB/CV9/3Pgh20STRQw7bmYx5DPpO+7ZOvcIOa1PLoMXCTyc
93YcGxipLe1E3RVdBlTAA8AUuK/ewLEPv2MGv/6JB/gqMwDv6+/d15eQOHtQv1U4ese+PLm6OntZ
U1+ZFOyDb27pTECS7czifSKRsqXC8yNta16qDreUqlvS7Yf1Blh0ZsoBlEcVLg7HHllaou5awP4l
HZJQvMD+Ce8Xd7btb1KfJMPzCMqj83JR3OVvV9xV2l1Bn7s1fYzfEC7uNYTKFo6XN3VfXp29g2ik
Yq1kLYiofRIVlXi0ZYmqSVf+OMmaPxGwNPSnrSCkcmW9ucrsIVN5weR1ANcWFdrmtuQOo1C94uRz
Cq/r0NzX5HB5Vt67DHd1OKCMkQ/vcDZCkM0JiwW5JsPCaaDWwnH/JScRliknFlHuQ2/sumSduuhY
6t6w4CKNd4J2saAeUl1WD9NQ31JPQNkKSc3r07U1rWq7SNpm4aC+P7v447/fnb65uD67uP54/e/L
s+/+p3xXSI+Hwf3CyiO09mr7yq3KHdoHeLP3ROtzcyh38JAcJRpdfqKtti7CLFxcCAWTxFAB+gU3
x3Y79tHXc1vvpelOz6NUbu6l3vsGdWt0uA4qRKZf5e0mwr9GPZ9SCFkfPl8XaTc7mcv4aH3BykSR
xMKpvXXqwavr68uPb96e/3p+sY1qMMUztxXAYchu0b0/MU77dByieFprjtauNXcMZft18rdU64PF
KPYM662wXoi6+dQ1V/25xvqDdTWrYc9INWwwfsZxn+i7r+ke3Gh1VxrLnio/R+uEUmLprYbrJkyA
R4OguyE9KLh+dgO8NAy/rVQ1209TLsDSmXbCVbrW1Xj3JfIC4t3oBgBNCwuCISlqFk2zPZ1w9eYl
jHgfRTgPe6qVOwnDt7mn/iprT4tEP7mvogyDXW12Q/URFXoqVY/wyNAjiercNpE+uWlBPjyx1LRi
7rXWrBd4/P7xz+pLfukAodPMA31N4r4MatDdiQ1VxWziu4faKGLxJWd9QFgwudXs2PYTlWUaEeV5
qj8GmMcqiZ5Ym8DYzD0S+dtZW18UNBHEtyognsXqVulFCBqlzn82AFXUJ4IMExjfFNaChltmCotm
KporBa7+hrWDE7+4BjilrgE67HKh9FK3f/nE65I+wHUrwGDVdtA9qACMxc1hs1EFBLpVzF4UgqhC
WVjYPLYajzWf9ufH67Or64+vzk5enr1tbGNe7ZZ0EU4SUbftJtLzJ5N5suba82SzxgphtZ7tWs54
JW6zNZ1m8ZrO85EooMYQf9L1bSS41bGfqC38cql4dsD+UDZTa/faBD0LoNZ29RLQvBVog2IWxcRj
UjuuPPLB8nDaD6R1df7r9dnb336yRJBKqdoxn93Gf/s/UEsDBAoAAAAAALBCPEQAAAAAAAAAAAAA
AAAFABwAZmFzdC9VVAkAAwvZ51IQ2udSdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAINCPEQAAAAA
AAAAAAAAAAAJABwAZmFzdC9jc3MvVVQJAAO12OdSENrnUnV4CwABBPUBAAAEFAAAAFBLAwQUAAIA
CACDQjxE2wjTQjsAAAA/AAAAKQAcAGZhc3QvY3NzL2NvbXBhcmUtY29udGVudC1zdHlsZS1zdGRl
cnIudHh0VVQJAAO12OdStdjnUnV4CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjP
L8pWyARKKJRnZOakKkDEM4sVklIz89IVCoryk1OLi1NT9LgAUEsDBAoAAAAAAJNCPEQAAAAAAAAA
AAAAAAAMABwAZmFzdC9mcmFtZXMvVVQJAAPW2OdSENrnUnV4CwABBPUBAAAEFAAAAFBLAwQUAAIA
CACTQjxE2wjTQjsAAAA/AAAALwAcAGZhc3QvZnJhbWVzL2ZyYW1lLWRpc3BsYXktbm9uZS1mb2N1
cy1zdGRlcnIudHh0VVQJAAPW2OdS1tjnUnV4CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0t
TVVIVCjPL8pWyARKKJRnZOakKkDEM4sVklIz89IVCoryk1OLi1NT9LgAUEsDBAoAAAAAAJxCPEQA
AAAAAAAAAAAAAAAMABwAZmFzdC9sb2FkZXIvVVQJAAPn2OdSENrnUnV4CwABBPUBAAAEFAAAAFBL
AwQUAAIACACXQjxE2wjTQjsAAAA/AAAAUgAcAGZhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5z
ZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLXN0ZGVyci50eHRVVAkA
A97Y51Le2OdSdXgLAAEE9QEAAAQUAAAAcywpSc0tKFEoyVdIzSssTS1NVUhUKM8vylbIBEoolGdk
5qQqQMQzixWSUjPz0hUKivKTU4uLU1P0uABQSwMEFAACAAgAmEI8RNsI00I7AAAAPwAAAFMAHABm
YXN0L2xvYWRlci9pbWFnZXMtZW5hYmxlZC11bnNldC1jYW4tYmxvY2staW1hZ2UtYW5kLWNhbi1y
ZWxvYWQtaW4tcGxhY2Utc3RkZXJyLnR4dFVUCQAD39jnUt/Y51J1eAsAAQT1AQAABBQAAABzLClJ
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
2OdS2tjnUnV4CwABBPUBAAAEFAAAAI2OQQ7DIAwE73mFP0Ag7aEVvyHEVSwZjIyR+vwS5QPVXlY7
h9kspREnI6mAqqIRPsQIp1mL3m+P1xpmtvgOIfhCPXvFLkMzdv/tbG5Ph6PSRM0NpXVuwFQRnoCM
BavBTZdJ4l0hwqhpnxoTYEnHf7oqfeTzupcsMS8/UEsDBAoAAAAAAJlCPEQAAAAAAAAAAAAAAAAW
ABwAaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL1VUCQAD4tjnUhDa51J1eAsAAQT1AQAABBQAAABQSwME
FAACAAgAmUI8RNsI00I7AAAAPwAAADcAHABodHRwL3Rlc3RzL25hdmlnYXRpb24vZmFsbGJhY2st
YW5jaG9yLXJlbG9hZC1zdGRlcnIudHh0VVQJAAPi2OdS4tjnUnV4CwABBPUBAAAEFAAAAHMsKUnN
LShRKMlXSM0rLE0tTVVIVCjPL8pWyARKKJRnZOakKkDEM4sVklIz89IVCoryk1OLi1NT9LgAUEsD
BAoAAAAAALxCPEQAAAAAAAAAAAAAAAAUABwAaHR0cC90ZXN0cy9zZWN1cml0eS9VVAkAAyPZ51IQ
2udSdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAALxCPEQAAAAAAAAAAAAAAAAqABwAaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQJAAMj2edSENrnUnV4CwABBPUBAAAE
FAAAAFBLAwQUAAIACAC8QjxEY6qsbIIAAACoAAAAQAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVyci50eHRVVAkAAyPZ51Ij2edSdXgL
AAEE9QEAAAQUAAAALY1BCsMwDATveYVeEDu9pPgVhb4guBtiUCwjKaX+fU0pe1qG2c1ytsKbF6kE
VdFEe2HQ4d5SCMttnePIku4xxmDIlxbvIUt1VH/++0O45B4UJpdmWDDvjPljTFwqaCUwziHQD9gB
+DRoekNtXCeSyp2WOdKOza8xRJuC7GpN1PGavlBLAwQUAAIACAC8QjxEY6qsbIIAAACoAAAAUgAc
AGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC11bmFmZmVjdGVk
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
AFBLAwQUAAIACADTQjxEnjqTz+0AAAAmAgAAIQAcAGpzL2xhcmdlLWV4cHJlc3Npb25zLWV4cGVj
dGVkLnR4dFVUCQADTdnnUk3Z51J1eAsAAQT1AQAABBQAAACdkctqwzAQRff6ikErh4aQbrsLxbsG
G+wfUOzrSFS2zGgc139fCdJCN4VkMxsdnXnc1rpIgijUWXSfkS6w5uYC0+rEEr5mRowuTImyJlEM
I6AemGk2HEHCQDwoVU0Ul65L9J62sKT/3lMEyKTKDpHCQLo+NY2mMVHmikQOwfuwoqfLRrotm5be
q3P9UbalTk6VccLN+IIx5859+TtRoT1EwCe9J/2SyuvxuNtR2ueHbYTddC20uT8+rPvf94wwG8Uy
1nTaDrMkjkrmwG9ULZJPNGIMvB2eUD/ovqc1LN5vdY6yz7sKL1DqTxJKfQNQSwMEFAACAAgA00I8
RE1T5ZdVCAAAJUQAACUAHABqcy9sYXJnZS1leHByZXNzaW9ucy1wcmV0dHktZGlmZi5odG1sVVQJ
AANO2edSTtnnUnV4CwABBPUBAAAEFAAAAO1cW3OjyBV+96+g7Mp6LwZJtuWxJI9TM75UUtnsTq23
Mo+pBhrR44ZmuxtLniT/PadvCBBISnYmDymOywb6+p37aYryTSozent0k2IUwyXDEnlRirjA8u1p
KRP/+hSahXyl+PZoTkn+fObNX4ggEsfeP448IInX0o9xxDiShOVzL2c5XuiukPEYcz9kUrJs7k2K
tRfDPY4XR/86MsvZRSJGGZ97J+OLme4LHgnF9yRJbH+IouclZ2Ue+25ocq1+6huZHQSjJPZO4jg2
fQnLpZ+gjNDXuZexnIkCRRZghviSAOQJzryxaSoYMKf54JgCRy9YA0onLaQXFxcd6wuUC19gTpJa
pyCfsd6jvqlPcSLn3jiYuvaYiIIiWESikGI/wpSajhWJZQoLjMd/sBhRHJN8Wc02+Kx61F1TQxYy
yVMAJqvhKXvBvMXVdDpd9AkcYyOKQOnlR9hL2MkJZQhY4WSZyqb21Kg7EAEiebUVA/ETCWyO97Bt
ufT1ug1JrVLgztd6VOa24qjYIHvCkdJfr+HoyU2zaZuMtVsndzCqcbE2OzysC1AxrA+s4TMvUJc2
h73wBIlx+Kr+ehrqe8qi5w+IywBYnSeEC+lHKaFxr2DVdk8w/2zXYhxnoNqzPfvZPZz4SQ7mg/1Q
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
AO1BKLkAAGZhc3QvVVQFAAML2edSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAg0I8RAAAAAAA
AAAAAAAAAAkAGAAAAAAAAAAQAO1BZ7kAAGZhc3QvY3NzL1VUBQADtdjnUnV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAINCPETbCNNCOwAAAD8AAAApABgAAAAAAAEAAACkgaq5AABmYXN0L2Nzcy9j
b21wYXJlLWNvbnRlbnQtc3R5bGUtc3RkZXJyLnR4dFVUBQADtdjnUnV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAJNCPEQAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQUi6AABmYXN0L2ZyYW1lcy9V
VAUAA9bY51J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACTQjxE2wjTQjsAAAA/AAAALwAYAAAA
AAABAAAApIGOugAAZmFzdC9mcmFtZXMvZnJhbWUtZGlzcGxheS1ub25lLWZvY3VzLXN0ZGVyci50
eHRVVAUAA9bY51J1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACcQjxEAAAAAAAAAAAAAAAADAAY
AAAAAAAAABAA7UEyuwAAZmFzdC9sb2FkZXIvVVQFAAPn2OdSdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAl0I8RNsI00I7AAAAPwAAAFIAGAAAAAAAAQAAAKSBeLsAAGZhc3QvbG9hZGVyL2Rpc3Bs
YXktaW1hZ2UtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLXN0
ZGVyci50eHRVVAUAA97Y51J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACYQjxE2wjTQjsAAAA/
AAAAUwAYAAAAAAABAAAApIE/vAAAZmFzdC9sb2FkZXIvaW1hZ2VzLWVuYWJsZWQtdW5zZXQtY2Fu
LWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLXN0ZGVyci50eHRVVAUAA9/Y51J1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACcQjxE2wjTQjsAAAA/AAAALQAYAAAAAAABAAAApIEH
vQAAZmFzdC9sb2FkZXIvcmVsb2FkLXBvbGljeS1kZWxlZ2F0ZS1zdGRlcnIudHh0VVQFAAPn2OdS
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAsEI8RAAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1B
qb0AAGZhc3QveHNsL1VUBQADC9nnUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALBCPERy/WXy
hQAAAOkAAAAlABgAAAAAAAEAAACkgey9AABmYXN0L3hzbC90cmFuc2Zvcm0teGhyLWRvYy1zdGRl
cnIudHh0VVQFAAML2edSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAsEI8RAWPVY6TAAAA0AIA
ACcAGAAAAAAAAQAAAKSB0L4AAGZhc3QveHNsL3hzbHQtYmFkLWltcG9ydC11cmktc3RkZXJyLnR4
dFVUBQADC9nnUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALBCPESBSnetSwAAAKwAAAA0ABgA
AAAAAAEAAACkgcS/AABmYXN0L3hzbC94c2x0LXRyYW5zZm9ybS10by1mcmFnbWVudC1jcmFzaC1z
dGRlcnIudHh0VVQFAAML2edSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAOkM8RAznfw0NAQAA
ggEAABEAGAAAAAAAAQAAAKSBfcAAAGZ1bGxfcmVzdWx0cy5qc29uVVQFAAMP2udSdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAXUI8RAAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1B1cEAAGh0dHAv
VVQFAANy2OdSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAtUI8RAAAAAAAAAAAAAAAAAsAGAAA
AAAAAAAQAO1BFMIAAGh0dHAvdGVzdHMvVVQFAAMV2edSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAXUI8RAAAAAAAAAAAAAAAABEAGAAAAAAAAAAQAO1BWcIAAGh0dHAvdGVzdHMvY2FjaGUvVVQF
AANy2OdSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAXUI8RENjbk8/AAAAvQAAADsAGAAAAAAA
AQAAAKSBpMIAAGh0dHAvdGVzdHMvY2FjaGUvc3VicmVzb3VyY2UtZmFpbG92ZXItdG8tbmV0d29y
ay1zdGRlcnIudHh0VVQFAANy2OdSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAlUI8RAAAAAAA
AAAAAAAAABAAGAAAAAAAAAAQAO1BWMMAAGh0dHAvdGVzdHMvbWlzYy9VVAUAA9rY51J1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACVQjxEFTU1knoAAAC8AAAAKgAYAAAAAAABAAAApIGiwwAAaHR0
cC90ZXN0cy9taXNjL3hzbHQtYmFkLWltcG9ydC1zdGRlcnIudHh0VVQFAAPa2OdSdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAmUI8RAAAAAAAAAAAAAAAABYAGAAAAAAAAAAQAO1BgMQAAGh0dHAv
dGVzdHMvbmF2aWdhdGlvbi9VVAUAA+LY51J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACZQjxE
2wjTQjsAAAA/AAAANwAYAAAAAAABAAAApIHQxAAAaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ZhbGxi
YWNrLWFuY2hvci1yZWxvYWQtc3RkZXJyLnR4dFVUBQAD4tjnUnV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAALxCPEQAAAAAAAAAAAAAAAAUABgAAAAAAAAAEADtQXzFAABodHRwL3Rlc3RzL3NlY3Vy
aXR5L1VUBQADI9nnUnV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALxCPEQAAAAAAAAAAAAAAAAq
ABgAAAAAAAAAEADtQcrFAABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9VVAUAAyPZ51J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC8QjxEY6qsbIIAAACoAAAAQAAY
AAAAAAABAAAApIEuxgAAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
eHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUBQADI9nnUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ALxCPERjqqxsggAAAKgAAABSABgAAAAAAAEAAACkgSrHAABodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS94c2wtdW5hZmZlY3RlZC1ieS1zdHlsZS1zcmMtMi1zdGRlcnIu
dHh0VVQFAAMj2edSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtUI8RGBLZhCRAAAA+wEAAEUA
GAAAAAAAAQAAAKSBOMgAAGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1l
bnQtc2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVUBQADFdnnUnV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAFpCPETqinxCYQUAAAUPAAAKABgAAAAAAAEAAACkgUjJAABodHRwZC5jb25mVVQFAANs
2OdSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA00I8RAAAAAAAAAAAAAAAAAMAGAAAAAAAAAAQ
AO1B7c4AAGpzL1VUBQADTtnnUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANNCPERI5+beLgEA
ADEpAAAfABgAAAAAAAEAAACkgSrPAABqcy9sYXJnZS1leHByZXNzaW9ucy1hY3R1YWwudHh0VVQF
AANN2edSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA00I8RBF4uEApAQAAwykAAB0AGAAAAAAA
AQAAAKSBsdAAAGpzL2xhcmdlLWV4cHJlc3Npb25zLWRpZmYudHh0VVQFAANN2edSdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA00I8RJ46k8/tAAAAJgIAACEAGAAAAAAAAQAAAKSBMdIAAGpzL2xh
cmdlLWV4cHJlc3Npb25zLWV4cGVjdGVkLnR4dFVUBQADTdnnUnV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIANNCPERNU+WXVQgAACVEAAAlABgAAAAAAAEAAACkgXnTAABqcy9sYXJnZS1leHByZXNz
aW9ucy1wcmV0dHktZGlmZi5odG1sVVQFAANO2edSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
2UI8RDBeIp4iAgAA0wkAACsAGAAAAAAAAQAAAKSBLdwAAHB5d2Vic29ja2V0LndzLmxvZy0yOEph
bjIwMTQtMDgxODUzLWVyci50eHRVVAUAA1nZ51J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADZ
QjxEYPJflQcBAACPAgAAKwAYAAAAAAABAAAApIG03gAAcHl3ZWJzb2NrZXQud3MubG9nLTI4SmFu
MjAxNC0wODE4NTMtb3V0LnR4dFVUBQADWdnnUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADpD
PERnzwjRfiYAACOkAAAMABgAAAAAAAEAAACkgSDgAAByZXN1bHRzLmh0bWxVVAUAAw/a51J1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAAA5QzxEAAAAAAAAAAAAAAAACAAYAAAAAAAAABAA7UHkBgEA
cmV0cmllcy9VVAUAAw7a51J1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAA5QzxEAAAAAAAAAAAA
AAAACwAYAAAAAAAAABAA7UEmBwEAcmV0cmllcy9qcy9VVAUAAw7a51J1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAA5QzxESOfm3i4BAAAxKQAAJwAYAAAAAAABAAAApIFrBwEAcmV0cmllcy9qcy9s
YXJnZS1leHByZXNzaW9ucy1hY3R1YWwudHh0VVQFAAMO2udSdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAOUM8RJ0qxyMtAQAA0ykAACUAGAAAAAAAAQAAAKSB+ggBAHJldHJpZXMvanMvbGFyZ2Ut
ZXhwcmVzc2lvbnMtZGlmZi50eHRVVAUAAw7a51J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA5
QzxEnjqTz+0AAAAmAgAAKQAYAAAAAAABAAAApIGGCgEAcmV0cmllcy9qcy9sYXJnZS1leHByZXNz
aW9ucy1leHBlY3RlZC50eHRVVAUAAw7a51J1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA5QzxE
Ze76DVoIAAAtRAAALQAYAAAAAAABAAAApIHWCwEAcmV0cmllcy9qcy9sYXJnZS1leHByZXNzaW9u
cy1wcmV0dHktZGlmZi5odG1sVVQFAAMO2udSdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAOkM8
RN397VyD4AUAsYEiAAoAGAAAAAAAAQAAAKSBlxQBAHN0YXRzLmpzb25VVAUAAw/a51J1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAAAHQzxEAAAAAAAAAAAAAAAABAAYAAAAAAAAABAA7UFe9QYAc3Zn
L1VUBQADrdnnUnV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAdDPEQAAAAAAAAAAAAAAAALABgA
AAAAAAAAEADtQZz1BgBzdmcvc3Ryb2tlL1VUBQADrdnnUnV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAAdDPERtfZGrgwAAAJAAAAAlABgAAAAAAAEAAACkgeH1BgBzdmcvc3Ryb2tlL3plcm8td2lk
dGgtaGFuZy1zdGRlcnIudHh0VVQFAAOt2edSdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAFUM8
RAAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1Bw/YGAHRyYW5zaXRpb25zL1VUBQADydnnUnV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIABVDPERG2KDKiAAAACwCAAA3ABgAAAAAAAEAAACkgQn3BgB0
cmFuc2l0aW9ucy9jdWJpYy1iZXppZXItb3ZlcmZsb3ctc3ZnLWxlbmd0aC1zdGRlcnIudHh0VVQF
AAPJ2edSdXgLAAEE9QEAAAQUAAAAUEsFBgAAAAAyADIA0BMAAAL4BgAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>222462</attachid>
            <date>2014-01-28 09:54:08 -0800</date>
            <delta_ts>2014-01-28 09:54:08 -0800</delta_ts>
            <desc>Archive of layout-test-results from webkit-ews-01 for mac-mountainlion</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>495371</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
L1VUCQADSt3nUsve51J1eAsAAQT1AQAABFAAAABQSwMEFAACAAgA80Q8RCGPvTgyAAAAMwAAACwA
HABmYXN0L2ltYWdlcy9wZGYtYXMtaW1hZ2UtY3JvcC1ib3gtc3RkZXJyLnR4dFVUCQADSt3nUkrd
51J1eAsAAQT1AQAABFAAAABzy0ksSXVJTc5PSbVSSAHRmXnpCqlFRflFVgqZecn5RUWpySUKKYkl
iQrJGanJ2XpcAFBLAwQKAAAAAAAQRTxEAAAAAAAAAAAAAAAACQAcAGZhc3QveHNsL1VUCQADgN3n
Usve51J1eAsAAQT1AQAABFAAAABQSwMEFAACAAgAEEU8RHL9ZfKFAAAA6QAAACUAHABmYXN0L3hz
bC90cmFuc2Zvcm0teGhyLWRvYy1zdGRlcnIudHh0VVQJAAOA3edSgN3nUnV4CwABBPUBAAAEUAAA
AK1OMQ7CQAzb+4p8oGRguxkm2EB0TttUnJS7VLmc1P6eg36BxbJsy/akaY1CHjUDm6kFWKLwDwIi
vlRq4oIXcsLr8MCBx1t0vNOu1Z9cvOBCxXErgsZFq00tvr2tn3U6NRUkZoYzsHDi7BDTquZdc8JB
IUDNNLZRVxCl+U/j/VHP8/dF9wFQSwMEFAACAAgAEEU8RIkfIf6XAAAAwAMAACcAHABmYXN0L3hz
bC94c2x0LWJhZC1pbXBvcnQtdXJpLXN0ZGVyci50eHRVVAkAA4Dd51KA3edSdXgLAAEE9QEAAARQ
AAAA7Y8xDsIwDEX3nsIXKB7YMsMEG4jObuqKSE5cJY5Ubk+gR2BDXSzb3/76z2tcgpAFTcA5a3Yw
B+FvcYj4UKmRC57ICM/DDQceL8HwSi+tdudiBWcqhmsRzFy0Zt/O22T9SFMf4qLZ+prDoe1AQmI4
AgtHTgab2jXFbS04qInGFsAURGn6NUjSUv3zY9L+RDq/8+68f8T7BlBLAwQUAAIACAAQRTxEgUp3
rUsAAACsAAAANAAcAGZhc3QveHNsL3hzbHQtdHJhbnNmb3JtLXRvLWZyYWdtZW50LWNyYXNoLXN0
ZGVyci50eHRVVAkAA4Dd51KA3edSdXgLAAEE9QEAAARQAAAAtcyxDYAwDETRPlPcCrRs48AFWXJs
ZCzmR6JgA+qv97eYp5qUhoOZkSuGGgFTJxbQOOmFW1KlG1ty51DXV8TAYdHFvo7iVW375foAUEsD
BBQAAgAIAMFFPET92z4oDAEAAIIBAAARABwAZnVsbF9yZXN1bHRzLmpzb25VVAkAA8re51LL3udS
dXgLAAEE9QEAAARQAAAATZDfS8MwEMf/l3tSqNZZhFmfBi0iDpW1Ot9Ctl3XuLQNyUU2Rv93L6mC
L3m4fL4/7hZFIVZl9b6sq4szEDpykJ/hK75a2j1e4dFYdE4NvbtuqdPhx6IZLEEOq/KR5dXT6wsk
wCRuCXc8f1tUFU/klrxkBdTlZw3jOCbgDsqYwGTZ/CaB3nfC4v4vAfJZAqontNabaNVI7XDiOsVQ
v4ecdVqeBk8iNhY7ZTkj/Ri079ClhSSZlusqXePmWVG6jGwdl0vgG22I4gKTq5HOIQdnt/fzuwSM
OqL+9cVebvS/Eq10go9BdGIVbVvIyXqeN+oYwLjTbHJttDycYlPP7mI6jaSwo2hUYIN0vHz4AVBL
AwQKAAAAAAD9RDxEAAAAAAAAAAAAAAAABQAcAGh0dHAvVVQJAANe3edSy97nUnV4CwABBPUBAAAE
UAAAAFBLAwQKAAAAAAArRTxEAAAAAAAAAAAAAAAACwAcAGh0dHAvdGVzdHMvVVQJAAOy3edSy97n
UnV4CwABBPUBAAAEUAAAAFBLAwQKAAAAAAD9RDxEAAAAAAAAAAAAAAAAEAAcAGh0dHAvdGVzdHMv
bWlzYy9VVAkAA17d51LL3udSdXgLAAEE9QEAAARQAAAAUEsDBBQAAgAIAP1EPEQVNTWSegAAALwA
AAAqABwAaHR0cC90ZXN0cy9taXNjL3hzbHQtYmFkLWltcG9ydC1zdGRlcnIudHh0VVQJAANe3edS
Xt3nUnV4CwABBPUBAAAEUAAAAI2OQQ7DIAwE73mFP0Ag7aEVvyHEVSwZjIyR+vwS5QPVXlY7h9ks
pREnI6mAqqIRPsQIp1mL3m+P1xpmtvgOIfhCPXvFLkMzdv/tbG5Ph6PSRM0NpXVuwFQRnoCMBavB
TZdJ4l0hwqhpnxoTYEnHf7oqfeTzupcsMS8/UEsDBAoAAAAAADdFPEQAAAAAAAAAAAAAAAAUABwA
aHR0cC90ZXN0cy9zZWN1cml0eS9VVAkAA8nd51LL3udSdXgLAAEE9QEAAARQAAAAUEsDBAoAAAAA
ADdFPEQAAAAAAAAAAAAAAAAqABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvVVQJAAPJ3edSy97nUnV4CwABBPUBAAAEUAAAAFBLAwQUAAIACAA3RTxEY6qsbIIAAACo
AAAAQAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxv
d2VkLXN0ZGVyci50eHRVVAkAA8nd51LJ3edSdXgLAAEE9QEAAARQAAAALY1BCsMwDATveYVeEDu9
pPgVhb4guBtiUCwjKaX+fU0pe1qG2c1ytsKbF6kEVdFEe2HQ4d5SCMttnePIku4xxmDIlxbvIUt1
VH/++0O45B4UJpdmWDDvjPljTFwqaCUwziHQD9gB+DRoekNtXCeSyp2WOdKOza8xRJuC7GpN1PGa
vlBLAwQUAAIACAA3RTxEY6qsbIIAAACoAAAAUgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3hzbC11bmFmZmVjdGVkLWJ5LXN0eWxlLXNyYy0yLXN0ZGVyci50eHRV
VAkAA8nd51LJ3edSdXgLAAEE9QEAAARQAAAALY1BCsMwDATveYVeEDu9pPgVhb4guBtiUCwjKaX+
fU0pe1qG2c1ytsKbF6kEVdFEe2HQ4d5SCMttnePIku4xxmDIlxbvIUt1VH/++0O45B4UJpdmWDDv
jPljTFwqaCUwziHQD9gB+DRoekNtXCeSyp2WOdKOza8xRJuC7GpN1PGavlBLAwQUAAIACAArRTxE
YEtmEJEAAAD7AQAARQAcAGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1l
bnQtc2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVUCQADst3nUrLd51J1eAsAAQT1AQAABFAAAADt
jjEOgzAMRXdO4QuEBJZWmWHo0p4BBVMimSSynQpuXzr0Bh2rv76v90LeSqRJY06AzJk9LJEQVtXi
re36S+vOdf7qnLOCoXLUw+4iZhjvt3Ewu5CZc6gbJjVf4MHxGVO7bwQUE0IPSPghQPQglBVRm/Pp
X8hyuj3kRAd0rYMFJ62MAhMjSC0ls+LchH/oj0PfUEsDBBQAAgAIAK5EPETqinxCYQUAAAUPAAAK
ABwAaHR0cGQuY29uZlVUCQADyNznUsXe51J1eAsAAQT1AQAABFAAAACtV21v2zYQ/q5fQbgwsBWT
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
RTxEEXi4QCkBAADDKQAAHQAcAGpzL2xhcmdlLWV4cHJlc3Npb25zLWRpZmYudHh0VVQJAAP13edS
9t3nUnV4CwABBPUBAAAEUAAAAO3az0vDMBQH8Hv/ikdPG12aeRDBUytOEAWHBXeO7dtWyZaRvLjt
v7fVqTehghf5fg5JyI/vyx/wlFKkn5yNGw762ojRs0WlF/x818ppuoqtbfQjWzaBtTVHF0UJB1Ge
Q7QS9Evotv2KFR923V5o3Tb0a66Fm1wOkmRZ9kdlTC3R2PciRUHqfHJBWT8URUIJzcuqIn41duR5
x6b7zuzr7Si1LMK+TCeUZt1wNp2Ox9QG+rxbiW+3q1FqTofD834O7BLV4MQ+Utae98SHmnfS3aOZ
985f0kMUckva8Mb5Y55kN+Xt/eDssHbRNn0Jtyez/a6S08IEMgAAAAAAAAAAAAAAAAAAAAAAAAD/
QP6LpsABPXwf4SHWdZe3jNYe58YHbvquQvGRE0reAFBLAwQUAAIACABPRTxEnjqTz+0AAAAmAgAA
IQAcAGpzL2xhcmdlLWV4cHJlc3Npb25zLWV4cGVjdGVkLnR4dFVUCQAD9d3nUvXd51J1eAsAAQT1
AQAABFAAAACdkctqwzAQRff6ikErh4aQbrsLxbsGG+wfUOzrSFS2zGgc139fCdJCN4VkMxsdnXnc
1rpIgijUWXSfkS6w5uYC0+rEEr5mRowuTImyJlEMI6AemGk2HEHCQDwoVU0Ul65L9J62sKT/3lME
yKTKDpHCQLo+NY2mMVHmikQOwfuwoqfLRrotm5beq3P9UbalTk6VccLN+IIx5859+TtRoT1EwCe9
J/2SyuvxuNtR2ueHbYTddC20uT8+rPvf94wwG8Uy1nTaDrMkjkrmwG9ULZJPNGIMvB2eUD/ovqc1
LN5vdY6yz7sKL1DqTxJKfQNQSwMEFAACAAgAT0U8RE1T5ZdVCAAAJUQAACUAHABqcy9sYXJnZS1l
eHByZXNzaW9ucy1wcmV0dHktZGlmZi5odG1sVVQJAAP23edS9t3nUnV4CwABBPUBAAAEUAAAAO1c
W3OjyBV+96+g7Mp6LwZJtuWxJI9TM75UUtnsTq23Mo+pBhrR44ZmuxtLniT/PadvCBBISnYmDymO
ywb6+p37aYryTSozent0k2IUwyXDEnlRirjA8u1pKRP/+hSahXyl+PZoTkn+fObNX4ggEsfeP448
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
Htmw9lwYfbRBlLAX5dgHI75wLK6L7198LLsVKz7sYs13duv7MzfCbS4HSbIs++N2upGgzXuzsiR1
PrmgrF/KMqGE5lVdE79qM3K8Yx2/Nft6O0oNi7Cr0gmlWVzOptPxmDpPn3fr2He7GqX6VBye93Ng
TFSDE/tIWTveEx8a3km8RzPnrLukhyBkl7ThjXXHPMluqtv7wdl+bYNp+xZ2T3r73SWnhfakAQAA
AAAAAAAAAAAAAAAAAAAAAP6B/BdDgQNm+D7CfWiamLcMxhzn2nlu+6lCcYETSt4AUEsDBBQAAgAI
AMFFPESeOpPP7QAAACYCAAApABwAcmV0cmllcy9qcy9sYXJnZS1leHByZXNzaW9ucy1leHBlY3Rl
ZC50eHRVVAkAA8ne51LJ3udSdXgLAAEE9QEAAARQAAAAnZHLasMwEEX3+opBK4eGkG67C8W7Bhvs
H1Ds60hUtsxoHNd/XwnSQjeFZDMbHZ153Na6SIIo1Fl0n5EusObmAtPqxBK+ZkaMLkyJsiZRDCOg
HphpNhxBwkA8KFVNFJeuS/SetrCk/95TBMikyg6RwkC6PjWNpjFR5opEDsH7sKKny0a6LZuW3qtz
/VG2pU5OlXHCzfiCMefOffk7UaE9RMAnvSf9ksrr8bjbUdrnh22E3XQttLk/Pqz73/eMMBvFMtZ0
2g6zJI5K5sBvVC2STzRiDLwdnlA/6L6nNSzeb3WOss+7Ci9Q6k8SSn0DUEsDBBQAAgAIAMFFPERl
7voNWggAAC1EAAAtABwAcmV0cmllcy9qcy9sYXJnZS1leHByZXNzaW9ucy1wcmV0dHktZGlmZi5o
dG1sVVQJAAPJ3udSyd7nUnV4CwABBPUBAAAEUAAAAO1cW3OjyBV+96+g7Mp6LwZJtuWxJI9TM75U
UtnsTq23Mo+pBhrR44ZmuxtLniT/PadvCBBISnYmDymOywb6+p37aYryTSozent0k2IUwyXDEnlR
irjA8u1pKRP/+hSahXyl+PZoTkn+fObNX4ggEsfeP448IInX0o9xxDiShOVzL2c5XuiukPEYcz9k
UrJs7k2KtRfDPY4XR/86MsvZRSJGGZ97J+OLme4LHgnF9yRJbH+IouclZ2Ue+25ocq1+6huZHQSj
JPZO4jg2fQnLpZ+gjNDXuZexnIkCRRZghviSAOQJzryxaSoYMKf54JgCRy9YA0onLaQXFxcd6wuU
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
RTxE/ds+KAwBAACCAQAAEQAYAAAAAAABAAAApIFN2QAAZnVsbF9yZXN1bHRzLmpzb25VVAUAA8re
51J1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAD9RDxEAAAAAAAAAAAAAAAABQAYAAAAAAAAABAA
7UGk2gAAaHR0cC9VVAUAA17d51J1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAArRTxEAAAAAAAA
AAAAAAAACwAYAAAAAAAAABAA7UHj2gAAaHR0cC90ZXN0cy9VVAUAA7Ld51J1eAsAAQT1AQAABFAA
AABQSwECHgMKAAAAAAD9RDxEAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UEo2wAAaHR0cC90ZXN0
cy9taXNjL1VUBQADXt3nUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAP1EPEQVNTWSegAAALwA
AAAqABgAAAAAAAEAAACkgXLbAABodHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1wb3J0LXN0ZGVy
ci50eHRVVAUAA17d51J1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAA3RTxEAAAAAAAAAAAAAAAA
FAAYAAAAAAAAABAA7UFQ3AAAaHR0cC90ZXN0cy9zZWN1cml0eS9VVAUAA8nd51J1eAsAAQT1AQAA
BFAAAABQSwECHgMKAAAAAAA3RTxEAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UGe3AAAaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQFAAPJ3edSdXgLAAEE9QEAAARQ
AAAAUEsBAh4DFAACAAgAN0U8RGOqrGyCAAAAqAAAAEAAGAAAAAAAAQAAAKSBAt0AAGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVyci50eHRV
VAUAA8nd51J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAA3RTxEY6qsbIIAAACoAAAAUgAYAAAA
AAABAAAApIH+3QAAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNs
LXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTItc3RkZXJyLnR4dFVUBQADyd3nUnV4CwABBPUBAAAE
UAAAAFBLAQIeAxQAAgAIACtFPERgS2YQkQAAAPsBAABFABgAAAAAAAEAAACkgQzfAABodHRwL3Rl
c3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteHNsLWRvY3VtZW50LXNlY3VyaXR5T3JpZ2luLXN0ZGVy
ci50eHRVVAUAA7Ld51J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACACuRDxE6op8QmEFAAAFDwAA
CgAYAAAAAAABAAAApIEc4AAAaHR0cGQuY29uZlVUBQADyNznUnV4CwABBPUBAAAEUAAAAFBLAQIe
AwoAAAAAAE9FPEQAAAAAAAAAAAAAAAADABgAAAAAAAAAEADtQcHlAABqcy9VVAUAA/bd51J1eAsA
AQT1AQAABFAAAABQSwECHgMUAAIACABPRTxESOfm3i4BAAAxKQAAHwAYAAAAAAABAAAApIH+5QAA
anMvbGFyZ2UtZXhwcmVzc2lvbnMtYWN0dWFsLnR4dFVUBQAD9d3nUnV4CwABBPUBAAAEUAAAAFBL
AQIeAxQAAgAIAE9FPEQReLhAKQEAAMMpAAAdABgAAAAAAAEAAACkgYXnAABqcy9sYXJnZS1leHBy
ZXNzaW9ucy1kaWZmLnR4dFVUBQAD9d3nUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAE9FPESe
OpPP7QAAACYCAAAhABgAAAAAAAEAAACkgQXpAABqcy9sYXJnZS1leHByZXNzaW9ucy1leHBlY3Rl
ZC50eHRVVAUAA/Xd51J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACABPRTxETVPll1UIAAAlRAAA
JQAYAAAAAAABAAAApIFN6gAAanMvbGFyZ2UtZXhwcmVzc2lvbnMtcHJldHR5LWRpZmYuaHRtbFVU
BQAD9t3nUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAGlFPESTZh5tMwIAADQOAAArABgAAAAA
AAEAAACkgQHzAABweXdlYnNvY2tldC53cy5sb2ctMjhKYW4yMDE0LTA4MzczMC1lcnIudHh0VVQF
AAMm3udSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAaUU8RBVoqx0HAQAAjwIAACsAGAAAAAAA
AQAAAKSBmfUAAHB5d2Vic29ja2V0LndzLmxvZy0yOEphbjIwMTQtMDgzNzMwLW91dC50eHRVVAUA
Aybe51J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADBRTxEZ88I0X4mAAAjpAAADAAYAAAAAAAB
AAAApIEF9wAAcmVzdWx0cy5odG1sVVQFAAPK3udSdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAA
wUU8RAAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1ByR0BAHJldHJpZXMvVVQFAAPJ3udSdXgLAAEE
9QEAAARQAAAAUEsBAh4DCgAAAAAAwUU8RAAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1BCx4BAHJl
dHJpZXMvanMvVVQFAAPJ3udSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAwUU8REjn5t4uAQAA
MSkAACcAGAAAAAAAAQAAAKSBUB4BAHJldHJpZXMvanMvbGFyZ2UtZXhwcmVzc2lvbnMtYWN0dWFs
LnR4dFVUBQADyd7nUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAMFFPESdKscjLQEAANMpAAAl
ABgAAAAAAAEAAACkgd8fAQByZXRyaWVzL2pzL2xhcmdlLWV4cHJlc3Npb25zLWRpZmYudHh0VVQF
AAPJ3udSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAwUU8RJ46k8/tAAAAJgIAACkAGAAAAAAA
AQAAAKSBayEBAHJldHJpZXMvanMvbGFyZ2UtZXhwcmVzc2lvbnMtZXhwZWN0ZWQudHh0VVQFAAPJ
3udSdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAwUU8RGXu+g1aCAAALUQAAC0AGAAAAAAAAQAA
AKSBuyIBAHJldHJpZXMvanMvbGFyZ2UtZXhwcmVzc2lvbnMtcHJldHR5LWRpZmYuaHRtbFVUBQAD
yd7nUnV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAMFFPEQsCyymN1MGAMFGIwAKABgAAAAAAAEA
AACkgXwrAQBzdGF0cy5qc29uVVQFAAPK3udSdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAdEU8
RAAAAAAAAAAAAAAAAAQAGAAAAAAAAAAQAO1B934HAHN2Zy9VVAUAAzze51J1eAsAAQT1AQAABFAA
AABQSwECHgMKAAAAAAB0RTxEAAAAAAAAAAAAAAAACwAYAAAAAAAAABAA7UE1fwcAc3ZnL3N0cm9r
ZS9VVAUAAzze51J1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAB0RTxEJfaA44MAAACUAAAAJQAY
AAAAAAABAAAApIF6fwcAc3ZnL3N0cm9rZS96ZXJvLXdpZHRoLWhhbmctc3RkZXJyLnR4dFVUBQAD
PN7nUnV4CwABBPUBAAAEUAAAAFBLBQYAAAAAJgAmAJkOAABcgAcAAAA=
</data>

          </attachment>
      

    </bug>

</bugzilla>