<?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>237329</bug_id>
          
          <creation_ts>2022-03-01 09:25:19 -0800</creation_ts>
          <short_desc>[XCBuild] Emit a discovered dependency file from offlineasm</short_desc>
          <delta_ts>2022-03-10 18:36:23 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Elliott Williams">emw</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>emw</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1847056</commentid>
    <comment_count>0</comment_count>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-03-01 09:25:19 -0800</bug_when>
    <thetext>offlineasm does not track which files influence its compilation, so XCBuild cannot know when to schedule recompilations. By changing offlineasm emitting a discovered dependency files (&quot;depfile&quot;), Xcode can track included file dependencies in the same way that it does for clang-based sources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847058</commentid>
    <comment_count>1</comment_count>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-03-01 09:25:39 -0800</bug_when>
    <thetext>rdar://89054989</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847059</commentid>
    <comment_count>2</comment_count>
      <attachid>453505</attachid>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-03-01 09:28:21 -0800</bug_when>
    <thetext>Created attachment 453505
Integrate offlineasm using build rules and emit a depfile</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847142</commentid>
    <comment_count>3</comment_count>
      <attachid>453524</attachid>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-03-01 12:39:31 -0800</bug_when>
    <thetext>Created attachment 453524
Integrate offlineasm using build rules and emit a depfile r2

Fix build errors</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847256</commentid>
    <comment_count>4</comment_count>
      <attachid>453552</attachid>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-03-01 16:53:57 -0800</bug_when>
    <thetext>Created attachment 453552
Integrate offlineasm using build rules and emit a depfile r3

Fix building with multiple ARCHS. Prevent offlineasm from short-circuiting when the depfile is missing (this could happen if the depfile is deleted, but the generated header is not).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847257</commentid>
    <comment_count>5</comment_count>
      <attachid>453553</attachid>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-03-01 16:55:31 -0800</bug_when>
    <thetext>Created attachment 453553
Integrate offlineasm using build rules and emit a depfile r4

Typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847260</commentid>
    <comment_count>6</comment_count>
      <attachid>453524</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2022-03-01 17:08:38 -0800</bug_when>
    <thetext>Comment on attachment 453524
Integrate offlineasm using build rules and emit a depfile r2

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

I&apos;m gonna assume the JavaScriptCore.xcodeproj/project.pbxproj changes are correct since I don&apos;t know how to read that directly but everything else looks good.

&gt; Source/JavaScriptCore/offlineasm/asm.rb:419
&gt; +        sources = ast.flatten.reduce(Set.new) { |files, node| files.add(node.codeOrigin.fileName) }

Can you put a FIXME here to add files to a set when executing the import step and link to a bugzilla. I think that would be more efficient since there may be tens of thousands of nodes per file and offlineasm is somewhat slow already.

&gt; Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb:90
&gt; +
&gt; +

Can you remove this extra whitespace?

&gt; Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb:95
&gt; +    sources = ast.flatten.reduce(Set.new) { |files, node| files.add(node.codeOrigin.fileName) }

Ditto on FIXME.

&gt; Source/JavaScriptCore/offlineasm/generate_settings_extractor.rb:75
&gt; +    sources = prunedAST.flatten.reduce(Set.new) { |files, node| files.add(node.codeOrigin.fileName) }

Ditto on FIXME.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847279</commentid>
    <comment_count>7</comment_count>
      <attachid>453560</attachid>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-03-01 18:18:55 -0800</bug_when>
    <thetext>Created attachment 453560
Integrate offlineasm using build rules and emit a depfile r5

Collect source file names without an AST pass

--
Keith, lmk if this works or if you&apos;d prefer the set of included source files to be part of each AST node. I opted against the latter since it felt like it&apos;d lead to a lot of unnecessary copying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847401</commentid>
    <comment_count>8</comment_count>
      <attachid>453560</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2022-03-02 08:12:48 -0800</bug_when>
    <thetext>Comment on attachment 453560
Integrate offlineasm using build rules and emit a depfile r5

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

&gt; Source/JavaScriptCore/offlineasm/asm.rb:391
&gt; +if FileTest.exist?(outputFlnm) and not $options[:depfile] or FileTest.exist?($options[:depfile])

Can we put parens here that way it&apos;s trivial to remember if this is: `FileTest.exist?(outputFlnm) and (not $options[:depfile] or FileTest.exist?($options[:depfile]))` vs `(FileTest.exist?(outputFlnm) and not $options[:depfile]) or FileTest.exist?($options[:depfile])`. I also think it&apos;s wrong without the parens anyway (IIRC, this is the latter).

&gt; Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb:78
&gt; +if FileTest.exist?(outputFlnm) and not $options[:depfile] or FileTest.exist?($options[:depfile])

Ditto.

&gt; Source/JavaScriptCore/offlineasm/generate_settings_extractor.rb:60
&gt; +if FileTest.exist?(outputFlnm) and not $options[:depfile] or FileTest.exist?($options[:depfile])

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847403</commentid>
    <comment_count>9</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2022-03-02 08:13:27 -0800</bug_when>
    <thetext>(In reply to Elliott Williams from comment #7)
&gt; Created attachment 453560 [details]
&gt; Integrate offlineasm using build rules and emit a depfile r5
&gt; 
&gt; Collect source file names without an AST pass
&gt; 
&gt; --
&gt; Keith, lmk if this works or if you&apos;d prefer the set of included source files
&gt; to be part of each AST node. I opted against the latter since it felt like
&gt; it&apos;d lead to a lot of unnecessary copying.

Yeah, this is exactly what I was thinking for the FIXME, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847406</commentid>
    <comment_count>10</comment_count>
      <attachid>453560</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2022-03-02 08:17:55 -0800</bug_when>
    <thetext>Comment on attachment 453560
Integrate offlineasm using build rules and emit a depfile r5

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

&gt; Source/JavaScriptCore/offlineasm/parser.rb:846
&gt;                  raise &quot;File not found: #{fileName}&quot; if not fileExists and not isOptional

Do we want to add this file to the `.deps` if it doesn&apos;t exist? Does that work? What happens if someone adds that file later? e.g. someone adds the `Internal` directory after doing an OS build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847539</commentid>
    <comment_count>11</comment_count>
      <attachid>453560</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2022-03-02 11:33:10 -0800</bug_when>
    <thetext>Comment on attachment 453560
Integrate offlineasm using build rules and emit a depfile r5

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

&gt; Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:2166
&gt; +			dependencyFile = &quot;$(DERIVED_FILES_DIR)/$(CURRENT_ARCH)/$(INPUT_FILE_BASE).d&quot;;

For unrelated reasons, DerivedSources unfortunately end up in build artifacts. Can these .d files be somewhere else where they don&apos;t show up unnecessarily?

&gt; Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:2175
&gt; +				&quot;$(DERIVED_FILES_DIR)/$(CURRENT_ARCH)/LLIntAssembly.h&quot;,

On my machine, this file is in WebKitBuild/Debug/DerivedSources/JavaScriptCore/LLIntAssembly.h. Is this basically a drive-by fix to move it to $(CURRENT_ARCH)? But I don&apos;t see where it&apos;s changed for the legacy build system.

&gt; Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:2183
&gt; +			filePatterns = &quot;*.asm&quot;;

There are three rules with the same filePatterns value. I&apos;m curious how this works. Which rules process which inputs?

&gt; Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:12004
&gt; +			shellScript = &quot;[ \&quot;${WK_USE_NEW_BUILD_SYSTEM}\&quot; = \&quot;YES\&quot; ] &amp;&amp; exit 0\n\nif [[ \&quot;${ACTION}\&quot; == \&quot;installhdrs\&quot; ]]; then\n    exit 0\nfi\n\nOFFLINEASM_ARGS=\&quot;\&quot;\nif [[ \&quot;${DEPLOYMENT_LOCATION}\&quot; == \&quot;YES\&quot; ]]; then\n    OFFLINEASM_ARGS=\&quot;${OFFLINEASM_ARGS} --webkit-additions-path=${WK_WEBKITADDITIONS_HEADERS_FOLDER_PATH}\&quot;\nfi\n\ncd \&quot;${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\&quot;\n\n/usr/bin/env ruby JavaScriptCore/offlineasm/asm.rb \&quot;-I${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\&quot; JavaScriptCore/llint/LowLevelInterpreter.asm \&quot;${BUILT_PRODUCTS_DIR}/JSCLLIntOffsetsExtractor\&quot; LLIntAssembly.h \&quot;${BUILD_VARIANTS}\&quot; ${OFFLINEASM_ARGS} || exit 1\n&quot;;

It seems like the check for installhdrs is not there for the modern build system. Is that right and OK?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847675</commentid>
    <comment_count>12</comment_count>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-03-02 16:40:36 -0800</bug_when>
    <thetext>(In reply to Keith Miller from comment #10)
&gt; Comment on attachment 453560 [details]
&gt; Integrate offlineasm using build rules and emit a depfile r5
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=453560&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/offlineasm/parser.rb:846
&gt; &gt;                  raise &quot;File not found: #{fileName}&quot; if not fileExists and not isOptional
&gt; 
&gt; Do we want to add this file to the `.deps` if it doesn&apos;t exist? Does that
&gt; work? What happens if someone adds that file later? e.g. someone adds the
&gt; `Internal` directory after doing an OS build.

This is a good idea! AFAICT, having missing discovered dependencies does not affect incremental builds (i.e. you can still null build) but does trigger a rerun when they become available, which seem like the exact semantics we&apos;d want.


(In reply to Alexey Proskuryakov from comment #11)
&gt; Comment on attachment 453560 [details]
&gt; Integrate offlineasm using build rules and emit a depfile r5
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=453560&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:2166
&gt; &gt; +			dependencyFile = &quot;$(DERIVED_FILES_DIR)/$(CURRENT_ARCH)/$(INPUT_FILE_BASE).d&quot;;
&gt; 
&gt; For unrelated reasons, DerivedSources unfortunately end up in build
&gt; artifacts. Can these .d files be somewhere else where they don&apos;t show up
&gt; unnecessarily?

This is a different directory from the DerivedSources in build products that many of our script write to. On my machine, DERIVED_FILES_DIR is WebKitBuild/JavaScriptCore.build/Debug/JavaScriptCore.build/DerivedSources. This directory shouldn&apos;t show up in build artifacts -- it contains a bunch of machine-specific intermediate files.

&gt; On my machine, this file is in WebKitBuild/Debug/DerivedSources/JavaScriptCore/LLIntAssembly.h. Is this basically a drive-by fix to move it to $(CURRENT_ARCH)? But I don&apos;t see where it&apos;s changed for the legacy build system.

This patch runs offlineasm once per architecture, which is why I had it generate separate LLIntAssembly.h&apos;s (otherwise, XCBuild will fail because multiple tasks are creating the same outputs). But it seems like the legacy build system does not do this, so I think I misunderstood how offlineasm handles multi-arch builds.

As we discussed IRL, I need to go back and make sure both build systems write to this path, so that the file reference in the project is reliable.

&gt; &gt; Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:2175
&gt; &gt; +				&quot;$(DERIVED_FILES_DIR)/$(CURRENT_ARCH)/LLIntAssembly.h&quot;,
&gt; 
&gt; On my machine, this file is in
&gt; WebKitBuild/Debug/DerivedSources/JavaScriptCore/LLIntAssembly.h. Is this
&gt; basically a drive-by fix to move it to $(CURRENT_ARCH)? But I don&apos;t see
&gt; where it&apos;s changed for the legacy build system.
&gt; 
&gt; &gt; Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:2183
&gt; &gt; +			filePatterns = &quot;*.asm&quot;;
&gt; 
&gt; There are three rules with the same filePatterns value. I&apos;m curious how this
&gt; works. Which rules process which inputs?

Build rules are per-target. In the order they appear in the pbxproj, they correspond with JavaScriptCore, JSCLLIntOffsetsExtractor, JSCLLIntSettingsExtractor respectively.
 
&gt; &gt; Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:12004
&gt; &gt; +			shellScript = &quot;[ \&quot;${WK_USE_NEW_BUILD_SYSTEM}\&quot; = \&quot;YES\&quot; ] &amp;&amp; exit 0\n\nif [[ \&quot;${ACTION}\&quot; == \&quot;installhdrs\&quot; ]]; then\n    exit 0\nfi\n\nOFFLINEASM_ARGS=\&quot;\&quot;\nif [[ \&quot;${DEPLOYMENT_LOCATION}\&quot; == \&quot;YES\&quot; ]]; then\n    OFFLINEASM_ARGS=\&quot;${OFFLINEASM_ARGS} --webkit-additions-path=${WK_WEBKITADDITIONS_HEADERS_FOLDER_PATH}\&quot;\nfi\n\ncd \&quot;${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\&quot;\n\n/usr/bin/env ruby JavaScriptCore/offlineasm/asm.rb \&quot;-I${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\&quot; JavaScriptCore/llint/LowLevelInterpreter.asm \&quot;${BUILT_PRODUCTS_DIR}/JSCLLIntOffsetsExtractor\&quot; LLIntAssembly.h \&quot;${BUILD_VARIANTS}\&quot; ${OFFLINEASM_ARGS} || exit 1\n&quot;;
&gt; 
&gt; It seems like the check for installhdrs is not there for the modern build
&gt; system. Is that right and OK?

Yes! These rules are now invoked as part of the &quot;Compile Sources&quot; phase, which is build and install-only, so we get the desired behavior without needing a check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1847710</commentid>
    <comment_count>13</comment_count>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-03-02 18:28:25 -0800</bug_when>
    <thetext>(In reply to Keith Miller from comment #10)
&gt; What happens if someone adds that file later? e.g. someone adds the
&gt; `Internal` directory after doing an OS build.

To answer this question more directly: We support making internal and OSS builds using the same build directory. At the very least, it&apos;s not a workflow I&apos;ve seen tested.

There is a problem where, for instance, at build time an included file might come from the SDK ($(SDKROOT)/usr/local/WebKitAdditions/…), but later an Internal directory is updated so that now it is produced locally ($(BUILT_PRODUCTS_DIR)/usr/local/WebKitAdditions/…). Under this patch, offlineasm would not have put the relative-to-build-products path in its .d and thus would not re-run. 

This seems bad, but doesn&apos;t appear to cause problems in practice: clang has the same theoretical issue, since its header depfiles only recorded what it included, and not every header it searched for and did not find.

Fundamentally, I don&apos;t think discovered dependencies are a good fit for tracking &quot;dependencies which *might* exist later but don&apos;t exist right now&quot;. And I&apos;m not sure it&apos;s worth our time to make offlineasm better than clang at responding to filesystem changes from outside the project directory.

With that in mind, I&apos;ve convinced myself not to try and emit dependencies for missing files -- wdyt?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848029</commentid>
    <comment_count>14</comment_count>
      <attachid>453776</attachid>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-03-03 12:11:11 -0800</bug_when>
    <thetext>Created attachment 453776
Integrate offlineasm using build rules and emit a depfile r6

Clarify boolean expression, fix multi-architecture builds, and keep generated file outputs in their old locations

This fixes the bug Alexey noticed, where LLIntAssembly.h is no longer in the build directory and its file reference in the Xcode project goes missing. It also reduces the surface area of this change, since the pbxbuild and xcbuild versions of this script always write to the same locations.

I mistakingly thought that offlineasm had to be run once per architecture -- in reality, it wants to run once and generate assembly for all active platforms at once. I have unchecked &quot;Run once per architecture&quot; in the build rules.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848037</commentid>
    <comment_count>15</comment_count>
      <attachid>453776</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2022-03-03 12:31:51 -0800</bug_when>
    <thetext>Comment on attachment 453776
Integrate offlineasm using build rules and emit a depfile r6

Looks good to me. Keith?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849019</commentid>
    <comment_count>16</comment_count>
      <attachid>453776</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2022-03-07 16:23:46 -0800</bug_when>
    <thetext>Comment on attachment 453776
Integrate offlineasm using build rules and emit a depfile r6

r=me too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849114</commentid>
    <comment_count>17</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-07 23:19:58 -0800</bug_when>
    <thetext>Committed r290975 (248153@main): &lt;https://commits.webkit.org/248153@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 453776.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849258</commentid>
    <comment_count>18</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-08 07:30:35 -0800</bug_when>
    <thetext>This broke the build for me:

Input files for custom build rules are not supported by the legacy build system.
Discovered dependency files in custom build rules are not supported by the legacy build system.
Disabling run-once-per-architecture for custom build rules is not supported by the legacy build system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849262</commentid>
    <comment_count>19</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-08 07:37:34 -0800</bug_when>
    <thetext>Reverted r290975 for reason:

Broke the build for some configurations

Committed r290990 (248168@trunk): &lt;https://commits.webkit.org/248168@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850333</commentid>
    <comment_count>20</comment_count>
      <attachid>454431</attachid>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-03-10 17:23:18 -0800</bug_when>
    <thetext>Created attachment 454431
Patch for relanding

The build failures were due to an unrelated internal bug, so this patch can be landed again safely.

Updated to declare Alexey&apos;s approval.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850348</commentid>
    <comment_count>21</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-10 18:36:18 -0800</bug_when>
    <thetext>Committed r291142 (248302@main): &lt;https://commits.webkit.org/248302@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 454431.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453505</attachid>
            <date>2022-03-01 09:28:21 -0800</date>
            <delta_ts>2022-03-01 12:39:31 -0800</delta_ts>
            <desc>Integrate offlineasm using build rules and emit a depfile</desc>
            <filename>jsc-generated-sources-outputs.patch</filename>
            <type>text/plain</type>
            <size>29719</size>
            <attacher name="Elliott Williams">emw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDk4MzZiNWE1YmJhMS4uNzM3NjBjYmQ1OTE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAyMi0wMy0wMSAgRWxs
aW90dCBXaWxsaWFtcyAgPGVtd0BhcHBsZS5jb20+CisKKyAgICAgICAgW1hDQnVpbGRdIEVtaXQg
YSBkaXNjb3ZlcmVkIGRlcGVuZGVuY3kgZmlsZSBmcm9tIG9mZmxpbmVhc20KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzMyOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFhjb2RlIG5lZWRzIHRvIGtub3cg
d2hhdCBmaWxlcyBvZmZsaW5lYXNtIHVzZXMgYW5kIHByb2R1Y2VzIGluIG9yZGVyIHRvIHNjaGVk
dWxlIGl0CisgICAgICAgIGNvcnJlY3RseSBpbiBpbmNyZW1lbnRhbCBidWlsZHMuIFJhdGhlciB0
aGFuIHVzZSBnZW5lcmF0ZWQgeGNmaWxlbGlzdHMgbGlrZSBXZWJLaXQgZG9lcworICAgICAgICBl
bHNld2hlcmUgaW4gdGhlIHByb2plY3QsIGVtaXQgYSBkZXBmaWxlIGZyb20gb2ZmbGluZWFzbSBi
YXNlZCBvbiB0aGUgcGFyc2UgdHJlZSdzIHNvdXJjZQorICAgICAgICBmaWxlcy4KKworICAgICAg
ICBEaXNjb3ZlcmVkIGRlcGVuZGVuY3kgZmlsZXMgKCJkZXBmaWxlcyIpIGFyZSBNYWtlZmlsZS1m
b3JtYXR0ZWQgZmlsZXMgd2hpY2ggbGlzdCB0aGUgaW5wdXRzCisgICAgICAgIHVzZWQgdG8gcHJv
ZHVjZSBhbiBvdXRwdXQuIFRoZXkgYXJlIGVtaXR0aW5nIGR1cmluZyB0aGUgYnVpbGQgdG8gYSB0
ZW1wb3JhcnkgZGlyZWN0b3J5LCBhbmQKKyAgICAgICAgZW5zdXJlIHRoYXQgc3Vic2VxdWVudCBp
bmNyZW1lbnRhbCBidWlsZHMgd2lsbCByZS1ydW4gb2ZmbGluZWFzbSB3aGVuIGFueSBvZiB0aGUg
aW5jbHVkZWQKKyAgICAgICAgc291cmNlcyBjaGFuZ2UuIFRoaXMgaXMgdGhlIHNhbWUgbWVjaGFu
aXNtIGNsYW5nIHVzZXMgdG8gdHJhY2sgaGVhZGVyIGRlcGVuZGVuY2llcy4KKworICAgICAgICBV
bmZvcnR1bmF0ZWx5LCB0aGUgbGVnYWN5IGJ1aWxkIHN5c3RlbSB3aWxsIHJlZnVzZSB0byBleGVj
dXRlIGEgc2NyaXB0IHBoYXNlIG9yIHJ1bGUgdGhhdAorICAgICAgICBlbWl0cyBhIGRlcGZpbGUu
IFRvIHdvcmsgYXJvdW5kIHRoaXMsIGNvbnZlcnQgdGhlIG9mZmxpbmVhc20gcGlwZWxpbmUgdG8g
YmUgYmFzZWQgb24gYnVpbGQKKyAgICAgICAgcnVsZXMsIHRvIGJlIHVzZWQgYnkgWENCdWlsZCBv
bmx5LiBUaGUgaWRlYSBpcyB0aGF0IExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGlzIGxpc3RlZCBh
cyBhCisgICAgICAgIHNvdXJjZSBidWlsZCBmaWxlIGluIEpTQ0xMSW50U2V0dGluZ3NFeHRyYWN0
b3IsIEpTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvciwgYW5kCisgICAgICAgIEphdmFTY3JpcHRDb3Jl
LiBFYWNoIHRhcmdldCB1c2VzIGEgYnVpbGQgcnVsZSB0byBnZW5lcmF0ZSBpdHMgcmVzcGVjdGl2
ZSBoZWFkZXIgZnJvbQorICAgICAgICBMb3dMZXZlbEludGVycHJldGVyLmFzbS4gWGNvZGUgc2No
ZWR1bGVzIHRoZXNlIHJ1bGUgZXhlY3V0aW9ucyBiZWZvcmUgYW55IGNsYW5nIHRhc2tzLgorCisg
ICAgICAgIFRoZSBsZWdhY3kgYnVpbGQgc3lzdGVtIGF2b2lkcyBleGVjdXRpbmcgdGhlIHJ1bGVz
IHZpYSBFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FUywgYW5kCisgICAgICAgIGluc3RlYWQgdXNl
cyB0aGUgZXhpc3RpbmcgYnVpbGQgcGhhc2VzLCB3aGljaCBoYXZlICIoTGVnYWN5KSIgaW4gdGhl
aXIgbmFtZXMgYW5kIGFyZSBub3cKKyAgICAgICAgbm8tb3BzIHVuZGVyIFhDQnVpbGQuCisKKyAg
ICAgICAgQXNpZGUgZnJvbSB3b3JraW5nIGFyb3VuZCB0aGUgbGVnYWN5IGJ1aWxkIHN5c3RlbSdz
IGxpbWl0YXRpb25zLCB1c2luZyBidWlsZCBydWxlcyBpcworICAgICAgICBwcm9iYWJseSBhIHN1
cGVyaW9yIHdheSB0byBleHByZXNzIHdoYXQgd2UncmUgZG9pbmcsIGFzIGl0IGdpdmVzIFhjb2Rl
IHRoZSBvcHBvcnR1bml0eSB0bworICAgICAgICBjb21waWxlIG90aGVyIG9iamVjdHMgaW4gcGFy
YWxsZWwsIGFuZCBjb3VsZCBiZSBlYXNpbHkgZXh0ZW5kZWQgdG8gY29tcGlsZSBtdWx0aXBsZSBk
aXNjcmV0ZQorICAgICAgICBhc20gZmlsZXMgc2hvdWxkIHRoZSBuZWVkIGFyaXNlLgorCisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvVG9vbEV4ZWN1dGFibGUueGNjb25maWc6IEJ1aWxkIHJ1bGVz
IGFyZSBYQ0J1aWxkLW9ubHkuCisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajogQWRkIGJ1aWxkIHJ1bGVzLCByZW5hbWUgbGVnYWN5IHNjcmlwdHMuCisg
ICAgICAgICogb2ZmbGluZWFzbS9hc20ucmI6IEFkZCAtLWRlcGZpbGUgZmxhZy4KKyAgICAgICAg
KiBvZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmI6IEFkZCAtLWRlcGZpbGUg
ZmxhZy4KKyAgICAgICAgKiBvZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rvci5y
YjogQWRkIC0tZGVwZmlsZSBmbGFnLgorCiAyMDIyLTAyLTI0ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBPbmx5IGNsZWFyIElDVSBjYWNoZSB3aGVu
IHRpbWUgem9uZSBpcyBjaGFuZ2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q29uZmlndXJhdGlvbnMvVG9vbEV4ZWN1dGFibGUueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvVG9vbEV4ZWN1dGFibGUueGNjb25maWcKaW5kZXggZWNjNzcw
MWIzOWY5Li5iNzZkNDE2NTg4MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvVG9vbEV4ZWN1dGFibGUueGNjb25maWcKQEAgLTU0LDYg
KzU0LDEwIEBAIENMQU5HX0VOQUJMRV9PQkpDX0FSQyA9IFlFUzsKIE9USEVSX0NGTEFHUyA9ICQo
aW5oZXJpdGVkKSAtaXN5c3RlbSBpY3U7CiAKIC8vIEV4cGxpY2l0bHkgYWRkIHRoZSBQcml2YXRl
SGVhZGVycyBkaXJlY3RvcnkgdG8gdGhlIHNlYXJjaCBwYXRoIHNvIHRoYXQgZ2VuZXJhdGVkIGhl
YWRlciBmaWxlcyBjYW4gYmUgZm91bmQgaW4gcHJvZHVjdGlvbiBidWlsZHMuCi1IRUFERVJfU0VB
UkNIX1BBVEhTID0gIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2Ny
aXB0Q29yZSIgIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU30iICIk
KEpBVkFTQ1JJUFRDT1JFX0ZSQU1FV09SS1NfRElSKS9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsv
UHJpdmF0ZUhlYWRlcnMiICQoaW5oZXJpdGVkKTsKK0hFQURFUl9TRUFSQ0hfUEFUSFMgPSAiJHtC
VUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlIiAiJChKQVZB
U0NSSVBUQ09SRV9GUkFNRVdPUktTX0RJUikvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ByaXZh
dGVIZWFkZXJzIiAkKGluaGVyaXRlZCk7CisKK0VYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTID0g
JChFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU18kKFdLX1dISUNIX0JVSUxEX1NZU1RFTSkpOwor
Ly8gT2Zmc2V0IGFuZCBzZXR0aW5ncyBoZWFkZXJzIGFyZSBidWlsdCBieSBzZXBhcmF0ZSB0YXJn
ZXRzIGFuZCBzY3JpcHQgcGhhc2VzIGluIHRoZSBsZWdhY3kgYnVpbGQgc3lzdGVtLCBub3QgdXNp
bmcgYnVpbGQgcnVsZXMuCitFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU19sZWdhY3kgPSAqLmFz
bTsKIAogT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKFNPVVJDRV9WRVJTSU9OX0xERkxB
R1MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1MTk0Mzg3OWU4MjUuLmQ0ODkz
ZGNhMmI2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMsMzIgKzMsMzIgQEAK
IAlhcmNoaXZlVmVyc2lvbiA9IDE7CiAJY2xhc3NlcyA9IHsKIAl9OwotCW9iamVjdFZlcnNpb24g
PSA1MTsKKwlvYmplY3RWZXJzaW9uID0gNTI7CiAJb2JqZWN0cyA9IHsKIAogLyogQmVnaW4gUEJY
QWdncmVnYXRlVGFyZ2V0IHNlY3Rpb24gKi8KLQkJMEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8q
IExMSW50IE9mZnNldHMgKi8gPSB7CisJCTBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiAoTGVn
YWN5KSBMTEludCBPZmZzZXRzICovID0gewogCQkJaXNhID0gUEJYQWdncmVnYXRlVGFyZ2V0Owot
CQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDBGNDY4MEFDMTRCQTdGRDkwMEJGRTI3MiAvKiBC
dWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiTExJbnQgT2Zm
c2V0cyIgKi87CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMEY0NjgwQUMxNEJBN0ZEOTAw
QkZFMjcyIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0
ICIoTGVnYWN5KSBMTEludCBPZmZzZXRzIiAqLzsKIAkJCWJ1aWxkUGhhc2VzID0gKAotCQkJCTBG
NDY4MEFBMTRCQTdGRDkwMEJGRTI3MiAvKiBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMgKi8sCisJ
CQkJMEY0NjgwQUExNEJBN0ZEOTAwQkZFMjcyIC8qIChMZWdhY3kpIEdlbmVyYXRlIERlcml2ZWQg
U291cmNlcyAqLywKIAkJCSk7CiAJCQlkZXBlbmRlbmNpZXMgPSAoCiAJCQkJMTRCRDY4OTkyMTUx
OTE2RDAwNTBEQUZGIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCiAJCQkpOwotCQkJbmFtZSA9
ICJMTEludCBPZmZzZXRzIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgTExJbnQgT2Zmc2V0cyI7CiAJ
CQlwcm9kdWN0TmFtZSA9ICJEZXJpdmVkIFNvdXJjZXMiOwogCQl9OwotCQkxNEJENjg4RjIxNTE5
MTQ1MDA1MERBRkYgLyogTExJbnQgU2V0dGluZ3MgKi8gPSB7CisJCTE0QkQ2ODhGMjE1MTkxNDUw
MDUwREFGRiAvKiAoTGVnYWN5KSBMTEludCBTZXR0aW5ncyAqLyA9IHsKIAkJCWlzYSA9IFBCWEFn
Z3JlZ2F0ZVRhcmdldDsKLQkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNEJENjg5MzIxNTE5
MTQ1MDA1MERBRkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVU
YXJnZXQgIkxMSW50IFNldHRpbmdzIiAqLzsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAx
NEJENjg5MzIxNTE5MTQ1MDA1MERBRkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQ
QlhBZ2dyZWdhdGVUYXJnZXQgIihMZWdhY3kpIExMSW50IFNldHRpbmdzIiAqLzsKIAkJCWJ1aWxk
UGhhc2VzID0gKAotCQkJCTE0QkQ2ODkyMjE1MTkxNDUwMDUwREFGRiAvKiBHZW5lcmF0ZSBEZXJp
dmVkIFNvdXJjZXMgKi8sCisJCQkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8qIChMZWdhY3kp
IEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyAqLywKIAkJCSk7CiAJCQlkZXBlbmRlbmNpZXMgPSAo
CiAJCQkJMTRCRDY4OTAyMTUxOTE0NTAwNTBEQUZGIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8s
CiAJCQkpOwotCQkJbmFtZSA9ICJMTEludCBTZXR0aW5ncyI7CisJCQluYW1lID0gIihMZWdhY3kp
IExMSW50IFNldHRpbmdzIjsKIAkJCXByb2R1Y3ROYW1lID0gIkRlcml2ZWQgU291cmNlcyI7CiAJ
CX07CiAJCTUzMjVCREJGMjFERkYyQjEwMEEwREVFMSAvKiBBcHBseSBDb25maWd1cmF0aW9uIHRv
IFhDRmlsZUxpc3RzICovID0gewpAQCAtNzMsMTggKzczLDE4IEBACiAJCQluYW1lID0gIlRlc3Qg
VG9vbHMiOwogCQkJcHJvZHVjdE5hbWUgPSAiVGVzdCBUb29scyI7CiAJCX07Ci0JCTY1Nzg4QTlE
MThCNDA5RUIwMEMxODlGRiAvKiBPZmZsaW5lIEFzc2VtYmxlciAqLyA9IHsKKwkJNjU3ODhBOUQx
OEI0MDlFQjAwQzE4OUZGIC8qIChMZWdhY3kpIE9mZmxpbmUgQXNzZW1ibGVyICovID0gewogCQkJ
aXNhID0gUEJYQWdncmVnYXRlVGFyZ2V0OwotCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDY1
Nzg4QUEyMThCNDA5RUIwMEMxODlGRiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBC
WEFnZ3JlZ2F0ZVRhcmdldCAiT2ZmbGluZSBBc3NlbWJsZXIiICovOworCQkJYnVpbGRDb25maWd1
cmF0aW9uTGlzdCA9IDY1Nzg4QUEyMThCNDA5RUIwMEMxODlGRiAvKiBCdWlsZCBjb25maWd1cmF0
aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJs
ZXIiICovOwogCQkJYnVpbGRQaGFzZXMgPSAoCiAJCQkJRERFOTkzMEMyNzhEMDgzRDAwRjYwRDI2
IC8qIFByb2R1Y3QgRGVwZW5kZW5jaWVzICovLAotCQkJCTY1Nzg4QUEwMThCNDA5RUIwMEMxODlG
RiAvKiBPZmZsaW5lIEFzc2VtYmxlICovLAorCQkJCTY1Nzg4QUEwMThCNDA5RUIwMEMxODlGRiAv
KiAoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlICovLAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9
ICgKIAkJCQk2NTI0NEJEMzE4RUNCNTAwMDAxMEI3MDggLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAq
LywKIAkJCQk2NTc4OEE5RTE4QjQwOUVCMDBDMTg5RkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAq
LywKIAkJCSk7Ci0JCQluYW1lID0gIk9mZmxpbmUgQXNzZW1ibGVyIjsKKwkJCW5hbWUgPSAiKExl
Z2FjeSkgT2ZmbGluZSBBc3NlbWJsZXIiOwogCQkJcHJvZHVjdE5hbWUgPSAiT2ZmbGluZSBBc3Nl
bWJsZXIiOwogCQl9OwogCQk2NUZCM0Y2NjA5RDExRTkxMDBGNDlERUIgLyogRGVyaXZlZCBTb3Vy
Y2VzICovID0gewpAQCAtMTgyOCw2ICsxODI4LDkgQEAKIAkJRENGM0Q1NkQxQ0QyOTQ3NjAwM0Q1
QzY1IC8qIExhenlQcm9wZXJ0eUlubGluZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IERDRjNENTY4MUNEMjk0NjgwMDNENUM2NSAvKiBMYXp5UHJvcGVy
dHlJbmxpbmVzLmggKi87IH07CiAJCURDRkRGQkQ5MUQxRjVEOUIwMEZFM0Q3MiAvKiBCM0JvdHRv
bVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBEQ0ZERkJENzFEMUY1RDk4MDBGRTNENzIgLyogQjNCb3R0b21Qcm92aWRlci5oICovOyB9Owog
CQlEQ0ZERkJEQTFEMUY1RDlFMDBGRTNENzIgLyogQjNUeXBlTWFwLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEQ0ZERkJEODFEMUY1RDk4MDBGRTNENzIg
LyogQjNUeXBlTWFwLmggKi87IH07CisJCURENDFGQTg2MjdDREFEMzIwMDM5NEQ5NSAvKiBMb3dM
ZXZlbEludGVycHJldGVyLmFzbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg2QTA1NDQ2MTU1NjQ1MUIwMDQ0NTE1NyAvKiBMb3dMZXZlbEludGVycHJldGVy
LmFzbSAqLzsgfTsKKwkJREQ0MUZBODcyN0NEQUQ0MzAwMzk0RDk1IC8qIExvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODZBMDU0NDYxNTU2NDUxQjAwNDQ1MTU3IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtICovOyB9
OworCQlERDQxRkE4OTI3Q0REREVGMDAzOTREOTUgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkEwNTQ0NjE1
NTY0NTFCMDA0NDUxNTcgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20gKi87IH07CiAJCUREQjA0
RjQxMjc4RTU2OUEwMDhEMzY3OCAvKiBsaWJXVEYuYSBpbiBQcm9kdWN0IERlcGVuZGVuY2llcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDk4Q0FEMzIxNDY1NkM0MDA3MTA4
NzkgLyogbGliV1RGLmEgKi87IH07CiAJCUREQjA0RjQyMjc4RTU2QTIwMDhEMzY3OCAvKiBsaWJX
VEYuYSBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0
OThDQUQzMjE0NjU2QzQwMDcxMDg3OSAvKiBsaWJXVEYuYSAqLzsgfTsKIAkJRERFOTkzMTAyNzhE
MDg3RDAwRjYwRDI2IC8qIGxpYldlYktpdEFkZGl0aW9ucy5hIGluIFByb2R1Y3QgRGVwZW5kZW5j
aWVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERERTk5MzBFMjc4RDA4NjYw
MEY2MEQyNiAvKiBsaWJXZWJLaXRBZGRpdGlvbnMuYSAqLzsgfTsKQEAgLTIxNTcsNiArMjE2MCw1
MyBAQAogCQkJKTsKIAkJCXNjcmlwdCA9ICJleGVjIFwiJHtTUkNST09UfS9TY3JpcHRzL3Bvc3Rw
cm9jZXNzLWhlYWRlci1ydWxlXCJcbiI7CiAJCX07CisJCURENDFGQTdEMjdDREE2RkUwMDM5NEQ5
NSAvKiBQQlhCdWlsZFJ1bGUgKi8gPSB7CisJCQlpc2EgPSBQQlhCdWlsZFJ1bGU7CisJCQljb21w
aWxlclNwZWMgPSBjb20uYXBwbGUuY29tcGlsZXJzLnByb3h5LnNjcmlwdDsKKwkJCWRlcGVuZGVu
Y3lGaWxlID0gIiQoREVSSVZFRF9GSUxFU19ESVIpLyQoSU5QVVRfRklMRV9CQVNFKS5kIjsKKwkJ
CWZpbGVQYXR0ZXJucyA9ICIqLmFzbSI7CisJCQlmaWxlVHlwZSA9IHBhdHRlcm4ucHJveHk7CisJ
CQlpbnB1dEZpbGVzID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvSlNDTExJbnRPZmZz
ZXRzRXh0cmFjdG9yIiwKKwkJCQkiJChTUkNST09UKS9vZmZsaW5lYXNtIiwKKwkJCSk7CisJCQlp
c0VkaXRhYmxlID0gMTsKKwkJCW91dHB1dEZpbGVzID0gKAorCQkJCSIkKERFUklWRURfRklMRV9E
SVIpL0xMSW50QXNzZW1ibHkuaCIsCisJCQkpOworCQkJc2NyaXB0ID0gIk9GRkxJTkVBU01fQVJH
Uz1cIlwiXG5pZiBbWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIllFU1wiIF1dOyB0
aGVuXG4gICAgT0ZGTElORUFTTV9BUkdTPVwiJHtPRkZMSU5FQVNNX0FSR1N9IC0td2Via2l0LWFk
ZGl0aW9ucy1wYXRoPSR7V0tfV0VCS0lUQURESVRJT05TX0hFQURFUlNfRk9MREVSX1BBVEh9XCJc
bmZpXG5cbmNkIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3Jp
cHRDb3JlXCJcblxuL3Vzci9iaW4vZW52IHJ1YnkgSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9h
c20ucmIgXCItSSR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0
Q29yZVwiIFwiJHtJTlBVVF9GSUxFX1BBVEh9XCIgXCIke1NDUklQVF9JTlBVVF9GSUxFXzB9XCIg
XCIke1NDUklQVF9PVVRQVVRfRklMRV8wfVwiIFwiJHtCVUlMRF9WQVJJQU5UU31cIiAke09GRkxJ
TkVBU01fQVJHU30gLS1kZXBmaWxlPVwiJHtERVJJVkVEX0ZJTEVTX0RJUn0vJHtJTlBVVF9GSUxF
X0JBU0V9LmRcIlxuIjsKKwkJfTsKKwkJREQ0MUZBN0UyN0NEQTg5RDAwMzk0RDk1IC8qIFBCWEJ1
aWxkUnVsZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEJ1aWxkUnVsZTsKKwkJCWNvbXBpbGVyU3BlYyA9
IGNvbS5hcHBsZS5jb21waWxlcnMucHJveHkuc2NyaXB0OworCQkJZGVwZW5kZW5jeUZpbGUgPSAi
JChERVJJVkVEX0ZJTEVTX0RJUikvJChJTlBVVF9GSUxFX0JBU0UpLmQiOworCQkJZmlsZVBhdHRl
cm5zID0gIiouYXNtIjsKKwkJCWZpbGVUeXBlID0gcGF0dGVybi5wcm94eTsKKwkJCWlucHV0Rmls
ZXMgPSAoCisJCQkJIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9KU0NMTEludFNldHRpbmdzRXh0cmFj
dG9yIiwKKwkJCQkiJChTUkNST09UKS9vZmZsaW5lYXNtIiwKKwkJCSk7CisJCQlpc0VkaXRhYmxl
ID0gMTsKKwkJCW91dHB1dEZpbGVzID0gKAorCQkJCSIkKERFUklWRURfRklMRVNfRElSKS9MTElu
dERlc2lyZWRPZmZzZXRzLmgiLAorCQkJKTsKKwkJCXNjcmlwdCA9ICJzZXQgLWVcblxuT0ZGTElO
RUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwiWUVT
XCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJTkVBU01fQVJHU30gLS13
ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNfSEVBREVSU19GT0xERVJf
UEFUSH1cIlxuZmlcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke1NSQ1JPT1R9L29mZmxpbmVhc20v
Z2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYlwiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0v
RGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBcIiR7SU5QVVRfRklMRV9QQVRIfVwiICBc
IiR7QlVJTFRfUFJPRFVDVFNfRElSfS9KU0NMTEludFNldHRpbmdzRXh0cmFjdG9yXCIgXCIke1ND
UklQVF9PVVRQVVRfRklMRV8wfVwiIFwiJHtBUkNIU30gQ19MT09QXCIgXCIke0JVSUxEX1ZBUklB
TlRTfVwiICR7T0ZGTElORUFTTV9BUkdTfSAtLWRlcGZpbGU9XCIke0RFUklWRURfRklMRVNfRElS
fS8ke0lOUFVUX0ZJTEVfQkFTRX0uZFwiXG5cbiI7CisJCX07CisJCURENDFGQTgxMjdDREFBNTQw
MDM5NEQ5NSAvKiBQQlhCdWlsZFJ1bGUgKi8gPSB7CisJCQlpc2EgPSBQQlhCdWlsZFJ1bGU7CisJ
CQljb21waWxlclNwZWMgPSBjb20uYXBwbGUuY29tcGlsZXJzLnByb3h5LnNjcmlwdDsKKwkJCWRl
cGVuZGVuY3lGaWxlID0gIiQoREVSSVZFRF9GSUxFU19ESVIpLyQoSU5QVVRfRklMRV9CQVNFKS5k
IjsKKwkJCWZpbGVQYXR0ZXJucyA9ICIqLmFzbSI7CisJCQlmaWxlVHlwZSA9IHBhdHRlcm4ucHJv
eHk7CisJCQlpbnB1dEZpbGVzID0gKAorCQkJCSIkKFNSQ1JPT1QpL29mZmxpbmVhc20iLAorCQkJ
KTsKKwkJCWlzRWRpdGFibGUgPSAxOworCQkJb3V0cHV0RmlsZXMgPSAoCisJCQkJIiQoREVSSVZF
RF9GSUxFU19ESVIpL0xMSW50RGVzaXJlZFNldHRpbmdzLmgiLAorCQkJKTsKKwkJCXNjcmlwdCA9
ICJzZXQgLWVcblxuT0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xP
Q0FUSU9OfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09G
RkxJTkVBU01fQVJHU30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElP
TlNfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmlcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke1NS
Q1JPT1R9L29mZmxpbmVhc20vZ2VuZXJhdGVfc2V0dGluZ3NfZXh0cmFjdG9yLnJiXCIgXCItSSR7
QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwiIFwiJHtJ
TlBVVF9GSUxFX1BBVEh9XCIgXCIke1NDUklQVF9PVVRQVVRfRklMRV8wfVwiIFwiJHtBUkNIU30g
Q19MT09QXCIgJHtPRkZMSU5FQVNNX0FSR1N9IC0tZGVwZmlsZT1cIiR7REVSSVZFRF9GSUxFU19E
SVJ9LyR7SU5QVVRfRklMRV9CQVNFfS5kXCJcbiI7CisJCX07CiAvKiBFbmQgUEJYQnVpbGRSdWxl
IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYQ29udGFpbmVySXRlbVByb3h5IHNlY3Rpb24gKi8K
QEAgLTIzNzAsMTMgKzI0MjAsNiBAQAogCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSA2NUZCM0Y2
NjA5RDExRTkxMDBGNDlERUI7CiAJCQlyZW1vdGVJbmZvID0gIkRlcml2ZWQgU291cmNlcyI7CiAJ
CX07Ci0JCTY1Nzg4QUFDMThCNDBBN0IwMEMxODlGRiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkg
Ki8gPSB7Ci0JCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7Ci0JCQljb250YWluZXJQb3J0
YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87Ci0JCQlw
cm94eVR5cGUgPSAxOwotCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSA2NTc4OEE5RDE4QjQwOUVC
MDBDMTg5RkY7Ci0JCQlyZW1vdGVJbmZvID0gIk9mZmxpbmUgQXNzZW1ibGVyIjsKLQkJfTsKIAkJ
NjVGQjNGN0QwOUQxMUVGMzAwRjQ5REVCIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsK
IAkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKIAkJCWNvbnRhaW5lclBvcnRhbCA9IDA4
NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKQEAgLTIzOTgsNiAr
MjQ0MSwxMyBAQAogCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSA5MzJGNUIzRTA4MjJBMUM3MDA3
MzY5NzU7CiAJCQlyZW1vdGVJbmZvID0gIkphdmFTY3JpcHRDb3JlIChVcGdyYWRlZCkiOwogCQl9
OworCQlERDQxRkE4QTI3Q0RFMUM0MDAzOTREOTUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICov
ID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9ydGFs
ID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJcHJv
eHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gNjU3ODhBOUQxOEI0MDlFQjAw
QzE4OUZGOworCQkJcmVtb3RlSW5mbyA9ICIoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlciI7CisJ
CX07CiAJCUZFNTMzQ0FFMUYyMTdFQzYwMDE2QTFGRSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CiAJCQljb250YWluZXJQb3J0
YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CkBAIC0x
MTQxMyw2ICsxMTQ2Myw3IEBACiAJCQkJMEZGOTIyQzYxNEY0NkIxMzAwNDFBMjRFIC8qIEZyYW1l
d29ya3MgKi8sCiAJCQkpOwogCQkJYnVpbGRSdWxlcyA9ICgKKwkJCQlERDQxRkE3RTI3Q0RBODlE
MDAzOTREOTUgLyogUEJYQnVpbGRSdWxlICovLAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgK
IAkJCQkxNENGQjEwOTIzMDM1RjEzMDBGMDA0OEMgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywK
QEAgLTExNDcxLDYgKzExNTIyLDcgQEAKIAkJCQkxNEJENjg4ODIxNTE5MTMxMDA1MERBRkYgLyog
RnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlidWlsZFJ1bGVzID0gKAorCQkJCURENDFGQTgxMjdD
REFBNTQwMDM5NEQ5NSAvKiBQQlhCdWlsZFJ1bGUgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVz
ID0gKAogCQkJCTE0Q0ZCMTA3MjMwMzVGMEYwMEYwMDQ4QyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5
ICovLApAQCAtMTE1NTQsMTAgKzExNjA2LDExIEBACiAJCQkJNjU3N0ZGQzYyNzZBQzhEMjAwMTFB
RUM4IC8qIENyZWF0ZSBTeW1saW5rIHRvIEFsdCBSb290IFBhdGggKi8sCiAJCQkpOwogCQkJYnVp
bGRSdWxlcyA9ICgKKwkJCQlERDQxRkE3RDI3Q0RBNkZFMDAzOTREOTUgLyogUEJYQnVpbGRSdWxl
ICovLAogCQkJCTUzNUUwOEMyMjI1NDVBQzgwMERGMDBDQSAvKiBQQlhCdWlsZFJ1bGUgKi8sCiAJ
CQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAotCQkJCTY1Nzg4QUFEMThCNDBBN0IwMEMxODlGRiAv
KiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAorCQkJCURENDFGQThCMjdDREUxQzQwMDM5NEQ5NSAv
KiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTY1RkIzRjdFMDlEMTFFRjMwMEY0OURFQiAv
KiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTUzQjRCRDE0MUY2OEMyQUEwMEQyQkVBMyAv
KiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJKTsKQEAgLTExNjM2LDExICsxMTY4OSwxMSBA
QAogCQkJCTkzMkY1QkUzMDgyMkExQzcwMDczNjk3NSAvKiBBbGwgKi8sCiAJCQkJOTMyRjVCM0Uw
ODIyQTFDNzAwNzM2OTc1IC8qIEphdmFTY3JpcHRDb3JlICovLAogCQkJCTY1RkIzRjY2MDlEMTFF
OTEwMEY0OURFQiAvKiBEZXJpdmVkIFNvdXJjZXMgKi8sCi0JCQkJMTRCRDY4OEYyMTUxOTE0NTAw
NTBEQUZGIC8qIExMSW50IFNldHRpbmdzICovLAorCQkJCTE0QkQ2ODhGMjE1MTkxNDUwMDUwREFG
RiAvKiAoTGVnYWN5KSBMTEludCBTZXR0aW5ncyAqLywKIAkJCQkxNEJENjg4MTIxNTE5MTMxMDA1
MERBRkYgLyogSlNDTExJbnRTZXR0aW5nc0V4dHJhY3RvciAqLywKLQkJCQkwRjQ2ODBBOTE0QkE3
RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zmc2V0cyAqLywKKwkJCQkwRjQ2ODBBOTE0QkE3RkQ5MDBC
RkUyNzIgLyogKExlZ2FjeSkgTExJbnQgT2Zmc2V0cyAqLywKIAkJCQkwRkY5MjJDMzE0RjQ2QjEz
MDA0MUEyNEUgLyogSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9yICovLAotCQkJCTY1Nzg4QTlEMThC
NDA5RUIwMEMxODlGRiAvKiBPZmZsaW5lIEFzc2VtYmxlciAqLywKKwkJCQk2NTc4OEE5RDE4QjQw
OUVCMDBDMTg5RkYgLyogKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJsZXIgKi8sCiAJCQkJNTNCNEJE
MDQxRjY4QUY4OTAwRDJCRUEzIC8qIEdlbmVyYXRlIFVuaWZpZWQgU291cmNlcyAqLywKIAkJCQlF
MUFDMkUyNzIwRjdCOTRDMDBCMDg5N0QgLyogVW5sb2NrIEtleWNoYWluICovLAogCQkJCTE0MTIx
MTFGMEE0ODc5M0MwMDQ4MDI1NSAvKiBtaW5pZG9tICovLApAQCAtMTE2NzEsMzMgKzExNzI0LDMz
IEBACiAvKiBFbmQgUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2lu
IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICovCi0JCTBGNDY4MEFBMTRCQTdGRDkw
MEJGRTI3MiAvKiBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7CisJCTBGNDY4MEFBMTRC
QTdGRDkwMEJGRTI3MiAvKiAoTGVnYWN5KSBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7
CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sg
PSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCiAJCQkpOwogCQkJaW5wdXRQYXRocyA9ICgKIAkJ
CSk7Ci0JCQluYW1lID0gIkdlbmVyYXRlIERlcml2ZWQgU291cmNlcyI7CisJCQluYW1lID0gIihM
ZWdhY3kpIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyI7CiAJCQlvdXRwdXRQYXRocyA9ICgKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNoZWxs
UGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICJzZXQgLWVcblxuT0ZGTElORUFTTV9B
UkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwiWUVTXCIgXV07
IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJTkVBU01fQVJHU30gLS13ZWJraXQt
YWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNfSEVBREVSU19GT0xERVJfUEFUSH1c
IlxuZmlcblxubWtkaXIgLXAgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRzLyR7
QVJDSFN9XCJcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke1NSQ1JPT1R9L29mZmxpbmVhc20vZ2Vu
ZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYlwiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVy
aXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBcIiR7U1JDUk9PVH0vbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc21cIiAgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vSlNDTExJbnRTZXR0aW5n
c0V4dHJhY3RvclwiIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy8ke0FSQ0hT
fS9MTEludERlc2lyZWRPZmZzZXRzLmhcIiBcIiR7QVJDSFN9IENfTE9PUFwiIFwiJHtCVUlMRF9W
QVJJQU5UU31cIiAke09GRkxJTkVBU01fQVJHU31cbiI7CisJCQlzaGVsbFNjcmlwdCA9ICJbIFwi
JHtXS19VU0VfTkVXX0JVSUxEX1NZU1RFTX1cIiA9IFwiWUVTXCIgXSAmJiBleGl0IDBcbnNldCAt
ZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059
XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVBU01fQVJHUz1cIiR7T0ZGTElORUFT
TV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dLX1dFQktJVEFERElUSU9OU19IRUFE
RVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG5ta2RpciAtcCBcIiR7QlVJTFRfUFJPRFVDVFNfRElS
fS9MTEludE9mZnNldHMvJHtBUkNIU31cIlxuXG4vdXNyL2Jpbi9lbnYgcnVieSBcIiR7U1JDUk9P
VH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9yLnJiXCIgXCItSSR7QlVJTFRf
UFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwiIFwiJHtTUkNST09U
fS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbVwiICBcIiR7QlVJTFRfUFJPRFVDVFNfRElS
fS9KU0NMTEludFNldHRpbmdzRXh0cmFjdG9yXCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJ
bnRPZmZzZXRzLyR7QVJDSFN9L0xMSW50RGVzaXJlZE9mZnNldHMuaFwiIFwiJHtBUkNIU30gQ19M
T09QXCIgXCIke0JVSUxEX1ZBUklBTlRTfVwiICR7T0ZGTElORUFTTV9BUkdTfVxuIjsKIAkJfTsK
LQkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8qIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyAq
LyA9IHsKKwkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8qIChMZWdhY3kpIEdlbmVyYXRlIERl
cml2ZWQgU291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsK
IAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKIAkJCSk7CiAJ
CQlpbnB1dFBhdGhzID0gKAogCQkJKTsKLQkJCW5hbWUgPSAiR2VuZXJhdGUgRGVyaXZlZCBTb3Vy
Y2VzIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgR2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzIjsKIAkJ
CW91dHB1dFBhdGhzID0gKAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2NyaXB0ID0gInNl
dCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJ
T059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVBU01fQVJHUz1cIiR7T0ZGTElO
RUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dLX1dFQktJVEFERElUSU9OU19I
RUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG5ta2RpciAtcCBcIiR7QlVJTFRfUFJPRFVDVFNf
RElSfS9MTEludE9mZnNldHMvJHtBUkNIU31cIlxuXG4vdXNyL2Jpbi9lbnYgcnVieSBcIiR7U1JD
Uk9PVH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9zZXR0aW5nc19leHRyYWN0b3IucmJcIiBcIi1JJHtC
VUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIgXCIke1NS
Q1JPT1R9L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtXCIgXCIke0JVSUxUX1BST0RVQ1RT
X0RJUn0vTExJbnRPZmZzZXRzLyR7QVJDSFN9L0xMSW50RGVzaXJlZFNldHRpbmdzLmhcIiBcIiR7
QVJDSFN9IENfTE9PUFwiICR7T0ZGTElORUFTTV9BUkdTfVxuIjsKKwkJCXNoZWxsU2NyaXB0ID0g
IlsgXCIke1dLX1VTRV9ORVdfQlVJTERfU1lTVEVNfVwiID0gXCJZRVNcIiBdICYmIGV4aXQgMFxu
c2V0IC1lXG5cbk9GRkxJTkVBU01fQVJHUz1cIlwiXG5pZiBbWyBcIiR7REVQTE9ZTUVOVF9MT0NB
VElPTn1cIiA9PSBcIllFU1wiIF1dOyB0aGVuXG4gICAgT0ZGTElORUFTTV9BUkdTPVwiJHtPRkZM
SU5FQVNNX0FSR1N9IC0td2Via2l0LWFkZGl0aW9ucy1wYXRoPSR7V0tfV0VCS0lUQURESVRJT05T
X0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmZpXG5cbm1rZGlyIC1wIFwiJHtCVUlMVF9QUk9EVUNU
U19ESVJ9L0xMSW50T2Zmc2V0cy8ke0FSQ0hTfVwiXG5cbi91c3IvYmluL2VudiBydWJ5IFwiJHtT
UkNST09UfS9vZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rvci5yYlwiIFwiLUkk
e0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBcIiR7
U1JDUk9PVH0vbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc21cIiBcIiR7QlVJTFRfUFJPRFVD
VFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU30vTExJbnREZXNpcmVkU2V0dGluZ3MuaFwiIFwi
JHtBUkNIU30gQ19MT09QXCIgJHtPRkZMSU5FQVNNX0FSR1N9XG4iOwogCQl9OwogCQkxQTAyRDlB
ODFCMzRBODgyMDAwRDE1MjIgLyogQWRkIFN5bWxpbmsgaW4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZh
dGVGcmFtZXdvcmtzICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwpA
QCAtMTE5MzYsMTkgKzExOTg5LDE5IEBACiAJCQlzaGVsbFBhdGggPSAvYmluL3pzaDsKIAkJCXNo
ZWxsU2NyaXB0ID0gIlwiJHtTUkNST09UfS9TY3JpcHRzL2NyZWF0ZS1zeW1saW5rLXRvLWFsdHJv
b3Quc2hcIlxuIjsKIAkJfTsKLQkJNjU3ODhBQTAxOEI0MDlFQjAwQzE4OUZGIC8qIE9mZmxpbmUg
QXNzZW1ibGUgKi8gPSB7CisJCTY1Nzg4QUEwMThCNDA5RUIwMEMxODlGRiAvKiAoTGVnYWN5KSBP
ZmZsaW5lIEFzc2VtYmxlICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNl
OwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAogCQkJKTsK
IAkJCWlucHV0UGF0aHMgPSAoCiAJCQkpOwotCQkJbmFtZSA9ICJPZmZsaW5lIEFzc2VtYmxlIjsK
KwkJCW5hbWUgPSAiKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJsZSI7CiAJCQlvdXRwdXRQYXRocyA9
ICgKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
CXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICJpZiBbWyBcIiR7QUNUSU9O
fVwiID09IFwiaW5zdGFsbGhkcnNcIiBdXTsgdGhlblxuICAgIGV4aXQgMFxuZmlcblxuT0ZGTElO
RUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwiWUVT
XCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJTkVBU01fQVJHU30gLS13
ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNfSEVBREVSU19GT0xERVJf
UEFUSH1cIlxuZmlcblxuY2QgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMv
SmF2YVNjcmlwdENvcmVcIlxuXG4vdXNyL2Jpbi9lbnYgcnVieSBKYXZhU2NyaXB0Q29yZS9vZmZs
aW5lYXNtL2FzbS5yYiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0ph
dmFTY3JpcHRDb3JlXCIgSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c20gXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9yXCIgTExJ
bnRBc3NlbWJseS5oIFwiJHtCVUlMRF9WQVJJQU5UU31cIiAke09GRkxJTkVBU01fQVJHU30gfHwg
ZXhpdCAxXG4iOworCQkJc2hlbGxTY3JpcHQgPSAiWyBcIiR7V0tfVVNFX05FV19CVUlMRF9TWVNU
RU19XCIgPSBcIllFU1wiIF0gJiYgZXhpdCAwXG5cbmlmIFtbIFwiJHtBQ1RJT059XCIgPT0gXCJp
bnN0YWxsaGRyc1wiIF1dOyB0aGVuXG4gICAgZXhpdCAwXG5maVxuXG5PRkZMSU5FQVNNX0FSR1M9
XCJcIlxuaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhl
blxuICAgIE9GRkxJTkVBU01fQVJHUz1cIiR7T0ZGTElORUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRp
dGlvbnMtcGF0aD0ke1dLX1dFQktJVEFERElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5m
aVxuXG5jZCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0
Q29yZVwiXG5cbi91c3IvYmluL2VudiBydWJ5IEphdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXNt
LnJiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENv
cmVcIiBKYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbSBcIiR7QlVJ
TFRfUFJPRFVDVFNfRElSfS9KU0NMTEludE9mZnNldHNFeHRyYWN0b3JcIiBMTEludEFzc2VtYmx5
LmggXCIke0JVSUxEX1ZBUklBTlRTfVwiICR7T0ZGTElORUFTTV9BUkdTfSB8fCBleGl0IDFcbiI7
CiAJCX07CiAJCTY1RkIzRjY1MDlEMTFFOTEwMEY0OURFQiAvKiBHZW5lcmF0ZSBEZXJpdmVkIFNv
dXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CkBAIC0xMjA4
MCw2ICsxMjEzMyw3IEBACiAJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxk
QWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKKwkJCQlERDQxRkE4NzI3Q0RB
RDQzMDAzOTREOTUgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20gaW4gU291cmNlcyAqLywKIAkJ
CQkwRkY5MjJENDE0RjQ2QjQxMDA0MUEyNEUgLyogTExJbnRPZmZzZXRzRXh0cmFjdG9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwpAQCAtMTIxMjcsNiArMTIxODEsNyBAQAogCQkJaXNhID0gUEJYU291cmNlc0J1aWxk
UGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJ
CQkJREQ0MUZBODYyN0NEQUQzMjAwMzk0RDk1IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMTRCRDY4OUQyMTUxOTFDMTAwNTBEQUZGIC8qIExMSW50U2V0dGlu
Z3NFeHRyYWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxv
eW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CkBAIC0xMjIyMCw2ICsxMjI3NSw3IEBACiAJCQkJNTM2
QjMxMzQxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2U0MC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MzZCMzEzMTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTQxLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTUzNkIzMTNCMUY3MUM1OTkwMDM3RkMzMyAvKiBVbmlmaWVkU291
cmNlNDIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJREQ0MUZBODkyN0NERERFRjAwMzk0RDk1IC8q
IExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxM0UxRjcx
QzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2U0My5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1
MzZCMzE0QzFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTQ0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTUzNkIzMTUxMUY3MUM1OTkwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlNDUuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC0xMjM5NCw3ICsxMjQ1MCw3IEBACiAJCX07CiAJCTBGRjkyMkQz
MTRGNDZCMkYwMDQxQTI0RSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewogCQkJaXNhID0g
UEJYVGFyZ2V0RGVwZW5kZW5jeTsKLQkJCXRhcmdldCA9IDBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3
MiAvKiBMTEludCBPZmZzZXRzICovOworCQkJdGFyZ2V0ID0gMEY0NjgwQTkxNEJBN0ZEOTAwQkZF
MjcyIC8qIChMZWdhY3kpIExMSW50IE9mZnNldHMgKi87CiAJCQl0YXJnZXRQcm94eSA9IDBGRjky
MkQyMTRGNDZCMkYwMDQxQTI0RSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CiAJCX07CiAJ
CTE0QkQ2ODgyMjE1MTkxMzEwMDUwREFGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewpA
QCAtMTI0MTQsNyArMTI0NzAsNyBAQAogCQl9OwogCQkxNEJENjg5QjIxNTE5MTc0MDA1MERBRkYg
LyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKIAkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVu
Y3k7Ci0JCQl0YXJnZXQgPSAxNEJENjg4RjIxNTE5MTQ1MDA1MERBRkYgLyogTExJbnQgU2V0dGlu
Z3MgKi87CisJCQl0YXJnZXQgPSAxNEJENjg4RjIxNTE5MTQ1MDA1MERBRkYgLyogKExlZ2FjeSkg
TExJbnQgU2V0dGluZ3MgKi87CiAJCQl0YXJnZXRQcm94eSA9IDE0QkQ2ODlBMjE1MTkxNzQwMDUw
REFGRiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CiAJCX07CiAJCTE0Q0ZCMTAwMjMwMzVF
RjMwMEYwMDQ4QyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewpAQCAtMTI1MjcsMTEgKzEy
NTgzLDYgQEAKIAkJCXRhcmdldCA9IDY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQiAvKiBEZXJpdmVk
IFNvdXJjZXMgKi87CiAJCQl0YXJnZXRQcm94eSA9IDY1Nzg4QUFBMThCNDBBM0IwMEMxODlGRiAv
KiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CiAJCX07Ci0JCTY1Nzg4QUFEMThCNDBBN0IwMEMx
ODlGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewotCQkJaXNhID0gUEJYVGFyZ2V0RGVw
ZW5kZW5jeTsKLQkJCXRhcmdldCA9IDY1Nzg4QTlEMThCNDA5RUIwMEMxODlGRiAvKiBPZmZsaW5l
IEFzc2VtYmxlciAqLzsKLQkJCXRhcmdldFByb3h5ID0gNjU3ODhBQUMxOEI0MEE3QjAwQzE4OUZG
IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKLQkJfTsKIAkJNjVGQjNGN0UwOUQxMUVGMzAw
RjQ5REVCIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhUYXJnZXRE
ZXBlbmRlbmN5OwogCQkJdGFyZ2V0ID0gNjVGQjNGNjYwOUQxMUU5MTAwRjQ5REVCIC8qIERlcml2
ZWQgU291cmNlcyAqLzsKQEAgLTEyNTQ3LDYgKzEyNTk4LDExIEBACiAJCQl0YXJnZXQgPSA5MzJG
NUIzRTA4MjJBMUM3MDA3MzY5NzUgLyogSmF2YVNjcmlwdENvcmUgKi87CiAJCQl0YXJnZXRQcm94
eSA9IDkzMkY1QkU2MDgyMkExQzcwMDczNjk3NSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87
CiAJCX07CisJCURENDFGQThCMjdDREUxQzQwMDM5NEQ5NSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5
ICovID0geworCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKKwkJCXRhcmdldCA9IDY1Nzg4
QTlEMThCNDA5RUIwMEMxODlGRiAvKiAoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlciAqLzsKKwkJ
CXRhcmdldFByb3h5ID0gREQ0MUZBOEEyN0NERTFDNDAwMzk0RDk1IC8qIFBCWENvbnRhaW5lckl0
ZW1Qcm94eSAqLzsKKwkJfTsKIAkJRkU1MzNDQUYxRjIxN0VDNjAwMTZBMUZFIC8qIFBCWFRhcmdl
dERlcGVuZGVuY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OwogCQkJdGFy
Z2V0ID0gRkU1MzNDQTExRjIxN0RCMzAwMTZBMUZFIC8qIHRlc3RtYXNtICovOwpAQCAtMTMyNDYs
NyArMTMzMDIsNyBAQAogLyogRW5kIFhDQnVpbGRDb25maWd1cmF0aW9uIHNlY3Rpb24gKi8KIAog
LyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCi0JCTBGNDY4MEFDMTRCQTdG
RDkwMEJGRTI3MiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRh
cmdldCAiTExJbnQgT2Zmc2V0cyIgKi8gPSB7CisJCTBGNDY4MEFDMTRCQTdGRDkwMEJGRTI3MiAv
KiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiKExlZ2Fj
eSkgTExJbnQgT2Zmc2V0cyIgKi8gPSB7CiAJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0Owog
CQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKIAkJCQkwRjQ2ODBBRDE0QkE3RkQ5MDBCRkUyNzIg
LyogRGVidWcgKi8sCkBAIC0xMzM3OCw3ICsxMzQzNCw3IEBACiAJCQlkZWZhdWx0Q29uZmlndXJh
dGlvbklzVmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0
aW9uOwogCQl9OwotCQkxNEJENjg5MzIxNTE5MTQ1MDA1MERBRkYgLyogQnVpbGQgY29uZmlndXJh
dGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIkxMSW50IFNldHRpbmdzIiAqLyA9IHsK
KwkJMTRCRDY4OTMyMTUxOTE0NTAwNTBEQUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBm
b3IgUEJYQWdncmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBMTEludCBTZXR0aW5ncyIgKi8gPSB7CiAJ
CQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgK
IAkJCQkxNEJENjg5NDIxNTE5MTQ1MDA1MERBRkYgLyogRGVidWcgKi8sCkBAIC0xMzQ1NSw3ICsx
MzUxMSw3IEBACiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CiAJCQlkZWZh
dWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOwogCQl9OwotCQk2NTc4OEFBMjE4QjQw
OUVCMDBDMTg5RkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVU
YXJnZXQgIk9mZmxpbmUgQXNzZW1ibGVyIiAqLyA9IHsKKwkJNjU3ODhBQTIxOEI0MDlFQjAwQzE4
OUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICIo
TGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlciIgKi8gPSB7CiAJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRp
b25MaXN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKIAkJCQk2NTc4OEFBMzE4QjQwOUVC
MDBDMTg5RkYgLyogRGVidWcgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS9hc20ucmIgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hc20u
cmIKaW5kZXggYmVkM2FkOTFjOTNmLi4wNDMwZTllNGQ1NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvb2ZmbGluZWFzbS9hc20ucmIKQEAgLTMzLDYgKzMzLDcgQEAgcmVxdWlyZSAnb3B0cGFyc2Un
CiByZXF1aXJlICJwYXJzZXIiCiByZXF1aXJlICJzZWxmX2hhc2giCiByZXF1aXJlICJzZXR0aW5n
cyIKK3JlcXVpcmUgInNoZWxsd29yZHMiCiByZXF1aXJlICJ0cmFuc2Zvcm0iCiAKIGNsYXNzIEFz
c2VtYmxlcgpAQCAtMzQ3LDcgKzM0OCw3IEBAIHZhcmlhbnRzID0gQVJHVi5zaGlmdC5zcGxpdCgv
Wyxcc10rLykKIAogJG9wdGlvbnMgPSB7fQogT3B0aW9uUGFyc2VyLm5ldyBkbyB8b3B0c3wKLSAg
ICBvcHRzLmJhbm5lciA9ICJVc2FnZTogYXNtLnJiIGFzbUZpbGUgb2Zmc2V0c0ZpbGUgb3V0cHV0
RmlsZU5hbWUgWy0tYXNzZW1ibGVyPTxBU00+XSBbLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9PHBh
dGg+XSBbLS1iaW5hcnktZm9ybWF0PTxmb3JtYXQ+XSIKKyAgICBvcHRzLmJhbm5lciA9ICJVc2Fn
ZTogYXNtLnJiIGFzbUZpbGUgb2Zmc2V0c0ZpbGUgb3V0cHV0RmlsZU5hbWUgWy0tYXNzZW1ibGVy
PTxBU00+XSBbLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9PHBhdGg+XSBbLS1iaW5hcnktZm9ybWF0
PTxmb3JtYXQ+XSBbLS1kZXBmaWxlPTxkZXBmaWxlPl0iCiAgICAgIyBUaGlzIG9wdGlvbiBpcyBj
dXJyZW50bHkgb25seSB1c2VkIHRvIHNwZWNpZnkgdGhlIG1hc20gYXNzZW1ibGVyCiAgICAgb3B0
cy5vbigiLS1hc3NlbWJsZXI9W0FTTV0iLCAiU3BlY2lmeSBhbiBhc3NlbWJsZXIgdG8gdXNlLiIp
IGRvIHxhc3NlbWJsZXJ8CiAgICAgICAgICRvcHRpb25zWzphc3NlbWJsZXJdID0gYXNzZW1ibGVy
CkBAIC0zNTgsNiArMzU5LDkgQEAgT3B0aW9uUGFyc2VyLm5ldyBkbyB8b3B0c3wKICAgICBvcHRz
Lm9uKCItLWJpbmFyeS1mb3JtYXQ9Rk9STUFUIiwgIlNwZWNpZnkgdGhlIGJpbmFyeSBmb3JtYXQg
dXNlZCBieSB0aGUgdGFyZ2V0IHN5c3RlbS4iKSBkbyB8Zm9ybWF0fAogICAgICAgICAkb3B0aW9u
c1s6YmluYXJ5X2Zvcm1hdF0gPSBmb3JtYXQKICAgICBlbmQKKyAgICBvcHRzLm9uKCItLWRlcGZp
bGU9REVQRklMRSIsICJQYXRoIHRvIHdyaXRlIE1ha2VmaWxlLXN0eWxlIGRpc2NvdmVyZWQgZGVw
ZW5kZW5jaWVzIHRvLiIpIGRvIHxwYXRofAorICAgICAgICAkb3B0aW9uc1s6ZGVwZmlsZV0gPSBw
YXRoCisgICAgZW5kCiBlbmQucGFyc2UhCiAKIGJlZ2luCkBAIC00MTAsNiArNDE0LDEzIEBAIEZp
bGUub3BlbihvdXRwdXRGbG5tLCAidyIpIHsKICAgICAKICAgICBhc3QgPSBwYXJzZShhc21GaWxl
LCAkb3B0aW9ucykKICAgICBzZXR0aW5nc0NvbWJpbmF0aW9ucyA9IGNvbXB1dGVTZXR0aW5nc0Nv
bWJpbmF0aW9ucyhhc3QpCisgICAgCisgICAgaWYgJG9wdGlvbnNbOmRlcGZpbGVdCisgICAgICAg
IHNvdXJjZXMgPSBhc3QuZmxhdHRlbi5yZWR1Y2UoU2V0Lm5ldykgeyB8ZmlsZXMsIG5vZGV8IGZp
bGVzLmFkZChub2RlLmNvZGVPcmlnaW4uZmlsZU5hbWUpIH0KKyAgICAgICAgZGVwZmlsZSA9IEZp
bGUub3Blbigkb3B0aW9uc1s6ZGVwZmlsZV0sICJ3IikKKyAgICAgICAgZGVwZmlsZS5wcmludChT
aGVsbHdvcmRzLmVzY2FwZShvdXRwdXRGbG5tKSwgIjogIikKKyAgICAgICAgZGVwZmlsZS5wdXRz
KFNoZWxsd29yZHMuam9pbihzb3VyY2VzLnNvcnQpKQorICAgIGVuZAogCiAgICAgY29uZmlndXJh
dGlvbkxpc3QuZWFjaCB7CiAgICAgICAgIHwgY29uZmlndXJhdGlvbiB8CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9y
LnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4
dHJhY3Rvci5yYgppbmRleCAwNWM5MzgxMjJhMzEuLmFiYjlmMTEzZWU0ZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rv
ci5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9nZW5lcmF0ZV9vZmZz
ZXRfZXh0cmFjdG9yLnJiCkBAIC0zMyw2ICszMyw3IEBAIHJlcXVpcmUgJ29wdHBhcnNlJwogcmVx
dWlyZSAicGFyc2VyIgogcmVxdWlyZSAic2VsZl9oYXNoIgogcmVxdWlyZSAic2V0dGluZ3MiCity
ZXF1aXJlICJzaGVsbHdvcmRzIgogcmVxdWlyZSAidHJhbnNmb3JtIgogCiBJbmNsdWRlRmlsZS5w
cm9jZXNzSW5jbHVkZU9wdGlvbnMoKQpAQCAtNDgsMTAgKzQ5LDEzIEBAIHZhcmlhbnRzID0gQVJH
Vi5zaGlmdC5zcGxpdCgvWyxcc10rLykKIAogJG9wdGlvbnMgPSB7fQogT3B0aW9uUGFyc2VyLm5l
dyBkbyB8b3B0c3wKLSAgICBvcHRzLmJhbm5lciA9ICJVc2FnZTogZ2VuZXJhdGVfb2Zmc2V0X2V4
dHJhY3Rvci5yYiBhc21GaWxlIHNldHRpbmdGaWxlIG91dHB1dEZpbGVOYW1lIGJhY2tlbmRzIHZh
cmlhbnRzIFstLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD08cGF0aD5dIgorICAgIG9wdHMuYmFubmVy
ID0gIlVzYWdlOiBnZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9yLnJiIGFzbUZpbGUgc2V0dGluZ0Zp
bGUgb3V0cHV0RmlsZU5hbWUgYmFja2VuZHMgdmFyaWFudHMgWy0td2Via2l0LWFkZGl0aW9ucy1w
YXRoPTxwYXRoPl0gWy0tZGVwZmlsZT08ZGVwZmlsZT5dIgogICAgIG9wdHMub24oIi0td2Via2l0
LWFkZGl0aW9ucy1wYXRoPVBBVEgiLCAiV2ViS2l0QWRkaXRpb25zIHBhdGguIikgZG8gfHBhdGh8
CiAgICAgICAgICRvcHRpb25zWzp3ZWJraXRfYWRkaXRpb25zX3BhdGhdID0gcGF0aAogICAgIGVu
ZAorICAgIG9wdHMub24oIi0tZGVwZmlsZT1ERVBGSUxFIiwgInBhdGggdG8gd3JpdGUgTWFrZWZp
bGUtc3R5bGUgZGlzY292ZXJlZCBkZXBlbmRlbmNpZXMgdG8uIikgZG8gfHBhdGh8CisgICAgICAg
ICRvcHRpb25zWzpkZXBmaWxlXSA9IHBhdGgKKyAgICBlbmQKIGVuZC5wYXJzZSEKIAogYmVnaW4K
QEAgLTgyLDkgKzg2LDE4IEBAIGlmIEZpbGVUZXN0LmV4aXN0PyBvdXRwdXRGbG5tCiAgICAgfQog
ZW5kCiAKKworCiBhc3QgPSBwYXJzZShpbnB1dEZsbm0sICRvcHRpb25zKQogc2V0dGluZ3NDb21i
aW5hdGlvbnMgPSBjb21wdXRlU2V0dGluZ3NDb21iaW5hdGlvbnMoYXN0KQogCitpZiAkb3B0aW9u
c1s6ZGVwZmlsZV0KKyAgICBzb3VyY2VzID0gYXN0LmZsYXR0ZW4ucmVkdWNlKFNldC5uZXcpIHsg
fGZpbGVzLCBub2RlfCBmaWxlcy5hZGQobm9kZS5jb2RlT3JpZ2luLmZpbGVOYW1lKSB9CisgICAg
ZGVwZmlsZSA9IEZpbGUub3Blbigkb3B0aW9uc1s6ZGVwZmlsZV0sICJ3IikKKyAgICBkZXBmaWxl
LnByaW50KFNoZWxsd29yZHMuZXNjYXBlKG91dHB1dEZsbm0pLCAiOiAiKQorICAgIGRlcGZpbGUu
cHV0cyhTaGVsbHdvcmRzLmpvaW4oc291cmNlcy5zb3J0KSkKK2VuZAorCiBGaWxlLm9wZW4ob3V0
cHV0RmxubSwgInciKSB7CiAgICAgfCBvdXRwIHwKICAgICAkb3V0cHV0ID0gb3V0cApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2VuZXJhdGVfc2V0dGluZ3Nf
ZXh0cmFjdG9yLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2VuZXJhdGVf
c2V0dGluZ3NfZXh0cmFjdG9yLnJiCmluZGV4IGE5YTIzMDk1OWNjOC4uMmE1NDk4ZDNiY2FkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9nZW5lcmF0ZV9zZXR0
aW5nc19leHRyYWN0b3IucmIKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20v
Z2VuZXJhdGVfc2V0dGluZ3NfZXh0cmFjdG9yLnJiCkBAIC0zMyw2ICszMyw3IEBAIHJlcXVpcmUg
J29wdHBhcnNlJwogcmVxdWlyZSAicGFyc2VyIgogcmVxdWlyZSAic2VsZl9oYXNoIgogcmVxdWly
ZSAic2V0dGluZ3MiCityZXF1aXJlICJzaGVsbHdvcmRzIgogcmVxdWlyZSAidHJhbnNmb3JtIgog
CiBJbmNsdWRlRmlsZS5wcm9jZXNzSW5jbHVkZU9wdGlvbnMoKQpAQCAtNDUsMTAgKzQ2LDEzIEBA
IGluY2x1ZGVPbmx5QmFja2VuZHModmFsaWRCYWNrZW5kcykKIAogJG9wdGlvbnMgPSB7fQogT3B0
aW9uUGFyc2VyLm5ldyBkbyB8b3B0c3wKLSAgICBvcHRzLmJhbm5lciA9ICJVc2FnZTogZ2VuZXJh
dGVfc2V0dGluZ3NfZXh0cmFjdG9yLnJiIGFzbUZpbGUgc2V0dGluZ0ZpbGUgWy0td2Via2l0LWFk
ZGl0aW9ucy1wYXRoPTxwYXRoPl0iCisgICAgb3B0cy5iYW5uZXIgPSAiVXNhZ2U6IGdlbmVyYXRl
X3NldHRpbmdzX2V4dHJhY3Rvci5yYiBhc21GaWxlIHNldHRpbmdGaWxlIFstLXdlYmtpdC1hZGRp
dGlvbnMtcGF0aD08cGF0aD5dIFstLWRlcGZpbGU9PGRlcGZpbGU+XSIKICAgICBvcHRzLm9uKCIt
LXdlYmtpdC1hZGRpdGlvbnMtcGF0aD1QQVRIIiwgIldlYktpdEFkZGl0aW9ucyBwYXRoLiIpIGRv
IHxwYXRofAogICAgICAgICAkb3B0aW9uc1s6d2Via2l0X2FkZGl0aW9uc19wYXRoXSA9IHBhdGgK
ICAgICBlbmQKKyAgICBvcHRzLm9uKCItLWRlcGZpbGU9REVQRklMRSIsICJwYXRoIHRvIHdyaXRl
IE1ha2VmaWxlLXN0eWxlIGRpc2NvdmVyZWQgZGVwZW5kZW5jaWVzIHRvLiIpIGRvIHxwYXRofAor
ICAgICAgICAkb3B0aW9uc1s6ZGVwZmlsZV0gPSBwYXRoCisgICAgZW5kCiBlbmQucGFyc2UhCiAK
IGlucHV0SGFzaCA9ICIvLyBTZXR0aW5nc0V4dHJhY3RvciBpbnB1dCBoYXNoOiAje3BhcnNlSGFz
aChpbnB1dEZsbm0sICRvcHRpb25zKX0gI3tzZWxmSGFzaH0iCkBAIC02Nyw2ICs3MSwxMyBAQCBl
bmQKIG9yaWdpbmFsQVNUID0gcGFyc2UoaW5wdXRGbG5tLCAkb3B0aW9ucykKIHBydW5lZEFTVCA9
IFNlcXVlbmNlLm5ldyhvcmlnaW5hbEFTVC5jb2RlT3JpZ2luLCBvcmlnaW5hbEFTVC5maWx0ZXIo
U2V0dGluZykpCiAKK2lmICRvcHRpb25zWzpkZXBmaWxlXQorICAgIHNvdXJjZXMgPSBwcnVuZWRB
U1QuZmxhdHRlbi5yZWR1Y2UoU2V0Lm5ldykgeyB8ZmlsZXMsIG5vZGV8IGZpbGVzLmFkZChub2Rl
LmNvZGVPcmlnaW4uZmlsZU5hbWUpIH0KKyAgICBkZXBmaWxlID0gRmlsZS5vcGVuKCRvcHRpb25z
WzpkZXBmaWxlXSwgInciKQorICAgIGRlcGZpbGUucHJpbnQoU2hlbGx3b3Jkcy5lc2NhcGUob3V0
cHV0RmxubSksICI6ICIpCisgICAgZGVwZmlsZS5wdXRzKFNoZWxsd29yZHMuam9pbihzb3VyY2Vz
LnNvcnQpKQorZW5kCisKIEZpbGUub3BlbihvdXRwdXRGbG5tLCAidyIpIHsKICAgICB8IG91dHAg
fAogICAgICRvdXRwdXQgPSBvdXRwCg==
</data>
<flag name="commit-queue"
          id="480899"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453524</attachid>
            <date>2022-03-01 12:39:31 -0800</date>
            <delta_ts>2022-03-01 16:53:57 -0800</delta_ts>
            <desc>Integrate offlineasm using build rules and emit a depfile r2</desc>
            <filename>jsc-generated-sources-outputs.patch</filename>
            <type>text/plain</type>
            <size>30874</size>
            <attacher name="Elliott Williams">emw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDk4MzZiNWE1YmJhMS4uNzM3NjBjYmQ1OTE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAyMi0wMy0wMSAgRWxs
aW90dCBXaWxsaWFtcyAgPGVtd0BhcHBsZS5jb20+CisKKyAgICAgICAgW1hDQnVpbGRdIEVtaXQg
YSBkaXNjb3ZlcmVkIGRlcGVuZGVuY3kgZmlsZSBmcm9tIG9mZmxpbmVhc20KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzMyOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFhjb2RlIG5lZWRzIHRvIGtub3cg
d2hhdCBmaWxlcyBvZmZsaW5lYXNtIHVzZXMgYW5kIHByb2R1Y2VzIGluIG9yZGVyIHRvIHNjaGVk
dWxlIGl0CisgICAgICAgIGNvcnJlY3RseSBpbiBpbmNyZW1lbnRhbCBidWlsZHMuIFJhdGhlciB0
aGFuIHVzZSBnZW5lcmF0ZWQgeGNmaWxlbGlzdHMgbGlrZSBXZWJLaXQgZG9lcworICAgICAgICBl
bHNld2hlcmUgaW4gdGhlIHByb2plY3QsIGVtaXQgYSBkZXBmaWxlIGZyb20gb2ZmbGluZWFzbSBi
YXNlZCBvbiB0aGUgcGFyc2UgdHJlZSdzIHNvdXJjZQorICAgICAgICBmaWxlcy4KKworICAgICAg
ICBEaXNjb3ZlcmVkIGRlcGVuZGVuY3kgZmlsZXMgKCJkZXBmaWxlcyIpIGFyZSBNYWtlZmlsZS1m
b3JtYXR0ZWQgZmlsZXMgd2hpY2ggbGlzdCB0aGUgaW5wdXRzCisgICAgICAgIHVzZWQgdG8gcHJv
ZHVjZSBhbiBvdXRwdXQuIFRoZXkgYXJlIGVtaXR0aW5nIGR1cmluZyB0aGUgYnVpbGQgdG8gYSB0
ZW1wb3JhcnkgZGlyZWN0b3J5LCBhbmQKKyAgICAgICAgZW5zdXJlIHRoYXQgc3Vic2VxdWVudCBp
bmNyZW1lbnRhbCBidWlsZHMgd2lsbCByZS1ydW4gb2ZmbGluZWFzbSB3aGVuIGFueSBvZiB0aGUg
aW5jbHVkZWQKKyAgICAgICAgc291cmNlcyBjaGFuZ2UuIFRoaXMgaXMgdGhlIHNhbWUgbWVjaGFu
aXNtIGNsYW5nIHVzZXMgdG8gdHJhY2sgaGVhZGVyIGRlcGVuZGVuY2llcy4KKworICAgICAgICBV
bmZvcnR1bmF0ZWx5LCB0aGUgbGVnYWN5IGJ1aWxkIHN5c3RlbSB3aWxsIHJlZnVzZSB0byBleGVj
dXRlIGEgc2NyaXB0IHBoYXNlIG9yIHJ1bGUgdGhhdAorICAgICAgICBlbWl0cyBhIGRlcGZpbGUu
IFRvIHdvcmsgYXJvdW5kIHRoaXMsIGNvbnZlcnQgdGhlIG9mZmxpbmVhc20gcGlwZWxpbmUgdG8g
YmUgYmFzZWQgb24gYnVpbGQKKyAgICAgICAgcnVsZXMsIHRvIGJlIHVzZWQgYnkgWENCdWlsZCBv
bmx5LiBUaGUgaWRlYSBpcyB0aGF0IExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGlzIGxpc3RlZCBh
cyBhCisgICAgICAgIHNvdXJjZSBidWlsZCBmaWxlIGluIEpTQ0xMSW50U2V0dGluZ3NFeHRyYWN0
b3IsIEpTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvciwgYW5kCisgICAgICAgIEphdmFTY3JpcHRDb3Jl
LiBFYWNoIHRhcmdldCB1c2VzIGEgYnVpbGQgcnVsZSB0byBnZW5lcmF0ZSBpdHMgcmVzcGVjdGl2
ZSBoZWFkZXIgZnJvbQorICAgICAgICBMb3dMZXZlbEludGVycHJldGVyLmFzbS4gWGNvZGUgc2No
ZWR1bGVzIHRoZXNlIHJ1bGUgZXhlY3V0aW9ucyBiZWZvcmUgYW55IGNsYW5nIHRhc2tzLgorCisg
ICAgICAgIFRoZSBsZWdhY3kgYnVpbGQgc3lzdGVtIGF2b2lkcyBleGVjdXRpbmcgdGhlIHJ1bGVz
IHZpYSBFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FUywgYW5kCisgICAgICAgIGluc3RlYWQgdXNl
cyB0aGUgZXhpc3RpbmcgYnVpbGQgcGhhc2VzLCB3aGljaCBoYXZlICIoTGVnYWN5KSIgaW4gdGhl
aXIgbmFtZXMgYW5kIGFyZSBub3cKKyAgICAgICAgbm8tb3BzIHVuZGVyIFhDQnVpbGQuCisKKyAg
ICAgICAgQXNpZGUgZnJvbSB3b3JraW5nIGFyb3VuZCB0aGUgbGVnYWN5IGJ1aWxkIHN5c3RlbSdz
IGxpbWl0YXRpb25zLCB1c2luZyBidWlsZCBydWxlcyBpcworICAgICAgICBwcm9iYWJseSBhIHN1
cGVyaW9yIHdheSB0byBleHByZXNzIHdoYXQgd2UncmUgZG9pbmcsIGFzIGl0IGdpdmVzIFhjb2Rl
IHRoZSBvcHBvcnR1bml0eSB0bworICAgICAgICBjb21waWxlIG90aGVyIG9iamVjdHMgaW4gcGFy
YWxsZWwsIGFuZCBjb3VsZCBiZSBlYXNpbHkgZXh0ZW5kZWQgdG8gY29tcGlsZSBtdWx0aXBsZSBk
aXNjcmV0ZQorICAgICAgICBhc20gZmlsZXMgc2hvdWxkIHRoZSBuZWVkIGFyaXNlLgorCisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvVG9vbEV4ZWN1dGFibGUueGNjb25maWc6IEJ1aWxkIHJ1bGVz
IGFyZSBYQ0J1aWxkLW9ubHkuCisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajogQWRkIGJ1aWxkIHJ1bGVzLCByZW5hbWUgbGVnYWN5IHNjcmlwdHMuCisg
ICAgICAgICogb2ZmbGluZWFzbS9hc20ucmI6IEFkZCAtLWRlcGZpbGUgZmxhZy4KKyAgICAgICAg
KiBvZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmI6IEFkZCAtLWRlcGZpbGUg
ZmxhZy4KKyAgICAgICAgKiBvZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rvci5y
YjogQWRkIC0tZGVwZmlsZSBmbGFnLgorCiAyMDIyLTAyLTI0ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBPbmx5IGNsZWFyIElDVSBjYWNoZSB3aGVu
IHRpbWUgem9uZSBpcyBjaGFuZ2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcKaW5kZXggNjEyYWUw
NmM3MWQ5Li4wNDY4ZTBlN2NkY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9KYXZhU2NyaXB0Q29yZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcKQEAgLTYxLDQg
KzYxLDcgQEAgT1VUUFVUX0FMVEVSTkFURV9ST09UX1BBVEhfWUVTID0gJChEU1RST09UKSQoQUxU
RVJOQVRFX1JPT1RfUEFUSCkvJChGVUxMX1BST0RVQ1QKIElOU1RBTExIRFJTX1NDUklQVF9QSEFT
RSA9IFlFUzsKIEFQUExZX1JVTEVTX0lOX0NPUFlfSEVBREVSUyA9ICQoV0tfVVNFX05FV19CVUlM
RF9TWVNURU0pOwogCitFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FUyA9ICQoaW5oZXJpdGVkKSAk
KEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTXyQoV0tfV0hJQ0hfQlVJTERfU1lTVEVNKSk7CiBF
WENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU1tzZGs9aXBob25lKl0gPSAkKGluaGVyaXRlZCkgZnJh
bWV3b3JrLnNiOworLy8gT2Zmc2V0IGFuZCBzZXR0aW5ncyBoZWFkZXJzIGFyZSBidWlsdCBieSBz
ZXBhcmF0ZSB0YXJnZXRzIGFuZCBzY3JpcHQgcGhhc2VzIGluIHRoZSBsZWdhY3kgYnVpbGQgc3lz
dGVtLCBub3QgdXNpbmcgYnVpbGQgcnVsZXMuCitFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU19s
ZWdhY3kgPSAqLmFzbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZwppbmRleCBlY2M3NzAxYjM5Zjku
LjI5ZGMzMDNjZjlkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3Vy
YXRpb25zL1Rvb2xFeGVjdXRhYmxlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9Db25maWd1cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZwpAQCAtNTQsNiArNTQsMTIg
QEAgQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwogT1RIRVJfQ0ZMQUdTID0gJChpbmhlcml0
ZWQpIC1pc3lzdGVtIGljdTsKIAogLy8gRXhwbGljaXRseSBhZGQgdGhlIFByaXZhdGVIZWFkZXJz
IGRpcmVjdG9yeSB0byB0aGUgc2VhcmNoIHBhdGggc28gdGhhdCBnZW5lcmF0ZWQgaGVhZGVyIGZp
bGVzIGNhbiBiZSBmb3VuZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcy4KLUhFQURFUl9TRUFSQ0hfUEFU
SFMgPSAiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3Jl
IiAiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy8ke0FSQ0hTfSIgIiQoSkFWQVND
UklQVENPUkVfRlJBTUVXT1JLU19ESVIpL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9Qcml2YXRl
SGVhZGVycyIgJChpbmhlcml0ZWQpOworSEVBREVSX1NFQVJDSF9QQVRIUyA9ICIke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUiICQoSEVBREVSX1NFQVJD
SF9QQVRIU18kKFdLX1dISUNIX0JVSUxEX1NZU1RFTSkpICIkKEpBVkFTQ1JJUFRDT1JFX0ZSQU1F
V09SS1NfRElSKS9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvUHJpdmF0ZUhlYWRlcnMiICQoaW5o
ZXJpdGVkKTsKKy8vIFhDQnVpbGQgZ2VuZXJhdGVzIExMSW50T2Zmc2V0cyBpbiBUQVJHRVRfVEVN
UF9ESVIsIHdoaWNoIGRvZXMgbm90IG5lZWQgdG8gYmUgbWFudWFsbHkgc3BlY2lmZWQuCitIRUFE
RVJfU0VBUkNIX1BBVEhTX2xlZ2FjeSA9ICIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZz
ZXRzLyR7QVJDSFN9IjsKKworRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVMgPSAkKEVYQ0xVREVE
X1NPVVJDRV9GSUxFX05BTUVTXyQoV0tfV0hJQ0hfQlVJTERfU1lTVEVNKSk7CisvLyBPZmZzZXQg
YW5kIHNldHRpbmdzIGhlYWRlcnMgYXJlIGJ1aWx0IGJ5IHNlcGFyYXRlIHRhcmdldHMgYW5kIHNj
cmlwdCBwaGFzZXMgaW4gdGhlIGxlZ2FjeSBidWlsZCBzeXN0ZW0sIG5vdCB1c2luZyBidWlsZCBy
dWxlcy4KK0VYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTX2xlZ2FjeSA9ICouYXNtOwogCiBPVEhF
Ul9MREZMQUdTID0gJChpbmhlcml0ZWQpICQoU09VUkNFX1ZFUlNJT05fTERGTEFHUyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUxOTQzODc5ZTgyNS4uNGJlNGM3MzBhZWRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMywzMiArMywzMiBAQAogCWFyY2hpdmVW
ZXJzaW9uID0gMTsKIAljbGFzc2VzID0gewogCX07Ci0Jb2JqZWN0VmVyc2lvbiA9IDUxOworCW9i
amVjdFZlcnNpb24gPSA1MjsKIAlvYmplY3RzID0gewogCiAvKiBCZWdpbiBQQlhBZ2dyZWdhdGVU
YXJnZXQgc2VjdGlvbiAqLwotCQkwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zm
c2V0cyAqLyA9IHsKKwkJMEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8qIChMZWdhY3kpIExMSW50
IE9mZnNldHMgKi8gPSB7CiAJCQlpc2EgPSBQQlhBZ2dyZWdhdGVUYXJnZXQ7Ci0JCQlidWlsZENv
bmZpZ3VyYXRpb25MaXN0ID0gMEY0NjgwQUMxNEJBN0ZEOTAwQkZFMjcyIC8qIEJ1aWxkIGNvbmZp
Z3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJMTEludCBPZmZzZXRzIiAqLzsK
KwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAwRjQ2ODBBQzE0QkE3RkQ5MDBCRkUyNzIgLyog
QnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIihMZWdhY3kp
IExMSW50IE9mZnNldHMiICovOwogCQkJYnVpbGRQaGFzZXMgPSAoCi0JCQkJMEY0NjgwQUExNEJB
N0ZEOTAwQkZFMjcyIC8qIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyAqLywKKwkJCQkwRjQ2ODBB
QTE0QkE3RkQ5MDBCRkUyNzIgLyogKExlZ2FjeSkgR2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzICov
LAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKIAkJCQkxNEJENjg5OTIxNTE5MTZEMDA1MERB
RkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7Ci0JCQluYW1lID0gIkxMSW50IE9m
ZnNldHMiOworCQkJbmFtZSA9ICIoTGVnYWN5KSBMTEludCBPZmZzZXRzIjsKIAkJCXByb2R1Y3RO
YW1lID0gIkRlcml2ZWQgU291cmNlcyI7CiAJCX07Ci0JCTE0QkQ2ODhGMjE1MTkxNDUwMDUwREFG
RiAvKiBMTEludCBTZXR0aW5ncyAqLyA9IHsKKwkJMTRCRDY4OEYyMTUxOTE0NTAwNTBEQUZGIC8q
IChMZWdhY3kpIExMSW50IFNldHRpbmdzICovID0gewogCQkJaXNhID0gUEJYQWdncmVnYXRlVGFy
Z2V0OwotCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0QkQ2ODkzMjE1MTkxNDUwMDUwREFG
RiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiTExJ
bnQgU2V0dGluZ3MiICovOworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0QkQ2ODkzMjE1
MTkxNDUwMDUwREFGRiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0
ZVRhcmdldCAiKExlZ2FjeSkgTExJbnQgU2V0dGluZ3MiICovOwogCQkJYnVpbGRQaGFzZXMgPSAo
Ci0JCQkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8qIEdlbmVyYXRlIERlcml2ZWQgU291cmNl
cyAqLywKKwkJCQkxNEJENjg5MjIxNTE5MTQ1MDA1MERBRkYgLyogKExlZ2FjeSkgR2VuZXJhdGUg
RGVyaXZlZCBTb3VyY2VzICovLAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKIAkJCQkxNEJE
Njg5MDIxNTE5MTQ1MDA1MERBRkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7Ci0J
CQluYW1lID0gIkxMSW50IFNldHRpbmdzIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgTExJbnQgU2V0
dGluZ3MiOwogCQkJcHJvZHVjdE5hbWUgPSAiRGVyaXZlZCBTb3VyY2VzIjsKIAkJfTsKIAkJNTMy
NUJEQkYyMURGRjJCMTAwQTBERUUxIC8qIEFwcGx5IENvbmZpZ3VyYXRpb24gdG8gWENGaWxlTGlz
dHMgKi8gPSB7CkBAIC03MywxOCArNzMsMTggQEAKIAkJCW5hbWUgPSAiVGVzdCBUb29scyI7CiAJ
CQlwcm9kdWN0TmFtZSA9ICJUZXN0IFRvb2xzIjsKIAkJfTsKLQkJNjU3ODhBOUQxOEI0MDlFQjAw
QzE4OUZGIC8qIE9mZmxpbmUgQXNzZW1ibGVyICovID0geworCQk2NTc4OEE5RDE4QjQwOUVCMDBD
MTg5RkYgLyogKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJsZXIgKi8gPSB7CiAJCQlpc2EgPSBQQlhB
Z2dyZWdhdGVUYXJnZXQ7Ci0JCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNjU3ODhBQTIxOEI0
MDlFQjAwQzE4OUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRl
VGFyZ2V0ICJPZmZsaW5lIEFzc2VtYmxlciIgKi87CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0
ID0gNjU3ODhBQTIxOEI0MDlFQjAwQzE4OUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBm
b3IgUEJYQWdncmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlciIgKi87CiAJ
CQlidWlsZFBoYXNlcyA9ICgKIAkJCQlEREU5OTMwQzI3OEQwODNEMDBGNjBEMjYgLyogUHJvZHVj
dCBEZXBlbmRlbmNpZXMgKi8sCi0JCQkJNjU3ODhBQTAxOEI0MDlFQjAwQzE4OUZGIC8qIE9mZmxp
bmUgQXNzZW1ibGUgKi8sCisJCQkJNjU3ODhBQTAxOEI0MDlFQjAwQzE4OUZGIC8qIChMZWdhY3kp
IE9mZmxpbmUgQXNzZW1ibGUgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAogCQkJCTY1
MjQ0QkQzMThFQ0I1MDAwMDEwQjcwOCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTY1
Nzg4QTlFMThCNDA5RUIwMEMxODlGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJKTsK
LQkJCW5hbWUgPSAiT2ZmbGluZSBBc3NlbWJsZXIiOworCQkJbmFtZSA9ICIoTGVnYWN5KSBPZmZs
aW5lIEFzc2VtYmxlciI7CiAJCQlwcm9kdWN0TmFtZSA9ICJPZmZsaW5lIEFzc2VtYmxlciI7CiAJ
CX07CiAJCTY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQiAvKiBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7
CkBAIC0xODI4LDYgKzE4MjgsOSBAQAogCQlEQ0YzRDU2RDFDRDI5NDc2MDAzRDVDNjUgLyogTGF6
eVByb3BlcnR5SW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRENGM0Q1NjgxQ0QyOTQ2ODAwM0Q1QzY1IC8qIExhenlQcm9wZXJ0eUlubGluZXMu
aCAqLzsgfTsKIAkJRENGREZCRDkxRDFGNUQ5QjAwRkUzRDcyIC8qIEIzQm90dG9tUHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERDRkRGQkQ3
MUQxRjVEOTgwMEZFM0Q3MiAvKiBCM0JvdHRvbVByb3ZpZGVyLmggKi87IH07CiAJCURDRkRGQkRB
MUQxRjVEOUUwMEZFM0Q3MiAvKiBCM1R5cGVNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERDRkRGQkQ4MUQxRjVEOTgwMEZFM0Q3MiAvKiBCM1R5cGVN
YXAuaCAqLzsgfTsKKwkJREQ0MUZBODYyN0NEQUQzMjAwMzk0RDk1IC8qIExvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODZBMDU0NDYxNTU2NDUxQjAwNDQ1MTU3IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtICovOyB9
OworCQlERDQxRkE4NzI3Q0RBRDQzMDAzOTREOTUgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkEwNTQ0NjE1
NTY0NTFCMDA0NDUxNTcgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20gKi87IH07CisJCURENDFG
QTg5MjdDRERERUYwMDM5NEQ5NSAvKiBMb3dMZXZlbEludGVycHJldGVyLmFzbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QTA1NDQ2MTU1NjQ1MUIwMDQ0
NTE1NyAvKiBMb3dMZXZlbEludGVycHJldGVyLmFzbSAqLzsgfTsKIAkJRERCMDRGNDEyNzhFNTY5
QTAwOEQzNjc4IC8qIGxpYldURi5hIGluIFByb2R1Y3QgRGVwZW5kZW5jaWVzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0OThDQUQzMjE0NjU2QzQwMDcxMDg3OSAvKiBsaWJX
VEYuYSAqLzsgfTsKIAkJRERCMDRGNDIyNzhFNTZBMjAwOEQzNjc4IC8qIGxpYldURi5hIGluIEZy
YW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ5OENBRDMyMTQ2
NTZDNDAwNzEwODc5IC8qIGxpYldURi5hICovOyB9OwogCQlEREU5OTMxMDI3OEQwODdEMDBGNjBE
MjYgLyogbGliV2ViS2l0QWRkaXRpb25zLmEgaW4gUHJvZHVjdCBEZXBlbmRlbmNpZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRERFOTkzMEUyNzhEMDg2NjAwRjYwRDI2IC8q
IGxpYldlYktpdEFkZGl0aW9ucy5hICovOyB9OwpAQCAtMjE1Nyw2ICsyMTYwLDUzIEBACiAJCQkp
OwogCQkJc2NyaXB0ID0gImV4ZWMgXCIke1NSQ1JPT1R9L1NjcmlwdHMvcG9zdHByb2Nlc3MtaGVh
ZGVyLXJ1bGVcIlxuIjsKIAkJfTsKKwkJREQ0MUZBN0QyN0NEQTZGRTAwMzk0RDk1IC8qIFBCWEJ1
aWxkUnVsZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEJ1aWxkUnVsZTsKKwkJCWNvbXBpbGVyU3BlYyA9
IGNvbS5hcHBsZS5jb21waWxlcnMucHJveHkuc2NyaXB0OworCQkJZGVwZW5kZW5jeUZpbGUgPSAi
JChERVJJVkVEX0ZJTEVTX0RJUikvJChBUkNIUykvJChJTlBVVF9GSUxFX0JBU0UpLmQiOworCQkJ
ZmlsZVBhdHRlcm5zID0gIiouYXNtIjsKKwkJCWZpbGVUeXBlID0gcGF0dGVybi5wcm94eTsKKwkJ
CWlucHV0RmlsZXMgPSAoCisJCQkJIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9KU0NMTEludE9mZnNl
dHNFeHRyYWN0b3IiLAorCQkJCSIkKFNSQ1JPT1QpL29mZmxpbmVhc20iLAorCQkJKTsKKwkJCWlz
RWRpdGFibGUgPSAxOworCQkJb3V0cHV0RmlsZXMgPSAoCisJCQkJIiQoREVSSVZFRF9GSUxFU19E
SVIpLyQoQVJDSFMpL0xMSW50QXNzZW1ibHkuaCIsCisJCQkpOworCQkJc2NyaXB0ID0gIk9GRkxJ
TkVBU01fQVJHUz1cIlwiXG5pZiBbWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIllF
U1wiIF1dOyB0aGVuXG4gICAgT0ZGTElORUFTTV9BUkdTPVwiJHtPRkZMSU5FQVNNX0FSR1N9IC0t
d2Via2l0LWFkZGl0aW9ucy1wYXRoPSR7V0tfV0VCS0lUQURESVRJT05TX0hFQURFUlNfRk9MREVS
X1BBVEh9XCJcbmZpXG5cbmNkIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2Vz
L0phdmFTY3JpcHRDb3JlXCJcblxuL3Vzci9iaW4vZW52IHJ1YnkgSmF2YVNjcmlwdENvcmUvb2Zm
bGluZWFzbS9hc20ucmIgXCItSSR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9K
YXZhU2NyaXB0Q29yZVwiIFwiJHtJTlBVVF9GSUxFX1BBVEh9XCIgXCIke1NDUklQVF9JTlBVVF9G
SUxFXzB9XCIgXCIke1NDUklQVF9PVVRQVVRfRklMRV8wfVwiIFwiJHtCVUlMRF9WQVJJQU5UU31c
IiAke09GRkxJTkVBU01fQVJHU30gLS1kZXBmaWxlPVwiJHtERVJJVkVEX0ZJTEVTX0RJUn0vJHtB
UkNIU30vJHtJTlBVVF9GSUxFX0JBU0V9LmRcIlxuIjsKKwkJfTsKKwkJREQ0MUZBN0UyN0NEQTg5
RDAwMzk0RDk1IC8qIFBCWEJ1aWxkUnVsZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEJ1aWxkUnVsZTsK
KwkJCWNvbXBpbGVyU3BlYyA9IGNvbS5hcHBsZS5jb21waWxlcnMucHJveHkuc2NyaXB0OworCQkJ
ZGVwZW5kZW5jeUZpbGUgPSAiJChERVJJVkVEX0ZJTEVTX0RJUikvJChBUkNIUykvJChJTlBVVF9G
SUxFX0JBU0UpLmQiOworCQkJZmlsZVBhdHRlcm5zID0gIiouYXNtIjsKKwkJCWZpbGVUeXBlID0g
cGF0dGVybi5wcm94eTsKKwkJCWlucHV0RmlsZXMgPSAoCisJCQkJIiQoQlVJTFRfUFJPRFVDVFNf
RElSKS9KU0NMTEludFNldHRpbmdzRXh0cmFjdG9yIiwKKwkJCQkiJChTUkNST09UKS9vZmZsaW5l
YXNtIiwKKwkJCSk7CisJCQlpc0VkaXRhYmxlID0gMTsKKwkJCW91dHB1dEZpbGVzID0gKAorCQkJ
CSIkKERFUklWRURfRklMRVNfRElSKS8kKEFSQ0hTKS9MTEludERlc2lyZWRPZmZzZXRzLmgiLAor
CQkJKTsKKwkJCXNjcmlwdCA9ICJzZXQgLWVcblxuT0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtb
IFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZM
SU5FQVNNX0FSR1M9XCIke09GRkxJTkVBU01fQVJHU30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9
JHtXS19XRUJLSVRBRERJVElPTlNfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmlcblxuL3Vzci9i
aW4vZW52IHJ1YnkgXCIke1NSQ1JPT1R9L29mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJh
Y3Rvci5yYlwiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNj
cmlwdENvcmVcIiBcIiR7SU5QVVRfRklMRV9QQVRIfVwiICBcIiR7QlVJTFRfUFJPRFVDVFNfRElS
fS9KU0NMTEludFNldHRpbmdzRXh0cmFjdG9yXCIgXCIke1NDUklQVF9PVVRQVVRfRklMRV8wfVwi
IFwiJHtBUkNIU30gQ19MT09QXCIgXCIke0JVSUxEX1ZBUklBTlRTfVwiICR7T0ZGTElORUFTTV9B
UkdTfSAtLWRlcGZpbGU9XCIke0RFUklWRURfRklMRVNfRElSfS8ke0FSQ0hTfS8ke0lOUFVUX0ZJ
TEVfQkFTRX0uZFwiXG5cbiI7CisJCX07CisJCURENDFGQTgxMjdDREFBNTQwMDM5NEQ5NSAvKiBQ
QlhCdWlsZFJ1bGUgKi8gPSB7CisJCQlpc2EgPSBQQlhCdWlsZFJ1bGU7CisJCQljb21waWxlclNw
ZWMgPSBjb20uYXBwbGUuY29tcGlsZXJzLnByb3h5LnNjcmlwdDsKKwkJCWRlcGVuZGVuY3lGaWxl
ID0gIiQoREVSSVZFRF9GSUxFU19ESVIpLyQoQVJDSFMpLyQoSU5QVVRfRklMRV9CQVNFKS5kIjsK
KwkJCWZpbGVQYXR0ZXJucyA9ICIqLmFzbSI7CisJCQlmaWxlVHlwZSA9IHBhdHRlcm4ucHJveHk7
CisJCQlpbnB1dEZpbGVzID0gKAorCQkJCSIkKFNSQ1JPT1QpL29mZmxpbmVhc20iLAorCQkJKTsK
KwkJCWlzRWRpdGFibGUgPSAxOworCQkJb3V0cHV0RmlsZXMgPSAoCisJCQkJIiQoREVSSVZFRF9G
SUxFU19ESVIpLyQoQVJDSFMpL0xMSW50RGVzaXJlZFNldHRpbmdzLmgiLAorCQkJKTsKKwkJCXNj
cmlwdCA9ICJzZXQgLWVcblxuT0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lN
RU5UX0xPQ0FUSU9OfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9
XCIke09GRkxJTkVBU01fQVJHU30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRB
RERJVElPTlNfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmlcblxuL3Vzci9iaW4vZW52IHJ1Ynkg
XCIke1NSQ1JPT1R9L29mZmxpbmVhc20vZ2VuZXJhdGVfc2V0dGluZ3NfZXh0cmFjdG9yLnJiXCIg
XCItSSR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwi
IFwiJHtJTlBVVF9GSUxFX1BBVEh9XCIgXCIke1NDUklQVF9PVVRQVVRfRklMRV8wfVwiIFwiJHtB
UkNIU30gQ19MT09QXCIgJHtPRkZMSU5FQVNNX0FSR1N9IC0tZGVwZmlsZT1cIiR7REVSSVZFRF9G
SUxFU19ESVJ9LyR7QVJDSFN9LyR7SU5QVVRfRklMRV9CQVNFfS5kXCJcbiI7CisJCX07CiAvKiBF
bmQgUEJYQnVpbGRSdWxlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYQ29udGFpbmVySXRlbVBy
b3h5IHNlY3Rpb24gKi8KQEAgLTIzNzAsMTMgKzI0MjAsNiBAQAogCQkJcmVtb3RlR2xvYmFsSURT
dHJpbmcgPSA2NUZCM0Y2NjA5RDExRTkxMDBGNDlERUI7CiAJCQlyZW1vdGVJbmZvID0gIkRlcml2
ZWQgU291cmNlcyI7CiAJCX07Ci0JCTY1Nzg4QUFDMThCNDBBN0IwMEMxODlGRiAvKiBQQlhDb250
YWluZXJJdGVtUHJveHkgKi8gPSB7Ci0JCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7Ci0J
CQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBv
YmplY3QgKi87Ci0JCQlwcm94eVR5cGUgPSAxOwotCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSA2
NTc4OEE5RDE4QjQwOUVCMDBDMTg5RkY7Ci0JCQlyZW1vdGVJbmZvID0gIk9mZmxpbmUgQXNzZW1i
bGVyIjsKLQkJfTsKIAkJNjVGQjNGN0QwOUQxMUVGMzAwRjQ5REVCIC8qIFBCWENvbnRhaW5lckl0
ZW1Qcm94eSAqLyA9IHsKIAkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKIAkJCWNvbnRh
aW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAq
LzsKQEAgLTIzOTgsNiArMjQ0MSwxMyBAQAogCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSA5MzJG
NUIzRTA4MjJBMUM3MDA3MzY5NzU7CiAJCQlyZW1vdGVJbmZvID0gIkphdmFTY3JpcHRDb3JlIChV
cGdyYWRlZCkiOwogCQl9OworCQlERDQxRkE4QTI3Q0RFMUM0MDAzOTREOTUgLyogUEJYQ29udGFp
bmVySXRlbVByb3h5ICovID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJ
Y29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2Jq
ZWN0ICovOworCQkJcHJveHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gNjU3
ODhBOUQxOEI0MDlFQjAwQzE4OUZGOworCQkJcmVtb3RlSW5mbyA9ICIoTGVnYWN5KSBPZmZsaW5l
IEFzc2VtYmxlciI7CisJCX07CiAJCUZFNTMzQ0FFMUYyMTdFQzYwMDE2QTFGRSAvKiBQQlhDb250
YWluZXJJdGVtUHJveHkgKi8gPSB7CiAJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CiAJ
CQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBv
YmplY3QgKi87CkBAIC0xMTQxMyw2ICsxMTQ2Myw3IEBACiAJCQkJMEZGOTIyQzYxNEY0NkIxMzAw
NDFBMjRFIC8qIEZyYW1ld29ya3MgKi8sCiAJCQkpOwogCQkJYnVpbGRSdWxlcyA9ICgKKwkJCQlE
RDQxRkE3RTI3Q0RBODlEMDAzOTREOTUgLyogUEJYQnVpbGRSdWxlICovLAogCQkJKTsKIAkJCWRl
cGVuZGVuY2llcyA9ICgKIAkJCQkxNENGQjEwOTIzMDM1RjEzMDBGMDA0OEMgLyogUEJYVGFyZ2V0
RGVwZW5kZW5jeSAqLywKQEAgLTExNDcxLDYgKzExNTIyLDcgQEAKIAkJCQkxNEJENjg4ODIxNTE5
MTMxMDA1MERBRkYgLyogRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlidWlsZFJ1bGVzID0gKAor
CQkJCURENDFGQTgxMjdDREFBNTQwMDM5NEQ5NSAvKiBQQlhCdWlsZFJ1bGUgKi8sCiAJCQkpOwog
CQkJZGVwZW5kZW5jaWVzID0gKAogCQkJCTE0Q0ZCMTA3MjMwMzVGMEYwMEYwMDQ4QyAvKiBQQlhU
YXJnZXREZXBlbmRlbmN5ICovLApAQCAtMTE1NTQsMTAgKzExNjA2LDExIEBACiAJCQkJNjU3N0ZG
QzYyNzZBQzhEMjAwMTFBRUM4IC8qIENyZWF0ZSBTeW1saW5rIHRvIEFsdCBSb290IFBhdGggKi8s
CiAJCQkpOwogCQkJYnVpbGRSdWxlcyA9ICgKKwkJCQlERDQxRkE3RDI3Q0RBNkZFMDAzOTREOTUg
LyogUEJYQnVpbGRSdWxlICovLAogCQkJCTUzNUUwOEMyMjI1NDVBQzgwMERGMDBDQSAvKiBQQlhC
dWlsZFJ1bGUgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAotCQkJCTY1Nzg4QUFEMThC
NDBBN0IwMEMxODlGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAorCQkJCURENDFGQThCMjdD
REUxQzQwMDM5NEQ5NSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTY1RkIzRjdFMDlE
MTFFRjMwMEY0OURFQiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTUzQjRCRDE0MUY2
OEMyQUEwMEQyQkVBMyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJKTsKQEAgLTExNjM2
LDExICsxMTY4OSwxMSBAQAogCQkJCTkzMkY1QkUzMDgyMkExQzcwMDczNjk3NSAvKiBBbGwgKi8s
CiAJCQkJOTMyRjVCM0UwODIyQTFDNzAwNzM2OTc1IC8qIEphdmFTY3JpcHRDb3JlICovLAogCQkJ
CTY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQiAvKiBEZXJpdmVkIFNvdXJjZXMgKi8sCi0JCQkJMTRC
RDY4OEYyMTUxOTE0NTAwNTBEQUZGIC8qIExMSW50IFNldHRpbmdzICovLAorCQkJCTE0QkQ2ODhG
MjE1MTkxNDUwMDUwREFGRiAvKiAoTGVnYWN5KSBMTEludCBTZXR0aW5ncyAqLywKIAkJCQkxNEJE
Njg4MTIxNTE5MTMxMDA1MERBRkYgLyogSlNDTExJbnRTZXR0aW5nc0V4dHJhY3RvciAqLywKLQkJ
CQkwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zmc2V0cyAqLywKKwkJCQkwRjQ2
ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogKExlZ2FjeSkgTExJbnQgT2Zmc2V0cyAqLywKIAkJCQkw
RkY5MjJDMzE0RjQ2QjEzMDA0MUEyNEUgLyogSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9yICovLAot
CQkJCTY1Nzg4QTlEMThCNDA5RUIwMEMxODlGRiAvKiBPZmZsaW5lIEFzc2VtYmxlciAqLywKKwkJ
CQk2NTc4OEE5RDE4QjQwOUVCMDBDMTg5RkYgLyogKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJsZXIg
Ki8sCiAJCQkJNTNCNEJEMDQxRjY4QUY4OTAwRDJCRUEzIC8qIEdlbmVyYXRlIFVuaWZpZWQgU291
cmNlcyAqLywKIAkJCQlFMUFDMkUyNzIwRjdCOTRDMDBCMDg5N0QgLyogVW5sb2NrIEtleWNoYWlu
ICovLAogCQkJCTE0MTIxMTFGMEE0ODc5M0MwMDQ4MDI1NSAvKiBtaW5pZG9tICovLApAQCAtMTE2
NzEsMzMgKzExNzI0LDMzIEBACiAvKiBFbmQgUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9u
ICovCiAKIC8qIEJlZ2luIFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICovCi0JCTBG
NDY4MEFBMTRCQTdGRDkwMEJGRTI3MiAvKiBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7
CisJCTBGNDY4MEFBMTRCQTdGRDkwMEJGRTI3MiAvKiAoTGVnYWN5KSBHZW5lcmF0ZSBEZXJpdmVk
IFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CiAJCQli
dWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCiAJCQkpOwogCQkJaW5w
dXRQYXRocyA9ICgKIAkJCSk7Ci0JCQluYW1lID0gIkdlbmVyYXRlIERlcml2ZWQgU291cmNlcyI7
CisJCQluYW1lID0gIihMZWdhY3kpIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyI7CiAJCQlvdXRw
dXRQYXRocyA9ICgKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICJzZXQgLWVc
blxuT0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwi
ID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJTkVBU01f
QVJHU30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNfSEVBREVS
U19GT0xERVJfUEFUSH1cIlxuZmlcblxubWtkaXIgLXAgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0v
TExJbnRPZmZzZXRzLyR7QVJDSFN9XCJcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke1NSQ1JPT1R9
L29mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYlwiIFwiLUkke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBcIiR7U1JDUk9PVH0v
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc21cIiAgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0v
SlNDTExJbnRTZXR0aW5nc0V4dHJhY3RvclwiIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50
T2Zmc2V0cy8ke0FSQ0hTfS9MTEludERlc2lyZWRPZmZzZXRzLmhcIiBcIiR7QVJDSFN9IENfTE9P
UFwiIFwiJHtCVUlMRF9WQVJJQU5UU31cIiAke09GRkxJTkVBU01fQVJHU31cbiI7CisJCQlzaGVs
bFNjcmlwdCA9ICJbIFwiJHtXS19VU0VfTkVXX0JVSUxEX1NZU1RFTX1cIiA9IFwiWUVTXCIgXSAm
JiBleGl0IDBcbnNldCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIke0RFUExP
WU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVBU01fQVJH
Uz1cIiR7T0ZGTElORUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dLX1dFQktJ
VEFERElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG5ta2RpciAtcCBcIiR7QlVJ
TFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU31cIlxuXG4vdXNyL2Jpbi9lbnYg
cnVieSBcIiR7U1JDUk9PVH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9yLnJi
XCIgXCItSSR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29y
ZVwiIFwiJHtTUkNST09UfS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbVwiICBcIiR7QlVJ
TFRfUFJPRFVDVFNfRElSfS9KU0NMTEludFNldHRpbmdzRXh0cmFjdG9yXCIgXCIke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRzLyR7QVJDSFN9L0xMSW50RGVzaXJlZE9mZnNldHMuaFwi
IFwiJHtBUkNIU30gQ19MT09QXCIgXCIke0JVSUxEX1ZBUklBTlRTfVwiICR7T0ZGTElORUFTTV9B
UkdTfVxuIjsKIAkJfTsKLQkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8qIEdlbmVyYXRlIERl
cml2ZWQgU291cmNlcyAqLyA9IHsKKwkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8qIChMZWdh
Y3kpIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2Ny
aXB0QnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxl
cyA9ICgKIAkJCSk7CiAJCQlpbnB1dFBhdGhzID0gKAogCQkJKTsKLQkJCW5hbWUgPSAiR2VuZXJh
dGUgRGVyaXZlZCBTb3VyY2VzIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgR2VuZXJhdGUgRGVyaXZl
ZCBTb3VyY2VzIjsKIAkJCW91dHB1dFBhdGhzID0gKAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNo
ZWxsU2NyaXB0ID0gInNldCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIke0RF
UExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVBU01f
QVJHUz1cIiR7T0ZGTElORUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dLX1dF
QktJVEFERElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG5ta2RpciAtcCBcIiR7
QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU31cIlxuXG4vdXNyL2Jpbi9l
bnYgcnVieSBcIiR7U1JDUk9PVH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9zZXR0aW5nc19leHRyYWN0
b3IucmJcIiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3Jp
cHRDb3JlXCIgXCIke1NSQ1JPT1R9L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtXCIgXCIk
e0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRzLyR7QVJDSFN9L0xMSW50RGVzaXJlZFNl
dHRpbmdzLmhcIiBcIiR7QVJDSFN9IENfTE9PUFwiICR7T0ZGTElORUFTTV9BUkdTfVxuIjsKKwkJ
CXNoZWxsU2NyaXB0ID0gIlsgXCIke1dLX1VTRV9ORVdfQlVJTERfU1lTVEVNfVwiID0gXCJZRVNc
IiBdICYmIGV4aXQgMFxuc2V0IC1lXG5cbk9GRkxJTkVBU01fQVJHUz1cIlwiXG5pZiBbWyBcIiR7
REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIllFU1wiIF1dOyB0aGVuXG4gICAgT0ZGTElORUFT
TV9BUkdTPVwiJHtPRkZMSU5FQVNNX0FSR1N9IC0td2Via2l0LWFkZGl0aW9ucy1wYXRoPSR7V0tf
V0VCS0lUQURESVRJT05TX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmZpXG5cbm1rZGlyIC1wIFwi
JHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy8ke0FSQ0hTfVwiXG5cbi91c3IvYmlu
L2VudiBydWJ5IFwiJHtTUkNST09UfS9vZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdzX2V4dHJh
Y3Rvci5yYlwiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNj
cmlwdENvcmVcIiBcIiR7U1JDUk9PVH0vbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc21cIiBc
IiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU30vTExJbnREZXNpcmVk
U2V0dGluZ3MuaFwiIFwiJHtBUkNIU30gQ19MT09QXCIgJHtPRkZMSU5FQVNNX0FSR1N9XG4iOwog
CQl9OwogCQkxQTAyRDlBODFCMzRBODgyMDAwRDE1MjIgLyogQWRkIFN5bWxpbmsgaW4gL1N5c3Rl
bS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3Jp
cHRCdWlsZFBoYXNlOwpAQCAtMTE5MzYsMTkgKzExOTg5LDE5IEBACiAJCQlzaGVsbFBhdGggPSAv
YmluL3pzaDsKIAkJCXNoZWxsU2NyaXB0ID0gIlwiJHtTUkNST09UfS9TY3JpcHRzL2NyZWF0ZS1z
eW1saW5rLXRvLWFsdHJvb3Quc2hcIlxuIjsKIAkJfTsKLQkJNjU3ODhBQTAxOEI0MDlFQjAwQzE4
OUZGIC8qIE9mZmxpbmUgQXNzZW1ibGUgKi8gPSB7CisJCTY1Nzg4QUEwMThCNDA5RUIwMEMxODlG
RiAvKiAoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlICovID0gewogCQkJaXNhID0gUEJYU2hlbGxT
Y3JpcHRCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZp
bGVzID0gKAogCQkJKTsKIAkJCWlucHV0UGF0aHMgPSAoCiAJCQkpOwotCQkJbmFtZSA9ICJPZmZs
aW5lIEFzc2VtYmxlIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJsZSI7CiAJ
CQlvdXRwdXRQYXRocyA9ICgKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICJp
ZiBbWyBcIiR7QUNUSU9OfVwiID09IFwiaW5zdGFsbGhkcnNcIiBdXTsgdGhlblxuICAgIGV4aXQg
MFxuZmlcblxuT0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FU
SU9OfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJ
TkVBU01fQVJHU30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNf
SEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmlcblxuY2QgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0v
RGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIlxuXG4vdXNyL2Jpbi9lbnYgcnVieSBKYXZh
U2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rl
cml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIgSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc20gXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vSlNDTExJbnRPZmZzZXRz
RXh0cmFjdG9yXCIgTExJbnRBc3NlbWJseS5oIFwiJHtCVUlMRF9WQVJJQU5UU31cIiAke09GRkxJ
TkVBU01fQVJHU30gfHwgZXhpdCAxXG4iOworCQkJc2hlbGxTY3JpcHQgPSAiWyBcIiR7V0tfVVNF
X05FV19CVUlMRF9TWVNURU19XCIgPSBcIllFU1wiIF0gJiYgZXhpdCAwXG5cbmlmIFtbIFwiJHtB
Q1RJT059XCIgPT0gXCJpbnN0YWxsaGRyc1wiIF1dOyB0aGVuXG4gICAgZXhpdCAwXG5maVxuXG5P
RkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0g
XCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVBU01fQVJHUz1cIiR7T0ZGTElORUFTTV9BUkdT
fSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dLX1dFQktJVEFERElUSU9OU19IRUFERVJTX0ZP
TERFUl9QQVRIfVwiXG5maVxuXG5jZCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291
cmNlcy9KYXZhU2NyaXB0Q29yZVwiXG5cbi91c3IvYmluL2VudiBydWJ5IEphdmFTY3JpcHRDb3Jl
L29mZmxpbmVhc20vYXNtLnJiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJj
ZXMvSmF2YVNjcmlwdENvcmVcIiBKYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbSBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9KU0NMTEludE9mZnNldHNFeHRyYWN0b3Jc
IiBMTEludEFzc2VtYmx5LmggXCIke0JVSUxEX1ZBUklBTlRTfVwiICR7T0ZGTElORUFTTV9BUkdT
fSB8fCBleGl0IDFcbiI7CiAJCX07CiAJCTY1RkIzRjY1MDlEMTFFOTEwMEY0OURFQiAvKiBHZW5l
cmF0ZSBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxk
UGhhc2U7CkBAIC0xMjA4MCw2ICsxMjEzMyw3IEBACiAJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQ
aGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKKwkJ
CQlERDQxRkE4NzI3Q0RBRDQzMDAzOTREOTUgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20gaW4g
U291cmNlcyAqLywKIAkJCQkwRkY5MjJENDE0RjQ2QjQxMDA0MUEyNEUgLyogTExJbnRPZmZzZXRz
RXh0cmFjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3lt
ZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpAQCAtMTIxMjcsNiArMTIxODEsNyBAQAogCQkJaXNhID0g
UEJYU291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3Owog
CQkJZmlsZXMgPSAoCisJCQkJREQ0MUZBODYyN0NEQUQzMjAwMzk0RDk1IC8qIExvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtIGluIFNvdXJjZXMgKi8sCiAJCQkJMTRCRDY4OUQyMTUxOTFDMTAwNTBEQUZG
IC8qIExMSW50U2V0dGluZ3NFeHRyYWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CkBAIC0xMjIyMCw2ICsxMjI3
NSw3IEBACiAJCQkJNTM2QjMxMzQxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2U0MC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzEzMTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmll
ZFNvdXJjZTQxLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTNCMUY3MUM1OTkwMDM3RkMz
MyAvKiBVbmlmaWVkU291cmNlNDIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJREQ0MUZBODkyN0NE
RERFRjAwMzk0RDk1IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTM2QjMxM0UxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2U0My5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1MzZCMzE0QzFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTQ0
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTUxMUY3MUM1OTkwMDM3RkMzMyAvKiBVbmlm
aWVkU291cmNlNDUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMjM5NCw3ICsxMjQ1MCw3IEBACiAJ
CX07CiAJCTBGRjkyMkQzMTRGNDZCMkYwMDQxQTI0RSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICov
ID0gewogCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKLQkJCXRhcmdldCA9IDBGNDY4MEE5
MTRCQTdGRDkwMEJGRTI3MiAvKiBMTEludCBPZmZzZXRzICovOworCQkJdGFyZ2V0ID0gMEY0Njgw
QTkxNEJBN0ZEOTAwQkZFMjcyIC8qIChMZWdhY3kpIExMSW50IE9mZnNldHMgKi87CiAJCQl0YXJn
ZXRQcm94eSA9IDBGRjkyMkQyMTRGNDZCMkYwMDQxQTI0RSAvKiBQQlhDb250YWluZXJJdGVtUHJv
eHkgKi87CiAJCX07CiAJCTE0QkQ2ODgyMjE1MTkxMzEwMDUwREFGRiAvKiBQQlhUYXJnZXREZXBl
bmRlbmN5ICovID0gewpAQCAtMTI0MTQsNyArMTI0NzAsNyBAQAogCQl9OwogCQkxNEJENjg5QjIx
NTE5MTc0MDA1MERBRkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKIAkJCWlzYSA9IFBC
WFRhcmdldERlcGVuZGVuY3k7Ci0JCQl0YXJnZXQgPSAxNEJENjg4RjIxNTE5MTQ1MDA1MERBRkYg
LyogTExJbnQgU2V0dGluZ3MgKi87CisJCQl0YXJnZXQgPSAxNEJENjg4RjIxNTE5MTQ1MDA1MERB
RkYgLyogKExlZ2FjeSkgTExJbnQgU2V0dGluZ3MgKi87CiAJCQl0YXJnZXRQcm94eSA9IDE0QkQ2
ODlBMjE1MTkxNzQwMDUwREFGRiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CiAJCX07CiAJ
CTE0Q0ZCMTAwMjMwMzVFRjMwMEYwMDQ4QyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewpA
QCAtMTI1MjcsMTEgKzEyNTgzLDYgQEAKIAkJCXRhcmdldCA9IDY1RkIzRjY2MDlEMTFFOTEwMEY0
OURFQiAvKiBEZXJpdmVkIFNvdXJjZXMgKi87CiAJCQl0YXJnZXRQcm94eSA9IDY1Nzg4QUFBMThC
NDBBM0IwMEMxODlGRiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CiAJCX07Ci0JCTY1Nzg4
QUFEMThCNDBBN0IwMEMxODlGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewotCQkJaXNh
ID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKLQkJCXRhcmdldCA9IDY1Nzg4QTlEMThCNDA5RUIwMEMx
ODlGRiAvKiBPZmZsaW5lIEFzc2VtYmxlciAqLzsKLQkJCXRhcmdldFByb3h5ID0gNjU3ODhBQUMx
OEI0MEE3QjAwQzE4OUZGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKLQkJfTsKIAkJNjVG
QjNGN0UwOUQxMUVGMzAwRjQ5REVCIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CiAJCQlp
c2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OwogCQkJdGFyZ2V0ID0gNjVGQjNGNjYwOUQxMUU5MTAw
RjQ5REVCIC8qIERlcml2ZWQgU291cmNlcyAqLzsKQEAgLTEyNTQ3LDYgKzEyNTk4LDExIEBACiAJ
CQl0YXJnZXQgPSA5MzJGNUIzRTA4MjJBMUM3MDA3MzY5NzUgLyogSmF2YVNjcmlwdENvcmUgKi87
CiAJCQl0YXJnZXRQcm94eSA9IDkzMkY1QkU2MDgyMkExQzcwMDczNjk3NSAvKiBQQlhDb250YWlu
ZXJJdGVtUHJveHkgKi87CiAJCX07CisJCURENDFGQThCMjdDREUxQzQwMDM5NEQ5NSAvKiBQQlhU
YXJnZXREZXBlbmRlbmN5ICovID0geworCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKKwkJ
CXRhcmdldCA9IDY1Nzg4QTlEMThCNDA5RUIwMEMxODlGRiAvKiAoTGVnYWN5KSBPZmZsaW5lIEFz
c2VtYmxlciAqLzsKKwkJCXRhcmdldFByb3h5ID0gREQ0MUZBOEEyN0NERTFDNDAwMzk0RDk1IC8q
IFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsKIAkJRkU1MzNDQUYxRjIxN0VDNjAwMTZB
MUZFIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhUYXJnZXREZXBl
bmRlbmN5OwogCQkJdGFyZ2V0ID0gRkU1MzNDQTExRjIxN0RCMzAwMTZBMUZFIC8qIHRlc3RtYXNt
ICovOwpAQCAtMTMyNDYsNyArMTMzMDIsNyBAQAogLyogRW5kIFhDQnVpbGRDb25maWd1cmF0aW9u
IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovCi0J
CTBGNDY4MEFDMTRCQTdGRDkwMEJGRTI3MiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9y
IFBCWEFnZ3JlZ2F0ZVRhcmdldCAiTExJbnQgT2Zmc2V0cyIgKi8gPSB7CisJCTBGNDY4MEFDMTRC
QTdGRDkwMEJGRTI3MiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0
ZVRhcmdldCAiKExlZ2FjeSkgTExJbnQgT2Zmc2V0cyIgKi8gPSB7CiAJCQlpc2EgPSBYQ0NvbmZp
Z3VyYXRpb25MaXN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKIAkJCQkwRjQ2ODBBRDE0
QkE3RkQ5MDBCRkUyNzIgLyogRGVidWcgKi8sCkBAIC0xMzM3OCw3ICsxMzQzNCw3IEBACiAJCQlk
ZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlv
bk5hbWUgPSBQcm9kdWN0aW9uOwogCQl9OwotCQkxNEJENjg5MzIxNTE5MTQ1MDA1MERBRkYgLyog
QnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIkxMSW50IFNl
dHRpbmdzIiAqLyA9IHsKKwkJMTRCRDY4OTMyMTUxOTE0NTAwNTBEQUZGIC8qIEJ1aWxkIGNvbmZp
Z3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBMTEludCBTZXR0
aW5ncyIgKi8gPSB7CiAJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVpbGRDb25m
aWd1cmF0aW9ucyA9ICgKIAkJCQkxNEJENjg5NDIxNTE5MTQ1MDA1MERBRkYgLyogRGVidWcgKi8s
CkBAIC0xMzQ1NSw3ICsxMzUxMSw3IEBACiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJs
ZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOwogCQl9Owot
CQk2NTc4OEFBMjE4QjQwOUVCMDBDMTg5RkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZv
ciBQQlhBZ2dyZWdhdGVUYXJnZXQgIk9mZmxpbmUgQXNzZW1ibGVyIiAqLyA9IHsKKwkJNjU3ODhB
QTIxOEI0MDlFQjAwQzE4OUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdn
cmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlciIgKi8gPSB7CiAJCQlpc2Eg
PSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKIAkJCQk2
NTc4OEFBMzE4QjQwOUVCMDBDMTg5RkYgLyogRGVidWcgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hc20ucmIgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS9hc20ucmIKaW5kZXggYmVkM2FkOTFjOTNmLi4wNDMwZTllNGQ1NGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYgorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hc20ucmIKQEAgLTMzLDYgKzMzLDcgQEAgcmVx
dWlyZSAnb3B0cGFyc2UnCiByZXF1aXJlICJwYXJzZXIiCiByZXF1aXJlICJzZWxmX2hhc2giCiBy
ZXF1aXJlICJzZXR0aW5ncyIKK3JlcXVpcmUgInNoZWxsd29yZHMiCiByZXF1aXJlICJ0cmFuc2Zv
cm0iCiAKIGNsYXNzIEFzc2VtYmxlcgpAQCAtMzQ3LDcgKzM0OCw3IEBAIHZhcmlhbnRzID0gQVJH
Vi5zaGlmdC5zcGxpdCgvWyxcc10rLykKIAogJG9wdGlvbnMgPSB7fQogT3B0aW9uUGFyc2VyLm5l
dyBkbyB8b3B0c3wKLSAgICBvcHRzLmJhbm5lciA9ICJVc2FnZTogYXNtLnJiIGFzbUZpbGUgb2Zm
c2V0c0ZpbGUgb3V0cHV0RmlsZU5hbWUgWy0tYXNzZW1ibGVyPTxBU00+XSBbLS13ZWJraXQtYWRk
aXRpb25zLXBhdGg9PHBhdGg+XSBbLS1iaW5hcnktZm9ybWF0PTxmb3JtYXQ+XSIKKyAgICBvcHRz
LmJhbm5lciA9ICJVc2FnZTogYXNtLnJiIGFzbUZpbGUgb2Zmc2V0c0ZpbGUgb3V0cHV0RmlsZU5h
bWUgWy0tYXNzZW1ibGVyPTxBU00+XSBbLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9PHBhdGg+XSBb
LS1iaW5hcnktZm9ybWF0PTxmb3JtYXQ+XSBbLS1kZXBmaWxlPTxkZXBmaWxlPl0iCiAgICAgIyBU
aGlzIG9wdGlvbiBpcyBjdXJyZW50bHkgb25seSB1c2VkIHRvIHNwZWNpZnkgdGhlIG1hc20gYXNz
ZW1ibGVyCiAgICAgb3B0cy5vbigiLS1hc3NlbWJsZXI9W0FTTV0iLCAiU3BlY2lmeSBhbiBhc3Nl
bWJsZXIgdG8gdXNlLiIpIGRvIHxhc3NlbWJsZXJ8CiAgICAgICAgICRvcHRpb25zWzphc3NlbWJs
ZXJdID0gYXNzZW1ibGVyCkBAIC0zNTgsNiArMzU5LDkgQEAgT3B0aW9uUGFyc2VyLm5ldyBkbyB8
b3B0c3wKICAgICBvcHRzLm9uKCItLWJpbmFyeS1mb3JtYXQ9Rk9STUFUIiwgIlNwZWNpZnkgdGhl
IGJpbmFyeSBmb3JtYXQgdXNlZCBieSB0aGUgdGFyZ2V0IHN5c3RlbS4iKSBkbyB8Zm9ybWF0fAog
ICAgICAgICAkb3B0aW9uc1s6YmluYXJ5X2Zvcm1hdF0gPSBmb3JtYXQKICAgICBlbmQKKyAgICBv
cHRzLm9uKCItLWRlcGZpbGU9REVQRklMRSIsICJQYXRoIHRvIHdyaXRlIE1ha2VmaWxlLXN0eWxl
IGRpc2NvdmVyZWQgZGVwZW5kZW5jaWVzIHRvLiIpIGRvIHxwYXRofAorICAgICAgICAkb3B0aW9u
c1s6ZGVwZmlsZV0gPSBwYXRoCisgICAgZW5kCiBlbmQucGFyc2UhCiAKIGJlZ2luCkBAIC00MTAs
NiArNDE0LDEzIEBAIEZpbGUub3BlbihvdXRwdXRGbG5tLCAidyIpIHsKICAgICAKICAgICBhc3Qg
PSBwYXJzZShhc21GaWxlLCAkb3B0aW9ucykKICAgICBzZXR0aW5nc0NvbWJpbmF0aW9ucyA9IGNv
bXB1dGVTZXR0aW5nc0NvbWJpbmF0aW9ucyhhc3QpCisgICAgCisgICAgaWYgJG9wdGlvbnNbOmRl
cGZpbGVdCisgICAgICAgIHNvdXJjZXMgPSBhc3QuZmxhdHRlbi5yZWR1Y2UoU2V0Lm5ldykgeyB8
ZmlsZXMsIG5vZGV8IGZpbGVzLmFkZChub2RlLmNvZGVPcmlnaW4uZmlsZU5hbWUpIH0KKyAgICAg
ICAgZGVwZmlsZSA9IEZpbGUub3Blbigkb3B0aW9uc1s6ZGVwZmlsZV0sICJ3IikKKyAgICAgICAg
ZGVwZmlsZS5wcmludChTaGVsbHdvcmRzLmVzY2FwZShvdXRwdXRGbG5tKSwgIjogIikKKyAgICAg
ICAgZGVwZmlsZS5wdXRzKFNoZWxsd29yZHMuam9pbihzb3VyY2VzLnNvcnQpKQorICAgIGVuZAog
CiAgICAgY29uZmlndXJhdGlvbkxpc3QuZWFjaCB7CiAgICAgICAgIHwgY29uZmlndXJhdGlvbiB8
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9nZW5lcmF0ZV9v
ZmZzZXRfZXh0cmFjdG9yLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2Vu
ZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYgppbmRleCAwNWM5MzgxMjJhMzEuLmFiYjlmMTEzZWU0
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2VuZXJhdGVf
b2Zmc2V0X2V4dHJhY3Rvci5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFz
bS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9yLnJiCkBAIC0zMyw2ICszMyw3IEBAIHJlcXVpcmUg
J29wdHBhcnNlJwogcmVxdWlyZSAicGFyc2VyIgogcmVxdWlyZSAic2VsZl9oYXNoIgogcmVxdWly
ZSAic2V0dGluZ3MiCityZXF1aXJlICJzaGVsbHdvcmRzIgogcmVxdWlyZSAidHJhbnNmb3JtIgog
CiBJbmNsdWRlRmlsZS5wcm9jZXNzSW5jbHVkZU9wdGlvbnMoKQpAQCAtNDgsMTAgKzQ5LDEzIEBA
IHZhcmlhbnRzID0gQVJHVi5zaGlmdC5zcGxpdCgvWyxcc10rLykKIAogJG9wdGlvbnMgPSB7fQog
T3B0aW9uUGFyc2VyLm5ldyBkbyB8b3B0c3wKLSAgICBvcHRzLmJhbm5lciA9ICJVc2FnZTogZ2Vu
ZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYiBhc21GaWxlIHNldHRpbmdGaWxlIG91dHB1dEZpbGVO
YW1lIGJhY2tlbmRzIHZhcmlhbnRzIFstLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD08cGF0aD5dIgor
ICAgIG9wdHMuYmFubmVyID0gIlVzYWdlOiBnZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9yLnJiIGFz
bUZpbGUgc2V0dGluZ0ZpbGUgb3V0cHV0RmlsZU5hbWUgYmFja2VuZHMgdmFyaWFudHMgWy0td2Vi
a2l0LWFkZGl0aW9ucy1wYXRoPTxwYXRoPl0gWy0tZGVwZmlsZT08ZGVwZmlsZT5dIgogICAgIG9w
dHMub24oIi0td2Via2l0LWFkZGl0aW9ucy1wYXRoPVBBVEgiLCAiV2ViS2l0QWRkaXRpb25zIHBh
dGguIikgZG8gfHBhdGh8CiAgICAgICAgICRvcHRpb25zWzp3ZWJraXRfYWRkaXRpb25zX3BhdGhd
ID0gcGF0aAogICAgIGVuZAorICAgIG9wdHMub24oIi0tZGVwZmlsZT1ERVBGSUxFIiwgInBhdGgg
dG8gd3JpdGUgTWFrZWZpbGUtc3R5bGUgZGlzY292ZXJlZCBkZXBlbmRlbmNpZXMgdG8uIikgZG8g
fHBhdGh8CisgICAgICAgICRvcHRpb25zWzpkZXBmaWxlXSA9IHBhdGgKKyAgICBlbmQKIGVuZC5w
YXJzZSEKIAogYmVnaW4KQEAgLTgyLDkgKzg2LDE4IEBAIGlmIEZpbGVUZXN0LmV4aXN0PyBvdXRw
dXRGbG5tCiAgICAgfQogZW5kCiAKKworCiBhc3QgPSBwYXJzZShpbnB1dEZsbm0sICRvcHRpb25z
KQogc2V0dGluZ3NDb21iaW5hdGlvbnMgPSBjb21wdXRlU2V0dGluZ3NDb21iaW5hdGlvbnMoYXN0
KQogCitpZiAkb3B0aW9uc1s6ZGVwZmlsZV0KKyAgICBzb3VyY2VzID0gYXN0LmZsYXR0ZW4ucmVk
dWNlKFNldC5uZXcpIHsgfGZpbGVzLCBub2RlfCBmaWxlcy5hZGQobm9kZS5jb2RlT3JpZ2luLmZp
bGVOYW1lKSB9CisgICAgZGVwZmlsZSA9IEZpbGUub3Blbigkb3B0aW9uc1s6ZGVwZmlsZV0sICJ3
IikKKyAgICBkZXBmaWxlLnByaW50KFNoZWxsd29yZHMuZXNjYXBlKG91dHB1dEZsbm0pLCAiOiAi
KQorICAgIGRlcGZpbGUucHV0cyhTaGVsbHdvcmRzLmpvaW4oc291cmNlcy5zb3J0KSkKK2VuZAor
CiBGaWxlLm9wZW4ob3V0cHV0RmxubSwgInciKSB7CiAgICAgfCBvdXRwIHwKICAgICAkb3V0cHV0
ID0gb3V0cApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2Vu
ZXJhdGVfc2V0dGluZ3NfZXh0cmFjdG9yLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxp
bmVhc20vZ2VuZXJhdGVfc2V0dGluZ3NfZXh0cmFjdG9yLnJiCmluZGV4IGE5YTIzMDk1OWNjOC4u
MmE1NDk4ZDNiY2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFz
bS9nZW5lcmF0ZV9zZXR0aW5nc19leHRyYWN0b3IucmIKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL29mZmxpbmVhc20vZ2VuZXJhdGVfc2V0dGluZ3NfZXh0cmFjdG9yLnJiCkBAIC0zMyw2ICsz
Myw3IEBAIHJlcXVpcmUgJ29wdHBhcnNlJwogcmVxdWlyZSAicGFyc2VyIgogcmVxdWlyZSAic2Vs
Zl9oYXNoIgogcmVxdWlyZSAic2V0dGluZ3MiCityZXF1aXJlICJzaGVsbHdvcmRzIgogcmVxdWly
ZSAidHJhbnNmb3JtIgogCiBJbmNsdWRlRmlsZS5wcm9jZXNzSW5jbHVkZU9wdGlvbnMoKQpAQCAt
NDUsMTAgKzQ2LDEzIEBAIGluY2x1ZGVPbmx5QmFja2VuZHModmFsaWRCYWNrZW5kcykKIAogJG9w
dGlvbnMgPSB7fQogT3B0aW9uUGFyc2VyLm5ldyBkbyB8b3B0c3wKLSAgICBvcHRzLmJhbm5lciA9
ICJVc2FnZTogZ2VuZXJhdGVfc2V0dGluZ3NfZXh0cmFjdG9yLnJiIGFzbUZpbGUgc2V0dGluZ0Zp
bGUgWy0td2Via2l0LWFkZGl0aW9ucy1wYXRoPTxwYXRoPl0iCisgICAgb3B0cy5iYW5uZXIgPSAi
VXNhZ2U6IGdlbmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rvci5yYiBhc21GaWxlIHNldHRpbmdGaWxl
IFstLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD08cGF0aD5dIFstLWRlcGZpbGU9PGRlcGZpbGU+XSIK
ICAgICBvcHRzLm9uKCItLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD1QQVRIIiwgIldlYktpdEFkZGl0
aW9ucyBwYXRoLiIpIGRvIHxwYXRofAogICAgICAgICAkb3B0aW9uc1s6d2Via2l0X2FkZGl0aW9u
c19wYXRoXSA9IHBhdGgKICAgICBlbmQKKyAgICBvcHRzLm9uKCItLWRlcGZpbGU9REVQRklMRSIs
ICJwYXRoIHRvIHdyaXRlIE1ha2VmaWxlLXN0eWxlIGRpc2NvdmVyZWQgZGVwZW5kZW5jaWVzIHRv
LiIpIGRvIHxwYXRofAorICAgICAgICAkb3B0aW9uc1s6ZGVwZmlsZV0gPSBwYXRoCisgICAgZW5k
CiBlbmQucGFyc2UhCiAKIGlucHV0SGFzaCA9ICIvLyBTZXR0aW5nc0V4dHJhY3RvciBpbnB1dCBo
YXNoOiAje3BhcnNlSGFzaChpbnB1dEZsbm0sICRvcHRpb25zKX0gI3tzZWxmSGFzaH0iCkBAIC02
Nyw2ICs3MSwxMyBAQCBlbmQKIG9yaWdpbmFsQVNUID0gcGFyc2UoaW5wdXRGbG5tLCAkb3B0aW9u
cykKIHBydW5lZEFTVCA9IFNlcXVlbmNlLm5ldyhvcmlnaW5hbEFTVC5jb2RlT3JpZ2luLCBvcmln
aW5hbEFTVC5maWx0ZXIoU2V0dGluZykpCiAKK2lmICRvcHRpb25zWzpkZXBmaWxlXQorICAgIHNv
dXJjZXMgPSBwcnVuZWRBU1QuZmxhdHRlbi5yZWR1Y2UoU2V0Lm5ldykgeyB8ZmlsZXMsIG5vZGV8
IGZpbGVzLmFkZChub2RlLmNvZGVPcmlnaW4uZmlsZU5hbWUpIH0KKyAgICBkZXBmaWxlID0gRmls
ZS5vcGVuKCRvcHRpb25zWzpkZXBmaWxlXSwgInciKQorICAgIGRlcGZpbGUucHJpbnQoU2hlbGx3
b3Jkcy5lc2NhcGUob3V0cHV0RmxubSksICI6ICIpCisgICAgZGVwZmlsZS5wdXRzKFNoZWxsd29y
ZHMuam9pbihzb3VyY2VzLnNvcnQpKQorZW5kCisKIEZpbGUub3BlbihvdXRwdXRGbG5tLCAidyIp
IHsKICAgICB8IG91dHAgfAogICAgICRvdXRwdXQgPSBvdXRwCg==
</data>
<flag name="commit-queue"
          id="480948"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453552</attachid>
            <date>2022-03-01 16:53:57 -0800</date>
            <delta_ts>2022-03-01 16:55:31 -0800</delta_ts>
            <desc>Integrate offlineasm using build rules and emit a depfile r3</desc>
            <filename>jsc-generated-sources-outputs.patch</filename>
            <type>text/plain</type>
            <size>32152</size>
            <attacher name="Elliott Williams">emw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDk4MzZiNWE1YmJhMS4uNzM3NjBjYmQ1OTE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAyMi0wMy0wMSAgRWxs
aW90dCBXaWxsaWFtcyAgPGVtd0BhcHBsZS5jb20+CisKKyAgICAgICAgW1hDQnVpbGRdIEVtaXQg
YSBkaXNjb3ZlcmVkIGRlcGVuZGVuY3kgZmlsZSBmcm9tIG9mZmxpbmVhc20KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzMyOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFhjb2RlIG5lZWRzIHRvIGtub3cg
d2hhdCBmaWxlcyBvZmZsaW5lYXNtIHVzZXMgYW5kIHByb2R1Y2VzIGluIG9yZGVyIHRvIHNjaGVk
dWxlIGl0CisgICAgICAgIGNvcnJlY3RseSBpbiBpbmNyZW1lbnRhbCBidWlsZHMuIFJhdGhlciB0
aGFuIHVzZSBnZW5lcmF0ZWQgeGNmaWxlbGlzdHMgbGlrZSBXZWJLaXQgZG9lcworICAgICAgICBl
bHNld2hlcmUgaW4gdGhlIHByb2plY3QsIGVtaXQgYSBkZXBmaWxlIGZyb20gb2ZmbGluZWFzbSBi
YXNlZCBvbiB0aGUgcGFyc2UgdHJlZSdzIHNvdXJjZQorICAgICAgICBmaWxlcy4KKworICAgICAg
ICBEaXNjb3ZlcmVkIGRlcGVuZGVuY3kgZmlsZXMgKCJkZXBmaWxlcyIpIGFyZSBNYWtlZmlsZS1m
b3JtYXR0ZWQgZmlsZXMgd2hpY2ggbGlzdCB0aGUgaW5wdXRzCisgICAgICAgIHVzZWQgdG8gcHJv
ZHVjZSBhbiBvdXRwdXQuIFRoZXkgYXJlIGVtaXR0aW5nIGR1cmluZyB0aGUgYnVpbGQgdG8gYSB0
ZW1wb3JhcnkgZGlyZWN0b3J5LCBhbmQKKyAgICAgICAgZW5zdXJlIHRoYXQgc3Vic2VxdWVudCBp
bmNyZW1lbnRhbCBidWlsZHMgd2lsbCByZS1ydW4gb2ZmbGluZWFzbSB3aGVuIGFueSBvZiB0aGUg
aW5jbHVkZWQKKyAgICAgICAgc291cmNlcyBjaGFuZ2UuIFRoaXMgaXMgdGhlIHNhbWUgbWVjaGFu
aXNtIGNsYW5nIHVzZXMgdG8gdHJhY2sgaGVhZGVyIGRlcGVuZGVuY2llcy4KKworICAgICAgICBV
bmZvcnR1bmF0ZWx5LCB0aGUgbGVnYWN5IGJ1aWxkIHN5c3RlbSB3aWxsIHJlZnVzZSB0byBleGVj
dXRlIGEgc2NyaXB0IHBoYXNlIG9yIHJ1bGUgdGhhdAorICAgICAgICBlbWl0cyBhIGRlcGZpbGUu
IFRvIHdvcmsgYXJvdW5kIHRoaXMsIGNvbnZlcnQgdGhlIG9mZmxpbmVhc20gcGlwZWxpbmUgdG8g
YmUgYmFzZWQgb24gYnVpbGQKKyAgICAgICAgcnVsZXMsIHRvIGJlIHVzZWQgYnkgWENCdWlsZCBv
bmx5LiBUaGUgaWRlYSBpcyB0aGF0IExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGlzIGxpc3RlZCBh
cyBhCisgICAgICAgIHNvdXJjZSBidWlsZCBmaWxlIGluIEpTQ0xMSW50U2V0dGluZ3NFeHRyYWN0
b3IsIEpTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvciwgYW5kCisgICAgICAgIEphdmFTY3JpcHRDb3Jl
LiBFYWNoIHRhcmdldCB1c2VzIGEgYnVpbGQgcnVsZSB0byBnZW5lcmF0ZSBpdHMgcmVzcGVjdGl2
ZSBoZWFkZXIgZnJvbQorICAgICAgICBMb3dMZXZlbEludGVycHJldGVyLmFzbS4gWGNvZGUgc2No
ZWR1bGVzIHRoZXNlIHJ1bGUgZXhlY3V0aW9ucyBiZWZvcmUgYW55IGNsYW5nIHRhc2tzLgorCisg
ICAgICAgIFRoZSBsZWdhY3kgYnVpbGQgc3lzdGVtIGF2b2lkcyBleGVjdXRpbmcgdGhlIHJ1bGVz
IHZpYSBFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FUywgYW5kCisgICAgICAgIGluc3RlYWQgdXNl
cyB0aGUgZXhpc3RpbmcgYnVpbGQgcGhhc2VzLCB3aGljaCBoYXZlICIoTGVnYWN5KSIgaW4gdGhl
aXIgbmFtZXMgYW5kIGFyZSBub3cKKyAgICAgICAgbm8tb3BzIHVuZGVyIFhDQnVpbGQuCisKKyAg
ICAgICAgQXNpZGUgZnJvbSB3b3JraW5nIGFyb3VuZCB0aGUgbGVnYWN5IGJ1aWxkIHN5c3RlbSdz
IGxpbWl0YXRpb25zLCB1c2luZyBidWlsZCBydWxlcyBpcworICAgICAgICBwcm9iYWJseSBhIHN1
cGVyaW9yIHdheSB0byBleHByZXNzIHdoYXQgd2UncmUgZG9pbmcsIGFzIGl0IGdpdmVzIFhjb2Rl
IHRoZSBvcHBvcnR1bml0eSB0bworICAgICAgICBjb21waWxlIG90aGVyIG9iamVjdHMgaW4gcGFy
YWxsZWwsIGFuZCBjb3VsZCBiZSBlYXNpbHkgZXh0ZW5kZWQgdG8gY29tcGlsZSBtdWx0aXBsZSBk
aXNjcmV0ZQorICAgICAgICBhc20gZmlsZXMgc2hvdWxkIHRoZSBuZWVkIGFyaXNlLgorCisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvVG9vbEV4ZWN1dGFibGUueGNjb25maWc6IEJ1aWxkIHJ1bGVz
IGFyZSBYQ0J1aWxkLW9ubHkuCisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajogQWRkIGJ1aWxkIHJ1bGVzLCByZW5hbWUgbGVnYWN5IHNjcmlwdHMuCisg
ICAgICAgICogb2ZmbGluZWFzbS9hc20ucmI6IEFkZCAtLWRlcGZpbGUgZmxhZy4KKyAgICAgICAg
KiBvZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmI6IEFkZCAtLWRlcGZpbGUg
ZmxhZy4KKyAgICAgICAgKiBvZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rvci5y
YjogQWRkIC0tZGVwZmlsZSBmbGFnLgorCiAyMDIyLTAyLTI0ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBPbmx5IGNsZWFyIElDVSBjYWNoZSB3aGVu
IHRpbWUgem9uZSBpcyBjaGFuZ2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcKaW5kZXggNjEyYWUw
NmM3MWQ5Li4wNDY4ZTBlN2NkY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9KYXZhU2NyaXB0Q29yZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcKQEAgLTYxLDQg
KzYxLDcgQEAgT1VUUFVUX0FMVEVSTkFURV9ST09UX1BBVEhfWUVTID0gJChEU1RST09UKSQoQUxU
RVJOQVRFX1JPT1RfUEFUSCkvJChGVUxMX1BST0RVQ1QKIElOU1RBTExIRFJTX1NDUklQVF9QSEFT
RSA9IFlFUzsKIEFQUExZX1JVTEVTX0lOX0NPUFlfSEVBREVSUyA9ICQoV0tfVVNFX05FV19CVUlM
RF9TWVNURU0pOwogCitFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FUyA9ICQoaW5oZXJpdGVkKSAk
KEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTXyQoV0tfV0hJQ0hfQlVJTERfU1lTVEVNKSk7CiBF
WENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU1tzZGs9aXBob25lKl0gPSAkKGluaGVyaXRlZCkgZnJh
bWV3b3JrLnNiOworLy8gT2Zmc2V0IGFuZCBzZXR0aW5ncyBoZWFkZXJzIGFyZSBidWlsdCBieSBz
ZXBhcmF0ZSB0YXJnZXRzIGFuZCBzY3JpcHQgcGhhc2VzIGluIHRoZSBsZWdhY3kgYnVpbGQgc3lz
dGVtLCBub3QgdXNpbmcgYnVpbGQgcnVsZXMuCitFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU19s
ZWdhY3kgPSAqLmFzbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZwppbmRleCBlY2M3NzAxYjM5Zjku
LjI5ZGMzMDNjZjlkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3Vy
YXRpb25zL1Rvb2xFeGVjdXRhYmxlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9Db25maWd1cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZwpAQCAtNTQsNiArNTQsMTIg
QEAgQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwogT1RIRVJfQ0ZMQUdTID0gJChpbmhlcml0
ZWQpIC1pc3lzdGVtIGljdTsKIAogLy8gRXhwbGljaXRseSBhZGQgdGhlIFByaXZhdGVIZWFkZXJz
IGRpcmVjdG9yeSB0byB0aGUgc2VhcmNoIHBhdGggc28gdGhhdCBnZW5lcmF0ZWQgaGVhZGVyIGZp
bGVzIGNhbiBiZSBmb3VuZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcy4KLUhFQURFUl9TRUFSQ0hfUEFU
SFMgPSAiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3Jl
IiAiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy8ke0FSQ0hTfSIgIiQoSkFWQVND
UklQVENPUkVfRlJBTUVXT1JLU19ESVIpL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9Qcml2YXRl
SGVhZGVycyIgJChpbmhlcml0ZWQpOworSEVBREVSX1NFQVJDSF9QQVRIUyA9ICIke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUiICQoSEVBREVSX1NFQVJD
SF9QQVRIU18kKFdLX1dISUNIX0JVSUxEX1NZU1RFTSkpICIkKEpBVkFTQ1JJUFRDT1JFX0ZSQU1F
V09SS1NfRElSKS9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvUHJpdmF0ZUhlYWRlcnMiICQoaW5o
ZXJpdGVkKTsKKy8vIFhDQnVpbGQgZ2VuZXJhdGVzIExMSW50T2Zmc2V0cyBpbiBUQVJHRVRfVEVN
UF9ESVIsIHdoaWNoIGRvZXMgbm90IG5lZWQgdG8gYmUgbWFudWFsbHkgc3BlY2lmZWQuCitIRUFE
RVJfU0VBUkNIX1BBVEhTX2xlZ2FjeSA9ICIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZz
ZXRzLyR7QVJDSFN9IjsKKworRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVMgPSAkKEVYQ0xVREVE
X1NPVVJDRV9GSUxFX05BTUVTXyQoV0tfV0hJQ0hfQlVJTERfU1lTVEVNKSk7CisvLyBPZmZzZXQg
YW5kIHNldHRpbmdzIGhlYWRlcnMgYXJlIGJ1aWx0IGJ5IHNlcGFyYXRlIHRhcmdldHMgYW5kIHNj
cmlwdCBwaGFzZXMgaW4gdGhlIGxlZ2FjeSBidWlsZCBzeXN0ZW0sIG5vdCB1c2luZyBidWlsZCBy
dWxlcy4KK0VYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTX2xlZ2FjeSA9ICouYXNtOwogCiBPVEhF
Ul9MREZMQUdTID0gJChpbmhlcml0ZWQpICQoU09VUkNFX1ZFUlNJT05fTERGTEFHUyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUxOTQzODc5ZTgyNS4uODQ3YWE3YjQ5YzBhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMywzMiArMywzMiBAQAogCWFyY2hpdmVW
ZXJzaW9uID0gMTsKIAljbGFzc2VzID0gewogCX07Ci0Jb2JqZWN0VmVyc2lvbiA9IDUxOworCW9i
amVjdFZlcnNpb24gPSA1MjsKIAlvYmplY3RzID0gewogCiAvKiBCZWdpbiBQQlhBZ2dyZWdhdGVU
YXJnZXQgc2VjdGlvbiAqLwotCQkwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zm
c2V0cyAqLyA9IHsKKwkJMEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8qIChMZWdhY3kpIExMSW50
IE9mZnNldHMgKi8gPSB7CiAJCQlpc2EgPSBQQlhBZ2dyZWdhdGVUYXJnZXQ7Ci0JCQlidWlsZENv
bmZpZ3VyYXRpb25MaXN0ID0gMEY0NjgwQUMxNEJBN0ZEOTAwQkZFMjcyIC8qIEJ1aWxkIGNvbmZp
Z3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJMTEludCBPZmZzZXRzIiAqLzsK
KwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAwRjQ2ODBBQzE0QkE3RkQ5MDBCRkUyNzIgLyog
QnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIihMZWdhY3kp
IExMSW50IE9mZnNldHMiICovOwogCQkJYnVpbGRQaGFzZXMgPSAoCi0JCQkJMEY0NjgwQUExNEJB
N0ZEOTAwQkZFMjcyIC8qIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyAqLywKKwkJCQkwRjQ2ODBB
QTE0QkE3RkQ5MDBCRkUyNzIgLyogKExlZ2FjeSkgR2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzICov
LAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKIAkJCQkxNEJENjg5OTIxNTE5MTZEMDA1MERB
RkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7Ci0JCQluYW1lID0gIkxMSW50IE9m
ZnNldHMiOworCQkJbmFtZSA9ICIoTGVnYWN5KSBMTEludCBPZmZzZXRzIjsKIAkJCXByb2R1Y3RO
YW1lID0gIkRlcml2ZWQgU291cmNlcyI7CiAJCX07Ci0JCTE0QkQ2ODhGMjE1MTkxNDUwMDUwREFG
RiAvKiBMTEludCBTZXR0aW5ncyAqLyA9IHsKKwkJMTRCRDY4OEYyMTUxOTE0NTAwNTBEQUZGIC8q
IChMZWdhY3kpIExMSW50IFNldHRpbmdzICovID0gewogCQkJaXNhID0gUEJYQWdncmVnYXRlVGFy
Z2V0OwotCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0QkQ2ODkzMjE1MTkxNDUwMDUwREFG
RiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiTExJ
bnQgU2V0dGluZ3MiICovOworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0QkQ2ODkzMjE1
MTkxNDUwMDUwREFGRiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0
ZVRhcmdldCAiKExlZ2FjeSkgTExJbnQgU2V0dGluZ3MiICovOwogCQkJYnVpbGRQaGFzZXMgPSAo
Ci0JCQkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8qIEdlbmVyYXRlIERlcml2ZWQgU291cmNl
cyAqLywKKwkJCQkxNEJENjg5MjIxNTE5MTQ1MDA1MERBRkYgLyogKExlZ2FjeSkgR2VuZXJhdGUg
RGVyaXZlZCBTb3VyY2VzICovLAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKIAkJCQkxNEJE
Njg5MDIxNTE5MTQ1MDA1MERBRkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7Ci0J
CQluYW1lID0gIkxMSW50IFNldHRpbmdzIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgTExJbnQgU2V0
dGluZ3MiOwogCQkJcHJvZHVjdE5hbWUgPSAiRGVyaXZlZCBTb3VyY2VzIjsKIAkJfTsKIAkJNTMy
NUJEQkYyMURGRjJCMTAwQTBERUUxIC8qIEFwcGx5IENvbmZpZ3VyYXRpb24gdG8gWENGaWxlTGlz
dHMgKi8gPSB7CkBAIC03MywxOCArNzMsMTggQEAKIAkJCW5hbWUgPSAiVGVzdCBUb29scyI7CiAJ
CQlwcm9kdWN0TmFtZSA9ICJUZXN0IFRvb2xzIjsKIAkJfTsKLQkJNjU3ODhBOUQxOEI0MDlFQjAw
QzE4OUZGIC8qIE9mZmxpbmUgQXNzZW1ibGVyICovID0geworCQk2NTc4OEE5RDE4QjQwOUVCMDBD
MTg5RkYgLyogKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJsZXIgKi8gPSB7CiAJCQlpc2EgPSBQQlhB
Z2dyZWdhdGVUYXJnZXQ7Ci0JCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNjU3ODhBQTIxOEI0
MDlFQjAwQzE4OUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRl
VGFyZ2V0ICJPZmZsaW5lIEFzc2VtYmxlciIgKi87CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0
ID0gNjU3ODhBQTIxOEI0MDlFQjAwQzE4OUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBm
b3IgUEJYQWdncmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlciIgKi87CiAJ
CQlidWlsZFBoYXNlcyA9ICgKIAkJCQlEREU5OTMwQzI3OEQwODNEMDBGNjBEMjYgLyogUHJvZHVj
dCBEZXBlbmRlbmNpZXMgKi8sCi0JCQkJNjU3ODhBQTAxOEI0MDlFQjAwQzE4OUZGIC8qIE9mZmxp
bmUgQXNzZW1ibGUgKi8sCisJCQkJNjU3ODhBQTAxOEI0MDlFQjAwQzE4OUZGIC8qIChMZWdhY3kp
IE9mZmxpbmUgQXNzZW1ibGUgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAogCQkJCTY1
MjQ0QkQzMThFQ0I1MDAwMDEwQjcwOCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTY1
Nzg4QTlFMThCNDA5RUIwMEMxODlGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJKTsK
LQkJCW5hbWUgPSAiT2ZmbGluZSBBc3NlbWJsZXIiOworCQkJbmFtZSA9ICIoTGVnYWN5KSBPZmZs
aW5lIEFzc2VtYmxlciI7CiAJCQlwcm9kdWN0TmFtZSA9ICJPZmZsaW5lIEFzc2VtYmxlciI7CiAJ
CX07CiAJCTY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQiAvKiBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7
CkBAIC0xODI4LDYgKzE4MjgsOSBAQAogCQlEQ0YzRDU2RDFDRDI5NDc2MDAzRDVDNjUgLyogTGF6
eVByb3BlcnR5SW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRENGM0Q1NjgxQ0QyOTQ2ODAwM0Q1QzY1IC8qIExhenlQcm9wZXJ0eUlubGluZXMu
aCAqLzsgfTsKIAkJRENGREZCRDkxRDFGNUQ5QjAwRkUzRDcyIC8qIEIzQm90dG9tUHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERDRkRGQkQ3
MUQxRjVEOTgwMEZFM0Q3MiAvKiBCM0JvdHRvbVByb3ZpZGVyLmggKi87IH07CiAJCURDRkRGQkRB
MUQxRjVEOUUwMEZFM0Q3MiAvKiBCM1R5cGVNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERDRkRGQkQ4MUQxRjVEOTgwMEZFM0Q3MiAvKiBCM1R5cGVN
YXAuaCAqLzsgfTsKKwkJREQ0MUZBODYyN0NEQUQzMjAwMzk0RDk1IC8qIExvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODZBMDU0NDYxNTU2NDUxQjAwNDQ1MTU3IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtICovOyB9
OworCQlERDQxRkE4NzI3Q0RBRDQzMDAzOTREOTUgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkEwNTQ0NjE1
NTY0NTFCMDA0NDUxNTcgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20gKi87IH07CisJCURENDFG
QTg5MjdDRERERUYwMDM5NEQ5NSAvKiBMb3dMZXZlbEludGVycHJldGVyLmFzbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QTA1NDQ2MTU1NjQ1MUIwMDQ0
NTE1NyAvKiBMb3dMZXZlbEludGVycHJldGVyLmFzbSAqLzsgfTsKIAkJRERCMDRGNDEyNzhFNTY5
QTAwOEQzNjc4IC8qIGxpYldURi5hIGluIFByb2R1Y3QgRGVwZW5kZW5jaWVzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0OThDQUQzMjE0NjU2QzQwMDcxMDg3OSAvKiBsaWJX
VEYuYSAqLzsgfTsKIAkJRERCMDRGNDIyNzhFNTZBMjAwOEQzNjc4IC8qIGxpYldURi5hIGluIEZy
YW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ5OENBRDMyMTQ2
NTZDNDAwNzEwODc5IC8qIGxpYldURi5hICovOyB9OwogCQlEREU5OTMxMDI3OEQwODdEMDBGNjBE
MjYgLyogbGliV2ViS2l0QWRkaXRpb25zLmEgaW4gUHJvZHVjdCBEZXBlbmRlbmNpZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRERFOTkzMEUyNzhEMDg2NjAwRjYwRDI2IC8q
IGxpYldlYktpdEFkZGl0aW9ucy5hICovOyB9OwpAQCAtMjE1Nyw2ICsyMTYwLDUzIEBACiAJCQkp
OwogCQkJc2NyaXB0ID0gImV4ZWMgXCIke1NSQ1JPT1R9L1NjcmlwdHMvcG9zdHByb2Nlc3MtaGVh
ZGVyLXJ1bGVcIlxuIjsKIAkJfTsKKwkJREQ0MUZBN0QyN0NEQTZGRTAwMzk0RDk1IC8qIFBCWEJ1
aWxkUnVsZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEJ1aWxkUnVsZTsKKwkJCWNvbXBpbGVyU3BlYyA9
IGNvbS5hcHBsZS5jb21waWxlcnMucHJveHkuc2NyaXB0OworCQkJZGVwZW5kZW5jeUZpbGUgPSAi
JChERVJJVkVEX0ZJTEVTX0RJUikvJChDVVJSRU5UX0FSQ0gpLyQoSU5QVVRfRklMRV9CQVNFKS5k
IjsKKwkJCWZpbGVQYXR0ZXJucyA9ICIqLmFzbSI7CisJCQlmaWxlVHlwZSA9IHBhdHRlcm4ucHJv
eHk7CisJCQlpbnB1dEZpbGVzID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvSlNDTExJ
bnRPZmZzZXRzRXh0cmFjdG9yIiwKKwkJCQkiJChTUkNST09UKS9vZmZsaW5lYXNtIiwKKwkJCSk7
CisJCQlpc0VkaXRhYmxlID0gMTsKKwkJCW91dHB1dEZpbGVzID0gKAorCQkJCSIkKERFUklWRURf
RklMRVNfRElSKS8kKENVUlJFTlRfQVJDSCkvTExJbnRBc3NlbWJseS5oIiwKKwkJCSk7CisJCQlz
Y3JpcHQgPSAiT0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FU
SU9OfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJ
TkVBU01fQVJHU30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNf
SEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmlcblxuY2QgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0v
RGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIlxuXG4vdXNyL2Jpbi9lbnYgcnVieSBKYXZh
U2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rl
cml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIgXCIke0lOUFVUX0ZJTEVfUEFUSH1cIiBcIiR7
U0NSSVBUX0lOUFVUX0ZJTEVfMH1cIiBcIiR7U0NSSVBUX09VVFBVVF9GSUxFXzB9XCIgXCIke0JV
SUxEX1ZBUklBTlRTfVwiICR7T0ZGTElORUFTTV9BUkdTfSAtLWRlcGZpbGU9XCIke0RFUklWRURf
RklMRVNfRElSfS8ke0NVUlJFTlRfQVJDSH0vJHtJTlBVVF9GSUxFX0JBU0V9LmRcIlxuIjsKKwkJ
fTsKKwkJREQ0MUZBN0UyN0NEQTg5RDAwMzk0RDk1IC8qIFBCWEJ1aWxkUnVsZSAqLyA9IHsKKwkJ
CWlzYSA9IFBCWEJ1aWxkUnVsZTsKKwkJCWNvbXBpbGVyU3BlYyA9IGNvbS5hcHBsZS5jb21waWxl
cnMucHJveHkuc2NyaXB0OworCQkJZGVwZW5kZW5jeUZpbGUgPSAiJChERVJJVkVEX0ZJTEVTX0RJ
UikvJChDVVJSRU5UX0FSQ0gpLyQoSU5QVVRfRklMRV9CQVNFKS5kIjsKKwkJCWZpbGVQYXR0ZXJu
cyA9ICIqLmFzbSI7CisJCQlmaWxlVHlwZSA9IHBhdHRlcm4ucHJveHk7CisJCQlpbnB1dEZpbGVz
ID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvSlNDTExJbnRTZXR0aW5nc0V4dHJhY3Rv
ciIsCisJCQkJIiQoU1JDUk9PVCkvb2ZmbGluZWFzbSIsCisJCQkpOworCQkJaXNFZGl0YWJsZSA9
IDE7CisJCQlvdXRwdXRGaWxlcyA9ICgKKwkJCQkiJChERVJJVkVEX0ZJTEVTX0RJUikvJChDVVJS
RU5UX0FSQ0gpL0xMSW50RGVzaXJlZE9mZnNldHMuaCIsCisJCQkpOworCQkJc2NyaXB0ID0gInNl
dCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJ
T059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVBU01fQVJHUz1cIiR7T0ZGTElO
RUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dLX1dFQktJVEFERElUSU9OU19I
RUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG4vdXNyL2Jpbi9lbnYgcnVieSBcIiR7U1JDUk9P
VH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9yLnJiXCIgXCItSSR7QlVJTFRf
UFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwiIFwiJHtJTlBVVF9G
SUxFX1BBVEh9XCIgIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0pTQ0xMSW50U2V0dGluZ3NFeHRy
YWN0b3JcIiBcIiR7U0NSSVBUX09VVFBVVF9GSUxFXzB9XCIgXCIke0FSQ0hTfSBDX0xPT1BcIiBc
IiR7QlVJTERfVkFSSUFOVFN9XCIgJHtPRkZMSU5FQVNNX0FSR1N9IC0tZGVwZmlsZT1cIiR7REVS
SVZFRF9GSUxFU19ESVJ9LyR7Q1VSUkVOVF9BUkNIfS8ke0lOUFVUX0ZJTEVfQkFTRX0uZFwiXG5c
biI7CisJCX07CisJCURENDFGQTgxMjdDREFBNTQwMDM5NEQ5NSAvKiBQQlhCdWlsZFJ1bGUgKi8g
PSB7CisJCQlpc2EgPSBQQlhCdWlsZFJ1bGU7CisJCQljb21waWxlclNwZWMgPSBjb20uYXBwbGUu
Y29tcGlsZXJzLnByb3h5LnNjcmlwdDsKKwkJCWRlcGVuZGVuY3lGaWxlID0gIiQoREVSSVZFRF9G
SUxFU19ESVIpLyQoQ1VSUkVOVF9BUkNIKS8kKElOUFVUX0ZJTEVfQkFTRSkuZCI7CisJCQlmaWxl
UGF0dGVybnMgPSAiKi5hc20iOworCQkJZmlsZVR5cGUgPSBwYXR0ZXJuLnByb3h5OworCQkJaW5w
dXRGaWxlcyA9ICgKKwkJCQkiJChTUkNST09UKS9vZmZsaW5lYXNtIiwKKwkJCSk7CisJCQlpc0Vk
aXRhYmxlID0gMTsKKwkJCW91dHB1dEZpbGVzID0gKAorCQkJCSIkKERFUklWRURfRklMRVNfRElS
KS8kKENVUlJFTlRfQVJDSCkvTExJbnREZXNpcmVkU2V0dGluZ3MuaCIsCisJCQkpOworCQkJc2Ny
aXB0ID0gInNldCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIke0RFUExPWU1F
TlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVBU01fQVJHUz1c
IiR7T0ZGTElORUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dLX1dFQktJVEFE
RElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG4vdXNyL2Jpbi9lbnYgcnVieSBc
IiR7U1JDUk9PVH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9zZXR0aW5nc19leHRyYWN0b3IucmJcIiBc
Ii1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIg
XCIke0lOUFVUX0ZJTEVfUEFUSH1cIiBcIiR7U0NSSVBUX09VVFBVVF9GSUxFXzB9XCIgXCIke0FS
Q0hTfSBDX0xPT1BcIiAke09GRkxJTkVBU01fQVJHU30gLS1kZXBmaWxlPVwiJHtERVJJVkVEX0ZJ
TEVTX0RJUn0vJHtDVVJSRU5UX0FSQ0h9LyR7SU5QVVRfRklMRV9CQVNFfS5kXCJcbiI7CisJCX07
CiAvKiBFbmQgUEJYQnVpbGRSdWxlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYQ29udGFpbmVy
SXRlbVByb3h5IHNlY3Rpb24gKi8KQEAgLTIzNzAsMTMgKzI0MjAsNiBAQAogCQkJcmVtb3RlR2xv
YmFsSURTdHJpbmcgPSA2NUZCM0Y2NjA5RDExRTkxMDBGNDlERUI7CiAJCQlyZW1vdGVJbmZvID0g
IkRlcml2ZWQgU291cmNlcyI7CiAJCX07Ci0JCTY1Nzg4QUFDMThCNDBBN0IwMEMxODlGRiAvKiBQ
QlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7Ci0JCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJv
eHk7Ci0JCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJv
amVjdCBvYmplY3QgKi87Ci0JCQlwcm94eVR5cGUgPSAxOwotCQkJcmVtb3RlR2xvYmFsSURTdHJp
bmcgPSA2NTc4OEE5RDE4QjQwOUVCMDBDMTg5RkY7Ci0JCQlyZW1vdGVJbmZvID0gIk9mZmxpbmUg
QXNzZW1ibGVyIjsKLQkJfTsKIAkJNjVGQjNGN0QwOUQxMUVGMzAwRjQ5REVCIC8qIFBCWENvbnRh
aW5lckl0ZW1Qcm94eSAqLyA9IHsKIAkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKIAkJ
CWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9i
amVjdCAqLzsKQEAgLTIzOTgsNiArMjQ0MSwxMyBAQAogCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcg
PSA5MzJGNUIzRTA4MjJBMUM3MDA3MzY5NzU7CiAJCQlyZW1vdGVJbmZvID0gIkphdmFTY3JpcHRD
b3JlIChVcGdyYWRlZCkiOwogCQl9OworCQlERDQxRkE4QTI3Q0RFMUM0MDAzOTREOTUgLyogUEJY
Q29udGFpbmVySXRlbVByb3h5ICovID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5
OworCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2pl
Y3Qgb2JqZWN0ICovOworCQkJcHJveHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5n
ID0gNjU3ODhBOUQxOEI0MDlFQjAwQzE4OUZGOworCQkJcmVtb3RlSW5mbyA9ICIoTGVnYWN5KSBP
ZmZsaW5lIEFzc2VtYmxlciI7CisJCX07CiAJCUZFNTMzQ0FFMUYyMTdFQzYwMDE2QTFGRSAvKiBQ
QlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CiAJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJv
eHk7CiAJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJv
amVjdCBvYmplY3QgKi87CkBAIC0xMTQxMyw2ICsxMTQ2Myw3IEBACiAJCQkJMEZGOTIyQzYxNEY0
NkIxMzAwNDFBMjRFIC8qIEZyYW1ld29ya3MgKi8sCiAJCQkpOwogCQkJYnVpbGRSdWxlcyA9ICgK
KwkJCQlERDQxRkE3RTI3Q0RBODlEMDAzOTREOTUgLyogUEJYQnVpbGRSdWxlICovLAogCQkJKTsK
IAkJCWRlcGVuZGVuY2llcyA9ICgKIAkJCQkxNENGQjEwOTIzMDM1RjEzMDBGMDA0OEMgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKQEAgLTExNDcxLDYgKzExNTIyLDcgQEAKIAkJCQkxNEJENjg4
ODIxNTE5MTMxMDA1MERBRkYgLyogRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlidWlsZFJ1bGVz
ID0gKAorCQkJCURENDFGQTgxMjdDREFBNTQwMDM5NEQ5NSAvKiBQQlhCdWlsZFJ1bGUgKi8sCiAJ
CQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAogCQkJCTE0Q0ZCMTA3MjMwMzVGMEYwMEYwMDQ4QyAv
KiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLApAQCAtMTE1NTQsMTAgKzExNjA2LDExIEBACiAJCQkJ
NjU3N0ZGQzYyNzZBQzhEMjAwMTFBRUM4IC8qIENyZWF0ZSBTeW1saW5rIHRvIEFsdCBSb290IFBh
dGggKi8sCiAJCQkpOwogCQkJYnVpbGRSdWxlcyA9ICgKKwkJCQlERDQxRkE3RDI3Q0RBNkZFMDAz
OTREOTUgLyogUEJYQnVpbGRSdWxlICovLAogCQkJCTUzNUUwOEMyMjI1NDVBQzgwMERGMDBDQSAv
KiBQQlhCdWlsZFJ1bGUgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAotCQkJCTY1Nzg4
QUFEMThCNDBBN0IwMEMxODlGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAorCQkJCURENDFG
QThCMjdDREUxQzQwMDM5NEQ5NSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTY1RkIz
RjdFMDlEMTFFRjMwMEY0OURFQiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTUzQjRC
RDE0MUY2OEMyQUEwMEQyQkVBMyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJKTsKQEAg
LTExNjM2LDExICsxMTY4OSwxMSBAQAogCQkJCTkzMkY1QkUzMDgyMkExQzcwMDczNjk3NSAvKiBB
bGwgKi8sCiAJCQkJOTMyRjVCM0UwODIyQTFDNzAwNzM2OTc1IC8qIEphdmFTY3JpcHRDb3JlICov
LAogCQkJCTY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQiAvKiBEZXJpdmVkIFNvdXJjZXMgKi8sCi0J
CQkJMTRCRDY4OEYyMTUxOTE0NTAwNTBEQUZGIC8qIExMSW50IFNldHRpbmdzICovLAorCQkJCTE0
QkQ2ODhGMjE1MTkxNDUwMDUwREFGRiAvKiAoTGVnYWN5KSBMTEludCBTZXR0aW5ncyAqLywKIAkJ
CQkxNEJENjg4MTIxNTE5MTMxMDA1MERBRkYgLyogSlNDTExJbnRTZXR0aW5nc0V4dHJhY3RvciAq
LywKLQkJCQkwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zmc2V0cyAqLywKKwkJ
CQkwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogKExlZ2FjeSkgTExJbnQgT2Zmc2V0cyAqLywK
IAkJCQkwRkY5MjJDMzE0RjQ2QjEzMDA0MUEyNEUgLyogSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9y
ICovLAotCQkJCTY1Nzg4QTlEMThCNDA5RUIwMEMxODlGRiAvKiBPZmZsaW5lIEFzc2VtYmxlciAq
LywKKwkJCQk2NTc4OEE5RDE4QjQwOUVCMDBDMTg5RkYgLyogKExlZ2FjeSkgT2ZmbGluZSBBc3Nl
bWJsZXIgKi8sCiAJCQkJNTNCNEJEMDQxRjY4QUY4OTAwRDJCRUEzIC8qIEdlbmVyYXRlIFVuaWZp
ZWQgU291cmNlcyAqLywKIAkJCQlFMUFDMkUyNzIwRjdCOTRDMDBCMDg5N0QgLyogVW5sb2NrIEtl
eWNoYWluICovLAogCQkJCTE0MTIxMTFGMEE0ODc5M0MwMDQ4MDI1NSAvKiBtaW5pZG9tICovLApA
QCAtMTE2NzEsMzMgKzExNzI0LDMzIEBACiAvKiBFbmQgUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBz
ZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICov
Ci0JCTBGNDY4MEFBMTRCQTdGRDkwMEJGRTI3MiAvKiBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMg
Ki8gPSB7CisJCTBGNDY4MEFBMTRCQTdGRDkwMEJGRTI3MiAvKiAoTGVnYWN5KSBHZW5lcmF0ZSBE
ZXJpdmVkIFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7
CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCiAJCQkpOwog
CQkJaW5wdXRQYXRocyA9ICgKIAkJCSk7Ci0JCQluYW1lID0gIkdlbmVyYXRlIERlcml2ZWQgU291
cmNlcyI7CisJCQluYW1lID0gIihMZWdhY3kpIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyI7CiAJ
CQlvdXRwdXRQYXRocyA9ICgKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICJz
ZXQgLWVcblxuT0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FU
SU9OfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJ
TkVBU01fQVJHU30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNf
SEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmlcblxubWtkaXIgLXAgXCIke0JVSUxUX1BST0RVQ1RT
X0RJUn0vTExJbnRPZmZzZXRzLyR7QVJDSFN9XCJcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke1NS
Q1JPT1R9L29mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYlwiIFwiLUkke0JV
SUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBcIiR7U1JD
Uk9PVH0vbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc21cIiAgXCIke0JVSUxUX1BST0RVQ1RT
X0RJUn0vSlNDTExJbnRTZXR0aW5nc0V4dHJhY3RvclwiIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9
L0xMSW50T2Zmc2V0cy8ke0FSQ0hTfS9MTEludERlc2lyZWRPZmZzZXRzLmhcIiBcIiR7QVJDSFN9
IENfTE9PUFwiIFwiJHtCVUlMRF9WQVJJQU5UU31cIiAke09GRkxJTkVBU01fQVJHU31cbiI7CisJ
CQlzaGVsbFNjcmlwdCA9ICJbIFwiJHtXS19VU0VfTkVXX0JVSUxEX1NZU1RFTX1cIiA9IFwiWUVT
XCIgXSAmJiBleGl0IDBcbnNldCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIk
e0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVB
U01fQVJHUz1cIiR7T0ZGTElORUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dL
X1dFQktJVEFERElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG5ta2RpciAtcCBc
IiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU31cIlxuXG4vdXNyL2Jp
bi9lbnYgcnVieSBcIiR7U1JDUk9PVH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFj
dG9yLnJiXCIgXCItSSR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2Ny
aXB0Q29yZVwiIFwiJHtTUkNST09UfS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbVwiICBc
IiR7QlVJTFRfUFJPRFVDVFNfRElSfS9KU0NMTEludFNldHRpbmdzRXh0cmFjdG9yXCIgXCIke0JV
SUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRzLyR7QVJDSFN9L0xMSW50RGVzaXJlZE9mZnNl
dHMuaFwiIFwiJHtBUkNIU30gQ19MT09QXCIgXCIke0JVSUxEX1ZBUklBTlRTfVwiICR7T0ZGTElO
RUFTTV9BUkdTfVxuIjsKIAkJfTsKLQkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8qIEdlbmVy
YXRlIERlcml2ZWQgU291cmNlcyAqLyA9IHsKKwkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8q
IChMZWdhY3kpIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNo
ZWxsU2NyaXB0QnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJ
CQlmaWxlcyA9ICgKIAkJCSk7CiAJCQlpbnB1dFBhdGhzID0gKAogCQkJKTsKLQkJCW5hbWUgPSAi
R2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgR2VuZXJhdGUg
RGVyaXZlZCBTb3VyY2VzIjsKIAkJCW91dHB1dFBhdGhzID0gKAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsK
LQkJCXNoZWxsU2NyaXB0ID0gInNldCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sg
XCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJ
TkVBU01fQVJHUz1cIiR7T0ZGTElORUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0k
e1dLX1dFQktJVEFERElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG5ta2RpciAt
cCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU31cIlxuXG4vdXNy
L2Jpbi9lbnYgcnVieSBcIiR7U1JDUk9PVH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9zZXR0aW5nc19l
eHRyYWN0b3IucmJcIiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0ph
dmFTY3JpcHRDb3JlXCIgXCIke1NSQ1JPT1R9L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
XCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRzLyR7QVJDSFN9L0xMSW50RGVz
aXJlZFNldHRpbmdzLmhcIiBcIiR7QVJDSFN9IENfTE9PUFwiICR7T0ZGTElORUFTTV9BUkdTfVxu
IjsKKwkJCXNoZWxsU2NyaXB0ID0gIlsgXCIke1dLX1VTRV9ORVdfQlVJTERfU1lTVEVNfVwiID0g
XCJZRVNcIiBdICYmIGV4aXQgMFxuc2V0IC1lXG5cbk9GRkxJTkVBU01fQVJHUz1cIlwiXG5pZiBb
WyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIllFU1wiIF1dOyB0aGVuXG4gICAgT0ZG
TElORUFTTV9BUkdTPVwiJHtPRkZMSU5FQVNNX0FSR1N9IC0td2Via2l0LWFkZGl0aW9ucy1wYXRo
PSR7V0tfV0VCS0lUQURESVRJT05TX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmZpXG5cbm1rZGly
IC1wIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy8ke0FSQ0hTfVwiXG5cbi91
c3IvYmluL2VudiBydWJ5IFwiJHtTUkNST09UfS9vZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdz
X2V4dHJhY3Rvci5yYlwiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMv
SmF2YVNjcmlwdENvcmVcIiBcIiR7U1JDUk9PVH0vbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c21cIiBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU30vTExJbnRE
ZXNpcmVkU2V0dGluZ3MuaFwiIFwiJHtBUkNIU30gQ19MT09QXCIgJHtPRkZMSU5FQVNNX0FSR1N9
XG4iOwogCQl9OwogCQkxQTAyRDlBODFCMzRBODgyMDAwRDE1MjIgLyogQWRkIFN5bWxpbmsgaW4g
L1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzICovID0gewogCQkJaXNhID0gUEJYU2hl
bGxTY3JpcHRCdWlsZFBoYXNlOwpAQCAtMTE5MzYsMTkgKzExOTg5LDE5IEBACiAJCQlzaGVsbFBh
dGggPSAvYmluL3pzaDsKIAkJCXNoZWxsU2NyaXB0ID0gIlwiJHtTUkNST09UfS9TY3JpcHRzL2Ny
ZWF0ZS1zeW1saW5rLXRvLWFsdHJvb3Quc2hcIlxuIjsKIAkJfTsKLQkJNjU3ODhBQTAxOEI0MDlF
QjAwQzE4OUZGIC8qIE9mZmxpbmUgQXNzZW1ibGUgKi8gPSB7CisJCTY1Nzg4QUEwMThCNDA5RUIw
MEMxODlGRiAvKiAoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlICovID0gewogCQkJaXNhID0gUEJY
U2hlbGxTY3JpcHRCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
IAkJCWZpbGVzID0gKAogCQkJKTsKIAkJCWlucHV0UGF0aHMgPSAoCiAJCQkpOwotCQkJbmFtZSA9
ICJPZmZsaW5lIEFzc2VtYmxlIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJs
ZSI7CiAJCQlvdXRwdXRQYXRocyA9ICgKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlw
dCA9ICJpZiBbWyBcIiR7QUNUSU9OfVwiID09IFwiaW5zdGFsbGhkcnNcIiBdXTsgdGhlblxuICAg
IGV4aXQgMFxuZmlcblxuT0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5U
X0xPQ0FUSU9OfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIk
e09GRkxJTkVBU01fQVJHU30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJ
VElPTlNfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmlcblxuY2QgXCIke0JVSUxUX1BST0RVQ1RT
X0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIlxuXG4vdXNyL2Jpbi9lbnYgcnVi
eSBKYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYiBcIi1JJHtCVUlMVF9QUk9EVUNUU19E
SVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIgSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc20gXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vSlNDTExJbnRP
ZmZzZXRzRXh0cmFjdG9yXCIgTExJbnRBc3NlbWJseS5oIFwiJHtCVUlMRF9WQVJJQU5UU31cIiAk
e09GRkxJTkVBU01fQVJHU30gfHwgZXhpdCAxXG4iOworCQkJc2hlbGxTY3JpcHQgPSAiWyBcIiR7
V0tfVVNFX05FV19CVUlMRF9TWVNURU19XCIgPSBcIllFU1wiIF0gJiYgZXhpdCAwXG5cbmlmIFtb
IFwiJHtBQ1RJT059XCIgPT0gXCJpbnN0YWxsaGRyc1wiIF1dOyB0aGVuXG4gICAgZXhpdCAwXG5m
aVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059
XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVBU01fQVJHUz1cIiR7T0ZGTElORUFT
TV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dLX1dFQktJVEFERElUSU9OU19IRUFE
RVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG5jZCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJp
dmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwiXG5cbi91c3IvYmluL2VudiBydWJ5IEphdmFTY3Jp
cHRDb3JlL29mZmxpbmVhc20vYXNtLnJiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZl
ZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBKYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbSBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9KU0NMTEludE9mZnNldHNFeHRy
YWN0b3JcIiBMTEludEFzc2VtYmx5LmggXCIke0JVSUxEX1ZBUklBTlRTfVwiICR7T0ZGTElORUFT
TV9BUkdTfSB8fCBleGl0IDFcbiI7CiAJCX07CiAJCTY1RkIzRjY1MDlEMTFFOTEwMEY0OURFQiAv
KiBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlw
dEJ1aWxkUGhhc2U7CkBAIC0xMjA4MCw2ICsxMjEzMyw3IEBACiAJCQlpc2EgPSBQQlhTb3VyY2Vz
QnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9
ICgKKwkJCQlERDQxRkE4NzI3Q0RBRDQzMDAzOTREOTUgLyogTG93TGV2ZWxJbnRlcnByZXRlci5h
c20gaW4gU291cmNlcyAqLywKIAkJCQkwRkY5MjJENDE0RjQ2QjQxMDA0MUEyNEUgLyogTExJbnRP
ZmZzZXRzRXh0cmFjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpAQCAtMTIxMjcsNiArMTIxODEsNyBAQAogCQkJ
aXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgz
NjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJREQ0MUZBODYyN0NEQUQzMjAwMzk0RDk1IC8qIExvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtIGluIFNvdXJjZXMgKi8sCiAJCQkJMTRCRDY4OUQyMTUxOTFDMTAw
NTBEQUZGIC8qIExMSW50U2V0dGluZ3NFeHRyYWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CkBAIC0xMjIyMCw2
ICsxMjI3NSw3IEBACiAJCQkJNTM2QjMxMzQxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3Vy
Y2U0MC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzEzMTFGNzFDNTk5MDAzN0ZDMzMgLyog
VW5pZmllZFNvdXJjZTQxLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTNCMUY3MUM1OTkw
MDM3RkMzMyAvKiBVbmlmaWVkU291cmNlNDIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJREQ0MUZB
ODkyN0NERERFRjAwMzk0RDk1IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNTM2QjMxM0UxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2U0My5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzE0QzFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNv
dXJjZTQ0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTUxMUY3MUM1OTkwMDM3RkMzMyAv
KiBVbmlmaWVkU291cmNlNDUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMjM5NCw3ICsxMjQ1MCw3
IEBACiAJCX07CiAJCTBGRjkyMkQzMTRGNDZCMkYwMDQxQTI0RSAvKiBQQlhUYXJnZXREZXBlbmRl
bmN5ICovID0gewogCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKLQkJCXRhcmdldCA9IDBG
NDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBMTEludCBPZmZzZXRzICovOworCQkJdGFyZ2V0ID0g
MEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8qIChMZWdhY3kpIExMSW50IE9mZnNldHMgKi87CiAJ
CQl0YXJnZXRQcm94eSA9IDBGRjkyMkQyMTRGNDZCMkYwMDQxQTI0RSAvKiBQQlhDb250YWluZXJJ
dGVtUHJveHkgKi87CiAJCX07CiAJCTE0QkQ2ODgyMjE1MTkxMzEwMDUwREFGRiAvKiBQQlhUYXJn
ZXREZXBlbmRlbmN5ICovID0gewpAQCAtMTI0MTQsNyArMTI0NzAsNyBAQAogCQl9OwogCQkxNEJE
Njg5QjIxNTE5MTc0MDA1MERBRkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKIAkJCWlz
YSA9IFBCWFRhcmdldERlcGVuZGVuY3k7Ci0JCQl0YXJnZXQgPSAxNEJENjg4RjIxNTE5MTQ1MDA1
MERBRkYgLyogTExJbnQgU2V0dGluZ3MgKi87CisJCQl0YXJnZXQgPSAxNEJENjg4RjIxNTE5MTQ1
MDA1MERBRkYgLyogKExlZ2FjeSkgTExJbnQgU2V0dGluZ3MgKi87CiAJCQl0YXJnZXRQcm94eSA9
IDE0QkQ2ODlBMjE1MTkxNzQwMDUwREFGRiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CiAJ
CX07CiAJCTE0Q0ZCMTAwMjMwMzVFRjMwMEYwMDQ4QyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICov
ID0gewpAQCAtMTI1MjcsMTEgKzEyNTgzLDYgQEAKIAkJCXRhcmdldCA9IDY1RkIzRjY2MDlEMTFF
OTEwMEY0OURFQiAvKiBEZXJpdmVkIFNvdXJjZXMgKi87CiAJCQl0YXJnZXRQcm94eSA9IDY1Nzg4
QUFBMThCNDBBM0IwMEMxODlGRiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CiAJCX07Ci0J
CTY1Nzg4QUFEMThCNDBBN0IwMEMxODlGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewot
CQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKLQkJCXRhcmdldCA9IDY1Nzg4QTlEMThCNDA5
RUIwMEMxODlGRiAvKiBPZmZsaW5lIEFzc2VtYmxlciAqLzsKLQkJCXRhcmdldFByb3h5ID0gNjU3
ODhBQUMxOEI0MEE3QjAwQzE4OUZGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKLQkJfTsK
IAkJNjVGQjNGN0UwOUQxMUVGMzAwRjQ5REVCIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7
CiAJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OwogCQkJdGFyZ2V0ID0gNjVGQjNGNjYwOUQx
MUU5MTAwRjQ5REVCIC8qIERlcml2ZWQgU291cmNlcyAqLzsKQEAgLTEyNTQ3LDYgKzEyNTk4LDEx
IEBACiAJCQl0YXJnZXQgPSA5MzJGNUIzRTA4MjJBMUM3MDA3MzY5NzUgLyogSmF2YVNjcmlwdENv
cmUgKi87CiAJCQl0YXJnZXRQcm94eSA9IDkzMkY1QkU2MDgyMkExQzcwMDczNjk3NSAvKiBQQlhD
b250YWluZXJJdGVtUHJveHkgKi87CiAJCX07CisJCURENDFGQThCMjdDREUxQzQwMDM5NEQ5NSAv
KiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0geworCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5j
eTsKKwkJCXRhcmdldCA9IDY1Nzg4QTlEMThCNDA5RUIwMEMxODlGRiAvKiAoTGVnYWN5KSBPZmZs
aW5lIEFzc2VtYmxlciAqLzsKKwkJCXRhcmdldFByb3h5ID0gREQ0MUZBOEEyN0NERTFDNDAwMzk0
RDk1IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsKIAkJRkU1MzNDQUYxRjIxN0VD
NjAwMTZBMUZFIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhUYXJn
ZXREZXBlbmRlbmN5OwogCQkJdGFyZ2V0ID0gRkU1MzNDQTExRjIxN0RCMzAwMTZBMUZFIC8qIHRl
c3RtYXNtICovOwpAQCAtMTMyNDYsNyArMTMzMDIsNyBAQAogLyogRW5kIFhDQnVpbGRDb25maWd1
cmF0aW9uIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9u
ICovCi0JCTBGNDY4MEFDMTRCQTdGRDkwMEJGRTI3MiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxp
c3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiTExJbnQgT2Zmc2V0cyIgKi8gPSB7CisJCTBGNDY4
MEFDMTRCQTdGRDkwMEJGRTI3MiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFn
Z3JlZ2F0ZVRhcmdldCAiKExlZ2FjeSkgTExJbnQgT2Zmc2V0cyIgKi8gPSB7CiAJCQlpc2EgPSBY
Q0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKIAkJCQkwRjQ2
ODBBRDE0QkE3RkQ5MDBCRkUyNzIgLyogRGVidWcgKi8sCkBAIC0xMzM3OCw3ICsxMzQzNCw3IEBA
CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmln
dXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOwogCQl9OwotCQkxNEJENjg5MzIxNTE5MTQ1MDA1MERB
RkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIkxM
SW50IFNldHRpbmdzIiAqLyA9IHsKKwkJMTRCRDY4OTMyMTUxOTE0NTAwNTBEQUZGIC8qIEJ1aWxk
IGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBMTElu
dCBTZXR0aW5ncyIgKi8gPSB7CiAJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVp
bGRDb25maWd1cmF0aW9ucyA9ICgKIAkJCQkxNEJENjg5NDIxNTE5MTQ1MDA1MERBRkYgLyogRGVi
dWcgKi8sCkBAIC0xMzQ1NSw3ICsxMzUxMSw3IEBACiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklz
VmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOwog
CQl9OwotCQk2NTc4OEFBMjE4QjQwOUVCMDBDMTg5RkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBs
aXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIk9mZmxpbmUgQXNzZW1ibGVyIiAqLyA9IHsKKwkJ
NjU3ODhBQTIxOEI0MDlFQjAwQzE4OUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3Ig
UEJYQWdncmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlciIgKi8gPSB7CiAJ
CQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgK
IAkJCQk2NTc4OEFBMzE4QjQwOUVCMDBDMTg5RkYgLyogRGVidWcgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hc20ucmIgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvb2ZmbGluZWFzbS9hc20ucmIKaW5kZXggYmVkM2FkOTFjOTNmLi5hYWQ2YjM4MTFjZGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYgorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hc20ucmIKQEAgLTMzLDYgKzMzLDcg
QEAgcmVxdWlyZSAnb3B0cGFyc2UnCiByZXF1aXJlICJwYXJzZXIiCiByZXF1aXJlICJzZWxmX2hh
c2giCiByZXF1aXJlICJzZXR0aW5ncyIKK3JlcXVpcmUgInNoZWxsd29yZHMiCiByZXF1aXJlICJ0
cmFuc2Zvcm0iCiAKIGNsYXNzIEFzc2VtYmxlcgpAQCAtMzQ3LDcgKzM0OCw3IEBAIHZhcmlhbnRz
ID0gQVJHVi5zaGlmdC5zcGxpdCgvWyxcc10rLykKIAogJG9wdGlvbnMgPSB7fQogT3B0aW9uUGFy
c2VyLm5ldyBkbyB8b3B0c3wKLSAgICBvcHRzLmJhbm5lciA9ICJVc2FnZTogYXNtLnJiIGFzbUZp
bGUgb2Zmc2V0c0ZpbGUgb3V0cHV0RmlsZU5hbWUgWy0tYXNzZW1ibGVyPTxBU00+XSBbLS13ZWJr
aXQtYWRkaXRpb25zLXBhdGg9PHBhdGg+XSBbLS1iaW5hcnktZm9ybWF0PTxmb3JtYXQ+XSIKKyAg
ICBvcHRzLmJhbm5lciA9ICJVc2FnZTogYXNtLnJiIGFzbUZpbGUgb2Zmc2V0c0ZpbGUgb3V0cHV0
RmlsZU5hbWUgWy0tYXNzZW1ibGVyPTxBU00+XSBbLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9PHBh
dGg+XSBbLS1iaW5hcnktZm9ybWF0PTxmb3JtYXQ+XSBbLS1kZXBmaWxlPTxkZXBmaWxlPl0iCiAg
ICAgIyBUaGlzIG9wdGlvbiBpcyBjdXJyZW50bHkgb25seSB1c2VkIHRvIHNwZWNpZnkgdGhlIG1h
c20gYXNzZW1ibGVyCiAgICAgb3B0cy5vbigiLS1hc3NlbWJsZXI9W0FTTV0iLCAiU3BlY2lmeSBh
biBhc3NlbWJsZXIgdG8gdXNlLiIpIGRvIHxhc3NlbWJsZXJ8CiAgICAgICAgICRvcHRpb25zWzph
c3NlbWJsZXJdID0gYXNzZW1ibGVyCkBAIC0zNTgsNiArMzU5LDkgQEAgT3B0aW9uUGFyc2VyLm5l
dyBkbyB8b3B0c3wKICAgICBvcHRzLm9uKCItLWJpbmFyeS1mb3JtYXQ9Rk9STUFUIiwgIlNwZWNp
ZnkgdGhlIGJpbmFyeSBmb3JtYXQgdXNlZCBieSB0aGUgdGFyZ2V0IHN5c3RlbS4iKSBkbyB8Zm9y
bWF0fAogICAgICAgICAkb3B0aW9uc1s6YmluYXJ5X2Zvcm1hdF0gPSBmb3JtYXQKICAgICBlbmQK
KyAgICBvcHRzLm9uKCItLWRlcGZpbGU9REVQRklMRSIsICJQYXRoIHRvIHdyaXRlIE1ha2VmaWxl
LXN0eWxlIGRpc2NvdmVyZWQgZGVwZW5kZW5jaWVzIHRvLiIpIGRvIHxwYXRofAorICAgICAgICAk
b3B0aW9uc1s6ZGVwZmlsZV0gPSBwYXRoCisgICAgZW5kCiBlbmQucGFyc2UhCiAKIGJlZ2luCkBA
IC0zODQsNyArMzg4LDcgQEAgaW5wdXRIYXNoID0KICAgICAiICIgKyBzZWxmSGFzaCArCiAgICAg
IiAiICsgRGlnZXN0OjpTSEExLmhleGRpZ2VzdCgkb3B0aW9ucy5oYXNfa2V5Pyg6YXNzZW1ibGVy
KSA/ICRvcHRpb25zWzphc3NlbWJsZXJdIDogIiIpCiAKLWlmIEZpbGVUZXN0LmV4aXN0PyBvdXRw
dXRGbG5tCitpZiBGaWxlVGVzdC5leGlzdD8ob3V0cHV0RmxubSkgYW5kIG5vdCAkb3B0aW9uc1s6
ZGVwZmlsZV0gb3IgRmlsZVRlc3QuZXhpc3Q/KCRvcHRpb25zWzpkZXBmaWxlXSkKICAgICBsYXN0
TGluZSA9IG5pbAogICAgIEZpbGUub3BlbihvdXRwdXRGbG5tLCAiciIpIHsKICAgICAgICAgfCBm
aWxlIHwKQEAgLTM5Niw3ICs0MDAsNyBAQCBpZiBGaWxlVGVzdC5leGlzdD8gb3V0cHV0RmxubQog
ICAgICAgICAgICAgZW5kCiAgICAgICAgIH0KICAgICB9Ci0gICAgaWYgbGFzdExpbmUgYW5kIGxh
c3RMaW5lID09IGlucHV0SGFzaAorICAgIGlmIGxhc3RMaW5lIGFuZCBsYXN0TGluZSA9PSBpbnB1
dEhhc2ggYW5kIG5vdCAKICAgICAgICAgIyBOb3RoaW5nIGNoYW5nZWQuCiAgICAgICAgIGV4aXQg
MAogICAgIGVuZApAQCAtNDEwLDYgKzQxNCwxMyBAQCBGaWxlLm9wZW4ob3V0cHV0RmxubSwgInci
KSB7CiAgICAgCiAgICAgYXN0ID0gcGFyc2UoYXNtRmlsZSwgJG9wdGlvbnMpCiAgICAgc2V0dGlu
Z3NDb21iaW5hdGlvbnMgPSBjb21wdXRlU2V0dGluZ3NDb21iaW5hdGlvbnMoYXN0KQorICAgIAor
ICAgIGlmICRvcHRpb25zWzpkZXBmaWxlXQorICAgICAgICBzb3VyY2VzID0gYXN0LmZsYXR0ZW4u
cmVkdWNlKFNldC5uZXcpIHsgfGZpbGVzLCBub2RlfCBmaWxlcy5hZGQobm9kZS5jb2RlT3JpZ2lu
LmZpbGVOYW1lKSB9CisgICAgICAgIGRlcGZpbGUgPSBGaWxlLm9wZW4oJG9wdGlvbnNbOmRlcGZp
bGVdLCAidyIpCisgICAgICAgIGRlcGZpbGUucHJpbnQoU2hlbGx3b3Jkcy5lc2NhcGUob3V0cHV0
RmxubSksICI6ICIpCisgICAgICAgIGRlcGZpbGUucHV0cyhTaGVsbHdvcmRzLmpvaW4oc291cmNl
cy5zb3J0KSkKKyAgICBlbmQKIAogICAgIGNvbmZpZ3VyYXRpb25MaXN0LmVhY2ggewogICAgICAg
ICB8IGNvbmZpZ3VyYXRpb24gfApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29m
ZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9vZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmIKaW5kZXggMDVjOTM4
MTIyYTMxLi5hMDlhYWY0MWFmODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9v
ZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmIKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL29mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYgpAQCAtMzMs
NiArMzMsNyBAQCByZXF1aXJlICdvcHRwYXJzZScKIHJlcXVpcmUgInBhcnNlciIKIHJlcXVpcmUg
InNlbGZfaGFzaCIKIHJlcXVpcmUgInNldHRpbmdzIgorcmVxdWlyZSAic2hlbGx3b3JkcyIKIHJl
cXVpcmUgInRyYW5zZm9ybSIKIAogSW5jbHVkZUZpbGUucHJvY2Vzc0luY2x1ZGVPcHRpb25zKCkK
QEAgLTQ4LDEwICs0OSwxMyBAQCB2YXJpYW50cyA9IEFSR1Yuc2hpZnQuc3BsaXQoL1ssXHNdKy8p
CiAKICRvcHRpb25zID0ge30KIE9wdGlvblBhcnNlci5uZXcgZG8gfG9wdHN8Ci0gICAgb3B0cy5i
YW5uZXIgPSAiVXNhZ2U6IGdlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmIgYXNtRmlsZSBzZXR0
aW5nRmlsZSBvdXRwdXRGaWxlTmFtZSBiYWNrZW5kcyB2YXJpYW50cyBbLS13ZWJraXQtYWRkaXRp
b25zLXBhdGg9PHBhdGg+XSIKKyAgICBvcHRzLmJhbm5lciA9ICJVc2FnZTogZ2VuZXJhdGVfb2Zm
c2V0X2V4dHJhY3Rvci5yYiBhc21GaWxlIHNldHRpbmdGaWxlIG91dHB1dEZpbGVOYW1lIGJhY2tl
bmRzIHZhcmlhbnRzIFstLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD08cGF0aD5dIFstLWRlcGZpbGU9
PGRlcGZpbGU+XSIKICAgICBvcHRzLm9uKCItLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD1QQVRIIiwg
IldlYktpdEFkZGl0aW9ucyBwYXRoLiIpIGRvIHxwYXRofAogICAgICAgICAkb3B0aW9uc1s6d2Vi
a2l0X2FkZGl0aW9uc19wYXRoXSA9IHBhdGgKICAgICBlbmQKKyAgICBvcHRzLm9uKCItLWRlcGZp
bGU9REVQRklMRSIsICJwYXRoIHRvIHdyaXRlIE1ha2VmaWxlLXN0eWxlIGRpc2NvdmVyZWQgZGVw
ZW5kZW5jaWVzIHRvLiIpIGRvIHxwYXRofAorICAgICAgICAkb3B0aW9uc1s6ZGVwZmlsZV0gPSBw
YXRoCisgICAgZW5kCiBlbmQucGFyc2UhCiAKIGJlZ2luCkBAIC03MSw3ICs3NSw3IEBAIGVuZAog
Y29uZmlndXJhdGlvbkhhc2ggPSBEaWdlc3Q6OlNIQTEuaGV4ZGlnZXN0KGNvbmZpZ3VyYXRpb25M
aXN0LmpvaW4oJyAnKSkKIGlucHV0SGFzaCA9ICIvLyBPZmZzZXRFeHRyYWN0b3IgaW5wdXQgaGFz
aDogI3twYXJzZUhhc2goaW5wdXRGbG5tLCAkb3B0aW9ucyl9ICN7Y29uZmlndXJhdGlvbkhhc2h9
ICN7c2VsZkhhc2h9IgogCi1pZiBGaWxlVGVzdC5leGlzdD8gb3V0cHV0RmxubQoraWYgRmlsZVRl
c3QuZXhpc3Q/KG91dHB1dEZsbm0pIGFuZCBub3QgJG9wdGlvbnNbOmRlcGZpbGVdIG9yIEZpbGVU
ZXN0LmV4aXN0Pygkb3B0aW9uc1s6ZGVwZmlsZV0pCiAgICAgRmlsZS5vcGVuKG91dHB1dEZsbm0s
ICJyIikgewogICAgICAgICB8IGlucCB8CiAgICAgICAgIGZpcnN0TGluZSA9IGlucC5nZXRzCkBA
IC04Miw5ICs4NiwxOCBAQCBpZiBGaWxlVGVzdC5leGlzdD8gb3V0cHV0RmxubQogICAgIH0KIGVu
ZAogCisKKwogYXN0ID0gcGFyc2UoaW5wdXRGbG5tLCAkb3B0aW9ucykKIHNldHRpbmdzQ29tYmlu
YXRpb25zID0gY29tcHV0ZVNldHRpbmdzQ29tYmluYXRpb25zKGFzdCkKIAoraWYgJG9wdGlvbnNb
OmRlcGZpbGVdCisgICAgc291cmNlcyA9IGFzdC5mbGF0dGVuLnJlZHVjZShTZXQubmV3KSB7IHxm
aWxlcywgbm9kZXwgZmlsZXMuYWRkKG5vZGUuY29kZU9yaWdpbi5maWxlTmFtZSkgfQorICAgIGRl
cGZpbGUgPSBGaWxlLm9wZW4oJG9wdGlvbnNbOmRlcGZpbGVdLCAidyIpCisgICAgZGVwZmlsZS5w
cmludChTaGVsbHdvcmRzLmVzY2FwZShvdXRwdXRGbG5tKSwgIjogIikKKyAgICBkZXBmaWxlLnB1
dHMoU2hlbGx3b3Jkcy5qb2luKHNvdXJjZXMuc29ydCkpCitlbmQKKwogRmlsZS5vcGVuKG91dHB1
dEZsbm0sICJ3IikgewogICAgIHwgb3V0cCB8CiAgICAgJG91dHB1dCA9IG91dHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdzX2V4
dHJhY3Rvci5yYiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2dlbmVyYXRlX3Nl
dHRpbmdzX2V4dHJhY3Rvci5yYgppbmRleCBhOWEyMzA5NTljYzguLjUzZmNhNGZiMmNmNiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2VuZXJhdGVfc2V0dGlu
Z3NfZXh0cmFjdG9yLnJiCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2dl
bmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rvci5yYgpAQCAtMzMsNiArMzMsNyBAQCByZXF1aXJlICdv
cHRwYXJzZScKIHJlcXVpcmUgInBhcnNlciIKIHJlcXVpcmUgInNlbGZfaGFzaCIKIHJlcXVpcmUg
InNldHRpbmdzIgorcmVxdWlyZSAic2hlbGx3b3JkcyIKIHJlcXVpcmUgInRyYW5zZm9ybSIKIAog
SW5jbHVkZUZpbGUucHJvY2Vzc0luY2x1ZGVPcHRpb25zKCkKQEAgLTQ1LDE1ICs0NiwxOCBAQCBp
bmNsdWRlT25seUJhY2tlbmRzKHZhbGlkQmFja2VuZHMpCiAKICRvcHRpb25zID0ge30KIE9wdGlv
blBhcnNlci5uZXcgZG8gfG9wdHN8Ci0gICAgb3B0cy5iYW5uZXIgPSAiVXNhZ2U6IGdlbmVyYXRl
X3NldHRpbmdzX2V4dHJhY3Rvci5yYiBhc21GaWxlIHNldHRpbmdGaWxlIFstLXdlYmtpdC1hZGRp
dGlvbnMtcGF0aD08cGF0aD5dIgorICAgIG9wdHMuYmFubmVyID0gIlVzYWdlOiBnZW5lcmF0ZV9z
ZXR0aW5nc19leHRyYWN0b3IucmIgYXNtRmlsZSBzZXR0aW5nRmlsZSBbLS13ZWJraXQtYWRkaXRp
b25zLXBhdGg9PHBhdGg+XSBbLS1kZXBmaWxlPTxkZXBmaWxlPl0iCiAgICAgb3B0cy5vbigiLS13
ZWJraXQtYWRkaXRpb25zLXBhdGg9UEFUSCIsICJXZWJLaXRBZGRpdGlvbnMgcGF0aC4iKSBkbyB8
cGF0aHwKICAgICAgICAgJG9wdGlvbnNbOndlYmtpdF9hZGRpdGlvbnNfcGF0aF0gPSBwYXRoCiAg
ICAgZW5kCisgICAgb3B0cy5vbigiLS1kZXBmaWxlPURFUEZJTEUiLCAicGF0aCB0byB3cml0ZSBN
YWtlZmlsZS1zdHlsZSBkaXNjb3ZlcmVkIGRlcGVuZGVuY2llcyB0by4iKSBkbyB8cGF0aHwKKyAg
ICAgICAgJG9wdGlvbnNbOmRlcGZpbGVdID0gcGF0aAorICAgIGVuZAogZW5kLnBhcnNlIQogCiBp
bnB1dEhhc2ggPSAiLy8gU2V0dGluZ3NFeHRyYWN0b3IgaW5wdXQgaGFzaDogI3twYXJzZUhhc2go
aW5wdXRGbG5tLCAkb3B0aW9ucyl9ICN7c2VsZkhhc2h9IgogCi1pZiBGaWxlVGVzdC5leGlzdD8g
b3V0cHV0RmxubQoraWYgRmlsZVRlc3QuZXhpc3Q/KG91dHB1dEZsbm0pIGFuZCBub3QgJG9wdGlv
bnNbOmRlcGZpbGVdIG9yIEZpbGVUZXN0LmV4aXN0Pygkb3B0aW9uc1s6ZGVwZmlsZV0pCiAgICAg
RmlsZS5vcGVuKG91dHB1dEZsbm0sICJyIikgewogICAgICAgICB8IGlucCB8CiAgICAgICAgIGZp
cnN0TGluZSA9IGlucC5nZXRzCkBAIC02Nyw2ICs3MSwxMyBAQCBlbmQKIG9yaWdpbmFsQVNUID0g
cGFyc2UoaW5wdXRGbG5tLCAkb3B0aW9ucykKIHBydW5lZEFTVCA9IFNlcXVlbmNlLm5ldyhvcmln
aW5hbEFTVC5jb2RlT3JpZ2luLCBvcmlnaW5hbEFTVC5maWx0ZXIoU2V0dGluZykpCiAKK2lmICRv
cHRpb25zWzpkZXBmaWxlXQorICAgIHNvdXJjZXMgPSBwcnVuZWRBU1QuZmxhdHRlbi5yZWR1Y2Uo
U2V0Lm5ldykgeyB8ZmlsZXMsIG5vZGV8IGZpbGVzLmFkZChub2RlLmNvZGVPcmlnaW4uZmlsZU5h
bWUpIH0KKyAgICBkZXBmaWxlID0gRmlsZS5vcGVuKCRvcHRpb25zWzpkZXBmaWxlXSwgInciKQor
ICAgIGRlcGZpbGUucHJpbnQoU2hlbGx3b3Jkcy5lc2NhcGUob3V0cHV0RmxubSksICI6ICIpCisg
ICAgZGVwZmlsZS5wdXRzKFNoZWxsd29yZHMuam9pbihzb3VyY2VzLnNvcnQpKQorZW5kCisKIEZp
bGUub3BlbihvdXRwdXRGbG5tLCAidyIpIHsKICAgICB8IG91dHAgfAogICAgICRvdXRwdXQgPSBv
dXRwCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453553</attachid>
            <date>2022-03-01 16:55:31 -0800</date>
            <delta_ts>2022-03-01 18:18:55 -0800</delta_ts>
            <desc>Integrate offlineasm using build rules and emit a depfile r4</desc>
            <filename>jsc-generated-sources-outputs.patch</filename>
            <type>text/plain</type>
            <size>31919</size>
            <attacher name="Elliott Williams">emw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDk4MzZiNWE1YmJhMS4uNzM3NjBjYmQ1OTE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAyMi0wMy0wMSAgRWxs
aW90dCBXaWxsaWFtcyAgPGVtd0BhcHBsZS5jb20+CisKKyAgICAgICAgW1hDQnVpbGRdIEVtaXQg
YSBkaXNjb3ZlcmVkIGRlcGVuZGVuY3kgZmlsZSBmcm9tIG9mZmxpbmVhc20KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzMyOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFhjb2RlIG5lZWRzIHRvIGtub3cg
d2hhdCBmaWxlcyBvZmZsaW5lYXNtIHVzZXMgYW5kIHByb2R1Y2VzIGluIG9yZGVyIHRvIHNjaGVk
dWxlIGl0CisgICAgICAgIGNvcnJlY3RseSBpbiBpbmNyZW1lbnRhbCBidWlsZHMuIFJhdGhlciB0
aGFuIHVzZSBnZW5lcmF0ZWQgeGNmaWxlbGlzdHMgbGlrZSBXZWJLaXQgZG9lcworICAgICAgICBl
bHNld2hlcmUgaW4gdGhlIHByb2plY3QsIGVtaXQgYSBkZXBmaWxlIGZyb20gb2ZmbGluZWFzbSBi
YXNlZCBvbiB0aGUgcGFyc2UgdHJlZSdzIHNvdXJjZQorICAgICAgICBmaWxlcy4KKworICAgICAg
ICBEaXNjb3ZlcmVkIGRlcGVuZGVuY3kgZmlsZXMgKCJkZXBmaWxlcyIpIGFyZSBNYWtlZmlsZS1m
b3JtYXR0ZWQgZmlsZXMgd2hpY2ggbGlzdCB0aGUgaW5wdXRzCisgICAgICAgIHVzZWQgdG8gcHJv
ZHVjZSBhbiBvdXRwdXQuIFRoZXkgYXJlIGVtaXR0aW5nIGR1cmluZyB0aGUgYnVpbGQgdG8gYSB0
ZW1wb3JhcnkgZGlyZWN0b3J5LCBhbmQKKyAgICAgICAgZW5zdXJlIHRoYXQgc3Vic2VxdWVudCBp
bmNyZW1lbnRhbCBidWlsZHMgd2lsbCByZS1ydW4gb2ZmbGluZWFzbSB3aGVuIGFueSBvZiB0aGUg
aW5jbHVkZWQKKyAgICAgICAgc291cmNlcyBjaGFuZ2UuIFRoaXMgaXMgdGhlIHNhbWUgbWVjaGFu
aXNtIGNsYW5nIHVzZXMgdG8gdHJhY2sgaGVhZGVyIGRlcGVuZGVuY2llcy4KKworICAgICAgICBV
bmZvcnR1bmF0ZWx5LCB0aGUgbGVnYWN5IGJ1aWxkIHN5c3RlbSB3aWxsIHJlZnVzZSB0byBleGVj
dXRlIGEgc2NyaXB0IHBoYXNlIG9yIHJ1bGUgdGhhdAorICAgICAgICBlbWl0cyBhIGRlcGZpbGUu
IFRvIHdvcmsgYXJvdW5kIHRoaXMsIGNvbnZlcnQgdGhlIG9mZmxpbmVhc20gcGlwZWxpbmUgdG8g
YmUgYmFzZWQgb24gYnVpbGQKKyAgICAgICAgcnVsZXMsIHRvIGJlIHVzZWQgYnkgWENCdWlsZCBv
bmx5LiBUaGUgaWRlYSBpcyB0aGF0IExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGlzIGxpc3RlZCBh
cyBhCisgICAgICAgIHNvdXJjZSBidWlsZCBmaWxlIGluIEpTQ0xMSW50U2V0dGluZ3NFeHRyYWN0
b3IsIEpTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvciwgYW5kCisgICAgICAgIEphdmFTY3JpcHRDb3Jl
LiBFYWNoIHRhcmdldCB1c2VzIGEgYnVpbGQgcnVsZSB0byBnZW5lcmF0ZSBpdHMgcmVzcGVjdGl2
ZSBoZWFkZXIgZnJvbQorICAgICAgICBMb3dMZXZlbEludGVycHJldGVyLmFzbS4gWGNvZGUgc2No
ZWR1bGVzIHRoZXNlIHJ1bGUgZXhlY3V0aW9ucyBiZWZvcmUgYW55IGNsYW5nIHRhc2tzLgorCisg
ICAgICAgIFRoZSBsZWdhY3kgYnVpbGQgc3lzdGVtIGF2b2lkcyBleGVjdXRpbmcgdGhlIHJ1bGVz
IHZpYSBFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FUywgYW5kCisgICAgICAgIGluc3RlYWQgdXNl
cyB0aGUgZXhpc3RpbmcgYnVpbGQgcGhhc2VzLCB3aGljaCBoYXZlICIoTGVnYWN5KSIgaW4gdGhl
aXIgbmFtZXMgYW5kIGFyZSBub3cKKyAgICAgICAgbm8tb3BzIHVuZGVyIFhDQnVpbGQuCisKKyAg
ICAgICAgQXNpZGUgZnJvbSB3b3JraW5nIGFyb3VuZCB0aGUgbGVnYWN5IGJ1aWxkIHN5c3RlbSdz
IGxpbWl0YXRpb25zLCB1c2luZyBidWlsZCBydWxlcyBpcworICAgICAgICBwcm9iYWJseSBhIHN1
cGVyaW9yIHdheSB0byBleHByZXNzIHdoYXQgd2UncmUgZG9pbmcsIGFzIGl0IGdpdmVzIFhjb2Rl
IHRoZSBvcHBvcnR1bml0eSB0bworICAgICAgICBjb21waWxlIG90aGVyIG9iamVjdHMgaW4gcGFy
YWxsZWwsIGFuZCBjb3VsZCBiZSBlYXNpbHkgZXh0ZW5kZWQgdG8gY29tcGlsZSBtdWx0aXBsZSBk
aXNjcmV0ZQorICAgICAgICBhc20gZmlsZXMgc2hvdWxkIHRoZSBuZWVkIGFyaXNlLgorCisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvVG9vbEV4ZWN1dGFibGUueGNjb25maWc6IEJ1aWxkIHJ1bGVz
IGFyZSBYQ0J1aWxkLW9ubHkuCisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajogQWRkIGJ1aWxkIHJ1bGVzLCByZW5hbWUgbGVnYWN5IHNjcmlwdHMuCisg
ICAgICAgICogb2ZmbGluZWFzbS9hc20ucmI6IEFkZCAtLWRlcGZpbGUgZmxhZy4KKyAgICAgICAg
KiBvZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmI6IEFkZCAtLWRlcGZpbGUg
ZmxhZy4KKyAgICAgICAgKiBvZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rvci5y
YjogQWRkIC0tZGVwZmlsZSBmbGFnLgorCiAyMDIyLTAyLTI0ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBPbmx5IGNsZWFyIElDVSBjYWNoZSB3aGVu
IHRpbWUgem9uZSBpcyBjaGFuZ2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcKaW5kZXggNjEyYWUw
NmM3MWQ5Li4wNDY4ZTBlN2NkY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9KYXZhU2NyaXB0Q29yZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcKQEAgLTYxLDQg
KzYxLDcgQEAgT1VUUFVUX0FMVEVSTkFURV9ST09UX1BBVEhfWUVTID0gJChEU1RST09UKSQoQUxU
RVJOQVRFX1JPT1RfUEFUSCkvJChGVUxMX1BST0RVQ1QKIElOU1RBTExIRFJTX1NDUklQVF9QSEFT
RSA9IFlFUzsKIEFQUExZX1JVTEVTX0lOX0NPUFlfSEVBREVSUyA9ICQoV0tfVVNFX05FV19CVUlM
RF9TWVNURU0pOwogCitFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FUyA9ICQoaW5oZXJpdGVkKSAk
KEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTXyQoV0tfV0hJQ0hfQlVJTERfU1lTVEVNKSk7CiBF
WENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU1tzZGs9aXBob25lKl0gPSAkKGluaGVyaXRlZCkgZnJh
bWV3b3JrLnNiOworLy8gT2Zmc2V0IGFuZCBzZXR0aW5ncyBoZWFkZXJzIGFyZSBidWlsdCBieSBz
ZXBhcmF0ZSB0YXJnZXRzIGFuZCBzY3JpcHQgcGhhc2VzIGluIHRoZSBsZWdhY3kgYnVpbGQgc3lz
dGVtLCBub3QgdXNpbmcgYnVpbGQgcnVsZXMuCitFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU19s
ZWdhY3kgPSAqLmFzbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZwppbmRleCBlY2M3NzAxYjM5Zjku
LjI5ZGMzMDNjZjlkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3Vy
YXRpb25zL1Rvb2xFeGVjdXRhYmxlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9Db25maWd1cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZwpAQCAtNTQsNiArNTQsMTIg
QEAgQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwogT1RIRVJfQ0ZMQUdTID0gJChpbmhlcml0
ZWQpIC1pc3lzdGVtIGljdTsKIAogLy8gRXhwbGljaXRseSBhZGQgdGhlIFByaXZhdGVIZWFkZXJz
IGRpcmVjdG9yeSB0byB0aGUgc2VhcmNoIHBhdGggc28gdGhhdCBnZW5lcmF0ZWQgaGVhZGVyIGZp
bGVzIGNhbiBiZSBmb3VuZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcy4KLUhFQURFUl9TRUFSQ0hfUEFU
SFMgPSAiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3Jl
IiAiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy8ke0FSQ0hTfSIgIiQoSkFWQVND
UklQVENPUkVfRlJBTUVXT1JLU19ESVIpL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9Qcml2YXRl
SGVhZGVycyIgJChpbmhlcml0ZWQpOworSEVBREVSX1NFQVJDSF9QQVRIUyA9ICIke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUiICQoSEVBREVSX1NFQVJD
SF9QQVRIU18kKFdLX1dISUNIX0JVSUxEX1NZU1RFTSkpICIkKEpBVkFTQ1JJUFRDT1JFX0ZSQU1F
V09SS1NfRElSKS9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvUHJpdmF0ZUhlYWRlcnMiICQoaW5o
ZXJpdGVkKTsKKy8vIFhDQnVpbGQgZ2VuZXJhdGVzIExMSW50T2Zmc2V0cyBpbiBUQVJHRVRfVEVN
UF9ESVIsIHdoaWNoIGRvZXMgbm90IG5lZWQgdG8gYmUgbWFudWFsbHkgc3BlY2lmZWQuCitIRUFE
RVJfU0VBUkNIX1BBVEhTX2xlZ2FjeSA9ICIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZz
ZXRzLyR7QVJDSFN9IjsKKworRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVMgPSAkKEVYQ0xVREVE
X1NPVVJDRV9GSUxFX05BTUVTXyQoV0tfV0hJQ0hfQlVJTERfU1lTVEVNKSk7CisvLyBPZmZzZXQg
YW5kIHNldHRpbmdzIGhlYWRlcnMgYXJlIGJ1aWx0IGJ5IHNlcGFyYXRlIHRhcmdldHMgYW5kIHNj
cmlwdCBwaGFzZXMgaW4gdGhlIGxlZ2FjeSBidWlsZCBzeXN0ZW0sIG5vdCB1c2luZyBidWlsZCBy
dWxlcy4KK0VYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTX2xlZ2FjeSA9ICouYXNtOwogCiBPVEhF
Ul9MREZMQUdTID0gJChpbmhlcml0ZWQpICQoU09VUkNFX1ZFUlNJT05fTERGTEFHUyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUxOTQzODc5ZTgyNS4uODQ3YWE3YjQ5YzBhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMywzMiArMywzMiBAQAogCWFyY2hpdmVW
ZXJzaW9uID0gMTsKIAljbGFzc2VzID0gewogCX07Ci0Jb2JqZWN0VmVyc2lvbiA9IDUxOworCW9i
amVjdFZlcnNpb24gPSA1MjsKIAlvYmplY3RzID0gewogCiAvKiBCZWdpbiBQQlhBZ2dyZWdhdGVU
YXJnZXQgc2VjdGlvbiAqLwotCQkwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zm
c2V0cyAqLyA9IHsKKwkJMEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8qIChMZWdhY3kpIExMSW50
IE9mZnNldHMgKi8gPSB7CiAJCQlpc2EgPSBQQlhBZ2dyZWdhdGVUYXJnZXQ7Ci0JCQlidWlsZENv
bmZpZ3VyYXRpb25MaXN0ID0gMEY0NjgwQUMxNEJBN0ZEOTAwQkZFMjcyIC8qIEJ1aWxkIGNvbmZp
Z3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJMTEludCBPZmZzZXRzIiAqLzsK
KwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAwRjQ2ODBBQzE0QkE3RkQ5MDBCRkUyNzIgLyog
QnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIihMZWdhY3kp
IExMSW50IE9mZnNldHMiICovOwogCQkJYnVpbGRQaGFzZXMgPSAoCi0JCQkJMEY0NjgwQUExNEJB
N0ZEOTAwQkZFMjcyIC8qIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyAqLywKKwkJCQkwRjQ2ODBB
QTE0QkE3RkQ5MDBCRkUyNzIgLyogKExlZ2FjeSkgR2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzICov
LAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKIAkJCQkxNEJENjg5OTIxNTE5MTZEMDA1MERB
RkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7Ci0JCQluYW1lID0gIkxMSW50IE9m
ZnNldHMiOworCQkJbmFtZSA9ICIoTGVnYWN5KSBMTEludCBPZmZzZXRzIjsKIAkJCXByb2R1Y3RO
YW1lID0gIkRlcml2ZWQgU291cmNlcyI7CiAJCX07Ci0JCTE0QkQ2ODhGMjE1MTkxNDUwMDUwREFG
RiAvKiBMTEludCBTZXR0aW5ncyAqLyA9IHsKKwkJMTRCRDY4OEYyMTUxOTE0NTAwNTBEQUZGIC8q
IChMZWdhY3kpIExMSW50IFNldHRpbmdzICovID0gewogCQkJaXNhID0gUEJYQWdncmVnYXRlVGFy
Z2V0OwotCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0QkQ2ODkzMjE1MTkxNDUwMDUwREFG
RiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiTExJ
bnQgU2V0dGluZ3MiICovOworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0QkQ2ODkzMjE1
MTkxNDUwMDUwREFGRiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0
ZVRhcmdldCAiKExlZ2FjeSkgTExJbnQgU2V0dGluZ3MiICovOwogCQkJYnVpbGRQaGFzZXMgPSAo
Ci0JCQkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8qIEdlbmVyYXRlIERlcml2ZWQgU291cmNl
cyAqLywKKwkJCQkxNEJENjg5MjIxNTE5MTQ1MDA1MERBRkYgLyogKExlZ2FjeSkgR2VuZXJhdGUg
RGVyaXZlZCBTb3VyY2VzICovLAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKIAkJCQkxNEJE
Njg5MDIxNTE5MTQ1MDA1MERBRkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7Ci0J
CQluYW1lID0gIkxMSW50IFNldHRpbmdzIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgTExJbnQgU2V0
dGluZ3MiOwogCQkJcHJvZHVjdE5hbWUgPSAiRGVyaXZlZCBTb3VyY2VzIjsKIAkJfTsKIAkJNTMy
NUJEQkYyMURGRjJCMTAwQTBERUUxIC8qIEFwcGx5IENvbmZpZ3VyYXRpb24gdG8gWENGaWxlTGlz
dHMgKi8gPSB7CkBAIC03MywxOCArNzMsMTggQEAKIAkJCW5hbWUgPSAiVGVzdCBUb29scyI7CiAJ
CQlwcm9kdWN0TmFtZSA9ICJUZXN0IFRvb2xzIjsKIAkJfTsKLQkJNjU3ODhBOUQxOEI0MDlFQjAw
QzE4OUZGIC8qIE9mZmxpbmUgQXNzZW1ibGVyICovID0geworCQk2NTc4OEE5RDE4QjQwOUVCMDBD
MTg5RkYgLyogKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJsZXIgKi8gPSB7CiAJCQlpc2EgPSBQQlhB
Z2dyZWdhdGVUYXJnZXQ7Ci0JCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNjU3ODhBQTIxOEI0
MDlFQjAwQzE4OUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRl
VGFyZ2V0ICJPZmZsaW5lIEFzc2VtYmxlciIgKi87CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0
ID0gNjU3ODhBQTIxOEI0MDlFQjAwQzE4OUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBm
b3IgUEJYQWdncmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlciIgKi87CiAJ
CQlidWlsZFBoYXNlcyA9ICgKIAkJCQlEREU5OTMwQzI3OEQwODNEMDBGNjBEMjYgLyogUHJvZHVj
dCBEZXBlbmRlbmNpZXMgKi8sCi0JCQkJNjU3ODhBQTAxOEI0MDlFQjAwQzE4OUZGIC8qIE9mZmxp
bmUgQXNzZW1ibGUgKi8sCisJCQkJNjU3ODhBQTAxOEI0MDlFQjAwQzE4OUZGIC8qIChMZWdhY3kp
IE9mZmxpbmUgQXNzZW1ibGUgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAogCQkJCTY1
MjQ0QkQzMThFQ0I1MDAwMDEwQjcwOCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTY1
Nzg4QTlFMThCNDA5RUIwMEMxODlGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJKTsK
LQkJCW5hbWUgPSAiT2ZmbGluZSBBc3NlbWJsZXIiOworCQkJbmFtZSA9ICIoTGVnYWN5KSBPZmZs
aW5lIEFzc2VtYmxlciI7CiAJCQlwcm9kdWN0TmFtZSA9ICJPZmZsaW5lIEFzc2VtYmxlciI7CiAJ
CX07CiAJCTY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQiAvKiBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7
CkBAIC0xODI4LDYgKzE4MjgsOSBAQAogCQlEQ0YzRDU2RDFDRDI5NDc2MDAzRDVDNjUgLyogTGF6
eVByb3BlcnR5SW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRENGM0Q1NjgxQ0QyOTQ2ODAwM0Q1QzY1IC8qIExhenlQcm9wZXJ0eUlubGluZXMu
aCAqLzsgfTsKIAkJRENGREZCRDkxRDFGNUQ5QjAwRkUzRDcyIC8qIEIzQm90dG9tUHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERDRkRGQkQ3
MUQxRjVEOTgwMEZFM0Q3MiAvKiBCM0JvdHRvbVByb3ZpZGVyLmggKi87IH07CiAJCURDRkRGQkRB
MUQxRjVEOUUwMEZFM0Q3MiAvKiBCM1R5cGVNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERDRkRGQkQ4MUQxRjVEOTgwMEZFM0Q3MiAvKiBCM1R5cGVN
YXAuaCAqLzsgfTsKKwkJREQ0MUZBODYyN0NEQUQzMjAwMzk0RDk1IC8qIExvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODZBMDU0NDYxNTU2NDUxQjAwNDQ1MTU3IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtICovOyB9
OworCQlERDQxRkE4NzI3Q0RBRDQzMDAzOTREOTUgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkEwNTQ0NjE1
NTY0NTFCMDA0NDUxNTcgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20gKi87IH07CisJCURENDFG
QTg5MjdDRERERUYwMDM5NEQ5NSAvKiBMb3dMZXZlbEludGVycHJldGVyLmFzbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QTA1NDQ2MTU1NjQ1MUIwMDQ0
NTE1NyAvKiBMb3dMZXZlbEludGVycHJldGVyLmFzbSAqLzsgfTsKIAkJRERCMDRGNDEyNzhFNTY5
QTAwOEQzNjc4IC8qIGxpYldURi5hIGluIFByb2R1Y3QgRGVwZW5kZW5jaWVzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0OThDQUQzMjE0NjU2QzQwMDcxMDg3OSAvKiBsaWJX
VEYuYSAqLzsgfTsKIAkJRERCMDRGNDIyNzhFNTZBMjAwOEQzNjc4IC8qIGxpYldURi5hIGluIEZy
YW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ5OENBRDMyMTQ2
NTZDNDAwNzEwODc5IC8qIGxpYldURi5hICovOyB9OwogCQlEREU5OTMxMDI3OEQwODdEMDBGNjBE
MjYgLyogbGliV2ViS2l0QWRkaXRpb25zLmEgaW4gUHJvZHVjdCBEZXBlbmRlbmNpZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRERFOTkzMEUyNzhEMDg2NjAwRjYwRDI2IC8q
IGxpYldlYktpdEFkZGl0aW9ucy5hICovOyB9OwpAQCAtMjE1Nyw2ICsyMTYwLDUzIEBACiAJCQkp
OwogCQkJc2NyaXB0ID0gImV4ZWMgXCIke1NSQ1JPT1R9L1NjcmlwdHMvcG9zdHByb2Nlc3MtaGVh
ZGVyLXJ1bGVcIlxuIjsKIAkJfTsKKwkJREQ0MUZBN0QyN0NEQTZGRTAwMzk0RDk1IC8qIFBCWEJ1
aWxkUnVsZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEJ1aWxkUnVsZTsKKwkJCWNvbXBpbGVyU3BlYyA9
IGNvbS5hcHBsZS5jb21waWxlcnMucHJveHkuc2NyaXB0OworCQkJZGVwZW5kZW5jeUZpbGUgPSAi
JChERVJJVkVEX0ZJTEVTX0RJUikvJChDVVJSRU5UX0FSQ0gpLyQoSU5QVVRfRklMRV9CQVNFKS5k
IjsKKwkJCWZpbGVQYXR0ZXJucyA9ICIqLmFzbSI7CisJCQlmaWxlVHlwZSA9IHBhdHRlcm4ucHJv
eHk7CisJCQlpbnB1dEZpbGVzID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvSlNDTExJ
bnRPZmZzZXRzRXh0cmFjdG9yIiwKKwkJCQkiJChTUkNST09UKS9vZmZsaW5lYXNtIiwKKwkJCSk7
CisJCQlpc0VkaXRhYmxlID0gMTsKKwkJCW91dHB1dEZpbGVzID0gKAorCQkJCSIkKERFUklWRURf
RklMRVNfRElSKS8kKENVUlJFTlRfQVJDSCkvTExJbnRBc3NlbWJseS5oIiwKKwkJCSk7CisJCQlz
Y3JpcHQgPSAiT0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FU
SU9OfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJ
TkVBU01fQVJHU30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNf
SEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmlcblxuY2QgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0v
RGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIlxuXG4vdXNyL2Jpbi9lbnYgcnVieSBKYXZh
U2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rl
cml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIgXCIke0lOUFVUX0ZJTEVfUEFUSH1cIiBcIiR7
U0NSSVBUX0lOUFVUX0ZJTEVfMH1cIiBcIiR7U0NSSVBUX09VVFBVVF9GSUxFXzB9XCIgXCIke0JV
SUxEX1ZBUklBTlRTfVwiICR7T0ZGTElORUFTTV9BUkdTfSAtLWRlcGZpbGU9XCIke0RFUklWRURf
RklMRVNfRElSfS8ke0NVUlJFTlRfQVJDSH0vJHtJTlBVVF9GSUxFX0JBU0V9LmRcIlxuIjsKKwkJ
fTsKKwkJREQ0MUZBN0UyN0NEQTg5RDAwMzk0RDk1IC8qIFBCWEJ1aWxkUnVsZSAqLyA9IHsKKwkJ
CWlzYSA9IFBCWEJ1aWxkUnVsZTsKKwkJCWNvbXBpbGVyU3BlYyA9IGNvbS5hcHBsZS5jb21waWxl
cnMucHJveHkuc2NyaXB0OworCQkJZGVwZW5kZW5jeUZpbGUgPSAiJChERVJJVkVEX0ZJTEVTX0RJ
UikvJChDVVJSRU5UX0FSQ0gpLyQoSU5QVVRfRklMRV9CQVNFKS5kIjsKKwkJCWZpbGVQYXR0ZXJu
cyA9ICIqLmFzbSI7CisJCQlmaWxlVHlwZSA9IHBhdHRlcm4ucHJveHk7CisJCQlpbnB1dEZpbGVz
ID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvSlNDTExJbnRTZXR0aW5nc0V4dHJhY3Rv
ciIsCisJCQkJIiQoU1JDUk9PVCkvb2ZmbGluZWFzbSIsCisJCQkpOworCQkJaXNFZGl0YWJsZSA9
IDE7CisJCQlvdXRwdXRGaWxlcyA9ICgKKwkJCQkiJChERVJJVkVEX0ZJTEVTX0RJUikvJChDVVJS
RU5UX0FSQ0gpL0xMSW50RGVzaXJlZE9mZnNldHMuaCIsCisJCQkpOworCQkJc2NyaXB0ID0gInNl
dCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJ
T059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVBU01fQVJHUz1cIiR7T0ZGTElO
RUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dLX1dFQktJVEFERElUSU9OU19I
RUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG4vdXNyL2Jpbi9lbnYgcnVieSBcIiR7U1JDUk9P
VH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9yLnJiXCIgXCItSSR7QlVJTFRf
UFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwiIFwiJHtJTlBVVF9G
SUxFX1BBVEh9XCIgIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0pTQ0xMSW50U2V0dGluZ3NFeHRy
YWN0b3JcIiBcIiR7U0NSSVBUX09VVFBVVF9GSUxFXzB9XCIgXCIke0FSQ0hTfSBDX0xPT1BcIiBc
IiR7QlVJTERfVkFSSUFOVFN9XCIgJHtPRkZMSU5FQVNNX0FSR1N9IC0tZGVwZmlsZT1cIiR7REVS
SVZFRF9GSUxFU19ESVJ9LyR7Q1VSUkVOVF9BUkNIfS8ke0lOUFVUX0ZJTEVfQkFTRX0uZFwiXG5c
biI7CisJCX07CisJCURENDFGQTgxMjdDREFBNTQwMDM5NEQ5NSAvKiBQQlhCdWlsZFJ1bGUgKi8g
PSB7CisJCQlpc2EgPSBQQlhCdWlsZFJ1bGU7CisJCQljb21waWxlclNwZWMgPSBjb20uYXBwbGUu
Y29tcGlsZXJzLnByb3h5LnNjcmlwdDsKKwkJCWRlcGVuZGVuY3lGaWxlID0gIiQoREVSSVZFRF9G
SUxFU19ESVIpLyQoQ1VSUkVOVF9BUkNIKS8kKElOUFVUX0ZJTEVfQkFTRSkuZCI7CisJCQlmaWxl
UGF0dGVybnMgPSAiKi5hc20iOworCQkJZmlsZVR5cGUgPSBwYXR0ZXJuLnByb3h5OworCQkJaW5w
dXRGaWxlcyA9ICgKKwkJCQkiJChTUkNST09UKS9vZmZsaW5lYXNtIiwKKwkJCSk7CisJCQlpc0Vk
aXRhYmxlID0gMTsKKwkJCW91dHB1dEZpbGVzID0gKAorCQkJCSIkKERFUklWRURfRklMRVNfRElS
KS8kKENVUlJFTlRfQVJDSCkvTExJbnREZXNpcmVkU2V0dGluZ3MuaCIsCisJCQkpOworCQkJc2Ny
aXB0ID0gInNldCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIke0RFUExPWU1F
TlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVBU01fQVJHUz1c
IiR7T0ZGTElORUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dLX1dFQktJVEFE
RElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG4vdXNyL2Jpbi9lbnYgcnVieSBc
IiR7U1JDUk9PVH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9zZXR0aW5nc19leHRyYWN0b3IucmJcIiBc
Ii1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIg
XCIke0lOUFVUX0ZJTEVfUEFUSH1cIiBcIiR7U0NSSVBUX09VVFBVVF9GSUxFXzB9XCIgXCIke0FS
Q0hTfSBDX0xPT1BcIiAke09GRkxJTkVBU01fQVJHU30gLS1kZXBmaWxlPVwiJHtERVJJVkVEX0ZJ
TEVTX0RJUn0vJHtDVVJSRU5UX0FSQ0h9LyR7SU5QVVRfRklMRV9CQVNFfS5kXCJcbiI7CisJCX07
CiAvKiBFbmQgUEJYQnVpbGRSdWxlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYQ29udGFpbmVy
SXRlbVByb3h5IHNlY3Rpb24gKi8KQEAgLTIzNzAsMTMgKzI0MjAsNiBAQAogCQkJcmVtb3RlR2xv
YmFsSURTdHJpbmcgPSA2NUZCM0Y2NjA5RDExRTkxMDBGNDlERUI7CiAJCQlyZW1vdGVJbmZvID0g
IkRlcml2ZWQgU291cmNlcyI7CiAJCX07Ci0JCTY1Nzg4QUFDMThCNDBBN0IwMEMxODlGRiAvKiBQ
QlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7Ci0JCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJv
eHk7Ci0JCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJv
amVjdCBvYmplY3QgKi87Ci0JCQlwcm94eVR5cGUgPSAxOwotCQkJcmVtb3RlR2xvYmFsSURTdHJp
bmcgPSA2NTc4OEE5RDE4QjQwOUVCMDBDMTg5RkY7Ci0JCQlyZW1vdGVJbmZvID0gIk9mZmxpbmUg
QXNzZW1ibGVyIjsKLQkJfTsKIAkJNjVGQjNGN0QwOUQxMUVGMzAwRjQ5REVCIC8qIFBCWENvbnRh
aW5lckl0ZW1Qcm94eSAqLyA9IHsKIAkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKIAkJ
CWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9i
amVjdCAqLzsKQEAgLTIzOTgsNiArMjQ0MSwxMyBAQAogCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcg
PSA5MzJGNUIzRTA4MjJBMUM3MDA3MzY5NzU7CiAJCQlyZW1vdGVJbmZvID0gIkphdmFTY3JpcHRD
b3JlIChVcGdyYWRlZCkiOwogCQl9OworCQlERDQxRkE4QTI3Q0RFMUM0MDAzOTREOTUgLyogUEJY
Q29udGFpbmVySXRlbVByb3h5ICovID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5
OworCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2pl
Y3Qgb2JqZWN0ICovOworCQkJcHJveHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5n
ID0gNjU3ODhBOUQxOEI0MDlFQjAwQzE4OUZGOworCQkJcmVtb3RlSW5mbyA9ICIoTGVnYWN5KSBP
ZmZsaW5lIEFzc2VtYmxlciI7CisJCX07CiAJCUZFNTMzQ0FFMUYyMTdFQzYwMDE2QTFGRSAvKiBQ
QlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CiAJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJv
eHk7CiAJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJv
amVjdCBvYmplY3QgKi87CkBAIC0xMTQxMyw2ICsxMTQ2Myw3IEBACiAJCQkJMEZGOTIyQzYxNEY0
NkIxMzAwNDFBMjRFIC8qIEZyYW1ld29ya3MgKi8sCiAJCQkpOwogCQkJYnVpbGRSdWxlcyA9ICgK
KwkJCQlERDQxRkE3RTI3Q0RBODlEMDAzOTREOTUgLyogUEJYQnVpbGRSdWxlICovLAogCQkJKTsK
IAkJCWRlcGVuZGVuY2llcyA9ICgKIAkJCQkxNENGQjEwOTIzMDM1RjEzMDBGMDA0OEMgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKQEAgLTExNDcxLDYgKzExNTIyLDcgQEAKIAkJCQkxNEJENjg4
ODIxNTE5MTMxMDA1MERBRkYgLyogRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlidWlsZFJ1bGVz
ID0gKAorCQkJCURENDFGQTgxMjdDREFBNTQwMDM5NEQ5NSAvKiBQQlhCdWlsZFJ1bGUgKi8sCiAJ
CQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAogCQkJCTE0Q0ZCMTA3MjMwMzVGMEYwMEYwMDQ4QyAv
KiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLApAQCAtMTE1NTQsMTAgKzExNjA2LDExIEBACiAJCQkJ
NjU3N0ZGQzYyNzZBQzhEMjAwMTFBRUM4IC8qIENyZWF0ZSBTeW1saW5rIHRvIEFsdCBSb290IFBh
dGggKi8sCiAJCQkpOwogCQkJYnVpbGRSdWxlcyA9ICgKKwkJCQlERDQxRkE3RDI3Q0RBNkZFMDAz
OTREOTUgLyogUEJYQnVpbGRSdWxlICovLAogCQkJCTUzNUUwOEMyMjI1NDVBQzgwMERGMDBDQSAv
KiBQQlhCdWlsZFJ1bGUgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAotCQkJCTY1Nzg4
QUFEMThCNDBBN0IwMEMxODlGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAorCQkJCURENDFG
QThCMjdDREUxQzQwMDM5NEQ5NSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTY1RkIz
RjdFMDlEMTFFRjMwMEY0OURFQiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTUzQjRC
RDE0MUY2OEMyQUEwMEQyQkVBMyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJKTsKQEAg
LTExNjM2LDExICsxMTY4OSwxMSBAQAogCQkJCTkzMkY1QkUzMDgyMkExQzcwMDczNjk3NSAvKiBB
bGwgKi8sCiAJCQkJOTMyRjVCM0UwODIyQTFDNzAwNzM2OTc1IC8qIEphdmFTY3JpcHRDb3JlICov
LAogCQkJCTY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQiAvKiBEZXJpdmVkIFNvdXJjZXMgKi8sCi0J
CQkJMTRCRDY4OEYyMTUxOTE0NTAwNTBEQUZGIC8qIExMSW50IFNldHRpbmdzICovLAorCQkJCTE0
QkQ2ODhGMjE1MTkxNDUwMDUwREFGRiAvKiAoTGVnYWN5KSBMTEludCBTZXR0aW5ncyAqLywKIAkJ
CQkxNEJENjg4MTIxNTE5MTMxMDA1MERBRkYgLyogSlNDTExJbnRTZXR0aW5nc0V4dHJhY3RvciAq
LywKLQkJCQkwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zmc2V0cyAqLywKKwkJ
CQkwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogKExlZ2FjeSkgTExJbnQgT2Zmc2V0cyAqLywK
IAkJCQkwRkY5MjJDMzE0RjQ2QjEzMDA0MUEyNEUgLyogSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9y
ICovLAotCQkJCTY1Nzg4QTlEMThCNDA5RUIwMEMxODlGRiAvKiBPZmZsaW5lIEFzc2VtYmxlciAq
LywKKwkJCQk2NTc4OEE5RDE4QjQwOUVCMDBDMTg5RkYgLyogKExlZ2FjeSkgT2ZmbGluZSBBc3Nl
bWJsZXIgKi8sCiAJCQkJNTNCNEJEMDQxRjY4QUY4OTAwRDJCRUEzIC8qIEdlbmVyYXRlIFVuaWZp
ZWQgU291cmNlcyAqLywKIAkJCQlFMUFDMkUyNzIwRjdCOTRDMDBCMDg5N0QgLyogVW5sb2NrIEtl
eWNoYWluICovLAogCQkJCTE0MTIxMTFGMEE0ODc5M0MwMDQ4MDI1NSAvKiBtaW5pZG9tICovLApA
QCAtMTE2NzEsMzMgKzExNzI0LDMzIEBACiAvKiBFbmQgUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBz
ZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICov
Ci0JCTBGNDY4MEFBMTRCQTdGRDkwMEJGRTI3MiAvKiBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMg
Ki8gPSB7CisJCTBGNDY4MEFBMTRCQTdGRDkwMEJGRTI3MiAvKiAoTGVnYWN5KSBHZW5lcmF0ZSBE
ZXJpdmVkIFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7
CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCiAJCQkpOwog
CQkJaW5wdXRQYXRocyA9ICgKIAkJCSk7Ci0JCQluYW1lID0gIkdlbmVyYXRlIERlcml2ZWQgU291
cmNlcyI7CisJCQluYW1lID0gIihMZWdhY3kpIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyI7CiAJ
CQlvdXRwdXRQYXRocyA9ICgKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICJz
ZXQgLWVcblxuT0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FU
SU9OfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJ
TkVBU01fQVJHU30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNf
SEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmlcblxubWtkaXIgLXAgXCIke0JVSUxUX1BST0RVQ1RT
X0RJUn0vTExJbnRPZmZzZXRzLyR7QVJDSFN9XCJcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke1NS
Q1JPT1R9L29mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYlwiIFwiLUkke0JV
SUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBcIiR7U1JD
Uk9PVH0vbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc21cIiAgXCIke0JVSUxUX1BST0RVQ1RT
X0RJUn0vSlNDTExJbnRTZXR0aW5nc0V4dHJhY3RvclwiIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9
L0xMSW50T2Zmc2V0cy8ke0FSQ0hTfS9MTEludERlc2lyZWRPZmZzZXRzLmhcIiBcIiR7QVJDSFN9
IENfTE9PUFwiIFwiJHtCVUlMRF9WQVJJQU5UU31cIiAke09GRkxJTkVBU01fQVJHU31cbiI7CisJ
CQlzaGVsbFNjcmlwdCA9ICJbIFwiJHtXS19VU0VfTkVXX0JVSUxEX1NZU1RFTX1cIiA9IFwiWUVT
XCIgXSAmJiBleGl0IDBcbnNldCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIk
e0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVB
U01fQVJHUz1cIiR7T0ZGTElORUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dL
X1dFQktJVEFERElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG5ta2RpciAtcCBc
IiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU31cIlxuXG4vdXNyL2Jp
bi9lbnYgcnVieSBcIiR7U1JDUk9PVH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFj
dG9yLnJiXCIgXCItSSR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2Ny
aXB0Q29yZVwiIFwiJHtTUkNST09UfS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbVwiICBc
IiR7QlVJTFRfUFJPRFVDVFNfRElSfS9KU0NMTEludFNldHRpbmdzRXh0cmFjdG9yXCIgXCIke0JV
SUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRzLyR7QVJDSFN9L0xMSW50RGVzaXJlZE9mZnNl
dHMuaFwiIFwiJHtBUkNIU30gQ19MT09QXCIgXCIke0JVSUxEX1ZBUklBTlRTfVwiICR7T0ZGTElO
RUFTTV9BUkdTfVxuIjsKIAkJfTsKLQkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8qIEdlbmVy
YXRlIERlcml2ZWQgU291cmNlcyAqLyA9IHsKKwkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8q
IChMZWdhY3kpIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNo
ZWxsU2NyaXB0QnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJ
CQlmaWxlcyA9ICgKIAkJCSk7CiAJCQlpbnB1dFBhdGhzID0gKAogCQkJKTsKLQkJCW5hbWUgPSAi
R2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgR2VuZXJhdGUg
RGVyaXZlZCBTb3VyY2VzIjsKIAkJCW91dHB1dFBhdGhzID0gKAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsK
LQkJCXNoZWxsU2NyaXB0ID0gInNldCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sg
XCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJ
TkVBU01fQVJHUz1cIiR7T0ZGTElORUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0k
e1dLX1dFQktJVEFERElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG5ta2RpciAt
cCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU31cIlxuXG4vdXNy
L2Jpbi9lbnYgcnVieSBcIiR7U1JDUk9PVH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9zZXR0aW5nc19l
eHRyYWN0b3IucmJcIiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0ph
dmFTY3JpcHRDb3JlXCIgXCIke1NSQ1JPT1R9L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
XCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRzLyR7QVJDSFN9L0xMSW50RGVz
aXJlZFNldHRpbmdzLmhcIiBcIiR7QVJDSFN9IENfTE9PUFwiICR7T0ZGTElORUFTTV9BUkdTfVxu
IjsKKwkJCXNoZWxsU2NyaXB0ID0gIlsgXCIke1dLX1VTRV9ORVdfQlVJTERfU1lTVEVNfVwiID0g
XCJZRVNcIiBdICYmIGV4aXQgMFxuc2V0IC1lXG5cbk9GRkxJTkVBU01fQVJHUz1cIlwiXG5pZiBb
WyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIllFU1wiIF1dOyB0aGVuXG4gICAgT0ZG
TElORUFTTV9BUkdTPVwiJHtPRkZMSU5FQVNNX0FSR1N9IC0td2Via2l0LWFkZGl0aW9ucy1wYXRo
PSR7V0tfV0VCS0lUQURESVRJT05TX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmZpXG5cbm1rZGly
IC1wIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy8ke0FSQ0hTfVwiXG5cbi91
c3IvYmluL2VudiBydWJ5IFwiJHtTUkNST09UfS9vZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdz
X2V4dHJhY3Rvci5yYlwiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMv
SmF2YVNjcmlwdENvcmVcIiBcIiR7U1JDUk9PVH0vbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c21cIiBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU30vTExJbnRE
ZXNpcmVkU2V0dGluZ3MuaFwiIFwiJHtBUkNIU30gQ19MT09QXCIgJHtPRkZMSU5FQVNNX0FSR1N9
XG4iOwogCQl9OwogCQkxQTAyRDlBODFCMzRBODgyMDAwRDE1MjIgLyogQWRkIFN5bWxpbmsgaW4g
L1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzICovID0gewogCQkJaXNhID0gUEJYU2hl
bGxTY3JpcHRCdWlsZFBoYXNlOwpAQCAtMTE5MzYsMTkgKzExOTg5LDE5IEBACiAJCQlzaGVsbFBh
dGggPSAvYmluL3pzaDsKIAkJCXNoZWxsU2NyaXB0ID0gIlwiJHtTUkNST09UfS9TY3JpcHRzL2Ny
ZWF0ZS1zeW1saW5rLXRvLWFsdHJvb3Quc2hcIlxuIjsKIAkJfTsKLQkJNjU3ODhBQTAxOEI0MDlF
QjAwQzE4OUZGIC8qIE9mZmxpbmUgQXNzZW1ibGUgKi8gPSB7CisJCTY1Nzg4QUEwMThCNDA5RUIw
MEMxODlGRiAvKiAoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlICovID0gewogCQkJaXNhID0gUEJY
U2hlbGxTY3JpcHRCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
IAkJCWZpbGVzID0gKAogCQkJKTsKIAkJCWlucHV0UGF0aHMgPSAoCiAJCQkpOwotCQkJbmFtZSA9
ICJPZmZsaW5lIEFzc2VtYmxlIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJs
ZSI7CiAJCQlvdXRwdXRQYXRocyA9ICgKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlw
dCA9ICJpZiBbWyBcIiR7QUNUSU9OfVwiID09IFwiaW5zdGFsbGhkcnNcIiBdXTsgdGhlblxuICAg
IGV4aXQgMFxuZmlcblxuT0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5U
X0xPQ0FUSU9OfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIk
e09GRkxJTkVBU01fQVJHU30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJ
VElPTlNfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmlcblxuY2QgXCIke0JVSUxUX1BST0RVQ1RT
X0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIlxuXG4vdXNyL2Jpbi9lbnYgcnVi
eSBKYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYiBcIi1JJHtCVUlMVF9QUk9EVUNUU19E
SVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIgSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc20gXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vSlNDTExJbnRP
ZmZzZXRzRXh0cmFjdG9yXCIgTExJbnRBc3NlbWJseS5oIFwiJHtCVUlMRF9WQVJJQU5UU31cIiAk
e09GRkxJTkVBU01fQVJHU30gfHwgZXhpdCAxXG4iOworCQkJc2hlbGxTY3JpcHQgPSAiWyBcIiR7
V0tfVVNFX05FV19CVUlMRF9TWVNURU19XCIgPSBcIllFU1wiIF0gJiYgZXhpdCAwXG5cbmlmIFtb
IFwiJHtBQ1RJT059XCIgPT0gXCJpbnN0YWxsaGRyc1wiIF1dOyB0aGVuXG4gICAgZXhpdCAwXG5m
aVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059
XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVBU01fQVJHUz1cIiR7T0ZGTElORUFT
TV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dLX1dFQktJVEFERElUSU9OU19IRUFE
RVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG5jZCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJp
dmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwiXG5cbi91c3IvYmluL2VudiBydWJ5IEphdmFTY3Jp
cHRDb3JlL29mZmxpbmVhc20vYXNtLnJiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZl
ZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBKYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbSBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9KU0NMTEludE9mZnNldHNFeHRy
YWN0b3JcIiBMTEludEFzc2VtYmx5LmggXCIke0JVSUxEX1ZBUklBTlRTfVwiICR7T0ZGTElORUFT
TV9BUkdTfSB8fCBleGl0IDFcbiI7CiAJCX07CiAJCTY1RkIzRjY1MDlEMTFFOTEwMEY0OURFQiAv
KiBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlw
dEJ1aWxkUGhhc2U7CkBAIC0xMjA4MCw2ICsxMjEzMyw3IEBACiAJCQlpc2EgPSBQQlhTb3VyY2Vz
QnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9
ICgKKwkJCQlERDQxRkE4NzI3Q0RBRDQzMDAzOTREOTUgLyogTG93TGV2ZWxJbnRlcnByZXRlci5h
c20gaW4gU291cmNlcyAqLywKIAkJCQkwRkY5MjJENDE0RjQ2QjQxMDA0MUEyNEUgLyogTExJbnRP
ZmZzZXRzRXh0cmFjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpAQCAtMTIxMjcsNiArMTIxODEsNyBAQAogCQkJ
aXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgz
NjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJREQ0MUZBODYyN0NEQUQzMjAwMzk0RDk1IC8qIExvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtIGluIFNvdXJjZXMgKi8sCiAJCQkJMTRCRDY4OUQyMTUxOTFDMTAw
NTBEQUZGIC8qIExMSW50U2V0dGluZ3NFeHRyYWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CkBAIC0xMjIyMCw2
ICsxMjI3NSw3IEBACiAJCQkJNTM2QjMxMzQxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3Vy
Y2U0MC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzEzMTFGNzFDNTk5MDAzN0ZDMzMgLyog
VW5pZmllZFNvdXJjZTQxLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTNCMUY3MUM1OTkw
MDM3RkMzMyAvKiBVbmlmaWVkU291cmNlNDIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJREQ0MUZB
ODkyN0NERERFRjAwMzk0RDk1IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNTM2QjMxM0UxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2U0My5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzE0QzFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNv
dXJjZTQ0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTUxMUY3MUM1OTkwMDM3RkMzMyAv
KiBVbmlmaWVkU291cmNlNDUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMjM5NCw3ICsxMjQ1MCw3
IEBACiAJCX07CiAJCTBGRjkyMkQzMTRGNDZCMkYwMDQxQTI0RSAvKiBQQlhUYXJnZXREZXBlbmRl
bmN5ICovID0gewogCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKLQkJCXRhcmdldCA9IDBG
NDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBMTEludCBPZmZzZXRzICovOworCQkJdGFyZ2V0ID0g
MEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8qIChMZWdhY3kpIExMSW50IE9mZnNldHMgKi87CiAJ
CQl0YXJnZXRQcm94eSA9IDBGRjkyMkQyMTRGNDZCMkYwMDQxQTI0RSAvKiBQQlhDb250YWluZXJJ
dGVtUHJveHkgKi87CiAJCX07CiAJCTE0QkQ2ODgyMjE1MTkxMzEwMDUwREFGRiAvKiBQQlhUYXJn
ZXREZXBlbmRlbmN5ICovID0gewpAQCAtMTI0MTQsNyArMTI0NzAsNyBAQAogCQl9OwogCQkxNEJE
Njg5QjIxNTE5MTc0MDA1MERBRkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKIAkJCWlz
YSA9IFBCWFRhcmdldERlcGVuZGVuY3k7Ci0JCQl0YXJnZXQgPSAxNEJENjg4RjIxNTE5MTQ1MDA1
MERBRkYgLyogTExJbnQgU2V0dGluZ3MgKi87CisJCQl0YXJnZXQgPSAxNEJENjg4RjIxNTE5MTQ1
MDA1MERBRkYgLyogKExlZ2FjeSkgTExJbnQgU2V0dGluZ3MgKi87CiAJCQl0YXJnZXRQcm94eSA9
IDE0QkQ2ODlBMjE1MTkxNzQwMDUwREFGRiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CiAJ
CX07CiAJCTE0Q0ZCMTAwMjMwMzVFRjMwMEYwMDQ4QyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICov
ID0gewpAQCAtMTI1MjcsMTEgKzEyNTgzLDYgQEAKIAkJCXRhcmdldCA9IDY1RkIzRjY2MDlEMTFF
OTEwMEY0OURFQiAvKiBEZXJpdmVkIFNvdXJjZXMgKi87CiAJCQl0YXJnZXRQcm94eSA9IDY1Nzg4
QUFBMThCNDBBM0IwMEMxODlGRiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CiAJCX07Ci0J
CTY1Nzg4QUFEMThCNDBBN0IwMEMxODlGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewot
CQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKLQkJCXRhcmdldCA9IDY1Nzg4QTlEMThCNDA5
RUIwMEMxODlGRiAvKiBPZmZsaW5lIEFzc2VtYmxlciAqLzsKLQkJCXRhcmdldFByb3h5ID0gNjU3
ODhBQUMxOEI0MEE3QjAwQzE4OUZGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKLQkJfTsK
IAkJNjVGQjNGN0UwOUQxMUVGMzAwRjQ5REVCIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7
CiAJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OwogCQkJdGFyZ2V0ID0gNjVGQjNGNjYwOUQx
MUU5MTAwRjQ5REVCIC8qIERlcml2ZWQgU291cmNlcyAqLzsKQEAgLTEyNTQ3LDYgKzEyNTk4LDEx
IEBACiAJCQl0YXJnZXQgPSA5MzJGNUIzRTA4MjJBMUM3MDA3MzY5NzUgLyogSmF2YVNjcmlwdENv
cmUgKi87CiAJCQl0YXJnZXRQcm94eSA9IDkzMkY1QkU2MDgyMkExQzcwMDczNjk3NSAvKiBQQlhD
b250YWluZXJJdGVtUHJveHkgKi87CiAJCX07CisJCURENDFGQThCMjdDREUxQzQwMDM5NEQ5NSAv
KiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0geworCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5j
eTsKKwkJCXRhcmdldCA9IDY1Nzg4QTlEMThCNDA5RUIwMEMxODlGRiAvKiAoTGVnYWN5KSBPZmZs
aW5lIEFzc2VtYmxlciAqLzsKKwkJCXRhcmdldFByb3h5ID0gREQ0MUZBOEEyN0NERTFDNDAwMzk0
RDk1IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsKIAkJRkU1MzNDQUYxRjIxN0VD
NjAwMTZBMUZFIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhUYXJn
ZXREZXBlbmRlbmN5OwogCQkJdGFyZ2V0ID0gRkU1MzNDQTExRjIxN0RCMzAwMTZBMUZFIC8qIHRl
c3RtYXNtICovOwpAQCAtMTMyNDYsNyArMTMzMDIsNyBAQAogLyogRW5kIFhDQnVpbGRDb25maWd1
cmF0aW9uIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9u
ICovCi0JCTBGNDY4MEFDMTRCQTdGRDkwMEJGRTI3MiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxp
c3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiTExJbnQgT2Zmc2V0cyIgKi8gPSB7CisJCTBGNDY4
MEFDMTRCQTdGRDkwMEJGRTI3MiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFn
Z3JlZ2F0ZVRhcmdldCAiKExlZ2FjeSkgTExJbnQgT2Zmc2V0cyIgKi8gPSB7CiAJCQlpc2EgPSBY
Q0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKIAkJCQkwRjQ2
ODBBRDE0QkE3RkQ5MDBCRkUyNzIgLyogRGVidWcgKi8sCkBAIC0xMzM3OCw3ICsxMzQzNCw3IEBA
CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmln
dXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOwogCQl9OwotCQkxNEJENjg5MzIxNTE5MTQ1MDA1MERB
RkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIkxM
SW50IFNldHRpbmdzIiAqLyA9IHsKKwkJMTRCRDY4OTMyMTUxOTE0NTAwNTBEQUZGIC8qIEJ1aWxk
IGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBMTElu
dCBTZXR0aW5ncyIgKi8gPSB7CiAJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVp
bGRDb25maWd1cmF0aW9ucyA9ICgKIAkJCQkxNEJENjg5NDIxNTE5MTQ1MDA1MERBRkYgLyogRGVi
dWcgKi8sCkBAIC0xMzQ1NSw3ICsxMzUxMSw3IEBACiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklz
VmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOwog
CQl9OwotCQk2NTc4OEFBMjE4QjQwOUVCMDBDMTg5RkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBs
aXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIk9mZmxpbmUgQXNzZW1ibGVyIiAqLyA9IHsKKwkJ
NjU3ODhBQTIxOEI0MDlFQjAwQzE4OUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3Ig
UEJYQWdncmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlciIgKi8gPSB7CiAJ
CQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgK
IAkJCQk2NTc4OEFBMzE4QjQwOUVCMDBDMTg5RkYgLyogRGVidWcgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hc20ucmIgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvb2ZmbGluZWFzbS9hc20ucmIKaW5kZXggYmVkM2FkOTFjOTNmLi4zNTZiYjNmMDFmNzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYgorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hc20ucmIKQEAgLTMzLDYgKzMzLDcg
QEAgcmVxdWlyZSAnb3B0cGFyc2UnCiByZXF1aXJlICJwYXJzZXIiCiByZXF1aXJlICJzZWxmX2hh
c2giCiByZXF1aXJlICJzZXR0aW5ncyIKK3JlcXVpcmUgInNoZWxsd29yZHMiCiByZXF1aXJlICJ0
cmFuc2Zvcm0iCiAKIGNsYXNzIEFzc2VtYmxlcgpAQCAtMzQ3LDcgKzM0OCw3IEBAIHZhcmlhbnRz
ID0gQVJHVi5zaGlmdC5zcGxpdCgvWyxcc10rLykKIAogJG9wdGlvbnMgPSB7fQogT3B0aW9uUGFy
c2VyLm5ldyBkbyB8b3B0c3wKLSAgICBvcHRzLmJhbm5lciA9ICJVc2FnZTogYXNtLnJiIGFzbUZp
bGUgb2Zmc2V0c0ZpbGUgb3V0cHV0RmlsZU5hbWUgWy0tYXNzZW1ibGVyPTxBU00+XSBbLS13ZWJr
aXQtYWRkaXRpb25zLXBhdGg9PHBhdGg+XSBbLS1iaW5hcnktZm9ybWF0PTxmb3JtYXQ+XSIKKyAg
ICBvcHRzLmJhbm5lciA9ICJVc2FnZTogYXNtLnJiIGFzbUZpbGUgb2Zmc2V0c0ZpbGUgb3V0cHV0
RmlsZU5hbWUgWy0tYXNzZW1ibGVyPTxBU00+XSBbLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9PHBh
dGg+XSBbLS1iaW5hcnktZm9ybWF0PTxmb3JtYXQ+XSBbLS1kZXBmaWxlPTxkZXBmaWxlPl0iCiAg
ICAgIyBUaGlzIG9wdGlvbiBpcyBjdXJyZW50bHkgb25seSB1c2VkIHRvIHNwZWNpZnkgdGhlIG1h
c20gYXNzZW1ibGVyCiAgICAgb3B0cy5vbigiLS1hc3NlbWJsZXI9W0FTTV0iLCAiU3BlY2lmeSBh
biBhc3NlbWJsZXIgdG8gdXNlLiIpIGRvIHxhc3NlbWJsZXJ8CiAgICAgICAgICRvcHRpb25zWzph
c3NlbWJsZXJdID0gYXNzZW1ibGVyCkBAIC0zNTgsNiArMzU5LDkgQEAgT3B0aW9uUGFyc2VyLm5l
dyBkbyB8b3B0c3wKICAgICBvcHRzLm9uKCItLWJpbmFyeS1mb3JtYXQ9Rk9STUFUIiwgIlNwZWNp
ZnkgdGhlIGJpbmFyeSBmb3JtYXQgdXNlZCBieSB0aGUgdGFyZ2V0IHN5c3RlbS4iKSBkbyB8Zm9y
bWF0fAogICAgICAgICAkb3B0aW9uc1s6YmluYXJ5X2Zvcm1hdF0gPSBmb3JtYXQKICAgICBlbmQK
KyAgICBvcHRzLm9uKCItLWRlcGZpbGU9REVQRklMRSIsICJQYXRoIHRvIHdyaXRlIE1ha2VmaWxl
LXN0eWxlIGRpc2NvdmVyZWQgZGVwZW5kZW5jaWVzIHRvLiIpIGRvIHxwYXRofAorICAgICAgICAk
b3B0aW9uc1s6ZGVwZmlsZV0gPSBwYXRoCisgICAgZW5kCiBlbmQucGFyc2UhCiAKIGJlZ2luCkBA
IC0zODQsNyArMzg4LDcgQEAgaW5wdXRIYXNoID0KICAgICAiICIgKyBzZWxmSGFzaCArCiAgICAg
IiAiICsgRGlnZXN0OjpTSEExLmhleGRpZ2VzdCgkb3B0aW9ucy5oYXNfa2V5Pyg6YXNzZW1ibGVy
KSA/ICRvcHRpb25zWzphc3NlbWJsZXJdIDogIiIpCiAKLWlmIEZpbGVUZXN0LmV4aXN0PyBvdXRw
dXRGbG5tCitpZiBGaWxlVGVzdC5leGlzdD8ob3V0cHV0RmxubSkgYW5kIG5vdCAkb3B0aW9uc1s6
ZGVwZmlsZV0gb3IgRmlsZVRlc3QuZXhpc3Q/KCRvcHRpb25zWzpkZXBmaWxlXSkKICAgICBsYXN0
TGluZSA9IG5pbAogICAgIEZpbGUub3BlbihvdXRwdXRGbG5tLCAiciIpIHsKICAgICAgICAgfCBm
aWxlIHwKQEAgLTQxMCw2ICs0MTQsMTMgQEAgRmlsZS5vcGVuKG91dHB1dEZsbm0sICJ3Iikgewog
ICAgIAogICAgIGFzdCA9IHBhcnNlKGFzbUZpbGUsICRvcHRpb25zKQogICAgIHNldHRpbmdzQ29t
YmluYXRpb25zID0gY29tcHV0ZVNldHRpbmdzQ29tYmluYXRpb25zKGFzdCkKKyAgICAKKyAgICBp
ZiAkb3B0aW9uc1s6ZGVwZmlsZV0KKyAgICAgICAgc291cmNlcyA9IGFzdC5mbGF0dGVuLnJlZHVj
ZShTZXQubmV3KSB7IHxmaWxlcywgbm9kZXwgZmlsZXMuYWRkKG5vZGUuY29kZU9yaWdpbi5maWxl
TmFtZSkgfQorICAgICAgICBkZXBmaWxlID0gRmlsZS5vcGVuKCRvcHRpb25zWzpkZXBmaWxlXSwg
InciKQorICAgICAgICBkZXBmaWxlLnByaW50KFNoZWxsd29yZHMuZXNjYXBlKG91dHB1dEZsbm0p
LCAiOiAiKQorICAgICAgICBkZXBmaWxlLnB1dHMoU2hlbGx3b3Jkcy5qb2luKHNvdXJjZXMuc29y
dCkpCisgICAgZW5kCiAKICAgICBjb25maWd1cmF0aW9uTGlzdC5lYWNoIHsKICAgICAgICAgfCBj
b25maWd1cmF0aW9uIHwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5l
YXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmIgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9yLnJiCmluZGV4IDA1YzkzODEyMmEz
MS4uYTA5YWFmNDFhZjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGlu
ZWFzbS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9yLnJiCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9vZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmIKQEAgLTMzLDYgKzMz
LDcgQEAgcmVxdWlyZSAnb3B0cGFyc2UnCiByZXF1aXJlICJwYXJzZXIiCiByZXF1aXJlICJzZWxm
X2hhc2giCiByZXF1aXJlICJzZXR0aW5ncyIKK3JlcXVpcmUgInNoZWxsd29yZHMiCiByZXF1aXJl
ICJ0cmFuc2Zvcm0iCiAKIEluY2x1ZGVGaWxlLnByb2Nlc3NJbmNsdWRlT3B0aW9ucygpCkBAIC00
OCwxMCArNDksMTMgQEAgdmFyaWFudHMgPSBBUkdWLnNoaWZ0LnNwbGl0KC9bLFxzXSsvKQogCiAk
b3B0aW9ucyA9IHt9CiBPcHRpb25QYXJzZXIubmV3IGRvIHxvcHRzfAotICAgIG9wdHMuYmFubmVy
ID0gIlVzYWdlOiBnZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9yLnJiIGFzbUZpbGUgc2V0dGluZ0Zp
bGUgb3V0cHV0RmlsZU5hbWUgYmFja2VuZHMgdmFyaWFudHMgWy0td2Via2l0LWFkZGl0aW9ucy1w
YXRoPTxwYXRoPl0iCisgICAgb3B0cy5iYW5uZXIgPSAiVXNhZ2U6IGdlbmVyYXRlX29mZnNldF9l
eHRyYWN0b3IucmIgYXNtRmlsZSBzZXR0aW5nRmlsZSBvdXRwdXRGaWxlTmFtZSBiYWNrZW5kcyB2
YXJpYW50cyBbLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9PHBhdGg+XSBbLS1kZXBmaWxlPTxkZXBm
aWxlPl0iCiAgICAgb3B0cy5vbigiLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9UEFUSCIsICJXZWJL
aXRBZGRpdGlvbnMgcGF0aC4iKSBkbyB8cGF0aHwKICAgICAgICAgJG9wdGlvbnNbOndlYmtpdF9h
ZGRpdGlvbnNfcGF0aF0gPSBwYXRoCiAgICAgZW5kCisgICAgb3B0cy5vbigiLS1kZXBmaWxlPURF
UEZJTEUiLCAicGF0aCB0byB3cml0ZSBNYWtlZmlsZS1zdHlsZSBkaXNjb3ZlcmVkIGRlcGVuZGVu
Y2llcyB0by4iKSBkbyB8cGF0aHwKKyAgICAgICAgJG9wdGlvbnNbOmRlcGZpbGVdID0gcGF0aAor
ICAgIGVuZAogZW5kLnBhcnNlIQogCiBiZWdpbgpAQCAtNzEsNyArNzUsNyBAQCBlbmQKIGNvbmZp
Z3VyYXRpb25IYXNoID0gRGlnZXN0OjpTSEExLmhleGRpZ2VzdChjb25maWd1cmF0aW9uTGlzdC5q
b2luKCcgJykpCiBpbnB1dEhhc2ggPSAiLy8gT2Zmc2V0RXh0cmFjdG9yIGlucHV0IGhhc2g6ICN7
cGFyc2VIYXNoKGlucHV0RmxubSwgJG9wdGlvbnMpfSAje2NvbmZpZ3VyYXRpb25IYXNofSAje3Nl
bGZIYXNofSIKIAotaWYgRmlsZVRlc3QuZXhpc3Q/IG91dHB1dEZsbm0KK2lmIEZpbGVUZXN0LmV4
aXN0PyhvdXRwdXRGbG5tKSBhbmQgbm90ICRvcHRpb25zWzpkZXBmaWxlXSBvciBGaWxlVGVzdC5l
eGlzdD8oJG9wdGlvbnNbOmRlcGZpbGVdKQogICAgIEZpbGUub3BlbihvdXRwdXRGbG5tLCAiciIp
IHsKICAgICAgICAgfCBpbnAgfAogICAgICAgICBmaXJzdExpbmUgPSBpbnAuZ2V0cwpAQCAtODIs
OSArODYsMTggQEAgaWYgRmlsZVRlc3QuZXhpc3Q/IG91dHB1dEZsbm0KICAgICB9CiBlbmQKIAor
CisKIGFzdCA9IHBhcnNlKGlucHV0RmxubSwgJG9wdGlvbnMpCiBzZXR0aW5nc0NvbWJpbmF0aW9u
cyA9IGNvbXB1dGVTZXR0aW5nc0NvbWJpbmF0aW9ucyhhc3QpCiAKK2lmICRvcHRpb25zWzpkZXBm
aWxlXQorICAgIHNvdXJjZXMgPSBhc3QuZmxhdHRlbi5yZWR1Y2UoU2V0Lm5ldykgeyB8ZmlsZXMs
IG5vZGV8IGZpbGVzLmFkZChub2RlLmNvZGVPcmlnaW4uZmlsZU5hbWUpIH0KKyAgICBkZXBmaWxl
ID0gRmlsZS5vcGVuKCRvcHRpb25zWzpkZXBmaWxlXSwgInciKQorICAgIGRlcGZpbGUucHJpbnQo
U2hlbGx3b3Jkcy5lc2NhcGUob3V0cHV0RmxubSksICI6ICIpCisgICAgZGVwZmlsZS5wdXRzKFNo
ZWxsd29yZHMuam9pbihzb3VyY2VzLnNvcnQpKQorZW5kCisKIEZpbGUub3BlbihvdXRwdXRGbG5t
LCAidyIpIHsKICAgICB8IG91dHAgfAogICAgICRvdXRwdXQgPSBvdXRwCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9nZW5lcmF0ZV9zZXR0aW5nc19leHRyYWN0
b3IucmIgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9nZW5lcmF0ZV9zZXR0aW5n
c19leHRyYWN0b3IucmIKaW5kZXggYTlhMjMwOTU5Y2M4Li41M2ZjYTRmYjJjZjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdzX2V4
dHJhY3Rvci5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9nZW5lcmF0
ZV9zZXR0aW5nc19leHRyYWN0b3IucmIKQEAgLTMzLDYgKzMzLDcgQEAgcmVxdWlyZSAnb3B0cGFy
c2UnCiByZXF1aXJlICJwYXJzZXIiCiByZXF1aXJlICJzZWxmX2hhc2giCiByZXF1aXJlICJzZXR0
aW5ncyIKK3JlcXVpcmUgInNoZWxsd29yZHMiCiByZXF1aXJlICJ0cmFuc2Zvcm0iCiAKIEluY2x1
ZGVGaWxlLnByb2Nlc3NJbmNsdWRlT3B0aW9ucygpCkBAIC00NSwxNSArNDYsMTggQEAgaW5jbHVk
ZU9ubHlCYWNrZW5kcyh2YWxpZEJhY2tlbmRzKQogCiAkb3B0aW9ucyA9IHt9CiBPcHRpb25QYXJz
ZXIubmV3IGRvIHxvcHRzfAotICAgIG9wdHMuYmFubmVyID0gIlVzYWdlOiBnZW5lcmF0ZV9zZXR0
aW5nc19leHRyYWN0b3IucmIgYXNtRmlsZSBzZXR0aW5nRmlsZSBbLS13ZWJraXQtYWRkaXRpb25z
LXBhdGg9PHBhdGg+XSIKKyAgICBvcHRzLmJhbm5lciA9ICJVc2FnZTogZ2VuZXJhdGVfc2V0dGlu
Z3NfZXh0cmFjdG9yLnJiIGFzbUZpbGUgc2V0dGluZ0ZpbGUgWy0td2Via2l0LWFkZGl0aW9ucy1w
YXRoPTxwYXRoPl0gWy0tZGVwZmlsZT08ZGVwZmlsZT5dIgogICAgIG9wdHMub24oIi0td2Via2l0
LWFkZGl0aW9ucy1wYXRoPVBBVEgiLCAiV2ViS2l0QWRkaXRpb25zIHBhdGguIikgZG8gfHBhdGh8
CiAgICAgICAgICRvcHRpb25zWzp3ZWJraXRfYWRkaXRpb25zX3BhdGhdID0gcGF0aAogICAgIGVu
ZAorICAgIG9wdHMub24oIi0tZGVwZmlsZT1ERVBGSUxFIiwgInBhdGggdG8gd3JpdGUgTWFrZWZp
bGUtc3R5bGUgZGlzY292ZXJlZCBkZXBlbmRlbmNpZXMgdG8uIikgZG8gfHBhdGh8CisgICAgICAg
ICRvcHRpb25zWzpkZXBmaWxlXSA9IHBhdGgKKyAgICBlbmQKIGVuZC5wYXJzZSEKIAogaW5wdXRI
YXNoID0gIi8vIFNldHRpbmdzRXh0cmFjdG9yIGlucHV0IGhhc2g6ICN7cGFyc2VIYXNoKGlucHV0
RmxubSwgJG9wdGlvbnMpfSAje3NlbGZIYXNofSIKIAotaWYgRmlsZVRlc3QuZXhpc3Q/IG91dHB1
dEZsbm0KK2lmIEZpbGVUZXN0LmV4aXN0PyhvdXRwdXRGbG5tKSBhbmQgbm90ICRvcHRpb25zWzpk
ZXBmaWxlXSBvciBGaWxlVGVzdC5leGlzdD8oJG9wdGlvbnNbOmRlcGZpbGVdKQogICAgIEZpbGUu
b3BlbihvdXRwdXRGbG5tLCAiciIpIHsKICAgICAgICAgfCBpbnAgfAogICAgICAgICBmaXJzdExp
bmUgPSBpbnAuZ2V0cwpAQCAtNjcsNiArNzEsMTMgQEAgZW5kCiBvcmlnaW5hbEFTVCA9IHBhcnNl
KGlucHV0RmxubSwgJG9wdGlvbnMpCiBwcnVuZWRBU1QgPSBTZXF1ZW5jZS5uZXcob3JpZ2luYWxB
U1QuY29kZU9yaWdpbiwgb3JpZ2luYWxBU1QuZmlsdGVyKFNldHRpbmcpKQogCitpZiAkb3B0aW9u
c1s6ZGVwZmlsZV0KKyAgICBzb3VyY2VzID0gcHJ1bmVkQVNULmZsYXR0ZW4ucmVkdWNlKFNldC5u
ZXcpIHsgfGZpbGVzLCBub2RlfCBmaWxlcy5hZGQobm9kZS5jb2RlT3JpZ2luLmZpbGVOYW1lKSB9
CisgICAgZGVwZmlsZSA9IEZpbGUub3Blbigkb3B0aW9uc1s6ZGVwZmlsZV0sICJ3IikKKyAgICBk
ZXBmaWxlLnByaW50KFNoZWxsd29yZHMuZXNjYXBlKG91dHB1dEZsbm0pLCAiOiAiKQorICAgIGRl
cGZpbGUucHV0cyhTaGVsbHdvcmRzLmpvaW4oc291cmNlcy5zb3J0KSkKK2VuZAorCiBGaWxlLm9w
ZW4ob3V0cHV0RmxubSwgInciKSB7CiAgICAgfCBvdXRwIHwKICAgICAkb3V0cHV0ID0gb3V0cAo=
</data>
<flag name="commit-queue"
          id="480966"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453560</attachid>
            <date>2022-03-01 18:18:55 -0800</date>
            <delta_ts>2022-03-03 12:11:11 -0800</delta_ts>
            <desc>Integrate offlineasm using build rules and emit a depfile r5</desc>
            <filename>jsc-generated-sources-outputs.patch</filename>
            <type>text/plain</type>
            <size>33697</size>
            <attacher name="Elliott Williams">emw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDk4MzZiNWE1YmJhMS4uNzM3NjBjYmQ1OTE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAyMi0wMy0wMSAgRWxs
aW90dCBXaWxsaWFtcyAgPGVtd0BhcHBsZS5jb20+CisKKyAgICAgICAgW1hDQnVpbGRdIEVtaXQg
YSBkaXNjb3ZlcmVkIGRlcGVuZGVuY3kgZmlsZSBmcm9tIG9mZmxpbmVhc20KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzMyOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFhjb2RlIG5lZWRzIHRvIGtub3cg
d2hhdCBmaWxlcyBvZmZsaW5lYXNtIHVzZXMgYW5kIHByb2R1Y2VzIGluIG9yZGVyIHRvIHNjaGVk
dWxlIGl0CisgICAgICAgIGNvcnJlY3RseSBpbiBpbmNyZW1lbnRhbCBidWlsZHMuIFJhdGhlciB0
aGFuIHVzZSBnZW5lcmF0ZWQgeGNmaWxlbGlzdHMgbGlrZSBXZWJLaXQgZG9lcworICAgICAgICBl
bHNld2hlcmUgaW4gdGhlIHByb2plY3QsIGVtaXQgYSBkZXBmaWxlIGZyb20gb2ZmbGluZWFzbSBi
YXNlZCBvbiB0aGUgcGFyc2UgdHJlZSdzIHNvdXJjZQorICAgICAgICBmaWxlcy4KKworICAgICAg
ICBEaXNjb3ZlcmVkIGRlcGVuZGVuY3kgZmlsZXMgKCJkZXBmaWxlcyIpIGFyZSBNYWtlZmlsZS1m
b3JtYXR0ZWQgZmlsZXMgd2hpY2ggbGlzdCB0aGUgaW5wdXRzCisgICAgICAgIHVzZWQgdG8gcHJv
ZHVjZSBhbiBvdXRwdXQuIFRoZXkgYXJlIGVtaXR0aW5nIGR1cmluZyB0aGUgYnVpbGQgdG8gYSB0
ZW1wb3JhcnkgZGlyZWN0b3J5LCBhbmQKKyAgICAgICAgZW5zdXJlIHRoYXQgc3Vic2VxdWVudCBp
bmNyZW1lbnRhbCBidWlsZHMgd2lsbCByZS1ydW4gb2ZmbGluZWFzbSB3aGVuIGFueSBvZiB0aGUg
aW5jbHVkZWQKKyAgICAgICAgc291cmNlcyBjaGFuZ2UuIFRoaXMgaXMgdGhlIHNhbWUgbWVjaGFu
aXNtIGNsYW5nIHVzZXMgdG8gdHJhY2sgaGVhZGVyIGRlcGVuZGVuY2llcy4KKworICAgICAgICBV
bmZvcnR1bmF0ZWx5LCB0aGUgbGVnYWN5IGJ1aWxkIHN5c3RlbSB3aWxsIHJlZnVzZSB0byBleGVj
dXRlIGEgc2NyaXB0IHBoYXNlIG9yIHJ1bGUgdGhhdAorICAgICAgICBlbWl0cyBhIGRlcGZpbGUu
IFRvIHdvcmsgYXJvdW5kIHRoaXMsIGNvbnZlcnQgdGhlIG9mZmxpbmVhc20gcGlwZWxpbmUgdG8g
YmUgYmFzZWQgb24gYnVpbGQKKyAgICAgICAgcnVsZXMsIHRvIGJlIHVzZWQgYnkgWENCdWlsZCBv
bmx5LiBUaGUgaWRlYSBpcyB0aGF0IExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGlzIGxpc3RlZCBh
cyBhCisgICAgICAgIHNvdXJjZSBidWlsZCBmaWxlIGluIEpTQ0xMSW50U2V0dGluZ3NFeHRyYWN0
b3IsIEpTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvciwgYW5kCisgICAgICAgIEphdmFTY3JpcHRDb3Jl
LiBFYWNoIHRhcmdldCB1c2VzIGEgYnVpbGQgcnVsZSB0byBnZW5lcmF0ZSBpdHMgcmVzcGVjdGl2
ZSBoZWFkZXIgZnJvbQorICAgICAgICBMb3dMZXZlbEludGVycHJldGVyLmFzbS4gWGNvZGUgc2No
ZWR1bGVzIHRoZXNlIHJ1bGUgZXhlY3V0aW9ucyBiZWZvcmUgYW55IGNsYW5nIHRhc2tzLgorCisg
ICAgICAgIFRoZSBsZWdhY3kgYnVpbGQgc3lzdGVtIGF2b2lkcyBleGVjdXRpbmcgdGhlIHJ1bGVz
IHZpYSBFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FUywgYW5kCisgICAgICAgIGluc3RlYWQgdXNl
cyB0aGUgZXhpc3RpbmcgYnVpbGQgcGhhc2VzLCB3aGljaCBoYXZlICIoTGVnYWN5KSIgaW4gdGhl
aXIgbmFtZXMgYW5kIGFyZSBub3cKKyAgICAgICAgbm8tb3BzIHVuZGVyIFhDQnVpbGQuCisKKyAg
ICAgICAgQXNpZGUgZnJvbSB3b3JraW5nIGFyb3VuZCB0aGUgbGVnYWN5IGJ1aWxkIHN5c3RlbSdz
IGxpbWl0YXRpb25zLCB1c2luZyBidWlsZCBydWxlcyBpcworICAgICAgICBwcm9iYWJseSBhIHN1
cGVyaW9yIHdheSB0byBleHByZXNzIHdoYXQgd2UncmUgZG9pbmcsIGFzIGl0IGdpdmVzIFhjb2Rl
IHRoZSBvcHBvcnR1bml0eSB0bworICAgICAgICBjb21waWxlIG90aGVyIG9iamVjdHMgaW4gcGFy
YWxsZWwsIGFuZCBjb3VsZCBiZSBlYXNpbHkgZXh0ZW5kZWQgdG8gY29tcGlsZSBtdWx0aXBsZSBk
aXNjcmV0ZQorICAgICAgICBhc20gZmlsZXMgc2hvdWxkIHRoZSBuZWVkIGFyaXNlLgorCisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvVG9vbEV4ZWN1dGFibGUueGNjb25maWc6IEJ1aWxkIHJ1bGVz
IGFyZSBYQ0J1aWxkLW9ubHkuCisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajogQWRkIGJ1aWxkIHJ1bGVzLCByZW5hbWUgbGVnYWN5IHNjcmlwdHMuCisg
ICAgICAgICogb2ZmbGluZWFzbS9hc20ucmI6IEFkZCAtLWRlcGZpbGUgZmxhZy4KKyAgICAgICAg
KiBvZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmI6IEFkZCAtLWRlcGZpbGUg
ZmxhZy4KKyAgICAgICAgKiBvZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rvci5y
YjogQWRkIC0tZGVwZmlsZSBmbGFnLgorCiAyMDIyLTAyLTI0ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBPbmx5IGNsZWFyIElDVSBjYWNoZSB3aGVu
IHRpbWUgem9uZSBpcyBjaGFuZ2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcKaW5kZXggNjEyYWUw
NmM3MWQ5Li4wNDY4ZTBlN2NkY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9KYXZhU2NyaXB0Q29yZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcKQEAgLTYxLDQg
KzYxLDcgQEAgT1VUUFVUX0FMVEVSTkFURV9ST09UX1BBVEhfWUVTID0gJChEU1RST09UKSQoQUxU
RVJOQVRFX1JPT1RfUEFUSCkvJChGVUxMX1BST0RVQ1QKIElOU1RBTExIRFJTX1NDUklQVF9QSEFT
RSA9IFlFUzsKIEFQUExZX1JVTEVTX0lOX0NPUFlfSEVBREVSUyA9ICQoV0tfVVNFX05FV19CVUlM
RF9TWVNURU0pOwogCitFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FUyA9ICQoaW5oZXJpdGVkKSAk
KEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTXyQoV0tfV0hJQ0hfQlVJTERfU1lTVEVNKSk7CiBF
WENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU1tzZGs9aXBob25lKl0gPSAkKGluaGVyaXRlZCkgZnJh
bWV3b3JrLnNiOworLy8gT2Zmc2V0IGFuZCBzZXR0aW5ncyBoZWFkZXJzIGFyZSBidWlsdCBieSBz
ZXBhcmF0ZSB0YXJnZXRzIGFuZCBzY3JpcHQgcGhhc2VzIGluIHRoZSBsZWdhY3kgYnVpbGQgc3lz
dGVtLCBub3QgdXNpbmcgYnVpbGQgcnVsZXMuCitFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU19s
ZWdhY3kgPSAqLmFzbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZwppbmRleCBlY2M3NzAxYjM5Zjku
LjI5ZGMzMDNjZjlkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3Vy
YXRpb25zL1Rvb2xFeGVjdXRhYmxlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9Db25maWd1cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZwpAQCAtNTQsNiArNTQsMTIg
QEAgQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwogT1RIRVJfQ0ZMQUdTID0gJChpbmhlcml0
ZWQpIC1pc3lzdGVtIGljdTsKIAogLy8gRXhwbGljaXRseSBhZGQgdGhlIFByaXZhdGVIZWFkZXJz
IGRpcmVjdG9yeSB0byB0aGUgc2VhcmNoIHBhdGggc28gdGhhdCBnZW5lcmF0ZWQgaGVhZGVyIGZp
bGVzIGNhbiBiZSBmb3VuZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcy4KLUhFQURFUl9TRUFSQ0hfUEFU
SFMgPSAiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3Jl
IiAiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy8ke0FSQ0hTfSIgIiQoSkFWQVND
UklQVENPUkVfRlJBTUVXT1JLU19ESVIpL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9Qcml2YXRl
SGVhZGVycyIgJChpbmhlcml0ZWQpOworSEVBREVSX1NFQVJDSF9QQVRIUyA9ICIke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUiICQoSEVBREVSX1NFQVJD
SF9QQVRIU18kKFdLX1dISUNIX0JVSUxEX1NZU1RFTSkpICIkKEpBVkFTQ1JJUFRDT1JFX0ZSQU1F
V09SS1NfRElSKS9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvUHJpdmF0ZUhlYWRlcnMiICQoaW5o
ZXJpdGVkKTsKKy8vIFhDQnVpbGQgZ2VuZXJhdGVzIExMSW50T2Zmc2V0cyBpbiBUQVJHRVRfVEVN
UF9ESVIsIHdoaWNoIGRvZXMgbm90IG5lZWQgdG8gYmUgbWFudWFsbHkgc3BlY2lmZWQuCitIRUFE
RVJfU0VBUkNIX1BBVEhTX2xlZ2FjeSA9ICIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZz
ZXRzLyR7QVJDSFN9IjsKKworRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVMgPSAkKEVYQ0xVREVE
X1NPVVJDRV9GSUxFX05BTUVTXyQoV0tfV0hJQ0hfQlVJTERfU1lTVEVNKSk7CisvLyBPZmZzZXQg
YW5kIHNldHRpbmdzIGhlYWRlcnMgYXJlIGJ1aWx0IGJ5IHNlcGFyYXRlIHRhcmdldHMgYW5kIHNj
cmlwdCBwaGFzZXMgaW4gdGhlIGxlZ2FjeSBidWlsZCBzeXN0ZW0sIG5vdCB1c2luZyBidWlsZCBy
dWxlcy4KK0VYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTX2xlZ2FjeSA9ICouYXNtOwogCiBPVEhF
Ul9MREZMQUdTID0gJChpbmhlcml0ZWQpICQoU09VUkNFX1ZFUlNJT05fTERGTEFHUyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUxOTQzODc5ZTgyNS4uODQ3YWE3YjQ5YzBhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMywzMiArMywzMiBAQAogCWFyY2hpdmVW
ZXJzaW9uID0gMTsKIAljbGFzc2VzID0gewogCX07Ci0Jb2JqZWN0VmVyc2lvbiA9IDUxOworCW9i
amVjdFZlcnNpb24gPSA1MjsKIAlvYmplY3RzID0gewogCiAvKiBCZWdpbiBQQlhBZ2dyZWdhdGVU
YXJnZXQgc2VjdGlvbiAqLwotCQkwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zm
c2V0cyAqLyA9IHsKKwkJMEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8qIChMZWdhY3kpIExMSW50
IE9mZnNldHMgKi8gPSB7CiAJCQlpc2EgPSBQQlhBZ2dyZWdhdGVUYXJnZXQ7Ci0JCQlidWlsZENv
bmZpZ3VyYXRpb25MaXN0ID0gMEY0NjgwQUMxNEJBN0ZEOTAwQkZFMjcyIC8qIEJ1aWxkIGNvbmZp
Z3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJMTEludCBPZmZzZXRzIiAqLzsK
KwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAwRjQ2ODBBQzE0QkE3RkQ5MDBCRkUyNzIgLyog
QnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIihMZWdhY3kp
IExMSW50IE9mZnNldHMiICovOwogCQkJYnVpbGRQaGFzZXMgPSAoCi0JCQkJMEY0NjgwQUExNEJB
N0ZEOTAwQkZFMjcyIC8qIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyAqLywKKwkJCQkwRjQ2ODBB
QTE0QkE3RkQ5MDBCRkUyNzIgLyogKExlZ2FjeSkgR2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzICov
LAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKIAkJCQkxNEJENjg5OTIxNTE5MTZEMDA1MERB
RkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7Ci0JCQluYW1lID0gIkxMSW50IE9m
ZnNldHMiOworCQkJbmFtZSA9ICIoTGVnYWN5KSBMTEludCBPZmZzZXRzIjsKIAkJCXByb2R1Y3RO
YW1lID0gIkRlcml2ZWQgU291cmNlcyI7CiAJCX07Ci0JCTE0QkQ2ODhGMjE1MTkxNDUwMDUwREFG
RiAvKiBMTEludCBTZXR0aW5ncyAqLyA9IHsKKwkJMTRCRDY4OEYyMTUxOTE0NTAwNTBEQUZGIC8q
IChMZWdhY3kpIExMSW50IFNldHRpbmdzICovID0gewogCQkJaXNhID0gUEJYQWdncmVnYXRlVGFy
Z2V0OwotCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0QkQ2ODkzMjE1MTkxNDUwMDUwREFG
RiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiTExJ
bnQgU2V0dGluZ3MiICovOworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0QkQ2ODkzMjE1
MTkxNDUwMDUwREFGRiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0
ZVRhcmdldCAiKExlZ2FjeSkgTExJbnQgU2V0dGluZ3MiICovOwogCQkJYnVpbGRQaGFzZXMgPSAo
Ci0JCQkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8qIEdlbmVyYXRlIERlcml2ZWQgU291cmNl
cyAqLywKKwkJCQkxNEJENjg5MjIxNTE5MTQ1MDA1MERBRkYgLyogKExlZ2FjeSkgR2VuZXJhdGUg
RGVyaXZlZCBTb3VyY2VzICovLAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKIAkJCQkxNEJE
Njg5MDIxNTE5MTQ1MDA1MERBRkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7Ci0J
CQluYW1lID0gIkxMSW50IFNldHRpbmdzIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgTExJbnQgU2V0
dGluZ3MiOwogCQkJcHJvZHVjdE5hbWUgPSAiRGVyaXZlZCBTb3VyY2VzIjsKIAkJfTsKIAkJNTMy
NUJEQkYyMURGRjJCMTAwQTBERUUxIC8qIEFwcGx5IENvbmZpZ3VyYXRpb24gdG8gWENGaWxlTGlz
dHMgKi8gPSB7CkBAIC03MywxOCArNzMsMTggQEAKIAkJCW5hbWUgPSAiVGVzdCBUb29scyI7CiAJ
CQlwcm9kdWN0TmFtZSA9ICJUZXN0IFRvb2xzIjsKIAkJfTsKLQkJNjU3ODhBOUQxOEI0MDlFQjAw
QzE4OUZGIC8qIE9mZmxpbmUgQXNzZW1ibGVyICovID0geworCQk2NTc4OEE5RDE4QjQwOUVCMDBD
MTg5RkYgLyogKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJsZXIgKi8gPSB7CiAJCQlpc2EgPSBQQlhB
Z2dyZWdhdGVUYXJnZXQ7Ci0JCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNjU3ODhBQTIxOEI0
MDlFQjAwQzE4OUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRl
VGFyZ2V0ICJPZmZsaW5lIEFzc2VtYmxlciIgKi87CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0
ID0gNjU3ODhBQTIxOEI0MDlFQjAwQzE4OUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBm
b3IgUEJYQWdncmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlciIgKi87CiAJ
CQlidWlsZFBoYXNlcyA9ICgKIAkJCQlEREU5OTMwQzI3OEQwODNEMDBGNjBEMjYgLyogUHJvZHVj
dCBEZXBlbmRlbmNpZXMgKi8sCi0JCQkJNjU3ODhBQTAxOEI0MDlFQjAwQzE4OUZGIC8qIE9mZmxp
bmUgQXNzZW1ibGUgKi8sCisJCQkJNjU3ODhBQTAxOEI0MDlFQjAwQzE4OUZGIC8qIChMZWdhY3kp
IE9mZmxpbmUgQXNzZW1ibGUgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAogCQkJCTY1
MjQ0QkQzMThFQ0I1MDAwMDEwQjcwOCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTY1
Nzg4QTlFMThCNDA5RUIwMEMxODlGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJKTsK
LQkJCW5hbWUgPSAiT2ZmbGluZSBBc3NlbWJsZXIiOworCQkJbmFtZSA9ICIoTGVnYWN5KSBPZmZs
aW5lIEFzc2VtYmxlciI7CiAJCQlwcm9kdWN0TmFtZSA9ICJPZmZsaW5lIEFzc2VtYmxlciI7CiAJ
CX07CiAJCTY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQiAvKiBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7
CkBAIC0xODI4LDYgKzE4MjgsOSBAQAogCQlEQ0YzRDU2RDFDRDI5NDc2MDAzRDVDNjUgLyogTGF6
eVByb3BlcnR5SW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRENGM0Q1NjgxQ0QyOTQ2ODAwM0Q1QzY1IC8qIExhenlQcm9wZXJ0eUlubGluZXMu
aCAqLzsgfTsKIAkJRENGREZCRDkxRDFGNUQ5QjAwRkUzRDcyIC8qIEIzQm90dG9tUHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERDRkRGQkQ3
MUQxRjVEOTgwMEZFM0Q3MiAvKiBCM0JvdHRvbVByb3ZpZGVyLmggKi87IH07CiAJCURDRkRGQkRB
MUQxRjVEOUUwMEZFM0Q3MiAvKiBCM1R5cGVNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERDRkRGQkQ4MUQxRjVEOTgwMEZFM0Q3MiAvKiBCM1R5cGVN
YXAuaCAqLzsgfTsKKwkJREQ0MUZBODYyN0NEQUQzMjAwMzk0RDk1IC8qIExvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODZBMDU0NDYxNTU2NDUxQjAwNDQ1MTU3IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtICovOyB9
OworCQlERDQxRkE4NzI3Q0RBRDQzMDAzOTREOTUgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkEwNTQ0NjE1
NTY0NTFCMDA0NDUxNTcgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20gKi87IH07CisJCURENDFG
QTg5MjdDRERERUYwMDM5NEQ5NSAvKiBMb3dMZXZlbEludGVycHJldGVyLmFzbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QTA1NDQ2MTU1NjQ1MUIwMDQ0
NTE1NyAvKiBMb3dMZXZlbEludGVycHJldGVyLmFzbSAqLzsgfTsKIAkJRERCMDRGNDEyNzhFNTY5
QTAwOEQzNjc4IC8qIGxpYldURi5hIGluIFByb2R1Y3QgRGVwZW5kZW5jaWVzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0OThDQUQzMjE0NjU2QzQwMDcxMDg3OSAvKiBsaWJX
VEYuYSAqLzsgfTsKIAkJRERCMDRGNDIyNzhFNTZBMjAwOEQzNjc4IC8qIGxpYldURi5hIGluIEZy
YW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ5OENBRDMyMTQ2
NTZDNDAwNzEwODc5IC8qIGxpYldURi5hICovOyB9OwogCQlEREU5OTMxMDI3OEQwODdEMDBGNjBE
MjYgLyogbGliV2ViS2l0QWRkaXRpb25zLmEgaW4gUHJvZHVjdCBEZXBlbmRlbmNpZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRERFOTkzMEUyNzhEMDg2NjAwRjYwRDI2IC8q
IGxpYldlYktpdEFkZGl0aW9ucy5hICovOyB9OwpAQCAtMjE1Nyw2ICsyMTYwLDUzIEBACiAJCQkp
OwogCQkJc2NyaXB0ID0gImV4ZWMgXCIke1NSQ1JPT1R9L1NjcmlwdHMvcG9zdHByb2Nlc3MtaGVh
ZGVyLXJ1bGVcIlxuIjsKIAkJfTsKKwkJREQ0MUZBN0QyN0NEQTZGRTAwMzk0RDk1IC8qIFBCWEJ1
aWxkUnVsZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEJ1aWxkUnVsZTsKKwkJCWNvbXBpbGVyU3BlYyA9
IGNvbS5hcHBsZS5jb21waWxlcnMucHJveHkuc2NyaXB0OworCQkJZGVwZW5kZW5jeUZpbGUgPSAi
JChERVJJVkVEX0ZJTEVTX0RJUikvJChDVVJSRU5UX0FSQ0gpLyQoSU5QVVRfRklMRV9CQVNFKS5k
IjsKKwkJCWZpbGVQYXR0ZXJucyA9ICIqLmFzbSI7CisJCQlmaWxlVHlwZSA9IHBhdHRlcm4ucHJv
eHk7CisJCQlpbnB1dEZpbGVzID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvSlNDTExJ
bnRPZmZzZXRzRXh0cmFjdG9yIiwKKwkJCQkiJChTUkNST09UKS9vZmZsaW5lYXNtIiwKKwkJCSk7
CisJCQlpc0VkaXRhYmxlID0gMTsKKwkJCW91dHB1dEZpbGVzID0gKAorCQkJCSIkKERFUklWRURf
RklMRVNfRElSKS8kKENVUlJFTlRfQVJDSCkvTExJbnRBc3NlbWJseS5oIiwKKwkJCSk7CisJCQlz
Y3JpcHQgPSAiT0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FU
SU9OfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJ
TkVBU01fQVJHU30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNf
SEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmlcblxuY2QgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0v
RGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIlxuXG4vdXNyL2Jpbi9lbnYgcnVieSBKYXZh
U2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rl
cml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIgXCIke0lOUFVUX0ZJTEVfUEFUSH1cIiBcIiR7
U0NSSVBUX0lOUFVUX0ZJTEVfMH1cIiBcIiR7U0NSSVBUX09VVFBVVF9GSUxFXzB9XCIgXCIke0JV
SUxEX1ZBUklBTlRTfVwiICR7T0ZGTElORUFTTV9BUkdTfSAtLWRlcGZpbGU9XCIke0RFUklWRURf
RklMRVNfRElSfS8ke0NVUlJFTlRfQVJDSH0vJHtJTlBVVF9GSUxFX0JBU0V9LmRcIlxuIjsKKwkJ
fTsKKwkJREQ0MUZBN0UyN0NEQTg5RDAwMzk0RDk1IC8qIFBCWEJ1aWxkUnVsZSAqLyA9IHsKKwkJ
CWlzYSA9IFBCWEJ1aWxkUnVsZTsKKwkJCWNvbXBpbGVyU3BlYyA9IGNvbS5hcHBsZS5jb21waWxl
cnMucHJveHkuc2NyaXB0OworCQkJZGVwZW5kZW5jeUZpbGUgPSAiJChERVJJVkVEX0ZJTEVTX0RJ
UikvJChDVVJSRU5UX0FSQ0gpLyQoSU5QVVRfRklMRV9CQVNFKS5kIjsKKwkJCWZpbGVQYXR0ZXJu
cyA9ICIqLmFzbSI7CisJCQlmaWxlVHlwZSA9IHBhdHRlcm4ucHJveHk7CisJCQlpbnB1dEZpbGVz
ID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvSlNDTExJbnRTZXR0aW5nc0V4dHJhY3Rv
ciIsCisJCQkJIiQoU1JDUk9PVCkvb2ZmbGluZWFzbSIsCisJCQkpOworCQkJaXNFZGl0YWJsZSA9
IDE7CisJCQlvdXRwdXRGaWxlcyA9ICgKKwkJCQkiJChERVJJVkVEX0ZJTEVTX0RJUikvJChDVVJS
RU5UX0FSQ0gpL0xMSW50RGVzaXJlZE9mZnNldHMuaCIsCisJCQkpOworCQkJc2NyaXB0ID0gInNl
dCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJ
T059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVBU01fQVJHUz1cIiR7T0ZGTElO
RUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dLX1dFQktJVEFERElUSU9OU19I
RUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG4vdXNyL2Jpbi9lbnYgcnVieSBcIiR7U1JDUk9P
VH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9yLnJiXCIgXCItSSR7QlVJTFRf
UFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwiIFwiJHtJTlBVVF9G
SUxFX1BBVEh9XCIgIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0pTQ0xMSW50U2V0dGluZ3NFeHRy
YWN0b3JcIiBcIiR7U0NSSVBUX09VVFBVVF9GSUxFXzB9XCIgXCIke0FSQ0hTfSBDX0xPT1BcIiBc
IiR7QlVJTERfVkFSSUFOVFN9XCIgJHtPRkZMSU5FQVNNX0FSR1N9IC0tZGVwZmlsZT1cIiR7REVS
SVZFRF9GSUxFU19ESVJ9LyR7Q1VSUkVOVF9BUkNIfS8ke0lOUFVUX0ZJTEVfQkFTRX0uZFwiXG5c
biI7CisJCX07CisJCURENDFGQTgxMjdDREFBNTQwMDM5NEQ5NSAvKiBQQlhCdWlsZFJ1bGUgKi8g
PSB7CisJCQlpc2EgPSBQQlhCdWlsZFJ1bGU7CisJCQljb21waWxlclNwZWMgPSBjb20uYXBwbGUu
Y29tcGlsZXJzLnByb3h5LnNjcmlwdDsKKwkJCWRlcGVuZGVuY3lGaWxlID0gIiQoREVSSVZFRF9G
SUxFU19ESVIpLyQoQ1VSUkVOVF9BUkNIKS8kKElOUFVUX0ZJTEVfQkFTRSkuZCI7CisJCQlmaWxl
UGF0dGVybnMgPSAiKi5hc20iOworCQkJZmlsZVR5cGUgPSBwYXR0ZXJuLnByb3h5OworCQkJaW5w
dXRGaWxlcyA9ICgKKwkJCQkiJChTUkNST09UKS9vZmZsaW5lYXNtIiwKKwkJCSk7CisJCQlpc0Vk
aXRhYmxlID0gMTsKKwkJCW91dHB1dEZpbGVzID0gKAorCQkJCSIkKERFUklWRURfRklMRVNfRElS
KS8kKENVUlJFTlRfQVJDSCkvTExJbnREZXNpcmVkU2V0dGluZ3MuaCIsCisJCQkpOworCQkJc2Ny
aXB0ID0gInNldCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIke0RFUExPWU1F
TlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVBU01fQVJHUz1c
IiR7T0ZGTElORUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dLX1dFQktJVEFE
RElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG4vdXNyL2Jpbi9lbnYgcnVieSBc
IiR7U1JDUk9PVH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9zZXR0aW5nc19leHRyYWN0b3IucmJcIiBc
Ii1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIg
XCIke0lOUFVUX0ZJTEVfUEFUSH1cIiBcIiR7U0NSSVBUX09VVFBVVF9GSUxFXzB9XCIgXCIke0FS
Q0hTfSBDX0xPT1BcIiAke09GRkxJTkVBU01fQVJHU30gLS1kZXBmaWxlPVwiJHtERVJJVkVEX0ZJ
TEVTX0RJUn0vJHtDVVJSRU5UX0FSQ0h9LyR7SU5QVVRfRklMRV9CQVNFfS5kXCJcbiI7CisJCX07
CiAvKiBFbmQgUEJYQnVpbGRSdWxlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYQ29udGFpbmVy
SXRlbVByb3h5IHNlY3Rpb24gKi8KQEAgLTIzNzAsMTMgKzI0MjAsNiBAQAogCQkJcmVtb3RlR2xv
YmFsSURTdHJpbmcgPSA2NUZCM0Y2NjA5RDExRTkxMDBGNDlERUI7CiAJCQlyZW1vdGVJbmZvID0g
IkRlcml2ZWQgU291cmNlcyI7CiAJCX07Ci0JCTY1Nzg4QUFDMThCNDBBN0IwMEMxODlGRiAvKiBQ
QlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7Ci0JCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJv
eHk7Ci0JCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJv
amVjdCBvYmplY3QgKi87Ci0JCQlwcm94eVR5cGUgPSAxOwotCQkJcmVtb3RlR2xvYmFsSURTdHJp
bmcgPSA2NTc4OEE5RDE4QjQwOUVCMDBDMTg5RkY7Ci0JCQlyZW1vdGVJbmZvID0gIk9mZmxpbmUg
QXNzZW1ibGVyIjsKLQkJfTsKIAkJNjVGQjNGN0QwOUQxMUVGMzAwRjQ5REVCIC8qIFBCWENvbnRh
aW5lckl0ZW1Qcm94eSAqLyA9IHsKIAkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKIAkJ
CWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9i
amVjdCAqLzsKQEAgLTIzOTgsNiArMjQ0MSwxMyBAQAogCQkJcmVtb3RlR2xvYmFsSURTdHJpbmcg
PSA5MzJGNUIzRTA4MjJBMUM3MDA3MzY5NzU7CiAJCQlyZW1vdGVJbmZvID0gIkphdmFTY3JpcHRD
b3JlIChVcGdyYWRlZCkiOwogCQl9OworCQlERDQxRkE4QTI3Q0RFMUM0MDAzOTREOTUgLyogUEJY
Q29udGFpbmVySXRlbVByb3h5ICovID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5
OworCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2pl
Y3Qgb2JqZWN0ICovOworCQkJcHJveHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5n
ID0gNjU3ODhBOUQxOEI0MDlFQjAwQzE4OUZGOworCQkJcmVtb3RlSW5mbyA9ICIoTGVnYWN5KSBP
ZmZsaW5lIEFzc2VtYmxlciI7CisJCX07CiAJCUZFNTMzQ0FFMUYyMTdFQzYwMDE2QTFGRSAvKiBQ
QlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CiAJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJv
eHk7CiAJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJv
amVjdCBvYmplY3QgKi87CkBAIC0xMTQxMyw2ICsxMTQ2Myw3IEBACiAJCQkJMEZGOTIyQzYxNEY0
NkIxMzAwNDFBMjRFIC8qIEZyYW1ld29ya3MgKi8sCiAJCQkpOwogCQkJYnVpbGRSdWxlcyA9ICgK
KwkJCQlERDQxRkE3RTI3Q0RBODlEMDAzOTREOTUgLyogUEJYQnVpbGRSdWxlICovLAogCQkJKTsK
IAkJCWRlcGVuZGVuY2llcyA9ICgKIAkJCQkxNENGQjEwOTIzMDM1RjEzMDBGMDA0OEMgLyogUEJY
VGFyZ2V0RGVwZW5kZW5jeSAqLywKQEAgLTExNDcxLDYgKzExNTIyLDcgQEAKIAkJCQkxNEJENjg4
ODIxNTE5MTMxMDA1MERBRkYgLyogRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlidWlsZFJ1bGVz
ID0gKAorCQkJCURENDFGQTgxMjdDREFBNTQwMDM5NEQ5NSAvKiBQQlhCdWlsZFJ1bGUgKi8sCiAJ
CQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAogCQkJCTE0Q0ZCMTA3MjMwMzVGMEYwMEYwMDQ4QyAv
KiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLApAQCAtMTE1NTQsMTAgKzExNjA2LDExIEBACiAJCQkJ
NjU3N0ZGQzYyNzZBQzhEMjAwMTFBRUM4IC8qIENyZWF0ZSBTeW1saW5rIHRvIEFsdCBSb290IFBh
dGggKi8sCiAJCQkpOwogCQkJYnVpbGRSdWxlcyA9ICgKKwkJCQlERDQxRkE3RDI3Q0RBNkZFMDAz
OTREOTUgLyogUEJYQnVpbGRSdWxlICovLAogCQkJCTUzNUUwOEMyMjI1NDVBQzgwMERGMDBDQSAv
KiBQQlhCdWlsZFJ1bGUgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAotCQkJCTY1Nzg4
QUFEMThCNDBBN0IwMEMxODlGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAorCQkJCURENDFG
QThCMjdDREUxQzQwMDM5NEQ5NSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTY1RkIz
RjdFMDlEMTFFRjMwMEY0OURFQiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTUzQjRC
RDE0MUY2OEMyQUEwMEQyQkVBMyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJKTsKQEAg
LTExNjM2LDExICsxMTY4OSwxMSBAQAogCQkJCTkzMkY1QkUzMDgyMkExQzcwMDczNjk3NSAvKiBB
bGwgKi8sCiAJCQkJOTMyRjVCM0UwODIyQTFDNzAwNzM2OTc1IC8qIEphdmFTY3JpcHRDb3JlICov
LAogCQkJCTY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQiAvKiBEZXJpdmVkIFNvdXJjZXMgKi8sCi0J
CQkJMTRCRDY4OEYyMTUxOTE0NTAwNTBEQUZGIC8qIExMSW50IFNldHRpbmdzICovLAorCQkJCTE0
QkQ2ODhGMjE1MTkxNDUwMDUwREFGRiAvKiAoTGVnYWN5KSBMTEludCBTZXR0aW5ncyAqLywKIAkJ
CQkxNEJENjg4MTIxNTE5MTMxMDA1MERBRkYgLyogSlNDTExJbnRTZXR0aW5nc0V4dHJhY3RvciAq
LywKLQkJCQkwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zmc2V0cyAqLywKKwkJ
CQkwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogKExlZ2FjeSkgTExJbnQgT2Zmc2V0cyAqLywK
IAkJCQkwRkY5MjJDMzE0RjQ2QjEzMDA0MUEyNEUgLyogSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9y
ICovLAotCQkJCTY1Nzg4QTlEMThCNDA5RUIwMEMxODlGRiAvKiBPZmZsaW5lIEFzc2VtYmxlciAq
LywKKwkJCQk2NTc4OEE5RDE4QjQwOUVCMDBDMTg5RkYgLyogKExlZ2FjeSkgT2ZmbGluZSBBc3Nl
bWJsZXIgKi8sCiAJCQkJNTNCNEJEMDQxRjY4QUY4OTAwRDJCRUEzIC8qIEdlbmVyYXRlIFVuaWZp
ZWQgU291cmNlcyAqLywKIAkJCQlFMUFDMkUyNzIwRjdCOTRDMDBCMDg5N0QgLyogVW5sb2NrIEtl
eWNoYWluICovLAogCQkJCTE0MTIxMTFGMEE0ODc5M0MwMDQ4MDI1NSAvKiBtaW5pZG9tICovLApA
QCAtMTE2NzEsMzMgKzExNzI0LDMzIEBACiAvKiBFbmQgUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSBz
ZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICov
Ci0JCTBGNDY4MEFBMTRCQTdGRDkwMEJGRTI3MiAvKiBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMg
Ki8gPSB7CisJCTBGNDY4MEFBMTRCQTdGRDkwMEJGRTI3MiAvKiAoTGVnYWN5KSBHZW5lcmF0ZSBE
ZXJpdmVkIFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7
CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCiAJCQkpOwog
CQkJaW5wdXRQYXRocyA9ICgKIAkJCSk7Ci0JCQluYW1lID0gIkdlbmVyYXRlIERlcml2ZWQgU291
cmNlcyI7CisJCQluYW1lID0gIihMZWdhY3kpIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyI7CiAJ
CQlvdXRwdXRQYXRocyA9ICgKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICJz
ZXQgLWVcblxuT0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FU
SU9OfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJ
TkVBU01fQVJHU30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNf
SEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmlcblxubWtkaXIgLXAgXCIke0JVSUxUX1BST0RVQ1RT
X0RJUn0vTExJbnRPZmZzZXRzLyR7QVJDSFN9XCJcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke1NS
Q1JPT1R9L29mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYlwiIFwiLUkke0JV
SUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBcIiR7U1JD
Uk9PVH0vbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc21cIiAgXCIke0JVSUxUX1BST0RVQ1RT
X0RJUn0vSlNDTExJbnRTZXR0aW5nc0V4dHJhY3RvclwiIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9
L0xMSW50T2Zmc2V0cy8ke0FSQ0hTfS9MTEludERlc2lyZWRPZmZzZXRzLmhcIiBcIiR7QVJDSFN9
IENfTE9PUFwiIFwiJHtCVUlMRF9WQVJJQU5UU31cIiAke09GRkxJTkVBU01fQVJHU31cbiI7CisJ
CQlzaGVsbFNjcmlwdCA9ICJbIFwiJHtXS19VU0VfTkVXX0JVSUxEX1NZU1RFTX1cIiA9IFwiWUVT
XCIgXSAmJiBleGl0IDBcbnNldCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIk
e0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVB
U01fQVJHUz1cIiR7T0ZGTElORUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dL
X1dFQktJVEFERElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG5ta2RpciAtcCBc
IiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU31cIlxuXG4vdXNyL2Jp
bi9lbnYgcnVieSBcIiR7U1JDUk9PVH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFj
dG9yLnJiXCIgXCItSSR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2Ny
aXB0Q29yZVwiIFwiJHtTUkNST09UfS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbVwiICBc
IiR7QlVJTFRfUFJPRFVDVFNfRElSfS9KU0NMTEludFNldHRpbmdzRXh0cmFjdG9yXCIgXCIke0JV
SUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRzLyR7QVJDSFN9L0xMSW50RGVzaXJlZE9mZnNl
dHMuaFwiIFwiJHtBUkNIU30gQ19MT09QXCIgXCIke0JVSUxEX1ZBUklBTlRTfVwiICR7T0ZGTElO
RUFTTV9BUkdTfVxuIjsKIAkJfTsKLQkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8qIEdlbmVy
YXRlIERlcml2ZWQgU291cmNlcyAqLyA9IHsKKwkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8q
IChMZWdhY3kpIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNo
ZWxsU2NyaXB0QnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJ
CQlmaWxlcyA9ICgKIAkJCSk7CiAJCQlpbnB1dFBhdGhzID0gKAogCQkJKTsKLQkJCW5hbWUgPSAi
R2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgR2VuZXJhdGUg
RGVyaXZlZCBTb3VyY2VzIjsKIAkJCW91dHB1dFBhdGhzID0gKAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsK
LQkJCXNoZWxsU2NyaXB0ID0gInNldCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sg
XCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJ
TkVBU01fQVJHUz1cIiR7T0ZGTElORUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0k
e1dLX1dFQktJVEFERElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG5ta2RpciAt
cCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU31cIlxuXG4vdXNy
L2Jpbi9lbnYgcnVieSBcIiR7U1JDUk9PVH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9zZXR0aW5nc19l
eHRyYWN0b3IucmJcIiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0ph
dmFTY3JpcHRDb3JlXCIgXCIke1NSQ1JPT1R9L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
XCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRzLyR7QVJDSFN9L0xMSW50RGVz
aXJlZFNldHRpbmdzLmhcIiBcIiR7QVJDSFN9IENfTE9PUFwiICR7T0ZGTElORUFTTV9BUkdTfVxu
IjsKKwkJCXNoZWxsU2NyaXB0ID0gIlsgXCIke1dLX1VTRV9ORVdfQlVJTERfU1lTVEVNfVwiID0g
XCJZRVNcIiBdICYmIGV4aXQgMFxuc2V0IC1lXG5cbk9GRkxJTkVBU01fQVJHUz1cIlwiXG5pZiBb
WyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIllFU1wiIF1dOyB0aGVuXG4gICAgT0ZG
TElORUFTTV9BUkdTPVwiJHtPRkZMSU5FQVNNX0FSR1N9IC0td2Via2l0LWFkZGl0aW9ucy1wYXRo
PSR7V0tfV0VCS0lUQURESVRJT05TX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmZpXG5cbm1rZGly
IC1wIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy8ke0FSQ0hTfVwiXG5cbi91
c3IvYmluL2VudiBydWJ5IFwiJHtTUkNST09UfS9vZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdz
X2V4dHJhY3Rvci5yYlwiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMv
SmF2YVNjcmlwdENvcmVcIiBcIiR7U1JDUk9PVH0vbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c21cIiBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU30vTExJbnRE
ZXNpcmVkU2V0dGluZ3MuaFwiIFwiJHtBUkNIU30gQ19MT09QXCIgJHtPRkZMSU5FQVNNX0FSR1N9
XG4iOwogCQl9OwogCQkxQTAyRDlBODFCMzRBODgyMDAwRDE1MjIgLyogQWRkIFN5bWxpbmsgaW4g
L1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzICovID0gewogCQkJaXNhID0gUEJYU2hl
bGxTY3JpcHRCdWlsZFBoYXNlOwpAQCAtMTE5MzYsMTkgKzExOTg5LDE5IEBACiAJCQlzaGVsbFBh
dGggPSAvYmluL3pzaDsKIAkJCXNoZWxsU2NyaXB0ID0gIlwiJHtTUkNST09UfS9TY3JpcHRzL2Ny
ZWF0ZS1zeW1saW5rLXRvLWFsdHJvb3Quc2hcIlxuIjsKIAkJfTsKLQkJNjU3ODhBQTAxOEI0MDlF
QjAwQzE4OUZGIC8qIE9mZmxpbmUgQXNzZW1ibGUgKi8gPSB7CisJCTY1Nzg4QUEwMThCNDA5RUIw
MEMxODlGRiAvKiAoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlICovID0gewogCQkJaXNhID0gUEJY
U2hlbGxTY3JpcHRCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
IAkJCWZpbGVzID0gKAogCQkJKTsKIAkJCWlucHV0UGF0aHMgPSAoCiAJCQkpOwotCQkJbmFtZSA9
ICJPZmZsaW5lIEFzc2VtYmxlIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJs
ZSI7CiAJCQlvdXRwdXRQYXRocyA9ICgKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlw
dCA9ICJpZiBbWyBcIiR7QUNUSU9OfVwiID09IFwiaW5zdGFsbGhkcnNcIiBdXTsgdGhlblxuICAg
IGV4aXQgMFxuZmlcblxuT0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5U
X0xPQ0FUSU9OfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIk
e09GRkxJTkVBU01fQVJHU30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJ
VElPTlNfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmlcblxuY2QgXCIke0JVSUxUX1BST0RVQ1RT
X0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIlxuXG4vdXNyL2Jpbi9lbnYgcnVi
eSBKYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYiBcIi1JJHtCVUlMVF9QUk9EVUNUU19E
SVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIgSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc20gXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vSlNDTExJbnRP
ZmZzZXRzRXh0cmFjdG9yXCIgTExJbnRBc3NlbWJseS5oIFwiJHtCVUlMRF9WQVJJQU5UU31cIiAk
e09GRkxJTkVBU01fQVJHU30gfHwgZXhpdCAxXG4iOworCQkJc2hlbGxTY3JpcHQgPSAiWyBcIiR7
V0tfVVNFX05FV19CVUlMRF9TWVNURU19XCIgPSBcIllFU1wiIF0gJiYgZXhpdCAwXG5cbmlmIFtb
IFwiJHtBQ1RJT059XCIgPT0gXCJpbnN0YWxsaGRyc1wiIF1dOyB0aGVuXG4gICAgZXhpdCAwXG5m
aVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059
XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVBU01fQVJHUz1cIiR7T0ZGTElORUFT
TV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dLX1dFQktJVEFERElUSU9OU19IRUFE
RVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG5jZCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJp
dmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwiXG5cbi91c3IvYmluL2VudiBydWJ5IEphdmFTY3Jp
cHRDb3JlL29mZmxpbmVhc20vYXNtLnJiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZl
ZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBKYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbSBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9KU0NMTEludE9mZnNldHNFeHRy
YWN0b3JcIiBMTEludEFzc2VtYmx5LmggXCIke0JVSUxEX1ZBUklBTlRTfVwiICR7T0ZGTElORUFT
TV9BUkdTfSB8fCBleGl0IDFcbiI7CiAJCX07CiAJCTY1RkIzRjY1MDlEMTFFOTEwMEY0OURFQiAv
KiBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlw
dEJ1aWxkUGhhc2U7CkBAIC0xMjA4MCw2ICsxMjEzMyw3IEBACiAJCQlpc2EgPSBQQlhTb3VyY2Vz
QnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9
ICgKKwkJCQlERDQxRkE4NzI3Q0RBRDQzMDAzOTREOTUgLyogTG93TGV2ZWxJbnRlcnByZXRlci5h
c20gaW4gU291cmNlcyAqLywKIAkJCQkwRkY5MjJENDE0RjQ2QjQxMDA0MUEyNEUgLyogTExJbnRP
ZmZzZXRzRXh0cmFjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpAQCAtMTIxMjcsNiArMTIxODEsNyBAQAogCQkJ
aXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgz
NjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJREQ0MUZBODYyN0NEQUQzMjAwMzk0RDk1IC8qIExvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtIGluIFNvdXJjZXMgKi8sCiAJCQkJMTRCRDY4OUQyMTUxOTFDMTAw
NTBEQUZGIC8qIExMSW50U2V0dGluZ3NFeHRyYWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CkBAIC0xMjIyMCw2
ICsxMjI3NSw3IEBACiAJCQkJNTM2QjMxMzQxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3Vy
Y2U0MC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzEzMTFGNzFDNTk5MDAzN0ZDMzMgLyog
VW5pZmllZFNvdXJjZTQxLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTNCMUY3MUM1OTkw
MDM3RkMzMyAvKiBVbmlmaWVkU291cmNlNDIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJREQ0MUZB
ODkyN0NERERFRjAwMzk0RDk1IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNTM2QjMxM0UxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2U0My5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzE0QzFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNv
dXJjZTQ0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTUxMUY3MUM1OTkwMDM3RkMzMyAv
KiBVbmlmaWVkU291cmNlNDUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMjM5NCw3ICsxMjQ1MCw3
IEBACiAJCX07CiAJCTBGRjkyMkQzMTRGNDZCMkYwMDQxQTI0RSAvKiBQQlhUYXJnZXREZXBlbmRl
bmN5ICovID0gewogCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKLQkJCXRhcmdldCA9IDBG
NDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBMTEludCBPZmZzZXRzICovOworCQkJdGFyZ2V0ID0g
MEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8qIChMZWdhY3kpIExMSW50IE9mZnNldHMgKi87CiAJ
CQl0YXJnZXRQcm94eSA9IDBGRjkyMkQyMTRGNDZCMkYwMDQxQTI0RSAvKiBQQlhDb250YWluZXJJ
dGVtUHJveHkgKi87CiAJCX07CiAJCTE0QkQ2ODgyMjE1MTkxMzEwMDUwREFGRiAvKiBQQlhUYXJn
ZXREZXBlbmRlbmN5ICovID0gewpAQCAtMTI0MTQsNyArMTI0NzAsNyBAQAogCQl9OwogCQkxNEJE
Njg5QjIxNTE5MTc0MDA1MERBRkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKIAkJCWlz
YSA9IFBCWFRhcmdldERlcGVuZGVuY3k7Ci0JCQl0YXJnZXQgPSAxNEJENjg4RjIxNTE5MTQ1MDA1
MERBRkYgLyogTExJbnQgU2V0dGluZ3MgKi87CisJCQl0YXJnZXQgPSAxNEJENjg4RjIxNTE5MTQ1
MDA1MERBRkYgLyogKExlZ2FjeSkgTExJbnQgU2V0dGluZ3MgKi87CiAJCQl0YXJnZXRQcm94eSA9
IDE0QkQ2ODlBMjE1MTkxNzQwMDUwREFGRiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CiAJ
CX07CiAJCTE0Q0ZCMTAwMjMwMzVFRjMwMEYwMDQ4QyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICov
ID0gewpAQCAtMTI1MjcsMTEgKzEyNTgzLDYgQEAKIAkJCXRhcmdldCA9IDY1RkIzRjY2MDlEMTFF
OTEwMEY0OURFQiAvKiBEZXJpdmVkIFNvdXJjZXMgKi87CiAJCQl0YXJnZXRQcm94eSA9IDY1Nzg4
QUFBMThCNDBBM0IwMEMxODlGRiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CiAJCX07Ci0J
CTY1Nzg4QUFEMThCNDBBN0IwMEMxODlGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewot
CQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKLQkJCXRhcmdldCA9IDY1Nzg4QTlEMThCNDA5
RUIwMEMxODlGRiAvKiBPZmZsaW5lIEFzc2VtYmxlciAqLzsKLQkJCXRhcmdldFByb3h5ID0gNjU3
ODhBQUMxOEI0MEE3QjAwQzE4OUZGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKLQkJfTsK
IAkJNjVGQjNGN0UwOUQxMUVGMzAwRjQ5REVCIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7
CiAJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OwogCQkJdGFyZ2V0ID0gNjVGQjNGNjYwOUQx
MUU5MTAwRjQ5REVCIC8qIERlcml2ZWQgU291cmNlcyAqLzsKQEAgLTEyNTQ3LDYgKzEyNTk4LDEx
IEBACiAJCQl0YXJnZXQgPSA5MzJGNUIzRTA4MjJBMUM3MDA3MzY5NzUgLyogSmF2YVNjcmlwdENv
cmUgKi87CiAJCQl0YXJnZXRQcm94eSA9IDkzMkY1QkU2MDgyMkExQzcwMDczNjk3NSAvKiBQQlhD
b250YWluZXJJdGVtUHJveHkgKi87CiAJCX07CisJCURENDFGQThCMjdDREUxQzQwMDM5NEQ5NSAv
KiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0geworCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5j
eTsKKwkJCXRhcmdldCA9IDY1Nzg4QTlEMThCNDA5RUIwMEMxODlGRiAvKiAoTGVnYWN5KSBPZmZs
aW5lIEFzc2VtYmxlciAqLzsKKwkJCXRhcmdldFByb3h5ID0gREQ0MUZBOEEyN0NERTFDNDAwMzk0
RDk1IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsKIAkJRkU1MzNDQUYxRjIxN0VD
NjAwMTZBMUZFIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhUYXJn
ZXREZXBlbmRlbmN5OwogCQkJdGFyZ2V0ID0gRkU1MzNDQTExRjIxN0RCMzAwMTZBMUZFIC8qIHRl
c3RtYXNtICovOwpAQCAtMTMyNDYsNyArMTMzMDIsNyBAQAogLyogRW5kIFhDQnVpbGRDb25maWd1
cmF0aW9uIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9u
ICovCi0JCTBGNDY4MEFDMTRCQTdGRDkwMEJGRTI3MiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxp
c3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiTExJbnQgT2Zmc2V0cyIgKi8gPSB7CisJCTBGNDY4
MEFDMTRCQTdGRDkwMEJGRTI3MiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFn
Z3JlZ2F0ZVRhcmdldCAiKExlZ2FjeSkgTExJbnQgT2Zmc2V0cyIgKi8gPSB7CiAJCQlpc2EgPSBY
Q0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKIAkJCQkwRjQ2
ODBBRDE0QkE3RkQ5MDBCRkUyNzIgLyogRGVidWcgKi8sCkBAIC0xMzM3OCw3ICsxMzQzNCw3IEBA
CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmln
dXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOwogCQl9OwotCQkxNEJENjg5MzIxNTE5MTQ1MDA1MERB
RkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIkxM
SW50IFNldHRpbmdzIiAqLyA9IHsKKwkJMTRCRDY4OTMyMTUxOTE0NTAwNTBEQUZGIC8qIEJ1aWxk
IGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBMTElu
dCBTZXR0aW5ncyIgKi8gPSB7CiAJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVp
bGRDb25maWd1cmF0aW9ucyA9ICgKIAkJCQkxNEJENjg5NDIxNTE5MTQ1MDA1MERBRkYgLyogRGVi
dWcgKi8sCkBAIC0xMzQ1NSw3ICsxMzUxMSw3IEBACiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklz
VmlzaWJsZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOwog
CQl9OwotCQk2NTc4OEFBMjE4QjQwOUVCMDBDMTg5RkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBs
aXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIk9mZmxpbmUgQXNzZW1ibGVyIiAqLyA9IHsKKwkJ
NjU3ODhBQTIxOEI0MDlFQjAwQzE4OUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3Ig
UEJYQWdncmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlciIgKi8gPSB7CiAJ
CQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgK
IAkJCQk2NTc4OEFBMzE4QjQwOUVCMDBDMTg5RkYgLyogRGVidWcgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hc20ucmIgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvb2ZmbGluZWFzbS9hc20ucmIKaW5kZXggYmVkM2FkOTFjOTNmLi5mYWMyZTc2OGU5MzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYgorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hc20ucmIKQEAgLTMzLDYgKzMzLDcg
QEAgcmVxdWlyZSAnb3B0cGFyc2UnCiByZXF1aXJlICJwYXJzZXIiCiByZXF1aXJlICJzZWxmX2hh
c2giCiByZXF1aXJlICJzZXR0aW5ncyIKK3JlcXVpcmUgInNoZWxsd29yZHMiCiByZXF1aXJlICJ0
cmFuc2Zvcm0iCiAKIGNsYXNzIEFzc2VtYmxlcgpAQCAtMzQ3LDcgKzM0OCw3IEBAIHZhcmlhbnRz
ID0gQVJHVi5zaGlmdC5zcGxpdCgvWyxcc10rLykKIAogJG9wdGlvbnMgPSB7fQogT3B0aW9uUGFy
c2VyLm5ldyBkbyB8b3B0c3wKLSAgICBvcHRzLmJhbm5lciA9ICJVc2FnZTogYXNtLnJiIGFzbUZp
bGUgb2Zmc2V0c0ZpbGUgb3V0cHV0RmlsZU5hbWUgWy0tYXNzZW1ibGVyPTxBU00+XSBbLS13ZWJr
aXQtYWRkaXRpb25zLXBhdGg9PHBhdGg+XSBbLS1iaW5hcnktZm9ybWF0PTxmb3JtYXQ+XSIKKyAg
ICBvcHRzLmJhbm5lciA9ICJVc2FnZTogYXNtLnJiIGFzbUZpbGUgb2Zmc2V0c0ZpbGUgb3V0cHV0
RmlsZU5hbWUgWy0tYXNzZW1ibGVyPTxBU00+XSBbLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9PHBh
dGg+XSBbLS1iaW5hcnktZm9ybWF0PTxmb3JtYXQ+XSBbLS1kZXBmaWxlPTxkZXBmaWxlPl0iCiAg
ICAgIyBUaGlzIG9wdGlvbiBpcyBjdXJyZW50bHkgb25seSB1c2VkIHRvIHNwZWNpZnkgdGhlIG1h
c20gYXNzZW1ibGVyCiAgICAgb3B0cy5vbigiLS1hc3NlbWJsZXI9W0FTTV0iLCAiU3BlY2lmeSBh
biBhc3NlbWJsZXIgdG8gdXNlLiIpIGRvIHxhc3NlbWJsZXJ8CiAgICAgICAgICRvcHRpb25zWzph
c3NlbWJsZXJdID0gYXNzZW1ibGVyCkBAIC0zNTgsNiArMzU5LDkgQEAgT3B0aW9uUGFyc2VyLm5l
dyBkbyB8b3B0c3wKICAgICBvcHRzLm9uKCItLWJpbmFyeS1mb3JtYXQ9Rk9STUFUIiwgIlNwZWNp
ZnkgdGhlIGJpbmFyeSBmb3JtYXQgdXNlZCBieSB0aGUgdGFyZ2V0IHN5c3RlbS4iKSBkbyB8Zm9y
bWF0fAogICAgICAgICAkb3B0aW9uc1s6YmluYXJ5X2Zvcm1hdF0gPSBmb3JtYXQKICAgICBlbmQK
KyAgICBvcHRzLm9uKCItLWRlcGZpbGU9REVQRklMRSIsICJQYXRoIHRvIHdyaXRlIE1ha2VmaWxl
LXN0eWxlIGRpc2NvdmVyZWQgZGVwZW5kZW5jaWVzIHRvLiIpIGRvIHxwYXRofAorICAgICAgICAk
b3B0aW9uc1s6ZGVwZmlsZV0gPSBwYXRoCisgICAgZW5kCiBlbmQucGFyc2UhCiAKIGJlZ2luCkBA
IC0zODQsNyArMzg4LDcgQEAgaW5wdXRIYXNoID0KICAgICAiICIgKyBzZWxmSGFzaCArCiAgICAg
IiAiICsgRGlnZXN0OjpTSEExLmhleGRpZ2VzdCgkb3B0aW9ucy5oYXNfa2V5Pyg6YXNzZW1ibGVy
KSA/ICRvcHRpb25zWzphc3NlbWJsZXJdIDogIiIpCiAKLWlmIEZpbGVUZXN0LmV4aXN0PyBvdXRw
dXRGbG5tCitpZiBGaWxlVGVzdC5leGlzdD8ob3V0cHV0RmxubSkgYW5kIG5vdCAkb3B0aW9uc1s6
ZGVwZmlsZV0gb3IgRmlsZVRlc3QuZXhpc3Q/KCRvcHRpb25zWzpkZXBmaWxlXSkKICAgICBsYXN0
TGluZSA9IG5pbAogICAgIEZpbGUub3BlbihvdXRwdXRGbG5tLCAiciIpIHsKICAgICAgICAgfCBm
aWxlIHwKQEAgLTQwNyw5ICs0MTEsMTYgQEAgRmlsZS5vcGVuKG91dHB1dEZsbm0sICJ3Iikgewog
ICAgICRvdXRwdXQgPSBvdXRwCiAKICAgICAkYXNtID0gQXNzZW1ibGVyLm5ldygkb3V0cHV0KQot
ICAgIAotICAgIGFzdCA9IHBhcnNlKGFzbUZpbGUsICRvcHRpb25zKQorCisgICAgc291cmNlcyA9
IFNldC5uZXcKKyAgICBhc3QgPSBwYXJzZShhc21GaWxlLCAkb3B0aW9ucywgc291cmNlcykKICAg
ICBzZXR0aW5nc0NvbWJpbmF0aW9ucyA9IGNvbXB1dGVTZXR0aW5nc0NvbWJpbmF0aW9ucyhhc3Qp
CisgICAgCisgICAgaWYgJG9wdGlvbnNbOmRlcGZpbGVdCisgICAgICAgIGRlcGZpbGUgPSBGaWxl
Lm9wZW4oJG9wdGlvbnNbOmRlcGZpbGVdLCAidyIpCisgICAgICAgIGRlcGZpbGUucHJpbnQoU2hl
bGx3b3Jkcy5lc2NhcGUob3V0cHV0RmxubSksICI6ICIpCisgICAgICAgIGRlcGZpbGUucHV0cyhT
aGVsbHdvcmRzLmpvaW4oc291cmNlcy5zb3J0KSkKKyAgICBlbmQKIAogICAgIGNvbmZpZ3VyYXRp
b25MaXN0LmVhY2ggewogICAgICAgICB8IGNvbmZpZ3VyYXRpb24gfApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5y
YiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9leHRy
YWN0b3IucmIKaW5kZXggMDVjOTM4MTIyYTMxLi5mNDQ4NWNkMmVjMjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3Iu
cmIKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0
X2V4dHJhY3Rvci5yYgpAQCAtMzMsNiArMzMsNyBAQCByZXF1aXJlICdvcHRwYXJzZScKIHJlcXVp
cmUgInBhcnNlciIKIHJlcXVpcmUgInNlbGZfaGFzaCIKIHJlcXVpcmUgInNldHRpbmdzIgorcmVx
dWlyZSAic2hlbGx3b3JkcyIKIHJlcXVpcmUgInRyYW5zZm9ybSIKIAogSW5jbHVkZUZpbGUucHJv
Y2Vzc0luY2x1ZGVPcHRpb25zKCkKQEAgLTQ4LDEwICs0OSwxMyBAQCB2YXJpYW50cyA9IEFSR1Yu
c2hpZnQuc3BsaXQoL1ssXHNdKy8pCiAKICRvcHRpb25zID0ge30KIE9wdGlvblBhcnNlci5uZXcg
ZG8gfG9wdHN8Ci0gICAgb3B0cy5iYW5uZXIgPSAiVXNhZ2U6IGdlbmVyYXRlX29mZnNldF9leHRy
YWN0b3IucmIgYXNtRmlsZSBzZXR0aW5nRmlsZSBvdXRwdXRGaWxlTmFtZSBiYWNrZW5kcyB2YXJp
YW50cyBbLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9PHBhdGg+XSIKKyAgICBvcHRzLmJhbm5lciA9
ICJVc2FnZTogZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYiBhc21GaWxlIHNldHRpbmdGaWxl
IG91dHB1dEZpbGVOYW1lIGJhY2tlbmRzIHZhcmlhbnRzIFstLXdlYmtpdC1hZGRpdGlvbnMtcGF0
aD08cGF0aD5dIFstLWRlcGZpbGU9PGRlcGZpbGU+XSIKICAgICBvcHRzLm9uKCItLXdlYmtpdC1h
ZGRpdGlvbnMtcGF0aD1QQVRIIiwgIldlYktpdEFkZGl0aW9ucyBwYXRoLiIpIGRvIHxwYXRofAog
ICAgICAgICAkb3B0aW9uc1s6d2Via2l0X2FkZGl0aW9uc19wYXRoXSA9IHBhdGgKICAgICBlbmQK
KyAgICBvcHRzLm9uKCItLWRlcGZpbGU9REVQRklMRSIsICJwYXRoIHRvIHdyaXRlIE1ha2VmaWxl
LXN0eWxlIGRpc2NvdmVyZWQgZGVwZW5kZW5jaWVzIHRvLiIpIGRvIHxwYXRofAorICAgICAgICAk
b3B0aW9uc1s6ZGVwZmlsZV0gPSBwYXRoCisgICAgZW5kCiBlbmQucGFyc2UhCiAKIGJlZ2luCkBA
IC03MSw3ICs3NSw3IEBAIGVuZAogY29uZmlndXJhdGlvbkhhc2ggPSBEaWdlc3Q6OlNIQTEuaGV4
ZGlnZXN0KGNvbmZpZ3VyYXRpb25MaXN0LmpvaW4oJyAnKSkKIGlucHV0SGFzaCA9ICIvLyBPZmZz
ZXRFeHRyYWN0b3IgaW5wdXQgaGFzaDogI3twYXJzZUhhc2goaW5wdXRGbG5tLCAkb3B0aW9ucyl9
ICN7Y29uZmlndXJhdGlvbkhhc2h9ICN7c2VsZkhhc2h9IgogCi1pZiBGaWxlVGVzdC5leGlzdD8g
b3V0cHV0RmxubQoraWYgRmlsZVRlc3QuZXhpc3Q/KG91dHB1dEZsbm0pIGFuZCBub3QgJG9wdGlv
bnNbOmRlcGZpbGVdIG9yIEZpbGVUZXN0LmV4aXN0Pygkb3B0aW9uc1s6ZGVwZmlsZV0pCiAgICAg
RmlsZS5vcGVuKG91dHB1dEZsbm0sICJyIikgewogICAgICAgICB8IGlucCB8CiAgICAgICAgIGZp
cnN0TGluZSA9IGlucC5nZXRzCkBAIC04Miw5ICs4NiwxNiBAQCBpZiBGaWxlVGVzdC5leGlzdD8g
b3V0cHV0RmxubQogICAgIH0KIGVuZAogCi1hc3QgPSBwYXJzZShpbnB1dEZsbm0sICRvcHRpb25z
KQorc291cmNlcyA9IFNldC5uZXcKK2FzdCA9IHBhcnNlKGlucHV0RmxubSwgJG9wdGlvbnMsIHNv
dXJjZXMpCiBzZXR0aW5nc0NvbWJpbmF0aW9ucyA9IGNvbXB1dGVTZXR0aW5nc0NvbWJpbmF0aW9u
cyhhc3QpCiAKK2lmICRvcHRpb25zWzpkZXBmaWxlXQorICAgIGRlcGZpbGUgPSBGaWxlLm9wZW4o
JG9wdGlvbnNbOmRlcGZpbGVdLCAidyIpCisgICAgZGVwZmlsZS5wcmludChTaGVsbHdvcmRzLmVz
Y2FwZShvdXRwdXRGbG5tKSwgIjogIikKKyAgICBkZXBmaWxlLnB1dHMoU2hlbGx3b3Jkcy5qb2lu
KHNvdXJjZXMuc29ydCkpCitlbmQKKwogRmlsZS5vcGVuKG91dHB1dEZsbm0sICJ3IikgewogICAg
IHwgb3V0cCB8CiAgICAgJG91dHB1dCA9IG91dHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9vZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rvci5yYiBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rvci5y
YgppbmRleCBhOWEyMzA5NTljYzguLjQ5NjM3ZjU1MjY0MCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2VuZXJhdGVfc2V0dGluZ3NfZXh0cmFjdG9yLnJiCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdzX2V4
dHJhY3Rvci5yYgpAQCAtMzMsNiArMzMsNyBAQCByZXF1aXJlICdvcHRwYXJzZScKIHJlcXVpcmUg
InBhcnNlciIKIHJlcXVpcmUgInNlbGZfaGFzaCIKIHJlcXVpcmUgInNldHRpbmdzIgorcmVxdWly
ZSAic2hlbGx3b3JkcyIKIHJlcXVpcmUgInRyYW5zZm9ybSIKIAogSW5jbHVkZUZpbGUucHJvY2Vz
c0luY2x1ZGVPcHRpb25zKCkKQEAgLTQ1LDE1ICs0NiwxOCBAQCBpbmNsdWRlT25seUJhY2tlbmRz
KHZhbGlkQmFja2VuZHMpCiAKICRvcHRpb25zID0ge30KIE9wdGlvblBhcnNlci5uZXcgZG8gfG9w
dHN8Ci0gICAgb3B0cy5iYW5uZXIgPSAiVXNhZ2U6IGdlbmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rv
ci5yYiBhc21GaWxlIHNldHRpbmdGaWxlIFstLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD08cGF0aD5d
IgorICAgIG9wdHMuYmFubmVyID0gIlVzYWdlOiBnZW5lcmF0ZV9zZXR0aW5nc19leHRyYWN0b3Iu
cmIgYXNtRmlsZSBzZXR0aW5nRmlsZSBbLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9PHBhdGg+XSBb
LS1kZXBmaWxlPTxkZXBmaWxlPl0iCiAgICAgb3B0cy5vbigiLS13ZWJraXQtYWRkaXRpb25zLXBh
dGg9UEFUSCIsICJXZWJLaXRBZGRpdGlvbnMgcGF0aC4iKSBkbyB8cGF0aHwKICAgICAgICAgJG9w
dGlvbnNbOndlYmtpdF9hZGRpdGlvbnNfcGF0aF0gPSBwYXRoCiAgICAgZW5kCisgICAgb3B0cy5v
bigiLS1kZXBmaWxlPURFUEZJTEUiLCAicGF0aCB0byB3cml0ZSBNYWtlZmlsZS1zdHlsZSBkaXNj
b3ZlcmVkIGRlcGVuZGVuY2llcyB0by4iKSBkbyB8cGF0aHwKKyAgICAgICAgJG9wdGlvbnNbOmRl
cGZpbGVdID0gcGF0aAorICAgIGVuZAogZW5kLnBhcnNlIQogCiBpbnB1dEhhc2ggPSAiLy8gU2V0
dGluZ3NFeHRyYWN0b3IgaW5wdXQgaGFzaDogI3twYXJzZUhhc2goaW5wdXRGbG5tLCAkb3B0aW9u
cyl9ICN7c2VsZkhhc2h9IgogCi1pZiBGaWxlVGVzdC5leGlzdD8gb3V0cHV0RmxubQoraWYgRmls
ZVRlc3QuZXhpc3Q/KG91dHB1dEZsbm0pIGFuZCBub3QgJG9wdGlvbnNbOmRlcGZpbGVdIG9yIEZp
bGVUZXN0LmV4aXN0Pygkb3B0aW9uc1s6ZGVwZmlsZV0pCiAgICAgRmlsZS5vcGVuKG91dHB1dEZs
bm0sICJyIikgewogICAgICAgICB8IGlucCB8CiAgICAgICAgIGZpcnN0TGluZSA9IGlucC5nZXRz
CkBAIC02NCw5ICs2OCwxNiBAQCBpZiBGaWxlVGVzdC5leGlzdD8gb3V0cHV0RmxubQogICAgIH0K
IGVuZAogCi1vcmlnaW5hbEFTVCA9IHBhcnNlKGlucHV0RmxubSwgJG9wdGlvbnMpCitzb3VyY2Vz
ID0gU2V0Lm5ldworb3JpZ2luYWxBU1QgPSBwYXJzZShpbnB1dEZsbm0sICRvcHRpb25zLCBzb3Vy
Y2VzKQogcHJ1bmVkQVNUID0gU2VxdWVuY2UubmV3KG9yaWdpbmFsQVNULmNvZGVPcmlnaW4sIG9y
aWdpbmFsQVNULmZpbHRlcihTZXR0aW5nKSkKIAoraWYgJG9wdGlvbnNbOmRlcGZpbGVdCisgICAg
ZGVwZmlsZSA9IEZpbGUub3Blbigkb3B0aW9uc1s6ZGVwZmlsZV0sICJ3IikKKyAgICBkZXBmaWxl
LnByaW50KFNoZWxsd29yZHMuZXNjYXBlKG91dHB1dEZsbm0pLCAiOiAiKQorICAgIGRlcGZpbGUu
cHV0cyhTaGVsbHdvcmRzLmpvaW4oc291cmNlcy5zb3J0KSkKK2VuZAorCiBGaWxlLm9wZW4ob3V0
cHV0RmxubSwgInciKSB7CiAgICAgfCBvdXRwIHwKICAgICAkb3V0cHV0ID0gb3V0cApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vcGFyc2VyLnJiIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vcGFyc2VyLnJiCmluZGV4IDE0YzZjOTI2ZWFlOC4u
MjdkZWNiYTk3NDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFz
bS9wYXJzZXIucmIKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vcGFyc2Vy
LnJiCkBAIC0yNjAsNyArMjYwLDcgQEAgZW5kCiAjCiAKIGNsYXNzIFBhcnNlcgotICAgIGRlZiBp
bml0aWFsaXplKGRhdGEsIGZpbGVOYW1lLCBvcHRpb25zKQorICAgIGRlZiBpbml0aWFsaXplKGRh
dGEsIGZpbGVOYW1lLCBvcHRpb25zLCBzb3VyY2VzPW5pbCkKICAgICAgICAgQHRva2VucyA9IGxl
eChkYXRhLCBmaWxlTmFtZSkKICAgICAgICAgQGlkeCA9IDAKICAgICAgICAgQGFubm90YXRpb24g
PSBuaWwKQEAgLTI2OCw2ICsyNjgsNyBAQCBjbGFzcyBQYXJzZXIKICAgICAgICAgIyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MzQwCiAgICAgICAgIEBidWlsZFBy
b2R1Y3RzRGlyZWN0b3J5ID0gRU5WWydCVUlMVF9QUk9EVUNUU19ESVInXTsKICAgICAgICAgQG9w
dGlvbnMgPSBvcHRpb25zCisgICAgICAgIEBzb3VyY2VzID0gc291cmNlcwogICAgIGVuZAogICAg
IAogICAgIGRlZiBwYXJzZUVycm9yKCpjb21tZW50KQpAQCAtODQzLDcgKzg0NCw3IEBAIGNsYXNz
IFBhcnNlcgogICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgICAgIGZpbGVFeGlzdHMg
PSBGaWxlLmV4aXN0cz8oZmlsZU5hbWUpCiAgICAgICAgICAgICAgICAgcmFpc2UgIkZpbGUgbm90
IGZvdW5kOiAje2ZpbGVOYW1lfSIgaWYgbm90IGZpbGVFeGlzdHMgYW5kIG5vdCBpc09wdGlvbmFs
Ci0gICAgICAgICAgICAgICAgbGlzdCA8PCBwYXJzZShmaWxlTmFtZSwgQG9wdGlvbnMpIGlmIGZp
bGVFeGlzdHMKKyAgICAgICAgICAgICAgICBsaXN0IDw8IHBhcnNlKGZpbGVOYW1lLCBAb3B0aW9u
cywgQHNvdXJjZXMpIGlmIGZpbGVFeGlzdHMKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg
ICAgICBwYXJzZUVycm9yICJFeHBlY3RpbmcgdGVybWluYWwgI3tmaW5hbH0gI3tjb21tZW50fSIK
ICAgICAgICAgICAgIGVuZApAQCAtOTAwLDEzICs5MDEsMTQgQEAgZGVmIHJlYWRUZXh0RmlsZShm
aWxlTmFtZSkKICAgICByZXR1cm4gZGF0YQogZW5kCiAKLWRlZiBwYXJzZURhdGEoZGF0YSwgZmls
ZU5hbWUsIG9wdGlvbnMpCi0gICAgcGFyc2VyID0gUGFyc2VyLm5ldyhkYXRhLCBTb3VyY2VGaWxl
Lm5ldyhmaWxlTmFtZSksIG9wdGlvbnMpCitkZWYgcGFyc2VEYXRhKGRhdGEsIGZpbGVOYW1lLCBv
cHRpb25zLCBzb3VyY2VzKQorICAgIHBhcnNlciA9IFBhcnNlci5uZXcoZGF0YSwgU291cmNlRmls
ZS5uZXcoZmlsZU5hbWUpLCBvcHRpb25zLCBzb3VyY2VzKQogICAgIHBhcnNlci5wYXJzZVNlcXVl
bmNlKG5pbCwgIiIpCiBlbmQKIAotZGVmIHBhcnNlKGZpbGVOYW1lLCBvcHRpb25zKQotICAgIHBh
cnNlRGF0YShyZWFkVGV4dEZpbGUoZmlsZU5hbWUpLCBmaWxlTmFtZSwgb3B0aW9ucykKK2RlZiBw
YXJzZShmaWxlTmFtZSwgb3B0aW9ucywgc291cmNlcz1uaWwpCisgICAgc291cmNlcyA8PCBmaWxl
TmFtZSBpZiBzb3VyY2VzCisgICAgcGFyc2VEYXRhKHJlYWRUZXh0RmlsZShmaWxlTmFtZSksIGZp
bGVOYW1lLCBvcHRpb25zLCBzb3VyY2VzKQogZW5kCiAKIGRlZiBwYXJzZUhhc2goZmlsZU5hbWUs
IG9wdGlvbnMpCg==
</data>
<flag name="review"
          id="480971"
          type_id="1"
          status="-"
          setter="keith_miller"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453776</attachid>
            <date>2022-03-03 12:11:11 -0800</date>
            <delta_ts>2022-03-10 17:23:18 -0800</delta_ts>
            <desc>Integrate offlineasm using build rules and emit a depfile r6</desc>
            <filename>jsc-generated-sources-outputs.patch</filename>
            <type>text/plain</type>
            <size>33720</size>
            <attacher name="Elliott Williams">emw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDk4MzZiNWE1YmJhMS4uNzM3NjBjYmQ1OTE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAyMi0wMy0wMSAgRWxs
aW90dCBXaWxsaWFtcyAgPGVtd0BhcHBsZS5jb20+CisKKyAgICAgICAgW1hDQnVpbGRdIEVtaXQg
YSBkaXNjb3ZlcmVkIGRlcGVuZGVuY3kgZmlsZSBmcm9tIG9mZmxpbmVhc20KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzMyOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFhjb2RlIG5lZWRzIHRvIGtub3cg
d2hhdCBmaWxlcyBvZmZsaW5lYXNtIHVzZXMgYW5kIHByb2R1Y2VzIGluIG9yZGVyIHRvIHNjaGVk
dWxlIGl0CisgICAgICAgIGNvcnJlY3RseSBpbiBpbmNyZW1lbnRhbCBidWlsZHMuIFJhdGhlciB0
aGFuIHVzZSBnZW5lcmF0ZWQgeGNmaWxlbGlzdHMgbGlrZSBXZWJLaXQgZG9lcworICAgICAgICBl
bHNld2hlcmUgaW4gdGhlIHByb2plY3QsIGVtaXQgYSBkZXBmaWxlIGZyb20gb2ZmbGluZWFzbSBi
YXNlZCBvbiB0aGUgcGFyc2UgdHJlZSdzIHNvdXJjZQorICAgICAgICBmaWxlcy4KKworICAgICAg
ICBEaXNjb3ZlcmVkIGRlcGVuZGVuY3kgZmlsZXMgKCJkZXBmaWxlcyIpIGFyZSBNYWtlZmlsZS1m
b3JtYXR0ZWQgZmlsZXMgd2hpY2ggbGlzdCB0aGUgaW5wdXRzCisgICAgICAgIHVzZWQgdG8gcHJv
ZHVjZSBhbiBvdXRwdXQuIFRoZXkgYXJlIGVtaXR0aW5nIGR1cmluZyB0aGUgYnVpbGQgdG8gYSB0
ZW1wb3JhcnkgZGlyZWN0b3J5LCBhbmQKKyAgICAgICAgZW5zdXJlIHRoYXQgc3Vic2VxdWVudCBp
bmNyZW1lbnRhbCBidWlsZHMgd2lsbCByZS1ydW4gb2ZmbGluZWFzbSB3aGVuIGFueSBvZiB0aGUg
aW5jbHVkZWQKKyAgICAgICAgc291cmNlcyBjaGFuZ2UuIFRoaXMgaXMgdGhlIHNhbWUgbWVjaGFu
aXNtIGNsYW5nIHVzZXMgdG8gdHJhY2sgaGVhZGVyIGRlcGVuZGVuY2llcy4KKworICAgICAgICBV
bmZvcnR1bmF0ZWx5LCB0aGUgbGVnYWN5IGJ1aWxkIHN5c3RlbSB3aWxsIHJlZnVzZSB0byBleGVj
dXRlIGEgc2NyaXB0IHBoYXNlIG9yIHJ1bGUgdGhhdAorICAgICAgICBlbWl0cyBhIGRlcGZpbGUu
IFRvIHdvcmsgYXJvdW5kIHRoaXMsIGNvbnZlcnQgdGhlIG9mZmxpbmVhc20gcGlwZWxpbmUgdG8g
YmUgYmFzZWQgb24gYnVpbGQKKyAgICAgICAgcnVsZXMsIHRvIGJlIHVzZWQgYnkgWENCdWlsZCBv
bmx5LiBUaGUgaWRlYSBpcyB0aGF0IExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGlzIGxpc3RlZCBh
cyBhCisgICAgICAgIHNvdXJjZSBidWlsZCBmaWxlIGluIEpTQ0xMSW50U2V0dGluZ3NFeHRyYWN0
b3IsIEpTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvciwgYW5kCisgICAgICAgIEphdmFTY3JpcHRDb3Jl
LiBFYWNoIHRhcmdldCB1c2VzIGEgYnVpbGQgcnVsZSB0byBnZW5lcmF0ZSBpdHMgcmVzcGVjdGl2
ZSBoZWFkZXIgZnJvbQorICAgICAgICBMb3dMZXZlbEludGVycHJldGVyLmFzbS4gWGNvZGUgc2No
ZWR1bGVzIHRoZXNlIHJ1bGUgZXhlY3V0aW9ucyBiZWZvcmUgYW55IGNsYW5nIHRhc2tzLgorCisg
ICAgICAgIFRoZSBsZWdhY3kgYnVpbGQgc3lzdGVtIGF2b2lkcyBleGVjdXRpbmcgdGhlIHJ1bGVz
IHZpYSBFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FUywgYW5kCisgICAgICAgIGluc3RlYWQgdXNl
cyB0aGUgZXhpc3RpbmcgYnVpbGQgcGhhc2VzLCB3aGljaCBoYXZlICIoTGVnYWN5KSIgaW4gdGhl
aXIgbmFtZXMgYW5kIGFyZSBub3cKKyAgICAgICAgbm8tb3BzIHVuZGVyIFhDQnVpbGQuCisKKyAg
ICAgICAgQXNpZGUgZnJvbSB3b3JraW5nIGFyb3VuZCB0aGUgbGVnYWN5IGJ1aWxkIHN5c3RlbSdz
IGxpbWl0YXRpb25zLCB1c2luZyBidWlsZCBydWxlcyBpcworICAgICAgICBwcm9iYWJseSBhIHN1
cGVyaW9yIHdheSB0byBleHByZXNzIHdoYXQgd2UncmUgZG9pbmcsIGFzIGl0IGdpdmVzIFhjb2Rl
IHRoZSBvcHBvcnR1bml0eSB0bworICAgICAgICBjb21waWxlIG90aGVyIG9iamVjdHMgaW4gcGFy
YWxsZWwsIGFuZCBjb3VsZCBiZSBlYXNpbHkgZXh0ZW5kZWQgdG8gY29tcGlsZSBtdWx0aXBsZSBk
aXNjcmV0ZQorICAgICAgICBhc20gZmlsZXMgc2hvdWxkIHRoZSBuZWVkIGFyaXNlLgorCisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvVG9vbEV4ZWN1dGFibGUueGNjb25maWc6IEJ1aWxkIHJ1bGVz
IGFyZSBYQ0J1aWxkLW9ubHkuCisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajogQWRkIGJ1aWxkIHJ1bGVzLCByZW5hbWUgbGVnYWN5IHNjcmlwdHMuCisg
ICAgICAgICogb2ZmbGluZWFzbS9hc20ucmI6IEFkZCAtLWRlcGZpbGUgZmxhZy4KKyAgICAgICAg
KiBvZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmI6IEFkZCAtLWRlcGZpbGUg
ZmxhZy4KKyAgICAgICAgKiBvZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rvci5y
YjogQWRkIC0tZGVwZmlsZSBmbGFnLgorCiAyMDIyLTAyLTI0ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBPbmx5IGNsZWFyIElDVSBjYWNoZSB3aGVu
IHRpbWUgem9uZSBpcyBjaGFuZ2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcKaW5kZXggNjEyYWUw
NmM3MWQ5Li4wNDY4ZTBlN2NkY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9KYXZhU2NyaXB0Q29yZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvSmF2YVNjcmlwdENvcmUueGNjb25maWcKQEAgLTYxLDQg
KzYxLDcgQEAgT1VUUFVUX0FMVEVSTkFURV9ST09UX1BBVEhfWUVTID0gJChEU1RST09UKSQoQUxU
RVJOQVRFX1JPT1RfUEFUSCkvJChGVUxMX1BST0RVQ1QKIElOU1RBTExIRFJTX1NDUklQVF9QSEFT
RSA9IFlFUzsKIEFQUExZX1JVTEVTX0lOX0NPUFlfSEVBREVSUyA9ICQoV0tfVVNFX05FV19CVUlM
RF9TWVNURU0pOwogCitFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FUyA9ICQoaW5oZXJpdGVkKSAk
KEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTXyQoV0tfV0hJQ0hfQlVJTERfU1lTVEVNKSk7CiBF
WENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU1tzZGs9aXBob25lKl0gPSAkKGluaGVyaXRlZCkgZnJh
bWV3b3JrLnNiOworLy8gT2Zmc2V0IGFuZCBzZXR0aW5ncyBoZWFkZXJzIGFyZSBidWlsdCBieSBz
ZXBhcmF0ZSB0YXJnZXRzIGFuZCBzY3JpcHQgcGhhc2VzIGluIHRoZSBsZWdhY3kgYnVpbGQgc3lz
dGVtLCBub3QgdXNpbmcgYnVpbGQgcnVsZXMuCitFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FU19s
ZWdhY3kgPSAqLmFzbTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZwppbmRleCBlY2M3NzAxYjM5Zjku
LjI5ZGMzMDNjZjlkOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3Vy
YXRpb25zL1Rvb2xFeGVjdXRhYmxlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9Db25maWd1cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZwpAQCAtNTQsNiArNTQsMTIg
QEAgQ0xBTkdfRU5BQkxFX09CSkNfQVJDID0gWUVTOwogT1RIRVJfQ0ZMQUdTID0gJChpbmhlcml0
ZWQpIC1pc3lzdGVtIGljdTsKIAogLy8gRXhwbGljaXRseSBhZGQgdGhlIFByaXZhdGVIZWFkZXJz
IGRpcmVjdG9yeSB0byB0aGUgc2VhcmNoIHBhdGggc28gdGhhdCBnZW5lcmF0ZWQgaGVhZGVyIGZp
bGVzIGNhbiBiZSBmb3VuZCBpbiBwcm9kdWN0aW9uIGJ1aWxkcy4KLUhFQURFUl9TRUFSQ0hfUEFU
SFMgPSAiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3Jl
IiAiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy8ke0FSQ0hTfSIgIiQoSkFWQVND
UklQVENPUkVfRlJBTUVXT1JLU19ESVIpL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9Qcml2YXRl
SGVhZGVycyIgJChpbmhlcml0ZWQpOworSEVBREVSX1NFQVJDSF9QQVRIUyA9ICIke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUiICQoSEVBREVSX1NFQVJD
SF9QQVRIU18kKFdLX1dISUNIX0JVSUxEX1NZU1RFTSkpICIkKEpBVkFTQ1JJUFRDT1JFX0ZSQU1F
V09SS1NfRElSKS9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvUHJpdmF0ZUhlYWRlcnMiICQoaW5o
ZXJpdGVkKTsKKy8vIFhDQnVpbGQgZ2VuZXJhdGVzIExMSW50T2Zmc2V0cyBpbiBUQVJHRVRfVEVN
UF9ESVIsIHdoaWNoIGRvZXMgbm90IG5lZWQgdG8gYmUgbWFudWFsbHkgc3BlY2lmZWQuCitIRUFE
RVJfU0VBUkNIX1BBVEhTX2xlZ2FjeSA9ICIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZz
ZXRzLyR7QVJDSFN9IjsKKworRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVMgPSAkKEVYQ0xVREVE
X1NPVVJDRV9GSUxFX05BTUVTXyQoV0tfV0hJQ0hfQlVJTERfU1lTVEVNKSk7CisvLyBPZmZzZXQg
YW5kIHNldHRpbmdzIGhlYWRlcnMgYXJlIGJ1aWx0IGJ5IHNlcGFyYXRlIHRhcmdldHMgYW5kIHNj
cmlwdCBwaGFzZXMgaW4gdGhlIGxlZ2FjeSBidWlsZCBzeXN0ZW0sIG5vdCB1c2luZyBidWlsZCBy
dWxlcy4KK0VYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTX2xlZ2FjeSA9ICouYXNtOwogCiBPVEhF
Ul9MREZMQUdTID0gJChpbmhlcml0ZWQpICQoU09VUkNFX1ZFUlNJT05fTERGTEFHUyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUxOTQzODc5ZTgyNS4uZmU3ZDU0MGUyMjk2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMywzMiArMywzMiBAQAogCWFyY2hpdmVW
ZXJzaW9uID0gMTsKIAljbGFzc2VzID0gewogCX07Ci0Jb2JqZWN0VmVyc2lvbiA9IDUxOworCW9i
amVjdFZlcnNpb24gPSA1MjsKIAlvYmplY3RzID0gewogCiAvKiBCZWdpbiBQQlhBZ2dyZWdhdGVU
YXJnZXQgc2VjdGlvbiAqLwotCQkwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zm
c2V0cyAqLyA9IHsKKwkJMEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8qIChMZWdhY3kpIExMSW50
IE9mZnNldHMgKi8gPSB7CiAJCQlpc2EgPSBQQlhBZ2dyZWdhdGVUYXJnZXQ7Ci0JCQlidWlsZENv
bmZpZ3VyYXRpb25MaXN0ID0gMEY0NjgwQUMxNEJBN0ZEOTAwQkZFMjcyIC8qIEJ1aWxkIGNvbmZp
Z3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJMTEludCBPZmZzZXRzIiAqLzsK
KwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAwRjQ2ODBBQzE0QkE3RkQ5MDBCRkUyNzIgLyog
QnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIihMZWdhY3kp
IExMSW50IE9mZnNldHMiICovOwogCQkJYnVpbGRQaGFzZXMgPSAoCi0JCQkJMEY0NjgwQUExNEJB
N0ZEOTAwQkZFMjcyIC8qIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyAqLywKKwkJCQkwRjQ2ODBB
QTE0QkE3RkQ5MDBCRkUyNzIgLyogKExlZ2FjeSkgR2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzICov
LAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKIAkJCQkxNEJENjg5OTIxNTE5MTZEMDA1MERB
RkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7Ci0JCQluYW1lID0gIkxMSW50IE9m
ZnNldHMiOworCQkJbmFtZSA9ICIoTGVnYWN5KSBMTEludCBPZmZzZXRzIjsKIAkJCXByb2R1Y3RO
YW1lID0gIkRlcml2ZWQgU291cmNlcyI7CiAJCX07Ci0JCTE0QkQ2ODhGMjE1MTkxNDUwMDUwREFG
RiAvKiBMTEludCBTZXR0aW5ncyAqLyA9IHsKKwkJMTRCRDY4OEYyMTUxOTE0NTAwNTBEQUZGIC8q
IChMZWdhY3kpIExMSW50IFNldHRpbmdzICovID0gewogCQkJaXNhID0gUEJYQWdncmVnYXRlVGFy
Z2V0OwotCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0QkQ2ODkzMjE1MTkxNDUwMDUwREFG
RiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiTExJ
bnQgU2V0dGluZ3MiICovOworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0QkQ2ODkzMjE1
MTkxNDUwMDUwREFGRiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0
ZVRhcmdldCAiKExlZ2FjeSkgTExJbnQgU2V0dGluZ3MiICovOwogCQkJYnVpbGRQaGFzZXMgPSAo
Ci0JCQkJMTRCRDY4OTIyMTUxOTE0NTAwNTBEQUZGIC8qIEdlbmVyYXRlIERlcml2ZWQgU291cmNl
cyAqLywKKwkJCQkxNEJENjg5MjIxNTE5MTQ1MDA1MERBRkYgLyogKExlZ2FjeSkgR2VuZXJhdGUg
RGVyaXZlZCBTb3VyY2VzICovLAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKIAkJCQkxNEJE
Njg5MDIxNTE5MTQ1MDA1MERBRkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKIAkJCSk7Ci0J
CQluYW1lID0gIkxMSW50IFNldHRpbmdzIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgTExJbnQgU2V0
dGluZ3MiOwogCQkJcHJvZHVjdE5hbWUgPSAiRGVyaXZlZCBTb3VyY2VzIjsKIAkJfTsKIAkJNTMy
NUJEQkYyMURGRjJCMTAwQTBERUUxIC8qIEFwcGx5IENvbmZpZ3VyYXRpb24gdG8gWENGaWxlTGlz
dHMgKi8gPSB7CkBAIC03MywxOCArNzMsMTggQEAKIAkJCW5hbWUgPSAiVGVzdCBUb29scyI7CiAJ
CQlwcm9kdWN0TmFtZSA9ICJUZXN0IFRvb2xzIjsKIAkJfTsKLQkJNjU3ODhBOUQxOEI0MDlFQjAw
QzE4OUZGIC8qIE9mZmxpbmUgQXNzZW1ibGVyICovID0geworCQk2NTc4OEE5RDE4QjQwOUVCMDBD
MTg5RkYgLyogKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJsZXIgKi8gPSB7CiAJCQlpc2EgPSBQQlhB
Z2dyZWdhdGVUYXJnZXQ7Ci0JCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNjU3ODhBQTIxOEI0
MDlFQjAwQzE4OUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRl
VGFyZ2V0ICJPZmZsaW5lIEFzc2VtYmxlciIgKi87CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0
ID0gNjU3ODhBQTIxOEI0MDlFQjAwQzE4OUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBm
b3IgUEJYQWdncmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlciIgKi87CiAJ
CQlidWlsZFBoYXNlcyA9ICgKIAkJCQlEREU5OTMwQzI3OEQwODNEMDBGNjBEMjYgLyogUHJvZHVj
dCBEZXBlbmRlbmNpZXMgKi8sCi0JCQkJNjU3ODhBQTAxOEI0MDlFQjAwQzE4OUZGIC8qIE9mZmxp
bmUgQXNzZW1ibGUgKi8sCisJCQkJNjU3ODhBQTAxOEI0MDlFQjAwQzE4OUZGIC8qIChMZWdhY3kp
IE9mZmxpbmUgQXNzZW1ibGUgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAogCQkJCTY1
MjQ0QkQzMThFQ0I1MDAwMDEwQjcwOCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJCTY1
Nzg4QTlFMThCNDA5RUIwMEMxODlGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJKTsK
LQkJCW5hbWUgPSAiT2ZmbGluZSBBc3NlbWJsZXIiOworCQkJbmFtZSA9ICIoTGVnYWN5KSBPZmZs
aW5lIEFzc2VtYmxlciI7CiAJCQlwcm9kdWN0TmFtZSA9ICJPZmZsaW5lIEFzc2VtYmxlciI7CiAJ
CX07CiAJCTY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQiAvKiBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7
CkBAIC0xODI4LDYgKzE4MjgsOSBAQAogCQlEQ0YzRDU2RDFDRDI5NDc2MDAzRDVDNjUgLyogTGF6
eVByb3BlcnR5SW5saW5lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRENGM0Q1NjgxQ0QyOTQ2ODAwM0Q1QzY1IC8qIExhenlQcm9wZXJ0eUlubGluZXMu
aCAqLzsgfTsKIAkJRENGREZCRDkxRDFGNUQ5QjAwRkUzRDcyIC8qIEIzQm90dG9tUHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERDRkRGQkQ3
MUQxRjVEOTgwMEZFM0Q3MiAvKiBCM0JvdHRvbVByb3ZpZGVyLmggKi87IH07CiAJCURDRkRGQkRB
MUQxRjVEOUUwMEZFM0Q3MiAvKiBCM1R5cGVNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERDRkRGQkQ4MUQxRjVEOTgwMEZFM0Q3MiAvKiBCM1R5cGVN
YXAuaCAqLzsgfTsKKwkJREQ0MUZBODYyN0NEQUQzMjAwMzk0RDk1IC8qIExvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODZBMDU0NDYxNTU2NDUxQjAwNDQ1MTU3IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtICovOyB9
OworCQlERDQxRkE4NzI3Q0RBRDQzMDAzOTREOTUgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkEwNTQ0NjE1
NTY0NTFCMDA0NDUxNTcgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20gKi87IH07CisJCURENDFG
QTg5MjdDRERERUYwMDM5NEQ5NSAvKiBMb3dMZXZlbEludGVycHJldGVyLmFzbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QTA1NDQ2MTU1NjQ1MUIwMDQ0
NTE1NyAvKiBMb3dMZXZlbEludGVycHJldGVyLmFzbSAqLzsgfTsKIAkJRERCMDRGNDEyNzhFNTY5
QTAwOEQzNjc4IC8qIGxpYldURi5hIGluIFByb2R1Y3QgRGVwZW5kZW5jaWVzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0OThDQUQzMjE0NjU2QzQwMDcxMDg3OSAvKiBsaWJX
VEYuYSAqLzsgfTsKIAkJRERCMDRGNDIyNzhFNTZBMjAwOEQzNjc4IC8qIGxpYldURi5hIGluIEZy
YW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ5OENBRDMyMTQ2
NTZDNDAwNzEwODc5IC8qIGxpYldURi5hICovOyB9OwogCQlEREU5OTMxMDI3OEQwODdEMDBGNjBE
MjYgLyogbGliV2ViS2l0QWRkaXRpb25zLmEgaW4gUHJvZHVjdCBEZXBlbmRlbmNpZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRERFOTkzMEUyNzhEMDg2NjAwRjYwRDI2IC8q
IGxpYldlYktpdEFkZGl0aW9ucy5hICovOyB9OwpAQCAtMjE1Nyw2ICsyMTYwLDU2IEBACiAJCQkp
OwogCQkJc2NyaXB0ID0gImV4ZWMgXCIke1NSQ1JPT1R9L1NjcmlwdHMvcG9zdHByb2Nlc3MtaGVh
ZGVyLXJ1bGVcIlxuIjsKIAkJfTsKKwkJREQ0MUZBN0QyN0NEQTZGRTAwMzk0RDk1IC8qIFBCWEJ1
aWxkUnVsZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEJ1aWxkUnVsZTsKKwkJCWNvbXBpbGVyU3BlYyA9
IGNvbS5hcHBsZS5jb21waWxlcnMucHJveHkuc2NyaXB0OworCQkJZGVwZW5kZW5jeUZpbGUgPSAi
JChUQVJHRVRfVEVNUF9ESVIpLyQoSU5QVVRfRklMRV9CQVNFKS5kIjsKKwkJCWZpbGVQYXR0ZXJu
cyA9ICIqLmFzbSI7CisJCQlmaWxlVHlwZSA9IHBhdHRlcm4ucHJveHk7CisJCQlpbnB1dEZpbGVz
ID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9y
IiwKKwkJCQkiJChTUkNST09UKS9vZmZsaW5lYXNtIiwKKwkJCSk7CisJCQlpc0VkaXRhYmxlID0g
MTsKKwkJCW91dHB1dEZpbGVzID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUvTExJbnRBc3NlbWJseS5oIiwKKwkJCSk7CisJCQlydW5P
bmNlUGVyQXJjaGl0ZWN0dXJlID0gMDsKKwkJCXNjcmlwdCA9ICJPRkZMSU5FQVNNX0FSR1M9XCJc
IlxuaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxu
ICAgIE9GRkxJTkVBU01fQVJHUz1cIiR7T0ZGTElORUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlv
bnMtcGF0aD0ke1dLX1dFQktJVEFERElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxu
XG5jZCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29y
ZVwiXG5cbi91c3IvYmluL2VudiBydWJ5IEphdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXNtLnJi
IFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVc
IiBcIiR7SU5QVVRfRklMRV9QQVRIfVwiIFwiJHtTQ1JJUFRfSU5QVVRfRklMRV8wfVwiIFwiJHtT
Q1JJUFRfT1VUUFVUX0ZJTEVfMH1cIiBcIiR7QlVJTERfVkFSSUFOVFN9XCIgJHtPRkZMSU5FQVNN
X0FSR1N9IC0tZGVwZmlsZT1cIiR7VEFSR0VUX1RFTVBfRElSfS8ke0lOUFVUX0ZJTEVfQkFTRX0u
ZFwiXG4iOworCQl9OworCQlERDQxRkE3RTI3Q0RBODlEMDAzOTREOTUgLyogUEJYQnVpbGRSdWxl
ICovID0geworCQkJaXNhID0gUEJYQnVpbGRSdWxlOworCQkJY29tcGlsZXJTcGVjID0gY29tLmFw
cGxlLmNvbXBpbGVycy5wcm94eS5zY3JpcHQ7CisJCQlkZXBlbmRlbmN5RmlsZSA9ICIkKFRBUkdF
VF9URU1QX0RJUikvJChJTlBVVF9GSUxFX0JBU0UpLmQiOworCQkJZmlsZVBhdHRlcm5zID0gIiou
YXNtIjsKKwkJCWZpbGVUeXBlID0gcGF0dGVybi5wcm94eTsKKwkJCWlucHV0RmlsZXMgPSAoCisJ
CQkJIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9KU0NMTEludFNldHRpbmdzRXh0cmFjdG9yIiwKKwkJ
CQkiJChTUkNST09UKS9vZmZsaW5lYXNtIiwKKwkJCSk7CisJCQlpc0VkaXRhYmxlID0gMTsKKwkJ
CW91dHB1dEZpbGVzID0gKAorCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvTExJbnRPZmZzZXRz
LyQoQVJDSFMpL0xMSW50RGVzaXJlZE9mZnNldHMuaCIsCisJCQkpOworCQkJcnVuT25jZVBlckFy
Y2hpdGVjdHVyZSA9IDA7CisJCQlzY3JpcHQgPSAic2V0IC1lXG5cbk9GRkxJTkVBU01fQVJHUz1c
IlwiXG5pZiBbWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIllFU1wiIF1dOyB0aGVu
XG4gICAgT0ZGTElORUFTTV9BUkdTPVwiJHtPRkZMSU5FQVNNX0FSR1N9IC0td2Via2l0LWFkZGl0
aW9ucy1wYXRoPSR7V0tfV0VCS0lUQURESVRJT05TX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmZp
XG5cbi91c3IvYmluL2VudiBydWJ5IFwiJHtTUkNST09UfS9vZmZsaW5lYXNtL2dlbmVyYXRlX29m
ZnNldF9leHRyYWN0b3IucmJcIiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3Vy
Y2VzL0phdmFTY3JpcHRDb3JlXCIgXCIke0lOUFVUX0ZJTEVfUEFUSH1cIiAgXCIke0JVSUxUX1BS
T0RVQ1RTX0RJUn0vSlNDTExJbnRTZXR0aW5nc0V4dHJhY3RvclwiIFwiJHtTQ1JJUFRfT1VUUFVU
X0ZJTEVfMH1cIiBcIiR7QVJDSFN9IENfTE9PUFwiIFwiJHtCVUlMRF9WQVJJQU5UU31cIiAke09G
RkxJTkVBU01fQVJHU30gLS1kZXBmaWxlPVwiJHtUQVJHRVRfVEVNUF9ESVJ9LyR7SU5QVVRfRklM
RV9CQVNFfS5kXCJcblxuIjsKKwkJfTsKKwkJREQ0MUZBODEyN0NEQUE1NDAwMzk0RDk1IC8qIFBC
WEJ1aWxkUnVsZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEJ1aWxkUnVsZTsKKwkJCWNvbXBpbGVyU3Bl
YyA9IGNvbS5hcHBsZS5jb21waWxlcnMucHJveHkuc2NyaXB0OworCQkJZGVwZW5kZW5jeUZpbGUg
PSAiJChUQVJHRVRfVEVNUF9ESVIpLyQoSU5QVVRfRklMRV9CQVNFKS5kIjsKKwkJCWZpbGVQYXR0
ZXJucyA9ICIqLmFzbSI7CisJCQlmaWxlVHlwZSA9IHBhdHRlcm4ucHJveHk7CisJCQlpbnB1dEZp
bGVzID0gKAorCQkJCSIkKFNSQ1JPT1QpL29mZmxpbmVhc20iLAorCQkJKTsKKwkJCWlzRWRpdGFi
bGUgPSAxOworCQkJb3V0cHV0RmlsZXMgPSAoCisJCQkJIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9M
TEludE9mZnNldHMvJChBUkNIUykvTExJbnREZXNpcmVkU2V0dGluZ3MuaCIsCisJCQkpOworCQkJ
cnVuT25jZVBlckFyY2hpdGVjdHVyZSA9IDA7CisJCQlzY3JpcHQgPSAic2V0IC1lXG5cbk9GRkxJ
TkVBU01fQVJHUz1cIlwiXG5pZiBbWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIllF
U1wiIF1dOyB0aGVuXG4gICAgT0ZGTElORUFTTV9BUkdTPVwiJHtPRkZMSU5FQVNNX0FSR1N9IC0t
d2Via2l0LWFkZGl0aW9ucy1wYXRoPSR7V0tfV0VCS0lUQURESVRJT05TX0hFQURFUlNfRk9MREVS
X1BBVEh9XCJcbmZpXG5cbi91c3IvYmluL2VudiBydWJ5IFwiJHtTUkNST09UfS9vZmZsaW5lYXNt
L2dlbmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rvci5yYlwiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJ
Un0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBcIiR7SU5QVVRfRklMRV9QQVRIfVwi
IFwiJHtTQ1JJUFRfT1VUUFVUX0ZJTEVfMH1cIiBcIiR7QVJDSFN9IENfTE9PUFwiICR7T0ZGTElO
RUFTTV9BUkdTfSAtLWRlcGZpbGU9XCIke1RBUkdFVF9URU1QX0RJUn0vJHtJTlBVVF9GSUxFX0JB
U0V9LmRcIlxuIjsKKwkJfTsKIC8qIEVuZCBQQlhCdWlsZFJ1bGUgc2VjdGlvbiAqLwogCiAvKiBC
ZWdpbiBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLwpAQCAtMjM3MCwxMyArMjQyMyw2
IEBACiAJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQjsK
IAkJCXJlbW90ZUluZm8gPSAiRGVyaXZlZCBTb3VyY2VzIjsKIAkJfTsKLQkJNjU3ODhBQUMxOEI0
MEE3QjAwQzE4OUZGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKLQkJCWlzYSA9IFBC
WENvbnRhaW5lckl0ZW1Qcm94eTsKLQkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAy
OEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKLQkJCXByb3h5VHlwZSA9IDE7Ci0JCQly
ZW1vdGVHbG9iYWxJRFN0cmluZyA9IDY1Nzg4QTlEMThCNDA5RUIwMEMxODlGRjsKLQkJCXJlbW90
ZUluZm8gPSAiT2ZmbGluZSBBc3NlbWJsZXIiOwotCQl9OwogCQk2NUZCM0Y3RDA5RDExRUYzMDBG
NDlERUIgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0gewogCQkJaXNhID0gUEJYQ29udGFp
bmVySXRlbVByb3h5OwogCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFB
QzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOwpAQCAtMjM5OCw2ICsyNDQ0LDEzIEBACiAJCQlyZW1v
dGVHbG9iYWxJRFN0cmluZyA9IDkzMkY1QjNFMDgyMkExQzcwMDczNjk3NTsKIAkJCXJlbW90ZUlu
Zm8gPSAiSmF2YVNjcmlwdENvcmUgKFVwZ3JhZGVkKSI7CiAJCX07CisJCURENDFGQThBMjdDREUx
QzQwMDM5NEQ5NSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhD
b250YWluZXJJdGVtUHJveHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhG
QzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVt
b3RlR2xvYmFsSURTdHJpbmcgPSA2NTc4OEE5RDE4QjQwOUVCMDBDMTg5RkY7CisJCQlyZW1vdGVJ
bmZvID0gIihMZWdhY3kpIE9mZmxpbmUgQXNzZW1ibGVyIjsKKwkJfTsKIAkJRkU1MzNDQUUxRjIx
N0VDNjAwMTZBMUZFIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKIAkJCWlzYSA9IFBC
WENvbnRhaW5lckl0ZW1Qcm94eTsKIAkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAy
OEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKQEAgLTExNDEzLDYgKzExNDY2LDcgQEAK
IAkJCQkwRkY5MjJDNjE0RjQ2QjEzMDA0MUEyNEUgLyogRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJ
CQlidWlsZFJ1bGVzID0gKAorCQkJCURENDFGQTdFMjdDREE4OUQwMDM5NEQ5NSAvKiBQQlhCdWls
ZFJ1bGUgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAogCQkJCTE0Q0ZCMTA5MjMwMzVG
MTMwMEYwMDQ4QyAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLApAQCAtMTE0NzEsNiArMTE1MjUs
NyBAQAogCQkJCTE0QkQ2ODg4MjE1MTkxMzEwMDUwREFGRiAvKiBGcmFtZXdvcmtzICovLAogCQkJ
KTsKIAkJCWJ1aWxkUnVsZXMgPSAoCisJCQkJREQ0MUZBODEyN0NEQUE1NDAwMzk0RDk1IC8qIFBC
WEJ1aWxkUnVsZSAqLywKIAkJCSk7CiAJCQlkZXBlbmRlbmNpZXMgPSAoCiAJCQkJMTRDRkIxMDcy
MzAzNUYwRjAwRjAwNDhDIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCkBAIC0xMTU1NCwxMCAr
MTE2MDksMTEgQEAKIAkJCQk2NTc3RkZDNjI3NkFDOEQyMDAxMUFFQzggLyogQ3JlYXRlIFN5bWxp
bmsgdG8gQWx0IFJvb3QgUGF0aCAqLywKIAkJCSk7CiAJCQlidWlsZFJ1bGVzID0gKAorCQkJCURE
NDFGQTdEMjdDREE2RkUwMDM5NEQ5NSAvKiBQQlhCdWlsZFJ1bGUgKi8sCiAJCQkJNTM1RTA4QzIy
MjU0NUFDODAwREYwMENBIC8qIFBCWEJ1aWxkUnVsZSAqLywKIAkJCSk7CiAJCQlkZXBlbmRlbmNp
ZXMgPSAoCi0JCQkJNjU3ODhBQUQxOEI0MEE3QjAwQzE4OUZGIC8qIFBCWFRhcmdldERlcGVuZGVu
Y3kgKi8sCisJCQkJREQ0MUZBOEIyN0NERTFDNDAwMzk0RDk1IC8qIFBCWFRhcmdldERlcGVuZGVu
Y3kgKi8sCiAJCQkJNjVGQjNGN0UwOUQxMUVGMzAwRjQ5REVCIC8qIFBCWFRhcmdldERlcGVuZGVu
Y3kgKi8sCiAJCQkJNTNCNEJEMTQxRjY4QzJBQTAwRDJCRUEzIC8qIFBCWFRhcmdldERlcGVuZGVu
Y3kgKi8sCiAJCQkpOwpAQCAtMTE2MzYsMTEgKzExNjkyLDExIEBACiAJCQkJOTMyRjVCRTMwODIy
QTFDNzAwNzM2OTc1IC8qIEFsbCAqLywKIAkJCQk5MzJGNUIzRTA4MjJBMUM3MDA3MzY5NzUgLyog
SmF2YVNjcmlwdENvcmUgKi8sCiAJCQkJNjVGQjNGNjYwOUQxMUU5MTAwRjQ5REVCIC8qIERlcml2
ZWQgU291cmNlcyAqLywKLQkJCQkxNEJENjg4RjIxNTE5MTQ1MDA1MERBRkYgLyogTExJbnQgU2V0
dGluZ3MgKi8sCisJCQkJMTRCRDY4OEYyMTUxOTE0NTAwNTBEQUZGIC8qIChMZWdhY3kpIExMSW50
IFNldHRpbmdzICovLAogCQkJCTE0QkQ2ODgxMjE1MTkxMzEwMDUwREFGRiAvKiBKU0NMTEludFNl
dHRpbmdzRXh0cmFjdG9yICovLAotCQkJCTBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBMTElu
dCBPZmZzZXRzICovLAorCQkJCTBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiAoTGVnYWN5KSBM
TEludCBPZmZzZXRzICovLAogCQkJCTBGRjkyMkMzMTRGNDZCMTMwMDQxQTI0RSAvKiBKU0NMTElu
dE9mZnNldHNFeHRyYWN0b3IgKi8sCi0JCQkJNjU3ODhBOUQxOEI0MDlFQjAwQzE4OUZGIC8qIE9m
ZmxpbmUgQXNzZW1ibGVyICovLAorCQkJCTY1Nzg4QTlEMThCNDA5RUIwMEMxODlGRiAvKiAoTGVn
YWN5KSBPZmZsaW5lIEFzc2VtYmxlciAqLywKIAkJCQk1M0I0QkQwNDFGNjhBRjg5MDBEMkJFQTMg
LyogR2VuZXJhdGUgVW5pZmllZCBTb3VyY2VzICovLAogCQkJCUUxQUMyRTI3MjBGN0I5NEMwMEIw
ODk3RCAvKiBVbmxvY2sgS2V5Y2hhaW4gKi8sCiAJCQkJMTQxMjExMUYwQTQ4NzkzQzAwNDgwMjU1
IC8qIG1pbmlkb20gKi8sCkBAIC0xMTY3MSwzMyArMTE3MjcsMzMgQEAKIC8qIEVuZCBQQlhSZXNv
dXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYU2hlbGxTY3JpcHRCdWls
ZFBoYXNlIHNlY3Rpb24gKi8KLQkJMEY0NjgwQUExNEJBN0ZEOTAwQkZFMjcyIC8qIEdlbmVyYXRl
IERlcml2ZWQgU291cmNlcyAqLyA9IHsKKwkJMEY0NjgwQUExNEJBN0ZEOTAwQkZFMjcyIC8qIChM
ZWdhY3kpIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxs
U2NyaXB0QnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlm
aWxlcyA9ICgKIAkJCSk7CiAJCQlpbnB1dFBhdGhzID0gKAogCQkJKTsKLQkJCW5hbWUgPSAiR2Vu
ZXJhdGUgRGVyaXZlZCBTb3VyY2VzIjsKKwkJCW5hbWUgPSAiKExlZ2FjeSkgR2VuZXJhdGUgRGVy
aXZlZCBTb3VyY2VzIjsKIAkJCW91dHB1dFBhdGhzID0gKAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKLQkJ
CXNoZWxsU2NyaXB0ID0gInNldCAtZVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIk
e0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVB
U01fQVJHUz1cIiR7T0ZGTElORUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dL
X1dFQktJVEFERElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG5ta2RpciAtcCBc
IiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU31cIlxuXG4vdXNyL2Jp
bi9lbnYgcnVieSBcIiR7U1JDUk9PVH0vb2ZmbGluZWFzbS9nZW5lcmF0ZV9vZmZzZXRfZXh0cmFj
dG9yLnJiXCIgXCItSSR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2Ny
aXB0Q29yZVwiIFwiJHtTUkNST09UfS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbVwiICBc
IiR7QlVJTFRfUFJPRFVDVFNfRElSfS9KU0NMTEludFNldHRpbmdzRXh0cmFjdG9yXCIgXCIke0JV
SUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRzLyR7QVJDSFN9L0xMSW50RGVzaXJlZE9mZnNl
dHMuaFwiIFwiJHtBUkNIU30gQ19MT09QXCIgXCIke0JVSUxEX1ZBUklBTlRTfVwiICR7T0ZGTElO
RUFTTV9BUkdTfVxuIjsKKwkJCXNoZWxsU2NyaXB0ID0gIlsgXCIke1dLX1VTRV9ORVdfQlVJTERf
U1lTVEVNfVwiID0gXCJZRVNcIiBdICYmIGV4aXQgMFxuc2V0IC1lXG5cbk9GRkxJTkVBU01fQVJH
Uz1cIlwiXG5pZiBbWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIllFU1wiIF1dOyB0
aGVuXG4gICAgT0ZGTElORUFTTV9BUkdTPVwiJHtPRkZMSU5FQVNNX0FSR1N9IC0td2Via2l0LWFk
ZGl0aW9ucy1wYXRoPSR7V0tfV0VCS0lUQURESVRJT05TX0hFQURFUlNfRk9MREVSX1BBVEh9XCJc
bmZpXG5cbm1rZGlyIC1wIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy8ke0FS
Q0hTfVwiXG5cbi91c3IvYmluL2VudiBydWJ5IFwiJHtTUkNST09UfS9vZmZsaW5lYXNtL2dlbmVy
YXRlX29mZnNldF9leHRyYWN0b3IucmJcIiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2
ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIgXCIke1NSQ1JPT1R9L2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtXCIgIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0pTQ0xMSW50U2V0dGluZ3NF
eHRyYWN0b3JcIiBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU30v
TExJbnREZXNpcmVkT2Zmc2V0cy5oXCIgXCIke0FSQ0hTfSBDX0xPT1BcIiBcIiR7QlVJTERfVkFS
SUFOVFN9XCIgJHtPRkZMSU5FQVNNX0FSR1N9XG4iOwogCQl9OwotCQkxNEJENjg5MjIxNTE5MTQ1
MDA1MERBRkYgLyogR2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzICovID0geworCQkxNEJENjg5MjIx
NTE5MTQ1MDA1MERBRkYgLyogKExlZ2FjeSkgR2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzICovID0g
ewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNr
ID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAogCQkJKTsKIAkJCWlucHV0UGF0aHMgPSAoCiAJ
CQkpOwotCQkJbmFtZSA9ICJHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMiOworCQkJbmFtZSA9ICIo
TGVnYWN5KSBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMiOwogCQkJb3V0cHV0UGF0aHMgPSAoCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCQlzaGVs
bFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAic2V0IC1lXG5cbk9GRkxJTkVBU01f
QVJHUz1cIlwiXG5pZiBbWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIllFU1wiIF1d
OyB0aGVuXG4gICAgT0ZGTElORUFTTV9BUkdTPVwiJHtPRkZMSU5FQVNNX0FSR1N9IC0td2Via2l0
LWFkZGl0aW9ucy1wYXRoPSR7V0tfV0VCS0lUQURESVRJT05TX0hFQURFUlNfRk9MREVSX1BBVEh9
XCJcbmZpXG5cbm1rZGlyIC1wIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy8k
e0FSQ0hTfVwiXG5cbi91c3IvYmluL2VudiBydWJ5IFwiJHtTUkNST09UfS9vZmZsaW5lYXNtL2dl
bmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rvci5yYlwiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0v
RGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBcIiR7U1JDUk9PVH0vbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc21cIiBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMv
JHtBUkNIU30vTExJbnREZXNpcmVkU2V0dGluZ3MuaFwiIFwiJHtBUkNIU30gQ19MT09QXCIgJHtP
RkZMSU5FQVNNX0FSR1N9XG4iOworCQkJc2hlbGxTY3JpcHQgPSAiWyBcIiR7V0tfVVNFX05FV19C
VUlMRF9TWVNURU19XCIgPSBcIllFU1wiIF0gJiYgZXhpdCAwXG5zZXQgLWVcblxuT0ZGTElORUFT
TV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwiWUVTXCIg
XV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJTkVBU01fQVJHU30gLS13ZWJr
aXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNfSEVBREVSU19GT0xERVJfUEFU
SH1cIlxuZmlcblxubWtkaXIgLXAgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRz
LyR7QVJDSFN9XCJcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke1NSQ1JPT1R9L29mZmxpbmVhc20v
Z2VuZXJhdGVfc2V0dGluZ3NfZXh0cmFjdG9yLnJiXCIgXCItSSR7QlVJTFRfUFJPRFVDVFNfRElS
fS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwiIFwiJHtTUkNST09UfS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbVwiIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0
cy8ke0FSQ0hTfS9MTEludERlc2lyZWRTZXR0aW5ncy5oXCIgXCIke0FSQ0hTfSBDX0xPT1BcIiAk
e09GRkxJTkVBU01fQVJHU31cbiI7CiAJCX07CiAJCTFBMDJEOUE4MUIzNEE4ODIwMDBEMTUyMiAv
KiBBZGQgU3ltbGluayBpbiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MgKi8gPSB7
CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CkBAIC0xMTkzNiwxOSArMTE5OTIs
MTkgQEAKIAkJCXNoZWxsUGF0aCA9IC9iaW4venNoOwogCQkJc2hlbGxTY3JpcHQgPSAiXCIke1NS
Q1JPT1R9L1NjcmlwdHMvY3JlYXRlLXN5bWxpbmstdG8tYWx0cm9vdC5zaFwiXG4iOwogCQl9Owot
CQk2NTc4OEFBMDE4QjQwOUVCMDBDMTg5RkYgLyogT2ZmbGluZSBBc3NlbWJsZSAqLyA9IHsKKwkJ
NjU3ODhBQTAxOEI0MDlFQjAwQzE4OUZGIC8qIChMZWdhY3kpIE9mZmxpbmUgQXNzZW1ibGUgKi8g
PSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1h
c2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCiAJCQkpOwogCQkJaW5wdXRQYXRocyA9ICgK
IAkJCSk7Ci0JCQluYW1lID0gIk9mZmxpbmUgQXNzZW1ibGUiOworCQkJbmFtZSA9ICIoTGVnYWN5
KSBPZmZsaW5lIEFzc2VtYmxlIjsKIAkJCW91dHB1dFBhdGhzID0gKAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQYXRoID0gL2Jpbi9z
aDsKLQkJCXNoZWxsU2NyaXB0ID0gImlmIFtbIFwiJHtBQ1RJT059XCIgPT0gXCJpbnN0YWxsaGRy
c1wiIF1dOyB0aGVuXG4gICAgZXhpdCAwXG5maVxuXG5PRkZMSU5FQVNNX0FSR1M9XCJcIlxuaWYg
W1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdXTsgdGhlblxuICAgIE9G
RkxJTkVBU01fQVJHUz1cIiR7T0ZGTElORUFTTV9BUkdTfSAtLXdlYmtpdC1hZGRpdGlvbnMtcGF0
aD0ke1dLX1dFQktJVEFERElUSU9OU19IRUFERVJTX0ZPTERFUl9QQVRIfVwiXG5maVxuXG5jZCBc
IiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwiXG5c
bi91c3IvYmluL2VudiBydWJ5IEphdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXNtLnJiIFwiLUkk
e0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBKYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbSBcIiR7QlVJTFRfUFJPRFVD
VFNfRElSfS9KU0NMTEludE9mZnNldHNFeHRyYWN0b3JcIiBMTEludEFzc2VtYmx5LmggXCIke0JV
SUxEX1ZBUklBTlRTfVwiICR7T0ZGTElORUFTTV9BUkdTfSB8fCBleGl0IDFcbiI7CisJCQlzaGVs
bFNjcmlwdCA9ICJbIFwiJHtXS19VU0VfTkVXX0JVSUxEX1NZU1RFTX1cIiA9IFwiWUVTXCIgXSAm
JiBleGl0IDBcblxuaWYgW1sgXCIke0FDVElPTn1cIiA9PSBcImluc3RhbGxoZHJzXCIgXV07IHRo
ZW5cbiAgICBleGl0IDBcbmZpXG5cbk9GRkxJTkVBU01fQVJHUz1cIlwiXG5pZiBbWyBcIiR7REVQ
TE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIllFU1wiIF1dOyB0aGVuXG4gICAgT0ZGTElORUFTTV9B
UkdTPVwiJHtPRkZMSU5FQVNNX0FSR1N9IC0td2Via2l0LWFkZGl0aW9ucy1wYXRoPSR7V0tfV0VC
S0lUQURESVRJT05TX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmZpXG5cbmNkIFwiJHtCVUlMVF9Q
Uk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCJcblxuL3Vzci9iaW4v
ZW52IHJ1YnkgSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hc20ucmIgXCItSSR7QlVJTFRfUFJP
RFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwiIEphdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0pT
Q0xMSW50T2Zmc2V0c0V4dHJhY3RvclwiIExMSW50QXNzZW1ibHkuaCBcIiR7QlVJTERfVkFSSUFO
VFN9XCIgJHtPRkZMSU5FQVNNX0FSR1N9IHx8IGV4aXQgMVxuIjsKIAkJfTsKIAkJNjVGQjNGNjUw
OUQxMUU5MTAwRjQ5REVCIC8qIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyAqLyA9IHsKIAkJCWlz
YSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKQEAgLTEyMDgwLDYgKzEyMTM2LDcgQEAKIAkJ
CWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCURENDFGQTg3MjdDREFENDMwMDM5NEQ5NSAvKiBMb3dM
ZXZlbEludGVycHJldGVyLmFzbSBpbiBTb3VyY2VzICovLAogCQkJCTBGRjkyMkQ0MTRGNDZCNDEw
MDQxQTI0RSAvKiBMTEludE9mZnNldHNFeHRyYWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CkBAIC0xMjEyNyw2
ICsxMjE4NCw3IEBACiAJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0
aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKKwkJCQlERDQxRkE4NjI3Q0RBRDMy
MDAzOTREOTUgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20gaW4gU291cmNlcyAqLywKIAkJCQkx
NEJENjg5RDIxNTE5MUMxMDA1MERBRkYgLyogTExJbnRTZXR0aW5nc0V4dHJhY3Rvci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKQEAgLTEyMjIwLDYgKzEyMjc4LDcgQEAKIAkJCQk1MzZCMzEzNDFGNzFDNTk5MDAzN0ZD
MzMgLyogVW5pZmllZFNvdXJjZTQwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTMxMUY3
MUM1OTkwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlNDEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTM2QjMxM0IxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2U0Mi5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlERDQxRkE4OTI3Q0REREVGMDAzOTREOTUgLyogTG93TGV2ZWxJbnRlcnByZXRl
ci5hc20gaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzEzRTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5p
ZmllZFNvdXJjZTQzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTRDMUY3MUM1OTkwMDM3
RkMzMyAvKiBVbmlmaWVkU291cmNlNDQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxNTEx
RjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2U0NS5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTEyMzk0LDcgKzEyNDUzLDcgQEAKIAkJfTsKIAkJMEZGOTIyRDMxNEY0NkIyRjAwNDFBMjRFIC8q
IFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5
OwotCQkJdGFyZ2V0ID0gMEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8qIExMSW50IE9mZnNldHMg
Ki87CisJCQl0YXJnZXQgPSAwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogKExlZ2FjeSkgTExJ
bnQgT2Zmc2V0cyAqLzsKIAkJCXRhcmdldFByb3h5ID0gMEZGOTIyRDIxNEY0NkIyRjAwNDFBMjRF
IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKIAkJfTsKIAkJMTRCRDY4ODIyMTUxOTEzMTAw
NTBEQUZGIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CkBAIC0xMjQxNCw3ICsxMjQ3Myw3
IEBACiAJCX07CiAJCTE0QkQ2ODlCMjE1MTkxNzQwMDUwREFGRiAvKiBQQlhUYXJnZXREZXBlbmRl
bmN5ICovID0gewogCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKLQkJCXRhcmdldCA9IDE0
QkQ2ODhGMjE1MTkxNDUwMDUwREFGRiAvKiBMTEludCBTZXR0aW5ncyAqLzsKKwkJCXRhcmdldCA9
IDE0QkQ2ODhGMjE1MTkxNDUwMDUwREFGRiAvKiAoTGVnYWN5KSBMTEludCBTZXR0aW5ncyAqLzsK
IAkJCXRhcmdldFByb3h5ID0gMTRCRDY4OUEyMTUxOTE3NDAwNTBEQUZGIC8qIFBCWENvbnRhaW5l
ckl0ZW1Qcm94eSAqLzsKIAkJfTsKIAkJMTRDRkIxMDAyMzAzNUVGMzAwRjAwNDhDIC8qIFBCWFRh
cmdldERlcGVuZGVuY3kgKi8gPSB7CkBAIC0xMjUyNywxMSArMTI1ODYsNiBAQAogCQkJdGFyZ2V0
ID0gNjVGQjNGNjYwOUQxMUU5MTAwRjQ5REVCIC8qIERlcml2ZWQgU291cmNlcyAqLzsKIAkJCXRh
cmdldFByb3h5ID0gNjU3ODhBQUExOEI0MEEzQjAwQzE4OUZGIC8qIFBCWENvbnRhaW5lckl0ZW1Q
cm94eSAqLzsKIAkJfTsKLQkJNjU3ODhBQUQxOEI0MEE3QjAwQzE4OUZGIC8qIFBCWFRhcmdldERl
cGVuZGVuY3kgKi8gPSB7Ci0JCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OwotCQkJdGFyZ2V0
ID0gNjU3ODhBOUQxOEI0MDlFQjAwQzE4OUZGIC8qIE9mZmxpbmUgQXNzZW1ibGVyICovOwotCQkJ
dGFyZ2V0UHJveHkgPSA2NTc4OEFBQzE4QjQwQTdCMDBDMTg5RkYgLyogUEJYQ29udGFpbmVySXRl
bVByb3h5ICovOwotCQl9OwogCQk2NUZCM0Y3RTA5RDExRUYzMDBGNDlERUIgLyogUEJYVGFyZ2V0
RGVwZW5kZW5jeSAqLyA9IHsKIAkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CiAJCQl0YXJn
ZXQgPSA2NUZCM0Y2NjA5RDExRTkxMDBGNDlERUIgLyogRGVyaXZlZCBTb3VyY2VzICovOwpAQCAt
MTI1NDcsNiArMTI2MDEsMTEgQEAKIAkJCXRhcmdldCA9IDkzMkY1QjNFMDgyMkExQzcwMDczNjk3
NSAvKiBKYXZhU2NyaXB0Q29yZSAqLzsKIAkJCXRhcmdldFByb3h5ID0gOTMyRjVCRTYwODIyQTFD
NzAwNzM2OTc1IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKIAkJfTsKKwkJREQ0MUZBOEIy
N0NERTFDNDAwMzk0RDk1IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CisJCQlpc2EgPSBQ
QlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gNjU3ODhBOUQxOEI0MDlFQjAwQzE4OUZG
IC8qIChMZWdhY3kpIE9mZmxpbmUgQXNzZW1ibGVyICovOworCQkJdGFyZ2V0UHJveHkgPSBERDQx
RkE4QTI3Q0RFMUM0MDAzOTREOTUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOworCQl9Owog
CQlGRTUzM0NBRjFGMjE3RUM2MDAxNkExRkUgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsK
IAkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CiAJCQl0YXJnZXQgPSBGRTUzM0NBMTFGMjE3
REIzMDAxNkExRkUgLyogdGVzdG1hc20gKi87CkBAIC0xMzI0Niw3ICsxMzMwNSw3IEBACiAvKiBF
bmQgWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBYQ0NvbmZpZ3Vy
YXRpb25MaXN0IHNlY3Rpb24gKi8KLQkJMEY0NjgwQUMxNEJBN0ZEOTAwQkZFMjcyIC8qIEJ1aWxk
IGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJMTEludCBPZmZzZXRz
IiAqLyA9IHsKKwkJMEY0NjgwQUMxNEJBN0ZEOTAwQkZFMjcyIC8qIEJ1aWxkIGNvbmZpZ3VyYXRp
b24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBMTEludCBPZmZzZXRzIiAq
LyA9IHsKIAkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRp
b25zID0gKAogCQkJCTBGNDY4MEFEMTRCQTdGRDkwMEJGRTI3MiAvKiBEZWJ1ZyAqLywKQEAgLTEz
Mzc4LDcgKzEzNDM3LDcgQEAKIAkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsK
IAkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rpb247CiAJCX07Ci0JCTE0QkQ2
ODkzMjE1MTkxNDUwMDUwREFGRiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFn
Z3JlZ2F0ZVRhcmdldCAiTExJbnQgU2V0dGluZ3MiICovID0geworCQkxNEJENjg5MzIxNTE5MTQ1
MDA1MERBRkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJn
ZXQgIihMZWdhY3kpIExMSW50IFNldHRpbmdzIiAqLyA9IHsKIAkJCWlzYSA9IFhDQ29uZmlndXJh
dGlvbkxpc3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAogCQkJCTE0QkQ2ODk0MjE1MTkx
NDUwMDUwREFGRiAvKiBEZWJ1ZyAqLywKQEAgLTEzNDU1LDcgKzEzNTE0LDcgQEAKIAkJCWRlZmF1
bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKIAkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFt
ZSA9IFByb2R1Y3Rpb247CiAJCX07Ci0JCTY1Nzg4QUEyMThCNDA5RUIwMEMxODlGRiAvKiBCdWls
ZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiT2ZmbGluZSBBc3Nl
bWJsZXIiICovID0geworCQk2NTc4OEFBMjE4QjQwOUVCMDBDMTg5RkYgLyogQnVpbGQgY29uZmln
dXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIihMZWdhY3kpIE9mZmxpbmUgQXNz
ZW1ibGVyIiAqLyA9IHsKIAkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CiAJCQlidWlsZENv
bmZpZ3VyYXRpb25zID0gKAogCQkJCTY1Nzg4QUEzMThCNDA5RUIwMEMxODlGRiAvKiBEZWJ1ZyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYiBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYgppbmRleCBiZWQzYWQ5MWM5
M2YuLmUxMWU1YmYzNjc2MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxp
bmVhc20vYXNtLnJiCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5y
YgpAQCAtMzMsNiArMzMsNyBAQCByZXF1aXJlICdvcHRwYXJzZScKIHJlcXVpcmUgInBhcnNlciIK
IHJlcXVpcmUgInNlbGZfaGFzaCIKIHJlcXVpcmUgInNldHRpbmdzIgorcmVxdWlyZSAic2hlbGx3
b3JkcyIKIHJlcXVpcmUgInRyYW5zZm9ybSIKIAogY2xhc3MgQXNzZW1ibGVyCkBAIC0zNDcsNyAr
MzQ4LDcgQEAgdmFyaWFudHMgPSBBUkdWLnNoaWZ0LnNwbGl0KC9bLFxzXSsvKQogCiAkb3B0aW9u
cyA9IHt9CiBPcHRpb25QYXJzZXIubmV3IGRvIHxvcHRzfAotICAgIG9wdHMuYmFubmVyID0gIlVz
YWdlOiBhc20ucmIgYXNtRmlsZSBvZmZzZXRzRmlsZSBvdXRwdXRGaWxlTmFtZSBbLS1hc3NlbWJs
ZXI9PEFTTT5dIFstLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD08cGF0aD5dIFstLWJpbmFyeS1mb3Jt
YXQ9PGZvcm1hdD5dIgorICAgIG9wdHMuYmFubmVyID0gIlVzYWdlOiBhc20ucmIgYXNtRmlsZSBv
ZmZzZXRzRmlsZSBvdXRwdXRGaWxlTmFtZSBbLS1hc3NlbWJsZXI9PEFTTT5dIFstLXdlYmtpdC1h
ZGRpdGlvbnMtcGF0aD08cGF0aD5dIFstLWJpbmFyeS1mb3JtYXQ9PGZvcm1hdD5dIFstLWRlcGZp
bGU9PGRlcGZpbGU+XSIKICAgICAjIFRoaXMgb3B0aW9uIGlzIGN1cnJlbnRseSBvbmx5IHVzZWQg
dG8gc3BlY2lmeSB0aGUgbWFzbSBhc3NlbWJsZXIKICAgICBvcHRzLm9uKCItLWFzc2VtYmxlcj1b
QVNNXSIsICJTcGVjaWZ5IGFuIGFzc2VtYmxlciB0byB1c2UuIikgZG8gfGFzc2VtYmxlcnwKICAg
ICAgICAgJG9wdGlvbnNbOmFzc2VtYmxlcl0gPSBhc3NlbWJsZXIKQEAgLTM1OCw2ICszNTksOSBA
QCBPcHRpb25QYXJzZXIubmV3IGRvIHxvcHRzfAogICAgIG9wdHMub24oIi0tYmluYXJ5LWZvcm1h
dD1GT1JNQVQiLCAiU3BlY2lmeSB0aGUgYmluYXJ5IGZvcm1hdCB1c2VkIGJ5IHRoZSB0YXJnZXQg
c3lzdGVtLiIpIGRvIHxmb3JtYXR8CiAgICAgICAgICRvcHRpb25zWzpiaW5hcnlfZm9ybWF0XSA9
IGZvcm1hdAogICAgIGVuZAorICAgIG9wdHMub24oIi0tZGVwZmlsZT1ERVBGSUxFIiwgIlBhdGgg
dG8gd3JpdGUgTWFrZWZpbGUtc3R5bGUgZGlzY292ZXJlZCBkZXBlbmRlbmNpZXMgdG8uIikgZG8g
fHBhdGh8CisgICAgICAgICRvcHRpb25zWzpkZXBmaWxlXSA9IHBhdGgKKyAgICBlbmQKIGVuZC5w
YXJzZSEKIAogYmVnaW4KQEAgLTM4NCw3ICszODgsNyBAQCBpbnB1dEhhc2ggPQogICAgICIgIiAr
IHNlbGZIYXNoICsKICAgICAiICIgKyBEaWdlc3Q6OlNIQTEuaGV4ZGlnZXN0KCRvcHRpb25zLmhh
c19rZXk/KDphc3NlbWJsZXIpID8gJG9wdGlvbnNbOmFzc2VtYmxlcl0gOiAiIikKIAotaWYgRmls
ZVRlc3QuZXhpc3Q/IG91dHB1dEZsbm0KK2lmIEZpbGVUZXN0LmV4aXN0PyhvdXRwdXRGbG5tKSBh
bmQgKG5vdCAkb3B0aW9uc1s6ZGVwZmlsZV0gb3IgRmlsZVRlc3QuZXhpc3Q/KCRvcHRpb25zWzpk
ZXBmaWxlXSkpCiAgICAgbGFzdExpbmUgPSBuaWwKICAgICBGaWxlLm9wZW4ob3V0cHV0RmxubSwg
InIiKSB7CiAgICAgICAgIHwgZmlsZSB8CkBAIC00MDcsOSArNDExLDE2IEBAIEZpbGUub3Blbihv
dXRwdXRGbG5tLCAidyIpIHsKICAgICAkb3V0cHV0ID0gb3V0cAogCiAgICAgJGFzbSA9IEFzc2Vt
Ymxlci5uZXcoJG91dHB1dCkKLSAgICAKLSAgICBhc3QgPSBwYXJzZShhc21GaWxlLCAkb3B0aW9u
cykKKworICAgIHNvdXJjZXMgPSBTZXQubmV3CisgICAgYXN0ID0gcGFyc2UoYXNtRmlsZSwgJG9w
dGlvbnMsIHNvdXJjZXMpCiAgICAgc2V0dGluZ3NDb21iaW5hdGlvbnMgPSBjb21wdXRlU2V0dGlu
Z3NDb21iaW5hdGlvbnMoYXN0KQorICAgIAorICAgIGlmICRvcHRpb25zWzpkZXBmaWxlXQorICAg
ICAgICBkZXBmaWxlID0gRmlsZS5vcGVuKCRvcHRpb25zWzpkZXBmaWxlXSwgInciKQorICAgICAg
ICBkZXBmaWxlLnByaW50KFNoZWxsd29yZHMuZXNjYXBlKG91dHB1dEZsbm0pLCAiOiAiKQorICAg
ICAgICBkZXBmaWxlLnB1dHMoU2hlbGx3b3Jkcy5qb2luKHNvdXJjZXMuc29ydCkpCisgICAgZW5k
CiAKICAgICBjb25maWd1cmF0aW9uTGlzdC5lYWNoIHsKICAgICAgICAgfCBjb25maWd1cmF0aW9u
IHwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2dlbmVyYXRl
X29mZnNldF9leHRyYWN0b3IucmIgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9n
ZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9yLnJiCmluZGV4IDA1YzkzODEyMmEzMS4uOGM5MWY0ZGI4
NGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9nZW5lcmF0
ZV9vZmZzZXRfZXh0cmFjdG9yLnJiCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5l
YXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmIKQEAgLTMzLDYgKzMzLDcgQEAgcmVxdWly
ZSAnb3B0cGFyc2UnCiByZXF1aXJlICJwYXJzZXIiCiByZXF1aXJlICJzZWxmX2hhc2giCiByZXF1
aXJlICJzZXR0aW5ncyIKK3JlcXVpcmUgInNoZWxsd29yZHMiCiByZXF1aXJlICJ0cmFuc2Zvcm0i
CiAKIEluY2x1ZGVGaWxlLnByb2Nlc3NJbmNsdWRlT3B0aW9ucygpCkBAIC00OCwxMCArNDksMTMg
QEAgdmFyaWFudHMgPSBBUkdWLnNoaWZ0LnNwbGl0KC9bLFxzXSsvKQogCiAkb3B0aW9ucyA9IHt9
CiBPcHRpb25QYXJzZXIubmV3IGRvIHxvcHRzfAotICAgIG9wdHMuYmFubmVyID0gIlVzYWdlOiBn
ZW5lcmF0ZV9vZmZzZXRfZXh0cmFjdG9yLnJiIGFzbUZpbGUgc2V0dGluZ0ZpbGUgb3V0cHV0Rmls
ZU5hbWUgYmFja2VuZHMgdmFyaWFudHMgWy0td2Via2l0LWFkZGl0aW9ucy1wYXRoPTxwYXRoPl0i
CisgICAgb3B0cy5iYW5uZXIgPSAiVXNhZ2U6IGdlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmIg
YXNtRmlsZSBzZXR0aW5nRmlsZSBvdXRwdXRGaWxlTmFtZSBiYWNrZW5kcyB2YXJpYW50cyBbLS13
ZWJraXQtYWRkaXRpb25zLXBhdGg9PHBhdGg+XSBbLS1kZXBmaWxlPTxkZXBmaWxlPl0iCiAgICAg
b3B0cy5vbigiLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9UEFUSCIsICJXZWJLaXRBZGRpdGlvbnMg
cGF0aC4iKSBkbyB8cGF0aHwKICAgICAgICAgJG9wdGlvbnNbOndlYmtpdF9hZGRpdGlvbnNfcGF0
aF0gPSBwYXRoCiAgICAgZW5kCisgICAgb3B0cy5vbigiLS1kZXBmaWxlPURFUEZJTEUiLCAicGF0
aCB0byB3cml0ZSBNYWtlZmlsZS1zdHlsZSBkaXNjb3ZlcmVkIGRlcGVuZGVuY2llcyB0by4iKSBk
byB8cGF0aHwKKyAgICAgICAgJG9wdGlvbnNbOmRlcGZpbGVdID0gcGF0aAorICAgIGVuZAogZW5k
LnBhcnNlIQogCiBiZWdpbgpAQCAtNzEsNyArNzUsNyBAQCBlbmQKIGNvbmZpZ3VyYXRpb25IYXNo
ID0gRGlnZXN0OjpTSEExLmhleGRpZ2VzdChjb25maWd1cmF0aW9uTGlzdC5qb2luKCcgJykpCiBp
bnB1dEhhc2ggPSAiLy8gT2Zmc2V0RXh0cmFjdG9yIGlucHV0IGhhc2g6ICN7cGFyc2VIYXNoKGlu
cHV0RmxubSwgJG9wdGlvbnMpfSAje2NvbmZpZ3VyYXRpb25IYXNofSAje3NlbGZIYXNofSIKIAot
aWYgRmlsZVRlc3QuZXhpc3Q/IG91dHB1dEZsbm0KK2lmIEZpbGVUZXN0LmV4aXN0PyhvdXRwdXRG
bG5tKSBhbmQgKG5vdCAkb3B0aW9uc1s6ZGVwZmlsZV0gb3IgRmlsZVRlc3QuZXhpc3Q/KCRvcHRp
b25zWzpkZXBmaWxlXSkpCiAgICAgRmlsZS5vcGVuKG91dHB1dEZsbm0sICJyIikgewogICAgICAg
ICB8IGlucCB8CiAgICAgICAgIGZpcnN0TGluZSA9IGlucC5nZXRzCkBAIC04Miw5ICs4NiwxNiBA
QCBpZiBGaWxlVGVzdC5leGlzdD8gb3V0cHV0RmxubQogICAgIH0KIGVuZAogCi1hc3QgPSBwYXJz
ZShpbnB1dEZsbm0sICRvcHRpb25zKQorc291cmNlcyA9IFNldC5uZXcKK2FzdCA9IHBhcnNlKGlu
cHV0RmxubSwgJG9wdGlvbnMsIHNvdXJjZXMpCiBzZXR0aW5nc0NvbWJpbmF0aW9ucyA9IGNvbXB1
dGVTZXR0aW5nc0NvbWJpbmF0aW9ucyhhc3QpCiAKK2lmICRvcHRpb25zWzpkZXBmaWxlXQorICAg
IGRlcGZpbGUgPSBGaWxlLm9wZW4oJG9wdGlvbnNbOmRlcGZpbGVdLCAidyIpCisgICAgZGVwZmls
ZS5wcmludChTaGVsbHdvcmRzLmVzY2FwZShvdXRwdXRGbG5tKSwgIjogIikKKyAgICBkZXBmaWxl
LnB1dHMoU2hlbGx3b3Jkcy5qb2luKHNvdXJjZXMuc29ydCkpCitlbmQKKwogRmlsZS5vcGVuKG91
dHB1dEZsbm0sICJ3IikgewogICAgIHwgb3V0cCB8CiAgICAgJG91dHB1dCA9IG91dHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2dlbmVyYXRlX3NldHRpbmdz
X2V4dHJhY3Rvci5yYiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2dlbmVyYXRl
X3NldHRpbmdzX2V4dHJhY3Rvci5yYgppbmRleCBhOWEyMzA5NTljYzguLmJjYmRlMjQyNjZlMiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2VuZXJhdGVfc2V0
dGluZ3NfZXh0cmFjdG9yLnJiCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNt
L2dlbmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rvci5yYgpAQCAtMzMsNiArMzMsNyBAQCByZXF1aXJl
ICdvcHRwYXJzZScKIHJlcXVpcmUgInBhcnNlciIKIHJlcXVpcmUgInNlbGZfaGFzaCIKIHJlcXVp
cmUgInNldHRpbmdzIgorcmVxdWlyZSAic2hlbGx3b3JkcyIKIHJlcXVpcmUgInRyYW5zZm9ybSIK
IAogSW5jbHVkZUZpbGUucHJvY2Vzc0luY2x1ZGVPcHRpb25zKCkKQEAgLTQ1LDE1ICs0NiwxOCBA
QCBpbmNsdWRlT25seUJhY2tlbmRzKHZhbGlkQmFja2VuZHMpCiAKICRvcHRpb25zID0ge30KIE9w
dGlvblBhcnNlci5uZXcgZG8gfG9wdHN8Ci0gICAgb3B0cy5iYW5uZXIgPSAiVXNhZ2U6IGdlbmVy
YXRlX3NldHRpbmdzX2V4dHJhY3Rvci5yYiBhc21GaWxlIHNldHRpbmdGaWxlIFstLXdlYmtpdC1h
ZGRpdGlvbnMtcGF0aD08cGF0aD5dIgorICAgIG9wdHMuYmFubmVyID0gIlVzYWdlOiBnZW5lcmF0
ZV9zZXR0aW5nc19leHRyYWN0b3IucmIgYXNtRmlsZSBzZXR0aW5nRmlsZSBbLS13ZWJraXQtYWRk
aXRpb25zLXBhdGg9PHBhdGg+XSBbLS1kZXBmaWxlPTxkZXBmaWxlPl0iCiAgICAgb3B0cy5vbigi
LS13ZWJraXQtYWRkaXRpb25zLXBhdGg9UEFUSCIsICJXZWJLaXRBZGRpdGlvbnMgcGF0aC4iKSBk
byB8cGF0aHwKICAgICAgICAgJG9wdGlvbnNbOndlYmtpdF9hZGRpdGlvbnNfcGF0aF0gPSBwYXRo
CiAgICAgZW5kCisgICAgb3B0cy5vbigiLS1kZXBmaWxlPURFUEZJTEUiLCAicGF0aCB0byB3cml0
ZSBNYWtlZmlsZS1zdHlsZSBkaXNjb3ZlcmVkIGRlcGVuZGVuY2llcyB0by4iKSBkbyB8cGF0aHwK
KyAgICAgICAgJG9wdGlvbnNbOmRlcGZpbGVdID0gcGF0aAorICAgIGVuZAogZW5kLnBhcnNlIQog
CiBpbnB1dEhhc2ggPSAiLy8gU2V0dGluZ3NFeHRyYWN0b3IgaW5wdXQgaGFzaDogI3twYXJzZUhh
c2goaW5wdXRGbG5tLCAkb3B0aW9ucyl9ICN7c2VsZkhhc2h9IgogCi1pZiBGaWxlVGVzdC5leGlz
dD8gb3V0cHV0RmxubQoraWYgRmlsZVRlc3QuZXhpc3Q/KG91dHB1dEZsbm0pIGFuZCAobm90ICRv
cHRpb25zWzpkZXBmaWxlXSBvciBGaWxlVGVzdC5leGlzdD8oJG9wdGlvbnNbOmRlcGZpbGVdKSkK
ICAgICBGaWxlLm9wZW4ob3V0cHV0RmxubSwgInIiKSB7CiAgICAgICAgIHwgaW5wIHwKICAgICAg
ICAgZmlyc3RMaW5lID0gaW5wLmdldHMKQEAgLTY0LDkgKzY4LDE2IEBAIGlmIEZpbGVUZXN0LmV4
aXN0PyBvdXRwdXRGbG5tCiAgICAgfQogZW5kCiAKLW9yaWdpbmFsQVNUID0gcGFyc2UoaW5wdXRG
bG5tLCAkb3B0aW9ucykKK3NvdXJjZXMgPSBTZXQubmV3CitvcmlnaW5hbEFTVCA9IHBhcnNlKGlu
cHV0RmxubSwgJG9wdGlvbnMsIHNvdXJjZXMpCiBwcnVuZWRBU1QgPSBTZXF1ZW5jZS5uZXcob3Jp
Z2luYWxBU1QuY29kZU9yaWdpbiwgb3JpZ2luYWxBU1QuZmlsdGVyKFNldHRpbmcpKQogCitpZiAk
b3B0aW9uc1s6ZGVwZmlsZV0KKyAgICBkZXBmaWxlID0gRmlsZS5vcGVuKCRvcHRpb25zWzpkZXBm
aWxlXSwgInciKQorICAgIGRlcGZpbGUucHJpbnQoU2hlbGx3b3Jkcy5lc2NhcGUob3V0cHV0Rmxu
bSksICI6ICIpCisgICAgZGVwZmlsZS5wdXRzKFNoZWxsd29yZHMuam9pbihzb3VyY2VzLnNvcnQp
KQorZW5kCisKIEZpbGUub3BlbihvdXRwdXRGbG5tLCAidyIpIHsKICAgICB8IG91dHAgfAogICAg
ICRvdXRwdXQgPSBvdXRwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGlu
ZWFzbS9wYXJzZXIucmIgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9wYXJzZXIu
cmIKaW5kZXggMTRjNmM5MjZlYWU4Li4yN2RlY2JhOTc0NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3BhcnNlci5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvb2ZmbGluZWFzbS9wYXJzZXIucmIKQEAgLTI2MCw3ICsyNjAsNyBAQCBlbmQKICMKIAog
Y2xhc3MgUGFyc2VyCi0gICAgZGVmIGluaXRpYWxpemUoZGF0YSwgZmlsZU5hbWUsIG9wdGlvbnMp
CisgICAgZGVmIGluaXRpYWxpemUoZGF0YSwgZmlsZU5hbWUsIG9wdGlvbnMsIHNvdXJjZXM9bmls
KQogICAgICAgICBAdG9rZW5zID0gbGV4KGRhdGEsIGZpbGVOYW1lKQogICAgICAgICBAaWR4ID0g
MAogICAgICAgICBAYW5ub3RhdGlvbiA9IG5pbApAQCAtMjY4LDYgKzI2OCw3IEBAIGNsYXNzIFBh
cnNlcgogICAgICAgICAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjkzNDAKICAgICAgICAgQGJ1aWxkUHJvZHVjdHNEaXJlY3RvcnkgPSBFTlZbJ0JVSUxUX1BST0RV
Q1RTX0RJUiddOwogICAgICAgICBAb3B0aW9ucyA9IG9wdGlvbnMKKyAgICAgICAgQHNvdXJjZXMg
PSBzb3VyY2VzCiAgICAgZW5kCiAgICAgCiAgICAgZGVmIHBhcnNlRXJyb3IoKmNvbW1lbnQpCkBA
IC04NDMsNyArODQ0LDcgQEAgY2xhc3MgUGFyc2VyCiAgICAgICAgICAgICAgICAgZW5kCiAgICAg
ICAgICAgICAgICAgZmlsZUV4aXN0cyA9IEZpbGUuZXhpc3RzPyhmaWxlTmFtZSkKICAgICAgICAg
ICAgICAgICByYWlzZSAiRmlsZSBub3QgZm91bmQ6ICN7ZmlsZU5hbWV9IiBpZiBub3QgZmlsZUV4
aXN0cyBhbmQgbm90IGlzT3B0aW9uYWwKLSAgICAgICAgICAgICAgICBsaXN0IDw8IHBhcnNlKGZp
bGVOYW1lLCBAb3B0aW9ucykgaWYgZmlsZUV4aXN0cworICAgICAgICAgICAgICAgIGxpc3QgPDwg
cGFyc2UoZmlsZU5hbWUsIEBvcHRpb25zLCBAc291cmNlcykgaWYgZmlsZUV4aXN0cwogICAgICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHBhcnNlRXJyb3IgIkV4cGVjdGluZyB0ZXJtaW5h
bCAje2ZpbmFsfSAje2NvbW1lbnR9IgogICAgICAgICAgICAgZW5kCkBAIC05MDAsMTMgKzkwMSwx
NCBAQCBkZWYgcmVhZFRleHRGaWxlKGZpbGVOYW1lKQogICAgIHJldHVybiBkYXRhCiBlbmQKIAot
ZGVmIHBhcnNlRGF0YShkYXRhLCBmaWxlTmFtZSwgb3B0aW9ucykKLSAgICBwYXJzZXIgPSBQYXJz
ZXIubmV3KGRhdGEsIFNvdXJjZUZpbGUubmV3KGZpbGVOYW1lKSwgb3B0aW9ucykKK2RlZiBwYXJz
ZURhdGEoZGF0YSwgZmlsZU5hbWUsIG9wdGlvbnMsIHNvdXJjZXMpCisgICAgcGFyc2VyID0gUGFy
c2VyLm5ldyhkYXRhLCBTb3VyY2VGaWxlLm5ldyhmaWxlTmFtZSksIG9wdGlvbnMsIHNvdXJjZXMp
CiAgICAgcGFyc2VyLnBhcnNlU2VxdWVuY2UobmlsLCAiIikKIGVuZAogCi1kZWYgcGFyc2UoZmls
ZU5hbWUsIG9wdGlvbnMpCi0gICAgcGFyc2VEYXRhKHJlYWRUZXh0RmlsZShmaWxlTmFtZSksIGZp
bGVOYW1lLCBvcHRpb25zKQorZGVmIHBhcnNlKGZpbGVOYW1lLCBvcHRpb25zLCBzb3VyY2VzPW5p
bCkKKyAgICBzb3VyY2VzIDw8IGZpbGVOYW1lIGlmIHNvdXJjZXMKKyAgICBwYXJzZURhdGEocmVh
ZFRleHRGaWxlKGZpbGVOYW1lKSwgZmlsZU5hbWUsIG9wdGlvbnMsIHNvdXJjZXMpCiBlbmQKIAog
ZGVmIHBhcnNlSGFzaChmaWxlTmFtZSwgb3B0aW9ucykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454431</attachid>
            <date>2022-03-10 17:23:18 -0800</date>
            <delta_ts>2022-03-10 18:36:21 -0800</delta_ts>
            <desc>Patch for relanding</desc>
            <filename>jsc-generated-sources-outputs.patch</filename>
            <type>text/plain</type>
            <size>33725</size>
            <attacher name="Elliott Williams">emw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDk4MzZiNWE1YmJhMS4uNzM3NjBjYmQ1OTE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAyMi0wMy0wMSAgRWxs
aW90dCBXaWxsaWFtcyAgPGVtd0BhcHBsZS5jb20+CisKKyAgICAgICAgW1hDQnVpbGRdIEVtaXQg
YSBkaXNjb3ZlcmVkIGRlcGVuZGVuY3kgZmlsZSBmcm9tIG9mZmxpbmVhc20KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNzMyOQorCisgICAgICAgIFJl
dmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCisKKyAgICAgICAgWGNvZGUgbmVlZHMgdG8g
a25vdyB3aGF0IGZpbGVzIG9mZmxpbmVhc20gdXNlcyBhbmQgcHJvZHVjZXMgaW4gb3JkZXIgdG8g
c2NoZWR1bGUgaXQKKyAgICAgICAgY29ycmVjdGx5IGluIGluY3JlbWVudGFsIGJ1aWxkcy4gUmF0
aGVyIHRoYW4gdXNlIGdlbmVyYXRlZCB4Y2ZpbGVsaXN0cyBsaWtlIFdlYktpdCBkb2VzCisgICAg
ICAgIGVsc2V3aGVyZSBpbiB0aGUgcHJvamVjdCwgZW1pdCBhIGRlcGZpbGUgZnJvbSBvZmZsaW5l
YXNtIGJhc2VkIG9uIHRoZSBwYXJzZSB0cmVlJ3Mgc291cmNlCisgICAgICAgIGZpbGVzLgorCisg
ICAgICAgIERpc2NvdmVyZWQgZGVwZW5kZW5jeSBmaWxlcyAoImRlcGZpbGVzIikgYXJlIE1ha2Vm
aWxlLWZvcm1hdHRlZCBmaWxlcyB3aGljaCBsaXN0IHRoZSBpbnB1dHMKKyAgICAgICAgdXNlZCB0
byBwcm9kdWNlIGFuIG91dHB1dC4gVGhleSBhcmUgZW1pdHRpbmcgZHVyaW5nIHRoZSBidWlsZCB0
byBhIHRlbXBvcmFyeSBkaXJlY3RvcnksIGFuZAorICAgICAgICBlbnN1cmUgdGhhdCBzdWJzZXF1
ZW50IGluY3JlbWVudGFsIGJ1aWxkcyB3aWxsIHJlLXJ1biBvZmZsaW5lYXNtIHdoZW4gYW55IG9m
IHRoZSBpbmNsdWRlZAorICAgICAgICBzb3VyY2VzIGNoYW5nZS4gVGhpcyBpcyB0aGUgc2FtZSBt
ZWNoYW5pc20gY2xhbmcgdXNlcyB0byB0cmFjayBoZWFkZXIgZGVwZW5kZW5jaWVzLgorCisgICAg
ICAgIFVuZm9ydHVuYXRlbHksIHRoZSBsZWdhY3kgYnVpbGQgc3lzdGVtIHdpbGwgcmVmdXNlIHRv
IGV4ZWN1dGUgYSBzY3JpcHQgcGhhc2Ugb3IgcnVsZSB0aGF0CisgICAgICAgIGVtaXRzIGEgZGVw
ZmlsZS4gVG8gd29yayBhcm91bmQgdGhpcywgY29udmVydCB0aGUgb2ZmbGluZWFzbSBwaXBlbGlu
ZSB0byBiZSBiYXNlZCBvbiBidWlsZAorICAgICAgICBydWxlcywgdG8gYmUgdXNlZCBieSBYQ0J1
aWxkIG9ubHkuIFRoZSBpZGVhIGlzIHRoYXQgTG93TGV2ZWxJbnRlcnByZXRlci5hc20gaXMgbGlz
dGVkIGFzIGEKKyAgICAgICAgc291cmNlIGJ1aWxkIGZpbGUgaW4gSlNDTExJbnRTZXR0aW5nc0V4
dHJhY3RvciwgSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9yLCBhbmQKKyAgICAgICAgSmF2YVNjcmlw
dENvcmUuIEVhY2ggdGFyZ2V0IHVzZXMgYSBidWlsZCBydWxlIHRvIGdlbmVyYXRlIGl0cyByZXNw
ZWN0aXZlIGhlYWRlciBmcm9tCisgICAgICAgIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtLiBYY29k
ZSBzY2hlZHVsZXMgdGhlc2UgcnVsZSBleGVjdXRpb25zIGJlZm9yZSBhbnkgY2xhbmcgdGFza3Mu
CisKKyAgICAgICAgVGhlIGxlZ2FjeSBidWlsZCBzeXN0ZW0gYXZvaWRzIGV4ZWN1dGluZyB0aGUg
cnVsZXMgdmlhIEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTLCBhbmQKKyAgICAgICAgaW5zdGVh
ZCB1c2VzIHRoZSBleGlzdGluZyBidWlsZCBwaGFzZXMsIHdoaWNoIGhhdmUgIihMZWdhY3kpIiBp
biB0aGVpciBuYW1lcyBhbmQgYXJlIG5vdworICAgICAgICBuby1vcHMgdW5kZXIgWENCdWlsZC4K
KworICAgICAgICBBc2lkZSBmcm9tIHdvcmtpbmcgYXJvdW5kIHRoZSBsZWdhY3kgYnVpbGQgc3lz
dGVtJ3MgbGltaXRhdGlvbnMsIHVzaW5nIGJ1aWxkIHJ1bGVzIGlzCisgICAgICAgIHByb2JhYmx5
IGEgc3VwZXJpb3Igd2F5IHRvIGV4cHJlc3Mgd2hhdCB3ZSdyZSBkb2luZywgYXMgaXQgZ2l2ZXMg
WGNvZGUgdGhlIG9wcG9ydHVuaXR5IHRvCisgICAgICAgIGNvbXBpbGUgb3RoZXIgb2JqZWN0cyBp
biBwYXJhbGxlbCwgYW5kIGNvdWxkIGJlIGVhc2lseSBleHRlbmRlZCB0byBjb21waWxlIG11bHRp
cGxlIGRpc2NyZXRlCisgICAgICAgIGFzbSBmaWxlcyBzaG91bGQgdGhlIG5lZWQgYXJpc2UuCisK
KyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9Ub29sRXhlY3V0YWJsZS54Y2NvbmZpZzogQnVpbGQg
cnVsZXMgYXJlIFhDQnVpbGQtb25seS4KKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgYnVpbGQgcnVsZXMsIHJlbmFtZSBsZWdhY3kgc2NyaXB0
cy4KKyAgICAgICAgKiBvZmZsaW5lYXNtL2FzbS5yYjogQWRkIC0tZGVwZmlsZSBmbGFnLgorICAg
ICAgICAqIG9mZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYjogQWRkIC0tZGVw
ZmlsZSBmbGFnLgorICAgICAgICAqIG9mZmxpbmVhc20vZ2VuZXJhdGVfc2V0dGluZ3NfZXh0cmFj
dG9yLnJiOiBBZGQgLS1kZXBmaWxlIGZsYWcuCisKIDIwMjItMDItMjQgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIE9ubHkgY2xlYXIgSUNVIGNhY2hl
IHdoZW4gdGltZSB6b25lIGlzIGNoYW5nZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9Db25maWd1cmF0aW9ucy9KYXZhU2NyaXB0Q29yZS54Y2NvbmZpZyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9KYXZhU2NyaXB0Q29yZS54Y2NvbmZpZwppbmRleCA2
MTJhZTA2YzcxZDkuLjA0NjhlMGU3Y2RjYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NvbmZpZ3VyYXRpb25zL0phdmFTY3JpcHRDb3JlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9KYXZhU2NyaXB0Q29yZS54Y2NvbmZpZwpAQCAt
NjEsNCArNjEsNyBAQCBPVVRQVVRfQUxURVJOQVRFX1JPT1RfUEFUSF9ZRVMgPSAkKERTVFJPT1Qp
JChBTFRFUk5BVEVfUk9PVF9QQVRIKS8kKEZVTExfUFJPRFVDVAogSU5TVEFMTEhEUlNfU0NSSVBU
X1BIQVNFID0gWUVTOwogQVBQTFlfUlVMRVNfSU5fQ09QWV9IRUFERVJTID0gJChXS19VU0VfTkVX
X0JVSUxEX1NZU1RFTSk7CiAKK0VYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTID0gJChpbmhlcml0
ZWQpICQoRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNfJChXS19XSElDSF9CVUlMRF9TWVNURU0p
KTsKIEVYQ0xVREVEX1NPVVJDRV9GSUxFX05BTUVTW3Nkaz1pcGhvbmUqXSA9ICQoaW5oZXJpdGVk
KSBmcmFtZXdvcmsuc2I7CisvLyBPZmZzZXQgYW5kIHNldHRpbmdzIGhlYWRlcnMgYXJlIGJ1aWx0
IGJ5IHNlcGFyYXRlIHRhcmdldHMgYW5kIHNjcmlwdCBwaGFzZXMgaW4gdGhlIGxlZ2FjeSBidWls
ZCBzeXN0ZW0sIG5vdCB1c2luZyBidWlsZCBydWxlcy4KK0VYQ0xVREVEX1NPVVJDRV9GSUxFX05B
TUVTX2xlZ2FjeSA9ICouYXNtOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL1Rvb2xFeGVjdXRhYmxlLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NvbmZpZ3VyYXRpb25zL1Rvb2xFeGVjdXRhYmxlLnhjY29uZmlnCmluZGV4IGVjYzc3MDFi
MzlmOS4uMjlkYzMwM2NmOWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29u
ZmlndXJhdGlvbnMvVG9vbEV4ZWN1dGFibGUueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NvbmZpZ3VyYXRpb25zL1Rvb2xFeGVjdXRhYmxlLnhjY29uZmlnCkBAIC01NCw2ICs1
NCwxMiBAQCBDTEFOR19FTkFCTEVfT0JKQ19BUkMgPSBZRVM7CiBPVEhFUl9DRkxBR1MgPSAkKGlu
aGVyaXRlZCkgLWlzeXN0ZW0gaWN1OwogCiAvLyBFeHBsaWNpdGx5IGFkZCB0aGUgUHJpdmF0ZUhl
YWRlcnMgZGlyZWN0b3J5IHRvIHRoZSBzZWFyY2ggcGF0aCBzbyB0aGF0IGdlbmVyYXRlZCBoZWFk
ZXIgZmlsZXMgY2FuIGJlIGZvdW5kIGluIHByb2R1Y3Rpb24gYnVpbGRzLgotSEVBREVSX1NFQVJD
SF9QQVRIUyA9ICIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlw
dENvcmUiICIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRzLyR7QVJDSFN9IiAiJChK
QVZBU0NSSVBUQ09SRV9GUkFNRVdPUktTX0RJUikvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1By
aXZhdGVIZWFkZXJzIiAkKGluaGVyaXRlZCk7CitIRUFERVJfU0VBUkNIX1BBVEhTID0gIiR7QlVJ
TFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZSIgJChIRUFERVJf
U0VBUkNIX1BBVEhTXyQoV0tfV0hJQ0hfQlVJTERfU1lTVEVNKSkgIiQoSkFWQVNDUklQVENPUkVf
RlJBTUVXT1JLU19ESVIpL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9Qcml2YXRlSGVhZGVycyIg
JChpbmhlcml0ZWQpOworLy8gWENCdWlsZCBnZW5lcmF0ZXMgTExJbnRPZmZzZXRzIGluIFRBUkdF
VF9URU1QX0RJUiwgd2hpY2ggZG9lcyBub3QgbmVlZCB0byBiZSBtYW51YWxseSBzcGVjaWZlZC4K
K0hFQURFUl9TRUFSQ0hfUEFUSFNfbGVnYWN5ID0gIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTElu
dE9mZnNldHMvJHtBUkNIU30iOworCitFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FUyA9ICQoRVhD
TFVERURfU09VUkNFX0ZJTEVfTkFNRVNfJChXS19XSElDSF9CVUlMRF9TWVNURU0pKTsKKy8vIE9m
ZnNldCBhbmQgc2V0dGluZ3MgaGVhZGVycyBhcmUgYnVpbHQgYnkgc2VwYXJhdGUgdGFyZ2V0cyBh
bmQgc2NyaXB0IHBoYXNlcyBpbiB0aGUgbGVnYWN5IGJ1aWxkIHN5c3RlbSwgbm90IHVzaW5nIGJ1
aWxkIHJ1bGVzLgorRVhDTFVERURfU09VUkNFX0ZJTEVfTkFNRVNfbGVnYWN5ID0gKi5hc207CiAK
IE9USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkgJChTT1VSQ0VfVkVSU0lPTl9MREZMQUdTKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNTE5NDM4NzllODI1Li5mZTdkNTQwZTIy
OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zLDMyICszLDMyIEBACiAJYXJj
aGl2ZVZlcnNpb24gPSAxOwogCWNsYXNzZXMgPSB7CiAJfTsKLQlvYmplY3RWZXJzaW9uID0gNTE7
CisJb2JqZWN0VmVyc2lvbiA9IDUyOwogCW9iamVjdHMgPSB7CiAKIC8qIEJlZ2luIFBCWEFnZ3Jl
Z2F0ZVRhcmdldCBzZWN0aW9uICovCi0JCTBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiBMTElu
dCBPZmZzZXRzICovID0geworCQkwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogKExlZ2FjeSkg
TExJbnQgT2Zmc2V0cyAqLyA9IHsKIAkJCWlzYSA9IFBCWEFnZ3JlZ2F0ZVRhcmdldDsKLQkJCWJ1
aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAwRjQ2ODBBQzE0QkE3RkQ5MDBCRkUyNzIgLyogQnVpbGQg
Y29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIkxMSW50IE9mZnNldHMi
ICovOworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDBGNDY4MEFDMTRCQTdGRDkwMEJGRTI3
MiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiKExl
Z2FjeSkgTExJbnQgT2Zmc2V0cyIgKi87CiAJCQlidWlsZFBoYXNlcyA9ICgKLQkJCQkwRjQ2ODBB
QTE0QkE3RkQ5MDBCRkUyNzIgLyogR2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzICovLAorCQkJCTBG
NDY4MEFBMTRCQTdGRDkwMEJGRTI3MiAvKiAoTGVnYWN5KSBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJj
ZXMgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAogCQkJCTE0QkQ2ODk5MjE1MTkxNkQw
MDUwREFGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJKTsKLQkJCW5hbWUgPSAiTExJ
bnQgT2Zmc2V0cyI7CisJCQluYW1lID0gIihMZWdhY3kpIExMSW50IE9mZnNldHMiOwogCQkJcHJv
ZHVjdE5hbWUgPSAiRGVyaXZlZCBTb3VyY2VzIjsKIAkJfTsKLQkJMTRCRDY4OEYyMTUxOTE0NTAw
NTBEQUZGIC8qIExMSW50IFNldHRpbmdzICovID0geworCQkxNEJENjg4RjIxNTE5MTQ1MDA1MERB
RkYgLyogKExlZ2FjeSkgTExJbnQgU2V0dGluZ3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhBZ2dyZWdh
dGVUYXJnZXQ7Ci0JCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTRCRDY4OTMyMTUxOTE0NTAw
NTBEQUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0
ICJMTEludCBTZXR0aW5ncyIgKi87CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTRCRDY4
OTMyMTUxOTE0NTAwNTBEQUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdn
cmVnYXRlVGFyZ2V0ICIoTGVnYWN5KSBMTEludCBTZXR0aW5ncyIgKi87CiAJCQlidWlsZFBoYXNl
cyA9ICgKLQkJCQkxNEJENjg5MjIxNTE5MTQ1MDA1MERBRkYgLyogR2VuZXJhdGUgRGVyaXZlZCBT
b3VyY2VzICovLAorCQkJCTE0QkQ2ODkyMjE1MTkxNDUwMDUwREFGRiAvKiAoTGVnYWN5KSBHZW5l
cmF0ZSBEZXJpdmVkIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJZGVwZW5kZW5jaWVzID0gKAogCQkJ
CTE0QkQ2ODkwMjE1MTkxNDUwMDUwREFGRiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAogCQkJ
KTsKLQkJCW5hbWUgPSAiTExJbnQgU2V0dGluZ3MiOworCQkJbmFtZSA9ICIoTGVnYWN5KSBMTElu
dCBTZXR0aW5ncyI7CiAJCQlwcm9kdWN0TmFtZSA9ICJEZXJpdmVkIFNvdXJjZXMiOwogCQl9Owog
CQk1MzI1QkRCRjIxREZGMkIxMDBBMERFRTEgLyogQXBwbHkgQ29uZmlndXJhdGlvbiB0byBYQ0Zp
bGVMaXN0cyAqLyA9IHsKQEAgLTczLDE4ICs3MywxOCBAQAogCQkJbmFtZSA9ICJUZXN0IFRvb2xz
IjsKIAkJCXByb2R1Y3ROYW1lID0gIlRlc3QgVG9vbHMiOwogCQl9OwotCQk2NTc4OEE5RDE4QjQw
OUVCMDBDMTg5RkYgLyogT2ZmbGluZSBBc3NlbWJsZXIgKi8gPSB7CisJCTY1Nzg4QTlEMThCNDA5
RUIwMEMxODlGRiAvKiAoTGVnYWN5KSBPZmZsaW5lIEFzc2VtYmxlciAqLyA9IHsKIAkJCWlzYSA9
IFBCWEFnZ3JlZ2F0ZVRhcmdldDsKLQkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSA2NTc4OEFB
MjE4QjQwOUVCMDBDMTg5RkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dy
ZWdhdGVUYXJnZXQgIk9mZmxpbmUgQXNzZW1ibGVyIiAqLzsKKwkJCWJ1aWxkQ29uZmlndXJhdGlv
bkxpc3QgPSA2NTc4OEFBMjE4QjQwOUVCMDBDMTg5RkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBs
aXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIihMZWdhY3kpIE9mZmxpbmUgQXNzZW1ibGVyIiAq
LzsKIAkJCWJ1aWxkUGhhc2VzID0gKAogCQkJCURERTk5MzBDMjc4RDA4M0QwMEY2MEQyNiAvKiBQ
cm9kdWN0IERlcGVuZGVuY2llcyAqLywKLQkJCQk2NTc4OEFBMDE4QjQwOUVCMDBDMTg5RkYgLyog
T2ZmbGluZSBBc3NlbWJsZSAqLywKKwkJCQk2NTc4OEFBMDE4QjQwOUVCMDBDMTg5RkYgLyogKExl
Z2FjeSkgT2ZmbGluZSBBc3NlbWJsZSAqLywKIAkJCSk7CiAJCQlkZXBlbmRlbmNpZXMgPSAoCiAJ
CQkJNjUyNDRCRDMxOEVDQjUwMDAwMTBCNzA4IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCiAJ
CQkJNjU3ODhBOUUxOEI0MDlFQjAwQzE4OUZGIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCiAJ
CQkpOwotCQkJbmFtZSA9ICJPZmZsaW5lIEFzc2VtYmxlciI7CisJCQluYW1lID0gIihMZWdhY3kp
IE9mZmxpbmUgQXNzZW1ibGVyIjsKIAkJCXByb2R1Y3ROYW1lID0gIk9mZmxpbmUgQXNzZW1ibGVy
IjsKIAkJfTsKIAkJNjVGQjNGNjYwOUQxMUU5MTAwRjQ5REVCIC8qIERlcml2ZWQgU291cmNlcyAq
LyA9IHsKQEAgLTE4MjgsNiArMTgyOCw5IEBACiAJCURDRjNENTZEMUNEMjk0NzYwMDNENUM2NSAv
KiBMYXp5UHJvcGVydHlJbmxpbmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBEQ0YzRDU2ODFDRDI5NDY4MDAzRDVDNjUgLyogTGF6eVByb3BlcnR5SW5s
aW5lcy5oICovOyB9OwogCQlEQ0ZERkJEOTFEMUY1RDlCMDBGRTNENzIgLyogQjNCb3R0b21Qcm92
aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRENG
REZCRDcxRDFGNUQ5ODAwRkUzRDcyIC8qIEIzQm90dG9tUHJvdmlkZXIuaCAqLzsgfTsKIAkJRENG
REZCREExRDFGNUQ5RTAwRkUzRDcyIC8qIEIzVHlwZU1hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRENGREZCRDgxRDFGNUQ5ODAwRkUzRDcyIC8qIEIz
VHlwZU1hcC5oICovOyB9OworCQlERDQxRkE4NjI3Q0RBRDMyMDAzOTREOTUgLyogTG93TGV2ZWxJ
bnRlcnByZXRlci5hc20gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NkEwNTQ0NjE1NTY0NTFCMDA0NDUxNTcgLyogTG93TGV2ZWxJbnRlcnByZXRlci5hc20g
Ki87IH07CisJCURENDFGQTg3MjdDREFENDMwMDM5NEQ5NSAvKiBMb3dMZXZlbEludGVycHJldGVy
LmFzbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2QTA1
NDQ2MTU1NjQ1MUIwMDQ0NTE1NyAvKiBMb3dMZXZlbEludGVycHJldGVyLmFzbSAqLzsgfTsKKwkJ
REQ0MUZBODkyN0NERERFRjAwMzk0RDk1IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZBMDU0NDYxNTU2NDUx
QjAwNDQ1MTU3IC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtICovOyB9OwogCQlEREIwNEY0MTI3
OEU1NjlBMDA4RDM2NzggLyogbGliV1RGLmEgaW4gUHJvZHVjdCBEZXBlbmRlbmNpZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQ5OENBRDMyMTQ2NTZDNDAwNzEwODc5IC8q
IGxpYldURi5hICovOyB9OwogCQlEREIwNEY0MjI3OEU1NkEyMDA4RDM2NzggLyogbGliV1RGLmEg
aW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDk4Q0FE
MzIxNDY1NkM0MDA3MTA4NzkgLyogbGliV1RGLmEgKi87IH07CiAJCURERTk5MzEwMjc4RDA4N0Qw
MEY2MEQyNiAvKiBsaWJXZWJLaXRBZGRpdGlvbnMuYSBpbiBQcm9kdWN0IERlcGVuZGVuY2llcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEREU5OTMwRTI3OEQwODY2MDBGNjBE
MjYgLyogbGliV2ViS2l0QWRkaXRpb25zLmEgKi87IH07CkBAIC0yMTU3LDYgKzIxNjAsNTYgQEAK
IAkJCSk7CiAJCQlzY3JpcHQgPSAiZXhlYyBcIiR7U1JDUk9PVH0vU2NyaXB0cy9wb3N0cHJvY2Vz
cy1oZWFkZXItcnVsZVwiXG4iOwogCQl9OworCQlERDQxRkE3RDI3Q0RBNkZFMDAzOTREOTUgLyog
UEJYQnVpbGRSdWxlICovID0geworCQkJaXNhID0gUEJYQnVpbGRSdWxlOworCQkJY29tcGlsZXJT
cGVjID0gY29tLmFwcGxlLmNvbXBpbGVycy5wcm94eS5zY3JpcHQ7CisJCQlkZXBlbmRlbmN5Rmls
ZSA9ICIkKFRBUkdFVF9URU1QX0RJUikvJChJTlBVVF9GSUxFX0JBU0UpLmQiOworCQkJZmlsZVBh
dHRlcm5zID0gIiouYXNtIjsKKwkJCWZpbGVUeXBlID0gcGF0dGVybi5wcm94eTsKKwkJCWlucHV0
RmlsZXMgPSAoCisJCQkJIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9KU0NMTEludE9mZnNldHNFeHRy
YWN0b3IiLAorCQkJCSIkKFNSQ1JPT1QpL29mZmxpbmVhc20iLAorCQkJKTsKKwkJCWlzRWRpdGFi
bGUgPSAxOworCQkJb3V0cHV0RmlsZXMgPSAoCisJCQkJIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZS9MTEludEFzc2VtYmx5LmgiLAorCQkJKTsKKwkJ
CXJ1bk9uY2VQZXJBcmNoaXRlY3R1cmUgPSAwOworCQkJc2NyaXB0ID0gIk9GRkxJTkVBU01fQVJH
Uz1cIlwiXG5pZiBbWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIllFU1wiIF1dOyB0
aGVuXG4gICAgT0ZGTElORUFTTV9BUkdTPVwiJHtPRkZMSU5FQVNNX0FSR1N9IC0td2Via2l0LWFk
ZGl0aW9ucy1wYXRoPSR7V0tfV0VCS0lUQURESVRJT05TX0hFQURFUlNfRk9MREVSX1BBVEh9XCJc
bmZpXG5cbmNkIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3Jp
cHRDb3JlXCJcblxuL3Vzci9iaW4vZW52IHJ1YnkgSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9h
c20ucmIgXCItSSR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0
Q29yZVwiIFwiJHtJTlBVVF9GSUxFX1BBVEh9XCIgXCIke1NDUklQVF9JTlBVVF9GSUxFXzB9XCIg
XCIke1NDUklQVF9PVVRQVVRfRklMRV8wfVwiIFwiJHtCVUlMRF9WQVJJQU5UU31cIiAke09GRkxJ
TkVBU01fQVJHU30gLS1kZXBmaWxlPVwiJHtUQVJHRVRfVEVNUF9ESVJ9LyR7SU5QVVRfRklMRV9C
QVNFfS5kXCJcbiI7CisJCX07CisJCURENDFGQTdFMjdDREE4OUQwMDM5NEQ5NSAvKiBQQlhCdWls
ZFJ1bGUgKi8gPSB7CisJCQlpc2EgPSBQQlhCdWlsZFJ1bGU7CisJCQljb21waWxlclNwZWMgPSBj
b20uYXBwbGUuY29tcGlsZXJzLnByb3h5LnNjcmlwdDsKKwkJCWRlcGVuZGVuY3lGaWxlID0gIiQo
VEFSR0VUX1RFTVBfRElSKS8kKElOUFVUX0ZJTEVfQkFTRSkuZCI7CisJCQlmaWxlUGF0dGVybnMg
PSAiKi5hc20iOworCQkJZmlsZVR5cGUgPSBwYXR0ZXJuLnByb3h5OworCQkJaW5wdXRGaWxlcyA9
ICgKKwkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL0pTQ0xMSW50U2V0dGluZ3NFeHRyYWN0b3Ii
LAorCQkJCSIkKFNSQ1JPT1QpL29mZmxpbmVhc20iLAorCQkJKTsKKwkJCWlzRWRpdGFibGUgPSAx
OworCQkJb3V0cHV0RmlsZXMgPSAoCisJCQkJIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9MTEludE9m
ZnNldHMvJChBUkNIUykvTExJbnREZXNpcmVkT2Zmc2V0cy5oIiwKKwkJCSk7CisJCQlydW5PbmNl
UGVyQXJjaGl0ZWN0dXJlID0gMDsKKwkJCXNjcmlwdCA9ICJzZXQgLWVcblxuT0ZGTElORUFTTV9B
UkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwiWUVTXCIgXV07
IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJTkVBU01fQVJHU30gLS13ZWJraXQt
YWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNfSEVBREVSU19GT0xERVJfUEFUSH1c
IlxuZmlcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke1NSQ1JPT1R9L29mZmxpbmVhc20vZ2VuZXJh
dGVfb2Zmc2V0X2V4dHJhY3Rvci5yYlwiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZl
ZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBcIiR7SU5QVVRfRklMRV9QQVRIfVwiICBcIiR7QlVJ
TFRfUFJPRFVDVFNfRElSfS9KU0NMTEludFNldHRpbmdzRXh0cmFjdG9yXCIgXCIke1NDUklQVF9P
VVRQVVRfRklMRV8wfVwiIFwiJHtBUkNIU30gQ19MT09QXCIgXCIke0JVSUxEX1ZBUklBTlRTfVwi
ICR7T0ZGTElORUFTTV9BUkdTfSAtLWRlcGZpbGU9XCIke1RBUkdFVF9URU1QX0RJUn0vJHtJTlBV
VF9GSUxFX0JBU0V9LmRcIlxuXG4iOworCQl9OworCQlERDQxRkE4MTI3Q0RBQTU0MDAzOTREOTUg
LyogUEJYQnVpbGRSdWxlICovID0geworCQkJaXNhID0gUEJYQnVpbGRSdWxlOworCQkJY29tcGls
ZXJTcGVjID0gY29tLmFwcGxlLmNvbXBpbGVycy5wcm94eS5zY3JpcHQ7CisJCQlkZXBlbmRlbmN5
RmlsZSA9ICIkKFRBUkdFVF9URU1QX0RJUikvJChJTlBVVF9GSUxFX0JBU0UpLmQiOworCQkJZmls
ZVBhdHRlcm5zID0gIiouYXNtIjsKKwkJCWZpbGVUeXBlID0gcGF0dGVybi5wcm94eTsKKwkJCWlu
cHV0RmlsZXMgPSAoCisJCQkJIiQoU1JDUk9PVCkvb2ZmbGluZWFzbSIsCisJCQkpOworCQkJaXNF
ZGl0YWJsZSA9IDE7CisJCQlvdXRwdXRGaWxlcyA9ICgKKwkJCQkiJChCVUlMVF9QUk9EVUNUU19E
SVIpL0xMSW50T2Zmc2V0cy8kKEFSQ0hTKS9MTEludERlc2lyZWRTZXR0aW5ncy5oIiwKKwkJCSk7
CisJCQlydW5PbmNlUGVyQXJjaGl0ZWN0dXJlID0gMDsKKwkJCXNjcmlwdCA9ICJzZXQgLWVcblxu
T0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09
IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJTkVBU01fQVJH
U30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNfSEVBREVSU19G
T0xERVJfUEFUSH1cIlxuZmlcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke1NSQ1JPT1R9L29mZmxp
bmVhc20vZ2VuZXJhdGVfc2V0dGluZ3NfZXh0cmFjdG9yLnJiXCIgXCItSSR7QlVJTFRfUFJPRFVD
VFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwiIFwiJHtJTlBVVF9GSUxFX1BB
VEh9XCIgXCIke1NDUklQVF9PVVRQVVRfRklMRV8wfVwiIFwiJHtBUkNIU30gQ19MT09QXCIgJHtP
RkZMSU5FQVNNX0FSR1N9IC0tZGVwZmlsZT1cIiR7VEFSR0VUX1RFTVBfRElSfS8ke0lOUFVUX0ZJ
TEVfQkFTRX0uZFwiXG4iOworCQl9OwogLyogRW5kIFBCWEJ1aWxkUnVsZSBzZWN0aW9uICovCiAK
IC8qIEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCkBAIC0yMzcwLDEzICsy
NDIzLDYgQEAKIAkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gNjVGQjNGNjYwOUQxMUU5MTAwRjQ5
REVCOwogCQkJcmVtb3RlSW5mbyA9ICJEZXJpdmVkIFNvdXJjZXMiOwogCQl9OwotCQk2NTc4OEFB
QzE4QjQwQTdCMDBDMTg5RkYgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0gewotCQkJaXNh
ID0gUEJYQ29udGFpbmVySXRlbVByb3h5OwotCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBG
RTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOwotCQkJcHJveHlUeXBlID0gMTsK
LQkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gNjU3ODhBOUQxOEI0MDlFQjAwQzE4OUZGOwotCQkJ
cmVtb3RlSW5mbyA9ICJPZmZsaW5lIEFzc2VtYmxlciI7Ci0JCX07CiAJCTY1RkIzRjdEMDlEMTFF
RjMwMEY0OURFQiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CiAJCQlpc2EgPSBQQlhD
b250YWluZXJJdGVtUHJveHk7CiAJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhG
QzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CkBAIC0yMzk4LDYgKzI0NDQsMTMgQEAKIAkJ
CXJlbW90ZUdsb2JhbElEU3RyaW5nID0gOTMyRjVCM0UwODIyQTFDNzAwNzM2OTc1OwogCQkJcmVt
b3RlSW5mbyA9ICJKYXZhU2NyaXB0Q29yZSAoVXBncmFkZWQpIjsKIAkJfTsKKwkJREQ0MUZBOEEy
N0NERTFDNDAwMzk0RDk1IC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9
IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4
NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJ
CQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDY1Nzg4QTlEMThCNDA5RUIwMEMxODlGRjsKKwkJCXJl
bW90ZUluZm8gPSAiKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJsZXIiOworCQl9OwogCQlGRTUzM0NB
RTFGMjE3RUM2MDAxNkExRkUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0gewogCQkJaXNh
ID0gUEJYQ29udGFpbmVySXRlbVByb3h5OwogCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBG
RTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOwpAQCAtMTE0MTMsNiArMTE0NjYs
NyBAQAogCQkJCTBGRjkyMkM2MTRGNDZCMTMwMDQxQTI0RSAvKiBGcmFtZXdvcmtzICovLAogCQkJ
KTsKIAkJCWJ1aWxkUnVsZXMgPSAoCisJCQkJREQ0MUZBN0UyN0NEQTg5RDAwMzk0RDk1IC8qIFBC
WEJ1aWxkUnVsZSAqLywKIAkJCSk7CiAJCQlkZXBlbmRlbmNpZXMgPSAoCiAJCQkJMTRDRkIxMDky
MzAzNUYxMzAwRjAwNDhDIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCkBAIC0xMTQ3MSw2ICsx
MTUyNSw3IEBACiAJCQkJMTRCRDY4ODgyMTUxOTEzMTAwNTBEQUZGIC8qIEZyYW1ld29ya3MgKi8s
CiAJCQkpOwogCQkJYnVpbGRSdWxlcyA9ICgKKwkJCQlERDQxRkE4MTI3Q0RBQTU0MDAzOTREOTUg
LyogUEJYQnVpbGRSdWxlICovLAogCQkJKTsKIAkJCWRlcGVuZGVuY2llcyA9ICgKIAkJCQkxNENG
QjEwNzIzMDM1RjBGMDBGMDA0OEMgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKQEAgLTExNTU0
LDEwICsxMTYwOSwxMSBAQAogCQkJCTY1NzdGRkM2Mjc2QUM4RDIwMDExQUVDOCAvKiBDcmVhdGUg
U3ltbGluayB0byBBbHQgUm9vdCBQYXRoICovLAogCQkJKTsKIAkJCWJ1aWxkUnVsZXMgPSAoCisJ
CQkJREQ0MUZBN0QyN0NEQTZGRTAwMzk0RDk1IC8qIFBCWEJ1aWxkUnVsZSAqLywKIAkJCQk1MzVF
MDhDMjIyNTQ1QUM4MDBERjAwQ0EgLyogUEJYQnVpbGRSdWxlICovLAogCQkJKTsKIAkJCWRlcGVu
ZGVuY2llcyA9ICgKLQkJCQk2NTc4OEFBRDE4QjQwQTdCMDBDMTg5RkYgLyogUEJYVGFyZ2V0RGVw
ZW5kZW5jeSAqLywKKwkJCQlERDQxRkE4QjI3Q0RFMUM0MDAzOTREOTUgLyogUEJYVGFyZ2V0RGVw
ZW5kZW5jeSAqLywKIAkJCQk2NUZCM0Y3RTA5RDExRUYzMDBGNDlERUIgLyogUEJYVGFyZ2V0RGVw
ZW5kZW5jeSAqLywKIAkJCQk1M0I0QkQxNDFGNjhDMkFBMDBEMkJFQTMgLyogUEJYVGFyZ2V0RGVw
ZW5kZW5jeSAqLywKIAkJCSk7CkBAIC0xMTYzNiwxMSArMTE2OTIsMTEgQEAKIAkJCQk5MzJGNUJF
MzA4MjJBMUM3MDA3MzY5NzUgLyogQWxsICovLAogCQkJCTkzMkY1QjNFMDgyMkExQzcwMDczNjk3
NSAvKiBKYXZhU2NyaXB0Q29yZSAqLywKIAkJCQk2NUZCM0Y2NjA5RDExRTkxMDBGNDlERUIgLyog
RGVyaXZlZCBTb3VyY2VzICovLAotCQkJCTE0QkQ2ODhGMjE1MTkxNDUwMDUwREFGRiAvKiBMTElu
dCBTZXR0aW5ncyAqLywKKwkJCQkxNEJENjg4RjIxNTE5MTQ1MDA1MERBRkYgLyogKExlZ2FjeSkg
TExJbnQgU2V0dGluZ3MgKi8sCiAJCQkJMTRCRDY4ODEyMTUxOTEzMTAwNTBEQUZGIC8qIEpTQ0xM
SW50U2V0dGluZ3NFeHRyYWN0b3IgKi8sCi0JCQkJMEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8q
IExMSW50IE9mZnNldHMgKi8sCisJCQkJMEY0NjgwQTkxNEJBN0ZEOTAwQkZFMjcyIC8qIChMZWdh
Y3kpIExMSW50IE9mZnNldHMgKi8sCiAJCQkJMEZGOTIyQzMxNEY0NkIxMzAwNDFBMjRFIC8qIEpT
Q0xMSW50T2Zmc2V0c0V4dHJhY3RvciAqLywKLQkJCQk2NTc4OEE5RDE4QjQwOUVCMDBDMTg5RkYg
LyogT2ZmbGluZSBBc3NlbWJsZXIgKi8sCisJCQkJNjU3ODhBOUQxOEI0MDlFQjAwQzE4OUZGIC8q
IChMZWdhY3kpIE9mZmxpbmUgQXNzZW1ibGVyICovLAogCQkJCTUzQjRCRDA0MUY2OEFGODkwMEQy
QkVBMyAvKiBHZW5lcmF0ZSBVbmlmaWVkIFNvdXJjZXMgKi8sCiAJCQkJRTFBQzJFMjcyMEY3Qjk0
QzAwQjA4OTdEIC8qIFVubG9jayBLZXljaGFpbiAqLywKIAkJCQkxNDEyMTExRjBBNDg3OTNDMDA0
ODAyNTUgLyogbWluaWRvbSAqLywKQEAgLTExNjcxLDMzICsxMTcyNywzMyBAQAogLyogRW5kIFBC
WFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhTaGVsbFNjcmlw
dEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLwotCQkwRjQ2ODBBQTE0QkE3RkQ5MDBCRkUyNzIgLyogR2Vu
ZXJhdGUgRGVyaXZlZCBTb3VyY2VzICovID0geworCQkwRjQ2ODBBQTE0QkE3RkQ5MDBCRkUyNzIg
LyogKExlZ2FjeSkgR2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzICovID0gewogCQkJaXNhID0gUEJY
U2hlbGxTY3JpcHRCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
IAkJCWZpbGVzID0gKAogCQkJKTsKIAkJCWlucHV0UGF0aHMgPSAoCiAJCQkpOwotCQkJbmFtZSA9
ICJHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMiOworCQkJbmFtZSA9ICIoTGVnYWN5KSBHZW5lcmF0
ZSBEZXJpdmVkIFNvdXJjZXMiOwogCQkJb3V0cHV0UGF0aHMgPSAoCiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3No
OwotCQkJc2hlbGxTY3JpcHQgPSAic2V0IC1lXG5cbk9GRkxJTkVBU01fQVJHUz1cIlwiXG5pZiBb
WyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIllFU1wiIF1dOyB0aGVuXG4gICAgT0ZG
TElORUFTTV9BUkdTPVwiJHtPRkZMSU5FQVNNX0FSR1N9IC0td2Via2l0LWFkZGl0aW9ucy1wYXRo
PSR7V0tfV0VCS0lUQURESVRJT05TX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmZpXG5cbm1rZGly
IC1wIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy8ke0FSQ0hTfVwiXG5cbi91
c3IvYmluL2VudiBydWJ5IFwiJHtTUkNST09UfS9vZmZsaW5lYXNtL2dlbmVyYXRlX29mZnNldF9l
eHRyYWN0b3IucmJcIiBcIi1JJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0ph
dmFTY3JpcHRDb3JlXCIgXCIke1NSQ1JPT1R9L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
XCIgIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0pTQ0xMSW50U2V0dGluZ3NFeHRyYWN0b3JcIiBc
IiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9mZnNldHMvJHtBUkNIU30vTExJbnREZXNpcmVk
T2Zmc2V0cy5oXCIgXCIke0FSQ0hTfSBDX0xPT1BcIiBcIiR7QlVJTERfVkFSSUFOVFN9XCIgJHtP
RkZMSU5FQVNNX0FSR1N9XG4iOworCQkJc2hlbGxTY3JpcHQgPSAiWyBcIiR7V0tfVVNFX05FV19C
VUlMRF9TWVNURU19XCIgPSBcIllFU1wiIF0gJiYgZXhpdCAwXG5zZXQgLWVcblxuT0ZGTElORUFT
TV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwiWUVTXCIg
XV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJTkVBU01fQVJHU30gLS13ZWJr
aXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNfSEVBREVSU19GT0xERVJfUEFU
SH1cIlxuZmlcblxubWtkaXIgLXAgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZzZXRz
LyR7QVJDSFN9XCJcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke1NSQ1JPT1R9L29mZmxpbmVhc20v
Z2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYlwiIFwiLUkke0JVSUxUX1BST0RVQ1RTX0RJUn0v
RGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBcIiR7U1JDUk9PVH0vbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc21cIiAgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vSlNDTExJbnRTZXR0
aW5nc0V4dHJhY3RvclwiIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zmc2V0cy8ke0FS
Q0hTfS9MTEludERlc2lyZWRPZmZzZXRzLmhcIiBcIiR7QVJDSFN9IENfTE9PUFwiIFwiJHtCVUlM
RF9WQVJJQU5UU31cIiAke09GRkxJTkVBU01fQVJHU31cbiI7CiAJCX07Ci0JCTE0QkQ2ODkyMjE1
MTkxNDUwMDUwREFGRiAvKiBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7CisJCTE0QkQ2
ODkyMjE1MTkxNDUwMDUwREFGRiAvKiAoTGVnYWN5KSBHZW5lcmF0ZSBEZXJpdmVkIFNvdXJjZXMg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCiAJCQkpOwogCQkJaW5wdXRQYXRocyA9
ICgKIAkJCSk7Ci0JCQluYW1lID0gIkdlbmVyYXRlIERlcml2ZWQgU291cmNlcyI7CisJCQluYW1l
ID0gIihMZWdhY3kpIEdlbmVyYXRlIERlcml2ZWQgU291cmNlcyI7CiAJCQlvdXRwdXRQYXRocyA9
ICgKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
CXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICJzZXQgLWVcblxuT0ZGTElO
RUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwiWUVT
XCIgXV07IHRoZW5cbiAgICBPRkZMSU5FQVNNX0FSR1M9XCIke09GRkxJTkVBU01fQVJHU30gLS13
ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtXS19XRUJLSVRBRERJVElPTlNfSEVBREVSU19GT0xERVJf
UEFUSH1cIlxuZmlcblxubWtkaXIgLXAgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRPZmZz
ZXRzLyR7QVJDSFN9XCJcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke1NSQ1JPT1R9L29mZmxpbmVh
c20vZ2VuZXJhdGVfc2V0dGluZ3NfZXh0cmFjdG9yLnJiXCIgXCItSSR7QlVJTFRfUFJPRFVDVFNf
RElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwiIFwiJHtTUkNST09UfS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbVwiIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0xMSW50T2Zm
c2V0cy8ke0FSQ0hTfS9MTEludERlc2lyZWRTZXR0aW5ncy5oXCIgXCIke0FSQ0hTfSBDX0xPT1Bc
IiAke09GRkxJTkVBU01fQVJHU31cbiI7CisJCQlzaGVsbFNjcmlwdCA9ICJbIFwiJHtXS19VU0Vf
TkVXX0JVSUxEX1NZU1RFTX1cIiA9IFwiWUVTXCIgXSAmJiBleGl0IDBcbnNldCAtZVxuXG5PRkZM
SU5FQVNNX0FSR1M9XCJcIlxuaWYgW1sgXCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZ
RVNcIiBdXTsgdGhlblxuICAgIE9GRkxJTkVBU01fQVJHUz1cIiR7T0ZGTElORUFTTV9BUkdTfSAt
LXdlYmtpdC1hZGRpdGlvbnMtcGF0aD0ke1dLX1dFQktJVEFERElUSU9OU19IRUFERVJTX0ZPTERF
Ul9QQVRIfVwiXG5maVxuXG5ta2RpciAtcCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9MTEludE9m
ZnNldHMvJHtBUkNIU31cIlxuXG4vdXNyL2Jpbi9lbnYgcnVieSBcIiR7U1JDUk9PVH0vb2ZmbGlu
ZWFzbS9nZW5lcmF0ZV9zZXR0aW5nc19leHRyYWN0b3IucmJcIiBcIi1JJHtCVUlMVF9QUk9EVUNU
U19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIgXCIke1NSQ1JPT1R9L2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtXCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vTExJbnRP
ZmZzZXRzLyR7QVJDSFN9L0xMSW50RGVzaXJlZFNldHRpbmdzLmhcIiBcIiR7QVJDSFN9IENfTE9P
UFwiICR7T0ZGTElORUFTTV9BUkdTfVxuIjsKIAkJfTsKIAkJMUEwMkQ5QTgxQjM0QTg4MjAwMEQx
NTIyIC8qIEFkZCBTeW1saW5rIGluIC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3JrcyAq
LyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKQEAgLTExOTM2LDE5ICsx
MTk5MiwxOSBAQAogCQkJc2hlbGxQYXRoID0gL2Jpbi96c2g7CiAJCQlzaGVsbFNjcmlwdCA9ICJc
IiR7U1JDUk9PVH0vU2NyaXB0cy9jcmVhdGUtc3ltbGluay10by1hbHRyb290LnNoXCJcbiI7CiAJ
CX07Ci0JCTY1Nzg4QUEwMThCNDA5RUIwMEMxODlGRiAvKiBPZmZsaW5lIEFzc2VtYmxlICovID0g
eworCQk2NTc4OEFBMDE4QjQwOUVCMDBDMTg5RkYgLyogKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJs
ZSAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0
aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKIAkJCSk7CiAJCQlpbnB1dFBhdGhz
ID0gKAogCQkJKTsKLQkJCW5hbWUgPSAiT2ZmbGluZSBBc3NlbWJsZSI7CisJCQluYW1lID0gIihM
ZWdhY3kpIE9mZmxpbmUgQXNzZW1ibGUiOwogCQkJb3V0cHV0UGF0aHMgPSAoCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCQlzaGVsbFBhdGggPSAv
YmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAiaWYgW1sgXCIke0FDVElPTn1cIiA9PSBcImluc3Rh
bGxoZHJzXCIgXV07IHRoZW5cbiAgICBleGl0IDBcbmZpXG5cbk9GRkxJTkVBU01fQVJHUz1cIlwi
XG5pZiBbWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIllFU1wiIF1dOyB0aGVuXG4g
ICAgT0ZGTElORUFTTV9BUkdTPVwiJHtPRkZMSU5FQVNNX0FSR1N9IC0td2Via2l0LWFkZGl0aW9u
cy1wYXRoPSR7V0tfV0VCS0lUQURESVRJT05TX0hFQURFUlNfRk9MREVSX1BBVEh9XCJcbmZpXG5c
bmNkIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3Jl
XCJcblxuL3Vzci9iaW4vZW52IHJ1YnkgSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hc20ucmIg
XCItSSR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwi
IEphdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIFwiJHtCVUlMVF9Q
Uk9EVUNUU19ESVJ9L0pTQ0xMSW50T2Zmc2V0c0V4dHJhY3RvclwiIExMSW50QXNzZW1ibHkuaCBc
IiR7QlVJTERfVkFSSUFOVFN9XCIgJHtPRkZMSU5FQVNNX0FSR1N9IHx8IGV4aXQgMVxuIjsKKwkJ
CXNoZWxsU2NyaXB0ID0gIlsgXCIke1dLX1VTRV9ORVdfQlVJTERfU1lTVEVNfVwiID0gXCJZRVNc
IiBdICYmIGV4aXQgMFxuXG5pZiBbWyBcIiR7QUNUSU9OfVwiID09IFwiaW5zdGFsbGhkcnNcIiBd
XTsgdGhlblxuICAgIGV4aXQgMFxuZmlcblxuT0ZGTElORUFTTV9BUkdTPVwiXCJcbmlmIFtbIFwi
JHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwiWUVTXCIgXV07IHRoZW5cbiAgICBPRkZMSU5F
QVNNX0FSR1M9XCIke09GRkxJTkVBU01fQVJHU30gLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9JHtX
S19XRUJLSVRBRERJVElPTlNfSEVBREVSU19GT0xERVJfUEFUSH1cIlxuZmlcblxuY2QgXCIke0JV
SUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIlxuXG4vdXNy
L2Jpbi9lbnYgcnVieSBKYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2FzbS5yYiBcIi1JJHtCVUlM
VF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIgSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gXCIke0JVSUxUX1BST0RVQ1RTX0RJ
Un0vSlNDTExJbnRPZmZzZXRzRXh0cmFjdG9yXCIgTExJbnRBc3NlbWJseS5oIFwiJHtCVUlMRF9W
QVJJQU5UU31cIiAke09GRkxJTkVBU01fQVJHU30gfHwgZXhpdCAxXG4iOwogCQl9OwogCQk2NUZC
M0Y2NTA5RDExRTkxMDBGNDlERUIgLyogR2VuZXJhdGUgRGVyaXZlZCBTb3VyY2VzICovID0gewog
CQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwpAQCAtMTIwODAsNiArMTIxMzYsNyBA
QAogCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAy
MTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJREQ0MUZBODcyN0NEQUQ0MzAwMzk0RDk1IC8q
IExvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGOTIyRDQxNEY0
NkI0MTAwNDFBMjRFIC8qIExMSW50T2Zmc2V0c0V4dHJhY3Rvci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKQEAgLTEy
MTI3LDYgKzEyMTg0LDcgQEAKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVp
bGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAorCQkJCURENDFGQTg2MjdD
REFEMzIwMDM5NEQ5NSAvKiBMb3dMZXZlbEludGVycHJldGVyLmFzbSBpbiBTb3VyY2VzICovLAog
CQkJCTE0QkQ2ODlEMjE1MTkxQzEwMDUwREFGRiAvKiBMTEludFNldHRpbmdzRXh0cmFjdG9yLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwpAQCAtMTIyMjAsNiArMTIyNzgsNyBAQAogCQkJCTUzNkIzMTM0MUY3MUM1OTkw
MDM3RkMzMyAvKiBVbmlmaWVkU291cmNlNDAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMx
MzExRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2U0MS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1MzZCMzEzQjFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTQyLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCURENDFGQTg5MjdDRERERUYwMDM5NEQ5NSAvKiBMb3dMZXZlbEludGVy
cHJldGVyLmFzbSBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTNFMUY3MUM1OTkwMDM3RkMzMyAv
KiBVbmlmaWVkU291cmNlNDMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxNEMxRjcxQzU5
OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2U0NC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZC
MzE1MTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTQ1LmNwcCBpbiBTb3VyY2VzICov
LApAQCAtMTIzOTQsNyArMTI0NTMsNyBAQAogCQl9OwogCQkwRkY5MjJEMzE0RjQ2QjJGMDA0MUEy
NEUgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKIAkJCWlzYSA9IFBCWFRhcmdldERlcGVu
ZGVuY3k7Ci0JCQl0YXJnZXQgPSAwRjQ2ODBBOTE0QkE3RkQ5MDBCRkUyNzIgLyogTExJbnQgT2Zm
c2V0cyAqLzsKKwkJCXRhcmdldCA9IDBGNDY4MEE5MTRCQTdGRDkwMEJGRTI3MiAvKiAoTGVnYWN5
KSBMTEludCBPZmZzZXRzICovOwogCQkJdGFyZ2V0UHJveHkgPSAwRkY5MjJEMjE0RjQ2QjJGMDA0
MUEyNEUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOwogCQl9OwogCQkxNEJENjg4MjIxNTE5
MTMxMDA1MERBRkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKQEAgLTEyNDE0LDcgKzEy
NDczLDcgQEAKIAkJfTsKIAkJMTRCRDY4OUIyMTUxOTE3NDAwNTBEQUZGIC8qIFBCWFRhcmdldERl
cGVuZGVuY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OwotCQkJdGFyZ2V0
ID0gMTRCRDY4OEYyMTUxOTE0NTAwNTBEQUZGIC8qIExMSW50IFNldHRpbmdzICovOworCQkJdGFy
Z2V0ID0gMTRCRDY4OEYyMTUxOTE0NTAwNTBEQUZGIC8qIChMZWdhY3kpIExMSW50IFNldHRpbmdz
ICovOwogCQkJdGFyZ2V0UHJveHkgPSAxNEJENjg5QTIxNTE5MTc0MDA1MERBRkYgLyogUEJYQ29u
dGFpbmVySXRlbVByb3h5ICovOwogCQl9OwogCQkxNENGQjEwMDIzMDM1RUYzMDBGMDA0OEMgLyog
UEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKQEAgLTEyNTI3LDExICsxMjU4Niw2IEBACiAJCQl0
YXJnZXQgPSA2NUZCM0Y2NjA5RDExRTkxMDBGNDlERUIgLyogRGVyaXZlZCBTb3VyY2VzICovOwog
CQkJdGFyZ2V0UHJveHkgPSA2NTc4OEFBQTE4QjQwQTNCMDBDMTg5RkYgLyogUEJYQ29udGFpbmVy
SXRlbVByb3h5ICovOwogCQl9OwotCQk2NTc4OEFBRDE4QjQwQTdCMDBDMTg5RkYgLyogUEJYVGFy
Z2V0RGVwZW5kZW5jeSAqLyA9IHsKLQkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7Ci0JCQl0
YXJnZXQgPSA2NTc4OEE5RDE4QjQwOUVCMDBDMTg5RkYgLyogT2ZmbGluZSBBc3NlbWJsZXIgKi87
Ci0JCQl0YXJnZXRQcm94eSA9IDY1Nzg4QUFDMThCNDBBN0IwMEMxODlGRiAvKiBQQlhDb250YWlu
ZXJJdGVtUHJveHkgKi87Ci0JCX07CiAJCTY1RkIzRjdFMDlEMTFFRjMwMEY0OURFQiAvKiBQQlhU
YXJnZXREZXBlbmRlbmN5ICovID0gewogCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKIAkJ
CXRhcmdldCA9IDY1RkIzRjY2MDlEMTFFOTEwMEY0OURFQiAvKiBEZXJpdmVkIFNvdXJjZXMgKi87
CkBAIC0xMjU0Nyw2ICsxMjYwMSwxMSBAQAogCQkJdGFyZ2V0ID0gOTMyRjVCM0UwODIyQTFDNzAw
NzM2OTc1IC8qIEphdmFTY3JpcHRDb3JlICovOwogCQkJdGFyZ2V0UHJveHkgPSA5MzJGNUJFNjA4
MjJBMUM3MDA3MzY5NzUgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOwogCQl9OworCQlERDQx
RkE4QjI3Q0RFMUM0MDAzOTREOTUgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKKwkJCWlz
YSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSA2NTc4OEE5RDE4QjQwOUVCMDBD
MTg5RkYgLyogKExlZ2FjeSkgT2ZmbGluZSBBc3NlbWJsZXIgKi87CisJCQl0YXJnZXRQcm94eSA9
IERENDFGQThBMjdDREUxQzQwMDM5NEQ5NSAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJ
CX07CiAJCUZFNTMzQ0FGMUYyMTdFQzYwMDE2QTFGRSAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICov
ID0gewogCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKIAkJCXRhcmdldCA9IEZFNTMzQ0Ex
MUYyMTdEQjMwMDE2QTFGRSAvKiB0ZXN0bWFzbSAqLzsKQEAgLTEzMjQ2LDcgKzEzMzA1LDcgQEAK
IC8qIEVuZCBYQ0J1aWxkQ29uZmlndXJhdGlvbiBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFhDQ29u
ZmlndXJhdGlvbkxpc3Qgc2VjdGlvbiAqLwotCQkwRjQ2ODBBQzE0QkE3RkQ5MDBCRkUyNzIgLyog
QnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIkxMSW50IE9m
ZnNldHMiICovID0geworCQkwRjQ2ODBBQzE0QkE3RkQ5MDBCRkUyNzIgLyogQnVpbGQgY29uZmln
dXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIihMZWdhY3kpIExMSW50IE9mZnNl
dHMiICovID0gewogCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKIAkJCWJ1aWxkQ29uZmln
dXJhdGlvbnMgPSAoCiAJCQkJMEY0NjgwQUQxNEJBN0ZEOTAwQkZFMjcyIC8qIERlYnVnICovLApA
QCAtMTMzNzgsNyArMTM0MzcsNyBAQAogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUg
PSAwOwogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKLQkJ
MTRCRDY4OTMyMTUxOTE0NTAwNTBEQUZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3Ig
UEJYQWdncmVnYXRlVGFyZ2V0ICJMTEludCBTZXR0aW5ncyIgKi8gPSB7CisJCTE0QkQ2ODkzMjE1
MTkxNDUwMDUwREFGRiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0
ZVRhcmdldCAiKExlZ2FjeSkgTExJbnQgU2V0dGluZ3MiICovID0gewogCQkJaXNhID0gWENDb25m
aWd1cmF0aW9uTGlzdDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCiAJCQkJMTRCRDY4OTQy
MTUxOTE0NTAwNTBEQUZGIC8qIERlYnVnICovLApAQCAtMTM0NTUsNyArMTM1MTQsNyBAQAogCQkJ
ZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwogCQkJZGVmYXVsdENvbmZpZ3VyYXRp
b25OYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKLQkJNjU3ODhBQTIxOEI0MDlFQjAwQzE4OUZGIC8q
IEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJPZmZsaW5l
IEFzc2VtYmxlciIgKi8gPSB7CisJCTY1Nzg4QUEyMThCNDA5RUIwMEMxODlGRiAvKiBCdWlsZCBj
b25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiKExlZ2FjeSkgT2ZmbGlu
ZSBBc3NlbWJsZXIiICovID0gewogCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKIAkJCWJ1
aWxkQ29uZmlndXJhdGlvbnMgPSAoCiAJCQkJNjU3ODhBQTMxOEI0MDlFQjAwQzE4OUZGIC8qIERl
YnVnICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXNt
LnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXNtLnJiCmluZGV4IGJlZDNh
ZDkxYzkzZi4uZTExZTViZjM2NzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
b2ZmbGluZWFzbS9hc20ucmIKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20v
YXNtLnJiCkBAIC0zMyw2ICszMyw3IEBAIHJlcXVpcmUgJ29wdHBhcnNlJwogcmVxdWlyZSAicGFy
c2VyIgogcmVxdWlyZSAic2VsZl9oYXNoIgogcmVxdWlyZSAic2V0dGluZ3MiCityZXF1aXJlICJz
aGVsbHdvcmRzIgogcmVxdWlyZSAidHJhbnNmb3JtIgogCiBjbGFzcyBBc3NlbWJsZXIKQEAgLTM0
Nyw3ICszNDgsNyBAQCB2YXJpYW50cyA9IEFSR1Yuc2hpZnQuc3BsaXQoL1ssXHNdKy8pCiAKICRv
cHRpb25zID0ge30KIE9wdGlvblBhcnNlci5uZXcgZG8gfG9wdHN8Ci0gICAgb3B0cy5iYW5uZXIg
PSAiVXNhZ2U6IGFzbS5yYiBhc21GaWxlIG9mZnNldHNGaWxlIG91dHB1dEZpbGVOYW1lIFstLWFz
c2VtYmxlcj08QVNNPl0gWy0td2Via2l0LWFkZGl0aW9ucy1wYXRoPTxwYXRoPl0gWy0tYmluYXJ5
LWZvcm1hdD08Zm9ybWF0Pl0iCisgICAgb3B0cy5iYW5uZXIgPSAiVXNhZ2U6IGFzbS5yYiBhc21G
aWxlIG9mZnNldHNGaWxlIG91dHB1dEZpbGVOYW1lIFstLWFzc2VtYmxlcj08QVNNPl0gWy0td2Vi
a2l0LWFkZGl0aW9ucy1wYXRoPTxwYXRoPl0gWy0tYmluYXJ5LWZvcm1hdD08Zm9ybWF0Pl0gWy0t
ZGVwZmlsZT08ZGVwZmlsZT5dIgogICAgICMgVGhpcyBvcHRpb24gaXMgY3VycmVudGx5IG9ubHkg
dXNlZCB0byBzcGVjaWZ5IHRoZSBtYXNtIGFzc2VtYmxlcgogICAgIG9wdHMub24oIi0tYXNzZW1i
bGVyPVtBU01dIiwgIlNwZWNpZnkgYW4gYXNzZW1ibGVyIHRvIHVzZS4iKSBkbyB8YXNzZW1ibGVy
fAogICAgICAgICAkb3B0aW9uc1s6YXNzZW1ibGVyXSA9IGFzc2VtYmxlcgpAQCAtMzU4LDYgKzM1
OSw5IEBAIE9wdGlvblBhcnNlci5uZXcgZG8gfG9wdHN8CiAgICAgb3B0cy5vbigiLS1iaW5hcnkt
Zm9ybWF0PUZPUk1BVCIsICJTcGVjaWZ5IHRoZSBiaW5hcnkgZm9ybWF0IHVzZWQgYnkgdGhlIHRh
cmdldCBzeXN0ZW0uIikgZG8gfGZvcm1hdHwKICAgICAgICAgJG9wdGlvbnNbOmJpbmFyeV9mb3Jt
YXRdID0gZm9ybWF0CiAgICAgZW5kCisgICAgb3B0cy5vbigiLS1kZXBmaWxlPURFUEZJTEUiLCAi
UGF0aCB0byB3cml0ZSBNYWtlZmlsZS1zdHlsZSBkaXNjb3ZlcmVkIGRlcGVuZGVuY2llcyB0by4i
KSBkbyB8cGF0aHwKKyAgICAgICAgJG9wdGlvbnNbOmRlcGZpbGVdID0gcGF0aAorICAgIGVuZAog
ZW5kLnBhcnNlIQogCiBiZWdpbgpAQCAtMzg0LDcgKzM4OCw3IEBAIGlucHV0SGFzaCA9CiAgICAg
IiAiICsgc2VsZkhhc2ggKwogICAgICIgIiArIERpZ2VzdDo6U0hBMS5oZXhkaWdlc3QoJG9wdGlv
bnMuaGFzX2tleT8oOmFzc2VtYmxlcikgPyAkb3B0aW9uc1s6YXNzZW1ibGVyXSA6ICIiKQogCi1p
ZiBGaWxlVGVzdC5leGlzdD8gb3V0cHV0RmxubQoraWYgRmlsZVRlc3QuZXhpc3Q/KG91dHB1dEZs
bm0pIGFuZCAobm90ICRvcHRpb25zWzpkZXBmaWxlXSBvciBGaWxlVGVzdC5leGlzdD8oJG9wdGlv
bnNbOmRlcGZpbGVdKSkKICAgICBsYXN0TGluZSA9IG5pbAogICAgIEZpbGUub3BlbihvdXRwdXRG
bG5tLCAiciIpIHsKICAgICAgICAgfCBmaWxlIHwKQEAgLTQwNyw5ICs0MTEsMTYgQEAgRmlsZS5v
cGVuKG91dHB1dEZsbm0sICJ3IikgewogICAgICRvdXRwdXQgPSBvdXRwCiAKICAgICAkYXNtID0g
QXNzZW1ibGVyLm5ldygkb3V0cHV0KQotICAgIAotICAgIGFzdCA9IHBhcnNlKGFzbUZpbGUsICRv
cHRpb25zKQorCisgICAgc291cmNlcyA9IFNldC5uZXcKKyAgICBhc3QgPSBwYXJzZShhc21GaWxl
LCAkb3B0aW9ucywgc291cmNlcykKICAgICBzZXR0aW5nc0NvbWJpbmF0aW9ucyA9IGNvbXB1dGVT
ZXR0aW5nc0NvbWJpbmF0aW9ucyhhc3QpCisgICAgCisgICAgaWYgJG9wdGlvbnNbOmRlcGZpbGVd
CisgICAgICAgIGRlcGZpbGUgPSBGaWxlLm9wZW4oJG9wdGlvbnNbOmRlcGZpbGVdLCAidyIpCisg
ICAgICAgIGRlcGZpbGUucHJpbnQoU2hlbGx3b3Jkcy5lc2NhcGUob3V0cHV0RmxubSksICI6ICIp
CisgICAgICAgIGRlcGZpbGUucHV0cyhTaGVsbHdvcmRzLmpvaW4oc291cmNlcy5zb3J0KSkKKyAg
ICBlbmQKIAogICAgIGNvbmZpZ3VyYXRpb25MaXN0LmVhY2ggewogICAgICAgICB8IGNvbmZpZ3Vy
YXRpb24gfApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2Vu
ZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5l
YXNtL2dlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmIKaW5kZXggMDVjOTM4MTIyYTMxLi44Yzkx
ZjRkYjg0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2dl
bmVyYXRlX29mZnNldF9leHRyYWN0b3IucmIKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29m
ZmxpbmVhc20vZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rvci5yYgpAQCAtMzMsNiArMzMsNyBAQCBy
ZXF1aXJlICdvcHRwYXJzZScKIHJlcXVpcmUgInBhcnNlciIKIHJlcXVpcmUgInNlbGZfaGFzaCIK
IHJlcXVpcmUgInNldHRpbmdzIgorcmVxdWlyZSAic2hlbGx3b3JkcyIKIHJlcXVpcmUgInRyYW5z
Zm9ybSIKIAogSW5jbHVkZUZpbGUucHJvY2Vzc0luY2x1ZGVPcHRpb25zKCkKQEAgLTQ4LDEwICs0
OSwxMyBAQCB2YXJpYW50cyA9IEFSR1Yuc2hpZnQuc3BsaXQoL1ssXHNdKy8pCiAKICRvcHRpb25z
ID0ge30KIE9wdGlvblBhcnNlci5uZXcgZG8gfG9wdHN8Ci0gICAgb3B0cy5iYW5uZXIgPSAiVXNh
Z2U6IGdlbmVyYXRlX29mZnNldF9leHRyYWN0b3IucmIgYXNtRmlsZSBzZXR0aW5nRmlsZSBvdXRw
dXRGaWxlTmFtZSBiYWNrZW5kcyB2YXJpYW50cyBbLS13ZWJraXQtYWRkaXRpb25zLXBhdGg9PHBh
dGg+XSIKKyAgICBvcHRzLmJhbm5lciA9ICJVc2FnZTogZ2VuZXJhdGVfb2Zmc2V0X2V4dHJhY3Rv
ci5yYiBhc21GaWxlIHNldHRpbmdGaWxlIG91dHB1dEZpbGVOYW1lIGJhY2tlbmRzIHZhcmlhbnRz
IFstLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD08cGF0aD5dIFstLWRlcGZpbGU9PGRlcGZpbGU+XSIK
ICAgICBvcHRzLm9uKCItLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD1QQVRIIiwgIldlYktpdEFkZGl0
aW9ucyBwYXRoLiIpIGRvIHxwYXRofAogICAgICAgICAkb3B0aW9uc1s6d2Via2l0X2FkZGl0aW9u
c19wYXRoXSA9IHBhdGgKICAgICBlbmQKKyAgICBvcHRzLm9uKCItLWRlcGZpbGU9REVQRklMRSIs
ICJwYXRoIHRvIHdyaXRlIE1ha2VmaWxlLXN0eWxlIGRpc2NvdmVyZWQgZGVwZW5kZW5jaWVzIHRv
LiIpIGRvIHxwYXRofAorICAgICAgICAkb3B0aW9uc1s6ZGVwZmlsZV0gPSBwYXRoCisgICAgZW5k
CiBlbmQucGFyc2UhCiAKIGJlZ2luCkBAIC03MSw3ICs3NSw3IEBAIGVuZAogY29uZmlndXJhdGlv
bkhhc2ggPSBEaWdlc3Q6OlNIQTEuaGV4ZGlnZXN0KGNvbmZpZ3VyYXRpb25MaXN0LmpvaW4oJyAn
KSkKIGlucHV0SGFzaCA9ICIvLyBPZmZzZXRFeHRyYWN0b3IgaW5wdXQgaGFzaDogI3twYXJzZUhh
c2goaW5wdXRGbG5tLCAkb3B0aW9ucyl9ICN7Y29uZmlndXJhdGlvbkhhc2h9ICN7c2VsZkhhc2h9
IgogCi1pZiBGaWxlVGVzdC5leGlzdD8gb3V0cHV0RmxubQoraWYgRmlsZVRlc3QuZXhpc3Q/KG91
dHB1dEZsbm0pIGFuZCAobm90ICRvcHRpb25zWzpkZXBmaWxlXSBvciBGaWxlVGVzdC5leGlzdD8o
JG9wdGlvbnNbOmRlcGZpbGVdKSkKICAgICBGaWxlLm9wZW4ob3V0cHV0RmxubSwgInIiKSB7CiAg
ICAgICAgIHwgaW5wIHwKICAgICAgICAgZmlyc3RMaW5lID0gaW5wLmdldHMKQEAgLTgyLDkgKzg2
LDE2IEBAIGlmIEZpbGVUZXN0LmV4aXN0PyBvdXRwdXRGbG5tCiAgICAgfQogZW5kCiAKLWFzdCA9
IHBhcnNlKGlucHV0RmxubSwgJG9wdGlvbnMpCitzb3VyY2VzID0gU2V0Lm5ldworYXN0ID0gcGFy
c2UoaW5wdXRGbG5tLCAkb3B0aW9ucywgc291cmNlcykKIHNldHRpbmdzQ29tYmluYXRpb25zID0g
Y29tcHV0ZVNldHRpbmdzQ29tYmluYXRpb25zKGFzdCkKIAoraWYgJG9wdGlvbnNbOmRlcGZpbGVd
CisgICAgZGVwZmlsZSA9IEZpbGUub3Blbigkb3B0aW9uc1s6ZGVwZmlsZV0sICJ3IikKKyAgICBk
ZXBmaWxlLnByaW50KFNoZWxsd29yZHMuZXNjYXBlKG91dHB1dEZsbm0pLCAiOiAiKQorICAgIGRl
cGZpbGUucHV0cyhTaGVsbHdvcmRzLmpvaW4oc291cmNlcy5zb3J0KSkKK2VuZAorCiBGaWxlLm9w
ZW4ob3V0cHV0RmxubSwgInciKSB7CiAgICAgfCBvdXRwIHwKICAgICAkb3V0cHV0ID0gb3V0cApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2VuZXJhdGVfc2V0
dGluZ3NfZXh0cmFjdG9yLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vZ2Vu
ZXJhdGVfc2V0dGluZ3NfZXh0cmFjdG9yLnJiCmluZGV4IGE5YTIzMDk1OWNjOC4uYmNiZGUyNDI2
NmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9nZW5lcmF0
ZV9zZXR0aW5nc19leHRyYWN0b3IucmIKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxp
bmVhc20vZ2VuZXJhdGVfc2V0dGluZ3NfZXh0cmFjdG9yLnJiCkBAIC0zMyw2ICszMyw3IEBAIHJl
cXVpcmUgJ29wdHBhcnNlJwogcmVxdWlyZSAicGFyc2VyIgogcmVxdWlyZSAic2VsZl9oYXNoIgog
cmVxdWlyZSAic2V0dGluZ3MiCityZXF1aXJlICJzaGVsbHdvcmRzIgogcmVxdWlyZSAidHJhbnNm
b3JtIgogCiBJbmNsdWRlRmlsZS5wcm9jZXNzSW5jbHVkZU9wdGlvbnMoKQpAQCAtNDUsMTUgKzQ2
LDE4IEBAIGluY2x1ZGVPbmx5QmFja2VuZHModmFsaWRCYWNrZW5kcykKIAogJG9wdGlvbnMgPSB7
fQogT3B0aW9uUGFyc2VyLm5ldyBkbyB8b3B0c3wKLSAgICBvcHRzLmJhbm5lciA9ICJVc2FnZTog
Z2VuZXJhdGVfc2V0dGluZ3NfZXh0cmFjdG9yLnJiIGFzbUZpbGUgc2V0dGluZ0ZpbGUgWy0td2Vi
a2l0LWFkZGl0aW9ucy1wYXRoPTxwYXRoPl0iCisgICAgb3B0cy5iYW5uZXIgPSAiVXNhZ2U6IGdl
bmVyYXRlX3NldHRpbmdzX2V4dHJhY3Rvci5yYiBhc21GaWxlIHNldHRpbmdGaWxlIFstLXdlYmtp
dC1hZGRpdGlvbnMtcGF0aD08cGF0aD5dIFstLWRlcGZpbGU9PGRlcGZpbGU+XSIKICAgICBvcHRz
Lm9uKCItLXdlYmtpdC1hZGRpdGlvbnMtcGF0aD1QQVRIIiwgIldlYktpdEFkZGl0aW9ucyBwYXRo
LiIpIGRvIHxwYXRofAogICAgICAgICAkb3B0aW9uc1s6d2Via2l0X2FkZGl0aW9uc19wYXRoXSA9
IHBhdGgKICAgICBlbmQKKyAgICBvcHRzLm9uKCItLWRlcGZpbGU9REVQRklMRSIsICJwYXRoIHRv
IHdyaXRlIE1ha2VmaWxlLXN0eWxlIGRpc2NvdmVyZWQgZGVwZW5kZW5jaWVzIHRvLiIpIGRvIHxw
YXRofAorICAgICAgICAkb3B0aW9uc1s6ZGVwZmlsZV0gPSBwYXRoCisgICAgZW5kCiBlbmQucGFy
c2UhCiAKIGlucHV0SGFzaCA9ICIvLyBTZXR0aW5nc0V4dHJhY3RvciBpbnB1dCBoYXNoOiAje3Bh
cnNlSGFzaChpbnB1dEZsbm0sICRvcHRpb25zKX0gI3tzZWxmSGFzaH0iCiAKLWlmIEZpbGVUZXN0
LmV4aXN0PyBvdXRwdXRGbG5tCitpZiBGaWxlVGVzdC5leGlzdD8ob3V0cHV0RmxubSkgYW5kIChu
b3QgJG9wdGlvbnNbOmRlcGZpbGVdIG9yIEZpbGVUZXN0LmV4aXN0Pygkb3B0aW9uc1s6ZGVwZmls
ZV0pKQogICAgIEZpbGUub3BlbihvdXRwdXRGbG5tLCAiciIpIHsKICAgICAgICAgfCBpbnAgfAog
ICAgICAgICBmaXJzdExpbmUgPSBpbnAuZ2V0cwpAQCAtNjQsOSArNjgsMTYgQEAgaWYgRmlsZVRl
c3QuZXhpc3Q/IG91dHB1dEZsbm0KICAgICB9CiBlbmQKIAotb3JpZ2luYWxBU1QgPSBwYXJzZShp
bnB1dEZsbm0sICRvcHRpb25zKQorc291cmNlcyA9IFNldC5uZXcKK29yaWdpbmFsQVNUID0gcGFy
c2UoaW5wdXRGbG5tLCAkb3B0aW9ucywgc291cmNlcykKIHBydW5lZEFTVCA9IFNlcXVlbmNlLm5l
dyhvcmlnaW5hbEFTVC5jb2RlT3JpZ2luLCBvcmlnaW5hbEFTVC5maWx0ZXIoU2V0dGluZykpCiAK
K2lmICRvcHRpb25zWzpkZXBmaWxlXQorICAgIGRlcGZpbGUgPSBGaWxlLm9wZW4oJG9wdGlvbnNb
OmRlcGZpbGVdLCAidyIpCisgICAgZGVwZmlsZS5wcmludChTaGVsbHdvcmRzLmVzY2FwZShvdXRw
dXRGbG5tKSwgIjogIikKKyAgICBkZXBmaWxlLnB1dHMoU2hlbGx3b3Jkcy5qb2luKHNvdXJjZXMu
c29ydCkpCitlbmQKKwogRmlsZS5vcGVuKG91dHB1dEZsbm0sICJ3IikgewogICAgIHwgb3V0cCB8
CiAgICAgJG91dHB1dCA9IG91dHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9v
ZmZsaW5lYXNtL3BhcnNlci5yYiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3Bh
cnNlci5yYgppbmRleCAxNGM2YzkyNmVhZTguLjI3ZGVjYmE5NzQ3OSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vcGFyc2VyLnJiCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9vZmZsaW5lYXNtL3BhcnNlci5yYgpAQCAtMjYwLDcgKzI2MCw3IEBAIGVuZAog
IwogCiBjbGFzcyBQYXJzZXIKLSAgICBkZWYgaW5pdGlhbGl6ZShkYXRhLCBmaWxlTmFtZSwgb3B0
aW9ucykKKyAgICBkZWYgaW5pdGlhbGl6ZShkYXRhLCBmaWxlTmFtZSwgb3B0aW9ucywgc291cmNl
cz1uaWwpCiAgICAgICAgIEB0b2tlbnMgPSBsZXgoZGF0YSwgZmlsZU5hbWUpCiAgICAgICAgIEBp
ZHggPSAwCiAgICAgICAgIEBhbm5vdGF0aW9uID0gbmlsCkBAIC0yNjgsNiArMjY4LDcgQEAgY2xh
c3MgUGFyc2VyCiAgICAgICAgICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyOTM0MAogICAgICAgICBAYnVpbGRQcm9kdWN0c0RpcmVjdG9yeSA9IEVOVlsnQlVJTFRf
UFJPRFVDVFNfRElSJ107CiAgICAgICAgIEBvcHRpb25zID0gb3B0aW9ucworICAgICAgICBAc291
cmNlcyA9IHNvdXJjZXMKICAgICBlbmQKICAgICAKICAgICBkZWYgcGFyc2VFcnJvcigqY29tbWVu
dCkKQEAgLTg0Myw3ICs4NDQsNyBAQCBjbGFzcyBQYXJzZXIKICAgICAgICAgICAgICAgICBlbmQK
ICAgICAgICAgICAgICAgICBmaWxlRXhpc3RzID0gRmlsZS5leGlzdHM/KGZpbGVOYW1lKQogICAg
ICAgICAgICAgICAgIHJhaXNlICJGaWxlIG5vdCBmb3VuZDogI3tmaWxlTmFtZX0iIGlmIG5vdCBm
aWxlRXhpc3RzIGFuZCBub3QgaXNPcHRpb25hbAotICAgICAgICAgICAgICAgIGxpc3QgPDwgcGFy
c2UoZmlsZU5hbWUsIEBvcHRpb25zKSBpZiBmaWxlRXhpc3RzCisgICAgICAgICAgICAgICAgbGlz
dCA8PCBwYXJzZShmaWxlTmFtZSwgQG9wdGlvbnMsIEBzb3VyY2VzKSBpZiBmaWxlRXhpc3RzCiAg
ICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgcGFyc2VFcnJvciAiRXhwZWN0aW5nIHRl
cm1pbmFsICN7ZmluYWx9ICN7Y29tbWVudH0iCiAgICAgICAgICAgICBlbmQKQEAgLTkwMCwxMyAr
OTAxLDE0IEBAIGRlZiByZWFkVGV4dEZpbGUoZmlsZU5hbWUpCiAgICAgcmV0dXJuIGRhdGEKIGVu
ZAogCi1kZWYgcGFyc2VEYXRhKGRhdGEsIGZpbGVOYW1lLCBvcHRpb25zKQotICAgIHBhcnNlciA9
IFBhcnNlci5uZXcoZGF0YSwgU291cmNlRmlsZS5uZXcoZmlsZU5hbWUpLCBvcHRpb25zKQorZGVm
IHBhcnNlRGF0YShkYXRhLCBmaWxlTmFtZSwgb3B0aW9ucywgc291cmNlcykKKyAgICBwYXJzZXIg
PSBQYXJzZXIubmV3KGRhdGEsIFNvdXJjZUZpbGUubmV3KGZpbGVOYW1lKSwgb3B0aW9ucywgc291
cmNlcykKICAgICBwYXJzZXIucGFyc2VTZXF1ZW5jZShuaWwsICIiKQogZW5kCiAKLWRlZiBwYXJz
ZShmaWxlTmFtZSwgb3B0aW9ucykKLSAgICBwYXJzZURhdGEocmVhZFRleHRGaWxlKGZpbGVOYW1l
KSwgZmlsZU5hbWUsIG9wdGlvbnMpCitkZWYgcGFyc2UoZmlsZU5hbWUsIG9wdGlvbnMsIHNvdXJj
ZXM9bmlsKQorICAgIHNvdXJjZXMgPDwgZmlsZU5hbWUgaWYgc291cmNlcworICAgIHBhcnNlRGF0
YShyZWFkVGV4dEZpbGUoZmlsZU5hbWUpLCBmaWxlTmFtZSwgb3B0aW9ucywgc291cmNlcykKIGVu
ZAogCiBkZWYgcGFyc2VIYXNoKGZpbGVOYW1lLCBvcHRpb25zKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>