<?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>189502</bug_id>
          
          <creation_ts>2018-09-11 09:17:21 -0700</creation_ts>
          <short_desc>[WHLSL] Improve test suite type safety</short_desc>
          <delta_ts>2018-09-19 13:09:34 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>187735</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Thomas Denney">tdenney</reporter>
          <assigned_to name="Thomas Denney">tdenney</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1458476</commentid>
    <comment_count>0</comment_count>
    <who name="Thomas Denney">tdenney</who>
    <bug_when>2018-09-11 09:17:21 -0700</bug_when>
    <thetext>[WHLSL] Improve test suite type safety</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458480</commentid>
    <comment_count>1</comment_count>
      <attachid>349399</attachid>
    <who name="Thomas Denney">tdenney</who>
    <bug_when>2018-09-11 09:30:09 -0700</bug_when>
    <thetext>Created attachment 349399
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458495</commentid>
    <comment_count>2</comment_count>
      <attachid>349399</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-09-11 10:06:05 -0700</bug_when>
    <thetext>Comment on attachment 349399
Patch

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

&gt; Tools/WebGPUShadingLanguageRI/Casts.js:45
&gt; +function castToBool(value)
&gt; +{
&gt; +    return !!value;
&gt; +}

Can we put this with the rest of the casts?

&gt; Tools/WebGPUShadingLanguageRI/Test.js:83
&gt; -    return TypedValue.box(program.intrinsics.int, value);
&gt; +    return TypedValue.box(program.intrinsics.int, castToInt(value));
&gt;  }
&gt;  
&gt;  function makeUint(program, value)
&gt;  {
&gt; -    return TypedValue.box(program.intrinsics.uint, value);
&gt; +    return TypedValue.box(program.intrinsics.uint, castToUint(value));
&gt;  }
&gt;  
&gt;  function makeUchar(program, value)
&gt;  {
&gt; -    return TypedValue.box(program.intrinsics.uchar, value);
&gt; +    return TypedValue.box(program.intrinsics.uchar, castToUchar(value));
&gt;  }
&gt;  
&gt;  function makeBool(program, value)
&gt;  {
&gt; -    return TypedValue.box(program.intrinsics.bool, value);
&gt; +    return TypedValue.box(program.intrinsics.bool, castToBool(value));
&gt;  }
&gt;  
&gt;  function makeFloat(program, value)
&gt;  {
&gt; -    return TypedValue.box(program.intrinsics.float, value);
&gt; +    return TypedValue.box(program.intrinsics.float, castToFloat(value));
&gt;  }
&gt;  
&gt;  function makeHalf(program, value)
&gt;  {
&gt; -    return TypedValue.box(program.intrinsics.half, value);
&gt; +    return TypedValue.box(program.intrinsics.half, castToHalf(value));

perhaps instead of silently casting, we should throw if the input thing isn&apos;t already the right type. The caller should know if the only reason the test is passing is that the type system is interfering

&gt; Tools/WebGPUShadingLanguageRI/Test.js:2702
&gt; -    checkUchar(program, callFunction(program, &quot;foo&quot;, [makeUchar(program, 65535), makeUint(program, 2)]), 255);
&gt; -    checkUchar(program, callFunction(program, &quot;foo&quot;, [makeUchar(program, -1), makeUint(program, 5)]), 255);
&gt; +    checkUchar(program, callFunction(program, &quot;foo&quot;, [makeUchar(program, 65535), makeUint(program, 2)]), 63);
&gt; +    checkUchar(program, callFunction(program, &quot;foo&quot;, [makeUchar(program, -1), makeUint(program, 5)]), 7);

What? Why is this necessary?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458496</commentid>
    <comment_count>3</comment_count>
    <who name="Thomas Denney">tdenney</who>
    <bug_when>2018-09-11 10:10:25 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #2)
&gt; Comment on attachment 349399 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=349399&amp;action=review
&gt; 
&gt; &gt; Tools/WebGPUShadingLanguageRI/Casts.js:45
&gt; &gt; +function castToBool(value)
&gt; &gt; +{
&gt; &gt; +    return !!value;
&gt; &gt; +}
&gt; 
&gt; Can we put this with the rest of the casts?

It is!

&gt; 
&gt; &gt; Tools/WebGPUShadingLanguageRI/Test.js:83
&gt; &gt; -    return TypedValue.box(program.intrinsics.int, value);
&gt; &gt; +    return TypedValue.box(program.intrinsics.int, castToInt(value));
&gt; &gt;  }
&gt; &gt;  
&gt; &gt;  function makeUint(program, value)
&gt; &gt;  {
&gt; &gt; -    return TypedValue.box(program.intrinsics.uint, value);
&gt; &gt; +    return TypedValue.box(program.intrinsics.uint, castToUint(value));
&gt; &gt;  }
&gt; &gt;  
&gt; &gt;  function makeUchar(program, value)
&gt; &gt;  {
&gt; &gt; -    return TypedValue.box(program.intrinsics.uchar, value);
&gt; &gt; +    return TypedValue.box(program.intrinsics.uchar, castToUchar(value));
&gt; &gt;  }
&gt; &gt;  
&gt; &gt;  function makeBool(program, value)
&gt; &gt;  {
&gt; &gt; -    return TypedValue.box(program.intrinsics.bool, value);
&gt; &gt; +    return TypedValue.box(program.intrinsics.bool, castToBool(value));
&gt; &gt;  }
&gt; &gt;  
&gt; &gt;  function makeFloat(program, value)
&gt; &gt;  {
&gt; &gt; -    return TypedValue.box(program.intrinsics.float, value);
&gt; &gt; +    return TypedValue.box(program.intrinsics.float, castToFloat(value));
&gt; &gt;  }
&gt; &gt;  
&gt; &gt;  function makeHalf(program, value)
&gt; &gt;  {
&gt; &gt; -    return TypedValue.box(program.intrinsics.half, value);
&gt; &gt; +    return TypedValue.box(program.intrinsics.half, castToHalf(value));
&gt; 
&gt; perhaps instead of silently casting, we should throw if the input thing
&gt; isn&apos;t already the right type. The caller should know if the only reason the
&gt; test is passing is that the type system is interfering

OK, I’ll add this now.

&gt; 
&gt; &gt; Tools/WebGPUShadingLanguageRI/Test.js:2702
&gt; &gt; -    checkUchar(program, callFunction(program, &quot;foo&quot;, [makeUchar(program, 65535), makeUint(program, 2)]), 255);
&gt; &gt; -    checkUchar(program, callFunction(program, &quot;foo&quot;, [makeUchar(program, -1), makeUint(program, 5)]), 255);
&gt; &gt; +    checkUchar(program, callFunction(program, &quot;foo&quot;, [makeUchar(program, 65535), makeUint(program, 2)]), 63);
&gt; &gt; +    checkUchar(program, callFunction(program, &quot;foo&quot;, [makeUchar(program, -1), makeUint(program, 5)]), 7);
&gt; 
&gt; What? Why is this necessary?

makeUchar of -1 yields the value 0xFF (likewise with 65535), so right shifting these values by 2 and 5 yields 63 and 7 respectively.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458504</commentid>
    <comment_count>4</comment_count>
      <attachid>349399</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-09-11 10:18:52 -0700</bug_when>
    <thetext>Comment on attachment 349399
Patch

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

&gt;&gt;&gt; Tools/WebGPUShadingLanguageRI/Casts.js:45
&gt;&gt;&gt; +}
&gt;&gt; 
&gt;&gt; Can we put this with the rest of the casts?
&gt; 
&gt; It is!

Nevermind, you&apos;re right.

&gt;&gt;&gt; Tools/WebGPUShadingLanguageRI/Test.js:2702
&gt;&gt;&gt; +    checkUchar(program, callFunction(program, &quot;foo&quot;, [makeUchar(program, -1), makeUint(program, 5)]), 7);
&gt;&gt; 
&gt;&gt; What? Why is this necessary?
&gt; 
&gt; makeUchar of -1 yields the value 0xFF (likewise with 65535), so right shifting these values by 2 and 5 yields 63 and 7 respectively.

I see, the test was testing incorrect behavior before. Either way, the test shouldn&apos;t say makeUchar(program, -1). It should say makeUchar(program, 255). Same with 65535.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458608</commentid>
    <comment_count>5</comment_count>
      <attachid>349429</attachid>
    <who name="Thomas Denney">tdenney</who>
    <bug_when>2018-09-11 13:06:18 -0700</bug_when>
    <thetext>Created attachment 349429
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458651</commentid>
    <comment_count>6</comment_count>
      <attachid>349429</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-09-11 14:13:44 -0700</bug_when>
    <thetext>Comment on attachment 349429
Patch

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

&gt; Tools/WebGPUShadingLanguageRI/All.js:105
&gt; +load(&quot;IsBitwiseEquivalent.js&quot;);

Why not put this in Casts.js?

&gt; Tools/WebGPUShadingLanguageRI/Casts.js:126
&gt; +        throw new Error(`${value} was casted to ${castedValue}`);

This message is not particularly clear why it is an error condition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458669</commentid>
    <comment_count>7</comment_count>
      <attachid>349456</attachid>
    <who name="Thomas Denney">tdenney</who>
    <bug_when>2018-09-11 14:30:55 -0700</bug_when>
    <thetext>Created attachment 349456
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460861</commentid>
    <comment_count>8</comment_count>
      <attachid>349456</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-09-19 00:13:55 -0700</bug_when>
    <thetext>Comment on attachment 349456
Patch

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

&gt; Tools/WebGPUShadingLanguageRI/Test.js:-2625
&gt; -    checkUint(program, callFunction(program, &quot;foo&quot;, [makeUint(program, -1), makeUint(program, 5)]), 134217727);

Can we replace all of these tests with 2^32-1 instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460999</commentid>
    <comment_count>9</comment_count>
      <attachid>350126</attachid>
    <who name="Thomas Denney">tdenney</who>
    <bug_when>2018-09-19 09:49:53 -0700</bug_when>
    <thetext>Created attachment 350126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461092</commentid>
    <comment_count>10</comment_count>
      <attachid>350126</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-19 13:08:59 -0700</bug_when>
    <thetext>Comment on attachment 350126
Patch

Clearing flags on attachment: 350126

Committed r236217: &lt;https://trac.webkit.org/changeset/236217&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461093</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-19 13:09:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461094</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-19 13:09:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/44613690&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349399</attachid>
            <date>2018-09-11 09:30:09 -0700</date>
            <delta_ts>2018-09-11 13:06:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189502-20180911093008.patch</filename>
            <type>text/plain</type>
            <size>5252</size>
            <attacher name="Thomas Denney">tdenney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODk0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTYwYWJlZTQxODlmMTQ0MmFmYzUyYzU5ODA5OTMwNWEy
MDE3NWVkMS4uZjk4MGZjZDkyZmZlZjA3MDZiMjNlN2JiZWZjZTIxMDUxNWYwMWI3ZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSArMSwxOSBA
QAorMjAxOC0wOS0xMSAgVGhvbWFzIERlbm5leSAgPHRkZW5uZXlAYXBwbGUuY29tPgorCisgICAg
ICAgIFtXSExTTF0gSW1wcm92ZSB0ZXN0IHN1aXRlIHR5cGUgc2FmZXR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk1MDIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFYWNoIG9mIHRoZSAnbWFrZVQnIGZ1
bmN0aW9ucyBub3cgY2FsbCB0aGUgcmVsZXZhbnQgY2FzdCBmdW5jdGlvbiBvbiB0aGUKKyAgICAg
ICAgdmFsdWUgYmVmb3JlIGhhbmQuIFRoZSBjaGVja051bWJlciBmdW5jdGlvbiBoYXMgYWxzbyBi
ZWVuIHJlbW92ZWQgYW5kCisgICAgICAgIGl0cyB1c2VzIGhhdmUgYmVlbiByZXBsYWNlZCB3aXRo
IGZ1bmN0aW9ucyB0aGF0IGFsc28gY2hlY2sgdGhlIHR5cGUuCisgICAgICAgIEZpbmFsbHksIHNv
bWUgb2YgdGhlIGFyaXRobWV0aWMgY2hlY2tzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIHJlZmxlY3Qg
dGhhdAorICAgICAgICB0aGUgY2FzdHMgaGFwcGVuIG91dHNpZGUgb2YgV0hMU0wgZXZhbHVhdGlv
bi4KKworICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0Nhc3RzLmpzOgorICAgICAg
ICAoY2FzdFRvQm9vbCk6IEFkZGVkLgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJ
L1Rlc3QuanM6IFVwZGF0ZWQgbWFrZVQgZnVuY3Rpb25zLCB0ZXN0cyB0aGF0CisgICAgICAgIHVz
ZWQgY2hlY2tOdW1iZXIsIGFuZCB0aGUgdWNoYXIgYXJpdGhtZXRpYyB0ZXN0cyB0byByZWZsZWN0
IHRoZSBjYXN0aW5nLgorCiA9PSBSb2xsZWQgb3ZlciB0byBDaGFuZ2VMb2ctMjAxOC0wOS0xMSA9
PQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQ2FzdHMuanMgYi9U
b29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DYXN0cy5qcwppbmRleCBhY2JiMmVhMDI4NTM1
YjQ2NzA0MjMwOTdmN2E1YjU3Y2FmNmI4YjFjLi5mYzM3ODkzYzAwZmUwMTQ3ZTNkYTNhNTBjMzE4
NjcyODg1Nzc3ODgxIDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9D
YXN0cy5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DYXN0cy5qcwpAQCAt
MzksNiArMzksMTEgQEAgZnVuY3Rpb24gYml0d2lzZUNhc3QodHlwZWRBcnJheUNvbnN0cnVjdG9y
MSwgdHlwZWRBcnJheUNvbnN0cnVjdG9yMiwgdmFsdWUpCiAgICAgcmV0dXJuIHR5cGVkQXJyYXky
WzBdOwogfQogCitmdW5jdGlvbiBjYXN0VG9Cb29sKHZhbHVlKQoreworICAgIHJldHVybiAhIXZh
bHVlOworfQorCiBmdW5jdGlvbiBjYXN0VG9VY2hhcihudW1iZXIpCiB7CiAgICAgcmV0dXJuIG51
bWJlciAmIDB4RkY7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9U
ZXN0LmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5qcwppbmRleCAyYmNl
YTdkN2RhM2NiMzgyZjFhYWJlMjE2N2VmM2E3ODkxMzkyMzMzLi44MmZiZWQ3ZGI0ZjRmNWNjNWEx
Y2Y0YmNkMDA0MWUzOTliNmQ5MWQ0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFu
Z3VhZ2VSSS9UZXN0LmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3Qu
anMKQEAgLTU1LDMyICs1NSwzMiBAQCBmdW5jdGlvbiBkb0xleChjb2RlKQogCiBmdW5jdGlvbiBt
YWtlSW50KHByb2dyYW0sIHZhbHVlKQogewotICAgIHJldHVybiBUeXBlZFZhbHVlLmJveChwcm9n
cmFtLmludHJpbnNpY3MuaW50LCB2YWx1ZSk7CisgICAgcmV0dXJuIFR5cGVkVmFsdWUuYm94KHBy
b2dyYW0uaW50cmluc2ljcy5pbnQsIGNhc3RUb0ludCh2YWx1ZSkpOwogfQogCiBmdW5jdGlvbiBt
YWtlVWludChwcm9ncmFtLCB2YWx1ZSkKIHsKLSAgICByZXR1cm4gVHlwZWRWYWx1ZS5ib3gocHJv
Z3JhbS5pbnRyaW5zaWNzLnVpbnQsIHZhbHVlKTsKKyAgICByZXR1cm4gVHlwZWRWYWx1ZS5ib3go
cHJvZ3JhbS5pbnRyaW5zaWNzLnVpbnQsIGNhc3RUb1VpbnQodmFsdWUpKTsKIH0KIAogZnVuY3Rp
b24gbWFrZVVjaGFyKHByb2dyYW0sIHZhbHVlKQogewotICAgIHJldHVybiBUeXBlZFZhbHVlLmJv
eChwcm9ncmFtLmludHJpbnNpY3MudWNoYXIsIHZhbHVlKTsKKyAgICByZXR1cm4gVHlwZWRWYWx1
ZS5ib3gocHJvZ3JhbS5pbnRyaW5zaWNzLnVjaGFyLCBjYXN0VG9VY2hhcih2YWx1ZSkpOwogfQog
CiBmdW5jdGlvbiBtYWtlQm9vbChwcm9ncmFtLCB2YWx1ZSkKIHsKLSAgICByZXR1cm4gVHlwZWRW
YWx1ZS5ib3gocHJvZ3JhbS5pbnRyaW5zaWNzLmJvb2wsIHZhbHVlKTsKKyAgICByZXR1cm4gVHlw
ZWRWYWx1ZS5ib3gocHJvZ3JhbS5pbnRyaW5zaWNzLmJvb2wsIGNhc3RUb0Jvb2wodmFsdWUpKTsK
IH0KIAogZnVuY3Rpb24gbWFrZUZsb2F0KHByb2dyYW0sIHZhbHVlKQogewotICAgIHJldHVybiBU
eXBlZFZhbHVlLmJveChwcm9ncmFtLmludHJpbnNpY3MuZmxvYXQsIHZhbHVlKTsKKyAgICByZXR1
cm4gVHlwZWRWYWx1ZS5ib3gocHJvZ3JhbS5pbnRyaW5zaWNzLmZsb2F0LCBjYXN0VG9GbG9hdCh2
YWx1ZSkpOwogfQogCiBmdW5jdGlvbiBtYWtlSGFsZihwcm9ncmFtLCB2YWx1ZSkKIHsKLSAgICBy
ZXR1cm4gVHlwZWRWYWx1ZS5ib3gocHJvZ3JhbS5pbnRyaW5zaWNzLmhhbGYsIHZhbHVlKTsKKyAg
ICByZXR1cm4gVHlwZWRWYWx1ZS5ib3gocHJvZ3JhbS5pbnRyaW5zaWNzLmhhbGYsIGNhc3RUb0hh
bGYodmFsdWUpKTsKIH0KIAogZnVuY3Rpb24gbWFrZUVudW0ocHJvZ3JhbSwgZW51bU5hbWUsIHZh
bHVlKQpAQCAtMjIxLDE5ICsyMjEsMTIgQEAgZnVuY3Rpb24gbWFrZVJXMkREZXB0aFRleHR1cmVB
cnJheShwcm9ncmFtLCBhcnJheSwgZWxlbWVudFR5cGUpCiAgICAgcmV0dXJuIFR5cGVkVmFsdWUu
Ym94KHByb2dyYW0uaW50cmluc2ljc1tgUldUZXh0dXJlRGVwdGgyREFycmF5PCR7ZWxlbWVudFR5
cGV9PmBdLCBuZXcgVGV4dHVyZURlcHRoMkRBcnJheVJXKGVsZW1lbnRUeXBlLCBhcnJheSkpOwog
fQogCi1mdW5jdGlvbiBjaGVja051bWJlcihwcm9ncmFtLCByZXN1bHQsIGV4cGVjdGVkKQotewot
ICAgIGlmICghcmVzdWx0LnR5cGUudW5pZnlOb2RlLmlzTnVtYmVyKQotICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIldyb25nIHJlc3VsdCB0eXBlOyByZXN1bHQ6ICIgKyByZXN1bHQpOwotICAgIGlm
IChyZXN1bHQudmFsdWUgIT0gZXhwZWN0ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcigiV3Jv
bmcgcmVzdWx0OiAiICsgcmVzdWx0LnZhbHVlICsgIiAoZXhwZWN0ZWQgIiArIGV4cGVjdGVkICsg
IikiKTsKLX0KLQogZnVuY3Rpb24gY2hlY2tJbnQocHJvZ3JhbSwgcmVzdWx0LCBleHBlY3RlZCkK
IHsKICAgICBpZiAoIXJlc3VsdC50eXBlLmVxdWFscyhwcm9ncmFtLmludHJpbnNpY3MuaW50KSkK
ICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJXcm9uZyByZXN1bHQgdHlwZTsgcmVzdWx0OiAiICsg
cmVzdWx0KTsKLSAgICBjaGVja051bWJlcihwcm9ncmFtLCByZXN1bHQsIGV4cGVjdGVkKTsKKyAg
ICBpZiAocmVzdWx0LnZhbHVlICE9IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
YFdyb25nIHJlc3VsdDogJHtyZXN1bHQudmFsdWV9IChleHBlY3RlZCAke2V4cGVjdGVkfSlgKTsK
IH0KIAogZnVuY3Rpb24gY2hlY2tFbnVtKHByb2dyYW0sIHJlc3VsdCwgZXhwZWN0ZWQpCkBAIC0x
MDM5LDEzICsxMDMyLDEzIEBAIHRlc3RzLnBhc3NOdWxsVG9QdHJNb25vbW9ycGhpY0FycmF5UmVm
ID0gZnVuY3Rpb24oKQogdGVzdHMucmV0dXJuSW50TGl0ZXJhbFVpbnQgPSBmdW5jdGlvbigpCiB7
CiAgICAgbGV0IHByb2dyYW0gPSBkb1ByZXAoInRlc3QgdWludCBmb28oKSB7IHJldHVybiA0Mjsg
fSIpOwotICAgIGNoZWNrTnVtYmVyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW10pLCA0Mik7CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW10pLCA0Mik7CiB9CiAKIHRlc3RzLnJldHVybkludExpdGVyYWxGbG9hdCA9IGZ1
bmN0aW9uKCkKIHsKICAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcCgidGVzdCBmbG9hdCBmb28oKSB7
IHJldHVybiA0MjsgfSIpOwotICAgIGNoZWNrTnVtYmVyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW10pLCA0Mik7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdKSwgNDIpOwogfQogCiB0ZXN0cy5iYWRJbnRMaXRlcmFs
Rm9ySW50ID0gZnVuY3Rpb24oKQpAQCAtMjcwNSw4ICsyNjk4LDggQEAgdGVzdHMudWNoYXJSU2hp
ZnQgPSBmdW5jdGlvbigpCiAgICAgICAgIH0KICAgICBgKTsKICAgICBjaGVja1VjaGFyKHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAxKSwg
bWFrZVVpbnQocHJvZ3JhbSwgNyldKSwgMCk7Ci0gICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgNjU1MzUpLCBtYWtl
VWludChwcm9ncmFtLCAyKV0pLCAyNTUpOwotICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIC0xKSwgbWFrZVVpbnQo
cHJvZ3JhbSwgNSldKSwgMjU1KTsKKyAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCA2NTUzNSksIG1ha2VVaW50KHBy
b2dyYW0sIDIpXSksIDYzKTsKKyAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAtMSksIG1ha2VVaW50KHByb2dyYW0s
IDUpXSksIDcpOwogICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIDApLCBtYWtlVWludChwcm9ncmFtLCAzKV0pLCAw
KTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349429</attachid>
            <date>2018-09-11 13:06:18 -0700</date>
            <delta_ts>2018-09-11 14:30:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189502-20180911130616.patch</filename>
            <type>text/plain</type>
            <size>61350</size>
            <attacher name="Thomas Denney">tdenney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODk0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTYwYWJlZTQxODlmMTQ0MmFmYzUyYzU5ODA5OTMwNWEy
MDE3NWVkMS4uMzBlMzc3ZGEyNjE3OGM1MjBlOGE2MTg0ZGI4YmJiNGJjZjhkNTQ3YSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSArMSwzMCBA
QAorMjAxOC0wOS0xMSAgVGhvbWFzIERlbm5leSAgPHRkZW5uZXlAYXBwbGUuY29tPgorCisgICAg
ICAgIFtXSExTTF0gSW1wcm92ZSB0ZXN0IHN1aXRlIHR5cGUgc2FmZXR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk1MDIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFYWNoIG9mIHRoZSAnbWFrZVQnIGZ1
bmN0aW9ucyBub3cgY2FsbCB0aGUgcmVsZXZhbnQgY2FzdCBmdW5jdGlvbiBvbiB0aGUKKyAgICAg
ICAgdmFsdWUgYmVmb3JlIGhhbmQuIFRoZSBjaGVja051bWJlciBmdW5jdGlvbiBoYXMgYWxzbyBi
ZWVuIHJlbW92ZWQgYW5kCisgICAgICAgIGl0cyB1c2VzIGhhdmUgYmVlbiByZXBsYWNlZCB3aXRo
IGZ1bmN0aW9ucyB0aGF0IGFsc28gY2hlY2sgdGhlIHR5cGUuCisgICAgICAgIFNvbWUgb2YgdGhl
IGFyaXRobWV0aWMgY2hlY2tzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIHJlZmxlY3QgdGhhdCB0aGUK
KyAgICAgICAgY2FzdHMgaGFwcGVuIG91dHNpZGUgb2YgV0hMU0wgZXZhbHVhdGlvbi4gT3RoZXIg
dGVzdHMgaGF2ZSBhbHNvIGJlZW4KKyAgICAgICAgdXBkYXRlZCB0byByZWZsZWN0IHRoYXQgc29t
ZSB2YWx1ZXMgY2Fubm90IGJlIHByZWNpc2VseSBleHByZXNzZWQgaW4KKyAgICAgICAgMzItYml0
IGZsb2F0aW5nIHBvaW50LgorCisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQWxs
LmpzOiBVcGRhdGUgZGVwZW5kZW5jaWVzLgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFn
ZVJJL0Nhc3RzLmpzOgorICAgICAgICAoY2FzdFRvQm9vbCk6IEFkZGVkLgorICAgICAgICAoY2Fz
dEFuZENoZWNrVmFsdWUpOiBBZGRlZC4KKyAgICAgICAgKiBXZWJHUFVTaGFkaW5nTGFuZ3VhZ2VS
SS9JbnRyaW5zaWNzLmpzOgorICAgICAgICAoSW50cmluc2ljcy5pc0JpdHdpc2VFcXVpdmFsZW50
KTogTW92ZWQgdG8gc2VwYXJhdGUgZmlsZS4KKyAgICAgICAgKiBXZWJHUFVTaGFkaW5nTGFuZ3Vh
Z2VSSS9Jc0JpdHdpc2VFcXVpdmFsZW50LmpzOiBEaXR0by4KKyAgICAgICAgKiBXZWJHUFVTaGFk
aW5nTGFuZ3VhZ2VSSS9TUElSVi5odG1sOiBVcGRhdGUgZGVwZGVuY2llcy4KKyAgICAgICAgKiBX
ZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXN0Lmh0bWw6IERpdHRvLgorICAgICAgICAqIFdlYkdQ
VVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuanM6IFVwZGF0ZSBtYWtlVCBmdW5jdGlvbnMgdG8gZG8g
YSBjYXN0CisgICAgICAgIGFuZCBjaGVjayB0aGUgcmVzdWx0LiBTb21lIHRlc3RzIHdlcmUgYWxz
byB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGNoYW5nZQorICAgICAgICBpbiB0aGUgYmVoYXZpb3Ig
b2YgdGhlc2UgZnVuY3Rpb25zLgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL2lu
ZGV4Lmh0bWw6IFVwZGF0ZSBkZXBlbmRlbmNpZXMuCisKID09IFJvbGxlZCBvdmVyIHRvIENoYW5n
ZUxvZy0yMDE4LTA5LTExID09CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3Vh
Z2VSSS9BbGwuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9BbGwuanMKaW5kZXgg
M2MyYzQ4NzQyMDAxMTE1YTE3MTM0ODNhMWYyM2NlMjg2NjhiYjljNi4uOWJlMjUxZDM0NDUzNjI0
NjdhMmFkY2YxM2E3OGE3OGQ4NjMzOTM2MCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvQWxsLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0Fs
bC5qcwpAQCAtMTAyLDYgKzEwMiw3IEBAIGxvYWQoIklubGluZXIuanMiKTsKIGxvYWQoIkludExp
dGVyYWwuanMiKTsKIGxvYWQoIkludExpdGVyYWxUeXBlLmpzIik7CiBsb2FkKCJJbnRyaW5zaWNz
LmpzIik7Citsb2FkKCJJc0JpdHdpc2VFcXVpdmFsZW50LmpzIik7CiBsb2FkKCJMYXRlQ2hlY2tB
bmRMYXlvdXRCdWZmZXJzLmpzIik7CiBsb2FkKCJMYXRlQ2hlY2tlci5qcyIpOwogbG9hZCgiTGV4
ZXIuanMiKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0Nhc3Rz
LmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQ2FzdHMuanMKaW5kZXggYWNiYjJl
YTAyODUzNWI0NjcwNDIzMDk3ZjdhNWI1N2NhZjZiOGIxYy4uYmNmNzk0OGZiZGUyMWJmZTI5YTAx
YzJmMDc1YjU3NWQ3NWQ4NjZhOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1
YWdlUkkvQ2FzdHMuanMKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQ2FzdHMu
anMKQEAgLTM5LDYgKzM5LDExIEBAIGZ1bmN0aW9uIGJpdHdpc2VDYXN0KHR5cGVkQXJyYXlDb25z
dHJ1Y3RvcjEsIHR5cGVkQXJyYXlDb25zdHJ1Y3RvcjIsIHZhbHVlKQogICAgIHJldHVybiB0eXBl
ZEFycmF5MlswXTsKIH0KIAorZnVuY3Rpb24gY2FzdFRvQm9vbCh2YWx1ZSkKK3sKKyAgICByZXR1
cm4gISF2YWx1ZTsKK30KKwogZnVuY3Rpb24gY2FzdFRvVWNoYXIobnVtYmVyKQogewogICAgIHJl
dHVybiBudW1iZXIgJiAweEZGOwpAQCAtMTEzLDMgKzExOCwxMSBAQCBmdW5jdGlvbiBjYXN0VG9G
bG9hdChudW1iZXIpCiB7CiAgICAgcmV0dXJuIE1hdGguZnJvdW5kKG51bWJlcik7CiB9CisKK2Z1
bmN0aW9uIGNhc3RBbmRDaGVja1ZhbHVlKGNhc3RGdW5jdGlvbiwgdmFsdWUpCit7CisgICAgY29u
c3QgY2FzdGVkVmFsdWUgPSBjYXN0RnVuY3Rpb24odmFsdWUpOworICAgIGlmICghaXNCaXR3aXNl
RXF1aXZhbGVudChjYXN0ZWRWYWx1ZSwgdmFsdWUpKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
YCR7dmFsdWV9IHdhcyBjYXN0ZWQgdG8gJHtjYXN0ZWRWYWx1ZX1gKTsKKyAgICByZXR1cm4gY2Fz
dGVkVmFsdWU7Cit9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9J
bnRyaW5zaWNzLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvSW50cmluc2ljcy5q
cwppbmRleCAxYjBhMTJhZjQwMDJhOTBiZTYzNWU3MzhmMWQ1ZTdkOTBkY2IwNGQzLi42OGIwZGQ1
NzNmYzAyZWEzODUxNzk1NWQ4Mzg4YTY0NmFhOTBhNTk2IDEwMDY0NAotLS0gYS9Ub29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9JbnRyaW5zaWNzLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL0ludHJpbnNpY3MuanMKQEAgLTM0LDIwICszNCw2IEBAIGNsYXNzIEludHJp
bnNpY3MgewogICAgICAgICAvLyBGb3IgZXhhbXBsZSwgaWYgYSBuYXRpdmUgZnVuY3Rpb24gaXMg
ZGVjbGFyZWQgdXNpbmcgImludCIgcmF0aGVyIHRoYW4gImludCIsIHRoZW4gd2UgbXVzdAogICAg
ICAgICAvLyB1c2UgImludCIgaGVyZSwgc2luY2Ugd2UgZG9uJ3QgeWV0IGtub3cgdGhhdCB0aGV5
IGFyZSB0aGUgc2FtZSB0eXBlLgogCi0gICAgICAgIGZ1bmN0aW9uIGlzQml0d2lzZUVxdWl2YWxl
bnQobGVmdCwgcmlnaHQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGxldCBkb3VibGVBcnJheSA9
IG5ldyBGbG9hdDY0QXJyYXkoMSk7Ci0gICAgICAgICAgICBsZXQgaW50QXJyYXkgPSBuZXcgSW50
MzJBcnJheShkb3VibGVBcnJheS5idWZmZXIpOwotICAgICAgICAgICAgZG91YmxlQXJyYXlbMF0g
PSBsZWZ0OwotICAgICAgICAgICAgbGV0IGxlZnRJbnRzID0gSW50MzJBcnJheS5mcm9tKGludEFy
cmF5KTsKLSAgICAgICAgICAgIGRvdWJsZUFycmF5WzBdID0gcmlnaHQ7Ci0gICAgICAgICAgICBm
b3IgKGxldCBpID0gMDsgaSA8IDI7ICsraSkgewotICAgICAgICAgICAgICAgIGlmIChsZWZ0SW50
c1tpXSAhPSBpbnRBcnJheVtpXSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0KLQogICAg
ICAgICB0aGlzLl9tYXAuc2V0KAogICAgICAgICAgICAgIm5hdGl2ZSB0eXBlZGVmIHZvaWQiLAog
ICAgICAgICAgICAgdHlwZSA9PiB7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFu
Z3VhZ2VSSS9Jc0JpdHdpc2VFcXVpdmFsZW50LmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1
YWdlUkkvSXNCaXR3aXNlRXF1aXZhbGVudC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMjc3M2ZkNDJmOGFhYTVi
MTI2OTQ0MzQ4MzZlYjkwODcxZTAzZDdmCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvV2ViR1BV
U2hhZGluZ0xhbmd1YWdlUkkvSXNCaXR3aXNlRXF1aXZhbGVudC5qcwpAQCAtMCwwICsxLDM5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKyJ1c2Ugc3RyaWN0
IjsKKworZnVuY3Rpb24gaXNCaXR3aXNlRXF1aXZhbGVudChsZWZ0LCByaWdodCkKK3sKKyAgICBs
ZXQgZG91YmxlQXJyYXkgPSBuZXcgRmxvYXQ2NEFycmF5KDEpOworICAgIGxldCBpbnRBcnJheSA9
IG5ldyBJbnQzMkFycmF5KGRvdWJsZUFycmF5LmJ1ZmZlcik7CisgICAgZG91YmxlQXJyYXlbMF0g
PSBsZWZ0OworICAgIGxldCBsZWZ0SW50cyA9IEludDMyQXJyYXkuZnJvbShpbnRBcnJheSk7Cisg
ICAgZG91YmxlQXJyYXlbMF0gPSByaWdodDsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDI7ICsr
aSkgeworICAgICAgICBpZiAobGVmdEludHNbaV0gIT0gaW50QXJyYXlbaV0pCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJ
L1NQSVJWLmh0bWwgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TUElSVi5odG1sCmlu
ZGV4IDBkMjM3MTAwNWU3MTBjZGM2MGYwMzNkYTVhNTExYzQ5YWUwMDVjMzYuLjU3NmRlYzZmOGY5
YmQ0MjAxMGMyYTM5NmYzNDQ5NzBkNDRlYTMxMmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNo
YWRpbmdMYW5ndWFnZVJJL1NQSVJWLmh0bWwKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1
YWdlUkkvU1BJUlYuaHRtbApAQCAtODUsNiArODUsNyBAQCB0ZCB7CiAgICAgPHNjcmlwdCBzcmM9
IkludExpdGVyYWwuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJJbnRMaXRlcmFsVHlw
ZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkludHJpbnNpY3MuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSJJc0JpdHdpc2VFcXVpdmFsZW50LmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iTGF0ZUNoZWNrQW5kTGF5b3V0QnVmZmVycy5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9IkxhdGVDaGVja2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iTGV4ZXIuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xh
bmd1YWdlUkkvVGVzdC5odG1sIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5o
dG1sCmluZGV4IGMxMmU1ZDk5ZGM3NGE2ZjE5MDFjOTVkZjkxZDM0YTA1YWU4NTVlMWMuLmYzZDY0
YjMxNzBkODczYWZlNDUzOGE4YTZhOTRhYWQ5MGQzYmFjN2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuaHRtbAorKysgYi9Ub29scy9XZWJHUFVTaGFkaW5n
TGFuZ3VhZ2VSSS9UZXN0Lmh0bWwKQEAgLTc5LDYgKzc5LDcgQEAKIDxzY3JpcHQgc3JjPSJJbnRM
aXRlcmFsLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJJbnRMaXRlcmFsVHlwZS5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iSW50cmluc2ljcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iSXNCaXR3aXNlRXF1aXZhbGVudC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iTGF0ZUNo
ZWNrZXIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkxhdGVDaGVja0FuZExheW91dEJ1ZmZl
cnMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkxleGVyLmpzIj48L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuanMgYi9Ub29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXN0LmpzCmluZGV4IDJiY2VhN2Q3ZGEzY2IzODJmMWFhYmUy
MTY3ZWYzYTc4OTEzOTIzMzMuLjMwMmQ2ZDlhNDM5ODM2MTM0ZDQ3NWQwOTc4NTAxYjA3NmRlMjBj
NGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuanMKKysr
IGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5qcwpAQCAtNTUsMzIgKzU1LDM3
IEBAIGZ1bmN0aW9uIGRvTGV4KGNvZGUpCiAKIGZ1bmN0aW9uIG1ha2VJbnQocHJvZ3JhbSwgdmFs
dWUpCiB7Ci0gICAgcmV0dXJuIFR5cGVkVmFsdWUuYm94KHByb2dyYW0uaW50cmluc2ljcy5pbnQs
IHZhbHVlKTsKKyAgICByZXR1cm4gVHlwZWRWYWx1ZS5ib3gocHJvZ3JhbS5pbnRyaW5zaWNzLmlu
dCwgY2FzdEFuZENoZWNrVmFsdWUoY2FzdFRvSW50LCB2YWx1ZSkpOwogfQogCiBmdW5jdGlvbiBt
YWtlVWludChwcm9ncmFtLCB2YWx1ZSkKIHsKLSAgICByZXR1cm4gVHlwZWRWYWx1ZS5ib3gocHJv
Z3JhbS5pbnRyaW5zaWNzLnVpbnQsIHZhbHVlKTsKKyAgICByZXR1cm4gVHlwZWRWYWx1ZS5ib3go
cHJvZ3JhbS5pbnRyaW5zaWNzLnVpbnQsIGNhc3RBbmRDaGVja1ZhbHVlKGNhc3RUb1VpbnQsIHZh
bHVlKSk7CiB9CiAKIGZ1bmN0aW9uIG1ha2VVY2hhcihwcm9ncmFtLCB2YWx1ZSkKIHsKLSAgICBy
ZXR1cm4gVHlwZWRWYWx1ZS5ib3gocHJvZ3JhbS5pbnRyaW5zaWNzLnVjaGFyLCB2YWx1ZSk7Cisg
ICAgcmV0dXJuIFR5cGVkVmFsdWUuYm94KHByb2dyYW0uaW50cmluc2ljcy51Y2hhciwgY2FzdEFu
ZENoZWNrVmFsdWUoY2FzdFRvVWNoYXIsIHZhbHVlKSk7CiB9CiAKIGZ1bmN0aW9uIG1ha2VCb29s
KHByb2dyYW0sIHZhbHVlKQogewotICAgIHJldHVybiBUeXBlZFZhbHVlLmJveChwcm9ncmFtLmlu
dHJpbnNpY3MuYm9vbCwgdmFsdWUpOworICAgIHJldHVybiBUeXBlZFZhbHVlLmJveChwcm9ncmFt
LmludHJpbnNpY3MuYm9vbCwgY2FzdEFuZENoZWNrVmFsdWUoY2FzdFRvQm9vbCwgdmFsdWUpKTsK
IH0KIAogZnVuY3Rpb24gbWFrZUZsb2F0KHByb2dyYW0sIHZhbHVlKQogewotICAgIHJldHVybiBU
eXBlZFZhbHVlLmJveChwcm9ncmFtLmludHJpbnNpY3MuZmxvYXQsIHZhbHVlKTsKKyAgICByZXR1
cm4gVHlwZWRWYWx1ZS5ib3gocHJvZ3JhbS5pbnRyaW5zaWNzLmZsb2F0LCBjYXN0QW5kQ2hlY2tW
YWx1ZShjYXN0VG9GbG9hdCwgdmFsdWUpKTsKK30KKworZnVuY3Rpb24gbWFrZUNhc3RlZEZsb2F0
KHByb2dyYW0sIHZhbHVlKQoreworICAgIHJldHVybiBUeXBlZFZhbHVlLmJveChwcm9ncmFtLmlu
dHJpbnNpY3MuZmxvYXQsIGNhc3RUb0Zsb2F0KHZhbHVlKSk7CiB9CiAKIGZ1bmN0aW9uIG1ha2VI
YWxmKHByb2dyYW0sIHZhbHVlKQogewotICAgIHJldHVybiBUeXBlZFZhbHVlLmJveChwcm9ncmFt
LmludHJpbnNpY3MuaGFsZiwgdmFsdWUpOworICAgIHJldHVybiBUeXBlZFZhbHVlLmJveChwcm9n
cmFtLmludHJpbnNpY3MuaGFsZiwgY2FzdEFuZENoZWNrVmFsdWUoY2FzdFRvSGFsZiwgdmFsdWUp
KTsKIH0KIAogZnVuY3Rpb24gbWFrZUVudW0ocHJvZ3JhbSwgZW51bU5hbWUsIHZhbHVlKQpAQCAt
MjIxLDE5ICsyMjYsMTIgQEAgZnVuY3Rpb24gbWFrZVJXMkREZXB0aFRleHR1cmVBcnJheShwcm9n
cmFtLCBhcnJheSwgZWxlbWVudFR5cGUpCiAgICAgcmV0dXJuIFR5cGVkVmFsdWUuYm94KHByb2dy
YW0uaW50cmluc2ljc1tgUldUZXh0dXJlRGVwdGgyREFycmF5PCR7ZWxlbWVudFR5cGV9PmBdLCBu
ZXcgVGV4dHVyZURlcHRoMkRBcnJheVJXKGVsZW1lbnRUeXBlLCBhcnJheSkpOwogfQogCi1mdW5j
dGlvbiBjaGVja051bWJlcihwcm9ncmFtLCByZXN1bHQsIGV4cGVjdGVkKQotewotICAgIGlmICgh
cmVzdWx0LnR5cGUudW5pZnlOb2RlLmlzTnVtYmVyKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
Ildyb25nIHJlc3VsdCB0eXBlOyByZXN1bHQ6ICIgKyByZXN1bHQpOwotICAgIGlmIChyZXN1bHQu
dmFsdWUgIT0gZXhwZWN0ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcigiV3JvbmcgcmVzdWx0
OiAiICsgcmVzdWx0LnZhbHVlICsgIiAoZXhwZWN0ZWQgIiArIGV4cGVjdGVkICsgIikiKTsKLX0K
LQogZnVuY3Rpb24gY2hlY2tJbnQocHJvZ3JhbSwgcmVzdWx0LCBleHBlY3RlZCkKIHsKICAgICBp
ZiAoIXJlc3VsdC50eXBlLmVxdWFscyhwcm9ncmFtLmludHJpbnNpY3MuaW50KSkKICAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJXcm9uZyByZXN1bHQgdHlwZTsgcmVzdWx0OiAiICsgcmVzdWx0KTsK
LSAgICBjaGVja051bWJlcihwcm9ncmFtLCByZXN1bHQsIGV4cGVjdGVkKTsKKyAgICBpZiAocmVz
dWx0LnZhbHVlICE9IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFdyb25nIHJl
c3VsdDogJHtyZXN1bHQudmFsdWV9IChleHBlY3RlZCAke2V4cGVjdGVkfSlgKTsKIH0KIAogZnVu
Y3Rpb24gY2hlY2tFbnVtKHByb2dyYW0sIHJlc3VsdCwgZXhwZWN0ZWQpCkBAIC0xMDM5LDEzICsx
MDM3LDEzIEBAIHRlc3RzLnBhc3NOdWxsVG9QdHJNb25vbW9ycGhpY0FycmF5UmVmID0gZnVuY3Rp
b24oKQogdGVzdHMucmV0dXJuSW50TGl0ZXJhbFVpbnQgPSBmdW5jdGlvbigpCiB7CiAgICAgbGV0
IHByb2dyYW0gPSBkb1ByZXAoInRlc3QgdWludCBmb28oKSB7IHJldHVybiA0MjsgfSIpOwotICAg
IGNoZWNrTnVtYmVyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10pLCA0
Mik7CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W10pLCA0Mik7CiB9CiAKIHRlc3RzLnJldHVybkludExpdGVyYWxGbG9hdCA9IGZ1bmN0aW9uKCkK
IHsKICAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcCgidGVzdCBmbG9hdCBmb28oKSB7IHJldHVybiA0
MjsgfSIpOwotICAgIGNoZWNrTnVtYmVyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vIiwgW10pLCA0Mik7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbyIsIFtdKSwgNDIpOwogfQogCiB0ZXN0cy5iYWRJbnRMaXRlcmFsRm9ySW50ID0g
ZnVuY3Rpb24oKQpAQCAtMjU1Miw3ICsyNTUwLDYgQEAgdGVzdHMudWludEJpdEFuZCA9IGZ1bmN0
aW9uKCkKICAgICBgKTsKICAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgMSksIG1ha2VVaW50KHByb2dyYW0sIDcpXSks
IDEpOwogICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFttYWtlVWludChwcm9ncmFtLCA2NTUzNSksIG1ha2VVaW50KHByb2dyYW0sIDQyKV0pLCA0Mik7
Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21h
a2VVaW50KHByb2dyYW0sIC0xKSwgbWFrZVVpbnQocHJvZ3JhbSwgLTcpXSksIDQyOTQ5NjcyODkp
OwogICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtt
YWtlVWludChwcm9ncmFtLCAwKSwgbWFrZVVpbnQocHJvZ3JhbSwgODU3MzIpXSksIDApOwogfQog
CkBAIC0yNTY2LDcgKzI1NjMsNiBAQCB0ZXN0cy51aW50Qml0T3IgPSBmdW5jdGlvbigpCiAgICAg
YCk7CiAgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W21ha2VVaW50KHByb2dyYW0sIDEpLCBtYWtlVWludChwcm9ncmFtLCA3KV0pLCA3KTsKICAgICBj
aGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQo
cHJvZ3JhbSwgNjU1MzUpLCBtYWtlVWludChwcm9ncmFtLCA0MildKSwgNjU1MzUpOwotICAgIGNo
ZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChw
cm9ncmFtLCAtMSksIG1ha2VVaW50KHByb2dyYW0sIC03KV0pLCA0Mjk0OTY3Mjk1KTsKICAgICBj
aGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQo
cHJvZ3JhbSwgMCksIG1ha2VVaW50KHByb2dyYW0sIDg1NzMyKV0pLCA4NTczMik7CiB9CiAKQEAg
LTI1ODAsNyArMjU3Niw2IEBAIHRlc3RzLnVpbnRCaXRYb3IgPSBmdW5jdGlvbigpCiAgICAgYCk7
CiAgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21h
a2VVaW50KHByb2dyYW0sIDEpLCBtYWtlVWludChwcm9ncmFtLCA3KV0pLCA2KTsKICAgICBjaGVj
a1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJv
Z3JhbSwgNjU1MzUpLCBtYWtlVWludChwcm9ncmFtLCA0MildKSwgNjU0OTMpOwotICAgIGNoZWNr
VWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9n
cmFtLCAtMSksIG1ha2VVaW50KHByb2dyYW0sIC03KV0pLCA2KTsKICAgICBjaGVja1VpbnQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgMCks
IG1ha2VVaW50KHByb2dyYW0sIDg1NzMyKV0pLCA4NTczMik7CiB9CiAKQEAgLTI1OTQsNyArMjU4
OSw2IEBAIHRlc3RzLnVpbnRCaXROb3QgPSBmdW5jdGlvbigpCiAgICAgYCk7CiAgICAgY2hlY2tV
aW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dy
YW0sIDEpXSksIDQyOTQ5NjcyOTQpOwogICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFtLCA2NTUzNSldKSwgNDI5NDkwMTc2
MCk7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W21ha2VVaW50KHByb2dyYW0sIC0xKV0pLCAwKTsKICAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgMCldKSwgNDI5NDk2
NzI5NSk7CiB9CiAKQEAgLTI2MDgsNyArMjYwMiw2IEBAIHRlc3RzLnVpbnRMU2hpZnQgPSBmdW5j
dGlvbigpCiAgICAgYCk7CiAgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIDEpLCBtYWtlVWludChwcm9ncmFtLCA3KV0p
LCAxMjgpOwogICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFttYWtlVWludChwcm9ncmFtLCA2NTUzNSksIG1ha2VVaW50KHByb2dyYW0sIDIpXSksIDI2
MjE0MCk7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW21ha2VVaW50KHByb2dyYW0sIC0xKSwgbWFrZVVpbnQocHJvZ3JhbSwgNSldKSwgNDI5NDk2
NzI2NCk7CiAgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW21ha2VVaW50KHByb2dyYW0sIDApLCBtYWtlVWludChwcm9ncmFtLCAzKV0pLCAwKTsKIH0K
IApAQCAtMjYyMiw3ICsyNjE1LDYgQEAgdGVzdHMudWludFJTaGlmdCA9IGZ1bmN0aW9uKCkKICAg
ICBgKTsKICAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbbWFrZVVpbnQocHJvZ3JhbSwgMSksIG1ha2VVaW50KHByb2dyYW0sIDcpXSksIDApOwogICAg
IGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWlu
dChwcm9ncmFtLCA2NTUzNSksIG1ha2VVaW50KHByb2dyYW0sIDIpXSksIDE2MzgzKTsKLSAgICBj
aGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQo
cHJvZ3JhbSwgLTEpLCBtYWtlVWludChwcm9ncmFtLCA1KV0pLCAxMzQyMTc3MjcpOwogICAgIGNo
ZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChw
cm9ncmFtLCAwKSwgbWFrZVVpbnQocHJvZ3JhbSwgMyldKSwgMCk7CiB9CiAKQEAgLTI2MzUsOSAr
MjYyNyw4IEBAIHRlc3RzLnVjaGFyQml0QW5kID0gZnVuY3Rpb24oKQogICAgICAgICB9CiAgICAg
YCk7CiAgICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFttYWtlVWNoYXIocHJvZ3JhbSwgMSksIG1ha2VVY2hhcihwcm9ncmFtLCA3KV0pLCAxKTsKLSAg
ICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VV
Y2hhcihwcm9ncmFtLCA2NTUzNSksIG1ha2VVY2hhcihwcm9ncmFtLCA0MildKSwgNDIpOwotICAg
IGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVj
aGFyKHByb2dyYW0sIC0xKSwgbWFrZVVjaGFyKHByb2dyYW0sIC03KV0pLCAyNDkpOwotICAgIGNo
ZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFy
KHByb2dyYW0sIDApLCBtYWtlVWNoYXIocHJvZ3JhbSwgODU3MzIpXSksIDApOworICAgIGNoZWNr
VWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHBy
b2dyYW0sIDI1NSksIG1ha2VVY2hhcihwcm9ncmFtLCA0MildKSwgNDIpOworICAgIGNoZWNrVWNo
YXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dy
YW0sIDApLCBtYWtlVWNoYXIocHJvZ3JhbSwgMjU1KV0pLCAwKTsKIH0KIAogdGVzdHMudWNoYXJC
aXRPciA9IGZ1bmN0aW9uKCkKQEAgLTI2NDksOSArMjY0MCw4IEBAIHRlc3RzLnVjaGFyQml0T3Ig
PSBmdW5jdGlvbigpCiAgICAgICAgIH0KICAgICBgKTsKICAgICBjaGVja1VjaGFyKHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAxKSwgbWFr
ZVVjaGFyKHByb2dyYW0sIDcpXSksIDcpOwotICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIDY1NTM1KSwgbWFrZVVj
aGFyKHByb2dyYW0sIDQyKV0pLCAyNTUpOwotICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIC0xKSwgbWFrZVVjaGFy
KHByb2dyYW0sIC03KV0pLCAyNTUpOwotICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIDApLCBtYWtlVWNoYXIocHJv
Z3JhbSwgODU3MzIpXSksIDIyOCk7CisgICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgMjU1KSwgbWFrZVVjaGFyKHBy
b2dyYW0sIDQyKV0pLCAyNTUpOworICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIDApLCBtYWtlVWNoYXIocHJvZ3Jh
bSwgMjI4KV0pLCAyMjgpOwogfQogCiB0ZXN0cy51Y2hhckJpdFhvciA9IGZ1bmN0aW9uKCkKQEAg
LTI2NjMsOSArMjY1Myw4IEBAIHRlc3RzLnVjaGFyQml0WG9yID0gZnVuY3Rpb24oKQogICAgICAg
ICB9CiAgICAgYCk7CiAgICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgMSksIG1ha2VVY2hhcihwcm9ncmFtLCA3KV0p
LCA2KTsKLSAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW21ha2VVY2hhcihwcm9ncmFtLCA2NTUzNSksIG1ha2VVY2hhcihwcm9ncmFtLCA0MildKSwg
MjEzKTsKLSAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW21ha2VVY2hhcihwcm9ncmFtLCAtMSksIG1ha2VVY2hhcihwcm9ncmFtLCAtNyldKSwgNik7
Ci0gICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtt
YWtlVWNoYXIocHJvZ3JhbSwgMCksIG1ha2VVY2hhcihwcm9ncmFtLCA4NTczMildKSwgMjI4KTsK
KyAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21h
a2VVY2hhcihwcm9ncmFtLCAyNTUpLCBtYWtlVWNoYXIocHJvZ3JhbSwgNDIpXSksIDIxMyk7Cisg
ICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtl
VWNoYXIocHJvZ3JhbSwgMCksIG1ha2VVY2hhcihwcm9ncmFtLCAyNTUpXSksIDI1NSk7CiB9CiAK
IHRlc3RzLnVjaGFyQml0Tm90ID0gZnVuY3Rpb24oKQpAQCAtMjY3Nyw4ICsyNjY2LDcgQEAgdGVz
dHMudWNoYXJCaXROb3QgPSBmdW5jdGlvbigpCiAgICAgICAgIH0KICAgICBgKTsKICAgICBjaGVj
a1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihw
cm9ncmFtLCAxKV0pLCAyNTQpOwotICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIDY1NTM1KV0pLCAwKTsKLSAgICBj
aGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hh
cihwcm9ncmFtLCAtMSldKSwgMCk7CisgICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgMjU1KV0pLCAwKTsKICAgICBj
aGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hh
cihwcm9ncmFtLCAwKV0pLCAyNTUpOwogfQogCkBAIC0yNjkxLDggKzI2NzksNyBAQCB0ZXN0cy51
Y2hhckxTaGlmdCA9IGZ1bmN0aW9uKCkKICAgICAgICAgfQogICAgIGApOwogICAgIGNoZWNrVWNo
YXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dy
YW0sIDEpLCBtYWtlVWludChwcm9ncmFtLCA3KV0pLCAxMjgpOwotICAgIGNoZWNrVWNoYXIocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIDY1
NTM1KSwgbWFrZVVpbnQocHJvZ3JhbSwgMildKSwgMjUyKTsKLSAgICBjaGVja1VjaGFyKHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAtMSks
IG1ha2VVaW50KHByb2dyYW0sIDUpXSksIDIyNCk7CisgICAgY2hlY2tVY2hhcihwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgMjU1KSwgbWFr
ZVVpbnQocHJvZ3JhbSwgMildKSwgMjUyKTsKICAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAwKSwgbWFrZVVpbnQo
cHJvZ3JhbSwgMyldKSwgMCk7CiB9CiAKQEAgLTI3MDUsOCArMjY5Miw4IEBAIHRlc3RzLnVjaGFy
UlNoaWZ0ID0gZnVuY3Rpb24oKQogICAgICAgICB9CiAgICAgYCk7CiAgICAgY2hlY2tVY2hhcihw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwg
MSksIG1ha2VVaW50KHByb2dyYW0sIDcpXSksIDApOwotICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIDY1NTM1KSwg
bWFrZVVpbnQocHJvZ3JhbSwgMildKSwgMjU1KTsKLSAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAtMSksIG1ha2VV
aW50KHByb2dyYW0sIDUpXSksIDI1NSk7CisgICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgMjU1KSwgbWFrZVVpbnQo
cHJvZ3JhbSwgMildKSwgNjMpOworICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIDI1NSksIG1ha2VVaW50KHByb2dy
YW0sIDUpXSksIDcpOwogICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIDApLCBtYWtlVWludChwcm9ncmFtLCAzKV0p
LCAwKTsKIH0KIApAQCAtNzI5MywxNCArNzI4MCwxNCBAQCB0ZXN0cy50ZXh0dXJlU2FtcGxlID0g
ZnVuY3Rpb24oKSB7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbzE0IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjog
ImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
LjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCldKSwgKDEyICsgMTMgKyAyMCAr
IDIxKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28xNCIsIFt0ZXh0dXJlMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJs
aW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0
aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDEy
ICsgMTMgKyAyMCArIDIxKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28xNCIsIFt0ZXh0dXJlMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHtt
aW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDIgLyB0ZXh0dXJlMkQuZVB0ci5sb2Fk
VmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0s
IDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhl
aWdodCldKSwgKDM0ICsgMzUgKyAzOCArIDM5KSAvIDQpOwotICAgIGNoZWNrRmxvYXQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28xNCIsIFt0ZXh0dXJlMkQsIG1ha2VTYW1wbGVy
KHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIs
IDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgu
cG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoMTIg
KyAxMyArIDIwICsgMjEpIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbzE0IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21p
bkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwg
TWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9n
cmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0
KV0pLCAoKCgxMiArIDEzICsgMjAgKyAyMSkgLyA0KSArICgoMzQgKyAzNSArIDM4ICsgMzkpIC8g
NCkpIC8gMik7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbzE0IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxp
bmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUp
LCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQu
ZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0
KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkg
LyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgxMiArIDEzICsgMjAgKyAy
MSkgLyA0KTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vMTQiLCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGlu
ZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBv
dygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dy
YW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQp
XSksICgoKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpICsgKCgzNCArIDM1ICsgMzggKyAzOSkgLyA0
KSkgLyAyKTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vMTUiLCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGlu
ZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSks
IG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUludChwcm9ncmFtLCAwKSwg
bWFrZUludChwcm9ncmFtLCAwKV0pLCAoMTIgKyAxMyArIDIwICsgMjEpIC8gNCk7CiAgICAgY2hl
Y2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzE1IiwgW3RleHR1cmUy
RCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwg
MCldKSwgKDEzICsgMTQgKyAyMSArIDIyKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28xNSIsIFt0ZXh0dXJlMkQsIG1ha2VTYW1wbGVyKHBy
b2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0dXJlMkQu
ZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0
KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5lUHRyLmxvYWRW
YWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCld
KSwgKDEzICsgMTQgKyAyMSArIDIyKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28xNSIsIFt0ZXh0dXJlMkQsIG1ha2VTYW1wbGVyKHByb2dy
YW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDIgLyB0ZXh0dXJlMkQuZVB0
ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1
ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwg
KDM1ICsgMzYgKyAzOSArIDQwKSAvIDQpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28xNSIsIFt0ZXh0dXJlMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0s
IHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuMjUpIC8g
dGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCks
IG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAu
MjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFt
LCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoMTMgKyAxNCArIDIxICsgMjIpIC8gNCk7Ci0g
ICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzE1IiwgW3Rl
eHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1h
cEZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1
cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8g
dGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwg
bWFrZUludChwcm9ncmFtLCAwKV0pLCAoKCgxMyArIDE0ICsgMjEgKyAyMikgLyA0KSArICgoMzUg
KyAzNiArIDM5ICsgNDApIC8gNCkpIC8gMik7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbzE1IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3Jh
bSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwg
MC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9n
cmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwg
TWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBt
YWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgxMyArIDE0ICsgMjEg
KyAyMikgLyA0KTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vMTUiLCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAi
bGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRo
LnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHBy
b2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWln
aHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgoKDEzICsg
MTQgKyAyMSArIDIyKSAvIDQpICsgKCgzNSArIDM2ICsgMzkgKyA0MCkgLyA0KSkgLyAyKTsKICAg
ICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTYiLCBbdGV4
dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKV0pLCAoMTIgKyAxMyArIDIwICsgMjEpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzE2IiwgW3RleHR1cmUyRCwgbWFrZVNh
bXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0s
IDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSldKSwg
KDM0ICsgMzUgKyAzOCArIDM5KSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28xNiIsIFt0ZXh0dXJlMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0s
IHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSldKSwgKDEyICsgMTMgKyAy
MCArIDIxKSAvIDQpOwpAQCAtNzMyNiwyNSArNzMxMywyNSBAQCB0ZXN0cy50ZXh0dXJlU2FtcGxl
ID0gZnVuY3Rpb24oKSB7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbzIwIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFn
RmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0
KHByb2dyYW0sIDApXSksICgxMiArIDEzICsgMjAgKyAyMSkgLyA0KTsKICAgICBjaGVja0Zsb2F0
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjAiLCBbdGV4dHVyZTJEQXJyYXks
IG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0s
IDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndp
ZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VG
bG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAo
MTIgKyAxMyArIDIwICsgMjEpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbzIwIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9n
cmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDIgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAv
IHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDM0ICsgMzUgKyAzOCArIDM5
KSAvIDQpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28yMCIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjog
ImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
LjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygy
LCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRo
LnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDEy
ICsgMTMgKyAyMCArIDIxKSAvIDQpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28yMCIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3Jh
bSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJE
LmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0
dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgoKDEyICsgMTMgKyAyMCArIDIxKSAv
IDQpICsgKCgzNCArIDM1ICsgMzggKyAzOSkgLyA0KSkgLyAyKTsKKyAgICBjaGVja0Zsb2F0KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjAiLCBbdGV4dHVyZTJEQXJyYXksIG1h
a2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9n
cmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
LCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQu
ZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0
KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkg
LyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgxMiArIDEzICsgMjAgKyAy
MSkgLyA0KTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vMjAiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6
ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
LjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
Q2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxv
YWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVy
ZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoKCgxMiArIDEzICsgMjAgKyAyMSkgLyA0
KSArICgoMzQgKyAzNSArIDM4ICsgMzkpIC8gNCkpIC8gMik7CiAgICAgY2hlY2tGbG9hdChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIwIiwgW3RleHR1cmUyREFycmF5LCBtYWtl
U2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApXSksICg1NCArIDU1ICsgNjIgKyA2Mykg
LyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
MjAiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJs
aW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSAvIHRleHR1cmUy
RC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9h
ZFZhbHVlKCkuaGVpZ2h0KV0pLCAoNTQgKyA1NSArIDYyICsgNjMpIC8gNCk7CiAgICAgY2hlY2tG
bG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIwIiwgW3RleHR1cmUyREFy
cmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9n
cmFtLCAxKSwgbWFrZUZsb2F0KHByb2dyYW0sIDIgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUo
KS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCld
KSwgKDc2ICsgNzcgKyA4MCArIDgxKSAvIDQpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMCIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIo
cHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSks
IG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VGbG9h
dChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgp
LndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1h
a2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRW
YWx1ZSgpLmhlaWdodCldKSwgKDU0ICsgNTUgKyA2MiArIDYzKSAvIDQpOwotICAgIGNoZWNrRmxv
YXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMCIsIFt0ZXh0dXJlMkRBcnJh
eSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRl
cjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFt
LCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBv
dygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1h
dGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgo
KDU0ICsgNTUgKyA2MiArIDYzKSAvIDQpICsgKCg3NiArIDc3ICsgODAgKyA4MSkgLyA0KSkgLyAy
KTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjAi
LCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5l
YXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3co
MiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3Jh
bSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQp
XSksICg1NCArIDU1ICsgNjIgKyA2MykgLyA0KTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjAiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVy
KHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSks
IG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDEpLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41
KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0s
IDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRo
LnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoKCg1
NCArIDU1ICsgNjIgKyA2MykgLyA0KSArICgoNzYgKyA3NyArIDgwICsgODEpIC8gNCkpIC8gMik7
CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIxIiwg
W3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFy
In0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1h
a2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBt
YWtlSW50KHByb2dyYW0sIDApLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgxMiArIDEzICsgMjAg
KyAyMSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vMjEiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0
ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1h
a2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDEz
ICsgMTQgKyAyMSArIDIyKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28yMSIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3Jh
bSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9n
cmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0
ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBt
YWtlSW50KHByb2dyYW0sIDApXSksICgxMyArIDE0ICsgMjEgKyAyMikgLyA0KTsKICAgICBjaGVj
a0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjEiLCBbdGV4dHVyZTJE
QXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1
ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCks
IG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0
KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoMzUgKyAzNiAr
IDM5ICsgNDApIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbzIxIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWlu
RmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1h
dGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dy
YW0sIE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0
KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoMTMgKyAxNCAr
IDIxICsgMjIpIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbzIxIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWlu
RmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5s
b2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dy
YW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5l
UHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJv
Z3JhbSwgMCldKSwgKCgoMTMgKyAxNCArIDIxICsgMjIpIC8gNCkgKyAoKDM1ICsgMzYgKyAzOSAr
IDQwKSAvIDQpKSAvIDIpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28yMSIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21p
bkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9n
cmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRo
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0
ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRW
YWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCld
KSwgKDEzICsgMTQgKyAyMSArIDIyKSAvIDQpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMSIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIo
cHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVhciJ9KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUp
IC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgu
cG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50
KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgoKDEzICsgMTQgKyAyMSArIDIy
KSAvIDQpICsgKCgzNSArIDM2ICsgMzkgKyA0MCkgLyA0KSkgLyAyKTsKICAgICBjaGVja0Zsb2F0
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjEiLCBbdGV4dHVyZTJEQXJyYXks
IG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0s
IDEpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VJbnQocHJvZ3JhbSwg
MCksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDU0ICsgNTUgKyA2MiArIDYzKSAvIDQpOwogICAg
IGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMSIsIFt0ZXh0
dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0s
IDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUlu
dChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoNTUgKyA1NiArIDYzICsgNjQp
IC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
bzIxIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAi
bGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAu
NSksIG1ha2VGbG9hdChwcm9ncmFtLCAxKSwgbWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0dXJl
MkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5lUHRyLmxv
YWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwg
MCldKSwgKDU1ICsgNTYgKyA2MyArIDY0KSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMSIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBs
ZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAu
NSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VG
bG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dy
YW0sIDIgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dy
YW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICg3NyArIDc4ICsgODEgKyA4MikgLyA0KTsK
LSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjEiLCBb
dGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIi
fSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkg
LyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwg
MC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dy
YW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICg1NSArIDU2ICsgNjMgKyA2NCkgLyA0KTsK
LSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjEiLCBb
dGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIi
LCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRo
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9h
dChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCku
aGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoKCg1
NSArIDU2ICsgNjMgKyA2NCkgLyA0KSArICgoNzcgKyA3OCArIDgxICsgODIpIC8gNCkpIC8gMik7
CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIxIiwg
W3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFy
In0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1h
a2VGbG9hdChwcm9ncmFtLCAxKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIs
IDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0s
IE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwg
bWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoNTUgKyA1NiArIDYz
ICsgNjQpIC8gNCk7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbzIxIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmls
dGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxKSwg
bWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0
ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRl
eHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1h
a2VJbnQocHJvZ3JhbSwgMCldKSwgKCgoNTUgKyA1NiArIDYzICsgNjQpIC8gNCkgKyAoKDc3ICsg
NzggKyA4MSArIDgyKSAvIDQpKSAvIDIpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28yMiIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJv
Z3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1h
a2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKV0pLCAoMTIgKyAxMyArIDIwICsgMjEpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIyIiwgW3RleHR1cmUyREFycmF5LCBt
YWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpXSksICgzNCArIDM1ICsgMzggKyAzOSkgLyA0KTsKICAg
ICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjIiLCBbdGV4
dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSks
IG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KV0pLCAoMTIgKyAxMyArIDIw
ICsgMjEpIC8gNCk7CkBAIC03MzcyLDcgKzczNTksNyBAQCB0ZXN0cy50ZXh0dXJlU2FtcGxlID0g
ZnVuY3Rpb24oKSB7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbzE2IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjog
ImxpbmVhciIsIGxvZE1pbkNsYW1wOiAxLCBsb2RNYXhDbGFtcDogMX0pLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAy
KV0pLCAoMzQgKyAzNSArIDM4ICsgMzkpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzE2IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJv
Z3JhbSwge21pbkZpbHRlcjogImxpbmVhciIsIGxvZE1pbkNsYW1wOiAxLCBsb2RNYXhDbGFtcDog
MX0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1h
a2VGbG9hdChwcm9ncmFtLCAwKV0pLCAoMzQgKyAzNSArIDM4ICsgMzkpIC8gNCk7CiAgICAgY2hl
Y2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzE0IiwgW3RleHR1cmUy
RCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRl
cjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFt
LCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgp
LndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1h
a2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0p
LCAoMzQgKyAzNSArIDM4ICsgMzkpIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbzE0IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3Jh
bSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVhciIsIG1heEFuaXNv
dHJvcHk6IDJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
LjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgNCAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndp
ZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VG
bG9hdChwcm9ncmFtLCAoNC8zKSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCld
KSwgKDM0ICsgMzUgKyAzOCArIDM5KSAvIDQpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28xNCIsIFt0ZXh0dXJlMkQsIG1ha2VTYW1wbGVyKHByb2dy
YW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIiLCBtYXhBbmlz
b3Ryb3B5OiAyfSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDQgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53
aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
Q2FzdGVkRmxvYXQocHJvZ3JhbSwgKDQvMykgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5o
ZWlnaHQpXSksICgzNCArIDM1ICsgMzggKyAzOSkgLyA0KTsKICAgICBsZXQgdGV4dHVyZTFESW50
NCA9IG1ha2UxRFRleHR1cmUocHJvZ3JhbSwgW1tbMSwgMiwgMywgNF0sIFsxMDAsIDIwMCwgMzAw
LCA0MDBdLCBbMTAxLCAyMDIsIDMwMSwgNDAxXSwgWzEzLCAxNCwgMTUsIDE2XV0sIFtbMTcsIDE4
LCAxOSwgMjBdLCBbMjEsIDIyLCAyMywgMjRdXSwgW1syNSwgMjYsIDI3LCAyOF1dXSwgImludDQi
KTsKICAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzI0Iiwg
W3RleHR1cmUxREludDQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIi
fSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpXSksIDEwMCk7CiAgICAgY2hlY2tJbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yNSIsIFt0ZXh0dXJlMURJbnQ0LCBtYWtlU2Ft
cGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MC41KV0pLCAyMDEpOwpAQCAtNzQxNCwxNCArNzQwMSwxNCBAQCB0ZXN0cy50ZXh0dXJlU2FtcGxl
ID0gZnVuY3Rpb24oKSB7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbzM1IiwgW3RleHR1cmVEZXB0aDJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFn
RmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKV0pLCAoMTIgKyAx
MyArIDIwICsgMjEpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbzM1IiwgW3RleHR1cmVEZXB0aDJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7
bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9h
ZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFt
LCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5o
ZWlnaHQpXSksICgxMiArIDEzICsgMjAgKyAyMSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMzUiLCBbdGV4dHVyZURlcHRoMkQsIG1ha2VT
YW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFt
LCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDIgLyB0
ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5l
UHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDM0ICsgMzUgKyAzOCArIDM5KSAvIDQpOwotICAg
IGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zNSIsIFt0ZXh0
dXJlRGVwdGgyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUo
KS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBt
YWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2Fk
VmFsdWUoKS5oZWlnaHQpXSksICgxMiArIDEzICsgMjAgKyAyMSkgLyA0KTsKLSAgICBjaGVja0Zs
b2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMzUiLCBbdGV4dHVyZURlcHRo
MkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIiLCBtaXBtYXBGaWx0
ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQu
ZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0
KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1
cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKCgoMTIgKyAxMyArIDIwICsgMjEpIC8g
NCkgKyAoKDM0ICsgMzUgKyAzOCArIDM5KSAvIDQpKSAvIDIpOworICAgIGNoZWNrRmxvYXQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zNSIsIFt0ZXh0dXJlRGVwdGgyRCwgbWFr
ZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3Jh
bSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCks
IG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVk
RmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFs
dWUoKS5oZWlnaHQpXSksICgxMiArIDEzICsgMjAgKyAyMSkgLyA0KTsKKyAgICBjaGVja0Zsb2F0
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMzUiLCBbdGV4dHVyZURlcHRoMkQs
IG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6
ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MC41KSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJl
MkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41
KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKCgoMTIgKyAxMyArIDIw
ICsgMjEpIC8gNCkgKyAoKDM0ICsgMzUgKyAzOCArIDM5KSAvIDQpKSAvIDIpOwogICAgIGNoZWNr
RmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zNiIsIFt0ZXh0dXJlRGVw
dGgyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VJbnQocHJvZ3JhbSwgMCksIG1ha2VJbnQocHJvZ3Jh
bSwgMCldKSwgKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zNiIsIFt0ZXh0dXJlRGVwdGgyRCwgbWFrZVNh
bXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0s
IDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1h
a2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDEz
ICsgMTQgKyAyMSArIDIyKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28zNiIsIFt0ZXh0dXJlRGVwdGgyRCwgbWFrZVNhbXBsZXIocHJvZ3Jh
bSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5lUHRy
LmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVl
KCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAo
MTMgKyAxNCArIDIxICsgMjIpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbzM2IiwgW3RleHR1cmVEZXB0aDJELCBtYWtlU2FtcGxlcihwcm9n
cmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQ
dHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDIgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFs
dWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSks
ICgzNSArIDM2ICsgMzkgKyA0MCkgLyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vMzYiLCBbdGV4dHVyZURlcHRoMkQsIG1ha2VTYW1wbGVyKHBy
b2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAu
MjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93
KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChw
cm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoMTMgKyAxNCArIDIxICsgMjIpIC8g
NCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzM2
IiwgW3RleHR1cmVEZXB0aDJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGlu
ZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAw
LjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93
KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHBy
b2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgoKDEzICsgMTQgKyAyMSArIDIyKSAv
IDQpICsgKCgzNSArIDM2ICsgMzkgKyA0MCkgLyA0KSkgLyAyKTsKKyAgICBjaGVja0Zsb2F0KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMzYiLCBbdGV4dHVyZURlcHRoMkQsIG1h
a2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9n
cmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUNhc3RlZEZsb2F0KHByb2dy
YW0sIE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3Rl
ZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZh
bHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0p
LCAoMTMgKyAxNCArIDIxICsgMjIpIC8gNCk7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbzM2IiwgW3RleHR1cmVEZXB0aDJELCBtYWtlU2FtcGxlcihw
cm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VDYXN0
ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZh
bHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQu
ZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHBy
b2dyYW0sIDApXSksICgoKDEzICsgMTQgKyAyMSArIDIyKSAvIDQpICsgKCgzNSArIDM2ICsgMzkg
KyA0MCkgLyA0KSkgLyAyKTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vMzciLCBbdGV4dHVyZURlcHRoMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHtt
YWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApXSksICgxMiArIDEzICsgMjAgKyAy
MSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vMzciLCBbdGV4dHVyZURlcHRoMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6
ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpXSksICgzNCArIDM1ICsgMzggKyAzOSkgLyA0KTsK
ICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMzciLCBb
dGV4dHVyZURlcHRoMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIi
fSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDAuNSldKSwgKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOwpAQCAtNzQ0
NywyNSArNzQzNCwyNSBAQCB0ZXN0cy50ZXh0dXJlU2FtcGxlID0gZnVuY3Rpb24oKSB7CiAgICAg
Y2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQxIiwgW3RleHR1
cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIi
fSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9n
cmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCldKSwg
KDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb280MSIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxl
cihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZs
b2F0KHByb2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VG
bG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDEyICsgMTMgKyAy
MCArIDIxKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb280MSIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7
bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0s
IDIgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFt
LCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1
cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDM0ICsgMzUgKyAzOCArIDM5KSAvIDQp
OwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280MSIs
IFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAi
bGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAu
NSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIs
IDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgu
cG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoMTIg
KyAxMyArIDIwICsgMjEpIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbzQxIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHBy
b2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1h
a2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1
cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8g
dGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoKCgxMiArIDEzICsgMjAgKyAy
MSkgLyA0KSArICgoMzQgKyAzNSArIDM4ICsgMzkpIC8gNCkpIC8gMik7CisgICAgY2hlY2tGbG9h
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQxIiwgW3RleHR1cmVEZXB0aDJE
QXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0
ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3co
MiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgxMiArIDEz
ICsgMjAgKyAyMSkgLyA0KTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vNDEiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3Jh
bSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4
dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1h
a2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIs
IDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgoKDEyICsgMTMg
KyAyMCArIDIxKSAvIDQpICsgKCgzNCArIDM1ICsgMzggKyAzOSkgLyA0KSkgLyAyKTsKICAgICBj
aGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDEiLCBbdGV4dHVy
ZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dy
YW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKV0pLCAo
NTQgKyA1NSArIDYyICsgNjMpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbzQxIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVy
KHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFt
LCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoNTQgKyA1NSArIDYy
ICsgNjMpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbzQxIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHtt
aW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MiAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0s
IDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVy
ZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoNzYgKyA3NyArIDgwICsgODEpIC8gNCk7
Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQxIiwg
W3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJs
aW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwg
MC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9n
cmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5w
b3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICg1NCAr
IDU1ICsgNjIgKyA2MykgLyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vNDEiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJv
Z3JhbSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVhciJ9KSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVy
ZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VG
bG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0
ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgoKDU0ICsgNTUgKyA2MiArIDYz
KSAvIDQpICsgKCg3NiArIDc3ICsgODAgKyA4MSkgLyA0KSkgLyAyKTsKKyAgICBjaGVja0Zsb2F0
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDEiLCBbdGV4dHVyZURlcHRoMkRB
cnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMSksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRl
eHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygy
LCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDU0ICsgNTUg
KyA2MiArIDYzKSAvIDQpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb280MSIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFt
LCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9n
cmFtLCAxKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0
dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwg
MC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKCgoNTQgKyA1NSAr
IDYyICsgNjMpIC8gNCkgKyAoKDc2ICsgNzcgKyA4MCArIDgxKSAvIDQpKSAvIDIpOwogICAgIGNo
ZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280MiIsIFt0ZXh0dXJl
RGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0p
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
SW50KHByb2dyYW0sIDApLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgxMiArIDEzICsgMjAgKyAy
MSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vNDIiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0Zp
bHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9n
cmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAo
MTMgKyAxNCArIDIxICsgMjIpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbzQyIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVy
KHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFt
LCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFt
LCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoMTMgKyAxNCArIDIxICsgMjIpIC8gNCk7CiAg
ICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQyIiwgW3Rl
eHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5l
YXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5l
UHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZh
bHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0p
LCAoMzUgKyAzNiArIDM5ICsgNDApIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQyIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1w
bGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
LjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
RmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFs
dWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5s
b2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0s
IDApXSksICgxMyArIDE0ICsgMjEgKyAyMikgLyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDIiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFr
ZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxp
bmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAw
LjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93
KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHBy
b2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgoKDEzICsgMTQgKyAyMSArIDIyKSAv
IDQpICsgKCgzNSArIDM2ICsgMzkgKyA0MCkgLyA0KSkgLyAyKTsKKyAgICBjaGVja0Zsb2F0KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDIiLCBbdGV4dHVyZURlcHRoMkRBcnJh
eSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1
cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAw
LjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3Jh
bSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDEzICsgMTQgKyAyMSArIDIyKSAvIDQpOwor
ICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280MiIsIFt0
ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGlu
ZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3Rl
ZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFs
dWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
LCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5l
UHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJv
Z3JhbSwgMCldKSwgKCgoMTMgKyAxNCArIDIxICsgMjIpIC8gNCkgKyAoKDM1ICsgMzYgKyAzOSAr
IDQwKSAvIDQpKSAvIDIpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb280MiIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFt
LCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxKSwgbWFrZUZsb2F0KHByb2dy
YW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlSW50KHByb2dyYW0sIDApLCBtYWtlSW50KHByb2dyYW0s
IDApXSksICg1NCArIDU1ICsgNjIgKyA2MykgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDIiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFr
ZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSks
IG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUludChwcm9ncmFtLCAxKSwg
bWFrZUludChwcm9ncmFtLCAwKV0pLCAoNTUgKyA1NiArIDYzICsgNjQpIC8gNCk7CiAgICAgY2hl
Y2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQyIiwgW3RleHR1cmVE
ZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSks
IG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDEpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5lUHRyLmxv
YWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCku
aGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoNTUg
KyA1NiArIDYzICsgNjQpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbzQyIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHBy
b2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0
KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAy
IC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAx
KSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoNzcgKyA3OCArIDgxICsgODIpIC8gNCk7Ci0gICAg
Y2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQyIiwgW3RleHR1
cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIi
fSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkg
LyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwg
MC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dy
YW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICg1NSArIDU2ICsgNjMgKyA2NCkgLyA0KTsK
LSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDIiLCBb
dGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxp
bmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSks
IG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VGbG9h
dChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCku
d2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFs
dWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSks
ICgoKDU1ICsgNTYgKyA2MyArIDY0KSAvIDQpICsgKCg3NyArIDc4ICsgODEgKyA4MikgLyA0KSkg
LyAyKTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
NDIiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRl
cjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFt
LCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBN
YXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9h
dChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgp
LmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDU1
ICsgNTYgKyA2MyArIDY0KSAvIDQpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb280MiIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihw
cm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9h
dChwcm9ncmFtLCAxKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkg
LyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5w
b3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQo
cHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKCgoNTUgKyA1NiArIDYzICsgNjQp
IC8gNCkgKyAoKDc3ICsgNzggKyA4MSArIDgyKSAvIDQpKSAvIDIpOwogICAgIGNoZWNrRmxvYXQo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280MyIsIFt0ZXh0dXJlRGVwdGgyREFy
cmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9n
cmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApXSksICgxMiArIDEzICsgMjAgKyAyMSkgLyA0
KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDMi
LCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjog
ImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
LjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAxKV0pLCAoMzQg
KyAzNSArIDM4ICsgMzkpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbzQzIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHBy
b2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMC41KV0pLCAoMTIgKyAxMyArIDIwICsgMjEpIC8gNCk7CmRpZmYgLS1naXQgYS9U
b29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9pbmRleC5odG1sIGIvVG9vbHMvV2ViR1BVU2hh
ZGluZ0xhbmd1YWdlUkkvaW5kZXguaHRtbAppbmRleCAyNDQxNWYzM2ExNzA5YjJlMGU2ZDViZWNl
NjdhYTg5NTMwNmI4OWJlLi5mYmVkNWJhMTY0YWY1YzgwNjk2MjVjNDljNDFjMDlkYmFkMzk3NGMz
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9pbmRleC5odG1sCisr
KyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL2luZGV4Lmh0bWwKQEAgLTc5LDYgKzc5
LDcgQEAKIDxzY3JpcHQgc3JjPSJJbnRMaXRlcmFsLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSJJbnRMaXRlcmFsVHlwZS5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iSW50cmluc2ljcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iSXNCaXR3aXNlRXF1aXZhbGVudC5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iTGF0ZUNoZWNrQW5kTGF5b3V0QnVmZmVycy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iTGF0ZUNoZWNrZXIuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ikxl
eGVyLmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349456</attachid>
            <date>2018-09-11 14:30:55 -0700</date>
            <delta_ts>2018-09-19 09:49:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189502-20180911143054.patch</filename>
            <type>text/plain</type>
            <size>57204</size>
            <attacher name="Thomas Denney">tdenney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1ODk0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTYwYWJlZTQxODlmMTQ0MmFmYzUyYzU5ODA5OTMwNWEy
MDE3NWVkMS4uNDNjZTllMTdkNTY1ZDVjOWYyZDNkMjJkNWJhYWU4M2EwNjI5OGQ4NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSArMSwyOCBA
QAorMjAxOC0wOS0xMSAgVGhvbWFzIERlbm5leSAgPHRkZW5uZXlAYXBwbGUuY29tPgorCisgICAg
ICAgIFtXSExTTF0gSW1wcm92ZSB0ZXN0IHN1aXRlIHR5cGUgc2FmZXR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk1MDIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFYWNoIG9mIHRoZSAnbWFrZVQnIGZ1
bmN0aW9ucyBub3cgY2FsbCB0aGUgcmVsZXZhbnQgY2FzdCBmdW5jdGlvbiBvbiB0aGUKKyAgICAg
ICAgdmFsdWUgYmVmb3JlIGhhbmQuIFRoZSBjaGVja051bWJlciBmdW5jdGlvbiBoYXMgYWxzbyBi
ZWVuIHJlbW92ZWQgYW5kCisgICAgICAgIGl0cyB1c2VzIGhhdmUgYmVlbiByZXBsYWNlZCB3aXRo
IGZ1bmN0aW9ucyB0aGF0IGFsc28gY2hlY2sgdGhlIHR5cGUuCisgICAgICAgIFNvbWUgb2YgdGhl
IGFyaXRobWV0aWMgY2hlY2tzIGhhdmUgYmVlbiB1cGRhdGVkIHRvIHJlZmxlY3QgdGhhdCB0aGUK
KyAgICAgICAgY2FzdHMgaGFwcGVuIG91dHNpZGUgb2YgV0hMU0wgZXZhbHVhdGlvbi4gT3RoZXIg
dGVzdHMgaGF2ZSBhbHNvIGJlZW4KKyAgICAgICAgdXBkYXRlZCB0byByZWZsZWN0IHRoYXQgc29t
ZSB2YWx1ZXMgY2Fubm90IGJlIHByZWNpc2VseSBleHByZXNzZWQgaW4KKyAgICAgICAgMzItYml0
IGZsb2F0aW5nIHBvaW50LgorCisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQ2Fz
dHMuanM6CisgICAgICAgIChjYXN0VG9Cb29sKTogQWRkZWQuCisgICAgICAgIChjYXN0QW5kQ2hl
Y2tWYWx1ZSk6IEFkZGVkLgorICAgICAgICAoaXNCaXR3aXNlRXF1aXZhbGVudCk6IE1vdmVkIGZy
b20gSW50cmluc2ljcy5qcy4KKyAgICAgICAgKiBXZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9JbnRy
aW5zaWNzLmpzOiBEaXR0by4KKyAgICAgICAgKiBXZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TUElS
Vi5odG1sOiBVcGRhdGUgZGVwZGVuY2llcy4KKyAgICAgICAgKiBXZWJHUFVTaGFkaW5nTGFuZ3Vh
Z2VSSS9UZXN0Lmh0bWw6IERpdHRvLgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJ
L1Rlc3QuanM6IFVwZGF0ZSBtYWtlVCBmdW5jdGlvbnMgdG8gZG8gYSBjYXN0CisgICAgICAgIGFu
ZCBjaGVjayB0aGUgcmVzdWx0LiBTb21lIHRlc3RzIHdlcmUgYWxzbyB1cGRhdGVkIHRvIHJlZmxl
Y3QgdGhlIGNoYW5nZQorICAgICAgICBpbiB0aGUgYmVoYXZpb3Igb2YgdGhlc2UgZnVuY3Rpb25z
LgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL2luZGV4Lmh0bWw6IFVwZGF0ZSBk
ZXBlbmRlbmNpZXMuCisKID09IFJvbGxlZCBvdmVyIHRvIENoYW5nZUxvZy0yMDE4LTA5LTExID09
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DYXN0cy5qcyBiL1Rv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0Nhc3RzLmpzCmluZGV4IGFjYmIyZWEwMjg1MzVi
NDY3MDQyMzA5N2Y3YTViNTdjYWY2YjhiMWMuLmM4ZjA4Y2U2OWE3ZjMyZThhMTFhMDUwNDM1MmE0
MDUyZGYxNjRkM2YgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0Nh
c3RzLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0Nhc3RzLmpzCkBAIC0z
OSw2ICszOSwxMSBAQCBmdW5jdGlvbiBiaXR3aXNlQ2FzdCh0eXBlZEFycmF5Q29uc3RydWN0b3Ix
LCB0eXBlZEFycmF5Q29uc3RydWN0b3IyLCB2YWx1ZSkKICAgICByZXR1cm4gdHlwZWRBcnJheTJb
MF07CiB9CiAKK2Z1bmN0aW9uIGNhc3RUb0Jvb2wodmFsdWUpCit7CisgICAgcmV0dXJuICEhdmFs
dWU7Cit9CisKIGZ1bmN0aW9uIGNhc3RUb1VjaGFyKG51bWJlcikKIHsKICAgICByZXR1cm4gbnVt
YmVyICYgMHhGRjsKQEAgLTExMywzICsxMTgsMjUgQEAgZnVuY3Rpb24gY2FzdFRvRmxvYXQobnVt
YmVyKQogewogICAgIHJldHVybiBNYXRoLmZyb3VuZChudW1iZXIpOwogfQorCitmdW5jdGlvbiBj
YXN0QW5kQ2hlY2tWYWx1ZShjYXN0RnVuY3Rpb24sIHZhbHVlKQoreworICAgIGNvbnN0IGNhc3Rl
ZFZhbHVlID0gY2FzdEZ1bmN0aW9uKHZhbHVlKTsKKyAgICBpZiAoIWlzQml0d2lzZUVxdWl2YWxl
bnQoY2FzdGVkVmFsdWUsIHZhbHVlKSkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3ZhbHVl
fSB3YXMgY2FzdGVkIGFuZCB5aWVsZGVkICR7Y2FzdGVkVmFsdWV9LCB3aGljaCBpcyBub3QgYml0
d2lzZSBlcXVpdmFsZW50LmApOworICAgIHJldHVybiBjYXN0ZWRWYWx1ZTsKK30KKworZnVuY3Rp
b24gaXNCaXR3aXNlRXF1aXZhbGVudChsZWZ0LCByaWdodCkKK3sKKyAgICBsZXQgZG91YmxlQXJy
YXkgPSBuZXcgRmxvYXQ2NEFycmF5KDEpOworICAgIGxldCBpbnRBcnJheSA9IG5ldyBJbnQzMkFy
cmF5KGRvdWJsZUFycmF5LmJ1ZmZlcik7CisgICAgZG91YmxlQXJyYXlbMF0gPSBsZWZ0OworICAg
IGxldCBsZWZ0SW50cyA9IEludDMyQXJyYXkuZnJvbShpbnRBcnJheSk7CisgICAgZG91YmxlQXJy
YXlbMF0gPSByaWdodDsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IDI7ICsraSkgeworICAgICAg
ICBpZiAobGVmdEludHNbaV0gIT0gaW50QXJyYXlbaV0pCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BV
U2hhZGluZ0xhbmd1YWdlUkkvSW50cmluc2ljcy5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5n
dWFnZVJJL0ludHJpbnNpY3MuanMKaW5kZXggMWIwYTEyYWY0MDAyYTkwYmU2MzVlNzM4ZjFkNWU3
ZDkwZGNiMDRkMy4uNjhiMGRkNTczZmMwMmVhMzg1MTc5NTVkODM4OGE2NDZhYTkwYTU5NiAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvSW50cmluc2ljcy5qcworKysg
Yi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9JbnRyaW5zaWNzLmpzCkBAIC0zNCwyMCAr
MzQsNiBAQCBjbGFzcyBJbnRyaW5zaWNzIHsKICAgICAgICAgLy8gRm9yIGV4YW1wbGUsIGlmIGEg
bmF0aXZlIGZ1bmN0aW9uIGlzIGRlY2xhcmVkIHVzaW5nICJpbnQiIHJhdGhlciB0aGFuICJpbnQi
LCB0aGVuIHdlIG11c3QKICAgICAgICAgLy8gdXNlICJpbnQiIGhlcmUsIHNpbmNlIHdlIGRvbid0
IHlldCBrbm93IHRoYXQgdGhleSBhcmUgdGhlIHNhbWUgdHlwZS4KIAotICAgICAgICBmdW5jdGlv
biBpc0JpdHdpc2VFcXVpdmFsZW50KGxlZnQsIHJpZ2h0KQotICAgICAgICB7Ci0gICAgICAgICAg
ICBsZXQgZG91YmxlQXJyYXkgPSBuZXcgRmxvYXQ2NEFycmF5KDEpOwotICAgICAgICAgICAgbGV0
IGludEFycmF5ID0gbmV3IEludDMyQXJyYXkoZG91YmxlQXJyYXkuYnVmZmVyKTsKLSAgICAgICAg
ICAgIGRvdWJsZUFycmF5WzBdID0gbGVmdDsKLSAgICAgICAgICAgIGxldCBsZWZ0SW50cyA9IElu
dDMyQXJyYXkuZnJvbShpbnRBcnJheSk7Ci0gICAgICAgICAgICBkb3VibGVBcnJheVswXSA9IHJp
Z2h0OwotICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyOyArK2kpIHsKLSAgICAgICAg
ICAgICAgICBpZiAobGVmdEludHNbaV0gIT0gaW50QXJyYXlbaV0pCi0gICAgICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiB0cnVl
OwotICAgICAgICB9Ci0KICAgICAgICAgdGhpcy5fbWFwLnNldCgKICAgICAgICAgICAgICJuYXRp
dmUgdHlwZWRlZiB2b2lkIiwKICAgICAgICAgICAgIHR5cGUgPT4gewpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdM
YW5ndWFnZVJJL1Rlc3QuanMKaW5kZXggMmJjZWE3ZDdkYTNjYjM4MmYxYWFiZTIxNjdlZjNhNzg5
MTM5MjMzMy4uMzAyZDZkOWE0Mzk4MzYxMzRkNDc1ZDA5Nzg1MDFiMDc2ZGUyMGM0YiAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5qcworKysgYi9Ub29scy9X
ZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXN0LmpzCkBAIC01NSwzMiArNTUsMzcgQEAgZnVuY3Rp
b24gZG9MZXgoY29kZSkKIAogZnVuY3Rpb24gbWFrZUludChwcm9ncmFtLCB2YWx1ZSkKIHsKLSAg
ICByZXR1cm4gVHlwZWRWYWx1ZS5ib3gocHJvZ3JhbS5pbnRyaW5zaWNzLmludCwgdmFsdWUpOwor
ICAgIHJldHVybiBUeXBlZFZhbHVlLmJveChwcm9ncmFtLmludHJpbnNpY3MuaW50LCBjYXN0QW5k
Q2hlY2tWYWx1ZShjYXN0VG9JbnQsIHZhbHVlKSk7CiB9CiAKIGZ1bmN0aW9uIG1ha2VVaW50KHBy
b2dyYW0sIHZhbHVlKQogewotICAgIHJldHVybiBUeXBlZFZhbHVlLmJveChwcm9ncmFtLmludHJp
bnNpY3MudWludCwgdmFsdWUpOworICAgIHJldHVybiBUeXBlZFZhbHVlLmJveChwcm9ncmFtLmlu
dHJpbnNpY3MudWludCwgY2FzdEFuZENoZWNrVmFsdWUoY2FzdFRvVWludCwgdmFsdWUpKTsKIH0K
IAogZnVuY3Rpb24gbWFrZVVjaGFyKHByb2dyYW0sIHZhbHVlKQogewotICAgIHJldHVybiBUeXBl
ZFZhbHVlLmJveChwcm9ncmFtLmludHJpbnNpY3MudWNoYXIsIHZhbHVlKTsKKyAgICByZXR1cm4g
VHlwZWRWYWx1ZS5ib3gocHJvZ3JhbS5pbnRyaW5zaWNzLnVjaGFyLCBjYXN0QW5kQ2hlY2tWYWx1
ZShjYXN0VG9VY2hhciwgdmFsdWUpKTsKIH0KIAogZnVuY3Rpb24gbWFrZUJvb2wocHJvZ3JhbSwg
dmFsdWUpCiB7Ci0gICAgcmV0dXJuIFR5cGVkVmFsdWUuYm94KHByb2dyYW0uaW50cmluc2ljcy5i
b29sLCB2YWx1ZSk7CisgICAgcmV0dXJuIFR5cGVkVmFsdWUuYm94KHByb2dyYW0uaW50cmluc2lj
cy5ib29sLCBjYXN0QW5kQ2hlY2tWYWx1ZShjYXN0VG9Cb29sLCB2YWx1ZSkpOwogfQogCiBmdW5j
dGlvbiBtYWtlRmxvYXQocHJvZ3JhbSwgdmFsdWUpCiB7Ci0gICAgcmV0dXJuIFR5cGVkVmFsdWUu
Ym94KHByb2dyYW0uaW50cmluc2ljcy5mbG9hdCwgdmFsdWUpOworICAgIHJldHVybiBUeXBlZFZh
bHVlLmJveChwcm9ncmFtLmludHJpbnNpY3MuZmxvYXQsIGNhc3RBbmRDaGVja1ZhbHVlKGNhc3RU
b0Zsb2F0LCB2YWx1ZSkpOworfQorCitmdW5jdGlvbiBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwg
dmFsdWUpCit7CisgICAgcmV0dXJuIFR5cGVkVmFsdWUuYm94KHByb2dyYW0uaW50cmluc2ljcy5m
bG9hdCwgY2FzdFRvRmxvYXQodmFsdWUpKTsKIH0KIAogZnVuY3Rpb24gbWFrZUhhbGYocHJvZ3Jh
bSwgdmFsdWUpCiB7Ci0gICAgcmV0dXJuIFR5cGVkVmFsdWUuYm94KHByb2dyYW0uaW50cmluc2lj
cy5oYWxmLCB2YWx1ZSk7CisgICAgcmV0dXJuIFR5cGVkVmFsdWUuYm94KHByb2dyYW0uaW50cmlu
c2ljcy5oYWxmLCBjYXN0QW5kQ2hlY2tWYWx1ZShjYXN0VG9IYWxmLCB2YWx1ZSkpOwogfQogCiBm
dW5jdGlvbiBtYWtlRW51bShwcm9ncmFtLCBlbnVtTmFtZSwgdmFsdWUpCkBAIC0yMjEsMTkgKzIy
NiwxMiBAQCBmdW5jdGlvbiBtYWtlUlcyRERlcHRoVGV4dHVyZUFycmF5KHByb2dyYW0sIGFycmF5
LCBlbGVtZW50VHlwZSkKICAgICByZXR1cm4gVHlwZWRWYWx1ZS5ib3gocHJvZ3JhbS5pbnRyaW5z
aWNzW2BSV1RleHR1cmVEZXB0aDJEQXJyYXk8JHtlbGVtZW50VHlwZX0+YF0sIG5ldyBUZXh0dXJl
RGVwdGgyREFycmF5UlcoZWxlbWVudFR5cGUsIGFycmF5KSk7CiB9CiAKLWZ1bmN0aW9uIGNoZWNr
TnVtYmVyKHByb2dyYW0sIHJlc3VsdCwgZXhwZWN0ZWQpCi17Ci0gICAgaWYgKCFyZXN1bHQudHlw
ZS51bmlmeU5vZGUuaXNOdW1iZXIpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcigiV3JvbmcgcmVz
dWx0IHR5cGU7IHJlc3VsdDogIiArIHJlc3VsdCk7Ci0gICAgaWYgKHJlc3VsdC52YWx1ZSAhPSBl
eHBlY3RlZCkKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJXcm9uZyByZXN1bHQ6ICIgKyByZXN1
bHQudmFsdWUgKyAiIChleHBlY3RlZCAiICsgZXhwZWN0ZWQgKyAiKSIpOwotfQotCiBmdW5jdGlv
biBjaGVja0ludChwcm9ncmFtLCByZXN1bHQsIGV4cGVjdGVkKQogewogICAgIGlmICghcmVzdWx0
LnR5cGUuZXF1YWxzKHByb2dyYW0uaW50cmluc2ljcy5pbnQpKQogICAgICAgICB0aHJvdyBuZXcg
RXJyb3IoIldyb25nIHJlc3VsdCB0eXBlOyByZXN1bHQ6ICIgKyByZXN1bHQpOwotICAgIGNoZWNr
TnVtYmVyKHByb2dyYW0sIHJlc3VsdCwgZXhwZWN0ZWQpOworICAgIGlmIChyZXN1bHQudmFsdWUg
IT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcihgV3JvbmcgcmVzdWx0OiAke3Jl
c3VsdC52YWx1ZX0gKGV4cGVjdGVkICR7ZXhwZWN0ZWR9KWApOwogfQogCiBmdW5jdGlvbiBjaGVj
a0VudW0ocHJvZ3JhbSwgcmVzdWx0LCBleHBlY3RlZCkKQEAgLTEwMzksMTMgKzEwMzcsMTMgQEAg
dGVzdHMucGFzc051bGxUb1B0ck1vbm9tb3JwaGljQXJyYXlSZWYgPSBmdW5jdGlvbigpCiB0ZXN0
cy5yZXR1cm5JbnRMaXRlcmFsVWludCA9IGZ1bmN0aW9uKCkKIHsKICAgICBsZXQgcHJvZ3JhbSA9
IGRvUHJlcCgidGVzdCB1aW50IGZvbygpIHsgcmV0dXJuIDQyOyB9Iik7Ci0gICAgY2hlY2tOdW1i
ZXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDQyKTsKKyAgICBj
aGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSksIDQyKTsK
IH0KIAogdGVzdHMucmV0dXJuSW50TGl0ZXJhbEZsb2F0ID0gZnVuY3Rpb24oKQogewogICAgIGxl
dCBwcm9ncmFtID0gZG9QcmVwKCJ0ZXN0IGZsb2F0IGZvbygpIHsgcmV0dXJuIDQyOyB9Iik7Ci0g
ICAgY2hlY2tOdW1iZXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSks
IDQyKTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW10pLCA0Mik7CiB9CiAKIHRlc3RzLmJhZEludExpdGVyYWxGb3JJbnQgPSBmdW5jdGlvbigp
CkBAIC0yNTUyLDcgKzI1NTAsNiBAQCB0ZXN0cy51aW50Qml0QW5kID0gZnVuY3Rpb24oKQogICAg
IGApOwogICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFttYWtlVWludChwcm9ncmFtLCAxKSwgbWFrZVVpbnQocHJvZ3JhbSwgNyldKSwgMSk7CiAgICAg
Y2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50
KHByb2dyYW0sIDY1NTM1KSwgbWFrZVVpbnQocHJvZ3JhbSwgNDIpXSksIDQyKTsKLSAgICBjaGVj
a1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJv
Z3JhbSwgLTEpLCBtYWtlVWludChwcm9ncmFtLCAtNyldKSwgNDI5NDk2NzI4OSk7CiAgICAgY2hl
Y2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHBy
b2dyYW0sIDApLCBtYWtlVWludChwcm9ncmFtLCA4NTczMildKSwgMCk7CiB9CiAKQEAgLTI1NjYs
NyArMjU2Myw2IEBAIHRlc3RzLnVpbnRCaXRPciA9IGZ1bmN0aW9uKCkKICAgICBgKTsKICAgICBj
aGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQo
cHJvZ3JhbSwgMSksIG1ha2VVaW50KHByb2dyYW0sIDcpXSksIDcpOwogICAgIGNoZWNrVWludChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFtLCA2
NTUzNSksIG1ha2VVaW50KHByb2dyYW0sIDQyKV0pLCA2NTUzNSk7Ci0gICAgY2hlY2tVaW50KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIC0x
KSwgbWFrZVVpbnQocHJvZ3JhbSwgLTcpXSksIDQyOTQ5NjcyOTUpOwogICAgIGNoZWNrVWludChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFtLCAw
KSwgbWFrZVVpbnQocHJvZ3JhbSwgODU3MzIpXSksIDg1NzMyKTsKIH0KIApAQCAtMjU4MCw3ICsy
NTc2LDYgQEAgdGVzdHMudWludEJpdFhvciA9IGZ1bmN0aW9uKCkKICAgICBgKTsKICAgICBjaGVj
a1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJv
Z3JhbSwgMSksIG1ha2VVaW50KHByb2dyYW0sIDcpXSksIDYpOwogICAgIGNoZWNrVWludChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFtLCA2NTUz
NSksIG1ha2VVaW50KHByb2dyYW0sIDQyKV0pLCA2NTQ5Myk7Ci0gICAgY2hlY2tVaW50KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIC0xKSwg
bWFrZVVpbnQocHJvZ3JhbSwgLTcpXSksIDYpOwogICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFtLCAwKSwgbWFrZVVpbnQo
cHJvZ3JhbSwgODU3MzIpXSksIDg1NzMyKTsKIH0KIApAQCAtMjU5NCw3ICsyNTg5LDYgQEAgdGVz
dHMudWludEJpdE5vdCA9IGZ1bmN0aW9uKCkKICAgICBgKTsKICAgICBjaGVja1VpbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgMSldKSwg
NDI5NDk2NzI5NCk7CiAgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIDY1NTM1KV0pLCA0Mjk0OTAxNzYwKTsKLSAgICBj
aGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQo
cHJvZ3JhbSwgLTEpXSksIDApOwogICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFtLCAwKV0pLCA0Mjk0OTY3Mjk1KTsKIH0K
IApAQCAtMjYwOCw3ICsyNjAyLDYgQEAgdGVzdHMudWludExTaGlmdCA9IGZ1bmN0aW9uKCkKICAg
ICBgKTsKICAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbbWFrZVVpbnQocHJvZ3JhbSwgMSksIG1ha2VVaW50KHByb2dyYW0sIDcpXSksIDEyOCk7CiAg
ICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VV
aW50KHByb2dyYW0sIDY1NTM1KSwgbWFrZVVpbnQocHJvZ3JhbSwgMildKSwgMjYyMTQwKTsKLSAg
ICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVp
bnQocHJvZ3JhbSwgLTEpLCBtYWtlVWludChwcm9ncmFtLCA1KV0pLCA0Mjk0OTY3MjY0KTsKICAg
ICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVp
bnQocHJvZ3JhbSwgMCksIG1ha2VVaW50KHByb2dyYW0sIDMpXSksIDApOwogfQogCkBAIC0yNjIy
LDcgKzI2MTUsNiBAQCB0ZXN0cy51aW50UlNoaWZ0ID0gZnVuY3Rpb24oKQogICAgIGApOwogICAg
IGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWlu
dChwcm9ncmFtLCAxKSwgbWFrZVVpbnQocHJvZ3JhbSwgNyldKSwgMCk7CiAgICAgY2hlY2tVaW50
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0s
IDY1NTM1KSwgbWFrZVVpbnQocHJvZ3JhbSwgMildKSwgMTYzODMpOwotICAgIGNoZWNrVWludChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFtLCAt
MSksIG1ha2VVaW50KHByb2dyYW0sIDUpXSksIDEzNDIxNzcyNyk7CiAgICAgY2hlY2tVaW50KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIDAp
LCBtYWtlVWludChwcm9ncmFtLCAzKV0pLCAwKTsKIH0KIApAQCAtMjYzNSw5ICsyNjI3LDggQEAg
dGVzdHMudWNoYXJCaXRBbmQgPSBmdW5jdGlvbigpCiAgICAgICAgIH0KICAgICBgKTsKICAgICBj
aGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hh
cihwcm9ncmFtLCAxKSwgbWFrZVVjaGFyKHByb2dyYW0sIDcpXSksIDEpOwotICAgIGNoZWNrVWNo
YXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dy
YW0sIDY1NTM1KSwgbWFrZVVjaGFyKHByb2dyYW0sIDQyKV0pLCA0Mik7Ci0gICAgY2hlY2tVY2hh
cihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3Jh
bSwgLTEpLCBtYWtlVWNoYXIocHJvZ3JhbSwgLTcpXSksIDI0OSk7Ci0gICAgY2hlY2tVY2hhcihw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwg
MCksIG1ha2VVY2hhcihwcm9ncmFtLCA4NTczMildKSwgMCk7CisgICAgY2hlY2tVY2hhcihwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgMjU1
KSwgbWFrZVVjaGFyKHByb2dyYW0sIDQyKV0pLCA0Mik7CisgICAgY2hlY2tVY2hhcihwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgMCksIG1h
a2VVY2hhcihwcm9ncmFtLCAyNTUpXSksIDApOwogfQogCiB0ZXN0cy51Y2hhckJpdE9yID0gZnVu
Y3Rpb24oKQpAQCAtMjY0OSw5ICsyNjQwLDggQEAgdGVzdHMudWNoYXJCaXRPciA9IGZ1bmN0aW9u
KCkKICAgICAgICAgfQogICAgIGApOwogICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIDEpLCBtYWtlVWNoYXIocHJv
Z3JhbSwgNyldKSwgNyk7Ci0gICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgNjU1MzUpLCBtYWtlVWNoYXIocHJvZ3Jh
bSwgNDIpXSksIDI1NSk7Ci0gICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgLTEpLCBtYWtlVWNoYXIocHJvZ3JhbSwg
LTcpXSksIDI1NSk7Ci0gICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgMCksIG1ha2VVY2hhcihwcm9ncmFtLCA4NTcz
MildKSwgMjI4KTsKKyAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAyNTUpLCBtYWtlVWNoYXIocHJvZ3JhbSwgNDIp
XSksIDI1NSk7CisgICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgMCksIG1ha2VVY2hhcihwcm9ncmFtLCAyMjgpXSks
IDIyOCk7CiB9CiAKIHRlc3RzLnVjaGFyQml0WG9yID0gZnVuY3Rpb24oKQpAQCAtMjY2Myw5ICsy
NjUzLDggQEAgdGVzdHMudWNoYXJCaXRYb3IgPSBmdW5jdGlvbigpCiAgICAgICAgIH0KICAgICBg
KTsKICAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W21ha2VVY2hhcihwcm9ncmFtLCAxKSwgbWFrZVVjaGFyKHByb2dyYW0sIDcpXSksIDYpOwotICAg
IGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVj
aGFyKHByb2dyYW0sIDY1NTM1KSwgbWFrZVVjaGFyKHByb2dyYW0sIDQyKV0pLCAyMTMpOwotICAg
IGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVj
aGFyKHByb2dyYW0sIC0xKSwgbWFrZVVjaGFyKHByb2dyYW0sIC03KV0pLCA2KTsKLSAgICBjaGVj
a1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihw
cm9ncmFtLCAwKSwgbWFrZVVjaGFyKHByb2dyYW0sIDg1NzMyKV0pLCAyMjgpOworICAgIGNoZWNr
VWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHBy
b2dyYW0sIDI1NSksIG1ha2VVY2hhcihwcm9ncmFtLCA0MildKSwgMjEzKTsKKyAgICBjaGVja1Vj
aGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9n
cmFtLCAwKSwgbWFrZVVjaGFyKHByb2dyYW0sIDI1NSldKSwgMjU1KTsKIH0KIAogdGVzdHMudWNo
YXJCaXROb3QgPSBmdW5jdGlvbigpCkBAIC0yNjc3LDggKzI2NjYsNyBAQCB0ZXN0cy51Y2hhckJp
dE5vdCA9IGZ1bmN0aW9uKCkKICAgICAgICAgfQogICAgIGApOwogICAgIGNoZWNrVWNoYXIocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIDEp
XSksIDI1NCk7Ci0gICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgNjU1MzUpXSksIDApOwotICAgIGNoZWNrVWNoYXIo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0s
IC0xKV0pLCAwKTsKKyAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAyNTUpXSksIDApOwogICAgIGNoZWNrVWNoYXIo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0s
IDApXSksIDI1NSk7CiB9CiAKQEAgLTI2OTEsOCArMjY3OSw3IEBAIHRlc3RzLnVjaGFyTFNoaWZ0
ID0gZnVuY3Rpb24oKQogICAgICAgICB9CiAgICAgYCk7CiAgICAgY2hlY2tVY2hhcihwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgMSksIG1h
a2VVaW50KHByb2dyYW0sIDcpXSksIDEyOCk7Ci0gICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgNjU1MzUpLCBtYWtl
VWludChwcm9ncmFtLCAyKV0pLCAyNTIpOwotICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIC0xKSwgbWFrZVVpbnQo
cHJvZ3JhbSwgNSldKSwgMjI0KTsKKyAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAyNTUpLCBtYWtlVWludChwcm9n
cmFtLCAyKV0pLCAyNTIpOwogICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIDApLCBtYWtlVWludChwcm9ncmFtLCAz
KV0pLCAwKTsKIH0KIApAQCAtMjcwNSw4ICsyNjkyLDggQEAgdGVzdHMudWNoYXJSU2hpZnQgPSBm
dW5jdGlvbigpCiAgICAgICAgIH0KICAgICBgKTsKICAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAxKSwgbWFrZVVp
bnQocHJvZ3JhbSwgNyldKSwgMCk7Ci0gICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgNjU1MzUpLCBtYWtlVWludChw
cm9ncmFtLCAyKV0pLCAyNTUpOwotICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIC0xKSwgbWFrZVVpbnQocHJvZ3Jh
bSwgNSldKSwgMjU1KTsKKyAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAyNTUpLCBtYWtlVWludChwcm9ncmFtLCAy
KV0pLCA2Myk7CisgICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgMjU1KSwgbWFrZVVpbnQocHJvZ3JhbSwgNSldKSwg
Nyk7CiAgICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFttYWtlVWNoYXIocHJvZ3JhbSwgMCksIG1ha2VVaW50KHByb2dyYW0sIDMpXSksIDApOwogfQog
CkBAIC03MjkzLDE0ICs3MjgwLDE0IEBAIHRlc3RzLnRleHR1cmVTYW1wbGUgPSBmdW5jdGlvbigp
IHsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTQi
LCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0p
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKV0pLCAoMTIgKyAxMyArIDIwICsgMjEpIC8gNCk7
CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzE0Iiwg
W3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFt
LCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoMTIgKyAxMyArIDIw
ICsgMjEpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbzE0IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjog
ImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
LjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndp
ZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VG
bG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAo
MzQgKyAzNSArIDM4ICsgMzkpIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbzE0IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwg
e21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9h
dChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0
ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4y
NSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgxMiArIDEzICsgMjAg
KyAyMSkgLyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vMTQiLCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAi
bGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygy
LCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgu
cG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgoKDEy
ICsgMTMgKyAyMCArIDIxKSAvIDQpICsgKCgzNCArIDM1ICsgMzggKyAzOSkgLyA0KSkgLyAyKTsK
KyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTQiLCBb
dGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VDYXN0
ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRW
YWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUy
RC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOwor
ICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28xNCIsIFt0
ZXh0dXJlMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIiLCBtaXBt
YXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMC41KSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkg
LyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5w
b3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKCgoMTIg
KyAxMyArIDIwICsgMjEpIC8gNCkgKyAoKDM0ICsgMzUgKyAzOCArIDM5KSAvIDQpKSAvIDIpOwog
ICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28xNSIsIFt0
ZXh0dXJlMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1h
a2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlSW50KHByb2dyYW0sIDApLCBtYWtlSW50KHBy
b2dyYW0sIDApXSksICgxMiArIDEzICsgMjAgKyAyMSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTUiLCBbdGV4dHVyZTJELCBtYWtlU2Ft
cGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9n
cmFtLCAwKSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoMTMg
KyAxNCArIDIxICsgMjIpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbzE1IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21h
Z0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5lUHRyLmxvYWRW
YWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MCksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVp
Z2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoMTMgKyAx
NCArIDIxICsgMjIpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbzE1IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZp
bHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9n
cmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1
ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCks
IG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0
KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoMzUgKyAzNiAr
IDM5ICsgNDApIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbzE1IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRl
cjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFt
LCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQu
ZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0
KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0
dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtl
SW50KHByb2dyYW0sIDApXSksICgxMyArIDE0ICsgMjEgKyAyMikgLyA0KTsKLSAgICBjaGVja0Zs
b2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTUiLCBbdGV4dHVyZTJELCBt
YWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAi
bGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAu
NSksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIu
bG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9n
cmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQu
ZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHBy
b2dyYW0sIDApXSksICgoKDEzICsgMTQgKyAyMSArIDIyKSAvIDQpICsgKCgzNSArIDM2ICsgMzkg
KyA0MCkgLyA0KSkgLyAyKTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vMTUiLCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmls
dGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDAuNSksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRl
eHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygy
LCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJv
Z3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDEzICsgMTQgKyAyMSArIDIyKSAvIDQp
OworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28xNSIs
IFt0ZXh0dXJlMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIiLCBt
aXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMC41KSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAu
NSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFt
LCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0
aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJ
bnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKCgoMTMgKyAxNCArIDIxICsg
MjIpIC8gNCkgKyAoKDM1ICsgMzYgKyAzOSArIDQwKSAvIDQpKSAvIDIpOwogICAgIGNoZWNrRmxv
YXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28xNiIsIFt0ZXh0dXJlMkQsIG1h
a2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9n
cmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
XSksICgxMiArIDEzICsgMjAgKyAyMSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTYiLCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9n
cmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxKV0pLCAoMzQgKyAzNSAr
IDM4ICsgMzkpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbzE2IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRl
cjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFt
LCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KV0pLCAoMTIgKyAxMyArIDIwICsgMjEpIC8g
NCk7CkBAIC03MzI2LDI1ICs3MzEzLDI1IEBAIHRlc3RzLnRleHR1cmVTYW1wbGUgPSBmdW5jdGlv
bigpIHsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
MjAiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJs
aW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MCldKSwgKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMCIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBs
ZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAu
NSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VG
bG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dy
YW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgxMiArIDEzICsg
MjAgKyAyMSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vMjAiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5G
aWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAv
IHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJE
LmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoMzQgKyAzNSArIDM4ICsgMzkpIC8gNCk7Ci0g
ICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIwIiwgW3Rl
eHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0p
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuMjUpIC8g
dGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCks
IG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAu
MjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoMTIgKyAxMyArIDIw
ICsgMjEpIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbzIwIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmls
dGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2Fk
VmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0s
IDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRy
LmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKCgoMTIgKyAxMyArIDIwICsgMjEpIC8gNCkgKyAoKDM0
ICsgMzUgKyAzOCArIDM5KSAvIDQpKSAvIDIpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMCIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIo
cHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSks
IG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0
ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRW
YWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUy
RC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOwor
ICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMCIsIFt0
ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciIs
IG1pcG1hcEZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9h
dChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCku
d2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFr
ZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5s
b2FkVmFsdWUoKS5oZWlnaHQpXSksICgoKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpICsgKCgzNCAr
IDM1ICsgMzggKyAzOSkgLyA0KSkgLyAyKTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vMjAiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHBy
b2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMCldKSwgKDU0ICsgNTUgKyA2MiArIDYzKSAvIDQpOwogICAg
IGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMCIsIFt0ZXh0
dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9h
ZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFt
LCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5o
ZWlnaHQpXSksICg1NCArIDU1ICsgNjIgKyA2MykgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjAiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VT
YW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFt
LCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChw
cm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoNzYgKyA3
NyArIDgwICsgODEpIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbzIwIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7
bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxKSwgbWFrZUZsb2F0KHByb2dyYW0s
IE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHBy
b2dyYW0sIE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVp
Z2h0KV0pLCAoNTQgKyA1NSArIDYyICsgNjMpIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIwIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2Ft
cGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFy
In0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1h
a2VGbG9hdChwcm9ncmFtLCAxKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkg
LyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwg
MC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKCgoNTQgKyA1NSAr
IDYyICsgNjMpIC8gNCkgKyAoKDc2ICsgNzcgKyA4MCArIDgxKSAvIDQpKSAvIDIpOworICAgIGNo
ZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMCIsIFt0ZXh0dXJl
MkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMSksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAv
IHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBv
dygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDU0ICsg
NTUgKyA2MiArIDYzKSAvIDQpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9u
KHByb2dyYW0sICJmb28yMCIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwg
e21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMSksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVy
ZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VG
bG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAu
NSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgoKDU0ICsgNTUgKyA2
MiArIDYzKSAvIDQpICsgKCg3NiArIDc3ICsgODAgKyA4MSkgLyA0KSkgLyAyKTsKICAgICBjaGVj
a0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjEiLCBbdGV4dHVyZTJE
QXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VJbnQocHJv
Z3JhbSwgMCksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDEyICsgMTMgKyAyMCArIDIxKSAvIDQp
OwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMSIs
IFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVh
ciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoMTMgKyAxNCArIDIx
ICsgMjIpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbzIxIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmls
dGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0
ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5l
UHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJv
Z3JhbSwgMCldKSwgKDEzICsgMTQgKyAyMSArIDIyKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMSIsIFt0ZXh0dXJlMkRBcnJheSwgbWFr
ZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCks
IG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0
KHByb2dyYW0sIDIgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50
KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgzNSArIDM2ICsgMzkgKyA0MCkg
LyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
MjEiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJs
aW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwg
MC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9n
cmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5w
b3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50
KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgxMyArIDE0ICsgMjEgKyAyMikg
LyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
MjEiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJs
aW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxv
YXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgp
LndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1h
a2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZh
bHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0p
LCAoKCgxMyArIDE0ICsgMjEgKyAyMikgLyA0KSArICgoMzUgKyAzNiArIDM5ICsgNDApIC8gNCkp
IC8gMik7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
bzIxIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAi
bGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAu
NSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgu
cG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHBy
b2dyYW0sIE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVp
Z2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoMTMgKyAx
NCArIDIxICsgMjIpIC8gNCk7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbzIxIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7
bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFt
LCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJl
MkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41
KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwg
MSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKCgoMTMgKyAxNCArIDIxICsgMjIpIC8gNCkgKyAo
KDM1ICsgMzYgKyAzOSArIDQwKSAvIDQpKSAvIDIpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMSIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBs
ZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAu
NSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUludChwcm9ncmFtLCAwKSwgbWFrZUlu
dChwcm9ncmFtLCAwKV0pLCAoNTQgKyA1NSArIDYyICsgNjMpIC8gNCk7CiAgICAgY2hlY2tGbG9h
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIxIiwgW3RleHR1cmUyREFycmF5
LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFt
LCAxKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VG
bG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlSW50KHByb2dyYW0s
IDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICg1NSArIDU2ICsgNjMgKyA2NCkgLyA0KTsKICAg
ICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjEiLCBbdGV4
dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSks
IG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDEpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5lUHRyLmxv
YWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCku
aGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoNTUg
KyA1NiArIDYzICsgNjQpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbzIxIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFt
LCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxKSwgbWFrZUZsb2F0KHByb2dy
YW0sIDIgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9n
cmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRl
eHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1h
a2VJbnQocHJvZ3JhbSwgMCldKSwgKDc3ICsgNzggKyA4MSArIDgyKSAvIDQpOwotICAgIGNoZWNr
RmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMSIsIFt0ZXh0dXJlMkRB
cnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUy
RC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRl
eHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1h
a2VJbnQocHJvZ3JhbSwgMCldKSwgKDU1ICsgNTYgKyA2MyArIDY0KSAvIDQpOwotICAgIGNoZWNr
RmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMSIsIFt0ZXh0dXJlMkRB
cnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZp
bHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9n
cmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRo
LnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0s
IE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBt
YWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgoKDU1ICsgNTYgKyA2
MyArIDY0KSAvIDQpICsgKCg3NyArIDc4ICsgODEgKyA4MikgLyA0KSkgLyAyKTsKKyAgICBjaGVj
a0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjEiLCBbdGV4dHVyZTJE
QXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDEpLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0
ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3co
MiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHBy
b2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICg1NSArIDU2ICsgNjMgKyA2NCkgLyA0
KTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjEi
LCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5l
YXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlQ2FzdGVk
RmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1
ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCks
IG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQ
dHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9n
cmFtLCAwKV0pLCAoKCg1NSArIDU2ICsgNjMgKyA2NCkgLyA0KSArICgoNzcgKyA3OCArIDgxICsg
ODIpIC8gNCkpIC8gMik7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbzIyIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFn
RmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
XSksICgxMiArIDEzICsgMjAgKyAyMSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjIiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVy
KHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMSldKSwgKDM0ICsgMzUgKyAzOCArIDM5KSAvIDQpOwogICAgIGNoZWNrRmxv
YXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMiIsIFt0ZXh0dXJlMkRBcnJh
eSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpXSksICgxMiArIDEzICsgMjAgKyAyMSkgLyA0
KTsKQEAgLTczNzIsNyArNzM1OSw3IEBAIHRlc3RzLnRleHR1cmVTYW1wbGUgPSBmdW5jdGlvbigp
IHsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTYi
LCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwg
bG9kTWluQ2xhbXA6IDEsIGxvZE1heENsYW1wOiAxfSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDIpXSksICgzNCAr
IDM1ICsgMzggKyAzOSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vMTYiLCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWlu
RmlsdGVyOiAibGluZWFyIiwgbG9kTWluQ2xhbXA6IDEsIGxvZE1heENsYW1wOiAxfSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDApXSksICgzNCArIDM1ICsgMzggKyAzOSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTQiLCBbdGV4dHVyZTJELCBtYWtlU2Ft
cGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFy
In0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1h
a2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgzNCArIDM1
ICsgMzggKyAzOSkgLyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vMTQiLCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmls
dGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIiwgbWF4QW5pc290cm9weTogMn0p
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VG
bG9hdChwcm9ncmFtLCA0IC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dy
YW0sICg0LzMpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoMzQgKyAz
NSArIDM4ICsgMzkpIC8gNCk7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbzE0IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZp
bHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVhciIsIG1heEFuaXNvdHJvcHk6IDJ9
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtl
RmxvYXQocHJvZ3JhbSwgNCAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9h
dChwcm9ncmFtLCAoNC8zKSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwg
KDM0ICsgMzUgKyAzOCArIDM5KSAvIDQpOwogICAgIGxldCB0ZXh0dXJlMURJbnQ0ID0gbWFrZTFE
VGV4dHVyZShwcm9ncmFtLCBbW1sxLCAyLCAzLCA0XSwgWzEwMCwgMjAwLCAzMDAsIDQwMF0sIFsx
MDEsIDIwMiwgMzAxLCA0MDFdLCBbMTMsIDE0LCAxNSwgMTZdXSwgW1sxNywgMTgsIDE5LCAyMF0s
IFsyMSwgMjIsIDIzLCAyNF1dLCBbWzI1LCAyNiwgMjcsIDI4XV1dLCAiaW50NCIpOwogICAgIGNo
ZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjQiLCBbdGV4dHVyZTFE
SW50NCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDAuNSldKSwgMTAwKTsKICAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbzI1IiwgW3RleHR1cmUxREludDQsIG1ha2VTYW1wbGVyKHByb2dy
YW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpXSksIDIw
MSk7CkBAIC03NDE0LDE0ICs3NDAxLDE0IEBAIHRlc3RzLnRleHR1cmVTYW1wbGUgPSBmdW5jdGlv
bigpIHsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
MzUiLCBbdGV4dHVyZURlcHRoMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJs
aW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApXSksICgxMiArIDEzICsgMjAgKyAy
MSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vMzUiLCBbdGV4dHVyZURlcHRoMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6
ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53
aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwg
KDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb28zNSIsIFt0ZXh0dXJlRGVwdGgyRCwgbWFrZVNhbXBsZXIocHJv
Z3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1h
a2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5l
UHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZh
bHVlKCkuaGVpZ2h0KV0pLCAoMzQgKyAzNSArIDM4ICsgMzkpIC8gNCk7Ci0gICAgY2hlY2tGbG9h
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzM1IiwgW3RleHR1cmVEZXB0aDJE
LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFt
LCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChw
cm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhl
aWdodCldKSwgKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOwotICAgIGNoZWNrRmxvYXQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zNSIsIFt0ZXh0dXJlRGVwdGgyRCwgbWFrZVNh
bXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVh
ciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRW
YWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIu
bG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoKCgxMiArIDEzICsgMjAgKyAyMSkgLyA0KSArICgoMzQg
KyAzNSArIDM4ICsgMzkpIC8gNCkpIC8gMik7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbzM1IiwgW3RleHR1cmVEZXB0aDJELCBtYWtlU2FtcGxlcihw
cm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBv
dygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0
KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9n
cmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdo
dCldKSwgKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zNSIsIFt0ZXh0dXJlRGVwdGgyRCwgbWFrZVNhbXBs
ZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVhciJ9
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtl
Q2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxv
YWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVy
ZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoKCgxMiArIDEzICsgMjAgKyAyMSkgLyA0
KSArICgoMzQgKyAzNSArIDM4ICsgMzkpIC8gNCkpIC8gMik7CiAgICAgY2hlY2tGbG9hdChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzM2IiwgW3RleHR1cmVEZXB0aDJELCBtYWtl
U2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKSwgbWFrZUludChwcm9ncmFtLCAwKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAo
MTIgKyAxMyArIDIwICsgMjEpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbzM2IiwgW3RleHR1cmVEZXB0aDJELCBtYWtlU2FtcGxlcihwcm9n
cmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoMTMgKyAxNCArIDIx
ICsgMjIpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbzM2IiwgW3RleHR1cmVEZXB0aDJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmls
dGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVl
KCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQp
LCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgxMyArIDE0ICsg
MjEgKyAyMikgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vMzYiLCBbdGV4dHVyZURlcHRoMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5G
aWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDIgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFs
dWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdo
dCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDM1ICsgMzYg
KyAzOSArIDQwKSAvIDQpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28zNiIsIFt0ZXh0dXJlRGVwdGgyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21p
bkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0
dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkg
LyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEp
LCBtYWtlSW50KHByb2dyYW0sIDApXSksICgxMyArIDE0ICsgMjEgKyAyMikgLyA0KTsKLSAgICBj
aGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMzYiLCBbdGV4dHVy
ZURlcHRoMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIiLCBtaXBt
YXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0
dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAv
IHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSks
IG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKCgoMTMgKyAxNCArIDIxICsgMjIpIC8gNCkgKyAoKDM1
ICsgMzYgKyAzOSArIDQwKSAvIDQpKSAvIDIpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb28zNiIsIFt0ZXh0dXJlRGVwdGgyRCwgbWFrZVNhbXBsZXIo
cHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSks
IG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5w
b3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJv
Z3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWln
aHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgxMyArIDE0
ICsgMjEgKyAyMikgLyA0KTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vMzYiLCBbdGV4dHVyZURlcHRoMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHtt
aW5GaWx0ZXI6ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUNhc3RlZEZsb2F0KHBy
b2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0
aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2Fz
dGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRW
YWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCld
KSwgKCgoMTMgKyAxNCArIDIxICsgMjIpIC8gNCkgKyAoKDM1ICsgMzYgKyAzOSArIDQwKSAvIDQp
KSAvIDIpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28zNyIsIFt0ZXh0dXJlRGVwdGgyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjog
ImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
LjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCldKSwgKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOwog
ICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zNyIsIFt0
ZXh0dXJlRGVwdGgyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMSldKSwgKDM0ICsgMzUgKyAzOCArIDM5KSAvIDQpOwogICAgIGNoZWNr
RmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zNyIsIFt0ZXh0dXJlRGVw
dGgyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMC41KV0pLCAoMTIgKyAxMyArIDIwICsgMjEpIC8gNCk7CkBAIC03NDQ3LDI1ICs3NDM0
LDI1IEBAIHRlc3RzLnRleHR1cmVTYW1wbGUgPSBmdW5jdGlvbigpIHsKICAgICBjaGVja0Zsb2F0
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDEiLCBbdGV4dHVyZURlcHRoMkRB
cnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKV0pLCAoMTIgKyAxMyAr
IDIwICsgMjEpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbzQxIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0s
IHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dy
YW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4
dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoMTIgKyAxMyArIDIwICsgMjEpIC8g
NCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQx
IiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6
ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1
cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIu
bG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoMzQgKyAzNSArIDM4ICsgMzkpIC8gNCk7Ci0gICAgY2hl
Y2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQxIiwgW3RleHR1cmVE
ZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSks
IG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0
ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4y
NSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgxMiArIDEzICsgMjAg
KyAyMSkgLyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vNDEiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21p
bkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIu
bG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9n
cmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQu
ZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgoKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpICsg
KCgzNCArIDM1ICsgMzggKyAzOSkgLyA0KSkgLyAyKTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDEiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFr
ZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCks
IG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5l
UHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAv
IHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDEyICsgMTMgKyAyMCArIDIx
KSAvIDQpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b280MSIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmls
dGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0
ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRl
eHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKCgoMTIgKyAxMyArIDIwICsgMjEp
IC8gNCkgKyAoKDM0ICsgMzUgKyAzOCArIDM5KSAvIDQpKSAvIDIpOwogICAgIGNoZWNrRmxvYXQo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280MSIsIFt0ZXh0dXJlRGVwdGgyREFy
cmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9n
cmFtLCAxKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1h
a2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApXSksICg1NCArIDU1ICsg
NjIgKyA2MykgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vNDEiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwg
e21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9h
dChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFt
LCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0
dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICg1NCArIDU1ICsgNjIgKyA2MykgLyA0
KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDEi
LCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjog
ImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
LjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVy
ZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VG
bG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDIgLyB0ZXh0dXJlMkQuZVB0ci5s
b2FkVmFsdWUoKS5oZWlnaHQpXSksICg3NiArIDc3ICsgODAgKyA4MSkgLyA0KTsKLSAgICBjaGVj
a0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDEiLCBbdGV4dHVyZURl
cHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRl
eHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1
KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDU0ICsgNTUgKyA2MiAr
IDYzKSAvIDQpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb280MSIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWlu
RmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAx
KSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5s
b2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dy
YW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5l
UHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKCgoNTQgKyA1NSArIDYyICsgNjMpIC8gNCkgKyAo
KDc2ICsgNzcgKyA4MCArIDgxKSAvIDQpKSAvIDIpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280MSIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtl
U2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxKSwg
bWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQ
dHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuMjUpIC8g
dGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoNTQgKyA1NSArIDYyICsgNjMp
IC8gNCk7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
bzQxIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0
ZXI6ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFt
LCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpLCBt
YWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRy
LmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4
dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoKCg1NCArIDU1ICsgNjIgKyA2Mykg
LyA0KSArICgoNzYgKyA3NyArIDgwICsgODEpIC8gNCkpIC8gMik7CiAgICAgY2hlY2tGbG9hdChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQyIiwgW3RleHR1cmVEZXB0aDJEQXJy
YXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9h
dChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VJbnQocHJvZ3Jh
bSwgMCksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOwog
ICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280MiIsIFt0
ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGlu
ZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSks
IG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
LCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgxMyArIDE0ICsg
MjEgKyAyMikgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vNDIiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwg
e21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9h
dChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFt
LCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0
dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtl
SW50KHByb2dyYW0sIDApXSksICgxMyArIDE0ICsgMjEgKyAyMikgLyA0KTsKICAgICBjaGVja0Zs
b2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDIiLCBbdGV4dHVyZURlcHRo
MkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZh
bHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDIgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWln
aHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgzNSArIDM2
ICsgMzkgKyA0MCkgLyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vNDIiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3Jh
bSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9n
cmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRo
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9h
dChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgp
LmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDEz
ICsgMTQgKyAyMSArIDIyKSAvIDQpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb280MiIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihw
cm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0
dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAv
IHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSks
IG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKCgoMTMgKyAxNCArIDIxICsgMjIpIC8gNCkgKyAoKDM1
ICsgMzYgKyAzOSArIDQwKSAvIDQpKSAvIDIpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sICJmb280MiIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2Ft
cGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFr
ZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIu
bG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9n
cmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuMjUpIC8gdGV4
dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFr
ZUludChwcm9ncmFtLCAwKV0pLCAoMTMgKyAxNCArIDIxICsgMjIpIC8gNCk7CisgICAgY2hlY2tG
bG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQyIiwgW3RleHR1cmVEZXB0
aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIiLCBtaXBt
YXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJv
Z3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRo
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0
ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZh
bHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0p
LCAoKCgxMyArIDE0ICsgMjEgKyAyMikgLyA0KSArICgoMzUgKyAzNiArIDM5ICsgNDApIC8gNCkp
IC8gMik7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
bzQyIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0
ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1h
a2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VJbnQocHJvZ3JhbSwgMCksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDU0
ICsgNTUgKyA2MiArIDYzKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb280MiIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihw
cm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxKSwgbWFrZUZsb2F0
KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHBy
b2dyYW0sIDApXSksICg1NSArIDU2ICsgNjMgKyA2NCkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDIiLCBbdGV4dHVyZURlcHRoMkRBcnJh
eSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCku
d2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBt
YWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICg1NSArIDU2ICsgNjMg
KyA2NCkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vNDIiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21p
bkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCAy
IC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDIgLyB0ZXh0dXJl
MkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50
KHByb2dyYW0sIDApXSksICg3NyArIDc4ICsgODEgKyA4MikgLyA0KTsKLSAgICBjaGVja0Zsb2F0
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDIiLCBbdGV4dHVyZURlcHRoMkRB
cnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUy
RC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRl
eHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1h
a2VJbnQocHJvZ3JhbSwgMCldKSwgKDU1ICsgNTYgKyA2MyArIDY0KSAvIDQpOwotICAgIGNoZWNr
RmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280MiIsIFt0ZXh0dXJlRGVw
dGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlw
bWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxKSwgbWFrZUZsb2F0KHByb2dyYW0s
IE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1h
a2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJv
Z3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdo
dCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKCgoNTUgKyA1
NiArIDYzICsgNjQpIC8gNCkgKyAoKDc3ICsgNzggKyA4MSArIDgyKSAvIDQpKSAvIDIpOworICAg
IGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280MiIsIFt0ZXh0
dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFy
In0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1h
a2VGbG9hdChwcm9ncmFtLCAxKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIs
IDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0s
IE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwg
bWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoNTUgKyA1NiArIDYz
ICsgNjQpIC8gNCk7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbzQyIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHtt
aW5GaWx0ZXI6ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0s
IDEpLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUy
RC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUp
IC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAx
KSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoKCg1NSArIDU2ICsgNjMgKyA2NCkgLyA0KSArICgo
NzcgKyA3OCArIDgxICsgODIpIC8gNCkpIC8gMik7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQzIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VT
YW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFt
LCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCldKSwgKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOwogICAgIGNo
ZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280MyIsIFt0ZXh0dXJl
RGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0p
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpXSksICgzNCArIDM1ICsgMzgg
KyAzOSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vNDMiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21p
bkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAw
LjUpXSksICgxMiArIDEzICsgMjAgKyAyMSkgLyA0KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350126</attachid>
            <date>2018-09-19 09:49:53 -0700</date>
            <delta_ts>2018-09-19 13:08:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189502-20180919094950.patch</filename>
            <type>text/plain</type>
            <size>58074</size>
            <attacher name="Thomas Denney">tdenney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2MjEwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzJjNGQyYTY3ZDQ1NTYxNTBhMTVmMjdjNDdmNDNkOWY3
ZDFhODUzNS4uOTZlODMxZTEwNzNiZjM0NmNhYzdhMDk3M2Q3Mzc5ZDRhNGUzNmEwMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMw
IEBACisyMDE4LTA5LTExICBUaG9tYXMgRGVubmV5ICA8dGRlbm5leUBhcHBsZS5jb20+CisKKyAg
ICAgICAgW1dITFNMXSBJbXByb3ZlIHRlc3Qgc3VpdGUgdHlwZSBzYWZldHkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTUwMgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVhY2ggb2YgdGhlICdtYWtlVCcg
ZnVuY3Rpb25zIG5vdyBjYWxsIHRoZSByZWxldmFudCBjYXN0IGZ1bmN0aW9uIG9uIHRoZQorICAg
ICAgICB2YWx1ZSBiZWZvcmUgaGFuZC4gVGhlIGNoZWNrTnVtYmVyIGZ1bmN0aW9uIGhhcyBhbHNv
IGJlZW4gcmVtb3ZlZCBhbmQKKyAgICAgICAgaXRzIHVzZXMgaGF2ZSBiZWVuIHJlcGxhY2VkIHdp
dGggZnVuY3Rpb25zIHRoYXQgYWxzbyBjaGVjayB0aGUgdHlwZS4KKyAgICAgICAgU29tZSBvZiB0
aGUgYXJpdGhtZXRpYyBjaGVja3MgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGF0IHRo
ZQorICAgICAgICBjYXN0cyBoYXBwZW4gb3V0c2lkZSBvZiBXSExTTCBldmFsdWF0aW9uLiBPdGhl
ciB0ZXN0cyBoYXZlIGFsc28gYmVlbgorICAgICAgICB1cGRhdGVkIHRvIHJlZmxlY3QgdGhhdCBz
b21lIHZhbHVlcyBjYW5ub3QgYmUgcHJlY2lzZWx5IGV4cHJlc3NlZCBpbgorICAgICAgICAzMi1i
aXQgZmxvYXRpbmcgcG9pbnQuCisKKyAgICAgICAgKiBXZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9D
YXN0cy5qczoKKyAgICAgICAgKGNhc3RUb0Jvb2wpOiBBZGRlZC4KKyAgICAgICAgKGNhc3RBbmRD
aGVja1ZhbHVlKTogQWRkZWQuCisgICAgICAgIChpc0JpdHdpc2VFcXVpdmFsZW50KTogTW92ZWQg
ZnJvbSBJbnRyaW5zaWNzLmpzLgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0lu
dHJpbnNpY3MuanM6IERpdHRvLgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1NQ
SVJWLmh0bWw6IFVwZGF0ZSBkZXBkZW5jaWVzLgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5n
dWFnZVJJL1Rlc3QuaHRtbDogRGl0dG8uCisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdl
UkkvVGVzdC5qczogVXBkYXRlIG1ha2VUIGZ1bmN0aW9ucyB0byBkbyBhIGNhc3QKKyAgICAgICAg
YW5kIGNoZWNrIHRoZSByZXN1bHQuIFNvbWUgdGVzdHMgd2VyZSBhbHNvIHVwZGF0ZWQgdG8gcmVm
bGVjdCB0aGUgY2hhbmdlCisgICAgICAgIGluIHRoZSBiZWhhdmlvciBvZiB0aGVzZSBmdW5jdGlv
bnMuCisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvaW5kZXguaHRtbDogVXBkYXRl
IGRlcGVuZGVuY2llcy4KKwogMjAxOC0wOS0xOSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56
YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV1bR1RLXSBVbnJldmlld2VkLCB0cnkgIzMg
dG8gZml4IGEgdHlwbwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkv
Q2FzdHMuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DYXN0cy5qcwppbmRleCBh
Y2JiMmVhMDI4NTM1YjQ2NzA0MjMwOTdmN2E1YjU3Y2FmNmI4YjFjLi5jOGYwOGNlNjlhN2YzMmU4
YTExYTA1MDQzNTJhNDA1MmRmMTY0ZDNmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5n
TGFuZ3VhZ2VSSS9DYXN0cy5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9D
YXN0cy5qcwpAQCAtMzksNiArMzksMTEgQEAgZnVuY3Rpb24gYml0d2lzZUNhc3QodHlwZWRBcnJh
eUNvbnN0cnVjdG9yMSwgdHlwZWRBcnJheUNvbnN0cnVjdG9yMiwgdmFsdWUpCiAgICAgcmV0dXJu
IHR5cGVkQXJyYXkyWzBdOwogfQogCitmdW5jdGlvbiBjYXN0VG9Cb29sKHZhbHVlKQoreworICAg
IHJldHVybiAhIXZhbHVlOworfQorCiBmdW5jdGlvbiBjYXN0VG9VY2hhcihudW1iZXIpCiB7CiAg
ICAgcmV0dXJuIG51bWJlciAmIDB4RkY7CkBAIC0xMTMsMyArMTE4LDI1IEBAIGZ1bmN0aW9uIGNh
c3RUb0Zsb2F0KG51bWJlcikKIHsKICAgICByZXR1cm4gTWF0aC5mcm91bmQobnVtYmVyKTsKIH0K
KworZnVuY3Rpb24gY2FzdEFuZENoZWNrVmFsdWUoY2FzdEZ1bmN0aW9uLCB2YWx1ZSkKK3sKKyAg
ICBjb25zdCBjYXN0ZWRWYWx1ZSA9IGNhc3RGdW5jdGlvbih2YWx1ZSk7CisgICAgaWYgKCFpc0Jp
dHdpc2VFcXVpdmFsZW50KGNhc3RlZFZhbHVlLCB2YWx1ZSkpCisgICAgICAgIHRocm93IG5ldyBF
cnJvcihgJHt2YWx1ZX0gd2FzIGNhc3RlZCBhbmQgeWllbGRlZCAke2Nhc3RlZFZhbHVlfSwgd2hp
Y2ggaXMgbm90IGJpdHdpc2UgZXF1aXZhbGVudC5gKTsKKyAgICByZXR1cm4gY2FzdGVkVmFsdWU7
Cit9CisKK2Z1bmN0aW9uIGlzQml0d2lzZUVxdWl2YWxlbnQobGVmdCwgcmlnaHQpCit7CisgICAg
bGV0IGRvdWJsZUFycmF5ID0gbmV3IEZsb2F0NjRBcnJheSgxKTsKKyAgICBsZXQgaW50QXJyYXkg
PSBuZXcgSW50MzJBcnJheShkb3VibGVBcnJheS5idWZmZXIpOworICAgIGRvdWJsZUFycmF5WzBd
ID0gbGVmdDsKKyAgICBsZXQgbGVmdEludHMgPSBJbnQzMkFycmF5LmZyb20oaW50QXJyYXkpOwor
ICAgIGRvdWJsZUFycmF5WzBdID0gcmlnaHQ7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyOyAr
K2kpIHsKKyAgICAgICAgaWYgKGxlZnRJbnRzW2ldICE9IGludEFycmF5W2ldKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0ludHJpbnNpY3MuanMgYi9Ub29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9JbnRyaW5zaWNzLmpzCmluZGV4IDFiMGExMmFmNDAwMmE5MGJl
NjM1ZTczOGYxZDVlN2Q5MGRjYjA0ZDMuLjY4YjBkZDU3M2ZjMDJlYTM4NTE3OTU1ZDgzODhhNjQ2
YWE5MGE1OTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0ludHJp
bnNpY3MuanMKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvSW50cmluc2ljcy5q
cwpAQCAtMzQsMjAgKzM0LDYgQEAgY2xhc3MgSW50cmluc2ljcyB7CiAgICAgICAgIC8vIEZvciBl
eGFtcGxlLCBpZiBhIG5hdGl2ZSBmdW5jdGlvbiBpcyBkZWNsYXJlZCB1c2luZyAiaW50IiByYXRo
ZXIgdGhhbiAiaW50IiwgdGhlbiB3ZSBtdXN0CiAgICAgICAgIC8vIHVzZSAiaW50IiBoZXJlLCBz
aW5jZSB3ZSBkb24ndCB5ZXQga25vdyB0aGF0IHRoZXkgYXJlIHRoZSBzYW1lIHR5cGUuCiAKLSAg
ICAgICAgZnVuY3Rpb24gaXNCaXR3aXNlRXF1aXZhbGVudChsZWZ0LCByaWdodCkKLSAgICAgICAg
ewotICAgICAgICAgICAgbGV0IGRvdWJsZUFycmF5ID0gbmV3IEZsb2F0NjRBcnJheSgxKTsKLSAg
ICAgICAgICAgIGxldCBpbnRBcnJheSA9IG5ldyBJbnQzMkFycmF5KGRvdWJsZUFycmF5LmJ1ZmZl
cik7Ci0gICAgICAgICAgICBkb3VibGVBcnJheVswXSA9IGxlZnQ7Ci0gICAgICAgICAgICBsZXQg
bGVmdEludHMgPSBJbnQzMkFycmF5LmZyb20oaW50QXJyYXkpOwotICAgICAgICAgICAgZG91Ymxl
QXJyYXlbMF0gPSByaWdodDsKLSAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMjsgKytp
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGxlZnRJbnRzW2ldICE9IGludEFycmF5W2ldKQotICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotCiAgICAgICAgIHRoaXMuX21hcC5zZXQoCiAgICAg
ICAgICAgICAibmF0aXZlIHR5cGVkZWYgdm9pZCIsCiAgICAgICAgICAgICB0eXBlID0+IHsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuanMgYi9Ub29scy9X
ZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXN0LmpzCmluZGV4IDJiY2VhN2Q3ZGEzY2IzODJmMWFh
YmUyMTY3ZWYzYTc4OTEzOTIzMzMuLjVmZDRiYjNiYmY5M2E1NWMyMTU3N2U0NTA3YTFlNTA0OGQ0
YmY1NjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuanMK
KysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5qcwpAQCAtNTUsMzIgKzU1
LDM3IEBAIGZ1bmN0aW9uIGRvTGV4KGNvZGUpCiAKIGZ1bmN0aW9uIG1ha2VJbnQocHJvZ3JhbSwg
dmFsdWUpCiB7Ci0gICAgcmV0dXJuIFR5cGVkVmFsdWUuYm94KHByb2dyYW0uaW50cmluc2ljcy5p
bnQsIHZhbHVlKTsKKyAgICByZXR1cm4gVHlwZWRWYWx1ZS5ib3gocHJvZ3JhbS5pbnRyaW5zaWNz
LmludCwgY2FzdEFuZENoZWNrVmFsdWUoY2FzdFRvSW50LCB2YWx1ZSkpOwogfQogCiBmdW5jdGlv
biBtYWtlVWludChwcm9ncmFtLCB2YWx1ZSkKIHsKLSAgICByZXR1cm4gVHlwZWRWYWx1ZS5ib3go
cHJvZ3JhbS5pbnRyaW5zaWNzLnVpbnQsIHZhbHVlKTsKKyAgICByZXR1cm4gVHlwZWRWYWx1ZS5i
b3gocHJvZ3JhbS5pbnRyaW5zaWNzLnVpbnQsIGNhc3RBbmRDaGVja1ZhbHVlKGNhc3RUb1VpbnQs
IHZhbHVlKSk7CiB9CiAKIGZ1bmN0aW9uIG1ha2VVY2hhcihwcm9ncmFtLCB2YWx1ZSkKIHsKLSAg
ICByZXR1cm4gVHlwZWRWYWx1ZS5ib3gocHJvZ3JhbS5pbnRyaW5zaWNzLnVjaGFyLCB2YWx1ZSk7
CisgICAgcmV0dXJuIFR5cGVkVmFsdWUuYm94KHByb2dyYW0uaW50cmluc2ljcy51Y2hhciwgY2Fz
dEFuZENoZWNrVmFsdWUoY2FzdFRvVWNoYXIsIHZhbHVlKSk7CiB9CiAKIGZ1bmN0aW9uIG1ha2VC
b29sKHByb2dyYW0sIHZhbHVlKQogewotICAgIHJldHVybiBUeXBlZFZhbHVlLmJveChwcm9ncmFt
LmludHJpbnNpY3MuYm9vbCwgdmFsdWUpOworICAgIHJldHVybiBUeXBlZFZhbHVlLmJveChwcm9n
cmFtLmludHJpbnNpY3MuYm9vbCwgY2FzdEFuZENoZWNrVmFsdWUoY2FzdFRvQm9vbCwgdmFsdWUp
KTsKIH0KIAogZnVuY3Rpb24gbWFrZUZsb2F0KHByb2dyYW0sIHZhbHVlKQogewotICAgIHJldHVy
biBUeXBlZFZhbHVlLmJveChwcm9ncmFtLmludHJpbnNpY3MuZmxvYXQsIHZhbHVlKTsKKyAgICBy
ZXR1cm4gVHlwZWRWYWx1ZS5ib3gocHJvZ3JhbS5pbnRyaW5zaWNzLmZsb2F0LCBjYXN0QW5kQ2hl
Y2tWYWx1ZShjYXN0VG9GbG9hdCwgdmFsdWUpKTsKK30KKworZnVuY3Rpb24gbWFrZUNhc3RlZEZs
b2F0KHByb2dyYW0sIHZhbHVlKQoreworICAgIHJldHVybiBUeXBlZFZhbHVlLmJveChwcm9ncmFt
LmludHJpbnNpY3MuZmxvYXQsIGNhc3RUb0Zsb2F0KHZhbHVlKSk7CiB9CiAKIGZ1bmN0aW9uIG1h
a2VIYWxmKHByb2dyYW0sIHZhbHVlKQogewotICAgIHJldHVybiBUeXBlZFZhbHVlLmJveChwcm9n
cmFtLmludHJpbnNpY3MuaGFsZiwgdmFsdWUpOworICAgIHJldHVybiBUeXBlZFZhbHVlLmJveChw
cm9ncmFtLmludHJpbnNpY3MuaGFsZiwgY2FzdEFuZENoZWNrVmFsdWUoY2FzdFRvSGFsZiwgdmFs
dWUpKTsKIH0KIAogZnVuY3Rpb24gbWFrZUVudW0ocHJvZ3JhbSwgZW51bU5hbWUsIHZhbHVlKQpA
QCAtMjIxLDE5ICsyMjYsMTIgQEAgZnVuY3Rpb24gbWFrZVJXMkREZXB0aFRleHR1cmVBcnJheShw
cm9ncmFtLCBhcnJheSwgZWxlbWVudFR5cGUpCiAgICAgcmV0dXJuIFR5cGVkVmFsdWUuYm94KHBy
b2dyYW0uaW50cmluc2ljc1tgUldUZXh0dXJlRGVwdGgyREFycmF5PCR7ZWxlbWVudFR5cGV9PmBd
LCBuZXcgVGV4dHVyZURlcHRoMkRBcnJheVJXKGVsZW1lbnRUeXBlLCBhcnJheSkpOwogfQogCi1m
dW5jdGlvbiBjaGVja051bWJlcihwcm9ncmFtLCByZXN1bHQsIGV4cGVjdGVkKQotewotICAgIGlm
ICghcmVzdWx0LnR5cGUudW5pZnlOb2RlLmlzTnVtYmVyKQotICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIldyb25nIHJlc3VsdCB0eXBlOyByZXN1bHQ6ICIgKyByZXN1bHQpOwotICAgIGlmIChyZXN1
bHQudmFsdWUgIT0gZXhwZWN0ZWQpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcigiV3JvbmcgcmVz
dWx0OiAiICsgcmVzdWx0LnZhbHVlICsgIiAoZXhwZWN0ZWQgIiArIGV4cGVjdGVkICsgIikiKTsK
LX0KLQogZnVuY3Rpb24gY2hlY2tJbnQocHJvZ3JhbSwgcmVzdWx0LCBleHBlY3RlZCkKIHsKICAg
ICBpZiAoIXJlc3VsdC50eXBlLmVxdWFscyhwcm9ncmFtLmludHJpbnNpY3MuaW50KSkKICAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJXcm9uZyByZXN1bHQgdHlwZTsgcmVzdWx0OiAiICsgcmVzdWx0
KTsKLSAgICBjaGVja051bWJlcihwcm9ncmFtLCByZXN1bHQsIGV4cGVjdGVkKTsKKyAgICBpZiAo
cmVzdWx0LnZhbHVlICE9IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFdyb25n
IHJlc3VsdDogJHtyZXN1bHQudmFsdWV9IChleHBlY3RlZCAke2V4cGVjdGVkfSlgKTsKIH0KIAog
ZnVuY3Rpb24gY2hlY2tFbnVtKHByb2dyYW0sIHJlc3VsdCwgZXhwZWN0ZWQpCkBAIC0xMDM5LDEz
ICsxMDM3LDEzIEBAIHRlc3RzLnBhc3NOdWxsVG9QdHJNb25vbW9ycGhpY0FycmF5UmVmID0gZnVu
Y3Rpb24oKQogdGVzdHMucmV0dXJuSW50TGl0ZXJhbFVpbnQgPSBmdW5jdGlvbigpCiB7CiAgICAg
bGV0IHByb2dyYW0gPSBkb1ByZXAoInRlc3QgdWludCBmb28oKSB7IHJldHVybiA0MjsgfSIpOwot
ICAgIGNoZWNrTnVtYmVyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10p
LCA0Mik7CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW10pLCA0Mik7CiB9CiAKIHRlc3RzLnJldHVybkludExpdGVyYWxGbG9hdCA9IGZ1bmN0aW9u
KCkKIHsKICAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcCgidGVzdCBmbG9hdCBmb28oKSB7IHJldHVy
biA0MjsgfSIpOwotICAgIGNoZWNrTnVtYmVyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vIiwgW10pLCA0Mik7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFtdKSwgNDIpOwogfQogCiB0ZXN0cy5iYWRJbnRMaXRlcmFsRm9ySW50
ID0gZnVuY3Rpb24oKQpAQCAtMjU1Miw3ICsyNTUwLDcgQEAgdGVzdHMudWludEJpdEFuZCA9IGZ1
bmN0aW9uKCkKICAgICBgKTsKICAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgMSksIG1ha2VVaW50KHByb2dyYW0sIDcp
XSksIDEpOwogICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFttYWtlVWludChwcm9ncmFtLCA2NTUzNSksIG1ha2VVaW50KHByb2dyYW0sIDQyKV0pLCA0
Mik7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W21ha2VVaW50KHByb2dyYW0sIC0xKSwgbWFrZVVpbnQocHJvZ3JhbSwgLTcpXSksIDQyOTQ5Njcy
ODkpOworICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIs
IFttYWtlVWludChwcm9ncmFtLCBNYXRoLnBvdygyLCAzMikgLSAxKSwgbWFrZVVpbnQocHJvZ3Jh
bSwgTWF0aC5wb3coMiwgMzIpIC0gNyldKSwgNDI5NDk2NzI4OSk7CiAgICAgY2hlY2tVaW50KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIDAp
LCBtYWtlVWludChwcm9ncmFtLCA4NTczMildKSwgMCk7CiB9CiAKQEAgLTI1NjYsNyArMjU2NCw3
IEBAIHRlc3RzLnVpbnRCaXRPciA9IGZ1bmN0aW9uKCkKICAgICBgKTsKICAgICBjaGVja1VpbnQo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwg
MSksIG1ha2VVaW50KHByb2dyYW0sIDcpXSksIDcpOwogICAgIGNoZWNrVWludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFtLCA2NTUzNSksIG1h
a2VVaW50KHByb2dyYW0sIDQyKV0pLCA2NTUzNSk7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIC0xKSwgbWFrZVVp
bnQocHJvZ3JhbSwgLTcpXSksIDQyOTQ5NjcyOTUpOworICAgIGNoZWNrVWludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFtLCBNYXRoLnBvdygy
LCAzMikgLSAxKSwgbWFrZVVpbnQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMzIpICAtIDcpXSksIDQy
OTQ5NjcyOTUpOwogICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwg
ImZvbyIsIFttYWtlVWludChwcm9ncmFtLCAwKSwgbWFrZVVpbnQocHJvZ3JhbSwgODU3MzIpXSks
IDg1NzMyKTsKIH0KIApAQCAtMjU4MCw3ICsyNTc4LDcgQEAgdGVzdHMudWludEJpdFhvciA9IGZ1
bmN0aW9uKCkKICAgICBgKTsKICAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgMSksIG1ha2VVaW50KHByb2dyYW0sIDcp
XSksIDYpOwogICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
byIsIFttYWtlVWludChwcm9ncmFtLCA2NTUzNSksIG1ha2VVaW50KHByb2dyYW0sIDQyKV0pLCA2
NTQ5Myk7Ci0gICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW21ha2VVaW50KHByb2dyYW0sIC0xKSwgbWFrZVVpbnQocHJvZ3JhbSwgLTcpXSksIDYpOwor
ICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtl
VWludChwcm9ncmFtLCBNYXRoLnBvdygyLCAzMikgLSAxKSwgbWFrZVVpbnQocHJvZ3JhbSwgTWF0
aC5wb3coMiwgMzIpIC0gNyldKSwgNik7CiAgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIDApLCBtYWtlVWludChwcm9n
cmFtLCA4NTczMildKSwgODU3MzIpOwogfQogCkBAIC0yNTk0LDcgKzI1OTIsNyBAQCB0ZXN0cy51
aW50Qml0Tm90ID0gZnVuY3Rpb24oKQogICAgIGApOwogICAgIGNoZWNrVWludChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9ncmFtLCAxKV0pLCA0Mjk0
OTY3Mjk0KTsKICAgICBjaGVja1VpbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgNjU1MzUpXSksIDQyOTQ5MDE3NjApOwotICAgIGNoZWNr
VWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWludChwcm9n
cmFtLCAtMSldKSwgMCk7CisgICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIE1hdGgucG93KDIsIDMyKSAtIDEpXSksIDAp
OwogICAgIGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtt
YWtlVWludChwcm9ncmFtLCAwKV0pLCA0Mjk0OTY3Mjk1KTsKIH0KIApAQCAtMjYwOCw3ICsyNjA2
LDcgQEAgdGVzdHMudWludExTaGlmdCA9IGZ1bmN0aW9uKCkKICAgICBgKTsKICAgICBjaGVja1Vp
bnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3Jh
bSwgMSksIG1ha2VVaW50KHByb2dyYW0sIDcpXSksIDEyOCk7CiAgICAgY2hlY2tVaW50KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIDY1NTM1
KSwgbWFrZVVpbnQocHJvZ3JhbSwgMildKSwgMjYyMTQwKTsKLSAgICBjaGVja1VpbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgLTEpLCBt
YWtlVWludChwcm9ncmFtLCA1KV0pLCA0Mjk0OTY3MjY0KTsKKyAgICBjaGVja1VpbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgTWF0aC5w
b3coMiwgMzIpIC0gMSksIG1ha2VVaW50KHByb2dyYW0sIDUpXSksIDQyOTQ5NjcyNjQpOwogICAg
IGNoZWNrVWludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWlu
dChwcm9ncmFtLCAwKSwgbWFrZVVpbnQocHJvZ3JhbSwgMyldKSwgMCk7CiB9CiAKQEAgLTI2MjIs
NyArMjYyMCw3IEBAIHRlc3RzLnVpbnRSU2hpZnQgPSBmdW5jdGlvbigpCiAgICAgYCk7CiAgICAg
Y2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50
KHByb2dyYW0sIDEpLCBtYWtlVWludChwcm9ncmFtLCA3KV0pLCAwKTsKICAgICBjaGVja1VpbnQo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwg
NjU1MzUpLCBtYWtlVWludChwcm9ncmFtLCAyKV0pLCAxNjM4Myk7Ci0gICAgY2hlY2tVaW50KHBy
b2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVaW50KHByb2dyYW0sIC0x
KSwgbWFrZVVpbnQocHJvZ3JhbSwgNSldKSwgMTM0MjE3NzI3KTsKKyAgICBjaGVja1VpbnQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVpbnQocHJvZ3JhbSwgTWF0
aC5wb3coMiwgMzIpIC0gMSksIG1ha2VVaW50KHByb2dyYW0sIDUpXSksIDEzNDIxNzcyNyk7CiAg
ICAgY2hlY2tVaW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VV
aW50KHByb2dyYW0sIDApLCBtYWtlVWludChwcm9ncmFtLCAzKV0pLCAwKTsKIH0KIApAQCAtMjYz
NSw5ICsyNjMzLDggQEAgdGVzdHMudWNoYXJCaXRBbmQgPSBmdW5jdGlvbigpCiAgICAgICAgIH0K
ICAgICBgKTsKICAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAxKSwgbWFrZVVjaGFyKHByb2dyYW0sIDcpXSksIDEp
OwotICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBb
bWFrZVVjaGFyKHByb2dyYW0sIDY1NTM1KSwgbWFrZVVjaGFyKHByb2dyYW0sIDQyKV0pLCA0Mik7
Ci0gICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtt
YWtlVWNoYXIocHJvZ3JhbSwgLTEpLCBtYWtlVWNoYXIocHJvZ3JhbSwgLTcpXSksIDI0OSk7Ci0g
ICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtl
VWNoYXIocHJvZ3JhbSwgMCksIG1ha2VVY2hhcihwcm9ncmFtLCA4NTczMildKSwgMCk7CisgICAg
Y2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNo
YXIocHJvZ3JhbSwgMjU1KSwgbWFrZVVjaGFyKHByb2dyYW0sIDQyKV0pLCA0Mik7CisgICAgY2hl
Y2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIo
cHJvZ3JhbSwgMCksIG1ha2VVY2hhcihwcm9ncmFtLCAyNTUpXSksIDApOwogfQogCiB0ZXN0cy51
Y2hhckJpdE9yID0gZnVuY3Rpb24oKQpAQCAtMjY0OSw5ICsyNjQ2LDggQEAgdGVzdHMudWNoYXJC
aXRPciA9IGZ1bmN0aW9uKCkKICAgICAgICAgfQogICAgIGApOwogICAgIGNoZWNrVWNoYXIocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIDEp
LCBtYWtlVWNoYXIocHJvZ3JhbSwgNyldKSwgNyk7Ci0gICAgY2hlY2tVY2hhcihwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgNjU1MzUpLCBt
YWtlVWNoYXIocHJvZ3JhbSwgNDIpXSksIDI1NSk7Ci0gICAgY2hlY2tVY2hhcihwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgLTEpLCBtYWtl
VWNoYXIocHJvZ3JhbSwgLTcpXSksIDI1NSk7Ci0gICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgMCksIG1ha2VVY2hh
cihwcm9ncmFtLCA4NTczMildKSwgMjI4KTsKKyAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAyNTUpLCBtYWtlVWNo
YXIocHJvZ3JhbSwgNDIpXSksIDI1NSk7CisgICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgMCksIG1ha2VVY2hhcihw
cm9ncmFtLCAyMjgpXSksIDIyOCk7CiB9CiAKIHRlc3RzLnVjaGFyQml0WG9yID0gZnVuY3Rpb24o
KQpAQCAtMjY2Myw5ICsyNjU5LDggQEAgdGVzdHMudWNoYXJCaXRYb3IgPSBmdW5jdGlvbigpCiAg
ICAgICAgIH0KICAgICBgKTsKICAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAxKSwgbWFrZVVjaGFyKHByb2dyYW0s
IDcpXSksIDYpOwotICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIDY1NTM1KSwgbWFrZVVjaGFyKHByb2dyYW0sIDQy
KV0pLCAyMTMpOwotICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIC0xKSwgbWFrZVVjaGFyKHByb2dyYW0sIC03KV0p
LCA2KTsKLSAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
IiwgW21ha2VVY2hhcihwcm9ncmFtLCAwKSwgbWFrZVVjaGFyKHByb2dyYW0sIDg1NzMyKV0pLCAy
MjgpOworICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28i
LCBbbWFrZVVjaGFyKHByb2dyYW0sIDI1NSksIG1ha2VVY2hhcihwcm9ncmFtLCA0MildKSwgMjEz
KTsKKyAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwg
W21ha2VVY2hhcihwcm9ncmFtLCAwKSwgbWFrZVVjaGFyKHByb2dyYW0sIDI1NSldKSwgMjU1KTsK
IH0KIAogdGVzdHMudWNoYXJCaXROb3QgPSBmdW5jdGlvbigpCkBAIC0yNjc3LDggKzI2NzIsNyBA
QCB0ZXN0cy51Y2hhckJpdE5vdCA9IGZ1bmN0aW9uKCkKICAgICAgICAgfQogICAgIGApOwogICAg
IGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVj
aGFyKHByb2dyYW0sIDEpXSksIDI1NCk7Ci0gICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgNjU1MzUpXSksIDApOwot
ICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFr
ZVVjaGFyKHByb2dyYW0sIC0xKV0pLCAwKTsKKyAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAyNTUpXSksIDApOwog
ICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFr
ZVVjaGFyKHByb2dyYW0sIDApXSksIDI1NSk7CiB9CiAKQEAgLTI2OTEsOCArMjY4NSw3IEBAIHRl
c3RzLnVjaGFyTFNoaWZ0ID0gZnVuY3Rpb24oKQogICAgICAgICB9CiAgICAgYCk7CiAgICAgY2hl
Y2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIo
cHJvZ3JhbSwgMSksIG1ha2VVaW50KHByb2dyYW0sIDcpXSksIDEyOCk7Ci0gICAgY2hlY2tVY2hh
cihwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3Jh
bSwgNjU1MzUpLCBtYWtlVWludChwcm9ncmFtLCAyKV0pLCAyNTIpOwotICAgIGNoZWNrVWNoYXIo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0s
IC0xKSwgbWFrZVVpbnQocHJvZ3JhbSwgNSldKSwgMjI0KTsKKyAgICBjaGVja1VjaGFyKHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAyNTUp
LCBtYWtlVWludChwcm9ncmFtLCAyKV0pLCAyNTIpOwogICAgIGNoZWNrVWNoYXIocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIDApLCBtYWtl
VWludChwcm9ncmFtLCAzKV0pLCAwKTsKIH0KIApAQCAtMjcwNSw4ICsyNjk4LDggQEAgdGVzdHMu
dWNoYXJSU2hpZnQgPSBmdW5jdGlvbigpCiAgICAgICAgIH0KICAgICBgKTsKICAgICBjaGVja1Vj
aGFyKHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9n
cmFtLCAxKSwgbWFrZVVpbnQocHJvZ3JhbSwgNyldKSwgMCk7Ci0gICAgY2hlY2tVY2hhcihwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgNjU1
MzUpLCBtYWtlVWludChwcm9ncmFtLCAyKV0pLCAyNTUpOwotICAgIGNoZWNrVWNoYXIocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbbWFrZVVjaGFyKHByb2dyYW0sIC0xKSwg
bWFrZVVpbnQocHJvZ3JhbSwgNSldKSwgMjU1KTsKKyAgICBjaGVja1VjaGFyKHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW21ha2VVY2hhcihwcm9ncmFtLCAyNTUpLCBtYWtl
VWludChwcm9ncmFtLCAyKV0pLCA2Myk7CisgICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVu
Y3Rpb24ocHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgMjU1KSwgbWFrZVVpbnQo
cHJvZ3JhbSwgNSldKSwgNyk7CiAgICAgY2hlY2tVY2hhcihwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbyIsIFttYWtlVWNoYXIocHJvZ3JhbSwgMCksIG1ha2VVaW50KHByb2dyYW0s
IDMpXSksIDApOwogfQogCkBAIC03MjkzLDE0ICs3Mjg2LDE0IEBAIHRlc3RzLnRleHR1cmVTYW1w
bGUgPSBmdW5jdGlvbigpIHsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vMTQiLCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmls
dGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKV0pLCAoMTIgKyAxMyAr
IDIwICsgMjEpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbzE0IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRl
cjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFt
LCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgp
LndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1h
a2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0p
LCAoMTIgKyAxMyArIDIwICsgMjEpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbzE0IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJvZ3Jh
bSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5lUHRy
LmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVl
KCkuaGVpZ2h0KV0pLCAoMzQgKyAzNSArIDM4ICsgMzkpIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzE0IiwgW3RleHR1cmUyRCwgbWFrZVNh
bXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0s
IDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5w
b3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwg
TWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSks
ICgxMiArIDEzICsgMjAgKyAyMSkgLyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vMTQiLCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFt
LCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9n
cmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0
KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5o
ZWlnaHQpXSksICgoKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpICsgKCgzNCArIDM1ICsgMzggKyAz
OSkgLyA0KSkgLyAyKTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9n
cmFtLCAiZm9vMTQiLCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVy
OiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0s
IDAuNSksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1
cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAw
LjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDEyICsgMTMgKyAy
MCArIDIxKSAvIDQpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28xNCIsIFt0ZXh0dXJlMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6
ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
LjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1h
dGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VG
bG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQo
cHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhl
aWdodCldKSwgKCgoMTIgKyAxMyArIDIwICsgMjEpIC8gNCkgKyAoKDM0ICsgMzUgKyAzOCArIDM5
KSAvIDQpKSAvIDIpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28xNSIsIFt0ZXh0dXJlMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6
ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VG
bG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlSW50KHByb2dyYW0s
IDApLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgxMiArIDEzICsgMjAgKyAyMSkgLyA0KTsKICAg
ICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTUiLCBbdGV4
dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCks
IG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9n
cmFtLCAwKV0pLCAoMTMgKyAxNCArIDIxICsgMjIpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzE1IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBs
ZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAu
NSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSAvIHRleHR1
cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIu
bG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFt
LCAwKV0pLCAoMTMgKyAxNCArIDIxICsgMjIpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzE1IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIo
cHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSks
IG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUy
RC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9h
ZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAw
KV0pLCAoMzUgKyAzNiArIDM5ICsgNDApIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzE1IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJv
Z3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1h
a2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4y
NSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFt
LCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3co
MiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHBy
b2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgxMyArIDE0ICsgMjEgKyAyMikgLyA0
KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTUi
LCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwg
bWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8g
dGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCks
IG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAu
NSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0s
IDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgoKDEzICsgMTQgKyAyMSArIDIyKSAvIDQpICsg
KCgzNSArIDM2ICsgMzkgKyA0MCkgLyA0KSkgLyAyKTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTUiLCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihw
cm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBv
dygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0
KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9n
cmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdo
dCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDEzICsgMTQg
KyAyMSArIDIyKSAvIDQpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28xNSIsIFt0ZXh0dXJlMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0
ZXI6ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFt
LCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0s
IE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1h
a2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxv
YXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgp
LmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKCgo
MTMgKyAxNCArIDIxICsgMjIpIC8gNCkgKyAoKDM1ICsgMzYgKyAzOSArIDQwKSAvIDQpKSAvIDIp
OwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28xNiIs
IFt0ZXh0dXJlMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSks
IG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApXSksICgxMiArIDEzICsgMjAgKyAyMSkgLyA0KTsKICAgICBjaGVja0Zs
b2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTYiLCBbdGV4dHVyZTJELCBt
YWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAx
KV0pLCAoMzQgKyAzNSArIDM4ICsgMzkpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzE2IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIocHJv
Z3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1h
a2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KV0pLCAoMTIgKyAx
MyArIDIwICsgMjEpIC8gNCk7CkBAIC03MzI2LDI1ICs3MzE5LDI1IEBAIHRlc3RzLnRleHR1cmVT
YW1wbGUgPSBmdW5jdGlvbigpIHsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vMjAiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0s
IHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCldKSwgKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOwogICAgIGNoZWNr
RmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMCIsIFt0ZXh0dXJlMkRB
cnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVl
KCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQp
XSksICgxMiArIDEzICsgMjAgKyAyMSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjAiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVy
KHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFt
LCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoMzQgKyAzNSArIDM4
ICsgMzkpIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3Jh
bSwgImZvbzIwIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmls
dGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgu
cG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0s
IE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0p
LCAoMTIgKyAxMyArIDIwICsgMjEpIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIwIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihw
cm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0
dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAv
IHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKCgoMTIgKyAxMyArIDIwICsg
MjEpIC8gNCkgKyAoKDM0ICsgMzUgKyAzOCArIDM5KSAvIDQpKSAvIDIpOworICAgIGNoZWNrRmxv
YXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMCIsIFt0ZXh0dXJlMkRBcnJh
eSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1
cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAw
LjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDEyICsgMTMgKyAy
MCArIDIxKSAvIDQpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28yMCIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZp
bHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCks
IG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQ
dHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0
ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgoKDEyICsgMTMgKyAyMCArIDIx
KSAvIDQpICsgKCgzNCArIDM1ICsgMzggKyAzOSkgLyA0KSkgLyAyKTsKICAgICBjaGVja0Zsb2F0
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjAiLCBbdGV4dHVyZTJEQXJyYXks
IG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0s
IDEpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCldKSwgKDU0ICsgNTUgKyA2MiAr
IDYzKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb28yMCIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRl
cjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFt
LCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4
dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1h
a2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0
ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICg1NCArIDU1ICsgNjIgKyA2MykgLyA0KTsKICAgICBj
aGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjAiLCBbdGV4dHVy
ZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1h
a2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDEpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5lUHRyLmxvYWRW
YWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MCksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVp
Z2h0KV0pLCAoNzYgKyA3NyArIDgwICsgODEpIC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIwIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2Ft
cGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZh
bHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIu
bG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoNTQgKyA1NSArIDYyICsgNjMpIC8gNCk7Ci0gICAgY2hl
Y2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIwIiwgW3RleHR1cmUy
REFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFw
RmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1h
dGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VG
bG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCld
KSwgKCgoNTQgKyA1NSArIDYyICsgNjMpIC8gNCkgKyAoKDc2ICsgNzcgKyA4MCArIDgxKSAvIDQp
KSAvIDIpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b28yMCIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjog
ImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
LjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRo
LnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChw
cm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhl
aWdodCldKSwgKDU0ICsgNTUgKyA2MiArIDYzKSAvIDQpOworICAgIGNoZWNrRmxvYXQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMCIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNh
bXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVh
ciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygy
LCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0s
IE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSks
ICgoKDU0ICsgNTUgKyA2MiArIDYzKSAvIDQpICsgKCg3NiArIDc3ICsgODAgKyA4MSkgLyA0KSkg
LyAyKTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
MjEiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJs
aW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MCksIG1ha2VJbnQocHJvZ3JhbSwgMCksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDEyICsgMTMg
KyAyMCArIDIxKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28yMSIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21h
Z0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0p
LCAoMTMgKyAxNCArIDIxICsgMjIpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIxIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihw
cm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0
KHByb2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwg
MSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDEzICsgMTQgKyAyMSArIDIyKSAvIDQpOwogICAg
IGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMSIsIFt0ZXh0
dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9h
ZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFt
LCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDIgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5o
ZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgzNSAr
IDM2ICsgMzkgKyA0MCkgLyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vMjEiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0s
IHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCks
IG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5o
ZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgxMyAr
IDE0ICsgMjEgKyAyMikgLyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vMjEiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0s
IHttaW5GaWx0ZXI6ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9h
dChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5l
UHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVy
ZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUlu
dChwcm9ncmFtLCAwKV0pLCAoKCgxMyArIDE0ICsgMjEgKyAyMikgLyA0KSArICgoMzUgKyAzNiAr
IDM5ICsgNDApIC8gNCkpIC8gMik7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbzIxIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFt
LCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0
KHByb2dyYW0sIE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCku
d2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFr
ZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIu
bG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFt
LCAwKV0pLCAoMTMgKyAxNCArIDIxICsgMjIpIC8gNCk7CisgICAgY2hlY2tGbG9hdChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIxIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2Ft
cGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFy
In0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1h
a2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIs
IDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9n
cmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwg
TWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1h
a2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKCgoMTMgKyAxNCArIDIx
ICsgMjIpIC8gNCkgKyAoKDM1ICsgMzYgKyAzOSArIDQwKSAvIDQpKSAvIDIpOwogICAgIGNoZWNr
RmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMSIsIFt0ZXh0dXJlMkRB
cnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZs
b2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUludChwcm9n
cmFtLCAwKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoNTQgKyA1NSArIDYyICsgNjMpIC8gNCk7
CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIxIiwg
W3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFy
In0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1h
a2VGbG9hdChwcm9ncmFtLCAxKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBt
YWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICg1NSArIDU2ICsgNjMg
KyA2NCkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFt
LCAiZm9vMjEiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0
ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSAvIHRl
eHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQ
dHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9n
cmFtLCAwKV0pLCAoNTUgKyA1NiArIDYzICsgNjQpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIxIiwgW3RleHR1cmUyREFycmF5LCBtYWtl
U2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDIgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCks
IG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQo
cHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDc3ICsgNzggKyA4MSArIDgyKSAv
IDQpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28y
MSIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxp
bmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAw
LjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dy
YW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBv
dygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQo
cHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDU1ICsgNTYgKyA2MyArIDY0KSAv
IDQpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28y
MSIsIFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxp
bmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSks
IG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VGbG9h
dChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCku
d2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFs
dWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSks
ICgoKDU1ICsgNTYgKyA2MyArIDY0KSAvIDQpICsgKCg3NyArIDc4ICsgODEgKyA4MikgLyA0KSkg
LyAyKTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
MjEiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJs
aW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5w
b3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJv
Z3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWln
aHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICg1NSArIDU2
ICsgNjMgKyA2NCkgLyA0KTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vMjEiLCBbdGV4dHVyZTJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHtt
aW5GaWx0ZXI6ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0s
IDEpLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUy
RC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUp
IC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAx
KSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoKCg1NSArIDU2ICsgNjMgKyA2NCkgLyA0KSArICgo
NzcgKyA3OCArIDgxICsgODIpIC8gNCkpIC8gMik7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzIyIiwgW3RleHR1cmUyREFycmF5LCBtYWtlU2FtcGxl
cihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApXSksICgxMiArIDEzICsgMjAgKyAyMSkgLyA0KTsKICAgICBjaGVja0Zs
b2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMjIiLCBbdGV4dHVyZTJEQXJy
YXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9h
dChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSldKSwgKDM0ICsgMzUgKyAzOCArIDM5KSAvIDQp
OwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yMiIs
IFt0ZXh0dXJlMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVh
ciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpXSksICgxMiArIDEz
ICsgMjAgKyAyMSkgLyA0KTsKQEAgLTczNzIsNyArNzM2NSw3IEBAIHRlc3RzLnRleHR1cmVTYW1w
bGUgPSBmdW5jdGlvbigpIHsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vMTYiLCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmls
dGVyOiAibGluZWFyIiwgbG9kTWluQ2xhbXA6IDEsIGxvZE1heENsYW1wOiAxfSksIG1ha2VGbG9h
dChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDIpXSksICgzNCArIDM1ICsgMzggKyAzOSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dy
YW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTYiLCBbdGV4dHVyZTJELCBtYWtlU2FtcGxl
cihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbG9kTWluQ2xhbXA6IDEsIGxvZE1heENs
YW1wOiAxfSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApXSksICgzNCArIDM1ICsgMzggKyAzOSkgLyA0KTsKICAg
ICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTQiLCBbdGV4
dHVyZTJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFw
RmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZh
bHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWln
aHQpXSksICgzNCArIDM1ICsgMzggKyAzOSkgLyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMTQiLCBbdGV4dHVyZTJELCBtYWtlU2FtcGxlcihw
cm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIiwgbWF4
QW5pc290cm9weTogMn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCA0IC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVl
KCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUZsb2F0KHByb2dyYW0sICg0LzMpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVp
Z2h0KV0pLCAoMzQgKyAzNSArIDM4ICsgMzkpIC8gNCk7CisgICAgY2hlY2tGbG9hdChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzE0IiwgW3RleHR1cmUyRCwgbWFrZVNhbXBsZXIo
cHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVhciIsIG1h
eEFuaXNvdHJvcHk6IDJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9n
cmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgNCAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1
ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCks
IG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCAoNC8zKSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1
ZSgpLmhlaWdodCldKSwgKDM0ICsgMzUgKyAzOCArIDM5KSAvIDQpOwogICAgIGxldCB0ZXh0dXJl
MURJbnQ0ID0gbWFrZTFEVGV4dHVyZShwcm9ncmFtLCBbW1sxLCAyLCAzLCA0XSwgWzEwMCwgMjAw
LCAzMDAsIDQwMF0sIFsxMDEsIDIwMiwgMzAxLCA0MDFdLCBbMTMsIDE0LCAxNSwgMTZdXSwgW1sx
NywgMTgsIDE5LCAyMF0sIFsyMSwgMjIsIDIzLCAyNF1dLCBbWzI1LCAyNiwgMjcsIDI4XV1dLCAi
aW50NCIpOwogICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
MjQiLCBbdGV4dHVyZTFESW50NCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxp
bmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSldKSwgMTAwKTsKICAgICBjaGVja0ludChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzI1IiwgW3RleHR1cmUxREludDQsIG1h
a2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9n
cmFtLCAwLjUpXSksIDIwMSk7CkBAIC03NDE0LDE0ICs3NDA3LDE0IEBAIHRlc3RzLnRleHR1cmVT
YW1wbGUgPSBmdW5jdGlvbigpIHsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlv
bihwcm9ncmFtLCAiZm9vMzUiLCBbdGV4dHVyZURlcHRoMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0s
IHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApXSksICgx
MiArIDEzICsgMjAgKyAyMSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5j
dGlvbihwcm9ncmFtLCAiZm9vMzUiLCBbdGV4dHVyZURlcHRoMkQsIG1ha2VTYW1wbGVyKHByb2dy
YW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0
ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1
ZSgpLmhlaWdodCldKSwgKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOwogICAgIGNoZWNrRmxvYXQo
cHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zNSIsIFt0ZXh0dXJlRGVwdGgyRCwg
bWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MiAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0s
IDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVy
ZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoMzQgKyAzNSArIDM4ICsgMzkpIC8gNCk7
Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzM1Iiwg
W3RleHR1cmVEZXB0aDJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFy
In0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1h
a2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRW
YWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRy
LmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOwotICAgIGNo
ZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zNSIsIFt0ZXh0dXJl
RGVwdGgyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1h
cEZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1
cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8g
dGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoKCgxMiArIDEzICsgMjAgKyAy
MSkgLyA0KSArICgoMzQgKyAzNSArIDM4ICsgMzkpIC8gNCkpIC8gMik7CisgICAgY2hlY2tGbG9h
dChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzM1IiwgW3RleHR1cmVEZXB0aDJE
LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VDYXN0ZWRGbG9hdChw
cm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndp
ZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VD
YXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxv
YWRWYWx1ZSgpLmhlaWdodCldKSwgKDEyICsgMTMgKyAyMCArIDIxKSAvIDQpOworICAgIGNoZWNr
RmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zNSIsIFt0ZXh0dXJlRGVw
dGgyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZp
bHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9n
cmFtLCAwLjUpLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRl
eHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygy
LCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoKCgxMiArIDEz
ICsgMjAgKyAyMSkgLyA0KSArICgoMzQgKyAzNSArIDM4ICsgMzkpIC8gNCkpIC8gMik7CiAgICAg
Y2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzM2IiwgW3RleHR1
cmVEZXB0aDJELCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUludChwcm9ncmFtLCAwKSwgbWFrZUludChw
cm9ncmFtLCAwKV0pLCAoMTIgKyAxMyArIDIwICsgMjEpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChw
cm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzM2IiwgW3RleHR1cmVEZXB0aDJELCBt
YWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0p
LCAoMTMgKyAxNCArIDIxICsgMjIpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbzM2IiwgW3RleHR1cmVEZXB0aDJELCBtYWtlU2FtcGxlcihw
cm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJE
LmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2Fk
VmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDAp
XSksICgxMyArIDE0ICsgMjEgKyAyMikgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMzYiLCBbdGV4dHVyZURlcHRoMkQsIG1ha2VTYW1wbGVy
KHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDIgLyB0ZXh0dXJl
MkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMiAvIHRleHR1cmUyRC5lUHRyLmxv
YWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwg
MCldKSwgKDM1ICsgMzYgKyAzOSArIDQwKSAvIDQpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zNiIsIFt0ZXh0dXJlRGVwdGgyRCwgbWFrZVNhbXBs
ZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAu
NSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3co
MiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0
aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtl
SW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgxMyArIDE0ICsgMjEgKyAy
MikgLyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vMzYiLCBbdGV4dHVyZURlcHRoMkQsIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6
ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
LjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93
KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0
aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJ
bnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKCgoMTMgKyAxNCArIDIxICsg
MjIpIC8gNCkgKyAoKDM1ICsgMzYgKyAzOSArIDQwKSAvIDQpKSAvIDIpOworICAgIGNoZWNrRmxv
YXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28zNiIsIFt0ZXh0dXJlRGVwdGgy
RCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlQ2FzdGVkRmxvYXQo
cHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53
aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
Q2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5s
b2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0s
IDApXSksICgxMyArIDE0ICsgMjEgKyAyMikgLyA0KTsKKyAgICBjaGVja0Zsb2F0KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMzYiLCBbdGV4dHVyZURlcHRoMkQsIG1ha2VTYW1w
bGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIi
fSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFr
ZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5s
b2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dy
YW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1
cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJ
bnQocHJvZ3JhbSwgMCldKSwgKCgoMTMgKyAxNCArIDIxICsgMjIpIC8gNCkgKyAoKDM1ICsgMzYg
KyAzOSArIDQwKSAvIDQpKSAvIDIpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb28zNyIsIFt0ZXh0dXJlRGVwdGgyRCwgbWFrZVNhbXBsZXIocHJvZ3Jh
bSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCldKSwgKDEyICsgMTMgKyAy
MCArIDIxKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb28zNyIsIFt0ZXh0dXJlRGVwdGgyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZp
bHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9n
cmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSldKSwgKDM0ICsgMzUgKyAzOCArIDM5KSAv
IDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28z
NyIsIFt0ZXh0dXJlRGVwdGgyRCwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxp
bmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KV0pLCAoMTIgKyAxMyArIDIwICsgMjEpIC8gNCk7CkBA
IC03NDQ3LDI1ICs3NDQwLDI1IEBAIHRlc3RzLnRleHR1cmVTYW1wbGUgPSBmdW5jdGlvbigpIHsK
ICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDEiLCBb
dGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxp
bmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0
KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KV0pLCAoMTIgKyAxMyArIDIwICsgMjEpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBj
YWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQxIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VT
YW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFt
LCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChw
cm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoMTIgKyAx
MyArIDIwICsgMjEpIC8gNCk7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24o
cHJvZ3JhbSwgImZvbzQxIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dy
YW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMiAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8g
dGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoMzQgKyAzNSArIDM4ICsgMzkp
IC8gNCk7Ci0gICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZv
bzQxIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0
ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5w
b3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwg
TWF0aC5wb3coMiwgMC4yNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSks
ICgxMiArIDEzICsgMjAgKyAyMSkgLyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vNDEiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBs
ZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciIsIG1pcG1hcEZpbHRlcjogImxpbmVhciJ9
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8g
dGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCks
IG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAu
NSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICgoKDEyICsgMTMgKyAy
MCArIDIxKSAvIDQpICsgKCgzNCArIDM1ICsgMzggKyAzOSkgLyA0KSkgLyAyKTsKKyAgICBjaGVj
a0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDEiLCBbdGV4dHVyZURl
cHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxv
YXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1
KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0s
IDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRo
LnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKDEy
ICsgMTMgKyAyMCArIDIxKSAvIDQpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0
aW9uKHByb2dyYW0sICJmb280MSIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihw
cm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9h
dChwcm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkg
LyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAw
KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5w
b3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKCgoMTIg
KyAxMyArIDIwICsgMjEpIC8gNCkgKyAoKDM0ICsgMzUgKyAzOCArIDM5KSAvIDQpKSAvIDIpOwog
ICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280MSIsIFt0
ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGlu
ZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSks
IG1ha2VGbG9hdChwcm9ncmFtLCAxKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
XSksICg1NCArIDU1ICsgNjIgKyA2MykgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDEiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNh
bXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0s
IDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1h
a2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICg1NCArIDU1
ICsgNjIgKyA2MykgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihw
cm9ncmFtLCAiZm9vNDEiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3Jh
bSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VG
bG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9n
cmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJv
Z3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDIgLyB0
ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpXSksICg3NiArIDc3ICsgODAgKyA4MSkg
LyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
NDEiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRl
cjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFt
LCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBv
dygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0
KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBN
YXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwg
KDU0ICsgNTUgKyA2MiArIDYzKSAvIDQpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1
bmN0aW9uKHByb2dyYW0sICJmb280MSIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxl
cihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0p
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VG
bG9hdChwcm9ncmFtLCAxKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0
ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41
KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCldKSwgKCgoNTQgKyA1NSArIDYy
ICsgNjMpIC8gNCkgKyAoKDc2ICsgNzcgKyA4MCArIDgxKSAvIDQpKSAvIDIpOworICAgIGNoZWNr
RmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280MSIsIFt0ZXh0dXJlRGVw
dGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9h
dChwcm9ncmFtLCAxKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuMjUp
IC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgu
cG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoNTQg
KyA1NSArIDYyICsgNjMpIC8gNCk7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbzQxIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHBy
b2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1h
a2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDEpLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAv
IHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBv
dygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KV0pLCAoKCg1NCAr
IDU1ICsgNjIgKyA2MykgLyA0KSArICgoNzYgKyA3NyArIDgwICsgODEpIC8gNCkpIC8gMik7CiAg
ICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQyIiwgW3Rl
eHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5l
YXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwg
bWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCks
IG1ha2VJbnQocHJvZ3JhbSwgMCksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDEyICsgMTMgKyAy
MCArIDIxKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dy
YW0sICJmb280MiIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7
bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0s
IDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZs
b2F0KHByb2dyYW0sIDApLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDAp
XSksICgxMyArIDE0ICsgMjEgKyAyMikgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNh
bGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDIiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNh
bXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0s
IDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1h
a2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHBy
b2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICgxMyArIDE0ICsgMjEgKyAyMikgLyA0
KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDIi
LCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjog
ImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
LjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAyIC8gdGV4dHVy
ZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VG
bG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDIgLyB0ZXh0dXJlMkQuZVB0ci5s
b2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0s
IDApXSksICgzNSArIDM2ICsgMzkgKyA0MCkgLyA0KTsKLSAgICBjaGVja0Zsb2F0KHByb2dyYW0s
IGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDIiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFr
ZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCks
IG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxv
YWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjI1KSAvIHRleHR1cmUyRC5l
UHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJv
Z3JhbSwgMCldKSwgKDEzICsgMTQgKyAyMSArIDIyKSAvIDQpOwotICAgIGNoZWNrRmxvYXQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280MiIsIFt0ZXh0dXJlRGVwdGgyREFycmF5
LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIiwgbWlwbWFwRmlsdGVy
OiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0s
IDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIE1hdGgucG93
KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS53aWR0aCksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0
aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJ
bnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKCgoMTMgKyAxNCArIDIxICsg
MjIpIC8gNCkgKyAoKDM1ICsgMzYgKyAzOSArIDQwKSAvIDQpKSAvIDIpOworICAgIGNoZWNrRmxv
YXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280MiIsIFt0ZXh0dXJlRGVwdGgy
REFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVyOiAibGluZWFyIn0pLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuMjUpIC8g
dGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCks
IG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dyYW0sIE1hdGgucG93
KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChw
cm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoMTMgKyAxNCArIDIxICsgMjIpIC8g
NCk7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQy
IiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6
ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAw
LjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtl
Q2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxv
YWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3Jh
bSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAwLjUpIC8gdGV4dHVy
ZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUlu
dChwcm9ncmFtLCAwKV0pLCAoKCgxMyArIDE0ICsgMjEgKyAyMikgLyA0KSArICgoMzUgKyAzNiAr
IDM5ICsgNDApIC8gNCkpIC8gMik7CiAgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rp
b24ocHJvZ3JhbSwgImZvbzQyIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1wbGVyKHBy
b2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VJbnQocHJvZ3JhbSwgMCksIG1ha2VJbnQocHJv
Z3JhbSwgMCldKSwgKDU0ICsgNTUgKyA2MiArIDYzKSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJv
Z3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280MiIsIFt0ZXh0dXJlRGVwdGgyREFycmF5
LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWFnRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQo
cHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFt
LCAxKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VG
bG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDApLCBtYWtlSW50KHByb2dyYW0s
IDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICg1NSArIDU2ICsgNjMgKyA2NCkgLyA0KTsKICAg
ICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDIiLCBbdGV4
dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21hZ0ZpbHRlcjogImxpbmVh
ciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBt
YWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCAxIC8gdGV4dHVyZTJELmVQ
dHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChw
cm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDEgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFs
dWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dyYW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSks
ICg1NSArIDU2ICsgNjMgKyA2NCkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vNDIiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBs
ZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAu
NSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VG
bG9hdChwcm9ncmFtLCAyIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgpLCBtYWtl
RmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dy
YW0sIDIgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFsdWUoKS5oZWlnaHQpLCBtYWtlSW50KHByb2dy
YW0sIDEpLCBtYWtlSW50KHByb2dyYW0sIDApXSksICg3NyArIDc4ICsgODEgKyA4MikgLyA0KTsK
LSAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vNDIiLCBb
dGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBsZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxp
bmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMSksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBvdygyLCAw
LjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dy
YW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCBNYXRoLnBv
dygyLCAwLjI1KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQo
cHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwgMCldKSwgKDU1ICsgNTYgKyA2MyArIDY0KSAv
IDQpOwotICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb280
MiIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmlsdGVy
OiAibGluZWFyIiwgbWlwbWFwRmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwg
MC41KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxKSwgbWFr
ZUZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuNSkgLyB0ZXh0dXJlMkQuZVB0ci5sb2FkVmFs
dWUoKS53aWR0aCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDAp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwgMC41KSAvIHRleHR1cmUyRC5lUHRyLmxv
YWRWYWx1ZSgpLmhlaWdodCksIG1ha2VJbnQocHJvZ3JhbSwgMSksIG1ha2VJbnQocHJvZ3JhbSwg
MCldKSwgKCgoNTUgKyA1NiArIDYzICsgNjQpIC8gNCkgKyAoKDc3ICsgNzggKyA4MSArIDgyKSAv
IDQpKSAvIDIpOworICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0s
ICJmb280MiIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWlu
RmlsdGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHBy
b2dyYW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAxKSwgbWFrZUNhc3RlZEZsb2F0KHByb2dy
YW0sIE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkud2lkdGgp
LCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUNhc3Rl
ZEZsb2F0KHByb2dyYW0sIE1hdGgucG93KDIsIDAuMjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZh
bHVlKCkuaGVpZ2h0KSwgbWFrZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0p
LCAoNTUgKyA1NiArIDYzICsgNjQpIC8gNCk7CisgICAgY2hlY2tGbG9hdChwcm9ncmFtLCBjYWxs
RnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQyIiwgW3RleHR1cmVEZXB0aDJEQXJyYXksIG1ha2VTYW1w
bGVyKHByb2dyYW0sIHttaW5GaWx0ZXI6ICJsaW5lYXIiLCBtaXBtYXBGaWx0ZXI6ICJsaW5lYXIi
fSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFr
ZUZsb2F0KHByb2dyYW0sIDEpLCBtYWtlQ2FzdGVkRmxvYXQocHJvZ3JhbSwgTWF0aC5wb3coMiwg
MC41KSAvIHRleHR1cmUyRC5lUHRyLmxvYWRWYWx1ZSgpLndpZHRoKSwgbWFrZUZsb2F0KHByb2dy
YW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VDYXN0ZWRGbG9hdChwcm9ncmFtLCBN
YXRoLnBvdygyLCAwLjUpIC8gdGV4dHVyZTJELmVQdHIubG9hZFZhbHVlKCkuaGVpZ2h0KSwgbWFr
ZUludChwcm9ncmFtLCAxKSwgbWFrZUludChwcm9ncmFtLCAwKV0pLCAoKCg1NSArIDU2ICsgNjMg
KyA2NCkgLyA0KSArICgoNzcgKyA3OCArIDgxICsgODIpIC8gNCkpIC8gMik7CiAgICAgY2hlY2tG
bG9hdChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzQzIiwgW3RleHR1cmVEZXB0
aDJEQXJyYXksIG1ha2VTYW1wbGVyKHByb2dyYW0sIHttYWdGaWx0ZXI6ICJsaW5lYXIifSksIG1h
a2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0
KHByb2dyYW0sIDApLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCldKSwgKDEyICsgMTMgKyAyMCArIDIx
KSAvIDQpOwogICAgIGNoZWNrRmxvYXQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJm
b280MyIsIFt0ZXh0dXJlRGVwdGgyREFycmF5LCBtYWtlU2FtcGxlcihwcm9ncmFtLCB7bWluRmls
dGVyOiAibGluZWFyIn0pLCBtYWtlRmxvYXQocHJvZ3JhbSwgMC41KSwgbWFrZUZsb2F0KHByb2dy
YW0sIDAuNSksIG1ha2VGbG9hdChwcm9ncmFtLCAwKSwgbWFrZUZsb2F0KHByb2dyYW0sIDEpXSks
ICgzNCArIDM1ICsgMzggKyAzOSkgLyA0KTsKICAgICBjaGVja0Zsb2F0KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vNDMiLCBbdGV4dHVyZURlcHRoMkRBcnJheSwgbWFrZVNhbXBs
ZXIocHJvZ3JhbSwge21pbkZpbHRlcjogImxpbmVhciJ9KSwgbWFrZUZsb2F0KHByb2dyYW0sIDAu
NSksIG1ha2VGbG9hdChwcm9ncmFtLCAwLjUpLCBtYWtlRmxvYXQocHJvZ3JhbSwgMCksIG1ha2VG
bG9hdChwcm9ncmFtLCAwLjUpXSksICgxMiArIDEzICsgMjAgKyAyMSkgLyA0KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>