<?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>175581</bug_id>
          
          <creation_ts>2017-08-15 10:24:41 -0700</creation_ts>
          <short_desc>Add Offline Assembler parsing test to RexBench</short_desc>
          <delta_ts>2017-08-15 13:12:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>Other</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="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1338729</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-08-15 10:24:41 -0700</bug_when>
    <thetext>The JavaScriptCore offline assembler makes heavy use of regular expressions when parsing.  This would be a good test for RexBench.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338731</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-15 10:25:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/33898475&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338748</commentid>
    <comment_count>2</comment_count>
      <attachid>318138</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-08-15 10:49:32 -0700</bug_when>
    <thetext>Created attachment 318138
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338749</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-15 10:51:58 -0700</bug_when>
    <thetext>Attachment 318138 did not pass style-queue:


ERROR: PerformanceTests/RexBench/OfflineAssembler/convert_asm_to_js.py:48:  multiple statements on one line (semicolon)  [pep8/E702] [5]
ERROR: PerformanceTests/RexBench/OfflineAssembler/convert_asm_to_js.py:59:  no spaces around keyword / parameter equals  [pep8/E251] [5]
ERROR: PerformanceTests/RexBench/OfflineAssembler/convert_asm_to_js.py:60:  no spaces around keyword / parameter equals  [pep8/E251] [5]
Total errors found: 3 in 23 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338784</commentid>
    <comment_count>4</comment_count>
      <attachid>318138</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-08-15 12:14:56 -0700</bug_when>
    <thetext>Comment on attachment 318138
Patch

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

r=me

&gt; PerformanceTests/ChangeLog:16
&gt; +        The input data is the current tip of tree LLInt .asm source files.  Those file
&gt; +        were converted to JavaScript using the python script, convert_asm_to_js.py.
&gt; +        There is also a new JavaScript file, generate_expected.js, to create the
&gt; +        expected output JavaScript file.

How much faster is this than the ruby version?

&gt; PerformanceTests/RexBench/offline_assembler_benchmark.js:44
&gt; +var results = [];
&gt; +var benchmark = new OfflineAssemblerBenchmark();
&gt; +var numIterations = 20;

I vote for `let` here

&gt; PerformanceTests/RexBench/OfflineAssembler/parser.js:27
&gt; +

It would be cool if you extended it to allow for unicode in some way (maybe in the future)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338798</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-08-15 12:46:33 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #4)
&gt; Comment on attachment 318138 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=318138&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; PerformanceTests/ChangeLog:16
&gt; &gt; +        The input data is the current tip of tree LLInt .asm source files.  Those file
&gt; &gt; +        were converted to JavaScript using the python script, convert_asm_to_js.py.
&gt; &gt; +        There is also a new JavaScript file, generate_expected.js, to create the
&gt; &gt; +        expected output JavaScript file.
&gt; 
&gt; How much faster is this than the ruby version?

I didn&apos;t measure.

&gt; &gt; PerformanceTests/RexBench/offline_assembler_benchmark.js:44
&gt; &gt; +var results = [];
&gt; &gt; +var benchmark = new OfflineAssemblerBenchmark();
&gt; &gt; +var numIterations = 20;
&gt; 
&gt; I vote for `let` here

That is the style for all the other tests and also the form used in ARES-6.

&gt; &gt; PerformanceTests/RexBench/OfflineAssembler/parser.js:27
&gt; &gt; +
&gt; 
&gt; It would be cool if you extended it to allow for unicode in some way (maybe
&gt; in the future)

I&apos;m planning on writing one more subtest focused on just Unicode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338817</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-08-15 13:12:00 -0700</bug_when>
    <thetext>Committed r220752: &lt;http://trac.webkit.org/changeset/220752&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318138</attachid>
            <date>2017-08-15 10:49:32 -0700</date>
            <delta_ts>2017-08-15 12:14:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>175581.patch</filename>
            <type>text/plain</type>
            <size>770845</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjA3NDYpCisrKyBQZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDY4IEBACisyMDE3LTA4LTE1ICBN
aWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBPZmZsaW5l
IEFzc2VtYmxlciBwYXJzaW5nIHRlc3QgdG8gUmV4QmVuY2gKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTU4MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYSBwb3J0IG9mIHRoZSBKYXZhU2Ny
aXB0Q29yZSBvZmZsaW5lIGFzc21lYmxlcidzIGxleGVyLCBwYXJzZXIsIEFTVCBhbmQKKyAgICAg
ICAgc3VwcG9ydGluZyBjb2RlIGZyb20gUnVieSB0byBKYXZhU2NyaXB0IHR1cm5lZCBpbnRvIGEg
YmVuY2htYXJrLiAgVGhlIGJlbmNobWFyaworICAgICAgICB0aW1pbmcgaW5jbHVkZXMgcGFyc2lu
ZyB0aHJvdWdoIEFTVC4gIFRoZSB2YWxpZGF0aW9uIHByb2Nlc3NpbmcgdGltZSBpcyBub3QKKyAg
ICAgICAgcGFydCBvZiB0aGUgYmVuY2htYXJrIG1lYXN1cmVtZW50LgorCisgICAgICAgIFRoZSBp
bnB1dCBkYXRhIGlzIHRoZSBjdXJyZW50IHRpcCBvZiB0cmVlIExMSW50IC5hc20gc291cmNlIGZp
bGVzLiAgVGhvc2UgZmlsZQorICAgICAgICB3ZXJlIGNvbnZlcnRlZCB0byBKYXZhU2NyaXB0IHVz
aW5nIHRoZSBweXRob24gc2NyaXB0LCBjb252ZXJ0X2FzbV90b19qcy5weS4KKyAgICAgICAgVGhl
cmUgaXMgYWxzbyBhIG5ldyBKYXZhU2NyaXB0IGZpbGUsIGdlbmVyYXRlX2V4cGVjdGVkLmpzLCB0
byBjcmVhdGUgdGhlCisgICAgICAgIGV4cGVjdGVkIG91dHB1dCBKYXZhU2NyaXB0IGZpbGUuCisK
KyAgICAgICAgKiBSZXhCZW5jaC9PZmZsaW5lQXNzZW1ibGVyOiBBZGRlZC4KKyAgICAgICAgKiBS
ZXhCZW5jaC9PZmZsaW5lQXNzZW1ibGVyL2FzdC5qczogQWRkZWQuCisgICAgICAgICogUmV4QmVu
Y2gvT2ZmbGluZUFzc2VtYmxlci9pbnN0cnVjdGlvbnMuanM6IEFkZGVkLgorICAgICAgICAqIFJl
eEJlbmNoL09mZmxpbmVBc3NlbWJsZXIvcGFyc2VyLmpzOiBBZGRlZC4KKyAgICAgICAgKiBSZXhC
ZW5jaC9PZmZsaW5lQXNzZW1ibGVyL3JlZ2lzdGVycy5qczogQWRkZWQuCisgICAgICAgIFRoZXNl
IGFyZSBKYXZhU2NyaXB0IHRyYW5zbGF0aW9uIG9mIHRoZSBSdWJ5IE9mZmxpbmUgQXNzZW1ibGVy
LiAgQ29kZSBub3QKKyAgICAgICAgbmVlZGVkIGZvciB0aGUgYmVuY2htYXJrIHdhcyBub3QgdHJh
bnNsYXRlZCBhbmQgdGhlcmVmb3JlIG1pc3NpbmcuCisKKyAgICAgICAgKiBSZXhCZW5jaC9PZmZs
aW5lQXNzZW1ibGVyL0luaXRCeXRlY29kZXMuYXNtOiBBZGRlZC4KKyAgICAgICAgKiBSZXhCZW5j
aC9PZmZsaW5lQXNzZW1ibGVyL0luaXRCeXRlY29kZXMuanM6IEFkZGVkLgorICAgICAgICAqIFJl
eEJlbmNoL09mZmxpbmVBc3NlbWJsZXIvTG93TGV2ZWxJbnRlcnByZXRlci5hc206IEFkZGVkLgor
ICAgICAgICAqIFJleEJlbmNoL09mZmxpbmVBc3NlbWJsZXIvTG93TGV2ZWxJbnRlcnByZXRlci5q
czogQWRkZWQuCisgICAgICAgICogUmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9Mb3dMZXZlbElu
dGVycHJldGVyMzJfNjQuYXNtOiBBZGRlZC4KKyAgICAgICAgKiBSZXhCZW5jaC9PZmZsaW5lQXNz
ZW1ibGVyL0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5qczogQWRkZWQuCisgICAgICAgICogUmV4
QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOiBBZGRlZC4K
KyAgICAgICAgKiBSZXhCZW5jaC9PZmZsaW5lQXNzZW1ibGVyL0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5qczogQWRkZWQuCisgICAgICAgIENvcGllcyBvZiB0aGUgY3VycmVudCBMTEludCBzb3VyY2Ug
YW5kIGNvbnZlcnNpb24gdG8gSmF2YVNjcmlwdC4KKworICAgICAgICAqIFJleEJlbmNoL09mZmxp
bmVBc3NlbWJsZXIvZmlsZS5qczogQWRkZWQuCisgICAgICAgIChGaWxlKToKKyAgICAgICAgKEZp
bGUub3Blbik6CisgICAgICAgIChGaWxlLnByb3RvdHlwZS5yZWFkKToKKyAgICAgICAgTW9jayBG
aWxlIGNsYXNzIHVzZWQgdG8gc2ltdWxhdGUgZmlsZXN5c3RlbSBhY2Nlc3MuCisKKyAgICAgICAg
KiBSZXhCZW5jaC9PZmZsaW5lQXNzZW1ibGVyL2V4cGVjdGVkLmpzOiBBZGRlZC4KKyAgICAgICAg
RXhwZWN0ZWQgb3V0cHV0IG9mIHRoZSBBU1QgZHVtcGVkIGFuZCBzcGxpdCBpbnRvIGluZGl2aWR1
YWwgbGluZXMuCisKKyAgICAgICAgKiBSZXhCZW5jaC9PZmZsaW5lQXNzZW1ibGVyL2JlbmNobWFy
ay5qczogQWRkZWQuCisgICAgICAgIChPZmZsaW5lQXNzZW1ibGVyQmVuY2htYXJrKToKKyAgICAg
ICAgKE9mZmxpbmVBc3NlbWJsZXJCZW5jaG1hcmsucHJvdG90eXBlLnJ1bk9uY2UpOgorICAgICAg
ICAoT2ZmbGluZUFzc2VtYmxlckJlbmNobWFyay5wcm90b3R5cGUudmFsaWRhdGUpOgorICAgICAg
ICBCZW5jaG1hcmsgc3ViIGNsYXNzIGZvciB0aGlzIHRlc3QuCisKKyAgICAgICAgKiBSZXhCZW5j
aC9PZmZsaW5lQXNzZW1ibGVyL2NvbnZlcnRfYXNtX3RvX2pzLnB5OiBBZGRlZC4KKyAgICAgICAg
KGNvbnZlcnRGaWxlKToKKyAgICAgICAgQ29udmVydHMgLmFzbSBpbnRvIC5qcyBmaWxlcyBjb21w
YXRpYmxlIHRvIHRoZSBiZW5jaG1hcmsuCisKKyAgICAgICAgKiBSZXhCZW5jaC9PZmZsaW5lQXNz
ZW1ibGVyL2dlbmVyYXRlX2V4cGVjdGVkLmpzOiBBZGRlZC4KKyAgICAgICAgQ29udmVydHMgQVNU
IG91dHB1dCBpbnRvIHRoZSBleHBlY3RlZCBmaWxlIGZvcm1hdC4KKworICAgICAgICAqIFJleEJl
bmNoL2Fib3V0Lmh0bWw6IEFkZGVkIGRlc2NyaXB0aW9uIG9mIHRoaXMgc3ViLWJlbmNobWFyayB0
ZXN0LgorCisgICAgICAgICogUmV4QmVuY2gvY2xpLmpzOgorICAgICAgICAqIFJleEJlbmNoL2ds
dWUuanM6CisgICAgICAgICogUmV4QmVuY2gvaW5kZXguaHRtbDoKKyAgICAgICAgKiBSZXhCZW5j
aC9vZmZsaW5lX2Fzc2VtYmxlcl9iZW5jaG1hcmsuanM6IEFkZGVkLgorICAgICAgICBVcGRhdGVz
IHRvIGFkZCB0aGlzIHN1Yi1iZW5jaG1hcmsuCisKIDIwMTctMDgtMDkgIE15bGVzIEMuIE1heGZp
ZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBmb250LWZhbGxiYWNrLWZvbnQt
ZmFtaWx5Lmh0bWwgaXMgZmFpbGluZyBvbiBwZXJmIGJvdHMKSW5kZXg6IFBlcmZvcm1hbmNlVGVz
dHMvUmV4QmVuY2gvYWJvdXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL1Jl
eEJlbmNoL2Fib3V0Lmh0bWwJKHJldmlzaW9uIDIyMDQ4NCkKKysrIFBlcmZvcm1hbmNlVGVzdHMv
UmV4QmVuY2gvYWJvdXQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsOCBAQAogCiAg
ICAgICAgIDxwPkJhc2ljIGlzIHRoZSBsZXhlciAvIHBhcnNlciBwYXJ0IG9mIHRoZSBiZW5jaG1h
cmsgdGVzdCBvZiB0aGUgc2FtZSBuYW1lIGZyb20gdGhlIDxhIGhyZWY9Imh0dHA6Ly9icm93c2Vy
YmVuY2gub3JnL0FSRVMtNi8iPkFSRVMtNjwvYT4gYmVuY2htYXJrLjwvcD4KIAorICAgICAgICA8
cD5PZmZsaW5lIEFzc2VtYmxlciBpcyB0aGUgbGV4ZXIsIHBhcnNlciBhbmQgQVNUIGxheWVyIG9m
IHRoZSBvZmZsaW5lIGFzc2VtYmxlciBmb3IgSmF2YVNjcmlwdENvcmUuICBJdCBoYXMgYmVlbiBw
b3J0ZWQgdG8gSmF2YVNjcmlwdCBmcm9tIHRoZSBvcmlnaW5hbCBSdWJ5LjwvcD4KKwogICAgICAg
ICA8cD5GbGlnaHQgUGxhbm5lciBpcyBhIG5ld2x5IHdyaXR0ZW4gYmVuY2htYXJrIHRha2VuIGZy
b20gYSBmbGlnaHQgbWFuYWdlbWVudCB3ZWIgYXBwbGljYXRpb24uICBGbGlnaHQgUGxhbm5lciBw
YXJzZXMgYWlyY3JhZnQgZmxpZ2h0IHBsYW5zIGFuZCBjb21wdXRlcyBkaXN0YW5jZSwgY291cnNl
IGFuZCBlbGFwc2VkIHRpbWVzIGZvciBsZWdzIG9mIGZsaWdodCBwbGFucyBhcyB3ZWxsIGFzIHRv
dGFsIHRpbWUuICBJdCB1c2VzIEZBQSBkYXRhIGZvciBhaXJwb3J0cywgbmF2aWdhdGlvbiBhaWRz
IGFuZCBhaXJ3YXlzLiAgVGhlIGZsaWdodCBtYW5hZ2VtZW50IGFwcCB3YXMgb3JpZ2luYWxseSB3
cml0dGVuIHRvIGhlbHAgY29tcGV0ZSBpbiBhIGZseWluZyBwcm9maWNpZW5jeSBldmVudC4gIFNl
ZSA8YSBocmVmPSJodHRwOi8vd3d3Lmh3ZGFpcnJhbGx5Lm9yZy9pbmRleC5zaHRtbCI+SGF5d2Fy
ZCBBaXIgUmFsbHk8L2E+LgogICAgICAgICA8L3A+CiAKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMv
UmV4QmVuY2gvY2xpLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gv
Y2xpLmpzCShyZXZpc2lvbiAyMjA0ODUpCisrKyBQZXJmb3JtYW5jZVRlc3RzL1JleEJlbmNoL2Ns
aS5qcwkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBAQCBsb2FkKCJzdGF0cy5qcyIpOwog
bG9hZCgic3Vuc3BpZGVyX2JlbmNobWFyay5qcyIpOwogbG9hZCgib2N0YW5lMl9iZW5jaG1hcmsu
anMiKTsKIGxvYWQoImJhc2ljX2JlbmNobWFyay5qcyIpOworbG9hZCgib2ZmbGluZV9hc3NlbWJs
ZXJfYmVuY2htYXJrLmpzIik7CiBsb2FkKCJmbGlnaHRwbGFuX2JlbmNobWFyay5qcyIpOwogbG9h
ZCgiZmxpZ2h0cGxhbl91bmljb2RlX2JlbmNobWFyay5qcyIpOwogbG9hZCgiZ2x1ZS5qcyIpOwpJ
bmRleDogUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5jaC9nbHVlLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBl
cmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvZ2x1ZS5qcwkocmV2aXNpb24gMjIwNDg0KQorKysgUGVy
Zm9ybWFuY2VUZXN0cy9SZXhCZW5jaC9nbHVlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3ICsz
OSw3IEBAIGZ1bmN0aW9uIHJlcG9ydFJlc3VsdCguLi5hcmdzKSB7CiB9CiAKIHsKLSAgICBjb25z
dCB0aXRsZSA9ICJSZXhCZW5jaCAwLjkwIjsKKyAgICBjb25zdCB0aXRsZSA9ICJSZXhCZW5jaCAw
LjkyIjsKICAgICBpZiAoaXNJbkJyb3dzZXIpIHsKICAgICAgICAgZG9jdW1lbnQudGl0bGUgPSB0
aXRsZTsKICAgICB9IGVsc2UgewpAQCAtNTAsNiArNTAsNyBAQCBmdW5jdGlvbiByZXBvcnRSZXN1
bHQoLi4uYXJncykgewogZHJpdmVyLmFkZEJlbmNobWFyayhSZWdleEROQUJlbmNobWFya1J1bm5l
cik7CiBkcml2ZXIuYWRkQmVuY2htYXJrKE9jdGFuZTJSZWdFeHBCZW5jaG1hcmtSdW5uZXIpOwog
ZHJpdmVyLmFkZEJlbmNobWFyayhCYXNpY0JlbmNobWFya1J1bm5lcik7Citkcml2ZXIuYWRkQmVu
Y2htYXJrKE9mZmxpbmVBc3NlbWJsZXJCZW5jaG1hcmtSdW5uZXIpOwogZHJpdmVyLmFkZEJlbmNo
bWFyayhGbGlnaHRQbGFubmVyQmVuY2htYXJrUnVubmVyKTsKIGRyaXZlci5hZGRCZW5jaG1hcmso
RmxpZ2h0UGxhbm5lclVuaWNvZGVCZW5jaG1hcmtSdW5uZXIpOwogZHJpdmVyLnJlYWR5VHJpZ2dl
cigpOwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5jaC9pbmRleC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvaW5kZXguaHRtbAkocmV2aXNpb24gMjIw
NDg0KQorKysgUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5jaC9pbmRleC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTUsNiArMTE1LDMxIEBACiAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgPC9k
aXY+CiAKKyAgICAgICAgPGRpdiBjbGFzcz0ib2ZmbGluZSBhc3NlbWJsZXIgdGVzdCI+CisgICAg
ICAgICAgICA8aDIgaWQ9Ik9mZmxpbmVBc3NlbWJsZXJNZXNzYWdlIj5PZmZsaW5lIEFzc2VtYmxl
cjwvaDI+IAorICAgICAgICAgICAgCisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY29yZSI+Cisg
ICAgICAgICAgICAgICAgPGxhYmVsPkZpcnN0IEl0ZXJhdGlvbjwvbGFiZWw+CisgICAgICAgICAg
ICAgICAgPHNwYW4gaWQ9Ik9mZmxpbmVBc3NlbWJsZXJGaXJzdEl0ZXJhdGlvbiI+CisgICAgICAg
ICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ2YWx1ZSI+MDwvc3Bhbj48c3BhbiBjbGFzcz0idW5p
dHMiPm1zPC9zcGFuPiAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgPC9zcGFu
PgorICAgICAgICAgICAgPC9kaXY+CisgCisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY29yZSI+
CisgICAgICAgICAgICAgICAgPGxhYmVsPldvcnN0IDQgSXRlcmF0b25zPC9sYWJlbD4KKyAgICAg
ICAgICAgICAgICA8c3BhbiBpZD0iT2ZmbGluZUFzc2VtYmxlckF2ZXJhZ2VXb3JzdENhc2UiPgor
ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idmFsdWUiPjA8L3NwYW4+PHNwYW4gY2xh
c3M9InVuaXRzIj5tczwvc3Bhbj4gICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAg
IDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorCisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJz
Y29yZSI+CisgICAgICAgICAgICAgICAgPGxhYmVsPkF2ZXJhZ2U8L2xhYmVsPgorICAgICAgICAg
ICAgICAgIDxzcGFuIGlkPSJPZmZsaW5lQXNzZW1ibGVyU3RlYWR5U3RhdGUiPgorICAgICAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0idmFsdWUiPjA8L3NwYW4+PHNwYW4gY2xhc3M9InVuaXRz
Ij5tczwvc3Bhbj4gICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4K
KyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKwogICAgICAgICA8ZGl2IGNsYXNz
PSJmbGlnaHQgcGxhbm5lciB0ZXN0Ij4KICAgICAgICAgICAgIDxoMiBpZD0iRmxpZ2h0UGxhbm5l
ck1lc3NhZ2UiPkZsaWdodCBQbGFubmVyPC9oMj4gCiAgICAgICAgICAgICAKQEAgLTE3Miw2ICsx
OTcsNyBAQAogICAgIDxzY3JpcHQgc3JjPSJzdW5zcGlkZXJfYmVuY2htYXJrLmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHNyYz0ib2N0YW5lMl9iZW5jaG1hcmsuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSJiYXNpY19iZW5jaG1hcmsuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQg
c3JjPSJvZmZsaW5lX2Fzc2VtYmxlcl9iZW5jaG1hcmsuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJmbGlnaHRwbGFuX2JlbmNobWFyay5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9ImZsaWdodHBsYW5fdW5pY29kZV9iZW5jaG1hcmsuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJnbHVlLmpzIj48L3NjcmlwdD4KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvUmV4QmVu
Y2gvb2ZmbGluZV9hc3NlbWJsZXJfYmVuY2htYXJrLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvUmV4QmVuY2gvb2ZmbGluZV9hc3NlbWJsZXJfYmVuY2htYXJrLmpzCShub25leGlz
dGVudCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvb2ZmbGluZV9hc3NlbWJsZXJfYmVu
Y2htYXJrLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKyJ1c2Ugc3RyaWN0IjsKKworY29uc3QgT2Zm
bGluZUFzc2VtYmxlckJlbmNobWFya0NvZGUgPSBTdHJpbmcucmF3YAorPHNjcmlwdCBzcmM9ImJl
bmNobWFyay5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iT2ZmbGluZUFzc2VtYmxlci9yZWdp
c3RlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ik9mZmxpbmVBc3NlbWJsZXIvaW5zdHJ1
Y3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJPZmZsaW5lQXNzZW1ibGVyL2FzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iT2ZmbGluZUFzc2VtYmxlci9wYXJzZXIuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ik9mZmxpbmVBc3NlbWJsZXIvZmlsZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iT2ZmbGluZUFzc2VtYmxlci9Mb3dMZXZlbEludGVycHJldGVyLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJPZmZsaW5lQXNzZW1ibGVyL0xvd0xldmVsSW50ZXJwcmV0
ZXIzMl82NC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iT2ZmbGluZUFzc2VtYmxlci9Mb3dM
ZXZlbEludGVycHJldGVyNjQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ik9mZmxpbmVBc3Nl
bWJsZXIvSW5pdEJ5dGVjb2Rlcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iT2ZmbGluZUFz
c2VtYmxlci9leHBlY3RlZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iT2ZmbGluZUFzc2Vt
Ymxlci9iZW5jaG1hcmsuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK3Zh
ciByZXN1bHRzID0gW107Cit2YXIgYmVuY2htYXJrID0gbmV3IE9mZmxpbmVBc3NlbWJsZXJCZW5j
aG1hcmsoKTsKK3ZhciBudW1JdGVyYXRpb25zID0gMjA7CitiZW5jaG1hcmsucnVuSXRlcmF0aW9u
cyhudW1JdGVyYXRpb25zLCByZXN1bHRzKTsKK3JlcG9ydFJlc3VsdChyZXN1bHRzKTsKKzwvc2Ny
aXB0PmA7CisKKworbGV0IHJ1bk9mZmxpbmVBc3NlbWJsZXJCZW5jaG1hcmsgPSBudWxsOworaWYg
KCFpc0luQnJvd3NlcikgeworICAgIGxldCBzb3VyY2VzID0gWworICAgICAgICAiYmVuY2htYXJr
LmpzIgorICAgICAgICAsICJPZmZsaW5lQXNzZW1ibGVyL3JlZ2lzdGVycy5qcyIKKyAgICAgICAg
LCAiT2ZmbGluZUFzc2VtYmxlci9pbnN0cnVjdGlvbnMuanMiCisgICAgICAgICwgIk9mZmxpbmVB
c3NlbWJsZXIvYXN0LmpzIgorICAgICAgICAsICJPZmZsaW5lQXNzZW1ibGVyL3BhcnNlci5qcyIK
KyAgICAgICAgLCAiT2ZmbGluZUFzc2VtYmxlci9maWxlLmpzIgorICAgICAgICAsICJPZmZsaW5l
QXNzZW1ibGVyL0xvd0xldmVsSW50ZXJwcmV0ZXIuanMiCisgICAgICAgICwgIk9mZmxpbmVBc3Nl
bWJsZXIvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmpzIgorICAgICAgICAsICJPZmZsaW5lQXNz
ZW1ibGVyL0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5qcyIKKyAgICAgICAgLCAiT2ZmbGluZUFzc2Vt
Ymxlci9Jbml0Qnl0ZWNvZGVzLmpzIgorICAgICAgICAsICJPZmZsaW5lQXNzZW1ibGVyL2V4cGVj
dGVkLmpzIgorICAgICAgICAsICJPZmZsaW5lQXNzZW1ibGVyL2JlbmNobWFyay5qcyIKKyAgICBd
OworCisgICAgcnVuT2ZmbGluZUFzc2VtYmxlckJlbmNobWFyayA9IG1ha2VCZW5jaG1hcmtSdW5u
ZXIoc291cmNlcywgIk9mZmxpbmVBc3NlbWJsZXJCZW5jaG1hcmsiLCAyMCk7Cit9CisKK2NvbnN0
IE9mZmxpbmVBc3NlbWJsZXJCZW5jaG1hcmtSdW5uZXIgPSB7CisgICAgbmFtZTogIk9mZmxpbmUg
QXNzZW1ibGVyIiwKKyAgICBjb2RlOiBPZmZsaW5lQXNzZW1ibGVyQmVuY2htYXJrQ29kZSwKKyAg
ICBydW46IHJ1bk9mZmxpbmVBc3NlbWJsZXJCZW5jaG1hcmssCisgICAgY2VsbHM6IHt9Cit9Owor
CitpZiAoaXNJbkJyb3dzZXIpIHsKKyAgICBPZmZsaW5lQXNzZW1ibGVyQmVuY2htYXJrUnVubmVy
LmNlbGxzID0geworICAgICAgICBmaXJzdEl0ZXJhdGlvbjogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoIk9mZmxpbmVBc3NlbWJsZXJGaXJzdEl0ZXJhdGlvbiIpLAorICAgICAgICBhdmVyYWdlV29y
c3RDYXNlOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiT2ZmbGluZUFzc2VtYmxlckF2ZXJhZ2VX
b3JzdENhc2UiKSwKKyAgICAgICAgc3RlYWR5U3RhdGU6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJPZmZsaW5lQXNzZW1ibGVyU3RlYWR5U3RhdGUiKSwKKyAgICAgICAgbWVzc2FnZTogZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoIk9mZmxpbmVBc3NlbWJsZXJNZXNzYWdlIikKKyAgICB9OworfQpJ
bmRleDogUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5jaC9PZmZsaW5lQXNzZW1ibGVyL0luaXRCeXRl
Y29kZXMuYXNtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvT2ZmbGlu
ZUFzc2VtYmxlci9Jbml0Qnl0ZWNvZGVzLmFzbQkobm9uZXhpc3RlbnQpCisrKyBQZXJmb3JtYW5j
ZVRlc3RzL1JleEJlbmNoL09mZmxpbmVBc3NlbWJsZXIvSW5pdEJ5dGVjb2Rlcy5hc20JKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxOTIgQEAKKyMgU0hBMUhhc2g6IGVkMTc2OGIzMjI1ODg4ZDdh
ZjQ3OWQ1NDVkNjc2M2QxMDcwMjgxOTEKKyMgQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUg
bWV0OgorIworIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisjIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisjIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTCisjIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyMgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5ECisjIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorIyBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
CisjIEF1dG9nZW5lcmF0ZWQgZnJvbSBKYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxp
c3QuanNvbiwgZG8gbm90IG1vZGlmeS4KKworc2V0RW50cnlBZGRyZXNzKDAsIF9sbGludF9vcF9l
bnRlcikKK3NldEVudHJ5QWRkcmVzcygxLCBfbGxpbnRfb3BfZ2V0X3Njb3BlKQorc2V0RW50cnlB
ZGRyZXNzKDIsIF9sbGludF9vcF9jcmVhdGVfZGlyZWN0X2FyZ3VtZW50cykKK3NldEVudHJ5QWRk
cmVzcygzLCBfbGxpbnRfb3BfY3JlYXRlX3Njb3BlZF9hcmd1bWVudHMpCitzZXRFbnRyeUFkZHJl
c3MoNCwgX2xsaW50X29wX2NyZWF0ZV9jbG9uZWRfYXJndW1lbnRzKQorc2V0RW50cnlBZGRyZXNz
KDUsIF9sbGludF9vcF9jcmVhdGVfdGhpcykKK3NldEVudHJ5QWRkcmVzcyg2LCBfbGxpbnRfb3Bf
Z2V0X2FyZ3VtZW50KQorc2V0RW50cnlBZGRyZXNzKDcsIF9sbGludF9vcF9hcmd1bWVudF9jb3Vu
dCkKK3NldEVudHJ5QWRkcmVzcyg4LCBfbGxpbnRfb3BfdG9fdGhpcykKK3NldEVudHJ5QWRkcmVz
cyg5LCBfbGxpbnRfb3BfY2hlY2tfdGR6KQorc2V0RW50cnlBZGRyZXNzKDEwLCBfbGxpbnRfb3Bf
bmV3X29iamVjdCkKK3NldEVudHJ5QWRkcmVzcygxMSwgX2xsaW50X29wX25ld19hcnJheSkKK3Nl
dEVudHJ5QWRkcmVzcygxMiwgX2xsaW50X29wX25ld19hcnJheV93aXRoX3NpemUpCitzZXRFbnRy
eUFkZHJlc3MoMTMsIF9sbGludF9vcF9uZXdfYXJyYXlfd2l0aF9zcHJlYWQpCitzZXRFbnRyeUFk
ZHJlc3MoMTQsIF9sbGludF9vcF9zcHJlYWQpCitzZXRFbnRyeUFkZHJlc3MoMTUsIF9sbGludF9v
cF9uZXdfYXJyYXlfYnVmZmVyKQorc2V0RW50cnlBZGRyZXNzKDE2LCBfbGxpbnRfb3BfbmV3X3Jl
Z2V4cCkKK3NldEVudHJ5QWRkcmVzcygxNywgX2xsaW50X29wX21vdikKK3NldEVudHJ5QWRkcmVz
cygxOCwgX2xsaW50X29wX25vdCkKK3NldEVudHJ5QWRkcmVzcygxOSwgX2xsaW50X29wX2VxKQor
c2V0RW50cnlBZGRyZXNzKDIwLCBfbGxpbnRfb3BfZXFfbnVsbCkKK3NldEVudHJ5QWRkcmVzcygy
MSwgX2xsaW50X29wX25lcSkKK3NldEVudHJ5QWRkcmVzcygyMiwgX2xsaW50X29wX25lcV9udWxs
KQorc2V0RW50cnlBZGRyZXNzKDIzLCBfbGxpbnRfb3Bfc3RyaWN0ZXEpCitzZXRFbnRyeUFkZHJl
c3MoMjQsIF9sbGludF9vcF9uc3RyaWN0ZXEpCitzZXRFbnRyeUFkZHJlc3MoMjUsIF9sbGludF9v
cF9sZXNzKQorc2V0RW50cnlBZGRyZXNzKDI2LCBfbGxpbnRfb3BfbGVzc2VxKQorc2V0RW50cnlB
ZGRyZXNzKDI3LCBfbGxpbnRfb3BfZ3JlYXRlcikKK3NldEVudHJ5QWRkcmVzcygyOCwgX2xsaW50
X29wX2dyZWF0ZXJlcSkKK3NldEVudHJ5QWRkcmVzcygyOSwgX2xsaW50X29wX2luYykKK3NldEVu
dHJ5QWRkcmVzcygzMCwgX2xsaW50X29wX2RlYykKK3NldEVudHJ5QWRkcmVzcygzMSwgX2xsaW50
X29wX3RvX251bWJlcikKK3NldEVudHJ5QWRkcmVzcygzMiwgX2xsaW50X29wX3RvX3N0cmluZykK
K3NldEVudHJ5QWRkcmVzcygzMywgX2xsaW50X29wX25lZ2F0ZSkKK3NldEVudHJ5QWRkcmVzcygz
NCwgX2xsaW50X29wX2FkZCkKK3NldEVudHJ5QWRkcmVzcygzNSwgX2xsaW50X29wX211bCkKK3Nl
dEVudHJ5QWRkcmVzcygzNiwgX2xsaW50X29wX2RpdikKK3NldEVudHJ5QWRkcmVzcygzNywgX2xs
aW50X29wX21vZCkKK3NldEVudHJ5QWRkcmVzcygzOCwgX2xsaW50X29wX3N1YikKK3NldEVudHJ5
QWRkcmVzcygzOSwgX2xsaW50X29wX3BvdykKK3NldEVudHJ5QWRkcmVzcyg0MCwgX2xsaW50X29w
X2xzaGlmdCkKK3NldEVudHJ5QWRkcmVzcyg0MSwgX2xsaW50X29wX3JzaGlmdCkKK3NldEVudHJ5
QWRkcmVzcyg0MiwgX2xsaW50X29wX3Vyc2hpZnQpCitzZXRFbnRyeUFkZHJlc3MoNDMsIF9sbGlu
dF9vcF91bnNpZ25lZCkKK3NldEVudHJ5QWRkcmVzcyg0NCwgX2xsaW50X29wX2JpdGFuZCkKK3Nl
dEVudHJ5QWRkcmVzcyg0NSwgX2xsaW50X29wX2JpdHhvcikKK3NldEVudHJ5QWRkcmVzcyg0Niwg
X2xsaW50X29wX2JpdG9yKQorc2V0RW50cnlBZGRyZXNzKDQ3LCBfbGxpbnRfb3Bfb3ZlcnJpZGVz
X2hhc19pbnN0YW5jZSkKK3NldEVudHJ5QWRkcmVzcyg0OCwgX2xsaW50X29wX2luc3RhbmNlb2Yp
CitzZXRFbnRyeUFkZHJlc3MoNDksIF9sbGludF9vcF9pbnN0YW5jZW9mX2N1c3RvbSkKK3NldEVu
dHJ5QWRkcmVzcyg1MCwgX2xsaW50X29wX3R5cGVvZikKK3NldEVudHJ5QWRkcmVzcyg1MSwgX2xs
aW50X29wX2lzX2VtcHR5KQorc2V0RW50cnlBZGRyZXNzKDUyLCBfbGxpbnRfb3BfaXNfdW5kZWZp
bmVkKQorc2V0RW50cnlBZGRyZXNzKDUzLCBfbGxpbnRfb3BfaXNfYm9vbGVhbikKK3NldEVudHJ5
QWRkcmVzcyg1NCwgX2xsaW50X29wX2lzX251bWJlcikKK3NldEVudHJ5QWRkcmVzcyg1NSwgX2xs
aW50X29wX2lzX29iamVjdCkKK3NldEVudHJ5QWRkcmVzcyg1NiwgX2xsaW50X29wX2lzX29iamVj
dF9vcl9udWxsKQorc2V0RW50cnlBZGRyZXNzKDU3LCBfbGxpbnRfb3BfaXNfZnVuY3Rpb24pCitz
ZXRFbnRyeUFkZHJlc3MoNTgsIF9sbGludF9vcF9pc19jZWxsX3dpdGhfdHlwZSkKK3NldEVudHJ5
QWRkcmVzcyg1OSwgX2xsaW50X29wX2luKQorc2V0RW50cnlBZGRyZXNzKDYwLCBfbGxpbnRfb3Bf
Z2V0X2FycmF5X2xlbmd0aCkKK3NldEVudHJ5QWRkcmVzcyg2MSwgX2xsaW50X29wX2dldF9ieV9p
ZCkKK3NldEVudHJ5QWRkcmVzcyg2MiwgX2xsaW50X29wX2dldF9ieV9pZF9wcm90b19sb2FkKQor
c2V0RW50cnlBZGRyZXNzKDYzLCBfbGxpbnRfb3BfZ2V0X2J5X2lkX3Vuc2V0KQorc2V0RW50cnlB
ZGRyZXNzKDY0LCBfbGxpbnRfb3BfZ2V0X2J5X2lkX3dpdGhfdGhpcykKK3NldEVudHJ5QWRkcmVz
cyg2NSwgX2xsaW50X29wX2dldF9ieV92YWxfd2l0aF90aGlzKQorc2V0RW50cnlBZGRyZXNzKDY2
LCBfbGxpbnRfb3BfdHJ5X2dldF9ieV9pZCkKK3NldEVudHJ5QWRkcmVzcyg2NywgX2xsaW50X29w
X3B1dF9ieV9pZCkKK3NldEVudHJ5QWRkcmVzcyg2OCwgX2xsaW50X29wX3B1dF9ieV9pZF93aXRo
X3RoaXMpCitzZXRFbnRyeUFkZHJlc3MoNjksIF9sbGludF9vcF9kZWxfYnlfaWQpCitzZXRFbnRy
eUFkZHJlc3MoNzAsIF9sbGludF9vcF9nZXRfYnlfdmFsKQorc2V0RW50cnlBZGRyZXNzKDcxLCBf
bGxpbnRfb3BfcHV0X2J5X3ZhbCkKK3NldEVudHJ5QWRkcmVzcyg3MiwgX2xsaW50X29wX3B1dF9i
eV92YWxfd2l0aF90aGlzKQorc2V0RW50cnlBZGRyZXNzKDczLCBfbGxpbnRfb3BfcHV0X2J5X3Zh
bF9kaXJlY3QpCitzZXRFbnRyeUFkZHJlc3MoNzQsIF9sbGludF9vcF9kZWxfYnlfdmFsKQorc2V0
RW50cnlBZGRyZXNzKDc1LCBfbGxpbnRfb3BfcHV0X2J5X2luZGV4KQorc2V0RW50cnlBZGRyZXNz
KDc2LCBfbGxpbnRfb3BfcHV0X2dldHRlcl9ieV9pZCkKK3NldEVudHJ5QWRkcmVzcyg3NywgX2xs
aW50X29wX3B1dF9zZXR0ZXJfYnlfaWQpCitzZXRFbnRyeUFkZHJlc3MoNzgsIF9sbGludF9vcF9w
dXRfZ2V0dGVyX3NldHRlcl9ieV9pZCkKK3NldEVudHJ5QWRkcmVzcyg3OSwgX2xsaW50X29wX3B1
dF9nZXR0ZXJfYnlfdmFsKQorc2V0RW50cnlBZGRyZXNzKDgwLCBfbGxpbnRfb3BfcHV0X3NldHRl
cl9ieV92YWwpCitzZXRFbnRyeUFkZHJlc3MoODEsIF9sbGludF9vcF9kZWZpbmVfZGF0YV9wcm9w
ZXJ0eSkKK3NldEVudHJ5QWRkcmVzcyg4MiwgX2xsaW50X29wX2RlZmluZV9hY2Nlc3Nvcl9wcm9w
ZXJ0eSkKK3NldEVudHJ5QWRkcmVzcyg4MywgX2xsaW50X29wX2ptcCkKK3NldEVudHJ5QWRkcmVz
cyg4NCwgX2xsaW50X29wX2p0cnVlKQorc2V0RW50cnlBZGRyZXNzKDg1LCBfbGxpbnRfb3BfamZh
bHNlKQorc2V0RW50cnlBZGRyZXNzKDg2LCBfbGxpbnRfb3BfamVxX251bGwpCitzZXRFbnRyeUFk
ZHJlc3MoODcsIF9sbGludF9vcF9qbmVxX251bGwpCitzZXRFbnRyeUFkZHJlc3MoODgsIF9sbGlu
dF9vcF9qbmVxX3B0cikKK3NldEVudHJ5QWRkcmVzcyg4OSwgX2xsaW50X29wX2psZXNzKQorc2V0
RW50cnlBZGRyZXNzKDkwLCBfbGxpbnRfb3Bfamxlc3NlcSkKK3NldEVudHJ5QWRkcmVzcyg5MSwg
X2xsaW50X29wX2pncmVhdGVyKQorc2V0RW50cnlBZGRyZXNzKDkyLCBfbGxpbnRfb3BfamdyZWF0
ZXJlcSkKK3NldEVudHJ5QWRkcmVzcyg5MywgX2xsaW50X29wX2pubGVzcykKK3NldEVudHJ5QWRk
cmVzcyg5NCwgX2xsaW50X29wX2pubGVzc2VxKQorc2V0RW50cnlBZGRyZXNzKDk1LCBfbGxpbnRf
b3Bfam5ncmVhdGVyKQorc2V0RW50cnlBZGRyZXNzKDk2LCBfbGxpbnRfb3Bfam5ncmVhdGVyZXEp
CitzZXRFbnRyeUFkZHJlc3MoOTcsIF9sbGludF9vcF9sb29wX2hpbnQpCitzZXRFbnRyeUFkZHJl
c3MoOTgsIF9sbGludF9vcF9zd2l0Y2hfaW1tKQorc2V0RW50cnlBZGRyZXNzKDk5LCBfbGxpbnRf
b3Bfc3dpdGNoX2NoYXIpCitzZXRFbnRyeUFkZHJlc3MoMTAwLCBfbGxpbnRfb3Bfc3dpdGNoX3N0
cmluZykKK3NldEVudHJ5QWRkcmVzcygxMDEsIF9sbGludF9vcF9uZXdfZnVuYykKK3NldEVudHJ5
QWRkcmVzcygxMDIsIF9sbGludF9vcF9uZXdfZnVuY19leHApCitzZXRFbnRyeUFkZHJlc3MoMTAz
LCBfbGxpbnRfb3BfbmV3X2dlbmVyYXRvcl9mdW5jKQorc2V0RW50cnlBZGRyZXNzKDEwNCwgX2xs
aW50X29wX25ld19nZW5lcmF0b3JfZnVuY19leHApCitzZXRFbnRyeUFkZHJlc3MoMTA1LCBfbGxp
bnRfb3BfbmV3X2FzeW5jX2Z1bmMpCitzZXRFbnRyeUFkZHJlc3MoMTA2LCBfbGxpbnRfb3BfbmV3
X2FzeW5jX2Z1bmNfZXhwKQorc2V0RW50cnlBZGRyZXNzKDEwNywgX2xsaW50X29wX3NldF9mdW5j
dGlvbl9uYW1lKQorc2V0RW50cnlBZGRyZXNzKDEwOCwgX2xsaW50X29wX2NhbGwpCitzZXRFbnRy
eUFkZHJlc3MoMTA5LCBfbGxpbnRfb3BfdGFpbF9jYWxsKQorc2V0RW50cnlBZGRyZXNzKDExMCwg
X2xsaW50X29wX2NhbGxfZXZhbCkKK3NldEVudHJ5QWRkcmVzcygxMTEsIF9sbGludF9vcF9jYWxs
X3ZhcmFyZ3MpCitzZXRFbnRyeUFkZHJlc3MoMTEyLCBfbGxpbnRfb3BfdGFpbF9jYWxsX3ZhcmFy
Z3MpCitzZXRFbnRyeUFkZHJlc3MoMTEzLCBfbGxpbnRfb3BfdGFpbF9jYWxsX2ZvcndhcmRfYXJn
dW1lbnRzKQorc2V0RW50cnlBZGRyZXNzKDExNCwgX2xsaW50X29wX3JldCkKK3NldEVudHJ5QWRk
cmVzcygxMTUsIF9sbGludF9vcF9jb25zdHJ1Y3QpCitzZXRFbnRyeUFkZHJlc3MoMTE2LCBfbGxp
bnRfb3BfY29uc3RydWN0X3ZhcmFyZ3MpCitzZXRFbnRyeUFkZHJlc3MoMTE3LCBfbGxpbnRfb3Bf
c3RyY2F0KQorc2V0RW50cnlBZGRyZXNzKDExOCwgX2xsaW50X29wX3RvX3ByaW1pdGl2ZSkKK3Nl
dEVudHJ5QWRkcmVzcygxMTksIF9sbGludF9vcF9yZXNvbHZlX3Njb3BlKQorc2V0RW50cnlBZGRy
ZXNzKDEyMCwgX2xsaW50X29wX2dldF9mcm9tX3Njb3BlKQorc2V0RW50cnlBZGRyZXNzKDEyMSwg
X2xsaW50X29wX3B1dF90b19zY29wZSkKK3NldEVudHJ5QWRkcmVzcygxMjIsIF9sbGludF9vcF9n
ZXRfZnJvbV9hcmd1bWVudHMpCitzZXRFbnRyeUFkZHJlc3MoMTIzLCBfbGxpbnRfb3BfcHV0X3Rv
X2FyZ3VtZW50cykKK3NldEVudHJ5QWRkcmVzcygxMjQsIF9sbGludF9vcF9wdXNoX3dpdGhfc2Nv
cGUpCitzZXRFbnRyeUFkZHJlc3MoMTI1LCBfbGxpbnRfb3BfY3JlYXRlX2xleGljYWxfZW52aXJv
bm1lbnQpCitzZXRFbnRyeUFkZHJlc3MoMTI2LCBfbGxpbnRfb3BfZ2V0X3BhcmVudF9zY29wZSkK
K3NldEVudHJ5QWRkcmVzcygxMjcsIF9sbGludF9vcF9jYXRjaCkKK3NldEVudHJ5QWRkcmVzcygx
MjgsIF9sbGludF9vcF90aHJvdykKK3NldEVudHJ5QWRkcmVzcygxMjksIF9sbGludF9vcF90aHJv
d19zdGF0aWNfZXJyb3IpCitzZXRFbnRyeUFkZHJlc3MoMTMwLCBfbGxpbnRfb3BfZGVidWcpCitz
ZXRFbnRyeUFkZHJlc3MoMTMxLCBfbGxpbnRfb3BfZW5kKQorc2V0RW50cnlBZGRyZXNzKDEzMiwg
X2xsaW50X29wX3Byb2ZpbGVfdHlwZSkKK3NldEVudHJ5QWRkcmVzcygxMzMsIF9sbGludF9vcF9w
cm9maWxlX2NvbnRyb2xfZmxvdykKK3NldEVudHJ5QWRkcmVzcygxMzQsIF9sbGludF9vcF9nZXRf
ZW51bWVyYWJsZV9sZW5ndGgpCitzZXRFbnRyeUFkZHJlc3MoMTM1LCBfbGxpbnRfb3BfaGFzX2lu
ZGV4ZWRfcHJvcGVydHkpCitzZXRFbnRyeUFkZHJlc3MoMTM2LCBfbGxpbnRfb3BfaGFzX3N0cnVj
dHVyZV9wcm9wZXJ0eSkKK3NldEVudHJ5QWRkcmVzcygxMzcsIF9sbGludF9vcF9oYXNfZ2VuZXJp
Y19wcm9wZXJ0eSkKK3NldEVudHJ5QWRkcmVzcygxMzgsIF9sbGludF9vcF9nZXRfZGlyZWN0X3Bu
YW1lKQorc2V0RW50cnlBZGRyZXNzKDEzOSwgX2xsaW50X29wX2dldF9wcm9wZXJ0eV9lbnVtZXJh
dG9yKQorc2V0RW50cnlBZGRyZXNzKDE0MCwgX2xsaW50X29wX2VudW1lcmF0b3Jfc3RydWN0dXJl
X3BuYW1lKQorc2V0RW50cnlBZGRyZXNzKDE0MSwgX2xsaW50X29wX2VudW1lcmF0b3JfZ2VuZXJp
Y19wbmFtZSkKK3NldEVudHJ5QWRkcmVzcygxNDIsIF9sbGludF9vcF90b19pbmRleF9zdHJpbmcp
CitzZXRFbnRyeUFkZHJlc3MoMTQzLCBfbGxpbnRfb3BfYXNzZXJ0KQorc2V0RW50cnlBZGRyZXNz
KDE0NCwgX2xsaW50X29wX3VucmVhY2hhYmxlKQorc2V0RW50cnlBZGRyZXNzKDE0NSwgX2xsaW50
X29wX2NyZWF0ZV9yZXN0KQorc2V0RW50cnlBZGRyZXNzKDE0NiwgX2xsaW50X29wX2dldF9yZXN0
X2xlbmd0aCkKK3NldEVudHJ5QWRkcmVzcygxNDcsIF9sbGludF9vcF95aWVsZCkKK3NldEVudHJ5
QWRkcmVzcygxNDgsIF9sbGludF9vcF9jaGVja190cmFwcykKK3NldEVudHJ5QWRkcmVzcygxNDks
IF9sbGludF9vcF9sb2dfc2hhZG93X2NoaWNrZW5fcHJvbG9ndWUpCitzZXRFbnRyeUFkZHJlc3Mo
MTUwLCBfbGxpbnRfb3BfbG9nX3NoYWRvd19jaGlja2VuX3RhaWwpCitzZXRFbnRyeUFkZHJlc3Mo
MTUxLCBfbGxpbnRfb3BfcmVzb2x2ZV9zY29wZV9mb3JfaG9pc3RpbmdfZnVuY19kZWNsX2luX2V2
YWwpCitzZXRFbnRyeUFkZHJlc3MoMTUyLCBfbGxpbnRfb3Bfbm9wKQorc2V0RW50cnlBZGRyZXNz
KDE1MywgX2xsaW50X3Byb2dyYW1fcHJvbG9ndWUpCitzZXRFbnRyeUFkZHJlc3MoMTU0LCBfbGxp
bnRfZXZhbF9wcm9sb2d1ZSkKK3NldEVudHJ5QWRkcmVzcygxNTUsIF9sbGludF9tb2R1bGVfcHJv
Z3JhbV9wcm9sb2d1ZSkKK3NldEVudHJ5QWRkcmVzcygxNTYsIF9sbGludF9mdW5jdGlvbl9mb3Jf
Y2FsbF9wcm9sb2d1ZSkKK3NldEVudHJ5QWRkcmVzcygxNTcsIF9sbGludF9mdW5jdGlvbl9mb3Jf
Y29uc3RydWN0X3Byb2xvZ3VlKQorc2V0RW50cnlBZGRyZXNzKDE1OCwgX2xsaW50X2Z1bmN0aW9u
X2Zvcl9jYWxsX2FyaXR5X2NoZWNrKQorc2V0RW50cnlBZGRyZXNzKDE1OSwgX2xsaW50X2Z1bmN0
aW9uX2Zvcl9jb25zdHJ1Y3RfYXJpdHlfY2hlY2spCitzZXRFbnRyeUFkZHJlc3MoMTYwLCBfbGxp
bnRfZ2VuZXJpY19yZXR1cm5fcG9pbnQpCitzZXRFbnRyeUFkZHJlc3MoMTYxLCBfbGxpbnRfdGhy
b3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZSkKK3NldEVudHJ5QWRkcmVzcygxNjIsIF9sbGlu
dF90aHJvd19kdXJpbmdfY2FsbF90cmFtcG9saW5lKQorc2V0RW50cnlBZGRyZXNzKDE2MywgX2xs
aW50X25hdGl2ZV9jYWxsX3RyYW1wb2xpbmUpCitzZXRFbnRyeUFkZHJlc3MoMTY0LCBfbGxpbnRf
bmF0aXZlX2NvbnN0cnVjdF90cmFtcG9saW5lKQorc2V0RW50cnlBZGRyZXNzKDE2NSwgX2hhbmRs
ZVVuY2F1Z2h0RXhjZXB0aW9uKQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5jaC9PZmZs
aW5lQXNzZW1ibGVyL0luaXRCeXRlY29kZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VU
ZXN0cy9SZXhCZW5jaC9PZmZsaW5lQXNzZW1ibGVyL0luaXRCeXRlY29kZXMuanMJKG5vbmV4aXN0
ZW50KQorKysgUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5jaC9PZmZsaW5lQXNzZW1ibGVyL0luaXRC
eXRlY29kZXMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMDMgQEAKKy8qCisgKiBETyBO
T1QgRURJVCBUSElTIEZJTEUsIGl0IGlzIGF1dG9nZW5lcmF0ZWQuCisgKi8KKyJ1c2Ugc3RyaWN0
IjsKKworKGZ1bmN0aW9uKCkgeworICAgIGxldCBzb3VyY2UgPSBgIyBTSEExSGFzaDogZWQxNzY4
YjMyMjU4ODhkN2FmNDc5ZDU0NWQ2NzYzZDEwNzAyODE5MQorIyBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisjIGFyZSBtZXQ6CisjCisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMKKyMgVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkKKyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyMgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworIyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQKKyMgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisj
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKKyMgQXV0b2dlbmVyYXRlZCBmcm9tIEphdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0J5dGVjb2RlTGlzdC5qc29uLCBkbyBub3QgbW9kaWZ5LgorCitzZXRFbnRyeUFkZHJlc3MoMCwg
X2xsaW50X29wX2VudGVyKQorc2V0RW50cnlBZGRyZXNzKDEsIF9sbGludF9vcF9nZXRfc2NvcGUp
CitzZXRFbnRyeUFkZHJlc3MoMiwgX2xsaW50X29wX2NyZWF0ZV9kaXJlY3RfYXJndW1lbnRzKQor
c2V0RW50cnlBZGRyZXNzKDMsIF9sbGludF9vcF9jcmVhdGVfc2NvcGVkX2FyZ3VtZW50cykKK3Nl
dEVudHJ5QWRkcmVzcyg0LCBfbGxpbnRfb3BfY3JlYXRlX2Nsb25lZF9hcmd1bWVudHMpCitzZXRF
bnRyeUFkZHJlc3MoNSwgX2xsaW50X29wX2NyZWF0ZV90aGlzKQorc2V0RW50cnlBZGRyZXNzKDYs
IF9sbGludF9vcF9nZXRfYXJndW1lbnQpCitzZXRFbnRyeUFkZHJlc3MoNywgX2xsaW50X29wX2Fy
Z3VtZW50X2NvdW50KQorc2V0RW50cnlBZGRyZXNzKDgsIF9sbGludF9vcF90b190aGlzKQorc2V0
RW50cnlBZGRyZXNzKDksIF9sbGludF9vcF9jaGVja190ZHopCitzZXRFbnRyeUFkZHJlc3MoMTAs
IF9sbGludF9vcF9uZXdfb2JqZWN0KQorc2V0RW50cnlBZGRyZXNzKDExLCBfbGxpbnRfb3BfbmV3
X2FycmF5KQorc2V0RW50cnlBZGRyZXNzKDEyLCBfbGxpbnRfb3BfbmV3X2FycmF5X3dpdGhfc2l6
ZSkKK3NldEVudHJ5QWRkcmVzcygxMywgX2xsaW50X29wX25ld19hcnJheV93aXRoX3NwcmVhZCkK
K3NldEVudHJ5QWRkcmVzcygxNCwgX2xsaW50X29wX3NwcmVhZCkKK3NldEVudHJ5QWRkcmVzcygx
NSwgX2xsaW50X29wX25ld19hcnJheV9idWZmZXIpCitzZXRFbnRyeUFkZHJlc3MoMTYsIF9sbGlu
dF9vcF9uZXdfcmVnZXhwKQorc2V0RW50cnlBZGRyZXNzKDE3LCBfbGxpbnRfb3BfbW92KQorc2V0
RW50cnlBZGRyZXNzKDE4LCBfbGxpbnRfb3Bfbm90KQorc2V0RW50cnlBZGRyZXNzKDE5LCBfbGxp
bnRfb3BfZXEpCitzZXRFbnRyeUFkZHJlc3MoMjAsIF9sbGludF9vcF9lcV9udWxsKQorc2V0RW50
cnlBZGRyZXNzKDIxLCBfbGxpbnRfb3BfbmVxKQorc2V0RW50cnlBZGRyZXNzKDIyLCBfbGxpbnRf
b3BfbmVxX251bGwpCitzZXRFbnRyeUFkZHJlc3MoMjMsIF9sbGludF9vcF9zdHJpY3RlcSkKK3Nl
dEVudHJ5QWRkcmVzcygyNCwgX2xsaW50X29wX25zdHJpY3RlcSkKK3NldEVudHJ5QWRkcmVzcygy
NSwgX2xsaW50X29wX2xlc3MpCitzZXRFbnRyeUFkZHJlc3MoMjYsIF9sbGludF9vcF9sZXNzZXEp
CitzZXRFbnRyeUFkZHJlc3MoMjcsIF9sbGludF9vcF9ncmVhdGVyKQorc2V0RW50cnlBZGRyZXNz
KDI4LCBfbGxpbnRfb3BfZ3JlYXRlcmVxKQorc2V0RW50cnlBZGRyZXNzKDI5LCBfbGxpbnRfb3Bf
aW5jKQorc2V0RW50cnlBZGRyZXNzKDMwLCBfbGxpbnRfb3BfZGVjKQorc2V0RW50cnlBZGRyZXNz
KDMxLCBfbGxpbnRfb3BfdG9fbnVtYmVyKQorc2V0RW50cnlBZGRyZXNzKDMyLCBfbGxpbnRfb3Bf
dG9fc3RyaW5nKQorc2V0RW50cnlBZGRyZXNzKDMzLCBfbGxpbnRfb3BfbmVnYXRlKQorc2V0RW50
cnlBZGRyZXNzKDM0LCBfbGxpbnRfb3BfYWRkKQorc2V0RW50cnlBZGRyZXNzKDM1LCBfbGxpbnRf
b3BfbXVsKQorc2V0RW50cnlBZGRyZXNzKDM2LCBfbGxpbnRfb3BfZGl2KQorc2V0RW50cnlBZGRy
ZXNzKDM3LCBfbGxpbnRfb3BfbW9kKQorc2V0RW50cnlBZGRyZXNzKDM4LCBfbGxpbnRfb3Bfc3Vi
KQorc2V0RW50cnlBZGRyZXNzKDM5LCBfbGxpbnRfb3BfcG93KQorc2V0RW50cnlBZGRyZXNzKDQw
LCBfbGxpbnRfb3BfbHNoaWZ0KQorc2V0RW50cnlBZGRyZXNzKDQxLCBfbGxpbnRfb3BfcnNoaWZ0
KQorc2V0RW50cnlBZGRyZXNzKDQyLCBfbGxpbnRfb3BfdXJzaGlmdCkKK3NldEVudHJ5QWRkcmVz
cyg0MywgX2xsaW50X29wX3Vuc2lnbmVkKQorc2V0RW50cnlBZGRyZXNzKDQ0LCBfbGxpbnRfb3Bf
Yml0YW5kKQorc2V0RW50cnlBZGRyZXNzKDQ1LCBfbGxpbnRfb3BfYml0eG9yKQorc2V0RW50cnlB
ZGRyZXNzKDQ2LCBfbGxpbnRfb3BfYml0b3IpCitzZXRFbnRyeUFkZHJlc3MoNDcsIF9sbGludF9v
cF9vdmVycmlkZXNfaGFzX2luc3RhbmNlKQorc2V0RW50cnlBZGRyZXNzKDQ4LCBfbGxpbnRfb3Bf
aW5zdGFuY2VvZikKK3NldEVudHJ5QWRkcmVzcyg0OSwgX2xsaW50X29wX2luc3RhbmNlb2ZfY3Vz
dG9tKQorc2V0RW50cnlBZGRyZXNzKDUwLCBfbGxpbnRfb3BfdHlwZW9mKQorc2V0RW50cnlBZGRy
ZXNzKDUxLCBfbGxpbnRfb3BfaXNfZW1wdHkpCitzZXRFbnRyeUFkZHJlc3MoNTIsIF9sbGludF9v
cF9pc191bmRlZmluZWQpCitzZXRFbnRyeUFkZHJlc3MoNTMsIF9sbGludF9vcF9pc19ib29sZWFu
KQorc2V0RW50cnlBZGRyZXNzKDU0LCBfbGxpbnRfb3BfaXNfbnVtYmVyKQorc2V0RW50cnlBZGRy
ZXNzKDU1LCBfbGxpbnRfb3BfaXNfb2JqZWN0KQorc2V0RW50cnlBZGRyZXNzKDU2LCBfbGxpbnRf
b3BfaXNfb2JqZWN0X29yX251bGwpCitzZXRFbnRyeUFkZHJlc3MoNTcsIF9sbGludF9vcF9pc19m
dW5jdGlvbikKK3NldEVudHJ5QWRkcmVzcyg1OCwgX2xsaW50X29wX2lzX2NlbGxfd2l0aF90eXBl
KQorc2V0RW50cnlBZGRyZXNzKDU5LCBfbGxpbnRfb3BfaW4pCitzZXRFbnRyeUFkZHJlc3MoNjAs
IF9sbGludF9vcF9nZXRfYXJyYXlfbGVuZ3RoKQorc2V0RW50cnlBZGRyZXNzKDYxLCBfbGxpbnRf
b3BfZ2V0X2J5X2lkKQorc2V0RW50cnlBZGRyZXNzKDYyLCBfbGxpbnRfb3BfZ2V0X2J5X2lkX3By
b3RvX2xvYWQpCitzZXRFbnRyeUFkZHJlc3MoNjMsIF9sbGludF9vcF9nZXRfYnlfaWRfdW5zZXQp
CitzZXRFbnRyeUFkZHJlc3MoNjQsIF9sbGludF9vcF9nZXRfYnlfaWRfd2l0aF90aGlzKQorc2V0
RW50cnlBZGRyZXNzKDY1LCBfbGxpbnRfb3BfZ2V0X2J5X3ZhbF93aXRoX3RoaXMpCitzZXRFbnRy
eUFkZHJlc3MoNjYsIF9sbGludF9vcF90cnlfZ2V0X2J5X2lkKQorc2V0RW50cnlBZGRyZXNzKDY3
LCBfbGxpbnRfb3BfcHV0X2J5X2lkKQorc2V0RW50cnlBZGRyZXNzKDY4LCBfbGxpbnRfb3BfcHV0
X2J5X2lkX3dpdGhfdGhpcykKK3NldEVudHJ5QWRkcmVzcyg2OSwgX2xsaW50X29wX2RlbF9ieV9p
ZCkKK3NldEVudHJ5QWRkcmVzcyg3MCwgX2xsaW50X29wX2dldF9ieV92YWwpCitzZXRFbnRyeUFk
ZHJlc3MoNzEsIF9sbGludF9vcF9wdXRfYnlfdmFsKQorc2V0RW50cnlBZGRyZXNzKDcyLCBfbGxp
bnRfb3BfcHV0X2J5X3ZhbF93aXRoX3RoaXMpCitzZXRFbnRyeUFkZHJlc3MoNzMsIF9sbGludF9v
cF9wdXRfYnlfdmFsX2RpcmVjdCkKK3NldEVudHJ5QWRkcmVzcyg3NCwgX2xsaW50X29wX2RlbF9i
eV92YWwpCitzZXRFbnRyeUFkZHJlc3MoNzUsIF9sbGludF9vcF9wdXRfYnlfaW5kZXgpCitzZXRF
bnRyeUFkZHJlc3MoNzYsIF9sbGludF9vcF9wdXRfZ2V0dGVyX2J5X2lkKQorc2V0RW50cnlBZGRy
ZXNzKDc3LCBfbGxpbnRfb3BfcHV0X3NldHRlcl9ieV9pZCkKK3NldEVudHJ5QWRkcmVzcyg3OCwg
X2xsaW50X29wX3B1dF9nZXR0ZXJfc2V0dGVyX2J5X2lkKQorc2V0RW50cnlBZGRyZXNzKDc5LCBf
bGxpbnRfb3BfcHV0X2dldHRlcl9ieV92YWwpCitzZXRFbnRyeUFkZHJlc3MoODAsIF9sbGludF9v
cF9wdXRfc2V0dGVyX2J5X3ZhbCkKK3NldEVudHJ5QWRkcmVzcyg4MSwgX2xsaW50X29wX2RlZmlu
ZV9kYXRhX3Byb3BlcnR5KQorc2V0RW50cnlBZGRyZXNzKDgyLCBfbGxpbnRfb3BfZGVmaW5lX2Fj
Y2Vzc29yX3Byb3BlcnR5KQorc2V0RW50cnlBZGRyZXNzKDgzLCBfbGxpbnRfb3Bfam1wKQorc2V0
RW50cnlBZGRyZXNzKDg0LCBfbGxpbnRfb3BfanRydWUpCitzZXRFbnRyeUFkZHJlc3MoODUsIF9s
bGludF9vcF9qZmFsc2UpCitzZXRFbnRyeUFkZHJlc3MoODYsIF9sbGludF9vcF9qZXFfbnVsbCkK
K3NldEVudHJ5QWRkcmVzcyg4NywgX2xsaW50X29wX2puZXFfbnVsbCkKK3NldEVudHJ5QWRkcmVz
cyg4OCwgX2xsaW50X29wX2puZXFfcHRyKQorc2V0RW50cnlBZGRyZXNzKDg5LCBfbGxpbnRfb3Bf
amxlc3MpCitzZXRFbnRyeUFkZHJlc3MoOTAsIF9sbGludF9vcF9qbGVzc2VxKQorc2V0RW50cnlB
ZGRyZXNzKDkxLCBfbGxpbnRfb3BfamdyZWF0ZXIpCitzZXRFbnRyeUFkZHJlc3MoOTIsIF9sbGlu
dF9vcF9qZ3JlYXRlcmVxKQorc2V0RW50cnlBZGRyZXNzKDkzLCBfbGxpbnRfb3Bfam5sZXNzKQor
c2V0RW50cnlBZGRyZXNzKDk0LCBfbGxpbnRfb3Bfam5sZXNzZXEpCitzZXRFbnRyeUFkZHJlc3Mo
OTUsIF9sbGludF9vcF9qbmdyZWF0ZXIpCitzZXRFbnRyeUFkZHJlc3MoOTYsIF9sbGludF9vcF9q
bmdyZWF0ZXJlcSkKK3NldEVudHJ5QWRkcmVzcyg5NywgX2xsaW50X29wX2xvb3BfaGludCkKK3Nl
dEVudHJ5QWRkcmVzcyg5OCwgX2xsaW50X29wX3N3aXRjaF9pbW0pCitzZXRFbnRyeUFkZHJlc3Mo
OTksIF9sbGludF9vcF9zd2l0Y2hfY2hhcikKK3NldEVudHJ5QWRkcmVzcygxMDAsIF9sbGludF9v
cF9zd2l0Y2hfc3RyaW5nKQorc2V0RW50cnlBZGRyZXNzKDEwMSwgX2xsaW50X29wX25ld19mdW5j
KQorc2V0RW50cnlBZGRyZXNzKDEwMiwgX2xsaW50X29wX25ld19mdW5jX2V4cCkKK3NldEVudHJ5
QWRkcmVzcygxMDMsIF9sbGludF9vcF9uZXdfZ2VuZXJhdG9yX2Z1bmMpCitzZXRFbnRyeUFkZHJl
c3MoMTA0LCBfbGxpbnRfb3BfbmV3X2dlbmVyYXRvcl9mdW5jX2V4cCkKK3NldEVudHJ5QWRkcmVz
cygxMDUsIF9sbGludF9vcF9uZXdfYXN5bmNfZnVuYykKK3NldEVudHJ5QWRkcmVzcygxMDYsIF9s
bGludF9vcF9uZXdfYXN5bmNfZnVuY19leHApCitzZXRFbnRyeUFkZHJlc3MoMTA3LCBfbGxpbnRf
b3Bfc2V0X2Z1bmN0aW9uX25hbWUpCitzZXRFbnRyeUFkZHJlc3MoMTA4LCBfbGxpbnRfb3BfY2Fs
bCkKK3NldEVudHJ5QWRkcmVzcygxMDksIF9sbGludF9vcF90YWlsX2NhbGwpCitzZXRFbnRyeUFk
ZHJlc3MoMTEwLCBfbGxpbnRfb3BfY2FsbF9ldmFsKQorc2V0RW50cnlBZGRyZXNzKDExMSwgX2xs
aW50X29wX2NhbGxfdmFyYXJncykKK3NldEVudHJ5QWRkcmVzcygxMTIsIF9sbGludF9vcF90YWls
X2NhbGxfdmFyYXJncykKK3NldEVudHJ5QWRkcmVzcygxMTMsIF9sbGludF9vcF90YWlsX2NhbGxf
Zm9yd2FyZF9hcmd1bWVudHMpCitzZXRFbnRyeUFkZHJlc3MoMTE0LCBfbGxpbnRfb3BfcmV0KQor
c2V0RW50cnlBZGRyZXNzKDExNSwgX2xsaW50X29wX2NvbnN0cnVjdCkKK3NldEVudHJ5QWRkcmVz
cygxMTYsIF9sbGludF9vcF9jb25zdHJ1Y3RfdmFyYXJncykKK3NldEVudHJ5QWRkcmVzcygxMTcs
IF9sbGludF9vcF9zdHJjYXQpCitzZXRFbnRyeUFkZHJlc3MoMTE4LCBfbGxpbnRfb3BfdG9fcHJp
bWl0aXZlKQorc2V0RW50cnlBZGRyZXNzKDExOSwgX2xsaW50X29wX3Jlc29sdmVfc2NvcGUpCitz
ZXRFbnRyeUFkZHJlc3MoMTIwLCBfbGxpbnRfb3BfZ2V0X2Zyb21fc2NvcGUpCitzZXRFbnRyeUFk
ZHJlc3MoMTIxLCBfbGxpbnRfb3BfcHV0X3RvX3Njb3BlKQorc2V0RW50cnlBZGRyZXNzKDEyMiwg
X2xsaW50X29wX2dldF9mcm9tX2FyZ3VtZW50cykKK3NldEVudHJ5QWRkcmVzcygxMjMsIF9sbGlu
dF9vcF9wdXRfdG9fYXJndW1lbnRzKQorc2V0RW50cnlBZGRyZXNzKDEyNCwgX2xsaW50X29wX3B1
c2hfd2l0aF9zY29wZSkKK3NldEVudHJ5QWRkcmVzcygxMjUsIF9sbGludF9vcF9jcmVhdGVfbGV4
aWNhbF9lbnZpcm9ubWVudCkKK3NldEVudHJ5QWRkcmVzcygxMjYsIF9sbGludF9vcF9nZXRfcGFy
ZW50X3Njb3BlKQorc2V0RW50cnlBZGRyZXNzKDEyNywgX2xsaW50X29wX2NhdGNoKQorc2V0RW50
cnlBZGRyZXNzKDEyOCwgX2xsaW50X29wX3Rocm93KQorc2V0RW50cnlBZGRyZXNzKDEyOSwgX2xs
aW50X29wX3Rocm93X3N0YXRpY19lcnJvcikKK3NldEVudHJ5QWRkcmVzcygxMzAsIF9sbGludF9v
cF9kZWJ1ZykKK3NldEVudHJ5QWRkcmVzcygxMzEsIF9sbGludF9vcF9lbmQpCitzZXRFbnRyeUFk
ZHJlc3MoMTMyLCBfbGxpbnRfb3BfcHJvZmlsZV90eXBlKQorc2V0RW50cnlBZGRyZXNzKDEzMywg
X2xsaW50X29wX3Byb2ZpbGVfY29udHJvbF9mbG93KQorc2V0RW50cnlBZGRyZXNzKDEzNCwgX2xs
aW50X29wX2dldF9lbnVtZXJhYmxlX2xlbmd0aCkKK3NldEVudHJ5QWRkcmVzcygxMzUsIF9sbGlu
dF9vcF9oYXNfaW5kZXhlZF9wcm9wZXJ0eSkKK3NldEVudHJ5QWRkcmVzcygxMzYsIF9sbGludF9v
cF9oYXNfc3RydWN0dXJlX3Byb3BlcnR5KQorc2V0RW50cnlBZGRyZXNzKDEzNywgX2xsaW50X29w
X2hhc19nZW5lcmljX3Byb3BlcnR5KQorc2V0RW50cnlBZGRyZXNzKDEzOCwgX2xsaW50X29wX2dl
dF9kaXJlY3RfcG5hbWUpCitzZXRFbnRyeUFkZHJlc3MoMTM5LCBfbGxpbnRfb3BfZ2V0X3Byb3Bl
cnR5X2VudW1lcmF0b3IpCitzZXRFbnRyeUFkZHJlc3MoMTQwLCBfbGxpbnRfb3BfZW51bWVyYXRv
cl9zdHJ1Y3R1cmVfcG5hbWUpCitzZXRFbnRyeUFkZHJlc3MoMTQxLCBfbGxpbnRfb3BfZW51bWVy
YXRvcl9nZW5lcmljX3BuYW1lKQorc2V0RW50cnlBZGRyZXNzKDE0MiwgX2xsaW50X29wX3RvX2lu
ZGV4X3N0cmluZykKK3NldEVudHJ5QWRkcmVzcygxNDMsIF9sbGludF9vcF9hc3NlcnQpCitzZXRF
bnRyeUFkZHJlc3MoMTQ0LCBfbGxpbnRfb3BfdW5yZWFjaGFibGUpCitzZXRFbnRyeUFkZHJlc3Mo
MTQ1LCBfbGxpbnRfb3BfY3JlYXRlX3Jlc3QpCitzZXRFbnRyeUFkZHJlc3MoMTQ2LCBfbGxpbnRf
b3BfZ2V0X3Jlc3RfbGVuZ3RoKQorc2V0RW50cnlBZGRyZXNzKDE0NywgX2xsaW50X29wX3lpZWxk
KQorc2V0RW50cnlBZGRyZXNzKDE0OCwgX2xsaW50X29wX2NoZWNrX3RyYXBzKQorc2V0RW50cnlB
ZGRyZXNzKDE0OSwgX2xsaW50X29wX2xvZ19zaGFkb3dfY2hpY2tlbl9wcm9sb2d1ZSkKK3NldEVu
dHJ5QWRkcmVzcygxNTAsIF9sbGludF9vcF9sb2dfc2hhZG93X2NoaWNrZW5fdGFpbCkKK3NldEVu
dHJ5QWRkcmVzcygxNTEsIF9sbGludF9vcF9yZXNvbHZlX3Njb3BlX2Zvcl9ob2lzdGluZ19mdW5j
X2RlY2xfaW5fZXZhbCkKK3NldEVudHJ5QWRkcmVzcygxNTIsIF9sbGludF9vcF9ub3ApCitzZXRF
bnRyeUFkZHJlc3MoMTUzLCBfbGxpbnRfcHJvZ3JhbV9wcm9sb2d1ZSkKK3NldEVudHJ5QWRkcmVz
cygxNTQsIF9sbGludF9ldmFsX3Byb2xvZ3VlKQorc2V0RW50cnlBZGRyZXNzKDE1NSwgX2xsaW50
X21vZHVsZV9wcm9ncmFtX3Byb2xvZ3VlKQorc2V0RW50cnlBZGRyZXNzKDE1NiwgX2xsaW50X2Z1
bmN0aW9uX2Zvcl9jYWxsX3Byb2xvZ3VlKQorc2V0RW50cnlBZGRyZXNzKDE1NywgX2xsaW50X2Z1
bmN0aW9uX2Zvcl9jb25zdHJ1Y3RfcHJvbG9ndWUpCitzZXRFbnRyeUFkZHJlc3MoMTU4LCBfbGxp
bnRfZnVuY3Rpb25fZm9yX2NhbGxfYXJpdHlfY2hlY2spCitzZXRFbnRyeUFkZHJlc3MoMTU5LCBf
bGxpbnRfZnVuY3Rpb25fZm9yX2NvbnN0cnVjdF9hcml0eV9jaGVjaykKK3NldEVudHJ5QWRkcmVz
cygxNjAsIF9sbGludF9nZW5lcmljX3JldHVybl9wb2ludCkKK3NldEVudHJ5QWRkcmVzcygxNjEs
IF9sbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lKQorc2V0RW50cnlBZGRyZXNz
KDE2MiwgX2xsaW50X3Rocm93X2R1cmluZ19jYWxsX3RyYW1wb2xpbmUpCitzZXRFbnRyeUFkZHJl
c3MoMTYzLCBfbGxpbnRfbmF0aXZlX2NhbGxfdHJhbXBvbGluZSkKK3NldEVudHJ5QWRkcmVzcygx
NjQsIF9sbGludF9uYXRpdmVfY29uc3RydWN0X3RyYW1wb2xpbmUpCitzZXRFbnRyeUFkZHJlc3Mo
MTY1LCBfaGFuZGxlVW5jYXVnaHRFeGNlcHRpb24pCitgOworCisgICAgbmV3IEZpbGUoIkluaXRC
eXRlY29kZXMuYXNtIiwgc291cmNlKTsKK30pKCk7CisKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMv
UmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9M
b3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCShub25leGlzdGVudCkKKysrIFBlcmZvcm1hbmNl
VGVzdHMvUmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQu
YXNtCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjUzNiBAQAorIyBDb3B5cmlnaHQgKEMpIDIw
MTEtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
IyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyMgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisjIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyMgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisj
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyMgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyMgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisjIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisjIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisjIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyMgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKKyMgVXRpbGl0aWVzCittYWNybyBkaXNwYXRjaChh
ZHZhbmNlKQorICAgIGFkZHAgYWR2YW5jZSAqIDQsIFBDCisgICAgam1wIFtQQ10KK2VuZAorCitt
YWNybyBkaXNwYXRjaEJyYW5jaFdpdGhPZmZzZXQocGNPZmZzZXQpCisgICAgbHNoaWZ0aSAyLCBw
Y09mZnNldAorICAgIGFkZHAgcGNPZmZzZXQsIFBDCisgICAgam1wIFtQQ10KK2VuZAorCittYWNy
byBkaXNwYXRjaEJyYW5jaChwY09mZnNldCkKKyAgICBsb2FkaSBwY09mZnNldCwgdDAKKyAgICBk
aXNwYXRjaEJyYW5jaFdpdGhPZmZzZXQodDApCitlbmQKKworbWFjcm8gZGlzcGF0Y2hBZnRlckNh
bGwoKQorICAgIGxvYWRpIEFyZ3VtZW50Q291bnQgKyBUYWdPZmZzZXRbY2ZyXSwgUEMKKyAgICBs
b2FkaSA0W1BDXSwgdDMKKyAgICBzdG9yZWkgcjEsIFRhZ09mZnNldFtjZnIsIHQzLCA4XQorICAg
IHN0b3JlaSByMCwgUGF5bG9hZE9mZnNldFtjZnIsIHQzLCA4XQorICAgIHZhbHVlUHJvZmlsZShy
MSwgcjAsIDQgKiAoQ2FsbE9wQ29kZVNpemUgLSAxKSwgdDMpCisgICAgZGlzcGF0Y2goQ2FsbE9w
Q29kZVNpemUpCitlbmQKKworbWFjcm8gY0NhbGwyKGZ1bmN0aW9uKQorICAgIGlmIEFSTSBvciBB
Uk12NyBvciBBUk12N19UUkFESVRJT05BTCBvciBNSVBTCisgICAgICAgIGNhbGwgZnVuY3Rpb24K
KyAgICBlbHNpZiBYODYgb3IgWDg2X1dJTgorICAgICAgICBzdWJwIDgsIHNwCisgICAgICAgIHB1
c2ggYTEKKyAgICAgICAgcHVzaCBhMAorICAgICAgICBjYWxsIGZ1bmN0aW9uCisgICAgICAgIGFk
ZHAgMTYsIHNwCisgICAgZWxzaWYgQ19MT09QCisgICAgICAgIGNsb29wQ2FsbFNsb3dQYXRoIGZ1
bmN0aW9uLCBhMCwgYTEKKyAgICBlbHNlCisgICAgICAgIGVycm9yCisgICAgZW5kCitlbmQKKwor
bWFjcm8gY0NhbGwyVm9pZChmdW5jdGlvbikKKyAgICBpZiBDX0xPT1AKKyAgICAgICAgY2xvb3BD
YWxsU2xvd1BhdGhWb2lkIGZ1bmN0aW9uLCBhMCwgYTEKKyAgICBlbHNlCisgICAgICAgIGNDYWxs
MihmdW5jdGlvbikKKyAgICBlbmQKK2VuZAorCittYWNybyBjQ2FsbDQoZnVuY3Rpb24pCisgICAg
aWYgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIE1JUFMKKyAgICAgICAgY2Fs
bCBmdW5jdGlvbgorICAgIGVsc2lmIFg4NiBvciBYODZfV0lOCisgICAgICAgIHB1c2ggYTMKKyAg
ICAgICAgcHVzaCBhMgorICAgICAgICBwdXNoIGExCisgICAgICAgIHB1c2ggYTAKKyAgICAgICAg
Y2FsbCBmdW5jdGlvbgorICAgICAgICBhZGRwIDE2LCBzcAorICAgIGVsc2lmIENfTE9PUAorICAg
ICAgICBlcnJvcgorICAgIGVsc2UKKyAgICAgICAgZXJyb3IKKyAgICBlbmQKK2VuZAorCittYWNy
byBjYWxsU2xvd1BhdGgoc2xvd1BhdGgpCisgICAgbW92ZSBjZnIsIGEwCisgICAgbW92ZSBQQywg
YTEKKyAgICBjQ2FsbDIoc2xvd1BhdGgpCisgICAgbW92ZSByMCwgUEMKK2VuZAorCittYWNybyBk
b1ZNRW50cnkobWFrZUNhbGwpCisgICAgZnVuY3Rpb25Qcm9sb2d1ZSgpCisgICAgcHVzaENhbGxl
ZVNhdmVzKCkKKworICAgICMgeDg2IG5lZWRzIHRvIGxvYWQgYXJndW1lbnRzIGZyb20gdGhlIHN0
YWNrCisgICAgaWYgWDg2IG9yIFg4Nl9XSU4KKyAgICAgICAgbG9hZHAgMTZbY2ZyXSwgYTIKKyAg
ICAgICAgbG9hZHAgMTJbY2ZyXSwgYTEKKyAgICAgICAgbG9hZHAgOFtjZnJdLCBhMAorICAgIGVu
ZAorCisgICAgY29uc3QgZW50cnkgPSBhMAorICAgIGNvbnN0IHZtID0gYTEKKyAgICBjb25zdCBw
cm90b0NhbGxGcmFtZSA9IGEyCisKKyAgICAjIFdlIGFyZSB1c2luZyB0MywgdDQgYW5kIHQ1IGFz
IHRlbXBvcmFyaWVzIHRocm91Z2ggdGhlIGZ1bmN0aW9uLgorICAgICMgU2luY2Ugd2UgaGF2ZSB0
aGUgZ3VhcmFudGVlIHRoYXQgdFggIT0gYVkgd2hlbiBYICE9IFksIHdlIGFyZSBzYWZlIGZyb20K
KyAgICAjIGFsaWFzaW5nIHByb2JsZW1zIHdpdGggb3VyIGFyZ3VtZW50cy4KKworICAgIGlmIEFS
TXY3CisgICAgICAgIHZtRW50cnlSZWNvcmQoY2ZyLCB0MykKKyAgICAgICAgbW92ZSB0Mywgc3AK
KyAgICBlbHNlCisgICAgICAgIHZtRW50cnlSZWNvcmQoY2ZyLCBzcCkKKyAgICBlbmQKKworICAg
IHN0b3JlcCB2bSwgVk1FbnRyeVJlY29yZDo6bV92bVtzcF0KKyAgICBsb2FkcCBWTTo6dG9wQ2Fs
bEZyYW1lW3ZtXSwgdDQKKyAgICBzdG9yZXAgdDQsIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcENh
bGxGcmFtZVtzcF0KKyAgICBsb2FkcCBWTTo6dG9wVk1FbnRyeUZyYW1lW3ZtXSwgdDQKKyAgICBz
dG9yZXAgdDQsIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcFZNRW50cnlGcmFtZVtzcF0KKworICAg
ICMgQWxpZ24gc3RhY2sgcG9pbnRlcgorICAgIGlmIFg4Nl9XSU4gb3IgTUlQUworICAgICAgICBh
ZGRwIENhbGxGcmFtZUFsaWduU2xvdHMgKiBTbG90U2l6ZSwgc3AsIHQzCisgICAgICAgIGFuZHAg
flN0YWNrQWxpZ25tZW50TWFzaywgdDMKKyAgICAgICAgc3VicCB0MywgQ2FsbEZyYW1lQWxpZ25T
bG90cyAqIFNsb3RTaXplLCBzcAorICAgIGVsc2lmIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFE
SVRJT05BTAorICAgICAgICBhZGRwIENhbGxGcmFtZUFsaWduU2xvdHMgKiBTbG90U2l6ZSwgc3As
IHQzCisgICAgICAgIGNscmJwIHQzLCBTdGFja0FsaWdubWVudE1hc2ssIHQzCisgICAgICAgIGlm
IEFSTXY3CisgICAgICAgICAgICBzdWJwIHQzLCBDYWxsRnJhbWVBbGlnblNsb3RzICogU2xvdFNp
emUsIHQzCisgICAgICAgICAgICBtb3ZlIHQzLCBzcAorICAgICAgICBlbHNlCisgICAgICAgICAg
ICBzdWJwIHQzLCBDYWxsRnJhbWVBbGlnblNsb3RzICogU2xvdFNpemUsIHNwCisgICAgICAgIGVu
ZAorICAgIGVuZAorCisgICAgbG9hZGkgUHJvdG9DYWxsRnJhbWU6OnBhZGRlZEFyZ0NvdW50W3By
b3RvQ2FsbEZyYW1lXSwgdDQKKyAgICBhZGRwIENhbGxGcmFtZUhlYWRlclNsb3RzLCB0NCwgdDQK
KyAgICBsc2hpZnRwIDMsIHQ0CisgICAgc3VicCBzcCwgdDQsIHQzCisgICAgYnBhIHQzLCBzcCwg
LnRocm93U3RhY2tPdmVyZmxvdworCisgICAgIyBFbnN1cmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBh
ZGRpdGlvbmFsIHN0YWNrIGNhcGFjaXR5IGZvciB0aGUgaW5jb21pbmcgYXJncywKKyAgICAjIGFu
ZCB0aGUgZnJhbWUgZm9yIHRoZSBKUyBjb2RlIHdlJ3JlIGV4ZWN1dGluZy4gV2UgbmVlZCB0byBk
byB0aGlzIGNoZWNrCisgICAgIyBiZWZvcmUgd2Ugc3RhcnQgY29weWluZyB0aGUgYXJncyBmcm9t
IHRoZSBwcm90b0NhbGxGcmFtZSBiZWxvdy4KKyAgICBpZiBDX0xPT1AKKyAgICAgICAgYnBhZXEg
dDMsIFZNOjptX2Nsb29wU3RhY2tMaW1pdFt2bV0sIC5zdGFja0hlaWdodE9LCisgICAgZWxzZQor
ICAgICAgICBicGFlcSB0MywgVk06Om1fc29mdFN0YWNrTGltaXRbdm1dLCAuc3RhY2tIZWlnaHRP
SworICAgIGVuZAorCisgICAgaWYgQ19MT09QCisgICAgICAgIG1vdmUgZW50cnksIHQ0CisgICAg
ICAgIG1vdmUgdm0sIHQ1CisgICAgICAgIGNsb29wQ2FsbFNsb3dQYXRoIF9sbGludF9zdGFja19j
aGVja19hdF92bV9lbnRyeSwgdm0sIHQzCisgICAgICAgIGJwZXEgdDAsIDAsIC5zdGFja0NoZWNr
RmFpbGVkCisgICAgICAgIG1vdmUgdDQsIGVudHJ5CisgICAgICAgIG1vdmUgdDUsIHZtCisgICAg
ICAgIGptcCAuc3RhY2tIZWlnaHRPSworCisuc3RhY2tDaGVja0ZhaWxlZDoKKyAgICAgICAgbW92
ZSB0NCwgZW50cnkKKyAgICAgICAgbW92ZSB0NSwgdm0KKyAgICBlbmQKKworLnRocm93U3RhY2tP
dmVyZmxvdzoKKyAgICBzdWJwIDgsIHNwICMgQWxpZ24gc3RhY2sgZm9yIGNDYWxsMigpIHRvIG1h
a2UgYSBjYWxsLgorICAgIG1vdmUgdm0sIGEwCisgICAgbW92ZSBwcm90b0NhbGxGcmFtZSwgYTEK
KyAgICBjQ2FsbDIoX2xsaW50X3Rocm93X3N0YWNrX292ZXJmbG93X2Vycm9yKQorCisgICAgaWYg
QVJNdjcKKyAgICAgICAgdm1FbnRyeVJlY29yZChjZnIsIHQzKQorICAgICAgICBtb3ZlIHQzLCBz
cAorICAgIGVsc2UKKyAgICAgICAgdm1FbnRyeVJlY29yZChjZnIsIHNwKQorICAgIGVuZAorCisg
ICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6bV92bVtzcF0sIHQ1CisgICAgbG9hZHAgVk1FbnRyeVJl
Y29yZDo6bV9wcmV2VG9wQ2FsbEZyYW1lW3NwXSwgdDQKKyAgICBzdG9yZXAgdDQsIFZNOjp0b3BD
YWxsRnJhbWVbdDVdCisgICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wVk1FbnRyeUZy
YW1lW3NwXSwgdDQKKyAgICBzdG9yZXAgdDQsIFZNOjp0b3BWTUVudHJ5RnJhbWVbdDVdCisKKyAg
ICBpZiBBUk12NworICAgICAgICBzdWJwIGNmciwgQ2FsbGVlUmVnaXN0ZXJTYXZlU2l6ZSwgdDUK
KyAgICAgICAgbW92ZSB0NSwgc3AKKyAgICBlbHNlCisgICAgICAgIHN1YnAgY2ZyLCBDYWxsZWVS
ZWdpc3RlclNhdmVTaXplLCBzcAorICAgIGVuZAorCisgICAgcG9wQ2FsbGVlU2F2ZXMoKQorICAg
IGZ1bmN0aW9uRXBpbG9ndWUoKQorICAgIHJldAorCisuc3RhY2tIZWlnaHRPSzoKKyAgICBtb3Zl
IHQzLCBzcAorICAgIG1vdmUgNCwgdDMKKworLmNvcHlIZWFkZXJMb29wOgorICAgIHN1YmkgMSwg
dDMKKyAgICBsb2FkaSBUYWdPZmZzZXRbcHJvdG9DYWxsRnJhbWUsIHQzLCA4XSwgdDUKKyAgICBz
dG9yZWkgdDUsIFRhZ09mZnNldCArIENvZGVCbG9ja1tzcCwgdDMsIDhdCisgICAgbG9hZGkgUGF5
bG9hZE9mZnNldFtwcm90b0NhbGxGcmFtZSwgdDMsIDhdLCB0NQorICAgIHN0b3JlaSB0NSwgUGF5
bG9hZE9mZnNldCArIENvZGVCbG9ja1tzcCwgdDMsIDhdCisgICAgYnRpbnogdDMsIC5jb3B5SGVh
ZGVyTG9vcAorCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldCArIFByb3RvQ2FsbEZyYW1lOjphcmdD
b3VudEFuZENvZGVPcmlnaW5WYWx1ZVtwcm90b0NhbGxGcmFtZV0sIHQ0CisgICAgc3ViaSAxLCB0
NAorICAgIGxvYWRpIFByb3RvQ2FsbEZyYW1lOjpwYWRkZWRBcmdDb3VudFtwcm90b0NhbGxGcmFt
ZV0sIHQ1CisgICAgc3ViaSAxLCB0NQorCisgICAgYmllcSB0NCwgdDUsIC5jb3B5QXJncworLmZp
bGxFeHRyYUFyZ3NMb29wOgorICAgIHN1YmkgMSwgdDUKKyAgICBzdG9yZWkgVW5kZWZpbmVkVGFn
LCBUaGlzQXJndW1lbnRPZmZzZXQgKyA4ICsgVGFnT2Zmc2V0W3NwLCB0NSwgOF0KKyAgICBzdG9y
ZWkgMCwgVGhpc0FyZ3VtZW50T2Zmc2V0ICsgOCArIFBheWxvYWRPZmZzZXRbc3AsIHQ1LCA4XQor
ICAgIGJpbmVxIHQ0LCB0NSwgLmZpbGxFeHRyYUFyZ3NMb29wCisKKy5jb3B5QXJnczoKKyAgICBs
b2FkcCBQcm90b0NhbGxGcmFtZTo6YXJnc1twcm90b0NhbGxGcmFtZV0sIHQzCisKKy5jb3B5QXJn
c0xvb3A6CisgICAgYnRpeiB0NCwgLmNvcHlBcmdzRG9uZQorICAgIHN1YmkgMSwgdDQKKyAgICBs
b2FkaSBUYWdPZmZzZXRbdDMsIHQ0LCA4XSwgdDUKKyAgICBzdG9yZWkgdDUsIFRoaXNBcmd1bWVu
dE9mZnNldCArIDggKyBUYWdPZmZzZXRbc3AsIHQ0LCA4XQorICAgIGxvYWRpIFBheWxvYWRPZmZz
ZXRbdDMsIHQ0LCA4XSwgdDUKKyAgICBzdG9yZWkgdDUsIFRoaXNBcmd1bWVudE9mZnNldCArIDgg
KyBQYXlsb2FkT2Zmc2V0W3NwLCB0NCwgOF0KKyAgICBqbXAgLmNvcHlBcmdzTG9vcAorCisuY29w
eUFyZ3NEb25lOgorICAgIHN0b3JlcCBzcCwgVk06OnRvcENhbGxGcmFtZVt2bV0KKyAgICBzdG9y
ZXAgY2ZyLCBWTTo6dG9wVk1FbnRyeUZyYW1lW3ZtXQorCisgICAgbWFrZUNhbGwoZW50cnksIHQz
LCB0NCkKKworICAgIGlmIEFSTXY3CisgICAgICAgIHZtRW50cnlSZWNvcmQoY2ZyLCB0MykKKyAg
ICAgICAgbW92ZSB0Mywgc3AKKyAgICBlbHNlCisgICAgICAgIHZtRW50cnlSZWNvcmQoY2ZyLCBz
cCkKKyAgICBlbmQKKworICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1fdm1bc3BdLCB0NQorICAg
IGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcENhbGxGcmFtZVtzcF0sIHQ0CisgICAgc3Rv
cmVwIHQ0LCBWTTo6dG9wQ2FsbEZyYW1lW3Q1XQorICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1f
cHJldlRvcFZNRW50cnlGcmFtZVtzcF0sIHQ0CisgICAgc3RvcmVwIHQ0LCBWTTo6dG9wVk1FbnRy
eUZyYW1lW3Q1XQorCisgICAgaWYgQVJNdjcKKyAgICAgICAgc3VicCBjZnIsIENhbGxlZVJlZ2lz
dGVyU2F2ZVNpemUsIHQ1CisgICAgICAgIG1vdmUgdDUsIHNwCisgICAgZWxzZQorICAgICAgICBz
dWJwIGNmciwgQ2FsbGVlUmVnaXN0ZXJTYXZlU2l6ZSwgc3AKKyAgICBlbmQKKworICAgIHBvcENh
bGxlZVNhdmVzKCkKKyAgICBmdW5jdGlvbkVwaWxvZ3VlKCkKKyAgICByZXQKK2VuZAorCittYWNy
byBtYWtlSmF2YVNjcmlwdENhbGwoZW50cnksIHRlbXAsIHVudXNlZCkKKyAgICBhZGRwIENhbGxl
ckZyYW1lQW5kUENTaXplLCBzcAorICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHRlbXAs
IDB4YmFkMGRjMDIpCisgICAgaWYgQ19MT09QCisgICAgICAgIGNsb29wQ2FsbEpTRnVuY3Rpb24g
ZW50cnkKKyAgICBlbHNlCisgICAgICAgIGNhbGwgZW50cnkKKyAgICBlbmQKKyAgICBjaGVja1N0
YWNrUG9pbnRlckFsaWdubWVudCh0ZW1wLCAweGJhZDBkYzAzKQorICAgIHN1YnAgQ2FsbGVyRnJh
bWVBbmRQQ1NpemUsIHNwCitlbmQKKworbWFjcm8gbWFrZUhvc3RGdW5jdGlvbkNhbGwoZW50cnks
IHRlbXAxLCB0ZW1wMikKKyAgICBtb3ZlIGVudHJ5LCB0ZW1wMQorICAgIHN0b3JlcCBjZnIsIFtz
cF0KKyAgICBpZiBDX0xPT1AKKyAgICAgICAgbW92ZSBzcCwgYTAKKyAgICAgICAgc3RvcmVwIGxy
LCBQdHJTaXplW3NwXQorICAgICAgICBjbG9vcENhbGxOYXRpdmUgdGVtcDEKKyAgICBlbHNpZiBY
ODYgb3IgWDg2X1dJTgorICAgICAgICAjIFB1dCBjYWxsZWUgZnJhbWUgcG9pbnRlciBvbiBzdGFj
ayBhcyBhcmcwLCBhbHNvIHB1dCBpdCBpbiBlY3ggZm9yICJmYXN0Y2FsbCIgdGFyZ2V0cworICAg
ICAgICBtb3ZlIDAsIHRlbXAyCisgICAgICAgIG1vdmUgdGVtcDIsIDRbc3BdICMgcHV0IDAgaW4g
UmV0dXJuUEMKKyAgICAgICAgbW92ZSBzcCwgYTAgIyBhMCBpcyBlY3gKKyAgICAgICAgcHVzaCB0
ZW1wMiAjIFB1c2ggZHVtbXkgYXJnMQorICAgICAgICBwdXNoIGEwCisgICAgICAgIGNhbGwgdGVt
cDEKKyAgICAgICAgYWRkcCA4LCBzcAorICAgIGVsc2UKKyAgICAgICAgbW92ZSBzcCwgYTAKKyAg
ICAgICAgY2FsbCB0ZW1wMQorICAgIGVuZAorZW5kCisKK19oYW5kbGVVbmNhdWdodEV4Y2VwdGlv
bjoKKyAgICBsb2FkcCBDYWxsZWUgKyBQYXlsb2FkT2Zmc2V0W2Nmcl0sIHQzCisgICAgYW5kcCBN
YXJrZWRCbG9ja01hc2ssIHQzCisgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fdm1bdDNdLCB0Mwor
ICAgIHJlc3RvcmVDYWxsZWVTYXZlc0Zyb21WTUVudHJ5RnJhbWVDYWxsZWVTYXZlc0J1ZmZlcih0
MywgdDApCisgICAgbG9hZHAgVk06OmNhbGxGcmFtZUZvckNhdGNoW3QzXSwgY2ZyCisgICAgc3Rv
cmVwIDAsIFZNOjpjYWxsRnJhbWVGb3JDYXRjaFt0M10KKworICAgIGxvYWRwIENhbGxlckZyYW1l
W2Nmcl0sIGNmcgorCisgICAgaWYgQVJNdjcKKyAgICAgICAgdm1FbnRyeVJlY29yZChjZnIsIHQz
KQorICAgICAgICBtb3ZlIHQzLCBzcAorICAgIGVsc2UKKyAgICAgICAgdm1FbnRyeVJlY29yZChj
ZnIsIHNwKQorICAgIGVuZAorCisgICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6bV92bVtzcF0sIHQz
CisgICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wQ2FsbEZyYW1lW3NwXSwgdDUKKyAg
ICBzdG9yZXAgdDUsIFZNOjp0b3BDYWxsRnJhbWVbdDNdCisgICAgbG9hZHAgVk1FbnRyeVJlY29y
ZDo6bV9wcmV2VG9wVk1FbnRyeUZyYW1lW3NwXSwgdDUKKyAgICBzdG9yZXAgdDUsIFZNOjp0b3BW
TUVudHJ5RnJhbWVbdDNdCisKKyAgICBpZiBBUk12NworICAgICAgICBzdWJwIGNmciwgQ2FsbGVl
UmVnaXN0ZXJTYXZlU2l6ZSwgdDMKKyAgICAgICAgbW92ZSB0Mywgc3AKKyAgICBlbHNlCisgICAg
ICAgIHN1YnAgY2ZyLCBDYWxsZWVSZWdpc3RlclNhdmVTaXplLCBzcAorICAgIGVuZAorCisgICAg
cG9wQ2FsbGVlU2F2ZXMoKQorICAgIGZ1bmN0aW9uRXBpbG9ndWUoKQorICAgIHJldAorCittYWNy
byBkb1JldHVybkZyb21Ib3N0RnVuY3Rpb24oZXh0cmFTdGFja1NwYWNlKQorICAgIGZ1bmN0aW9u
RXBpbG9ndWUoZXh0cmFTdGFja1NwYWNlKQorICAgIHJldAorZW5kCisKKyMgRGVidWdnaW5nIG9w
ZXJhdGlvbiBpZiB5b3UnZCBsaWtlIHRvIHByaW50IGFuIG9wZXJhbmQgaW4gdGhlIGluc3RydWN0
aW9uIHN0cmVhbS4gZnJvbVdoZXJlCisjIHNob3VsZCBiZSBhbiBpbW1lZGlhdGUgaW50ZWdlciAt
IGFueSBpbnRlZ2VyIHlvdSBsaWtlOyB1c2UgaXQgdG8gaWRlbnRpZnkgdGhlIHBsYWNlIHlvdSdy
ZQorIyBkZWJ1Z2dpbmcgZnJvbS4gb3BlcmFuZCBzaG91bGQgbGlrZXdpc2UgYmUgYW4gaW1tZWRp
YXRlLCBhbmQgc2hvdWxkIGlkZW50aWZ5IHRoZSBvcGVyYW5kCisjIGluIHRoZSBpbnN0cnVjdGlv
biBzdHJlYW0geW91J2QgbGlrZSB0byBwcmludCBvdXQuCittYWNybyB0cmFjZU9wZXJhbmQoZnJv
bVdoZXJlLCBvcGVyYW5kKQorICAgIG1vdmUgZnJvbVdoZXJlLCBhMgorICAgIG1vdmUgb3BlcmFu
ZCwgYTMKKyAgICBtb3ZlIGNmciwgYTAKKyAgICBtb3ZlIFBDLCBhMQorICAgIGNDYWxsNChfbGxp
bnRfdHJhY2Vfb3BlcmFuZCkKKyAgICBtb3ZlIHIwLCBQQworICAgIG1vdmUgcjEsIGNmcgorZW5k
CisKKyMgRGVidWdnaW5nIG9wZXJhdGlvbiBpZiB5b3UnZCBsaWtlIHRvIHByaW50IHRoZSB2YWx1
ZSBvZiBhbiBvcGVyYW5kIGluIHRoZSBpbnN0cnVjdGlvbgorIyBzdHJlYW0uIFNhbWUgYXMgdHJh
Y2VPcGVyYW5kKCksIGJ1dCBhc3N1bWVzIHRoYXQgdGhlIG9wZXJhbmQgaXMgYSByZWdpc3Rlciwg
YW5kIHByaW50cyBpdHMKKyMgdmFsdWUuCittYWNybyB0cmFjZVZhbHVlKGZyb21XaGVyZSwgb3Bl
cmFuZCkKKyAgICBtb3ZlIGZyb21XaGVyZSwgYTIKKyAgICBtb3ZlIG9wZXJhbmQsIGEzCisgICAg
bW92ZSBjZnIsIGEwCisgICAgbW92ZSBQQywgYTEKKyAgICBjQ2FsbDQoX2xsaW50X3RyYWNlX3Zh
bHVlKQorICAgIG1vdmUgcjAsIFBDCisgICAgbW92ZSByMSwgY2ZyCitlbmQKKworIyBDYWxsIGEg
c2xvd1BhdGggZm9yIGNhbGwgb3Bjb2Rlcy4KK21hY3JvIGNhbGxDYWxsU2xvd1BhdGgoc2xvd1Bh
dGgsIGFjdGlvbikKKyAgICBzdG9yZXAgUEMsIEFyZ3VtZW50Q291bnQgKyBUYWdPZmZzZXRbY2Zy
XQorICAgIG1vdmUgY2ZyLCBhMAorICAgIG1vdmUgUEMsIGExCisgICAgY0NhbGwyKHNsb3dQYXRo
KQorICAgIGFjdGlvbihyMCwgcjEpCitlbmQKKworbWFjcm8gY2FsbFRyYXBIYW5kbGVyKHRocm93
SGFuZGxlcikKKyAgICBzdG9yZWkgUEMsIEFyZ3VtZW50Q291bnQgKyBUYWdPZmZzZXRbY2ZyXQor
ICAgIG1vdmUgY2ZyLCBhMAorICAgIG1vdmUgUEMsIGExCisgICAgY0NhbGwyKF9sbGludF9zbG93
X3BhdGhfaGFuZGxlX3RyYXBzKQorICAgIGJ0cG56IHIwLCB0aHJvd0hhbmRsZXIKKyAgICBsb2Fk
aSBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0sIFBDCitlbmQKKworbWFjcm8gY2hlY2tT
d2l0Y2hUb0pJVEZvckxvb3AoKQorICAgIGNoZWNrU3dpdGNoVG9KSVQoCisgICAgICAgIDEsCisg
ICAgICAgIG1hY3JvICgpCisgICAgICAgICAgICBzdG9yZWkgUEMsIEFyZ3VtZW50Q291bnQgKyBU
YWdPZmZzZXRbY2ZyXQorICAgICAgICAgICAgbW92ZSBjZnIsIGEwCisgICAgICAgICAgICBtb3Zl
IFBDLCBhMQorICAgICAgICAgICAgY0NhbGwyKF9sbGludF9sb29wX29zcikKKyAgICAgICAgICAg
IGJ0cHogcjAsIC5yZWNvdmVyCisgICAgICAgICAgICBtb3ZlIHIxLCBzcAorICAgICAgICAgICAg
am1wIHIwCisgICAgICAgIC5yZWNvdmVyOgorICAgICAgICAgICAgbG9hZGkgQXJndW1lbnRDb3Vu
dCArIFRhZ09mZnNldFtjZnJdLCBQQworICAgICAgICBlbmQpCitlbmQKKworbWFjcm8gbG9hZFZh
cmlhYmxlKG9wZXJhbmQsIGluZGV4LCB0YWcsIHBheWxvYWQpCisgICAgbG9hZGlzRnJvbUluc3Ry
dWN0aW9uKG9wZXJhbmQsIGluZGV4KQorICAgIGxvYWRpIFRhZ09mZnNldFtjZnIsIGluZGV4LCA4
XSwgdGFnCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIGluZGV4LCA4XSwgcGF5bG9hZAor
ZW5kCisKKyMgSW5kZXgsIHRhZywgYW5kIHBheWxvYWQgbXVzdCBiZSBkaWZmZXJlbnQgcmVnaXN0
ZXJzLiBJbmRleCBpcyBub3QKKyMgY2hhbmdlZC4KK21hY3JvIGxvYWRDb25zdGFudE9yVmFyaWFi
bGUoaW5kZXgsIHRhZywgcGF5bG9hZCkKKyAgICBiaWd0ZXEgaW5kZXgsIEZpcnN0Q29uc3RhbnRS
ZWdpc3RlckluZGV4LCAuY29uc3RhbnQKKyAgICBsb2FkaSBUYWdPZmZzZXRbY2ZyLCBpbmRleCwg
OF0sIHRhZworICAgIGxvYWRpIFBheWxvYWRPZmZzZXRbY2ZyLCBpbmRleCwgOF0sIHBheWxvYWQK
KyAgICBqbXAgLmRvbmUKKy5jb25zdGFudDoKKyAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgcGF5
bG9hZAorICAgIGxvYWRwIENvZGVCbG9jazo6bV9jb25zdGFudFJlZ2lzdGVycyArIFZlY3RvckJ1
ZmZlck9mZnNldFtwYXlsb2FkXSwgcGF5bG9hZAorICAgICMgVGhlcmUgaXMgYSBiaXQgb2YgZXZp
bCBoZXJlOiBpZiB0aGUgaW5kZXggY29udGFpbnMgYSB2YWx1ZSA+PSBGaXJzdENvbnN0YW50UmVn
aXN0ZXJJbmRleCwKKyAgICAjIHRoZW4gdmFsdWUgPDwgMyB3aWxsIGJlIGVxdWFsIHRvICh2YWx1
ZSAtIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4KSA8PCAzLgorICAgIGxvYWRwIFRhZ09mZnNl
dFtwYXlsb2FkLCBpbmRleCwgOF0sIHRhZworICAgIGxvYWRwIFBheWxvYWRPZmZzZXRbcGF5bG9h
ZCwgaW5kZXgsIDhdLCBwYXlsb2FkCisuZG9uZToKK2VuZAorCittYWNybyBsb2FkQ29uc3RhbnRP
clZhcmlhYmxlVGFnKGluZGV4LCB0YWcpCisgICAgYmlndGVxIGluZGV4LCBGaXJzdENvbnN0YW50
UmVnaXN0ZXJJbmRleCwgLmNvbnN0YW50CisgICAgbG9hZGkgVGFnT2Zmc2V0W2NmciwgaW5kZXgs
IDhdLCB0YWcKKyAgICBqbXAgLmRvbmUKKy5jb25zdGFudDoKKyAgICBsb2FkcCBDb2RlQmxvY2tb
Y2ZyXSwgdGFnCisgICAgbG9hZHAgQ29kZUJsb2NrOjptX2NvbnN0YW50UmVnaXN0ZXJzICsgVmVj
dG9yQnVmZmVyT2Zmc2V0W3RhZ10sIHRhZworICAgICMgVGhlcmUgaXMgYSBiaXQgb2YgZXZpbCBo
ZXJlOiBpZiB0aGUgaW5kZXggY29udGFpbnMgYSB2YWx1ZSA+PSBGaXJzdENvbnN0YW50UmVnaXN0
ZXJJbmRleCwKKyAgICAjIHRoZW4gdmFsdWUgPDwgMyB3aWxsIGJlIGVxdWFsIHRvICh2YWx1ZSAt
IEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4KSA8PCAzLgorICAgIGxvYWRwIFRhZ09mZnNldFt0
YWcsIGluZGV4LCA4XSwgdGFnCisuZG9uZToKK2VuZAorCisjIEluZGV4IGFuZCBwYXlsb2FkIG1h
eSBiZSB0aGUgc2FtZSByZWdpc3Rlci4gSW5kZXggbWF5IGJlIGNsb2JiZXJlZC4KK21hY3JvIGxv
YWRDb25zdGFudE9yVmFyaWFibGUyUmVnKGluZGV4LCB0YWcsIHBheWxvYWQpCisgICAgYmlndGVx
IGluZGV4LCBGaXJzdENvbnN0YW50UmVnaXN0ZXJJbmRleCwgLmNvbnN0YW50CisgICAgbG9hZGkg
VGFnT2Zmc2V0W2NmciwgaW5kZXgsIDhdLCB0YWcKKyAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2Nm
ciwgaW5kZXgsIDhdLCBwYXlsb2FkCisgICAgam1wIC5kb25lCisuY29uc3RhbnQ6CisgICAgbG9h
ZHAgQ29kZUJsb2NrW2Nmcl0sIHRhZworICAgIGxvYWRwIENvZGVCbG9jazo6bV9jb25zdGFudFJl
Z2lzdGVycyArIFZlY3RvckJ1ZmZlck9mZnNldFt0YWddLCB0YWcKKyAgICAjIFRoZXJlIGlzIGEg
Yml0IG9mIGV2aWwgaGVyZTogaWYgdGhlIGluZGV4IGNvbnRhaW5zIGEgdmFsdWUgPj0gRmlyc3RD
b25zdGFudFJlZ2lzdGVySW5kZXgsCisgICAgIyB0aGVuIHZhbHVlIDw8IDMgd2lsbCBiZSBlcXVh
bCB0byAodmFsdWUgLSBGaXJzdENvbnN0YW50UmVnaXN0ZXJJbmRleCkgPDwgMy4KKyAgICBsc2hp
ZnRpIDMsIGluZGV4CisgICAgYWRkcCBpbmRleCwgdGFnCisgICAgbG9hZHAgUGF5bG9hZE9mZnNl
dFt0YWddLCBwYXlsb2FkCisgICAgbG9hZHAgVGFnT2Zmc2V0W3RhZ10sIHRhZworLmRvbmU6Citl
bmQKKworbWFjcm8gbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWRUYWdDdXN0b20oaW5kZXgs
IHRhZ0NoZWNrLCBwYXlsb2FkKQorICAgIGJpZ3RlcSBpbmRleCwgRmlyc3RDb25zdGFudFJlZ2lz
dGVySW5kZXgsIC5jb25zdGFudAorICAgIHRhZ0NoZWNrKFRhZ09mZnNldFtjZnIsIGluZGV4LCA4
XSkKKyAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2NmciwgaW5kZXgsIDhdLCBwYXlsb2FkCisgICAg
am1wIC5kb25lCisuY29uc3RhbnQ6CisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHBheWxvYWQK
KyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fY29uc3RhbnRSZWdpc3RlcnMgKyBWZWN0b3JCdWZmZXJP
ZmZzZXRbcGF5bG9hZF0sIHBheWxvYWQKKyAgICAjIFRoZXJlIGlzIGEgYml0IG9mIGV2aWwgaGVy
ZTogaWYgdGhlIGluZGV4IGNvbnRhaW5zIGEgdmFsdWUgPj0gRmlyc3RDb25zdGFudFJlZ2lzdGVy
SW5kZXgsCisgICAgIyB0aGVuIHZhbHVlIDw8IDMgd2lsbCBiZSBlcXVhbCB0byAodmFsdWUgLSBG
aXJzdENvbnN0YW50UmVnaXN0ZXJJbmRleCkgPDwgMy4KKyAgICB0YWdDaGVjayhUYWdPZmZzZXRb
cGF5bG9hZCwgaW5kZXgsIDhdKQorICAgIGxvYWRwIFBheWxvYWRPZmZzZXRbcGF5bG9hZCwgaW5k
ZXgsIDhdLCBwYXlsb2FkCisuZG9uZToKK2VuZAorCisjIEluZGV4IGFuZCBwYXlsb2FkIG11c3Qg
YmUgZGlmZmVyZW50IHJlZ2lzdGVycy4gSW5kZXggaXMgbm90IG11dGF0ZWQuIFVzZQorIyB0aGlz
IGlmIHlvdSBrbm93IHdoYXQgdGhlIHRhZyBvZiB0aGUgdmFyaWFibGUgc2hvdWxkIGJlLiBEb2lu
ZyB0aGUgdGFnCisjIHRlc3QgYXMgcGFydCBvZiBsb2FkaW5nIHRoZSB2YXJpYWJsZSByZWR1Y2Vz
IHJlZ2lzdGVyIHVzZSwgYnV0IG1heSBub3QKKyMgYmUgZmFzdGVyIHRoYW4gZG9pbmcgbG9hZENv
bnN0YW50T3JWYXJpYWJsZSBmb2xsb3dlZCBieSBhIGJyYW5jaCBvbiB0aGUKKyMgdGFnLgorbWFj
cm8gbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQoaW5kZXgsIGV4cGVjdGVkVGFnLCBwYXls
b2FkLCBzbG93KQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXlsb2FkVGFnQ3VzdG9tKAor
ICAgICAgICBpbmRleCwKKyAgICAgICAgbWFjcm8gKGFjdHVhbFRhZykgYmluZXEgYWN0dWFsVGFn
LCBleHBlY3RlZFRhZywgc2xvdyBlbmQsCisgICAgICAgIHBheWxvYWQpCitlbmQKKworbWFjcm8g
bG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWRVbmNoZWNrZWQoaW5kZXgsIHBheWxvYWQpCisg
ICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWRUYWdDdXN0b20oCisgICAgICAgIGluZGV4
LAorICAgICAgICBtYWNybyAoYWN0dWFsVGFnKSBlbmQsCisgICAgICAgIHBheWxvYWQpCitlbmQK
KworbWFjcm8gd3JpdGVCYXJyaWVyT25PcGVyYW5kKGNlbGxPcGVyYW5kKQorICAgIGxvYWRpc0Zy
b21JbnN0cnVjdGlvbihjZWxsT3BlcmFuZCwgdDEpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJs
ZVBheWxvYWQodDEsIENlbGxUYWcsIHQyLCAud3JpdGVCYXJyaWVyRG9uZSkKKyAgICBza2lwSWZJ
c1JlbWVtYmVyZWRPckluRWRlbigKKyAgICAgICAgdDIsIAorICAgICAgICBtYWNybygpCisgICAg
ICAgICAgICBwdXNoIGNmciwgUEMKKyAgICAgICAgICAgICMgV2UgbWFrZSB0d28gZXh0cmEgc2xv
dHMgYmVjYXVzZSBjQ2FsbDIgd2lsbCBwb2tlLgorICAgICAgICAgICAgc3VicCA4LCBzcAorICAg
ICAgICAgICAgbW92ZSB0MiwgYTEgIyB0MiBjYW4gYmUgYTAgb24geDg2CisgICAgICAgICAgICBt
b3ZlIGNmciwgYTAKKyAgICAgICAgICAgIGNDYWxsMlZvaWQoX2xsaW50X3dyaXRlX2JhcnJpZXJf
c2xvdykKKyAgICAgICAgICAgIGFkZHAgOCwgc3AKKyAgICAgICAgICAgIHBvcCBQQywgY2ZyCisg
ICAgICAgIGVuZCkKKy53cml0ZUJhcnJpZXJEb25lOgorZW5kCisKK21hY3JvIHdyaXRlQmFycmll
ck9uT3BlcmFuZHMoY2VsbE9wZXJhbmQsIHZhbHVlT3BlcmFuZCkKKyAgICBsb2FkaXNGcm9tSW5z
dHJ1Y3Rpb24odmFsdWVPcGVyYW5kLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlVGFn
KHQxLCB0MCkKKyAgICBiaW5lcSB0MCwgQ2VsbFRhZywgLndyaXRlQmFycmllckRvbmUKKworICAg
IHdyaXRlQmFycmllck9uT3BlcmFuZChjZWxsT3BlcmFuZCkKKy53cml0ZUJhcnJpZXJEb25lOgor
ZW5kCisKK21hY3JvIHdyaXRlQmFycmllck9uR2xvYmFsKHZhbHVlT3BlcmFuZCwgbG9hZEhlbHBl
cikKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24odmFsdWVPcGVyYW5kLCB0MSkKKyAgICBsb2Fk
Q29uc3RhbnRPclZhcmlhYmxlVGFnKHQxLCB0MCkKKyAgICBiaW5lcSB0MCwgQ2VsbFRhZywgLndy
aXRlQmFycmllckRvbmUKKworICAgIGxvYWRIZWxwZXIodDMpCisKKyAgICBza2lwSWZJc1JlbWVt
YmVyZWRPckluRWRlbigKKyAgICAgICAgdDMsCisgICAgICAgIG1hY3JvKCkKKyAgICAgICAgICAg
IHB1c2ggY2ZyLCBQQworICAgICAgICAgICAgIyBXZSBtYWtlIHR3byBleHRyYSBzbG90cyBiZWNh
dXNlIGNDYWxsMiB3aWxsIHBva2UuCisgICAgICAgICAgICBzdWJwIDgsIHNwCisgICAgICAgICAg
ICBtb3ZlIGNmciwgYTAKKyAgICAgICAgICAgIG1vdmUgdDMsIGExCisgICAgICAgICAgICBjQ2Fs
bDJWb2lkKF9sbGludF93cml0ZV9iYXJyaWVyX3Nsb3cpCisgICAgICAgICAgICBhZGRwIDgsIHNw
CisgICAgICAgICAgICBwb3AgUEMsIGNmcgorICAgICAgICBlbmQpCisud3JpdGVCYXJyaWVyRG9u
ZToKK2VuZAorCittYWNybyB3cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdCh2YWx1ZU9wZXJhbmQp
CisgICAgd3JpdGVCYXJyaWVyT25HbG9iYWwodmFsdWVPcGVyYW5kLAorICAgICAgICBtYWNybyhy
ZWdpc3RlclRvU3RvcmVHbG9iYWwpCisgICAgICAgICAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwg
cmVnaXN0ZXJUb1N0b3JlR2xvYmFsCisgICAgICAgICAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xv
YmFsT2JqZWN0W3JlZ2lzdGVyVG9TdG9yZUdsb2JhbF0sIHJlZ2lzdGVyVG9TdG9yZUdsb2JhbAor
ICAgICAgICBlbmQpCitlbmQKKworbWFjcm8gd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52
aXJvbm1lbnQodmFsdWVPcGVyYW5kKQorICAgIHdyaXRlQmFycmllck9uR2xvYmFsKHZhbHVlT3Bl
cmFuZCwKKyAgICAgICAgbWFjcm8ocmVnaXN0ZXJUb1N0b3JlR2xvYmFsKQorICAgICAgICAgICAg
bG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHJlZ2lzdGVyVG9TdG9yZUdsb2JhbAorICAgICAgICAgICAg
bG9hZHAgQ29kZUJsb2NrOjptX2dsb2JhbE9iamVjdFtyZWdpc3RlclRvU3RvcmVHbG9iYWxdLCBy
ZWdpc3RlclRvU3RvcmVHbG9iYWwKKyAgICAgICAgICAgIGxvYWRwIEpTR2xvYmFsT2JqZWN0Ojpt
X2dsb2JhbExleGljYWxFbnZpcm9ubWVudFtyZWdpc3RlclRvU3RvcmVHbG9iYWxdLCByZWdpc3Rl
clRvU3RvcmVHbG9iYWwKKyAgICAgICAgZW5kKQorZW5kCisKK21hY3JvIHZhbHVlUHJvZmlsZSh0
YWcsIHBheWxvYWQsIG9wZXJhbmQsIHNjcmF0Y2gpCisgICAgbG9hZHAgb3BlcmFuZFtQQ10sIHNj
cmF0Y2gKKyAgICBzdG9yZWkgdGFnLCBWYWx1ZVByb2ZpbGU6Om1fYnVja2V0cyArIFRhZ09mZnNl
dFtzY3JhdGNoXQorICAgIHN0b3JlaSBwYXlsb2FkLCBWYWx1ZVByb2ZpbGU6Om1fYnVja2V0cyAr
IFBheWxvYWRPZmZzZXRbc2NyYXRjaF0KK2VuZAorCisKKyMgRW50cnlwb2ludHMgaW50byB0aGUg
aW50ZXJwcmV0ZXIKKworIyBFeHBlY3RzIHRoYXQgQ29kZUJsb2NrIGlzIGluIHQxLCB3aGljaCBp
cyB3aGF0IHByb2xvZ3VlKCkgbGVhdmVzIGJlaGluZC4KK21hY3JvIGZ1bmN0aW9uQXJpdHlDaGVj
ayhkb25lTGFiZWwsIHNsb3dQYXRoKQorICAgIGxvYWRpIFBheWxvYWRPZmZzZXQgKyBBcmd1bWVu
dENvdW50W2Nmcl0sIHQwCisgICAgYmlhZXEgdDAsIENvZGVCbG9jazo6bV9udW1QYXJhbWV0ZXJz
W3QxXSwgZG9uZUxhYmVsCisgICAgbW92ZSBjZnIsIGEwCisgICAgbW92ZSBQQywgYTEKKyAgICBj
Q2FsbDIoc2xvd1BhdGgpICAgIyBUaGlzIHNsb3dQYXRoIGhhcyBhIHNpbXBsZSBwcm90b2NvbDog
dDAgPSAwID0+IG5vIGVycm9yLCB0MCAhPSAwID0+IGVycm9yCisgICAgYnRpeiByMCwgLm5vRXJy
b3IKKyAgICBtb3ZlIHIxLCBjZnIgICAjIHIxIGNvbnRhaW5zIGNhbGxlciBmcmFtZQorICAgIGpt
cCBfbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZQorCisubm9FcnJvcjoKKyAg
ICAjIHIxIHBvaW50cyB0byBBcml0eUNoZWNrRGF0YS4KKyAgICBsb2FkcCBDb21tb25TbG93UGF0
aHM6OkFyaXR5Q2hlY2tEYXRhOjp0aHVua1RvQ2FsbFtyMV0sIHQzCisgICAgYnRweiB0MywgLnBy
b2NlZWRJbmxpbmUKKyAgICAKKyAgICBsb2FkcCBDb21tb25TbG93UGF0aHM6OkFyaXR5Q2hlY2tE
YXRhOjpwYWRkZWRTdGFja1NwYWNlW3IxXSwgYTAKKyAgICBjYWxsIHQzCisgICAgaWYgQVNTRVJU
X0VOQUJMRUQKKyAgICAgICAgbG9hZHAgUmV0dXJuUENbY2ZyXSwgdDAKKyAgICAgICAgbG9hZHAg
W3QwXSwgdDAKKyAgICBlbmQKKyAgICBqbXAgLmNvbnRpbnVlCisKKy5wcm9jZWVkSW5saW5lOgor
ICAgIGxvYWRpIENvbW1vblNsb3dQYXRoczo6QXJpdHlDaGVja0RhdGE6OnBhZGRlZFN0YWNrU3Bh
Y2VbcjFdLCB0MQorICAgIGJ0aXogdDEsIC5jb250aW51ZQorICAgIGxvYWRpIFBheWxvYWRPZmZz
ZXQgKyBBcmd1bWVudENvdW50W2Nmcl0sIHQyCisgICAgYWRkaSBDYWxsRnJhbWVIZWFkZXJTbG90
cywgdDIKKworICAgIC8vIENoZWNrIGlmIHRoZXJlIGFyZSBzb21lIHVuYWxpZ25lZCBzbG90cyB3
ZSBjYW4gdXNlCisgICAgbW92ZSB0MSwgdDMKKyAgICBhbmRpIFN0YWNrQWxpZ25tZW50U2xvdHMg
LSAxLCB0MworICAgIGJ0aXogdDMsIC5ub0V4dHJhU2xvdAorLmZpbGxFeHRyYVNsb3RzOgorICAg
IG1vdmUgMCwgdDAKKyAgICBzdG9yZWkgdDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MiwgOF0KKyAg
ICBtb3ZlIFVuZGVmaW5lZFRhZywgdDAKKyAgICBzdG9yZWkgdDAsIFRhZ09mZnNldFtjZnIsIHQy
LCA4XQorICAgIGFkZGkgMSwgdDIKKyAgICBic3ViaW56IDEsIHQzLCAuZmlsbEV4dHJhU2xvdHMK
KyAgICBhbmRpIH4oU3RhY2tBbGlnbm1lbnRTbG90cyAtIDEpLCB0MQorICAgIGJ0aXogdDEsIC5j
b250aW51ZQorCisubm9FeHRyYVNsb3Q6CisgICAgLy8gTW92ZSBmcmFtZSB1cCB0MSBzbG90cwor
ICAgIG5lZ2kgdDEKKyAgICBtb3ZlIGNmciwgdDMKKyAgICBtb3ZlIHQxLCB0MAorICAgIGxzaGlm
dHAgMywgdDAKKyAgICBhZGRwIHQwLCBjZnIKKyAgICBhZGRwIHQwLCBzcAorLmNvcHlMb29wOgor
ICAgIGxvYWRpIFBheWxvYWRPZmZzZXRbdDNdLCB0MAorICAgIHN0b3JlaSB0MCwgUGF5bG9hZE9m
ZnNldFt0MywgdDEsIDhdCisgICAgbG9hZGkgVGFnT2Zmc2V0W3QzXSwgdDAKKyAgICBzdG9yZWkg
dDAsIFRhZ09mZnNldFt0MywgdDEsIDhdCisgICAgYWRkcCA4LCB0MworICAgIGJzdWJpbnogMSwg
dDIsIC5jb3B5TG9vcAorCisgICAgLy8gRmlsbCBuZXcgc2xvdHMgd2l0aCBKU1VuZGVmaW5lZAor
ICAgIG1vdmUgdDEsIHQyCisuZmlsbExvb3A6CisgICAgbW92ZSAwLCB0MAorICAgIHN0b3JlaSB0
MCwgUGF5bG9hZE9mZnNldFt0MywgdDEsIDhdCisgICAgbW92ZSBVbmRlZmluZWRUYWcsIHQwCisg
ICAgc3RvcmVpIHQwLCBUYWdPZmZzZXRbdDMsIHQxLCA4XQorICAgIGFkZHAgOCwgdDMKKyAgICBi
YWRkaW56IDEsIHQyLCAuZmlsbExvb3AKKworLmNvbnRpbnVlOgorICAgICMgUmVsb2FkIENvZGVC
bG9jayBhbmQgUEMsIHNpbmNlIHRoZSBzbG93X3BhdGggY2xvYmJlcmVkIGl0LgorICAgIGxvYWRw
IENvZGVCbG9ja1tjZnJdLCB0MQorICAgIGxvYWRwIENvZGVCbG9jazo6bV9pbnN0cnVjdGlvbnNb
dDFdLCBQQworICAgIGptcCBkb25lTGFiZWwKK2VuZAorCittYWNybyBicmFuY2hJZkV4Y2VwdGlv
bihsYWJlbCkKKyAgICBsb2FkcCBDYWxsZWUgKyBQYXlsb2FkT2Zmc2V0W2Nmcl0sIHQzCisgICAg
YW5kcCBNYXJrZWRCbG9ja01hc2ssIHQzCisgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fdm1bdDNd
LCB0MworICAgIGJ0aXogVk06Om1fZXhjZXB0aW9uW3QzXSwgLm5vRXhjZXB0aW9uCisgICAgam1w
IGxhYmVsCisubm9FeGNlcHRpb246CitlbmQKKworCisjIEluc3RydWN0aW9uIGltcGxlbWVudGF0
aW9ucworCitfbGxpbnRfb3BfZW50ZXI6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNoZWNr
U3RhY2tQb2ludGVyQWxpZ25tZW50KHQyLCAweGRlYWQwMGUxKQorICAgIGxvYWRwIENvZGVCbG9j
a1tjZnJdLCB0MiAgICAgICAgICAgICAgICAvLyB0MjxDb2RlQmxvY2s+ID0gY2ZyLkNvZGVCbG9j
aworICAgIGxvYWRpIENvZGVCbG9jazo6bV9udW1WYXJzW3QyXSwgdDIgICAgICAvLyB0MjxzaXpl
X3Q+ID0gdDI8Q29kZUJsb2NrPi5tX251bVZhcnMKKyAgICBidGl6IHQyLCAub3BFbnRlckRvbmUK
KyAgICBtb3ZlIFVuZGVmaW5lZFRhZywgdDAKKyAgICBtb3ZlIDAsIHQxCisgICAgbmVnaSB0Mgor
Lm9wRW50ZXJMb29wOgorICAgIHN0b3JlaSB0MCwgVGFnT2Zmc2V0W2NmciwgdDIsIDhdCisgICAg
c3RvcmVpIHQxLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDIsIDhdCisgICAgYWRkaSAxLCB0MgorICAg
IGJ0aW56IHQyLCAub3BFbnRlckxvb3AKKy5vcEVudGVyRG9uZToKKyAgICBjYWxsT3Bjb2RlU2xv
d1BhdGgoX3Nsb3dfcGF0aF9lbnRlcikKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZW50ZXJf
bGVuZ3RoKQorCisKK19sbGludF9vcF9nZXRfYXJndW1lbnQ6CisgICAgdHJhY2VFeGVjdXRpb24o
KQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oMiwgdDIpCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldCArIEFyZ3VtZW50Q291bnRbY2Zy
XSwgdDAKKyAgICBiaWx0ZXEgdDAsIHQyLCAub3BHZXRBcmd1bWVudE91dE9mQm91bmRzCisgICAg
bG9hZGkgVGhpc0FyZ3VtZW50T2Zmc2V0ICsgVGFnT2Zmc2V0W2NmciwgdDIsIDhdLCB0MAorICAg
IGxvYWRpIFRoaXNBcmd1bWVudE9mZnNldCArIFBheWxvYWRPZmZzZXRbY2ZyLCB0MiwgOF0sIHQz
CisgICAgc3RvcmVpIHQwLCBUYWdPZmZzZXRbY2ZyLCB0MSwgOF0KKyAgICBzdG9yZWkgdDMsIFBh
eWxvYWRPZmZzZXRbY2ZyLCB0MSwgOF0KKyAgICB2YWx1ZVByb2ZpbGUodDAsIHQzLCAxMiwgdDEp
CisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9hcmd1bWVudF9sZW5ndGgpCisKKy5vcEdl
dEFyZ3VtZW50T3V0T2ZCb3VuZHM6CisgICAgc3RvcmVpIFVuZGVmaW5lZFRhZywgVGFnT2Zmc2V0
W2NmciwgdDEsIDhdCisgICAgc3RvcmVpIDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MSwgOF0KKyAg
ICB2YWx1ZVByb2ZpbGUoVW5kZWZpbmVkVGFnLCAwLCAxMiwgdDEpCisgICAgZGlzcGF0Y2goY29u
c3RleHByIG9wX2dldF9hcmd1bWVudF9sZW5ndGgpCisKKworX2xsaW50X29wX2FyZ3VtZW50X2Nv
dW50OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwg
dDIpCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldCArIEFyZ3VtZW50Q291bnRbY2ZyXSwgdDAKKyAg
ICBzdWJpIDEsIHQwCisgICAgbW92ZSBJbnQzMlRhZywgdDEKKyAgICBzdG9yZWkgdDEsIFRhZ09m
ZnNldFtjZnIsIHQyLCA4XQorICAgIHN0b3JlaSB0MCwgUGF5bG9hZE9mZnNldFtjZnIsIHQyLCA4
XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9hcmd1bWVudF9jb3VudF9sZW5ndGgpCisKKwor
X2xsaW50X29wX2dldF9zY29wZToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGkgQ2Fs
bGVlICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0MAorICAgIGxvYWRpIEpTQ2FsbGVlOjptX3Njb3Bl
W3QwXSwgdDAKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgc3RvcmVpIENl
bGxUYWcsIFRhZ09mZnNldFtjZnIsIHQxLCA4XQorICAgIHN0b3JlaSB0MCwgUGF5bG9hZE9mZnNl
dFtjZnIsIHQxLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfc2NvcGVfbGVuZ3Ro
KQorCisKK19sbGludF9vcF90b190aGlzOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2Fk
aSA0W1BDXSwgdDAKKyAgICBiaW5lcSBUYWdPZmZzZXRbY2ZyLCB0MCwgOF0sIENlbGxUYWcsIC5v
cFRvVGhpc1Nsb3cKKyAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdLCB0MAorICAg
IGJibmVxIEpTQ2VsbDo6bV90eXBlW3QwXSwgRmluYWxPYmplY3RUeXBlLCAub3BUb1RoaXNTbG93
CisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oMiwgdDIpCisgICAgYnBuZXEgSlNDZWxsOjptX3N0
cnVjdHVyZUlEW3QwXSwgdDIsIC5vcFRvVGhpc1Nsb3cKKyAgICBkaXNwYXRjaChjb25zdGV4cHIg
b3BfdG9fdGhpc19sZW5ndGgpCisKKy5vcFRvVGhpc1Nsb3c6CisgICAgY2FsbE9wY29kZVNsb3dQ
YXRoKF9zbG93X3BhdGhfdG9fdGhpcykKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfdG9fdGhp
c19sZW5ndGgpCisKKworX2xsaW50X29wX2NoZWNrX3RkejoKKyAgICB0cmFjZUV4ZWN1dGlvbigp
CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKQorICAgIGxvYWRDb25zdGFudE9yVmFy
aWFibGVUYWcodDAsIHQxKQorICAgIGJpbmVxIHQxLCBFbXB0eVZhbHVlVGFnLCAub3BOb3RURFoK
KyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF90aHJvd190ZHpfZXJyb3IpCisKKy5v
cE5vdFREWjoKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfY2hlY2tfdGR6X2xlbmd0aCkKKwor
CitfbGxpbnRfb3BfbW92OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSA4W1BDXSwg
dDEKKyAgICBsb2FkaSA0W1BDXSwgdDAKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0
MiwgdDMpCisgICAgc3RvcmVpIHQyLCBUYWdPZmZzZXRbY2ZyLCB0MCwgOF0KKyAgICBzdG9yZWkg
dDMsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MCwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3Bf
bW92X2xlbmd0aCkKKworCitfbGxpbnRfb3Bfbm90OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBsb2FkaSA4W1BDXSwgdDAKKyAgICBsb2FkaSA0W1BDXSwgdDEKKyAgICBsb2FkQ29uc3RhbnRP
clZhcmlhYmxlKHQwLCB0MiwgdDMpCisgICAgYmluZXEgdDIsIEJvb2xlYW5UYWcsIC5vcE5vdFNs
b3cKKyAgICB4b3JpIDEsIHQzCisgICAgc3RvcmVpIHQyLCBUYWdPZmZzZXRbY2ZyLCB0MSwgOF0K
KyAgICBzdG9yZWkgdDMsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MSwgOF0KKyAgICBkaXNwYXRjaChj
b25zdGV4cHIgb3Bfbm90X2xlbmd0aCkKKworLm9wTm90U2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xv
d1BhdGgoX3Nsb3dfcGF0aF9ub3QpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX25vdF9sZW5n
dGgpCisKKworX2xsaW50X29wX2VxOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSAx
MltQQ10sIHQyCisgICAgbG9hZGkgOFtQQ10sIHQwCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJs
ZSh0MiwgdDMsIHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUyUmVnKHQwLCB0MiwgdDAp
CisgICAgYmluZXEgdDIsIHQzLCAub3BFcVNsb3cKKyAgICBiaWVxIHQyLCBDZWxsVGFnLCAub3BF
cVNsb3cKKyAgICBiaWIgdDIsIExvd2VzdFRhZywgLm9wRXFTbG93CisgICAgbG9hZGkgNFtQQ10s
IHQyCisgICAgY2llcSB0MCwgdDEsIHQwCisgICAgc3RvcmVpIEJvb2xlYW5UYWcsIFRhZ09mZnNl
dFtjZnIsIHQyLCA4XQorICAgIHN0b3JlaSB0MCwgUGF5bG9hZE9mZnNldFtjZnIsIHQyLCA4XQor
ICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9lcV9sZW5ndGgpCisKKy5vcEVxU2xvdzoKKyAgICBj
YWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9lcSkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIg
b3BfZXFfbGVuZ3RoKQorCisKK19sbGludF9vcF9lcV9udWxsOgorICAgIHRyYWNlRXhlY3V0aW9u
KCkKKyAgICBsb2FkaSA4W1BDXSwgdDAKKyAgICBsb2FkaSA0W1BDXSwgdDMKKyAgICBhc3NlcnRO
b3RDb25zdGFudCh0MCkKKyAgICBsb2FkaSBUYWdPZmZzZXRbY2ZyLCB0MCwgOF0sIHQxCisgICAg
bG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSwgdDAKKyAgICBiaW5lcSB0MSwgQ2VsbFRh
ZywgLm9wRXFOdWxsSW1tZWRpYXRlCisgICAgYnRibnogSlNDZWxsOjptX2ZsYWdzW3QwXSwgTWFz
cXVlcmFkZXNBc1VuZGVmaW5lZCwgLm9wRXFOdWxsTWFzcXVlcmFkZXNBc1VuZGVmaW5lZAorICAg
IG1vdmUgMCwgdDEKKyAgICBqbXAgLm9wRXFOdWxsTm90SW1tZWRpYXRlCisub3BFcU51bGxNYXNx
dWVyYWRlc0FzVW5kZWZpbmVkOgorICAgIGxvYWRwIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0MF0s
IHQxCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQwCisgICAgbG9hZHAgQ29kZUJsb2NrOjpt
X2dsb2JhbE9iamVjdFt0MF0sIHQwCisgICAgY3BlcSBTdHJ1Y3R1cmU6Om1fZ2xvYmFsT2JqZWN0
W3QxXSwgdDAsIHQxCisgICAgam1wIC5vcEVxTnVsbE5vdEltbWVkaWF0ZQorLm9wRXFOdWxsSW1t
ZWRpYXRlOgorICAgIGNpZXEgdDEsIE51bGxUYWcsIHQyCisgICAgY2llcSB0MSwgVW5kZWZpbmVk
VGFnLCB0MQorICAgIG9yaSB0MiwgdDEKKy5vcEVxTnVsbE5vdEltbWVkaWF0ZToKKyAgICBzdG9y
ZWkgQm9vbGVhblRhZywgVGFnT2Zmc2V0W2NmciwgdDMsIDhdCisgICAgc3RvcmVpIHQxLCBQYXls
b2FkT2Zmc2V0W2NmciwgdDMsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2VxX251bGxf
bGVuZ3RoKQorCisKK19sbGludF9vcF9uZXE6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxv
YWRpIDEyW1BDXSwgdDIKKyAgICBsb2FkaSA4W1BDXSwgdDAKKyAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlKHQyLCB0MywgdDEpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZTJSZWcodDAsIHQy
LCB0MCkKKyAgICBiaW5lcSB0MiwgdDMsIC5vcE5lcVNsb3cKKyAgICBiaWVxIHQyLCBDZWxsVGFn
LCAub3BOZXFTbG93CisgICAgYmliIHQyLCBMb3dlc3RUYWcsIC5vcE5lcVNsb3cKKyAgICBsb2Fk
aSA0W1BDXSwgdDIKKyAgICBjaW5lcSB0MCwgdDEsIHQwCisgICAgc3RvcmVpIEJvb2xlYW5UYWcs
IFRhZ09mZnNldFtjZnIsIHQyLCA4XQorICAgIHN0b3JlaSB0MCwgUGF5bG9hZE9mZnNldFtjZnIs
IHQyLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9uZXFfbGVuZ3RoKQorCisub3BOZXFT
bG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX25lcSkKKyAgICBkaXNwYXRj
aChjb25zdGV4cHIgb3BfbmVxX2xlbmd0aCkKKyAgICAKKworX2xsaW50X29wX25lcV9udWxsOgor
ICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSA4W1BDXSwgdDAKKyAgICBsb2FkaSA0W1BD
XSwgdDMKKyAgICBhc3NlcnROb3RDb25zdGFudCh0MCkKKyAgICBsb2FkaSBUYWdPZmZzZXRbY2Zy
LCB0MCwgOF0sIHQxCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSwgdDAKKyAg
ICBiaW5lcSB0MSwgQ2VsbFRhZywgLm9wTmVxTnVsbEltbWVkaWF0ZQorICAgIGJ0Ym56IEpTQ2Vs
bDo6bV9mbGFnc1t0MF0sIE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQsIC5vcE5lcU51bGxNYXNxdWVy
YWRlc0FzVW5kZWZpbmVkCisgICAgbW92ZSAxLCB0MQorICAgIGptcCAub3BOZXFOdWxsTm90SW1t
ZWRpYXRlCisub3BOZXFOdWxsTWFzcXVlcmFkZXNBc1VuZGVmaW5lZDoKKyAgICBsb2FkcCBKU0Nl
bGw6Om1fc3RydWN0dXJlSURbdDBdLCB0MQorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MAor
ICAgIGxvYWRwIENvZGVCbG9jazo6bV9nbG9iYWxPYmplY3RbdDBdLCB0MAorICAgIGNwbmVxIFN0
cnVjdHVyZTo6bV9nbG9iYWxPYmplY3RbdDFdLCB0MCwgdDEKKyAgICBqbXAgLm9wTmVxTnVsbE5v
dEltbWVkaWF0ZQorLm9wTmVxTnVsbEltbWVkaWF0ZToKKyAgICBjaW5lcSB0MSwgTnVsbFRhZywg
dDIKKyAgICBjaW5lcSB0MSwgVW5kZWZpbmVkVGFnLCB0MQorICAgIGFuZGkgdDIsIHQxCisub3BO
ZXFOdWxsTm90SW1tZWRpYXRlOgorICAgIHN0b3JlaSBCb29sZWFuVGFnLCBUYWdPZmZzZXRbY2Zy
LCB0MywgOF0KKyAgICBzdG9yZWkgdDEsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MywgOF0KKyAgICBk
aXNwYXRjaChjb25zdGV4cHIgb3BfbmVxX251bGxfbGVuZ3RoKQorCisKK21hY3JvIHN0cmljdEVx
KGVxdWFsaXR5T3BlcmF0aW9uLCBzbG93UGF0aCkKKyAgICBsb2FkaSAxMltQQ10sIHQyCisgICAg
bG9hZGkgOFtQQ10sIHQwCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDMsIHQxKQor
ICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUyUmVnKHQwLCB0MiwgdDApCisgICAgYmluZXEgdDIs
IHQzLCAuc2xvdworICAgIGJpYiB0MiwgTG93ZXN0VGFnLCAuc2xvdworICAgIGJpbmVxIHQyLCBD
ZWxsVGFnLCAubm90U3RyaW5nT3JTeW1ib2wKKyAgICBiYmFlcSBKU0NlbGw6Om1fdHlwZVt0MF0s
IE9iamVjdFR5cGUsIC5ub3RTdHJpbmdPclN5bWJvbAorICAgIGJiYiBKU0NlbGw6Om1fdHlwZVt0
MV0sIE9iamVjdFR5cGUsIC5zbG93Cisubm90U3RyaW5nT3JTeW1ib2w6CisgICAgbG9hZGkgNFtQ
Q10sIHQyCisgICAgZXF1YWxpdHlPcGVyYXRpb24odDAsIHQxLCB0MCkKKyAgICBzdG9yZWkgQm9v
bGVhblRhZywgVGFnT2Zmc2V0W2NmciwgdDIsIDhdCisgICAgc3RvcmVpIHQwLCBQYXlsb2FkT2Zm
c2V0W2NmciwgdDIsIDhdCisgICAgZGlzcGF0Y2goNCkKKworLnNsb3c6CisgICAgY2FsbE9wY29k
ZVNsb3dQYXRoKHNsb3dQYXRoKQorICAgIGRpc3BhdGNoKDQpCitlbmQKKworX2xsaW50X29wX3N0
cmljdGVxOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBzdHJpY3RFcShtYWNybyAobGVmdCwg
cmlnaHQsIHJlc3VsdCkgY2llcSBsZWZ0LCByaWdodCwgcmVzdWx0IGVuZCwgX3Nsb3dfcGF0aF9z
dHJpY3RlcSkKKworCitfbGxpbnRfb3BfbnN0cmljdGVxOgorICAgIHRyYWNlRXhlY3V0aW9uKCkK
KyAgICBzdHJpY3RFcShtYWNybyAobGVmdCwgcmlnaHQsIHJlc3VsdCkgY2luZXEgbGVmdCwgcmln
aHQsIHJlc3VsdCBlbmQsIF9zbG93X3BhdGhfbnN0cmljdGVxKQorCisKK19sbGludF9vcF9pbmM6
CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpIDRbUENdLCB0MAorICAgIGJpbmVxIFRh
Z09mZnNldFtjZnIsIHQwLCA4XSwgSW50MzJUYWcsIC5vcEluY1Nsb3cKKyAgICBsb2FkaSBQYXls
b2FkT2Zmc2V0W2NmciwgdDAsIDhdLCB0MQorICAgIGJhZGRpbyAxLCB0MSwgLm9wSW5jU2xvdwor
ICAgIHN0b3JlaSB0MSwgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XQorICAgIGRpc3BhdGNoKGNv
bnN0ZXhwciBvcF9pbmNfbGVuZ3RoKQorCisub3BJbmNTbG93OgorICAgIGNhbGxPcGNvZGVTbG93
UGF0aChfc2xvd19wYXRoX2luYykKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfaW5jX2xlbmd0
aCkKKworCitfbGxpbnRfb3BfZGVjOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSA0
W1BDXSwgdDAKKyAgICBiaW5lcSBUYWdPZmZzZXRbY2ZyLCB0MCwgOF0sIEludDMyVGFnLCAub3BE
ZWNTbG93CisgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSwgdDEKKyAgICBic3Vi
aW8gMSwgdDEsIC5vcERlY1Nsb3cKKyAgICBzdG9yZWkgdDEsIFBheWxvYWRPZmZzZXRbY2ZyLCB0
MCwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZGVjX2xlbmd0aCkKKworLm9wRGVjU2xv
dzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9kZWMpCisgICAgZGlzcGF0Y2go
Y29uc3RleHByIG9wX2RlY19sZW5ndGgpCisKKworX2xsaW50X29wX3RvX251bWJlcjoKKyAgICB0
cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGkgOFtQQ10sIHQwCisgICAgbG9hZGkgNFtQQ10sIHQx
CisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MCwgdDIsIHQzKQorICAgIGJpZXEgdDIsIElu
dDMyVGFnLCAub3BUb051bWJlcklzSW50CisgICAgYmlhZXEgdDIsIExvd2VzdFRhZywgLm9wVG9O
dW1iZXJTbG93Cisub3BUb051bWJlcklzSW50OgorICAgIHN0b3JlaSB0MiwgVGFnT2Zmc2V0W2Nm
ciwgdDEsIDhdCisgICAgc3RvcmVpIHQzLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDEsIDhdCisgICAg
dmFsdWVQcm9maWxlKHQyLCB0MywgMTIsIHQxKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF90
b19udW1iZXJfbGVuZ3RoKQorCisub3BUb051bWJlclNsb3c6CisgICAgY2FsbE9wY29kZVNsb3dQ
YXRoKF9zbG93X3BhdGhfdG9fbnVtYmVyKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF90b19u
dW1iZXJfbGVuZ3RoKQorCisKK19sbGludF9vcF90b19zdHJpbmc6CisgICAgdHJhY2VFeGVjdXRp
b24oKQorICAgIGxvYWRpIDhbUENdLCB0MAorICAgIGxvYWRpIDRbUENdLCB0MQorICAgIGxvYWRD
b25zdGFudE9yVmFyaWFibGUodDAsIHQyLCB0MykKKyAgICBiaW5lcSB0MiwgQ2VsbFRhZywgLm9w
VG9TdHJpbmdTbG93CisgICAgYmJuZXEgSlNDZWxsOjptX3R5cGVbdDNdLCBTdHJpbmdUeXBlLCAu
b3BUb1N0cmluZ1Nsb3cKKy5vcFRvU3RyaW5nSXNTdHJpbmc6CisgICAgc3RvcmVpIHQyLCBUYWdP
ZmZzZXRbY2ZyLCB0MSwgOF0KKyAgICBzdG9yZWkgdDMsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MSwg
OF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfdG9fc3RyaW5nX2xlbmd0aCkKKworLm9wVG9T
dHJpbmdTbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3RvX3N0cmluZykK
KyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfdG9fc3RyaW5nX2xlbmd0aCkKKworCitfbGxpbnRf
b3BfbmVnYXRlOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSA4W1BDXSwgdDAKKyAg
ICBsb2FkaSA0W1BDXSwgdDMKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQwLCB0MSwgdDIp
CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQwKQorICAgIGJpbmVxIHQxLCBJbnQzMlRh
ZywgLm9wTmVnYXRlU3JjTm90SW50CisgICAgYnRpeiB0MiwgMHg3ZmZmZmZmZiwgLm9wTmVnYXRl
U2xvdworICAgIG5lZ2kgdDIKKyAgICBvcmkgQXJpdGhQcm9maWxlSW50LCB0MAorICAgIHN0b3Jl
aSBJbnQzMlRhZywgVGFnT2Zmc2V0W2NmciwgdDMsIDhdCisgICAgc3RvcmVpc1RvSW5zdHJ1Y3Rp
b24odDAsIDMpCisgICAgc3RvcmVpIHQyLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDMsIDhdCisgICAg
ZGlzcGF0Y2goY29uc3RleHByIG9wX25lZ2F0ZV9sZW5ndGgpCisub3BOZWdhdGVTcmNOb3RJbnQ6
CisgICAgYmlhIHQxLCBMb3dlc3RUYWcsIC5vcE5lZ2F0ZVNsb3cKKyAgICB4b3JpIDB4ODAwMDAw
MDAsIHQxCisgICAgb3JpIEFyaXRoUHJvZmlsZU51bWJlciwgdDAKKyAgICBzdG9yZWkgdDIsIFBh
eWxvYWRPZmZzZXRbY2ZyLCB0MywgOF0KKyAgICBzdG9yZWlzVG9JbnN0cnVjdGlvbih0MCwgMykK
KyAgICBzdG9yZWkgdDEsIFRhZ09mZnNldFtjZnIsIHQzLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0
ZXhwciBvcF9uZWdhdGVfbGVuZ3RoKQorCisub3BOZWdhdGVTbG93OgorICAgIGNhbGxPcGNvZGVT
bG93UGF0aChfc2xvd19wYXRoX25lZ2F0ZSkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfbmVn
YXRlX2xlbmd0aCkKKworCittYWNybyBiaW5hcnlPcEN1c3RvbVN0b3JlKGludGVnZXJPcGVyYXRp
b25BbmRTdG9yZSwgZG91YmxlT3BlcmF0aW9uLCBzbG93UGF0aCkKKyAgICBsb2FkaSAxMltQQ10s
IHQyCisgICAgbG9hZGkgOFtQQ10sIHQwCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0Miwg
dDMsIHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUyUmVnKHQwLCB0MiwgdDApCisgICAg
YmluZXEgdDIsIEludDMyVGFnLCAub3AxTm90SW50CisgICAgYmluZXEgdDMsIEludDMyVGFnLCAu
b3AyTm90SW50CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQ1KQorICAgIG9yaSBBcml0
aFByb2ZpbGVJbnRJbnQsIHQ1CisgICAgc3RvcmVpc1RvSW5zdHJ1Y3Rpb24odDUsIDQpCisgICAg
bG9hZGkgNFtQQ10sIHQyCisgICAgaW50ZWdlck9wZXJhdGlvbkFuZFN0b3JlKHQzLCB0MSwgdDAs
IC5zbG93LCB0MikKKyAgICBkaXNwYXRjaCg1KQorCisub3AxTm90SW50OgorICAgICMgRmlyc3Qg
b3BlcmFuZCBpcyBkZWZpbml0ZWx5IG5vdCBhbiBpbnQsIHRoZSBzZWNvbmQgb3BlcmFuZCBjb3Vs
ZCBiZSBhbnl0aGluZy4KKyAgICBiaWEgdDIsIExvd2VzdFRhZywgLnNsb3cKKyAgICBiaWIgdDMs
IExvd2VzdFRhZywgLm9wMU5vdEludE9wMkRvdWJsZQorICAgIGJpbmVxIHQzLCBJbnQzMlRhZywg
LnNsb3cKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNCwgdDUpCisgICAgb3JpIEFyaXRoUHJv
ZmlsZU51bWJlckludCwgdDUKKyAgICBzdG9yZWlzVG9JbnN0cnVjdGlvbih0NSwgNCkKKyAgICBj
aTJkIHQxLCBmdDEKKyAgICBqbXAgLm9wMU5vdEludFJlYWR5Cisub3AxTm90SW50T3AyRG91Ymxl
OgorICAgIGZpaTJkIHQxLCB0MywgZnQxCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQ1
KQorICAgIG9yaSBBcml0aFByb2ZpbGVOdW1iZXJOdW1iZXIsIHQ1CisgICAgc3RvcmVpc1RvSW5z
dHJ1Y3Rpb24odDUsIDQpCisub3AxTm90SW50UmVhZHk6CisgICAgbG9hZGkgNFtQQ10sIHQxCisg
ICAgZmlpMmQgdDAsIHQyLCBmdDAKKyAgICBkb3VibGVPcGVyYXRpb24oZnQxLCBmdDApCisgICAg
c3RvcmVkIGZ0MCwgW2NmciwgdDEsIDhdCisgICAgZGlzcGF0Y2goNSkKKworLm9wMk5vdEludDoK
KyAgICAjIEZpcnN0IG9wZXJhbmQgaXMgZGVmaW5pdGVseSBhbiBpbnQsIHRoZSBzZWNvbmQgb3Bl
cmFuZCBpcyBkZWZpbml0ZWx5IG5vdC4KKyAgICBsb2FkaSA0W1BDXSwgdDIKKyAgICBiaWEgdDMs
IExvd2VzdFRhZywgLnNsb3cKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNCwgdDUpCisgICAg
b3JpIEFyaXRoUHJvZmlsZUludE51bWJlciwgdDUKKyAgICBzdG9yZWlzVG9JbnN0cnVjdGlvbih0
NSwgNCkKKyAgICBjaTJkIHQwLCBmdDAKKyAgICBmaWkyZCB0MSwgdDMsIGZ0MQorICAgIGRvdWJs
ZU9wZXJhdGlvbihmdDEsIGZ0MCkKKyAgICBzdG9yZWQgZnQwLCBbY2ZyLCB0MiwgOF0KKyAgICBk
aXNwYXRjaCg1KQorCisuc2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoc2xvd1BhdGgpCisg
ICAgZGlzcGF0Y2goNSkKK2VuZAorCittYWNybyBiaW5hcnlPcChpbnRlZ2VyT3BlcmF0aW9uLCBk
b3VibGVPcGVyYXRpb24sIHNsb3dQYXRoKQorICAgIGJpbmFyeU9wQ3VzdG9tU3RvcmUoCisgICAg
ICAgIG1hY3JvIChpbnQzMlRhZywgbGVmdCwgcmlnaHQsIHNsb3csIGluZGV4KQorICAgICAgICAg
ICAgaW50ZWdlck9wZXJhdGlvbihsZWZ0LCByaWdodCwgc2xvdykKKyAgICAgICAgICAgIHN0b3Jl
aSBpbnQzMlRhZywgVGFnT2Zmc2V0W2NmciwgaW5kZXgsIDhdCisgICAgICAgICAgICBzdG9yZWkg
cmlnaHQsIFBheWxvYWRPZmZzZXRbY2ZyLCBpbmRleCwgOF0KKyAgICAgICAgZW5kLAorICAgICAg
ICBkb3VibGVPcGVyYXRpb24sIHNsb3dQYXRoKQorZW5kCisKK19sbGludF9vcF9hZGQ6CisgICAg
dHJhY2VFeGVjdXRpb24oKQorICAgIGJpbmFyeU9wKAorICAgICAgICBtYWNybyAobGVmdCwgcmln
aHQsIHNsb3cpIGJhZGRpbyBsZWZ0LCByaWdodCwgc2xvdyBlbmQsCisgICAgICAgIG1hY3JvIChs
ZWZ0LCByaWdodCkgYWRkZCBsZWZ0LCByaWdodCBlbmQsCisgICAgICAgIF9zbG93X3BhdGhfYWRk
KQorCisKK19sbGludF9vcF9tdWw6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGJpbmFyeU9w
Q3VzdG9tU3RvcmUoCisgICAgICAgIG1hY3JvIChpbnQzMlRhZywgbGVmdCwgcmlnaHQsIHNsb3cs
IGluZGV4KQorICAgICAgICAgICAgY29uc3Qgc2NyYXRjaCA9IGludDMyVGFnICAgIyBXZSBrbm93
IHRoYXQgd2UgY2FuIHJldXNlIHRoZSBpbnQzMlRhZyByZWdpc3RlciBzaW5jZSBpdCBoYXMgYSBj
b25zdGFudC4KKyAgICAgICAgICAgIG1vdmUgcmlnaHQsIHNjcmF0Y2gKKyAgICAgICAgICAgIGJt
dWxpbyBsZWZ0LCBzY3JhdGNoLCBzbG93CisgICAgICAgICAgICBidGlueiBzY3JhdGNoLCAuZG9u
ZQorICAgICAgICAgICAgYmlsdCBsZWZ0LCAwLCBzbG93CisgICAgICAgICAgICBiaWx0IHJpZ2h0
LCAwLCBzbG93CisgICAgICAgIC5kb25lOgorICAgICAgICAgICAgc3RvcmVpIEludDMyVGFnLCBU
YWdPZmZzZXRbY2ZyLCBpbmRleCwgOF0KKyAgICAgICAgICAgIHN0b3JlaSBzY3JhdGNoLCBQYXls
b2FkT2Zmc2V0W2NmciwgaW5kZXgsIDhdCisgICAgICAgIGVuZCwKKyAgICAgICAgbWFjcm8gKGxl
ZnQsIHJpZ2h0KSBtdWxkIGxlZnQsIHJpZ2h0IGVuZCwKKyAgICAgICAgX3Nsb3dfcGF0aF9tdWwp
CisKKworX2xsaW50X29wX3N1YjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgYmluYXJ5T3Ao
CisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwgc2xvdykgYnN1YmlvIGxlZnQsIHJpZ2h0LCBz
bG93IGVuZCwKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0KSBzdWJkIGxlZnQsIHJpZ2h0IGVu
ZCwKKyAgICAgICAgX3Nsb3dfcGF0aF9zdWIpCisKKworX2xsaW50X29wX2RpdjoKKyAgICB0cmFj
ZUV4ZWN1dGlvbigpCisgICAgYmluYXJ5T3BDdXN0b21TdG9yZSgKKyAgICAgICAgbWFjcm8gKGlu
dDMyVGFnLCBsZWZ0LCByaWdodCwgc2xvdywgaW5kZXgpCisgICAgICAgICAgICBjaTJkIGxlZnQs
IGZ0MAorICAgICAgICAgICAgY2kyZCByaWdodCwgZnQxCisgICAgICAgICAgICBkaXZkIGZ0MCwg
ZnQxCisgICAgICAgICAgICBiY2QyaSBmdDEsIHJpZ2h0LCAubm90SW50CisgICAgICAgICAgICBz
dG9yZWkgaW50MzJUYWcsIFRhZ09mZnNldFtjZnIsIGluZGV4LCA4XQorICAgICAgICAgICAgc3Rv
cmVpIHJpZ2h0LCBQYXlsb2FkT2Zmc2V0W2NmciwgaW5kZXgsIDhdCisgICAgICAgICAgICBqbXAg
LmRvbmUKKyAgICAgICAgLm5vdEludDoKKyAgICAgICAgICAgIHN0b3JlZCBmdDEsIFtjZnIsIGlu
ZGV4LCA4XQorICAgICAgICAuZG9uZToKKyAgICAgICAgZW5kLAorICAgICAgICBtYWNybyAobGVm
dCwgcmlnaHQpIGRpdmQgbGVmdCwgcmlnaHQgZW5kLAorICAgICAgICBfc2xvd19wYXRoX2RpdikK
KworCittYWNybyBiaXRPcChvcGVyYXRpb24sIHNsb3dQYXRoLCBhZHZhbmNlKQorICAgIGxvYWRp
IDEyW1BDXSwgdDIKKyAgICBsb2FkaSA4W1BDXSwgdDAKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlh
YmxlKHQyLCB0MywgdDEpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZTJSZWcodDAsIHQyLCB0
MCkKKyAgICBiaW5lcSB0MywgSW50MzJUYWcsIC5zbG93CisgICAgYmluZXEgdDIsIEludDMyVGFn
LCAuc2xvdworICAgIGxvYWRpIDRbUENdLCB0MgorICAgIG9wZXJhdGlvbih0MSwgdDApCisgICAg
c3RvcmVpIHQzLCBUYWdPZmZzZXRbY2ZyLCB0MiwgOF0KKyAgICBzdG9yZWkgdDAsIFBheWxvYWRP
ZmZzZXRbY2ZyLCB0MiwgOF0KKyAgICBkaXNwYXRjaChhZHZhbmNlKQorCisuc2xvdzoKKyAgICBj
YWxsT3Bjb2RlU2xvd1BhdGgoc2xvd1BhdGgpCisgICAgZGlzcGF0Y2goYWR2YW5jZSkKK2VuZAor
CitfbGxpbnRfb3BfbHNoaWZ0OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBiaXRPcCgKKyAg
ICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0KSBsc2hpZnRpIGxlZnQsIHJpZ2h0IGVuZCwKKyAgICAg
ICAgX3Nsb3dfcGF0aF9sc2hpZnQsCisgICAgICAgIGNvbnN0ZXhwciBvcF9sc2hpZnRfbGVuZ3Ro
KQorCisKK19sbGludF9vcF9yc2hpZnQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGJpdE9w
KAorICAgICAgICBtYWNybyAobGVmdCwgcmlnaHQpIHJzaGlmdGkgbGVmdCwgcmlnaHQgZW5kLAor
ICAgICAgICBfc2xvd19wYXRoX3JzaGlmdCwKKyAgICAgICAgY29uc3RleHByIG9wX3JzaGlmdF9s
ZW5ndGgpCisKKworX2xsaW50X29wX3Vyc2hpZnQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAg
IGJpdE9wKAorICAgICAgICBtYWNybyAobGVmdCwgcmlnaHQpIHVyc2hpZnRpIGxlZnQsIHJpZ2h0
IGVuZCwKKyAgICAgICAgX3Nsb3dfcGF0aF91cnNoaWZ0LAorICAgICAgICBjb25zdGV4cHIgb3Bf
dXJzaGlmdF9sZW5ndGgpCisKKworX2xsaW50X29wX3Vuc2lnbmVkOgorICAgIHRyYWNlRXhlY3V0
aW9uKCkKKyAgICBsb2FkaSA0W1BDXSwgdDAKKyAgICBsb2FkaSA4W1BDXSwgdDEKKyAgICBsb2Fk
Q29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZCh0MSwgSW50MzJUYWcsIHQyLCAub3BVbnNpZ25lZFNs
b3cpCisgICAgYmlsdCB0MiwgMCwgLm9wVW5zaWduZWRTbG93CisgICAgc3RvcmVpIHQyLCBQYXls
b2FkT2Zmc2V0W2NmciwgdDAsIDhdCisgICAgc3RvcmVpIEludDMyVGFnLCBUYWdPZmZzZXRbY2Zy
LCB0MCwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfdW5zaWduZWRfbGVuZ3RoKQorLm9w
VW5zaWduZWRTbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3Vuc2lnbmVk
KQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF91bnNpZ25lZF9sZW5ndGgpCisKKworX2xsaW50
X29wX2JpdGFuZDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgYml0T3AoCisgICAgICAgIG1h
Y3JvIChsZWZ0LCByaWdodCkgYW5kaSBsZWZ0LCByaWdodCBlbmQsCisgICAgICAgIF9zbG93X3Bh
dGhfYml0YW5kLAorICAgICAgICBjb25zdGV4cHIgb3BfYml0YW5kX2xlbmd0aCkKKworCitfbGxp
bnRfb3BfYml0eG9yOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBiaXRPcCgKKyAgICAgICAg
bWFjcm8gKGxlZnQsIHJpZ2h0KSB4b3JpIGxlZnQsIHJpZ2h0IGVuZCwKKyAgICAgICAgX3Nsb3df
cGF0aF9iaXR4b3IsCisgICAgICAgIGNvbnN0ZXhwciBvcF9iaXR4b3JfbGVuZ3RoKQorCisKK19s
bGludF9vcF9iaXRvcjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgYml0T3AoCisgICAgICAg
IG1hY3JvIChsZWZ0LCByaWdodCkgb3JpIGxlZnQsIHJpZ2h0IGVuZCwKKyAgICAgICAgX3Nsb3df
cGF0aF9iaXRvciwKKyAgICAgICAgY29uc3RleHByIG9wX2JpdG9yX2xlbmd0aCkKKworCitfbGxp
bnRfb3Bfb3ZlcnJpZGVzX2hhc19pbnN0YW5jZToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisKKyAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDMpCisgICAgc3RvcmVpIEJvb2xlYW5UYWcsIFRh
Z09mZnNldFtjZnIsIHQzLCA4XQorCisgICAgIyBGaXJzdCBjaGVjayBpZiBoYXNJbnN0YW5jZVZh
bHVlIGlzIHRoZSBvbmUgb24gRnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV0K
KyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDApCisgICAgbG9hZENvbnN0YW50T3JWYXJp
YWJsZVBheWxvYWQodDAsIENlbGxUYWcsIHQyLCAub3BPdmVycmlkZXNoYXNJbnN0YW5jZVZhbHVl
Tm90Q2VsbCkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQwLCB0MSwgdDIpCisgICAgYmlu
ZXEgdDEsIENlbGxUYWcsIC5vcE92ZXJyaWRlc2hhc0luc3RhbmNlVmFsdWVOb3RDZWxsCisKKyAg
ICAjIFdlIGRvbid0IG5lZWQgaGFzSW5zdGFuY2VWYWx1ZSdzIHRhZyByZWdpc3RlciBhbnltb3Jl
LgorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MQorICAgIGxvYWRwIENvZGVCbG9jazo6bV9n
bG9iYWxPYmplY3RbdDFdLCB0MQorICAgIGxvYWRwIEpTR2xvYmFsT2JqZWN0OjptX2Z1bmN0aW9u
UHJvdG9IYXNJbnN0YW5jZVN5bWJvbEZ1bmN0aW9uW3QxXSwgdDEKKyAgICBiaW5lcSB0MSwgdDIs
IC5vcE92ZXJyaWRlc2hhc0luc3RhbmNlVmFsdWVOb3REZWZhdWx0CisKKyAgICAjIFdlIGtub3cg
dGhlIGNvbnN0cnVjdG9yIGlzIGEgY2VsbC4KKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwg
dDApCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWRVbmNoZWNrZWQodDAsIHQxKQor
ICAgIHRieiBKU0NlbGw6Om1fZmxhZ3NbdDFdLCBJbXBsZW1lbnRzRGVmYXVsdEhhc0luc3RhbmNl
LCB0MAorICAgIHN0b3JlaSB0MCwgUGF5bG9hZE9mZnNldFtjZnIsIHQzLCA4XQorICAgIGRpc3Bh
dGNoKGNvbnN0ZXhwciBvcF9vdmVycmlkZXNfaGFzX2luc3RhbmNlX2xlbmd0aCkKKworLm9wT3Zl
cnJpZGVzaGFzSW5zdGFuY2VWYWx1ZU5vdENlbGw6Cisub3BPdmVycmlkZXNoYXNJbnN0YW5jZVZh
bHVlTm90RGVmYXVsdDoKKyAgICBzdG9yZWkgMSwgUGF5bG9hZE9mZnNldFtjZnIsIHQzLCA4XQor
ICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9vdmVycmlkZXNfaGFzX2luc3RhbmNlX2xlbmd0aCkK
KworX2xsaW50X29wX2luc3RhbmNlb2ZfY3VzdG9tOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9pbnN0YW5jZW9mX2N1c3RvbSkK
KyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfaW5zdGFuY2VvZl9jdXN0b21fbGVuZ3RoKQorCisK
K19sbGludF9vcF9pc19lbXB0eToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGkgOFtQ
Q10sIHQxCisgICAgbG9hZGkgNFtQQ10sIHQwCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0
MSwgdDIsIHQzKQorICAgIGNpZXEgdDIsIEVtcHR5VmFsdWVUYWcsIHQzCisgICAgc3RvcmVpIEJv
b2xlYW5UYWcsIFRhZ09mZnNldFtjZnIsIHQwLCA4XQorICAgIHN0b3JlaSB0MywgUGF5bG9hZE9m
ZnNldFtjZnIsIHQwLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9pc19lbXB0eV9sZW5n
dGgpCisKKworX2xsaW50X29wX2lzX3VuZGVmaW5lZDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisg
ICAgbG9hZGkgOFtQQ10sIHQxCisgICAgbG9hZGkgNFtQQ10sIHQwCisgICAgbG9hZENvbnN0YW50
T3JWYXJpYWJsZSh0MSwgdDIsIHQzKQorICAgIHN0b3JlaSBCb29sZWFuVGFnLCBUYWdPZmZzZXRb
Y2ZyLCB0MCwgOF0KKyAgICBiaWVxIHQyLCBDZWxsVGFnLCAub3BJc1VuZGVmaW5lZENlbGwKKyAg
ICBjaWVxIHQyLCBVbmRlZmluZWRUYWcsIHQzCisgICAgc3RvcmVpIHQzLCBQYXlsb2FkT2Zmc2V0
W2NmciwgdDAsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2lzX3VuZGVmaW5lZF9sZW5n
dGgpCisub3BJc1VuZGVmaW5lZENlbGw6CisgICAgYnRibnogSlNDZWxsOjptX2ZsYWdzW3QzXSwg
TWFzcXVlcmFkZXNBc1VuZGVmaW5lZCwgLm9wSXNVbmRlZmluZWRNYXNxdWVyYWRlc0FzVW5kZWZp
bmVkCisgICAgbW92ZSAwLCB0MQorICAgIHN0b3JlaSB0MSwgUGF5bG9hZE9mZnNldFtjZnIsIHQw
LCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9pc191bmRlZmluZWRfbGVuZ3RoKQorLm9w
SXNVbmRlZmluZWRNYXNxdWVyYWRlc0FzVW5kZWZpbmVkOgorICAgIGxvYWRwIEpTQ2VsbDo6bV9z
dHJ1Y3R1cmVJRFt0M10sIHQxCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQzCisgICAgbG9h
ZHAgQ29kZUJsb2NrOjptX2dsb2JhbE9iamVjdFt0M10sIHQzCisgICAgY3BlcSBTdHJ1Y3R1cmU6
Om1fZ2xvYmFsT2JqZWN0W3QxXSwgdDMsIHQxCisgICAgc3RvcmVpIHQxLCBQYXlsb2FkT2Zmc2V0
W2NmciwgdDAsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2lzX3VuZGVmaW5lZF9sZW5n
dGgpCisKKworX2xsaW50X29wX2lzX2Jvb2xlYW46CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAg
IGxvYWRpIDhbUENdLCB0MQorICAgIGxvYWRpIDRbUENdLCB0MgorICAgIGxvYWRDb25zdGFudE9y
VmFyaWFibGVUYWcodDEsIHQwKQorICAgIGNpZXEgdDAsIEJvb2xlYW5UYWcsIHQwCisgICAgc3Rv
cmVpIEJvb2xlYW5UYWcsIFRhZ09mZnNldFtjZnIsIHQyLCA4XQorICAgIHN0b3JlaSB0MCwgUGF5
bG9hZE9mZnNldFtjZnIsIHQyLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9pc19ib29s
ZWFuX2xlbmd0aCkKKworCitfbGxpbnRfb3BfaXNfbnVtYmVyOgorICAgIHRyYWNlRXhlY3V0aW9u
KCkKKyAgICBsb2FkaSA4W1BDXSwgdDEKKyAgICBsb2FkaSA0W1BDXSwgdDIKKyAgICBsb2FkQ29u
c3RhbnRPclZhcmlhYmxlVGFnKHQxLCB0MCkKKyAgICBzdG9yZWkgQm9vbGVhblRhZywgVGFnT2Zm
c2V0W2NmciwgdDIsIDhdCisgICAgYWRkaSAxLCB0MAorICAgIGNpYiB0MCwgTG93ZXN0VGFnICsg
MSwgdDEKKyAgICBzdG9yZWkgdDEsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MiwgOF0KKyAgICBkaXNw
YXRjaChjb25zdGV4cHIgb3BfaXNfbnVtYmVyX2xlbmd0aCkKKworCitfbGxpbnRfb3BfaXNfY2Vs
bF93aXRoX3R5cGU6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpIDhbUENdLCB0MQor
ICAgIGxvYWRpIDRbUENdLCB0MgorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQwLCB0
MykKKyAgICBzdG9yZWkgQm9vbGVhblRhZywgVGFnT2Zmc2V0W2NmciwgdDIsIDhdCisgICAgYmlu
ZXEgdDAsIENlbGxUYWcsIC5ub3RDZWxsQ2FzZQorICAgIGxvYWRpIDEyW1BDXSwgdDAKKyAgICBj
YmVxIEpTQ2VsbDo6bV90eXBlW3QzXSwgdDAsIHQxCisgICAgc3RvcmVpIHQxLCBQYXlsb2FkT2Zm
c2V0W2NmciwgdDIsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2lzX2NlbGxfd2l0aF90
eXBlX2xlbmd0aCkKKy5ub3RDZWxsQ2FzZToKKyAgICBzdG9yZXAgMCwgUGF5bG9hZE9mZnNldFtj
ZnIsIHQyLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9pc19jZWxsX3dpdGhfdHlwZV9s
ZW5ndGgpCisKKworX2xsaW50X29wX2lzX29iamVjdDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisg
ICAgbG9hZGkgOFtQQ10sIHQxCisgICAgbG9hZGkgNFtQQ10sIHQyCisgICAgbG9hZENvbnN0YW50
T3JWYXJpYWJsZSh0MSwgdDAsIHQzKQorICAgIHN0b3JlaSBCb29sZWFuVGFnLCBUYWdPZmZzZXRb
Y2ZyLCB0MiwgOF0KKyAgICBiaW5lcSB0MCwgQ2VsbFRhZywgLm9wSXNPYmplY3ROb3RDZWxsCisg
ICAgY2JhZXEgSlNDZWxsOjptX3R5cGVbdDNdLCBPYmplY3RUeXBlLCB0MQorICAgIHN0b3JlaSB0
MSwgUGF5bG9hZE9mZnNldFtjZnIsIHQyLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9p
c19vYmplY3RfbGVuZ3RoKQorLm9wSXNPYmplY3ROb3RDZWxsOgorICAgIHN0b3JlcCAwLCBQYXls
b2FkT2Zmc2V0W2NmciwgdDIsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2lzX29iamVj
dF9sZW5ndGgpCisKKworbWFjcm8gbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldEtub3duTm90
SW5saW5lKHByb3BlcnR5T2Zmc2V0LCBvYmplY3RBbmRTdG9yYWdlLCB0YWcsIHBheWxvYWQpCisg
ICAgYXNzZXJ0KG1hY3JvIChvaykgYmlndGVxIHByb3BlcnR5T2Zmc2V0LCBmaXJzdE91dE9mTGlu
ZU9mZnNldCwgb2sgZW5kKQorICAgIG5lZ2kgcHJvcGVydHlPZmZzZXQKKyAgICBsb2FkcCBKU09i
amVjdDo6bV9idXR0ZXJmbHlbb2JqZWN0QW5kU3RvcmFnZV0sIG9iamVjdEFuZFN0b3JhZ2UKKyAg
ICBsb2FkaSBUYWdPZmZzZXQgKyAoZmlyc3RPdXRPZkxpbmVPZmZzZXQgLSAyKSAqIDhbb2JqZWN0
QW5kU3RvcmFnZSwgcHJvcGVydHlPZmZzZXQsIDhdLCB0YWcKKyAgICBsb2FkaSBQYXlsb2FkT2Zm
c2V0ICsgKGZpcnN0T3V0T2ZMaW5lT2Zmc2V0IC0gMikgKiA4W29iamVjdEFuZFN0b3JhZ2UsIHBy
b3BlcnR5T2Zmc2V0LCA4XSwgcGF5bG9hZAorZW5kCisKK21hY3JvIGxvYWRQcm9wZXJ0eUF0VmFy
aWFibGVPZmZzZXQocHJvcGVydHlPZmZzZXQsIG9iamVjdEFuZFN0b3JhZ2UsIHRhZywgcGF5bG9h
ZCkKKyAgICBiaWx0IHByb3BlcnR5T2Zmc2V0LCBmaXJzdE91dE9mTGluZU9mZnNldCwgLmlzSW5s
aW5lCisgICAgbG9hZHAgSlNPYmplY3Q6Om1fYnV0dGVyZmx5W29iamVjdEFuZFN0b3JhZ2VdLCBv
YmplY3RBbmRTdG9yYWdlCisgICAgbmVnaSBwcm9wZXJ0eU9mZnNldAorICAgIGptcCAucmVhZHkK
Ky5pc0lubGluZToKKyAgICBhZGRwIHNpemVvZiBKU09iamVjdCAtIChmaXJzdE91dE9mTGluZU9m
ZnNldCAtIDIpICogOCwgb2JqZWN0QW5kU3RvcmFnZQorLnJlYWR5OgorICAgIGxvYWRpIFRhZ09m
ZnNldCArIChmaXJzdE91dE9mTGluZU9mZnNldCAtIDIpICogOFtvYmplY3RBbmRTdG9yYWdlLCBw
cm9wZXJ0eU9mZnNldCwgOF0sIHRhZworICAgIGxvYWRpIFBheWxvYWRPZmZzZXQgKyAoZmlyc3RP
dXRPZkxpbmVPZmZzZXQgLSAyKSAqIDhbb2JqZWN0QW5kU3RvcmFnZSwgcHJvcGVydHlPZmZzZXQs
IDhdLCBwYXlsb2FkCitlbmQKKworbWFjcm8gc3RvcmVQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXQo
cHJvcGVydHlPZmZzZXRBc0ludCwgb2JqZWN0QW5kU3RvcmFnZSwgdGFnLCBwYXlsb2FkKQorICAg
IGJpbHQgcHJvcGVydHlPZmZzZXRBc0ludCwgZmlyc3RPdXRPZkxpbmVPZmZzZXQsIC5pc0lubGlu
ZQorICAgIGxvYWRwIEpTT2JqZWN0OjptX2J1dHRlcmZseVtvYmplY3RBbmRTdG9yYWdlXSwgb2Jq
ZWN0QW5kU3RvcmFnZQorICAgIG5lZ2kgcHJvcGVydHlPZmZzZXRBc0ludAorICAgIGptcCAucmVh
ZHkKKy5pc0lubGluZToKKyAgICBhZGRwIHNpemVvZiBKU09iamVjdCAtIChmaXJzdE91dE9mTGlu
ZU9mZnNldCAtIDIpICogOCwgb2JqZWN0QW5kU3RvcmFnZQorLnJlYWR5OgorICAgIHN0b3JlaSB0
YWcsIFRhZ09mZnNldCArIChmaXJzdE91dE9mTGluZU9mZnNldCAtIDIpICogOFtvYmplY3RBbmRT
dG9yYWdlLCBwcm9wZXJ0eU9mZnNldEFzSW50LCA4XQorICAgIHN0b3JlaSBwYXlsb2FkLCBQYXls
b2FkT2Zmc2V0ICsgKGZpcnN0T3V0T2ZMaW5lT2Zmc2V0IC0gMikgKiA4W29iamVjdEFuZFN0b3Jh
Z2UsIHByb3BlcnR5T2Zmc2V0QXNJbnQsIDhdCitlbmQKKworCisjIFdlIG9ubHkgZG8gbW9ub21v
cnBoaWMgZ2V0X2J5X2lkIGNhY2hpbmcgZm9yIG5vdywgYW5kIHdlIGRvIG5vdCBtb2RpZnkgdGhl
CisjIG9wY29kZSBmb3Igb3duIHByb3BlcnRpZXMuIFdlIGFsc28gYWxsb3cgZm9yIHRoZSBjYWNo
ZSB0byBjaGFuZ2UgYW55dGltZSBpdCBmYWlscywKKyMgc2luY2UgcGluZy1wb25naW5nIGlzIGZy
ZWUuIEF0IGJlc3Qgd2UgZ2V0IGx1Y2t5IGFuZCB0aGUgZ2V0X2J5X2lkIHdpbGwgY29udGludWUK
KyMgdG8gdGFrZSBmYXN0IHBhdGggb24gdGhlIG5ldyBjYWNoZS4gQXQgd29yc3Qgd2UgdGFrZSBz
bG93IHBhdGgsIHdoaWNoIGlzIHdoYXQKKyMgd2Ugd291bGQgaGF2ZSBiZWVuIGRvaW5nIGFueXdh
eS4gRm9yIHByb3RvdHlwZS91bnNldCBwcm9wZXJ0aWVzLCB3ZSB3aWxsIGF0dGVtcHQgdG8KKyMg
Y29udmVydCBvcGNvZGUgaW50byBhIGdldF9ieV9pZF9wcm90b19sb2FkL2dldF9ieV9pZF91bnNl
dCwgcmVzcGVjdGl2ZWx5LCBhZnRlciBhbgorIyBleGVjdXRpb24gY291bnRlciBoaXRzIHplcm8u
CisKK19sbGludF9vcF9nZXRfYnlfaWQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRp
IDhbUENdLCB0MAorICAgIGxvYWRpIDE2W1BDXSwgdDEKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlh
YmxlUGF5bG9hZCh0MCwgQ2VsbFRhZywgdDMsIC5vcEdldEJ5SWRTbG93KQorICAgIGxvYWRpIDIw
W1BDXSwgdDIKKyAgICBiaW5lcSBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDNdLCB0MSwgLm9wR2V0
QnlJZFNsb3cKKyAgICBsb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0KHQyLCB0MywgdDAsIHQx
KQorICAgIGxvYWRpIDRbUENdLCB0MgorICAgIHN0b3JlaSB0MCwgVGFnT2Zmc2V0W2NmciwgdDIs
IDhdCisgICAgc3RvcmVpIHQxLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDIsIDhdCisgICAgdmFsdWVQ
cm9maWxlKHQwLCB0MSwgMzIsIHQyKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfYnlf
aWRfbGVuZ3RoKQorCisub3BHZXRCeUlkU2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xs
aW50X3Nsb3dfcGF0aF9nZXRfYnlfaWQpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9i
eV9pZF9sZW5ndGgpCisKKworX2xsaW50X29wX2dldF9ieV9pZF9wcm90b19sb2FkOgorICAgIHRy
YWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSA4W1BDXSwgdDAKKyAgICBsb2FkaSAxNltQQ10sIHQx
CisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQodDAsIENlbGxUYWcsIHQzLCAub3BH
ZXRCeUlkUHJvdG9TbG93KQorICAgIGxvYWRpIDIwW1BDXSwgdDIKKyAgICBiaW5lcSBKU0NlbGw6
Om1fc3RydWN0dXJlSURbdDNdLCB0MSwgLm9wR2V0QnlJZFByb3RvU2xvdworICAgIGxvYWRwRnJv
bUluc3RydWN0aW9uKDYsIHQzKQorICAgIGxvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXQodDIs
IHQzLCB0MCwgdDEpCisgICAgbG9hZGkgNFtQQ10sIHQyCisgICAgc3RvcmVpIHQwLCBUYWdPZmZz
ZXRbY2ZyLCB0MiwgOF0KKyAgICBzdG9yZWkgdDEsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MiwgOF0K
KyAgICB2YWx1ZVByb2ZpbGUodDAsIHQxLCAzMiwgdDIpCisgICAgZGlzcGF0Y2goY29uc3RleHBy
IG9wX2dldF9ieV9pZF9wcm90b19sb2FkX2xlbmd0aCkKKworLm9wR2V0QnlJZFByb3RvU2xvdzoK
KyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9nZXRfYnlfaWQpCisgICAg
ZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9ieV9pZF9wcm90b19sb2FkX2xlbmd0aCkKKworCitf
bGxpbnRfb3BfZ2V0X2J5X2lkX3Vuc2V0OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2Fk
aSA4W1BDXSwgdDAKKyAgICBsb2FkaSAxNltQQ10sIHQxCisgICAgbG9hZENvbnN0YW50T3JWYXJp
YWJsZVBheWxvYWQodDAsIENlbGxUYWcsIHQzLCAub3BHZXRCeUlkVW5zZXRTbG93KQorICAgIGJp
bmVxIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0M10sIHQxLCAub3BHZXRCeUlkVW5zZXRTbG93Cisg
ICAgbG9hZGkgNFtQQ10sIHQyCisgICAgc3RvcmVpIFVuZGVmaW5lZFRhZywgVGFnT2Zmc2V0W2Nm
ciwgdDIsIDhdCisgICAgc3RvcmVpIDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MiwgOF0KKyAgICB2
YWx1ZVByb2ZpbGUoVW5kZWZpbmVkVGFnLCAwLCAzMiwgdDIpCisgICAgZGlzcGF0Y2goY29uc3Rl
eHByIG9wX2dldF9ieV9pZF91bnNldF9sZW5ndGgpCisKKy5vcEdldEJ5SWRVbnNldFNsb3c6Cisg
ICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfZ2V0X2J5X2lkKQorICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfYnlfaWRfdW5zZXRfbGVuZ3RoKQorCisKK19sbGludF9v
cF9nZXRfYXJyYXlfbGVuZ3RoOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSA4W1BD
XSwgdDAKKyAgICBsb2FkcCAxNltQQ10sIHQxCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBh
eWxvYWQodDAsIENlbGxUYWcsIHQzLCAub3BHZXRBcnJheUxlbmd0aFNsb3cpCisgICAgbW92ZSB0
MywgdDIKKyAgICBhcnJheVByb2ZpbGUodDIsIHQxLCB0MCkKKyAgICBidGl6IHQyLCBJc0FycmF5
LCAub3BHZXRBcnJheUxlbmd0aFNsb3cKKyAgICBidGl6IHQyLCBJbmRleGluZ1NoYXBlTWFzaywg
Lm9wR2V0QXJyYXlMZW5ndGhTbG93CisgICAgbG9hZGkgNFtQQ10sIHQxCisgICAgbG9hZHAgSlNP
YmplY3Q6Om1fYnV0dGVyZmx5W3QzXSwgdDAKKyAgICBsb2FkaSAtc2l6ZW9mIEluZGV4aW5nSGVh
ZGVyICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy5wdWJsaWNMZW5ndGhbdDBdLCB0MAorICAg
IGJpbHQgdDAsIDAsIC5vcEdldEFycmF5TGVuZ3RoU2xvdworICAgIHZhbHVlUHJvZmlsZShJbnQz
MlRhZywgdDAsIDMyLCB0MikKKyAgICBzdG9yZXAgdDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MSwg
OF0KKyAgICBzdG9yZXAgSW50MzJUYWcsIFRhZ09mZnNldFtjZnIsIHQxLCA4XQorICAgIGRpc3Bh
dGNoKGNvbnN0ZXhwciBvcF9nZXRfYXJyYXlfbGVuZ3RoX2xlbmd0aCkKKworLm9wR2V0QXJyYXlM
ZW5ndGhTbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2dldF9i
eV9pZCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2FycmF5X2xlbmd0aF9sZW5ndGgp
CisKKworX2xsaW50X29wX3B1dF9ieV9pZDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgd3Jp
dGVCYXJyaWVyT25PcGVyYW5kcygxLCAzKQorICAgIGxvYWRpIDRbUENdLCB0MworICAgIGxvYWRD
b25zdGFudE9yVmFyaWFibGVQYXlsb2FkKHQzLCBDZWxsVGFnLCB0MCwgLm9wUHV0QnlJZFNsb3cp
CisgICAgbG9hZGkgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QwXSwgdDIKKyAgICBiaW5lcSB0Miwg
MTZbUENdLCAub3BQdXRCeUlkU2xvdworCisgICAgIyBBdCB0aGlzIHBvaW50LCB3ZSBoYXZlOgor
ICAgICMgdDIgLT4gY3VycmVudFN0cnVjdHVyZUlECisgICAgIyB0MCAtPiBvYmplY3QgYmFzZQor
ICAgICMgV2Ugd2lsbCBsb3NlIGN1cnJlbnRTdHJ1Y3R1cmVJRCBpbiB0aGUgc2hlbmFuaWdhbnMg
YmVsb3cuCisKKyAgICBsb2FkaSAxMltQQ10sIHQxCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJs
ZSh0MSwgdDIsIHQzKQorICAgIGxvYWRpIDMyW1BDXSwgdDEKKworICAgICMgQXQgdGhpcyBwb2lu
dCwgd2UgaGF2ZToKKyAgICAjIHQwIC0+IG9iamVjdCBiYXNlCisgICAgIyB0MSAtPiBwdXQgYnkg
aWQgZmxhZ3MKKyAgICAjIHQyIC0+IHZhbHVlIHRhZworICAgICMgdDMgLT4gdmFsdWUgcGF5bG9h
ZAorCisgICAgYnRpbnogdDEsIFB1dEJ5SWRQcmltYXJ5VHlwZU1hc2ssIC5vcFB1dEJ5SWRUeXBl
Q2hlY2tPYmplY3RXaXRoU3RydWN0dXJlT3JPdGhlcgorCisgICAgIyBXZSBoYXZlIG9uZSBvZiB0
aGUgbm9uLXN0cnVjdHVyZSB0eXBlIGNoZWNrcy4gRmluZCBvdXQgd2hpY2ggb25lLgorICAgIGFu
ZGkgUHV0QnlJZFNlY29uZGFyeVR5cGVNYXNrLCB0MQorICAgIGJpbHQgdDEsIFB1dEJ5SWRTZWNv
bmRhcnlUeXBlU3RyaW5nLCAub3BQdXRCeUlkVHlwZUNoZWNrTGVzc1RoYW5TdHJpbmcKKworICAg
ICMgV2UgYXJlIG9uZSBvZiB0aGUgZm9sbG93aW5nOiBTdHJpbmcsIFN5bWJvbCwgT2JqZWN0LCBP
YmplY3RPck90aGVyLCBUb3AKKyAgICBiaWx0IHQxLCBQdXRCeUlkU2Vjb25kYXJ5VHlwZU9iamVj
dE9yT3RoZXIsIC5vcFB1dEJ5SWRUeXBlQ2hlY2tMZXNzVGhhbk9iamVjdE9yT3RoZXIKKworICAg
ICMgV2UgYXJlIGVpdGhlciBPYmplY3RPck90aGVyIG9yIFRvcC4KKyAgICBiaWVxIHQxLCBQdXRC
eUlkU2Vjb25kYXJ5VHlwZVRvcCwgLm9wUHV0QnlJZERvbmVDaGVja2luZ1R5cGVzCisKKyAgICAj
IENoZWNrIGlmIHdlIGFyZSBPYmplY3RPck90aGVyLgorICAgIGJpZXEgdDIsIENlbGxUYWcsIC5v
cFB1dEJ5SWRUeXBlQ2hlY2tPYmplY3QKKy5vcFB1dEJ5SWRUeXBlQ2hlY2tPdGhlcjoKKyAgICBi
aWVxIHQyLCBOdWxsVGFnLCAub3BQdXRCeUlkRG9uZUNoZWNraW5nVHlwZXMKKyAgICBiaWVxIHQy
LCBVbmRlZmluZWRUYWcsIC5vcFB1dEJ5SWREb25lQ2hlY2tpbmdUeXBlcworICAgIGptcCAub3BQ
dXRCeUlkU2xvdworCisub3BQdXRCeUlkVHlwZUNoZWNrTGVzc1RoYW5PYmplY3RPck90aGVyOgor
ICAgICMgV2UgYXJlIGVpdGhlciBTdHJpbmcsIFN5bWJvbCBvciBPYmplY3QuCisgICAgYmluZXEg
dDIsIENlbGxUYWcsIC5vcFB1dEJ5SWRTbG93CisgICAgYmllcSB0MSwgUHV0QnlJZFNlY29uZGFy
eVR5cGVPYmplY3QsIC5vcFB1dEJ5SWRUeXBlQ2hlY2tPYmplY3QKKyAgICBiaWVxIHQxLCBQdXRC
eUlkU2Vjb25kYXJ5VHlwZVN5bWJvbCwgLm9wUHV0QnlJZFR5cGVDaGVja1N5bWJvbAorICAgIGJi
ZXEgSlNDZWxsOjptX3R5cGVbdDNdLCBTdHJpbmdUeXBlLCAub3BQdXRCeUlkRG9uZUNoZWNraW5n
VHlwZXMKKyAgICBqbXAgLm9wUHV0QnlJZFNsb3cKKy5vcFB1dEJ5SWRUeXBlQ2hlY2tPYmplY3Q6
CisgICAgYmJhZXEgSlNDZWxsOjptX3R5cGVbdDNdLCBPYmplY3RUeXBlLCAub3BQdXRCeUlkRG9u
ZUNoZWNraW5nVHlwZXMKKyAgICBqbXAgLm9wUHV0QnlJZFNsb3cKKy5vcFB1dEJ5SWRUeXBlQ2hl
Y2tTeW1ib2w6CisgICAgYmJlcSBKU0NlbGw6Om1fdHlwZVt0M10sIFN5bWJvbFR5cGUsIC5vcFB1
dEJ5SWREb25lQ2hlY2tpbmdUeXBlcworICAgIGptcCAub3BQdXRCeUlkU2xvdworCisub3BQdXRC
eUlkVHlwZUNoZWNrTGVzc1RoYW5TdHJpbmc6CisgICAgIyBXZSBhcmUgb25lIG9mIHRoZSBmb2xs
b3dpbmc6IEJvdHRvbSwgQm9vbGVhbiwgT3RoZXIsIEludDMyLCBOdW1iZXIuCisgICAgYmlsdCB0
MSwgUHV0QnlJZFNlY29uZGFyeVR5cGVJbnQzMiwgLm9wUHV0QnlJZFR5cGVDaGVja0xlc3NUaGFu
SW50MzIKKworICAgICMgV2UgYXJlIGVpdGhlciBJbnQzMiBvciBOdW1iZXIuCisgICAgYmllcSB0
MSwgUHV0QnlJZFNlY29uZGFyeVR5cGVOdW1iZXIsIC5vcFB1dEJ5SWRUeXBlQ2hlY2tOdW1iZXIK
KworICAgIGJpZXEgdDIsIEludDMyVGFnLCAub3BQdXRCeUlkRG9uZUNoZWNraW5nVHlwZXMKKyAg
ICBqbXAgLm9wUHV0QnlJZFNsb3cKKworLm9wUHV0QnlJZFR5cGVDaGVja051bWJlcjoKKyAgICBi
aWIgdDIsIExvd2VzdFRhZyArIDEsIC5vcFB1dEJ5SWREb25lQ2hlY2tpbmdUeXBlcworICAgIGpt
cCAub3BQdXRCeUlkU2xvdworCisub3BQdXRCeUlkVHlwZUNoZWNrTGVzc1RoYW5JbnQzMjoKKyAg
ICAjIFdlIGFyZSBvbmUgb2YgdGhlIGZvbGxvd2luZzogQm90dG9tLCBCb29sZWFuLCBPdGhlcgor
ICAgIGJpbmVxIHQxLCBQdXRCeUlkU2Vjb25kYXJ5VHlwZUJvb2xlYW4sIC5vcFB1dEJ5SWRUeXBl
Q2hlY2tCb3R0b21Pck90aGVyCisgICAgYmllcSB0MiwgQm9vbGVhblRhZywgLm9wUHV0QnlJZERv
bmVDaGVja2luZ1R5cGVzCisgICAgam1wIC5vcFB1dEJ5SWRTbG93CisKKy5vcFB1dEJ5SWRUeXBl
Q2hlY2tCb3R0b21Pck90aGVyOgorICAgIGJpZXEgdDEsIFB1dEJ5SWRTZWNvbmRhcnlUeXBlT3Ro
ZXIsIC5vcFB1dEJ5SWRUeXBlQ2hlY2tPdGhlcgorICAgIGptcCAub3BQdXRCeUlkU2xvdworCisu
b3BQdXRCeUlkVHlwZUNoZWNrT2JqZWN0V2l0aFN0cnVjdHVyZU9yT3RoZXI6CisgICAgYmllcSB0
MiwgQ2VsbFRhZywgLm9wUHV0QnlJZFR5cGVDaGVja09iamVjdFdpdGhTdHJ1Y3R1cmUKKyAgICBi
dGlueiB0MSwgUHV0QnlJZFByaW1hcnlUeXBlT2JqZWN0V2l0aFN0cnVjdHVyZU9yT3RoZXIsIC5v
cFB1dEJ5SWRUeXBlQ2hlY2tPdGhlcgorICAgIGptcCAub3BQdXRCeUlkU2xvdworCisub3BQdXRC
eUlkVHlwZUNoZWNrT2JqZWN0V2l0aFN0cnVjdHVyZToKKyAgICBhbmRpIFB1dEJ5SWRTZWNvbmRh
cnlUeXBlTWFzaywgdDEKKyAgICBiaW5lcSB0MSwgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QzXSwg
Lm9wUHV0QnlJZFNsb3cKKworLm9wUHV0QnlJZERvbmVDaGVja2luZ1R5cGVzOgorICAgIGxvYWRp
IDI0W1BDXSwgdDEKKworICAgIGJ0aXogdDEsIC5vcFB1dEJ5SWROb3RUcmFuc2l0aW9uCisKKyAg
ICAjIFRoaXMgaXMgdGhlIHRyYW5zaXRpb24gY2FzZS4gdDEgaG9sZHMgdGhlIG5ldyBTdHJ1Y3R1
cmUqLiBJZiB3ZSBoYXZlIGEgY2hhaW4sIHdlIG5lZWQgdG8KKyAgICAjIGNoZWNrIGl0LiB0MCBp
cyB0aGUgYmFzZS4gV2UgbWF5IGNsb2JiZXIgdDEgdG8gdXNlIGl0IGFzIHNjcmF0Y2guCisgICAg
bG9hZHAgMjhbUENdLCB0MworICAgIGJ0cHogdDMsIC5vcFB1dEJ5SWRUcmFuc2l0aW9uRGlyZWN0
CisKKyAgICBsb2FkaSAxNltQQ10sIHQyICMgTmVlZCBvbGQgc3RydWN0dXJlIGFnYWluLgorICAg
IGxvYWRwIFN0cnVjdHVyZUNoYWluOjptX3ZlY3Rvclt0M10sIHQzCisgICAgYXNzZXJ0KG1hY3Jv
IChvaykgYnRwbnogdDMsIG9rIGVuZCkKKworICAgIGxvYWRwIFN0cnVjdHVyZTo6bV9wcm90b3R5
cGVbdDJdLCB0MgorICAgIGJ0cHogdDIsIC5vcFB1dEJ5SWRUcmFuc2l0aW9uQ2hhaW5Eb25lCisu
b3BQdXRCeUlkVHJhbnNpdGlvbkNoYWluTG9vcDoKKyAgICBsb2FkcCBbdDNdLCB0MQorICAgIGJw
bmVxIHQxLCBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDJdLCAub3BQdXRCeUlkU2xvdworICAgIGFk
ZHAgNCwgdDMKKyAgICBsb2FkcCBTdHJ1Y3R1cmU6Om1fcHJvdG90eXBlW3QxXSwgdDIKKyAgICBi
dHBueiB0MiwgLm9wUHV0QnlJZFRyYW5zaXRpb25DaGFpbkxvb3AKKworLm9wUHV0QnlJZFRyYW5z
aXRpb25DaGFpbkRvbmU6CisgICAgbG9hZGkgMjRbUENdLCB0MQorCisub3BQdXRCeUlkVHJhbnNp
dGlvbkRpcmVjdDoKKyAgICBzdG9yZWkgdDEsIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0MF0KKyAg
ICBsb2FkaSAxMltQQ10sIHQxCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDIsIHQz
KQorICAgIGxvYWRpIDIwW1BDXSwgdDEKKyAgICBzdG9yZVByb3BlcnR5QXRWYXJpYWJsZU9mZnNl
dCh0MSwgdDAsIHQyLCB0MykKKyAgICB3cml0ZUJhcnJpZXJPbk9wZXJhbmQoMSkKKyAgICBkaXNw
YXRjaChjb25zdGV4cHIgb3BfcHV0X2J5X2lkX2xlbmd0aCkKKworLm9wUHV0QnlJZE5vdFRyYW5z
aXRpb246CisgICAgIyBUaGUgb25seSB0aGluZyBsaXZlIHJpZ2h0IG5vdyBpcyB0MCwgd2hpY2gg
aG9sZHMgdGhlIGJhc2UuCisgICAgbG9hZGkgMTJbUENdLCB0MQorICAgIGxvYWRDb25zdGFudE9y
VmFyaWFibGUodDEsIHQyLCB0MykKKyAgICBsb2FkaSAyMFtQQ10sIHQxCisgICAgc3RvcmVQcm9w
ZXJ0eUF0VmFyaWFibGVPZmZzZXQodDEsIHQwLCB0MiwgdDMpCisgICAgZGlzcGF0Y2goY29uc3Rl
eHByIG9wX3B1dF9ieV9pZF9sZW5ndGgpCisKKy5vcFB1dEJ5SWRTbG93OgorICAgIGNhbGxPcGNv
ZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX3B1dF9ieV9pZCkKKyAgICBkaXNwYXRjaChjb25z
dGV4cHIgb3BfcHV0X2J5X2lkX2xlbmd0aCkKKworCitfbGxpbnRfb3BfZ2V0X2J5X3ZhbDoKKyAg
ICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGkgOFtQQ10sIHQyCisgICAgbG9hZENvbnN0YW50
T3JWYXJpYWJsZVBheWxvYWQodDIsIENlbGxUYWcsIHQwLCAub3BHZXRCeVZhbFNsb3cpCisgICAg
bW92ZSB0MCwgdDIKKyAgICBsb2FkcCAxNltQQ10sIHQzCisgICAgYXJyYXlQcm9maWxlKHQyLCB0
MywgdDEpCisgICAgbG9hZGkgMTJbUENdLCB0MworICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQ
YXlsb2FkKHQzLCBJbnQzMlRhZywgdDEsIC5vcEdldEJ5VmFsU2xvdykKKyAgICBsb2FkcCBKU09i
amVjdDo6bV9idXR0ZXJmbHlbdDBdLCB0MworICAgIGFuZGkgSW5kZXhpbmdTaGFwZU1hc2ssIHQy
CisgICAgYmllcSB0MiwgSW50MzJTaGFwZSwgLm9wR2V0QnlWYWxJc0NvbnRpZ3VvdXMKKyAgICBi
aW5lcSB0MiwgQ29udGlndW91c1NoYXBlLCAub3BHZXRCeVZhbE5vdENvbnRpZ3VvdXMKKy5vcEdl
dEJ5VmFsSXNDb250aWd1b3VzOgorICAgIAorICAgIGJpYWVxIHQxLCAtc2l6ZW9mIEluZGV4aW5n
SGVhZGVyICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy5wdWJsaWNMZW5ndGhbdDNdLCAub3BH
ZXRCeVZhbE91dE9mQm91bmRzCisgICAgbG9hZGkgVGFnT2Zmc2V0W3QzLCB0MSwgOF0sIHQyCisg
ICAgbG9hZGkgUGF5bG9hZE9mZnNldFt0MywgdDEsIDhdLCB0MQorICAgIGptcCAub3BHZXRCeVZh
bERvbmUKKworLm9wR2V0QnlWYWxOb3RDb250aWd1b3VzOgorICAgIGJpbmVxIHQyLCBEb3VibGVT
aGFwZSwgLm9wR2V0QnlWYWxOb3REb3VibGUKKyAgICBiaWFlcSB0MSwgLXNpemVvZiBJbmRleGlu
Z0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMucHVibGljTGVuZ3RoW3QzXSwgLm9w
R2V0QnlWYWxPdXRPZkJvdW5kcworICAgIGxvYWRkIFt0MywgdDEsIDhdLCBmdDAKKyAgICBiZG5l
cXVuIGZ0MCwgZnQwLCAub3BHZXRCeVZhbFNsb3cKKyAgICAjIEZJWE1FOiBUaGlzIGNvdWxkIGJl
IG1hc3NpdmVseSBvcHRpbWl6ZWQuCisgICAgZmQyaWkgZnQwLCB0MSwgdDIKKyAgICBsb2FkaSA0
W1BDXSwgdDAKKyAgICBqbXAgLm9wR2V0QnlWYWxOb3RFbXB0eQorCisub3BHZXRCeVZhbE5vdERv
dWJsZToKKyAgICBzdWJpIEFycmF5U3RvcmFnZVNoYXBlLCB0MgorICAgIGJpYSB0MiwgU2xvd1B1
dEFycmF5U3RvcmFnZVNoYXBlIC0gQXJyYXlTdG9yYWdlU2hhcGUsIC5vcEdldEJ5VmFsU2xvdwor
ICAgIGJpYWVxIHQxLCAtc2l6ZW9mIEluZGV4aW5nSGVhZGVyICsgSW5kZXhpbmdIZWFkZXI6OnUu
bGVuZ3Rocy52ZWN0b3JMZW5ndGhbdDNdLCAub3BHZXRCeVZhbE91dE9mQm91bmRzCisgICAgbG9h
ZGkgQXJyYXlTdG9yYWdlOjptX3ZlY3RvciArIFRhZ09mZnNldFt0MywgdDEsIDhdLCB0MgorICAg
IGxvYWRpIEFycmF5U3RvcmFnZTo6bV92ZWN0b3IgKyBQYXlsb2FkT2Zmc2V0W3QzLCB0MSwgOF0s
IHQxCisKKy5vcEdldEJ5VmFsRG9uZToKKyAgICBsb2FkaSA0W1BDXSwgdDAKKyAgICBiaWVxIHQy
LCBFbXB0eVZhbHVlVGFnLCAub3BHZXRCeVZhbE91dE9mQm91bmRzCisub3BHZXRCeVZhbE5vdEVt
cHR5OgorICAgIHN0b3JlaSB0MiwgVGFnT2Zmc2V0W2NmciwgdDAsIDhdCisgICAgc3RvcmVpIHQx
LCBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdCisgICAgdmFsdWVQcm9maWxlKHQyLCB0MSwgMjAs
IHQwKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfYnlfdmFsX2xlbmd0aCkKKworLm9w
R2V0QnlWYWxPdXRPZkJvdW5kczoKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig0LCB0MCkKKyAg
ICBzdG9yZWIgMSwgQXJyYXlQcm9maWxlOjptX291dE9mQm91bmRzW3QwXQorLm9wR2V0QnlWYWxT
bG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2dldF9ieV92YWwp
CisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9ieV92YWxfbGVuZ3RoKQorCisKK21hY3Jv
IGNvbnRpZ3VvdXNQdXRCeVZhbChzdG9yZUNhbGxiYWNrKQorICAgIGJpYWVxIHQzLCAtc2l6ZW9m
IEluZGV4aW5nSGVhZGVyICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy5wdWJsaWNMZW5ndGhb
dDBdLCAub3V0T2ZCb3VuZHMKKy5zdG9yZVJlc3VsdDoKKyAgICBsb2FkaSAxMltQQ10sIHQyCisg
ICAgc3RvcmVDYWxsYmFjayh0MiwgdDEsIHQwLCB0MykKKyAgICBkaXNwYXRjaCg1KQorCisub3V0
T2ZCb3VuZHM6CisgICAgYmlhZXEgdDMsIC1zaXplb2YgSW5kZXhpbmdIZWFkZXIgKyBJbmRleGlu
Z0hlYWRlcjo6dS5sZW5ndGhzLnZlY3Rvckxlbmd0aFt0MF0sIC5vcFB1dEJ5VmFsT3V0T2ZCb3Vu
ZHMKKyAgICBsb2FkcCAxNltQQ10sIHQyCisgICAgc3RvcmViIDEsIEFycmF5UHJvZmlsZTo6bV9t
YXlTdG9yZVRvSG9sZVt0Ml0KKyAgICBhZGRpIDEsIHQzLCB0MgorICAgIHN0b3JlaSB0MiwgLXNp
emVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMucHVibGljTGVu
Z3RoW3QwXQorICAgIGptcCAuc3RvcmVSZXN1bHQKK2VuZAorCittYWNybyBwdXRCeVZhbChzbG93
UGF0aCkKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcygx
LCAzKQorICAgIGxvYWRpIDRbUENdLCB0MAorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXls
b2FkKHQwLCBDZWxsVGFnLCB0MSwgLm9wUHV0QnlWYWxTbG93KQorICAgIG1vdmUgdDEsIHQyCisg
ICAgbG9hZHAgMTZbUENdLCB0MworICAgIGFycmF5UHJvZmlsZSh0MiwgdDMsIHQwKQorICAgIGxv
YWRpIDhbUENdLCB0MAorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXlsb2FkKHQwLCBJbnQz
MlRhZywgdDMsIC5vcFB1dEJ5VmFsU2xvdykKKyAgICBsb2FkcCBKU09iamVjdDo6bV9idXR0ZXJm
bHlbdDFdLCB0MAorICAgIGFuZGkgSW5kZXhpbmdTaGFwZU1hc2ssIHQyCisgICAgYmluZXEgdDIs
IEludDMyU2hhcGUsIC5vcFB1dEJ5VmFsTm90SW50MzIKKyAgICBjb250aWd1b3VzUHV0QnlWYWwo
CisgICAgICAgIG1hY3JvIChvcGVyYW5kLCBzY3JhdGNoLCBiYXNlLCBpbmRleCkKKyAgICAgICAg
ICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXlsb2FkKG9wZXJhbmQsIEludDMyVGFnLCBzY3Jh
dGNoLCAub3BQdXRCeVZhbFNsb3cpCisgICAgICAgICAgICBzdG9yZWkgSW50MzJUYWcsIFRhZ09m
ZnNldFtiYXNlLCBpbmRleCwgOF0KKyAgICAgICAgICAgIHN0b3JlaSBzY3JhdGNoLCBQYXlsb2Fk
T2Zmc2V0W2Jhc2UsIGluZGV4LCA4XQorICAgICAgICBlbmQpCisKKy5vcFB1dEJ5VmFsTm90SW50
MzI6CisgICAgYmluZXEgdDIsIERvdWJsZVNoYXBlLCAub3BQdXRCeVZhbE5vdERvdWJsZQorICAg
IGNvbnRpZ3VvdXNQdXRCeVZhbCgKKyAgICAgICAgbWFjcm8gKG9wZXJhbmQsIHNjcmF0Y2gsIGJh
c2UsIGluZGV4KQorICAgICAgICAgICAgY29uc3QgdGFnID0gc2NyYXRjaAorICAgICAgICAgICAg
Y29uc3QgcGF5bG9hZCA9IG9wZXJhbmQKKyAgICAgICAgICAgIGxvYWRDb25zdGFudE9yVmFyaWFi
bGUyUmVnKG9wZXJhbmQsIHRhZywgcGF5bG9hZCkKKyAgICAgICAgICAgIGJpbmVxIHRhZywgSW50
MzJUYWcsIC5ub3RJbnQKKyAgICAgICAgICAgIGNpMmQgcGF5bG9hZCwgZnQwCisgICAgICAgICAg
ICBqbXAgLnJlYWR5CisgICAgICAgIC5ub3RJbnQ6CisgICAgICAgICAgICBmaWkyZCBwYXlsb2Fk
LCB0YWcsIGZ0MAorICAgICAgICAgICAgYmRuZXF1biBmdDAsIGZ0MCwgLm9wUHV0QnlWYWxTbG93
CisgICAgICAgIC5yZWFkeToKKyAgICAgICAgICAgIHN0b3JlZCBmdDAsIFtiYXNlLCBpbmRleCwg
OF0KKyAgICAgICAgZW5kKQorCisub3BQdXRCeVZhbE5vdERvdWJsZToKKyAgICBiaW5lcSB0Miwg
Q29udGlndW91c1NoYXBlLCAub3BQdXRCeVZhbE5vdENvbnRpZ3VvdXMKKyAgICBjb250aWd1b3Vz
UHV0QnlWYWwoCisgICAgICAgIG1hY3JvIChvcGVyYW5kLCBzY3JhdGNoLCBiYXNlLCBpbmRleCkK
KyAgICAgICAgICAgIGNvbnN0IHRhZyA9IHNjcmF0Y2gKKyAgICAgICAgICAgIGNvbnN0IHBheWxv
YWQgPSBvcGVyYW5kCisgICAgICAgICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlMlJlZyhvcGVy
YW5kLCB0YWcsIHBheWxvYWQpCisgICAgICAgICAgICBzdG9yZWkgdGFnLCBUYWdPZmZzZXRbYmFz
ZSwgaW5kZXgsIDhdCisgICAgICAgICAgICBzdG9yZWkgcGF5bG9hZCwgUGF5bG9hZE9mZnNldFti
YXNlLCBpbmRleCwgOF0KKyAgICAgICAgZW5kKQorCisub3BQdXRCeVZhbE5vdENvbnRpZ3VvdXM6
CisgICAgYmluZXEgdDIsIEFycmF5U3RvcmFnZVNoYXBlLCAub3BQdXRCeVZhbFNsb3cKKyAgICBi
aWFlcSB0MywgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0
aHMudmVjdG9yTGVuZ3RoW3QwXSwgLm9wUHV0QnlWYWxPdXRPZkJvdW5kcworICAgIGJpZXEgQXJy
YXlTdG9yYWdlOjptX3ZlY3RvciArIFRhZ09mZnNldFt0MCwgdDMsIDhdLCBFbXB0eVZhbHVlVGFn
LCAub3BQdXRCeVZhbEFycmF5U3RvcmFnZUVtcHR5Cisub3BQdXRCeVZhbEFycmF5U3RvcmFnZVN0
b3JlUmVzdWx0OgorICAgIGxvYWRpIDEyW1BDXSwgdDIKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlh
YmxlMlJlZyh0MiwgdDEsIHQyKQorICAgIHN0b3JlaSB0MSwgQXJyYXlTdG9yYWdlOjptX3ZlY3Rv
ciArIFRhZ09mZnNldFt0MCwgdDMsIDhdCisgICAgc3RvcmVpIHQyLCBBcnJheVN0b3JhZ2U6Om1f
dmVjdG9yICsgUGF5bG9hZE9mZnNldFt0MCwgdDMsIDhdCisgICAgZGlzcGF0Y2goNSkKKworLm9w
UHV0QnlWYWxBcnJheVN0b3JhZ2VFbXB0eToKKyAgICBsb2FkcCAxNltQQ10sIHQxCisgICAgc3Rv
cmViIDEsIEFycmF5UHJvZmlsZTo6bV9tYXlTdG9yZVRvSG9sZVt0MV0KKyAgICBhZGRpIDEsIEFy
cmF5U3RvcmFnZTo6bV9udW1WYWx1ZXNJblZlY3Rvclt0MF0KKyAgICBiaWIgdDMsIC1zaXplb2Yg
SW5kZXhpbmdIZWFkZXIgKyBJbmRleGluZ0hlYWRlcjo6dS5sZW5ndGhzLnB1YmxpY0xlbmd0aFt0
MF0sIC5vcFB1dEJ5VmFsQXJyYXlTdG9yYWdlU3RvcmVSZXN1bHQKKyAgICBhZGRpIDEsIHQzLCB0
MQorICAgIHN0b3JlaSB0MSwgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVy
Ojp1Lmxlbmd0aHMucHVibGljTGVuZ3RoW3QwXQorICAgIGptcCAub3BQdXRCeVZhbEFycmF5U3Rv
cmFnZVN0b3JlUmVzdWx0CisKKy5vcFB1dEJ5VmFsT3V0T2ZCb3VuZHM6CisgICAgbG9hZHBGcm9t
SW5zdHJ1Y3Rpb24oNCwgdDApCisgICAgc3RvcmViIDEsIEFycmF5UHJvZmlsZTo6bV9vdXRPZkJv
dW5kc1t0MF0KKy5vcFB1dEJ5VmFsU2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoc2xvd1Bh
dGgpCisgICAgZGlzcGF0Y2goNSkKK2VuZAorCitfbGxpbnRfb3BfcHV0X2J5X3ZhbDoKKyAgICBw
dXRCeVZhbChfbGxpbnRfc2xvd19wYXRoX3B1dF9ieV92YWwpCisKK19sbGludF9vcF9wdXRfYnlf
dmFsX2RpcmVjdDoKKyAgICBwdXRCeVZhbChfbGxpbnRfc2xvd19wYXRoX3B1dF9ieV92YWxfZGly
ZWN0KQorCitfbGxpbnRfb3Bfam1wOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBkaXNwYXRj
aEJyYW5jaCg0W1BDXSkKKworCittYWNybyBqdW1wVHJ1ZU9yRmFsc2UoY29uZGl0aW9uT3AsIHNs
b3cpCisgICAgbG9hZGkgNFtQQ10sIHQxCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxv
YWQodDEsIEJvb2xlYW5UYWcsIHQwLCAuc2xvdykKKyAgICBjb25kaXRpb25PcCh0MCwgLnRhcmdl
dCkKKyAgICBkaXNwYXRjaCgzKQorCisudGFyZ2V0OgorICAgIGRpc3BhdGNoQnJhbmNoKDhbUENd
KQorCisuc2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoc2xvdykKKyAgICBkaXNwYXRjaCgw
KQorZW5kCisKKworbWFjcm8gZXF1YWxOdWxsKGNlbGxIYW5kbGVyLCBpbW1lZGlhdGVIYW5kbGVy
KQorICAgIGxvYWRpIDRbUENdLCB0MAorICAgIGFzc2VydE5vdENvbnN0YW50KHQwKQorICAgIGxv
YWRpIFRhZ09mZnNldFtjZnIsIHQwLCA4XSwgdDEKKyAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2Nm
ciwgdDAsIDhdLCB0MAorICAgIGJpbmVxIHQxLCBDZWxsVGFnLCAuaW1tZWRpYXRlCisgICAgbG9h
ZHAgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QwXSwgdDIKKyAgICBjZWxsSGFuZGxlcih0MiwgSlND
ZWxsOjptX2ZsYWdzW3QwXSwgLnRhcmdldCkKKyAgICBkaXNwYXRjaCgzKQorCisudGFyZ2V0Ogor
ICAgIGRpc3BhdGNoQnJhbmNoKDhbUENdKQorCisuaW1tZWRpYXRlOgorICAgIG9yaSAxLCB0MQor
ICAgIGltbWVkaWF0ZUhhbmRsZXIodDEsIC50YXJnZXQpCisgICAgZGlzcGF0Y2goMykKK2VuZAor
CitfbGxpbnRfb3BfamVxX251bGw6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGVxdWFsTnVs
bCgKKyAgICAgICAgbWFjcm8gKHN0cnVjdHVyZSwgdmFsdWUsIHRhcmdldCkgCisgICAgICAgICAg
ICBidGJ6IHZhbHVlLCBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkLCAub3BKZXFOdWxsTm90TWFzcXVl
cmFkZXNBc1VuZGVmaW5lZAorICAgICAgICAgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQwCisg
ICAgICAgICAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2JqZWN0W3QwXSwgdDAKKyAgICAg
ICAgICAgIGJwZXEgU3RydWN0dXJlOjptX2dsb2JhbE9iamVjdFtzdHJ1Y3R1cmVdLCB0MCwgdGFy
Z2V0Cisub3BKZXFOdWxsTm90TWFzcXVlcmFkZXNBc1VuZGVmaW5lZDoKKyAgICAgICAgZW5kLAor
ICAgICAgICBtYWNybyAodmFsdWUsIHRhcmdldCkgYmllcSB2YWx1ZSwgTnVsbFRhZywgdGFyZ2V0
IGVuZCkKKyAgICAKKworX2xsaW50X29wX2puZXFfbnVsbDoKKyAgICB0cmFjZUV4ZWN1dGlvbigp
CisgICAgZXF1YWxOdWxsKAorICAgICAgICBtYWNybyAoc3RydWN0dXJlLCB2YWx1ZSwgdGFyZ2V0
KSAKKyAgICAgICAgICAgIGJ0YnogdmFsdWUsIE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQsIHRhcmdl
dCAKKyAgICAgICAgICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MAorICAgICAgICAgICAgbG9h
ZHAgQ29kZUJsb2NrOjptX2dsb2JhbE9iamVjdFt0MF0sIHQwCisgICAgICAgICAgICBicG5lcSBT
dHJ1Y3R1cmU6Om1fZ2xvYmFsT2JqZWN0W3N0cnVjdHVyZV0sIHQwLCB0YXJnZXQKKyAgICAgICAg
ZW5kLAorICAgICAgICBtYWNybyAodmFsdWUsIHRhcmdldCkgYmluZXEgdmFsdWUsIE51bGxUYWcs
IHRhcmdldCBlbmQpCisKKworX2xsaW50X29wX2puZXFfcHRyOgorICAgIHRyYWNlRXhlY3V0aW9u
KCkKKyAgICBsb2FkaSA0W1BDXSwgdDAKKyAgICBsb2FkaSA4W1BDXSwgdDEKKyAgICBsb2FkcCBD
b2RlQmxvY2tbY2ZyXSwgdDIKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2JqZWN0W3Qy
XSwgdDIKKyAgICBiaW5lcSBUYWdPZmZzZXRbY2ZyLCB0MCwgOF0sIENlbGxUYWcsIC5vcEpuZXFQ
dHJCcmFuY2gKKyAgICBsb2FkcCBKU0dsb2JhbE9iamVjdDo6bV9zcGVjaWFsUG9pbnRlcnNbdDIs
IHQxLCA0XSwgdDEKKyAgICBicGVxIFBheWxvYWRPZmZzZXRbY2ZyLCB0MCwgOF0sIHQxLCAub3BK
bmVxUHRyRmFsbFRocm91Z2gKKy5vcEpuZXFQdHJCcmFuY2g6CisgICAgc3RvcmVpIDEsIDE2W1BD
XQorICAgIGRpc3BhdGNoQnJhbmNoKDEyW1BDXSkKKy5vcEpuZXFQdHJGYWxsVGhyb3VnaDoKKyAg
ICBkaXNwYXRjaChjb25zdGV4cHIgb3Bfam5lcV9wdHJfbGVuZ3RoKQorCisKK21hY3JvIGNvbXBh
cmUoaW50ZWdlckNvbXBhcmUsIGRvdWJsZUNvbXBhcmUsIHNsb3dQYXRoKQorICAgIGxvYWRpIDRb
UENdLCB0MgorICAgIGxvYWRpIDhbUENdLCB0MworICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUo
dDIsIHQwLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlMlJlZyh0MywgdDIsIHQzKQor
ICAgIGJpbmVxIHQwLCBJbnQzMlRhZywgLm9wMU5vdEludAorICAgIGJpbmVxIHQyLCBJbnQzMlRh
ZywgLm9wMk5vdEludAorICAgIGludGVnZXJDb21wYXJlKHQxLCB0MywgLmp1bXBUYXJnZXQpCisg
ICAgZGlzcGF0Y2goNCkKKworLm9wMU5vdEludDoKKyAgICBiaWEgdDAsIExvd2VzdFRhZywgLnNs
b3cKKyAgICBiaWIgdDIsIExvd2VzdFRhZywgLm9wMU5vdEludE9wMkRvdWJsZQorICAgIGJpbmVx
IHQyLCBJbnQzMlRhZywgLnNsb3cKKyAgICBjaTJkIHQzLCBmdDEKKyAgICBqbXAgLm9wMU5vdElu
dFJlYWR5Cisub3AxTm90SW50T3AyRG91YmxlOgorICAgIGZpaTJkIHQzLCB0MiwgZnQxCisub3Ax
Tm90SW50UmVhZHk6CisgICAgZmlpMmQgdDEsIHQwLCBmdDAKKyAgICBkb3VibGVDb21wYXJlKGZ0
MCwgZnQxLCAuanVtcFRhcmdldCkKKyAgICBkaXNwYXRjaCg0KQorCisub3AyTm90SW50OgorICAg
IGNpMmQgdDEsIGZ0MAorICAgIGJpYSB0MiwgTG93ZXN0VGFnLCAuc2xvdworICAgIGZpaTJkIHQz
LCB0MiwgZnQxCisgICAgZG91YmxlQ29tcGFyZShmdDAsIGZ0MSwgLmp1bXBUYXJnZXQpCisgICAg
ZGlzcGF0Y2goNCkKKworLmp1bXBUYXJnZXQ6CisgICAgZGlzcGF0Y2hCcmFuY2goMTJbUENdKQor
Cisuc2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoc2xvd1BhdGgpCisgICAgZGlzcGF0Y2go
MCkKK2VuZAorCisKK19sbGludF9vcF9zd2l0Y2hfaW1tOgorICAgIHRyYWNlRXhlY3V0aW9uKCkK
KyAgICBsb2FkaSAxMltQQ10sIHQyCisgICAgbG9hZGkgNFtQQ10sIHQzCisgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZSh0MiwgdDEsIHQwKQorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0Mgor
ICAgIGxvYWRwIENvZGVCbG9jazo6bV9yYXJlRGF0YVt0Ml0sIHQyCisgICAgbXVsaSBzaXplb2Yg
U2ltcGxlSnVtcFRhYmxlLCB0MyAgICMgRklYTUU6IHdvdWxkIGJlIG5pY2UgdG8gcGVlcGhvbGUg
dGhpcyEKKyAgICBsb2FkcCBDb2RlQmxvY2s6OlJhcmVEYXRhOjptX3N3aXRjaEp1bXBUYWJsZXMg
KyBWZWN0b3JCdWZmZXJPZmZzZXRbdDJdLCB0MgorICAgIGFkZHAgdDMsIHQyCisgICAgYmluZXEg
dDEsIEludDMyVGFnLCAub3BTd2l0Y2hJbW1Ob3RJbnQKKyAgICBzdWJpIFNpbXBsZUp1bXBUYWJs
ZTo6bWluW3QyXSwgdDAKKyAgICBiaWFlcSB0MCwgU2ltcGxlSnVtcFRhYmxlOjpicmFuY2hPZmZz
ZXRzICsgVmVjdG9yU2l6ZU9mZnNldFt0Ml0sIC5vcFN3aXRjaEltbUZhbGxUaHJvdWdoCisgICAg
bG9hZHAgU2ltcGxlSnVtcFRhYmxlOjpicmFuY2hPZmZzZXRzICsgVmVjdG9yQnVmZmVyT2Zmc2V0
W3QyXSwgdDMKKyAgICBsb2FkaSBbdDMsIHQwLCA0XSwgdDEKKyAgICBidGl6IHQxLCAub3BTd2l0
Y2hJbW1GYWxsVGhyb3VnaAorICAgIGRpc3BhdGNoQnJhbmNoV2l0aE9mZnNldCh0MSkKKworLm9w
U3dpdGNoSW1tTm90SW50OgorICAgIGJpYiB0MSwgTG93ZXN0VGFnLCAub3BTd2l0Y2hJbW1TbG93
ICAjIEdvIHRvIHNsb3cgcGF0aCBpZiBpdCdzIGEgZG91YmxlLgorLm9wU3dpdGNoSW1tRmFsbFRo
cm91Z2g6CisgICAgZGlzcGF0Y2hCcmFuY2goOFtQQ10pCisKKy5vcFN3aXRjaEltbVNsb3c6Cisg
ICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfc3dpdGNoX2ltbSkKKyAgICBk
aXNwYXRjaCgwKQorCisKK19sbGludF9vcF9zd2l0Y2hfY2hhcjoKKyAgICB0cmFjZUV4ZWN1dGlv
bigpCisgICAgbG9hZGkgMTJbUENdLCB0MgorICAgIGxvYWRpIDRbUENdLCB0MworICAgIGxvYWRD
b25zdGFudE9yVmFyaWFibGUodDIsIHQxLCB0MCkKKyAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwg
dDIKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fcmFyZURhdGFbdDJdLCB0MgorICAgIG11bGkgc2l6
ZW9mIFNpbXBsZUp1bXBUYWJsZSwgdDMKKyAgICBsb2FkcCBDb2RlQmxvY2s6OlJhcmVEYXRhOjpt
X3N3aXRjaEp1bXBUYWJsZXMgKyBWZWN0b3JCdWZmZXJPZmZzZXRbdDJdLCB0MgorICAgIGFkZHAg
dDMsIHQyCisgICAgYmluZXEgdDEsIENlbGxUYWcsIC5vcFN3aXRjaENoYXJGYWxsVGhyb3VnaAor
ICAgIGJibmVxIEpTQ2VsbDo6bV90eXBlW3QwXSwgU3RyaW5nVHlwZSwgLm9wU3dpdGNoQ2hhckZh
bGxUaHJvdWdoCisgICAgYmluZXEgSlNTdHJpbmc6Om1fbGVuZ3RoW3QwXSwgMSwgLm9wU3dpdGNo
Q2hhckZhbGxUaHJvdWdoCisgICAgbG9hZHAgSlNTdHJpbmc6Om1fdmFsdWVbdDBdLCB0MAorICAg
IGJ0cHogIHQwLCAub3BTd2l0Y2hPblJvcGUKKyAgICBsb2FkcCBTdHJpbmdJbXBsOjptX2RhdGE4
W3QwXSwgdDEKKyAgICBidGlueiBTdHJpbmdJbXBsOjptX2hhc2hBbmRGbGFnc1t0MF0sIEhhc2hG
bGFnczhCaXRCdWZmZXIsIC5vcFN3aXRjaENoYXI4Qml0CisgICAgbG9hZGggW3QxXSwgdDAKKyAg
ICBqbXAgLm9wU3dpdGNoQ2hhclJlYWR5Cisub3BTd2l0Y2hDaGFyOEJpdDoKKyAgICBsb2FkYiBb
dDFdLCB0MAorLm9wU3dpdGNoQ2hhclJlYWR5OgorICAgIHN1YmkgU2ltcGxlSnVtcFRhYmxlOjpt
aW5bdDJdLCB0MAorICAgIGJpYWVxIHQwLCBTaW1wbGVKdW1wVGFibGU6OmJyYW5jaE9mZnNldHMg
KyBWZWN0b3JTaXplT2Zmc2V0W3QyXSwgLm9wU3dpdGNoQ2hhckZhbGxUaHJvdWdoCisgICAgbG9h
ZHAgU2ltcGxlSnVtcFRhYmxlOjpicmFuY2hPZmZzZXRzICsgVmVjdG9yQnVmZmVyT2Zmc2V0W3Qy
XSwgdDIKKyAgICBsb2FkaSBbdDIsIHQwLCA0XSwgdDEKKyAgICBidGl6IHQxLCAub3BTd2l0Y2hD
aGFyRmFsbFRocm91Z2gKKyAgICBkaXNwYXRjaEJyYW5jaFdpdGhPZmZzZXQodDEpCisKKy5vcFN3
aXRjaENoYXJGYWxsVGhyb3VnaDoKKyAgICBkaXNwYXRjaEJyYW5jaCg4W1BDXSkKKworLm9wU3dp
dGNoT25Sb3BlOgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX3N3aXRj
aF9jaGFyKQorICAgIGRpc3BhdGNoKDApCisKKworbWFjcm8gYXJyYXlQcm9maWxlRm9yQ2FsbCgp
CisgICAgbG9hZGkgMTZbUENdLCB0MworICAgIG5lZ2kgdDMKKyAgICBiaW5lcSBUaGlzQXJndW1l
bnRPZmZzZXQgKyBUYWdPZmZzZXRbY2ZyLCB0MywgOF0sIENlbGxUYWcsIC5kb25lCisgICAgbG9h
ZGkgVGhpc0FyZ3VtZW50T2Zmc2V0ICsgUGF5bG9hZE9mZnNldFtjZnIsIHQzLCA4XSwgdDAKKyAg
ICBsb2FkcCBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDBdLCB0MAorICAgIGxvYWRwRnJvbUluc3Ry
dWN0aW9uKENhbGxPcENvZGVTaXplIC0gMiwgdDEpCisgICAgc3RvcmVwIHQwLCBBcnJheVByb2Zp
bGU6Om1fbGFzdFNlZW5TdHJ1Y3R1cmVJRFt0MV0KKy5kb25lOgorZW5kCisKK21hY3JvIGRvQ2Fs
bChzbG93UGF0aCwgcHJlcGFyZUNhbGwpCisgICAgbG9hZGkgOFtQQ10sIHQwCisgICAgbG9hZGkg
MjBbUENdLCB0MQorICAgIGxvYWRwIExMSW50Q2FsbExpbmtJbmZvOjpjYWxsZWVbdDFdLCB0Mgor
ICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXlsb2FkKHQwLCBDZWxsVGFnLCB0MywgLm9wQ2Fs
bFNsb3cpCisgICAgYmluZXEgdDMsIHQyLCAub3BDYWxsU2xvdworICAgIGxvYWRpIDE2W1BDXSwg
dDMKKyAgICBsc2hpZnRpIDMsIHQzCisgICAgbmVnaSB0MworICAgIGFkZHAgY2ZyLCB0MyAgIyB0
MyBjb250YWlucyB0aGUgbmV3IHZhbHVlIG9mIGNmcgorICAgIHN0b3JlaSB0MiwgQ2FsbGVlICsg
UGF5bG9hZE9mZnNldFt0M10KKyAgICBsb2FkaSAxMltQQ10sIHQyCisgICAgc3RvcmVpIFBDLCBB
cmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0KKyAgICBzdG9yZWkgdDIsIEFyZ3VtZW50Q291
bnQgKyBQYXlsb2FkT2Zmc2V0W3QzXQorICAgIHN0b3JlaSBDZWxsVGFnLCBDYWxsZWUgKyBUYWdP
ZmZzZXRbdDNdCisgICAgbW92ZSB0Mywgc3AKKyAgICBwcmVwYXJlQ2FsbChMTEludENhbGxMaW5r
SW5mbzo6bWFjaGluZUNvZGVUYXJnZXRbdDFdLCB0MiwgdDMsIHQ0KQorICAgIGNhbGxUYXJnZXRG
dW5jdGlvbihMTEludENhbGxMaW5rSW5mbzo6bWFjaGluZUNvZGVUYXJnZXRbdDFdKQorCisub3BD
YWxsU2xvdzoKKyAgICBzbG93UGF0aEZvckNhbGwoc2xvd1BhdGgsIHByZXBhcmVDYWxsKQorZW5k
CisKK19sbGludF9vcF9yZXQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNoZWNrU3dpdGNo
VG9KSVRGb3JFcGlsb2d1ZSgpCisgICAgbG9hZGkgNFtQQ10sIHQyCisgICAgbG9hZENvbnN0YW50
T3JWYXJpYWJsZSh0MiwgdDEsIHQwKQorICAgIGRvUmV0dXJuKCkKKworCitfbGxpbnRfb3BfdG9f
cHJpbWl0aXZlOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSA4W1BDXSwgdDIKKyAg
ICBsb2FkaSA0W1BDXSwgdDMKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQyLCB0MSwgdDAp
CisgICAgYmluZXEgdDEsIENlbGxUYWcsIC5vcFRvUHJpbWl0aXZlSXNJbW0KKyAgICBiYmFlcSBK
U0NlbGw6Om1fdHlwZVt0MF0sIE9iamVjdFR5cGUsIC5vcFRvUHJpbWl0aXZlU2xvd0Nhc2UKKy5v
cFRvUHJpbWl0aXZlSXNJbW06CisgICAgc3RvcmVpIHQxLCBUYWdPZmZzZXRbY2ZyLCB0MywgOF0K
KyAgICBzdG9yZWkgdDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MywgOF0KKyAgICBkaXNwYXRjaChj
b25zdGV4cHIgb3BfdG9fcHJpbWl0aXZlX2xlbmd0aCkKKworLm9wVG9QcmltaXRpdmVTbG93Q2Fz
ZToKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF90b19wcmltaXRpdmUpCisgICAg
ZGlzcGF0Y2goY29uc3RleHByIG9wX3RvX3ByaW1pdGl2ZV9sZW5ndGgpCisKKworX2xsaW50X29w
X2NhdGNoOgorICAgICMgVGhpcyBpcyB3aGVyZSB3ZSBlbmQgdXAgZnJvbSB0aGUgSklUJ3MgdGhy
b3cgdHJhbXBvbGluZSAoYmVjYXVzZSB0aGUKKyAgICAjIG1hY2hpbmUgY29kZSByZXR1cm4gYWRk
cmVzcyB3aWxsIGJlIHNldCB0byBfbGxpbnRfb3BfY2F0Y2gpLCBhbmQgZnJvbQorICAgICMgdGhl
IGludGVycHJldGVyJ3MgdGhyb3cgdHJhbXBvbGluZSAoc2VlIF9sbGludF90aHJvd190cmFtcG9s
aW5lKS4KKyAgICAjIFRoZSB0aHJvd2luZyBjb2RlIG11c3QgaGF2ZSBrbm93biB0aGF0IHdlIHdl
cmUgdGhyb3dpbmcgdG8gdGhlIGludGVycHJldGVyLAorICAgICMgYW5kIGhhdmUgc2V0IFZNOjp0
YXJnZXRJbnRlcnByZXRlclBDRm9yVGhyb3cuCisgICAgbG9hZHAgQ2FsbGVlICsgUGF5bG9hZE9m
ZnNldFtjZnJdLCB0MworICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MworICAgIGxvYWRwIE1h
cmtlZEJsb2NrOjptX3ZtW3QzXSwgdDMKKyAgICByZXN0b3JlQ2FsbGVlU2F2ZXNGcm9tVk1FbnRy
eUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIodDMsIHQwKQorICAgIGxvYWRwIFZNOjpjYWxsRnJhbWVG
b3JDYXRjaFt0M10sIGNmcgorICAgIHN0b3JlcCAwLCBWTTo6Y2FsbEZyYW1lRm9yQ2F0Y2hbdDNd
CisgICAgcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVyQ2FsbCgpCisKKyAgICBsb2FkaSBWTTo6dGFy
Z2V0SW50ZXJwcmV0ZXJQQ0ZvclRocm93W3QzXSwgUEMKKworICAgIGNhbGxPcGNvZGVTbG93UGF0
aChfbGxpbnRfc2xvd19wYXRoX2NoZWNrX2lmX2V4Y2VwdGlvbl9pc191bmNhdGNoYWJsZV9hbmRf
bm90aWZ5X3Byb2ZpbGVyKQorICAgIGJwZXEgcjEsIDAsIC5pc0NhdGNoYWJsZUV4Y2VwdGlvbgor
ICAgIGptcCBfbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZQorCisuaXNDYXRj
aGFibGVFeGNlcHRpb246CisgICAgbG9hZHAgQ2FsbGVlICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0
MworICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MworICAgIGxvYWRwIE1hcmtlZEJsb2NrOjpt
X3ZtW3QzXSwgdDMKKworICAgIGxvYWRpIFZNOjptX2V4Y2VwdGlvblt0M10sIHQwCisgICAgc3Rv
cmVpIDAsIFZNOjptX2V4Y2VwdGlvblt0M10KKyAgICBsb2FkaSA0W1BDXSwgdDIKKyAgICBzdG9y
ZWkgdDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MiwgOF0KKyAgICBzdG9yZWkgQ2VsbFRhZywgVGFn
T2Zmc2V0W2NmciwgdDIsIDhdCisKKyAgICBsb2FkaSBFeGNlcHRpb246Om1fdmFsdWUgKyBUYWdP
ZmZzZXRbdDBdLCB0MQorICAgIGxvYWRpIEV4Y2VwdGlvbjo6bV92YWx1ZSArIFBheWxvYWRPZmZz
ZXRbdDBdLCB0MAorICAgIGxvYWRpIDhbUENdLCB0MgorICAgIHN0b3JlaSB0MCwgUGF5bG9hZE9m
ZnNldFtjZnIsIHQyLCA4XQorICAgIHN0b3JlaSB0MSwgVGFnT2Zmc2V0W2NmciwgdDIsIDhdCisK
KyAgICB0cmFjZUV4ZWN1dGlvbigpICAjIFRoaXMgbmVlZHMgdG8gYmUgaGVyZSBiZWNhdXNlIHdl
IGRvbid0IHdhbnQgdG8gY2xvYmJlciB0MCwgdDEsIHQyLCB0MyBhYm92ZS4KKyAgICBkaXNwYXRj
aCgzKQorCitfbGxpbnRfb3BfZW5kOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjaGVja1N3
aXRjaFRvSklURm9yRXBpbG9ndWUoKQorICAgIGxvYWRpIDRbUENdLCB0MAorICAgIGFzc2VydE5v
dENvbnN0YW50KHQwKQorICAgIGxvYWRpIFRhZ09mZnNldFtjZnIsIHQwLCA4XSwgdDEKKyAgICBs
b2FkaSBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdLCB0MAorICAgIGRvUmV0dXJuKCkKKworCitf
bGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZToKKyAgICBjYWxsU2xvd1BhdGgo
X2xsaW50X3Nsb3dfcGF0aF9oYW5kbGVfZXhjZXB0aW9uKQorCisgICAgIyBXaGVuIHRocm93aW5n
IGZyb20gdGhlIGludGVycHJldGVyIChpLmUuIHRocm93aW5nIGZyb20gTExJbnRTbG93UGF0aHMp
LCBzbworICAgICMgdGhlIHRocm93IHRhcmdldCBpcyBub3QgbmVjZXNzYXJpbHkgaW50ZXJwcmV0
ZWQgY29kZSwgd2UgY29tZSB0byBoZXJlLgorICAgICMgVGhpcyBlc3NlbnRpYWxseSBlbXVsYXRl
cyB0aGUgSklUJ3MgdGhyb3dpbmcgcHJvdG9jb2wuCisgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQx
CisgICAgYW5kcCBNYXJrZWRCbG9ja01hc2ssIHQxCisgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1f
dm1bdDFdLCB0MQorICAgIGNvcHlDYWxsZWVTYXZlc1RvVk1FbnRyeUZyYW1lQ2FsbGVlU2F2ZXNC
dWZmZXIodDEsIHQyKQorICAgIGptcCBWTTo6dGFyZ2V0TWFjaGluZVBDRm9yVGhyb3dbdDFdCisK
KworX2xsaW50X3Rocm93X2R1cmluZ19jYWxsX3RyYW1wb2xpbmU6CisgICAgcHJlc2VydmVSZXR1
cm5BZGRyZXNzQWZ0ZXJDYWxsKHQyKQorICAgIGptcCBfbGxpbnRfdGhyb3dfZnJvbV9zbG93X3Bh
dGhfdHJhbXBvbGluZQorCisKK21hY3JvIG5hdGl2ZUNhbGxUcmFtcG9saW5lKGV4ZWN1dGFibGVP
ZmZzZXRUb0Z1bmN0aW9uKQorCisgICAgZnVuY3Rpb25Qcm9sb2d1ZSgpCisgICAgc3RvcmVwIDAs
IENvZGVCbG9ja1tjZnJdCisgICAgbG9hZGkgQ2FsbGVlICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0
MQorICAgIC8vIENhbGxlZSBpcyBzdGlsbCBpbiB0MSBmb3IgY29kZSBiZWxvdworICAgIGlmIFg4
NiBvciBYODZfV0lOCisgICAgICAgIHN1YnAgOCwgc3AgIyBhbGlnbiBzdGFjayBwb2ludGVyCisg
ICAgICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MQorICAgICAgICBsb2FkcCBNYXJrZWRCbG9j
azo6bV92bVt0MV0sIHQzCisgICAgICAgIHN0b3JlcCBjZnIsIFZNOjp0b3BDYWxsRnJhbWVbdDNd
CisgICAgICAgIG1vdmUgY2ZyLCBhMCAgIyBhMCA9IGVjeAorICAgICAgICBzdG9yZXAgYTAsIFtz
cF0KKyAgICAgICAgbG9hZGkgQ2FsbGVlICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0MQorICAgICAg
ICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4ZWN1dGFibGVbdDFdLCB0MQorICAgICAgICBjaGVja1N0
YWNrUG9pbnRlckFsaWdubWVudCh0MywgMHhkZWFkMDAwMSkKKyAgICAgICAgY2FsbCBleGVjdXRh
YmxlT2Zmc2V0VG9GdW5jdGlvblt0MV0KKyAgICAgICAgbG9hZHAgQ2FsbGVlICsgUGF5bG9hZE9m
ZnNldFtjZnJdLCB0MworICAgICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKKyAgICAgICAg
bG9hZHAgTWFya2VkQmxvY2s6Om1fdm1bdDNdLCB0MworICAgICAgICBhZGRwIDgsIHNwCisgICAg
ZWxzaWYgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIENfTE9PUCBvciBNSVBT
CisgICAgICAgIHN1YnAgOCwgc3AgIyBhbGlnbiBzdGFjayBwb2ludGVyCisgICAgICAgICMgdDEg
YWxyZWFkeSBjb250YWlucyB0aGUgQ2FsbGVlLgorICAgICAgICBhbmRwIE1hcmtlZEJsb2NrTWFz
aywgdDEKKyAgICAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fdm1bdDFdLCB0MQorICAgICAgICBz
dG9yZXAgY2ZyLCBWTTo6dG9wQ2FsbEZyYW1lW3QxXQorICAgICAgICBtb3ZlIGNmciwgYTAKKyAg
ICAgICAgbG9hZGkgQ2FsbGVlICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0MQorICAgICAgICBsb2Fk
cCBKU0Z1bmN0aW9uOjptX2V4ZWN1dGFibGVbdDFdLCB0MQorICAgICAgICBjaGVja1N0YWNrUG9p
bnRlckFsaWdubWVudCh0MywgMHhkZWFkMDAwMSkKKyAgICAgICAgaWYgQ19MT09QCisgICAgICAg
ICAgICBjbG9vcENhbGxOYXRpdmUgZXhlY3V0YWJsZU9mZnNldFRvRnVuY3Rpb25bdDFdCisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIGNhbGwgZXhlY3V0YWJsZU9mZnNldFRvRnVuY3Rpb25bdDFd
CisgICAgICAgIGVuZAorICAgICAgICBsb2FkcCBDYWxsZWUgKyBQYXlsb2FkT2Zmc2V0W2Nmcl0s
IHQzCisgICAgICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MworICAgICAgICBsb2FkcCBNYXJr
ZWRCbG9jazo6bV92bVt0M10sIHQzCisgICAgICAgIGFkZHAgOCwgc3AKKyAgICBlbHNlCisgICAg
ICAgIGVycm9yCisgICAgZW5kCisgICAgCisgICAgYnRpbnogVk06Om1fZXhjZXB0aW9uW3QzXSwg
LmhhbmRsZUV4Y2VwdGlvbgorCisgICAgZnVuY3Rpb25FcGlsb2d1ZSgpCisgICAgcmV0CisKKy5o
YW5kbGVFeGNlcHRpb246CisgICAgc3RvcmVwIGNmciwgVk06OnRvcENhbGxGcmFtZVt0M10KKyAg
ICBqbXAgX2xsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmUKK2VuZAorCisKK21h
Y3JvIGdldENvbnN0YW50U2NvcGUoZHN0KQorICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDYsIHQw
KQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbihkc3QsIHQxKQorICAgIHN0b3JlaSBDZWxsVGFn
LCBUYWdPZmZzZXRbY2ZyLCB0MSwgOF0KKyAgICBzdG9yZWkgdDAsIFBheWxvYWRPZmZzZXRbY2Zy
LCB0MSwgOF0KK2VuZAorCittYWNybyB2YXJJbmplY3Rpb25DaGVjayhzbG93UGF0aCkKKyAgICBs
b2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDAKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2Jq
ZWN0W3QwXSwgdDAKKyAgICBsb2FkcCBKU0dsb2JhbE9iamVjdDo6bV92YXJJbmplY3Rpb25XYXRj
aHBvaW50W3QwXSwgdDAKKyAgICBiYmVxIFdhdGNocG9pbnRTZXQ6Om1fc3RhdGVbdDBdLCBJc0lu
dmFsaWRhdGVkLCBzbG93UGF0aAorZW5kCisKK21hY3JvIHJlc29sdmVTY29wZSgpCisgICAgbG9h
ZHAgQ29kZUJsb2NrW2Nmcl0sIHQwCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDUsIHQyKQor
CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQwKQorICAgIGxvYWRwIFBheWxvYWRPZmZz
ZXRbY2ZyLCB0MCwgOF0sIHQwCisgICAgYnRpeiB0MiwgLnJlc29sdmVTY29wZUxvb3BFbmQKKwor
LnJlc29sdmVTY29wZUxvb3A6CisgICAgbG9hZHAgSlNTY29wZTo6bV9uZXh0W3QwXSwgdDAKKyAg
ICBzdWJpIDEsIHQyCisgICAgYnRpbnogdDIsIC5yZXNvbHZlU2NvcGVMb29wCisKKy5yZXNvbHZl
U2NvcGVMb29wRW5kOgorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKKyAgICBzdG9y
ZWkgQ2VsbFRhZywgVGFnT2Zmc2V0W2NmciwgdDEsIDhdCisgICAgc3RvcmVpIHQwLCBQYXlsb2Fk
T2Zmc2V0W2NmciwgdDEsIDhdCitlbmQKKworCitfbGxpbnRfb3BfcmVzb2x2ZV9zY29wZToKKyAg
ICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQwKQorCisj
ckdsb2JhbFByb3BlcnR5OgorICAgIGJpbmVxIHQwLCBHbG9iYWxQcm9wZXJ0eSwgLnJHbG9iYWxW
YXIKKyAgICBnZXRDb25zdGFudFNjb3BlKDEpCisgICAgZGlzcGF0Y2goNykKKworLnJHbG9iYWxW
YXI6CisgICAgYmluZXEgdDAsIEdsb2JhbFZhciwgLnJHbG9iYWxMZXhpY2FsVmFyCisgICAgZ2V0
Q29uc3RhbnRTY29wZSgxKQorICAgIGRpc3BhdGNoKDcpCisKKy5yR2xvYmFsTGV4aWNhbFZhcjoK
KyAgICBiaW5lcSB0MCwgR2xvYmFsTGV4aWNhbFZhciwgLnJDbG9zdXJlVmFyCisgICAgZ2V0Q29u
c3RhbnRTY29wZSgxKQorICAgIGRpc3BhdGNoKDcpCisKKy5yQ2xvc3VyZVZhcjoKKyAgICBiaW5l
cSB0MCwgQ2xvc3VyZVZhciwgLnJNb2R1bGVWYXIKKyAgICByZXNvbHZlU2NvcGUoKQorICAgIGRp
c3BhdGNoKDcpCisKKy5yTW9kdWxlVmFyOgorICAgIGJpbmVxIHQwLCBNb2R1bGVWYXIsIC5yR2xv
YmFsUHJvcGVydHlXaXRoVmFySW5qZWN0aW9uQ2hlY2tzCisgICAgZ2V0Q29uc3RhbnRTY29wZSgx
KQorICAgIGRpc3BhdGNoKDcpCisKKy5yR2xvYmFsUHJvcGVydHlXaXRoVmFySW5qZWN0aW9uQ2hl
Y2tzOgorICAgIGJpbmVxIHQwLCBHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3Ms
IC5yR2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcworICAgIHZhckluamVjdGlvbkNoZWNr
KC5yRHluYW1pYykKKyAgICBnZXRDb25zdGFudFNjb3BlKDEpCisgICAgZGlzcGF0Y2goNykKKwor
LnJHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOgorICAgIGJpbmVxIHQwLCBHbG9iYWxW
YXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzLCAuckdsb2JhbExleGljYWxWYXJXaXRoVmFySW5qZWN0
aW9uQ2hlY2tzCisgICAgdmFySW5qZWN0aW9uQ2hlY2soLnJEeW5hbWljKQorICAgIGdldENvbnN0
YW50U2NvcGUoMSkKKyAgICBkaXNwYXRjaCg3KQorCisuckdsb2JhbExleGljYWxWYXJXaXRoVmFy
SW5qZWN0aW9uQ2hlY2tzOgorICAgIGJpbmVxIHQwLCBHbG9iYWxMZXhpY2FsVmFyV2l0aFZhcklu
amVjdGlvbkNoZWNrcywgLnJDbG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcworICAgIHZh
ckluamVjdGlvbkNoZWNrKC5yRHluYW1pYykKKyAgICBnZXRDb25zdGFudFNjb3BlKDEpCisgICAg
ZGlzcGF0Y2goNykKKworLnJDbG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNrczoKKyAgICBi
aW5lcSB0MCwgQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5yRHluYW1pYworICAg
IHZhckluamVjdGlvbkNoZWNrKC5yRHluYW1pYykKKyAgICByZXNvbHZlU2NvcGUoKQorICAgIGRp
c3BhdGNoKDcpCisKKy5yRHluYW1pYzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0
aF9yZXNvbHZlX3Njb3BlKQorICAgIGRpc3BhdGNoKDcpCisKKworbWFjcm8gbG9hZFdpdGhTdHJ1
Y3R1cmVDaGVjayhvcGVyYW5kLCBzbG93UGF0aCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24o
b3BlcmFuZCwgdDApCisgICAgbG9hZHAgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSwgdDAKKyAg
ICBsb2FkcEZyb21JbnN0cnVjdGlvbig1LCB0MSkKKyAgICBicG5lcSBKU0NlbGw6Om1fc3RydWN0
dXJlSURbdDBdLCB0MSwgc2xvd1BhdGgKK2VuZAorCittYWNybyBnZXRQcm9wZXJ0eSgpCisgICAg
bG9hZGlzRnJvbUluc3RydWN0aW9uKDYsIHQzKQorICAgIGxvYWRQcm9wZXJ0eUF0VmFyaWFibGVP
ZmZzZXQodDMsIHQwLCB0MSwgdDIpCisgICAgdmFsdWVQcm9maWxlKHQxLCB0MiwgMjgsIHQwKQor
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MCkKKyAgICBzdG9yZWkgdDEsIFRhZ09mZnNl
dFtjZnIsIHQwLCA4XQorICAgIHN0b3JlaSB0MiwgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XQor
ZW5kCisKK21hY3JvIGdldEdsb2JhbFZhcih0ZHpDaGVja0lmTmVjZXNzYXJ5KQorICAgIGxvYWRw
RnJvbUluc3RydWN0aW9uKDYsIHQwKQorICAgIGxvYWRwIFRhZ09mZnNldFt0MF0sIHQxCisgICAg
bG9hZHAgUGF5bG9hZE9mZnNldFt0MF0sIHQyCisgICAgdGR6Q2hlY2tJZk5lY2Vzc2FyeSh0MSkK
KyAgICB2YWx1ZVByb2ZpbGUodDEsIHQyLCAyOCwgdDApCisgICAgbG9hZGlzRnJvbUluc3RydWN0
aW9uKDEsIHQwKQorICAgIHN0b3JlaSB0MSwgVGFnT2Zmc2V0W2NmciwgdDAsIDhdCisgICAgc3Rv
cmVpIHQyLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdCitlbmQKKworbWFjcm8gZ2V0Q2xvc3Vy
ZVZhcigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDYsIHQzKQorICAgIGxvYWRwIEpTRW52
aXJvbm1lbnRSZWNvcmRfdmFyaWFibGVzICsgVGFnT2Zmc2V0W3QwLCB0MywgOF0sIHQxCisgICAg
bG9hZHAgSlNFbnZpcm9ubWVudFJlY29yZF92YXJpYWJsZXMgKyBQYXlsb2FkT2Zmc2V0W3QwLCB0
MywgOF0sIHQyCisgICAgdmFsdWVQcm9maWxlKHQxLCB0MiwgMjgsIHQwKQorICAgIGxvYWRpc0Zy
b21JbnN0cnVjdGlvbigxLCB0MCkKKyAgICBzdG9yZWkgdDEsIFRhZ09mZnNldFtjZnIsIHQwLCA4
XQorICAgIHN0b3JlaSB0MiwgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XQorZW5kCisKK19sbGlu
dF9vcF9nZXRfZnJvbV9zY29wZToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGlzRnJv
bUluc3RydWN0aW9uKDQsIHQwKQorICAgIGFuZGkgUmVzb2x2ZVR5cGVNYXNrLCB0MAorCisjZ0ds
b2JhbFByb3BlcnR5OgorICAgIGJpbmVxIHQwLCBHbG9iYWxQcm9wZXJ0eSwgLmdHbG9iYWxWYXIK
KyAgICBsb2FkV2l0aFN0cnVjdHVyZUNoZWNrKDIsIC5nRHluYW1pYykKKyAgICBnZXRQcm9wZXJ0
eSgpCisgICAgZGlzcGF0Y2goOCkKKworLmdHbG9iYWxWYXI6CisgICAgYmluZXEgdDAsIEdsb2Jh
bFZhciwgLmdHbG9iYWxMZXhpY2FsVmFyCisgICAgZ2V0R2xvYmFsVmFyKG1hY3JvKHQpIGVuZCkK
KyAgICBkaXNwYXRjaCg4KQorCisuZ0dsb2JhbExleGljYWxWYXI6CisgICAgYmluZXEgdDAsIEds
b2JhbExleGljYWxWYXIsIC5nQ2xvc3VyZVZhcgorICAgIGdldEdsb2JhbFZhcigKKyAgICAgICAg
bWFjcm8odGFnKQorICAgICAgICAgICAgYmllcSB0YWcsIEVtcHR5VmFsdWVUYWcsIC5nRHluYW1p
YworICAgICAgICBlbmQpCisgICAgZGlzcGF0Y2goOCkKKworLmdDbG9zdXJlVmFyOgorICAgIGJp
bmVxIHQwLCBDbG9zdXJlVmFyLCAuZ0dsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNr
cworICAgIGxvYWRWYXJpYWJsZSgyLCB0MiwgdDEsIHQwKQorICAgIGdldENsb3N1cmVWYXIoKQor
ICAgIGRpc3BhdGNoKDgpCisKKy5nR2xvYmFsUHJvcGVydHlXaXRoVmFySW5qZWN0aW9uQ2hlY2tz
OgorICAgIGJpbmVxIHQwLCBHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5n
R2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcworICAgIGxvYWRXaXRoU3RydWN0dXJlQ2hl
Y2soMiwgLmdEeW5hbWljKQorICAgIGdldFByb3BlcnR5KCkKKyAgICBkaXNwYXRjaCg4KQorCisu
Z0dsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M6CisgICAgYmluZXEgdDAsIEdsb2JhbFZh
cldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5nR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rp
b25DaGVja3MKKyAgICB2YXJJbmplY3Rpb25DaGVjayguZ0R5bmFtaWMpCisgICAgZ2V0R2xvYmFs
VmFyKG1hY3JvKHQpIGVuZCkKKyAgICBkaXNwYXRjaCg4KQorCisuZ0dsb2JhbExleGljYWxWYXJX
aXRoVmFySW5qZWN0aW9uQ2hlY2tzOgorICAgIGJpbmVxIHQwLCBHbG9iYWxMZXhpY2FsVmFyV2l0
aFZhckluamVjdGlvbkNoZWNrcywgLmdDbG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcwor
ICAgIHZhckluamVjdGlvbkNoZWNrKC5nRHluYW1pYykKKyAgICBnZXRHbG9iYWxWYXIoCisgICAg
ICAgIG1hY3JvKHRhZykKKyAgICAgICAgICAgIGJpZXEgdGFnLCBFbXB0eVZhbHVlVGFnLCAuZ0R5
bmFtaWMKKyAgICAgICAgZW5kKQorICAgIGRpc3BhdGNoKDgpCisKKy5nQ2xvc3VyZVZhcldpdGhW
YXJJbmplY3Rpb25DaGVja3M6CisgICAgYmluZXEgdDAsIENsb3N1cmVWYXJXaXRoVmFySW5qZWN0
aW9uQ2hlY2tzLCAuZ0R5bmFtaWMKKyAgICB2YXJJbmplY3Rpb25DaGVjayguZ0R5bmFtaWMpCisg
ICAgbG9hZFZhcmlhYmxlKDIsIHQyLCB0MSwgdDApCisgICAgZ2V0Q2xvc3VyZVZhcigpCisgICAg
ZGlzcGF0Y2goOCkKKworLmdEeW5hbWljOgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRf
c2xvd19wYXRoX2dldF9mcm9tX3Njb3BlKQorICAgIGRpc3BhdGNoKDgpCisKKworbWFjcm8gcHV0
UHJvcGVydHkoKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MSkKKyAgICBsb2FkQ29u
c3RhbnRPclZhcmlhYmxlKHQxLCB0MiwgdDMpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDYs
IHQxKQorICAgIHN0b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0KHQxLCB0MCwgdDIsIHQzKQor
ZW5kCisKK21hY3JvIHB1dEdsb2JhbFZhcmlhYmxlKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rp
b24oMywgdDApCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MCwgdDEsIHQyKQorICAgIGxv
YWRwRnJvbUluc3RydWN0aW9uKDUsIHQzKQorICAgIG5vdGlmeVdyaXRlKHQzLCAucER5bmFtaWMp
CisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNiwgdDApCisgICAgc3RvcmVpIHQxLCBUYWdPZmZz
ZXRbdDBdCisgICAgc3RvcmVpIHQyLCBQYXlsb2FkT2Zmc2V0W3QwXQorZW5kCisKK21hY3JvIHB1
dENsb3N1cmVWYXIoKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MSkKKyAgICBsb2Fk
Q29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MiwgdDMpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9u
KDYsIHQxKQorICAgIHN0b3JlaSB0MiwgSlNFbnZpcm9ubWVudFJlY29yZF92YXJpYWJsZXMgKyBU
YWdPZmZzZXRbdDAsIHQxLCA4XQorICAgIHN0b3JlaSB0MywgSlNFbnZpcm9ubWVudFJlY29yZF92
YXJpYWJsZXMgKyBQYXlsb2FkT2Zmc2V0W3QwLCB0MSwgOF0KK2VuZAorCittYWNybyBwdXRMb2Nh
bENsb3N1cmVWYXIoKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MSkKKyAgICBsb2Fk
Q29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MiwgdDMpCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24o
NSwgdDUpCisgICAgYnRweiB0NSwgLm5vVmFyaWFibGVXYXRjaHBvaW50U2V0CisgICAgbm90aWZ5
V3JpdGUodDUsIC5wRHluYW1pYykKKy5ub1ZhcmlhYmxlV2F0Y2hwb2ludFNldDoKKyAgICBsb2Fk
aXNGcm9tSW5zdHJ1Y3Rpb24oNiwgdDEpCisgICAgc3RvcmVpIHQyLCBKU0Vudmlyb25tZW50UmVj
b3JkX3ZhcmlhYmxlcyArIFRhZ09mZnNldFt0MCwgdDEsIDhdCisgICAgc3RvcmVpIHQzLCBKU0Vu
dmlyb25tZW50UmVjb3JkX3ZhcmlhYmxlcyArIFBheWxvYWRPZmZzZXRbdDAsIHQxLCA4XQorZW5k
CisKKworX2xsaW50X29wX3B1dF90b19zY29wZToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAg
bG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQwKQorICAgIGFuZGkgUmVzb2x2ZVR5cGVNYXNrLCB0
MAorCisjcExvY2FsQ2xvc3VyZVZhcjoKKyAgICBiaW5lcSB0MCwgTG9jYWxDbG9zdXJlVmFyLCAu
cEdsb2JhbFByb3BlcnR5CisgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcygxLCAzKQorICAgIGxv
YWRWYXJpYWJsZSgxLCB0MiwgdDEsIHQwKQorICAgIHB1dExvY2FsQ2xvc3VyZVZhcigpCisgICAg
ZGlzcGF0Y2goNykKKworLnBHbG9iYWxQcm9wZXJ0eToKKyAgICBiaW5lcSB0MCwgR2xvYmFsUHJv
cGVydHksIC5wR2xvYmFsVmFyCisgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcygxLCAzKQorICAg
IGxvYWRXaXRoU3RydWN0dXJlQ2hlY2soMSwgLnBEeW5hbWljKQorICAgIHB1dFByb3BlcnR5KCkK
KyAgICBkaXNwYXRjaCg3KQorCisucEdsb2JhbFZhcjoKKyAgICBiaW5lcSB0MCwgR2xvYmFsVmFy
LCAucEdsb2JhbExleGljYWxWYXIKKyAgICB3cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdCgzKQor
ICAgIHB1dEdsb2JhbFZhcmlhYmxlKCkKKyAgICBkaXNwYXRjaCg3KQorCisucEdsb2JhbExleGlj
YWxWYXI6CisgICAgYmluZXEgdDAsIEdsb2JhbExleGljYWxWYXIsIC5wQ2xvc3VyZVZhcgorICAg
IHdyaXRlQmFycmllck9uR2xvYmFsTGV4aWNhbEVudmlyb25tZW50KDMpCisgICAgcHV0R2xvYmFs
VmFyaWFibGUoKQorICAgIGRpc3BhdGNoKDcpCisKKy5wQ2xvc3VyZVZhcjoKKyAgICBiaW5lcSB0
MCwgQ2xvc3VyZVZhciwgLnBHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3MKKyAg
ICB3cml0ZUJhcnJpZXJPbk9wZXJhbmRzKDEsIDMpCisgICAgbG9hZFZhcmlhYmxlKDEsIHQyLCB0
MSwgdDApCisgICAgcHV0Q2xvc3VyZVZhcigpCisgICAgZGlzcGF0Y2goNykKKworLnBHbG9iYWxQ
cm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3M6CisgICAgYmluZXEgdDAsIEdsb2JhbFByb3Bl
cnR5V2l0aFZhckluamVjdGlvbkNoZWNrcywgLnBHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hl
Y2tzCisgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcygxLCAzKQorICAgIGxvYWRXaXRoU3RydWN0
dXJlQ2hlY2soMSwgLnBEeW5hbWljKQorICAgIHB1dFByb3BlcnR5KCkKKyAgICBkaXNwYXRjaCg3
KQorCisucEdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M6CisgICAgYmluZXEgdDAsIEds
b2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5wR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJ
bmplY3Rpb25DaGVja3MKKyAgICB3cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdCgzKQorICAgIHZh
ckluamVjdGlvbkNoZWNrKC5wRHluYW1pYykKKyAgICBwdXRHbG9iYWxWYXJpYWJsZSgpCisgICAg
ZGlzcGF0Y2goNykKKworLnBHbG9iYWxMZXhpY2FsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrczoK
KyAgICBiaW5lcSB0MCwgR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5w
Q2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MKKyAgICB3cml0ZUJhcnJpZXJPbkdsb2Jh
bExleGljYWxFbnZpcm9ubWVudCgzKQorICAgIHZhckluamVjdGlvbkNoZWNrKC5wRHluYW1pYykK
KyAgICBwdXRHbG9iYWxWYXJpYWJsZSgpCisgICAgZGlzcGF0Y2goNykKKworLnBDbG9zdXJlVmFy
V2l0aFZhckluamVjdGlvbkNoZWNrczoKKyAgICBiaW5lcSB0MCwgQ2xvc3VyZVZhcldpdGhWYXJJ
bmplY3Rpb25DaGVja3MsIC5wTW9kdWxlVmFyCisgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcygx
LCAzKQorICAgIHZhckluamVjdGlvbkNoZWNrKC5wRHluYW1pYykKKyAgICBsb2FkVmFyaWFibGUo
MSwgdDIsIHQxLCB0MCkKKyAgICBwdXRDbG9zdXJlVmFyKCkKKyAgICBkaXNwYXRjaCg3KQorCisu
cE1vZHVsZVZhcjoKKyAgICBiaW5lcSB0MCwgTW9kdWxlVmFyLCAucER5bmFtaWMKKyAgICBjYWxs
T3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF90aHJvd19zdHJpY3RfbW9kZV9yZWFkb25seV9wcm9w
ZXJ0eV93cml0ZV9lcnJvcikKKyAgICBkaXNwYXRjaCg3KQorCisucER5bmFtaWM6CisgICAgY2Fs
bE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfcHV0X3RvX3Njb3BlKQorICAgIGRpc3Bh
dGNoKDcpCisKKworX2xsaW50X29wX2dldF9mcm9tX2FyZ3VtZW50czoKKyAgICB0cmFjZUV4ZWN1
dGlvbigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQwKQorICAgIGxvYWRpIFBheWxv
YWRPZmZzZXRbY2ZyLCB0MCwgOF0sIHQwCisgICAgbG9hZGkgMTJbUENdLCB0MQorICAgIGxvYWRp
IERpcmVjdEFyZ3VtZW50c19zdG9yYWdlICsgVGFnT2Zmc2V0W3QwLCB0MSwgOF0sIHQyCisgICAg
bG9hZGkgRGlyZWN0QXJndW1lbnRzX3N0b3JhZ2UgKyBQYXlsb2FkT2Zmc2V0W3QwLCB0MSwgOF0s
IHQzCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKQorICAgIHZhbHVlUHJvZmlsZSh0
MiwgdDMsIDE2LCB0MCkKKyAgICBzdG9yZWkgdDIsIFRhZ09mZnNldFtjZnIsIHQxLCA4XQorICAg
IHN0b3JlaSB0MywgUGF5bG9hZE9mZnNldFtjZnIsIHQxLCA4XQorICAgIGRpc3BhdGNoKDUpCisK
KworX2xsaW50X29wX3B1dF90b19hcmd1bWVudHM6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAg
IHdyaXRlQmFycmllck9uT3BlcmFuZHMoMSwgMykKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24o
MSwgdDApCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSwgdDAKKyAgICBsb2Fk
aXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDEpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwg
dDIsIHQzKQorICAgIGxvYWRpIDhbUENdLCB0MQorICAgIHN0b3JlaSB0MiwgRGlyZWN0QXJndW1l
bnRzX3N0b3JhZ2UgKyBUYWdPZmZzZXRbdDAsIHQxLCA4XQorICAgIHN0b3JlaSB0MywgRGlyZWN0
QXJndW1lbnRzX3N0b3JhZ2UgKyBQYXlsb2FkT2Zmc2V0W3QwLCB0MSwgOF0KKyAgICBkaXNwYXRj
aCg0KQorCisKK19sbGludF9vcF9nZXRfcGFyZW50X3Njb3BlOgorICAgIHRyYWNlRXhlY3V0aW9u
KCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDApCisgICAgbG9hZHAgUGF5bG9hZE9m
ZnNldFtjZnIsIHQwLCA4XSwgdDAKKyAgICBsb2FkcCBKU1Njb3BlOjptX25leHRbdDBdLCB0MAor
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKKyAgICBzdG9yZWkgQ2VsbFRhZywgVGFn
T2Zmc2V0W2NmciwgdDEsIDhdCisgICAgc3RvcmVpIHQwLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDEs
IDhdCisgICAgZGlzcGF0Y2goMykKKworCitfbGxpbnRfb3BfcHJvZmlsZV90eXBlOgorICAgIHRy
YWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDEKKyAgICBsb2FkcCBD
b2RlQmxvY2s6Om1fdm1bdDFdLCB0MQorICAgICMgdDEgaXMgaG9sZGluZyB0aGUgcG9pbnRlciB0
byB0aGUgdHlwZVByb2ZpbGVyTG9nLgorICAgIGxvYWRwIFZNOjptX3R5cGVQcm9maWxlckxvZ1t0
MV0sIHQxCisKKyAgICAjIHQwIGlzIGhvbGRpbmcgdGhlIHBheWxvYWQsIHQ1IGlzIGhvbGRpbmcg
dGhlIHRhZy4KKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDIpCisgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZSh0MiwgdDUsIHQwKQorCisgICAgYmllcSB0NSwgRW1wdHlWYWx1ZVRhZywg
Lm9wUHJvZmlsZVR5cGVEb25lCisKKyAgICAjIHQyIGlzIGhvbGRpbmcgdGhlIHBvaW50ZXIgdG8g
dGhlIGN1cnJlbnQgbG9nIGVudHJ5LgorICAgIGxvYWRwIFR5cGVQcm9maWxlckxvZzo6bV9jdXJy
ZW50TG9nRW50cnlQdHJbdDFdLCB0MgorCisgICAgIyBTdG9yZSB0aGUgSlNWYWx1ZSBvbnRvIHRo
ZSBsb2cgZW50cnkuCisgICAgc3RvcmVpIHQ1LCBUeXBlUHJvZmlsZXJMb2c6OkxvZ0VudHJ5Ojp2
YWx1ZSArIFRhZ09mZnNldFt0Ml0KKyAgICBzdG9yZWkgdDAsIFR5cGVQcm9maWxlckxvZzo6TG9n
RW50cnk6OnZhbHVlICsgUGF5bG9hZE9mZnNldFt0Ml0KKworICAgICMgU3RvcmUgdGhlIFR5cGVM
b2NhdGlvbiBvbnRvIHRoZSBsb2cgZW50cnkuCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oMiwg
dDMpCisgICAgc3RvcmVwIHQzLCBUeXBlUHJvZmlsZXJMb2c6OkxvZ0VudHJ5Ojpsb2NhdGlvblt0
Ml0KKworICAgIGJpZXEgdDUsIENlbGxUYWcsIC5vcFByb2ZpbGVUeXBlSXNDZWxsCisgICAgc3Rv
cmVpIDAsIFR5cGVQcm9maWxlckxvZzo6TG9nRW50cnk6OnN0cnVjdHVyZUlEW3QyXQorICAgIGpt
cCAub3BQcm9maWxlVHlwZVNraXBJc0NlbGwKKy5vcFByb2ZpbGVUeXBlSXNDZWxsOgorICAgIGxv
YWRpIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0MF0sIHQzCisgICAgc3RvcmVpIHQzLCBUeXBlUHJv
ZmlsZXJMb2c6OkxvZ0VudHJ5OjpzdHJ1Y3R1cmVJRFt0Ml0KKy5vcFByb2ZpbGVUeXBlU2tpcElz
Q2VsbDoKKyAgICAKKyAgICAjIEluY3JlbWVudCB0aGUgY3VycmVudCBsb2cgZW50cnkuCisgICAg
YWRkcCBzaXplb2YgVHlwZVByb2ZpbGVyTG9nOjpMb2dFbnRyeSwgdDIKKyAgICBzdG9yZXAgdDIs
IFR5cGVQcm9maWxlckxvZzo6bV9jdXJyZW50TG9nRW50cnlQdHJbdDFdCisKKyAgICBsb2FkcCBU
eXBlUHJvZmlsZXJMb2c6Om1fbG9nRW5kUHRyW3QxXSwgdDEKKyAgICBicG5lcSB0MiwgdDEsIC5v
cFByb2ZpbGVUeXBlRG9uZQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3Byb2Zp
bGVfdHlwZV9jbGVhcl9sb2cpCisKKy5vcFByb2ZpbGVUeXBlRG9uZToKKyAgICBkaXNwYXRjaCg2
KQorCisKK19sbGludF9vcF9wcm9maWxlX2NvbnRyb2xfZmxvdzoKKyAgICB0cmFjZUV4ZWN1dGlv
bigpCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCisgICAgbG9hZGkgQmFzaWNCbG9j
a0xvY2F0aW9uOjptX2V4ZWN1dGlvbkNvdW50W3QwXSwgdDEKKyAgICBhZGRpIDEsIHQxCisgICAg
YmllcSB0MSwgMCwgLmRvbmUgIyBXZSBvdmVyZmxvd2VkLgorICAgIHN0b3JlaSB0MSwgQmFzaWNC
bG9ja0xvY2F0aW9uOjptX2V4ZWN1dGlvbkNvdW50W3QwXQorLmRvbmU6CisgICAgZGlzcGF0Y2go
MikKKworCitfbGxpbnRfb3BfZ2V0X3Jlc3RfbGVuZ3RoOgorICAgIHRyYWNlRXhlY3V0aW9uKCkK
KyAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0ICsgQXJndW1lbnRDb3VudFtjZnJdLCB0MAorICAgIHN1
YmkgMSwgdDAKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDEpCisgICAgYmlsdGVxIHQw
LCB0MSwgLnN0b3JlWmVybworICAgIHN1YmkgdDEsIHQwCisgICAgam1wIC5maW5pc2gKKy5zdG9y
ZVplcm86CisgICAgbW92ZSAwLCB0MAorLmZpbmlzaDoKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rp
b24oMSwgdDEpCisgICAgc3RvcmVpIHQwLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDEsIDhdCisgICAg
c3RvcmVpIEludDMyVGFnLCBUYWdPZmZzZXRbY2ZyLCB0MSwgOF0KKyAgICBkaXNwYXRjaCgzKQor
CisKK19sbGludF9vcF9sb2dfc2hhZG93X2NoaWNrZW5fcHJvbG9ndWU6CisgICAgdHJhY2VFeGVj
dXRpb24oKQorICAgIGFjcXVpcmVTaGFkb3dDaGlja2VuUGFja2V0KC5vcExvZ1NoYWRvd0NoaWNr
ZW5Qcm9sb2d1ZVNsb3cpCisgICAgc3RvcmVwIGNmciwgU2hhZG93Q2hpY2tlbjo6UGFja2V0Ojpm
cmFtZVt0MF0KKyAgICBsb2FkcCBDYWxsZXJGcmFtZVtjZnJdLCB0MQorICAgIHN0b3JlcCB0MSwg
U2hhZG93Q2hpY2tlbjo6UGFja2V0OjpjYWxsZXJGcmFtZVt0MF0KKyAgICBsb2FkcCBDYWxsZWUg
KyBQYXlsb2FkT2Zmc2V0W2Nmcl0sIHQxCisgICAgc3RvcmVwIHQxLCBTaGFkb3dDaGlja2VuOjpQ
YWNrZXQ6OmNhbGxlZVt0MF0KKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAg
bG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIHQxLCA4XSwgdDEKKyAgICBzdG9yZXAgdDEsIFNoYWRv
d0NoaWNrZW46OlBhY2tldDo6c2NvcGVbdDBdCisgICAgZGlzcGF0Y2goMikKKy5vcExvZ1NoYWRv
d0NoaWNrZW5Qcm9sb2d1ZVNsb3c6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93
X3BhdGhfbG9nX3NoYWRvd19jaGlja2VuX3Byb2xvZ3VlKQorICAgIGRpc3BhdGNoKDIpCisKKwor
X2xsaW50X29wX2xvZ19zaGFkb3dfY2hpY2tlbl90YWlsOgorICAgIHRyYWNlRXhlY3V0aW9uKCkK
KyAgICBhY3F1aXJlU2hhZG93Q2hpY2tlblBhY2tldCgub3BMb2dTaGFkb3dDaGlja2VuVGFpbFNs
b3cpCisgICAgc3RvcmVwIGNmciwgU2hhZG93Q2hpY2tlbjo6UGFja2V0OjpmcmFtZVt0MF0KKyAg
ICBzdG9yZXAgU2hhZG93Q2hpY2tlblRhaWxNYXJrZXIsIFNoYWRvd0NoaWNrZW46OlBhY2tldDo6
Y2FsbGVlW3QwXQorICAgIGxvYWRWYXJpYWJsZSgxLCB0MywgdDIsIHQxKQorICAgIHN0b3JlaSB0
MiwgVGFnT2Zmc2V0ICsgU2hhZG93Q2hpY2tlbjo6UGFja2V0Ojp0aGlzVmFsdWVbdDBdCisgICAg
c3RvcmVpIHQxLCBQYXlsb2FkT2Zmc2V0ICsgU2hhZG93Q2hpY2tlbjo6UGFja2V0Ojp0aGlzVmFs
dWVbdDBdCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQxKQorICAgIGxvYWRpIFBheWxv
YWRPZmZzZXRbY2ZyLCB0MSwgOF0sIHQxCisgICAgc3RvcmVwIHQxLCBTaGFkb3dDaGlja2VuOjpQ
YWNrZXQ6OnNjb3BlW3QwXQorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MQorICAgIHN0b3Jl
cCB0MSwgU2hhZG93Q2hpY2tlbjo6UGFja2V0Ojpjb2RlQmxvY2tbdDBdCisgICAgc3RvcmVpIFBD
LCBTaGFkb3dDaGlja2VuOjpQYWNrZXQ6OmNhbGxTaXRlSW5kZXhbdDBdCisgICAgZGlzcGF0Y2go
MykKKy5vcExvZ1NoYWRvd0NoaWNrZW5UYWlsU2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgo
X2xsaW50X3Nsb3dfcGF0aF9sb2dfc2hhZG93X2NoaWNrZW5fdGFpbCkKKyAgICBkaXNwYXRjaCgz
KQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5jaC9PZmZsaW5lQXNzZW1ibGVyL0xvd0xl
dmVsSW50ZXJwcmV0ZXIzMl82NC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL1Jl
eEJlbmNoL09mZmxpbmVBc3NlbWJsZXIvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmpzCShub25l
eGlzdGVudCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9M
b3dMZXZlbEludGVycHJldGVyMzJfNjQuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNTQ3
IEBACisvKgorICogRE8gTk9UIEVESVQgVEhJUyBGSUxFLCBpdCBpcyBhdXRvZ2VuZXJhdGVkLgor
ICovCisidXNlIHN0cmljdCI7CisKKyhmdW5jdGlvbigpIHsKKyAgICBsZXQgc291cmNlID0gYCMg
Q29weXJpZ2h0IChDKSAyMDExLTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
IworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
IworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgXGBcYEFTIElTJycKKyMgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyMg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisjIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyMgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyMgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisjIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisjIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisjIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyMgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKKyMgVXRpbGl0aWVz
CittYWNybyBkaXNwYXRjaChhZHZhbmNlKQorICAgIGFkZHAgYWR2YW5jZSAqIDQsIFBDCisgICAg
am1wIFtQQ10KK2VuZAorCittYWNybyBkaXNwYXRjaEJyYW5jaFdpdGhPZmZzZXQocGNPZmZzZXQp
CisgICAgbHNoaWZ0aSAyLCBwY09mZnNldAorICAgIGFkZHAgcGNPZmZzZXQsIFBDCisgICAgam1w
IFtQQ10KK2VuZAorCittYWNybyBkaXNwYXRjaEJyYW5jaChwY09mZnNldCkKKyAgICBsb2FkaSBw
Y09mZnNldCwgdDAKKyAgICBkaXNwYXRjaEJyYW5jaFdpdGhPZmZzZXQodDApCitlbmQKKworbWFj
cm8gZGlzcGF0Y2hBZnRlckNhbGwoKQorICAgIGxvYWRpIEFyZ3VtZW50Q291bnQgKyBUYWdPZmZz
ZXRbY2ZyXSwgUEMKKyAgICBsb2FkaSA0W1BDXSwgdDMKKyAgICBzdG9yZWkgcjEsIFRhZ09mZnNl
dFtjZnIsIHQzLCA4XQorICAgIHN0b3JlaSByMCwgUGF5bG9hZE9mZnNldFtjZnIsIHQzLCA4XQor
ICAgIHZhbHVlUHJvZmlsZShyMSwgcjAsIDQgKiAoQ2FsbE9wQ29kZVNpemUgLSAxKSwgdDMpCisg
ICAgZGlzcGF0Y2goQ2FsbE9wQ29kZVNpemUpCitlbmQKKworbWFjcm8gY0NhbGwyKGZ1bmN0aW9u
KQorICAgIGlmIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTCBvciBNSVBTCisgICAg
ICAgIGNhbGwgZnVuY3Rpb24KKyAgICBlbHNpZiBYODYgb3IgWDg2X1dJTgorICAgICAgICBzdWJw
IDgsIHNwCisgICAgICAgIHB1c2ggYTEKKyAgICAgICAgcHVzaCBhMAorICAgICAgICBjYWxsIGZ1
bmN0aW9uCisgICAgICAgIGFkZHAgMTYsIHNwCisgICAgZWxzaWYgQ19MT09QCisgICAgICAgIGNs
b29wQ2FsbFNsb3dQYXRoIGZ1bmN0aW9uLCBhMCwgYTEKKyAgICBlbHNlCisgICAgICAgIGVycm9y
CisgICAgZW5kCitlbmQKKworbWFjcm8gY0NhbGwyVm9pZChmdW5jdGlvbikKKyAgICBpZiBDX0xP
T1AKKyAgICAgICAgY2xvb3BDYWxsU2xvd1BhdGhWb2lkIGZ1bmN0aW9uLCBhMCwgYTEKKyAgICBl
bHNlCisgICAgICAgIGNDYWxsMihmdW5jdGlvbikKKyAgICBlbmQKK2VuZAorCittYWNybyBjQ2Fs
bDQoZnVuY3Rpb24pCisgICAgaWYgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9y
IE1JUFMKKyAgICAgICAgY2FsbCBmdW5jdGlvbgorICAgIGVsc2lmIFg4NiBvciBYODZfV0lOCisg
ICAgICAgIHB1c2ggYTMKKyAgICAgICAgcHVzaCBhMgorICAgICAgICBwdXNoIGExCisgICAgICAg
IHB1c2ggYTAKKyAgICAgICAgY2FsbCBmdW5jdGlvbgorICAgICAgICBhZGRwIDE2LCBzcAorICAg
IGVsc2lmIENfTE9PUAorICAgICAgICBlcnJvcgorICAgIGVsc2UKKyAgICAgICAgZXJyb3IKKyAg
ICBlbmQKK2VuZAorCittYWNybyBjYWxsU2xvd1BhdGgoc2xvd1BhdGgpCisgICAgbW92ZSBjZnIs
IGEwCisgICAgbW92ZSBQQywgYTEKKyAgICBjQ2FsbDIoc2xvd1BhdGgpCisgICAgbW92ZSByMCwg
UEMKK2VuZAorCittYWNybyBkb1ZNRW50cnkobWFrZUNhbGwpCisgICAgZnVuY3Rpb25Qcm9sb2d1
ZSgpCisgICAgcHVzaENhbGxlZVNhdmVzKCkKKworICAgICMgeDg2IG5lZWRzIHRvIGxvYWQgYXJn
dW1lbnRzIGZyb20gdGhlIHN0YWNrCisgICAgaWYgWDg2IG9yIFg4Nl9XSU4KKyAgICAgICAgbG9h
ZHAgMTZbY2ZyXSwgYTIKKyAgICAgICAgbG9hZHAgMTJbY2ZyXSwgYTEKKyAgICAgICAgbG9hZHAg
OFtjZnJdLCBhMAorICAgIGVuZAorCisgICAgY29uc3QgZW50cnkgPSBhMAorICAgIGNvbnN0IHZt
ID0gYTEKKyAgICBjb25zdCBwcm90b0NhbGxGcmFtZSA9IGEyCisKKyAgICAjIFdlIGFyZSB1c2lu
ZyB0MywgdDQgYW5kIHQ1IGFzIHRlbXBvcmFyaWVzIHRocm91Z2ggdGhlIGZ1bmN0aW9uLgorICAg
ICMgU2luY2Ugd2UgaGF2ZSB0aGUgZ3VhcmFudGVlIHRoYXQgdFggIT0gYVkgd2hlbiBYICE9IFks
IHdlIGFyZSBzYWZlIGZyb20KKyAgICAjIGFsaWFzaW5nIHByb2JsZW1zIHdpdGggb3VyIGFyZ3Vt
ZW50cy4KKworICAgIGlmIEFSTXY3CisgICAgICAgIHZtRW50cnlSZWNvcmQoY2ZyLCB0MykKKyAg
ICAgICAgbW92ZSB0Mywgc3AKKyAgICBlbHNlCisgICAgICAgIHZtRW50cnlSZWNvcmQoY2ZyLCBz
cCkKKyAgICBlbmQKKworICAgIHN0b3JlcCB2bSwgVk1FbnRyeVJlY29yZDo6bV92bVtzcF0KKyAg
ICBsb2FkcCBWTTo6dG9wQ2FsbEZyYW1lW3ZtXSwgdDQKKyAgICBzdG9yZXAgdDQsIFZNRW50cnlS
ZWNvcmQ6Om1fcHJldlRvcENhbGxGcmFtZVtzcF0KKyAgICBsb2FkcCBWTTo6dG9wVk1FbnRyeUZy
YW1lW3ZtXSwgdDQKKyAgICBzdG9yZXAgdDQsIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcFZNRW50
cnlGcmFtZVtzcF0KKworICAgICMgQWxpZ24gc3RhY2sgcG9pbnRlcgorICAgIGlmIFg4Nl9XSU4g
b3IgTUlQUworICAgICAgICBhZGRwIENhbGxGcmFtZUFsaWduU2xvdHMgKiBTbG90U2l6ZSwgc3As
IHQzCisgICAgICAgIGFuZHAgflN0YWNrQWxpZ25tZW50TWFzaywgdDMKKyAgICAgICAgc3VicCB0
MywgQ2FsbEZyYW1lQWxpZ25TbG90cyAqIFNsb3RTaXplLCBzcAorICAgIGVsc2lmIEFSTSBvciBB
Uk12NyBvciBBUk12N19UUkFESVRJT05BTAorICAgICAgICBhZGRwIENhbGxGcmFtZUFsaWduU2xv
dHMgKiBTbG90U2l6ZSwgc3AsIHQzCisgICAgICAgIGNscmJwIHQzLCBTdGFja0FsaWdubWVudE1h
c2ssIHQzCisgICAgICAgIGlmIEFSTXY3CisgICAgICAgICAgICBzdWJwIHQzLCBDYWxsRnJhbWVB
bGlnblNsb3RzICogU2xvdFNpemUsIHQzCisgICAgICAgICAgICBtb3ZlIHQzLCBzcAorICAgICAg
ICBlbHNlCisgICAgICAgICAgICBzdWJwIHQzLCBDYWxsRnJhbWVBbGlnblNsb3RzICogU2xvdFNp
emUsIHNwCisgICAgICAgIGVuZAorICAgIGVuZAorCisgICAgbG9hZGkgUHJvdG9DYWxsRnJhbWU6
OnBhZGRlZEFyZ0NvdW50W3Byb3RvQ2FsbEZyYW1lXSwgdDQKKyAgICBhZGRwIENhbGxGcmFtZUhl
YWRlclNsb3RzLCB0NCwgdDQKKyAgICBsc2hpZnRwIDMsIHQ0CisgICAgc3VicCBzcCwgdDQsIHQz
CisgICAgYnBhIHQzLCBzcCwgLnRocm93U3RhY2tPdmVyZmxvdworCisgICAgIyBFbnN1cmUgdGhh
dCB3ZSBoYXZlIGVub3VnaCBhZGRpdGlvbmFsIHN0YWNrIGNhcGFjaXR5IGZvciB0aGUgaW5jb21p
bmcgYXJncywKKyAgICAjIGFuZCB0aGUgZnJhbWUgZm9yIHRoZSBKUyBjb2RlIHdlJ3JlIGV4ZWN1
dGluZy4gV2UgbmVlZCB0byBkbyB0aGlzIGNoZWNrCisgICAgIyBiZWZvcmUgd2Ugc3RhcnQgY29w
eWluZyB0aGUgYXJncyBmcm9tIHRoZSBwcm90b0NhbGxGcmFtZSBiZWxvdy4KKyAgICBpZiBDX0xP
T1AKKyAgICAgICAgYnBhZXEgdDMsIFZNOjptX2Nsb29wU3RhY2tMaW1pdFt2bV0sIC5zdGFja0hl
aWdodE9LCisgICAgZWxzZQorICAgICAgICBicGFlcSB0MywgVk06Om1fc29mdFN0YWNrTGltaXRb
dm1dLCAuc3RhY2tIZWlnaHRPSworICAgIGVuZAorCisgICAgaWYgQ19MT09QCisgICAgICAgIG1v
dmUgZW50cnksIHQ0CisgICAgICAgIG1vdmUgdm0sIHQ1CisgICAgICAgIGNsb29wQ2FsbFNsb3dQ
YXRoIF9sbGludF9zdGFja19jaGVja19hdF92bV9lbnRyeSwgdm0sIHQzCisgICAgICAgIGJwZXEg
dDAsIDAsIC5zdGFja0NoZWNrRmFpbGVkCisgICAgICAgIG1vdmUgdDQsIGVudHJ5CisgICAgICAg
IG1vdmUgdDUsIHZtCisgICAgICAgIGptcCAuc3RhY2tIZWlnaHRPSworCisuc3RhY2tDaGVja0Zh
aWxlZDoKKyAgICAgICAgbW92ZSB0NCwgZW50cnkKKyAgICAgICAgbW92ZSB0NSwgdm0KKyAgICBl
bmQKKworLnRocm93U3RhY2tPdmVyZmxvdzoKKyAgICBzdWJwIDgsIHNwICMgQWxpZ24gc3RhY2sg
Zm9yIGNDYWxsMigpIHRvIG1ha2UgYSBjYWxsLgorICAgIG1vdmUgdm0sIGEwCisgICAgbW92ZSBw
cm90b0NhbGxGcmFtZSwgYTEKKyAgICBjQ2FsbDIoX2xsaW50X3Rocm93X3N0YWNrX292ZXJmbG93
X2Vycm9yKQorCisgICAgaWYgQVJNdjcKKyAgICAgICAgdm1FbnRyeVJlY29yZChjZnIsIHQzKQor
ICAgICAgICBtb3ZlIHQzLCBzcAorICAgIGVsc2UKKyAgICAgICAgdm1FbnRyeVJlY29yZChjZnIs
IHNwKQorICAgIGVuZAorCisgICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6bV92bVtzcF0sIHQ1Cisg
ICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wQ2FsbEZyYW1lW3NwXSwgdDQKKyAgICBz
dG9yZXAgdDQsIFZNOjp0b3BDYWxsRnJhbWVbdDVdCisgICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6
bV9wcmV2VG9wVk1FbnRyeUZyYW1lW3NwXSwgdDQKKyAgICBzdG9yZXAgdDQsIFZNOjp0b3BWTUVu
dHJ5RnJhbWVbdDVdCisKKyAgICBpZiBBUk12NworICAgICAgICBzdWJwIGNmciwgQ2FsbGVlUmVn
aXN0ZXJTYXZlU2l6ZSwgdDUKKyAgICAgICAgbW92ZSB0NSwgc3AKKyAgICBlbHNlCisgICAgICAg
IHN1YnAgY2ZyLCBDYWxsZWVSZWdpc3RlclNhdmVTaXplLCBzcAorICAgIGVuZAorCisgICAgcG9w
Q2FsbGVlU2F2ZXMoKQorICAgIGZ1bmN0aW9uRXBpbG9ndWUoKQorICAgIHJldAorCisuc3RhY2tI
ZWlnaHRPSzoKKyAgICBtb3ZlIHQzLCBzcAorICAgIG1vdmUgNCwgdDMKKworLmNvcHlIZWFkZXJM
b29wOgorICAgIHN1YmkgMSwgdDMKKyAgICBsb2FkaSBUYWdPZmZzZXRbcHJvdG9DYWxsRnJhbWUs
IHQzLCA4XSwgdDUKKyAgICBzdG9yZWkgdDUsIFRhZ09mZnNldCArIENvZGVCbG9ja1tzcCwgdDMs
IDhdCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtwcm90b0NhbGxGcmFtZSwgdDMsIDhdLCB0NQor
ICAgIHN0b3JlaSB0NSwgUGF5bG9hZE9mZnNldCArIENvZGVCbG9ja1tzcCwgdDMsIDhdCisgICAg
YnRpbnogdDMsIC5jb3B5SGVhZGVyTG9vcAorCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldCArIFBy
b3RvQ2FsbEZyYW1lOjphcmdDb3VudEFuZENvZGVPcmlnaW5WYWx1ZVtwcm90b0NhbGxGcmFtZV0s
IHQ0CisgICAgc3ViaSAxLCB0NAorICAgIGxvYWRpIFByb3RvQ2FsbEZyYW1lOjpwYWRkZWRBcmdD
b3VudFtwcm90b0NhbGxGcmFtZV0sIHQ1CisgICAgc3ViaSAxLCB0NQorCisgICAgYmllcSB0NCwg
dDUsIC5jb3B5QXJncworLmZpbGxFeHRyYUFyZ3NMb29wOgorICAgIHN1YmkgMSwgdDUKKyAgICBz
dG9yZWkgVW5kZWZpbmVkVGFnLCBUaGlzQXJndW1lbnRPZmZzZXQgKyA4ICsgVGFnT2Zmc2V0W3Nw
LCB0NSwgOF0KKyAgICBzdG9yZWkgMCwgVGhpc0FyZ3VtZW50T2Zmc2V0ICsgOCArIFBheWxvYWRP
ZmZzZXRbc3AsIHQ1LCA4XQorICAgIGJpbmVxIHQ0LCB0NSwgLmZpbGxFeHRyYUFyZ3NMb29wCisK
Ky5jb3B5QXJnczoKKyAgICBsb2FkcCBQcm90b0NhbGxGcmFtZTo6YXJnc1twcm90b0NhbGxGcmFt
ZV0sIHQzCisKKy5jb3B5QXJnc0xvb3A6CisgICAgYnRpeiB0NCwgLmNvcHlBcmdzRG9uZQorICAg
IHN1YmkgMSwgdDQKKyAgICBsb2FkaSBUYWdPZmZzZXRbdDMsIHQ0LCA4XSwgdDUKKyAgICBzdG9y
ZWkgdDUsIFRoaXNBcmd1bWVudE9mZnNldCArIDggKyBUYWdPZmZzZXRbc3AsIHQ0LCA4XQorICAg
IGxvYWRpIFBheWxvYWRPZmZzZXRbdDMsIHQ0LCA4XSwgdDUKKyAgICBzdG9yZWkgdDUsIFRoaXNB
cmd1bWVudE9mZnNldCArIDggKyBQYXlsb2FkT2Zmc2V0W3NwLCB0NCwgOF0KKyAgICBqbXAgLmNv
cHlBcmdzTG9vcAorCisuY29weUFyZ3NEb25lOgorICAgIHN0b3JlcCBzcCwgVk06OnRvcENhbGxG
cmFtZVt2bV0KKyAgICBzdG9yZXAgY2ZyLCBWTTo6dG9wVk1FbnRyeUZyYW1lW3ZtXQorCisgICAg
bWFrZUNhbGwoZW50cnksIHQzLCB0NCkKKworICAgIGlmIEFSTXY3CisgICAgICAgIHZtRW50cnlS
ZWNvcmQoY2ZyLCB0MykKKyAgICAgICAgbW92ZSB0Mywgc3AKKyAgICBlbHNlCisgICAgICAgIHZt
RW50cnlSZWNvcmQoY2ZyLCBzcCkKKyAgICBlbmQKKworICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6
Om1fdm1bc3BdLCB0NQorICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcENhbGxGcmFt
ZVtzcF0sIHQ0CisgICAgc3RvcmVwIHQ0LCBWTTo6dG9wQ2FsbEZyYW1lW3Q1XQorICAgIGxvYWRw
IFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcFZNRW50cnlGcmFtZVtzcF0sIHQ0CisgICAgc3RvcmVw
IHQ0LCBWTTo6dG9wVk1FbnRyeUZyYW1lW3Q1XQorCisgICAgaWYgQVJNdjcKKyAgICAgICAgc3Vi
cCBjZnIsIENhbGxlZVJlZ2lzdGVyU2F2ZVNpemUsIHQ1CisgICAgICAgIG1vdmUgdDUsIHNwCisg
ICAgZWxzZQorICAgICAgICBzdWJwIGNmciwgQ2FsbGVlUmVnaXN0ZXJTYXZlU2l6ZSwgc3AKKyAg
ICBlbmQKKworICAgIHBvcENhbGxlZVNhdmVzKCkKKyAgICBmdW5jdGlvbkVwaWxvZ3VlKCkKKyAg
ICByZXQKK2VuZAorCittYWNybyBtYWtlSmF2YVNjcmlwdENhbGwoZW50cnksIHRlbXAsIHVudXNl
ZCkKKyAgICBhZGRwIENhbGxlckZyYW1lQW5kUENTaXplLCBzcAorICAgIGNoZWNrU3RhY2tQb2lu
dGVyQWxpZ25tZW50KHRlbXAsIDB4YmFkMGRjMDIpCisgICAgaWYgQ19MT09QCisgICAgICAgIGNs
b29wQ2FsbEpTRnVuY3Rpb24gZW50cnkKKyAgICBlbHNlCisgICAgICAgIGNhbGwgZW50cnkKKyAg
ICBlbmQKKyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0ZW1wLCAweGJhZDBkYzAzKQor
ICAgIHN1YnAgQ2FsbGVyRnJhbWVBbmRQQ1NpemUsIHNwCitlbmQKKworbWFjcm8gbWFrZUhvc3RG
dW5jdGlvbkNhbGwoZW50cnksIHRlbXAxLCB0ZW1wMikKKyAgICBtb3ZlIGVudHJ5LCB0ZW1wMQor
ICAgIHN0b3JlcCBjZnIsIFtzcF0KKyAgICBpZiBDX0xPT1AKKyAgICAgICAgbW92ZSBzcCwgYTAK
KyAgICAgICAgc3RvcmVwIGxyLCBQdHJTaXplW3NwXQorICAgICAgICBjbG9vcENhbGxOYXRpdmUg
dGVtcDEKKyAgICBlbHNpZiBYODYgb3IgWDg2X1dJTgorICAgICAgICAjIFB1dCBjYWxsZWUgZnJh
bWUgcG9pbnRlciBvbiBzdGFjayBhcyBhcmcwLCBhbHNvIHB1dCBpdCBpbiBlY3ggZm9yICJmYXN0
Y2FsbCIgdGFyZ2V0cworICAgICAgICBtb3ZlIDAsIHRlbXAyCisgICAgICAgIG1vdmUgdGVtcDIs
IDRbc3BdICMgcHV0IDAgaW4gUmV0dXJuUEMKKyAgICAgICAgbW92ZSBzcCwgYTAgIyBhMCBpcyBl
Y3gKKyAgICAgICAgcHVzaCB0ZW1wMiAjIFB1c2ggZHVtbXkgYXJnMQorICAgICAgICBwdXNoIGEw
CisgICAgICAgIGNhbGwgdGVtcDEKKyAgICAgICAgYWRkcCA4LCBzcAorICAgIGVsc2UKKyAgICAg
ICAgbW92ZSBzcCwgYTAKKyAgICAgICAgY2FsbCB0ZW1wMQorICAgIGVuZAorZW5kCisKK19oYW5k
bGVVbmNhdWdodEV4Y2VwdGlvbjoKKyAgICBsb2FkcCBDYWxsZWUgKyBQYXlsb2FkT2Zmc2V0W2Nm
cl0sIHQzCisgICAgYW5kcCBNYXJrZWRCbG9ja01hc2ssIHQzCisgICAgbG9hZHAgTWFya2VkQmxv
Y2s6Om1fdm1bdDNdLCB0MworICAgIHJlc3RvcmVDYWxsZWVTYXZlc0Zyb21WTUVudHJ5RnJhbWVD
YWxsZWVTYXZlc0J1ZmZlcih0MywgdDApCisgICAgbG9hZHAgVk06OmNhbGxGcmFtZUZvckNhdGNo
W3QzXSwgY2ZyCisgICAgc3RvcmVwIDAsIFZNOjpjYWxsRnJhbWVGb3JDYXRjaFt0M10KKworICAg
IGxvYWRwIENhbGxlckZyYW1lW2Nmcl0sIGNmcgorCisgICAgaWYgQVJNdjcKKyAgICAgICAgdm1F
bnRyeVJlY29yZChjZnIsIHQzKQorICAgICAgICBtb3ZlIHQzLCBzcAorICAgIGVsc2UKKyAgICAg
ICAgdm1FbnRyeVJlY29yZChjZnIsIHNwKQorICAgIGVuZAorCisgICAgbG9hZHAgVk1FbnRyeVJl
Y29yZDo6bV92bVtzcF0sIHQzCisgICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wQ2Fs
bEZyYW1lW3NwXSwgdDUKKyAgICBzdG9yZXAgdDUsIFZNOjp0b3BDYWxsRnJhbWVbdDNdCisgICAg
bG9hZHAgVk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wVk1FbnRyeUZyYW1lW3NwXSwgdDUKKyAgICBz
dG9yZXAgdDUsIFZNOjp0b3BWTUVudHJ5RnJhbWVbdDNdCisKKyAgICBpZiBBUk12NworICAgICAg
ICBzdWJwIGNmciwgQ2FsbGVlUmVnaXN0ZXJTYXZlU2l6ZSwgdDMKKyAgICAgICAgbW92ZSB0Mywg
c3AKKyAgICBlbHNlCisgICAgICAgIHN1YnAgY2ZyLCBDYWxsZWVSZWdpc3RlclNhdmVTaXplLCBz
cAorICAgIGVuZAorCisgICAgcG9wQ2FsbGVlU2F2ZXMoKQorICAgIGZ1bmN0aW9uRXBpbG9ndWUo
KQorICAgIHJldAorCittYWNybyBkb1JldHVybkZyb21Ib3N0RnVuY3Rpb24oZXh0cmFTdGFja1Nw
YWNlKQorICAgIGZ1bmN0aW9uRXBpbG9ndWUoZXh0cmFTdGFja1NwYWNlKQorICAgIHJldAorZW5k
CisKKyMgRGVidWdnaW5nIG9wZXJhdGlvbiBpZiB5b3UnZCBsaWtlIHRvIHByaW50IGFuIG9wZXJh
bmQgaW4gdGhlIGluc3RydWN0aW9uIHN0cmVhbS4gZnJvbVdoZXJlCisjIHNob3VsZCBiZSBhbiBp
bW1lZGlhdGUgaW50ZWdlciAtIGFueSBpbnRlZ2VyIHlvdSBsaWtlOyB1c2UgaXQgdG8gaWRlbnRp
ZnkgdGhlIHBsYWNlIHlvdSdyZQorIyBkZWJ1Z2dpbmcgZnJvbS4gb3BlcmFuZCBzaG91bGQgbGlr
ZXdpc2UgYmUgYW4gaW1tZWRpYXRlLCBhbmQgc2hvdWxkIGlkZW50aWZ5IHRoZSBvcGVyYW5kCisj
IGluIHRoZSBpbnN0cnVjdGlvbiBzdHJlYW0geW91J2QgbGlrZSB0byBwcmludCBvdXQuCittYWNy
byB0cmFjZU9wZXJhbmQoZnJvbVdoZXJlLCBvcGVyYW5kKQorICAgIG1vdmUgZnJvbVdoZXJlLCBh
MgorICAgIG1vdmUgb3BlcmFuZCwgYTMKKyAgICBtb3ZlIGNmciwgYTAKKyAgICBtb3ZlIFBDLCBh
MQorICAgIGNDYWxsNChfbGxpbnRfdHJhY2Vfb3BlcmFuZCkKKyAgICBtb3ZlIHIwLCBQQworICAg
IG1vdmUgcjEsIGNmcgorZW5kCisKKyMgRGVidWdnaW5nIG9wZXJhdGlvbiBpZiB5b3UnZCBsaWtl
IHRvIHByaW50IHRoZSB2YWx1ZSBvZiBhbiBvcGVyYW5kIGluIHRoZSBpbnN0cnVjdGlvbgorIyBz
dHJlYW0uIFNhbWUgYXMgdHJhY2VPcGVyYW5kKCksIGJ1dCBhc3N1bWVzIHRoYXQgdGhlIG9wZXJh
bmQgaXMgYSByZWdpc3RlciwgYW5kIHByaW50cyBpdHMKKyMgdmFsdWUuCittYWNybyB0cmFjZVZh
bHVlKGZyb21XaGVyZSwgb3BlcmFuZCkKKyAgICBtb3ZlIGZyb21XaGVyZSwgYTIKKyAgICBtb3Zl
IG9wZXJhbmQsIGEzCisgICAgbW92ZSBjZnIsIGEwCisgICAgbW92ZSBQQywgYTEKKyAgICBjQ2Fs
bDQoX2xsaW50X3RyYWNlX3ZhbHVlKQorICAgIG1vdmUgcjAsIFBDCisgICAgbW92ZSByMSwgY2Zy
CitlbmQKKworIyBDYWxsIGEgc2xvd1BhdGggZm9yIGNhbGwgb3Bjb2Rlcy4KK21hY3JvIGNhbGxD
YWxsU2xvd1BhdGgoc2xvd1BhdGgsIGFjdGlvbikKKyAgICBzdG9yZXAgUEMsIEFyZ3VtZW50Q291
bnQgKyBUYWdPZmZzZXRbY2ZyXQorICAgIG1vdmUgY2ZyLCBhMAorICAgIG1vdmUgUEMsIGExCisg
ICAgY0NhbGwyKHNsb3dQYXRoKQorICAgIGFjdGlvbihyMCwgcjEpCitlbmQKKworbWFjcm8gY2Fs
bFRyYXBIYW5kbGVyKHRocm93SGFuZGxlcikKKyAgICBzdG9yZWkgUEMsIEFyZ3VtZW50Q291bnQg
KyBUYWdPZmZzZXRbY2ZyXQorICAgIG1vdmUgY2ZyLCBhMAorICAgIG1vdmUgUEMsIGExCisgICAg
Y0NhbGwyKF9sbGludF9zbG93X3BhdGhfaGFuZGxlX3RyYXBzKQorICAgIGJ0cG56IHIwLCB0aHJv
d0hhbmRsZXIKKyAgICBsb2FkaSBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0sIFBDCitl
bmQKKworbWFjcm8gY2hlY2tTd2l0Y2hUb0pJVEZvckxvb3AoKQorICAgIGNoZWNrU3dpdGNoVG9K
SVQoCisgICAgICAgIDEsCisgICAgICAgIG1hY3JvICgpCisgICAgICAgICAgICBzdG9yZWkgUEMs
IEFyZ3VtZW50Q291bnQgKyBUYWdPZmZzZXRbY2ZyXQorICAgICAgICAgICAgbW92ZSBjZnIsIGEw
CisgICAgICAgICAgICBtb3ZlIFBDLCBhMQorICAgICAgICAgICAgY0NhbGwyKF9sbGludF9sb29w
X29zcikKKyAgICAgICAgICAgIGJ0cHogcjAsIC5yZWNvdmVyCisgICAgICAgICAgICBtb3ZlIHIx
LCBzcAorICAgICAgICAgICAgam1wIHIwCisgICAgICAgIC5yZWNvdmVyOgorICAgICAgICAgICAg
bG9hZGkgQXJndW1lbnRDb3VudCArIFRhZ09mZnNldFtjZnJdLCBQQworICAgICAgICBlbmQpCitl
bmQKKworbWFjcm8gbG9hZFZhcmlhYmxlKG9wZXJhbmQsIGluZGV4LCB0YWcsIHBheWxvYWQpCisg
ICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKG9wZXJhbmQsIGluZGV4KQorICAgIGxvYWRpIFRhZ09m
ZnNldFtjZnIsIGluZGV4LCA4XSwgdGFnCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIGlu
ZGV4LCA4XSwgcGF5bG9hZAorZW5kCisKKyMgSW5kZXgsIHRhZywgYW5kIHBheWxvYWQgbXVzdCBi
ZSBkaWZmZXJlbnQgcmVnaXN0ZXJzLiBJbmRleCBpcyBub3QKKyMgY2hhbmdlZC4KK21hY3JvIGxv
YWRDb25zdGFudE9yVmFyaWFibGUoaW5kZXgsIHRhZywgcGF5bG9hZCkKKyAgICBiaWd0ZXEgaW5k
ZXgsIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4LCAuY29uc3RhbnQKKyAgICBsb2FkaSBUYWdP
ZmZzZXRbY2ZyLCBpbmRleCwgOF0sIHRhZworICAgIGxvYWRpIFBheWxvYWRPZmZzZXRbY2ZyLCBp
bmRleCwgOF0sIHBheWxvYWQKKyAgICBqbXAgLmRvbmUKKy5jb25zdGFudDoKKyAgICBsb2FkcCBD
b2RlQmxvY2tbY2ZyXSwgcGF5bG9hZAorICAgIGxvYWRwIENvZGVCbG9jazo6bV9jb25zdGFudFJl
Z2lzdGVycyArIFZlY3RvckJ1ZmZlck9mZnNldFtwYXlsb2FkXSwgcGF5bG9hZAorICAgICMgVGhl
cmUgaXMgYSBiaXQgb2YgZXZpbCBoZXJlOiBpZiB0aGUgaW5kZXggY29udGFpbnMgYSB2YWx1ZSA+
PSBGaXJzdENvbnN0YW50UmVnaXN0ZXJJbmRleCwKKyAgICAjIHRoZW4gdmFsdWUgPDwgMyB3aWxs
IGJlIGVxdWFsIHRvICh2YWx1ZSAtIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4KSA8PCAzLgor
ICAgIGxvYWRwIFRhZ09mZnNldFtwYXlsb2FkLCBpbmRleCwgOF0sIHRhZworICAgIGxvYWRwIFBh
eWxvYWRPZmZzZXRbcGF5bG9hZCwgaW5kZXgsIDhdLCBwYXlsb2FkCisuZG9uZToKK2VuZAorCitt
YWNybyBsb2FkQ29uc3RhbnRPclZhcmlhYmxlVGFnKGluZGV4LCB0YWcpCisgICAgYmlndGVxIGlu
ZGV4LCBGaXJzdENvbnN0YW50UmVnaXN0ZXJJbmRleCwgLmNvbnN0YW50CisgICAgbG9hZGkgVGFn
T2Zmc2V0W2NmciwgaW5kZXgsIDhdLCB0YWcKKyAgICBqbXAgLmRvbmUKKy5jb25zdGFudDoKKyAg
ICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdGFnCisgICAgbG9hZHAgQ29kZUJsb2NrOjptX2NvbnN0
YW50UmVnaXN0ZXJzICsgVmVjdG9yQnVmZmVyT2Zmc2V0W3RhZ10sIHRhZworICAgICMgVGhlcmUg
aXMgYSBiaXQgb2YgZXZpbCBoZXJlOiBpZiB0aGUgaW5kZXggY29udGFpbnMgYSB2YWx1ZSA+PSBG
aXJzdENvbnN0YW50UmVnaXN0ZXJJbmRleCwKKyAgICAjIHRoZW4gdmFsdWUgPDwgMyB3aWxsIGJl
IGVxdWFsIHRvICh2YWx1ZSAtIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4KSA8PCAzLgorICAg
IGxvYWRwIFRhZ09mZnNldFt0YWcsIGluZGV4LCA4XSwgdGFnCisuZG9uZToKK2VuZAorCisjIElu
ZGV4IGFuZCBwYXlsb2FkIG1heSBiZSB0aGUgc2FtZSByZWdpc3Rlci4gSW5kZXggbWF5IGJlIGNs
b2JiZXJlZC4KK21hY3JvIGxvYWRDb25zdGFudE9yVmFyaWFibGUyUmVnKGluZGV4LCB0YWcsIHBh
eWxvYWQpCisgICAgYmlndGVxIGluZGV4LCBGaXJzdENvbnN0YW50UmVnaXN0ZXJJbmRleCwgLmNv
bnN0YW50CisgICAgbG9hZGkgVGFnT2Zmc2V0W2NmciwgaW5kZXgsIDhdLCB0YWcKKyAgICBsb2Fk
aSBQYXlsb2FkT2Zmc2V0W2NmciwgaW5kZXgsIDhdLCBwYXlsb2FkCisgICAgam1wIC5kb25lCisu
Y29uc3RhbnQ6CisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHRhZworICAgIGxvYWRwIENvZGVC
bG9jazo6bV9jb25zdGFudFJlZ2lzdGVycyArIFZlY3RvckJ1ZmZlck9mZnNldFt0YWddLCB0YWcK
KyAgICAjIFRoZXJlIGlzIGEgYml0IG9mIGV2aWwgaGVyZTogaWYgdGhlIGluZGV4IGNvbnRhaW5z
IGEgdmFsdWUgPj0gRmlyc3RDb25zdGFudFJlZ2lzdGVySW5kZXgsCisgICAgIyB0aGVuIHZhbHVl
IDw8IDMgd2lsbCBiZSBlcXVhbCB0byAodmFsdWUgLSBGaXJzdENvbnN0YW50UmVnaXN0ZXJJbmRl
eCkgPDwgMy4KKyAgICBsc2hpZnRpIDMsIGluZGV4CisgICAgYWRkcCBpbmRleCwgdGFnCisgICAg
bG9hZHAgUGF5bG9hZE9mZnNldFt0YWddLCBwYXlsb2FkCisgICAgbG9hZHAgVGFnT2Zmc2V0W3Rh
Z10sIHRhZworLmRvbmU6CitlbmQKKworbWFjcm8gbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxv
YWRUYWdDdXN0b20oaW5kZXgsIHRhZ0NoZWNrLCBwYXlsb2FkKQorICAgIGJpZ3RlcSBpbmRleCwg
Rmlyc3RDb25zdGFudFJlZ2lzdGVySW5kZXgsIC5jb25zdGFudAorICAgIHRhZ0NoZWNrKFRhZ09m
ZnNldFtjZnIsIGluZGV4LCA4XSkKKyAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2NmciwgaW5kZXgs
IDhdLCBwYXlsb2FkCisgICAgam1wIC5kb25lCisuY29uc3RhbnQ6CisgICAgbG9hZHAgQ29kZUJs
b2NrW2Nmcl0sIHBheWxvYWQKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fY29uc3RhbnRSZWdpc3Rl
cnMgKyBWZWN0b3JCdWZmZXJPZmZzZXRbcGF5bG9hZF0sIHBheWxvYWQKKyAgICAjIFRoZXJlIGlz
IGEgYml0IG9mIGV2aWwgaGVyZTogaWYgdGhlIGluZGV4IGNvbnRhaW5zIGEgdmFsdWUgPj0gRmly
c3RDb25zdGFudFJlZ2lzdGVySW5kZXgsCisgICAgIyB0aGVuIHZhbHVlIDw8IDMgd2lsbCBiZSBl
cXVhbCB0byAodmFsdWUgLSBGaXJzdENvbnN0YW50UmVnaXN0ZXJJbmRleCkgPDwgMy4KKyAgICB0
YWdDaGVjayhUYWdPZmZzZXRbcGF5bG9hZCwgaW5kZXgsIDhdKQorICAgIGxvYWRwIFBheWxvYWRP
ZmZzZXRbcGF5bG9hZCwgaW5kZXgsIDhdLCBwYXlsb2FkCisuZG9uZToKK2VuZAorCisjIEluZGV4
IGFuZCBwYXlsb2FkIG11c3QgYmUgZGlmZmVyZW50IHJlZ2lzdGVycy4gSW5kZXggaXMgbm90IG11
dGF0ZWQuIFVzZQorIyB0aGlzIGlmIHlvdSBrbm93IHdoYXQgdGhlIHRhZyBvZiB0aGUgdmFyaWFi
bGUgc2hvdWxkIGJlLiBEb2luZyB0aGUgdGFnCisjIHRlc3QgYXMgcGFydCBvZiBsb2FkaW5nIHRo
ZSB2YXJpYWJsZSByZWR1Y2VzIHJlZ2lzdGVyIHVzZSwgYnV0IG1heSBub3QKKyMgYmUgZmFzdGVy
IHRoYW4gZG9pbmcgbG9hZENvbnN0YW50T3JWYXJpYWJsZSBmb2xsb3dlZCBieSBhIGJyYW5jaCBv
biB0aGUKKyMgdGFnLgorbWFjcm8gbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQoaW5kZXgs
IGV4cGVjdGVkVGFnLCBwYXlsb2FkLCBzbG93KQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQ
YXlsb2FkVGFnQ3VzdG9tKAorICAgICAgICBpbmRleCwKKyAgICAgICAgbWFjcm8gKGFjdHVhbFRh
ZykgYmluZXEgYWN0dWFsVGFnLCBleHBlY3RlZFRhZywgc2xvdyBlbmQsCisgICAgICAgIHBheWxv
YWQpCitlbmQKKworbWFjcm8gbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWRVbmNoZWNrZWQo
aW5kZXgsIHBheWxvYWQpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWRUYWdDdXN0
b20oCisgICAgICAgIGluZGV4LAorICAgICAgICBtYWNybyAoYWN0dWFsVGFnKSBlbmQsCisgICAg
ICAgIHBheWxvYWQpCitlbmQKKworbWFjcm8gd3JpdGVCYXJyaWVyT25PcGVyYW5kKGNlbGxPcGVy
YW5kKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbihjZWxsT3BlcmFuZCwgdDEpCisgICAgbG9h
ZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQodDEsIENlbGxUYWcsIHQyLCAud3JpdGVCYXJyaWVy
RG9uZSkKKyAgICBza2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbigKKyAgICAgICAgdDIsIAorICAg
ICAgICBtYWNybygpCisgICAgICAgICAgICBwdXNoIGNmciwgUEMKKyAgICAgICAgICAgICMgV2Ug
bWFrZSB0d28gZXh0cmEgc2xvdHMgYmVjYXVzZSBjQ2FsbDIgd2lsbCBwb2tlLgorICAgICAgICAg
ICAgc3VicCA4LCBzcAorICAgICAgICAgICAgbW92ZSB0MiwgYTEgIyB0MiBjYW4gYmUgYTAgb24g
eDg2CisgICAgICAgICAgICBtb3ZlIGNmciwgYTAKKyAgICAgICAgICAgIGNDYWxsMlZvaWQoX2xs
aW50X3dyaXRlX2JhcnJpZXJfc2xvdykKKyAgICAgICAgICAgIGFkZHAgOCwgc3AKKyAgICAgICAg
ICAgIHBvcCBQQywgY2ZyCisgICAgICAgIGVuZCkKKy53cml0ZUJhcnJpZXJEb25lOgorZW5kCisK
K21hY3JvIHdyaXRlQmFycmllck9uT3BlcmFuZHMoY2VsbE9wZXJhbmQsIHZhbHVlT3BlcmFuZCkK
KyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24odmFsdWVPcGVyYW5kLCB0MSkKKyAgICBsb2FkQ29u
c3RhbnRPclZhcmlhYmxlVGFnKHQxLCB0MCkKKyAgICBiaW5lcSB0MCwgQ2VsbFRhZywgLndyaXRl
QmFycmllckRvbmUKKworICAgIHdyaXRlQmFycmllck9uT3BlcmFuZChjZWxsT3BlcmFuZCkKKy53
cml0ZUJhcnJpZXJEb25lOgorZW5kCisKK21hY3JvIHdyaXRlQmFycmllck9uR2xvYmFsKHZhbHVl
T3BlcmFuZCwgbG9hZEhlbHBlcikKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24odmFsdWVPcGVy
YW5kLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlVGFnKHQxLCB0MCkKKyAgICBiaW5l
cSB0MCwgQ2VsbFRhZywgLndyaXRlQmFycmllckRvbmUKKworICAgIGxvYWRIZWxwZXIodDMpCisK
KyAgICBza2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbigKKyAgICAgICAgdDMsCisgICAgICAgIG1h
Y3JvKCkKKyAgICAgICAgICAgIHB1c2ggY2ZyLCBQQworICAgICAgICAgICAgIyBXZSBtYWtlIHR3
byBleHRyYSBzbG90cyBiZWNhdXNlIGNDYWxsMiB3aWxsIHBva2UuCisgICAgICAgICAgICBzdWJw
IDgsIHNwCisgICAgICAgICAgICBtb3ZlIGNmciwgYTAKKyAgICAgICAgICAgIG1vdmUgdDMsIGEx
CisgICAgICAgICAgICBjQ2FsbDJWb2lkKF9sbGludF93cml0ZV9iYXJyaWVyX3Nsb3cpCisgICAg
ICAgICAgICBhZGRwIDgsIHNwCisgICAgICAgICAgICBwb3AgUEMsIGNmcgorICAgICAgICBlbmQp
Cisud3JpdGVCYXJyaWVyRG9uZToKK2VuZAorCittYWNybyB3cml0ZUJhcnJpZXJPbkdsb2JhbE9i
amVjdCh2YWx1ZU9wZXJhbmQpCisgICAgd3JpdGVCYXJyaWVyT25HbG9iYWwodmFsdWVPcGVyYW5k
LAorICAgICAgICBtYWNybyhyZWdpc3RlclRvU3RvcmVHbG9iYWwpCisgICAgICAgICAgICBsb2Fk
cCBDb2RlQmxvY2tbY2ZyXSwgcmVnaXN0ZXJUb1N0b3JlR2xvYmFsCisgICAgICAgICAgICBsb2Fk
cCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2JqZWN0W3JlZ2lzdGVyVG9TdG9yZUdsb2JhbF0sIHJlZ2lz
dGVyVG9TdG9yZUdsb2JhbAorICAgICAgICBlbmQpCitlbmQKKworbWFjcm8gd3JpdGVCYXJyaWVy
T25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQodmFsdWVPcGVyYW5kKQorICAgIHdyaXRlQmFycmll
ck9uR2xvYmFsKHZhbHVlT3BlcmFuZCwKKyAgICAgICAgbWFjcm8ocmVnaXN0ZXJUb1N0b3JlR2xv
YmFsKQorICAgICAgICAgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHJlZ2lzdGVyVG9TdG9yZUds
b2JhbAorICAgICAgICAgICAgbG9hZHAgQ29kZUJsb2NrOjptX2dsb2JhbE9iamVjdFtyZWdpc3Rl
clRvU3RvcmVHbG9iYWxdLCByZWdpc3RlclRvU3RvcmVHbG9iYWwKKyAgICAgICAgICAgIGxvYWRw
IEpTR2xvYmFsT2JqZWN0OjptX2dsb2JhbExleGljYWxFbnZpcm9ubWVudFtyZWdpc3RlclRvU3Rv
cmVHbG9iYWxdLCByZWdpc3RlclRvU3RvcmVHbG9iYWwKKyAgICAgICAgZW5kKQorZW5kCisKK21h
Y3JvIHZhbHVlUHJvZmlsZSh0YWcsIHBheWxvYWQsIG9wZXJhbmQsIHNjcmF0Y2gpCisgICAgbG9h
ZHAgb3BlcmFuZFtQQ10sIHNjcmF0Y2gKKyAgICBzdG9yZWkgdGFnLCBWYWx1ZVByb2ZpbGU6Om1f
YnVja2V0cyArIFRhZ09mZnNldFtzY3JhdGNoXQorICAgIHN0b3JlaSBwYXlsb2FkLCBWYWx1ZVBy
b2ZpbGU6Om1fYnVja2V0cyArIFBheWxvYWRPZmZzZXRbc2NyYXRjaF0KK2VuZAorCisKKyMgRW50
cnlwb2ludHMgaW50byB0aGUgaW50ZXJwcmV0ZXIKKworIyBFeHBlY3RzIHRoYXQgQ29kZUJsb2Nr
IGlzIGluIHQxLCB3aGljaCBpcyB3aGF0IHByb2xvZ3VlKCkgbGVhdmVzIGJlaGluZC4KK21hY3Jv
IGZ1bmN0aW9uQXJpdHlDaGVjayhkb25lTGFiZWwsIHNsb3dQYXRoKQorICAgIGxvYWRpIFBheWxv
YWRPZmZzZXQgKyBBcmd1bWVudENvdW50W2Nmcl0sIHQwCisgICAgYmlhZXEgdDAsIENvZGVCbG9j
azo6bV9udW1QYXJhbWV0ZXJzW3QxXSwgZG9uZUxhYmVsCisgICAgbW92ZSBjZnIsIGEwCisgICAg
bW92ZSBQQywgYTEKKyAgICBjQ2FsbDIoc2xvd1BhdGgpICAgIyBUaGlzIHNsb3dQYXRoIGhhcyBh
IHNpbXBsZSBwcm90b2NvbDogdDAgPSAwID0+IG5vIGVycm9yLCB0MCAhPSAwID0+IGVycm9yCisg
ICAgYnRpeiByMCwgLm5vRXJyb3IKKyAgICBtb3ZlIHIxLCBjZnIgICAjIHIxIGNvbnRhaW5zIGNh
bGxlciBmcmFtZQorICAgIGptcCBfbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGlu
ZQorCisubm9FcnJvcjoKKyAgICAjIHIxIHBvaW50cyB0byBBcml0eUNoZWNrRGF0YS4KKyAgICBs
b2FkcCBDb21tb25TbG93UGF0aHM6OkFyaXR5Q2hlY2tEYXRhOjp0aHVua1RvQ2FsbFtyMV0sIHQz
CisgICAgYnRweiB0MywgLnByb2NlZWRJbmxpbmUKKyAgICAKKyAgICBsb2FkcCBDb21tb25TbG93
UGF0aHM6OkFyaXR5Q2hlY2tEYXRhOjpwYWRkZWRTdGFja1NwYWNlW3IxXSwgYTAKKyAgICBjYWxs
IHQzCisgICAgaWYgQVNTRVJUX0VOQUJMRUQKKyAgICAgICAgbG9hZHAgUmV0dXJuUENbY2ZyXSwg
dDAKKyAgICAgICAgbG9hZHAgW3QwXSwgdDAKKyAgICBlbmQKKyAgICBqbXAgLmNvbnRpbnVlCisK
Ky5wcm9jZWVkSW5saW5lOgorICAgIGxvYWRpIENvbW1vblNsb3dQYXRoczo6QXJpdHlDaGVja0Rh
dGE6OnBhZGRlZFN0YWNrU3BhY2VbcjFdLCB0MQorICAgIGJ0aXogdDEsIC5jb250aW51ZQorICAg
IGxvYWRpIFBheWxvYWRPZmZzZXQgKyBBcmd1bWVudENvdW50W2Nmcl0sIHQyCisgICAgYWRkaSBD
YWxsRnJhbWVIZWFkZXJTbG90cywgdDIKKworICAgIC8vIENoZWNrIGlmIHRoZXJlIGFyZSBzb21l
IHVuYWxpZ25lZCBzbG90cyB3ZSBjYW4gdXNlCisgICAgbW92ZSB0MSwgdDMKKyAgICBhbmRpIFN0
YWNrQWxpZ25tZW50U2xvdHMgLSAxLCB0MworICAgIGJ0aXogdDMsIC5ub0V4dHJhU2xvdAorLmZp
bGxFeHRyYVNsb3RzOgorICAgIG1vdmUgMCwgdDAKKyAgICBzdG9yZWkgdDAsIFBheWxvYWRPZmZz
ZXRbY2ZyLCB0MiwgOF0KKyAgICBtb3ZlIFVuZGVmaW5lZFRhZywgdDAKKyAgICBzdG9yZWkgdDAs
IFRhZ09mZnNldFtjZnIsIHQyLCA4XQorICAgIGFkZGkgMSwgdDIKKyAgICBic3ViaW56IDEsIHQz
LCAuZmlsbEV4dHJhU2xvdHMKKyAgICBhbmRpIH4oU3RhY2tBbGlnbm1lbnRTbG90cyAtIDEpLCB0
MQorICAgIGJ0aXogdDEsIC5jb250aW51ZQorCisubm9FeHRyYVNsb3Q6CisgICAgLy8gTW92ZSBm
cmFtZSB1cCB0MSBzbG90cworICAgIG5lZ2kgdDEKKyAgICBtb3ZlIGNmciwgdDMKKyAgICBtb3Zl
IHQxLCB0MAorICAgIGxzaGlmdHAgMywgdDAKKyAgICBhZGRwIHQwLCBjZnIKKyAgICBhZGRwIHQw
LCBzcAorLmNvcHlMb29wOgorICAgIGxvYWRpIFBheWxvYWRPZmZzZXRbdDNdLCB0MAorICAgIHN0
b3JlaSB0MCwgUGF5bG9hZE9mZnNldFt0MywgdDEsIDhdCisgICAgbG9hZGkgVGFnT2Zmc2V0W3Qz
XSwgdDAKKyAgICBzdG9yZWkgdDAsIFRhZ09mZnNldFt0MywgdDEsIDhdCisgICAgYWRkcCA4LCB0
MworICAgIGJzdWJpbnogMSwgdDIsIC5jb3B5TG9vcAorCisgICAgLy8gRmlsbCBuZXcgc2xvdHMg
d2l0aCBKU1VuZGVmaW5lZAorICAgIG1vdmUgdDEsIHQyCisuZmlsbExvb3A6CisgICAgbW92ZSAw
LCB0MAorICAgIHN0b3JlaSB0MCwgUGF5bG9hZE9mZnNldFt0MywgdDEsIDhdCisgICAgbW92ZSBV
bmRlZmluZWRUYWcsIHQwCisgICAgc3RvcmVpIHQwLCBUYWdPZmZzZXRbdDMsIHQxLCA4XQorICAg
IGFkZHAgOCwgdDMKKyAgICBiYWRkaW56IDEsIHQyLCAuZmlsbExvb3AKKworLmNvbnRpbnVlOgor
ICAgICMgUmVsb2FkIENvZGVCbG9jayBhbmQgUEMsIHNpbmNlIHRoZSBzbG93X3BhdGggY2xvYmJl
cmVkIGl0LgorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MQorICAgIGxvYWRwIENvZGVCbG9j
azo6bV9pbnN0cnVjdGlvbnNbdDFdLCBQQworICAgIGptcCBkb25lTGFiZWwKK2VuZAorCittYWNy
byBicmFuY2hJZkV4Y2VwdGlvbihsYWJlbCkKKyAgICBsb2FkcCBDYWxsZWUgKyBQYXlsb2FkT2Zm
c2V0W2Nmcl0sIHQzCisgICAgYW5kcCBNYXJrZWRCbG9ja01hc2ssIHQzCisgICAgbG9hZHAgTWFy
a2VkQmxvY2s6Om1fdm1bdDNdLCB0MworICAgIGJ0aXogVk06Om1fZXhjZXB0aW9uW3QzXSwgLm5v
RXhjZXB0aW9uCisgICAgam1wIGxhYmVsCisubm9FeGNlcHRpb246CitlbmQKKworCisjIEluc3Ry
dWN0aW9uIGltcGxlbWVudGF0aW9ucworCitfbGxpbnRfb3BfZW50ZXI6CisgICAgdHJhY2VFeGVj
dXRpb24oKQorICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHQyLCAweGRlYWQwMGUxKQor
ICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MiAgICAgICAgICAgICAgICAvLyB0MjxDb2RlQmxv
Y2s+ID0gY2ZyLkNvZGVCbG9jaworICAgIGxvYWRpIENvZGVCbG9jazo6bV9udW1WYXJzW3QyXSwg
dDIgICAgICAvLyB0MjxzaXplX3Q+ID0gdDI8Q29kZUJsb2NrPi5tX251bVZhcnMKKyAgICBidGl6
IHQyLCAub3BFbnRlckRvbmUKKyAgICBtb3ZlIFVuZGVmaW5lZFRhZywgdDAKKyAgICBtb3ZlIDAs
IHQxCisgICAgbmVnaSB0MgorLm9wRW50ZXJMb29wOgorICAgIHN0b3JlaSB0MCwgVGFnT2Zmc2V0
W2NmciwgdDIsIDhdCisgICAgc3RvcmVpIHQxLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDIsIDhdCisg
ICAgYWRkaSAxLCB0MgorICAgIGJ0aW56IHQyLCAub3BFbnRlckxvb3AKKy5vcEVudGVyRG9uZToK
KyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9lbnRlcikKKyAgICBkaXNwYXRjaChj
b25zdGV4cHIgb3BfZW50ZXJfbGVuZ3RoKQorCisKK19sbGludF9vcF9nZXRfYXJndW1lbnQ6Cisg
ICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKKyAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDIpCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldCAr
IEFyZ3VtZW50Q291bnRbY2ZyXSwgdDAKKyAgICBiaWx0ZXEgdDAsIHQyLCAub3BHZXRBcmd1bWVu
dE91dE9mQm91bmRzCisgICAgbG9hZGkgVGhpc0FyZ3VtZW50T2Zmc2V0ICsgVGFnT2Zmc2V0W2Nm
ciwgdDIsIDhdLCB0MAorICAgIGxvYWRpIFRoaXNBcmd1bWVudE9mZnNldCArIFBheWxvYWRPZmZz
ZXRbY2ZyLCB0MiwgOF0sIHQzCisgICAgc3RvcmVpIHQwLCBUYWdPZmZzZXRbY2ZyLCB0MSwgOF0K
KyAgICBzdG9yZWkgdDMsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MSwgOF0KKyAgICB2YWx1ZVByb2Zp
bGUodDAsIHQzLCAxMiwgdDEpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9hcmd1bWVu
dF9sZW5ndGgpCisKKy5vcEdldEFyZ3VtZW50T3V0T2ZCb3VuZHM6CisgICAgc3RvcmVpIFVuZGVm
aW5lZFRhZywgVGFnT2Zmc2V0W2NmciwgdDEsIDhdCisgICAgc3RvcmVpIDAsIFBheWxvYWRPZmZz
ZXRbY2ZyLCB0MSwgOF0KKyAgICB2YWx1ZVByb2ZpbGUoVW5kZWZpbmVkVGFnLCAwLCAxMiwgdDEp
CisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9hcmd1bWVudF9sZW5ndGgpCisKKworX2xs
aW50X29wX2FyZ3VtZW50X2NvdW50OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24oMSwgdDIpCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldCArIEFyZ3VtZW50
Q291bnRbY2ZyXSwgdDAKKyAgICBzdWJpIDEsIHQwCisgICAgbW92ZSBJbnQzMlRhZywgdDEKKyAg
ICBzdG9yZWkgdDEsIFRhZ09mZnNldFtjZnIsIHQyLCA4XQorICAgIHN0b3JlaSB0MCwgUGF5bG9h
ZE9mZnNldFtjZnIsIHQyLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9hcmd1bWVudF9j
b3VudF9sZW5ndGgpCisKKworX2xsaW50X29wX2dldF9zY29wZToKKyAgICB0cmFjZUV4ZWN1dGlv
bigpCisgICAgbG9hZGkgQ2FsbGVlICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0MAorICAgIGxvYWRp
IEpTQ2FsbGVlOjptX3Njb3BlW3QwXSwgdDAKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwg
dDEpCisgICAgc3RvcmVpIENlbGxUYWcsIFRhZ09mZnNldFtjZnIsIHQxLCA4XQorICAgIHN0b3Jl
aSB0MCwgUGF5bG9hZE9mZnNldFtjZnIsIHQxLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBv
cF9nZXRfc2NvcGVfbGVuZ3RoKQorCisKK19sbGludF9vcF90b190aGlzOgorICAgIHRyYWNlRXhl
Y3V0aW9uKCkKKyAgICBsb2FkaSA0W1BDXSwgdDAKKyAgICBiaW5lcSBUYWdPZmZzZXRbY2ZyLCB0
MCwgOF0sIENlbGxUYWcsIC5vcFRvVGhpc1Nsb3cKKyAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2Nm
ciwgdDAsIDhdLCB0MAorICAgIGJibmVxIEpTQ2VsbDo6bV90eXBlW3QwXSwgRmluYWxPYmplY3RU
eXBlLCAub3BUb1RoaXNTbG93CisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oMiwgdDIpCisgICAg
YnBuZXEgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QwXSwgdDIsIC5vcFRvVGhpc1Nsb3cKKyAgICBk
aXNwYXRjaChjb25zdGV4cHIgb3BfdG9fdGhpc19sZW5ndGgpCisKKy5vcFRvVGhpc1Nsb3c6Cisg
ICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfdG9fdGhpcykKKyAgICBkaXNwYXRjaChj
b25zdGV4cHIgb3BfdG9fdGhpc19sZW5ndGgpCisKKworX2xsaW50X29wX2NoZWNrX3RkejoKKyAg
ICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKQorICAg
IGxvYWRDb25zdGFudE9yVmFyaWFibGVUYWcodDAsIHQxKQorICAgIGJpbmVxIHQxLCBFbXB0eVZh
bHVlVGFnLCAub3BOb3RURFoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF90aHJv
d190ZHpfZXJyb3IpCisKKy5vcE5vdFREWjoKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfY2hl
Y2tfdGR6X2xlbmd0aCkKKworCitfbGxpbnRfb3BfbW92OgorICAgIHRyYWNlRXhlY3V0aW9uKCkK
KyAgICBsb2FkaSA4W1BDXSwgdDEKKyAgICBsb2FkaSA0W1BDXSwgdDAKKyAgICBsb2FkQ29uc3Rh
bnRPclZhcmlhYmxlKHQxLCB0MiwgdDMpCisgICAgc3RvcmVpIHQyLCBUYWdPZmZzZXRbY2ZyLCB0
MCwgOF0KKyAgICBzdG9yZWkgdDMsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MCwgOF0KKyAgICBkaXNw
YXRjaChjb25zdGV4cHIgb3BfbW92X2xlbmd0aCkKKworCitfbGxpbnRfb3Bfbm90OgorICAgIHRy
YWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSA4W1BDXSwgdDAKKyAgICBsb2FkaSA0W1BDXSwgdDEK
KyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQwLCB0MiwgdDMpCisgICAgYmluZXEgdDIsIEJv
b2xlYW5UYWcsIC5vcE5vdFNsb3cKKyAgICB4b3JpIDEsIHQzCisgICAgc3RvcmVpIHQyLCBUYWdP
ZmZzZXRbY2ZyLCB0MSwgOF0KKyAgICBzdG9yZWkgdDMsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MSwg
OF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3Bfbm90X2xlbmd0aCkKKworLm9wTm90U2xvdzoK
KyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9ub3QpCisgICAgZGlzcGF0Y2goY29u
c3RleHByIG9wX25vdF9sZW5ndGgpCisKKworX2xsaW50X29wX2VxOgorICAgIHRyYWNlRXhlY3V0
aW9uKCkKKyAgICBsb2FkaSAxMltQQ10sIHQyCisgICAgbG9hZGkgOFtQQ10sIHQwCisgICAgbG9h
ZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDMsIHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFi
bGUyUmVnKHQwLCB0MiwgdDApCisgICAgYmluZXEgdDIsIHQzLCAub3BFcVNsb3cKKyAgICBiaWVx
IHQyLCBDZWxsVGFnLCAub3BFcVNsb3cKKyAgICBiaWIgdDIsIExvd2VzdFRhZywgLm9wRXFTbG93
CisgICAgbG9hZGkgNFtQQ10sIHQyCisgICAgY2llcSB0MCwgdDEsIHQwCisgICAgc3RvcmVpIEJv
b2xlYW5UYWcsIFRhZ09mZnNldFtjZnIsIHQyLCA4XQorICAgIHN0b3JlaSB0MCwgUGF5bG9hZE9m
ZnNldFtjZnIsIHQyLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9lcV9sZW5ndGgpCisK
Ky5vcEVxU2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9lcSkKKyAgICBk
aXNwYXRjaChjb25zdGV4cHIgb3BfZXFfbGVuZ3RoKQorCisKK19sbGludF9vcF9lcV9udWxsOgor
ICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSA4W1BDXSwgdDAKKyAgICBsb2FkaSA0W1BD
XSwgdDMKKyAgICBhc3NlcnROb3RDb25zdGFudCh0MCkKKyAgICBsb2FkaSBUYWdPZmZzZXRbY2Zy
LCB0MCwgOF0sIHQxCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSwgdDAKKyAg
ICBiaW5lcSB0MSwgQ2VsbFRhZywgLm9wRXFOdWxsSW1tZWRpYXRlCisgICAgYnRibnogSlNDZWxs
OjptX2ZsYWdzW3QwXSwgTWFzcXVlcmFkZXNBc1VuZGVmaW5lZCwgLm9wRXFOdWxsTWFzcXVlcmFk
ZXNBc1VuZGVmaW5lZAorICAgIG1vdmUgMCwgdDEKKyAgICBqbXAgLm9wRXFOdWxsTm90SW1tZWRp
YXRlCisub3BFcU51bGxNYXNxdWVyYWRlc0FzVW5kZWZpbmVkOgorICAgIGxvYWRwIEpTQ2VsbDo6
bV9zdHJ1Y3R1cmVJRFt0MF0sIHQxCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQwCisgICAg
bG9hZHAgQ29kZUJsb2NrOjptX2dsb2JhbE9iamVjdFt0MF0sIHQwCisgICAgY3BlcSBTdHJ1Y3R1
cmU6Om1fZ2xvYmFsT2JqZWN0W3QxXSwgdDAsIHQxCisgICAgam1wIC5vcEVxTnVsbE5vdEltbWVk
aWF0ZQorLm9wRXFOdWxsSW1tZWRpYXRlOgorICAgIGNpZXEgdDEsIE51bGxUYWcsIHQyCisgICAg
Y2llcSB0MSwgVW5kZWZpbmVkVGFnLCB0MQorICAgIG9yaSB0MiwgdDEKKy5vcEVxTnVsbE5vdElt
bWVkaWF0ZToKKyAgICBzdG9yZWkgQm9vbGVhblRhZywgVGFnT2Zmc2V0W2NmciwgdDMsIDhdCisg
ICAgc3RvcmVpIHQxLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDMsIDhdCisgICAgZGlzcGF0Y2goY29u
c3RleHByIG9wX2VxX251bGxfbGVuZ3RoKQorCisKK19sbGludF9vcF9uZXE6CisgICAgdHJhY2VF
eGVjdXRpb24oKQorICAgIGxvYWRpIDEyW1BDXSwgdDIKKyAgICBsb2FkaSA4W1BDXSwgdDAKKyAg
ICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQyLCB0MywgdDEpCisgICAgbG9hZENvbnN0YW50T3JW
YXJpYWJsZTJSZWcodDAsIHQyLCB0MCkKKyAgICBiaW5lcSB0MiwgdDMsIC5vcE5lcVNsb3cKKyAg
ICBiaWVxIHQyLCBDZWxsVGFnLCAub3BOZXFTbG93CisgICAgYmliIHQyLCBMb3dlc3RUYWcsIC5v
cE5lcVNsb3cKKyAgICBsb2FkaSA0W1BDXSwgdDIKKyAgICBjaW5lcSB0MCwgdDEsIHQwCisgICAg
c3RvcmVpIEJvb2xlYW5UYWcsIFRhZ09mZnNldFtjZnIsIHQyLCA4XQorICAgIHN0b3JlaSB0MCwg
UGF5bG9hZE9mZnNldFtjZnIsIHQyLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9uZXFf
bGVuZ3RoKQorCisub3BOZXFTbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRo
X25lcSkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfbmVxX2xlbmd0aCkKKyAgICAKKworX2xs
aW50X29wX25lcV9udWxsOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSA4W1BDXSwg
dDAKKyAgICBsb2FkaSA0W1BDXSwgdDMKKyAgICBhc3NlcnROb3RDb25zdGFudCh0MCkKKyAgICBs
b2FkaSBUYWdPZmZzZXRbY2ZyLCB0MCwgOF0sIHQxCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtj
ZnIsIHQwLCA4XSwgdDAKKyAgICBiaW5lcSB0MSwgQ2VsbFRhZywgLm9wTmVxTnVsbEltbWVkaWF0
ZQorICAgIGJ0Ym56IEpTQ2VsbDo6bV9mbGFnc1t0MF0sIE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQs
IC5vcE5lcU51bGxNYXNxdWVyYWRlc0FzVW5kZWZpbmVkCisgICAgbW92ZSAxLCB0MQorICAgIGpt
cCAub3BOZXFOdWxsTm90SW1tZWRpYXRlCisub3BOZXFOdWxsTWFzcXVlcmFkZXNBc1VuZGVmaW5l
ZDoKKyAgICBsb2FkcCBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDBdLCB0MQorICAgIGxvYWRwIENv
ZGVCbG9ja1tjZnJdLCB0MAorICAgIGxvYWRwIENvZGVCbG9jazo6bV9nbG9iYWxPYmplY3RbdDBd
LCB0MAorICAgIGNwbmVxIFN0cnVjdHVyZTo6bV9nbG9iYWxPYmplY3RbdDFdLCB0MCwgdDEKKyAg
ICBqbXAgLm9wTmVxTnVsbE5vdEltbWVkaWF0ZQorLm9wTmVxTnVsbEltbWVkaWF0ZToKKyAgICBj
aW5lcSB0MSwgTnVsbFRhZywgdDIKKyAgICBjaW5lcSB0MSwgVW5kZWZpbmVkVGFnLCB0MQorICAg
IGFuZGkgdDIsIHQxCisub3BOZXFOdWxsTm90SW1tZWRpYXRlOgorICAgIHN0b3JlaSBCb29sZWFu
VGFnLCBUYWdPZmZzZXRbY2ZyLCB0MywgOF0KKyAgICBzdG9yZWkgdDEsIFBheWxvYWRPZmZzZXRb
Y2ZyLCB0MywgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfbmVxX251bGxfbGVuZ3RoKQor
CisKK21hY3JvIHN0cmljdEVxKGVxdWFsaXR5T3BlcmF0aW9uLCBzbG93UGF0aCkKKyAgICBsb2Fk
aSAxMltQQ10sIHQyCisgICAgbG9hZGkgOFtQQ10sIHQwCisgICAgbG9hZENvbnN0YW50T3JWYXJp
YWJsZSh0MiwgdDMsIHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUyUmVnKHQwLCB0Miwg
dDApCisgICAgYmluZXEgdDIsIHQzLCAuc2xvdworICAgIGJpYiB0MiwgTG93ZXN0VGFnLCAuc2xv
dworICAgIGJpbmVxIHQyLCBDZWxsVGFnLCAubm90U3RyaW5nT3JTeW1ib2wKKyAgICBiYmFlcSBK
U0NlbGw6Om1fdHlwZVt0MF0sIE9iamVjdFR5cGUsIC5ub3RTdHJpbmdPclN5bWJvbAorICAgIGJi
YiBKU0NlbGw6Om1fdHlwZVt0MV0sIE9iamVjdFR5cGUsIC5zbG93Cisubm90U3RyaW5nT3JTeW1i
b2w6CisgICAgbG9hZGkgNFtQQ10sIHQyCisgICAgZXF1YWxpdHlPcGVyYXRpb24odDAsIHQxLCB0
MCkKKyAgICBzdG9yZWkgQm9vbGVhblRhZywgVGFnT2Zmc2V0W2NmciwgdDIsIDhdCisgICAgc3Rv
cmVpIHQwLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDIsIDhdCisgICAgZGlzcGF0Y2goNCkKKworLnNs
b3c6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKHNsb3dQYXRoKQorICAgIGRpc3BhdGNoKDQpCitl
bmQKKworX2xsaW50X29wX3N0cmljdGVxOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBzdHJp
Y3RFcShtYWNybyAobGVmdCwgcmlnaHQsIHJlc3VsdCkgY2llcSBsZWZ0LCByaWdodCwgcmVzdWx0
IGVuZCwgX3Nsb3dfcGF0aF9zdHJpY3RlcSkKKworCitfbGxpbnRfb3BfbnN0cmljdGVxOgorICAg
IHRyYWNlRXhlY3V0aW9uKCkKKyAgICBzdHJpY3RFcShtYWNybyAobGVmdCwgcmlnaHQsIHJlc3Vs
dCkgY2luZXEgbGVmdCwgcmlnaHQsIHJlc3VsdCBlbmQsIF9zbG93X3BhdGhfbnN0cmljdGVxKQor
CisKK19sbGludF9vcF9pbmM6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpIDRbUENd
LCB0MAorICAgIGJpbmVxIFRhZ09mZnNldFtjZnIsIHQwLCA4XSwgSW50MzJUYWcsIC5vcEluY1Ns
b3cKKyAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdLCB0MQorICAgIGJhZGRpbyAx
LCB0MSwgLm9wSW5jU2xvdworICAgIHN0b3JlaSB0MSwgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4
XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9pbmNfbGVuZ3RoKQorCisub3BJbmNTbG93Ogor
ICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2luYykKKyAgICBkaXNwYXRjaChjb25z
dGV4cHIgb3BfaW5jX2xlbmd0aCkKKworCitfbGxpbnRfb3BfZGVjOgorICAgIHRyYWNlRXhlY3V0
aW9uKCkKKyAgICBsb2FkaSA0W1BDXSwgdDAKKyAgICBiaW5lcSBUYWdPZmZzZXRbY2ZyLCB0MCwg
OF0sIEludDMyVGFnLCAub3BEZWNTbG93CisgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIHQw
LCA4XSwgdDEKKyAgICBic3ViaW8gMSwgdDEsIC5vcERlY1Nsb3cKKyAgICBzdG9yZWkgdDEsIFBh
eWxvYWRPZmZzZXRbY2ZyLCB0MCwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZGVjX2xl
bmd0aCkKKworLm9wRGVjU2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9k
ZWMpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2RlY19sZW5ndGgpCisKKworX2xsaW50X29w
X3RvX251bWJlcjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGkgOFtQQ10sIHQwCisg
ICAgbG9hZGkgNFtQQ10sIHQxCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MCwgdDIsIHQz
KQorICAgIGJpZXEgdDIsIEludDMyVGFnLCAub3BUb051bWJlcklzSW50CisgICAgYmlhZXEgdDIs
IExvd2VzdFRhZywgLm9wVG9OdW1iZXJTbG93Cisub3BUb051bWJlcklzSW50OgorICAgIHN0b3Jl
aSB0MiwgVGFnT2Zmc2V0W2NmciwgdDEsIDhdCisgICAgc3RvcmVpIHQzLCBQYXlsb2FkT2Zmc2V0
W2NmciwgdDEsIDhdCisgICAgdmFsdWVQcm9maWxlKHQyLCB0MywgMTIsIHQxKQorICAgIGRpc3Bh
dGNoKGNvbnN0ZXhwciBvcF90b19udW1iZXJfbGVuZ3RoKQorCisub3BUb051bWJlclNsb3c6Cisg
ICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfdG9fbnVtYmVyKQorICAgIGRpc3BhdGNo
KGNvbnN0ZXhwciBvcF90b19udW1iZXJfbGVuZ3RoKQorCisKK19sbGludF9vcF90b19zdHJpbmc6
CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpIDhbUENdLCB0MAorICAgIGxvYWRpIDRb
UENdLCB0MQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDAsIHQyLCB0MykKKyAgICBiaW5l
cSB0MiwgQ2VsbFRhZywgLm9wVG9TdHJpbmdTbG93CisgICAgYmJuZXEgSlNDZWxsOjptX3R5cGVb
dDNdLCBTdHJpbmdUeXBlLCAub3BUb1N0cmluZ1Nsb3cKKy5vcFRvU3RyaW5nSXNTdHJpbmc6Cisg
ICAgc3RvcmVpIHQyLCBUYWdPZmZzZXRbY2ZyLCB0MSwgOF0KKyAgICBzdG9yZWkgdDMsIFBheWxv
YWRPZmZzZXRbY2ZyLCB0MSwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfdG9fc3RyaW5n
X2xlbmd0aCkKKworLm9wVG9TdHJpbmdTbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xv
d19wYXRoX3RvX3N0cmluZykKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfdG9fc3RyaW5nX2xl
bmd0aCkKKworCitfbGxpbnRfb3BfbmVnYXRlOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBs
b2FkaSA4W1BDXSwgdDAKKyAgICBsb2FkaSA0W1BDXSwgdDMKKyAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlKHQwLCB0MSwgdDIpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQwKQorICAg
IGJpbmVxIHQxLCBJbnQzMlRhZywgLm9wTmVnYXRlU3JjTm90SW50CisgICAgYnRpeiB0MiwgMHg3
ZmZmZmZmZiwgLm9wTmVnYXRlU2xvdworICAgIG5lZ2kgdDIKKyAgICBvcmkgQXJpdGhQcm9maWxl
SW50LCB0MAorICAgIHN0b3JlaSBJbnQzMlRhZywgVGFnT2Zmc2V0W2NmciwgdDMsIDhdCisgICAg
c3RvcmVpc1RvSW5zdHJ1Y3Rpb24odDAsIDMpCisgICAgc3RvcmVpIHQyLCBQYXlsb2FkT2Zmc2V0
W2NmciwgdDMsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX25lZ2F0ZV9sZW5ndGgpCisu
b3BOZWdhdGVTcmNOb3RJbnQ6CisgICAgYmlhIHQxLCBMb3dlc3RUYWcsIC5vcE5lZ2F0ZVNsb3cK
KyAgICB4b3JpIDB4ODAwMDAwMDAsIHQxCisgICAgb3JpIEFyaXRoUHJvZmlsZU51bWJlciwgdDAK
KyAgICBzdG9yZWkgdDIsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MywgOF0KKyAgICBzdG9yZWlzVG9J
bnN0cnVjdGlvbih0MCwgMykKKyAgICBzdG9yZWkgdDEsIFRhZ09mZnNldFtjZnIsIHQzLCA4XQor
ICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9uZWdhdGVfbGVuZ3RoKQorCisub3BOZWdhdGVTbG93
OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX25lZ2F0ZSkKKyAgICBkaXNwYXRj
aChjb25zdGV4cHIgb3BfbmVnYXRlX2xlbmd0aCkKKworCittYWNybyBiaW5hcnlPcEN1c3RvbVN0
b3JlKGludGVnZXJPcGVyYXRpb25BbmRTdG9yZSwgZG91YmxlT3BlcmF0aW9uLCBzbG93UGF0aCkK
KyAgICBsb2FkaSAxMltQQ10sIHQyCisgICAgbG9hZGkgOFtQQ10sIHQwCisgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZSh0MiwgdDMsIHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUyUmVn
KHQwLCB0MiwgdDApCisgICAgYmluZXEgdDIsIEludDMyVGFnLCAub3AxTm90SW50CisgICAgYmlu
ZXEgdDMsIEludDMyVGFnLCAub3AyTm90SW50CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQs
IHQ1KQorICAgIG9yaSBBcml0aFByb2ZpbGVJbnRJbnQsIHQ1CisgICAgc3RvcmVpc1RvSW5zdHJ1
Y3Rpb24odDUsIDQpCisgICAgbG9hZGkgNFtQQ10sIHQyCisgICAgaW50ZWdlck9wZXJhdGlvbkFu
ZFN0b3JlKHQzLCB0MSwgdDAsIC5zbG93LCB0MikKKyAgICBkaXNwYXRjaCg1KQorCisub3AxTm90
SW50OgorICAgICMgRmlyc3Qgb3BlcmFuZCBpcyBkZWZpbml0ZWx5IG5vdCBhbiBpbnQsIHRoZSBz
ZWNvbmQgb3BlcmFuZCBjb3VsZCBiZSBhbnl0aGluZy4KKyAgICBiaWEgdDIsIExvd2VzdFRhZywg
LnNsb3cKKyAgICBiaWIgdDMsIExvd2VzdFRhZywgLm9wMU5vdEludE9wMkRvdWJsZQorICAgIGJp
bmVxIHQzLCBJbnQzMlRhZywgLnNsb3cKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNCwgdDUp
CisgICAgb3JpIEFyaXRoUHJvZmlsZU51bWJlckludCwgdDUKKyAgICBzdG9yZWlzVG9JbnN0cnVj
dGlvbih0NSwgNCkKKyAgICBjaTJkIHQxLCBmdDEKKyAgICBqbXAgLm9wMU5vdEludFJlYWR5Cisu
b3AxTm90SW50T3AyRG91YmxlOgorICAgIGZpaTJkIHQxLCB0MywgZnQxCisgICAgbG9hZGlzRnJv
bUluc3RydWN0aW9uKDQsIHQ1KQorICAgIG9yaSBBcml0aFByb2ZpbGVOdW1iZXJOdW1iZXIsIHQ1
CisgICAgc3RvcmVpc1RvSW5zdHJ1Y3Rpb24odDUsIDQpCisub3AxTm90SW50UmVhZHk6CisgICAg
bG9hZGkgNFtQQ10sIHQxCisgICAgZmlpMmQgdDAsIHQyLCBmdDAKKyAgICBkb3VibGVPcGVyYXRp
b24oZnQxLCBmdDApCisgICAgc3RvcmVkIGZ0MCwgW2NmciwgdDEsIDhdCisgICAgZGlzcGF0Y2go
NSkKKworLm9wMk5vdEludDoKKyAgICAjIEZpcnN0IG9wZXJhbmQgaXMgZGVmaW5pdGVseSBhbiBp
bnQsIHRoZSBzZWNvbmQgb3BlcmFuZCBpcyBkZWZpbml0ZWx5IG5vdC4KKyAgICBsb2FkaSA0W1BD
XSwgdDIKKyAgICBiaWEgdDMsIExvd2VzdFRhZywgLnNsb3cKKyAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oNCwgdDUpCisgICAgb3JpIEFyaXRoUHJvZmlsZUludE51bWJlciwgdDUKKyAgICBzdG9y
ZWlzVG9JbnN0cnVjdGlvbih0NSwgNCkKKyAgICBjaTJkIHQwLCBmdDAKKyAgICBmaWkyZCB0MSwg
dDMsIGZ0MQorICAgIGRvdWJsZU9wZXJhdGlvbihmdDEsIGZ0MCkKKyAgICBzdG9yZWQgZnQwLCBb
Y2ZyLCB0MiwgOF0KKyAgICBkaXNwYXRjaCg1KQorCisuc2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xv
d1BhdGgoc2xvd1BhdGgpCisgICAgZGlzcGF0Y2goNSkKK2VuZAorCittYWNybyBiaW5hcnlPcChp
bnRlZ2VyT3BlcmF0aW9uLCBkb3VibGVPcGVyYXRpb24sIHNsb3dQYXRoKQorICAgIGJpbmFyeU9w
Q3VzdG9tU3RvcmUoCisgICAgICAgIG1hY3JvIChpbnQzMlRhZywgbGVmdCwgcmlnaHQsIHNsb3cs
IGluZGV4KQorICAgICAgICAgICAgaW50ZWdlck9wZXJhdGlvbihsZWZ0LCByaWdodCwgc2xvdykK
KyAgICAgICAgICAgIHN0b3JlaSBpbnQzMlRhZywgVGFnT2Zmc2V0W2NmciwgaW5kZXgsIDhdCisg
ICAgICAgICAgICBzdG9yZWkgcmlnaHQsIFBheWxvYWRPZmZzZXRbY2ZyLCBpbmRleCwgOF0KKyAg
ICAgICAgZW5kLAorICAgICAgICBkb3VibGVPcGVyYXRpb24sIHNsb3dQYXRoKQorZW5kCisKK19s
bGludF9vcF9hZGQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGJpbmFyeU9wKAorICAgICAg
ICBtYWNybyAobGVmdCwgcmlnaHQsIHNsb3cpIGJhZGRpbyBsZWZ0LCByaWdodCwgc2xvdyBlbmQs
CisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCkgYWRkZCBsZWZ0LCByaWdodCBlbmQsCisgICAg
ICAgIF9zbG93X3BhdGhfYWRkKQorCisKK19sbGludF9vcF9tdWw6CisgICAgdHJhY2VFeGVjdXRp
b24oKQorICAgIGJpbmFyeU9wQ3VzdG9tU3RvcmUoCisgICAgICAgIG1hY3JvIChpbnQzMlRhZywg
bGVmdCwgcmlnaHQsIHNsb3csIGluZGV4KQorICAgICAgICAgICAgY29uc3Qgc2NyYXRjaCA9IGlu
dDMyVGFnICAgIyBXZSBrbm93IHRoYXQgd2UgY2FuIHJldXNlIHRoZSBpbnQzMlRhZyByZWdpc3Rl
ciBzaW5jZSBpdCBoYXMgYSBjb25zdGFudC4KKyAgICAgICAgICAgIG1vdmUgcmlnaHQsIHNjcmF0
Y2gKKyAgICAgICAgICAgIGJtdWxpbyBsZWZ0LCBzY3JhdGNoLCBzbG93CisgICAgICAgICAgICBi
dGlueiBzY3JhdGNoLCAuZG9uZQorICAgICAgICAgICAgYmlsdCBsZWZ0LCAwLCBzbG93CisgICAg
ICAgICAgICBiaWx0IHJpZ2h0LCAwLCBzbG93CisgICAgICAgIC5kb25lOgorICAgICAgICAgICAg
c3RvcmVpIEludDMyVGFnLCBUYWdPZmZzZXRbY2ZyLCBpbmRleCwgOF0KKyAgICAgICAgICAgIHN0
b3JlaSBzY3JhdGNoLCBQYXlsb2FkT2Zmc2V0W2NmciwgaW5kZXgsIDhdCisgICAgICAgIGVuZCwK
KyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0KSBtdWxkIGxlZnQsIHJpZ2h0IGVuZCwKKyAgICAg
ICAgX3Nsb3dfcGF0aF9tdWwpCisKKworX2xsaW50X29wX3N1YjoKKyAgICB0cmFjZUV4ZWN1dGlv
bigpCisgICAgYmluYXJ5T3AoCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwgc2xvdykgYnN1
YmlvIGxlZnQsIHJpZ2h0LCBzbG93IGVuZCwKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0KSBz
dWJkIGxlZnQsIHJpZ2h0IGVuZCwKKyAgICAgICAgX3Nsb3dfcGF0aF9zdWIpCisKKworX2xsaW50
X29wX2RpdjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgYmluYXJ5T3BDdXN0b21TdG9yZSgK
KyAgICAgICAgbWFjcm8gKGludDMyVGFnLCBsZWZ0LCByaWdodCwgc2xvdywgaW5kZXgpCisgICAg
ICAgICAgICBjaTJkIGxlZnQsIGZ0MAorICAgICAgICAgICAgY2kyZCByaWdodCwgZnQxCisgICAg
ICAgICAgICBkaXZkIGZ0MCwgZnQxCisgICAgICAgICAgICBiY2QyaSBmdDEsIHJpZ2h0LCAubm90
SW50CisgICAgICAgICAgICBzdG9yZWkgaW50MzJUYWcsIFRhZ09mZnNldFtjZnIsIGluZGV4LCA4
XQorICAgICAgICAgICAgc3RvcmVpIHJpZ2h0LCBQYXlsb2FkT2Zmc2V0W2NmciwgaW5kZXgsIDhd
CisgICAgICAgICAgICBqbXAgLmRvbmUKKyAgICAgICAgLm5vdEludDoKKyAgICAgICAgICAgIHN0
b3JlZCBmdDEsIFtjZnIsIGluZGV4LCA4XQorICAgICAgICAuZG9uZToKKyAgICAgICAgZW5kLAor
ICAgICAgICBtYWNybyAobGVmdCwgcmlnaHQpIGRpdmQgbGVmdCwgcmlnaHQgZW5kLAorICAgICAg
ICBfc2xvd19wYXRoX2RpdikKKworCittYWNybyBiaXRPcChvcGVyYXRpb24sIHNsb3dQYXRoLCBh
ZHZhbmNlKQorICAgIGxvYWRpIDEyW1BDXSwgdDIKKyAgICBsb2FkaSA4W1BDXSwgdDAKKyAgICBs
b2FkQ29uc3RhbnRPclZhcmlhYmxlKHQyLCB0MywgdDEpCisgICAgbG9hZENvbnN0YW50T3JWYXJp
YWJsZTJSZWcodDAsIHQyLCB0MCkKKyAgICBiaW5lcSB0MywgSW50MzJUYWcsIC5zbG93CisgICAg
YmluZXEgdDIsIEludDMyVGFnLCAuc2xvdworICAgIGxvYWRpIDRbUENdLCB0MgorICAgIG9wZXJh
dGlvbih0MSwgdDApCisgICAgc3RvcmVpIHQzLCBUYWdPZmZzZXRbY2ZyLCB0MiwgOF0KKyAgICBz
dG9yZWkgdDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MiwgOF0KKyAgICBkaXNwYXRjaChhZHZhbmNl
KQorCisuc2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoc2xvd1BhdGgpCisgICAgZGlzcGF0
Y2goYWR2YW5jZSkKK2VuZAorCitfbGxpbnRfb3BfbHNoaWZ0OgorICAgIHRyYWNlRXhlY3V0aW9u
KCkKKyAgICBiaXRPcCgKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0KSBsc2hpZnRpIGxlZnQs
IHJpZ2h0IGVuZCwKKyAgICAgICAgX3Nsb3dfcGF0aF9sc2hpZnQsCisgICAgICAgIGNvbnN0ZXhw
ciBvcF9sc2hpZnRfbGVuZ3RoKQorCisKK19sbGludF9vcF9yc2hpZnQ6CisgICAgdHJhY2VFeGVj
dXRpb24oKQorICAgIGJpdE9wKAorICAgICAgICBtYWNybyAobGVmdCwgcmlnaHQpIHJzaGlmdGkg
bGVmdCwgcmlnaHQgZW5kLAorICAgICAgICBfc2xvd19wYXRoX3JzaGlmdCwKKyAgICAgICAgY29u
c3RleHByIG9wX3JzaGlmdF9sZW5ndGgpCisKKworX2xsaW50X29wX3Vyc2hpZnQ6CisgICAgdHJh
Y2VFeGVjdXRpb24oKQorICAgIGJpdE9wKAorICAgICAgICBtYWNybyAobGVmdCwgcmlnaHQpIHVy
c2hpZnRpIGxlZnQsIHJpZ2h0IGVuZCwKKyAgICAgICAgX3Nsb3dfcGF0aF91cnNoaWZ0LAorICAg
ICAgICBjb25zdGV4cHIgb3BfdXJzaGlmdF9sZW5ndGgpCisKKworX2xsaW50X29wX3Vuc2lnbmVk
OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSA0W1BDXSwgdDAKKyAgICBsb2FkaSA4
W1BDXSwgdDEKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZCh0MSwgSW50MzJUYWcs
IHQyLCAub3BVbnNpZ25lZFNsb3cpCisgICAgYmlsdCB0MiwgMCwgLm9wVW5zaWduZWRTbG93Cisg
ICAgc3RvcmVpIHQyLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdCisgICAgc3RvcmVpIEludDMy
VGFnLCBUYWdPZmZzZXRbY2ZyLCB0MCwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfdW5z
aWduZWRfbGVuZ3RoKQorLm9wVW5zaWduZWRTbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChf
c2xvd19wYXRoX3Vuc2lnbmVkKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF91bnNpZ25lZF9s
ZW5ndGgpCisKKworX2xsaW50X29wX2JpdGFuZDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAg
Yml0T3AoCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCkgYW5kaSBsZWZ0LCByaWdodCBlbmQs
CisgICAgICAgIF9zbG93X3BhdGhfYml0YW5kLAorICAgICAgICBjb25zdGV4cHIgb3BfYml0YW5k
X2xlbmd0aCkKKworCitfbGxpbnRfb3BfYml0eG9yOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBiaXRPcCgKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0KSB4b3JpIGxlZnQsIHJpZ2h0IGVu
ZCwKKyAgICAgICAgX3Nsb3dfcGF0aF9iaXR4b3IsCisgICAgICAgIGNvbnN0ZXhwciBvcF9iaXR4
b3JfbGVuZ3RoKQorCisKK19sbGludF9vcF9iaXRvcjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisg
ICAgYml0T3AoCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCkgb3JpIGxlZnQsIHJpZ2h0IGVu
ZCwKKyAgICAgICAgX3Nsb3dfcGF0aF9iaXRvciwKKyAgICAgICAgY29uc3RleHByIG9wX2JpdG9y
X2xlbmd0aCkKKworCitfbGxpbnRfb3Bfb3ZlcnJpZGVzX2hhc19pbnN0YW5jZToKKyAgICB0cmFj
ZUV4ZWN1dGlvbigpCisKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDMpCisgICAgc3Rv
cmVpIEJvb2xlYW5UYWcsIFRhZ09mZnNldFtjZnIsIHQzLCA4XQorCisgICAgIyBGaXJzdCBjaGVj
ayBpZiBoYXNJbnN0YW5jZVZhbHVlIGlzIHRoZSBvbmUgb24gRnVuY3Rpb24ucHJvdG90eXBlW1N5
bWJvbC5oYXNJbnN0YW5jZV0KKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDApCisgICAg
bG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQodDAsIENlbGxUYWcsIHQyLCAub3BPdmVycmlk
ZXNoYXNJbnN0YW5jZVZhbHVlTm90Q2VsbCkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQw
LCB0MSwgdDIpCisgICAgYmluZXEgdDEsIENlbGxUYWcsIC5vcE92ZXJyaWRlc2hhc0luc3RhbmNl
VmFsdWVOb3RDZWxsCisKKyAgICAjIFdlIGRvbid0IG5lZWQgaGFzSW5zdGFuY2VWYWx1ZSdzIHRh
ZyByZWdpc3RlciBhbnltb3JlLgorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MQorICAgIGxv
YWRwIENvZGVCbG9jazo6bV9nbG9iYWxPYmplY3RbdDFdLCB0MQorICAgIGxvYWRwIEpTR2xvYmFs
T2JqZWN0OjptX2Z1bmN0aW9uUHJvdG9IYXNJbnN0YW5jZVN5bWJvbEZ1bmN0aW9uW3QxXSwgdDEK
KyAgICBiaW5lcSB0MSwgdDIsIC5vcE92ZXJyaWRlc2hhc0luc3RhbmNlVmFsdWVOb3REZWZhdWx0
CisKKyAgICAjIFdlIGtub3cgdGhlIGNvbnN0cnVjdG9yIGlzIGEgY2VsbC4KKyAgICBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24oMiwgdDApCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWRV
bmNoZWNrZWQodDAsIHQxKQorICAgIHRieiBKU0NlbGw6Om1fZmxhZ3NbdDFdLCBJbXBsZW1lbnRz
RGVmYXVsdEhhc0luc3RhbmNlLCB0MAorICAgIHN0b3JlaSB0MCwgUGF5bG9hZE9mZnNldFtjZnIs
IHQzLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9vdmVycmlkZXNfaGFzX2luc3RhbmNl
X2xlbmd0aCkKKworLm9wT3ZlcnJpZGVzaGFzSW5zdGFuY2VWYWx1ZU5vdENlbGw6Cisub3BPdmVy
cmlkZXNoYXNJbnN0YW5jZVZhbHVlTm90RGVmYXVsdDoKKyAgICBzdG9yZWkgMSwgUGF5bG9hZE9m
ZnNldFtjZnIsIHQzLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9vdmVycmlkZXNfaGFz
X2luc3RhbmNlX2xlbmd0aCkKKworX2xsaW50X29wX2luc3RhbmNlb2ZfY3VzdG9tOgorICAgIHRy
YWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9p
bnN0YW5jZW9mX2N1c3RvbSkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfaW5zdGFuY2VvZl9j
dXN0b21fbGVuZ3RoKQorCisKK19sbGludF9vcF9pc19lbXB0eToKKyAgICB0cmFjZUV4ZWN1dGlv
bigpCisgICAgbG9hZGkgOFtQQ10sIHQxCisgICAgbG9hZGkgNFtQQ10sIHQwCisgICAgbG9hZENv
bnN0YW50T3JWYXJpYWJsZSh0MSwgdDIsIHQzKQorICAgIGNpZXEgdDIsIEVtcHR5VmFsdWVUYWcs
IHQzCisgICAgc3RvcmVpIEJvb2xlYW5UYWcsIFRhZ09mZnNldFtjZnIsIHQwLCA4XQorICAgIHN0
b3JlaSB0MywgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhw
ciBvcF9pc19lbXB0eV9sZW5ndGgpCisKKworX2xsaW50X29wX2lzX3VuZGVmaW5lZDoKKyAgICB0
cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGkgOFtQQ10sIHQxCisgICAgbG9hZGkgNFtQQ10sIHQw
CisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDIsIHQzKQorICAgIHN0b3JlaSBCb29s
ZWFuVGFnLCBUYWdPZmZzZXRbY2ZyLCB0MCwgOF0KKyAgICBiaWVxIHQyLCBDZWxsVGFnLCAub3BJ
c1VuZGVmaW5lZENlbGwKKyAgICBjaWVxIHQyLCBVbmRlZmluZWRUYWcsIHQzCisgICAgc3RvcmVp
IHQzLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9w
X2lzX3VuZGVmaW5lZF9sZW5ndGgpCisub3BJc1VuZGVmaW5lZENlbGw6CisgICAgYnRibnogSlND
ZWxsOjptX2ZsYWdzW3QzXSwgTWFzcXVlcmFkZXNBc1VuZGVmaW5lZCwgLm9wSXNVbmRlZmluZWRN
YXNxdWVyYWRlc0FzVW5kZWZpbmVkCisgICAgbW92ZSAwLCB0MQorICAgIHN0b3JlaSB0MSwgUGF5
bG9hZE9mZnNldFtjZnIsIHQwLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9pc191bmRl
ZmluZWRfbGVuZ3RoKQorLm9wSXNVbmRlZmluZWRNYXNxdWVyYWRlc0FzVW5kZWZpbmVkOgorICAg
IGxvYWRwIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0M10sIHQxCisgICAgbG9hZHAgQ29kZUJsb2Nr
W2Nmcl0sIHQzCisgICAgbG9hZHAgQ29kZUJsb2NrOjptX2dsb2JhbE9iamVjdFt0M10sIHQzCisg
ICAgY3BlcSBTdHJ1Y3R1cmU6Om1fZ2xvYmFsT2JqZWN0W3QxXSwgdDMsIHQxCisgICAgc3RvcmVp
IHQxLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9w
X2lzX3VuZGVmaW5lZF9sZW5ndGgpCisKKworX2xsaW50X29wX2lzX2Jvb2xlYW46CisgICAgdHJh
Y2VFeGVjdXRpb24oKQorICAgIGxvYWRpIDhbUENdLCB0MQorICAgIGxvYWRpIDRbUENdLCB0Mgor
ICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVUYWcodDEsIHQwKQorICAgIGNpZXEgdDAsIEJvb2xl
YW5UYWcsIHQwCisgICAgc3RvcmVpIEJvb2xlYW5UYWcsIFRhZ09mZnNldFtjZnIsIHQyLCA4XQor
ICAgIHN0b3JlaSB0MCwgUGF5bG9hZE9mZnNldFtjZnIsIHQyLCA4XQorICAgIGRpc3BhdGNoKGNv
bnN0ZXhwciBvcF9pc19ib29sZWFuX2xlbmd0aCkKKworCitfbGxpbnRfb3BfaXNfbnVtYmVyOgor
ICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSA4W1BDXSwgdDEKKyAgICBsb2FkaSA0W1BD
XSwgdDIKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlVGFnKHQxLCB0MCkKKyAgICBzdG9yZWkg
Qm9vbGVhblRhZywgVGFnT2Zmc2V0W2NmciwgdDIsIDhdCisgICAgYWRkaSAxLCB0MAorICAgIGNp
YiB0MCwgTG93ZXN0VGFnICsgMSwgdDEKKyAgICBzdG9yZWkgdDEsIFBheWxvYWRPZmZzZXRbY2Zy
LCB0MiwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfaXNfbnVtYmVyX2xlbmd0aCkKKwor
CitfbGxpbnRfb3BfaXNfY2VsbF93aXRoX3R5cGU6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAg
IGxvYWRpIDhbUENdLCB0MQorICAgIGxvYWRpIDRbUENdLCB0MgorICAgIGxvYWRDb25zdGFudE9y
VmFyaWFibGUodDEsIHQwLCB0MykKKyAgICBzdG9yZWkgQm9vbGVhblRhZywgVGFnT2Zmc2V0W2Nm
ciwgdDIsIDhdCisgICAgYmluZXEgdDAsIENlbGxUYWcsIC5ub3RDZWxsQ2FzZQorICAgIGxvYWRp
IDEyW1BDXSwgdDAKKyAgICBjYmVxIEpTQ2VsbDo6bV90eXBlW3QzXSwgdDAsIHQxCisgICAgc3Rv
cmVpIHQxLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDIsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHBy
IG9wX2lzX2NlbGxfd2l0aF90eXBlX2xlbmd0aCkKKy5ub3RDZWxsQ2FzZToKKyAgICBzdG9yZXAg
MCwgUGF5bG9hZE9mZnNldFtjZnIsIHQyLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9p
c19jZWxsX3dpdGhfdHlwZV9sZW5ndGgpCisKKworX2xsaW50X29wX2lzX29iamVjdDoKKyAgICB0
cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGkgOFtQQ10sIHQxCisgICAgbG9hZGkgNFtQQ10sIHQy
CisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDAsIHQzKQorICAgIHN0b3JlaSBCb29s
ZWFuVGFnLCBUYWdPZmZzZXRbY2ZyLCB0MiwgOF0KKyAgICBiaW5lcSB0MCwgQ2VsbFRhZywgLm9w
SXNPYmplY3ROb3RDZWxsCisgICAgY2JhZXEgSlNDZWxsOjptX3R5cGVbdDNdLCBPYmplY3RUeXBl
LCB0MQorICAgIHN0b3JlaSB0MSwgUGF5bG9hZE9mZnNldFtjZnIsIHQyLCA4XQorICAgIGRpc3Bh
dGNoKGNvbnN0ZXhwciBvcF9pc19vYmplY3RfbGVuZ3RoKQorLm9wSXNPYmplY3ROb3RDZWxsOgor
ICAgIHN0b3JlcCAwLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDIsIDhdCisgICAgZGlzcGF0Y2goY29u
c3RleHByIG9wX2lzX29iamVjdF9sZW5ndGgpCisKKworbWFjcm8gbG9hZFByb3BlcnR5QXRWYXJp
YWJsZU9mZnNldEtub3duTm90SW5saW5lKHByb3BlcnR5T2Zmc2V0LCBvYmplY3RBbmRTdG9yYWdl
LCB0YWcsIHBheWxvYWQpCisgICAgYXNzZXJ0KG1hY3JvIChvaykgYmlndGVxIHByb3BlcnR5T2Zm
c2V0LCBmaXJzdE91dE9mTGluZU9mZnNldCwgb2sgZW5kKQorICAgIG5lZ2kgcHJvcGVydHlPZmZz
ZXQKKyAgICBsb2FkcCBKU09iamVjdDo6bV9idXR0ZXJmbHlbb2JqZWN0QW5kU3RvcmFnZV0sIG9i
amVjdEFuZFN0b3JhZ2UKKyAgICBsb2FkaSBUYWdPZmZzZXQgKyAoZmlyc3RPdXRPZkxpbmVPZmZz
ZXQgLSAyKSAqIDhbb2JqZWN0QW5kU3RvcmFnZSwgcHJvcGVydHlPZmZzZXQsIDhdLCB0YWcKKyAg
ICBsb2FkaSBQYXlsb2FkT2Zmc2V0ICsgKGZpcnN0T3V0T2ZMaW5lT2Zmc2V0IC0gMikgKiA4W29i
amVjdEFuZFN0b3JhZ2UsIHByb3BlcnR5T2Zmc2V0LCA4XSwgcGF5bG9hZAorZW5kCisKK21hY3Jv
IGxvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXQocHJvcGVydHlPZmZzZXQsIG9iamVjdEFuZFN0
b3JhZ2UsIHRhZywgcGF5bG9hZCkKKyAgICBiaWx0IHByb3BlcnR5T2Zmc2V0LCBmaXJzdE91dE9m
TGluZU9mZnNldCwgLmlzSW5saW5lCisgICAgbG9hZHAgSlNPYmplY3Q6Om1fYnV0dGVyZmx5W29i
amVjdEFuZFN0b3JhZ2VdLCBvYmplY3RBbmRTdG9yYWdlCisgICAgbmVnaSBwcm9wZXJ0eU9mZnNl
dAorICAgIGptcCAucmVhZHkKKy5pc0lubGluZToKKyAgICBhZGRwIHNpemVvZiBKU09iamVjdCAt
IChmaXJzdE91dE9mTGluZU9mZnNldCAtIDIpICogOCwgb2JqZWN0QW5kU3RvcmFnZQorLnJlYWR5
OgorICAgIGxvYWRpIFRhZ09mZnNldCArIChmaXJzdE91dE9mTGluZU9mZnNldCAtIDIpICogOFtv
YmplY3RBbmRTdG9yYWdlLCBwcm9wZXJ0eU9mZnNldCwgOF0sIHRhZworICAgIGxvYWRpIFBheWxv
YWRPZmZzZXQgKyAoZmlyc3RPdXRPZkxpbmVPZmZzZXQgLSAyKSAqIDhbb2JqZWN0QW5kU3RvcmFn
ZSwgcHJvcGVydHlPZmZzZXQsIDhdLCBwYXlsb2FkCitlbmQKKworbWFjcm8gc3RvcmVQcm9wZXJ0
eUF0VmFyaWFibGVPZmZzZXQocHJvcGVydHlPZmZzZXRBc0ludCwgb2JqZWN0QW5kU3RvcmFnZSwg
dGFnLCBwYXlsb2FkKQorICAgIGJpbHQgcHJvcGVydHlPZmZzZXRBc0ludCwgZmlyc3RPdXRPZkxp
bmVPZmZzZXQsIC5pc0lubGluZQorICAgIGxvYWRwIEpTT2JqZWN0OjptX2J1dHRlcmZseVtvYmpl
Y3RBbmRTdG9yYWdlXSwgb2JqZWN0QW5kU3RvcmFnZQorICAgIG5lZ2kgcHJvcGVydHlPZmZzZXRB
c0ludAorICAgIGptcCAucmVhZHkKKy5pc0lubGluZToKKyAgICBhZGRwIHNpemVvZiBKU09iamVj
dCAtIChmaXJzdE91dE9mTGluZU9mZnNldCAtIDIpICogOCwgb2JqZWN0QW5kU3RvcmFnZQorLnJl
YWR5OgorICAgIHN0b3JlaSB0YWcsIFRhZ09mZnNldCArIChmaXJzdE91dE9mTGluZU9mZnNldCAt
IDIpICogOFtvYmplY3RBbmRTdG9yYWdlLCBwcm9wZXJ0eU9mZnNldEFzSW50LCA4XQorICAgIHN0
b3JlaSBwYXlsb2FkLCBQYXlsb2FkT2Zmc2V0ICsgKGZpcnN0T3V0T2ZMaW5lT2Zmc2V0IC0gMikg
KiA4W29iamVjdEFuZFN0b3JhZ2UsIHByb3BlcnR5T2Zmc2V0QXNJbnQsIDhdCitlbmQKKworCisj
IFdlIG9ubHkgZG8gbW9ub21vcnBoaWMgZ2V0X2J5X2lkIGNhY2hpbmcgZm9yIG5vdywgYW5kIHdl
IGRvIG5vdCBtb2RpZnkgdGhlCisjIG9wY29kZSBmb3Igb3duIHByb3BlcnRpZXMuIFdlIGFsc28g
YWxsb3cgZm9yIHRoZSBjYWNoZSB0byBjaGFuZ2UgYW55dGltZSBpdCBmYWlscywKKyMgc2luY2Ug
cGluZy1wb25naW5nIGlzIGZyZWUuIEF0IGJlc3Qgd2UgZ2V0IGx1Y2t5IGFuZCB0aGUgZ2V0X2J5
X2lkIHdpbGwgY29udGludWUKKyMgdG8gdGFrZSBmYXN0IHBhdGggb24gdGhlIG5ldyBjYWNoZS4g
QXQgd29yc3Qgd2UgdGFrZSBzbG93IHBhdGgsIHdoaWNoIGlzIHdoYXQKKyMgd2Ugd291bGQgaGF2
ZSBiZWVuIGRvaW5nIGFueXdheS4gRm9yIHByb3RvdHlwZS91bnNldCBwcm9wZXJ0aWVzLCB3ZSB3
aWxsIGF0dGVtcHQgdG8KKyMgY29udmVydCBvcGNvZGUgaW50byBhIGdldF9ieV9pZF9wcm90b19s
b2FkL2dldF9ieV9pZF91bnNldCwgcmVzcGVjdGl2ZWx5LCBhZnRlciBhbgorIyBleGVjdXRpb24g
Y291bnRlciBoaXRzIHplcm8uCisKK19sbGludF9vcF9nZXRfYnlfaWQ6CisgICAgdHJhY2VFeGVj
dXRpb24oKQorICAgIGxvYWRpIDhbUENdLCB0MAorICAgIGxvYWRpIDE2W1BDXSwgdDEKKyAgICBs
b2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZCh0MCwgQ2VsbFRhZywgdDMsIC5vcEdldEJ5SWRT
bG93KQorICAgIGxvYWRpIDIwW1BDXSwgdDIKKyAgICBiaW5lcSBKU0NlbGw6Om1fc3RydWN0dXJl
SURbdDNdLCB0MSwgLm9wR2V0QnlJZFNsb3cKKyAgICBsb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zm
c2V0KHQyLCB0MywgdDAsIHQxKQorICAgIGxvYWRpIDRbUENdLCB0MgorICAgIHN0b3JlaSB0MCwg
VGFnT2Zmc2V0W2NmciwgdDIsIDhdCisgICAgc3RvcmVpIHQxLCBQYXlsb2FkT2Zmc2V0W2Nmciwg
dDIsIDhdCisgICAgdmFsdWVQcm9maWxlKHQwLCB0MSwgMzIsIHQyKQorICAgIGRpc3BhdGNoKGNv
bnN0ZXhwciBvcF9nZXRfYnlfaWRfbGVuZ3RoKQorCisub3BHZXRCeUlkU2xvdzoKKyAgICBjYWxs
T3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9nZXRfYnlfaWQpCisgICAgZGlzcGF0Y2go
Y29uc3RleHByIG9wX2dldF9ieV9pZF9sZW5ndGgpCisKKworX2xsaW50X29wX2dldF9ieV9pZF9w
cm90b19sb2FkOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSA4W1BDXSwgdDAKKyAg
ICBsb2FkaSAxNltQQ10sIHQxCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQodDAs
IENlbGxUYWcsIHQzLCAub3BHZXRCeUlkUHJvdG9TbG93KQorICAgIGxvYWRpIDIwW1BDXSwgdDIK
KyAgICBiaW5lcSBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDNdLCB0MSwgLm9wR2V0QnlJZFByb3Rv
U2xvdworICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDYsIHQzKQorICAgIGxvYWRQcm9wZXJ0eUF0
VmFyaWFibGVPZmZzZXQodDIsIHQzLCB0MCwgdDEpCisgICAgbG9hZGkgNFtQQ10sIHQyCisgICAg
c3RvcmVpIHQwLCBUYWdPZmZzZXRbY2ZyLCB0MiwgOF0KKyAgICBzdG9yZWkgdDEsIFBheWxvYWRP
ZmZzZXRbY2ZyLCB0MiwgOF0KKyAgICB2YWx1ZVByb2ZpbGUodDAsIHQxLCAzMiwgdDIpCisgICAg
ZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9ieV9pZF9wcm90b19sb2FkX2xlbmd0aCkKKworLm9w
R2V0QnlJZFByb3RvU2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0
aF9nZXRfYnlfaWQpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9ieV9pZF9wcm90b19s
b2FkX2xlbmd0aCkKKworCitfbGxpbnRfb3BfZ2V0X2J5X2lkX3Vuc2V0OgorICAgIHRyYWNlRXhl
Y3V0aW9uKCkKKyAgICBsb2FkaSA4W1BDXSwgdDAKKyAgICBsb2FkaSAxNltQQ10sIHQxCisgICAg
bG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQodDAsIENlbGxUYWcsIHQzLCAub3BHZXRCeUlk
VW5zZXRTbG93KQorICAgIGJpbmVxIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0M10sIHQxLCAub3BH
ZXRCeUlkVW5zZXRTbG93CisgICAgbG9hZGkgNFtQQ10sIHQyCisgICAgc3RvcmVpIFVuZGVmaW5l
ZFRhZywgVGFnT2Zmc2V0W2NmciwgdDIsIDhdCisgICAgc3RvcmVpIDAsIFBheWxvYWRPZmZzZXRb
Y2ZyLCB0MiwgOF0KKyAgICB2YWx1ZVByb2ZpbGUoVW5kZWZpbmVkVGFnLCAwLCAzMiwgdDIpCisg
ICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9ieV9pZF91bnNldF9sZW5ndGgpCisKKy5vcEdl
dEJ5SWRVbnNldFNsb3c6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhf
Z2V0X2J5X2lkKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfYnlfaWRfdW5zZXRfbGVu
Z3RoKQorCisKK19sbGludF9vcF9nZXRfYXJyYXlfbGVuZ3RoOgorICAgIHRyYWNlRXhlY3V0aW9u
KCkKKyAgICBsb2FkaSA4W1BDXSwgdDAKKyAgICBsb2FkcCAxNltQQ10sIHQxCisgICAgbG9hZENv
bnN0YW50T3JWYXJpYWJsZVBheWxvYWQodDAsIENlbGxUYWcsIHQzLCAub3BHZXRBcnJheUxlbmd0
aFNsb3cpCisgICAgbW92ZSB0MywgdDIKKyAgICBhcnJheVByb2ZpbGUodDIsIHQxLCB0MCkKKyAg
ICBidGl6IHQyLCBJc0FycmF5LCAub3BHZXRBcnJheUxlbmd0aFNsb3cKKyAgICBidGl6IHQyLCBJ
bmRleGluZ1NoYXBlTWFzaywgLm9wR2V0QXJyYXlMZW5ndGhTbG93CisgICAgbG9hZGkgNFtQQ10s
IHQxCisgICAgbG9hZHAgSlNPYmplY3Q6Om1fYnV0dGVyZmx5W3QzXSwgdDAKKyAgICBsb2FkaSAt
c2l6ZW9mIEluZGV4aW5nSGVhZGVyICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy5wdWJsaWNM
ZW5ndGhbdDBdLCB0MAorICAgIGJpbHQgdDAsIDAsIC5vcEdldEFycmF5TGVuZ3RoU2xvdworICAg
IHZhbHVlUHJvZmlsZShJbnQzMlRhZywgdDAsIDMyLCB0MikKKyAgICBzdG9yZXAgdDAsIFBheWxv
YWRPZmZzZXRbY2ZyLCB0MSwgOF0KKyAgICBzdG9yZXAgSW50MzJUYWcsIFRhZ09mZnNldFtjZnIs
IHQxLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfYXJyYXlfbGVuZ3RoX2xlbmd0
aCkKKworLm9wR2V0QXJyYXlMZW5ndGhTbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxp
bnRfc2xvd19wYXRoX2dldF9ieV9pZCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2Fy
cmF5X2xlbmd0aF9sZW5ndGgpCisKKworX2xsaW50X29wX3B1dF9ieV9pZDoKKyAgICB0cmFjZUV4
ZWN1dGlvbigpCisgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcygxLCAzKQorICAgIGxvYWRpIDRb
UENdLCB0MworICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXlsb2FkKHQzLCBDZWxsVGFnLCB0
MCwgLm9wUHV0QnlJZFNsb3cpCisgICAgbG9hZGkgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QwXSwg
dDIKKyAgICBiaW5lcSB0MiwgMTZbUENdLCAub3BQdXRCeUlkU2xvdworCisgICAgIyBBdCB0aGlz
IHBvaW50LCB3ZSBoYXZlOgorICAgICMgdDIgLT4gY3VycmVudFN0cnVjdHVyZUlECisgICAgIyB0
MCAtPiBvYmplY3QgYmFzZQorICAgICMgV2Ugd2lsbCBsb3NlIGN1cnJlbnRTdHJ1Y3R1cmVJRCBp
biB0aGUgc2hlbmFuaWdhbnMgYmVsb3cuCisKKyAgICBsb2FkaSAxMltQQ10sIHQxCisgICAgbG9h
ZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDIsIHQzKQorICAgIGxvYWRpIDMyW1BDXSwgdDEKKwor
ICAgICMgQXQgdGhpcyBwb2ludCwgd2UgaGF2ZToKKyAgICAjIHQwIC0+IG9iamVjdCBiYXNlCisg
ICAgIyB0MSAtPiBwdXQgYnkgaWQgZmxhZ3MKKyAgICAjIHQyIC0+IHZhbHVlIHRhZworICAgICMg
dDMgLT4gdmFsdWUgcGF5bG9hZAorCisgICAgYnRpbnogdDEsIFB1dEJ5SWRQcmltYXJ5VHlwZU1h
c2ssIC5vcFB1dEJ5SWRUeXBlQ2hlY2tPYmplY3RXaXRoU3RydWN0dXJlT3JPdGhlcgorCisgICAg
IyBXZSBoYXZlIG9uZSBvZiB0aGUgbm9uLXN0cnVjdHVyZSB0eXBlIGNoZWNrcy4gRmluZCBvdXQg
d2hpY2ggb25lLgorICAgIGFuZGkgUHV0QnlJZFNlY29uZGFyeVR5cGVNYXNrLCB0MQorICAgIGJp
bHQgdDEsIFB1dEJ5SWRTZWNvbmRhcnlUeXBlU3RyaW5nLCAub3BQdXRCeUlkVHlwZUNoZWNrTGVz
c1RoYW5TdHJpbmcKKworICAgICMgV2UgYXJlIG9uZSBvZiB0aGUgZm9sbG93aW5nOiBTdHJpbmcs
IFN5bWJvbCwgT2JqZWN0LCBPYmplY3RPck90aGVyLCBUb3AKKyAgICBiaWx0IHQxLCBQdXRCeUlk
U2Vjb25kYXJ5VHlwZU9iamVjdE9yT3RoZXIsIC5vcFB1dEJ5SWRUeXBlQ2hlY2tMZXNzVGhhbk9i
amVjdE9yT3RoZXIKKworICAgICMgV2UgYXJlIGVpdGhlciBPYmplY3RPck90aGVyIG9yIFRvcC4K
KyAgICBiaWVxIHQxLCBQdXRCeUlkU2Vjb25kYXJ5VHlwZVRvcCwgLm9wUHV0QnlJZERvbmVDaGVj
a2luZ1R5cGVzCisKKyAgICAjIENoZWNrIGlmIHdlIGFyZSBPYmplY3RPck90aGVyLgorICAgIGJp
ZXEgdDIsIENlbGxUYWcsIC5vcFB1dEJ5SWRUeXBlQ2hlY2tPYmplY3QKKy5vcFB1dEJ5SWRUeXBl
Q2hlY2tPdGhlcjoKKyAgICBiaWVxIHQyLCBOdWxsVGFnLCAub3BQdXRCeUlkRG9uZUNoZWNraW5n
VHlwZXMKKyAgICBiaWVxIHQyLCBVbmRlZmluZWRUYWcsIC5vcFB1dEJ5SWREb25lQ2hlY2tpbmdU
eXBlcworICAgIGptcCAub3BQdXRCeUlkU2xvdworCisub3BQdXRCeUlkVHlwZUNoZWNrTGVzc1Ro
YW5PYmplY3RPck90aGVyOgorICAgICMgV2UgYXJlIGVpdGhlciBTdHJpbmcsIFN5bWJvbCBvciBP
YmplY3QuCisgICAgYmluZXEgdDIsIENlbGxUYWcsIC5vcFB1dEJ5SWRTbG93CisgICAgYmllcSB0
MSwgUHV0QnlJZFNlY29uZGFyeVR5cGVPYmplY3QsIC5vcFB1dEJ5SWRUeXBlQ2hlY2tPYmplY3QK
KyAgICBiaWVxIHQxLCBQdXRCeUlkU2Vjb25kYXJ5VHlwZVN5bWJvbCwgLm9wUHV0QnlJZFR5cGVD
aGVja1N5bWJvbAorICAgIGJiZXEgSlNDZWxsOjptX3R5cGVbdDNdLCBTdHJpbmdUeXBlLCAub3BQ
dXRCeUlkRG9uZUNoZWNraW5nVHlwZXMKKyAgICBqbXAgLm9wUHV0QnlJZFNsb3cKKy5vcFB1dEJ5
SWRUeXBlQ2hlY2tPYmplY3Q6CisgICAgYmJhZXEgSlNDZWxsOjptX3R5cGVbdDNdLCBPYmplY3RU
eXBlLCAub3BQdXRCeUlkRG9uZUNoZWNraW5nVHlwZXMKKyAgICBqbXAgLm9wUHV0QnlJZFNsb3cK
Ky5vcFB1dEJ5SWRUeXBlQ2hlY2tTeW1ib2w6CisgICAgYmJlcSBKU0NlbGw6Om1fdHlwZVt0M10s
IFN5bWJvbFR5cGUsIC5vcFB1dEJ5SWREb25lQ2hlY2tpbmdUeXBlcworICAgIGptcCAub3BQdXRC
eUlkU2xvdworCisub3BQdXRCeUlkVHlwZUNoZWNrTGVzc1RoYW5TdHJpbmc6CisgICAgIyBXZSBh
cmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6IEJvdHRvbSwgQm9vbGVhbiwgT3RoZXIsIEludDMyLCBO
dW1iZXIuCisgICAgYmlsdCB0MSwgUHV0QnlJZFNlY29uZGFyeVR5cGVJbnQzMiwgLm9wUHV0QnlJ
ZFR5cGVDaGVja0xlc3NUaGFuSW50MzIKKworICAgICMgV2UgYXJlIGVpdGhlciBJbnQzMiBvciBO
dW1iZXIuCisgICAgYmllcSB0MSwgUHV0QnlJZFNlY29uZGFyeVR5cGVOdW1iZXIsIC5vcFB1dEJ5
SWRUeXBlQ2hlY2tOdW1iZXIKKworICAgIGJpZXEgdDIsIEludDMyVGFnLCAub3BQdXRCeUlkRG9u
ZUNoZWNraW5nVHlwZXMKKyAgICBqbXAgLm9wUHV0QnlJZFNsb3cKKworLm9wUHV0QnlJZFR5cGVD
aGVja051bWJlcjoKKyAgICBiaWIgdDIsIExvd2VzdFRhZyArIDEsIC5vcFB1dEJ5SWREb25lQ2hl
Y2tpbmdUeXBlcworICAgIGptcCAub3BQdXRCeUlkU2xvdworCisub3BQdXRCeUlkVHlwZUNoZWNr
TGVzc1RoYW5JbnQzMjoKKyAgICAjIFdlIGFyZSBvbmUgb2YgdGhlIGZvbGxvd2luZzogQm90dG9t
LCBCb29sZWFuLCBPdGhlcgorICAgIGJpbmVxIHQxLCBQdXRCeUlkU2Vjb25kYXJ5VHlwZUJvb2xl
YW4sIC5vcFB1dEJ5SWRUeXBlQ2hlY2tCb3R0b21Pck90aGVyCisgICAgYmllcSB0MiwgQm9vbGVh
blRhZywgLm9wUHV0QnlJZERvbmVDaGVja2luZ1R5cGVzCisgICAgam1wIC5vcFB1dEJ5SWRTbG93
CisKKy5vcFB1dEJ5SWRUeXBlQ2hlY2tCb3R0b21Pck90aGVyOgorICAgIGJpZXEgdDEsIFB1dEJ5
SWRTZWNvbmRhcnlUeXBlT3RoZXIsIC5vcFB1dEJ5SWRUeXBlQ2hlY2tPdGhlcgorICAgIGptcCAu
b3BQdXRCeUlkU2xvdworCisub3BQdXRCeUlkVHlwZUNoZWNrT2JqZWN0V2l0aFN0cnVjdHVyZU9y
T3RoZXI6CisgICAgYmllcSB0MiwgQ2VsbFRhZywgLm9wUHV0QnlJZFR5cGVDaGVja09iamVjdFdp
dGhTdHJ1Y3R1cmUKKyAgICBidGlueiB0MSwgUHV0QnlJZFByaW1hcnlUeXBlT2JqZWN0V2l0aFN0
cnVjdHVyZU9yT3RoZXIsIC5vcFB1dEJ5SWRUeXBlQ2hlY2tPdGhlcgorICAgIGptcCAub3BQdXRC
eUlkU2xvdworCisub3BQdXRCeUlkVHlwZUNoZWNrT2JqZWN0V2l0aFN0cnVjdHVyZToKKyAgICBh
bmRpIFB1dEJ5SWRTZWNvbmRhcnlUeXBlTWFzaywgdDEKKyAgICBiaW5lcSB0MSwgSlNDZWxsOjpt
X3N0cnVjdHVyZUlEW3QzXSwgLm9wUHV0QnlJZFNsb3cKKworLm9wUHV0QnlJZERvbmVDaGVja2lu
Z1R5cGVzOgorICAgIGxvYWRpIDI0W1BDXSwgdDEKKworICAgIGJ0aXogdDEsIC5vcFB1dEJ5SWRO
b3RUcmFuc2l0aW9uCisKKyAgICAjIFRoaXMgaXMgdGhlIHRyYW5zaXRpb24gY2FzZS4gdDEgaG9s
ZHMgdGhlIG5ldyBTdHJ1Y3R1cmUqLiBJZiB3ZSBoYXZlIGEgY2hhaW4sIHdlIG5lZWQgdG8KKyAg
ICAjIGNoZWNrIGl0LiB0MCBpcyB0aGUgYmFzZS4gV2UgbWF5IGNsb2JiZXIgdDEgdG8gdXNlIGl0
IGFzIHNjcmF0Y2guCisgICAgbG9hZHAgMjhbUENdLCB0MworICAgIGJ0cHogdDMsIC5vcFB1dEJ5
SWRUcmFuc2l0aW9uRGlyZWN0CisKKyAgICBsb2FkaSAxNltQQ10sIHQyICMgTmVlZCBvbGQgc3Ry
dWN0dXJlIGFnYWluLgorICAgIGxvYWRwIFN0cnVjdHVyZUNoYWluOjptX3ZlY3Rvclt0M10sIHQz
CisgICAgYXNzZXJ0KG1hY3JvIChvaykgYnRwbnogdDMsIG9rIGVuZCkKKworICAgIGxvYWRwIFN0
cnVjdHVyZTo6bV9wcm90b3R5cGVbdDJdLCB0MgorICAgIGJ0cHogdDIsIC5vcFB1dEJ5SWRUcmFu
c2l0aW9uQ2hhaW5Eb25lCisub3BQdXRCeUlkVHJhbnNpdGlvbkNoYWluTG9vcDoKKyAgICBsb2Fk
cCBbdDNdLCB0MQorICAgIGJwbmVxIHQxLCBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDJdLCAub3BQ
dXRCeUlkU2xvdworICAgIGFkZHAgNCwgdDMKKyAgICBsb2FkcCBTdHJ1Y3R1cmU6Om1fcHJvdG90
eXBlW3QxXSwgdDIKKyAgICBidHBueiB0MiwgLm9wUHV0QnlJZFRyYW5zaXRpb25DaGFpbkxvb3AK
KworLm9wUHV0QnlJZFRyYW5zaXRpb25DaGFpbkRvbmU6CisgICAgbG9hZGkgMjRbUENdLCB0MQor
Cisub3BQdXRCeUlkVHJhbnNpdGlvbkRpcmVjdDoKKyAgICBzdG9yZWkgdDEsIEpTQ2VsbDo6bV9z
dHJ1Y3R1cmVJRFt0MF0KKyAgICBsb2FkaSAxMltQQ10sIHQxCisgICAgbG9hZENvbnN0YW50T3JW
YXJpYWJsZSh0MSwgdDIsIHQzKQorICAgIGxvYWRpIDIwW1BDXSwgdDEKKyAgICBzdG9yZVByb3Bl
cnR5QXRWYXJpYWJsZU9mZnNldCh0MSwgdDAsIHQyLCB0MykKKyAgICB3cml0ZUJhcnJpZXJPbk9w
ZXJhbmQoMSkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfcHV0X2J5X2lkX2xlbmd0aCkKKwor
Lm9wUHV0QnlJZE5vdFRyYW5zaXRpb246CisgICAgIyBUaGUgb25seSB0aGluZyBsaXZlIHJpZ2h0
IG5vdyBpcyB0MCwgd2hpY2ggaG9sZHMgdGhlIGJhc2UuCisgICAgbG9hZGkgMTJbUENdLCB0MQor
ICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQyLCB0MykKKyAgICBsb2FkaSAyMFtQQ10s
IHQxCisgICAgc3RvcmVQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXQodDEsIHQwLCB0MiwgdDMpCisg
ICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3B1dF9ieV9pZF9sZW5ndGgpCisKKy5vcFB1dEJ5SWRT
bG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX3B1dF9ieV9pZCkK
KyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfcHV0X2J5X2lkX2xlbmd0aCkKKworCitfbGxpbnRf
b3BfZ2V0X2J5X3ZhbDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGkgOFtQQ10sIHQy
CisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQodDIsIENlbGxUYWcsIHQwLCAub3BH
ZXRCeVZhbFNsb3cpCisgICAgbW92ZSB0MCwgdDIKKyAgICBsb2FkcCAxNltQQ10sIHQzCisgICAg
YXJyYXlQcm9maWxlKHQyLCB0MywgdDEpCisgICAgbG9hZGkgMTJbUENdLCB0MworICAgIGxvYWRD
b25zdGFudE9yVmFyaWFibGVQYXlsb2FkKHQzLCBJbnQzMlRhZywgdDEsIC5vcEdldEJ5VmFsU2xv
dykKKyAgICBsb2FkcCBKU09iamVjdDo6bV9idXR0ZXJmbHlbdDBdLCB0MworICAgIGFuZGkgSW5k
ZXhpbmdTaGFwZU1hc2ssIHQyCisgICAgYmllcSB0MiwgSW50MzJTaGFwZSwgLm9wR2V0QnlWYWxJ
c0NvbnRpZ3VvdXMKKyAgICBiaW5lcSB0MiwgQ29udGlndW91c1NoYXBlLCAub3BHZXRCeVZhbE5v
dENvbnRpZ3VvdXMKKy5vcEdldEJ5VmFsSXNDb250aWd1b3VzOgorICAgIAorICAgIGJpYWVxIHQx
LCAtc2l6ZW9mIEluZGV4aW5nSGVhZGVyICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy5wdWJs
aWNMZW5ndGhbdDNdLCAub3BHZXRCeVZhbE91dE9mQm91bmRzCisgICAgbG9hZGkgVGFnT2Zmc2V0
W3QzLCB0MSwgOF0sIHQyCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldFt0MywgdDEsIDhdLCB0MQor
ICAgIGptcCAub3BHZXRCeVZhbERvbmUKKworLm9wR2V0QnlWYWxOb3RDb250aWd1b3VzOgorICAg
IGJpbmVxIHQyLCBEb3VibGVTaGFwZSwgLm9wR2V0QnlWYWxOb3REb3VibGUKKyAgICBiaWFlcSB0
MSwgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMucHVi
bGljTGVuZ3RoW3QzXSwgLm9wR2V0QnlWYWxPdXRPZkJvdW5kcworICAgIGxvYWRkIFt0MywgdDEs
IDhdLCBmdDAKKyAgICBiZG5lcXVuIGZ0MCwgZnQwLCAub3BHZXRCeVZhbFNsb3cKKyAgICAjIEZJ
WE1FOiBUaGlzIGNvdWxkIGJlIG1hc3NpdmVseSBvcHRpbWl6ZWQuCisgICAgZmQyaWkgZnQwLCB0
MSwgdDIKKyAgICBsb2FkaSA0W1BDXSwgdDAKKyAgICBqbXAgLm9wR2V0QnlWYWxOb3RFbXB0eQor
Cisub3BHZXRCeVZhbE5vdERvdWJsZToKKyAgICBzdWJpIEFycmF5U3RvcmFnZVNoYXBlLCB0Mgor
ICAgIGJpYSB0MiwgU2xvd1B1dEFycmF5U3RvcmFnZVNoYXBlIC0gQXJyYXlTdG9yYWdlU2hhcGUs
IC5vcEdldEJ5VmFsU2xvdworICAgIGJpYWVxIHQxLCAtc2l6ZW9mIEluZGV4aW5nSGVhZGVyICsg
SW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy52ZWN0b3JMZW5ndGhbdDNdLCAub3BHZXRCeVZhbE91
dE9mQm91bmRzCisgICAgbG9hZGkgQXJyYXlTdG9yYWdlOjptX3ZlY3RvciArIFRhZ09mZnNldFt0
MywgdDEsIDhdLCB0MgorICAgIGxvYWRpIEFycmF5U3RvcmFnZTo6bV92ZWN0b3IgKyBQYXlsb2Fk
T2Zmc2V0W3QzLCB0MSwgOF0sIHQxCisKKy5vcEdldEJ5VmFsRG9uZToKKyAgICBsb2FkaSA0W1BD
XSwgdDAKKyAgICBiaWVxIHQyLCBFbXB0eVZhbHVlVGFnLCAub3BHZXRCeVZhbE91dE9mQm91bmRz
Cisub3BHZXRCeVZhbE5vdEVtcHR5OgorICAgIHN0b3JlaSB0MiwgVGFnT2Zmc2V0W2NmciwgdDAs
IDhdCisgICAgc3RvcmVpIHQxLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdCisgICAgdmFsdWVQ
cm9maWxlKHQyLCB0MSwgMjAsIHQwKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfYnlf
dmFsX2xlbmd0aCkKKworLm9wR2V0QnlWYWxPdXRPZkJvdW5kczoKKyAgICBsb2FkcEZyb21JbnN0
cnVjdGlvbig0LCB0MCkKKyAgICBzdG9yZWIgMSwgQXJyYXlQcm9maWxlOjptX291dE9mQm91bmRz
W3QwXQorLm9wR2V0QnlWYWxTbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xv
d19wYXRoX2dldF9ieV92YWwpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9ieV92YWxf
bGVuZ3RoKQorCisKK21hY3JvIGNvbnRpZ3VvdXNQdXRCeVZhbChzdG9yZUNhbGxiYWNrKQorICAg
IGJpYWVxIHQzLCAtc2l6ZW9mIEluZGV4aW5nSGVhZGVyICsgSW5kZXhpbmdIZWFkZXI6OnUubGVu
Z3Rocy5wdWJsaWNMZW5ndGhbdDBdLCAub3V0T2ZCb3VuZHMKKy5zdG9yZVJlc3VsdDoKKyAgICBs
b2FkaSAxMltQQ10sIHQyCisgICAgc3RvcmVDYWxsYmFjayh0MiwgdDEsIHQwLCB0MykKKyAgICBk
aXNwYXRjaCg1KQorCisub3V0T2ZCb3VuZHM6CisgICAgYmlhZXEgdDMsIC1zaXplb2YgSW5kZXhp
bmdIZWFkZXIgKyBJbmRleGluZ0hlYWRlcjo6dS5sZW5ndGhzLnZlY3Rvckxlbmd0aFt0MF0sIC5v
cFB1dEJ5VmFsT3V0T2ZCb3VuZHMKKyAgICBsb2FkcCAxNltQQ10sIHQyCisgICAgc3RvcmViIDEs
IEFycmF5UHJvZmlsZTo6bV9tYXlTdG9yZVRvSG9sZVt0Ml0KKyAgICBhZGRpIDEsIHQzLCB0Mgor
ICAgIHN0b3JlaSB0MiwgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1
Lmxlbmd0aHMucHVibGljTGVuZ3RoW3QwXQorICAgIGptcCAuc3RvcmVSZXN1bHQKK2VuZAorCitt
YWNybyBwdXRCeVZhbChzbG93UGF0aCkKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgd3JpdGVC
YXJyaWVyT25PcGVyYW5kcygxLCAzKQorICAgIGxvYWRpIDRbUENdLCB0MAorICAgIGxvYWRDb25z
dGFudE9yVmFyaWFibGVQYXlsb2FkKHQwLCBDZWxsVGFnLCB0MSwgLm9wUHV0QnlWYWxTbG93KQor
ICAgIG1vdmUgdDEsIHQyCisgICAgbG9hZHAgMTZbUENdLCB0MworICAgIGFycmF5UHJvZmlsZSh0
MiwgdDMsIHQwKQorICAgIGxvYWRpIDhbUENdLCB0MAorICAgIGxvYWRDb25zdGFudE9yVmFyaWFi
bGVQYXlsb2FkKHQwLCBJbnQzMlRhZywgdDMsIC5vcFB1dEJ5VmFsU2xvdykKKyAgICBsb2FkcCBK
U09iamVjdDo6bV9idXR0ZXJmbHlbdDFdLCB0MAorICAgIGFuZGkgSW5kZXhpbmdTaGFwZU1hc2ss
IHQyCisgICAgYmluZXEgdDIsIEludDMyU2hhcGUsIC5vcFB1dEJ5VmFsTm90SW50MzIKKyAgICBj
b250aWd1b3VzUHV0QnlWYWwoCisgICAgICAgIG1hY3JvIChvcGVyYW5kLCBzY3JhdGNoLCBiYXNl
LCBpbmRleCkKKyAgICAgICAgICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXlsb2FkKG9wZXJh
bmQsIEludDMyVGFnLCBzY3JhdGNoLCAub3BQdXRCeVZhbFNsb3cpCisgICAgICAgICAgICBzdG9y
ZWkgSW50MzJUYWcsIFRhZ09mZnNldFtiYXNlLCBpbmRleCwgOF0KKyAgICAgICAgICAgIHN0b3Jl
aSBzY3JhdGNoLCBQYXlsb2FkT2Zmc2V0W2Jhc2UsIGluZGV4LCA4XQorICAgICAgICBlbmQpCisK
Ky5vcFB1dEJ5VmFsTm90SW50MzI6CisgICAgYmluZXEgdDIsIERvdWJsZVNoYXBlLCAub3BQdXRC
eVZhbE5vdERvdWJsZQorICAgIGNvbnRpZ3VvdXNQdXRCeVZhbCgKKyAgICAgICAgbWFjcm8gKG9w
ZXJhbmQsIHNjcmF0Y2gsIGJhc2UsIGluZGV4KQorICAgICAgICAgICAgY29uc3QgdGFnID0gc2Ny
YXRjaAorICAgICAgICAgICAgY29uc3QgcGF5bG9hZCA9IG9wZXJhbmQKKyAgICAgICAgICAgIGxv
YWRDb25zdGFudE9yVmFyaWFibGUyUmVnKG9wZXJhbmQsIHRhZywgcGF5bG9hZCkKKyAgICAgICAg
ICAgIGJpbmVxIHRhZywgSW50MzJUYWcsIC5ub3RJbnQKKyAgICAgICAgICAgIGNpMmQgcGF5bG9h
ZCwgZnQwCisgICAgICAgICAgICBqbXAgLnJlYWR5CisgICAgICAgIC5ub3RJbnQ6CisgICAgICAg
ICAgICBmaWkyZCBwYXlsb2FkLCB0YWcsIGZ0MAorICAgICAgICAgICAgYmRuZXF1biBmdDAsIGZ0
MCwgLm9wUHV0QnlWYWxTbG93CisgICAgICAgIC5yZWFkeToKKyAgICAgICAgICAgIHN0b3JlZCBm
dDAsIFtiYXNlLCBpbmRleCwgOF0KKyAgICAgICAgZW5kKQorCisub3BQdXRCeVZhbE5vdERvdWJs
ZToKKyAgICBiaW5lcSB0MiwgQ29udGlndW91c1NoYXBlLCAub3BQdXRCeVZhbE5vdENvbnRpZ3Vv
dXMKKyAgICBjb250aWd1b3VzUHV0QnlWYWwoCisgICAgICAgIG1hY3JvIChvcGVyYW5kLCBzY3Jh
dGNoLCBiYXNlLCBpbmRleCkKKyAgICAgICAgICAgIGNvbnN0IHRhZyA9IHNjcmF0Y2gKKyAgICAg
ICAgICAgIGNvbnN0IHBheWxvYWQgPSBvcGVyYW5kCisgICAgICAgICAgICBsb2FkQ29uc3RhbnRP
clZhcmlhYmxlMlJlZyhvcGVyYW5kLCB0YWcsIHBheWxvYWQpCisgICAgICAgICAgICBzdG9yZWkg
dGFnLCBUYWdPZmZzZXRbYmFzZSwgaW5kZXgsIDhdCisgICAgICAgICAgICBzdG9yZWkgcGF5bG9h
ZCwgUGF5bG9hZE9mZnNldFtiYXNlLCBpbmRleCwgOF0KKyAgICAgICAgZW5kKQorCisub3BQdXRC
eVZhbE5vdENvbnRpZ3VvdXM6CisgICAgYmluZXEgdDIsIEFycmF5U3RvcmFnZVNoYXBlLCAub3BQ
dXRCeVZhbFNsb3cKKyAgICBiaWFlcSB0MywgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4
aW5nSGVhZGVyOjp1Lmxlbmd0aHMudmVjdG9yTGVuZ3RoW3QwXSwgLm9wUHV0QnlWYWxPdXRPZkJv
dW5kcworICAgIGJpZXEgQXJyYXlTdG9yYWdlOjptX3ZlY3RvciArIFRhZ09mZnNldFt0MCwgdDMs
IDhdLCBFbXB0eVZhbHVlVGFnLCAub3BQdXRCeVZhbEFycmF5U3RvcmFnZUVtcHR5Cisub3BQdXRC
eVZhbEFycmF5U3RvcmFnZVN0b3JlUmVzdWx0OgorICAgIGxvYWRpIDEyW1BDXSwgdDIKKyAgICBs
b2FkQ29uc3RhbnRPclZhcmlhYmxlMlJlZyh0MiwgdDEsIHQyKQorICAgIHN0b3JlaSB0MSwgQXJy
YXlTdG9yYWdlOjptX3ZlY3RvciArIFRhZ09mZnNldFt0MCwgdDMsIDhdCisgICAgc3RvcmVpIHQy
LCBBcnJheVN0b3JhZ2U6Om1fdmVjdG9yICsgUGF5bG9hZE9mZnNldFt0MCwgdDMsIDhdCisgICAg
ZGlzcGF0Y2goNSkKKworLm9wUHV0QnlWYWxBcnJheVN0b3JhZ2VFbXB0eToKKyAgICBsb2FkcCAx
NltQQ10sIHQxCisgICAgc3RvcmViIDEsIEFycmF5UHJvZmlsZTo6bV9tYXlTdG9yZVRvSG9sZVt0
MV0KKyAgICBhZGRpIDEsIEFycmF5U3RvcmFnZTo6bV9udW1WYWx1ZXNJblZlY3Rvclt0MF0KKyAg
ICBiaWIgdDMsIC1zaXplb2YgSW5kZXhpbmdIZWFkZXIgKyBJbmRleGluZ0hlYWRlcjo6dS5sZW5n
dGhzLnB1YmxpY0xlbmd0aFt0MF0sIC5vcFB1dEJ5VmFsQXJyYXlTdG9yYWdlU3RvcmVSZXN1bHQK
KyAgICBhZGRpIDEsIHQzLCB0MQorICAgIHN0b3JlaSB0MSwgLXNpemVvZiBJbmRleGluZ0hlYWRl
ciArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMucHVibGljTGVuZ3RoW3QwXQorICAgIGptcCAu
b3BQdXRCeVZhbEFycmF5U3RvcmFnZVN0b3JlUmVzdWx0CisKKy5vcFB1dEJ5VmFsT3V0T2ZCb3Vu
ZHM6CisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNCwgdDApCisgICAgc3RvcmViIDEsIEFycmF5
UHJvZmlsZTo6bV9vdXRPZkJvdW5kc1t0MF0KKy5vcFB1dEJ5VmFsU2xvdzoKKyAgICBjYWxsT3Bj
b2RlU2xvd1BhdGgoc2xvd1BhdGgpCisgICAgZGlzcGF0Y2goNSkKK2VuZAorCitfbGxpbnRfb3Bf
cHV0X2J5X3ZhbDoKKyAgICBwdXRCeVZhbChfbGxpbnRfc2xvd19wYXRoX3B1dF9ieV92YWwpCisK
K19sbGludF9vcF9wdXRfYnlfdmFsX2RpcmVjdDoKKyAgICBwdXRCeVZhbChfbGxpbnRfc2xvd19w
YXRoX3B1dF9ieV92YWxfZGlyZWN0KQorCitfbGxpbnRfb3Bfam1wOgorICAgIHRyYWNlRXhlY3V0
aW9uKCkKKyAgICBkaXNwYXRjaEJyYW5jaCg0W1BDXSkKKworCittYWNybyBqdW1wVHJ1ZU9yRmFs
c2UoY29uZGl0aW9uT3AsIHNsb3cpCisgICAgbG9hZGkgNFtQQ10sIHQxCisgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZVBheWxvYWQodDEsIEJvb2xlYW5UYWcsIHQwLCAuc2xvdykKKyAgICBjb25k
aXRpb25PcCh0MCwgLnRhcmdldCkKKyAgICBkaXNwYXRjaCgzKQorCisudGFyZ2V0OgorICAgIGRp
c3BhdGNoQnJhbmNoKDhbUENdKQorCisuc2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoc2xv
dykKKyAgICBkaXNwYXRjaCgwKQorZW5kCisKKworbWFjcm8gZXF1YWxOdWxsKGNlbGxIYW5kbGVy
LCBpbW1lZGlhdGVIYW5kbGVyKQorICAgIGxvYWRpIDRbUENdLCB0MAorICAgIGFzc2VydE5vdENv
bnN0YW50KHQwKQorICAgIGxvYWRpIFRhZ09mZnNldFtjZnIsIHQwLCA4XSwgdDEKKyAgICBsb2Fk
aSBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdLCB0MAorICAgIGJpbmVxIHQxLCBDZWxsVGFnLCAu
aW1tZWRpYXRlCisgICAgbG9hZHAgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QwXSwgdDIKKyAgICBj
ZWxsSGFuZGxlcih0MiwgSlNDZWxsOjptX2ZsYWdzW3QwXSwgLnRhcmdldCkKKyAgICBkaXNwYXRj
aCgzKQorCisudGFyZ2V0OgorICAgIGRpc3BhdGNoQnJhbmNoKDhbUENdKQorCisuaW1tZWRpYXRl
OgorICAgIG9yaSAxLCB0MQorICAgIGltbWVkaWF0ZUhhbmRsZXIodDEsIC50YXJnZXQpCisgICAg
ZGlzcGF0Y2goMykKK2VuZAorCitfbGxpbnRfb3BfamVxX251bGw6CisgICAgdHJhY2VFeGVjdXRp
b24oKQorICAgIGVxdWFsTnVsbCgKKyAgICAgICAgbWFjcm8gKHN0cnVjdHVyZSwgdmFsdWUsIHRh
cmdldCkgCisgICAgICAgICAgICBidGJ6IHZhbHVlLCBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkLCAu
b3BKZXFOdWxsTm90TWFzcXVlcmFkZXNBc1VuZGVmaW5lZAorICAgICAgICAgICAgbG9hZHAgQ29k
ZUJsb2NrW2Nmcl0sIHQwCisgICAgICAgICAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2Jq
ZWN0W3QwXSwgdDAKKyAgICAgICAgICAgIGJwZXEgU3RydWN0dXJlOjptX2dsb2JhbE9iamVjdFtz
dHJ1Y3R1cmVdLCB0MCwgdGFyZ2V0Cisub3BKZXFOdWxsTm90TWFzcXVlcmFkZXNBc1VuZGVmaW5l
ZDoKKyAgICAgICAgZW5kLAorICAgICAgICBtYWNybyAodmFsdWUsIHRhcmdldCkgYmllcSB2YWx1
ZSwgTnVsbFRhZywgdGFyZ2V0IGVuZCkKKyAgICAKKworX2xsaW50X29wX2puZXFfbnVsbDoKKyAg
ICB0cmFjZUV4ZWN1dGlvbigpCisgICAgZXF1YWxOdWxsKAorICAgICAgICBtYWNybyAoc3RydWN0
dXJlLCB2YWx1ZSwgdGFyZ2V0KSAKKyAgICAgICAgICAgIGJ0YnogdmFsdWUsIE1hc3F1ZXJhZGVz
QXNVbmRlZmluZWQsIHRhcmdldCAKKyAgICAgICAgICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0
MAorICAgICAgICAgICAgbG9hZHAgQ29kZUJsb2NrOjptX2dsb2JhbE9iamVjdFt0MF0sIHQwCisg
ICAgICAgICAgICBicG5lcSBTdHJ1Y3R1cmU6Om1fZ2xvYmFsT2JqZWN0W3N0cnVjdHVyZV0sIHQw
LCB0YXJnZXQKKyAgICAgICAgZW5kLAorICAgICAgICBtYWNybyAodmFsdWUsIHRhcmdldCkgYmlu
ZXEgdmFsdWUsIE51bGxUYWcsIHRhcmdldCBlbmQpCisKKworX2xsaW50X29wX2puZXFfcHRyOgor
ICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSA0W1BDXSwgdDAKKyAgICBsb2FkaSA4W1BD
XSwgdDEKKyAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDIKKyAgICBsb2FkcCBDb2RlQmxvY2s6
Om1fZ2xvYmFsT2JqZWN0W3QyXSwgdDIKKyAgICBiaW5lcSBUYWdPZmZzZXRbY2ZyLCB0MCwgOF0s
IENlbGxUYWcsIC5vcEpuZXFQdHJCcmFuY2gKKyAgICBsb2FkcCBKU0dsb2JhbE9iamVjdDo6bV9z
cGVjaWFsUG9pbnRlcnNbdDIsIHQxLCA0XSwgdDEKKyAgICBicGVxIFBheWxvYWRPZmZzZXRbY2Zy
LCB0MCwgOF0sIHQxLCAub3BKbmVxUHRyRmFsbFRocm91Z2gKKy5vcEpuZXFQdHJCcmFuY2g6Cisg
ICAgc3RvcmVpIDEsIDE2W1BDXQorICAgIGRpc3BhdGNoQnJhbmNoKDEyW1BDXSkKKy5vcEpuZXFQ
dHJGYWxsVGhyb3VnaDoKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3Bfam5lcV9wdHJfbGVuZ3Ro
KQorCisKK21hY3JvIGNvbXBhcmUoaW50ZWdlckNvbXBhcmUsIGRvdWJsZUNvbXBhcmUsIHNsb3dQ
YXRoKQorICAgIGxvYWRpIDRbUENdLCB0MgorICAgIGxvYWRpIDhbUENdLCB0MworICAgIGxvYWRD
b25zdGFudE9yVmFyaWFibGUodDIsIHQwLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxl
MlJlZyh0MywgdDIsIHQzKQorICAgIGJpbmVxIHQwLCBJbnQzMlRhZywgLm9wMU5vdEludAorICAg
IGJpbmVxIHQyLCBJbnQzMlRhZywgLm9wMk5vdEludAorICAgIGludGVnZXJDb21wYXJlKHQxLCB0
MywgLmp1bXBUYXJnZXQpCisgICAgZGlzcGF0Y2goNCkKKworLm9wMU5vdEludDoKKyAgICBiaWEg
dDAsIExvd2VzdFRhZywgLnNsb3cKKyAgICBiaWIgdDIsIExvd2VzdFRhZywgLm9wMU5vdEludE9w
MkRvdWJsZQorICAgIGJpbmVxIHQyLCBJbnQzMlRhZywgLnNsb3cKKyAgICBjaTJkIHQzLCBmdDEK
KyAgICBqbXAgLm9wMU5vdEludFJlYWR5Cisub3AxTm90SW50T3AyRG91YmxlOgorICAgIGZpaTJk
IHQzLCB0MiwgZnQxCisub3AxTm90SW50UmVhZHk6CisgICAgZmlpMmQgdDEsIHQwLCBmdDAKKyAg
ICBkb3VibGVDb21wYXJlKGZ0MCwgZnQxLCAuanVtcFRhcmdldCkKKyAgICBkaXNwYXRjaCg0KQor
Cisub3AyTm90SW50OgorICAgIGNpMmQgdDEsIGZ0MAorICAgIGJpYSB0MiwgTG93ZXN0VGFnLCAu
c2xvdworICAgIGZpaTJkIHQzLCB0MiwgZnQxCisgICAgZG91YmxlQ29tcGFyZShmdDAsIGZ0MSwg
Lmp1bXBUYXJnZXQpCisgICAgZGlzcGF0Y2goNCkKKworLmp1bXBUYXJnZXQ6CisgICAgZGlzcGF0
Y2hCcmFuY2goMTJbUENdKQorCisuc2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoc2xvd1Bh
dGgpCisgICAgZGlzcGF0Y2goMCkKK2VuZAorCisKK19sbGludF9vcF9zd2l0Y2hfaW1tOgorICAg
IHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSAxMltQQ10sIHQyCisgICAgbG9hZGkgNFtQQ10s
IHQzCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDEsIHQwKQorICAgIGxvYWRwIENv
ZGVCbG9ja1tjZnJdLCB0MgorICAgIGxvYWRwIENvZGVCbG9jazo6bV9yYXJlRGF0YVt0Ml0sIHQy
CisgICAgbXVsaSBzaXplb2YgU2ltcGxlSnVtcFRhYmxlLCB0MyAgICMgRklYTUU6IHdvdWxkIGJl
IG5pY2UgdG8gcGVlcGhvbGUgdGhpcyEKKyAgICBsb2FkcCBDb2RlQmxvY2s6OlJhcmVEYXRhOjpt
X3N3aXRjaEp1bXBUYWJsZXMgKyBWZWN0b3JCdWZmZXJPZmZzZXRbdDJdLCB0MgorICAgIGFkZHAg
dDMsIHQyCisgICAgYmluZXEgdDEsIEludDMyVGFnLCAub3BTd2l0Y2hJbW1Ob3RJbnQKKyAgICBz
dWJpIFNpbXBsZUp1bXBUYWJsZTo6bWluW3QyXSwgdDAKKyAgICBiaWFlcSB0MCwgU2ltcGxlSnVt
cFRhYmxlOjpicmFuY2hPZmZzZXRzICsgVmVjdG9yU2l6ZU9mZnNldFt0Ml0sIC5vcFN3aXRjaElt
bUZhbGxUaHJvdWdoCisgICAgbG9hZHAgU2ltcGxlSnVtcFRhYmxlOjpicmFuY2hPZmZzZXRzICsg
VmVjdG9yQnVmZmVyT2Zmc2V0W3QyXSwgdDMKKyAgICBsb2FkaSBbdDMsIHQwLCA0XSwgdDEKKyAg
ICBidGl6IHQxLCAub3BTd2l0Y2hJbW1GYWxsVGhyb3VnaAorICAgIGRpc3BhdGNoQnJhbmNoV2l0
aE9mZnNldCh0MSkKKworLm9wU3dpdGNoSW1tTm90SW50OgorICAgIGJpYiB0MSwgTG93ZXN0VGFn
LCAub3BTd2l0Y2hJbW1TbG93ICAjIEdvIHRvIHNsb3cgcGF0aCBpZiBpdCdzIGEgZG91YmxlLgor
Lm9wU3dpdGNoSW1tRmFsbFRocm91Z2g6CisgICAgZGlzcGF0Y2hCcmFuY2goOFtQQ10pCisKKy5v
cFN3aXRjaEltbVNsb3c6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhf
c3dpdGNoX2ltbSkKKyAgICBkaXNwYXRjaCgwKQorCisKK19sbGludF9vcF9zd2l0Y2hfY2hhcjoK
KyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGkgMTJbUENdLCB0MgorICAgIGxvYWRpIDRb
UENdLCB0MworICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDIsIHQxLCB0MCkKKyAgICBsb2Fk
cCBDb2RlQmxvY2tbY2ZyXSwgdDIKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fcmFyZURhdGFbdDJd
LCB0MgorICAgIG11bGkgc2l6ZW9mIFNpbXBsZUp1bXBUYWJsZSwgdDMKKyAgICBsb2FkcCBDb2Rl
QmxvY2s6OlJhcmVEYXRhOjptX3N3aXRjaEp1bXBUYWJsZXMgKyBWZWN0b3JCdWZmZXJPZmZzZXRb
dDJdLCB0MgorICAgIGFkZHAgdDMsIHQyCisgICAgYmluZXEgdDEsIENlbGxUYWcsIC5vcFN3aXRj
aENoYXJGYWxsVGhyb3VnaAorICAgIGJibmVxIEpTQ2VsbDo6bV90eXBlW3QwXSwgU3RyaW5nVHlw
ZSwgLm9wU3dpdGNoQ2hhckZhbGxUaHJvdWdoCisgICAgYmluZXEgSlNTdHJpbmc6Om1fbGVuZ3Ro
W3QwXSwgMSwgLm9wU3dpdGNoQ2hhckZhbGxUaHJvdWdoCisgICAgbG9hZHAgSlNTdHJpbmc6Om1f
dmFsdWVbdDBdLCB0MAorICAgIGJ0cHogIHQwLCAub3BTd2l0Y2hPblJvcGUKKyAgICBsb2FkcCBT
dHJpbmdJbXBsOjptX2RhdGE4W3QwXSwgdDEKKyAgICBidGlueiBTdHJpbmdJbXBsOjptX2hhc2hB
bmRGbGFnc1t0MF0sIEhhc2hGbGFnczhCaXRCdWZmZXIsIC5vcFN3aXRjaENoYXI4Qml0CisgICAg
bG9hZGggW3QxXSwgdDAKKyAgICBqbXAgLm9wU3dpdGNoQ2hhclJlYWR5Cisub3BTd2l0Y2hDaGFy
OEJpdDoKKyAgICBsb2FkYiBbdDFdLCB0MAorLm9wU3dpdGNoQ2hhclJlYWR5OgorICAgIHN1Ymkg
U2ltcGxlSnVtcFRhYmxlOjptaW5bdDJdLCB0MAorICAgIGJpYWVxIHQwLCBTaW1wbGVKdW1wVGFi
bGU6OmJyYW5jaE9mZnNldHMgKyBWZWN0b3JTaXplT2Zmc2V0W3QyXSwgLm9wU3dpdGNoQ2hhckZh
bGxUaHJvdWdoCisgICAgbG9hZHAgU2ltcGxlSnVtcFRhYmxlOjpicmFuY2hPZmZzZXRzICsgVmVj
dG9yQnVmZmVyT2Zmc2V0W3QyXSwgdDIKKyAgICBsb2FkaSBbdDIsIHQwLCA0XSwgdDEKKyAgICBi
dGl6IHQxLCAub3BTd2l0Y2hDaGFyRmFsbFRocm91Z2gKKyAgICBkaXNwYXRjaEJyYW5jaFdpdGhP
ZmZzZXQodDEpCisKKy5vcFN3aXRjaENoYXJGYWxsVGhyb3VnaDoKKyAgICBkaXNwYXRjaEJyYW5j
aCg4W1BDXSkKKworLm9wU3dpdGNoT25Sb3BlOgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxp
bnRfc2xvd19wYXRoX3N3aXRjaF9jaGFyKQorICAgIGRpc3BhdGNoKDApCisKKworbWFjcm8gYXJy
YXlQcm9maWxlRm9yQ2FsbCgpCisgICAgbG9hZGkgMTZbUENdLCB0MworICAgIG5lZ2kgdDMKKyAg
ICBiaW5lcSBUaGlzQXJndW1lbnRPZmZzZXQgKyBUYWdPZmZzZXRbY2ZyLCB0MywgOF0sIENlbGxU
YWcsIC5kb25lCisgICAgbG9hZGkgVGhpc0FyZ3VtZW50T2Zmc2V0ICsgUGF5bG9hZE9mZnNldFtj
ZnIsIHQzLCA4XSwgdDAKKyAgICBsb2FkcCBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDBdLCB0MAor
ICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKENhbGxPcENvZGVTaXplIC0gMiwgdDEpCisgICAgc3Rv
cmVwIHQwLCBBcnJheVByb2ZpbGU6Om1fbGFzdFNlZW5TdHJ1Y3R1cmVJRFt0MV0KKy5kb25lOgor
ZW5kCisKK21hY3JvIGRvQ2FsbChzbG93UGF0aCwgcHJlcGFyZUNhbGwpCisgICAgbG9hZGkgOFtQ
Q10sIHQwCisgICAgbG9hZGkgMjBbUENdLCB0MQorICAgIGxvYWRwIExMSW50Q2FsbExpbmtJbmZv
OjpjYWxsZWVbdDFdLCB0MgorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXlsb2FkKHQwLCBD
ZWxsVGFnLCB0MywgLm9wQ2FsbFNsb3cpCisgICAgYmluZXEgdDMsIHQyLCAub3BDYWxsU2xvdwor
ICAgIGxvYWRpIDE2W1BDXSwgdDMKKyAgICBsc2hpZnRpIDMsIHQzCisgICAgbmVnaSB0MworICAg
IGFkZHAgY2ZyLCB0MyAgIyB0MyBjb250YWlucyB0aGUgbmV3IHZhbHVlIG9mIGNmcgorICAgIHN0
b3JlaSB0MiwgQ2FsbGVlICsgUGF5bG9hZE9mZnNldFt0M10KKyAgICBsb2FkaSAxMltQQ10sIHQy
CisgICAgc3RvcmVpIFBDLCBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0KKyAgICBzdG9y
ZWkgdDIsIEFyZ3VtZW50Q291bnQgKyBQYXlsb2FkT2Zmc2V0W3QzXQorICAgIHN0b3JlaSBDZWxs
VGFnLCBDYWxsZWUgKyBUYWdPZmZzZXRbdDNdCisgICAgbW92ZSB0Mywgc3AKKyAgICBwcmVwYXJl
Q2FsbChMTEludENhbGxMaW5rSW5mbzo6bWFjaGluZUNvZGVUYXJnZXRbdDFdLCB0MiwgdDMsIHQ0
KQorICAgIGNhbGxUYXJnZXRGdW5jdGlvbihMTEludENhbGxMaW5rSW5mbzo6bWFjaGluZUNvZGVU
YXJnZXRbdDFdKQorCisub3BDYWxsU2xvdzoKKyAgICBzbG93UGF0aEZvckNhbGwoc2xvd1BhdGgs
IHByZXBhcmVDYWxsKQorZW5kCisKK19sbGludF9vcF9yZXQ6CisgICAgdHJhY2VFeGVjdXRpb24o
KQorICAgIGNoZWNrU3dpdGNoVG9KSVRGb3JFcGlsb2d1ZSgpCisgICAgbG9hZGkgNFtQQ10sIHQy
CisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDEsIHQwKQorICAgIGRvUmV0dXJuKCkK
KworCitfbGxpbnRfb3BfdG9fcHJpbWl0aXZlOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBs
b2FkaSA4W1BDXSwgdDIKKyAgICBsb2FkaSA0W1BDXSwgdDMKKyAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlKHQyLCB0MSwgdDApCisgICAgYmluZXEgdDEsIENlbGxUYWcsIC5vcFRvUHJpbWl0aXZl
SXNJbW0KKyAgICBiYmFlcSBKU0NlbGw6Om1fdHlwZVt0MF0sIE9iamVjdFR5cGUsIC5vcFRvUHJp
bWl0aXZlU2xvd0Nhc2UKKy5vcFRvUHJpbWl0aXZlSXNJbW06CisgICAgc3RvcmVpIHQxLCBUYWdP
ZmZzZXRbY2ZyLCB0MywgOF0KKyAgICBzdG9yZWkgdDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0Mywg
OF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfdG9fcHJpbWl0aXZlX2xlbmd0aCkKKworLm9w
VG9QcmltaXRpdmVTbG93Q2FzZToKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF90
b19wcmltaXRpdmUpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3RvX3ByaW1pdGl2ZV9sZW5n
dGgpCisKKworX2xsaW50X29wX2NhdGNoOgorICAgICMgVGhpcyBpcyB3aGVyZSB3ZSBlbmQgdXAg
ZnJvbSB0aGUgSklUJ3MgdGhyb3cgdHJhbXBvbGluZSAoYmVjYXVzZSB0aGUKKyAgICAjIG1hY2hp
bmUgY29kZSByZXR1cm4gYWRkcmVzcyB3aWxsIGJlIHNldCB0byBfbGxpbnRfb3BfY2F0Y2gpLCBh
bmQgZnJvbQorICAgICMgdGhlIGludGVycHJldGVyJ3MgdGhyb3cgdHJhbXBvbGluZSAoc2VlIF9s
bGludF90aHJvd190cmFtcG9saW5lKS4KKyAgICAjIFRoZSB0aHJvd2luZyBjb2RlIG11c3QgaGF2
ZSBrbm93biB0aGF0IHdlIHdlcmUgdGhyb3dpbmcgdG8gdGhlIGludGVycHJldGVyLAorICAgICMg
YW5kIGhhdmUgc2V0IFZNOjp0YXJnZXRJbnRlcnByZXRlclBDRm9yVGhyb3cuCisgICAgbG9hZHAg
Q2FsbGVlICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0MworICAgIGFuZHAgTWFya2VkQmxvY2tNYXNr
LCB0MworICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3ZtW3QzXSwgdDMKKyAgICByZXN0b3JlQ2Fs
bGVlU2F2ZXNGcm9tVk1FbnRyeUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIodDMsIHQwKQorICAgIGxv
YWRwIFZNOjpjYWxsRnJhbWVGb3JDYXRjaFt0M10sIGNmcgorICAgIHN0b3JlcCAwLCBWTTo6Y2Fs
bEZyYW1lRm9yQ2F0Y2hbdDNdCisgICAgcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVyQ2FsbCgpCisK
KyAgICBsb2FkaSBWTTo6dGFyZ2V0SW50ZXJwcmV0ZXJQQ0ZvclRocm93W3QzXSwgUEMKKworICAg
IGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2NoZWNrX2lmX2V4Y2VwdGlvbl9p
c191bmNhdGNoYWJsZV9hbmRfbm90aWZ5X3Byb2ZpbGVyKQorICAgIGJwZXEgcjEsIDAsIC5pc0Nh
dGNoYWJsZUV4Y2VwdGlvbgorICAgIGptcCBfbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJh
bXBvbGluZQorCisuaXNDYXRjaGFibGVFeGNlcHRpb246CisgICAgbG9hZHAgQ2FsbGVlICsgUGF5
bG9hZE9mZnNldFtjZnJdLCB0MworICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MworICAgIGxv
YWRwIE1hcmtlZEJsb2NrOjptX3ZtW3QzXSwgdDMKKworICAgIGxvYWRpIFZNOjptX2V4Y2VwdGlv
blt0M10sIHQwCisgICAgc3RvcmVpIDAsIFZNOjptX2V4Y2VwdGlvblt0M10KKyAgICBsb2FkaSA0
W1BDXSwgdDIKKyAgICBzdG9yZWkgdDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MiwgOF0KKyAgICBz
dG9yZWkgQ2VsbFRhZywgVGFnT2Zmc2V0W2NmciwgdDIsIDhdCisKKyAgICBsb2FkaSBFeGNlcHRp
b246Om1fdmFsdWUgKyBUYWdPZmZzZXRbdDBdLCB0MQorICAgIGxvYWRpIEV4Y2VwdGlvbjo6bV92
YWx1ZSArIFBheWxvYWRPZmZzZXRbdDBdLCB0MAorICAgIGxvYWRpIDhbUENdLCB0MgorICAgIHN0
b3JlaSB0MCwgUGF5bG9hZE9mZnNldFtjZnIsIHQyLCA4XQorICAgIHN0b3JlaSB0MSwgVGFnT2Zm
c2V0W2NmciwgdDIsIDhdCisKKyAgICB0cmFjZUV4ZWN1dGlvbigpICAjIFRoaXMgbmVlZHMgdG8g
YmUgaGVyZSBiZWNhdXNlIHdlIGRvbid0IHdhbnQgdG8gY2xvYmJlciB0MCwgdDEsIHQyLCB0MyBh
Ym92ZS4KKyAgICBkaXNwYXRjaCgzKQorCitfbGxpbnRfb3BfZW5kOgorICAgIHRyYWNlRXhlY3V0
aW9uKCkKKyAgICBjaGVja1N3aXRjaFRvSklURm9yRXBpbG9ndWUoKQorICAgIGxvYWRpIDRbUENd
LCB0MAorICAgIGFzc2VydE5vdENvbnN0YW50KHQwKQorICAgIGxvYWRpIFRhZ09mZnNldFtjZnIs
IHQwLCA4XSwgdDEKKyAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdLCB0MAorICAg
IGRvUmV0dXJuKCkKKworCitfbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZToK
KyAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9oYW5kbGVfZXhjZXB0aW9uKQorCisg
ICAgIyBXaGVuIHRocm93aW5nIGZyb20gdGhlIGludGVycHJldGVyIChpLmUuIHRocm93aW5nIGZy
b20gTExJbnRTbG93UGF0aHMpLCBzbworICAgICMgdGhlIHRocm93IHRhcmdldCBpcyBub3QgbmVj
ZXNzYXJpbHkgaW50ZXJwcmV0ZWQgY29kZSwgd2UgY29tZSB0byBoZXJlLgorICAgICMgVGhpcyBl
c3NlbnRpYWxseSBlbXVsYXRlcyB0aGUgSklUJ3MgdGhyb3dpbmcgcHJvdG9jb2wuCisgICAgbG9h
ZHAgQ2FsbGVlW2Nmcl0sIHQxCisgICAgYW5kcCBNYXJrZWRCbG9ja01hc2ssIHQxCisgICAgbG9h
ZHAgTWFya2VkQmxvY2s6Om1fdm1bdDFdLCB0MQorICAgIGNvcHlDYWxsZWVTYXZlc1RvVk1FbnRy
eUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIodDEsIHQyKQorICAgIGptcCBWTTo6dGFyZ2V0TWFjaGlu
ZVBDRm9yVGhyb3dbdDFdCisKKworX2xsaW50X3Rocm93X2R1cmluZ19jYWxsX3RyYW1wb2xpbmU6
CisgICAgcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKHQyKQorICAgIGptcCBfbGxpbnRf
dGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZQorCisKK21hY3JvIG5hdGl2ZUNhbGxUcmFt
cG9saW5lKGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uKQorCisgICAgZnVuY3Rpb25Qcm9sb2d1
ZSgpCisgICAgc3RvcmVwIDAsIENvZGVCbG9ja1tjZnJdCisgICAgbG9hZGkgQ2FsbGVlICsgUGF5
bG9hZE9mZnNldFtjZnJdLCB0MQorICAgIC8vIENhbGxlZSBpcyBzdGlsbCBpbiB0MSBmb3IgY29k
ZSBiZWxvdworICAgIGlmIFg4NiBvciBYODZfV0lOCisgICAgICAgIHN1YnAgOCwgc3AgIyBhbGln
biBzdGFjayBwb2ludGVyCisgICAgICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MQorICAgICAg
ICBsb2FkcCBNYXJrZWRCbG9jazo6bV92bVt0MV0sIHQzCisgICAgICAgIHN0b3JlcCBjZnIsIFZN
Ojp0b3BDYWxsRnJhbWVbdDNdCisgICAgICAgIG1vdmUgY2ZyLCBhMCAgIyBhMCA9IGVjeAorICAg
ICAgICBzdG9yZXAgYTAsIFtzcF0KKyAgICAgICAgbG9hZGkgQ2FsbGVlICsgUGF5bG9hZE9mZnNl
dFtjZnJdLCB0MQorICAgICAgICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4ZWN1dGFibGVbdDFdLCB0
MQorICAgICAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0MywgMHhkZWFkMDAwMSkKKyAg
ICAgICAgY2FsbCBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvblt0MV0KKyAgICAgICAgbG9hZHAg
Q2FsbGVlICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0MworICAgICAgICBhbmRwIE1hcmtlZEJsb2Nr
TWFzaywgdDMKKyAgICAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fdm1bdDNdLCB0MworICAgICAg
ICBhZGRwIDgsIHNwCisgICAgZWxzaWYgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFM
IG9yIENfTE9PUCBvciBNSVBTCisgICAgICAgIHN1YnAgOCwgc3AgIyBhbGlnbiBzdGFjayBwb2lu
dGVyCisgICAgICAgICMgdDEgYWxyZWFkeSBjb250YWlucyB0aGUgQ2FsbGVlLgorICAgICAgICBh
bmRwIE1hcmtlZEJsb2NrTWFzaywgdDEKKyAgICAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fdm1b
dDFdLCB0MQorICAgICAgICBzdG9yZXAgY2ZyLCBWTTo6dG9wQ2FsbEZyYW1lW3QxXQorICAgICAg
ICBtb3ZlIGNmciwgYTAKKyAgICAgICAgbG9hZGkgQ2FsbGVlICsgUGF5bG9hZE9mZnNldFtjZnJd
LCB0MQorICAgICAgICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4ZWN1dGFibGVbdDFdLCB0MQorICAg
ICAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0MywgMHhkZWFkMDAwMSkKKyAgICAgICAg
aWYgQ19MT09QCisgICAgICAgICAgICBjbG9vcENhbGxOYXRpdmUgZXhlY3V0YWJsZU9mZnNldFRv
RnVuY3Rpb25bdDFdCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNhbGwgZXhlY3V0YWJsZU9m
ZnNldFRvRnVuY3Rpb25bdDFdCisgICAgICAgIGVuZAorICAgICAgICBsb2FkcCBDYWxsZWUgKyBQ
YXlsb2FkT2Zmc2V0W2Nmcl0sIHQzCisgICAgICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0Mwor
ICAgICAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV92bVt0M10sIHQzCisgICAgICAgIGFkZHAgOCwg
c3AKKyAgICBlbHNlCisgICAgICAgIGVycm9yCisgICAgZW5kCisgICAgCisgICAgYnRpbnogVk06
Om1fZXhjZXB0aW9uW3QzXSwgLmhhbmRsZUV4Y2VwdGlvbgorCisgICAgZnVuY3Rpb25FcGlsb2d1
ZSgpCisgICAgcmV0CisKKy5oYW5kbGVFeGNlcHRpb246CisgICAgc3RvcmVwIGNmciwgVk06OnRv
cENhbGxGcmFtZVt0M10KKyAgICBqbXAgX2xsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1w
b2xpbmUKK2VuZAorCisKK21hY3JvIGdldENvbnN0YW50U2NvcGUoZHN0KQorICAgIGxvYWRwRnJv
bUluc3RydWN0aW9uKDYsIHQwKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbihkc3QsIHQxKQor
ICAgIHN0b3JlaSBDZWxsVGFnLCBUYWdPZmZzZXRbY2ZyLCB0MSwgOF0KKyAgICBzdG9yZWkgdDAs
IFBheWxvYWRPZmZzZXRbY2ZyLCB0MSwgOF0KK2VuZAorCittYWNybyB2YXJJbmplY3Rpb25DaGVj
ayhzbG93UGF0aCkKKyAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDAKKyAgICBsb2FkcCBDb2Rl
QmxvY2s6Om1fZ2xvYmFsT2JqZWN0W3QwXSwgdDAKKyAgICBsb2FkcCBKU0dsb2JhbE9iamVjdDo6
bV92YXJJbmplY3Rpb25XYXRjaHBvaW50W3QwXSwgdDAKKyAgICBiYmVxIFdhdGNocG9pbnRTZXQ6
Om1fc3RhdGVbdDBdLCBJc0ludmFsaWRhdGVkLCBzbG93UGF0aAorZW5kCisKK21hY3JvIHJlc29s
dmVTY29wZSgpCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQwCisgICAgbG9hZGlzRnJvbUlu
c3RydWN0aW9uKDUsIHQyKQorCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQwKQorICAg
IGxvYWRwIFBheWxvYWRPZmZzZXRbY2ZyLCB0MCwgOF0sIHQwCisgICAgYnRpeiB0MiwgLnJlc29s
dmVTY29wZUxvb3BFbmQKKworLnJlc29sdmVTY29wZUxvb3A6CisgICAgbG9hZHAgSlNTY29wZTo6
bV9uZXh0W3QwXSwgdDAKKyAgICBzdWJpIDEsIHQyCisgICAgYnRpbnogdDIsIC5yZXNvbHZlU2Nv
cGVMb29wCisKKy5yZXNvbHZlU2NvcGVMb29wRW5kOgorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlv
bigxLCB0MSkKKyAgICBzdG9yZWkgQ2VsbFRhZywgVGFnT2Zmc2V0W2NmciwgdDEsIDhdCisgICAg
c3RvcmVpIHQwLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDEsIDhdCitlbmQKKworCitfbGxpbnRfb3Bf
cmVzb2x2ZV9zY29wZToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGlzRnJvbUluc3Ry
dWN0aW9uKDQsIHQwKQorCisjckdsb2JhbFByb3BlcnR5OgorICAgIGJpbmVxIHQwLCBHbG9iYWxQ
cm9wZXJ0eSwgLnJHbG9iYWxWYXIKKyAgICBnZXRDb25zdGFudFNjb3BlKDEpCisgICAgZGlzcGF0
Y2goNykKKworLnJHbG9iYWxWYXI6CisgICAgYmluZXEgdDAsIEdsb2JhbFZhciwgLnJHbG9iYWxM
ZXhpY2FsVmFyCisgICAgZ2V0Q29uc3RhbnRTY29wZSgxKQorICAgIGRpc3BhdGNoKDcpCisKKy5y
R2xvYmFsTGV4aWNhbFZhcjoKKyAgICBiaW5lcSB0MCwgR2xvYmFsTGV4aWNhbFZhciwgLnJDbG9z
dXJlVmFyCisgICAgZ2V0Q29uc3RhbnRTY29wZSgxKQorICAgIGRpc3BhdGNoKDcpCisKKy5yQ2xv
c3VyZVZhcjoKKyAgICBiaW5lcSB0MCwgQ2xvc3VyZVZhciwgLnJNb2R1bGVWYXIKKyAgICByZXNv
bHZlU2NvcGUoKQorICAgIGRpc3BhdGNoKDcpCisKKy5yTW9kdWxlVmFyOgorICAgIGJpbmVxIHQw
LCBNb2R1bGVWYXIsIC5yR2xvYmFsUHJvcGVydHlXaXRoVmFySW5qZWN0aW9uQ2hlY2tzCisgICAg
Z2V0Q29uc3RhbnRTY29wZSgxKQorICAgIGRpc3BhdGNoKDcpCisKKy5yR2xvYmFsUHJvcGVydHlX
aXRoVmFySW5qZWN0aW9uQ2hlY2tzOgorICAgIGJpbmVxIHQwLCBHbG9iYWxQcm9wZXJ0eVdpdGhW
YXJJbmplY3Rpb25DaGVja3MsIC5yR2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcworICAg
IHZhckluamVjdGlvbkNoZWNrKC5yRHluYW1pYykKKyAgICBnZXRDb25zdGFudFNjb3BlKDEpCisg
ICAgZGlzcGF0Y2goNykKKworLnJHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOgorICAg
IGJpbmVxIHQwLCBHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzLCAuckdsb2JhbExleGlj
YWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzCisgICAgdmFySW5qZWN0aW9uQ2hlY2soLnJEeW5h
bWljKQorICAgIGdldENvbnN0YW50U2NvcGUoMSkKKyAgICBkaXNwYXRjaCg3KQorCisuckdsb2Jh
bExleGljYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOgorICAgIGJpbmVxIHQwLCBHbG9iYWxM
ZXhpY2FsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcywgLnJDbG9zdXJlVmFyV2l0aFZhckluamVj
dGlvbkNoZWNrcworICAgIHZhckluamVjdGlvbkNoZWNrKC5yRHluYW1pYykKKyAgICBnZXRDb25z
dGFudFNjb3BlKDEpCisgICAgZGlzcGF0Y2goNykKKworLnJDbG9zdXJlVmFyV2l0aFZhckluamVj
dGlvbkNoZWNrczoKKyAgICBiaW5lcSB0MCwgQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVj
a3MsIC5yRHluYW1pYworICAgIHZhckluamVjdGlvbkNoZWNrKC5yRHluYW1pYykKKyAgICByZXNv
bHZlU2NvcGUoKQorICAgIGRpc3BhdGNoKDcpCisKKy5yRHluYW1pYzoKKyAgICBjYWxsT3Bjb2Rl
U2xvd1BhdGgoX3Nsb3dfcGF0aF9yZXNvbHZlX3Njb3BlKQorICAgIGRpc3BhdGNoKDcpCisKKwor
bWFjcm8gbG9hZFdpdGhTdHJ1Y3R1cmVDaGVjayhvcGVyYW5kLCBzbG93UGF0aCkKKyAgICBsb2Fk
aXNGcm9tSW5zdHJ1Y3Rpb24ob3BlcmFuZCwgdDApCisgICAgbG9hZHAgUGF5bG9hZE9mZnNldFtj
ZnIsIHQwLCA4XSwgdDAKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig1LCB0MSkKKyAgICBicG5l
cSBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDBdLCB0MSwgc2xvd1BhdGgKK2VuZAorCittYWNybyBn
ZXRQcm9wZXJ0eSgpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDYsIHQzKQorICAgIGxvYWRQ
cm9wZXJ0eUF0VmFyaWFibGVPZmZzZXQodDMsIHQwLCB0MSwgdDIpCisgICAgdmFsdWVQcm9maWxl
KHQxLCB0MiwgMjgsIHQwKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MCkKKyAgICBz
dG9yZWkgdDEsIFRhZ09mZnNldFtjZnIsIHQwLCA4XQorICAgIHN0b3JlaSB0MiwgUGF5bG9hZE9m
ZnNldFtjZnIsIHQwLCA4XQorZW5kCisKK21hY3JvIGdldEdsb2JhbFZhcih0ZHpDaGVja0lmTmVj
ZXNzYXJ5KQorICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDYsIHQwKQorICAgIGxvYWRwIFRhZ09m
ZnNldFt0MF0sIHQxCisgICAgbG9hZHAgUGF5bG9hZE9mZnNldFt0MF0sIHQyCisgICAgdGR6Q2hl
Y2tJZk5lY2Vzc2FyeSh0MSkKKyAgICB2YWx1ZVByb2ZpbGUodDEsIHQyLCAyOCwgdDApCisgICAg
bG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKQorICAgIHN0b3JlaSB0MSwgVGFnT2Zmc2V0W2Nm
ciwgdDAsIDhdCisgICAgc3RvcmVpIHQyLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdCitlbmQK
KworbWFjcm8gZ2V0Q2xvc3VyZVZhcigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDYsIHQz
KQorICAgIGxvYWRwIEpTRW52aXJvbm1lbnRSZWNvcmRfdmFyaWFibGVzICsgVGFnT2Zmc2V0W3Qw
LCB0MywgOF0sIHQxCisgICAgbG9hZHAgSlNFbnZpcm9ubWVudFJlY29yZF92YXJpYWJsZXMgKyBQ
YXlsb2FkT2Zmc2V0W3QwLCB0MywgOF0sIHQyCisgICAgdmFsdWVQcm9maWxlKHQxLCB0MiwgMjgs
IHQwKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MCkKKyAgICBzdG9yZWkgdDEsIFRh
Z09mZnNldFtjZnIsIHQwLCA4XQorICAgIHN0b3JlaSB0MiwgUGF5bG9hZE9mZnNldFtjZnIsIHQw
LCA4XQorZW5kCisKK19sbGludF9vcF9nZXRfZnJvbV9zY29wZToKKyAgICB0cmFjZUV4ZWN1dGlv
bigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQwKQorICAgIGFuZGkgUmVzb2x2ZVR5
cGVNYXNrLCB0MAorCisjZ0dsb2JhbFByb3BlcnR5OgorICAgIGJpbmVxIHQwLCBHbG9iYWxQcm9w
ZXJ0eSwgLmdHbG9iYWxWYXIKKyAgICBsb2FkV2l0aFN0cnVjdHVyZUNoZWNrKDIsIC5nRHluYW1p
YykKKyAgICBnZXRQcm9wZXJ0eSgpCisgICAgZGlzcGF0Y2goOCkKKworLmdHbG9iYWxWYXI6Cisg
ICAgYmluZXEgdDAsIEdsb2JhbFZhciwgLmdHbG9iYWxMZXhpY2FsVmFyCisgICAgZ2V0R2xvYmFs
VmFyKG1hY3JvKHQpIGVuZCkKKyAgICBkaXNwYXRjaCg4KQorCisuZ0dsb2JhbExleGljYWxWYXI6
CisgICAgYmluZXEgdDAsIEdsb2JhbExleGljYWxWYXIsIC5nQ2xvc3VyZVZhcgorICAgIGdldEds
b2JhbFZhcigKKyAgICAgICAgbWFjcm8odGFnKQorICAgICAgICAgICAgYmllcSB0YWcsIEVtcHR5
VmFsdWVUYWcsIC5nRHluYW1pYworICAgICAgICBlbmQpCisgICAgZGlzcGF0Y2goOCkKKworLmdD
bG9zdXJlVmFyOgorICAgIGJpbmVxIHQwLCBDbG9zdXJlVmFyLCAuZ0dsb2JhbFByb3BlcnR5V2l0
aFZhckluamVjdGlvbkNoZWNrcworICAgIGxvYWRWYXJpYWJsZSgyLCB0MiwgdDEsIHQwKQorICAg
IGdldENsb3N1cmVWYXIoKQorICAgIGRpc3BhdGNoKDgpCisKKy5nR2xvYmFsUHJvcGVydHlXaXRo
VmFySW5qZWN0aW9uQ2hlY2tzOgorICAgIGJpbmVxIHQwLCBHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJ
bmplY3Rpb25DaGVja3MsIC5nR2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcworICAgIGxv
YWRXaXRoU3RydWN0dXJlQ2hlY2soMiwgLmdEeW5hbWljKQorICAgIGdldFByb3BlcnR5KCkKKyAg
ICBkaXNwYXRjaCg4KQorCisuZ0dsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M6CisgICAg
YmluZXEgdDAsIEdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5nR2xvYmFsTGV4aWNh
bFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MKKyAgICB2YXJJbmplY3Rpb25DaGVjayguZ0R5bmFt
aWMpCisgICAgZ2V0R2xvYmFsVmFyKG1hY3JvKHQpIGVuZCkKKyAgICBkaXNwYXRjaCg4KQorCisu
Z0dsb2JhbExleGljYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOgorICAgIGJpbmVxIHQwLCBH
bG9iYWxMZXhpY2FsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcywgLmdDbG9zdXJlVmFyV2l0aFZh
ckluamVjdGlvbkNoZWNrcworICAgIHZhckluamVjdGlvbkNoZWNrKC5nRHluYW1pYykKKyAgICBn
ZXRHbG9iYWxWYXIoCisgICAgICAgIG1hY3JvKHRhZykKKyAgICAgICAgICAgIGJpZXEgdGFnLCBF
bXB0eVZhbHVlVGFnLCAuZ0R5bmFtaWMKKyAgICAgICAgZW5kKQorICAgIGRpc3BhdGNoKDgpCisK
Ky5nQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M6CisgICAgYmluZXEgdDAsIENsb3N1
cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzLCAuZ0R5bmFtaWMKKyAgICB2YXJJbmplY3Rpb25D
aGVjayguZ0R5bmFtaWMpCisgICAgbG9hZFZhcmlhYmxlKDIsIHQyLCB0MSwgdDApCisgICAgZ2V0
Q2xvc3VyZVZhcigpCisgICAgZGlzcGF0Y2goOCkKKworLmdEeW5hbWljOgorICAgIGNhbGxPcGNv
ZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2dldF9mcm9tX3Njb3BlKQorICAgIGRpc3BhdGNo
KDgpCisKKworbWFjcm8gcHV0UHJvcGVydHkoKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigz
LCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MiwgdDMpCisgICAgbG9hZGlz
RnJvbUluc3RydWN0aW9uKDYsIHQxKQorICAgIHN0b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0
KHQxLCB0MCwgdDIsIHQzKQorZW5kCisKK21hY3JvIHB1dEdsb2JhbFZhcmlhYmxlKCkKKyAgICBs
b2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDApCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0
MCwgdDEsIHQyKQorICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDUsIHQzKQorICAgIG5vdGlmeVdy
aXRlKHQzLCAucER5bmFtaWMpCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNiwgdDApCisgICAg
c3RvcmVpIHQxLCBUYWdPZmZzZXRbdDBdCisgICAgc3RvcmVpIHQyLCBQYXlsb2FkT2Zmc2V0W3Qw
XQorZW5kCisKK21hY3JvIHB1dENsb3N1cmVWYXIoKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlv
bigzLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MiwgdDMpCisgICAgbG9h
ZGlzRnJvbUluc3RydWN0aW9uKDYsIHQxKQorICAgIHN0b3JlaSB0MiwgSlNFbnZpcm9ubWVudFJl
Y29yZF92YXJpYWJsZXMgKyBUYWdPZmZzZXRbdDAsIHQxLCA4XQorICAgIHN0b3JlaSB0MywgSlNF
bnZpcm9ubWVudFJlY29yZF92YXJpYWJsZXMgKyBQYXlsb2FkT2Zmc2V0W3QwLCB0MSwgOF0KK2Vu
ZAorCittYWNybyBwdXRMb2NhbENsb3N1cmVWYXIoKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlv
bigzLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MiwgdDMpCisgICAgbG9h
ZHBGcm9tSW5zdHJ1Y3Rpb24oNSwgdDUpCisgICAgYnRweiB0NSwgLm5vVmFyaWFibGVXYXRjaHBv
aW50U2V0CisgICAgbm90aWZ5V3JpdGUodDUsIC5wRHluYW1pYykKKy5ub1ZhcmlhYmxlV2F0Y2hw
b2ludFNldDoKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNiwgdDEpCisgICAgc3RvcmVpIHQy
LCBKU0Vudmlyb25tZW50UmVjb3JkX3ZhcmlhYmxlcyArIFRhZ09mZnNldFt0MCwgdDEsIDhdCisg
ICAgc3RvcmVpIHQzLCBKU0Vudmlyb25tZW50UmVjb3JkX3ZhcmlhYmxlcyArIFBheWxvYWRPZmZz
ZXRbdDAsIHQxLCA4XQorZW5kCisKKworX2xsaW50X29wX3B1dF90b19zY29wZToKKyAgICB0cmFj
ZUV4ZWN1dGlvbigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQwKQorICAgIGFuZGkg
UmVzb2x2ZVR5cGVNYXNrLCB0MAorCisjcExvY2FsQ2xvc3VyZVZhcjoKKyAgICBiaW5lcSB0MCwg
TG9jYWxDbG9zdXJlVmFyLCAucEdsb2JhbFByb3BlcnR5CisgICAgd3JpdGVCYXJyaWVyT25PcGVy
YW5kcygxLCAzKQorICAgIGxvYWRWYXJpYWJsZSgxLCB0MiwgdDEsIHQwKQorICAgIHB1dExvY2Fs
Q2xvc3VyZVZhcigpCisgICAgZGlzcGF0Y2goNykKKworLnBHbG9iYWxQcm9wZXJ0eToKKyAgICBi
aW5lcSB0MCwgR2xvYmFsUHJvcGVydHksIC5wR2xvYmFsVmFyCisgICAgd3JpdGVCYXJyaWVyT25P
cGVyYW5kcygxLCAzKQorICAgIGxvYWRXaXRoU3RydWN0dXJlQ2hlY2soMSwgLnBEeW5hbWljKQor
ICAgIHB1dFByb3BlcnR5KCkKKyAgICBkaXNwYXRjaCg3KQorCisucEdsb2JhbFZhcjoKKyAgICBi
aW5lcSB0MCwgR2xvYmFsVmFyLCAucEdsb2JhbExleGljYWxWYXIKKyAgICB3cml0ZUJhcnJpZXJP
bkdsb2JhbE9iamVjdCgzKQorICAgIHB1dEdsb2JhbFZhcmlhYmxlKCkKKyAgICBkaXNwYXRjaCg3
KQorCisucEdsb2JhbExleGljYWxWYXI6CisgICAgYmluZXEgdDAsIEdsb2JhbExleGljYWxWYXIs
IC5wQ2xvc3VyZVZhcgorICAgIHdyaXRlQmFycmllck9uR2xvYmFsTGV4aWNhbEVudmlyb25tZW50
KDMpCisgICAgcHV0R2xvYmFsVmFyaWFibGUoKQorICAgIGRpc3BhdGNoKDcpCisKKy5wQ2xvc3Vy
ZVZhcjoKKyAgICBiaW5lcSB0MCwgQ2xvc3VyZVZhciwgLnBHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJ
bmplY3Rpb25DaGVja3MKKyAgICB3cml0ZUJhcnJpZXJPbk9wZXJhbmRzKDEsIDMpCisgICAgbG9h
ZFZhcmlhYmxlKDEsIHQyLCB0MSwgdDApCisgICAgcHV0Q2xvc3VyZVZhcigpCisgICAgZGlzcGF0
Y2goNykKKworLnBHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3M6CisgICAgYmlu
ZXEgdDAsIEdsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNrcywgLnBHbG9iYWxWYXJX
aXRoVmFySW5qZWN0aW9uQ2hlY2tzCisgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcygxLCAzKQor
ICAgIGxvYWRXaXRoU3RydWN0dXJlQ2hlY2soMSwgLnBEeW5hbWljKQorICAgIHB1dFByb3BlcnR5
KCkKKyAgICBkaXNwYXRjaCg3KQorCisucEdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M6
CisgICAgYmluZXEgdDAsIEdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5wR2xvYmFs
TGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MKKyAgICB3cml0ZUJhcnJpZXJPbkdsb2Jh
bE9iamVjdCgzKQorICAgIHZhckluamVjdGlvbkNoZWNrKC5wRHluYW1pYykKKyAgICBwdXRHbG9i
YWxWYXJpYWJsZSgpCisgICAgZGlzcGF0Y2goNykKKworLnBHbG9iYWxMZXhpY2FsVmFyV2l0aFZh
ckluamVjdGlvbkNoZWNrczoKKyAgICBiaW5lcSB0MCwgR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJ
bmplY3Rpb25DaGVja3MsIC5wQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MKKyAgICB3
cml0ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZpcm9ubWVudCgzKQorICAgIHZhckluamVjdGlv
bkNoZWNrKC5wRHluYW1pYykKKyAgICBwdXRHbG9iYWxWYXJpYWJsZSgpCisgICAgZGlzcGF0Y2go
NykKKworLnBDbG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNrczoKKyAgICBiaW5lcSB0MCwg
Q2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5wTW9kdWxlVmFyCisgICAgd3JpdGVC
YXJyaWVyT25PcGVyYW5kcygxLCAzKQorICAgIHZhckluamVjdGlvbkNoZWNrKC5wRHluYW1pYykK
KyAgICBsb2FkVmFyaWFibGUoMSwgdDIsIHQxLCB0MCkKKyAgICBwdXRDbG9zdXJlVmFyKCkKKyAg
ICBkaXNwYXRjaCg3KQorCisucE1vZHVsZVZhcjoKKyAgICBiaW5lcSB0MCwgTW9kdWxlVmFyLCAu
cER5bmFtaWMKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF90aHJvd19zdHJpY3Rf
bW9kZV9yZWFkb25seV9wcm9wZXJ0eV93cml0ZV9lcnJvcikKKyAgICBkaXNwYXRjaCg3KQorCisu
cER5bmFtaWM6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfcHV0X3Rv
X3Njb3BlKQorICAgIGRpc3BhdGNoKDcpCisKKworX2xsaW50X29wX2dldF9mcm9tX2FyZ3VtZW50
czoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQw
KQorICAgIGxvYWRpIFBheWxvYWRPZmZzZXRbY2ZyLCB0MCwgOF0sIHQwCisgICAgbG9hZGkgMTJb
UENdLCB0MQorICAgIGxvYWRpIERpcmVjdEFyZ3VtZW50c19zdG9yYWdlICsgVGFnT2Zmc2V0W3Qw
LCB0MSwgOF0sIHQyCisgICAgbG9hZGkgRGlyZWN0QXJndW1lbnRzX3N0b3JhZ2UgKyBQYXlsb2Fk
T2Zmc2V0W3QwLCB0MSwgOF0sIHQzCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKQor
ICAgIHZhbHVlUHJvZmlsZSh0MiwgdDMsIDE2LCB0MCkKKyAgICBzdG9yZWkgdDIsIFRhZ09mZnNl
dFtjZnIsIHQxLCA4XQorICAgIHN0b3JlaSB0MywgUGF5bG9hZE9mZnNldFtjZnIsIHQxLCA4XQor
ICAgIGRpc3BhdGNoKDUpCisKKworX2xsaW50X29wX3B1dF90b19hcmd1bWVudHM6CisgICAgdHJh
Y2VFeGVjdXRpb24oKQorICAgIHdyaXRlQmFycmllck9uT3BlcmFuZHMoMSwgMykKKyAgICBsb2Fk
aXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIHQw
LCA4XSwgdDAKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDEpCisgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZSh0MSwgdDIsIHQzKQorICAgIGxvYWRpIDhbUENdLCB0MQorICAgIHN0b3Jl
aSB0MiwgRGlyZWN0QXJndW1lbnRzX3N0b3JhZ2UgKyBUYWdPZmZzZXRbdDAsIHQxLCA4XQorICAg
IHN0b3JlaSB0MywgRGlyZWN0QXJndW1lbnRzX3N0b3JhZ2UgKyBQYXlsb2FkT2Zmc2V0W3QwLCB0
MSwgOF0KKyAgICBkaXNwYXRjaCg0KQorCisKK19sbGludF9vcF9nZXRfcGFyZW50X3Njb3BlOgor
ICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDApCisg
ICAgbG9hZHAgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSwgdDAKKyAgICBsb2FkcCBKU1Njb3Bl
OjptX25leHRbdDBdLCB0MAorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKKyAgICBz
dG9yZWkgQ2VsbFRhZywgVGFnT2Zmc2V0W2NmciwgdDEsIDhdCisgICAgc3RvcmVpIHQwLCBQYXls
b2FkT2Zmc2V0W2NmciwgdDEsIDhdCisgICAgZGlzcGF0Y2goMykKKworCitfbGxpbnRfb3BfcHJv
ZmlsZV90eXBlOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkcCBDb2RlQmxvY2tbY2Zy
XSwgdDEKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fdm1bdDFdLCB0MQorICAgICMgdDEgaXMgaG9s
ZGluZyB0aGUgcG9pbnRlciB0byB0aGUgdHlwZVByb2ZpbGVyTG9nLgorICAgIGxvYWRwIFZNOjpt
X3R5cGVQcm9maWxlckxvZ1t0MV0sIHQxCisKKyAgICAjIHQwIGlzIGhvbGRpbmcgdGhlIHBheWxv
YWQsIHQ1IGlzIGhvbGRpbmcgdGhlIHRhZy4KKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwg
dDIpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDUsIHQwKQorCisgICAgYmllcSB0
NSwgRW1wdHlWYWx1ZVRhZywgLm9wUHJvZmlsZVR5cGVEb25lCisKKyAgICAjIHQyIGlzIGhvbGRp
bmcgdGhlIHBvaW50ZXIgdG8gdGhlIGN1cnJlbnQgbG9nIGVudHJ5LgorICAgIGxvYWRwIFR5cGVQ
cm9maWxlckxvZzo6bV9jdXJyZW50TG9nRW50cnlQdHJbdDFdLCB0MgorCisgICAgIyBTdG9yZSB0
aGUgSlNWYWx1ZSBvbnRvIHRoZSBsb2cgZW50cnkuCisgICAgc3RvcmVpIHQ1LCBUeXBlUHJvZmls
ZXJMb2c6OkxvZ0VudHJ5Ojp2YWx1ZSArIFRhZ09mZnNldFt0Ml0KKyAgICBzdG9yZWkgdDAsIFR5
cGVQcm9maWxlckxvZzo6TG9nRW50cnk6OnZhbHVlICsgUGF5bG9hZE9mZnNldFt0Ml0KKworICAg
ICMgU3RvcmUgdGhlIFR5cGVMb2NhdGlvbiBvbnRvIHRoZSBsb2cgZW50cnkuCisgICAgbG9hZHBG
cm9tSW5zdHJ1Y3Rpb24oMiwgdDMpCisgICAgc3RvcmVwIHQzLCBUeXBlUHJvZmlsZXJMb2c6Okxv
Z0VudHJ5Ojpsb2NhdGlvblt0Ml0KKworICAgIGJpZXEgdDUsIENlbGxUYWcsIC5vcFByb2ZpbGVU
eXBlSXNDZWxsCisgICAgc3RvcmVpIDAsIFR5cGVQcm9maWxlckxvZzo6TG9nRW50cnk6OnN0cnVj
dHVyZUlEW3QyXQorICAgIGptcCAub3BQcm9maWxlVHlwZVNraXBJc0NlbGwKKy5vcFByb2ZpbGVU
eXBlSXNDZWxsOgorICAgIGxvYWRpIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0MF0sIHQzCisgICAg
c3RvcmVpIHQzLCBUeXBlUHJvZmlsZXJMb2c6OkxvZ0VudHJ5OjpzdHJ1Y3R1cmVJRFt0Ml0KKy5v
cFByb2ZpbGVUeXBlU2tpcElzQ2VsbDoKKyAgICAKKyAgICAjIEluY3JlbWVudCB0aGUgY3VycmVu
dCBsb2cgZW50cnkuCisgICAgYWRkcCBzaXplb2YgVHlwZVByb2ZpbGVyTG9nOjpMb2dFbnRyeSwg
dDIKKyAgICBzdG9yZXAgdDIsIFR5cGVQcm9maWxlckxvZzo6bV9jdXJyZW50TG9nRW50cnlQdHJb
dDFdCisKKyAgICBsb2FkcCBUeXBlUHJvZmlsZXJMb2c6Om1fbG9nRW5kUHRyW3QxXSwgdDEKKyAg
ICBicG5lcSB0MiwgdDEsIC5vcFByb2ZpbGVUeXBlRG9uZQorICAgIGNhbGxPcGNvZGVTbG93UGF0
aChfc2xvd19wYXRoX3Byb2ZpbGVfdHlwZV9jbGVhcl9sb2cpCisKKy5vcFByb2ZpbGVUeXBlRG9u
ZToKKyAgICBkaXNwYXRjaCg2KQorCisKK19sbGludF9vcF9wcm9maWxlX2NvbnRyb2xfZmxvdzoK
KyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCisg
ICAgbG9hZGkgQmFzaWNCbG9ja0xvY2F0aW9uOjptX2V4ZWN1dGlvbkNvdW50W3QwXSwgdDEKKyAg
ICBhZGRpIDEsIHQxCisgICAgYmllcSB0MSwgMCwgLmRvbmUgIyBXZSBvdmVyZmxvd2VkLgorICAg
IHN0b3JlaSB0MSwgQmFzaWNCbG9ja0xvY2F0aW9uOjptX2V4ZWN1dGlvbkNvdW50W3QwXQorLmRv
bmU6CisgICAgZGlzcGF0Y2goMikKKworCitfbGxpbnRfb3BfZ2V0X3Jlc3RfbGVuZ3RoOgorICAg
IHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0ICsgQXJndW1lbnRDb3Vu
dFtjZnJdLCB0MAorICAgIHN1YmkgMSwgdDAKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwg
dDEpCisgICAgYmlsdGVxIHQwLCB0MSwgLnN0b3JlWmVybworICAgIHN1YmkgdDEsIHQwCisgICAg
am1wIC5maW5pc2gKKy5zdG9yZVplcm86CisgICAgbW92ZSAwLCB0MAorLmZpbmlzaDoKKyAgICBs
b2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgc3RvcmVpIHQwLCBQYXlsb2FkT2Zmc2V0
W2NmciwgdDEsIDhdCisgICAgc3RvcmVpIEludDMyVGFnLCBUYWdPZmZzZXRbY2ZyLCB0MSwgOF0K
KyAgICBkaXNwYXRjaCgzKQorCisKK19sbGludF9vcF9sb2dfc2hhZG93X2NoaWNrZW5fcHJvbG9n
dWU6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGFjcXVpcmVTaGFkb3dDaGlja2VuUGFja2V0
KC5vcExvZ1NoYWRvd0NoaWNrZW5Qcm9sb2d1ZVNsb3cpCisgICAgc3RvcmVwIGNmciwgU2hhZG93
Q2hpY2tlbjo6UGFja2V0OjpmcmFtZVt0MF0KKyAgICBsb2FkcCBDYWxsZXJGcmFtZVtjZnJdLCB0
MQorICAgIHN0b3JlcCB0MSwgU2hhZG93Q2hpY2tlbjo6UGFja2V0OjpjYWxsZXJGcmFtZVt0MF0K
KyAgICBsb2FkcCBDYWxsZWUgKyBQYXlsb2FkT2Zmc2V0W2Nmcl0sIHQxCisgICAgc3RvcmVwIHQx
LCBTaGFkb3dDaGlja2VuOjpQYWNrZXQ6OmNhbGxlZVt0MF0KKyAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oMSwgdDEpCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIHQxLCA4XSwgdDEKKyAg
ICBzdG9yZXAgdDEsIFNoYWRvd0NoaWNrZW46OlBhY2tldDo6c2NvcGVbdDBdCisgICAgZGlzcGF0
Y2goMikKKy5vcExvZ1NoYWRvd0NoaWNrZW5Qcm9sb2d1ZVNsb3c6CisgICAgY2FsbE9wY29kZVNs
b3dQYXRoKF9sbGludF9zbG93X3BhdGhfbG9nX3NoYWRvd19jaGlja2VuX3Byb2xvZ3VlKQorICAg
IGRpc3BhdGNoKDIpCisKKworX2xsaW50X29wX2xvZ19zaGFkb3dfY2hpY2tlbl90YWlsOgorICAg
IHRyYWNlRXhlY3V0aW9uKCkKKyAgICBhY3F1aXJlU2hhZG93Q2hpY2tlblBhY2tldCgub3BMb2dT
aGFkb3dDaGlja2VuVGFpbFNsb3cpCisgICAgc3RvcmVwIGNmciwgU2hhZG93Q2hpY2tlbjo6UGFj
a2V0OjpmcmFtZVt0MF0KKyAgICBzdG9yZXAgU2hhZG93Q2hpY2tlblRhaWxNYXJrZXIsIFNoYWRv
d0NoaWNrZW46OlBhY2tldDo6Y2FsbGVlW3QwXQorICAgIGxvYWRWYXJpYWJsZSgxLCB0MywgdDIs
IHQxKQorICAgIHN0b3JlaSB0MiwgVGFnT2Zmc2V0ICsgU2hhZG93Q2hpY2tlbjo6UGFja2V0Ojp0
aGlzVmFsdWVbdDBdCisgICAgc3RvcmVpIHQxLCBQYXlsb2FkT2Zmc2V0ICsgU2hhZG93Q2hpY2tl
bjo6UGFja2V0Ojp0aGlzVmFsdWVbdDBdCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQx
KQorICAgIGxvYWRpIFBheWxvYWRPZmZzZXRbY2ZyLCB0MSwgOF0sIHQxCisgICAgc3RvcmVwIHQx
LCBTaGFkb3dDaGlja2VuOjpQYWNrZXQ6OnNjb3BlW3QwXQorICAgIGxvYWRwIENvZGVCbG9ja1tj
ZnJdLCB0MQorICAgIHN0b3JlcCB0MSwgU2hhZG93Q2hpY2tlbjo6UGFja2V0Ojpjb2RlQmxvY2tb
dDBdCisgICAgc3RvcmVpIFBDLCBTaGFkb3dDaGlja2VuOjpQYWNrZXQ6OmNhbGxTaXRlSW5kZXhb
dDBdCisgICAgZGlzcGF0Y2goMykKKy5vcExvZ1NoYWRvd0NoaWNrZW5UYWlsU2xvdzoKKyAgICBj
YWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9sb2dfc2hhZG93X2NoaWNrZW5fdGFp
bCkKKyAgICBkaXNwYXRjaCgzKQorYDsKKworICAgIG5ldyBGaWxlKCJMb3dMZXZlbEludGVycHJl
dGVyMzJfNjQuYXNtIiwgc291cmNlKTsKK30pKCk7CisKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMv
UmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtCShub25leGlzdGVudCkKKysrIFBlcmZvcm1hbmNlVGVzdHMv
UmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsMjQ4NyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyMgYXJlIG1ldDoKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisjICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyMgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisjIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyMgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisjIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyMgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyMgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisjIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisjIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisjIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyMgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorCisKKyMgVXRpbGl0aWVzLgorbWFjcm8ganVtcFRvSW5zdHJ1Y3Rpb24o
KQorICAgIGptcCBbUEIsIFBDLCA4XQorZW5kCisKK21hY3JvIGRpc3BhdGNoKGFkdmFuY2UpCisg
ICAgYWRkcCBhZHZhbmNlLCBQQworICAgIGp1bXBUb0luc3RydWN0aW9uKCkKK2VuZAorCittYWNy
byBkaXNwYXRjaEludChhZHZhbmNlKQorICAgIGFkZGkgYWR2YW5jZSwgUEMKKyAgICBqdW1wVG9J
bnN0cnVjdGlvbigpCitlbmQKKworbWFjcm8gZGlzcGF0Y2hJbnRJbmRpcmVjdChvZmZzZXQpCisg
ICAgZGlzcGF0Y2hJbnQob2Zmc2V0ICogOFtQQiwgUEMsIDhdKQorZW5kCisKK21hY3JvIGRpc3Bh
dGNoQWZ0ZXJDYWxsKCkKKyAgICBsb2FkaSBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0s
IFBDCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIFBCCisgICAgbG9hZHAgQ29kZUJsb2NrOjpt
X2luc3RydWN0aW9uc1tQQl0sIFBCCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKQor
ICAgIHN0b3JlcSByMCwgW2NmciwgdDEsIDhdCisgICAgdmFsdWVQcm9maWxlKHIwLCAoQ2FsbE9w
Q29kZVNpemUgLSAxKSwgdDMpCisgICAgZGlzcGF0Y2goQ2FsbE9wQ29kZVNpemUpCitlbmQKKwor
bWFjcm8gY0NhbGwyKGZ1bmN0aW9uKQorICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHQ0
LCAweGJhZDBjMDAyKQorICAgIGlmIFg4Nl82NCBvciBBUk02NAorICAgICAgICBjYWxsIGZ1bmN0
aW9uCisgICAgZWxzaWYgWDg2XzY0X1dJTgorICAgICAgICAjIE5vdGU6IHRoaXMgaW1wbGVtZW50
YXRpb24gaXMgb25seSBjb3JyZWN0IGlmIHRoZSByZXR1cm4gdHlwZSBzaXplIGlzID4gOCBieXRl
cy4KKyAgICAgICAgIyBTZWUgbWFjcm8gY0NhbGwyVm9pZCBmb3IgYW4gaW1wbGVtZW50YXRpb24g
d2hlbiB0aGUgcmV0dXJuIHR5cGUgPD0gOCBieXRlcy4KKyAgICAgICAgIyBPbiBXaW42NCwgd2hl
biB0aGUgcmV0dXJuIHR5cGUgaXMgbGFyZ2VyIHRoYW4gOCBieXRlcywgd2UgbmVlZCB0byBhbGxv
Y2F0ZSBzcGFjZSBvbiB0aGUgc3RhY2sgZm9yIHRoZSByZXR1cm4gdmFsdWUuCisgICAgICAgICMg
T24gZW50cnkgcmN4IChhMCksIHNob3VsZCBjb250YWluIGEgcG9pbnRlciB0byB0aGlzIHN0YWNr
IHNwYWNlLiBUaGUgb3RoZXIgcGFyYW1ldGVycyBhcmUgc2hpZnRlZCB0byB0aGUgcmlnaHQsCisg
ICAgICAgICMgcmR4IChhMSkgc2hvdWxkIGNvbnRhaW4gdGhlIGZpcnN0IGFyZ3VtZW50LCBhbmQg
cjggKGEyKSBzaG91bGQgY29udGFpbiB0aGUgc2Vjb25kIGFyZ3VtZW50LgorICAgICAgICAjIE9u
IHJldHVybiwgcmF4IGNvbnRhaW5zIGEgcG9pbnRlciB0byB0aGlzIHN0YWNrIHZhbHVlLCBhbmQg
d2UgdGhlbiBuZWVkIHRvIGNvcHkgdGhlIDE2IGJ5dGUgcmV0dXJuIHZhbHVlIGludG8gcmF4IChy
MCkgYW5kIHJkeCAocjEpCisgICAgICAgICMgc2luY2UgdGhlIHJldHVybiB2YWx1ZSBpcyBleHBl
Y3RlZCB0byBiZSBzcGxpdCBiZXR3ZWVuIHRoZSB0d28uCisgICAgICAgICMgU2VlIGh0dHA6Ly9t
c2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS83NTcyenR6NC5hc3B4CisgICAgICAgIG1v
dmUgYTEsIGEyCisgICAgICAgIG1vdmUgYTAsIGExCisgICAgICAgIHN1YnAgNDgsIHNwCisgICAg
ICAgIG1vdmUgc3AsIGEwCisgICAgICAgIGFkZHAgMzIsIGEwCisgICAgICAgIGNhbGwgZnVuY3Rp
b24KKyAgICAgICAgYWRkcCA0OCwgc3AKKyAgICAgICAgbW92ZSA4W3IwXSwgcjEKKyAgICAgICAg
bW92ZSBbcjBdLCByMAorICAgIGVsc2lmIENfTE9PUAorICAgICAgICBjbG9vcENhbGxTbG93UGF0
aCBmdW5jdGlvbiwgYTAsIGExCisgICAgZWxzZQorICAgICAgICBlcnJvcgorICAgIGVuZAorZW5k
CisKK21hY3JvIGNDYWxsMlZvaWQoZnVuY3Rpb24pCisgICAgaWYgQ19MT09QCisgICAgICAgIGNs
b29wQ2FsbFNsb3dQYXRoVm9pZCBmdW5jdGlvbiwgYTAsIGExCisgICAgZWxzaWYgWDg2XzY0X1dJ
TgorICAgICAgICAjIE5vdGU6IHdlIGNhbm5vdCB1c2UgdGhlIGNDYWxsMiBtYWNybyBmb3IgV2lu
NjQgaW4gdGhpcyBjYXNlLAorICAgICAgICAjIGFzIHRoZSBXaW42NCBjQ2FsbDIgaW1wbGVtZW5h
dGlvbiBpcyBvbmx5IGNvcnJlY3Qgd2hlbiB0aGUgcmV0dXJuIHR5cGUgc2l6ZSBpcyA+IDggYnl0
ZXMuCisgICAgICAgICMgT24gV2luNjQsIHJjeCBhbmQgcmR4IGFyZSB1c2VkIGZvciBwYXNzaW5n
IHRoZSBmaXJzdCB0d28gcGFyYW1ldGVycy4KKyAgICAgICAgIyBXZSBhbHNvIG5lZWQgdG8gbWFr
ZSByb29tIG9uIHRoZSBzdGFjayBmb3IgYWxsIGZvdXIgcGFyYW1ldGVyIHJlZ2lzdGVycy4KKyAg
ICAgICAgIyBTZWUgaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zMjM1
Mjg2LmFzcHgKKyAgICAgICAgc3VicCAzMiwgc3AgCisgICAgICAgIGNhbGwgZnVuY3Rpb24KKyAg
ICAgICAgYWRkcCAzMiwgc3AgCisgICAgZWxzZQorICAgICAgICBjQ2FsbDIoZnVuY3Rpb24pCisg
ICAgZW5kCitlbmQKKworIyBUaGlzIGJhcmVseSB3b3Jrcy4gYXJnMyBhbmQgYXJnNCBzaG91bGQg
cHJvYmFibHkgYmUgaW1tZWRpYXRlcy4KK21hY3JvIGNDYWxsNChmdW5jdGlvbikKKyAgICBjaGVj
a1N0YWNrUG9pbnRlckFsaWdubWVudCh0NCwgMHhiYWQwYzAwNCkKKyAgICBpZiBYODZfNjQgb3Ig
QVJNNjQKKyAgICAgICAgY2FsbCBmdW5jdGlvbgorICAgIGVsc2lmIFg4Nl82NF9XSU4KKyAgICAg
ICAgIyBPbiBXaW42NCwgcmN4LCByZHgsIHI4LCBhbmQgcjkgYXJlIHVzZWQgZm9yIHBhc3Npbmcg
dGhlIGZpcnN0IGZvdXIgcGFyYW1ldGVycy4KKyAgICAgICAgIyBXZSBhbHNvIG5lZWQgdG8gbWFr
ZSByb29tIG9uIHRoZSBzdGFjayBmb3IgYWxsIGZvdXIgcGFyYW1ldGVyIHJlZ2lzdGVycy4KKyAg
ICAgICAgIyBTZWUgaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zMjM1
Mjg2LmFzcHgKKyAgICAgICAgc3VicCA2NCwgc3AKKyAgICAgICAgY2FsbCBmdW5jdGlvbgorICAg
ICAgICBhZGRwIDY0LCBzcAorICAgIGVsc2UKKyAgICAgICAgZXJyb3IKKyAgICBlbmQKK2VuZAor
CittYWNybyBkb1ZNRW50cnkobWFrZUNhbGwpCisgICAgZnVuY3Rpb25Qcm9sb2d1ZSgpCisgICAg
cHVzaENhbGxlZVNhdmVzKCkKKworICAgIGNvbnN0IGVudHJ5ID0gYTAKKyAgICBjb25zdCB2bSA9
IGExCisgICAgY29uc3QgcHJvdG9DYWxsRnJhbWUgPSBhMgorCisgICAgdm1FbnRyeVJlY29yZChj
ZnIsIHNwKQorCisgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDQsIDB4YmFkMGRjMDEp
CisKKyAgICBzdG9yZXAgdm0sIFZNRW50cnlSZWNvcmQ6Om1fdm1bc3BdCisgICAgbG9hZHAgVk06
OnRvcENhbGxGcmFtZVt2bV0sIHQ0CisgICAgc3RvcmVwIHQ0LCBWTUVudHJ5UmVjb3JkOjptX3By
ZXZUb3BDYWxsRnJhbWVbc3BdCisgICAgbG9hZHAgVk06OnRvcFZNRW50cnlGcmFtZVt2bV0sIHQ0
CisgICAgc3RvcmVwIHQ0LCBWTUVudHJ5UmVjb3JkOjptX3ByZXZUb3BWTUVudHJ5RnJhbWVbc3Bd
CisKKyAgICBsb2FkaSBQcm90b0NhbGxGcmFtZTo6cGFkZGVkQXJnQ291bnRbcHJvdG9DYWxsRnJh
bWVdLCB0NAorICAgIGFkZHAgQ2FsbEZyYW1lSGVhZGVyU2xvdHMsIHQ0LCB0NAorICAgIGxzaGlm
dHAgMywgdDQKKyAgICBzdWJwIHNwLCB0NCwgdDMKKyAgICBicWJlcSBzcCwgdDMsIC50aHJvd1N0
YWNrT3ZlcmZsb3cKKworICAgICMgRW5zdXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggYWRkaXRpb25h
bCBzdGFjayBjYXBhY2l0eSBmb3IgdGhlIGluY29taW5nIGFyZ3MsCisgICAgIyBhbmQgdGhlIGZy
YW1lIGZvciB0aGUgSlMgY29kZSB3ZSdyZSBleGVjdXRpbmcuIFdlIG5lZWQgdG8gZG8gdGhpcyBj
aGVjaworICAgICMgYmVmb3JlIHdlIHN0YXJ0IGNvcHlpbmcgdGhlIGFyZ3MgZnJvbSB0aGUgcHJv
dG9DYWxsRnJhbWUgYmVsb3cuCisgICAgaWYgQ19MT09QCisgICAgICAgIGJwYWVxIHQzLCBWTTo6
bV9jbG9vcFN0YWNrTGltaXRbdm1dLCAuc3RhY2tIZWlnaHRPSworICAgIGVsc2UKKyAgICAgICAg
YnBhZXEgdDMsIFZNOjptX3NvZnRTdGFja0xpbWl0W3ZtXSwgLnN0YWNrSGVpZ2h0T0sKKyAgICBl
bmQKKworICAgIGlmIENfTE9PUAorICAgICAgICBtb3ZlIGVudHJ5LCB0NAorICAgICAgICBtb3Zl
IHZtLCB0NQorICAgICAgICBjbG9vcENhbGxTbG93UGF0aCBfbGxpbnRfc3RhY2tfY2hlY2tfYXRf
dm1fZW50cnksIHZtLCB0MworICAgICAgICBicGVxIHQwLCAwLCAuc3RhY2tDaGVja0ZhaWxlZAor
ICAgICAgICBtb3ZlIHQ0LCBlbnRyeQorICAgICAgICBtb3ZlIHQ1LCB2bQorICAgICAgICBqbXAg
LnN0YWNrSGVpZ2h0T0sKKworLnN0YWNrQ2hlY2tGYWlsZWQ6CisgICAgICAgIG1vdmUgdDQsIGVu
dHJ5CisgICAgICAgIG1vdmUgdDUsIHZtCisgICAgZW5kCisKKy50aHJvd1N0YWNrT3ZlcmZsb3c6
CisgICAgbW92ZSB2bSwgYTAKKyAgICBtb3ZlIHByb3RvQ2FsbEZyYW1lLCBhMQorICAgIGNDYWxs
MihfbGxpbnRfdGhyb3dfc3RhY2tfb3ZlcmZsb3dfZXJyb3IpCisKKyAgICB2bUVudHJ5UmVjb3Jk
KGNmciwgdDQpCisKKyAgICBsb2FkcCBWTUVudHJ5UmVjb3JkOjptX3ZtW3Q0XSwgdm0KKyAgICBs
b2FkcCBWTUVudHJ5UmVjb3JkOjptX3ByZXZUb3BDYWxsRnJhbWVbdDRdLCBleHRyYVRlbXBSZWcK
KyAgICBzdG9yZXAgZXh0cmFUZW1wUmVnLCBWTTo6dG9wQ2FsbEZyYW1lW3ZtXQorICAgIGxvYWRw
IFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcFZNRW50cnlGcmFtZVt0NF0sIGV4dHJhVGVtcFJlZwor
ICAgIHN0b3JlcCBleHRyYVRlbXBSZWcsIFZNOjp0b3BWTUVudHJ5RnJhbWVbdm1dCisKKyAgICBz
dWJwIGNmciwgQ2FsbGVlUmVnaXN0ZXJTYXZlU2l6ZSwgc3AKKworICAgIHBvcENhbGxlZVNhdmVz
KCkKKyAgICBmdW5jdGlvbkVwaWxvZ3VlKCkKKyAgICByZXQKKworLnN0YWNrSGVpZ2h0T0s6Cisg
ICAgbW92ZSB0Mywgc3AKKyAgICBtb3ZlIDQsIHQzCisKKy5jb3B5SGVhZGVyTG9vcDoKKyAgICAj
IENvcHkgdGhlIENvZGVCbG9jay9DYWxsZWUvQXJndW1lbnRDb3VudC98dGhpc3wgZnJvbSBwcm90
b0NhbGxGcmFtZSBpbnRvIHRoZSBjYWxsZWUgZnJhbWUuCisgICAgc3ViaSAxLCB0MworICAgIGxv
YWRxIFtwcm90b0NhbGxGcmFtZSwgdDMsIDhdLCBleHRyYVRlbXBSZWcKKyAgICBzdG9yZXEgZXh0
cmFUZW1wUmVnLCBDb2RlQmxvY2tbc3AsIHQzLCA4XQorICAgIGJ0aW56IHQzLCAuY29weUhlYWRl
ckxvb3AKKworICAgIGxvYWRpIFBheWxvYWRPZmZzZXQgKyBQcm90b0NhbGxGcmFtZTo6YXJnQ291
bnRBbmRDb2RlT3JpZ2luVmFsdWVbcHJvdG9DYWxsRnJhbWVdLCB0NAorICAgIHN1YmkgMSwgdDQK
KyAgICBsb2FkaSBQcm90b0NhbGxGcmFtZTo6cGFkZGVkQXJnQ291bnRbcHJvdG9DYWxsRnJhbWVd
LCBleHRyYVRlbXBSZWcKKyAgICBzdWJpIDEsIGV4dHJhVGVtcFJlZworCisgICAgYmllcSB0NCwg
ZXh0cmFUZW1wUmVnLCAuY29weUFyZ3MKKyAgICBtb3ZlIFZhbHVlVW5kZWZpbmVkLCB0MworLmZp
bGxFeHRyYUFyZ3NMb29wOgorICAgIHN1YmkgMSwgZXh0cmFUZW1wUmVnCisgICAgc3RvcmVxIHQz
LCBUaGlzQXJndW1lbnRPZmZzZXQgKyA4W3NwLCBleHRyYVRlbXBSZWcsIDhdCisgICAgYmluZXEg
dDQsIGV4dHJhVGVtcFJlZywgLmZpbGxFeHRyYUFyZ3NMb29wCisKKy5jb3B5QXJnczoKKyAgICBs
b2FkcCBQcm90b0NhbGxGcmFtZTo6YXJnc1twcm90b0NhbGxGcmFtZV0sIHQzCisKKy5jb3B5QXJn
c0xvb3A6CisgICAgYnRpeiB0NCwgLmNvcHlBcmdzRG9uZQorICAgIHN1YmkgMSwgdDQKKyAgICBs
b2FkcSBbdDMsIHQ0LCA4XSwgZXh0cmFUZW1wUmVnCisgICAgc3RvcmVxIGV4dHJhVGVtcFJlZywg
VGhpc0FyZ3VtZW50T2Zmc2V0ICsgOFtzcCwgdDQsIDhdCisgICAgam1wIC5jb3B5QXJnc0xvb3AK
KworLmNvcHlBcmdzRG9uZToKKyAgICBpZiBBUk02NAorICAgICAgICBtb3ZlIHNwLCB0NAorICAg
ICAgICBzdG9yZXAgdDQsIFZNOjp0b3BDYWxsRnJhbWVbdm1dCisgICAgZWxzZQorICAgICAgICBz
dG9yZXAgc3AsIFZNOjp0b3BDYWxsRnJhbWVbdm1dCisgICAgZW5kCisgICAgc3RvcmVwIGNmciwg
Vk06OnRvcFZNRW50cnlGcmFtZVt2bV0KKworICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50
KGV4dHJhVGVtcFJlZywgMHhiYWQwZGMwMikKKworICAgIG1ha2VDYWxsKGVudHJ5LCB0MykKKwor
ICAgICMgV2UgbWF5IGhhdmUganVzdCBtYWRlIGEgY2FsbCBpbnRvIGEgSlMgZnVuY3Rpb24sIHNv
IHdlIGNhbid0IHJlbHkgb24gc3AKKyAgICAjIGZvciBhbnl0aGluZyBidXQgdGhlIGZhY3QgdGhh
dCBvdXIgb3duIGxvY2FscyAoaWUgdGhlIFZNRW50cnlSZWNvcmQpIGFyZQorICAgICMgbm90IGJl
bG93IGl0LiBJdCBhbHNvIHN0aWxsIGhhcyB0byBiZSBhbGlnbmVkLCB0aG91Z2guCisgICAgY2hl
Y2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDIsIDB4YmFkMGRjMDMpCisKKyAgICB2bUVudHJ5UmVj
b3JkKGNmciwgdDQpCisKKyAgICBsb2FkcCBWTUVudHJ5UmVjb3JkOjptX3ZtW3Q0XSwgdm0KKyAg
ICBsb2FkcCBWTUVudHJ5UmVjb3JkOjptX3ByZXZUb3BDYWxsRnJhbWVbdDRdLCB0MgorICAgIHN0
b3JlcCB0MiwgVk06OnRvcENhbGxGcmFtZVt2bV0KKyAgICBsb2FkcCBWTUVudHJ5UmVjb3JkOjpt
X3ByZXZUb3BWTUVudHJ5RnJhbWVbdDRdLCB0MgorICAgIHN0b3JlcCB0MiwgVk06OnRvcFZNRW50
cnlGcmFtZVt2bV0KKworICAgIHN1YnAgY2ZyLCBDYWxsZWVSZWdpc3RlclNhdmVTaXplLCBzcAor
CisgICAgcG9wQ2FsbGVlU2F2ZXMoKQorICAgIGZ1bmN0aW9uRXBpbG9ndWUoKQorCisgICAgcmV0
CitlbmQKKworCittYWNybyBtYWtlSmF2YVNjcmlwdENhbGwoZW50cnksIHRlbXApCisgICAgYWRk
cCAxNiwgc3AKKyAgICBpZiBDX0xPT1AKKyAgICAgICAgY2xvb3BDYWxsSlNGdW5jdGlvbiBlbnRy
eQorICAgIGVsc2UKKyAgICAgICAgY2FsbCBlbnRyeQorICAgIGVuZAorICAgIHN1YnAgMTYsIHNw
CitlbmQKKworCittYWNybyBtYWtlSG9zdEZ1bmN0aW9uQ2FsbChlbnRyeSwgdGVtcCkKKyAgICBt
b3ZlIGVudHJ5LCB0ZW1wCisgICAgc3RvcmVwIGNmciwgW3NwXQorICAgIG1vdmUgc3AsIGEwCisg
ICAgaWYgQ19MT09QCisgICAgICAgIHN0b3JlcCBsciwgOFtzcF0KKyAgICAgICAgY2xvb3BDYWxs
TmF0aXZlIHRlbXAKKyAgICBlbHNpZiBYODZfNjRfV0lOCisgICAgICAgICMgV2UgbmVlZCB0byBh
bGxvY2F0ZSAzMiBieXRlcyBvbiB0aGUgc3RhY2sgZm9yIHRoZSBzaGFkb3cgc3BhY2UuCisgICAg
ICAgIHN1YnAgMzIsIHNwCisgICAgICAgIGNhbGwgdGVtcAorICAgICAgICBhZGRwIDMyLCBzcAor
ICAgIGVsc2UKKyAgICAgICAgY2FsbCB0ZW1wCisgICAgZW5kCitlbmQKKworCitfaGFuZGxlVW5j
YXVnaHRFeGNlcHRpb246CisgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQzCisgICAgYW5kcCBNYXJr
ZWRCbG9ja01hc2ssIHQzCisgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fdm1bdDNdLCB0MworICAg
IHJlc3RvcmVDYWxsZWVTYXZlc0Zyb21WTUVudHJ5RnJhbWVDYWxsZWVTYXZlc0J1ZmZlcih0Mywg
dDApCisgICAgbG9hZHAgVk06OmNhbGxGcmFtZUZvckNhdGNoW3QzXSwgY2ZyCisgICAgc3RvcmVw
IDAsIFZNOjpjYWxsRnJhbWVGb3JDYXRjaFt0M10KKworICAgIGxvYWRwIENhbGxlckZyYW1lW2Nm
cl0sIGNmcgorICAgIHZtRW50cnlSZWNvcmQoY2ZyLCB0MikKKworICAgIGxvYWRwIFZNRW50cnlS
ZWNvcmQ6Om1fdm1bdDJdLCB0MworICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcENh
bGxGcmFtZVt0Ml0sIGV4dHJhVGVtcFJlZworICAgIHN0b3JlcCBleHRyYVRlbXBSZWcsIFZNOjp0
b3BDYWxsRnJhbWVbdDNdCisgICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wVk1FbnRy
eUZyYW1lW3QyXSwgZXh0cmFUZW1wUmVnCisgICAgc3RvcmVwIGV4dHJhVGVtcFJlZywgVk06OnRv
cFZNRW50cnlGcmFtZVt0M10KKworICAgIHN1YnAgY2ZyLCBDYWxsZWVSZWdpc3RlclNhdmVTaXpl
LCBzcAorCisgICAgcG9wQ2FsbGVlU2F2ZXMoKQorICAgIGZ1bmN0aW9uRXBpbG9ndWUoKQorICAg
IHJldAorCisKK21hY3JvIHByZXBhcmVTdGF0ZUZvckNDYWxsKCkKKyAgICBsZWFwIFtQQiwgUEMs
IDhdLCBQQworZW5kCisKK21hY3JvIHJlc3RvcmVTdGF0ZUFmdGVyQ0NhbGwoKQorICAgIG1vdmUg
cjAsIFBDCisgICAgc3VicCBQQiwgUEMKKyAgICByc2hpZnRwIDMsIFBDCitlbmQKKworbWFjcm8g
Y2FsbFNsb3dQYXRoKHNsb3dQYXRoKQorICAgIHByZXBhcmVTdGF0ZUZvckNDYWxsKCkKKyAgICBt
b3ZlIGNmciwgYTAKKyAgICBtb3ZlIFBDLCBhMQorICAgIGNDYWxsMihzbG93UGF0aCkKKyAgICBy
ZXN0b3JlU3RhdGVBZnRlckNDYWxsKCkKK2VuZAorCittYWNybyB0cmFjZU9wZXJhbmQoZnJvbVdo
ZXJlLCBvcGVyYW5kKQorICAgIHByZXBhcmVTdGF0ZUZvckNDYWxsKCkKKyAgICBtb3ZlIGZyb21X
aGVyZSwgYTIKKyAgICBtb3ZlIG9wZXJhbmQsIGEzCisgICAgbW92ZSBjZnIsIGEwCisgICAgbW92
ZSBQQywgYTEKKyAgICBjQ2FsbDQoX2xsaW50X3RyYWNlX29wZXJhbmQpCisgICAgcmVzdG9yZVN0
YXRlQWZ0ZXJDQ2FsbCgpCitlbmQKKworbWFjcm8gdHJhY2VWYWx1ZShmcm9tV2hlcmUsIG9wZXJh
bmQpCisgICAgcHJlcGFyZVN0YXRlRm9yQ0NhbGwoKQorICAgIG1vdmUgZnJvbVdoZXJlLCBhMgor
ICAgIG1vdmUgb3BlcmFuZCwgYTMKKyAgICBtb3ZlIGNmciwgYTAKKyAgICBtb3ZlIFBDLCBhMQor
ICAgIGNDYWxsNChfbGxpbnRfdHJhY2VfdmFsdWUpCisgICAgcmVzdG9yZVN0YXRlQWZ0ZXJDQ2Fs
bCgpCitlbmQKKworIyBDYWxsIGEgc2xvdyBwYXRoIGZvciBjYWxsIGNhbGwgb3Bjb2Rlcy4KK21h
Y3JvIGNhbGxDYWxsU2xvd1BhdGgoc2xvd1BhdGgsIGFjdGlvbikKKyAgICBzdG9yZWkgUEMsIEFy
Z3VtZW50Q291bnQgKyBUYWdPZmZzZXRbY2ZyXQorICAgIHByZXBhcmVTdGF0ZUZvckNDYWxsKCkK
KyAgICBtb3ZlIGNmciwgYTAKKyAgICBtb3ZlIFBDLCBhMQorICAgIGNDYWxsMihzbG93UGF0aCkK
KyAgICBhY3Rpb24ocjAsIHIxKQorZW5kCisKK21hY3JvIGNhbGxUcmFwSGFuZGxlcih0aHJvd0hh
bmRsZXIpCisgICAgc3RvcmVpIFBDLCBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0KKyAg
ICBwcmVwYXJlU3RhdGVGb3JDQ2FsbCgpCisgICAgbW92ZSBjZnIsIGEwCisgICAgbW92ZSBQQywg
YTEKKyAgICBjQ2FsbDIoX2xsaW50X3Nsb3dfcGF0aF9oYW5kbGVfdHJhcHMpCisgICAgYnRwbnog
cjAsIHRocm93SGFuZGxlcgorICAgIGxvYWRpIEFyZ3VtZW50Q291bnQgKyBUYWdPZmZzZXRbY2Zy
XSwgUEMKK2VuZAorCittYWNybyBjaGVja1N3aXRjaFRvSklURm9yTG9vcCgpCisgICAgY2hlY2tT
d2l0Y2hUb0pJVCgKKyAgICAgICAgMSwKKyAgICAgICAgbWFjcm8oKQorICAgICAgICAgICAgc3Rv
cmVpIFBDLCBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0KKyAgICAgICAgICAgIHByZXBh
cmVTdGF0ZUZvckNDYWxsKCkKKyAgICAgICAgICAgIG1vdmUgY2ZyLCBhMAorICAgICAgICAgICAg
bW92ZSBQQywgYTEKKyAgICAgICAgICAgIGNDYWxsMihfbGxpbnRfbG9vcF9vc3IpCisgICAgICAg
ICAgICBidHB6IHIwLCAucmVjb3ZlcgorICAgICAgICAgICAgbW92ZSByMSwgc3AKKyAgICAgICAg
ICAgIGptcCByMAorICAgICAgICAucmVjb3ZlcjoKKyAgICAgICAgICAgIGxvYWRpIEFyZ3VtZW50
Q291bnQgKyBUYWdPZmZzZXRbY2ZyXSwgUEMKKyAgICAgICAgZW5kKQorZW5kCisKK21hY3JvIGxv
YWRDYWdlZChiYXNlUHRyLCBzb3VyY2UsIGRlc3QsIHNjcmF0Y2gpCisgICAgbG9hZHAgc291cmNl
LCBkZXN0CisgICAgaWYgR0lHQUNBR0VfRU5BQkxFRCBhbmQgbm90IENfTE9PUAorICAgICAgICBs
b2FkcCBiYXNlUHRyLCBzY3JhdGNoCisgICAgICAgIGJ0cHogc2NyYXRjaCwgLmRvbmUKKyAgICAg
ICAgYW5kcCBjb25zdGV4cHIgR0lHQUNBR0VfTUFTSywgZGVzdAorICAgICAgICBhZGRwIHNjcmF0
Y2gsIGRlc3QKKyAgICAuZG9uZToKKyAgICBlbmQKK2VuZAorCittYWNybyBsb2FkVmFyaWFibGUo
b3BlcmFuZCwgdmFsdWUpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKG9wZXJhbmQsIHZhbHVl
KQorICAgIGxvYWRxIFtjZnIsIHZhbHVlLCA4XSwgdmFsdWUKK2VuZAorCisjIEluZGV4IGFuZCB2
YWx1ZSBtdXN0IGJlIGRpZmZlcmVudCByZWdpc3RlcnMuIEluZGV4IG1heSBiZSBjbG9iYmVyZWQu
CittYWNybyBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKGluZGV4LCB2YWx1ZSkKKyAgICBicGd0ZXEg
aW5kZXgsIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4LCAuY29uc3RhbnQKKyAgICBsb2FkcSBb
Y2ZyLCBpbmRleCwgOF0sIHZhbHVlCisgICAgam1wIC5kb25lCisuY29uc3RhbnQ6CisgICAgbG9h
ZHAgQ29kZUJsb2NrW2Nmcl0sIHZhbHVlCisgICAgbG9hZHAgQ29kZUJsb2NrOjptX2NvbnN0YW50
UmVnaXN0ZXJzICsgVmVjdG9yQnVmZmVyT2Zmc2V0W3ZhbHVlXSwgdmFsdWUKKyAgICBzdWJwIEZp
cnN0Q29uc3RhbnRSZWdpc3RlckluZGV4LCBpbmRleAorICAgIGxvYWRxIFt2YWx1ZSwgaW5kZXgs
IDhdLCB2YWx1ZQorLmRvbmU6CitlbmQKKworbWFjcm8gbG9hZENvbnN0YW50T3JWYXJpYWJsZUlu
dDMyKGluZGV4LCB2YWx1ZSwgc2xvdykKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKGluZGV4
LCB2YWx1ZSkKKyAgICBicWIgdmFsdWUsIHRhZ1R5cGVOdW1iZXIsIHNsb3cKK2VuZAorCittYWNy
byBsb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbChpbmRleCwgdmFsdWUsIHNsb3cpCisgICAgbG9h
ZENvbnN0YW50T3JWYXJpYWJsZShpbmRleCwgdmFsdWUpCisgICAgYnRxbnogdmFsdWUsIHRhZ01h
c2ssIHNsb3cKK2VuZAorCittYWNybyB3cml0ZUJhcnJpZXJPbk9wZXJhbmQoY2VsbE9wZXJhbmQp
CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKGNlbGxPcGVyYW5kLCB0MSkKKyAgICBsb2FkQ29u
c3RhbnRPclZhcmlhYmxlQ2VsbCh0MSwgdDIsIC53cml0ZUJhcnJpZXJEb25lKQorICAgIHNraXBJ
ZklzUmVtZW1iZXJlZE9ySW5FZGVuKAorICAgICAgICB0MiwKKyAgICAgICAgbWFjcm8oKQorICAg
ICAgICAgICAgcHVzaCBQQiwgUEMKKyAgICAgICAgICAgIG1vdmUgdDIsIGExICMgdDIgY2FuIGJl
IGEwIChub3Qgb24gNjQgYml0cywgYnV0IGJldHRlciBzYWZlIHRoYW4gc29ycnkpCisgICAgICAg
ICAgICBtb3ZlIGNmciwgYTAKKyAgICAgICAgICAgIGNDYWxsMlZvaWQoX2xsaW50X3dyaXRlX2Jh
cnJpZXJfc2xvdykKKyAgICAgICAgICAgIHBvcCBQQywgUEIKKyAgICAgICAgZW5kKQorLndyaXRl
QmFycmllckRvbmU6CitlbmQKKworbWFjcm8gd3JpdGVCYXJyaWVyT25PcGVyYW5kcyhjZWxsT3Bl
cmFuZCwgdmFsdWVPcGVyYW5kKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbih2YWx1ZU9wZXJh
bmQsIHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsKHQxLCB0MCwgLndyaXRlQmFy
cmllckRvbmUpCisgICAgYnRweiB0MCwgLndyaXRlQmFycmllckRvbmUKKworICAgIHdyaXRlQmFy
cmllck9uT3BlcmFuZChjZWxsT3BlcmFuZCkKKy53cml0ZUJhcnJpZXJEb25lOgorZW5kCisKK21h
Y3JvIHdyaXRlQmFycmllck9uR2xvYmFsKHZhbHVlT3BlcmFuZCwgbG9hZEhlbHBlcikKKyAgICBs
b2FkaXNGcm9tSW5zdHJ1Y3Rpb24odmFsdWVPcGVyYW5kLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRP
clZhcmlhYmxlQ2VsbCh0MSwgdDAsIC53cml0ZUJhcnJpZXJEb25lKQorICAgIGJ0cHogdDAsIC53
cml0ZUJhcnJpZXJEb25lCisKKyAgICBsb2FkSGVscGVyKHQzKQorICAgIHNraXBJZklzUmVtZW1i
ZXJlZE9ySW5FZGVuKAorICAgICAgICB0MywKKyAgICAgICAgbWFjcm8oKQorICAgICAgICAgICAg
cHVzaCBQQiwgUEMKKyAgICAgICAgICAgIG1vdmUgY2ZyLCBhMAorICAgICAgICAgICAgbW92ZSB0
MywgYTEKKyAgICAgICAgICAgIGNDYWxsMlZvaWQoX2xsaW50X3dyaXRlX2JhcnJpZXJfc2xvdykK
KyAgICAgICAgICAgIHBvcCBQQywgUEIKKyAgICAgICAgZW5kCisgICAgKQorLndyaXRlQmFycmll
ckRvbmU6CitlbmQKKworbWFjcm8gd3JpdGVCYXJyaWVyT25HbG9iYWxPYmplY3QodmFsdWVPcGVy
YW5kKQorICAgIHdyaXRlQmFycmllck9uR2xvYmFsKHZhbHVlT3BlcmFuZCwKKyAgICAgICAgbWFj
cm8ocmVnaXN0ZXJUb1N0b3JlR2xvYmFsKQorICAgICAgICAgICAgbG9hZHAgQ29kZUJsb2NrW2Nm
cl0sIHJlZ2lzdGVyVG9TdG9yZUdsb2JhbAorICAgICAgICAgICAgbG9hZHAgQ29kZUJsb2NrOjpt
X2dsb2JhbE9iamVjdFtyZWdpc3RlclRvU3RvcmVHbG9iYWxdLCByZWdpc3RlclRvU3RvcmVHbG9i
YWwKKyAgICAgICAgZW5kKQorZW5kCisKK21hY3JvIHdyaXRlQmFycmllck9uR2xvYmFsTGV4aWNh
bEVudmlyb25tZW50KHZhbHVlT3BlcmFuZCkKKyAgICB3cml0ZUJhcnJpZXJPbkdsb2JhbCh2YWx1
ZU9wZXJhbmQsCisgICAgICAgIG1hY3JvKHJlZ2lzdGVyVG9TdG9yZUdsb2JhbCkKKyAgICAgICAg
ICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCByZWdpc3RlclRvU3RvcmVHbG9iYWwKKyAgICAgICAg
ICAgIGxvYWRwIENvZGVCbG9jazo6bV9nbG9iYWxPYmplY3RbcmVnaXN0ZXJUb1N0b3JlR2xvYmFs
XSwgcmVnaXN0ZXJUb1N0b3JlR2xvYmFsCisgICAgICAgICAgICBsb2FkcCBKU0dsb2JhbE9iamVj
dDo6bV9nbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRbcmVnaXN0ZXJUb1N0b3JlR2xvYmFsXSwgcmVn
aXN0ZXJUb1N0b3JlR2xvYmFsCisgICAgICAgIGVuZCkKK2VuZAorCittYWNybyB2YWx1ZVByb2Zp
bGUodmFsdWUsIG9wZXJhbmQsIHNjcmF0Y2gpCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24ob3Bl
cmFuZCwgc2NyYXRjaCkKKyAgICBzdG9yZXEgdmFsdWUsIFZhbHVlUHJvZmlsZTo6bV9idWNrZXRz
W3NjcmF0Y2hdCitlbmQKKworbWFjcm8gc3RydWN0dXJlSURUb1N0cnVjdHVyZVdpdGhTY3JhdGNo
KHN0cnVjdHVyZUlEVGhlblN0cnVjdHVyZSwgc2NyYXRjaCkKKyAgICBsb2FkcCBDb2RlQmxvY2tb
Y2ZyXSwgc2NyYXRjaAorICAgIGxvYWRwIENvZGVCbG9jazo6bV92bVtzY3JhdGNoXSwgc2NyYXRj
aAorICAgIGxvYWRwIFZNOjpoZWFwICsgSGVhcDo6bV9zdHJ1Y3R1cmVJRFRhYmxlICsgU3RydWN0
dXJlSURUYWJsZTo6bV90YWJsZVtzY3JhdGNoXSwgc2NyYXRjaAorICAgIGxvYWRwIFtzY3JhdGNo
LCBzdHJ1Y3R1cmVJRFRoZW5TdHJ1Y3R1cmUsIDhdLCBzdHJ1Y3R1cmVJRFRoZW5TdHJ1Y3R1cmUK
K2VuZAorCittYWNybyBsb2FkU3RydWN0dXJlV2l0aFNjcmF0Y2goY2VsbCwgc3RydWN0dXJlLCBz
Y3JhdGNoKQorICAgIGxvYWRpIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFtjZWxsXSwgc3RydWN0dXJl
CisgICAgc3RydWN0dXJlSURUb1N0cnVjdHVyZVdpdGhTY3JhdGNoKHN0cnVjdHVyZSwgc2NyYXRj
aCkKK2VuZAorCittYWNybyBsb2FkU3RydWN0dXJlQW5kQ2xvYmJlckZpcnN0QXJnKGNlbGwsIHN0
cnVjdHVyZSkKKyAgICBsb2FkaSBKU0NlbGw6Om1fc3RydWN0dXJlSURbY2VsbF0sIHN0cnVjdHVy
ZQorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCBjZWxsCisgICAgbG9hZHAgQ29kZUJsb2NrOjpt
X3ZtW2NlbGxdLCBjZWxsCisgICAgbG9hZHAgVk06OmhlYXAgKyBIZWFwOjptX3N0cnVjdHVyZUlE
VGFibGUgKyBTdHJ1Y3R1cmVJRFRhYmxlOjptX3RhYmxlW2NlbGxdLCBjZWxsCisgICAgbG9hZHAg
W2NlbGwsIHN0cnVjdHVyZSwgOF0sIHN0cnVjdHVyZQorZW5kCisKKyMgRW50cnlwb2ludHMgaW50
byB0aGUgaW50ZXJwcmV0ZXIuCisKKyMgRXhwZWN0cyB0aGF0IENvZGVCbG9jayBpcyBpbiB0MSwg
d2hpY2ggaXMgd2hhdCBwcm9sb2d1ZSgpIGxlYXZlcyBiZWhpbmQuCittYWNybyBmdW5jdGlvbkFy
aXR5Q2hlY2soZG9uZUxhYmVsLCBzbG93UGF0aCkKKyAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0ICsg
QXJndW1lbnRDb3VudFtjZnJdLCB0MAorICAgIGJpYWVxIHQwLCBDb2RlQmxvY2s6Om1fbnVtUGFy
YW1ldGVyc1t0MV0sIGRvbmVMYWJlbAorICAgIHByZXBhcmVTdGF0ZUZvckNDYWxsKCkKKyAgICBt
b3ZlIGNmciwgYTAKKyAgICBtb3ZlIFBDLCBhMQorICAgIGNDYWxsMihzbG93UGF0aCkgICAjIFRo
aXMgc2xvd1BhdGggaGFzIHRoZSBwcm90b2NvbDogcjAgPSAwID0+IG5vIGVycm9yLCByMCAhPSAw
ID0+IGVycm9yCisgICAgYnRpeiByMCwgLm5vRXJyb3IKKyAgICBtb3ZlIHIxLCBjZnIgICAjIHIx
IGNvbnRhaW5zIGNhbGxlciBmcmFtZQorICAgIGptcCBfbGxpbnRfdGhyb3dfZnJvbV9zbG93X3Bh
dGhfdHJhbXBvbGluZQorCisubm9FcnJvcjoKKyAgICBsb2FkaSBDb21tb25TbG93UGF0aHM6OkFy
aXR5Q2hlY2tEYXRhOjpwYWRkZWRTdGFja1NwYWNlW3IxXSwgdDEKKyAgICBidGl6IHQxLCAuY29u
dGludWUKKyAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0ICsgQXJndW1lbnRDb3VudFtjZnJdLCB0Mgor
ICAgIGFkZGkgQ2FsbEZyYW1lSGVhZGVyU2xvdHMsIHQyCisKKyAgICAvLyBDaGVjayBpZiB0aGVy
ZSBhcmUgc29tZSB1bmFsaWduZWQgc2xvdHMgd2UgY2FuIHVzZQorICAgIG1vdmUgdDEsIHQzCisg
ICAgYW5kaSBTdGFja0FsaWdubWVudFNsb3RzIC0gMSwgdDMKKyAgICBidGl6IHQzLCAubm9FeHRy
YVNsb3QKKyAgICBtb3ZlIFZhbHVlVW5kZWZpbmVkLCB0MAorLmZpbGxFeHRyYVNsb3RzOgorICAg
IHN0b3JlcSB0MCwgW2NmciwgdDIsIDhdCisgICAgYWRkaSAxLCB0MgorICAgIGJzdWJpbnogMSwg
dDMsIC5maWxsRXh0cmFTbG90cworICAgIGFuZGkgfihTdGFja0FsaWdubWVudFNsb3RzIC0gMSks
IHQxCisgICAgYnRpeiB0MSwgLmNvbnRpbnVlCisKKy5ub0V4dHJhU2xvdDoKKyAgICAvLyBNb3Zl
IGZyYW1lIHVwIHQxIHNsb3RzCisgICAgbmVncSB0MQorICAgIG1vdmUgY2ZyLCB0MworICAgIHN1
YnAgQ2FsbGVlU2F2ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJzICogOCwgdDMKKyAgICBhZGRpIENh
bGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycywgdDIKKyAgICBtb3ZlIHQxLCB0MAorICAg
IGxzaGlmdHAgMywgdDAKKyAgICBhZGRwIHQwLCBjZnIKKyAgICBhZGRwIHQwLCBzcAorLmNvcHlM
b29wOgorICAgIGxvYWRxIFt0M10sIHQwCisgICAgc3RvcmVxIHQwLCBbdDMsIHQxLCA4XQorICAg
IGFkZHAgOCwgdDMKKyAgICBic3ViaW56IDEsIHQyLCAuY29weUxvb3AKKworICAgIC8vIEZpbGwg
bmV3IHNsb3RzIHdpdGggSlNVbmRlZmluZWQKKyAgICBtb3ZlIHQxLCB0MgorICAgIG1vdmUgVmFs
dWVVbmRlZmluZWQsIHQwCisuZmlsbExvb3A6CisgICAgc3RvcmVxIHQwLCBbdDMsIHQxLCA4XQor
ICAgIGFkZHAgOCwgdDMKKyAgICBiYWRkaW56IDEsIHQyLCAuZmlsbExvb3AKKworLmNvbnRpbnVl
OgorICAgICMgUmVsb2FkIENvZGVCbG9jayBhbmQgcmVzZXQgUEMsIHNpbmNlIHRoZSBzbG93X3Bh
dGggY2xvYmJlcmVkIHRoZW0uCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQxCisgICAgbG9h
ZHAgQ29kZUJsb2NrOjptX2luc3RydWN0aW9uc1t0MV0sIFBCCisgICAgbW92ZSAwLCBQQworICAg
IGptcCBkb25lTGFiZWwKK2VuZAorCittYWNybyBicmFuY2hJZkV4Y2VwdGlvbihsYWJlbCkKKyAg
ICBsb2FkcCBDYWxsZWVbY2ZyXSwgdDMKKyAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKKyAg
ICBsb2FkcCBNYXJrZWRCbG9jazo6bV92bVt0M10sIHQzCisgICAgYnRxeiBWTTo6bV9leGNlcHRp
b25bdDNdLCAubm9FeGNlcHRpb24KKyAgICBqbXAgbGFiZWwKKy5ub0V4Y2VwdGlvbjoKK2VuZAor
CisKKyMgSW5zdHJ1Y3Rpb24gaW1wbGVtZW50YXRpb25zCitfbGxpbnRfb3BfZW50ZXI6CisgICAg
dHJhY2VFeGVjdXRpb24oKQorICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHQyLCAweGRl
YWQwMGUxKQorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MiAgICAgICAgICAgICAgICAvLyB0
MjxDb2RlQmxvY2s+ID0gY2ZyLkNvZGVCbG9jaworICAgIGxvYWRpIENvZGVCbG9jazo6bV9udW1W
YXJzW3QyXSwgdDIgICAgICAvLyB0MjxzaXplX3Q+ID0gdDI8Q29kZUJsb2NrPi5tX251bVZhcnMK
KyAgICBzdWJxIENhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycywgdDIKKyAgICBtb3Zl
IGNmciwgdDEKKyAgICBzdWJxIENhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycyAqIDgs
IHQxCisgICAgYnRpeiB0MiwgLm9wRW50ZXJEb25lCisgICAgbW92ZSBWYWx1ZVVuZGVmaW5lZCwg
dDAKKyAgICBuZWdpIHQyCisgICAgc3hpMnEgdDIsIHQyCisub3BFbnRlckxvb3A6CisgICAgc3Rv
cmVxIHQwLCBbdDEsIHQyLCA4XQorICAgIGFkZHEgMSwgdDIKKyAgICBidHFueiB0MiwgLm9wRW50
ZXJMb29wCisub3BFbnRlckRvbmU6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhf
ZW50ZXIpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2VudGVyX2xlbmd0aCkKKworCitfbGxp
bnRfb3BfZ2V0X2FyZ3VtZW50OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9t
SW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQyKQorICAg
IGxvYWRpIFBheWxvYWRPZmZzZXQgKyBBcmd1bWVudENvdW50W2Nmcl0sIHQwCisgICAgYmlsdGVx
IHQwLCB0MiwgLm9wR2V0QXJndW1lbnRPdXRPZkJvdW5kcworICAgIGxvYWRxIFRoaXNBcmd1bWVu
dE9mZnNldFtjZnIsIHQyLCA4XSwgdDAKKyAgICBzdG9yZXEgdDAsIFtjZnIsIHQxLCA4XQorICAg
IHZhbHVlUHJvZmlsZSh0MCwgMywgdDIpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9h
cmd1bWVudF9sZW5ndGgpCisKKy5vcEdldEFyZ3VtZW50T3V0T2ZCb3VuZHM6CisgICAgc3RvcmVx
IFZhbHVlVW5kZWZpbmVkLCBbY2ZyLCB0MSwgOF0KKyAgICB2YWx1ZVByb2ZpbGUoVmFsdWVVbmRl
ZmluZWQsIDMsIHQyKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfYXJndW1lbnRfbGVu
Z3RoKQorCisKK19sbGludF9vcF9hcmd1bWVudF9jb3VudDoKKyAgICB0cmFjZUV4ZWN1dGlvbigp
CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKQorICAgIGxvYWRpIFBheWxvYWRPZmZz
ZXQgKyBBcmd1bWVudENvdW50W2Nmcl0sIHQwCisgICAgc3ViaSAxLCB0MAorICAgIG9ycSBUYWdU
eXBlTnVtYmVyLCB0MAorICAgIHN0b3JlcSB0MCwgW2NmciwgdDEsIDhdCisgICAgZGlzcGF0Y2go
Y29uc3RleHByIG9wX2FyZ3VtZW50X2NvdW50X2xlbmd0aCkKKworCitfbGxpbnRfb3BfZ2V0X3Nj
b3BlOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkcCBDYWxsZWVbY2ZyXSwgdDAKKyAg
ICBsb2FkcCBKU0NhbGxlZTo6bV9zY29wZVt0MF0sIHQwCisgICAgbG9hZGlzRnJvbUluc3RydWN0
aW9uKDEsIHQxKQorICAgIHN0b3JlcSB0MCwgW2NmciwgdDEsIDhdCisgICAgZGlzcGF0Y2goY29u
c3RleHByIG9wX2dldF9zY29wZV9sZW5ndGgpCisKKworX2xsaW50X29wX3RvX3RoaXM6CisgICAg
dHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MCkKKyAgICBs
b2FkcSBbY2ZyLCB0MCwgOF0sIHQwCisgICAgYnRxbnogdDAsIHRhZ01hc2ssIC5vcFRvVGhpc1Ns
b3cKKyAgICBiYm5lcSBKU0NlbGw6Om1fdHlwZVt0MF0sIEZpbmFsT2JqZWN0VHlwZSwgLm9wVG9U
aGlzU2xvdworICAgIGxvYWRTdHJ1Y3R1cmVXaXRoU2NyYXRjaCh0MCwgdDEsIHQyKQorICAgIGxv
YWRwRnJvbUluc3RydWN0aW9uKDIsIHQyKQorICAgIGJwbmVxIHQxLCB0MiwgLm9wVG9UaGlzU2xv
dworICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF90b190aGlzX2xlbmd0aCkKKworLm9wVG9UaGlz
U2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF90b190aGlzKQorICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciBvcF90b190aGlzX2xlbmd0aCkKKworCitfbGxpbnRfb3BfY2hlY2tf
dGR6OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwg
dDApCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MCwgdDEpCisgICAgYnFuZXEgdDEsIFZh
bHVlRW1wdHksIC5vcE5vdFREWgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3Ro
cm93X3Rkel9lcnJvcikKKworLm9wTm90VERaOgorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9j
aGVja190ZHpfbGVuZ3RoKQorCisKK19sbGludF9vcF9tb3Y6CisgICAgdHJhY2VFeGVjdXRpb24o
KQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MSkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oMSwgdDApCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDIpCisgICAgc3Rv
cmVxIHQyLCBbY2ZyLCB0MCwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfbW92X2xlbmd0
aCkKKworCitfbGxpbnRfb3Bfbm90OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24oMiwgdDApCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKQor
ICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDAsIHQyKQorICAgIHhvcnEgVmFsdWVGYWxzZSwg
dDIKKyAgICBidHFueiB0MiwgfjEsIC5vcE5vdFNsb3cKKyAgICB4b3JxIFZhbHVlVHJ1ZSwgdDIK
KyAgICBzdG9yZXEgdDIsIFtjZnIsIHQxLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9u
b3RfbGVuZ3RoKQorCisub3BOb3RTbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19w
YXRoX25vdCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3Bfbm90X2xlbmd0aCkKKworCittYWNy
byBlcXVhbGl0eUNvbXBhcmlzb24oaW50ZWdlckNvbXBhcmlzb24sIHNsb3dQYXRoKQorICAgIHRy
YWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDApCisgICAgbG9h
ZGlzRnJvbUluc3RydWN0aW9uKDIsIHQyKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0
MykKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzIodDAsIHQxLCAuc2xvdykKKyAgICBs
b2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzIodDIsIHQwLCAuc2xvdykKKyAgICBpbnRlZ2VyQ29t
cGFyaXNvbih0MCwgdDEsIHQwKQorICAgIG9ycSBWYWx1ZUZhbHNlLCB0MAorICAgIHN0b3JlcSB0
MCwgW2NmciwgdDMsIDhdCisgICAgZGlzcGF0Y2goNCkKKworLnNsb3c6CisgICAgY2FsbE9wY29k
ZVNsb3dQYXRoKHNsb3dQYXRoKQorICAgIGRpc3BhdGNoKDQpCitlbmQKKworX2xsaW50X29wX2Vx
OgorICAgIGVxdWFsaXR5Q29tcGFyaXNvbigKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0LCBy
ZXN1bHQpIGNpZXEgbGVmdCwgcmlnaHQsIHJlc3VsdCBlbmQsCisgICAgICAgIF9zbG93X3BhdGhf
ZXEpCisKKworX2xsaW50X29wX25lcToKKyAgICBlcXVhbGl0eUNvbXBhcmlzb24oCisgICAgICAg
IG1hY3JvIChsZWZ0LCByaWdodCwgcmVzdWx0KSBjaW5lcSBsZWZ0LCByaWdodCwgcmVzdWx0IGVu
ZCwKKyAgICAgICAgX3Nsb3dfcGF0aF9uZXEpCisKKworbWFjcm8gZXF1YWxOdWxsQ29tcGFyaXNv
bigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQwKQorICAgIGxvYWRxIFtjZnIsIHQw
LCA4XSwgdDAKKyAgICBidHFueiB0MCwgdGFnTWFzaywgLmltbWVkaWF0ZQorICAgIGJ0Ym56IEpT
Q2VsbDo6bV9mbGFnc1t0MF0sIE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQsIC5tYXNxdWVyYWRlc0Fz
VW5kZWZpbmVkCisgICAgbW92ZSAwLCB0MAorICAgIGptcCAuZG9uZQorLm1hc3F1ZXJhZGVzQXNV
bmRlZmluZWQ6CisgICAgbG9hZFN0cnVjdHVyZVdpdGhTY3JhdGNoKHQwLCB0MiwgdDEpCisgICAg
bG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQwCisgICAgbG9hZHAgQ29kZUJsb2NrOjptX2dsb2JhbE9i
amVjdFt0MF0sIHQwCisgICAgY3BlcSBTdHJ1Y3R1cmU6Om1fZ2xvYmFsT2JqZWN0W3QyXSwgdDAs
IHQwCisgICAgam1wIC5kb25lCisuaW1tZWRpYXRlOgorICAgIGFuZHEgflRhZ0JpdFVuZGVmaW5l
ZCwgdDAKKyAgICBjcWVxIHQwLCBWYWx1ZU51bGwsIHQwCisuZG9uZToKK2VuZAorCitfbGxpbnRf
b3BfZXFfbnVsbDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgZXF1YWxOdWxsQ29tcGFyaXNv
bigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKQorICAgIG9ycSBWYWx1ZUZhbHNl
LCB0MAorICAgIHN0b3JlcSB0MCwgW2NmciwgdDEsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHBy
IG9wX2VxX251bGxfbGVuZ3RoKQorCisKK19sbGludF9vcF9uZXFfbnVsbDoKKyAgICB0cmFjZUV4
ZWN1dGlvbigpCisgICAgZXF1YWxOdWxsQ29tcGFyaXNvbigpCisgICAgbG9hZGlzRnJvbUluc3Ry
dWN0aW9uKDEsIHQxKQorICAgIHhvcnEgVmFsdWVUcnVlLCB0MAorICAgIHN0b3JlcSB0MCwgW2Nm
ciwgdDEsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX25lcV9udWxsX2xlbmd0aCkKKwor
CittYWNybyBzdHJpY3RFcShlcXVhbGl0eU9wZXJhdGlvbiwgc2xvd1BhdGgpCisgICAgdHJhY2VF
eGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MCkKKyAgICBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24oMiwgdDIpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MCwgdDEp
CisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDApCisgICAgbW92ZSB0MCwgdDIKKyAg
ICBvcnEgdDEsIHQyCisgICAgYnRxeiB0MiwgdGFnTWFzaywgLnNsb3cKKyAgICBicWFlcSB0MCwg
dGFnVHlwZU51bWJlciwgLmxlZnRPSworICAgIGJ0cW56IHQwLCB0YWdUeXBlTnVtYmVyLCAuc2xv
dworLmxlZnRPSzoKKyAgICBicWFlcSB0MSwgdGFnVHlwZU51bWJlciwgLnJpZ2h0T0sKKyAgICBi
dHFueiB0MSwgdGFnVHlwZU51bWJlciwgLnNsb3cKKy5yaWdodE9LOgorICAgIGVxdWFsaXR5T3Bl
cmF0aW9uKHQwLCB0MSwgdDApCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKQorICAg
IG9ycSBWYWx1ZUZhbHNlLCB0MAorICAgIHN0b3JlcSB0MCwgW2NmciwgdDEsIDhdCisgICAgZGlz
cGF0Y2goNCkKKworLnNsb3c6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKHNsb3dQYXRoKQorICAg
IGRpc3BhdGNoKDQpCitlbmQKKworX2xsaW50X29wX3N0cmljdGVxOgorICAgIHN0cmljdEVxKAor
ICAgICAgICBtYWNybyAobGVmdCwgcmlnaHQsIHJlc3VsdCkgY3FlcSBsZWZ0LCByaWdodCwgcmVz
dWx0IGVuZCwKKyAgICAgICAgX3Nsb3dfcGF0aF9zdHJpY3RlcSkKKworCitfbGxpbnRfb3BfbnN0
cmljdGVxOgorICAgIHN0cmljdEVxKAorICAgICAgICBtYWNybyAobGVmdCwgcmlnaHQsIHJlc3Vs
dCkgY3FuZXEgbGVmdCwgcmlnaHQsIHJlc3VsdCBlbmQsCisgICAgICAgIF9zbG93X3BhdGhfbnN0
cmljdGVxKQorCisKK21hY3JvIHByZU9wKGFyaXRobWV0aWNPcGVyYXRpb24sIHNsb3dQYXRoKQor
ICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCisg
ICAgbG9hZHEgW2NmciwgdDAsIDhdLCB0MQorICAgIGJxYiB0MSwgdGFnVHlwZU51bWJlciwgLnNs
b3cKKyAgICBhcml0aG1ldGljT3BlcmF0aW9uKHQxLCAuc2xvdykKKyAgICBvcnEgdGFnVHlwZU51
bWJlciwgdDEKKyAgICBzdG9yZXEgdDEsIFtjZnIsIHQwLCA4XQorICAgIGRpc3BhdGNoKDIpCisK
Ky5zbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChzbG93UGF0aCkKKyAgICBkaXNwYXRjaCgy
KQorZW5kCisKK19sbGludF9vcF9pbmM6CisgICAgcHJlT3AoCisgICAgICAgIG1hY3JvICh2YWx1
ZSwgc2xvdykgYmFkZGlvIDEsIHZhbHVlLCBzbG93IGVuZCwKKyAgICAgICAgX3Nsb3dfcGF0aF9p
bmMpCisKKworX2xsaW50X29wX2RlYzoKKyAgICBwcmVPcCgKKyAgICAgICAgbWFjcm8gKHZhbHVl
LCBzbG93KSBic3ViaW8gMSwgdmFsdWUsIHNsb3cgZW5kLAorICAgICAgICBfc2xvd19wYXRoX2Rl
YykKKworCitfbGxpbnRfb3BfdG9fbnVtYmVyOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBs
b2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDApCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEs
IHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDAsIHQyKQorICAgIGJxYWVxIHQyLCB0
YWdUeXBlTnVtYmVyLCAub3BUb051bWJlcklzSW1tZWRpYXRlCisgICAgYnRxeiB0MiwgdGFnVHlw
ZU51bWJlciwgLm9wVG9OdW1iZXJTbG93Cisub3BUb051bWJlcklzSW1tZWRpYXRlOgorICAgIHN0
b3JlcSB0MiwgW2NmciwgdDEsIDhdCisgICAgdmFsdWVQcm9maWxlKHQyLCAzLCB0MCkKKyAgICBk
aXNwYXRjaChjb25zdGV4cHIgb3BfdG9fbnVtYmVyX2xlbmd0aCkKKworLm9wVG9OdW1iZXJTbG93
OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3RvX251bWJlcikKKyAgICBkaXNw
YXRjaChjb25zdGV4cHIgb3BfdG9fbnVtYmVyX2xlbmd0aCkKKworCitfbGxpbnRfb3BfdG9fc3Ry
aW5nOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwg
dDEpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQyKQorICAgIGxvYWRDb25zdGFudE9y
VmFyaWFibGUodDEsIHQwKQorICAgIGJ0cW56IHQwLCB0YWdNYXNrLCAub3BUb1N0cmluZ1Nsb3cK
KyAgICBiYm5lcSBKU0NlbGw6Om1fdHlwZVt0MF0sIFN0cmluZ1R5cGUsIC5vcFRvU3RyaW5nU2xv
dworLm9wVG9TdHJpbmdJc1N0cmluZzoKKyAgICBzdG9yZXEgdDAsIFtjZnIsIHQyLCA4XQorICAg
IGRpc3BhdGNoKGNvbnN0ZXhwciBvcF90b19zdHJpbmdfbGVuZ3RoKQorCisub3BUb1N0cmluZ1Ns
b3c6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfdG9fc3RyaW5nKQorICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciBvcF90b19zdHJpbmdfbGVuZ3RoKQorCisKK19sbGludF9vcF9uZWdh
dGU6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0
MCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgbG9hZENvbnN0YW50T3JW
YXJpYWJsZSh0MCwgdDMpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQyKQorICAgIGJx
YiB0MywgdGFnVHlwZU51bWJlciwgLm9wTmVnYXRlTm90SW50CisgICAgYnRpeiB0MywgMHg3ZmZm
ZmZmZiwgLm9wTmVnYXRlU2xvdworICAgIG5lZ2kgdDMKKyAgICBvcmkgQXJpdGhQcm9maWxlSW50
LCB0MgorICAgIG9ycSB0YWdUeXBlTnVtYmVyLCB0MworICAgIHN0b3JlaXNUb0luc3RydWN0aW9u
KHQyLCAzKQorICAgIHN0b3JlcSB0MywgW2NmciwgdDEsIDhdCisgICAgZGlzcGF0Y2goY29uc3Rl
eHByIG9wX25lZ2F0ZV9sZW5ndGgpCisub3BOZWdhdGVOb3RJbnQ6CisgICAgYnRxeiB0MywgdGFn
VHlwZU51bWJlciwgLm9wTmVnYXRlU2xvdworICAgIHhvcnEgMHg4MDAwMDAwMDAwMDAwMDAwLCB0
MworICAgIG9yaSBBcml0aFByb2ZpbGVOdW1iZXIsIHQyCisgICAgc3RvcmVxIHQzLCBbY2ZyLCB0
MSwgOF0KKyAgICBzdG9yZWlzVG9JbnN0cnVjdGlvbih0MiwgMykKKyAgICBkaXNwYXRjaChjb25z
dGV4cHIgb3BfbmVnYXRlX2xlbmd0aCkKKworLm9wTmVnYXRlU2xvdzoKKyAgICBjYWxsT3Bjb2Rl
U2xvd1BhdGgoX3Nsb3dfcGF0aF9uZWdhdGUpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX25l
Z2F0ZV9sZW5ndGgpCisKKworbWFjcm8gYmluYXJ5T3BDdXN0b21TdG9yZShpbnRlZ2VyT3BlcmF0
aW9uQW5kU3RvcmUsIGRvdWJsZU9wZXJhdGlvbiwgc2xvd1BhdGgpCisgICAgbG9hZGlzRnJvbUlu
c3RydWN0aW9uKDMsIHQwKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MikKKyAgICBs
b2FkQ29uc3RhbnRPclZhcmlhYmxlKHQwLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxl
KHQyLCB0MCkKKyAgICBicWIgdDAsIHRhZ1R5cGVOdW1iZXIsIC5vcDFOb3RJbnQKKyAgICBicWIg
dDEsIHRhZ1R5cGVOdW1iZXIsIC5vcDJOb3RJbnQKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24o
MSwgdDIpCisgICAgaW50ZWdlck9wZXJhdGlvbkFuZFN0b3JlKHQxLCB0MCwgLnNsb3csIHQyKQor
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0MSkKKyAgICBvcmkgQXJpdGhQcm9maWxlSW50
SW50LCB0MQorICAgIHN0b3JlaXNUb0luc3RydWN0aW9uKHQxLCA0KQorICAgIGRpc3BhdGNoKDUp
CisKKy5vcDFOb3RJbnQ6CisgICAgIyBGaXJzdCBvcGVyYW5kIGlzIGRlZmluaXRlbHkgbm90IGFu
IGludCwgdGhlIHNlY29uZCBvcGVyYW5kIGNvdWxkIGJlIGFueXRoaW5nLgorICAgIGJ0cXogdDAs
IHRhZ1R5cGVOdW1iZXIsIC5zbG93CisgICAgYnFhZXEgdDEsIHRhZ1R5cGVOdW1iZXIsIC5vcDFO
b3RJbnRPcDJJbnQKKyAgICBidHF6IHQxLCB0YWdUeXBlTnVtYmVyLCAuc2xvdworICAgIGFkZHEg
dGFnVHlwZU51bWJlciwgdDEKKyAgICBmcTJkIHQxLCBmdDEKKyAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oNCwgdDIpCisgICAgb3JpIEFyaXRoUHJvZmlsZU51bWJlck51bWJlciwgdDIKKyAgICBz
dG9yZWlzVG9JbnN0cnVjdGlvbih0MiwgNCkKKyAgICBqbXAgLm9wMU5vdEludFJlYWR5Cisub3Ax
Tm90SW50T3AySW50OgorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0MikKKyAgICBvcmkg
QXJpdGhQcm9maWxlTnVtYmVySW50LCB0MgorICAgIHN0b3JlaXNUb0luc3RydWN0aW9uKHQyLCA0
KQorICAgIGNpMmQgdDEsIGZ0MQorLm9wMU5vdEludFJlYWR5OgorICAgIGxvYWRpc0Zyb21JbnN0
cnVjdGlvbigxLCB0MikKKyAgICBhZGRxIHRhZ1R5cGVOdW1iZXIsIHQwCisgICAgZnEyZCB0MCwg
ZnQwCisgICAgZG91YmxlT3BlcmF0aW9uKGZ0MSwgZnQwKQorICAgIGZkMnEgZnQwLCB0MAorICAg
IHN1YnEgdGFnVHlwZU51bWJlciwgdDAKKyAgICBzdG9yZXEgdDAsIFtjZnIsIHQyLCA4XQorICAg
IGRpc3BhdGNoKDUpCisKKy5vcDJOb3RJbnQ6CisgICAgIyBGaXJzdCBvcGVyYW5kIGlzIGRlZmlu
aXRlbHkgYW4gaW50LCB0aGUgc2Vjb25kIGlzIGRlZmluaXRlbHkgbm90LgorICAgIGxvYWRpc0Zy
b21JbnN0cnVjdGlvbigxLCB0MikKKyAgICBidHF6IHQxLCB0YWdUeXBlTnVtYmVyLCAuc2xvdwor
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0MykKKyAgICBvcmkgQXJpdGhQcm9maWxlSW50
TnVtYmVyLCB0MworICAgIHN0b3JlaXNUb0luc3RydWN0aW9uKHQzLCA0KQorICAgIGNpMmQgdDAs
IGZ0MAorICAgIGFkZHEgdGFnVHlwZU51bWJlciwgdDEKKyAgICBmcTJkIHQxLCBmdDEKKyAgICBk
b3VibGVPcGVyYXRpb24oZnQxLCBmdDApCisgICAgZmQycSBmdDAsIHQwCisgICAgc3VicSB0YWdU
eXBlTnVtYmVyLCB0MAorICAgIHN0b3JlcSB0MCwgW2NmciwgdDIsIDhdCisgICAgZGlzcGF0Y2go
NSkKKworLnNsb3c6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKHNsb3dQYXRoKQorICAgIGRpc3Bh
dGNoKDUpCitlbmQKKworbWFjcm8gYmluYXJ5T3AoaW50ZWdlck9wZXJhdGlvbiwgZG91YmxlT3Bl
cmF0aW9uLCBzbG93UGF0aCkKKyAgICBiaW5hcnlPcEN1c3RvbVN0b3JlKAorICAgICAgICBtYWNy
byAobGVmdCwgcmlnaHQsIHNsb3csIGluZGV4KQorICAgICAgICAgICAgaW50ZWdlck9wZXJhdGlv
bihsZWZ0LCByaWdodCwgc2xvdykKKyAgICAgICAgICAgIG9ycSB0YWdUeXBlTnVtYmVyLCByaWdo
dAorICAgICAgICAgICAgc3RvcmVxIHJpZ2h0LCBbY2ZyLCBpbmRleCwgOF0KKyAgICAgICAgZW5k
LAorICAgICAgICBkb3VibGVPcGVyYXRpb24sIHNsb3dQYXRoKQorZW5kCisKK19sbGludF9vcF9h
ZGQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGJpbmFyeU9wKAorICAgICAgICBtYWNybyAo
bGVmdCwgcmlnaHQsIHNsb3cpIGJhZGRpbyBsZWZ0LCByaWdodCwgc2xvdyBlbmQsCisgICAgICAg
IG1hY3JvIChsZWZ0LCByaWdodCkgYWRkZCBsZWZ0LCByaWdodCBlbmQsCisgICAgICAgIF9zbG93
X3BhdGhfYWRkKQorCisKK19sbGludF9vcF9tdWw6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAg
IGJpbmFyeU9wQ3VzdG9tU3RvcmUoCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwgc2xvdywg
aW5kZXgpCisgICAgICAgICAgICAjIEFzc3VtZSB0MyBpcyBzY3JhdGNoYWJsZS4KKyAgICAgICAg
ICAgIG1vdmUgcmlnaHQsIHQzCisgICAgICAgICAgICBibXVsaW8gbGVmdCwgdDMsIHNsb3cKKyAg
ICAgICAgICAgIGJ0aW56IHQzLCAuZG9uZQorICAgICAgICAgICAgYmlsdCBsZWZ0LCAwLCBzbG93
CisgICAgICAgICAgICBiaWx0IHJpZ2h0LCAwLCBzbG93CisgICAgICAgIC5kb25lOgorICAgICAg
ICAgICAgb3JxIHRhZ1R5cGVOdW1iZXIsIHQzCisgICAgICAgICAgICBzdG9yZXEgdDMsIFtjZnIs
IGluZGV4LCA4XQorICAgICAgICBlbmQsCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCkgbXVs
ZCBsZWZ0LCByaWdodCBlbmQsCisgICAgICAgIF9zbG93X3BhdGhfbXVsKQorCisKK19sbGludF9v
cF9zdWI6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGJpbmFyeU9wKAorICAgICAgICBtYWNy
byAobGVmdCwgcmlnaHQsIHNsb3cpIGJzdWJpbyBsZWZ0LCByaWdodCwgc2xvdyBlbmQsCisgICAg
ICAgIG1hY3JvIChsZWZ0LCByaWdodCkgc3ViZCBsZWZ0LCByaWdodCBlbmQsCisgICAgICAgIF9z
bG93X3BhdGhfc3ViKQorCisKK19sbGludF9vcF9kaXY6CisgICAgdHJhY2VFeGVjdXRpb24oKQor
ICAgIGlmIFg4Nl82NCBvciBYODZfNjRfV0lOCisgICAgICAgIGJpbmFyeU9wQ3VzdG9tU3RvcmUo
CisgICAgICAgICAgICBtYWNybyAobGVmdCwgcmlnaHQsIHNsb3csIGluZGV4KQorICAgICAgICAg
ICAgICAgICMgQXNzdW1lIHQzIGlzIHNjcmF0Y2hhYmxlLgorICAgICAgICAgICAgICAgIGJ0aXog
bGVmdCwgc2xvdworICAgICAgICAgICAgICAgIGJpbmVxIGxlZnQsIC0xLCAubm90TmVnMlR3b1Ro
ZTMxRGl2QnlOZWcxCisgICAgICAgICAgICAgICAgYmllcSByaWdodCwgLTIxNDc0ODM2NDgsIC5z
bG93CisgICAgICAgICAgICAubm90TmVnMlR3b1RoZTMxRGl2QnlOZWcxOgorICAgICAgICAgICAg
ICAgIGJ0aW56IHJpZ2h0LCAuaW50T0sKKyAgICAgICAgICAgICAgICBiaWx0IGxlZnQsIDAsIHNs
b3cKKyAgICAgICAgICAgIC5pbnRPSzoKKyAgICAgICAgICAgICAgICBtb3ZlIGxlZnQsIHQzCisg
ICAgICAgICAgICAgICAgbW92ZSByaWdodCwgdDAKKyAgICAgICAgICAgICAgICBjZHFpCisgICAg
ICAgICAgICAgICAgaWRpdmkgdDMKKyAgICAgICAgICAgICAgICBidGlueiB0MSwgc2xvdworICAg
ICAgICAgICAgICAgIG9ycSB0YWdUeXBlTnVtYmVyLCB0MAorICAgICAgICAgICAgICAgIHN0b3Jl
cSB0MCwgW2NmciwgaW5kZXgsIDhdCisgICAgICAgICAgICBlbmQsCisgICAgICAgICAgICBtYWNy
byAobGVmdCwgcmlnaHQpIGRpdmQgbGVmdCwgcmlnaHQgZW5kLAorICAgICAgICAgICAgX3Nsb3df
cGF0aF9kaXYpCisgICAgZWxzZQorICAgICAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0
aF9kaXYpCisgICAgICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9kaXZfbGVuZ3RoKQorICAgIGVu
ZAorCisKK21hY3JvIGJpdE9wKG9wZXJhdGlvbiwgc2xvd1BhdGgsIGFkdmFuY2UpCisgICAgbG9h
ZGlzRnJvbUluc3RydWN0aW9uKDMsIHQwKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0
MikKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDMpCisgICAgbG9hZENvbnN0YW50T3JW
YXJpYWJsZSh0MCwgdDEpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDApCisgICAg
YnFiIHQwLCB0YWdUeXBlTnVtYmVyLCAuc2xvdworICAgIGJxYiB0MSwgdGFnVHlwZU51bWJlciwg
LnNsb3cKKyAgICBvcGVyYXRpb24odDEsIHQwKQorICAgIG9ycSB0YWdUeXBlTnVtYmVyLCB0MAor
ICAgIHN0b3JlcSB0MCwgW2NmciwgdDMsIDhdCisgICAgZGlzcGF0Y2goYWR2YW5jZSkKKworLnNs
b3c6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKHNsb3dQYXRoKQorICAgIGRpc3BhdGNoKGFkdmFu
Y2UpCitlbmQKKworX2xsaW50X29wX2xzaGlmdDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAg
Yml0T3AoCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCkgbHNoaWZ0aSBsZWZ0LCByaWdodCBl
bmQsCisgICAgICAgIF9zbG93X3BhdGhfbHNoaWZ0LAorICAgICAgICBjb25zdGV4cHIgb3BfbHNo
aWZ0X2xlbmd0aCkKKworCitfbGxpbnRfb3BfcnNoaWZ0OgorICAgIHRyYWNlRXhlY3V0aW9uKCkK
KyAgICBiaXRPcCgKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0KSByc2hpZnRpIGxlZnQsIHJp
Z2h0IGVuZCwKKyAgICAgICAgX3Nsb3dfcGF0aF9yc2hpZnQsCisgICAgICAgIGNvbnN0ZXhwciBv
cF9yc2hpZnRfbGVuZ3RoKQorCisKK19sbGludF9vcF91cnNoaWZ0OgorICAgIHRyYWNlRXhlY3V0
aW9uKCkKKyAgICBiaXRPcCgKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0KSB1cnNoaWZ0aSBs
ZWZ0LCByaWdodCBlbmQsCisgICAgICAgIF9zbG93X3BhdGhfdXJzaGlmdCwKKyAgICAgICAgY29u
c3RleHByIG9wX3Vyc2hpZnRfbGVuZ3RoKQorCisKK19sbGludF9vcF91bnNpZ25lZDoKKyAgICB0
cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKQorICAgIGxv
YWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQx
LCB0MikKKyAgICBiaWx0IHQyLCAwLCAub3BVbnNpZ25lZFNsb3cKKyAgICBzdG9yZXEgdDIsIFtj
ZnIsIHQwLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF91bnNpZ25lZF9sZW5ndGgpCisu
b3BVbnNpZ25lZFNsb3c6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfdW5zaWdu
ZWQpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3Vuc2lnbmVkX2xlbmd0aCkKKworCitfbGxp
bnRfb3BfYml0YW5kOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBiaXRPcCgKKyAgICAgICAg
bWFjcm8gKGxlZnQsIHJpZ2h0KSBhbmRpIGxlZnQsIHJpZ2h0IGVuZCwKKyAgICAgICAgX3Nsb3df
cGF0aF9iaXRhbmQsCisgICAgICAgIGNvbnN0ZXhwciBvcF9iaXRhbmRfbGVuZ3RoKQorCisKK19s
bGludF9vcF9iaXR4b3I6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGJpdE9wKAorICAgICAg
ICBtYWNybyAobGVmdCwgcmlnaHQpIHhvcmkgbGVmdCwgcmlnaHQgZW5kLAorICAgICAgICBfc2xv
d19wYXRoX2JpdHhvciwKKyAgICAgICAgY29uc3RleHByIG9wX2JpdHhvcl9sZW5ndGgpCisKKwor
X2xsaW50X29wX2JpdG9yOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBiaXRPcCgKKyAgICAg
ICAgbWFjcm8gKGxlZnQsIHJpZ2h0KSBvcmkgbGVmdCwgcmlnaHQgZW5kLAorICAgICAgICBfc2xv
d19wYXRoX2JpdG9yLAorICAgICAgICBjb25zdGV4cHIgb3BfYml0b3JfbGVuZ3RoKQorCisKK19s
bGludF9vcF9vdmVycmlkZXNfaGFzX2luc3RhbmNlOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDMpCisKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rp
b24oMywgdDEpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDApCisgICAgbG9hZHAg
Q29kZUJsb2NrW2Nmcl0sIHQyCisgICAgbG9hZHAgQ29kZUJsb2NrOjptX2dsb2JhbE9iamVjdFt0
Ml0sIHQyCisgICAgbG9hZHAgSlNHbG9iYWxPYmplY3Q6Om1fZnVuY3Rpb25Qcm90b0hhc0luc3Rh
bmNlU3ltYm9sRnVuY3Rpb25bdDJdLCB0MgorICAgIGJxbmVxIHQwLCB0MiwgLm9wT3ZlcnJpZGVz
SGFzSW5zdGFuY2VOb3REZWZhdWx0U3ltYm9sCisKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24o
MiwgdDEpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDApCisgICAgdGJ6IEpTQ2Vs
bDo6bV9mbGFnc1t0MF0sIEltcGxlbWVudHNEZWZhdWx0SGFzSW5zdGFuY2UsIHQxCisgICAgb3Jx
IFZhbHVlRmFsc2UsIHQxCisgICAgc3RvcmVxIHQxLCBbY2ZyLCB0MywgOF0KKyAgICBkaXNwYXRj
aChjb25zdGV4cHIgb3Bfb3ZlcnJpZGVzX2hhc19pbnN0YW5jZV9sZW5ndGgpCisKKy5vcE92ZXJy
aWRlc0hhc0luc3RhbmNlTm90RGVmYXVsdFN5bWJvbDoKKyAgICBzdG9yZXEgVmFsdWVUcnVlLCBb
Y2ZyLCB0MywgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3Bfb3ZlcnJpZGVzX2hhc19pbnN0
YW5jZV9sZW5ndGgpCisKKworX2xsaW50X29wX2luc3RhbmNlb2ZfY3VzdG9tOgorICAgIHRyYWNl
RXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9pbnN0
YW5jZW9mX2N1c3RvbSkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfaW5zdGFuY2VvZl9jdXN0
b21fbGVuZ3RoKQorCisKK19sbGludF9vcF9pc19lbXB0eToKKyAgICB0cmFjZUV4ZWN1dGlvbigp
CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQxKQorICAgIGxvYWRpc0Zyb21JbnN0cnVj
dGlvbigxLCB0MikKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MCkKKyAgICBjcWVx
IHQwLCBWYWx1ZUVtcHR5LCB0MworICAgIG9ycSBWYWx1ZUZhbHNlLCB0MworICAgIHN0b3JlcSB0
MywgW2NmciwgdDIsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2lzX2VtcHR5X2xlbmd0
aCkKKworCitfbGxpbnRfb3BfaXNfdW5kZWZpbmVkOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDEpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9u
KDEsIHQyKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQwKQorICAgIGJ0cXogdDAs
IHRhZ01hc2ssIC5vcElzVW5kZWZpbmVkQ2VsbAorICAgIGNxZXEgdDAsIFZhbHVlVW5kZWZpbmVk
LCB0MworICAgIG9ycSBWYWx1ZUZhbHNlLCB0MworICAgIHN0b3JlcSB0MywgW2NmciwgdDIsIDhd
CisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2lzX3VuZGVmaW5lZF9sZW5ndGgpCisub3BJc1Vu
ZGVmaW5lZENlbGw6CisgICAgYnRibnogSlNDZWxsOjptX2ZsYWdzW3QwXSwgTWFzcXVlcmFkZXNB
c1VuZGVmaW5lZCwgLm1hc3F1ZXJhZGVzQXNVbmRlZmluZWQKKyAgICBtb3ZlIFZhbHVlRmFsc2Us
IHQxCisgICAgc3RvcmVxIHQxLCBbY2ZyLCB0MiwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIg
b3BfaXNfdW5kZWZpbmVkX2xlbmd0aCkKKy5tYXNxdWVyYWRlc0FzVW5kZWZpbmVkOgorICAgIGxv
YWRTdHJ1Y3R1cmVXaXRoU2NyYXRjaCh0MCwgdDMsIHQxKQorICAgIGxvYWRwIENvZGVCbG9ja1tj
ZnJdLCB0MQorICAgIGxvYWRwIENvZGVCbG9jazo6bV9nbG9iYWxPYmplY3RbdDFdLCB0MQorICAg
IGNwZXEgU3RydWN0dXJlOjptX2dsb2JhbE9iamVjdFt0M10sIHQxLCB0MAorICAgIG9ycSBWYWx1
ZUZhbHNlLCB0MAorICAgIHN0b3JlcSB0MCwgW2NmciwgdDIsIDhdCisgICAgZGlzcGF0Y2goY29u
c3RleHByIG9wX2lzX3VuZGVmaW5lZF9sZW5ndGgpCisKKworX2xsaW50X29wX2lzX2Jvb2xlYW46
CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MSkK
KyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDIpCisgICAgbG9hZENvbnN0YW50T3JWYXJp
YWJsZSh0MSwgdDApCisgICAgeG9ycSBWYWx1ZUZhbHNlLCB0MAorICAgIHRxeiB0MCwgfjEsIHQw
CisgICAgb3JxIFZhbHVlRmFsc2UsIHQwCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MiwgOF0KKyAg
ICBkaXNwYXRjaChjb25zdGV4cHIgb3BfaXNfYm9vbGVhbl9sZW5ndGgpCisKKworX2xsaW50X29w
X2lzX251bWJlcjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0
aW9uKDIsIHQxKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MikKKyAgICBsb2FkQ29u
c3RhbnRPclZhcmlhYmxlKHQxLCB0MCkKKyAgICB0cW56IHQwLCB0YWdUeXBlTnVtYmVyLCB0MQor
ICAgIG9ycSBWYWx1ZUZhbHNlLCB0MQorICAgIHN0b3JlcSB0MSwgW2NmciwgdDIsIDhdCisgICAg
ZGlzcGF0Y2goY29uc3RleHByIG9wX2lzX251bWJlcl9sZW5ndGgpCisKKworX2xsaW50X29wX2lz
X2NlbGxfd2l0aF90eXBlOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5z
dHJ1Y3Rpb24oMywgdDApCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQxKQorICAgIGxv
YWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MikKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQx
LCB0MykKKyAgICBidHFueiB0MywgdGFnTWFzaywgLm5vdENlbGxDYXNlCisgICAgY2JlcSBKU0Nl
bGw6Om1fdHlwZVt0M10sIHQwLCB0MQorICAgIG9ycSBWYWx1ZUZhbHNlLCB0MQorICAgIHN0b3Jl
cSB0MSwgW2NmciwgdDIsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2lzX2NlbGxfd2l0
aF90eXBlX2xlbmd0aCkKKy5ub3RDZWxsQ2FzZToKKyAgICBzdG9yZXEgVmFsdWVGYWxzZSwgW2Nm
ciwgdDIsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2lzX2NlbGxfd2l0aF90eXBlX2xl
bmd0aCkKKworCitfbGxpbnRfb3BfaXNfb2JqZWN0OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDEpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9u
KDEsIHQyKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQwKQorICAgIGJ0cW56IHQw
LCB0YWdNYXNrLCAub3BJc09iamVjdE5vdENlbGwKKyAgICBjYmFlcSBKU0NlbGw6Om1fdHlwZVt0
MF0sIE9iamVjdFR5cGUsIHQxCisgICAgb3JxIFZhbHVlRmFsc2UsIHQxCisgICAgc3RvcmVxIHQx
LCBbY2ZyLCB0MiwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfaXNfb2JqZWN0X2xlbmd0
aCkKKy5vcElzT2JqZWN0Tm90Q2VsbDoKKyAgICBzdG9yZXEgVmFsdWVGYWxzZSwgW2NmciwgdDIs
IDhdCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2lzX29iamVjdF9sZW5ndGgpCisKKworbWFj
cm8gbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldChwcm9wZXJ0eU9mZnNldEFzSW50LCBvYmpl
Y3RBbmRTdG9yYWdlLCB2YWx1ZSkKKyAgICBiaWx0IHByb3BlcnR5T2Zmc2V0QXNJbnQsIGZpcnN0
T3V0T2ZMaW5lT2Zmc2V0LCAuaXNJbmxpbmUKKyAgICBsb2FkQ2FnZWQoX2dfanNWYWx1ZUdpZ2Fj
YWdlQmFzZVB0ciwgSlNPYmplY3Q6Om1fYnV0dGVyZmx5W29iamVjdEFuZFN0b3JhZ2VdLCBvYmpl
Y3RBbmRTdG9yYWdlLCB2YWx1ZSkKKyAgICBuZWdpIHByb3BlcnR5T2Zmc2V0QXNJbnQKKyAgICBz
eGkycSBwcm9wZXJ0eU9mZnNldEFzSW50LCBwcm9wZXJ0eU9mZnNldEFzSW50CisgICAgam1wIC5y
ZWFkeQorLmlzSW5saW5lOgorICAgIGFkZHAgc2l6ZW9mIEpTT2JqZWN0IC0gKGZpcnN0T3V0T2ZM
aW5lT2Zmc2V0IC0gMikgKiA4LCBvYmplY3RBbmRTdG9yYWdlCisucmVhZHk6CisgICAgbG9hZHEg
KGZpcnN0T3V0T2ZMaW5lT2Zmc2V0IC0gMikgKiA4W29iamVjdEFuZFN0b3JhZ2UsIHByb3BlcnR5
T2Zmc2V0QXNJbnQsIDhdLCB2YWx1ZQorZW5kCisKKworbWFjcm8gc3RvcmVQcm9wZXJ0eUF0VmFy
aWFibGVPZmZzZXQocHJvcGVydHlPZmZzZXRBc0ludCwgb2JqZWN0QW5kU3RvcmFnZSwgdmFsdWUs
IHNjcmF0Y2gpCisgICAgYmlsdCBwcm9wZXJ0eU9mZnNldEFzSW50LCBmaXJzdE91dE9mTGluZU9m
ZnNldCwgLmlzSW5saW5lCisgICAgbG9hZENhZ2VkKF9nX2pzVmFsdWVHaWdhY2FnZUJhc2VQdHIs
IEpTT2JqZWN0OjptX2J1dHRlcmZseVtvYmplY3RBbmRTdG9yYWdlXSwgb2JqZWN0QW5kU3RvcmFn
ZSwgc2NyYXRjaCkKKyAgICBuZWdpIHByb3BlcnR5T2Zmc2V0QXNJbnQKKyAgICBzeGkycSBwcm9w
ZXJ0eU9mZnNldEFzSW50LCBwcm9wZXJ0eU9mZnNldEFzSW50CisgICAgam1wIC5yZWFkeQorLmlz
SW5saW5lOgorICAgIGFkZHAgc2l6ZW9mIEpTT2JqZWN0IC0gKGZpcnN0T3V0T2ZMaW5lT2Zmc2V0
IC0gMikgKiA4LCBvYmplY3RBbmRTdG9yYWdlCisucmVhZHk6CisgICAgc3RvcmVxIHZhbHVlLCAo
Zmlyc3RPdXRPZkxpbmVPZmZzZXQgLSAyKSAqIDhbb2JqZWN0QW5kU3RvcmFnZSwgcHJvcGVydHlP
ZmZzZXRBc0ludCwgOF0KK2VuZAorCitfbGxpbnRfb3BfZ2V0X2J5X2lkOgorICAgIHRyYWNlRXhl
Y3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDApCisgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZUNlbGwodDAsIHQzLCAub3BHZXRCeUlkU2xvdykKKyAgICBsb2FkaSBKU0Nl
bGw6Om1fc3RydWN0dXJlSURbdDNdLCB0MQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0
MikKKyAgICBiaW5lcSB0MiwgdDEsIC5vcEdldEJ5SWRTbG93CisgICAgbG9hZGlzRnJvbUluc3Ry
dWN0aW9uKDUsIHQxKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MikKKyAgICBsb2Fk
UHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0KHQxLCB0MywgdDApCisgICAgc3RvcmVxIHQwLCBbY2Zy
LCB0MiwgOF0KKyAgICB2YWx1ZVByb2ZpbGUodDAsIDgsIHQxKQorICAgIGRpc3BhdGNoKGNvbnN0
ZXhwciBvcF9nZXRfYnlfaWRfbGVuZ3RoKQorCisub3BHZXRCeUlkU2xvdzoKKyAgICBjYWxsT3Bj
b2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9nZXRfYnlfaWQpCisgICAgZGlzcGF0Y2goY29u
c3RleHByIG9wX2dldF9ieV9pZF9sZW5ndGgpCisKKworX2xsaW50X29wX2dldF9ieV9pZF9wcm90
b19sb2FkOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24o
MiwgdDApCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGwodDAsIHQzLCAub3BHZXRCeUlk
UHJvdG9TbG93KQorICAgIGxvYWRpIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0M10sIHQxCisgICAg
bG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQyKQorICAgIGJpbmVxIHQyLCB0MSwgLm9wR2V0QnlJ
ZFByb3RvU2xvdworICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig1LCB0MSkKKyAgICBsb2FkcEZy
b21JbnN0cnVjdGlvbig2LCB0MykKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDIpCisg
ICAgbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldCh0MSwgdDMsIHQwKQorICAgIHN0b3JlcSB0
MCwgW2NmciwgdDIsIDhdCisgICAgdmFsdWVQcm9maWxlKHQwLCA4LCB0MSkKKyAgICBkaXNwYXRj
aChjb25zdGV4cHIgb3BfZ2V0X2J5X2lkX3Byb3RvX2xvYWRfbGVuZ3RoKQorCisub3BHZXRCeUlk
UHJvdG9TbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2dldF9i
eV9pZCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2J5X2lkX3Byb3RvX2xvYWRfbGVu
Z3RoKQorCisKK19sbGludF9vcF9nZXRfYnlfaWRfdW5zZXQ6CisgICAgdHJhY2VFeGVjdXRpb24o
KQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkKKyAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlQ2VsbCh0MCwgdDMsIC5vcEdldEJ5SWRVbnNldFNsb3cpCisgICAgbG9hZGkgSlNDZWxs
OjptX3N0cnVjdHVyZUlEW3QzXSwgdDEKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNCwgdDIp
CisgICAgYmluZXEgdDIsIHQxLCAub3BHZXRCeUlkVW5zZXRTbG93CisgICAgbG9hZGlzRnJvbUlu
c3RydWN0aW9uKDEsIHQyKQorICAgIHN0b3JlcSBWYWx1ZVVuZGVmaW5lZCwgW2NmciwgdDIsIDhd
CisgICAgdmFsdWVQcm9maWxlKFZhbHVlVW5kZWZpbmVkLCA4LCB0MSkKKyAgICBkaXNwYXRjaChj
b25zdGV4cHIgb3BfZ2V0X2J5X2lkX3Vuc2V0X2xlbmd0aCkKKworLm9wR2V0QnlJZFVuc2V0U2xv
dzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9nZXRfYnlfaWQpCisg
ICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9ieV9pZF91bnNldF9sZW5ndGgpCisKKworX2xs
aW50X29wX2dldF9hcnJheV9sZW5ndGg6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRp
c0Zyb21JbnN0cnVjdGlvbigyLCB0MCkKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig0LCB0MSkK
KyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbCh0MCwgdDMsIC5vcEdldEFycmF5TGVuZ3Ro
U2xvdykKKyAgICBtb3ZlIHQzLCB0MgorICAgIGFycmF5UHJvZmlsZSh0MiwgdDEsIHQwKQorICAg
IGJ0aXogdDIsIElzQXJyYXksIC5vcEdldEFycmF5TGVuZ3RoU2xvdworICAgIGJ0aXogdDIsIElu
ZGV4aW5nU2hhcGVNYXNrLCAub3BHZXRBcnJheUxlbmd0aFNsb3cKKyAgICBsb2FkaXNGcm9tSW5z
dHJ1Y3Rpb24oMSwgdDEpCisgICAgbG9hZENhZ2VkKF9nX2pzVmFsdWVHaWdhY2FnZUJhc2VQdHIs
IEpTT2JqZWN0OjptX2J1dHRlcmZseVt0M10sIHQwLCB0MikKKyAgICBsb2FkaSAtc2l6ZW9mIElu
ZGV4aW5nSGVhZGVyICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy5wdWJsaWNMZW5ndGhbdDBd
LCB0MAorICAgIGJpbHQgdDAsIDAsIC5vcEdldEFycmF5TGVuZ3RoU2xvdworICAgIG9ycSB0YWdU
eXBlTnVtYmVyLCB0MAorICAgIHZhbHVlUHJvZmlsZSh0MCwgOCwgdDIpCisgICAgc3RvcmVxIHQw
LCBbY2ZyLCB0MSwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2FycmF5X2xlbmd0
aF9sZW5ndGgpCisKKy5vcEdldEFycmF5TGVuZ3RoU2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1Bh
dGgoX2xsaW50X3Nsb3dfcGF0aF9nZXRfYnlfaWQpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9w
X2dldF9hcnJheV9sZW5ndGhfbGVuZ3RoKQorCisKK19sbGludF9vcF9wdXRfYnlfaWQ6CisgICAg
dHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MykKKyAgICBs
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbCh0MywgdDAsIC5vcFB1dEJ5SWRTbG93KQorICAgIGxv
YWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0MikKKyAgICBiaW5lcSB0MiwgSlNDZWxsOjptX3N0cnVj
dHVyZUlEW3QwXSwgLm9wUHV0QnlJZFNsb3cKKworICAgICMgQXQgdGhpcyBwb2ludCwgd2UgaGF2
ZToKKyAgICAjIHQyIC0+IGN1cnJlbnQgc3RydWN0dXJlIElECisgICAgIyB0MCAtPiBvYmplY3Qg
YmFzZQorCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQxKQorICAgIGxvYWRDb25zdGFu
dE9yVmFyaWFibGUodDEsIHQzKQorCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oOCwgdDEpCisK
KyAgICAjIEF0IHRoaXMgcG9pbnQsIHdlIGhhdmU6CisgICAgIyB0MCAtPiBvYmplY3QgYmFzZQor
ICAgICMgdDEgLT4gcHV0IGJ5IGlkIGZsYWdzCisgICAgIyB0MiAtPiBjdXJyZW50IHN0cnVjdHVy
ZSBJRAorICAgICMgdDMgLT4gdmFsdWUgdG8gcHV0CisKKyAgICBidHBueiB0MSwgUHV0QnlJZFBy
aW1hcnlUeXBlTWFzaywgLm9wUHV0QnlJZFR5cGVDaGVja09iamVjdFdpdGhTdHJ1Y3R1cmVPck90
aGVyCisKKyAgICAjIFdlIGhhdmUgb25lIG9mIHRoZSBub24tc3RydWN0dXJlIHR5cGUgY2hlY2tz
LiBGaW5kIG91dCB3aGljaCBvbmUuCisgICAgYW5kcCBQdXRCeUlkU2Vjb25kYXJ5VHlwZU1hc2ss
IHQxCisgICAgYnBsdCB0MSwgUHV0QnlJZFNlY29uZGFyeVR5cGVTdHJpbmcsIC5vcFB1dEJ5SWRU
eXBlQ2hlY2tMZXNzVGhhblN0cmluZworCisgICAgIyBXZSBhcmUgb25lIG9mIHRoZSBmb2xsb3dp
bmc6IFN0cmluZywgU3ltYm9sLCBPYmplY3QsIE9iamVjdE9yT3RoZXIsIFRvcAorICAgIGJwbHQg
dDEsIFB1dEJ5SWRTZWNvbmRhcnlUeXBlT2JqZWN0T3JPdGhlciwgLm9wUHV0QnlJZFR5cGVDaGVj
a0xlc3NUaGFuT2JqZWN0T3JPdGhlcgorCisgICAgIyBXZSBhcmUgZWl0aGVyIE9iamVjdE9yT3Ro
ZXIgb3IgVG9wLgorICAgIGJwZXEgdDEsIFB1dEJ5SWRTZWNvbmRhcnlUeXBlVG9wLCAub3BQdXRC
eUlkRG9uZUNoZWNraW5nVHlwZXMKKworICAgICMgQ2hlY2sgaWYgd2UgYXJlIE9iamVjdE9yT3Ro
ZXIuCisgICAgYnRxeiB0MywgdGFnTWFzaywgLm9wUHV0QnlJZFR5cGVDaGVja09iamVjdAorLm9w
UHV0QnlJZFR5cGVDaGVja090aGVyOgorICAgIGFuZHEgflRhZ0JpdFVuZGVmaW5lZCwgdDMKKyAg
ICBicWVxIHQzLCBWYWx1ZU51bGwsIC5vcFB1dEJ5SWREb25lQ2hlY2tpbmdUeXBlcworICAgIGpt
cCAub3BQdXRCeUlkU2xvdworCisub3BQdXRCeUlkVHlwZUNoZWNrTGVzc1RoYW5PYmplY3RPck90
aGVyOgorICAgICMgV2UgYXJlIGVpdGhlciBTdHJpbmcsIFN5bWJvbCBvciBPYmplY3QuCisgICAg
YnRxbnogdDMsIHRhZ01hc2ssIC5vcFB1dEJ5SWRTbG93CisgICAgYnBlcSB0MSwgUHV0QnlJZFNl
Y29uZGFyeVR5cGVPYmplY3QsIC5vcFB1dEJ5SWRUeXBlQ2hlY2tPYmplY3QKKyAgICBicGVxIHQx
LCBQdXRCeUlkU2Vjb25kYXJ5VHlwZVN5bWJvbCwgLm9wUHV0QnlJZFR5cGVDaGVja1N5bWJvbAor
ICAgIGJiZXEgSlNDZWxsOjptX3R5cGVbdDNdLCBTdHJpbmdUeXBlLCAub3BQdXRCeUlkRG9uZUNo
ZWNraW5nVHlwZXMKKyAgICBqbXAgLm9wUHV0QnlJZFNsb3cKKy5vcFB1dEJ5SWRUeXBlQ2hlY2tP
YmplY3Q6CisgICAgYmJhZXEgSlNDZWxsOjptX3R5cGVbdDNdLCBPYmplY3RUeXBlLCAub3BQdXRC
eUlkRG9uZUNoZWNraW5nVHlwZXMKKyAgICBqbXAgLm9wUHV0QnlJZFNsb3cKKy5vcFB1dEJ5SWRU
eXBlQ2hlY2tTeW1ib2w6CisgICAgYmJlcSBKU0NlbGw6Om1fdHlwZVt0M10sIFN5bWJvbFR5cGUs
IC5vcFB1dEJ5SWREb25lQ2hlY2tpbmdUeXBlcworICAgIGptcCAub3BQdXRCeUlkU2xvdworCisu
b3BQdXRCeUlkVHlwZUNoZWNrTGVzc1RoYW5TdHJpbmc6CisgICAgIyBXZSBhcmUgb25lIG9mIHRo
ZSBmb2xsb3dpbmc6IEJvdHRvbSwgQm9vbGVhbiwgT3RoZXIsIEludDMyLCBOdW1iZXIKKyAgICBi
cGx0IHQxLCBQdXRCeUlkU2Vjb25kYXJ5VHlwZUludDMyLCAub3BQdXRCeUlkVHlwZUNoZWNrTGVz
c1RoYW5JbnQzMgorCisgICAgIyBXZSBhcmUgZWl0aGVyIEludDMyIG9yIE51bWJlci4KKyAgICBi
cGVxIHQxLCBQdXRCeUlkU2Vjb25kYXJ5VHlwZU51bWJlciwgLm9wUHV0QnlJZFR5cGVDaGVja051
bWJlcgorCisgICAgYnFhZXEgdDMsIHRhZ1R5cGVOdW1iZXIsIC5vcFB1dEJ5SWREb25lQ2hlY2tp
bmdUeXBlcworICAgIGptcCAub3BQdXRCeUlkU2xvdworCisub3BQdXRCeUlkVHlwZUNoZWNrTnVt
YmVyOgorICAgIGJ0cW56IHQzLCB0YWdUeXBlTnVtYmVyLCAub3BQdXRCeUlkRG9uZUNoZWNraW5n
VHlwZXMKKyAgICBqbXAgLm9wUHV0QnlJZFNsb3cKKworLm9wUHV0QnlJZFR5cGVDaGVja0xlc3NU
aGFuSW50MzI6CisgICAgIyBXZSBhcmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6IEJvdHRvbSwgQm9v
bGVhbiwgT3RoZXIuCisgICAgYnBuZXEgdDEsIFB1dEJ5SWRTZWNvbmRhcnlUeXBlQm9vbGVhbiwg
Lm9wUHV0QnlJZFR5cGVDaGVja0JvdHRvbU9yT3RoZXIKKyAgICB4b3JxIFZhbHVlRmFsc2UsIHQz
CisgICAgYnRxeiB0MywgfjEsIC5vcFB1dEJ5SWREb25lQ2hlY2tpbmdUeXBlcworICAgIGptcCAu
b3BQdXRCeUlkU2xvdworCisub3BQdXRCeUlkVHlwZUNoZWNrQm90dG9tT3JPdGhlcjoKKyAgICBi
cGVxIHQxLCBQdXRCeUlkU2Vjb25kYXJ5VHlwZU90aGVyLCAub3BQdXRCeUlkVHlwZUNoZWNrT3Ro
ZXIKKyAgICBqbXAgLm9wUHV0QnlJZFNsb3cKKworLm9wUHV0QnlJZFR5cGVDaGVja09iamVjdFdp
dGhTdHJ1Y3R1cmVPck90aGVyOgorICAgIGJ0cXogdDMsIHRhZ01hc2ssIC5vcFB1dEJ5SWRUeXBl
Q2hlY2tPYmplY3RXaXRoU3RydWN0dXJlCisgICAgYnRwbnogdDEsIFB1dEJ5SWRQcmltYXJ5VHlw
ZU9iamVjdFdpdGhTdHJ1Y3R1cmVPck90aGVyLCAub3BQdXRCeUlkVHlwZUNoZWNrT3RoZXIKKyAg
ICBqbXAgLm9wUHV0QnlJZFNsb3cKKworLm9wUHV0QnlJZFR5cGVDaGVja09iamVjdFdpdGhTdHJ1
Y3R1cmU6CisgICAgdXJzaGlmdHAgMywgdDEKKyAgICBiaW5lcSB0MSwgSlNDZWxsOjptX3N0cnVj
dHVyZUlEW3QzXSwgLm9wUHV0QnlJZFNsb3cKKworLm9wUHV0QnlJZERvbmVDaGVja2luZ1R5cGVz
OgorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig2LCB0MSkKKyAgICAKKyAgICBidGl6IHQxLCAu
b3BQdXRCeUlkTm90VHJhbnNpdGlvbgorCisgICAgIyBUaGlzIGlzIHRoZSB0cmFuc2l0aW9uIGNh
c2UuIHQxIGhvbGRzIHRoZSBuZXcgc3RydWN0dXJlSUQuIHQyIGhvbGRzIHRoZSBvbGQgc3RydWN0
dXJlIElELgorICAgICMgSWYgd2UgaGF2ZSBhIGNoYWluLCB3ZSBuZWVkIHRvIGNoZWNrIGl0LiB0
MCBpcyB0aGUgYmFzZS4gV2UgbWF5IGNsb2JiZXIgdDEgdG8gdXNlIGl0IGFzCisgICAgIyBzY3Jh
dGNoLgorICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDcsIHQzKQorICAgIGJ0cHogdDMsIC5vcFB1
dEJ5SWRUcmFuc2l0aW9uRGlyZWN0CisKKyAgICBsb2FkcCBTdHJ1Y3R1cmVDaGFpbjo6bV92ZWN0
b3JbdDNdLCB0MworICAgIGFzc2VydChtYWNybyAob2spIGJ0cG56IHQzLCBvayBlbmQpCisKKyAg
ICBzdHJ1Y3R1cmVJRFRvU3RydWN0dXJlV2l0aFNjcmF0Y2godDIsIHQxKQorICAgIGxvYWRxIFN0
cnVjdHVyZTo6bV9wcm90b3R5cGVbdDJdLCB0MgorICAgIGJxZXEgdDIsIFZhbHVlTnVsbCwgLm9w
UHV0QnlJZFRyYW5zaXRpb25DaGFpbkRvbmUKKy5vcFB1dEJ5SWRUcmFuc2l0aW9uQ2hhaW5Mb29w
OgorICAgICMgQXQgdGhpcyBwb2ludCwgdDIgY29udGFpbnMgYSBwcm90b3R5ZSwgYW5kIFt0M10g
Y29udGFpbnMgdGhlIFN0cnVjdHVyZSogdGhhdCB3ZSB3YW50IHRoYXQKKyAgICAjIHByb3RvdHlw
ZSB0byBoYXZlLiBXZSBkb24ndCB3YW50IHRvIGhhdmUgdG8gbG9hZCB0aGUgU3RydWN0dXJlKiBm
b3IgdDIuIEluc3RlYWQsIHdlIGxvYWQKKyAgICAjIHRoZSBTdHJ1Y3R1cmUqIGZyb20gW3QzXSwg
YW5kIHRoZW4gd2UgY29tcGFyZSBpdHMgaWQgdG8gdGhlIGlkIGluIHRoZSBoZWFkZXIgb2YgdDIu
CisgICAgbG9hZHAgW3QzXSwgdDEKKyAgICBsb2FkaSBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDJd
LCB0MgorICAgICMgTm93LCB0MSBoYXMgdGhlIFN0cnVjdHVyZSogYW5kIHQyIGhhcyB0aGUgU3Ry
dWN0dXJlSUQgdGhhdCB3ZSB3YW50IHRoYXQgU3RydWN0dXJlKiB0byBoYXZlLgorICAgIGJpbmVx
IHQyLCBTdHJ1Y3R1cmU6Om1fYmxvYiArIFN0cnVjdHVyZUlEQmxvYjo6dS5maWVsZHMuc3RydWN0
dXJlSURbdDFdLCAub3BQdXRCeUlkU2xvdworICAgIGFkZHAgOCwgdDMKKyAgICBsb2FkcSBTdHJ1
Y3R1cmU6Om1fcHJvdG90eXBlW3QxXSwgdDIKKyAgICBicW5lcSB0MiwgVmFsdWVOdWxsLCAub3BQ
dXRCeUlkVHJhbnNpdGlvbkNoYWluTG9vcAorCisub3BQdXRCeUlkVHJhbnNpdGlvbkNoYWluRG9u
ZToKKyAgICAjIFJlbG9hZCB0aGUgbmV3IHN0cnVjdHVyZSwgc2luY2Ugd2UgY2xvYmJlcmVkIGl0
IGFib3ZlLgorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig2LCB0MSkKKworLm9wUHV0QnlJZFRy
YW5zaXRpb25EaXJlY3Q6CisgICAgc3RvcmVpIHQxLCBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDBd
CisgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kKDEpCisgICAgIyBSZWxvYWQgYmFzZSBpbnRvIHQw
CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFy
aWFibGUodDEsIHQwKQorCisub3BQdXRCeUlkTm90VHJhbnNpdGlvbjoKKyAgICAjIFRoZSBvbmx5
IHRoaW5nIGxpdmUgcmlnaHQgbm93IGlzIHQwLCB3aGljaCBob2xkcyB0aGUgYmFzZS4KKyAgICBs
b2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDEpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0
MSwgdDIpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDUsIHQxKQorICAgIHN0b3JlUHJvcGVy
dHlBdFZhcmlhYmxlT2Zmc2V0KHQxLCB0MCwgdDIsIHQzKQorICAgIHdyaXRlQmFycmllck9uT3Bl
cmFuZHMoMSwgMykKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfcHV0X2J5X2lkX2xlbmd0aCkK
KworLm9wUHV0QnlJZFNsb3c6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3Bh
dGhfcHV0X2J5X2lkKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wdXRfYnlfaWRfbGVuZ3Ro
KQorCittYWNybyBmaW5pc2hHZXRCeVZhbChyZXN1bHQsIHNjcmF0Y2gpCisgICAgbG9hZGlzRnJv
bUluc3RydWN0aW9uKDEsIHNjcmF0Y2gpCisgICAgc3RvcmVxIHJlc3VsdCwgW2Nmciwgc2NyYXRj
aCwgOF0KKyAgICB2YWx1ZVByb2ZpbGUocmVzdWx0LCA1LCBzY3JhdGNoKQorICAgIGRpc3BhdGNo
KDYpCitlbmQKKworbWFjcm8gZmluaXNoSW50R2V0QnlWYWwocmVzdWx0LCBzY3JhdGNoKQorICAg
IG9ycSB0YWdUeXBlTnVtYmVyLCByZXN1bHQKKyAgICBmaW5pc2hHZXRCeVZhbChyZXN1bHQsIHNj
cmF0Y2gpCitlbmQKKworbWFjcm8gZmluaXNoRG91YmxlR2V0QnlWYWwocmVzdWx0LCBzY3JhdGNo
MSwgc2NyYXRjaDIpCisgICAgZmQycSByZXN1bHQsIHNjcmF0Y2gxCisgICAgc3VicSB0YWdUeXBl
TnVtYmVyLCBzY3JhdGNoMQorICAgIGZpbmlzaEdldEJ5VmFsKHNjcmF0Y2gxLCBzY3JhdGNoMikK
K2VuZAorCitfbGxpbnRfb3BfZ2V0X2J5X3ZhbDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAg
bG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQyKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVD
ZWxsKHQyLCB0MCwgLm9wR2V0QnlWYWxTbG93KQorICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDQs
IHQzKQorICAgIG1vdmUgdDAsIHQyCisgICAgYXJyYXlQcm9maWxlKHQyLCB0MywgdDEpCisgICAg
bG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQzKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVJ
bnQzMih0MywgdDEsIC5vcEdldEJ5VmFsU2xvdykKKyAgICBzeGkycSB0MSwgdDEKKyAgICBsb2Fk
Q2FnZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwgSlNPYmplY3Q6Om1fYnV0dGVyZmx5W3Qw
XSwgdDMsIHQ1KQorICAgIGFuZGkgSW5kZXhpbmdTaGFwZU1hc2ssIHQyCisgICAgYmllcSB0Miwg
SW50MzJTaGFwZSwgLm9wR2V0QnlWYWxJc0NvbnRpZ3VvdXMKKyAgICBiaW5lcSB0MiwgQ29udGln
dW91c1NoYXBlLCAub3BHZXRCeVZhbE5vdENvbnRpZ3VvdXMKKy5vcEdldEJ5VmFsSXNDb250aWd1
b3VzOgorCisgICAgYmlhZXEgdDEsIC1zaXplb2YgSW5kZXhpbmdIZWFkZXIgKyBJbmRleGluZ0hl
YWRlcjo6dS5sZW5ndGhzLnB1YmxpY0xlbmd0aFt0M10sIC5vcEdldEJ5VmFsT3V0T2ZCb3VuZHMK
KyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCisgICAgbG9hZHEgW3QzLCB0MSwgOF0s
IHQyCisgICAgYnRxeiB0MiwgLm9wR2V0QnlWYWxPdXRPZkJvdW5kcworICAgIGptcCAub3BHZXRC
eVZhbERvbmUKKworLm9wR2V0QnlWYWxOb3RDb250aWd1b3VzOgorICAgIGJpbmVxIHQyLCBEb3Vi
bGVTaGFwZSwgLm9wR2V0QnlWYWxOb3REb3VibGUKKyAgICBiaWFlcSB0MSwgLXNpemVvZiBJbmRl
eGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMucHVibGljTGVuZ3RoW3QzXSwg
Lm9wR2V0QnlWYWxPdXRPZkJvdW5kcworICAgIGxvYWRpcyA4W1BCLCBQQywgOF0sIHQwCisgICAg
bG9hZGQgW3QzLCB0MSwgOF0sIGZ0MAorICAgIGJkbmVxdW4gZnQwLCBmdDAsIC5vcEdldEJ5VmFs
T3V0T2ZCb3VuZHMKKyAgICBmZDJxIGZ0MCwgdDIKKyAgICBzdWJxIHRhZ1R5cGVOdW1iZXIsIHQy
CisgICAgam1wIC5vcEdldEJ5VmFsRG9uZQorICAgIAorLm9wR2V0QnlWYWxOb3REb3VibGU6Cisg
ICAgc3ViaSBBcnJheVN0b3JhZ2VTaGFwZSwgdDIKKyAgICBiaWEgdDIsIFNsb3dQdXRBcnJheVN0
b3JhZ2VTaGFwZSAtIEFycmF5U3RvcmFnZVNoYXBlLCAub3BHZXRCeVZhbE5vdEluZGV4ZWRTdG9y
YWdlCisgICAgYmlhZXEgdDEsIC1zaXplb2YgSW5kZXhpbmdIZWFkZXIgKyBJbmRleGluZ0hlYWRl
cjo6dS5sZW5ndGhzLnZlY3Rvckxlbmd0aFt0M10sIC5vcEdldEJ5VmFsT3V0T2ZCb3VuZHMKKyAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCisgICAgbG9hZHEgQXJyYXlTdG9yYWdlOjpt
X3ZlY3Rvclt0MywgdDEsIDhdLCB0MgorICAgIGJ0cXogdDIsIC5vcEdldEJ5VmFsT3V0T2ZCb3Vu
ZHMKKworLm9wR2V0QnlWYWxEb25lOgorICAgIHN0b3JlcSB0MiwgW2NmciwgdDAsIDhdCisgICAg
dmFsdWVQcm9maWxlKHQyLCA1LCB0MCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2J5
X3ZhbF9sZW5ndGgpCisKKy5vcEdldEJ5VmFsT3V0T2ZCb3VuZHM6CisgICAgbG9hZHBGcm9tSW5z
dHJ1Y3Rpb24oNCwgdDApCisgICAgc3RvcmViIDEsIEFycmF5UHJvZmlsZTo6bV9vdXRPZkJvdW5k
c1t0MF0KKyAgICBqbXAgLm9wR2V0QnlWYWxTbG93CisKKy5vcEdldEJ5VmFsTm90SW5kZXhlZFN0
b3JhZ2U6CisgICAgIyBGaXJzdCBsZXRzIGNoZWNrIGlmIHdlIGV2ZW4gaGF2ZSBhIHR5cGVkIGFy
cmF5LiBUaGlzIGxldHMgdXMgZG8gc29tZSBib2lsZXJwbGF0ZSB1cCBmcm9udC4KKyAgICBsb2Fk
YiBKU0NlbGw6Om1fdHlwZVt0MF0sIHQyCisgICAgc3ViaSBGaXJzdEFycmF5VHlwZSwgdDIKKyAg
ICBiaWEgdDIsIExhc3RBcnJheVR5cGUgLSBGaXJzdEFycmF5VHlwZSwgLm9wR2V0QnlWYWxTbG93
CisgICAgCisgICAgIyBTd2VldCwgbm93IHdlIGtub3cgdGhhdCB3ZSBoYXZlIGEgdHlwZWQgYXJy
YXkuIERvIHNvbWUgYmFzaWMgdGhpbmdzIG5vdy4KKyAgICBsb2FkQ2FnZWQoX2dfcHJpbWl0aXZl
R2lnYWNhZ2VCYXNlUHRyLCBKU0FycmF5QnVmZmVyVmlldzo6bV92ZWN0b3JbdDBdLCB0MywgdDUp
CisgICAgYmlhZXEgdDEsIEpTQXJyYXlCdWZmZXJWaWV3OjptX2xlbmd0aFt0MF0sIC5vcEdldEJ5
VmFsU2xvdworICAgIAorICAgICMgTm93IGJpc2VjdCB0aHJvdWdoIHRoZSB2YXJpb3VzIHR5cGVz
LiBOb3RlIHRoYXQgd2UgY2FuIHRyZWF0IFVpbnQ4QXJyYXlUeXBlIGFuZAorICAgICMgVWludDhD
bGFtcGVkQXJyYXlUeXBlIHRoZSBzYW1lLgorICAgIGJpYSB0MiwgVWludDhDbGFtcGVkQXJyYXlU
eXBlIC0gRmlyc3RBcnJheVR5cGUsIC5vcEdldEJ5VmFsQWJvdmVVaW50OENsYW1wZWRBcnJheQor
ICAgIAorICAgICMgV2UgaGF2ZSBvbmUgb2YgSW50OEFycmF5VHlwZSAuLiBVaW50OENsYW1wZWRB
cnJheVR5cGUuCisgICAgYmlhIHQyLCBJbnQxNkFycmF5VHlwZSAtIEZpcnN0QXJyYXlUeXBlLCAu
b3BHZXRCeVZhbEludDMyQXJyYXlPclVpbnQ4QXJyYXkKKyAgICAKKyAgICAjIFdlIGhhdmUgb25l
IG9mIEludDhBcnJheVR5cGUgb3IgSW50MTZBcnJheVR5cGUKKyAgICBiaW5lcSB0MiwgSW50OEFy
cmF5VHlwZSAtIEZpcnN0QXJyYXlUeXBlLCAub3BHZXRCeVZhbEludDE2QXJyYXkKKyAgICAKKyAg
ICAjIFdlIGhhdmUgSW50OEFycmF5VHlwZQorICAgIGxvYWRicyBbdDMsIHQxXSwgdDAKKyAgICBm
aW5pc2hJbnRHZXRCeVZhbCh0MCwgdDEpCisKKy5vcEdldEJ5VmFsSW50MTZBcnJheToKKyAgICBs
b2FkaHMgW3QzLCB0MSwgMl0sIHQwCisgICAgZmluaXNoSW50R2V0QnlWYWwodDAsIHQxKQorCisu
b3BHZXRCeVZhbEludDMyQXJyYXlPclVpbnQ4QXJyYXk6CisgICAgIyBXZSBoYXZlIG9uZSBvZiBJ
bnQxNkFycmF5LCBVaW50OEFycmF5LCBvciBVaW50OENsYW1wZWRBcnJheS4KKyAgICBiaWVxIHQy
LCBJbnQzMkFycmF5VHlwZSAtIEZpcnN0QXJyYXlUeXBlLCAub3BHZXRCeVZhbEludDMyQXJyYXkK
KyAgICAKKyAgICAjIFdlIGhhdmUgZWl0aGVyIFVpbnQ4QXJyYXkgb3IgVWludDhDbGFtcGVkQXJy
YXkuIFRoZXkgYmVoYXZlIHRoZSBzYW1lIHNvIHRoYXQncyBjb29sLgorICAgIGxvYWRiIFt0Mywg
dDFdLCB0MAorICAgIGZpbmlzaEludEdldEJ5VmFsKHQwLCB0MSkKKworLm9wR2V0QnlWYWxJbnQz
MkFycmF5OgorICAgIGxvYWRpIFt0MywgdDEsIDRdLCB0MAorICAgIGZpbmlzaEludEdldEJ5VmFs
KHQwLCB0MSkKKworLm9wR2V0QnlWYWxBYm92ZVVpbnQ4Q2xhbXBlZEFycmF5OgorICAgICMgV2Ug
aGF2ZSBvbmUgb2YgVWludDE2QXJyYXlUeXBlIC4uIEZsb2F0NjRBcnJheVR5cGUuCisgICAgYmlh
IHQyLCBVaW50MzJBcnJheVR5cGUgLSBGaXJzdEFycmF5VHlwZSwgLm9wR2V0QnlWYWxBYm92ZVVp
bnQzMkFycmF5CisgICAgCisgICAgIyBXZSBoYXZlIGVpdGhlciBVaW50MTZBcnJheVR5cGUgb3Ig
VWludDMyQXJyYXlUeXBlLgorICAgIGJpZXEgdDIsIFVpbnQzMkFycmF5VHlwZSAtIEZpcnN0QXJy
YXlUeXBlLCAub3BHZXRCeVZhbFVpbnQzMkFycmF5CisKKyAgICAjIFdlIGhhdmUgVWludDE2QXJy
YXlUeXBlLgorICAgIGxvYWRoIFt0MywgdDEsIDJdLCB0MAorICAgIGZpbmlzaEludEdldEJ5VmFs
KHQwLCB0MSkKKworLm9wR2V0QnlWYWxVaW50MzJBcnJheToKKyAgICAjIFRoaXMgaXMgdGhlIGhh
cmRlc3QgcGFydCBiZWNhdXNlIG9mIGxhcmdlIHVuc2lnbmVkIHZhbHVlcy4KKyAgICBsb2FkaSBb
dDMsIHQxLCA0XSwgdDAKKyAgICBiaWx0IHQwLCAwLCAub3BHZXRCeVZhbFNsb3cgIyBUaGlzIGNh
c2UgaXMgc3RpbGwgYXdrd2FyZCB0byBpbXBsZW1lbnQgaW4gTExJbnQuCisgICAgZmluaXNoSW50
R2V0QnlWYWwodDAsIHQxKQorCisub3BHZXRCeVZhbEFib3ZlVWludDMyQXJyYXk6CisgICAgIyBX
ZSBoYXZlIG9uZSBvZiBGbG9hdDMyQXJyYXlUeXBlIG9yIEZsb2F0NjRBcnJheVR5cGUuIFNhZGx5
LCB3ZSBjYW5ub3QgaGFuZGxlIEZsb2F0MzJBcnJheQorICAgICMgaW5saW5lIHlldC4gVGhhdCB3
b3VsZCByZXF1aXJlIHNvbWUgb2ZmbGluZWFzbSBjaGFuZ2VzLgorICAgIGJpZXEgdDIsIEZsb2F0
MzJBcnJheVR5cGUgLSBGaXJzdEFycmF5VHlwZSwgLm9wR2V0QnlWYWxTbG93CisKKyAgICAjIFdl
IGhhdmUgRmxvYXQ2NEFycmF5VHlwZS4KKyAgICBsb2FkZCBbdDMsIHQxLCA4XSwgZnQwCisgICAg
YmRuZXF1biBmdDAsIGZ0MCwgLm9wR2V0QnlWYWxTbG93CisgICAgZmluaXNoRG91YmxlR2V0QnlW
YWwoZnQwLCB0MCwgdDEpCisKKy5vcEdldEJ5VmFsU2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1Bh
dGgoX2xsaW50X3Nsb3dfcGF0aF9nZXRfYnlfdmFsKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBv
cF9nZXRfYnlfdmFsX2xlbmd0aCkKKworCittYWNybyBjb250aWd1b3VzUHV0QnlWYWwoc3RvcmVD
YWxsYmFjaykKKyAgICBiaWFlcSB0MywgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5n
SGVhZGVyOjp1Lmxlbmd0aHMucHVibGljTGVuZ3RoW3QwXSwgLm91dE9mQm91bmRzCisuc3RvcmVS
ZXN1bHQ6CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQyKQorICAgIHN0b3JlQ2FsbGJh
Y2sodDIsIHQxLCBbdDAsIHQzLCA4XSkKKyAgICBkaXNwYXRjaCg1KQorCisub3V0T2ZCb3VuZHM6
CisgICAgYmlhZXEgdDMsIC1zaXplb2YgSW5kZXhpbmdIZWFkZXIgKyBJbmRleGluZ0hlYWRlcjo6
dS5sZW5ndGhzLnZlY3Rvckxlbmd0aFt0MF0sIC5vcFB1dEJ5VmFsT3V0T2ZCb3VuZHMKKyAgICBs
b2FkcCAzMltQQiwgUEMsIDhdLCB0MgorICAgIHN0b3JlYiAxLCBBcnJheVByb2ZpbGU6Om1fbWF5
U3RvcmVUb0hvbGVbdDJdCisgICAgYWRkaSAxLCB0MywgdDIKKyAgICBzdG9yZWkgdDIsIC1zaXpl
b2YgSW5kZXhpbmdIZWFkZXIgKyBJbmRleGluZ0hlYWRlcjo6dS5sZW5ndGhzLnB1YmxpY0xlbmd0
aFt0MF0KKyAgICBqbXAgLnN0b3JlUmVzdWx0CitlbmQKKworbWFjcm8gcHV0QnlWYWwoc2xvd1Bh
dGgpCisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0
MCkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbCh0MCwgdDEsIC5vcFB1dEJ5VmFsU2xv
dykKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig0LCB0MykKKyAgICBtb3ZlIHQxLCB0MgorICAg
IGFycmF5UHJvZmlsZSh0MiwgdDMsIHQwKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0
MCkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzIodDAsIHQzLCAub3BQdXRCeVZhbFNs
b3cpCisgICAgc3hpMnEgdDMsIHQzCisgICAgbG9hZENhZ2VkKF9nX2pzVmFsdWVHaWdhY2FnZUJh
c2VQdHIsIEpTT2JqZWN0OjptX2J1dHRlcmZseVt0MV0sIHQwLCB0NSkKKyAgICBhbmRpIEluZGV4
aW5nU2hhcGVNYXNrLCB0MgorICAgIGJpbmVxIHQyLCBJbnQzMlNoYXBlLCAub3BQdXRCeVZhbE5v
dEludDMyCisgICAgY29udGlndW91c1B1dEJ5VmFsKAorICAgICAgICBtYWNybyAob3BlcmFuZCwg
c2NyYXRjaCwgYWRkcmVzcykKKyAgICAgICAgICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUob3Bl
cmFuZCwgc2NyYXRjaCkKKyAgICAgICAgICAgIGJwYiBzY3JhdGNoLCB0YWdUeXBlTnVtYmVyLCAu
b3BQdXRCeVZhbFNsb3cKKyAgICAgICAgICAgIHN0b3JlcCBzY3JhdGNoLCBhZGRyZXNzCisgICAg
ICAgICAgICB3cml0ZUJhcnJpZXJPbk9wZXJhbmRzKDEsIDMpCisgICAgICAgIGVuZCkKKworLm9w
UHV0QnlWYWxOb3RJbnQzMjoKKyAgICBiaW5lcSB0MiwgRG91YmxlU2hhcGUsIC5vcFB1dEJ5VmFs
Tm90RG91YmxlCisgICAgY29udGlndW91c1B1dEJ5VmFsKAorICAgICAgICBtYWNybyAob3BlcmFu
ZCwgc2NyYXRjaCwgYWRkcmVzcykKKyAgICAgICAgICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUo
b3BlcmFuZCwgc2NyYXRjaCkKKyAgICAgICAgICAgIGJxYiBzY3JhdGNoLCB0YWdUeXBlTnVtYmVy
LCAubm90SW50CisgICAgICAgICAgICBjaTJkIHNjcmF0Y2gsIGZ0MAorICAgICAgICAgICAgam1w
IC5yZWFkeQorICAgICAgICAubm90SW50OgorICAgICAgICAgICAgYWRkcCB0YWdUeXBlTnVtYmVy
LCBzY3JhdGNoCisgICAgICAgICAgICBmcTJkIHNjcmF0Y2gsIGZ0MAorICAgICAgICAgICAgYmRu
ZXF1biBmdDAsIGZ0MCwgLm9wUHV0QnlWYWxTbG93CisgICAgICAgIC5yZWFkeToKKyAgICAgICAg
ICAgIHN0b3JlZCBmdDAsIGFkZHJlc3MKKyAgICAgICAgICAgIHdyaXRlQmFycmllck9uT3BlcmFu
ZHMoMSwgMykKKyAgICAgICAgZW5kKQorCisub3BQdXRCeVZhbE5vdERvdWJsZToKKyAgICBiaW5l
cSB0MiwgQ29udGlndW91c1NoYXBlLCAub3BQdXRCeVZhbE5vdENvbnRpZ3VvdXMKKyAgICBjb250
aWd1b3VzUHV0QnlWYWwoCisgICAgICAgIG1hY3JvIChvcGVyYW5kLCBzY3JhdGNoLCBhZGRyZXNz
KQorICAgICAgICAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZShvcGVyYW5kLCBzY3JhdGNoKQor
ICAgICAgICAgICAgc3RvcmVwIHNjcmF0Y2gsIGFkZHJlc3MKKyAgICAgICAgICAgIHdyaXRlQmFy
cmllck9uT3BlcmFuZHMoMSwgMykKKyAgICAgICAgZW5kKQorCisub3BQdXRCeVZhbE5vdENvbnRp
Z3VvdXM6CisgICAgYmluZXEgdDIsIEFycmF5U3RvcmFnZVNoYXBlLCAub3BQdXRCeVZhbFNsb3cK
KyAgICBiaWFlcSB0MywgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1
Lmxlbmd0aHMudmVjdG9yTGVuZ3RoW3QwXSwgLm9wUHV0QnlWYWxPdXRPZkJvdW5kcworICAgIGJ0
cXogQXJyYXlTdG9yYWdlOjptX3ZlY3Rvclt0MCwgdDMsIDhdLCAub3BQdXRCeVZhbEFycmF5U3Rv
cmFnZUVtcHR5Cisub3BQdXRCeVZhbEFycmF5U3RvcmFnZVN0b3JlUmVzdWx0OgorICAgIGxvYWRp
c0Zyb21JbnN0cnVjdGlvbigzLCB0MikKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQyLCB0
MSkKKyAgICBzdG9yZXEgdDEsIEFycmF5U3RvcmFnZTo6bV92ZWN0b3JbdDAsIHQzLCA4XQorICAg
IHdyaXRlQmFycmllck9uT3BlcmFuZHMoMSwgMykKKyAgICBkaXNwYXRjaCg1KQorCisub3BQdXRC
eVZhbEFycmF5U3RvcmFnZUVtcHR5OgorICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDQsIHQxKQor
ICAgIHN0b3JlYiAxLCBBcnJheVByb2ZpbGU6Om1fbWF5U3RvcmVUb0hvbGVbdDFdCisgICAgYWRk
aSAxLCBBcnJheVN0b3JhZ2U6Om1fbnVtVmFsdWVzSW5WZWN0b3JbdDBdCisgICAgYmliIHQzLCAt
c2l6ZW9mIEluZGV4aW5nSGVhZGVyICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy5wdWJsaWNM
ZW5ndGhbdDBdLCAub3BQdXRCeVZhbEFycmF5U3RvcmFnZVN0b3JlUmVzdWx0CisgICAgYWRkaSAx
LCB0MywgdDEKKyAgICBzdG9yZWkgdDEsIC1zaXplb2YgSW5kZXhpbmdIZWFkZXIgKyBJbmRleGlu
Z0hlYWRlcjo6dS5sZW5ndGhzLnB1YmxpY0xlbmd0aFt0MF0KKyAgICBqbXAgLm9wUHV0QnlWYWxB
cnJheVN0b3JhZ2VTdG9yZVJlc3VsdAorCisub3BQdXRCeVZhbE91dE9mQm91bmRzOgorICAgIGxv
YWRwRnJvbUluc3RydWN0aW9uKDQsIHQwKQorICAgIHN0b3JlYiAxLCBBcnJheVByb2ZpbGU6Om1f
b3V0T2ZCb3VuZHNbdDBdCisub3BQdXRCeVZhbFNsb3c6CisgICAgY2FsbE9wY29kZVNsb3dQYXRo
KHNsb3dQYXRoKQorICAgIGRpc3BhdGNoKDUpCitlbmQKKworX2xsaW50X29wX3B1dF9ieV92YWw6
CisgICAgcHV0QnlWYWwoX2xsaW50X3Nsb3dfcGF0aF9wdXRfYnlfdmFsKQorCitfbGxpbnRfb3Bf
cHV0X2J5X3ZhbF9kaXJlY3Q6CisgICAgcHV0QnlWYWwoX2xsaW50X3Nsb3dfcGF0aF9wdXRfYnlf
dmFsX2RpcmVjdCkKKworCitfbGxpbnRfb3Bfam1wOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBkaXNwYXRjaEludEluZGlyZWN0KDEpCisKKworbWFjcm8ganVtcFRydWVPckZhbHNlKGNvbmRp
dGlvbk9wLCBzbG93KQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKKyAgICBsb2Fk
Q29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MCkKKyAgICB4b3JxIFZhbHVlRmFsc2UsIHQwCisgICAg
YnRxbnogdDAsIC0xLCAuc2xvdworICAgIGNvbmRpdGlvbk9wKHQwLCAudGFyZ2V0KQorICAgIGRp
c3BhdGNoKDMpCisKKy50YXJnZXQ6CisgICAgZGlzcGF0Y2hJbnRJbmRpcmVjdCgyKQorCisuc2xv
dzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoc2xvdykKKyAgICBkaXNwYXRjaCgwKQorZW5kCisK
KworbWFjcm8gZXF1YWxOdWxsKGNlbGxIYW5kbGVyLCBpbW1lZGlhdGVIYW5kbGVyKQorICAgIGxv
YWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MCkKKyAgICBhc3NlcnROb3RDb25zdGFudCh0MCkKKyAg
ICBsb2FkcSBbY2ZyLCB0MCwgOF0sIHQwCisgICAgYnRxbnogdDAsIHRhZ01hc2ssIC5pbW1lZGlh
dGUKKyAgICBsb2FkU3RydWN0dXJlV2l0aFNjcmF0Y2godDAsIHQyLCB0MSkKKyAgICBjZWxsSGFu
ZGxlcih0MiwgSlNDZWxsOjptX2ZsYWdzW3QwXSwgLnRhcmdldCkKKyAgICBkaXNwYXRjaCgzKQor
CisudGFyZ2V0OgorICAgIGRpc3BhdGNoSW50SW5kaXJlY3QoMikKKworLmltbWVkaWF0ZToKKyAg
ICBhbmRxIH5UYWdCaXRVbmRlZmluZWQsIHQwCisgICAgaW1tZWRpYXRlSGFuZGxlcih0MCwgLnRh
cmdldCkKKyAgICBkaXNwYXRjaCgzKQorZW5kCisKK19sbGludF9vcF9qZXFfbnVsbDoKKyAgICB0
cmFjZUV4ZWN1dGlvbigpCisgICAgZXF1YWxOdWxsKAorICAgICAgICBtYWNybyAoc3RydWN0dXJl
LCB2YWx1ZSwgdGFyZ2V0KSAKKyAgICAgICAgICAgIGJ0YnogdmFsdWUsIE1hc3F1ZXJhZGVzQXNV
bmRlZmluZWQsIC5ub3RNYXNxdWVyYWRlc0FzVW5kZWZpbmVkCisgICAgICAgICAgICBsb2FkcCBD
b2RlQmxvY2tbY2ZyXSwgdDAKKyAgICAgICAgICAgIGxvYWRwIENvZGVCbG9jazo6bV9nbG9iYWxP
YmplY3RbdDBdLCB0MAorICAgICAgICAgICAgYnBlcSBTdHJ1Y3R1cmU6Om1fZ2xvYmFsT2JqZWN0
W3N0cnVjdHVyZV0sIHQwLCB0YXJnZXQKKy5ub3RNYXNxdWVyYWRlc0FzVW5kZWZpbmVkOgorICAg
ICAgICBlbmQsCisgICAgICAgIG1hY3JvICh2YWx1ZSwgdGFyZ2V0KSBicWVxIHZhbHVlLCBWYWx1
ZU51bGwsIHRhcmdldCBlbmQpCisKKworX2xsaW50X29wX2puZXFfbnVsbDoKKyAgICB0cmFjZUV4
ZWN1dGlvbigpCisgICAgZXF1YWxOdWxsKAorICAgICAgICBtYWNybyAoc3RydWN0dXJlLCB2YWx1
ZSwgdGFyZ2V0KSAKKyAgICAgICAgICAgIGJ0YnogdmFsdWUsIE1hc3F1ZXJhZGVzQXNVbmRlZmlu
ZWQsIHRhcmdldAorICAgICAgICAgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQwCisgICAgICAg
ICAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2JqZWN0W3QwXSwgdDAKKyAgICAgICAgICAg
IGJwbmVxIFN0cnVjdHVyZTo6bV9nbG9iYWxPYmplY3Rbc3RydWN0dXJlXSwgdDAsIHRhcmdldAor
ICAgICAgICBlbmQsCisgICAgICAgIG1hY3JvICh2YWx1ZSwgdGFyZ2V0KSBicW5lcSB2YWx1ZSwg
VmFsdWVOdWxsLCB0YXJnZXQgZW5kKQorCisKK19sbGludF9vcF9qbmVxX3B0cjoKKyAgICB0cmFj
ZUV4ZWN1dGlvbigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKQorICAgIGxvYWRp
c0Zyb21JbnN0cnVjdGlvbigyLCB0MSkKKyAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDIKKyAg
ICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2JqZWN0W3QyXSwgdDIKKyAgICBsb2FkcCBKU0ds
b2JhbE9iamVjdDo6bV9zcGVjaWFsUG9pbnRlcnNbdDIsIHQxLCA4XSwgdDEKKyAgICBicG5lcSB0
MSwgW2NmciwgdDAsIDhdLCAub3BKbmVxUHRyVGFyZ2V0CisgICAgZGlzcGF0Y2goNSkKKworLm9w
Sm5lcVB0clRhcmdldDoKKyAgICBzdG9yZWkgMSwgMzJbUEIsIFBDLCA4XQorICAgIGRpc3BhdGNo
SW50SW5kaXJlY3QoMykKKworCittYWNybyBjb21wYXJlKGludGVnZXJDb21wYXJlLCBkb3VibGVD
b21wYXJlLCBzbG93UGF0aCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDIpCisgICAg
bG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQzKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUo
dDIsIHQwKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDMsIHQxKQorICAgIGJxYiB0MCwg
dGFnVHlwZU51bWJlciwgLm9wMU5vdEludAorICAgIGJxYiB0MSwgdGFnVHlwZU51bWJlciwgLm9w
Mk5vdEludAorICAgIGludGVnZXJDb21wYXJlKHQwLCB0MSwgLmp1bXBUYXJnZXQpCisgICAgZGlz
cGF0Y2goNCkKKworLm9wMU5vdEludDoKKyAgICBidHF6IHQwLCB0YWdUeXBlTnVtYmVyLCAuc2xv
dworICAgIGJxYiB0MSwgdGFnVHlwZU51bWJlciwgLm9wMU5vdEludE9wMk5vdEludAorICAgIGNp
MmQgdDEsIGZ0MQorICAgIGptcCAub3AxTm90SW50UmVhZHkKKy5vcDFOb3RJbnRPcDJOb3RJbnQ6
CisgICAgYnRxeiB0MSwgdGFnVHlwZU51bWJlciwgLnNsb3cKKyAgICBhZGRxIHRhZ1R5cGVOdW1i
ZXIsIHQxCisgICAgZnEyZCB0MSwgZnQxCisub3AxTm90SW50UmVhZHk6CisgICAgYWRkcSB0YWdU
eXBlTnVtYmVyLCB0MAorICAgIGZxMmQgdDAsIGZ0MAorICAgIGRvdWJsZUNvbXBhcmUoZnQwLCBm
dDEsIC5qdW1wVGFyZ2V0KQorICAgIGRpc3BhdGNoKDQpCisKKy5vcDJOb3RJbnQ6CisgICAgY2ky
ZCB0MCwgZnQwCisgICAgYnRxeiB0MSwgdGFnVHlwZU51bWJlciwgLnNsb3cKKyAgICBhZGRxIHRh
Z1R5cGVOdW1iZXIsIHQxCisgICAgZnEyZCB0MSwgZnQxCisgICAgZG91YmxlQ29tcGFyZShmdDAs
IGZ0MSwgLmp1bXBUYXJnZXQpCisgICAgZGlzcGF0Y2goNCkKKworLmp1bXBUYXJnZXQ6CisgICAg
ZGlzcGF0Y2hJbnRJbmRpcmVjdCgzKQorCisuc2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgo
c2xvd1BhdGgpCisgICAgZGlzcGF0Y2goMCkKK2VuZAorCisKK19sbGludF9vcF9zd2l0Y2hfaW1t
OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDIp
CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQzKQorICAgIGxvYWRDb25zdGFudE9yVmFy
aWFibGUodDIsIHQxKQorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MgorICAgIGxvYWRwIENv
ZGVCbG9jazo6bV9yYXJlRGF0YVt0Ml0sIHQyCisgICAgbXVsaSBzaXplb2YgU2ltcGxlSnVtcFRh
YmxlLCB0MyAgICAjIEZJWE1FOiB3b3VsZCBiZSBuaWNlIHRvIHBlZXBob2xlIHRoaXMhCisgICAg
bG9hZHAgQ29kZUJsb2NrOjpSYXJlRGF0YTo6bV9zd2l0Y2hKdW1wVGFibGVzICsgVmVjdG9yQnVm
ZmVyT2Zmc2V0W3QyXSwgdDIKKyAgICBhZGRwIHQzLCB0MgorICAgIGJxYiB0MSwgdGFnVHlwZU51
bWJlciwgLm9wU3dpdGNoSW1tTm90SW50CisgICAgc3ViaSBTaW1wbGVKdW1wVGFibGU6Om1pblt0
Ml0sIHQxCisgICAgYmlhZXEgdDEsIFNpbXBsZUp1bXBUYWJsZTo6YnJhbmNoT2Zmc2V0cyArIFZl
Y3RvclNpemVPZmZzZXRbdDJdLCAub3BTd2l0Y2hJbW1GYWxsVGhyb3VnaAorICAgIGxvYWRwIFNp
bXBsZUp1bXBUYWJsZTo6YnJhbmNoT2Zmc2V0cyArIFZlY3RvckJ1ZmZlck9mZnNldFt0Ml0sIHQz
CisgICAgbG9hZGlzIFt0MywgdDEsIDRdLCB0MQorICAgIGJ0aXogdDEsIC5vcFN3aXRjaEltbUZh
bGxUaHJvdWdoCisgICAgZGlzcGF0Y2godDEpCisKKy5vcFN3aXRjaEltbU5vdEludDoKKyAgICBi
dHFueiB0MSwgdGFnVHlwZU51bWJlciwgLm9wU3dpdGNoSW1tU2xvdyAgICMgR28gc2xvdyBpZiBp
dCdzIGEgZG91YmxlLgorLm9wU3dpdGNoSW1tRmFsbFRocm91Z2g6CisgICAgZGlzcGF0Y2hJbnRJ
bmRpcmVjdCgyKQorCisub3BTd2l0Y2hJbW1TbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChf
bGxpbnRfc2xvd19wYXRoX3N3aXRjaF9pbW0pCisgICAgZGlzcGF0Y2goMCkKKworCitfbGxpbnRf
b3Bfc3dpdGNoX2NoYXI6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0
cnVjdGlvbigzLCB0MikKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDMpCisgICAgbG9h
ZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDEpCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQy
CisgICAgbG9hZHAgQ29kZUJsb2NrOjptX3JhcmVEYXRhW3QyXSwgdDIKKyAgICBtdWxpIHNpemVv
ZiBTaW1wbGVKdW1wVGFibGUsIHQzCisgICAgbG9hZHAgQ29kZUJsb2NrOjpSYXJlRGF0YTo6bV9z
d2l0Y2hKdW1wVGFibGVzICsgVmVjdG9yQnVmZmVyT2Zmc2V0W3QyXSwgdDIKKyAgICBhZGRwIHQz
LCB0MgorICAgIGJ0cW56IHQxLCB0YWdNYXNrLCAub3BTd2l0Y2hDaGFyRmFsbFRocm91Z2gKKyAg
ICBiYm5lcSBKU0NlbGw6Om1fdHlwZVt0MV0sIFN0cmluZ1R5cGUsIC5vcFN3aXRjaENoYXJGYWxs
VGhyb3VnaAorICAgIGJpbmVxIEpTU3RyaW5nOjptX2xlbmd0aFt0MV0sIDEsIC5vcFN3aXRjaENo
YXJGYWxsVGhyb3VnaAorICAgIGxvYWRwIEpTU3RyaW5nOjptX3ZhbHVlW3QxXSwgdDAKKyAgICBi
dHB6ICB0MCwgLm9wU3dpdGNoT25Sb3BlCisgICAgbG9hZHAgU3RyaW5nSW1wbDo6bV9kYXRhOFt0
MF0sIHQxCisgICAgYnRpbnogU3RyaW5nSW1wbDo6bV9oYXNoQW5kRmxhZ3NbdDBdLCBIYXNoRmxh
Z3M4Qml0QnVmZmVyLCAub3BTd2l0Y2hDaGFyOEJpdAorICAgIGxvYWRoIFt0MV0sIHQwCisgICAg
am1wIC5vcFN3aXRjaENoYXJSZWFkeQorLm9wU3dpdGNoQ2hhcjhCaXQ6CisgICAgbG9hZGIgW3Qx
XSwgdDAKKy5vcFN3aXRjaENoYXJSZWFkeToKKyAgICBzdWJpIFNpbXBsZUp1bXBUYWJsZTo6bWlu
W3QyXSwgdDAKKyAgICBiaWFlcSB0MCwgU2ltcGxlSnVtcFRhYmxlOjpicmFuY2hPZmZzZXRzICsg
VmVjdG9yU2l6ZU9mZnNldFt0Ml0sIC5vcFN3aXRjaENoYXJGYWxsVGhyb3VnaAorICAgIGxvYWRw
IFNpbXBsZUp1bXBUYWJsZTo6YnJhbmNoT2Zmc2V0cyArIFZlY3RvckJ1ZmZlck9mZnNldFt0Ml0s
IHQyCisgICAgbG9hZGlzIFt0MiwgdDAsIDRdLCB0MQorICAgIGJ0aXogdDEsIC5vcFN3aXRjaENo
YXJGYWxsVGhyb3VnaAorICAgIGRpc3BhdGNoKHQxKQorCisub3BTd2l0Y2hDaGFyRmFsbFRocm91
Z2g6CisgICAgZGlzcGF0Y2hJbnRJbmRpcmVjdCgyKQorCisub3BTd2l0Y2hPblJvcGU6CisgICAg
Y2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfc3dpdGNoX2NoYXIpCisgICAgZGlz
cGF0Y2goMCkKKworCittYWNybyBhcnJheVByb2ZpbGVGb3JDYWxsKCkKKyAgICBsb2FkaXNGcm9t
SW5zdHJ1Y3Rpb24oNCwgdDMpCisgICAgbmVncCB0MworICAgIGxvYWRxIFRoaXNBcmd1bWVudE9m
ZnNldFtjZnIsIHQzLCA4XSwgdDAKKyAgICBidHFueiB0MCwgdGFnTWFzaywgLmRvbmUKKyAgICBs
b2FkcEZyb21JbnN0cnVjdGlvbigoQ2FsbE9wQ29kZVNpemUgLSAyKSwgdDEpCisgICAgbG9hZGkg
SlNDZWxsOjptX3N0cnVjdHVyZUlEW3QwXSwgdDMKKyAgICBzdG9yZWkgdDMsIEFycmF5UHJvZmls
ZTo6bV9sYXN0U2VlblN0cnVjdHVyZUlEW3QxXQorLmRvbmU6CitlbmQKKworbWFjcm8gZG9DYWxs
KHNsb3dQYXRoLCBwcmVwYXJlQ2FsbCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDAp
CisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNSwgdDEpCisgICAgbG9hZHAgTExJbnRDYWxsTGlu
a0luZm86OmNhbGxlZVt0MV0sIHQyCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MCwgdDMp
CisgICAgYnFuZXEgdDMsIHQyLCAub3BDYWxsU2xvdworICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlv
big0LCB0MykKKyAgICBsc2hpZnRpIDMsIHQzCisgICAgbmVncCB0MworICAgIGFkZHAgY2ZyLCB0
MworICAgIHN0b3JlcSB0MiwgQ2FsbGVlW3QzXQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigz
LCB0MikKKyAgICBzdG9yZWkgUEMsIEFyZ3VtZW50Q291bnQgKyBUYWdPZmZzZXRbY2ZyXQorICAg
IHN0b3JlaSB0MiwgQXJndW1lbnRDb3VudCArIFBheWxvYWRPZmZzZXRbdDNdCisgICAgbW92ZSB0
Mywgc3AKKyAgICBwcmVwYXJlQ2FsbChMTEludENhbGxMaW5rSW5mbzo6bWFjaGluZUNvZGVUYXJn
ZXRbdDFdLCB0MiwgdDMsIHQ0KQorICAgIGNhbGxUYXJnZXRGdW5jdGlvbihMTEludENhbGxMaW5r
SW5mbzo6bWFjaGluZUNvZGVUYXJnZXRbdDFdKQorCisub3BDYWxsU2xvdzoKKyAgICBzbG93UGF0
aEZvckNhbGwoc2xvd1BhdGgsIHByZXBhcmVDYWxsKQorZW5kCisKK19sbGludF9vcF9yZXQ6Cisg
ICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNoZWNrU3dpdGNoVG9KSVRGb3JFcGlsb2d1ZSgpCisg
ICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQyKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFi
bGUodDIsIHIwKQorICAgIGRvUmV0dXJuKCkKKworCitfbGxpbnRfb3BfdG9fcHJpbWl0aXZlOgor
ICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDIpCisg
ICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQzKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFi
bGUodDIsIHQwKQorICAgIGJ0cW56IHQwLCB0YWdNYXNrLCAub3BUb1ByaW1pdGl2ZUlzSW1tCisg
ICAgYmJhZXEgSlNDZWxsOjptX3R5cGVbdDBdLCBPYmplY3RUeXBlLCAub3BUb1ByaW1pdGl2ZVNs
b3dDYXNlCisub3BUb1ByaW1pdGl2ZUlzSW1tOgorICAgIHN0b3JlcSB0MCwgW2NmciwgdDMsIDhd
CisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3RvX3ByaW1pdGl2ZV9sZW5ndGgpCisKKy5vcFRv
UHJpbWl0aXZlU2xvd0Nhc2U6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfdG9f
cHJpbWl0aXZlKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF90b19wcmltaXRpdmVfbGVuZ3Ro
KQorCisKK19sbGludF9vcF9jYXRjaDoKKyAgICAjIFRoaXMgaXMgd2hlcmUgd2UgZW5kIHVwIGZy
b20gdGhlIEpJVCdzIHRocm93IHRyYW1wb2xpbmUgKGJlY2F1c2UgdGhlCisgICAgIyBtYWNoaW5l
IGNvZGUgcmV0dXJuIGFkZHJlc3Mgd2lsbCBiZSBzZXQgdG8gX2xsaW50X29wX2NhdGNoKSwgYW5k
IGZyb20KKyAgICAjIHRoZSBpbnRlcnByZXRlcidzIHRocm93IHRyYW1wb2xpbmUgKHNlZSBfbGxp
bnRfdGhyb3dfdHJhbXBvbGluZSkuCisgICAgIyBUaGUgdGhyb3dpbmcgY29kZSBtdXN0IGhhdmUg
a25vd24gdGhhdCB3ZSB3ZXJlIHRocm93aW5nIHRvIHRoZSBpbnRlcnByZXRlciwKKyAgICAjIGFu
ZCBoYXZlIHNldCBWTTo6dGFyZ2V0SW50ZXJwcmV0ZXJQQ0ZvclRocm93LgorICAgIGxvYWRwIENh
bGxlZVtjZnJdLCB0MworICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MworICAgIGxvYWRwIE1h
cmtlZEJsb2NrOjptX3ZtW3QzXSwgdDMKKyAgICByZXN0b3JlQ2FsbGVlU2F2ZXNGcm9tVk1FbnRy
eUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIodDMsIHQwKQorICAgIGxvYWRwIFZNOjpjYWxsRnJhbWVG
b3JDYXRjaFt0M10sIGNmcgorICAgIHN0b3JlcCAwLCBWTTo6Y2FsbEZyYW1lRm9yQ2F0Y2hbdDNd
CisgICAgcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVyQ2FsbCgpCisKKyAgICBsb2FkcCBDb2RlQmxv
Y2tbY2ZyXSwgUEIKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1Y3Rpb25zW1BCXSwgUEIK
KyAgICBsb2FkcCBWTTo6dGFyZ2V0SW50ZXJwcmV0ZXJQQ0ZvclRocm93W3QzXSwgUEMKKyAgICBz
dWJwIFBCLCBQQworICAgIHJzaGlmdHAgMywgUEMKKworICAgIGNhbGxPcGNvZGVTbG93UGF0aChf
bGxpbnRfc2xvd19wYXRoX2NoZWNrX2lmX2V4Y2VwdGlvbl9pc191bmNhdGNoYWJsZV9hbmRfbm90
aWZ5X3Byb2ZpbGVyKQorICAgIGJwZXEgcjEsIDAsIC5pc0NhdGNoYWJsZUV4Y2VwdGlvbgorICAg
IGptcCBfbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZQorCisuaXNDYXRjaGFi
bGVFeGNlcHRpb246CisgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQzCisgICAgYW5kcCBNYXJrZWRC
bG9ja01hc2ssIHQzCisgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fdm1bdDNdLCB0MworCisgICAg
bG9hZHEgVk06Om1fZXhjZXB0aW9uW3QzXSwgdDAKKyAgICBzdG9yZXEgMCwgVk06Om1fZXhjZXB0
aW9uW3QzXQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MikKKyAgICBzdG9yZXEgdDAs
IFtjZnIsIHQyLCA4XQorCisgICAgbG9hZHEgRXhjZXB0aW9uOjptX3ZhbHVlW3QwXSwgdDMKKyAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDIpCisgICAgc3RvcmVxIHQzLCBbY2ZyLCB0Miwg
OF0KKworICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfY2F0
Y2hfbGVuZ3RoKQorCisKK19sbGludF9vcF9lbmQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAg
IGNoZWNrU3dpdGNoVG9KSVRGb3JFcGlsb2d1ZSgpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9u
KDEsIHQwKQorICAgIGFzc2VydE5vdENvbnN0YW50KHQwKQorICAgIGxvYWRxIFtjZnIsIHQwLCA4
XSwgcjAKKyAgICBkb1JldHVybigpCisKKworX2xsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3Ry
YW1wb2xpbmU6CisgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQxCisgICAgYW5kcCBNYXJrZWRCbG9j
a01hc2ssIHQxCisgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fdm1bdDFdLCB0MQorICAgIGNvcHlD
YWxsZWVTYXZlc1RvVk1FbnRyeUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIodDEsIHQyKQorCisgICAg
Y2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfaGFuZGxlX2V4Y2VwdGlvbikKKworICAgICMg
V2hlbiB0aHJvd2luZyBmcm9tIHRoZSBpbnRlcnByZXRlciAoaS5lLiB0aHJvd2luZyBmcm9tIExM
SW50U2xvd1BhdGhzKSwgc28KKyAgICAjIHRoZSB0aHJvdyB0YXJnZXQgaXMgbm90IG5lY2Vzc2Fy
aWx5IGludGVycHJldGVkIGNvZGUsIHdlIGNvbWUgdG8gaGVyZS4KKyAgICAjIFRoaXMgZXNzZW50
aWFsbHkgZW11bGF0ZXMgdGhlIEpJVCdzIHRocm93aW5nIHByb3RvY29sLgorICAgIGxvYWRwIENh
bGxlZVtjZnJdLCB0MQorICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MQorICAgIGxvYWRwIE1h
cmtlZEJsb2NrOjptX3ZtW3QxXSwgdDEKKyAgICBqbXAgVk06OnRhcmdldE1hY2hpbmVQQ0ZvclRo
cm93W3QxXQorCisKK19sbGludF90aHJvd19kdXJpbmdfY2FsbF90cmFtcG9saW5lOgorICAgIHBy
ZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVyQ2FsbCh0MikKKyAgICBqbXAgX2xsaW50X3Rocm93X2Zy
b21fc2xvd19wYXRoX3RyYW1wb2xpbmUKKworCittYWNybyBuYXRpdmVDYWxsVHJhbXBvbGluZShl
eGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvbikKKworICAgIGZ1bmN0aW9uUHJvbG9ndWUoKQorICAg
IHN0b3JlcCAwLCBDb2RlQmxvY2tbY2ZyXQorICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0MAorICAg
IGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MCwgdDEKKyAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV92
bVt0MV0sIHQxCisgICAgc3RvcmVwIGNmciwgVk06OnRvcENhbGxGcmFtZVt0MV0KKyAgICBpZiBB
Uk02NCBvciBDX0xPT1AKKyAgICAgICAgc3RvcmVwIGxyLCBSZXR1cm5QQ1tjZnJdCisgICAgZW5k
CisgICAgbW92ZSBjZnIsIGEwCisgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQxCisgICAgbG9hZHAg
SlNGdW5jdGlvbjo6bV9leGVjdXRhYmxlW3QxXSwgdDEKKyAgICBjaGVja1N0YWNrUG9pbnRlckFs
aWdubWVudCh0MywgMHhkZWFkMDAwMSkKKyAgICBpZiBDX0xPT1AKKyAgICAgICAgY2xvb3BDYWxs
TmF0aXZlIGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uW3QxXQorICAgIGVsc2UKKyAgICAgICAg
aWYgWDg2XzY0X1dJTgorICAgICAgICAgICAgc3VicCAzMiwgc3AKKyAgICAgICAgZW5kCisgICAg
ICAgIGNhbGwgZXhlY3V0YWJsZU9mZnNldFRvRnVuY3Rpb25bdDFdCisgICAgICAgIGlmIFg4Nl82
NF9XSU4KKyAgICAgICAgICAgIGFkZHAgMzIsIHNwCisgICAgICAgIGVuZAorICAgIGVuZAorCisg
ICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQzCisgICAgYW5kcCBNYXJrZWRCbG9ja01hc2ssIHQzCisg
ICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fdm1bdDNdLCB0MworCisgICAgYnRxbnogVk06Om1fZXhj
ZXB0aW9uW3QzXSwgLmhhbmRsZUV4Y2VwdGlvbgorCisgICAgZnVuY3Rpb25FcGlsb2d1ZSgpCisg
ICAgcmV0CisKKy5oYW5kbGVFeGNlcHRpb246CisgICAgc3RvcmVwIGNmciwgVk06OnRvcENhbGxG
cmFtZVt0M10KKyAgICBqbXAgX2xsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmUK
K2VuZAorCittYWNybyBnZXRDb25zdGFudFNjb3BlKGRzdCkKKyAgICBsb2FkcEZyb21JbnN0cnVj
dGlvbig2LCB0MCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oZHN0LCB0MSkKKyAgICBzdG9y
ZXEgdDAsIFtjZnIsIHQxLCA4XQorZW5kCisKK21hY3JvIHZhckluamVjdGlvbkNoZWNrKHNsb3dQ
YXRoKQorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MAorICAgIGxvYWRwIENvZGVCbG9jazo6
bV9nbG9iYWxPYmplY3RbdDBdLCB0MAorICAgIGxvYWRwIEpTR2xvYmFsT2JqZWN0OjptX3Zhcklu
amVjdGlvbldhdGNocG9pbnRbdDBdLCB0MAorICAgIGJiZXEgV2F0Y2hwb2ludFNldDo6bV9zdGF0
ZVt0MF0sIElzSW52YWxpZGF0ZWQsIHNsb3dQYXRoCitlbmQKKworbWFjcm8gcmVzb2x2ZVNjb3Bl
KCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNSwgdDIpCisgICAgbG9hZGlzRnJvbUluc3Ry
dWN0aW9uKDIsIHQwKQorICAgIGxvYWRwIFtjZnIsIHQwLCA4XSwgdDAKKyAgICBidGl6IHQyLCAu
cmVzb2x2ZVNjb3BlTG9vcEVuZAorCisucmVzb2x2ZVNjb3BlTG9vcDoKKyAgICBsb2FkcCBKU1Nj
b3BlOjptX25leHRbdDBdLCB0MAorICAgIHN1YmkgMSwgdDIKKyAgICBidGlueiB0MiwgLnJlc29s
dmVTY29wZUxvb3AKKworLnJlc29sdmVTY29wZUxvb3BFbmQ6CisgICAgbG9hZGlzRnJvbUluc3Ry
dWN0aW9uKDEsIHQxKQorICAgIHN0b3JlcSB0MCwgW2NmciwgdDEsIDhdCitlbmQKKworCitfbGxp
bnRfb3BfcmVzb2x2ZV9zY29wZToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGlzRnJv
bUluc3RydWN0aW9uKDQsIHQwKQorCisjckdsb2JhbFByb3BlcnR5OgorICAgIGJpbmVxIHQwLCBH
bG9iYWxQcm9wZXJ0eSwgLnJHbG9iYWxWYXIKKyAgICBnZXRDb25zdGFudFNjb3BlKDEpCisgICAg
ZGlzcGF0Y2goY29uc3RleHByIG9wX3Jlc29sdmVfc2NvcGVfbGVuZ3RoKQorCisuckdsb2JhbFZh
cjoKKyAgICBiaW5lcSB0MCwgR2xvYmFsVmFyLCAuckdsb2JhbExleGljYWxWYXIKKyAgICBnZXRD
b25zdGFudFNjb3BlKDEpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3Jlc29sdmVfc2NvcGVf
bGVuZ3RoKQorCisuckdsb2JhbExleGljYWxWYXI6CisgICAgYmluZXEgdDAsIEdsb2JhbExleGlj
YWxWYXIsIC5yQ2xvc3VyZVZhcgorICAgIGdldENvbnN0YW50U2NvcGUoMSkKKyAgICBkaXNwYXRj
aChjb25zdGV4cHIgb3BfcmVzb2x2ZV9zY29wZV9sZW5ndGgpCisKKy5yQ2xvc3VyZVZhcjoKKyAg
ICBiaW5lcSB0MCwgQ2xvc3VyZVZhciwgLnJNb2R1bGVWYXIKKyAgICByZXNvbHZlU2NvcGUoKQor
ICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9yZXNvbHZlX3Njb3BlX2xlbmd0aCkKKworLnJNb2R1
bGVWYXI6CisgICAgYmluZXEgdDAsIE1vZHVsZVZhciwgLnJHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJ
bmplY3Rpb25DaGVja3MKKyAgICBnZXRDb25zdGFudFNjb3BlKDEpCisgICAgZGlzcGF0Y2goY29u
c3RleHByIG9wX3Jlc29sdmVfc2NvcGVfbGVuZ3RoKQorCisuckdsb2JhbFByb3BlcnR5V2l0aFZh
ckluamVjdGlvbkNoZWNrczoKKyAgICBiaW5lcSB0MCwgR2xvYmFsUHJvcGVydHlXaXRoVmFySW5q
ZWN0aW9uQ2hlY2tzLCAuckdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MKKyAgICB2YXJJ
bmplY3Rpb25DaGVjayguckR5bmFtaWMpCisgICAgZ2V0Q29uc3RhbnRTY29wZSgxKQorICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciBvcF9yZXNvbHZlX3Njb3BlX2xlbmd0aCkKKworLnJHbG9iYWxWYXJX
aXRoVmFySW5qZWN0aW9uQ2hlY2tzOgorICAgIGJpbmVxIHQwLCBHbG9iYWxWYXJXaXRoVmFySW5q
ZWN0aW9uQ2hlY2tzLCAuckdsb2JhbExleGljYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzCisg
ICAgdmFySW5qZWN0aW9uQ2hlY2soLnJEeW5hbWljKQorICAgIGdldENvbnN0YW50U2NvcGUoMSkK
KyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfcmVzb2x2ZV9zY29wZV9sZW5ndGgpCisKKy5yR2xv
YmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M6CisgICAgYmluZXEgdDAsIEdsb2Jh
bExleGljYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzLCAuckNsb3N1cmVWYXJXaXRoVmFySW5q
ZWN0aW9uQ2hlY2tzCisgICAgdmFySW5qZWN0aW9uQ2hlY2soLnJEeW5hbWljKQorICAgIGdldENv
bnN0YW50U2NvcGUoMSkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfcmVzb2x2ZV9zY29wZV9s
ZW5ndGgpCisKKy5yQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M6CisgICAgYmluZXEg
dDAsIENsb3N1cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzLCAuckR5bmFtaWMKKyAgICB2YXJJ
bmplY3Rpb25DaGVjayguckR5bmFtaWMpCisgICAgcmVzb2x2ZVNjb3BlKCkKKyAgICBkaXNwYXRj
aChjb25zdGV4cHIgb3BfcmVzb2x2ZV9zY29wZV9sZW5ndGgpCisKKy5yRHluYW1pYzoKKyAgICBj
YWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9yZXNvbHZlX3Njb3BlKQorICAgIGRpc3BhdGNo
KGNvbnN0ZXhwciBvcF9yZXNvbHZlX3Njb3BlX2xlbmd0aCkKKworCittYWNybyBsb2FkV2l0aFN0
cnVjdHVyZUNoZWNrKG9wZXJhbmQsIHNsb3dQYXRoKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlv
bihvcGVyYW5kLCB0MCkKKyAgICBsb2FkcSBbY2ZyLCB0MCwgOF0sIHQwCisgICAgbG9hZFN0cnVj
dHVyZVdpdGhTY3JhdGNoKHQwLCB0MiwgdDEpCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNSwg
dDEpCisgICAgYnBuZXEgdDIsIHQxLCBzbG93UGF0aAorZW5kCisKK21hY3JvIGdldFByb3BlcnR5
KCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNiwgdDEpCisgICAgbG9hZFByb3BlcnR5QXRW
YXJpYWJsZU9mZnNldCh0MSwgdDAsIHQyKQorICAgIHZhbHVlUHJvZmlsZSh0MiwgNywgdDApCisg
ICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKQorICAgIHN0b3JlcSB0MiwgW2NmciwgdDAs
IDhdCitlbmQKKworbWFjcm8gZ2V0R2xvYmFsVmFyKHRkekNoZWNrSWZOZWNlc3NhcnkpCisgICAg
bG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNiwgdDApCisgICAgbG9hZHEgW3QwXSwgdDAKKyAgICB0ZHpD
aGVja0lmTmVjZXNzYXJ5KHQwKQorICAgIHZhbHVlUHJvZmlsZSh0MCwgNywgdDEpCisgICAgbG9h
ZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKQorICAgIHN0b3JlcSB0MCwgW2NmciwgdDEsIDhdCitl
bmQKKworbWFjcm8gZ2V0Q2xvc3VyZVZhcigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDYs
IHQxKQorICAgIGxvYWRxIEpTRW52aXJvbm1lbnRSZWNvcmRfdmFyaWFibGVzW3QwLCB0MSwgOF0s
IHQwCisgICAgdmFsdWVQcm9maWxlKHQwLCA3LCB0MSkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rp
b24oMSwgdDEpCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MSwgOF0KK2VuZAorCitfbGxpbnRfb3Bf
Z2V0X2Zyb21fc2NvcGU6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0
cnVjdGlvbig0LCB0MCkKKyAgICBhbmRpIFJlc29sdmVUeXBlTWFzaywgdDAKKworI2dHbG9iYWxQ
cm9wZXJ0eToKKyAgICBiaW5lcSB0MCwgR2xvYmFsUHJvcGVydHksIC5nR2xvYmFsVmFyCisgICAg
bG9hZFdpdGhTdHJ1Y3R1cmVDaGVjaygyLCAuZ0R5bmFtaWMpCisgICAgZ2V0UHJvcGVydHkoKQor
ICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfZnJvbV9zY29wZV9sZW5ndGgpCisKKy5nR2xv
YmFsVmFyOgorICAgIGJpbmVxIHQwLCBHbG9iYWxWYXIsIC5nR2xvYmFsTGV4aWNhbFZhcgorICAg
IGdldEdsb2JhbFZhcihtYWNybyh2KSBlbmQpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dl
dF9mcm9tX3Njb3BlX2xlbmd0aCkKKworLmdHbG9iYWxMZXhpY2FsVmFyOgorICAgIGJpbmVxIHQw
LCBHbG9iYWxMZXhpY2FsVmFyLCAuZ0Nsb3N1cmVWYXIKKyAgICBnZXRHbG9iYWxWYXIoCisgICAg
ICAgIG1hY3JvICh2YWx1ZSkKKyAgICAgICAgICAgIGJxZXEgdmFsdWUsIFZhbHVlRW1wdHksIC5n
RHluYW1pYworICAgICAgICBlbmQpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9mcm9t
X3Njb3BlX2xlbmd0aCkKKworLmdDbG9zdXJlVmFyOgorICAgIGJpbmVxIHQwLCBDbG9zdXJlVmFy
LCAuZ0dsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNrcworICAgIGxvYWRWYXJpYWJs
ZSgyLCB0MCkKKyAgICBnZXRDbG9zdXJlVmFyKCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3Bf
Z2V0X2Zyb21fc2NvcGVfbGVuZ3RoKQorCisuZ0dsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlv
bkNoZWNrczoKKyAgICBiaW5lcSB0MCwgR2xvYmFsUHJvcGVydHlXaXRoVmFySW5qZWN0aW9uQ2hl
Y2tzLCAuZ0dsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MKKyAgICBsb2FkV2l0aFN0cnVj
dHVyZUNoZWNrKDIsIC5nRHluYW1pYykKKyAgICBnZXRQcm9wZXJ0eSgpCisgICAgZGlzcGF0Y2go
Y29uc3RleHByIG9wX2dldF9mcm9tX3Njb3BlX2xlbmd0aCkKKworLmdHbG9iYWxWYXJXaXRoVmFy
SW5qZWN0aW9uQ2hlY2tzOgorICAgIGJpbmVxIHQwLCBHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9u
Q2hlY2tzLCAuZ0dsb2JhbExleGljYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzCisgICAgdmFy
SW5qZWN0aW9uQ2hlY2soLmdEeW5hbWljKQorICAgIGdldEdsb2JhbFZhcihtYWNybyh2KSBlbmQp
CisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9mcm9tX3Njb3BlX2xlbmd0aCkKKworLmdH
bG9iYWxMZXhpY2FsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrczoKKyAgICBiaW5lcSB0MCwgR2xv
YmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5nQ2xvc3VyZVZhcldpdGhWYXJJ
bmplY3Rpb25DaGVja3MKKyAgICB2YXJJbmplY3Rpb25DaGVjayguZ0R5bmFtaWMpCisgICAgZ2V0
R2xvYmFsVmFyKAorICAgICAgICBtYWNybyAodmFsdWUpCisgICAgICAgICAgICBicWVxIHZhbHVl
LCBWYWx1ZUVtcHR5LCAuZ0R5bmFtaWMKKyAgICAgICAgZW5kKQorICAgIGRpc3BhdGNoKGNvbnN0
ZXhwciBvcF9nZXRfZnJvbV9zY29wZV9sZW5ndGgpCisKKy5nQ2xvc3VyZVZhcldpdGhWYXJJbmpl
Y3Rpb25DaGVja3M6CisgICAgYmluZXEgdDAsIENsb3N1cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hl
Y2tzLCAuZ0R5bmFtaWMKKyAgICB2YXJJbmplY3Rpb25DaGVjayguZ0R5bmFtaWMpCisgICAgbG9h
ZFZhcmlhYmxlKDIsIHQwKQorICAgIGdldENsb3N1cmVWYXIoKQorICAgIGRpc3BhdGNoKGNvbnN0
ZXhwciBvcF9nZXRfZnJvbV9zY29wZV9sZW5ndGgpCisKKy5nRHluYW1pYzoKKyAgICBjYWxsT3Bj
b2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9nZXRfZnJvbV9zY29wZSkKKyAgICBkaXNwYXRj
aChjb25zdGV4cHIgb3BfZ2V0X2Zyb21fc2NvcGVfbGVuZ3RoKQorCisKK21hY3JvIHB1dFByb3Bl
cnR5KCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDEpCisgICAgbG9hZENvbnN0YW50
T3JWYXJpYWJsZSh0MSwgdDIpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDYsIHQxKQorICAg
IHN0b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0KHQxLCB0MCwgdDIsIHQzKQorZW5kCisKK21h
Y3JvIHB1dEdsb2JhbFZhcmlhYmxlKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDAp
CisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MCwgdDEpCisgICAgbG9hZHBGcm9tSW5zdHJ1
Y3Rpb24oNSwgdDIpCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNiwgdDApCisgICAgbm90aWZ5
V3JpdGUodDIsIC5wRHluYW1pYykKKyAgICBzdG9yZXEgdDEsIFt0MF0KK2VuZAorCittYWNybyBw
dXRDbG9zdXJlVmFyKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDEpCisgICAgbG9h
ZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDIpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDYs
IHQxKQorICAgIHN0b3JlcSB0MiwgSlNFbnZpcm9ubWVudFJlY29yZF92YXJpYWJsZXNbdDAsIHQx
LCA4XQorZW5kCisKK21hY3JvIHB1dExvY2FsQ2xvc3VyZVZhcigpCisgICAgbG9hZGlzRnJvbUlu
c3RydWN0aW9uKDMsIHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQyKQorICAg
IGxvYWRwRnJvbUluc3RydWN0aW9uKDUsIHQzKQorICAgIGJ0cHogdDMsIC5ub1ZhcmlhYmxlV2F0
Y2hwb2ludFNldAorICAgIG5vdGlmeVdyaXRlKHQzLCAucER5bmFtaWMpCisubm9WYXJpYWJsZVdh
dGNocG9pbnRTZXQ6CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDYsIHQxKQorICAgIHN0b3Jl
cSB0MiwgSlNFbnZpcm9ubWVudFJlY29yZF92YXJpYWJsZXNbdDAsIHQxLCA4XQorZW5kCisKK21h
Y3JvIGNoZWNrVERaSW5HbG9iYWxQdXRUb1Njb3BlSWZOZWNlc3NhcnkoKQorICAgIGxvYWRpc0Zy
b21JbnN0cnVjdGlvbig0LCB0MCkKKyAgICBhbmRpIEluaXRpYWxpemF0aW9uTW9kZU1hc2ssIHQw
CisgICAgcnNoaWZ0aSBJbml0aWFsaXphdGlvbk1vZGVTaGlmdCwgdDAKKyAgICBiaW5lcSB0MCwg
Tm90SW5pdGlhbGl6YXRpb24sIC5ub05lZWRGb3JURFpDaGVjaworICAgIGxvYWRwRnJvbUluc3Ry
dWN0aW9uKDYsIHQwKQorICAgIGxvYWRxIFt0MF0sIHQwCisgICAgYnFlcSB0MCwgVmFsdWVFbXB0
eSwgLnBEeW5hbWljCisubm9OZWVkRm9yVERaQ2hlY2s6CitlbmQKKworCitfbGxpbnRfb3BfcHV0
X3RvX3Njb3BlOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rp
b24oNCwgdDApCisgICAgYW5kaSBSZXNvbHZlVHlwZU1hc2ssIHQwCisKKyNwTG9jYWxDbG9zdXJl
VmFyOgorICAgIGJpbmVxIHQwLCBMb2NhbENsb3N1cmVWYXIsIC5wR2xvYmFsUHJvcGVydHkKKyAg
ICBsb2FkVmFyaWFibGUoMSwgdDApCisgICAgcHV0TG9jYWxDbG9zdXJlVmFyKCkKKyAgICB3cml0
ZUJhcnJpZXJPbk9wZXJhbmRzKDEsIDMpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3B1dF90
b19zY29wZV9sZW5ndGgpCisKKy5wR2xvYmFsUHJvcGVydHk6CisgICAgYmluZXEgdDAsIEdsb2Jh
bFByb3BlcnR5LCAucEdsb2JhbFZhcgorICAgIGxvYWRXaXRoU3RydWN0dXJlQ2hlY2soMSwgLnBE
eW5hbWljKQorICAgIHB1dFByb3BlcnR5KCkKKyAgICB3cml0ZUJhcnJpZXJPbk9wZXJhbmRzKDEs
IDMpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3B1dF90b19zY29wZV9sZW5ndGgpCisKKy5w
R2xvYmFsVmFyOgorICAgIGJpbmVxIHQwLCBHbG9iYWxWYXIsIC5wR2xvYmFsTGV4aWNhbFZhcgor
ICAgIHdyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0KDMpCisgICAgcHV0R2xvYmFsVmFyaWFibGUo
KQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wdXRfdG9fc2NvcGVfbGVuZ3RoKQorCisucEds
b2JhbExleGljYWxWYXI6CisgICAgYmluZXEgdDAsIEdsb2JhbExleGljYWxWYXIsIC5wQ2xvc3Vy
ZVZhcgorICAgIHdyaXRlQmFycmllck9uR2xvYmFsTGV4aWNhbEVudmlyb25tZW50KDMpCisgICAg
Y2hlY2tURFpJbkdsb2JhbFB1dFRvU2NvcGVJZk5lY2Vzc2FyeSgpCisgICAgcHV0R2xvYmFsVmFy
aWFibGUoKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wdXRfdG9fc2NvcGVfbGVuZ3RoKQor
CisucENsb3N1cmVWYXI6CisgICAgYmluZXEgdDAsIENsb3N1cmVWYXIsIC5wR2xvYmFsUHJvcGVy
dHlXaXRoVmFySW5qZWN0aW9uQ2hlY2tzCisgICAgbG9hZFZhcmlhYmxlKDEsIHQwKQorICAgIHB1
dENsb3N1cmVWYXIoKQorICAgIHdyaXRlQmFycmllck9uT3BlcmFuZHMoMSwgMykKKyAgICBkaXNw
YXRjaChjb25zdGV4cHIgb3BfcHV0X3RvX3Njb3BlX2xlbmd0aCkKKworLnBHbG9iYWxQcm9wZXJ0
eVdpdGhWYXJJbmplY3Rpb25DaGVja3M6CisgICAgYmluZXEgdDAsIEdsb2JhbFByb3BlcnR5V2l0
aFZhckluamVjdGlvbkNoZWNrcywgLnBHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzCisg
ICAgbG9hZFdpdGhTdHJ1Y3R1cmVDaGVjaygxLCAucER5bmFtaWMpCisgICAgcHV0UHJvcGVydHko
KQorICAgIHdyaXRlQmFycmllck9uT3BlcmFuZHMoMSwgMykKKyAgICBkaXNwYXRjaChjb25zdGV4
cHIgb3BfcHV0X3RvX3Njb3BlX2xlbmd0aCkKKworLnBHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9u
Q2hlY2tzOgorICAgIGJpbmVxIHQwLCBHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzLCAu
cEdsb2JhbExleGljYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzCisgICAgd3JpdGVCYXJyaWVy
T25HbG9iYWxPYmplY3QoMykKKyAgICB2YXJJbmplY3Rpb25DaGVjaygucER5bmFtaWMpCisgICAg
cHV0R2xvYmFsVmFyaWFibGUoKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wdXRfdG9fc2Nv
cGVfbGVuZ3RoKQorCisucEdsb2JhbExleGljYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOgor
ICAgIGJpbmVxIHQwLCBHbG9iYWxMZXhpY2FsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcywgLnBD
bG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcworICAgIHdyaXRlQmFycmllck9uR2xvYmFs
TGV4aWNhbEVudmlyb25tZW50KDMpCisgICAgdmFySW5qZWN0aW9uQ2hlY2soLnBEeW5hbWljKQor
ICAgIGNoZWNrVERaSW5HbG9iYWxQdXRUb1Njb3BlSWZOZWNlc3NhcnkoKQorICAgIHB1dEdsb2Jh
bFZhcmlhYmxlKCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfcHV0X3RvX3Njb3BlX2xlbmd0
aCkKKworLnBDbG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNrczoKKyAgICBiaW5lcSB0MCwg
Q2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5wTW9kdWxlVmFyCisgICAgdmFySW5q
ZWN0aW9uQ2hlY2soLnBEeW5hbWljKQorICAgIGxvYWRWYXJpYWJsZSgxLCB0MCkKKyAgICBwdXRD
bG9zdXJlVmFyKCkKKyAgICB3cml0ZUJhcnJpZXJPbk9wZXJhbmRzKDEsIDMpCisgICAgZGlzcGF0
Y2goY29uc3RleHByIG9wX3B1dF90b19zY29wZV9sZW5ndGgpCisKKy5wTW9kdWxlVmFyOgorICAg
IGJpbmVxIHQwLCBNb2R1bGVWYXIsIC5wRHluYW1pYworICAgIGNhbGxPcGNvZGVTbG93UGF0aChf
c2xvd19wYXRoX3Rocm93X3N0cmljdF9tb2RlX3JlYWRvbmx5X3Byb3BlcnR5X3dyaXRlX2Vycm9y
KQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wdXRfdG9fc2NvcGVfbGVuZ3RoKQorCisucER5
bmFtaWM6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfcHV0X3RvX3Nj
b3BlKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wdXRfdG9fc2NvcGVfbGVuZ3RoKQorCisK
K19sbGludF9vcF9nZXRfZnJvbV9hcmd1bWVudHM6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAg
IGxvYWRWYXJpYWJsZSgyLCB0MCkKKyAgICBsb2FkaSAyNFtQQiwgUEMsIDhdLCB0MQorICAgIGxv
YWRxIERpcmVjdEFyZ3VtZW50c19zdG9yYWdlW3QwLCB0MSwgOF0sIHQwCisgICAgdmFsdWVQcm9m
aWxlKHQwLCA0LCB0MSkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgc3Rv
cmVxIHQwLCBbY2ZyLCB0MSwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2Zyb21f
YXJndW1lbnRzX2xlbmd0aCkKKworCitfbGxpbnRfb3BfcHV0X3RvX2FyZ3VtZW50czoKKyAgICB0
cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZFZhcmlhYmxlKDEsIHQwKQorICAgIGxvYWRpIDE2W1BC
LCBQQywgOF0sIHQxCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQzKQorICAgIGxvYWRD
b25zdGFudE9yVmFyaWFibGUodDMsIHQyKQorICAgIHN0b3JlcSB0MiwgRGlyZWN0QXJndW1lbnRz
X3N0b3JhZ2VbdDAsIHQxLCA4XQorICAgIHdyaXRlQmFycmllck9uT3BlcmFuZHMoMSwgMykKKyAg
ICBkaXNwYXRjaChjb25zdGV4cHIgb3BfcHV0X3RvX2FyZ3VtZW50c19sZW5ndGgpCisKKworX2xs
aW50X29wX2dldF9wYXJlbnRfc2NvcGU6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRW
YXJpYWJsZSgyLCB0MCkKKyAgICBsb2FkcCBKU1Njb3BlOjptX25leHRbdDBdLCB0MAorICAgIGxv
YWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKKyAgICBzdG9yZXEgdDAsIFtjZnIsIHQxLCA4XQor
ICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfcGFyZW50X3Njb3BlX2xlbmd0aCkKKworCitf
bGxpbnRfb3BfcHJvZmlsZV90eXBlOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkcCBD
b2RlQmxvY2tbY2ZyXSwgdDEKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fdm1bdDFdLCB0MQorICAg
ICMgdDEgaXMgaG9sZGluZyB0aGUgcG9pbnRlciB0byB0aGUgdHlwZVByb2ZpbGVyTG9nLgorICAg
IGxvYWRwIFZNOjptX3R5cGVQcm9maWxlckxvZ1t0MV0sIHQxCisgICAgIyB0MiBpcyBob2xkaW5n
IHRoZSBwb2ludGVyIHRvIHRoZSBjdXJyZW50IGxvZyBlbnRyeS4KKyAgICBsb2FkcCBUeXBlUHJv
ZmlsZXJMb2c6Om1fY3VycmVudExvZ0VudHJ5UHRyW3QxXSwgdDIKKworICAgICMgdDAgaXMgaG9s
ZGluZyB0aGUgSlNWYWx1ZSBhcmd1bWVudC4KKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwg
dDMpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MywgdDApCisKKyAgICBicWVxIHQwLCBW
YWx1ZUVtcHR5LCAub3BQcm9maWxlVHlwZURvbmUKKyAgICAjIFN0b3JlIHRoZSBKU1ZhbHVlIG9u
dG8gdGhlIGxvZyBlbnRyeS4KKyAgICBzdG9yZXEgdDAsIFR5cGVQcm9maWxlckxvZzo6TG9nRW50
cnk6OnZhbHVlW3QyXQorICAgIAorICAgICMgU3RvcmUgdGhlIFR5cGVMb2NhdGlvbiBvbnRvIHRo
ZSBsb2cgZW50cnkuCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oMiwgdDMpCisgICAgc3RvcmVw
IHQzLCBUeXBlUHJvZmlsZXJMb2c6OkxvZ0VudHJ5Ojpsb2NhdGlvblt0Ml0KKworICAgIGJ0cXog
dDAsIHRhZ01hc2ssIC5vcFByb2ZpbGVUeXBlSXNDZWxsCisgICAgc3RvcmVpIDAsIFR5cGVQcm9m
aWxlckxvZzo6TG9nRW50cnk6OnN0cnVjdHVyZUlEW3QyXQorICAgIGptcCAub3BQcm9maWxlVHlw
ZVNraXBJc0NlbGwKKy5vcFByb2ZpbGVUeXBlSXNDZWxsOgorICAgIGxvYWRpIEpTQ2VsbDo6bV9z
dHJ1Y3R1cmVJRFt0MF0sIHQzCisgICAgc3RvcmVpIHQzLCBUeXBlUHJvZmlsZXJMb2c6OkxvZ0Vu
dHJ5OjpzdHJ1Y3R1cmVJRFt0Ml0KKy5vcFByb2ZpbGVUeXBlU2tpcElzQ2VsbDoKKyAgICAKKyAg
ICAjIEluY3JlbWVudCB0aGUgY3VycmVudCBsb2cgZW50cnkuCisgICAgYWRkcCBzaXplb2YgVHlw
ZVByb2ZpbGVyTG9nOjpMb2dFbnRyeSwgdDIKKyAgICBzdG9yZXAgdDIsIFR5cGVQcm9maWxlckxv
Zzo6bV9jdXJyZW50TG9nRW50cnlQdHJbdDFdCisKKyAgICBsb2FkcCBUeXBlUHJvZmlsZXJMb2c6
Om1fbG9nRW5kUHRyW3QxXSwgdDEKKyAgICBicG5lcSB0MiwgdDEsIC5vcFByb2ZpbGVUeXBlRG9u
ZQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3Byb2ZpbGVfdHlwZV9jbGVhcl9s
b2cpCisKKy5vcFByb2ZpbGVUeXBlRG9uZToKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfcHJv
ZmlsZV90eXBlX2xlbmd0aCkKKworX2xsaW50X29wX3Byb2ZpbGVfY29udHJvbF9mbG93OgorICAg
IHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbigxLCB0MCkKKyAgICBh
ZGRxIDEsIEJhc2ljQmxvY2tMb2NhdGlvbjo6bV9leGVjdXRpb25Db3VudFt0MF0KKyAgICBkaXNw
YXRjaChjb25zdGV4cHIgb3BfcHJvZmlsZV9jb250cm9sX2Zsb3dfbGVuZ3RoKQorCisKK19sbGlu
dF9vcF9nZXRfcmVzdF9sZW5ndGg6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpIFBh
eWxvYWRPZmZzZXQgKyBBcmd1bWVudENvdW50W2Nmcl0sIHQwCisgICAgc3ViaSAxLCB0MAorICAg
IGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MSkKKyAgICBiaWx0ZXEgdDAsIHQxLCAuc3RvcmVa
ZXJvCisgICAgc3ViaSB0MSwgdDAKKyAgICBqbXAgLmJveFVwCisuc3RvcmVaZXJvOgorICAgIG1v
dmUgMCwgdDAKKy5ib3hVcDoKKyAgICBvcnEgdGFnVHlwZU51bWJlciwgdDAKKyAgICBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MSwgOF0KKyAgICBk
aXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X3Jlc3RfbGVuZ3RoX2xlbmd0aCkKKworCitfbGxpbnRf
b3BfbG9nX3NoYWRvd19jaGlja2VuX3Byb2xvZ3VlOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBhY3F1aXJlU2hhZG93Q2hpY2tlblBhY2tldCgub3BMb2dTaGFkb3dDaGlja2VuUHJvbG9ndWVT
bG93KQorICAgIHN0b3JlcCBjZnIsIFNoYWRvd0NoaWNrZW46OlBhY2tldDo6ZnJhbWVbdDBdCisg
ICAgbG9hZHAgQ2FsbGVyRnJhbWVbY2ZyXSwgdDEKKyAgICBzdG9yZXAgdDEsIFNoYWRvd0NoaWNr
ZW46OlBhY2tldDo6Y2FsbGVyRnJhbWVbdDBdCisgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQxCisg
ICAgc3RvcmVwIHQxLCBTaGFkb3dDaGlja2VuOjpQYWNrZXQ6OmNhbGxlZVt0MF0KKyAgICBsb2Fk
VmFyaWFibGUoMSwgdDEpCisgICAgc3RvcmVwIHQxLCBTaGFkb3dDaGlja2VuOjpQYWNrZXQ6OnNj
b3BlW3QwXQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9sb2dfc2hhZG93X2NoaWNrZW5fcHJv
bG9ndWVfbGVuZ3RoKQorLm9wTG9nU2hhZG93Q2hpY2tlblByb2xvZ3VlU2xvdzoKKyAgICBjYWxs
T3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9sb2dfc2hhZG93X2NoaWNrZW5fcHJvbG9n
dWUpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2xvZ19zaGFkb3dfY2hpY2tlbl9wcm9sb2d1
ZV9sZW5ndGgpCisKKworX2xsaW50X29wX2xvZ19zaGFkb3dfY2hpY2tlbl90YWlsOgorICAgIHRy
YWNlRXhlY3V0aW9uKCkKKyAgICBhY3F1aXJlU2hhZG93Q2hpY2tlblBhY2tldCgub3BMb2dTaGFk
b3dDaGlja2VuVGFpbFNsb3cpCisgICAgc3RvcmVwIGNmciwgU2hhZG93Q2hpY2tlbjo6UGFja2V0
OjpmcmFtZVt0MF0KKyAgICBzdG9yZXAgU2hhZG93Q2hpY2tlblRhaWxNYXJrZXIsIFNoYWRvd0No
aWNrZW46OlBhY2tldDo6Y2FsbGVlW3QwXQorICAgIGxvYWRWYXJpYWJsZSgxLCB0MSkKKyAgICBz
dG9yZXAgdDEsIFNoYWRvd0NoaWNrZW46OlBhY2tldDo6dGhpc1ZhbHVlW3QwXQorICAgIGxvYWRW
YXJpYWJsZSgyLCB0MSkKKyAgICBzdG9yZXAgdDEsIFNoYWRvd0NoaWNrZW46OlBhY2tldDo6c2Nv
cGVbdDBdCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQxCisgICAgc3RvcmVwIHQxLCBTaGFk
b3dDaGlja2VuOjpQYWNrZXQ6OmNvZGVCbG9ja1t0MF0KKyAgICBzdG9yZWkgUEMsIFNoYWRvd0No
aWNrZW46OlBhY2tldDo6Y2FsbFNpdGVJbmRleFt0MF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIg
b3BfbG9nX3NoYWRvd19jaGlja2VuX3RhaWxfbGVuZ3RoKQorLm9wTG9nU2hhZG93Q2hpY2tlblRh
aWxTbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2xvZ19zaGFk
b3dfY2hpY2tlbl90YWlsKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9sb2dfc2hhZG93X2No
aWNrZW5fdGFpbF9sZW5ndGgpCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL1JleEJlbmNoL09mZmxp
bmVBc3NlbWJsZXIvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZv
cm1hbmNlVGVzdHMvUmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9Mb3dMZXZlbEludGVycHJldGVy
NjQuanMJKG5vbmV4aXN0ZW50KQorKysgUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5jaC9PZmZsaW5l
QXNzZW1ibGVyL0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDI0OTggQEAKKy8qCisgKiBETyBOT1QgRURJVCBUSElTIEZJTEUsIGl0IGlzIGF1dG9nZW5l
cmF0ZWQuCisgKi8KKyJ1c2Ugc3RyaWN0IjsKKworKGZ1bmN0aW9uKCkgeworICAgIGxldCBzb3Vy
Y2UgPSBgIyBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorIyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBcYFxgQVMgSVMnJworIyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorIyBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
IyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyMgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyMgQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyMg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorIyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworIyBV
dGlsaXRpZXMuCittYWNybyBqdW1wVG9JbnN0cnVjdGlvbigpCisgICAgam1wIFtQQiwgUEMsIDhd
CitlbmQKKworbWFjcm8gZGlzcGF0Y2goYWR2YW5jZSkKKyAgICBhZGRwIGFkdmFuY2UsIFBDCisg
ICAganVtcFRvSW5zdHJ1Y3Rpb24oKQorZW5kCisKK21hY3JvIGRpc3BhdGNoSW50KGFkdmFuY2Up
CisgICAgYWRkaSBhZHZhbmNlLCBQQworICAgIGp1bXBUb0luc3RydWN0aW9uKCkKK2VuZAorCitt
YWNybyBkaXNwYXRjaEludEluZGlyZWN0KG9mZnNldCkKKyAgICBkaXNwYXRjaEludChvZmZzZXQg
KiA4W1BCLCBQQywgOF0pCitlbmQKKworbWFjcm8gZGlzcGF0Y2hBZnRlckNhbGwoKQorICAgIGxv
YWRpIEFyZ3VtZW50Q291bnQgKyBUYWdPZmZzZXRbY2ZyXSwgUEMKKyAgICBsb2FkcCBDb2RlQmxv
Y2tbY2ZyXSwgUEIKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1Y3Rpb25zW1BCXSwgUEIK
KyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgc3RvcmVxIHIwLCBbY2ZyLCB0
MSwgOF0KKyAgICB2YWx1ZVByb2ZpbGUocjAsIChDYWxsT3BDb2RlU2l6ZSAtIDEpLCB0MykKKyAg
ICBkaXNwYXRjaChDYWxsT3BDb2RlU2l6ZSkKK2VuZAorCittYWNybyBjQ2FsbDIoZnVuY3Rpb24p
CisgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDQsIDB4YmFkMGMwMDIpCisgICAgaWYg
WDg2XzY0IG9yIEFSTTY0CisgICAgICAgIGNhbGwgZnVuY3Rpb24KKyAgICBlbHNpZiBYODZfNjRf
V0lOCisgICAgICAgICMgTm90ZTogdGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBvbmx5IGNvcnJlY3Qg
aWYgdGhlIHJldHVybiB0eXBlIHNpemUgaXMgPiA4IGJ5dGVzLgorICAgICAgICAjIFNlZSBtYWNy
byBjQ2FsbDJWb2lkIGZvciBhbiBpbXBsZW1lbnRhdGlvbiB3aGVuIHRoZSByZXR1cm4gdHlwZSA8
PSA4IGJ5dGVzLgorICAgICAgICAjIE9uIFdpbjY0LCB3aGVuIHRoZSByZXR1cm4gdHlwZSBpcyBs
YXJnZXIgdGhhbiA4IGJ5dGVzLCB3ZSBuZWVkIHRvIGFsbG9jYXRlIHNwYWNlIG9uIHRoZSBzdGFj
ayBmb3IgdGhlIHJldHVybiB2YWx1ZS4KKyAgICAgICAgIyBPbiBlbnRyeSByY3ggKGEwKSwgc2hv
dWxkIGNvbnRhaW4gYSBwb2ludGVyIHRvIHRoaXMgc3RhY2sgc3BhY2UuIFRoZSBvdGhlciBwYXJh
bWV0ZXJzIGFyZSBzaGlmdGVkIHRvIHRoZSByaWdodCwKKyAgICAgICAgIyByZHggKGExKSBzaG91
bGQgY29udGFpbiB0aGUgZmlyc3QgYXJndW1lbnQsIGFuZCByOCAoYTIpIHNob3VsZCBjb250YWlu
IHRoZSBzZWNvbmQgYXJndW1lbnQuCisgICAgICAgICMgT24gcmV0dXJuLCByYXggY29udGFpbnMg
YSBwb2ludGVyIHRvIHRoaXMgc3RhY2sgdmFsdWUsIGFuZCB3ZSB0aGVuIG5lZWQgdG8gY29weSB0
aGUgMTYgYnl0ZSByZXR1cm4gdmFsdWUgaW50byByYXggKHIwKSBhbmQgcmR4IChyMSkKKyAgICAg
ICAgIyBzaW5jZSB0aGUgcmV0dXJuIHZhbHVlIGlzIGV4cGVjdGVkIHRvIGJlIHNwbGl0IGJldHdl
ZW4gdGhlIHR3by4KKyAgICAgICAgIyBTZWUgaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11
cy9saWJyYXJ5Lzc1NzJ6dHo0LmFzcHgKKyAgICAgICAgbW92ZSBhMSwgYTIKKyAgICAgICAgbW92
ZSBhMCwgYTEKKyAgICAgICAgc3VicCA0OCwgc3AKKyAgICAgICAgbW92ZSBzcCwgYTAKKyAgICAg
ICAgYWRkcCAzMiwgYTAKKyAgICAgICAgY2FsbCBmdW5jdGlvbgorICAgICAgICBhZGRwIDQ4LCBz
cAorICAgICAgICBtb3ZlIDhbcjBdLCByMQorICAgICAgICBtb3ZlIFtyMF0sIHIwCisgICAgZWxz
aWYgQ19MT09QCisgICAgICAgIGNsb29wQ2FsbFNsb3dQYXRoIGZ1bmN0aW9uLCBhMCwgYTEKKyAg
ICBlbHNlCisgICAgICAgIGVycm9yCisgICAgZW5kCitlbmQKKworbWFjcm8gY0NhbGwyVm9pZChm
dW5jdGlvbikKKyAgICBpZiBDX0xPT1AKKyAgICAgICAgY2xvb3BDYWxsU2xvd1BhdGhWb2lkIGZ1
bmN0aW9uLCBhMCwgYTEKKyAgICBlbHNpZiBYODZfNjRfV0lOCisgICAgICAgICMgTm90ZTogd2Ug
Y2Fubm90IHVzZSB0aGUgY0NhbGwyIG1hY3JvIGZvciBXaW42NCBpbiB0aGlzIGNhc2UsCisgICAg
ICAgICMgYXMgdGhlIFdpbjY0IGNDYWxsMiBpbXBsZW1lbmF0aW9uIGlzIG9ubHkgY29ycmVjdCB3
aGVuIHRoZSByZXR1cm4gdHlwZSBzaXplIGlzID4gOCBieXRlcy4KKyAgICAgICAgIyBPbiBXaW42
NCwgcmN4IGFuZCByZHggYXJlIHVzZWQgZm9yIHBhc3NpbmcgdGhlIGZpcnN0IHR3byBwYXJhbWV0
ZXJzLgorICAgICAgICAjIFdlIGFsc28gbmVlZCB0byBtYWtlIHJvb20gb24gdGhlIHN0YWNrIGZv
ciBhbGwgZm91ciBwYXJhbWV0ZXIgcmVnaXN0ZXJzLgorICAgICAgICAjIFNlZSBodHRwOi8vbXNk
bi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvbXMyMzUyODYuYXNweAorICAgICAgICBzdWJw
IDMyLCBzcCAKKyAgICAgICAgY2FsbCBmdW5jdGlvbgorICAgICAgICBhZGRwIDMyLCBzcCAKKyAg
ICBlbHNlCisgICAgICAgIGNDYWxsMihmdW5jdGlvbikKKyAgICBlbmQKK2VuZAorCisjIFRoaXMg
YmFyZWx5IHdvcmtzLiBhcmczIGFuZCBhcmc0IHNob3VsZCBwcm9iYWJseSBiZSBpbW1lZGlhdGVz
LgorbWFjcm8gY0NhbGw0KGZ1bmN0aW9uKQorICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50
KHQ0LCAweGJhZDBjMDA0KQorICAgIGlmIFg4Nl82NCBvciBBUk02NAorICAgICAgICBjYWxsIGZ1
bmN0aW9uCisgICAgZWxzaWYgWDg2XzY0X1dJTgorICAgICAgICAjIE9uIFdpbjY0LCByY3gsIHJk
eCwgcjgsIGFuZCByOSBhcmUgdXNlZCBmb3IgcGFzc2luZyB0aGUgZmlyc3QgZm91ciBwYXJhbWV0
ZXJzLgorICAgICAgICAjIFdlIGFsc28gbmVlZCB0byBtYWtlIHJvb20gb24gdGhlIHN0YWNrIGZv
ciBhbGwgZm91ciBwYXJhbWV0ZXIgcmVnaXN0ZXJzLgorICAgICAgICAjIFNlZSBodHRwOi8vbXNk
bi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvbXMyMzUyODYuYXNweAorICAgICAgICBzdWJw
IDY0LCBzcAorICAgICAgICBjYWxsIGZ1bmN0aW9uCisgICAgICAgIGFkZHAgNjQsIHNwCisgICAg
ZWxzZQorICAgICAgICBlcnJvcgorICAgIGVuZAorZW5kCisKK21hY3JvIGRvVk1FbnRyeShtYWtl
Q2FsbCkKKyAgICBmdW5jdGlvblByb2xvZ3VlKCkKKyAgICBwdXNoQ2FsbGVlU2F2ZXMoKQorCisg
ICAgY29uc3QgZW50cnkgPSBhMAorICAgIGNvbnN0IHZtID0gYTEKKyAgICBjb25zdCBwcm90b0Nh
bGxGcmFtZSA9IGEyCisKKyAgICB2bUVudHJ5UmVjb3JkKGNmciwgc3ApCisKKyAgICBjaGVja1N0
YWNrUG9pbnRlckFsaWdubWVudCh0NCwgMHhiYWQwZGMwMSkKKworICAgIHN0b3JlcCB2bSwgVk1F
bnRyeVJlY29yZDo6bV92bVtzcF0KKyAgICBsb2FkcCBWTTo6dG9wQ2FsbEZyYW1lW3ZtXSwgdDQK
KyAgICBzdG9yZXAgdDQsIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcENhbGxGcmFtZVtzcF0KKyAg
ICBsb2FkcCBWTTo6dG9wVk1FbnRyeUZyYW1lW3ZtXSwgdDQKKyAgICBzdG9yZXAgdDQsIFZNRW50
cnlSZWNvcmQ6Om1fcHJldlRvcFZNRW50cnlGcmFtZVtzcF0KKworICAgIGxvYWRpIFByb3RvQ2Fs
bEZyYW1lOjpwYWRkZWRBcmdDb3VudFtwcm90b0NhbGxGcmFtZV0sIHQ0CisgICAgYWRkcCBDYWxs
RnJhbWVIZWFkZXJTbG90cywgdDQsIHQ0CisgICAgbHNoaWZ0cCAzLCB0NAorICAgIHN1YnAgc3As
IHQ0LCB0MworICAgIGJxYmVxIHNwLCB0MywgLnRocm93U3RhY2tPdmVyZmxvdworCisgICAgIyBF
bnN1cmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBhZGRpdGlvbmFsIHN0YWNrIGNhcGFjaXR5IGZvciB0
aGUgaW5jb21pbmcgYXJncywKKyAgICAjIGFuZCB0aGUgZnJhbWUgZm9yIHRoZSBKUyBjb2RlIHdl
J3JlIGV4ZWN1dGluZy4gV2UgbmVlZCB0byBkbyB0aGlzIGNoZWNrCisgICAgIyBiZWZvcmUgd2Ug
c3RhcnQgY29weWluZyB0aGUgYXJncyBmcm9tIHRoZSBwcm90b0NhbGxGcmFtZSBiZWxvdy4KKyAg
ICBpZiBDX0xPT1AKKyAgICAgICAgYnBhZXEgdDMsIFZNOjptX2Nsb29wU3RhY2tMaW1pdFt2bV0s
IC5zdGFja0hlaWdodE9LCisgICAgZWxzZQorICAgICAgICBicGFlcSB0MywgVk06Om1fc29mdFN0
YWNrTGltaXRbdm1dLCAuc3RhY2tIZWlnaHRPSworICAgIGVuZAorCisgICAgaWYgQ19MT09QCisg
ICAgICAgIG1vdmUgZW50cnksIHQ0CisgICAgICAgIG1vdmUgdm0sIHQ1CisgICAgICAgIGNsb29w
Q2FsbFNsb3dQYXRoIF9sbGludF9zdGFja19jaGVja19hdF92bV9lbnRyeSwgdm0sIHQzCisgICAg
ICAgIGJwZXEgdDAsIDAsIC5zdGFja0NoZWNrRmFpbGVkCisgICAgICAgIG1vdmUgdDQsIGVudHJ5
CisgICAgICAgIG1vdmUgdDUsIHZtCisgICAgICAgIGptcCAuc3RhY2tIZWlnaHRPSworCisuc3Rh
Y2tDaGVja0ZhaWxlZDoKKyAgICAgICAgbW92ZSB0NCwgZW50cnkKKyAgICAgICAgbW92ZSB0NSwg
dm0KKyAgICBlbmQKKworLnRocm93U3RhY2tPdmVyZmxvdzoKKyAgICBtb3ZlIHZtLCBhMAorICAg
IG1vdmUgcHJvdG9DYWxsRnJhbWUsIGExCisgICAgY0NhbGwyKF9sbGludF90aHJvd19zdGFja19v
dmVyZmxvd19lcnJvcikKKworICAgIHZtRW50cnlSZWNvcmQoY2ZyLCB0NCkKKworICAgIGxvYWRw
IFZNRW50cnlSZWNvcmQ6Om1fdm1bdDRdLCB2bQorICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1f
cHJldlRvcENhbGxGcmFtZVt0NF0sIGV4dHJhVGVtcFJlZworICAgIHN0b3JlcCBleHRyYVRlbXBS
ZWcsIFZNOjp0b3BDYWxsRnJhbWVbdm1dCisgICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6bV9wcmV2
VG9wVk1FbnRyeUZyYW1lW3Q0XSwgZXh0cmFUZW1wUmVnCisgICAgc3RvcmVwIGV4dHJhVGVtcFJl
ZywgVk06OnRvcFZNRW50cnlGcmFtZVt2bV0KKworICAgIHN1YnAgY2ZyLCBDYWxsZWVSZWdpc3Rl
clNhdmVTaXplLCBzcAorCisgICAgcG9wQ2FsbGVlU2F2ZXMoKQorICAgIGZ1bmN0aW9uRXBpbG9n
dWUoKQorICAgIHJldAorCisuc3RhY2tIZWlnaHRPSzoKKyAgICBtb3ZlIHQzLCBzcAorICAgIG1v
dmUgNCwgdDMKKworLmNvcHlIZWFkZXJMb29wOgorICAgICMgQ29weSB0aGUgQ29kZUJsb2NrL0Nh
bGxlZS9Bcmd1bWVudENvdW50L3x0aGlzfCBmcm9tIHByb3RvQ2FsbEZyYW1lIGludG8gdGhlIGNh
bGxlZSBmcmFtZS4KKyAgICBzdWJpIDEsIHQzCisgICAgbG9hZHEgW3Byb3RvQ2FsbEZyYW1lLCB0
MywgOF0sIGV4dHJhVGVtcFJlZworICAgIHN0b3JlcSBleHRyYVRlbXBSZWcsIENvZGVCbG9ja1tz
cCwgdDMsIDhdCisgICAgYnRpbnogdDMsIC5jb3B5SGVhZGVyTG9vcAorCisgICAgbG9hZGkgUGF5
bG9hZE9mZnNldCArIFByb3RvQ2FsbEZyYW1lOjphcmdDb3VudEFuZENvZGVPcmlnaW5WYWx1ZVtw
cm90b0NhbGxGcmFtZV0sIHQ0CisgICAgc3ViaSAxLCB0NAorICAgIGxvYWRpIFByb3RvQ2FsbEZy
YW1lOjpwYWRkZWRBcmdDb3VudFtwcm90b0NhbGxGcmFtZV0sIGV4dHJhVGVtcFJlZworICAgIHN1
YmkgMSwgZXh0cmFUZW1wUmVnCisKKyAgICBiaWVxIHQ0LCBleHRyYVRlbXBSZWcsIC5jb3B5QXJn
cworICAgIG1vdmUgVmFsdWVVbmRlZmluZWQsIHQzCisuZmlsbEV4dHJhQXJnc0xvb3A6CisgICAg
c3ViaSAxLCBleHRyYVRlbXBSZWcKKyAgICBzdG9yZXEgdDMsIFRoaXNBcmd1bWVudE9mZnNldCAr
IDhbc3AsIGV4dHJhVGVtcFJlZywgOF0KKyAgICBiaW5lcSB0NCwgZXh0cmFUZW1wUmVnLCAuZmls
bEV4dHJhQXJnc0xvb3AKKworLmNvcHlBcmdzOgorICAgIGxvYWRwIFByb3RvQ2FsbEZyYW1lOjph
cmdzW3Byb3RvQ2FsbEZyYW1lXSwgdDMKKworLmNvcHlBcmdzTG9vcDoKKyAgICBidGl6IHQ0LCAu
Y29weUFyZ3NEb25lCisgICAgc3ViaSAxLCB0NAorICAgIGxvYWRxIFt0MywgdDQsIDhdLCBleHRy
YVRlbXBSZWcKKyAgICBzdG9yZXEgZXh0cmFUZW1wUmVnLCBUaGlzQXJndW1lbnRPZmZzZXQgKyA4
W3NwLCB0NCwgOF0KKyAgICBqbXAgLmNvcHlBcmdzTG9vcAorCisuY29weUFyZ3NEb25lOgorICAg
IGlmIEFSTTY0CisgICAgICAgIG1vdmUgc3AsIHQ0CisgICAgICAgIHN0b3JlcCB0NCwgVk06OnRv
cENhbGxGcmFtZVt2bV0KKyAgICBlbHNlCisgICAgICAgIHN0b3JlcCBzcCwgVk06OnRvcENhbGxG
cmFtZVt2bV0KKyAgICBlbmQKKyAgICBzdG9yZXAgY2ZyLCBWTTo6dG9wVk1FbnRyeUZyYW1lW3Zt
XQorCisgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoZXh0cmFUZW1wUmVnLCAweGJhZDBk
YzAyKQorCisgICAgbWFrZUNhbGwoZW50cnksIHQzKQorCisgICAgIyBXZSBtYXkgaGF2ZSBqdXN0
IG1hZGUgYSBjYWxsIGludG8gYSBKUyBmdW5jdGlvbiwgc28gd2UgY2FuJ3QgcmVseSBvbiBzcAor
ICAgICMgZm9yIGFueXRoaW5nIGJ1dCB0aGUgZmFjdCB0aGF0IG91ciBvd24gbG9jYWxzIChpZSB0
aGUgVk1FbnRyeVJlY29yZCkgYXJlCisgICAgIyBub3QgYmVsb3cgaXQuIEl0IGFsc28gc3RpbGwg
aGFzIHRvIGJlIGFsaWduZWQsIHRob3VnaC4KKyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVu
dCh0MiwgMHhiYWQwZGMwMykKKworICAgIHZtRW50cnlSZWNvcmQoY2ZyLCB0NCkKKworICAgIGxv
YWRwIFZNRW50cnlSZWNvcmQ6Om1fdm1bdDRdLCB2bQorICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6
Om1fcHJldlRvcENhbGxGcmFtZVt0NF0sIHQyCisgICAgc3RvcmVwIHQyLCBWTTo6dG9wQ2FsbEZy
YW1lW3ZtXQorICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcFZNRW50cnlGcmFtZVt0
NF0sIHQyCisgICAgc3RvcmVwIHQyLCBWTTo6dG9wVk1FbnRyeUZyYW1lW3ZtXQorCisgICAgc3Vi
cCBjZnIsIENhbGxlZVJlZ2lzdGVyU2F2ZVNpemUsIHNwCisKKyAgICBwb3BDYWxsZWVTYXZlcygp
CisgICAgZnVuY3Rpb25FcGlsb2d1ZSgpCisKKyAgICByZXQKK2VuZAorCisKK21hY3JvIG1ha2VK
YXZhU2NyaXB0Q2FsbChlbnRyeSwgdGVtcCkKKyAgICBhZGRwIDE2LCBzcAorICAgIGlmIENfTE9P
UAorICAgICAgICBjbG9vcENhbGxKU0Z1bmN0aW9uIGVudHJ5CisgICAgZWxzZQorICAgICAgICBj
YWxsIGVudHJ5CisgICAgZW5kCisgICAgc3VicCAxNiwgc3AKK2VuZAorCisKK21hY3JvIG1ha2VI
b3N0RnVuY3Rpb25DYWxsKGVudHJ5LCB0ZW1wKQorICAgIG1vdmUgZW50cnksIHRlbXAKKyAgICBz
dG9yZXAgY2ZyLCBbc3BdCisgICAgbW92ZSBzcCwgYTAKKyAgICBpZiBDX0xPT1AKKyAgICAgICAg
c3RvcmVwIGxyLCA4W3NwXQorICAgICAgICBjbG9vcENhbGxOYXRpdmUgdGVtcAorICAgIGVsc2lm
IFg4Nl82NF9XSU4KKyAgICAgICAgIyBXZSBuZWVkIHRvIGFsbG9jYXRlIDMyIGJ5dGVzIG9uIHRo
ZSBzdGFjayBmb3IgdGhlIHNoYWRvdyBzcGFjZS4KKyAgICAgICAgc3VicCAzMiwgc3AKKyAgICAg
ICAgY2FsbCB0ZW1wCisgICAgICAgIGFkZHAgMzIsIHNwCisgICAgZWxzZQorICAgICAgICBjYWxs
IHRlbXAKKyAgICBlbmQKK2VuZAorCisKK19oYW5kbGVVbmNhdWdodEV4Y2VwdGlvbjoKKyAgICBs
b2FkcCBDYWxsZWVbY2ZyXSwgdDMKKyAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKKyAgICBs
b2FkcCBNYXJrZWRCbG9jazo6bV92bVt0M10sIHQzCisgICAgcmVzdG9yZUNhbGxlZVNhdmVzRnJv
bVZNRW50cnlGcmFtZUNhbGxlZVNhdmVzQnVmZmVyKHQzLCB0MCkKKyAgICBsb2FkcCBWTTo6Y2Fs
bEZyYW1lRm9yQ2F0Y2hbdDNdLCBjZnIKKyAgICBzdG9yZXAgMCwgVk06OmNhbGxGcmFtZUZvckNh
dGNoW3QzXQorCisgICAgbG9hZHAgQ2FsbGVyRnJhbWVbY2ZyXSwgY2ZyCisgICAgdm1FbnRyeVJl
Y29yZChjZnIsIHQyKQorCisgICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6bV92bVt0Ml0sIHQzCisg
ICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wQ2FsbEZyYW1lW3QyXSwgZXh0cmFUZW1w
UmVnCisgICAgc3RvcmVwIGV4dHJhVGVtcFJlZywgVk06OnRvcENhbGxGcmFtZVt0M10KKyAgICBs
b2FkcCBWTUVudHJ5UmVjb3JkOjptX3ByZXZUb3BWTUVudHJ5RnJhbWVbdDJdLCBleHRyYVRlbXBS
ZWcKKyAgICBzdG9yZXAgZXh0cmFUZW1wUmVnLCBWTTo6dG9wVk1FbnRyeUZyYW1lW3QzXQorCisg
ICAgc3VicCBjZnIsIENhbGxlZVJlZ2lzdGVyU2F2ZVNpemUsIHNwCisKKyAgICBwb3BDYWxsZWVT
YXZlcygpCisgICAgZnVuY3Rpb25FcGlsb2d1ZSgpCisgICAgcmV0CisKKworbWFjcm8gcHJlcGFy
ZVN0YXRlRm9yQ0NhbGwoKQorICAgIGxlYXAgW1BCLCBQQywgOF0sIFBDCitlbmQKKworbWFjcm8g
cmVzdG9yZVN0YXRlQWZ0ZXJDQ2FsbCgpCisgICAgbW92ZSByMCwgUEMKKyAgICBzdWJwIFBCLCBQ
QworICAgIHJzaGlmdHAgMywgUEMKK2VuZAorCittYWNybyBjYWxsU2xvd1BhdGgoc2xvd1BhdGgp
CisgICAgcHJlcGFyZVN0YXRlRm9yQ0NhbGwoKQorICAgIG1vdmUgY2ZyLCBhMAorICAgIG1vdmUg
UEMsIGExCisgICAgY0NhbGwyKHNsb3dQYXRoKQorICAgIHJlc3RvcmVTdGF0ZUFmdGVyQ0NhbGwo
KQorZW5kCisKK21hY3JvIHRyYWNlT3BlcmFuZChmcm9tV2hlcmUsIG9wZXJhbmQpCisgICAgcHJl
cGFyZVN0YXRlRm9yQ0NhbGwoKQorICAgIG1vdmUgZnJvbVdoZXJlLCBhMgorICAgIG1vdmUgb3Bl
cmFuZCwgYTMKKyAgICBtb3ZlIGNmciwgYTAKKyAgICBtb3ZlIFBDLCBhMQorICAgIGNDYWxsNChf
bGxpbnRfdHJhY2Vfb3BlcmFuZCkKKyAgICByZXN0b3JlU3RhdGVBZnRlckNDYWxsKCkKK2VuZAor
CittYWNybyB0cmFjZVZhbHVlKGZyb21XaGVyZSwgb3BlcmFuZCkKKyAgICBwcmVwYXJlU3RhdGVG
b3JDQ2FsbCgpCisgICAgbW92ZSBmcm9tV2hlcmUsIGEyCisgICAgbW92ZSBvcGVyYW5kLCBhMwor
ICAgIG1vdmUgY2ZyLCBhMAorICAgIG1vdmUgUEMsIGExCisgICAgY0NhbGw0KF9sbGludF90cmFj
ZV92YWx1ZSkKKyAgICByZXN0b3JlU3RhdGVBZnRlckNDYWxsKCkKK2VuZAorCisjIENhbGwgYSBz
bG93IHBhdGggZm9yIGNhbGwgY2FsbCBvcGNvZGVzLgorbWFjcm8gY2FsbENhbGxTbG93UGF0aChz
bG93UGF0aCwgYWN0aW9uKQorICAgIHN0b3JlaSBQQywgQXJndW1lbnRDb3VudCArIFRhZ09mZnNl
dFtjZnJdCisgICAgcHJlcGFyZVN0YXRlRm9yQ0NhbGwoKQorICAgIG1vdmUgY2ZyLCBhMAorICAg
IG1vdmUgUEMsIGExCisgICAgY0NhbGwyKHNsb3dQYXRoKQorICAgIGFjdGlvbihyMCwgcjEpCitl
bmQKKworbWFjcm8gY2FsbFRyYXBIYW5kbGVyKHRocm93SGFuZGxlcikKKyAgICBzdG9yZWkgUEMs
IEFyZ3VtZW50Q291bnQgKyBUYWdPZmZzZXRbY2ZyXQorICAgIHByZXBhcmVTdGF0ZUZvckNDYWxs
KCkKKyAgICBtb3ZlIGNmciwgYTAKKyAgICBtb3ZlIFBDLCBhMQorICAgIGNDYWxsMihfbGxpbnRf
c2xvd19wYXRoX2hhbmRsZV90cmFwcykKKyAgICBidHBueiByMCwgdGhyb3dIYW5kbGVyCisgICAg
bG9hZGkgQXJndW1lbnRDb3VudCArIFRhZ09mZnNldFtjZnJdLCBQQworZW5kCisKK21hY3JvIGNo
ZWNrU3dpdGNoVG9KSVRGb3JMb29wKCkKKyAgICBjaGVja1N3aXRjaFRvSklUKAorICAgICAgICAx
LAorICAgICAgICBtYWNybygpCisgICAgICAgICAgICBzdG9yZWkgUEMsIEFyZ3VtZW50Q291bnQg
KyBUYWdPZmZzZXRbY2ZyXQorICAgICAgICAgICAgcHJlcGFyZVN0YXRlRm9yQ0NhbGwoKQorICAg
ICAgICAgICAgbW92ZSBjZnIsIGEwCisgICAgICAgICAgICBtb3ZlIFBDLCBhMQorICAgICAgICAg
ICAgY0NhbGwyKF9sbGludF9sb29wX29zcikKKyAgICAgICAgICAgIGJ0cHogcjAsIC5yZWNvdmVy
CisgICAgICAgICAgICBtb3ZlIHIxLCBzcAorICAgICAgICAgICAgam1wIHIwCisgICAgICAgIC5y
ZWNvdmVyOgorICAgICAgICAgICAgbG9hZGkgQXJndW1lbnRDb3VudCArIFRhZ09mZnNldFtjZnJd
LCBQQworICAgICAgICBlbmQpCitlbmQKKworbWFjcm8gbG9hZENhZ2VkKGJhc2VQdHIsIHNvdXJj
ZSwgZGVzdCwgc2NyYXRjaCkKKyAgICBsb2FkcCBzb3VyY2UsIGRlc3QKKyAgICBpZiBHSUdBQ0FH
RV9FTkFCTEVEIGFuZCBub3QgQ19MT09QCisgICAgICAgIGxvYWRwIGJhc2VQdHIsIHNjcmF0Y2gK
KyAgICAgICAgYnRweiBzY3JhdGNoLCAuZG9uZQorICAgICAgICBhbmRwIGNvbnN0ZXhwciBHSUdB
Q0FHRV9NQVNLLCBkZXN0CisgICAgICAgIGFkZHAgc2NyYXRjaCwgZGVzdAorICAgIC5kb25lOgor
ICAgIGVuZAorZW5kCisKK21hY3JvIGxvYWRWYXJpYWJsZShvcGVyYW5kLCB2YWx1ZSkKKyAgICBs
b2FkaXNGcm9tSW5zdHJ1Y3Rpb24ob3BlcmFuZCwgdmFsdWUpCisgICAgbG9hZHEgW2NmciwgdmFs
dWUsIDhdLCB2YWx1ZQorZW5kCisKKyMgSW5kZXggYW5kIHZhbHVlIG11c3QgYmUgZGlmZmVyZW50
IHJlZ2lzdGVycy4gSW5kZXggbWF5IGJlIGNsb2JiZXJlZC4KK21hY3JvIGxvYWRDb25zdGFudE9y
VmFyaWFibGUoaW5kZXgsIHZhbHVlKQorICAgIGJwZ3RlcSBpbmRleCwgRmlyc3RDb25zdGFudFJl
Z2lzdGVySW5kZXgsIC5jb25zdGFudAorICAgIGxvYWRxIFtjZnIsIGluZGV4LCA4XSwgdmFsdWUK
KyAgICBqbXAgLmRvbmUKKy5jb25zdGFudDoKKyAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdmFs
dWUKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fY29uc3RhbnRSZWdpc3RlcnMgKyBWZWN0b3JCdWZm
ZXJPZmZzZXRbdmFsdWVdLCB2YWx1ZQorICAgIHN1YnAgRmlyc3RDb25zdGFudFJlZ2lzdGVySW5k
ZXgsIGluZGV4CisgICAgbG9hZHEgW3ZhbHVlLCBpbmRleCwgOF0sIHZhbHVlCisuZG9uZToKK2Vu
ZAorCittYWNybyBsb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzIoaW5kZXgsIHZhbHVlLCBzbG93
KQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUoaW5kZXgsIHZhbHVlKQorICAgIGJxYiB2YWx1
ZSwgdGFnVHlwZU51bWJlciwgc2xvdworZW5kCisKK21hY3JvIGxvYWRDb25zdGFudE9yVmFyaWFi
bGVDZWxsKGluZGV4LCB2YWx1ZSwgc2xvdykKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKGlu
ZGV4LCB2YWx1ZSkKKyAgICBidHFueiB2YWx1ZSwgdGFnTWFzaywgc2xvdworZW5kCisKK21hY3Jv
IHdyaXRlQmFycmllck9uT3BlcmFuZChjZWxsT3BlcmFuZCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oY2VsbE9wZXJhbmQsIHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsKHQx
LCB0MiwgLndyaXRlQmFycmllckRvbmUpCisgICAgc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW4o
CisgICAgICAgIHQyLAorICAgICAgICBtYWNybygpCisgICAgICAgICAgICBwdXNoIFBCLCBQQwor
ICAgICAgICAgICAgbW92ZSB0MiwgYTEgIyB0MiBjYW4gYmUgYTAgKG5vdCBvbiA2NCBiaXRzLCBi
dXQgYmV0dGVyIHNhZmUgdGhhbiBzb3JyeSkKKyAgICAgICAgICAgIG1vdmUgY2ZyLCBhMAorICAg
ICAgICAgICAgY0NhbGwyVm9pZChfbGxpbnRfd3JpdGVfYmFycmllcl9zbG93KQorICAgICAgICAg
ICAgcG9wIFBDLCBQQgorICAgICAgICBlbmQpCisud3JpdGVCYXJyaWVyRG9uZToKK2VuZAorCitt
YWNybyB3cml0ZUJhcnJpZXJPbk9wZXJhbmRzKGNlbGxPcGVyYW5kLCB2YWx1ZU9wZXJhbmQpCisg
ICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKHZhbHVlT3BlcmFuZCwgdDEpCisgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZUNlbGwodDEsIHQwLCAud3JpdGVCYXJyaWVyRG9uZSkKKyAgICBidHB6IHQw
LCAud3JpdGVCYXJyaWVyRG9uZQorCisgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kKGNlbGxPcGVy
YW5kKQorLndyaXRlQmFycmllckRvbmU6CitlbmQKKworbWFjcm8gd3JpdGVCYXJyaWVyT25HbG9i
YWwodmFsdWVPcGVyYW5kLCBsb2FkSGVscGVyKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbih2
YWx1ZU9wZXJhbmQsIHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsKHQxLCB0MCwg
LndyaXRlQmFycmllckRvbmUpCisgICAgYnRweiB0MCwgLndyaXRlQmFycmllckRvbmUKKworICAg
IGxvYWRIZWxwZXIodDMpCisgICAgc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW4oCisgICAgICAg
IHQzLAorICAgICAgICBtYWNybygpCisgICAgICAgICAgICBwdXNoIFBCLCBQQworICAgICAgICAg
ICAgbW92ZSBjZnIsIGEwCisgICAgICAgICAgICBtb3ZlIHQzLCBhMQorICAgICAgICAgICAgY0Nh
bGwyVm9pZChfbGxpbnRfd3JpdGVfYmFycmllcl9zbG93KQorICAgICAgICAgICAgcG9wIFBDLCBQ
QgorICAgICAgICBlbmQKKyAgICApCisud3JpdGVCYXJyaWVyRG9uZToKK2VuZAorCittYWNybyB3
cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdCh2YWx1ZU9wZXJhbmQpCisgICAgd3JpdGVCYXJyaWVy
T25HbG9iYWwodmFsdWVPcGVyYW5kLAorICAgICAgICBtYWNybyhyZWdpc3RlclRvU3RvcmVHbG9i
YWwpCisgICAgICAgICAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgcmVnaXN0ZXJUb1N0b3JlR2xv
YmFsCisgICAgICAgICAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2JqZWN0W3JlZ2lzdGVy
VG9TdG9yZUdsb2JhbF0sIHJlZ2lzdGVyVG9TdG9yZUdsb2JhbAorICAgICAgICBlbmQpCitlbmQK
KworbWFjcm8gd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQodmFsdWVPcGVy
YW5kKQorICAgIHdyaXRlQmFycmllck9uR2xvYmFsKHZhbHVlT3BlcmFuZCwKKyAgICAgICAgbWFj
cm8ocmVnaXN0ZXJUb1N0b3JlR2xvYmFsKQorICAgICAgICAgICAgbG9hZHAgQ29kZUJsb2NrW2Nm
cl0sIHJlZ2lzdGVyVG9TdG9yZUdsb2JhbAorICAgICAgICAgICAgbG9hZHAgQ29kZUJsb2NrOjpt
X2dsb2JhbE9iamVjdFtyZWdpc3RlclRvU3RvcmVHbG9iYWxdLCByZWdpc3RlclRvU3RvcmVHbG9i
YWwKKyAgICAgICAgICAgIGxvYWRwIEpTR2xvYmFsT2JqZWN0OjptX2dsb2JhbExleGljYWxFbnZp
cm9ubWVudFtyZWdpc3RlclRvU3RvcmVHbG9iYWxdLCByZWdpc3RlclRvU3RvcmVHbG9iYWwKKyAg
ICAgICAgZW5kKQorZW5kCisKK21hY3JvIHZhbHVlUHJvZmlsZSh2YWx1ZSwgb3BlcmFuZCwgc2Ny
YXRjaCkKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbihvcGVyYW5kLCBzY3JhdGNoKQorICAgIHN0
b3JlcSB2YWx1ZSwgVmFsdWVQcm9maWxlOjptX2J1Y2tldHNbc2NyYXRjaF0KK2VuZAorCittYWNy
byBzdHJ1Y3R1cmVJRFRvU3RydWN0dXJlV2l0aFNjcmF0Y2goc3RydWN0dXJlSURUaGVuU3RydWN0
dXJlLCBzY3JhdGNoKQorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCBzY3JhdGNoCisgICAgbG9h
ZHAgQ29kZUJsb2NrOjptX3ZtW3NjcmF0Y2hdLCBzY3JhdGNoCisgICAgbG9hZHAgVk06OmhlYXAg
KyBIZWFwOjptX3N0cnVjdHVyZUlEVGFibGUgKyBTdHJ1Y3R1cmVJRFRhYmxlOjptX3RhYmxlW3Nj
cmF0Y2hdLCBzY3JhdGNoCisgICAgbG9hZHAgW3NjcmF0Y2gsIHN0cnVjdHVyZUlEVGhlblN0cnVj
dHVyZSwgOF0sIHN0cnVjdHVyZUlEVGhlblN0cnVjdHVyZQorZW5kCisKK21hY3JvIGxvYWRTdHJ1
Y3R1cmVXaXRoU2NyYXRjaChjZWxsLCBzdHJ1Y3R1cmUsIHNjcmF0Y2gpCisgICAgbG9hZGkgSlND
ZWxsOjptX3N0cnVjdHVyZUlEW2NlbGxdLCBzdHJ1Y3R1cmUKKyAgICBzdHJ1Y3R1cmVJRFRvU3Ry
dWN0dXJlV2l0aFNjcmF0Y2goc3RydWN0dXJlLCBzY3JhdGNoKQorZW5kCisKK21hY3JvIGxvYWRT
dHJ1Y3R1cmVBbmRDbG9iYmVyRmlyc3RBcmcoY2VsbCwgc3RydWN0dXJlKQorICAgIGxvYWRpIEpT
Q2VsbDo6bV9zdHJ1Y3R1cmVJRFtjZWxsXSwgc3RydWN0dXJlCisgICAgbG9hZHAgQ29kZUJsb2Nr
W2Nmcl0sIGNlbGwKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fdm1bY2VsbF0sIGNlbGwKKyAgICBs
b2FkcCBWTTo6aGVhcCArIEhlYXA6Om1fc3RydWN0dXJlSURUYWJsZSArIFN0cnVjdHVyZUlEVGFi
bGU6Om1fdGFibGVbY2VsbF0sIGNlbGwKKyAgICBsb2FkcCBbY2VsbCwgc3RydWN0dXJlLCA4XSwg
c3RydWN0dXJlCitlbmQKKworIyBFbnRyeXBvaW50cyBpbnRvIHRoZSBpbnRlcnByZXRlci4KKwor
IyBFeHBlY3RzIHRoYXQgQ29kZUJsb2NrIGlzIGluIHQxLCB3aGljaCBpcyB3aGF0IHByb2xvZ3Vl
KCkgbGVhdmVzIGJlaGluZC4KK21hY3JvIGZ1bmN0aW9uQXJpdHlDaGVjayhkb25lTGFiZWwsIHNs
b3dQYXRoKQorICAgIGxvYWRpIFBheWxvYWRPZmZzZXQgKyBBcmd1bWVudENvdW50W2Nmcl0sIHQw
CisgICAgYmlhZXEgdDAsIENvZGVCbG9jazo6bV9udW1QYXJhbWV0ZXJzW3QxXSwgZG9uZUxhYmVs
CisgICAgcHJlcGFyZVN0YXRlRm9yQ0NhbGwoKQorICAgIG1vdmUgY2ZyLCBhMAorICAgIG1vdmUg
UEMsIGExCisgICAgY0NhbGwyKHNsb3dQYXRoKSAgICMgVGhpcyBzbG93UGF0aCBoYXMgdGhlIHBy
b3RvY29sOiByMCA9IDAgPT4gbm8gZXJyb3IsIHIwICE9IDAgPT4gZXJyb3IKKyAgICBidGl6IHIw
LCAubm9FcnJvcgorICAgIG1vdmUgcjEsIGNmciAgICMgcjEgY29udGFpbnMgY2FsbGVyIGZyYW1l
CisgICAgam1wIF9sbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lCisKKy5ub0Vy
cm9yOgorICAgIGxvYWRpIENvbW1vblNsb3dQYXRoczo6QXJpdHlDaGVja0RhdGE6OnBhZGRlZFN0
YWNrU3BhY2VbcjFdLCB0MQorICAgIGJ0aXogdDEsIC5jb250aW51ZQorICAgIGxvYWRpIFBheWxv
YWRPZmZzZXQgKyBBcmd1bWVudENvdW50W2Nmcl0sIHQyCisgICAgYWRkaSBDYWxsRnJhbWVIZWFk
ZXJTbG90cywgdDIKKworICAgIC8vIENoZWNrIGlmIHRoZXJlIGFyZSBzb21lIHVuYWxpZ25lZCBz
bG90cyB3ZSBjYW4gdXNlCisgICAgbW92ZSB0MSwgdDMKKyAgICBhbmRpIFN0YWNrQWxpZ25tZW50
U2xvdHMgLSAxLCB0MworICAgIGJ0aXogdDMsIC5ub0V4dHJhU2xvdAorICAgIG1vdmUgVmFsdWVV
bmRlZmluZWQsIHQwCisuZmlsbEV4dHJhU2xvdHM6CisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0Miwg
OF0KKyAgICBhZGRpIDEsIHQyCisgICAgYnN1YmlueiAxLCB0MywgLmZpbGxFeHRyYVNsb3RzCisg
ICAgYW5kaSB+KFN0YWNrQWxpZ25tZW50U2xvdHMgLSAxKSwgdDEKKyAgICBidGl6IHQxLCAuY29u
dGludWUKKworLm5vRXh0cmFTbG90OgorICAgIC8vIE1vdmUgZnJhbWUgdXAgdDEgc2xvdHMKKyAg
ICBuZWdxIHQxCisgICAgbW92ZSBjZnIsIHQzCisgICAgc3VicCBDYWxsZWVTYXZlU3BhY2VBc1Zp
cnR1YWxSZWdpc3RlcnMgKiA4LCB0MworICAgIGFkZGkgQ2FsbGVlU2F2ZVNwYWNlQXNWaXJ0dWFs
UmVnaXN0ZXJzLCB0MgorICAgIG1vdmUgdDEsIHQwCisgICAgbHNoaWZ0cCAzLCB0MAorICAgIGFk
ZHAgdDAsIGNmcgorICAgIGFkZHAgdDAsIHNwCisuY29weUxvb3A6CisgICAgbG9hZHEgW3QzXSwg
dDAKKyAgICBzdG9yZXEgdDAsIFt0MywgdDEsIDhdCisgICAgYWRkcCA4LCB0MworICAgIGJzdWJp
bnogMSwgdDIsIC5jb3B5TG9vcAorCisgICAgLy8gRmlsbCBuZXcgc2xvdHMgd2l0aCBKU1VuZGVm
aW5lZAorICAgIG1vdmUgdDEsIHQyCisgICAgbW92ZSBWYWx1ZVVuZGVmaW5lZCwgdDAKKy5maWxs
TG9vcDoKKyAgICBzdG9yZXEgdDAsIFt0MywgdDEsIDhdCisgICAgYWRkcCA4LCB0MworICAgIGJh
ZGRpbnogMSwgdDIsIC5maWxsTG9vcAorCisuY29udGludWU6CisgICAgIyBSZWxvYWQgQ29kZUJs
b2NrIGFuZCByZXNldCBQQywgc2luY2UgdGhlIHNsb3dfcGF0aCBjbG9iYmVyZWQgdGhlbS4KKyAg
ICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDEKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1
Y3Rpb25zW3QxXSwgUEIKKyAgICBtb3ZlIDAsIFBDCisgICAgam1wIGRvbmVMYWJlbAorZW5kCisK
K21hY3JvIGJyYW5jaElmRXhjZXB0aW9uKGxhYmVsKQorICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0
MworICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MworICAgIGxvYWRwIE1hcmtlZEJsb2NrOjpt
X3ZtW3QzXSwgdDMKKyAgICBidHF6IFZNOjptX2V4Y2VwdGlvblt0M10sIC5ub0V4Y2VwdGlvbgor
ICAgIGptcCBsYWJlbAorLm5vRXhjZXB0aW9uOgorZW5kCisKKworIyBJbnN0cnVjdGlvbiBpbXBs
ZW1lbnRhdGlvbnMKK19sbGludF9vcF9lbnRlcjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAg
Y2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDIsIDB4ZGVhZDAwZTEpCisgICAgbG9hZHAgQ29k
ZUJsb2NrW2Nmcl0sIHQyICAgICAgICAgICAgICAgIC8vIHQyPENvZGVCbG9jaz4gPSBjZnIuQ29k
ZUJsb2NrCisgICAgbG9hZGkgQ29kZUJsb2NrOjptX251bVZhcnNbdDJdLCB0MiAgICAgIC8vIHQy
PHNpemVfdD4gPSB0MjxDb2RlQmxvY2s+Lm1fbnVtVmFycworICAgIHN1YnEgQ2FsbGVlU2F2ZVNw
YWNlQXNWaXJ0dWFsUmVnaXN0ZXJzLCB0MgorICAgIG1vdmUgY2ZyLCB0MQorICAgIHN1YnEgQ2Fs
bGVlU2F2ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJzICogOCwgdDEKKyAgICBidGl6IHQyLCAub3BF
bnRlckRvbmUKKyAgICBtb3ZlIFZhbHVlVW5kZWZpbmVkLCB0MAorICAgIG5lZ2kgdDIKKyAgICBz
eGkycSB0MiwgdDIKKy5vcEVudGVyTG9vcDoKKyAgICBzdG9yZXEgdDAsIFt0MSwgdDIsIDhdCisg
ICAgYWRkcSAxLCB0MgorICAgIGJ0cW56IHQyLCAub3BFbnRlckxvb3AKKy5vcEVudGVyRG9uZToK
KyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9lbnRlcikKKyAgICBkaXNwYXRjaChj
b25zdGV4cHIgb3BfZW50ZXJfbGVuZ3RoKQorCisKK19sbGludF9vcF9nZXRfYXJndW1lbnQ6Cisg
ICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKKyAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDIpCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldCAr
IEFyZ3VtZW50Q291bnRbY2ZyXSwgdDAKKyAgICBiaWx0ZXEgdDAsIHQyLCAub3BHZXRBcmd1bWVu
dE91dE9mQm91bmRzCisgICAgbG9hZHEgVGhpc0FyZ3VtZW50T2Zmc2V0W2NmciwgdDIsIDhdLCB0
MAorICAgIHN0b3JlcSB0MCwgW2NmciwgdDEsIDhdCisgICAgdmFsdWVQcm9maWxlKHQwLCAzLCB0
MikKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2FyZ3VtZW50X2xlbmd0aCkKKworLm9w
R2V0QXJndW1lbnRPdXRPZkJvdW5kczoKKyAgICBzdG9yZXEgVmFsdWVVbmRlZmluZWQsIFtjZnIs
IHQxLCA4XQorICAgIHZhbHVlUHJvZmlsZShWYWx1ZVVuZGVmaW5lZCwgMywgdDIpCisgICAgZGlz
cGF0Y2goY29uc3RleHByIG9wX2dldF9hcmd1bWVudF9sZW5ndGgpCisKKworX2xsaW50X29wX2Fy
Z3VtZW50X2NvdW50OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oMSwgdDEpCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldCArIEFyZ3VtZW50Q291bnRbY2Zy
XSwgdDAKKyAgICBzdWJpIDEsIHQwCisgICAgb3JxIFRhZ1R5cGVOdW1iZXIsIHQwCisgICAgc3Rv
cmVxIHQwLCBbY2ZyLCB0MSwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfYXJndW1lbnRf
Y291bnRfbGVuZ3RoKQorCisKK19sbGludF9vcF9nZXRfc2NvcGU6CisgICAgdHJhY2VFeGVjdXRp
b24oKQorICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0MAorICAgIGxvYWRwIEpTQ2FsbGVlOjptX3Nj
b3BlW3QwXSwgdDAKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgc3RvcmVx
IHQwLCBbY2ZyLCB0MSwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X3Njb3BlX2xl
bmd0aCkKKworCitfbGxpbnRfb3BfdG9fdGhpczoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAg
bG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKQorICAgIGxvYWRxIFtjZnIsIHQwLCA4XSwgdDAK
KyAgICBidHFueiB0MCwgdGFnTWFzaywgLm9wVG9UaGlzU2xvdworICAgIGJibmVxIEpTQ2VsbDo6
bV90eXBlW3QwXSwgRmluYWxPYmplY3RUeXBlLCAub3BUb1RoaXNTbG93CisgICAgbG9hZFN0cnVj
dHVyZVdpdGhTY3JhdGNoKHQwLCB0MSwgdDIpCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oMiwg
dDIpCisgICAgYnBuZXEgdDEsIHQyLCAub3BUb1RoaXNTbG93CisgICAgZGlzcGF0Y2goY29uc3Rl
eHByIG9wX3RvX3RoaXNfbGVuZ3RoKQorCisub3BUb1RoaXNTbG93OgorICAgIGNhbGxPcGNvZGVT
bG93UGF0aChfc2xvd19wYXRoX3RvX3RoaXMpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3Rv
X3RoaXNfbGVuZ3RoKQorCisKK19sbGludF9vcF9jaGVja190ZHo6CisgICAgdHJhY2VFeGVjdXRp
b24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MCkKKyAgICBsb2FkQ29uc3RhbnRP
clZhcmlhYmxlKHQwLCB0MSkKKyAgICBicW5lcSB0MSwgVmFsdWVFbXB0eSwgLm9wTm90VERaCisg
ICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfdGhyb3dfdGR6X2Vycm9yKQorCisub3BO
b3RURFo6CisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2NoZWNrX3Rkel9sZW5ndGgpCisKKwor
X2xsaW50X29wX21vdjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGlzRnJvbUluc3Ry
dWN0aW9uKDIsIHQxKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MCkKKyAgICBsb2Fk
Q29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MikKKyAgICBzdG9yZXEgdDIsIFtjZnIsIHQwLCA4XQor
ICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9tb3ZfbGVuZ3RoKQorCisKK19sbGludF9vcF9ub3Q6
CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkK
KyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgbG9hZENvbnN0YW50T3JWYXJp
YWJsZSh0MCwgdDIpCisgICAgeG9ycSBWYWx1ZUZhbHNlLCB0MgorICAgIGJ0cW56IHQyLCB+MSwg
Lm9wTm90U2xvdworICAgIHhvcnEgVmFsdWVUcnVlLCB0MgorICAgIHN0b3JlcSB0MiwgW2Nmciwg
dDEsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX25vdF9sZW5ndGgpCisKKy5vcE5vdFNs
b3c6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfbm90KQorICAgIGRpc3BhdGNo
KGNvbnN0ZXhwciBvcF9ub3RfbGVuZ3RoKQorCisKK21hY3JvIGVxdWFsaXR5Q29tcGFyaXNvbihp
bnRlZ2VyQ29tcGFyaXNvbiwgc2xvd1BhdGgpCisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxv
YWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwg
dDIpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQzKQorICAgIGxvYWRDb25zdGFudE9y
VmFyaWFibGVJbnQzMih0MCwgdDEsIC5zbG93KQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVJ
bnQzMih0MiwgdDAsIC5zbG93KQorICAgIGludGVnZXJDb21wYXJpc29uKHQwLCB0MSwgdDApCisg
ICAgb3JxIFZhbHVlRmFsc2UsIHQwCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MywgOF0KKyAgICBk
aXNwYXRjaCg0KQorCisuc2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoc2xvd1BhdGgpCisg
ICAgZGlzcGF0Y2goNCkKK2VuZAorCitfbGxpbnRfb3BfZXE6CisgICAgZXF1YWxpdHlDb21wYXJp
c29uKAorICAgICAgICBtYWNybyAobGVmdCwgcmlnaHQsIHJlc3VsdCkgY2llcSBsZWZ0LCByaWdo
dCwgcmVzdWx0IGVuZCwKKyAgICAgICAgX3Nsb3dfcGF0aF9lcSkKKworCitfbGxpbnRfb3BfbmVx
OgorICAgIGVxdWFsaXR5Q29tcGFyaXNvbigKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0LCBy
ZXN1bHQpIGNpbmVxIGxlZnQsIHJpZ2h0LCByZXN1bHQgZW5kLAorICAgICAgICBfc2xvd19wYXRo
X25lcSkKKworCittYWNybyBlcXVhbE51bGxDb21wYXJpc29uKCkKKyAgICBsb2FkaXNGcm9tSW5z
dHJ1Y3Rpb24oMiwgdDApCisgICAgbG9hZHEgW2NmciwgdDAsIDhdLCB0MAorICAgIGJ0cW56IHQw
LCB0YWdNYXNrLCAuaW1tZWRpYXRlCisgICAgYnRibnogSlNDZWxsOjptX2ZsYWdzW3QwXSwgTWFz
cXVlcmFkZXNBc1VuZGVmaW5lZCwgLm1hc3F1ZXJhZGVzQXNVbmRlZmluZWQKKyAgICBtb3ZlIDAs
IHQwCisgICAgam1wIC5kb25lCisubWFzcXVlcmFkZXNBc1VuZGVmaW5lZDoKKyAgICBsb2FkU3Ry
dWN0dXJlV2l0aFNjcmF0Y2godDAsIHQyLCB0MSkKKyAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwg
dDAKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2JqZWN0W3QwXSwgdDAKKyAgICBjcGVx
IFN0cnVjdHVyZTo6bV9nbG9iYWxPYmplY3RbdDJdLCB0MCwgdDAKKyAgICBqbXAgLmRvbmUKKy5p
bW1lZGlhdGU6CisgICAgYW5kcSB+VGFnQml0VW5kZWZpbmVkLCB0MAorICAgIGNxZXEgdDAsIFZh
bHVlTnVsbCwgdDAKKy5kb25lOgorZW5kCisKK19sbGludF9vcF9lcV9udWxsOgorICAgIHRyYWNl
RXhlY3V0aW9uKCkKKyAgICBlcXVhbE51bGxDb21wYXJpc29uKCkKKyAgICBsb2FkaXNGcm9tSW5z
dHJ1Y3Rpb24oMSwgdDEpCisgICAgb3JxIFZhbHVlRmFsc2UsIHQwCisgICAgc3RvcmVxIHQwLCBb
Y2ZyLCB0MSwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZXFfbnVsbF9sZW5ndGgpCisK
KworX2xsaW50X29wX25lcV9udWxsOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBlcXVhbE51
bGxDb21wYXJpc29uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgeG9y
cSBWYWx1ZVRydWUsIHQwCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MSwgOF0KKyAgICBkaXNwYXRj
aChjb25zdGV4cHIgb3BfbmVxX251bGxfbGVuZ3RoKQorCisKK21hY3JvIHN0cmljdEVxKGVxdWFs
aXR5T3BlcmF0aW9uLCBzbG93UGF0aCkKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGlz
RnJvbUluc3RydWN0aW9uKDMsIHQwKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MikK
KyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQwLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlKHQyLCB0MCkKKyAgICBtb3ZlIHQwLCB0MgorICAgIG9ycSB0MSwgdDIKKyAgICBidHF6
IHQyLCB0YWdNYXNrLCAuc2xvdworICAgIGJxYWVxIHQwLCB0YWdUeXBlTnVtYmVyLCAubGVmdE9L
CisgICAgYnRxbnogdDAsIHRhZ1R5cGVOdW1iZXIsIC5zbG93CisubGVmdE9LOgorICAgIGJxYWVx
IHQxLCB0YWdUeXBlTnVtYmVyLCAucmlnaHRPSworICAgIGJ0cW56IHQxLCB0YWdUeXBlTnVtYmVy
LCAuc2xvdworLnJpZ2h0T0s6CisgICAgZXF1YWxpdHlPcGVyYXRpb24odDAsIHQxLCB0MCkKKyAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgb3JxIFZhbHVlRmFsc2UsIHQwCisg
ICAgc3RvcmVxIHQwLCBbY2ZyLCB0MSwgOF0KKyAgICBkaXNwYXRjaCg0KQorCisuc2xvdzoKKyAg
ICBjYWxsT3Bjb2RlU2xvd1BhdGgoc2xvd1BhdGgpCisgICAgZGlzcGF0Y2goNCkKK2VuZAorCitf
bGxpbnRfb3Bfc3RyaWN0ZXE6CisgICAgc3RyaWN0RXEoCisgICAgICAgIG1hY3JvIChsZWZ0LCBy
aWdodCwgcmVzdWx0KSBjcWVxIGxlZnQsIHJpZ2h0LCByZXN1bHQgZW5kLAorICAgICAgICBfc2xv
d19wYXRoX3N0cmljdGVxKQorCisKK19sbGludF9vcF9uc3RyaWN0ZXE6CisgICAgc3RyaWN0RXEo
CisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwgcmVzdWx0KSBjcW5lcSBsZWZ0LCByaWdodCwg
cmVzdWx0IGVuZCwKKyAgICAgICAgX3Nsb3dfcGF0aF9uc3RyaWN0ZXEpCisKKworbWFjcm8gcHJl
T3AoYXJpdGhtZXRpY09wZXJhdGlvbiwgc2xvd1BhdGgpCisgICAgdHJhY2VFeGVjdXRpb24oKQor
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MCkKKyAgICBsb2FkcSBbY2ZyLCB0MCwgOF0s
IHQxCisgICAgYnFiIHQxLCB0YWdUeXBlTnVtYmVyLCAuc2xvdworICAgIGFyaXRobWV0aWNPcGVy
YXRpb24odDEsIC5zbG93KQorICAgIG9ycSB0YWdUeXBlTnVtYmVyLCB0MQorICAgIHN0b3JlcSB0
MSwgW2NmciwgdDAsIDhdCisgICAgZGlzcGF0Y2goMikKKworLnNsb3c6CisgICAgY2FsbE9wY29k
ZVNsb3dQYXRoKHNsb3dQYXRoKQorICAgIGRpc3BhdGNoKDIpCitlbmQKKworX2xsaW50X29wX2lu
YzoKKyAgICBwcmVPcCgKKyAgICAgICAgbWFjcm8gKHZhbHVlLCBzbG93KSBiYWRkaW8gMSwgdmFs
dWUsIHNsb3cgZW5kLAorICAgICAgICBfc2xvd19wYXRoX2luYykKKworCitfbGxpbnRfb3BfZGVj
OgorICAgIHByZU9wKAorICAgICAgICBtYWNybyAodmFsdWUsIHNsb3cpIGJzdWJpbyAxLCB2YWx1
ZSwgc2xvdyBlbmQsCisgICAgICAgIF9zbG93X3BhdGhfZGVjKQorCisKK19sbGludF9vcF90b19u
dW1iZXI6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigy
LCB0MCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgbG9hZENvbnN0YW50
T3JWYXJpYWJsZSh0MCwgdDIpCisgICAgYnFhZXEgdDIsIHRhZ1R5cGVOdW1iZXIsIC5vcFRvTnVt
YmVySXNJbW1lZGlhdGUKKyAgICBidHF6IHQyLCB0YWdUeXBlTnVtYmVyLCAub3BUb051bWJlclNs
b3cKKy5vcFRvTnVtYmVySXNJbW1lZGlhdGU6CisgICAgc3RvcmVxIHQyLCBbY2ZyLCB0MSwgOF0K
KyAgICB2YWx1ZVByb2ZpbGUodDIsIDMsIHQwKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF90
b19udW1iZXJfbGVuZ3RoKQorCisub3BUb051bWJlclNsb3c6CisgICAgY2FsbE9wY29kZVNsb3dQ
YXRoKF9zbG93X3BhdGhfdG9fbnVtYmVyKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF90b19u
dW1iZXJfbGVuZ3RoKQorCisKK19sbGludF9vcF90b19zdHJpbmc6CisgICAgdHJhY2VFeGVjdXRp
b24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MSkKKyAgICBsb2FkaXNGcm9tSW5z
dHJ1Y3Rpb24oMSwgdDIpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDApCisgICAg
YnRxbnogdDAsIHRhZ01hc2ssIC5vcFRvU3RyaW5nU2xvdworICAgIGJibmVxIEpTQ2VsbDo6bV90
eXBlW3QwXSwgU3RyaW5nVHlwZSwgLm9wVG9TdHJpbmdTbG93Cisub3BUb1N0cmluZ0lzU3RyaW5n
OgorICAgIHN0b3JlcSB0MCwgW2NmciwgdDIsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9w
X3RvX3N0cmluZ19sZW5ndGgpCisKKy5vcFRvU3RyaW5nU2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xv
d1BhdGgoX3Nsb3dfcGF0aF90b19zdHJpbmcpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3Rv
X3N0cmluZ19sZW5ndGgpCisKKworX2xsaW50X29wX25lZ2F0ZToKKyAgICB0cmFjZUV4ZWN1dGlv
bigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQwKQorICAgIGxvYWRpc0Zyb21JbnN0
cnVjdGlvbigxLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQwLCB0MykKKyAgICBs
b2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDIpCisgICAgYnFiIHQzLCB0YWdUeXBlTnVtYmVyLCAu
b3BOZWdhdGVOb3RJbnQKKyAgICBidGl6IHQzLCAweDdmZmZmZmZmLCAub3BOZWdhdGVTbG93Cisg
ICAgbmVnaSB0MworICAgIG9yaSBBcml0aFByb2ZpbGVJbnQsIHQyCisgICAgb3JxIHRhZ1R5cGVO
dW1iZXIsIHQzCisgICAgc3RvcmVpc1RvSW5zdHJ1Y3Rpb24odDIsIDMpCisgICAgc3RvcmVxIHQz
LCBbY2ZyLCB0MSwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfbmVnYXRlX2xlbmd0aCkK
Ky5vcE5lZ2F0ZU5vdEludDoKKyAgICBidHF6IHQzLCB0YWdUeXBlTnVtYmVyLCAub3BOZWdhdGVT
bG93CisgICAgeG9ycSAweDgwMDAwMDAwMDAwMDAwMDAsIHQzCisgICAgb3JpIEFyaXRoUHJvZmls
ZU51bWJlciwgdDIKKyAgICBzdG9yZXEgdDMsIFtjZnIsIHQxLCA4XQorICAgIHN0b3JlaXNUb0lu
c3RydWN0aW9uKHQyLCAzKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9uZWdhdGVfbGVuZ3Ro
KQorCisub3BOZWdhdGVTbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX25l
Z2F0ZSkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfbmVnYXRlX2xlbmd0aCkKKworCittYWNy
byBiaW5hcnlPcEN1c3RvbVN0b3JlKGludGVnZXJPcGVyYXRpb25BbmRTdG9yZSwgZG91YmxlT3Bl
cmF0aW9uLCBzbG93UGF0aCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDApCisgICAg
bG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQyKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUo
dDAsIHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDIsIHQwKQorICAgIGJxYiB0MCwg
dGFnVHlwZU51bWJlciwgLm9wMU5vdEludAorICAgIGJxYiB0MSwgdGFnVHlwZU51bWJlciwgLm9w
Mk5vdEludAorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MikKKyAgICBpbnRlZ2VyT3Bl
cmF0aW9uQW5kU3RvcmUodDEsIHQwLCAuc2xvdywgdDIpCisgICAgbG9hZGlzRnJvbUluc3RydWN0
aW9uKDQsIHQxKQorICAgIG9yaSBBcml0aFByb2ZpbGVJbnRJbnQsIHQxCisgICAgc3RvcmVpc1Rv
SW5zdHJ1Y3Rpb24odDEsIDQpCisgICAgZGlzcGF0Y2goNSkKKworLm9wMU5vdEludDoKKyAgICAj
IEZpcnN0IG9wZXJhbmQgaXMgZGVmaW5pdGVseSBub3QgYW4gaW50LCB0aGUgc2Vjb25kIG9wZXJh
bmQgY291bGQgYmUgYW55dGhpbmcuCisgICAgYnRxeiB0MCwgdGFnVHlwZU51bWJlciwgLnNsb3cK
KyAgICBicWFlcSB0MSwgdGFnVHlwZU51bWJlciwgLm9wMU5vdEludE9wMkludAorICAgIGJ0cXog
dDEsIHRhZ1R5cGVOdW1iZXIsIC5zbG93CisgICAgYWRkcSB0YWdUeXBlTnVtYmVyLCB0MQorICAg
IGZxMmQgdDEsIGZ0MQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0MikKKyAgICBvcmkg
QXJpdGhQcm9maWxlTnVtYmVyTnVtYmVyLCB0MgorICAgIHN0b3JlaXNUb0luc3RydWN0aW9uKHQy
LCA0KQorICAgIGptcCAub3AxTm90SW50UmVhZHkKKy5vcDFOb3RJbnRPcDJJbnQ6CisgICAgbG9h
ZGlzRnJvbUluc3RydWN0aW9uKDQsIHQyKQorICAgIG9yaSBBcml0aFByb2ZpbGVOdW1iZXJJbnQs
IHQyCisgICAgc3RvcmVpc1RvSW5zdHJ1Y3Rpb24odDIsIDQpCisgICAgY2kyZCB0MSwgZnQxCisu
b3AxTm90SW50UmVhZHk6CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQyKQorICAgIGFk
ZHEgdGFnVHlwZU51bWJlciwgdDAKKyAgICBmcTJkIHQwLCBmdDAKKyAgICBkb3VibGVPcGVyYXRp
b24oZnQxLCBmdDApCisgICAgZmQycSBmdDAsIHQwCisgICAgc3VicSB0YWdUeXBlTnVtYmVyLCB0
MAorICAgIHN0b3JlcSB0MCwgW2NmciwgdDIsIDhdCisgICAgZGlzcGF0Y2goNSkKKworLm9wMk5v
dEludDoKKyAgICAjIEZpcnN0IG9wZXJhbmQgaXMgZGVmaW5pdGVseSBhbiBpbnQsIHRoZSBzZWNv
bmQgaXMgZGVmaW5pdGVseSBub3QuCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQyKQor
ICAgIGJ0cXogdDEsIHRhZ1R5cGVOdW1iZXIsIC5zbG93CisgICAgbG9hZGlzRnJvbUluc3RydWN0
aW9uKDQsIHQzKQorICAgIG9yaSBBcml0aFByb2ZpbGVJbnROdW1iZXIsIHQzCisgICAgc3RvcmVp
c1RvSW5zdHJ1Y3Rpb24odDMsIDQpCisgICAgY2kyZCB0MCwgZnQwCisgICAgYWRkcSB0YWdUeXBl
TnVtYmVyLCB0MQorICAgIGZxMmQgdDEsIGZ0MQorICAgIGRvdWJsZU9wZXJhdGlvbihmdDEsIGZ0
MCkKKyAgICBmZDJxIGZ0MCwgdDAKKyAgICBzdWJxIHRhZ1R5cGVOdW1iZXIsIHQwCisgICAgc3Rv
cmVxIHQwLCBbY2ZyLCB0MiwgOF0KKyAgICBkaXNwYXRjaCg1KQorCisuc2xvdzoKKyAgICBjYWxs
T3Bjb2RlU2xvd1BhdGgoc2xvd1BhdGgpCisgICAgZGlzcGF0Y2goNSkKK2VuZAorCittYWNybyBi
aW5hcnlPcChpbnRlZ2VyT3BlcmF0aW9uLCBkb3VibGVPcGVyYXRpb24sIHNsb3dQYXRoKQorICAg
IGJpbmFyeU9wQ3VzdG9tU3RvcmUoCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwgc2xvdywg
aW5kZXgpCisgICAgICAgICAgICBpbnRlZ2VyT3BlcmF0aW9uKGxlZnQsIHJpZ2h0LCBzbG93KQor
ICAgICAgICAgICAgb3JxIHRhZ1R5cGVOdW1iZXIsIHJpZ2h0CisgICAgICAgICAgICBzdG9yZXEg
cmlnaHQsIFtjZnIsIGluZGV4LCA4XQorICAgICAgICBlbmQsCisgICAgICAgIGRvdWJsZU9wZXJh
dGlvbiwgc2xvd1BhdGgpCitlbmQKKworX2xsaW50X29wX2FkZDoKKyAgICB0cmFjZUV4ZWN1dGlv
bigpCisgICAgYmluYXJ5T3AoCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwgc2xvdykgYmFk
ZGlvIGxlZnQsIHJpZ2h0LCBzbG93IGVuZCwKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0KSBh
ZGRkIGxlZnQsIHJpZ2h0IGVuZCwKKyAgICAgICAgX3Nsb3dfcGF0aF9hZGQpCisKKworX2xsaW50
X29wX211bDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgYmluYXJ5T3BDdXN0b21TdG9yZSgK
KyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0LCBzbG93LCBpbmRleCkKKyAgICAgICAgICAgICMg
QXNzdW1lIHQzIGlzIHNjcmF0Y2hhYmxlLgorICAgICAgICAgICAgbW92ZSByaWdodCwgdDMKKyAg
ICAgICAgICAgIGJtdWxpbyBsZWZ0LCB0Mywgc2xvdworICAgICAgICAgICAgYnRpbnogdDMsIC5k
b25lCisgICAgICAgICAgICBiaWx0IGxlZnQsIDAsIHNsb3cKKyAgICAgICAgICAgIGJpbHQgcmln
aHQsIDAsIHNsb3cKKyAgICAgICAgLmRvbmU6CisgICAgICAgICAgICBvcnEgdGFnVHlwZU51bWJl
ciwgdDMKKyAgICAgICAgICAgIHN0b3JlcSB0MywgW2NmciwgaW5kZXgsIDhdCisgICAgICAgIGVu
ZCwKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0KSBtdWxkIGxlZnQsIHJpZ2h0IGVuZCwKKyAg
ICAgICAgX3Nsb3dfcGF0aF9tdWwpCisKKworX2xsaW50X29wX3N1YjoKKyAgICB0cmFjZUV4ZWN1
dGlvbigpCisgICAgYmluYXJ5T3AoCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwgc2xvdykg
YnN1YmlvIGxlZnQsIHJpZ2h0LCBzbG93IGVuZCwKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0
KSBzdWJkIGxlZnQsIHJpZ2h0IGVuZCwKKyAgICAgICAgX3Nsb3dfcGF0aF9zdWIpCisKKworX2xs
aW50X29wX2RpdjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgaWYgWDg2XzY0IG9yIFg4Nl82
NF9XSU4KKyAgICAgICAgYmluYXJ5T3BDdXN0b21TdG9yZSgKKyAgICAgICAgICAgIG1hY3JvIChs
ZWZ0LCByaWdodCwgc2xvdywgaW5kZXgpCisgICAgICAgICAgICAgICAgIyBBc3N1bWUgdDMgaXMg
c2NyYXRjaGFibGUuCisgICAgICAgICAgICAgICAgYnRpeiBsZWZ0LCBzbG93CisgICAgICAgICAg
ICAgICAgYmluZXEgbGVmdCwgLTEsIC5ub3ROZWcyVHdvVGhlMzFEaXZCeU5lZzEKKyAgICAgICAg
ICAgICAgICBiaWVxIHJpZ2h0LCAtMjE0NzQ4MzY0OCwgLnNsb3cKKyAgICAgICAgICAgIC5ub3RO
ZWcyVHdvVGhlMzFEaXZCeU5lZzE6CisgICAgICAgICAgICAgICAgYnRpbnogcmlnaHQsIC5pbnRP
SworICAgICAgICAgICAgICAgIGJpbHQgbGVmdCwgMCwgc2xvdworICAgICAgICAgICAgLmludE9L
OgorICAgICAgICAgICAgICAgIG1vdmUgbGVmdCwgdDMKKyAgICAgICAgICAgICAgICBtb3ZlIHJp
Z2h0LCB0MAorICAgICAgICAgICAgICAgIGNkcWkKKyAgICAgICAgICAgICAgICBpZGl2aSB0Mwor
ICAgICAgICAgICAgICAgIGJ0aW56IHQxLCBzbG93CisgICAgICAgICAgICAgICAgb3JxIHRhZ1R5
cGVOdW1iZXIsIHQwCisgICAgICAgICAgICAgICAgc3RvcmVxIHQwLCBbY2ZyLCBpbmRleCwgOF0K
KyAgICAgICAgICAgIGVuZCwKKyAgICAgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCkgZGl2ZCBs
ZWZ0LCByaWdodCBlbmQsCisgICAgICAgICAgICBfc2xvd19wYXRoX2RpdikKKyAgICBlbHNlCisg
ICAgICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2RpdikKKyAgICAgICAgZGlzcGF0
Y2goY29uc3RleHByIG9wX2Rpdl9sZW5ndGgpCisgICAgZW5kCisKKworbWFjcm8gYml0T3Aob3Bl
cmF0aW9uLCBzbG93UGF0aCwgYWR2YW5jZSkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywg
dDApCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQyKQorICAgIGxvYWRpc0Zyb21JbnN0
cnVjdGlvbigxLCB0MykKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQwLCB0MSkKKyAgICBs
b2FkQ29uc3RhbnRPclZhcmlhYmxlKHQyLCB0MCkKKyAgICBicWIgdDAsIHRhZ1R5cGVOdW1iZXIs
IC5zbG93CisgICAgYnFiIHQxLCB0YWdUeXBlTnVtYmVyLCAuc2xvdworICAgIG9wZXJhdGlvbih0
MSwgdDApCisgICAgb3JxIHRhZ1R5cGVOdW1iZXIsIHQwCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0
MywgOF0KKyAgICBkaXNwYXRjaChhZHZhbmNlKQorCisuc2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xv
d1BhdGgoc2xvd1BhdGgpCisgICAgZGlzcGF0Y2goYWR2YW5jZSkKK2VuZAorCitfbGxpbnRfb3Bf
bHNoaWZ0OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBiaXRPcCgKKyAgICAgICAgbWFjcm8g
KGxlZnQsIHJpZ2h0KSBsc2hpZnRpIGxlZnQsIHJpZ2h0IGVuZCwKKyAgICAgICAgX3Nsb3dfcGF0
aF9sc2hpZnQsCisgICAgICAgIGNvbnN0ZXhwciBvcF9sc2hpZnRfbGVuZ3RoKQorCisKK19sbGlu
dF9vcF9yc2hpZnQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGJpdE9wKAorICAgICAgICBt
YWNybyAobGVmdCwgcmlnaHQpIHJzaGlmdGkgbGVmdCwgcmlnaHQgZW5kLAorICAgICAgICBfc2xv
d19wYXRoX3JzaGlmdCwKKyAgICAgICAgY29uc3RleHByIG9wX3JzaGlmdF9sZW5ndGgpCisKKwor
X2xsaW50X29wX3Vyc2hpZnQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGJpdE9wKAorICAg
ICAgICBtYWNybyAobGVmdCwgcmlnaHQpIHVyc2hpZnRpIGxlZnQsIHJpZ2h0IGVuZCwKKyAgICAg
ICAgX3Nsb3dfcGF0aF91cnNoaWZ0LAorICAgICAgICBjb25zdGV4cHIgb3BfdXJzaGlmdF9sZW5n
dGgpCisKKworX2xsaW50X29wX3Vuc2lnbmVkOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBs
b2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIs
IHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQyKQorICAgIGJpbHQgdDIsIDAs
IC5vcFVuc2lnbmVkU2xvdworICAgIHN0b3JlcSB0MiwgW2NmciwgdDAsIDhdCisgICAgZGlzcGF0
Y2goY29uc3RleHByIG9wX3Vuc2lnbmVkX2xlbmd0aCkKKy5vcFVuc2lnbmVkU2xvdzoKKyAgICBj
YWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF91bnNpZ25lZCkKKyAgICBkaXNwYXRjaChjb25z
dGV4cHIgb3BfdW5zaWduZWRfbGVuZ3RoKQorCisKK19sbGludF9vcF9iaXRhbmQ6CisgICAgdHJh
Y2VFeGVjdXRpb24oKQorICAgIGJpdE9wKAorICAgICAgICBtYWNybyAobGVmdCwgcmlnaHQpIGFu
ZGkgbGVmdCwgcmlnaHQgZW5kLAorICAgICAgICBfc2xvd19wYXRoX2JpdGFuZCwKKyAgICAgICAg
Y29uc3RleHByIG9wX2JpdGFuZF9sZW5ndGgpCisKKworX2xsaW50X29wX2JpdHhvcjoKKyAgICB0
cmFjZUV4ZWN1dGlvbigpCisgICAgYml0T3AoCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCkg
eG9yaSBsZWZ0LCByaWdodCBlbmQsCisgICAgICAgIF9zbG93X3BhdGhfYml0eG9yLAorICAgICAg
ICBjb25zdGV4cHIgb3BfYml0eG9yX2xlbmd0aCkKKworCitfbGxpbnRfb3BfYml0b3I6CisgICAg
dHJhY2VFeGVjdXRpb24oKQorICAgIGJpdE9wKAorICAgICAgICBtYWNybyAobGVmdCwgcmlnaHQp
IG9yaSBsZWZ0LCByaWdodCBlbmQsCisgICAgICAgIF9zbG93X3BhdGhfYml0b3IsCisgICAgICAg
IGNvbnN0ZXhwciBvcF9iaXRvcl9sZW5ndGgpCisKKworX2xsaW50X29wX292ZXJyaWRlc19oYXNf
aW5zdGFuY2U6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlv
bigxLCB0MykKKworICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MSkKKyAgICBsb2FkQ29u
c3RhbnRPclZhcmlhYmxlKHQxLCB0MCkKKyAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDIKKyAg
ICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2JqZWN0W3QyXSwgdDIKKyAgICBsb2FkcCBKU0ds
b2JhbE9iamVjdDo6bV9mdW5jdGlvblByb3RvSGFzSW5zdGFuY2VTeW1ib2xGdW5jdGlvblt0Ml0s
IHQyCisgICAgYnFuZXEgdDAsIHQyLCAub3BPdmVycmlkZXNIYXNJbnN0YW5jZU5vdERlZmF1bHRT
eW1ib2wKKworICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MSkKKyAgICBsb2FkQ29uc3Rh
bnRPclZhcmlhYmxlKHQxLCB0MCkKKyAgICB0YnogSlNDZWxsOjptX2ZsYWdzW3QwXSwgSW1wbGVt
ZW50c0RlZmF1bHRIYXNJbnN0YW5jZSwgdDEKKyAgICBvcnEgVmFsdWVGYWxzZSwgdDEKKyAgICBz
dG9yZXEgdDEsIFtjZnIsIHQzLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9vdmVycmlk
ZXNfaGFzX2luc3RhbmNlX2xlbmd0aCkKKworLm9wT3ZlcnJpZGVzSGFzSW5zdGFuY2VOb3REZWZh
dWx0U3ltYm9sOgorICAgIHN0b3JlcSBWYWx1ZVRydWUsIFtjZnIsIHQzLCA4XQorICAgIGRpc3Bh
dGNoKGNvbnN0ZXhwciBvcF9vdmVycmlkZXNfaGFzX2luc3RhbmNlX2xlbmd0aCkKKworCitfbGxp
bnRfb3BfaW5zdGFuY2VvZl9jdXN0b206CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxP
cGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2luc3RhbmNlb2ZfY3VzdG9tKQorICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciBvcF9pbnN0YW5jZW9mX2N1c3RvbV9sZW5ndGgpCisKKworX2xsaW50
X29wX2lzX2VtcHR5OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oMiwgdDEpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQyKQorICAgIGxvYWRD
b25zdGFudE9yVmFyaWFibGUodDEsIHQwKQorICAgIGNxZXEgdDAsIFZhbHVlRW1wdHksIHQzCisg
ICAgb3JxIFZhbHVlRmFsc2UsIHQzCisgICAgc3RvcmVxIHQzLCBbY2ZyLCB0MiwgOF0KKyAgICBk
aXNwYXRjaChjb25zdGV4cHIgb3BfaXNfZW1wdHlfbGVuZ3RoKQorCisKK19sbGludF9vcF9pc191
bmRlZmluZWQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlv
bigyLCB0MSkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDIpCisgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZSh0MSwgdDApCisgICAgYnRxeiB0MCwgdGFnTWFzaywgLm9wSXNVbmRlZmlu
ZWRDZWxsCisgICAgY3FlcSB0MCwgVmFsdWVVbmRlZmluZWQsIHQzCisgICAgb3JxIFZhbHVlRmFs
c2UsIHQzCisgICAgc3RvcmVxIHQzLCBbY2ZyLCB0MiwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4
cHIgb3BfaXNfdW5kZWZpbmVkX2xlbmd0aCkKKy5vcElzVW5kZWZpbmVkQ2VsbDoKKyAgICBidGJu
eiBKU0NlbGw6Om1fZmxhZ3NbdDBdLCBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkLCAubWFzcXVlcmFk
ZXNBc1VuZGVmaW5lZAorICAgIG1vdmUgVmFsdWVGYWxzZSwgdDEKKyAgICBzdG9yZXEgdDEsIFtj
ZnIsIHQyLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9pc191bmRlZmluZWRfbGVuZ3Ro
KQorLm1hc3F1ZXJhZGVzQXNVbmRlZmluZWQ6CisgICAgbG9hZFN0cnVjdHVyZVdpdGhTY3JhdGNo
KHQwLCB0MywgdDEpCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQxCisgICAgbG9hZHAgQ29k
ZUJsb2NrOjptX2dsb2JhbE9iamVjdFt0MV0sIHQxCisgICAgY3BlcSBTdHJ1Y3R1cmU6Om1fZ2xv
YmFsT2JqZWN0W3QzXSwgdDEsIHQwCisgICAgb3JxIFZhbHVlRmFsc2UsIHQwCisgICAgc3RvcmVx
IHQwLCBbY2ZyLCB0MiwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfaXNfdW5kZWZpbmVk
X2xlbmd0aCkKKworCitfbGxpbnRfb3BfaXNfYm9vbGVhbjoKKyAgICB0cmFjZUV4ZWN1dGlvbigp
CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQxKQorICAgIGxvYWRpc0Zyb21JbnN0cnVj
dGlvbigxLCB0MikKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MCkKKyAgICB4b3Jx
IFZhbHVlRmFsc2UsIHQwCisgICAgdHF6IHQwLCB+MSwgdDAKKyAgICBvcnEgVmFsdWVGYWxzZSwg
dDAKKyAgICBzdG9yZXEgdDAsIFtjZnIsIHQyLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBv
cF9pc19ib29sZWFuX2xlbmd0aCkKKworCitfbGxpbnRfb3BfaXNfbnVtYmVyOgorICAgIHRyYWNl
RXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDEpCisgICAgbG9hZGlz
RnJvbUluc3RydWN0aW9uKDEsIHQyKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQw
KQorICAgIHRxbnogdDAsIHRhZ1R5cGVOdW1iZXIsIHQxCisgICAgb3JxIFZhbHVlRmFsc2UsIHQx
CisgICAgc3RvcmVxIHQxLCBbY2ZyLCB0MiwgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3Bf
aXNfbnVtYmVyX2xlbmd0aCkKKworCitfbGxpbnRfb3BfaXNfY2VsbF93aXRoX3R5cGU6CisgICAg
dHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MCkKKyAgICBs
b2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDEpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEs
IHQyKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQzKQorICAgIGJ0cW56IHQzLCB0
YWdNYXNrLCAubm90Q2VsbENhc2UKKyAgICBjYmVxIEpTQ2VsbDo6bV90eXBlW3QzXSwgdDAsIHQx
CisgICAgb3JxIFZhbHVlRmFsc2UsIHQxCisgICAgc3RvcmVxIHQxLCBbY2ZyLCB0MiwgOF0KKyAg
ICBkaXNwYXRjaChjb25zdGV4cHIgb3BfaXNfY2VsbF93aXRoX3R5cGVfbGVuZ3RoKQorLm5vdENl
bGxDYXNlOgorICAgIHN0b3JlcSBWYWx1ZUZhbHNlLCBbY2ZyLCB0MiwgOF0KKyAgICBkaXNwYXRj
aChjb25zdGV4cHIgb3BfaXNfY2VsbF93aXRoX3R5cGVfbGVuZ3RoKQorCisKK19sbGludF9vcF9p
c19vYmplY3Q6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlv
bigyLCB0MSkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDIpCisgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZSh0MSwgdDApCisgICAgYnRxbnogdDAsIHRhZ01hc2ssIC5vcElzT2JqZWN0
Tm90Q2VsbAorICAgIGNiYWVxIEpTQ2VsbDo6bV90eXBlW3QwXSwgT2JqZWN0VHlwZSwgdDEKKyAg
ICBvcnEgVmFsdWVGYWxzZSwgdDEKKyAgICBzdG9yZXEgdDEsIFtjZnIsIHQyLCA4XQorICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciBvcF9pc19vYmplY3RfbGVuZ3RoKQorLm9wSXNPYmplY3ROb3RDZWxs
OgorICAgIHN0b3JlcSBWYWx1ZUZhbHNlLCBbY2ZyLCB0MiwgOF0KKyAgICBkaXNwYXRjaChjb25z
dGV4cHIgb3BfaXNfb2JqZWN0X2xlbmd0aCkKKworCittYWNybyBsb2FkUHJvcGVydHlBdFZhcmlh
YmxlT2Zmc2V0KHByb3BlcnR5T2Zmc2V0QXNJbnQsIG9iamVjdEFuZFN0b3JhZ2UsIHZhbHVlKQor
ICAgIGJpbHQgcHJvcGVydHlPZmZzZXRBc0ludCwgZmlyc3RPdXRPZkxpbmVPZmZzZXQsIC5pc0lu
bGluZQorICAgIGxvYWRDYWdlZChfZ19qc1ZhbHVlR2lnYWNhZ2VCYXNlUHRyLCBKU09iamVjdDo6
bV9idXR0ZXJmbHlbb2JqZWN0QW5kU3RvcmFnZV0sIG9iamVjdEFuZFN0b3JhZ2UsIHZhbHVlKQor
ICAgIG5lZ2kgcHJvcGVydHlPZmZzZXRBc0ludAorICAgIHN4aTJxIHByb3BlcnR5T2Zmc2V0QXNJ
bnQsIHByb3BlcnR5T2Zmc2V0QXNJbnQKKyAgICBqbXAgLnJlYWR5CisuaXNJbmxpbmU6CisgICAg
YWRkcCBzaXplb2YgSlNPYmplY3QgLSAoZmlyc3RPdXRPZkxpbmVPZmZzZXQgLSAyKSAqIDgsIG9i
amVjdEFuZFN0b3JhZ2UKKy5yZWFkeToKKyAgICBsb2FkcSAoZmlyc3RPdXRPZkxpbmVPZmZzZXQg
LSAyKSAqIDhbb2JqZWN0QW5kU3RvcmFnZSwgcHJvcGVydHlPZmZzZXRBc0ludCwgOF0sIHZhbHVl
CitlbmQKKworCittYWNybyBzdG9yZVByb3BlcnR5QXRWYXJpYWJsZU9mZnNldChwcm9wZXJ0eU9m
ZnNldEFzSW50LCBvYmplY3RBbmRTdG9yYWdlLCB2YWx1ZSwgc2NyYXRjaCkKKyAgICBiaWx0IHBy
b3BlcnR5T2Zmc2V0QXNJbnQsIGZpcnN0T3V0T2ZMaW5lT2Zmc2V0LCAuaXNJbmxpbmUKKyAgICBs
b2FkQ2FnZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwgSlNPYmplY3Q6Om1fYnV0dGVyZmx5
W29iamVjdEFuZFN0b3JhZ2VdLCBvYmplY3RBbmRTdG9yYWdlLCBzY3JhdGNoKQorICAgIG5lZ2kg
cHJvcGVydHlPZmZzZXRBc0ludAorICAgIHN4aTJxIHByb3BlcnR5T2Zmc2V0QXNJbnQsIHByb3Bl
cnR5T2Zmc2V0QXNJbnQKKyAgICBqbXAgLnJlYWR5CisuaXNJbmxpbmU6CisgICAgYWRkcCBzaXpl
b2YgSlNPYmplY3QgLSAoZmlyc3RPdXRPZkxpbmVPZmZzZXQgLSAyKSAqIDgsIG9iamVjdEFuZFN0
b3JhZ2UKKy5yZWFkeToKKyAgICBzdG9yZXEgdmFsdWUsIChmaXJzdE91dE9mTGluZU9mZnNldCAt
IDIpICogOFtvYmplY3RBbmRTdG9yYWdlLCBwcm9wZXJ0eU9mZnNldEFzSW50LCA4XQorZW5kCisK
K19sbGludF9vcF9nZXRfYnlfaWQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRpc0Zy
b21JbnN0cnVjdGlvbigyLCB0MCkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbCh0MCwg
dDMsIC5vcEdldEJ5SWRTbG93KQorICAgIGxvYWRpIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0M10s
IHQxCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQyKQorICAgIGJpbmVxIHQyLCB0MSwg
Lm9wR2V0QnlJZFNsb3cKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNSwgdDEpCisgICAgbG9h
ZGlzRnJvbUluc3RydWN0aW9uKDEsIHQyKQorICAgIGxvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZz
ZXQodDEsIHQzLCB0MCkKKyAgICBzdG9yZXEgdDAsIFtjZnIsIHQyLCA4XQorICAgIHZhbHVlUHJv
ZmlsZSh0MCwgOCwgdDEpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9ieV9pZF9sZW5n
dGgpCisKKy5vcEdldEJ5SWRTbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xv
d19wYXRoX2dldF9ieV9pZCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2J5X2lkX2xl
bmd0aCkKKworCitfbGxpbnRfb3BfZ2V0X2J5X2lkX3Byb3RvX2xvYWQ6CisgICAgdHJhY2VFeGVj
dXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkKKyAgICBsb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbCh0MCwgdDMsIC5vcEdldEJ5SWRQcm90b1Nsb3cpCisgICAgbG9hZGkg
SlNDZWxsOjptX3N0cnVjdHVyZUlEW3QzXSwgdDEKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24o
NCwgdDIpCisgICAgYmluZXEgdDIsIHQxLCAub3BHZXRCeUlkUHJvdG9TbG93CisgICAgbG9hZGlz
RnJvbUluc3RydWN0aW9uKDUsIHQxKQorICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDYsIHQzKQor
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MikKKyAgICBsb2FkUHJvcGVydHlBdFZhcmlh
YmxlT2Zmc2V0KHQxLCB0MywgdDApCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MiwgOF0KKyAgICB2
YWx1ZVByb2ZpbGUodDAsIDgsIHQxKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfYnlf
aWRfcHJvdG9fbG9hZF9sZW5ndGgpCisKKy5vcEdldEJ5SWRQcm90b1Nsb3c6CisgICAgY2FsbE9w
Y29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfZ2V0X2J5X2lkKQorICAgIGRpc3BhdGNoKGNv
bnN0ZXhwciBvcF9nZXRfYnlfaWRfcHJvdG9fbG9hZF9sZW5ndGgpCisKKworX2xsaW50X29wX2dl
dF9ieV9pZF91bnNldDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGlzRnJvbUluc3Ry
dWN0aW9uKDIsIHQwKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsKHQwLCB0MywgLm9w
R2V0QnlJZFVuc2V0U2xvdykKKyAgICBsb2FkaSBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDNdLCB0
MQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0MikKKyAgICBiaW5lcSB0MiwgdDEsIC5v
cEdldEJ5SWRVbnNldFNsb3cKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDIpCisgICAg
c3RvcmVxIFZhbHVlVW5kZWZpbmVkLCBbY2ZyLCB0MiwgOF0KKyAgICB2YWx1ZVByb2ZpbGUoVmFs
dWVVbmRlZmluZWQsIDgsIHQxKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfYnlfaWRf
dW5zZXRfbGVuZ3RoKQorCisub3BHZXRCeUlkVW5zZXRTbG93OgorICAgIGNhbGxPcGNvZGVTbG93
UGF0aChfbGxpbnRfc2xvd19wYXRoX2dldF9ieV9pZCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIg
b3BfZ2V0X2J5X2lkX3Vuc2V0X2xlbmd0aCkKKworCitfbGxpbnRfb3BfZ2V0X2FycmF5X2xlbmd0
aDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQw
KQorICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDQsIHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFy
aWFibGVDZWxsKHQwLCB0MywgLm9wR2V0QXJyYXlMZW5ndGhTbG93KQorICAgIG1vdmUgdDMsIHQy
CisgICAgYXJyYXlQcm9maWxlKHQyLCB0MSwgdDApCisgICAgYnRpeiB0MiwgSXNBcnJheSwgLm9w
R2V0QXJyYXlMZW5ndGhTbG93CisgICAgYnRpeiB0MiwgSW5kZXhpbmdTaGFwZU1hc2ssIC5vcEdl
dEFycmF5TGVuZ3RoU2xvdworICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKKyAgICBs
b2FkQ2FnZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwgSlNPYmplY3Q6Om1fYnV0dGVyZmx5
W3QzXSwgdDAsIHQyKQorICAgIGxvYWRpIC1zaXplb2YgSW5kZXhpbmdIZWFkZXIgKyBJbmRleGlu
Z0hlYWRlcjo6dS5sZW5ndGhzLnB1YmxpY0xlbmd0aFt0MF0sIHQwCisgICAgYmlsdCB0MCwgMCwg
Lm9wR2V0QXJyYXlMZW5ndGhTbG93CisgICAgb3JxIHRhZ1R5cGVOdW1iZXIsIHQwCisgICAgdmFs
dWVQcm9maWxlKHQwLCA4LCB0MikKKyAgICBzdG9yZXEgdDAsIFtjZnIsIHQxLCA4XQorICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfYXJyYXlfbGVuZ3RoX2xlbmd0aCkKKworLm9wR2V0QXJy
YXlMZW5ndGhTbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2dl
dF9ieV9pZCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2FycmF5X2xlbmd0aF9sZW5n
dGgpCisKKworX2xsaW50X29wX3B1dF9ieV9pZDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAg
bG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQzKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVD
ZWxsKHQzLCB0MCwgLm9wUHV0QnlJZFNsb3cpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQs
IHQyKQorICAgIGJpbmVxIHQyLCBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDBdLCAub3BQdXRCeUlk
U2xvdworCisgICAgIyBBdCB0aGlzIHBvaW50LCB3ZSBoYXZlOgorICAgICMgdDIgLT4gY3VycmVu
dCBzdHJ1Y3R1cmUgSUQKKyAgICAjIHQwIC0+IG9iamVjdCBiYXNlCisKKyAgICBsb2FkaXNGcm9t
SW5zdHJ1Y3Rpb24oMywgdDEpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDMpCisK
KyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig4LCB0MSkKKworICAgICMgQXQgdGhpcyBwb2ludCwg
d2UgaGF2ZToKKyAgICAjIHQwIC0+IG9iamVjdCBiYXNlCisgICAgIyB0MSAtPiBwdXQgYnkgaWQg
ZmxhZ3MKKyAgICAjIHQyIC0+IGN1cnJlbnQgc3RydWN0dXJlIElECisgICAgIyB0MyAtPiB2YWx1
ZSB0byBwdXQKKworICAgIGJ0cG56IHQxLCBQdXRCeUlkUHJpbWFyeVR5cGVNYXNrLCAub3BQdXRC
eUlkVHlwZUNoZWNrT2JqZWN0V2l0aFN0cnVjdHVyZU9yT3RoZXIKKworICAgICMgV2UgaGF2ZSBv
bmUgb2YgdGhlIG5vbi1zdHJ1Y3R1cmUgdHlwZSBjaGVja3MuIEZpbmQgb3V0IHdoaWNoIG9uZS4K
KyAgICBhbmRwIFB1dEJ5SWRTZWNvbmRhcnlUeXBlTWFzaywgdDEKKyAgICBicGx0IHQxLCBQdXRC
eUlkU2Vjb25kYXJ5VHlwZVN0cmluZywgLm9wUHV0QnlJZFR5cGVDaGVja0xlc3NUaGFuU3RyaW5n
CisKKyAgICAjIFdlIGFyZSBvbmUgb2YgdGhlIGZvbGxvd2luZzogU3RyaW5nLCBTeW1ib2wsIE9i
amVjdCwgT2JqZWN0T3JPdGhlciwgVG9wCisgICAgYnBsdCB0MSwgUHV0QnlJZFNlY29uZGFyeVR5
cGVPYmplY3RPck90aGVyLCAub3BQdXRCeUlkVHlwZUNoZWNrTGVzc1RoYW5PYmplY3RPck90aGVy
CisKKyAgICAjIFdlIGFyZSBlaXRoZXIgT2JqZWN0T3JPdGhlciBvciBUb3AuCisgICAgYnBlcSB0
MSwgUHV0QnlJZFNlY29uZGFyeVR5cGVUb3AsIC5vcFB1dEJ5SWREb25lQ2hlY2tpbmdUeXBlcwor
CisgICAgIyBDaGVjayBpZiB3ZSBhcmUgT2JqZWN0T3JPdGhlci4KKyAgICBidHF6IHQzLCB0YWdN
YXNrLCAub3BQdXRCeUlkVHlwZUNoZWNrT2JqZWN0Cisub3BQdXRCeUlkVHlwZUNoZWNrT3RoZXI6
CisgICAgYW5kcSB+VGFnQml0VW5kZWZpbmVkLCB0MworICAgIGJxZXEgdDMsIFZhbHVlTnVsbCwg
Lm9wUHV0QnlJZERvbmVDaGVja2luZ1R5cGVzCisgICAgam1wIC5vcFB1dEJ5SWRTbG93CisKKy5v
cFB1dEJ5SWRUeXBlQ2hlY2tMZXNzVGhhbk9iamVjdE9yT3RoZXI6CisgICAgIyBXZSBhcmUgZWl0
aGVyIFN0cmluZywgU3ltYm9sIG9yIE9iamVjdC4KKyAgICBidHFueiB0MywgdGFnTWFzaywgLm9w
UHV0QnlJZFNsb3cKKyAgICBicGVxIHQxLCBQdXRCeUlkU2Vjb25kYXJ5VHlwZU9iamVjdCwgLm9w
UHV0QnlJZFR5cGVDaGVja09iamVjdAorICAgIGJwZXEgdDEsIFB1dEJ5SWRTZWNvbmRhcnlUeXBl
U3ltYm9sLCAub3BQdXRCeUlkVHlwZUNoZWNrU3ltYm9sCisgICAgYmJlcSBKU0NlbGw6Om1fdHlw
ZVt0M10sIFN0cmluZ1R5cGUsIC5vcFB1dEJ5SWREb25lQ2hlY2tpbmdUeXBlcworICAgIGptcCAu
b3BQdXRCeUlkU2xvdworLm9wUHV0QnlJZFR5cGVDaGVja09iamVjdDoKKyAgICBiYmFlcSBKU0Nl
bGw6Om1fdHlwZVt0M10sIE9iamVjdFR5cGUsIC5vcFB1dEJ5SWREb25lQ2hlY2tpbmdUeXBlcwor
ICAgIGptcCAub3BQdXRCeUlkU2xvdworLm9wUHV0QnlJZFR5cGVDaGVja1N5bWJvbDoKKyAgICBi
YmVxIEpTQ2VsbDo6bV90eXBlW3QzXSwgU3ltYm9sVHlwZSwgLm9wUHV0QnlJZERvbmVDaGVja2lu
Z1R5cGVzCisgICAgam1wIC5vcFB1dEJ5SWRTbG93CisKKy5vcFB1dEJ5SWRUeXBlQ2hlY2tMZXNz
VGhhblN0cmluZzoKKyAgICAjIFdlIGFyZSBvbmUgb2YgdGhlIGZvbGxvd2luZzogQm90dG9tLCBC
b29sZWFuLCBPdGhlciwgSW50MzIsIE51bWJlcgorICAgIGJwbHQgdDEsIFB1dEJ5SWRTZWNvbmRh
cnlUeXBlSW50MzIsIC5vcFB1dEJ5SWRUeXBlQ2hlY2tMZXNzVGhhbkludDMyCisKKyAgICAjIFdl
IGFyZSBlaXRoZXIgSW50MzIgb3IgTnVtYmVyLgorICAgIGJwZXEgdDEsIFB1dEJ5SWRTZWNvbmRh
cnlUeXBlTnVtYmVyLCAub3BQdXRCeUlkVHlwZUNoZWNrTnVtYmVyCisKKyAgICBicWFlcSB0Mywg
dGFnVHlwZU51bWJlciwgLm9wUHV0QnlJZERvbmVDaGVja2luZ1R5cGVzCisgICAgam1wIC5vcFB1
dEJ5SWRTbG93CisKKy5vcFB1dEJ5SWRUeXBlQ2hlY2tOdW1iZXI6CisgICAgYnRxbnogdDMsIHRh
Z1R5cGVOdW1iZXIsIC5vcFB1dEJ5SWREb25lQ2hlY2tpbmdUeXBlcworICAgIGptcCAub3BQdXRC
eUlkU2xvdworCisub3BQdXRCeUlkVHlwZUNoZWNrTGVzc1RoYW5JbnQzMjoKKyAgICAjIFdlIGFy
ZSBvbmUgb2YgdGhlIGZvbGxvd2luZzogQm90dG9tLCBCb29sZWFuLCBPdGhlci4KKyAgICBicG5l
cSB0MSwgUHV0QnlJZFNlY29uZGFyeVR5cGVCb29sZWFuLCAub3BQdXRCeUlkVHlwZUNoZWNrQm90
dG9tT3JPdGhlcgorICAgIHhvcnEgVmFsdWVGYWxzZSwgdDMKKyAgICBidHF6IHQzLCB+MSwgLm9w
UHV0QnlJZERvbmVDaGVja2luZ1R5cGVzCisgICAgam1wIC5vcFB1dEJ5SWRTbG93CisKKy5vcFB1
dEJ5SWRUeXBlQ2hlY2tCb3R0b21Pck90aGVyOgorICAgIGJwZXEgdDEsIFB1dEJ5SWRTZWNvbmRh
cnlUeXBlT3RoZXIsIC5vcFB1dEJ5SWRUeXBlQ2hlY2tPdGhlcgorICAgIGptcCAub3BQdXRCeUlk
U2xvdworCisub3BQdXRCeUlkVHlwZUNoZWNrT2JqZWN0V2l0aFN0cnVjdHVyZU9yT3RoZXI6Cisg
ICAgYnRxeiB0MywgdGFnTWFzaywgLm9wUHV0QnlJZFR5cGVDaGVja09iamVjdFdpdGhTdHJ1Y3R1
cmUKKyAgICBidHBueiB0MSwgUHV0QnlJZFByaW1hcnlUeXBlT2JqZWN0V2l0aFN0cnVjdHVyZU9y
T3RoZXIsIC5vcFB1dEJ5SWRUeXBlQ2hlY2tPdGhlcgorICAgIGptcCAub3BQdXRCeUlkU2xvdwor
Cisub3BQdXRCeUlkVHlwZUNoZWNrT2JqZWN0V2l0aFN0cnVjdHVyZToKKyAgICB1cnNoaWZ0cCAz
LCB0MQorICAgIGJpbmVxIHQxLCBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDNdLCAub3BQdXRCeUlk
U2xvdworCisub3BQdXRCeUlkRG9uZUNoZWNraW5nVHlwZXM6CisgICAgbG9hZGlzRnJvbUluc3Ry
dWN0aW9uKDYsIHQxKQorICAgIAorICAgIGJ0aXogdDEsIC5vcFB1dEJ5SWROb3RUcmFuc2l0aW9u
CisKKyAgICAjIFRoaXMgaXMgdGhlIHRyYW5zaXRpb24gY2FzZS4gdDEgaG9sZHMgdGhlIG5ldyBz
dHJ1Y3R1cmVJRC4gdDIgaG9sZHMgdGhlIG9sZCBzdHJ1Y3R1cmUgSUQuCisgICAgIyBJZiB3ZSBo
YXZlIGEgY2hhaW4sIHdlIG5lZWQgdG8gY2hlY2sgaXQuIHQwIGlzIHRoZSBiYXNlLiBXZSBtYXkg
Y2xvYmJlciB0MSB0byB1c2UgaXQgYXMKKyAgICAjIHNjcmF0Y2guCisgICAgbG9hZHBGcm9tSW5z
dHJ1Y3Rpb24oNywgdDMpCisgICAgYnRweiB0MywgLm9wUHV0QnlJZFRyYW5zaXRpb25EaXJlY3QK
KworICAgIGxvYWRwIFN0cnVjdHVyZUNoYWluOjptX3ZlY3Rvclt0M10sIHQzCisgICAgYXNzZXJ0
KG1hY3JvIChvaykgYnRwbnogdDMsIG9rIGVuZCkKKworICAgIHN0cnVjdHVyZUlEVG9TdHJ1Y3R1
cmVXaXRoU2NyYXRjaCh0MiwgdDEpCisgICAgbG9hZHEgU3RydWN0dXJlOjptX3Byb3RvdHlwZVt0
Ml0sIHQyCisgICAgYnFlcSB0MiwgVmFsdWVOdWxsLCAub3BQdXRCeUlkVHJhbnNpdGlvbkNoYWlu
RG9uZQorLm9wUHV0QnlJZFRyYW5zaXRpb25DaGFpbkxvb3A6CisgICAgIyBBdCB0aGlzIHBvaW50
LCB0MiBjb250YWlucyBhIHByb3RvdHllLCBhbmQgW3QzXSBjb250YWlucyB0aGUgU3RydWN0dXJl
KiB0aGF0IHdlIHdhbnQgdGhhdAorICAgICMgcHJvdG90eXBlIHRvIGhhdmUuIFdlIGRvbid0IHdh
bnQgdG8gaGF2ZSB0byBsb2FkIHRoZSBTdHJ1Y3R1cmUqIGZvciB0Mi4gSW5zdGVhZCwgd2UgbG9h
ZAorICAgICMgdGhlIFN0cnVjdHVyZSogZnJvbSBbdDNdLCBhbmQgdGhlbiB3ZSBjb21wYXJlIGl0
cyBpZCB0byB0aGUgaWQgaW4gdGhlIGhlYWRlciBvZiB0Mi4KKyAgICBsb2FkcCBbdDNdLCB0MQor
ICAgIGxvYWRpIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0Ml0sIHQyCisgICAgIyBOb3csIHQxIGhh
cyB0aGUgU3RydWN0dXJlKiBhbmQgdDIgaGFzIHRoZSBTdHJ1Y3R1cmVJRCB0aGF0IHdlIHdhbnQg
dGhhdCBTdHJ1Y3R1cmUqIHRvIGhhdmUuCisgICAgYmluZXEgdDIsIFN0cnVjdHVyZTo6bV9ibG9i
ICsgU3RydWN0dXJlSURCbG9iOjp1LmZpZWxkcy5zdHJ1Y3R1cmVJRFt0MV0sIC5vcFB1dEJ5SWRT
bG93CisgICAgYWRkcCA4LCB0MworICAgIGxvYWRxIFN0cnVjdHVyZTo6bV9wcm90b3R5cGVbdDFd
LCB0MgorICAgIGJxbmVxIHQyLCBWYWx1ZU51bGwsIC5vcFB1dEJ5SWRUcmFuc2l0aW9uQ2hhaW5M
b29wCisKKy5vcFB1dEJ5SWRUcmFuc2l0aW9uQ2hhaW5Eb25lOgorICAgICMgUmVsb2FkIHRoZSBu
ZXcgc3RydWN0dXJlLCBzaW5jZSB3ZSBjbG9iYmVyZWQgaXQgYWJvdmUuCisgICAgbG9hZGlzRnJv
bUluc3RydWN0aW9uKDYsIHQxKQorCisub3BQdXRCeUlkVHJhbnNpdGlvbkRpcmVjdDoKKyAgICBz
dG9yZWkgdDEsIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0MF0KKyAgICB3cml0ZUJhcnJpZXJPbk9w
ZXJhbmQoMSkKKyAgICAjIFJlbG9hZCBiYXNlIGludG8gdDAKKyAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oMSwgdDEpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDApCisKKy5vcFB1
dEJ5SWROb3RUcmFuc2l0aW9uOgorICAgICMgVGhlIG9ubHkgdGhpbmcgbGl2ZSByaWdodCBub3cg
aXMgdDAsIHdoaWNoIGhvbGRzIHRoZSBiYXNlLgorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigz
LCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MikKKyAgICBsb2FkaXNGcm9t
SW5zdHJ1Y3Rpb24oNSwgdDEpCisgICAgc3RvcmVQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXQodDEs
IHQwLCB0MiwgdDMpCisgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcygxLCAzKQorICAgIGRpc3Bh
dGNoKGNvbnN0ZXhwciBvcF9wdXRfYnlfaWRfbGVuZ3RoKQorCisub3BQdXRCeUlkU2xvdzoKKyAg
ICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9wdXRfYnlfaWQpCisgICAgZGlz
cGF0Y2goY29uc3RleHByIG9wX3B1dF9ieV9pZF9sZW5ndGgpCisKK21hY3JvIGZpbmlzaEdldEJ5
VmFsKHJlc3VsdCwgc2NyYXRjaCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgc2NyYXRj
aCkKKyAgICBzdG9yZXEgcmVzdWx0LCBbY2ZyLCBzY3JhdGNoLCA4XQorICAgIHZhbHVlUHJvZmls
ZShyZXN1bHQsIDUsIHNjcmF0Y2gpCisgICAgZGlzcGF0Y2goNikKK2VuZAorCittYWNybyBmaW5p
c2hJbnRHZXRCeVZhbChyZXN1bHQsIHNjcmF0Y2gpCisgICAgb3JxIHRhZ1R5cGVOdW1iZXIsIHJl
c3VsdAorICAgIGZpbmlzaEdldEJ5VmFsKHJlc3VsdCwgc2NyYXRjaCkKK2VuZAorCittYWNybyBm
aW5pc2hEb3VibGVHZXRCeVZhbChyZXN1bHQsIHNjcmF0Y2gxLCBzY3JhdGNoMikKKyAgICBmZDJx
IHJlc3VsdCwgc2NyYXRjaDEKKyAgICBzdWJxIHRhZ1R5cGVOdW1iZXIsIHNjcmF0Y2gxCisgICAg
ZmluaXNoR2V0QnlWYWwoc2NyYXRjaDEsIHNjcmF0Y2gyKQorZW5kCisKK19sbGludF9vcF9nZXRf
YnlfdmFsOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24o
MiwgdDIpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGwodDIsIHQwLCAub3BHZXRCeVZh
bFNsb3cpCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNCwgdDMpCisgICAgbW92ZSB0MCwgdDIK
KyAgICBhcnJheVByb2ZpbGUodDIsIHQzLCB0MSkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24o
MywgdDMpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyKHQzLCB0MSwgLm9wR2V0QnlW
YWxTbG93KQorICAgIHN4aTJxIHQxLCB0MQorICAgIGxvYWRDYWdlZChfZ19qc1ZhbHVlR2lnYWNh
Z2VCYXNlUHRyLCBKU09iamVjdDo6bV9idXR0ZXJmbHlbdDBdLCB0MywgdDUpCisgICAgYW5kaSBJ
bmRleGluZ1NoYXBlTWFzaywgdDIKKyAgICBiaWVxIHQyLCBJbnQzMlNoYXBlLCAub3BHZXRCeVZh
bElzQ29udGlndW91cworICAgIGJpbmVxIHQyLCBDb250aWd1b3VzU2hhcGUsIC5vcEdldEJ5VmFs
Tm90Q29udGlndW91cworLm9wR2V0QnlWYWxJc0NvbnRpZ3VvdXM6CisKKyAgICBiaWFlcSB0MSwg
LXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMucHVibGlj
TGVuZ3RoW3QzXSwgLm9wR2V0QnlWYWxPdXRPZkJvdW5kcworICAgIGxvYWRpc0Zyb21JbnN0cnVj
dGlvbigxLCB0MCkKKyAgICBsb2FkcSBbdDMsIHQxLCA4XSwgdDIKKyAgICBidHF6IHQyLCAub3BH
ZXRCeVZhbE91dE9mQm91bmRzCisgICAgam1wIC5vcEdldEJ5VmFsRG9uZQorCisub3BHZXRCeVZh
bE5vdENvbnRpZ3VvdXM6CisgICAgYmluZXEgdDIsIERvdWJsZVNoYXBlLCAub3BHZXRCeVZhbE5v
dERvdWJsZQorICAgIGJpYWVxIHQxLCAtc2l6ZW9mIEluZGV4aW5nSGVhZGVyICsgSW5kZXhpbmdI
ZWFkZXI6OnUubGVuZ3Rocy5wdWJsaWNMZW5ndGhbdDNdLCAub3BHZXRCeVZhbE91dE9mQm91bmRz
CisgICAgbG9hZGlzIDhbUEIsIFBDLCA4XSwgdDAKKyAgICBsb2FkZCBbdDMsIHQxLCA4XSwgZnQw
CisgICAgYmRuZXF1biBmdDAsIGZ0MCwgLm9wR2V0QnlWYWxPdXRPZkJvdW5kcworICAgIGZkMnEg
ZnQwLCB0MgorICAgIHN1YnEgdGFnVHlwZU51bWJlciwgdDIKKyAgICBqbXAgLm9wR2V0QnlWYWxE
b25lCisgICAgCisub3BHZXRCeVZhbE5vdERvdWJsZToKKyAgICBzdWJpIEFycmF5U3RvcmFnZVNo
YXBlLCB0MgorICAgIGJpYSB0MiwgU2xvd1B1dEFycmF5U3RvcmFnZVNoYXBlIC0gQXJyYXlTdG9y
YWdlU2hhcGUsIC5vcEdldEJ5VmFsTm90SW5kZXhlZFN0b3JhZ2UKKyAgICBiaWFlcSB0MSwgLXNp
emVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMudmVjdG9yTGVu
Z3RoW3QzXSwgLm9wR2V0QnlWYWxPdXRPZkJvdW5kcworICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlv
bigxLCB0MCkKKyAgICBsb2FkcSBBcnJheVN0b3JhZ2U6Om1fdmVjdG9yW3QzLCB0MSwgOF0sIHQy
CisgICAgYnRxeiB0MiwgLm9wR2V0QnlWYWxPdXRPZkJvdW5kcworCisub3BHZXRCeVZhbERvbmU6
CisgICAgc3RvcmVxIHQyLCBbY2ZyLCB0MCwgOF0KKyAgICB2YWx1ZVByb2ZpbGUodDIsIDUsIHQw
KQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfYnlfdmFsX2xlbmd0aCkKKworLm9wR2V0
QnlWYWxPdXRPZkJvdW5kczoKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig0LCB0MCkKKyAgICBz
dG9yZWIgMSwgQXJyYXlQcm9maWxlOjptX291dE9mQm91bmRzW3QwXQorICAgIGptcCAub3BHZXRC
eVZhbFNsb3cKKworLm9wR2V0QnlWYWxOb3RJbmRleGVkU3RvcmFnZToKKyAgICAjIEZpcnN0IGxl
dHMgY2hlY2sgaWYgd2UgZXZlbiBoYXZlIGEgdHlwZWQgYXJyYXkuIFRoaXMgbGV0cyB1cyBkbyBz
b21lIGJvaWxlcnBsYXRlIHVwIGZyb250LgorICAgIGxvYWRiIEpTQ2VsbDo6bV90eXBlW3QwXSwg
dDIKKyAgICBzdWJpIEZpcnN0QXJyYXlUeXBlLCB0MgorICAgIGJpYSB0MiwgTGFzdEFycmF5VHlw
ZSAtIEZpcnN0QXJyYXlUeXBlLCAub3BHZXRCeVZhbFNsb3cKKyAgICAKKyAgICAjIFN3ZWV0LCBu
b3cgd2Uga25vdyB0aGF0IHdlIGhhdmUgYSB0eXBlZCBhcnJheS4gRG8gc29tZSBiYXNpYyB0aGlu
Z3Mgbm93LgorICAgIGxvYWRDYWdlZChfZ19wcmltaXRpdmVHaWdhY2FnZUJhc2VQdHIsIEpTQXJy
YXlCdWZmZXJWaWV3OjptX3ZlY3Rvclt0MF0sIHQzLCB0NSkKKyAgICBiaWFlcSB0MSwgSlNBcnJh
eUJ1ZmZlclZpZXc6Om1fbGVuZ3RoW3QwXSwgLm9wR2V0QnlWYWxTbG93CisgICAgCisgICAgIyBO
b3cgYmlzZWN0IHRocm91Z2ggdGhlIHZhcmlvdXMgdHlwZXMuIE5vdGUgdGhhdCB3ZSBjYW4gdHJl
YXQgVWludDhBcnJheVR5cGUgYW5kCisgICAgIyBVaW50OENsYW1wZWRBcnJheVR5cGUgdGhlIHNh
bWUuCisgICAgYmlhIHQyLCBVaW50OENsYW1wZWRBcnJheVR5cGUgLSBGaXJzdEFycmF5VHlwZSwg
Lm9wR2V0QnlWYWxBYm92ZVVpbnQ4Q2xhbXBlZEFycmF5CisgICAgCisgICAgIyBXZSBoYXZlIG9u
ZSBvZiBJbnQ4QXJyYXlUeXBlIC4uIFVpbnQ4Q2xhbXBlZEFycmF5VHlwZS4KKyAgICBiaWEgdDIs
IEludDE2QXJyYXlUeXBlIC0gRmlyc3RBcnJheVR5cGUsIC5vcEdldEJ5VmFsSW50MzJBcnJheU9y
VWludDhBcnJheQorICAgIAorICAgICMgV2UgaGF2ZSBvbmUgb2YgSW50OEFycmF5VHlwZSBvciBJ
bnQxNkFycmF5VHlwZQorICAgIGJpbmVxIHQyLCBJbnQ4QXJyYXlUeXBlIC0gRmlyc3RBcnJheVR5
cGUsIC5vcEdldEJ5VmFsSW50MTZBcnJheQorICAgIAorICAgICMgV2UgaGF2ZSBJbnQ4QXJyYXlU
eXBlCisgICAgbG9hZGJzIFt0MywgdDFdLCB0MAorICAgIGZpbmlzaEludEdldEJ5VmFsKHQwLCB0
MSkKKworLm9wR2V0QnlWYWxJbnQxNkFycmF5OgorICAgIGxvYWRocyBbdDMsIHQxLCAyXSwgdDAK
KyAgICBmaW5pc2hJbnRHZXRCeVZhbCh0MCwgdDEpCisKKy5vcEdldEJ5VmFsSW50MzJBcnJheU9y
VWludDhBcnJheToKKyAgICAjIFdlIGhhdmUgb25lIG9mIEludDE2QXJyYXksIFVpbnQ4QXJyYXks
IG9yIFVpbnQ4Q2xhbXBlZEFycmF5LgorICAgIGJpZXEgdDIsIEludDMyQXJyYXlUeXBlIC0gRmly
c3RBcnJheVR5cGUsIC5vcEdldEJ5VmFsSW50MzJBcnJheQorICAgIAorICAgICMgV2UgaGF2ZSBl
aXRoZXIgVWludDhBcnJheSBvciBVaW50OENsYW1wZWRBcnJheS4gVGhleSBiZWhhdmUgdGhlIHNh
bWUgc28gdGhhdCdzIGNvb2wuCisgICAgbG9hZGIgW3QzLCB0MV0sIHQwCisgICAgZmluaXNoSW50
R2V0QnlWYWwodDAsIHQxKQorCisub3BHZXRCeVZhbEludDMyQXJyYXk6CisgICAgbG9hZGkgW3Qz
LCB0MSwgNF0sIHQwCisgICAgZmluaXNoSW50R2V0QnlWYWwodDAsIHQxKQorCisub3BHZXRCeVZh
bEFib3ZlVWludDhDbGFtcGVkQXJyYXk6CisgICAgIyBXZSBoYXZlIG9uZSBvZiBVaW50MTZBcnJh
eVR5cGUgLi4gRmxvYXQ2NEFycmF5VHlwZS4KKyAgICBiaWEgdDIsIFVpbnQzMkFycmF5VHlwZSAt
IEZpcnN0QXJyYXlUeXBlLCAub3BHZXRCeVZhbEFib3ZlVWludDMyQXJyYXkKKyAgICAKKyAgICAj
IFdlIGhhdmUgZWl0aGVyIFVpbnQxNkFycmF5VHlwZSBvciBVaW50MzJBcnJheVR5cGUuCisgICAg
YmllcSB0MiwgVWludDMyQXJyYXlUeXBlIC0gRmlyc3RBcnJheVR5cGUsIC5vcEdldEJ5VmFsVWlu
dDMyQXJyYXkKKworICAgICMgV2UgaGF2ZSBVaW50MTZBcnJheVR5cGUuCisgICAgbG9hZGggW3Qz
LCB0MSwgMl0sIHQwCisgICAgZmluaXNoSW50R2V0QnlWYWwodDAsIHQxKQorCisub3BHZXRCeVZh
bFVpbnQzMkFycmF5OgorICAgICMgVGhpcyBpcyB0aGUgaGFyZGVzdCBwYXJ0IGJlY2F1c2Ugb2Yg
bGFyZ2UgdW5zaWduZWQgdmFsdWVzLgorICAgIGxvYWRpIFt0MywgdDEsIDRdLCB0MAorICAgIGJp
bHQgdDAsIDAsIC5vcEdldEJ5VmFsU2xvdyAjIFRoaXMgY2FzZSBpcyBzdGlsbCBhd2t3YXJkIHRv
IGltcGxlbWVudCBpbiBMTEludC4KKyAgICBmaW5pc2hJbnRHZXRCeVZhbCh0MCwgdDEpCisKKy5v
cEdldEJ5VmFsQWJvdmVVaW50MzJBcnJheToKKyAgICAjIFdlIGhhdmUgb25lIG9mIEZsb2F0MzJB
cnJheVR5cGUgb3IgRmxvYXQ2NEFycmF5VHlwZS4gU2FkbHksIHdlIGNhbm5vdCBoYW5kbGUgRmxv
YXQzMkFycmF5CisgICAgIyBpbmxpbmUgeWV0LiBUaGF0IHdvdWxkIHJlcXVpcmUgc29tZSBvZmZs
aW5lYXNtIGNoYW5nZXMuCisgICAgYmllcSB0MiwgRmxvYXQzMkFycmF5VHlwZSAtIEZpcnN0QXJy
YXlUeXBlLCAub3BHZXRCeVZhbFNsb3cKKworICAgICMgV2UgaGF2ZSBGbG9hdDY0QXJyYXlUeXBl
LgorICAgIGxvYWRkIFt0MywgdDEsIDhdLCBmdDAKKyAgICBiZG5lcXVuIGZ0MCwgZnQwLCAub3BH
ZXRCeVZhbFNsb3cKKyAgICBmaW5pc2hEb3VibGVHZXRCeVZhbChmdDAsIHQwLCB0MSkKKworLm9w
R2V0QnlWYWxTbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2dl
dF9ieV92YWwpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9ieV92YWxfbGVuZ3RoKQor
CisKK21hY3JvIGNvbnRpZ3VvdXNQdXRCeVZhbChzdG9yZUNhbGxiYWNrKQorICAgIGJpYWVxIHQz
LCAtc2l6ZW9mIEluZGV4aW5nSGVhZGVyICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy5wdWJs
aWNMZW5ndGhbdDBdLCAub3V0T2ZCb3VuZHMKKy5zdG9yZVJlc3VsdDoKKyAgICBsb2FkaXNGcm9t
SW5zdHJ1Y3Rpb24oMywgdDIpCisgICAgc3RvcmVDYWxsYmFjayh0MiwgdDEsIFt0MCwgdDMsIDhd
KQorICAgIGRpc3BhdGNoKDUpCisKKy5vdXRPZkJvdW5kczoKKyAgICBiaWFlcSB0MywgLXNpemVv
ZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMudmVjdG9yTGVuZ3Ro
W3QwXSwgLm9wUHV0QnlWYWxPdXRPZkJvdW5kcworICAgIGxvYWRwIDMyW1BCLCBQQywgOF0sIHQy
CisgICAgc3RvcmViIDEsIEFycmF5UHJvZmlsZTo6bV9tYXlTdG9yZVRvSG9sZVt0Ml0KKyAgICBh
ZGRpIDEsIHQzLCB0MgorICAgIHN0b3JlaSB0MiwgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIElu
ZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMucHVibGljTGVuZ3RoW3QwXQorICAgIGptcCAuc3RvcmVS
ZXN1bHQKK2VuZAorCittYWNybyBwdXRCeVZhbChzbG93UGF0aCkKKyAgICB0cmFjZUV4ZWN1dGlv
bigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKQorICAgIGxvYWRDb25zdGFudE9y
VmFyaWFibGVDZWxsKHQwLCB0MSwgLm9wUHV0QnlWYWxTbG93KQorICAgIGxvYWRwRnJvbUluc3Ry
dWN0aW9uKDQsIHQzKQorICAgIG1vdmUgdDEsIHQyCisgICAgYXJyYXlQcm9maWxlKHQyLCB0Mywg
dDApCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQwKQorICAgIGxvYWRDb25zdGFudE9y
VmFyaWFibGVJbnQzMih0MCwgdDMsIC5vcFB1dEJ5VmFsU2xvdykKKyAgICBzeGkycSB0MywgdDMK
KyAgICBsb2FkQ2FnZWQoX2dfanNWYWx1ZUdpZ2FjYWdlQmFzZVB0ciwgSlNPYmplY3Q6Om1fYnV0
dGVyZmx5W3QxXSwgdDAsIHQ1KQorICAgIGFuZGkgSW5kZXhpbmdTaGFwZU1hc2ssIHQyCisgICAg
YmluZXEgdDIsIEludDMyU2hhcGUsIC5vcFB1dEJ5VmFsTm90SW50MzIKKyAgICBjb250aWd1b3Vz
UHV0QnlWYWwoCisgICAgICAgIG1hY3JvIChvcGVyYW5kLCBzY3JhdGNoLCBhZGRyZXNzKQorICAg
ICAgICAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZShvcGVyYW5kLCBzY3JhdGNoKQorICAgICAg
ICAgICAgYnBiIHNjcmF0Y2gsIHRhZ1R5cGVOdW1iZXIsIC5vcFB1dEJ5VmFsU2xvdworICAgICAg
ICAgICAgc3RvcmVwIHNjcmF0Y2gsIGFkZHJlc3MKKyAgICAgICAgICAgIHdyaXRlQmFycmllck9u
T3BlcmFuZHMoMSwgMykKKyAgICAgICAgZW5kKQorCisub3BQdXRCeVZhbE5vdEludDMyOgorICAg
IGJpbmVxIHQyLCBEb3VibGVTaGFwZSwgLm9wUHV0QnlWYWxOb3REb3VibGUKKyAgICBjb250aWd1
b3VzUHV0QnlWYWwoCisgICAgICAgIG1hY3JvIChvcGVyYW5kLCBzY3JhdGNoLCBhZGRyZXNzKQor
ICAgICAgICAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZShvcGVyYW5kLCBzY3JhdGNoKQorICAg
ICAgICAgICAgYnFiIHNjcmF0Y2gsIHRhZ1R5cGVOdW1iZXIsIC5ub3RJbnQKKyAgICAgICAgICAg
IGNpMmQgc2NyYXRjaCwgZnQwCisgICAgICAgICAgICBqbXAgLnJlYWR5CisgICAgICAgIC5ub3RJ
bnQ6CisgICAgICAgICAgICBhZGRwIHRhZ1R5cGVOdW1iZXIsIHNjcmF0Y2gKKyAgICAgICAgICAg
IGZxMmQgc2NyYXRjaCwgZnQwCisgICAgICAgICAgICBiZG5lcXVuIGZ0MCwgZnQwLCAub3BQdXRC
eVZhbFNsb3cKKyAgICAgICAgLnJlYWR5OgorICAgICAgICAgICAgc3RvcmVkIGZ0MCwgYWRkcmVz
cworICAgICAgICAgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcygxLCAzKQorICAgICAgICBlbmQp
CisKKy5vcFB1dEJ5VmFsTm90RG91YmxlOgorICAgIGJpbmVxIHQyLCBDb250aWd1b3VzU2hhcGUs
IC5vcFB1dEJ5VmFsTm90Q29udGlndW91cworICAgIGNvbnRpZ3VvdXNQdXRCeVZhbCgKKyAgICAg
ICAgbWFjcm8gKG9wZXJhbmQsIHNjcmF0Y2gsIGFkZHJlc3MpCisgICAgICAgICAgICBsb2FkQ29u
c3RhbnRPclZhcmlhYmxlKG9wZXJhbmQsIHNjcmF0Y2gpCisgICAgICAgICAgICBzdG9yZXAgc2Ny
YXRjaCwgYWRkcmVzcworICAgICAgICAgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcygxLCAzKQor
ICAgICAgICBlbmQpCisKKy5vcFB1dEJ5VmFsTm90Q29udGlndW91czoKKyAgICBiaW5lcSB0Miwg
QXJyYXlTdG9yYWdlU2hhcGUsIC5vcFB1dEJ5VmFsU2xvdworICAgIGJpYWVxIHQzLCAtc2l6ZW9m
IEluZGV4aW5nSGVhZGVyICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy52ZWN0b3JMZW5ndGhb
dDBdLCAub3BQdXRCeVZhbE91dE9mQm91bmRzCisgICAgYnRxeiBBcnJheVN0b3JhZ2U6Om1fdmVj
dG9yW3QwLCB0MywgOF0sIC5vcFB1dEJ5VmFsQXJyYXlTdG9yYWdlRW1wdHkKKy5vcFB1dEJ5VmFs
QXJyYXlTdG9yYWdlU3RvcmVSZXN1bHQ6CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQy
KQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDIsIHQxKQorICAgIHN0b3JlcSB0MSwgQXJy
YXlTdG9yYWdlOjptX3ZlY3Rvclt0MCwgdDMsIDhdCisgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5k
cygxLCAzKQorICAgIGRpc3BhdGNoKDUpCisKKy5vcFB1dEJ5VmFsQXJyYXlTdG9yYWdlRW1wdHk6
CisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNCwgdDEpCisgICAgc3RvcmViIDEsIEFycmF5UHJv
ZmlsZTo6bV9tYXlTdG9yZVRvSG9sZVt0MV0KKyAgICBhZGRpIDEsIEFycmF5U3RvcmFnZTo6bV9u
dW1WYWx1ZXNJblZlY3Rvclt0MF0KKyAgICBiaWIgdDMsIC1zaXplb2YgSW5kZXhpbmdIZWFkZXIg
KyBJbmRleGluZ0hlYWRlcjo6dS5sZW5ndGhzLnB1YmxpY0xlbmd0aFt0MF0sIC5vcFB1dEJ5VmFs
QXJyYXlTdG9yYWdlU3RvcmVSZXN1bHQKKyAgICBhZGRpIDEsIHQzLCB0MQorICAgIHN0b3JlaSB0
MSwgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMucHVi
bGljTGVuZ3RoW3QwXQorICAgIGptcCAub3BQdXRCeVZhbEFycmF5U3RvcmFnZVN0b3JlUmVzdWx0
CisKKy5vcFB1dEJ5VmFsT3V0T2ZCb3VuZHM6CisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNCwg
dDApCisgICAgc3RvcmViIDEsIEFycmF5UHJvZmlsZTo6bV9vdXRPZkJvdW5kc1t0MF0KKy5vcFB1
dEJ5VmFsU2xvdzoKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoc2xvd1BhdGgpCisgICAgZGlzcGF0
Y2goNSkKK2VuZAorCitfbGxpbnRfb3BfcHV0X2J5X3ZhbDoKKyAgICBwdXRCeVZhbChfbGxpbnRf
c2xvd19wYXRoX3B1dF9ieV92YWwpCisKK19sbGludF9vcF9wdXRfYnlfdmFsX2RpcmVjdDoKKyAg
ICBwdXRCeVZhbChfbGxpbnRfc2xvd19wYXRoX3B1dF9ieV92YWxfZGlyZWN0KQorCisKK19sbGlu
dF9vcF9qbXA6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGRpc3BhdGNoSW50SW5kaXJlY3Qo
MSkKKworCittYWNybyBqdW1wVHJ1ZU9yRmFsc2UoY29uZGl0aW9uT3AsIHNsb3cpCisgICAgbG9h
ZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEs
IHQwKQorICAgIHhvcnEgVmFsdWVGYWxzZSwgdDAKKyAgICBidHFueiB0MCwgLTEsIC5zbG93Cisg
ICAgY29uZGl0aW9uT3AodDAsIC50YXJnZXQpCisgICAgZGlzcGF0Y2goMykKKworLnRhcmdldDoK
KyAgICBkaXNwYXRjaEludEluZGlyZWN0KDIpCisKKy5zbG93OgorICAgIGNhbGxPcGNvZGVTbG93
UGF0aChzbG93KQorICAgIGRpc3BhdGNoKDApCitlbmQKKworCittYWNybyBlcXVhbE51bGwoY2Vs
bEhhbmRsZXIsIGltbWVkaWF0ZUhhbmRsZXIpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEs
IHQwKQorICAgIGFzc2VydE5vdENvbnN0YW50KHQwKQorICAgIGxvYWRxIFtjZnIsIHQwLCA4XSwg
dDAKKyAgICBidHFueiB0MCwgdGFnTWFzaywgLmltbWVkaWF0ZQorICAgIGxvYWRTdHJ1Y3R1cmVX
aXRoU2NyYXRjaCh0MCwgdDIsIHQxKQorICAgIGNlbGxIYW5kbGVyKHQyLCBKU0NlbGw6Om1fZmxh
Z3NbdDBdLCAudGFyZ2V0KQorICAgIGRpc3BhdGNoKDMpCisKKy50YXJnZXQ6CisgICAgZGlzcGF0
Y2hJbnRJbmRpcmVjdCgyKQorCisuaW1tZWRpYXRlOgorICAgIGFuZHEgflRhZ0JpdFVuZGVmaW5l
ZCwgdDAKKyAgICBpbW1lZGlhdGVIYW5kbGVyKHQwLCAudGFyZ2V0KQorICAgIGRpc3BhdGNoKDMp
CitlbmQKKworX2xsaW50X29wX2plcV9udWxsOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBl
cXVhbE51bGwoCisgICAgICAgIG1hY3JvIChzdHJ1Y3R1cmUsIHZhbHVlLCB0YXJnZXQpIAorICAg
ICAgICAgICAgYnRieiB2YWx1ZSwgTWFzcXVlcmFkZXNBc1VuZGVmaW5lZCwgLm5vdE1hc3F1ZXJh
ZGVzQXNVbmRlZmluZWQKKyAgICAgICAgICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MAorICAg
ICAgICAgICAgbG9hZHAgQ29kZUJsb2NrOjptX2dsb2JhbE9iamVjdFt0MF0sIHQwCisgICAgICAg
ICAgICBicGVxIFN0cnVjdHVyZTo6bV9nbG9iYWxPYmplY3Rbc3RydWN0dXJlXSwgdDAsIHRhcmdl
dAorLm5vdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQ6CisgICAgICAgIGVuZCwKKyAgICAgICAgbWFj
cm8gKHZhbHVlLCB0YXJnZXQpIGJxZXEgdmFsdWUsIFZhbHVlTnVsbCwgdGFyZ2V0IGVuZCkKKwor
CitfbGxpbnRfb3Bfam5lcV9udWxsOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBlcXVhbE51
bGwoCisgICAgICAgIG1hY3JvIChzdHJ1Y3R1cmUsIHZhbHVlLCB0YXJnZXQpIAorICAgICAgICAg
ICAgYnRieiB2YWx1ZSwgTWFzcXVlcmFkZXNBc1VuZGVmaW5lZCwgdGFyZ2V0CisgICAgICAgICAg
ICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDAKKyAgICAgICAgICAgIGxvYWRwIENvZGVCbG9jazo6
bV9nbG9iYWxPYmplY3RbdDBdLCB0MAorICAgICAgICAgICAgYnBuZXEgU3RydWN0dXJlOjptX2ds
b2JhbE9iamVjdFtzdHJ1Y3R1cmVdLCB0MCwgdGFyZ2V0CisgICAgICAgIGVuZCwKKyAgICAgICAg
bWFjcm8gKHZhbHVlLCB0YXJnZXQpIGJxbmVxIHZhbHVlLCBWYWx1ZU51bGwsIHRhcmdldCBlbmQp
CisKKworX2xsaW50X29wX2puZXFfcHRyOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2Fk
aXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQx
KQorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MgorICAgIGxvYWRwIENvZGVCbG9jazo6bV9n
bG9iYWxPYmplY3RbdDJdLCB0MgorICAgIGxvYWRwIEpTR2xvYmFsT2JqZWN0OjptX3NwZWNpYWxQ
b2ludGVyc1t0MiwgdDEsIDhdLCB0MQorICAgIGJwbmVxIHQxLCBbY2ZyLCB0MCwgOF0sIC5vcEpu
ZXFQdHJUYXJnZXQKKyAgICBkaXNwYXRjaCg1KQorCisub3BKbmVxUHRyVGFyZ2V0OgorICAgIHN0
b3JlaSAxLCAzMltQQiwgUEMsIDhdCisgICAgZGlzcGF0Y2hJbnRJbmRpcmVjdCgzKQorCisKK21h
Y3JvIGNvbXBhcmUoaW50ZWdlckNvbXBhcmUsIGRvdWJsZUNvbXBhcmUsIHNsb3dQYXRoKQorICAg
IGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MikKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24o
MiwgdDMpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDApCisgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZSh0MywgdDEpCisgICAgYnFiIHQwLCB0YWdUeXBlTnVtYmVyLCAub3AxTm90
SW50CisgICAgYnFiIHQxLCB0YWdUeXBlTnVtYmVyLCAub3AyTm90SW50CisgICAgaW50ZWdlckNv
bXBhcmUodDAsIHQxLCAuanVtcFRhcmdldCkKKyAgICBkaXNwYXRjaCg0KQorCisub3AxTm90SW50
OgorICAgIGJ0cXogdDAsIHRhZ1R5cGVOdW1iZXIsIC5zbG93CisgICAgYnFiIHQxLCB0YWdUeXBl
TnVtYmVyLCAub3AxTm90SW50T3AyTm90SW50CisgICAgY2kyZCB0MSwgZnQxCisgICAgam1wIC5v
cDFOb3RJbnRSZWFkeQorLm9wMU5vdEludE9wMk5vdEludDoKKyAgICBidHF6IHQxLCB0YWdUeXBl
TnVtYmVyLCAuc2xvdworICAgIGFkZHEgdGFnVHlwZU51bWJlciwgdDEKKyAgICBmcTJkIHQxLCBm
dDEKKy5vcDFOb3RJbnRSZWFkeToKKyAgICBhZGRxIHRhZ1R5cGVOdW1iZXIsIHQwCisgICAgZnEy
ZCB0MCwgZnQwCisgICAgZG91YmxlQ29tcGFyZShmdDAsIGZ0MSwgLmp1bXBUYXJnZXQpCisgICAg
ZGlzcGF0Y2goNCkKKworLm9wMk5vdEludDoKKyAgICBjaTJkIHQwLCBmdDAKKyAgICBidHF6IHQx
LCB0YWdUeXBlTnVtYmVyLCAuc2xvdworICAgIGFkZHEgdGFnVHlwZU51bWJlciwgdDEKKyAgICBm
cTJkIHQxLCBmdDEKKyAgICBkb3VibGVDb21wYXJlKGZ0MCwgZnQxLCAuanVtcFRhcmdldCkKKyAg
ICBkaXNwYXRjaCg0KQorCisuanVtcFRhcmdldDoKKyAgICBkaXNwYXRjaEludEluZGlyZWN0KDMp
CisKKy5zbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChzbG93UGF0aCkKKyAgICBkaXNwYXRj
aCgwKQorZW5kCisKKworX2xsaW50X29wX3N3aXRjaF9pbW06CisgICAgdHJhY2VFeGVjdXRpb24o
KQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MikKKyAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oMSwgdDMpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDEpCisgICAgbG9h
ZHAgQ29kZUJsb2NrW2Nmcl0sIHQyCisgICAgbG9hZHAgQ29kZUJsb2NrOjptX3JhcmVEYXRhW3Qy
XSwgdDIKKyAgICBtdWxpIHNpemVvZiBTaW1wbGVKdW1wVGFibGUsIHQzICAgICMgRklYTUU6IHdv
dWxkIGJlIG5pY2UgdG8gcGVlcGhvbGUgdGhpcyEKKyAgICBsb2FkcCBDb2RlQmxvY2s6OlJhcmVE
YXRhOjptX3N3aXRjaEp1bXBUYWJsZXMgKyBWZWN0b3JCdWZmZXJPZmZzZXRbdDJdLCB0MgorICAg
IGFkZHAgdDMsIHQyCisgICAgYnFiIHQxLCB0YWdUeXBlTnVtYmVyLCAub3BTd2l0Y2hJbW1Ob3RJ
bnQKKyAgICBzdWJpIFNpbXBsZUp1bXBUYWJsZTo6bWluW3QyXSwgdDEKKyAgICBiaWFlcSB0MSwg
U2ltcGxlSnVtcFRhYmxlOjpicmFuY2hPZmZzZXRzICsgVmVjdG9yU2l6ZU9mZnNldFt0Ml0sIC5v
cFN3aXRjaEltbUZhbGxUaHJvdWdoCisgICAgbG9hZHAgU2ltcGxlSnVtcFRhYmxlOjpicmFuY2hP
ZmZzZXRzICsgVmVjdG9yQnVmZmVyT2Zmc2V0W3QyXSwgdDMKKyAgICBsb2FkaXMgW3QzLCB0MSwg
NF0sIHQxCisgICAgYnRpeiB0MSwgLm9wU3dpdGNoSW1tRmFsbFRocm91Z2gKKyAgICBkaXNwYXRj
aCh0MSkKKworLm9wU3dpdGNoSW1tTm90SW50OgorICAgIGJ0cW56IHQxLCB0YWdUeXBlTnVtYmVy
LCAub3BTd2l0Y2hJbW1TbG93ICAgIyBHbyBzbG93IGlmIGl0J3MgYSBkb3VibGUuCisub3BTd2l0
Y2hJbW1GYWxsVGhyb3VnaDoKKyAgICBkaXNwYXRjaEludEluZGlyZWN0KDIpCisKKy5vcFN3aXRj
aEltbVNsb3c6CisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfc3dpdGNo
X2ltbSkKKyAgICBkaXNwYXRjaCgwKQorCisKK19sbGludF9vcF9zd2l0Y2hfY2hhcjoKKyAgICB0
cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQyKQorICAgIGxv
YWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MykKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQy
LCB0MSkKKyAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDIKKyAgICBsb2FkcCBDb2RlQmxvY2s6
Om1fcmFyZURhdGFbdDJdLCB0MgorICAgIG11bGkgc2l6ZW9mIFNpbXBsZUp1bXBUYWJsZSwgdDMK
KyAgICBsb2FkcCBDb2RlQmxvY2s6OlJhcmVEYXRhOjptX3N3aXRjaEp1bXBUYWJsZXMgKyBWZWN0
b3JCdWZmZXJPZmZzZXRbdDJdLCB0MgorICAgIGFkZHAgdDMsIHQyCisgICAgYnRxbnogdDEsIHRh
Z01hc2ssIC5vcFN3aXRjaENoYXJGYWxsVGhyb3VnaAorICAgIGJibmVxIEpTQ2VsbDo6bV90eXBl
W3QxXSwgU3RyaW5nVHlwZSwgLm9wU3dpdGNoQ2hhckZhbGxUaHJvdWdoCisgICAgYmluZXEgSlNT
dHJpbmc6Om1fbGVuZ3RoW3QxXSwgMSwgLm9wU3dpdGNoQ2hhckZhbGxUaHJvdWdoCisgICAgbG9h
ZHAgSlNTdHJpbmc6Om1fdmFsdWVbdDFdLCB0MAorICAgIGJ0cHogIHQwLCAub3BTd2l0Y2hPblJv
cGUKKyAgICBsb2FkcCBTdHJpbmdJbXBsOjptX2RhdGE4W3QwXSwgdDEKKyAgICBidGlueiBTdHJp
bmdJbXBsOjptX2hhc2hBbmRGbGFnc1t0MF0sIEhhc2hGbGFnczhCaXRCdWZmZXIsIC5vcFN3aXRj
aENoYXI4Qml0CisgICAgbG9hZGggW3QxXSwgdDAKKyAgICBqbXAgLm9wU3dpdGNoQ2hhclJlYWR5
Cisub3BTd2l0Y2hDaGFyOEJpdDoKKyAgICBsb2FkYiBbdDFdLCB0MAorLm9wU3dpdGNoQ2hhclJl
YWR5OgorICAgIHN1YmkgU2ltcGxlSnVtcFRhYmxlOjptaW5bdDJdLCB0MAorICAgIGJpYWVxIHQw
LCBTaW1wbGVKdW1wVGFibGU6OmJyYW5jaE9mZnNldHMgKyBWZWN0b3JTaXplT2Zmc2V0W3QyXSwg
Lm9wU3dpdGNoQ2hhckZhbGxUaHJvdWdoCisgICAgbG9hZHAgU2ltcGxlSnVtcFRhYmxlOjpicmFu
Y2hPZmZzZXRzICsgVmVjdG9yQnVmZmVyT2Zmc2V0W3QyXSwgdDIKKyAgICBsb2FkaXMgW3QyLCB0
MCwgNF0sIHQxCisgICAgYnRpeiB0MSwgLm9wU3dpdGNoQ2hhckZhbGxUaHJvdWdoCisgICAgZGlz
cGF0Y2godDEpCisKKy5vcFN3aXRjaENoYXJGYWxsVGhyb3VnaDoKKyAgICBkaXNwYXRjaEludElu
ZGlyZWN0KDIpCisKKy5vcFN3aXRjaE9uUm9wZToKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xs
aW50X3Nsb3dfcGF0aF9zd2l0Y2hfY2hhcikKKyAgICBkaXNwYXRjaCgwKQorCisKK21hY3JvIGFy
cmF5UHJvZmlsZUZvckNhbGwoKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0MykKKyAg
ICBuZWdwIHQzCisgICAgbG9hZHEgVGhpc0FyZ3VtZW50T2Zmc2V0W2NmciwgdDMsIDhdLCB0MAor
ICAgIGJ0cW56IHQwLCB0YWdNYXNrLCAuZG9uZQorICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKChD
YWxsT3BDb2RlU2l6ZSAtIDIpLCB0MSkKKyAgICBsb2FkaSBKU0NlbGw6Om1fc3RydWN0dXJlSURb
dDBdLCB0MworICAgIHN0b3JlaSB0MywgQXJyYXlQcm9maWxlOjptX2xhc3RTZWVuU3RydWN0dXJl
SURbdDFdCisuZG9uZToKK2VuZAorCittYWNybyBkb0NhbGwoc2xvd1BhdGgsIHByZXBhcmVDYWxs
KQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkKKyAgICBsb2FkcEZyb21JbnN0cnVj
dGlvbig1LCB0MSkKKyAgICBsb2FkcCBMTEludENhbGxMaW5rSW5mbzo6Y2FsbGVlW3QxXSwgdDIK
KyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQwLCB0MykKKyAgICBicW5lcSB0MywgdDIsIC5v
cENhbGxTbG93CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQzKQorICAgIGxzaGlmdGkg
MywgdDMKKyAgICBuZWdwIHQzCisgICAgYWRkcCBjZnIsIHQzCisgICAgc3RvcmVxIHQyLCBDYWxs
ZWVbdDNdCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQyKQorICAgIHN0b3JlaSBQQywg
QXJndW1lbnRDb3VudCArIFRhZ09mZnNldFtjZnJdCisgICAgc3RvcmVpIHQyLCBBcmd1bWVudENv
dW50ICsgUGF5bG9hZE9mZnNldFt0M10KKyAgICBtb3ZlIHQzLCBzcAorICAgIHByZXBhcmVDYWxs
KExMSW50Q2FsbExpbmtJbmZvOjptYWNoaW5lQ29kZVRhcmdldFt0MV0sIHQyLCB0MywgdDQpCisg
ICAgY2FsbFRhcmdldEZ1bmN0aW9uKExMSW50Q2FsbExpbmtJbmZvOjptYWNoaW5lQ29kZVRhcmdl
dFt0MV0pCisKKy5vcENhbGxTbG93OgorICAgIHNsb3dQYXRoRm9yQ2FsbChzbG93UGF0aCwgcHJl
cGFyZUNhbGwpCitlbmQKKworX2xsaW50X29wX3JldDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisg
ICAgY2hlY2tTd2l0Y2hUb0pJVEZvckVwaWxvZ3VlKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rp
b24oMSwgdDIpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgcjApCisgICAgZG9SZXR1
cm4oKQorCisKK19sbGludF9vcF90b19wcmltaXRpdmU6CisgICAgdHJhY2VFeGVjdXRpb24oKQor
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MikKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rp
b24oMSwgdDMpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDApCisgICAgYnRxbnog
dDAsIHRhZ01hc2ssIC5vcFRvUHJpbWl0aXZlSXNJbW0KKyAgICBiYmFlcSBKU0NlbGw6Om1fdHlw
ZVt0MF0sIE9iamVjdFR5cGUsIC5vcFRvUHJpbWl0aXZlU2xvd0Nhc2UKKy5vcFRvUHJpbWl0aXZl
SXNJbW06CisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MywgOF0KKyAgICBkaXNwYXRjaChjb25zdGV4
cHIgb3BfdG9fcHJpbWl0aXZlX2xlbmd0aCkKKworLm9wVG9QcmltaXRpdmVTbG93Q2FzZToKKyAg
ICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF90b19wcmltaXRpdmUpCisgICAgZGlzcGF0
Y2goY29uc3RleHByIG9wX3RvX3ByaW1pdGl2ZV9sZW5ndGgpCisKKworX2xsaW50X29wX2NhdGNo
OgorICAgICMgVGhpcyBpcyB3aGVyZSB3ZSBlbmQgdXAgZnJvbSB0aGUgSklUJ3MgdGhyb3cgdHJh
bXBvbGluZSAoYmVjYXVzZSB0aGUKKyAgICAjIG1hY2hpbmUgY29kZSByZXR1cm4gYWRkcmVzcyB3
aWxsIGJlIHNldCB0byBfbGxpbnRfb3BfY2F0Y2gpLCBhbmQgZnJvbQorICAgICMgdGhlIGludGVy
cHJldGVyJ3MgdGhyb3cgdHJhbXBvbGluZSAoc2VlIF9sbGludF90aHJvd190cmFtcG9saW5lKS4K
KyAgICAjIFRoZSB0aHJvd2luZyBjb2RlIG11c3QgaGF2ZSBrbm93biB0aGF0IHdlIHdlcmUgdGhy
b3dpbmcgdG8gdGhlIGludGVycHJldGVyLAorICAgICMgYW5kIGhhdmUgc2V0IFZNOjp0YXJnZXRJ
bnRlcnByZXRlclBDRm9yVGhyb3cuCisgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQzCisgICAgYW5k
cCBNYXJrZWRCbG9ja01hc2ssIHQzCisgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fdm1bdDNdLCB0
MworICAgIHJlc3RvcmVDYWxsZWVTYXZlc0Zyb21WTUVudHJ5RnJhbWVDYWxsZWVTYXZlc0J1ZmZl
cih0MywgdDApCisgICAgbG9hZHAgVk06OmNhbGxGcmFtZUZvckNhdGNoW3QzXSwgY2ZyCisgICAg
c3RvcmVwIDAsIFZNOjpjYWxsRnJhbWVGb3JDYXRjaFt0M10KKyAgICByZXN0b3JlU3RhY2tQb2lu
dGVyQWZ0ZXJDYWxsKCkKKworICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCBQQgorICAgIGxvYWRw
IENvZGVCbG9jazo6bV9pbnN0cnVjdGlvbnNbUEJdLCBQQgorICAgIGxvYWRwIFZNOjp0YXJnZXRJ
bnRlcnByZXRlclBDRm9yVGhyb3dbdDNdLCBQQworICAgIHN1YnAgUEIsIFBDCisgICAgcnNoaWZ0
cCAzLCBQQworCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfY2hlY2tf
aWZfZXhjZXB0aW9uX2lzX3VuY2F0Y2hhYmxlX2FuZF9ub3RpZnlfcHJvZmlsZXIpCisgICAgYnBl
cSByMSwgMCwgLmlzQ2F0Y2hhYmxlRXhjZXB0aW9uCisgICAgam1wIF9sbGludF90aHJvd19mcm9t
X3Nsb3dfcGF0aF90cmFtcG9saW5lCisKKy5pc0NhdGNoYWJsZUV4Y2VwdGlvbjoKKyAgICBsb2Fk
cCBDYWxsZWVbY2ZyXSwgdDMKKyAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKKyAgICBsb2Fk
cCBNYXJrZWRCbG9jazo6bV92bVt0M10sIHQzCisKKyAgICBsb2FkcSBWTTo6bV9leGNlcHRpb25b
dDNdLCB0MAorICAgIHN0b3JlcSAwLCBWTTo6bV9leGNlcHRpb25bdDNdCisgICAgbG9hZGlzRnJv
bUluc3RydWN0aW9uKDEsIHQyKQorICAgIHN0b3JlcSB0MCwgW2NmciwgdDIsIDhdCisKKyAgICBs
b2FkcSBFeGNlcHRpb246Om1fdmFsdWVbdDBdLCB0MworICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlv
bigyLCB0MikKKyAgICBzdG9yZXEgdDMsIFtjZnIsIHQyLCA4XQorCisgICAgdHJhY2VFeGVjdXRp
b24oKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9jYXRjaF9sZW5ndGgpCisKKworX2xsaW50
X29wX2VuZDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2hlY2tTd2l0Y2hUb0pJVEZvckVw
aWxvZ3VlKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCisgICAgYXNzZXJ0Tm90
Q29uc3RhbnQodDApCisgICAgbG9hZHEgW2NmciwgdDAsIDhdLCByMAorICAgIGRvUmV0dXJuKCkK
KworCitfbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZToKKyAgICBsb2FkcCBD
YWxsZWVbY2ZyXSwgdDEKKyAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDEKKyAgICBsb2FkcCBN
YXJrZWRCbG9jazo6bV92bVt0MV0sIHQxCisgICAgY29weUNhbGxlZVNhdmVzVG9WTUVudHJ5RnJh
bWVDYWxsZWVTYXZlc0J1ZmZlcih0MSwgdDIpCisKKyAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Ns
b3dfcGF0aF9oYW5kbGVfZXhjZXB0aW9uKQorCisgICAgIyBXaGVuIHRocm93aW5nIGZyb20gdGhl
IGludGVycHJldGVyIChpLmUuIHRocm93aW5nIGZyb20gTExJbnRTbG93UGF0aHMpLCBzbworICAg
ICMgdGhlIHRocm93IHRhcmdldCBpcyBub3QgbmVjZXNzYXJpbHkgaW50ZXJwcmV0ZWQgY29kZSwg
d2UgY29tZSB0byBoZXJlLgorICAgICMgVGhpcyBlc3NlbnRpYWxseSBlbXVsYXRlcyB0aGUgSklU
J3MgdGhyb3dpbmcgcHJvdG9jb2wuCisgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQxCisgICAgYW5k
cCBNYXJrZWRCbG9ja01hc2ssIHQxCisgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fdm1bdDFdLCB0
MQorICAgIGptcCBWTTo6dGFyZ2V0TWFjaGluZVBDRm9yVGhyb3dbdDFdCisKKworX2xsaW50X3Ro
cm93X2R1cmluZ19jYWxsX3RyYW1wb2xpbmU6CisgICAgcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0
ZXJDYWxsKHQyKQorICAgIGptcCBfbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGlu
ZQorCisKK21hY3JvIG5hdGl2ZUNhbGxUcmFtcG9saW5lKGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0
aW9uKQorCisgICAgZnVuY3Rpb25Qcm9sb2d1ZSgpCisgICAgc3RvcmVwIDAsIENvZGVCbG9ja1tj
ZnJdCisgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQwCisgICAgYW5kcCBNYXJrZWRCbG9ja01hc2ss
IHQwLCB0MQorICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3ZtW3QxXSwgdDEKKyAgICBzdG9yZXAg
Y2ZyLCBWTTo6dG9wQ2FsbEZyYW1lW3QxXQorICAgIGlmIEFSTTY0IG9yIENfTE9PUAorICAgICAg
ICBzdG9yZXAgbHIsIFJldHVyblBDW2Nmcl0KKyAgICBlbmQKKyAgICBtb3ZlIGNmciwgYTAKKyAg
ICBsb2FkcCBDYWxsZWVbY2ZyXSwgdDEKKyAgICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4ZWN1dGFi
bGVbdDFdLCB0MQorICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHQzLCAweGRlYWQwMDAx
KQorICAgIGlmIENfTE9PUAorICAgICAgICBjbG9vcENhbGxOYXRpdmUgZXhlY3V0YWJsZU9mZnNl
dFRvRnVuY3Rpb25bdDFdCisgICAgZWxzZQorICAgICAgICBpZiBYODZfNjRfV0lOCisgICAgICAg
ICAgICBzdWJwIDMyLCBzcAorICAgICAgICBlbmQKKyAgICAgICAgY2FsbCBleGVjdXRhYmxlT2Zm
c2V0VG9GdW5jdGlvblt0MV0KKyAgICAgICAgaWYgWDg2XzY0X1dJTgorICAgICAgICAgICAgYWRk
cCAzMiwgc3AKKyAgICAgICAgZW5kCisgICAgZW5kCisKKyAgICBsb2FkcCBDYWxsZWVbY2ZyXSwg
dDMKKyAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKKyAgICBsb2FkcCBNYXJrZWRCbG9jazo6
bV92bVt0M10sIHQzCisKKyAgICBidHFueiBWTTo6bV9leGNlcHRpb25bdDNdLCAuaGFuZGxlRXhj
ZXB0aW9uCisKKyAgICBmdW5jdGlvbkVwaWxvZ3VlKCkKKyAgICByZXQKKworLmhhbmRsZUV4Y2Vw
dGlvbjoKKyAgICBzdG9yZXAgY2ZyLCBWTTo6dG9wQ2FsbEZyYW1lW3QzXQorICAgIGptcCBfbGxp
bnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZQorZW5kCisKK21hY3JvIGdldENvbnN0
YW50U2NvcGUoZHN0KQorICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDYsIHQwKQorICAgIGxvYWRp
c0Zyb21JbnN0cnVjdGlvbihkc3QsIHQxKQorICAgIHN0b3JlcSB0MCwgW2NmciwgdDEsIDhdCitl
bmQKKworbWFjcm8gdmFySW5qZWN0aW9uQ2hlY2soc2xvd1BhdGgpCisgICAgbG9hZHAgQ29kZUJs
b2NrW2Nmcl0sIHQwCisgICAgbG9hZHAgQ29kZUJsb2NrOjptX2dsb2JhbE9iamVjdFt0MF0sIHQw
CisgICAgbG9hZHAgSlNHbG9iYWxPYmplY3Q6Om1fdmFySW5qZWN0aW9uV2F0Y2hwb2ludFt0MF0s
IHQwCisgICAgYmJlcSBXYXRjaHBvaW50U2V0OjptX3N0YXRlW3QwXSwgSXNJbnZhbGlkYXRlZCwg
c2xvd1BhdGgKK2VuZAorCittYWNybyByZXNvbHZlU2NvcGUoKQorICAgIGxvYWRpc0Zyb21JbnN0
cnVjdGlvbig1LCB0MikKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDApCisgICAgbG9h
ZHAgW2NmciwgdDAsIDhdLCB0MAorICAgIGJ0aXogdDIsIC5yZXNvbHZlU2NvcGVMb29wRW5kCisK
Ky5yZXNvbHZlU2NvcGVMb29wOgorICAgIGxvYWRwIEpTU2NvcGU6Om1fbmV4dFt0MF0sIHQwCisg
ICAgc3ViaSAxLCB0MgorICAgIGJ0aW56IHQyLCAucmVzb2x2ZVNjb3BlTG9vcAorCisucmVzb2x2
ZVNjb3BlTG9vcEVuZDoKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgc3Rv
cmVxIHQwLCBbY2ZyLCB0MSwgOF0KK2VuZAorCisKK19sbGludF9vcF9yZXNvbHZlX3Njb3BlOgor
ICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNCwgdDApCisK
KyNyR2xvYmFsUHJvcGVydHk6CisgICAgYmluZXEgdDAsIEdsb2JhbFByb3BlcnR5LCAuckdsb2Jh
bFZhcgorICAgIGdldENvbnN0YW50U2NvcGUoMSkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3Bf
cmVzb2x2ZV9zY29wZV9sZW5ndGgpCisKKy5yR2xvYmFsVmFyOgorICAgIGJpbmVxIHQwLCBHbG9i
YWxWYXIsIC5yR2xvYmFsTGV4aWNhbFZhcgorICAgIGdldENvbnN0YW50U2NvcGUoMSkKKyAgICBk
aXNwYXRjaChjb25zdGV4cHIgb3BfcmVzb2x2ZV9zY29wZV9sZW5ndGgpCisKKy5yR2xvYmFsTGV4
aWNhbFZhcjoKKyAgICBiaW5lcSB0MCwgR2xvYmFsTGV4aWNhbFZhciwgLnJDbG9zdXJlVmFyCisg
ICAgZ2V0Q29uc3RhbnRTY29wZSgxKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9yZXNvbHZl
X3Njb3BlX2xlbmd0aCkKKworLnJDbG9zdXJlVmFyOgorICAgIGJpbmVxIHQwLCBDbG9zdXJlVmFy
LCAuck1vZHVsZVZhcgorICAgIHJlc29sdmVTY29wZSgpCisgICAgZGlzcGF0Y2goY29uc3RleHBy
IG9wX3Jlc29sdmVfc2NvcGVfbGVuZ3RoKQorCisuck1vZHVsZVZhcjoKKyAgICBiaW5lcSB0MCwg
TW9kdWxlVmFyLCAuckdsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNrcworICAgIGdl
dENvbnN0YW50U2NvcGUoMSkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfcmVzb2x2ZV9zY29w
ZV9sZW5ndGgpCisKKy5yR2xvYmFsUHJvcGVydHlXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOgorICAg
IGJpbmVxIHQwLCBHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5yR2xvYmFs
VmFyV2l0aFZhckluamVjdGlvbkNoZWNrcworICAgIHZhckluamVjdGlvbkNoZWNrKC5yRHluYW1p
YykKKyAgICBnZXRDb25zdGFudFNjb3BlKDEpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3Jl
c29sdmVfc2NvcGVfbGVuZ3RoKQorCisuckdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M6
CisgICAgYmluZXEgdDAsIEdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5yR2xvYmFs
TGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MKKyAgICB2YXJJbmplY3Rpb25DaGVjaygu
ckR5bmFtaWMpCisgICAgZ2V0Q29uc3RhbnRTY29wZSgxKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhw
ciBvcF9yZXNvbHZlX3Njb3BlX2xlbmd0aCkKKworLnJHbG9iYWxMZXhpY2FsVmFyV2l0aFZhcklu
amVjdGlvbkNoZWNrczoKKyAgICBiaW5lcSB0MCwgR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmpl
Y3Rpb25DaGVja3MsIC5yQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MKKyAgICB2YXJJ
bmplY3Rpb25DaGVjayguckR5bmFtaWMpCisgICAgZ2V0Q29uc3RhbnRTY29wZSgxKQorICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciBvcF9yZXNvbHZlX3Njb3BlX2xlbmd0aCkKKworLnJDbG9zdXJlVmFy
V2l0aFZhckluamVjdGlvbkNoZWNrczoKKyAgICBiaW5lcSB0MCwgQ2xvc3VyZVZhcldpdGhWYXJJ
bmplY3Rpb25DaGVja3MsIC5yRHluYW1pYworICAgIHZhckluamVjdGlvbkNoZWNrKC5yRHluYW1p
YykKKyAgICByZXNvbHZlU2NvcGUoKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9yZXNvbHZl
X3Njb3BlX2xlbmd0aCkKKworLnJEeW5hbWljOgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xv
d19wYXRoX3Jlc29sdmVfc2NvcGUpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3Jlc29sdmVf
c2NvcGVfbGVuZ3RoKQorCisKK21hY3JvIGxvYWRXaXRoU3RydWN0dXJlQ2hlY2sob3BlcmFuZCwg
c2xvd1BhdGgpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKG9wZXJhbmQsIHQwKQorICAgIGxv
YWRxIFtjZnIsIHQwLCA4XSwgdDAKKyAgICBsb2FkU3RydWN0dXJlV2l0aFNjcmF0Y2godDAsIHQy
LCB0MSkKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig1LCB0MSkKKyAgICBicG5lcSB0MiwgdDEs
IHNsb3dQYXRoCitlbmQKKworbWFjcm8gZ2V0UHJvcGVydHkoKQorICAgIGxvYWRpc0Zyb21JbnN0
cnVjdGlvbig2LCB0MSkKKyAgICBsb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0KHQxLCB0MCwg
dDIpCisgICAgdmFsdWVQcm9maWxlKHQyLCA3LCB0MCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rp
b24oMSwgdDApCisgICAgc3RvcmVxIHQyLCBbY2ZyLCB0MCwgOF0KK2VuZAorCittYWNybyBnZXRH
bG9iYWxWYXIodGR6Q2hlY2tJZk5lY2Vzc2FyeSkKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig2
LCB0MCkKKyAgICBsb2FkcSBbdDBdLCB0MAorICAgIHRkekNoZWNrSWZOZWNlc3NhcnkodDApCisg
ICAgdmFsdWVQcm9maWxlKHQwLCA3LCB0MSkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwg
dDEpCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MSwgOF0KK2VuZAorCittYWNybyBnZXRDbG9zdXJl
VmFyKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNiwgdDEpCisgICAgbG9hZHEgSlNFbnZp
cm9ubWVudFJlY29yZF92YXJpYWJsZXNbdDAsIHQxLCA4XSwgdDAKKyAgICB2YWx1ZVByb2ZpbGUo
dDAsIDcsIHQxKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKKyAgICBzdG9yZXEg
dDAsIFtjZnIsIHQxLCA4XQorZW5kCisKK19sbGludF9vcF9nZXRfZnJvbV9zY29wZToKKyAgICB0
cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQwKQorICAgIGFu
ZGkgUmVzb2x2ZVR5cGVNYXNrLCB0MAorCisjZ0dsb2JhbFByb3BlcnR5OgorICAgIGJpbmVxIHQw
LCBHbG9iYWxQcm9wZXJ0eSwgLmdHbG9iYWxWYXIKKyAgICBsb2FkV2l0aFN0cnVjdHVyZUNoZWNr
KDIsIC5nRHluYW1pYykKKyAgICBnZXRQcm9wZXJ0eSgpCisgICAgZGlzcGF0Y2goY29uc3RleHBy
IG9wX2dldF9mcm9tX3Njb3BlX2xlbmd0aCkKKworLmdHbG9iYWxWYXI6CisgICAgYmluZXEgdDAs
IEdsb2JhbFZhciwgLmdHbG9iYWxMZXhpY2FsVmFyCisgICAgZ2V0R2xvYmFsVmFyKG1hY3JvKHYp
IGVuZCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2Zyb21fc2NvcGVfbGVuZ3RoKQor
CisuZ0dsb2JhbExleGljYWxWYXI6CisgICAgYmluZXEgdDAsIEdsb2JhbExleGljYWxWYXIsIC5n
Q2xvc3VyZVZhcgorICAgIGdldEdsb2JhbFZhcigKKyAgICAgICAgbWFjcm8gKHZhbHVlKQorICAg
ICAgICAgICAgYnFlcSB2YWx1ZSwgVmFsdWVFbXB0eSwgLmdEeW5hbWljCisgICAgICAgIGVuZCkK
KyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2Zyb21fc2NvcGVfbGVuZ3RoKQorCisuZ0Ns
b3N1cmVWYXI6CisgICAgYmluZXEgdDAsIENsb3N1cmVWYXIsIC5nR2xvYmFsUHJvcGVydHlXaXRo
VmFySW5qZWN0aW9uQ2hlY2tzCisgICAgbG9hZFZhcmlhYmxlKDIsIHQwKQorICAgIGdldENsb3N1
cmVWYXIoKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfZnJvbV9zY29wZV9sZW5ndGgp
CisKKy5nR2xvYmFsUHJvcGVydHlXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOgorICAgIGJpbmVxIHQw
LCBHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5nR2xvYmFsVmFyV2l0aFZh
ckluamVjdGlvbkNoZWNrcworICAgIGxvYWRXaXRoU3RydWN0dXJlQ2hlY2soMiwgLmdEeW5hbWlj
KQorICAgIGdldFByb3BlcnR5KCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2Zyb21f
c2NvcGVfbGVuZ3RoKQorCisuZ0dsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M6CisgICAg
YmluZXEgdDAsIEdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5nR2xvYmFsTGV4aWNh
bFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MKKyAgICB2YXJJbmplY3Rpb25DaGVjayguZ0R5bmFt
aWMpCisgICAgZ2V0R2xvYmFsVmFyKG1hY3JvKHYpIGVuZCkKKyAgICBkaXNwYXRjaChjb25zdGV4
cHIgb3BfZ2V0X2Zyb21fc2NvcGVfbGVuZ3RoKQorCisuZ0dsb2JhbExleGljYWxWYXJXaXRoVmFy
SW5qZWN0aW9uQ2hlY2tzOgorICAgIGJpbmVxIHQwLCBHbG9iYWxMZXhpY2FsVmFyV2l0aFZhcklu
amVjdGlvbkNoZWNrcywgLmdDbG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcworICAgIHZh
ckluamVjdGlvbkNoZWNrKC5nRHluYW1pYykKKyAgICBnZXRHbG9iYWxWYXIoCisgICAgICAgIG1h
Y3JvICh2YWx1ZSkKKyAgICAgICAgICAgIGJxZXEgdmFsdWUsIFZhbHVlRW1wdHksIC5nRHluYW1p
YworICAgICAgICBlbmQpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9mcm9tX3Njb3Bl
X2xlbmd0aCkKKworLmdDbG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNrczoKKyAgICBiaW5l
cSB0MCwgQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5nRHluYW1pYworICAgIHZh
ckluamVjdGlvbkNoZWNrKC5nRHluYW1pYykKKyAgICBsb2FkVmFyaWFibGUoMiwgdDApCisgICAg
Z2V0Q2xvc3VyZVZhcigpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9mcm9tX3Njb3Bl
X2xlbmd0aCkKKworLmdEeW5hbWljOgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xv
d19wYXRoX2dldF9mcm9tX3Njb3BlKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfZnJv
bV9zY29wZV9sZW5ndGgpCisKKworbWFjcm8gcHV0UHJvcGVydHkoKQorICAgIGxvYWRpc0Zyb21J
bnN0cnVjdGlvbigzLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MikKKyAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNiwgdDEpCisgICAgc3RvcmVQcm9wZXJ0eUF0VmFyaWFi
bGVPZmZzZXQodDEsIHQwLCB0MiwgdDMpCitlbmQKKworbWFjcm8gcHV0R2xvYmFsVmFyaWFibGUo
KQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MCkKKyAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlKHQwLCB0MSkKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig1LCB0MikKKyAgICBsb2Fk
cEZyb21JbnN0cnVjdGlvbig2LCB0MCkKKyAgICBub3RpZnlXcml0ZSh0MiwgLnBEeW5hbWljKQor
ICAgIHN0b3JlcSB0MSwgW3QwXQorZW5kCisKK21hY3JvIHB1dENsb3N1cmVWYXIoKQorICAgIGxv
YWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQx
LCB0MikKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNiwgdDEpCisgICAgc3RvcmVxIHQyLCBK
U0Vudmlyb25tZW50UmVjb3JkX3ZhcmlhYmxlc1t0MCwgdDEsIDhdCitlbmQKKworbWFjcm8gcHV0
TG9jYWxDbG9zdXJlVmFyKCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDEpCisgICAg
bG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDIpCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24o
NSwgdDMpCisgICAgYnRweiB0MywgLm5vVmFyaWFibGVXYXRjaHBvaW50U2V0CisgICAgbm90aWZ5
V3JpdGUodDMsIC5wRHluYW1pYykKKy5ub1ZhcmlhYmxlV2F0Y2hwb2ludFNldDoKKyAgICBsb2Fk
aXNGcm9tSW5zdHJ1Y3Rpb24oNiwgdDEpCisgICAgc3RvcmVxIHQyLCBKU0Vudmlyb25tZW50UmVj
b3JkX3ZhcmlhYmxlc1t0MCwgdDEsIDhdCitlbmQKKworbWFjcm8gY2hlY2tURFpJbkdsb2JhbFB1
dFRvU2NvcGVJZk5lY2Vzc2FyeSgpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQwKQor
ICAgIGFuZGkgSW5pdGlhbGl6YXRpb25Nb2RlTWFzaywgdDAKKyAgICByc2hpZnRpIEluaXRpYWxp
emF0aW9uTW9kZVNoaWZ0LCB0MAorICAgIGJpbmVxIHQwLCBOb3RJbml0aWFsaXphdGlvbiwgLm5v
TmVlZEZvclREWkNoZWNrCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNiwgdDApCisgICAgbG9h
ZHEgW3QwXSwgdDAKKyAgICBicWVxIHQwLCBWYWx1ZUVtcHR5LCAucER5bmFtaWMKKy5ub05lZWRG
b3JURFpDaGVjazoKK2VuZAorCisKK19sbGludF9vcF9wdXRfdG9fc2NvcGU6CisgICAgdHJhY2VF
eGVjdXRpb24oKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0MCkKKyAgICBhbmRpIFJl
c29sdmVUeXBlTWFzaywgdDAKKworI3BMb2NhbENsb3N1cmVWYXI6CisgICAgYmluZXEgdDAsIExv
Y2FsQ2xvc3VyZVZhciwgLnBHbG9iYWxQcm9wZXJ0eQorICAgIGxvYWRWYXJpYWJsZSgxLCB0MCkK
KyAgICBwdXRMb2NhbENsb3N1cmVWYXIoKQorICAgIHdyaXRlQmFycmllck9uT3BlcmFuZHMoMSwg
MykKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfcHV0X3RvX3Njb3BlX2xlbmd0aCkKKworLnBH
bG9iYWxQcm9wZXJ0eToKKyAgICBiaW5lcSB0MCwgR2xvYmFsUHJvcGVydHksIC5wR2xvYmFsVmFy
CisgICAgbG9hZFdpdGhTdHJ1Y3R1cmVDaGVjaygxLCAucER5bmFtaWMpCisgICAgcHV0UHJvcGVy
dHkoKQorICAgIHdyaXRlQmFycmllck9uT3BlcmFuZHMoMSwgMykKKyAgICBkaXNwYXRjaChjb25z
dGV4cHIgb3BfcHV0X3RvX3Njb3BlX2xlbmd0aCkKKworLnBHbG9iYWxWYXI6CisgICAgYmluZXEg
dDAsIEdsb2JhbFZhciwgLnBHbG9iYWxMZXhpY2FsVmFyCisgICAgd3JpdGVCYXJyaWVyT25HbG9i
YWxPYmplY3QoMykKKyAgICBwdXRHbG9iYWxWYXJpYWJsZSgpCisgICAgZGlzcGF0Y2goY29uc3Rl
eHByIG9wX3B1dF90b19zY29wZV9sZW5ndGgpCisKKy5wR2xvYmFsTGV4aWNhbFZhcjoKKyAgICBi
aW5lcSB0MCwgR2xvYmFsTGV4aWNhbFZhciwgLnBDbG9zdXJlVmFyCisgICAgd3JpdGVCYXJyaWVy
T25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQoMykKKyAgICBjaGVja1REWkluR2xvYmFsUHV0VG9T
Y29wZUlmTmVjZXNzYXJ5KCkKKyAgICBwdXRHbG9iYWxWYXJpYWJsZSgpCisgICAgZGlzcGF0Y2go
Y29uc3RleHByIG9wX3B1dF90b19zY29wZV9sZW5ndGgpCisKKy5wQ2xvc3VyZVZhcjoKKyAgICBi
aW5lcSB0MCwgQ2xvc3VyZVZhciwgLnBHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVj
a3MKKyAgICBsb2FkVmFyaWFibGUoMSwgdDApCisgICAgcHV0Q2xvc3VyZVZhcigpCisgICAgd3Jp
dGVCYXJyaWVyT25PcGVyYW5kcygxLCAzKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wdXRf
dG9fc2NvcGVfbGVuZ3RoKQorCisucEdsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNr
czoKKyAgICBiaW5lcSB0MCwgR2xvYmFsUHJvcGVydHlXaXRoVmFySW5qZWN0aW9uQ2hlY2tzLCAu
cEdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MKKyAgICBsb2FkV2l0aFN0cnVjdHVyZUNo
ZWNrKDEsIC5wRHluYW1pYykKKyAgICBwdXRQcm9wZXJ0eSgpCisgICAgd3JpdGVCYXJyaWVyT25P
cGVyYW5kcygxLCAzKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wdXRfdG9fc2NvcGVfbGVu
Z3RoKQorCisucEdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M6CisgICAgYmluZXEgdDAs
IEdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5wR2xvYmFsTGV4aWNhbFZhcldpdGhW
YXJJbmplY3Rpb25DaGVja3MKKyAgICB3cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdCgzKQorICAg
IHZhckluamVjdGlvbkNoZWNrKC5wRHluYW1pYykKKyAgICBwdXRHbG9iYWxWYXJpYWJsZSgpCisg
ICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3B1dF90b19zY29wZV9sZW5ndGgpCisKKy5wR2xvYmFs
TGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M6CisgICAgYmluZXEgdDAsIEdsb2JhbExl
eGljYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzLCAucENsb3N1cmVWYXJXaXRoVmFySW5qZWN0
aW9uQ2hlY2tzCisgICAgd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQoMykK
KyAgICB2YXJJbmplY3Rpb25DaGVjaygucER5bmFtaWMpCisgICAgY2hlY2tURFpJbkdsb2JhbFB1
dFRvU2NvcGVJZk5lY2Vzc2FyeSgpCisgICAgcHV0R2xvYmFsVmFyaWFibGUoKQorICAgIGRpc3Bh
dGNoKGNvbnN0ZXhwciBvcF9wdXRfdG9fc2NvcGVfbGVuZ3RoKQorCisucENsb3N1cmVWYXJXaXRo
VmFySW5qZWN0aW9uQ2hlY2tzOgorICAgIGJpbmVxIHQwLCBDbG9zdXJlVmFyV2l0aFZhckluamVj
dGlvbkNoZWNrcywgLnBNb2R1bGVWYXIKKyAgICB2YXJJbmplY3Rpb25DaGVjaygucER5bmFtaWMp
CisgICAgbG9hZFZhcmlhYmxlKDEsIHQwKQorICAgIHB1dENsb3N1cmVWYXIoKQorICAgIHdyaXRl
QmFycmllck9uT3BlcmFuZHMoMSwgMykKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfcHV0X3Rv
X3Njb3BlX2xlbmd0aCkKKworLnBNb2R1bGVWYXI6CisgICAgYmluZXEgdDAsIE1vZHVsZVZhciwg
LnBEeW5hbWljCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfdGhyb3dfc3RyaWN0
X21vZGVfcmVhZG9ubHlfcHJvcGVydHlfd3JpdGVfZXJyb3IpCisgICAgZGlzcGF0Y2goY29uc3Rl
eHByIG9wX3B1dF90b19zY29wZV9sZW5ndGgpCisKKy5wRHluYW1pYzoKKyAgICBjYWxsT3Bjb2Rl
U2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9wdXRfdG9fc2NvcGUpCisgICAgZGlzcGF0Y2goY29u
c3RleHByIG9wX3B1dF90b19zY29wZV9sZW5ndGgpCisKKworX2xsaW50X29wX2dldF9mcm9tX2Fy
Z3VtZW50czoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZFZhcmlhYmxlKDIsIHQwKQor
ICAgIGxvYWRpIDI0W1BCLCBQQywgOF0sIHQxCisgICAgbG9hZHEgRGlyZWN0QXJndW1lbnRzX3N0
b3JhZ2VbdDAsIHQxLCA4XSwgdDAKKyAgICB2YWx1ZVByb2ZpbGUodDAsIDQsIHQxKQorICAgIGxv
YWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKKyAgICBzdG9yZXEgdDAsIFtjZnIsIHQxLCA4XQor
ICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfZnJvbV9hcmd1bWVudHNfbGVuZ3RoKQorCisK
K19sbGludF9vcF9wdXRfdG9fYXJndW1lbnRzOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBs
b2FkVmFyaWFibGUoMSwgdDApCisgICAgbG9hZGkgMTZbUEIsIFBDLCA4XSwgdDEKKyAgICBsb2Fk
aXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDMpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0Mywg
dDIpCisgICAgc3RvcmVxIHQyLCBEaXJlY3RBcmd1bWVudHNfc3RvcmFnZVt0MCwgdDEsIDhdCisg
ICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcygxLCAzKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBv
cF9wdXRfdG9fYXJndW1lbnRzX2xlbmd0aCkKKworCitfbGxpbnRfb3BfZ2V0X3BhcmVudF9zY29w
ZToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZFZhcmlhYmxlKDIsIHQwKQorICAgIGxv
YWRwIEpTU2NvcGU6Om1fbmV4dFt0MF0sIHQwCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEs
IHQxKQorICAgIHN0b3JlcSB0MCwgW2NmciwgdDEsIDhdCisgICAgZGlzcGF0Y2goY29uc3RleHBy
IG9wX2dldF9wYXJlbnRfc2NvcGVfbGVuZ3RoKQorCisKK19sbGludF9vcF9wcm9maWxlX3R5cGU6
CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MQorICAg
IGxvYWRwIENvZGVCbG9jazo6bV92bVt0MV0sIHQxCisgICAgIyB0MSBpcyBob2xkaW5nIHRoZSBw
b2ludGVyIHRvIHRoZSB0eXBlUHJvZmlsZXJMb2cuCisgICAgbG9hZHAgVk06Om1fdHlwZVByb2Zp
bGVyTG9nW3QxXSwgdDEKKyAgICAjIHQyIGlzIGhvbGRpbmcgdGhlIHBvaW50ZXIgdG8gdGhlIGN1
cnJlbnQgbG9nIGVudHJ5LgorICAgIGxvYWRwIFR5cGVQcm9maWxlckxvZzo6bV9jdXJyZW50TG9n
RW50cnlQdHJbdDFdLCB0MgorCisgICAgIyB0MCBpcyBob2xkaW5nIHRoZSBKU1ZhbHVlIGFyZ3Vt
ZW50LgorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MykKKyAgICBsb2FkQ29uc3RhbnRP
clZhcmlhYmxlKHQzLCB0MCkKKworICAgIGJxZXEgdDAsIFZhbHVlRW1wdHksIC5vcFByb2ZpbGVU
eXBlRG9uZQorICAgICMgU3RvcmUgdGhlIEpTVmFsdWUgb250byB0aGUgbG9nIGVudHJ5LgorICAg
IHN0b3JlcSB0MCwgVHlwZVByb2ZpbGVyTG9nOjpMb2dFbnRyeTo6dmFsdWVbdDJdCisgICAgCisg
ICAgIyBTdG9yZSB0aGUgVHlwZUxvY2F0aW9uIG9udG8gdGhlIGxvZyBlbnRyeS4KKyAgICBsb2Fk
cEZyb21JbnN0cnVjdGlvbigyLCB0MykKKyAgICBzdG9yZXAgdDMsIFR5cGVQcm9maWxlckxvZzo6
TG9nRW50cnk6OmxvY2F0aW9uW3QyXQorCisgICAgYnRxeiB0MCwgdGFnTWFzaywgLm9wUHJvZmls
ZVR5cGVJc0NlbGwKKyAgICBzdG9yZWkgMCwgVHlwZVByb2ZpbGVyTG9nOjpMb2dFbnRyeTo6c3Ry
dWN0dXJlSURbdDJdCisgICAgam1wIC5vcFByb2ZpbGVUeXBlU2tpcElzQ2VsbAorLm9wUHJvZmls
ZVR5cGVJc0NlbGw6CisgICAgbG9hZGkgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QwXSwgdDMKKyAg
ICBzdG9yZWkgdDMsIFR5cGVQcm9maWxlckxvZzo6TG9nRW50cnk6OnN0cnVjdHVyZUlEW3QyXQor
Lm9wUHJvZmlsZVR5cGVTa2lwSXNDZWxsOgorICAgIAorICAgICMgSW5jcmVtZW50IHRoZSBjdXJy
ZW50IGxvZyBlbnRyeS4KKyAgICBhZGRwIHNpemVvZiBUeXBlUHJvZmlsZXJMb2c6OkxvZ0VudHJ5
LCB0MgorICAgIHN0b3JlcCB0MiwgVHlwZVByb2ZpbGVyTG9nOjptX2N1cnJlbnRMb2dFbnRyeVB0
clt0MV0KKworICAgIGxvYWRwIFR5cGVQcm9maWxlckxvZzo6bV9sb2dFbmRQdHJbdDFdLCB0MQor
ICAgIGJwbmVxIHQyLCB0MSwgLm9wUHJvZmlsZVR5cGVEb25lCisgICAgY2FsbE9wY29kZVNsb3dQ
YXRoKF9zbG93X3BhdGhfcHJvZmlsZV90eXBlX2NsZWFyX2xvZykKKworLm9wUHJvZmlsZVR5cGVE
b25lOgorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wcm9maWxlX3R5cGVfbGVuZ3RoKQorCitf
bGxpbnRfb3BfcHJvZmlsZV9jb250cm9sX2Zsb3c6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAg
IGxvYWRwRnJvbUluc3RydWN0aW9uKDEsIHQwKQorICAgIGFkZHEgMSwgQmFzaWNCbG9ja0xvY2F0
aW9uOjptX2V4ZWN1dGlvbkNvdW50W3QwXQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wcm9m
aWxlX2NvbnRyb2xfZmxvd19sZW5ndGgpCisKKworX2xsaW50X29wX2dldF9yZXN0X2xlbmd0aDoK
KyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldCArIEFyZ3VtZW50
Q291bnRbY2ZyXSwgdDAKKyAgICBzdWJpIDEsIHQwCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9u
KDIsIHQxKQorICAgIGJpbHRlcSB0MCwgdDEsIC5zdG9yZVplcm8KKyAgICBzdWJpIHQxLCB0MAor
ICAgIGptcCAuYm94VXAKKy5zdG9yZVplcm86CisgICAgbW92ZSAwLCB0MAorLmJveFVwOgorICAg
IG9ycSB0YWdUeXBlTnVtYmVyLCB0MAorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkK
KyAgICBzdG9yZXEgdDAsIFtjZnIsIHQxLCA4XQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9n
ZXRfcmVzdF9sZW5ndGhfbGVuZ3RoKQorCisKK19sbGludF9vcF9sb2dfc2hhZG93X2NoaWNrZW5f
cHJvbG9ndWU6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGFjcXVpcmVTaGFkb3dDaGlja2Vu
UGFja2V0KC5vcExvZ1NoYWRvd0NoaWNrZW5Qcm9sb2d1ZVNsb3cpCisgICAgc3RvcmVwIGNmciwg
U2hhZG93Q2hpY2tlbjo6UGFja2V0OjpmcmFtZVt0MF0KKyAgICBsb2FkcCBDYWxsZXJGcmFtZVtj
ZnJdLCB0MQorICAgIHN0b3JlcCB0MSwgU2hhZG93Q2hpY2tlbjo6UGFja2V0OjpjYWxsZXJGcmFt
ZVt0MF0KKyAgICBsb2FkcCBDYWxsZWVbY2ZyXSwgdDEKKyAgICBzdG9yZXAgdDEsIFNoYWRvd0No
aWNrZW46OlBhY2tldDo6Y2FsbGVlW3QwXQorICAgIGxvYWRWYXJpYWJsZSgxLCB0MSkKKyAgICBz
dG9yZXAgdDEsIFNoYWRvd0NoaWNrZW46OlBhY2tldDo6c2NvcGVbdDBdCisgICAgZGlzcGF0Y2go
Y29uc3RleHByIG9wX2xvZ19zaGFkb3dfY2hpY2tlbl9wcm9sb2d1ZV9sZW5ndGgpCisub3BMb2dT
aGFkb3dDaGlja2VuUHJvbG9ndWVTbG93OgorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRf
c2xvd19wYXRoX2xvZ19zaGFkb3dfY2hpY2tlbl9wcm9sb2d1ZSkKKyAgICBkaXNwYXRjaChjb25z
dGV4cHIgb3BfbG9nX3NoYWRvd19jaGlja2VuX3Byb2xvZ3VlX2xlbmd0aCkKKworCitfbGxpbnRf
b3BfbG9nX3NoYWRvd19jaGlja2VuX3RhaWw6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGFj
cXVpcmVTaGFkb3dDaGlja2VuUGFja2V0KC5vcExvZ1NoYWRvd0NoaWNrZW5UYWlsU2xvdykKKyAg
ICBzdG9yZXAgY2ZyLCBTaGFkb3dDaGlja2VuOjpQYWNrZXQ6OmZyYW1lW3QwXQorICAgIHN0b3Jl
cCBTaGFkb3dDaGlja2VuVGFpbE1hcmtlciwgU2hhZG93Q2hpY2tlbjo6UGFja2V0OjpjYWxsZWVb
dDBdCisgICAgbG9hZFZhcmlhYmxlKDEsIHQxKQorICAgIHN0b3JlcCB0MSwgU2hhZG93Q2hpY2tl
bjo6UGFja2V0Ojp0aGlzVmFsdWVbdDBdCisgICAgbG9hZFZhcmlhYmxlKDIsIHQxKQorICAgIHN0
b3JlcCB0MSwgU2hhZG93Q2hpY2tlbjo6UGFja2V0OjpzY29wZVt0MF0KKyAgICBsb2FkcCBDb2Rl
QmxvY2tbY2ZyXSwgdDEKKyAgICBzdG9yZXAgdDEsIFNoYWRvd0NoaWNrZW46OlBhY2tldDo6Y29k
ZUJsb2NrW3QwXQorICAgIHN0b3JlaSBQQywgU2hhZG93Q2hpY2tlbjo6UGFja2V0OjpjYWxsU2l0
ZUluZGV4W3QwXQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9sb2dfc2hhZG93X2NoaWNrZW5f
dGFpbF9sZW5ndGgpCisub3BMb2dTaGFkb3dDaGlja2VuVGFpbFNsb3c6CisgICAgY2FsbE9wY29k
ZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbG9nX3NoYWRvd19jaGlja2VuX3RhaWwpCisgICAg
ZGlzcGF0Y2goY29uc3RleHByIG9wX2xvZ19zaGFkb3dfY2hpY2tlbl90YWlsX2xlbmd0aCkKK2A7
CisKKyAgICBuZXcgRmlsZSgiTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbSIsIHNvdXJjZSk7Cit9
KSgpOworCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL1JleEJlbmNoL09mZmxpbmVBc3NlbWJsZXIv
TG93TGV2ZWxJbnRlcnByZXRlci5hc20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9S
ZXhCZW5jaC9PZmZsaW5lQXNzZW1ibGVyL0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCShub25leGlz
dGVudCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE4NjcgQEAKKyMg
Q29weXJpZ2h0IChDKSAyMDExLTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
IworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
IworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisjIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorIyBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworIyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisjIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisjIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworIyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorIyBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorIyBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisjIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworIyBDcmFzaCBjb3Vyc2Ug
b24gdGhlIGxhbmd1YWdlIHRoYXQgdGhpcyBpcyB3cml0dGVuIGluICh3aGljaCBJIGp1c3QgY2Fs
bAorIyAiYXNzZW1ibHkiIGV2ZW4gdGhvdWdoIGl0J3MgbW9yZSB0aGFuIHRoYXQpOgorIworIyAt
IE1vc3RseSBnYXMtc3R5bGUgb3BlcmFuZCBvcmRlcmluZy4gVGhlIGxhc3Qgb3BlcmFuZCB0ZW5k
cyB0byBiZSB0aGUKKyMgICBkZXN0aW5hdGlvbi4gU28gImEgOj0gYiIgaXMgd3JpdHRlbiBhcyAi
bW92IGIsIGEiLiBCdXQgdW5saWtlIGdhcywKKyMgICBjb21wYXJpc29ucyBhcmUgaW4tb3JkZXIs
IHNvICJpZiAoYSA8IGIpIiBpcyB3cml0dGVuIGFzCisjICAgImJpbHQgYSwgYiwgLi4uIi4KKyMK
KyMgLSAiYiIgPSBieXRlLCAiaCIgPSAxNi1iaXQgd29yZCwgImkiID0gMzItYml0IHdvcmQsICJw
IiA9IHBvaW50ZXIuCisjICAgRm9yIDMyLWJpdCwgImkiIGFuZCAicCIgYXJlIGludGVyY2hhbmdl
YWJsZSBleGNlcHQgd2hlbiBhbiBvcCBzdXBwb3J0cyBvbmUKKyMgICBidXQgbm90IHRoZSBvdGhl
ci4KKyMKKyMgLSBJbiBnZW5lcmFsLCB2YWxpZCBvcGVyYW5kcyBmb3IgbWFjcm8gaW52b2NhdGlv
bnMgYW5kIGluc3RydWN0aW9ucyBhcmUKKyMgICByZWdpc3RlcnMgKGVnICJ0MCIpLCBhZGRyZXNz
ZXMgKGVnICI0W3QwXSIpLCBiYXNlLWluZGV4IGFkZHJlc3NlcworIyAgIChlZyAiN1t0MCwgdDEs
IDJdIiksIGFic29sdXRlIGFkZHJlc3NlcyAoZWcgIjB4YTAwMDAwMDBbXSIpLCBvciBsYWJlbHMK
KyMgICAoZWcgIl9mb28iIG9yICIuZm9vIikuIE1hY3JvIGludm9jYXRpb25zIGNhbiBhbHNvIHRh
a2UgYW5vbnltb3VzCisjICAgbWFjcm9zIGFzIG9wZXJhbmRzLiBJbnN0cnVjdGlvbnMgY2Fubm90
IHRha2UgYW5vbnltb3VzIG1hY3Jvcy4KKyMKKyMgLSBMYWJlbHMgbXVzdCBoYXZlIG5hbWVzIHRo
YXQgYmVnaW4gd2l0aCBlaXRoZXIgIl8iIG9yICIuIi4gIEEgIi4iIGxhYmVsCisjICAgaXMgbG9j
YWwgYW5kIGdldHMgcmVuYW1lZCBiZWZvcmUgY29kZSBnZW4gdG8gbWluaW1pemUgbmFtZXNwYWNl
CisjICAgcG9sbHV0aW9uLiBBICJfIiBsYWJlbCBpcyBhbiBleHRlcm4gc3ltYm9sIChpLmUuICIu
Z2xvYmwiKS4gVGhlICJfIgorIyAgIG1heSBvciBtYXkgbm90IGJlIHJlbW92ZWQgZHVyaW5nIGNv
ZGUgZ2VuIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBhc20KKyMgICBjb252ZW50aW9ucyBmb3Ig
QyBuYW1lIG1hbmdsaW5nIG9uIHRoZSB0YXJnZXQgcGxhdGZvcm0gbWFuZGF0ZSBhICJfIgorIyAg
IHByZWZpeC4KKyMKKyMgLSBBICJtYWNybyIgaXMgYSBsYW1iZGEgZXhwcmVzc2lvbiwgd2hpY2gg
bWF5IGJlIGVpdGhlciBhbm9ueW1vdXMgb3IKKyMgICBuYW1lZC4gQnV0IHRoaXMgaGFzIGNhdmVh
dHMuICJtYWNybyIgY2FuIHRha2UgemVybyBvciBtb3JlIGFyZ3VtZW50cywKKyMgICB3aGljaCBt
YXkgYmUgbWFjcm9zIG9yIGFueSB2YWxpZCBvcGVyYW5kcywgYnV0IGl0IGNhbiBvbmx5IHJldHVy
bgorIyAgIGNvZGUuIEJ1dCB5b3UgY2FuIGRvIFR1cmluZy1jb21wbGV0ZSB0aGluZ3MgdmlhIGNv
bnRpbnVhdGlvbiBwYXNzaW5nCisjICAgc3R5bGU6ICJtYWNybyBmb28gKGEsIGIpIGIoYSwgYSkg
ZW5kIGZvbyhmb28sIGZvbykiLiBBY3R1YWxseSwgZG9uJ3QgZG8KKyMgICB0aGF0LCBzaW5jZSB5
b3UnbGwganVzdCBjcmFzaCB0aGUgYXNzZW1ibGVyLgorIworIyAtIEFuICJpZiIgaXMgYSBjb25k
aXRpb25hbCBvbiBzZXR0aW5ncy4gQW55IGlkZW50aWZpZXIgc3VwcGxpZWQgaW4gdGhlCisjICAg
cHJlZGljYXRlIG9mIGFuICJpZiIgaXMgYXNzdW1lZCB0byBiZSBhICNkZWZpbmUgdGhhdCBpcyBh
dmFpbGFibGUKKyMgICBkdXJpbmcgY29kZSBnZW4uIFNvIHlvdSBjYW4ndCB1c2UgImlmIiBmb3Ig
Y29tcHV0YXRpb24gaW4gYSBtYWNybywgYnV0CisjICAgeW91IGNhbiB1c2UgaXQgdG8gc2VsZWN0
IGRpZmZlcmVudCBwaWVjZXMgb2YgY29kZSBmb3IgZGlmZmVyZW50CisjICAgcGxhdGZvcm1zLgor
IworIyAtIEFyZ3VtZW50cyB0byBtYWNyb3MgZm9sbG93IGxleGljYWwgc2NvcGluZyByYXRoZXIg
dGhhbiBkeW5hbWljIHNjb3BpbmcuCisjICAgQ29uc3QncyBhbHNvIGZvbGxvdyBsZXhpY2FsIHNj
b3BpbmcgYW5kIG1heSBvdmVycmlkZSAoaGlkZSkgYXJndW1lbnRzCisjICAgb3Igb3RoZXIgY29u
c3RzLiBBbGwgdmFyaWFibGVzIChhcmd1bWVudHMgYW5kIGNvbnN0YW50cykgY2FuIGJlIGJvdW5k
CisjICAgdG8gb3BlcmFuZHMuIEFkZGl0aW9uYWxseSwgYXJndW1lbnRzIChidXQgbm90IGNvbnN0
YW50cykgY2FuIGJlIGJvdW5kCisjICAgdG8gbWFjcm9zLgorCisjIFRoZSBmb2xsb3dpbmcgZ2Vu
ZXJhbC1wdXJwb3NlIHJlZ2lzdGVycyBhcmUgYXZhaWxhYmxlOgorIworIyAgLSBjZnIgYW5kIHNw
IGhvbGQgdGhlIGNhbGwgZnJhbWUgYW5kIChuYXRpdmUpIHN0YWNrIHBvaW50ZXIgcmVzcGVjdGl2
ZWx5LgorIyAgVGhleSBhcmUgY2FsbGVlLXNhdmUgcmVnaXN0ZXJzLCBhbmQgZ3VhcmFudGVlZCB0
byBiZSBkaXN0aW5jdCBmcm9tIGFsbCBvdGhlcgorIyAgcmVnaXN0ZXJzIG9uIGFsbCBhcmNoaXRl
Y3R1cmVzLgorIworIyAgLSBsciBpcyBkZWZpbmVkIG9uIG5vbi1YODYgYXJjaGl0ZWN0dXJlcyAo
QVJNNjQsIEFSTXY3LCBBUk0sCisjICBBUk12N19UUkFESVRJT05BTCwgTUlQUyBhbmQgQ0xPT1Ap
IGFuZCBob2xkcyB0aGUgcmV0dXJuIFBDCisjCisjICAtIHBjIGhvbGRzIHRoZSAobmF0aXZlKSBw
cm9ncmFtIGNvdW50ZXIgb24gMzItYml0cyBBUk0gYXJjaGl0ZWN0dXJlcyAoQVJNLAorIyAgQVJN
djcsIEFSTXY3X1RSQURJVElPTkFMKQorIworIyAgLSB0MCwgdDEsIHQyLCB0MywgdDQgYW5kIG9w
dGlvbmFsbHkgdDUgYXJlIHRlbXBvcmFyeSByZWdpc3RlcnMgdGhhdCBjYW4gZ2V0IHRyYXNoZWQg
b24KKyMgIGNhbGxzLCBhbmQgYXJlIHBhaXJ3aXNlIGRpc3RpbmN0IHJlZ2lzdGVycy4gdDQgaG9s
ZHMgdGhlIEpTIHByb2dyYW0gY291bnRlciwgc28gdXNlCisjICB3aXRoIGNhdXRpb24gaW4gb3Bj
b2RlcyAoYWN0dWFsbHksIGRvbid0IHVzZSBpdCBpbiBvcGNvZGVzIGF0IGFsbCwgZXhjZXB0IGFz
IFBDKS4KKyMKKyMgIC0gcjAgYW5kIHIxIGFyZSB0aGUgcGxhdGZvcm0ncyBjdXN0b21hcnkgcmV0
dXJuIHJlZ2lzdGVycywgYW5kIHRodXMgYXJlCisjICB0d28gZGlzdGluY3QgcmVnaXN0ZXJzCisj
CisjICAtIGEwLCBhMSwgYTIgYW5kIGEzIGFyZSB0aGUgcGxhdGZvcm0ncyBjdXN0b21hcnkgYXJn
dW1lbnQgcmVnaXN0ZXJzLCBhbmQKKyMgIHRodXMgYXJlIHBhaXJ3aXNlIGRpc3RpbmN0IHJlZ2lz
dGVycy4gQmUgbWluZGZ1bCB0aGF0OgorIyAgICArIE9uIFg4NiwgdGhlcmUgYXJlIG5vIGFyZ3Vt
ZW50IHJlZ2lzdGVycy4gYTAgYW5kIGExIGFyZSBlZHggYW5kCisjICAgIGVjeCBmb2xsb3dpbmcg
dGhlIGZhc3RjYWxsIGNvbnZlbnRpb24sIGJ1dCB5b3Ugc2hvdWxkIHN0aWxsIHVzZSB0aGUgc3Rh
Y2sKKyMgICAgdG8gcGFzcyB5b3VyIGFyZ3VtZW50cy4gVGhlIGNDYWxsMiBhbmQgY0NhbGw0IG1h
Y3JvcyBkbyB0aGlzIGZvciB5b3UuCisjICAgICsgT24gWDg2XzY0X1dJTiwgeW91IHNob3VsZCBh
bGxvY2F0ZSBzcGFjZSBvbiB0aGUgc3RhY2sgZm9yIHRoZSBhcmd1bWVudHMsCisjICAgIGFuZCB0
aGUgcmV0dXJuIGNvbnZlbnRpb24gaXMgd2VpcmQgZm9yID4gOCBieXRlcyB0eXBlcy4gVGhlIG9u
bHkgcGxhY2Ugd2UKKyMgICAgdXNlID4gOCBieXRlcyByZXR1cm4gdmFsdWVzIGlzIG9uIGEgY0Nh
bGwsIGFuZCBjQ2FsbDIgYW5kIGNDYWxsNCBoYW5kbGUKKyMgICAgdGhpcyBmb3IgeW91LgorIwor
IyAgLSBUaGUgb25seSByZWdpc3RlcnMgZ3VhcmFudGVlZCB0byBiZSBjYWxsZXItc2F2ZWQgYXJl
IHIwLCByMSwgYTAsIGExIGFuZCBhMiwgYW5kCisjICB5b3Ugc2hvdWxkIGJlIG1pbmRmdWwgb2Yg
dGhhdCBpbiBmdW5jdGlvbnMgdGhhdCBhcmUgY2FsbGVkIGRpcmVjdGx5IGZyb20gQy4KKyMgIElm
IHlvdSBuZWVkIG1vcmUgcmVnaXN0ZXJzLCB5b3Ugc2hvdWxkIHB1c2ggYW5kIHBvcCB0aGVtIGxp
a2UgYSBnb29kCisjICBhc3NlbWJseSBjaXRpemVuLCBiZWNhdXNlIGFueSBvdGhlciByZWdpc3Rl
ciB3aWxsIGJlIGNhbGxlZS1zYXZlZCBvbiBYODYuCisjCisjIFlvdSBjYW4gYWRkaXRpb25hbGx5
IGFzc3VtZToKKyMKKyMgIC0gYTMsIHQyLCB0MywgdDQgYW5kIHQ1IGFyZSBuZXZlciByZXR1cm4g
cmVnaXN0ZXJzOyB0MCwgdDEsIGEwLCBhMSBhbmQgYTIKKyMgIGNhbiBiZSByZXR1cm4gcmVnaXN0
ZXJzLgorIworIyAgLSB0NCBhbmQgdDUgYXJlIG5ldmVyIGFyZ3VtZW50IHJlZ2lzdGVycywgdDMg
Y2FuIG9ubHkgYmUgYTMsIHQxIGNhbiBvbmx5IGJlCisjICBhMTsgYnV0IHQwIGFuZCB0MiBjYW4g
YmUgZWl0aGVyIGEwIG9yIGEyLgorIworIyAgLSBPbiA2NCBiaXRzLCB0aGVyZSBhcmUgY2FsbGVl
LXNhdmUgcmVnaXN0ZXJzIG5hbWVkIGNzcjAsIGNzcjEsIC4uLiBjc3JOLgorIyAgVGhlIGxhc3Qg
dGhyZWUgY3NyIHJlZ2lzdGVycyBhcmUgdXNlZCB1c2VkIHRvIHN0b3JlIHRoZSBQQyBiYXNlIGFu
ZAorIyAgdHdvIHNwZWNpYWwgdGFnIHZhbHVlcy4gRG9uJ3QgdXNlIHRoZW0gZm9yIGFueXRoaW5n
IGVsc2UuCisjCisjIEFkZGl0aW9uYWwgcGxhdGZvcm0tc3BlY2lmaWMgZGV0YWlscyAoeW91IHNo
b3VsZG4ndCByZWx5IG9uIHRoaXMgcmVtYWluaW5nCisjIHRydWUpOgorIworIyAgLSBGb3IgY29u
c2lzdGVuY3kgd2l0aCB0aGUgYmFzZWxpbmUgSklULCB0MCBpcyBhbHdheXMgcjAgKGFuZCB0MSBp
cyBhbHdheXMKKyMgIHIxIG9uIDMyIGJpdHMgcGxhdGZvcm1zKS4gWW91IHNob3VsZCB1c2UgdGhl
IHIgdmVyc2lvbiB3aGVuIHlvdSBuZWVkIHJldHVybgorIyAgcmVnaXN0ZXJzLCBhbmQgdGhlIHQg
dmVyc2lvbiBvdGhlcndpc2U6IGNvZGUgdXNpbmcgdDAgKG9yIHQxKSBzaG91bGQgc3RpbGwKKyMg
IHdvcmsgaWYgc3dhcHBlZCB3aXRoIGUuZy4gdDMsIHdoaWxlIGNvZGUgdXNpbmcgcjAgKG9yIHIx
KSBzaG91bGQgbm90LiBUaGVyZQorIyAgKm1heSogYmUgbGVnYWN5IGNvZGUgcmVseWluZyBvbiB0
aGlzLgorIworIyAgLSBPbiBhbGwgcGxhdGZvcm1zIG90aGVyIHRoYW4gWDg2LCB0MCBjYW4gb25s
eSBiZSBhMCBhbmQgdDIgY2FuIG9ubHkgYmUgYTIuCisjCisjICAtIE9uIGFsbCBwbGF0Zm9ybXMg
b3RoZXIgdGhhbiBYODYgYW5kIFg4Nl82NCwgYTIgaXMgbm90IGEgcmV0dXJuIHJlZ2lzdGVyLgor
IyAgYTIgaXMgcjAgb24gWDg2IChiZWNhdXNlIHdlIGhhdmUgc28gZmV3IHJlZ2lzdGVycykgYW5k
IHIxIG9uIFg4Nl82NCAoYmVjYXVzZQorIyAgdGhlIEFCSSBlbmZvcmNlcyBpdCkuCisjCisjIFRo
ZSBmb2xsb3dpbmcgZmxvYXRpbmctcG9pbnQgcmVnaXN0ZXJzIGFyZSBhdmFpbGFibGU6CisjCisj
ICAtIGZ0MC1mdDUgYXJlIHRlbXBvcmFyeSBmbG9hdGluZy1wb2ludCByZWdpc3RlcnMgdGhhdCBn
ZXQgdHJhc2hlZCBvbiBjYWxscywKKyMgIGFuZCBhcmUgcGFpcndpc2UgZGlzdGluY3QuCisjCisj
ICAtIGZhMCBhbmQgZmExIGFyZSB0aGUgcGxhdGZvcm0ncyBjdXN0b21hcnkgZmxvYXRpbmctcG9p
bnQgYXJndW1lbnQKKyMgIHJlZ2lzdGVycywgYW5kIGFyZSBib3RoIGRpc3RpbmN0LiBPbiA2NC1i
aXRzIHBsYXRmb3JtcywgZmEyIGFuZCBmYTMgYXJlCisjICBhZGRpdGlvbmFsIGZsb2F0aW5nLXBv
aW50IGFyZ3VtZW50IHJlZ2lzdGVycy4KKyMKKyMgIC0gZnIgaXMgdGhlIHBsYXRmb3JtJ3MgY3Vz
dG9tYXJ5IGZsb2F0aW5nLXBvaW50IHJldHVybiByZWdpc3RlcgorIworIyBZb3UgY2FuIGFzc3Vt
ZSB0aGF0IGZ0MS1mdDUgb3IgZmExLWZhMyBhcmUgbmV2ZXIgZnIsIGFuZCB0aGF0IGZ0WCBpcyBu
ZXZlcgorIyBmYVkgaWYgWCAhPSBZLgorCisjIEZpcnN0IGNvbWUgdGhlIGNvbW1vbiBwcm90b2Nv
bHMgdGhhdCBib3RoIGludGVycHJldGVycyB1c2UuIE5vdGUgdGhhdCBlYWNoCisjIG9mIHRoZXNl
IG11c3QgaGF2ZSBhbiBBU1NFUlQoKSBpbiBMTEludERhdGEuY3BwCisKKyMgV29yay1hcm91bmQg
Zm9yIHRoZSBmYWN0IHRoYXQgdGhlIHRvb2xjaGFpbidzIGF3YXJlbmVzcyBvZiBhcm12N2sgLyBh
cm12N3MKKyMgcmVzdWx0cyBpbiBhIHNlcGFyYXRlIHNsYWIgaW4gdGhlIGZhdCBiaW5hcnksIHll
dCB0aGUgb2ZmbGluZWFzbSBkb2Vzbid0IGtub3cKKyMgdG8gZXhwZWN0IGl0LgoraWYgQVJNdjdr
CitlbmQKK2lmIEFSTXY3cworZW5kCisKKyMgVGhlc2UgZGVjbGFyYXRpb25zIG11c3QgbWF0Y2gg
aW50ZXJwcmV0ZXIvSlNTdGFjay5oLgorCitjb25zdCBQdHJTaXplID0gY29uc3RleHByIChzaXpl
b2Yodm9pZCopKQorCitpZiBKU1ZBTFVFNjQKKyAgICBjb25zdCBDYWxsRnJhbWVIZWFkZXJTbG90
cyA9IDUKK2Vsc2UKKyAgICBjb25zdCBDYWxsRnJhbWVIZWFkZXJTbG90cyA9IDQKKyAgICBjb25z
dCBDYWxsRnJhbWVBbGlnblNsb3RzID0gMQorZW5kCitjb25zdCBTbG90U2l6ZSA9IDgKKworY29u
c3QgSlNFbnZpcm9ubWVudFJlY29yZF92YXJpYWJsZXMgPSAoc2l6ZW9mIEpTRW52aXJvbm1lbnRS
ZWNvcmQgKyBTbG90U2l6ZSAtIDEpICYgfihTbG90U2l6ZSAtIDEpCitjb25zdCBEaXJlY3RBcmd1
bWVudHNfc3RvcmFnZSA9IChzaXplb2YgRGlyZWN0QXJndW1lbnRzICsgU2xvdFNpemUgLSAxKSAm
IH4oU2xvdFNpemUgLSAxKQorCitjb25zdCBTdGFja0FsaWdubWVudCA9IDE2Citjb25zdCBTdGFj
a0FsaWdubWVudFNsb3RzID0gMgorY29uc3QgU3RhY2tBbGlnbm1lbnRNYXNrID0gU3RhY2tBbGln
bm1lbnQgLSAxCisKK2NvbnN0IENhbGxlckZyYW1lQW5kUENTaXplID0gMiAqIFB0clNpemUKKwor
Y29uc3QgQ2FsbGVyRnJhbWUgPSAwCitjb25zdCBSZXR1cm5QQyA9IENhbGxlckZyYW1lICsgUHRy
U2l6ZQorY29uc3QgQ29kZUJsb2NrID0gUmV0dXJuUEMgKyBQdHJTaXplCitjb25zdCBDYWxsZWUg
PSBDb2RlQmxvY2sgKyBTbG90U2l6ZQorY29uc3QgQXJndW1lbnRDb3VudCA9IENhbGxlZSArIFNs
b3RTaXplCitjb25zdCBUaGlzQXJndW1lbnRPZmZzZXQgPSBBcmd1bWVudENvdW50ICsgU2xvdFNp
emUKK2NvbnN0IEZpcnN0QXJndW1lbnRPZmZzZXQgPSBUaGlzQXJndW1lbnRPZmZzZXQgKyBTbG90
U2l6ZQorY29uc3QgQ2FsbEZyYW1lSGVhZGVyU2l6ZSA9IFRoaXNBcmd1bWVudE9mZnNldAorCisj
IFNvbWUgdmFsdWUgcmVwcmVzZW50YXRpb24gY29uc3RhbnRzLgoraWYgSlNWQUxVRTY0CisgICAg
Y29uc3QgVGFnQml0VHlwZU90aGVyID0gMHgyCisgICAgY29uc3QgVGFnQml0Qm9vbCAgICAgID0g
MHg0CisgICAgY29uc3QgVGFnQml0VW5kZWZpbmVkID0gMHg4CisgICAgY29uc3QgVmFsdWVFbXB0
eSAgICAgID0gMHgwCisgICAgY29uc3QgVmFsdWVGYWxzZSAgICAgID0gVGFnQml0VHlwZU90aGVy
IHwgVGFnQml0Qm9vbAorICAgIGNvbnN0IFZhbHVlVHJ1ZSAgICAgICA9IFRhZ0JpdFR5cGVPdGhl
ciB8IFRhZ0JpdEJvb2wgfCAxCisgICAgY29uc3QgVmFsdWVVbmRlZmluZWQgID0gVGFnQml0VHlw
ZU90aGVyIHwgVGFnQml0VW5kZWZpbmVkCisgICAgY29uc3QgVmFsdWVOdWxsICAgICAgID0gVGFn
Qml0VHlwZU90aGVyCisgICAgY29uc3QgVGFnVHlwZU51bWJlciAgID0gMHhmZmZmMDAwMDAwMDAw
MDAwCisgICAgY29uc3QgVGFnTWFzayAgICAgICAgID0gVGFnVHlwZU51bWJlciB8IFRhZ0JpdFR5
cGVPdGhlcgorZWxzZQorICAgIGNvbnN0IEludDMyVGFnID0gLTEKKyAgICBjb25zdCBCb29sZWFu
VGFnID0gLTIKKyAgICBjb25zdCBOdWxsVGFnID0gLTMKKyAgICBjb25zdCBVbmRlZmluZWRUYWcg
PSAtNAorICAgIGNvbnN0IENlbGxUYWcgPSAtNQorICAgIGNvbnN0IEVtcHR5VmFsdWVUYWcgPSAt
NgorICAgIGNvbnN0IERlbGV0ZWRWYWx1ZVRhZyA9IC03CisgICAgY29uc3QgTG93ZXN0VGFnID0g
RGVsZXRlZFZhbHVlVGFnCitlbmQKKworIyBQdXRCeUlkRmxhZ3MgZGF0YQorY29uc3QgUHV0QnlJ
ZFByaW1hcnlUeXBlTWFzayA9IGNvbnN0ZXhwciBQdXRCeUlkUHJpbWFyeVR5cGVNYXNrCitjb25z
dCBQdXRCeUlkUHJpbWFyeVR5cGVTZWNvbmRhcnkgPSBjb25zdGV4cHIgUHV0QnlJZFByaW1hcnlU
eXBlU2Vjb25kYXJ5Citjb25zdCBQdXRCeUlkUHJpbWFyeVR5cGVPYmplY3RXaXRoU3RydWN0dXJl
ID0gY29uc3RleHByIFB1dEJ5SWRQcmltYXJ5VHlwZU9iamVjdFdpdGhTdHJ1Y3R1cmUKK2NvbnN0
IFB1dEJ5SWRQcmltYXJ5VHlwZU9iamVjdFdpdGhTdHJ1Y3R1cmVPck90aGVyID0gY29uc3RleHBy
IFB1dEJ5SWRQcmltYXJ5VHlwZU9iamVjdFdpdGhTdHJ1Y3R1cmVPck90aGVyCitjb25zdCBQdXRC
eUlkU2Vjb25kYXJ5VHlwZU1hc2sgPSBjb25zdGV4cHIgUHV0QnlJZFNlY29uZGFyeVR5cGVNYXNr
Citjb25zdCBQdXRCeUlkU2Vjb25kYXJ5VHlwZUJvdHRvbSA9IGNvbnN0ZXhwciBQdXRCeUlkU2Vj
b25kYXJ5VHlwZUJvdHRvbQorY29uc3QgUHV0QnlJZFNlY29uZGFyeVR5cGVCb29sZWFuID0gY29u
c3RleHByIFB1dEJ5SWRTZWNvbmRhcnlUeXBlQm9vbGVhbgorY29uc3QgUHV0QnlJZFNlY29uZGFy
eVR5cGVPdGhlciA9IGNvbnN0ZXhwciBQdXRCeUlkU2Vjb25kYXJ5VHlwZU90aGVyCitjb25zdCBQ
dXRCeUlkU2Vjb25kYXJ5VHlwZUludDMyID0gY29uc3RleHByIFB1dEJ5SWRTZWNvbmRhcnlUeXBl
SW50MzIKK2NvbnN0IFB1dEJ5SWRTZWNvbmRhcnlUeXBlTnVtYmVyID0gY29uc3RleHByIFB1dEJ5
SWRTZWNvbmRhcnlUeXBlTnVtYmVyCitjb25zdCBQdXRCeUlkU2Vjb25kYXJ5VHlwZVN0cmluZyA9
IGNvbnN0ZXhwciBQdXRCeUlkU2Vjb25kYXJ5VHlwZVN0cmluZworY29uc3QgUHV0QnlJZFNlY29u
ZGFyeVR5cGVTeW1ib2wgPSBjb25zdGV4cHIgUHV0QnlJZFNlY29uZGFyeVR5cGVTeW1ib2wKK2Nv
bnN0IFB1dEJ5SWRTZWNvbmRhcnlUeXBlT2JqZWN0ID0gY29uc3RleHByIFB1dEJ5SWRTZWNvbmRh
cnlUeXBlT2JqZWN0Citjb25zdCBQdXRCeUlkU2Vjb25kYXJ5VHlwZU9iamVjdE9yT3RoZXIgPSBj
b25zdGV4cHIgUHV0QnlJZFNlY29uZGFyeVR5cGVPYmplY3RPck90aGVyCitjb25zdCBQdXRCeUlk
U2Vjb25kYXJ5VHlwZVRvcCA9IGNvbnN0ZXhwciBQdXRCeUlkU2Vjb25kYXJ5VHlwZVRvcAorCitj
b25zdCBDYWxsT3BDb2RlU2l6ZSA9IDkKKworaWYgWDg2XzY0IG9yIEFSTTY0IG9yIENfTE9PUAor
ICAgIGNvbnN0IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID0gMAorZWxzaWYgQVJNIG9y
IEFSTXY3X1RSQURJVElPTkFMIG9yIEFSTXY3CisgICAgY29uc3QgbWF4RnJhbWVFeHRlbnRGb3JT
bG93UGF0aENhbGwgPSAyNAorZWxzaWYgWDg2IG9yIFg4Nl9XSU4KKyAgICBjb25zdCBtYXhGcmFt
ZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9IDQwCitlbHNpZiBNSVBTCisgICAgY29uc3QgbWF4RnJh
bWVFeHRlbnRGb3JTbG93UGF0aENhbGwgPSA0MAorZWxzaWYgWDg2XzY0X1dJTgorICAgIGNvbnN0
IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID0gNjQKK2VuZAorCitpZiBYODZfNjQgb3Ig
WDg2XzY0X1dJTiBvciBBUk02NAorICAgIGNvbnN0IENhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJl
Z2lzdGVycyA9IDMKK2Vsc2UKKyAgICBjb25zdCBDYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdp
c3RlcnMgPSAwCitlbmQKKworY29uc3QgQ2FsbGVlU2F2ZVNwYWNlU3RhY2tBbGlnbmVkID0gKENh
bGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycyAqIFNsb3RTaXplICsgU3RhY2tBbGlnbm1l
bnQgLSAxKSAmIH5TdGFja0FsaWdubWVudE1hc2sKKworCisjIFdhdGNocG9pbnQgc3RhdGVzCitj
b25zdCBDbGVhcldhdGNocG9pbnQgPSBjb25zdGV4cHIgQ2xlYXJXYXRjaHBvaW50Citjb25zdCBJ
c1dhdGNoZWQgPSBjb25zdGV4cHIgSXNXYXRjaGVkCitjb25zdCBJc0ludmFsaWRhdGVkID0gY29u
c3RleHByIElzSW52YWxpZGF0ZWQKKworIyBTaGFkb3dDaGlja2VuIGRhdGEKK2NvbnN0IFNoYWRv
d0NoaWNrZW5UYWlsTWFya2VyID0gY29uc3RleHByIFNoYWRvd0NoaWNrZW46OlBhY2tldDo6dGFp
bE1hcmtlclZhbHVlCisKKyMgQXJpdGhQcm9maWxlIGRhdGEKK2NvbnN0IEFyaXRoUHJvZmlsZUlu
dCA9IDB4MTAwMDAwCitjb25zdCBBcml0aFByb2ZpbGVJbnRJbnQgPSAweDEyMDAwMAorY29uc3Qg
QXJpdGhQcm9maWxlTnVtYmVyID0gMHgyMDAwMDAKK2NvbnN0IEFyaXRoUHJvZmlsZU51bWJlcklu
dCA9IDB4MjIwMDAwCitjb25zdCBBcml0aFByb2ZpbGVOdW1iZXJOdW1iZXIgPSAweDI0MDAwMAor
Y29uc3QgQXJpdGhQcm9maWxlSW50TnVtYmVyID0gMHgxNDAwMDAKKworIyBTb21lIHJlZ2lzdGVy
IGNvbnZlbnRpb25zLgoraWYgSlNWQUxVRTY0CisgICAgIyAtIFVzZSBhIHBhaXIgb2YgcmVnaXN0
ZXJzIHRvIHJlcHJlc2VudCB0aGUgUEM6IG9uZSByZWdpc3RlciBmb3IgdGhlCisgICAgIyAgIGJh
c2Ugb2YgdGhlIGJ5dGVjb2RlcywgYW5kIG9uZSByZWdpc3RlciBmb3IgdGhlIGluZGV4LgorICAg
ICMgLSBUaGUgUEMgYmFzZSAob3IgUEIgZm9yIHNob3J0KSBtdXN0IGJlIHN0b3JlZCBpbiBhIGNh
bGxlZS1zYXZlIHJlZ2lzdGVyLgorICAgICMgLSBDIGNhbGxzIGFyZSBzdGlsbCBnaXZlbiB0aGUg
SW5zdHJ1Y3Rpb24qIHJhdGhlciB0aGFuIHRoZSBQQyBpbmRleC4KKyAgICAjICAgVGhpcyByZXF1
aXJlcyBhbiBhZGQgYmVmb3JlIHRoZSBjYWxsLCBhbmQgYSBzdWIgYWZ0ZXIuCisgICAgY29uc3Qg
UEMgPSB0NCAjIFdoZW4gY2hhbmdpbmcgdGhpcywgbWFrZSBzdXJlIExMSW50UEMgaXMgdXAgdG8g
ZGF0ZSBpbiBMTEludFBDUmFuZ2VzLmgKKyAgICBpZiBBUk02NAorICAgICAgICBjb25zdCBQQiA9
IGNzcjcKKyAgICAgICAgY29uc3QgdGFnVHlwZU51bWJlciA9IGNzcjgKKyAgICAgICAgY29uc3Qg
dGFnTWFzayA9IGNzcjkKKyAgICBlbHNpZiBYODZfNjQKKyAgICAgICAgY29uc3QgUEIgPSBjc3Iy
CisgICAgICAgIGNvbnN0IHRhZ1R5cGVOdW1iZXIgPSBjc3IzCisgICAgICAgIGNvbnN0IHRhZ01h
c2sgPSBjc3I0CisgICAgZWxzaWYgWDg2XzY0X1dJTgorICAgICAgICBjb25zdCBQQiA9IGNzcjQK
KyAgICAgICAgY29uc3QgdGFnVHlwZU51bWJlciA9IGNzcjUKKyAgICAgICAgY29uc3QgdGFnTWFz
ayA9IGNzcjYKKyAgICBlbHNpZiBDX0xPT1AKKyAgICAgICAgY29uc3QgUEIgPSBjc3IwCisgICAg
ICAgIGNvbnN0IHRhZ1R5cGVOdW1iZXIgPSBjc3IxCisgICAgICAgIGNvbnN0IHRhZ01hc2sgPSBj
c3IyCisgICAgZW5kCisKKyAgICBtYWNybyBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24ob2Zmc2V0LCBk
ZXN0KQorICAgICAgICBsb2FkaXMgb2Zmc2V0ICogOFtQQiwgUEMsIDhdLCBkZXN0CisgICAgZW5k
CisgICAgCisgICAgbWFjcm8gbG9hZHBGcm9tSW5zdHJ1Y3Rpb24ob2Zmc2V0LCBkZXN0KQorICAg
ICAgICBsb2FkcCBvZmZzZXQgKiA4W1BCLCBQQywgOF0sIGRlc3QKKyAgICBlbmQKKyAgICAKKyAg
ICBtYWNybyBzdG9yZWlzVG9JbnN0cnVjdGlvbih2YWx1ZSwgb2Zmc2V0KQorICAgICAgICBzdG9y
ZWkgdmFsdWUsIG9mZnNldCAqIDhbUEIsIFBDLCA4XQorICAgIGVuZAorCisgICAgbWFjcm8gc3Rv
cmVwVG9JbnN0cnVjdGlvbih2YWx1ZSwgb2Zmc2V0KQorICAgICAgICBzdG9yZXAgdmFsdWUsIG9m
ZnNldCAqIDhbUEIsIFBDLCA4XQorICAgIGVuZAorCitlbHNlCisgICAgY29uc3QgUEMgPSB0NCAj
IFdoZW4gY2hhbmdpbmcgdGhpcywgbWFrZSBzdXJlIExMSW50UEMgaXMgdXAgdG8gZGF0ZSBpbiBM
TEludFBDUmFuZ2VzLmgKKyAgICBtYWNybyBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24ob2Zmc2V0LCBk
ZXN0KQorICAgICAgICBsb2FkaXMgb2Zmc2V0ICogNFtQQ10sIGRlc3QKKyAgICBlbmQKKyAgICAK
KyAgICBtYWNybyBsb2FkcEZyb21JbnN0cnVjdGlvbihvZmZzZXQsIGRlc3QpCisgICAgICAgIGxv
YWRwIG9mZnNldCAqIDRbUENdLCBkZXN0CisgICAgZW5kCisKKyAgICBtYWNybyBzdG9yZWlzVG9J
bnN0cnVjdGlvbih2YWx1ZSwgb2Zmc2V0KQorICAgICAgICBzdG9yZWkgdmFsdWUsIG9mZnNldCAq
IDRbUENdCisgICAgZW5kCitlbmQKKworaWYgWDg2XzY0X1dJTgorICAgIGNvbnN0IGV4dHJhVGVt
cFJlZyA9IHQwCitlbHNlCisgICAgY29uc3QgZXh0cmFUZW1wUmVnID0gdDUKK2VuZAorCisjIENv
bnN0YW50cyBmb3IgcmVhc29uaW5nIGFib3V0IHZhbHVlIHJlcHJlc2VudGF0aW9uLgoraWYgQklH
X0VORElBTgorICAgIGNvbnN0IFRhZ09mZnNldCA9IDAKKyAgICBjb25zdCBQYXlsb2FkT2Zmc2V0
ID0gNAorZWxzZQorICAgIGNvbnN0IFRhZ09mZnNldCA9IDQKKyAgICBjb25zdCBQYXlsb2FkT2Zm
c2V0ID0gMAorZW5kCisKKyMgQ29uc3RhbnQgZm9yIHJlYXNvbmluZyBhYm91dCBidXR0ZXJmbGll
cy4KK2NvbnN0IElzQXJyYXkgICAgICAgICAgICAgICAgICA9IGNvbnN0ZXhwciBJc0FycmF5Citj
b25zdCBJbmRleGluZ1NoYXBlTWFzayAgICAgICAgPSBjb25zdGV4cHIgSW5kZXhpbmdTaGFwZU1h
c2sKK2NvbnN0IE5vSW5kZXhpbmdTaGFwZSAgICAgICAgICA9IGNvbnN0ZXhwciBOb0luZGV4aW5n
U2hhcGUKK2NvbnN0IEludDMyU2hhcGUgICAgICAgICAgICAgICA9IGNvbnN0ZXhwciBJbnQzMlNo
YXBlCitjb25zdCBEb3VibGVTaGFwZSAgICAgICAgICAgICAgPSBjb25zdGV4cHIgRG91YmxlU2hh
cGUKK2NvbnN0IENvbnRpZ3VvdXNTaGFwZSAgICAgICAgICA9IGNvbnN0ZXhwciBDb250aWd1b3Vz
U2hhcGUKK2NvbnN0IEFycmF5U3RvcmFnZVNoYXBlICAgICAgICA9IGNvbnN0ZXhwciBBcnJheVN0
b3JhZ2VTaGFwZQorY29uc3QgU2xvd1B1dEFycmF5U3RvcmFnZVNoYXBlID0gY29uc3RleHByIFNs
b3dQdXRBcnJheVN0b3JhZ2VTaGFwZQorCisjIFR5cGUgY29uc3RhbnRzLgorY29uc3QgU3RyaW5n
VHlwZSA9IGNvbnN0ZXhwciBTdHJpbmdUeXBlCitjb25zdCBTeW1ib2xUeXBlID0gY29uc3RleHBy
IFN5bWJvbFR5cGUKK2NvbnN0IE9iamVjdFR5cGUgPSBjb25zdGV4cHIgT2JqZWN0VHlwZQorY29u
c3QgRmluYWxPYmplY3RUeXBlID0gY29uc3RleHByIEZpbmFsT2JqZWN0VHlwZQorY29uc3QgSlNG
dW5jdGlvblR5cGUgPSBjb25zdGV4cHIgSlNGdW5jdGlvblR5cGUKK2NvbnN0IEFycmF5VHlwZSA9
IGNvbnN0ZXhwciBBcnJheVR5cGUKK2NvbnN0IERlcml2ZWRBcnJheVR5cGUgPSBjb25zdGV4cHIg
RGVyaXZlZEFycmF5VHlwZQorY29uc3QgUHJveHlPYmplY3RUeXBlID0gY29uc3RleHByIFByb3h5
T2JqZWN0VHlwZQorCisjIFRoZSB0eXBlZCBhcnJheSB0eXBlcyBuZWVkIHRvIGJlIG51bWJlcmVk
IGluIGEgcGFydGljdWxhciBvcmRlciBiZWNhdXNlIG9mIHRoZSBtYW51YWxseSB3cml0dGVuCisj
IHN3aXRjaCBzdGF0ZW1lbnQgaW4gZ2V0X2J5X3ZhbCBhbmQgcHV0X2J5X3ZhbC4KK2NvbnN0IElu
dDhBcnJheVR5cGUgPSBjb25zdGV4cHIgSW50OEFycmF5VHlwZQorY29uc3QgSW50MTZBcnJheVR5
cGUgPSBjb25zdGV4cHIgSW50MTZBcnJheVR5cGUKK2NvbnN0IEludDMyQXJyYXlUeXBlID0gY29u
c3RleHByIEludDMyQXJyYXlUeXBlCitjb25zdCBVaW50OEFycmF5VHlwZSA9IGNvbnN0ZXhwciBV
aW50OEFycmF5VHlwZQorY29uc3QgVWludDhDbGFtcGVkQXJyYXlUeXBlID0gY29uc3RleHByIFVp
bnQ4Q2xhbXBlZEFycmF5VHlwZQorY29uc3QgVWludDE2QXJyYXlUeXBlID0gY29uc3RleHByIFVp
bnQxNkFycmF5VHlwZQorY29uc3QgVWludDMyQXJyYXlUeXBlID0gY29uc3RleHByIFVpbnQzMkFy
cmF5VHlwZQorY29uc3QgRmxvYXQzMkFycmF5VHlwZSA9IGNvbnN0ZXhwciBGbG9hdDMyQXJyYXlU
eXBlCitjb25zdCBGbG9hdDY0QXJyYXlUeXBlID0gY29uc3RleHByIEZsb2F0NjRBcnJheVR5cGUK
KworY29uc3QgRmlyc3RBcnJheVR5cGUgPSBJbnQ4QXJyYXlUeXBlCitjb25zdCBMYXN0QXJyYXlU
eXBlID0gRmxvYXQ2NEFycmF5VHlwZQorCisjIFR5cGUgZmxhZ3MgY29uc3RhbnRzLgorY29uc3Qg
TWFzcXVlcmFkZXNBc1VuZGVmaW5lZCA9IGNvbnN0ZXhwciBNYXNxdWVyYWRlc0FzVW5kZWZpbmVk
Citjb25zdCBJbXBsZW1lbnRzRGVmYXVsdEhhc0luc3RhbmNlID0gY29uc3RleHByIEltcGxlbWVu
dHNEZWZhdWx0SGFzSW5zdGFuY2UKKworIyBCeXRlY29kZSBvcGVyYW5kIGNvbnN0YW50cy4KK2Nv
bnN0IEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4ID0gY29uc3RleHByIEZpcnN0Q29uc3RhbnRS
ZWdpc3RlckluZGV4CisKKyMgQ29kZSB0eXBlIGNvbnN0YW50cy4KK2NvbnN0IEdsb2JhbENvZGUg
PSBjb25zdGV4cHIgR2xvYmFsQ29kZQorY29uc3QgRXZhbENvZGUgPSBjb25zdGV4cHIgRXZhbENv
ZGUKK2NvbnN0IEZ1bmN0aW9uQ29kZSA9IGNvbnN0ZXhwciBGdW5jdGlvbkNvZGUKK2NvbnN0IE1v
ZHVsZUNvZGUgPSBjb25zdGV4cHIgTW9kdWxlQ29kZQorCisjIFRoZSBpbnRlcnByZXRlciBzdGVh
bHMgdGhlIHRhZyB3b3JkIG9mIHRoZSBhcmd1bWVudCBjb3VudC4KK2NvbnN0IExMSW50UmV0dXJu
UEMgPSBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0CisKKyMgU3RyaW5nIGZsYWdzLgorY29uc3Qg
SGFzaEZsYWdzOEJpdEJ1ZmZlciA9IDgKKworIyBDb3BpZWQgZnJvbSBQcm9wZXJ0eU9mZnNldC5o
Citjb25zdCBmaXJzdE91dE9mTGluZU9mZnNldCA9IDEwMAorCisjIFJlc29sdmVUeXBlCitjb25z
dCBHbG9iYWxQcm9wZXJ0eSA9IGNvbnN0ZXhwciBHbG9iYWxQcm9wZXJ0eQorY29uc3QgR2xvYmFs
VmFyID0gY29uc3RleHByIEdsb2JhbFZhcgorY29uc3QgR2xvYmFsTGV4aWNhbFZhciA9IGNvbnN0
ZXhwciBHbG9iYWxMZXhpY2FsVmFyCitjb25zdCBDbG9zdXJlVmFyID0gY29uc3RleHByIENsb3N1
cmVWYXIKK2NvbnN0IExvY2FsQ2xvc3VyZVZhciA9IGNvbnN0ZXhwciBMb2NhbENsb3N1cmVWYXIK
K2NvbnN0IE1vZHVsZVZhciA9IGNvbnN0ZXhwciBNb2R1bGVWYXIKK2NvbnN0IEdsb2JhbFByb3Bl
cnR5V2l0aFZhckluamVjdGlvbkNoZWNrcyA9IGNvbnN0ZXhwciBHbG9iYWxQcm9wZXJ0eVdpdGhW
YXJJbmplY3Rpb25DaGVja3MKK2NvbnN0IEdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3Mg
PSBjb25zdGV4cHIgR2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcworY29uc3QgR2xvYmFs
TGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MgPSBjb25zdGV4cHIgR2xvYmFsTGV4aWNh
bFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MKK2NvbnN0IENsb3N1cmVWYXJXaXRoVmFySW5qZWN0
aW9uQ2hlY2tzID0gY29uc3RleHByIENsb3N1cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzCisK
K2NvbnN0IFJlc29sdmVUeXBlTWFzayA9IGNvbnN0ZXhwciBHZXRQdXRJbmZvOjp0eXBlQml0cwor
Y29uc3QgSW5pdGlhbGl6YXRpb25Nb2RlTWFzayA9IGNvbnN0ZXhwciBHZXRQdXRJbmZvOjppbml0
aWFsaXphdGlvbkJpdHMKK2NvbnN0IEluaXRpYWxpemF0aW9uTW9kZVNoaWZ0ID0gY29uc3RleHBy
IEdldFB1dEluZm86OmluaXRpYWxpemF0aW9uU2hpZnQKK2NvbnN0IE5vdEluaXRpYWxpemF0aW9u
ID0gY29uc3RleHByIEluaXRpYWxpemF0aW9uTW9kZTo6Tm90SW5pdGlhbGl6YXRpb24KKworY29u
c3QgTWFya2VkQmxvY2tTaXplID0gY29uc3RleHByIE1hcmtlZEJsb2NrOjpibG9ja1NpemUKK2Nv
bnN0IE1hcmtlZEJsb2NrTWFzayA9IH4oTWFya2VkQmxvY2tTaXplIC0gMSkKKworY29uc3QgQmxh
Y2tUaHJlc2hvbGQgPSBjb25zdGV4cHIgYmxhY2tUaHJlc2hvbGQKKworIyBBbGxvY2F0aW9uIGNv
bnN0YW50cworaWYgSlNWQUxVRTY0CisgICAgY29uc3QgSlNGaW5hbE9iamVjdFNpemVDbGFzc0lu
ZGV4ID0gMQorZWxzZQorICAgIGNvbnN0IEpTRmluYWxPYmplY3RTaXplQ2xhc3NJbmRleCA9IDMK
K2VuZAorCisjIFRoaXMgbXVzdCBtYXRjaCB3dGYvVmVjdG9yLmgKK2NvbnN0IFZlY3RvckJ1ZmZl
ck9mZnNldCA9IDAKK2lmIEpTVkFMVUU2NAorICAgIGNvbnN0IFZlY3RvclNpemVPZmZzZXQgPSAx
MgorZWxzZQorICAgIGNvbnN0IFZlY3RvclNpemVPZmZzZXQgPSA4CitlbmQKKworIyBTb21lIGNv
bW1vbiB1dGlsaXRpZXMuCittYWNybyBjcmFzaCgpCisgICAgaWYgQ19MT09QCisgICAgICAgIGNs
b29wQ3Jhc2gKKyAgICBlbHNlCisgICAgICAgIGNhbGwgX2xsaW50X2NyYXNoCisgICAgZW5kCitl
bmQKKworbWFjcm8gYXNzZXJ0KGFzc2VydGlvbikKKyAgICBpZiBBU1NFUlRfRU5BQkxFRAorICAg
ICAgICBhc3NlcnRpb24oLm9rKQorICAgICAgICBjcmFzaCgpCisgICAgLm9rOgorICAgIGVuZAor
ZW5kCisKKyMgVGhlIHByb2JlIG1hY3JvIGNhbiBiZSB1c2VkIHRvIGluc2VydCBzb21lIGRlYnVn
Z2luZyBjb2RlIHdpdGhvdXQgcGVydHVyYmluZyBzY2FsYXIKKyMgcmVnaXN0ZXJzLiBQcmVzZW50
bHksIHRoZSBwcm9iZSBtYWNybyBvbmx5IHByZXNlcnZlcyBzY2FsYXIgcmVnaXN0ZXJzLiBIZW5j
ZSwgdGhlCisjIEMgcHJvYmUgY2FsbGJhY2sgZnVuY3Rpb24gc2hvdWxkIG5vdCB0cmFzaCBmbG9h
dGluZyBwb2ludCByZWdpc3RlcnMuCisjCisjIFRoZSBtYWNybyB5b3UgcGFzcyB0byBwcm9iZSgp
IGNhbiBwYXNzIHdoYXRldmVyIHJlZ2lzdGVycyB5b3UgbGlrZSB0byB5b3VyIHByb2JlCisjIGNh
bGxiYWNrIGZ1bmN0aW9uLiBIb3dldmVyLCB5b3UgbmVlZCB0byBiZSBtaW5kZnVsIG9mIHdoaWNo
IG9mIHRoZSByZWdpc3RlcnMgYXJlCisjIGFsc28gdXNlZCBhcyBhcmd1bWVudCByZWdpc3RlcnMs
IGFuZCBlbnN1cmUgdGhhdCB5b3UgZG9uJ3QgdHJhc2ggdGhlIHJlZ2lzdGVyIHZhbHVlCisjIGJl
Zm9yZSBzdG9yaW5nIGl0IGluIHRoZSBwcm9iZSBjYWxsYmFjayBhcmd1bWVudCByZWdpc3RlciB0
aGF0IHlvdSBkZXNpcmUuCisjCisjIEhlcmUncyBhbiBleGFtcGxlIG9mIGhvdyBpdCdzIHVzZWQ6
CisjCisjICAgICBwcm9iZSgKKyMgICAgICAgICBtYWNybygpCisjICAgICAgICAgICAgIG1vdmUg
Y2ZyLCBhMCAjIHBhc3MgdGhlIEV4ZWNTdGF0ZSogYXMgYXJnMC4KKyMgICAgICAgICAgICAgbW92
ZSB0MCwgYTEgIyBwYXNzIHRoZSB2YWx1ZSBvZiByZWdpc3RlciB0MCBhcyBhcmcxLgorIyAgICAg
ICAgICAgICBjYWxsIF9jUHJvYmVDYWxsYmFja0Z1bmN0aW9uICMgdG8gZG8gd2hhdGV2ZXIgeW91
IHdhbnQuCisjICAgICAgICAgZW5kCisjICAgICApCisjCitpZiBYODZfNjQKKyAgICBtYWNybyBw
cm9iZShhY3Rpb24pCisgICAgICAgICMgc2F2ZSBhbGwgdGhlIHJlZ2lzdGVycyB0aGF0IHRoZSBM
TEludCBtYXkgdXNlLgorICAgICAgICBwdXNoIGEwLCBhMQorICAgICAgICBwdXNoIGEyLCBhMwor
ICAgICAgICBwdXNoIHQwLCB0MQorICAgICAgICBwdXNoIHQyLCB0MworICAgICAgICBwdXNoIHQ0
LCB0NQorCisgICAgICAgIGFjdGlvbigpCisKKyAgICAgICAgIyByZXN0b3JlIGFsbCB0aGUgcmVn
aXN0ZXJzIHdlIHNhdmVkIHByZXZpb3VzbHkuCisgICAgICAgIHBvcCB0NSwgdDQKKyAgICAgICAg
cG9wIHQzLCB0MgorICAgICAgICBwb3AgdDEsIHQwCisgICAgICAgIHBvcCBhMywgYTIKKyAgICAg
ICAgcG9wIGExLCBhMAorICAgIGVuZAorZW5kCisKK21hY3JvIGNoZWNrU3RhY2tQb2ludGVyQWxp
Z25tZW50KHRlbXBSZWcsIGxvY2F0aW9uKQorICAgIGlmIEFSTTY0IG9yIENfTE9PUAorICAgICAg
ICAjIEFSTTY0IHdpbGwgY2hlY2sgZm9yIHVzIQorICAgICAgICAjIENfTE9PUCBkb2VzIG5vdCBu
ZWVkIHRoZSBhbGlnbm1lbnQsIGFuZCBjYW4gdXNlIGEgbGl0dGxlIHBlcmYKKyAgICAgICAgIyBp
bXByb3ZlbWVudCBmcm9tIGF2b2lkaW5nIHVzZWxlc3Mgd29yay4KKyAgICBlbHNlCisgICAgICAg
IGlmIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTAorICAgICAgICAgICAgIyBBUk0g
Y2FuJ3QgZG8gbG9naWNhbCBvcHMgd2l0aCB0aGUgc3AgYXMgYSBzb3VyY2UKKyAgICAgICAgICAg
IG1vdmUgc3AsIHRlbXBSZWcKKyAgICAgICAgICAgIGFuZHAgU3RhY2tBbGlnbm1lbnRNYXNrLCB0
ZW1wUmVnCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGFuZHAgc3AsIFN0YWNrQWxpZ25tZW50
TWFzaywgdGVtcFJlZworICAgICAgICBlbmQKKyAgICAgICAgYnRweiB0ZW1wUmVnLCAuc3RhY2tQ
b2ludGVyT2theQorICAgICAgICBtb3ZlIGxvY2F0aW9uLCB0ZW1wUmVnCisgICAgICAgIGJyZWFr
CisgICAgLnN0YWNrUG9pbnRlck9rYXk6CisgICAgZW5kCitlbmQKKworaWYgQ19MT09QIG9yIEFS
TTY0IG9yIFg4Nl82NCBvciBYODZfNjRfV0lOCisgICAgY29uc3QgQ2FsbGVlU2F2ZVJlZ2lzdGVy
Q291bnQgPSAwCitlbHNpZiBBUk0gb3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgQVJNdjcKKyAgICBj
b25zdCBDYWxsZWVTYXZlUmVnaXN0ZXJDb3VudCA9IDcKK2Vsc2lmIE1JUFMKKyAgICBjb25zdCBD
YWxsZWVTYXZlUmVnaXN0ZXJDb3VudCA9IDEKK2Vsc2lmIFg4NiBvciBYODZfV0lOCisgICAgY29u
c3QgQ2FsbGVlU2F2ZVJlZ2lzdGVyQ291bnQgPSAzCitlbmQKKworY29uc3QgQ2FsbGVlUmVnaXN0
ZXJTYXZlU2l6ZSA9IENhbGxlZVNhdmVSZWdpc3RlckNvdW50ICogUHRyU2l6ZQorCisjIFZNRW50
cnlUb3RhbEZyYW1lU2l6ZSBpbmNsdWRlcyB0aGUgc3BhY2UgZm9yIHN0cnVjdCBWTUVudHJ5UmVj
b3JkIGFuZCB0aGUKKyMgY2FsbGVlIHNhdmUgcmVnaXN0ZXJzIHJvdW5kZWQgdXAgdG8ga2VlcCB0
aGUgc3RhY2sgYWxpZ25lZAorY29uc3QgVk1FbnRyeVRvdGFsRnJhbWVTaXplID0gKENhbGxlZVJl
Z2lzdGVyU2F2ZVNpemUgKyBzaXplb2YgVk1FbnRyeVJlY29yZCArIFN0YWNrQWxpZ25tZW50IC0g
MSkgJiB+U3RhY2tBbGlnbm1lbnRNYXNrCisKK21hY3JvIHB1c2hDYWxsZWVTYXZlcygpCisgICAg
aWYgQ19MT09QIG9yIEFSTTY0IG9yIFg4Nl82NCBvciBYODZfNjRfV0lOCisgICAgZWxzaWYgQVJN
IG9yIEFSTXY3X1RSQURJVElPTkFMCisgICAgICAgIGVtaXQgInB1c2gge3I0LXIxMH0iCisgICAg
ZWxzaWYgQVJNdjcKKyAgICAgICAgZW1pdCAicHVzaCB7cjQtcjYsIHI4LXIxMX0iCisgICAgZWxz
aWYgTUlQUworICAgICAgICBlbWl0ICJhZGRpdSAkc3AsICRzcCwgLTQiCisgICAgICAgIGVtaXQg
InN3ICRzNCwgMCgkc3ApIgorICAgICAgICAjIHNhdmUgJGdwIHRvICRzNCBzbyB0aGF0IHdlIGNh
biByZXN0b3JlIGl0IGFmdGVyIGEgZnVuY3Rpb24gY2FsbAorICAgICAgICBlbWl0ICJtb3ZlICRz
NCwgJGdwIgorICAgIGVsc2lmIFg4NgorICAgICAgICBlbWl0ICJwdXNoICVlc2kiCisgICAgICAg
IGVtaXQgInB1c2ggJWVkaSIKKyAgICAgICAgZW1pdCAicHVzaCAlZWJ4IgorICAgIGVsc2lmIFg4
Nl9XSU4KKyAgICAgICAgZW1pdCAicHVzaCBlc2kiCisgICAgICAgIGVtaXQgInB1c2ggZWRpIgor
ICAgICAgICBlbWl0ICJwdXNoIGVieCIKKyAgICBlbmQKK2VuZAorCittYWNybyBwb3BDYWxsZWVT
YXZlcygpCisgICAgaWYgQ19MT09QIG9yIEFSTTY0IG9yIFg4Nl82NCBvciBYODZfNjRfV0lOCisg
ICAgZWxzaWYgQVJNIG9yIEFSTXY3X1RSQURJVElPTkFMCisgICAgICAgIGVtaXQgInBvcCB7cjQt
cjEwfSIKKyAgICBlbHNpZiBBUk12NworICAgICAgICBlbWl0ICJwb3Age3I0LXI2LCByOC1yMTF9
IgorICAgIGVsc2lmIE1JUFMKKyAgICAgICAgZW1pdCAibHcgJHM0LCAwKCRzcCkiCisgICAgICAg
IGVtaXQgImFkZGl1ICRzcCwgJHNwLCA0IgorICAgIGVsc2lmIFg4NgorICAgICAgICBlbWl0ICJw
b3AgJWVieCIKKyAgICAgICAgZW1pdCAicG9wICVlZGkiCisgICAgICAgIGVtaXQgInBvcCAlZXNp
IgorICAgIGVsc2lmIFg4Nl9XSU4KKyAgICAgICAgZW1pdCAicG9wIGVieCIKKyAgICAgICAgZW1p
dCAicG9wIGVkaSIKKyAgICAgICAgZW1pdCAicG9wIGVzaSIKKyAgICBlbmQKK2VuZAorCittYWNy
byBwcmVzZXJ2ZUNhbGxlclBDQW5kQ0ZSKCkKKyAgICBpZiBDX0xPT1Agb3IgQVJNIG9yIEFSTXY3
IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIE1JUFMKKyAgICAgICAgcHVzaCBscgorICAgICAgICBw
dXNoIGNmcgorICAgIGVsc2lmIFg4NiBvciBYODZfV0lOIG9yIFg4Nl82NCBvciBYODZfNjRfV0lO
CisgICAgICAgIHB1c2ggY2ZyCisgICAgZWxzaWYgQVJNNjQKKyAgICAgICAgcHVzaCBjZnIsIGxy
CisgICAgZWxzZQorICAgICAgICBlcnJvcgorICAgIGVuZAorICAgIG1vdmUgc3AsIGNmcgorZW5k
CisKK21hY3JvIHJlc3RvcmVDYWxsZXJQQ0FuZENGUigpCisgICAgbW92ZSBjZnIsIHNwCisgICAg
aWYgQ19MT09QIG9yIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTCBvciBNSVBTCisg
ICAgICAgIHBvcCBjZnIKKyAgICAgICAgcG9wIGxyCisgICAgZWxzaWYgWDg2IG9yIFg4Nl9XSU4g
b3IgWDg2XzY0IG9yIFg4Nl82NF9XSU4KKyAgICAgICAgcG9wIGNmcgorICAgIGVsc2lmIEFSTTY0
CisgICAgICAgIHBvcCBsciwgY2ZyCisgICAgZW5kCitlbmQKKworbWFjcm8gcHJlc2VydmVDYWxs
ZWVTYXZlc1VzZWRCeUxMSW50KCkKKyAgICBzdWJwIENhbGxlZVNhdmVTcGFjZVN0YWNrQWxpZ25l
ZCwgc3AKKyAgICBpZiBDX0xPT1AKKyAgICBlbHNpZiBBUk0gb3IgQVJNdjdfVFJBRElUSU9OQUwK
KyAgICBlbHNpZiBBUk12NworICAgIGVsc2lmIEFSTTY0CisgICAgICAgIGVtaXQgInN0cCB4Mjcs
IHgyOCwgW3gyOSwgIy0xNl0iCisgICAgICAgIGVtaXQgInN0cCB4enIsIHgyNiwgW3gyOSwgIy0z
Ml0iCisgICAgZWxzaWYgTUlQUworICAgIGVsc2lmIFg4NgorICAgIGVsc2lmIFg4Nl9XSU4KKyAg
ICBlbHNpZiBYODZfNjQKKyAgICAgICAgc3RvcmVwIGNzcjQsIC04W2Nmcl0KKyAgICAgICAgc3Rv
cmVwIGNzcjMsIC0xNltjZnJdCisgICAgICAgIHN0b3JlcCBjc3IyLCAtMjRbY2ZyXQorICAgIGVs
c2lmIFg4Nl82NF9XSU4KKyAgICAgICAgc3RvcmVwIGNzcjYsIC04W2Nmcl0KKyAgICAgICAgc3Rv
cmVwIGNzcjUsIC0xNltjZnJdCisgICAgICAgIHN0b3JlcCBjc3I0LCAtMjRbY2ZyXQorICAgIGVu
ZAorZW5kCisKK21hY3JvIHJlc3RvcmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50KCkKKyAgICBpZiBD
X0xPT1AKKyAgICBlbHNpZiBBUk0gb3IgQVJNdjdfVFJBRElUSU9OQUwKKyAgICBlbHNpZiBBUk12
NworICAgIGVsc2lmIEFSTTY0CisgICAgICAgIGVtaXQgImxkcCB4enIsIHgyNiwgW3gyOSwgIy0z
Ml0iCisgICAgICAgIGVtaXQgImxkcCB4MjcsIHgyOCwgW3gyOSwgIy0xNl0iCisgICAgZWxzaWYg
TUlQUworICAgIGVsc2lmIFg4NgorICAgIGVsc2lmIFg4Nl9XSU4KKyAgICBlbHNpZiBYODZfNjQK
KyAgICAgICAgbG9hZHAgLTI0W2Nmcl0sIGNzcjIKKyAgICAgICAgbG9hZHAgLTE2W2Nmcl0sIGNz
cjMKKyAgICAgICAgbG9hZHAgLThbY2ZyXSwgY3NyNAorICAgIGVsc2lmIFg4Nl82NF9XSU4KKyAg
ICAgICAgbG9hZHAgLTI0W2Nmcl0sIGNzcjQKKyAgICAgICAgbG9hZHAgLTE2W2Nmcl0sIGNzcjUK
KyAgICAgICAgbG9hZHAgLThbY2ZyXSwgY3NyNgorICAgIGVuZAorZW5kCisKK21hY3JvIGNvcHlD
YWxsZWVTYXZlc1RvVk1FbnRyeUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIodm0sIHRlbXApCisgICAg
aWYgQVJNNjQgb3IgWDg2XzY0IG9yIFg4Nl82NF9XSU4KKyAgICAgICAgbG9hZHAgVk06OnRvcFZN
RW50cnlGcmFtZVt2bV0sIHRlbXAKKyAgICAgICAgdm1FbnRyeVJlY29yZCh0ZW1wLCB0ZW1wKQor
ICAgICAgICBsZWFwIFZNRW50cnlSZWNvcmQ6OmNhbGxlZVNhdmVSZWdpc3RlcnNCdWZmZXJbdGVt
cF0sIHRlbXAKKyAgICAgICAgaWYgQVJNNjQKKyAgICAgICAgICAgIHN0b3JlcCBjc3IwLCBbdGVt
cF0KKyAgICAgICAgICAgIHN0b3JlcCBjc3IxLCA4W3RlbXBdCisgICAgICAgICAgICBzdG9yZXAg
Y3NyMiwgMTZbdGVtcF0KKyAgICAgICAgICAgIHN0b3JlcCBjc3IzLCAyNFt0ZW1wXQorICAgICAg
ICAgICAgc3RvcmVwIGNzcjQsIDMyW3RlbXBdCisgICAgICAgICAgICBzdG9yZXAgY3NyNSwgNDBb
dGVtcF0KKyAgICAgICAgICAgIHN0b3JlcCBjc3I2LCA0OFt0ZW1wXQorICAgICAgICAgICAgc3Rv
cmVwIGNzcjcsIDU2W3RlbXBdCisgICAgICAgICAgICBzdG9yZXAgY3NyOCwgNjRbdGVtcF0KKyAg
ICAgICAgICAgIHN0b3JlcCBjc3I5LCA3Mlt0ZW1wXQorICAgICAgICAgICAgc3RvcmVkIGNzZnIw
LCA4MFt0ZW1wXQorICAgICAgICAgICAgc3RvcmVkIGNzZnIxLCA4OFt0ZW1wXQorICAgICAgICAg
ICAgc3RvcmVkIGNzZnIyLCA5Nlt0ZW1wXQorICAgICAgICAgICAgc3RvcmVkIGNzZnIzLCAxMDRb
dGVtcF0KKyAgICAgICAgICAgIHN0b3JlZCBjc2ZyNCwgMTEyW3RlbXBdCisgICAgICAgICAgICBz
dG9yZWQgY3NmcjUsIDEyMFt0ZW1wXQorICAgICAgICAgICAgc3RvcmVkIGNzZnI2LCAxMjhbdGVt
cF0KKyAgICAgICAgICAgIHN0b3JlZCBjc2ZyNywgMTM2W3RlbXBdCisgICAgICAgIGVsc2lmIFg4
Nl82NAorICAgICAgICAgICAgc3RvcmVwIGNzcjAsIFt0ZW1wXQorICAgICAgICAgICAgc3RvcmVw
IGNzcjEsIDhbdGVtcF0KKyAgICAgICAgICAgIHN0b3JlcCBjc3IyLCAxNlt0ZW1wXQorICAgICAg
ICAgICAgc3RvcmVwIGNzcjMsIDI0W3RlbXBdCisgICAgICAgICAgICBzdG9yZXAgY3NyNCwgMzJb
dGVtcF0KKyAgICAgICAgZWxzaWYgWDg2XzY0X1dJTgorICAgICAgICAgICAgc3RvcmVwIGNzcjAs
IFt0ZW1wXQorICAgICAgICAgICAgc3RvcmVwIGNzcjEsIDhbdGVtcF0KKyAgICAgICAgICAgIHN0
b3JlcCBjc3IyLCAxNlt0ZW1wXQorICAgICAgICAgICAgc3RvcmVwIGNzcjMsIDI0W3RlbXBdCisg
ICAgICAgICAgICBzdG9yZXAgY3NyNCwgMzJbdGVtcF0KKyAgICAgICAgICAgIHN0b3JlcCBjc3I1
LCA0MFt0ZW1wXQorICAgICAgICAgICAgc3RvcmVwIGNzcjYsIDQ4W3RlbXBdCisgICAgICAgIGVu
ZAorICAgIGVuZAorZW5kCisKK21hY3JvIHJlc3RvcmVDYWxsZWVTYXZlc0Zyb21WTUVudHJ5RnJh
bWVDYWxsZWVTYXZlc0J1ZmZlcih2bSwgdGVtcCkKKyAgICBpZiBBUk02NCBvciBYODZfNjQgb3Ig
WDg2XzY0X1dJTgorICAgICAgICBsb2FkcCBWTTo6dG9wVk1FbnRyeUZyYW1lW3ZtXSwgdGVtcAor
ICAgICAgICB2bUVudHJ5UmVjb3JkKHRlbXAsIHRlbXApCisgICAgICAgIGxlYXAgVk1FbnRyeVJl
Y29yZDo6Y2FsbGVlU2F2ZVJlZ2lzdGVyc0J1ZmZlclt0ZW1wXSwgdGVtcAorICAgICAgICBpZiBB
Uk02NAorICAgICAgICAgICAgbG9hZHAgW3RlbXBdLCBjc3IwCisgICAgICAgICAgICBsb2FkcCA4
W3RlbXBdLCBjc3IxCisgICAgICAgICAgICBsb2FkcCAxNlt0ZW1wXSwgY3NyMgorICAgICAgICAg
ICAgbG9hZHAgMjRbdGVtcF0sIGNzcjMKKyAgICAgICAgICAgIGxvYWRwIDMyW3RlbXBdLCBjc3I0
CisgICAgICAgICAgICBsb2FkcCA0MFt0ZW1wXSwgY3NyNQorICAgICAgICAgICAgbG9hZHAgNDhb
dGVtcF0sIGNzcjYKKyAgICAgICAgICAgIGxvYWRwIDU2W3RlbXBdLCBjc3I3CisgICAgICAgICAg
ICBsb2FkcCA2NFt0ZW1wXSwgY3NyOAorICAgICAgICAgICAgbG9hZHAgNzJbdGVtcF0sIGNzcjkK
KyAgICAgICAgICAgIGxvYWRkIDgwW3RlbXBdLCBjc2ZyMAorICAgICAgICAgICAgbG9hZGQgODhb
dGVtcF0sIGNzZnIxCisgICAgICAgICAgICBsb2FkZCA5Nlt0ZW1wXSwgY3NmcjIKKyAgICAgICAg
ICAgIGxvYWRkIDEwNFt0ZW1wXSwgY3NmcjMKKyAgICAgICAgICAgIGxvYWRkIDExMlt0ZW1wXSwg
Y3NmcjQKKyAgICAgICAgICAgIGxvYWRkIDEyMFt0ZW1wXSwgY3NmcjUKKyAgICAgICAgICAgIGxv
YWRkIDEyOFt0ZW1wXSwgY3NmcjYKKyAgICAgICAgICAgIGxvYWRkIDEzNlt0ZW1wXSwgY3NmcjcK
KyAgICAgICAgZWxzaWYgWDg2XzY0CisgICAgICAgICAgICBsb2FkcCBbdGVtcF0sIGNzcjAKKyAg
ICAgICAgICAgIGxvYWRwIDhbdGVtcF0sIGNzcjEKKyAgICAgICAgICAgIGxvYWRwIDE2W3RlbXBd
LCBjc3IyCisgICAgICAgICAgICBsb2FkcCAyNFt0ZW1wXSwgY3NyMworICAgICAgICAgICAgbG9h
ZHAgMzJbdGVtcF0sIGNzcjQKKyAgICAgICAgZWxzaWYgWDg2XzY0X1dJTgorICAgICAgICAgICAg
bG9hZHAgW3RlbXBdLCBjc3IwCisgICAgICAgICAgICBsb2FkcCA4W3RlbXBdLCBjc3IxCisgICAg
ICAgICAgICBsb2FkcCAxNlt0ZW1wXSwgY3NyMgorICAgICAgICAgICAgbG9hZHAgMjRbdGVtcF0s
IGNzcjMKKyAgICAgICAgICAgIGxvYWRwIDMyW3RlbXBdLCBjc3I0CisgICAgICAgICAgICBsb2Fk
cCA0MFt0ZW1wXSwgY3NyNQorICAgICAgICAgICAgbG9hZHAgNDhbdGVtcF0sIGNzcjYKKyAgICAg
ICAgZW5kCisgICAgZW5kCitlbmQKKworbWFjcm8gcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJD
YWxsKGRlc3RpbmF0aW9uUmVnaXN0ZXIpCisgICAgaWYgQ19MT09QIG9yIEFSTSBvciBBUk12NyBv
ciBBUk12N19UUkFESVRJT05BTCBvciBBUk02NCBvciBNSVBTCisgICAgICAgICMgSW4gQ19MT09Q
IGNhc2UsIHdlJ3JlIG9ubHkgcHJlc2VydmluZyB0aGUgYnl0ZWNvZGUgdlBDLgorICAgICAgICBt
b3ZlIGxyLCBkZXN0aW5hdGlvblJlZ2lzdGVyCisgICAgZWxzaWYgWDg2IG9yIFg4Nl9XSU4gb3Ig
WDg2XzY0IG9yIFg4Nl82NF9XSU4KKyAgICAgICAgcG9wIGRlc3RpbmF0aW9uUmVnaXN0ZXIKKyAg
ICBlbHNlCisgICAgICAgIGVycm9yCisgICAgZW5kCitlbmQKKworbWFjcm8gZnVuY3Rpb25Qcm9s
b2d1ZSgpCisgICAgaWYgWDg2IG9yIFg4Nl9XSU4gb3IgWDg2XzY0IG9yIFg4Nl82NF9XSU4KKyAg
ICAgICAgcHVzaCBjZnIKKyAgICBlbHNpZiBBUk02NAorICAgICAgICBwdXNoIGNmciwgbHIKKyAg
ICBlbHNpZiBDX0xPT1Agb3IgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIE1J
UFMKKyAgICAgICAgcHVzaCBscgorICAgICAgICBwdXNoIGNmcgorICAgIGVuZAorICAgIG1vdmUg
c3AsIGNmcgorZW5kCisKK21hY3JvIGZ1bmN0aW9uRXBpbG9ndWUoKQorICAgIGlmIFg4NiBvciBY
ODZfV0lOIG9yIFg4Nl82NCBvciBYODZfNjRfV0lOCisgICAgICAgIHBvcCBjZnIKKyAgICBlbHNp
ZiBBUk02NAorICAgICAgICBwb3AgbHIsIGNmcgorICAgIGVsc2lmIENfTE9PUCBvciBBUk0gb3Ig
QVJNdjcgb3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgTUlQUworICAgICAgICBwb3AgY2ZyCisgICAg
ICAgIHBvcCBscgorICAgIGVuZAorZW5kCisKK21hY3JvIHZtRW50cnlSZWNvcmQoZW50cnlGcmFt
ZVBvaW50ZXIsIHJlc3VsdFJlZykKKyAgICBzdWJwIGVudHJ5RnJhbWVQb2ludGVyLCBWTUVudHJ5
VG90YWxGcmFtZVNpemUsIHJlc3VsdFJlZworZW5kCisKK21hY3JvIGdldEZyYW1lUmVnaXN0ZXJT
aXplRm9yQ29kZUJsb2NrKGNvZGVCbG9jaywgc2l6ZSkKKyAgICBsb2FkaSBDb2RlQmxvY2s6Om1f
bnVtQ2FsbGVlTG9jYWxzW2NvZGVCbG9ja10sIHNpemUKKyAgICBsc2hpZnRwIDMsIHNpemUKKyAg
ICBhZGRwIG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLCBzaXplCitlbmQKKworbWFjcm8g
cmVzdG9yZVN0YWNrUG9pbnRlckFmdGVyQ2FsbCgpCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0s
IHQyCisgICAgZ2V0RnJhbWVSZWdpc3RlclNpemVGb3JDb2RlQmxvY2sodDIsIHQyKQorICAgIGlm
IEFSTXY3CisgICAgICAgIHN1YnAgY2ZyLCB0MiwgdDIKKyAgICAgICAgbW92ZSB0Miwgc3AKKyAg
ICBlbHNlCisgICAgICAgIHN1YnAgY2ZyLCB0Miwgc3AKKyAgICBlbmQKK2VuZAorCittYWNybyB0
cmFjZUV4ZWN1dGlvbigpCisgICAgaWYgQ09MTEVDVF9TVEFUUworICAgICAgICBjYWxsU2xvd1Bh
dGgoX2xsaW50X2NvdW50X29wY29kZSkKKyAgICBlbmQKKyAgICBpZiBFWEVDVVRJT05fVFJBQ0lO
RworICAgICAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3RyYWNlKQorICAgIGVuZAorZW5kCisKK21h
Y3JvIHRyYWNlU2xvd1BhdGhFeGVjdXRpb24oKQorICAgIGlmIENPTExFQ1RfU1RBVFMKKyAgICAg
ICAgY2FsbFNsb3dQYXRoKF9sbGludF9jb3VudF9vcGNvZGVfc2xvd19wYXRoKQorICAgIGVuZAor
ZW5kCisKK21hY3JvIGNhbGxPcGNvZGVTbG93UGF0aChzbG93UGF0aCkKKyAgICB0cmFjZVNsb3dQ
YXRoRXhlY3V0aW9uKCkKKyAgICBjYWxsU2xvd1BhdGgoc2xvd1BhdGgpCitlbmQKKworbWFjcm8g
Y2FsbFRhcmdldEZ1bmN0aW9uKGNhbGxlZSkKKyAgICBpZiBDX0xPT1AKKyAgICAgICAgY2xvb3BD
YWxsSlNGdW5jdGlvbiBjYWxsZWUKKyAgICBlbHNlCisgICAgICAgIGNhbGwgY2FsbGVlCisgICAg
ZW5kCisgICAgcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVyQ2FsbCgpCisgICAgZGlzcGF0Y2hBZnRl
ckNhbGwoKQorZW5kCisKK21hY3JvIHByZXBhcmVGb3JSZWd1bGFyQ2FsbChjYWxsZWUsIHRlbXAx
LCB0ZW1wMiwgdGVtcDMpCisgICAgYWRkcCBDYWxsZXJGcmFtZUFuZFBDU2l6ZSwgc3AKK2VuZAor
CisjIHNwIHBvaW50cyB0byB0aGUgbmV3IGZyYW1lCittYWNybyBwcmVwYXJlRm9yVGFpbENhbGwo
Y2FsbGVlLCB0ZW1wMSwgdGVtcDIsIHRlbXAzKQorICAgIHJlc3RvcmVDYWxsZWVTYXZlc1VzZWRC
eUxMSW50KCkKKworICAgIGxvYWRpIFBheWxvYWRPZmZzZXQgKyBBcmd1bWVudENvdW50W2Nmcl0s
IHRlbXAyCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHRlbXAxCisgICAgbG9hZHAgQ29kZUJs
b2NrOjptX251bVBhcmFtZXRlcnNbdGVtcDFdLCB0ZW1wMQorICAgIGJpbHRlcSB0ZW1wMSwgdGVt
cDIsIC5ub0FyaXR5Rml4dXAKKyAgICBtb3ZlIHRlbXAxLCB0ZW1wMgorCisubm9Bcml0eUZpeHVw
OgorICAgICMgV2UgYXNzdW1lIDwgMl4yOCBhcmd1bWVudHMKKyAgICBtdWxpIFNsb3RTaXplLCB0
ZW1wMgorICAgIGFkZGkgU3RhY2tBbGlnbm1lbnQgLSAxICsgQ2FsbEZyYW1lSGVhZGVyU2l6ZSwg
dGVtcDIKKyAgICBhbmRpIH5TdGFja0FsaWdubWVudE1hc2ssIHRlbXAyCisKKyAgICBtb3ZlIGNm
ciwgdGVtcDEKKyAgICBhZGRwIHRlbXAyLCB0ZW1wMQorCisgICAgbG9hZGkgUGF5bG9hZE9mZnNl
dCArIEFyZ3VtZW50Q291bnRbc3BdLCB0ZW1wMgorICAgICMgV2UgYXNzdW1lIDwgMl4yOCBhcmd1
bWVudHMKKyAgICBtdWxpIFNsb3RTaXplLCB0ZW1wMgorICAgIGFkZGkgU3RhY2tBbGlnbm1lbnQg
LSAxICsgQ2FsbEZyYW1lSGVhZGVyU2l6ZSwgdGVtcDIKKyAgICBhbmRpIH5TdGFja0FsaWdubWVu
dE1hc2ssIHRlbXAyCisKKyAgICBpZiBBUk0gb3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgQVJNdjcg
b3IgQVJNNjQgb3IgQ19MT09QIG9yIE1JUFMKKyAgICAgICAgYWRkcCAyICogUHRyU2l6ZSwgc3AK
KyAgICAgICAgc3ViaSAyICogUHRyU2l6ZSwgdGVtcDIKKyAgICAgICAgbG9hZHAgUHRyU2l6ZVtj
ZnJdLCBscgorICAgIGVsc2UKKyAgICAgICAgYWRkcCBQdHJTaXplLCBzcAorICAgICAgICBzdWJp
IFB0clNpemUsIHRlbXAyCisgICAgICAgIGxvYWRwIFB0clNpemVbY2ZyXSwgdGVtcDMKKyAgICAg
ICAgc3RvcmVwIHRlbXAzLCBbc3BdCisgICAgZW5kCisKKyAgICBzdWJwIHRlbXAyLCB0ZW1wMQor
ICAgIGxvYWRwIFtjZnJdLCBjZnIKKworLmNvcHlMb29wOgorICAgIHN1YmkgUHRyU2l6ZSwgdGVt
cDIKKyAgICBsb2FkcCBbc3AsIHRlbXAyLCAxXSwgdGVtcDMKKyAgICBzdG9yZXAgdGVtcDMsIFt0
ZW1wMSwgdGVtcDIsIDFdCisgICAgYnRpbnogdGVtcDIsIC5jb3B5TG9vcAorCisgICAgbW92ZSB0
ZW1wMSwgc3AKKyAgICBqbXAgY2FsbGVlCitlbmQKKworbWFjcm8gc2xvd1BhdGhGb3JDYWxsKHNs
b3dQYXRoLCBwcmVwYXJlQ2FsbCkKKyAgICB0cmFjZVNsb3dQYXRoRXhlY3V0aW9uKCkKKyAgICBj
YWxsQ2FsbFNsb3dQYXRoKAorICAgICAgICBzbG93UGF0aCwKKyAgICAgICAgIyBUaG9zZSBhcmUg
cjAgYW5kIHIxCisgICAgICAgIG1hY3JvIChjYWxsZWUsIGNhbGxlZUZyYW1lUHRyKQorICAgICAg
ICAgICAgYnRweiBjYWxsZWVGcmFtZVB0ciwgLmRvbnRVcGRhdGVTUAorICAgICAgICAgICAgbW92
ZSBjYWxsZWVGcmFtZVB0ciwgc3AKKyAgICAgICAgICAgIHByZXBhcmVDYWxsKGNhbGxlZSwgdDIs
IHQzLCB0NCkKKyAgICAgICAgLmRvbnRVcGRhdGVTUDoKKyAgICAgICAgICAgIGNhbGxUYXJnZXRG
dW5jdGlvbihjYWxsZWUpCisgICAgICAgIGVuZCkKK2VuZAorCittYWNybyBhcnJheVByb2ZpbGUo
Y2VsbEFuZEluZGV4aW5nVHlwZSwgcHJvZmlsZSwgc2NyYXRjaCkKKyAgICBjb25zdCBjZWxsID0g
Y2VsbEFuZEluZGV4aW5nVHlwZQorICAgIGNvbnN0IGluZGV4aW5nVHlwZSA9IGNlbGxBbmRJbmRl
eGluZ1R5cGUgCisgICAgbG9hZGkgSlNDZWxsOjptX3N0cnVjdHVyZUlEW2NlbGxdLCBzY3JhdGNo
CisgICAgc3RvcmVpIHNjcmF0Y2gsIEFycmF5UHJvZmlsZTo6bV9sYXN0U2VlblN0cnVjdHVyZUlE
W3Byb2ZpbGVdCisgICAgbG9hZGIgSlNDZWxsOjptX2luZGV4aW5nVHlwZUFuZE1pc2NbY2VsbF0s
IGluZGV4aW5nVHlwZQorZW5kCisKK21hY3JvIHNraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuKGNl
bGwsIHNsb3dQYXRoKQorICAgIG1lbWZlbmNlCisgICAgYmJhIEpTQ2VsbDo6bV9jZWxsU3RhdGVb
Y2VsbF0sIEJsYWNrVGhyZXNob2xkLCAuZG9uZQorICAgIHNsb3dQYXRoKCkKKy5kb25lOgorZW5k
CisKK21hY3JvIG5vdGlmeVdyaXRlKHNldCwgc2xvdykKKyAgICBiYm5lcSBXYXRjaHBvaW50U2V0
OjptX3N0YXRlW3NldF0sIElzSW52YWxpZGF0ZWQsIHNsb3cKK2VuZAorCittYWNybyBjaGVja1N3
aXRjaFRvSklUKGluY3JlbWVudCwgYWN0aW9uKQorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0
MAorICAgIGJhZGRpcyBpbmNyZW1lbnQsIENvZGVCbG9jazo6bV9sbGludEV4ZWN1dGVDb3VudGVy
ICsgQmFzZWxpbmVFeGVjdXRpb25Db3VudGVyOjptX2NvdW50ZXJbdDBdLCAuY29udGludWUKKyAg
ICBhY3Rpb24oKQorICAgIC5jb250aW51ZToKK2VuZAorCittYWNybyBjaGVja1N3aXRjaFRvSklU
Rm9yRXBpbG9ndWUoKQorICAgIGNoZWNrU3dpdGNoVG9KSVQoCisgICAgICAgIDEwLAorICAgICAg
ICBtYWNybyAoKQorICAgICAgICAgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9yZXBsYWNl
KQorICAgICAgICBlbmQpCitlbmQKKworbWFjcm8gYXNzZXJ0Tm90Q29uc3RhbnQoaW5kZXgpCisg
ICAgYXNzZXJ0KG1hY3JvIChvaykgYmlsdCBpbmRleCwgRmlyc3RDb25zdGFudFJlZ2lzdGVySW5k
ZXgsIG9rIGVuZCkKK2VuZAorCittYWNybyBmdW5jdGlvbkZvckNhbGxDb2RlQmxvY2tHZXR0ZXIo
dGFyZ2V0UmVnaXN0ZXIpCisgICAgaWYgSlNWQUxVRTY0CisgICAgICAgIGxvYWRwIENhbGxlZVtj
ZnJdLCB0YXJnZXRSZWdpc3RlcgorICAgIGVsc2UKKyAgICAgICAgbG9hZHAgQ2FsbGVlICsgUGF5
bG9hZE9mZnNldFtjZnJdLCB0YXJnZXRSZWdpc3RlcgorICAgIGVuZAorICAgIGxvYWRwIEpTRnVu
Y3Rpb246Om1fZXhlY3V0YWJsZVt0YXJnZXRSZWdpc3Rlcl0sIHRhcmdldFJlZ2lzdGVyCisgICAg
bG9hZHAgRnVuY3Rpb25FeGVjdXRhYmxlOjptX2NvZGVCbG9ja0ZvckNhbGxbdGFyZ2V0UmVnaXN0
ZXJdLCB0YXJnZXRSZWdpc3RlcgorZW5kCisKK21hY3JvIGZ1bmN0aW9uRm9yQ29uc3RydWN0Q29k
ZUJsb2NrR2V0dGVyKHRhcmdldFJlZ2lzdGVyKQorICAgIGlmIEpTVkFMVUU2NAorICAgICAgICBs
b2FkcCBDYWxsZWVbY2ZyXSwgdGFyZ2V0UmVnaXN0ZXIKKyAgICBlbHNlCisgICAgICAgIGxvYWRw
IENhbGxlZSArIFBheWxvYWRPZmZzZXRbY2ZyXSwgdGFyZ2V0UmVnaXN0ZXIKKyAgICBlbmQKKyAg
ICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4ZWN1dGFibGVbdGFyZ2V0UmVnaXN0ZXJdLCB0YXJnZXRS
ZWdpc3RlcgorICAgIGxvYWRwIEZ1bmN0aW9uRXhlY3V0YWJsZTo6bV9jb2RlQmxvY2tGb3JDb25z
dHJ1Y3RbdGFyZ2V0UmVnaXN0ZXJdLCB0YXJnZXRSZWdpc3RlcgorZW5kCisKK21hY3JvIG5vdEZ1
bmN0aW9uQ29kZUJsb2NrR2V0dGVyKHRhcmdldFJlZ2lzdGVyKQorICAgIGxvYWRwIENvZGVCbG9j
a1tjZnJdLCB0YXJnZXRSZWdpc3RlcgorZW5kCisKK21hY3JvIGZ1bmN0aW9uQ29kZUJsb2NrU2V0
dGVyKHNvdXJjZVJlZ2lzdGVyKQorICAgIHN0b3JlcCBzb3VyY2VSZWdpc3RlciwgQ29kZUJsb2Nr
W2Nmcl0KK2VuZAorCittYWNybyBub3RGdW5jdGlvbkNvZGVCbG9ja1NldHRlcihzb3VyY2VSZWdp
c3RlcikKKyAgICAjIE5vdGhpbmcgdG8gZG8hCitlbmQKKworIyBEbyB0aGUgYmFyZSBtaW5pbXVt
IHJlcXVpcmVkIHRvIGV4ZWN1dGUgY29kZS4gU2V0cyB1cCB0aGUgUEMsIGxlYXZlIHRoZSBDb2Rl
QmxvY2sqCisjIGluIHQxLiBNYXkgYWxzbyB0cmlnZ2VyIHByb2xvZ3VlIGVudHJ5IE9TUi4KK21h
Y3JvIHByb2xvZ3VlKGNvZGVCbG9ja0dldHRlciwgY29kZUJsb2NrU2V0dGVyLCBvc3JTbG93UGF0
aCwgdHJhY2VTbG93UGF0aCkKKyAgICAjIFNldCB1cCB0aGUgY2FsbCBmcmFtZSBhbmQgY2hlY2sg
aWYgd2Ugc2hvdWxkIE9TUi4KKyAgICBwcmVzZXJ2ZUNhbGxlclBDQW5kQ0ZSKCkKKworICAgIGlm
IEVYRUNVVElPTl9UUkFDSU5HCisgICAgICAgIHN1YnAgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0
aENhbGwsIHNwCisgICAgICAgIGNhbGxTbG93UGF0aCh0cmFjZVNsb3dQYXRoKQorICAgICAgICBh
ZGRwIG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLCBzcAorICAgIGVuZAorICAgIGNvZGVC
bG9ja0dldHRlcih0MSkKKyAgICBpZiBub3QgQ19MT09QCisgICAgICAgIGJhZGRpcyA1LCBDb2Rl
QmxvY2s6Om1fbGxpbnRFeGVjdXRlQ291bnRlciArIEJhc2VsaW5lRXhlY3V0aW9uQ291bnRlcjo6
bV9jb3VudGVyW3QxXSwgLmNvbnRpbnVlCisgICAgICAgIGlmIEpTVkFMVUU2NAorICAgICAgICAg
ICAgbW92ZSBjZnIsIGEwCisgICAgICAgICAgICBtb3ZlIFBDLCBhMQorICAgICAgICAgICAgY0Nh
bGwyKG9zclNsb3dQYXRoKQorICAgICAgICBlbHNlCisgICAgICAgICAgICAjIFdlIGFyZSBhZnRl
ciB0aGUgZnVuY3Rpb24gcHJvbG9ndWUsIGJ1dCBiZWZvcmUgd2UgaGF2ZSBzZXQgdXAgc3AgZnJv
bSB0aGUgQ29kZUJsb2NrLgorICAgICAgICAgICAgIyBUZW1wb3JhcmlseSBhbGlnbiBzdGFjayBw
b2ludGVyIGZvciB0aGlzIGNhbGwuCisgICAgICAgICAgICBzdWJwIDgsIHNwCisgICAgICAgICAg
ICBtb3ZlIGNmciwgYTAKKyAgICAgICAgICAgIG1vdmUgUEMsIGExCisgICAgICAgICAgICBjQ2Fs
bDIob3NyU2xvd1BhdGgpCisgICAgICAgICAgICBhZGRwIDgsIHNwCisgICAgICAgIGVuZAorICAg
ICAgICBidHB6IHIwLCAucmVjb3ZlcgorICAgICAgICBtb3ZlIGNmciwgc3AgIyByZXN0b3JlIHRo
ZSBwcmV2aW91cyBzcAorICAgICAgICAjIHBvcCB0aGUgY2FsbGVyRnJhbWUgc2luY2Ugd2Ugd2ls
bCBqdW1wIHRvIGEgZnVuY3Rpb24gdGhhdCB3YW50cyB0byBzYXZlIGl0CisgICAgICAgIGlmIEFS
TTY0CisgICAgICAgICAgICBwb3AgbHIsIGNmcgorICAgICAgICBlbHNpZiBBUk0gb3IgQVJNdjcg
b3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgTUlQUworICAgICAgICAgICAgcG9wIGNmcgorICAgICAg
ICAgICAgcG9wIGxyCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHBvcCBjZnIKKyAgICAgICAg
ZW5kCisgICAgICAgIGptcCByMAorICAgIC5yZWNvdmVyOgorICAgICAgICBjb2RlQmxvY2tHZXR0
ZXIodDEpCisgICAgLmNvbnRpbnVlOgorICAgIGVuZAorCisgICAgY29kZUJsb2NrU2V0dGVyKHQx
KQorCisgICAgcHJlc2VydmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50KCkKKworICAgICMgU2V0IHVw
IHRoZSBQQy4KKyAgICBpZiBKU1ZBTFVFNjQKKyAgICAgICAgbG9hZHAgQ29kZUJsb2NrOjptX2lu
c3RydWN0aW9uc1t0MV0sIFBCCisgICAgICAgIG1vdmUgMCwgUEMKKyAgICBlbHNlCisgICAgICAg
IGxvYWRwIENvZGVCbG9jazo6bV9pbnN0cnVjdGlvbnNbdDFdLCBQQworICAgIGVuZAorCisgICAg
IyBHZXQgbmV3IHNwIGluIHQwIGFuZCBjaGVjayBzdGFjayBoZWlnaHQuCisgICAgZ2V0RnJhbWVS
ZWdpc3RlclNpemVGb3JDb2RlQmxvY2sodDEsIHQwKQorICAgIHN1YnAgY2ZyLCB0MCwgdDAKKyAg
ICBicGEgdDAsIGNmciwgLm5lZWRTdGFja0NoZWNrCisgICAgbG9hZHAgQ29kZUJsb2NrOjptX3Zt
W3QxXSwgdDIKKyAgICBpZiBDX0xPT1AKKyAgICAgICAgYnBiZXEgVk06Om1fY2xvb3BTdGFja0xp
bWl0W3QyXSwgdDAsIC5zdGFja0hlaWdodE9LCisgICAgZWxzZQorICAgICAgICBicGJlcSBWTTo6
bV9zb2Z0U3RhY2tMaW1pdFt0Ml0sIHQwLCAuc3RhY2tIZWlnaHRPSworICAgIGVuZAorCisubmVl
ZFN0YWNrQ2hlY2s6CisgICAgIyBTdGFjayBoZWlnaHQgY2hlY2sgZmFpbGVkIC0gbmVlZCB0byBj
YWxsIGEgc2xvd19wYXRoLgorICAgICMgU2V0IHVwIHRlbXBvcmFyeSBzdGFjayBwb2ludGVyIGZv
ciBjYWxsIGluY2x1ZGluZyBjYWxsZWUgc2F2ZXMKKyAgICBzdWJwIG1heEZyYW1lRXh0ZW50Rm9y
U2xvd1BhdGhDYWxsLCBzcAorICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc3RhY2tfY2hlY2spCisg
ICAgYnBlcSByMSwgMCwgLnN0YWNrSGVpZ2h0T0tHZXRDb2RlQmxvY2sKKyAgICBtb3ZlIHIxLCBj
ZnIKKyAgICBkaXNwYXRjaCgwKSAjIEdvIHRvIGV4Y2VwdGlvbiBoYW5kbGVyIGluIFBDCisKKy5z
dGFja0hlaWdodE9LR2V0Q29kZUJsb2NrOgorICAgICMgU3RhY2sgY2hlY2sgc2xvdyBwYXRoIHJl
dHVybmVkIHRoYXQgdGhlIHN0YWNrIHdhcyBvay4KKyAgICAjIFNpbmNlIHRoZXkgd2VyZSBjbG9i
YmVyZWQsIG5lZWQgdG8gZ2V0IENvZGVCbG9jayBhbmQgbmV3IHNwCisgICAgY29kZUJsb2NrR2V0
dGVyKHQxKQorICAgIGdldEZyYW1lUmVnaXN0ZXJTaXplRm9yQ29kZUJsb2NrKHQxLCB0MCkKKyAg
ICBzdWJwIGNmciwgdDAsIHQwCisKKy5zdGFja0hlaWdodE9LOgorICAgIG1vdmUgdDAsIHNwCisK
KyAgICBpZiBKU1ZBTFVFNjQKKyAgICAgICAgbW92ZSBUYWdUeXBlTnVtYmVyLCB0YWdUeXBlTnVt
YmVyCisgICAgICAgIGFkZHAgVGFnQml0VHlwZU90aGVyLCB0YWdUeXBlTnVtYmVyLCB0YWdNYXNr
CisgICAgZW5kCitlbmQKKworIyBFeHBlY3RzIHRoYXQgQ29kZUJsb2NrIGlzIGluIHQxLCB3aGlj
aCBpcyB3aGF0IHByb2xvZ3VlKCkgbGVhdmVzIGJlaGluZC4KKyMgTXVzdCBjYWxsIGRpc3BhdGNo
KDApIGFmdGVyIGNhbGxpbmcgdGhpcy4KK21hY3JvIGZ1bmN0aW9uSW5pdGlhbGl6YXRpb24ocHJv
ZmlsZUFyZ1NraXApCisgICAgIyBQcm9maWxlIHRoZSBhcmd1bWVudHMuIFVuZm9ydHVuYXRlbHks
IHdlIGhhdmUgbm8gY2hvaWNlIGJ1dCB0byBkbyB0aGlzLiBUaGlzCisgICAgIyBjb2RlIGlzIHBy
ZXR0eSBob3JyZW5kb3VzIGJlY2F1c2Ugb2YgdGhlIGRpZmZlcmVuY2UgaW4gb3JkZXJpbmcgYmV0
d2VlbgorICAgICMgYXJndW1lbnRzIGFuZCB2YWx1ZSBwcm9maWxlcywgdGhlIGRlc2lyZSB0byBo
YXZlIGEgc2ltcGxlIGxvb3AtZG93bi10by16ZXJvCisgICAgIyBsb29wLCBhbmQgdGhlIGRlc2ly
ZSB0byB1c2Ugb25seSB0aHJlZSByZWdpc3RlcnMgc28gYXMgdG8gcHJlc2VydmUgdGhlIFBDIGFu
ZAorICAgICMgdGhlIGNvZGUgYmxvY2suIEl0IGlzIGxpa2VseSB0aGF0IHRoaXMgY29kZSBzaG91
bGQgYmUgcmV3cml0dGVuIGluIGEgbW9yZQorICAgICMgb3B0aW1hbCB3YXkgZm9yIGFyY2hpdGVj
dHVyZXMgdGhhdCBoYXZlIG1vcmUgdGhhbiBmaXZlIHJlZ2lzdGVycyBhdmFpbGFibGUKKyAgICAj
IGZvciBhcmJpdHJhcnkgdXNlIGluIHRoZSBpbnRlcnByZXRlci4KKyAgICBsb2FkaSBDb2RlQmxv
Y2s6Om1fbnVtUGFyYW1ldGVyc1t0MV0sIHQwCisgICAgYWRkcCAtcHJvZmlsZUFyZ1NraXAsIHQw
ICMgVXNlIGFkZGkgYmVjYXVzZSB0aGF0J3Mgd2hhdCBoYXMgdGhlIHBlZXBob2xlCisgICAgYXNz
ZXJ0KG1hY3JvIChvaykgYnBndGVxIHQwLCAwLCBvayBlbmQpCisgICAgYnRweiB0MCwgLmFyZ3Vt
ZW50UHJvZmlsZURvbmUKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fYXJndW1lbnRWYWx1ZVByb2Zp
bGVzICsgVmVjdG9yQnVmZmVyT2Zmc2V0W3QxXSwgdDMKKyAgICBtdWxwIHNpemVvZiBWYWx1ZVBy
b2ZpbGUsIHQwLCB0MiAjIEFhYWFhaGhoaCEgTmVlZCBzdHJlbmd0aCByZWR1Y3Rpb24hCisgICAg
bHNoaWZ0cCAzLCB0MAorICAgIGFkZHAgdDIsIHQzCisuYXJndW1lbnRQcm9maWxlTG9vcDoKKyAg
ICBpZiBKU1ZBTFVFNjQKKyAgICAgICAgbG9hZHEgVGhpc0FyZ3VtZW50T2Zmc2V0IC0gOCArIHBy
b2ZpbGVBcmdTa2lwICogOFtjZnIsIHQwXSwgdDIKKyAgICAgICAgc3VicCBzaXplb2YgVmFsdWVQ
cm9maWxlLCB0MworICAgICAgICBzdG9yZXEgdDIsIHByb2ZpbGVBcmdTa2lwICogc2l6ZW9mIFZh
bHVlUHJvZmlsZSArIFZhbHVlUHJvZmlsZTo6bV9idWNrZXRzW3QzXQorICAgIGVsc2UKKyAgICAg
ICAgbG9hZGkgVGhpc0FyZ3VtZW50T2Zmc2V0ICsgVGFnT2Zmc2V0IC0gOCArIHByb2ZpbGVBcmdT
a2lwICogOFtjZnIsIHQwXSwgdDIKKyAgICAgICAgc3VicCBzaXplb2YgVmFsdWVQcm9maWxlLCB0
MworICAgICAgICBzdG9yZWkgdDIsIHByb2ZpbGVBcmdTa2lwICogc2l6ZW9mIFZhbHVlUHJvZmls
ZSArIFZhbHVlUHJvZmlsZTo6bV9idWNrZXRzICsgVGFnT2Zmc2V0W3QzXQorICAgICAgICBsb2Fk
aSBUaGlzQXJndW1lbnRPZmZzZXQgKyBQYXlsb2FkT2Zmc2V0IC0gOCArIHByb2ZpbGVBcmdTa2lw
ICogOFtjZnIsIHQwXSwgdDIKKyAgICAgICAgc3RvcmVpIHQyLCBwcm9maWxlQXJnU2tpcCAqIHNp
emVvZiBWYWx1ZVByb2ZpbGUgKyBWYWx1ZVByb2ZpbGU6Om1fYnVja2V0cyArIFBheWxvYWRPZmZz
ZXRbdDNdCisgICAgZW5kCisgICAgYmFkZHBueiAtOCwgdDAsIC5hcmd1bWVudFByb2ZpbGVMb29w
CisuYXJndW1lbnRQcm9maWxlRG9uZToKK2VuZAorCittYWNybyBkb1JldHVybigpCisgICAgcmVz
dG9yZUNhbGxlZVNhdmVzVXNlZEJ5TExJbnQoKQorICAgIHJlc3RvcmVDYWxsZXJQQ0FuZENGUigp
CisgICAgcmV0CitlbmQKKworIyBzdHViIHRvIGNhbGwgaW50byBKYXZhU2NyaXB0IG9yIE5hdGl2
ZSBmdW5jdGlvbnMKKyMgRW5jb2RlZEpTVmFsdWUgdm1FbnRyeVRvSmF2YVNjcmlwdCh2b2lkKiBj
b2RlLCBWTSogdm0sIFByb3RvQ2FsbEZyYW1lKiBwcm90b0ZyYW1lKQorIyBFbmNvZGVkSlNWYWx1
ZSB2bUVudHJ5VG9OYXRpdmVGdW5jdGlvbih2b2lkKiBjb2RlLCBWTSogdm0sIFByb3RvQ2FsbEZy
YW1lKiBwcm90b0ZyYW1lKQorCitpZiBDX0xPT1AKKyAgICBfbGxpbnRfdm1fZW50cnlfdG9famF2
YXNjcmlwdDoKK2Vsc2UKKyAgICBnbG9iYWwgX3ZtRW50cnlUb0phdmFTY3JpcHQKKyAgICBfdm1F
bnRyeVRvSmF2YVNjcmlwdDoKK2VuZAorICAgIGRvVk1FbnRyeShtYWtlSmF2YVNjcmlwdENhbGwp
CisKKworaWYgQ19MT09QCisgICAgX2xsaW50X3ZtX2VudHJ5X3RvX25hdGl2ZToKK2Vsc2UKKyAg
ICBnbG9iYWwgX3ZtRW50cnlUb05hdGl2ZQorICAgIF92bUVudHJ5VG9OYXRpdmU6CitlbmQKKyAg
ICBkb1ZNRW50cnkobWFrZUhvc3RGdW5jdGlvbkNhbGwpCisKKworaWYgbm90IENfTE9PUAorICAg
ICMgdm9pZCBzYW5pdGl6ZVN0YWNrRm9yVk1JbXBsKFZNKiB2bSkKKyAgICBnbG9iYWwgX3Nhbml0
aXplU3RhY2tGb3JWTUltcGwKKyAgICBfc2FuaXRpemVTdGFja0ZvclZNSW1wbDoKKyAgICAgICAg
IyBXZSBuZWVkIHRocmVlIG5vbi1hbGlhc2VkIGNhbGxlci1zYXZlIHJlZ2lzdGVycy4gV2UgYXJl
IGd1YXJhbnRlZWQKKyAgICAgICAgIyB0aGlzIGZvciBhMCwgYTEgYW5kIGEyIG9uIGFsbCBhcmNo
aXRlY3R1cmVzLgorICAgICAgICBpZiBYODYgb3IgWDg2X1dJTgorICAgICAgICAgICAgbG9hZHAg
NFtzcF0sIGEwCisgICAgICAgIGVuZAorICAgICAgICBjb25zdCB2bSA9IGEwCisgICAgICAgIGNv
bnN0IGFkZHJlc3MgPSBhMQorICAgICAgICBjb25zdCB6ZXJvVmFsdWUgPSBhMgorICAgIAorICAg
ICAgICBsb2FkcCBWTTo6bV9sYXN0U3RhY2tUb3Bbdm1dLCBhZGRyZXNzCisgICAgICAgIGJwYmVx
IHNwLCBhZGRyZXNzLCAuemVyb0ZpbGxEb25lCisgICAgCisgICAgICAgIG1vdmUgMCwgemVyb1Zh
bHVlCisgICAgLnplcm9GaWxsTG9vcDoKKyAgICAgICAgc3RvcmVwIHplcm9WYWx1ZSwgW2FkZHJl
c3NdCisgICAgICAgIGFkZHAgUHRyU2l6ZSwgYWRkcmVzcworICAgICAgICBicGEgc3AsIGFkZHJl
c3MsIC56ZXJvRmlsbExvb3AKKyAgICAKKyAgICAuemVyb0ZpbGxEb25lOgorICAgICAgICBtb3Zl
IHNwLCBhZGRyZXNzCisgICAgICAgIHN0b3JlcCBhZGRyZXNzLCBWTTo6bV9sYXN0U3RhY2tUb3Bb
dm1dCisgICAgICAgIHJldAorICAgIAorICAgICMgVk1FbnRyeVJlY29yZCogdm1FbnRyeVJlY29y
ZChjb25zdCBWTUVudHJ5RnJhbWUqIGVudHJ5RnJhbWUpCisgICAgZ2xvYmFsIF92bUVudHJ5UmVj
b3JkCisgICAgX3ZtRW50cnlSZWNvcmQ6CisgICAgICAgIGlmIFg4NiBvciBYODZfV0lOCisgICAg
ICAgICAgICBsb2FkcCA0W3NwXSwgYTAKKyAgICAgICAgZW5kCisKKyAgICAgICAgdm1FbnRyeVJl
Y29yZChhMCwgcjApCisgICAgICAgIHJldAorZW5kCisKK2lmIENfTE9PUAorICAgICMgRHVtbXkg
ZW50cnkgcG9pbnQgdGhlIEMgTG9vcCB1c2VzIHRvIGluaXRpYWxpemUuCisgICAgX2xsaW50X2Vu
dHJ5OgorICAgICAgICBjcmFzaCgpCitlbHNlCisgICAgbWFjcm8gaW5pdFBDUmVsYXRpdmUocGNC
YXNlKQorICAgICAgICBpZiBYODZfNjQgb3IgWDg2XzY0X1dJTiBvciBYODYgb3IgWDg2X1dJTgor
ICAgICAgICAgICAgY2FsbCBfcmVsYXRpdmVQQ0Jhc2UKKyAgICAgICAgX3JlbGF0aXZlUENCYXNl
OgorICAgICAgICAgICAgcG9wIHBjQmFzZQorICAgICAgICBlbHNpZiBBUk02NAorICAgICAgICBl
bHNpZiBBUk12NworICAgICAgICBfcmVsYXRpdmVQQ0Jhc2U6CisgICAgICAgICAgICBtb3ZlIHBj
LCBwY0Jhc2UKKyAgICAgICAgICAgIHN1YnAgMywgcGNCYXNlICAgIyBOZWVkIHRvIGJhY2sgdXAg
dGhlIFBDIGFuZCBzZXQgdGhlIFRodW1iMiBiaXQKKyAgICAgICAgZWxzaWYgQVJNIG9yIEFSTXY3
X1RSQURJVElPTkFMCisgICAgICAgIF9yZWxhdGl2ZVBDQmFzZToKKyAgICAgICAgICAgIG1vdmUg
cGMsIHBjQmFzZQorICAgICAgICAgICAgc3VicCA4LCBwY0Jhc2UKKyAgICAgICAgZWxzaWYgTUlQ
UworICAgICAgICAgICAgbGEgX3JlbGF0aXZlUENCYXNlLCBwY0Jhc2UKKyAgICAgICAgICAgIHNl
dGNhbGxyZWcgcGNCYXNlICMgbmVlZGVkIHRvIHNldCAkdDkgdG8gdGhlIHJpZ2h0IHZhbHVlIGZv
ciB0aGUgLmNwbG9hZCBjcmVhdGVkIGJ5IHRoZSBsYWJlbC4KKyAgICAgICAgX3JlbGF0aXZlUENC
YXNlOgorICAgICAgICBlbmQKK2VuZAorCisjIFRoZSBQQyBiYXNlIGlzIGluIHQxLCBhcyB0aGlz
IGlzIHdoYXQgX2xsaW50X2VudHJ5IGxlYXZlcyBiZWhpbmQgdGhyb3VnaAorIyBpbml0UENSZWxh
dGl2ZSh0MSkKK21hY3JvIHNldEVudHJ5QWRkcmVzcyhpbmRleCwgbGFiZWwpCisgICAgaWYgWDg2
XzY0IG9yIFg4Nl82NF9XSU4KKyAgICAgICAgbGVhcCAobGFiZWwgLSBfcmVsYXRpdmVQQ0Jhc2Up
W3QxXSwgdDMKKyAgICAgICAgbW92ZSBpbmRleCwgdDQKKyAgICAgICAgc3RvcmVwIHQzLCBbYTAs
IHQ0LCA4XQorICAgIGVsc2lmIFg4NiBvciBYODZfV0lOCisgICAgICAgIGxlYXAgKGxhYmVsIC0g
X3JlbGF0aXZlUENCYXNlKVt0MV0sIHQzCisgICAgICAgIG1vdmUgaW5kZXgsIHQ0CisgICAgICAg
IHN0b3JlcCB0MywgW2EwLCB0NCwgNF0KKyAgICBlbHNpZiBBUk02NAorICAgICAgICBwY3J0b2Fk
ZHIgbGFiZWwsIHQxCisgICAgICAgIG1vdmUgaW5kZXgsIHQ0CisgICAgICAgIHN0b3JlcCB0MSwg
W2EwLCB0NCwgOF0KKyAgICBlbHNpZiBBUk0gb3IgQVJNdjcgb3IgQVJNdjdfVFJBRElUSU9OQUwK
KyAgICAgICAgbXZsYmwgKGxhYmVsIC0gX3JlbGF0aXZlUENCYXNlKSwgdDQKKyAgICAgICAgYWRk
cCB0NCwgdDEsIHQ0CisgICAgICAgIG1vdmUgaW5kZXgsIHQzCisgICAgICAgIHN0b3JlcCB0NCwg
W2EwLCB0MywgNF0KKyAgICBlbHNpZiBNSVBTCisgICAgICAgIGxhIGxhYmVsLCB0NAorICAgICAg
ICBsYSBfcmVsYXRpdmVQQ0Jhc2UsIHQzCisgICAgICAgIHN1YnAgdDMsIHQ0CisgICAgICAgIGFk
ZHAgdDQsIHQxLCB0NAorICAgICAgICBtb3ZlIGluZGV4LCB0MworICAgICAgICBzdG9yZXAgdDQs
IFthMCwgdDMsIDRdCisgICAgZW5kCitlbmQKKworZ2xvYmFsIF9sbGludF9lbnRyeQorIyBFbnRy
eSBwb2ludCBmb3IgdGhlIGxsaW50IHRvIGluaXRpYWxpemUuCitfbGxpbnRfZW50cnk6CisgICAg
ZnVuY3Rpb25Qcm9sb2d1ZSgpCisgICAgcHVzaENhbGxlZVNhdmVzKCkKKyAgICBpZiBYODYgb3Ig
WDg2X1dJTgorICAgICAgICBsb2FkcCAyMFtzcF0sIGEwCisgICAgZW5kCisgICAgaW5pdFBDUmVs
YXRpdmUodDEpCisKKyAgICAjIEluY2x1ZGUgZ2VuZXJhdGVkIGJ5dGVjb2RlIGluaXRpYWxpemF0
aW9uIGZpbGUuCisgICAgaW5jbHVkZSBJbml0Qnl0ZWNvZGVzCisKKyAgICBwb3BDYWxsZWVTYXZl
cygpCisgICAgZnVuY3Rpb25FcGlsb2d1ZSgpCisgICAgcmV0CitlbmQKKworX2xsaW50X3Byb2dy
YW1fcHJvbG9ndWU6CisgICAgcHJvbG9ndWUobm90RnVuY3Rpb25Db2RlQmxvY2tHZXR0ZXIsIG5v
dEZ1bmN0aW9uQ29kZUJsb2NrU2V0dGVyLCBfbGxpbnRfZW50cnlfb3NyLCBfbGxpbnRfdHJhY2Vf
cHJvbG9ndWUpCisgICAgZGlzcGF0Y2goMCkKKworCitfbGxpbnRfbW9kdWxlX3Byb2dyYW1fcHJv
bG9ndWU6CisgICAgcHJvbG9ndWUobm90RnVuY3Rpb25Db2RlQmxvY2tHZXR0ZXIsIG5vdEZ1bmN0
aW9uQ29kZUJsb2NrU2V0dGVyLCBfbGxpbnRfZW50cnlfb3NyLCBfbGxpbnRfdHJhY2VfcHJvbG9n
dWUpCisgICAgZGlzcGF0Y2goMCkKKworCitfbGxpbnRfZXZhbF9wcm9sb2d1ZToKKyAgICBwcm9s
b2d1ZShub3RGdW5jdGlvbkNvZGVCbG9ja0dldHRlciwgbm90RnVuY3Rpb25Db2RlQmxvY2tTZXR0
ZXIsIF9sbGludF9lbnRyeV9vc3IsIF9sbGludF90cmFjZV9wcm9sb2d1ZSkKKyAgICBkaXNwYXRj
aCgwKQorCisKK19sbGludF9mdW5jdGlvbl9mb3JfY2FsbF9wcm9sb2d1ZToKKyAgICBwcm9sb2d1
ZShmdW5jdGlvbkZvckNhbGxDb2RlQmxvY2tHZXR0ZXIsIGZ1bmN0aW9uQ29kZUJsb2NrU2V0dGVy
LCBfbGxpbnRfZW50cnlfb3NyX2Z1bmN0aW9uX2Zvcl9jYWxsLCBfbGxpbnRfdHJhY2VfcHJvbG9n
dWVfZnVuY3Rpb25fZm9yX2NhbGwpCisgICAgZnVuY3Rpb25Jbml0aWFsaXphdGlvbigwKQorICAg
IGRpc3BhdGNoKDApCisgICAgCisKK19sbGludF9mdW5jdGlvbl9mb3JfY29uc3RydWN0X3Byb2xv
Z3VlOgorICAgIHByb2xvZ3VlKGZ1bmN0aW9uRm9yQ29uc3RydWN0Q29kZUJsb2NrR2V0dGVyLCBm
dW5jdGlvbkNvZGVCbG9ja1NldHRlciwgX2xsaW50X2VudHJ5X29zcl9mdW5jdGlvbl9mb3JfY29u
c3RydWN0LCBfbGxpbnRfdHJhY2VfcHJvbG9ndWVfZnVuY3Rpb25fZm9yX2NvbnN0cnVjdCkKKyAg
ICBmdW5jdGlvbkluaXRpYWxpemF0aW9uKDEpCisgICAgZGlzcGF0Y2goMCkKKyAgICAKKworX2xs
aW50X2Z1bmN0aW9uX2Zvcl9jYWxsX2FyaXR5X2NoZWNrOgorICAgIHByb2xvZ3VlKGZ1bmN0aW9u
Rm9yQ2FsbENvZGVCbG9ja0dldHRlciwgZnVuY3Rpb25Db2RlQmxvY2tTZXR0ZXIsIF9sbGludF9l
bnRyeV9vc3JfZnVuY3Rpb25fZm9yX2NhbGxfYXJpdHlDaGVjaywgX2xsaW50X3RyYWNlX2FyaXR5
Q2hlY2tfZm9yX2NhbGwpCisgICAgZnVuY3Rpb25Bcml0eUNoZWNrKC5mdW5jdGlvbkZvckNhbGxC
ZWdpbiwgX3Nsb3dfcGF0aF9jYWxsX2FyaXR5Q2hlY2spCisuZnVuY3Rpb25Gb3JDYWxsQmVnaW46
CisgICAgZnVuY3Rpb25Jbml0aWFsaXphdGlvbigwKQorICAgIGRpc3BhdGNoKDApCisKKworX2xs
aW50X2Z1bmN0aW9uX2Zvcl9jb25zdHJ1Y3RfYXJpdHlfY2hlY2s6CisgICAgcHJvbG9ndWUoZnVu
Y3Rpb25Gb3JDb25zdHJ1Y3RDb2RlQmxvY2tHZXR0ZXIsIGZ1bmN0aW9uQ29kZUJsb2NrU2V0dGVy
LCBfbGxpbnRfZW50cnlfb3NyX2Z1bmN0aW9uX2Zvcl9jb25zdHJ1Y3RfYXJpdHlDaGVjaywgX2xs
aW50X3RyYWNlX2FyaXR5Q2hlY2tfZm9yX2NvbnN0cnVjdCkKKyAgICBmdW5jdGlvbkFyaXR5Q2hl
Y2soLmZ1bmN0aW9uRm9yQ29uc3RydWN0QmVnaW4sIF9zbG93X3BhdGhfY29uc3RydWN0X2FyaXR5
Q2hlY2spCisuZnVuY3Rpb25Gb3JDb25zdHJ1Y3RCZWdpbjoKKyAgICBmdW5jdGlvbkluaXRpYWxp
emF0aW9uKDEpCisgICAgZGlzcGF0Y2goMCkKKworCisjIFZhbHVlLXJlcHJlc2VudGF0aW9uLXNw
ZWNpZmljIGNvZGUuCitpZiBKU1ZBTFVFNjQKKyAgICBpbmNsdWRlIExvd0xldmVsSW50ZXJwcmV0
ZXI2NAorZWxzZQorICAgIGluY2x1ZGUgTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0CitlbmQKKwor
CisjIFZhbHVlLXJlcHJlc2VudGF0aW9uLWFnbm9zdGljIGNvZGUuCitfbGxpbnRfb3BfY3JlYXRl
X2RpcmVjdF9hcmd1bWVudHM6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVT
bG93UGF0aChfc2xvd19wYXRoX2NyZWF0ZV9kaXJlY3RfYXJndW1lbnRzKQorICAgIGRpc3BhdGNo
KGNvbnN0ZXhwciBvcF9jcmVhdGVfZGlyZWN0X2FyZ3VtZW50c19sZW5ndGgpCisKKworX2xsaW50
X29wX2NyZWF0ZV9zY29wZWRfYXJndW1lbnRzOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBj
YWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9jcmVhdGVfc2NvcGVkX2FyZ3VtZW50cykKKyAg
ICBkaXNwYXRjaChjb25zdGV4cHIgb3BfY3JlYXRlX3Njb3BlZF9hcmd1bWVudHNfbGVuZ3RoKQor
CisKK19sbGludF9vcF9jcmVhdGVfY2xvbmVkX2FyZ3VtZW50czoKKyAgICB0cmFjZUV4ZWN1dGlv
bigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfY3JlYXRlX2Nsb25lZF9hcmd1
bWVudHMpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2NyZWF0ZV9jbG9uZWRfYXJndW1lbnRz
X2xlbmd0aCkKKworCitfbGxpbnRfb3BfY3JlYXRlX3RoaXM6CisgICAgdHJhY2VFeGVjdXRpb24o
KQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2NyZWF0ZV90aGlzKQorICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciBvcF9jcmVhdGVfdGhpc19sZW5ndGgpCisKKworX2xsaW50X29wX25l
d19vYmplY3Q6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChf
bGxpbnRfc2xvd19wYXRoX25ld19vYmplY3QpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX25l
d19vYmplY3RfbGVuZ3RoKQorCisKK19sbGludF9vcF9uZXdfZnVuYzoKKyAgICB0cmFjZUV4ZWN1
dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Z1bmMp
CisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX25ld19mdW5jX2xlbmd0aCkKKworCitfbGxpbnRf
b3BfbmV3X2dlbmVyYXRvcl9mdW5jOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bj
b2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfZ2VuZXJhdG9yX2Z1bmMpCisgICAgZGlz
cGF0Y2goY29uc3RleHByIG9wX25ld19nZW5lcmF0b3JfZnVuY19sZW5ndGgpCisKKworX2xsaW50
X29wX25ld19hc3luY19mdW5jOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsU2xvd1Bh
dGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfYXN5bmNfZnVuYykKKyAgICBkaXNwYXRjaChjb25zdGV4
cHIgb3BfbmV3X2FzeW5jX2Z1bmNfbGVuZ3RoKQorCisKK19sbGludF9vcF9uZXdfYXJyYXk6Cisg
ICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19w
YXRoX25ld19hcnJheSkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfbmV3X2FycmF5X2xlbmd0
aCkKKworCitfbGxpbnRfb3BfbmV3X2FycmF5X3dpdGhfc3ByZWFkOgorICAgIHRyYWNlRXhlY3V0
aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9uZXdfYXJyYXlfd2l0aF9z
cHJlYWQpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX25ld19hcnJheV93aXRoX3NwcmVhZF9s
ZW5ndGgpCisKKworX2xsaW50X29wX3NwcmVhZDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAg
Y2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfc3ByZWFkKQorICAgIGRpc3BhdGNoKGNvbnN0
ZXhwciBvcF9zcHJlYWRfbGVuZ3RoKQorCisKK19sbGludF9vcF9uZXdfYXJyYXlfd2l0aF9zaXpl
OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Ns
b3dfcGF0aF9uZXdfYXJyYXlfd2l0aF9zaXplKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9u
ZXdfYXJyYXlfd2l0aF9zaXplX2xlbmd0aCkKKworCitfbGxpbnRfb3BfbmV3X2FycmF5X2J1ZmZl
cjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9z
bG93X3BhdGhfbmV3X2FycmF5X2J1ZmZlcikKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfbmV3
X2FycmF5X2J1ZmZlcl9sZW5ndGgpCisKKworX2xsaW50X29wX25ld19yZWdleHA6CisgICAgdHJh
Y2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25l
d19yZWdleHApCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX25ld19yZWdleHBfbGVuZ3RoKQor
CisKK19sbGludF9vcF9sZXNzOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2Rl
U2xvd1BhdGgoX3Nsb3dfcGF0aF9sZXNzKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9sZXNz
X2xlbmd0aCkKKworCitfbGxpbnRfb3BfbGVzc2VxOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9sZXNzZXEpCisgICAgZGlzcGF0Y2goY29u
c3RleHByIG9wX2xlc3NlcV9sZW5ndGgpCisKKworX2xsaW50X29wX2dyZWF0ZXI6CisgICAgdHJh
Y2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2dyZWF0ZXIp
CisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dyZWF0ZXJfbGVuZ3RoKQorCisKK19sbGludF9v
cF9ncmVhdGVyZXE6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0
aChfc2xvd19wYXRoX2dyZWF0ZXJlcSkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ3JlYXRl
cmVxX2xlbmd0aCkKKworCitfbGxpbnRfb3BfbW9kOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9tb2QpCisgICAgZGlzcGF0Y2goY29uc3Rl
eHByIG9wX21vZF9sZW5ndGgpCisKKworX2xsaW50X29wX3BvdzoKKyAgICB0cmFjZUV4ZWN1dGlv
bigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfcG93KQorICAgIGRpc3BhdGNo
KGNvbnN0ZXhwciBvcF9wb3dfbGVuZ3RoKQorCisKK19sbGludF9vcF90eXBlb2Y6CisgICAgdHJh
Y2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3R5cGVvZikK
KyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfdHlwZW9mX2xlbmd0aCkKKworCitfbGxpbnRfb3Bf
aXNfb2JqZWN0X29yX251bGw6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVT
bG93UGF0aChfc2xvd19wYXRoX2lzX29iamVjdF9vcl9udWxsKQorICAgIGRpc3BhdGNoKGNvbnN0
ZXhwciBvcF9pc19vYmplY3Rfb3JfbnVsbF9sZW5ndGgpCisKK19sbGludF9vcF9pc19mdW5jdGlv
bjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3Bh
dGhfaXNfZnVuY3Rpb24pCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2lzX2Z1bmN0aW9uX2xl
bmd0aCkKKworCitfbGxpbnRfb3BfaW46CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxP
cGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2luKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9p
bl9sZW5ndGgpCisKKworX2xsaW50X29wX3RyeV9nZXRfYnlfaWQ6CisgICAgdHJhY2VFeGVjdXRp
b24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX3RyeV9nZXRfYnlf
aWQpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3RyeV9nZXRfYnlfaWRfbGVuZ3RoKQorCisK
K19sbGludF9vcF9kZWxfYnlfaWQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNv
ZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2RlbF9ieV9pZCkKKyAgICBkaXNwYXRjaChjb25z
dGV4cHIgb3BfZGVsX2J5X2lkX2xlbmd0aCkKKworCitfbGxpbnRfb3BfZGVsX2J5X3ZhbDoKKyAg
ICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3Bh
dGhfZGVsX2J5X3ZhbCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZGVsX2J5X3ZhbF9sZW5n
dGgpCisKKworX2xsaW50X29wX3B1dF9ieV9pbmRleDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisg
ICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfcHV0X2J5X2luZGV4KQorICAg
IGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wdXRfYnlfaW5kZXhfbGVuZ3RoKQorCisKK19sbGludF9v
cF9wdXRfZ2V0dGVyX2J5X2lkOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2Rl
U2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9wdXRfZ2V0dGVyX2J5X2lkKQorICAgIGRpc3BhdGNo
KGNvbnN0ZXhwciBvcF9wdXRfZ2V0dGVyX2J5X2lkX2xlbmd0aCkKKworCitfbGxpbnRfb3BfcHV0
X3NldHRlcl9ieV9pZDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQ
YXRoKF9sbGludF9zbG93X3BhdGhfcHV0X3NldHRlcl9ieV9pZCkKKyAgICBkaXNwYXRjaChjb25z
dGV4cHIgb3BfcHV0X3NldHRlcl9ieV9pZF9sZW5ndGgpCisKKworX2xsaW50X29wX3B1dF9nZXR0
ZXJfc2V0dGVyX2J5X2lkOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xv
d1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9wdXRfZ2V0dGVyX3NldHRlcl9ieV9pZCkKKyAgICBkaXNw
YXRjaChjb25zdGV4cHIgb3BfcHV0X2dldHRlcl9zZXR0ZXJfYnlfaWRfbGVuZ3RoKQorCisKK19s
bGludF9vcF9wdXRfZ2V0dGVyX2J5X3ZhbDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2Fs
bE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfcHV0X2dldHRlcl9ieV92YWwpCisgICAg
ZGlzcGF0Y2goY29uc3RleHByIG9wX3B1dF9nZXR0ZXJfYnlfdmFsX2xlbmd0aCkKKworCitfbGxp
bnRfb3BfcHV0X3NldHRlcl9ieV92YWw6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxP
cGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX3B1dF9zZXR0ZXJfYnlfdmFsKQorICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciBvcF9wdXRfc2V0dGVyX2J5X3ZhbF9sZW5ndGgpCisKKworX2xsaW50
X29wX2RlZmluZV9kYXRhX3Byb3BlcnR5OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxs
T3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9kZWZpbmVfZGF0YV9wcm9wZXJ0eSkKKyAgICBkaXNw
YXRjaChjb25zdGV4cHIgb3BfZGVmaW5lX2RhdGFfcHJvcGVydHlfbGVuZ3RoKQorCisKK19sbGlu
dF9vcF9kZWZpbmVfYWNjZXNzb3JfcHJvcGVydHk6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAg
IGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2RlZmluZV9hY2Nlc3Nvcl9wcm9wZXJ0eSkK
KyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZGVmaW5lX2FjY2Vzc29yX3Byb3BlcnR5X2xlbmd0
aCkKKworCitfbGxpbnRfb3BfanRydWU6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGp1bXBU
cnVlT3JGYWxzZSgKKyAgICAgICAgbWFjcm8gKHZhbHVlLCB0YXJnZXQpIGJ0aW56IHZhbHVlLCB0
YXJnZXQgZW5kLAorICAgICAgICBfbGxpbnRfc2xvd19wYXRoX2p0cnVlKQorCisKK19sbGludF9v
cF9qZmFsc2U6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGp1bXBUcnVlT3JGYWxzZSgKKyAg
ICAgICAgbWFjcm8gKHZhbHVlLCB0YXJnZXQpIGJ0aXogdmFsdWUsIHRhcmdldCBlbmQsCisgICAg
ICAgIF9sbGludF9zbG93X3BhdGhfamZhbHNlKQorCisKK19sbGludF9vcF9qbGVzczoKKyAgICB0
cmFjZUV4ZWN1dGlvbigpCisgICAgY29tcGFyZSgKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0
LCB0YXJnZXQpIGJpbHQgbGVmdCwgcmlnaHQsIHRhcmdldCBlbmQsCisgICAgICAgIG1hY3JvIChs
ZWZ0LCByaWdodCwgdGFyZ2V0KSBiZGx0IGxlZnQsIHJpZ2h0LCB0YXJnZXQgZW5kLAorICAgICAg
ICBfbGxpbnRfc2xvd19wYXRoX2psZXNzKQorCisKK19sbGludF9vcF9qbmxlc3M6CisgICAgdHJh
Y2VFeGVjdXRpb24oKQorICAgIGNvbXBhcmUoCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwg
dGFyZ2V0KSBiaWd0ZXEgbGVmdCwgcmlnaHQsIHRhcmdldCBlbmQsCisgICAgICAgIG1hY3JvIChs
ZWZ0LCByaWdodCwgdGFyZ2V0KSBiZGd0ZXF1biBsZWZ0LCByaWdodCwgdGFyZ2V0IGVuZCwKKyAg
ICAgICAgX2xsaW50X3Nsb3dfcGF0aF9qbmxlc3MpCisKKworX2xsaW50X29wX2pncmVhdGVyOgor
ICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjb21wYXJlKAorICAgICAgICBtYWNybyAobGVmdCwg
cmlnaHQsIHRhcmdldCkgYmlndCBsZWZ0LCByaWdodCwgdGFyZ2V0IGVuZCwKKyAgICAgICAgbWFj
cm8gKGxlZnQsIHJpZ2h0LCB0YXJnZXQpIGJkZ3QgbGVmdCwgcmlnaHQsIHRhcmdldCBlbmQsCisg
ICAgICAgIF9sbGludF9zbG93X3BhdGhfamdyZWF0ZXIpCisKKworX2xsaW50X29wX2puZ3JlYXRl
cjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY29tcGFyZSgKKyAgICAgICAgbWFjcm8gKGxl
ZnQsIHJpZ2h0LCB0YXJnZXQpIGJpbHRlcSBsZWZ0LCByaWdodCwgdGFyZ2V0IGVuZCwKKyAgICAg
ICAgbWFjcm8gKGxlZnQsIHJpZ2h0LCB0YXJnZXQpIGJkbHRlcXVuIGxlZnQsIHJpZ2h0LCB0YXJn
ZXQgZW5kLAorICAgICAgICBfbGxpbnRfc2xvd19wYXRoX2puZ3JlYXRlcikKKworCitfbGxpbnRf
b3Bfamxlc3NlcToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY29tcGFyZSgKKyAgICAgICAg
bWFjcm8gKGxlZnQsIHJpZ2h0LCB0YXJnZXQpIGJpbHRlcSBsZWZ0LCByaWdodCwgdGFyZ2V0IGVu
ZCwKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0LCB0YXJnZXQpIGJkbHRlcSBsZWZ0LCByaWdo
dCwgdGFyZ2V0IGVuZCwKKyAgICAgICAgX2xsaW50X3Nsb3dfcGF0aF9qbGVzc2VxKQorCisKK19s
bGludF9vcF9qbmxlc3NlcToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY29tcGFyZSgKKyAg
ICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0LCB0YXJnZXQpIGJpZ3QgbGVmdCwgcmlnaHQsIHRhcmdl
dCBlbmQsCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwgdGFyZ2V0KSBiZGd0dW4gbGVmdCwg
cmlnaHQsIHRhcmdldCBlbmQsCisgICAgICAgIF9sbGludF9zbG93X3BhdGhfam5sZXNzZXEpCisK
KworX2xsaW50X29wX2pncmVhdGVyZXE6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNvbXBh
cmUoCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwgdGFyZ2V0KSBiaWd0ZXEgbGVmdCwgcmln
aHQsIHRhcmdldCBlbmQsCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwgdGFyZ2V0KSBiZGd0
ZXEgbGVmdCwgcmlnaHQsIHRhcmdldCBlbmQsCisgICAgICAgIF9sbGludF9zbG93X3BhdGhfamdy
ZWF0ZXJlcSkKKworCitfbGxpbnRfb3Bfam5ncmVhdGVyZXE6CisgICAgdHJhY2VFeGVjdXRpb24o
KQorICAgIGNvbXBhcmUoCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwgdGFyZ2V0KSBiaWx0
IGxlZnQsIHJpZ2h0LCB0YXJnZXQgZW5kLAorICAgICAgICBtYWNybyAobGVmdCwgcmlnaHQsIHRh
cmdldCkgYmRsdHVuIGxlZnQsIHJpZ2h0LCB0YXJnZXQgZW5kLAorICAgICAgICBfbGxpbnRfc2xv
d19wYXRoX2puZ3JlYXRlcmVxKQorCisKK19sbGludF9vcF9sb29wX2hpbnQ6CisgICAgdHJhY2VF
eGVjdXRpb24oKQorICAgIGNoZWNrU3dpdGNoVG9KSVRGb3JMb29wKCkKKyAgICBkaXNwYXRjaChj
b25zdGV4cHIgb3BfbG9vcF9oaW50X2xlbmd0aCkKKworCitfbGxpbnRfb3BfY2hlY2tfdHJhcHM6
CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MQorICAg
IGxvYWRwIENvZGVCbG9jazo6bV92bVt0MV0sIHQxCisgICAgbG9hZGIgVk06Om1fdHJhcHMrVk1U
cmFwczo6bV9uZWVkVHJhcEhhbmRsaW5nW3QxXSwgdDAKKyAgICBidHBueiB0MCwgLmhhbmRsZVRy
YXBzCisuYWZ0ZXJIYW5kbGluZ1RyYXBzOgorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9jaGVj
a190cmFwc19sZW5ndGgpCisuaGFuZGxlVHJhcHM6CisgICAgY2FsbFRyYXBIYW5kbGVyKC50aHJv
d0hhbmRsZXIpCisgICAgam1wIC5hZnRlckhhbmRsaW5nVHJhcHMKKy50aHJvd0hhbmRsZXI6Cisg
ICAgam1wIF9sbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lCisKKworIyBSZXR1
cm5zIHRoZSBwYWNrZXQgcG9pbnRlciBpbiB0MC4KK21hY3JvIGFjcXVpcmVTaGFkb3dDaGlja2Vu
UGFja2V0KHNsb3cpCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQxCisgICAgbG9hZHAgQ29k
ZUJsb2NrOjptX3ZtW3QxXSwgdDEKKyAgICBsb2FkcCBWTTo6bV9zaGFkb3dDaGlja2VuW3QxXSwg
dDIKKyAgICBsb2FkcCBTaGFkb3dDaGlja2VuOjptX2xvZ0N1cnNvclt0Ml0sIHQwCisgICAgYnBh
ZXEgdDAsIFNoYWRvd0NoaWNrZW46Om1fbG9nRW5kW3QyXSwgc2xvdworICAgIGFkZHAgc2l6ZW9m
IFNoYWRvd0NoaWNrZW46OlBhY2tldCwgdDAsIHQxCisgICAgc3RvcmVwIHQxLCBTaGFkb3dDaGlj
a2VuOjptX2xvZ0N1cnNvclt0Ml0KK2VuZAorCisKK19sbGludF9vcF9ub3A6CisgICAgZGlzcGF0
Y2goY29uc3RleHByIG9wX25vcF9sZW5ndGgpCisKKworX2xsaW50X29wX3N3aXRjaF9zdHJpbmc6
CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xv
d19wYXRoX3N3aXRjaF9zdHJpbmcpCisgICAgZGlzcGF0Y2goMCkKKworCitfbGxpbnRfb3BfbmV3
X2Z1bmNfZXhwOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgo
X2xsaW50X3Nsb3dfcGF0aF9uZXdfZnVuY19leHApCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9w
X25ld19mdW5jX2V4cF9sZW5ndGgpCisKK19sbGludF9vcF9uZXdfZ2VuZXJhdG9yX2Z1bmNfZXhw
OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Ns
b3dfcGF0aF9uZXdfZ2VuZXJhdG9yX2Z1bmNfZXhwKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBv
cF9uZXdfZ2VuZXJhdG9yX2Z1bmNfZXhwX2xlbmd0aCkKKworX2xsaW50X29wX25ld19hc3luY19m
dW5jX2V4cDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbFNsb3dQYXRoKF9sbGludF9z
bG93X3BhdGhfbmV3X2FzeW5jX2Z1bmNfZXhwKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9u
ZXdfYXN5bmNfZnVuY19leHBfbGVuZ3RoKQorCisKK19sbGludF9vcF9zZXRfZnVuY3Rpb25fbmFt
ZToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9z
bG93X3BhdGhfc2V0X2Z1bmN0aW9uX25hbWUpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3Nl
dF9mdW5jdGlvbl9uYW1lX2xlbmd0aCkKKworX2xsaW50X29wX2NhbGw6CisgICAgdHJhY2VFeGVj
dXRpb24oKQorICAgIGFycmF5UHJvZmlsZUZvckNhbGwoKQorICAgIGRvQ2FsbChfbGxpbnRfc2xv
d19wYXRoX2NhbGwsIHByZXBhcmVGb3JSZWd1bGFyQ2FsbCkKKworX2xsaW50X29wX3RhaWxfY2Fs
bDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgYXJyYXlQcm9maWxlRm9yQ2FsbCgpCisgICAg
Y2hlY2tTd2l0Y2hUb0pJVEZvckVwaWxvZ3VlKCkKKyAgICBkb0NhbGwoX2xsaW50X3Nsb3dfcGF0
aF9jYWxsLCBwcmVwYXJlRm9yVGFpbENhbGwpCisKK19sbGludF9vcF9jb25zdHJ1Y3Q6CisgICAg
dHJhY2VFeGVjdXRpb24oKQorICAgIGRvQ2FsbChfbGxpbnRfc2xvd19wYXRoX2NvbnN0cnVjdCwg
cHJlcGFyZUZvclJlZ3VsYXJDYWxsKQorCittYWNybyBkb0NhbGxWYXJhcmdzKGZyYW1lU2xvd1Bh
dGgsIHNsb3dQYXRoLCBwcmVwYXJlQ2FsbCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoZnJhbWVT
bG93UGF0aCkKKyAgICBicmFuY2hJZkV4Y2VwdGlvbihfbGxpbnRfdGhyb3dfZnJvbV9zbG93X3Bh
dGhfdHJhbXBvbGluZSkKKyAgICAjIGNhbGxlZUZyYW1lIGluIHIxCisgICAgaWYgSlNWQUxVRTY0
CisgICAgICAgIG1vdmUgcjEsIHNwCisgICAgZWxzZQorICAgICAgICAjIFRoZSBjYWxsZWVGcmFt
ZSBpcyBub3Qgc3RhY2sgYWxpZ25lZCwgbW92ZSBkb3duIGJ5IENhbGxlckZyYW1lQW5kUENTaXpl
IHRvIGFsaWduCisgICAgICAgIGlmIEFSTXY3CisgICAgICAgICAgICBzdWJwIHIxLCBDYWxsZXJG
cmFtZUFuZFBDU2l6ZSwgdDIKKyAgICAgICAgICAgIG1vdmUgdDIsIHNwCisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIHN1YnAgcjEsIENhbGxlckZyYW1lQW5kUENTaXplLCBzcAorICAgICAgICBl
bmQKKyAgICBlbmQKKyAgICBzbG93UGF0aEZvckNhbGwoc2xvd1BhdGgsIHByZXBhcmVDYWxsKQor
ZW5kCisKK19sbGludF9vcF9jYWxsX3ZhcmFyZ3M6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAg
IGRvQ2FsbFZhcmFyZ3MoX2xsaW50X3Nsb3dfcGF0aF9zaXplX2ZyYW1lX2Zvcl92YXJhcmdzLCBf
bGxpbnRfc2xvd19wYXRoX2NhbGxfdmFyYXJncywgcHJlcGFyZUZvclJlZ3VsYXJDYWxsKQorCitf
bGxpbnRfb3BfdGFpbF9jYWxsX3ZhcmFyZ3M6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNo
ZWNrU3dpdGNoVG9KSVRGb3JFcGlsb2d1ZSgpCisgICAgIyBXZSBsaWUgYW5kIHBlcmZvcm0gdGhl
IHRhaWwgY2FsbCBpbnN0ZWFkIG9mIHByZXBhcmluZyBpdCBzaW5jZSB3ZSBjYW4ndAorICAgICMg
cHJlcGFyZSB0aGUgZnJhbWUgZm9yIGEgY2FsbCBvcGNvZGUKKyAgICBkb0NhbGxWYXJhcmdzKF9s
bGludF9zbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncywgX2xsaW50X3Nsb3dfcGF0aF9j
YWxsX3ZhcmFyZ3MsIHByZXBhcmVGb3JUYWlsQ2FsbCkKKworCitfbGxpbnRfb3BfdGFpbF9jYWxs
X2ZvcndhcmRfYXJndW1lbnRzOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjaGVja1N3aXRj
aFRvSklURm9yRXBpbG9ndWUoKQorICAgICMgV2UgbGllIGFuZCBwZXJmb3JtIHRoZSB0YWlsIGNh
bGwgaW5zdGVhZCBvZiBwcmVwYXJpbmcgaXQgc2luY2Ugd2UgY2FuJ3QKKyAgICAjIHByZXBhcmUg
dGhlIGZyYW1lIGZvciBhIGNhbGwgb3Bjb2RlCisgICAgZG9DYWxsVmFyYXJncyhfbGxpbnRfc2xv
d19wYXRoX3NpemVfZnJhbWVfZm9yX2ZvcndhcmRfYXJndW1lbnRzLCBfbGxpbnRfc2xvd19wYXRo
X3RhaWxfY2FsbF9mb3J3YXJkX2FyZ3VtZW50cywgcHJlcGFyZUZvclRhaWxDYWxsKQorCisKK19s
bGludF9vcF9jb25zdHJ1Y3RfdmFyYXJnczoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgZG9D
YWxsVmFyYXJncyhfbGxpbnRfc2xvd19wYXRoX3NpemVfZnJhbWVfZm9yX3ZhcmFyZ3MsIF9sbGlu
dF9zbG93X3BhdGhfY29uc3RydWN0X3ZhcmFyZ3MsIHByZXBhcmVGb3JSZWd1bGFyQ2FsbCkKKwor
CitfbGxpbnRfb3BfY2FsbF9ldmFsOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICAKKyAgICAj
IEV2YWwgaXMgZXhlY3V0ZWQgaW4gb25lIG9mIHR3byBtb2RlczoKKyAgICAjCisgICAgIyAxKSBX
ZSBmaW5kIHRoYXQgd2UncmUgcmVhbGx5IGludm9raW5nIGV2YWwoKSBpbiB3aGljaCBjYXNlIHRo
ZQorICAgICMgICAgZXhlY3V0aW9uIGlzIHBlcmZvbWVkIGVudGlyZWx5IGluc2lkZSB0aGUgc2xv
d19wYXRoLCBhbmQgaXQKKyAgICAjICAgIHJldHVybnMgdGhlIFBDIG9mIGEgZnVuY3Rpb24gdGhh
dCBqdXN0IHJldHVybnMgdGhlIHJldHVybiB2YWx1ZQorICAgICMgICAgdGhhdCB0aGUgZXZhbCBy
ZXR1cm5lZC4KKyAgICAjCisgICAgIyAyKSBXZSBmaW5kIHRoYXQgd2UncmUgaW52b2tpbmcgc29t
ZXRoaW5nIGNhbGxlZCBldmFsKCkgdGhhdCBpcyBub3QKKyAgICAjICAgIHRoZSByZWFsIGV2YWwu
IFRoZW4gdGhlIHNsb3dfcGF0aCByZXR1cm5zIHRoZSBQQyBvZiB0aGUgdGhpbmcgdG8KKyAgICAj
ICAgIGNhbGwsIGFuZCB3ZSBjYWxsIGl0LgorICAgICMKKyAgICAjIFRoaXMgYWxsb3dzIHVzIHRv
IGhhbmRsZSB0d28gY2FzZXMsIHdoaWNoIHdvdWxkIHJlcXVpcmUgYSB0b3RhbCBvZgorICAgICMg
dXAgdG8gZm91ciBwaWVjZXMgb2Ygc3RhdGUgdGhhdCBjYW5ub3QgYmUgZWFzaWx5IHBhY2tlZCBp
bnRvIHR3bworICAgICMgcmVnaXN0ZXJzIChDIGZ1bmN0aW9ucyBjYW4gcmV0dXJuIHVwIHRvIHR3
byByZWdpc3RlcnMsIGVhc2lseSk6CisgICAgIworICAgICMgLSBUaGUgY2FsbCBmcmFtZSByZWdp
c3Rlci4gVGhpcyBtYXkgb3IgbWF5IG5vdCBoYXZlIGJlZW4gbW9kaWZpZWQKKyAgICAjICAgYnkg
dGhlIHNsb3dfcGF0aCwgYnV0IHRoZSBjb252ZW50aW9uIGlzIHRoYXQgaXQgcmV0dXJucyBpdC4g
SXQncyBub3QKKyAgICAjICAgdG90YWxseSBjbGVhciBpZiB0aGF0J3MgbmVjZXNzYXJ5LCBzaW5j
ZSB0aGUgY2ZyIGlzIGNhbGxlZSBzYXZlLgorICAgICMgICBCdXQgdGhhdCdzIG91ciBzdHlsZSBp
biB0aGlzIGhlcmUgaW50ZXJwcmV0ZXIgc28gd2Ugc3RpY2sgd2l0aCBpdC4KKyAgICAjCisgICAg
IyAtIEEgYml0IHRvIHNheSBpZiB0aGUgc2xvd19wYXRoIHN1Y2Nlc3NmdWxseSBleGVjdXRlZCB0
aGUgZXZhbCBhbmQgaGFzCisgICAgIyAgIHRoZSByZXR1cm4gdmFsdWUsIG9yIGRpZCBub3QgZXhl
Y3V0ZSB0aGUgZXZhbCBidXQgaGFzIGEgUEMgZm9yIHVzCisgICAgIyAgIHRvIGNhbGwuCisgICAg
IworICAgICMgLSBFaXRoZXI6CisgICAgIyAgIC0gVGhlIEpTIHJldHVybiB2YWx1ZSAodHdvIHJl
Z2lzdGVycyksIG9yCisgICAgIworICAgICMgICAtIFRoZSBQQyB0byBjYWxsLgorICAgICMKKyAg
ICAjIEl0IHR1cm5zIG91dCB0byBiZSBlYXNpZXIgdG8ganVzdCBhbHdheXMgaGF2ZSB0aGlzIHJl
dHVybiB0aGUgY2ZyCisgICAgIyBhbmQgYSBQQyB0byBjYWxsLCBhbmQgdGhhdCBQQyBtYXkgYmUg
YSBkdW1teSB0aHVuayB0aGF0IGp1c3QKKyAgICAjIHJldHVybnMgdGhlIEpTIHZhbHVlIHRoYXQg
dGhlIGV2YWwgcmV0dXJuZWQuCisgICAgCisgICAgc2xvd1BhdGhGb3JDYWxsKF9sbGludF9zbG93
X3BhdGhfY2FsbF9ldmFsLCBwcmVwYXJlRm9yUmVndWxhckNhbGwpCisKKworX2xsaW50X2dlbmVy
aWNfcmV0dXJuX3BvaW50OgorICAgIGRpc3BhdGNoQWZ0ZXJDYWxsKCkKKworCitfbGxpbnRfb3Bf
c3RyY2F0OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Ns
b3dfcGF0aF9zdHJjYXQpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3N0cmNhdF9sZW5ndGgp
CisKKworX2xsaW50X29wX3B1c2hfd2l0aF9zY29wZToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisg
ICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfcHVzaF93aXRoX3Njb3BlKQorICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciBvcF9wdXNoX3dpdGhfc2NvcGVfbGVuZ3RoKQorCisKK19sbGludF9v
cF9hc3NlcnQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChf
c2xvd19wYXRoX2Fzc2VydCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfYXNzZXJ0X2xlbmd0
aCkKKworCitfbGxpbnRfb3BfdW5yZWFjaGFibGU6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAg
IGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3VucmVhY2hhYmxlKQorICAgIGRpc3BhdGNo
KGNvbnN0ZXhwciBvcF91bnJlYWNoYWJsZV9sZW5ndGgpCisKKworX2xsaW50X29wX3lpZWxkOgor
ICAgIG5vdFN1cHBvcnRlZCgpCisKKworX2xsaW50X29wX2NyZWF0ZV9sZXhpY2FsX2Vudmlyb25t
ZW50OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3df
cGF0aF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIg
b3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnRfbGVuZ3RoKQorCisKK19sbGludF9vcF90aHJv
dzoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9z
bG93X3BhdGhfdGhyb3cpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3Rocm93X2xlbmd0aCkK
KworCitfbGxpbnRfb3BfdGhyb3dfc3RhdGljX2Vycm9yOgorICAgIHRyYWNlRXhlY3V0aW9uKCkK
KyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF90aHJvd19zdGF0aWNfZXJyb3IpCisg
ICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3Rocm93X3N0YXRpY19lcnJvcl9sZW5ndGgpCisKKwor
X2xsaW50X29wX2RlYnVnOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBsb2FkcCBDb2RlQmxv
Y2tbY2ZyXSwgdDAKKyAgICBsb2FkaSBDb2RlQmxvY2s6Om1fZGVidWdnZXJSZXF1ZXN0c1t0MF0s
IHQwCisgICAgYnRpeiB0MCwgLm9wRGVidWdEb25lCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9s
bGludF9zbG93X3BhdGhfZGVidWcpCisub3BEZWJ1Z0RvbmU6ICAgICAgICAgICAgICAgICAgICAK
KyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZGVidWdfbGVuZ3RoKQorCisKK19sbGludF9uYXRp
dmVfY2FsbF90cmFtcG9saW5lOgorICAgIG5hdGl2ZUNhbGxUcmFtcG9saW5lKE5hdGl2ZUV4ZWN1
dGFibGU6Om1fZnVuY3Rpb24pCisKKworX2xsaW50X25hdGl2ZV9jb25zdHJ1Y3RfdHJhbXBvbGlu
ZToKKyAgICBuYXRpdmVDYWxsVHJhbXBvbGluZShOYXRpdmVFeGVjdXRhYmxlOjptX2NvbnN0cnVj
dG9yKQorCitfbGxpbnRfb3BfZ2V0X2VudW1lcmFibGVfbGVuZ3RoOgorICAgIHRyYWNlRXhlY3V0
aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9nZXRfZW51bWVyYWJsZV9s
ZW5ndGgpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dldF9lbnVtZXJhYmxlX2xlbmd0aF9s
ZW5ndGgpCisKK19sbGludF9vcF9oYXNfaW5kZXhlZF9wcm9wZXJ0eToKKyAgICB0cmFjZUV4ZWN1
dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfaGFzX2luZGV4ZWRfcHJv
cGVydHkpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2hhc19pbmRleGVkX3Byb3BlcnR5X2xl
bmd0aCkKKworX2xsaW50X29wX2hhc19zdHJ1Y3R1cmVfcHJvcGVydHk6CisgICAgdHJhY2VFeGVj
dXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2hhc19zdHJ1Y3R1cmVf
cHJvcGVydHkpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2hhc19zdHJ1Y3R1cmVfcHJvcGVy
dHlfbGVuZ3RoKQorCitfbGxpbnRfb3BfaGFzX2dlbmVyaWNfcHJvcGVydHk6CisgICAgdHJhY2VF
eGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2hhc19nZW5lcmlj
X3Byb3BlcnR5KQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9oYXNfZ2VuZXJpY19wcm9wZXJ0
eV9sZW5ndGgpCisKK19sbGludF9vcF9nZXRfZGlyZWN0X3BuYW1lOgorICAgIHRyYWNlRXhlY3V0
aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9nZXRfZGlyZWN0X3BuYW1l
KQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfZGlyZWN0X3BuYW1lX2xlbmd0aCkKKwor
X2xsaW50X29wX2dldF9wcm9wZXJ0eV9lbnVtZXJhdG9yOgorICAgIHRyYWNlRXhlY3V0aW9uKCkK
KyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9nZXRfcHJvcGVydHlfZW51bWVyYXRv
cikKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3JfbGVu
Z3RoKQorCitfbGxpbnRfb3BfZW51bWVyYXRvcl9zdHJ1Y3R1cmVfcG5hbWU6CisgICAgdHJhY2VF
eGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX25leHRfc3RydWN0
dXJlX2VudW1lcmF0b3JfcG5hbWUpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2VudW1lcmF0
b3Jfc3RydWN0dXJlX3BuYW1lX2xlbmd0aCkKKworX2xsaW50X29wX2VudW1lcmF0b3JfZ2VuZXJp
Y19wbmFtZToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9z
bG93X3BhdGhfbmV4dF9nZW5lcmljX2VudW1lcmF0b3JfcG5hbWUpCisgICAgZGlzcGF0Y2goY29u
c3RleHByIG9wX2VudW1lcmF0b3JfZ2VuZXJpY19wbmFtZV9sZW5ndGgpCisKK19sbGludF9vcF90
b19pbmRleF9zdHJpbmc6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93
UGF0aChfc2xvd19wYXRoX3RvX2luZGV4X3N0cmluZykKKyAgICBkaXNwYXRjaChjb25zdGV4cHIg
b3BfdG9faW5kZXhfc3RyaW5nX2xlbmd0aCkKKworX2xsaW50X29wX2NyZWF0ZV9yZXN0OgorICAg
IHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9jcmVh
dGVfcmVzdCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfY3JlYXRlX3Jlc3RfbGVuZ3RoKQor
CitfbGxpbnRfb3BfaW5zdGFuY2VvZjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9w
Y29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfaW5zdGFuY2VvZikKKyAgICBkaXNwYXRjaChj
b25zdGV4cHIgb3BfaW5zdGFuY2VvZl9sZW5ndGgpCisKK19sbGludF9vcF9nZXRfYnlfaWRfd2l0
aF90aGlzOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Ns
b3dfcGF0aF9nZXRfYnlfaWRfd2l0aF90aGlzKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9n
ZXRfYnlfaWRfd2l0aF90aGlzX2xlbmd0aCkKKworX2xsaW50X29wX2dldF9ieV92YWxfd2l0aF90
aGlzOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3df
cGF0aF9nZXRfYnlfdmFsX3dpdGhfdGhpcykKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0
X2J5X3ZhbF93aXRoX3RoaXNfbGVuZ3RoKQorCitfbGxpbnRfb3BfcHV0X2J5X2lkX3dpdGhfdGhp
czoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3Bh
dGhfcHV0X2J5X2lkX3dpdGhfdGhpcykKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfcHV0X2J5
X2lkX3dpdGhfdGhpc19sZW5ndGgpCisKK19sbGludF9vcF9wdXRfYnlfdmFsX3dpdGhfdGhpczoK
KyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhf
cHV0X2J5X3ZhbF93aXRoX3RoaXMpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3B1dF9ieV92
YWxfd2l0aF90aGlzX2xlbmd0aCkKKworX2xsaW50X29wX3Jlc29sdmVfc2NvcGVfZm9yX2hvaXN0
aW5nX2Z1bmNfZGVjbF9pbl9ldmFsOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bj
b2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9yZXNvbHZlX3Njb3BlX2Zvcl9ob2lzdGluZ19mdW5jX2Rl
Y2xfaW5fZXZhbCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfcmVzb2x2ZV9zY29wZV9mb3Jf
aG9pc3RpbmdfZnVuY19kZWNsX2luX2V2YWxfbGVuZ3RoKQorCisjIExhc3RseSwgbWFrZSBzdXJl
IHRoYXQgd2UgY2FuIGxpbmsgZXZlbiB0aG91Z2ggd2UgZG9uJ3Qgc3VwcG9ydCBhbGwgb3Bjb2Rl
cy4KKyMgVGhlc2Ugb3Bjb2RlcyBzaG91bGQgbmV2ZXIgYXJpc2Ugd2hlbiB1c2luZyBMTEludCBv
ciBlaXRoZXIgSklULiBXZSBhc3NlcnQKKyMgYXMgbXVjaC4KKworbWFjcm8gbm90U3VwcG9ydGVk
KCkKKyAgICBpZiBBU1NFUlRfRU5BQkxFRAorICAgICAgICBjcmFzaCgpCisgICAgZWxzZQorICAg
ICAgICAjIFdlIHNob3VsZCB1c2Ugd2hhdGV2ZXIgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIGluc3Ry
dWN0aW9uIGlzLCBqdXN0IHRvCisgICAgICAgICMgZW5zdXJlIHRoYXQgdGhlcmUgaXMgYSBnYXAg
YmV0d2VlbiBpbnN0cnVjdGlvbiBsYWJlbHMuIElmIG11bHRpcGxlCisgICAgICAgICMgc21hbGxl
c3QgaW5zdHJ1Y3Rpb25zIGV4aXN0LCB3ZSBzaG91bGQgcGljayB0aGUgb25lIHRoYXQgaXMgbW9z
dAorICAgICAgICAjIGxpa2VseSByZXN1bHQgaW4gZXhlY3V0aW9uIGJlaW5nIGhhbHRlZC4gQ3Vy
cmVudGx5IHRoYXQgaXMgdGhlIGJyZWFrCisgICAgICAgICMgaW5zdHJ1Y3Rpb24gb24gYWxsIGFy
Y2hpdGVjdHVyZXMgd2UncmUgaW50ZXJlc3RlZCBpbi4gKEJyZWFrIGlzIGludDMKKyAgICAgICAg
IyBvbiBJbnRlbCwgd2hpY2ggaXMgMSBieXRlLCBhbmQgYmtwdCBvbiBBUk12Nywgd2hpY2ggaXMg
MiBieXRlcy4pCisgICAgICAgIGJyZWFrCisgICAgZW5kCitlbmQKSW5kZXg6IFBlcmZvcm1hbmNl
VGVzdHMvUmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9Mb3dMZXZlbEludGVycHJldGVyLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9M
b3dMZXZlbEludGVycHJldGVyLmpzCShub25leGlzdGVudCkKKysrIFBlcmZvcm1hbmNlVGVzdHMv
UmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9Mb3dMZXZlbEludGVycHJldGVyLmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTg3OCBAQAorLyoKKyAqIERPIE5PVCBFRElUIFRISVMgRklMRSwg
aXQgaXMgYXV0b2dlbmVyYXRlZC4KKyAqLworInVzZSBzdHJpY3QiOworCisoZnVuY3Rpb24oKSB7
CisgICAgbGV0IHNvdXJjZSA9IGAjIENvcHlyaWdodCAoQykgMjAxMS0yMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUg
bWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIFxgXGBBUyBJUycnCisjIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorIyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworIyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisj
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisjIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworIyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorIyBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorIyBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisjIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKworIyBDcmFzaCBjb3Vyc2Ugb24gdGhlIGxhbmd1YWdlIHRoYXQgdGhpcyBpcyB3cml0
dGVuIGluICh3aGljaCBJIGp1c3QgY2FsbAorIyAiYXNzZW1ibHkiIGV2ZW4gdGhvdWdoIGl0J3Mg
bW9yZSB0aGFuIHRoYXQpOgorIworIyAtIE1vc3RseSBnYXMtc3R5bGUgb3BlcmFuZCBvcmRlcmlu
Zy4gVGhlIGxhc3Qgb3BlcmFuZCB0ZW5kcyB0byBiZSB0aGUKKyMgICBkZXN0aW5hdGlvbi4gU28g
ImEgOj0gYiIgaXMgd3JpdHRlbiBhcyAibW92IGIsIGEiLiBCdXQgdW5saWtlIGdhcywKKyMgICBj
b21wYXJpc29ucyBhcmUgaW4tb3JkZXIsIHNvICJpZiAoYSA8IGIpIiBpcyB3cml0dGVuIGFzCisj
ICAgImJpbHQgYSwgYiwgLi4uIi4KKyMKKyMgLSAiYiIgPSBieXRlLCAiaCIgPSAxNi1iaXQgd29y
ZCwgImkiID0gMzItYml0IHdvcmQsICJwIiA9IHBvaW50ZXIuCisjICAgRm9yIDMyLWJpdCwgImki
IGFuZCAicCIgYXJlIGludGVyY2hhbmdlYWJsZSBleGNlcHQgd2hlbiBhbiBvcCBzdXBwb3J0cyBv
bmUKKyMgICBidXQgbm90IHRoZSBvdGhlci4KKyMKKyMgLSBJbiBnZW5lcmFsLCB2YWxpZCBvcGVy
YW5kcyBmb3IgbWFjcm8gaW52b2NhdGlvbnMgYW5kIGluc3RydWN0aW9ucyBhcmUKKyMgICByZWdp
c3RlcnMgKGVnICJ0MCIpLCBhZGRyZXNzZXMgKGVnICI0W3QwXSIpLCBiYXNlLWluZGV4IGFkZHJl
c3NlcworIyAgIChlZyAiN1t0MCwgdDEsIDJdIiksIGFic29sdXRlIGFkZHJlc3NlcyAoZWcgIjB4
YTAwMDAwMDBbXSIpLCBvciBsYWJlbHMKKyMgICAoZWcgIl9mb28iIG9yICIuZm9vIikuIE1hY3Jv
IGludm9jYXRpb25zIGNhbiBhbHNvIHRha2UgYW5vbnltb3VzCisjICAgbWFjcm9zIGFzIG9wZXJh
bmRzLiBJbnN0cnVjdGlvbnMgY2Fubm90IHRha2UgYW5vbnltb3VzIG1hY3Jvcy4KKyMKKyMgLSBM
YWJlbHMgbXVzdCBoYXZlIG5hbWVzIHRoYXQgYmVnaW4gd2l0aCBlaXRoZXIgIl8iIG9yICIuIi4g
IEEgIi4iIGxhYmVsCisjICAgaXMgbG9jYWwgYW5kIGdldHMgcmVuYW1lZCBiZWZvcmUgY29kZSBn
ZW4gdG8gbWluaW1pemUgbmFtZXNwYWNlCisjICAgcG9sbHV0aW9uLiBBICJfIiBsYWJlbCBpcyBh
biBleHRlcm4gc3ltYm9sIChpLmUuICIuZ2xvYmwiKS4gVGhlICJfIgorIyAgIG1heSBvciBtYXkg
bm90IGJlIHJlbW92ZWQgZHVyaW5nIGNvZGUgZ2VuIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBh
c20KKyMgICBjb252ZW50aW9ucyBmb3IgQyBuYW1lIG1hbmdsaW5nIG9uIHRoZSB0YXJnZXQgcGxh
dGZvcm0gbWFuZGF0ZSBhICJfIgorIyAgIHByZWZpeC4KKyMKKyMgLSBBICJtYWNybyIgaXMgYSBs
YW1iZGEgZXhwcmVzc2lvbiwgd2hpY2ggbWF5IGJlIGVpdGhlciBhbm9ueW1vdXMgb3IKKyMgICBu
YW1lZC4gQnV0IHRoaXMgaGFzIGNhdmVhdHMuICJtYWNybyIgY2FuIHRha2UgemVybyBvciBtb3Jl
IGFyZ3VtZW50cywKKyMgICB3aGljaCBtYXkgYmUgbWFjcm9zIG9yIGFueSB2YWxpZCBvcGVyYW5k
cywgYnV0IGl0IGNhbiBvbmx5IHJldHVybgorIyAgIGNvZGUuIEJ1dCB5b3UgY2FuIGRvIFR1cmlu
Zy1jb21wbGV0ZSB0aGluZ3MgdmlhIGNvbnRpbnVhdGlvbiBwYXNzaW5nCisjICAgc3R5bGU6ICJt
YWNybyBmb28gKGEsIGIpIGIoYSwgYSkgZW5kIGZvbyhmb28sIGZvbykiLiBBY3R1YWxseSwgZG9u
J3QgZG8KKyMgICB0aGF0LCBzaW5jZSB5b3UnbGwganVzdCBjcmFzaCB0aGUgYXNzZW1ibGVyLgor
IworIyAtIEFuICJpZiIgaXMgYSBjb25kaXRpb25hbCBvbiBzZXR0aW5ncy4gQW55IGlkZW50aWZp
ZXIgc3VwcGxpZWQgaW4gdGhlCisjICAgcHJlZGljYXRlIG9mIGFuICJpZiIgaXMgYXNzdW1lZCB0
byBiZSBhICNkZWZpbmUgdGhhdCBpcyBhdmFpbGFibGUKKyMgICBkdXJpbmcgY29kZSBnZW4uIFNv
IHlvdSBjYW4ndCB1c2UgImlmIiBmb3IgY29tcHV0YXRpb24gaW4gYSBtYWNybywgYnV0CisjICAg
eW91IGNhbiB1c2UgaXQgdG8gc2VsZWN0IGRpZmZlcmVudCBwaWVjZXMgb2YgY29kZSBmb3IgZGlm
ZmVyZW50CisjICAgcGxhdGZvcm1zLgorIworIyAtIEFyZ3VtZW50cyB0byBtYWNyb3MgZm9sbG93
IGxleGljYWwgc2NvcGluZyByYXRoZXIgdGhhbiBkeW5hbWljIHNjb3BpbmcuCisjICAgQ29uc3Qn
cyBhbHNvIGZvbGxvdyBsZXhpY2FsIHNjb3BpbmcgYW5kIG1heSBvdmVycmlkZSAoaGlkZSkgYXJn
dW1lbnRzCisjICAgb3Igb3RoZXIgY29uc3RzLiBBbGwgdmFyaWFibGVzIChhcmd1bWVudHMgYW5k
IGNvbnN0YW50cykgY2FuIGJlIGJvdW5kCisjICAgdG8gb3BlcmFuZHMuIEFkZGl0aW9uYWxseSwg
YXJndW1lbnRzIChidXQgbm90IGNvbnN0YW50cykgY2FuIGJlIGJvdW5kCisjICAgdG8gbWFjcm9z
LgorCisjIFRoZSBmb2xsb3dpbmcgZ2VuZXJhbC1wdXJwb3NlIHJlZ2lzdGVycyBhcmUgYXZhaWxh
YmxlOgorIworIyAgLSBjZnIgYW5kIHNwIGhvbGQgdGhlIGNhbGwgZnJhbWUgYW5kIChuYXRpdmUp
IHN0YWNrIHBvaW50ZXIgcmVzcGVjdGl2ZWx5LgorIyAgVGhleSBhcmUgY2FsbGVlLXNhdmUgcmVn
aXN0ZXJzLCBhbmQgZ3VhcmFudGVlZCB0byBiZSBkaXN0aW5jdCBmcm9tIGFsbCBvdGhlcgorIyAg
cmVnaXN0ZXJzIG9uIGFsbCBhcmNoaXRlY3R1cmVzLgorIworIyAgLSBsciBpcyBkZWZpbmVkIG9u
IG5vbi1YODYgYXJjaGl0ZWN0dXJlcyAoQVJNNjQsIEFSTXY3LCBBUk0sCisjICBBUk12N19UUkFE
SVRJT05BTCwgTUlQUyBhbmQgQ0xPT1ApIGFuZCBob2xkcyB0aGUgcmV0dXJuIFBDCisjCisjICAt
IHBjIGhvbGRzIHRoZSAobmF0aXZlKSBwcm9ncmFtIGNvdW50ZXIgb24gMzItYml0cyBBUk0gYXJj
aGl0ZWN0dXJlcyAoQVJNLAorIyAgQVJNdjcsIEFSTXY3X1RSQURJVElPTkFMKQorIworIyAgLSB0
MCwgdDEsIHQyLCB0MywgdDQgYW5kIG9wdGlvbmFsbHkgdDUgYXJlIHRlbXBvcmFyeSByZWdpc3Rl
cnMgdGhhdCBjYW4gZ2V0IHRyYXNoZWQgb24KKyMgIGNhbGxzLCBhbmQgYXJlIHBhaXJ3aXNlIGRp
c3RpbmN0IHJlZ2lzdGVycy4gdDQgaG9sZHMgdGhlIEpTIHByb2dyYW0gY291bnRlciwgc28gdXNl
CisjICB3aXRoIGNhdXRpb24gaW4gb3Bjb2RlcyAoYWN0dWFsbHksIGRvbid0IHVzZSBpdCBpbiBv
cGNvZGVzIGF0IGFsbCwgZXhjZXB0IGFzIFBDKS4KKyMKKyMgIC0gcjAgYW5kIHIxIGFyZSB0aGUg
cGxhdGZvcm0ncyBjdXN0b21hcnkgcmV0dXJuIHJlZ2lzdGVycywgYW5kIHRodXMgYXJlCisjICB0
d28gZGlzdGluY3QgcmVnaXN0ZXJzCisjCisjICAtIGEwLCBhMSwgYTIgYW5kIGEzIGFyZSB0aGUg
cGxhdGZvcm0ncyBjdXN0b21hcnkgYXJndW1lbnQgcmVnaXN0ZXJzLCBhbmQKKyMgIHRodXMgYXJl
IHBhaXJ3aXNlIGRpc3RpbmN0IHJlZ2lzdGVycy4gQmUgbWluZGZ1bCB0aGF0OgorIyAgICArIE9u
IFg4NiwgdGhlcmUgYXJlIG5vIGFyZ3VtZW50IHJlZ2lzdGVycy4gYTAgYW5kIGExIGFyZSBlZHgg
YW5kCisjICAgIGVjeCBmb2xsb3dpbmcgdGhlIGZhc3RjYWxsIGNvbnZlbnRpb24sIGJ1dCB5b3Ug
c2hvdWxkIHN0aWxsIHVzZSB0aGUgc3RhY2sKKyMgICAgdG8gcGFzcyB5b3VyIGFyZ3VtZW50cy4g
VGhlIGNDYWxsMiBhbmQgY0NhbGw0IG1hY3JvcyBkbyB0aGlzIGZvciB5b3UuCisjICAgICsgT24g
WDg2XzY0X1dJTiwgeW91IHNob3VsZCBhbGxvY2F0ZSBzcGFjZSBvbiB0aGUgc3RhY2sgZm9yIHRo
ZSBhcmd1bWVudHMsCisjICAgIGFuZCB0aGUgcmV0dXJuIGNvbnZlbnRpb24gaXMgd2VpcmQgZm9y
ID4gOCBieXRlcyB0eXBlcy4gVGhlIG9ubHkgcGxhY2Ugd2UKKyMgICAgdXNlID4gOCBieXRlcyBy
ZXR1cm4gdmFsdWVzIGlzIG9uIGEgY0NhbGwsIGFuZCBjQ2FsbDIgYW5kIGNDYWxsNCBoYW5kbGUK
KyMgICAgdGhpcyBmb3IgeW91LgorIworIyAgLSBUaGUgb25seSByZWdpc3RlcnMgZ3VhcmFudGVl
ZCB0byBiZSBjYWxsZXItc2F2ZWQgYXJlIHIwLCByMSwgYTAsIGExIGFuZCBhMiwgYW5kCisjICB5
b3Ugc2hvdWxkIGJlIG1pbmRmdWwgb2YgdGhhdCBpbiBmdW5jdGlvbnMgdGhhdCBhcmUgY2FsbGVk
IGRpcmVjdGx5IGZyb20gQy4KKyMgIElmIHlvdSBuZWVkIG1vcmUgcmVnaXN0ZXJzLCB5b3Ugc2hv
dWxkIHB1c2ggYW5kIHBvcCB0aGVtIGxpa2UgYSBnb29kCisjICBhc3NlbWJseSBjaXRpemVuLCBi
ZWNhdXNlIGFueSBvdGhlciByZWdpc3RlciB3aWxsIGJlIGNhbGxlZS1zYXZlZCBvbiBYODYuCisj
CisjIFlvdSBjYW4gYWRkaXRpb25hbGx5IGFzc3VtZToKKyMKKyMgIC0gYTMsIHQyLCB0MywgdDQg
YW5kIHQ1IGFyZSBuZXZlciByZXR1cm4gcmVnaXN0ZXJzOyB0MCwgdDEsIGEwLCBhMSBhbmQgYTIK
KyMgIGNhbiBiZSByZXR1cm4gcmVnaXN0ZXJzLgorIworIyAgLSB0NCBhbmQgdDUgYXJlIG5ldmVy
IGFyZ3VtZW50IHJlZ2lzdGVycywgdDMgY2FuIG9ubHkgYmUgYTMsIHQxIGNhbiBvbmx5IGJlCisj
ICBhMTsgYnV0IHQwIGFuZCB0MiBjYW4gYmUgZWl0aGVyIGEwIG9yIGEyLgorIworIyAgLSBPbiA2
NCBiaXRzLCB0aGVyZSBhcmUgY2FsbGVlLXNhdmUgcmVnaXN0ZXJzIG5hbWVkIGNzcjAsIGNzcjEs
IC4uLiBjc3JOLgorIyAgVGhlIGxhc3QgdGhyZWUgY3NyIHJlZ2lzdGVycyBhcmUgdXNlZCB1c2Vk
IHRvIHN0b3JlIHRoZSBQQyBiYXNlIGFuZAorIyAgdHdvIHNwZWNpYWwgdGFnIHZhbHVlcy4gRG9u
J3QgdXNlIHRoZW0gZm9yIGFueXRoaW5nIGVsc2UuCisjCisjIEFkZGl0aW9uYWwgcGxhdGZvcm0t
c3BlY2lmaWMgZGV0YWlscyAoeW91IHNob3VsZG4ndCByZWx5IG9uIHRoaXMgcmVtYWluaW5nCisj
IHRydWUpOgorIworIyAgLSBGb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgYmFzZWxpbmUgSklULCB0
MCBpcyBhbHdheXMgcjAgKGFuZCB0MSBpcyBhbHdheXMKKyMgIHIxIG9uIDMyIGJpdHMgcGxhdGZv
cm1zKS4gWW91IHNob3VsZCB1c2UgdGhlIHIgdmVyc2lvbiB3aGVuIHlvdSBuZWVkIHJldHVybgor
IyAgcmVnaXN0ZXJzLCBhbmQgdGhlIHQgdmVyc2lvbiBvdGhlcndpc2U6IGNvZGUgdXNpbmcgdDAg
KG9yIHQxKSBzaG91bGQgc3RpbGwKKyMgIHdvcmsgaWYgc3dhcHBlZCB3aXRoIGUuZy4gdDMsIHdo
aWxlIGNvZGUgdXNpbmcgcjAgKG9yIHIxKSBzaG91bGQgbm90LiBUaGVyZQorIyAgKm1heSogYmUg
bGVnYWN5IGNvZGUgcmVseWluZyBvbiB0aGlzLgorIworIyAgLSBPbiBhbGwgcGxhdGZvcm1zIG90
aGVyIHRoYW4gWDg2LCB0MCBjYW4gb25seSBiZSBhMCBhbmQgdDIgY2FuIG9ubHkgYmUgYTIuCisj
CisjICAtIE9uIGFsbCBwbGF0Zm9ybXMgb3RoZXIgdGhhbiBYODYgYW5kIFg4Nl82NCwgYTIgaXMg
bm90IGEgcmV0dXJuIHJlZ2lzdGVyLgorIyAgYTIgaXMgcjAgb24gWDg2IChiZWNhdXNlIHdlIGhh
dmUgc28gZmV3IHJlZ2lzdGVycykgYW5kIHIxIG9uIFg4Nl82NCAoYmVjYXVzZQorIyAgdGhlIEFC
SSBlbmZvcmNlcyBpdCkuCisjCisjIFRoZSBmb2xsb3dpbmcgZmxvYXRpbmctcG9pbnQgcmVnaXN0
ZXJzIGFyZSBhdmFpbGFibGU6CisjCisjICAtIGZ0MC1mdDUgYXJlIHRlbXBvcmFyeSBmbG9hdGlu
Zy1wb2ludCByZWdpc3RlcnMgdGhhdCBnZXQgdHJhc2hlZCBvbiBjYWxscywKKyMgIGFuZCBhcmUg
cGFpcndpc2UgZGlzdGluY3QuCisjCisjICAtIGZhMCBhbmQgZmExIGFyZSB0aGUgcGxhdGZvcm0n
cyBjdXN0b21hcnkgZmxvYXRpbmctcG9pbnQgYXJndW1lbnQKKyMgIHJlZ2lzdGVycywgYW5kIGFy
ZSBib3RoIGRpc3RpbmN0LiBPbiA2NC1iaXRzIHBsYXRmb3JtcywgZmEyIGFuZCBmYTMgYXJlCisj
ICBhZGRpdGlvbmFsIGZsb2F0aW5nLXBvaW50IGFyZ3VtZW50IHJlZ2lzdGVycy4KKyMKKyMgIC0g
ZnIgaXMgdGhlIHBsYXRmb3JtJ3MgY3VzdG9tYXJ5IGZsb2F0aW5nLXBvaW50IHJldHVybiByZWdp
c3RlcgorIworIyBZb3UgY2FuIGFzc3VtZSB0aGF0IGZ0MS1mdDUgb3IgZmExLWZhMyBhcmUgbmV2
ZXIgZnIsIGFuZCB0aGF0IGZ0WCBpcyBuZXZlcgorIyBmYVkgaWYgWCAhPSBZLgorCisjIEZpcnN0
IGNvbWUgdGhlIGNvbW1vbiBwcm90b2NvbHMgdGhhdCBib3RoIGludGVycHJldGVycyB1c2UuIE5v
dGUgdGhhdCBlYWNoCisjIG9mIHRoZXNlIG11c3QgaGF2ZSBhbiBBU1NFUlQoKSBpbiBMTEludERh
dGEuY3BwCisKKyMgV29yay1hcm91bmQgZm9yIHRoZSBmYWN0IHRoYXQgdGhlIHRvb2xjaGFpbidz
IGF3YXJlbmVzcyBvZiBhcm12N2sgLyBhcm12N3MKKyMgcmVzdWx0cyBpbiBhIHNlcGFyYXRlIHNs
YWIgaW4gdGhlIGZhdCBiaW5hcnksIHlldCB0aGUgb2ZmbGluZWFzbSBkb2Vzbid0IGtub3cKKyMg
dG8gZXhwZWN0IGl0LgoraWYgQVJNdjdrCitlbmQKK2lmIEFSTXY3cworZW5kCisKKyMgVGhlc2Ug
ZGVjbGFyYXRpb25zIG11c3QgbWF0Y2ggaW50ZXJwcmV0ZXIvSlNTdGFjay5oLgorCitjb25zdCBQ
dHJTaXplID0gY29uc3RleHByIChzaXplb2Yodm9pZCopKQorCitpZiBKU1ZBTFVFNjQKKyAgICBj
b25zdCBDYWxsRnJhbWVIZWFkZXJTbG90cyA9IDUKK2Vsc2UKKyAgICBjb25zdCBDYWxsRnJhbWVI
ZWFkZXJTbG90cyA9IDQKKyAgICBjb25zdCBDYWxsRnJhbWVBbGlnblNsb3RzID0gMQorZW5kCitj
b25zdCBTbG90U2l6ZSA9IDgKKworY29uc3QgSlNFbnZpcm9ubWVudFJlY29yZF92YXJpYWJsZXMg
PSAoc2l6ZW9mIEpTRW52aXJvbm1lbnRSZWNvcmQgKyBTbG90U2l6ZSAtIDEpICYgfihTbG90U2l6
ZSAtIDEpCitjb25zdCBEaXJlY3RBcmd1bWVudHNfc3RvcmFnZSA9IChzaXplb2YgRGlyZWN0QXJn
dW1lbnRzICsgU2xvdFNpemUgLSAxKSAmIH4oU2xvdFNpemUgLSAxKQorCitjb25zdCBTdGFja0Fs
aWdubWVudCA9IDE2Citjb25zdCBTdGFja0FsaWdubWVudFNsb3RzID0gMgorY29uc3QgU3RhY2tB
bGlnbm1lbnRNYXNrID0gU3RhY2tBbGlnbm1lbnQgLSAxCisKK2NvbnN0IENhbGxlckZyYW1lQW5k
UENTaXplID0gMiAqIFB0clNpemUKKworY29uc3QgQ2FsbGVyRnJhbWUgPSAwCitjb25zdCBSZXR1
cm5QQyA9IENhbGxlckZyYW1lICsgUHRyU2l6ZQorY29uc3QgQ29kZUJsb2NrID0gUmV0dXJuUEMg
KyBQdHJTaXplCitjb25zdCBDYWxsZWUgPSBDb2RlQmxvY2sgKyBTbG90U2l6ZQorY29uc3QgQXJn
dW1lbnRDb3VudCA9IENhbGxlZSArIFNsb3RTaXplCitjb25zdCBUaGlzQXJndW1lbnRPZmZzZXQg
PSBBcmd1bWVudENvdW50ICsgU2xvdFNpemUKK2NvbnN0IEZpcnN0QXJndW1lbnRPZmZzZXQgPSBU
aGlzQXJndW1lbnRPZmZzZXQgKyBTbG90U2l6ZQorY29uc3QgQ2FsbEZyYW1lSGVhZGVyU2l6ZSA9
IFRoaXNBcmd1bWVudE9mZnNldAorCisjIFNvbWUgdmFsdWUgcmVwcmVzZW50YXRpb24gY29uc3Rh
bnRzLgoraWYgSlNWQUxVRTY0CisgICAgY29uc3QgVGFnQml0VHlwZU90aGVyID0gMHgyCisgICAg
Y29uc3QgVGFnQml0Qm9vbCAgICAgID0gMHg0CisgICAgY29uc3QgVGFnQml0VW5kZWZpbmVkID0g
MHg4CisgICAgY29uc3QgVmFsdWVFbXB0eSAgICAgID0gMHgwCisgICAgY29uc3QgVmFsdWVGYWxz
ZSAgICAgID0gVGFnQml0VHlwZU90aGVyIHwgVGFnQml0Qm9vbAorICAgIGNvbnN0IFZhbHVlVHJ1
ZSAgICAgICA9IFRhZ0JpdFR5cGVPdGhlciB8IFRhZ0JpdEJvb2wgfCAxCisgICAgY29uc3QgVmFs
dWVVbmRlZmluZWQgID0gVGFnQml0VHlwZU90aGVyIHwgVGFnQml0VW5kZWZpbmVkCisgICAgY29u
c3QgVmFsdWVOdWxsICAgICAgID0gVGFnQml0VHlwZU90aGVyCisgICAgY29uc3QgVGFnVHlwZU51
bWJlciAgID0gMHhmZmZmMDAwMDAwMDAwMDAwCisgICAgY29uc3QgVGFnTWFzayAgICAgICAgID0g
VGFnVHlwZU51bWJlciB8IFRhZ0JpdFR5cGVPdGhlcgorZWxzZQorICAgIGNvbnN0IEludDMyVGFn
ID0gLTEKKyAgICBjb25zdCBCb29sZWFuVGFnID0gLTIKKyAgICBjb25zdCBOdWxsVGFnID0gLTMK
KyAgICBjb25zdCBVbmRlZmluZWRUYWcgPSAtNAorICAgIGNvbnN0IENlbGxUYWcgPSAtNQorICAg
IGNvbnN0IEVtcHR5VmFsdWVUYWcgPSAtNgorICAgIGNvbnN0IERlbGV0ZWRWYWx1ZVRhZyA9IC03
CisgICAgY29uc3QgTG93ZXN0VGFnID0gRGVsZXRlZFZhbHVlVGFnCitlbmQKKworIyBQdXRCeUlk
RmxhZ3MgZGF0YQorY29uc3QgUHV0QnlJZFByaW1hcnlUeXBlTWFzayA9IGNvbnN0ZXhwciBQdXRC
eUlkUHJpbWFyeVR5cGVNYXNrCitjb25zdCBQdXRCeUlkUHJpbWFyeVR5cGVTZWNvbmRhcnkgPSBj
b25zdGV4cHIgUHV0QnlJZFByaW1hcnlUeXBlU2Vjb25kYXJ5Citjb25zdCBQdXRCeUlkUHJpbWFy
eVR5cGVPYmplY3RXaXRoU3RydWN0dXJlID0gY29uc3RleHByIFB1dEJ5SWRQcmltYXJ5VHlwZU9i
amVjdFdpdGhTdHJ1Y3R1cmUKK2NvbnN0IFB1dEJ5SWRQcmltYXJ5VHlwZU9iamVjdFdpdGhTdHJ1
Y3R1cmVPck90aGVyID0gY29uc3RleHByIFB1dEJ5SWRQcmltYXJ5VHlwZU9iamVjdFdpdGhTdHJ1
Y3R1cmVPck90aGVyCitjb25zdCBQdXRCeUlkU2Vjb25kYXJ5VHlwZU1hc2sgPSBjb25zdGV4cHIg
UHV0QnlJZFNlY29uZGFyeVR5cGVNYXNrCitjb25zdCBQdXRCeUlkU2Vjb25kYXJ5VHlwZUJvdHRv
bSA9IGNvbnN0ZXhwciBQdXRCeUlkU2Vjb25kYXJ5VHlwZUJvdHRvbQorY29uc3QgUHV0QnlJZFNl
Y29uZGFyeVR5cGVCb29sZWFuID0gY29uc3RleHByIFB1dEJ5SWRTZWNvbmRhcnlUeXBlQm9vbGVh
bgorY29uc3QgUHV0QnlJZFNlY29uZGFyeVR5cGVPdGhlciA9IGNvbnN0ZXhwciBQdXRCeUlkU2Vj
b25kYXJ5VHlwZU90aGVyCitjb25zdCBQdXRCeUlkU2Vjb25kYXJ5VHlwZUludDMyID0gY29uc3Rl
eHByIFB1dEJ5SWRTZWNvbmRhcnlUeXBlSW50MzIKK2NvbnN0IFB1dEJ5SWRTZWNvbmRhcnlUeXBl
TnVtYmVyID0gY29uc3RleHByIFB1dEJ5SWRTZWNvbmRhcnlUeXBlTnVtYmVyCitjb25zdCBQdXRC
eUlkU2Vjb25kYXJ5VHlwZVN0cmluZyA9IGNvbnN0ZXhwciBQdXRCeUlkU2Vjb25kYXJ5VHlwZVN0
cmluZworY29uc3QgUHV0QnlJZFNlY29uZGFyeVR5cGVTeW1ib2wgPSBjb25zdGV4cHIgUHV0QnlJ
ZFNlY29uZGFyeVR5cGVTeW1ib2wKK2NvbnN0IFB1dEJ5SWRTZWNvbmRhcnlUeXBlT2JqZWN0ID0g
Y29uc3RleHByIFB1dEJ5SWRTZWNvbmRhcnlUeXBlT2JqZWN0Citjb25zdCBQdXRCeUlkU2Vjb25k
YXJ5VHlwZU9iamVjdE9yT3RoZXIgPSBjb25zdGV4cHIgUHV0QnlJZFNlY29uZGFyeVR5cGVPYmpl
Y3RPck90aGVyCitjb25zdCBQdXRCeUlkU2Vjb25kYXJ5VHlwZVRvcCA9IGNvbnN0ZXhwciBQdXRC
eUlkU2Vjb25kYXJ5VHlwZVRvcAorCitjb25zdCBDYWxsT3BDb2RlU2l6ZSA9IDkKKworaWYgWDg2
XzY0IG9yIEFSTTY0IG9yIENfTE9PUAorICAgIGNvbnN0IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1Bh
dGhDYWxsID0gMAorZWxzaWYgQVJNIG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIEFSTXY3CisgICAg
Y29uc3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgPSAyNAorZWxzaWYgWDg2IG9yIFg4
Nl9XSU4KKyAgICBjb25zdCBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9IDQwCitlbHNp
ZiBNSVBTCisgICAgY29uc3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgPSA0MAorZWxz
aWYgWDg2XzY0X1dJTgorICAgIGNvbnN0IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID0g
NjQKK2VuZAorCitpZiBYODZfNjQgb3IgWDg2XzY0X1dJTiBvciBBUk02NAorICAgIGNvbnN0IENh
bGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycyA9IDMKK2Vsc2UKKyAgICBjb25zdCBDYWxs
ZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMgPSAwCitlbmQKKworY29uc3QgQ2FsbGVlU2F2
ZVNwYWNlU3RhY2tBbGlnbmVkID0gKENhbGxlZVNhdmVTcGFjZUFzVmlydHVhbFJlZ2lzdGVycyAq
IFNsb3RTaXplICsgU3RhY2tBbGlnbm1lbnQgLSAxKSAmIH5TdGFja0FsaWdubWVudE1hc2sKKwor
CisjIFdhdGNocG9pbnQgc3RhdGVzCitjb25zdCBDbGVhcldhdGNocG9pbnQgPSBjb25zdGV4cHIg
Q2xlYXJXYXRjaHBvaW50Citjb25zdCBJc1dhdGNoZWQgPSBjb25zdGV4cHIgSXNXYXRjaGVkCitj
b25zdCBJc0ludmFsaWRhdGVkID0gY29uc3RleHByIElzSW52YWxpZGF0ZWQKKworIyBTaGFkb3dD
aGlja2VuIGRhdGEKK2NvbnN0IFNoYWRvd0NoaWNrZW5UYWlsTWFya2VyID0gY29uc3RleHByIFNo
YWRvd0NoaWNrZW46OlBhY2tldDo6dGFpbE1hcmtlclZhbHVlCisKKyMgQXJpdGhQcm9maWxlIGRh
dGEKK2NvbnN0IEFyaXRoUHJvZmlsZUludCA9IDB4MTAwMDAwCitjb25zdCBBcml0aFByb2ZpbGVJ
bnRJbnQgPSAweDEyMDAwMAorY29uc3QgQXJpdGhQcm9maWxlTnVtYmVyID0gMHgyMDAwMDAKK2Nv
bnN0IEFyaXRoUHJvZmlsZU51bWJlckludCA9IDB4MjIwMDAwCitjb25zdCBBcml0aFByb2ZpbGVO
dW1iZXJOdW1iZXIgPSAweDI0MDAwMAorY29uc3QgQXJpdGhQcm9maWxlSW50TnVtYmVyID0gMHgx
NDAwMDAKKworIyBTb21lIHJlZ2lzdGVyIGNvbnZlbnRpb25zLgoraWYgSlNWQUxVRTY0CisgICAg
IyAtIFVzZSBhIHBhaXIgb2YgcmVnaXN0ZXJzIHRvIHJlcHJlc2VudCB0aGUgUEM6IG9uZSByZWdp
c3RlciBmb3IgdGhlCisgICAgIyAgIGJhc2Ugb2YgdGhlIGJ5dGVjb2RlcywgYW5kIG9uZSByZWdp
c3RlciBmb3IgdGhlIGluZGV4LgorICAgICMgLSBUaGUgUEMgYmFzZSAob3IgUEIgZm9yIHNob3J0
KSBtdXN0IGJlIHN0b3JlZCBpbiBhIGNhbGxlZS1zYXZlIHJlZ2lzdGVyLgorICAgICMgLSBDIGNh
bGxzIGFyZSBzdGlsbCBnaXZlbiB0aGUgSW5zdHJ1Y3Rpb24qIHJhdGhlciB0aGFuIHRoZSBQQyBp
bmRleC4KKyAgICAjICAgVGhpcyByZXF1aXJlcyBhbiBhZGQgYmVmb3JlIHRoZSBjYWxsLCBhbmQg
YSBzdWIgYWZ0ZXIuCisgICAgY29uc3QgUEMgPSB0NCAjIFdoZW4gY2hhbmdpbmcgdGhpcywgbWFr
ZSBzdXJlIExMSW50UEMgaXMgdXAgdG8gZGF0ZSBpbiBMTEludFBDUmFuZ2VzLmgKKyAgICBpZiBB
Uk02NAorICAgICAgICBjb25zdCBQQiA9IGNzcjcKKyAgICAgICAgY29uc3QgdGFnVHlwZU51bWJl
ciA9IGNzcjgKKyAgICAgICAgY29uc3QgdGFnTWFzayA9IGNzcjkKKyAgICBlbHNpZiBYODZfNjQK
KyAgICAgICAgY29uc3QgUEIgPSBjc3IyCisgICAgICAgIGNvbnN0IHRhZ1R5cGVOdW1iZXIgPSBj
c3IzCisgICAgICAgIGNvbnN0IHRhZ01hc2sgPSBjc3I0CisgICAgZWxzaWYgWDg2XzY0X1dJTgor
ICAgICAgICBjb25zdCBQQiA9IGNzcjQKKyAgICAgICAgY29uc3QgdGFnVHlwZU51bWJlciA9IGNz
cjUKKyAgICAgICAgY29uc3QgdGFnTWFzayA9IGNzcjYKKyAgICBlbHNpZiBDX0xPT1AKKyAgICAg
ICAgY29uc3QgUEIgPSBjc3IwCisgICAgICAgIGNvbnN0IHRhZ1R5cGVOdW1iZXIgPSBjc3IxCisg
ICAgICAgIGNvbnN0IHRhZ01hc2sgPSBjc3IyCisgICAgZW5kCisKKyAgICBtYWNybyBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24ob2Zmc2V0LCBkZXN0KQorICAgICAgICBsb2FkaXMgb2Zmc2V0ICogOFtQ
QiwgUEMsIDhdLCBkZXN0CisgICAgZW5kCisgICAgCisgICAgbWFjcm8gbG9hZHBGcm9tSW5zdHJ1
Y3Rpb24ob2Zmc2V0LCBkZXN0KQorICAgICAgICBsb2FkcCBvZmZzZXQgKiA4W1BCLCBQQywgOF0s
IGRlc3QKKyAgICBlbmQKKyAgICAKKyAgICBtYWNybyBzdG9yZWlzVG9JbnN0cnVjdGlvbih2YWx1
ZSwgb2Zmc2V0KQorICAgICAgICBzdG9yZWkgdmFsdWUsIG9mZnNldCAqIDhbUEIsIFBDLCA4XQor
ICAgIGVuZAorCisgICAgbWFjcm8gc3RvcmVwVG9JbnN0cnVjdGlvbih2YWx1ZSwgb2Zmc2V0KQor
ICAgICAgICBzdG9yZXAgdmFsdWUsIG9mZnNldCAqIDhbUEIsIFBDLCA4XQorICAgIGVuZAorCitl
bHNlCisgICAgY29uc3QgUEMgPSB0NCAjIFdoZW4gY2hhbmdpbmcgdGhpcywgbWFrZSBzdXJlIExM
SW50UEMgaXMgdXAgdG8gZGF0ZSBpbiBMTEludFBDUmFuZ2VzLmgKKyAgICBtYWNybyBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24ob2Zmc2V0LCBkZXN0KQorICAgICAgICBsb2FkaXMgb2Zmc2V0ICogNFtQ
Q10sIGRlc3QKKyAgICBlbmQKKyAgICAKKyAgICBtYWNybyBsb2FkcEZyb21JbnN0cnVjdGlvbihv
ZmZzZXQsIGRlc3QpCisgICAgICAgIGxvYWRwIG9mZnNldCAqIDRbUENdLCBkZXN0CisgICAgZW5k
CisKKyAgICBtYWNybyBzdG9yZWlzVG9JbnN0cnVjdGlvbih2YWx1ZSwgb2Zmc2V0KQorICAgICAg
ICBzdG9yZWkgdmFsdWUsIG9mZnNldCAqIDRbUENdCisgICAgZW5kCitlbmQKKworaWYgWDg2XzY0
X1dJTgorICAgIGNvbnN0IGV4dHJhVGVtcFJlZyA9IHQwCitlbHNlCisgICAgY29uc3QgZXh0cmFU
ZW1wUmVnID0gdDUKK2VuZAorCisjIENvbnN0YW50cyBmb3IgcmVhc29uaW5nIGFib3V0IHZhbHVl
IHJlcHJlc2VudGF0aW9uLgoraWYgQklHX0VORElBTgorICAgIGNvbnN0IFRhZ09mZnNldCA9IDAK
KyAgICBjb25zdCBQYXlsb2FkT2Zmc2V0ID0gNAorZWxzZQorICAgIGNvbnN0IFRhZ09mZnNldCA9
IDQKKyAgICBjb25zdCBQYXlsb2FkT2Zmc2V0ID0gMAorZW5kCisKKyMgQ29uc3RhbnQgZm9yIHJl
YXNvbmluZyBhYm91dCBidXR0ZXJmbGllcy4KK2NvbnN0IElzQXJyYXkgICAgICAgICAgICAgICAg
ICA9IGNvbnN0ZXhwciBJc0FycmF5Citjb25zdCBJbmRleGluZ1NoYXBlTWFzayAgICAgICAgPSBj
b25zdGV4cHIgSW5kZXhpbmdTaGFwZU1hc2sKK2NvbnN0IE5vSW5kZXhpbmdTaGFwZSAgICAgICAg
ICA9IGNvbnN0ZXhwciBOb0luZGV4aW5nU2hhcGUKK2NvbnN0IEludDMyU2hhcGUgICAgICAgICAg
ICAgICA9IGNvbnN0ZXhwciBJbnQzMlNoYXBlCitjb25zdCBEb3VibGVTaGFwZSAgICAgICAgICAg
ICAgPSBjb25zdGV4cHIgRG91YmxlU2hhcGUKK2NvbnN0IENvbnRpZ3VvdXNTaGFwZSAgICAgICAg
ICA9IGNvbnN0ZXhwciBDb250aWd1b3VzU2hhcGUKK2NvbnN0IEFycmF5U3RvcmFnZVNoYXBlICAg
ICAgICA9IGNvbnN0ZXhwciBBcnJheVN0b3JhZ2VTaGFwZQorY29uc3QgU2xvd1B1dEFycmF5U3Rv
cmFnZVNoYXBlID0gY29uc3RleHByIFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZQorCisjIFR5cGUg
Y29uc3RhbnRzLgorY29uc3QgU3RyaW5nVHlwZSA9IGNvbnN0ZXhwciBTdHJpbmdUeXBlCitjb25z
dCBTeW1ib2xUeXBlID0gY29uc3RleHByIFN5bWJvbFR5cGUKK2NvbnN0IE9iamVjdFR5cGUgPSBj
b25zdGV4cHIgT2JqZWN0VHlwZQorY29uc3QgRmluYWxPYmplY3RUeXBlID0gY29uc3RleHByIEZp
bmFsT2JqZWN0VHlwZQorY29uc3QgSlNGdW5jdGlvblR5cGUgPSBjb25zdGV4cHIgSlNGdW5jdGlv
blR5cGUKK2NvbnN0IEFycmF5VHlwZSA9IGNvbnN0ZXhwciBBcnJheVR5cGUKK2NvbnN0IERlcml2
ZWRBcnJheVR5cGUgPSBjb25zdGV4cHIgRGVyaXZlZEFycmF5VHlwZQorY29uc3QgUHJveHlPYmpl
Y3RUeXBlID0gY29uc3RleHByIFByb3h5T2JqZWN0VHlwZQorCisjIFRoZSB0eXBlZCBhcnJheSB0
eXBlcyBuZWVkIHRvIGJlIG51bWJlcmVkIGluIGEgcGFydGljdWxhciBvcmRlciBiZWNhdXNlIG9m
IHRoZSBtYW51YWxseSB3cml0dGVuCisjIHN3aXRjaCBzdGF0ZW1lbnQgaW4gZ2V0X2J5X3ZhbCBh
bmQgcHV0X2J5X3ZhbC4KK2NvbnN0IEludDhBcnJheVR5cGUgPSBjb25zdGV4cHIgSW50OEFycmF5
VHlwZQorY29uc3QgSW50MTZBcnJheVR5cGUgPSBjb25zdGV4cHIgSW50MTZBcnJheVR5cGUKK2Nv
bnN0IEludDMyQXJyYXlUeXBlID0gY29uc3RleHByIEludDMyQXJyYXlUeXBlCitjb25zdCBVaW50
OEFycmF5VHlwZSA9IGNvbnN0ZXhwciBVaW50OEFycmF5VHlwZQorY29uc3QgVWludDhDbGFtcGVk
QXJyYXlUeXBlID0gY29uc3RleHByIFVpbnQ4Q2xhbXBlZEFycmF5VHlwZQorY29uc3QgVWludDE2
QXJyYXlUeXBlID0gY29uc3RleHByIFVpbnQxNkFycmF5VHlwZQorY29uc3QgVWludDMyQXJyYXlU
eXBlID0gY29uc3RleHByIFVpbnQzMkFycmF5VHlwZQorY29uc3QgRmxvYXQzMkFycmF5VHlwZSA9
IGNvbnN0ZXhwciBGbG9hdDMyQXJyYXlUeXBlCitjb25zdCBGbG9hdDY0QXJyYXlUeXBlID0gY29u
c3RleHByIEZsb2F0NjRBcnJheVR5cGUKKworY29uc3QgRmlyc3RBcnJheVR5cGUgPSBJbnQ4QXJy
YXlUeXBlCitjb25zdCBMYXN0QXJyYXlUeXBlID0gRmxvYXQ2NEFycmF5VHlwZQorCisjIFR5cGUg
ZmxhZ3MgY29uc3RhbnRzLgorY29uc3QgTWFzcXVlcmFkZXNBc1VuZGVmaW5lZCA9IGNvbnN0ZXhw
ciBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkCitjb25zdCBJbXBsZW1lbnRzRGVmYXVsdEhhc0luc3Rh
bmNlID0gY29uc3RleHByIEltcGxlbWVudHNEZWZhdWx0SGFzSW5zdGFuY2UKKworIyBCeXRlY29k
ZSBvcGVyYW5kIGNvbnN0YW50cy4KK2NvbnN0IEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4ID0g
Y29uc3RleHByIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4CisKKyMgQ29kZSB0eXBlIGNvbnN0
YW50cy4KK2NvbnN0IEdsb2JhbENvZGUgPSBjb25zdGV4cHIgR2xvYmFsQ29kZQorY29uc3QgRXZh
bENvZGUgPSBjb25zdGV4cHIgRXZhbENvZGUKK2NvbnN0IEZ1bmN0aW9uQ29kZSA9IGNvbnN0ZXhw
ciBGdW5jdGlvbkNvZGUKK2NvbnN0IE1vZHVsZUNvZGUgPSBjb25zdGV4cHIgTW9kdWxlQ29kZQor
CisjIFRoZSBpbnRlcnByZXRlciBzdGVhbHMgdGhlIHRhZyB3b3JkIG9mIHRoZSBhcmd1bWVudCBj
b3VudC4KK2NvbnN0IExMSW50UmV0dXJuUEMgPSBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0CisK
KyMgU3RyaW5nIGZsYWdzLgorY29uc3QgSGFzaEZsYWdzOEJpdEJ1ZmZlciA9IDgKKworIyBDb3Bp
ZWQgZnJvbSBQcm9wZXJ0eU9mZnNldC5oCitjb25zdCBmaXJzdE91dE9mTGluZU9mZnNldCA9IDEw
MAorCisjIFJlc29sdmVUeXBlCitjb25zdCBHbG9iYWxQcm9wZXJ0eSA9IGNvbnN0ZXhwciBHbG9i
YWxQcm9wZXJ0eQorY29uc3QgR2xvYmFsVmFyID0gY29uc3RleHByIEdsb2JhbFZhcgorY29uc3Qg
R2xvYmFsTGV4aWNhbFZhciA9IGNvbnN0ZXhwciBHbG9iYWxMZXhpY2FsVmFyCitjb25zdCBDbG9z
dXJlVmFyID0gY29uc3RleHByIENsb3N1cmVWYXIKK2NvbnN0IExvY2FsQ2xvc3VyZVZhciA9IGNv
bnN0ZXhwciBMb2NhbENsb3N1cmVWYXIKK2NvbnN0IE1vZHVsZVZhciA9IGNvbnN0ZXhwciBNb2R1
bGVWYXIKK2NvbnN0IEdsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNrcyA9IGNvbnN0
ZXhwciBHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3MKK2NvbnN0IEdsb2JhbFZh
cldpdGhWYXJJbmplY3Rpb25DaGVja3MgPSBjb25zdGV4cHIgR2xvYmFsVmFyV2l0aFZhckluamVj
dGlvbkNoZWNrcworY29uc3QgR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3Mg
PSBjb25zdGV4cHIgR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MKK2NvbnN0
IENsb3N1cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzID0gY29uc3RleHByIENsb3N1cmVWYXJX
aXRoVmFySW5qZWN0aW9uQ2hlY2tzCisKK2NvbnN0IFJlc29sdmVUeXBlTWFzayA9IGNvbnN0ZXhw
ciBHZXRQdXRJbmZvOjp0eXBlQml0cworY29uc3QgSW5pdGlhbGl6YXRpb25Nb2RlTWFzayA9IGNv
bnN0ZXhwciBHZXRQdXRJbmZvOjppbml0aWFsaXphdGlvbkJpdHMKK2NvbnN0IEluaXRpYWxpemF0
aW9uTW9kZVNoaWZ0ID0gY29uc3RleHByIEdldFB1dEluZm86OmluaXRpYWxpemF0aW9uU2hpZnQK
K2NvbnN0IE5vdEluaXRpYWxpemF0aW9uID0gY29uc3RleHByIEluaXRpYWxpemF0aW9uTW9kZTo6
Tm90SW5pdGlhbGl6YXRpb24KKworY29uc3QgTWFya2VkQmxvY2tTaXplID0gY29uc3RleHByIE1h
cmtlZEJsb2NrOjpibG9ja1NpemUKK2NvbnN0IE1hcmtlZEJsb2NrTWFzayA9IH4oTWFya2VkQmxv
Y2tTaXplIC0gMSkKKworY29uc3QgQmxhY2tUaHJlc2hvbGQgPSBjb25zdGV4cHIgYmxhY2tUaHJl
c2hvbGQKKworIyBBbGxvY2F0aW9uIGNvbnN0YW50cworaWYgSlNWQUxVRTY0CisgICAgY29uc3Qg
SlNGaW5hbE9iamVjdFNpemVDbGFzc0luZGV4ID0gMQorZWxzZQorICAgIGNvbnN0IEpTRmluYWxP
YmplY3RTaXplQ2xhc3NJbmRleCA9IDMKK2VuZAorCisjIFRoaXMgbXVzdCBtYXRjaCB3dGYvVmVj
dG9yLmgKK2NvbnN0IFZlY3RvckJ1ZmZlck9mZnNldCA9IDAKK2lmIEpTVkFMVUU2NAorICAgIGNv
bnN0IFZlY3RvclNpemVPZmZzZXQgPSAxMgorZWxzZQorICAgIGNvbnN0IFZlY3RvclNpemVPZmZz
ZXQgPSA4CitlbmQKKworIyBTb21lIGNvbW1vbiB1dGlsaXRpZXMuCittYWNybyBjcmFzaCgpCisg
ICAgaWYgQ19MT09QCisgICAgICAgIGNsb29wQ3Jhc2gKKyAgICBlbHNlCisgICAgICAgIGNhbGwg
X2xsaW50X2NyYXNoCisgICAgZW5kCitlbmQKKworbWFjcm8gYXNzZXJ0KGFzc2VydGlvbikKKyAg
ICBpZiBBU1NFUlRfRU5BQkxFRAorICAgICAgICBhc3NlcnRpb24oLm9rKQorICAgICAgICBjcmFz
aCgpCisgICAgLm9rOgorICAgIGVuZAorZW5kCisKKyMgVGhlIHByb2JlIG1hY3JvIGNhbiBiZSB1
c2VkIHRvIGluc2VydCBzb21lIGRlYnVnZ2luZyBjb2RlIHdpdGhvdXQgcGVydHVyYmluZyBzY2Fs
YXIKKyMgcmVnaXN0ZXJzLiBQcmVzZW50bHksIHRoZSBwcm9iZSBtYWNybyBvbmx5IHByZXNlcnZl
cyBzY2FsYXIgcmVnaXN0ZXJzLiBIZW5jZSwgdGhlCisjIEMgcHJvYmUgY2FsbGJhY2sgZnVuY3Rp
b24gc2hvdWxkIG5vdCB0cmFzaCBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMuCisjCisjIFRoZSBt
YWNybyB5b3UgcGFzcyB0byBwcm9iZSgpIGNhbiBwYXNzIHdoYXRldmVyIHJlZ2lzdGVycyB5b3Ug
bGlrZSB0byB5b3VyIHByb2JlCisjIGNhbGxiYWNrIGZ1bmN0aW9uLiBIb3dldmVyLCB5b3UgbmVl
ZCB0byBiZSBtaW5kZnVsIG9mIHdoaWNoIG9mIHRoZSByZWdpc3RlcnMgYXJlCisjIGFsc28gdXNl
ZCBhcyBhcmd1bWVudCByZWdpc3RlcnMsIGFuZCBlbnN1cmUgdGhhdCB5b3UgZG9uJ3QgdHJhc2gg
dGhlIHJlZ2lzdGVyIHZhbHVlCisjIGJlZm9yZSBzdG9yaW5nIGl0IGluIHRoZSBwcm9iZSBjYWxs
YmFjayBhcmd1bWVudCByZWdpc3RlciB0aGF0IHlvdSBkZXNpcmUuCisjCisjIEhlcmUncyBhbiBl
eGFtcGxlIG9mIGhvdyBpdCdzIHVzZWQ6CisjCisjICAgICBwcm9iZSgKKyMgICAgICAgICBtYWNy
bygpCisjICAgICAgICAgICAgIG1vdmUgY2ZyLCBhMCAjIHBhc3MgdGhlIEV4ZWNTdGF0ZSogYXMg
YXJnMC4KKyMgICAgICAgICAgICAgbW92ZSB0MCwgYTEgIyBwYXNzIHRoZSB2YWx1ZSBvZiByZWdp
c3RlciB0MCBhcyBhcmcxLgorIyAgICAgICAgICAgICBjYWxsIF9jUHJvYmVDYWxsYmFja0Z1bmN0
aW9uICMgdG8gZG8gd2hhdGV2ZXIgeW91IHdhbnQuCisjICAgICAgICAgZW5kCisjICAgICApCisj
CitpZiBYODZfNjQKKyAgICBtYWNybyBwcm9iZShhY3Rpb24pCisgICAgICAgICMgc2F2ZSBhbGwg
dGhlIHJlZ2lzdGVycyB0aGF0IHRoZSBMTEludCBtYXkgdXNlLgorICAgICAgICBwdXNoIGEwLCBh
MQorICAgICAgICBwdXNoIGEyLCBhMworICAgICAgICBwdXNoIHQwLCB0MQorICAgICAgICBwdXNo
IHQyLCB0MworICAgICAgICBwdXNoIHQ0LCB0NQorCisgICAgICAgIGFjdGlvbigpCisKKyAgICAg
ICAgIyByZXN0b3JlIGFsbCB0aGUgcmVnaXN0ZXJzIHdlIHNhdmVkIHByZXZpb3VzbHkuCisgICAg
ICAgIHBvcCB0NSwgdDQKKyAgICAgICAgcG9wIHQzLCB0MgorICAgICAgICBwb3AgdDEsIHQwCisg
ICAgICAgIHBvcCBhMywgYTIKKyAgICAgICAgcG9wIGExLCBhMAorICAgIGVuZAorZW5kCisKK21h
Y3JvIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHRlbXBSZWcsIGxvY2F0aW9uKQorICAgIGlm
IEFSTTY0IG9yIENfTE9PUAorICAgICAgICAjIEFSTTY0IHdpbGwgY2hlY2sgZm9yIHVzIQorICAg
ICAgICAjIENfTE9PUCBkb2VzIG5vdCBuZWVkIHRoZSBhbGlnbm1lbnQsIGFuZCBjYW4gdXNlIGEg
bGl0dGxlIHBlcmYKKyAgICAgICAgIyBpbXByb3ZlbWVudCBmcm9tIGF2b2lkaW5nIHVzZWxlc3Mg
d29yay4KKyAgICBlbHNlCisgICAgICAgIGlmIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJ
T05BTAorICAgICAgICAgICAgIyBBUk0gY2FuJ3QgZG8gbG9naWNhbCBvcHMgd2l0aCB0aGUgc3Ag
YXMgYSBzb3VyY2UKKyAgICAgICAgICAgIG1vdmUgc3AsIHRlbXBSZWcKKyAgICAgICAgICAgIGFu
ZHAgU3RhY2tBbGlnbm1lbnRNYXNrLCB0ZW1wUmVnCisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGFuZHAgc3AsIFN0YWNrQWxpZ25tZW50TWFzaywgdGVtcFJlZworICAgICAgICBlbmQKKyAgICAg
ICAgYnRweiB0ZW1wUmVnLCAuc3RhY2tQb2ludGVyT2theQorICAgICAgICBtb3ZlIGxvY2F0aW9u
LCB0ZW1wUmVnCisgICAgICAgIGJyZWFrCisgICAgLnN0YWNrUG9pbnRlck9rYXk6CisgICAgZW5k
CitlbmQKKworaWYgQ19MT09QIG9yIEFSTTY0IG9yIFg4Nl82NCBvciBYODZfNjRfV0lOCisgICAg
Y29uc3QgQ2FsbGVlU2F2ZVJlZ2lzdGVyQ291bnQgPSAwCitlbHNpZiBBUk0gb3IgQVJNdjdfVFJB
RElUSU9OQUwgb3IgQVJNdjcKKyAgICBjb25zdCBDYWxsZWVTYXZlUmVnaXN0ZXJDb3VudCA9IDcK
K2Vsc2lmIE1JUFMKKyAgICBjb25zdCBDYWxsZWVTYXZlUmVnaXN0ZXJDb3VudCA9IDEKK2Vsc2lm
IFg4NiBvciBYODZfV0lOCisgICAgY29uc3QgQ2FsbGVlU2F2ZVJlZ2lzdGVyQ291bnQgPSAzCitl
bmQKKworY29uc3QgQ2FsbGVlUmVnaXN0ZXJTYXZlU2l6ZSA9IENhbGxlZVNhdmVSZWdpc3RlckNv
dW50ICogUHRyU2l6ZQorCisjIFZNRW50cnlUb3RhbEZyYW1lU2l6ZSBpbmNsdWRlcyB0aGUgc3Bh
Y2UgZm9yIHN0cnVjdCBWTUVudHJ5UmVjb3JkIGFuZCB0aGUKKyMgY2FsbGVlIHNhdmUgcmVnaXN0
ZXJzIHJvdW5kZWQgdXAgdG8ga2VlcCB0aGUgc3RhY2sgYWxpZ25lZAorY29uc3QgVk1FbnRyeVRv
dGFsRnJhbWVTaXplID0gKENhbGxlZVJlZ2lzdGVyU2F2ZVNpemUgKyBzaXplb2YgVk1FbnRyeVJl
Y29yZCArIFN0YWNrQWxpZ25tZW50IC0gMSkgJiB+U3RhY2tBbGlnbm1lbnRNYXNrCisKK21hY3Jv
IHB1c2hDYWxsZWVTYXZlcygpCisgICAgaWYgQ19MT09QIG9yIEFSTTY0IG9yIFg4Nl82NCBvciBY
ODZfNjRfV0lOCisgICAgZWxzaWYgQVJNIG9yIEFSTXY3X1RSQURJVElPTkFMCisgICAgICAgIGVt
aXQgInB1c2gge3I0LXIxMH0iCisgICAgZWxzaWYgQVJNdjcKKyAgICAgICAgZW1pdCAicHVzaCB7
cjQtcjYsIHI4LXIxMX0iCisgICAgZWxzaWYgTUlQUworICAgICAgICBlbWl0ICJhZGRpdSAkc3As
ICRzcCwgLTQiCisgICAgICAgIGVtaXQgInN3ICRzNCwgMCgkc3ApIgorICAgICAgICAjIHNhdmUg
JGdwIHRvICRzNCBzbyB0aGF0IHdlIGNhbiByZXN0b3JlIGl0IGFmdGVyIGEgZnVuY3Rpb24gY2Fs
bAorICAgICAgICBlbWl0ICJtb3ZlICRzNCwgJGdwIgorICAgIGVsc2lmIFg4NgorICAgICAgICBl
bWl0ICJwdXNoICVlc2kiCisgICAgICAgIGVtaXQgInB1c2ggJWVkaSIKKyAgICAgICAgZW1pdCAi
cHVzaCAlZWJ4IgorICAgIGVsc2lmIFg4Nl9XSU4KKyAgICAgICAgZW1pdCAicHVzaCBlc2kiCisg
ICAgICAgIGVtaXQgInB1c2ggZWRpIgorICAgICAgICBlbWl0ICJwdXNoIGVieCIKKyAgICBlbmQK
K2VuZAorCittYWNybyBwb3BDYWxsZWVTYXZlcygpCisgICAgaWYgQ19MT09QIG9yIEFSTTY0IG9y
IFg4Nl82NCBvciBYODZfNjRfV0lOCisgICAgZWxzaWYgQVJNIG9yIEFSTXY3X1RSQURJVElPTkFM
CisgICAgICAgIGVtaXQgInBvcCB7cjQtcjEwfSIKKyAgICBlbHNpZiBBUk12NworICAgICAgICBl
bWl0ICJwb3Age3I0LXI2LCByOC1yMTF9IgorICAgIGVsc2lmIE1JUFMKKyAgICAgICAgZW1pdCAi
bHcgJHM0LCAwKCRzcCkiCisgICAgICAgIGVtaXQgImFkZGl1ICRzcCwgJHNwLCA0IgorICAgIGVs
c2lmIFg4NgorICAgICAgICBlbWl0ICJwb3AgJWVieCIKKyAgICAgICAgZW1pdCAicG9wICVlZGki
CisgICAgICAgIGVtaXQgInBvcCAlZXNpIgorICAgIGVsc2lmIFg4Nl9XSU4KKyAgICAgICAgZW1p
dCAicG9wIGVieCIKKyAgICAgICAgZW1pdCAicG9wIGVkaSIKKyAgICAgICAgZW1pdCAicG9wIGVz
aSIKKyAgICBlbmQKK2VuZAorCittYWNybyBwcmVzZXJ2ZUNhbGxlclBDQW5kQ0ZSKCkKKyAgICBp
ZiBDX0xPT1Agb3IgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIE1JUFMKKyAg
ICAgICAgcHVzaCBscgorICAgICAgICBwdXNoIGNmcgorICAgIGVsc2lmIFg4NiBvciBYODZfV0lO
IG9yIFg4Nl82NCBvciBYODZfNjRfV0lOCisgICAgICAgIHB1c2ggY2ZyCisgICAgZWxzaWYgQVJN
NjQKKyAgICAgICAgcHVzaCBjZnIsIGxyCisgICAgZWxzZQorICAgICAgICBlcnJvcgorICAgIGVu
ZAorICAgIG1vdmUgc3AsIGNmcgorZW5kCisKK21hY3JvIHJlc3RvcmVDYWxsZXJQQ0FuZENGUigp
CisgICAgbW92ZSBjZnIsIHNwCisgICAgaWYgQ19MT09QIG9yIEFSTSBvciBBUk12NyBvciBBUk12
N19UUkFESVRJT05BTCBvciBNSVBTCisgICAgICAgIHBvcCBjZnIKKyAgICAgICAgcG9wIGxyCisg
ICAgZWxzaWYgWDg2IG9yIFg4Nl9XSU4gb3IgWDg2XzY0IG9yIFg4Nl82NF9XSU4KKyAgICAgICAg
cG9wIGNmcgorICAgIGVsc2lmIEFSTTY0CisgICAgICAgIHBvcCBsciwgY2ZyCisgICAgZW5kCitl
bmQKKworbWFjcm8gcHJlc2VydmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50KCkKKyAgICBzdWJwIENh
bGxlZVNhdmVTcGFjZVN0YWNrQWxpZ25lZCwgc3AKKyAgICBpZiBDX0xPT1AKKyAgICBlbHNpZiBB
Uk0gb3IgQVJNdjdfVFJBRElUSU9OQUwKKyAgICBlbHNpZiBBUk12NworICAgIGVsc2lmIEFSTTY0
CisgICAgICAgIGVtaXQgInN0cCB4MjcsIHgyOCwgW3gyOSwgIy0xNl0iCisgICAgICAgIGVtaXQg
InN0cCB4enIsIHgyNiwgW3gyOSwgIy0zMl0iCisgICAgZWxzaWYgTUlQUworICAgIGVsc2lmIFg4
NgorICAgIGVsc2lmIFg4Nl9XSU4KKyAgICBlbHNpZiBYODZfNjQKKyAgICAgICAgc3RvcmVwIGNz
cjQsIC04W2Nmcl0KKyAgICAgICAgc3RvcmVwIGNzcjMsIC0xNltjZnJdCisgICAgICAgIHN0b3Jl
cCBjc3IyLCAtMjRbY2ZyXQorICAgIGVsc2lmIFg4Nl82NF9XSU4KKyAgICAgICAgc3RvcmVwIGNz
cjYsIC04W2Nmcl0KKyAgICAgICAgc3RvcmVwIGNzcjUsIC0xNltjZnJdCisgICAgICAgIHN0b3Jl
cCBjc3I0LCAtMjRbY2ZyXQorICAgIGVuZAorZW5kCisKK21hY3JvIHJlc3RvcmVDYWxsZWVTYXZl
c1VzZWRCeUxMSW50KCkKKyAgICBpZiBDX0xPT1AKKyAgICBlbHNpZiBBUk0gb3IgQVJNdjdfVFJB
RElUSU9OQUwKKyAgICBlbHNpZiBBUk12NworICAgIGVsc2lmIEFSTTY0CisgICAgICAgIGVtaXQg
ImxkcCB4enIsIHgyNiwgW3gyOSwgIy0zMl0iCisgICAgICAgIGVtaXQgImxkcCB4MjcsIHgyOCwg
W3gyOSwgIy0xNl0iCisgICAgZWxzaWYgTUlQUworICAgIGVsc2lmIFg4NgorICAgIGVsc2lmIFg4
Nl9XSU4KKyAgICBlbHNpZiBYODZfNjQKKyAgICAgICAgbG9hZHAgLTI0W2Nmcl0sIGNzcjIKKyAg
ICAgICAgbG9hZHAgLTE2W2Nmcl0sIGNzcjMKKyAgICAgICAgbG9hZHAgLThbY2ZyXSwgY3NyNAor
ICAgIGVsc2lmIFg4Nl82NF9XSU4KKyAgICAgICAgbG9hZHAgLTI0W2Nmcl0sIGNzcjQKKyAgICAg
ICAgbG9hZHAgLTE2W2Nmcl0sIGNzcjUKKyAgICAgICAgbG9hZHAgLThbY2ZyXSwgY3NyNgorICAg
IGVuZAorZW5kCisKK21hY3JvIGNvcHlDYWxsZWVTYXZlc1RvVk1FbnRyeUZyYW1lQ2FsbGVlU2F2
ZXNCdWZmZXIodm0sIHRlbXApCisgICAgaWYgQVJNNjQgb3IgWDg2XzY0IG9yIFg4Nl82NF9XSU4K
KyAgICAgICAgbG9hZHAgVk06OnRvcFZNRW50cnlGcmFtZVt2bV0sIHRlbXAKKyAgICAgICAgdm1F
bnRyeVJlY29yZCh0ZW1wLCB0ZW1wKQorICAgICAgICBsZWFwIFZNRW50cnlSZWNvcmQ6OmNhbGxl
ZVNhdmVSZWdpc3RlcnNCdWZmZXJbdGVtcF0sIHRlbXAKKyAgICAgICAgaWYgQVJNNjQKKyAgICAg
ICAgICAgIHN0b3JlcCBjc3IwLCBbdGVtcF0KKyAgICAgICAgICAgIHN0b3JlcCBjc3IxLCA4W3Rl
bXBdCisgICAgICAgICAgICBzdG9yZXAgY3NyMiwgMTZbdGVtcF0KKyAgICAgICAgICAgIHN0b3Jl
cCBjc3IzLCAyNFt0ZW1wXQorICAgICAgICAgICAgc3RvcmVwIGNzcjQsIDMyW3RlbXBdCisgICAg
ICAgICAgICBzdG9yZXAgY3NyNSwgNDBbdGVtcF0KKyAgICAgICAgICAgIHN0b3JlcCBjc3I2LCA0
OFt0ZW1wXQorICAgICAgICAgICAgc3RvcmVwIGNzcjcsIDU2W3RlbXBdCisgICAgICAgICAgICBz
dG9yZXAgY3NyOCwgNjRbdGVtcF0KKyAgICAgICAgICAgIHN0b3JlcCBjc3I5LCA3Mlt0ZW1wXQor
ICAgICAgICAgICAgc3RvcmVkIGNzZnIwLCA4MFt0ZW1wXQorICAgICAgICAgICAgc3RvcmVkIGNz
ZnIxLCA4OFt0ZW1wXQorICAgICAgICAgICAgc3RvcmVkIGNzZnIyLCA5Nlt0ZW1wXQorICAgICAg
ICAgICAgc3RvcmVkIGNzZnIzLCAxMDRbdGVtcF0KKyAgICAgICAgICAgIHN0b3JlZCBjc2ZyNCwg
MTEyW3RlbXBdCisgICAgICAgICAgICBzdG9yZWQgY3NmcjUsIDEyMFt0ZW1wXQorICAgICAgICAg
ICAgc3RvcmVkIGNzZnI2LCAxMjhbdGVtcF0KKyAgICAgICAgICAgIHN0b3JlZCBjc2ZyNywgMTM2
W3RlbXBdCisgICAgICAgIGVsc2lmIFg4Nl82NAorICAgICAgICAgICAgc3RvcmVwIGNzcjAsIFt0
ZW1wXQorICAgICAgICAgICAgc3RvcmVwIGNzcjEsIDhbdGVtcF0KKyAgICAgICAgICAgIHN0b3Jl
cCBjc3IyLCAxNlt0ZW1wXQorICAgICAgICAgICAgc3RvcmVwIGNzcjMsIDI0W3RlbXBdCisgICAg
ICAgICAgICBzdG9yZXAgY3NyNCwgMzJbdGVtcF0KKyAgICAgICAgZWxzaWYgWDg2XzY0X1dJTgor
ICAgICAgICAgICAgc3RvcmVwIGNzcjAsIFt0ZW1wXQorICAgICAgICAgICAgc3RvcmVwIGNzcjEs
IDhbdGVtcF0KKyAgICAgICAgICAgIHN0b3JlcCBjc3IyLCAxNlt0ZW1wXQorICAgICAgICAgICAg
c3RvcmVwIGNzcjMsIDI0W3RlbXBdCisgICAgICAgICAgICBzdG9yZXAgY3NyNCwgMzJbdGVtcF0K
KyAgICAgICAgICAgIHN0b3JlcCBjc3I1LCA0MFt0ZW1wXQorICAgICAgICAgICAgc3RvcmVwIGNz
cjYsIDQ4W3RlbXBdCisgICAgICAgIGVuZAorICAgIGVuZAorZW5kCisKK21hY3JvIHJlc3RvcmVD
YWxsZWVTYXZlc0Zyb21WTUVudHJ5RnJhbWVDYWxsZWVTYXZlc0J1ZmZlcih2bSwgdGVtcCkKKyAg
ICBpZiBBUk02NCBvciBYODZfNjQgb3IgWDg2XzY0X1dJTgorICAgICAgICBsb2FkcCBWTTo6dG9w
Vk1FbnRyeUZyYW1lW3ZtXSwgdGVtcAorICAgICAgICB2bUVudHJ5UmVjb3JkKHRlbXAsIHRlbXAp
CisgICAgICAgIGxlYXAgVk1FbnRyeVJlY29yZDo6Y2FsbGVlU2F2ZVJlZ2lzdGVyc0J1ZmZlclt0
ZW1wXSwgdGVtcAorICAgICAgICBpZiBBUk02NAorICAgICAgICAgICAgbG9hZHAgW3RlbXBdLCBj
c3IwCisgICAgICAgICAgICBsb2FkcCA4W3RlbXBdLCBjc3IxCisgICAgICAgICAgICBsb2FkcCAx
Nlt0ZW1wXSwgY3NyMgorICAgICAgICAgICAgbG9hZHAgMjRbdGVtcF0sIGNzcjMKKyAgICAgICAg
ICAgIGxvYWRwIDMyW3RlbXBdLCBjc3I0CisgICAgICAgICAgICBsb2FkcCA0MFt0ZW1wXSwgY3Ny
NQorICAgICAgICAgICAgbG9hZHAgNDhbdGVtcF0sIGNzcjYKKyAgICAgICAgICAgIGxvYWRwIDU2
W3RlbXBdLCBjc3I3CisgICAgICAgICAgICBsb2FkcCA2NFt0ZW1wXSwgY3NyOAorICAgICAgICAg
ICAgbG9hZHAgNzJbdGVtcF0sIGNzcjkKKyAgICAgICAgICAgIGxvYWRkIDgwW3RlbXBdLCBjc2Zy
MAorICAgICAgICAgICAgbG9hZGQgODhbdGVtcF0sIGNzZnIxCisgICAgICAgICAgICBsb2FkZCA5
Nlt0ZW1wXSwgY3NmcjIKKyAgICAgICAgICAgIGxvYWRkIDEwNFt0ZW1wXSwgY3NmcjMKKyAgICAg
ICAgICAgIGxvYWRkIDExMlt0ZW1wXSwgY3NmcjQKKyAgICAgICAgICAgIGxvYWRkIDEyMFt0ZW1w
XSwgY3NmcjUKKyAgICAgICAgICAgIGxvYWRkIDEyOFt0ZW1wXSwgY3NmcjYKKyAgICAgICAgICAg
IGxvYWRkIDEzNlt0ZW1wXSwgY3NmcjcKKyAgICAgICAgZWxzaWYgWDg2XzY0CisgICAgICAgICAg
ICBsb2FkcCBbdGVtcF0sIGNzcjAKKyAgICAgICAgICAgIGxvYWRwIDhbdGVtcF0sIGNzcjEKKyAg
ICAgICAgICAgIGxvYWRwIDE2W3RlbXBdLCBjc3IyCisgICAgICAgICAgICBsb2FkcCAyNFt0ZW1w
XSwgY3NyMworICAgICAgICAgICAgbG9hZHAgMzJbdGVtcF0sIGNzcjQKKyAgICAgICAgZWxzaWYg
WDg2XzY0X1dJTgorICAgICAgICAgICAgbG9hZHAgW3RlbXBdLCBjc3IwCisgICAgICAgICAgICBs
b2FkcCA4W3RlbXBdLCBjc3IxCisgICAgICAgICAgICBsb2FkcCAxNlt0ZW1wXSwgY3NyMgorICAg
ICAgICAgICAgbG9hZHAgMjRbdGVtcF0sIGNzcjMKKyAgICAgICAgICAgIGxvYWRwIDMyW3RlbXBd
LCBjc3I0CisgICAgICAgICAgICBsb2FkcCA0MFt0ZW1wXSwgY3NyNQorICAgICAgICAgICAgbG9h
ZHAgNDhbdGVtcF0sIGNzcjYKKyAgICAgICAgZW5kCisgICAgZW5kCitlbmQKKworbWFjcm8gcHJl
c2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKGRlc3RpbmF0aW9uUmVnaXN0ZXIpCisgICAgaWYg
Q19MT09QIG9yIEFSTSBvciBBUk12NyBvciBBUk12N19UUkFESVRJT05BTCBvciBBUk02NCBvciBN
SVBTCisgICAgICAgICMgSW4gQ19MT09QIGNhc2UsIHdlJ3JlIG9ubHkgcHJlc2VydmluZyB0aGUg
Ynl0ZWNvZGUgdlBDLgorICAgICAgICBtb3ZlIGxyLCBkZXN0aW5hdGlvblJlZ2lzdGVyCisgICAg
ZWxzaWYgWDg2IG9yIFg4Nl9XSU4gb3IgWDg2XzY0IG9yIFg4Nl82NF9XSU4KKyAgICAgICAgcG9w
IGRlc3RpbmF0aW9uUmVnaXN0ZXIKKyAgICBlbHNlCisgICAgICAgIGVycm9yCisgICAgZW5kCitl
bmQKKworbWFjcm8gZnVuY3Rpb25Qcm9sb2d1ZSgpCisgICAgaWYgWDg2IG9yIFg4Nl9XSU4gb3Ig
WDg2XzY0IG9yIFg4Nl82NF9XSU4KKyAgICAgICAgcHVzaCBjZnIKKyAgICBlbHNpZiBBUk02NAor
ICAgICAgICBwdXNoIGNmciwgbHIKKyAgICBlbHNpZiBDX0xPT1Agb3IgQVJNIG9yIEFSTXY3IG9y
IEFSTXY3X1RSQURJVElPTkFMIG9yIE1JUFMKKyAgICAgICAgcHVzaCBscgorICAgICAgICBwdXNo
IGNmcgorICAgIGVuZAorICAgIG1vdmUgc3AsIGNmcgorZW5kCisKK21hY3JvIGZ1bmN0aW9uRXBp
bG9ndWUoKQorICAgIGlmIFg4NiBvciBYODZfV0lOIG9yIFg4Nl82NCBvciBYODZfNjRfV0lOCisg
ICAgICAgIHBvcCBjZnIKKyAgICBlbHNpZiBBUk02NAorICAgICAgICBwb3AgbHIsIGNmcgorICAg
IGVsc2lmIENfTE9PUCBvciBBUk0gb3IgQVJNdjcgb3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgTUlQ
UworICAgICAgICBwb3AgY2ZyCisgICAgICAgIHBvcCBscgorICAgIGVuZAorZW5kCisKK21hY3Jv
IHZtRW50cnlSZWNvcmQoZW50cnlGcmFtZVBvaW50ZXIsIHJlc3VsdFJlZykKKyAgICBzdWJwIGVu
dHJ5RnJhbWVQb2ludGVyLCBWTUVudHJ5VG90YWxGcmFtZVNpemUsIHJlc3VsdFJlZworZW5kCisK
K21hY3JvIGdldEZyYW1lUmVnaXN0ZXJTaXplRm9yQ29kZUJsb2NrKGNvZGVCbG9jaywgc2l6ZSkK
KyAgICBsb2FkaSBDb2RlQmxvY2s6Om1fbnVtQ2FsbGVlTG9jYWxzW2NvZGVCbG9ja10sIHNpemUK
KyAgICBsc2hpZnRwIDMsIHNpemUKKyAgICBhZGRwIG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhD
YWxsLCBzaXplCitlbmQKKworbWFjcm8gcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVyQ2FsbCgpCisg
ICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQyCisgICAgZ2V0RnJhbWVSZWdpc3RlclNpemVGb3JD
b2RlQmxvY2sodDIsIHQyKQorICAgIGlmIEFSTXY3CisgICAgICAgIHN1YnAgY2ZyLCB0MiwgdDIK
KyAgICAgICAgbW92ZSB0Miwgc3AKKyAgICBlbHNlCisgICAgICAgIHN1YnAgY2ZyLCB0Miwgc3AK
KyAgICBlbmQKK2VuZAorCittYWNybyB0cmFjZUV4ZWN1dGlvbigpCisgICAgaWYgQ09MTEVDVF9T
VEFUUworICAgICAgICBjYWxsU2xvd1BhdGgoX2xsaW50X2NvdW50X29wY29kZSkKKyAgICBlbmQK
KyAgICBpZiBFWEVDVVRJT05fVFJBQ0lORworICAgICAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Ry
YWNlKQorICAgIGVuZAorZW5kCisKK21hY3JvIHRyYWNlU2xvd1BhdGhFeGVjdXRpb24oKQorICAg
IGlmIENPTExFQ1RfU1RBVFMKKyAgICAgICAgY2FsbFNsb3dQYXRoKF9sbGludF9jb3VudF9vcGNv
ZGVfc2xvd19wYXRoKQorICAgIGVuZAorZW5kCisKK21hY3JvIGNhbGxPcGNvZGVTbG93UGF0aChz
bG93UGF0aCkKKyAgICB0cmFjZVNsb3dQYXRoRXhlY3V0aW9uKCkKKyAgICBjYWxsU2xvd1BhdGgo
c2xvd1BhdGgpCitlbmQKKworbWFjcm8gY2FsbFRhcmdldEZ1bmN0aW9uKGNhbGxlZSkKKyAgICBp
ZiBDX0xPT1AKKyAgICAgICAgY2xvb3BDYWxsSlNGdW5jdGlvbiBjYWxsZWUKKyAgICBlbHNlCisg
ICAgICAgIGNhbGwgY2FsbGVlCisgICAgZW5kCisgICAgcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVy
Q2FsbCgpCisgICAgZGlzcGF0Y2hBZnRlckNhbGwoKQorZW5kCisKK21hY3JvIHByZXBhcmVGb3JS
ZWd1bGFyQ2FsbChjYWxsZWUsIHRlbXAxLCB0ZW1wMiwgdGVtcDMpCisgICAgYWRkcCBDYWxsZXJG
cmFtZUFuZFBDU2l6ZSwgc3AKK2VuZAorCisjIHNwIHBvaW50cyB0byB0aGUgbmV3IGZyYW1lCitt
YWNybyBwcmVwYXJlRm9yVGFpbENhbGwoY2FsbGVlLCB0ZW1wMSwgdGVtcDIsIHRlbXAzKQorICAg
IHJlc3RvcmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50KCkKKworICAgIGxvYWRpIFBheWxvYWRPZmZz
ZXQgKyBBcmd1bWVudENvdW50W2Nmcl0sIHRlbXAyCisgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0s
IHRlbXAxCisgICAgbG9hZHAgQ29kZUJsb2NrOjptX251bVBhcmFtZXRlcnNbdGVtcDFdLCB0ZW1w
MQorICAgIGJpbHRlcSB0ZW1wMSwgdGVtcDIsIC5ub0FyaXR5Rml4dXAKKyAgICBtb3ZlIHRlbXAx
LCB0ZW1wMgorCisubm9Bcml0eUZpeHVwOgorICAgICMgV2UgYXNzdW1lIDwgMl4yOCBhcmd1bWVu
dHMKKyAgICBtdWxpIFNsb3RTaXplLCB0ZW1wMgorICAgIGFkZGkgU3RhY2tBbGlnbm1lbnQgLSAx
ICsgQ2FsbEZyYW1lSGVhZGVyU2l6ZSwgdGVtcDIKKyAgICBhbmRpIH5TdGFja0FsaWdubWVudE1h
c2ssIHRlbXAyCisKKyAgICBtb3ZlIGNmciwgdGVtcDEKKyAgICBhZGRwIHRlbXAyLCB0ZW1wMQor
CisgICAgbG9hZGkgUGF5bG9hZE9mZnNldCArIEFyZ3VtZW50Q291bnRbc3BdLCB0ZW1wMgorICAg
ICMgV2UgYXNzdW1lIDwgMl4yOCBhcmd1bWVudHMKKyAgICBtdWxpIFNsb3RTaXplLCB0ZW1wMgor
ICAgIGFkZGkgU3RhY2tBbGlnbm1lbnQgLSAxICsgQ2FsbEZyYW1lSGVhZGVyU2l6ZSwgdGVtcDIK
KyAgICBhbmRpIH5TdGFja0FsaWdubWVudE1hc2ssIHRlbXAyCisKKyAgICBpZiBBUk0gb3IgQVJN
djdfVFJBRElUSU9OQUwgb3IgQVJNdjcgb3IgQVJNNjQgb3IgQ19MT09QIG9yIE1JUFMKKyAgICAg
ICAgYWRkcCAyICogUHRyU2l6ZSwgc3AKKyAgICAgICAgc3ViaSAyICogUHRyU2l6ZSwgdGVtcDIK
KyAgICAgICAgbG9hZHAgUHRyU2l6ZVtjZnJdLCBscgorICAgIGVsc2UKKyAgICAgICAgYWRkcCBQ
dHJTaXplLCBzcAorICAgICAgICBzdWJpIFB0clNpemUsIHRlbXAyCisgICAgICAgIGxvYWRwIFB0
clNpemVbY2ZyXSwgdGVtcDMKKyAgICAgICAgc3RvcmVwIHRlbXAzLCBbc3BdCisgICAgZW5kCisK
KyAgICBzdWJwIHRlbXAyLCB0ZW1wMQorICAgIGxvYWRwIFtjZnJdLCBjZnIKKworLmNvcHlMb29w
OgorICAgIHN1YmkgUHRyU2l6ZSwgdGVtcDIKKyAgICBsb2FkcCBbc3AsIHRlbXAyLCAxXSwgdGVt
cDMKKyAgICBzdG9yZXAgdGVtcDMsIFt0ZW1wMSwgdGVtcDIsIDFdCisgICAgYnRpbnogdGVtcDIs
IC5jb3B5TG9vcAorCisgICAgbW92ZSB0ZW1wMSwgc3AKKyAgICBqbXAgY2FsbGVlCitlbmQKKwor
bWFjcm8gc2xvd1BhdGhGb3JDYWxsKHNsb3dQYXRoLCBwcmVwYXJlQ2FsbCkKKyAgICB0cmFjZVNs
b3dQYXRoRXhlY3V0aW9uKCkKKyAgICBjYWxsQ2FsbFNsb3dQYXRoKAorICAgICAgICBzbG93UGF0
aCwKKyAgICAgICAgIyBUaG9zZSBhcmUgcjAgYW5kIHIxCisgICAgICAgIG1hY3JvIChjYWxsZWUs
IGNhbGxlZUZyYW1lUHRyKQorICAgICAgICAgICAgYnRweiBjYWxsZWVGcmFtZVB0ciwgLmRvbnRV
cGRhdGVTUAorICAgICAgICAgICAgbW92ZSBjYWxsZWVGcmFtZVB0ciwgc3AKKyAgICAgICAgICAg
IHByZXBhcmVDYWxsKGNhbGxlZSwgdDIsIHQzLCB0NCkKKyAgICAgICAgLmRvbnRVcGRhdGVTUDoK
KyAgICAgICAgICAgIGNhbGxUYXJnZXRGdW5jdGlvbihjYWxsZWUpCisgICAgICAgIGVuZCkKK2Vu
ZAorCittYWNybyBhcnJheVByb2ZpbGUoY2VsbEFuZEluZGV4aW5nVHlwZSwgcHJvZmlsZSwgc2Ny
YXRjaCkKKyAgICBjb25zdCBjZWxsID0gY2VsbEFuZEluZGV4aW5nVHlwZQorICAgIGNvbnN0IGlu
ZGV4aW5nVHlwZSA9IGNlbGxBbmRJbmRleGluZ1R5cGUgCisgICAgbG9hZGkgSlNDZWxsOjptX3N0
cnVjdHVyZUlEW2NlbGxdLCBzY3JhdGNoCisgICAgc3RvcmVpIHNjcmF0Y2gsIEFycmF5UHJvZmls
ZTo6bV9sYXN0U2VlblN0cnVjdHVyZUlEW3Byb2ZpbGVdCisgICAgbG9hZGIgSlNDZWxsOjptX2lu
ZGV4aW5nVHlwZUFuZE1pc2NbY2VsbF0sIGluZGV4aW5nVHlwZQorZW5kCisKK21hY3JvIHNraXBJ
ZklzUmVtZW1iZXJlZE9ySW5FZGVuKGNlbGwsIHNsb3dQYXRoKQorICAgIG1lbWZlbmNlCisgICAg
YmJhIEpTQ2VsbDo6bV9jZWxsU3RhdGVbY2VsbF0sIEJsYWNrVGhyZXNob2xkLCAuZG9uZQorICAg
IHNsb3dQYXRoKCkKKy5kb25lOgorZW5kCisKK21hY3JvIG5vdGlmeVdyaXRlKHNldCwgc2xvdykK
KyAgICBiYm5lcSBXYXRjaHBvaW50U2V0OjptX3N0YXRlW3NldF0sIElzSW52YWxpZGF0ZWQsIHNs
b3cKK2VuZAorCittYWNybyBjaGVja1N3aXRjaFRvSklUKGluY3JlbWVudCwgYWN0aW9uKQorICAg
IGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MAorICAgIGJhZGRpcyBpbmNyZW1lbnQsIENvZGVCbG9j
azo6bV9sbGludEV4ZWN1dGVDb3VudGVyICsgQmFzZWxpbmVFeGVjdXRpb25Db3VudGVyOjptX2Nv
dW50ZXJbdDBdLCAuY29udGludWUKKyAgICBhY3Rpb24oKQorICAgIC5jb250aW51ZToKK2VuZAor
CittYWNybyBjaGVja1N3aXRjaFRvSklURm9yRXBpbG9ndWUoKQorICAgIGNoZWNrU3dpdGNoVG9K
SVQoCisgICAgICAgIDEwLAorICAgICAgICBtYWNybyAoKQorICAgICAgICAgICAgY2FsbE9wY29k
ZVNsb3dQYXRoKF9sbGludF9yZXBsYWNlKQorICAgICAgICBlbmQpCitlbmQKKworbWFjcm8gYXNz
ZXJ0Tm90Q29uc3RhbnQoaW5kZXgpCisgICAgYXNzZXJ0KG1hY3JvIChvaykgYmlsdCBpbmRleCwg
Rmlyc3RDb25zdGFudFJlZ2lzdGVySW5kZXgsIG9rIGVuZCkKK2VuZAorCittYWNybyBmdW5jdGlv
bkZvckNhbGxDb2RlQmxvY2tHZXR0ZXIodGFyZ2V0UmVnaXN0ZXIpCisgICAgaWYgSlNWQUxVRTY0
CisgICAgICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0YXJnZXRSZWdpc3RlcgorICAgIGVsc2UKKyAg
ICAgICAgbG9hZHAgQ2FsbGVlICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0YXJnZXRSZWdpc3Rlcgor
ICAgIGVuZAorICAgIGxvYWRwIEpTRnVuY3Rpb246Om1fZXhlY3V0YWJsZVt0YXJnZXRSZWdpc3Rl
cl0sIHRhcmdldFJlZ2lzdGVyCisgICAgbG9hZHAgRnVuY3Rpb25FeGVjdXRhYmxlOjptX2NvZGVC
bG9ja0ZvckNhbGxbdGFyZ2V0UmVnaXN0ZXJdLCB0YXJnZXRSZWdpc3RlcgorZW5kCisKK21hY3Jv
IGZ1bmN0aW9uRm9yQ29uc3RydWN0Q29kZUJsb2NrR2V0dGVyKHRhcmdldFJlZ2lzdGVyKQorICAg
IGlmIEpTVkFMVUU2NAorICAgICAgICBsb2FkcCBDYWxsZWVbY2ZyXSwgdGFyZ2V0UmVnaXN0ZXIK
KyAgICBlbHNlCisgICAgICAgIGxvYWRwIENhbGxlZSArIFBheWxvYWRPZmZzZXRbY2ZyXSwgdGFy
Z2V0UmVnaXN0ZXIKKyAgICBlbmQKKyAgICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4ZWN1dGFibGVb
dGFyZ2V0UmVnaXN0ZXJdLCB0YXJnZXRSZWdpc3RlcgorICAgIGxvYWRwIEZ1bmN0aW9uRXhlY3V0
YWJsZTo6bV9jb2RlQmxvY2tGb3JDb25zdHJ1Y3RbdGFyZ2V0UmVnaXN0ZXJdLCB0YXJnZXRSZWdp
c3RlcgorZW5kCisKK21hY3JvIG5vdEZ1bmN0aW9uQ29kZUJsb2NrR2V0dGVyKHRhcmdldFJlZ2lz
dGVyKQorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0YXJnZXRSZWdpc3RlcgorZW5kCisKK21h
Y3JvIGZ1bmN0aW9uQ29kZUJsb2NrU2V0dGVyKHNvdXJjZVJlZ2lzdGVyKQorICAgIHN0b3JlcCBz
b3VyY2VSZWdpc3RlciwgQ29kZUJsb2NrW2Nmcl0KK2VuZAorCittYWNybyBub3RGdW5jdGlvbkNv
ZGVCbG9ja1NldHRlcihzb3VyY2VSZWdpc3RlcikKKyAgICAjIE5vdGhpbmcgdG8gZG8hCitlbmQK
KworIyBEbyB0aGUgYmFyZSBtaW5pbXVtIHJlcXVpcmVkIHRvIGV4ZWN1dGUgY29kZS4gU2V0cyB1
cCB0aGUgUEMsIGxlYXZlIHRoZSBDb2RlQmxvY2sqCisjIGluIHQxLiBNYXkgYWxzbyB0cmlnZ2Vy
IHByb2xvZ3VlIGVudHJ5IE9TUi4KK21hY3JvIHByb2xvZ3VlKGNvZGVCbG9ja0dldHRlciwgY29k
ZUJsb2NrU2V0dGVyLCBvc3JTbG93UGF0aCwgdHJhY2VTbG93UGF0aCkKKyAgICAjIFNldCB1cCB0
aGUgY2FsbCBmcmFtZSBhbmQgY2hlY2sgaWYgd2Ugc2hvdWxkIE9TUi4KKyAgICBwcmVzZXJ2ZUNh
bGxlclBDQW5kQ0ZSKCkKKworICAgIGlmIEVYRUNVVElPTl9UUkFDSU5HCisgICAgICAgIHN1YnAg
bWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwsIHNwCisgICAgICAgIGNhbGxTbG93UGF0aCh0
cmFjZVNsb3dQYXRoKQorICAgICAgICBhZGRwIG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxs
LCBzcAorICAgIGVuZAorICAgIGNvZGVCbG9ja0dldHRlcih0MSkKKyAgICBpZiBub3QgQ19MT09Q
CisgICAgICAgIGJhZGRpcyA1LCBDb2RlQmxvY2s6Om1fbGxpbnRFeGVjdXRlQ291bnRlciArIEJh
c2VsaW5lRXhlY3V0aW9uQ291bnRlcjo6bV9jb3VudGVyW3QxXSwgLmNvbnRpbnVlCisgICAgICAg
IGlmIEpTVkFMVUU2NAorICAgICAgICAgICAgbW92ZSBjZnIsIGEwCisgICAgICAgICAgICBtb3Zl
IFBDLCBhMQorICAgICAgICAgICAgY0NhbGwyKG9zclNsb3dQYXRoKQorICAgICAgICBlbHNlCisg
ICAgICAgICAgICAjIFdlIGFyZSBhZnRlciB0aGUgZnVuY3Rpb24gcHJvbG9ndWUsIGJ1dCBiZWZv
cmUgd2UgaGF2ZSBzZXQgdXAgc3AgZnJvbSB0aGUgQ29kZUJsb2NrLgorICAgICAgICAgICAgIyBU
ZW1wb3JhcmlseSBhbGlnbiBzdGFjayBwb2ludGVyIGZvciB0aGlzIGNhbGwuCisgICAgICAgICAg
ICBzdWJwIDgsIHNwCisgICAgICAgICAgICBtb3ZlIGNmciwgYTAKKyAgICAgICAgICAgIG1vdmUg
UEMsIGExCisgICAgICAgICAgICBjQ2FsbDIob3NyU2xvd1BhdGgpCisgICAgICAgICAgICBhZGRw
IDgsIHNwCisgICAgICAgIGVuZAorICAgICAgICBidHB6IHIwLCAucmVjb3ZlcgorICAgICAgICBt
b3ZlIGNmciwgc3AgIyByZXN0b3JlIHRoZSBwcmV2aW91cyBzcAorICAgICAgICAjIHBvcCB0aGUg
Y2FsbGVyRnJhbWUgc2luY2Ugd2Ugd2lsbCBqdW1wIHRvIGEgZnVuY3Rpb24gdGhhdCB3YW50cyB0
byBzYXZlIGl0CisgICAgICAgIGlmIEFSTTY0CisgICAgICAgICAgICBwb3AgbHIsIGNmcgorICAg
ICAgICBlbHNpZiBBUk0gb3IgQVJNdjcgb3IgQVJNdjdfVFJBRElUSU9OQUwgb3IgTUlQUworICAg
ICAgICAgICAgcG9wIGNmcgorICAgICAgICAgICAgcG9wIGxyCisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIHBvcCBjZnIKKyAgICAgICAgZW5kCisgICAgICAgIGptcCByMAorICAgIC5yZWNvdmVy
OgorICAgICAgICBjb2RlQmxvY2tHZXR0ZXIodDEpCisgICAgLmNvbnRpbnVlOgorICAgIGVuZAor
CisgICAgY29kZUJsb2NrU2V0dGVyKHQxKQorCisgICAgcHJlc2VydmVDYWxsZWVTYXZlc1VzZWRC
eUxMSW50KCkKKworICAgICMgU2V0IHVwIHRoZSBQQy4KKyAgICBpZiBKU1ZBTFVFNjQKKyAgICAg
ICAgbG9hZHAgQ29kZUJsb2NrOjptX2luc3RydWN0aW9uc1t0MV0sIFBCCisgICAgICAgIG1vdmUg
MCwgUEMKKyAgICBlbHNlCisgICAgICAgIGxvYWRwIENvZGVCbG9jazo6bV9pbnN0cnVjdGlvbnNb
dDFdLCBQQworICAgIGVuZAorCisgICAgIyBHZXQgbmV3IHNwIGluIHQwIGFuZCBjaGVjayBzdGFj
ayBoZWlnaHQuCisgICAgZ2V0RnJhbWVSZWdpc3RlclNpemVGb3JDb2RlQmxvY2sodDEsIHQwKQor
ICAgIHN1YnAgY2ZyLCB0MCwgdDAKKyAgICBicGEgdDAsIGNmciwgLm5lZWRTdGFja0NoZWNrCisg
ICAgbG9hZHAgQ29kZUJsb2NrOjptX3ZtW3QxXSwgdDIKKyAgICBpZiBDX0xPT1AKKyAgICAgICAg
YnBiZXEgVk06Om1fY2xvb3BTdGFja0xpbWl0W3QyXSwgdDAsIC5zdGFja0hlaWdodE9LCisgICAg
ZWxzZQorICAgICAgICBicGJlcSBWTTo6bV9zb2Z0U3RhY2tMaW1pdFt0Ml0sIHQwLCAuc3RhY2tI
ZWlnaHRPSworICAgIGVuZAorCisubmVlZFN0YWNrQ2hlY2s6CisgICAgIyBTdGFjayBoZWlnaHQg
Y2hlY2sgZmFpbGVkIC0gbmVlZCB0byBjYWxsIGEgc2xvd19wYXRoLgorICAgICMgU2V0IHVwIHRl
bXBvcmFyeSBzdGFjayBwb2ludGVyIGZvciBjYWxsIGluY2x1ZGluZyBjYWxsZWUgc2F2ZXMKKyAg
ICBzdWJwIG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLCBzcAorICAgIGNhbGxTbG93UGF0
aChfbGxpbnRfc3RhY2tfY2hlY2spCisgICAgYnBlcSByMSwgMCwgLnN0YWNrSGVpZ2h0T0tHZXRD
b2RlQmxvY2sKKyAgICBtb3ZlIHIxLCBjZnIKKyAgICBkaXNwYXRjaCgwKSAjIEdvIHRvIGV4Y2Vw
dGlvbiBoYW5kbGVyIGluIFBDCisKKy5zdGFja0hlaWdodE9LR2V0Q29kZUJsb2NrOgorICAgICMg
U3RhY2sgY2hlY2sgc2xvdyBwYXRoIHJldHVybmVkIHRoYXQgdGhlIHN0YWNrIHdhcyBvay4KKyAg
ICAjIFNpbmNlIHRoZXkgd2VyZSBjbG9iYmVyZWQsIG5lZWQgdG8gZ2V0IENvZGVCbG9jayBhbmQg
bmV3IHNwCisgICAgY29kZUJsb2NrR2V0dGVyKHQxKQorICAgIGdldEZyYW1lUmVnaXN0ZXJTaXpl
Rm9yQ29kZUJsb2NrKHQxLCB0MCkKKyAgICBzdWJwIGNmciwgdDAsIHQwCisKKy5zdGFja0hlaWdo
dE9LOgorICAgIG1vdmUgdDAsIHNwCisKKyAgICBpZiBKU1ZBTFVFNjQKKyAgICAgICAgbW92ZSBU
YWdUeXBlTnVtYmVyLCB0YWdUeXBlTnVtYmVyCisgICAgICAgIGFkZHAgVGFnQml0VHlwZU90aGVy
LCB0YWdUeXBlTnVtYmVyLCB0YWdNYXNrCisgICAgZW5kCitlbmQKKworIyBFeHBlY3RzIHRoYXQg
Q29kZUJsb2NrIGlzIGluIHQxLCB3aGljaCBpcyB3aGF0IHByb2xvZ3VlKCkgbGVhdmVzIGJlaGlu
ZC4KKyMgTXVzdCBjYWxsIGRpc3BhdGNoKDApIGFmdGVyIGNhbGxpbmcgdGhpcy4KK21hY3JvIGZ1
bmN0aW9uSW5pdGlhbGl6YXRpb24ocHJvZmlsZUFyZ1NraXApCisgICAgIyBQcm9maWxlIHRoZSBh
cmd1bWVudHMuIFVuZm9ydHVuYXRlbHksIHdlIGhhdmUgbm8gY2hvaWNlIGJ1dCB0byBkbyB0aGlz
LiBUaGlzCisgICAgIyBjb2RlIGlzIHByZXR0eSBob3JyZW5kb3VzIGJlY2F1c2Ugb2YgdGhlIGRp
ZmZlcmVuY2UgaW4gb3JkZXJpbmcgYmV0d2VlbgorICAgICMgYXJndW1lbnRzIGFuZCB2YWx1ZSBw
cm9maWxlcywgdGhlIGRlc2lyZSB0byBoYXZlIGEgc2ltcGxlIGxvb3AtZG93bi10by16ZXJvCisg
ICAgIyBsb29wLCBhbmQgdGhlIGRlc2lyZSB0byB1c2Ugb25seSB0aHJlZSByZWdpc3RlcnMgc28g
YXMgdG8gcHJlc2VydmUgdGhlIFBDIGFuZAorICAgICMgdGhlIGNvZGUgYmxvY2suIEl0IGlzIGxp
a2VseSB0aGF0IHRoaXMgY29kZSBzaG91bGQgYmUgcmV3cml0dGVuIGluIGEgbW9yZQorICAgICMg
b3B0aW1hbCB3YXkgZm9yIGFyY2hpdGVjdHVyZXMgdGhhdCBoYXZlIG1vcmUgdGhhbiBmaXZlIHJl
Z2lzdGVycyBhdmFpbGFibGUKKyAgICAjIGZvciBhcmJpdHJhcnkgdXNlIGluIHRoZSBpbnRlcnBy
ZXRlci4KKyAgICBsb2FkaSBDb2RlQmxvY2s6Om1fbnVtUGFyYW1ldGVyc1t0MV0sIHQwCisgICAg
YWRkcCAtcHJvZmlsZUFyZ1NraXAsIHQwICMgVXNlIGFkZGkgYmVjYXVzZSB0aGF0J3Mgd2hhdCBo
YXMgdGhlIHBlZXBob2xlCisgICAgYXNzZXJ0KG1hY3JvIChvaykgYnBndGVxIHQwLCAwLCBvayBl
bmQpCisgICAgYnRweiB0MCwgLmFyZ3VtZW50UHJvZmlsZURvbmUKKyAgICBsb2FkcCBDb2RlQmxv
Y2s6Om1fYXJndW1lbnRWYWx1ZVByb2ZpbGVzICsgVmVjdG9yQnVmZmVyT2Zmc2V0W3QxXSwgdDMK
KyAgICBtdWxwIHNpemVvZiBWYWx1ZVByb2ZpbGUsIHQwLCB0MiAjIEFhYWFhaGhoaCEgTmVlZCBz
dHJlbmd0aCByZWR1Y3Rpb24hCisgICAgbHNoaWZ0cCAzLCB0MAorICAgIGFkZHAgdDIsIHQzCisu
YXJndW1lbnRQcm9maWxlTG9vcDoKKyAgICBpZiBKU1ZBTFVFNjQKKyAgICAgICAgbG9hZHEgVGhp
c0FyZ3VtZW50T2Zmc2V0IC0gOCArIHByb2ZpbGVBcmdTa2lwICogOFtjZnIsIHQwXSwgdDIKKyAg
ICAgICAgc3VicCBzaXplb2YgVmFsdWVQcm9maWxlLCB0MworICAgICAgICBzdG9yZXEgdDIsIHBy
b2ZpbGVBcmdTa2lwICogc2l6ZW9mIFZhbHVlUHJvZmlsZSArIFZhbHVlUHJvZmlsZTo6bV9idWNr
ZXRzW3QzXQorICAgIGVsc2UKKyAgICAgICAgbG9hZGkgVGhpc0FyZ3VtZW50T2Zmc2V0ICsgVGFn
T2Zmc2V0IC0gOCArIHByb2ZpbGVBcmdTa2lwICogOFtjZnIsIHQwXSwgdDIKKyAgICAgICAgc3Vi
cCBzaXplb2YgVmFsdWVQcm9maWxlLCB0MworICAgICAgICBzdG9yZWkgdDIsIHByb2ZpbGVBcmdT
a2lwICogc2l6ZW9mIFZhbHVlUHJvZmlsZSArIFZhbHVlUHJvZmlsZTo6bV9idWNrZXRzICsgVGFn
T2Zmc2V0W3QzXQorICAgICAgICBsb2FkaSBUaGlzQXJndW1lbnRPZmZzZXQgKyBQYXlsb2FkT2Zm
c2V0IC0gOCArIHByb2ZpbGVBcmdTa2lwICogOFtjZnIsIHQwXSwgdDIKKyAgICAgICAgc3RvcmVp
IHQyLCBwcm9maWxlQXJnU2tpcCAqIHNpemVvZiBWYWx1ZVByb2ZpbGUgKyBWYWx1ZVByb2ZpbGU6
Om1fYnVja2V0cyArIFBheWxvYWRPZmZzZXRbdDNdCisgICAgZW5kCisgICAgYmFkZHBueiAtOCwg
dDAsIC5hcmd1bWVudFByb2ZpbGVMb29wCisuYXJndW1lbnRQcm9maWxlRG9uZToKK2VuZAorCitt
YWNybyBkb1JldHVybigpCisgICAgcmVzdG9yZUNhbGxlZVNhdmVzVXNlZEJ5TExJbnQoKQorICAg
IHJlc3RvcmVDYWxsZXJQQ0FuZENGUigpCisgICAgcmV0CitlbmQKKworIyBzdHViIHRvIGNhbGwg
aW50byBKYXZhU2NyaXB0IG9yIE5hdGl2ZSBmdW5jdGlvbnMKKyMgRW5jb2RlZEpTVmFsdWUgdm1F
bnRyeVRvSmF2YVNjcmlwdCh2b2lkKiBjb2RlLCBWTSogdm0sIFByb3RvQ2FsbEZyYW1lKiBwcm90
b0ZyYW1lKQorIyBFbmNvZGVkSlNWYWx1ZSB2bUVudHJ5VG9OYXRpdmVGdW5jdGlvbih2b2lkKiBj
b2RlLCBWTSogdm0sIFByb3RvQ2FsbEZyYW1lKiBwcm90b0ZyYW1lKQorCitpZiBDX0xPT1AKKyAg
ICBfbGxpbnRfdm1fZW50cnlfdG9famF2YXNjcmlwdDoKK2Vsc2UKKyAgICBnbG9iYWwgX3ZtRW50
cnlUb0phdmFTY3JpcHQKKyAgICBfdm1FbnRyeVRvSmF2YVNjcmlwdDoKK2VuZAorICAgIGRvVk1F
bnRyeShtYWtlSmF2YVNjcmlwdENhbGwpCisKKworaWYgQ19MT09QCisgICAgX2xsaW50X3ZtX2Vu
dHJ5X3RvX25hdGl2ZToKK2Vsc2UKKyAgICBnbG9iYWwgX3ZtRW50cnlUb05hdGl2ZQorICAgIF92
bUVudHJ5VG9OYXRpdmU6CitlbmQKKyAgICBkb1ZNRW50cnkobWFrZUhvc3RGdW5jdGlvbkNhbGwp
CisKKworaWYgbm90IENfTE9PUAorICAgICMgdm9pZCBzYW5pdGl6ZVN0YWNrRm9yVk1JbXBsKFZN
KiB2bSkKKyAgICBnbG9iYWwgX3Nhbml0aXplU3RhY2tGb3JWTUltcGwKKyAgICBfc2FuaXRpemVT
dGFja0ZvclZNSW1wbDoKKyAgICAgICAgIyBXZSBuZWVkIHRocmVlIG5vbi1hbGlhc2VkIGNhbGxl
ci1zYXZlIHJlZ2lzdGVycy4gV2UgYXJlIGd1YXJhbnRlZWQKKyAgICAgICAgIyB0aGlzIGZvciBh
MCwgYTEgYW5kIGEyIG9uIGFsbCBhcmNoaXRlY3R1cmVzLgorICAgICAgICBpZiBYODYgb3IgWDg2
X1dJTgorICAgICAgICAgICAgbG9hZHAgNFtzcF0sIGEwCisgICAgICAgIGVuZAorICAgICAgICBj
b25zdCB2bSA9IGEwCisgICAgICAgIGNvbnN0IGFkZHJlc3MgPSBhMQorICAgICAgICBjb25zdCB6
ZXJvVmFsdWUgPSBhMgorICAgIAorICAgICAgICBsb2FkcCBWTTo6bV9sYXN0U3RhY2tUb3Bbdm1d
LCBhZGRyZXNzCisgICAgICAgIGJwYmVxIHNwLCBhZGRyZXNzLCAuemVyb0ZpbGxEb25lCisgICAg
CisgICAgICAgIG1vdmUgMCwgemVyb1ZhbHVlCisgICAgLnplcm9GaWxsTG9vcDoKKyAgICAgICAg
c3RvcmVwIHplcm9WYWx1ZSwgW2FkZHJlc3NdCisgICAgICAgIGFkZHAgUHRyU2l6ZSwgYWRkcmVz
cworICAgICAgICBicGEgc3AsIGFkZHJlc3MsIC56ZXJvRmlsbExvb3AKKyAgICAKKyAgICAuemVy
b0ZpbGxEb25lOgorICAgICAgICBtb3ZlIHNwLCBhZGRyZXNzCisgICAgICAgIHN0b3JlcCBhZGRy
ZXNzLCBWTTo6bV9sYXN0U3RhY2tUb3Bbdm1dCisgICAgICAgIHJldAorICAgIAorICAgICMgVk1F
bnRyeVJlY29yZCogdm1FbnRyeVJlY29yZChjb25zdCBWTUVudHJ5RnJhbWUqIGVudHJ5RnJhbWUp
CisgICAgZ2xvYmFsIF92bUVudHJ5UmVjb3JkCisgICAgX3ZtRW50cnlSZWNvcmQ6CisgICAgICAg
IGlmIFg4NiBvciBYODZfV0lOCisgICAgICAgICAgICBsb2FkcCA0W3NwXSwgYTAKKyAgICAgICAg
ZW5kCisKKyAgICAgICAgdm1FbnRyeVJlY29yZChhMCwgcjApCisgICAgICAgIHJldAorZW5kCisK
K2lmIENfTE9PUAorICAgICMgRHVtbXkgZW50cnkgcG9pbnQgdGhlIEMgTG9vcCB1c2VzIHRvIGlu
aXRpYWxpemUuCisgICAgX2xsaW50X2VudHJ5OgorICAgICAgICBjcmFzaCgpCitlbHNlCisgICAg
bWFjcm8gaW5pdFBDUmVsYXRpdmUocGNCYXNlKQorICAgICAgICBpZiBYODZfNjQgb3IgWDg2XzY0
X1dJTiBvciBYODYgb3IgWDg2X1dJTgorICAgICAgICAgICAgY2FsbCBfcmVsYXRpdmVQQ0Jhc2UK
KyAgICAgICAgX3JlbGF0aXZlUENCYXNlOgorICAgICAgICAgICAgcG9wIHBjQmFzZQorICAgICAg
ICBlbHNpZiBBUk02NAorICAgICAgICBlbHNpZiBBUk12NworICAgICAgICBfcmVsYXRpdmVQQ0Jh
c2U6CisgICAgICAgICAgICBtb3ZlIHBjLCBwY0Jhc2UKKyAgICAgICAgICAgIHN1YnAgMywgcGNC
YXNlICAgIyBOZWVkIHRvIGJhY2sgdXAgdGhlIFBDIGFuZCBzZXQgdGhlIFRodW1iMiBiaXQKKyAg
ICAgICAgZWxzaWYgQVJNIG9yIEFSTXY3X1RSQURJVElPTkFMCisgICAgICAgIF9yZWxhdGl2ZVBD
QmFzZToKKyAgICAgICAgICAgIG1vdmUgcGMsIHBjQmFzZQorICAgICAgICAgICAgc3VicCA4LCBw
Y0Jhc2UKKyAgICAgICAgZWxzaWYgTUlQUworICAgICAgICAgICAgbGEgX3JlbGF0aXZlUENCYXNl
LCBwY0Jhc2UKKyAgICAgICAgICAgIHNldGNhbGxyZWcgcGNCYXNlICMgbmVlZGVkIHRvIHNldCAk
dDkgdG8gdGhlIHJpZ2h0IHZhbHVlIGZvciB0aGUgLmNwbG9hZCBjcmVhdGVkIGJ5IHRoZSBsYWJl
bC4KKyAgICAgICAgX3JlbGF0aXZlUENCYXNlOgorICAgICAgICBlbmQKK2VuZAorCisjIFRoZSBQ
QyBiYXNlIGlzIGluIHQxLCBhcyB0aGlzIGlzIHdoYXQgX2xsaW50X2VudHJ5IGxlYXZlcyBiZWhp
bmQgdGhyb3VnaAorIyBpbml0UENSZWxhdGl2ZSh0MSkKK21hY3JvIHNldEVudHJ5QWRkcmVzcyhp
bmRleCwgbGFiZWwpCisgICAgaWYgWDg2XzY0IG9yIFg4Nl82NF9XSU4KKyAgICAgICAgbGVhcCAo
bGFiZWwgLSBfcmVsYXRpdmVQQ0Jhc2UpW3QxXSwgdDMKKyAgICAgICAgbW92ZSBpbmRleCwgdDQK
KyAgICAgICAgc3RvcmVwIHQzLCBbYTAsIHQ0LCA4XQorICAgIGVsc2lmIFg4NiBvciBYODZfV0lO
CisgICAgICAgIGxlYXAgKGxhYmVsIC0gX3JlbGF0aXZlUENCYXNlKVt0MV0sIHQzCisgICAgICAg
IG1vdmUgaW5kZXgsIHQ0CisgICAgICAgIHN0b3JlcCB0MywgW2EwLCB0NCwgNF0KKyAgICBlbHNp
ZiBBUk02NAorICAgICAgICBwY3J0b2FkZHIgbGFiZWwsIHQxCisgICAgICAgIG1vdmUgaW5kZXgs
IHQ0CisgICAgICAgIHN0b3JlcCB0MSwgW2EwLCB0NCwgOF0KKyAgICBlbHNpZiBBUk0gb3IgQVJN
djcgb3IgQVJNdjdfVFJBRElUSU9OQUwKKyAgICAgICAgbXZsYmwgKGxhYmVsIC0gX3JlbGF0aXZl
UENCYXNlKSwgdDQKKyAgICAgICAgYWRkcCB0NCwgdDEsIHQ0CisgICAgICAgIG1vdmUgaW5kZXgs
IHQzCisgICAgICAgIHN0b3JlcCB0NCwgW2EwLCB0MywgNF0KKyAgICBlbHNpZiBNSVBTCisgICAg
ICAgIGxhIGxhYmVsLCB0NAorICAgICAgICBsYSBfcmVsYXRpdmVQQ0Jhc2UsIHQzCisgICAgICAg
IHN1YnAgdDMsIHQ0CisgICAgICAgIGFkZHAgdDQsIHQxLCB0NAorICAgICAgICBtb3ZlIGluZGV4
LCB0MworICAgICAgICBzdG9yZXAgdDQsIFthMCwgdDMsIDRdCisgICAgZW5kCitlbmQKKworZ2xv
YmFsIF9sbGludF9lbnRyeQorIyBFbnRyeSBwb2ludCBmb3IgdGhlIGxsaW50IHRvIGluaXRpYWxp
emUuCitfbGxpbnRfZW50cnk6CisgICAgZnVuY3Rpb25Qcm9sb2d1ZSgpCisgICAgcHVzaENhbGxl
ZVNhdmVzKCkKKyAgICBpZiBYODYgb3IgWDg2X1dJTgorICAgICAgICBsb2FkcCAyMFtzcF0sIGEw
CisgICAgZW5kCisgICAgaW5pdFBDUmVsYXRpdmUodDEpCisKKyAgICAjIEluY2x1ZGUgZ2VuZXJh
dGVkIGJ5dGVjb2RlIGluaXRpYWxpemF0aW9uIGZpbGUuCisgICAgaW5jbHVkZSBJbml0Qnl0ZWNv
ZGVzCisKKyAgICBwb3BDYWxsZWVTYXZlcygpCisgICAgZnVuY3Rpb25FcGlsb2d1ZSgpCisgICAg
cmV0CitlbmQKKworX2xsaW50X3Byb2dyYW1fcHJvbG9ndWU6CisgICAgcHJvbG9ndWUobm90RnVu
Y3Rpb25Db2RlQmxvY2tHZXR0ZXIsIG5vdEZ1bmN0aW9uQ29kZUJsb2NrU2V0dGVyLCBfbGxpbnRf
ZW50cnlfb3NyLCBfbGxpbnRfdHJhY2VfcHJvbG9ndWUpCisgICAgZGlzcGF0Y2goMCkKKworCitf
bGxpbnRfbW9kdWxlX3Byb2dyYW1fcHJvbG9ndWU6CisgICAgcHJvbG9ndWUobm90RnVuY3Rpb25D
b2RlQmxvY2tHZXR0ZXIsIG5vdEZ1bmN0aW9uQ29kZUJsb2NrU2V0dGVyLCBfbGxpbnRfZW50cnlf
b3NyLCBfbGxpbnRfdHJhY2VfcHJvbG9ndWUpCisgICAgZGlzcGF0Y2goMCkKKworCitfbGxpbnRf
ZXZhbF9wcm9sb2d1ZToKKyAgICBwcm9sb2d1ZShub3RGdW5jdGlvbkNvZGVCbG9ja0dldHRlciwg
bm90RnVuY3Rpb25Db2RlQmxvY2tTZXR0ZXIsIF9sbGludF9lbnRyeV9vc3IsIF9sbGludF90cmFj
ZV9wcm9sb2d1ZSkKKyAgICBkaXNwYXRjaCgwKQorCisKK19sbGludF9mdW5jdGlvbl9mb3JfY2Fs
bF9wcm9sb2d1ZToKKyAgICBwcm9sb2d1ZShmdW5jdGlvbkZvckNhbGxDb2RlQmxvY2tHZXR0ZXIs
IGZ1bmN0aW9uQ29kZUJsb2NrU2V0dGVyLCBfbGxpbnRfZW50cnlfb3NyX2Z1bmN0aW9uX2Zvcl9j
YWxsLCBfbGxpbnRfdHJhY2VfcHJvbG9ndWVfZnVuY3Rpb25fZm9yX2NhbGwpCisgICAgZnVuY3Rp
b25Jbml0aWFsaXphdGlvbigwKQorICAgIGRpc3BhdGNoKDApCisgICAgCisKK19sbGludF9mdW5j
dGlvbl9mb3JfY29uc3RydWN0X3Byb2xvZ3VlOgorICAgIHByb2xvZ3VlKGZ1bmN0aW9uRm9yQ29u
c3RydWN0Q29kZUJsb2NrR2V0dGVyLCBmdW5jdGlvbkNvZGVCbG9ja1NldHRlciwgX2xsaW50X2Vu
dHJ5X29zcl9mdW5jdGlvbl9mb3JfY29uc3RydWN0LCBfbGxpbnRfdHJhY2VfcHJvbG9ndWVfZnVu
Y3Rpb25fZm9yX2NvbnN0cnVjdCkKKyAgICBmdW5jdGlvbkluaXRpYWxpemF0aW9uKDEpCisgICAg
ZGlzcGF0Y2goMCkKKyAgICAKKworX2xsaW50X2Z1bmN0aW9uX2Zvcl9jYWxsX2FyaXR5X2NoZWNr
OgorICAgIHByb2xvZ3VlKGZ1bmN0aW9uRm9yQ2FsbENvZGVCbG9ja0dldHRlciwgZnVuY3Rpb25D
b2RlQmxvY2tTZXR0ZXIsIF9sbGludF9lbnRyeV9vc3JfZnVuY3Rpb25fZm9yX2NhbGxfYXJpdHlD
aGVjaywgX2xsaW50X3RyYWNlX2FyaXR5Q2hlY2tfZm9yX2NhbGwpCisgICAgZnVuY3Rpb25Bcml0
eUNoZWNrKC5mdW5jdGlvbkZvckNhbGxCZWdpbiwgX3Nsb3dfcGF0aF9jYWxsX2FyaXR5Q2hlY2sp
CisuZnVuY3Rpb25Gb3JDYWxsQmVnaW46CisgICAgZnVuY3Rpb25Jbml0aWFsaXphdGlvbigwKQor
ICAgIGRpc3BhdGNoKDApCisKKworX2xsaW50X2Z1bmN0aW9uX2Zvcl9jb25zdHJ1Y3RfYXJpdHlf
Y2hlY2s6CisgICAgcHJvbG9ndWUoZnVuY3Rpb25Gb3JDb25zdHJ1Y3RDb2RlQmxvY2tHZXR0ZXIs
IGZ1bmN0aW9uQ29kZUJsb2NrU2V0dGVyLCBfbGxpbnRfZW50cnlfb3NyX2Z1bmN0aW9uX2Zvcl9j
b25zdHJ1Y3RfYXJpdHlDaGVjaywgX2xsaW50X3RyYWNlX2FyaXR5Q2hlY2tfZm9yX2NvbnN0cnVj
dCkKKyAgICBmdW5jdGlvbkFyaXR5Q2hlY2soLmZ1bmN0aW9uRm9yQ29uc3RydWN0QmVnaW4sIF9z
bG93X3BhdGhfY29uc3RydWN0X2FyaXR5Q2hlY2spCisuZnVuY3Rpb25Gb3JDb25zdHJ1Y3RCZWdp
bjoKKyAgICBmdW5jdGlvbkluaXRpYWxpemF0aW9uKDEpCisgICAgZGlzcGF0Y2goMCkKKworCisj
IFZhbHVlLXJlcHJlc2VudGF0aW9uLXNwZWNpZmljIGNvZGUuCitpZiBKU1ZBTFVFNjQKKyAgICBp
bmNsdWRlIExvd0xldmVsSW50ZXJwcmV0ZXI2NAorZWxzZQorICAgIGluY2x1ZGUgTG93TGV2ZWxJ
bnRlcnByZXRlcjMyXzY0CitlbmQKKworCisjIFZhbHVlLXJlcHJlc2VudGF0aW9uLWFnbm9zdGlj
IGNvZGUuCitfbGxpbnRfb3BfY3JlYXRlX2RpcmVjdF9hcmd1bWVudHM6CisgICAgdHJhY2VFeGVj
dXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2NyZWF0ZV9kaXJlY3Rf
YXJndW1lbnRzKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9jcmVhdGVfZGlyZWN0X2FyZ3Vt
ZW50c19sZW5ndGgpCisKKworX2xsaW50X29wX2NyZWF0ZV9zY29wZWRfYXJndW1lbnRzOgorICAg
IHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9jcmVh
dGVfc2NvcGVkX2FyZ3VtZW50cykKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfY3JlYXRlX3Nj
b3BlZF9hcmd1bWVudHNfbGVuZ3RoKQorCisKK19sbGludF9vcF9jcmVhdGVfY2xvbmVkX2FyZ3Vt
ZW50czoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93
X3BhdGhfY3JlYXRlX2Nsb25lZF9hcmd1bWVudHMpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9w
X2NyZWF0ZV9jbG9uZWRfYXJndW1lbnRzX2xlbmd0aCkKKworCitfbGxpbnRfb3BfY3JlYXRlX3Ro
aXM6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19w
YXRoX2NyZWF0ZV90aGlzKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9jcmVhdGVfdGhpc19s
ZW5ndGgpCisKKworX2xsaW50X29wX25ld19vYmplY3Q6CisgICAgdHJhY2VFeGVjdXRpb24oKQor
ICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19vYmplY3QpCisgICAg
ZGlzcGF0Y2goY29uc3RleHByIG9wX25ld19vYmplY3RfbGVuZ3RoKQorCisKK19sbGludF9vcF9u
ZXdfZnVuYzoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9s
bGludF9zbG93X3BhdGhfbmV3X2Z1bmMpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX25ld19m
dW5jX2xlbmd0aCkKKworCitfbGxpbnRfb3BfbmV3X2dlbmVyYXRvcl9mdW5jOgorICAgIHRyYWNl
RXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdf
Z2VuZXJhdG9yX2Z1bmMpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX25ld19nZW5lcmF0b3Jf
ZnVuY19sZW5ndGgpCisKKworX2xsaW50X29wX25ld19hc3luY19mdW5jOgorICAgIHRyYWNlRXhl
Y3V0aW9uKCkKKyAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfYXN5bmNfZnVu
YykKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfbmV3X2FzeW5jX2Z1bmNfbGVuZ3RoKQorCisK
K19sbGludF9vcF9uZXdfYXJyYXk6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNv
ZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19hcnJheSkKKyAgICBkaXNwYXRjaChjb25z
dGV4cHIgb3BfbmV3X2FycmF5X2xlbmd0aCkKKworCitfbGxpbnRfb3BfbmV3X2FycmF5X3dpdGhf
c3ByZWFkOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Ns
b3dfcGF0aF9uZXdfYXJyYXlfd2l0aF9zcHJlYWQpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9w
X25ld19hcnJheV93aXRoX3NwcmVhZF9sZW5ndGgpCisKKworX2xsaW50X29wX3NwcmVhZDoKKyAg
ICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfc3By
ZWFkKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9zcHJlYWRfbGVuZ3RoKQorCisKK19sbGlu
dF9vcF9uZXdfYXJyYXlfd2l0aF9zaXplOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxs
T3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfYXJyYXlfd2l0aF9zaXplKQorICAg
IGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9uZXdfYXJyYXlfd2l0aF9zaXplX2xlbmd0aCkKKworCitf
bGxpbnRfb3BfbmV3X2FycmF5X2J1ZmZlcjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2Fs
bE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2FycmF5X2J1ZmZlcikKKyAgICBk
aXNwYXRjaChjb25zdGV4cHIgb3BfbmV3X2FycmF5X2J1ZmZlcl9sZW5ndGgpCisKKworX2xsaW50
X29wX25ld19yZWdleHA6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93
UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19yZWdleHApCisgICAgZGlzcGF0Y2goY29uc3RleHBy
IG9wX25ld19yZWdleHBfbGVuZ3RoKQorCisKK19sbGludF9vcF9sZXNzOgorICAgIHRyYWNlRXhl
Y3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9sZXNzKQorICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciBvcF9sZXNzX2xlbmd0aCkKKworCitfbGxpbnRfb3BfbGVzc2VxOgor
ICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9s
ZXNzZXEpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2xlc3NlcV9sZW5ndGgpCisKKworX2xs
aW50X29wX2dyZWF0ZXI6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93
UGF0aChfc2xvd19wYXRoX2dyZWF0ZXIpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2dyZWF0
ZXJfbGVuZ3RoKQorCisKK19sbGludF9vcF9ncmVhdGVyZXE6CisgICAgdHJhY2VFeGVjdXRpb24o
KQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2dyZWF0ZXJlcSkKKyAgICBkaXNw
YXRjaChjb25zdGV4cHIgb3BfZ3JlYXRlcmVxX2xlbmd0aCkKKworCitfbGxpbnRfb3BfbW9kOgor
ICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9t
b2QpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX21vZF9sZW5ndGgpCisKKworX2xsaW50X29w
X3BvdzoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93
X3BhdGhfcG93KQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wb3dfbGVuZ3RoKQorCisKK19s
bGludF9vcF90eXBlb2Y6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93
UGF0aChfc2xvd19wYXRoX3R5cGVvZikKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfdHlwZW9m
X2xlbmd0aCkKKworCitfbGxpbnRfb3BfaXNfb2JqZWN0X29yX251bGw6CisgICAgdHJhY2VFeGVj
dXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2lzX29iamVjdF9vcl9u
dWxsKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9pc19vYmplY3Rfb3JfbnVsbF9sZW5ndGgp
CisKK19sbGludF9vcF9pc19mdW5jdGlvbjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2Fs
bE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfaXNfZnVuY3Rpb24pCisgICAgZGlzcGF0Y2goY29u
c3RleHByIG9wX2lzX2Z1bmN0aW9uX2xlbmd0aCkKKworCitfbGxpbnRfb3BfaW46CisgICAgdHJh
Y2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2luKQorICAg
IGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9pbl9sZW5ndGgpCisKKworX2xsaW50X29wX3RyeV9nZXRf
YnlfaWQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxp
bnRfc2xvd19wYXRoX3RyeV9nZXRfYnlfaWQpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3Ry
eV9nZXRfYnlfaWRfbGVuZ3RoKQorCisKK19sbGludF9vcF9kZWxfYnlfaWQ6CisgICAgdHJhY2VF
eGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2RlbF9i
eV9pZCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZGVsX2J5X2lkX2xlbmd0aCkKKworCitf
bGxpbnRfb3BfZGVsX2J5X3ZhbDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29k
ZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfZGVsX2J5X3ZhbCkKKyAgICBkaXNwYXRjaChjb25z
dGV4cHIgb3BfZGVsX2J5X3ZhbF9sZW5ndGgpCisKKworX2xsaW50X29wX3B1dF9ieV9pbmRleDoK
KyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93
X3BhdGhfcHV0X2J5X2luZGV4KQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wdXRfYnlfaW5k
ZXhfbGVuZ3RoKQorCisKK19sbGludF9vcF9wdXRfZ2V0dGVyX2J5X2lkOgorICAgIHRyYWNlRXhl
Y3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9wdXRfZ2V0
dGVyX2J5X2lkKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wdXRfZ2V0dGVyX2J5X2lkX2xl
bmd0aCkKKworCitfbGxpbnRfb3BfcHV0X3NldHRlcl9ieV9pZDoKKyAgICB0cmFjZUV4ZWN1dGlv
bigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfcHV0X3NldHRlcl9i
eV9pZCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfcHV0X3NldHRlcl9ieV9pZF9sZW5ndGgp
CisKKworX2xsaW50X29wX3B1dF9nZXR0ZXJfc2V0dGVyX2J5X2lkOgorICAgIHRyYWNlRXhlY3V0
aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9wdXRfZ2V0dGVy
X3NldHRlcl9ieV9pZCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfcHV0X2dldHRlcl9zZXR0
ZXJfYnlfaWRfbGVuZ3RoKQorCisKK19sbGludF9vcF9wdXRfZ2V0dGVyX2J5X3ZhbDoKKyAgICB0
cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhf
cHV0X2dldHRlcl9ieV92YWwpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3B1dF9nZXR0ZXJf
YnlfdmFsX2xlbmd0aCkKKworCitfbGxpbnRfb3BfcHV0X3NldHRlcl9ieV92YWw6CisgICAgdHJh
Y2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX3B1
dF9zZXR0ZXJfYnlfdmFsKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wdXRfc2V0dGVyX2J5
X3ZhbF9sZW5ndGgpCisKKworX2xsaW50X29wX2RlZmluZV9kYXRhX3Byb3BlcnR5OgorICAgIHRy
YWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9kZWZpbmVf
ZGF0YV9wcm9wZXJ0eSkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZGVmaW5lX2RhdGFfcHJv
cGVydHlfbGVuZ3RoKQorCisKK19sbGludF9vcF9kZWZpbmVfYWNjZXNzb3JfcHJvcGVydHk6Cisg
ICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2Rl
ZmluZV9hY2Nlc3Nvcl9wcm9wZXJ0eSkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZGVmaW5l
X2FjY2Vzc29yX3Byb3BlcnR5X2xlbmd0aCkKKworCitfbGxpbnRfb3BfanRydWU6CisgICAgdHJh
Y2VFeGVjdXRpb24oKQorICAgIGp1bXBUcnVlT3JGYWxzZSgKKyAgICAgICAgbWFjcm8gKHZhbHVl
LCB0YXJnZXQpIGJ0aW56IHZhbHVlLCB0YXJnZXQgZW5kLAorICAgICAgICBfbGxpbnRfc2xvd19w
YXRoX2p0cnVlKQorCisKK19sbGludF9vcF9qZmFsc2U6CisgICAgdHJhY2VFeGVjdXRpb24oKQor
ICAgIGp1bXBUcnVlT3JGYWxzZSgKKyAgICAgICAgbWFjcm8gKHZhbHVlLCB0YXJnZXQpIGJ0aXog
dmFsdWUsIHRhcmdldCBlbmQsCisgICAgICAgIF9sbGludF9zbG93X3BhdGhfamZhbHNlKQorCisK
K19sbGludF9vcF9qbGVzczoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY29tcGFyZSgKKyAg
ICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0LCB0YXJnZXQpIGJpbHQgbGVmdCwgcmlnaHQsIHRhcmdl
dCBlbmQsCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwgdGFyZ2V0KSBiZGx0IGxlZnQsIHJp
Z2h0LCB0YXJnZXQgZW5kLAorICAgICAgICBfbGxpbnRfc2xvd19wYXRoX2psZXNzKQorCisKK19s
bGludF9vcF9qbmxlc3M6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNvbXBhcmUoCisgICAg
ICAgIG1hY3JvIChsZWZ0LCByaWdodCwgdGFyZ2V0KSBiaWd0ZXEgbGVmdCwgcmlnaHQsIHRhcmdl
dCBlbmQsCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwgdGFyZ2V0KSBiZGd0ZXF1biBsZWZ0
LCByaWdodCwgdGFyZ2V0IGVuZCwKKyAgICAgICAgX2xsaW50X3Nsb3dfcGF0aF9qbmxlc3MpCisK
KworX2xsaW50X29wX2pncmVhdGVyOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjb21wYXJl
KAorICAgICAgICBtYWNybyAobGVmdCwgcmlnaHQsIHRhcmdldCkgYmlndCBsZWZ0LCByaWdodCwg
dGFyZ2V0IGVuZCwKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0LCB0YXJnZXQpIGJkZ3QgbGVm
dCwgcmlnaHQsIHRhcmdldCBlbmQsCisgICAgICAgIF9sbGludF9zbG93X3BhdGhfamdyZWF0ZXIp
CisKKworX2xsaW50X29wX2puZ3JlYXRlcjoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY29t
cGFyZSgKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0LCB0YXJnZXQpIGJpbHRlcSBsZWZ0LCBy
aWdodCwgdGFyZ2V0IGVuZCwKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0LCB0YXJnZXQpIGJk
bHRlcXVuIGxlZnQsIHJpZ2h0LCB0YXJnZXQgZW5kLAorICAgICAgICBfbGxpbnRfc2xvd19wYXRo
X2puZ3JlYXRlcikKKworCitfbGxpbnRfb3Bfamxlc3NlcToKKyAgICB0cmFjZUV4ZWN1dGlvbigp
CisgICAgY29tcGFyZSgKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0LCB0YXJnZXQpIGJpbHRl
cSBsZWZ0LCByaWdodCwgdGFyZ2V0IGVuZCwKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0LCB0
YXJnZXQpIGJkbHRlcSBsZWZ0LCByaWdodCwgdGFyZ2V0IGVuZCwKKyAgICAgICAgX2xsaW50X3Ns
b3dfcGF0aF9qbGVzc2VxKQorCisKK19sbGludF9vcF9qbmxlc3NlcToKKyAgICB0cmFjZUV4ZWN1
dGlvbigpCisgICAgY29tcGFyZSgKKyAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0LCB0YXJnZXQp
IGJpZ3QgbGVmdCwgcmlnaHQsIHRhcmdldCBlbmQsCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdo
dCwgdGFyZ2V0KSBiZGd0dW4gbGVmdCwgcmlnaHQsIHRhcmdldCBlbmQsCisgICAgICAgIF9sbGlu
dF9zbG93X3BhdGhfam5sZXNzZXEpCisKKworX2xsaW50X29wX2pncmVhdGVyZXE6CisgICAgdHJh
Y2VFeGVjdXRpb24oKQorICAgIGNvbXBhcmUoCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwg
dGFyZ2V0KSBiaWd0ZXEgbGVmdCwgcmlnaHQsIHRhcmdldCBlbmQsCisgICAgICAgIG1hY3JvIChs
ZWZ0LCByaWdodCwgdGFyZ2V0KSBiZGd0ZXEgbGVmdCwgcmlnaHQsIHRhcmdldCBlbmQsCisgICAg
ICAgIF9sbGludF9zbG93X3BhdGhfamdyZWF0ZXJlcSkKKworCitfbGxpbnRfb3Bfam5ncmVhdGVy
ZXE6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNvbXBhcmUoCisgICAgICAgIG1hY3JvIChs
ZWZ0LCByaWdodCwgdGFyZ2V0KSBiaWx0IGxlZnQsIHJpZ2h0LCB0YXJnZXQgZW5kLAorICAgICAg
ICBtYWNybyAobGVmdCwgcmlnaHQsIHRhcmdldCkgYmRsdHVuIGxlZnQsIHJpZ2h0LCB0YXJnZXQg
ZW5kLAorICAgICAgICBfbGxpbnRfc2xvd19wYXRoX2puZ3JlYXRlcmVxKQorCisKK19sbGludF9v
cF9sb29wX2hpbnQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNoZWNrU3dpdGNoVG9KSVRG
b3JMb29wKCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfbG9vcF9oaW50X2xlbmd0aCkKKwor
CitfbGxpbnRfb3BfY2hlY2tfdHJhcHM6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGxvYWRw
IENvZGVCbG9ja1tjZnJdLCB0MQorICAgIGxvYWRwIENvZGVCbG9jazo6bV92bVt0MV0sIHQxCisg
ICAgbG9hZGIgVk06Om1fdHJhcHMrVk1UcmFwczo6bV9uZWVkVHJhcEhhbmRsaW5nW3QxXSwgdDAK
KyAgICBidHBueiB0MCwgLmhhbmRsZVRyYXBzCisuYWZ0ZXJIYW5kbGluZ1RyYXBzOgorICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciBvcF9jaGVja190cmFwc19sZW5ndGgpCisuaGFuZGxlVHJhcHM6Cisg
ICAgY2FsbFRyYXBIYW5kbGVyKC50aHJvd0hhbmRsZXIpCisgICAgam1wIC5hZnRlckhhbmRsaW5n
VHJhcHMKKy50aHJvd0hhbmRsZXI6CisgICAgam1wIF9sbGludF90aHJvd19mcm9tX3Nsb3dfcGF0
aF90cmFtcG9saW5lCisKKworIyBSZXR1cm5zIHRoZSBwYWNrZXQgcG9pbnRlciBpbiB0MC4KK21h
Y3JvIGFjcXVpcmVTaGFkb3dDaGlja2VuUGFja2V0KHNsb3cpCisgICAgbG9hZHAgQ29kZUJsb2Nr
W2Nmcl0sIHQxCisgICAgbG9hZHAgQ29kZUJsb2NrOjptX3ZtW3QxXSwgdDEKKyAgICBsb2FkcCBW
TTo6bV9zaGFkb3dDaGlja2VuW3QxXSwgdDIKKyAgICBsb2FkcCBTaGFkb3dDaGlja2VuOjptX2xv
Z0N1cnNvclt0Ml0sIHQwCisgICAgYnBhZXEgdDAsIFNoYWRvd0NoaWNrZW46Om1fbG9nRW5kW3Qy
XSwgc2xvdworICAgIGFkZHAgc2l6ZW9mIFNoYWRvd0NoaWNrZW46OlBhY2tldCwgdDAsIHQxCisg
ICAgc3RvcmVwIHQxLCBTaGFkb3dDaGlja2VuOjptX2xvZ0N1cnNvclt0Ml0KK2VuZAorCisKK19s
bGludF9vcF9ub3A6CisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX25vcF9sZW5ndGgpCisKKwor
X2xsaW50X29wX3N3aXRjaF9zdHJpbmc6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxP
cGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX3N3aXRjaF9zdHJpbmcpCisgICAgZGlzcGF0
Y2goMCkKKworCitfbGxpbnRfb3BfbmV3X2Z1bmNfZXhwOgorICAgIHRyYWNlRXhlY3V0aW9uKCkK
KyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfZnVuY19leHApCisg
ICAgZGlzcGF0Y2goY29uc3RleHByIG9wX25ld19mdW5jX2V4cF9sZW5ndGgpCisKK19sbGludF9v
cF9uZXdfZ2VuZXJhdG9yX2Z1bmNfZXhwOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxs
T3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfZ2VuZXJhdG9yX2Z1bmNfZXhwKQor
ICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9uZXdfZ2VuZXJhdG9yX2Z1bmNfZXhwX2xlbmd0aCkK
KworX2xsaW50X29wX25ld19hc3luY19mdW5jX2V4cDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisg
ICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2FzeW5jX2Z1bmNfZXhwKQorICAg
IGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9uZXdfYXN5bmNfZnVuY19leHBfbGVuZ3RoKQorCisKK19s
bGludF9vcF9zZXRfZnVuY3Rpb25fbmFtZToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2Fs
bE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfc2V0X2Z1bmN0aW9uX25hbWUpCisgICAg
ZGlzcGF0Y2goY29uc3RleHByIG9wX3NldF9mdW5jdGlvbl9uYW1lX2xlbmd0aCkKKworX2xsaW50
X29wX2NhbGw6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGFycmF5UHJvZmlsZUZvckNhbGwo
KQorICAgIGRvQ2FsbChfbGxpbnRfc2xvd19wYXRoX2NhbGwsIHByZXBhcmVGb3JSZWd1bGFyQ2Fs
bCkKKworX2xsaW50X29wX3RhaWxfY2FsbDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgYXJy
YXlQcm9maWxlRm9yQ2FsbCgpCisgICAgY2hlY2tTd2l0Y2hUb0pJVEZvckVwaWxvZ3VlKCkKKyAg
ICBkb0NhbGwoX2xsaW50X3Nsb3dfcGF0aF9jYWxsLCBwcmVwYXJlRm9yVGFpbENhbGwpCisKK19s
bGludF9vcF9jb25zdHJ1Y3Q6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGRvQ2FsbChfbGxp
bnRfc2xvd19wYXRoX2NvbnN0cnVjdCwgcHJlcGFyZUZvclJlZ3VsYXJDYWxsKQorCittYWNybyBk
b0NhbGxWYXJhcmdzKGZyYW1lU2xvd1BhdGgsIHNsb3dQYXRoLCBwcmVwYXJlQ2FsbCkKKyAgICBj
YWxsT3Bjb2RlU2xvd1BhdGgoZnJhbWVTbG93UGF0aCkKKyAgICBicmFuY2hJZkV4Y2VwdGlvbihf
bGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZSkKKyAgICAjIGNhbGxlZUZyYW1l
IGluIHIxCisgICAgaWYgSlNWQUxVRTY0CisgICAgICAgIG1vdmUgcjEsIHNwCisgICAgZWxzZQor
ICAgICAgICAjIFRoZSBjYWxsZWVGcmFtZSBpcyBub3Qgc3RhY2sgYWxpZ25lZCwgbW92ZSBkb3du
IGJ5IENhbGxlckZyYW1lQW5kUENTaXplIHRvIGFsaWduCisgICAgICAgIGlmIEFSTXY3CisgICAg
ICAgICAgICBzdWJwIHIxLCBDYWxsZXJGcmFtZUFuZFBDU2l6ZSwgdDIKKyAgICAgICAgICAgIG1v
dmUgdDIsIHNwCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHN1YnAgcjEsIENhbGxlckZyYW1l
QW5kUENTaXplLCBzcAorICAgICAgICBlbmQKKyAgICBlbmQKKyAgICBzbG93UGF0aEZvckNhbGwo
c2xvd1BhdGgsIHByZXBhcmVDYWxsKQorZW5kCisKK19sbGludF9vcF9jYWxsX3ZhcmFyZ3M6Cisg
ICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGRvQ2FsbFZhcmFyZ3MoX2xsaW50X3Nsb3dfcGF0aF9z
aXplX2ZyYW1lX2Zvcl92YXJhcmdzLCBfbGxpbnRfc2xvd19wYXRoX2NhbGxfdmFyYXJncywgcHJl
cGFyZUZvclJlZ3VsYXJDYWxsKQorCitfbGxpbnRfb3BfdGFpbF9jYWxsX3ZhcmFyZ3M6CisgICAg
dHJhY2VFeGVjdXRpb24oKQorICAgIGNoZWNrU3dpdGNoVG9KSVRGb3JFcGlsb2d1ZSgpCisgICAg
IyBXZSBsaWUgYW5kIHBlcmZvcm0gdGhlIHRhaWwgY2FsbCBpbnN0ZWFkIG9mIHByZXBhcmluZyBp
dCBzaW5jZSB3ZSBjYW4ndAorICAgICMgcHJlcGFyZSB0aGUgZnJhbWUgZm9yIGEgY2FsbCBvcGNv
ZGUKKyAgICBkb0NhbGxWYXJhcmdzKF9sbGludF9zbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFy
YXJncywgX2xsaW50X3Nsb3dfcGF0aF9jYWxsX3ZhcmFyZ3MsIHByZXBhcmVGb3JUYWlsQ2FsbCkK
KworCitfbGxpbnRfb3BfdGFpbF9jYWxsX2ZvcndhcmRfYXJndW1lbnRzOgorICAgIHRyYWNlRXhl
Y3V0aW9uKCkKKyAgICBjaGVja1N3aXRjaFRvSklURm9yRXBpbG9ndWUoKQorICAgICMgV2UgbGll
IGFuZCBwZXJmb3JtIHRoZSB0YWlsIGNhbGwgaW5zdGVhZCBvZiBwcmVwYXJpbmcgaXQgc2luY2Ug
d2UgY2FuJ3QKKyAgICAjIHByZXBhcmUgdGhlIGZyYW1lIGZvciBhIGNhbGwgb3Bjb2RlCisgICAg
ZG9DYWxsVmFyYXJncyhfbGxpbnRfc2xvd19wYXRoX3NpemVfZnJhbWVfZm9yX2ZvcndhcmRfYXJn
dW1lbnRzLCBfbGxpbnRfc2xvd19wYXRoX3RhaWxfY2FsbF9mb3J3YXJkX2FyZ3VtZW50cywgcHJl
cGFyZUZvclRhaWxDYWxsKQorCisKK19sbGludF9vcF9jb25zdHJ1Y3RfdmFyYXJnczoKKyAgICB0
cmFjZUV4ZWN1dGlvbigpCisgICAgZG9DYWxsVmFyYXJncyhfbGxpbnRfc2xvd19wYXRoX3NpemVf
ZnJhbWVfZm9yX3ZhcmFyZ3MsIF9sbGludF9zbG93X3BhdGhfY29uc3RydWN0X3ZhcmFyZ3MsIHBy
ZXBhcmVGb3JSZWd1bGFyQ2FsbCkKKworCitfbGxpbnRfb3BfY2FsbF9ldmFsOgorICAgIHRyYWNl
RXhlY3V0aW9uKCkKKyAgICAKKyAgICAjIEV2YWwgaXMgZXhlY3V0ZWQgaW4gb25lIG9mIHR3byBt
b2RlczoKKyAgICAjCisgICAgIyAxKSBXZSBmaW5kIHRoYXQgd2UncmUgcmVhbGx5IGludm9raW5n
IGV2YWwoKSBpbiB3aGljaCBjYXNlIHRoZQorICAgICMgICAgZXhlY3V0aW9uIGlzIHBlcmZvbWVk
IGVudGlyZWx5IGluc2lkZSB0aGUgc2xvd19wYXRoLCBhbmQgaXQKKyAgICAjICAgIHJldHVybnMg
dGhlIFBDIG9mIGEgZnVuY3Rpb24gdGhhdCBqdXN0IHJldHVybnMgdGhlIHJldHVybiB2YWx1ZQor
ICAgICMgICAgdGhhdCB0aGUgZXZhbCByZXR1cm5lZC4KKyAgICAjCisgICAgIyAyKSBXZSBmaW5k
IHRoYXQgd2UncmUgaW52b2tpbmcgc29tZXRoaW5nIGNhbGxlZCBldmFsKCkgdGhhdCBpcyBub3QK
KyAgICAjICAgIHRoZSByZWFsIGV2YWwuIFRoZW4gdGhlIHNsb3dfcGF0aCByZXR1cm5zIHRoZSBQ
QyBvZiB0aGUgdGhpbmcgdG8KKyAgICAjICAgIGNhbGwsIGFuZCB3ZSBjYWxsIGl0LgorICAgICMK
KyAgICAjIFRoaXMgYWxsb3dzIHVzIHRvIGhhbmRsZSB0d28gY2FzZXMsIHdoaWNoIHdvdWxkIHJl
cXVpcmUgYSB0b3RhbCBvZgorICAgICMgdXAgdG8gZm91ciBwaWVjZXMgb2Ygc3RhdGUgdGhhdCBj
YW5ub3QgYmUgZWFzaWx5IHBhY2tlZCBpbnRvIHR3bworICAgICMgcmVnaXN0ZXJzIChDIGZ1bmN0
aW9ucyBjYW4gcmV0dXJuIHVwIHRvIHR3byByZWdpc3RlcnMsIGVhc2lseSk6CisgICAgIworICAg
ICMgLSBUaGUgY2FsbCBmcmFtZSByZWdpc3Rlci4gVGhpcyBtYXkgb3IgbWF5IG5vdCBoYXZlIGJl
ZW4gbW9kaWZpZWQKKyAgICAjICAgYnkgdGhlIHNsb3dfcGF0aCwgYnV0IHRoZSBjb252ZW50aW9u
IGlzIHRoYXQgaXQgcmV0dXJucyBpdC4gSXQncyBub3QKKyAgICAjICAgdG90YWxseSBjbGVhciBp
ZiB0aGF0J3MgbmVjZXNzYXJ5LCBzaW5jZSB0aGUgY2ZyIGlzIGNhbGxlZSBzYXZlLgorICAgICMg
ICBCdXQgdGhhdCdzIG91ciBzdHlsZSBpbiB0aGlzIGhlcmUgaW50ZXJwcmV0ZXIgc28gd2Ugc3Rp
Y2sgd2l0aCBpdC4KKyAgICAjCisgICAgIyAtIEEgYml0IHRvIHNheSBpZiB0aGUgc2xvd19wYXRo
IHN1Y2Nlc3NmdWxseSBleGVjdXRlZCB0aGUgZXZhbCBhbmQgaGFzCisgICAgIyAgIHRoZSByZXR1
cm4gdmFsdWUsIG9yIGRpZCBub3QgZXhlY3V0ZSB0aGUgZXZhbCBidXQgaGFzIGEgUEMgZm9yIHVz
CisgICAgIyAgIHRvIGNhbGwuCisgICAgIworICAgICMgLSBFaXRoZXI6CisgICAgIyAgIC0gVGhl
IEpTIHJldHVybiB2YWx1ZSAodHdvIHJlZ2lzdGVycyksIG9yCisgICAgIworICAgICMgICAtIFRo
ZSBQQyB0byBjYWxsLgorICAgICMKKyAgICAjIEl0IHR1cm5zIG91dCB0byBiZSBlYXNpZXIgdG8g
anVzdCBhbHdheXMgaGF2ZSB0aGlzIHJldHVybiB0aGUgY2ZyCisgICAgIyBhbmQgYSBQQyB0byBj
YWxsLCBhbmQgdGhhdCBQQyBtYXkgYmUgYSBkdW1teSB0aHVuayB0aGF0IGp1c3QKKyAgICAjIHJl
dHVybnMgdGhlIEpTIHZhbHVlIHRoYXQgdGhlIGV2YWwgcmV0dXJuZWQuCisgICAgCisgICAgc2xv
d1BhdGhGb3JDYWxsKF9sbGludF9zbG93X3BhdGhfY2FsbF9ldmFsLCBwcmVwYXJlRm9yUmVndWxh
ckNhbGwpCisKKworX2xsaW50X2dlbmVyaWNfcmV0dXJuX3BvaW50OgorICAgIGRpc3BhdGNoQWZ0
ZXJDYWxsKCkKKworCitfbGxpbnRfb3Bfc3RyY2F0OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9zdHJjYXQpCisgICAgZGlzcGF0Y2goY29u
c3RleHByIG9wX3N0cmNhdF9sZW5ndGgpCisKKworX2xsaW50X29wX3B1c2hfd2l0aF9zY29wZToK
KyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhf
cHVzaF93aXRoX3Njb3BlKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9wdXNoX3dpdGhfc2Nv
cGVfbGVuZ3RoKQorCisKK19sbGludF9vcF9hc3NlcnQ6CisgICAgdHJhY2VFeGVjdXRpb24oKQor
ICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2Fzc2VydCkKKyAgICBkaXNwYXRjaChj
b25zdGV4cHIgb3BfYXNzZXJ0X2xlbmd0aCkKKworCitfbGxpbnRfb3BfdW5yZWFjaGFibGU6Cisg
ICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3Vu
cmVhY2hhYmxlKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF91bnJlYWNoYWJsZV9sZW5ndGgp
CisKKworX2xsaW50X29wX3lpZWxkOgorICAgIG5vdFN1cHBvcnRlZCgpCisKKworX2xsaW50X29w
X2NyZWF0ZV9sZXhpY2FsX2Vudmlyb25tZW50OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBj
YWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudCkK
KyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnRfbGVu
Z3RoKQorCisKK19sbGludF9vcF90aHJvdzoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2Fs
bE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfdGhyb3cpCisgICAgZGlzcGF0Y2goY29u
c3RleHByIG9wX3Rocm93X2xlbmd0aCkKKworCitfbGxpbnRfb3BfdGhyb3dfc3RhdGljX2Vycm9y
OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0
aF90aHJvd19zdGF0aWNfZXJyb3IpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX3Rocm93X3N0
YXRpY19lcnJvcl9sZW5ndGgpCisKKworX2xsaW50X29wX2RlYnVnOgorICAgIHRyYWNlRXhlY3V0
aW9uKCkKKyAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDAKKyAgICBsb2FkaSBDb2RlQmxvY2s6
Om1fZGVidWdnZXJSZXF1ZXN0c1t0MF0sIHQwCisgICAgYnRpeiB0MCwgLm9wRGVidWdEb25lCisg
ICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfZGVidWcpCisub3BEZWJ1Z0Rv
bmU6ICAgICAgICAgICAgICAgICAgICAKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZGVidWdf
bGVuZ3RoKQorCisKK19sbGludF9uYXRpdmVfY2FsbF90cmFtcG9saW5lOgorICAgIG5hdGl2ZUNh
bGxUcmFtcG9saW5lKE5hdGl2ZUV4ZWN1dGFibGU6Om1fZnVuY3Rpb24pCisKKworX2xsaW50X25h
dGl2ZV9jb25zdHJ1Y3RfdHJhbXBvbGluZToKKyAgICBuYXRpdmVDYWxsVHJhbXBvbGluZShOYXRp
dmVFeGVjdXRhYmxlOjptX2NvbnN0cnVjdG9yKQorCitfbGxpbnRfb3BfZ2V0X2VudW1lcmFibGVf
bGVuZ3RoOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Ns
b3dfcGF0aF9nZXRfZW51bWVyYWJsZV9sZW5ndGgpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9w
X2dldF9lbnVtZXJhYmxlX2xlbmd0aF9sZW5ndGgpCisKK19sbGludF9vcF9oYXNfaW5kZXhlZF9w
cm9wZXJ0eToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9z
bG93X3BhdGhfaGFzX2luZGV4ZWRfcHJvcGVydHkpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9w
X2hhc19pbmRleGVkX3Byb3BlcnR5X2xlbmd0aCkKKworX2xsaW50X29wX2hhc19zdHJ1Y3R1cmVf
cHJvcGVydHk6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChf
c2xvd19wYXRoX2hhc19zdHJ1Y3R1cmVfcHJvcGVydHkpCisgICAgZGlzcGF0Y2goY29uc3RleHBy
IG9wX2hhc19zdHJ1Y3R1cmVfcHJvcGVydHlfbGVuZ3RoKQorCitfbGxpbnRfb3BfaGFzX2dlbmVy
aWNfcHJvcGVydHk6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0
aChfc2xvd19wYXRoX2hhc19nZW5lcmljX3Byb3BlcnR5KQorICAgIGRpc3BhdGNoKGNvbnN0ZXhw
ciBvcF9oYXNfZ2VuZXJpY19wcm9wZXJ0eV9sZW5ndGgpCisKK19sbGludF9vcF9nZXRfZGlyZWN0
X3BuYW1lOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Ns
b3dfcGF0aF9nZXRfZGlyZWN0X3BuYW1lKQorICAgIGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRf
ZGlyZWN0X3BuYW1lX2xlbmd0aCkKKworX2xsaW50X29wX2dldF9wcm9wZXJ0eV9lbnVtZXJhdG9y
OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0
aF9nZXRfcHJvcGVydHlfZW51bWVyYXRvcikKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0
X3Byb3BlcnR5X2VudW1lcmF0b3JfbGVuZ3RoKQorCitfbGxpbnRfb3BfZW51bWVyYXRvcl9zdHJ1
Y3R1cmVfcG5hbWU6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0
aChfc2xvd19wYXRoX25leHRfc3RydWN0dXJlX2VudW1lcmF0b3JfcG5hbWUpCisgICAgZGlzcGF0
Y2goY29uc3RleHByIG9wX2VudW1lcmF0b3Jfc3RydWN0dXJlX3BuYW1lX2xlbmd0aCkKKworX2xs
aW50X29wX2VudW1lcmF0b3JfZ2VuZXJpY19wbmFtZToKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisg
ICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfbmV4dF9nZW5lcmljX2VudW1lcmF0b3Jf
cG5hbWUpCisgICAgZGlzcGF0Y2goY29uc3RleHByIG9wX2VudW1lcmF0b3JfZ2VuZXJpY19wbmFt
ZV9sZW5ndGgpCisKK19sbGludF9vcF90b19pbmRleF9zdHJpbmc6CisgICAgdHJhY2VFeGVjdXRp
b24oKQorICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3RvX2luZGV4X3N0cmluZykK
KyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfdG9faW5kZXhfc3RyaW5nX2xlbmd0aCkKKworX2xs
aW50X29wX2NyZWF0ZV9yZXN0OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2Rl
U2xvd1BhdGgoX3Nsb3dfcGF0aF9jcmVhdGVfcmVzdCkKKyAgICBkaXNwYXRjaChjb25zdGV4cHIg
b3BfY3JlYXRlX3Jlc3RfbGVuZ3RoKQorCitfbGxpbnRfb3BfaW5zdGFuY2VvZjoKKyAgICB0cmFj
ZUV4ZWN1dGlvbigpCisgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfaW5z
dGFuY2VvZikKKyAgICBkaXNwYXRjaChjb25zdGV4cHIgb3BfaW5zdGFuY2VvZl9sZW5ndGgpCisK
K19sbGludF9vcF9nZXRfYnlfaWRfd2l0aF90aGlzOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9nZXRfYnlfaWRfd2l0aF90aGlzKQorICAg
IGRpc3BhdGNoKGNvbnN0ZXhwciBvcF9nZXRfYnlfaWRfd2l0aF90aGlzX2xlbmd0aCkKKworX2xs
aW50X29wX2dldF9ieV92YWxfd2l0aF90aGlzOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBj
YWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9nZXRfYnlfdmFsX3dpdGhfdGhpcykKKyAgICBk
aXNwYXRjaChjb25zdGV4cHIgb3BfZ2V0X2J5X3ZhbF93aXRoX3RoaXNfbGVuZ3RoKQorCitfbGxp
bnRfb3BfcHV0X2J5X2lkX3dpdGhfdGhpczoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2Fs
bE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfcHV0X2J5X2lkX3dpdGhfdGhpcykKKyAgICBkaXNw
YXRjaChjb25zdGV4cHIgb3BfcHV0X2J5X2lkX3dpdGhfdGhpc19sZW5ndGgpCisKK19sbGludF9v
cF9wdXRfYnlfdmFsX3dpdGhfdGhpczoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbE9w
Y29kZVNsb3dQYXRoKF9zbG93X3BhdGhfcHV0X2J5X3ZhbF93aXRoX3RoaXMpCisgICAgZGlzcGF0
Y2goY29uc3RleHByIG9wX3B1dF9ieV92YWxfd2l0aF90aGlzX2xlbmd0aCkKKworX2xsaW50X29w
X3Jlc29sdmVfc2NvcGVfZm9yX2hvaXN0aW5nX2Z1bmNfZGVjbF9pbl9ldmFsOgorICAgIHRyYWNl
RXhlY3V0aW9uKCkKKyAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9yZXNvbHZlX3Nj
b3BlX2Zvcl9ob2lzdGluZ19mdW5jX2RlY2xfaW5fZXZhbCkKKyAgICBkaXNwYXRjaChjb25zdGV4
cHIgb3BfcmVzb2x2ZV9zY29wZV9mb3JfaG9pc3RpbmdfZnVuY19kZWNsX2luX2V2YWxfbGVuZ3Ro
KQorCisjIExhc3RseSwgbWFrZSBzdXJlIHRoYXQgd2UgY2FuIGxpbmsgZXZlbiB0aG91Z2ggd2Ug
ZG9uJ3Qgc3VwcG9ydCBhbGwgb3Bjb2Rlcy4KKyMgVGhlc2Ugb3Bjb2RlcyBzaG91bGQgbmV2ZXIg
YXJpc2Ugd2hlbiB1c2luZyBMTEludCBvciBlaXRoZXIgSklULiBXZSBhc3NlcnQKKyMgYXMgbXVj
aC4KKworbWFjcm8gbm90U3VwcG9ydGVkKCkKKyAgICBpZiBBU1NFUlRfRU5BQkxFRAorICAgICAg
ICBjcmFzaCgpCisgICAgZWxzZQorICAgICAgICAjIFdlIHNob3VsZCB1c2Ugd2hhdGV2ZXIgdGhl
IHNtYWxsZXN0IHBvc3NpYmxlIGluc3RydWN0aW9uIGlzLCBqdXN0IHRvCisgICAgICAgICMgZW5z
dXJlIHRoYXQgdGhlcmUgaXMgYSBnYXAgYmV0d2VlbiBpbnN0cnVjdGlvbiBsYWJlbHMuIElmIG11
bHRpcGxlCisgICAgICAgICMgc21hbGxlc3QgaW5zdHJ1Y3Rpb25zIGV4aXN0LCB3ZSBzaG91bGQg
cGljayB0aGUgb25lIHRoYXQgaXMgbW9zdAorICAgICAgICAjIGxpa2VseSByZXN1bHQgaW4gZXhl
Y3V0aW9uIGJlaW5nIGhhbHRlZC4gQ3VycmVudGx5IHRoYXQgaXMgdGhlIGJyZWFrCisgICAgICAg
ICMgaW5zdHJ1Y3Rpb24gb24gYWxsIGFyY2hpdGVjdHVyZXMgd2UncmUgaW50ZXJlc3RlZCBpbi4g
KEJyZWFrIGlzIGludDMKKyAgICAgICAgIyBvbiBJbnRlbCwgd2hpY2ggaXMgMSBieXRlLCBhbmQg
YmtwdCBvbiBBUk12Nywgd2hpY2ggaXMgMiBieXRlcy4pCisgICAgICAgIGJyZWFrCisgICAgZW5k
CitlbmQKK2A7CisKKyAgICBuZXcgRmlsZSgiTG93TGV2ZWxJbnRlcnByZXRlci5hc20iLCBzb3Vy
Y2UpOworfSkoKTsKKwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5jaC9PZmZsaW5lQXNz
ZW1ibGVyL2FzdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL1JleEJlbmNoL09m
ZmxpbmVBc3NlbWJsZXIvYXN0LmpzCShub25leGlzdGVudCkKKysrIFBlcmZvcm1hbmNlVGVzdHMv
UmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9hc3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxODQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworInVzZSBzdHJpY3QiOworCisvKgorICogQmFzZSB1dGlsaXR5IHR5cGVzIGZvciB0aGUgQVNU
LgorICoKKyAqIFZhbGlkIG1ldGhvZHMgZm9yIE5vZGU6CisgKgorICogbm9kZS5jaGlsZHJlbiAt
PiBSZXR1cm5zIGFuIGFycmF5IG9mIGltbWVkaWF0ZSBjaGlsZHJlbi4gIEl0IGhhcyBiZWVuIG1v
ZGlmaWVkIAorICogICAgIGZyb20gdGhlIG9yaWdpbmFsIFJ1YnkgdmVyc2lvbiB0byBkdW1wIGRp
cmVjdGx5IG5lYXJseSB0aGUgb3JpZ2luYWwgc291cmNlLgorICoKKyAqIG5vZGUuZGVzY2VuZGVu
dHMgLT4gUmV0dXJucyBhbiBhcnJheSBvZiBhbGwgc3RyaWN0IGRlc2NlbmRhbnRzIChjaGlsZHJl
bgorICogICAgIGFuZCBjaGlsZHJlbiBvZiBjaGlsZHJlbiwgdHJhbnNpdGl2ZWx5KS4KKyAqCisg
Ki8KKworY2xhc3MgTm9kZQoreworICAgIGNvbnN0cnVjdG9yKGNvZGVPcmlnaW4pCisgICAgewor
ICAgICAgICB0aGlzLl9jb2RlT3JpZ2luID0gY29kZU9yaWdpbjsKKyAgICB9CisKKyAgICBnZXQg
Y29kZU9yaWdpblN0cmluZygpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fY29kZU9yaWdp
bi50b1N0cmluZygpOworICAgIH0KKworICAgIGdldCBjb2RlT3JpZ2luKCkKKyAgICB7CisgICAg
ICAgIHJldHVybiB0aGlzLl9jb2RlT3JpZ2luOworICAgIH0KK30KKworY2xhc3MgTm9DaGlsZHJl
biBleHRlbmRzIE5vZGUKK3sKKyAgICBjb25zdHJ1Y3Rvcihjb2RlT3JpZ2luKQorICAgIHsKKyAg
ICAgICAgc3VwZXIoY29kZU9yaWdpbik7CisgICAgfQorCisgICAgY2hpbGRyZW4oKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIFtdOworICAgIH0KK30KKworZnVuY3Rpb24gc3RydWN0T2Zmc2V0S2V5
KHN0cnVjdCwgZmllbGQpCit7CisgICAgcmV0dXJuIHN0cnVjdCArICI6OiIgKyBmaWVsZDsKK30K
KworLy8gQVNUIG5vZGVzLgorCitjbGFzcyBTdHJ1Y3RPZmZzZXQgZXh0ZW5kcyBOb0NoaWxkcmVu
Cit7CisgICAgY29uc3RydWN0b3IoY29kZU9yaWdpbiwgc3RydWN0LCBmaWVsZCkKKyAgICB7Cisg
ICAgICAgIHN1cGVyKGNvZGVPcmlnaW4pOworICAgICAgICB0aGlzLl9zdHJ1Y3QgPSBzdHJ1Y3Q7
CisgICAgICAgIHRoaXMuX2ZpZWxkID0gZmllbGQ7CisgICAgfQorCisgICAgc3RhdGljIGZvckZp
ZWxkKGNvZGVPcmlnaW4sIHN0cnVjdCwgZmllbGQpCisgICAgeworICAgICAgICBsZXQga2V5ID0g
c3RydWN0T2Zmc2V0S2V5KHN0cnVjdCwgZmllbGQpOworCisgICAgICAgIGlmICghdGhpcy5tYXBw
aW5nW2tleV0pCisgICAgICAgICAgICB0aGlzLm1hcHBpbmdba2V5XSA9IG5ldyBTdHJ1Y3RPZmZz
ZXQoY29kZU9yaWdpbiwgc3RydWN0LCBmaWVsZCk7CisKKyAgICAgICAgcmV0dXJuIHRoaXMubWFw
cGluZ1trZXldOworICAgIH0KKworICAgIHN0YXRpYyByZXNldE1hcHBpbmdzKCkKKyAgICB7Cisg
ICAgICAgIHRoaXMubWFwcGluZyA9IHt9OworICAgIH0KKworICAgIGR1bXAoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHRoaXMuc3RydWN0ICsgIjo6IiArIHRoaXMuZmllbGQ7CisgICAgfQorCisg
ICAgY29tcGFyZShvdGhlcikKKyAgICB7CisgICAgICAgIGlmICh0aGlzLnN0cnVjdCAhPSBvdGhl
ci5zdHJ1Y3QpCisgICAgICAgICAgICByZXR1cm4gdGhpcy5zdHJ1Y3QubG9jYWxlQ29tcGFyZShv
dGhlci5zdHJ1Y3QpOworCisgICAgICAgIHJldHVybiB0aGlzLmZpZWxkLmxvY2FsZUNvbXBhcmUo
b3RoZXIuZmllbGQpOworICAgIH0KKworICAgIGdldCBzdHJ1Y3QoKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIHRoaXMuX3N0cnVjdDsKKyAgICB9CisKKyAgICBnZXQgZmllbGQoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHRoaXMuX2ZpZWxkOworICAgIH0KKworICAgIGdldCBpc0FkZHJlc3MoKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGdldCBpc0xhYmVsKCkK
KyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBnZXQgaXNJbW1lZGlh
dGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgZ2V0IGlzUmVn
aXN0ZXIoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKworU3RydWN0
T2Zmc2V0Lm1hcHBpbmcgPSB7fTsKKworY2xhc3MgU2l6ZW9mIGV4dGVuZHMgTm9DaGlsZHJlbgor
eworICAgIGNvbnN0cnVjdG9yKGNvZGVPcmlnaW4sIHN0cnVjdCkKKyAgICB7CisgICAgICAgIHN1
cGVyKGNvZGVPcmlnaW4pOworICAgICAgICB0aGlzLl9zdHJ1Y3QgPSBzdHJ1Y3Q7CisgICAgfQor
CisgICAgc3RhdGljIGZvck5hbWUoY29kZU9yaWdpbiwgc3RydWN0KQorICAgIHsKKyAgICAgICAg
aWYgKCF0aGlzLm1hcHBpbmdbc3RydWN0XSkKKyAgICAgICAgICAgIHRoaXMubWFwcGluZ1tzdHJ1
Y3RdID0gbmV3IFNpemVvZihjb2RlT3JpZ2luLCBzdHJ1Y3QpOworCisgICAgICAgIHJldHVybiB0
aGlzLm1hcHBpbmdbc3RydWN0XTsKKyAgICB9CisKKyAgICBzdGF0aWMgcmVzZXRNYXBwaW5ncygp
CisgICAgeworICAgICAgICB0aGlzLm1hcHBpbmcgPSB7fTsKKyAgICB9CisKKyAgICBkdW1wKCkK
KyAgICB7CisgICAgICAgIHJldHVybiAic2l6ZW9mICIgKyB0aGlzLnN0cnVjdDsKKyAgICB9CisK
KyAgICBjb21wYXJlKG90aGVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuc3RydWN0Lmxv
Y2FsZUNvbXBhcmUob3RoZXIuc3RydWN0KTsKKyAgICB9CisKKyAgICBnZXQgc3RydWN0KCkKKyAg
ICB7CisgICAgICAgIHJldHVybiB0aGlzLl9zdHJ1Y3Q7CisgICAgfQorCisgICAgZ2V0IGlzQWRk
cmVzcygpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgZ2V0IGlz
TGFiZWwoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGdldCBp
c0ltbWVkaWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBn
ZXQgaXNSZWdpc3RlcigpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQor
CitTaXplb2YubWFwcGluZyA9IHt9OworCitjbGFzcyBJbW1lZGlhdGUgZXh0ZW5kcyBOb0NoaWxk
cmVuCit7CisgICAgY29uc3RydWN0b3IoY29kZU9yaWdpbiwgdmFsdWUpCisgICAgeworICAgICAg
ICBzdXBlcihjb2RlT3JpZ2luKTsKKyAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTnVtYmVy
KQorICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS52YWx1ZU9mKCk7CisgICAgICAgIHRoaXMuX3Zh
bHVlID0gdmFsdWU7CisgICAgICAgIGlmICh0eXBlb2YodmFsdWUpICE9ICJudW1iZXIiKQorICAg
ICAgICAgICAgdGhyb3cgIkJhZCBpbW1lZGlhdGUgdmFsdWUgIiArIHZhbHVlLmluc3BlY3QoKSAr
ICIgYXQgIiArIHRoaXMuY29kZU9yaWdpblN0cmluZygpOworICAgIH0KKworICAgIGR1bXAoKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUudG9TdHJpbmcoKTsKKyAgICB9CisKKyAg
ICBlcXVhbHMob3RoZXIpCisgICAgeworICAgICAgICByZXR1cm4gb3RoZXIgaW5zdGFuY2VvZiBJ
bW1lZGlhdGUgJiYgb3RoZXIudmFsdWUgPT0gdGhpcy52YWx1ZTsKKyAgICB9CisKKyAgICBnZXQg
dmFsdWUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlOworICAgIH0KKworICAg
IGdldCBpc0FkZHJlc3MoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwor
ICAgIGdldCBpc0xhYmVsKCkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisK
KyAgICBnZXQgaXNJbW1lZGlhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorCisgICAgZ2V0IGlzSW1tZWRpYXRlT3BlcmFuZCgpCisgICAgeworICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICB9CisKKyAgICBnZXQgaXNSZWdpc3RlcigpCisgICAgeworICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfQorfQorCitjbGFzcyBBZGRJbW1lZGlhdGVzIGV4dGVuZHMgTm9kZQor
eworICAgIGNvbnN0cnVjdG9yKGNvZGVPcmlnaW4sIGxlZnQsIHJpZ2h0KQorICAgIHsKKyAgICAg
ICAgc3VwZXIoY29kZU9yaWdpbik7CisgICAgICAgIHRoaXMuX2xlZnQgPSBsZWZ0OworICAgICAg
ICB0aGlzLl9yaWdodCA9IHJpZ2h0OworICAgIH0KKworICAgIGNoaWxkcmVuKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBbdGhpcy5sZWZ0LCB0aGlzLnJpZ2h0XTsKKyAgICB9CisKKyAgICBkdW1w
KCkKKyAgICB7CisgICAgICAgIHJldHVybiAiKCIgKyB0aGlzLmxlZnQuZHVtcCgpICsgIiArICIg
KyB0aGlzLnJpZ2h0LmR1bXAoKSArICIpIjsKKyAgICB9CisKKyAgICB2YWx1ZSgpCisgICAgewor
ICAgICAgICByZXR1cm4gKHRoaXMubGVmdC52YWx1ZSgpICsgdGhpcy5yaWdodC52YWx1ZSgpKS50
b1N0cmluZygpOworICAgIH0KKworICAgIGdldCBsZWZ0KCkKKyAgICB7CisgICAgICAgIHJldHVy
biB0aGlzLl9sZWZ0OworICAgIH0KKworICAgIGdldCByaWdodCgpCisgICAgeworICAgICAgICBy
ZXR1cm4gdGhpcy5fcmlnaHQ7CisgICAgfQorCisgICAgZ2V0IGlzQWRkcmVzcygpCisgICAgewor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgZ2V0IGlzTGFiZWwoKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGdldCBpc0ltbWVkaWF0ZSgpCisg
ICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBnZXQgaXNJbW1lZGlhdGVP
cGVyYW5kKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGdldCBp
c1JlZ2lzdGVyKCkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK2Ns
YXNzIFN1YkltbWVkaWF0ZXMgZXh0ZW5kcyBOb2RlCit7CisgICAgY29uc3RydWN0b3IoY29kZU9y
aWdpbiwgbGVmdCwgcmlnaHQpCisgICAgeworICAgICAgICBzdXBlcihjb2RlT3JpZ2luKTsKKyAg
ICAgICAgdGhpcy5fbGVmdCA9IGxlZnQ7CisgICAgICAgIHRoaXMuX3JpZ2h0ID0gcmlnaHQ7Cisg
ICAgfQorCisgICAgY2hpbGRyZW4oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFt0aGlzLmxlZnQs
IHRoaXMucmlnaHRdOworICAgIH0KKworICAgIGR1bXAoKQorICAgIHsKKyAgICAgICAgcmV0dXJu
ICIoIiArIHRoaXMubGVmdC5kdW1wKCkgKyAiIC0gIiArIHRoaXMucmlnaHQuZHVtcCgpICsgIiki
OworICAgIH0KKworICAgIHZhbHVlKCkKKyAgICB7CisgICAgICAgIHJldHVybiAodGhpcy5sZWZ0
LnZhbHVlKCkgLSB0aGlzLnJpZ2h0LnZhbHVlKCkpLnRvU3RyaW5nKCk7CisgICAgfQorCisgICAg
Z2V0IGxlZnQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2xlZnQ7CisgICAgfQorCisg
ICAgZ2V0IHJpZ2h0KCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9yaWdodDsKKyAgICB9
CisKKyAgICBnZXQgaXNBZGRyZXNzKCkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisKKyAgICBnZXQgaXNMYWJlbCgpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfQorCisgICAgZ2V0IGlzSW1tZWRpYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKworICAgIGdldCBpc0ltbWVkaWF0ZU9wZXJhbmQoKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorCisgICAgZ2V0IGlzUmVnaXN0ZXIoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKworY2xhc3MgTXVsSW1tZWRpYXRlcyBleHRlbmRz
IE5vZGUKK3sKKyAgICBjb25zdHJ1Y3Rvcihjb2RlT3JpZ2luLCBsZWZ0LCByaWdodCkKKyAgICB7
CisgICAgICAgIHN1cGVyKGNvZGVPcmlnaW4pOworICAgICAgICB0aGlzLl9sZWZ0ID0gbGVmdDsK
KyAgICAgICAgdGhpcy5fcmlnaHQgPSByaWdodDsKKyAgICB9CisKKyAgICBjaGlsZHJlbigpCisg
ICAgeworICAgICAgICByZXR1cm4gW3RoaXMubGVmdCwgdGhpcy5yaWdodF07CisgICAgfQorCisg
ICAgZHVtcCgpCisgICAgeworICAgICAgICByZXR1cm4gIigiICsgdGhpcy5sZWZ0LmR1bXAoKSAr
ICIgKiAiICsgdGhpcy5yaWdodC5kdW1wKCkgKyAiKSI7CisgICAgfQorCisgICAgZ2V0IGxlZnQo
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2xlZnQ7CisgICAgfQorCisgICAgZ2V0IHJp
Z2h0KCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9yaWdodDsKKyAgICB9CisKKyAgICBn
ZXQgaXNBZGRyZXNzKCkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAg
ICBnZXQgaXNMYWJlbCgpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisg
ICAgZ2V0IGlzSW1tZWRpYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KworICAgIGdldCBpc0ltbWVkaWF0ZU9wZXJhbmQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIH0KKworICAgIGdldCBpc1JlZ2lzdGVyKCkKKyAgICB7CisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9Cit9CisKK2NsYXNzIE5lZ0ltbWVkaWF0ZSBleHRlbmRzIE5vZGUKK3sK
KyAgICBjb25zdHJ1Y3Rvcihjb2RlT3JpZ2luLCBjaGlsZCkKKyAgICB7CisgICAgICAgIHN1cGVy
KGNvZGVPcmlnaW4pOworICAgICAgICB0aGlzLl9jaGlsZCA9IGNoaWxkOworICAgIH0KKworICAg
IGNoaWxkcmVuKCkKKyAgICB7CisgICAgICAgIHJldHVybiBbdGhpcy5jaGlsZF07CisgICAgfQor
CisgICAgZHVtcCgpCisgICAgeworICAgICAgICByZXR1cm4gIigtIiArIHRoaXMuY2hpbGQuZHVt
cCgpICsgIikiOworICAgIH0KKworICAgIGdldCBjaGlsZCgpCisgICAgeworICAgICAgICByZXR1
cm4gdGhpcy5fY2hpbGQ7CisgICAgfQorCisgICAgZ2V0IGlzQWRkcmVzcygpCisgICAgeworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgZ2V0IGlzTGFiZWwoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGdldCBpc0ltbWVkaWF0ZSgpCisgICAg
eworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBnZXQgaXNJbW1lZGlhdGVPcGVy
YW5kKCkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBnZXQgaXNS
ZWdpc3RlcigpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCitjbGFz
cyBPckltbWVkaWF0ZXMgZXh0ZW5kcyBOb2RlCit7CisgICAgY29uc3RydWN0b3IoY29kZU9yaWdp
biwgbGVmdCwgcmlnaHQpCisgICAgeworICAgICAgICBzdXBlcihjb2RlT3JpZ2luKTsKKyAgICAg
ICAgdGhpcy5fbGVmdCA9IGxlZnQ7CisgICAgICAgIHRoaXMuX3JpZ2h0ID0gcmlnaHQ7CisgICAg
fQorCisgICAgY2hpbGRyZW4oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFt0aGlzLmxlZnQsIHRo
aXMucmlnaHRdOworICAgIH0KKworICAgIGR1bXAoKQorICAgIHsKKyAgICAgICAgcmV0dXJuICIo
IiArIHRoaXMubGVmdC5kdW1wKCkgKyAiIHwgIiArIHRoaXMucmlnaHQuZHVtcCgpICsgIikiOwor
ICAgIH0KKworICAgIGdldCBsZWZ0KCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9sZWZ0
OworICAgIH0KKworICAgIGdldCByaWdodCgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5f
cmlnaHQ7CisgICAgfQorCisgICAgZ2V0IGlzQWRkcmVzcygpCisgICAgeworICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfQorCisgICAgZ2V0IGlzTGFiZWwoKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0KKworICAgIGdldCBpc0ltbWVkaWF0ZSgpCisgICAgeworICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBnZXQgaXNJbW1lZGlhdGVPcGVyYW5kKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBnZXQgaXNSZWdpc3Rlcigp
CisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCitjbGFzcyBBbmRJbW1l
ZGlhdGVzIGV4dGVuZHMgTm9kZQoreworICAgIGNvbnN0cnVjdG9yKGNvZGVPcmlnaW4sIGxlZnQs
IHJpZ2h0KQorICAgIHsKKyAgICAgICAgc3VwZXIoY29kZU9yaWdpbik7CisgICAgICAgIHRoaXMu
X2xlZnQgPSBsZWZ0OworICAgICAgICB0aGlzLl9yaWdodCA9IHJpZ2h0OworICAgIH0KKworICAg
IGNoaWxkcmVuKCkKKyAgICB7CisgICAgICAgIHJldHVybiBbdGhpcy5sZWZ0LCB0aGlzLnJpZ2h0
XTsKKyAgICB9CisKKyAgICBkdW1wKCkKKyAgICB7CisgICAgICAgIHJldHVybiAiKCIgKyB0aGlz
LmxlZnQuZHVtcCgpICsgIiAmICIgKyB0aGlzLnJpZ2h0LmR1bXAoKSArICIpIjsKKyAgICB9CisK
KyAgICBnZXQgbGVmdCgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fbGVmdDsKKyAgICB9
CisKKyAgICBnZXQgcmlnaHQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3JpZ2h0Owor
ICAgIH0KKworICAgIGdldCBpc0FkZHJlc3MoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KKworICAgIGdldCBpc0xhYmVsKCkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CisKKyAgICBnZXQgaXNJbW1lZGlhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorCisgICAgZ2V0IGlzSW1tZWRpYXRlT3BlcmFuZCgpCisgICAgeworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgZ2V0IGlzUmVnaXN0ZXIoKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKworY2xhc3MgWG9ySW1tZWRpYXRlcyBl
eHRlbmRzIE5vZGUKK3sKKyAgICBjb25zdHJ1Y3Rvcihjb2RlT3JpZ2luLCBsZWZ0LCByaWdodCkK
KyAgICB7CisgICAgICAgIHN1cGVyKGNvZGVPcmlnaW4pOworICAgICAgICB0aGlzLl9sZWZ0ID0g
bGVmdDsKKyAgICAgICAgdGhpcy5fcmlnaHQgPSByaWdodDsKKyAgICB9CisKKyAgICBjaGlsZHJl
bigpCisgICAgeworICAgICAgICByZXR1cm4gW3RoaXMubGVmdCwgdGhpcy5yaWdodF07CisgICAg
fQorCisgICAgZHVtcCgpCisgICAgeworICAgICAgICByZXR1cm4gIigiICsgdGhpcy5sZWZ0LmR1
bXAoKSArICIgXiAiICsgdGhpcy5yaWdodC5kdW1wKCkgKyAiKSI7CisgICAgfQorCisgICAgZ2V0
IGxlZnQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2xlZnQ7CisgICAgfQorCisgICAg
Z2V0IHJpZ2h0KCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9yaWdodDsKKyAgICB9CisK
KyAgICBnZXQgaXNBZGRyZXNzKCkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9
CisKKyAgICBnZXQgaXNMYWJlbCgpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCisgICAgZ2V0IGlzSW1tZWRpYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KKworICAgIGdldCBpc0ltbWVkaWF0ZU9wZXJhbmQoKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0KKworICAgIGdldCBpc1JlZ2lzdGVyKCkKKyAgICB7CisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK2NsYXNzIEJpdG5vdEltbWVkaWF0ZSBleHRlbmRz
IE5vZGUKK3sKKyAgICBjb25zdHJ1Y3Rvcihjb2RlT3JpZ2luLCBjaGlsZCkKKyAgICB7CisgICAg
ICAgIHN1cGVyKGNvZGVPcmlnaW4pOworICAgICAgICB0aGlzLl9jaGlsZCA9IGNoaWxkOworICAg
IH0KKworICAgIGNoaWxkcmVuKCkKKyAgICB7CisgICAgICAgIHJldHVybiBbdGhpcy5jaGlsZF07
CisgICAgfQorCisgICAgZHVtcCgpCisgICAgeworICAgICAgICByZXR1cm4gIih+IiArIHRoaXMu
Y2hpbGQuZHVtcCgpICsgIikiOworICAgIH0KKworICAgIGdldCBjaGlsZCgpCisgICAgeworICAg
ICAgICByZXR1cm4gdGhpcy5fY2hpbGQ7CisgICAgfQorCisgICAgZ2V0IGlzQWRkcmVzcygpCisg
ICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgZ2V0IGlzTGFiZWwoKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGdldCBpc0ltbWVkaWF0
ZSgpCisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBnZXQgaXNJbW1l
ZGlhdGVPcGVyYW5kKCkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAg
ICBnZXQgaXNSZWdpc3RlcigpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQor
fQorCitjbGFzcyBTdHJpbmdMaXRlcmFsIGV4dGVuZHMgTm9DaGlsZHJlbgoreworICAgIGNvbnN0
cnVjdG9yKGNvZGVPcmlnaW4sIHZhbHVlKQorICAgIHsKKyAgICAgICAgc3VwZXIoY29kZU9yaWdp
bik7CisgICAgICAgIGlmICghdmFsdWUgaW5zdGFuY2VvZiBTdHJpbmcgfHwgdmFsdWVbMF0gIT0g
IlwiIiB8fCB2YWx1ZS5zbGljZSgtMSkgIT0gIlwiIikKKyAgICAgICAgICAgIHRocm93ICJCYWQg
c3RyaW5nIGxpdGVyYWwgIiArIHZhbHVlLmluc3BlY3QoKSArICIgYXQgIiArIHRoaXMuY29kZU9y
aWdpblN0cmluZygpOworICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlLnNsaWNlKDEsIC0xKTsK
KyAgICB9CisKKyAgICBkdW1wKCkKKyAgICB7CisgICAgICAgIHJldHVybiAiXCIiICsgdGhpcy52
YWx1ZSArICJcIiI7CisgICAgfQorCisgICAgZXF1YWxzKG90aGVyKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIG90aGVyIGluc3RhbmNlb2YgU3RyaW5nTGl0ZXJhbCAmJiBvdGhlci52YWx1ZSA9PSB0
aGlzLnZhbHVlOworICAgIH0KKworICAgIGdldCB2YWx1ZSgpCisgICAgeworICAgICAgICByZXR1
cm4gdGhpcy5fdmFsdWU7CisgICAgfQorCisgICAgZ2V0IGlzQWRkcmVzcygpCisgICAgeworICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgZ2V0IGlzTGFiZWwoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGdldCBpc0ltbWVkaWF0ZSgpCisgICAg
eworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgZ2V0IGlzSW1tZWRpYXRlT3Bl
cmFuZCgpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgZ2V0IGlz
UmVnaXN0ZXIoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKworY2xh
c3MgUmVnaXN0ZXJJRCBleHRlbmRzIE5vQ2hpbGRyZW4KK3sKKyAgICBjb25zdHJ1Y3Rvcihjb2Rl
T3JpZ2luLCBuYW1lKQorICAgIHsKKyAgICAgICAgc3VwZXIoY29kZU9yaWdpbik7CisgICAgICAg
IHRoaXMuX25hbWUgPSBuYW1lOworICAgIH0KKworICAgIHN0YXRpYyBmb3JOYW1lKGNvZGVPcmln
aW4sIG5hbWUpCisgICAgeworICAgICAgICBpZiAoIXRoaXMubWFwcGluZ1tuYW1lXSkKKyAgICAg
ICAgICAgIHRoaXMubWFwcGluZ1tuYW1lXSA9IG5ldyBSZWdpc3RlcklEKGNvZGVPcmlnaW4sIG5h
bWUpOworCisgICAgICAgIHJldHVybiB0aGlzLm1hcHBpbmdbbmFtZV07CisgICAgfQorCisgICAg
ZHVtcCgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5uYW1lOworICAgIH0KKworICAgIGdl
dCBuYW1lKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9uYW1lOworICAgIH0KKworICAg
IGdldCBpc0FkZHJlc3MoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwor
ICAgIGdldCBpc0xhYmVsKCkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisK
KyAgICBnZXQgaXNJbW1lZGlhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KKworICAgIGdldCBpc1JlZ2lzdGVyKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KK30KKworUmVnaXN0ZXJJRC5tYXBwaW5nID0ge307CisKK2NsYXNzIEZQUmVnaXN0ZXJJ
RCBleHRlbmRzIE5vQ2hpbGRyZW4KK3sKKyAgICBjb25zdHJ1Y3Rvcihjb2RlT3JpZ2luLCBuYW1l
KQorICAgIHsKKyAgICAgICAgc3VwZXIoY29kZU9yaWdpbik7CisgICAgICAgIHRoaXMuX25hbWUg
PSBuYW1lOworICAgIH0KKworICAgIHN0YXRpYyBmb3JOYW1lKGNvZGVPcmlnaW4sIG5hbWUpCisg
ICAgeworICAgICAgICBpZiAoIXRoaXMubWFwcGluZ1tuYW1lXSkKKyAgICAgICAgICAgIHRoaXMu
bWFwcGluZ1tuYW1lXSA9IG5ldyBGUFJlZ2lzdGVySUQoY29kZU9yaWdpbiwgbmFtZSk7CisKKyAg
ICAgICAgcmV0dXJuIHRoaXMubWFwcGluZ1tuYW1lXTsKKyAgICB9CisKKyAgICBkdW1wKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiB0aGlzLm5hbWU7CisgICAgfQorCisgICAgZ2V0IG5hbWUoKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX25hbWU7CisgICAgfQorCisgICAgZ2V0IGlzQWRk
cmVzcygpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgZ2V0IGlz
TGFiZWwoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGdldCBp
c0ltbWVkaWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAg
Z2V0IGlzSW1tZWRpYXRlT3BlcmFuZCgpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfQorCisgICAgZ2V0IGlzUmVnaXN0ZXIoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorfQorCitGUFJlZ2lzdGVySUQubWFwcGluZyA9IHt9OworCitjbGFzcyBTcGVjaWFs
UmVnaXN0ZXIgZXh0ZW5kcyBOb0NoaWxkcmVuCit7CisgICAgY29uc3RydWN0b3IobmFtZSkKKyAg
ICB7CisgICAgICAgIHRoaXMuX25hbWUgPSBuYW1lOworICAgIH0KKworICAgIGdldCBpc0FkZHJl
c3MoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGdldCBpc0xh
YmVsKCkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBnZXQgaXNJ
bW1lZGlhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGdl
dCBpc0ltbWVkaWF0ZU9wZXJhbmQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KKworICAgIGdldCBpc1JlZ2lzdGVyKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KK30KKworY2xhc3MgVmFyaWFibGUgZXh0ZW5kcyBOb0NoaWxkcmVuCit7CisgICAgY29u
c3RydWN0b3IoY29kZU9yaWdpbiwgbmFtZSkKKyAgICB7CisgICAgICAgIHN1cGVyKGNvZGVPcmln
aW4pOworICAgICAgICB0aGlzLl9uYW1lID0gbmFtZTsKKyAgICB9CisKKyAgICBzdGF0aWMgZm9y
TmFtZShjb2RlT3JpZ2luLCBuYW1lKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLm1hcHBpbmdb
bmFtZV0pCisgICAgICAgICAgICB0aGlzLm1hcHBpbmdbbmFtZV0gPSBuZXcgVmFyaWFibGUoY29k
ZU9yaWdpbiwgbmFtZSk7CisKKyAgICAgICAgcmV0dXJuIHRoaXMubWFwcGluZ1tuYW1lXTsKKyAg
ICB9CisKKyAgICBkdW1wKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLm5hbWU7CisgICAg
fQorCisgICAgZ2V0IG5hbWUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX25hbWU7Cisg
ICAgfQorCisgICAgaW5zcGVjdCgpCisgICAgeworICAgICAgICByZXR1cm4gIjx2YXJpYWJsZSAi
ICsgdGhpcy5uYW1lICsgIiBhdCAiICsgdGhpcy5jb2RlT3JpZ2luU3RyaW5nKCk7CisgICAgfQor
fQorCitWYXJpYWJsZS5tYXBwaW5nID0ge307CisKK2NsYXNzIEFkZHJlc3MgZXh0ZW5kcyBOb2Rl
Cit7CisgICAgY29uc3RydWN0b3IoY29kZU9yaWdpbiwgYmFzZSwgb2Zmc2V0KQorICAgIHsKKyAg
ICAgICAgc3VwZXIoY29kZU9yaWdpbik7CisgICAgICAgIHRoaXMuX2Jhc2UgPSBiYXNlOworICAg
ICAgICB0aGlzLl9vZmZzZXQgPSBvZmZzZXQ7CisgICAgICAgIGlmICghYmFzZSBpbnN0YW5jZW9m
IFZhcmlhYmxlICYmICFiYXNlLnJlZ2lzdGVyKQorICAgICAgICAgICAgdGhyb3cgIkJhZCBiYXNl
IGZvciBhZGRyZXNzICIgKyBiYXNlLmluc3BlY3QoKSArICIgYXQgIiArIHRoaXMuY29kZU9yaWdp
blN0cmluZygpOworICAgICAgICBpZiAoIW9mZnNldCBpbnN0YW5jZW9mIFZhcmlhYmxlICYmICFv
ZmZzZXQuaW1tZWRpYXRlKCkpCisgICAgICAgICAgICB0aHJvdyAiQmFkIG9mZnNldCBmb3IgYWRk
cmVzcyAiICsgb2Zmc2V0Lmluc3BlY3QoKSArICIgYXQgIiArIHRoaXMuY29kZU9yaWdpblN0cmlu
ZygpOworICAgIH0KKworICAgIHdpdGhPZmZzZXQoZXh0cmFPZmZzZXQpCisgICAgeworICAgICAg
ICByZXR1cm4gbmV3IEFkZHJlc3ModGhpcy5jb2RlT3JpZ2luLCB0aGlzLmJhc2UsIG5ldyBJbW1l
ZGlhdGUodGhpcy5jb2RlT3JpZ2luLCB0aGlzLm9mZnNldC52YWx1ZSArIGV4dHJhT2Zmc2V0KSk7
CisgICAgfQorCisgICAgY2hpbGRyZW4oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFt0aGlzLmJh
c2UsIHRoaXMub2Zmc2V0XTsKKyAgICB9CisKKyAgICBkdW1wKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiB0aGlzLm9mZnNldC5kdW1wKCkgKyAiWyIgKyB0aGlzLmJhc2UuZHVtcCgpICsgIl0iOwor
ICAgIH0KKworICAgIGdldCBiYXNlKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9iYXNl
OworICAgIH0KKworICAgIGdldCBvZmZzZXQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMu
X29mZnNldDsKKyAgICB9CisKKyAgICBnZXQgaXNBZGRyZXNzKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KKworICAgIGdldCBpc0xhYmVsKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBnZXQgaXNJbW1lZGlhdGUoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGdldCBpc0ltbWVkaWF0ZU9wZXJhbmQoKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgZ2V0IGlzUmVnaXN0ZXIo
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKworY2xhc3MgQmFzZUlu
ZGV4IGV4dGVuZHMgTm9kZQoreworICAgIGNvbnN0cnVjdG9yKGNvZGVPcmlnaW4sIGJhc2UsIGlu
ZGV4LCBzY2FsZSwgb2Zmc2V0KQorICAgIHsKKyAgICAgICAgc3VwZXIoY29kZU9yaWdpbik7Cisg
ICAgICAgIHRoaXMuX2Jhc2UgPSBiYXNlOworICAgICAgICB0aGlzLl9pbmRleCA9IGluZGV4Owor
ICAgICAgICB0aGlzLl9zY2FsZSA9IHNjYWxlOworICAgICAgICBpZiAoIVsxLCAyLCA0LCA4XS5p
bmNsdWRlcyh0aGlzLl9zY2FsZSkpCisgICAgICAgICAgICB0aHJvdyAiQmFkIHNjYWxlICIgKyB0
aGlzLl9zY2FsZSArICIgYXQgIiArIHRoaXMuY29kZU9yaWdpblN0cmluZygpOworICAgICAgICB0
aGlzLl9vZmZzZXQgPSBvZmZzZXQ7CisgICAgfQorCisgICAgc2NhbGVTaGlmdCgpCisgICAgewor
ICAgICAgICBzd2l0Y2godGhpcy5zY2FsZSkKKyAgICAgICAgeworICAgICAgICBjYXNlIDE6Cisg
ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgY2FzZSAyOgorICAgICAgICAgICAgcmV0dXJu
IDE7CisgICAgICAgIGNhc2UgNDoKKyAgICAgICAgICAgIHJldHVybiAyOworICAgICAgICBjYXNl
IDg6CisgICAgICAgICAgICByZXR1cm4gMzsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
IHRocm93ICJCYWQgc2NhbGUgIiArIHRoaXMuc2NhbGUgKyAiIGF0ICIgKyB0aGlzLmNvZGVPcmln
aW5TdHJpbmcoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHdpdGhPZmZzZXQoZXh0cmFPZmZz
ZXQpCisgICAgeworICAgICAgICByZXR1cm4gbmV3IEJhc2VJbmRleChjb2RlT3JpZ2luLCB0aGlz
LmJhc2UsIHRoaXMuaW5kZXgsIHRoaXMuc2NhbGUsIG5ldyBJbW1lZGlhdGUoY29kZU9yaWdpbiwg
dGhpcy5vZmZzZXQudmFsdWUgKyBleHRyYU9mZnNldCkpOworICAgIH0KKworICAgIGNoaWxkcmVu
KCkKKyAgICB7CisgICAgICAgIHJldHVybiBbdGhpcy5iYXNlLCB0aGlzLmluZGV4LCB0aGlzLm9m
ZnNldF07CisgICAgfQorCisgICAgZHVtcCgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5v
ZmZzZXQuZHVtcCgpICsgIlsiICsgdGhpcy5iYXNlLmR1bXAoKSArICIsICIgKyB0aGlzLmluZGV4
LmR1bXAoKSArICIsICIgKyB0aGlzLnNjYWxlICsgIl0iOworICAgIH0KKworICAgIGdldCBiYXNl
KCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9iYXNlOworICAgIH0KKworICAgIGdldCBp
bmRleCgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5faW5kZXg7CisgICAgfQorCisgICAg
Z2V0IHNjYWxlKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9zY2FsZTsKKyAgICB9CisK
KyAgICBnZXQgb2Zmc2V0KCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9vZmZzZXQ7Cisg
ICAgfQorCisgICAgZ2V0IGlzQWRkcmVzcygpCisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisKKyAgICBnZXQgaXNMYWJlbCgpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQorCisgICAgZ2V0IGlzSW1tZWRpYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CisKKyAgICBnZXQgaXNJbW1lZGlhdGVPcGVyYW5kKCkKKyAgICB7CisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBnZXQgaXNSZWdpc3RlcigpCisgICAgewor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCitjbGFzcyBBYnNvbHV0ZUFkZHJlc3Mg
ZXh0ZW5kcyBOb0NoaWxkcmVuCit7CisgICAgY29uc3RydWN0b3IoY29kZU9yaWdpbiwgYWRkcmVz
cykKKyAgICB7CisgICAgICAgIHN1cGVyKGNvZGVPcmlnaW4pOworICAgICAgICB0aGlzLl9hZGRy
ZXNzID0gYWRkcmVzczsKKyAgICB9CisKKyAgICB3aXRoT2Zmc2V0KGV4dHJhT2Zmc2V0KQorICAg
IHsKKyAgICAgICAgcmV0dXJuIG5ldyBBYnNvbHV0ZUFkZHJlc3MoY29kZU9yaWdpbiwgbmV3IElt
bWVkaWF0ZShjb2RlT3JpZ2luLCB0aGlzLmFkZHJlc3MudmFsdWUgKyBleHRyYU9mZnNldCkpOwor
ICAgIH0KKworICAgIGR1bXAoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuYWRkcmVzcy5k
dW1wKCkgKyAiW10iOworICAgIH0KKworICAgIGdldCBhZGRyZXNzKCkKKyAgICB7CisgICAgICAg
IHJldHVybiB0aGlzLl9hZGRyZXNzOworICAgIH0KKworICAgIGdldCBpc0FkZHJlc3MoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgZ2V0IGlzTGFiZWwoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGdldCBpc0ltbWVkaWF0ZSgp
CisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgZ2V0IGlzSW1tZWRp
YXRlT3BlcmFuZCgpCisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBn
ZXQgaXNSZWdpc3RlcigpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQor
CitjbGFzcyBJbnN0cnVjdGlvbiBleHRlbmRzIE5vZGUKK3sKKyAgICBjb25zdHJ1Y3Rvcihjb2Rl
T3JpZ2luLCBvcGNvZGUsIG9wZXJhbmRzLCBhbm5vdGF0aW9uPW5pbCkKKyAgICB7CisgICAgICAg
IHN1cGVyKGNvZGVPcmlnaW4pOworICAgICAgICB0aGlzLl9vcGNvZGUgPSBvcGNvZGU7CisgICAg
ICAgIHRoaXMuX29wZXJhbmRzID0gb3BlcmFuZHM7CisgICAgICAgIHRoaXMuX2Fubm90YXRpb24g
PSBhbm5vdGF0aW9uOworICAgIH0KKworICAgIGNoaWxkcmVuKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBbXTsKKyAgICB9CisKKyAgICBkdW1wKCkKKyAgICB7CisgICAgICAgIHJldHVybiAiICAg
ICIgKyB0aGlzLm9wY29kZSArICIgIiArICh0aGlzLm9wZXJhbmRzLm1hcChmdW5jdGlvbih2KSB7
IHJldHVybiB2LmR1bXAoKTsgfSkuam9pbigiLCAiKSk7CisgICAgfQorCisgICAgZ2V0IG9wY29k
ZSgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fb3Bjb2RlOworICAgIH0KKworICAgIGdl
dCBvcGVyYW5kcygpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fb3BlcmFuZHM7CisgICAg
fQorCisgICAgZ2V0IGFubm90YXRpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2Fu
bm90YXRpb247CisgICAgfQorfQorCitjbGFzcyBFcnJvciBleHRlbmRzIE5vQ2hpbGRyZW4KK3sK
KyAgICBjb25zdHJ1Y3Rvcihjb2RlT3JpZ2luKQorICAgIHsKKyAgICAgICAgc3VwZXIoY29kZU9y
aWdpbik7CisgICAgfQorCisgICAgZHVtcCgpCisgICAgeworICAgICAgICByZXR1cm4gIiAgICBl
cnJvciI7CisgICAgfQorfQorCitjbGFzcyBDb25zdEV4cHIgZXh0ZW5kcyAgTm9DaGlsZHJlbgor
eworICAgIGNvbnN0cnVjdG9yKGNvZGVPcmlnaW4sIHZhbHVlKQorICAgIHsKKyAgICAgICAgc3Vw
ZXIoY29kZU9yaWdpbik7CisgICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7CisgICAgfQorCisg
ICAgc3RhdGljIGZvck5hbWUoY29kZU9yaWdpbiwgdGV4dCkKKyAgICB7CisgICAgICAgIGlmICgh
dGhpcy5tYXBwaW5nW3RleHRdKQorICAgICAgICAgICAgdGhpcy5tYXBwaW5nW3RleHRdID0gbmV3
IENvbnN0RXhwcihjb2RlT3JpZ2luLCB0ZXh0KTsKKworICAgICAgICByZXR1cm4gdGhpcy5tYXBw
aW5nW3RleHRdOworICAgIH0KKworICAgIHN0YXRpYyByZXNldE1hcHBpbmdzKCkKKyAgICB7Cisg
ICAgICAgIHRoaXMubWFwcGluZyA9IHt9OworICAgIH0KKworICAgIGR1bXAoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuICJjb25zdGV4cHIgKCIgKyB0aGlzLnZhbHVlICsgIikiOworICAgIH0KKwor
ICAgIGNvbXBhcmUob3RoZXIpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy52YWx1ZShvdGhl
ci52YWx1ZSk7CisgICAgfQorCisgICAgaXNJbW1lZGlhdGUoKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQorCisgICAgZ2V0IHZhcmlhYmxlKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiB0aGlzLl92YXJpYWJsZTsKKyAgICB9CisKKyAgICBnZXQgdmFsdWUoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlOworICAgIH0KK30KKworQ29uc3RFeHByLm1hcHBpbmcg
PSB7fTsKKworCitjbGFzcyBDb25zdERlY2wgZXh0ZW5kcyBOb2RlCit7CisgICAgY29uc3RydWN0
b3IoY29kZU9yaWdpbiwgdmFyaWFibGUsIHZhbHVlKQorICAgIHsKKyAgICAgICAgc3VwZXIoY29k
ZU9yaWdpbik7CisgICAgICAgIHRoaXMuX3ZhcmlhYmxlID0gdmFyaWFibGU7CisgICAgICAgIHRo
aXMuX3ZhbHVlID0gdmFsdWU7CisgICAgfQorCisgICAgY2hpbGRyZW4oKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIFt0aGlzLnZhcmlhYmxlLCB0aGlzLnZhbHVlXTsKKyAgICB9CisKKyAgICBkdW1w
KCkKKyAgICB7CisgICAgICAgIHJldHVybiAiY29uc3QgIiArIHRoaXMudmFyaWFibGUuZHVtcCgp
ICsgIiA9ICIgKyB0aGlzLnZhbHVlLmR1bXAoKTsKKyAgICB9CisKKyAgICBnZXQgdmFyaWFibGUo
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3ZhcmlhYmxlOworICAgIH0KKworICAgIGdl
dCB2YWx1ZSgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7CisgICAgfQorfQor
CitsZXQgX2xhYmVsTWFwcGluZyA9IHt9OworbGV0IF9yZWZlcmVuY2VkRXh0ZXJuTGFiZWxzID0g
W107CisKK2NsYXNzIExhYmVsIGV4dGVuZHMgTm9DaGlsZHJlbgoreworICAgIGNvbnN0cnVjdG9y
KGNvZGVPcmlnaW4sIG5hbWUpCisgICAgeworICAgICAgICBzdXBlcihjb2RlT3JpZ2luKTsKKyAg
ICAgICAgdGhpcy5fbmFtZSA9IG5hbWU7CisgICAgICAgIHRoaXMuX2V4dGVybiA9IHRydWU7Cisg
ICAgICAgIHRoaXMuX2dsb2JhbCA9IGZhbHNlOworICAgIH0KKworICAgIHN0YXRpYyBmb3JOYW1l
KGNvZGVPcmlnaW4sIG5hbWUsIGRlZmluZWRJbkZpbGUpCisgICAgeworICAgICAgICBpZiAoX2xh
YmVsTWFwcGluZ1tuYW1lXSkgeworICAgICAgICAgICAgaWYgKCFfbGFiZWxNYXBwaW5nW25hbWVd
IGluc3RhbmNlb2YgTGFiZWwpCisgICAgICAgICAgICAgICAgdGhyb3cgIkxhYmVsIG5hbWUgY29s
bGlzaW9uOiAiICsgbmFtZTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBfbGFiZWxNYXBw
aW5nW25hbWVdID0gbmV3IExhYmVsKGNvZGVPcmlnaW4sIG5hbWUpOworCisgICAgICAgIGlmIChk
ZWZpbmVkSW5GaWxlKQorICAgICAgICAgICAgX2xhYmVsTWFwcGluZ1tuYW1lXS5jbGVhckV4dGVy
bigpOworCisgICAgICAgIHJldHVybiBfbGFiZWxNYXBwaW5nW25hbWVdOworICAgIH0KKworICAg
IHN0YXRpYyBzZXRBc0dsb2JhbChjb2RlT3JpZ2luLCBuYW1lKQorICAgIHsKKyAgICAgICAgaWYg
KF9sYWJlbE1hcHBpbmdbbmFtZV0pIHsKKyAgICAgICAgICAgIGxldCBsYWJlbCA9IF9sYWJlbE1h
cHBpbmdbbmFtZV07CisgICAgICAgICAgICBpZiAobGFiZWwuaXNHbG9iYWwoKSkKKyAgICAgICAg
ICAgICAgICB0aHJvdyAiTGFiZWw6ICIgKyBuYW1lICsgIiBkZWNsYXJlZCBnbG9iYWwgbXVsdGlw
bGUgdGltZXMiOworICAgICAgICAgICAgbGFiZWwuc2V0R2xvYmFsKCk7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICBsZXQgbmV3TGFiZWwgPSBuZXcgTGFiZWwoY29kZU9yaWdpbiwgbmFt
ZSk7CisgICAgICAgICAgICBuZXdMYWJlbC5zZXRHbG9iYWwoKTsKKyAgICAgICAgICAgIF9sYWJl
bE1hcHBpbmdbbmFtZV0gPSBuZXdMYWJlbDsKKyAgICAgICAgfQorICAgIH0KKworICAgIHN0YXRp
YyByZXNldE1hcHBpbmdzKCkKKyAgICB7CisgICAgICAgIF9sYWJlbE1hcHBpbmcgPSB7fTsKKyAg
ICAgICAgX3JlZmVyZW5jZWRFeHRlcm5MYWJlbHMgPSBbXTsKKyAgICB9CisKKworICAgIHN0YXRp
YyByZXNldFJlZmVyZW5jZWQoKQorICAgIHsKKyAgICAgICAgX3JlZmVyZW5jZWRFeHRlcm5MYWJl
bHMgPSBbXTsKKyAgICB9CisKKyAgICBjbGVhckV4dGVybigpCisgICAgeworICAgICAgICB0aGlz
Ll9leHRlcm4gPSBmYWxzZTsKKyAgICB9CisKKyAgICBpc0V4dGVybigpCisgICAgeworICAgICAg
ICByZXR1cm4gdGhpcy5fZXh0ZXJuOworICAgIH0KKworICAgIHNldEdsb2JhbCgpCisgICAgewor
ICAgICAgICB0aGlzLl9nbG9iYWwgPSB0cnVlOworICAgIH0KKworICAgIGlzR2xvYmFsKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiB0aGlzLl9nbG9iYWw7CisgICAgfQorCisgICAgZHVtcCgpCisg
ICAgeworICAgICAgICByZXR1cm4gdGhpcy5uYW1lICsgIjoiOworICAgIH0KKworICAgIGdldCBu
YW1lKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9uYW1lOworICAgIH0KK30KKworY2xh
c3MgTG9jYWxMYWJlbCBleHRlbmRzIE5vQ2hpbGRyZW4KK3sKKyAgICBjb25zdHJ1Y3Rvcihjb2Rl
T3JpZ2luLCBuYW1lKQorICAgIHsKKyAgICAgICAgc3VwZXIoY29kZU9yaWdpbik7CisgICAgICAg
IHRoaXMuX25hbWUgPSBuYW1lOworICAgIH0KKworICAgIHN0YXRpYyBmb3JOYW1lKGNvZGVPcmln
aW4sIG5hbWUpCisgICAgeworICAgICAgICBpZiAoX2xhYmVsTWFwcGluZ1tuYW1lXSkgeworICAg
ICAgICAgICAgaWYgKCFfbGFiZWxNYXBwaW5nW25hbWVdIGluc3RhbmNlb2YgTG9jYWxMYWJlbCkK
KyAgICAgICAgICAgICAgICB0aHJvdyAiTGFiZWwgbmFtZSBjb2xsaXNpb246ICIgKyBuYW1lOwor
ICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIF9sYWJlbE1hcHBpbmdbbmFtZV0gPSBuZXcgTG9j
YWxMYWJlbChjb2RlT3JpZ2luLCBuYW1lKTsKKworICAgICAgICByZXR1cm4gX2xhYmVsTWFwcGlu
Z1tuYW1lXTsKKyAgICB9CisKKyAgICBzdGF0aWMgdW5pcXVlKGNvbW1lbnQpCisgICAgeworICAg
ICAgICBsZXQgbmV3TmFtZSA9ICJfIiArIGNvbW1lbnQ7CisgICAgICAgIGlmIChfbGFiZWxNYXBw
aW5nW25ld05hbWVdKSB7CisgICAgICAgICAgICB3aGlsZSAoX2xhYmVsTWFwcGluZ1tuZXdOYW1l
ID0gIl8jIiArIHRoaXMudW5pcXVlTmFtZUNvdW50ZXIgKyAiXyIgKyBjb21tZW50XSkKKyAgICAg
ICAgICAgICAgICB0aGlzLnVuaXF1ZU5hbWVDb3VudGVyKys7CisgICAgICAgIH0KKworICAgICAg
ICByZXR1cm4gZm9yTmFtZSh1bmRlZmluZWQsIG5ld05hbWUpOworICAgIH0KKworICAgIHN0YXRp
YyByZXNldE1hcHBpbmdzKCkKKyAgICB7CisgICAgICAgIHRoaXMudW5pcXVOYW1lQ291bnRlciA9
IDA7CisgICAgfQorCisgICAgY2xlYW5OYW1lKCkKKyAgICB7CisgICAgICAgIGlmICgvXlwuLy50
ZXN0KHRoaXMuX25hbWUpKQorICAgICAgICAgICAgcmV0dXJuICJfIiArIHRoaXMuX25hbWUuc2xp
Y2UoMSk7CisKKyAgICAgICAgcmV0dXJuIHRoaXMuX25hbWU7CisgICAgfQorCisgICAgaXNHbG9i
YWwoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGR1bXAoKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMubmFtZSArICI6IjsKKyAgICB9CisKKyAgICBnZXQg
bmFtZSgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fbmFtZTsKKyAgICB9Cit9CisKK0xv
Y2FsTGFiZWwudW5pcXVlTmFtZUNvdW50ZXIgPSAwOworCisKK2NsYXNzIExhYmVsUmVmZXJlbmNl
IGV4dGVuZHMgTm9kZQoreworICAgIGNvbnN0cnVjdG9yKGNvZGVPcmlnaW4sIGxhYmVsKQorICAg
IHsKKyAgICAgICAgc3VwZXIoY29kZU9yaWdpbik7CisgICAgICAgIHRoaXMuX2xhYmVsID0gbGFi
ZWw7CisgICAgfQorCisgICAgY2hpbGRyZW4oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFt0aGlz
LmxhYmVsXTsKKyAgICB9CisKKyAgICBuYW1lKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlz
LmxhYmVsLm5hbWU7CisgICAgfQorCisgICAgaXNFeHRlcm4oKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIF9sYWJlbE1hcHBpbmdbbmFtZV0gaW5zdGFuY2VvZiBMYWJlbCAmJiBfbGFiZWxNYXBwaW5n
W25hbWVdLmlzRXh0ZXJuKCk7CisgICAgfQorCisgICAgdXNlZCgpCisgICAgeworICAgICAgICBp
ZiAoIV9yZWZlcmVuY2VkRXh0ZXJuTGFiZWxzLmluY2x1ZGUodGhpcy5fbGFiZWwpICYmIHRoaXMu
aXNFeHRlcm4oKSkKKyAgICAgICAgICAgIF9yZWZlcmVuY2VkRXh0ZXJuTGFiZWxzLnB1c2godGhp
cy5fbGFiZWwpOworICAgIH0KKworICAgIGR1bXAoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRo
aXMubGFiZWwubmFtZTsKKyAgICB9CisKKyAgICB2YWx1ZSgpCisgICAgeworICAgICAgICByZXR1
cm4gYXNtTGFiZWwoKTsKKyAgICB9CisKKyAgICBnZXQgbGFiZWwoKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIHRoaXMuX2xhYmVsOworICAgIH0KKworICAgIGdldCBpc0FkZHJlc3MoKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGdldCBpc0xhYmVsKCkKKyAgICB7
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGdldCBpc0ltbWVkaWF0ZSgpCisg
ICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgZ2V0IGlzSW1tZWRpYXRl
T3BlcmFuZCgpCisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9Cit9CisKK2NsYXNz
IExvY2FsTGFiZWxSZWZlcmVuY2UgZXh0ZW5kcyBOb0NoaWxkcmVuCit7CisgICAgY29uc3RydWN0
b3IoY29kZU9yaWdpbiwgbGFiZWwpCisgICAgeworICAgICAgICBzdXBlcihjb2RlT3JpZ2luKTsK
KyAgICAgICAgdGhpcy5fbGFiZWwgPSBsYWJlbDsKKyAgICB9CisKKyAgICBjaGlsZHJlbigpCisg
ICAgeworICAgICAgICByZXR1cm4gW3RoaXMuX2xhYmVsXTsKKyAgICB9CisKKyAgICBuYW1lKCkK
KyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLmxhYmVsLm5hbWU7CisgICAgfQorCisgICAgZHVt
cCgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5sYWJlbC5uYW1lOworICAgIH0KKworICAg
IHZhbHVlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhc21MYWJlbCgpOworICAgIH0KKworICAg
IGdldCBsYWJlbCgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fbGFiZWw7CisgICAgfQor
CisgICAgZ2V0IGlzQWRkcmVzcygpCisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorCisgICAgZ2V0IGlzTGFiZWwoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorCisgICAgZ2V0IGlzSW1tZWRpYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisKKyAgICBnZXQgaXNJbW1lZGlhdGVPcGVyYW5kKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KK30KKworY2xhc3MgU2VxdWVuY2UgZXh0ZW5kcyBOb2RlCit7Cisg
ICAgY29uc3RydWN0b3IoY29kZU9yaWdpbiwgbGlzdCkKKyAgICB7CisgICAgICAgIHN1cGVyKGNv
ZGVPcmlnaW4pOworICAgICAgICB0aGlzLl9saXN0ID0gbGlzdDsKKyAgICB9CisKKyAgICBjaGls
ZHJlbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5saXN0OworICAgIH0KKworICAgIGR1
bXAoKQorICAgIHsKKyAgICAgICAgcmV0dXJuICIiICsgdGhpcy5saXN0Lm1hcChmdW5jdGlvbih2
KSB7IHJldHVybiB2LmR1bXAoKX0pLmpvaW4oIlxuIik7CisgICAgfQorCisgICAgZ2V0IGxpc3Qo
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2xpc3Q7CisgICAgfQorfQorCitjbGFzcyBU
cnVlIGV4dGVuZHMgTm9DaGlsZHJlbgoreworICAgIGNvbnN0cnVjdG9yKCkKKyAgICB7CisgICAg
ICAgIHN1cGVyKHVuZGVmaW5lZCk7CisgICAgfQorCisgICAgc3RhdGljIGluc3RhbmNlKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBUcnVlLmluc3RhbmNlOworICAgIH0KKworICAgIHZhbHVlKCkK
KyAgICB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGR1bXAoKQorICAgIHsK
KyAgICAgICAgcmV0dXJuICJ0cnVlIjsKKyAgICB9Cit9CisKK1RydWUuaW5zdGFuY2UgPSBuZXcg
VHJ1ZSgpOworCitjbGFzcyBGYWxzZSBleHRlbmRzIE5vQ2hpbGRyZW4KK3sKKyAgICBjb25zdHJ1
Y3RvcigpCisgICAgeworICAgICAgICBzdXBlcih1bmRlZmluZWQpOworICAgIH0KKworICAgIHN0
YXRpYyBpbnN0YW5jZSgpCisgICAgeworICAgICAgICByZXR1cm4gRmFsc2UuaW5zdGFuY2U7Cisg
ICAgfQorCisgICAgdmFsdWUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KworICAgIGR1bXAoKQorICAgIHsKKyAgICAgICAgcmV0dXJuICJmYWxzZSI7CisgICAgfQorfQor
CitGYWxzZS5pbnN0YW5jZSA9IG5ldyBGYWxzZSgpOworCitjbGFzcyBTZXR0aW5nIGV4dGVuZHMg
Tm9DaGlsZHJlbgoreworICAgIGNvbnN0cnVjdG9yKGNvZGVPcmlnaW4sIG5hbWUpCisgICAgewor
ICAgICAgICBzdXBlcihjb2RlT3JpZ2luKTsKKyAgICAgICAgdGhpcy5fbmFtZSA9IG5hbWU7Cisg
ICAgfQorCisgICAgc3RhdGljIGZvck5hbWUoY29kZU9yaWdpbiwgbmFtZSkKKyAgICB7CisgICAg
ICAgIGlmICghdGhpcy5tYXBwaW5nW25hbWVdKQorICAgICAgICAgICAgdGhpcy5tYXBwaW5nW25h
bWVdID0gbmV3IFNldHRpbmcoY29kZU9yaWdpbiwgbmFtZSk7CisKKyAgICAgICAgcmV0dXJuIHRo
aXMubWFwcGluZ1tuYW1lXTsKKyAgICB9CisKKyAgICBzdGF0aWMgcmVzZXRNYXBwaW5ncygpCisg
ICAgeworICAgICAgICB0aGlzLm1hcHBpbmcgPSB7fTsKKyAgICB9CisKKyAgICBkdW1wKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiB0aGlzLm5hbWU7CisgICAgfQorCisgICAgZ2V0IG5hbWUoKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX25hbWU7CisgICAgfQorfQorCitTZXR0aW5nLm1h
cHBpbmcgPSB7fTsKKworY2xhc3MgQW5kIGV4dGVuZHMgTm9kZQoreworICAgIGNvbnN0cnVjdG9y
KGNvZGVPcmlnaW4sIGxlZnQsIHJpZ2h0KQorICAgIHsKKyAgICAgICAgc3VwZXIoY29kZU9yaWdp
bik7CisgICAgICAgIHRoaXMuX2xlZnQgPSBsZWZ0OworICAgICAgICB0aGlzLl9yaWdodCA9IHJp
Z2h0OworICAgIH0KKworICAgIGNoaWxkcmVuKCkKKyAgICB7CisgICAgICAgIHJldHVybiBbdGhp
cy5sZWZ0LCB0aGlzLnJpZ2h0XTsKKyAgICB9CisKKyAgICBkdW1wKCkKKyAgICB7CisgICAgICAg
IHJldHVybiAiKCIgKyB0aGlzLmxlZnQuZHVtcCgpICsgIiBhbmQgIiArIHRoaXMucmlnaHQuZHVt
cCgpICsgIikiOworICAgIH0KKworICAgIGdldCBsZWZ0KCkKKyAgICB7CisgICAgICAgIHJldHVy
biB0aGlzLl9sZWZ0OworICAgIH0KKworICAgIGdldCByaWdodCgpCisgICAgeworICAgICAgICBy
ZXR1cm4gdGhpcy5fcmlnaHQ7CisgICAgfQorfQorCitjbGFzcyBPciBleHRlbmRzIE5vZGUKK3sK
KyAgICBjb25zdHJ1Y3Rvcihjb2RlT3JpZ2luLCBsZWZ0LCByaWdodCkKKyAgICB7CisgICAgICAg
IHN1cGVyKGNvZGVPcmlnaW4pOworICAgICAgICB0aGlzLl9sZWZ0ID0gbGVmdDsKKyAgICAgICAg
dGhpcy5fcmlnaHQgPSByaWdodDsKKyAgICB9CisKKyAgICBjaGlsZHJlbigpCisgICAgeworICAg
ICAgICByZXR1cm4gW3RoaXMubGVmdCwgdGhpcy5yaWdodF07CisgICAgfQorCisgICAgZHVtcCgp
CisgICAgeworICAgICAgICByZXR1cm4gIigiICsgdGhpcy5sZWZ0LmR1bXAoKSArICIgb3IgIiAr
IHRoaXMucmlnaHQuZHVtcCgpICsgIikiOworICAgIH0KKworICAgIGdldCBsZWZ0KCkKKyAgICB7
CisgICAgICAgIHJldHVybiB0aGlzLl9sZWZ0OworICAgIH0KKworICAgIGdldCByaWdodCgpCisg
ICAgeworICAgICAgICByZXR1cm4gdGhpcy5fcmlnaHQ7CisgICAgfQorfQorCitjbGFzcyBOb3Qg
ZXh0ZW5kcyBOb2RlCit7CisgICAgY29uc3RydWN0b3IoY29kZU9yaWdpbiwgY2hpbGQpCisgICAg
eworICAgICAgICBzdXBlcihjb2RlT3JpZ2luKTsKKyAgICAgICAgdGhpcy5fY2hpbGQgPSBjaGls
ZDsKKyAgICB9CisKKyAgICBjaGlsZHJlbigpCisgICAgeworICAgICAgICByZXR1cm4gW3RoaXMu
Y2hpbGRdOworICAgIH0KKworICAgIGR1bXAoKQorICAgIHsKKyAgICAgICAgcmV0dXJuICIobm90
IiArIHRoaXMuY2hpbGQuZHVtcCgpICsgIikiOworICAgIH0KKworICAgIGdldCBjaGlsZCgpCisg
ICAgeworICAgICAgICByZXR1cm4gdGhpcy5fY2hpbGQ7CisgICAgfQorfQorCitjbGFzcyBTa2lw
IGV4dGVuZHMgTm9DaGlsZHJlbgoreworICAgIGNvbnN0cnVjdG9yKGNvZGVPcmlnaW4pCisgICAg
eworICAgICAgICBzdXBlcihjb2RlT3JpZ2luKTsKKyAgICB9CisKKyAgICBkdW1wKCkKKyAgICB7
CisgICAgICAgIHJldHVybiAiICAgIHNraXAiOworICAgIH0KK30KKworY2xhc3MgSWZUaGVuRWxz
ZSBleHRlbmRzIE5vZGUKK3sKKyAgICBjb25zdHJ1Y3Rvcihjb2RlT3JpZ2luLCBwcmVkaWNhdGUs
IHRoZW5DYXNlKQorICAgIHsKKyAgICAgICAgc3VwZXIoY29kZU9yaWdpbik7CisgICAgICAgIHRo
aXMuX3ByZWRpY2F0ZSA9IHByZWRpY2F0ZTsKKyAgICAgICAgdGhpcy5fdGhlbkNhc2UgPSB0aGVu
Q2FzZTsKKyAgICAgICAgdGhpcy5fZWxzZUNhc2UgPSBuZXcgU2tpcChjb2RlT3JpZ2luKTsKKyAg
ICB9CisKKyAgICBjaGlsZHJlbigpCisgICAgeworICAgICAgICByZXR1cm4gW107CisgICAgfQor
CisgICAgZHVtcCgpCisgICAgeworICAgICAgICByZXR1cm4gImlmICIgKyB0aGlzLnByZWRpY2F0
ZS5kdW1wKCkgKyAiXG4iICsgdGhpcy50aGVuQ2FzZS5kdW1wKCkgKyAiXG5lbHNlXG4iICsgdGhp
cy5lbHNlQ2FzZS5kdW1wKCkgKyAiXG5lbmQiOworICAgIH0KKworICAgIGdldCBwcmVkaWNhdGUo
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3ByZWRpY2F0ZTsKKyAgICB9CisKKyAgICBn
ZXQgdGhlbkNhc2UoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3RoZW5DYXNlOworICAg
IH0KKworICAgIGdldCBlbHNlQ2FzZSgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fZWxz
ZUNhc2U7CisgICAgfQorCisgICAgc2V0IGVsc2VDYXNlKG5ld0Vsc2VDYXNlKQorICAgIHsKKyAg
ICAgICAgdGhpcy5fZWxzZUNhc2UgPSBuZXdFbHNlQ2FzZTsKKyAgICB9Cit9CisKK2NsYXNzIE1h
Y3JvIGV4dGVuZHMgTm9kZQoreworICAgIGNvbnN0cnVjdG9yKGNvZGVPcmlnaW4sIG5hbWUsIHZh
cmlhYmxlcywgYm9keSkKKyAgICB7CisgICAgICAgIHN1cGVyKGNvZGVPcmlnaW4pOworICAgICAg
ICB0aGlzLl9uYW1lID0gbmFtZTsKKyAgICAgICAgdGhpcy5fdmFyaWFibGVzID0gdmFyaWFibGVz
OworICAgICAgICB0aGlzLl9ib2R5ID0gYm9keTsKKyAgICB9CisKKyAgICBjaGlsZHJlbigpCisg
ICAgeworICAgICAgICByZXR1cm4gW107CisgICAgfQorCisgICAgZHVtcCgpCisgICAgeworICAg
ICAgICByZXR1cm4gIm1hY3JvICIgKyB0aGlzLm5hbWUgKyAiKCIgKyB0aGlzLnZhcmlhYmxlcy5t
YXAoZnVuY3Rpb24odikgeyByZXR1cm4gdi5kdW1wKCl9KS5qb2luKCIsICIpICsgIilcbiIgKyB0
aGlzLmJvZHkuZHVtcCgpICsgIlxuZW5kIjsKKyAgICB9CisKKyAgICBnZXQgbmFtZSgpCisgICAg
eworICAgICAgICByZXR1cm4gdGhpcy5fbmFtZTsKKyAgICB9CisKKyAgICBnZXQgdmFyaWFibGVz
KCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl92YXJpYWJsZXM7CisgICAgfQorCisgICAg
Z2V0IGJvZHkoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2JvZHk7CisgICAgfQorfQor
CitjbGFzcyBNYWNyb0NhbGwgZXh0ZW5kcyBOb2RlCit7CisgICAgY29uc3RydWN0b3IoY29kZU9y
aWdpbiwgbmFtZSwgb3BlcmFuZHMsIGFubm90YXRpb24pCisgICAgeworICAgICAgICBzdXBlcihj
b2RlT3JpZ2luKTsKKyAgICAgICAgdGhpcy5fbmFtZSA9IG5hbWU7CisgICAgICAgIHRoaXMuX29w
ZXJhbmRzID0gb3BlcmFuZHM7CisgICAgICAgIGlmICghdGhpcy5fb3BlcmFuZHMpCisgICAgICAg
ICAgICB0aHJvdyAiT3BlcmFuZHMgZW1wdHkgdG8gTWFjcm8gY2FsbCAiICsgbmFtZTsKKyAgICAg
ICAgdGhpcy5fYW5ub3RhdGlvbiA9IGFubm90YXRpb247CisgICAgfQorCisgICAgY2hpbGRyZW4o
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIFtdOworICAgIH0KKworICAgIGR1bXAoKQorICAgIHsK
KyAgICAgICAgcmV0dXJuICIgICAgIiArIHRoaXMubmFtZSArICIoIiArIHRoaXMub3BlcmFuZHMu
bWFwKGZ1bmN0aW9uKHYpIHsgcmV0dXJuIHYuZHVtcCgpIH0pLmpvaW4oIiwgIikgKyAiKSI7Cisg
ICAgfQorCisgICAgZ2V0IG5hbWUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX25hbWU7
CisgICAgfQorCisgICAgZ2V0IG9wZXJhbmRzKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlz
Ll9vcGVyYW5kczsKKyAgICB9CisKKyAgICBnZXQgYW5ub3RhdGlvbigpCisgICAgeworICAgICAg
ICByZXR1cm4gdGhpcy5fYW5ub3RhdGlvbjsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHJlc2V0QVNU
KCkKK3sKKyAgICBTdHJ1Y3RPZmZzZXQucmVzZXRNYXBwaW5ncygpOworICAgIFNpemVvZi5yZXNl
dE1hcHBpbmdzKCk7CisgICAgQ29uc3RFeHByLnJlc2V0TWFwcGluZ3MoKTsKKyAgICBMYWJlbC5y
ZXNldE1hcHBpbmdzKCk7CisgICAgTG9jYWxMYWJlbC5yZXNldE1hcHBpbmdzKCk7CisgICAgU2V0
dGluZy5yZXNldE1hcHBpbmdzKCk7Cit9CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL1JleEJlbmNo
L09mZmxpbmVBc3NlbWJsZXIvYmVuY2htYXJrLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNl
VGVzdHMvUmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9iZW5jaG1hcmsuanMJKG5vbmV4aXN0ZW50
KQorKysgUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5jaC9PZmZsaW5lQXNzZW1ibGVyL2JlbmNobWFy
ay5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisidXNlIHN0cmljdCI7CisKK2NsYXNzIE9mZmxpbmVB
c3NlbWJsZXJCZW5jaG1hcmsgZXh0ZW5kcyBCZW5jaG1hcmsgeworICAgIGNvbnN0cnVjdG9yKHZl
cmJvc2UgPSAwKQorICAgIHsKKyAgICAgICAgc3VwZXIodmVyYm9zZSk7CisgICAgICAgIHRoaXMu
YXN0ID0gdW5kZWZpbmVkOworICAgIH0KKworICAgIHJ1bk9uY2UoKQorICAgIHsKKyAgICAgICAg
cmVzZXRBU1QoKTsKKyAgICAgICAgdGhpcy5hc3QgPSBwYXJzZSgiTG93TGV2ZWxJbnRlcnByZXRl
ci5hc20iKTsKKyAgICB9CisKKyAgICB2YWxpZGF0ZSgpCisgICAgeworICAgICAgICBsZXQgYXN0
RHVtcGVkQXNMaW5lcyA9IHRoaXMuYXN0LmR1bXAoKS5zcGxpdCgiXG4iKTsKKworICAgICAgICBp
ZiAoYXN0RHVtcGVkQXNMaW5lcy5sZW5ndGggIT0gZXhwZWN0ZWRBU1REdW1wZWRBc0xpbmVzLmxl
bmd0aCkgeworICAgICAgICAgICAgdGhyb3coIkFjdHVhbCBudW1iZXIgb2YgbGluZXMgKCIgKyBh
c3REdW1wZWRBc0xpbmVzLmxlbmd0aCArICIpIGRpZmZlcnMgZnJvbSBleHBlY3RlZCBudW1iZXIg
b2YgbGluZXMoIiArIGV4cGVjdGVkQVNURHVtcGVkQXNMaW5lcy5sZW5ndGggKyAiKSIpOworICAg
ICAgICB9CisKKyAgICAgICAgbGV0IGluZGV4ID0gMDsKKyAgICAgICAgZm9yIChsZXQgbGluZSBv
ZiBhc3REdW1wZWRBc0xpbmVzKSB7CisgICAgICAgICAgICBsZXQgZXhwZWN0ZWRMaW5lID0gZXhw
ZWN0ZWRBU1REdW1wZWRBc0xpbmVzW2luZGV4XTsKKyAgICAgICAgICAgIGlmIChsaW5lICE9IGV4
cGVjdGVkTGluZSkKKyAgICAgICAgICAgICAgICB0aHJvdygiTGluZSAjIiArIChpbmRleCArIDEp
ICsgIiBkaWZmZXJzLiAgRXhwZWN0ZWQ6IFwiIiArIGV4cGVjdGVkTGluZSArICJcIiwgZ290IFwi
IiArIGxpbmUgKyAiXCIiKTsKKyAgICAgICAgICAgIGluZGV4Kys7CisgICAgICAgIH0KKyAgICB9
Cit9CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL1JleEJlbmNoL09mZmxpbmVBc3NlbWJsZXIvY29u
dmVydF9hc21fdG9fanMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5j
aC9PZmZsaW5lQXNzZW1ibGVyL2NvbnZlcnRfYXNtX3RvX2pzLnB5CShub25leGlzdGVudCkKKysr
IFBlcmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9jb252ZXJ0X2FzbV90
b19qcy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDYzIEBACisjIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisjICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorIyBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
IyBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyMgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisjIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisjIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyMgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisj
IFRoaXMgY29udmVydHMgYW4gb2ZmbGluZSBhc3NlbWJseSBmaWxlIGludG8gYSBKYXZhU2NyaXB0
IHN0cmluZy4KKyMgSXQgYWRkcyBuZXdsaW5lIGVzY2FwZXMgYW5kIHByb3Blcmx5IGVzY2FwZXMg
ZG91YmxlIHF1b3RlICgiKSBjaGFyYWN0ZXJzLgorIyBUaGUgaW5wdXQgYW5kIG91dHB1dCBmaWxl
cyBhcmUgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUuCisjCisjIEV4YW1wbGU6CisjICAg
ICBweXRob24gY29udmVydF9hc21fdG9fanMucHkgTG93TGV2ZWxJbnRlcnByZXRlci5hc20gTG93
TGV2ZWxJbnRlcnByZXRlci5qcworCitpbXBvcnQgYXJncGFyc2UKK2ltcG9ydCByZQorCisKK2hl
YWRlclRleHQgPSAiIiIvKgorICogRE8gTk9UIEVESVQgVEhJUyBGSUxFLCBpdCBpcyBhdXRvZ2Vu
ZXJhdGVkLgorICovCisidXNlIHN0cmljdCI7CisKKyIiIgorCisKK2RlZiBjb252ZXJ0RmlsZShp
bnB1dEZpbGUsIG91dHB1dEZpbGUpOgorICAgIG91dHB1dEZpbGUud3JpdGUoaGVhZGVyVGV4dCkK
KyAgICBvdXRwdXRGaWxlLndyaXRlKCIoZnVuY3Rpb24oKSB7XG4iKQorICAgIG91dHB1dEZpbGUu
d3JpdGUoIiAgICBsZXQgc291cmNlID0gYCIpCisgICAgZm9yIGxpbmUgaW4gaW5wdXRGaWxlOgor
ICAgICAgICBsaW5lID0gcmUuc3ViKCJgIiwgIlxcYCIsIGxpbmUpOworICAgICAgICBvdXRwdXRG
aWxlLndyaXRlKGxpbmUpCisKKyAgICBvdXRwdXRGaWxlLndyaXRlKCJgO1xuIikKKyAgICBvdXRw
dXRGaWxlLndyaXRlKCJcbiIpCisgICAgb3V0cHV0RmlsZS53cml0ZSgiICAgIG5ldyBGaWxlKFwi
e2ZpbGVOYW1lfVwiLCBzb3VyY2UpO1xuIi5mb3JtYXQoZmlsZU5hbWU9aW5wdXRGaWxlLm5hbWUp
KQorICAgIG91dHB1dEZpbGUud3JpdGUoIn0pKCk7XG4iKQorICAgIG91dHB1dEZpbGUud3JpdGUo
IlxuIikKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICBwYXJzZXIgPSBhcmdwYXJz
ZS5Bcmd1bWVudFBhcnNlcigpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiaW5wdXRGaWxlIiwg
dHlwZSA9IGFyZ3BhcnNlLkZpbGVUeXBlKCdyJyksIGhlbHA9Ik9mZmxpbmUgQXNzZW1ibGVyIGlu
cHV0IGZpbGUiKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIm91dHB1dEZpbGUiLCB0eXBlID0g
YXJncGFyc2UuRmlsZVR5cGUoJ3cnKSwgaGVscD0iSmF2YVNjcmlwdCBvdXRwdXQgZmlsZSIpCisg
ICAgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKKworICAgIGNvbnZlcnRGaWxlKGFyZ3MuaW5w
dXRGaWxlLCBhcmdzLm91dHB1dEZpbGUpCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL1JleEJlbmNo
L09mZmxpbmVBc3NlbWJsZXIvZXhwZWN0ZWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VU
ZXN0cy9SZXhCZW5jaC9PZmZsaW5lQXNzZW1ibGVyL2V4cGVjdGVkLmpzCShub25leGlzdGVudCkK
KysrIFBlcmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9leHBlY3RlZC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU2NzcgQEAKKy8qCisgKiBETyBOT1QgRURJVCBU
SElTIEZJTEUsIGl0IGlzIGF1dG9nZW5lcmF0ZWQuCisgKi8KKworInVzZSBzdHJpY3QiOworCits
ZXQgZXhwZWN0ZWRBU1REdW1wZWRBc0xpbmVzID0gWworICAgICJpZiBBUk12N2siLAorICAgICIi
LAorICAgICJlbHNlIiwKKyAgICAiICAgIHNraXAiLAorICAgICJlbmQiLAorICAgICJpZiBBUk12
N3MiLAorICAgICIiLAorICAgICJlbHNlIiwKKyAgICAiICAgIHNraXAiLAorICAgICJlbmQiLAor
ICAgICJjb25zdCBQdHJTaXplID0gY29uc3RleHByIChzaXplb2Yodm9pZCopKSIsCisgICAgImlm
IEpTVkFMVUU2NCIsCisgICAgImNvbnN0IENhbGxGcmFtZUhlYWRlclNsb3RzID0gNSIsCisgICAg
ImVsc2UiLAorICAgICJjb25zdCBDYWxsRnJhbWVIZWFkZXJTbG90cyA9IDQiLAorICAgICJjb25z
dCBDYWxsRnJhbWVBbGlnblNsb3RzID0gMSIsCisgICAgImVuZCIsCisgICAgImNvbnN0IFNsb3RT
aXplID0gOCIsCisgICAgImNvbnN0IEpTRW52aXJvbm1lbnRSZWNvcmRfdmFyaWFibGVzID0gKCgo
c2l6ZW9mIEpTRW52aXJvbm1lbnRSZWNvcmQgKyBTbG90U2l6ZSkgLSAxKSAmICh+KFNsb3RTaXpl
IC0gMSkpKSIsCisgICAgImNvbnN0IERpcmVjdEFyZ3VtZW50c19zdG9yYWdlID0gKCgoc2l6ZW9m
IERpcmVjdEFyZ3VtZW50cyArIFNsb3RTaXplKSAtIDEpICYgKH4oU2xvdFNpemUgLSAxKSkpIiwK
KyAgICAiY29uc3QgU3RhY2tBbGlnbm1lbnQgPSAxNiIsCisgICAgImNvbnN0IFN0YWNrQWxpZ25t
ZW50U2xvdHMgPSAyIiwKKyAgICAiY29uc3QgU3RhY2tBbGlnbm1lbnRNYXNrID0gKFN0YWNrQWxp
Z25tZW50IC0gMSkiLAorICAgICJjb25zdCBDYWxsZXJGcmFtZUFuZFBDU2l6ZSA9ICgyICogUHRy
U2l6ZSkiLAorICAgICJjb25zdCBDYWxsZXJGcmFtZSA9IDAiLAorICAgICJjb25zdCBSZXR1cm5Q
QyA9IChDYWxsZXJGcmFtZSArIFB0clNpemUpIiwKKyAgICAiY29uc3QgQ29kZUJsb2NrID0gKFJl
dHVyblBDICsgUHRyU2l6ZSkiLAorICAgICJjb25zdCBDYWxsZWUgPSAoQ29kZUJsb2NrICsgU2xv
dFNpemUpIiwKKyAgICAiY29uc3QgQXJndW1lbnRDb3VudCA9IChDYWxsZWUgKyBTbG90U2l6ZSki
LAorICAgICJjb25zdCBUaGlzQXJndW1lbnRPZmZzZXQgPSAoQXJndW1lbnRDb3VudCArIFNsb3RT
aXplKSIsCisgICAgImNvbnN0IEZpcnN0QXJndW1lbnRPZmZzZXQgPSAoVGhpc0FyZ3VtZW50T2Zm
c2V0ICsgU2xvdFNpemUpIiwKKyAgICAiY29uc3QgQ2FsbEZyYW1lSGVhZGVyU2l6ZSA9IFRoaXNB
cmd1bWVudE9mZnNldCIsCisgICAgImlmIEpTVkFMVUU2NCIsCisgICAgImNvbnN0IFRhZ0JpdFR5
cGVPdGhlciA9IDIiLAorICAgICJjb25zdCBUYWdCaXRCb29sID0gNCIsCisgICAgImNvbnN0IFRh
Z0JpdFVuZGVmaW5lZCA9IDgiLAorICAgICJjb25zdCBWYWx1ZUVtcHR5ID0gMCIsCisgICAgImNv
bnN0IFZhbHVlRmFsc2UgPSAoVGFnQml0VHlwZU90aGVyIHwgVGFnQml0Qm9vbCkiLAorICAgICJj
b25zdCBWYWx1ZVRydWUgPSAoKFRhZ0JpdFR5cGVPdGhlciB8IFRhZ0JpdEJvb2wpIHwgMSkiLAor
ICAgICJjb25zdCBWYWx1ZVVuZGVmaW5lZCA9IChUYWdCaXRUeXBlT3RoZXIgfCBUYWdCaXRVbmRl
ZmluZWQpIiwKKyAgICAiY29uc3QgVmFsdWVOdWxsID0gVGFnQml0VHlwZU90aGVyIiwKKyAgICAi
Y29uc3QgVGFnVHlwZU51bWJlciA9IDE4NDQ2NDYyNTk4NzMyODQwMDAwIiwKKyAgICAiY29uc3Qg
VGFnTWFzayA9IChUYWdUeXBlTnVtYmVyIHwgVGFnQml0VHlwZU90aGVyKSIsCisgICAgImVsc2Ui
LAorICAgICJjb25zdCBJbnQzMlRhZyA9ICgtMSkiLAorICAgICJjb25zdCBCb29sZWFuVGFnID0g
KC0yKSIsCisgICAgImNvbnN0IE51bGxUYWcgPSAoLTMpIiwKKyAgICAiY29uc3QgVW5kZWZpbmVk
VGFnID0gKC00KSIsCisgICAgImNvbnN0IENlbGxUYWcgPSAoLTUpIiwKKyAgICAiY29uc3QgRW1w
dHlWYWx1ZVRhZyA9ICgtNikiLAorICAgICJjb25zdCBEZWxldGVkVmFsdWVUYWcgPSAoLTcpIiwK
KyAgICAiY29uc3QgTG93ZXN0VGFnID0gRGVsZXRlZFZhbHVlVGFnIiwKKyAgICAiZW5kIiwKKyAg
ICAiY29uc3QgUHV0QnlJZFByaW1hcnlUeXBlTWFzayA9IGNvbnN0ZXhwciAoUHV0QnlJZFByaW1h
cnlUeXBlTWFzaykiLAorICAgICJjb25zdCBQdXRCeUlkUHJpbWFyeVR5cGVTZWNvbmRhcnkgPSBj
b25zdGV4cHIgKFB1dEJ5SWRQcmltYXJ5VHlwZVNlY29uZGFyeSkiLAorICAgICJjb25zdCBQdXRC
eUlkUHJpbWFyeVR5cGVPYmplY3RXaXRoU3RydWN0dXJlID0gY29uc3RleHByIChQdXRCeUlkUHJp
bWFyeVR5cGVPYmplY3RXaXRoU3RydWN0dXJlKSIsCisgICAgImNvbnN0IFB1dEJ5SWRQcmltYXJ5
VHlwZU9iamVjdFdpdGhTdHJ1Y3R1cmVPck90aGVyID0gY29uc3RleHByIChQdXRCeUlkUHJpbWFy
eVR5cGVPYmplY3RXaXRoU3RydWN0dXJlT3JPdGhlcikiLAorICAgICJjb25zdCBQdXRCeUlkU2Vj
b25kYXJ5VHlwZU1hc2sgPSBjb25zdGV4cHIgKFB1dEJ5SWRTZWNvbmRhcnlUeXBlTWFzaykiLAor
ICAgICJjb25zdCBQdXRCeUlkU2Vjb25kYXJ5VHlwZUJvdHRvbSA9IGNvbnN0ZXhwciAoUHV0QnlJ
ZFNlY29uZGFyeVR5cGVCb3R0b20pIiwKKyAgICAiY29uc3QgUHV0QnlJZFNlY29uZGFyeVR5cGVC
b29sZWFuID0gY29uc3RleHByIChQdXRCeUlkU2Vjb25kYXJ5VHlwZUJvb2xlYW4pIiwKKyAgICAi
Y29uc3QgUHV0QnlJZFNlY29uZGFyeVR5cGVPdGhlciA9IGNvbnN0ZXhwciAoUHV0QnlJZFNlY29u
ZGFyeVR5cGVPdGhlcikiLAorICAgICJjb25zdCBQdXRCeUlkU2Vjb25kYXJ5VHlwZUludDMyID0g
Y29uc3RleHByIChQdXRCeUlkU2Vjb25kYXJ5VHlwZUludDMyKSIsCisgICAgImNvbnN0IFB1dEJ5
SWRTZWNvbmRhcnlUeXBlTnVtYmVyID0gY29uc3RleHByIChQdXRCeUlkU2Vjb25kYXJ5VHlwZU51
bWJlcikiLAorICAgICJjb25zdCBQdXRCeUlkU2Vjb25kYXJ5VHlwZVN0cmluZyA9IGNvbnN0ZXhw
ciAoUHV0QnlJZFNlY29uZGFyeVR5cGVTdHJpbmcpIiwKKyAgICAiY29uc3QgUHV0QnlJZFNlY29u
ZGFyeVR5cGVTeW1ib2wgPSBjb25zdGV4cHIgKFB1dEJ5SWRTZWNvbmRhcnlUeXBlU3ltYm9sKSIs
CisgICAgImNvbnN0IFB1dEJ5SWRTZWNvbmRhcnlUeXBlT2JqZWN0ID0gY29uc3RleHByIChQdXRC
eUlkU2Vjb25kYXJ5VHlwZU9iamVjdCkiLAorICAgICJjb25zdCBQdXRCeUlkU2Vjb25kYXJ5VHlw
ZU9iamVjdE9yT3RoZXIgPSBjb25zdGV4cHIgKFB1dEJ5SWRTZWNvbmRhcnlUeXBlT2JqZWN0T3JP
dGhlcikiLAorICAgICJjb25zdCBQdXRCeUlkU2Vjb25kYXJ5VHlwZVRvcCA9IGNvbnN0ZXhwciAo
UHV0QnlJZFNlY29uZGFyeVR5cGVUb3ApIiwKKyAgICAiY29uc3QgQ2FsbE9wQ29kZVNpemUgPSA5
IiwKKyAgICAiaWYgKChYODZfNjQgb3IgQVJNNjQpIG9yIENfTE9PUCkiLAorICAgICJjb25zdCBt
YXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9IDAiLAorICAgICJlbHNlIiwKKyAgICAiaWYg
KChBUk0gb3IgQVJNdjdfVFJBRElUSU9OQUwpIG9yIEFSTXY3KSIsCisgICAgImNvbnN0IG1heEZy
YW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID0gMjQiLAorICAgICJlbHNlIiwKKyAgICAiaWYgKFg4
NiBvciBYODZfV0lOKSIsCisgICAgImNvbnN0IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxs
ID0gNDAiLAorICAgICJlbHNlIiwKKyAgICAiaWYgTUlQUyIsCisgICAgImNvbnN0IG1heEZyYW1l
RXh0ZW50Rm9yU2xvd1BhdGhDYWxsID0gNDAiLAorICAgICJlbHNlIiwKKyAgICAiaWYgWDg2XzY0
X1dJTiIsCisgICAgImNvbnN0IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID0gNjQiLAor
ICAgICJlbHNlIiwKKyAgICAiICAgIHNraXAiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAg
ICJlbmQiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJpZiAoKFg4Nl82NCBvciBYODZf
NjRfV0lOKSBvciBBUk02NCkiLAorICAgICJjb25zdCBDYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxS
ZWdpc3RlcnMgPSAzIiwKKyAgICAiZWxzZSIsCisgICAgImNvbnN0IENhbGxlZVNhdmVTcGFjZUFz
VmlydHVhbFJlZ2lzdGVycyA9IDAiLAorICAgICJlbmQiLAorICAgICJjb25zdCBDYWxsZWVTYXZl
U3BhY2VTdGFja0FsaWduZWQgPSAoKCgoQ2FsbGVlU2F2ZVNwYWNlQXNWaXJ0dWFsUmVnaXN0ZXJz
ICogU2xvdFNpemUpICsgU3RhY2tBbGlnbm1lbnQpIC0gMSkgJiAoflN0YWNrQWxpZ25tZW50TWFz
aykpIiwKKyAgICAiY29uc3QgQ2xlYXJXYXRjaHBvaW50ID0gY29uc3RleHByIChDbGVhcldhdGNo
cG9pbnQpIiwKKyAgICAiY29uc3QgSXNXYXRjaGVkID0gY29uc3RleHByIChJc1dhdGNoZWQpIiwK
KyAgICAiY29uc3QgSXNJbnZhbGlkYXRlZCA9IGNvbnN0ZXhwciAoSXNJbnZhbGlkYXRlZCkiLAor
ICAgICJjb25zdCBTaGFkb3dDaGlja2VuVGFpbE1hcmtlciA9IGNvbnN0ZXhwciAoU2hhZG93Q2hp
Y2tlbjo6UGFja2V0Ojp0YWlsTWFya2VyVmFsdWUpIiwKKyAgICAiY29uc3QgQXJpdGhQcm9maWxl
SW50ID0gMTA0ODU3NiIsCisgICAgImNvbnN0IEFyaXRoUHJvZmlsZUludEludCA9IDExNzk2NDgi
LAorICAgICJjb25zdCBBcml0aFByb2ZpbGVOdW1iZXIgPSAyMDk3MTUyIiwKKyAgICAiY29uc3Qg
QXJpdGhQcm9maWxlTnVtYmVySW50ID0gMjIyODIyNCIsCisgICAgImNvbnN0IEFyaXRoUHJvZmls
ZU51bWJlck51bWJlciA9IDIzNTkyOTYiLAorICAgICJjb25zdCBBcml0aFByb2ZpbGVJbnROdW1i
ZXIgPSAxMzEwNzIwIiwKKyAgICAiaWYgSlNWQUxVRTY0IiwKKyAgICAiY29uc3QgUEMgPSB0NCIs
CisgICAgImlmIEFSTTY0IiwKKyAgICAiY29uc3QgUEIgPSBjc3I3IiwKKyAgICAiY29uc3QgdGFn
VHlwZU51bWJlciA9IGNzcjgiLAorICAgICJjb25zdCB0YWdNYXNrID0gY3NyOSIsCisgICAgImVs
c2UiLAorICAgICJpZiBYODZfNjQiLAorICAgICJjb25zdCBQQiA9IGNzcjIiLAorICAgICJjb25z
dCB0YWdUeXBlTnVtYmVyID0gY3NyMyIsCisgICAgImNvbnN0IHRhZ01hc2sgPSBjc3I0IiwKKyAg
ICAiZWxzZSIsCisgICAgImlmIFg4Nl82NF9XSU4iLAorICAgICJjb25zdCBQQiA9IGNzcjQiLAor
ICAgICJjb25zdCB0YWdUeXBlTnVtYmVyID0gY3NyNSIsCisgICAgImNvbnN0IHRhZ01hc2sgPSBj
c3I2IiwKKyAgICAiZWxzZSIsCisgICAgImlmIENfTE9PUCIsCisgICAgImNvbnN0IFBCID0gY3Ny
MCIsCisgICAgImNvbnN0IHRhZ1R5cGVOdW1iZXIgPSBjc3IxIiwKKyAgICAiY29uc3QgdGFnTWFz
ayA9IGNzcjIiLAorICAgICJlbHNlIiwKKyAgICAiICAgIHNraXAiLAorICAgICJlbmQiLAorICAg
ICJlbmQiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJtYWNybyBsb2FkaXNGcm9tSW5z
dHJ1Y3Rpb24ob2Zmc2V0LCBkZXN0KSIsCisgICAgIiAgICBsb2FkaXMgKG9mZnNldCAqIDgpW1BC
LCBQQywgOF0sIGRlc3QiLAorICAgICJlbmQiLAorICAgICJtYWNybyBsb2FkcEZyb21JbnN0cnVj
dGlvbihvZmZzZXQsIGRlc3QpIiwKKyAgICAiICAgIGxvYWRwIChvZmZzZXQgKiA4KVtQQiwgUEMs
IDhdLCBkZXN0IiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gc3RvcmVpc1RvSW5zdHJ1Y3Rpb24o
dmFsdWUsIG9mZnNldCkiLAorICAgICIgICAgc3RvcmVpIHZhbHVlLCAob2Zmc2V0ICogOClbUEIs
IFBDLCA4XSIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIHN0b3JlcFRvSW5zdHJ1Y3Rpb24odmFs
dWUsIG9mZnNldCkiLAorICAgICIgICAgc3RvcmVwIHZhbHVlLCAob2Zmc2V0ICogOClbUEIsIFBD
LCA4XSIsCisgICAgImVuZCIsCisgICAgImVsc2UiLAorICAgICJjb25zdCBQQyA9IHQ0IiwKKyAg
ICAibWFjcm8gbG9hZGlzRnJvbUluc3RydWN0aW9uKG9mZnNldCwgZGVzdCkiLAorICAgICIgICAg
bG9hZGlzIChvZmZzZXQgKiA0KVtQQ10sIGRlc3QiLAorICAgICJlbmQiLAorICAgICJtYWNybyBs
b2FkcEZyb21JbnN0cnVjdGlvbihvZmZzZXQsIGRlc3QpIiwKKyAgICAiICAgIGxvYWRwIChvZmZz
ZXQgKiA0KVtQQ10sIGRlc3QiLAorICAgICJlbmQiLAorICAgICJtYWNybyBzdG9yZWlzVG9JbnN0
cnVjdGlvbih2YWx1ZSwgb2Zmc2V0KSIsCisgICAgIiAgICBzdG9yZWkgdmFsdWUsIChvZmZzZXQg
KiA0KVtQQ10iLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJpZiBYODZfNjRfV0lOIiwK
KyAgICAiY29uc3QgZXh0cmFUZW1wUmVnID0gdDAiLAorICAgICJlbHNlIiwKKyAgICAiY29uc3Qg
ZXh0cmFUZW1wUmVnID0gdDUiLAorICAgICJlbmQiLAorICAgICJpZiBCSUdfRU5ESUFOIiwKKyAg
ICAiY29uc3QgVGFnT2Zmc2V0ID0gMCIsCisgICAgImNvbnN0IFBheWxvYWRPZmZzZXQgPSA0IiwK
KyAgICAiZWxzZSIsCisgICAgImNvbnN0IFRhZ09mZnNldCA9IDQiLAorICAgICJjb25zdCBQYXls
b2FkT2Zmc2V0ID0gMCIsCisgICAgImVuZCIsCisgICAgImNvbnN0IElzQXJyYXkgPSBjb25zdGV4
cHIgKElzQXJyYXkpIiwKKyAgICAiY29uc3QgSW5kZXhpbmdTaGFwZU1hc2sgPSBjb25zdGV4cHIg
KEluZGV4aW5nU2hhcGVNYXNrKSIsCisgICAgImNvbnN0IE5vSW5kZXhpbmdTaGFwZSA9IGNvbnN0
ZXhwciAoTm9JbmRleGluZ1NoYXBlKSIsCisgICAgImNvbnN0IEludDMyU2hhcGUgPSBjb25zdGV4
cHIgKEludDMyU2hhcGUpIiwKKyAgICAiY29uc3QgRG91YmxlU2hhcGUgPSBjb25zdGV4cHIgKERv
dWJsZVNoYXBlKSIsCisgICAgImNvbnN0IENvbnRpZ3VvdXNTaGFwZSA9IGNvbnN0ZXhwciAoQ29u
dGlndW91c1NoYXBlKSIsCisgICAgImNvbnN0IEFycmF5U3RvcmFnZVNoYXBlID0gY29uc3RleHBy
IChBcnJheVN0b3JhZ2VTaGFwZSkiLAorICAgICJjb25zdCBTbG93UHV0QXJyYXlTdG9yYWdlU2hh
cGUgPSBjb25zdGV4cHIgKFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZSkiLAorICAgICJjb25zdCBT
dHJpbmdUeXBlID0gY29uc3RleHByIChTdHJpbmdUeXBlKSIsCisgICAgImNvbnN0IFN5bWJvbFR5
cGUgPSBjb25zdGV4cHIgKFN5bWJvbFR5cGUpIiwKKyAgICAiY29uc3QgT2JqZWN0VHlwZSA9IGNv
bnN0ZXhwciAoT2JqZWN0VHlwZSkiLAorICAgICJjb25zdCBGaW5hbE9iamVjdFR5cGUgPSBjb25z
dGV4cHIgKEZpbmFsT2JqZWN0VHlwZSkiLAorICAgICJjb25zdCBKU0Z1bmN0aW9uVHlwZSA9IGNv
bnN0ZXhwciAoSlNGdW5jdGlvblR5cGUpIiwKKyAgICAiY29uc3QgQXJyYXlUeXBlID0gY29uc3Rl
eHByIChBcnJheVR5cGUpIiwKKyAgICAiY29uc3QgRGVyaXZlZEFycmF5VHlwZSA9IGNvbnN0ZXhw
ciAoRGVyaXZlZEFycmF5VHlwZSkiLAorICAgICJjb25zdCBQcm94eU9iamVjdFR5cGUgPSBjb25z
dGV4cHIgKFByb3h5T2JqZWN0VHlwZSkiLAorICAgICJjb25zdCBJbnQ4QXJyYXlUeXBlID0gY29u
c3RleHByIChJbnQ4QXJyYXlUeXBlKSIsCisgICAgImNvbnN0IEludDE2QXJyYXlUeXBlID0gY29u
c3RleHByIChJbnQxNkFycmF5VHlwZSkiLAorICAgICJjb25zdCBJbnQzMkFycmF5VHlwZSA9IGNv
bnN0ZXhwciAoSW50MzJBcnJheVR5cGUpIiwKKyAgICAiY29uc3QgVWludDhBcnJheVR5cGUgPSBj
b25zdGV4cHIgKFVpbnQ4QXJyYXlUeXBlKSIsCisgICAgImNvbnN0IFVpbnQ4Q2xhbXBlZEFycmF5
VHlwZSA9IGNvbnN0ZXhwciAoVWludDhDbGFtcGVkQXJyYXlUeXBlKSIsCisgICAgImNvbnN0IFVp
bnQxNkFycmF5VHlwZSA9IGNvbnN0ZXhwciAoVWludDE2QXJyYXlUeXBlKSIsCisgICAgImNvbnN0
IFVpbnQzMkFycmF5VHlwZSA9IGNvbnN0ZXhwciAoVWludDMyQXJyYXlUeXBlKSIsCisgICAgImNv
bnN0IEZsb2F0MzJBcnJheVR5cGUgPSBjb25zdGV4cHIgKEZsb2F0MzJBcnJheVR5cGUpIiwKKyAg
ICAiY29uc3QgRmxvYXQ2NEFycmF5VHlwZSA9IGNvbnN0ZXhwciAoRmxvYXQ2NEFycmF5VHlwZSki
LAorICAgICJjb25zdCBGaXJzdEFycmF5VHlwZSA9IEludDhBcnJheVR5cGUiLAorICAgICJjb25z
dCBMYXN0QXJyYXlUeXBlID0gRmxvYXQ2NEFycmF5VHlwZSIsCisgICAgImNvbnN0IE1hc3F1ZXJh
ZGVzQXNVbmRlZmluZWQgPSBjb25zdGV4cHIgKE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQpIiwKKyAg
ICAiY29uc3QgSW1wbGVtZW50c0RlZmF1bHRIYXNJbnN0YW5jZSA9IGNvbnN0ZXhwciAoSW1wbGVt
ZW50c0RlZmF1bHRIYXNJbnN0YW5jZSkiLAorICAgICJjb25zdCBGaXJzdENvbnN0YW50UmVnaXN0
ZXJJbmRleCA9IGNvbnN0ZXhwciAoRmlyc3RDb25zdGFudFJlZ2lzdGVySW5kZXgpIiwKKyAgICAi
Y29uc3QgR2xvYmFsQ29kZSA9IGNvbnN0ZXhwciAoR2xvYmFsQ29kZSkiLAorICAgICJjb25zdCBF
dmFsQ29kZSA9IGNvbnN0ZXhwciAoRXZhbENvZGUpIiwKKyAgICAiY29uc3QgRnVuY3Rpb25Db2Rl
ID0gY29uc3RleHByIChGdW5jdGlvbkNvZGUpIiwKKyAgICAiY29uc3QgTW9kdWxlQ29kZSA9IGNv
bnN0ZXhwciAoTW9kdWxlQ29kZSkiLAorICAgICJjb25zdCBMTEludFJldHVyblBDID0gKEFyZ3Vt
ZW50Q291bnQgKyBUYWdPZmZzZXQpIiwKKyAgICAiY29uc3QgSGFzaEZsYWdzOEJpdEJ1ZmZlciA9
IDgiLAorICAgICJjb25zdCBmaXJzdE91dE9mTGluZU9mZnNldCA9IDEwMCIsCisgICAgImNvbnN0
IEdsb2JhbFByb3BlcnR5ID0gY29uc3RleHByIChHbG9iYWxQcm9wZXJ0eSkiLAorICAgICJjb25z
dCBHbG9iYWxWYXIgPSBjb25zdGV4cHIgKEdsb2JhbFZhcikiLAorICAgICJjb25zdCBHbG9iYWxM
ZXhpY2FsVmFyID0gY29uc3RleHByIChHbG9iYWxMZXhpY2FsVmFyKSIsCisgICAgImNvbnN0IENs
b3N1cmVWYXIgPSBjb25zdGV4cHIgKENsb3N1cmVWYXIpIiwKKyAgICAiY29uc3QgTG9jYWxDbG9z
dXJlVmFyID0gY29uc3RleHByIChMb2NhbENsb3N1cmVWYXIpIiwKKyAgICAiY29uc3QgTW9kdWxl
VmFyID0gY29uc3RleHByIChNb2R1bGVWYXIpIiwKKyAgICAiY29uc3QgR2xvYmFsUHJvcGVydHlX
aXRoVmFySW5qZWN0aW9uQ2hlY2tzID0gY29uc3RleHByIChHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJ
bmplY3Rpb25DaGVja3MpIiwKKyAgICAiY29uc3QgR2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNo
ZWNrcyA9IGNvbnN0ZXhwciAoR2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcykiLAorICAg
ICJjb25zdCBHbG9iYWxMZXhpY2FsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcyA9IGNvbnN0ZXhw
ciAoR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MpIiwKKyAgICAiY29uc3Qg
Q2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MgPSBjb25zdGV4cHIgKENsb3N1cmVWYXJX
aXRoVmFySW5qZWN0aW9uQ2hlY2tzKSIsCisgICAgImNvbnN0IFJlc29sdmVUeXBlTWFzayA9IGNv
bnN0ZXhwciAoR2V0UHV0SW5mbzo6dHlwZUJpdHMpIiwKKyAgICAiY29uc3QgSW5pdGlhbGl6YXRp
b25Nb2RlTWFzayA9IGNvbnN0ZXhwciAoR2V0UHV0SW5mbzo6aW5pdGlhbGl6YXRpb25CaXRzKSIs
CisgICAgImNvbnN0IEluaXRpYWxpemF0aW9uTW9kZVNoaWZ0ID0gY29uc3RleHByIChHZXRQdXRJ
bmZvOjppbml0aWFsaXphdGlvblNoaWZ0KSIsCisgICAgImNvbnN0IE5vdEluaXRpYWxpemF0aW9u
ID0gY29uc3RleHByIChJbml0aWFsaXphdGlvbk1vZGU6Ok5vdEluaXRpYWxpemF0aW9uKSIsCisg
ICAgImNvbnN0IE1hcmtlZEJsb2NrU2l6ZSA9IGNvbnN0ZXhwciAoTWFya2VkQmxvY2s6OmJsb2Nr
U2l6ZSkiLAorICAgICJjb25zdCBNYXJrZWRCbG9ja01hc2sgPSAofihNYXJrZWRCbG9ja1NpemUg
LSAxKSkiLAorICAgICJjb25zdCBCbGFja1RocmVzaG9sZCA9IGNvbnN0ZXhwciAoYmxhY2tUaHJl
c2hvbGQpIiwKKyAgICAiaWYgSlNWQUxVRTY0IiwKKyAgICAiY29uc3QgSlNGaW5hbE9iamVjdFNp
emVDbGFzc0luZGV4ID0gMSIsCisgICAgImVsc2UiLAorICAgICJjb25zdCBKU0ZpbmFsT2JqZWN0
U2l6ZUNsYXNzSW5kZXggPSAzIiwKKyAgICAiZW5kIiwKKyAgICAiY29uc3QgVmVjdG9yQnVmZmVy
T2Zmc2V0ID0gMCIsCisgICAgImlmIEpTVkFMVUU2NCIsCisgICAgImNvbnN0IFZlY3RvclNpemVP
ZmZzZXQgPSAxMiIsCisgICAgImVsc2UiLAorICAgICJjb25zdCBWZWN0b3JTaXplT2Zmc2V0ID0g
OCIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIGNyYXNoKCkiLAorICAgICJpZiBDX0xPT1AiLAor
ICAgICIgICAgY2xvb3BDcmFzaCAiLAorICAgICJlbHNlIiwKKyAgICAiICAgIGNhbGwgX2xsaW50
X2NyYXNoIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gYXNzZXJ0KGFzc2Vy
dGlvbikiLAorICAgICJpZiBBU1NFUlRfRU5BQkxFRCIsCisgICAgIiAgICBhc3NlcnRpb24oLm9r
KSIsCisgICAgIiAgICBjcmFzaCgpIiwKKyAgICAiLm9rOiIsCisgICAgImVsc2UiLAorICAgICIg
ICAgc2tpcCIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisgICAgImlmIFg4Nl82NCIsCisgICAg
Im1hY3JvIHByb2JlKGFjdGlvbikiLAorICAgICIgICAgcHVzaCBhMCwgYTEiLAorICAgICIgICAg
cHVzaCBhMiwgYTMiLAorICAgICIgICAgcHVzaCB0MCwgdDEiLAorICAgICIgICAgcHVzaCB0Miwg
dDMiLAorICAgICIgICAgcHVzaCB0NCwgdDUiLAorICAgICIgICAgYWN0aW9uKCkiLAorICAgICIg
ICAgcG9wIHQ1LCB0NCIsCisgICAgIiAgICBwb3AgdDMsIHQyIiwKKyAgICAiICAgIHBvcCB0MSwg
dDAiLAorICAgICIgICAgcG9wIGEzLCBhMiIsCisgICAgIiAgICBwb3AgYTEsIGEwIiwKKyAgICAi
ZW5kIiwKKyAgICAiZWxzZSIsCisgICAgIiAgICBza2lwIiwKKyAgICAiZW5kIiwKKyAgICAibWFj
cm8gY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodGVtcFJlZywgbG9jYXRpb24pIiwKKyAgICAi
aWYgKEFSTTY0IG9yIENfTE9PUCkiLAorICAgICIiLAorICAgICJlbHNlIiwKKyAgICAiaWYgKChB
Uk0gb3IgQVJNdjcpIG9yIEFSTXY3X1RSQURJVElPTkFMKSIsCisgICAgIiAgICBtb3ZlIHNwLCB0
ZW1wUmVnIiwKKyAgICAiICAgIGFuZHAgU3RhY2tBbGlnbm1lbnRNYXNrLCB0ZW1wUmVnIiwKKyAg
ICAiZWxzZSIsCisgICAgIiAgICBhbmRwIHNwLCBTdGFja0FsaWdubWVudE1hc2ssIHRlbXBSZWci
LAorICAgICJlbmQiLAorICAgICIgICAgYnRweiB0ZW1wUmVnLCAuc3RhY2tQb2ludGVyT2theSIs
CisgICAgIiAgICBtb3ZlIGxvY2F0aW9uLCB0ZW1wUmVnIiwKKyAgICAiICAgIGJyZWFrICIsCisg
ICAgIi5zdGFja1BvaW50ZXJPa2F5OiIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisgICAgImlm
ICgoKENfTE9PUCBvciBBUk02NCkgb3IgWDg2XzY0KSBvciBYODZfNjRfV0lOKSIsCisgICAgImNv
bnN0IENhbGxlZVNhdmVSZWdpc3RlckNvdW50ID0gMCIsCisgICAgImVsc2UiLAorICAgICJpZiAo
KEFSTSBvciBBUk12N19UUkFESVRJT05BTCkgb3IgQVJNdjcpIiwKKyAgICAiY29uc3QgQ2FsbGVl
U2F2ZVJlZ2lzdGVyQ291bnQgPSA3IiwKKyAgICAiZWxzZSIsCisgICAgImlmIE1JUFMiLAorICAg
ICJjb25zdCBDYWxsZWVTYXZlUmVnaXN0ZXJDb3VudCA9IDEiLAorICAgICJlbHNlIiwKKyAgICAi
aWYgKFg4NiBvciBYODZfV0lOKSIsCisgICAgImNvbnN0IENhbGxlZVNhdmVSZWdpc3RlckNvdW50
ID0gMyIsCisgICAgImVsc2UiLAorICAgICIgICAgc2tpcCIsCisgICAgImVuZCIsCisgICAgImVu
ZCIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisgICAgImNvbnN0IENhbGxlZVJlZ2lzdGVyU2F2
ZVNpemUgPSAoQ2FsbGVlU2F2ZVJlZ2lzdGVyQ291bnQgKiBQdHJTaXplKSIsCisgICAgImNvbnN0
IFZNRW50cnlUb3RhbEZyYW1lU2l6ZSA9ICgoKChDYWxsZWVSZWdpc3RlclNhdmVTaXplICsgc2l6
ZW9mIFZNRW50cnlSZWNvcmQpICsgU3RhY2tBbGlnbm1lbnQpIC0gMSkgJiAoflN0YWNrQWxpZ25t
ZW50TWFzaykpIiwKKyAgICAibWFjcm8gcHVzaENhbGxlZVNhdmVzKCkiLAorICAgICJpZiAoKChD
X0xPT1Agb3IgQVJNNjQpIG9yIFg4Nl82NCkgb3IgWDg2XzY0X1dJTikiLAorICAgICIiLAorICAg
ICJlbHNlIiwKKyAgICAiaWYgKEFSTSBvciBBUk12N19UUkFESVRJT05BTCkiLAorICAgICIgICAg
ZW1pdCBcInB1c2gge3I0LXIxMH1cIiIsCisgICAgImVsc2UiLAorICAgICJpZiBBUk12NyIsCisg
ICAgIiAgICBlbWl0IFwicHVzaCB7cjQtcjYsIHI4LXIxMX1cIiIsCisgICAgImVsc2UiLAorICAg
ICJpZiBNSVBTIiwKKyAgICAiICAgIGVtaXQgXCJhZGRpdSAkc3AsICRzcCwgLTRcIiIsCisgICAg
IiAgICBlbWl0IFwic3cgJHM0LCAwKCRzcClcIiIsCisgICAgIiAgICBlbWl0IFwibW92ZSAkczQs
ICRncFwiIiwKKyAgICAiZWxzZSIsCisgICAgImlmIFg4NiIsCisgICAgIiAgICBlbWl0IFwicHVz
aCAlZXNpXCIiLAorICAgICIgICAgZW1pdCBcInB1c2ggJWVkaVwiIiwKKyAgICAiICAgIGVtaXQg
XCJwdXNoICVlYnhcIiIsCisgICAgImVsc2UiLAorICAgICJpZiBYODZfV0lOIiwKKyAgICAiICAg
IGVtaXQgXCJwdXNoIGVzaVwiIiwKKyAgICAiICAgIGVtaXQgXCJwdXNoIGVkaVwiIiwKKyAgICAi
ICAgIGVtaXQgXCJwdXNoIGVieFwiIiwKKyAgICAiZWxzZSIsCisgICAgIiAgICBza2lwIiwKKyAg
ICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwK
KyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gcG9wQ2FsbGVlU2F2ZXMoKSIsCisg
ICAgImlmICgoKENfTE9PUCBvciBBUk02NCkgb3IgWDg2XzY0KSBvciBYODZfNjRfV0lOKSIsCisg
ICAgIiIsCisgICAgImVsc2UiLAorICAgICJpZiAoQVJNIG9yIEFSTXY3X1RSQURJVElPTkFMKSIs
CisgICAgIiAgICBlbWl0IFwicG9wIHtyNC1yMTB9XCIiLAorICAgICJlbHNlIiwKKyAgICAiaWYg
QVJNdjciLAorICAgICIgICAgZW1pdCBcInBvcCB7cjQtcjYsIHI4LXIxMX1cIiIsCisgICAgImVs
c2UiLAorICAgICJpZiBNSVBTIiwKKyAgICAiICAgIGVtaXQgXCJsdyAkczQsIDAoJHNwKVwiIiwK
KyAgICAiICAgIGVtaXQgXCJhZGRpdSAkc3AsICRzcCwgNFwiIiwKKyAgICAiZWxzZSIsCisgICAg
ImlmIFg4NiIsCisgICAgIiAgICBlbWl0IFwicG9wICVlYnhcIiIsCisgICAgIiAgICBlbWl0IFwi
cG9wICVlZGlcIiIsCisgICAgIiAgICBlbWl0IFwicG9wICVlc2lcIiIsCisgICAgImVsc2UiLAor
ICAgICJpZiBYODZfV0lOIiwKKyAgICAiICAgIGVtaXQgXCJwb3AgZWJ4XCIiLAorICAgICIgICAg
ZW1pdCBcInBvcCBlZGlcIiIsCisgICAgIiAgICBlbWl0IFwicG9wIGVzaVwiIiwKKyAgICAiZWxz
ZSIsCisgICAgIiAgICBza2lwIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwK
KyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAibWFj
cm8gcHJlc2VydmVDYWxsZXJQQ0FuZENGUigpIiwKKyAgICAiaWYgKCgoKENfTE9PUCBvciBBUk0p
IG9yIEFSTXY3KSBvciBBUk12N19UUkFESVRJT05BTCkgb3IgTUlQUykiLAorICAgICIgICAgcHVz
aCBsciIsCisgICAgIiAgICBwdXNoIGNmciIsCisgICAgImVsc2UiLAorICAgICJpZiAoKChYODYg
b3IgWDg2X1dJTikgb3IgWDg2XzY0KSBvciBYODZfNjRfV0lOKSIsCisgICAgIiAgICBwdXNoIGNm
ciIsCisgICAgImVsc2UiLAorICAgICJpZiBBUk02NCIsCisgICAgIiAgICBwdXNoIGNmciwgbHIi
LAorICAgICJlbHNlIiwKKyAgICAiICAgIGVycm9yIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwK
KyAgICAiZW5kIiwKKyAgICAiICAgIG1vdmUgc3AsIGNmciIsCisgICAgImVuZCIsCisgICAgIm1h
Y3JvIHJlc3RvcmVDYWxsZXJQQ0FuZENGUigpIiwKKyAgICAiICAgIG1vdmUgY2ZyLCBzcCIsCisg
ICAgImlmICgoKChDX0xPT1Agb3IgQVJNKSBvciBBUk12Nykgb3IgQVJNdjdfVFJBRElUSU9OQUwp
IG9yIE1JUFMpIiwKKyAgICAiICAgIHBvcCBjZnIiLAorICAgICIgICAgcG9wIGxyIiwKKyAgICAi
ZWxzZSIsCisgICAgImlmICgoKFg4NiBvciBYODZfV0lOKSBvciBYODZfNjQpIG9yIFg4Nl82NF9X
SU4pIiwKKyAgICAiICAgIHBvcCBjZnIiLAorICAgICJlbHNlIiwKKyAgICAiaWYgQVJNNjQiLAor
ICAgICIgICAgcG9wIGxyLCBjZnIiLAorICAgICJlbHNlIiwKKyAgICAiICAgIHNraXAiLAorICAg
ICJlbmQiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJtYWNybyBw
cmVzZXJ2ZUNhbGxlZVNhdmVzVXNlZEJ5TExJbnQoKSIsCisgICAgIiAgICBzdWJwIENhbGxlZVNh
dmVTcGFjZVN0YWNrQWxpZ25lZCwgc3AiLAorICAgICJpZiBDX0xPT1AiLAorICAgICIiLAorICAg
ICJlbHNlIiwKKyAgICAiaWYgKEFSTSBvciBBUk12N19UUkFESVRJT05BTCkiLAorICAgICIiLAor
ICAgICJlbHNlIiwKKyAgICAiaWYgQVJNdjciLAorICAgICIiLAorICAgICJlbHNlIiwKKyAgICAi
aWYgQVJNNjQiLAorICAgICIgICAgZW1pdCBcInN0cCB4MjcsIHgyOCwgW3gyOSwgIy0xNl1cIiIs
CisgICAgIiAgICBlbWl0IFwic3RwIHh6ciwgeDI2LCBbeDI5LCAjLTMyXVwiIiwKKyAgICAiZWxz
ZSIsCisgICAgImlmIE1JUFMiLAorICAgICIiLAorICAgICJlbHNlIiwKKyAgICAiaWYgWDg2IiwK
KyAgICAiIiwKKyAgICAiZWxzZSIsCisgICAgImlmIFg4Nl9XSU4iLAorICAgICIiLAorICAgICJl
bHNlIiwKKyAgICAiaWYgWDg2XzY0IiwKKyAgICAiICAgIHN0b3JlcCBjc3I0LCAoLTgpW2Nmcl0i
LAorICAgICIgICAgc3RvcmVwIGNzcjMsICgtMTYpW2Nmcl0iLAorICAgICIgICAgc3RvcmVwIGNz
cjIsICgtMjQpW2Nmcl0iLAorICAgICJlbHNlIiwKKyAgICAiaWYgWDg2XzY0X1dJTiIsCisgICAg
IiAgICBzdG9yZXAgY3NyNiwgKC04KVtjZnJdIiwKKyAgICAiICAgIHN0b3JlcCBjc3I1LCAoLTE2
KVtjZnJdIiwKKyAgICAiICAgIHN0b3JlcCBjc3I0LCAoLTI0KVtjZnJdIiwKKyAgICAiZWxzZSIs
CisgICAgIiAgICBza2lwIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAg
ICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwK
KyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gcmVzdG9yZUNhbGxlZVNhdmVzVXNl
ZEJ5TExJbnQoKSIsCisgICAgImlmIENfTE9PUCIsCisgICAgIiIsCisgICAgImVsc2UiLAorICAg
ICJpZiAoQVJNIG9yIEFSTXY3X1RSQURJVElPTkFMKSIsCisgICAgIiIsCisgICAgImVsc2UiLAor
ICAgICJpZiBBUk12NyIsCisgICAgIiIsCisgICAgImVsc2UiLAorICAgICJpZiBBUk02NCIsCisg
ICAgIiAgICBlbWl0IFwibGRwIHh6ciwgeDI2LCBbeDI5LCAjLTMyXVwiIiwKKyAgICAiICAgIGVt
aXQgXCJsZHAgeDI3LCB4MjgsIFt4MjksICMtMTZdXCIiLAorICAgICJlbHNlIiwKKyAgICAiaWYg
TUlQUyIsCisgICAgIiIsCisgICAgImVsc2UiLAorICAgICJpZiBYODYiLAorICAgICIiLAorICAg
ICJlbHNlIiwKKyAgICAiaWYgWDg2X1dJTiIsCisgICAgIiIsCisgICAgImVsc2UiLAorICAgICJp
ZiBYODZfNjQiLAorICAgICIgICAgbG9hZHAgKC0yNClbY2ZyXSwgY3NyMiIsCisgICAgIiAgICBs
b2FkcCAoLTE2KVtjZnJdLCBjc3IzIiwKKyAgICAiICAgIGxvYWRwICgtOClbY2ZyXSwgY3NyNCIs
CisgICAgImVsc2UiLAorICAgICJpZiBYODZfNjRfV0lOIiwKKyAgICAiICAgIGxvYWRwICgtMjQp
W2Nmcl0sIGNzcjQiLAorICAgICIgICAgbG9hZHAgKC0xNilbY2ZyXSwgY3NyNSIsCisgICAgIiAg
ICBsb2FkcCAoLTgpW2Nmcl0sIGNzcjYiLAorICAgICJlbHNlIiwKKyAgICAiICAgIHNraXAiLAor
ICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJlbmQi
LAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJl
bmQiLAorICAgICJtYWNybyBjb3B5Q2FsbGVlU2F2ZXNUb1ZNRW50cnlGcmFtZUNhbGxlZVNhdmVz
QnVmZmVyKHZtLCB0ZW1wKSIsCisgICAgImlmICgoQVJNNjQgb3IgWDg2XzY0KSBvciBYODZfNjRf
V0lOKSIsCisgICAgIiAgICBsb2FkcCBWTTo6dG9wVk1FbnRyeUZyYW1lW3ZtXSwgdGVtcCIsCisg
ICAgIiAgICB2bUVudHJ5UmVjb3JkKHRlbXAsIHRlbXApIiwKKyAgICAiICAgIGxlYXAgVk1FbnRy
eVJlY29yZDo6Y2FsbGVlU2F2ZVJlZ2lzdGVyc0J1ZmZlclt0ZW1wXSwgdGVtcCIsCisgICAgImlm
IEFSTTY0IiwKKyAgICAiICAgIHN0b3JlcCBjc3IwLCAwW3RlbXBdIiwKKyAgICAiICAgIHN0b3Jl
cCBjc3IxLCA4W3RlbXBdIiwKKyAgICAiICAgIHN0b3JlcCBjc3IyLCAxNlt0ZW1wXSIsCisgICAg
IiAgICBzdG9yZXAgY3NyMywgMjRbdGVtcF0iLAorICAgICIgICAgc3RvcmVwIGNzcjQsIDMyW3Rl
bXBdIiwKKyAgICAiICAgIHN0b3JlcCBjc3I1LCA0MFt0ZW1wXSIsCisgICAgIiAgICBzdG9yZXAg
Y3NyNiwgNDhbdGVtcF0iLAorICAgICIgICAgc3RvcmVwIGNzcjcsIDU2W3RlbXBdIiwKKyAgICAi
ICAgIHN0b3JlcCBjc3I4LCA2NFt0ZW1wXSIsCisgICAgIiAgICBzdG9yZXAgY3NyOSwgNzJbdGVt
cF0iLAorICAgICIgICAgc3RvcmVkIGNzZnIwLCA4MFt0ZW1wXSIsCisgICAgIiAgICBzdG9yZWQg
Y3NmcjEsIDg4W3RlbXBdIiwKKyAgICAiICAgIHN0b3JlZCBjc2ZyMiwgOTZbdGVtcF0iLAorICAg
ICIgICAgc3RvcmVkIGNzZnIzLCAxMDRbdGVtcF0iLAorICAgICIgICAgc3RvcmVkIGNzZnI0LCAx
MTJbdGVtcF0iLAorICAgICIgICAgc3RvcmVkIGNzZnI1LCAxMjBbdGVtcF0iLAorICAgICIgICAg
c3RvcmVkIGNzZnI2LCAxMjhbdGVtcF0iLAorICAgICIgICAgc3RvcmVkIGNzZnI3LCAxMzZbdGVt
cF0iLAorICAgICJlbHNlIiwKKyAgICAiaWYgWDg2XzY0IiwKKyAgICAiICAgIHN0b3JlcCBjc3Iw
LCAwW3RlbXBdIiwKKyAgICAiICAgIHN0b3JlcCBjc3IxLCA4W3RlbXBdIiwKKyAgICAiICAgIHN0
b3JlcCBjc3IyLCAxNlt0ZW1wXSIsCisgICAgIiAgICBzdG9yZXAgY3NyMywgMjRbdGVtcF0iLAor
ICAgICIgICAgc3RvcmVwIGNzcjQsIDMyW3RlbXBdIiwKKyAgICAiZWxzZSIsCisgICAgImlmIFg4
Nl82NF9XSU4iLAorICAgICIgICAgc3RvcmVwIGNzcjAsIDBbdGVtcF0iLAorICAgICIgICAgc3Rv
cmVwIGNzcjEsIDhbdGVtcF0iLAorICAgICIgICAgc3RvcmVwIGNzcjIsIDE2W3RlbXBdIiwKKyAg
ICAiICAgIHN0b3JlcCBjc3IzLCAyNFt0ZW1wXSIsCisgICAgIiAgICBzdG9yZXAgY3NyNCwgMzJb
dGVtcF0iLAorICAgICIgICAgc3RvcmVwIGNzcjUsIDQwW3RlbXBdIiwKKyAgICAiICAgIHN0b3Jl
cCBjc3I2LCA0OFt0ZW1wXSIsCisgICAgImVsc2UiLAorICAgICIgICAgc2tpcCIsCisgICAgImVu
ZCIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisgICAgImVsc2UiLAorICAgICIgICAgc2tpcCIs
CisgICAgImVuZCIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIHJlc3RvcmVDYWxsZWVTYXZlc0Zy
b21WTUVudHJ5RnJhbWVDYWxsZWVTYXZlc0J1ZmZlcih2bSwgdGVtcCkiLAorICAgICJpZiAoKEFS
TTY0IG9yIFg4Nl82NCkgb3IgWDg2XzY0X1dJTikiLAorICAgICIgICAgbG9hZHAgVk06OnRvcFZN
RW50cnlGcmFtZVt2bV0sIHRlbXAiLAorICAgICIgICAgdm1FbnRyeVJlY29yZCh0ZW1wLCB0ZW1w
KSIsCisgICAgIiAgICBsZWFwIFZNRW50cnlSZWNvcmQ6OmNhbGxlZVNhdmVSZWdpc3RlcnNCdWZm
ZXJbdGVtcF0sIHRlbXAiLAorICAgICJpZiBBUk02NCIsCisgICAgIiAgICBsb2FkcCAwW3RlbXBd
LCBjc3IwIiwKKyAgICAiICAgIGxvYWRwIDhbdGVtcF0sIGNzcjEiLAorICAgICIgICAgbG9hZHAg
MTZbdGVtcF0sIGNzcjIiLAorICAgICIgICAgbG9hZHAgMjRbdGVtcF0sIGNzcjMiLAorICAgICIg
ICAgbG9hZHAgMzJbdGVtcF0sIGNzcjQiLAorICAgICIgICAgbG9hZHAgNDBbdGVtcF0sIGNzcjUi
LAorICAgICIgICAgbG9hZHAgNDhbdGVtcF0sIGNzcjYiLAorICAgICIgICAgbG9hZHAgNTZbdGVt
cF0sIGNzcjciLAorICAgICIgICAgbG9hZHAgNjRbdGVtcF0sIGNzcjgiLAorICAgICIgICAgbG9h
ZHAgNzJbdGVtcF0sIGNzcjkiLAorICAgICIgICAgbG9hZGQgODBbdGVtcF0sIGNzZnIwIiwKKyAg
ICAiICAgIGxvYWRkIDg4W3RlbXBdLCBjc2ZyMSIsCisgICAgIiAgICBsb2FkZCA5Nlt0ZW1wXSwg
Y3NmcjIiLAorICAgICIgICAgbG9hZGQgMTA0W3RlbXBdLCBjc2ZyMyIsCisgICAgIiAgICBsb2Fk
ZCAxMTJbdGVtcF0sIGNzZnI0IiwKKyAgICAiICAgIGxvYWRkIDEyMFt0ZW1wXSwgY3NmcjUiLAor
ICAgICIgICAgbG9hZGQgMTI4W3RlbXBdLCBjc2ZyNiIsCisgICAgIiAgICBsb2FkZCAxMzZbdGVt
cF0sIGNzZnI3IiwKKyAgICAiZWxzZSIsCisgICAgImlmIFg4Nl82NCIsCisgICAgIiAgICBsb2Fk
cCAwW3RlbXBdLCBjc3IwIiwKKyAgICAiICAgIGxvYWRwIDhbdGVtcF0sIGNzcjEiLAorICAgICIg
ICAgbG9hZHAgMTZbdGVtcF0sIGNzcjIiLAorICAgICIgICAgbG9hZHAgMjRbdGVtcF0sIGNzcjMi
LAorICAgICIgICAgbG9hZHAgMzJbdGVtcF0sIGNzcjQiLAorICAgICJlbHNlIiwKKyAgICAiaWYg
WDg2XzY0X1dJTiIsCisgICAgIiAgICBsb2FkcCAwW3RlbXBdLCBjc3IwIiwKKyAgICAiICAgIGxv
YWRwIDhbdGVtcF0sIGNzcjEiLAorICAgICIgICAgbG9hZHAgMTZbdGVtcF0sIGNzcjIiLAorICAg
ICIgICAgbG9hZHAgMjRbdGVtcF0sIGNzcjMiLAorICAgICIgICAgbG9hZHAgMzJbdGVtcF0sIGNz
cjQiLAorICAgICIgICAgbG9hZHAgNDBbdGVtcF0sIGNzcjUiLAorICAgICIgICAgbG9hZHAgNDhb
dGVtcF0sIGNzcjYiLAorICAgICJlbHNlIiwKKyAgICAiICAgIHNraXAiLAorICAgICJlbmQiLAor
ICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJlbHNlIiwKKyAgICAiICAgIHNraXAiLAorICAg
ICJlbmQiLAorICAgICJlbmQiLAorICAgICJtYWNybyBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRl
ckNhbGwoZGVzdGluYXRpb25SZWdpc3RlcikiLAorICAgICJpZiAoKCgoKENfTE9PUCBvciBBUk0p
IG9yIEFSTXY3KSBvciBBUk12N19UUkFESVRJT05BTCkgb3IgQVJNNjQpIG9yIE1JUFMpIiwKKyAg
ICAiICAgIG1vdmUgbHIsIGRlc3RpbmF0aW9uUmVnaXN0ZXIiLAorICAgICJlbHNlIiwKKyAgICAi
aWYgKCgoWDg2IG9yIFg4Nl9XSU4pIG9yIFg4Nl82NCkgb3IgWDg2XzY0X1dJTikiLAorICAgICIg
ICAgcG9wIGRlc3RpbmF0aW9uUmVnaXN0ZXIiLAorICAgICJlbHNlIiwKKyAgICAiICAgIGVycm9y
IiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gZnVuY3Rp
b25Qcm9sb2d1ZSgpIiwKKyAgICAiaWYgKCgoWDg2IG9yIFg4Nl9XSU4pIG9yIFg4Nl82NCkgb3Ig
WDg2XzY0X1dJTikiLAorICAgICIgICAgcHVzaCBjZnIiLAorICAgICJlbHNlIiwKKyAgICAiaWYg
QVJNNjQiLAorICAgICIgICAgcHVzaCBjZnIsIGxyIiwKKyAgICAiZWxzZSIsCisgICAgImlmICgo
KChDX0xPT1Agb3IgQVJNKSBvciBBUk12Nykgb3IgQVJNdjdfVFJBRElUSU9OQUwpIG9yIE1JUFMp
IiwKKyAgICAiICAgIHB1c2ggbHIiLAorICAgICIgICAgcHVzaCBjZnIiLAorICAgICJlbHNlIiwK
KyAgICAiICAgIHNraXAiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAg
ICIgICAgbW92ZSBzcCwgY2ZyIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gZnVuY3Rpb25FcGls
b2d1ZSgpIiwKKyAgICAiaWYgKCgoWDg2IG9yIFg4Nl9XSU4pIG9yIFg4Nl82NCkgb3IgWDg2XzY0
X1dJTikiLAorICAgICIgICAgcG9wIGNmciIsCisgICAgImVsc2UiLAorICAgICJpZiBBUk02NCIs
CisgICAgIiAgICBwb3AgbHIsIGNmciIsCisgICAgImVsc2UiLAorICAgICJpZiAoKCgoQ19MT09Q
IG9yIEFSTSkgb3IgQVJNdjcpIG9yIEFSTXY3X1RSQURJVElPTkFMKSBvciBNSVBTKSIsCisgICAg
IiAgICBwb3AgY2ZyIiwKKyAgICAiICAgIHBvcCBsciIsCisgICAgImVsc2UiLAorICAgICIgICAg
c2tpcCIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisg
ICAgIm1hY3JvIHZtRW50cnlSZWNvcmQoZW50cnlGcmFtZVBvaW50ZXIsIHJlc3VsdFJlZykiLAor
ICAgICIgICAgc3VicCBlbnRyeUZyYW1lUG9pbnRlciwgVk1FbnRyeVRvdGFsRnJhbWVTaXplLCBy
ZXN1bHRSZWciLAorICAgICJlbmQiLAorICAgICJtYWNybyBnZXRGcmFtZVJlZ2lzdGVyU2l6ZUZv
ckNvZGVCbG9jayhjb2RlQmxvY2ssIHNpemUpIiwKKyAgICAiICAgIGxvYWRpIENvZGVCbG9jazo6
bV9udW1DYWxsZWVMb2NhbHNbY29kZUJsb2NrXSwgc2l6ZSIsCisgICAgIiAgICBsc2hpZnRwIDMs
IHNpemUiLAorICAgICIgICAgYWRkcCBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCwgc2l6
ZSIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIHJlc3RvcmVTdGFja1BvaW50ZXJBZnRlckNhbGwo
KSIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDIiLAorICAgICIgICAgZ2V0RnJh
bWVSZWdpc3RlclNpemVGb3JDb2RlQmxvY2sodDIsIHQyKSIsCisgICAgImlmIEFSTXY3IiwKKyAg
ICAiICAgIHN1YnAgY2ZyLCB0MiwgdDIiLAorICAgICIgICAgbW92ZSB0Miwgc3AiLAorICAgICJl
bHNlIiwKKyAgICAiICAgIHN1YnAgY2ZyLCB0Miwgc3AiLAorICAgICJlbmQiLAorICAgICJlbmQi
LAorICAgICJtYWNybyB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiaWYgQ09MTEVDVF9TVEFUUyIs
CisgICAgIiAgICBjYWxsU2xvd1BhdGgoX2xsaW50X2NvdW50X29wY29kZSkiLAorICAgICJlbHNl
IiwKKyAgICAiICAgIHNraXAiLAorICAgICJlbmQiLAorICAgICJpZiBFWEVDVVRJT05fVFJBQ0lO
RyIsCisgICAgIiAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3RyYWNlKSIsCisgICAgImVsc2UiLAor
ICAgICIgICAgc2tpcCIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIHRyYWNl
U2xvd1BhdGhFeGVjdXRpb24oKSIsCisgICAgImlmIENPTExFQ1RfU1RBVFMiLAorICAgICIgICAg
Y2FsbFNsb3dQYXRoKF9sbGludF9jb3VudF9vcGNvZGVfc2xvd19wYXRoKSIsCisgICAgImVsc2Ui
LAorICAgICIgICAgc2tpcCIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIGNh
bGxPcGNvZGVTbG93UGF0aChzbG93UGF0aCkiLAorICAgICIgICAgdHJhY2VTbG93UGF0aEV4ZWN1
dGlvbigpIiwKKyAgICAiICAgIGNhbGxTbG93UGF0aChzbG93UGF0aCkiLAorICAgICJlbmQiLAor
ICAgICJtYWNybyBjYWxsVGFyZ2V0RnVuY3Rpb24oY2FsbGVlKSIsCisgICAgImlmIENfTE9PUCIs
CisgICAgIiAgICBjbG9vcENhbGxKU0Z1bmN0aW9uIGNhbGxlZSIsCisgICAgImVsc2UiLAorICAg
ICIgICAgY2FsbCBjYWxsZWUiLAorICAgICJlbmQiLAorICAgICIgICAgcmVzdG9yZVN0YWNrUG9p
bnRlckFmdGVyQ2FsbCgpIiwKKyAgICAiICAgIGRpc3BhdGNoQWZ0ZXJDYWxsKCkiLAorICAgICJl
bmQiLAorICAgICJtYWNybyBwcmVwYXJlRm9yUmVndWxhckNhbGwoY2FsbGVlLCB0ZW1wMSwgdGVt
cDIsIHRlbXAzKSIsCisgICAgIiAgICBhZGRwIENhbGxlckZyYW1lQW5kUENTaXplLCBzcCIsCisg
ICAgImVuZCIsCisgICAgIm1hY3JvIHByZXBhcmVGb3JUYWlsQ2FsbChjYWxsZWUsIHRlbXAxLCB0
ZW1wMiwgdGVtcDMpIiwKKyAgICAiICAgIHJlc3RvcmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50KCki
LAorICAgICIgICAgbG9hZGkgKFBheWxvYWRPZmZzZXQgKyBBcmd1bWVudENvdW50KVtjZnJdLCB0
ZW1wMiIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdGVtcDEiLAorICAgICIgICAg
bG9hZHAgQ29kZUJsb2NrOjptX251bVBhcmFtZXRlcnNbdGVtcDFdLCB0ZW1wMSIsCisgICAgIiAg
ICBiaWx0ZXEgdGVtcDEsIHRlbXAyLCAubm9Bcml0eUZpeHVwIiwKKyAgICAiICAgIG1vdmUgdGVt
cDEsIHRlbXAyIiwKKyAgICAiLm5vQXJpdHlGaXh1cDoiLAorICAgICIgICAgbXVsaSBTbG90U2l6
ZSwgdGVtcDIiLAorICAgICIgICAgYWRkaSAoKFN0YWNrQWxpZ25tZW50IC0gMSkgKyBDYWxsRnJh
bWVIZWFkZXJTaXplKSwgdGVtcDIiLAorICAgICIgICAgYW5kaSAoflN0YWNrQWxpZ25tZW50TWFz
ayksIHRlbXAyIiwKKyAgICAiICAgIG1vdmUgY2ZyLCB0ZW1wMSIsCisgICAgIiAgICBhZGRwIHRl
bXAyLCB0ZW1wMSIsCisgICAgIiAgICBsb2FkaSAoUGF5bG9hZE9mZnNldCArIEFyZ3VtZW50Q291
bnQpW3NwXSwgdGVtcDIiLAorICAgICIgICAgbXVsaSBTbG90U2l6ZSwgdGVtcDIiLAorICAgICIg
ICAgYWRkaSAoKFN0YWNrQWxpZ25tZW50IC0gMSkgKyBDYWxsRnJhbWVIZWFkZXJTaXplKSwgdGVt
cDIiLAorICAgICIgICAgYW5kaSAoflN0YWNrQWxpZ25tZW50TWFzayksIHRlbXAyIiwKKyAgICAi
aWYgKCgoKChBUk0gb3IgQVJNdjdfVFJBRElUSU9OQUwpIG9yIEFSTXY3KSBvciBBUk02NCkgb3Ig
Q19MT09QKSBvciBNSVBTKSIsCisgICAgIiAgICBhZGRwICgyICogUHRyU2l6ZSksIHNwIiwKKyAg
ICAiICAgIHN1YmkgKDIgKiBQdHJTaXplKSwgdGVtcDIiLAorICAgICIgICAgbG9hZHAgUHRyU2l6
ZVtjZnJdLCBsciIsCisgICAgImVsc2UiLAorICAgICIgICAgYWRkcCBQdHJTaXplLCBzcCIsCisg
ICAgIiAgICBzdWJpIFB0clNpemUsIHRlbXAyIiwKKyAgICAiICAgIGxvYWRwIFB0clNpemVbY2Zy
XSwgdGVtcDMiLAorICAgICIgICAgc3RvcmVwIHRlbXAzLCAwW3NwXSIsCisgICAgImVuZCIsCisg
ICAgIiAgICBzdWJwIHRlbXAyLCB0ZW1wMSIsCisgICAgIiAgICBsb2FkcCAwW2Nmcl0sIGNmciIs
CisgICAgIi5jb3B5TG9vcDoiLAorICAgICIgICAgc3ViaSBQdHJTaXplLCB0ZW1wMiIsCisgICAg
IiAgICBsb2FkcCAwW3NwLCB0ZW1wMiwgMV0sIHRlbXAzIiwKKyAgICAiICAgIHN0b3JlcCB0ZW1w
MywgMFt0ZW1wMSwgdGVtcDIsIDFdIiwKKyAgICAiICAgIGJ0aW56IHRlbXAyLCAuY29weUxvb3Ai
LAorICAgICIgICAgbW92ZSB0ZW1wMSwgc3AiLAorICAgICIgICAgam1wIGNhbGxlZSIsCisgICAg
ImVuZCIsCisgICAgIm1hY3JvIHNsb3dQYXRoRm9yQ2FsbChzbG93UGF0aCwgcHJlcGFyZUNhbGwp
IiwKKyAgICAiICAgIHRyYWNlU2xvd1BhdGhFeGVjdXRpb24oKSIsCisgICAgIiAgICBjYWxsQ2Fs
bFNsb3dQYXRoKHNsb3dQYXRoLCBtYWNybyAoY2FsbGVlLCBjYWxsZWVGcmFtZVB0cikiLAorICAg
ICIgICAgYnRweiBjYWxsZWVGcmFtZVB0ciwgLmRvbnRVcGRhdGVTUCIsCisgICAgIiAgICBtb3Zl
IGNhbGxlZUZyYW1lUHRyLCBzcCIsCisgICAgIiAgICBwcmVwYXJlQ2FsbChjYWxsZWUsIHQyLCB0
MywgdDQpIiwKKyAgICAiLmRvbnRVcGRhdGVTUDoiLAorICAgICIgICAgY2FsbFRhcmdldEZ1bmN0
aW9uKGNhbGxlZSkiLAorICAgICJlbmQpIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gYXJyYXlQ
cm9maWxlKGNlbGxBbmRJbmRleGluZ1R5cGUsIHByb2ZpbGUsIHNjcmF0Y2gpIiwKKyAgICAiY29u
c3QgY2VsbCA9IGNlbGxBbmRJbmRleGluZ1R5cGUiLAorICAgICJjb25zdCBpbmRleGluZ1R5cGUg
PSBjZWxsQW5kSW5kZXhpbmdUeXBlIiwKKyAgICAiICAgIGxvYWRpIEpTQ2VsbDo6bV9zdHJ1Y3R1
cmVJRFtjZWxsXSwgc2NyYXRjaCIsCisgICAgIiAgICBzdG9yZWkgc2NyYXRjaCwgQXJyYXlQcm9m
aWxlOjptX2xhc3RTZWVuU3RydWN0dXJlSURbcHJvZmlsZV0iLAorICAgICIgICAgbG9hZGIgSlND
ZWxsOjptX2luZGV4aW5nVHlwZUFuZE1pc2NbY2VsbF0sIGluZGV4aW5nVHlwZSIsCisgICAgImVu
ZCIsCisgICAgIm1hY3JvIHNraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuKGNlbGwsIHNsb3dQYXRo
KSIsCisgICAgIiAgICBtZW1mZW5jZSAiLAorICAgICIgICAgYmJhIEpTQ2VsbDo6bV9jZWxsU3Rh
dGVbY2VsbF0sIEJsYWNrVGhyZXNob2xkLCAuZG9uZSIsCisgICAgIiAgICBzbG93UGF0aCgpIiwK
KyAgICAiLmRvbmU6IiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gbm90aWZ5V3JpdGUoc2V0LCBz
bG93KSIsCisgICAgIiAgICBiYm5lcSBXYXRjaHBvaW50U2V0OjptX3N0YXRlW3NldF0sIElzSW52
YWxpZGF0ZWQsIHNsb3ciLAorICAgICJlbmQiLAorICAgICJtYWNybyBjaGVja1N3aXRjaFRvSklU
KGluY3JlbWVudCwgYWN0aW9uKSIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDAi
LAorICAgICIgICAgYmFkZGlzIGluY3JlbWVudCwgKENvZGVCbG9jazo6bV9sbGludEV4ZWN1dGVD
b3VudGVyICsgQmFzZWxpbmVFeGVjdXRpb25Db3VudGVyOjptX2NvdW50ZXIpW3QwXSwgLmNvbnRp
bnVlIiwKKyAgICAiICAgIGFjdGlvbigpIiwKKyAgICAiLmNvbnRpbnVlOiIsCisgICAgImVuZCIs
CisgICAgIm1hY3JvIGNoZWNrU3dpdGNoVG9KSVRGb3JFcGlsb2d1ZSgpIiwKKyAgICAiICAgIGNo
ZWNrU3dpdGNoVG9KSVQoMTAsIG1hY3JvICgpIiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0
aChfbGxpbnRfcmVwbGFjZSkiLAorICAgICJlbmQpIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8g
YXNzZXJ0Tm90Q29uc3RhbnQoaW5kZXgpIiwKKyAgICAiICAgIGFzc2VydChtYWNybyAob2spIiwK
KyAgICAiICAgIGJpbHQgaW5kZXgsIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4LCBvayIsCisg
ICAgImVuZCkiLAorICAgICJlbmQiLAorICAgICJtYWNybyBmdW5jdGlvbkZvckNhbGxDb2RlQmxv
Y2tHZXR0ZXIodGFyZ2V0UmVnaXN0ZXIpIiwKKyAgICAiaWYgSlNWQUxVRTY0IiwKKyAgICAiICAg
IGxvYWRwIENhbGxlZVtjZnJdLCB0YXJnZXRSZWdpc3RlciIsCisgICAgImVsc2UiLAorICAgICIg
ICAgbG9hZHAgKENhbGxlZSArIFBheWxvYWRPZmZzZXQpW2Nmcl0sIHRhcmdldFJlZ2lzdGVyIiwK
KyAgICAiZW5kIiwKKyAgICAiICAgIGxvYWRwIEpTRnVuY3Rpb246Om1fZXhlY3V0YWJsZVt0YXJn
ZXRSZWdpc3Rlcl0sIHRhcmdldFJlZ2lzdGVyIiwKKyAgICAiICAgIGxvYWRwIEZ1bmN0aW9uRXhl
Y3V0YWJsZTo6bV9jb2RlQmxvY2tGb3JDYWxsW3RhcmdldFJlZ2lzdGVyXSwgdGFyZ2V0UmVnaXN0
ZXIiLAorICAgICJlbmQiLAorICAgICJtYWNybyBmdW5jdGlvbkZvckNvbnN0cnVjdENvZGVCbG9j
a0dldHRlcih0YXJnZXRSZWdpc3RlcikiLAorICAgICJpZiBKU1ZBTFVFNjQiLAorICAgICIgICAg
bG9hZHAgQ2FsbGVlW2Nmcl0sIHRhcmdldFJlZ2lzdGVyIiwKKyAgICAiZWxzZSIsCisgICAgIiAg
ICBsb2FkcCAoQ2FsbGVlICsgUGF5bG9hZE9mZnNldClbY2ZyXSwgdGFyZ2V0UmVnaXN0ZXIiLAor
ICAgICJlbmQiLAorICAgICIgICAgbG9hZHAgSlNGdW5jdGlvbjo6bV9leGVjdXRhYmxlW3Rhcmdl
dFJlZ2lzdGVyXSwgdGFyZ2V0UmVnaXN0ZXIiLAorICAgICIgICAgbG9hZHAgRnVuY3Rpb25FeGVj
dXRhYmxlOjptX2NvZGVCbG9ja0ZvckNvbnN0cnVjdFt0YXJnZXRSZWdpc3Rlcl0sIHRhcmdldFJl
Z2lzdGVyIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gbm90RnVuY3Rpb25Db2RlQmxvY2tHZXR0
ZXIodGFyZ2V0UmVnaXN0ZXIpIiwKKyAgICAiICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0YXJn
ZXRSZWdpc3RlciIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIGZ1bmN0aW9uQ29kZUJsb2NrU2V0
dGVyKHNvdXJjZVJlZ2lzdGVyKSIsCisgICAgIiAgICBzdG9yZXAgc291cmNlUmVnaXN0ZXIsIENv
ZGVCbG9ja1tjZnJdIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gbm90RnVuY3Rpb25Db2RlQmxv
Y2tTZXR0ZXIoc291cmNlUmVnaXN0ZXIpIiwKKyAgICAiIiwKKyAgICAiZW5kIiwKKyAgICAibWFj
cm8gcHJvbG9ndWUoY29kZUJsb2NrR2V0dGVyLCBjb2RlQmxvY2tTZXR0ZXIsIG9zclNsb3dQYXRo
LCB0cmFjZVNsb3dQYXRoKSIsCisgICAgIiAgICBwcmVzZXJ2ZUNhbGxlclBDQW5kQ0ZSKCkiLAor
ICAgICJpZiBFWEVDVVRJT05fVFJBQ0lORyIsCisgICAgIiAgICBzdWJwIG1heEZyYW1lRXh0ZW50
Rm9yU2xvd1BhdGhDYWxsLCBzcCIsCisgICAgIiAgICBjYWxsU2xvd1BhdGgodHJhY2VTbG93UGF0
aCkiLAorICAgICIgICAgYWRkcCBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCwgc3AiLAor
ICAgICJlbHNlIiwKKyAgICAiICAgIHNraXAiLAorICAgICJlbmQiLAorICAgICIgICAgY29kZUJs
b2NrR2V0dGVyKHQxKSIsCisgICAgImlmIChub3RDX0xPT1ApIiwKKyAgICAiICAgIGJhZGRpcyA1
LCAoQ29kZUJsb2NrOjptX2xsaW50RXhlY3V0ZUNvdW50ZXIgKyBCYXNlbGluZUV4ZWN1dGlvbkNv
dW50ZXI6Om1fY291bnRlcilbdDFdLCAuY29udGludWUiLAorICAgICJpZiBKU1ZBTFVFNjQiLAor
ICAgICIgICAgbW92ZSBjZnIsIGEwIiwKKyAgICAiICAgIG1vdmUgUEMsIGExIiwKKyAgICAiICAg
IGNDYWxsMihvc3JTbG93UGF0aCkiLAorICAgICJlbHNlIiwKKyAgICAiICAgIHN1YnAgOCwgc3Ai
LAorICAgICIgICAgbW92ZSBjZnIsIGEwIiwKKyAgICAiICAgIG1vdmUgUEMsIGExIiwKKyAgICAi
ICAgIGNDYWxsMihvc3JTbG93UGF0aCkiLAorICAgICIgICAgYWRkcCA4LCBzcCIsCisgICAgImVu
ZCIsCisgICAgIiAgICBidHB6IHIwLCAucmVjb3ZlciIsCisgICAgIiAgICBtb3ZlIGNmciwgc3Ai
LAorICAgICJpZiBBUk02NCIsCisgICAgIiAgICBwb3AgbHIsIGNmciIsCisgICAgImVsc2UiLAor
ICAgICJpZiAoKChBUk0gb3IgQVJNdjcpIG9yIEFSTXY3X1RSQURJVElPTkFMKSBvciBNSVBTKSIs
CisgICAgIiAgICBwb3AgY2ZyIiwKKyAgICAiICAgIHBvcCBsciIsCisgICAgImVsc2UiLAorICAg
ICIgICAgcG9wIGNmciIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisgICAgIiAgICBqbXAgcjAi
LAorICAgICIucmVjb3ZlcjoiLAorICAgICIgICAgY29kZUJsb2NrR2V0dGVyKHQxKSIsCisgICAg
Ii5jb250aW51ZToiLAorICAgICJlbHNlIiwKKyAgICAiICAgIHNraXAiLAorICAgICJlbmQiLAor
ICAgICIgICAgY29kZUJsb2NrU2V0dGVyKHQxKSIsCisgICAgIiAgICBwcmVzZXJ2ZUNhbGxlZVNh
dmVzVXNlZEJ5TExJbnQoKSIsCisgICAgImlmIEpTVkFMVUU2NCIsCisgICAgIiAgICBsb2FkcCBD
b2RlQmxvY2s6Om1faW5zdHJ1Y3Rpb25zW3QxXSwgUEIiLAorICAgICIgICAgbW92ZSAwLCBQQyIs
CisgICAgImVsc2UiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrOjptX2luc3RydWN0aW9uc1t0
MV0sIFBDIiwKKyAgICAiZW5kIiwKKyAgICAiICAgIGdldEZyYW1lUmVnaXN0ZXJTaXplRm9yQ29k
ZUJsb2NrKHQxLCB0MCkiLAorICAgICIgICAgc3VicCBjZnIsIHQwLCB0MCIsCisgICAgIiAgICBi
cGEgdDAsIGNmciwgLm5lZWRTdGFja0NoZWNrIiwKKyAgICAiICAgIGxvYWRwIENvZGVCbG9jazo6
bV92bVt0MV0sIHQyIiwKKyAgICAiaWYgQ19MT09QIiwKKyAgICAiICAgIGJwYmVxIFZNOjptX2Ns
b29wU3RhY2tMaW1pdFt0Ml0sIHQwLCAuc3RhY2tIZWlnaHRPSyIsCisgICAgImVsc2UiLAorICAg
ICIgICAgYnBiZXEgVk06Om1fc29mdFN0YWNrTGltaXRbdDJdLCB0MCwgLnN0YWNrSGVpZ2h0T0si
LAorICAgICJlbmQiLAorICAgICIubmVlZFN0YWNrQ2hlY2s6IiwKKyAgICAiICAgIHN1YnAgbWF4
RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwsIHNwIiwKKyAgICAiICAgIGNhbGxTbG93UGF0aChf
bGxpbnRfc3RhY2tfY2hlY2spIiwKKyAgICAiICAgIGJwZXEgcjEsIDAsIC5zdGFja0hlaWdodE9L
R2V0Q29kZUJsb2NrIiwKKyAgICAiICAgIG1vdmUgcjEsIGNmciIsCisgICAgIiAgICBkaXNwYXRj
aCgwKSIsCisgICAgIi5zdGFja0hlaWdodE9LR2V0Q29kZUJsb2NrOiIsCisgICAgIiAgICBjb2Rl
QmxvY2tHZXR0ZXIodDEpIiwKKyAgICAiICAgIGdldEZyYW1lUmVnaXN0ZXJTaXplRm9yQ29kZUJs
b2NrKHQxLCB0MCkiLAorICAgICIgICAgc3VicCBjZnIsIHQwLCB0MCIsCisgICAgIi5zdGFja0hl
aWdodE9LOiIsCisgICAgIiAgICBtb3ZlIHQwLCBzcCIsCisgICAgImlmIEpTVkFMVUU2NCIsCisg
ICAgIiAgICBtb3ZlIFRhZ1R5cGVOdW1iZXIsIHRhZ1R5cGVOdW1iZXIiLAorICAgICIgICAgYWRk
cCBUYWdCaXRUeXBlT3RoZXIsIHRhZ1R5cGVOdW1iZXIsIHRhZ01hc2siLAorICAgICJlbHNlIiwK
KyAgICAiICAgIHNraXAiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJtYWNybyBmdW5j
dGlvbkluaXRpYWxpemF0aW9uKHByb2ZpbGVBcmdTa2lwKSIsCisgICAgIiAgICBsb2FkaSBDb2Rl
QmxvY2s6Om1fbnVtUGFyYW1ldGVyc1t0MV0sIHQwIiwKKyAgICAiICAgIGFkZHAgKC1wcm9maWxl
QXJnU2tpcCksIHQwIiwKKyAgICAiICAgIGFzc2VydChtYWNybyAob2spIiwKKyAgICAiICAgIGJw
Z3RlcSB0MCwgMCwgb2siLAorICAgICJlbmQpIiwKKyAgICAiICAgIGJ0cHogdDAsIC5hcmd1bWVu
dFByb2ZpbGVEb25lIiwKKyAgICAiICAgIGxvYWRwIChDb2RlQmxvY2s6Om1fYXJndW1lbnRWYWx1
ZVByb2ZpbGVzICsgVmVjdG9yQnVmZmVyT2Zmc2V0KVt0MV0sIHQzIiwKKyAgICAiICAgIG11bHAg
c2l6ZW9mIFZhbHVlUHJvZmlsZSwgdDAsIHQyIiwKKyAgICAiICAgIGxzaGlmdHAgMywgdDAiLAor
ICAgICIgICAgYWRkcCB0MiwgdDMiLAorICAgICIuYXJndW1lbnRQcm9maWxlTG9vcDoiLAorICAg
ICJpZiBKU1ZBTFVFNjQiLAorICAgICIgICAgbG9hZHEgKChUaGlzQXJndW1lbnRPZmZzZXQgLSA4
KSArIChwcm9maWxlQXJnU2tpcCAqIDgpKVtjZnIsIHQwLCAxXSwgdDIiLAorICAgICIgICAgc3Vi
cCBzaXplb2YgVmFsdWVQcm9maWxlLCB0MyIsCisgICAgIiAgICBzdG9yZXEgdDIsICgocHJvZmls
ZUFyZ1NraXAgKiBzaXplb2YgVmFsdWVQcm9maWxlKSArIFZhbHVlUHJvZmlsZTo6bV9idWNrZXRz
KVt0M10iLAorICAgICJlbHNlIiwKKyAgICAiICAgIGxvYWRpICgoKFRoaXNBcmd1bWVudE9mZnNl
dCArIFRhZ09mZnNldCkgLSA4KSArIChwcm9maWxlQXJnU2tpcCAqIDgpKVtjZnIsIHQwLCAxXSwg
dDIiLAorICAgICIgICAgc3VicCBzaXplb2YgVmFsdWVQcm9maWxlLCB0MyIsCisgICAgIiAgICBz
dG9yZWkgdDIsICgoKHByb2ZpbGVBcmdTa2lwICogc2l6ZW9mIFZhbHVlUHJvZmlsZSkgKyBWYWx1
ZVByb2ZpbGU6Om1fYnVja2V0cykgKyBUYWdPZmZzZXQpW3QzXSIsCisgICAgIiAgICBsb2FkaSAo
KChUaGlzQXJndW1lbnRPZmZzZXQgKyBQYXlsb2FkT2Zmc2V0KSAtIDgpICsgKHByb2ZpbGVBcmdT
a2lwICogOCkpW2NmciwgdDAsIDFdLCB0MiIsCisgICAgIiAgICBzdG9yZWkgdDIsICgoKHByb2Zp
bGVBcmdTa2lwICogc2l6ZW9mIFZhbHVlUHJvZmlsZSkgKyBWYWx1ZVByb2ZpbGU6Om1fYnVja2V0
cykgKyBQYXlsb2FkT2Zmc2V0KVt0M10iLAorICAgICJlbmQiLAorICAgICIgICAgYmFkZHBueiAo
LTgpLCB0MCwgLmFyZ3VtZW50UHJvZmlsZUxvb3AiLAorICAgICIuYXJndW1lbnRQcm9maWxlRG9u
ZToiLAorICAgICJlbmQiLAorICAgICJtYWNybyBkb1JldHVybigpIiwKKyAgICAiICAgIHJlc3Rv
cmVDYWxsZWVTYXZlc1VzZWRCeUxMSW50KCkiLAorICAgICIgICAgcmVzdG9yZUNhbGxlclBDQW5k
Q0ZSKCkiLAorICAgICIgICAgcmV0ICIsCisgICAgImVuZCIsCisgICAgImlmIENfTE9PUCIsCisg
ICAgIl9sbGludF92bV9lbnRyeV90b19qYXZhc2NyaXB0OiIsCisgICAgImVsc2UiLAorICAgICJf
dm1FbnRyeVRvSmF2YVNjcmlwdDoiLAorICAgICJlbmQiLAorICAgICIgICAgZG9WTUVudHJ5KG1h
a2VKYXZhU2NyaXB0Q2FsbCkiLAorICAgICJpZiBDX0xPT1AiLAorICAgICJfbGxpbnRfdm1fZW50
cnlfdG9fbmF0aXZlOiIsCisgICAgImVsc2UiLAorICAgICJfdm1FbnRyeVRvTmF0aXZlOiIsCisg
ICAgImVuZCIsCisgICAgIiAgICBkb1ZNRW50cnkobWFrZUhvc3RGdW5jdGlvbkNhbGwpIiwKKyAg
ICAiaWYgKG5vdENfTE9PUCkiLAorICAgICJfc2FuaXRpemVTdGFja0ZvclZNSW1wbDoiLAorICAg
ICJpZiAoWDg2IG9yIFg4Nl9XSU4pIiwKKyAgICAiICAgIGxvYWRwIDRbc3BdLCBhMCIsCisgICAg
ImVsc2UiLAorICAgICIgICAgc2tpcCIsCisgICAgImVuZCIsCisgICAgImNvbnN0IHZtID0gYTAi
LAorICAgICJjb25zdCBhZGRyZXNzID0gYTEiLAorICAgICJjb25zdCB6ZXJvVmFsdWUgPSBhMiIs
CisgICAgIiAgICBsb2FkcCBWTTo6bV9sYXN0U3RhY2tUb3Bbdm1dLCBhZGRyZXNzIiwKKyAgICAi
ICAgIGJwYmVxIHNwLCBhZGRyZXNzLCAuemVyb0ZpbGxEb25lIiwKKyAgICAiICAgIG1vdmUgMCwg
emVyb1ZhbHVlIiwKKyAgICAiLnplcm9GaWxsTG9vcDoiLAorICAgICIgICAgc3RvcmVwIHplcm9W
YWx1ZSwgMFthZGRyZXNzXSIsCisgICAgIiAgICBhZGRwIFB0clNpemUsIGFkZHJlc3MiLAorICAg
ICIgICAgYnBhIHNwLCBhZGRyZXNzLCAuemVyb0ZpbGxMb29wIiwKKyAgICAiLnplcm9GaWxsRG9u
ZToiLAorICAgICIgICAgbW92ZSBzcCwgYWRkcmVzcyIsCisgICAgIiAgICBzdG9yZXAgYWRkcmVz
cywgVk06Om1fbGFzdFN0YWNrVG9wW3ZtXSIsCisgICAgIiAgICByZXQgIiwKKyAgICAiX3ZtRW50
cnlSZWNvcmQ6IiwKKyAgICAiaWYgKFg4NiBvciBYODZfV0lOKSIsCisgICAgIiAgICBsb2FkcCA0
W3NwXSwgYTAiLAorICAgICJlbHNlIiwKKyAgICAiICAgIHNraXAiLAorICAgICJlbmQiLAorICAg
ICIgICAgdm1FbnRyeVJlY29yZChhMCwgcjApIiwKKyAgICAiICAgIHJldCAiLAorICAgICJlbHNl
IiwKKyAgICAiICAgIHNraXAiLAorICAgICJlbmQiLAorICAgICJpZiBDX0xPT1AiLAorICAgICJf
bGxpbnRfZW50cnk6IiwKKyAgICAiICAgIGNyYXNoKCkiLAorICAgICJlbHNlIiwKKyAgICAibWFj
cm8gaW5pdFBDUmVsYXRpdmUocGNCYXNlKSIsCisgICAgImlmICgoKFg4Nl82NCBvciBYODZfNjRf
V0lOKSBvciBYODYpIG9yIFg4Nl9XSU4pIiwKKyAgICAiICAgIGNhbGwgX3JlbGF0aXZlUENCYXNl
IiwKKyAgICAiX3JlbGF0aXZlUENCYXNlOiIsCisgICAgIiAgICBwb3AgcGNCYXNlIiwKKyAgICAi
ZWxzZSIsCisgICAgImlmIEFSTTY0IiwKKyAgICAiIiwKKyAgICAiZWxzZSIsCisgICAgImlmIEFS
TXY3IiwKKyAgICAiX3JlbGF0aXZlUENCYXNlOiIsCisgICAgIiAgICBtb3ZlIHBjLCBwY0Jhc2Ui
LAorICAgICIgICAgc3VicCAzLCBwY0Jhc2UiLAorICAgICJlbHNlIiwKKyAgICAiaWYgKEFSTSBv
ciBBUk12N19UUkFESVRJT05BTCkiLAorICAgICJfcmVsYXRpdmVQQ0Jhc2U6IiwKKyAgICAiICAg
IG1vdmUgcGMsIHBjQmFzZSIsCisgICAgIiAgICBzdWJwIDgsIHBjQmFzZSIsCisgICAgImVsc2Ui
LAorICAgICJpZiBNSVBTIiwKKyAgICAiICAgIGxhIF9yZWxhdGl2ZVBDQmFzZSwgcGNCYXNlIiwK
KyAgICAiICAgIHNldGNhbGxyZWcgcGNCYXNlIiwKKyAgICAiX3JlbGF0aXZlUENCYXNlOiIsCisg
ICAgImVsc2UiLAorICAgICIgICAgc2tpcCIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisgICAg
ImVuZCIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIHNl
dEVudHJ5QWRkcmVzcyhpbmRleCwgbGFiZWwpIiwKKyAgICAiaWYgKFg4Nl82NCBvciBYODZfNjRf
V0lOKSIsCisgICAgIiAgICBsZWFwIChsYWJlbCAtIF9yZWxhdGl2ZVBDQmFzZSlbdDFdLCB0MyIs
CisgICAgIiAgICBtb3ZlIGluZGV4LCB0NCIsCisgICAgIiAgICBzdG9yZXAgdDMsIDBbYTAsIHQ0
LCA4XSIsCisgICAgImVsc2UiLAorICAgICJpZiAoWDg2IG9yIFg4Nl9XSU4pIiwKKyAgICAiICAg
IGxlYXAgKGxhYmVsIC0gX3JlbGF0aXZlUENCYXNlKVt0MV0sIHQzIiwKKyAgICAiICAgIG1vdmUg
aW5kZXgsIHQ0IiwKKyAgICAiICAgIHN0b3JlcCB0MywgMFthMCwgdDQsIDRdIiwKKyAgICAiZWxz
ZSIsCisgICAgImlmIEFSTTY0IiwKKyAgICAiICAgIHBjcnRvYWRkciBsYWJlbCwgdDEiLAorICAg
ICIgICAgbW92ZSBpbmRleCwgdDQiLAorICAgICIgICAgc3RvcmVwIHQxLCAwW2EwLCB0NCwgOF0i
LAorICAgICJlbHNlIiwKKyAgICAiaWYgKChBUk0gb3IgQVJNdjcpIG9yIEFSTXY3X1RSQURJVElP
TkFMKSIsCisgICAgIiAgICBtdmxibCAobGFiZWwgLSBfcmVsYXRpdmVQQ0Jhc2UpLCB0NCIsCisg
ICAgIiAgICBhZGRwIHQ0LCB0MSwgdDQiLAorICAgICIgICAgbW92ZSBpbmRleCwgdDMiLAorICAg
ICIgICAgc3RvcmVwIHQ0LCAwW2EwLCB0MywgNF0iLAorICAgICJlbHNlIiwKKyAgICAiaWYgTUlQ
UyIsCisgICAgIiAgICBsYSBsYWJlbCwgdDQiLAorICAgICIgICAgbGEgX3JlbGF0aXZlUENCYXNl
LCB0MyIsCisgICAgIiAgICBzdWJwIHQzLCB0NCIsCisgICAgIiAgICBhZGRwIHQ0LCB0MSwgdDQi
LAorICAgICIgICAgbW92ZSBpbmRleCwgdDMiLAorICAgICIgICAgc3RvcmVwIHQ0LCAwW2EwLCB0
MywgNF0iLAorICAgICJlbHNlIiwKKyAgICAiICAgIHNraXAiLAorICAgICJlbmQiLAorICAgICJl
bmQiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAg
ICJfbGxpbnRfZW50cnk6IiwKKyAgICAiICAgIGZ1bmN0aW9uUHJvbG9ndWUoKSIsCisgICAgIiAg
ICBwdXNoQ2FsbGVlU2F2ZXMoKSIsCisgICAgImlmIChYODYgb3IgWDg2X1dJTikiLAorICAgICIg
ICAgbG9hZHAgMjBbc3BdLCBhMCIsCisgICAgImVsc2UiLAorICAgICIgICAgc2tpcCIsCisgICAg
ImVuZCIsCisgICAgIiAgICBpbml0UENSZWxhdGl2ZSh0MSkiLAorICAgICIgICAgc2V0RW50cnlB
ZGRyZXNzKDAsIF9sbGludF9vcF9lbnRlcikiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDEs
IF9sbGludF9vcF9nZXRfc2NvcGUpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygyLCBfbGxp
bnRfb3BfY3JlYXRlX2RpcmVjdF9hcmd1bWVudHMpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVz
cygzLCBfbGxpbnRfb3BfY3JlYXRlX3Njb3BlZF9hcmd1bWVudHMpIiwKKyAgICAiICAgIHNldEVu
dHJ5QWRkcmVzcyg0LCBfbGxpbnRfb3BfY3JlYXRlX2Nsb25lZF9hcmd1bWVudHMpIiwKKyAgICAi
ICAgIHNldEVudHJ5QWRkcmVzcyg1LCBfbGxpbnRfb3BfY3JlYXRlX3RoaXMpIiwKKyAgICAiICAg
IHNldEVudHJ5QWRkcmVzcyg2LCBfbGxpbnRfb3BfZ2V0X2FyZ3VtZW50KSIsCisgICAgIiAgICBz
ZXRFbnRyeUFkZHJlc3MoNywgX2xsaW50X29wX2FyZ3VtZW50X2NvdW50KSIsCisgICAgIiAgICBz
ZXRFbnRyeUFkZHJlc3MoOCwgX2xsaW50X29wX3RvX3RoaXMpIiwKKyAgICAiICAgIHNldEVudHJ5
QWRkcmVzcyg5LCBfbGxpbnRfb3BfY2hlY2tfdGR6KSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJl
c3MoMTAsIF9sbGludF9vcF9uZXdfb2JqZWN0KSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3Mo
MTEsIF9sbGludF9vcF9uZXdfYXJyYXkpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygxMiwg
X2xsaW50X29wX25ld19hcnJheV93aXRoX3NpemUpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVz
cygxMywgX2xsaW50X29wX25ld19hcnJheV93aXRoX3NwcmVhZCkiLAorICAgICIgICAgc2V0RW50
cnlBZGRyZXNzKDE0LCBfbGxpbnRfb3Bfc3ByZWFkKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJl
c3MoMTUsIF9sbGludF9vcF9uZXdfYXJyYXlfYnVmZmVyKSIsCisgICAgIiAgICBzZXRFbnRyeUFk
ZHJlc3MoMTYsIF9sbGludF9vcF9uZXdfcmVnZXhwKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJl
c3MoMTcsIF9sbGludF9vcF9tb3YpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygxOCwgX2xs
aW50X29wX25vdCkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDE5LCBfbGxpbnRfb3BfZXEp
IiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygyMCwgX2xsaW50X29wX2VxX251bGwpIiwKKyAg
ICAiICAgIHNldEVudHJ5QWRkcmVzcygyMSwgX2xsaW50X29wX25lcSkiLAorICAgICIgICAgc2V0
RW50cnlBZGRyZXNzKDIyLCBfbGxpbnRfb3BfbmVxX251bGwpIiwKKyAgICAiICAgIHNldEVudHJ5
QWRkcmVzcygyMywgX2xsaW50X29wX3N0cmljdGVxKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJl
c3MoMjQsIF9sbGludF9vcF9uc3RyaWN0ZXEpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygy
NSwgX2xsaW50X29wX2xlc3MpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygyNiwgX2xsaW50
X29wX2xlc3NlcSkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDI3LCBfbGxpbnRfb3BfZ3Jl
YXRlcikiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDI4LCBfbGxpbnRfb3BfZ3JlYXRlcmVx
KSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoMjksIF9sbGludF9vcF9pbmMpIiwKKyAgICAi
ICAgIHNldEVudHJ5QWRkcmVzcygzMCwgX2xsaW50X29wX2RlYykiLAorICAgICIgICAgc2V0RW50
cnlBZGRyZXNzKDMxLCBfbGxpbnRfb3BfdG9fbnVtYmVyKSIsCisgICAgIiAgICBzZXRFbnRyeUFk
ZHJlc3MoMzIsIF9sbGludF9vcF90b19zdHJpbmcpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVz
cygzMywgX2xsaW50X29wX25lZ2F0ZSkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDM0LCBf
bGxpbnRfb3BfYWRkKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoMzUsIF9sbGludF9vcF9t
dWwpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygzNiwgX2xsaW50X29wX2RpdikiLAorICAg
ICIgICAgc2V0RW50cnlBZGRyZXNzKDM3LCBfbGxpbnRfb3BfbW9kKSIsCisgICAgIiAgICBzZXRF
bnRyeUFkZHJlc3MoMzgsIF9sbGludF9vcF9zdWIpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVz
cygzOSwgX2xsaW50X29wX3BvdykiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDQwLCBfbGxp
bnRfb3BfbHNoaWZ0KSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoNDEsIF9sbGludF9vcF9y
c2hpZnQpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcyg0MiwgX2xsaW50X29wX3Vyc2hpZnQp
IiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcyg0MywgX2xsaW50X29wX3Vuc2lnbmVkKSIsCisg
ICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoNDQsIF9sbGludF9vcF9iaXRhbmQpIiwKKyAgICAiICAg
IHNldEVudHJ5QWRkcmVzcyg0NSwgX2xsaW50X29wX2JpdHhvcikiLAorICAgICIgICAgc2V0RW50
cnlBZGRyZXNzKDQ2LCBfbGxpbnRfb3BfYml0b3IpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVz
cyg0NywgX2xsaW50X29wX292ZXJyaWRlc19oYXNfaW5zdGFuY2UpIiwKKyAgICAiICAgIHNldEVu
dHJ5QWRkcmVzcyg0OCwgX2xsaW50X29wX2luc3RhbmNlb2YpIiwKKyAgICAiICAgIHNldEVudHJ5
QWRkcmVzcyg0OSwgX2xsaW50X29wX2luc3RhbmNlb2ZfY3VzdG9tKSIsCisgICAgIiAgICBzZXRF
bnRyeUFkZHJlc3MoNTAsIF9sbGludF9vcF90eXBlb2YpIiwKKyAgICAiICAgIHNldEVudHJ5QWRk
cmVzcyg1MSwgX2xsaW50X29wX2lzX2VtcHR5KSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3Mo
NTIsIF9sbGludF9vcF9pc191bmRlZmluZWQpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcyg1
MywgX2xsaW50X29wX2lzX2Jvb2xlYW4pIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcyg1NCwg
X2xsaW50X29wX2lzX251bWJlcikiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDU1LCBfbGxp
bnRfb3BfaXNfb2JqZWN0KSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoNTYsIF9sbGludF9v
cF9pc19vYmplY3Rfb3JfbnVsbCkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDU3LCBfbGxp
bnRfb3BfaXNfZnVuY3Rpb24pIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcyg1OCwgX2xsaW50
X29wX2lzX2NlbGxfd2l0aF90eXBlKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoNTksIF9s
bGludF9vcF9pbikiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDYwLCBfbGxpbnRfb3BfZ2V0
X2FycmF5X2xlbmd0aCkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDYxLCBfbGxpbnRfb3Bf
Z2V0X2J5X2lkKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoNjIsIF9sbGludF9vcF9nZXRf
YnlfaWRfcHJvdG9fbG9hZCkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDYzLCBfbGxpbnRf
b3BfZ2V0X2J5X2lkX3Vuc2V0KSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoNjQsIF9sbGlu
dF9vcF9nZXRfYnlfaWRfd2l0aF90aGlzKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoNjUs
IF9sbGludF9vcF9nZXRfYnlfdmFsX3dpdGhfdGhpcykiLAorICAgICIgICAgc2V0RW50cnlBZGRy
ZXNzKDY2LCBfbGxpbnRfb3BfdHJ5X2dldF9ieV9pZCkiLAorICAgICIgICAgc2V0RW50cnlBZGRy
ZXNzKDY3LCBfbGxpbnRfb3BfcHV0X2J5X2lkKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3Mo
NjgsIF9sbGludF9vcF9wdXRfYnlfaWRfd2l0aF90aGlzKSIsCisgICAgIiAgICBzZXRFbnRyeUFk
ZHJlc3MoNjksIF9sbGludF9vcF9kZWxfYnlfaWQpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVz
cyg3MCwgX2xsaW50X29wX2dldF9ieV92YWwpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcyg3
MSwgX2xsaW50X29wX3B1dF9ieV92YWwpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcyg3Miwg
X2xsaW50X29wX3B1dF9ieV92YWxfd2l0aF90aGlzKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJl
c3MoNzMsIF9sbGludF9vcF9wdXRfYnlfdmFsX2RpcmVjdCkiLAorICAgICIgICAgc2V0RW50cnlB
ZGRyZXNzKDc0LCBfbGxpbnRfb3BfZGVsX2J5X3ZhbCkiLAorICAgICIgICAgc2V0RW50cnlBZGRy
ZXNzKDc1LCBfbGxpbnRfb3BfcHV0X2J5X2luZGV4KSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJl
c3MoNzYsIF9sbGludF9vcF9wdXRfZ2V0dGVyX2J5X2lkKSIsCisgICAgIiAgICBzZXRFbnRyeUFk
ZHJlc3MoNzcsIF9sbGludF9vcF9wdXRfc2V0dGVyX2J5X2lkKSIsCisgICAgIiAgICBzZXRFbnRy
eUFkZHJlc3MoNzgsIF9sbGludF9vcF9wdXRfZ2V0dGVyX3NldHRlcl9ieV9pZCkiLAorICAgICIg
ICAgc2V0RW50cnlBZGRyZXNzKDc5LCBfbGxpbnRfb3BfcHV0X2dldHRlcl9ieV92YWwpIiwKKyAg
ICAiICAgIHNldEVudHJ5QWRkcmVzcyg4MCwgX2xsaW50X29wX3B1dF9zZXR0ZXJfYnlfdmFsKSIs
CisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoODEsIF9sbGludF9vcF9kZWZpbmVfZGF0YV9wcm9w
ZXJ0eSkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDgyLCBfbGxpbnRfb3BfZGVmaW5lX2Fj
Y2Vzc29yX3Byb3BlcnR5KSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoODMsIF9sbGludF9v
cF9qbXApIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcyg4NCwgX2xsaW50X29wX2p0cnVlKSIs
CisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoODUsIF9sbGludF9vcF9qZmFsc2UpIiwKKyAgICAi
ICAgIHNldEVudHJ5QWRkcmVzcyg4NiwgX2xsaW50X29wX2plcV9udWxsKSIsCisgICAgIiAgICBz
ZXRFbnRyeUFkZHJlc3MoODcsIF9sbGludF9vcF9qbmVxX251bGwpIiwKKyAgICAiICAgIHNldEVu
dHJ5QWRkcmVzcyg4OCwgX2xsaW50X29wX2puZXFfcHRyKSIsCisgICAgIiAgICBzZXRFbnRyeUFk
ZHJlc3MoODksIF9sbGludF9vcF9qbGVzcykiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDkw
LCBfbGxpbnRfb3Bfamxlc3NlcSkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDkxLCBfbGxp
bnRfb3BfamdyZWF0ZXIpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcyg5MiwgX2xsaW50X29w
X2pncmVhdGVyZXEpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcyg5MywgX2xsaW50X29wX2pu
bGVzcykiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDk0LCBfbGxpbnRfb3Bfam5sZXNzZXEp
IiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcyg5NSwgX2xsaW50X29wX2puZ3JlYXRlcikiLAor
ICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDk2LCBfbGxpbnRfb3Bfam5ncmVhdGVyZXEpIiwKKyAg
ICAiICAgIHNldEVudHJ5QWRkcmVzcyg5NywgX2xsaW50X29wX2xvb3BfaGludCkiLAorICAgICIg
ICAgc2V0RW50cnlBZGRyZXNzKDk4LCBfbGxpbnRfb3Bfc3dpdGNoX2ltbSkiLAorICAgICIgICAg
c2V0RW50cnlBZGRyZXNzKDk5LCBfbGxpbnRfb3Bfc3dpdGNoX2NoYXIpIiwKKyAgICAiICAgIHNl
dEVudHJ5QWRkcmVzcygxMDAsIF9sbGludF9vcF9zd2l0Y2hfc3RyaW5nKSIsCisgICAgIiAgICBz
ZXRFbnRyeUFkZHJlc3MoMTAxLCBfbGxpbnRfb3BfbmV3X2Z1bmMpIiwKKyAgICAiICAgIHNldEVu
dHJ5QWRkcmVzcygxMDIsIF9sbGludF9vcF9uZXdfZnVuY19leHApIiwKKyAgICAiICAgIHNldEVu
dHJ5QWRkcmVzcygxMDMsIF9sbGludF9vcF9uZXdfZ2VuZXJhdG9yX2Z1bmMpIiwKKyAgICAiICAg
IHNldEVudHJ5QWRkcmVzcygxMDQsIF9sbGludF9vcF9uZXdfZ2VuZXJhdG9yX2Z1bmNfZXhwKSIs
CisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoMTA1LCBfbGxpbnRfb3BfbmV3X2FzeW5jX2Z1bmMp
IiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygxMDYsIF9sbGludF9vcF9uZXdfYXN5bmNfZnVu
Y19leHApIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygxMDcsIF9sbGludF9vcF9zZXRfZnVu
Y3Rpb25fbmFtZSkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDEwOCwgX2xsaW50X29wX2Nh
bGwpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygxMDksIF9sbGludF9vcF90YWlsX2NhbGwp
IiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygxMTAsIF9sbGludF9vcF9jYWxsX2V2YWwpIiwK
KyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygxMTEsIF9sbGludF9vcF9jYWxsX3ZhcmFyZ3MpIiwK
KyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygxMTIsIF9sbGludF9vcF90YWlsX2NhbGxfdmFyYXJn
cykiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDExMywgX2xsaW50X29wX3RhaWxfY2FsbF9m
b3J3YXJkX2FyZ3VtZW50cykiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDExNCwgX2xsaW50
X29wX3JldCkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDExNSwgX2xsaW50X29wX2NvbnN0
cnVjdCkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDExNiwgX2xsaW50X29wX2NvbnN0cnVj
dF92YXJhcmdzKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoMTE3LCBfbGxpbnRfb3Bfc3Ry
Y2F0KSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoMTE4LCBfbGxpbnRfb3BfdG9fcHJpbWl0
aXZlKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoMTE5LCBfbGxpbnRfb3BfcmVzb2x2ZV9z
Y29wZSkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDEyMCwgX2xsaW50X29wX2dldF9mcm9t
X3Njb3BlKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoMTIxLCBfbGxpbnRfb3BfcHV0X3Rv
X3Njb3BlKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoMTIyLCBfbGxpbnRfb3BfZ2V0X2Zy
b21fYXJndW1lbnRzKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoMTIzLCBfbGxpbnRfb3Bf
cHV0X3RvX2FyZ3VtZW50cykiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDEyNCwgX2xsaW50
X29wX3B1c2hfd2l0aF9zY29wZSkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDEyNSwgX2xs
aW50X29wX2NyZWF0ZV9sZXhpY2FsX2Vudmlyb25tZW50KSIsCisgICAgIiAgICBzZXRFbnRyeUFk
ZHJlc3MoMTI2LCBfbGxpbnRfb3BfZ2V0X3BhcmVudF9zY29wZSkiLAorICAgICIgICAgc2V0RW50
cnlBZGRyZXNzKDEyNywgX2xsaW50X29wX2NhdGNoKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJl
c3MoMTI4LCBfbGxpbnRfb3BfdGhyb3cpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygxMjks
IF9sbGludF9vcF90aHJvd19zdGF0aWNfZXJyb3IpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVz
cygxMzAsIF9sbGludF9vcF9kZWJ1ZykiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDEzMSwg
X2xsaW50X29wX2VuZCkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDEzMiwgX2xsaW50X29w
X3Byb2ZpbGVfdHlwZSkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDEzMywgX2xsaW50X29w
X3Byb2ZpbGVfY29udHJvbF9mbG93KSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoMTM0LCBf
bGxpbnRfb3BfZ2V0X2VudW1lcmFibGVfbGVuZ3RoKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJl
c3MoMTM1LCBfbGxpbnRfb3BfaGFzX2luZGV4ZWRfcHJvcGVydHkpIiwKKyAgICAiICAgIHNldEVu
dHJ5QWRkcmVzcygxMzYsIF9sbGludF9vcF9oYXNfc3RydWN0dXJlX3Byb3BlcnR5KSIsCisgICAg
IiAgICBzZXRFbnRyeUFkZHJlc3MoMTM3LCBfbGxpbnRfb3BfaGFzX2dlbmVyaWNfcHJvcGVydHkp
IiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygxMzgsIF9sbGludF9vcF9nZXRfZGlyZWN0X3Bu
YW1lKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoMTM5LCBfbGxpbnRfb3BfZ2V0X3Byb3Bl
cnR5X2VudW1lcmF0b3IpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygxNDAsIF9sbGludF9v
cF9lbnVtZXJhdG9yX3N0cnVjdHVyZV9wbmFtZSkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNz
KDE0MSwgX2xsaW50X29wX2VudW1lcmF0b3JfZ2VuZXJpY19wbmFtZSkiLAorICAgICIgICAgc2V0
RW50cnlBZGRyZXNzKDE0MiwgX2xsaW50X29wX3RvX2luZGV4X3N0cmluZykiLAorICAgICIgICAg
c2V0RW50cnlBZGRyZXNzKDE0MywgX2xsaW50X29wX2Fzc2VydCkiLAorICAgICIgICAgc2V0RW50
cnlBZGRyZXNzKDE0NCwgX2xsaW50X29wX3VucmVhY2hhYmxlKSIsCisgICAgIiAgICBzZXRFbnRy
eUFkZHJlc3MoMTQ1LCBfbGxpbnRfb3BfY3JlYXRlX3Jlc3QpIiwKKyAgICAiICAgIHNldEVudHJ5
QWRkcmVzcygxNDYsIF9sbGludF9vcF9nZXRfcmVzdF9sZW5ndGgpIiwKKyAgICAiICAgIHNldEVu
dHJ5QWRkcmVzcygxNDcsIF9sbGludF9vcF95aWVsZCkiLAorICAgICIgICAgc2V0RW50cnlBZGRy
ZXNzKDE0OCwgX2xsaW50X29wX2NoZWNrX3RyYXBzKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJl
c3MoMTQ5LCBfbGxpbnRfb3BfbG9nX3NoYWRvd19jaGlja2VuX3Byb2xvZ3VlKSIsCisgICAgIiAg
ICBzZXRFbnRyeUFkZHJlc3MoMTUwLCBfbGxpbnRfb3BfbG9nX3NoYWRvd19jaGlja2VuX3RhaWwp
IiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygxNTEsIF9sbGludF9vcF9yZXNvbHZlX3Njb3Bl
X2Zvcl9ob2lzdGluZ19mdW5jX2RlY2xfaW5fZXZhbCkiLAorICAgICIgICAgc2V0RW50cnlBZGRy
ZXNzKDE1MiwgX2xsaW50X29wX25vcCkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDE1Mywg
X2xsaW50X3Byb2dyYW1fcHJvbG9ndWUpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygxNTQs
IF9sbGludF9ldmFsX3Byb2xvZ3VlKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoMTU1LCBf
bGxpbnRfbW9kdWxlX3Byb2dyYW1fcHJvbG9ndWUpIiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVz
cygxNTYsIF9sbGludF9mdW5jdGlvbl9mb3JfY2FsbF9wcm9sb2d1ZSkiLAorICAgICIgICAgc2V0
RW50cnlBZGRyZXNzKDE1NywgX2xsaW50X2Z1bmN0aW9uX2Zvcl9jb25zdHJ1Y3RfcHJvbG9ndWUp
IiwKKyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygxNTgsIF9sbGludF9mdW5jdGlvbl9mb3JfY2Fs
bF9hcml0eV9jaGVjaykiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDE1OSwgX2xsaW50X2Z1
bmN0aW9uX2Zvcl9jb25zdHJ1Y3RfYXJpdHlfY2hlY2spIiwKKyAgICAiICAgIHNldEVudHJ5QWRk
cmVzcygxNjAsIF9sbGludF9nZW5lcmljX3JldHVybl9wb2ludCkiLAorICAgICIgICAgc2V0RW50
cnlBZGRyZXNzKDE2MSwgX2xsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmUpIiwK
KyAgICAiICAgIHNldEVudHJ5QWRkcmVzcygxNjIsIF9sbGludF90aHJvd19kdXJpbmdfY2FsbF90
cmFtcG9saW5lKSIsCisgICAgIiAgICBzZXRFbnRyeUFkZHJlc3MoMTYzLCBfbGxpbnRfbmF0aXZl
X2NhbGxfdHJhbXBvbGluZSkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNzKDE2NCwgX2xsaW50
X25hdGl2ZV9jb25zdHJ1Y3RfdHJhbXBvbGluZSkiLAorICAgICIgICAgc2V0RW50cnlBZGRyZXNz
KDE2NSwgX2hhbmRsZVVuY2F1Z2h0RXhjZXB0aW9uKSIsCisgICAgIiAgICBwb3BDYWxsZWVTYXZl
cygpIiwKKyAgICAiICAgIGZ1bmN0aW9uRXBpbG9ndWUoKSIsCisgICAgIiAgICByZXQgIiwKKyAg
ICAiZW5kIiwKKyAgICAiX2xsaW50X3Byb2dyYW1fcHJvbG9ndWU6IiwKKyAgICAiICAgIHByb2xv
Z3VlKG5vdEZ1bmN0aW9uQ29kZUJsb2NrR2V0dGVyLCBub3RGdW5jdGlvbkNvZGVCbG9ja1NldHRl
ciwgX2xsaW50X2VudHJ5X29zciwgX2xsaW50X3RyYWNlX3Byb2xvZ3VlKSIsCisgICAgIiAgICBk
aXNwYXRjaCgwKSIsCisgICAgIl9sbGludF9tb2R1bGVfcHJvZ3JhbV9wcm9sb2d1ZToiLAorICAg
ICIgICAgcHJvbG9ndWUobm90RnVuY3Rpb25Db2RlQmxvY2tHZXR0ZXIsIG5vdEZ1bmN0aW9uQ29k
ZUJsb2NrU2V0dGVyLCBfbGxpbnRfZW50cnlfb3NyLCBfbGxpbnRfdHJhY2VfcHJvbG9ndWUpIiwK
KyAgICAiICAgIGRpc3BhdGNoKDApIiwKKyAgICAiX2xsaW50X2V2YWxfcHJvbG9ndWU6IiwKKyAg
ICAiICAgIHByb2xvZ3VlKG5vdEZ1bmN0aW9uQ29kZUJsb2NrR2V0dGVyLCBub3RGdW5jdGlvbkNv
ZGVCbG9ja1NldHRlciwgX2xsaW50X2VudHJ5X29zciwgX2xsaW50X3RyYWNlX3Byb2xvZ3VlKSIs
CisgICAgIiAgICBkaXNwYXRjaCgwKSIsCisgICAgIl9sbGludF9mdW5jdGlvbl9mb3JfY2FsbF9w
cm9sb2d1ZToiLAorICAgICIgICAgcHJvbG9ndWUoZnVuY3Rpb25Gb3JDYWxsQ29kZUJsb2NrR2V0
dGVyLCBmdW5jdGlvbkNvZGVCbG9ja1NldHRlciwgX2xsaW50X2VudHJ5X29zcl9mdW5jdGlvbl9m
b3JfY2FsbCwgX2xsaW50X3RyYWNlX3Byb2xvZ3VlX2Z1bmN0aW9uX2Zvcl9jYWxsKSIsCisgICAg
IiAgICBmdW5jdGlvbkluaXRpYWxpemF0aW9uKDApIiwKKyAgICAiICAgIGRpc3BhdGNoKDApIiwK
KyAgICAiX2xsaW50X2Z1bmN0aW9uX2Zvcl9jb25zdHJ1Y3RfcHJvbG9ndWU6IiwKKyAgICAiICAg
IHByb2xvZ3VlKGZ1bmN0aW9uRm9yQ29uc3RydWN0Q29kZUJsb2NrR2V0dGVyLCBmdW5jdGlvbkNv
ZGVCbG9ja1NldHRlciwgX2xsaW50X2VudHJ5X29zcl9mdW5jdGlvbl9mb3JfY29uc3RydWN0LCBf
bGxpbnRfdHJhY2VfcHJvbG9ndWVfZnVuY3Rpb25fZm9yX2NvbnN0cnVjdCkiLAorICAgICIgICAg
ZnVuY3Rpb25Jbml0aWFsaXphdGlvbigxKSIsCisgICAgIiAgICBkaXNwYXRjaCgwKSIsCisgICAg
Il9sbGludF9mdW5jdGlvbl9mb3JfY2FsbF9hcml0eV9jaGVjazoiLAorICAgICIgICAgcHJvbG9n
dWUoZnVuY3Rpb25Gb3JDYWxsQ29kZUJsb2NrR2V0dGVyLCBmdW5jdGlvbkNvZGVCbG9ja1NldHRl
ciwgX2xsaW50X2VudHJ5X29zcl9mdW5jdGlvbl9mb3JfY2FsbF9hcml0eUNoZWNrLCBfbGxpbnRf
dHJhY2VfYXJpdHlDaGVja19mb3JfY2FsbCkiLAorICAgICIgICAgZnVuY3Rpb25Bcml0eUNoZWNr
KC5mdW5jdGlvbkZvckNhbGxCZWdpbiwgX3Nsb3dfcGF0aF9jYWxsX2FyaXR5Q2hlY2spIiwKKyAg
ICAiLmZ1bmN0aW9uRm9yQ2FsbEJlZ2luOiIsCisgICAgIiAgICBmdW5jdGlvbkluaXRpYWxpemF0
aW9uKDApIiwKKyAgICAiICAgIGRpc3BhdGNoKDApIiwKKyAgICAiX2xsaW50X2Z1bmN0aW9uX2Zv
cl9jb25zdHJ1Y3RfYXJpdHlfY2hlY2s6IiwKKyAgICAiICAgIHByb2xvZ3VlKGZ1bmN0aW9uRm9y
Q29uc3RydWN0Q29kZUJsb2NrR2V0dGVyLCBmdW5jdGlvbkNvZGVCbG9ja1NldHRlciwgX2xsaW50
X2VudHJ5X29zcl9mdW5jdGlvbl9mb3JfY29uc3RydWN0X2FyaXR5Q2hlY2ssIF9sbGludF90cmFj
ZV9hcml0eUNoZWNrX2Zvcl9jb25zdHJ1Y3QpIiwKKyAgICAiICAgIGZ1bmN0aW9uQXJpdHlDaGVj
ayguZnVuY3Rpb25Gb3JDb25zdHJ1Y3RCZWdpbiwgX3Nsb3dfcGF0aF9jb25zdHJ1Y3RfYXJpdHlD
aGVjaykiLAorICAgICIuZnVuY3Rpb25Gb3JDb25zdHJ1Y3RCZWdpbjoiLAorICAgICIgICAgZnVu
Y3Rpb25Jbml0aWFsaXphdGlvbigxKSIsCisgICAgIiAgICBkaXNwYXRjaCgwKSIsCisgICAgImlm
IEpTVkFMVUU2NCIsCisgICAgIm1hY3JvIGp1bXBUb0luc3RydWN0aW9uKCkiLAorICAgICIgICAg
am1wIDBbUEIsIFBDLCA4XSIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIGRpc3BhdGNoKGFkdmFu
Y2UpIiwKKyAgICAiICAgIGFkZHAgYWR2YW5jZSwgUEMiLAorICAgICIgICAganVtcFRvSW5zdHJ1
Y3Rpb24oKSIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIGRpc3BhdGNoSW50KGFkdmFuY2UpIiwK
KyAgICAiICAgIGFkZGkgYWR2YW5jZSwgUEMiLAorICAgICIgICAganVtcFRvSW5zdHJ1Y3Rpb24o
KSIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIGRpc3BhdGNoSW50SW5kaXJlY3Qob2Zmc2V0KSIs
CisgICAgIiAgICBkaXNwYXRjaEludCgob2Zmc2V0ICogOClbUEIsIFBDLCA4XSkiLAorICAgICJl
bmQiLAorICAgICJtYWNybyBkaXNwYXRjaEFmdGVyQ2FsbCgpIiwKKyAgICAiICAgIGxvYWRpIChB
cmd1bWVudENvdW50ICsgVGFnT2Zmc2V0KVtjZnJdLCBQQyIsCisgICAgIiAgICBsb2FkcCBDb2Rl
QmxvY2tbY2ZyXSwgUEIiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrOjptX2luc3RydWN0aW9u
c1tQQl0sIFBCIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkiLAorICAg
ICIgICAgc3RvcmVxIHIwLCAwW2NmciwgdDEsIDhdIiwKKyAgICAiICAgIHZhbHVlUHJvZmlsZShy
MCwgKENhbGxPcENvZGVTaXplIC0gMSksIHQzKSIsCisgICAgIiAgICBkaXNwYXRjaChDYWxsT3BD
b2RlU2l6ZSkiLAorICAgICJlbmQiLAorICAgICJtYWNybyBjQ2FsbDIoZnVuY3Rpb24pIiwKKyAg
ICAiICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHQ0LCAzMTM0MjQyODE4KSIsCisgICAg
ImlmIChYODZfNjQgb3IgQVJNNjQpIiwKKyAgICAiICAgIGNhbGwgZnVuY3Rpb24iLAorICAgICJl
bHNlIiwKKyAgICAiaWYgWDg2XzY0X1dJTiIsCisgICAgIiAgICBtb3ZlIGExLCBhMiIsCisgICAg
IiAgICBtb3ZlIGEwLCBhMSIsCisgICAgIiAgICBzdWJwIDQ4LCBzcCIsCisgICAgIiAgICBtb3Zl
IHNwLCBhMCIsCisgICAgIiAgICBhZGRwIDMyLCBhMCIsCisgICAgIiAgICBjYWxsIGZ1bmN0aW9u
IiwKKyAgICAiICAgIGFkZHAgNDgsIHNwIiwKKyAgICAiICAgIG1vdmUgOFtyMF0sIHIxIiwKKyAg
ICAiICAgIG1vdmUgMFtyMF0sIHIwIiwKKyAgICAiZWxzZSIsCisgICAgImlmIENfTE9PUCIsCisg
ICAgIiAgICBjbG9vcENhbGxTbG93UGF0aCBmdW5jdGlvbiwgYTAsIGExIiwKKyAgICAiZWxzZSIs
CisgICAgIiAgICBlcnJvciIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisg
ICAgImVuZCIsCisgICAgIm1hY3JvIGNDYWxsMlZvaWQoZnVuY3Rpb24pIiwKKyAgICAiaWYgQ19M
T09QIiwKKyAgICAiICAgIGNsb29wQ2FsbFNsb3dQYXRoVm9pZCBmdW5jdGlvbiwgYTAsIGExIiwK
KyAgICAiZWxzZSIsCisgICAgImlmIFg4Nl82NF9XSU4iLAorICAgICIgICAgc3VicCAzMiwgc3Ai
LAorICAgICIgICAgY2FsbCBmdW5jdGlvbiIsCisgICAgIiAgICBhZGRwIDMyLCBzcCIsCisgICAg
ImVsc2UiLAorICAgICIgICAgY0NhbGwyKGZ1bmN0aW9uKSIsCisgICAgImVuZCIsCisgICAgImVu
ZCIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIGNDYWxsNChmdW5jdGlvbikiLAorICAgICIgICAg
Y2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDQsIDMxMzQyNDI4MjApIiwKKyAgICAiaWYgKFg4
Nl82NCBvciBBUk02NCkiLAorICAgICIgICAgY2FsbCBmdW5jdGlvbiIsCisgICAgImVsc2UiLAor
ICAgICJpZiBYODZfNjRfV0lOIiwKKyAgICAiICAgIHN1YnAgNjQsIHNwIiwKKyAgICAiICAgIGNh
bGwgZnVuY3Rpb24iLAorICAgICIgICAgYWRkcCA2NCwgc3AiLAorICAgICJlbHNlIiwKKyAgICAi
ICAgIGVycm9yIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAibWFj
cm8gZG9WTUVudHJ5KG1ha2VDYWxsKSIsCisgICAgIiAgICBmdW5jdGlvblByb2xvZ3VlKCkiLAor
ICAgICIgICAgcHVzaENhbGxlZVNhdmVzKCkiLAorICAgICJjb25zdCBlbnRyeSA9IGEwIiwKKyAg
ICAiY29uc3Qgdm0gPSBhMSIsCisgICAgImNvbnN0IHByb3RvQ2FsbEZyYW1lID0gYTIiLAorICAg
ICIgICAgdm1FbnRyeVJlY29yZChjZnIsIHNwKSIsCisgICAgIiAgICBjaGVja1N0YWNrUG9pbnRl
ckFsaWdubWVudCh0NCwgMzEzNDI0OTk4NSkiLAorICAgICIgICAgc3RvcmVwIHZtLCBWTUVudHJ5
UmVjb3JkOjptX3ZtW3NwXSIsCisgICAgIiAgICBsb2FkcCBWTTo6dG9wQ2FsbEZyYW1lW3ZtXSwg
dDQiLAorICAgICIgICAgc3RvcmVwIHQ0LCBWTUVudHJ5UmVjb3JkOjptX3ByZXZUb3BDYWxsRnJh
bWVbc3BdIiwKKyAgICAiICAgIGxvYWRwIFZNOjp0b3BWTUVudHJ5RnJhbWVbdm1dLCB0NCIsCisg
ICAgIiAgICBzdG9yZXAgdDQsIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcFZNRW50cnlGcmFtZVtz
cF0iLAorICAgICIgICAgbG9hZGkgUHJvdG9DYWxsRnJhbWU6OnBhZGRlZEFyZ0NvdW50W3Byb3Rv
Q2FsbEZyYW1lXSwgdDQiLAorICAgICIgICAgYWRkcCBDYWxsRnJhbWVIZWFkZXJTbG90cywgdDQs
IHQ0IiwKKyAgICAiICAgIGxzaGlmdHAgMywgdDQiLAorICAgICIgICAgc3VicCBzcCwgdDQsIHQz
IiwKKyAgICAiICAgIGJxYmVxIHNwLCB0MywgLnRocm93U3RhY2tPdmVyZmxvdyIsCisgICAgImlm
IENfTE9PUCIsCisgICAgIiAgICBicGFlcSB0MywgVk06Om1fY2xvb3BTdGFja0xpbWl0W3ZtXSwg
LnN0YWNrSGVpZ2h0T0siLAorICAgICJlbHNlIiwKKyAgICAiICAgIGJwYWVxIHQzLCBWTTo6bV9z
b2Z0U3RhY2tMaW1pdFt2bV0sIC5zdGFja0hlaWdodE9LIiwKKyAgICAiZW5kIiwKKyAgICAiaWYg
Q19MT09QIiwKKyAgICAiICAgIG1vdmUgZW50cnksIHQ0IiwKKyAgICAiICAgIG1vdmUgdm0sIHQ1
IiwKKyAgICAiICAgIGNsb29wQ2FsbFNsb3dQYXRoIF9sbGludF9zdGFja19jaGVja19hdF92bV9l
bnRyeSwgdm0sIHQzIiwKKyAgICAiICAgIGJwZXEgdDAsIDAsIC5zdGFja0NoZWNrRmFpbGVkIiwK
KyAgICAiICAgIG1vdmUgdDQsIGVudHJ5IiwKKyAgICAiICAgIG1vdmUgdDUsIHZtIiwKKyAgICAi
ICAgIGptcCAuc3RhY2tIZWlnaHRPSyIsCisgICAgIi5zdGFja0NoZWNrRmFpbGVkOiIsCisgICAg
IiAgICBtb3ZlIHQ0LCBlbnRyeSIsCisgICAgIiAgICBtb3ZlIHQ1LCB2bSIsCisgICAgImVsc2Ui
LAorICAgICIgICAgc2tpcCIsCisgICAgImVuZCIsCisgICAgIi50aHJvd1N0YWNrT3ZlcmZsb3c6
IiwKKyAgICAiICAgIG1vdmUgdm0sIGEwIiwKKyAgICAiICAgIG1vdmUgcHJvdG9DYWxsRnJhbWUs
IGExIiwKKyAgICAiICAgIGNDYWxsMihfbGxpbnRfdGhyb3dfc3RhY2tfb3ZlcmZsb3dfZXJyb3Ip
IiwKKyAgICAiICAgIHZtRW50cnlSZWNvcmQoY2ZyLCB0NCkiLAorICAgICIgICAgbG9hZHAgVk1F
bnRyeVJlY29yZDo6bV92bVt0NF0sIHZtIiwKKyAgICAiICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6
Om1fcHJldlRvcENhbGxGcmFtZVt0NF0sIGV4dHJhVGVtcFJlZyIsCisgICAgIiAgICBzdG9yZXAg
ZXh0cmFUZW1wUmVnLCBWTTo6dG9wQ2FsbEZyYW1lW3ZtXSIsCisgICAgIiAgICBsb2FkcCBWTUVu
dHJ5UmVjb3JkOjptX3ByZXZUb3BWTUVudHJ5RnJhbWVbdDRdLCBleHRyYVRlbXBSZWciLAorICAg
ICIgICAgc3RvcmVwIGV4dHJhVGVtcFJlZywgVk06OnRvcFZNRW50cnlGcmFtZVt2bV0iLAorICAg
ICIgICAgc3VicCBjZnIsIENhbGxlZVJlZ2lzdGVyU2F2ZVNpemUsIHNwIiwKKyAgICAiICAgIHBv
cENhbGxlZVNhdmVzKCkiLAorICAgICIgICAgZnVuY3Rpb25FcGlsb2d1ZSgpIiwKKyAgICAiICAg
IHJldCAiLAorICAgICIuc3RhY2tIZWlnaHRPSzoiLAorICAgICIgICAgbW92ZSB0Mywgc3AiLAor
ICAgICIgICAgbW92ZSA0LCB0MyIsCisgICAgIi5jb3B5SGVhZGVyTG9vcDoiLAorICAgICIgICAg
c3ViaSAxLCB0MyIsCisgICAgIiAgICBsb2FkcSAwW3Byb3RvQ2FsbEZyYW1lLCB0MywgOF0sIGV4
dHJhVGVtcFJlZyIsCisgICAgIiAgICBzdG9yZXEgZXh0cmFUZW1wUmVnLCBDb2RlQmxvY2tbc3As
IHQzLCA4XSIsCisgICAgIiAgICBidGlueiB0MywgLmNvcHlIZWFkZXJMb29wIiwKKyAgICAiICAg
IGxvYWRpIChQYXlsb2FkT2Zmc2V0ICsgUHJvdG9DYWxsRnJhbWU6OmFyZ0NvdW50QW5kQ29kZU9y
aWdpblZhbHVlKVtwcm90b0NhbGxGcmFtZV0sIHQ0IiwKKyAgICAiICAgIHN1YmkgMSwgdDQiLAor
ICAgICIgICAgbG9hZGkgUHJvdG9DYWxsRnJhbWU6OnBhZGRlZEFyZ0NvdW50W3Byb3RvQ2FsbEZy
YW1lXSwgZXh0cmFUZW1wUmVnIiwKKyAgICAiICAgIHN1YmkgMSwgZXh0cmFUZW1wUmVnIiwKKyAg
ICAiICAgIGJpZXEgdDQsIGV4dHJhVGVtcFJlZywgLmNvcHlBcmdzIiwKKyAgICAiICAgIG1vdmUg
VmFsdWVVbmRlZmluZWQsIHQzIiwKKyAgICAiLmZpbGxFeHRyYUFyZ3NMb29wOiIsCisgICAgIiAg
ICBzdWJpIDEsIGV4dHJhVGVtcFJlZyIsCisgICAgIiAgICBzdG9yZXEgdDMsIChUaGlzQXJndW1l
bnRPZmZzZXQgKyA4KVtzcCwgZXh0cmFUZW1wUmVnLCA4XSIsCisgICAgIiAgICBiaW5lcSB0NCwg
ZXh0cmFUZW1wUmVnLCAuZmlsbEV4dHJhQXJnc0xvb3AiLAorICAgICIuY29weUFyZ3M6IiwKKyAg
ICAiICAgIGxvYWRwIFByb3RvQ2FsbEZyYW1lOjphcmdzW3Byb3RvQ2FsbEZyYW1lXSwgdDMiLAor
ICAgICIuY29weUFyZ3NMb29wOiIsCisgICAgIiAgICBidGl6IHQ0LCAuY29weUFyZ3NEb25lIiwK
KyAgICAiICAgIHN1YmkgMSwgdDQiLAorICAgICIgICAgbG9hZHEgMFt0MywgdDQsIDhdLCBleHRy
YVRlbXBSZWciLAorICAgICIgICAgc3RvcmVxIGV4dHJhVGVtcFJlZywgKFRoaXNBcmd1bWVudE9m
ZnNldCArIDgpW3NwLCB0NCwgOF0iLAorICAgICIgICAgam1wIC5jb3B5QXJnc0xvb3AiLAorICAg
ICIuY29weUFyZ3NEb25lOiIsCisgICAgImlmIEFSTTY0IiwKKyAgICAiICAgIG1vdmUgc3AsIHQ0
IiwKKyAgICAiICAgIHN0b3JlcCB0NCwgVk06OnRvcENhbGxGcmFtZVt2bV0iLAorICAgICJlbHNl
IiwKKyAgICAiICAgIHN0b3JlcCBzcCwgVk06OnRvcENhbGxGcmFtZVt2bV0iLAorICAgICJlbmQi
LAorICAgICIgICAgc3RvcmVwIGNmciwgVk06OnRvcFZNRW50cnlGcmFtZVt2bV0iLAorICAgICIg
ICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoZXh0cmFUZW1wUmVnLCAzMTM0MjQ5OTg2KSIs
CisgICAgIiAgICBtYWtlQ2FsbChlbnRyeSwgdDMpIiwKKyAgICAiICAgIGNoZWNrU3RhY2tQb2lu
dGVyQWxpZ25tZW50KHQyLCAzMTM0MjQ5OTg3KSIsCisgICAgIiAgICB2bUVudHJ5UmVjb3JkKGNm
ciwgdDQpIiwKKyAgICAiICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1fdm1bdDRdLCB2bSIsCisg
ICAgIiAgICBsb2FkcCBWTUVudHJ5UmVjb3JkOjptX3ByZXZUb3BDYWxsRnJhbWVbdDRdLCB0MiIs
CisgICAgIiAgICBzdG9yZXAgdDIsIFZNOjp0b3BDYWxsRnJhbWVbdm1dIiwKKyAgICAiICAgIGxv
YWRwIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcFZNRW50cnlGcmFtZVt0NF0sIHQyIiwKKyAgICAi
ICAgIHN0b3JlcCB0MiwgVk06OnRvcFZNRW50cnlGcmFtZVt2bV0iLAorICAgICIgICAgc3VicCBj
ZnIsIENhbGxlZVJlZ2lzdGVyU2F2ZVNpemUsIHNwIiwKKyAgICAiICAgIHBvcENhbGxlZVNhdmVz
KCkiLAorICAgICIgICAgZnVuY3Rpb25FcGlsb2d1ZSgpIiwKKyAgICAiICAgIHJldCAiLAorICAg
ICJlbmQiLAorICAgICJtYWNybyBtYWtlSmF2YVNjcmlwdENhbGwoZW50cnksIHRlbXApIiwKKyAg
ICAiICAgIGFkZHAgMTYsIHNwIiwKKyAgICAiaWYgQ19MT09QIiwKKyAgICAiICAgIGNsb29wQ2Fs
bEpTRnVuY3Rpb24gZW50cnkiLAorICAgICJlbHNlIiwKKyAgICAiICAgIGNhbGwgZW50cnkiLAor
ICAgICJlbmQiLAorICAgICIgICAgc3VicCAxNiwgc3AiLAorICAgICJlbmQiLAorICAgICJtYWNy
byBtYWtlSG9zdEZ1bmN0aW9uQ2FsbChlbnRyeSwgdGVtcCkiLAorICAgICIgICAgbW92ZSBlbnRy
eSwgdGVtcCIsCisgICAgIiAgICBzdG9yZXAgY2ZyLCAwW3NwXSIsCisgICAgIiAgICBtb3ZlIHNw
LCBhMCIsCisgICAgImlmIENfTE9PUCIsCisgICAgIiAgICBzdG9yZXAgbHIsIDhbc3BdIiwKKyAg
ICAiICAgIGNsb29wQ2FsbE5hdGl2ZSB0ZW1wIiwKKyAgICAiZWxzZSIsCisgICAgImlmIFg4Nl82
NF9XSU4iLAorICAgICIgICAgc3VicCAzMiwgc3AiLAorICAgICIgICAgY2FsbCB0ZW1wIiwKKyAg
ICAiICAgIGFkZHAgMzIsIHNwIiwKKyAgICAiZWxzZSIsCisgICAgIiAgICBjYWxsIHRlbXAiLAor
ICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJfaGFuZGxlVW5jYXVnaHRF
eGNlcHRpb246IiwKKyAgICAiICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0MyIsCisgICAgIiAgICBh
bmRwIE1hcmtlZEJsb2NrTWFzaywgdDMiLAorICAgICIgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1f
dm1bdDNdLCB0MyIsCisgICAgIiAgICByZXN0b3JlQ2FsbGVlU2F2ZXNGcm9tVk1FbnRyeUZyYW1l
Q2FsbGVlU2F2ZXNCdWZmZXIodDMsIHQwKSIsCisgICAgIiAgICBsb2FkcCBWTTo6Y2FsbEZyYW1l
Rm9yQ2F0Y2hbdDNdLCBjZnIiLAorICAgICIgICAgc3RvcmVwIDAsIFZNOjpjYWxsRnJhbWVGb3JD
YXRjaFt0M10iLAorICAgICIgICAgbG9hZHAgQ2FsbGVyRnJhbWVbY2ZyXSwgY2ZyIiwKKyAgICAi
ICAgIHZtRW50cnlSZWNvcmQoY2ZyLCB0MikiLAorICAgICIgICAgbG9hZHAgVk1FbnRyeVJlY29y
ZDo6bV92bVt0Ml0sIHQzIiwKKyAgICAiICAgIGxvYWRwIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRv
cENhbGxGcmFtZVt0Ml0sIGV4dHJhVGVtcFJlZyIsCisgICAgIiAgICBzdG9yZXAgZXh0cmFUZW1w
UmVnLCBWTTo6dG9wQ2FsbEZyYW1lW3QzXSIsCisgICAgIiAgICBsb2FkcCBWTUVudHJ5UmVjb3Jk
OjptX3ByZXZUb3BWTUVudHJ5RnJhbWVbdDJdLCBleHRyYVRlbXBSZWciLAorICAgICIgICAgc3Rv
cmVwIGV4dHJhVGVtcFJlZywgVk06OnRvcFZNRW50cnlGcmFtZVt0M10iLAorICAgICIgICAgc3Vi
cCBjZnIsIENhbGxlZVJlZ2lzdGVyU2F2ZVNpemUsIHNwIiwKKyAgICAiICAgIHBvcENhbGxlZVNh
dmVzKCkiLAorICAgICIgICAgZnVuY3Rpb25FcGlsb2d1ZSgpIiwKKyAgICAiICAgIHJldCAiLAor
ICAgICJtYWNybyBwcmVwYXJlU3RhdGVGb3JDQ2FsbCgpIiwKKyAgICAiICAgIGxlYXAgMFtQQiwg
UEMsIDhdLCBQQyIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIHJlc3RvcmVTdGF0ZUFmdGVyQ0Nh
bGwoKSIsCisgICAgIiAgICBtb3ZlIHIwLCBQQyIsCisgICAgIiAgICBzdWJwIFBCLCBQQyIsCisg
ICAgIiAgICByc2hpZnRwIDMsIFBDIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gY2FsbFNsb3dQ
YXRoKHNsb3dQYXRoKSIsCisgICAgIiAgICBwcmVwYXJlU3RhdGVGb3JDQ2FsbCgpIiwKKyAgICAi
ICAgIG1vdmUgY2ZyLCBhMCIsCisgICAgIiAgICBtb3ZlIFBDLCBhMSIsCisgICAgIiAgICBjQ2Fs
bDIoc2xvd1BhdGgpIiwKKyAgICAiICAgIHJlc3RvcmVTdGF0ZUFmdGVyQ0NhbGwoKSIsCisgICAg
ImVuZCIsCisgICAgIm1hY3JvIHRyYWNlT3BlcmFuZChmcm9tV2hlcmUsIG9wZXJhbmQpIiwKKyAg
ICAiICAgIHByZXBhcmVTdGF0ZUZvckNDYWxsKCkiLAorICAgICIgICAgbW92ZSBmcm9tV2hlcmUs
IGEyIiwKKyAgICAiICAgIG1vdmUgb3BlcmFuZCwgYTMiLAorICAgICIgICAgbW92ZSBjZnIsIGEw
IiwKKyAgICAiICAgIG1vdmUgUEMsIGExIiwKKyAgICAiICAgIGNDYWxsNChfbGxpbnRfdHJhY2Vf
b3BlcmFuZCkiLAorICAgICIgICAgcmVzdG9yZVN0YXRlQWZ0ZXJDQ2FsbCgpIiwKKyAgICAiZW5k
IiwKKyAgICAibWFjcm8gdHJhY2VWYWx1ZShmcm9tV2hlcmUsIG9wZXJhbmQpIiwKKyAgICAiICAg
IHByZXBhcmVTdGF0ZUZvckNDYWxsKCkiLAorICAgICIgICAgbW92ZSBmcm9tV2hlcmUsIGEyIiwK
KyAgICAiICAgIG1vdmUgb3BlcmFuZCwgYTMiLAorICAgICIgICAgbW92ZSBjZnIsIGEwIiwKKyAg
ICAiICAgIG1vdmUgUEMsIGExIiwKKyAgICAiICAgIGNDYWxsNChfbGxpbnRfdHJhY2VfdmFsdWUp
IiwKKyAgICAiICAgIHJlc3RvcmVTdGF0ZUFmdGVyQ0NhbGwoKSIsCisgICAgImVuZCIsCisgICAg
Im1hY3JvIGNhbGxDYWxsU2xvd1BhdGgoc2xvd1BhdGgsIGFjdGlvbikiLAorICAgICIgICAgc3Rv
cmVpIFBDLCAoQXJndW1lbnRDb3VudCArIFRhZ09mZnNldClbY2ZyXSIsCisgICAgIiAgICBwcmVw
YXJlU3RhdGVGb3JDQ2FsbCgpIiwKKyAgICAiICAgIG1vdmUgY2ZyLCBhMCIsCisgICAgIiAgICBt
b3ZlIFBDLCBhMSIsCisgICAgIiAgICBjQ2FsbDIoc2xvd1BhdGgpIiwKKyAgICAiICAgIGFjdGlv
bihyMCwgcjEpIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gY2FsbFRyYXBIYW5kbGVyKHRocm93
SGFuZGxlcikiLAorICAgICIgICAgc3RvcmVpIFBDLCAoQXJndW1lbnRDb3VudCArIFRhZ09mZnNl
dClbY2ZyXSIsCisgICAgIiAgICBwcmVwYXJlU3RhdGVGb3JDQ2FsbCgpIiwKKyAgICAiICAgIG1v
dmUgY2ZyLCBhMCIsCisgICAgIiAgICBtb3ZlIFBDLCBhMSIsCisgICAgIiAgICBjQ2FsbDIoX2xs
aW50X3Nsb3dfcGF0aF9oYW5kbGVfdHJhcHMpIiwKKyAgICAiICAgIGJ0cG56IHIwLCB0aHJvd0hh
bmRsZXIiLAorICAgICIgICAgbG9hZGkgKEFyZ3VtZW50Q291bnQgKyBUYWdPZmZzZXQpW2Nmcl0s
IFBDIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gY2hlY2tTd2l0Y2hUb0pJVEZvckxvb3AoKSIs
CisgICAgIiAgICBjaGVja1N3aXRjaFRvSklUKDEsIG1hY3JvICgpIiwKKyAgICAiICAgIHN0b3Jl
aSBQQywgKEFyZ3VtZW50Q291bnQgKyBUYWdPZmZzZXQpW2Nmcl0iLAorICAgICIgICAgcHJlcGFy
ZVN0YXRlRm9yQ0NhbGwoKSIsCisgICAgIiAgICBtb3ZlIGNmciwgYTAiLAorICAgICIgICAgbW92
ZSBQQywgYTEiLAorICAgICIgICAgY0NhbGwyKF9sbGludF9sb29wX29zcikiLAorICAgICIgICAg
YnRweiByMCwgLnJlY292ZXIiLAorICAgICIgICAgbW92ZSByMSwgc3AiLAorICAgICIgICAgam1w
IHIwIiwKKyAgICAiLnJlY292ZXI6IiwKKyAgICAiICAgIGxvYWRpIChBcmd1bWVudENvdW50ICsg
VGFnT2Zmc2V0KVtjZnJdLCBQQyIsCisgICAgImVuZCkiLAorICAgICJlbmQiLAorICAgICJtYWNy
byBsb2FkQ2FnZWQoYmFzZVB0ciwgc291cmNlLCBkZXN0LCBzY3JhdGNoKSIsCisgICAgIiAgICBs
b2FkcCBzb3VyY2UsIGRlc3QiLAorICAgICJpZiAoR0lHQUNBR0VfRU5BQkxFRCBhbmQgKG5vdENf
TE9PUCkpIiwKKyAgICAiICAgIGxvYWRwIGJhc2VQdHIsIHNjcmF0Y2giLAorICAgICIgICAgYnRw
eiBzY3JhdGNoLCAuZG9uZSIsCisgICAgIiAgICBhbmRwIGNvbnN0ZXhwciAoR0lHQUNBR0VfTUFT
SyksIGRlc3QiLAorICAgICIgICAgYWRkcCBzY3JhdGNoLCBkZXN0IiwKKyAgICAiLmRvbmU6IiwK
KyAgICAiZWxzZSIsCisgICAgIiAgICBza2lwIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAg
ICAibWFjcm8gbG9hZFZhcmlhYmxlKG9wZXJhbmQsIHZhbHVlKSIsCisgICAgIiAgICBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24ob3BlcmFuZCwgdmFsdWUpIiwKKyAgICAiICAgIGxvYWRxIDBbY2ZyLCB2
YWx1ZSwgOF0sIHZhbHVlIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gbG9hZENvbnN0YW50T3JW
YXJpYWJsZShpbmRleCwgdmFsdWUpIiwKKyAgICAiICAgIGJwZ3RlcSBpbmRleCwgRmlyc3RDb25z
dGFudFJlZ2lzdGVySW5kZXgsIC5jb25zdGFudCIsCisgICAgIiAgICBsb2FkcSAwW2NmciwgaW5k
ZXgsIDhdLCB2YWx1ZSIsCisgICAgIiAgICBqbXAgLmRvbmUiLAorICAgICIuY29uc3RhbnQ6IiwK
KyAgICAiICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB2YWx1ZSIsCisgICAgIiAgICBsb2FkcCAo
Q29kZUJsb2NrOjptX2NvbnN0YW50UmVnaXN0ZXJzICsgVmVjdG9yQnVmZmVyT2Zmc2V0KVt2YWx1
ZV0sIHZhbHVlIiwKKyAgICAiICAgIHN1YnAgRmlyc3RDb25zdGFudFJlZ2lzdGVySW5kZXgsIGlu
ZGV4IiwKKyAgICAiICAgIGxvYWRxIDBbdmFsdWUsIGluZGV4LCA4XSwgdmFsdWUiLAorICAgICIu
ZG9uZToiLAorICAgICJlbmQiLAorICAgICJtYWNybyBsb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50
MzIoaW5kZXgsIHZhbHVlLCBzbG93KSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxl
KGluZGV4LCB2YWx1ZSkiLAorICAgICIgICAgYnFiIHZhbHVlLCB0YWdUeXBlTnVtYmVyLCBzbG93
IiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGwoaW5k
ZXgsIHZhbHVlLCBzbG93KSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKGluZGV4
LCB2YWx1ZSkiLAorICAgICIgICAgYnRxbnogdmFsdWUsIHRhZ01hc2ssIHNsb3ciLAorICAgICJl
bmQiLAorICAgICJtYWNybyB3cml0ZUJhcnJpZXJPbk9wZXJhbmQoY2VsbE9wZXJhbmQpIiwKKyAg
ICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbihjZWxsT3BlcmFuZCwgdDEpIiwKKyAgICAiICAg
IGxvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsKHQxLCB0MiwgLndyaXRlQmFycmllckRvbmUpIiwK
KyAgICAiICAgIHNraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuKHQyLCBtYWNybyAoKSIsCisgICAg
IiAgICBwdXNoIFBCLCBQQyIsCisgICAgIiAgICBtb3ZlIHQyLCBhMSIsCisgICAgIiAgICBtb3Zl
IGNmciwgYTAiLAorICAgICIgICAgY0NhbGwyVm9pZChfbGxpbnRfd3JpdGVfYmFycmllcl9zbG93
KSIsCisgICAgIiAgICBwb3AgUEMsIFBCIiwKKyAgICAiZW5kKSIsCisgICAgIi53cml0ZUJhcnJp
ZXJEb25lOiIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIHdyaXRlQmFycmllck9uT3BlcmFuZHMo
Y2VsbE9wZXJhbmQsIHZhbHVlT3BlcmFuZCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0
aW9uKHZhbHVlT3BlcmFuZCwgdDEpIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVD
ZWxsKHQxLCB0MCwgLndyaXRlQmFycmllckRvbmUpIiwKKyAgICAiICAgIGJ0cHogdDAsIC53cml0
ZUJhcnJpZXJEb25lIiwKKyAgICAiICAgIHdyaXRlQmFycmllck9uT3BlcmFuZChjZWxsT3BlcmFu
ZCkiLAorICAgICIud3JpdGVCYXJyaWVyRG9uZToiLAorICAgICJlbmQiLAorICAgICJtYWNybyB3
cml0ZUJhcnJpZXJPbkdsb2JhbCh2YWx1ZU9wZXJhbmQsIGxvYWRIZWxwZXIpIiwKKyAgICAiICAg
IGxvYWRpc0Zyb21JbnN0cnVjdGlvbih2YWx1ZU9wZXJhbmQsIHQxKSIsCisgICAgIiAgICBsb2Fk
Q29uc3RhbnRPclZhcmlhYmxlQ2VsbCh0MSwgdDAsIC53cml0ZUJhcnJpZXJEb25lKSIsCisgICAg
IiAgICBidHB6IHQwLCAud3JpdGVCYXJyaWVyRG9uZSIsCisgICAgIiAgICBsb2FkSGVscGVyKHQz
KSIsCisgICAgIiAgICBza2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbih0MywgbWFjcm8gKCkiLAor
ICAgICIgICAgcHVzaCBQQiwgUEMiLAorICAgICIgICAgbW92ZSBjZnIsIGEwIiwKKyAgICAiICAg
IG1vdmUgdDMsIGExIiwKKyAgICAiICAgIGNDYWxsMlZvaWQoX2xsaW50X3dyaXRlX2JhcnJpZXJf
c2xvdykiLAorICAgICIgICAgcG9wIFBDLCBQQiIsCisgICAgImVuZCkiLAorICAgICIud3JpdGVC
YXJyaWVyRG9uZToiLAorICAgICJlbmQiLAorICAgICJtYWNybyB3cml0ZUJhcnJpZXJPbkdsb2Jh
bE9iamVjdCh2YWx1ZU9wZXJhbmQpIiwKKyAgICAiICAgIHdyaXRlQmFycmllck9uR2xvYmFsKHZh
bHVlT3BlcmFuZCwgbWFjcm8gKHJlZ2lzdGVyVG9TdG9yZUdsb2JhbCkiLAorICAgICIgICAgbG9h
ZHAgQ29kZUJsb2NrW2Nmcl0sIHJlZ2lzdGVyVG9TdG9yZUdsb2JhbCIsCisgICAgIiAgICBsb2Fk
cCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2JqZWN0W3JlZ2lzdGVyVG9TdG9yZUdsb2JhbF0sIHJlZ2lz
dGVyVG9TdG9yZUdsb2JhbCIsCisgICAgImVuZCkiLAorICAgICJlbmQiLAorICAgICJtYWNybyB3
cml0ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZpcm9ubWVudCh2YWx1ZU9wZXJhbmQpIiwKKyAg
ICAiICAgIHdyaXRlQmFycmllck9uR2xvYmFsKHZhbHVlT3BlcmFuZCwgbWFjcm8gKHJlZ2lzdGVy
VG9TdG9yZUdsb2JhbCkiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHJlZ2lzdGVy
VG9TdG9yZUdsb2JhbCIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2JqZWN0
W3JlZ2lzdGVyVG9TdG9yZUdsb2JhbF0sIHJlZ2lzdGVyVG9TdG9yZUdsb2JhbCIsCisgICAgIiAg
ICBsb2FkcCBKU0dsb2JhbE9iamVjdDo6bV9nbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRbcmVnaXN0
ZXJUb1N0b3JlR2xvYmFsXSwgcmVnaXN0ZXJUb1N0b3JlR2xvYmFsIiwKKyAgICAiZW5kKSIsCisg
ICAgImVuZCIsCisgICAgIm1hY3JvIHZhbHVlUHJvZmlsZSh2YWx1ZSwgb3BlcmFuZCwgc2NyYXRj
aCkiLAorICAgICIgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24ob3BlcmFuZCwgc2NyYXRjaCkiLAor
ICAgICIgICAgc3RvcmVxIHZhbHVlLCBWYWx1ZVByb2ZpbGU6Om1fYnVja2V0c1tzY3JhdGNoXSIs
CisgICAgImVuZCIsCisgICAgIm1hY3JvIHN0cnVjdHVyZUlEVG9TdHJ1Y3R1cmVXaXRoU2NyYXRj
aChzdHJ1Y3R1cmVJRFRoZW5TdHJ1Y3R1cmUsIHNjcmF0Y2gpIiwKKyAgICAiICAgIGxvYWRwIENv
ZGVCbG9ja1tjZnJdLCBzY3JhdGNoIiwKKyAgICAiICAgIGxvYWRwIENvZGVCbG9jazo6bV92bVtz
Y3JhdGNoXSwgc2NyYXRjaCIsCisgICAgIiAgICBsb2FkcCAoKFZNOjpoZWFwICsgSGVhcDo6bV9z
dHJ1Y3R1cmVJRFRhYmxlKSArIFN0cnVjdHVyZUlEVGFibGU6Om1fdGFibGUpW3NjcmF0Y2hdLCBz
Y3JhdGNoIiwKKyAgICAiICAgIGxvYWRwIDBbc2NyYXRjaCwgc3RydWN0dXJlSURUaGVuU3RydWN0
dXJlLCA4XSwgc3RydWN0dXJlSURUaGVuU3RydWN0dXJlIiwKKyAgICAiZW5kIiwKKyAgICAibWFj
cm8gbG9hZFN0cnVjdHVyZVdpdGhTY3JhdGNoKGNlbGwsIHN0cnVjdHVyZSwgc2NyYXRjaCkiLAor
ICAgICIgICAgbG9hZGkgSlNDZWxsOjptX3N0cnVjdHVyZUlEW2NlbGxdLCBzdHJ1Y3R1cmUiLAor
ICAgICIgICAgc3RydWN0dXJlSURUb1N0cnVjdHVyZVdpdGhTY3JhdGNoKHN0cnVjdHVyZSwgc2Ny
YXRjaCkiLAorICAgICJlbmQiLAorICAgICJtYWNybyBsb2FkU3RydWN0dXJlQW5kQ2xvYmJlckZp
cnN0QXJnKGNlbGwsIHN0cnVjdHVyZSkiLAorICAgICIgICAgbG9hZGkgSlNDZWxsOjptX3N0cnVj
dHVyZUlEW2NlbGxdLCBzdHJ1Y3R1cmUiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0s
IGNlbGwiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrOjptX3ZtW2NlbGxdLCBjZWxsIiwKKyAg
ICAiICAgIGxvYWRwICgoVk06OmhlYXAgKyBIZWFwOjptX3N0cnVjdHVyZUlEVGFibGUpICsgU3Ry
dWN0dXJlSURUYWJsZTo6bV90YWJsZSlbY2VsbF0sIGNlbGwiLAorICAgICIgICAgbG9hZHAgMFtj
ZWxsLCBzdHJ1Y3R1cmUsIDhdLCBzdHJ1Y3R1cmUiLAorICAgICJlbmQiLAorICAgICJtYWNybyBm
dW5jdGlvbkFyaXR5Q2hlY2soZG9uZUxhYmVsLCBzbG93UGF0aCkiLAorICAgICIgICAgbG9hZGkg
KFBheWxvYWRPZmZzZXQgKyBBcmd1bWVudENvdW50KVtjZnJdLCB0MCIsCisgICAgIiAgICBiaWFl
cSB0MCwgQ29kZUJsb2NrOjptX251bVBhcmFtZXRlcnNbdDFdLCBkb25lTGFiZWwiLAorICAgICIg
ICAgcHJlcGFyZVN0YXRlRm9yQ0NhbGwoKSIsCisgICAgIiAgICBtb3ZlIGNmciwgYTAiLAorICAg
ICIgICAgbW92ZSBQQywgYTEiLAorICAgICIgICAgY0NhbGwyKHNsb3dQYXRoKSIsCisgICAgIiAg
ICBidGl6IHIwLCAubm9FcnJvciIsCisgICAgIiAgICBtb3ZlIHIxLCBjZnIiLAorICAgICIgICAg
am1wIF9sbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lIiwKKyAgICAiLm5vRXJy
b3I6IiwKKyAgICAiICAgIGxvYWRpIENvbW1vblNsb3dQYXRoczo6QXJpdHlDaGVja0RhdGE6OnBh
ZGRlZFN0YWNrU3BhY2VbcjFdLCB0MSIsCisgICAgIiAgICBidGl6IHQxLCAuY29udGludWUiLAor
ICAgICIgICAgbG9hZGkgKFBheWxvYWRPZmZzZXQgKyBBcmd1bWVudENvdW50KVtjZnJdLCB0MiIs
CisgICAgIiAgICBhZGRpIENhbGxGcmFtZUhlYWRlclNsb3RzLCB0MiIsCisgICAgIiAgICBtb3Zl
IHQxLCB0MyIsCisgICAgIiAgICBhbmRpIChTdGFja0FsaWdubWVudFNsb3RzIC0gMSksIHQzIiwK
KyAgICAiICAgIGJ0aXogdDMsIC5ub0V4dHJhU2xvdCIsCisgICAgIiAgICBtb3ZlIFZhbHVlVW5k
ZWZpbmVkLCB0MCIsCisgICAgIi5maWxsRXh0cmFTbG90czoiLAorICAgICIgICAgc3RvcmVxIHQw
LCAwW2NmciwgdDIsIDhdIiwKKyAgICAiICAgIGFkZGkgMSwgdDIiLAorICAgICIgICAgYnN1Ymlu
eiAxLCB0MywgLmZpbGxFeHRyYVNsb3RzIiwKKyAgICAiICAgIGFuZGkgKH4oU3RhY2tBbGlnbm1l
bnRTbG90cyAtIDEpKSwgdDEiLAorICAgICIgICAgYnRpeiB0MSwgLmNvbnRpbnVlIiwKKyAgICAi
Lm5vRXh0cmFTbG90OiIsCisgICAgIiAgICBuZWdxIHQxIiwKKyAgICAiICAgIG1vdmUgY2ZyLCB0
MyIsCisgICAgIiAgICBzdWJwIChDYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMgKiA4
KSwgdDMiLAorICAgICIgICAgYWRkaSBDYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMs
IHQyIiwKKyAgICAiICAgIG1vdmUgdDEsIHQwIiwKKyAgICAiICAgIGxzaGlmdHAgMywgdDAiLAor
ICAgICIgICAgYWRkcCB0MCwgY2ZyIiwKKyAgICAiICAgIGFkZHAgdDAsIHNwIiwKKyAgICAiLmNv
cHlMb29wOiIsCisgICAgIiAgICBsb2FkcSAwW3QzXSwgdDAiLAorICAgICIgICAgc3RvcmVxIHQw
LCAwW3QzLCB0MSwgOF0iLAorICAgICIgICAgYWRkcCA4LCB0MyIsCisgICAgIiAgICBic3ViaW56
IDEsIHQyLCAuY29weUxvb3AiLAorICAgICIgICAgbW92ZSB0MSwgdDIiLAorICAgICIgICAgbW92
ZSBWYWx1ZVVuZGVmaW5lZCwgdDAiLAorICAgICIuZmlsbExvb3A6IiwKKyAgICAiICAgIHN0b3Jl
cSB0MCwgMFt0MywgdDEsIDhdIiwKKyAgICAiICAgIGFkZHAgOCwgdDMiLAorICAgICIgICAgYmFk
ZGlueiAxLCB0MiwgLmZpbGxMb29wIiwKKyAgICAiLmNvbnRpbnVlOiIsCisgICAgIiAgICBsb2Fk
cCBDb2RlQmxvY2tbY2ZyXSwgdDEiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrOjptX2luc3Ry
dWN0aW9uc1t0MV0sIFBCIiwKKyAgICAiICAgIG1vdmUgMCwgUEMiLAorICAgICIgICAgam1wIGRv
bmVMYWJlbCIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIGJyYW5jaElmRXhjZXB0aW9uKGxhYmVs
KSIsCisgICAgIiAgICBsb2FkcCBDYWxsZWVbY2ZyXSwgdDMiLAorICAgICIgICAgYW5kcCBNYXJr
ZWRCbG9ja01hc2ssIHQzIiwKKyAgICAiICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3ZtW3QzXSwg
dDMiLAorICAgICIgICAgYnRxeiBWTTo6bV9leGNlcHRpb25bdDNdLCAubm9FeGNlcHRpb24iLAor
ICAgICIgICAgam1wIGxhYmVsIiwKKyAgICAiLm5vRXhjZXB0aW9uOiIsCisgICAgImVuZCIsCisg
ICAgIl9sbGludF9vcF9lbnRlcjoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAg
IiAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0MiwgMzczNTg3OTkwNSkiLAorICAgICIg
ICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQyIiwKKyAgICAiICAgIGxvYWRpIENvZGVCbG9jazo6
bV9udW1WYXJzW3QyXSwgdDIiLAorICAgICIgICAgc3VicSBDYWxsZWVTYXZlU3BhY2VBc1ZpcnR1
YWxSZWdpc3RlcnMsIHQyIiwKKyAgICAiICAgIG1vdmUgY2ZyLCB0MSIsCisgICAgIiAgICBzdWJx
IChDYWxsZWVTYXZlU3BhY2VBc1ZpcnR1YWxSZWdpc3RlcnMgKiA4KSwgdDEiLAorICAgICIgICAg
YnRpeiB0MiwgLm9wRW50ZXJEb25lIiwKKyAgICAiICAgIG1vdmUgVmFsdWVVbmRlZmluZWQsIHQw
IiwKKyAgICAiICAgIG5lZ2kgdDIiLAorICAgICIgICAgc3hpMnEgdDIsIHQyIiwKKyAgICAiLm9w
RW50ZXJMb29wOiIsCisgICAgIiAgICBzdG9yZXEgdDAsIDBbdDEsIHQyLCA4XSIsCisgICAgIiAg
ICBhZGRxIDEsIHQyIiwKKyAgICAiICAgIGJ0cW56IHQyLCAub3BFbnRlckxvb3AiLAorICAgICIu
b3BFbnRlckRvbmU6IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2Vu
dGVyKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2VudGVyX2xlbmd0aCkpIiwK
KyAgICAiX2xsaW50X29wX2dldF9hcmd1bWVudDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24o
KSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpIiwKKyAgICAiICAgIGxv
YWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MikiLAorICAgICIgICAgbG9hZGkgKFBheWxvYWRPZmZz
ZXQgKyBBcmd1bWVudENvdW50KVtjZnJdLCB0MCIsCisgICAgIiAgICBiaWx0ZXEgdDAsIHQyLCAu
b3BHZXRBcmd1bWVudE91dE9mQm91bmRzIiwKKyAgICAiICAgIGxvYWRxIFRoaXNBcmd1bWVudE9m
ZnNldFtjZnIsIHQyLCA4XSwgdDAiLAorICAgICIgICAgc3RvcmVxIHQwLCAwW2NmciwgdDEsIDhd
IiwKKyAgICAiICAgIHZhbHVlUHJvZmlsZSh0MCwgMywgdDIpIiwKKyAgICAiICAgIGRpc3BhdGNo
KGNvbnN0ZXhwciAob3BfZ2V0X2FyZ3VtZW50X2xlbmd0aCkpIiwKKyAgICAiLm9wR2V0QXJndW1l
bnRPdXRPZkJvdW5kczoiLAorICAgICIgICAgc3RvcmVxIFZhbHVlVW5kZWZpbmVkLCAwW2Nmciwg
dDEsIDhdIiwKKyAgICAiICAgIHZhbHVlUHJvZmlsZShWYWx1ZVVuZGVmaW5lZCwgMywgdDIpIiwK
KyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfZ2V0X2FyZ3VtZW50X2xlbmd0aCkpIiwK
KyAgICAiX2xsaW50X29wX2FyZ3VtZW50X2NvdW50OiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlv
bigpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkiLAorICAgICIgICAg
bG9hZGkgKFBheWxvYWRPZmZzZXQgKyBBcmd1bWVudENvdW50KVtjZnJdLCB0MCIsCisgICAgIiAg
ICBzdWJpIDEsIHQwIiwKKyAgICAiICAgIG9ycSBUYWdUeXBlTnVtYmVyLCB0MCIsCisgICAgIiAg
ICBzdG9yZXEgdDAsIDBbY2ZyLCB0MSwgOF0iLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHBy
IChvcF9hcmd1bWVudF9jb3VudF9sZW5ndGgpKSIsCisgICAgIl9sbGludF9vcF9nZXRfc2NvcGU6
IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgbG9hZHAgQ2FsbGVlW2Nm
cl0sIHQwIiwKKyAgICAiICAgIGxvYWRwIEpTQ2FsbGVlOjptX3Njb3BlW3QwXSwgdDAiLAorICAg
ICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKSIsCisgICAgIiAgICBzdG9yZXEgdDAs
IDBbY2ZyLCB0MSwgOF0iLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9nZXRfc2Nv
cGVfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfdG9fdGhpczoiLAorICAgICIgICAgdHJhY2VF
eGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApIiwKKyAg
ICAiICAgIGxvYWRxIDBbY2ZyLCB0MCwgOF0sIHQwIiwKKyAgICAiICAgIGJ0cW56IHQwLCB0YWdN
YXNrLCAub3BUb1RoaXNTbG93IiwKKyAgICAiICAgIGJibmVxIEpTQ2VsbDo6bV90eXBlW3QwXSwg
RmluYWxPYmplY3RUeXBlLCAub3BUb1RoaXNTbG93IiwKKyAgICAiICAgIGxvYWRTdHJ1Y3R1cmVX
aXRoU2NyYXRjaCh0MCwgdDEsIHQyKSIsCisgICAgIiAgICBsb2FkcEZyb21JbnN0cnVjdGlvbigy
LCB0MikiLAorICAgICIgICAgYnBuZXEgdDEsIHQyLCAub3BUb1RoaXNTbG93IiwKKyAgICAiICAg
IGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfdG9fdGhpc19sZW5ndGgpKSIsCisgICAgIi5vcFRvVGhp
c1Nsb3c6IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3RvX3RoaXMp
IiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfdG9fdGhpc19sZW5ndGgpKSIsCisg
ICAgIl9sbGludF9vcF9jaGVja190ZHo6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAor
ICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKSIsCisgICAgIiAgICBsb2FkQ29u
c3RhbnRPclZhcmlhYmxlKHQwLCB0MSkiLAorICAgICIgICAgYnFuZXEgdDEsIFZhbHVlRW1wdHks
IC5vcE5vdFREWiIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF90aHJv
d190ZHpfZXJyb3IpIiwKKyAgICAiLm9wTm90VERaOiIsCisgICAgIiAgICBkaXNwYXRjaChjb25z
dGV4cHIgKG9wX2NoZWNrX3Rkel9sZW5ndGgpKSIsCisgICAgIl9sbGludF9vcF9tb3Y6IiwKKyAg
ICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9u
KDIsIHQxKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApIiwKKyAgICAi
ICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQyKSIsCisgICAgIiAgICBzdG9yZXEgdDIs
IDBbY2ZyLCB0MCwgOF0iLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9tb3ZfbGVu
Z3RoKSkiLAorICAgICJfbGxpbnRfb3Bfbm90OiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigp
IiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkiLAorICAgICIgICAgbG9h
ZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlh
YmxlKHQwLCB0MikiLAorICAgICIgICAgeG9ycSBWYWx1ZUZhbHNlLCB0MiIsCisgICAgIiAgICBi
dHFueiB0MiwgKH4xKSwgLm9wTm90U2xvdyIsCisgICAgIiAgICB4b3JxIFZhbHVlVHJ1ZSwgdDIi
LAorICAgICIgICAgc3RvcmVxIHQyLCAwW2NmciwgdDEsIDhdIiwKKyAgICAiICAgIGRpc3BhdGNo
KGNvbnN0ZXhwciAob3Bfbm90X2xlbmd0aCkpIiwKKyAgICAiLm9wTm90U2xvdzoiLAorICAgICIg
ICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfbm90KSIsCisgICAgIiAgICBkaXNwYXRj
aChjb25zdGV4cHIgKG9wX25vdF9sZW5ndGgpKSIsCisgICAgIm1hY3JvIGVxdWFsaXR5Q29tcGFy
aXNvbihpbnRlZ2VyQ29tcGFyaXNvbiwgc2xvd1BhdGgpIiwKKyAgICAiICAgIHRyYWNlRXhlY3V0
aW9uKCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQwKSIsCisgICAgIiAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDIpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0
cnVjdGlvbigxLCB0MykiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyKHQw
LCB0MSwgLnNsb3cpIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMih0Miwg
dDAsIC5zbG93KSIsCisgICAgIiAgICBpbnRlZ2VyQ29tcGFyaXNvbih0MCwgdDEsIHQwKSIsCisg
ICAgIiAgICBvcnEgVmFsdWVGYWxzZSwgdDAiLAorICAgICIgICAgc3RvcmVxIHQwLCAwW2Nmciwg
dDMsIDhdIiwKKyAgICAiICAgIGRpc3BhdGNoKDQpIiwKKyAgICAiLnNsb3c6IiwKKyAgICAiICAg
IGNhbGxPcGNvZGVTbG93UGF0aChzbG93UGF0aCkiLAorICAgICIgICAgZGlzcGF0Y2goNCkiLAor
ICAgICJlbmQiLAorICAgICJfbGxpbnRfb3BfZXE6IiwKKyAgICAiICAgIGVxdWFsaXR5Q29tcGFy
aXNvbihtYWNybyAobGVmdCwgcmlnaHQsIHJlc3VsdCkiLAorICAgICIgICAgY2llcSBsZWZ0LCBy
aWdodCwgcmVzdWx0IiwKKyAgICAiZW5kLCBfc2xvd19wYXRoX2VxKSIsCisgICAgIl9sbGludF9v
cF9uZXE6IiwKKyAgICAiICAgIGVxdWFsaXR5Q29tcGFyaXNvbihtYWNybyAobGVmdCwgcmlnaHQs
IHJlc3VsdCkiLAorICAgICIgICAgY2luZXEgbGVmdCwgcmlnaHQsIHJlc3VsdCIsCisgICAgImVu
ZCwgX3Nsb3dfcGF0aF9uZXEpIiwKKyAgICAibWFjcm8gZXF1YWxOdWxsQ29tcGFyaXNvbigpIiwK
KyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkiLAorICAgICIgICAgbG9hZHEg
MFtjZnIsIHQwLCA4XSwgdDAiLAorICAgICIgICAgYnRxbnogdDAsIHRhZ01hc2ssIC5pbW1lZGlh
dGUiLAorICAgICIgICAgYnRibnogSlNDZWxsOjptX2ZsYWdzW3QwXSwgTWFzcXVlcmFkZXNBc1Vu
ZGVmaW5lZCwgLm1hc3F1ZXJhZGVzQXNVbmRlZmluZWQiLAorICAgICIgICAgbW92ZSAwLCB0MCIs
CisgICAgIiAgICBqbXAgLmRvbmUiLAorICAgICIubWFzcXVlcmFkZXNBc1VuZGVmaW5lZDoiLAor
ICAgICIgICAgbG9hZFN0cnVjdHVyZVdpdGhTY3JhdGNoKHQwLCB0MiwgdDEpIiwKKyAgICAiICAg
IGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MCIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2s6Om1f
Z2xvYmFsT2JqZWN0W3QwXSwgdDAiLAorICAgICIgICAgY3BlcSBTdHJ1Y3R1cmU6Om1fZ2xvYmFs
T2JqZWN0W3QyXSwgdDAsIHQwIiwKKyAgICAiICAgIGptcCAuZG9uZSIsCisgICAgIi5pbW1lZGlh
dGU6IiwKKyAgICAiICAgIGFuZHEgKH5UYWdCaXRVbmRlZmluZWQpLCB0MCIsCisgICAgIiAgICBj
cWVxIHQwLCBWYWx1ZU51bGwsIHQwIiwKKyAgICAiLmRvbmU6IiwKKyAgICAiZW5kIiwKKyAgICAi
X2xsaW50X29wX2VxX251bGw6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIg
ICAgZXF1YWxOdWxsQ29tcGFyaXNvbigpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlv
bigxLCB0MSkiLAorICAgICIgICAgb3JxIFZhbHVlRmFsc2UsIHQwIiwKKyAgICAiICAgIHN0b3Jl
cSB0MCwgMFtjZnIsIHQxLCA4XSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2Vx
X251bGxfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfbmVxX251bGw6IiwKKyAgICAiICAgIHRy
YWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgZXF1YWxOdWxsQ29tcGFyaXNvbigpIiwKKyAgICAi
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkiLAorICAgICIgICAgeG9ycSBWYWx1ZVRy
dWUsIHQwIiwKKyAgICAiICAgIHN0b3JlcSB0MCwgMFtjZnIsIHQxLCA4XSIsCisgICAgIiAgICBk
aXNwYXRjaChjb25zdGV4cHIgKG9wX25lcV9udWxsX2xlbmd0aCkpIiwKKyAgICAibWFjcm8gc3Ry
aWN0RXEoZXF1YWxpdHlPcGVyYXRpb24sIHNsb3dQYXRoKSIsCisgICAgIiAgICB0cmFjZUV4ZWN1
dGlvbigpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MCkiLAorICAgICIg
ICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQyKSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRP
clZhcmlhYmxlKHQwLCB0MSkiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0Miwg
dDApIiwKKyAgICAiICAgIG1vdmUgdDAsIHQyIiwKKyAgICAiICAgIG9ycSB0MSwgdDIiLAorICAg
ICIgICAgYnRxeiB0MiwgdGFnTWFzaywgLnNsb3ciLAorICAgICIgICAgYnFhZXEgdDAsIHRhZ1R5
cGVOdW1iZXIsIC5sZWZ0T0siLAorICAgICIgICAgYnRxbnogdDAsIHRhZ1R5cGVOdW1iZXIsIC5z
bG93IiwKKyAgICAiLmxlZnRPSzoiLAorICAgICIgICAgYnFhZXEgdDEsIHRhZ1R5cGVOdW1iZXIs
IC5yaWdodE9LIiwKKyAgICAiICAgIGJ0cW56IHQxLCB0YWdUeXBlTnVtYmVyLCAuc2xvdyIsCisg
ICAgIi5yaWdodE9LOiIsCisgICAgIiAgICBlcXVhbGl0eU9wZXJhdGlvbih0MCwgdDEsIHQwKSIs
CisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpIiwKKyAgICAiICAgIG9ycSBW
YWx1ZUZhbHNlLCB0MCIsCisgICAgIiAgICBzdG9yZXEgdDAsIDBbY2ZyLCB0MSwgOF0iLAorICAg
ICIgICAgZGlzcGF0Y2goNCkiLAorICAgICIuc2xvdzoiLAorICAgICIgICAgY2FsbE9wY29kZVNs
b3dQYXRoKHNsb3dQYXRoKSIsCisgICAgIiAgICBkaXNwYXRjaCg0KSIsCisgICAgImVuZCIsCisg
ICAgIl9sbGludF9vcF9zdHJpY3RlcToiLAorICAgICIgICAgc3RyaWN0RXEobWFjcm8gKGxlZnQs
IHJpZ2h0LCByZXN1bHQpIiwKKyAgICAiICAgIGNxZXEgbGVmdCwgcmlnaHQsIHJlc3VsdCIsCisg
ICAgImVuZCwgX3Nsb3dfcGF0aF9zdHJpY3RlcSkiLAorICAgICJfbGxpbnRfb3BfbnN0cmljdGVx
OiIsCisgICAgIiAgICBzdHJpY3RFcShtYWNybyAobGVmdCwgcmlnaHQsIHJlc3VsdCkiLAorICAg
ICIgICAgY3FuZXEgbGVmdCwgcmlnaHQsIHJlc3VsdCIsCisgICAgImVuZCwgX3Nsb3dfcGF0aF9u
c3RyaWN0ZXEpIiwKKyAgICAibWFjcm8gcHJlT3AoYXJpdGhtZXRpY09wZXJhdGlvbiwgc2xvd1Bh
dGgpIiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgbG9hZGlzRnJvbUlu
c3RydWN0aW9uKDEsIHQwKSIsCisgICAgIiAgICBsb2FkcSAwW2NmciwgdDAsIDhdLCB0MSIsCisg
ICAgIiAgICBicWIgdDEsIHRhZ1R5cGVOdW1iZXIsIC5zbG93IiwKKyAgICAiICAgIGFyaXRobWV0
aWNPcGVyYXRpb24odDEsIC5zbG93KSIsCisgICAgIiAgICBvcnEgdGFnVHlwZU51bWJlciwgdDEi
LAorICAgICIgICAgc3RvcmVxIHQxLCAwW2NmciwgdDAsIDhdIiwKKyAgICAiICAgIGRpc3BhdGNo
KDIpIiwKKyAgICAiLnNsb3c6IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChzbG93UGF0
aCkiLAorICAgICIgICAgZGlzcGF0Y2goMikiLAorICAgICJlbmQiLAorICAgICJfbGxpbnRfb3Bf
aW5jOiIsCisgICAgIiAgICBwcmVPcChtYWNybyAodmFsdWUsIHNsb3cpIiwKKyAgICAiICAgIGJh
ZGRpbyAxLCB2YWx1ZSwgc2xvdyIsCisgICAgImVuZCwgX3Nsb3dfcGF0aF9pbmMpIiwKKyAgICAi
X2xsaW50X29wX2RlYzoiLAorICAgICIgICAgcHJlT3AobWFjcm8gKHZhbHVlLCBzbG93KSIsCisg
ICAgIiAgICBic3ViaW8gMSwgdmFsdWUsIHNsb3ciLAorICAgICJlbmQsIF9zbG93X3BhdGhfZGVj
KSIsCisgICAgIl9sbGludF9vcF90b19udW1iZXI6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9u
KCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQwKSIsCisgICAgIiAgICBs
b2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFy
aWFibGUodDAsIHQyKSIsCisgICAgIiAgICBicWFlcSB0MiwgdGFnVHlwZU51bWJlciwgLm9wVG9O
dW1iZXJJc0ltbWVkaWF0ZSIsCisgICAgIiAgICBidHF6IHQyLCB0YWdUeXBlTnVtYmVyLCAub3BU
b051bWJlclNsb3ciLAorICAgICIub3BUb051bWJlcklzSW1tZWRpYXRlOiIsCisgICAgIiAgICBz
dG9yZXEgdDIsIDBbY2ZyLCB0MSwgOF0iLAorICAgICIgICAgdmFsdWVQcm9maWxlKHQyLCAzLCB0
MCkiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF90b19udW1iZXJfbGVuZ3RoKSki
LAorICAgICIub3BUb051bWJlclNsb3c6IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChf
c2xvd19wYXRoX3RvX251bWJlcikiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF90
b19udW1iZXJfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfdG9fc3RyaW5nOiIsCisgICAgIiAg
ICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0
MSkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQyKSIsCisgICAgIiAgICBs
b2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MCkiLAorICAgICIgICAgYnRxbnogdDAsIHRhZ01h
c2ssIC5vcFRvU3RyaW5nU2xvdyIsCisgICAgIiAgICBiYm5lcSBKU0NlbGw6Om1fdHlwZVt0MF0s
IFN0cmluZ1R5cGUsIC5vcFRvU3RyaW5nU2xvdyIsCisgICAgIi5vcFRvU3RyaW5nSXNTdHJpbmc6
IiwKKyAgICAiICAgIHN0b3JlcSB0MCwgMFtjZnIsIHQyLCA4XSIsCisgICAgIiAgICBkaXNwYXRj
aChjb25zdGV4cHIgKG9wX3RvX3N0cmluZ19sZW5ndGgpKSIsCisgICAgIi5vcFRvU3RyaW5nU2xv
dzoiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfdG9fc3RyaW5nKSIs
CisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX3RvX3N0cmluZ19sZW5ndGgpKSIsCisg
ICAgIl9sbGludF9vcF9uZWdhdGU6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAg
ICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQwKSIsCisgICAgIiAgICBsb2FkaXNGcm9t
SW5zdHJ1Y3Rpb24oMSwgdDEpIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDAs
IHQzKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDIpIiwKKyAgICAiICAg
IGJxYiB0MywgdGFnVHlwZU51bWJlciwgLm9wTmVnYXRlTm90SW50IiwKKyAgICAiICAgIGJ0aXog
dDMsIDIxNDc0ODM2NDcsIC5vcE5lZ2F0ZVNsb3ciLAorICAgICIgICAgbmVnaSB0MyIsCisgICAg
IiAgICBvcmkgQXJpdGhQcm9maWxlSW50LCB0MiIsCisgICAgIiAgICBvcnEgdGFnVHlwZU51bWJl
ciwgdDMiLAorICAgICIgICAgc3RvcmVpc1RvSW5zdHJ1Y3Rpb24odDIsIDMpIiwKKyAgICAiICAg
IHN0b3JlcSB0MywgMFtjZnIsIHQxLCA4XSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIg
KG9wX25lZ2F0ZV9sZW5ndGgpKSIsCisgICAgIi5vcE5lZ2F0ZU5vdEludDoiLAorICAgICIgICAg
YnRxeiB0MywgdGFnVHlwZU51bWJlciwgLm9wTmVnYXRlU2xvdyIsCisgICAgIiAgICB4b3JxIDky
MjMzNzIwMzY4NTQ3NzYwMDAsIHQzIiwKKyAgICAiICAgIG9yaSBBcml0aFByb2ZpbGVOdW1iZXIs
IHQyIiwKKyAgICAiICAgIHN0b3JlcSB0MywgMFtjZnIsIHQxLCA4XSIsCisgICAgIiAgICBzdG9y
ZWlzVG9JbnN0cnVjdGlvbih0MiwgMykiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChv
cF9uZWdhdGVfbGVuZ3RoKSkiLAorICAgICIub3BOZWdhdGVTbG93OiIsCisgICAgIiAgICBjYWxs
T3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9uZWdhdGUpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNv
bnN0ZXhwciAob3BfbmVnYXRlX2xlbmd0aCkpIiwKKyAgICAibWFjcm8gYmluYXJ5T3BDdXN0b21T
dG9yZShpbnRlZ2VyT3BlcmF0aW9uQW5kU3RvcmUsIGRvdWJsZU9wZXJhdGlvbiwgc2xvd1BhdGgp
IiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MCkiLAorICAgICIgICAgbG9h
ZGlzRnJvbUluc3RydWN0aW9uKDIsIHQyKSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlh
YmxlKHQwLCB0MSkiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDApIiwK
KyAgICAiICAgIGJxYiB0MCwgdGFnVHlwZU51bWJlciwgLm9wMU5vdEludCIsCisgICAgIiAgICBi
cWIgdDEsIHRhZ1R5cGVOdW1iZXIsIC5vcDJOb3RJbnQiLAorICAgICIgICAgbG9hZGlzRnJvbUlu
c3RydWN0aW9uKDEsIHQyKSIsCisgICAgIiAgICBpbnRlZ2VyT3BlcmF0aW9uQW5kU3RvcmUodDEs
IHQwLCAuc2xvdywgdDIpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0MSki
LAorICAgICIgICAgb3JpIEFyaXRoUHJvZmlsZUludEludCwgdDEiLAorICAgICIgICAgc3RvcmVp
c1RvSW5zdHJ1Y3Rpb24odDEsIDQpIiwKKyAgICAiICAgIGRpc3BhdGNoKDUpIiwKKyAgICAiLm9w
MU5vdEludDoiLAorICAgICIgICAgYnRxeiB0MCwgdGFnVHlwZU51bWJlciwgLnNsb3ciLAorICAg
ICIgICAgYnFhZXEgdDEsIHRhZ1R5cGVOdW1iZXIsIC5vcDFOb3RJbnRPcDJJbnQiLAorICAgICIg
ICAgYnRxeiB0MSwgdGFnVHlwZU51bWJlciwgLnNsb3ciLAorICAgICIgICAgYWRkcSB0YWdUeXBl
TnVtYmVyLCB0MSIsCisgICAgIiAgICBmcTJkIHQxLCBmdDEiLAorICAgICIgICAgbG9hZGlzRnJv
bUluc3RydWN0aW9uKDQsIHQyKSIsCisgICAgIiAgICBvcmkgQXJpdGhQcm9maWxlTnVtYmVyTnVt
YmVyLCB0MiIsCisgICAgIiAgICBzdG9yZWlzVG9JbnN0cnVjdGlvbih0MiwgNCkiLAorICAgICIg
ICAgam1wIC5vcDFOb3RJbnRSZWFkeSIsCisgICAgIi5vcDFOb3RJbnRPcDJJbnQ6IiwKKyAgICAi
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0MikiLAorICAgICIgICAgb3JpIEFyaXRoUHJv
ZmlsZU51bWJlckludCwgdDIiLAorICAgICIgICAgc3RvcmVpc1RvSW5zdHJ1Y3Rpb24odDIsIDQp
IiwKKyAgICAiICAgIGNpMmQgdDEsIGZ0MSIsCisgICAgIi5vcDFOb3RJbnRSZWFkeToiLAorICAg
ICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQyKSIsCisgICAgIiAgICBhZGRxIHRhZ1R5
cGVOdW1iZXIsIHQwIiwKKyAgICAiICAgIGZxMmQgdDAsIGZ0MCIsCisgICAgIiAgICBkb3VibGVP
cGVyYXRpb24oZnQxLCBmdDApIiwKKyAgICAiICAgIGZkMnEgZnQwLCB0MCIsCisgICAgIiAgICBz
dWJxIHRhZ1R5cGVOdW1iZXIsIHQwIiwKKyAgICAiICAgIHN0b3JlcSB0MCwgMFtjZnIsIHQyLCA4
XSIsCisgICAgIiAgICBkaXNwYXRjaCg1KSIsCisgICAgIi5vcDJOb3RJbnQ6IiwKKyAgICAiICAg
IGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MikiLAorICAgICIgICAgYnRxeiB0MSwgdGFnVHlw
ZU51bWJlciwgLnNsb3ciLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQzKSIs
CisgICAgIiAgICBvcmkgQXJpdGhQcm9maWxlSW50TnVtYmVyLCB0MyIsCisgICAgIiAgICBzdG9y
ZWlzVG9JbnN0cnVjdGlvbih0MywgNCkiLAorICAgICIgICAgY2kyZCB0MCwgZnQwIiwKKyAgICAi
ICAgIGFkZHEgdGFnVHlwZU51bWJlciwgdDEiLAorICAgICIgICAgZnEyZCB0MSwgZnQxIiwKKyAg
ICAiICAgIGRvdWJsZU9wZXJhdGlvbihmdDEsIGZ0MCkiLAorICAgICIgICAgZmQycSBmdDAsIHQw
IiwKKyAgICAiICAgIHN1YnEgdGFnVHlwZU51bWJlciwgdDAiLAorICAgICIgICAgc3RvcmVxIHQw
LCAwW2NmciwgdDIsIDhdIiwKKyAgICAiICAgIGRpc3BhdGNoKDUpIiwKKyAgICAiLnNsb3c6IiwK
KyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChzbG93UGF0aCkiLAorICAgICIgICAgZGlzcGF0
Y2goNSkiLAorICAgICJlbmQiLAorICAgICJtYWNybyBiaW5hcnlPcChpbnRlZ2VyT3BlcmF0aW9u
LCBkb3VibGVPcGVyYXRpb24sIHNsb3dQYXRoKSIsCisgICAgIiAgICBiaW5hcnlPcEN1c3RvbVN0
b3JlKG1hY3JvIChsZWZ0LCByaWdodCwgc2xvdywgaW5kZXgpIiwKKyAgICAiICAgIGludGVnZXJP
cGVyYXRpb24obGVmdCwgcmlnaHQsIHNsb3cpIiwKKyAgICAiICAgIG9ycSB0YWdUeXBlTnVtYmVy
LCByaWdodCIsCisgICAgIiAgICBzdG9yZXEgcmlnaHQsIDBbY2ZyLCBpbmRleCwgOF0iLAorICAg
ICJlbmQsIGRvdWJsZU9wZXJhdGlvbiwgc2xvd1BhdGgpIiwKKyAgICAiZW5kIiwKKyAgICAiX2xs
aW50X29wX2FkZDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBiaW5h
cnlPcChtYWNybyAobGVmdCwgcmlnaHQsIHNsb3cpIiwKKyAgICAiICAgIGJhZGRpbyBsZWZ0LCBy
aWdodCwgc2xvdyIsCisgICAgImVuZCwgbWFjcm8gKGxlZnQsIHJpZ2h0KSIsCisgICAgIiAgICBh
ZGRkIGxlZnQsIHJpZ2h0IiwKKyAgICAiZW5kLCBfc2xvd19wYXRoX2FkZCkiLAorICAgICJfbGxp
bnRfb3BfbXVsOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGJpbmFy
eU9wQ3VzdG9tU3RvcmUobWFjcm8gKGxlZnQsIHJpZ2h0LCBzbG93LCBpbmRleCkiLAorICAgICIg
ICAgbW92ZSByaWdodCwgdDMiLAorICAgICIgICAgYm11bGlvIGxlZnQsIHQzLCBzbG93IiwKKyAg
ICAiICAgIGJ0aW56IHQzLCAuZG9uZSIsCisgICAgIiAgICBiaWx0IGxlZnQsIDAsIHNsb3ciLAor
ICAgICIgICAgYmlsdCByaWdodCwgMCwgc2xvdyIsCisgICAgIi5kb25lOiIsCisgICAgIiAgICBv
cnEgdGFnVHlwZU51bWJlciwgdDMiLAorICAgICIgICAgc3RvcmVxIHQzLCAwW2NmciwgaW5kZXgs
IDhdIiwKKyAgICAiZW5kLCBtYWNybyAobGVmdCwgcmlnaHQpIiwKKyAgICAiICAgIG11bGQgbGVm
dCwgcmlnaHQiLAorICAgICJlbmQsIF9zbG93X3BhdGhfbXVsKSIsCisgICAgIl9sbGludF9vcF9z
dWI6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgYmluYXJ5T3AobWFj
cm8gKGxlZnQsIHJpZ2h0LCBzbG93KSIsCisgICAgIiAgICBic3ViaW8gbGVmdCwgcmlnaHQsIHNs
b3ciLAorICAgICJlbmQsIG1hY3JvIChsZWZ0LCByaWdodCkiLAorICAgICIgICAgc3ViZCBsZWZ0
LCByaWdodCIsCisgICAgImVuZCwgX3Nsb3dfcGF0aF9zdWIpIiwKKyAgICAiX2xsaW50X29wX2Rp
djoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgImlmIChYODZfNjQgb3IgWDg2
XzY0X1dJTikiLAorICAgICIgICAgYmluYXJ5T3BDdXN0b21TdG9yZShtYWNybyAobGVmdCwgcmln
aHQsIHNsb3csIGluZGV4KSIsCisgICAgIiAgICBidGl6IGxlZnQsIHNsb3ciLAorICAgICIgICAg
YmluZXEgbGVmdCwgKC0xKSwgLm5vdE5lZzJUd29UaGUzMURpdkJ5TmVnMSIsCisgICAgIiAgICBi
aWVxIHJpZ2h0LCAoLTIxNDc0ODM2NDgpLCAuc2xvdyIsCisgICAgIi5ub3ROZWcyVHdvVGhlMzFE
aXZCeU5lZzE6IiwKKyAgICAiICAgIGJ0aW56IHJpZ2h0LCAuaW50T0siLAorICAgICIgICAgYmls
dCBsZWZ0LCAwLCBzbG93IiwKKyAgICAiLmludE9LOiIsCisgICAgIiAgICBtb3ZlIGxlZnQsIHQz
IiwKKyAgICAiICAgIG1vdmUgcmlnaHQsIHQwIiwKKyAgICAiICAgIGNkcWkgIiwKKyAgICAiICAg
IGlkaXZpIHQzIiwKKyAgICAiICAgIGJ0aW56IHQxLCBzbG93IiwKKyAgICAiICAgIG9ycSB0YWdU
eXBlTnVtYmVyLCB0MCIsCisgICAgIiAgICBzdG9yZXEgdDAsIDBbY2ZyLCBpbmRleCwgOF0iLAor
ICAgICJlbmQsIG1hY3JvIChsZWZ0LCByaWdodCkiLAorICAgICIgICAgZGl2ZCBsZWZ0LCByaWdo
dCIsCisgICAgImVuZCwgX3Nsb3dfcGF0aF9kaXYpIiwKKyAgICAiZWxzZSIsCisgICAgIiAgICBj
YWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9kaXYpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNv
bnN0ZXhwciAob3BfZGl2X2xlbmd0aCkpIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gYml0T3Ao
b3BlcmF0aW9uLCBzbG93UGF0aCwgYWR2YW5jZSkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3Ry
dWN0aW9uKDMsIHQwKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDIpIiwK
KyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MykiLAorICAgICIgICAgbG9hZENv
bnN0YW50T3JWYXJpYWJsZSh0MCwgdDEpIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFi
bGUodDIsIHQwKSIsCisgICAgIiAgICBicWIgdDAsIHRhZ1R5cGVOdW1iZXIsIC5zbG93IiwKKyAg
ICAiICAgIGJxYiB0MSwgdGFnVHlwZU51bWJlciwgLnNsb3ciLAorICAgICIgICAgb3BlcmF0aW9u
KHQxLCB0MCkiLAorICAgICIgICAgb3JxIHRhZ1R5cGVOdW1iZXIsIHQwIiwKKyAgICAiICAgIHN0
b3JlcSB0MCwgMFtjZnIsIHQzLCA4XSIsCisgICAgIiAgICBkaXNwYXRjaChhZHZhbmNlKSIsCisg
ICAgIi5zbG93OiIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoc2xvd1BhdGgpIiwKKyAg
ICAiICAgIGRpc3BhdGNoKGFkdmFuY2UpIiwKKyAgICAiZW5kIiwKKyAgICAiX2xsaW50X29wX2xz
aGlmdDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBiaXRPcChtYWNy
byAobGVmdCwgcmlnaHQpIiwKKyAgICAiICAgIGxzaGlmdGkgbGVmdCwgcmlnaHQiLAorICAgICJl
bmQsIF9zbG93X3BhdGhfbHNoaWZ0LCBjb25zdGV4cHIgKG9wX2xzaGlmdF9sZW5ndGgpKSIsCisg
ICAgIl9sbGludF9vcF9yc2hpZnQ6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAg
ICIgICAgYml0T3AobWFjcm8gKGxlZnQsIHJpZ2h0KSIsCisgICAgIiAgICByc2hpZnRpIGxlZnQs
IHJpZ2h0IiwKKyAgICAiZW5kLCBfc2xvd19wYXRoX3JzaGlmdCwgY29uc3RleHByIChvcF9yc2hp
ZnRfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfdXJzaGlmdDoiLAorICAgICIgICAgdHJhY2VF
eGVjdXRpb24oKSIsCisgICAgIiAgICBiaXRPcChtYWNybyAobGVmdCwgcmlnaHQpIiwKKyAgICAi
ICAgIHVyc2hpZnRpIGxlZnQsIHJpZ2h0IiwKKyAgICAiZW5kLCBfc2xvd19wYXRoX3Vyc2hpZnQs
IGNvbnN0ZXhwciAob3BfdXJzaGlmdF9sZW5ndGgpKSIsCisgICAgIl9sbGludF9vcF91bnNpZ25l
ZDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5z
dHJ1Y3Rpb24oMSwgdDApIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MSki
LAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDIpIiwKKyAgICAiICAgIGJp
bHQgdDIsIDAsIC5vcFVuc2lnbmVkU2xvdyIsCisgICAgIiAgICBzdG9yZXEgdDIsIDBbY2ZyLCB0
MCwgOF0iLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF91bnNpZ25lZF9sZW5ndGgp
KSIsCisgICAgIi5vcFVuc2lnbmVkU2xvdzoiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRo
KF9zbG93X3BhdGhfdW5zaWduZWQpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3Bf
dW5zaWduZWRfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfYml0YW5kOiIsCisgICAgIiAgICB0
cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGJpdE9wKG1hY3JvIChsZWZ0LCByaWdodCkiLAor
ICAgICIgICAgYW5kaSBsZWZ0LCByaWdodCIsCisgICAgImVuZCwgX3Nsb3dfcGF0aF9iaXRhbmQs
IGNvbnN0ZXhwciAob3BfYml0YW5kX2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX2JpdHhvcjoi
LAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBiaXRPcChtYWNybyAobGVm
dCwgcmlnaHQpIiwKKyAgICAiICAgIHhvcmkgbGVmdCwgcmlnaHQiLAorICAgICJlbmQsIF9zbG93
X3BhdGhfYml0eG9yLCBjb25zdGV4cHIgKG9wX2JpdHhvcl9sZW5ndGgpKSIsCisgICAgIl9sbGlu
dF9vcF9iaXRvcjoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBiaXRP
cChtYWNybyAobGVmdCwgcmlnaHQpIiwKKyAgICAiICAgIG9yaSBsZWZ0LCByaWdodCIsCisgICAg
ImVuZCwgX3Nsb3dfcGF0aF9iaXRvciwgY29uc3RleHByIChvcF9iaXRvcl9sZW5ndGgpKSIsCisg
ICAgIl9sbGludF9vcF9vdmVycmlkZXNfaGFzX2luc3RhbmNlOiIsCisgICAgIiAgICB0cmFjZUV4
ZWN1dGlvbigpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MykiLAorICAg
ICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQxKSIsCisgICAgIiAgICBsb2FkQ29uc3Rh
bnRPclZhcmlhYmxlKHQxLCB0MCkiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQy
IiwKKyAgICAiICAgIGxvYWRwIENvZGVCbG9jazo6bV9nbG9iYWxPYmplY3RbdDJdLCB0MiIsCisg
ICAgIiAgICBsb2FkcCBKU0dsb2JhbE9iamVjdDo6bV9mdW5jdGlvblByb3RvSGFzSW5zdGFuY2VT
eW1ib2xGdW5jdGlvblt0Ml0sIHQyIiwKKyAgICAiICAgIGJxbmVxIHQwLCB0MiwgLm9wT3ZlcnJp
ZGVzSGFzSW5zdGFuY2VOb3REZWZhdWx0U3ltYm9sIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0
cnVjdGlvbigyLCB0MSkiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDAp
IiwKKyAgICAiICAgIHRieiBKU0NlbGw6Om1fZmxhZ3NbdDBdLCBJbXBsZW1lbnRzRGVmYXVsdEhh
c0luc3RhbmNlLCB0MSIsCisgICAgIiAgICBvcnEgVmFsdWVGYWxzZSwgdDEiLAorICAgICIgICAg
c3RvcmVxIHQxLCAwW2NmciwgdDMsIDhdIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAo
b3Bfb3ZlcnJpZGVzX2hhc19pbnN0YW5jZV9sZW5ndGgpKSIsCisgICAgIi5vcE92ZXJyaWRlc0hh
c0luc3RhbmNlTm90RGVmYXVsdFN5bWJvbDoiLAorICAgICIgICAgc3RvcmVxIFZhbHVlVHJ1ZSwg
MFtjZnIsIHQzLCA4XSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX292ZXJyaWRl
c19oYXNfaW5zdGFuY2VfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfaW5zdGFuY2VvZl9jdXN0
b206IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY2FsbE9wY29kZVNs
b3dQYXRoKF9sbGludF9zbG93X3BhdGhfaW5zdGFuY2VvZl9jdXN0b20pIiwKKyAgICAiICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciAob3BfaW5zdGFuY2VvZl9jdXN0b21fbGVuZ3RoKSkiLAorICAgICJf
bGxpbnRfb3BfaXNfZW1wdHk6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIg
ICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQxKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5z
dHJ1Y3Rpb24oMSwgdDIpIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQw
KSIsCisgICAgIiAgICBjcWVxIHQwLCBWYWx1ZUVtcHR5LCB0MyIsCisgICAgIiAgICBvcnEgVmFs
dWVGYWxzZSwgdDMiLAorICAgICIgICAgc3RvcmVxIHQzLCAwW2NmciwgdDIsIDhdIiwKKyAgICAi
ICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfaXNfZW1wdHlfbGVuZ3RoKSkiLAorICAgICJfbGxp
bnRfb3BfaXNfdW5kZWZpbmVkOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAi
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MSkiLAorICAgICIgICAgbG9hZGlzRnJvbUlu
c3RydWN0aW9uKDEsIHQyKSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0
MCkiLAorICAgICIgICAgYnRxeiB0MCwgdGFnTWFzaywgLm9wSXNVbmRlZmluZWRDZWxsIiwKKyAg
ICAiICAgIGNxZXEgdDAsIFZhbHVlVW5kZWZpbmVkLCB0MyIsCisgICAgIiAgICBvcnEgVmFsdWVG
YWxzZSwgdDMiLAorICAgICIgICAgc3RvcmVxIHQzLCAwW2NmciwgdDIsIDhdIiwKKyAgICAiICAg
IGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfaXNfdW5kZWZpbmVkX2xlbmd0aCkpIiwKKyAgICAiLm9w
SXNVbmRlZmluZWRDZWxsOiIsCisgICAgIiAgICBidGJueiBKU0NlbGw6Om1fZmxhZ3NbdDBdLCBN
YXNxdWVyYWRlc0FzVW5kZWZpbmVkLCAubWFzcXVlcmFkZXNBc1VuZGVmaW5lZCIsCisgICAgIiAg
ICBtb3ZlIFZhbHVlRmFsc2UsIHQxIiwKKyAgICAiICAgIHN0b3JlcSB0MSwgMFtjZnIsIHQyLCA4
XSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2lzX3VuZGVmaW5lZF9sZW5ndGgp
KSIsCisgICAgIi5tYXNxdWVyYWRlc0FzVW5kZWZpbmVkOiIsCisgICAgIiAgICBsb2FkU3RydWN0
dXJlV2l0aFNjcmF0Y2godDAsIHQzLCB0MSkiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrW2Nm
cl0sIHQxIiwKKyAgICAiICAgIGxvYWRwIENvZGVCbG9jazo6bV9nbG9iYWxPYmplY3RbdDFdLCB0
MSIsCisgICAgIiAgICBjcGVxIFN0cnVjdHVyZTo6bV9nbG9iYWxPYmplY3RbdDNdLCB0MSwgdDAi
LAorICAgICIgICAgb3JxIFZhbHVlRmFsc2UsIHQwIiwKKyAgICAiICAgIHN0b3JlcSB0MCwgMFtj
ZnIsIHQyLCA4XSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2lzX3VuZGVmaW5l
ZF9sZW5ndGgpKSIsCisgICAgIl9sbGludF9vcF9pc19ib29sZWFuOiIsCisgICAgIiAgICB0cmFj
ZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MSkiLAor
ICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQyKSIsCisgICAgIiAgICBsb2FkQ29u
c3RhbnRPclZhcmlhYmxlKHQxLCB0MCkiLAorICAgICIgICAgeG9ycSBWYWx1ZUZhbHNlLCB0MCIs
CisgICAgIiAgICB0cXogdDAsICh+MSksIHQwIiwKKyAgICAiICAgIG9ycSBWYWx1ZUZhbHNlLCB0
MCIsCisgICAgIiAgICBzdG9yZXEgdDAsIDBbY2ZyLCB0MiwgOF0iLAorICAgICIgICAgZGlzcGF0
Y2goY29uc3RleHByIChvcF9pc19ib29sZWFuX2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX2lz
X251bWJlcjoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24oMiwgdDEpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigx
LCB0MikiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDApIiwKKyAgICAi
ICAgIHRxbnogdDAsIHRhZ1R5cGVOdW1iZXIsIHQxIiwKKyAgICAiICAgIG9ycSBWYWx1ZUZhbHNl
LCB0MSIsCisgICAgIiAgICBzdG9yZXEgdDEsIDBbY2ZyLCB0MiwgOF0iLAorICAgICIgICAgZGlz
cGF0Y2goY29uc3RleHByIChvcF9pc19udW1iZXJfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3Bf
aXNfY2VsbF93aXRoX3R5cGU6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIg
ICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQwKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5z
dHJ1Y3Rpb24oMiwgdDEpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0Miki
LAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDMpIiwKKyAgICAiICAgIGJ0
cW56IHQzLCB0YWdNYXNrLCAubm90Q2VsbENhc2UiLAorICAgICIgICAgY2JlcSBKU0NlbGw6Om1f
dHlwZVt0M10sIHQwLCB0MSIsCisgICAgIiAgICBvcnEgVmFsdWVGYWxzZSwgdDEiLAorICAgICIg
ICAgc3RvcmVxIHQxLCAwW2NmciwgdDIsIDhdIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhw
ciAob3BfaXNfY2VsbF93aXRoX3R5cGVfbGVuZ3RoKSkiLAorICAgICIubm90Q2VsbENhc2U6IiwK
KyAgICAiICAgIHN0b3JlcSBWYWx1ZUZhbHNlLCAwW2NmciwgdDIsIDhdIiwKKyAgICAiICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciAob3BfaXNfY2VsbF93aXRoX3R5cGVfbGVuZ3RoKSkiLAorICAgICJf
bGxpbnRfb3BfaXNfb2JqZWN0OiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAi
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MSkiLAorICAgICIgICAgbG9hZGlzRnJvbUlu
c3RydWN0aW9uKDEsIHQyKSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0
MCkiLAorICAgICIgICAgYnRxbnogdDAsIHRhZ01hc2ssIC5vcElzT2JqZWN0Tm90Q2VsbCIsCisg
ICAgIiAgICBjYmFlcSBKU0NlbGw6Om1fdHlwZVt0MF0sIE9iamVjdFR5cGUsIHQxIiwKKyAgICAi
ICAgIG9ycSBWYWx1ZUZhbHNlLCB0MSIsCisgICAgIiAgICBzdG9yZXEgdDEsIDBbY2ZyLCB0Miwg
OF0iLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9pc19vYmplY3RfbGVuZ3RoKSki
LAorICAgICIub3BJc09iamVjdE5vdENlbGw6IiwKKyAgICAiICAgIHN0b3JlcSBWYWx1ZUZhbHNl
LCAwW2NmciwgdDIsIDhdIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfaXNfb2Jq
ZWN0X2xlbmd0aCkpIiwKKyAgICAibWFjcm8gbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldChw
cm9wZXJ0eU9mZnNldEFzSW50LCBvYmplY3RBbmRTdG9yYWdlLCB2YWx1ZSkiLAorICAgICIgICAg
YmlsdCBwcm9wZXJ0eU9mZnNldEFzSW50LCBmaXJzdE91dE9mTGluZU9mZnNldCwgLmlzSW5saW5l
IiwKKyAgICAiICAgIGxvYWRDYWdlZChfZ19qc1ZhbHVlR2lnYWNhZ2VCYXNlUHRyLCBKU09iamVj
dDo6bV9idXR0ZXJmbHlbb2JqZWN0QW5kU3RvcmFnZV0sIG9iamVjdEFuZFN0b3JhZ2UsIHZhbHVl
KSIsCisgICAgIiAgICBuZWdpIHByb3BlcnR5T2Zmc2V0QXNJbnQiLAorICAgICIgICAgc3hpMnEg
cHJvcGVydHlPZmZzZXRBc0ludCwgcHJvcGVydHlPZmZzZXRBc0ludCIsCisgICAgIiAgICBqbXAg
LnJlYWR5IiwKKyAgICAiLmlzSW5saW5lOiIsCisgICAgIiAgICBhZGRwIChzaXplb2YgSlNPYmpl
Y3QgLSAoKGZpcnN0T3V0T2ZMaW5lT2Zmc2V0IC0gMikgKiA4KSksIG9iamVjdEFuZFN0b3JhZ2Ui
LAorICAgICIucmVhZHk6IiwKKyAgICAiICAgIGxvYWRxICgoZmlyc3RPdXRPZkxpbmVPZmZzZXQg
LSAyKSAqIDgpW29iamVjdEFuZFN0b3JhZ2UsIHByb3BlcnR5T2Zmc2V0QXNJbnQsIDhdLCB2YWx1
ZSIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIHN0b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0
KHByb3BlcnR5T2Zmc2V0QXNJbnQsIG9iamVjdEFuZFN0b3JhZ2UsIHZhbHVlLCBzY3JhdGNoKSIs
CisgICAgIiAgICBiaWx0IHByb3BlcnR5T2Zmc2V0QXNJbnQsIGZpcnN0T3V0T2ZMaW5lT2Zmc2V0
LCAuaXNJbmxpbmUiLAorICAgICIgICAgbG9hZENhZ2VkKF9nX2pzVmFsdWVHaWdhY2FnZUJhc2VQ
dHIsIEpTT2JqZWN0OjptX2J1dHRlcmZseVtvYmplY3RBbmRTdG9yYWdlXSwgb2JqZWN0QW5kU3Rv
cmFnZSwgc2NyYXRjaCkiLAorICAgICIgICAgbmVnaSBwcm9wZXJ0eU9mZnNldEFzSW50IiwKKyAg
ICAiICAgIHN4aTJxIHByb3BlcnR5T2Zmc2V0QXNJbnQsIHByb3BlcnR5T2Zmc2V0QXNJbnQiLAor
ICAgICIgICAgam1wIC5yZWFkeSIsCisgICAgIi5pc0lubGluZToiLAorICAgICIgICAgYWRkcCAo
c2l6ZW9mIEpTT2JqZWN0IC0gKChmaXJzdE91dE9mTGluZU9mZnNldCAtIDIpICogOCkpLCBvYmpl
Y3RBbmRTdG9yYWdlIiwKKyAgICAiLnJlYWR5OiIsCisgICAgIiAgICBzdG9yZXEgdmFsdWUsICgo
Zmlyc3RPdXRPZkxpbmVPZmZzZXQgLSAyKSAqIDgpW29iamVjdEFuZFN0b3JhZ2UsIHByb3BlcnR5
T2Zmc2V0QXNJbnQsIDhdIiwKKyAgICAiZW5kIiwKKyAgICAiX2xsaW50X29wX2dldF9ieV9pZDoi
LAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oMiwgdDApIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsKHQwLCB0
MywgLm9wR2V0QnlJZFNsb3cpIiwKKyAgICAiICAgIGxvYWRpIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJ
RFt0M10sIHQxIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0MikiLAorICAg
ICIgICAgYmluZXEgdDIsIHQxLCAub3BHZXRCeUlkU2xvdyIsCisgICAgIiAgICBsb2FkaXNGcm9t
SW5zdHJ1Y3Rpb24oNSwgdDEpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0
MikiLAorICAgICIgICAgbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldCh0MSwgdDMsIHQwKSIs
CisgICAgIiAgICBzdG9yZXEgdDAsIDBbY2ZyLCB0MiwgOF0iLAorICAgICIgICAgdmFsdWVQcm9m
aWxlKHQwLCA4LCB0MSkiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9nZXRfYnlf
aWRfbGVuZ3RoKSkiLAorICAgICIub3BHZXRCeUlkU2xvdzoiLAorICAgICIgICAgY2FsbE9wY29k
ZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfZ2V0X2J5X2lkKSIsCisgICAgIiAgICBkaXNwYXRj
aChjb25zdGV4cHIgKG9wX2dldF9ieV9pZF9sZW5ndGgpKSIsCisgICAgIl9sbGludF9vcF9nZXRf
YnlfaWRfcHJvdG9fbG9hZDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDApIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9y
VmFyaWFibGVDZWxsKHQwLCB0MywgLm9wR2V0QnlJZFByb3RvU2xvdykiLAorICAgICIgICAgbG9h
ZGkgSlNDZWxsOjptX3N0cnVjdHVyZUlEW3QzXSwgdDEiLAorICAgICIgICAgbG9hZGlzRnJvbUlu
c3RydWN0aW9uKDQsIHQyKSIsCisgICAgIiAgICBiaW5lcSB0MiwgdDEsIC5vcEdldEJ5SWRQcm90
b1Nsb3ciLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDUsIHQxKSIsCisgICAgIiAg
ICBsb2FkcEZyb21JbnN0cnVjdGlvbig2LCB0MykiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3Ry
dWN0aW9uKDEsIHQyKSIsCisgICAgIiAgICBsb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0KHQx
LCB0MywgdDApIiwKKyAgICAiICAgIHN0b3JlcSB0MCwgMFtjZnIsIHQyLCA4XSIsCisgICAgIiAg
ICB2YWx1ZVByb2ZpbGUodDAsIDgsIHQxKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIg
KG9wX2dldF9ieV9pZF9wcm90b19sb2FkX2xlbmd0aCkpIiwKKyAgICAiLm9wR2V0QnlJZFByb3Rv
U2xvdzoiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfZ2V0
X2J5X2lkKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2dldF9ieV9pZF9wcm90
b19sb2FkX2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX2dldF9ieV9pZF91bnNldDoiLAorICAg
ICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24o
MiwgdDApIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsKHQwLCB0MywgLm9w
R2V0QnlJZFVuc2V0U2xvdykiLAorICAgICIgICAgbG9hZGkgSlNDZWxsOjptX3N0cnVjdHVyZUlE
W3QzXSwgdDEiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQyKSIsCisgICAg
IiAgICBiaW5lcSB0MiwgdDEsIC5vcEdldEJ5SWRVbnNldFNsb3ciLAorICAgICIgICAgbG9hZGlz
RnJvbUluc3RydWN0aW9uKDEsIHQyKSIsCisgICAgIiAgICBzdG9yZXEgVmFsdWVVbmRlZmluZWQs
IDBbY2ZyLCB0MiwgOF0iLAorICAgICIgICAgdmFsdWVQcm9maWxlKFZhbHVlVW5kZWZpbmVkLCA4
LCB0MSkiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9nZXRfYnlfaWRfdW5zZXRf
bGVuZ3RoKSkiLAorICAgICIub3BHZXRCeUlkVW5zZXRTbG93OiIsCisgICAgIiAgICBjYWxsT3Bj
b2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9nZXRfYnlfaWQpIiwKKyAgICAiICAgIGRpc3Bh
dGNoKGNvbnN0ZXhwciAob3BfZ2V0X2J5X2lkX3Vuc2V0X2xlbmd0aCkpIiwKKyAgICAiX2xsaW50
X29wX2dldF9hcnJheV9sZW5ndGg6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAg
ICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQwKSIsCisgICAgIiAgICBsb2FkcEZyb21J
bnN0cnVjdGlvbig0LCB0MSkiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGwo
dDAsIHQzLCAub3BHZXRBcnJheUxlbmd0aFNsb3cpIiwKKyAgICAiICAgIG1vdmUgdDMsIHQyIiwK
KyAgICAiICAgIGFycmF5UHJvZmlsZSh0MiwgdDEsIHQwKSIsCisgICAgIiAgICBidGl6IHQyLCBJ
c0FycmF5LCAub3BHZXRBcnJheUxlbmd0aFNsb3ciLAorICAgICIgICAgYnRpeiB0MiwgSW5kZXhp
bmdTaGFwZU1hc2ssIC5vcEdldEFycmF5TGVuZ3RoU2xvdyIsCisgICAgIiAgICBsb2FkaXNGcm9t
SW5zdHJ1Y3Rpb24oMSwgdDEpIiwKKyAgICAiICAgIGxvYWRDYWdlZChfZ19qc1ZhbHVlR2lnYWNh
Z2VCYXNlUHRyLCBKU09iamVjdDo6bV9idXR0ZXJmbHlbdDNdLCB0MCwgdDIpIiwKKyAgICAiICAg
IGxvYWRpICgoLXNpemVvZiBJbmRleGluZ0hlYWRlcikgKyBJbmRleGluZ0hlYWRlcjo6dS5sZW5n
dGhzLnB1YmxpY0xlbmd0aClbdDBdLCB0MCIsCisgICAgIiAgICBiaWx0IHQwLCAwLCAub3BHZXRB
cnJheUxlbmd0aFNsb3ciLAorICAgICIgICAgb3JxIHRhZ1R5cGVOdW1iZXIsIHQwIiwKKyAgICAi
ICAgIHZhbHVlUHJvZmlsZSh0MCwgOCwgdDIpIiwKKyAgICAiICAgIHN0b3JlcSB0MCwgMFtjZnIs
IHQxLCA4XSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2dldF9hcnJheV9sZW5n
dGhfbGVuZ3RoKSkiLAorICAgICIub3BHZXRBcnJheUxlbmd0aFNsb3c6IiwKKyAgICAiICAgIGNh
bGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2dldF9ieV9pZCkiLAorICAgICIgICAg
ZGlzcGF0Y2goY29uc3RleHByIChvcF9nZXRfYXJyYXlfbGVuZ3RoX2xlbmd0aCkpIiwKKyAgICAi
X2xsaW50X29wX3B1dF9ieV9pZDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAg
IiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDMpIiwKKyAgICAiICAgIGxvYWRDb25zdGFu
dE9yVmFyaWFibGVDZWxsKHQzLCB0MCwgLm9wUHV0QnlJZFNsb3cpIiwKKyAgICAiICAgIGxvYWRp
c0Zyb21JbnN0cnVjdGlvbig0LCB0MikiLAorICAgICIgICAgYmluZXEgdDIsIEpTQ2VsbDo6bV9z
dHJ1Y3R1cmVJRFt0MF0sIC5vcFB1dEJ5SWRTbG93IiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0
cnVjdGlvbigzLCB0MSkiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDMp
IiwKKyAgICAiICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDgsIHQxKSIsCisgICAgIiAgICBidHBu
eiB0MSwgUHV0QnlJZFByaW1hcnlUeXBlTWFzaywgLm9wUHV0QnlJZFR5cGVDaGVja09iamVjdFdp
dGhTdHJ1Y3R1cmVPck90aGVyIiwKKyAgICAiICAgIGFuZHAgUHV0QnlJZFNlY29uZGFyeVR5cGVN
YXNrLCB0MSIsCisgICAgIiAgICBicGx0IHQxLCBQdXRCeUlkU2Vjb25kYXJ5VHlwZVN0cmluZywg
Lm9wUHV0QnlJZFR5cGVDaGVja0xlc3NUaGFuU3RyaW5nIiwKKyAgICAiICAgIGJwbHQgdDEsIFB1
dEJ5SWRTZWNvbmRhcnlUeXBlT2JqZWN0T3JPdGhlciwgLm9wUHV0QnlJZFR5cGVDaGVja0xlc3NU
aGFuT2JqZWN0T3JPdGhlciIsCisgICAgIiAgICBicGVxIHQxLCBQdXRCeUlkU2Vjb25kYXJ5VHlw
ZVRvcCwgLm9wUHV0QnlJZERvbmVDaGVja2luZ1R5cGVzIiwKKyAgICAiICAgIGJ0cXogdDMsIHRh
Z01hc2ssIC5vcFB1dEJ5SWRUeXBlQ2hlY2tPYmplY3QiLAorICAgICIub3BQdXRCeUlkVHlwZUNo
ZWNrT3RoZXI6IiwKKyAgICAiICAgIGFuZHEgKH5UYWdCaXRVbmRlZmluZWQpLCB0MyIsCisgICAg
IiAgICBicWVxIHQzLCBWYWx1ZU51bGwsIC5vcFB1dEJ5SWREb25lQ2hlY2tpbmdUeXBlcyIsCisg
ICAgIiAgICBqbXAgLm9wUHV0QnlJZFNsb3ciLAorICAgICIub3BQdXRCeUlkVHlwZUNoZWNrTGVz
c1RoYW5PYmplY3RPck90aGVyOiIsCisgICAgIiAgICBidHFueiB0MywgdGFnTWFzaywgLm9wUHV0
QnlJZFNsb3ciLAorICAgICIgICAgYnBlcSB0MSwgUHV0QnlJZFNlY29uZGFyeVR5cGVPYmplY3Qs
IC5vcFB1dEJ5SWRUeXBlQ2hlY2tPYmplY3QiLAorICAgICIgICAgYnBlcSB0MSwgUHV0QnlJZFNl
Y29uZGFyeVR5cGVTeW1ib2wsIC5vcFB1dEJ5SWRUeXBlQ2hlY2tTeW1ib2wiLAorICAgICIgICAg
YmJlcSBKU0NlbGw6Om1fdHlwZVt0M10sIFN0cmluZ1R5cGUsIC5vcFB1dEJ5SWREb25lQ2hlY2tp
bmdUeXBlcyIsCisgICAgIiAgICBqbXAgLm9wUHV0QnlJZFNsb3ciLAorICAgICIub3BQdXRCeUlk
VHlwZUNoZWNrT2JqZWN0OiIsCisgICAgIiAgICBiYmFlcSBKU0NlbGw6Om1fdHlwZVt0M10sIE9i
amVjdFR5cGUsIC5vcFB1dEJ5SWREb25lQ2hlY2tpbmdUeXBlcyIsCisgICAgIiAgICBqbXAgLm9w
UHV0QnlJZFNsb3ciLAorICAgICIub3BQdXRCeUlkVHlwZUNoZWNrU3ltYm9sOiIsCisgICAgIiAg
ICBiYmVxIEpTQ2VsbDo6bV90eXBlW3QzXSwgU3ltYm9sVHlwZSwgLm9wUHV0QnlJZERvbmVDaGVj
a2luZ1R5cGVzIiwKKyAgICAiICAgIGptcCAub3BQdXRCeUlkU2xvdyIsCisgICAgIi5vcFB1dEJ5
SWRUeXBlQ2hlY2tMZXNzVGhhblN0cmluZzoiLAorICAgICIgICAgYnBsdCB0MSwgUHV0QnlJZFNl
Y29uZGFyeVR5cGVJbnQzMiwgLm9wUHV0QnlJZFR5cGVDaGVja0xlc3NUaGFuSW50MzIiLAorICAg
ICIgICAgYnBlcSB0MSwgUHV0QnlJZFNlY29uZGFyeVR5cGVOdW1iZXIsIC5vcFB1dEJ5SWRUeXBl
Q2hlY2tOdW1iZXIiLAorICAgICIgICAgYnFhZXEgdDMsIHRhZ1R5cGVOdW1iZXIsIC5vcFB1dEJ5
SWREb25lQ2hlY2tpbmdUeXBlcyIsCisgICAgIiAgICBqbXAgLm9wUHV0QnlJZFNsb3ciLAorICAg
ICIub3BQdXRCeUlkVHlwZUNoZWNrTnVtYmVyOiIsCisgICAgIiAgICBidHFueiB0MywgdGFnVHlw
ZU51bWJlciwgLm9wUHV0QnlJZERvbmVDaGVja2luZ1R5cGVzIiwKKyAgICAiICAgIGptcCAub3BQ
dXRCeUlkU2xvdyIsCisgICAgIi5vcFB1dEJ5SWRUeXBlQ2hlY2tMZXNzVGhhbkludDMyOiIsCisg
ICAgIiAgICBicG5lcSB0MSwgUHV0QnlJZFNlY29uZGFyeVR5cGVCb29sZWFuLCAub3BQdXRCeUlk
VHlwZUNoZWNrQm90dG9tT3JPdGhlciIsCisgICAgIiAgICB4b3JxIFZhbHVlRmFsc2UsIHQzIiwK
KyAgICAiICAgIGJ0cXogdDMsICh+MSksIC5vcFB1dEJ5SWREb25lQ2hlY2tpbmdUeXBlcyIsCisg
ICAgIiAgICBqbXAgLm9wUHV0QnlJZFNsb3ciLAorICAgICIub3BQdXRCeUlkVHlwZUNoZWNrQm90
dG9tT3JPdGhlcjoiLAorICAgICIgICAgYnBlcSB0MSwgUHV0QnlJZFNlY29uZGFyeVR5cGVPdGhl
ciwgLm9wUHV0QnlJZFR5cGVDaGVja090aGVyIiwKKyAgICAiICAgIGptcCAub3BQdXRCeUlkU2xv
dyIsCisgICAgIi5vcFB1dEJ5SWRUeXBlQ2hlY2tPYmplY3RXaXRoU3RydWN0dXJlT3JPdGhlcjoi
LAorICAgICIgICAgYnRxeiB0MywgdGFnTWFzaywgLm9wUHV0QnlJZFR5cGVDaGVja09iamVjdFdp
dGhTdHJ1Y3R1cmUiLAorICAgICIgICAgYnRwbnogdDEsIFB1dEJ5SWRQcmltYXJ5VHlwZU9iamVj
dFdpdGhTdHJ1Y3R1cmVPck90aGVyLCAub3BQdXRCeUlkVHlwZUNoZWNrT3RoZXIiLAorICAgICIg
ICAgam1wIC5vcFB1dEJ5SWRTbG93IiwKKyAgICAiLm9wUHV0QnlJZFR5cGVDaGVja09iamVjdFdp
dGhTdHJ1Y3R1cmU6IiwKKyAgICAiICAgIHVyc2hpZnRwIDMsIHQxIiwKKyAgICAiICAgIGJpbmVx
IHQxLCBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDNdLCAub3BQdXRCeUlkU2xvdyIsCisgICAgIi5v
cFB1dEJ5SWREb25lQ2hlY2tpbmdUeXBlczoiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0
aW9uKDYsIHQxKSIsCisgICAgIiAgICBidGl6IHQxLCAub3BQdXRCeUlkTm90VHJhbnNpdGlvbiIs
CisgICAgIiAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig3LCB0MykiLAorICAgICIgICAgYnRweiB0
MywgLm9wUHV0QnlJZFRyYW5zaXRpb25EaXJlY3QiLAorICAgICIgICAgbG9hZHAgU3RydWN0dXJl
Q2hhaW46Om1fdmVjdG9yW3QzXSwgdDMiLAorICAgICIgICAgYXNzZXJ0KG1hY3JvIChvaykiLAor
ICAgICIgICAgYnRwbnogdDMsIG9rIiwKKyAgICAiZW5kKSIsCisgICAgIiAgICBzdHJ1Y3R1cmVJ
RFRvU3RydWN0dXJlV2l0aFNjcmF0Y2godDIsIHQxKSIsCisgICAgIiAgICBsb2FkcSBTdHJ1Y3R1
cmU6Om1fcHJvdG90eXBlW3QyXSwgdDIiLAorICAgICIgICAgYnFlcSB0MiwgVmFsdWVOdWxsLCAu
b3BQdXRCeUlkVHJhbnNpdGlvbkNoYWluRG9uZSIsCisgICAgIi5vcFB1dEJ5SWRUcmFuc2l0aW9u
Q2hhaW5Mb29wOiIsCisgICAgIiAgICBsb2FkcCAwW3QzXSwgdDEiLAorICAgICIgICAgbG9hZGkg
SlNDZWxsOjptX3N0cnVjdHVyZUlEW3QyXSwgdDIiLAorICAgICIgICAgYmluZXEgdDIsIChTdHJ1
Y3R1cmU6Om1fYmxvYiArIFN0cnVjdHVyZUlEQmxvYjo6dS5maWVsZHMuc3RydWN0dXJlSUQpW3Qx
XSwgLm9wUHV0QnlJZFNsb3ciLAorICAgICIgICAgYWRkcCA4LCB0MyIsCisgICAgIiAgICBsb2Fk
cSBTdHJ1Y3R1cmU6Om1fcHJvdG90eXBlW3QxXSwgdDIiLAorICAgICIgICAgYnFuZXEgdDIsIFZh
bHVlTnVsbCwgLm9wUHV0QnlJZFRyYW5zaXRpb25DaGFpbkxvb3AiLAorICAgICIub3BQdXRCeUlk
VHJhbnNpdGlvbkNoYWluRG9uZToiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDYs
IHQxKSIsCisgICAgIi5vcFB1dEJ5SWRUcmFuc2l0aW9uRGlyZWN0OiIsCisgICAgIiAgICBzdG9y
ZWkgdDEsIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0MF0iLAorICAgICIgICAgd3JpdGVCYXJyaWVy
T25PcGVyYW5kKDEpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkiLAor
ICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDApIiwKKyAgICAiLm9wUHV0QnlJ
ZE5vdFRyYW5zaXRpb246IiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MSki
LAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDIpIiwKKyAgICAiICAgIGxv
YWRpc0Zyb21JbnN0cnVjdGlvbig1LCB0MSkiLAorICAgICIgICAgc3RvcmVQcm9wZXJ0eUF0VmFy
aWFibGVPZmZzZXQodDEsIHQwLCB0MiwgdDMpIiwKKyAgICAiICAgIHdyaXRlQmFycmllck9uT3Bl
cmFuZHMoMSwgMykiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9wdXRfYnlfaWRf
bGVuZ3RoKSkiLAorICAgICIub3BQdXRCeUlkU2xvdzoiLAorICAgICIgICAgY2FsbE9wY29kZVNs
b3dQYXRoKF9sbGludF9zbG93X3BhdGhfcHV0X2J5X2lkKSIsCisgICAgIiAgICBkaXNwYXRjaChj
b25zdGV4cHIgKG9wX3B1dF9ieV9pZF9sZW5ndGgpKSIsCisgICAgIm1hY3JvIGZpbmlzaEdldEJ5
VmFsKHJlc3VsdCwgc2NyYXRjaCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEs
IHNjcmF0Y2gpIiwKKyAgICAiICAgIHN0b3JlcSByZXN1bHQsIDBbY2ZyLCBzY3JhdGNoLCA4XSIs
CisgICAgIiAgICB2YWx1ZVByb2ZpbGUocmVzdWx0LCA1LCBzY3JhdGNoKSIsCisgICAgIiAgICBk
aXNwYXRjaCg2KSIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIGZpbmlzaEludEdldEJ5VmFsKHJl
c3VsdCwgc2NyYXRjaCkiLAorICAgICIgICAgb3JxIHRhZ1R5cGVOdW1iZXIsIHJlc3VsdCIsCisg
ICAgIiAgICBmaW5pc2hHZXRCeVZhbChyZXN1bHQsIHNjcmF0Y2gpIiwKKyAgICAiZW5kIiwKKyAg
ICAibWFjcm8gZmluaXNoRG91YmxlR2V0QnlWYWwocmVzdWx0LCBzY3JhdGNoMSwgc2NyYXRjaDIp
IiwKKyAgICAiICAgIGZkMnEgcmVzdWx0LCBzY3JhdGNoMSIsCisgICAgIiAgICBzdWJxIHRhZ1R5
cGVOdW1iZXIsIHNjcmF0Y2gxIiwKKyAgICAiICAgIGZpbmlzaEdldEJ5VmFsKHNjcmF0Y2gxLCBz
Y3JhdGNoMikiLAorICAgICJlbmQiLAorICAgICJfbGxpbnRfb3BfZ2V0X2J5X3ZhbDoiLAorICAg
ICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24o
MiwgdDIpIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsKHQyLCB0MCwgLm9w
R2V0QnlWYWxTbG93KSIsCisgICAgIiAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig0LCB0MykiLAor
ICAgICIgICAgbW92ZSB0MCwgdDIiLAorICAgICIgICAgYXJyYXlQcm9maWxlKHQyLCB0MywgdDEp
IiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MykiLAorICAgICIgICAgbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUludDMyKHQzLCB0MSwgLm9wR2V0QnlWYWxTbG93KSIsCisgICAg
IiAgICBzeGkycSB0MSwgdDEiLAorICAgICIgICAgbG9hZENhZ2VkKF9nX2pzVmFsdWVHaWdhY2Fn
ZUJhc2VQdHIsIEpTT2JqZWN0OjptX2J1dHRlcmZseVt0MF0sIHQzLCB0NSkiLAorICAgICIgICAg
YW5kaSBJbmRleGluZ1NoYXBlTWFzaywgdDIiLAorICAgICIgICAgYmllcSB0MiwgSW50MzJTaGFw
ZSwgLm9wR2V0QnlWYWxJc0NvbnRpZ3VvdXMiLAorICAgICIgICAgYmluZXEgdDIsIENvbnRpZ3Vv
dXNTaGFwZSwgLm9wR2V0QnlWYWxOb3RDb250aWd1b3VzIiwKKyAgICAiLm9wR2V0QnlWYWxJc0Nv
bnRpZ3VvdXM6IiwKKyAgICAiICAgIGJpYWVxIHQxLCAoKC1zaXplb2YgSW5kZXhpbmdIZWFkZXIp
ICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy5wdWJsaWNMZW5ndGgpW3QzXSwgLm9wR2V0QnlW
YWxPdXRPZkJvdW5kcyIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApIiwK
KyAgICAiICAgIGxvYWRxIDBbdDMsIHQxLCA4XSwgdDIiLAorICAgICIgICAgYnRxeiB0MiwgLm9w
R2V0QnlWYWxPdXRPZkJvdW5kcyIsCisgICAgIiAgICBqbXAgLm9wR2V0QnlWYWxEb25lIiwKKyAg
ICAiLm9wR2V0QnlWYWxOb3RDb250aWd1b3VzOiIsCisgICAgIiAgICBiaW5lcSB0MiwgRG91Ymxl
U2hhcGUsIC5vcEdldEJ5VmFsTm90RG91YmxlIiwKKyAgICAiICAgIGJpYWVxIHQxLCAoKC1zaXpl
b2YgSW5kZXhpbmdIZWFkZXIpICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy5wdWJsaWNMZW5n
dGgpW3QzXSwgLm9wR2V0QnlWYWxPdXRPZkJvdW5kcyIsCisgICAgIiAgICBsb2FkaXMgOFtQQiwg
UEMsIDhdLCB0MCIsCisgICAgIiAgICBsb2FkZCAwW3QzLCB0MSwgOF0sIGZ0MCIsCisgICAgIiAg
ICBiZG5lcXVuIGZ0MCwgZnQwLCAub3BHZXRCeVZhbE91dE9mQm91bmRzIiwKKyAgICAiICAgIGZk
MnEgZnQwLCB0MiIsCisgICAgIiAgICBzdWJxIHRhZ1R5cGVOdW1iZXIsIHQyIiwKKyAgICAiICAg
IGptcCAub3BHZXRCeVZhbERvbmUiLAorICAgICIub3BHZXRCeVZhbE5vdERvdWJsZToiLAorICAg
ICIgICAgc3ViaSBBcnJheVN0b3JhZ2VTaGFwZSwgdDIiLAorICAgICIgICAgYmlhIHQyLCAoU2xv
d1B1dEFycmF5U3RvcmFnZVNoYXBlIC0gQXJyYXlTdG9yYWdlU2hhcGUpLCAub3BHZXRCeVZhbE5v
dEluZGV4ZWRTdG9yYWdlIiwKKyAgICAiICAgIGJpYWVxIHQxLCAoKC1zaXplb2YgSW5kZXhpbmdI
ZWFkZXIpICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy52ZWN0b3JMZW5ndGgpW3QzXSwgLm9w
R2V0QnlWYWxPdXRPZkJvdW5kcyIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwg
dDApIiwKKyAgICAiICAgIGxvYWRxIEFycmF5U3RvcmFnZTo6bV92ZWN0b3JbdDMsIHQxLCA4XSwg
dDIiLAorICAgICIgICAgYnRxeiB0MiwgLm9wR2V0QnlWYWxPdXRPZkJvdW5kcyIsCisgICAgIi5v
cEdldEJ5VmFsRG9uZToiLAorICAgICIgICAgc3RvcmVxIHQyLCAwW2NmciwgdDAsIDhdIiwKKyAg
ICAiICAgIHZhbHVlUHJvZmlsZSh0MiwgNSwgdDApIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0
ZXhwciAob3BfZ2V0X2J5X3ZhbF9sZW5ndGgpKSIsCisgICAgIi5vcEdldEJ5VmFsT3V0T2ZCb3Vu
ZHM6IiwKKyAgICAiICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDQsIHQwKSIsCisgICAgIiAgICBz
dG9yZWIgMSwgQXJyYXlQcm9maWxlOjptX291dE9mQm91bmRzW3QwXSIsCisgICAgIiAgICBqbXAg
Lm9wR2V0QnlWYWxTbG93IiwKKyAgICAiLm9wR2V0QnlWYWxOb3RJbmRleGVkU3RvcmFnZToiLAor
ICAgICIgICAgbG9hZGIgSlNDZWxsOjptX3R5cGVbdDBdLCB0MiIsCisgICAgIiAgICBzdWJpIEZp
cnN0QXJyYXlUeXBlLCB0MiIsCisgICAgIiAgICBiaWEgdDIsIChMYXN0QXJyYXlUeXBlIC0gRmly
c3RBcnJheVR5cGUpLCAub3BHZXRCeVZhbFNsb3ciLAorICAgICIgICAgbG9hZENhZ2VkKF9nX3By
aW1pdGl2ZUdpZ2FjYWdlQmFzZVB0ciwgSlNBcnJheUJ1ZmZlclZpZXc6Om1fdmVjdG9yW3QwXSwg
dDMsIHQ1KSIsCisgICAgIiAgICBiaWFlcSB0MSwgSlNBcnJheUJ1ZmZlclZpZXc6Om1fbGVuZ3Ro
W3QwXSwgLm9wR2V0QnlWYWxTbG93IiwKKyAgICAiICAgIGJpYSB0MiwgKFVpbnQ4Q2xhbXBlZEFy
cmF5VHlwZSAtIEZpcnN0QXJyYXlUeXBlKSwgLm9wR2V0QnlWYWxBYm92ZVVpbnQ4Q2xhbXBlZEFy
cmF5IiwKKyAgICAiICAgIGJpYSB0MiwgKEludDE2QXJyYXlUeXBlIC0gRmlyc3RBcnJheVR5cGUp
LCAub3BHZXRCeVZhbEludDMyQXJyYXlPclVpbnQ4QXJyYXkiLAorICAgICIgICAgYmluZXEgdDIs
IChJbnQ4QXJyYXlUeXBlIC0gRmlyc3RBcnJheVR5cGUpLCAub3BHZXRCeVZhbEludDE2QXJyYXki
LAorICAgICIgICAgbG9hZGJzIDBbdDMsIHQxLCAxXSwgdDAiLAorICAgICIgICAgZmluaXNoSW50
R2V0QnlWYWwodDAsIHQxKSIsCisgICAgIi5vcEdldEJ5VmFsSW50MTZBcnJheToiLAorICAgICIg
ICAgbG9hZGhzIDBbdDMsIHQxLCAyXSwgdDAiLAorICAgICIgICAgZmluaXNoSW50R2V0QnlWYWwo
dDAsIHQxKSIsCisgICAgIi5vcEdldEJ5VmFsSW50MzJBcnJheU9yVWludDhBcnJheToiLAorICAg
ICIgICAgYmllcSB0MiwgKEludDMyQXJyYXlUeXBlIC0gRmlyc3RBcnJheVR5cGUpLCAub3BHZXRC
eVZhbEludDMyQXJyYXkiLAorICAgICIgICAgbG9hZGIgMFt0MywgdDEsIDFdLCB0MCIsCisgICAg
IiAgICBmaW5pc2hJbnRHZXRCeVZhbCh0MCwgdDEpIiwKKyAgICAiLm9wR2V0QnlWYWxJbnQzMkFy
cmF5OiIsCisgICAgIiAgICBsb2FkaSAwW3QzLCB0MSwgNF0sIHQwIiwKKyAgICAiICAgIGZpbmlz
aEludEdldEJ5VmFsKHQwLCB0MSkiLAorICAgICIub3BHZXRCeVZhbEFib3ZlVWludDhDbGFtcGVk
QXJyYXk6IiwKKyAgICAiICAgIGJpYSB0MiwgKFVpbnQzMkFycmF5VHlwZSAtIEZpcnN0QXJyYXlU
eXBlKSwgLm9wR2V0QnlWYWxBYm92ZVVpbnQzMkFycmF5IiwKKyAgICAiICAgIGJpZXEgdDIsIChV
aW50MzJBcnJheVR5cGUgLSBGaXJzdEFycmF5VHlwZSksIC5vcEdldEJ5VmFsVWludDMyQXJyYXki
LAorICAgICIgICAgbG9hZGggMFt0MywgdDEsIDJdLCB0MCIsCisgICAgIiAgICBmaW5pc2hJbnRH
ZXRCeVZhbCh0MCwgdDEpIiwKKyAgICAiLm9wR2V0QnlWYWxVaW50MzJBcnJheToiLAorICAgICIg
ICAgbG9hZGkgMFt0MywgdDEsIDRdLCB0MCIsCisgICAgIiAgICBiaWx0IHQwLCAwLCAub3BHZXRC
eVZhbFNsb3ciLAorICAgICIgICAgZmluaXNoSW50R2V0QnlWYWwodDAsIHQxKSIsCisgICAgIi5v
cEdldEJ5VmFsQWJvdmVVaW50MzJBcnJheToiLAorICAgICIgICAgYmllcSB0MiwgKEZsb2F0MzJB
cnJheVR5cGUgLSBGaXJzdEFycmF5VHlwZSksIC5vcEdldEJ5VmFsU2xvdyIsCisgICAgIiAgICBs
b2FkZCAwW3QzLCB0MSwgOF0sIGZ0MCIsCisgICAgIiAgICBiZG5lcXVuIGZ0MCwgZnQwLCAub3BH
ZXRCeVZhbFNsb3ciLAorICAgICIgICAgZmluaXNoRG91YmxlR2V0QnlWYWwoZnQwLCB0MCwgdDEp
IiwKKyAgICAiLm9wR2V0QnlWYWxTbG93OiIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgo
X2xsaW50X3Nsb3dfcGF0aF9nZXRfYnlfdmFsKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4
cHIgKG9wX2dldF9ieV92YWxfbGVuZ3RoKSkiLAorICAgICJtYWNybyBjb250aWd1b3VzUHV0QnlW
YWwoc3RvcmVDYWxsYmFjaykiLAorICAgICIgICAgYmlhZXEgdDMsICgoLXNpemVvZiBJbmRleGlu
Z0hlYWRlcikgKyBJbmRleGluZ0hlYWRlcjo6dS5sZW5ndGhzLnB1YmxpY0xlbmd0aClbdDBdLCAu
b3V0T2ZCb3VuZHMiLAorICAgICIuc3RvcmVSZXN1bHQ6IiwKKyAgICAiICAgIGxvYWRpc0Zyb21J
bnN0cnVjdGlvbigzLCB0MikiLAorICAgICIgICAgc3RvcmVDYWxsYmFjayh0MiwgdDEsIDBbdDAs
IHQzLCA4XSkiLAorICAgICIgICAgZGlzcGF0Y2goNSkiLAorICAgICIub3V0T2ZCb3VuZHM6IiwK
KyAgICAiICAgIGJpYWVxIHQzLCAoKC1zaXplb2YgSW5kZXhpbmdIZWFkZXIpICsgSW5kZXhpbmdI
ZWFkZXI6OnUubGVuZ3Rocy52ZWN0b3JMZW5ndGgpW3QwXSwgLm9wUHV0QnlWYWxPdXRPZkJvdW5k
cyIsCisgICAgIiAgICBsb2FkcCAzMltQQiwgUEMsIDhdLCB0MiIsCisgICAgIiAgICBzdG9yZWIg
MSwgQXJyYXlQcm9maWxlOjptX21heVN0b3JlVG9Ib2xlW3QyXSIsCisgICAgIiAgICBhZGRpIDEs
IHQzLCB0MiIsCisgICAgIiAgICBzdG9yZWkgdDIsICgoLXNpemVvZiBJbmRleGluZ0hlYWRlcikg
KyBJbmRleGluZ0hlYWRlcjo6dS5sZW5ndGhzLnB1YmxpY0xlbmd0aClbdDBdIiwKKyAgICAiICAg
IGptcCAuc3RvcmVSZXN1bHQiLAorICAgICJlbmQiLAorICAgICJtYWNybyBwdXRCeVZhbChzbG93
UGF0aCkiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkaXNGcm9t
SW5zdHJ1Y3Rpb24oMSwgdDApIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVDZWxs
KHQwLCB0MSwgLm9wUHV0QnlWYWxTbG93KSIsCisgICAgIiAgICBsb2FkcEZyb21JbnN0cnVjdGlv
big0LCB0MykiLAorICAgICIgICAgbW92ZSB0MSwgdDIiLAorICAgICIgICAgYXJyYXlQcm9maWxl
KHQyLCB0MywgdDApIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkiLAor
ICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyKHQwLCB0MywgLm9wUHV0QnlWYWxT
bG93KSIsCisgICAgIiAgICBzeGkycSB0MywgdDMiLAorICAgICIgICAgbG9hZENhZ2VkKF9nX2pz
VmFsdWVHaWdhY2FnZUJhc2VQdHIsIEpTT2JqZWN0OjptX2J1dHRlcmZseVt0MV0sIHQwLCB0NSki
LAorICAgICIgICAgYW5kaSBJbmRleGluZ1NoYXBlTWFzaywgdDIiLAorICAgICIgICAgYmluZXEg
dDIsIEludDMyU2hhcGUsIC5vcFB1dEJ5VmFsTm90SW50MzIiLAorICAgICIgICAgY29udGlndW91
c1B1dEJ5VmFsKG1hY3JvIChvcGVyYW5kLCBzY3JhdGNoLCBhZGRyZXNzKSIsCisgICAgIiAgICBs
b2FkQ29uc3RhbnRPclZhcmlhYmxlKG9wZXJhbmQsIHNjcmF0Y2gpIiwKKyAgICAiICAgIGJwYiBz
Y3JhdGNoLCB0YWdUeXBlTnVtYmVyLCAub3BQdXRCeVZhbFNsb3ciLAorICAgICIgICAgc3RvcmVw
IHNjcmF0Y2gsIGFkZHJlc3MiLAorICAgICIgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcygxLCAz
KSIsCisgICAgImVuZCkiLAorICAgICIub3BQdXRCeVZhbE5vdEludDMyOiIsCisgICAgIiAgICBi
aW5lcSB0MiwgRG91YmxlU2hhcGUsIC5vcFB1dEJ5VmFsTm90RG91YmxlIiwKKyAgICAiICAgIGNv
bnRpZ3VvdXNQdXRCeVZhbChtYWNybyAob3BlcmFuZCwgc2NyYXRjaCwgYWRkcmVzcykiLAorICAg
ICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZShvcGVyYW5kLCBzY3JhdGNoKSIsCisgICAgIiAg
ICBicWIgc2NyYXRjaCwgdGFnVHlwZU51bWJlciwgLm5vdEludCIsCisgICAgIiAgICBjaTJkIHNj
cmF0Y2gsIGZ0MCIsCisgICAgIiAgICBqbXAgLnJlYWR5IiwKKyAgICAiLm5vdEludDoiLAorICAg
ICIgICAgYWRkcCB0YWdUeXBlTnVtYmVyLCBzY3JhdGNoIiwKKyAgICAiICAgIGZxMmQgc2NyYXRj
aCwgZnQwIiwKKyAgICAiICAgIGJkbmVxdW4gZnQwLCBmdDAsIC5vcFB1dEJ5VmFsU2xvdyIsCisg
ICAgIi5yZWFkeToiLAorICAgICIgICAgc3RvcmVkIGZ0MCwgYWRkcmVzcyIsCisgICAgIiAgICB3
cml0ZUJhcnJpZXJPbk9wZXJhbmRzKDEsIDMpIiwKKyAgICAiZW5kKSIsCisgICAgIi5vcFB1dEJ5
VmFsTm90RG91YmxlOiIsCisgICAgIiAgICBiaW5lcSB0MiwgQ29udGlndW91c1NoYXBlLCAub3BQ
dXRCeVZhbE5vdENvbnRpZ3VvdXMiLAorICAgICIgICAgY29udGlndW91c1B1dEJ5VmFsKG1hY3Jv
IChvcGVyYW5kLCBzY3JhdGNoLCBhZGRyZXNzKSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlKG9wZXJhbmQsIHNjcmF0Y2gpIiwKKyAgICAiICAgIHN0b3JlcCBzY3JhdGNoLCBhZGRy
ZXNzIiwKKyAgICAiICAgIHdyaXRlQmFycmllck9uT3BlcmFuZHMoMSwgMykiLAorICAgICJlbmQp
IiwKKyAgICAiLm9wUHV0QnlWYWxOb3RDb250aWd1b3VzOiIsCisgICAgIiAgICBiaW5lcSB0Miwg
QXJyYXlTdG9yYWdlU2hhcGUsIC5vcFB1dEJ5VmFsU2xvdyIsCisgICAgIiAgICBiaWFlcSB0Mywg
KCgtc2l6ZW9mIEluZGV4aW5nSGVhZGVyKSArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMudmVj
dG9yTGVuZ3RoKVt0MF0sIC5vcFB1dEJ5VmFsT3V0T2ZCb3VuZHMiLAorICAgICIgICAgYnRxeiBB
cnJheVN0b3JhZ2U6Om1fdmVjdG9yW3QwLCB0MywgOF0sIC5vcFB1dEJ5VmFsQXJyYXlTdG9yYWdl
RW1wdHkiLAorICAgICIub3BQdXRCeVZhbEFycmF5U3RvcmFnZVN0b3JlUmVzdWx0OiIsCisgICAg
IiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDIpIiwKKyAgICAiICAgIGxvYWRDb25zdGFu
dE9yVmFyaWFibGUodDIsIHQxKSIsCisgICAgIiAgICBzdG9yZXEgdDEsIEFycmF5U3RvcmFnZTo6
bV92ZWN0b3JbdDAsIHQzLCA4XSIsCisgICAgIiAgICB3cml0ZUJhcnJpZXJPbk9wZXJhbmRzKDEs
IDMpIiwKKyAgICAiICAgIGRpc3BhdGNoKDUpIiwKKyAgICAiLm9wUHV0QnlWYWxBcnJheVN0b3Jh
Z2VFbXB0eToiLAorICAgICIgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNCwgdDEpIiwKKyAgICAi
ICAgIHN0b3JlYiAxLCBBcnJheVByb2ZpbGU6Om1fbWF5U3RvcmVUb0hvbGVbdDFdIiwKKyAgICAi
ICAgIGFkZGkgMSwgQXJyYXlTdG9yYWdlOjptX251bVZhbHVlc0luVmVjdG9yW3QwXSIsCisgICAg
IiAgICBiaWIgdDMsICgoLXNpemVvZiBJbmRleGluZ0hlYWRlcikgKyBJbmRleGluZ0hlYWRlcjo6
dS5sZW5ndGhzLnB1YmxpY0xlbmd0aClbdDBdLCAub3BQdXRCeVZhbEFycmF5U3RvcmFnZVN0b3Jl
UmVzdWx0IiwKKyAgICAiICAgIGFkZGkgMSwgdDMsIHQxIiwKKyAgICAiICAgIHN0b3JlaSB0MSwg
KCgtc2l6ZW9mIEluZGV4aW5nSGVhZGVyKSArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMucHVi
bGljTGVuZ3RoKVt0MF0iLAorICAgICIgICAgam1wIC5vcFB1dEJ5VmFsQXJyYXlTdG9yYWdlU3Rv
cmVSZXN1bHQiLAorICAgICIub3BQdXRCeVZhbE91dE9mQm91bmRzOiIsCisgICAgIiAgICBsb2Fk
cEZyb21JbnN0cnVjdGlvbig0LCB0MCkiLAorICAgICIgICAgc3RvcmViIDEsIEFycmF5UHJvZmls
ZTo6bV9vdXRPZkJvdW5kc1t0MF0iLAorICAgICIub3BQdXRCeVZhbFNsb3c6IiwKKyAgICAiICAg
IGNhbGxPcGNvZGVTbG93UGF0aChzbG93UGF0aCkiLAorICAgICIgICAgZGlzcGF0Y2goNSkiLAor
ICAgICJlbmQiLAorICAgICJfbGxpbnRfb3BfcHV0X2J5X3ZhbDoiLAorICAgICIgICAgcHV0QnlW
YWwoX2xsaW50X3Nsb3dfcGF0aF9wdXRfYnlfdmFsKSIsCisgICAgIl9sbGludF9vcF9wdXRfYnlf
dmFsX2RpcmVjdDoiLAorICAgICIgICAgcHV0QnlWYWwoX2xsaW50X3Nsb3dfcGF0aF9wdXRfYnlf
dmFsX2RpcmVjdCkiLAorICAgICJfbGxpbnRfb3Bfam1wOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1
dGlvbigpIiwKKyAgICAiICAgIGRpc3BhdGNoSW50SW5kaXJlY3QoMSkiLAorICAgICJtYWNybyBq
dW1wVHJ1ZU9yRmFsc2UoY29uZGl0aW9uT3AsIHNsb3cpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21J
bnN0cnVjdGlvbigxLCB0MSkiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwg
dDApIiwKKyAgICAiICAgIHhvcnEgVmFsdWVGYWxzZSwgdDAiLAorICAgICIgICAgYnRxbnogdDAs
ICgtMSksIC5zbG93IiwKKyAgICAiICAgIGNvbmRpdGlvbk9wKHQwLCAudGFyZ2V0KSIsCisgICAg
IiAgICBkaXNwYXRjaCgzKSIsCisgICAgIi50YXJnZXQ6IiwKKyAgICAiICAgIGRpc3BhdGNoSW50
SW5kaXJlY3QoMikiLAorICAgICIuc2xvdzoiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRo
KHNsb3cpIiwKKyAgICAiICAgIGRpc3BhdGNoKDApIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8g
ZXF1YWxOdWxsKGNlbGxIYW5kbGVyLCBpbW1lZGlhdGVIYW5kbGVyKSIsCisgICAgIiAgICBsb2Fk
aXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApIiwKKyAgICAiICAgIGFzc2VydE5vdENvbnN0YW50KHQw
KSIsCisgICAgIiAgICBsb2FkcSAwW2NmciwgdDAsIDhdLCB0MCIsCisgICAgIiAgICBidHFueiB0
MCwgdGFnTWFzaywgLmltbWVkaWF0ZSIsCisgICAgIiAgICBsb2FkU3RydWN0dXJlV2l0aFNjcmF0
Y2godDAsIHQyLCB0MSkiLAorICAgICIgICAgY2VsbEhhbmRsZXIodDIsIEpTQ2VsbDo6bV9mbGFn
c1t0MF0sIC50YXJnZXQpIiwKKyAgICAiICAgIGRpc3BhdGNoKDMpIiwKKyAgICAiLnRhcmdldDoi
LAorICAgICIgICAgZGlzcGF0Y2hJbnRJbmRpcmVjdCgyKSIsCisgICAgIi5pbW1lZGlhdGU6IiwK
KyAgICAiICAgIGFuZHEgKH5UYWdCaXRVbmRlZmluZWQpLCB0MCIsCisgICAgIiAgICBpbW1lZGlh
dGVIYW5kbGVyKHQwLCAudGFyZ2V0KSIsCisgICAgIiAgICBkaXNwYXRjaCgzKSIsCisgICAgImVu
ZCIsCisgICAgIl9sbGludF9vcF9qZXFfbnVsbDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24o
KSIsCisgICAgIiAgICBlcXVhbE51bGwobWFjcm8gKHN0cnVjdHVyZSwgdmFsdWUsIHRhcmdldCki
LAorICAgICIgICAgYnRieiB2YWx1ZSwgTWFzcXVlcmFkZXNBc1VuZGVmaW5lZCwgLm5vdE1hc3F1
ZXJhZGVzQXNVbmRlZmluZWQiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQwIiwK
KyAgICAiICAgIGxvYWRwIENvZGVCbG9jazo6bV9nbG9iYWxPYmplY3RbdDBdLCB0MCIsCisgICAg
IiAgICBicGVxIFN0cnVjdHVyZTo6bV9nbG9iYWxPYmplY3Rbc3RydWN0dXJlXSwgdDAsIHRhcmdl
dCIsCisgICAgIi5ub3RNYXNxdWVyYWRlc0FzVW5kZWZpbmVkOiIsCisgICAgImVuZCwgbWFjcm8g
KHZhbHVlLCB0YXJnZXQpIiwKKyAgICAiICAgIGJxZXEgdmFsdWUsIFZhbHVlTnVsbCwgdGFyZ2V0
IiwKKyAgICAiZW5kKSIsCisgICAgIl9sbGludF9vcF9qbmVxX251bGw6IiwKKyAgICAiICAgIHRy
YWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgZXF1YWxOdWxsKG1hY3JvIChzdHJ1Y3R1cmUsIHZh
bHVlLCB0YXJnZXQpIiwKKyAgICAiICAgIGJ0YnogdmFsdWUsIE1hc3F1ZXJhZGVzQXNVbmRlZmlu
ZWQsIHRhcmdldCIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDAiLAorICAgICIg
ICAgbG9hZHAgQ29kZUJsb2NrOjptX2dsb2JhbE9iamVjdFt0MF0sIHQwIiwKKyAgICAiICAgIGJw
bmVxIFN0cnVjdHVyZTo6bV9nbG9iYWxPYmplY3Rbc3RydWN0dXJlXSwgdDAsIHRhcmdldCIsCisg
ICAgImVuZCwgbWFjcm8gKHZhbHVlLCB0YXJnZXQpIiwKKyAgICAiICAgIGJxbmVxIHZhbHVlLCBW
YWx1ZU51bGwsIHRhcmdldCIsCisgICAgImVuZCkiLAorICAgICJfbGxpbnRfb3Bfam5lcV9wdHI6
IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3Ry
dWN0aW9uKDEsIHQwKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDEpIiwK
KyAgICAiICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MiIsCisgICAgIiAgICBsb2FkcCBDb2Rl
QmxvY2s6Om1fZ2xvYmFsT2JqZWN0W3QyXSwgdDIiLAorICAgICIgICAgbG9hZHAgSlNHbG9iYWxP
YmplY3Q6Om1fc3BlY2lhbFBvaW50ZXJzW3QyLCB0MSwgOF0sIHQxIiwKKyAgICAiICAgIGJwbmVx
IHQxLCAwW2NmciwgdDAsIDhdLCAub3BKbmVxUHRyVGFyZ2V0IiwKKyAgICAiICAgIGRpc3BhdGNo
KDUpIiwKKyAgICAiLm9wSm5lcVB0clRhcmdldDoiLAorICAgICIgICAgc3RvcmVpIDEsIDMyW1BC
LCBQQywgOF0iLAorICAgICIgICAgZGlzcGF0Y2hJbnRJbmRpcmVjdCgzKSIsCisgICAgIm1hY3Jv
IGNvbXBhcmUoaW50ZWdlckNvbXBhcmUsIGRvdWJsZUNvbXBhcmUsIHNsb3dQYXRoKSIsCisgICAg
IiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDIpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21J
bnN0cnVjdGlvbigyLCB0MykiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0Miwg
dDApIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDMsIHQxKSIsCisgICAgIiAg
ICBicWIgdDAsIHRhZ1R5cGVOdW1iZXIsIC5vcDFOb3RJbnQiLAorICAgICIgICAgYnFiIHQxLCB0
YWdUeXBlTnVtYmVyLCAub3AyTm90SW50IiwKKyAgICAiICAgIGludGVnZXJDb21wYXJlKHQwLCB0
MSwgLmp1bXBUYXJnZXQpIiwKKyAgICAiICAgIGRpc3BhdGNoKDQpIiwKKyAgICAiLm9wMU5vdElu
dDoiLAorICAgICIgICAgYnRxeiB0MCwgdGFnVHlwZU51bWJlciwgLnNsb3ciLAorICAgICIgICAg
YnFiIHQxLCB0YWdUeXBlTnVtYmVyLCAub3AxTm90SW50T3AyTm90SW50IiwKKyAgICAiICAgIGNp
MmQgdDEsIGZ0MSIsCisgICAgIiAgICBqbXAgLm9wMU5vdEludFJlYWR5IiwKKyAgICAiLm9wMU5v
dEludE9wMk5vdEludDoiLAorICAgICIgICAgYnRxeiB0MSwgdGFnVHlwZU51bWJlciwgLnNsb3ci
LAorICAgICIgICAgYWRkcSB0YWdUeXBlTnVtYmVyLCB0MSIsCisgICAgIiAgICBmcTJkIHQxLCBm
dDEiLAorICAgICIub3AxTm90SW50UmVhZHk6IiwKKyAgICAiICAgIGFkZHEgdGFnVHlwZU51bWJl
ciwgdDAiLAorICAgICIgICAgZnEyZCB0MCwgZnQwIiwKKyAgICAiICAgIGRvdWJsZUNvbXBhcmUo
ZnQwLCBmdDEsIC5qdW1wVGFyZ2V0KSIsCisgICAgIiAgICBkaXNwYXRjaCg0KSIsCisgICAgIi5v
cDJOb3RJbnQ6IiwKKyAgICAiICAgIGNpMmQgdDAsIGZ0MCIsCisgICAgIiAgICBidHF6IHQxLCB0
YWdUeXBlTnVtYmVyLCAuc2xvdyIsCisgICAgIiAgICBhZGRxIHRhZ1R5cGVOdW1iZXIsIHQxIiwK
KyAgICAiICAgIGZxMmQgdDEsIGZ0MSIsCisgICAgIiAgICBkb3VibGVDb21wYXJlKGZ0MCwgZnQx
LCAuanVtcFRhcmdldCkiLAorICAgICIgICAgZGlzcGF0Y2goNCkiLAorICAgICIuanVtcFRhcmdl
dDoiLAorICAgICIgICAgZGlzcGF0Y2hJbnRJbmRpcmVjdCgzKSIsCisgICAgIi5zbG93OiIsCisg
ICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoc2xvd1BhdGgpIiwKKyAgICAiICAgIGRpc3BhdGNo
KDApIiwKKyAgICAiZW5kIiwKKyAgICAiX2xsaW50X29wX3N3aXRjaF9pbW06IiwKKyAgICAiICAg
IHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQy
KSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDMpIiwKKyAgICAiICAgIGxv
YWRDb25zdGFudE9yVmFyaWFibGUodDIsIHQxKSIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2tb
Y2ZyXSwgdDIiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrOjptX3JhcmVEYXRhW3QyXSwgdDIi
LAorICAgICIgICAgbXVsaSBzaXplb2YgU2ltcGxlSnVtcFRhYmxlLCB0MyIsCisgICAgIiAgICBs
b2FkcCAoQ29kZUJsb2NrOjpSYXJlRGF0YTo6bV9zd2l0Y2hKdW1wVGFibGVzICsgVmVjdG9yQnVm
ZmVyT2Zmc2V0KVt0Ml0sIHQyIiwKKyAgICAiICAgIGFkZHAgdDMsIHQyIiwKKyAgICAiICAgIGJx
YiB0MSwgdGFnVHlwZU51bWJlciwgLm9wU3dpdGNoSW1tTm90SW50IiwKKyAgICAiICAgIHN1Ymkg
U2ltcGxlSnVtcFRhYmxlOjptaW5bdDJdLCB0MSIsCisgICAgIiAgICBiaWFlcSB0MSwgKFNpbXBs
ZUp1bXBUYWJsZTo6YnJhbmNoT2Zmc2V0cyArIFZlY3RvclNpemVPZmZzZXQpW3QyXSwgLm9wU3dp
dGNoSW1tRmFsbFRocm91Z2giLAorICAgICIgICAgbG9hZHAgKFNpbXBsZUp1bXBUYWJsZTo6YnJh
bmNoT2Zmc2V0cyArIFZlY3RvckJ1ZmZlck9mZnNldClbdDJdLCB0MyIsCisgICAgIiAgICBsb2Fk
aXMgMFt0MywgdDEsIDRdLCB0MSIsCisgICAgIiAgICBidGl6IHQxLCAub3BTd2l0Y2hJbW1GYWxs
VGhyb3VnaCIsCisgICAgIiAgICBkaXNwYXRjaCh0MSkiLAorICAgICIub3BTd2l0Y2hJbW1Ob3RJ
bnQ6IiwKKyAgICAiICAgIGJ0cW56IHQxLCB0YWdUeXBlTnVtYmVyLCAub3BTd2l0Y2hJbW1TbG93
IiwKKyAgICAiLm9wU3dpdGNoSW1tRmFsbFRocm91Z2g6IiwKKyAgICAiICAgIGRpc3BhdGNoSW50
SW5kaXJlY3QoMikiLAorICAgICIub3BTd2l0Y2hJbW1TbG93OiIsCisgICAgIiAgICBjYWxsT3Bj
b2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9zd2l0Y2hfaW1tKSIsCisgICAgIiAgICBkaXNw
YXRjaCgwKSIsCisgICAgIl9sbGludF9vcF9zd2l0Y2hfY2hhcjoiLAorICAgICIgICAgdHJhY2VF
eGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDIpIiwKKyAg
ICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MykiLAorICAgICIgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZSh0MiwgdDEpIiwKKyAgICAiICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0
MiIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2s6Om1fcmFyZURhdGFbdDJdLCB0MiIsCisgICAg
IiAgICBtdWxpIHNpemVvZiBTaW1wbGVKdW1wVGFibGUsIHQzIiwKKyAgICAiICAgIGxvYWRwIChD
b2RlQmxvY2s6OlJhcmVEYXRhOjptX3N3aXRjaEp1bXBUYWJsZXMgKyBWZWN0b3JCdWZmZXJPZmZz
ZXQpW3QyXSwgdDIiLAorICAgICIgICAgYWRkcCB0MywgdDIiLAorICAgICIgICAgYnRxbnogdDEs
IHRhZ01hc2ssIC5vcFN3aXRjaENoYXJGYWxsVGhyb3VnaCIsCisgICAgIiAgICBiYm5lcSBKU0Nl
bGw6Om1fdHlwZVt0MV0sIFN0cmluZ1R5cGUsIC5vcFN3aXRjaENoYXJGYWxsVGhyb3VnaCIsCisg
ICAgIiAgICBiaW5lcSBKU1N0cmluZzo6bV9sZW5ndGhbdDFdLCAxLCAub3BTd2l0Y2hDaGFyRmFs
bFRocm91Z2giLAorICAgICIgICAgbG9hZHAgSlNTdHJpbmc6Om1fdmFsdWVbdDFdLCB0MCIsCisg
ICAgIiAgICBidHB6IHQwLCAub3BTd2l0Y2hPblJvcGUiLAorICAgICIgICAgbG9hZHAgU3RyaW5n
SW1wbDo6bV9kYXRhOFt0MF0sIHQxIiwKKyAgICAiICAgIGJ0aW56IFN0cmluZ0ltcGw6Om1faGFz
aEFuZEZsYWdzW3QwXSwgSGFzaEZsYWdzOEJpdEJ1ZmZlciwgLm9wU3dpdGNoQ2hhcjhCaXQiLAor
ICAgICIgICAgbG9hZGggMFt0MV0sIHQwIiwKKyAgICAiICAgIGptcCAub3BTd2l0Y2hDaGFyUmVh
ZHkiLAorICAgICIub3BTd2l0Y2hDaGFyOEJpdDoiLAorICAgICIgICAgbG9hZGIgMFt0MV0sIHQw
IiwKKyAgICAiLm9wU3dpdGNoQ2hhclJlYWR5OiIsCisgICAgIiAgICBzdWJpIFNpbXBsZUp1bXBU
YWJsZTo6bWluW3QyXSwgdDAiLAorICAgICIgICAgYmlhZXEgdDAsIChTaW1wbGVKdW1wVGFibGU6
OmJyYW5jaE9mZnNldHMgKyBWZWN0b3JTaXplT2Zmc2V0KVt0Ml0sIC5vcFN3aXRjaENoYXJGYWxs
VGhyb3VnaCIsCisgICAgIiAgICBsb2FkcCAoU2ltcGxlSnVtcFRhYmxlOjpicmFuY2hPZmZzZXRz
ICsgVmVjdG9yQnVmZmVyT2Zmc2V0KVt0Ml0sIHQyIiwKKyAgICAiICAgIGxvYWRpcyAwW3QyLCB0
MCwgNF0sIHQxIiwKKyAgICAiICAgIGJ0aXogdDEsIC5vcFN3aXRjaENoYXJGYWxsVGhyb3VnaCIs
CisgICAgIiAgICBkaXNwYXRjaCh0MSkiLAorICAgICIub3BTd2l0Y2hDaGFyRmFsbFRocm91Z2g6
IiwKKyAgICAiICAgIGRpc3BhdGNoSW50SW5kaXJlY3QoMikiLAorICAgICIub3BTd2l0Y2hPblJv
cGU6IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX3N3aXRj
aF9jaGFyKSIsCisgICAgIiAgICBkaXNwYXRjaCgwKSIsCisgICAgIm1hY3JvIGFycmF5UHJvZmls
ZUZvckNhbGwoKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNCwgdDMpIiwKKyAg
ICAiICAgIG5lZ3AgdDMiLAorICAgICIgICAgbG9hZHEgVGhpc0FyZ3VtZW50T2Zmc2V0W2Nmciwg
dDMsIDhdLCB0MCIsCisgICAgIiAgICBidHFueiB0MCwgdGFnTWFzaywgLmRvbmUiLAorICAgICIg
ICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oKENhbGxPcENvZGVTaXplIC0gMiksIHQxKSIsCisgICAg
IiAgICBsb2FkaSBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDBdLCB0MyIsCisgICAgIiAgICBzdG9y
ZWkgdDMsIEFycmF5UHJvZmlsZTo6bV9sYXN0U2VlblN0cnVjdHVyZUlEW3QxXSIsCisgICAgIi5k
b25lOiIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIGRvQ2FsbChzbG93UGF0aCwgcHJlcGFyZUNh
bGwpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkiLAorICAgICIgICAg
bG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNSwgdDEpIiwKKyAgICAiICAgIGxvYWRwIExMSW50Q2FsbExp
bmtJbmZvOjpjYWxsZWVbdDFdLCB0MiIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxl
KHQwLCB0MykiLAorICAgICIgICAgYnFuZXEgdDMsIHQyLCAub3BDYWxsU2xvdyIsCisgICAgIiAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNCwgdDMpIiwKKyAgICAiICAgIGxzaGlmdGkgMywgdDMi
LAorICAgICIgICAgbmVncCB0MyIsCisgICAgIiAgICBhZGRwIGNmciwgdDMiLAorICAgICIgICAg
c3RvcmVxIHQyLCBDYWxsZWVbdDNdIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigz
LCB0MikiLAorICAgICIgICAgc3RvcmVpIFBDLCAoQXJndW1lbnRDb3VudCArIFRhZ09mZnNldClb
Y2ZyXSIsCisgICAgIiAgICBzdG9yZWkgdDIsIChBcmd1bWVudENvdW50ICsgUGF5bG9hZE9mZnNl
dClbdDNdIiwKKyAgICAiICAgIG1vdmUgdDMsIHNwIiwKKyAgICAiICAgIHByZXBhcmVDYWxsKExM
SW50Q2FsbExpbmtJbmZvOjptYWNoaW5lQ29kZVRhcmdldFt0MV0sIHQyLCB0MywgdDQpIiwKKyAg
ICAiICAgIGNhbGxUYXJnZXRGdW5jdGlvbihMTEludENhbGxMaW5rSW5mbzo6bWFjaGluZUNvZGVU
YXJnZXRbdDFdKSIsCisgICAgIi5vcENhbGxTbG93OiIsCisgICAgIiAgICBzbG93UGF0aEZvckNh
bGwoc2xvd1BhdGgsIHByZXBhcmVDYWxsKSIsCisgICAgImVuZCIsCisgICAgIl9sbGludF9vcF9y
ZXQ6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY2hlY2tTd2l0Y2hU
b0pJVEZvckVwaWxvZ3VlKCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQy
KSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQyLCByMCkiLAorICAgICIgICAg
ZG9SZXR1cm4oKSIsCisgICAgIl9sbGludF9vcF90b19wcmltaXRpdmU6IiwKKyAgICAiICAgIHRy
YWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQyKSIs
CisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDMpIiwKKyAgICAiICAgIGxvYWRD
b25zdGFudE9yVmFyaWFibGUodDIsIHQwKSIsCisgICAgIiAgICBidHFueiB0MCwgdGFnTWFzaywg
Lm9wVG9QcmltaXRpdmVJc0ltbSIsCisgICAgIiAgICBiYmFlcSBKU0NlbGw6Om1fdHlwZVt0MF0s
IE9iamVjdFR5cGUsIC5vcFRvUHJpbWl0aXZlU2xvd0Nhc2UiLAorICAgICIub3BUb1ByaW1pdGl2
ZUlzSW1tOiIsCisgICAgIiAgICBzdG9yZXEgdDAsIDBbY2ZyLCB0MywgOF0iLAorICAgICIgICAg
ZGlzcGF0Y2goY29uc3RleHByIChvcF90b19wcmltaXRpdmVfbGVuZ3RoKSkiLAorICAgICIub3BU
b1ByaW1pdGl2ZVNsb3dDYXNlOiIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3df
cGF0aF90b19wcmltaXRpdmUpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfdG9f
cHJpbWl0aXZlX2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX2NhdGNoOiIsCisgICAgIiAgICBs
b2FkcCBDYWxsZWVbY2ZyXSwgdDMiLAorICAgICIgICAgYW5kcCBNYXJrZWRCbG9ja01hc2ssIHQz
IiwKKyAgICAiICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3ZtW3QzXSwgdDMiLAorICAgICIgICAg
cmVzdG9yZUNhbGxlZVNhdmVzRnJvbVZNRW50cnlGcmFtZUNhbGxlZVNhdmVzQnVmZmVyKHQzLCB0
MCkiLAorICAgICIgICAgbG9hZHAgVk06OmNhbGxGcmFtZUZvckNhdGNoW3QzXSwgY2ZyIiwKKyAg
ICAiICAgIHN0b3JlcCAwLCBWTTo6Y2FsbEZyYW1lRm9yQ2F0Y2hbdDNdIiwKKyAgICAiICAgIHJl
c3RvcmVTdGFja1BvaW50ZXJBZnRlckNhbGwoKSIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2tb
Y2ZyXSwgUEIiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrOjptX2luc3RydWN0aW9uc1tQQl0s
IFBCIiwKKyAgICAiICAgIGxvYWRwIFZNOjp0YXJnZXRJbnRlcnByZXRlclBDRm9yVGhyb3dbdDNd
LCBQQyIsCisgICAgIiAgICBzdWJwIFBCLCBQQyIsCisgICAgIiAgICByc2hpZnRwIDMsIFBDIiwK
KyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2NoZWNrX2lmX2V4
Y2VwdGlvbl9pc191bmNhdGNoYWJsZV9hbmRfbm90aWZ5X3Byb2ZpbGVyKSIsCisgICAgIiAgICBi
cGVxIHIxLCAwLCAuaXNDYXRjaGFibGVFeGNlcHRpb24iLAorICAgICIgICAgam1wIF9sbGludF90
aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lIiwKKyAgICAiLmlzQ2F0Y2hhYmxlRXhjZXB0
aW9uOiIsCisgICAgIiAgICBsb2FkcCBDYWxsZWVbY2ZyXSwgdDMiLAorICAgICIgICAgYW5kcCBN
YXJrZWRCbG9ja01hc2ssIHQzIiwKKyAgICAiICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3ZtW3Qz
XSwgdDMiLAorICAgICIgICAgbG9hZHEgVk06Om1fZXhjZXB0aW9uW3QzXSwgdDAiLAorICAgICIg
ICAgc3RvcmVxIDAsIFZNOjptX2V4Y2VwdGlvblt0M10iLAorICAgICIgICAgbG9hZGlzRnJvbUlu
c3RydWN0aW9uKDEsIHQyKSIsCisgICAgIiAgICBzdG9yZXEgdDAsIDBbY2ZyLCB0MiwgOF0iLAor
ICAgICIgICAgbG9hZHEgRXhjZXB0aW9uOjptX3ZhbHVlW3QwXSwgdDMiLAorICAgICIgICAgbG9h
ZGlzRnJvbUluc3RydWN0aW9uKDIsIHQyKSIsCisgICAgIiAgICBzdG9yZXEgdDMsIDBbY2ZyLCB0
MiwgOF0iLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBkaXNwYXRjaChj
b25zdGV4cHIgKG9wX2NhdGNoX2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX2VuZDoiLAorICAg
ICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBjaGVja1N3aXRjaFRvSklURm9yRXBp
bG9ndWUoKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApIiwKKyAgICAi
ICAgIGFzc2VydE5vdENvbnN0YW50KHQwKSIsCisgICAgIiAgICBsb2FkcSAwW2NmciwgdDAsIDhd
LCByMCIsCisgICAgIiAgICBkb1JldHVybigpIiwKKyAgICAiX2xsaW50X3Rocm93X2Zyb21fc2xv
d19wYXRoX3RyYW1wb2xpbmU6IiwKKyAgICAiICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0MSIsCisg
ICAgIiAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDEiLAorICAgICIgICAgbG9hZHAgTWFya2Vk
QmxvY2s6Om1fdm1bdDFdLCB0MSIsCisgICAgIiAgICBjb3B5Q2FsbGVlU2F2ZXNUb1ZNRW50cnlG
cmFtZUNhbGxlZVNhdmVzQnVmZmVyKHQxLCB0MikiLAorICAgICIgICAgY2FsbFNsb3dQYXRoKF9s
bGludF9zbG93X3BhdGhfaGFuZGxlX2V4Y2VwdGlvbikiLAorICAgICIgICAgbG9hZHAgQ2FsbGVl
W2Nmcl0sIHQxIiwKKyAgICAiICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MSIsCisgICAgIiAg
ICBsb2FkcCBNYXJrZWRCbG9jazo6bV92bVt0MV0sIHQxIiwKKyAgICAiICAgIGptcCBWTTo6dGFy
Z2V0TWFjaGluZVBDRm9yVGhyb3dbdDFdIiwKKyAgICAiX2xsaW50X3Rocm93X2R1cmluZ19jYWxs
X3RyYW1wb2xpbmU6IiwKKyAgICAiICAgIHByZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVyQ2FsbCh0
MikiLAorICAgICIgICAgam1wIF9sbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5l
IiwKKyAgICAibWFjcm8gbmF0aXZlQ2FsbFRyYW1wb2xpbmUoZXhlY3V0YWJsZU9mZnNldFRvRnVu
Y3Rpb24pIiwKKyAgICAiICAgIGZ1bmN0aW9uUHJvbG9ndWUoKSIsCisgICAgIiAgICBzdG9yZXAg
MCwgQ29kZUJsb2NrW2Nmcl0iLAorICAgICIgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQwIiwKKyAg
ICAiICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MCwgdDEiLAorICAgICIgICAgbG9hZHAgTWFy
a2VkQmxvY2s6Om1fdm1bdDFdLCB0MSIsCisgICAgIiAgICBzdG9yZXAgY2ZyLCBWTTo6dG9wQ2Fs
bEZyYW1lW3QxXSIsCisgICAgImlmIChBUk02NCBvciBDX0xPT1ApIiwKKyAgICAiICAgIHN0b3Jl
cCBsciwgUmV0dXJuUENbY2ZyXSIsCisgICAgImVsc2UiLAorICAgICIgICAgc2tpcCIsCisgICAg
ImVuZCIsCisgICAgIiAgICBtb3ZlIGNmciwgYTAiLAorICAgICIgICAgbG9hZHAgQ2FsbGVlW2Nm
cl0sIHQxIiwKKyAgICAiICAgIGxvYWRwIEpTRnVuY3Rpb246Om1fZXhlY3V0YWJsZVt0MV0sIHQx
IiwKKyAgICAiICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHQzLCAzNzM1ODc5NjgxKSIs
CisgICAgImlmIENfTE9PUCIsCisgICAgIiAgICBjbG9vcENhbGxOYXRpdmUgZXhlY3V0YWJsZU9m
ZnNldFRvRnVuY3Rpb25bdDFdIiwKKyAgICAiZWxzZSIsCisgICAgImlmIFg4Nl82NF9XSU4iLAor
ICAgICIgICAgc3VicCAzMiwgc3AiLAorICAgICJlbHNlIiwKKyAgICAiICAgIHNraXAiLAorICAg
ICJlbmQiLAorICAgICIgICAgY2FsbCBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvblt0MV0iLAor
ICAgICJpZiBYODZfNjRfV0lOIiwKKyAgICAiICAgIGFkZHAgMzIsIHNwIiwKKyAgICAiZWxzZSIs
CisgICAgIiAgICBza2lwIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiICAgIGxvYWRw
IENhbGxlZVtjZnJdLCB0MyIsCisgICAgIiAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMiLAor
ICAgICIgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fdm1bdDNdLCB0MyIsCisgICAgIiAgICBidHFu
eiBWTTo6bV9leGNlcHRpb25bdDNdLCAuaGFuZGxlRXhjZXB0aW9uIiwKKyAgICAiICAgIGZ1bmN0
aW9uRXBpbG9ndWUoKSIsCisgICAgIiAgICByZXQgIiwKKyAgICAiLmhhbmRsZUV4Y2VwdGlvbjoi
LAorICAgICIgICAgc3RvcmVwIGNmciwgVk06OnRvcENhbGxGcmFtZVt0M10iLAorICAgICIgICAg
am1wIF9sbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lIiwKKyAgICAiZW5kIiwK
KyAgICAibWFjcm8gZ2V0Q29uc3RhbnRTY29wZShkc3QpIiwKKyAgICAiICAgIGxvYWRwRnJvbUlu
c3RydWN0aW9uKDYsIHQwKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oZHN0LCB0
MSkiLAorICAgICIgICAgc3RvcmVxIHQwLCAwW2NmciwgdDEsIDhdIiwKKyAgICAiZW5kIiwKKyAg
ICAibWFjcm8gdmFySW5qZWN0aW9uQ2hlY2soc2xvd1BhdGgpIiwKKyAgICAiICAgIGxvYWRwIENv
ZGVCbG9ja1tjZnJdLCB0MCIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2Jq
ZWN0W3QwXSwgdDAiLAorICAgICIgICAgbG9hZHAgSlNHbG9iYWxPYmplY3Q6Om1fdmFySW5qZWN0
aW9uV2F0Y2hwb2ludFt0MF0sIHQwIiwKKyAgICAiICAgIGJiZXEgV2F0Y2hwb2ludFNldDo6bV9z
dGF0ZVt0MF0sIElzSW52YWxpZGF0ZWQsIHNsb3dQYXRoIiwKKyAgICAiZW5kIiwKKyAgICAibWFj
cm8gcmVzb2x2ZVNjb3BlKCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDUsIHQy
KSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDApIiwKKyAgICAiICAgIGxv
YWRwIDBbY2ZyLCB0MCwgOF0sIHQwIiwKKyAgICAiICAgIGJ0aXogdDIsIC5yZXNvbHZlU2NvcGVM
b29wRW5kIiwKKyAgICAiLnJlc29sdmVTY29wZUxvb3A6IiwKKyAgICAiICAgIGxvYWRwIEpTU2Nv
cGU6Om1fbmV4dFt0MF0sIHQwIiwKKyAgICAiICAgIHN1YmkgMSwgdDIiLAorICAgICIgICAgYnRp
bnogdDIsIC5yZXNvbHZlU2NvcGVMb29wIiwKKyAgICAiLnJlc29sdmVTY29wZUxvb3BFbmQ6IiwK
KyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkiLAorICAgICIgICAgc3RvcmVx
IHQwLCAwW2NmciwgdDEsIDhdIiwKKyAgICAiZW5kIiwKKyAgICAiX2xsaW50X29wX3Jlc29sdmVf
c2NvcGU6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgbG9hZGlzRnJv
bUluc3RydWN0aW9uKDQsIHQwKSIsCisgICAgIiAgICBiaW5lcSB0MCwgR2xvYmFsUHJvcGVydHks
IC5yR2xvYmFsVmFyIiwKKyAgICAiICAgIGdldENvbnN0YW50U2NvcGUoMSkiLAorICAgICIgICAg
ZGlzcGF0Y2goY29uc3RleHByIChvcF9yZXNvbHZlX3Njb3BlX2xlbmd0aCkpIiwKKyAgICAiLnJH
bG9iYWxWYXI6IiwKKyAgICAiICAgIGJpbmVxIHQwLCBHbG9iYWxWYXIsIC5yR2xvYmFsTGV4aWNh
bFZhciIsCisgICAgIiAgICBnZXRDb25zdGFudFNjb3BlKDEpIiwKKyAgICAiICAgIGRpc3BhdGNo
KGNvbnN0ZXhwciAob3BfcmVzb2x2ZV9zY29wZV9sZW5ndGgpKSIsCisgICAgIi5yR2xvYmFsTGV4
aWNhbFZhcjoiLAorICAgICIgICAgYmluZXEgdDAsIEdsb2JhbExleGljYWxWYXIsIC5yQ2xvc3Vy
ZVZhciIsCisgICAgIiAgICBnZXRDb25zdGFudFNjb3BlKDEpIiwKKyAgICAiICAgIGRpc3BhdGNo
KGNvbnN0ZXhwciAob3BfcmVzb2x2ZV9zY29wZV9sZW5ndGgpKSIsCisgICAgIi5yQ2xvc3VyZVZh
cjoiLAorICAgICIgICAgYmluZXEgdDAsIENsb3N1cmVWYXIsIC5yTW9kdWxlVmFyIiwKKyAgICAi
ICAgIHJlc29sdmVTY29wZSgpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfcmVz
b2x2ZV9zY29wZV9sZW5ndGgpKSIsCisgICAgIi5yTW9kdWxlVmFyOiIsCisgICAgIiAgICBiaW5l
cSB0MCwgTW9kdWxlVmFyLCAuckdsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNrcyIs
CisgICAgIiAgICBnZXRDb25zdGFudFNjb3BlKDEpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0
ZXhwciAob3BfcmVzb2x2ZV9zY29wZV9sZW5ndGgpKSIsCisgICAgIi5yR2xvYmFsUHJvcGVydHlX
aXRoVmFySW5qZWN0aW9uQ2hlY2tzOiIsCisgICAgIiAgICBiaW5lcSB0MCwgR2xvYmFsUHJvcGVy
dHlXaXRoVmFySW5qZWN0aW9uQ2hlY2tzLCAuckdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVj
a3MiLAorICAgICIgICAgdmFySW5qZWN0aW9uQ2hlY2soLnJEeW5hbWljKSIsCisgICAgIiAgICBn
ZXRDb25zdGFudFNjb3BlKDEpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfcmVz
b2x2ZV9zY29wZV9sZW5ndGgpKSIsCisgICAgIi5yR2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNo
ZWNrczoiLAorICAgICIgICAgYmluZXEgdDAsIEdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVj
a3MsIC5yR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MiLAorICAgICIgICAg
dmFySW5qZWN0aW9uQ2hlY2soLnJEeW5hbWljKSIsCisgICAgIiAgICBnZXRDb25zdGFudFNjb3Bl
KDEpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfcmVzb2x2ZV9zY29wZV9sZW5n
dGgpKSIsCisgICAgIi5yR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M6IiwK
KyAgICAiICAgIGJpbmVxIHQwLCBHbG9iYWxMZXhpY2FsVmFyV2l0aFZhckluamVjdGlvbkNoZWNr
cywgLnJDbG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcyIsCisgICAgIiAgICB2YXJJbmpl
Y3Rpb25DaGVjayguckR5bmFtaWMpIiwKKyAgICAiICAgIGdldENvbnN0YW50U2NvcGUoMSkiLAor
ICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9yZXNvbHZlX3Njb3BlX2xlbmd0aCkpIiwK
KyAgICAiLnJDbG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNrczoiLAorICAgICIgICAgYmlu
ZXEgdDAsIENsb3N1cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzLCAuckR5bmFtaWMiLAorICAg
ICIgICAgdmFySW5qZWN0aW9uQ2hlY2soLnJEeW5hbWljKSIsCisgICAgIiAgICByZXNvbHZlU2Nv
cGUoKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX3Jlc29sdmVfc2NvcGVfbGVu
Z3RoKSkiLAorICAgICIuckR5bmFtaWM6IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChf
c2xvd19wYXRoX3Jlc29sdmVfc2NvcGUpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAo
b3BfcmVzb2x2ZV9zY29wZV9sZW5ndGgpKSIsCisgICAgIm1hY3JvIGxvYWRXaXRoU3RydWN0dXJl
Q2hlY2sob3BlcmFuZCwgc2xvd1BhdGgpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlv
bihvcGVyYW5kLCB0MCkiLAorICAgICIgICAgbG9hZHEgMFtjZnIsIHQwLCA4XSwgdDAiLAorICAg
ICIgICAgbG9hZFN0cnVjdHVyZVdpdGhTY3JhdGNoKHQwLCB0MiwgdDEpIiwKKyAgICAiICAgIGxv
YWRwRnJvbUluc3RydWN0aW9uKDUsIHQxKSIsCisgICAgIiAgICBicG5lcSB0MiwgdDEsIHNsb3dQ
YXRoIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gZ2V0UHJvcGVydHkoKSIsCisgICAgIiAgICBs
b2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNiwgdDEpIiwKKyAgICAiICAgIGxvYWRQcm9wZXJ0eUF0VmFy
aWFibGVPZmZzZXQodDEsIHQwLCB0MikiLAorICAgICIgICAgdmFsdWVQcm9maWxlKHQyLCA3LCB0
MCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKSIsCisgICAgIiAgICBz
dG9yZXEgdDIsIDBbY2ZyLCB0MCwgOF0iLAorICAgICJlbmQiLAorICAgICJtYWNybyBnZXRHbG9i
YWxWYXIodGR6Q2hlY2tJZk5lY2Vzc2FyeSkiLAorICAgICIgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rp
b24oNiwgdDApIiwKKyAgICAiICAgIGxvYWRxIDBbdDBdLCB0MCIsCisgICAgIiAgICB0ZHpDaGVj
a0lmTmVjZXNzYXJ5KHQwKSIsCisgICAgIiAgICB2YWx1ZVByb2ZpbGUodDAsIDcsIHQxKSIsCisg
ICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpIiwKKyAgICAiICAgIHN0b3JlcSB0
MCwgMFtjZnIsIHQxLCA4XSIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIGdldENsb3N1cmVWYXIo
KSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNiwgdDEpIiwKKyAgICAiICAgIGxv
YWRxIEpTRW52aXJvbm1lbnRSZWNvcmRfdmFyaWFibGVzW3QwLCB0MSwgOF0sIHQwIiwKKyAgICAi
ICAgIHZhbHVlUHJvZmlsZSh0MCwgNywgdDEpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVj
dGlvbigxLCB0MSkiLAorICAgICIgICAgc3RvcmVxIHQwLCAwW2NmciwgdDEsIDhdIiwKKyAgICAi
ZW5kIiwKKyAgICAiX2xsaW50X29wX2dldF9mcm9tX3Njb3BlOiIsCisgICAgIiAgICB0cmFjZUV4
ZWN1dGlvbigpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0MCkiLAorICAg
ICIgICAgYW5kaSBSZXNvbHZlVHlwZU1hc2ssIHQwIiwKKyAgICAiICAgIGJpbmVxIHQwLCBHbG9i
YWxQcm9wZXJ0eSwgLmdHbG9iYWxWYXIiLAorICAgICIgICAgbG9hZFdpdGhTdHJ1Y3R1cmVDaGVj
aygyLCAuZ0R5bmFtaWMpIiwKKyAgICAiICAgIGdldFByb3BlcnR5KCkiLAorICAgICIgICAgZGlz
cGF0Y2goY29uc3RleHByIChvcF9nZXRfZnJvbV9zY29wZV9sZW5ndGgpKSIsCisgICAgIi5nR2xv
YmFsVmFyOiIsCisgICAgIiAgICBiaW5lcSB0MCwgR2xvYmFsVmFyLCAuZ0dsb2JhbExleGljYWxW
YXIiLAorICAgICIgICAgZ2V0R2xvYmFsVmFyKG1hY3JvICh2KSIsCisgICAgIiIsCisgICAgImVu
ZCkiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9nZXRfZnJvbV9zY29wZV9sZW5n
dGgpKSIsCisgICAgIi5nR2xvYmFsTGV4aWNhbFZhcjoiLAorICAgICIgICAgYmluZXEgdDAsIEds
b2JhbExleGljYWxWYXIsIC5nQ2xvc3VyZVZhciIsCisgICAgIiAgICBnZXRHbG9iYWxWYXIobWFj
cm8gKHZhbHVlKSIsCisgICAgIiAgICBicWVxIHZhbHVlLCBWYWx1ZUVtcHR5LCAuZ0R5bmFtaWMi
LAorICAgICJlbmQpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfZ2V0X2Zyb21f
c2NvcGVfbGVuZ3RoKSkiLAorICAgICIuZ0Nsb3N1cmVWYXI6IiwKKyAgICAiICAgIGJpbmVxIHQw
LCBDbG9zdXJlVmFyLCAuZ0dsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNrcyIsCisg
ICAgIiAgICBsb2FkVmFyaWFibGUoMiwgdDApIiwKKyAgICAiICAgIGdldENsb3N1cmVWYXIoKSIs
CisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2dldF9mcm9tX3Njb3BlX2xlbmd0aCkp
IiwKKyAgICAiLmdHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3M6IiwKKyAgICAi
ICAgIGJpbmVxIHQwLCBHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5nR2xv
YmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcyIsCisgICAgIiAgICBsb2FkV2l0aFN0cnVjdHVy
ZUNoZWNrKDIsIC5nRHluYW1pYykiLAorICAgICIgICAgZ2V0UHJvcGVydHkoKSIsCisgICAgIiAg
ICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2dldF9mcm9tX3Njb3BlX2xlbmd0aCkpIiwKKyAgICAi
LmdHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOiIsCisgICAgIiAgICBiaW5lcSB0MCwg
R2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcywgLmdHbG9iYWxMZXhpY2FsVmFyV2l0aFZh
ckluamVjdGlvbkNoZWNrcyIsCisgICAgIiAgICB2YXJJbmplY3Rpb25DaGVjayguZ0R5bmFtaWMp
IiwKKyAgICAiICAgIGdldEdsb2JhbFZhcihtYWNybyAodikiLAorICAgICIiLAorICAgICJlbmQp
IiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfZ2V0X2Zyb21fc2NvcGVfbGVuZ3Ro
KSkiLAorICAgICIuZ0dsb2JhbExleGljYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOiIsCisg
ICAgIiAgICBiaW5lcSB0MCwgR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3Ms
IC5nQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MiLAorICAgICIgICAgdmFySW5qZWN0
aW9uQ2hlY2soLmdEeW5hbWljKSIsCisgICAgIiAgICBnZXRHbG9iYWxWYXIobWFjcm8gKHZhbHVl
KSIsCisgICAgIiAgICBicWVxIHZhbHVlLCBWYWx1ZUVtcHR5LCAuZ0R5bmFtaWMiLAorICAgICJl
bmQpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfZ2V0X2Zyb21fc2NvcGVfbGVu
Z3RoKSkiLAorICAgICIuZ0Nsb3N1cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOiIsCisgICAg
IiAgICBiaW5lcSB0MCwgQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5nRHluYW1p
YyIsCisgICAgIiAgICB2YXJJbmplY3Rpb25DaGVjayguZ0R5bmFtaWMpIiwKKyAgICAiICAgIGxv
YWRWYXJpYWJsZSgyLCB0MCkiLAorICAgICIgICAgZ2V0Q2xvc3VyZVZhcigpIiwKKyAgICAiICAg
IGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfZ2V0X2Zyb21fc2NvcGVfbGVuZ3RoKSkiLAorICAgICIu
Z0R5bmFtaWM6IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRo
X2dldF9mcm9tX3Njb3BlKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2dldF9m
cm9tX3Njb3BlX2xlbmd0aCkpIiwKKyAgICAibWFjcm8gcHV0UHJvcGVydHkoKSIsCisgICAgIiAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDEpIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9y
VmFyaWFibGUodDEsIHQyKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNiwgdDEp
IiwKKyAgICAiICAgIHN0b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0KHQxLCB0MCwgdDIsIHQz
KSIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIHB1dEdsb2JhbFZhcmlhYmxlKCkiLAorICAgICIg
ICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQwKSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRP
clZhcmlhYmxlKHQwLCB0MSkiLAorICAgICIgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNSwgdDIp
IiwKKyAgICAiICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDYsIHQwKSIsCisgICAgIiAgICBub3Rp
ZnlXcml0ZSh0MiwgLnBEeW5hbWljKSIsCisgICAgIiAgICBzdG9yZXEgdDEsIDBbdDBdIiwKKyAg
ICAiZW5kIiwKKyAgICAibWFjcm8gcHV0Q2xvc3VyZVZhcigpIiwKKyAgICAiICAgIGxvYWRpc0Zy
b21JbnN0cnVjdGlvbigzLCB0MSkiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0
MSwgdDIpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig2LCB0MSkiLAorICAgICIg
ICAgc3RvcmVxIHQyLCBKU0Vudmlyb25tZW50UmVjb3JkX3ZhcmlhYmxlc1t0MCwgdDEsIDhdIiwK
KyAgICAiZW5kIiwKKyAgICAibWFjcm8gcHV0TG9jYWxDbG9zdXJlVmFyKCkiLAorICAgICIgICAg
bG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQxKSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlKHQxLCB0MikiLAorICAgICIgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNSwgdDMpIiwK
KyAgICAiICAgIGJ0cHogdDMsIC5ub1ZhcmlhYmxlV2F0Y2hwb2ludFNldCIsCisgICAgIiAgICBu
b3RpZnlXcml0ZSh0MywgLnBEeW5hbWljKSIsCisgICAgIi5ub1ZhcmlhYmxlV2F0Y2hwb2ludFNl
dDoiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDYsIHQxKSIsCisgICAgIiAgICBz
dG9yZXEgdDIsIEpTRW52aXJvbm1lbnRSZWNvcmRfdmFyaWFibGVzW3QwLCB0MSwgOF0iLAorICAg
ICJlbmQiLAorICAgICJtYWNybyBjaGVja1REWkluR2xvYmFsUHV0VG9TY29wZUlmTmVjZXNzYXJ5
KCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQwKSIsCisgICAgIiAgICBh
bmRpIEluaXRpYWxpemF0aW9uTW9kZU1hc2ssIHQwIiwKKyAgICAiICAgIHJzaGlmdGkgSW5pdGlh
bGl6YXRpb25Nb2RlU2hpZnQsIHQwIiwKKyAgICAiICAgIGJpbmVxIHQwLCBOb3RJbml0aWFsaXph
dGlvbiwgLm5vTmVlZEZvclREWkNoZWNrIiwKKyAgICAiICAgIGxvYWRwRnJvbUluc3RydWN0aW9u
KDYsIHQwKSIsCisgICAgIiAgICBsb2FkcSAwW3QwXSwgdDAiLAorICAgICIgICAgYnFlcSB0MCwg
VmFsdWVFbXB0eSwgLnBEeW5hbWljIiwKKyAgICAiLm5vTmVlZEZvclREWkNoZWNrOiIsCisgICAg
ImVuZCIsCisgICAgIl9sbGludF9vcF9wdXRfdG9fc2NvcGU6IiwKKyAgICAiICAgIHRyYWNlRXhl
Y3V0aW9uKCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDQsIHQwKSIsCisgICAg
IiAgICBhbmRpIFJlc29sdmVUeXBlTWFzaywgdDAiLAorICAgICIgICAgYmluZXEgdDAsIExvY2Fs
Q2xvc3VyZVZhciwgLnBHbG9iYWxQcm9wZXJ0eSIsCisgICAgIiAgICBsb2FkVmFyaWFibGUoMSwg
dDApIiwKKyAgICAiICAgIHB1dExvY2FsQ2xvc3VyZVZhcigpIiwKKyAgICAiICAgIHdyaXRlQmFy
cmllck9uT3BlcmFuZHMoMSwgMykiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9w
dXRfdG9fc2NvcGVfbGVuZ3RoKSkiLAorICAgICIucEdsb2JhbFByb3BlcnR5OiIsCisgICAgIiAg
ICBiaW5lcSB0MCwgR2xvYmFsUHJvcGVydHksIC5wR2xvYmFsVmFyIiwKKyAgICAiICAgIGxvYWRX
aXRoU3RydWN0dXJlQ2hlY2soMSwgLnBEeW5hbWljKSIsCisgICAgIiAgICBwdXRQcm9wZXJ0eSgp
IiwKKyAgICAiICAgIHdyaXRlQmFycmllck9uT3BlcmFuZHMoMSwgMykiLAorICAgICIgICAgZGlz
cGF0Y2goY29uc3RleHByIChvcF9wdXRfdG9fc2NvcGVfbGVuZ3RoKSkiLAorICAgICIucEdsb2Jh
bFZhcjoiLAorICAgICIgICAgYmluZXEgdDAsIEdsb2JhbFZhciwgLnBHbG9iYWxMZXhpY2FsVmFy
IiwKKyAgICAiICAgIHdyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0KDMpIiwKKyAgICAiICAgIHB1
dEdsb2JhbFZhcmlhYmxlKCkiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9wdXRf
dG9fc2NvcGVfbGVuZ3RoKSkiLAorICAgICIucEdsb2JhbExleGljYWxWYXI6IiwKKyAgICAiICAg
IGJpbmVxIHQwLCBHbG9iYWxMZXhpY2FsVmFyLCAucENsb3N1cmVWYXIiLAorICAgICIgICAgd3Jp
dGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQoMykiLAorICAgICIgICAgY2hlY2tU
RFpJbkdsb2JhbFB1dFRvU2NvcGVJZk5lY2Vzc2FyeSgpIiwKKyAgICAiICAgIHB1dEdsb2JhbFZh
cmlhYmxlKCkiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9wdXRfdG9fc2NvcGVf
bGVuZ3RoKSkiLAorICAgICIucENsb3N1cmVWYXI6IiwKKyAgICAiICAgIGJpbmVxIHQwLCBDbG9z
dXJlVmFyLCAucEdsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNrcyIsCisgICAgIiAg
ICBsb2FkVmFyaWFibGUoMSwgdDApIiwKKyAgICAiICAgIHB1dENsb3N1cmVWYXIoKSIsCisgICAg
IiAgICB3cml0ZUJhcnJpZXJPbk9wZXJhbmRzKDEsIDMpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNv
bnN0ZXhwciAob3BfcHV0X3RvX3Njb3BlX2xlbmd0aCkpIiwKKyAgICAiLnBHbG9iYWxQcm9wZXJ0
eVdpdGhWYXJJbmplY3Rpb25DaGVja3M6IiwKKyAgICAiICAgIGJpbmVxIHQwLCBHbG9iYWxQcm9w
ZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5wR2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNo
ZWNrcyIsCisgICAgIiAgICBsb2FkV2l0aFN0cnVjdHVyZUNoZWNrKDEsIC5wRHluYW1pYykiLAor
ICAgICIgICAgcHV0UHJvcGVydHkoKSIsCisgICAgIiAgICB3cml0ZUJhcnJpZXJPbk9wZXJhbmRz
KDEsIDMpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfcHV0X3RvX3Njb3BlX2xl
bmd0aCkpIiwKKyAgICAiLnBHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOiIsCisgICAg
IiAgICBiaW5lcSB0MCwgR2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcywgLnBHbG9iYWxM
ZXhpY2FsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcyIsCisgICAgIiAgICB3cml0ZUJhcnJpZXJP
bkdsb2JhbE9iamVjdCgzKSIsCisgICAgIiAgICB2YXJJbmplY3Rpb25DaGVjaygucER5bmFtaWMp
IiwKKyAgICAiICAgIHB1dEdsb2JhbFZhcmlhYmxlKCkiLAorICAgICIgICAgZGlzcGF0Y2goY29u
c3RleHByIChvcF9wdXRfdG9fc2NvcGVfbGVuZ3RoKSkiLAorICAgICIucEdsb2JhbExleGljYWxW
YXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOiIsCisgICAgIiAgICBiaW5lcSB0MCwgR2xvYmFsTGV4
aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5wQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rp
b25DaGVja3MiLAorICAgICIgICAgd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1l
bnQoMykiLAorICAgICIgICAgdmFySW5qZWN0aW9uQ2hlY2soLnBEeW5hbWljKSIsCisgICAgIiAg
ICBjaGVja1REWkluR2xvYmFsUHV0VG9TY29wZUlmTmVjZXNzYXJ5KCkiLAorICAgICIgICAgcHV0
R2xvYmFsVmFyaWFibGUoKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX3B1dF90
b19zY29wZV9sZW5ndGgpKSIsCisgICAgIi5wQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVj
a3M6IiwKKyAgICAiICAgIGJpbmVxIHQwLCBDbG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNr
cywgLnBNb2R1bGVWYXIiLAorICAgICIgICAgdmFySW5qZWN0aW9uQ2hlY2soLnBEeW5hbWljKSIs
CisgICAgIiAgICBsb2FkVmFyaWFibGUoMSwgdDApIiwKKyAgICAiICAgIHB1dENsb3N1cmVWYXIo
KSIsCisgICAgIiAgICB3cml0ZUJhcnJpZXJPbk9wZXJhbmRzKDEsIDMpIiwKKyAgICAiICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciAob3BfcHV0X3RvX3Njb3BlX2xlbmd0aCkpIiwKKyAgICAiLnBNb2R1
bGVWYXI6IiwKKyAgICAiICAgIGJpbmVxIHQwLCBNb2R1bGVWYXIsIC5wRHluYW1pYyIsCisgICAg
IiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF90aHJvd19zdHJpY3RfbW9kZV9yZWFk
b25seV9wcm9wZXJ0eV93cml0ZV9lcnJvcikiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHBy
IChvcF9wdXRfdG9fc2NvcGVfbGVuZ3RoKSkiLAorICAgICIucER5bmFtaWM6IiwKKyAgICAiICAg
IGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX3B1dF90b19zY29wZSkiLAorICAg
ICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9wdXRfdG9fc2NvcGVfbGVuZ3RoKSkiLAorICAg
ICJfbGxpbnRfb3BfZ2V0X2Zyb21fYXJndW1lbnRzOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlv
bigpIiwKKyAgICAiICAgIGxvYWRWYXJpYWJsZSgyLCB0MCkiLAorICAgICIgICAgbG9hZGkgMjRb
UEIsIFBDLCA4XSwgdDEiLAorICAgICIgICAgbG9hZHEgRGlyZWN0QXJndW1lbnRzX3N0b3JhZ2Vb
dDAsIHQxLCA4XSwgdDAiLAorICAgICIgICAgdmFsdWVQcm9maWxlKHQwLCA0LCB0MSkiLAorICAg
ICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKSIsCisgICAgIiAgICBzdG9yZXEgdDAs
IDBbY2ZyLCB0MSwgOF0iLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9nZXRfZnJv
bV9hcmd1bWVudHNfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfcHV0X3RvX2FyZ3VtZW50czoi
LAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkVmFyaWFibGUoMSwg
dDApIiwKKyAgICAiICAgIGxvYWRpIDE2W1BCLCBQQywgOF0sIHQxIiwKKyAgICAiICAgIGxvYWRp
c0Zyb21JbnN0cnVjdGlvbigzLCB0MykiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJs
ZSh0MywgdDIpIiwKKyAgICAiICAgIHN0b3JlcSB0MiwgRGlyZWN0QXJndW1lbnRzX3N0b3JhZ2Vb
dDAsIHQxLCA4XSIsCisgICAgIiAgICB3cml0ZUJhcnJpZXJPbk9wZXJhbmRzKDEsIDMpIiwKKyAg
ICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfcHV0X3RvX2FyZ3VtZW50c19sZW5ndGgpKSIs
CisgICAgIl9sbGludF9vcF9nZXRfcGFyZW50X3Njb3BlOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1
dGlvbigpIiwKKyAgICAiICAgIGxvYWRWYXJpYWJsZSgyLCB0MCkiLAorICAgICIgICAgbG9hZHAg
SlNTY29wZTo6bV9uZXh0W3QwXSwgdDAiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9u
KDEsIHQxKSIsCisgICAgIiAgICBzdG9yZXEgdDAsIDBbY2ZyLCB0MSwgOF0iLAorICAgICIgICAg
ZGlzcGF0Y2goY29uc3RleHByIChvcF9nZXRfcGFyZW50X3Njb3BlX2xlbmd0aCkpIiwKKyAgICAi
X2xsaW50X29wX3Byb2ZpbGVfdHlwZToiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisg
ICAgIiAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDEiLAorICAgICIgICAgbG9hZHAgQ29kZUJs
b2NrOjptX3ZtW3QxXSwgdDEiLAorICAgICIgICAgbG9hZHAgVk06Om1fdHlwZVByb2ZpbGVyTG9n
W3QxXSwgdDEiLAorICAgICIgICAgbG9hZHAgVHlwZVByb2ZpbGVyTG9nOjptX2N1cnJlbnRMb2dF
bnRyeVB0clt0MV0sIHQyIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0Myki
LAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MywgdDApIiwKKyAgICAiICAgIGJx
ZXEgdDAsIFZhbHVlRW1wdHksIC5vcFByb2ZpbGVUeXBlRG9uZSIsCisgICAgIiAgICBzdG9yZXEg
dDAsIFR5cGVQcm9maWxlckxvZzo6TG9nRW50cnk6OnZhbHVlW3QyXSIsCisgICAgIiAgICBsb2Fk
cEZyb21JbnN0cnVjdGlvbigyLCB0MykiLAorICAgICIgICAgc3RvcmVwIHQzLCBUeXBlUHJvZmls
ZXJMb2c6OkxvZ0VudHJ5Ojpsb2NhdGlvblt0Ml0iLAorICAgICIgICAgYnRxeiB0MCwgdGFnTWFz
aywgLm9wUHJvZmlsZVR5cGVJc0NlbGwiLAorICAgICIgICAgc3RvcmVpIDAsIFR5cGVQcm9maWxl
ckxvZzo6TG9nRW50cnk6OnN0cnVjdHVyZUlEW3QyXSIsCisgICAgIiAgICBqbXAgLm9wUHJvZmls
ZVR5cGVTa2lwSXNDZWxsIiwKKyAgICAiLm9wUHJvZmlsZVR5cGVJc0NlbGw6IiwKKyAgICAiICAg
IGxvYWRpIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0MF0sIHQzIiwKKyAgICAiICAgIHN0b3JlaSB0
MywgVHlwZVByb2ZpbGVyTG9nOjpMb2dFbnRyeTo6c3RydWN0dXJlSURbdDJdIiwKKyAgICAiLm9w
UHJvZmlsZVR5cGVTa2lwSXNDZWxsOiIsCisgICAgIiAgICBhZGRwIHNpemVvZiBUeXBlUHJvZmls
ZXJMb2c6OkxvZ0VudHJ5LCB0MiIsCisgICAgIiAgICBzdG9yZXAgdDIsIFR5cGVQcm9maWxlckxv
Zzo6bV9jdXJyZW50TG9nRW50cnlQdHJbdDFdIiwKKyAgICAiICAgIGxvYWRwIFR5cGVQcm9maWxl
ckxvZzo6bV9sb2dFbmRQdHJbdDFdLCB0MSIsCisgICAgIiAgICBicG5lcSB0MiwgdDEsIC5vcFBy
b2ZpbGVUeXBlRG9uZSIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9w
cm9maWxlX3R5cGVfY2xlYXJfbG9nKSIsCisgICAgIi5vcFByb2ZpbGVUeXBlRG9uZToiLAorICAg
ICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9wcm9maWxlX3R5cGVfbGVuZ3RoKSkiLAorICAg
ICJfbGxpbnRfb3BfcHJvZmlsZV9jb250cm9sX2Zsb3c6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0
aW9uKCkiLAorICAgICIgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApIiwKKyAgICAiICAg
IGFkZHEgMSwgQmFzaWNCbG9ja0xvY2F0aW9uOjptX2V4ZWN1dGlvbkNvdW50W3QwXSIsCisgICAg
IiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX3Byb2ZpbGVfY29udHJvbF9mbG93X2xlbmd0aCkp
IiwKKyAgICAiX2xsaW50X29wX2dldF9yZXN0X2xlbmd0aDoiLAorICAgICIgICAgdHJhY2VFeGVj
dXRpb24oKSIsCisgICAgIiAgICBsb2FkaSAoUGF5bG9hZE9mZnNldCArIEFyZ3VtZW50Q291bnQp
W2Nmcl0sIHQwIiwKKyAgICAiICAgIHN1YmkgMSwgdDAiLAorICAgICIgICAgbG9hZGlzRnJvbUlu
c3RydWN0aW9uKDIsIHQxKSIsCisgICAgIiAgICBiaWx0ZXEgdDAsIHQxLCAuc3RvcmVaZXJvIiwK
KyAgICAiICAgIHN1YmkgdDEsIHQwIiwKKyAgICAiICAgIGptcCAuYm94VXAiLAorICAgICIuc3Rv
cmVaZXJvOiIsCisgICAgIiAgICBtb3ZlIDAsIHQwIiwKKyAgICAiLmJveFVwOiIsCisgICAgIiAg
ICBvcnEgdGFnVHlwZU51bWJlciwgdDAiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9u
KDEsIHQxKSIsCisgICAgIiAgICBzdG9yZXEgdDAsIDBbY2ZyLCB0MSwgOF0iLAorICAgICIgICAg
ZGlzcGF0Y2goY29uc3RleHByIChvcF9nZXRfcmVzdF9sZW5ndGhfbGVuZ3RoKSkiLAorICAgICJf
bGxpbnRfb3BfbG9nX3NoYWRvd19jaGlja2VuX3Byb2xvZ3VlOiIsCisgICAgIiAgICB0cmFjZUV4
ZWN1dGlvbigpIiwKKyAgICAiICAgIGFjcXVpcmVTaGFkb3dDaGlja2VuUGFja2V0KC5vcExvZ1No
YWRvd0NoaWNrZW5Qcm9sb2d1ZVNsb3cpIiwKKyAgICAiICAgIHN0b3JlcCBjZnIsIFNoYWRvd0No
aWNrZW46OlBhY2tldDo6ZnJhbWVbdDBdIiwKKyAgICAiICAgIGxvYWRwIENhbGxlckZyYW1lW2Nm
cl0sIHQxIiwKKyAgICAiICAgIHN0b3JlcCB0MSwgU2hhZG93Q2hpY2tlbjo6UGFja2V0OjpjYWxs
ZXJGcmFtZVt0MF0iLAorICAgICIgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHQxIiwKKyAgICAiICAg
IHN0b3JlcCB0MSwgU2hhZG93Q2hpY2tlbjo6UGFja2V0OjpjYWxsZWVbdDBdIiwKKyAgICAiICAg
IGxvYWRWYXJpYWJsZSgxLCB0MSkiLAorICAgICIgICAgc3RvcmVwIHQxLCBTaGFkb3dDaGlja2Vu
OjpQYWNrZXQ6OnNjb3BlW3QwXSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2xv
Z19zaGFkb3dfY2hpY2tlbl9wcm9sb2d1ZV9sZW5ndGgpKSIsCisgICAgIi5vcExvZ1NoYWRvd0No
aWNrZW5Qcm9sb2d1ZVNsb3c6IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRf
c2xvd19wYXRoX2xvZ19zaGFkb3dfY2hpY2tlbl9wcm9sb2d1ZSkiLAorICAgICIgICAgZGlzcGF0
Y2goY29uc3RleHByIChvcF9sb2dfc2hhZG93X2NoaWNrZW5fcHJvbG9ndWVfbGVuZ3RoKSkiLAor
ICAgICJfbGxpbnRfb3BfbG9nX3NoYWRvd19jaGlja2VuX3RhaWw6IiwKKyAgICAiICAgIHRyYWNl
RXhlY3V0aW9uKCkiLAorICAgICIgICAgYWNxdWlyZVNoYWRvd0NoaWNrZW5QYWNrZXQoLm9wTG9n
U2hhZG93Q2hpY2tlblRhaWxTbG93KSIsCisgICAgIiAgICBzdG9yZXAgY2ZyLCBTaGFkb3dDaGlj
a2VuOjpQYWNrZXQ6OmZyYW1lW3QwXSIsCisgICAgIiAgICBzdG9yZXAgU2hhZG93Q2hpY2tlblRh
aWxNYXJrZXIsIFNoYWRvd0NoaWNrZW46OlBhY2tldDo6Y2FsbGVlW3QwXSIsCisgICAgIiAgICBs
b2FkVmFyaWFibGUoMSwgdDEpIiwKKyAgICAiICAgIHN0b3JlcCB0MSwgU2hhZG93Q2hpY2tlbjo6
UGFja2V0Ojp0aGlzVmFsdWVbdDBdIiwKKyAgICAiICAgIGxvYWRWYXJpYWJsZSgyLCB0MSkiLAor
ICAgICIgICAgc3RvcmVwIHQxLCBTaGFkb3dDaGlja2VuOjpQYWNrZXQ6OnNjb3BlW3QwXSIsCisg
ICAgIiAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDEiLAorICAgICIgICAgc3RvcmVwIHQxLCBT
aGFkb3dDaGlja2VuOjpQYWNrZXQ6OmNvZGVCbG9ja1t0MF0iLAorICAgICIgICAgc3RvcmVpIFBD
LCBTaGFkb3dDaGlja2VuOjpQYWNrZXQ6OmNhbGxTaXRlSW5kZXhbdDBdIiwKKyAgICAiICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciAob3BfbG9nX3NoYWRvd19jaGlja2VuX3RhaWxfbGVuZ3RoKSkiLAor
ICAgICIub3BMb2dTaGFkb3dDaGlja2VuVGFpbFNsb3c6IiwKKyAgICAiICAgIGNhbGxPcGNvZGVT
bG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2xvZ19zaGFkb3dfY2hpY2tlbl90YWlsKSIsCisgICAg
IiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2xvZ19zaGFkb3dfY2hpY2tlbl90YWlsX2xlbmd0
aCkpIiwKKyAgICAiZWxzZSIsCisgICAgIm1hY3JvIGRpc3BhdGNoKGFkdmFuY2UpIiwKKyAgICAi
ICAgIGFkZHAgKGFkdmFuY2UgKiA0KSwgUEMiLAorICAgICIgICAgam1wIDBbUENdIiwKKyAgICAi
ZW5kIiwKKyAgICAibWFjcm8gZGlzcGF0Y2hCcmFuY2hXaXRoT2Zmc2V0KHBjT2Zmc2V0KSIsCisg
ICAgIiAgICBsc2hpZnRpIDIsIHBjT2Zmc2V0IiwKKyAgICAiICAgIGFkZHAgcGNPZmZzZXQsIFBD
IiwKKyAgICAiICAgIGptcCAwW1BDXSIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIGRpc3BhdGNo
QnJhbmNoKHBjT2Zmc2V0KSIsCisgICAgIiAgICBsb2FkaSBwY09mZnNldCwgdDAiLAorICAgICIg
ICAgZGlzcGF0Y2hCcmFuY2hXaXRoT2Zmc2V0KHQwKSIsCisgICAgImVuZCIsCisgICAgIm1hY3Jv
IGRpc3BhdGNoQWZ0ZXJDYWxsKCkiLAorICAgICIgICAgbG9hZGkgKEFyZ3VtZW50Q291bnQgKyBU
YWdPZmZzZXQpW2Nmcl0sIFBDIiwKKyAgICAiICAgIGxvYWRpIDRbUENdLCB0MyIsCisgICAgIiAg
ICBzdG9yZWkgcjEsIFRhZ09mZnNldFtjZnIsIHQzLCA4XSIsCisgICAgIiAgICBzdG9yZWkgcjAs
IFBheWxvYWRPZmZzZXRbY2ZyLCB0MywgOF0iLAorICAgICIgICAgdmFsdWVQcm9maWxlKHIxLCBy
MCwgKDQgKiAoQ2FsbE9wQ29kZVNpemUgLSAxKSksIHQzKSIsCisgICAgIiAgICBkaXNwYXRjaChD
YWxsT3BDb2RlU2l6ZSkiLAorICAgICJlbmQiLAorICAgICJtYWNybyBjQ2FsbDIoZnVuY3Rpb24p
IiwKKyAgICAiaWYgKCgoQVJNIG9yIEFSTXY3KSBvciBBUk12N19UUkFESVRJT05BTCkgb3IgTUlQ
UykiLAorICAgICIgICAgY2FsbCBmdW5jdGlvbiIsCisgICAgImVsc2UiLAorICAgICJpZiAoWDg2
IG9yIFg4Nl9XSU4pIiwKKyAgICAiICAgIHN1YnAgOCwgc3AiLAorICAgICIgICAgcHVzaCBhMSIs
CisgICAgIiAgICBwdXNoIGEwIiwKKyAgICAiICAgIGNhbGwgZnVuY3Rpb24iLAorICAgICIgICAg
YWRkcCAxNiwgc3AiLAorICAgICJlbHNlIiwKKyAgICAiaWYgQ19MT09QIiwKKyAgICAiICAgIGNs
b29wQ2FsbFNsb3dQYXRoIGZ1bmN0aW9uLCBhMCwgYTEiLAorICAgICJlbHNlIiwKKyAgICAiICAg
IGVycm9yIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwK
KyAgICAibWFjcm8gY0NhbGwyVm9pZChmdW5jdGlvbikiLAorICAgICJpZiBDX0xPT1AiLAorICAg
ICIgICAgY2xvb3BDYWxsU2xvd1BhdGhWb2lkIGZ1bmN0aW9uLCBhMCwgYTEiLAorICAgICJlbHNl
IiwKKyAgICAiICAgIGNDYWxsMihmdW5jdGlvbikiLAorICAgICJlbmQiLAorICAgICJlbmQiLAor
ICAgICJtYWNybyBjQ2FsbDQoZnVuY3Rpb24pIiwKKyAgICAiaWYgKCgoQVJNIG9yIEFSTXY3KSBv
ciBBUk12N19UUkFESVRJT05BTCkgb3IgTUlQUykiLAorICAgICIgICAgY2FsbCBmdW5jdGlvbiIs
CisgICAgImVsc2UiLAorICAgICJpZiAoWDg2IG9yIFg4Nl9XSU4pIiwKKyAgICAiICAgIHB1c2gg
YTMiLAorICAgICIgICAgcHVzaCBhMiIsCisgICAgIiAgICBwdXNoIGExIiwKKyAgICAiICAgIHB1
c2ggYTAiLAorICAgICIgICAgY2FsbCBmdW5jdGlvbiIsCisgICAgIiAgICBhZGRwIDE2LCBzcCIs
CisgICAgImVsc2UiLAorICAgICJpZiBDX0xPT1AiLAorICAgICIgICAgZXJyb3IiLAorICAgICJl
bHNlIiwKKyAgICAiICAgIGVycm9yIiwKKyAgICAiZW5kIiwKKyAgICAiZW5kIiwKKyAgICAiZW5k
IiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gY2FsbFNsb3dQYXRoKHNsb3dQYXRoKSIsCisgICAg
IiAgICBtb3ZlIGNmciwgYTAiLAorICAgICIgICAgbW92ZSBQQywgYTEiLAorICAgICIgICAgY0Nh
bGwyKHNsb3dQYXRoKSIsCisgICAgIiAgICBtb3ZlIHIwLCBQQyIsCisgICAgImVuZCIsCisgICAg
Im1hY3JvIGRvVk1FbnRyeShtYWtlQ2FsbCkiLAorICAgICIgICAgZnVuY3Rpb25Qcm9sb2d1ZSgp
IiwKKyAgICAiICAgIHB1c2hDYWxsZWVTYXZlcygpIiwKKyAgICAiaWYgKFg4NiBvciBYODZfV0lO
KSIsCisgICAgIiAgICBsb2FkcCAxNltjZnJdLCBhMiIsCisgICAgIiAgICBsb2FkcCAxMltjZnJd
LCBhMSIsCisgICAgIiAgICBsb2FkcCA4W2Nmcl0sIGEwIiwKKyAgICAiZWxzZSIsCisgICAgIiAg
ICBza2lwIiwKKyAgICAiZW5kIiwKKyAgICAiY29uc3QgZW50cnkgPSBhMCIsCisgICAgImNvbnN0
IHZtID0gYTEiLAorICAgICJjb25zdCBwcm90b0NhbGxGcmFtZSA9IGEyIiwKKyAgICAiaWYgQVJN
djciLAorICAgICIgICAgdm1FbnRyeVJlY29yZChjZnIsIHQzKSIsCisgICAgIiAgICBtb3ZlIHQz
LCBzcCIsCisgICAgImVsc2UiLAorICAgICIgICAgdm1FbnRyeVJlY29yZChjZnIsIHNwKSIsCisg
ICAgImVuZCIsCisgICAgIiAgICBzdG9yZXAgdm0sIFZNRW50cnlSZWNvcmQ6Om1fdm1bc3BdIiwK
KyAgICAiICAgIGxvYWRwIFZNOjp0b3BDYWxsRnJhbWVbdm1dLCB0NCIsCisgICAgIiAgICBzdG9y
ZXAgdDQsIFZNRW50cnlSZWNvcmQ6Om1fcHJldlRvcENhbGxGcmFtZVtzcF0iLAorICAgICIgICAg
bG9hZHAgVk06OnRvcFZNRW50cnlGcmFtZVt2bV0sIHQ0IiwKKyAgICAiICAgIHN0b3JlcCB0NCwg
Vk1FbnRyeVJlY29yZDo6bV9wcmV2VG9wVk1FbnRyeUZyYW1lW3NwXSIsCisgICAgImlmIChYODZf
V0lOIG9yIE1JUFMpIiwKKyAgICAiICAgIGFkZHAgKENhbGxGcmFtZUFsaWduU2xvdHMgKiBTbG90
U2l6ZSksIHNwLCB0MyIsCisgICAgIiAgICBhbmRwICh+U3RhY2tBbGlnbm1lbnRNYXNrKSwgdDMi
LAorICAgICIgICAgc3VicCB0MywgKENhbGxGcmFtZUFsaWduU2xvdHMgKiBTbG90U2l6ZSksIHNw
IiwKKyAgICAiZWxzZSIsCisgICAgImlmICgoQVJNIG9yIEFSTXY3KSBvciBBUk12N19UUkFESVRJ
T05BTCkiLAorICAgICIgICAgYWRkcCAoQ2FsbEZyYW1lQWxpZ25TbG90cyAqIFNsb3RTaXplKSwg
c3AsIHQzIiwKKyAgICAiICAgIGNscmJwIHQzLCBTdGFja0FsaWdubWVudE1hc2ssIHQzIiwKKyAg
ICAiaWYgQVJNdjciLAorICAgICIgICAgc3VicCB0MywgKENhbGxGcmFtZUFsaWduU2xvdHMgKiBT
bG90U2l6ZSksIHQzIiwKKyAgICAiICAgIG1vdmUgdDMsIHNwIiwKKyAgICAiZWxzZSIsCisgICAg
IiAgICBzdWJwIHQzLCAoQ2FsbEZyYW1lQWxpZ25TbG90cyAqIFNsb3RTaXplKSwgc3AiLAorICAg
ICJlbmQiLAorICAgICJlbHNlIiwKKyAgICAiICAgIHNraXAiLAorICAgICJlbmQiLAorICAgICJl
bmQiLAorICAgICIgICAgbG9hZGkgUHJvdG9DYWxsRnJhbWU6OnBhZGRlZEFyZ0NvdW50W3Byb3Rv
Q2FsbEZyYW1lXSwgdDQiLAorICAgICIgICAgYWRkcCBDYWxsRnJhbWVIZWFkZXJTbG90cywgdDQs
IHQ0IiwKKyAgICAiICAgIGxzaGlmdHAgMywgdDQiLAorICAgICIgICAgc3VicCBzcCwgdDQsIHQz
IiwKKyAgICAiICAgIGJwYSB0Mywgc3AsIC50aHJvd1N0YWNrT3ZlcmZsb3ciLAorICAgICJpZiBD
X0xPT1AiLAorICAgICIgICAgYnBhZXEgdDMsIFZNOjptX2Nsb29wU3RhY2tMaW1pdFt2bV0sIC5z
dGFja0hlaWdodE9LIiwKKyAgICAiZWxzZSIsCisgICAgIiAgICBicGFlcSB0MywgVk06Om1fc29m
dFN0YWNrTGltaXRbdm1dLCAuc3RhY2tIZWlnaHRPSyIsCisgICAgImVuZCIsCisgICAgImlmIENf
TE9PUCIsCisgICAgIiAgICBtb3ZlIGVudHJ5LCB0NCIsCisgICAgIiAgICBtb3ZlIHZtLCB0NSIs
CisgICAgIiAgICBjbG9vcENhbGxTbG93UGF0aCBfbGxpbnRfc3RhY2tfY2hlY2tfYXRfdm1fZW50
cnksIHZtLCB0MyIsCisgICAgIiAgICBicGVxIHQwLCAwLCAuc3RhY2tDaGVja0ZhaWxlZCIsCisg
ICAgIiAgICBtb3ZlIHQ0LCBlbnRyeSIsCisgICAgIiAgICBtb3ZlIHQ1LCB2bSIsCisgICAgIiAg
ICBqbXAgLnN0YWNrSGVpZ2h0T0siLAorICAgICIuc3RhY2tDaGVja0ZhaWxlZDoiLAorICAgICIg
ICAgbW92ZSB0NCwgZW50cnkiLAorICAgICIgICAgbW92ZSB0NSwgdm0iLAorICAgICJlbHNlIiwK
KyAgICAiICAgIHNraXAiLAorICAgICJlbmQiLAorICAgICIudGhyb3dTdGFja092ZXJmbG93OiIs
CisgICAgIiAgICBzdWJwIDgsIHNwIiwKKyAgICAiICAgIG1vdmUgdm0sIGEwIiwKKyAgICAiICAg
IG1vdmUgcHJvdG9DYWxsRnJhbWUsIGExIiwKKyAgICAiICAgIGNDYWxsMihfbGxpbnRfdGhyb3df
c3RhY2tfb3ZlcmZsb3dfZXJyb3IpIiwKKyAgICAiaWYgQVJNdjciLAorICAgICIgICAgdm1FbnRy
eVJlY29yZChjZnIsIHQzKSIsCisgICAgIiAgICBtb3ZlIHQzLCBzcCIsCisgICAgImVsc2UiLAor
ICAgICIgICAgdm1FbnRyeVJlY29yZChjZnIsIHNwKSIsCisgICAgImVuZCIsCisgICAgIiAgICBs
b2FkcCBWTUVudHJ5UmVjb3JkOjptX3ZtW3NwXSwgdDUiLAorICAgICIgICAgbG9hZHAgVk1FbnRy
eVJlY29yZDo6bV9wcmV2VG9wQ2FsbEZyYW1lW3NwXSwgdDQiLAorICAgICIgICAgc3RvcmVwIHQ0
LCBWTTo6dG9wQ2FsbEZyYW1lW3Q1XSIsCisgICAgIiAgICBsb2FkcCBWTUVudHJ5UmVjb3JkOjpt
X3ByZXZUb3BWTUVudHJ5RnJhbWVbc3BdLCB0NCIsCisgICAgIiAgICBzdG9yZXAgdDQsIFZNOjp0
b3BWTUVudHJ5RnJhbWVbdDVdIiwKKyAgICAiaWYgQVJNdjciLAorICAgICIgICAgc3VicCBjZnIs
IENhbGxlZVJlZ2lzdGVyU2F2ZVNpemUsIHQ1IiwKKyAgICAiICAgIG1vdmUgdDUsIHNwIiwKKyAg
ICAiZWxzZSIsCisgICAgIiAgICBzdWJwIGNmciwgQ2FsbGVlUmVnaXN0ZXJTYXZlU2l6ZSwgc3Ai
LAorICAgICJlbmQiLAorICAgICIgICAgcG9wQ2FsbGVlU2F2ZXMoKSIsCisgICAgIiAgICBmdW5j
dGlvbkVwaWxvZ3VlKCkiLAorICAgICIgICAgcmV0ICIsCisgICAgIi5zdGFja0hlaWdodE9LOiIs
CisgICAgIiAgICBtb3ZlIHQzLCBzcCIsCisgICAgIiAgICBtb3ZlIDQsIHQzIiwKKyAgICAiLmNv
cHlIZWFkZXJMb29wOiIsCisgICAgIiAgICBzdWJpIDEsIHQzIiwKKyAgICAiICAgIGxvYWRpIFRh
Z09mZnNldFtwcm90b0NhbGxGcmFtZSwgdDMsIDhdLCB0NSIsCisgICAgIiAgICBzdG9yZWkgdDUs
IChUYWdPZmZzZXQgKyBDb2RlQmxvY2spW3NwLCB0MywgOF0iLAorICAgICIgICAgbG9hZGkgUGF5
bG9hZE9mZnNldFtwcm90b0NhbGxGcmFtZSwgdDMsIDhdLCB0NSIsCisgICAgIiAgICBzdG9yZWkg
dDUsIChQYXlsb2FkT2Zmc2V0ICsgQ29kZUJsb2NrKVtzcCwgdDMsIDhdIiwKKyAgICAiICAgIGJ0
aW56IHQzLCAuY29weUhlYWRlckxvb3AiLAorICAgICIgICAgbG9hZGkgKFBheWxvYWRPZmZzZXQg
KyBQcm90b0NhbGxGcmFtZTo6YXJnQ291bnRBbmRDb2RlT3JpZ2luVmFsdWUpW3Byb3RvQ2FsbEZy
YW1lXSwgdDQiLAorICAgICIgICAgc3ViaSAxLCB0NCIsCisgICAgIiAgICBsb2FkaSBQcm90b0Nh
bGxGcmFtZTo6cGFkZGVkQXJnQ291bnRbcHJvdG9DYWxsRnJhbWVdLCB0NSIsCisgICAgIiAgICBz
dWJpIDEsIHQ1IiwKKyAgICAiICAgIGJpZXEgdDQsIHQ1LCAuY29weUFyZ3MiLAorICAgICIuZmls
bEV4dHJhQXJnc0xvb3A6IiwKKyAgICAiICAgIHN1YmkgMSwgdDUiLAorICAgICIgICAgc3RvcmVp
IFVuZGVmaW5lZFRhZywgKChUaGlzQXJndW1lbnRPZmZzZXQgKyA4KSArIFRhZ09mZnNldClbc3As
IHQ1LCA4XSIsCisgICAgIiAgICBzdG9yZWkgMCwgKChUaGlzQXJndW1lbnRPZmZzZXQgKyA4KSAr
IFBheWxvYWRPZmZzZXQpW3NwLCB0NSwgOF0iLAorICAgICIgICAgYmluZXEgdDQsIHQ1LCAuZmls
bEV4dHJhQXJnc0xvb3AiLAorICAgICIuY29weUFyZ3M6IiwKKyAgICAiICAgIGxvYWRwIFByb3Rv
Q2FsbEZyYW1lOjphcmdzW3Byb3RvQ2FsbEZyYW1lXSwgdDMiLAorICAgICIuY29weUFyZ3NMb29w
OiIsCisgICAgIiAgICBidGl6IHQ0LCAuY29weUFyZ3NEb25lIiwKKyAgICAiICAgIHN1YmkgMSwg
dDQiLAorICAgICIgICAgbG9hZGkgVGFnT2Zmc2V0W3QzLCB0NCwgOF0sIHQ1IiwKKyAgICAiICAg
IHN0b3JlaSB0NSwgKChUaGlzQXJndW1lbnRPZmZzZXQgKyA4KSArIFRhZ09mZnNldClbc3AsIHQ0
LCA4XSIsCisgICAgIiAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W3QzLCB0NCwgOF0sIHQ1IiwKKyAg
ICAiICAgIHN0b3JlaSB0NSwgKChUaGlzQXJndW1lbnRPZmZzZXQgKyA4KSArIFBheWxvYWRPZmZz
ZXQpW3NwLCB0NCwgOF0iLAorICAgICIgICAgam1wIC5jb3B5QXJnc0xvb3AiLAorICAgICIuY29w
eUFyZ3NEb25lOiIsCisgICAgIiAgICBzdG9yZXAgc3AsIFZNOjp0b3BDYWxsRnJhbWVbdm1dIiwK
KyAgICAiICAgIHN0b3JlcCBjZnIsIFZNOjp0b3BWTUVudHJ5RnJhbWVbdm1dIiwKKyAgICAiICAg
IG1ha2VDYWxsKGVudHJ5LCB0MywgdDQpIiwKKyAgICAiaWYgQVJNdjciLAorICAgICIgICAgdm1F
bnRyeVJlY29yZChjZnIsIHQzKSIsCisgICAgIiAgICBtb3ZlIHQzLCBzcCIsCisgICAgImVsc2Ui
LAorICAgICIgICAgdm1FbnRyeVJlY29yZChjZnIsIHNwKSIsCisgICAgImVuZCIsCisgICAgIiAg
ICBsb2FkcCBWTUVudHJ5UmVjb3JkOjptX3ZtW3NwXSwgdDUiLAorICAgICIgICAgbG9hZHAgVk1F
bnRyeVJlY29yZDo6bV9wcmV2VG9wQ2FsbEZyYW1lW3NwXSwgdDQiLAorICAgICIgICAgc3RvcmVw
IHQ0LCBWTTo6dG9wQ2FsbEZyYW1lW3Q1XSIsCisgICAgIiAgICBsb2FkcCBWTUVudHJ5UmVjb3Jk
OjptX3ByZXZUb3BWTUVudHJ5RnJhbWVbc3BdLCB0NCIsCisgICAgIiAgICBzdG9yZXAgdDQsIFZN
Ojp0b3BWTUVudHJ5RnJhbWVbdDVdIiwKKyAgICAiaWYgQVJNdjciLAorICAgICIgICAgc3VicCBj
ZnIsIENhbGxlZVJlZ2lzdGVyU2F2ZVNpemUsIHQ1IiwKKyAgICAiICAgIG1vdmUgdDUsIHNwIiwK
KyAgICAiZWxzZSIsCisgICAgIiAgICBzdWJwIGNmciwgQ2FsbGVlUmVnaXN0ZXJTYXZlU2l6ZSwg
c3AiLAorICAgICJlbmQiLAorICAgICIgICAgcG9wQ2FsbGVlU2F2ZXMoKSIsCisgICAgIiAgICBm
dW5jdGlvbkVwaWxvZ3VlKCkiLAorICAgICIgICAgcmV0ICIsCisgICAgImVuZCIsCisgICAgIm1h
Y3JvIG1ha2VKYXZhU2NyaXB0Q2FsbChlbnRyeSwgdGVtcCwgdW51c2VkKSIsCisgICAgIiAgICBh
ZGRwIENhbGxlckZyYW1lQW5kUENTaXplLCBzcCIsCisgICAgIiAgICBjaGVja1N0YWNrUG9pbnRl
ckFsaWdubWVudCh0ZW1wLCAzMTM0MjQ5OTg2KSIsCisgICAgImlmIENfTE9PUCIsCisgICAgIiAg
ICBjbG9vcENhbGxKU0Z1bmN0aW9uIGVudHJ5IiwKKyAgICAiZWxzZSIsCisgICAgIiAgICBjYWxs
IGVudHJ5IiwKKyAgICAiZW5kIiwKKyAgICAiICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50
KHRlbXAsIDMxMzQyNDk5ODcpIiwKKyAgICAiICAgIHN1YnAgQ2FsbGVyRnJhbWVBbmRQQ1NpemUs
IHNwIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gbWFrZUhvc3RGdW5jdGlvbkNhbGwoZW50cnks
IHRlbXAxLCB0ZW1wMikiLAorICAgICIgICAgbW92ZSBlbnRyeSwgdGVtcDEiLAorICAgICIgICAg
c3RvcmVwIGNmciwgMFtzcF0iLAorICAgICJpZiBDX0xPT1AiLAorICAgICIgICAgbW92ZSBzcCwg
YTAiLAorICAgICIgICAgc3RvcmVwIGxyLCBQdHJTaXplW3NwXSIsCisgICAgIiAgICBjbG9vcENh
bGxOYXRpdmUgdGVtcDEiLAorICAgICJlbHNlIiwKKyAgICAiaWYgKFg4NiBvciBYODZfV0lOKSIs
CisgICAgIiAgICBtb3ZlIDAsIHRlbXAyIiwKKyAgICAiICAgIG1vdmUgdGVtcDIsIDRbc3BdIiwK
KyAgICAiICAgIG1vdmUgc3AsIGEwIiwKKyAgICAiICAgIHB1c2ggdGVtcDIiLAorICAgICIgICAg
cHVzaCBhMCIsCisgICAgIiAgICBjYWxsIHRlbXAxIiwKKyAgICAiICAgIGFkZHAgOCwgc3AiLAor
ICAgICJlbHNlIiwKKyAgICAiICAgIG1vdmUgc3AsIGEwIiwKKyAgICAiICAgIGNhbGwgdGVtcDEi
LAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJlbmQiLAorICAgICJfaGFuZGxlVW5jYXVn
aHRFeGNlcHRpb246IiwKKyAgICAiICAgIGxvYWRwIChDYWxsZWUgKyBQYXlsb2FkT2Zmc2V0KVtj
ZnJdLCB0MyIsCisgICAgIiAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMiLAorICAgICIgICAg
bG9hZHAgTWFya2VkQmxvY2s6Om1fdm1bdDNdLCB0MyIsCisgICAgIiAgICByZXN0b3JlQ2FsbGVl
U2F2ZXNGcm9tVk1FbnRyeUZyYW1lQ2FsbGVlU2F2ZXNCdWZmZXIodDMsIHQwKSIsCisgICAgIiAg
ICBsb2FkcCBWTTo6Y2FsbEZyYW1lRm9yQ2F0Y2hbdDNdLCBjZnIiLAorICAgICIgICAgc3RvcmVw
IDAsIFZNOjpjYWxsRnJhbWVGb3JDYXRjaFt0M10iLAorICAgICIgICAgbG9hZHAgQ2FsbGVyRnJh
bWVbY2ZyXSwgY2ZyIiwKKyAgICAiaWYgQVJNdjciLAorICAgICIgICAgdm1FbnRyeVJlY29yZChj
ZnIsIHQzKSIsCisgICAgIiAgICBtb3ZlIHQzLCBzcCIsCisgICAgImVsc2UiLAorICAgICIgICAg
dm1FbnRyeVJlY29yZChjZnIsIHNwKSIsCisgICAgImVuZCIsCisgICAgIiAgICBsb2FkcCBWTUVu
dHJ5UmVjb3JkOjptX3ZtW3NwXSwgdDMiLAorICAgICIgICAgbG9hZHAgVk1FbnRyeVJlY29yZDo6
bV9wcmV2VG9wQ2FsbEZyYW1lW3NwXSwgdDUiLAorICAgICIgICAgc3RvcmVwIHQ1LCBWTTo6dG9w
Q2FsbEZyYW1lW3QzXSIsCisgICAgIiAgICBsb2FkcCBWTUVudHJ5UmVjb3JkOjptX3ByZXZUb3BW
TUVudHJ5RnJhbWVbc3BdLCB0NSIsCisgICAgIiAgICBzdG9yZXAgdDUsIFZNOjp0b3BWTUVudHJ5
RnJhbWVbdDNdIiwKKyAgICAiaWYgQVJNdjciLAorICAgICIgICAgc3VicCBjZnIsIENhbGxlZVJl
Z2lzdGVyU2F2ZVNpemUsIHQzIiwKKyAgICAiICAgIG1vdmUgdDMsIHNwIiwKKyAgICAiZWxzZSIs
CisgICAgIiAgICBzdWJwIGNmciwgQ2FsbGVlUmVnaXN0ZXJTYXZlU2l6ZSwgc3AiLAorICAgICJl
bmQiLAorICAgICIgICAgcG9wQ2FsbGVlU2F2ZXMoKSIsCisgICAgIiAgICBmdW5jdGlvbkVwaWxv
Z3VlKCkiLAorICAgICIgICAgcmV0ICIsCisgICAgIm1hY3JvIGRvUmV0dXJuRnJvbUhvc3RGdW5j
dGlvbihleHRyYVN0YWNrU3BhY2UpIiwKKyAgICAiICAgIGZ1bmN0aW9uRXBpbG9ndWUoZXh0cmFT
dGFja1NwYWNlKSIsCisgICAgIiAgICByZXQgIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gdHJh
Y2VPcGVyYW5kKGZyb21XaGVyZSwgb3BlcmFuZCkiLAorICAgICIgICAgbW92ZSBmcm9tV2hlcmUs
IGEyIiwKKyAgICAiICAgIG1vdmUgb3BlcmFuZCwgYTMiLAorICAgICIgICAgbW92ZSBjZnIsIGEw
IiwKKyAgICAiICAgIG1vdmUgUEMsIGExIiwKKyAgICAiICAgIGNDYWxsNChfbGxpbnRfdHJhY2Vf
b3BlcmFuZCkiLAorICAgICIgICAgbW92ZSByMCwgUEMiLAorICAgICIgICAgbW92ZSByMSwgY2Zy
IiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gdHJhY2VWYWx1ZShmcm9tV2hlcmUsIG9wZXJhbmQp
IiwKKyAgICAiICAgIG1vdmUgZnJvbVdoZXJlLCBhMiIsCisgICAgIiAgICBtb3ZlIG9wZXJhbmQs
IGEzIiwKKyAgICAiICAgIG1vdmUgY2ZyLCBhMCIsCisgICAgIiAgICBtb3ZlIFBDLCBhMSIsCisg
ICAgIiAgICBjQ2FsbDQoX2xsaW50X3RyYWNlX3ZhbHVlKSIsCisgICAgIiAgICBtb3ZlIHIwLCBQ
QyIsCisgICAgIiAgICBtb3ZlIHIxLCBjZnIiLAorICAgICJlbmQiLAorICAgICJtYWNybyBjYWxs
Q2FsbFNsb3dQYXRoKHNsb3dQYXRoLCBhY3Rpb24pIiwKKyAgICAiICAgIHN0b3JlcCBQQywgKEFy
Z3VtZW50Q291bnQgKyBUYWdPZmZzZXQpW2Nmcl0iLAorICAgICIgICAgbW92ZSBjZnIsIGEwIiwK
KyAgICAiICAgIG1vdmUgUEMsIGExIiwKKyAgICAiICAgIGNDYWxsMihzbG93UGF0aCkiLAorICAg
ICIgICAgYWN0aW9uKHIwLCByMSkiLAorICAgICJlbmQiLAorICAgICJtYWNybyBjYWxsVHJhcEhh
bmRsZXIodGhyb3dIYW5kbGVyKSIsCisgICAgIiAgICBzdG9yZWkgUEMsIChBcmd1bWVudENvdW50
ICsgVGFnT2Zmc2V0KVtjZnJdIiwKKyAgICAiICAgIG1vdmUgY2ZyLCBhMCIsCisgICAgIiAgICBt
b3ZlIFBDLCBhMSIsCisgICAgIiAgICBjQ2FsbDIoX2xsaW50X3Nsb3dfcGF0aF9oYW5kbGVfdHJh
cHMpIiwKKyAgICAiICAgIGJ0cG56IHIwLCB0aHJvd0hhbmRsZXIiLAorICAgICIgICAgbG9hZGkg
KEFyZ3VtZW50Q291bnQgKyBUYWdPZmZzZXQpW2Nmcl0sIFBDIiwKKyAgICAiZW5kIiwKKyAgICAi
bWFjcm8gY2hlY2tTd2l0Y2hUb0pJVEZvckxvb3AoKSIsCisgICAgIiAgICBjaGVja1N3aXRjaFRv
SklUKDEsIG1hY3JvICgpIiwKKyAgICAiICAgIHN0b3JlaSBQQywgKEFyZ3VtZW50Q291bnQgKyBU
YWdPZmZzZXQpW2Nmcl0iLAorICAgICIgICAgbW92ZSBjZnIsIGEwIiwKKyAgICAiICAgIG1vdmUg
UEMsIGExIiwKKyAgICAiICAgIGNDYWxsMihfbGxpbnRfbG9vcF9vc3IpIiwKKyAgICAiICAgIGJ0
cHogcjAsIC5yZWNvdmVyIiwKKyAgICAiICAgIG1vdmUgcjEsIHNwIiwKKyAgICAiICAgIGptcCBy
MCIsCisgICAgIi5yZWNvdmVyOiIsCisgICAgIiAgICBsb2FkaSAoQXJndW1lbnRDb3VudCArIFRh
Z09mZnNldClbY2ZyXSwgUEMiLAorICAgICJlbmQpIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8g
bG9hZFZhcmlhYmxlKG9wZXJhbmQsIGluZGV4LCB0YWcsIHBheWxvYWQpIiwKKyAgICAiICAgIGxv
YWRpc0Zyb21JbnN0cnVjdGlvbihvcGVyYW5kLCBpbmRleCkiLAorICAgICIgICAgbG9hZGkgVGFn
T2Zmc2V0W2NmciwgaW5kZXgsIDhdLCB0YWciLAorICAgICIgICAgbG9hZGkgUGF5bG9hZE9mZnNl
dFtjZnIsIGluZGV4LCA4XSwgcGF5bG9hZCIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIGxvYWRD
b25zdGFudE9yVmFyaWFibGUoaW5kZXgsIHRhZywgcGF5bG9hZCkiLAorICAgICIgICAgYmlndGVx
IGluZGV4LCBGaXJzdENvbnN0YW50UmVnaXN0ZXJJbmRleCwgLmNvbnN0YW50IiwKKyAgICAiICAg
IGxvYWRpIFRhZ09mZnNldFtjZnIsIGluZGV4LCA4XSwgdGFnIiwKKyAgICAiICAgIGxvYWRpIFBh
eWxvYWRPZmZzZXRbY2ZyLCBpbmRleCwgOF0sIHBheWxvYWQiLAorICAgICIgICAgam1wIC5kb25l
IiwKKyAgICAiLmNvbnN0YW50OiIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgcGF5
bG9hZCIsCisgICAgIiAgICBsb2FkcCAoQ29kZUJsb2NrOjptX2NvbnN0YW50UmVnaXN0ZXJzICsg
VmVjdG9yQnVmZmVyT2Zmc2V0KVtwYXlsb2FkXSwgcGF5bG9hZCIsCisgICAgIiAgICBsb2FkcCBU
YWdPZmZzZXRbcGF5bG9hZCwgaW5kZXgsIDhdLCB0YWciLAorICAgICIgICAgbG9hZHAgUGF5bG9h
ZE9mZnNldFtwYXlsb2FkLCBpbmRleCwgOF0sIHBheWxvYWQiLAorICAgICIuZG9uZToiLAorICAg
ICJlbmQiLAorICAgICJtYWNybyBsb2FkQ29uc3RhbnRPclZhcmlhYmxlVGFnKGluZGV4LCB0YWcp
IiwKKyAgICAiICAgIGJpZ3RlcSBpbmRleCwgRmlyc3RDb25zdGFudFJlZ2lzdGVySW5kZXgsIC5j
b25zdGFudCIsCisgICAgIiAgICBsb2FkaSBUYWdPZmZzZXRbY2ZyLCBpbmRleCwgOF0sIHRhZyIs
CisgICAgIiAgICBqbXAgLmRvbmUiLAorICAgICIuY29uc3RhbnQ6IiwKKyAgICAiICAgIGxvYWRw
IENvZGVCbG9ja1tjZnJdLCB0YWciLAorICAgICIgICAgbG9hZHAgKENvZGVCbG9jazo6bV9jb25z
dGFudFJlZ2lzdGVycyArIFZlY3RvckJ1ZmZlck9mZnNldClbdGFnXSwgdGFnIiwKKyAgICAiICAg
IGxvYWRwIFRhZ09mZnNldFt0YWcsIGluZGV4LCA4XSwgdGFnIiwKKyAgICAiLmRvbmU6IiwKKyAg
ICAiZW5kIiwKKyAgICAibWFjcm8gbG9hZENvbnN0YW50T3JWYXJpYWJsZTJSZWcoaW5kZXgsIHRh
ZywgcGF5bG9hZCkiLAorICAgICIgICAgYmlndGVxIGluZGV4LCBGaXJzdENvbnN0YW50UmVnaXN0
ZXJJbmRleCwgLmNvbnN0YW50IiwKKyAgICAiICAgIGxvYWRpIFRhZ09mZnNldFtjZnIsIGluZGV4
LCA4XSwgdGFnIiwKKyAgICAiICAgIGxvYWRpIFBheWxvYWRPZmZzZXRbY2ZyLCBpbmRleCwgOF0s
IHBheWxvYWQiLAorICAgICIgICAgam1wIC5kb25lIiwKKyAgICAiLmNvbnN0YW50OiIsCisgICAg
IiAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdGFnIiwKKyAgICAiICAgIGxvYWRwIChDb2RlQmxv
Y2s6Om1fY29uc3RhbnRSZWdpc3RlcnMgKyBWZWN0b3JCdWZmZXJPZmZzZXQpW3RhZ10sIHRhZyIs
CisgICAgIiAgICBsc2hpZnRpIDMsIGluZGV4IiwKKyAgICAiICAgIGFkZHAgaW5kZXgsIHRhZyIs
CisgICAgIiAgICBsb2FkcCBQYXlsb2FkT2Zmc2V0W3RhZ10sIHBheWxvYWQiLAorICAgICIgICAg
bG9hZHAgVGFnT2Zmc2V0W3RhZ10sIHRhZyIsCisgICAgIi5kb25lOiIsCisgICAgImVuZCIsCisg
ICAgIm1hY3JvIGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXlsb2FkVGFnQ3VzdG9tKGluZGV4LCB0
YWdDaGVjaywgcGF5bG9hZCkiLAorICAgICIgICAgYmlndGVxIGluZGV4LCBGaXJzdENvbnN0YW50
UmVnaXN0ZXJJbmRleCwgLmNvbnN0YW50IiwKKyAgICAiICAgIHRhZ0NoZWNrKFRhZ09mZnNldFtj
ZnIsIGluZGV4LCA4XSkiLAorICAgICIgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIGluZGV4
LCA4XSwgcGF5bG9hZCIsCisgICAgIiAgICBqbXAgLmRvbmUiLAorICAgICIuY29uc3RhbnQ6IiwK
KyAgICAiICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCBwYXlsb2FkIiwKKyAgICAiICAgIGxvYWRw
IChDb2RlQmxvY2s6Om1fY29uc3RhbnRSZWdpc3RlcnMgKyBWZWN0b3JCdWZmZXJPZmZzZXQpW3Bh
eWxvYWRdLCBwYXlsb2FkIiwKKyAgICAiICAgIHRhZ0NoZWNrKFRhZ09mZnNldFtwYXlsb2FkLCBp
bmRleCwgOF0pIiwKKyAgICAiICAgIGxvYWRwIFBheWxvYWRPZmZzZXRbcGF5bG9hZCwgaW5kZXgs
IDhdLCBwYXlsb2FkIiwKKyAgICAiLmRvbmU6IiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gbG9h
ZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQoaW5kZXgsIGV4cGVjdGVkVGFnLCBwYXlsb2FkLCBz
bG93KSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZFRhZ0N1c3RvbShp
bmRleCwgbWFjcm8gKGFjdHVhbFRhZykiLAorICAgICIgICAgYmluZXEgYWN0dWFsVGFnLCBleHBl
Y3RlZFRhZywgc2xvdyIsCisgICAgImVuZCwgcGF5bG9hZCkiLAorICAgICJlbmQiLAorICAgICJt
YWNybyBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZFVuY2hlY2tlZChpbmRleCwgcGF5bG9h
ZCkiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWRUYWdDdXN0b20oaW5k
ZXgsIG1hY3JvIChhY3R1YWxUYWcpIiwKKyAgICAiIiwKKyAgICAiZW5kLCBwYXlsb2FkKSIsCisg
ICAgImVuZCIsCisgICAgIm1hY3JvIHdyaXRlQmFycmllck9uT3BlcmFuZChjZWxsT3BlcmFuZCki
LAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKGNlbGxPcGVyYW5kLCB0MSkiLAorICAg
ICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQodDEsIENlbGxUYWcsIHQyLCAud3Jp
dGVCYXJyaWVyRG9uZSkiLAorICAgICIgICAgc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW4odDIs
IG1hY3JvICgpIiwKKyAgICAiICAgIHB1c2ggY2ZyLCBQQyIsCisgICAgIiAgICBzdWJwIDgsIHNw
IiwKKyAgICAiICAgIG1vdmUgdDIsIGExIiwKKyAgICAiICAgIG1vdmUgY2ZyLCBhMCIsCisgICAg
IiAgICBjQ2FsbDJWb2lkKF9sbGludF93cml0ZV9iYXJyaWVyX3Nsb3cpIiwKKyAgICAiICAgIGFk
ZHAgOCwgc3AiLAorICAgICIgICAgcG9wIFBDLCBjZnIiLAorICAgICJlbmQpIiwKKyAgICAiLndy
aXRlQmFycmllckRvbmU6IiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gd3JpdGVCYXJyaWVyT25P
cGVyYW5kcyhjZWxsT3BlcmFuZCwgdmFsdWVPcGVyYW5kKSIsCisgICAgIiAgICBsb2FkaXNGcm9t
SW5zdHJ1Y3Rpb24odmFsdWVPcGVyYW5kLCB0MSkiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JW
YXJpYWJsZVRhZyh0MSwgdDApIiwKKyAgICAiICAgIGJpbmVxIHQwLCBDZWxsVGFnLCAud3JpdGVC
YXJyaWVyRG9uZSIsCisgICAgIiAgICB3cml0ZUJhcnJpZXJPbk9wZXJhbmQoY2VsbE9wZXJhbmQp
IiwKKyAgICAiLndyaXRlQmFycmllckRvbmU6IiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gd3Jp
dGVCYXJyaWVyT25HbG9iYWwodmFsdWVPcGVyYW5kLCBsb2FkSGVscGVyKSIsCisgICAgIiAgICBs
b2FkaXNGcm9tSW5zdHJ1Y3Rpb24odmFsdWVPcGVyYW5kLCB0MSkiLAorICAgICIgICAgbG9hZENv
bnN0YW50T3JWYXJpYWJsZVRhZyh0MSwgdDApIiwKKyAgICAiICAgIGJpbmVxIHQwLCBDZWxsVGFn
LCAud3JpdGVCYXJyaWVyRG9uZSIsCisgICAgIiAgICBsb2FkSGVscGVyKHQzKSIsCisgICAgIiAg
ICBza2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbih0MywgbWFjcm8gKCkiLAorICAgICIgICAgcHVz
aCBjZnIsIFBDIiwKKyAgICAiICAgIHN1YnAgOCwgc3AiLAorICAgICIgICAgbW92ZSBjZnIsIGEw
IiwKKyAgICAiICAgIG1vdmUgdDMsIGExIiwKKyAgICAiICAgIGNDYWxsMlZvaWQoX2xsaW50X3dy
aXRlX2JhcnJpZXJfc2xvdykiLAorICAgICIgICAgYWRkcCA4LCBzcCIsCisgICAgIiAgICBwb3Ag
UEMsIGNmciIsCisgICAgImVuZCkiLAorICAgICIud3JpdGVCYXJyaWVyRG9uZToiLAorICAgICJl
bmQiLAorICAgICJtYWNybyB3cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdCh2YWx1ZU9wZXJhbmQp
IiwKKyAgICAiICAgIHdyaXRlQmFycmllck9uR2xvYmFsKHZhbHVlT3BlcmFuZCwgbWFjcm8gKHJl
Z2lzdGVyVG9TdG9yZUdsb2JhbCkiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHJl
Z2lzdGVyVG9TdG9yZUdsb2JhbCIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFs
T2JqZWN0W3JlZ2lzdGVyVG9TdG9yZUdsb2JhbF0sIHJlZ2lzdGVyVG9TdG9yZUdsb2JhbCIsCisg
ICAgImVuZCkiLAorICAgICJlbmQiLAorICAgICJtYWNybyB3cml0ZUJhcnJpZXJPbkdsb2JhbExl
eGljYWxFbnZpcm9ubWVudCh2YWx1ZU9wZXJhbmQpIiwKKyAgICAiICAgIHdyaXRlQmFycmllck9u
R2xvYmFsKHZhbHVlT3BlcmFuZCwgbWFjcm8gKHJlZ2lzdGVyVG9TdG9yZUdsb2JhbCkiLAorICAg
ICIgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHJlZ2lzdGVyVG9TdG9yZUdsb2JhbCIsCisgICAg
IiAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2JqZWN0W3JlZ2lzdGVyVG9TdG9yZUdsb2Jh
bF0sIHJlZ2lzdGVyVG9TdG9yZUdsb2JhbCIsCisgICAgIiAgICBsb2FkcCBKU0dsb2JhbE9iamVj
dDo6bV9nbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRbcmVnaXN0ZXJUb1N0b3JlR2xvYmFsXSwgcmVn
aXN0ZXJUb1N0b3JlR2xvYmFsIiwKKyAgICAiZW5kKSIsCisgICAgImVuZCIsCisgICAgIm1hY3Jv
IHZhbHVlUHJvZmlsZSh0YWcsIHBheWxvYWQsIG9wZXJhbmQsIHNjcmF0Y2gpIiwKKyAgICAiICAg
IGxvYWRwIG9wZXJhbmRbUENdLCBzY3JhdGNoIiwKKyAgICAiICAgIHN0b3JlaSB0YWcsIChWYWx1
ZVByb2ZpbGU6Om1fYnVja2V0cyArIFRhZ09mZnNldClbc2NyYXRjaF0iLAorICAgICIgICAgc3Rv
cmVpIHBheWxvYWQsIChWYWx1ZVByb2ZpbGU6Om1fYnVja2V0cyArIFBheWxvYWRPZmZzZXQpW3Nj
cmF0Y2hdIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gZnVuY3Rpb25Bcml0eUNoZWNrKGRvbmVM
YWJlbCwgc2xvd1BhdGgpIiwKKyAgICAiICAgIGxvYWRpIChQYXlsb2FkT2Zmc2V0ICsgQXJndW1l
bnRDb3VudClbY2ZyXSwgdDAiLAorICAgICIgICAgYmlhZXEgdDAsIENvZGVCbG9jazo6bV9udW1Q
YXJhbWV0ZXJzW3QxXSwgZG9uZUxhYmVsIiwKKyAgICAiICAgIG1vdmUgY2ZyLCBhMCIsCisgICAg
IiAgICBtb3ZlIFBDLCBhMSIsCisgICAgIiAgICBjQ2FsbDIoc2xvd1BhdGgpIiwKKyAgICAiICAg
IGJ0aXogcjAsIC5ub0Vycm9yIiwKKyAgICAiICAgIG1vdmUgcjEsIGNmciIsCisgICAgIiAgICBq
bXAgX2xsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmUiLAorICAgICIubm9FcnJv
cjoiLAorICAgICIgICAgbG9hZHAgQ29tbW9uU2xvd1BhdGhzOjpBcml0eUNoZWNrRGF0YTo6dGh1
bmtUb0NhbGxbcjFdLCB0MyIsCisgICAgIiAgICBidHB6IHQzLCAucHJvY2VlZElubGluZSIsCisg
ICAgIiAgICBsb2FkcCBDb21tb25TbG93UGF0aHM6OkFyaXR5Q2hlY2tEYXRhOjpwYWRkZWRTdGFj
a1NwYWNlW3IxXSwgYTAiLAorICAgICIgICAgY2FsbCB0MyIsCisgICAgImlmIEFTU0VSVF9FTkFC
TEVEIiwKKyAgICAiICAgIGxvYWRwIFJldHVyblBDW2Nmcl0sIHQwIiwKKyAgICAiICAgIGxvYWRw
IDBbdDBdLCB0MCIsCisgICAgImVsc2UiLAorICAgICIgICAgc2tpcCIsCisgICAgImVuZCIsCisg
ICAgIiAgICBqbXAgLmNvbnRpbnVlIiwKKyAgICAiLnByb2NlZWRJbmxpbmU6IiwKKyAgICAiICAg
IGxvYWRpIENvbW1vblNsb3dQYXRoczo6QXJpdHlDaGVja0RhdGE6OnBhZGRlZFN0YWNrU3BhY2Vb
cjFdLCB0MSIsCisgICAgIiAgICBidGl6IHQxLCAuY29udGludWUiLAorICAgICIgICAgbG9hZGkg
KFBheWxvYWRPZmZzZXQgKyBBcmd1bWVudENvdW50KVtjZnJdLCB0MiIsCisgICAgIiAgICBhZGRp
IENhbGxGcmFtZUhlYWRlclNsb3RzLCB0MiIsCisgICAgIiAgICBtb3ZlIHQxLCB0MyIsCisgICAg
IiAgICBhbmRpIChTdGFja0FsaWdubWVudFNsb3RzIC0gMSksIHQzIiwKKyAgICAiICAgIGJ0aXog
dDMsIC5ub0V4dHJhU2xvdCIsCisgICAgIi5maWxsRXh0cmFTbG90czoiLAorICAgICIgICAgbW92
ZSAwLCB0MCIsCisgICAgIiAgICBzdG9yZWkgdDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MiwgOF0i
LAorICAgICIgICAgbW92ZSBVbmRlZmluZWRUYWcsIHQwIiwKKyAgICAiICAgIHN0b3JlaSB0MCwg
VGFnT2Zmc2V0W2NmciwgdDIsIDhdIiwKKyAgICAiICAgIGFkZGkgMSwgdDIiLAorICAgICIgICAg
YnN1YmlueiAxLCB0MywgLmZpbGxFeHRyYVNsb3RzIiwKKyAgICAiICAgIGFuZGkgKH4oU3RhY2tB
bGlnbm1lbnRTbG90cyAtIDEpKSwgdDEiLAorICAgICIgICAgYnRpeiB0MSwgLmNvbnRpbnVlIiwK
KyAgICAiLm5vRXh0cmFTbG90OiIsCisgICAgIiAgICBuZWdpIHQxIiwKKyAgICAiICAgIG1vdmUg
Y2ZyLCB0MyIsCisgICAgIiAgICBtb3ZlIHQxLCB0MCIsCisgICAgIiAgICBsc2hpZnRwIDMsIHQw
IiwKKyAgICAiICAgIGFkZHAgdDAsIGNmciIsCisgICAgIiAgICBhZGRwIHQwLCBzcCIsCisgICAg
Ii5jb3B5TG9vcDoiLAorICAgICIgICAgbG9hZGkgUGF5bG9hZE9mZnNldFt0M10sIHQwIiwKKyAg
ICAiICAgIHN0b3JlaSB0MCwgUGF5bG9hZE9mZnNldFt0MywgdDEsIDhdIiwKKyAgICAiICAgIGxv
YWRpIFRhZ09mZnNldFt0M10sIHQwIiwKKyAgICAiICAgIHN0b3JlaSB0MCwgVGFnT2Zmc2V0W3Qz
LCB0MSwgOF0iLAorICAgICIgICAgYWRkcCA4LCB0MyIsCisgICAgIiAgICBic3ViaW56IDEsIHQy
LCAuY29weUxvb3AiLAorICAgICIgICAgbW92ZSB0MSwgdDIiLAorICAgICIuZmlsbExvb3A6IiwK
KyAgICAiICAgIG1vdmUgMCwgdDAiLAorICAgICIgICAgc3RvcmVpIHQwLCBQYXlsb2FkT2Zmc2V0
W3QzLCB0MSwgOF0iLAorICAgICIgICAgbW92ZSBVbmRlZmluZWRUYWcsIHQwIiwKKyAgICAiICAg
IHN0b3JlaSB0MCwgVGFnT2Zmc2V0W3QzLCB0MSwgOF0iLAorICAgICIgICAgYWRkcCA4LCB0MyIs
CisgICAgIiAgICBiYWRkaW56IDEsIHQyLCAuZmlsbExvb3AiLAorICAgICIuY29udGludWU6IiwK
KyAgICAiICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MSIsCisgICAgIiAgICBsb2FkcCBDb2Rl
QmxvY2s6Om1faW5zdHJ1Y3Rpb25zW3QxXSwgUEMiLAorICAgICIgICAgam1wIGRvbmVMYWJlbCIs
CisgICAgImVuZCIsCisgICAgIm1hY3JvIGJyYW5jaElmRXhjZXB0aW9uKGxhYmVsKSIsCisgICAg
IiAgICBsb2FkcCAoQ2FsbGVlICsgUGF5bG9hZE9mZnNldClbY2ZyXSwgdDMiLAorICAgICIgICAg
YW5kcCBNYXJrZWRCbG9ja01hc2ssIHQzIiwKKyAgICAiICAgIGxvYWRwIE1hcmtlZEJsb2NrOjpt
X3ZtW3QzXSwgdDMiLAorICAgICIgICAgYnRpeiBWTTo6bV9leGNlcHRpb25bdDNdLCAubm9FeGNl
cHRpb24iLAorICAgICIgICAgam1wIGxhYmVsIiwKKyAgICAiLm5vRXhjZXB0aW9uOiIsCisgICAg
ImVuZCIsCisgICAgIl9sbGludF9vcF9lbnRlcjoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24o
KSIsCisgICAgIiAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0MiwgMzczNTg3OTkwNSki
LAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQyIiwKKyAgICAiICAgIGxvYWRpIENv
ZGVCbG9jazo6bV9udW1WYXJzW3QyXSwgdDIiLAorICAgICIgICAgYnRpeiB0MiwgLm9wRW50ZXJE
b25lIiwKKyAgICAiICAgIG1vdmUgVW5kZWZpbmVkVGFnLCB0MCIsCisgICAgIiAgICBtb3ZlIDAs
IHQxIiwKKyAgICAiICAgIG5lZ2kgdDIiLAorICAgICIub3BFbnRlckxvb3A6IiwKKyAgICAiICAg
IHN0b3JlaSB0MCwgVGFnT2Zmc2V0W2NmciwgdDIsIDhdIiwKKyAgICAiICAgIHN0b3JlaSB0MSwg
UGF5bG9hZE9mZnNldFtjZnIsIHQyLCA4XSIsCisgICAgIiAgICBhZGRpIDEsIHQyIiwKKyAgICAi
ICAgIGJ0aW56IHQyLCAub3BFbnRlckxvb3AiLAorICAgICIub3BFbnRlckRvbmU6IiwKKyAgICAi
ICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2VudGVyKSIsCisgICAgIiAgICBkaXNw
YXRjaChjb25zdGV4cHIgKG9wX2VudGVyX2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX2dldF9h
cmd1bWVudDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24oMSwgdDEpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigy
LCB0MikiLAorICAgICIgICAgbG9hZGkgKFBheWxvYWRPZmZzZXQgKyBBcmd1bWVudENvdW50KVtj
ZnJdLCB0MCIsCisgICAgIiAgICBiaWx0ZXEgdDAsIHQyLCAub3BHZXRBcmd1bWVudE91dE9mQm91
bmRzIiwKKyAgICAiICAgIGxvYWRpIChUaGlzQXJndW1lbnRPZmZzZXQgKyBUYWdPZmZzZXQpW2Nm
ciwgdDIsIDhdLCB0MCIsCisgICAgIiAgICBsb2FkaSAoVGhpc0FyZ3VtZW50T2Zmc2V0ICsgUGF5
bG9hZE9mZnNldClbY2ZyLCB0MiwgOF0sIHQzIiwKKyAgICAiICAgIHN0b3JlaSB0MCwgVGFnT2Zm
c2V0W2NmciwgdDEsIDhdIiwKKyAgICAiICAgIHN0b3JlaSB0MywgUGF5bG9hZE9mZnNldFtjZnIs
IHQxLCA4XSIsCisgICAgIiAgICB2YWx1ZVByb2ZpbGUodDAsIHQzLCAxMiwgdDEpIiwKKyAgICAi
ICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfZ2V0X2FyZ3VtZW50X2xlbmd0aCkpIiwKKyAgICAi
Lm9wR2V0QXJndW1lbnRPdXRPZkJvdW5kczoiLAorICAgICIgICAgc3RvcmVpIFVuZGVmaW5lZFRh
ZywgVGFnT2Zmc2V0W2NmciwgdDEsIDhdIiwKKyAgICAiICAgIHN0b3JlaSAwLCBQYXlsb2FkT2Zm
c2V0W2NmciwgdDEsIDhdIiwKKyAgICAiICAgIHZhbHVlUHJvZmlsZShVbmRlZmluZWRUYWcsIDAs
IDEyLCB0MSkiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9nZXRfYXJndW1lbnRf
bGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfYXJndW1lbnRfY291bnQ6IiwKKyAgICAiICAgIHRy
YWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQyKSIs
CisgICAgIiAgICBsb2FkaSAoUGF5bG9hZE9mZnNldCArIEFyZ3VtZW50Q291bnQpW2Nmcl0sIHQw
IiwKKyAgICAiICAgIHN1YmkgMSwgdDAiLAorICAgICIgICAgbW92ZSBJbnQzMlRhZywgdDEiLAor
ICAgICIgICAgc3RvcmVpIHQxLCBUYWdPZmZzZXRbY2ZyLCB0MiwgOF0iLAorICAgICIgICAgc3Rv
cmVpIHQwLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDIsIDhdIiwKKyAgICAiICAgIGRpc3BhdGNoKGNv
bnN0ZXhwciAob3BfYXJndW1lbnRfY291bnRfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfZ2V0
X3Njb3BlOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGxvYWRpIChD
YWxsZWUgKyBQYXlsb2FkT2Zmc2V0KVtjZnJdLCB0MCIsCisgICAgIiAgICBsb2FkaSBKU0NhbGxl
ZTo6bV9zY29wZVt0MF0sIHQwIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0
MSkiLAorICAgICIgICAgc3RvcmVpIENlbGxUYWcsIFRhZ09mZnNldFtjZnIsIHQxLCA4XSIsCisg
ICAgIiAgICBzdG9yZWkgdDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MSwgOF0iLAorICAgICIgICAg
ZGlzcGF0Y2goY29uc3RleHByIChvcF9nZXRfc2NvcGVfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRf
b3BfdG9fdGhpczoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2Fk
aSA0W1BDXSwgdDAiLAorICAgICIgICAgYmluZXEgVGFnT2Zmc2V0W2NmciwgdDAsIDhdLCBDZWxs
VGFnLCAub3BUb1RoaXNTbG93IiwKKyAgICAiICAgIGxvYWRpIFBheWxvYWRPZmZzZXRbY2ZyLCB0
MCwgOF0sIHQwIiwKKyAgICAiICAgIGJibmVxIEpTQ2VsbDo6bV90eXBlW3QwXSwgRmluYWxPYmpl
Y3RUeXBlLCAub3BUb1RoaXNTbG93IiwKKyAgICAiICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDIs
IHQyKSIsCisgICAgIiAgICBicG5lcSBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDBdLCB0MiwgLm9w
VG9UaGlzU2xvdyIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX3RvX3RoaXNfbGVu
Z3RoKSkiLAorICAgICIub3BUb1RoaXNTbG93OiIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1Bh
dGgoX3Nsb3dfcGF0aF90b190aGlzKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9w
X3RvX3RoaXNfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfY2hlY2tfdGR6OiIsCisgICAgIiAg
ICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0
MCkiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVRhZyh0MCwgdDEpIiwKKyAgICAi
ICAgIGJpbmVxIHQxLCBFbXB0eVZhbHVlVGFnLCAub3BOb3RURFoiLAorICAgICIgICAgY2FsbE9w
Y29kZVNsb3dQYXRoKF9zbG93X3BhdGhfdGhyb3dfdGR6X2Vycm9yKSIsCisgICAgIi5vcE5vdFRE
WjoiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9jaGVja190ZHpfbGVuZ3RoKSki
LAorICAgICJfbGxpbnRfb3BfbW92OiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAg
ICAiICAgIGxvYWRpIDhbUENdLCB0MSIsCisgICAgIiAgICBsb2FkaSA0W1BDXSwgdDAiLAorICAg
ICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDIsIHQzKSIsCisgICAgIiAgICBzdG9y
ZWkgdDIsIFRhZ09mZnNldFtjZnIsIHQwLCA4XSIsCisgICAgIiAgICBzdG9yZWkgdDMsIFBheWxv
YWRPZmZzZXRbY2ZyLCB0MCwgOF0iLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9t
b3ZfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3Bfbm90OiIsCisgICAgIiAgICB0cmFjZUV4ZWN1
dGlvbigpIiwKKyAgICAiICAgIGxvYWRpIDhbUENdLCB0MCIsCisgICAgIiAgICBsb2FkaSA0W1BD
XSwgdDEiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MCwgdDIsIHQzKSIsCisg
ICAgIiAgICBiaW5lcSB0MiwgQm9vbGVhblRhZywgLm9wTm90U2xvdyIsCisgICAgIiAgICB4b3Jp
IDEsIHQzIiwKKyAgICAiICAgIHN0b3JlaSB0MiwgVGFnT2Zmc2V0W2NmciwgdDEsIDhdIiwKKyAg
ICAiICAgIHN0b3JlaSB0MywgUGF5bG9hZE9mZnNldFtjZnIsIHQxLCA4XSIsCisgICAgIiAgICBk
aXNwYXRjaChjb25zdGV4cHIgKG9wX25vdF9sZW5ndGgpKSIsCisgICAgIi5vcE5vdFNsb3c6IiwK
KyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX25vdCkiLAorICAgICIgICAg
ZGlzcGF0Y2goY29uc3RleHByIChvcF9ub3RfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfZXE6
IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgbG9hZGkgMTJbUENdLCB0
MiIsCisgICAgIiAgICBsb2FkaSA4W1BDXSwgdDAiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JW
YXJpYWJsZSh0MiwgdDMsIHQxKSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlMlJl
Zyh0MCwgdDIsIHQwKSIsCisgICAgIiAgICBiaW5lcSB0MiwgdDMsIC5vcEVxU2xvdyIsCisgICAg
IiAgICBiaWVxIHQyLCBDZWxsVGFnLCAub3BFcVNsb3ciLAorICAgICIgICAgYmliIHQyLCBMb3dl
c3RUYWcsIC5vcEVxU2xvdyIsCisgICAgIiAgICBsb2FkaSA0W1BDXSwgdDIiLAorICAgICIgICAg
Y2llcSB0MCwgdDEsIHQwIiwKKyAgICAiICAgIHN0b3JlaSBCb29sZWFuVGFnLCBUYWdPZmZzZXRb
Y2ZyLCB0MiwgOF0iLAorICAgICIgICAgc3RvcmVpIHQwLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDIs
IDhdIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfZXFfbGVuZ3RoKSkiLAorICAg
ICIub3BFcVNsb3c6IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2Vx
KSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2VxX2xlbmd0aCkpIiwKKyAgICAi
X2xsaW50X29wX2VxX251bGw6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIg
ICAgbG9hZGkgOFtQQ10sIHQwIiwKKyAgICAiICAgIGxvYWRpIDRbUENdLCB0MyIsCisgICAgIiAg
ICBhc3NlcnROb3RDb25zdGFudCh0MCkiLAorICAgICIgICAgbG9hZGkgVGFnT2Zmc2V0W2Nmciwg
dDAsIDhdLCB0MSIsCisgICAgIiAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdLCB0
MCIsCisgICAgIiAgICBiaW5lcSB0MSwgQ2VsbFRhZywgLm9wRXFOdWxsSW1tZWRpYXRlIiwKKyAg
ICAiICAgIGJ0Ym56IEpTQ2VsbDo6bV9mbGFnc1t0MF0sIE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQs
IC5vcEVxTnVsbE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQiLAorICAgICIgICAgbW92ZSAwLCB0MSIs
CisgICAgIiAgICBqbXAgLm9wRXFOdWxsTm90SW1tZWRpYXRlIiwKKyAgICAiLm9wRXFOdWxsTWFz
cXVlcmFkZXNBc1VuZGVmaW5lZDoiLAorICAgICIgICAgbG9hZHAgSlNDZWxsOjptX3N0cnVjdHVy
ZUlEW3QwXSwgdDEiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQwIiwKKyAgICAi
ICAgIGxvYWRwIENvZGVCbG9jazo6bV9nbG9iYWxPYmplY3RbdDBdLCB0MCIsCisgICAgIiAgICBj
cGVxIFN0cnVjdHVyZTo6bV9nbG9iYWxPYmplY3RbdDFdLCB0MCwgdDEiLAorICAgICIgICAgam1w
IC5vcEVxTnVsbE5vdEltbWVkaWF0ZSIsCisgICAgIi5vcEVxTnVsbEltbWVkaWF0ZToiLAorICAg
ICIgICAgY2llcSB0MSwgTnVsbFRhZywgdDIiLAorICAgICIgICAgY2llcSB0MSwgVW5kZWZpbmVk
VGFnLCB0MSIsCisgICAgIiAgICBvcmkgdDIsIHQxIiwKKyAgICAiLm9wRXFOdWxsTm90SW1tZWRp
YXRlOiIsCisgICAgIiAgICBzdG9yZWkgQm9vbGVhblRhZywgVGFnT2Zmc2V0W2NmciwgdDMsIDhd
IiwKKyAgICAiICAgIHN0b3JlaSB0MSwgUGF5bG9hZE9mZnNldFtjZnIsIHQzLCA4XSIsCisgICAg
IiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2VxX251bGxfbGVuZ3RoKSkiLAorICAgICJfbGxp
bnRfb3BfbmVxOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGxvYWRp
IDEyW1BDXSwgdDIiLAorICAgICIgICAgbG9hZGkgOFtQQ10sIHQwIiwKKyAgICAiICAgIGxvYWRD
b25zdGFudE9yVmFyaWFibGUodDIsIHQzLCB0MSkiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JW
YXJpYWJsZTJSZWcodDAsIHQyLCB0MCkiLAorICAgICIgICAgYmluZXEgdDIsIHQzLCAub3BOZXFT
bG93IiwKKyAgICAiICAgIGJpZXEgdDIsIENlbGxUYWcsIC5vcE5lcVNsb3ciLAorICAgICIgICAg
YmliIHQyLCBMb3dlc3RUYWcsIC5vcE5lcVNsb3ciLAorICAgICIgICAgbG9hZGkgNFtQQ10sIHQy
IiwKKyAgICAiICAgIGNpbmVxIHQwLCB0MSwgdDAiLAorICAgICIgICAgc3RvcmVpIEJvb2xlYW5U
YWcsIFRhZ09mZnNldFtjZnIsIHQyLCA4XSIsCisgICAgIiAgICBzdG9yZWkgdDAsIFBheWxvYWRP
ZmZzZXRbY2ZyLCB0MiwgOF0iLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9uZXFf
bGVuZ3RoKSkiLAorICAgICIub3BOZXFTbG93OiIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1Bh
dGgoX3Nsb3dfcGF0aF9uZXEpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfbmVx
X2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX25lcV9udWxsOiIsCisgICAgIiAgICB0cmFjZUV4
ZWN1dGlvbigpIiwKKyAgICAiICAgIGxvYWRpIDhbUENdLCB0MCIsCisgICAgIiAgICBsb2FkaSA0
W1BDXSwgdDMiLAorICAgICIgICAgYXNzZXJ0Tm90Q29uc3RhbnQodDApIiwKKyAgICAiICAgIGxv
YWRpIFRhZ09mZnNldFtjZnIsIHQwLCA4XSwgdDEiLAorICAgICIgICAgbG9hZGkgUGF5bG9hZE9m
ZnNldFtjZnIsIHQwLCA4XSwgdDAiLAorICAgICIgICAgYmluZXEgdDEsIENlbGxUYWcsIC5vcE5l
cU51bGxJbW1lZGlhdGUiLAorICAgICIgICAgYnRibnogSlNDZWxsOjptX2ZsYWdzW3QwXSwgTWFz
cXVlcmFkZXNBc1VuZGVmaW5lZCwgLm9wTmVxTnVsbE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQiLAor
ICAgICIgICAgbW92ZSAxLCB0MSIsCisgICAgIiAgICBqbXAgLm9wTmVxTnVsbE5vdEltbWVkaWF0
ZSIsCisgICAgIi5vcE5lcU51bGxNYXNxdWVyYWRlc0FzVW5kZWZpbmVkOiIsCisgICAgIiAgICBs
b2FkcCBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDBdLCB0MSIsCisgICAgIiAgICBsb2FkcCBDb2Rl
QmxvY2tbY2ZyXSwgdDAiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrOjptX2dsb2JhbE9iamVj
dFt0MF0sIHQwIiwKKyAgICAiICAgIGNwbmVxIFN0cnVjdHVyZTo6bV9nbG9iYWxPYmplY3RbdDFd
LCB0MCwgdDEiLAorICAgICIgICAgam1wIC5vcE5lcU51bGxOb3RJbW1lZGlhdGUiLAorICAgICIu
b3BOZXFOdWxsSW1tZWRpYXRlOiIsCisgICAgIiAgICBjaW5lcSB0MSwgTnVsbFRhZywgdDIiLAor
ICAgICIgICAgY2luZXEgdDEsIFVuZGVmaW5lZFRhZywgdDEiLAorICAgICIgICAgYW5kaSB0Miwg
dDEiLAorICAgICIub3BOZXFOdWxsTm90SW1tZWRpYXRlOiIsCisgICAgIiAgICBzdG9yZWkgQm9v
bGVhblRhZywgVGFnT2Zmc2V0W2NmciwgdDMsIDhdIiwKKyAgICAiICAgIHN0b3JlaSB0MSwgUGF5
bG9hZE9mZnNldFtjZnIsIHQzLCA4XSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9w
X25lcV9udWxsX2xlbmd0aCkpIiwKKyAgICAibWFjcm8gc3RyaWN0RXEoZXF1YWxpdHlPcGVyYXRp
b24sIHNsb3dQYXRoKSIsCisgICAgIiAgICBsb2FkaSAxMltQQ10sIHQyIiwKKyAgICAiICAgIGxv
YWRpIDhbUENdLCB0MCIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQyLCB0Mywg
dDEpIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUyUmVnKHQwLCB0MiwgdDApIiwK
KyAgICAiICAgIGJpbmVxIHQyLCB0MywgLnNsb3ciLAorICAgICIgICAgYmliIHQyLCBMb3dlc3RU
YWcsIC5zbG93IiwKKyAgICAiICAgIGJpbmVxIHQyLCBDZWxsVGFnLCAubm90U3RyaW5nT3JTeW1i
b2wiLAorICAgICIgICAgYmJhZXEgSlNDZWxsOjptX3R5cGVbdDBdLCBPYmplY3RUeXBlLCAubm90
U3RyaW5nT3JTeW1ib2wiLAorICAgICIgICAgYmJiIEpTQ2VsbDo6bV90eXBlW3QxXSwgT2JqZWN0
VHlwZSwgLnNsb3ciLAorICAgICIubm90U3RyaW5nT3JTeW1ib2w6IiwKKyAgICAiICAgIGxvYWRp
IDRbUENdLCB0MiIsCisgICAgIiAgICBlcXVhbGl0eU9wZXJhdGlvbih0MCwgdDEsIHQwKSIsCisg
ICAgIiAgICBzdG9yZWkgQm9vbGVhblRhZywgVGFnT2Zmc2V0W2NmciwgdDIsIDhdIiwKKyAgICAi
ICAgIHN0b3JlaSB0MCwgUGF5bG9hZE9mZnNldFtjZnIsIHQyLCA4XSIsCisgICAgIiAgICBkaXNw
YXRjaCg0KSIsCisgICAgIi5zbG93OiIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoc2xv
d1BhdGgpIiwKKyAgICAiICAgIGRpc3BhdGNoKDQpIiwKKyAgICAiZW5kIiwKKyAgICAiX2xsaW50
X29wX3N0cmljdGVxOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIHN0
cmljdEVxKG1hY3JvIChsZWZ0LCByaWdodCwgcmVzdWx0KSIsCisgICAgIiAgICBjaWVxIGxlZnQs
IHJpZ2h0LCByZXN1bHQiLAorICAgICJlbmQsIF9zbG93X3BhdGhfc3RyaWN0ZXEpIiwKKyAgICAi
X2xsaW50X29wX25zdHJpY3RlcToiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAg
IiAgICBzdHJpY3RFcShtYWNybyAobGVmdCwgcmlnaHQsIHJlc3VsdCkiLAorICAgICIgICAgY2lu
ZXEgbGVmdCwgcmlnaHQsIHJlc3VsdCIsCisgICAgImVuZCwgX3Nsb3dfcGF0aF9uc3RyaWN0ZXEp
IiwKKyAgICAiX2xsaW50X29wX2luYzoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisg
ICAgIiAgICBsb2FkaSA0W1BDXSwgdDAiLAorICAgICIgICAgYmluZXEgVGFnT2Zmc2V0W2Nmciwg
dDAsIDhdLCBJbnQzMlRhZywgLm9wSW5jU2xvdyIsCisgICAgIiAgICBsb2FkaSBQYXlsb2FkT2Zm
c2V0W2NmciwgdDAsIDhdLCB0MSIsCisgICAgIiAgICBiYWRkaW8gMSwgdDEsIC5vcEluY1Nsb3ci
LAorICAgICIgICAgc3RvcmVpIHQxLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdIiwKKyAgICAi
ICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfaW5jX2xlbmd0aCkpIiwKKyAgICAiLm9wSW5jU2xv
dzoiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfaW5jKSIsCisgICAg
IiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2luY19sZW5ndGgpKSIsCisgICAgIl9sbGludF9v
cF9kZWM6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgbG9hZGkgNFtQ
Q10sIHQwIiwKKyAgICAiICAgIGJpbmVxIFRhZ09mZnNldFtjZnIsIHQwLCA4XSwgSW50MzJUYWcs
IC5vcERlY1Nsb3ciLAorICAgICIgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSwg
dDEiLAorICAgICIgICAgYnN1YmlvIDEsIHQxLCAub3BEZWNTbG93IiwKKyAgICAiICAgIHN0b3Jl
aSB0MSwgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSIsCisgICAgIiAgICBkaXNwYXRjaChjb25z
dGV4cHIgKG9wX2RlY19sZW5ndGgpKSIsCisgICAgIi5vcERlY1Nsb3c6IiwKKyAgICAiICAgIGNh
bGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2RlYykiLAorICAgICIgICAgZGlzcGF0Y2goY29u
c3RleHByIChvcF9kZWNfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfdG9fbnVtYmVyOiIsCisg
ICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGxvYWRpIDhbUENdLCB0MCIsCisg
ICAgIiAgICBsb2FkaSA0W1BDXSwgdDEiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJs
ZSh0MCwgdDIsIHQzKSIsCisgICAgIiAgICBiaWVxIHQyLCBJbnQzMlRhZywgLm9wVG9OdW1iZXJJ
c0ludCIsCisgICAgIiAgICBiaWFlcSB0MiwgTG93ZXN0VGFnLCAub3BUb051bWJlclNsb3ciLAor
ICAgICIub3BUb051bWJlcklzSW50OiIsCisgICAgIiAgICBzdG9yZWkgdDIsIFRhZ09mZnNldFtj
ZnIsIHQxLCA4XSIsCisgICAgIiAgICBzdG9yZWkgdDMsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MSwg
OF0iLAorICAgICIgICAgdmFsdWVQcm9maWxlKHQyLCB0MywgMTIsIHQxKSIsCisgICAgIiAgICBk
aXNwYXRjaChjb25zdGV4cHIgKG9wX3RvX251bWJlcl9sZW5ndGgpKSIsCisgICAgIi5vcFRvTnVt
YmVyU2xvdzoiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfdG9fbnVt
YmVyKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX3RvX251bWJlcl9sZW5ndGgp
KSIsCisgICAgIl9sbGludF9vcF90b19zdHJpbmc6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9u
KCkiLAorICAgICIgICAgbG9hZGkgOFtQQ10sIHQwIiwKKyAgICAiICAgIGxvYWRpIDRbUENdLCB0
MSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQwLCB0MiwgdDMpIiwKKyAgICAi
ICAgIGJpbmVxIHQyLCBDZWxsVGFnLCAub3BUb1N0cmluZ1Nsb3ciLAorICAgICIgICAgYmJuZXEg
SlNDZWxsOjptX3R5cGVbdDNdLCBTdHJpbmdUeXBlLCAub3BUb1N0cmluZ1Nsb3ciLAorICAgICIu
b3BUb1N0cmluZ0lzU3RyaW5nOiIsCisgICAgIiAgICBzdG9yZWkgdDIsIFRhZ09mZnNldFtjZnIs
IHQxLCA4XSIsCisgICAgIiAgICBzdG9yZWkgdDMsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MSwgOF0i
LAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF90b19zdHJpbmdfbGVuZ3RoKSkiLAor
ICAgICIub3BUb1N0cmluZ1Nsb3c6IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xv
d19wYXRoX3RvX3N0cmluZykiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF90b19z
dHJpbmdfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfbmVnYXRlOiIsCisgICAgIiAgICB0cmFj
ZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGxvYWRpIDhbUENdLCB0MCIsCisgICAgIiAgICBsb2Fk
aSA0W1BDXSwgdDMiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MCwgdDEsIHQy
KSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDApIiwKKyAgICAiICAgIGJp
bmVxIHQxLCBJbnQzMlRhZywgLm9wTmVnYXRlU3JjTm90SW50IiwKKyAgICAiICAgIGJ0aXogdDIs
IDIxNDc0ODM2NDcsIC5vcE5lZ2F0ZVNsb3ciLAorICAgICIgICAgbmVnaSB0MiIsCisgICAgIiAg
ICBvcmkgQXJpdGhQcm9maWxlSW50LCB0MCIsCisgICAgIiAgICBzdG9yZWkgSW50MzJUYWcsIFRh
Z09mZnNldFtjZnIsIHQzLCA4XSIsCisgICAgIiAgICBzdG9yZWlzVG9JbnN0cnVjdGlvbih0MCwg
MykiLAorICAgICIgICAgc3RvcmVpIHQyLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDMsIDhdIiwKKyAg
ICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfbmVnYXRlX2xlbmd0aCkpIiwKKyAgICAiLm9w
TmVnYXRlU3JjTm90SW50OiIsCisgICAgIiAgICBiaWEgdDEsIExvd2VzdFRhZywgLm9wTmVnYXRl
U2xvdyIsCisgICAgIiAgICB4b3JpIDIxNDc0ODM2NDgsIHQxIiwKKyAgICAiICAgIG9yaSBBcml0
aFByb2ZpbGVOdW1iZXIsIHQwIiwKKyAgICAiICAgIHN0b3JlaSB0MiwgUGF5bG9hZE9mZnNldFtj
ZnIsIHQzLCA4XSIsCisgICAgIiAgICBzdG9yZWlzVG9JbnN0cnVjdGlvbih0MCwgMykiLAorICAg
ICIgICAgc3RvcmVpIHQxLCBUYWdPZmZzZXRbY2ZyLCB0MywgOF0iLAorICAgICIgICAgZGlzcGF0
Y2goY29uc3RleHByIChvcF9uZWdhdGVfbGVuZ3RoKSkiLAorICAgICIub3BOZWdhdGVTbG93OiIs
CisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9uZWdhdGUpIiwKKyAgICAi
ICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfbmVnYXRlX2xlbmd0aCkpIiwKKyAgICAibWFjcm8g
YmluYXJ5T3BDdXN0b21TdG9yZShpbnRlZ2VyT3BlcmF0aW9uQW5kU3RvcmUsIGRvdWJsZU9wZXJh
dGlvbiwgc2xvd1BhdGgpIiwKKyAgICAiICAgIGxvYWRpIDEyW1BDXSwgdDIiLAorICAgICIgICAg
bG9hZGkgOFtQQ10sIHQwIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDIsIHQz
LCB0MSkiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZTJSZWcodDAsIHQyLCB0MCki
LAorICAgICIgICAgYmluZXEgdDIsIEludDMyVGFnLCAub3AxTm90SW50IiwKKyAgICAiICAgIGJp
bmVxIHQzLCBJbnQzMlRhZywgLm9wMk5vdEludCIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oNCwgdDUpIiwKKyAgICAiICAgIG9yaSBBcml0aFByb2ZpbGVJbnRJbnQsIHQ1IiwKKyAg
ICAiICAgIHN0b3JlaXNUb0luc3RydWN0aW9uKHQ1LCA0KSIsCisgICAgIiAgICBsb2FkaSA0W1BD
XSwgdDIiLAorICAgICIgICAgaW50ZWdlck9wZXJhdGlvbkFuZFN0b3JlKHQzLCB0MSwgdDAsIC5z
bG93LCB0MikiLAorICAgICIgICAgZGlzcGF0Y2goNSkiLAorICAgICIub3AxTm90SW50OiIsCisg
ICAgIiAgICBiaWEgdDIsIExvd2VzdFRhZywgLnNsb3ciLAorICAgICIgICAgYmliIHQzLCBMb3dl
c3RUYWcsIC5vcDFOb3RJbnRPcDJEb3VibGUiLAorICAgICIgICAgYmluZXEgdDMsIEludDMyVGFn
LCAuc2xvdyIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNCwgdDUpIiwKKyAgICAi
ICAgIG9yaSBBcml0aFByb2ZpbGVOdW1iZXJJbnQsIHQ1IiwKKyAgICAiICAgIHN0b3JlaXNUb0lu
c3RydWN0aW9uKHQ1LCA0KSIsCisgICAgIiAgICBjaTJkIHQxLCBmdDEiLAorICAgICIgICAgam1w
IC5vcDFOb3RJbnRSZWFkeSIsCisgICAgIi5vcDFOb3RJbnRPcDJEb3VibGU6IiwKKyAgICAiICAg
IGZpaTJkIHQxLCB0MywgZnQxIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0
NSkiLAorICAgICIgICAgb3JpIEFyaXRoUHJvZmlsZU51bWJlck51bWJlciwgdDUiLAorICAgICIg
ICAgc3RvcmVpc1RvSW5zdHJ1Y3Rpb24odDUsIDQpIiwKKyAgICAiLm9wMU5vdEludFJlYWR5OiIs
CisgICAgIiAgICBsb2FkaSA0W1BDXSwgdDEiLAorICAgICIgICAgZmlpMmQgdDAsIHQyLCBmdDAi
LAorICAgICIgICAgZG91YmxlT3BlcmF0aW9uKGZ0MSwgZnQwKSIsCisgICAgIiAgICBzdG9yZWQg
ZnQwLCAwW2NmciwgdDEsIDhdIiwKKyAgICAiICAgIGRpc3BhdGNoKDUpIiwKKyAgICAiLm9wMk5v
dEludDoiLAorICAgICIgICAgbG9hZGkgNFtQQ10sIHQyIiwKKyAgICAiICAgIGJpYSB0MywgTG93
ZXN0VGFnLCAuc2xvdyIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNCwgdDUpIiwK
KyAgICAiICAgIG9yaSBBcml0aFByb2ZpbGVJbnROdW1iZXIsIHQ1IiwKKyAgICAiICAgIHN0b3Jl
aXNUb0luc3RydWN0aW9uKHQ1LCA0KSIsCisgICAgIiAgICBjaTJkIHQwLCBmdDAiLAorICAgICIg
ICAgZmlpMmQgdDEsIHQzLCBmdDEiLAorICAgICIgICAgZG91YmxlT3BlcmF0aW9uKGZ0MSwgZnQw
KSIsCisgICAgIiAgICBzdG9yZWQgZnQwLCAwW2NmciwgdDIsIDhdIiwKKyAgICAiICAgIGRpc3Bh
dGNoKDUpIiwKKyAgICAiLnNsb3c6IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChzbG93
UGF0aCkiLAorICAgICIgICAgZGlzcGF0Y2goNSkiLAorICAgICJlbmQiLAorICAgICJtYWNybyBi
aW5hcnlPcChpbnRlZ2VyT3BlcmF0aW9uLCBkb3VibGVPcGVyYXRpb24sIHNsb3dQYXRoKSIsCisg
ICAgIiAgICBiaW5hcnlPcEN1c3RvbVN0b3JlKG1hY3JvIChpbnQzMlRhZywgbGVmdCwgcmlnaHQs
IHNsb3csIGluZGV4KSIsCisgICAgIiAgICBpbnRlZ2VyT3BlcmF0aW9uKGxlZnQsIHJpZ2h0LCBz
bG93KSIsCisgICAgIiAgICBzdG9yZWkgaW50MzJUYWcsIFRhZ09mZnNldFtjZnIsIGluZGV4LCA4
XSIsCisgICAgIiAgICBzdG9yZWkgcmlnaHQsIFBheWxvYWRPZmZzZXRbY2ZyLCBpbmRleCwgOF0i
LAorICAgICJlbmQsIGRvdWJsZU9wZXJhdGlvbiwgc2xvd1BhdGgpIiwKKyAgICAiZW5kIiwKKyAg
ICAiX2xsaW50X29wX2FkZDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAg
ICBiaW5hcnlPcChtYWNybyAobGVmdCwgcmlnaHQsIHNsb3cpIiwKKyAgICAiICAgIGJhZGRpbyBs
ZWZ0LCByaWdodCwgc2xvdyIsCisgICAgImVuZCwgbWFjcm8gKGxlZnQsIHJpZ2h0KSIsCisgICAg
IiAgICBhZGRkIGxlZnQsIHJpZ2h0IiwKKyAgICAiZW5kLCBfc2xvd19wYXRoX2FkZCkiLAorICAg
ICJfbGxpbnRfb3BfbXVsOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAg
IGJpbmFyeU9wQ3VzdG9tU3RvcmUobWFjcm8gKGludDMyVGFnLCBsZWZ0LCByaWdodCwgc2xvdywg
aW5kZXgpIiwKKyAgICAiY29uc3Qgc2NyYXRjaCA9IGludDMyVGFnIiwKKyAgICAiICAgIG1vdmUg
cmlnaHQsIHNjcmF0Y2giLAorICAgICIgICAgYm11bGlvIGxlZnQsIHNjcmF0Y2gsIHNsb3ciLAor
ICAgICIgICAgYnRpbnogc2NyYXRjaCwgLmRvbmUiLAorICAgICIgICAgYmlsdCBsZWZ0LCAwLCBz
bG93IiwKKyAgICAiICAgIGJpbHQgcmlnaHQsIDAsIHNsb3ciLAorICAgICIuZG9uZToiLAorICAg
ICIgICAgc3RvcmVpIEludDMyVGFnLCBUYWdPZmZzZXRbY2ZyLCBpbmRleCwgOF0iLAorICAgICIg
ICAgc3RvcmVpIHNjcmF0Y2gsIFBheWxvYWRPZmZzZXRbY2ZyLCBpbmRleCwgOF0iLAorICAgICJl
bmQsIG1hY3JvIChsZWZ0LCByaWdodCkiLAorICAgICIgICAgbXVsZCBsZWZ0LCByaWdodCIsCisg
ICAgImVuZCwgX3Nsb3dfcGF0aF9tdWwpIiwKKyAgICAiX2xsaW50X29wX3N1YjoiLAorICAgICIg
ICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBiaW5hcnlPcChtYWNybyAobGVmdCwgcmln
aHQsIHNsb3cpIiwKKyAgICAiICAgIGJzdWJpbyBsZWZ0LCByaWdodCwgc2xvdyIsCisgICAgImVu
ZCwgbWFjcm8gKGxlZnQsIHJpZ2h0KSIsCisgICAgIiAgICBzdWJkIGxlZnQsIHJpZ2h0IiwKKyAg
ICAiZW5kLCBfc2xvd19wYXRoX3N1YikiLAorICAgICJfbGxpbnRfb3BfZGl2OiIsCisgICAgIiAg
ICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGJpbmFyeU9wQ3VzdG9tU3RvcmUobWFjcm8g
KGludDMyVGFnLCBsZWZ0LCByaWdodCwgc2xvdywgaW5kZXgpIiwKKyAgICAiICAgIGNpMmQgbGVm
dCwgZnQwIiwKKyAgICAiICAgIGNpMmQgcmlnaHQsIGZ0MSIsCisgICAgIiAgICBkaXZkIGZ0MCwg
ZnQxIiwKKyAgICAiICAgIGJjZDJpIGZ0MSwgcmlnaHQsIC5ub3RJbnQiLAorICAgICIgICAgc3Rv
cmVpIGludDMyVGFnLCBUYWdPZmZzZXRbY2ZyLCBpbmRleCwgOF0iLAorICAgICIgICAgc3RvcmVp
IHJpZ2h0LCBQYXlsb2FkT2Zmc2V0W2NmciwgaW5kZXgsIDhdIiwKKyAgICAiICAgIGptcCAuZG9u
ZSIsCisgICAgIi5ub3RJbnQ6IiwKKyAgICAiICAgIHN0b3JlZCBmdDEsIDBbY2ZyLCBpbmRleCwg
OF0iLAorICAgICIuZG9uZToiLAorICAgICJlbmQsIG1hY3JvIChsZWZ0LCByaWdodCkiLAorICAg
ICIgICAgZGl2ZCBsZWZ0LCByaWdodCIsCisgICAgImVuZCwgX3Nsb3dfcGF0aF9kaXYpIiwKKyAg
ICAibWFjcm8gYml0T3Aob3BlcmF0aW9uLCBzbG93UGF0aCwgYWR2YW5jZSkiLAorICAgICIgICAg
bG9hZGkgMTJbUENdLCB0MiIsCisgICAgIiAgICBsb2FkaSA4W1BDXSwgdDAiLAorICAgICIgICAg
bG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDMsIHQxKSIsCisgICAgIiAgICBsb2FkQ29uc3Rh
bnRPclZhcmlhYmxlMlJlZyh0MCwgdDIsIHQwKSIsCisgICAgIiAgICBiaW5lcSB0MywgSW50MzJU
YWcsIC5zbG93IiwKKyAgICAiICAgIGJpbmVxIHQyLCBJbnQzMlRhZywgLnNsb3ciLAorICAgICIg
ICAgbG9hZGkgNFtQQ10sIHQyIiwKKyAgICAiICAgIG9wZXJhdGlvbih0MSwgdDApIiwKKyAgICAi
ICAgIHN0b3JlaSB0MywgVGFnT2Zmc2V0W2NmciwgdDIsIDhdIiwKKyAgICAiICAgIHN0b3JlaSB0
MCwgUGF5bG9hZE9mZnNldFtjZnIsIHQyLCA4XSIsCisgICAgIiAgICBkaXNwYXRjaChhZHZhbmNl
KSIsCisgICAgIi5zbG93OiIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoc2xvd1BhdGgp
IiwKKyAgICAiICAgIGRpc3BhdGNoKGFkdmFuY2UpIiwKKyAgICAiZW5kIiwKKyAgICAiX2xsaW50
X29wX2xzaGlmdDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBiaXRP
cChtYWNybyAobGVmdCwgcmlnaHQpIiwKKyAgICAiICAgIGxzaGlmdGkgbGVmdCwgcmlnaHQiLAor
ICAgICJlbmQsIF9zbG93X3BhdGhfbHNoaWZ0LCBjb25zdGV4cHIgKG9wX2xzaGlmdF9sZW5ndGgp
KSIsCisgICAgIl9sbGludF9vcF9yc2hpZnQ6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCki
LAorICAgICIgICAgYml0T3AobWFjcm8gKGxlZnQsIHJpZ2h0KSIsCisgICAgIiAgICByc2hpZnRp
IGxlZnQsIHJpZ2h0IiwKKyAgICAiZW5kLCBfc2xvd19wYXRoX3JzaGlmdCwgY29uc3RleHByIChv
cF9yc2hpZnRfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfdXJzaGlmdDoiLAorICAgICIgICAg
dHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBiaXRPcChtYWNybyAobGVmdCwgcmlnaHQpIiwK
KyAgICAiICAgIHVyc2hpZnRpIGxlZnQsIHJpZ2h0IiwKKyAgICAiZW5kLCBfc2xvd19wYXRoX3Vy
c2hpZnQsIGNvbnN0ZXhwciAob3BfdXJzaGlmdF9sZW5ndGgpKSIsCisgICAgIl9sbGludF9vcF91
bnNpZ25lZDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkaSA0
W1BDXSwgdDAiLAorICAgICIgICAgbG9hZGkgOFtQQ10sIHQxIiwKKyAgICAiICAgIGxvYWRDb25z
dGFudE9yVmFyaWFibGVQYXlsb2FkKHQxLCBJbnQzMlRhZywgdDIsIC5vcFVuc2lnbmVkU2xvdyki
LAorICAgICIgICAgYmlsdCB0MiwgMCwgLm9wVW5zaWduZWRTbG93IiwKKyAgICAiICAgIHN0b3Jl
aSB0MiwgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSIsCisgICAgIiAgICBzdG9yZWkgSW50MzJU
YWcsIFRhZ09mZnNldFtjZnIsIHQwLCA4XSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIg
KG9wX3Vuc2lnbmVkX2xlbmd0aCkpIiwKKyAgICAiLm9wVW5zaWduZWRTbG93OiIsCisgICAgIiAg
ICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF91bnNpZ25lZCkiLAorICAgICIgICAgZGlz
cGF0Y2goY29uc3RleHByIChvcF91bnNpZ25lZF9sZW5ndGgpKSIsCisgICAgIl9sbGludF9vcF9i
aXRhbmQ6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgYml0T3AobWFj
cm8gKGxlZnQsIHJpZ2h0KSIsCisgICAgIiAgICBhbmRpIGxlZnQsIHJpZ2h0IiwKKyAgICAiZW5k
LCBfc2xvd19wYXRoX2JpdGFuZCwgY29uc3RleHByIChvcF9iaXRhbmRfbGVuZ3RoKSkiLAorICAg
ICJfbGxpbnRfb3BfYml0eG9yOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAi
ICAgIGJpdE9wKG1hY3JvIChsZWZ0LCByaWdodCkiLAorICAgICIgICAgeG9yaSBsZWZ0LCByaWdo
dCIsCisgICAgImVuZCwgX3Nsb3dfcGF0aF9iaXR4b3IsIGNvbnN0ZXhwciAob3BfYml0eG9yX2xl
bmd0aCkpIiwKKyAgICAiX2xsaW50X29wX2JpdG9yOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlv
bigpIiwKKyAgICAiICAgIGJpdE9wKG1hY3JvIChsZWZ0LCByaWdodCkiLAorICAgICIgICAgb3Jp
IGxlZnQsIHJpZ2h0IiwKKyAgICAiZW5kLCBfc2xvd19wYXRoX2JpdG9yLCBjb25zdGV4cHIgKG9w
X2JpdG9yX2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX292ZXJyaWRlc19oYXNfaW5zdGFuY2U6
IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3Ry
dWN0aW9uKDEsIHQzKSIsCisgICAgIiAgICBzdG9yZWkgQm9vbGVhblRhZywgVGFnT2Zmc2V0W2Nm
ciwgdDMsIDhdIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MCkiLAorICAg
ICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQodDAsIENlbGxUYWcsIHQyLCAub3BP
dmVycmlkZXNoYXNJbnN0YW5jZVZhbHVlTm90Q2VsbCkiLAorICAgICIgICAgbG9hZENvbnN0YW50
T3JWYXJpYWJsZSh0MCwgdDEsIHQyKSIsCisgICAgIiAgICBiaW5lcSB0MSwgQ2VsbFRhZywgLm9w
T3ZlcnJpZGVzaGFzSW5zdGFuY2VWYWx1ZU5vdENlbGwiLAorICAgICIgICAgbG9hZHAgQ29kZUJs
b2NrW2Nmcl0sIHQxIiwKKyAgICAiICAgIGxvYWRwIENvZGVCbG9jazo6bV9nbG9iYWxPYmplY3Rb
dDFdLCB0MSIsCisgICAgIiAgICBsb2FkcCBKU0dsb2JhbE9iamVjdDo6bV9mdW5jdGlvblByb3Rv
SGFzSW5zdGFuY2VTeW1ib2xGdW5jdGlvblt0MV0sIHQxIiwKKyAgICAiICAgIGJpbmVxIHQxLCB0
MiwgLm9wT3ZlcnJpZGVzaGFzSW5zdGFuY2VWYWx1ZU5vdERlZmF1bHQiLAorICAgICIgICAgbG9h
ZGlzRnJvbUluc3RydWN0aW9uKDIsIHQwKSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlh
YmxlUGF5bG9hZFVuY2hlY2tlZCh0MCwgdDEpIiwKKyAgICAiICAgIHRieiBKU0NlbGw6Om1fZmxh
Z3NbdDFdLCBJbXBsZW1lbnRzRGVmYXVsdEhhc0luc3RhbmNlLCB0MCIsCisgICAgIiAgICBzdG9y
ZWkgdDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MywgOF0iLAorICAgICIgICAgZGlzcGF0Y2goY29u
c3RleHByIChvcF9vdmVycmlkZXNfaGFzX2luc3RhbmNlX2xlbmd0aCkpIiwKKyAgICAiLm9wT3Zl
cnJpZGVzaGFzSW5zdGFuY2VWYWx1ZU5vdENlbGw6IiwKKyAgICAiLm9wT3ZlcnJpZGVzaGFzSW5z
dGFuY2VWYWx1ZU5vdERlZmF1bHQ6IiwKKyAgICAiICAgIHN0b3JlaSAxLCBQYXlsb2FkT2Zmc2V0
W2NmciwgdDMsIDhdIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3Bfb3ZlcnJpZGVz
X2hhc19pbnN0YW5jZV9sZW5ndGgpKSIsCisgICAgIl9sbGludF9vcF9pbnN0YW5jZW9mX2N1c3Rv
bToiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xv
d1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9pbnN0YW5jZW9mX2N1c3RvbSkiLAorICAgICIgICAgZGlz
cGF0Y2goY29uc3RleHByIChvcF9pbnN0YW5jZW9mX2N1c3RvbV9sZW5ndGgpKSIsCisgICAgIl9s
bGludF9vcF9pc19lbXB0eToiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAg
ICBsb2FkaSA4W1BDXSwgdDEiLAorICAgICIgICAgbG9hZGkgNFtQQ10sIHQwIiwKKyAgICAiICAg
IGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQyLCB0MykiLAorICAgICIgICAgY2llcSB0Miwg
RW1wdHlWYWx1ZVRhZywgdDMiLAorICAgICIgICAgc3RvcmVpIEJvb2xlYW5UYWcsIFRhZ09mZnNl
dFtjZnIsIHQwLCA4XSIsCisgICAgIiAgICBzdG9yZWkgdDMsIFBheWxvYWRPZmZzZXRbY2ZyLCB0
MCwgOF0iLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9pc19lbXB0eV9sZW5ndGgp
KSIsCisgICAgIl9sbGludF9vcF9pc191bmRlZmluZWQ6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0
aW9uKCkiLAorICAgICIgICAgbG9hZGkgOFtQQ10sIHQxIiwKKyAgICAiICAgIGxvYWRpIDRbUENd
LCB0MCIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MiwgdDMpIiwKKyAg
ICAiICAgIHN0b3JlaSBCb29sZWFuVGFnLCBUYWdPZmZzZXRbY2ZyLCB0MCwgOF0iLAorICAgICIg
ICAgYmllcSB0MiwgQ2VsbFRhZywgLm9wSXNVbmRlZmluZWRDZWxsIiwKKyAgICAiICAgIGNpZXEg
dDIsIFVuZGVmaW5lZFRhZywgdDMiLAorICAgICIgICAgc3RvcmVpIHQzLCBQYXlsb2FkT2Zmc2V0
W2NmciwgdDAsIDhdIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfaXNfdW5kZWZp
bmVkX2xlbmd0aCkpIiwKKyAgICAiLm9wSXNVbmRlZmluZWRDZWxsOiIsCisgICAgIiAgICBidGJu
eiBKU0NlbGw6Om1fZmxhZ3NbdDNdLCBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkLCAub3BJc1VuZGVm
aW5lZE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQiLAorICAgICIgICAgbW92ZSAwLCB0MSIsCisgICAg
IiAgICBzdG9yZWkgdDEsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MCwgOF0iLAorICAgICIgICAgZGlz
cGF0Y2goY29uc3RleHByIChvcF9pc191bmRlZmluZWRfbGVuZ3RoKSkiLAorICAgICIub3BJc1Vu
ZGVmaW5lZE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQ6IiwKKyAgICAiICAgIGxvYWRwIEpTQ2VsbDo6
bV9zdHJ1Y3R1cmVJRFt0M10sIHQxIiwKKyAgICAiICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0
MyIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2JqZWN0W3QzXSwgdDMiLAor
ICAgICIgICAgY3BlcSBTdHJ1Y3R1cmU6Om1fZ2xvYmFsT2JqZWN0W3QxXSwgdDMsIHQxIiwKKyAg
ICAiICAgIHN0b3JlaSB0MSwgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSIsCisgICAgIiAgICBk
aXNwYXRjaChjb25zdGV4cHIgKG9wX2lzX3VuZGVmaW5lZF9sZW5ndGgpKSIsCisgICAgIl9sbGlu
dF9vcF9pc19ib29sZWFuOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAg
IGxvYWRpIDhbUENdLCB0MSIsCisgICAgIiAgICBsb2FkaSA0W1BDXSwgdDIiLAorICAgICIgICAg
bG9hZENvbnN0YW50T3JWYXJpYWJsZVRhZyh0MSwgdDApIiwKKyAgICAiICAgIGNpZXEgdDAsIEJv
b2xlYW5UYWcsIHQwIiwKKyAgICAiICAgIHN0b3JlaSBCb29sZWFuVGFnLCBUYWdPZmZzZXRbY2Zy
LCB0MiwgOF0iLAorICAgICIgICAgc3RvcmVpIHQwLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDIsIDhd
IiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfaXNfYm9vbGVhbl9sZW5ndGgpKSIs
CisgICAgIl9sbGludF9vcF9pc19udW1iZXI6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCki
LAorICAgICIgICAgbG9hZGkgOFtQQ10sIHQxIiwKKyAgICAiICAgIGxvYWRpIDRbUENdLCB0MiIs
CisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlVGFnKHQxLCB0MCkiLAorICAgICIgICAg
c3RvcmVpIEJvb2xlYW5UYWcsIFRhZ09mZnNldFtjZnIsIHQyLCA4XSIsCisgICAgIiAgICBhZGRp
IDEsIHQwIiwKKyAgICAiICAgIGNpYiB0MCwgKExvd2VzdFRhZyArIDEpLCB0MSIsCisgICAgIiAg
ICBzdG9yZWkgdDEsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MiwgOF0iLAorICAgICIgICAgZGlzcGF0
Y2goY29uc3RleHByIChvcF9pc19udW1iZXJfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfaXNf
Y2VsbF93aXRoX3R5cGU6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAg
bG9hZGkgOFtQQ10sIHQxIiwKKyAgICAiICAgIGxvYWRpIDRbUENdLCB0MiIsCisgICAgIiAgICBs
b2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MCwgdDMpIiwKKyAgICAiICAgIHN0b3JlaSBCb29s
ZWFuVGFnLCBUYWdPZmZzZXRbY2ZyLCB0MiwgOF0iLAorICAgICIgICAgYmluZXEgdDAsIENlbGxU
YWcsIC5ub3RDZWxsQ2FzZSIsCisgICAgIiAgICBsb2FkaSAxMltQQ10sIHQwIiwKKyAgICAiICAg
IGNiZXEgSlNDZWxsOjptX3R5cGVbdDNdLCB0MCwgdDEiLAorICAgICIgICAgc3RvcmVpIHQxLCBQ
YXlsb2FkT2Zmc2V0W2NmciwgdDIsIDhdIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAo
b3BfaXNfY2VsbF93aXRoX3R5cGVfbGVuZ3RoKSkiLAorICAgICIubm90Q2VsbENhc2U6IiwKKyAg
ICAiICAgIHN0b3JlcCAwLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDIsIDhdIiwKKyAgICAiICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciAob3BfaXNfY2VsbF93aXRoX3R5cGVfbGVuZ3RoKSkiLAorICAgICJf
bGxpbnRfb3BfaXNfb2JqZWN0OiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAi
ICAgIGxvYWRpIDhbUENdLCB0MSIsCisgICAgIiAgICBsb2FkaSA0W1BDXSwgdDIiLAorICAgICIg
ICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDAsIHQzKSIsCisgICAgIiAgICBzdG9yZWkg
Qm9vbGVhblRhZywgVGFnT2Zmc2V0W2NmciwgdDIsIDhdIiwKKyAgICAiICAgIGJpbmVxIHQwLCBD
ZWxsVGFnLCAub3BJc09iamVjdE5vdENlbGwiLAorICAgICIgICAgY2JhZXEgSlNDZWxsOjptX3R5
cGVbdDNdLCBPYmplY3RUeXBlLCB0MSIsCisgICAgIiAgICBzdG9yZWkgdDEsIFBheWxvYWRPZmZz
ZXRbY2ZyLCB0MiwgOF0iLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9pc19vYmpl
Y3RfbGVuZ3RoKSkiLAorICAgICIub3BJc09iamVjdE5vdENlbGw6IiwKKyAgICAiICAgIHN0b3Jl
cCAwLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDIsIDhdIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0
ZXhwciAob3BfaXNfb2JqZWN0X2xlbmd0aCkpIiwKKyAgICAibWFjcm8gbG9hZFByb3BlcnR5QXRW
YXJpYWJsZU9mZnNldEtub3duTm90SW5saW5lKHByb3BlcnR5T2Zmc2V0LCBvYmplY3RBbmRTdG9y
YWdlLCB0YWcsIHBheWxvYWQpIiwKKyAgICAiICAgIGFzc2VydChtYWNybyAob2spIiwKKyAgICAi
ICAgIGJpZ3RlcSBwcm9wZXJ0eU9mZnNldCwgZmlyc3RPdXRPZkxpbmVPZmZzZXQsIG9rIiwKKyAg
ICAiZW5kKSIsCisgICAgIiAgICBuZWdpIHByb3BlcnR5T2Zmc2V0IiwKKyAgICAiICAgIGxvYWRw
IEpTT2JqZWN0OjptX2J1dHRlcmZseVtvYmplY3RBbmRTdG9yYWdlXSwgb2JqZWN0QW5kU3RvcmFn
ZSIsCisgICAgIiAgICBsb2FkaSAoVGFnT2Zmc2V0ICsgKChmaXJzdE91dE9mTGluZU9mZnNldCAt
IDIpICogOCkpW29iamVjdEFuZFN0b3JhZ2UsIHByb3BlcnR5T2Zmc2V0LCA4XSwgdGFnIiwKKyAg
ICAiICAgIGxvYWRpIChQYXlsb2FkT2Zmc2V0ICsgKChmaXJzdE91dE9mTGluZU9mZnNldCAtIDIp
ICogOCkpW29iamVjdEFuZFN0b3JhZ2UsIHByb3BlcnR5T2Zmc2V0LCA4XSwgcGF5bG9hZCIsCisg
ICAgImVuZCIsCisgICAgIm1hY3JvIGxvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXQocHJvcGVy
dHlPZmZzZXQsIG9iamVjdEFuZFN0b3JhZ2UsIHRhZywgcGF5bG9hZCkiLAorICAgICIgICAgYmls
dCBwcm9wZXJ0eU9mZnNldCwgZmlyc3RPdXRPZkxpbmVPZmZzZXQsIC5pc0lubGluZSIsCisgICAg
IiAgICBsb2FkcCBKU09iamVjdDo6bV9idXR0ZXJmbHlbb2JqZWN0QW5kU3RvcmFnZV0sIG9iamVj
dEFuZFN0b3JhZ2UiLAorICAgICIgICAgbmVnaSBwcm9wZXJ0eU9mZnNldCIsCisgICAgIiAgICBq
bXAgLnJlYWR5IiwKKyAgICAiLmlzSW5saW5lOiIsCisgICAgIiAgICBhZGRwIChzaXplb2YgSlNP
YmplY3QgLSAoKGZpcnN0T3V0T2ZMaW5lT2Zmc2V0IC0gMikgKiA4KSksIG9iamVjdEFuZFN0b3Jh
Z2UiLAorICAgICIucmVhZHk6IiwKKyAgICAiICAgIGxvYWRpIChUYWdPZmZzZXQgKyAoKGZpcnN0
T3V0T2ZMaW5lT2Zmc2V0IC0gMikgKiA4KSlbb2JqZWN0QW5kU3RvcmFnZSwgcHJvcGVydHlPZmZz
ZXQsIDhdLCB0YWciLAorICAgICIgICAgbG9hZGkgKFBheWxvYWRPZmZzZXQgKyAoKGZpcnN0T3V0
T2ZMaW5lT2Zmc2V0IC0gMikgKiA4KSlbb2JqZWN0QW5kU3RvcmFnZSwgcHJvcGVydHlPZmZzZXQs
IDhdLCBwYXlsb2FkIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gc3RvcmVQcm9wZXJ0eUF0VmFy
aWFibGVPZmZzZXQocHJvcGVydHlPZmZzZXRBc0ludCwgb2JqZWN0QW5kU3RvcmFnZSwgdGFnLCBw
YXlsb2FkKSIsCisgICAgIiAgICBiaWx0IHByb3BlcnR5T2Zmc2V0QXNJbnQsIGZpcnN0T3V0T2ZM
aW5lT2Zmc2V0LCAuaXNJbmxpbmUiLAorICAgICIgICAgbG9hZHAgSlNPYmplY3Q6Om1fYnV0dGVy
Zmx5W29iamVjdEFuZFN0b3JhZ2VdLCBvYmplY3RBbmRTdG9yYWdlIiwKKyAgICAiICAgIG5lZ2kg
cHJvcGVydHlPZmZzZXRBc0ludCIsCisgICAgIiAgICBqbXAgLnJlYWR5IiwKKyAgICAiLmlzSW5s
aW5lOiIsCisgICAgIiAgICBhZGRwIChzaXplb2YgSlNPYmplY3QgLSAoKGZpcnN0T3V0T2ZMaW5l
T2Zmc2V0IC0gMikgKiA4KSksIG9iamVjdEFuZFN0b3JhZ2UiLAorICAgICIucmVhZHk6IiwKKyAg
ICAiICAgIHN0b3JlaSB0YWcsIChUYWdPZmZzZXQgKyAoKGZpcnN0T3V0T2ZMaW5lT2Zmc2V0IC0g
MikgKiA4KSlbb2JqZWN0QW5kU3RvcmFnZSwgcHJvcGVydHlPZmZzZXRBc0ludCwgOF0iLAorICAg
ICIgICAgc3RvcmVpIHBheWxvYWQsIChQYXlsb2FkT2Zmc2V0ICsgKChmaXJzdE91dE9mTGluZU9m
ZnNldCAtIDIpICogOCkpW29iamVjdEFuZFN0b3JhZ2UsIHByb3BlcnR5T2Zmc2V0QXNJbnQsIDhd
IiwKKyAgICAiZW5kIiwKKyAgICAiX2xsaW50X29wX2dldF9ieV9pZDoiLAorICAgICIgICAgdHJh
Y2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkaSA4W1BDXSwgdDAiLAorICAgICIgICAgbG9h
ZGkgMTZbUENdLCB0MSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZCh0
MCwgQ2VsbFRhZywgdDMsIC5vcEdldEJ5SWRTbG93KSIsCisgICAgIiAgICBsb2FkaSAyMFtQQ10s
IHQyIiwKKyAgICAiICAgIGJpbmVxIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0M10sIHQxLCAub3BH
ZXRCeUlkU2xvdyIsCisgICAgIiAgICBsb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0KHQyLCB0
MywgdDAsIHQxKSIsCisgICAgIiAgICBsb2FkaSA0W1BDXSwgdDIiLAorICAgICIgICAgc3RvcmVp
IHQwLCBUYWdPZmZzZXRbY2ZyLCB0MiwgOF0iLAorICAgICIgICAgc3RvcmVpIHQxLCBQYXlsb2Fk
T2Zmc2V0W2NmciwgdDIsIDhdIiwKKyAgICAiICAgIHZhbHVlUHJvZmlsZSh0MCwgdDEsIDMyLCB0
MikiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9nZXRfYnlfaWRfbGVuZ3RoKSki
LAorICAgICIub3BHZXRCeUlkU2xvdzoiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9s
bGludF9zbG93X3BhdGhfZ2V0X2J5X2lkKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIg
KG9wX2dldF9ieV9pZF9sZW5ndGgpKSIsCisgICAgIl9sbGludF9vcF9nZXRfYnlfaWRfcHJvdG9f
bG9hZDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkaSA4W1BD
XSwgdDAiLAorICAgICIgICAgbG9hZGkgMTZbUENdLCB0MSIsCisgICAgIiAgICBsb2FkQ29uc3Rh
bnRPclZhcmlhYmxlUGF5bG9hZCh0MCwgQ2VsbFRhZywgdDMsIC5vcEdldEJ5SWRQcm90b1Nsb3cp
IiwKKyAgICAiICAgIGxvYWRpIDIwW1BDXSwgdDIiLAorICAgICIgICAgYmluZXEgSlNDZWxsOjpt
X3N0cnVjdHVyZUlEW3QzXSwgdDEsIC5vcEdldEJ5SWRQcm90b1Nsb3ciLAorICAgICIgICAgbG9h
ZHBGcm9tSW5zdHJ1Y3Rpb24oNiwgdDMpIiwKKyAgICAiICAgIGxvYWRQcm9wZXJ0eUF0VmFyaWFi
bGVPZmZzZXQodDIsIHQzLCB0MCwgdDEpIiwKKyAgICAiICAgIGxvYWRpIDRbUENdLCB0MiIsCisg
ICAgIiAgICBzdG9yZWkgdDAsIFRhZ09mZnNldFtjZnIsIHQyLCA4XSIsCisgICAgIiAgICBzdG9y
ZWkgdDEsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MiwgOF0iLAorICAgICIgICAgdmFsdWVQcm9maWxl
KHQwLCB0MSwgMzIsIHQyKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2dldF9i
eV9pZF9wcm90b19sb2FkX2xlbmd0aCkpIiwKKyAgICAiLm9wR2V0QnlJZFByb3RvU2xvdzoiLAor
ICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfZ2V0X2J5X2lkKSIs
CisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2dldF9ieV9pZF9wcm90b19sb2FkX2xl
bmd0aCkpIiwKKyAgICAiX2xsaW50X29wX2dldF9ieV9pZF91bnNldDoiLAorICAgICIgICAgdHJh
Y2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkaSA4W1BDXSwgdDAiLAorICAgICIgICAgbG9h
ZGkgMTZbUENdLCB0MSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZCh0
MCwgQ2VsbFRhZywgdDMsIC5vcEdldEJ5SWRVbnNldFNsb3cpIiwKKyAgICAiICAgIGJpbmVxIEpT
Q2VsbDo6bV9zdHJ1Y3R1cmVJRFt0M10sIHQxLCAub3BHZXRCeUlkVW5zZXRTbG93IiwKKyAgICAi
ICAgIGxvYWRpIDRbUENdLCB0MiIsCisgICAgIiAgICBzdG9yZWkgVW5kZWZpbmVkVGFnLCBUYWdP
ZmZzZXRbY2ZyLCB0MiwgOF0iLAorICAgICIgICAgc3RvcmVpIDAsIFBheWxvYWRPZmZzZXRbY2Zy
LCB0MiwgOF0iLAorICAgICIgICAgdmFsdWVQcm9maWxlKFVuZGVmaW5lZFRhZywgMCwgMzIsIHQy
KSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2dldF9ieV9pZF91bnNldF9sZW5n
dGgpKSIsCisgICAgIi5vcEdldEJ5SWRVbnNldFNsb3c6IiwKKyAgICAiICAgIGNhbGxPcGNvZGVT
bG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2dldF9ieV9pZCkiLAorICAgICIgICAgZGlzcGF0Y2go
Y29uc3RleHByIChvcF9nZXRfYnlfaWRfdW5zZXRfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3Bf
Z2V0X2FycmF5X2xlbmd0aDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAg
ICBsb2FkaSA4W1BDXSwgdDAiLAorICAgICIgICAgbG9hZHAgMTZbUENdLCB0MSIsCisgICAgIiAg
ICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZCh0MCwgQ2VsbFRhZywgdDMsIC5vcEdldEFy
cmF5TGVuZ3RoU2xvdykiLAorICAgICIgICAgbW92ZSB0MywgdDIiLAorICAgICIgICAgYXJyYXlQ
cm9maWxlKHQyLCB0MSwgdDApIiwKKyAgICAiICAgIGJ0aXogdDIsIElzQXJyYXksIC5vcEdldEFy
cmF5TGVuZ3RoU2xvdyIsCisgICAgIiAgICBidGl6IHQyLCBJbmRleGluZ1NoYXBlTWFzaywgLm9w
R2V0QXJyYXlMZW5ndGhTbG93IiwKKyAgICAiICAgIGxvYWRpIDRbUENdLCB0MSIsCisgICAgIiAg
ICBsb2FkcCBKU09iamVjdDo6bV9idXR0ZXJmbHlbdDNdLCB0MCIsCisgICAgIiAgICBsb2FkaSAo
KC1zaXplb2YgSW5kZXhpbmdIZWFkZXIpICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy5wdWJs
aWNMZW5ndGgpW3QwXSwgdDAiLAorICAgICIgICAgYmlsdCB0MCwgMCwgLm9wR2V0QXJyYXlMZW5n
dGhTbG93IiwKKyAgICAiICAgIHZhbHVlUHJvZmlsZShJbnQzMlRhZywgdDAsIDMyLCB0MikiLAor
ICAgICIgICAgc3RvcmVwIHQwLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDEsIDhdIiwKKyAgICAiICAg
IHN0b3JlcCBJbnQzMlRhZywgVGFnT2Zmc2V0W2NmciwgdDEsIDhdIiwKKyAgICAiICAgIGRpc3Bh
dGNoKGNvbnN0ZXhwciAob3BfZ2V0X2FycmF5X2xlbmd0aF9sZW5ndGgpKSIsCisgICAgIi5vcEdl
dEFycmF5TGVuZ3RoU2xvdzoiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9z
bG93X3BhdGhfZ2V0X2J5X2lkKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2dl
dF9hcnJheV9sZW5ndGhfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfcHV0X2J5X2lkOiIsCisg
ICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIHdyaXRlQmFycmllck9uT3BlcmFu
ZHMoMSwgMykiLAorICAgICIgICAgbG9hZGkgNFtQQ10sIHQzIiwKKyAgICAiICAgIGxvYWRDb25z
dGFudE9yVmFyaWFibGVQYXlsb2FkKHQzLCBDZWxsVGFnLCB0MCwgLm9wUHV0QnlJZFNsb3cpIiwK
KyAgICAiICAgIGxvYWRpIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0MF0sIHQyIiwKKyAgICAiICAg
IGJpbmVxIHQyLCAxNltQQ10sIC5vcFB1dEJ5SWRTbG93IiwKKyAgICAiICAgIGxvYWRpIDEyW1BD
XSwgdDEiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDIsIHQzKSIsCisg
ICAgIiAgICBsb2FkaSAzMltQQ10sIHQxIiwKKyAgICAiICAgIGJ0aW56IHQxLCBQdXRCeUlkUHJp
bWFyeVR5cGVNYXNrLCAub3BQdXRCeUlkVHlwZUNoZWNrT2JqZWN0V2l0aFN0cnVjdHVyZU9yT3Ro
ZXIiLAorICAgICIgICAgYW5kaSBQdXRCeUlkU2Vjb25kYXJ5VHlwZU1hc2ssIHQxIiwKKyAgICAi
ICAgIGJpbHQgdDEsIFB1dEJ5SWRTZWNvbmRhcnlUeXBlU3RyaW5nLCAub3BQdXRCeUlkVHlwZUNo
ZWNrTGVzc1RoYW5TdHJpbmciLAorICAgICIgICAgYmlsdCB0MSwgUHV0QnlJZFNlY29uZGFyeVR5
cGVPYmplY3RPck90aGVyLCAub3BQdXRCeUlkVHlwZUNoZWNrTGVzc1RoYW5PYmplY3RPck90aGVy
IiwKKyAgICAiICAgIGJpZXEgdDEsIFB1dEJ5SWRTZWNvbmRhcnlUeXBlVG9wLCAub3BQdXRCeUlk
RG9uZUNoZWNraW5nVHlwZXMiLAorICAgICIgICAgYmllcSB0MiwgQ2VsbFRhZywgLm9wUHV0QnlJ
ZFR5cGVDaGVja09iamVjdCIsCisgICAgIi5vcFB1dEJ5SWRUeXBlQ2hlY2tPdGhlcjoiLAorICAg
ICIgICAgYmllcSB0MiwgTnVsbFRhZywgLm9wUHV0QnlJZERvbmVDaGVja2luZ1R5cGVzIiwKKyAg
ICAiICAgIGJpZXEgdDIsIFVuZGVmaW5lZFRhZywgLm9wUHV0QnlJZERvbmVDaGVja2luZ1R5cGVz
IiwKKyAgICAiICAgIGptcCAub3BQdXRCeUlkU2xvdyIsCisgICAgIi5vcFB1dEJ5SWRUeXBlQ2hl
Y2tMZXNzVGhhbk9iamVjdE9yT3RoZXI6IiwKKyAgICAiICAgIGJpbmVxIHQyLCBDZWxsVGFnLCAu
b3BQdXRCeUlkU2xvdyIsCisgICAgIiAgICBiaWVxIHQxLCBQdXRCeUlkU2Vjb25kYXJ5VHlwZU9i
amVjdCwgLm9wUHV0QnlJZFR5cGVDaGVja09iamVjdCIsCisgICAgIiAgICBiaWVxIHQxLCBQdXRC
eUlkU2Vjb25kYXJ5VHlwZVN5bWJvbCwgLm9wUHV0QnlJZFR5cGVDaGVja1N5bWJvbCIsCisgICAg
IiAgICBiYmVxIEpTQ2VsbDo6bV90eXBlW3QzXSwgU3RyaW5nVHlwZSwgLm9wUHV0QnlJZERvbmVD
aGVja2luZ1R5cGVzIiwKKyAgICAiICAgIGptcCAub3BQdXRCeUlkU2xvdyIsCisgICAgIi5vcFB1
dEJ5SWRUeXBlQ2hlY2tPYmplY3Q6IiwKKyAgICAiICAgIGJiYWVxIEpTQ2VsbDo6bV90eXBlW3Qz
XSwgT2JqZWN0VHlwZSwgLm9wUHV0QnlJZERvbmVDaGVja2luZ1R5cGVzIiwKKyAgICAiICAgIGpt
cCAub3BQdXRCeUlkU2xvdyIsCisgICAgIi5vcFB1dEJ5SWRUeXBlQ2hlY2tTeW1ib2w6IiwKKyAg
ICAiICAgIGJiZXEgSlNDZWxsOjptX3R5cGVbdDNdLCBTeW1ib2xUeXBlLCAub3BQdXRCeUlkRG9u
ZUNoZWNraW5nVHlwZXMiLAorICAgICIgICAgam1wIC5vcFB1dEJ5SWRTbG93IiwKKyAgICAiLm9w
UHV0QnlJZFR5cGVDaGVja0xlc3NUaGFuU3RyaW5nOiIsCisgICAgIiAgICBiaWx0IHQxLCBQdXRC
eUlkU2Vjb25kYXJ5VHlwZUludDMyLCAub3BQdXRCeUlkVHlwZUNoZWNrTGVzc1RoYW5JbnQzMiIs
CisgICAgIiAgICBiaWVxIHQxLCBQdXRCeUlkU2Vjb25kYXJ5VHlwZU51bWJlciwgLm9wUHV0QnlJ
ZFR5cGVDaGVja051bWJlciIsCisgICAgIiAgICBiaWVxIHQyLCBJbnQzMlRhZywgLm9wUHV0QnlJ
ZERvbmVDaGVja2luZ1R5cGVzIiwKKyAgICAiICAgIGptcCAub3BQdXRCeUlkU2xvdyIsCisgICAg
Ii5vcFB1dEJ5SWRUeXBlQ2hlY2tOdW1iZXI6IiwKKyAgICAiICAgIGJpYiB0MiwgKExvd2VzdFRh
ZyArIDEpLCAub3BQdXRCeUlkRG9uZUNoZWNraW5nVHlwZXMiLAorICAgICIgICAgam1wIC5vcFB1
dEJ5SWRTbG93IiwKKyAgICAiLm9wUHV0QnlJZFR5cGVDaGVja0xlc3NUaGFuSW50MzI6IiwKKyAg
ICAiICAgIGJpbmVxIHQxLCBQdXRCeUlkU2Vjb25kYXJ5VHlwZUJvb2xlYW4sIC5vcFB1dEJ5SWRU
eXBlQ2hlY2tCb3R0b21Pck90aGVyIiwKKyAgICAiICAgIGJpZXEgdDIsIEJvb2xlYW5UYWcsIC5v
cFB1dEJ5SWREb25lQ2hlY2tpbmdUeXBlcyIsCisgICAgIiAgICBqbXAgLm9wUHV0QnlJZFNsb3ci
LAorICAgICIub3BQdXRCeUlkVHlwZUNoZWNrQm90dG9tT3JPdGhlcjoiLAorICAgICIgICAgYmll
cSB0MSwgUHV0QnlJZFNlY29uZGFyeVR5cGVPdGhlciwgLm9wUHV0QnlJZFR5cGVDaGVja090aGVy
IiwKKyAgICAiICAgIGptcCAub3BQdXRCeUlkU2xvdyIsCisgICAgIi5vcFB1dEJ5SWRUeXBlQ2hl
Y2tPYmplY3RXaXRoU3RydWN0dXJlT3JPdGhlcjoiLAorICAgICIgICAgYmllcSB0MiwgQ2VsbFRh
ZywgLm9wUHV0QnlJZFR5cGVDaGVja09iamVjdFdpdGhTdHJ1Y3R1cmUiLAorICAgICIgICAgYnRp
bnogdDEsIFB1dEJ5SWRQcmltYXJ5VHlwZU9iamVjdFdpdGhTdHJ1Y3R1cmVPck90aGVyLCAub3BQ
dXRCeUlkVHlwZUNoZWNrT3RoZXIiLAorICAgICIgICAgam1wIC5vcFB1dEJ5SWRTbG93IiwKKyAg
ICAiLm9wUHV0QnlJZFR5cGVDaGVja09iamVjdFdpdGhTdHJ1Y3R1cmU6IiwKKyAgICAiICAgIGFu
ZGkgUHV0QnlJZFNlY29uZGFyeVR5cGVNYXNrLCB0MSIsCisgICAgIiAgICBiaW5lcSB0MSwgSlND
ZWxsOjptX3N0cnVjdHVyZUlEW3QzXSwgLm9wUHV0QnlJZFNsb3ciLAorICAgICIub3BQdXRCeUlk
RG9uZUNoZWNraW5nVHlwZXM6IiwKKyAgICAiICAgIGxvYWRpIDI0W1BDXSwgdDEiLAorICAgICIg
ICAgYnRpeiB0MSwgLm9wUHV0QnlJZE5vdFRyYW5zaXRpb24iLAorICAgICIgICAgbG9hZHAgMjhb
UENdLCB0MyIsCisgICAgIiAgICBidHB6IHQzLCAub3BQdXRCeUlkVHJhbnNpdGlvbkRpcmVjdCIs
CisgICAgIiAgICBsb2FkaSAxNltQQ10sIHQyIiwKKyAgICAiICAgIGxvYWRwIFN0cnVjdHVyZUNo
YWluOjptX3ZlY3Rvclt0M10sIHQzIiwKKyAgICAiICAgIGFzc2VydChtYWNybyAob2spIiwKKyAg
ICAiICAgIGJ0cG56IHQzLCBvayIsCisgICAgImVuZCkiLAorICAgICIgICAgbG9hZHAgU3RydWN0
dXJlOjptX3Byb3RvdHlwZVt0Ml0sIHQyIiwKKyAgICAiICAgIGJ0cHogdDIsIC5vcFB1dEJ5SWRU
cmFuc2l0aW9uQ2hhaW5Eb25lIiwKKyAgICAiLm9wUHV0QnlJZFRyYW5zaXRpb25DaGFpbkxvb3A6
IiwKKyAgICAiICAgIGxvYWRwIDBbdDNdLCB0MSIsCisgICAgIiAgICBicG5lcSB0MSwgSlNDZWxs
OjptX3N0cnVjdHVyZUlEW3QyXSwgLm9wUHV0QnlJZFNsb3ciLAorICAgICIgICAgYWRkcCA0LCB0
MyIsCisgICAgIiAgICBsb2FkcCBTdHJ1Y3R1cmU6Om1fcHJvdG90eXBlW3QxXSwgdDIiLAorICAg
ICIgICAgYnRwbnogdDIsIC5vcFB1dEJ5SWRUcmFuc2l0aW9uQ2hhaW5Mb29wIiwKKyAgICAiLm9w
UHV0QnlJZFRyYW5zaXRpb25DaGFpbkRvbmU6IiwKKyAgICAiICAgIGxvYWRpIDI0W1BDXSwgdDEi
LAorICAgICIub3BQdXRCeUlkVHJhbnNpdGlvbkRpcmVjdDoiLAorICAgICIgICAgc3RvcmVpIHQx
LCBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDBdIiwKKyAgICAiICAgIGxvYWRpIDEyW1BDXSwgdDEi
LAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MSwgdDIsIHQzKSIsCisgICAgIiAg
ICBsb2FkaSAyMFtQQ10sIHQxIiwKKyAgICAiICAgIHN0b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zm
c2V0KHQxLCB0MCwgdDIsIHQzKSIsCisgICAgIiAgICB3cml0ZUJhcnJpZXJPbk9wZXJhbmQoMSki
LAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9wdXRfYnlfaWRfbGVuZ3RoKSkiLAor
ICAgICIub3BQdXRCeUlkTm90VHJhbnNpdGlvbjoiLAorICAgICIgICAgbG9hZGkgMTJbUENdLCB0
MSIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MiwgdDMpIiwKKyAgICAi
ICAgIGxvYWRpIDIwW1BDXSwgdDEiLAorICAgICIgICAgc3RvcmVQcm9wZXJ0eUF0VmFyaWFibGVP
ZmZzZXQodDEsIHQwLCB0MiwgdDMpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3Bf
cHV0X2J5X2lkX2xlbmd0aCkpIiwKKyAgICAiLm9wUHV0QnlJZFNsb3c6IiwKKyAgICAiICAgIGNh
bGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX3B1dF9ieV9pZCkiLAorICAgICIgICAg
ZGlzcGF0Y2goY29uc3RleHByIChvcF9wdXRfYnlfaWRfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRf
b3BfZ2V0X2J5X3ZhbDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBs
b2FkaSA4W1BDXSwgdDIiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQo
dDIsIENlbGxUYWcsIHQwLCAub3BHZXRCeVZhbFNsb3cpIiwKKyAgICAiICAgIG1vdmUgdDAsIHQy
IiwKKyAgICAiICAgIGxvYWRwIDE2W1BDXSwgdDMiLAorICAgICIgICAgYXJyYXlQcm9maWxlKHQy
LCB0MywgdDEpIiwKKyAgICAiICAgIGxvYWRpIDEyW1BDXSwgdDMiLAorICAgICIgICAgbG9hZENv
bnN0YW50T3JWYXJpYWJsZVBheWxvYWQodDMsIEludDMyVGFnLCB0MSwgLm9wR2V0QnlWYWxTbG93
KSIsCisgICAgIiAgICBsb2FkcCBKU09iamVjdDo6bV9idXR0ZXJmbHlbdDBdLCB0MyIsCisgICAg
IiAgICBhbmRpIEluZGV4aW5nU2hhcGVNYXNrLCB0MiIsCisgICAgIiAgICBiaWVxIHQyLCBJbnQz
MlNoYXBlLCAub3BHZXRCeVZhbElzQ29udGlndW91cyIsCisgICAgIiAgICBiaW5lcSB0MiwgQ29u
dGlndW91c1NoYXBlLCAub3BHZXRCeVZhbE5vdENvbnRpZ3VvdXMiLAorICAgICIub3BHZXRCeVZh
bElzQ29udGlndW91czoiLAorICAgICIgICAgYmlhZXEgdDEsICgoLXNpemVvZiBJbmRleGluZ0hl
YWRlcikgKyBJbmRleGluZ0hlYWRlcjo6dS5sZW5ndGhzLnB1YmxpY0xlbmd0aClbdDNdLCAub3BH
ZXRCeVZhbE91dE9mQm91bmRzIiwKKyAgICAiICAgIGxvYWRpIFRhZ09mZnNldFt0MywgdDEsIDhd
LCB0MiIsCisgICAgIiAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W3QzLCB0MSwgOF0sIHQxIiwKKyAg
ICAiICAgIGptcCAub3BHZXRCeVZhbERvbmUiLAorICAgICIub3BHZXRCeVZhbE5vdENvbnRpZ3Vv
dXM6IiwKKyAgICAiICAgIGJpbmVxIHQyLCBEb3VibGVTaGFwZSwgLm9wR2V0QnlWYWxOb3REb3Vi
bGUiLAorICAgICIgICAgYmlhZXEgdDEsICgoLXNpemVvZiBJbmRleGluZ0hlYWRlcikgKyBJbmRl
eGluZ0hlYWRlcjo6dS5sZW5ndGhzLnB1YmxpY0xlbmd0aClbdDNdLCAub3BHZXRCeVZhbE91dE9m
Qm91bmRzIiwKKyAgICAiICAgIGxvYWRkIDBbdDMsIHQxLCA4XSwgZnQwIiwKKyAgICAiICAgIGJk
bmVxdW4gZnQwLCBmdDAsIC5vcEdldEJ5VmFsU2xvdyIsCisgICAgIiAgICBmZDJpaSBmdDAsIHQx
LCB0MiIsCisgICAgIiAgICBsb2FkaSA0W1BDXSwgdDAiLAorICAgICIgICAgam1wIC5vcEdldEJ5
VmFsTm90RW1wdHkiLAorICAgICIub3BHZXRCeVZhbE5vdERvdWJsZToiLAorICAgICIgICAgc3Vi
aSBBcnJheVN0b3JhZ2VTaGFwZSwgdDIiLAorICAgICIgICAgYmlhIHQyLCAoU2xvd1B1dEFycmF5
U3RvcmFnZVNoYXBlIC0gQXJyYXlTdG9yYWdlU2hhcGUpLCAub3BHZXRCeVZhbFNsb3ciLAorICAg
ICIgICAgYmlhZXEgdDEsICgoLXNpemVvZiBJbmRleGluZ0hlYWRlcikgKyBJbmRleGluZ0hlYWRl
cjo6dS5sZW5ndGhzLnZlY3Rvckxlbmd0aClbdDNdLCAub3BHZXRCeVZhbE91dE9mQm91bmRzIiwK
KyAgICAiICAgIGxvYWRpIChBcnJheVN0b3JhZ2U6Om1fdmVjdG9yICsgVGFnT2Zmc2V0KVt0Mywg
dDEsIDhdLCB0MiIsCisgICAgIiAgICBsb2FkaSAoQXJyYXlTdG9yYWdlOjptX3ZlY3RvciArIFBh
eWxvYWRPZmZzZXQpW3QzLCB0MSwgOF0sIHQxIiwKKyAgICAiLm9wR2V0QnlWYWxEb25lOiIsCisg
ICAgIiAgICBsb2FkaSA0W1BDXSwgdDAiLAorICAgICIgICAgYmllcSB0MiwgRW1wdHlWYWx1ZVRh
ZywgLm9wR2V0QnlWYWxPdXRPZkJvdW5kcyIsCisgICAgIi5vcEdldEJ5VmFsTm90RW1wdHk6IiwK
KyAgICAiICAgIHN0b3JlaSB0MiwgVGFnT2Zmc2V0W2NmciwgdDAsIDhdIiwKKyAgICAiICAgIHN0
b3JlaSB0MSwgUGF5bG9hZE9mZnNldFtjZnIsIHQwLCA4XSIsCisgICAgIiAgICB2YWx1ZVByb2Zp
bGUodDIsIHQxLCAyMCwgdDApIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfZ2V0
X2J5X3ZhbF9sZW5ndGgpKSIsCisgICAgIi5vcEdldEJ5VmFsT3V0T2ZCb3VuZHM6IiwKKyAgICAi
ICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDQsIHQwKSIsCisgICAgIiAgICBzdG9yZWIgMSwgQXJy
YXlQcm9maWxlOjptX291dE9mQm91bmRzW3QwXSIsCisgICAgIi5vcEdldEJ5VmFsU2xvdzoiLAor
ICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfZ2V0X2J5X3ZhbCki
LAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9nZXRfYnlfdmFsX2xlbmd0aCkpIiwK
KyAgICAibWFjcm8gY29udGlndW91c1B1dEJ5VmFsKHN0b3JlQ2FsbGJhY2spIiwKKyAgICAiICAg
IGJpYWVxIHQzLCAoKC1zaXplb2YgSW5kZXhpbmdIZWFkZXIpICsgSW5kZXhpbmdIZWFkZXI6OnUu
bGVuZ3Rocy5wdWJsaWNMZW5ndGgpW3QwXSwgLm91dE9mQm91bmRzIiwKKyAgICAiLnN0b3JlUmVz
dWx0OiIsCisgICAgIiAgICBsb2FkaSAxMltQQ10sIHQyIiwKKyAgICAiICAgIHN0b3JlQ2FsbGJh
Y2sodDIsIHQxLCB0MCwgdDMpIiwKKyAgICAiICAgIGRpc3BhdGNoKDUpIiwKKyAgICAiLm91dE9m
Qm91bmRzOiIsCisgICAgIiAgICBiaWFlcSB0MywgKCgtc2l6ZW9mIEluZGV4aW5nSGVhZGVyKSAr
IEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMudmVjdG9yTGVuZ3RoKVt0MF0sIC5vcFB1dEJ5VmFs
T3V0T2ZCb3VuZHMiLAorICAgICIgICAgbG9hZHAgMTZbUENdLCB0MiIsCisgICAgIiAgICBzdG9y
ZWIgMSwgQXJyYXlQcm9maWxlOjptX21heVN0b3JlVG9Ib2xlW3QyXSIsCisgICAgIiAgICBhZGRp
IDEsIHQzLCB0MiIsCisgICAgIiAgICBzdG9yZWkgdDIsICgoLXNpemVvZiBJbmRleGluZ0hlYWRl
cikgKyBJbmRleGluZ0hlYWRlcjo6dS5sZW5ndGhzLnB1YmxpY0xlbmd0aClbdDBdIiwKKyAgICAi
ICAgIGptcCAuc3RvcmVSZXN1bHQiLAorICAgICJlbmQiLAorICAgICJtYWNybyBwdXRCeVZhbChz
bG93UGF0aCkiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICB3cml0ZUJh
cnJpZXJPbk9wZXJhbmRzKDEsIDMpIiwKKyAgICAiICAgIGxvYWRpIDRbUENdLCB0MCIsCisgICAg
IiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlUGF5bG9hZCh0MCwgQ2VsbFRhZywgdDEsIC5vcFB1
dEJ5VmFsU2xvdykiLAorICAgICIgICAgbW92ZSB0MSwgdDIiLAorICAgICIgICAgbG9hZHAgMTZb
UENdLCB0MyIsCisgICAgIiAgICBhcnJheVByb2ZpbGUodDIsIHQzLCB0MCkiLAorICAgICIgICAg
bG9hZGkgOFtQQ10sIHQwIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVQYXlsb2Fk
KHQwLCBJbnQzMlRhZywgdDMsIC5vcFB1dEJ5VmFsU2xvdykiLAorICAgICIgICAgbG9hZHAgSlNP
YmplY3Q6Om1fYnV0dGVyZmx5W3QxXSwgdDAiLAorICAgICIgICAgYW5kaSBJbmRleGluZ1NoYXBl
TWFzaywgdDIiLAorICAgICIgICAgYmluZXEgdDIsIEludDMyU2hhcGUsIC5vcFB1dEJ5VmFsTm90
SW50MzIiLAorICAgICIgICAgY29udGlndW91c1B1dEJ5VmFsKG1hY3JvIChvcGVyYW5kLCBzY3Jh
dGNoLCBiYXNlLCBpbmRleCkiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxv
YWQob3BlcmFuZCwgSW50MzJUYWcsIHNjcmF0Y2gsIC5vcFB1dEJ5VmFsU2xvdykiLAorICAgICIg
ICAgc3RvcmVpIEludDMyVGFnLCBUYWdPZmZzZXRbYmFzZSwgaW5kZXgsIDhdIiwKKyAgICAiICAg
IHN0b3JlaSBzY3JhdGNoLCBQYXlsb2FkT2Zmc2V0W2Jhc2UsIGluZGV4LCA4XSIsCisgICAgImVu
ZCkiLAorICAgICIub3BQdXRCeVZhbE5vdEludDMyOiIsCisgICAgIiAgICBiaW5lcSB0MiwgRG91
YmxlU2hhcGUsIC5vcFB1dEJ5VmFsTm90RG91YmxlIiwKKyAgICAiICAgIGNvbnRpZ3VvdXNQdXRC
eVZhbChtYWNybyAob3BlcmFuZCwgc2NyYXRjaCwgYmFzZSwgaW5kZXgpIiwKKyAgICAiY29uc3Qg
dGFnID0gc2NyYXRjaCIsCisgICAgImNvbnN0IHBheWxvYWQgPSBvcGVyYW5kIiwKKyAgICAiICAg
IGxvYWRDb25zdGFudE9yVmFyaWFibGUyUmVnKG9wZXJhbmQsIHRhZywgcGF5bG9hZCkiLAorICAg
ICIgICAgYmluZXEgdGFnLCBJbnQzMlRhZywgLm5vdEludCIsCisgICAgIiAgICBjaTJkIHBheWxv
YWQsIGZ0MCIsCisgICAgIiAgICBqbXAgLnJlYWR5IiwKKyAgICAiLm5vdEludDoiLAorICAgICIg
ICAgZmlpMmQgcGF5bG9hZCwgdGFnLCBmdDAiLAorICAgICIgICAgYmRuZXF1biBmdDAsIGZ0MCwg
Lm9wUHV0QnlWYWxTbG93IiwKKyAgICAiLnJlYWR5OiIsCisgICAgIiAgICBzdG9yZWQgZnQwLCAw
W2Jhc2UsIGluZGV4LCA4XSIsCisgICAgImVuZCkiLAorICAgICIub3BQdXRCeVZhbE5vdERvdWJs
ZToiLAorICAgICIgICAgYmluZXEgdDIsIENvbnRpZ3VvdXNTaGFwZSwgLm9wUHV0QnlWYWxOb3RD
b250aWd1b3VzIiwKKyAgICAiICAgIGNvbnRpZ3VvdXNQdXRCeVZhbChtYWNybyAob3BlcmFuZCwg
c2NyYXRjaCwgYmFzZSwgaW5kZXgpIiwKKyAgICAiY29uc3QgdGFnID0gc2NyYXRjaCIsCisgICAg
ImNvbnN0IHBheWxvYWQgPSBvcGVyYW5kIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFi
bGUyUmVnKG9wZXJhbmQsIHRhZywgcGF5bG9hZCkiLAorICAgICIgICAgc3RvcmVpIHRhZywgVGFn
T2Zmc2V0W2Jhc2UsIGluZGV4LCA4XSIsCisgICAgIiAgICBzdG9yZWkgcGF5bG9hZCwgUGF5bG9h
ZE9mZnNldFtiYXNlLCBpbmRleCwgOF0iLAorICAgICJlbmQpIiwKKyAgICAiLm9wUHV0QnlWYWxO
b3RDb250aWd1b3VzOiIsCisgICAgIiAgICBiaW5lcSB0MiwgQXJyYXlTdG9yYWdlU2hhcGUsIC5v
cFB1dEJ5VmFsU2xvdyIsCisgICAgIiAgICBiaWFlcSB0MywgKCgtc2l6ZW9mIEluZGV4aW5nSGVh
ZGVyKSArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMudmVjdG9yTGVuZ3RoKVt0MF0sIC5vcFB1
dEJ5VmFsT3V0T2ZCb3VuZHMiLAorICAgICIgICAgYmllcSAoQXJyYXlTdG9yYWdlOjptX3ZlY3Rv
ciArIFRhZ09mZnNldClbdDAsIHQzLCA4XSwgRW1wdHlWYWx1ZVRhZywgLm9wUHV0QnlWYWxBcnJh
eVN0b3JhZ2VFbXB0eSIsCisgICAgIi5vcFB1dEJ5VmFsQXJyYXlTdG9yYWdlU3RvcmVSZXN1bHQ6
IiwKKyAgICAiICAgIGxvYWRpIDEyW1BDXSwgdDIiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JW
YXJpYWJsZTJSZWcodDIsIHQxLCB0MikiLAorICAgICIgICAgc3RvcmVpIHQxLCAoQXJyYXlTdG9y
YWdlOjptX3ZlY3RvciArIFRhZ09mZnNldClbdDAsIHQzLCA4XSIsCisgICAgIiAgICBzdG9yZWkg
dDIsIChBcnJheVN0b3JhZ2U6Om1fdmVjdG9yICsgUGF5bG9hZE9mZnNldClbdDAsIHQzLCA4XSIs
CisgICAgIiAgICBkaXNwYXRjaCg1KSIsCisgICAgIi5vcFB1dEJ5VmFsQXJyYXlTdG9yYWdlRW1w
dHk6IiwKKyAgICAiICAgIGxvYWRwIDE2W1BDXSwgdDEiLAorICAgICIgICAgc3RvcmViIDEsIEFy
cmF5UHJvZmlsZTo6bV9tYXlTdG9yZVRvSG9sZVt0MV0iLAorICAgICIgICAgYWRkaSAxLCBBcnJh
eVN0b3JhZ2U6Om1fbnVtVmFsdWVzSW5WZWN0b3JbdDBdIiwKKyAgICAiICAgIGJpYiB0MywgKCgt
c2l6ZW9mIEluZGV4aW5nSGVhZGVyKSArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMucHVibGlj
TGVuZ3RoKVt0MF0sIC5vcFB1dEJ5VmFsQXJyYXlTdG9yYWdlU3RvcmVSZXN1bHQiLAorICAgICIg
ICAgYWRkaSAxLCB0MywgdDEiLAorICAgICIgICAgc3RvcmVpIHQxLCAoKC1zaXplb2YgSW5kZXhp
bmdIZWFkZXIpICsgSW5kZXhpbmdIZWFkZXI6OnUubGVuZ3Rocy5wdWJsaWNMZW5ndGgpW3QwXSIs
CisgICAgIiAgICBqbXAgLm9wUHV0QnlWYWxBcnJheVN0b3JhZ2VTdG9yZVJlc3VsdCIsCisgICAg
Ii5vcFB1dEJ5VmFsT3V0T2ZCb3VuZHM6IiwKKyAgICAiICAgIGxvYWRwRnJvbUluc3RydWN0aW9u
KDQsIHQwKSIsCisgICAgIiAgICBzdG9yZWIgMSwgQXJyYXlQcm9maWxlOjptX291dE9mQm91bmRz
W3QwXSIsCisgICAgIi5vcFB1dEJ5VmFsU2xvdzoiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQ
YXRoKHNsb3dQYXRoKSIsCisgICAgIiAgICBkaXNwYXRjaCg1KSIsCisgICAgImVuZCIsCisgICAg
Il9sbGludF9vcF9wdXRfYnlfdmFsOiIsCisgICAgIiAgICBwdXRCeVZhbChfbGxpbnRfc2xvd19w
YXRoX3B1dF9ieV92YWwpIiwKKyAgICAiX2xsaW50X29wX3B1dF9ieV92YWxfZGlyZWN0OiIsCisg
ICAgIiAgICBwdXRCeVZhbChfbGxpbnRfc2xvd19wYXRoX3B1dF9ieV92YWxfZGlyZWN0KSIsCisg
ICAgIl9sbGludF9vcF9qbXA6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIg
ICAgZGlzcGF0Y2hCcmFuY2goNFtQQ10pIiwKKyAgICAibWFjcm8ganVtcFRydWVPckZhbHNlKGNv
bmRpdGlvbk9wLCBzbG93KSIsCisgICAgIiAgICBsb2FkaSA0W1BDXSwgdDEiLAorICAgICIgICAg
bG9hZENvbnN0YW50T3JWYXJpYWJsZVBheWxvYWQodDEsIEJvb2xlYW5UYWcsIHQwLCAuc2xvdyki
LAorICAgICIgICAgY29uZGl0aW9uT3AodDAsIC50YXJnZXQpIiwKKyAgICAiICAgIGRpc3BhdGNo
KDMpIiwKKyAgICAiLnRhcmdldDoiLAorICAgICIgICAgZGlzcGF0Y2hCcmFuY2goOFtQQ10pIiwK
KyAgICAiLnNsb3c6IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChzbG93KSIsCisgICAg
IiAgICBkaXNwYXRjaCgwKSIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIGVxdWFsTnVsbChjZWxs
SGFuZGxlciwgaW1tZWRpYXRlSGFuZGxlcikiLAorICAgICIgICAgbG9hZGkgNFtQQ10sIHQwIiwK
KyAgICAiICAgIGFzc2VydE5vdENvbnN0YW50KHQwKSIsCisgICAgIiAgICBsb2FkaSBUYWdPZmZz
ZXRbY2ZyLCB0MCwgOF0sIHQxIiwKKyAgICAiICAgIGxvYWRpIFBheWxvYWRPZmZzZXRbY2ZyLCB0
MCwgOF0sIHQwIiwKKyAgICAiICAgIGJpbmVxIHQxLCBDZWxsVGFnLCAuaW1tZWRpYXRlIiwKKyAg
ICAiICAgIGxvYWRwIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFt0MF0sIHQyIiwKKyAgICAiICAgIGNl
bGxIYW5kbGVyKHQyLCBKU0NlbGw6Om1fZmxhZ3NbdDBdLCAudGFyZ2V0KSIsCisgICAgIiAgICBk
aXNwYXRjaCgzKSIsCisgICAgIi50YXJnZXQ6IiwKKyAgICAiICAgIGRpc3BhdGNoQnJhbmNoKDhb
UENdKSIsCisgICAgIi5pbW1lZGlhdGU6IiwKKyAgICAiICAgIG9yaSAxLCB0MSIsCisgICAgIiAg
ICBpbW1lZGlhdGVIYW5kbGVyKHQxLCAudGFyZ2V0KSIsCisgICAgIiAgICBkaXNwYXRjaCgzKSIs
CisgICAgImVuZCIsCisgICAgIl9sbGludF9vcF9qZXFfbnVsbDoiLAorICAgICIgICAgdHJhY2VF
eGVjdXRpb24oKSIsCisgICAgIiAgICBlcXVhbE51bGwobWFjcm8gKHN0cnVjdHVyZSwgdmFsdWUs
IHRhcmdldCkiLAorICAgICIgICAgYnRieiB2YWx1ZSwgTWFzcXVlcmFkZXNBc1VuZGVmaW5lZCwg
Lm9wSmVxTnVsbE5vdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQiLAorICAgICIgICAgbG9hZHAgQ29k
ZUJsb2NrW2Nmcl0sIHQwIiwKKyAgICAiICAgIGxvYWRwIENvZGVCbG9jazo6bV9nbG9iYWxPYmpl
Y3RbdDBdLCB0MCIsCisgICAgIiAgICBicGVxIFN0cnVjdHVyZTo6bV9nbG9iYWxPYmplY3Rbc3Ry
dWN0dXJlXSwgdDAsIHRhcmdldCIsCisgICAgIi5vcEplcU51bGxOb3RNYXNxdWVyYWRlc0FzVW5k
ZWZpbmVkOiIsCisgICAgImVuZCwgbWFjcm8gKHZhbHVlLCB0YXJnZXQpIiwKKyAgICAiICAgIGJp
ZXEgdmFsdWUsIE51bGxUYWcsIHRhcmdldCIsCisgICAgImVuZCkiLAorICAgICJfbGxpbnRfb3Bf
am5lcV9udWxsOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGVxdWFs
TnVsbChtYWNybyAoc3RydWN0dXJlLCB2YWx1ZSwgdGFyZ2V0KSIsCisgICAgIiAgICBidGJ6IHZh
bHVlLCBNYXNxdWVyYWRlc0FzVW5kZWZpbmVkLCB0YXJnZXQiLAorICAgICIgICAgbG9hZHAgQ29k
ZUJsb2NrW2Nmcl0sIHQwIiwKKyAgICAiICAgIGxvYWRwIENvZGVCbG9jazo6bV9nbG9iYWxPYmpl
Y3RbdDBdLCB0MCIsCisgICAgIiAgICBicG5lcSBTdHJ1Y3R1cmU6Om1fZ2xvYmFsT2JqZWN0W3N0
cnVjdHVyZV0sIHQwLCB0YXJnZXQiLAorICAgICJlbmQsIG1hY3JvICh2YWx1ZSwgdGFyZ2V0KSIs
CisgICAgIiAgICBiaW5lcSB2YWx1ZSwgTnVsbFRhZywgdGFyZ2V0IiwKKyAgICAiZW5kKSIsCisg
ICAgIl9sbGludF9vcF9qbmVxX3B0cjoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisg
ICAgIiAgICBsb2FkaSA0W1BDXSwgdDAiLAorICAgICIgICAgbG9hZGkgOFtQQ10sIHQxIiwKKyAg
ICAiICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MiIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxv
Y2s6Om1fZ2xvYmFsT2JqZWN0W3QyXSwgdDIiLAorICAgICIgICAgYmluZXEgVGFnT2Zmc2V0W2Nm
ciwgdDAsIDhdLCBDZWxsVGFnLCAub3BKbmVxUHRyQnJhbmNoIiwKKyAgICAiICAgIGxvYWRwIEpT
R2xvYmFsT2JqZWN0OjptX3NwZWNpYWxQb2ludGVyc1t0MiwgdDEsIDRdLCB0MSIsCisgICAgIiAg
ICBicGVxIFBheWxvYWRPZmZzZXRbY2ZyLCB0MCwgOF0sIHQxLCAub3BKbmVxUHRyRmFsbFRocm91
Z2giLAorICAgICIub3BKbmVxUHRyQnJhbmNoOiIsCisgICAgIiAgICBzdG9yZWkgMSwgMTZbUENd
IiwKKyAgICAiICAgIGRpc3BhdGNoQnJhbmNoKDEyW1BDXSkiLAorICAgICIub3BKbmVxUHRyRmFs
bFRocm91Z2g6IiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3Bfam5lcV9wdHJfbGVu
Z3RoKSkiLAorICAgICJtYWNybyBjb21wYXJlKGludGVnZXJDb21wYXJlLCBkb3VibGVDb21wYXJl
LCBzbG93UGF0aCkiLAorICAgICIgICAgbG9hZGkgNFtQQ10sIHQyIiwKKyAgICAiICAgIGxvYWRp
IDhbUENdLCB0MyIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQyLCB0MCwgdDEp
IiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUyUmVnKHQzLCB0MiwgdDMpIiwKKyAg
ICAiICAgIGJpbmVxIHQwLCBJbnQzMlRhZywgLm9wMU5vdEludCIsCisgICAgIiAgICBiaW5lcSB0
MiwgSW50MzJUYWcsIC5vcDJOb3RJbnQiLAorICAgICIgICAgaW50ZWdlckNvbXBhcmUodDEsIHQz
LCAuanVtcFRhcmdldCkiLAorICAgICIgICAgZGlzcGF0Y2goNCkiLAorICAgICIub3AxTm90SW50
OiIsCisgICAgIiAgICBiaWEgdDAsIExvd2VzdFRhZywgLnNsb3ciLAorICAgICIgICAgYmliIHQy
LCBMb3dlc3RUYWcsIC5vcDFOb3RJbnRPcDJEb3VibGUiLAorICAgICIgICAgYmluZXEgdDIsIElu
dDMyVGFnLCAuc2xvdyIsCisgICAgIiAgICBjaTJkIHQzLCBmdDEiLAorICAgICIgICAgam1wIC5v
cDFOb3RJbnRSZWFkeSIsCisgICAgIi5vcDFOb3RJbnRPcDJEb3VibGU6IiwKKyAgICAiICAgIGZp
aTJkIHQzLCB0MiwgZnQxIiwKKyAgICAiLm9wMU5vdEludFJlYWR5OiIsCisgICAgIiAgICBmaWky
ZCB0MSwgdDAsIGZ0MCIsCisgICAgIiAgICBkb3VibGVDb21wYXJlKGZ0MCwgZnQxLCAuanVtcFRh
cmdldCkiLAorICAgICIgICAgZGlzcGF0Y2goNCkiLAorICAgICIub3AyTm90SW50OiIsCisgICAg
IiAgICBjaTJkIHQxLCBmdDAiLAorICAgICIgICAgYmlhIHQyLCBMb3dlc3RUYWcsIC5zbG93IiwK
KyAgICAiICAgIGZpaTJkIHQzLCB0MiwgZnQxIiwKKyAgICAiICAgIGRvdWJsZUNvbXBhcmUoZnQw
LCBmdDEsIC5qdW1wVGFyZ2V0KSIsCisgICAgIiAgICBkaXNwYXRjaCg0KSIsCisgICAgIi5qdW1w
VGFyZ2V0OiIsCisgICAgIiAgICBkaXNwYXRjaEJyYW5jaCgxMltQQ10pIiwKKyAgICAiLnNsb3c6
IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChzbG93UGF0aCkiLAorICAgICIgICAgZGlz
cGF0Y2goMCkiLAorICAgICJlbmQiLAorICAgICJfbGxpbnRfb3Bfc3dpdGNoX2ltbToiLAorICAg
ICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkaSAxMltQQ10sIHQyIiwKKyAg
ICAiICAgIGxvYWRpIDRbUENdLCB0MyIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxl
KHQyLCB0MSwgdDApIiwKKyAgICAiICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MiIsCisgICAg
IiAgICBsb2FkcCBDb2RlQmxvY2s6Om1fcmFyZURhdGFbdDJdLCB0MiIsCisgICAgIiAgICBtdWxp
IHNpemVvZiBTaW1wbGVKdW1wVGFibGUsIHQzIiwKKyAgICAiICAgIGxvYWRwIChDb2RlQmxvY2s6
OlJhcmVEYXRhOjptX3N3aXRjaEp1bXBUYWJsZXMgKyBWZWN0b3JCdWZmZXJPZmZzZXQpW3QyXSwg
dDIiLAorICAgICIgICAgYWRkcCB0MywgdDIiLAorICAgICIgICAgYmluZXEgdDEsIEludDMyVGFn
LCAub3BTd2l0Y2hJbW1Ob3RJbnQiLAorICAgICIgICAgc3ViaSBTaW1wbGVKdW1wVGFibGU6Om1p
blt0Ml0sIHQwIiwKKyAgICAiICAgIGJpYWVxIHQwLCAoU2ltcGxlSnVtcFRhYmxlOjpicmFuY2hP
ZmZzZXRzICsgVmVjdG9yU2l6ZU9mZnNldClbdDJdLCAub3BTd2l0Y2hJbW1GYWxsVGhyb3VnaCIs
CisgICAgIiAgICBsb2FkcCAoU2ltcGxlSnVtcFRhYmxlOjpicmFuY2hPZmZzZXRzICsgVmVjdG9y
QnVmZmVyT2Zmc2V0KVt0Ml0sIHQzIiwKKyAgICAiICAgIGxvYWRpIDBbdDMsIHQwLCA0XSwgdDEi
LAorICAgICIgICAgYnRpeiB0MSwgLm9wU3dpdGNoSW1tRmFsbFRocm91Z2giLAorICAgICIgICAg
ZGlzcGF0Y2hCcmFuY2hXaXRoT2Zmc2V0KHQxKSIsCisgICAgIi5vcFN3aXRjaEltbU5vdEludDoi
LAorICAgICIgICAgYmliIHQxLCBMb3dlc3RUYWcsIC5vcFN3aXRjaEltbVNsb3ciLAorICAgICIu
b3BTd2l0Y2hJbW1GYWxsVGhyb3VnaDoiLAorICAgICIgICAgZGlzcGF0Y2hCcmFuY2goOFtQQ10p
IiwKKyAgICAiLm9wU3dpdGNoSW1tU2xvdzoiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRo
KF9sbGludF9zbG93X3BhdGhfc3dpdGNoX2ltbSkiLAorICAgICIgICAgZGlzcGF0Y2goMCkiLAor
ICAgICJfbGxpbnRfb3Bfc3dpdGNoX2NoYXI6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCki
LAorICAgICIgICAgbG9hZGkgMTJbUENdLCB0MiIsCisgICAgIiAgICBsb2FkaSA0W1BDXSwgdDMi
LAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDEsIHQwKSIsCisgICAgIiAg
ICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDIiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrOjpt
X3JhcmVEYXRhW3QyXSwgdDIiLAorICAgICIgICAgbXVsaSBzaXplb2YgU2ltcGxlSnVtcFRhYmxl
LCB0MyIsCisgICAgIiAgICBsb2FkcCAoQ29kZUJsb2NrOjpSYXJlRGF0YTo6bV9zd2l0Y2hKdW1w
VGFibGVzICsgVmVjdG9yQnVmZmVyT2Zmc2V0KVt0Ml0sIHQyIiwKKyAgICAiICAgIGFkZHAgdDMs
IHQyIiwKKyAgICAiICAgIGJpbmVxIHQxLCBDZWxsVGFnLCAub3BTd2l0Y2hDaGFyRmFsbFRocm91
Z2giLAorICAgICIgICAgYmJuZXEgSlNDZWxsOjptX3R5cGVbdDBdLCBTdHJpbmdUeXBlLCAub3BT
d2l0Y2hDaGFyRmFsbFRocm91Z2giLAorICAgICIgICAgYmluZXEgSlNTdHJpbmc6Om1fbGVuZ3Ro
W3QwXSwgMSwgLm9wU3dpdGNoQ2hhckZhbGxUaHJvdWdoIiwKKyAgICAiICAgIGxvYWRwIEpTU3Ry
aW5nOjptX3ZhbHVlW3QwXSwgdDAiLAorICAgICIgICAgYnRweiB0MCwgLm9wU3dpdGNoT25Sb3Bl
IiwKKyAgICAiICAgIGxvYWRwIFN0cmluZ0ltcGw6Om1fZGF0YThbdDBdLCB0MSIsCisgICAgIiAg
ICBidGlueiBTdHJpbmdJbXBsOjptX2hhc2hBbmRGbGFnc1t0MF0sIEhhc2hGbGFnczhCaXRCdWZm
ZXIsIC5vcFN3aXRjaENoYXI4Qml0IiwKKyAgICAiICAgIGxvYWRoIDBbdDFdLCB0MCIsCisgICAg
IiAgICBqbXAgLm9wU3dpdGNoQ2hhclJlYWR5IiwKKyAgICAiLm9wU3dpdGNoQ2hhcjhCaXQ6IiwK
KyAgICAiICAgIGxvYWRiIDBbdDFdLCB0MCIsCisgICAgIi5vcFN3aXRjaENoYXJSZWFkeToiLAor
ICAgICIgICAgc3ViaSBTaW1wbGVKdW1wVGFibGU6Om1pblt0Ml0sIHQwIiwKKyAgICAiICAgIGJp
YWVxIHQwLCAoU2ltcGxlSnVtcFRhYmxlOjpicmFuY2hPZmZzZXRzICsgVmVjdG9yU2l6ZU9mZnNl
dClbdDJdLCAub3BTd2l0Y2hDaGFyRmFsbFRocm91Z2giLAorICAgICIgICAgbG9hZHAgKFNpbXBs
ZUp1bXBUYWJsZTo6YnJhbmNoT2Zmc2V0cyArIFZlY3RvckJ1ZmZlck9mZnNldClbdDJdLCB0MiIs
CisgICAgIiAgICBsb2FkaSAwW3QyLCB0MCwgNF0sIHQxIiwKKyAgICAiICAgIGJ0aXogdDEsIC5v
cFN3aXRjaENoYXJGYWxsVGhyb3VnaCIsCisgICAgIiAgICBkaXNwYXRjaEJyYW5jaFdpdGhPZmZz
ZXQodDEpIiwKKyAgICAiLm9wU3dpdGNoQ2hhckZhbGxUaHJvdWdoOiIsCisgICAgIiAgICBkaXNw
YXRjaEJyYW5jaCg4W1BDXSkiLAorICAgICIub3BTd2l0Y2hPblJvcGU6IiwKKyAgICAiICAgIGNh
bGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX3N3aXRjaF9jaGFyKSIsCisgICAgIiAg
ICBkaXNwYXRjaCgwKSIsCisgICAgIm1hY3JvIGFycmF5UHJvZmlsZUZvckNhbGwoKSIsCisgICAg
IiAgICBsb2FkaSAxNltQQ10sIHQzIiwKKyAgICAiICAgIG5lZ2kgdDMiLAorICAgICIgICAgYmlu
ZXEgKFRoaXNBcmd1bWVudE9mZnNldCArIFRhZ09mZnNldClbY2ZyLCB0MywgOF0sIENlbGxUYWcs
IC5kb25lIiwKKyAgICAiICAgIGxvYWRpIChUaGlzQXJndW1lbnRPZmZzZXQgKyBQYXlsb2FkT2Zm
c2V0KVtjZnIsIHQzLCA4XSwgdDAiLAorICAgICIgICAgbG9hZHAgSlNDZWxsOjptX3N0cnVjdHVy
ZUlEW3QwXSwgdDAiLAorICAgICIgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oKENhbGxPcENvZGVT
aXplIC0gMiksIHQxKSIsCisgICAgIiAgICBzdG9yZXAgdDAsIEFycmF5UHJvZmlsZTo6bV9sYXN0
U2VlblN0cnVjdHVyZUlEW3QxXSIsCisgICAgIi5kb25lOiIsCisgICAgImVuZCIsCisgICAgIm1h
Y3JvIGRvQ2FsbChzbG93UGF0aCwgcHJlcGFyZUNhbGwpIiwKKyAgICAiICAgIGxvYWRpIDhbUENd
LCB0MCIsCisgICAgIiAgICBsb2FkaSAyMFtQQ10sIHQxIiwKKyAgICAiICAgIGxvYWRwIExMSW50
Q2FsbExpbmtJbmZvOjpjYWxsZWVbdDFdLCB0MiIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlUGF5bG9hZCh0MCwgQ2VsbFRhZywgdDMsIC5vcENhbGxTbG93KSIsCisgICAgIiAgICBi
aW5lcSB0MywgdDIsIC5vcENhbGxTbG93IiwKKyAgICAiICAgIGxvYWRpIDE2W1BDXSwgdDMiLAor
ICAgICIgICAgbHNoaWZ0aSAzLCB0MyIsCisgICAgIiAgICBuZWdpIHQzIiwKKyAgICAiICAgIGFk
ZHAgY2ZyLCB0MyIsCisgICAgIiAgICBzdG9yZWkgdDIsIChDYWxsZWUgKyBQYXlsb2FkT2Zmc2V0
KVt0M10iLAorICAgICIgICAgbG9hZGkgMTJbUENdLCB0MiIsCisgICAgIiAgICBzdG9yZWkgUEMs
IChBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0KVtjZnJdIiwKKyAgICAiICAgIHN0b3JlaSB0Miwg
KEFyZ3VtZW50Q291bnQgKyBQYXlsb2FkT2Zmc2V0KVt0M10iLAorICAgICIgICAgc3RvcmVpIENl
bGxUYWcsIChDYWxsZWUgKyBUYWdPZmZzZXQpW3QzXSIsCisgICAgIiAgICBtb3ZlIHQzLCBzcCIs
CisgICAgIiAgICBwcmVwYXJlQ2FsbChMTEludENhbGxMaW5rSW5mbzo6bWFjaGluZUNvZGVUYXJn
ZXRbdDFdLCB0MiwgdDMsIHQ0KSIsCisgICAgIiAgICBjYWxsVGFyZ2V0RnVuY3Rpb24oTExJbnRD
YWxsTGlua0luZm86Om1hY2hpbmVDb2RlVGFyZ2V0W3QxXSkiLAorICAgICIub3BDYWxsU2xvdzoi
LAorICAgICIgICAgc2xvd1BhdGhGb3JDYWxsKHNsb3dQYXRoLCBwcmVwYXJlQ2FsbCkiLAorICAg
ICJlbmQiLAorICAgICJfbGxpbnRfb3BfcmV0OiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigp
IiwKKyAgICAiICAgIGNoZWNrU3dpdGNoVG9KSVRGb3JFcGlsb2d1ZSgpIiwKKyAgICAiICAgIGxv
YWRpIDRbUENdLCB0MiIsCisgICAgIiAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQyLCB0MSwg
dDApIiwKKyAgICAiICAgIGRvUmV0dXJuKCkiLAorICAgICJfbGxpbnRfb3BfdG9fcHJpbWl0aXZl
OiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGxvYWRpIDhbUENdLCB0
MiIsCisgICAgIiAgICBsb2FkaSA0W1BDXSwgdDMiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JW
YXJpYWJsZSh0MiwgdDEsIHQwKSIsCisgICAgIiAgICBiaW5lcSB0MSwgQ2VsbFRhZywgLm9wVG9Q
cmltaXRpdmVJc0ltbSIsCisgICAgIiAgICBiYmFlcSBKU0NlbGw6Om1fdHlwZVt0MF0sIE9iamVj
dFR5cGUsIC5vcFRvUHJpbWl0aXZlU2xvd0Nhc2UiLAorICAgICIub3BUb1ByaW1pdGl2ZUlzSW1t
OiIsCisgICAgIiAgICBzdG9yZWkgdDEsIFRhZ09mZnNldFtjZnIsIHQzLCA4XSIsCisgICAgIiAg
ICBzdG9yZWkgdDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MywgOF0iLAorICAgICIgICAgZGlzcGF0
Y2goY29uc3RleHByIChvcF90b19wcmltaXRpdmVfbGVuZ3RoKSkiLAorICAgICIub3BUb1ByaW1p
dGl2ZVNsb3dDYXNlOiIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF90
b19wcmltaXRpdmUpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfdG9fcHJpbWl0
aXZlX2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX2NhdGNoOiIsCisgICAgIiAgICBsb2FkcCAo
Q2FsbGVlICsgUGF5bG9hZE9mZnNldClbY2ZyXSwgdDMiLAorICAgICIgICAgYW5kcCBNYXJrZWRC
bG9ja01hc2ssIHQzIiwKKyAgICAiICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3ZtW3QzXSwgdDMi
LAorICAgICIgICAgcmVzdG9yZUNhbGxlZVNhdmVzRnJvbVZNRW50cnlGcmFtZUNhbGxlZVNhdmVz
QnVmZmVyKHQzLCB0MCkiLAorICAgICIgICAgbG9hZHAgVk06OmNhbGxGcmFtZUZvckNhdGNoW3Qz
XSwgY2ZyIiwKKyAgICAiICAgIHN0b3JlcCAwLCBWTTo6Y2FsbEZyYW1lRm9yQ2F0Y2hbdDNdIiwK
KyAgICAiICAgIHJlc3RvcmVTdGFja1BvaW50ZXJBZnRlckNhbGwoKSIsCisgICAgIiAgICBsb2Fk
aSBWTTo6dGFyZ2V0SW50ZXJwcmV0ZXJQQ0ZvclRocm93W3QzXSwgUEMiLAorICAgICIgICAgY2Fs
bE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfY2hlY2tfaWZfZXhjZXB0aW9uX2lzX3Vu
Y2F0Y2hhYmxlX2FuZF9ub3RpZnlfcHJvZmlsZXIpIiwKKyAgICAiICAgIGJwZXEgcjEsIDAsIC5p
c0NhdGNoYWJsZUV4Y2VwdGlvbiIsCisgICAgIiAgICBqbXAgX2xsaW50X3Rocm93X2Zyb21fc2xv
d19wYXRoX3RyYW1wb2xpbmUiLAorICAgICIuaXNDYXRjaGFibGVFeGNlcHRpb246IiwKKyAgICAi
ICAgIGxvYWRwIChDYWxsZWUgKyBQYXlsb2FkT2Zmc2V0KVtjZnJdLCB0MyIsCisgICAgIiAgICBh
bmRwIE1hcmtlZEJsb2NrTWFzaywgdDMiLAorICAgICIgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1f
dm1bdDNdLCB0MyIsCisgICAgIiAgICBsb2FkaSBWTTo6bV9leGNlcHRpb25bdDNdLCB0MCIsCisg
ICAgIiAgICBzdG9yZWkgMCwgVk06Om1fZXhjZXB0aW9uW3QzXSIsCisgICAgIiAgICBsb2FkaSA0
W1BDXSwgdDIiLAorICAgICIgICAgc3RvcmVpIHQwLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDIsIDhd
IiwKKyAgICAiICAgIHN0b3JlaSBDZWxsVGFnLCBUYWdPZmZzZXRbY2ZyLCB0MiwgOF0iLAorICAg
ICIgICAgbG9hZGkgKEV4Y2VwdGlvbjo6bV92YWx1ZSArIFRhZ09mZnNldClbdDBdLCB0MSIsCisg
ICAgIiAgICBsb2FkaSAoRXhjZXB0aW9uOjptX3ZhbHVlICsgUGF5bG9hZE9mZnNldClbdDBdLCB0
MCIsCisgICAgIiAgICBsb2FkaSA4W1BDXSwgdDIiLAorICAgICIgICAgc3RvcmVpIHQwLCBQYXls
b2FkT2Zmc2V0W2NmciwgdDIsIDhdIiwKKyAgICAiICAgIHN0b3JlaSB0MSwgVGFnT2Zmc2V0W2Nm
ciwgdDIsIDhdIiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgZGlzcGF0
Y2goMykiLAorICAgICJfbGxpbnRfb3BfZW5kOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigp
IiwKKyAgICAiICAgIGNoZWNrU3dpdGNoVG9KSVRGb3JFcGlsb2d1ZSgpIiwKKyAgICAiICAgIGxv
YWRpIDRbUENdLCB0MCIsCisgICAgIiAgICBhc3NlcnROb3RDb25zdGFudCh0MCkiLAorICAgICIg
ICAgbG9hZGkgVGFnT2Zmc2V0W2NmciwgdDAsIDhdLCB0MSIsCisgICAgIiAgICBsb2FkaSBQYXls
b2FkT2Zmc2V0W2NmciwgdDAsIDhdLCB0MCIsCisgICAgIiAgICBkb1JldHVybigpIiwKKyAgICAi
X2xsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmU6IiwKKyAgICAiICAgIGNhbGxT
bG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2hhbmRsZV9leGNlcHRpb24pIiwKKyAgICAiICAgIGxv
YWRwIENhbGxlZVtjZnJdLCB0MSIsCisgICAgIiAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDEi
LAorICAgICIgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fdm1bdDFdLCB0MSIsCisgICAgIiAgICBj
b3B5Q2FsbGVlU2F2ZXNUb1ZNRW50cnlGcmFtZUNhbGxlZVNhdmVzQnVmZmVyKHQxLCB0MikiLAor
ICAgICIgICAgam1wIFZNOjp0YXJnZXRNYWNoaW5lUENGb3JUaHJvd1t0MV0iLAorICAgICJfbGxp
bnRfdGhyb3dfZHVyaW5nX2NhbGxfdHJhbXBvbGluZToiLAorICAgICIgICAgcHJlc2VydmVSZXR1
cm5BZGRyZXNzQWZ0ZXJDYWxsKHQyKSIsCisgICAgIiAgICBqbXAgX2xsaW50X3Rocm93X2Zyb21f
c2xvd19wYXRoX3RyYW1wb2xpbmUiLAorICAgICJtYWNybyBuYXRpdmVDYWxsVHJhbXBvbGluZShl
eGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvbikiLAorICAgICIgICAgZnVuY3Rpb25Qcm9sb2d1ZSgp
IiwKKyAgICAiICAgIHN0b3JlcCAwLCBDb2RlQmxvY2tbY2ZyXSIsCisgICAgIiAgICBsb2FkaSAo
Q2FsbGVlICsgUGF5bG9hZE9mZnNldClbY2ZyXSwgdDEiLAorICAgICJpZiAoWDg2IG9yIFg4Nl9X
SU4pIiwKKyAgICAiICAgIHN1YnAgOCwgc3AiLAorICAgICIgICAgYW5kcCBNYXJrZWRCbG9ja01h
c2ssIHQxIiwKKyAgICAiICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3ZtW3QxXSwgdDMiLAorICAg
ICIgICAgc3RvcmVwIGNmciwgVk06OnRvcENhbGxGcmFtZVt0M10iLAorICAgICIgICAgbW92ZSBj
ZnIsIGEwIiwKKyAgICAiICAgIHN0b3JlcCBhMCwgMFtzcF0iLAorICAgICIgICAgbG9hZGkgKENh
bGxlZSArIFBheWxvYWRPZmZzZXQpW2Nmcl0sIHQxIiwKKyAgICAiICAgIGxvYWRwIEpTRnVuY3Rp
b246Om1fZXhlY3V0YWJsZVt0MV0sIHQxIiwKKyAgICAiICAgIGNoZWNrU3RhY2tQb2ludGVyQWxp
Z25tZW50KHQzLCAzNzM1ODc5NjgxKSIsCisgICAgIiAgICBjYWxsIGV4ZWN1dGFibGVPZmZzZXRU
b0Z1bmN0aW9uW3QxXSIsCisgICAgIiAgICBsb2FkcCAoQ2FsbGVlICsgUGF5bG9hZE9mZnNldClb
Y2ZyXSwgdDMiLAorICAgICIgICAgYW5kcCBNYXJrZWRCbG9ja01hc2ssIHQzIiwKKyAgICAiICAg
IGxvYWRwIE1hcmtlZEJsb2NrOjptX3ZtW3QzXSwgdDMiLAorICAgICIgICAgYWRkcCA4LCBzcCIs
CisgICAgImVsc2UiLAorICAgICJpZiAoKCgoQVJNIG9yIEFSTXY3KSBvciBBUk12N19UUkFESVRJ
T05BTCkgb3IgQ19MT09QKSBvciBNSVBTKSIsCisgICAgIiAgICBzdWJwIDgsIHNwIiwKKyAgICAi
ICAgIGFuZHAgTWFya2VkQmxvY2tNYXNrLCB0MSIsCisgICAgIiAgICBsb2FkcCBNYXJrZWRCbG9j
azo6bV92bVt0MV0sIHQxIiwKKyAgICAiICAgIHN0b3JlcCBjZnIsIFZNOjp0b3BDYWxsRnJhbWVb
dDFdIiwKKyAgICAiICAgIG1vdmUgY2ZyLCBhMCIsCisgICAgIiAgICBsb2FkaSAoQ2FsbGVlICsg
UGF5bG9hZE9mZnNldClbY2ZyXSwgdDEiLAorICAgICIgICAgbG9hZHAgSlNGdW5jdGlvbjo6bV9l
eGVjdXRhYmxlW3QxXSwgdDEiLAorICAgICIgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQo
dDMsIDM3MzU4Nzk2ODEpIiwKKyAgICAiaWYgQ19MT09QIiwKKyAgICAiICAgIGNsb29wQ2FsbE5h
dGl2ZSBleGVjdXRhYmxlT2Zmc2V0VG9GdW5jdGlvblt0MV0iLAorICAgICJlbHNlIiwKKyAgICAi
ICAgIGNhbGwgZXhlY3V0YWJsZU9mZnNldFRvRnVuY3Rpb25bdDFdIiwKKyAgICAiZW5kIiwKKyAg
ICAiICAgIGxvYWRwIChDYWxsZWUgKyBQYXlsb2FkT2Zmc2V0KVtjZnJdLCB0MyIsCisgICAgIiAg
ICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMiLAorICAgICIgICAgbG9hZHAgTWFya2VkQmxvY2s6
Om1fdm1bdDNdLCB0MyIsCisgICAgIiAgICBhZGRwIDgsIHNwIiwKKyAgICAiZWxzZSIsCisgICAg
IiAgICBlcnJvciIsCisgICAgImVuZCIsCisgICAgImVuZCIsCisgICAgIiAgICBidGlueiBWTTo6
bV9leGNlcHRpb25bdDNdLCAuaGFuZGxlRXhjZXB0aW9uIiwKKyAgICAiICAgIGZ1bmN0aW9uRXBp
bG9ndWUoKSIsCisgICAgIiAgICByZXQgIiwKKyAgICAiLmhhbmRsZUV4Y2VwdGlvbjoiLAorICAg
ICIgICAgc3RvcmVwIGNmciwgVk06OnRvcENhbGxGcmFtZVt0M10iLAorICAgICIgICAgam1wIF9s
bGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lIiwKKyAgICAiZW5kIiwKKyAgICAi
bWFjcm8gZ2V0Q29uc3RhbnRTY29wZShkc3QpIiwKKyAgICAiICAgIGxvYWRwRnJvbUluc3RydWN0
aW9uKDYsIHQwKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oZHN0LCB0MSkiLAor
ICAgICIgICAgc3RvcmVpIENlbGxUYWcsIFRhZ09mZnNldFtjZnIsIHQxLCA4XSIsCisgICAgIiAg
ICBzdG9yZWkgdDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MSwgOF0iLAorICAgICJlbmQiLAorICAg
ICJtYWNybyB2YXJJbmplY3Rpb25DaGVjayhzbG93UGF0aCkiLAorICAgICIgICAgbG9hZHAgQ29k
ZUJsb2NrW2Nmcl0sIHQwIiwKKyAgICAiICAgIGxvYWRwIENvZGVCbG9jazo6bV9nbG9iYWxPYmpl
Y3RbdDBdLCB0MCIsCisgICAgIiAgICBsb2FkcCBKU0dsb2JhbE9iamVjdDo6bV92YXJJbmplY3Rp
b25XYXRjaHBvaW50W3QwXSwgdDAiLAorICAgICIgICAgYmJlcSBXYXRjaHBvaW50U2V0OjptX3N0
YXRlW3QwXSwgSXNJbnZhbGlkYXRlZCwgc2xvd1BhdGgiLAorICAgICJlbmQiLAorICAgICJtYWNy
byByZXNvbHZlU2NvcGUoKSIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDAiLAor
ICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDUsIHQyKSIsCisgICAgIiAgICBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24oMiwgdDApIiwKKyAgICAiICAgIGxvYWRwIFBheWxvYWRPZmZzZXRbY2Zy
LCB0MCwgOF0sIHQwIiwKKyAgICAiICAgIGJ0aXogdDIsIC5yZXNvbHZlU2NvcGVMb29wRW5kIiwK
KyAgICAiLnJlc29sdmVTY29wZUxvb3A6IiwKKyAgICAiICAgIGxvYWRwIEpTU2NvcGU6Om1fbmV4
dFt0MF0sIHQwIiwKKyAgICAiICAgIHN1YmkgMSwgdDIiLAorICAgICIgICAgYnRpbnogdDIsIC5y
ZXNvbHZlU2NvcGVMb29wIiwKKyAgICAiLnJlc29sdmVTY29wZUxvb3BFbmQ6IiwKKyAgICAiICAg
IGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkiLAorICAgICIgICAgc3RvcmVpIENlbGxUYWcs
IFRhZ09mZnNldFtjZnIsIHQxLCA4XSIsCisgICAgIiAgICBzdG9yZWkgdDAsIFBheWxvYWRPZmZz
ZXRbY2ZyLCB0MSwgOF0iLAorICAgICJlbmQiLAorICAgICJfbGxpbnRfb3BfcmVzb2x2ZV9zY29w
ZToiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5z
dHJ1Y3Rpb24oNCwgdDApIiwKKyAgICAiICAgIGJpbmVxIHQwLCBHbG9iYWxQcm9wZXJ0eSwgLnJH
bG9iYWxWYXIiLAorICAgICIgICAgZ2V0Q29uc3RhbnRTY29wZSgxKSIsCisgICAgIiAgICBkaXNw
YXRjaCg3KSIsCisgICAgIi5yR2xvYmFsVmFyOiIsCisgICAgIiAgICBiaW5lcSB0MCwgR2xvYmFs
VmFyLCAuckdsb2JhbExleGljYWxWYXIiLAorICAgICIgICAgZ2V0Q29uc3RhbnRTY29wZSgxKSIs
CisgICAgIiAgICBkaXNwYXRjaCg3KSIsCisgICAgIi5yR2xvYmFsTGV4aWNhbFZhcjoiLAorICAg
ICIgICAgYmluZXEgdDAsIEdsb2JhbExleGljYWxWYXIsIC5yQ2xvc3VyZVZhciIsCisgICAgIiAg
ICBnZXRDb25zdGFudFNjb3BlKDEpIiwKKyAgICAiICAgIGRpc3BhdGNoKDcpIiwKKyAgICAiLnJD
bG9zdXJlVmFyOiIsCisgICAgIiAgICBiaW5lcSB0MCwgQ2xvc3VyZVZhciwgLnJNb2R1bGVWYXIi
LAorICAgICIgICAgcmVzb2x2ZVNjb3BlKCkiLAorICAgICIgICAgZGlzcGF0Y2goNykiLAorICAg
ICIuck1vZHVsZVZhcjoiLAorICAgICIgICAgYmluZXEgdDAsIE1vZHVsZVZhciwgLnJHbG9iYWxQ
cm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3MiLAorICAgICIgICAgZ2V0Q29uc3RhbnRTY29w
ZSgxKSIsCisgICAgIiAgICBkaXNwYXRjaCg3KSIsCisgICAgIi5yR2xvYmFsUHJvcGVydHlXaXRo
VmFySW5qZWN0aW9uQ2hlY2tzOiIsCisgICAgIiAgICBiaW5lcSB0MCwgR2xvYmFsUHJvcGVydHlX
aXRoVmFySW5qZWN0aW9uQ2hlY2tzLCAuckdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3Mi
LAorICAgICIgICAgdmFySW5qZWN0aW9uQ2hlY2soLnJEeW5hbWljKSIsCisgICAgIiAgICBnZXRD
b25zdGFudFNjb3BlKDEpIiwKKyAgICAiICAgIGRpc3BhdGNoKDcpIiwKKyAgICAiLnJHbG9iYWxW
YXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOiIsCisgICAgIiAgICBiaW5lcSB0MCwgR2xvYmFsVmFy
V2l0aFZhckluamVjdGlvbkNoZWNrcywgLnJHbG9iYWxMZXhpY2FsVmFyV2l0aFZhckluamVjdGlv
bkNoZWNrcyIsCisgICAgIiAgICB2YXJJbmplY3Rpb25DaGVjayguckR5bmFtaWMpIiwKKyAgICAi
ICAgIGdldENvbnN0YW50U2NvcGUoMSkiLAorICAgICIgICAgZGlzcGF0Y2goNykiLAorICAgICIu
ckdsb2JhbExleGljYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOiIsCisgICAgIiAgICBiaW5l
cSB0MCwgR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5yQ2xvc3VyZVZh
cldpdGhWYXJJbmplY3Rpb25DaGVja3MiLAorICAgICIgICAgdmFySW5qZWN0aW9uQ2hlY2soLnJE
eW5hbWljKSIsCisgICAgIiAgICBnZXRDb25zdGFudFNjb3BlKDEpIiwKKyAgICAiICAgIGRpc3Bh
dGNoKDcpIiwKKyAgICAiLnJDbG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNrczoiLAorICAg
ICIgICAgYmluZXEgdDAsIENsb3N1cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzLCAuckR5bmFt
aWMiLAorICAgICIgICAgdmFySW5qZWN0aW9uQ2hlY2soLnJEeW5hbWljKSIsCisgICAgIiAgICBy
ZXNvbHZlU2NvcGUoKSIsCisgICAgIiAgICBkaXNwYXRjaCg3KSIsCisgICAgIi5yRHluYW1pYzoi
LAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfcmVzb2x2ZV9zY29wZSki
LAorICAgICIgICAgZGlzcGF0Y2goNykiLAorICAgICJtYWNybyBsb2FkV2l0aFN0cnVjdHVyZUNo
ZWNrKG9wZXJhbmQsIHNsb3dQYXRoKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24o
b3BlcmFuZCwgdDApIiwKKyAgICAiICAgIGxvYWRwIFBheWxvYWRPZmZzZXRbY2ZyLCB0MCwgOF0s
IHQwIiwKKyAgICAiICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDUsIHQxKSIsCisgICAgIiAgICBi
cG5lcSBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDBdLCB0MSwgc2xvd1BhdGgiLAorICAgICJlbmQi
LAorICAgICJtYWNybyBnZXRQcm9wZXJ0eSgpIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVj
dGlvbig2LCB0MykiLAorICAgICIgICAgbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldCh0Mywg
dDAsIHQxLCB0MikiLAorICAgICIgICAgdmFsdWVQcm9maWxlKHQxLCB0MiwgMjgsIHQwKSIsCisg
ICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApIiwKKyAgICAiICAgIHN0b3JlaSB0
MSwgVGFnT2Zmc2V0W2NmciwgdDAsIDhdIiwKKyAgICAiICAgIHN0b3JlaSB0MiwgUGF5bG9hZE9m
ZnNldFtjZnIsIHQwLCA4XSIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIGdldEdsb2JhbFZhcih0
ZHpDaGVja0lmTmVjZXNzYXJ5KSIsCisgICAgIiAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig2LCB0
MCkiLAorICAgICIgICAgbG9hZHAgVGFnT2Zmc2V0W3QwXSwgdDEiLAorICAgICIgICAgbG9hZHAg
UGF5bG9hZE9mZnNldFt0MF0sIHQyIiwKKyAgICAiICAgIHRkekNoZWNrSWZOZWNlc3NhcnkodDEp
IiwKKyAgICAiICAgIHZhbHVlUHJvZmlsZSh0MSwgdDIsIDI4LCB0MCkiLAorICAgICIgICAgbG9h
ZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKSIsCisgICAgIiAgICBzdG9yZWkgdDEsIFRhZ09mZnNl
dFtjZnIsIHQwLCA4XSIsCisgICAgIiAgICBzdG9yZWkgdDIsIFBheWxvYWRPZmZzZXRbY2ZyLCB0
MCwgOF0iLAorICAgICJlbmQiLAorICAgICJtYWNybyBnZXRDbG9zdXJlVmFyKCkiLAorICAgICIg
ICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDYsIHQzKSIsCisgICAgIiAgICBsb2FkcCAoSlNFbnZp
cm9ubWVudFJlY29yZF92YXJpYWJsZXMgKyBUYWdPZmZzZXQpW3QwLCB0MywgOF0sIHQxIiwKKyAg
ICAiICAgIGxvYWRwIChKU0Vudmlyb25tZW50UmVjb3JkX3ZhcmlhYmxlcyArIFBheWxvYWRPZmZz
ZXQpW3QwLCB0MywgOF0sIHQyIiwKKyAgICAiICAgIHZhbHVlUHJvZmlsZSh0MSwgdDIsIDI4LCB0
MCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKSIsCisgICAgIiAgICBz
dG9yZWkgdDEsIFRhZ09mZnNldFtjZnIsIHQwLCA4XSIsCisgICAgIiAgICBzdG9yZWkgdDIsIFBh
eWxvYWRPZmZzZXRbY2ZyLCB0MCwgOF0iLAorICAgICJlbmQiLAorICAgICJfbGxpbnRfb3BfZ2V0
X2Zyb21fc2NvcGU6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgbG9h
ZGlzRnJvbUluc3RydWN0aW9uKDQsIHQwKSIsCisgICAgIiAgICBhbmRpIFJlc29sdmVUeXBlTWFz
aywgdDAiLAorICAgICIgICAgYmluZXEgdDAsIEdsb2JhbFByb3BlcnR5LCAuZ0dsb2JhbFZhciIs
CisgICAgIiAgICBsb2FkV2l0aFN0cnVjdHVyZUNoZWNrKDIsIC5nRHluYW1pYykiLAorICAgICIg
ICAgZ2V0UHJvcGVydHkoKSIsCisgICAgIiAgICBkaXNwYXRjaCg4KSIsCisgICAgIi5nR2xvYmFs
VmFyOiIsCisgICAgIiAgICBiaW5lcSB0MCwgR2xvYmFsVmFyLCAuZ0dsb2JhbExleGljYWxWYXIi
LAorICAgICIgICAgZ2V0R2xvYmFsVmFyKG1hY3JvICh0KSIsCisgICAgIiIsCisgICAgImVuZCki
LAorICAgICIgICAgZGlzcGF0Y2goOCkiLAorICAgICIuZ0dsb2JhbExleGljYWxWYXI6IiwKKyAg
ICAiICAgIGJpbmVxIHQwLCBHbG9iYWxMZXhpY2FsVmFyLCAuZ0Nsb3N1cmVWYXIiLAorICAgICIg
ICAgZ2V0R2xvYmFsVmFyKG1hY3JvICh0YWcpIiwKKyAgICAiICAgIGJpZXEgdGFnLCBFbXB0eVZh
bHVlVGFnLCAuZ0R5bmFtaWMiLAorICAgICJlbmQpIiwKKyAgICAiICAgIGRpc3BhdGNoKDgpIiwK
KyAgICAiLmdDbG9zdXJlVmFyOiIsCisgICAgIiAgICBiaW5lcSB0MCwgQ2xvc3VyZVZhciwgLmdH
bG9iYWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3MiLAorICAgICIgICAgbG9hZFZhcmlh
YmxlKDIsIHQyLCB0MSwgdDApIiwKKyAgICAiICAgIGdldENsb3N1cmVWYXIoKSIsCisgICAgIiAg
ICBkaXNwYXRjaCg4KSIsCisgICAgIi5nR2xvYmFsUHJvcGVydHlXaXRoVmFySW5qZWN0aW9uQ2hl
Y2tzOiIsCisgICAgIiAgICBiaW5lcSB0MCwgR2xvYmFsUHJvcGVydHlXaXRoVmFySW5qZWN0aW9u
Q2hlY2tzLCAuZ0dsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MiLAorICAgICIgICAgbG9h
ZFdpdGhTdHJ1Y3R1cmVDaGVjaygyLCAuZ0R5bmFtaWMpIiwKKyAgICAiICAgIGdldFByb3BlcnR5
KCkiLAorICAgICIgICAgZGlzcGF0Y2goOCkiLAorICAgICIuZ0dsb2JhbFZhcldpdGhWYXJJbmpl
Y3Rpb25DaGVja3M6IiwKKyAgICAiICAgIGJpbmVxIHQwLCBHbG9iYWxWYXJXaXRoVmFySW5qZWN0
aW9uQ2hlY2tzLCAuZ0dsb2JhbExleGljYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzIiwKKyAg
ICAiICAgIHZhckluamVjdGlvbkNoZWNrKC5nRHluYW1pYykiLAorICAgICIgICAgZ2V0R2xvYmFs
VmFyKG1hY3JvICh0KSIsCisgICAgIiIsCisgICAgImVuZCkiLAorICAgICIgICAgZGlzcGF0Y2go
OCkiLAorICAgICIuZ0dsb2JhbExleGljYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOiIsCisg
ICAgIiAgICBiaW5lcSB0MCwgR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3Ms
IC5nQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MiLAorICAgICIgICAgdmFySW5qZWN0
aW9uQ2hlY2soLmdEeW5hbWljKSIsCisgICAgIiAgICBnZXRHbG9iYWxWYXIobWFjcm8gKHRhZyki
LAorICAgICIgICAgYmllcSB0YWcsIEVtcHR5VmFsdWVUYWcsIC5nRHluYW1pYyIsCisgICAgImVu
ZCkiLAorICAgICIgICAgZGlzcGF0Y2goOCkiLAorICAgICIuZ0Nsb3N1cmVWYXJXaXRoVmFySW5q
ZWN0aW9uQ2hlY2tzOiIsCisgICAgIiAgICBiaW5lcSB0MCwgQ2xvc3VyZVZhcldpdGhWYXJJbmpl
Y3Rpb25DaGVja3MsIC5nRHluYW1pYyIsCisgICAgIiAgICB2YXJJbmplY3Rpb25DaGVjayguZ0R5
bmFtaWMpIiwKKyAgICAiICAgIGxvYWRWYXJpYWJsZSgyLCB0MiwgdDEsIHQwKSIsCisgICAgIiAg
ICBnZXRDbG9zdXJlVmFyKCkiLAorICAgICIgICAgZGlzcGF0Y2goOCkiLAorICAgICIuZ0R5bmFt
aWM6IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2dldF9m
cm9tX3Njb3BlKSIsCisgICAgIiAgICBkaXNwYXRjaCg4KSIsCisgICAgIm1hY3JvIHB1dFByb3Bl
cnR5KCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQxKSIsCisgICAgIiAg
ICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MiwgdDMpIiwKKyAgICAiICAgIGxvYWRpc0Zy
b21JbnN0cnVjdGlvbig2LCB0MSkiLAorICAgICIgICAgc3RvcmVQcm9wZXJ0eUF0VmFyaWFibGVP
ZmZzZXQodDEsIHQwLCB0MiwgdDMpIiwKKyAgICAiZW5kIiwKKyAgICAibWFjcm8gcHV0R2xvYmFs
VmFyaWFibGUoKSIsCisgICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDApIiwKKyAg
ICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDAsIHQxLCB0MikiLAorICAgICIgICAgbG9h
ZHBGcm9tSW5zdHJ1Y3Rpb24oNSwgdDMpIiwKKyAgICAiICAgIG5vdGlmeVdyaXRlKHQzLCAucER5
bmFtaWMpIiwKKyAgICAiICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDYsIHQwKSIsCisgICAgIiAg
ICBzdG9yZWkgdDEsIFRhZ09mZnNldFt0MF0iLAorICAgICIgICAgc3RvcmVpIHQyLCBQYXlsb2Fk
T2Zmc2V0W3QwXSIsCisgICAgImVuZCIsCisgICAgIm1hY3JvIHB1dENsb3N1cmVWYXIoKSIsCisg
ICAgIiAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDEpIiwKKyAgICAiICAgIGxvYWRDb25z
dGFudE9yVmFyaWFibGUodDEsIHQyLCB0MykiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0
aW9uKDYsIHQxKSIsCisgICAgIiAgICBzdG9yZWkgdDIsIChKU0Vudmlyb25tZW50UmVjb3JkX3Zh
cmlhYmxlcyArIFRhZ09mZnNldClbdDAsIHQxLCA4XSIsCisgICAgIiAgICBzdG9yZWkgdDMsIChK
U0Vudmlyb25tZW50UmVjb3JkX3ZhcmlhYmxlcyArIFBheWxvYWRPZmZzZXQpW3QwLCB0MSwgOF0i
LAorICAgICJlbmQiLAorICAgICJtYWNybyBwdXRMb2NhbENsb3N1cmVWYXIoKSIsCisgICAgIiAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDEpIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9y
VmFyaWFibGUodDEsIHQyLCB0MykiLAorICAgICIgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNSwg
dDUpIiwKKyAgICAiICAgIGJ0cHogdDUsIC5ub1ZhcmlhYmxlV2F0Y2hwb2ludFNldCIsCisgICAg
IiAgICBub3RpZnlXcml0ZSh0NSwgLnBEeW5hbWljKSIsCisgICAgIi5ub1ZhcmlhYmxlV2F0Y2hw
b2ludFNldDoiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDYsIHQxKSIsCisgICAg
IiAgICBzdG9yZWkgdDIsIChKU0Vudmlyb25tZW50UmVjb3JkX3ZhcmlhYmxlcyArIFRhZ09mZnNl
dClbdDAsIHQxLCA4XSIsCisgICAgIiAgICBzdG9yZWkgdDMsIChKU0Vudmlyb25tZW50UmVjb3Jk
X3ZhcmlhYmxlcyArIFBheWxvYWRPZmZzZXQpW3QwLCB0MSwgOF0iLAorICAgICJlbmQiLAorICAg
ICJfbGxpbnRfb3BfcHV0X3RvX3Njb3BlOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwK
KyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0MCkiLAorICAgICIgICAgYW5kaSBS
ZXNvbHZlVHlwZU1hc2ssIHQwIiwKKyAgICAiICAgIGJpbmVxIHQwLCBMb2NhbENsb3N1cmVWYXIs
IC5wR2xvYmFsUHJvcGVydHkiLAorICAgICIgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcygxLCAz
KSIsCisgICAgIiAgICBsb2FkVmFyaWFibGUoMSwgdDIsIHQxLCB0MCkiLAorICAgICIgICAgcHV0
TG9jYWxDbG9zdXJlVmFyKCkiLAorICAgICIgICAgZGlzcGF0Y2goNykiLAorICAgICIucEdsb2Jh
bFByb3BlcnR5OiIsCisgICAgIiAgICBiaW5lcSB0MCwgR2xvYmFsUHJvcGVydHksIC5wR2xvYmFs
VmFyIiwKKyAgICAiICAgIHdyaXRlQmFycmllck9uT3BlcmFuZHMoMSwgMykiLAorICAgICIgICAg
bG9hZFdpdGhTdHJ1Y3R1cmVDaGVjaygxLCAucER5bmFtaWMpIiwKKyAgICAiICAgIHB1dFByb3Bl
cnR5KCkiLAorICAgICIgICAgZGlzcGF0Y2goNykiLAorICAgICIucEdsb2JhbFZhcjoiLAorICAg
ICIgICAgYmluZXEgdDAsIEdsb2JhbFZhciwgLnBHbG9iYWxMZXhpY2FsVmFyIiwKKyAgICAiICAg
IHdyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0KDMpIiwKKyAgICAiICAgIHB1dEdsb2JhbFZhcmlh
YmxlKCkiLAorICAgICIgICAgZGlzcGF0Y2goNykiLAorICAgICIucEdsb2JhbExleGljYWxWYXI6
IiwKKyAgICAiICAgIGJpbmVxIHQwLCBHbG9iYWxMZXhpY2FsVmFyLCAucENsb3N1cmVWYXIiLAor
ICAgICIgICAgd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQoMykiLAorICAg
ICIgICAgcHV0R2xvYmFsVmFyaWFibGUoKSIsCisgICAgIiAgICBkaXNwYXRjaCg3KSIsCisgICAg
Ii5wQ2xvc3VyZVZhcjoiLAorICAgICIgICAgYmluZXEgdDAsIENsb3N1cmVWYXIsIC5wR2xvYmFs
UHJvcGVydHlXaXRoVmFySW5qZWN0aW9uQ2hlY2tzIiwKKyAgICAiICAgIHdyaXRlQmFycmllck9u
T3BlcmFuZHMoMSwgMykiLAorICAgICIgICAgbG9hZFZhcmlhYmxlKDEsIHQyLCB0MSwgdDApIiwK
KyAgICAiICAgIHB1dENsb3N1cmVWYXIoKSIsCisgICAgIiAgICBkaXNwYXRjaCg3KSIsCisgICAg
Ii5wR2xvYmFsUHJvcGVydHlXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOiIsCisgICAgIiAgICBiaW5l
cSB0MCwgR2xvYmFsUHJvcGVydHlXaXRoVmFySW5qZWN0aW9uQ2hlY2tzLCAucEdsb2JhbFZhcldp
dGhWYXJJbmplY3Rpb25DaGVja3MiLAorICAgICIgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcygx
LCAzKSIsCisgICAgIiAgICBsb2FkV2l0aFN0cnVjdHVyZUNoZWNrKDEsIC5wRHluYW1pYykiLAor
ICAgICIgICAgcHV0UHJvcGVydHkoKSIsCisgICAgIiAgICBkaXNwYXRjaCg3KSIsCisgICAgIi5w
R2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrczoiLAorICAgICIgICAgYmluZXEgdDAsIEds
b2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MsIC5wR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJ
bmplY3Rpb25DaGVja3MiLAorICAgICIgICAgd3JpdGVCYXJyaWVyT25HbG9iYWxPYmplY3QoMyki
LAorICAgICIgICAgdmFySW5qZWN0aW9uQ2hlY2soLnBEeW5hbWljKSIsCisgICAgIiAgICBwdXRH
bG9iYWxWYXJpYWJsZSgpIiwKKyAgICAiICAgIGRpc3BhdGNoKDcpIiwKKyAgICAiLnBHbG9iYWxM
ZXhpY2FsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrczoiLAorICAgICIgICAgYmluZXEgdDAsIEds
b2JhbExleGljYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzLCAucENsb3N1cmVWYXJXaXRoVmFy
SW5qZWN0aW9uQ2hlY2tzIiwKKyAgICAiICAgIHdyaXRlQmFycmllck9uR2xvYmFsTGV4aWNhbEVu
dmlyb25tZW50KDMpIiwKKyAgICAiICAgIHZhckluamVjdGlvbkNoZWNrKC5wRHluYW1pYykiLAor
ICAgICIgICAgcHV0R2xvYmFsVmFyaWFibGUoKSIsCisgICAgIiAgICBkaXNwYXRjaCg3KSIsCisg
ICAgIi5wQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M6IiwKKyAgICAiICAgIGJpbmVx
IHQwLCBDbG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcywgLnBNb2R1bGVWYXIiLAorICAg
ICIgICAgd3JpdGVCYXJyaWVyT25PcGVyYW5kcygxLCAzKSIsCisgICAgIiAgICB2YXJJbmplY3Rp
b25DaGVjaygucER5bmFtaWMpIiwKKyAgICAiICAgIGxvYWRWYXJpYWJsZSgxLCB0MiwgdDEsIHQw
KSIsCisgICAgIiAgICBwdXRDbG9zdXJlVmFyKCkiLAorICAgICIgICAgZGlzcGF0Y2goNykiLAor
ICAgICIucE1vZHVsZVZhcjoiLAorICAgICIgICAgYmluZXEgdDAsIE1vZHVsZVZhciwgLnBEeW5h
bWljIiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3Rocm93X3N0cmlj
dF9tb2RlX3JlYWRvbmx5X3Byb3BlcnR5X3dyaXRlX2Vycm9yKSIsCisgICAgIiAgICBkaXNwYXRj
aCg3KSIsCisgICAgIi5wRHluYW1pYzoiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9s
bGludF9zbG93X3BhdGhfcHV0X3RvX3Njb3BlKSIsCisgICAgIiAgICBkaXNwYXRjaCg3KSIsCisg
ICAgIl9sbGludF9vcF9nZXRfZnJvbV9hcmd1bWVudHM6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0
aW9uKCkiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQwKSIsCisgICAgIiAg
ICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdLCB0MCIsCisgICAgIiAgICBsb2FkaSAx
MltQQ10sIHQxIiwKKyAgICAiICAgIGxvYWRpIChEaXJlY3RBcmd1bWVudHNfc3RvcmFnZSArIFRh
Z09mZnNldClbdDAsIHQxLCA4XSwgdDIiLAorICAgICIgICAgbG9hZGkgKERpcmVjdEFyZ3VtZW50
c19zdG9yYWdlICsgUGF5bG9hZE9mZnNldClbdDAsIHQxLCA4XSwgdDMiLAorICAgICIgICAgbG9h
ZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKSIsCisgICAgIiAgICB2YWx1ZVByb2ZpbGUodDIsIHQz
LCAxNiwgdDApIiwKKyAgICAiICAgIHN0b3JlaSB0MiwgVGFnT2Zmc2V0W2NmciwgdDEsIDhdIiwK
KyAgICAiICAgIHN0b3JlaSB0MywgUGF5bG9hZE9mZnNldFtjZnIsIHQxLCA4XSIsCisgICAgIiAg
ICBkaXNwYXRjaCg1KSIsCisgICAgIl9sbGludF9vcF9wdXRfdG9fYXJndW1lbnRzOiIsCisgICAg
IiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIHdyaXRlQmFycmllck9uT3BlcmFuZHMo
MSwgMykiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKSIsCisgICAgIiAg
ICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2NmciwgdDAsIDhdLCB0MCIsCisgICAgIiAgICBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24oMywgdDEpIiwKKyAgICAiICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUo
dDEsIHQyLCB0MykiLAorICAgICIgICAgbG9hZGkgOFtQQ10sIHQxIiwKKyAgICAiICAgIHN0b3Jl
aSB0MiwgKERpcmVjdEFyZ3VtZW50c19zdG9yYWdlICsgVGFnT2Zmc2V0KVt0MCwgdDEsIDhdIiwK
KyAgICAiICAgIHN0b3JlaSB0MywgKERpcmVjdEFyZ3VtZW50c19zdG9yYWdlICsgUGF5bG9hZE9m
ZnNldClbdDAsIHQxLCA4XSIsCisgICAgIiAgICBkaXNwYXRjaCg0KSIsCisgICAgIl9sbGludF9v
cF9nZXRfcGFyZW50X3Njb3BlOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAi
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkiLAorICAgICIgICAgbG9hZHAgUGF5bG9h
ZE9mZnNldFtjZnIsIHQwLCA4XSwgdDAiLAorICAgICIgICAgbG9hZHAgSlNTY29wZTo6bV9uZXh0
W3QwXSwgdDAiLAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKSIsCisgICAg
IiAgICBzdG9yZWkgQ2VsbFRhZywgVGFnT2Zmc2V0W2NmciwgdDEsIDhdIiwKKyAgICAiICAgIHN0
b3JlaSB0MCwgUGF5bG9hZE9mZnNldFtjZnIsIHQxLCA4XSIsCisgICAgIiAgICBkaXNwYXRjaCgz
KSIsCisgICAgIl9sbGludF9vcF9wcm9maWxlX3R5cGU6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0
aW9uKCkiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQxIiwKKyAgICAiICAgIGxv
YWRwIENvZGVCbG9jazo6bV92bVt0MV0sIHQxIiwKKyAgICAiICAgIGxvYWRwIFZNOjptX3R5cGVQ
cm9maWxlckxvZ1t0MV0sIHQxIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0
MikiLAorICAgICIgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDUsIHQwKSIsCisgICAg
IiAgICBiaWVxIHQ1LCBFbXB0eVZhbHVlVGFnLCAub3BQcm9maWxlVHlwZURvbmUiLAorICAgICIg
ICAgbG9hZHAgVHlwZVByb2ZpbGVyTG9nOjptX2N1cnJlbnRMb2dFbnRyeVB0clt0MV0sIHQyIiwK
KyAgICAiICAgIHN0b3JlaSB0NSwgKFR5cGVQcm9maWxlckxvZzo6TG9nRW50cnk6OnZhbHVlICsg
VGFnT2Zmc2V0KVt0Ml0iLAorICAgICIgICAgc3RvcmVpIHQwLCAoVHlwZVByb2ZpbGVyTG9nOjpM
b2dFbnRyeTo6dmFsdWUgKyBQYXlsb2FkT2Zmc2V0KVt0Ml0iLAorICAgICIgICAgbG9hZHBGcm9t
SW5zdHJ1Y3Rpb24oMiwgdDMpIiwKKyAgICAiICAgIHN0b3JlcCB0MywgVHlwZVByb2ZpbGVyTG9n
OjpMb2dFbnRyeTo6bG9jYXRpb25bdDJdIiwKKyAgICAiICAgIGJpZXEgdDUsIENlbGxUYWcsIC5v
cFByb2ZpbGVUeXBlSXNDZWxsIiwKKyAgICAiICAgIHN0b3JlaSAwLCBUeXBlUHJvZmlsZXJMb2c6
OkxvZ0VudHJ5OjpzdHJ1Y3R1cmVJRFt0Ml0iLAorICAgICIgICAgam1wIC5vcFByb2ZpbGVUeXBl
U2tpcElzQ2VsbCIsCisgICAgIi5vcFByb2ZpbGVUeXBlSXNDZWxsOiIsCisgICAgIiAgICBsb2Fk
aSBKU0NlbGw6Om1fc3RydWN0dXJlSURbdDBdLCB0MyIsCisgICAgIiAgICBzdG9yZWkgdDMsIFR5
cGVQcm9maWxlckxvZzo6TG9nRW50cnk6OnN0cnVjdHVyZUlEW3QyXSIsCisgICAgIi5vcFByb2Zp
bGVUeXBlU2tpcElzQ2VsbDoiLAorICAgICIgICAgYWRkcCBzaXplb2YgVHlwZVByb2ZpbGVyTG9n
OjpMb2dFbnRyeSwgdDIiLAorICAgICIgICAgc3RvcmVwIHQyLCBUeXBlUHJvZmlsZXJMb2c6Om1f
Y3VycmVudExvZ0VudHJ5UHRyW3QxXSIsCisgICAgIiAgICBsb2FkcCBUeXBlUHJvZmlsZXJMb2c6
Om1fbG9nRW5kUHRyW3QxXSwgdDEiLAorICAgICIgICAgYnBuZXEgdDIsIHQxLCAub3BQcm9maWxl
VHlwZURvbmUiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfcHJvZmls
ZV90eXBlX2NsZWFyX2xvZykiLAorICAgICIub3BQcm9maWxlVHlwZURvbmU6IiwKKyAgICAiICAg
IGRpc3BhdGNoKDYpIiwKKyAgICAiX2xsaW50X29wX3Byb2ZpbGVfY29udHJvbF9mbG93OiIsCisg
ICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGxvYWRwRnJvbUluc3RydWN0aW9u
KDEsIHQwKSIsCisgICAgIiAgICBsb2FkaSBCYXNpY0Jsb2NrTG9jYXRpb246Om1fZXhlY3V0aW9u
Q291bnRbdDBdLCB0MSIsCisgICAgIiAgICBhZGRpIDEsIHQxIiwKKyAgICAiICAgIGJpZXEgdDEs
IDAsIC5kb25lIiwKKyAgICAiICAgIHN0b3JlaSB0MSwgQmFzaWNCbG9ja0xvY2F0aW9uOjptX2V4
ZWN1dGlvbkNvdW50W3QwXSIsCisgICAgIi5kb25lOiIsCisgICAgIiAgICBkaXNwYXRjaCgyKSIs
CisgICAgIl9sbGludF9vcF9nZXRfcmVzdF9sZW5ndGg6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0
aW9uKCkiLAorICAgICIgICAgbG9hZGkgKFBheWxvYWRPZmZzZXQgKyBBcmd1bWVudENvdW50KVtj
ZnJdLCB0MCIsCisgICAgIiAgICBzdWJpIDEsIHQwIiwKKyAgICAiICAgIGxvYWRpc0Zyb21JbnN0
cnVjdGlvbigyLCB0MSkiLAorICAgICIgICAgYmlsdGVxIHQwLCB0MSwgLnN0b3JlWmVybyIsCisg
ICAgIiAgICBzdWJpIHQxLCB0MCIsCisgICAgIiAgICBqbXAgLmZpbmlzaCIsCisgICAgIi5zdG9y
ZVplcm86IiwKKyAgICAiICAgIG1vdmUgMCwgdDAiLAorICAgICIuZmluaXNoOiIsCisgICAgIiAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpIiwKKyAgICAiICAgIHN0b3JlaSB0MCwgUGF5
bG9hZE9mZnNldFtjZnIsIHQxLCA4XSIsCisgICAgIiAgICBzdG9yZWkgSW50MzJUYWcsIFRhZ09m
ZnNldFtjZnIsIHQxLCA4XSIsCisgICAgIiAgICBkaXNwYXRjaCgzKSIsCisgICAgIl9sbGludF9v
cF9sb2dfc2hhZG93X2NoaWNrZW5fcHJvbG9ndWU6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9u
KCkiLAorICAgICIgICAgYWNxdWlyZVNoYWRvd0NoaWNrZW5QYWNrZXQoLm9wTG9nU2hhZG93Q2hp
Y2tlblByb2xvZ3VlU2xvdykiLAorICAgICIgICAgc3RvcmVwIGNmciwgU2hhZG93Q2hpY2tlbjo6
UGFja2V0OjpmcmFtZVt0MF0iLAorICAgICIgICAgbG9hZHAgQ2FsbGVyRnJhbWVbY2ZyXSwgdDEi
LAorICAgICIgICAgc3RvcmVwIHQxLCBTaGFkb3dDaGlja2VuOjpQYWNrZXQ6OmNhbGxlckZyYW1l
W3QwXSIsCisgICAgIiAgICBsb2FkcCAoQ2FsbGVlICsgUGF5bG9hZE9mZnNldClbY2ZyXSwgdDEi
LAorICAgICIgICAgc3RvcmVwIHQxLCBTaGFkb3dDaGlja2VuOjpQYWNrZXQ6OmNhbGxlZVt0MF0i
LAorICAgICIgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKSIsCisgICAgIiAgICBsb2Fk
aSBQYXlsb2FkT2Zmc2V0W2NmciwgdDEsIDhdLCB0MSIsCisgICAgIiAgICBzdG9yZXAgdDEsIFNo
YWRvd0NoaWNrZW46OlBhY2tldDo6c2NvcGVbdDBdIiwKKyAgICAiICAgIGRpc3BhdGNoKDIpIiwK
KyAgICAiLm9wTG9nU2hhZG93Q2hpY2tlblByb2xvZ3VlU2xvdzoiLAorICAgICIgICAgY2FsbE9w
Y29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbG9nX3NoYWRvd19jaGlja2VuX3Byb2xvZ3Vl
KSIsCisgICAgIiAgICBkaXNwYXRjaCgyKSIsCisgICAgIl9sbGludF9vcF9sb2dfc2hhZG93X2No
aWNrZW5fdGFpbDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBhY3F1
aXJlU2hhZG93Q2hpY2tlblBhY2tldCgub3BMb2dTaGFkb3dDaGlja2VuVGFpbFNsb3cpIiwKKyAg
ICAiICAgIHN0b3JlcCBjZnIsIFNoYWRvd0NoaWNrZW46OlBhY2tldDo6ZnJhbWVbdDBdIiwKKyAg
ICAiICAgIHN0b3JlcCBTaGFkb3dDaGlja2VuVGFpbE1hcmtlciwgU2hhZG93Q2hpY2tlbjo6UGFj
a2V0OjpjYWxsZWVbdDBdIiwKKyAgICAiICAgIGxvYWRWYXJpYWJsZSgxLCB0MywgdDIsIHQxKSIs
CisgICAgIiAgICBzdG9yZWkgdDIsIChUYWdPZmZzZXQgKyBTaGFkb3dDaGlja2VuOjpQYWNrZXQ6
OnRoaXNWYWx1ZSlbdDBdIiwKKyAgICAiICAgIHN0b3JlaSB0MSwgKFBheWxvYWRPZmZzZXQgKyBT
aGFkb3dDaGlja2VuOjpQYWNrZXQ6OnRoaXNWYWx1ZSlbdDBdIiwKKyAgICAiICAgIGxvYWRpc0Zy
b21JbnN0cnVjdGlvbigyLCB0MSkiLAorICAgICIgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtjZnIs
IHQxLCA4XSwgdDEiLAorICAgICIgICAgc3RvcmVwIHQxLCBTaGFkb3dDaGlja2VuOjpQYWNrZXQ6
OnNjb3BlW3QwXSIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDEiLAorICAgICIg
ICAgc3RvcmVwIHQxLCBTaGFkb3dDaGlja2VuOjpQYWNrZXQ6OmNvZGVCbG9ja1t0MF0iLAorICAg
ICIgICAgc3RvcmVpIFBDLCBTaGFkb3dDaGlja2VuOjpQYWNrZXQ6OmNhbGxTaXRlSW5kZXhbdDBd
IiwKKyAgICAiICAgIGRpc3BhdGNoKDMpIiwKKyAgICAiLm9wTG9nU2hhZG93Q2hpY2tlblRhaWxT
bG93OiIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9sb2df
c2hhZG93X2NoaWNrZW5fdGFpbCkiLAorICAgICIgICAgZGlzcGF0Y2goMykiLAorICAgICJlbmQi
LAorICAgICJfbGxpbnRfb3BfY3JlYXRlX2RpcmVjdF9hcmd1bWVudHM6IiwKKyAgICAiICAgIHRy
YWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhf
Y3JlYXRlX2RpcmVjdF9hcmd1bWVudHMpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAo
b3BfY3JlYXRlX2RpcmVjdF9hcmd1bWVudHNfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfY3Jl
YXRlX3Njb3BlZF9hcmd1bWVudHM6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAg
ICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfY3JlYXRlX3Njb3BlZF9hcmd1bWVu
dHMpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfY3JlYXRlX3Njb3BlZF9hcmd1
bWVudHNfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfY3JlYXRlX2Nsb25lZF9hcmd1bWVudHM6
IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQ
YXRoKF9zbG93X3BhdGhfY3JlYXRlX2Nsb25lZF9hcmd1bWVudHMpIiwKKyAgICAiICAgIGRpc3Bh
dGNoKGNvbnN0ZXhwciAob3BfY3JlYXRlX2Nsb25lZF9hcmd1bWVudHNfbGVuZ3RoKSkiLAorICAg
ICJfbGxpbnRfb3BfY3JlYXRlX3RoaXM6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAor
ICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfY3JlYXRlX3RoaXMpIiwKKyAg
ICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfY3JlYXRlX3RoaXNfbGVuZ3RoKSkiLAorICAg
ICJfbGxpbnRfb3BfbmV3X29iamVjdDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisg
ICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfb2JqZWN0KSIs
CisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX25ld19vYmplY3RfbGVuZ3RoKSkiLAor
ICAgICJfbGxpbnRfb3BfbmV3X2Z1bmM6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAor
ICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Z1bmMpIiwK
KyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfbmV3X2Z1bmNfbGVuZ3RoKSkiLAorICAg
ICJfbGxpbnRfb3BfbmV3X2dlbmVyYXRvcl9mdW5jOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlv
bigpIiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19n
ZW5lcmF0b3JfZnVuYykiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9uZXdfZ2Vu
ZXJhdG9yX2Z1bmNfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfbmV3X2FzeW5jX2Z1bmM6IiwK
KyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY2FsbFNsb3dQYXRoKF9sbGlu
dF9zbG93X3BhdGhfbmV3X2FzeW5jX2Z1bmMpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhw
ciAob3BfbmV3X2FzeW5jX2Z1bmNfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfbmV3X2FycmF5
OiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93
UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19hcnJheSkiLAorICAgICIgICAgZGlzcGF0Y2goY29u
c3RleHByIChvcF9uZXdfYXJyYXlfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfbmV3X2FycmF5
X3dpdGhfc3ByZWFkOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGNh
bGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX25ld19hcnJheV93aXRoX3NwcmVhZCkiLAorICAg
ICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9uZXdfYXJyYXlfd2l0aF9zcHJlYWRfbGVuZ3Ro
KSkiLAorICAgICJfbGxpbnRfb3Bfc3ByZWFkOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigp
IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3NwcmVhZCkiLAorICAg
ICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9zcHJlYWRfbGVuZ3RoKSkiLAorICAgICJfbGxp
bnRfb3BfbmV3X2FycmF5X3dpdGhfc2l6ZToiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIs
CisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfYXJyYXlf
d2l0aF9zaXplKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX25ld19hcnJheV93
aXRoX3NpemVfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfbmV3X2FycmF5X2J1ZmZlcjoiLAor
ICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgo
X2xsaW50X3Nsb3dfcGF0aF9uZXdfYXJyYXlfYnVmZmVyKSIsCisgICAgIiAgICBkaXNwYXRjaChj
b25zdGV4cHIgKG9wX25ld19hcnJheV9idWZmZXJfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3Bf
bmV3X3JlZ2V4cDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBjYWxs
T3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfcmVnZXhwKSIsCisgICAgIiAgICBk
aXNwYXRjaChjb25zdGV4cHIgKG9wX25ld19yZWdleHBfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRf
b3BfbGVzczoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBjYWxsT3Bj
b2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9sZXNzKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4
cHIgKG9wX2xlc3NfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfbGVzc2VxOiIsCisgICAgIiAg
ICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19w
YXRoX2xlc3NlcSkiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9sZXNzZXFfbGVu
Z3RoKSkiLAorICAgICJfbGxpbnRfb3BfZ3JlYXRlcjoiLAorICAgICIgICAgdHJhY2VFeGVjdXRp
b24oKSIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9ncmVhdGVyKSIs
CisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2dyZWF0ZXJfbGVuZ3RoKSkiLAorICAg
ICJfbGxpbnRfb3BfZ3JlYXRlcmVxOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAg
ICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2dyZWF0ZXJlcSkiLAorICAgICIg
ICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9ncmVhdGVyZXFfbGVuZ3RoKSkiLAorICAgICJfbGxp
bnRfb3BfbW9kOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGNhbGxP
cGNvZGVTbG93UGF0aChfc2xvd19wYXRoX21vZCkiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3Rl
eHByIChvcF9tb2RfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfcG93OiIsCisgICAgIiAgICB0
cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRo
X3BvdykiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9wb3dfbGVuZ3RoKSkiLAor
ICAgICJfbGxpbnRfb3BfdHlwZW9mOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAg
ICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3R5cGVvZikiLAorICAgICIgICAg
ZGlzcGF0Y2goY29uc3RleHByIChvcF90eXBlb2ZfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3Bf
aXNfb2JqZWN0X29yX251bGw6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIg
ICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfaXNfb2JqZWN0X29yX251bGwpIiwKKyAg
ICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfaXNfb2JqZWN0X29yX251bGxfbGVuZ3RoKSki
LAorICAgICJfbGxpbnRfb3BfaXNfZnVuY3Rpb246IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9u
KCkiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfaXNfZnVuY3Rpb24p
IiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfaXNfZnVuY3Rpb25fbGVuZ3RoKSki
LAorICAgICJfbGxpbnRfb3BfaW46IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAg
ICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfaW4pIiwKKyAgICAiICAgIGRpc3Bh
dGNoKGNvbnN0ZXhwciAob3BfaW5fbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfdHJ5X2dldF9i
eV9pZDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBjYWxsT3Bjb2Rl
U2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF90cnlfZ2V0X2J5X2lkKSIsCisgICAgIiAgICBkaXNw
YXRjaChjb25zdGV4cHIgKG9wX3RyeV9nZXRfYnlfaWRfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRf
b3BfZGVsX2J5X2lkOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGNh
bGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2RlbF9ieV9pZCkiLAorICAgICIgICAg
ZGlzcGF0Y2goY29uc3RleHByIChvcF9kZWxfYnlfaWRfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRf
b3BfZGVsX2J5X3ZhbDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBj
YWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9kZWxfYnlfdmFsKSIsCisgICAgIiAg
ICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2RlbF9ieV92YWxfbGVuZ3RoKSkiLAorICAgICJfbGxp
bnRfb3BfcHV0X2J5X2luZGV4OiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAi
ICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX3B1dF9ieV9pbmRleCkiLAor
ICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9wdXRfYnlfaW5kZXhfbGVuZ3RoKSkiLAor
ICAgICJfbGxpbnRfb3BfcHV0X2dldHRlcl9ieV9pZDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRp
b24oKSIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9wdXRf
Z2V0dGVyX2J5X2lkKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX3B1dF9nZXR0
ZXJfYnlfaWRfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfcHV0X3NldHRlcl9ieV9pZDoiLAor
ICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgo
X2xsaW50X3Nsb3dfcGF0aF9wdXRfc2V0dGVyX2J5X2lkKSIsCisgICAgIiAgICBkaXNwYXRjaChj
b25zdGV4cHIgKG9wX3B1dF9zZXR0ZXJfYnlfaWRfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3Bf
cHV0X2dldHRlcl9zZXR0ZXJfYnlfaWQ6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAor
ICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfcHV0X2dldHRlcl9z
ZXR0ZXJfYnlfaWQpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfcHV0X2dldHRl
cl9zZXR0ZXJfYnlfaWRfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfcHV0X2dldHRlcl9ieV92
YWw6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY2FsbE9wY29kZVNs
b3dQYXRoKF9sbGludF9zbG93X3BhdGhfcHV0X2dldHRlcl9ieV92YWwpIiwKKyAgICAiICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciAob3BfcHV0X2dldHRlcl9ieV92YWxfbGVuZ3RoKSkiLAorICAgICJf
bGxpbnRfb3BfcHV0X3NldHRlcl9ieV92YWw6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCki
LAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfcHV0X3NldHRl
cl9ieV92YWwpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfcHV0X3NldHRlcl9i
eV92YWxfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfZGVmaW5lX2RhdGFfcHJvcGVydHk6IiwK
KyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRo
KF9zbG93X3BhdGhfZGVmaW5lX2RhdGFfcHJvcGVydHkpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNv
bnN0ZXhwciAob3BfZGVmaW5lX2RhdGFfcHJvcGVydHlfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRf
b3BfZGVmaW5lX2FjY2Vzc29yX3Byb3BlcnR5OiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigp
IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2RlZmluZV9hY2Nlc3Nv
cl9wcm9wZXJ0eSkiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9kZWZpbmVfYWNj
ZXNzb3JfcHJvcGVydHlfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfanRydWU6IiwKKyAgICAi
ICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAganVtcFRydWVPckZhbHNlKG1hY3JvICh2
YWx1ZSwgdGFyZ2V0KSIsCisgICAgIiAgICBidGlueiB2YWx1ZSwgdGFyZ2V0IiwKKyAgICAiZW5k
LCBfbGxpbnRfc2xvd19wYXRoX2p0cnVlKSIsCisgICAgIl9sbGludF9vcF9qZmFsc2U6IiwKKyAg
ICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAganVtcFRydWVPckZhbHNlKG1hY3Jv
ICh2YWx1ZSwgdGFyZ2V0KSIsCisgICAgIiAgICBidGl6IHZhbHVlLCB0YXJnZXQiLAorICAgICJl
bmQsIF9sbGludF9zbG93X3BhdGhfamZhbHNlKSIsCisgICAgIl9sbGludF9vcF9qbGVzczoiLAor
ICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBjb21wYXJlKG1hY3JvIChsZWZ0
LCByaWdodCwgdGFyZ2V0KSIsCisgICAgIiAgICBiaWx0IGxlZnQsIHJpZ2h0LCB0YXJnZXQiLAor
ICAgICJlbmQsIG1hY3JvIChsZWZ0LCByaWdodCwgdGFyZ2V0KSIsCisgICAgIiAgICBiZGx0IGxl
ZnQsIHJpZ2h0LCB0YXJnZXQiLAorICAgICJlbmQsIF9sbGludF9zbG93X3BhdGhfamxlc3MpIiwK
KyAgICAiX2xsaW50X29wX2pubGVzczoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisg
ICAgIiAgICBjb21wYXJlKG1hY3JvIChsZWZ0LCByaWdodCwgdGFyZ2V0KSIsCisgICAgIiAgICBi
aWd0ZXEgbGVmdCwgcmlnaHQsIHRhcmdldCIsCisgICAgImVuZCwgbWFjcm8gKGxlZnQsIHJpZ2h0
LCB0YXJnZXQpIiwKKyAgICAiICAgIGJkZ3RlcXVuIGxlZnQsIHJpZ2h0LCB0YXJnZXQiLAorICAg
ICJlbmQsIF9sbGludF9zbG93X3BhdGhfam5sZXNzKSIsCisgICAgIl9sbGludF9vcF9qZ3JlYXRl
cjoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBjb21wYXJlKG1hY3Jv
IChsZWZ0LCByaWdodCwgdGFyZ2V0KSIsCisgICAgIiAgICBiaWd0IGxlZnQsIHJpZ2h0LCB0YXJn
ZXQiLAorICAgICJlbmQsIG1hY3JvIChsZWZ0LCByaWdodCwgdGFyZ2V0KSIsCisgICAgIiAgICBi
ZGd0IGxlZnQsIHJpZ2h0LCB0YXJnZXQiLAorICAgICJlbmQsIF9sbGludF9zbG93X3BhdGhfamdy
ZWF0ZXIpIiwKKyAgICAiX2xsaW50X29wX2puZ3JlYXRlcjoiLAorICAgICIgICAgdHJhY2VFeGVj
dXRpb24oKSIsCisgICAgIiAgICBjb21wYXJlKG1hY3JvIChsZWZ0LCByaWdodCwgdGFyZ2V0KSIs
CisgICAgIiAgICBiaWx0ZXEgbGVmdCwgcmlnaHQsIHRhcmdldCIsCisgICAgImVuZCwgbWFjcm8g
KGxlZnQsIHJpZ2h0LCB0YXJnZXQpIiwKKyAgICAiICAgIGJkbHRlcXVuIGxlZnQsIHJpZ2h0LCB0
YXJnZXQiLAorICAgICJlbmQsIF9sbGludF9zbG93X3BhdGhfam5ncmVhdGVyKSIsCisgICAgIl9s
bGludF9vcF9qbGVzc2VxOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAg
IGNvbXBhcmUobWFjcm8gKGxlZnQsIHJpZ2h0LCB0YXJnZXQpIiwKKyAgICAiICAgIGJpbHRlcSBs
ZWZ0LCByaWdodCwgdGFyZ2V0IiwKKyAgICAiZW5kLCBtYWNybyAobGVmdCwgcmlnaHQsIHRhcmdl
dCkiLAorICAgICIgICAgYmRsdGVxIGxlZnQsIHJpZ2h0LCB0YXJnZXQiLAorICAgICJlbmQsIF9s
bGludF9zbG93X3BhdGhfamxlc3NlcSkiLAorICAgICJfbGxpbnRfb3Bfam5sZXNzZXE6IiwKKyAg
ICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY29tcGFyZShtYWNybyAobGVmdCwg
cmlnaHQsIHRhcmdldCkiLAorICAgICIgICAgYmlndCBsZWZ0LCByaWdodCwgdGFyZ2V0IiwKKyAg
ICAiZW5kLCBtYWNybyAobGVmdCwgcmlnaHQsIHRhcmdldCkiLAorICAgICIgICAgYmRndHVuIGxl
ZnQsIHJpZ2h0LCB0YXJnZXQiLAorICAgICJlbmQsIF9sbGludF9zbG93X3BhdGhfam5sZXNzZXEp
IiwKKyAgICAiX2xsaW50X29wX2pncmVhdGVyZXE6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9u
KCkiLAorICAgICIgICAgY29tcGFyZShtYWNybyAobGVmdCwgcmlnaHQsIHRhcmdldCkiLAorICAg
ICIgICAgYmlndGVxIGxlZnQsIHJpZ2h0LCB0YXJnZXQiLAorICAgICJlbmQsIG1hY3JvIChsZWZ0
LCByaWdodCwgdGFyZ2V0KSIsCisgICAgIiAgICBiZGd0ZXEgbGVmdCwgcmlnaHQsIHRhcmdldCIs
CisgICAgImVuZCwgX2xsaW50X3Nsb3dfcGF0aF9qZ3JlYXRlcmVxKSIsCisgICAgIl9sbGludF9v
cF9qbmdyZWF0ZXJlcToiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBj
b21wYXJlKG1hY3JvIChsZWZ0LCByaWdodCwgdGFyZ2V0KSIsCisgICAgIiAgICBiaWx0IGxlZnQs
IHJpZ2h0LCB0YXJnZXQiLAorICAgICJlbmQsIG1hY3JvIChsZWZ0LCByaWdodCwgdGFyZ2V0KSIs
CisgICAgIiAgICBiZGx0dW4gbGVmdCwgcmlnaHQsIHRhcmdldCIsCisgICAgImVuZCwgX2xsaW50
X3Nsb3dfcGF0aF9qbmdyZWF0ZXJlcSkiLAorICAgICJfbGxpbnRfb3BfbG9vcF9oaW50OiIsCisg
ICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGNoZWNrU3dpdGNoVG9KSVRGb3JM
b29wKCkiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9sb29wX2hpbnRfbGVuZ3Ro
KSkiLAorICAgICJfbGxpbnRfb3BfY2hlY2tfdHJhcHM6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0
aW9uKCkiLAorICAgICIgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQxIiwKKyAgICAiICAgIGxv
YWRwIENvZGVCbG9jazo6bV92bVt0MV0sIHQxIiwKKyAgICAiICAgIGxvYWRiIChWTTo6bV90cmFw
cyArIFZNVHJhcHM6Om1fbmVlZFRyYXBIYW5kbGluZylbdDFdLCB0MCIsCisgICAgIiAgICBidHBu
eiB0MCwgLmhhbmRsZVRyYXBzIiwKKyAgICAiLmFmdGVySGFuZGxpbmdUcmFwczoiLAorICAgICIg
ICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9jaGVja190cmFwc19sZW5ndGgpKSIsCisgICAgIi5o
YW5kbGVUcmFwczoiLAorICAgICIgICAgY2FsbFRyYXBIYW5kbGVyKC50aHJvd0hhbmRsZXIpIiwK
KyAgICAiICAgIGptcCAuYWZ0ZXJIYW5kbGluZ1RyYXBzIiwKKyAgICAiLnRocm93SGFuZGxlcjoi
LAorICAgICIgICAgam1wIF9sbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lIiwK
KyAgICAibWFjcm8gYWNxdWlyZVNoYWRvd0NoaWNrZW5QYWNrZXQoc2xvdykiLAorICAgICIgICAg
bG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQxIiwKKyAgICAiICAgIGxvYWRwIENvZGVCbG9jazo6bV92
bVt0MV0sIHQxIiwKKyAgICAiICAgIGxvYWRwIFZNOjptX3NoYWRvd0NoaWNrZW5bdDFdLCB0MiIs
CisgICAgIiAgICBsb2FkcCBTaGFkb3dDaGlja2VuOjptX2xvZ0N1cnNvclt0Ml0sIHQwIiwKKyAg
ICAiICAgIGJwYWVxIHQwLCBTaGFkb3dDaGlja2VuOjptX2xvZ0VuZFt0Ml0sIHNsb3ciLAorICAg
ICIgICAgYWRkcCBzaXplb2YgU2hhZG93Q2hpY2tlbjo6UGFja2V0LCB0MCwgdDEiLAorICAgICIg
ICAgc3RvcmVwIHQxLCBTaGFkb3dDaGlja2VuOjptX2xvZ0N1cnNvclt0Ml0iLAorICAgICJlbmQi
LAorICAgICJfbGxpbnRfb3Bfbm9wOiIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9w
X25vcF9sZW5ndGgpKSIsCisgICAgIl9sbGludF9vcF9zd2l0Y2hfc3RyaW5nOiIsCisgICAgIiAg
ICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRf
c2xvd19wYXRoX3N3aXRjaF9zdHJpbmcpIiwKKyAgICAiICAgIGRpc3BhdGNoKDApIiwKKyAgICAi
X2xsaW50X29wX25ld19mdW5jX2V4cDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisg
ICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfZnVuY19leHAp
IiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfbmV3X2Z1bmNfZXhwX2xlbmd0aCkp
IiwKKyAgICAiX2xsaW50X29wX25ld19nZW5lcmF0b3JfZnVuY19leHA6IiwKKyAgICAiICAgIHRy
YWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGludF9zbG93
X3BhdGhfbmV3X2dlbmVyYXRvcl9mdW5jX2V4cCkiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3Rl
eHByIChvcF9uZXdfZ2VuZXJhdG9yX2Z1bmNfZXhwX2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29w
X25ld19hc3luY19mdW5jX2V4cDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAg
IiAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfYXN5bmNfZnVuY19leHApIiwK
KyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfbmV3X2FzeW5jX2Z1bmNfZXhwX2xlbmd0
aCkpIiwKKyAgICAiX2xsaW50X29wX3NldF9mdW5jdGlvbl9uYW1lOiIsCisgICAgIiAgICB0cmFj
ZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfbGxpbnRfc2xvd19w
YXRoX3NldF9mdW5jdGlvbl9uYW1lKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9w
X3NldF9mdW5jdGlvbl9uYW1lX2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX2NhbGw6IiwKKyAg
ICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgYXJyYXlQcm9maWxlRm9yQ2FsbCgp
IiwKKyAgICAiICAgIGRvQ2FsbChfbGxpbnRfc2xvd19wYXRoX2NhbGwsIHByZXBhcmVGb3JSZWd1
bGFyQ2FsbCkiLAorICAgICJfbGxpbnRfb3BfdGFpbF9jYWxsOiIsCisgICAgIiAgICB0cmFjZUV4
ZWN1dGlvbigpIiwKKyAgICAiICAgIGFycmF5UHJvZmlsZUZvckNhbGwoKSIsCisgICAgIiAgICBj
aGVja1N3aXRjaFRvSklURm9yRXBpbG9ndWUoKSIsCisgICAgIiAgICBkb0NhbGwoX2xsaW50X3Ns
b3dfcGF0aF9jYWxsLCBwcmVwYXJlRm9yVGFpbENhbGwpIiwKKyAgICAiX2xsaW50X29wX2NvbnN0
cnVjdDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBkb0NhbGwoX2xs
aW50X3Nsb3dfcGF0aF9jb25zdHJ1Y3QsIHByZXBhcmVGb3JSZWd1bGFyQ2FsbCkiLAorICAgICJt
YWNybyBkb0NhbGxWYXJhcmdzKGZyYW1lU2xvd1BhdGgsIHNsb3dQYXRoLCBwcmVwYXJlQ2FsbCki
LAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKGZyYW1lU2xvd1BhdGgpIiwKKyAgICAiICAg
IGJyYW5jaElmRXhjZXB0aW9uKF9sbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5l
KSIsCisgICAgImlmIEpTVkFMVUU2NCIsCisgICAgIiAgICBtb3ZlIHIxLCBzcCIsCisgICAgImVs
c2UiLAorICAgICJpZiBBUk12NyIsCisgICAgIiAgICBzdWJwIHIxLCBDYWxsZXJGcmFtZUFuZFBD
U2l6ZSwgdDIiLAorICAgICIgICAgbW92ZSB0Miwgc3AiLAorICAgICJlbHNlIiwKKyAgICAiICAg
IHN1YnAgcjEsIENhbGxlckZyYW1lQW5kUENTaXplLCBzcCIsCisgICAgImVuZCIsCisgICAgImVu
ZCIsCisgICAgIiAgICBzbG93UGF0aEZvckNhbGwoc2xvd1BhdGgsIHByZXBhcmVDYWxsKSIsCisg
ICAgImVuZCIsCisgICAgIl9sbGludF9vcF9jYWxsX3ZhcmFyZ3M6IiwKKyAgICAiICAgIHRyYWNl
RXhlY3V0aW9uKCkiLAorICAgICIgICAgZG9DYWxsVmFyYXJncyhfbGxpbnRfc2xvd19wYXRoX3Np
emVfZnJhbWVfZm9yX3ZhcmFyZ3MsIF9sbGludF9zbG93X3BhdGhfY2FsbF92YXJhcmdzLCBwcmVw
YXJlRm9yUmVndWxhckNhbGwpIiwKKyAgICAiX2xsaW50X29wX3RhaWxfY2FsbF92YXJhcmdzOiIs
CisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGNoZWNrU3dpdGNoVG9KSVRG
b3JFcGlsb2d1ZSgpIiwKKyAgICAiICAgIGRvQ2FsbFZhcmFyZ3MoX2xsaW50X3Nsb3dfcGF0aF9z
aXplX2ZyYW1lX2Zvcl92YXJhcmdzLCBfbGxpbnRfc2xvd19wYXRoX2NhbGxfdmFyYXJncywgcHJl
cGFyZUZvclRhaWxDYWxsKSIsCisgICAgIl9sbGludF9vcF90YWlsX2NhbGxfZm9yd2FyZF9hcmd1
bWVudHM6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY2hlY2tTd2l0
Y2hUb0pJVEZvckVwaWxvZ3VlKCkiLAorICAgICIgICAgZG9DYWxsVmFyYXJncyhfbGxpbnRfc2xv
d19wYXRoX3NpemVfZnJhbWVfZm9yX2ZvcndhcmRfYXJndW1lbnRzLCBfbGxpbnRfc2xvd19wYXRo
X3RhaWxfY2FsbF9mb3J3YXJkX2FyZ3VtZW50cywgcHJlcGFyZUZvclRhaWxDYWxsKSIsCisgICAg
Il9sbGludF9vcF9jb25zdHJ1Y3RfdmFyYXJnczoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24o
KSIsCisgICAgIiAgICBkb0NhbGxWYXJhcmdzKF9sbGludF9zbG93X3BhdGhfc2l6ZV9mcmFtZV9m
b3JfdmFyYXJncywgX2xsaW50X3Nsb3dfcGF0aF9jb25zdHJ1Y3RfdmFyYXJncywgcHJlcGFyZUZv
clJlZ3VsYXJDYWxsKSIsCisgICAgIl9sbGludF9vcF9jYWxsX2V2YWw6IiwKKyAgICAiICAgIHRy
YWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgc2xvd1BhdGhGb3JDYWxsKF9sbGludF9zbG93X3Bh
dGhfY2FsbF9ldmFsLCBwcmVwYXJlRm9yUmVndWxhckNhbGwpIiwKKyAgICAiX2xsaW50X2dlbmVy
aWNfcmV0dXJuX3BvaW50OiIsCisgICAgIiAgICBkaXNwYXRjaEFmdGVyQ2FsbCgpIiwKKyAgICAi
X2xsaW50X29wX3N0cmNhdDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAg
ICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9zdHJjYXQpIiwKKyAgICAiICAgIGRpc3Bh
dGNoKGNvbnN0ZXhwciAob3Bfc3RyY2F0X2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX3B1c2hf
d2l0aF9zY29wZToiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBjYWxs
T3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9wdXNoX3dpdGhfc2NvcGUpIiwKKyAgICAiICAgIGRp
c3BhdGNoKGNvbnN0ZXhwciAob3BfcHVzaF93aXRoX3Njb3BlX2xlbmd0aCkpIiwKKyAgICAiX2xs
aW50X29wX2Fzc2VydDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBj
YWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9hc3NlcnQpIiwKKyAgICAiICAgIGRpc3BhdGNo
KGNvbnN0ZXhwciAob3BfYXNzZXJ0X2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX3VucmVhY2hh
YmxlOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGNhbGxPcGNvZGVT
bG93UGF0aChfc2xvd19wYXRoX3VucmVhY2hhYmxlKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25z
dGV4cHIgKG9wX3VucmVhY2hhYmxlX2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX3lpZWxkOiIs
CisgICAgIiAgICBub3RTdXBwb3J0ZWQoKSIsCisgICAgIl9sbGludF9vcF9jcmVhdGVfbGV4aWNh
bF9lbnZpcm9ubWVudDoiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBj
YWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudCki
LAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9u
bWVudF9sZW5ndGgpKSIsCisgICAgIl9sbGludF9vcF90aHJvdzoiLAorICAgICIgICAgdHJhY2VF
eGVjdXRpb24oKSIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0
aF90aHJvdykiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF90aHJvd19sZW5ndGgp
KSIsCisgICAgIl9sbGludF9vcF90aHJvd19zdGF0aWNfZXJyb3I6IiwKKyAgICAiICAgIHRyYWNl
RXhlY3V0aW9uKCkiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfdGhy
b3dfc3RhdGljX2Vycm9yKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX3Rocm93
X3N0YXRpY19lcnJvcl9sZW5ndGgpKSIsCisgICAgIl9sbGludF9vcF9kZWJ1ZzoiLAorICAgICIg
ICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDAi
LAorICAgICIgICAgbG9hZGkgQ29kZUJsb2NrOjptX2RlYnVnZ2VyUmVxdWVzdHNbdDBdLCB0MCIs
CisgICAgIiAgICBidGl6IHQwLCAub3BEZWJ1Z0RvbmUiLAorICAgICIgICAgY2FsbE9wY29kZVNs
b3dQYXRoKF9sbGludF9zbG93X3BhdGhfZGVidWcpIiwKKyAgICAiLm9wRGVidWdEb25lOiIsCisg
ICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2RlYnVnX2xlbmd0aCkpIiwKKyAgICAiX2xs
aW50X25hdGl2ZV9jYWxsX3RyYW1wb2xpbmU6IiwKKyAgICAiICAgIG5hdGl2ZUNhbGxUcmFtcG9s
aW5lKE5hdGl2ZUV4ZWN1dGFibGU6Om1fZnVuY3Rpb24pIiwKKyAgICAiX2xsaW50X25hdGl2ZV9j
b25zdHJ1Y3RfdHJhbXBvbGluZToiLAorICAgICIgICAgbmF0aXZlQ2FsbFRyYW1wb2xpbmUoTmF0
aXZlRXhlY3V0YWJsZTo6bV9jb25zdHJ1Y3RvcikiLAorICAgICJfbGxpbnRfb3BfZ2V0X2VudW1l
cmFibGVfbGVuZ3RoOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGNh
bGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2dldF9lbnVtZXJhYmxlX2xlbmd0aCkiLAorICAg
ICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9nZXRfZW51bWVyYWJsZV9sZW5ndGhfbGVuZ3Ro
KSkiLAorICAgICJfbGxpbnRfb3BfaGFzX2luZGV4ZWRfcHJvcGVydHk6IiwKKyAgICAiICAgIHRy
YWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhf
aGFzX2luZGV4ZWRfcHJvcGVydHkpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3Bf
aGFzX2luZGV4ZWRfcHJvcGVydHlfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfaGFzX3N0cnVj
dHVyZV9wcm9wZXJ0eToiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBj
YWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9oYXNfc3RydWN0dXJlX3Byb3BlcnR5KSIsCisg
ICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2hhc19zdHJ1Y3R1cmVfcHJvcGVydHlfbGVu
Z3RoKSkiLAorICAgICJfbGxpbnRfb3BfaGFzX2dlbmVyaWNfcHJvcGVydHk6IiwKKyAgICAiICAg
IHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3Bh
dGhfaGFzX2dlbmVyaWNfcHJvcGVydHkpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAo
b3BfaGFzX2dlbmVyaWNfcHJvcGVydHlfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfZ2V0X2Rp
cmVjdF9wbmFtZToiLAorICAgICIgICAgdHJhY2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBjYWxs
T3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF9nZXRfZGlyZWN0X3BuYW1lKSIsCisgICAgIiAgICBk
aXNwYXRjaChjb25zdGV4cHIgKG9wX2dldF9kaXJlY3RfcG5hbWVfbGVuZ3RoKSkiLAorICAgICJf
bGxpbnRfb3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0
aW9uKCkiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfZ2V0X3Byb3Bl
cnR5X2VudW1lcmF0b3IpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfZ2V0X3By
b3BlcnR5X2VudW1lcmF0b3JfbGVuZ3RoKSkiLAorICAgICJfbGxpbnRfb3BfZW51bWVyYXRvcl9z
dHJ1Y3R1cmVfcG5hbWU6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAg
Y2FsbE9wY29kZVNsb3dQYXRoKF9zbG93X3BhdGhfbmV4dF9zdHJ1Y3R1cmVfZW51bWVyYXRvcl9w
bmFtZSkiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChvcF9lbnVtZXJhdG9yX3N0cnVj
dHVyZV9wbmFtZV9sZW5ndGgpKSIsCisgICAgIl9sbGludF9vcF9lbnVtZXJhdG9yX2dlbmVyaWNf
cG5hbWU6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY2FsbE9wY29k
ZVNsb3dQYXRoKF9zbG93X3BhdGhfbmV4dF9nZW5lcmljX2VudW1lcmF0b3JfcG5hbWUpIiwKKyAg
ICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfZW51bWVyYXRvcl9nZW5lcmljX3BuYW1lX2xl
bmd0aCkpIiwKKyAgICAiX2xsaW50X29wX3RvX2luZGV4X3N0cmluZzoiLAorICAgICIgICAgdHJh
Y2VFeGVjdXRpb24oKSIsCisgICAgIiAgICBjYWxsT3Bjb2RlU2xvd1BhdGgoX3Nsb3dfcGF0aF90
b19pbmRleF9zdHJpbmcpIiwKKyAgICAiICAgIGRpc3BhdGNoKGNvbnN0ZXhwciAob3BfdG9faW5k
ZXhfc3RyaW5nX2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX2NyZWF0ZV9yZXN0OiIsCisgICAg
IiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xv
d19wYXRoX2NyZWF0ZV9yZXN0KSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2Ny
ZWF0ZV9yZXN0X2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX2luc3RhbmNlb2Y6IiwKKyAgICAi
ICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRoKF9sbGlu
dF9zbG93X3BhdGhfaW5zdGFuY2VvZikiLAorICAgICIgICAgZGlzcGF0Y2goY29uc3RleHByIChv
cF9pbnN0YW5jZW9mX2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX2dldF9ieV9pZF93aXRoX3Ro
aXM6IiwKKyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY2FsbE9wY29kZVNs
b3dQYXRoKF9zbG93X3BhdGhfZ2V0X2J5X2lkX3dpdGhfdGhpcykiLAorICAgICIgICAgZGlzcGF0
Y2goY29uc3RleHByIChvcF9nZXRfYnlfaWRfd2l0aF90aGlzX2xlbmd0aCkpIiwKKyAgICAiX2xs
aW50X29wX2dldF9ieV92YWxfd2l0aF90aGlzOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigp
IiwKKyAgICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX2dldF9ieV92YWxfd2l0
aF90aGlzKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX2dldF9ieV92YWxfd2l0
aF90aGlzX2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX3B1dF9ieV9pZF93aXRoX3RoaXM6IiwK
KyAgICAiICAgIHRyYWNlRXhlY3V0aW9uKCkiLAorICAgICIgICAgY2FsbE9wY29kZVNsb3dQYXRo
KF9zbG93X3BhdGhfcHV0X2J5X2lkX3dpdGhfdGhpcykiLAorICAgICIgICAgZGlzcGF0Y2goY29u
c3RleHByIChvcF9wdXRfYnlfaWRfd2l0aF90aGlzX2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29w
X3B1dF9ieV92YWxfd2l0aF90aGlzOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAg
ICAiICAgIGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3B1dF9ieV92YWxfd2l0aF90aGlz
KSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX3B1dF9ieV92YWxfd2l0aF90aGlz
X2xlbmd0aCkpIiwKKyAgICAiX2xsaW50X29wX3Jlc29sdmVfc2NvcGVfZm9yX2hvaXN0aW5nX2Z1
bmNfZGVjbF9pbl9ldmFsOiIsCisgICAgIiAgICB0cmFjZUV4ZWN1dGlvbigpIiwKKyAgICAiICAg
IGNhbGxPcGNvZGVTbG93UGF0aChfc2xvd19wYXRoX3Jlc29sdmVfc2NvcGVfZm9yX2hvaXN0aW5n
X2Z1bmNfZGVjbF9pbl9ldmFsKSIsCisgICAgIiAgICBkaXNwYXRjaChjb25zdGV4cHIgKG9wX3Jl
c29sdmVfc2NvcGVfZm9yX2hvaXN0aW5nX2Z1bmNfZGVjbF9pbl9ldmFsX2xlbmd0aCkpIiwKKyAg
ICAibWFjcm8gbm90U3VwcG9ydGVkKCkiLAorICAgICJpZiBBU1NFUlRfRU5BQkxFRCIsCisgICAg
IiAgICBjcmFzaCgpIiwKKyAgICAiZWxzZSIsCisgICAgIiAgICBicmVhayAiLAorICAgICJlbmQi
LAorICAgICJlbmQiCitdOwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5jaC9PZmZsaW5l
QXNzZW1ibGVyL2ZpbGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5j
aC9PZmZsaW5lQXNzZW1ibGVyL2ZpbGUuanMJKG5vbmV4aXN0ZW50KQorKysgUGVyZm9ybWFuY2VU
ZXN0cy9SZXhCZW5jaC9PZmZsaW5lQXNzZW1ibGVyL2ZpbGUuanMJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworInVzZSBzdHJpY3QiOworCitjbGFzcyBGaWxlCit7CisgICAgY29uc3RydWN0b3IgKGZpbGVO
YW1lLCBkYXRhKQorICAgIHsKKyAgICAgICAgdGhpcy5maWxlTmFtZSA9IGZpbGVOYW1lOworICAg
ICAgICB0aGlzLmRhdGEgPSBkYXRhOworICAgICAgICBpZiAoRmlsZS5kaXJlY3RvcnlbZmlsZU5h
bWVdKQorICAgICAgICAgICAgdGhyb3cgIkNyZWF0aW5nIGZpbGUgbmFtZWQgIiArIGZpbGVOYW1l
ICsgIiB0aGF0IGFscmVhZHkgZXhpc3RzIjsKKyAgICAgICAgRmlsZS5kaXJlY3RvcnlbZmlsZU5h
bWVdID0gdGhpczsKKyAgICB9CisKKyAgICBzdGF0aWMgb3BlbihmaWxlTmFtZSkKKyAgICB7Cisg
ICAgICAgIHJldHVybiB0aGlzLmRpcmVjdG9yeVtmaWxlTmFtZV07CisgICAgfQorCisgICAgcmVh
ZCgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5kYXRhOworICAgIH0KK30KKworRmlsZS5k
aXJlY3RvcnkgPSB7fTsKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvT2ZmbGluZUFz
c2VtYmxlci9nZW5lcmF0ZV9leHBlY3RlZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRl
c3RzL1JleEJlbmNoL09mZmxpbmVBc3NlbWJsZXIvZ2VuZXJhdGVfZXhwZWN0ZWQuanMJKG5vbmV4
aXN0ZW50KQorKysgUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5jaC9PZmZsaW5lQXNzZW1ibGVyL2dl
bmVyYXRlX2V4cGVjdGVkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworInVzZSBzdHJpY3QiOwor
CisvKiBVc2UgdGhpcyBmaWxlIHRvIGdlbmVyYXRlIHRoZSBleHBlY3RlZCBvdXRwdXQgd2l0aCB0
aGUgY29tbWFuZDoKKyAqICAgICAkIGpzYyByZWdpc3RlcnMuanMgaW5zdHJ1Y3Rpb25zLmpzIGFz
dC5qcyBwYXJzZXIuanMgZmlsZS5qcyBMb3dMZXZlbEludGVycHJldGVyLmpzIExvd0xldmVsSW50
ZXJwcmV0ZXIzMl82NC5qcyBMb3dMZXZlbEludGVycHJldGVyNjQuanMgSW5pdEJ5dGVjb2Rlcy5q
cyBnZW5lcmF0ZV9leHBlY3RlZC5qcyA+IGV4cGVjdGVkLmpzCisgKi8KKworcmVzZXRBU1QoKTsK
K2xldCBhc3QgPSBwYXJzZSgiTG93TGV2ZWxJbnRlcnByZXRlci5hc20iKTsKKworbGV0IGFzdER1
bXBlZEFzTGluZXMgPSBhc3QuZHVtcCgpLnNwbGl0KCJcbiIpOworCitwcmludCgiLyoiKTsKK3By
aW50KCIgKiBETyBOT1QgRURJVCBUSElTIEZJTEUsIGl0IGlzIGF1dG9nZW5lcmF0ZWQuIik7Citw
cmludCgiICovIik7CitwcmludCgiIik7CitwcmludCgiXCJ1c2Ugc3RyaWN0XCI7Iik7Citwcmlu
dCgiIik7CitwcmludCgibGV0IGV4cGVjdGVkQVNURHVtcGVkQXNMaW5lcyA9IFsiKTsKKworbGV0
IGxpbmVOdW1iZXIgPSAxOworbGV0IHRvdGFsTGluZXMgPSBhc3REdW1wZWRBc0xpbmVzLmxlbmd0
aDsKKworZm9yIChsZXQgbGluZSBvZiBhc3REdW1wZWRBc0xpbmVzKSB7CisgICAgcHJpbnQoIiAg
ICBcIiIgKyBsaW5lLnJlcGxhY2UoL1wiL2csICJcXFwiIikgKyAobGluZU51bWJlciA8IHRvdGFs
TGluZXMgPyAiXCIsIiA6ICJcIiIpKTsKKyAgICBsaW5lTnVtYmVyKys7Cit9CisKK3ByaW50KCJd
OyIpOwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5jaC9PZmZsaW5lQXNzZW1ibGVyL2lu
c3RydWN0aW9ucy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL1JleEJlbmNoL09m
ZmxpbmVBc3NlbWJsZXIvaW5zdHJ1Y3Rpb25zLmpzCShub25leGlzdGVudCkKKysrIFBlcmZvcm1h
bmNlVGVzdHMvUmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxlci9pbnN0cnVjdGlvbnMuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzMjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworInVzZSBzdHJpY3QiOworCisKKy8vIEludGVyZXN0aW5nIGlu
dmFyaWFudCwgd2hpY2ggd2UgdGFrZSBhZHZhbnRhZ2Ugb2Y6IGJyYW5jaGluZyBpbnN0cnVjdGlv
bnMKKy8vIGFsd2F5cyBiZWdpbiB3aXRoICJiIiwgYW5kIG5vIG5vbi1icmFuY2hpbmcgaW5zdHJ1
Y3Rpb25zIGJlZ2luIHdpdGggImIiLgorLy8gVGVybWluYWwgaW5zdHJ1Y3Rpb25zIGFyZSAiam1w
IiBhbmQgInJldCIuCisKK2NvbnN0IG1hY3JvSW5zdHJ1Y3Rpb25zID0KKyAgICBbCisgICAgICJl
bWl0IiwKKyAgICAgImFkZGkiLAorICAgICAiYW5kaSIsCisgICAgICJsc2hpZnRpIiwKKyAgICAg
ImxzaGlmdHAiLAorICAgICAibHNoaWZ0cSIsCisgICAgICJtdWxpIiwKKyAgICAgIm5lZ2kiLAor
ICAgICAibmVncCIsCisgICAgICJuZWdxIiwKKyAgICAgIm5vdGkiLAorICAgICAib3JpIiwKKyAg
ICAgInJzaGlmdGkiLAorICAgICAidXJzaGlmdGkiLAorICAgICAicnNoaWZ0cCIsCisgICAgICJ1
cnNoaWZ0cCIsCisgICAgICJyc2hpZnRxIiwKKyAgICAgInVyc2hpZnRxIiwKKyAgICAgInN1Ymki
LAorICAgICAieG9yaSIsCisgICAgICJsb2FkaSIsCisgICAgICJsb2FkaXMiLAorICAgICAibG9h
ZGIiLAorICAgICAibG9hZGJzIiwKKyAgICAgImxvYWRoIiwKKyAgICAgImxvYWRocyIsCisgICAg
ICJzdG9yZWkiLAorICAgICAic3RvcmViIiwKKyAgICAgImxvYWRkIiwKKyAgICAgIm1vdmVkIiwK
KyAgICAgInN0b3JlZCIsCisgICAgICJhZGRkIiwKKyAgICAgImRpdmQiLAorICAgICAic3ViZCIs
CisgICAgICJtdWxkIiwKKyAgICAgInNxcnRkIiwKKyAgICAgImNpMmQiLAorICAgICAiZmlpMmQi
LCAvLyB1c2FnZTogZmlpMmQgPGdwciB3aXRoIGxlYXN0IHNpZ25pZmljYW50IGJpdHM+LCA8Z3By
IHdpdGggbW9zdCBzaWduaWZpY2FudCBiaXRzPiwgPGZwcj4KKyAgICAgImZkMmlpIiwgLy8gdXNh
Z2U6IGZkMmlpIDxmcHI+LCA8Z3ByIHdpdGggbGVhc3Qgc2lnbmlmaWNhbnQgYml0cz4sIDxncHIg
d2l0aCBtb3N0IHNpZ25pZmljYW50IGJpdHM+CisgICAgICJmcTJkIiwKKyAgICAgImZkMnEiLAor
ICAgICAiYmRlcSIsCisgICAgICJiZG5lcSIsCisgICAgICJiZGd0IiwKKyAgICAgImJkZ3RlcSIs
CisgICAgICJiZGx0IiwKKyAgICAgImJkbHRlcSIsCisgICAgICJiZGVxdW4iLAorICAgICAiYmRu
ZXF1biIsCisgICAgICJiZGd0dW4iLAorICAgICAiYmRndGVxdW4iLAorICAgICAiYmRsdHVuIiwK
KyAgICAgImJkbHRlcXVuIiwKKyAgICAgImJ0ZDJpIiwKKyAgICAgInRkMmkiLAorICAgICAiYmNk
MmkiLAorICAgICAibW92ZHoiLAorICAgICAicG9wIiwKKyAgICAgInB1c2giLAorICAgICAibW92
ZSIsCisgICAgICJzeGkycSIsCisgICAgICJ6eGkycSIsCisgICAgICJub3AiLAorICAgICAiYmll
cSIsCisgICAgICJiaW5lcSIsCisgICAgICJiaWEiLAorICAgICAiYmlhZXEiLAorICAgICAiYmli
IiwKKyAgICAgImJpYmVxIiwKKyAgICAgImJpZ3QiLAorICAgICAiYmlndGVxIiwKKyAgICAgImJp
bHQiLAorICAgICAiYmlsdGVxIiwKKyAgICAgImJiZXEiLAorICAgICAiYmJuZXEiLAorICAgICAi
YmJhIiwKKyAgICAgImJiYWVxIiwKKyAgICAgImJiYiIsCisgICAgICJiYmJlcSIsCisgICAgICJi
Ymd0IiwKKyAgICAgImJiZ3RlcSIsCisgICAgICJiYmx0IiwKKyAgICAgImJibHRlcSIsCisgICAg
ICJidGlzIiwKKyAgICAgImJ0aXoiLAorICAgICAiYnRpbnoiLAorICAgICAiYnRicyIsCisgICAg
ICJidGJ6IiwKKyAgICAgImJ0Ym56IiwKKyAgICAgImptcCIsCisgICAgICJiYWRkaW8iLAorICAg
ICAiYmFkZGlzIiwKKyAgICAgImJhZGRpeiIsCisgICAgICJiYWRkaW56IiwKKyAgICAgImJzdWJp
byIsCisgICAgICJic3ViaXMiLAorICAgICAiYnN1Yml6IiwKKyAgICAgImJzdWJpbnoiLAorICAg
ICAiYm11bGlvIiwKKyAgICAgImJtdWxpcyIsCisgICAgICJibXVsaXoiLAorICAgICAiYm11bGlu
eiIsCisgICAgICJib3JpbyIsCisgICAgICJib3JpcyIsCisgICAgICJib3JpeiIsCisgICAgICJi
b3JpbnoiLAorICAgICAiYnJlYWsiLAorICAgICAiY2FsbCIsCisgICAgICJyZXQiLAorICAgICAi
Y2JlcSIsCisgICAgICJjYm5lcSIsCisgICAgICJjYmEiLAorICAgICAiY2JhZXEiLAorICAgICAi
Y2JiIiwKKyAgICAgImNiYmVxIiwKKyAgICAgImNiZ3QiLAorICAgICAiY2JndGVxIiwKKyAgICAg
ImNibHQiLAorICAgICAiY2JsdGVxIiwKKyAgICAgImNpZXEiLAorICAgICAiY2luZXEiLAorICAg
ICAiY2lhIiwKKyAgICAgImNpYWVxIiwKKyAgICAgImNpYiIsCisgICAgICJjaWJlcSIsCisgICAg
ICJjaWd0IiwKKyAgICAgImNpZ3RlcSIsCisgICAgICJjaWx0IiwKKyAgICAgImNpbHRlcSIsCisg
ICAgICJ0aXMiLAorICAgICAidGl6IiwKKyAgICAgInRpbnoiLAorICAgICAidGJzIiwKKyAgICAg
InRieiIsCisgICAgICJ0Ym56IiwKKyAgICAgInRwcyIsCisgICAgICJ0cHoiLAorICAgICAidHBu
eiIsCisgICAgICJwZWVrIiwKKyAgICAgInBva2UiLAorICAgICAiYnBlcSIsCisgICAgICJicG5l
cSIsCisgICAgICJicGEiLAorICAgICAiYnBhZXEiLAorICAgICAiYnBiIiwKKyAgICAgImJwYmVx
IiwKKyAgICAgImJwZ3QiLAorICAgICAiYnBndGVxIiwKKyAgICAgImJwbHQiLAorICAgICAiYnBs
dGVxIiwKKyAgICAgImFkZHAiLAorICAgICAibXVscCIsCisgICAgICJhbmRwIiwKKyAgICAgIm9y
cCIsCisgICAgICJzdWJwIiwKKyAgICAgInhvcnAiLAorICAgICAibG9hZHAiLAorICAgICAiY3Bl
cSIsCisgICAgICJjcG5lcSIsCisgICAgICJjcGEiLAorICAgICAiY3BhZXEiLAorICAgICAiY3Bi
IiwKKyAgICAgImNwYmVxIiwKKyAgICAgImNwZ3QiLAorICAgICAiY3BndGVxIiwKKyAgICAgImNw
bHQiLAorICAgICAiY3BsdGVxIiwKKyAgICAgInN0b3JlcCIsCisgICAgICJidHBzIiwKKyAgICAg
ImJ0cHoiLAorICAgICAiYnRwbnoiLAorICAgICAiYmFkZHBvIiwKKyAgICAgImJhZGRwcyIsCisg
ICAgICJiYWRkcHoiLAorICAgICAiYmFkZHBueiIsCisgICAgICJ0cXMiLAorICAgICAidHF6IiwK
KyAgICAgInRxbnoiLAorICAgICAiYnFlcSIsCisgICAgICJicW5lcSIsCisgICAgICJicWEiLAor
ICAgICAiYnFhZXEiLAorICAgICAiYnFiIiwKKyAgICAgImJxYmVxIiwKKyAgICAgImJxZ3QiLAor
ICAgICAiYnFndGVxIiwKKyAgICAgImJxbHQiLAorICAgICAiYnFsdGVxIiwKKyAgICAgImFkZHEi
LAorICAgICAibXVscSIsCisgICAgICJhbmRxIiwKKyAgICAgIm9ycSIsCisgICAgICJzdWJxIiwK
KyAgICAgInhvcnEiLAorICAgICAibG9hZHEiLAorICAgICAiY3FlcSIsCisgICAgICJjcW5lcSIs
CisgICAgICJjcWEiLAorICAgICAiY3FhZXEiLAorICAgICAiY3FiIiwKKyAgICAgImNxYmVxIiwK
KyAgICAgImNxZ3QiLAorICAgICAiY3FndGVxIiwKKyAgICAgImNxbHQiLAorICAgICAiY3FsdGVx
IiwKKyAgICAgInN0b3JlcSIsCisgICAgICJidHFzIiwKKyAgICAgImJ0cXoiLAorICAgICAiYnRx
bnoiLAorICAgICAiYmFkZHFvIiwKKyAgICAgImJhZGRxcyIsCisgICAgICJiYWRkcXoiLAorICAg
ICAiYmFkZHFueiIsCisgICAgICJibyIsCisgICAgICJicyIsCisgICAgICJieiIsCisgICAgICJi
bnoiLAorICAgICAibGVhaSIsCisgICAgICJsZWFwIiwKKyAgICAgIm1lbWZlbmNlIgorICAgIF07
CisKK2NvbnN0IHg4Nkluc3RydWN0aW9ucyA9CisgICAgWworICAgICAiY2RxaSIsCisgICAgICJp
ZGl2aSIKKyAgICBdOworCitjb25zdCBhcm1JbnN0cnVjdGlvbnMgPQorICAgIFsKKyAgICAgImNs
cmJwIiwKKyAgICAgIm12bGJsIgorICAgIF07CisKK2NvbnN0IGFybTY0SW5zdHJ1Y3Rpb25zID0K
KyAgICBbCisgICAgICJwY3J0b2FkZHIiLCAgIC8vIEFkZHJlc3MgZnJvbSBQQyByZWxhdGl2ZSBv
ZmZzZXQgLSBhZHIgaW5zdHJ1Y3Rpb24KKyAgICAgIm5vcEZpeENvcnRleEE1M0VycjgzNTc2OSIg
Ly8gbm9wIG9uIENvcnRleC1BNTMgKG5vdGhpbmcgb3RoZXJ3aXNlKQorICAgIF07CisKK2NvbnN0
IHJpc2NJbnN0cnVjdGlvbnMgPQorICAgIFsKKyAgICAgInNtdWxsaSIsICAvLyBNdWx0aXBseSB0
d28gMzItYml0IHdvcmRzIGFuZCBwcm9kdWNlIGEgNjQtYml0IHdvcmQKKyAgICAgImFkZGlzIiwg
ICAvLyBBZGQgaW50ZWdlcnMgYW5kIHNldCBhIGZsYWcuCisgICAgICJzdWJpcyIsICAgLy8gU2Ft
ZSwgYnV0IGZvciBzdWJ0cmFjdGlvbi4KKyAgICAgIm9yaXMiLCAgICAvLyBTYW1lLCBidXQgZm9y
IGJpdHdpc2Ugb3IuCisgICAgICJhZGRwcyIgICAgLy8gYWRkaXMgYnV0IGZvciBwb2ludGVycy4K
KyAgICBdOworCitjb25zdCBtaXBzSW5zdHJ1Y3Rpb25zID0KKyAgICBbCisgICAgImxhIiwKKyAg
ICAibW92eiIsCisgICAgIm1vdm4iLAorICAgICJzZXRjYWxscmVnIiwKKyAgICAic2x0IiwKKyAg
ICAic2x0dSIsCisgICAgInBpY2hkciIKKyAgICBdOworCitjb25zdCBjeHhJbnN0cnVjdGlvbnMg
PQorICAgIFsKKyAgICAgImNsb29wQ3Jhc2giLCAgICAgICAgICAgICAgLy8gbm8gb3BlcmFuZHMK
KyAgICAgImNsb29wQ2FsbEpTRnVuY3Rpb24iLCAgICAgLy8gb3BlcmFuZHM6IGNhbGxlZQorICAg
ICAiY2xvb3BDYWxsTmF0aXZlIiwgICAgICAgICAvLyBvcGVyYW5kczogY2FsbGVlCisgICAgICJj
bG9vcENhbGxTbG93UGF0aCIsICAgICAgIC8vIG9wZXJhbmRzOiBjYWxsVGFyZ2V0LCBjdXJyZW50
RnJhbWUsIGN1cnJlbnRQQworICAgICAiY2xvb3BDYWxsU2xvd1BhdGhWb2lkIiwgICAvLyBvcGVy
YW5kczogY2FsbFRhcmdldCwgY3VycmVudEZyYW1lLCBjdXJyZW50UEMKKworICAgICAvKiBGb3Ig
ZGVidWdnaW5nIG9ubHk6CisgICAgICAqIFRha2VzIG5vIG9wZXJhbmRzIGJ1dCBzaW1wbHkgZW1p
dHMgd2hhdGV2ZXIgZm9sbG93cyBpbiAvLyBjb21tZW50cyBhcworICAgICAgKiBhIGxpbmUgb2Yg
QysrIGNvZGUgaW4gdGhlIGdlbmVyYXRlZCBMTEludEFzc2VtYmx5LmggZmlsZS4gVGhpcyBjYW4g
YmUKKyAgICAgICogdXNlZCB0byBpbnNlcnQgaW5zdHJ1bWVudGF0aW9uIGludG8gdGhlIGludGVy
cHJldGVyIGxvb3AgdG8gaW5zcGVjdAorICAgICAgKiB2YXJpYWJsZXMgb2YgaW50ZXJlc3QuIERv
IG5vdCBsZWF2ZSB0aGVzZSBpbnN0cnVjdGlvbnMgaW4gcHJvZHVjdGlvbgorICAgICAgKiBjb2Rl
LgorICAgICAgKi8KKyAgICAgImNsb29wRG8iLCAgICAgICAgICAgICAgLy8gbm8gb3BlcmFuZHMK
KyAgICBdOworCitjb25zdCBpbnN0cnVjdGlvbnMgPSBtYWNyb0luc3RydWN0aW9ucy5jb25jYXQo
eDg2SW5zdHJ1Y3Rpb25zLCBhcm1JbnN0cnVjdGlvbnMsIGFybTY0SW5zdHJ1Y3Rpb25zLCByaXNj
SW5zdHJ1Y3Rpb25zLCBtaXBzSW5zdHJ1Y3Rpb25zLCBjeHhJbnN0cnVjdGlvbnMpOworCitjb25z
dCBpbnN0cnVjdGlvblNldCA9IG5ldyBTZXQoaW5zdHJ1Y3Rpb25zKTsKKworZnVuY3Rpb24gaXNC
cmFuY2goaW5zdHJ1Y3Rpb24pCit7CisgICAgcmV0dXJuIC9eYi8udGVzdChpbnN0cnVjdGlvbik7
Cit9CisKK2Z1bmN0aW9uIGhhc0ZhbGxUaHJvdWdoKGluc3RydWN0aW9uKQoreworICAgIHJldHVy
biBpbnN0cnVjdGlvbiAhPSAicmV0IiAmJiBpbnN0cnVjdGlvbiAhPSAiam1wIjsKK30KKyAgICAg
CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL1JleEJlbmNoL09mZmxpbmVBc3NlbWJsZXIvcGFyc2Vy
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvT2ZmbGluZUFzc2Vt
Ymxlci9wYXJzZXIuanMJKG5vbmV4aXN0ZW50KQorKysgUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5j
aC9PZmZsaW5lQXNzZW1ibGVyL3BhcnNlci5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDk2
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisidXNl
IHN0cmljdCI7CisKK2NvbnN0IEdsb2JhbEFubm90YXRpb24gPSAiZ2xvYmFsIjsKK2NvbnN0IExv
Y2FsQW5ub3RhdGlvbiA9ICJsb2NhbCI7CisKK2NsYXNzIFNvdXJjZUZpbGUKK3sKKyAgICBjb25z
dHJ1Y3RvcihmaWxlTmFtZSkKKyAgICB7CisgICAgICAgIHRoaXMuX2ZpbGVOYW1lID0gZmlsZU5h
bWU7CisgICAgICAgIGxldCBmaWxlTnVtYmVyID0gU291cmNlRmlsZS5maWxlTmFtZXMuaW5kZXhP
ZihmaWxlTmFtZSk7CisgICAgICAgIGlmIChmaWxlTnVtYmVyID09IC0xKSB7CisgICAgICAgICAg
ICBTb3VyY2VGaWxlLmZpbGVOYW1lcy5wdXNoKGZpbGVOYW1lKTsKKyAgICAgICAgICAgIGZpbGVO
dW1iZXIgPSBTb3VyY2VGaWxlLmZpbGVOYW1lcy5sZW5ndGg7CisgICAgICAgIH0gZWxzZQorICAg
ICAgICAgICAgZmlsZU51bWJlcisrOyAvLyBGaWxlIG51bWJlcnMgYXJlIDEgYmFzZWQKKworICAg
ICAgICB0aGlzLl9maWxlTnVtYmVyID0gZmlsZU51bWJlcjsKKyAgICB9CisKKyAgICBnZXQgbmFt
ZSgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fZmlsZU5hbWU7CisgICAgfQorCisgICAg
Z2V0IGZpbGVOdW1iZXIoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVOdW1iZXI7
CisgICAgfQorfQorCitTb3VyY2VGaWxlLmZpbGVOYW1lcyA9IFtdOworCitjbGFzcyBDb2RlT3Jp
Z2luCit7CisgICAgY29uc3RydWN0b3Ioc291cmNlRmlsZSwgbGluZU51bWJlcikKKyAgICB7Cisg
ICAgICAgIHRoaXMuX3NvdXJjZUZpbGUgPSBzb3VyY2VGaWxlOworICAgICAgICB0aGlzLl9saW5l
TnVtYmVyID0gbGluZU51bWJlcjsKKyAgICB9CisKKyAgICBmaWxlTmFtZSgpCisgICAgeworICAg
ICAgICByZXR1cm4gdGhpcy5fc291cmNlRmlsZS5uYW1lOworICAgIH0KKworICAgIGRlYnVnRGly
ZWN0aXZlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBlbWl0V2luQXNtID8gdW5kZWZpbmVkIDog
IlwiLmxvYyAiICsgdGhpcy5fc291cmNlRmlsZS5maWxlTnVtYmVyICsgIiAiICsgdGhpcy5fbGlu
ZU51bWJlciArICJcXG5cIiI7CisgICAgfQorCisgICAgdG9TdHJpbmcoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIHRoaXMuZmlsZU5hbWUoKSArICI6IiArIHRoaXMuX2xpbmVOdW1iZXI7CisgICAg
fQorCisgICAgZ2V0IGxpbmVOdW1iZXIoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2xp
bmVOdW1iZXI7CisgICAgfQorfQorCitjbGFzcyBJbmNsdWRlRmlsZQoreworICAgIGNvbnN0cnVj
dG9yKG1vZHVsZU5hbWUsIGRlZmF1bHREaXIpCisgICAgeworICAgICAgICB0aGlzLl9maWxlTmFt
ZSA9IG1vZHVsZU5hbWUgKyAiLmFzbSI7CisgICAgfQorCisgICAgdG9TdHJpbmcoKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGZpbGVOYW1lOworICAgIH0KKworICAgIGdldCBmaWxlTmFtZSgpCisg
ICAgeworICAgICAgICByZXR1cm4gdGhpcy5fZmlsZU5hbWU7CisgICAgfQorfQorCitJbmNsdWRl
RmlsZS5pbmNsdWRlRGlycyA9IFtdOworCisKK2NsYXNzIFRva2VuCit7CisgICAgY29uc3RydWN0
b3IoY29kZU9yaWdpbiwgc3RyaW5nKQorICAgIHsKKyAgICAgICAgdGhpcy5fY29kZU9yaWdpbiA9
IGNvZGVPcmlnaW47CisgICAgICAgIHRoaXMuX3N0cmluZyA9IHN0cmluZzsKKyAgICB9CisKKyAg
ICBpc0VxdWFsVG8ob3RoZXIpCisgICAgeworICAgICAgICBpZiAob3RoZXIgaW5zdGFuY2VvZiBU
b2tlbikKKyAgICAgICAgICAgIHJldHVybiB0aGlzLnN0cmluZyA9PT0gb3RoZXIuc3RyaW5nOwor
CisgICAgICAgIHJldHVybiB0aGlzLnN0cmluZyA9PT0gb3RoZXI7CisgICAgfQorCisgICAgaXNO
b3RFcXVhbFRvKG90aGVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuICF0aGlzLmlzRXF1YWxUbyhv
dGhlcik7CisgICAgfQorCisgICAgZ2V0IHN0cmluZygpCisgICAgeworICAgICAgICByZXR1cm4g
dGhpcy5fc3RyaW5nOworICAgIH0KKworICAgIGdldCBjb2RlT3JpZ2luKCkKKyAgICB7CisgICAg
ICAgIHJldHVybiB0aGlzLl9jb2RlT3JpZ2luOworICAgIH0KKworICAgIHRvU3RyaW5nKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiAiIiArIHRoaXMuX3N0cmluZyArICJcIiBhdCAiICsgdGhpcy5f
Y29kZU9yaWdpbjsKKyAgICB9CisKKyAgICBwYXJzZUVycm9yKGNvbW1lbnQpCisgICAgeworICAg
ICAgICBpZiAoIWNvbW1lbnQgfHwgIWNvbW1lbnQubGVuZ3RoKQorICAgICAgICAgICAgdGhyb3cg
IlBhcnNlIGVycm9yOiAiICsgdGhpczsKKworICAgICAgICB0aHJvdyAiUGFyc2UgZXJyb3I6ICIg
KyB0aGlzICsgIjogIiArIGNvbW1lbnQ7CisgICAgfQorfQorCitjbGFzcyBBbm5vdGF0aW9uCit7
CisgICAgY29uc3RydWN0b3IoY29kZU9yaWdpbiwgdHlwZSwgc3RyaW5nKQorICAgIHsKKyAgICAg
ICAgdGhpcy5jb2RlT3JpZ2luID0gY29kZU9yaWdpbjsKKyAgICAgICAgdGhpcy50eXBlID0gdHlw
ZTsKKyAgICAgICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7CisgICAgfQorCisgICAgZ2V0IGNvZGVP
cmlnaW4oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuY29kZU9yaWdpbjsKKyAgICB9CisK
KyAgICBnZXQgdHlwZSgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy50eXBlOworICAgIH0K
KworICAgIGdldCBzdHJpbmcoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuc3RyaW5nOwor
ICAgIH0KK30KKworCisvLyBUaGUgbGV4ZXIuIFRha2VzIGEgc3RyaW5nIGFuZCByZXR1cm5zIGFu
IGFycmF5IG9mIHRva2Vucy4KKworZnVuY3Rpb24gbGV4KHN0ciwgZmlsZSkKK3sKKyAgICBmdW5j
dGlvbiBzY2FuUmVnRXhwKHNvdXJjZSwgcmVnZXhwKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHNv
dXJjZS5tYXRjaChyZWdleHApOworICAgIH0KKworICAgIGxldCByZXN1bHQgPSBbXTsKKyAgICBs
ZXQgbGluZU51bWJlciA9IDE7CisgICAgbGV0IGFubm90YXRpb24gPSBudWxsOworICAgIGxldCBh
bm5vdGF0aW9uVHlwZTsKKyAgICBsZXQgd2hpdGVzcGFjZUZvdW5kID0gZmFsc2U7CisKKyAgICB3
aGlsZSAoc3RyLmxlbmd0aCkKKyAgICB7CisgICAgICAgIGxldCB0b2tlbk1hdGNoOworICAgICAg
ICBsZXQgYW5ub3RhdGlvbjsKKyAgICAgICAgbGV0IGFubm90YXRpb25UeXBlOworCisgICAgICAg
IGlmICh0b2tlbk1hdGNoID0gc2NhblJlZ0V4cChzdHIsIC9eIyhbXlxuXSopLykpCisgICAgICAg
ICAgICA7IC8vIGNvbW1lbnQsIGlnbm9yZQorICAgICAgICBlbHNlIGlmICh0b2tlbk1hdGNoID0g
c2NhblJlZ0V4cChzdHIsIC9eXC9cL1wgPyhbXlxuXSopLykpIHsKKyAgICAgICAgICAgIC8vIGFu
bm90YXRpb24KKyAgICAgICAgICAgIGFubm90YXRpb24gPSB0b2tlbk1hdGNoWzBdOworICAgICAg
ICAgICAgYW5ub3RhdGlvblR5cGUgPSB3aGl0ZXNwYWNlRm91bmQgPyBMb2NhbEFubm90YXRpb24g
OiBHbG9iYWxBbm5vdGF0aW9uOworICAgICAgICB9IGVsc2UgaWYgKHRva2VuTWF0Y2ggPSBzY2Fu
UmVnRXhwKHN0ciwgL15cbi8pKSB7CisgICAgICAgICAgICAvKiBXZSd2ZSBmb3VuZCBhICdcbicu
ICBFbWl0IHRoZSBsYXN0IGNvbW1lbnQgcmVjb3JkZWQgaWYgYXBwcm9wcmlhdGU6CisgICAgICAg
ICAgICAgKiBXZSBuZWVkIHRvIHBhcnNlIGFubm90YXRpb25zIHJlZ2FyZGxlc3Mgb2Ygd2hldGhl
ciB0aGUgYmFja2VuZCBkb2VzCisgICAgICAgICAgICAgKiBhbnl0aGluZyB3aXRoIHRoZW0gb3Ig
bm90LiBUaGlzIGlzIGJlY2F1c2UgdGhlIEMrKyBiYWNrZW5kIG1heSBtYWtlCisgICAgICAgICAg
ICAgKiB1c2Ugb2YgdGhpcyBmb3IgaXRzIGNsb29wRG8gZGVidWdnaW5nIHV0aWxpdHkgZXZlbiBp
ZgorICAgICAgICAgICAgICogZW5hYmxlSW5zdHJBbm5vdGF0aW9ucyBpcyBub3QgZW5hYmxlZC4K
KyAgICAgICAgICAgICAqLworICAgICAgICAgICAgaWYgKGFubm90YXRpb24pIHsKKyAgICAgICAg
ICAgICAgICByZXN1bHQucHVzaChuZXcgQW5ub3RhdGlvbihuZXcgQ29kZU9yaWdpbihmaWxlLCBs
aW5lTnVtYmVyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh
bm5vdGF0aW9uVHlwZSwgYW5ub3RhdGlvbikpOworICAgICAgICAgICAgICAgIGFubm90YXRpb24g
PSBudWxsOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3IFRva2Vu
KG5ldyBDb2RlT3JpZ2luKGZpbGUsIGxpbmVOdW1iZXIpLCB0b2tlbk1hdGNoWzBdKSk7CisgICAg
ICAgICAgICBsaW5lTnVtYmVyKys7CisgICAgICAgIH0gZWxzZSBpZiAodG9rZW5NYXRjaCA9IHNj
YW5SZWdFeHAoc3RyLCAvXlthLXpBLVpdKFthLXpBLVowLTlfLl0qKS8pKQorICAgICAgICAgICAg
cmVzdWx0LnB1c2gobmV3IFRva2VuKG5ldyBDb2RlT3JpZ2luKGZpbGUsIGxpbmVOdW1iZXIpLCB0
b2tlbk1hdGNoWzBdKSk7CisgICAgICAgIGVsc2UgaWYgKHRva2VuTWF0Y2ggPSBzY2FuUmVnRXhw
KHN0ciwgL15cLihbYS16QS1aMC05X10qKS8pKQorICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3
IFRva2VuKG5ldyBDb2RlT3JpZ2luKGZpbGUsIGxpbmVOdW1iZXIpLCB0b2tlbk1hdGNoWzBdKSk7
CisgICAgICAgIGVsc2UgaWYgKHRva2VuTWF0Y2ggPSBzY2FuUmVnRXhwKHN0ciwgL15fKFthLXpB
LVowLTlfXSopLykpCisgICAgICAgICAgICByZXN1bHQucHVzaChuZXcgVG9rZW4obmV3IENvZGVP
cmlnaW4oZmlsZSwgbGluZU51bWJlciksIHRva2VuTWF0Y2hbMF0pKTsKKyAgICAgICAgZWxzZSBp
ZiAodG9rZW5NYXRjaCA9IHNjYW5SZWdFeHAoc3RyLCAvXihbIFx0XSspLykpIHsKKyAgICAgICAg
ICAgIC8vIHdoaXRlc3BhY2UsIGlnbm9yZQorICAgICAgICAgICAgd2hpdGVzcGFjZUZvdW5kID0g
dHJ1ZTsKKyAgICAgICAgICAgIHN0ciA9IHN0ci5zbGljZSh0b2tlbk1hdGNoWzBdLmxlbmd0aCk7
CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfSBlbHNlIGlmICh0b2tlbk1hdGNoID0g
c2NhblJlZ0V4cChzdHIsIC9eMHgoWzAtOWEtZkEtRl0rKS8pKQorICAgICAgICAgICAgcmVzdWx0
LnB1c2gobmV3IFRva2VuKG5ldyBDb2RlT3JpZ2luKGZpbGUsIGxpbmVOdW1iZXIpLCBOdW1iZXIu
cGFyc2VJbnQodG9rZW5NYXRjaFsxXSwgMTYpKSk7CisgICAgICAgIGVsc2UgaWYgKHRva2VuTWF0
Y2ggPSBzY2FuUmVnRXhwKHN0ciwgL14wKFswLTddKykvKSkKKyAgICAgICAgICAgIHJlc3VsdC5w
dXNoKG5ldyBUb2tlbihuZXcgQ29kZU9yaWdpbihmaWxlLCBsaW5lTnVtYmVyKSwgTnVtYmVyLnBh
cnNlSW50KHRva2VuTWF0Y2hbMV0sIDgpKSk7CisgICAgICAgIGVsc2UgaWYgKHRva2VuTWF0Y2gg
PSBzY2FuUmVnRXhwKHN0ciwgL14oWzAtOV0rKS8pKQorICAgICAgICAgICAgcmVzdWx0LnB1c2go
bmV3IFRva2VuKG5ldyBDb2RlT3JpZ2luKGZpbGUsIGxpbmVOdW1iZXIpLCB0b2tlbk1hdGNoWzBd
KSk7CisgICAgICAgIGVsc2UgaWYgKHRva2VuTWF0Y2ggPSBzY2FuUmVnRXhwKHN0ciwgIC9eOjov
KSkKKyAgICAgICAgICAgIHJlc3VsdC5wdXNoKG5ldyBUb2tlbihuZXcgQ29kZU9yaWdpbihmaWxl
LCBsaW5lTnVtYmVyKSwgdG9rZW5NYXRjaFswXSkpOworICAgICAgICBlbHNlIGlmICh0b2tlbk1h
dGNoID0gc2NhblJlZ0V4cChzdHIsIC9eWzosXChcKVxbXF09XCtcLX5cfCZeKl0vKSkKKyAgICAg
ICAgICAgIHJlc3VsdC5wdXNoKG5ldyBUb2tlbihuZXcgQ29kZU9yaWdpbihmaWxlLCBsaW5lTnVt
YmVyKSwgdG9rZW5NYXRjaFswXSkpOworICAgICAgICBlbHNlIGlmICh0b2tlbk1hdGNoID0gc2Nh
blJlZ0V4cChzdHIsIC9eXCIuKlwiLykpCisgICAgICAgICAgICByZXN1bHQucHVzaChuZXcgVG9r
ZW4obmV3IENvZGVPcmlnaW4oZmlsZSwgbGluZU51bWJlciksIHRva2VuTWF0Y2hbMF0pKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgdGhyb3cgIkxleGVyIGVycm9yIGF0ICIgKyAobmV3IENv
ZGVPcmlnaW4oZmlsZSwgbGluZU51bWJlcikpICsgIiwgdW5leHBlY3RlZCBzZXF1ZW5jZSAiICsg
c3RyLnNsaWNlKDAsIDIwKTsKKworICAgICAgICB3aGl0ZXNwYWNlRm91bmQgPSBmYWxzZTsKKyAg
ICAgICAgc3RyID0gc3RyLnNsaWNlKHRva2VuTWF0Y2hbMF0ubGVuZ3RoKTsKKyAgICB9CisKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorCisvLyBUb2tlbiBpZGVudGlmaWNhdGlvbi4KKworZnVuY3Rp
b24gaXNSZWdpc3Rlcih0b2tlbikKK3sKKyAgICByZWdpc3RlclBhdHRlcm4udGVzdCh0b2tlbi5z
dHJpbmcpOworfQorCitmdW5jdGlvbiBpc0luc3RydWN0aW9uKHRva2VuKQoreworICAgIHJldHVy
biBpbnN0cnVjdGlvblNldC5oYXModG9rZW4uc3RyaW5nKTsKK30KKworZnVuY3Rpb24gaXNLZXl3
b3JkKHRva2VuKQoreworICAgIHJldHVybiAvXigodHJ1ZSl8KGZhbHNlKXwoaWYpfCh0aGVuKXwo
ZWxzZSl8KGVsc2lmKXwoZW5kKXwoYW5kKXwob3IpfChub3QpfChnbG9iYWwpfChtYWNybyl8KGNv
bnN0KXwoY29uc3RleHByKXwoc2l6ZW9mKXwoZXJyb3IpfChpbmNsdWRlKSkkLy50ZXN0KHRva2Vu
LnN0cmluZykKKyAgICAgICAgfHwgaXNSZWdpc3Rlcih0b2tlbikKKyAgICAgICAgfHwgaXNJbnN0
cnVjdGlvbih0b2tlbik7Cit9CisKK2Z1bmN0aW9uIGlzSWRlbnRpZmllcih0b2tlbikKK3sKKyAg
ICByZXR1cm4gL15bYS16QS1aXShbYS16QS1aMC05Xy5dKikkLy50ZXN0KHRva2VuLnN0cmluZykg
JiYgIWlzS2V5d29yZCh0b2tlbik7Cit9CisKK2Z1bmN0aW9uIGlzTGFiZWwodG9rZW4pCit7Cisg
ICAgbGV0IHRva2VuU3RyaW5nOworICAgIGlmICh0b2tlbiBpbnN0YW5jZW9mIFRva2VuKQorICAg
ICAgICB0b2tlblN0cmluZyA9IHRva2VuLnN0cmluZzsKKyAgICBlbHNlCisgICAgICAgIHRva2Vu
U3RyaW5nID0gdG9rZW47CisKKyAgICByZXR1cm4gL15fKFthLXpBLVowLTlfXSopJC8udGVzdCh0
b2tlblN0cmluZyk7Cit9CisKK2Z1bmN0aW9uIGlzTG9jYWxMYWJlbCh0b2tlbikKK3sKKyAgICBs
ZXQgdG9rZW5TdHJpbmc7CisgICAgaWYgKHRva2VuIGluc3RhbmNlb2YgVG9rZW4pCisgICAgICAg
IHRva2VuU3RyaW5nID0gdG9rZW4uc3RyaW5nOworICAgIGVsc2UKKyAgICAgICAgdG9rZW5TdHJp
bmcgPSB0b2tlbjsKKworICAgIHJldHVybiAvXlwuKFthLXpBLVowLTlfXSopJC8udGVzdCh0b2tl
blN0cmluZyk7Cit9CisKK2Z1bmN0aW9uIGlzVmFyaWFibGUodG9rZW4pCit7CisgICAgcmV0dXJu
IGlzSWRlbnRpZmllcih0b2tlbikgfHwgaXNSZWdpc3Rlcih0b2tlbik7Cit9CisKK2Z1bmN0aW9u
IGlzSW50ZWdlcih0b2tlbikKK3sKKyAgICByZXR1cm4gL15bMC05XS8udGVzdCh0b2tlbi5zdHJp
bmcpOworfQorCitmdW5jdGlvbiBpc1N0cmluZyh0b2tlbikKK3sKKyAgICByZXR1cm4gL14iLioi
Ly50ZXN0KHRva2VuKTsKK30KKworCisvLyBUaGUgcGFyc2VyLiBUYWtlcyBhbiBhcnJheSBvZiB0
b2tlbnMgYW5kIHJldHVybnMgYW4gQVNULiBNZXRob2RzCisvLyBvdGhlciB0aGFuIHBhcnNlKHRv
a2VucykgYXJlIG5vdCBmb3IgcHVibGljIGNvbnN1bXB0aW9uLgorCitjbGFzcyBQYXJzZXIKK3sK
KyAgICBjb25zdHJ1Y3RvcihkYXRhLCBmaWxlTmFtZSkKKyAgICB7CisgICAgICAgIHRoaXMudG9r
ZW5zID0gbGV4KGRhdGEsIGZpbGVOYW1lKTsKKyAgICAgICAgdGhpcy5pZHggPSAwOworICAgICAg
ICB0aGlzLmFubm90YXRpb24gPSBudWxsOworICAgIH0KKworICAgIHBhcnNlRXJyb3IoY29tbWVu
dCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0pCisgICAgICAgICAg
ICB0aGlzLnRva2Vuc1t0aGlzLmlkeF0ucGFyc2VFcnJvcihjb21tZW50KTsKKyAgICAgICAgZWxz
ZSB7CisgICAgICAgICAgICBpZiAoIWNvbW1lbnQubGVuZ3RoKQorICAgICAgICAgICAgICAgIHRo
cm93ICJQYXJzZSBlcnJvciBhdCBlbmQgb2YgZmlsZSI7CisKKyAgICAgICAgICAgIHRocm93ICJQ
YXJzZSBlcnJvciBhdCBlbmQgb2YgZmlsZTogIiArIGNvbW1lbnQ7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBjb25zdW1lKHJlZ2V4cCkKKyAgICB7CisgICAgICAgIGlmIChyZWdleHApIHsKKyAg
ICAgICAgICAgIGlmICghcmVnZXhwLnRlc3QodGhpcy50b2tlbnNbdGhpcy5pZHhdLnN0cmluZykp
CisgICAgICAgICAgICAgICAgdGhpcy5wYXJzZUVycm9yKCk7CisgICAgICAgIH0gZWxzZSBpZiAo
dGhpcy5pZHggIT0gdGhpcy50b2tlbnMubGVuZ3RoKQorICAgICAgICAgICAgdGhpcy5wYXJzZUVy
cm9yKCk7CisKKyAgICAgICAgdGhpcy5pZHgrKzsKKyAgICB9CisKKyAgICBza2lwTmV3TGluZSgp
CisgICAgeworICAgICAgICB3aGlsZSAodGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxUbygi
XG4iKSkKKyAgICAgICAgICAgIHRoaXMuaWR4Kys7CisgICAgfQorCisgICAgcGFyc2VQcmVkaWNh
dGVBdG9tKCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uaXNFcXVh
bFRvKCJub3QiKSkgeworICAgICAgICAgICAgbGV0IGNvZGVPcmlnaW4gPSB0aGlzLnRva2Vuc1t0
aGlzLmlkeF0uY29kZU9yaWdpbjsKKyAgICAgICAgICAgIHRoaXMuaWR4Kys7CisgICAgICAgICAg
ICByZXR1cm4gbmV3IE5vdChjb2RlT3JpZ2luLCB0aGlzLnBhcnNlUHJlZGljYXRlQXRvbSgpKTsK
KyAgICAgICAgfQorICAgICAgICBpZiAodGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxUbygi
KCIpKSB7CisgICAgICAgICAgICB0aGlzLmlkeCsrOworICAgICAgICAgICAgc2tpcE5ld0xpbmUo
KTsKKyAgICAgICAgICAgIGxldCByZXN1bHQgPSB0aGlzLnBhcnNlUHJlZGljYXRlKCk7CisgICAg
ICAgICAgICBpZiAodGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzTm90RXF1YWxUbygiKSIpKQorICAg
ICAgICAgICAgICAgIHBhcnNlRXJyb3IoKTsKKyAgICAgICAgICAgIHRoaXMuaWR4Kys7CisgICAg
ICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICAgIGlmICh0aGlzLnRva2Vu
c1t0aGlzLmlkeF0uaXNFcXVhbFRvKCJ0cnVlIikpIHsKKyAgICAgICAgICAgIGxldCByZXN1bHQg
PSBUcnVlLmluc3RhbmNlKCk7CisgICAgICAgICAgICB0aGlzLmlkeCsrOworICAgICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorICAgICAgICBpZiAodGhpcy50b2tlbnNbdGhpcy5p
ZHhdLmlzRXF1YWxUbygiZmFsc2UiKSkgeworICAgICAgICAgICAgbGV0IHJlc3VsdCA9IEZhbHNl
Lmluc3RhbmNlKCk7CisgICAgICAgICAgICB0aGlzLmlkeCsrOworICAgICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKKyAgICAgICAgfQorICAgICAgICBpZiAoaXNJZGVudGlmaWVyKHRoaXMudG9rZW5z
W3RoaXMuaWR4XSkpIHsKKyAgICAgICAgICAgIGxldCByZXN1bHQgPSBTZXR0aW5nLmZvck5hbWUo
dGhpcy50b2tlbnNbdGhpcy5pZHhdLmNvZGVPcmlnaW4sIHRoaXMudG9rZW5zW3RoaXMuaWR4XS5z
dHJpbmcpOworICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAgICAgICAgIHJldHVybiByZXN1
bHQ7CisgICAgICAgIH0KKworICAgICAgICB0aGlzLnBhcnNlRXJyb3IoKTsKKyAgICB9CisKKyAg
ICBwYXJzZVByZWRpY2F0ZUFuZCgpCisgICAgeworICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy5w
YXJzZVByZWRpY2F0ZUF0b20oKTsKKyAgICAgICAgd2hpbGUgKHRoaXMudG9rZW5zW3RoaXMuaWR4
XS5pc0VxdWFsVG8oImFuZCIpKSB7CisgICAgICAgICAgICBsZXQgY29kZU9yaWdpbiA9IHRoaXMu
dG9rZW5zW3RoaXMuaWR4XS5jb2RlT3JpZ2luOworICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAg
ICAgICAgICAgIHRoaXMuc2tpcE5ld0xpbmUoKTsKKyAgICAgICAgICAgIGxldCByaWdodCA9IHRo
aXMucGFyc2VQcmVkaWNhdGVBdG9tKCk7CisgICAgICAgICAgICByZXN1bHQgPSBuZXcgQW5kKGNv
ZGVPcmlnaW4sIHJlc3VsdCwgcmlnaHQpOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKyAgICB9CisKKyAgICBwYXJzZVByZWRpY2F0ZSgpCisgICAgeworICAgICAgICAvLyBz
b21lIGV4YW1wbGVzIG9mIHByZWNlZGVuY2U6CisgICAgICAgIC8vIG5vdCBhIGFuZCBiIC0+IChu
b3QgYSkgYW5kIGIKKyAgICAgICAgLy8gYSBhbmQgYiBvciBjIC0+IChhIGFuZCBiKSBvciBjCisg
ICAgICAgIC8vIGEgb3IgYiBhbmQgYyAtPiBhIG9yIChiIGFuZCBjKQorCisgICAgICAgIGxldCBy
ZXN1bHQgPSB0aGlzLnBhcnNlUHJlZGljYXRlQW5kKCk7CisgICAgICAgIHdoaWxlICh0aGlzLnRv
a2Vuc1t0aGlzLmlkeF0uaXNFcXVhbFRvKCJvciIpKSB7CisgICAgICAgICAgICBsZXQgY29kZU9y
aWdpbiA9IHRoaXMudG9rZW5zW3RoaXMuaWR4XS5jb2RlT3JpZ2luOworICAgICAgICAgICAgdGhp
cy5pZHgrKzsKKyAgICAgICAgICAgIHRoaXMuc2tpcE5ld0xpbmUoKTsKKyAgICAgICAgICAgIGxl
dCByaWdodCA9IHRoaXMucGFyc2VQcmVkaWNhdGVBbmQoKTsKKyAgICAgICAgICAgIHJlc3VsdCA9
IG5ldyBPcihjb2RlT3JpZ2luLCByZXN1bHQsIHJpZ2h0KTsKKyAgICAgICAgfQorCisgICAgICAg
IHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgcGFyc2VWYXJpYWJsZSgpCisgICAgeworICAg
ICAgICBsZXQgcmVzdWx0OworICAgICAgICBpZiAoaXNSZWdpc3Rlcih0aGlzLnRva2Vuc1t0aGlz
LmlkeF0pKSB7CisgICAgICAgICAgICBpZiAoZnByUGF0dGVybi50ZXN0KHRoaXMudG9rZW5zW3Ro
aXMuaWR4XSkpCisgICAgICAgICAgICAgICAgcmVzdWx0ID0gRlBSZWdpc3RlcklELmZvck5hbWUo
dGhpcy50b2tlbnNbdGhpcy5pZHhdLmNvZGVPcmlnaW4sIHRoaXMudG9rZW5zW3RoaXMuaWR4XS5z
dHJpbmcpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJlc3VsdCA9IFJlZ2lz
dGVySUQuZm9yTmFtZSh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uY29kZU9yaWdpbiwgdGhpcy50b2tl
bnNbdGhpcy5pZHhdLnN0cmluZyk7CisgICAgICAgIH0gZWxzZSBpZiAoaXNJZGVudGlmaWVyKHRo
aXMudG9rZW5zW3RoaXMuaWR4XSkpCisgICAgICAgICAgICByZXN1bHQgPSBWYXJpYWJsZS5mb3JO
YW1lKHRoaXMudG9rZW5zW3RoaXMuaWR4XS5jb2RlT3JpZ2luLCB0aGlzLnRva2Vuc1t0aGlzLmlk
eF0uc3RyaW5nKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5wYXJzZUVycm9yKCk7
CisKKyAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisK
KyAgICBwYXJzZUFkZHJlc3Mob2Zmc2V0KQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMudG9rZW5z
W3RoaXMuaWR4XS5pc05vdEVxdWFsVG8oIlsiKSkKKyAgICAgICAgICAgIHRoaXMucGFyc2VFcnJv
cigpOworCisgICAgICAgIGxldCBjb2RlT3JpZ2luID0gdGhpcy50b2tlbnNbdGhpcy5pZHhdLmNv
ZGVPcmlnaW47CisgICAgICAgIGxldCByZXN1bHQ7CisKKyAgICAgICAgLy8gVGhyZWUgcG9zc2li
aWxpdGllczoKKyAgICAgICAgLy8gW10gICAgICAgLT4gQWJzb2x1dGVBZGRyZXNzCisgICAgICAg
IC8vIFthXSAgICAgIC0+IEFkZHJlc3MKKyAgICAgICAgLy8gW2EsYl0gICAgLT4gQmFzZUluZGV4
IHdpdGggc2NhbGUgPSAxCisgICAgICAgIC8vIFthLGIsY10gIC0+IEJhc2VJbmRleAorCisgICAg
ICAgIHRoaXMuaWR4Kys7CisgICAgICAgIGlmICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uaXNFcXVh
bFRvKCJdIikpIHsKKyAgICAgICAgICAgIHRoaXMuaWR4Kys7CisgICAgICAgICAgICByZXR1cm4g
bmV3IEFic29sdXRlQWRkcmVzcyhjb2RlT3JpZ2luLCBvZmZzZXQpOworICAgICAgICB9CisgICAg
ICAgIGxldCBhID0gdGhpcy5wYXJzZVZhcmlhYmxlKCk7CisgICAgICAgIGlmICh0aGlzLnRva2Vu
c1t0aGlzLmlkeF0uaXNFcXVhbFRvKCJdIikpCisgICAgICAgICAgICByZXN1bHQgPSBuZXcgQWRk
cmVzcyhjb2RlT3JpZ2luLCBhLCBvZmZzZXQpOworICAgICAgICBlbHNlCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGlmICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uaXNOb3RFcXVhbFRvKCIsIikpCisg
ICAgICAgICAgICAgICAgdGhpcy5wYXJzZUVycm9yKCk7CisgICAgICAgICAgICB0aGlzLmlkeCsr
OworICAgICAgICAgICAgbGV0IGIgPSB0aGlzLnBhcnNlVmFyaWFibGUoKTsKKyAgICAgICAgICAg
IGlmICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uaXNFcXVhbFRvKCJdIikpCisgICAgICAgICAgICAg
ICAgcmVzdWx0ID0gbmV3IEJhc2VJbmRleChjb2RlT3JpZ2luLCBhLCBiLCAxLCBvZmZzZXQpOwor
ICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKHRoaXMudG9rZW5zW3RoaXMu
aWR4XS5pc05vdEVxdWFsVG8oIiwiKSkKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXJzZUVy
cm9yKCk7CisgICAgICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAgICAgICAgICAgICBpZiAo
IVsiMSIsICIyIiwgIjQiLCAiOCJdLmluY2x1ZGVzKHRoaXMudG9rZW5zW3RoaXMuaWR4XS5zdHJp
bmcpKQorICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcnNlRXJyb3IoKTsKKyAgICAgICAgICAg
ICAgICBsZXQgYyA9IE51bWJlci5wYXJzZUludCh0aGlzLnRva2Vuc1t0aGlzLmlkeF0pOworICAg
ICAgICAgICAgICAgIHRoaXMuaWR4Kys7CisgICAgICAgICAgICAgICAgaWYgKHRoaXMudG9rZW5z
W3RoaXMuaWR4XS5pc05vdEVxdWFsVG8oIl0iKSkKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5w
YXJzZUVycm9yKCk7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gbmV3IEJhc2VJbmRleChjb2Rl
T3JpZ2luLCBhLCBiLCBjLCBvZmZzZXQpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
ICAgIHRoaXMuaWR4Kys7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgcGFy
c2VDb2xvbkNvbG9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuc2tpcE5ld0xpbmUoKTsKKyAgICAg
ICAgbGV0IGZpcnN0VG9rZW4gPSB0aGlzLnRva2Vuc1t0aGlzLmlkeF07CisgICAgICAgIGxldCBj
b2RlT3JpZ2luID0gdGhpcy50b2tlbnNbdGhpcy5pZHhdLmNvZGVPcmlnaW47CisgICAgICAgIGlm
ICghaXNJZGVudGlmaWVyKHRoaXMudG9rZW5zW3RoaXMuaWR4XSkpCisgICAgICAgICAgICB0aGlz
LnBhcnNlRXJyb3IoKTsKKyAgICAgICAgbGV0IG5hbWVzID0gW3RoaXMudG9rZW5zW3RoaXMuaWR4
XS5zdHJpbmddOworICAgICAgICB0aGlzLmlkeCsrOworICAgICAgICB3aGlsZSAodGhpcy50b2tl
bnNbdGhpcy5pZHhdLmlzRXF1YWxUbygiOjoiKSkgeworICAgICAgICAgICAgdGhpcy5pZHgrKzsK
KyAgICAgICAgICAgIGlmICghaXNJZGVudGlmaWVyKHRoaXMudG9rZW5zW3RoaXMuaWR4XSkpCisg
ICAgICAgICAgICAgICAgdGhpcy5wYXJzZUVycm9yKCk7CisgICAgICAgICAgICBuYW1lcy5wdXNo
KHRoaXMudG9rZW5zW3RoaXMuaWR4XS5zdHJpbmcpOworICAgICAgICAgICAgdGhpcy5pZHgrKzsK
KyAgICAgICAgfQorICAgICAgICBpZiAoIW5hbWVzLmxlbmd0aCkKKyAgICAgICAgICAgIGZpcnN0
VG9rZW4ucGFyc2VFcnJvcigpOworICAgICAgICByZXR1cm4geyBjb2RlT3JpZ2luOiBjb2RlT3Jp
Z2luLCBuYW1lczogbmFtZXMgfTsKKyAgICB9CisKKyAgICBwYXJzZVRleHRJblBhcmVucygpCisg
ICAgeworICAgICAgICB0aGlzLnNraXBOZXdMaW5lKCk7CisgICAgICAgIGxldCBjb2RlT3JpZ2lu
ID0gdGhpcy50b2tlbnNbdGhpcy5pZHhdLmNvZGVPcmlnaW47CisgICAgICAgIGlmICh0aGlzLnRv
a2Vuc1t0aGlzLmlkeF0uaXNOb3RFcXVhbFRvKCIoIikpCisgICAgICAgICAgICB0aHJvdyAiTWlz
c2luZyBcIihcIiBhdCAiICsgY29kZU9yaWdpbjsKKyAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAg
ICAgLy8gbmVlZCBhdCBsZWFzdCBvbmUgaXRlbQorICAgICAgICBpZiAodGhpcy50b2tlbnNbdGhp
cy5pZHhdLmlzRXF1YWxUbygiKSIpKQorICAgICAgICAgICAgdGhyb3cgIk5vIGl0ZW1zIGluIGxp
c3QgYXQgIiArIGNvZGVPcmlnaW47CisgICAgICAgIGxldCBudW1FbmNsb3NlZFBhcmVucyA9IDA7
CisgICAgICAgIGxldCB0ZXh0ID0gW107CisgICAgICAgIHdoaWxlICh0aGlzLnRva2Vuc1t0aGlz
LmlkeF0uaXNOb3RFcXVhbFRvKCIpIikgfHwgbnVtRW5jbG9zZWRQYXJlbnMgPiAwKSB7CisgICAg
ICAgICAgICBpZiAodGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxUbygiKCIpKQorICAgICAg
ICAgICAgICAgIG51bUVuY2xvc2VkUGFyZW5zKys7CisgICAgICAgICAgICBlbHNlIGlmICh0aGlz
LnRva2Vuc1t0aGlzLmlkeF0uaXNFcXVhbFRvKCIpIikpCisgICAgICAgICAgICAgICAgbnVtRW5j
bG9zZWRQYXJlbnMtLTsKKworICAgICAgICAgICAgdGV4dC5wdXNoKHRoaXMudG9rZW5zW3RoaXMu
aWR4XS5zdHJpbmcpOworICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAgICAgfQorICAgICAg
ICB0aGlzLmlkeCsrOworICAgICAgICByZXR1cm4geyBjb2RlT3JpZ2luOiBjb2RlT3JpZ2luLCB0
ZXh0OiB0ZXh0IH07CisgICAgfQorCisgICAgcGFyc2VFeHByZXNzaW9uQXRvbSgpCisgICAgewor
ICAgICAgICBsZXQgcmVzdWx0OworICAgICAgICB0aGlzLnNraXBOZXdMaW5lKCk7CisgICAgICAg
IGlmICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uaXNFcXVhbFRvKCItIikpIHsKKyAgICAgICAgICAg
IHRoaXMuaWR4Kys7CisgICAgICAgICAgICByZXR1cm4gbmV3IE5lZ0ltbWVkaWF0ZSh0aGlzLnRv
a2Vuc1t0aGlzLmlkeCAtIDFdLmNvZGVPcmlnaW4sIHRoaXMucGFyc2VFeHByZXNzaW9uQXRvbSgp
KTsKKyAgICAgICAgfQorICAgICAgICBpZiAodGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxU
bygifiIpKSB7CisgICAgICAgICAgICB0aGlzLmlkeCsrOworICAgICAgICAgICAgcmV0dXJuIG5l
dyBCaXRub3RJbW1lZGlhdGUodGhpcy50b2tlbnNbdGhpcy5pZHggLSAxXS5jb2RlT3JpZ2luLCB0
aGlzLnBhcnNlRXhwcmVzc2lvbkF0b20oKSk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHRoaXMu
dG9rZW5zW3RoaXMuaWR4XS5pc0VxdWFsVG8oIigiKSkgeworICAgICAgICAgICAgdGhpcy5pZHgr
KzsKKyAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMucGFyc2VFeHByZXNzaW9uKCk7CisgICAgICAg
ICAgICBpZiAodGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzTm90RXF1YWxUbygiKSIpKQorICAgICAg
ICAgICAgICAgIHRoaXMucGFyc2VFcnJvcigpOworICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAg
ICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGlzSW50ZWdl
cih0aGlzLnRva2Vuc1t0aGlzLmlkeF0pKSB7CisgICAgICAgICAgICByZXN1bHQgPSBuZXcgSW1t
ZWRpYXRlKHRoaXMudG9rZW5zW3RoaXMuaWR4XS5jb2RlT3JpZ2luLCBOdW1iZXIucGFyc2VJbnQo
dGhpcy50b2tlbnNbdGhpcy5pZHhdKSk7CisgICAgICAgICAgICB0aGlzLmlkeCsrOworICAgICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorICAgICAgICBpZiAoaXNTdHJpbmcodGhp
cy50b2tlbnNbdGhpcy5pZHhdKSkgeworICAgICAgICAgICAgcmVzdWx0ID0gbmV3IFN0cmluZ0xp
dGVyYWwodGhpcy50b2tlbnNbdGhpcy5pZHhdLmNvZGVPcmlnaW4sIHRoaXMudG9rZW5zW3RoaXMu
aWR4XS5zdHJpbmcpOworICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAgICAgICAgIHJldHVy
biByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGlzSWRlbnRpZmllcih0aGlzLnRva2Vu
c1t0aGlzLmlkeF0pKSB7CisgICAgICAgICAgICBsZXQge2NvZGVPcmlnaW4sIG5hbWVzfSA9IHRo
aXMucGFyc2VDb2xvbkNvbG9uKCk7CisgICAgICAgICAgICBpZiAobmFtZXMubGVuZ3RoID4gMSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gU3RydWN0T2Zmc2V0LmZvckZpZWxkKGNvZGVPcmlnaW4s
IG5hbWVzLnNsaWNlKDAsIC0xKS5qb2luKCc6OicpLCBuYW1lc1tuYW1lcy5sZW5ndGggLSAxXSk7
CisKKyAgICAgICAgICAgIHJldHVybiBWYXJpYWJsZS5mb3JOYW1lKGNvZGVPcmlnaW4sIG5hbWVz
WzBdKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoaXNSZWdpc3Rlcih0aGlzLnRva2Vuc1t0aGlz
LmlkeF0pKQorICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VWYXJpYWJsZSgpOworICAgICAg
ICBpZiAodGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxUbygic2l6ZW9mIikpIHsKKyAgICAg
ICAgICAgIHRoaXMuaWR4Kys7CisgICAgICAgICAgICBsZXQge2NvZGVPcmlnaW4sIG5hbWVzfSA9
IHRoaXMucGFyc2VDb2xvbkNvbG9uKCk7CisgICAgICAgICAgICByZXR1cm4gU2l6ZW9mLmZvck5h
bWUoY29kZU9yaWdpbiwgbmFtZXMuam9pbigiOjoiKSk7CisgICAgICAgIH0KKyAgICAgICAgaWYg
KHRoaXMudG9rZW5zW3RoaXMuaWR4XS5pc0VxdWFsVG8oImNvbnN0ZXhwciIpKSB7CisgICAgICAg
ICAgICB0aGlzLmlkeCsrOworICAgICAgICAgICAgdGhpcy5za2lwTmV3TGluZSgpOworICAgICAg
ICAgICAgbGV0IGNvZGVPcmlnaW47CisgICAgICAgICAgICBsZXQgdGV4dDsKKyAgICAgICAgICAg
IGxldCBuYW1lczsKKyAgICAgICAgICAgIGlmICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uaXNFcXVh
bFRvKCIoIikpIHsKKyAgICAgICAgICAgICAgICAoeyBjb2RlT3JpZ2luLCB0ZXh0IH0gPSB0aGlz
LnBhcnNlVGV4dEluUGFyZW5zKCkpOworICAgICAgICAgICAgICAgIHRleHQgPSB0ZXh0LmpvaW4o
IiIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAoeyBjb2RlT3JpZ2lu
LCBuYW1lcyB9ID0gdGhpcy5wYXJzZUNvbG9uQ29sb24oKSk7CisgICAgICAgICAgICAgICAgdGV4
dCA9IG5hbWVzLmpvaW4oIjo6Iik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4g
Q29uc3RFeHByLmZvck5hbWUoY29kZU9yaWdpbiwgdGV4dCk7CisgICAgICAgIH0KKyAgICAgICAg
aWYgKGlzTGFiZWwodGhpcy50b2tlbnNbdGhpcy5pZHhdKSkgeworICAgICAgICAgICAgcmVzdWx0
ID0gbmV3IExhYmVsUmVmZXJlbmNlKHRoaXMudG9rZW5zW3RoaXMuaWR4XS5jb2RlT3JpZ2luLCBM
YWJlbC5mb3JOYW1lKHRoaXMudG9rZW5zW3RoaXMuaWR4XS5jb2RlT3JpZ2luLCB0aGlzLnRva2Vu
c1t0aGlzLmlkeF0uc3RyaW5nKSk7CisgICAgICAgICAgICB0aGlzLmlkeCsrOworICAgICAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorICAgICAgICBpZiAoaXNMb2NhbExhYmVsKHRo
aXMudG9rZW5zW3RoaXMuaWR4XSkpIHsKKyAgICAgICAgICAgIHJlc3VsdCA9IG5ldyBMb2NhbExh
YmVsUmVmZXJlbmNlKHRoaXMudG9rZW5zW3RoaXMuaWR4XS5jb2RlT3JpZ2luLCBMb2NhbExhYmVs
LmZvck5hbWUodGhpcy50b2tlbnNbdGhpcy5pZHhdLmNvZGVPcmlnaW4sIHRoaXMudG9rZW5zW3Ro
aXMuaWR4XS5zdHJpbmcpKTsKKyAgICAgICAgICAgIHRoaXMuaWR4Kys7CisgICAgICAgICAgICBy
ZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICAgIHRoaXMucGFyc2VFcnJvcigpOworICAg
IH0KKworICAgIHBhcnNlRXhwcmVzc2lvbk11bCgpCisgICAgeworICAgICAgICB0aGlzLnNraXBO
ZXdMaW5lKCk7CisgICAgICAgIGxldCByZXN1bHQgPSB0aGlzLnBhcnNlRXhwcmVzc2lvbkF0b20o
KTsKKyAgICAgICAgd2hpbGUgKHRoaXMudG9rZW5zW3RoaXMuaWR4XS5pc0VxdWFsVG8oIioiKSkg
eworICAgICAgICAgICAgaWYgKHRoaXMudG9rZW5zW3RoaXMuaWR4XS5pc0VxdWFsVG8oIioiKSkg
eworICAgICAgICAgICAgICAgIHRoaXMuaWR4Kys7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0g
bmV3IE11bEltbWVkaWF0ZXModGhpcy50b2tlbnNbdGhpcy5pZHggLSAxXS5jb2RlT3JpZ2luLCBy
ZXN1bHQsIHRoaXMucGFyc2VFeHByZXNzaW9uQXRvbSgpKTsKKyAgICAgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgICAgIHRocm93ICJJbnZhbGlkIHRva2VuICIgKyB0aGlzLnRva2Vuc1t0aGlz
LmlkeF0gKyAiIGluIG11bHRpcGx5IGV4cHJlc3Npb24iOworICAgICAgICB9CisgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgfQorCisgICAgY291bGRCZUV4cHJlc3Npb24oKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHRoaXMudG9rZW5zW3RoaXMuaWR4XS5pc0VxdWFsVG8oIi0iKSB8fCB0aGlz
LnRva2Vuc1t0aGlzLmlkeF0uaXNFcXVhbFRvKCJ+IikgfHwgdGhpcy50b2tlbnNbdGhpcy5pZHhd
LmlzRXF1YWxUbygiY29uc3RleHByIikgfHwgdGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxU
bygic2l6ZW9mIikgfHwgaXNJbnRlZ2VyKHRoaXMudG9rZW5zW3RoaXMuaWR4XSkgfHwgaXNTdHJp
bmcodGhpcy50b2tlbnNbdGhpcy5pZHhdKSB8fCBpc1ZhcmlhYmxlKHRoaXMudG9rZW5zW3RoaXMu
aWR4XSkgfHwgdGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxUbygiKCIpOworICAgIH0KKwor
ICAgIHBhcnNlRXhwcmVzc2lvbkFkZCgpCisgICAgeworICAgICAgICB0aGlzLnNraXBOZXdMaW5l
KCk7CisgICAgICAgIGxldCByZXN1bHQgPSB0aGlzLnBhcnNlRXhwcmVzc2lvbk11bCgpOworICAg
ICAgICB3aGlsZSAodGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxUbygiKyIpIHx8IHRoaXMu
dG9rZW5zW3RoaXMuaWR4XS5pc0VxdWFsVG8oIi0iKSkgeworICAgICAgICAgICAgaWYgKHRoaXMu
dG9rZW5zW3RoaXMuaWR4XS5pc0VxdWFsVG8oIisiKSkgeworICAgICAgICAgICAgICAgIHRoaXMu
aWR4Kys7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gbmV3IEFkZEltbWVkaWF0ZXModGhpcy50
b2tlbnNbdGhpcy5pZHggLSAxXS5jb2RlT3JpZ2luLCByZXN1bHQsIHRoaXMucGFyc2VFeHByZXNz
aW9uTXVsKCkpOworICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0u
aXNFcXVhbFRvKCItIikpIHsKKyAgICAgICAgICAgICAgICB0aGlzLmlkeCsrOworICAgICAgICAg
ICAgICAgIHJlc3VsdCA9IG5ldyBTdWJJbW1lZGlhdGVzKHRoaXMudG9rZW5zW3RoaXMuaWR4IC0g
MV0uY29kZU9yaWdpbiwgcmVzdWx0LCB0aGlzLnBhcnNlRXhwcmVzc2lvbk11bCgpKTsKKyAgICAg
ICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIHRocm93ICJJbnZhbGlkIHRva2VuICIgKyB0
aGlzLnRva2Vuc1t0aGlzLmlkeF0gKyAiIGluIGFkZGl0aW9uIGV4cHJlc3Npb24iOworICAgICAg
ICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgcGFyc2VFeHByZXNzaW9u
QW5kKCkKKyAgICB7CisgICAgICAgIHRoaXMuc2tpcE5ld0xpbmUoKTsKKyAgICAgICAgbGV0IHJl
c3VsdCA9IHRoaXMucGFyc2VFeHByZXNzaW9uQWRkKCk7CisgICAgICAgIHdoaWxlICh0aGlzLnRv
a2Vuc1t0aGlzLmlkeF0uaXNFcXVhbFRvKCImIikpIHsKKyAgICAgICAgICAgIHRoaXMuaWR4Kys7
CisgICAgICAgICAgICByZXN1bHQgPSBuZXcgQW5kSW1tZWRpYXRlcyh0aGlzLnRva2Vuc1t0aGlz
LmlkeCAtIDFdLmNvZGVPcmlnaW4sIHJlc3VsdCwgdGhpcy5wYXJzZUV4cHJlc3Npb25BZGQoKSk7
CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICBwYXJzZUV4
cHJlc3Npb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5za2lwTmV3TGluZSgpOworICAgICAgICBs
ZXQgcmVzdWx0ID0gdGhpcy5wYXJzZUV4cHJlc3Npb25BbmQoKTsKKyAgICAgICAgd2hpbGUgKHRo
aXMudG9rZW5zW3RoaXMuaWR4XS5pc0VxdWFsVG8oInwiKSB8fCB0aGlzLnRva2Vuc1t0aGlzLmlk
eF0uaXNFcXVhbFRvKCJeIikpIHsKKyAgICAgICAgICAgIGlmICh0aGlzLnRva2Vuc1t0aGlzLmlk
eF0uaXNFcXVhbFRvKCJ8IikpIHsKKyAgICAgICAgICAgICAgICB0aGlzLmlkeCsrOworICAgICAg
ICAgICAgICAgIHJlc3VsdCA9IG5ldyBPckltbWVkaWF0ZXModGhpcy50b2tlbnNbdGhpcy5pZHgg
LSAxXS5jb2RlT3JpZ2luLCByZXN1bHQsIHRoaXMucGFyc2VFeHByZXNzaW9uQW5kKCkpOworICAg
ICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uaXNFcXVhbFRvKCJeIikp
IHsKKyAgICAgICAgICAgICAgICB0aGlzLmlkeCsrOworICAgICAgICAgICAgICAgIHJlc3VsdCA9
IG5ldyBYb3JJbW1lZGlhdGVzKHRoaXMudG9rZW5zW3RoaXMuaWR4IC0gMV0uY29kZU9yaWdpbiwg
cmVzdWx0LCB0aGlzLnBhcnNlRXhwcmVzc2lvbkFuZCgpKTsKKyAgICAgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgICAgIHRocm93ICJJbnZhbGlkIHRva2VuICIgKyB0aGlzLnRva2Vuc1t0aGlz
LmlkeF0gKyAiIGluIGV4cHJlc3Npb24iOworICAgICAgICB9CisgICAgICAgIHJldHVybiByZXN1
bHQ7CisgICAgfQorCisgICAgcGFyc2VPcGVyYW5kKGNvbW1lbnQpCisgICAgeworICAgICAgICB0
aGlzLnNraXBOZXdMaW5lKCk7CisgICAgICAgIGlmICh0aGlzLmNvdWxkQmVFeHByZXNzaW9uKCkp
IHsKKyAgICAgICAgICAgIGxldCBleHByID0gdGhpcy5wYXJzZUV4cHJlc3Npb24oKTsKKyAgICAg
ICAgICAgIGlmICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uaXNFcXVhbFRvKCJbIikpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VBZGRyZXNzKGV4cHIpOworCisgICAgICAgICAgICBy
ZXR1cm4gZXhwcjsKKyAgICAgICAgfQorICAgICAgICBpZiAodGhpcy50b2tlbnNbdGhpcy5pZHhd
LmlzRXF1YWxUbygiWyIpKQorICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VBZGRyZXNzKG5l
dyBJbW1lZGlhdGUodGhpcy50b2tlbnNbdGhpcy5pZHhdLmNvZGVPcmlnaW4sIDApKTsKKyAgICAg
ICAgaWYgKGlzTGFiZWwodGhpcy50b2tlbnNbdGhpcy5pZHhdKSkgeworICAgICAgICAgICAgbGV0
IHJlc3VsdCA9IG5ldyBMYWJlbFJlZmVyZW5jZSh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uY29kZU9y
aWdpbiwgTGFiZWwuZm9yTmFtZSh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uY29kZU9yaWdpbiwgdGhp
cy50b2tlbnNbdGhpcy5pZHhdLnN0cmluZykpOworICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAg
ICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGlzTG9jYWxM
YWJlbCh0aGlzLnRva2Vuc1t0aGlzLmlkeF0pKSB7CisgICAgICAgICAgICBsZXQgcmVzdWx0ID0g
bmV3IExvY2FsTGFiZWxSZWZlcmVuY2UodGhpcy50b2tlbnNbdGhpcy5pZHhdLmNvZGVPcmlnaW4s
IExvY2FsTGFiZWwuZm9yTmFtZSh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uY29kZU9yaWdpbiwgdGhp
cy50b2tlbnNbdGhpcy5pZHhdLnN0cmluZykpOworICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAg
ICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKworICAgICAgICB0aGlzLnBhcnNl
RXJyb3IoY29tbWVudCk7CisgICAgfQorCisgICAgcGFyc2VNYWNyb1ZhcmlhYmxlcygpCisgICAg
eworICAgICAgICB0aGlzLnNraXBOZXdMaW5lKCk7CisgICAgICAgIHRoaXMuY29uc3VtZSgvXlwo
JC8pOworICAgICAgICBsZXQgdmFyaWFibGVzID0gW107CisgICAgICAgIHdoaWxlICh0cnVlKSB7
CisgICAgICAgICAgICB0aGlzLnNraXBOZXdMaW5lKCk7CisgICAgICAgICAgICBpZiAodGhpcy50
b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxUbygiKSIpKSB7CisgICAgICAgICAgICAgICAgdGhpcy5p
ZHgrKzsKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgfSBlbHNlIGlmIChpc0lk
ZW50aWZpZXIodGhpcy50b2tlbnNbdGhpcy5pZHhdKSkgeworICAgICAgICAgICAgICAgICB2YXJp
YWJsZXMucHVzaChWYXJpYWJsZS5mb3JOYW1lKHRoaXMudG9rZW5zW3RoaXMuaWR4XS5jb2RlT3Jp
Z2luLCB0aGlzLnRva2Vuc1t0aGlzLmlkeF0uc3RyaW5nKSk7CisgICAgICAgICAgICAgICAgdGhp
cy5pZHgrKzsKKyAgICAgICAgICAgICAgICB0aGlzLnNraXBOZXdMaW5lKCk7CisgICAgICAgICAg
ICAgICAgaWYgKHRoaXMudG9rZW5zW3RoaXMuaWR4XS5pc0VxdWFsVG8oIikiKSkgeworICAgICAg
ICAgICAgICAgICAgICB0aGlzLmlkeCsrOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zW3RoaXMuaWR4XS5pc0VxdWFsVG8o
IiwiKSkKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgICAgIHRoaXMucGFyc2VFcnJvcigpOworICAgICAgICAgICAg
fSBlbHNlCisgICAgICAgICAgICAgICAgdGhpcy5wYXJzZUVycm9yKCk7CisgICAgICAgIH0KKyAg
ICAgICAgcmV0dXJuIHZhcmlhYmxlczsKKyAgICB9CisKKyAgICBwYXJzZVNlcXVlbmNlKGZpbmFs
LCBjb21tZW50KQorICAgIHsKKyAgICAgICAgbGV0IGZpcnN0Q29kZU9yaWdpbiA9IHRoaXMudG9r
ZW5zW3RoaXMuaWR4XS5jb2RlT3JpZ2luOworICAgICAgICBsZXQgbGlzdCA9IFtdOworICAgICAg
ICB3aGlsZSAodHJ1ZSkgeworICAgICAgICAgICAgaWYgKCh0aGlzLmlkeCA9PSB0aGlzLnRva2Vu
cy5sZW5ndGggJiYgIWZpbmFsKSB8fCAoZmluYWwgJiYgZmluYWwudGVzdCh0aGlzLnRva2Vuc1t0
aGlzLmlkeF0uc3RyaW5nKSkpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBl
bHNlIGlmICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0gaW5zdGFuY2VvZiBBbm5vdGF0aW9uKSB7Cisg
ICAgICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgb25seSBwbGFjZSB3aGVyZSB3ZSBjYW4gZW5j
b3VudGVyIGEgZ2xvYmFsCisgICAgICAgICAgICAgICAgLy8gYW5ub3RhdGlvbiwgYW5kIGhlbmNl
IG5lZWQgdG8gYmUgYWJsZSB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuCisgICAgICAgICAgICAgICAg
Ly8gdGhlbS4KKyAgICAgICAgICAgICAgICAvLyBnbG9iYWxBbm5vdGF0aW9ucyBhcmUgdGhlIG9u
ZXMgdGhhdCBzdGFydCBmcm9tIGNvbHVtbiAwLiBBbGwKKyAgICAgICAgICAgICAgICAvLyBvdGhl
cnMgYXJlIGNvbnNpZGVyZWQgbG9jYWxBbm5vdGF0aW9ucy4gIFRoZSBvbmx5IHJlYXNvbiB0bwor
ICAgICAgICAgICAgICAgIC8vIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlbSBpcyBzbyB0aGF0IHdl
IGNhbiBmb3JtYXQgdGhlIG91dHB1dAorICAgICAgICAgICAgICAgIC8vIG5pY2VseSBhcyBvbmUg
d291bGQgZXhwZWN0LgorCisgICAgICAgICAgICAgICAgbGV0IGNvZGVPcmlnaW4gPSB0aGlzLnRv
a2Vuc1t0aGlzLmlkeF0uY29kZU9yaWdpbjsKKyAgICAgICAgICAgICAgICBsZXQgYW5ub3RhdGlv
bk9wY29kZSA9ICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0udHlwZSA9PSBHbG9iYWxBbm5vdGF0aW9u
KSA/ICJnbG9iYWxBbm5vdGF0aW9uIiA6ICJsb2NhbEFubm90YXRpb24iOworICAgICAgICAgICAg
ICAgIGxpc3QucHVzaChuZXcgSW5zdHJ1Y3Rpb24oY29kZU9yaWdpbiwgYW5ub3RhdGlvbk9wY29k
ZSwgW10sIHRoaXMudG9rZW5zW3RoaXMuaWR4XS5zdHJpbmcpKTsKKyAgICAgICAgICAgICAgICB0
aGlzLmFubm90YXRpb24gPSBudWxsOworICAgICAgICAgICAgICAgIHRoaXMuaWR4ICs9IDIgLy8g
Q29uc3VtZSB0aGUgbmV3bGluZSBhcyB3ZWxsLgorICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlz
LnRva2Vuc1t0aGlzLmlkeF0uaXNFcXVhbFRvKCJcbiIpKSB7CisgICAgICAgICAgICAgICAgLy8g
aWdub3JlCisgICAgICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAgICAgICAgIH0gZWxzZSBp
ZiAodGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxUbygiY29uc3QiKSkgeworICAgICAgICAg
ICAgICAgIHRoaXMuaWR4Kys7CisgICAgICAgICAgICAgICAgaWYgKCFpc1ZhcmlhYmxlKHRoaXMu
dG9rZW5zW3RoaXMuaWR4XSkpCisgICAgICAgICAgICAgICAgICAgIHRoaXMucGFyc2VFcnJvcigp
OworICAgICAgICAgICAgICAgIGxldCB2YXJpYWJsZSA9IFZhcmlhYmxlLmZvck5hbWUodGhpcy50
b2tlbnNbdGhpcy5pZHhdLmNvZGVPcmlnaW4sIHRoaXMudG9rZW5zW3RoaXMuaWR4XS5zdHJpbmcp
OworICAgICAgICAgICAgICAgIHRoaXMuaWR4Kys7CisgICAgICAgICAgICAgICAgaWYgKHRoaXMu
dG9rZW5zW3RoaXMuaWR4XS5pc05vdEVxdWFsVG8oIj0iKSkKKyAgICAgICAgICAgICAgICAgICAg
dGhpcy5wYXJzZUVycm9yKCk7CisgICAgICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAgICAg
ICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLnBhcnNlT3BlcmFuZCgid2hpbGUgaW5zaWRlIG9mIGNv
bnN0ICIgKyB2YXJpYWJsZS5uYW1lKTsKKyAgICAgICAgICAgICAgICBsaXN0LnB1c2gobmV3IENv
bnN0RGVjbCh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uY29kZU9yaWdpbiwgdmFyaWFibGUsIHZhbHVl
KSk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudG9rZW5zW3RoaXMuaWR4XS5pc0VxdWFs
VG8oImVycm9yIikpIHsKKyAgICAgICAgICAgICAgICBsaXN0LnB1c2gobmV3IEVycm9yKHRoaXMu
dG9rZW5zW3RoaXMuaWR4XS5jb2RlT3JpZ2luKSk7CisgICAgICAgICAgICAgICAgdGhpcy5pZHgr
KzsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxU
bygiaWYiKSkgeworICAgICAgICAgICAgICAgIGxldCBjb2RlT3JpZ2luID0gdGhpcy50b2tlbnNb
dGhpcy5pZHhdLmNvZGVPcmlnaW47CisgICAgICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAg
ICAgICAgICAgICB0aGlzLnNraXBOZXdMaW5lKCk7CisgICAgICAgICAgICAgICAgbGV0IHByZWRp
Y2F0ZSA9IHRoaXMucGFyc2VQcmVkaWNhdGUoKTsKKyAgICAgICAgICAgICAgICB0aGlzLmNvbnN1
bWUoL14oKHRoZW4pfChcbikpJC8pOworICAgICAgICAgICAgICAgIHRoaXMuc2tpcE5ld0xpbmUo
KTsKKyAgICAgICAgICAgICAgICBsZXQgaWZUaGVuRWxzZSA9IG5ldyBJZlRoZW5FbHNlKGNvZGVP
cmlnaW4sIHByZWRpY2F0ZSwgdGhpcy5wYXJzZVNlcXVlbmNlKC9eKChlbHNlKXwoZW5kKXwoZWxz
aWYpKSQvLCAid2hpbGUgaW5zaWRlIG9mIFwiaWYgIiArIHByZWRpY2F0ZS5kdW1wKCkgKyAiXCIi
KSk7CisgICAgICAgICAgICAgICAgbGlzdC5wdXNoKGlmVGhlbkVsc2UpOworICAgICAgICAgICAg
ICAgIHdoaWxlICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uaXNFcXVhbFRvKCJlbHNpZiIpKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGNvZGVPcmlnaW4gPSB0aGlzLnRva2Vuc1t0aGlzLmlkeF0uY29k
ZU9yaWdpbjsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAgICAgICAgICAg
ICAgICAgdGhpcy5za2lwTmV3TGluZSgpOworICAgICAgICAgICAgICAgICAgICBwcmVkaWNhdGUg
PSB0aGlzLnBhcnNlUHJlZGljYXRlKCk7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuY29uc3Vt
ZSgvXigodGhlbil8KFxuKSkkLyk7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuc2tpcE5ld0xp
bmUoKTsKKyAgICAgICAgICAgICAgICAgICAgbGV0IGVsc2VDYXNlID0gbmV3IElmVGhlbkVsc2Uo
Y29kZU9yaWdpbiwgcHJlZGljYXRlLCB0aGlzLnBhcnNlU2VxdWVuY2UoL14oKGVsc2UpfChlbmQp
fChlbHNpZikpJC8sICJ3aGlsZSBpbnNpZGUgb2YgXCJpZiAiICsgcHJlZGljYXRlLmR1bXAoKSAr
ICJcIiIpKTsKKyAgICAgICAgICAgICAgICAgICAgaWZUaGVuRWxzZS5lbHNlQ2FzZSA9IGVsc2VD
YXNlOworICAgICAgICAgICAgICAgICAgICBpZlRoZW5FbHNlID0gZWxzZUNhc2U7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uaXNF
cXVhbFRvKCJlbHNlIikpIHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAg
ICAgICAgICAgICAgICAgaWZUaGVuRWxzZS5lbHNlQ2FzZSA9IHRoaXMucGFyc2VTZXF1ZW5jZSgv
XmVuZCQvLCAid2hpbGUgaW5zaWRlIG9mIGVsc2UgY2FzZSBmb3IgXCJpZiAiICsgcHJlZGljYXRl
LmR1bXAoKSArICJcIiIpOworICAgICAgICAgICAgICAgICAgICB0aGlzLmlkeCsrOworICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRva2Vuc1t0
aGlzLmlkeF0uaXNOb3RFcXVhbFRvKCJlbmQiKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRo
aXMucGFyc2VFcnJvcigpOworICAgICAgICAgICAgICAgICAgICB0aGlzLmlkeCsrOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnNbdGhpcy5pZHhd
LmlzRXF1YWxUbygibWFjcm8iKSkgeworICAgICAgICAgICAgICAgIGxldCBjb2RlT3JpZ2luID0g
dGhpcy50b2tlbnNbdGhpcy5pZHhdLmNvZGVPcmlnaW47CisgICAgICAgICAgICAgICAgdGhpcy5p
ZHgrKzsKKyAgICAgICAgICAgICAgICB0aGlzLnNraXBOZXdMaW5lKCk7CisgICAgICAgICAgICAg
ICAgaWYgKCFpc0lkZW50aWZpZXIodGhpcy50b2tlbnNbdGhpcy5pZHhdKSkKKyAgICAgICAgICAg
ICAgICAgICAgdGhpcy5wYXJzZUVycm9yKCk7CisgICAgICAgICAgICAgICAgbGV0IG5hbWUgPSB0
aGlzLnRva2Vuc1t0aGlzLmlkeF0uc3RyaW5nOworICAgICAgICAgICAgICAgIHRoaXMuaWR4Kys7
CisgICAgICAgICAgICAgICAgbGV0IHZhcmlhYmxlcyA9IHRoaXMucGFyc2VNYWNyb1ZhcmlhYmxl
cygpOworICAgICAgICAgICAgICAgIGxldCBib2R5ID0gdGhpcy5wYXJzZVNlcXVlbmNlKC9eZW5k
JC8sICJ3aGlsZSBpbnNpZGUgb2YgbWFjcm8gIiArIG5hbWUpOworICAgICAgICAgICAgICAgIHRo
aXMuaWR4Kys7CisgICAgICAgICAgICAgICAgbGlzdC5wdXNoKG5ldyBNYWNybyhjb2RlT3JpZ2lu
LCBuYW1lLCB2YXJpYWJsZXMsIGJvZHkpKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50
b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxUbygiZ2xvYmFsIikpIHsKKyAgICAgICAgICAgICAgICBs
ZXQgY29kZU9yaWdpbiA9IHRoaXMudG9rZW5zW3RoaXMuaWR4XS5jb2RlT3JpZ2luOworICAgICAg
ICAgICAgICAgIHRoaXMuaWR4Kys7CisgICAgICAgICAgICAgICAgdGhpcy5za2lwTmV3TGluZSgp
OworICAgICAgICAgICAgICAgIGlmICghaXNMYWJlbCh0aGlzLnRva2Vuc1t0aGlzLmlkeF0pKQor
ICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcnNlRXJyb3IoKTsKKyAgICAgICAgICAgICAgICBs
ZXQgbmFtZSA9IHRoaXMudG9rZW5zW3RoaXMuaWR4XS5zdHJpbmc7CisgICAgICAgICAgICAgICAg
dGhpcy5pZHgrKzsKKyAgICAgICAgICAgICAgICBMYWJlbC5zZXRBc0dsb2JhbChjb2RlT3JpZ2lu
LCBuYW1lKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNJbnN0cnVjdGlvbih0aGlzLnRva2Vu
c1t0aGlzLmlkeF0pKSB7CisgICAgICAgICAgICAgICAgbGV0IGNvZGVPcmlnaW4gPSB0aGlzLnRv
a2Vuc1t0aGlzLmlkeF0uY29kZU9yaWdpbjsKKyAgICAgICAgICAgICAgICBsZXQgbmFtZSA9IHRo
aXMudG9rZW5zW3RoaXMuaWR4XS5zdHJpbmc7CisgICAgICAgICAgICAgICAgdGhpcy5pZHgrKzsK
KyAgICAgICAgICAgICAgICBpZiAoKCFmaW5hbCAmJiB0aGlzLmlkeCA9PSB0aGlzLnRva2Vucy5z
aXplKSB8fCAoZmluYWwgJiYgZmluYWwudGVzdCh0aGlzLnRva2Vuc1t0aGlzLmlkeF0pKSkgewor
ICAgICAgICAgICAgICAgICAgICAvLyBaZXJvIG9wZXJhbmQgaW5zdHJ1Y3Rpb24sIGFuZCBpdCdz
IHRoZSBsYXN0IG9uZS4KKyAgICAgICAgICAgICAgICAgICAgbGlzdC5wdXNoKG5ldyBJbnN0cnVj
dGlvbihjb2RlT3JpZ2luLCBuYW1lLCBbXSwgdGhpcy5hbm5vdGF0aW9uKSk7CisgICAgICAgICAg
ICAgICAgICAgIHRoaXMuYW5ub3RhdGlvbiA9IG51bGw7CisgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnNbdGhpcy5pZHhdIGlu
c3RhbmNlb2YgQW5ub3RhdGlvbikgeworICAgICAgICAgICAgICAgICAgICBsaXN0LnB1c2gobmV3
IEluc3RydWN0aW9uKGNvZGVPcmlnaW4sIG5hbWUsIFtdLCB0aGlzLnRva2Vuc1t0aGlzLmlkeF0u
c3RyaW5nKSk7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuYW5ub3RhdGlvbiA9IG51bGw7Cisg
ICAgICAgICAgICAgICAgICAgIHRoaXMuaWR4ICs9IDIgLy8gQ29uc3VtZSB0aGUgbmV3bGluZSBh
cyB3ZWxsLgorICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnNbdGhpcy5pZHhd
LmlzRXF1YWxUbygiXG4iKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBaZXJvIG9wZXJhbmQg
aW5zdHJ1Y3Rpb24uCisgICAgICAgICAgICAgICAgICAgIGxpc3QucHVzaChuZXcgSW5zdHJ1Y3Rp
b24oY29kZU9yaWdpbiwgbmFtZSwgW10sIHRoaXMuYW5ub3RhdGlvbikpOworICAgICAgICAgICAg
ICAgICAgICB0aGlzLmFubm90YXRpb24gPSBudWxsOworICAgICAgICAgICAgICAgICAgICB0aGlz
LmlkeCsrOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIC8v
IEl0J3MgZGVmaW5pdGVseSBhbiBpbnN0cnVjdGlvbiwgYW5kIGl0IGhhcyBhdCBsZWFzdCBvbmUg
b3BlcmFuZC4KKyAgICAgICAgICAgICAgICAgICAgbGV0IG9wZXJhbmRzID0gW107CisgICAgICAg
ICAgICAgICAgICAgIGxldCBlbmRPZlNlcXVlbmNlID0gZmFsc2U7CisgICAgICAgICAgICAgICAg
ICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYW5kcy5wdXNo
KHRoaXMucGFyc2VPcGVyYW5kKCJ3aGlsZSBpbnNpZGUgb2YgaW5zdHJ1Y3Rpb24gIiArIG5hbWUp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoIWZpbmFsICYmIHRoaXMuaWR4ID09IHRo
aXMudG9rZW5zLnNpemUpIHx8IChmaW5hbCAmJiBmaW5hbC50ZXN0KHRoaXMudG9rZW5zW3RoaXMu
aWR4XS5zdHJpbmcpKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBlbmQg
b2YgdGhlIGluc3RydWN0aW9uIGFuZCBvZiB0aGUgc2VxdWVuY2UuCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZW5kT2ZTZXF1ZW5jZSA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudG9r
ZW5zW3RoaXMuaWR4XS5pc0VxdWFsVG8oIiwiKSkgeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIEhhcyBhbm90aGVyIG9wZXJhbmQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dGhpcy5pZHgrKzsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tl
bnNbdGhpcy5pZHhdIGluc3RhbmNlb2YgQW5ub3RhdGlvbikgeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRoaXMuYW5ub3RhdGlvbiA9IHRoaXMudG9rZW5zW3RoaXMuaWR4XS5zdHJpbmc7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pZHggKz0gMjsgLy8gQ29uc3VtZSB0
aGUgbmV3bGluZSBhcyB3ZWxsLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0u
aXNFcXVhbFRvKCJcbiIpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGVu
ZCBvZiB0aGUgaW5zdHJ1Y3Rpb24uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5p
ZHgrKzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGFyc2VF
cnJvcigiRXhwZWN0ZWQgYSBjb21tYSwgbmV3bGluZSwgb3IgIiArIGZpbmFsICsgIiBhZnRlciAi
ICsgb3BlcmFuZHNbb3BlcmFuZHMubGVuZ3RoIC0gMV0uZHVtcCgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgICAgICBsaXN0LnB1c2gobmV3IEluc3RydWN0aW9uKGNv
ZGVPcmlnaW4sIG5hbWUsIG9wZXJhbmRzLCB0aGlzLmFubm90YXRpb24pKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGhpcy5hbm5vdGF0aW9uID0gbnVsbDsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KGVuZE9mU2VxdWVuY2UpCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgaWYgKGlzSWRlbnRpZmllcih0aGlzLnRva2Vu
c1t0aGlzLmlkeF0pKSB7CisgICAgICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIHBvdGVudGlhbCBt
YWNybyBpbnZvY2F0aW9uOgorICAgICAgICAgICAgICAgIGxldCBjb2RlT3JpZ2luID0gdGhpcy50
b2tlbnNbdGhpcy5pZHhdLmNvZGVPcmlnaW47CisgICAgICAgICAgICAgICAgbGV0IG5hbWUgPSB0
aGlzLnRva2Vuc1t0aGlzLmlkeF0uc3RyaW5nOworICAgICAgICAgICAgICAgIHRoaXMuaWR4Kys7
CisgICAgICAgICAgICAgICAgaWYgKHRoaXMudG9rZW5zW3RoaXMuaWR4XS5pc0VxdWFsVG8oIigi
KSkgeworICAgICAgICAgICAgICAgICAgICAvLyBNYWNybyBpbnZvY2F0aW9uLgorICAgICAgICAg
ICAgICAgICAgICB0aGlzLmlkeCsrOworICAgICAgICAgICAgICAgICAgICBsZXQgb3BlcmFuZHMg
PSBbXTsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5za2lwTmV3TGluZSgpOworICAgICAgICAg
ICAgICAgICAgICBpZiAodGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxUbygiKSIpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAgICAgICAgICAgICAgICAgZWxz
ZSB7CisgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRoaXMuc2tpcE5ld0xpbmUoKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAodGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxUbygibWFjcm8iKSkgewor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJdCdzIGEgbWFjcm8gbGFtYmRhIQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY29kZU9yaWdpbklubmVyID0gdGhp
cy50b2tlbnNbdGhpcy5pZHhdLmNvZGVPcmlnaW47CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRoaXMuaWR4Kys7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2
YXJpYWJsZXMgPSB0aGlzLnBhcnNlTWFjcm9WYXJpYWJsZXMoKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGV0IGJvZHkgPSB0aGlzLnBhcnNlU2VxdWVuY2UoL15lbmQkLywgIndo
aWxlIGluc2lkZSBvZiBhbm9ueW1vdXMgbWFjcm8gcGFzc2VkIGFzIGFyZ3VtZW50IHRvICIgKyBu
YW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmFuZHMucHVzaChuZXcgTWFjcm8oY29kZU9y
aWdpbklubmVyLCAiIiwgdmFyaWFibGVzLCBib2R5KSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhbmRzLnB1
c2godGhpcy5wYXJzZU9wZXJhbmQoIndoaWxlIGluc2lkZSBvZiBtYWNybyBjYWxsIHRvICIgKyBu
YW1lKSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNraXBOZXdMaW5lKCk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudG9rZW5zW3RoaXMuaWR4XS5p
c0VxdWFsVG8oIikiKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlk
eCsrOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxU
bygiLCIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlkeCsrOworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGhpcy5wYXJzZUVycm9yKCJVbmV4cGVjdGVkICIgKyB0aGlzLnRva2Vuc1t0aGlzLmlk
eF0uc3RyaW5nICsgIiB3aGlsZSBwYXJzaW5nIGludm9jYXRpb24gb2YgbWFjcm8gIiArIG5hbWUp
OworCisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlcmUncyBhIHRyYWlsaW5nIGFubm90YXRp
b24gYWZ0ZXIgdGhlIG1hY3JvIGludm9rZToKKyAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMu
dG9rZW5zW3RoaXMuaWR4XSBpbnN0YW5jZW9mIEFubm90YXRpb24pIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHRoaXMuYW5ub3RhdGlvbiA9IHRoaXMudG9rZW5zW3RoaXMuaWR4XS5zdHJpbmc7
CisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlkeCArPSAyIC8vIENvbnN1bWUgdGhlIG5l
d2xpbmUgYXMgd2VsbC4KKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAg
ICBsaXN0LnB1c2gobmV3IE1hY3JvQ2FsbChjb2RlT3JpZ2luLCBuYW1lLCBvcGVyYW5kcywgdGhp
cy5hbm5vdGF0aW9uKSk7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuYW5ub3RhdGlvbiA9IG51
bGw7CisgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgIHRoaXMucGFy
c2VFcnJvcigiRXhwZWN0ZWQgXCIoXCIgYWZ0ZXIgIiArIG5hbWUpOworICAgICAgICAgICAgfSBl
bHNlIGlmIChpc0xhYmVsKHRoaXMudG9rZW5zW3RoaXMuaWR4XSkgfHwgaXNMb2NhbExhYmVsKHRo
aXMudG9rZW5zW3RoaXMuaWR4XSkpIHsKKyAgICAgICAgICAgICAgICBsZXQgY29kZU9yaWdpbiA9
IHRoaXMudG9rZW5zW3RoaXMuaWR4XS5jb2RlT3JpZ2luOworICAgICAgICAgICAgICAgIGxldCBu
YW1lID0gdGhpcy50b2tlbnNbdGhpcy5pZHhdLnN0cmluZzsKKyAgICAgICAgICAgICAgICB0aGlz
LmlkeCsrOworICAgICAgICAgICAgICAgIGlmICh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uaXNOb3RF
cXVhbFRvKCI6IikpCisgICAgICAgICAgICAgICAgICAgIHRoaXMucGFyc2VFcnJvcigpOworICAg
ICAgICAgICAgICAgIC8vIEl0J3MgYSBsYWJlbC4KKyAgICAgICAgICAgICAgICBpZiAoaXNMYWJl
bChuYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgbGlzdC5wdXNoKExhYmVsLmZvck5hbWUoY29k
ZU9yaWdpbiwgbmFtZSwgdHJ1ZSkpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgbGlzdC5wdXNoKExvY2FsTGFiZWwuZm9yTmFtZShjb2RlT3JpZ2luLCBuYW1lKSk7
CisKKyAgICAgICAgICAgICAgICB0aGlzLmlkeCsrOworICAgICAgICAgICAgfSBlbHNlIGlmICh0
aGlzLnRva2Vuc1t0aGlzLmlkeF0uaXNFcXVhbFRvKCJpbmNsdWRlIikpIHsKKyAgICAgICAgICAg
ICAgICB0aGlzLmlkeCsrOworICAgICAgICAgICAgICAgIGlmICghaXNJZGVudGlmaWVyKHRoaXMu
dG9rZW5zW3RoaXMuaWR4XSkpCisgICAgICAgICAgICAgICAgICAgIHRoaXMucGFyc2VFcnJvcigp
OworICAgICAgICAgICAgICAgIGxldCBtb2R1bGVOYW1lID0gdGhpcy50b2tlbnNbdGhpcy5pZHhd
LnN0cmluZzsKKyAgICAgICAgICAgICAgICBsZXQgZmlsZU5hbWUgPSBuZXcgSW5jbHVkZUZpbGUo
bW9kdWxlTmFtZSwgdGhpcy50b2tlbnNbdGhpcy5pZHhdLmNvZGVPcmlnaW4uZmlsZU5hbWUuZGly
bmFtZSkuZmlsZU5hbWU7CisgICAgICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAgICAgICAg
ICAgICBsaXN0LnB1c2gocGFyc2UoZmlsZU5hbWUpKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAg
ICAgICAgICAgICAgIHRoaXMucGFyc2VFcnJvcigiRXhwZWN0aW5nIHRlcm1pbmFsICIgKyBmaW5h
bCArICIgIiArIGNvbW1lbnQpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBuZXcgU2VxdWVu
Y2UoZmlyc3RDb2RlT3JpZ2luLCBsaXN0KTsKKyAgICB9CisKKyAgICBwYXJzZUluY2x1ZGVzKGZp
bmFsLCBjb21tZW50KQorICAgIHsKKyAgICAgICAgbGV0IGZpcnN0Q29kZU9yaWdpbiA9IHRoaXMu
dG9rZW5zW3RoaXMuaWR4XS5jb2RlT3JpZ2luOworICAgICAgICBsZXQgZmlsZUxpc3QgPSBbXTsK
KyAgICAgICAgZmlsZUxpc3QucHVzaCh0aGlzLnRva2Vuc1t0aGlzLmlkeF0uY29kZU9yaWdpbi5m
aWxlTmFtZSk7CisgICAgICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgICAgICBpZiAoKHRoaXMu
aWR4ID09IHRoaXMudG9rZW5zLmxlbmd0aCAmJiAhZmluYWwpIHx8IChmaW5hbCAmJiBmaW5hbC50
ZXN0KHRoaXMudG9rZW5zW3RoaXMuaWR4XSkpKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgZWxzZSBpZiAodGhpcy50b2tlbnNbdGhpcy5pZHhdLmlzRXF1YWxUbygiaW5jbHVk
ZSIpKSB7CisgICAgICAgICAgICAgICAgdGhpcy5pZHgrKzsKKyAgICAgICAgICAgICAgICBpZiAo
IWlzSWRlbnRpZmllcih0aGlzLnRva2Vuc1t0aGlzLmlkeF0pKQorICAgICAgICAgICAgICAgICAg
ICB0aGlzLnBhcnNlRXJyb3IoKTsKKyAgICAgICAgICAgICAgICBsZXQgbW9kdWxlTmFtZSA9IHRo
aXMudG9rZW5zW3RoaXMuaWR4XS5zdHJpbmc7CisgICAgICAgICAgICAgICAgbGV0IGZpbGVOYW1l
ID0gbmV3IEluY2x1ZGVGaWxlKG1vZHVsZU5hbWUsIHRoaXMudG9rZW5zW3RoaXMuaWR4XS5jb2Rl
T3JpZ2luLmZpbGVOYW1lLmRpcm5hbWUpLmZpbGVOYW1lOworICAgICAgICAgICAgICAgIHRoaXMu
aWR4Kys7CisKKyAgICAgICAgICAgICAgICBmaWxlTGlzdC5wdXNoKGZpbGVOYW1lKTsKKyAgICAg
ICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIHRoaXMuaWR4Kys7CisgICAgICAgIH0KKwor
ICAgICAgICByZXR1cm4gZmlsZUxpc3Q7CisgICAgfQorfQorCitmdW5jdGlvbiBwYXJzZURhdGEo
ZGF0YSwgZmlsZU5hbWUpCit7CisgICAgbGV0IHBhcnNlciA9IG5ldyBQYXJzZXIoZGF0YSwgbmV3
IFNvdXJjZUZpbGUoZmlsZU5hbWUpKTsKKyAgICByZXR1cm4gcGFyc2VyLnBhcnNlU2VxdWVuY2Uo
bnVsbCwgIiIpOworfQorCitmdW5jdGlvbiBwYXJzZShmaWxlTmFtZSkKK3sKKyAgICByZXR1cm4g
cGFyc2VEYXRhKEZpbGUub3BlbihmaWxlTmFtZSkucmVhZCgpLCBmaWxlTmFtZSk7Cit9CkluZGV4
OiBQZXJmb3JtYW5jZVRlc3RzL1JleEJlbmNoL09mZmxpbmVBc3NlbWJsZXIvcmVnaXN0ZXJzLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvUmV4QmVuY2gvT2ZmbGluZUFzc2VtYmxl
ci9yZWdpc3RlcnMuanMJKG5vbmV4aXN0ZW50KQorKysgUGVyZm9ybWFuY2VUZXN0cy9SZXhCZW5j
aC9PZmZsaW5lQXNzZW1ibGVyL3JlZ2lzdGVycy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDg2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KyJ1c2Ugc3RyaWN0IjsKKworY29uc3QgZ3BycyA9CisgICAgWworICAgICAidDAiLAorICAgICAi
dDEiLAorICAgICAidDIiLAorICAgICAidDMiLAorICAgICAidDQiLAorICAgICAidDUiLAorICAg
ICAiY2ZyIiwKKyAgICAgImEwIiwKKyAgICAgImExIiwKKyAgICAgImEyIiwKKyAgICAgImEzIiwK
KyAgICAgInIwIiwKKyAgICAgInIxIiwKKyAgICAgInNwIiwKKyAgICAgImxyIiwKKyAgICAgInBj
IiwKKyAgICAgLy8gNjQtYml0IG9ubHkgcmVnaXN0ZXJzOgorICAgICAiY3NyMCIsCisgICAgICJj
c3IxIiwKKyAgICAgImNzcjIiLAorICAgICAiY3NyMyIsCisgICAgICJjc3I0IiwKKyAgICAgImNz
cjUiLAorICAgICAiY3NyNiIsCisgICAgICJjc3I3IiwKKyAgICAgImNzcjgiLAorICAgICAiY3Ny
OSIKKyAgICBdCisKK2NvbnN0IGZwcnMgPQorICAgIFsKKyAgICAgImZ0MCIsCisgICAgICJmdDEi
LAorICAgICAiZnQyIiwKKyAgICAgImZ0MyIsCisgICAgICJmdDQiLAorICAgICAiZnQ1IiwKKyAg
ICAgImZhMCIsCisgICAgICJmYTEiLAorICAgICAiZmEyIiwKKyAgICAgImZhMyIsCisgICAgICJj
c2ZyMCIsCisgICAgICJjc2ZyMSIsCisgICAgICJjc2ZyMiIsCisgICAgICJjc2ZyMyIsCisgICAg
ICJjc2ZyNCIsCisgICAgICJjc2ZyNSIsCisgICAgICJjc2ZyNiIsCisgICAgICJjc2ZyNyIsCisg
ICAgICJmciIKKyAgICBdCisKK2NvbnN0IHJlZ2lzdGVycyA9IGdwcnMuY29uY2F0KGZwcnMpOwor
Cit2YXIgZ3ByUGF0dGVybiA9IG5ldyBSZWdFeHAoIl4oKCIgKyBncHJzLmpvaW4oIil8KCIpICsg
IikpJCIpOwordmFyIGZwclBhdHRlcm4gPSBuZXcgUmVnRXhwKCJeKCgiICsgZnBycy5qb2luKCIp
fCgiKSArICIpKSQiKTsKKwordmFyIHJlZ2lzdGVyUGF0dGVybiA9IG5ldyBSZWdFeHAoIl4oKCIg
KyByZWdpc3RlcnMuam9pbigiKXwoIikgKyAiKSkkIik7Cg==
</data>
<flag name="review"
          id="338585"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>