<?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>226513</bug_id>
          
          <creation_ts>2021-06-01 13:37:59 -0700</creation_ts>
          <short_desc>Add support for &quot;relative color syntax&quot; for color()</short_desc>
          <delta_ts>2021-06-02 10:40:21 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1765736</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-01 13:37:59 -0700</bug_when>
    <thetext>Add support for &quot;relative color syntax&quot; for color()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765780</commentid>
    <comment_count>1</comment_count>
      <attachid>430296</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-01 15:01:06 -0700</bug_when>
    <thetext>Created attachment 430296
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765844</commentid>
    <comment_count>2</comment_count>
      <attachid>430312</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-01 18:16:05 -0700</bug_when>
    <thetext>Created attachment 430312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765847</commentid>
    <comment_count>3</comment_count>
      <attachid>430312</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-06-01 18:31:14 -0700</bug_when>
    <thetext>Comment on attachment 430312
Patch

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

&gt; Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:1566
&gt; +    ASSERT(range.peek().functionId() == CSSValueRgb || range.peek().functionId() == CSSValueRgba);

Wouldn’t we want the more precise assertion?

    ASSERT(range.peek().functionId() == (Mode == RGBFunctionMode::RGB ? CSSValueRgb : CSSValueRgba));

Or is my assertion wrong?

&gt; Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:1583
&gt; +    return convertColor&lt;SRGBA&lt;uint8_t&gt;&gt;(HSLA&lt;float&gt; { static_cast&lt;float&gt;(normalizedHue), static_cast&lt;float&gt;(normalizedSaturation), static_cast&lt;float&gt;(normalizedLightness), static_cast&lt;float&gt;(normalizedAlpha) });

This explicit conversion to SRGBA really does need a comment. I know it’s not new. The fact that we do not create an extended color, but instead round and clamp to SRGBA intentionally really does not go without saying!

&gt; Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:1659
&gt; +    ASSERT(range.peek().functionId() == CSSValueHsl || range.peek().functionId() == CSSValueHsla);

Same thought about the assertion.

&gt; Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:1720
&gt; +    return convertColor&lt;SRGBA&lt;uint8_t&gt;&gt;(HWBA&lt;float&gt; { static_cast&lt;float&gt;(normalizedHue), static_cast&lt;float&gt;(normalizedWhitness), static_cast&lt;float&gt;(normalizedBlackness), static_cast&lt;float&gt;(*alpha) });

Same thought about the comment.

&gt; Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:1929
&gt; +    for (int i = 0; i &lt; 3; ++i) {

for (auto&amp; channel : channels) {

&gt; Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:1932
&gt; +        if (!value)
&gt; +            break;

All unspecified channels are set to 0? Peculiar syntax!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765995</commentid>
    <comment_count>4</comment_count>
      <attachid>430356</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-02 08:17:22 -0700</bug_when>
    <thetext>Created attachment 430356
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766006</commentid>
    <comment_count>5</comment_count>
      <attachid>430362</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-02 08:40:08 -0700</bug_when>
    <thetext>Created attachment 430362
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766008</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-02 08:42:49 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 430312 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=430312&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:1566
&gt; &gt; +    ASSERT(range.peek().functionId() == CSSValueRgb || range.peek().functionId() == CSSValueRgba);
&gt; 
&gt; Wouldn’t we want the more precise assertion?
&gt; 
&gt;     ASSERT(range.peek().functionId() == (Mode == RGBFunctionMode::RGB ?
&gt; CSSValueRgb : CSSValueRgba));
&gt; 
&gt; Or is my assertion wrong?

Nope. Great idea. The template parameter and the assertion were added at different times and I didn&apos;t put them together. Done.

&gt; 
&gt; &gt; Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:1583
&gt; &gt; +    return convertColor&lt;SRGBA&lt;uint8_t&gt;&gt;(HSLA&lt;float&gt; { static_cast&lt;float&gt;(normalizedHue), static_cast&lt;float&gt;(normalizedSaturation), static_cast&lt;float&gt;(normalizedLightness), static_cast&lt;float&gt;(normalizedAlpha) });
&gt; 
&gt; This explicit conversion to SRGBA really does need a comment. I know it’s
&gt; not new. The fact that we do not create an extended color, but instead round
&gt; and clamp to SRGBA intentionally really does not go without saying!

Totally agree. Added.

&gt; 
&gt; &gt; Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:1659
&gt; &gt; +    ASSERT(range.peek().functionId() == CSSValueHsl || range.peek().functionId() == CSSValueHsla);
&gt; 
&gt; Same thought about the assertion.

Done.

&gt; 
&gt; &gt; Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:1720
&gt; &gt; +    return convertColor&lt;SRGBA&lt;uint8_t&gt;&gt;(HWBA&lt;float&gt; { static_cast&lt;float&gt;(normalizedHue), static_cast&lt;float&gt;(normalizedWhitness), static_cast&lt;float&gt;(normalizedBlackness), static_cast&lt;float&gt;(*alpha) });
&gt; 
&gt; Same thought about the comment.

Done.

&gt; 
&gt; &gt; Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:1929
&gt; &gt; +    for (int i = 0; i &lt; 3; ++i) {
&gt; 
&gt; for (auto&amp; channel : channels) {

Done.

&gt; 
&gt; &gt; Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp:1932
&gt; &gt; +        if (!value)
&gt; &gt; +            break;
&gt; 
&gt; All unspecified channels are set to 0? Peculiar syntax!

So odd. It has to do with the fact that a custom profile can have any number of components, so it just defaults everything to 0, but I think they should just special case the predefined ones to require the right number of components, but I think I lost that argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766010</commentid>
    <comment_count>7</comment_count>
      <attachid>430363</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-06-02 08:43:29 -0700</bug_when>
    <thetext>Created attachment 430363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766063</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-02 10:39:05 -0700</bug_when>
    <thetext>Committed r278364 (238394@main): &lt;https://commits.webkit.org/238394@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430363.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766064</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-02 10:40:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/78771441&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430296</attachid>
            <date>2021-06-01 15:01:06 -0700</date>
            <delta_ts>2021-06-01 18:16:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226513-20210601150106.patch</filename>
            <type>text/plain</type>
            <size>30663</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3ODMyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA2LTAxICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgInJlbGF0
aXZlIGNvbG9yIHN5bnRheCIgZm9yIGNvbG9yKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjUxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENTUyBDb2xvciA1IGhhcyByZWNlbnRseSBiZWVuIHVwZGF0
ZSB0byBzdXBwb3J0IHJlbGF0aXZlIGNvbG9yIHN5bnRheCBmb3IKKyAgICAgICAgdGhlIGNvbG9y
KCkgZnVuY3Rpb24gaW4gYWRkaXRpb24gdG8gdGhlIGV4aXN0aW5nIHJnYigpLCBoc2woKSwgaHdi
KCksIGxhYigpCisgICAgICAgIGFuZCBsY2goKS4KKworICAgICAgICBUb29rIHRoZSBvcGVydHVu
aXR5IHRvIHJlZmFjdG9yIG90aGVyIHJlbGF0aXZlIGNvbG9yIHN5bnRheCBwYXJzaW5nIHRvIHNo
YXJlCisgICAgICAgIG1vcmUgY29kZSBiZXR3ZWVuIHJlbGF0aXZlIGFuZCBub24tcmVsYXRpdmUg
cGFyc2VycyB1c2luZyBhIHNoYXJlZCBmdW5jdGlvbgorICAgICAgICB3aXRoIGxhbWJkYXMgdG8g
ZGlmZmVyZW50aWF0ZSB0aGUgY29tcG9uZW50IGNvbnN1bWVycy4gVGhpcyB3YXMgZG9uZSBmb3Ig
YWxsCisgICAgICAgIHRoZSBjb2xvciB0eXBlcyBleGNlcHQgcmdiKCkgYW5kIGhzbCgpLCB3aGlj
aCBoYXZlIG5vdGFibGUgZGlmZmVyZW5jZXMgaW4gCisgICAgICAgIHBhcnNpbmcgYmV0d2VlbiB0
aGUgcmVsYXRpdmUgYW5kIG5vbi1yZWxhdGl2ZSB2ZXJzaW9uLgorCisgICAgICAgICogY3NzL3Bh
cnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZU5vblJlbGF0aXZlUkdCUGFyYW1ldGVycyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlUkdCUGFyYW1l
dGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbG9y
QnlOb3JtYWxpemluZ0hTTENvbXBvbmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVy
dHlQYXJzZXJIZWxwZXJzOjpwYXJzZVJlbGF0aXZlSFNMUGFyYW1ldGVycyk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlTm9uUmVsYXRpdmVIU0xQYXJh
bWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFy
c2VIU0xQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVs
cGVyczo6cGFyc2VIV0JQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5
UGFyc2VySGVscGVyczo6cGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZU5vblJlbGF0aXZlSFdCUGFyYW1l
dGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNl
TGFiUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBl
cnM6OnBhcnNlUmVsYXRpdmVMYWJQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
b3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VOb25SZWxhdGl2ZUxhYlBhcmFtZXRlcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZUxDSFBhcmFtZXRl
cnMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZVJl
bGF0aXZlTENIUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNl
ckhlbHBlcnM6OnBhcnNlTm9uUmVsYXRpdmVMQ0hQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlw
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZVJl
bGF0aXZlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
b3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VDb2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1ldGVycyk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlUmVsYXRp
dmVDb2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
cm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlUmVsYXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVy
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlTm9u
UmVsYXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
cm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlQ29sb3JGdW5jdGlvblBhcmFtZXRlcnMpOgorCiAy
MDIxLTA2LTAxICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAg
ICAgICAgIFtXaW5DYWlyb10gR3JhcGhpY3NDb250ZXh0Q2Fpcm86OkdyYXBoaWNzQ29udGV4dENh
aXJvKEhEQywgYm9vbCkgbGVha3MgY2Fpcm9fdApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcAkocmV2aXNpb24g
Mjc4MzIxKQorKysgU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhl
bHBlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDk5LDE4ICsxNDk5LDggQEAgc3RhdGljIENv
bG9yIHBhcnNlUmVsYXRpdmVSR0JQYXJhbWV0ZXJzKAogICAgIHJldHVybiBTUkdCQTx1aW50OF90
PiB7ICpyZWQsICpncmVlbiwgKmJsdWUsIG5vcm1hbGl6ZWRBbHBoYSB9OwogfQogCi1lbnVtIGNs
YXNzIFJHQkZ1bmN0aW9uTW9kZSB7IFJHQiwgUkdCQSB9OwotCi10ZW1wbGF0ZTxSR0JGdW5jdGlv
bk1vZGUgTW9kZT4gc3RhdGljIENvbG9yIHBhcnNlUkdCUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tl
blJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3N0YXRpYyBD
b2xvciBwYXJzZU5vblJlbGF0aXZlUkdCUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiBh
cmdzKQogewotICAgIEFTU0VSVChyYW5nZS5wZWVrKCkuZnVuY3Rpb25JZCgpID09IENTU1ZhbHVl
UmdiIHx8IHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCkgPT0gQ1NTVmFsdWVSZ2JhKTsKLSAgICBh
dXRvIGFyZ3MgPSBjb25zdW1lRnVuY3Rpb24ocmFuZ2UpOwotCi0gICAgaWYgY29uc3RleHByIChN
b2RlID09IFJHQkZ1bmN0aW9uTW9kZTo6UkdCKSB7Ci0gICAgICAgIGlmIChjb250ZXh0LnJlbGF0
aXZlQ29sb3JTeW50YXhFbmFibGVkICYmIGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVGcm9t
KQotICAgICAgICAgICAgcmV0dXJuIHBhcnNlUmVsYXRpdmVSR0JQYXJhbWV0ZXJzKGFyZ3MsIGNv
bnRleHQpOwotICAgIH0KLQogICAgIHN0cnVjdCBJbml0aWFsQ29tcG9uZW50IHsKICAgICAgICAg
ZG91YmxlIHZhbHVlOwogICAgICAgICBSR0JDb21wb25lbnRUeXBlIHR5cGU7CkBAIC0xNTY5LDYg
KzE1NTksMzAgQEAgdGVtcGxhdGU8UkdCRnVuY3Rpb25Nb2RlIE1vZGU+IHN0YXRpYyBDbwogICAg
IHJldHVybiBTUkdCQTx1aW50OF90PiB7IG5vcm1hbGl6ZWRSZWQsIG5vcm1hbGl6ZWRHcmVlbiwg
bm9ybWFsaXplZEJsdWUsIG5vcm1hbGl6ZWRBbHBoYSB9OwogfQogCitlbnVtIGNsYXNzIFJHQkZ1
bmN0aW9uTW9kZSB7IFJHQiwgUkdCQSB9OworCit0ZW1wbGF0ZTxSR0JGdW5jdGlvbk1vZGUgTW9k
ZT4gc3RhdGljIENvbG9yIHBhcnNlUkdCUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiBy
YW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQocmFu
Z2UucGVlaygpLmZ1bmN0aW9uSWQoKSA9PSBDU1NWYWx1ZVJnYiB8fCByYW5nZS5wZWVrKCkuZnVu
Y3Rpb25JZCgpID09IENTU1ZhbHVlUmdiYSk7CisgICAgYXV0byBhcmdzID0gY29uc3VtZUZ1bmN0
aW9uKHJhbmdlKTsKKworICAgIGlmIGNvbnN0ZXhwciAoTW9kZSA9PSBSR0JGdW5jdGlvbk1vZGU6
OlJHQikgeworICAgICAgICBpZiAoY29udGV4dC5yZWxhdGl2ZUNvbG9yU3ludGF4RW5hYmxlZCAm
JiBhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlRnJvbSkKKyAgICAgICAgICAgIHJldHVybiBw
YXJzZVJlbGF0aXZlUkdCUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsKKyAgICB9CisgICAgcmV0
dXJuIHBhcnNlTm9uUmVsYXRpdmVSR0JQYXJhbWV0ZXJzKGFyZ3MpOworfQorCitzdGF0aWMgQ29s
b3IgY29sb3JCeU5vcm1hbGl6aW5nSFNMQ29tcG9uZW50cyhkb3VibGUgaHVlLCBkb3VibGUgc2F0
dXJhdGlvbiwgZG91YmxlIGxpZ2h0bmVzcywgZG91YmxlIGFscGhhKQoreworICAgIGF1dG8gbm9y
bWFsaXplZEh1ZSA9IG5vcm1hbGl6ZUh1ZShodWUpOworICAgIGF1dG8gbm9ybWFsaXplZFNhdHVy
YXRpb24gPSBzdGQ6OmNsYW1wKHNhdHVyYXRpb24sIDAuMCwgMTAwLjApOworICAgIGF1dG8gbm9y
bWFsaXplZExpZ2h0bmVzcyA9IHN0ZDo6Y2xhbXAobGlnaHRuZXNzLCAwLjAsIDEwMC4wKTsKKyAg
ICBhdXRvIG5vcm1hbGl6ZWRBbHBoYSA9IHN0ZDo6Y2xhbXAoYWxwaGEsIDAuMCwgMS4wKTsKKwor
ICAgIHJldHVybiBjb252ZXJ0Q29sb3I8U1JHQkE8dWludDhfdD4+KEhTTEE8ZmxvYXQ+IHsgc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRIdWUpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFs
aXplZFNhdHVyYXRpb24pLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZExpZ2h0bmVzcyks
IHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkQWxwaGEpIH0pOworfQorCiBzdGF0aWMgQ29s
b3IgcGFyc2VSZWxhdGl2ZUhTTFBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywg
Y29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKIHsKICAgICBBU1NFUlQoYXJncy5wZWVr
KCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pOwpAQCAtMTYwNiwyNiArMTYyMCwxMSBAQCBzdGF0aWMg
Q29sb3IgcGFyc2VSZWxhdGl2ZUhTTFBhcmFtZXRlcnMoCiAgICAgaWYgKCFhcmdzLmF0RW5kKCkp
CiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIG5vcm1hbGl6ZWRIdWUgPSBub3JtYWxp
emVIdWUoKmh1ZSk7Ci0gICAgYXV0byBub3JtYWxpemVkU2F0dXJhdGlvbiA9IHN0ZDo6Y2xhbXAo
KnNhdHVyYXRpb24sIDAuMCwgMTAwLjApOwotICAgIGF1dG8gbm9ybWFsaXplZExpZ2h0bmVzcyA9
IHN0ZDo6Y2xhbXAoKmxpZ2h0bmVzcywgMC4wLCAxMDAuMCk7Ci0gICAgYXV0byBub3JtYWxpemVk
QWxwaGEgPSBzdGQ6OmNsYW1wKCphbHBoYSwgMC4wLCAxLjApOwotCi0gICAgcmV0dXJuIGNvbnZl
cnRDb2xvcjxTUkdCQTx1aW50OF90Pj4oSFNMQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4o
bm9ybWFsaXplZEh1ZSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkU2F0dXJhdGlvbiks
IHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkTGlnaHRuZXNzKSwgc3RhdGljX2Nhc3Q8Zmxv
YXQ+KG5vcm1hbGl6ZWRBbHBoYSkgfSk7CisgICAgcmV0dXJuIGNvbG9yQnlOb3JtYWxpemluZ0hT
TENvbXBvbmVudHMoKmh1ZSwgKnNhdHVyYXRpb24sICpsaWdodG5lc3MsICphbHBoYSk7CiB9CiAK
LWVudW0gY2xhc3MgSFNMRnVuY3Rpb25Nb2RlIHsgSFNMLCBIU0xBIH07Ci0KLXRlbXBsYXRlPEhT
TEZ1bmN0aW9uTW9kZSBNb2RlPiBzdGF0aWMgQ29sb3IgcGFyc2VIU0xQYXJhbWV0ZXJzKENTU1Bh
cnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQor
c3RhdGljIENvbG9yIHBhcnNlTm9uUmVsYXRpdmVIU0xQYXJhbWV0ZXJzKENTU1BhcnNlclRva2Vu
UmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgQVNT
RVJUKHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCkgPT0gQ1NTVmFsdWVIc2wgfHwgcmFuZ2UucGVl
aygpLmZ1bmN0aW9uSWQoKSA9PSBDU1NWYWx1ZUhzbGEpOwotICAgIGF1dG8gYXJncyA9IGNvbnN1
bWVGdW5jdGlvbihyYW5nZSk7Ci0KLSAgICBpZiBjb25zdGV4cHIgKE1vZGUgPT0gSFNMRnVuY3Rp
b25Nb2RlOjpIU0wpIHsKLSAgICAgICAgaWYgKGNvbnRleHQucmVsYXRpdmVDb2xvclN5bnRheEVu
YWJsZWQgJiYgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pCi0gICAgICAgICAgICBy
ZXR1cm4gcGFyc2VSZWxhdGl2ZUhTTFBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7Ci0gICAgfQot
CiAgICAgYXV0byBodWUgPSBjb25zdW1lQW5nbGVSYXdPck51bWJlclJhdyhhcmdzLCBjb250ZXh0
Lm1vZGUpOwogICAgIGlmICghaHVlKQogICAgICAgICByZXR1cm4geyB9OwpAQCAtMTY1MCwxMiAr
MTY0OSwyMiBAQCB0ZW1wbGF0ZTxIU0xGdW5jdGlvbk1vZGUgTW9kZT4gc3RhdGljIENvCiAgICAg
aWYgKCFhcmdzLmF0RW5kKCkpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIG5vcm1h
bGl6ZWRIdWUgPSBub3JtYWxpemVIdWUoKmh1ZSk7Ci0gICAgYXV0byBub3JtYWxpemVkU2F0dXJh
dGlvbiA9IHN0ZDo6Y2xhbXAoKnNhdHVyYXRpb24sIDAuMCwgMTAwLjApOwotICAgIGF1dG8gbm9y
bWFsaXplZExpZ2h0bmVzcyA9IHN0ZDo6Y2xhbXAoKmxpZ2h0bmVzcywgMC4wLCAxMDAuMCk7Ci0g
ICAgYXV0byBub3JtYWxpemVkQWxwaGEgPSBzdGQ6OmNsYW1wKCphbHBoYSwgMC4wLCAxLjApOwor
ICAgIHJldHVybiBjb2xvckJ5Tm9ybWFsaXppbmdIU0xDb21wb25lbnRzKCpodWUsICpzYXR1cmF0
aW9uLCAqbGlnaHRuZXNzLCAqYWxwaGEpOworfQogCi0gICAgcmV0dXJuIGNvbnZlcnRDb2xvcjxT
UkdCQTx1aW50OF90Pj4oSFNMQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXpl
ZEh1ZSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkU2F0dXJhdGlvbiksIHN0YXRpY19j
YXN0PGZsb2F0Pihub3JtYWxpemVkTGlnaHRuZXNzKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1h
bGl6ZWRBbHBoYSkgfSk7CitlbnVtIGNsYXNzIEhTTEZ1bmN0aW9uTW9kZSB7IEhTTCwgSFNMQSB9
OworCit0ZW1wbGF0ZTxIU0xGdW5jdGlvbk1vZGUgTW9kZT4gc3RhdGljIENvbG9yIHBhcnNlSFNM
UGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29u
dGV4dCYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQocmFuZ2UucGVlaygpLmZ1bmN0aW9uSWQoKSA9
PSBDU1NWYWx1ZUhzbCB8fCByYW5nZS5wZWVrKCkuZnVuY3Rpb25JZCgpID09IENTU1ZhbHVlSHNs
YSk7CisgICAgYXV0byBhcmdzID0gY29uc3VtZUZ1bmN0aW9uKHJhbmdlKTsKKworICAgIGlmIGNv
bnN0ZXhwciAoTW9kZSA9PSBIU0xGdW5jdGlvbk1vZGU6OkhTTCkgeworICAgICAgICBpZiAoY29u
dGV4dC5yZWxhdGl2ZUNvbG9yU3ludGF4RW5hYmxlZCAmJiBhcmdzLnBlZWsoKS5pZCgpID09IENT
U1ZhbHVlRnJvbSkKKyAgICAgICAgICAgIHJldHVybiBwYXJzZVJlbGF0aXZlSFNMUGFyYW1ldGVy
cyhhcmdzLCBjb250ZXh0KTsKKyAgICB9CisKKyAgICByZXR1cm4gcGFyc2VOb25SZWxhdGl2ZUhT
TFBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIENvbXBv
bmVudFR5cGU+IHN0cnVjdCBXaGl0ZW5lc3NCbGFja25lc3MgewpAQCAtMTY4Myw2ICsxNjkyLDM0
IEBAIHRlbXBsYXRlPHR5cGVuYW1lIENvbXBvbmVudFR5cGU+IHN0YXRpYyAKICAgICByZXR1cm4g
cmVzdWx0OwogfQogCit0ZW1wbGF0ZTx0eXBlbmFtZSBDb25zdW1lckZvckh1ZSwgdHlwZW5hbWUg
Q29uc3VtZXJGb3JXaGl0ZW5lc3NBbmRCbGFja25lc3MsIHR5cGVuYW1lIENvbnN1bWVyRm9yQWxw
aGE+CitzdGF0aWMgQ29sb3IgcGFyc2VIV0JQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2Um
IGFyZ3MsIENvbnN1bWVyRm9ySHVlJiYgaHVlQ29uc3VtZXIsIENvbnN1bWVyRm9yV2hpdGVuZXNz
QW5kQmxhY2tuZXNzJiYgd2hpdGVuZXNzQW5kQmxhY2tuZXNzQ29uc3VtZXIsIENvbnN1bWVyRm9y
QWxwaGEmJiBhbHBoYUNvbnN1bWVyKQoreworICAgIGF1dG8gaHVlID0gaHVlQ29uc3VtZXIoYXJn
cyk7CisgICAgaWYgKCFodWUpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvIHdoaXRl
bmVzcyA9IHdoaXRlbmVzc0FuZEJsYWNrbmVzc0NvbnN1bWVyKGFyZ3MpOworICAgIGlmICghd2hp
dGVuZXNzKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byBibGFja25lc3MgPSB3aGl0
ZW5lc3NBbmRCbGFja25lc3NDb25zdW1lcihhcmdzKTsKKyAgICBpZiAoIWJsYWNrbmVzcykKKyAg
ICAgICAgcmV0dXJuIHsgfTsKKworICAgIGF1dG8gYWxwaGEgPSBhbHBoYUNvbnN1bWVyKGFyZ3Mp
OworICAgIGlmICghYWxwaGEpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBpZiAoIWFyZ3Mu
YXRFbmQoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGF1dG8gbm9ybWFsaXplZEh1ZSA9
IG5vcm1hbGl6ZUh1ZSgqaHVlKTsKKyAgICBhdXRvIFtub3JtYWxpemVkV2hpdG5lc3MsIG5vcm1h
bGl6ZWRCbGFja25lc3NdID0gbm9ybWFsaXplV2hpdGVuZXNzQmxhY2tuZXNzKCp3aGl0ZW5lc3Ms
ICpibGFja25lc3MpOworCisgICAgcmV0dXJuIGNvbnZlcnRDb2xvcjxTUkdCQTx1aW50OF90Pj4o
SFdCQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZEh1ZSksIHN0YXRpY19j
YXN0PGZsb2F0Pihub3JtYWxpemVkV2hpdG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFs
aXplZEJsYWNrbmVzcyksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxwaGEpIH0pOworfQorCiBzdGF0
aWMgQ29sb3IgcGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYg
YXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKIHsKICAgICBBU1NFUlQoYXJn
cy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pOwpAQCAtMTcwMSwyOSArMTczOCwyMCBAQCBz
dGF0aWMgQ29sb3IgcGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMoCiAgICAgICAgIHsgQ1NTVmFs
dWVBbHBoYSwgQ1NTVW5pdFR5cGU6OkNTU19QRVJDRU5UQUdFLCBvcmlnaW5Db2xvckFzSFdCLmFs
cGhhICogMTAwLjAgfQogICAgIH07CiAKLSAgICBhdXRvIGh1ZSA9IGNvbnN1bWVBbmdsZVJhd09y
TnVtYmVyUmF3QWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlLCBjb250
ZXh0Lm1vZGUpOwotICAgIGlmICghaHVlKQotICAgICAgICByZXR1cm4geyB9OwotCi0gICAgYXV0
byB3aGl0ZW5lc3MgPSBjb25zdW1lUGVyY2VudEFsbG93aW5nU3ltYm9sVGFibGVJZGVudChhcmdz
LCBzeW1ib2xUYWJsZSk7Ci0gICAgaWYgKCF3aGl0ZW5lc3MpCi0gICAgICAgIHJldHVybiB7IH07
Ci0KLSAgICBhdXRvIGJsYWNrbmVzcyA9IGNvbnN1bWVQZXJjZW50QWxsb3dpbmdTeW1ib2xUYWJs
ZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsKLSAgICBpZiAoIWJsYWNrbmVzcykKLSAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICBhdXRvIGh1ZUNvbnN1bWVyID0gWyZzeW1ib2xUYWJsZSwgJmNvbnRl
eHRdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVBbmdsZVJhd09yTnVtYmVyUmF3QWxsb3dp
bmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlLCBjb250ZXh0Lm1vZGUpOyB9Owor
ICAgIGF1dG8gd2hpdGVuZXNzQW5kQmxhY2tuZXNzQ29uc3VtZXIgPSBbJnN5bWJvbFRhYmxlXShh
dXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lUGVyY2VudEFsbG93aW5nU3ltYm9sVGFibGVJZGVu
dChhcmdzLCBzeW1ib2xUYWJsZSk7IH07CisgICAgYXV0byBhbHBoYUNvbnN1bWVyID0gWyZzeW1i
b2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU9wdGlvbmFsQWxwaGFBbGxvd2lu
Z1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OwogCi0gICAgYXV0byBhbHBo
YSA9IGNvbnN1bWVPcHRpb25hbEFscGhhQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5
bWJvbFRhYmxlKTsKLSAgICBpZiAoIWFscGhhKQotICAgICAgICByZXR1cm4geyB9OwotCi0gICAg
aWYgKCFhcmdzLmF0RW5kKCkpCi0gICAgICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIHBhcnNl
SFdCUGFyYW1ldGVycyhhcmdzLCBXVEZNb3ZlKGh1ZUNvbnN1bWVyKSwgV1RGTW92ZSh3aGl0ZW5l
c3NBbmRCbGFja25lc3NDb25zdW1lciksIFdURk1vdmUoYWxwaGFDb25zdW1lcikpOworfQogCi0g
ICAgYXV0byBub3JtYWxpemVkSHVlID0gbm9ybWFsaXplSHVlKCpodWUpOwotICAgIGF1dG8gW25v
cm1hbGl6ZWRXaGl0bmVzcywgbm9ybWFsaXplZEJsYWNrbmVzc10gPSBub3JtYWxpemVXaGl0ZW5l
c3NCbGFja25lc3MoKndoaXRlbmVzcywgKmJsYWNrbmVzcyk7CitzdGF0aWMgQ29sb3IgcGFyc2VO
b25SZWxhdGl2ZUhXQlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3Qg
Q1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBhdXRvIGh1ZUNvbnN1bWVyID0gWyZj
b250ZXh0XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lQW5nbGVSYXdPck51bWJlclJhdyhh
cmdzLCBjb250ZXh0Lm1vZGUpOyB9OworICAgIGF1dG8gd2hpdGVuZXNzQW5kQmxhY2tuZXNzQ29u
c3VtZXIgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lUGVyY2VudFJhdyhhcmdzKTsg
fTsKKyAgICBhdXRvIGFscGhhQ29uc3VtZXIgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25z
dW1lT3B0aW9uYWxBbHBoYShhcmdzKTsgfTsKIAotICAgIHJldHVybiBjb252ZXJ0Q29sb3I8U1JH
QkE8dWludDhfdD4+KEhXQkE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRI
dWUpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZFdoaXRuZXNzKSwgc3RhdGljX2Nhc3Q8
ZmxvYXQ+KG5vcm1hbGl6ZWRCbGFja25lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFscGhhKSB9
KTsKKyAgICByZXR1cm4gcGFyc2VIV0JQYXJhbWV0ZXJzKGFyZ3MsIFdURk1vdmUoaHVlQ29uc3Vt
ZXIpLCBXVEZNb3ZlKHdoaXRlbmVzc0FuZEJsYWNrbmVzc0NvbnN1bWVyKSwgV1RGTW92ZShhbHBo
YUNvbnN1bWVyKSk7CiB9CiAKIHN0YXRpYyBDb2xvciBwYXJzZUhXQlBhcmFtZXRlcnMoQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCkBA
IC0xNzM3LDMwICsxNzY1LDM0IEBAIHN0YXRpYyBDb2xvciBwYXJzZUhXQlBhcmFtZXRlcnMoQ1NT
UGFyc2UKIAogICAgIGlmIChjb250ZXh0LnJlbGF0aXZlQ29sb3JTeW50YXhFbmFibGVkICYmIGFy
Z3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVGcm9tKQogICAgICAgICByZXR1cm4gcGFyc2VSZWxh
dGl2ZUhXQlBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7CisgICAgcmV0dXJuIHBhcnNlTm9uUmVs
YXRpdmVIV0JQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOworfQogCi0gICAgYXV0byBodWUgPSBj
b25zdW1lQW5nbGVSYXdPck51bWJlclJhdyhhcmdzLCBjb250ZXh0Lm1vZGUpOwotICAgIGlmICgh
aHVlKQordGVtcGxhdGU8dHlwZW5hbWUgQ29uc3VtZXJGb3JMaWdodG5lc3MsIHR5cGVuYW1lIENv
bnN1bWVyRm9yQUIsIHR5cGVuYW1lIENvbnN1bWVyRm9yQWxwaGE+CitzdGF0aWMgQ29sb3IgcGFy
c2VMYWJQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIENvbnN1bWVyRm9yTGln
aHRuZXNzJiYgbGlnaHRuZXNzQ29uc3VtZXIsIENvbnN1bWVyRm9yQUImJiBhYkNvbnN1bWVyLCBD
b25zdW1lckZvckFscGhhJiYgYWxwaGFDb25zdW1lcikKK3sKKyAgICBhdXRvIGxpZ2h0bmVzcyA9
IGxpZ2h0bmVzc0NvbnN1bWVyKGFyZ3MpOworICAgIGlmICghbGlnaHRuZXNzKQogICAgICAgICBy
ZXR1cm4geyB9OwogCi0gICAgYXV0byB3aGl0ZW5lc3MgPSBjb25zdW1lUGVyY2VudFJhdyhhcmdz
KTsKLSAgICBpZiAoIXdoaXRlbmVzcykKKyAgICBhdXRvIGFWYWx1ZSA9IGFiQ29uc3VtZXIoYXJn
cyk7CisgICAgaWYgKCFhVmFsdWUpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIGJs
YWNrbmVzcyA9IGNvbnN1bWVQZXJjZW50UmF3KGFyZ3MpOwotICAgIGlmICghYmxhY2tuZXNzKQor
ICAgIGF1dG8gYlZhbHVlID0gYWJDb25zdW1lcihhcmdzKTsKKyAgICBpZiAoIWJWYWx1ZSkKICAg
ICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gYWxwaGEgPSBjb25zdW1lT3B0aW9uYWxBbHBo
YShhcmdzKTsKKyAgICBhdXRvIGFscGhhID0gYWxwaGFDb25zdW1lcihhcmdzKTsKICAgICBpZiAo
IWFscGhhKQogICAgICAgICByZXR1cm4geyB9OwogCiAgICAgaWYgKCFhcmdzLmF0RW5kKCkpCiAg
ICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIG5vcm1hbGl6ZWRIdWUgPSBub3JtYWxpemVI
dWUoKmh1ZSk7Ci0gICAgYXV0byBbbm9ybWFsaXplZFdoaXRuZXNzLCBub3JtYWxpemVkQmxhY2tu
ZXNzXSA9IG5vcm1hbGl6ZVdoaXRlbmVzc0JsYWNrbmVzcygqd2hpdGVuZXNzLCAqYmxhY2tuZXNz
KTsKKyAgICBhdXRvIG5vcm1hbGl6ZWRMaWdodG5lc3MgPSBzdGQ6Om1heCgwLjAsICpsaWdodG5l
c3MpOwogCi0gICAgcmV0dXJuIGNvbnZlcnRDb2xvcjxTUkdCQTx1aW50OF90Pj4oSFdCQTxmbG9h
dD4geyBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZEh1ZSksIHN0YXRpY19jYXN0PGZsb2F0
Pihub3JtYWxpemVkV2hpdG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZEJsYWNr
bmVzcyksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxwaGEpIH0pOworICAgIHJldHVybiBMYWI8Zmxv
YXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2Fz
dDxmbG9hdD4oKmFWYWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0PigqYlZhbHVlKSwgc3RhdGljX2Nh
c3Q8ZmxvYXQ+KCphbHBoYSkgfTsKIH0KIAogc3RhdGljIENvbG9yIHBhcnNlUmVsYXRpdmVMYWJQ
YXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1BhcnNlckNvbnRl
eHQmIGNvbnRleHQpCkBAIC0xNzgxLDI4ICsxODEzLDIwIEBAIHN0YXRpYyBDb2xvciBwYXJzZVJl
bGF0aXZlTGFiUGFyYW1ldGVycygKICAgICAgICAgeyBDU1NWYWx1ZUFscGhhLCBDU1NVbml0VHlw
ZTo6Q1NTX1BFUkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNMYWIuYWxwaGEgKiAxMDAuMCB9CiAgICAg
fTsKIAotICAgIGF1dG8gbGlnaHRuZXNzID0gY29uc3VtZVBlcmNlbnRBbGxvd2luZ1N5bWJvbFRh
YmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlmICghbGlnaHRuZXNzKQotICAgICAg
ICByZXR1cm4geyB9OworICAgIGF1dG8gbGlnaHRuZXNzQ29uc3VtZXIgPSBbJnN5bWJvbFRhYmxl
XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lUGVyY2VudEFsbG93aW5nU3ltYm9sVGFibGVJ
ZGVudChhcmdzLCBzeW1ib2xUYWJsZSk7IH07CisgICAgYXV0byBhYkNvbnN1bWVyID0gWyZzeW1i
b2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU51bWJlckFsbG93aW5nU3ltYm9s
VGFibGVJZGVudChhcmdzLCBzeW1ib2xUYWJsZSk7IH07CisgICAgYXV0byBhbHBoYUNvbnN1bWVy
ID0gWyZzeW1ib2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU9wdGlvbmFsQWxw
aGFBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OwogCi0gICAg
YXV0byBhVmFsdWUgPSBjb25zdW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3Ms
IHN5bWJvbFRhYmxlKTsKLSAgICBpZiAoIWFWYWx1ZSkKLSAgICAgICAgcmV0dXJuIHsgfTsKLQot
ICAgIGF1dG8gYlZhbHVlID0gY29uc3VtZU51bWJlckFsbG93aW5nU3ltYm9sVGFibGVJZGVudChh
cmdzLCBzeW1ib2xUYWJsZSk7Ci0gICAgaWYgKCFiVmFsdWUpCi0gICAgICAgIHJldHVybiB7IH07
Ci0KLSAgICBhdXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFsQWxwaGFBbGxvd2luZ1N5bWJvbFRh
YmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlmICghYWxwaGEpCi0gICAgICAgIHJl
dHVybiB7IH07Ci0KLSAgICBpZiAoIWFyZ3MuYXRFbmQoKSkKLSAgICAgICAgcmV0dXJuIHsgfTsK
KyAgICByZXR1cm4gcGFyc2VMYWJQYXJhbWV0ZXJzKGFyZ3MsIFdURk1vdmUobGlnaHRuZXNzQ29u
c3VtZXIpLCBXVEZNb3ZlKGFiQ29uc3VtZXIpLCBXVEZNb3ZlKGFscGhhQ29uc3VtZXIpKTsKK30K
IAotICAgIGF1dG8gbm9ybWFsaXplZExpZ2h0bmVzcyA9IHN0ZDo6bWF4KDAuMCwgKmxpZ2h0bmVz
cyk7CitzdGF0aWMgQ29sb3IgcGFyc2VOb25SZWxhdGl2ZUxhYlBhcmFtZXRlcnMoQ1NTUGFyc2Vy
VG9rZW5SYW5nZSYgYXJncykKK3sKKyAgICBhdXRvIGxpZ2h0bmVzc0NvbnN1bWVyID0gW10oYXV0
byYgYXJncykgeyByZXR1cm4gY29uc3VtZVBlcmNlbnRSYXcoYXJncyk7IH07CisgICAgYXV0byBh
YkNvbnN1bWVyID0gW10oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU51bWJlclJhdyhhcmdz
KTsgfTsKKyAgICBhdXRvIGFscGhhQ29uc3VtZXIgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBj
b25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsgfTsKIAotICAgIHJldHVybiBMYWI8ZmxvYXQ+IHsg
c3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9h
dD4oKmFWYWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0PigqYlZhbHVlKSwgc3RhdGljX2Nhc3Q8Zmxv
YXQ+KCphbHBoYSkgfTsKKyAgICByZXR1cm4gcGFyc2VMYWJQYXJhbWV0ZXJzKGFyZ3MsIFdURk1v
dmUobGlnaHRuZXNzQ29uc3VtZXIpLCBXVEZNb3ZlKGFiQ29uc3VtZXIpLCBXVEZNb3ZlKGFscGhh
Q29uc3VtZXIpKTsKIH0KIAogc3RhdGljIENvbG9yIHBhcnNlTGFiUGFyYW1ldGVycyhDU1NQYXJz
ZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKQEAg
LTE4MTYsMjAgKzE4NDAsMjUgQEAgc3RhdGljIENvbG9yIHBhcnNlTGFiUGFyYW1ldGVycyhDU1NQ
YXJzZQogCiAgICAgaWYgKGNvbnRleHQucmVsYXRpdmVDb2xvclN5bnRheEVuYWJsZWQgJiYgYXJn
cy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pCiAgICAgICAgIHJldHVybiBwYXJzZVJlbGF0
aXZlTGFiUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsKKyAgICByZXR1cm4gcGFyc2VOb25SZWxh
dGl2ZUxhYlBhcmFtZXRlcnMoYXJncyk7Cit9CiAKLSAgICBhdXRvIGxpZ2h0bmVzcyA9IGNvbnN1
bWVQZXJjZW50UmF3KGFyZ3MpOwordGVtcGxhdGU8dHlwZW5hbWUgQ29uc3VtZXJGb3JMaWdodG5l
c3MsIHR5cGVuYW1lIENvbnN1bWVyRm9yQ2hyb21hLCB0eXBlbmFtZSBDb25zdW1lckZvckh1ZSwg
dHlwZW5hbWUgQ29uc3VtZXJGb3JBbHBoYT4KK3N0YXRpYyBDb2xvciBwYXJzZUxDSFBhcmFtZXRl
cnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgQ29uc3VtZXJGb3JMaWdodG5lc3MmJiBsaWdo
dG5lc3NDb25zdW1lciwgQ29uc3VtZXJGb3JDaHJvbWEmJiBjaHJvbWFDb25zdW1lciwgQ29uc3Vt
ZXJGb3JIdWUmJiBodWVDb25zdW1lciwgQ29uc3VtZXJGb3JBbHBoYSYmIGFscGhhQ29uc3VtZXIp
Cit7CisgICAgYXV0byBsaWdodG5lc3MgPSBsaWdodG5lc3NDb25zdW1lcihhcmdzKTsKICAgICBp
ZiAoIWxpZ2h0bmVzcykKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gYVZhbHVlID0g
Y29uc3VtZU51bWJlclJhdyhhcmdzKTsKLSAgICBpZiAoIWFWYWx1ZSkKKyAgICBhdXRvIGNocm9t
YSA9IGNocm9tYUNvbnN1bWVyKGFyZ3MpOworICAgIGlmICghY2hyb21hKQogICAgICAgICByZXR1
cm4geyB9OwogCi0gICAgYXV0byBiVmFsdWUgPSBjb25zdW1lTnVtYmVyUmF3KGFyZ3MpOwotICAg
IGlmICghYlZhbHVlKQorICAgIGF1dG8gaHVlID0gaHVlQ29uc3VtZXIoYXJncyk7CisgICAgaWYg
KCFodWUpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIGFscGhhID0gY29uc3VtZU9w
dGlvbmFsQWxwaGEoYXJncyk7CisgICAgYXV0byBhbHBoYSA9IGFscGhhQ29uc3VtZXIoYXJncyk7
CiAgICAgaWYgKCFhbHBoYSkKICAgICAgICAgcmV0dXJuIHsgfTsKIApAQCAtMTgzNyw4ICsxODY2
LDEwIEBAIHN0YXRpYyBDb2xvciBwYXJzZUxhYlBhcmFtZXRlcnMoQ1NTUGFyc2UKICAgICAgICAg
cmV0dXJuIHsgfTsKIAogICAgIGF1dG8gbm9ybWFsaXplZExpZ2h0bmVzcyA9IHN0ZDo6bWF4KDAu
MCwgKmxpZ2h0bmVzcyk7CisgICAgYXV0byBub3JtYWxpemVkQ2hyb21hID0gc3RkOjptYXgoMC4w
LCAqY2hyb21hKTsKKyAgICBhdXRvIG5vcm1hbGl6ZWRIdWUgPSBub3JtYWxpemVIdWUoKmh1ZSk7
CiAKLSAgICByZXR1cm4gTGFiPGZsb2F0PiB7IHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVk
TGlnaHRuZXNzKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphVmFsdWUpLCBzdGF0aWNfY2FzdDxmbG9h
dD4oKmJWYWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxwaGEpIH07CisgICAgcmV0dXJuIExD
SEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5lc3MpLCBzdGF0
aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZENocm9tYSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3Jt
YWxpemVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphbHBoYSkgfTsKIH0KIAogc3RhdGljIENv
bG9yIHBhcnNlUmVsYXRpdmVMQ0hQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3Ms
IGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCkBAIC0xODU5LDMwICsxODkwLDIyIEBA
IHN0YXRpYyBDb2xvciBwYXJzZVJlbGF0aXZlTENIUGFyYW1ldGVycygKICAgICAgICAgeyBDU1NW
YWx1ZUFscGhhLCBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNMQ0gu
YWxwaGEgKiAxMDAuMCB9CiAgICAgfTsKIAotICAgIGF1dG8gbGlnaHRuZXNzID0gY29uc3VtZVBl
cmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlm
ICghbGlnaHRuZXNzKQotICAgICAgICByZXR1cm4geyB9OwotCi0gICAgYXV0byBjaHJvbWEgPSBj
b25zdW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsK
LSAgICBpZiAoIWNocm9tYSkKLSAgICAgICAgcmV0dXJuIHsgfTsKLQotICAgIGF1dG8gaHVlID0g
Y29uc3VtZUFuZ2xlUmF3T3JOdW1iZXJSYXdBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywg
c3ltYm9sVGFibGUsIGNvbnRleHQubW9kZSk7Ci0gICAgaWYgKCFodWUpCi0gICAgICAgIHJldHVy
biB7IH07Ci0KLSAgICBhdXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFsQWxwaGFBbGxvd2luZ1N5
bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlmICghYWxwaGEpCi0gICAg
ICAgIHJldHVybiB7IH07CisgICAgYXV0byBsaWdodG5lc3NDb25zdW1lciA9IFsmc3ltYm9sVGFi
bGVdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVQZXJjZW50QWxsb3dpbmdTeW1ib2xUYWJs
ZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsgfTsKKyAgICBhdXRvIGNocm9tYUNvbnN1bWVyID0g
WyZzeW1ib2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU51bWJlckFsbG93aW5n
U3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xUYWJsZSk7IH07CisgICAgYXV0byBodWVDb25z
dW1lciA9IFsmc3ltYm9sVGFibGUsICZjb250ZXh0XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25z
dW1lQW5nbGVSYXdPck51bWJlclJhd0FsbG93aW5nU3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1i
b2xUYWJsZSwgY29udGV4dC5tb2RlKTsgfTsKKyAgICBhdXRvIGFscGhhQ29uc3VtZXIgPSBbJnN5
bWJvbFRhYmxlXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lT3B0aW9uYWxBbHBoYUFsbG93
aW5nU3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xUYWJsZSk7IH07CiAKLSAgICBpZiAoIWFy
Z3MuYXRFbmQoKSkKLSAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gcGFyc2VMQ0hQYXJh
bWV0ZXJzKGFyZ3MsIFdURk1vdmUobGlnaHRuZXNzQ29uc3VtZXIpLCBXVEZNb3ZlKGNocm9tYUNv
bnN1bWVyKSwgV1RGTW92ZShodWVDb25zdW1lciksIFdURk1vdmUoYWxwaGFDb25zdW1lcikpOwor
fQogCi0gICAgYXV0byBub3JtYWxpemVkTGlnaHRuZXNzID0gc3RkOjptYXgoMC4wLCAqbGlnaHRu
ZXNzKTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRDaHJvbWEgPSBzdGQ6Om1heCgwLjAsICpjaHJvbWEp
OwotICAgIGF1dG8gbm9ybWFsaXplZEh1ZSA9IG5vcm1hbGl6ZUh1ZSgqaHVlKTsKK3N0YXRpYyBD
b2xvciBwYXJzZU5vblJlbGF0aXZlTENIUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiBh
cmdzLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIGF1dG8gbGlnaHRu
ZXNzQ29uc3VtZXIgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lUGVyY2VudFJhdyhh
cmdzKTsgfTsKKyAgICBhdXRvIGNocm9tYUNvbnN1bWVyID0gW10oYXV0byYgYXJncykgeyByZXR1
cm4gY29uc3VtZU51bWJlclJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGh1ZUNvbnN1bWVyID0gWyZj
b250ZXh0XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lQW5nbGVSYXdPck51bWJlclJhdyhh
cmdzLCBjb250ZXh0Lm1vZGUpOyB9OworICAgIGF1dG8gYWxwaGFDb25zdW1lciA9IFtdKGF1dG8m
IGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhKGFyZ3MpOyB9OwogCi0gICAgcmV0
dXJuIExDSEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5lc3Mp
LCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZENocm9tYSksIHN0YXRpY19jYXN0PGZsb2F0
Pihub3JtYWxpemVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphbHBoYSkgfTsKKyAgICByZXR1
cm4gcGFyc2VMQ0hQYXJhbWV0ZXJzKGFyZ3MsIFdURk1vdmUobGlnaHRuZXNzQ29uc3VtZXIpLCBX
VEZNb3ZlKGNocm9tYUNvbnN1bWVyKSwgV1RGTW92ZShodWVDb25zdW1lciksIFdURk1vdmUoYWxw
aGFDb25zdW1lcikpOwogfQogCiBzdGF0aWMgQ29sb3IgcGFyc2VMQ0hQYXJhbWV0ZXJzKENTU1Bh
cnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQpA
QCAtMTg5NiwzMSArMTkxOSw1NyBAQCBzdGF0aWMgQ29sb3IgcGFyc2VMQ0hQYXJhbWV0ZXJzKENT
U1BhcnNlCiAKICAgICBpZiAoY29udGV4dC5yZWxhdGl2ZUNvbG9yU3ludGF4RW5hYmxlZCAmJiBh
cmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlRnJvbSkKICAgICAgICAgcmV0dXJuIHBhcnNlUmVs
YXRpdmVMQ0hQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOworICAgIHJldHVybiBwYXJzZU5vblJl
bGF0aXZlTENIUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsKK30KIAotICAgIGF1dG8gbGlnaHRu
ZXNzID0gY29uc3VtZVBlcmNlbnRSYXcoYXJncyk7Ci0gICAgaWYgKCFsaWdodG5lc3MpCi0gICAg
ICAgIHJldHVybiB7IH07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBDb2xvclR5cGUsIHR5cGVuYW1lIENv
bnN1bWVyRm9yUkdCLCB0eXBlbmFtZSBDb25zdW1lckZvckFscGhhPgorc3RhdGljIENvbG9yIHBh
cnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIENv
bnN1bWVyRm9yUkdCJiYgcmdiQ29uc3VtZXIsIENvbnN1bWVyRm9yQWxwaGEmJiBhbHBoYUNvbnN1
bWVyKQoreworICAgIGRvdWJsZSBjaGFubmVsc1szXSA9IHsgMCwgMCwgMCB9OworICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgMzsgKytpKSB7CisgICAgICAgIGF1dG8gdmFsdWUgPSByZ2JDb25zdW1l
cihhcmdzKTsKKyAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjaGFubmVsc1tpXSA9ICp2YWx1ZTsKKyAgICB9CiAKLSAgICBhdXRvIGNocm9tYSA9IGNvbnN1
bWVOdW1iZXJSYXcoYXJncyk7Ci0gICAgaWYgKCFjaHJvbWEpCisgICAgYXV0byBhbHBoYSA9IGFs
cGhhQ29uc3VtZXIoYXJncyk7CisgICAgaWYgKCFhbHBoYSkKICAgICAgICAgcmV0dXJuIHsgfTsK
IAotICAgIGF1dG8gaHVlID0gY29uc3VtZUFuZ2xlUmF3T3JOdW1iZXJSYXcoYXJncywgY29udGV4
dC5tb2RlKTsKLSAgICBpZiAoIWh1ZSkKKyAgICBpZiAoIWFyZ3MuYXRFbmQoKSkKICAgICAgICAg
cmV0dXJuIHsgfTsKIAotICAgIGF1dG8gYWxwaGEgPSBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdz
KTsKLSAgICBpZiAoIWFscGhhKQotICAgICAgICByZXR1cm4geyB9OworICAgIGF1dG8gbm9ybWFs
aXplZFJlZCA9IHN0ZDo6Y2xhbXAoY2hhbm5lbHNbMF0sIDAuMCwgMS4wKTsKKyAgICBhdXRvIG5v
cm1hbGl6ZWRHcmVlbiA9IHN0ZDo6Y2xhbXAoY2hhbm5lbHNbMV0sIDAuMCwgMS4wKTsKKyAgICBh
dXRvIG5vcm1hbGl6ZWRCbHVlID0gc3RkOjpjbGFtcChjaGFubmVsc1syXSwgMC4wLCAxLjApOwog
Ci0gICAgaWYgKCFhcmdzLmF0RW5kKCkpCisgICAgcmV0dXJuIHsgQ29sb3JUeXBlIHsgc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRSZWQpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXpl
ZEdyZWVuKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRCbHVlKSwgc3RhdGljX2Nhc3Q8
ZmxvYXQ+KCphbHBoYSkgfSwgQ29sb3I6OkZsYWdzOjpVc2VDb2xvckZ1bmN0aW9uU2VyaWFsaXph
dGlvbiB9OworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBDb2xvclR5cGU+IHN0YXRpYyBDb2xvciBw
YXJzZVJlbGF0aXZlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzKENTU1BhcnNlclRva2VuUmFuZ2Um
IGFyZ3MsIENvbG9yIG9yaWdpbkNvbG9yLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0
KQoreworICAgIEFTU0VSVChhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlQTk4UmdiIHx8IGFy
Z3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVEaXNwbGF5UDMgfHwgYXJncy5wZWVrKCkuaWQoKSA9
PSBDU1NWYWx1ZVByb3Bob3RvUmdiIHx8IGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVSZWMy
MDIwIHx8IGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVTUkdCKTsKKworICAgIC8vIFN1cHBv
cnQgc1JHQiBhbmQgRGlzcGxheS1QMyByZWdhcmRsZXNzIG9mIHRoZSBzZXR0aW5nIGFzIHdlIGhh
dmUgc2hpcHBlZCBzdXBwb3J0IGZvciB0aGVtIGZvciBhIHdoaWxlLgorICAgIGlmICghY29udGV4
dC5jc3NDb2xvcjQgJiYgKGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVBOThSZ2IgfHwgYXJn
cy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZVByb3Bob3RvUmdiIHx8IGFyZ3MucGVlaygpLmlkKCkg
PT0gQ1NTVmFsdWVSZWMyMDIwKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gbm9y
bWFsaXplZExpZ2h0bmVzcyA9IHN0ZDo6bWF4KDAuMCwgKmxpZ2h0bmVzcyk7Ci0gICAgYXV0byBu
b3JtYWxpemVkQ2hyb21hID0gc3RkOjptYXgoMC4wLCAqY2hyb21hKTsKLSAgICBhdXRvIG5vcm1h
bGl6ZWRIdWUgPSBub3JtYWxpemVIdWUoKmh1ZSk7CisgICAgY29uc3VtZUlkZW50UmF3KGFyZ3Mp
OwogCi0gICAgcmV0dXJuIExDSEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6
ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZENocm9tYSksIHN0YXRp
Y19jYXN0PGZsb2F0Pihub3JtYWxpemVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphbHBoYSkg
fTsKKyAgICBhdXRvIG9yaWdpbkNvbG9yQXNDb2xvclR5cGUgPSBvcmlnaW5Db2xvci50b0NvbG9y
VHlwZUxvc3N5PENvbG9yVHlwZT4oKTsKKworICAgIENTU0NhbGNTeW1ib2xUYWJsZSBzeW1ib2xU
YWJsZSB7CisgICAgICAgIHsgQ1NTVmFsdWVSLCBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRBR0Us
IG9yaWdpbkNvbG9yQXNDb2xvclR5cGUucmVkICogMTAwLjAgfSwKKyAgICAgICAgeyBDU1NWYWx1
ZUcsIENTU1VuaXRUeXBlOjpDU1NfUEVSQ0VOVEFHRSwgb3JpZ2luQ29sb3JBc0NvbG9yVHlwZS5n
cmVlbiAqIDEwMC4wIH0sCisgICAgICAgIHsgQ1NTVmFsdWVCLCBDU1NVbml0VHlwZTo6Q1NTX1BF
UkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNDb2xvclR5cGUuYmx1ZSAqIDEwMC4wIH0sCisgICAgICAg
IHsgQ1NTVmFsdWVBbHBoYSwgQ1NTVW5pdFR5cGU6OkNTU19QRVJDRU5UQUdFLCBvcmlnaW5Db2xv
ckFzQ29sb3JUeXBlLmFscGhhICogMTAwLjAgfQorICAgIH07CisKKyAgICBhdXRvIGNvbnN1bWVS
R0IgPSBbJnN5bWJvbFRhYmxlXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lTnVtYmVyUmF3
T3JQZXJjZW50RGl2aWRlZEJ5MTAwUmF3QWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5
bWJvbFRhYmxlLCBWYWx1ZVJhbmdlOjpBbGwpOyB9OworICAgIGF1dG8gY29uc3VtZUFscGhhID0g
WyZzeW1ib2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU9wdGlvbmFsQWxwaGFB
bGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OworCisgICAgcmV0
dXJuIHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPENvbG9yVHlwZT4oYXJncywgV1RGTW92
ZShjb25zdW1lUkdCKSwgV1RGTW92ZShjb25zdW1lQWxwaGEpKTsKIH0KIAogdGVtcGxhdGU8dHlw
ZW5hbWUgQ29sb3JUeXBlPiBzdGF0aWMgQ29sb3IgcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlw
ZXMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29u
dGV4dCkKQEAgLTE5MzMsMjIgKzE5ODIsMzQgQEAgdGVtcGxhdGU8dHlwZW5hbWUgQ29sb3JUeXBl
PiBzdGF0aWMgQ29sbwogCiAgICAgY29uc3VtZUlkZW50UmF3KGFyZ3MpOwogCisgICAgYXV0byBj
b25zdW1lUkdCID0gW10oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU51bWJlclJhd09yUGVy
Y2VudERpdmlkZWRCeTEwMFJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGNvbnN1bWVBbHBoYSA9IFtd
KGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhKGFyZ3MpOyB9OworCisg
ICAgcmV0dXJuIHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPENvbG9yVHlwZT4oYXJncywg
V1RGTW92ZShjb25zdW1lUkdCKSwgV1RGTW92ZShjb25zdW1lQWxwaGEpKTsKK30KKwordGVtcGxh
dGU8dHlwZW5hbWUgQ29uc3VtZXJGb3JYWVosIHR5cGVuYW1lIENvbnN1bWVyRm9yQWxwaGE+Citz
dGF0aWMgQ29sb3IgcGFyc2VDb2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1ldGVycyhDU1NQYXJzZXJU
b2tlblJhbmdlJiBhcmdzLCBDb25zdW1lckZvclhZWiYmIHh5ekNvbnN1bWVyLCBDb25zdW1lckZv
ckFscGhhJiYgYWxwaGFDb25zdW1lcikKK3sKICAgICBkb3VibGUgY2hhbm5lbHNbM10gPSB7IDAs
IDAsIDAgfTsKICAgICBmb3IgKGludCBpID0gMDsgaSA8IDM7ICsraSkgewotICAgICAgICBhdXRv
IHZhbHVlID0gY29uc3VtZU51bWJlclJhd09yUGVyY2VudERpdmlkZWRCeTEwMFJhdyhhcmdzKTsK
KyAgICAgICAgYXV0byB2YWx1ZSA9IHh5ekNvbnN1bWVyKGFyZ3MpOwogICAgICAgICBpZiAoIXZh
bHVlKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNoYW5uZWxzW2ldID0gKnZhbHVlOwog
ICAgIH0KIAotICAgIGF1dG8gYWxwaGEgPSBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsKKyAg
ICBhdXRvIGFscGhhID0gYWxwaGFDb25zdW1lcihhcmdzKTsKICAgICBpZiAoIWFscGhhKQogICAg
ICAgICByZXR1cm4geyB9OwogCi0gICAgcmV0dXJuIHsgQ29sb3JUeXBlIHsgY2xhbXBUbzxmbG9h
dD4oY2hhbm5lbHNbMF0sIDAuMCwgMS4wKSwgY2xhbXBUbzxmbG9hdD4oY2hhbm5lbHNbMV0sIDAu
MCwgMS4wKSwgY2xhbXBUbzxmbG9hdD4oY2hhbm5lbHNbMl0sIDAuMCwgMS4wKSwgc3RhdGljX2Nh
c3Q8ZmxvYXQ+KCphbHBoYSkgfSwgQ29sb3I6OkZsYWdzOjpVc2VDb2xvckZ1bmN0aW9uU2VyaWFs
aXphdGlvbiB9OworICAgIGlmICghYXJncy5hdEVuZCgpKQorICAgICAgICByZXR1cm4geyB9Owor
CisgICAgcmV0dXJuIHsgWFlaQTxmbG9hdCwgV2hpdGVQb2ludDo6RDUwPiB7IHN0YXRpY19jYXN0
PGZsb2F0PihjaGFubmVsc1swXSksIHN0YXRpY19jYXN0PGZsb2F0PihjaGFubmVsc1sxXSksIHN0
YXRpY19jYXN0PGZsb2F0PihjaGFubmVsc1syXSksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxwaGEp
IH0sIENvbG9yOjpGbGFnczo6VXNlQ29sb3JGdW5jdGlvblNlcmlhbGl6YXRpb24gfTsKIH0KIAot
c3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZWlBhcmFtZXRlcnMoQ1NTUGFyc2Vy
VG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3N0YXRp
YyBDb2xvciBwYXJzZVJlbGF0aXZlQ29sb3JGdW5jdGlvbkZvclhZWlBhcmFtZXRlcnMoQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgYXJncywgQ29sb3Igb3JpZ2luQ29sb3IsIGNvbnN0IENTU1BhcnNlckNv
bnRleHQmIGNvbnRleHQpCiB7CiAgICAgQVNTRVJUKGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFs
dWVYeXopOwogCkBAIC0xOTU3LDY3ICsyMDE4LDEwMSBAQCBzdGF0aWMgQ29sb3IgcGFyc2VDb2xv
ckZ1bmN0aW9uRm9yWFlaUGFyCiAKICAgICBjb25zdW1lSWRlbnRSYXcoYXJncyk7CiAKLSAgICBk
b3VibGUgY2hhbm5lbHNbM10gPSB7IDAsIDAsIDAgfTsKLSAgICBbJl0gewotICAgICAgICBhdXRv
IHggPSBjb25zdW1lTnVtYmVyUmF3KGFyZ3MpOwotICAgICAgICBpZiAoIXgpCi0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIGNoYW5uZWxzWzBdID0gKng7Ci0KLSAgICAgICAgYXV0byB5ID0g
Y29uc3VtZU51bWJlclJhdyhhcmdzKTsKLSAgICAgICAgaWYgKCF5KQotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICBjaGFubmVsc1sxXSA9ICp5OwotCi0gICAgICAgIGF1dG8geiA9IGNvbnN1
bWVOdW1iZXJSYXcoYXJncyk7Ci0gICAgICAgIGlmICgheikKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgY2hhbm5lbHNbMl0gPSAqejsKLSAgICB9KCk7CisgICAgYXV0byBvcmlnaW5Db2xv
ckFzWFlaID0gb3JpZ2luQ29sb3IudG9Db2xvclR5cGVMb3NzeTxYWVpBPGZsb2F0LCBXaGl0ZVBv
aW50OjpENTA+PigpOwogCi0gICAgYXV0byBhbHBoYSA9IGNvbnN1bWVPcHRpb25hbEFscGhhKGFy
Z3MpOwotICAgIGlmICghYWxwaGEpCisgICAgQ1NTQ2FsY1N5bWJvbFRhYmxlIHN5bWJvbFRhYmxl
IHsKKyAgICAgICAgeyBDU1NWYWx1ZVgsIENTU1VuaXRUeXBlOjpDU1NfTlVNQkVSLCBvcmlnaW5D
b2xvckFzWFlaLnggfSwKKyAgICAgICAgeyBDU1NWYWx1ZVksIENTU1VuaXRUeXBlOjpDU1NfTlVN
QkVSLCBvcmlnaW5Db2xvckFzWFlaLnkgfSwKKyAgICAgICAgeyBDU1NWYWx1ZVosIENTU1VuaXRU
eXBlOjpDU1NfTlVNQkVSLCBvcmlnaW5Db2xvckFzWFlaLnogfSwKKyAgICAgICAgeyBDU1NWYWx1
ZUFscGhhLCBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNYWVouYWxw
aGEgKiAxMDAuMCB9CisgICAgfTsKKworICAgIGF1dG8gY29uc3VtZVhZWiA9IFsmc3ltYm9sVGFi
bGVdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVOdW1iZXJBbGxvd2luZ1N5bWJvbFRhYmxl
SWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OworICAgIGF1dG8gY29uc3VtZUFscGhhID0gWyZz
eW1ib2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU9wdGlvbmFsQWxwaGFBbGxv
d2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OworCisgICAgcmV0dXJu
IHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZWlBhcmFtZXRlcnMoYXJncywgV1RGTW92ZShjb25zdW1l
WFlaKSwgV1RGTW92ZShjb25zdW1lQWxwaGEpKTsKK30KKworc3RhdGljIENvbG9yIHBhcnNlQ29s
b3JGdW5jdGlvbkZvclhZWlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29u
c3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQoYXJncy5wZWVrKCku
aWQoKSA9PSBDU1NWYWx1ZVh5eik7CisKKyAgICBpZiAoIWNvbnRleHQuY3NzQ29sb3I0KQogICAg
ICAgICByZXR1cm4geyB9OwogCi0gICAgcmV0dXJuIHsgWFlaQTxmbG9hdCwgV2hpdGVQb2ludDo6
RDUwPiB7IHN0YXRpY19jYXN0PGZsb2F0PihjaGFubmVsc1swXSksIHN0YXRpY19jYXN0PGZsb2F0
PihjaGFubmVsc1sxXSksIHN0YXRpY19jYXN0PGZsb2F0PihjaGFubmVsc1syXSksIHN0YXRpY19j
YXN0PGZsb2F0PigqYWxwaGEpIH0sIENvbG9yOjpGbGFnczo6VXNlQ29sb3JGdW5jdGlvblNlcmlh
bGl6YXRpb24gfTsKKyAgICBjb25zdW1lSWRlbnRSYXcoYXJncyk7CisKKyAgICBhdXRvIGNvbnN1
bWVYWVogPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lTnVtYmVyUmF3KGFyZ3MpOyB9
OworICAgIGF1dG8gY29uc3VtZUFscGhhID0gW10oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3Vt
ZU9wdGlvbmFsQWxwaGEoYXJncyk7IH07CisKKyAgICByZXR1cm4gcGFyc2VDb2xvckZ1bmN0aW9u
Rm9yWFlaUGFyYW1ldGVycyhhcmdzLCBXVEZNb3ZlKGNvbnN1bWVYWVopLCBXVEZNb3ZlKGNvbnN1
bWVBbHBoYSkpOwogfQogCi1zdGF0aWMgQ29sb3IgcGFyc2VDb2xvckZ1bmN0aW9uUGFyYW1ldGVy
cyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29u
dGV4dCkKK3N0YXRpYyBDb2xvciBwYXJzZVJlbGF0aXZlQ29sb3JGdW5jdGlvblBhcmFtZXRlcnMo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4
dCkKIHsKLSAgICBBU1NFUlQocmFuZ2UucGVlaygpLmZ1bmN0aW9uSWQoKSA9PSBDU1NWYWx1ZUNv
bG9yKTsKLSAgICBhdXRvIGFyZ3MgPSBjb25zdW1lRnVuY3Rpb24ocmFuZ2UpOworICAgIEFTU0VS
VChhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlRnJvbSk7CisgICAgY29uc3VtZUlkZW50UmF3
KGFyZ3MpOworCisgICAgYXV0byBvcmlnaW5Db2xvciA9IGNvbnN1bWVPcmlnaW5Db2xvcihhcmdz
LCBjb250ZXh0KTsKKyAgICBpZiAoIW9yaWdpbkNvbG9yLmlzVmFsaWQoKSkKKyAgICAgICAgcmV0
dXJuIHsgfTsKIAotICAgIENvbG9yIGNvbG9yOwogICAgIHN3aXRjaCAoYXJncy5wZWVrKCkuaWQo
KSkgewogICAgIGNhc2UgQ1NTVmFsdWVBOThSZ2I6Ci0gICAgICAgIGNvbG9yID0gcGFyc2VDb2xv
ckZ1bmN0aW9uRm9yUkdCVHlwZXM8QTk4UkdCPGZsb2F0Pj4oYXJncywgY29udGV4dCk7Ci0gICAg
ICAgIGJyZWFrOworICAgICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JS
R0JUeXBlczxBOThSR0I8ZmxvYXQ+PihhcmdzLCBXVEZNb3ZlKG9yaWdpbkNvbG9yKSwgY29udGV4
dCk7CiAgICAgY2FzZSBDU1NWYWx1ZURpc3BsYXlQMzoKLSAgICAgICAgY29sb3IgPSBwYXJzZUNv
bG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxEaXNwbGF5UDM8ZmxvYXQ+PihhcmdzLCBjb250ZXh0KTsK
LSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBwYXJzZVJlbGF0aXZlQ29sb3JGdW5jdGlv
bkZvclJHQlR5cGVzPERpc3BsYXlQMzxmbG9hdD4+KGFyZ3MsIFdURk1vdmUob3JpZ2luQ29sb3Ip
LCBjb250ZXh0KTsKICAgICBjYXNlIENTU1ZhbHVlUHJvcGhvdG9SZ2I6Ci0gICAgICAgIGNvbG9y
ID0gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8UHJvUGhvdG9SR0I8ZmxvYXQ+Pihhcmdz
LCBjb250ZXh0KTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBwYXJzZVJlbGF0aXZl
Q29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPFByb1Bob3RvUkdCPGZsb2F0Pj4oYXJncywgV1RGTW92
ZShvcmlnaW5Db2xvciksIGNvbnRleHQpOwogICAgIGNhc2UgQ1NTVmFsdWVSZWMyMDIwOgotICAg
ICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPFJlYzIwMjA8ZmxvYXQ+
PihhcmdzLCBjb250ZXh0KTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBwYXJzZVJl
bGF0aXZlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPFJlYzIwMjA8ZmxvYXQ+PihhcmdzLCBXVEZN
b3ZlKG9yaWdpbkNvbG9yKSwgY29udGV4dCk7CiAgICAgY2FzZSBDU1NWYWx1ZVNSR0I6Ci0gICAg
ICAgIGNvbG9yID0gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8U1JHQkE8ZmxvYXQ+Pihh
cmdzLCBjb250ZXh0KTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBwYXJzZVJlbGF0
aXZlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPFNSR0JBPGZsb2F0Pj4oYXJncywgV1RGTW92ZShv
cmlnaW5Db2xvciksIGNvbnRleHQpOwogICAgIGNhc2UgQ1NTVmFsdWVYeXo6Ci0gICAgICAgIGNv
bG9yID0gcGFyc2VDb2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsK
LSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBwYXJzZVJlbGF0aXZlQ29sb3JGdW5jdGlv
bkZvclhZWlBhcmFtZXRlcnMoYXJncywgV1RGTW92ZShvcmlnaW5Db2xvciksIGNvbnRleHQpOwog
ICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfQogCi0gICAgaWYgKCFjb2xv
ci5pc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybiB7IH07CisgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgcmV0dXJuIHsgfTsKK30KIAotICAgIGlmICghYXJncy5hdEVuZCgpKQorc3RhdGlj
IENvbG9yIHBhcnNlTm9uUmVsYXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyhDU1NQYXJzZXJU
b2tlblJhbmdlJiBhcmdzLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAg
IHN3aXRjaCAoYXJncy5wZWVrKCkuaWQoKSkgeworICAgIGNhc2UgQ1NTVmFsdWVBOThSZ2I6Cisg
ICAgICAgIHJldHVybiBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxBOThSR0I8ZmxvYXQ+
PihhcmdzLCBjb250ZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlRGlzcGxheVAzOgorICAgICAgICBy
ZXR1cm4gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8RGlzcGxheVAzPGZsb2F0Pj4oYXJn
cywgY29udGV4dCk7CisgICAgY2FzZSBDU1NWYWx1ZVByb3Bob3RvUmdiOgorICAgICAgICByZXR1
cm4gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8UHJvUGhvdG9SR0I8ZmxvYXQ+Pihhcmdz
LCBjb250ZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlUmVjMjAyMDoKKyAgICAgICAgcmV0dXJuIHBh
cnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPFJlYzIwMjA8ZmxvYXQ+PihhcmdzLCBjb250ZXh0
KTsKKyAgICBjYXNlIENTU1ZhbHVlU1JHQjoKKyAgICAgICAgcmV0dXJuIHBhcnNlQ29sb3JGdW5j
dGlvbkZvclJHQlR5cGVzPFNSR0JBPGZsb2F0Pj4oYXJncywgY29udGV4dCk7CisgICAgY2FzZSBD
U1NWYWx1ZVh5ejoKKyAgICAgICAgcmV0dXJuIHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZWlBhcmFt
ZXRlcnMoYXJncywgY29udGV4dCk7CisgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHsgfTsK
KyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4geyB9OworfQor
CitzdGF0aWMgQ29sb3IgcGFyc2VDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tl
blJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBB
U1NFUlQocmFuZ2UucGVlaygpLmZ1bmN0aW9uSWQoKSA9PSBDU1NWYWx1ZUNvbG9yKTsKKyAgICBh
dXRvIGFyZ3MgPSBjb25zdW1lRnVuY3Rpb24ocmFuZ2UpOworCisgICAgYXV0byBjb2xvciA9IFsm
XSB7CisgICAgICAgIGlmIChjb250ZXh0LnJlbGF0aXZlQ29sb3JTeW50YXhFbmFibGVkICYmIGFy
Z3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVGcm9tKQorICAgICAgICAgICAgcmV0dXJuIHBhcnNl
UmVsYXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsKKyAgICAgICAg
cmV0dXJuIHBhcnNlTm9uUmVsYXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyhhcmdzLCBjb250
ZXh0KTsKKyAgICB9KCk7CiAKLSAgICBBU1NFUlQoY29sb3IudXNlc0NvbG9yRnVuY3Rpb25TZXJp
YWxpemF0aW9uKCkpOworICAgIEFTU0VSVCghY29sb3IuaXNWYWxpZCgpIHx8IGNvbG9yLnVzZXND
b2xvckZ1bmN0aW9uU2VyaWFsaXphdGlvbigpKTsKICAgICByZXR1cm4gY29sb3I7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430312</attachid>
            <date>2021-06-01 18:16:05 -0700</date>
            <delta_ts>2021-06-02 08:17:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226513-20210601181604.patch</filename>
            <type>text/plain</type>
            <size>80800</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3ODMyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA2LTAxICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgInJlbGF0
aXZlIGNvbG9yIHN5bnRheCIgZm9yIGNvbG9yKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjUxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENTUyBDb2xvciA1IGhhcyByZWNlbnRseSBiZWVuIHVwZGF0
ZSB0byBzdXBwb3J0IHJlbGF0aXZlIGNvbG9yIHN5bnRheCBmb3IKKyAgICAgICAgdGhlIGNvbG9y
KCkgZnVuY3Rpb24gaW4gYWRkaXRpb24gdG8gdGhlIGV4aXN0aW5nIHJnYigpLCBoc2woKSwgaHdi
KCksIGxhYigpCisgICAgICAgIGFuZCBsY2goKS4KKworICAgICAgICBUb29rIHRoZSBvcGVydHVu
aXR5IHRvIHJlZmFjdG9yIG90aGVyIHJlbGF0aXZlIGNvbG9yIHN5bnRheCBwYXJzaW5nIHRvIHNo
YXJlCisgICAgICAgIG1vcmUgY29kZSBiZXR3ZWVuIHJlbGF0aXZlIGFuZCBub24tcmVsYXRpdmUg
cGFyc2VycyB1c2luZyBhIHNoYXJlZCBmdW5jdGlvbgorICAgICAgICB3aXRoIGxhbWJkYXMgdG8g
ZGlmZmVyZW50aWF0ZSB0aGUgY29tcG9uZW50IGNvbnN1bWVycy4gVGhpcyB3YXMgZG9uZSBmb3Ig
YWxsCisgICAgICAgIHRoZSBjb2xvciB0eXBlcyBleGNlcHQgcmdiKCkgYW5kIGhzbCgpLCB3aGlj
aCBoYXZlIG5vdGFibGUgZGlmZmVyZW5jZXMgaW4gCisgICAgICAgIHBhcnNpbmcgYmV0d2VlbiB0
aGUgcmVsYXRpdmUgYW5kIG5vbi1yZWxhdGl2ZSB2ZXJzaW9uLgorCisgICAgICAgICogY3NzL3Bh
cnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZU5vblJlbGF0aXZlUkdCUGFyYW1ldGVycyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlUkdCUGFyYW1l
dGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbG9y
QnlOb3JtYWxpemluZ0hTTENvbXBvbmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVy
dHlQYXJzZXJIZWxwZXJzOjpwYXJzZVJlbGF0aXZlSFNMUGFyYW1ldGVycyk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlTm9uUmVsYXRpdmVIU0xQYXJh
bWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFy
c2VIU0xQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVs
cGVyczo6cGFyc2VIV0JQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5
UGFyc2VySGVscGVyczo6cGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZU5vblJlbGF0aXZlSFdCUGFyYW1l
dGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNl
TGFiUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBl
cnM6OnBhcnNlUmVsYXRpdmVMYWJQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
b3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VOb25SZWxhdGl2ZUxhYlBhcmFtZXRlcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZUxDSFBhcmFtZXRl
cnMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZVJl
bGF0aXZlTENIUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNl
ckhlbHBlcnM6OnBhcnNlTm9uUmVsYXRpdmVMQ0hQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlw
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZVJl
bGF0aXZlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
b3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VDb2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1ldGVycyk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlUmVsYXRp
dmVDb2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
cm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlUmVsYXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVy
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlTm9u
UmVsYXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
cm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlQ29sb3JGdW5jdGlvblBhcmFtZXRlcnMpOgorCiAy
MDIxLTA2LTAxICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAg
ICAgICAgIFtXaW5DYWlyb10gR3JhcGhpY3NDb250ZXh0Q2Fpcm86OkdyYXBoaWNzQ29udGV4dENh
aXJvKEhEQywgYm9vbCkgbGVha3MgY2Fpcm9fdApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcAkocmV2aXNpb24g
Mjc4MzIxKQorKysgU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhl
bHBlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDk5LDE4ICsxNDk5LDggQEAgc3RhdGljIENv
bG9yIHBhcnNlUmVsYXRpdmVSR0JQYXJhbWV0ZXJzKAogICAgIHJldHVybiBTUkdCQTx1aW50OF90
PiB7ICpyZWQsICpncmVlbiwgKmJsdWUsIG5vcm1hbGl6ZWRBbHBoYSB9OwogfQogCi1lbnVtIGNs
YXNzIFJHQkZ1bmN0aW9uTW9kZSB7IFJHQiwgUkdCQSB9OwotCi10ZW1wbGF0ZTxSR0JGdW5jdGlv
bk1vZGUgTW9kZT4gc3RhdGljIENvbG9yIHBhcnNlUkdCUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tl
blJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3N0YXRpYyBD
b2xvciBwYXJzZU5vblJlbGF0aXZlUkdCUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiBh
cmdzKQogewotICAgIEFTU0VSVChyYW5nZS5wZWVrKCkuZnVuY3Rpb25JZCgpID09IENTU1ZhbHVl
UmdiIHx8IHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCkgPT0gQ1NTVmFsdWVSZ2JhKTsKLSAgICBh
dXRvIGFyZ3MgPSBjb25zdW1lRnVuY3Rpb24ocmFuZ2UpOwotCi0gICAgaWYgY29uc3RleHByIChN
b2RlID09IFJHQkZ1bmN0aW9uTW9kZTo6UkdCKSB7Ci0gICAgICAgIGlmIChjb250ZXh0LnJlbGF0
aXZlQ29sb3JTeW50YXhFbmFibGVkICYmIGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVGcm9t
KQotICAgICAgICAgICAgcmV0dXJuIHBhcnNlUmVsYXRpdmVSR0JQYXJhbWV0ZXJzKGFyZ3MsIGNv
bnRleHQpOwotICAgIH0KLQogICAgIHN0cnVjdCBJbml0aWFsQ29tcG9uZW50IHsKICAgICAgICAg
ZG91YmxlIHZhbHVlOwogICAgICAgICBSR0JDb21wb25lbnRUeXBlIHR5cGU7CkBAIC0xNTY5LDYg
KzE1NTksMzAgQEAgdGVtcGxhdGU8UkdCRnVuY3Rpb25Nb2RlIE1vZGU+IHN0YXRpYyBDbwogICAg
IHJldHVybiBTUkdCQTx1aW50OF90PiB7IG5vcm1hbGl6ZWRSZWQsIG5vcm1hbGl6ZWRHcmVlbiwg
bm9ybWFsaXplZEJsdWUsIG5vcm1hbGl6ZWRBbHBoYSB9OwogfQogCitlbnVtIGNsYXNzIFJHQkZ1
bmN0aW9uTW9kZSB7IFJHQiwgUkdCQSB9OworCit0ZW1wbGF0ZTxSR0JGdW5jdGlvbk1vZGUgTW9k
ZT4gc3RhdGljIENvbG9yIHBhcnNlUkdCUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiBy
YW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQocmFu
Z2UucGVlaygpLmZ1bmN0aW9uSWQoKSA9PSBDU1NWYWx1ZVJnYiB8fCByYW5nZS5wZWVrKCkuZnVu
Y3Rpb25JZCgpID09IENTU1ZhbHVlUmdiYSk7CisgICAgYXV0byBhcmdzID0gY29uc3VtZUZ1bmN0
aW9uKHJhbmdlKTsKKworICAgIGlmIGNvbnN0ZXhwciAoTW9kZSA9PSBSR0JGdW5jdGlvbk1vZGU6
OlJHQikgeworICAgICAgICBpZiAoY29udGV4dC5yZWxhdGl2ZUNvbG9yU3ludGF4RW5hYmxlZCAm
JiBhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlRnJvbSkKKyAgICAgICAgICAgIHJldHVybiBw
YXJzZVJlbGF0aXZlUkdCUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsKKyAgICB9CisgICAgcmV0
dXJuIHBhcnNlTm9uUmVsYXRpdmVSR0JQYXJhbWV0ZXJzKGFyZ3MpOworfQorCitzdGF0aWMgQ29s
b3IgY29sb3JCeU5vcm1hbGl6aW5nSFNMQ29tcG9uZW50cyhkb3VibGUgaHVlLCBkb3VibGUgc2F0
dXJhdGlvbiwgZG91YmxlIGxpZ2h0bmVzcywgZG91YmxlIGFscGhhKQoreworICAgIGF1dG8gbm9y
bWFsaXplZEh1ZSA9IG5vcm1hbGl6ZUh1ZShodWUpOworICAgIGF1dG8gbm9ybWFsaXplZFNhdHVy
YXRpb24gPSBzdGQ6OmNsYW1wKHNhdHVyYXRpb24sIDAuMCwgMTAwLjApOworICAgIGF1dG8gbm9y
bWFsaXplZExpZ2h0bmVzcyA9IHN0ZDo6Y2xhbXAobGlnaHRuZXNzLCAwLjAsIDEwMC4wKTsKKyAg
ICBhdXRvIG5vcm1hbGl6ZWRBbHBoYSA9IHN0ZDo6Y2xhbXAoYWxwaGEsIDAuMCwgMS4wKTsKKwor
ICAgIHJldHVybiBjb252ZXJ0Q29sb3I8U1JHQkE8dWludDhfdD4+KEhTTEE8ZmxvYXQ+IHsgc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRIdWUpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFs
aXplZFNhdHVyYXRpb24pLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZExpZ2h0bmVzcyks
IHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkQWxwaGEpIH0pOworfQorCiBzdGF0aWMgQ29s
b3IgcGFyc2VSZWxhdGl2ZUhTTFBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywg
Y29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKIHsKICAgICBBU1NFUlQoYXJncy5wZWVr
KCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pOwpAQCAtMTYwNiwyNiArMTYyMCwxMSBAQCBzdGF0aWMg
Q29sb3IgcGFyc2VSZWxhdGl2ZUhTTFBhcmFtZXRlcnMoCiAgICAgaWYgKCFhcmdzLmF0RW5kKCkp
CiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIG5vcm1hbGl6ZWRIdWUgPSBub3JtYWxp
emVIdWUoKmh1ZSk7Ci0gICAgYXV0byBub3JtYWxpemVkU2F0dXJhdGlvbiA9IHN0ZDo6Y2xhbXAo
KnNhdHVyYXRpb24sIDAuMCwgMTAwLjApOwotICAgIGF1dG8gbm9ybWFsaXplZExpZ2h0bmVzcyA9
IHN0ZDo6Y2xhbXAoKmxpZ2h0bmVzcywgMC4wLCAxMDAuMCk7Ci0gICAgYXV0byBub3JtYWxpemVk
QWxwaGEgPSBzdGQ6OmNsYW1wKCphbHBoYSwgMC4wLCAxLjApOwotCi0gICAgcmV0dXJuIGNvbnZl
cnRDb2xvcjxTUkdCQTx1aW50OF90Pj4oSFNMQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4o
bm9ybWFsaXplZEh1ZSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkU2F0dXJhdGlvbiks
IHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkTGlnaHRuZXNzKSwgc3RhdGljX2Nhc3Q8Zmxv
YXQ+KG5vcm1hbGl6ZWRBbHBoYSkgfSk7CisgICAgcmV0dXJuIGNvbG9yQnlOb3JtYWxpemluZ0hT
TENvbXBvbmVudHMoKmh1ZSwgKnNhdHVyYXRpb24sICpsaWdodG5lc3MsICphbHBoYSk7CiB9CiAK
LWVudW0gY2xhc3MgSFNMRnVuY3Rpb25Nb2RlIHsgSFNMLCBIU0xBIH07Ci0KLXRlbXBsYXRlPEhT
TEZ1bmN0aW9uTW9kZSBNb2RlPiBzdGF0aWMgQ29sb3IgcGFyc2VIU0xQYXJhbWV0ZXJzKENTU1Bh
cnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQor
c3RhdGljIENvbG9yIHBhcnNlTm9uUmVsYXRpdmVIU0xQYXJhbWV0ZXJzKENTU1BhcnNlclRva2Vu
UmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgQVNT
RVJUKHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCkgPT0gQ1NTVmFsdWVIc2wgfHwgcmFuZ2UucGVl
aygpLmZ1bmN0aW9uSWQoKSA9PSBDU1NWYWx1ZUhzbGEpOwotICAgIGF1dG8gYXJncyA9IGNvbnN1
bWVGdW5jdGlvbihyYW5nZSk7Ci0KLSAgICBpZiBjb25zdGV4cHIgKE1vZGUgPT0gSFNMRnVuY3Rp
b25Nb2RlOjpIU0wpIHsKLSAgICAgICAgaWYgKGNvbnRleHQucmVsYXRpdmVDb2xvclN5bnRheEVu
YWJsZWQgJiYgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pCi0gICAgICAgICAgICBy
ZXR1cm4gcGFyc2VSZWxhdGl2ZUhTTFBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7Ci0gICAgfQot
CiAgICAgYXV0byBodWUgPSBjb25zdW1lQW5nbGVSYXdPck51bWJlclJhdyhhcmdzLCBjb250ZXh0
Lm1vZGUpOwogICAgIGlmICghaHVlKQogICAgICAgICByZXR1cm4geyB9OwpAQCAtMTY1MCwxMiAr
MTY0OSwyMiBAQCB0ZW1wbGF0ZTxIU0xGdW5jdGlvbk1vZGUgTW9kZT4gc3RhdGljIENvCiAgICAg
aWYgKCFhcmdzLmF0RW5kKCkpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIG5vcm1h
bGl6ZWRIdWUgPSBub3JtYWxpemVIdWUoKmh1ZSk7Ci0gICAgYXV0byBub3JtYWxpemVkU2F0dXJh
dGlvbiA9IHN0ZDo6Y2xhbXAoKnNhdHVyYXRpb24sIDAuMCwgMTAwLjApOwotICAgIGF1dG8gbm9y
bWFsaXplZExpZ2h0bmVzcyA9IHN0ZDo6Y2xhbXAoKmxpZ2h0bmVzcywgMC4wLCAxMDAuMCk7Ci0g
ICAgYXV0byBub3JtYWxpemVkQWxwaGEgPSBzdGQ6OmNsYW1wKCphbHBoYSwgMC4wLCAxLjApOwor
ICAgIHJldHVybiBjb2xvckJ5Tm9ybWFsaXppbmdIU0xDb21wb25lbnRzKCpodWUsICpzYXR1cmF0
aW9uLCAqbGlnaHRuZXNzLCAqYWxwaGEpOworfQogCi0gICAgcmV0dXJuIGNvbnZlcnRDb2xvcjxT
UkdCQTx1aW50OF90Pj4oSFNMQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXpl
ZEh1ZSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkU2F0dXJhdGlvbiksIHN0YXRpY19j
YXN0PGZsb2F0Pihub3JtYWxpemVkTGlnaHRuZXNzKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1h
bGl6ZWRBbHBoYSkgfSk7CitlbnVtIGNsYXNzIEhTTEZ1bmN0aW9uTW9kZSB7IEhTTCwgSFNMQSB9
OworCit0ZW1wbGF0ZTxIU0xGdW5jdGlvbk1vZGUgTW9kZT4gc3RhdGljIENvbG9yIHBhcnNlSFNM
UGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29u
dGV4dCYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQocmFuZ2UucGVlaygpLmZ1bmN0aW9uSWQoKSA9
PSBDU1NWYWx1ZUhzbCB8fCByYW5nZS5wZWVrKCkuZnVuY3Rpb25JZCgpID09IENTU1ZhbHVlSHNs
YSk7CisgICAgYXV0byBhcmdzID0gY29uc3VtZUZ1bmN0aW9uKHJhbmdlKTsKKworICAgIGlmIGNv
bnN0ZXhwciAoTW9kZSA9PSBIU0xGdW5jdGlvbk1vZGU6OkhTTCkgeworICAgICAgICBpZiAoY29u
dGV4dC5yZWxhdGl2ZUNvbG9yU3ludGF4RW5hYmxlZCAmJiBhcmdzLnBlZWsoKS5pZCgpID09IENT
U1ZhbHVlRnJvbSkKKyAgICAgICAgICAgIHJldHVybiBwYXJzZVJlbGF0aXZlSFNMUGFyYW1ldGVy
cyhhcmdzLCBjb250ZXh0KTsKKyAgICB9CisKKyAgICByZXR1cm4gcGFyc2VOb25SZWxhdGl2ZUhT
TFBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIENvbXBv
bmVudFR5cGU+IHN0cnVjdCBXaGl0ZW5lc3NCbGFja25lc3MgewpAQCAtMTY4Myw2ICsxNjkyLDM0
IEBAIHRlbXBsYXRlPHR5cGVuYW1lIENvbXBvbmVudFR5cGU+IHN0YXRpYyAKICAgICByZXR1cm4g
cmVzdWx0OwogfQogCit0ZW1wbGF0ZTx0eXBlbmFtZSBDb25zdW1lckZvckh1ZSwgdHlwZW5hbWUg
Q29uc3VtZXJGb3JXaGl0ZW5lc3NBbmRCbGFja25lc3MsIHR5cGVuYW1lIENvbnN1bWVyRm9yQWxw
aGE+CitzdGF0aWMgQ29sb3IgcGFyc2VIV0JQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2Um
IGFyZ3MsIENvbnN1bWVyRm9ySHVlJiYgaHVlQ29uc3VtZXIsIENvbnN1bWVyRm9yV2hpdGVuZXNz
QW5kQmxhY2tuZXNzJiYgd2hpdGVuZXNzQW5kQmxhY2tuZXNzQ29uc3VtZXIsIENvbnN1bWVyRm9y
QWxwaGEmJiBhbHBoYUNvbnN1bWVyKQoreworICAgIGF1dG8gaHVlID0gaHVlQ29uc3VtZXIoYXJn
cyk7CisgICAgaWYgKCFodWUpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvIHdoaXRl
bmVzcyA9IHdoaXRlbmVzc0FuZEJsYWNrbmVzc0NvbnN1bWVyKGFyZ3MpOworICAgIGlmICghd2hp
dGVuZXNzKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byBibGFja25lc3MgPSB3aGl0
ZW5lc3NBbmRCbGFja25lc3NDb25zdW1lcihhcmdzKTsKKyAgICBpZiAoIWJsYWNrbmVzcykKKyAg
ICAgICAgcmV0dXJuIHsgfTsKKworICAgIGF1dG8gYWxwaGEgPSBhbHBoYUNvbnN1bWVyKGFyZ3Mp
OworICAgIGlmICghYWxwaGEpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBpZiAoIWFyZ3Mu
YXRFbmQoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGF1dG8gbm9ybWFsaXplZEh1ZSA9
IG5vcm1hbGl6ZUh1ZSgqaHVlKTsKKyAgICBhdXRvIFtub3JtYWxpemVkV2hpdG5lc3MsIG5vcm1h
bGl6ZWRCbGFja25lc3NdID0gbm9ybWFsaXplV2hpdGVuZXNzQmxhY2tuZXNzKCp3aGl0ZW5lc3Ms
ICpibGFja25lc3MpOworCisgICAgcmV0dXJuIGNvbnZlcnRDb2xvcjxTUkdCQTx1aW50OF90Pj4o
SFdCQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZEh1ZSksIHN0YXRpY19j
YXN0PGZsb2F0Pihub3JtYWxpemVkV2hpdG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFs
aXplZEJsYWNrbmVzcyksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxwaGEpIH0pOworfQorCiBzdGF0
aWMgQ29sb3IgcGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYg
YXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKIHsKICAgICBBU1NFUlQoYXJn
cy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pOwpAQCAtMTcwMSwyOSArMTczOCwyMCBAQCBz
dGF0aWMgQ29sb3IgcGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMoCiAgICAgICAgIHsgQ1NTVmFs
dWVBbHBoYSwgQ1NTVW5pdFR5cGU6OkNTU19QRVJDRU5UQUdFLCBvcmlnaW5Db2xvckFzSFdCLmFs
cGhhICogMTAwLjAgfQogICAgIH07CiAKLSAgICBhdXRvIGh1ZSA9IGNvbnN1bWVBbmdsZVJhd09y
TnVtYmVyUmF3QWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlLCBjb250
ZXh0Lm1vZGUpOwotICAgIGlmICghaHVlKQotICAgICAgICByZXR1cm4geyB9OwotCi0gICAgYXV0
byB3aGl0ZW5lc3MgPSBjb25zdW1lUGVyY2VudEFsbG93aW5nU3ltYm9sVGFibGVJZGVudChhcmdz
LCBzeW1ib2xUYWJsZSk7Ci0gICAgaWYgKCF3aGl0ZW5lc3MpCi0gICAgICAgIHJldHVybiB7IH07
Ci0KLSAgICBhdXRvIGJsYWNrbmVzcyA9IGNvbnN1bWVQZXJjZW50QWxsb3dpbmdTeW1ib2xUYWJs
ZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsKLSAgICBpZiAoIWJsYWNrbmVzcykKLSAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICBhdXRvIGh1ZUNvbnN1bWVyID0gWyZzeW1ib2xUYWJsZSwgJmNvbnRl
eHRdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVBbmdsZVJhd09yTnVtYmVyUmF3QWxsb3dp
bmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlLCBjb250ZXh0Lm1vZGUpOyB9Owor
ICAgIGF1dG8gd2hpdGVuZXNzQW5kQmxhY2tuZXNzQ29uc3VtZXIgPSBbJnN5bWJvbFRhYmxlXShh
dXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lUGVyY2VudEFsbG93aW5nU3ltYm9sVGFibGVJZGVu
dChhcmdzLCBzeW1ib2xUYWJsZSk7IH07CisgICAgYXV0byBhbHBoYUNvbnN1bWVyID0gWyZzeW1i
b2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU9wdGlvbmFsQWxwaGFBbGxvd2lu
Z1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OwogCi0gICAgYXV0byBhbHBo
YSA9IGNvbnN1bWVPcHRpb25hbEFscGhhQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5
bWJvbFRhYmxlKTsKLSAgICBpZiAoIWFscGhhKQotICAgICAgICByZXR1cm4geyB9OwotCi0gICAg
aWYgKCFhcmdzLmF0RW5kKCkpCi0gICAgICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIHBhcnNl
SFdCUGFyYW1ldGVycyhhcmdzLCBXVEZNb3ZlKGh1ZUNvbnN1bWVyKSwgV1RGTW92ZSh3aGl0ZW5l
c3NBbmRCbGFja25lc3NDb25zdW1lciksIFdURk1vdmUoYWxwaGFDb25zdW1lcikpOworfQogCi0g
ICAgYXV0byBub3JtYWxpemVkSHVlID0gbm9ybWFsaXplSHVlKCpodWUpOwotICAgIGF1dG8gW25v
cm1hbGl6ZWRXaGl0bmVzcywgbm9ybWFsaXplZEJsYWNrbmVzc10gPSBub3JtYWxpemVXaGl0ZW5l
c3NCbGFja25lc3MoKndoaXRlbmVzcywgKmJsYWNrbmVzcyk7CitzdGF0aWMgQ29sb3IgcGFyc2VO
b25SZWxhdGl2ZUhXQlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3Qg
Q1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBhdXRvIGh1ZUNvbnN1bWVyID0gWyZj
b250ZXh0XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lQW5nbGVSYXdPck51bWJlclJhdyhh
cmdzLCBjb250ZXh0Lm1vZGUpOyB9OworICAgIGF1dG8gd2hpdGVuZXNzQW5kQmxhY2tuZXNzQ29u
c3VtZXIgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lUGVyY2VudFJhdyhhcmdzKTsg
fTsKKyAgICBhdXRvIGFscGhhQ29uc3VtZXIgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25z
dW1lT3B0aW9uYWxBbHBoYShhcmdzKTsgfTsKIAotICAgIHJldHVybiBjb252ZXJ0Q29sb3I8U1JH
QkE8dWludDhfdD4+KEhXQkE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRI
dWUpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZFdoaXRuZXNzKSwgc3RhdGljX2Nhc3Q8
ZmxvYXQ+KG5vcm1hbGl6ZWRCbGFja25lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFscGhhKSB9
KTsKKyAgICByZXR1cm4gcGFyc2VIV0JQYXJhbWV0ZXJzKGFyZ3MsIFdURk1vdmUoaHVlQ29uc3Vt
ZXIpLCBXVEZNb3ZlKHdoaXRlbmVzc0FuZEJsYWNrbmVzc0NvbnN1bWVyKSwgV1RGTW92ZShhbHBo
YUNvbnN1bWVyKSk7CiB9CiAKIHN0YXRpYyBDb2xvciBwYXJzZUhXQlBhcmFtZXRlcnMoQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCkBA
IC0xNzM3LDMwICsxNzY1LDM0IEBAIHN0YXRpYyBDb2xvciBwYXJzZUhXQlBhcmFtZXRlcnMoQ1NT
UGFyc2UKIAogICAgIGlmIChjb250ZXh0LnJlbGF0aXZlQ29sb3JTeW50YXhFbmFibGVkICYmIGFy
Z3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVGcm9tKQogICAgICAgICByZXR1cm4gcGFyc2VSZWxh
dGl2ZUhXQlBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7CisgICAgcmV0dXJuIHBhcnNlTm9uUmVs
YXRpdmVIV0JQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOworfQogCi0gICAgYXV0byBodWUgPSBj
b25zdW1lQW5nbGVSYXdPck51bWJlclJhdyhhcmdzLCBjb250ZXh0Lm1vZGUpOwotICAgIGlmICgh
aHVlKQordGVtcGxhdGU8dHlwZW5hbWUgQ29uc3VtZXJGb3JMaWdodG5lc3MsIHR5cGVuYW1lIENv
bnN1bWVyRm9yQUIsIHR5cGVuYW1lIENvbnN1bWVyRm9yQWxwaGE+CitzdGF0aWMgQ29sb3IgcGFy
c2VMYWJQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIENvbnN1bWVyRm9yTGln
aHRuZXNzJiYgbGlnaHRuZXNzQ29uc3VtZXIsIENvbnN1bWVyRm9yQUImJiBhYkNvbnN1bWVyLCBD
b25zdW1lckZvckFscGhhJiYgYWxwaGFDb25zdW1lcikKK3sKKyAgICBhdXRvIGxpZ2h0bmVzcyA9
IGxpZ2h0bmVzc0NvbnN1bWVyKGFyZ3MpOworICAgIGlmICghbGlnaHRuZXNzKQogICAgICAgICBy
ZXR1cm4geyB9OwogCi0gICAgYXV0byB3aGl0ZW5lc3MgPSBjb25zdW1lUGVyY2VudFJhdyhhcmdz
KTsKLSAgICBpZiAoIXdoaXRlbmVzcykKKyAgICBhdXRvIGFWYWx1ZSA9IGFiQ29uc3VtZXIoYXJn
cyk7CisgICAgaWYgKCFhVmFsdWUpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIGJs
YWNrbmVzcyA9IGNvbnN1bWVQZXJjZW50UmF3KGFyZ3MpOwotICAgIGlmICghYmxhY2tuZXNzKQor
ICAgIGF1dG8gYlZhbHVlID0gYWJDb25zdW1lcihhcmdzKTsKKyAgICBpZiAoIWJWYWx1ZSkKICAg
ICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gYWxwaGEgPSBjb25zdW1lT3B0aW9uYWxBbHBo
YShhcmdzKTsKKyAgICBhdXRvIGFscGhhID0gYWxwaGFDb25zdW1lcihhcmdzKTsKICAgICBpZiAo
IWFscGhhKQogICAgICAgICByZXR1cm4geyB9OwogCiAgICAgaWYgKCFhcmdzLmF0RW5kKCkpCiAg
ICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIG5vcm1hbGl6ZWRIdWUgPSBub3JtYWxpemVI
dWUoKmh1ZSk7Ci0gICAgYXV0byBbbm9ybWFsaXplZFdoaXRuZXNzLCBub3JtYWxpemVkQmxhY2tu
ZXNzXSA9IG5vcm1hbGl6ZVdoaXRlbmVzc0JsYWNrbmVzcygqd2hpdGVuZXNzLCAqYmxhY2tuZXNz
KTsKKyAgICBhdXRvIG5vcm1hbGl6ZWRMaWdodG5lc3MgPSBzdGQ6Om1heCgwLjAsICpsaWdodG5l
c3MpOwogCi0gICAgcmV0dXJuIGNvbnZlcnRDb2xvcjxTUkdCQTx1aW50OF90Pj4oSFdCQTxmbG9h
dD4geyBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZEh1ZSksIHN0YXRpY19jYXN0PGZsb2F0
Pihub3JtYWxpemVkV2hpdG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZEJsYWNr
bmVzcyksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxwaGEpIH0pOworICAgIHJldHVybiBMYWI8Zmxv
YXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2Fz
dDxmbG9hdD4oKmFWYWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0PigqYlZhbHVlKSwgc3RhdGljX2Nh
c3Q8ZmxvYXQ+KCphbHBoYSkgfTsKIH0KIAogc3RhdGljIENvbG9yIHBhcnNlUmVsYXRpdmVMYWJQ
YXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1BhcnNlckNvbnRl
eHQmIGNvbnRleHQpCkBAIC0xNzgxLDI4ICsxODEzLDIwIEBAIHN0YXRpYyBDb2xvciBwYXJzZVJl
bGF0aXZlTGFiUGFyYW1ldGVycygKICAgICAgICAgeyBDU1NWYWx1ZUFscGhhLCBDU1NVbml0VHlw
ZTo6Q1NTX1BFUkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNMYWIuYWxwaGEgKiAxMDAuMCB9CiAgICAg
fTsKIAotICAgIGF1dG8gbGlnaHRuZXNzID0gY29uc3VtZVBlcmNlbnRBbGxvd2luZ1N5bWJvbFRh
YmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlmICghbGlnaHRuZXNzKQotICAgICAg
ICByZXR1cm4geyB9OworICAgIGF1dG8gbGlnaHRuZXNzQ29uc3VtZXIgPSBbJnN5bWJvbFRhYmxl
XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lUGVyY2VudEFsbG93aW5nU3ltYm9sVGFibGVJ
ZGVudChhcmdzLCBzeW1ib2xUYWJsZSk7IH07CisgICAgYXV0byBhYkNvbnN1bWVyID0gWyZzeW1i
b2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU51bWJlckFsbG93aW5nU3ltYm9s
VGFibGVJZGVudChhcmdzLCBzeW1ib2xUYWJsZSk7IH07CisgICAgYXV0byBhbHBoYUNvbnN1bWVy
ID0gWyZzeW1ib2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU9wdGlvbmFsQWxw
aGFBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OwogCi0gICAg
YXV0byBhVmFsdWUgPSBjb25zdW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3Ms
IHN5bWJvbFRhYmxlKTsKLSAgICBpZiAoIWFWYWx1ZSkKLSAgICAgICAgcmV0dXJuIHsgfTsKLQot
ICAgIGF1dG8gYlZhbHVlID0gY29uc3VtZU51bWJlckFsbG93aW5nU3ltYm9sVGFibGVJZGVudChh
cmdzLCBzeW1ib2xUYWJsZSk7Ci0gICAgaWYgKCFiVmFsdWUpCi0gICAgICAgIHJldHVybiB7IH07
Ci0KLSAgICBhdXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFsQWxwaGFBbGxvd2luZ1N5bWJvbFRh
YmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlmICghYWxwaGEpCi0gICAgICAgIHJl
dHVybiB7IH07Ci0KLSAgICBpZiAoIWFyZ3MuYXRFbmQoKSkKLSAgICAgICAgcmV0dXJuIHsgfTsK
KyAgICByZXR1cm4gcGFyc2VMYWJQYXJhbWV0ZXJzKGFyZ3MsIFdURk1vdmUobGlnaHRuZXNzQ29u
c3VtZXIpLCBXVEZNb3ZlKGFiQ29uc3VtZXIpLCBXVEZNb3ZlKGFscGhhQ29uc3VtZXIpKTsKK30K
IAotICAgIGF1dG8gbm9ybWFsaXplZExpZ2h0bmVzcyA9IHN0ZDo6bWF4KDAuMCwgKmxpZ2h0bmVz
cyk7CitzdGF0aWMgQ29sb3IgcGFyc2VOb25SZWxhdGl2ZUxhYlBhcmFtZXRlcnMoQ1NTUGFyc2Vy
VG9rZW5SYW5nZSYgYXJncykKK3sKKyAgICBhdXRvIGxpZ2h0bmVzc0NvbnN1bWVyID0gW10oYXV0
byYgYXJncykgeyByZXR1cm4gY29uc3VtZVBlcmNlbnRSYXcoYXJncyk7IH07CisgICAgYXV0byBh
YkNvbnN1bWVyID0gW10oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU51bWJlclJhdyhhcmdz
KTsgfTsKKyAgICBhdXRvIGFscGhhQ29uc3VtZXIgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBj
b25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsgfTsKIAotICAgIHJldHVybiBMYWI8ZmxvYXQ+IHsg
c3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9h
dD4oKmFWYWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0PigqYlZhbHVlKSwgc3RhdGljX2Nhc3Q8Zmxv
YXQ+KCphbHBoYSkgfTsKKyAgICByZXR1cm4gcGFyc2VMYWJQYXJhbWV0ZXJzKGFyZ3MsIFdURk1v
dmUobGlnaHRuZXNzQ29uc3VtZXIpLCBXVEZNb3ZlKGFiQ29uc3VtZXIpLCBXVEZNb3ZlKGFscGhh
Q29uc3VtZXIpKTsKIH0KIAogc3RhdGljIENvbG9yIHBhcnNlTGFiUGFyYW1ldGVycyhDU1NQYXJz
ZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKQEAg
LTE4MTYsMjAgKzE4NDAsMjUgQEAgc3RhdGljIENvbG9yIHBhcnNlTGFiUGFyYW1ldGVycyhDU1NQ
YXJzZQogCiAgICAgaWYgKGNvbnRleHQucmVsYXRpdmVDb2xvclN5bnRheEVuYWJsZWQgJiYgYXJn
cy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pCiAgICAgICAgIHJldHVybiBwYXJzZVJlbGF0
aXZlTGFiUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsKKyAgICByZXR1cm4gcGFyc2VOb25SZWxh
dGl2ZUxhYlBhcmFtZXRlcnMoYXJncyk7Cit9CiAKLSAgICBhdXRvIGxpZ2h0bmVzcyA9IGNvbnN1
bWVQZXJjZW50UmF3KGFyZ3MpOwordGVtcGxhdGU8dHlwZW5hbWUgQ29uc3VtZXJGb3JMaWdodG5l
c3MsIHR5cGVuYW1lIENvbnN1bWVyRm9yQ2hyb21hLCB0eXBlbmFtZSBDb25zdW1lckZvckh1ZSwg
dHlwZW5hbWUgQ29uc3VtZXJGb3JBbHBoYT4KK3N0YXRpYyBDb2xvciBwYXJzZUxDSFBhcmFtZXRl
cnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgQ29uc3VtZXJGb3JMaWdodG5lc3MmJiBsaWdo
dG5lc3NDb25zdW1lciwgQ29uc3VtZXJGb3JDaHJvbWEmJiBjaHJvbWFDb25zdW1lciwgQ29uc3Vt
ZXJGb3JIdWUmJiBodWVDb25zdW1lciwgQ29uc3VtZXJGb3JBbHBoYSYmIGFscGhhQ29uc3VtZXIp
Cit7CisgICAgYXV0byBsaWdodG5lc3MgPSBsaWdodG5lc3NDb25zdW1lcihhcmdzKTsKICAgICBp
ZiAoIWxpZ2h0bmVzcykKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gYVZhbHVlID0g
Y29uc3VtZU51bWJlclJhdyhhcmdzKTsKLSAgICBpZiAoIWFWYWx1ZSkKKyAgICBhdXRvIGNocm9t
YSA9IGNocm9tYUNvbnN1bWVyKGFyZ3MpOworICAgIGlmICghY2hyb21hKQogICAgICAgICByZXR1
cm4geyB9OwogCi0gICAgYXV0byBiVmFsdWUgPSBjb25zdW1lTnVtYmVyUmF3KGFyZ3MpOwotICAg
IGlmICghYlZhbHVlKQorICAgIGF1dG8gaHVlID0gaHVlQ29uc3VtZXIoYXJncyk7CisgICAgaWYg
KCFodWUpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIGFscGhhID0gY29uc3VtZU9w
dGlvbmFsQWxwaGEoYXJncyk7CisgICAgYXV0byBhbHBoYSA9IGFscGhhQ29uc3VtZXIoYXJncyk7
CiAgICAgaWYgKCFhbHBoYSkKICAgICAgICAgcmV0dXJuIHsgfTsKIApAQCAtMTgzNyw4ICsxODY2
LDEwIEBAIHN0YXRpYyBDb2xvciBwYXJzZUxhYlBhcmFtZXRlcnMoQ1NTUGFyc2UKICAgICAgICAg
cmV0dXJuIHsgfTsKIAogICAgIGF1dG8gbm9ybWFsaXplZExpZ2h0bmVzcyA9IHN0ZDo6bWF4KDAu
MCwgKmxpZ2h0bmVzcyk7CisgICAgYXV0byBub3JtYWxpemVkQ2hyb21hID0gc3RkOjptYXgoMC4w
LCAqY2hyb21hKTsKKyAgICBhdXRvIG5vcm1hbGl6ZWRIdWUgPSBub3JtYWxpemVIdWUoKmh1ZSk7
CiAKLSAgICByZXR1cm4gTGFiPGZsb2F0PiB7IHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVk
TGlnaHRuZXNzKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphVmFsdWUpLCBzdGF0aWNfY2FzdDxmbG9h
dD4oKmJWYWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxwaGEpIH07CisgICAgcmV0dXJuIExD
SEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5lc3MpLCBzdGF0
aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZENocm9tYSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3Jt
YWxpemVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphbHBoYSkgfTsKIH0KIAogc3RhdGljIENv
bG9yIHBhcnNlUmVsYXRpdmVMQ0hQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3Ms
IGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCkBAIC0xODU5LDMwICsxODkwLDIyIEBA
IHN0YXRpYyBDb2xvciBwYXJzZVJlbGF0aXZlTENIUGFyYW1ldGVycygKICAgICAgICAgeyBDU1NW
YWx1ZUFscGhhLCBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNMQ0gu
YWxwaGEgKiAxMDAuMCB9CiAgICAgfTsKIAotICAgIGF1dG8gbGlnaHRuZXNzID0gY29uc3VtZVBl
cmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlm
ICghbGlnaHRuZXNzKQotICAgICAgICByZXR1cm4geyB9OwotCi0gICAgYXV0byBjaHJvbWEgPSBj
b25zdW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsK
LSAgICBpZiAoIWNocm9tYSkKLSAgICAgICAgcmV0dXJuIHsgfTsKLQotICAgIGF1dG8gaHVlID0g
Y29uc3VtZUFuZ2xlUmF3T3JOdW1iZXJSYXdBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywg
c3ltYm9sVGFibGUsIGNvbnRleHQubW9kZSk7Ci0gICAgaWYgKCFodWUpCi0gICAgICAgIHJldHVy
biB7IH07Ci0KLSAgICBhdXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFsQWxwaGFBbGxvd2luZ1N5
bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlmICghYWxwaGEpCi0gICAg
ICAgIHJldHVybiB7IH07CisgICAgYXV0byBsaWdodG5lc3NDb25zdW1lciA9IFsmc3ltYm9sVGFi
bGVdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVQZXJjZW50QWxsb3dpbmdTeW1ib2xUYWJs
ZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsgfTsKKyAgICBhdXRvIGNocm9tYUNvbnN1bWVyID0g
WyZzeW1ib2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU51bWJlckFsbG93aW5n
U3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xUYWJsZSk7IH07CisgICAgYXV0byBodWVDb25z
dW1lciA9IFsmc3ltYm9sVGFibGUsICZjb250ZXh0XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25z
dW1lQW5nbGVSYXdPck51bWJlclJhd0FsbG93aW5nU3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1i
b2xUYWJsZSwgY29udGV4dC5tb2RlKTsgfTsKKyAgICBhdXRvIGFscGhhQ29uc3VtZXIgPSBbJnN5
bWJvbFRhYmxlXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lT3B0aW9uYWxBbHBoYUFsbG93
aW5nU3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xUYWJsZSk7IH07CiAKLSAgICBpZiAoIWFy
Z3MuYXRFbmQoKSkKLSAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gcGFyc2VMQ0hQYXJh
bWV0ZXJzKGFyZ3MsIFdURk1vdmUobGlnaHRuZXNzQ29uc3VtZXIpLCBXVEZNb3ZlKGNocm9tYUNv
bnN1bWVyKSwgV1RGTW92ZShodWVDb25zdW1lciksIFdURk1vdmUoYWxwaGFDb25zdW1lcikpOwor
fQogCi0gICAgYXV0byBub3JtYWxpemVkTGlnaHRuZXNzID0gc3RkOjptYXgoMC4wLCAqbGlnaHRu
ZXNzKTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRDaHJvbWEgPSBzdGQ6Om1heCgwLjAsICpjaHJvbWEp
OwotICAgIGF1dG8gbm9ybWFsaXplZEh1ZSA9IG5vcm1hbGl6ZUh1ZSgqaHVlKTsKK3N0YXRpYyBD
b2xvciBwYXJzZU5vblJlbGF0aXZlTENIUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiBh
cmdzLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIGF1dG8gbGlnaHRu
ZXNzQ29uc3VtZXIgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lUGVyY2VudFJhdyhh
cmdzKTsgfTsKKyAgICBhdXRvIGNocm9tYUNvbnN1bWVyID0gW10oYXV0byYgYXJncykgeyByZXR1
cm4gY29uc3VtZU51bWJlclJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGh1ZUNvbnN1bWVyID0gWyZj
b250ZXh0XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lQW5nbGVSYXdPck51bWJlclJhdyhh
cmdzLCBjb250ZXh0Lm1vZGUpOyB9OworICAgIGF1dG8gYWxwaGFDb25zdW1lciA9IFtdKGF1dG8m
IGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhKGFyZ3MpOyB9OwogCi0gICAgcmV0
dXJuIExDSEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5lc3Mp
LCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZENocm9tYSksIHN0YXRpY19jYXN0PGZsb2F0
Pihub3JtYWxpemVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphbHBoYSkgfTsKKyAgICByZXR1
cm4gcGFyc2VMQ0hQYXJhbWV0ZXJzKGFyZ3MsIFdURk1vdmUobGlnaHRuZXNzQ29uc3VtZXIpLCBX
VEZNb3ZlKGNocm9tYUNvbnN1bWVyKSwgV1RGTW92ZShodWVDb25zdW1lciksIFdURk1vdmUoYWxw
aGFDb25zdW1lcikpOwogfQogCiBzdGF0aWMgQ29sb3IgcGFyc2VMQ0hQYXJhbWV0ZXJzKENTU1Bh
cnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQpA
QCAtMTg5NiwzMSArMTkxOSw1NyBAQCBzdGF0aWMgQ29sb3IgcGFyc2VMQ0hQYXJhbWV0ZXJzKENT
U1BhcnNlCiAKICAgICBpZiAoY29udGV4dC5yZWxhdGl2ZUNvbG9yU3ludGF4RW5hYmxlZCAmJiBh
cmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlRnJvbSkKICAgICAgICAgcmV0dXJuIHBhcnNlUmVs
YXRpdmVMQ0hQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOworICAgIHJldHVybiBwYXJzZU5vblJl
bGF0aXZlTENIUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsKK30KIAotICAgIGF1dG8gbGlnaHRu
ZXNzID0gY29uc3VtZVBlcmNlbnRSYXcoYXJncyk7Ci0gICAgaWYgKCFsaWdodG5lc3MpCi0gICAg
ICAgIHJldHVybiB7IH07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBDb2xvclR5cGUsIHR5cGVuYW1lIENv
bnN1bWVyRm9yUkdCLCB0eXBlbmFtZSBDb25zdW1lckZvckFscGhhPgorc3RhdGljIENvbG9yIHBh
cnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIENv
bnN1bWVyRm9yUkdCJiYgcmdiQ29uc3VtZXIsIENvbnN1bWVyRm9yQWxwaGEmJiBhbHBoYUNvbnN1
bWVyKQoreworICAgIGRvdWJsZSBjaGFubmVsc1szXSA9IHsgMCwgMCwgMCB9OworICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgMzsgKytpKSB7CisgICAgICAgIGF1dG8gdmFsdWUgPSByZ2JDb25zdW1l
cihhcmdzKTsKKyAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjaGFubmVsc1tpXSA9ICp2YWx1ZTsKKyAgICB9CiAKLSAgICBhdXRvIGNocm9tYSA9IGNvbnN1
bWVOdW1iZXJSYXcoYXJncyk7Ci0gICAgaWYgKCFjaHJvbWEpCisgICAgYXV0byBhbHBoYSA9IGFs
cGhhQ29uc3VtZXIoYXJncyk7CisgICAgaWYgKCFhbHBoYSkKICAgICAgICAgcmV0dXJuIHsgfTsK
IAotICAgIGF1dG8gaHVlID0gY29uc3VtZUFuZ2xlUmF3T3JOdW1iZXJSYXcoYXJncywgY29udGV4
dC5tb2RlKTsKLSAgICBpZiAoIWh1ZSkKKyAgICBpZiAoIWFyZ3MuYXRFbmQoKSkKICAgICAgICAg
cmV0dXJuIHsgfTsKIAotICAgIGF1dG8gYWxwaGEgPSBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdz
KTsKLSAgICBpZiAoIWFscGhhKQotICAgICAgICByZXR1cm4geyB9OworICAgIGF1dG8gbm9ybWFs
aXplZFJlZCA9IHN0ZDo6Y2xhbXAoY2hhbm5lbHNbMF0sIDAuMCwgMS4wKTsKKyAgICBhdXRvIG5v
cm1hbGl6ZWRHcmVlbiA9IHN0ZDo6Y2xhbXAoY2hhbm5lbHNbMV0sIDAuMCwgMS4wKTsKKyAgICBh
dXRvIG5vcm1hbGl6ZWRCbHVlID0gc3RkOjpjbGFtcChjaGFubmVsc1syXSwgMC4wLCAxLjApOwog
Ci0gICAgaWYgKCFhcmdzLmF0RW5kKCkpCisgICAgcmV0dXJuIHsgQ29sb3JUeXBlIHsgc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRSZWQpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXpl
ZEdyZWVuKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRCbHVlKSwgc3RhdGljX2Nhc3Q8
ZmxvYXQ+KCphbHBoYSkgfSwgQ29sb3I6OkZsYWdzOjpVc2VDb2xvckZ1bmN0aW9uU2VyaWFsaXph
dGlvbiB9OworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBDb2xvclR5cGU+IHN0YXRpYyBDb2xvciBw
YXJzZVJlbGF0aXZlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzKENTU1BhcnNlclRva2VuUmFuZ2Um
IGFyZ3MsIENvbG9yIG9yaWdpbkNvbG9yLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0
KQoreworICAgIEFTU0VSVChhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlQTk4UmdiIHx8IGFy
Z3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVEaXNwbGF5UDMgfHwgYXJncy5wZWVrKCkuaWQoKSA9
PSBDU1NWYWx1ZVByb3Bob3RvUmdiIHx8IGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVSZWMy
MDIwIHx8IGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVTUkdCKTsKKworICAgIC8vIFN1cHBv
cnQgc1JHQiBhbmQgRGlzcGxheS1QMyByZWdhcmRsZXNzIG9mIHRoZSBzZXR0aW5nIGFzIHdlIGhh
dmUgc2hpcHBlZCBzdXBwb3J0IGZvciB0aGVtIGZvciBhIHdoaWxlLgorICAgIGlmICghY29udGV4
dC5jc3NDb2xvcjQgJiYgKGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVBOThSZ2IgfHwgYXJn
cy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZVByb3Bob3RvUmdiIHx8IGFyZ3MucGVlaygpLmlkKCkg
PT0gQ1NTVmFsdWVSZWMyMDIwKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gbm9y
bWFsaXplZExpZ2h0bmVzcyA9IHN0ZDo6bWF4KDAuMCwgKmxpZ2h0bmVzcyk7Ci0gICAgYXV0byBu
b3JtYWxpemVkQ2hyb21hID0gc3RkOjptYXgoMC4wLCAqY2hyb21hKTsKLSAgICBhdXRvIG5vcm1h
bGl6ZWRIdWUgPSBub3JtYWxpemVIdWUoKmh1ZSk7CisgICAgY29uc3VtZUlkZW50UmF3KGFyZ3Mp
OwogCi0gICAgcmV0dXJuIExDSEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6
ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZENocm9tYSksIHN0YXRp
Y19jYXN0PGZsb2F0Pihub3JtYWxpemVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphbHBoYSkg
fTsKKyAgICBhdXRvIG9yaWdpbkNvbG9yQXNDb2xvclR5cGUgPSBvcmlnaW5Db2xvci50b0NvbG9y
VHlwZUxvc3N5PENvbG9yVHlwZT4oKTsKKworICAgIENTU0NhbGNTeW1ib2xUYWJsZSBzeW1ib2xU
YWJsZSB7CisgICAgICAgIHsgQ1NTVmFsdWVSLCBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRBR0Us
IG9yaWdpbkNvbG9yQXNDb2xvclR5cGUucmVkICogMTAwLjAgfSwKKyAgICAgICAgeyBDU1NWYWx1
ZUcsIENTU1VuaXRUeXBlOjpDU1NfUEVSQ0VOVEFHRSwgb3JpZ2luQ29sb3JBc0NvbG9yVHlwZS5n
cmVlbiAqIDEwMC4wIH0sCisgICAgICAgIHsgQ1NTVmFsdWVCLCBDU1NVbml0VHlwZTo6Q1NTX1BF
UkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNDb2xvclR5cGUuYmx1ZSAqIDEwMC4wIH0sCisgICAgICAg
IHsgQ1NTVmFsdWVBbHBoYSwgQ1NTVW5pdFR5cGU6OkNTU19QRVJDRU5UQUdFLCBvcmlnaW5Db2xv
ckFzQ29sb3JUeXBlLmFscGhhICogMTAwLjAgfQorICAgIH07CisKKyAgICBhdXRvIGNvbnN1bWVS
R0IgPSBbJnN5bWJvbFRhYmxlXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lTnVtYmVyUmF3
T3JQZXJjZW50RGl2aWRlZEJ5MTAwUmF3QWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5
bWJvbFRhYmxlLCBWYWx1ZVJhbmdlOjpBbGwpOyB9OworICAgIGF1dG8gY29uc3VtZUFscGhhID0g
WyZzeW1ib2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU9wdGlvbmFsQWxwaGFB
bGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OworCisgICAgcmV0
dXJuIHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPENvbG9yVHlwZT4oYXJncywgV1RGTW92
ZShjb25zdW1lUkdCKSwgV1RGTW92ZShjb25zdW1lQWxwaGEpKTsKIH0KIAogdGVtcGxhdGU8dHlw
ZW5hbWUgQ29sb3JUeXBlPiBzdGF0aWMgQ29sb3IgcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlw
ZXMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29u
dGV4dCkKQEAgLTE5MzMsMjIgKzE5ODIsMzQgQEAgdGVtcGxhdGU8dHlwZW5hbWUgQ29sb3JUeXBl
PiBzdGF0aWMgQ29sbwogCiAgICAgY29uc3VtZUlkZW50UmF3KGFyZ3MpOwogCisgICAgYXV0byBj
b25zdW1lUkdCID0gW10oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU51bWJlclJhd09yUGVy
Y2VudERpdmlkZWRCeTEwMFJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGNvbnN1bWVBbHBoYSA9IFtd
KGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhKGFyZ3MpOyB9OworCisg
ICAgcmV0dXJuIHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPENvbG9yVHlwZT4oYXJncywg
V1RGTW92ZShjb25zdW1lUkdCKSwgV1RGTW92ZShjb25zdW1lQWxwaGEpKTsKK30KKwordGVtcGxh
dGU8dHlwZW5hbWUgQ29uc3VtZXJGb3JYWVosIHR5cGVuYW1lIENvbnN1bWVyRm9yQWxwaGE+Citz
dGF0aWMgQ29sb3IgcGFyc2VDb2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1ldGVycyhDU1NQYXJzZXJU
b2tlblJhbmdlJiBhcmdzLCBDb25zdW1lckZvclhZWiYmIHh5ekNvbnN1bWVyLCBDb25zdW1lckZv
ckFscGhhJiYgYWxwaGFDb25zdW1lcikKK3sKICAgICBkb3VibGUgY2hhbm5lbHNbM10gPSB7IDAs
IDAsIDAgfTsKICAgICBmb3IgKGludCBpID0gMDsgaSA8IDM7ICsraSkgewotICAgICAgICBhdXRv
IHZhbHVlID0gY29uc3VtZU51bWJlclJhd09yUGVyY2VudERpdmlkZWRCeTEwMFJhdyhhcmdzKTsK
KyAgICAgICAgYXV0byB2YWx1ZSA9IHh5ekNvbnN1bWVyKGFyZ3MpOwogICAgICAgICBpZiAoIXZh
bHVlKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNoYW5uZWxzW2ldID0gKnZhbHVlOwog
ICAgIH0KIAotICAgIGF1dG8gYWxwaGEgPSBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsKKyAg
ICBhdXRvIGFscGhhID0gYWxwaGFDb25zdW1lcihhcmdzKTsKICAgICBpZiAoIWFscGhhKQogICAg
ICAgICByZXR1cm4geyB9OwogCi0gICAgcmV0dXJuIHsgQ29sb3JUeXBlIHsgY2xhbXBUbzxmbG9h
dD4oY2hhbm5lbHNbMF0sIDAuMCwgMS4wKSwgY2xhbXBUbzxmbG9hdD4oY2hhbm5lbHNbMV0sIDAu
MCwgMS4wKSwgY2xhbXBUbzxmbG9hdD4oY2hhbm5lbHNbMl0sIDAuMCwgMS4wKSwgc3RhdGljX2Nh
c3Q8ZmxvYXQ+KCphbHBoYSkgfSwgQ29sb3I6OkZsYWdzOjpVc2VDb2xvckZ1bmN0aW9uU2VyaWFs
aXphdGlvbiB9OworICAgIGlmICghYXJncy5hdEVuZCgpKQorICAgICAgICByZXR1cm4geyB9Owor
CisgICAgcmV0dXJuIHsgWFlaQTxmbG9hdCwgV2hpdGVQb2ludDo6RDUwPiB7IHN0YXRpY19jYXN0
PGZsb2F0PihjaGFubmVsc1swXSksIHN0YXRpY19jYXN0PGZsb2F0PihjaGFubmVsc1sxXSksIHN0
YXRpY19jYXN0PGZsb2F0PihjaGFubmVsc1syXSksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxwaGEp
IH0sIENvbG9yOjpGbGFnczo6VXNlQ29sb3JGdW5jdGlvblNlcmlhbGl6YXRpb24gfTsKIH0KIAot
c3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZWlBhcmFtZXRlcnMoQ1NTUGFyc2Vy
VG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3N0YXRp
YyBDb2xvciBwYXJzZVJlbGF0aXZlQ29sb3JGdW5jdGlvbkZvclhZWlBhcmFtZXRlcnMoQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgYXJncywgQ29sb3Igb3JpZ2luQ29sb3IsIGNvbnN0IENTU1BhcnNlckNv
bnRleHQmIGNvbnRleHQpCiB7CiAgICAgQVNTRVJUKGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFs
dWVYeXopOwogCkBAIC0xOTU3LDY3ICsyMDE4LDEwMSBAQCBzdGF0aWMgQ29sb3IgcGFyc2VDb2xv
ckZ1bmN0aW9uRm9yWFlaUGFyCiAKICAgICBjb25zdW1lSWRlbnRSYXcoYXJncyk7CiAKLSAgICBk
b3VibGUgY2hhbm5lbHNbM10gPSB7IDAsIDAsIDAgfTsKLSAgICBbJl0gewotICAgICAgICBhdXRv
IHggPSBjb25zdW1lTnVtYmVyUmF3KGFyZ3MpOwotICAgICAgICBpZiAoIXgpCi0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIGNoYW5uZWxzWzBdID0gKng7Ci0KLSAgICAgICAgYXV0byB5ID0g
Y29uc3VtZU51bWJlclJhdyhhcmdzKTsKLSAgICAgICAgaWYgKCF5KQotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICBjaGFubmVsc1sxXSA9ICp5OwotCi0gICAgICAgIGF1dG8geiA9IGNvbnN1
bWVOdW1iZXJSYXcoYXJncyk7Ci0gICAgICAgIGlmICgheikKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgY2hhbm5lbHNbMl0gPSAqejsKLSAgICB9KCk7CisgICAgYXV0byBvcmlnaW5Db2xv
ckFzWFlaID0gb3JpZ2luQ29sb3IudG9Db2xvclR5cGVMb3NzeTxYWVpBPGZsb2F0LCBXaGl0ZVBv
aW50OjpENTA+PigpOwogCi0gICAgYXV0byBhbHBoYSA9IGNvbnN1bWVPcHRpb25hbEFscGhhKGFy
Z3MpOwotICAgIGlmICghYWxwaGEpCisgICAgQ1NTQ2FsY1N5bWJvbFRhYmxlIHN5bWJvbFRhYmxl
IHsKKyAgICAgICAgeyBDU1NWYWx1ZVgsIENTU1VuaXRUeXBlOjpDU1NfTlVNQkVSLCBvcmlnaW5D
b2xvckFzWFlaLnggfSwKKyAgICAgICAgeyBDU1NWYWx1ZVksIENTU1VuaXRUeXBlOjpDU1NfTlVN
QkVSLCBvcmlnaW5Db2xvckFzWFlaLnkgfSwKKyAgICAgICAgeyBDU1NWYWx1ZVosIENTU1VuaXRU
eXBlOjpDU1NfTlVNQkVSLCBvcmlnaW5Db2xvckFzWFlaLnogfSwKKyAgICAgICAgeyBDU1NWYWx1
ZUFscGhhLCBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNYWVouYWxw
aGEgKiAxMDAuMCB9CisgICAgfTsKKworICAgIGF1dG8gY29uc3VtZVhZWiA9IFsmc3ltYm9sVGFi
bGVdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVOdW1iZXJBbGxvd2luZ1N5bWJvbFRhYmxl
SWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OworICAgIGF1dG8gY29uc3VtZUFscGhhID0gWyZz
eW1ib2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU9wdGlvbmFsQWxwaGFBbGxv
d2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OworCisgICAgcmV0dXJu
IHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZWlBhcmFtZXRlcnMoYXJncywgV1RGTW92ZShjb25zdW1l
WFlaKSwgV1RGTW92ZShjb25zdW1lQWxwaGEpKTsKK30KKworc3RhdGljIENvbG9yIHBhcnNlQ29s
b3JGdW5jdGlvbkZvclhZWlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29u
c3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQoYXJncy5wZWVrKCku
aWQoKSA9PSBDU1NWYWx1ZVh5eik7CisKKyAgICBpZiAoIWNvbnRleHQuY3NzQ29sb3I0KQogICAg
ICAgICByZXR1cm4geyB9OwogCi0gICAgcmV0dXJuIHsgWFlaQTxmbG9hdCwgV2hpdGVQb2ludDo6
RDUwPiB7IHN0YXRpY19jYXN0PGZsb2F0PihjaGFubmVsc1swXSksIHN0YXRpY19jYXN0PGZsb2F0
PihjaGFubmVsc1sxXSksIHN0YXRpY19jYXN0PGZsb2F0PihjaGFubmVsc1syXSksIHN0YXRpY19j
YXN0PGZsb2F0PigqYWxwaGEpIH0sIENvbG9yOjpGbGFnczo6VXNlQ29sb3JGdW5jdGlvblNlcmlh
bGl6YXRpb24gfTsKKyAgICBjb25zdW1lSWRlbnRSYXcoYXJncyk7CisKKyAgICBhdXRvIGNvbnN1
bWVYWVogPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lTnVtYmVyUmF3KGFyZ3MpOyB9
OworICAgIGF1dG8gY29uc3VtZUFscGhhID0gW10oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3Vt
ZU9wdGlvbmFsQWxwaGEoYXJncyk7IH07CisKKyAgICByZXR1cm4gcGFyc2VDb2xvckZ1bmN0aW9u
Rm9yWFlaUGFyYW1ldGVycyhhcmdzLCBXVEZNb3ZlKGNvbnN1bWVYWVopLCBXVEZNb3ZlKGNvbnN1
bWVBbHBoYSkpOwogfQogCi1zdGF0aWMgQ29sb3IgcGFyc2VDb2xvckZ1bmN0aW9uUGFyYW1ldGVy
cyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29u
dGV4dCkKK3N0YXRpYyBDb2xvciBwYXJzZVJlbGF0aXZlQ29sb3JGdW5jdGlvblBhcmFtZXRlcnMo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4
dCkKIHsKLSAgICBBU1NFUlQocmFuZ2UucGVlaygpLmZ1bmN0aW9uSWQoKSA9PSBDU1NWYWx1ZUNv
bG9yKTsKLSAgICBhdXRvIGFyZ3MgPSBjb25zdW1lRnVuY3Rpb24ocmFuZ2UpOworICAgIEFTU0VS
VChhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlRnJvbSk7CisgICAgY29uc3VtZUlkZW50UmF3
KGFyZ3MpOworCisgICAgYXV0byBvcmlnaW5Db2xvciA9IGNvbnN1bWVPcmlnaW5Db2xvcihhcmdz
LCBjb250ZXh0KTsKKyAgICBpZiAoIW9yaWdpbkNvbG9yLmlzVmFsaWQoKSkKKyAgICAgICAgcmV0
dXJuIHsgfTsKIAotICAgIENvbG9yIGNvbG9yOwogICAgIHN3aXRjaCAoYXJncy5wZWVrKCkuaWQo
KSkgewogICAgIGNhc2UgQ1NTVmFsdWVBOThSZ2I6Ci0gICAgICAgIGNvbG9yID0gcGFyc2VDb2xv
ckZ1bmN0aW9uRm9yUkdCVHlwZXM8QTk4UkdCPGZsb2F0Pj4oYXJncywgY29udGV4dCk7Ci0gICAg
ICAgIGJyZWFrOworICAgICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JS
R0JUeXBlczxBOThSR0I8ZmxvYXQ+PihhcmdzLCBXVEZNb3ZlKG9yaWdpbkNvbG9yKSwgY29udGV4
dCk7CiAgICAgY2FzZSBDU1NWYWx1ZURpc3BsYXlQMzoKLSAgICAgICAgY29sb3IgPSBwYXJzZUNv
bG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxEaXNwbGF5UDM8ZmxvYXQ+PihhcmdzLCBjb250ZXh0KTsK
LSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBwYXJzZVJlbGF0aXZlQ29sb3JGdW5jdGlv
bkZvclJHQlR5cGVzPERpc3BsYXlQMzxmbG9hdD4+KGFyZ3MsIFdURk1vdmUob3JpZ2luQ29sb3Ip
LCBjb250ZXh0KTsKICAgICBjYXNlIENTU1ZhbHVlUHJvcGhvdG9SZ2I6Ci0gICAgICAgIGNvbG9y
ID0gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8UHJvUGhvdG9SR0I8ZmxvYXQ+Pihhcmdz
LCBjb250ZXh0KTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBwYXJzZVJlbGF0aXZl
Q29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPFByb1Bob3RvUkdCPGZsb2F0Pj4oYXJncywgV1RGTW92
ZShvcmlnaW5Db2xvciksIGNvbnRleHQpOwogICAgIGNhc2UgQ1NTVmFsdWVSZWMyMDIwOgotICAg
ICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPFJlYzIwMjA8ZmxvYXQ+
PihhcmdzLCBjb250ZXh0KTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBwYXJzZVJl
bGF0aXZlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPFJlYzIwMjA8ZmxvYXQ+PihhcmdzLCBXVEZN
b3ZlKG9yaWdpbkNvbG9yKSwgY29udGV4dCk7CiAgICAgY2FzZSBDU1NWYWx1ZVNSR0I6Ci0gICAg
ICAgIGNvbG9yID0gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8U1JHQkE8ZmxvYXQ+Pihh
cmdzLCBjb250ZXh0KTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBwYXJzZVJlbGF0
aXZlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPFNSR0JBPGZsb2F0Pj4oYXJncywgV1RGTW92ZShv
cmlnaW5Db2xvciksIGNvbnRleHQpOwogICAgIGNhc2UgQ1NTVmFsdWVYeXo6Ci0gICAgICAgIGNv
bG9yID0gcGFyc2VDb2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsK
LSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBwYXJzZVJlbGF0aXZlQ29sb3JGdW5jdGlv
bkZvclhZWlBhcmFtZXRlcnMoYXJncywgV1RGTW92ZShvcmlnaW5Db2xvciksIGNvbnRleHQpOwog
ICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfQogCi0gICAgaWYgKCFjb2xv
ci5pc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybiB7IH07CisgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgcmV0dXJuIHsgfTsKK30KIAotICAgIGlmICghYXJncy5hdEVuZCgpKQorc3RhdGlj
IENvbG9yIHBhcnNlTm9uUmVsYXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyhDU1NQYXJzZXJU
b2tlblJhbmdlJiBhcmdzLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAg
IHN3aXRjaCAoYXJncy5wZWVrKCkuaWQoKSkgeworICAgIGNhc2UgQ1NTVmFsdWVBOThSZ2I6Cisg
ICAgICAgIHJldHVybiBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxBOThSR0I8ZmxvYXQ+
PihhcmdzLCBjb250ZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlRGlzcGxheVAzOgorICAgICAgICBy
ZXR1cm4gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8RGlzcGxheVAzPGZsb2F0Pj4oYXJn
cywgY29udGV4dCk7CisgICAgY2FzZSBDU1NWYWx1ZVByb3Bob3RvUmdiOgorICAgICAgICByZXR1
cm4gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8UHJvUGhvdG9SR0I8ZmxvYXQ+Pihhcmdz
LCBjb250ZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlUmVjMjAyMDoKKyAgICAgICAgcmV0dXJuIHBh
cnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPFJlYzIwMjA8ZmxvYXQ+PihhcmdzLCBjb250ZXh0
KTsKKyAgICBjYXNlIENTU1ZhbHVlU1JHQjoKKyAgICAgICAgcmV0dXJuIHBhcnNlQ29sb3JGdW5j
dGlvbkZvclJHQlR5cGVzPFNSR0JBPGZsb2F0Pj4oYXJncywgY29udGV4dCk7CisgICAgY2FzZSBD
U1NWYWx1ZVh5ejoKKyAgICAgICAgcmV0dXJuIHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZWlBhcmFt
ZXRlcnMoYXJncywgY29udGV4dCk7CisgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHsgfTsK
KyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4geyB9OworfQor
CitzdGF0aWMgQ29sb3IgcGFyc2VDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tl
blJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBB
U1NFUlQocmFuZ2UucGVlaygpLmZ1bmN0aW9uSWQoKSA9PSBDU1NWYWx1ZUNvbG9yKTsKKyAgICBh
dXRvIGFyZ3MgPSBjb25zdW1lRnVuY3Rpb24ocmFuZ2UpOworCisgICAgYXV0byBjb2xvciA9IFsm
XSB7CisgICAgICAgIGlmIChjb250ZXh0LnJlbGF0aXZlQ29sb3JTeW50YXhFbmFibGVkICYmIGFy
Z3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVGcm9tKQorICAgICAgICAgICAgcmV0dXJuIHBhcnNl
UmVsYXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsKKyAgICAgICAg
cmV0dXJuIHBhcnNlTm9uUmVsYXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyhhcmdzLCBjb250
ZXh0KTsKKyAgICB9KCk7CiAKLSAgICBBU1NFUlQoY29sb3IudXNlc0NvbG9yRnVuY3Rpb25TZXJp
YWxpemF0aW9uKCkpOworICAgIEFTU0VSVCghY29sb3IuaXNWYWxpZCgpIHx8IGNvbG9yLnVzZXND
b2xvckZ1bmN0aW9uU2VyaWFsaXphdGlvbigpKTsKICAgICByZXR1cm4gY29sb3I7CiB9CiAKSW5k
ZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDI3ODMzNSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA2LTAxICBTYW0gV2VpbmlnICA8d2Vpbmln
QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgInJlbGF0aXZlIGNvbG9yIHN5
bnRheCIgZm9yIGNvbG9yKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNjUxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFVwZGF0ZWQgdGVzdCBhbmQgcmVzdWx0cyBub3cgdGhhdCB3ZSBzdXBwb3J0IHJl
bGF0aXZlIGNvbG9yIHN5bnRheAorICAgICAgICBmb3IgY29sb3Ioc3JnYiAuLi4pLCBjb2xvcihh
OTgtcmdiIC4uLiksIGNvbG9yKHJlYzIwMjAgLi4uKSwKKyAgICAgICAgY29sb3IocHJvcGhvdG8t
cmdiIC4uLikgYW5kIGNvbG9yKHh5eiAuLi4pLgorCisgICAgICAgICogZmFzdC9jc3MvcGFyc2lu
Zy1yZWxhdGl2ZS1jb2xvci1zeW50YXgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3Nz
L3BhcnNpbmctcmVsYXRpdmUtY29sb3Itc3ludGF4Lmh0bWw6CisKIDIwMjEtMDYtMDEgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdW5zYWZlIGFjY2VzcyB0
byBtX3VwbG9hZCBpbiBYTUxIdHRwUmVxdWVzdDo6dmlydHVhbEhhc1BlbmRpbmdBY3Rpdml0eSgp
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRh
eC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2lu
Zy1yZWxhdGl2ZS1jb2xvci1zeW50YXgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNzgzMzEpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI4NSw2ICsyODUsMjYxIEBAIFBBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICIKIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJsY2goZnJvbSBsY2goNzAlIDQ1IDMwKSBsaWdodG5lc3MgYyBoKSIpIGlz
ICJyZ2JhKDAsIDAsIDAsIDApIgogUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImxjaChmcm9tIGxjaCg3MCUgNDUgMzApIHggYyBoKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDAp
IgogUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxjaChmcm9tIGxjaCg3
MCUgNDUgMzApIGwgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4u
LiAke2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgZyBiKSIpIGlzICJjb2xv
cihzcmdiIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgciBnIGIgLyBhbHBo
YSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gNDAl
KSBzcmdiIHIgZyBiKSIpIGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAu
NSAwLjMgLyA0MCUpIHNyZ2IgciBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41
IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgciBnIGIpIHNy
Z2IgciBnIGIpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRlZFN0
eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAu
Mykgc3JnYiAwIDAgMCkiKSBpcyAiY29sb3Ioc3JnYiAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4z
KSBzcmdiIDAgMCAwKSIpIGlzICJjb2xvcihzcmdiIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMp
IHNyZ2IgMCAwIDAgLyAwKSIpIGlzICJjb2xvcihzcmdiIDAgMCAwIC8gMCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAw
LjUgMC4zKSBzcmdiIDAgMCAwIC8gMCkiKSBpcyAiY29sb3Ioc3JnYiAwIDAgMCAvIDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3Jn
YiAwLjcgMC41IDAuMykgc3JnYiAwIGcgYiAvIGFscGhhKSIpIGlzICJjb2xvcihzcmdiIDAgMC41
IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgMCBiIC8gYWxwaGEpIikgaXMgImNvbG9y
KHNyZ2IgMC43IDAgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgciBnIDAgLyBhbHBoYSki
KSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41IDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMykgc3JnYiByIGcg
YiAvIDApIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuNSAwLjMgLyAwKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAw
LjMgLyA0MCUpIHNyZ2IgMCBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwIDAuNSAwLjMg
LyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZy
b20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIDAgYiAvIGFscGhhKSIpIGlz
ICJjb2xvcihzcmdiIDAuNyAwIDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBz
cmdiIHIgZyAwIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuNSAwIC8gMC40KSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNy
Z2IgMC43IDAuNSAwLjMgLyA0MCUpIHNyZ2IgciBnIGIgLyAwKSIpIGlzICJjb2xvcihzcmdiIDAu
NyAwLjUgMC4zIC8gMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIDAuMiBnIGIgLyBhbHBoYSki
KSBpcyAiY29sb3Ioc3JnYiAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIDIw
JSBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAw
LjUgMC4zKSBzcmdiIHIgMC4yIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC4yIDAu
MykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgMjAlIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Io
c3JnYiAwLjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgZyAwLjIgLyBhbHBo
YSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdi
IHIgZyAyMCUgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41IDAuMikiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAu
NyAwLjUgMC4zKSBzcmdiIHIgZyBiIC8gMC4yKSIpIGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4z
IC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihm
cm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgciBnIGIgLyAyMCUpIikgaXMgImNvbG9y
KHNyZ2IgMC43IDAuNSAwLjMgLyAwLjIpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiAw
LjIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3Jn
YiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiAyMCUgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNy
Z2IgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIDAu
MiBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAw
LjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIDIwJSBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2Ig
MC43IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIGcgMC4y
IC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcg
MC41IDAuMyAvIDQwJSkgc3JnYiByIGcgMjAlIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC43
IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIGcgYiAvIDAu
MikiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDAuMikiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4z
IC8gNDAlKSBzcmdiIHIgZyBiIC8gMjAlKSIpIGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8g
MC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9t
IGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgZyBiIHIpIikgaXMgImNvbG9yKHNyZ2IgMC41
IDAuMyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMykgc3JnYiBiIGFscGhhIHIgLyBnKSIpIGlzICJj
b2xvcihzcmdiIDAuMyAxIDAuNyAvIDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgciBy
IC8gcikiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC43IDAuNyAvIDAuNykiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUg
MC4zKSBzcmdiIGFscGhhIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMSAx
IDEpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20g
Y29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiBnIGIgcikiKSBpcyAiY29sb3Ioc3Jn
YiAwLjUgMC4zIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBzcmdiIGIgYWxwaGEgciAv
IGcpIikgaXMgImNvbG9yKHNyZ2IgMC4zIDAuNCAwLjcgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0
eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAu
MyAvIDQwJSkgc3JnYiByIHIgciAvIHIpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuNyAwLjcgLyAw
LjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20g
Y29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiBhbHBoYSBhbHBoYSBhbHBoYSAvIGFs
cGhhKSIpIGlzICJjb2xvcihzcmdiIDAuNCAwLjQgMC40IC8gMC40KSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAw
LjMpIHNyZ2IgY2FsYyhyKSBjYWxjKGcpIGNhbGMoYikpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAu
NSAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZy
b20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiBjYWxjKHIpIGNhbGMoZykgY2Fs
YyhiKSAvIGNhbGMoYWxwaGEpKSIpIGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gMC40KSIK
K1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9y
KHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgMTBkZWcgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDAp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3Ioc3JnYiAwLjcgMC41IDAuMykgc3JnYiByIDEwZGVnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwg
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgZyAxMGRlZykiKSBpcyAicmdiYSgwLCAwLCAw
LCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9t
IGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgciBnIGIgLyAxMGRlZykiKSBpcyAicmdiYSgw
LCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgcmVkIGcgYikiKSBpcyAicmdiYSgw
LCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgeCBnIGIpIikgaXMgInJnYmEoMCwg
MCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Io
ZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIGwgZyBiKSIpIGlzICJyZ2JhKDAsIDAs
IDAsIDApIgorCitjb2xvcihmcm9tIC4uLiAke2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUg
MC4zKSBhOTgtcmdiIHIgZyBiKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5
OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgciBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4
LXJnYiAwLjcgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBhOTgtcmdiIHIg
ZyBiKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAw
LjMgLyA0MCUpIGE5OC1yZ2IgciBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcg
MC41IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2Ig
ciBnIGIpIGE5OC1yZ2IgciBnIGIpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Io
YTk4LXJnYiAwLjcgMC41IDAuMykgYTk4LXJnYiAwIDAgMCkiKSBpcyAiY29sb3IoYTk4LXJnYiAw
IDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIDAgMCAwKSIpIGlzICJjb2xvcihh
OTgtcmdiIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgMCAwIDAgLyAwKSIp
IGlzICJjb2xvcihhOTgtcmdiIDAgMCAwIC8gMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgt
cmdiIDAgMCAwIC8gMCkiKSBpcyAiY29sb3IoYTk4LXJnYiAwIDAgMCAvIDApIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAw
LjcgMC41IDAuMykgYTk4LXJnYiAwIGcgYiAvIGFscGhhKSIpIGlzICJjb2xvcihhOTgtcmdiIDAg
MC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Io
ZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgMCBiIC8gYWxwaGEpIikg
aXMgImNvbG9yKGE5OC1yZ2IgMC43IDAgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1y
Z2IgciBnIDAgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC41IDApIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJn
YiAwLjcgMC41IDAuMykgYTk4LXJnYiByIGcgYiAvIDApIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43
IDAuNSAwLjMgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIGE5OC1yZ2IgMCBnIGIg
LyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAw
LjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIDAgYiAvIGFscGhhKSIpIGlzICJjb2xvcihhOTgt
cmdiIDAuNyAwIDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBhOTgtcmdi
IHIgZyAwIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwIC8gMC40KSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5
OC1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIGE5OC1yZ2IgciBnIGIgLyAwKSIpIGlzICJjb2xvcihh
OTgtcmdiIDAuNyAwLjUgMC4zIC8gMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIDAu
MiBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjIgMC41IDAuMykiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdi
IDAuNyAwLjUgMC4zKSBhOTgtcmdiIDIwJSBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJn
YiAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgMC4yIGIgLyBh
bHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUg
MC4zKSBhOTgtcmdiIHIgMjAlIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC4y
IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgZyAwLjIgLyBhbHBoYSkiKSBp
cyAiY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgt
cmdiIHIgZyAyMCUgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMikiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihh
OTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgZyBiIC8gMC4yKSIpIGlzICJjb2xvcihhOTgt
cmdiIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgciBn
IGIgLyAyMCUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMgLyAwLjIpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJn
YiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiAwLjIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9y
KGE5OC1yZ2IgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkg
YTk4LXJnYiAyMCUgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC4yIDAuNSAwLjMg
LyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZy
b20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIDAuMiBiIC8gYWxw
aGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcg
MC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIDIwJSBiIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1y
Z2IgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJn
YiByIGcgMC4yIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjIgLyAwLjQp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIGcgMjAlIC8gYWxwaGEpIikg
aXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAu
MyAvIDQwJSkgYTk4LXJnYiByIGcgYiAvIDAuMikiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC41
IDAuMyAvIDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBhOTgtcmdiIHIgZyBiIC8g
MjAlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43
IDAuNSAwLjMpIGE5OC1yZ2IgZyBiIHIpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC41IDAuMyAwLjcp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3IoYTk4LXJnYiAwLjcgMC41IDAuMykgYTk4LXJnYiBiIGFscGhhIHIgLyBnKSIpIGlzICJjb2xv
cihhOTgtcmdiIDAuMyAxIDAuNyAvIDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdi
IHIgciByIC8gcikiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC43IDAuNyAvIDAuNykiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgt
cmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIGFscGhhIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMg
ImNvbG9yKGE5OC1yZ2IgMSAxIDEpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJn
YiBnIGIgcikiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjUgMC4zIDAuNykiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAw
LjUgMC4zIC8gNDAlKSBhOTgtcmdiIGIgYWxwaGEgciAvIGcpIikgaXMgImNvbG9yKGE5OC1yZ2Ig
MC4zIDAuNCAwLjcgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiBy
IHIgciAvIHIpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuNyAwLjcgLyAwLjcpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJn
YiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKSIp
IGlzICJjb2xvcihhOTgtcmdiIDAuNCAwLjQgMC40IC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAw
LjMpIGE5OC1yZ2IgY2FsYyhyKSBjYWxjKGcpIGNhbGMoYikpIikgaXMgImNvbG9yKGE5OC1yZ2Ig
MC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiBjYWxjKHIp
IGNhbGMoZykgY2FsYyhiKSAvIGNhbGMoYWxwaGEpKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAw
LjUgMC4zIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgMTBkZWcgZyBiKSIp
IGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykgYTk4LXJnYiByIDEw
ZGVnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgt
cmdiIHIgZyAxMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAw
LjMpIGE5OC1yZ2IgciBnIGIgLyAxMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1y
Z2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgcmVkIGcgYikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIK
K1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9y
KGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgeCBnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwg
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIGwgZyBiKSIpIGlzICJyZ2JhKDAsIDAs
IDAsIDApIgorCitjb2xvcihmcm9tIC4uLiAke2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUg
MC4zKSByZWMyMDIwIHIgZyBiKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJl
YzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgciBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVj
MjAyMCAwLjcgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gNDAlKSByZWMyMDIwIHIg
ZyBiKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAw
LjMgLyA0MCUpIHJlYzIwMjAgciBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcg
MC41IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAg
ciBnIGIpIHJlYzIwMjAgciBnIGIpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Io
cmVjMjAyMCAwLjcgMC41IDAuMykgcmVjMjAyMCAwIDAgMCkiKSBpcyAiY29sb3IocmVjMjAyMCAw
IDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIDAgMCAwKSIpIGlzICJjb2xvcihy
ZWMyMDIwIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgMCAwIDAgLyAwKSIp
IGlzICJjb2xvcihyZWMyMDIwIDAgMCAwIC8gMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMy
MDIwIDAgMCAwIC8gMCkiKSBpcyAiY29sb3IocmVjMjAyMCAwIDAgMCAvIDApIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAw
LjcgMC41IDAuMykgcmVjMjAyMCAwIGcgYiAvIGFscGhhKSIpIGlzICJjb2xvcihyZWMyMDIwIDAg
MC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Io
ZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgMCBiIC8gYWxwaGEpIikg
aXMgImNvbG9yKHJlYzIwMjAgMC43IDAgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIw
MjAgciBnIDAgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC41IDApIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAy
MCAwLjcgMC41IDAuMykgcmVjMjAyMCByIGcgYiAvIDApIikgaXMgImNvbG9yKHJlYzIwMjAgMC43
IDAuNSAwLjMgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMgLyA0MCUpIHJlYzIwMjAgMCBnIGIg
LyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAw
LjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIDAgYiAvIGFscGhhKSIpIGlzICJjb2xvcihyZWMy
MDIwIDAuNyAwIDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gNDAlKSByZWMyMDIw
IHIgZyAwIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuNSAwIC8gMC40KSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJl
YzIwMjAgMC43IDAuNSAwLjMgLyA0MCUpIHJlYzIwMjAgciBnIGIgLyAwKSIpIGlzICJjb2xvcihy
ZWMyMDIwIDAuNyAwLjUgMC4zIC8gMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIDAu
MiBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjIgMC41IDAuMykiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIw
IDAuNyAwLjUgMC4zKSByZWMyMDIwIDIwJSBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAy
MCAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgMC4yIGIgLyBh
bHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUg
MC4zKSByZWMyMDIwIHIgMjAlIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC4y
IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgZyAwLjIgLyBhbHBoYSkiKSBp
cyAiY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMy
MDIwIHIgZyAyMCUgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMikiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihy
ZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgZyBiIC8gMC4yKSIpIGlzICJjb2xvcihyZWMy
MDIwIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgciBn
IGIgLyAyMCUpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMgLyAwLjIpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAy
MCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCAwLjIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9y
KHJlYzIwMjAgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkg
cmVjMjAyMCAyMCUgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC4yIDAuNSAwLjMg
LyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZy
b20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIDAuMiBiIC8gYWxw
aGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcg
MC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIDIwJSBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIw
MjAgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAy
MCByIGcgMC4yIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjIgLyAwLjQp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIGcgMjAlIC8gYWxwaGEpIikg
aXMgImNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAu
MyAvIDQwJSkgcmVjMjAyMCByIGcgYiAvIDAuMikiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC41
IDAuMyAvIDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gNDAlKSByZWMyMDIwIHIgZyBiIC8g
MjAlKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43
IDAuNSAwLjMpIHJlYzIwMjAgZyBiIHIpIikgaXMgImNvbG9yKHJlYzIwMjAgMC41IDAuMyAwLjcp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3IocmVjMjAyMCAwLjcgMC41IDAuMykgcmVjMjAyMCBiIGFscGhhIHIgLyBnKSIpIGlzICJjb2xv
cihyZWMyMDIwIDAuMyAxIDAuNyAvIDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIw
IHIgciByIC8gcikiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC43IDAuNyAvIDAuNykiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMy
MDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIGFscGhhIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMg
ImNvbG9yKHJlYzIwMjAgMSAxIDEpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAy
MCBnIGIgcikiKSBpcyAiY29sb3IocmVjMjAyMCAwLjUgMC4zIDAuNykiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAw
LjUgMC4zIC8gNDAlKSByZWMyMDIwIGIgYWxwaGEgciAvIGcpIikgaXMgImNvbG9yKHJlYzIwMjAg
MC4zIDAuNCAwLjcgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCBy
IHIgciAvIHIpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuNyAwLjcgLyAwLjcpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAy
MCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKSIp
IGlzICJjb2xvcihyZWMyMDIwIDAuNCAwLjQgMC40IC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAw
LjMpIHJlYzIwMjAgY2FsYyhyKSBjYWxjKGcpIGNhbGMoYikpIikgaXMgImNvbG9yKHJlYzIwMjAg
MC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCBjYWxjKHIp
IGNhbGMoZykgY2FsYyhiKSAvIGNhbGMoYWxwaGEpKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAw
LjUgMC4zIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgMTBkZWcgZyBiKSIp
IGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykgcmVjMjAyMCByIDEw
ZGVnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMy
MDIwIHIgZyAxMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAw
LjMpIHJlYzIwMjAgciBnIGIgLyAxMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIw
MjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgcmVkIGcgYikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIK
K1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9y
KHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgeCBnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwg
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIGwgZyBiKSIpIGlzICJyZ2JhKDAsIDAs
IDAsIDApIgorCitjb2xvcihmcm9tIC4uLiAke2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43
IDAuNSAwLjMpIHByb3Bob3RvLXJnYiByIGcgYikiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAu
NyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgZyBi
IC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90
by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIGcgYikiKSBpcyAiY29sb3Io
cHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDQw
JSkgcHJvcGhvdG8tcmdiIHIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAw
LjcgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoZnJvbSBjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykg
cHJvcGhvdG8tcmdiIHIgZyBiKSBwcm9waG90by1yZ2IgciBnIGIpIikgaXMgImNvbG9yKHByb3Bo
b3RvLXJnYiAwLjcgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMpIHByb3Bob3Rv
LXJnYiAwIDAgMCkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAgMCAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJn
YiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIDAgMCAwKSIpIGlzICJjb2xvcihwcm9waG90by1y
Z2IgMCAwIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgMCAwIDAg
LyAwKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMCAwIDAgLyAwKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAw
LjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIDAgMCAwIC8gMCkiKSBpcyAiY29sb3IocHJvcGhvdG8t
cmdiIDAgMCAwIC8gMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiAw
IGcgYiAvIGFscGhhKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMCAwLjUgMC4zKSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bo
b3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgMCBiIC8gYWxwaGEpIikgaXMgImNv
bG9yKHByb3Bob3RvLXJnYiAwLjcgMCAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBw
cm9waG90by1yZ2IgciBnIDAgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAw
LjUgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiByIGcgYiAvIDAp
IikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDApIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdi
IDAuNyAwLjUgMC4zIC8gNDAlKSBwcm9waG90by1yZ2IgMCBnIGIgLyBhbHBoYSkiKSBpcyAiY29s
b3IocHJvcGhvdG8tcmdiIDAgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAw
LjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIDAgYiAvIGFscGhhKSIpIGlzICJjb2xvcihwcm9waG90
by1yZ2IgMC43IDAgMC4zIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDQwJSkg
cHJvcGhvdG8tcmdiIHIgZyAwIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcg
MC41IDAgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBwcm9waG90by1y
Z2IgciBnIGIgLyAwKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyAwKSIK
K1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9y
KHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIDAuMiBnIGIgLyBhbHBoYSki
KSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuMiAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcg
MC41IDAuMykgcHJvcGhvdG8tcmdiIDIwJSBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhv
dG8tcmdiIDAuMiAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8t
cmdiIHIgMC4yIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjIgMC4z
KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNv
bG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgMjAlIGIgLyBhbHBo
YSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjIgMC4zKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAw
LjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgZyAwLjIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJv
cGhvdG8tcmdiIDAuNyAwLjUgMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhv
dG8tcmdiIHIgZyAyMCUgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUg
MC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9t
IGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgZyBiIC8gMC4y
KSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyAwLjIpIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8t
cmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgciBnIGIgLyAyMCUpIikgaXMgImNvbG9yKHBy
b3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMg
LyA0MCUpIHByb3Bob3RvLXJnYiAwLjIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3Rv
LXJnYiAwLjIgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUp
IHByb3Bob3RvLXJnYiAyMCUgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAw
LjIgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bo
b3RvLXJnYiByIDAuMiBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC4y
IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJn
YiByIDIwJSBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC4yIDAuMyAv
IDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIGcg
MC4yIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMiAvIDAuNCki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIGcgMjAlIC8g
YWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMiAvIDAuNCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9w
aG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIGcgYiAvIDAuMikiKSBp
cyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAw
LjcgMC41IDAuMyAvIDQwJSkgcHJvcGhvdG8tcmdiIHIgZyBiIC8gMjAlKSIpIGlzICJjb2xvcihw
cm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyAwLjIpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4z
KSBwcm9waG90by1yZ2IgZyBiIHIpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjUgMC4zIDAu
NykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiBiIGFscGhhIHIgLyBn
KSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMC4zIDEgMC43IC8gMC41KSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJn
YiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgciByIC8gcikiKSBpcyAiY29sb3IocHJvcGhv
dG8tcmdiIDAuNyAwLjcgMC43IC8gMC43KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJv
cGhvdG8tcmdiIGFscGhhIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3Rv
LXJnYiAxIDEgMSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJn
YiBnIGIgcikiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNSAwLjMgMC43KSIKK1BBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3Rv
LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgcHJvcGhvdG8tcmdiIGIgYWxwaGEgciAvIGcpIikgaXMg
ImNvbG9yKHByb3Bob3RvLXJnYiAwLjMgMC40IDAuNyAvIDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43
IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIHIgciAvIHIpIikgaXMgImNvbG9yKHByb3Bo
b3RvLXJnYiAwLjcgMC43IDAuNyAvIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0
MCUpIHByb3Bob3RvLXJnYiBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKSIpIGlzICJjb2xvcihw
cm9waG90by1yZ2IgMC40IDAuNCAwLjQgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4z
KSBwcm9waG90by1yZ2IgY2FsYyhyKSBjYWxjKGcpIGNhbGMoYikpIikgaXMgImNvbG9yKHByb3Bo
b3RvLXJnYiAwLjcgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHBy
b3Bob3RvLXJnYiBjYWxjKHIpIGNhbGMoZykgY2FsYyhiKSAvIGNhbGMoYWxwaGEpKSIpIGlzICJj
b2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAw
LjUgMC4zKSBwcm9waG90by1yZ2IgMTBkZWcgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Io
cHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgciAxMGRlZyBiKSIpIGlzICJy
Z2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2Ig
ciBnIDEwZGVnKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUg
MC4zKSBwcm9waG90by1yZ2IgciBnIGIgLyAxMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIK
K1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9y
KHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHJlZCBnIGIpIikgaXMgInJn
YmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiB4
IGcgYikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykg
cHJvcGhvdG8tcmdiIGwgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9t
IC4uLiB4eXogLi4uKQorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogeCB5IHopIikgaXMgImNvbG9yKHh5
eiA3IC0yMC41IDEwMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgeiAvIGFscGhhKSIpIGlz
ICJjb2xvcih4eXogNyAtMjAuNSAxMDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCB5
IHopIikgaXMgImNvbG9yKHh5eiA3IC0yMC41IDEwMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUp
IHh5eiB4IHkgeiAvIGFscGhhKSIpIGlzICJjb2xvcih4eXogNyAtMjAuNSAxMDAgLyAwLjQpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Io
ZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgeikgeHl6IHggeSB6KSIpIGlzICJj
b2xvcih4eXogNyAtMjAuNSAxMDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogMCAwIDApIikgaXMg
ImNvbG9yKHh5eiAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiAwIDAgMCkiKSBpcyAiY29s
b3IoeHl6IDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IDAgMCAwIC8gMCkiKSBpcyAiY29s
b3IoeHl6IDAgMCAwIC8gMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiAwIDAgMCAvIDApIikgaXMg
ImNvbG9yKHh5eiAwIDAgMCAvIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogMCB5IHogLyBhbHBo
YSkiKSBpcyAiY29sb3IoeHl6IDAgLTIwLjUgMTAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHgg
MCB6IC8gYWxwaGEpIikgaXMgImNvbG9yKHh5eiA3IDAgMTAwKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkg
eHl6IHggeSAwIC8gYWxwaGEpIikgaXMgImNvbG9yKHh5eiA3IC0yMC41IDApIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIw
LjUgMTAwKSB4eXogeCB5IHogLyAwKSIpIGlzICJjb2xvcih4eXogNyAtMjAuNSAxMDAgLyAwKSIK
K1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9y
KHh5eiA3IC0yMC41IDEwMCAvIDQwJSkgeHl6IDAgeSB6IC8gYWxwaGEpIikgaXMgImNvbG9yKHh5
eiAwIC0yMC41IDEwMCAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IDAgeiAv
IGFscGhhKSIpIGlzICJjb2xvcih4eXogNyAwIDEwMCAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAg
LyA0MCUpIHh5eiB4IHkgMCAvIGFscGhhKSIpIGlzICJjb2xvcih4eXogNyAtMjAuNSAwIC8gMC40
KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNv
bG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkgeHl6IHggeSB6IC8gMCkiKSBpcyAiY29sb3IoeHl6
IDcgLTIwLjUgMTAwIC8gMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiAwLjIgeSB6IC8gYWxwaGEp
IikgaXMgImNvbG9yKHh5eiAwLjIgLTIwLjUgMTAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHgg
MC4yIHogLyBhbHBoYSkiKSBpcyAiY29sb3IoeHl6IDcgMC4yIDEwMCkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAx
MDApIHh5eiB4IHkgMC4yIC8gYWxwaGEpIikgaXMgImNvbG9yKHh5eiA3IC0yMC41IDAuMikiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4
eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgeiAvIDAuMikiKSBpcyAiY29sb3IoeHl6IDcgLTIwLjUg
MTAwIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggeSB6IC8gMjAlKSIpIGlzICJjb2xv
cih4eXogNyAtMjAuNSAxMDAgLyAwLjIpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogMC4y
IHkgeiAvIGFscGhhKSIpIGlzICJjb2xvcih4eXogMC4yIC0yMC41IDEwMCAvIDAuNCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXog
NyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IDAuMiB6IC8gYWxwaGEpIikgaXMgImNvbG9yKHh5eiA3
IDAuMiAxMDAgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCB5IDAuMiAvIGFs
cGhhKSIpIGlzICJjb2xvcih4eXogNyAtMjAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0
eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAw
IC8gNDAlKSB4eXogeCB5IHogLyAwLjIpIikgaXMgImNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDAu
MikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB5IHogeCkiKSBpcyAiY29sb3IoeHl6IC0yMC41IDEw
MCA3KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9t
IGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggeCB4IC8geCkiKSBpcyAiY29sb3IoeHl6IDcg
NyA3KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9t
IGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkgeHl6IHkgeiB4KSIpIGlzICJjb2xvcih4eXog
LTIwLjUgMTAwIDcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCB4IHggLyB4KSIpIGlz
ICJjb2xvcih4eXogNyA3IDcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogeiBhbHBoYSB4IC8geSki
KSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IGFscGhhIGFscGhh
IGFscGhhIC8gYWxwaGEpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAg
LyA0MCUpIHh5eiB6IGFscGhhIHggLyB5KSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcg
LTIwLjUgMTAwIC8gNDAlKSB4eXogYWxwaGEgYWxwaGEgYWxwaGEgLyBhbHBoYSkiKSBpcyAicmdi
YSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IGNhbGMoeCkgY2FsYyh5KSBjYWxj
KHopKSIpIGlzICJjb2xvcih4eXogNyAtMjAuNSAxMDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAl
KSB4eXogY2FsYyh4KSBjYWxjKHkpIGNhbGMoeikgLyBjYWxjKGFscGhhKSkiKSBpcyAiY29sb3Io
eHl6IDcgLTIwLjUgMTAwIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IDEwZGVnIHkgeiki
KSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggMTBkZWcgeiki
KSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggeSAxMGRlZyki
KSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggeSB6IC8gMTBk
ZWcpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiByZWQgeSki
KSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHIgeSB6KSIpIGlz
ICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogbCB5IHopIikgaXMgInJn
YmEoMCwgMCwgMCwgMCkiCisKK1NwZWMgRXhhbXBsZXMKIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJyZ2IoZnJvbSB2YXIoLS1iZy1jb2xvcikgciBnIGIgLyA4MCUpIikg
aXMgInJnYmEoMCwgMCwgMjU1LCAwLjgpIgogUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImxjaChmcm9tIHZhcigtLWNvbG9yKSBjYWxjKGwgLyAyKSBjIGgpIikgaXMgImxj
aCgyMy4xMzg5NzElIDY3Ljk4OTcxNiAxMzQuMzkxMjUpIgogUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgInJnYihmcm9tIHZhcigtLWNvbG9yKSBjYWxjKHIgKiAuMyArIGcg
KiAuNTkgKyBiICogLjExKSBjYWxjKHIgKiAuMyArIGcgKiAuNTkgKyBiICogLjExKSBjYWxjKHIg
KiAuMyArIGcgKiAuNTkgKyBiICogLjExKSkiKSBpcyAicmdiKDc2LCA3NiwgNzYpIgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1yZWxhdGl2ZS1jb2xvci1zeW50YXguaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9y
LXN5bnRheC5odG1sCShyZXZpc2lvbiAyNzgzMzEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9w
YXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC00NDQs
MTMgKzQ0NCwxNTEgQEAKICAgICB0ZXN0Q29tcHV0ZWQoYGxjaChmcm9tIGxjaCg3MCUgNDUgMzAp
IGwgZyBiKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7CiAKIAotICAgIC8vIFNwZWMgZXhhbXBsZXM6
CisgICAgZm9yIChjb25zdCBjb2xvciBvZiBbICJzcmdiIiwgImE5OC1yZ2IiLCAicmVjMjAyMCIs
ICJwcm9waG90by1yZ2IiIF0pIHsKKyAgICAgICAgZGVidWcoJycpOworICAgICAgICBkZWJ1Zygn
Y29sb3IoZnJvbSAuLi4gJHtjb2xvcn0gLi4uKScpOworCisgICAgICAgIC8vIFRlc3Rpbmcgbm8g
bW9kaWZpY2F0aW9ucy4KKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgYilgLCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMylgKTsKKyAgICAgICAgdGVzdENv
bXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSBy
IGcgYiAvIGFscGhhKWAsICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcg
MC41IDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29s
b3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIGcgYilgLCAgICAgICAgICAgICAgICAg
ICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1
dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9y
fSByIGcgYiAvIGFscGhhKWAsICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41
IDAuMyAvIDAuNClgKTsKKworICAgICAgICAvLyBUZXN0IG5lc3RpbmcgcmVsYXRpdmUgY29sb3Jz
LgorICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoZnJvbSBjb2xvcigke2Nv
bG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gciBnIGIpICR7Y29sb3J9IHIgZyBiKWAsICAgYGNv
bG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKWApOworCisgICAgICAgIC8vIFRlc3RpbmcgcmVwbGFj
ZW1lbnQgd2l0aCAwLgorICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtj
b2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9IDAgMCAwKWAsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAgMCAwKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQo
YGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9IDAgMCAwKWAs
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAgMCAwKWApOwor
ICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAw
LjMpICR7Y29sb3J9IDAgMCAwIC8gMClgLCAgICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9y
KCR7Y29sb3J9IDAgMCAwIC8gMClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9t
IGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSAwIDAgMCAvIDApYCwgICAgICAg
ICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwIDAgMCAvIDApYCk7CisgICAgICAg
IHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtj
b2xvcn0gMCBnIGIgLyBhbHBoYSlgLCAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoJHtjb2xv
cn0gMCAwLjUgMC4zKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3Io
JHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9IHIgMCBiIC8gYWxwaGEpYCwgICAgICAgICAg
ICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAuNyAwIDAuMylgKTsKKyAgICAgICAgdGVzdENv
bXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSBy
IGcgMCAvIGFscGhhKWAsICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcg
MC41IDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9y
fSAwLjcgMC41IDAuMykgJHtjb2xvcn0gciBnIGIgLyAwKWAsICAgICAgICAgICAgICAgICAgICAg
ICAgICBgY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyAwKWApOworICAgICAgICB0ZXN0Q29t
cHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0MCUpICR7Y29s
b3J9IDAgZyBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAgMC41
IDAuMyAvIDAuNClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIDAgYiAvIGFscGhhKWAsICAgICAg
ICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMCAwLjMgLyAwLjQpYCk7CisgICAgICAgIHRl
c3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDQwJSkg
JHtjb2xvcn0gciBnIDAgLyBhbHBoYSlgLCAgICAgICAgICAgICAgICBgY29sb3IoJHtjb2xvcn0g
MC43IDAuNSAwIC8gMC40KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29s
b3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0MCUpICR7Y29sb3J9IHIgZyBiIC8gMClgLCAgICAg
ICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gMClgKTsKKworICAg
ICAgICAvLyBUZXN0aW5nIHJlcGxhY2VtZW50IHdpdGggYSBjb25zdGFudC4KKyAgICAgICAgdGVz
dENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9y
fSAwLjIgZyBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAw
LjIgMC41IDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSAyMCUgZyBiIC8gYWxwaGEpYCwgICAgICAgICAg
ICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjIgMC41IDAuMylgKTsKKyAgICAgICAgdGVzdENv
bXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSBy
IDAuMiBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcg
MC4yIDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29s
b3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIDIwJSBiIC8gYWxwaGEpYCwgICAgICAgICAgICAg
ICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC4yIDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1
dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcg
MC4yIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41
IDAuMilgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9
IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgMjAlIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAg
ICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMilgKTsKKyAgICAgICAgdGVzdENvbXB1dGVk
KGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgYiAv
IDAuMilgLCAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAu
MyAvIDAuMilgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29s
b3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgYiAvIDIwJSlgLCAgICAgICAgICAgICAgICAg
ICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDAuMilgKTsKKyAgICAgICAgdGVz
dENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAk
e2NvbG9yfSAwLjIgZyBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAw
LjIgMC41IDAuMyAvIDAuNClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNv
bG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSAyMCUgZyBiIC8gYWxwaGEp
YCwgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjIgMC41IDAuMyAvIDAuNClgKTsKKyAg
ICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4z
IC8gNDAlKSAke2NvbG9yfSByIDAuMiBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcigk
e2NvbG9yfSAwLjcgMC4yIDAuMyAvIDAuNClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xv
cihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIDIwJSBi
IC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC4yIDAuMyAvIDAu
NClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAu
NyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIGcgMC4yIC8gYWxwaGEpYCwgICAgICAgICAgICAg
IGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMiAvIDAuNClgKTsKKyAgICAgICAgdGVzdENvbXB1
dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9y
fSByIGcgMjAlIC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41
IDAuMiAvIDAuNClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIGcgYiAvIDAuMilgLCAgICAgICAg
ICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDAuMilgKTsKKyAgICAgICAg
dGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAl
KSAke2NvbG9yfSByIGcgYiAvIDIwJSlgLCAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9y
fSAwLjcgMC41IDAuMyAvIDAuMilgKTsKKworICAgICAgICAvLyBUZXN0aW5nIHZhbGlkIHBlcm11
dGF0aW9uICh0eXBlcyBtYXRjaCkuCisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBj
b2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gZyBiIHIpYCwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBgY29sb3IoJHtjb2xvcn0gMC41IDAuMyAwLjcpYCk7CisgICAgICAg
IHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtj
b2xvcn0gYiBhbHBoYSByIC8gZylgLCAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoJHtjb2xv
cn0gMC4zIDEgMC43IC8gMC41KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20g
Y29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9IHIgciByIC8gcilgLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAuNyAwLjcgMC43IC8gMC43KWApOwor
ICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAw
LjMpICR7Y29sb3J9IGFscGhhIGFscGhhIGFscGhhIC8gYWxwaGEpYCwgICAgICAgICAgYGNvbG9y
KCR7Y29sb3J9IDEgMSAxKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29s
b3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0MCUpICR7Y29sb3J9IGcgYiByKWAsICAgICAgICAg
ICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAuNSAwLjMgMC43KWApOworICAgICAgICB0
ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0MCUp
ICR7Y29sb3J9IGIgYWxwaGEgciAvIGcpYCwgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9
IDAuMyAwLjQgMC43IC8gMC41KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20g
Y29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0MCUpICR7Y29sb3J9IHIgciByIC8gcilgLCAg
ICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAuNyAwLjcgMC43IC8gMC43KWApOwor
ICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAw
LjMgLyA0MCUpICR7Y29sb3J9IGFscGhhIGFscGhhIGFscGhhIC8gYWxwaGEpYCwgICAgYGNvbG9y
KCR7Y29sb3J9IDAuNCAwLjQgMC40IC8gMC40KWApOworCisgICAgICAgIC8vIFRlc3Rpbmcgd2l0
aCBjYWxjKCkuCisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9y
fSAwLjcgMC41IDAuMykgJHtjb2xvcn0gY2FsYyhyKSBjYWxjKGcpIGNhbGMoYikpYCwgICAgICAg
ICAgICAgICAgICAgICAgICBgY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpYCk7CisgICAgICAg
IHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDQw
JSkgJHtjb2xvcn0gY2FsYyhyKSBjYWxjKGcpIGNhbGMoYikgLyBjYWxjKGFscGhhKSlgLCAgICBg
Y29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyAwLjQpYCk7CisKKyAgICAgICAgLy8gVGVzdGlu
ZyBpbnZhbGlkIHZhbHVlcy4KKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9y
KCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSAxMGRlZyBnIGIpYCwgICAgICAgICAgICAg
ICAgICAgICAgICAgIGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChg
Y29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gciAxMGRlZyBi
KWAsICAgICAgICAgICAgICAgICAgICAgICAgICBgcmdiYSgwLCAwLCAwLCAwKWApOworICAgICAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7
Y29sb3J9IHIgZyAxMGRlZylgLCAgICAgICAgICAgICAgICAgICAgICAgICAgYHJnYmEoMCwgMCwg
MCwgMClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9
IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgYiAvIDEwZGVnKWAsICAgICAgICAgICAgICAgICAg
ICAgIGByZ2JhKDAsIDAsIDAsIDApYCk7CisKKyAgICAgICAgLy8gVGVzdGluZyBpbnZhbGlkIGNv
bXBvbmVudCBuYW1lcworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtj
b2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9IHJlZCBnIGIpYCwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xv
cihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSB4IGcgYilgLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgICAgIHRl
c3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xv
cn0gbCBnIGIpYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgcmdiYSgwLCAwLCAwLCAw
KWApOworICAgIH0KKworICAgIGRlYnVnKCcnKTsKKyAgICBkZWJ1ZygnY29sb3IoZnJvbSAuLi4g
eHl6IC4uLiknKTsKKworICAgIC8vIFRlc3Rpbmcgbm8gbW9kaWZpY2F0aW9ucy4KKyAgICB0ZXN0
Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogeCB5IHopYCwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoeHl6IDcgLTIwLjUgMTAwKWApOwor
ICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4
IHkgeiAvIGFscGhhKWAsICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAx
MDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEw
MCAvIDQwJSkgeHl6IHggeSB6KWAsICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3
IC0yMC41IDEwMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcg
LTIwLjUgMTAwIC8gNDAlKSB4eXogeCB5IHogLyBhbHBoYSlgLCAgICAgICAgICAgICAgICBgY29s
b3IoeHl6IDcgLTIwLjUgMTAwIC8gMC40KWApOworCisgICAgLy8gVGVzdCBuZXN0aW5nIHJlbGF0
aXZlIGNvbG9ycy4KKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoZnJvbSBjb2xv
cih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgeikgeHl6IHggeSB6KWAsICAgICAgICBgY29sb3Io
eHl6IDcgLTIwLjUgMTAwKWApOworCisgICAgLy8gVGVzdGluZyByZXBsYWNlbWVudCB3aXRoIDAu
CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6
IDAgMCAwKWAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiAwIDAgMClg
KTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4
eXogMCAwIDApYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoeHl6IDAgMCAw
KWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAp
IHh5eiAwIDAgMCAvIDApYCwgICAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogMCAw
IDAgLyAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAu
NSAxMDApIHh5eiAwIDAgMCAvIDApYCwgICAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4
eXogMCAwIDAgLyAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXog
NyAtMjAuNSAxMDApIHh5eiAwIHkgeiAvIGFscGhhKWAsICAgICAgICAgICAgICAgICAgICAgIGBj
b2xvcih4eXogMCAtMjAuNSAxMDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNv
bG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggMCB6IC8gYWxwaGEpYCwgICAgICAgICAgICAgICAg
ICAgICAgYGNvbG9yKHh5eiA3IDAgMTAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJv
bSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgMCAvIGFscGhhKWAsICAgICAgICAgICAg
ICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29s
b3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgeiAvIDApYCwgICAgICAgICAg
ICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyAwKWApOworICAgIHRlc3RD
b21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiAwIHkg
eiAvIGFscGhhKWAsICAgICAgICAgICAgICAgIGBjb2xvcih4eXogMCAtMjAuNSAxMDAgLyAwLjQp
YCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAv
IDQwJSkgeHl6IHggMCB6IC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3IDAg
MTAwIC8gMC40KWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAt
MjAuNSAxMDAgLyA0MCUpIHh5eiB4IHkgMCAvIGFscGhhKWAsICAgICAgICAgICAgICAgIGBjb2xv
cih4eXogNyAtMjAuNSAwIC8gMC40KWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBj
b2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IHkgeiAvIDApYCwgICAgICAgICAgICAg
ICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyAwKWApOworCisgICAgLy8gVGVzdGluZyBy
ZXBsYWNlbWVudCB3aXRoIGEgY29uc3RhbnQuCisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9t
IGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IDAuMiB5IHogLyBhbHBoYSlgLCAgICAgICAgICAg
ICAgICAgICAgYGNvbG9yKHh5eiAwLjIgLTIwLjUgMTAwKWApOworICAgIHRlc3RDb21wdXRlZChg
Y29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IDAuMiB6IC8gYWxwaGEpYCwg
ICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAwLjIgMTAwKWApOworICAgIHRlc3RDb21w
dXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgMC4yIC8gYWxw
aGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAwLjIpYCk7CisgICAg
dGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggeSB6
IC8gMC4yKWAsICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3IC0yMC41IDEwMCAv
IDAuMilgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUg
MTAwKSB4eXogeCB5IHogLyAyMCUpYCwgICAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoeHl6
IDcgLTIwLjUgMTAwIC8gMC4yKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xv
cih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiAwLjIgeSB6IC8gYWxwaGEpYCwgICAgICAgICAg
ICAgIGBjb2xvcih4eXogMC4yIC0yMC41IDEwMCAvIDAuNClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQo
YGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCAwLjIgeiAvIGFs
cGhhKWAsICAgICAgICAgICAgICBgY29sb3IoeHl6IDcgMC4yIDEwMCAvIDAuNClgKTsKKyAgICB0
ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXog
eCB5IDAuMiAvIGFscGhhKWAsICAgICAgICAgICAgICBgY29sb3IoeHl6IDcgLTIwLjUgMC4yIC8g
MC40KWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAx
MDAgLyA0MCUpIHh5eiB4IHkgeiAvIDAuMilgLCAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXog
NyAtMjAuNSAxMDAgLyAwLjIpYCk7CisKKyAgICAvLyBUZXN0aW5nIHZhbGlkIHBlcm11dGF0aW9u
ICh0eXBlcyBtYXRjaCkuCisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3
IC0yMC41IDEwMCkgeHl6IHkgeiB4KWAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGNv
bG9yKHh5eiAtMjAuNSAxMDAgNylgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29s
b3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogeCB4IHggLyB4KWAsICAgICAgICAgICAgICAgICAgICAg
ICAgICBgY29sb3IoeHl6IDcgNyA3KWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBj
b2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB5IHogeClgLCAgICAgICAgICAgICAgICAg
ICAgICAgIGBjb2xvcih4eXogLTIwLjUgMTAwIDcpYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xv
cihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkgeHl6IHggeCB4IC8geClgLCAgICAg
ICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3IDcgNylgKTsKKworICAgIC8vIFRlc3RpbmcgaW52
YWxpZCBwZXJtdXRhdGlvbiAodHlwZXMgZG9uJ3QgbWF0Y2gpLgorICAgIHRlc3RDb21wdXRlZChg
Y29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB6IGFscGhhIHggLyB5KWAsICAg
ICAgICAgICAgICAgICAgICAgIGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVk
KGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IGFscGhhIGFscGhhIGFscGhh
IC8gYWxwaGEpYCwgICAgICAgICAgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0
ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeiBhbHBoYSB4
IC8geSlgLCAgICAgICAgICAgICAgICBgcmdiYSgwLCAwLCAwLCAwKWApOworICAgIHRlc3RDb21w
dXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiBhbHBoYSBh
bHBoYSBhbHBoYSAvIGFscGhhKWAsICAgIGByZ2JhKDAsIDAsIDAsIDApYCk7CisKKyAgICAvLyBU
ZXN0aW5nIHdpdGggY2FsYygpLgorICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4
eXogNyAtMjAuNSAxMDApIHh5eiBjYWxjKHgpIGNhbGMoeSkgY2FsYyh6KSlgLCAgICAgICAgICAg
ICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAxMDApYCk7CisgICAgdGVzdENvbXB1dGVk
KGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkgeHl6IGNhbGMoeCkgY2Fs
Yyh5KSBjYWxjKHopIC8gY2FsYyhhbHBoYSkpYCwgICAgYGNvbG9yKHh5eiA3IC0yMC41IDEwMCAv
IDAuNClgKTsKKworICAgIC8vIFRlc3RpbmcgaW52YWxpZCB2YWx1ZXMuCisgICAgdGVzdENvbXB1
dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IDEwZGVnIHkgeilgLCAg
ICAgICAgICAgICAgICAgICAgICAgICAgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29t
cHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogeCAxMGRlZyB6KWAs
ICAgICAgICAgICAgICAgICAgICAgICAgICBgcmdiYSgwLCAwLCAwLCAwKWApOworICAgIHRlc3RD
b21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgMTBkZWcp
YCwgICAgICAgICAgICAgICAgICAgICAgICAgIGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgdGVz
dENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggeSB6IC8g
MTBkZWcpYCwgICAgICAgICAgICAgICAgICAgICAgYHJnYmEoMCwgMCwgMCwgMClgKTsKKworICAg
IC8vIFRlc3RpbmcgaW52YWxpZCBjb21wb25lbnQgbmFtZXMKKyAgICB0ZXN0Q29tcHV0ZWQoYGNv
bG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogcmVkIHkpYCwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBgcmdiYSgwLCAwLCAwLCAwKWApOworICAgIHRlc3RDb21wdXRlZChg
Y29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiByIHkgeilgLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVk
KGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IGwgeSB6KWAsICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYHJnYmEoMCwgMCwgMCwgMClgKTsKKworCisgICAgZGVidWco
JycpOworICAgIGRlYnVnKCdTcGVjIEV4YW1wbGVzJyk7CisKICAgICAvLyBFeGFtcGxlIDExLgog
ICAgIHRlc3RDb21wdXRlZChgcmdiKGZyb20gdmFyKC0tYmctY29sb3IpIHIgZyBiIC8gODAlKWAs
IGByZ2JhKDAsIDAsIDI1NSwgMC44KWApOwotICAgIAorCiAgICAgLy8gRXhhbXBsZSAxMi4KICAg
ICB0ZXN0Q29tcHV0ZWQoYGxjaChmcm9tIHZhcigtLWNvbG9yKSBjYWxjKGwgLyAyKSBjIGgpYCwg
YGxjaCgyMy4xMzg5NzElIDY3Ljk4OTcxNiAxMzQuMzkxMjUpYCk7Ci0gICAgCisKICAgICAvLyBF
eGFtcGxlIDEzLgogICAgIHRlc3RDb21wdXRlZChgcmdiKGZyb20gdmFyKC0tY29sb3IpIGNhbGMo
ciAqIC4zICsgZyAqIC41OSArIGIgKiAuMTEpIGNhbGMociAqIC4zICsgZyAqIC41OSArIGIgKiAu
MTEpIGNhbGMociAqIC4zICsgZyAqIC41OSArIGIgKiAuMTEpKWAsIGByZ2IoNzYsIDc2LCA3Nilg
KQogICAgIHRlc3RDb21wdXRlZChgbGNoKGZyb20gdmFyKC0tY29sb3IpIGwgMCBoKWAsIGBsY2go
NDYuMjc3OTQzJSAwIDEzNC4zOTEyNSlgKQpAQCAtNDY1LDcgKzYwMyw3IEBACiAgICAgdGVzdENv
bXB1dGVkKGBsYWIoZnJvbSB2YXIoLS1teWNvbG9yKSBsIGEgYiAvIDEwMCUpYCwgYGxhYig2Mi43
NTE5MjMlIDUyLjQ1ODAyIC0zNC4xMTcyODMpYCk7CiAgICAgdGVzdENvbXB1dGVkKGBsYWIoZnJv
bSB2YXIoLS1teWNvbG9yKSBsIGEgYiAvIGNhbGMoYWxwaGEgKiAwLjgpKWAsIGBsYWIoNjIuNzUx
OTIzJSA1Mi40NTgwMiAtMzQuMTE3MjgzIC8gMC44KWApOwogICAgIHRlc3RDb21wdXRlZChgbGFi
KGZyb20gdmFyKC0tbXljb2xvcikgbCBhIGIgLyBjYWxjKGFscGhhIC0gMjAlKSlgLCBgbGFiKDYy
Ljc1MTkyMyUgNTIuNDU4MDIgLTM0LjExNzI4MyAvIDAuOClgKTsKLSAgICAKKwogICAgIC8vIEV4
YW1wbGUgMTcuCiAgICAgdGVzdENvbXB1dGVkKGBsYWIoZnJvbSB2YXIoLS1teWNvbG9yKSBsIDAg
MClgLCBgbGFiKDYyLjc1MTkyMyUgMCAwKWApOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430356</attachid>
            <date>2021-06-02 08:17:22 -0700</date>
            <delta_ts>2021-06-02 08:42:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226513-20210602081721.patch</filename>
            <type>text/plain</type>
            <size>81286</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA2LTAxICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgInJlbGF0
aXZlIGNvbG9yIHN5bnRheCIgZm9yIGNvbG9yKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjUxMworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIENTUyBDb2xvciA1IGhhcyByZWNlbnRseSBiZWVuIHVwZGF0ZSB0
byBzdXBwb3J0IHJlbGF0aXZlIGNvbG9yIHN5bnRheCBmb3IKKyAgICAgICAgdGhlIGNvbG9yKCkg
ZnVuY3Rpb24gaW4gYWRkaXRpb24gdG8gdGhlIGV4aXN0aW5nIHJnYigpLCBoc2woKSwgaHdiKCks
IGxhYigpCisgICAgICAgIGFuZCBsY2goKS4KKworICAgICAgICBUb29rIHRoZSBvcGVydHVuaXR5
IHRvIHJlZmFjdG9yIG90aGVyIHJlbGF0aXZlIGNvbG9yIHN5bnRheCBwYXJzaW5nIHRvIHNoYXJl
CisgICAgICAgIG1vcmUgY29kZSBiZXR3ZWVuIHJlbGF0aXZlIGFuZCBub24tcmVsYXRpdmUgcGFy
c2VycyB1c2luZyBhIHNoYXJlZCBmdW5jdGlvbgorICAgICAgICB3aXRoIGxhbWJkYXMgdG8gZGlm
ZmVyZW50aWF0ZSB0aGUgY29tcG9uZW50IGNvbnN1bWVycy4gVGhpcyB3YXMgZG9uZSBmb3IgYWxs
CisgICAgICAgIHRoZSBjb2xvciB0eXBlcyBleGNlcHQgcmdiKCkgYW5kIGhzbCgpLCB3aGljaCBo
YXZlIG5vdGFibGUgZGlmZmVyZW5jZXMgaW4gCisgICAgICAgIHBhcnNpbmcgYmV0d2VlbiB0aGUg
cmVsYXRpdmUgYW5kIG5vbi1yZWxhdGl2ZSB2ZXJzaW9uLgorCisgICAgICAgICogY3NzL3BhcnNl
ci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJv
cGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZU5vblJlbGF0aXZlUkdCUGFyYW1ldGVycyk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlUkdCUGFyYW1ldGVy
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbG9yQnlO
b3JtYWxpemluZ0hTTENvbXBvbmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQ
YXJzZXJIZWxwZXJzOjpwYXJzZVJlbGF0aXZlSFNMUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlTm9uUmVsYXRpdmVIU0xQYXJhbWV0
ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VI
U0xQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVy
czo6cGFyc2VIV0JQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFy
c2VySGVscGVyczo6cGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZU5vblJlbGF0aXZlSFdCUGFyYW1ldGVy
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlTGFi
UGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6
OnBhcnNlUmVsYXRpdmVMYWJQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3Bl
cnR5UGFyc2VySGVscGVyczo6cGFyc2VOb25SZWxhdGl2ZUxhYlBhcmFtZXRlcnMpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZUxDSFBhcmFtZXRlcnMp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZVJlbGF0
aXZlTENIUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhl
bHBlcnM6OnBhcnNlTm9uUmVsYXRpdmVMQ0hQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXMp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZVJlbGF0
aXZlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3Bl
cnR5UGFyc2VySGVscGVyczo6cGFyc2VDb2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1ldGVycyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlUmVsYXRpdmVD
b2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9w
ZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlUmVsYXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlTm9uUmVs
YXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9w
ZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlQ29sb3JGdW5jdGlvblBhcmFtZXRlcnMpOgorCiAyMDIx
LTA2LTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbY3NzLXNjcm9sbC1zbmFwXSBTY3JvbGwgc25hcCBpcyBicm9rZW4gd2l0aCBub24taG9yaXpv
bnRhbCB3cml0aW5nIG1vZGVzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1By
b3BlcnR5UGFyc2VySGVscGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCShyZXZpc2lvbiAyNzgzNTApCisr
KyBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE0OTksMTggKzE0OTksOCBAQCBzdGF0aWMgQ29sb3IgcGFyc2VS
ZWxhdGl2ZVJHQlBhcmFtZXRlcnMoCiAgICAgcmV0dXJuIFNSR0JBPHVpbnQ4X3Q+IHsgKnJlZCwg
KmdyZWVuLCAqYmx1ZSwgbm9ybWFsaXplZEFscGhhIH07CiB9CiAKLWVudW0gY2xhc3MgUkdCRnVu
Y3Rpb25Nb2RlIHsgUkdCLCBSR0JBIH07Ci0KLXRlbXBsYXRlPFJHQkZ1bmN0aW9uTW9kZSBNb2Rl
PiBzdGF0aWMgQ29sb3IgcGFyc2VSR0JQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIHJh
bmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQorc3RhdGljIENvbG9yIHBhcnNl
Tm9uUmVsYXRpdmVSR0JQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MpCiB7Ci0g
ICAgQVNTRVJUKHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCkgPT0gQ1NTVmFsdWVSZ2IgfHwgcmFu
Z2UucGVlaygpLmZ1bmN0aW9uSWQoKSA9PSBDU1NWYWx1ZVJnYmEpOwotICAgIGF1dG8gYXJncyA9
IGNvbnN1bWVGdW5jdGlvbihyYW5nZSk7Ci0KLSAgICBpZiBjb25zdGV4cHIgKE1vZGUgPT0gUkdC
RnVuY3Rpb25Nb2RlOjpSR0IpIHsKLSAgICAgICAgaWYgKGNvbnRleHQucmVsYXRpdmVDb2xvclN5
bnRheEVuYWJsZWQgJiYgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pCi0gICAgICAg
ICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZVJHQlBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7Ci0g
ICAgfQotCiAgICAgc3RydWN0IEluaXRpYWxDb21wb25lbnQgewogICAgICAgICBkb3VibGUgdmFs
dWU7CiAgICAgICAgIFJHQkNvbXBvbmVudFR5cGUgdHlwZTsKQEAgLTE1NjksNiArMTU1OSwzMiBA
QCB0ZW1wbGF0ZTxSR0JGdW5jdGlvbk1vZGUgTW9kZT4gc3RhdGljIENvCiAgICAgcmV0dXJuIFNS
R0JBPHVpbnQ4X3Q+IHsgbm9ybWFsaXplZFJlZCwgbm9ybWFsaXplZEdyZWVuLCBub3JtYWxpemVk
Qmx1ZSwgbm9ybWFsaXplZEFscGhhIH07CiB9CiAKK2VudW0gY2xhc3MgUkdCRnVuY3Rpb25Nb2Rl
IHsgUkdCLCBSR0JBIH07CisKK3RlbXBsYXRlPFJHQkZ1bmN0aW9uTW9kZSBNb2RlPiBzdGF0aWMg
Q29sb3IgcGFyc2VSR0JQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25z
dCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIEFTU0VSVChyYW5nZS5wZWVrKCku
ZnVuY3Rpb25JZCgpID09IChNb2RlID09IFJHQkZ1bmN0aW9uTW9kZTo6UkdCID8gQ1NTVmFsdWVS
Z2IgOiBDU1NWYWx1ZVJnYmEpKTsKKyAgICBhdXRvIGFyZ3MgPSBjb25zdW1lRnVuY3Rpb24ocmFu
Z2UpOworCisgICAgaWYgY29uc3RleHByIChNb2RlID09IFJHQkZ1bmN0aW9uTW9kZTo6UkdCKSB7
CisgICAgICAgIGlmIChjb250ZXh0LnJlbGF0aXZlQ29sb3JTeW50YXhFbmFibGVkICYmIGFyZ3Mu
cGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVGcm9tKQorICAgICAgICAgICAgcmV0dXJuIHBhcnNlUmVs
YXRpdmVSR0JQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOworICAgIH0KKyAgICByZXR1cm4gcGFy
c2VOb25SZWxhdGl2ZVJHQlBhcmFtZXRlcnMoYXJncyk7Cit9CisKK3N0YXRpYyBDb2xvciBjb2xv
ckJ5Tm9ybWFsaXppbmdIU0xDb21wb25lbnRzKGRvdWJsZSBodWUsIGRvdWJsZSBzYXR1cmF0aW9u
LCBkb3VibGUgbGlnaHRuZXNzLCBkb3VibGUgYWxwaGEpCit7CisgICAgYXV0byBub3JtYWxpemVk
SHVlID0gbm9ybWFsaXplSHVlKGh1ZSk7CisgICAgYXV0byBub3JtYWxpemVkU2F0dXJhdGlvbiA9
IHN0ZDo6Y2xhbXAoc2F0dXJhdGlvbiwgMC4wLCAxMDAuMCk7CisgICAgYXV0byBub3JtYWxpemVk
TGlnaHRuZXNzID0gc3RkOjpjbGFtcChsaWdodG5lc3MsIDAuMCwgMTAwLjApOworICAgIGF1dG8g
bm9ybWFsaXplZEFscGhhID0gc3RkOjpjbGFtcChhbHBoYSwgMC4wLCAxLjApOworCisgICAgLy8g
Tk9URTogVGhlIGV4cGxpY2l0IGNvbnZlcnNpb24gdG8gU1JHQkE8dWludDhfdD4gaXMgaW50ZW50
aW9uYWwgZm9yIHBlcmZvcm1hbmNlIChubyBleHRyYSBhbGxvY2F0aW9uIGZvcgorICAgIC8vIHRo
ZSBleHRlbmRlZCBjb2xvcikgYW5kIGNvbXBhdGFiaWxpdHksIGZvcmNpbmcgc2VyaWFsaWF6YXRp
b24gdG8gdXNlIHRoZSByZ2IoKS9yZ2JhKCkgZm9ybS4KKyAgICByZXR1cm4gY29udmVydENvbG9y
PFNSR0JBPHVpbnQ4X3Q+PihIU0xBPGZsb2F0PiB7IHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxp
emVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRTYXR1cmF0aW9uKSwgc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9y
bWFsaXplZEFscGhhKSB9KTsKK30KKwogc3RhdGljIENvbG9yIHBhcnNlUmVsYXRpdmVIU0xQYXJh
bWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1BhcnNlckNvbnRleHQm
IGNvbnRleHQpCiB7CiAgICAgQVNTRVJUKGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVGcm9t
KTsKQEAgLTE2MDYsMjYgKzE2MjIsMTEgQEAgc3RhdGljIENvbG9yIHBhcnNlUmVsYXRpdmVIU0xQ
YXJhbWV0ZXJzKAogICAgIGlmICghYXJncy5hdEVuZCgpKQogICAgICAgICByZXR1cm4geyB9Owog
Ci0gICAgYXV0byBub3JtYWxpemVkSHVlID0gbm9ybWFsaXplSHVlKCpodWUpOwotICAgIGF1dG8g
bm9ybWFsaXplZFNhdHVyYXRpb24gPSBzdGQ6OmNsYW1wKCpzYXR1cmF0aW9uLCAwLjAsIDEwMC4w
KTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRMaWdodG5lc3MgPSBzdGQ6OmNsYW1wKCpsaWdodG5lc3Ms
IDAuMCwgMTAwLjApOwotICAgIGF1dG8gbm9ybWFsaXplZEFscGhhID0gc3RkOjpjbGFtcCgqYWxw
aGEsIDAuMCwgMS4wKTsKLQotICAgIHJldHVybiBjb252ZXJ0Q29sb3I8U1JHQkE8dWludDhfdD4+
KEhTTEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRIdWUpLCBzdGF0aWNf
Y2FzdDxmbG9hdD4obm9ybWFsaXplZFNhdHVyYXRpb24pLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9y
bWFsaXplZExpZ2h0bmVzcyksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkQWxwaGEpIH0p
OworICAgIHJldHVybiBjb2xvckJ5Tm9ybWFsaXppbmdIU0xDb21wb25lbnRzKCpodWUsICpzYXR1
cmF0aW9uLCAqbGlnaHRuZXNzLCAqYWxwaGEpOwogfQogCi1lbnVtIGNsYXNzIEhTTEZ1bmN0aW9u
TW9kZSB7IEhTTCwgSFNMQSB9OwotCi10ZW1wbGF0ZTxIU0xGdW5jdGlvbk1vZGUgTW9kZT4gc3Rh
dGljIENvbG9yIHBhcnNlSFNMUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwg
Y29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3N0YXRpYyBDb2xvciBwYXJzZU5vblJl
bGF0aXZlSFNMUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBjb25zdCBDU1NQ
YXJzZXJDb250ZXh0JiBjb250ZXh0KQogewotICAgIEFTU0VSVChyYW5nZS5wZWVrKCkuZnVuY3Rp
b25JZCgpID09IENTU1ZhbHVlSHNsIHx8IHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCkgPT0gQ1NT
VmFsdWVIc2xhKTsKLSAgICBhdXRvIGFyZ3MgPSBjb25zdW1lRnVuY3Rpb24ocmFuZ2UpOwotCi0g
ICAgaWYgY29uc3RleHByIChNb2RlID09IEhTTEZ1bmN0aW9uTW9kZTo6SFNMKSB7Ci0gICAgICAg
IGlmIChjb250ZXh0LnJlbGF0aXZlQ29sb3JTeW50YXhFbmFibGVkICYmIGFyZ3MucGVlaygpLmlk
KCkgPT0gQ1NTVmFsdWVGcm9tKQotICAgICAgICAgICAgcmV0dXJuIHBhcnNlUmVsYXRpdmVIU0xQ
YXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOwotICAgIH0KLQogICAgIGF1dG8gaHVlID0gY29uc3Vt
ZUFuZ2xlUmF3T3JOdW1iZXJSYXcoYXJncywgY29udGV4dC5tb2RlKTsKICAgICBpZiAoIWh1ZSkK
ICAgICAgICAgcmV0dXJuIHsgfTsKQEAgLTE2NTAsMTIgKzE2NTEsMjIgQEAgdGVtcGxhdGU8SFNM
RnVuY3Rpb25Nb2RlIE1vZGU+IHN0YXRpYyBDbwogICAgIGlmICghYXJncy5hdEVuZCgpKQogICAg
ICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byBub3JtYWxpemVkSHVlID0gbm9ybWFsaXplSHVl
KCpodWUpOwotICAgIGF1dG8gbm9ybWFsaXplZFNhdHVyYXRpb24gPSBzdGQ6OmNsYW1wKCpzYXR1
cmF0aW9uLCAwLjAsIDEwMC4wKTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRMaWdodG5lc3MgPSBzdGQ6
OmNsYW1wKCpsaWdodG5lc3MsIDAuMCwgMTAwLjApOwotICAgIGF1dG8gbm9ybWFsaXplZEFscGhh
ID0gc3RkOjpjbGFtcCgqYWxwaGEsIDAuMCwgMS4wKTsKKyAgICByZXR1cm4gY29sb3JCeU5vcm1h
bGl6aW5nSFNMQ29tcG9uZW50cygqaHVlLCAqc2F0dXJhdGlvbiwgKmxpZ2h0bmVzcywgKmFscGhh
KTsKK30KIAotICAgIHJldHVybiBjb252ZXJ0Q29sb3I8U1JHQkE8dWludDhfdD4+KEhTTEE8Zmxv
YXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRIdWUpLCBzdGF0aWNfY2FzdDxmbG9h
dD4obm9ybWFsaXplZFNhdHVyYXRpb24pLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZExp
Z2h0bmVzcyksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkQWxwaGEpIH0pOworZW51bSBj
bGFzcyBIU0xGdW5jdGlvbk1vZGUgeyBIU0wsIEhTTEEgfTsKKwordGVtcGxhdGU8SFNMRnVuY3Rp
b25Nb2RlIE1vZGU+IHN0YXRpYyBDb2xvciBwYXJzZUhTTFBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9r
ZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAg
QVNTRVJUKHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCkgPT0gKE1vZGUgPT0gUkdCRnVuY3Rpb25N
b2RlOjpIU0wgPyBDU1NWYWx1ZUhzbCA6IENTU1ZhbHVlSHNsYSkpOworICAgIGF1dG8gYXJncyA9
IGNvbnN1bWVGdW5jdGlvbihyYW5nZSk7CisKKyAgICBpZiBjb25zdGV4cHIgKE1vZGUgPT0gSFNM
RnVuY3Rpb25Nb2RlOjpIU0wpIHsKKyAgICAgICAgaWYgKGNvbnRleHQucmVsYXRpdmVDb2xvclN5
bnRheEVuYWJsZWQgJiYgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pCisgICAgICAg
ICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUhTTFBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7Cisg
ICAgfQorCisgICAgcmV0dXJuIHBhcnNlTm9uUmVsYXRpdmVIU0xQYXJhbWV0ZXJzKGFyZ3MsIGNv
bnRleHQpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb21wb25lbnRUeXBlPiBzdHJ1Y3QgV2hp
dGVuZXNzQmxhY2tuZXNzIHsKQEAgLTE2ODMsNiArMTY5NCwzNiBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZSBDb21wb25lbnRUeXBlPiBzdGF0aWMgCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAordGVtcGxh
dGU8dHlwZW5hbWUgQ29uc3VtZXJGb3JIdWUsIHR5cGVuYW1lIENvbnN1bWVyRm9yV2hpdGVuZXNz
QW5kQmxhY2tuZXNzLCB0eXBlbmFtZSBDb25zdW1lckZvckFscGhhPgorc3RhdGljIENvbG9yIHBh
cnNlSFdCUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBDb25zdW1lckZvckh1
ZSYmIGh1ZUNvbnN1bWVyLCBDb25zdW1lckZvcldoaXRlbmVzc0FuZEJsYWNrbmVzcyYmIHdoaXRl
bmVzc0FuZEJsYWNrbmVzc0NvbnN1bWVyLCBDb25zdW1lckZvckFscGhhJiYgYWxwaGFDb25zdW1l
cikKK3sKKyAgICBhdXRvIGh1ZSA9IGh1ZUNvbnN1bWVyKGFyZ3MpOworICAgIGlmICghaHVlKQor
ICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byB3aGl0ZW5lc3MgPSB3aGl0ZW5lc3NBbmRC
bGFja25lc3NDb25zdW1lcihhcmdzKTsKKyAgICBpZiAoIXdoaXRlbmVzcykKKyAgICAgICAgcmV0
dXJuIHsgfTsKKworICAgIGF1dG8gYmxhY2tuZXNzID0gd2hpdGVuZXNzQW5kQmxhY2tuZXNzQ29u
c3VtZXIoYXJncyk7CisgICAgaWYgKCFibGFja25lc3MpCisgICAgICAgIHJldHVybiB7IH07CisK
KyAgICBhdXRvIGFscGhhID0gYWxwaGFDb25zdW1lcihhcmdzKTsKKyAgICBpZiAoIWFscGhhKQor
ICAgICAgICByZXR1cm4geyB9OworCisgICAgaWYgKCFhcmdzLmF0RW5kKCkpCisgICAgICAgIHJl
dHVybiB7IH07CisKKyAgICBhdXRvIG5vcm1hbGl6ZWRIdWUgPSBub3JtYWxpemVIdWUoKmh1ZSk7
CisgICAgYXV0byBbbm9ybWFsaXplZFdoaXRuZXNzLCBub3JtYWxpemVkQmxhY2tuZXNzXSA9IG5v
cm1hbGl6ZVdoaXRlbmVzc0JsYWNrbmVzcygqd2hpdGVuZXNzLCAqYmxhY2tuZXNzKTsKKworICAg
IC8vIE5PVEU6IFRoZSBleHBsaWNpdCBjb252ZXJzaW9uIHRvIFNSR0JBPHVpbnQ4X3Q+IGlzIGlu
dGVudGlvbmFsIGZvciBwZXJmb3JtYW5jZSAobm8gZXh0cmEgYWxsb2NhdGlvbiBmb3IKKyAgICAv
LyB0aGUgZXh0ZW5kZWQgY29sb3IpIGFuZCBjb21wYXRhYmlsaXR5LCBmb3JjaW5nIHNlcmlhbGlh
emF0aW9uIHRvIHVzZSB0aGUgcmdiKCkvcmdiYSgpIGZvcm0uCisgICAgcmV0dXJuIGNvbnZlcnRD
b2xvcjxTUkdCQTx1aW50OF90Pj4oSFdCQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4obm9y
bWFsaXplZEh1ZSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkV2hpdG5lc3MpLCBzdGF0
aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZEJsYWNrbmVzcyksIHN0YXRpY19jYXN0PGZsb2F0Pigq
YWxwaGEpIH0pOworfQorCiBzdGF0aWMgQ29sb3IgcGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4
dCkKIHsKICAgICBBU1NFUlQoYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pOwpAQCAt
MTcwMSwyOSArMTc0MiwyMCBAQCBzdGF0aWMgQ29sb3IgcGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRl
cnMoCiAgICAgICAgIHsgQ1NTVmFsdWVBbHBoYSwgQ1NTVW5pdFR5cGU6OkNTU19QRVJDRU5UQUdF
LCBvcmlnaW5Db2xvckFzSFdCLmFscGhhICogMTAwLjAgfQogICAgIH07CiAKLSAgICBhdXRvIGh1
ZSA9IGNvbnN1bWVBbmdsZVJhd09yTnVtYmVyUmF3QWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFy
Z3MsIHN5bWJvbFRhYmxlLCBjb250ZXh0Lm1vZGUpOwotICAgIGlmICghaHVlKQotICAgICAgICBy
ZXR1cm4geyB9OwotCi0gICAgYXV0byB3aGl0ZW5lc3MgPSBjb25zdW1lUGVyY2VudEFsbG93aW5n
U3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xUYWJsZSk7Ci0gICAgaWYgKCF3aGl0ZW5lc3Mp
Ci0gICAgICAgIHJldHVybiB7IH07CisgICAgYXV0byBodWVDb25zdW1lciA9IFsmc3ltYm9sVGFi
bGUsICZjb250ZXh0XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lQW5nbGVSYXdPck51bWJl
clJhd0FsbG93aW5nU3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xUYWJsZSwgY29udGV4dC5t
b2RlKTsgfTsKKyAgICBhdXRvIHdoaXRlbmVzc0FuZEJsYWNrbmVzc0NvbnN1bWVyID0gWyZzeW1i
b2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZVBlcmNlbnRBbGxvd2luZ1N5bWJv
bFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OworICAgIGF1dG8gYWxwaGFDb25zdW1l
ciA9IFsmc3ltYm9sVGFibGVdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFs
cGhhQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsgfTsKIAotICAg
IGF1dG8gYmxhY2tuZXNzID0gY29uc3VtZVBlcmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQo
YXJncywgc3ltYm9sVGFibGUpOwotICAgIGlmICghYmxhY2tuZXNzKQotICAgICAgICByZXR1cm4g
eyB9OwotCi0gICAgYXV0byBhbHBoYSA9IGNvbnN1bWVPcHRpb25hbEFscGhhQWxsb3dpbmdTeW1i
b2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsKLSAgICBpZiAoIWFscGhhKQotICAgICAg
ICByZXR1cm4geyB9OwotCi0gICAgaWYgKCFhcmdzLmF0RW5kKCkpCi0gICAgICAgIHJldHVybiB7
IH07CisgICAgcmV0dXJuIHBhcnNlSFdCUGFyYW1ldGVycyhhcmdzLCBXVEZNb3ZlKGh1ZUNvbnN1
bWVyKSwgV1RGTW92ZSh3aGl0ZW5lc3NBbmRCbGFja25lc3NDb25zdW1lciksIFdURk1vdmUoYWxw
aGFDb25zdW1lcikpOworfQogCi0gICAgYXV0byBub3JtYWxpemVkSHVlID0gbm9ybWFsaXplSHVl
KCpodWUpOwotICAgIGF1dG8gW25vcm1hbGl6ZWRXaGl0bmVzcywgbm9ybWFsaXplZEJsYWNrbmVz
c10gPSBub3JtYWxpemVXaGl0ZW5lc3NCbGFja25lc3MoKndoaXRlbmVzcywgKmJsYWNrbmVzcyk7
CitzdGF0aWMgQ29sb3IgcGFyc2VOb25SZWxhdGl2ZUhXQlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9r
ZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBh
dXRvIGh1ZUNvbnN1bWVyID0gWyZjb250ZXh0XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1l
QW5nbGVSYXdPck51bWJlclJhdyhhcmdzLCBjb250ZXh0Lm1vZGUpOyB9OworICAgIGF1dG8gd2hp
dGVuZXNzQW5kQmxhY2tuZXNzQ29uc3VtZXIgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25z
dW1lUGVyY2VudFJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGFscGhhQ29uc3VtZXIgPSBbXShhdXRv
JiBhcmdzKSB7IHJldHVybiBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsgfTsKIAotICAgIHJl
dHVybiBjb252ZXJ0Q29sb3I8U1JHQkE8dWludDhfdD4+KEhXQkE8ZmxvYXQ+IHsgc3RhdGljX2Nh
c3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRIdWUpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZFdo
aXRuZXNzKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRCbGFja25lc3MpLCBzdGF0aWNf
Y2FzdDxmbG9hdD4oKmFscGhhKSB9KTsKKyAgICByZXR1cm4gcGFyc2VIV0JQYXJhbWV0ZXJzKGFy
Z3MsIFdURk1vdmUoaHVlQ29uc3VtZXIpLCBXVEZNb3ZlKHdoaXRlbmVzc0FuZEJsYWNrbmVzc0Nv
bnN1bWVyKSwgV1RGTW92ZShhbHBoYUNvbnN1bWVyKSk7CiB9CiAKIHN0YXRpYyBDb2xvciBwYXJz
ZUhXQlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNl
ckNvbnRleHQmIGNvbnRleHQpCkBAIC0xNzM3LDMwICsxNzY5LDM0IEBAIHN0YXRpYyBDb2xvciBw
YXJzZUhXQlBhcmFtZXRlcnMoQ1NTUGFyc2UKIAogICAgIGlmIChjb250ZXh0LnJlbGF0aXZlQ29s
b3JTeW50YXhFbmFibGVkICYmIGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVGcm9tKQogICAg
ICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7Cisg
ICAgcmV0dXJuIHBhcnNlTm9uUmVsYXRpdmVIV0JQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOwor
fQogCi0gICAgYXV0byBodWUgPSBjb25zdW1lQW5nbGVSYXdPck51bWJlclJhdyhhcmdzLCBjb250
ZXh0Lm1vZGUpOwotICAgIGlmICghaHVlKQordGVtcGxhdGU8dHlwZW5hbWUgQ29uc3VtZXJGb3JM
aWdodG5lc3MsIHR5cGVuYW1lIENvbnN1bWVyRm9yQUIsIHR5cGVuYW1lIENvbnN1bWVyRm9yQWxw
aGE+CitzdGF0aWMgQ29sb3IgcGFyc2VMYWJQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2Um
IGFyZ3MsIENvbnN1bWVyRm9yTGlnaHRuZXNzJiYgbGlnaHRuZXNzQ29uc3VtZXIsIENvbnN1bWVy
Rm9yQUImJiBhYkNvbnN1bWVyLCBDb25zdW1lckZvckFscGhhJiYgYWxwaGFDb25zdW1lcikKK3sK
KyAgICBhdXRvIGxpZ2h0bmVzcyA9IGxpZ2h0bmVzc0NvbnN1bWVyKGFyZ3MpOworICAgIGlmICgh
bGlnaHRuZXNzKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byB3aGl0ZW5lc3MgPSBj
b25zdW1lUGVyY2VudFJhdyhhcmdzKTsKLSAgICBpZiAoIXdoaXRlbmVzcykKKyAgICBhdXRvIGFW
YWx1ZSA9IGFiQ29uc3VtZXIoYXJncyk7CisgICAgaWYgKCFhVmFsdWUpCiAgICAgICAgIHJldHVy
biB7IH07CiAKLSAgICBhdXRvIGJsYWNrbmVzcyA9IGNvbnN1bWVQZXJjZW50UmF3KGFyZ3MpOwot
ICAgIGlmICghYmxhY2tuZXNzKQorICAgIGF1dG8gYlZhbHVlID0gYWJDb25zdW1lcihhcmdzKTsK
KyAgICBpZiAoIWJWYWx1ZSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gYWxwaGEg
PSBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsKKyAgICBhdXRvIGFscGhhID0gYWxwaGFDb25z
dW1lcihhcmdzKTsKICAgICBpZiAoIWFscGhhKQogICAgICAgICByZXR1cm4geyB9OwogCiAgICAg
aWYgKCFhcmdzLmF0RW5kKCkpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIG5vcm1h
bGl6ZWRIdWUgPSBub3JtYWxpemVIdWUoKmh1ZSk7Ci0gICAgYXV0byBbbm9ybWFsaXplZFdoaXRu
ZXNzLCBub3JtYWxpemVkQmxhY2tuZXNzXSA9IG5vcm1hbGl6ZVdoaXRlbmVzc0JsYWNrbmVzcygq
d2hpdGVuZXNzLCAqYmxhY2tuZXNzKTsKKyAgICBhdXRvIG5vcm1hbGl6ZWRMaWdodG5lc3MgPSBz
dGQ6Om1heCgwLjAsICpsaWdodG5lc3MpOwogCi0gICAgcmV0dXJuIGNvbnZlcnRDb2xvcjxTUkdC
QTx1aW50OF90Pj4oSFdCQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZEh1
ZSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkV2hpdG5lc3MpLCBzdGF0aWNfY2FzdDxm
bG9hdD4obm9ybWFsaXplZEJsYWNrbmVzcyksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxwaGEpIH0p
OworICAgIHJldHVybiBMYWI8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRM
aWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFWYWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0
PigqYlZhbHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphbHBoYSkgfTsKIH0KIAogc3RhdGljIENv
bG9yIHBhcnNlUmVsYXRpdmVMYWJQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3Ms
IGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCkBAIC0xNzgxLDI4ICsxODE3LDIwIEBA
IHN0YXRpYyBDb2xvciBwYXJzZVJlbGF0aXZlTGFiUGFyYW1ldGVycygKICAgICAgICAgeyBDU1NW
YWx1ZUFscGhhLCBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNMYWIu
YWxwaGEgKiAxMDAuMCB9CiAgICAgfTsKIAotICAgIGF1dG8gbGlnaHRuZXNzID0gY29uc3VtZVBl
cmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlm
ICghbGlnaHRuZXNzKQotICAgICAgICByZXR1cm4geyB9OwotCi0gICAgYXV0byBhVmFsdWUgPSBj
b25zdW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsK
LSAgICBpZiAoIWFWYWx1ZSkKLSAgICAgICAgcmV0dXJuIHsgfTsKKyAgICBhdXRvIGxpZ2h0bmVz
c0NvbnN1bWVyID0gWyZzeW1ib2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZVBl
cmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OworICAg
IGF1dG8gYWJDb25zdW1lciA9IFsmc3ltYm9sVGFibGVdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNv
bnN1bWVOdW1iZXJBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9
OworICAgIGF1dG8gYWxwaGFDb25zdW1lciA9IFsmc3ltYm9sVGFibGVdKGF1dG8mIGFyZ3MpIHsg
cmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3Ms
IHN5bWJvbFRhYmxlKTsgfTsKIAotICAgIGF1dG8gYlZhbHVlID0gY29uc3VtZU51bWJlckFsbG93
aW5nU3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xUYWJsZSk7Ci0gICAgaWYgKCFiVmFsdWUp
Ci0gICAgICAgIHJldHVybiB7IH07Ci0KLSAgICBhdXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFs
QWxwaGFBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlm
ICghYWxwaGEpCi0gICAgICAgIHJldHVybiB7IH07Ci0KLSAgICBpZiAoIWFyZ3MuYXRFbmQoKSkK
LSAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gcGFyc2VMYWJQYXJhbWV0ZXJzKGFyZ3Ms
IFdURk1vdmUobGlnaHRuZXNzQ29uc3VtZXIpLCBXVEZNb3ZlKGFiQ29uc3VtZXIpLCBXVEZNb3Zl
KGFscGhhQ29uc3VtZXIpKTsKK30KIAotICAgIGF1dG8gbm9ybWFsaXplZExpZ2h0bmVzcyA9IHN0
ZDo6bWF4KDAuMCwgKmxpZ2h0bmVzcyk7CitzdGF0aWMgQ29sb3IgcGFyc2VOb25SZWxhdGl2ZUxh
YlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncykKK3sKKyAgICBhdXRvIGxpZ2h0
bmVzc0NvbnN1bWVyID0gW10oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZVBlcmNlbnRSYXco
YXJncyk7IH07CisgICAgYXV0byBhYkNvbnN1bWVyID0gW10oYXV0byYgYXJncykgeyByZXR1cm4g
Y29uc3VtZU51bWJlclJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGFscGhhQ29uc3VtZXIgPSBbXShh
dXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsgfTsKIAotICAg
IHJldHVybiBMYWI8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5l
c3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFWYWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0PigqYlZh
bHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphbHBoYSkgfTsKKyAgICByZXR1cm4gcGFyc2VMYWJQ
YXJhbWV0ZXJzKGFyZ3MsIFdURk1vdmUobGlnaHRuZXNzQ29uc3VtZXIpLCBXVEZNb3ZlKGFiQ29u
c3VtZXIpLCBXVEZNb3ZlKGFscGhhQ29uc3VtZXIpKTsKIH0KIAogc3RhdGljIENvbG9yIHBhcnNl
TGFiUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2Vy
Q29udGV4dCYgY29udGV4dCkKQEAgLTE4MTYsMjAgKzE4NDQsMjUgQEAgc3RhdGljIENvbG9yIHBh
cnNlTGFiUGFyYW1ldGVycyhDU1NQYXJzZQogCiAgICAgaWYgKGNvbnRleHQucmVsYXRpdmVDb2xv
clN5bnRheEVuYWJsZWQgJiYgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pCiAgICAg
ICAgIHJldHVybiBwYXJzZVJlbGF0aXZlTGFiUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsKKyAg
ICByZXR1cm4gcGFyc2VOb25SZWxhdGl2ZUxhYlBhcmFtZXRlcnMoYXJncyk7Cit9CiAKLSAgICBh
dXRvIGxpZ2h0bmVzcyA9IGNvbnN1bWVQZXJjZW50UmF3KGFyZ3MpOwordGVtcGxhdGU8dHlwZW5h
bWUgQ29uc3VtZXJGb3JMaWdodG5lc3MsIHR5cGVuYW1lIENvbnN1bWVyRm9yQ2hyb21hLCB0eXBl
bmFtZSBDb25zdW1lckZvckh1ZSwgdHlwZW5hbWUgQ29uc3VtZXJGb3JBbHBoYT4KK3N0YXRpYyBD
b2xvciBwYXJzZUxDSFBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgQ29uc3Vt
ZXJGb3JMaWdodG5lc3MmJiBsaWdodG5lc3NDb25zdW1lciwgQ29uc3VtZXJGb3JDaHJvbWEmJiBj
aHJvbWFDb25zdW1lciwgQ29uc3VtZXJGb3JIdWUmJiBodWVDb25zdW1lciwgQ29uc3VtZXJGb3JB
bHBoYSYmIGFscGhhQ29uc3VtZXIpCit7CisgICAgYXV0byBsaWdodG5lc3MgPSBsaWdodG5lc3ND
b25zdW1lcihhcmdzKTsKICAgICBpZiAoIWxpZ2h0bmVzcykKICAgICAgICAgcmV0dXJuIHsgfTsK
IAotICAgIGF1dG8gYVZhbHVlID0gY29uc3VtZU51bWJlclJhdyhhcmdzKTsKLSAgICBpZiAoIWFW
YWx1ZSkKKyAgICBhdXRvIGNocm9tYSA9IGNocm9tYUNvbnN1bWVyKGFyZ3MpOworICAgIGlmICgh
Y2hyb21hKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byBiVmFsdWUgPSBjb25zdW1l
TnVtYmVyUmF3KGFyZ3MpOwotICAgIGlmICghYlZhbHVlKQorICAgIGF1dG8gaHVlID0gaHVlQ29u
c3VtZXIoYXJncyk7CisgICAgaWYgKCFodWUpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBh
dXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFsQWxwaGEoYXJncyk7CisgICAgYXV0byBhbHBoYSA9
IGFscGhhQ29uc3VtZXIoYXJncyk7CiAgICAgaWYgKCFhbHBoYSkKICAgICAgICAgcmV0dXJuIHsg
fTsKIApAQCAtMTgzNyw4ICsxODcwLDEwIEBAIHN0YXRpYyBDb2xvciBwYXJzZUxhYlBhcmFtZXRl
cnMoQ1NTUGFyc2UKICAgICAgICAgcmV0dXJuIHsgfTsKIAogICAgIGF1dG8gbm9ybWFsaXplZExp
Z2h0bmVzcyA9IHN0ZDo6bWF4KDAuMCwgKmxpZ2h0bmVzcyk7CisgICAgYXV0byBub3JtYWxpemVk
Q2hyb21hID0gc3RkOjptYXgoMC4wLCAqY2hyb21hKTsKKyAgICBhdXRvIG5vcm1hbGl6ZWRIdWUg
PSBub3JtYWxpemVIdWUoKmh1ZSk7CiAKLSAgICByZXR1cm4gTGFiPGZsb2F0PiB7IHN0YXRpY19j
YXN0PGZsb2F0Pihub3JtYWxpemVkTGlnaHRuZXNzKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphVmFs
dWUpLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmJWYWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxw
aGEpIH07CisgICAgcmV0dXJuIExDSEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1h
bGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZENocm9tYSksIHN0
YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphbHBo
YSkgfTsKIH0KIAogc3RhdGljIENvbG9yIHBhcnNlUmVsYXRpdmVMQ0hQYXJhbWV0ZXJzKENTU1Bh
cnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCkBA
IC0xODU5LDMwICsxODk0LDIyIEBAIHN0YXRpYyBDb2xvciBwYXJzZVJlbGF0aXZlTENIUGFyYW1l
dGVycygKICAgICAgICAgeyBDU1NWYWx1ZUFscGhhLCBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRB
R0UsIG9yaWdpbkNvbG9yQXNMQ0guYWxwaGEgKiAxMDAuMCB9CiAgICAgfTsKIAotICAgIGF1dG8g
bGlnaHRuZXNzID0gY29uc3VtZVBlcmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywg
c3ltYm9sVGFibGUpOwotICAgIGlmICghbGlnaHRuZXNzKQotICAgICAgICByZXR1cm4geyB9Owot
Ci0gICAgYXV0byBjaHJvbWEgPSBjb25zdW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50
KGFyZ3MsIHN5bWJvbFRhYmxlKTsKLSAgICBpZiAoIWNocm9tYSkKLSAgICAgICAgcmV0dXJuIHsg
fTsKKyAgICBhdXRvIGxpZ2h0bmVzc0NvbnN1bWVyID0gWyZzeW1ib2xUYWJsZV0oYXV0byYgYXJn
cykgeyByZXR1cm4gY29uc3VtZVBlcmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywg
c3ltYm9sVGFibGUpOyB9OworICAgIGF1dG8gY2hyb21hQ29uc3VtZXIgPSBbJnN5bWJvbFRhYmxl
XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlk
ZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsgfTsKKyAgICBhdXRvIGh1ZUNvbnN1bWVyID0gWyZzeW1i
b2xUYWJsZSwgJmNvbnRleHRdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVBbmdsZVJhd09y
TnVtYmVyUmF3QWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlLCBjb250
ZXh0Lm1vZGUpOyB9OworICAgIGF1dG8gYWxwaGFDb25zdW1lciA9IFsmc3ltYm9sVGFibGVdKGF1
dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhQWxsb3dpbmdTeW1ib2xUYWJs
ZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsgfTsKIAotICAgIGF1dG8gaHVlID0gY29uc3VtZUFu
Z2xlUmF3T3JOdW1iZXJSYXdBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFi
bGUsIGNvbnRleHQubW9kZSk7Ci0gICAgaWYgKCFodWUpCi0gICAgICAgIHJldHVybiB7IH07Ci0K
LSAgICBhdXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFsQWxwaGFBbGxvd2luZ1N5bWJvbFRhYmxl
SWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlmICghYWxwaGEpCi0gICAgICAgIHJldHVy
biB7IH07Ci0KLSAgICBpZiAoIWFyZ3MuYXRFbmQoKSkKLSAgICAgICAgcmV0dXJuIHsgfTsKKyAg
ICByZXR1cm4gcGFyc2VMQ0hQYXJhbWV0ZXJzKGFyZ3MsIFdURk1vdmUobGlnaHRuZXNzQ29uc3Vt
ZXIpLCBXVEZNb3ZlKGNocm9tYUNvbnN1bWVyKSwgV1RGTW92ZShodWVDb25zdW1lciksIFdURk1v
dmUoYWxwaGFDb25zdW1lcikpOworfQogCi0gICAgYXV0byBub3JtYWxpemVkTGlnaHRuZXNzID0g
c3RkOjptYXgoMC4wLCAqbGlnaHRuZXNzKTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRDaHJvbWEgPSBz
dGQ6Om1heCgwLjAsICpjaHJvbWEpOwotICAgIGF1dG8gbm9ybWFsaXplZEh1ZSA9IG5vcm1hbGl6
ZUh1ZSgqaHVlKTsKK3N0YXRpYyBDb2xvciBwYXJzZU5vblJlbGF0aXZlTENIUGFyYW1ldGVycyhD
U1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0
KQoreworICAgIGF1dG8gbGlnaHRuZXNzQ29uc3VtZXIgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVy
biBjb25zdW1lUGVyY2VudFJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGNocm9tYUNvbnN1bWVyID0g
W10oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU51bWJlclJhdyhhcmdzKTsgfTsKKyAgICBh
dXRvIGh1ZUNvbnN1bWVyID0gWyZjb250ZXh0XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1l
QW5nbGVSYXdPck51bWJlclJhdyhhcmdzLCBjb250ZXh0Lm1vZGUpOyB9OworICAgIGF1dG8gYWxw
aGFDb25zdW1lciA9IFtdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhh
KGFyZ3MpOyB9OwogCi0gICAgcmV0dXJuIExDSEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+
KG5vcm1hbGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZENocm9t
YSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+
KCphbHBoYSkgfTsKKyAgICByZXR1cm4gcGFyc2VMQ0hQYXJhbWV0ZXJzKGFyZ3MsIFdURk1vdmUo
bGlnaHRuZXNzQ29uc3VtZXIpLCBXVEZNb3ZlKGNocm9tYUNvbnN1bWVyKSwgV1RGTW92ZShodWVD
b25zdW1lciksIFdURk1vdmUoYWxwaGFDb25zdW1lcikpOwogfQogCiBzdGF0aWMgQ29sb3IgcGFy
c2VMQ0hQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJz
ZXJDb250ZXh0JiBjb250ZXh0KQpAQCAtMTg5NiwzMSArMTkyMyw1NyBAQCBzdGF0aWMgQ29sb3Ig
cGFyc2VMQ0hQYXJhbWV0ZXJzKENTU1BhcnNlCiAKICAgICBpZiAoY29udGV4dC5yZWxhdGl2ZUNv
bG9yU3ludGF4RW5hYmxlZCAmJiBhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlRnJvbSkKICAg
ICAgICAgcmV0dXJuIHBhcnNlUmVsYXRpdmVMQ0hQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOwor
ICAgIHJldHVybiBwYXJzZU5vblJlbGF0aXZlTENIUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsK
K30KIAotICAgIGF1dG8gbGlnaHRuZXNzID0gY29uc3VtZVBlcmNlbnRSYXcoYXJncyk7Ci0gICAg
aWYgKCFsaWdodG5lc3MpCi0gICAgICAgIHJldHVybiB7IH07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBD
b2xvclR5cGUsIHR5cGVuYW1lIENvbnN1bWVyRm9yUkdCLCB0eXBlbmFtZSBDb25zdW1lckZvckFs
cGhhPgorc3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzKENTU1BhcnNl
clRva2VuUmFuZ2UmIGFyZ3MsIENvbnN1bWVyRm9yUkdCJiYgcmdiQ29uc3VtZXIsIENvbnN1bWVy
Rm9yQWxwaGEmJiBhbHBoYUNvbnN1bWVyKQoreworICAgIGRvdWJsZSBjaGFubmVsc1szXSA9IHsg
MCwgMCwgMCB9OworICAgIGZvciAoYXV0byBjaGFubmVsJiA6IGNoYW5uZWxzKSB7CisgICAgICAg
IGF1dG8gdmFsdWUgPSByZ2JDb25zdW1lcihhcmdzKTsKKyAgICAgICAgaWYgKCF2YWx1ZSkKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjaGFubmVsID0gKnZhbHVlOworICAgIH0KIAotICAg
IGF1dG8gY2hyb21hID0gY29uc3VtZU51bWJlclJhdyhhcmdzKTsKLSAgICBpZiAoIWNocm9tYSkK
KyAgICBhdXRvIGFscGhhID0gYWxwaGFDb25zdW1lcihhcmdzKTsKKyAgICBpZiAoIWFscGhhKQog
ICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byBodWUgPSBjb25zdW1lQW5nbGVSYXdPck51
bWJlclJhdyhhcmdzLCBjb250ZXh0Lm1vZGUpOwotICAgIGlmICghaHVlKQorICAgIGlmICghYXJn
cy5hdEVuZCgpKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byBhbHBoYSA9IGNvbnN1
bWVPcHRpb25hbEFscGhhKGFyZ3MpOwotICAgIGlmICghYWxwaGEpCi0gICAgICAgIHJldHVybiB7
IH07CisgICAgYXV0byBub3JtYWxpemVkUmVkID0gc3RkOjpjbGFtcChjaGFubmVsc1swXSwgMC4w
LCAxLjApOworICAgIGF1dG8gbm9ybWFsaXplZEdyZWVuID0gc3RkOjpjbGFtcChjaGFubmVsc1sx
XSwgMC4wLCAxLjApOworICAgIGF1dG8gbm9ybWFsaXplZEJsdWUgPSBzdGQ6OmNsYW1wKGNoYW5u
ZWxzWzJdLCAwLjAsIDEuMCk7CiAKLSAgICBpZiAoIWFyZ3MuYXRFbmQoKSkKKyAgICByZXR1cm4g
eyBDb2xvclR5cGUgeyBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZFJlZCksIHN0YXRpY19j
YXN0PGZsb2F0Pihub3JtYWxpemVkR3JlZW4pLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXpl
ZEJsdWUpLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFscGhhKSB9LCBDb2xvcjo6RmxhZ3M6OlVzZUNv
bG9yRnVuY3Rpb25TZXJpYWxpemF0aW9uIH07Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIENvbG9y
VHlwZT4gc3RhdGljIENvbG9yIHBhcnNlUmVsYXRpdmVDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXMo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgQ29sb3Igb3JpZ2luQ29sb3IsIGNvbnN0IENTU1Bh
cnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgQVNTRVJUKGFyZ3MucGVlaygpLmlkKCkgPT0g
Q1NTVmFsdWVBOThSZ2IgfHwgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZURpc3BsYXlQMyB8
fCBhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlUHJvcGhvdG9SZ2IgfHwgYXJncy5wZWVrKCku
aWQoKSA9PSBDU1NWYWx1ZVJlYzIwMjAgfHwgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZVNS
R0IpOworCisgICAgLy8gU3VwcG9ydCBzUkdCIGFuZCBEaXNwbGF5LVAzIHJlZ2FyZGxlc3Mgb2Yg
dGhlIHNldHRpbmcgYXMgd2UgaGF2ZSBzaGlwcGVkIHN1cHBvcnQgZm9yIHRoZW0gZm9yIGEgd2hp
bGUuCisgICAgaWYgKCFjb250ZXh0LmNzc0NvbG9yNCAmJiAoYXJncy5wZWVrKCkuaWQoKSA9PSBD
U1NWYWx1ZUE5OFJnYiB8fCBhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlUHJvcGhvdG9SZ2Ig
fHwgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZVJlYzIwMjApKQogICAgICAgICByZXR1cm4g
eyB9OwogCi0gICAgYXV0byBub3JtYWxpemVkTGlnaHRuZXNzID0gc3RkOjptYXgoMC4wLCAqbGln
aHRuZXNzKTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRDaHJvbWEgPSBzdGQ6Om1heCgwLjAsICpjaHJv
bWEpOwotICAgIGF1dG8gbm9ybWFsaXplZEh1ZSA9IG5vcm1hbGl6ZUh1ZSgqaHVlKTsKKyAgICBj
b25zdW1lSWRlbnRSYXcoYXJncyk7CiAKLSAgICByZXR1cm4gTENIQTxmbG9hdD4geyBzdGF0aWNf
Y2FzdDxmbG9hdD4obm9ybWFsaXplZExpZ2h0bmVzcyksIHN0YXRpY19jYXN0PGZsb2F0Pihub3Jt
YWxpemVkQ2hyb21hKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRIdWUpLCBzdGF0aWNf
Y2FzdDxmbG9hdD4oKmFscGhhKSB9OworICAgIGF1dG8gb3JpZ2luQ29sb3JBc0NvbG9yVHlwZSA9
IG9yaWdpbkNvbG9yLnRvQ29sb3JUeXBlTG9zc3k8Q29sb3JUeXBlPigpOworCisgICAgQ1NTQ2Fs
Y1N5bWJvbFRhYmxlIHN5bWJvbFRhYmxlIHsKKyAgICAgICAgeyBDU1NWYWx1ZVIsIENTU1VuaXRU
eXBlOjpDU1NfUEVSQ0VOVEFHRSwgb3JpZ2luQ29sb3JBc0NvbG9yVHlwZS5yZWQgKiAxMDAuMCB9
LAorICAgICAgICB7IENTU1ZhbHVlRywgQ1NTVW5pdFR5cGU6OkNTU19QRVJDRU5UQUdFLCBvcmln
aW5Db2xvckFzQ29sb3JUeXBlLmdyZWVuICogMTAwLjAgfSwKKyAgICAgICAgeyBDU1NWYWx1ZUIs
IENTU1VuaXRUeXBlOjpDU1NfUEVSQ0VOVEFHRSwgb3JpZ2luQ29sb3JBc0NvbG9yVHlwZS5ibHVl
ICogMTAwLjAgfSwKKyAgICAgICAgeyBDU1NWYWx1ZUFscGhhLCBDU1NVbml0VHlwZTo6Q1NTX1BF
UkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNDb2xvclR5cGUuYWxwaGEgKiAxMDAuMCB9CisgICAgfTsK
KworICAgIGF1dG8gY29uc3VtZVJHQiA9IFsmc3ltYm9sVGFibGVdKGF1dG8mIGFyZ3MpIHsgcmV0
dXJuIGNvbnN1bWVOdW1iZXJSYXdPclBlcmNlbnREaXZpZGVkQnkxMDBSYXdBbGxvd2luZ1N5bWJv
bFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUsIFZhbHVlUmFuZ2U6OkFsbCk7IH07CisgICAg
YXV0byBjb25zdW1lQWxwaGEgPSBbJnN5bWJvbFRhYmxlXShhdXRvJiBhcmdzKSB7IHJldHVybiBj
b25zdW1lT3B0aW9uYWxBbHBoYUFsbG93aW5nU3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xU
YWJsZSk7IH07CisKKyAgICByZXR1cm4gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8Q29s
b3JUeXBlPihhcmdzLCBXVEZNb3ZlKGNvbnN1bWVSR0IpLCBXVEZNb3ZlKGNvbnN1bWVBbHBoYSkp
OwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb2xvclR5cGU+IHN0YXRpYyBDb2xvciBwYXJzZUNv
bG9yRnVuY3Rpb25Gb3JSR0JUeXBlcyhDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBjb25zdCBD
U1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQpAQCAtMTkzMywyMiArMTk4NiwzNCBAQCB0ZW1wbGF0
ZTx0eXBlbmFtZSBDb2xvclR5cGU+IHN0YXRpYyBDb2xvCiAKICAgICBjb25zdW1lSWRlbnRSYXco
YXJncyk7CiAKKyAgICBhdXRvIGNvbnN1bWVSR0IgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBj
b25zdW1lTnVtYmVyUmF3T3JQZXJjZW50RGl2aWRlZEJ5MTAwUmF3KGFyZ3MpOyB9OworICAgIGF1
dG8gY29uc3VtZUFscGhhID0gW10oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU9wdGlvbmFs
QWxwaGEoYXJncyk7IH07CisKKyAgICByZXR1cm4gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlw
ZXM8Q29sb3JUeXBlPihhcmdzLCBXVEZNb3ZlKGNvbnN1bWVSR0IpLCBXVEZNb3ZlKGNvbnN1bWVB
bHBoYSkpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBDb25zdW1lckZvclhZWiwgdHlwZW5hbWUg
Q29uc3VtZXJGb3JBbHBoYT4KK3N0YXRpYyBDb2xvciBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JYWVpQ
YXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIENvbnN1bWVyRm9yWFlaJiYgeHl6
Q29uc3VtZXIsIENvbnN1bWVyRm9yQWxwaGEmJiBhbHBoYUNvbnN1bWVyKQorewogICAgIGRvdWJs
ZSBjaGFubmVsc1szXSA9IHsgMCwgMCwgMCB9OwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMzsg
KytpKSB7Ci0gICAgICAgIGF1dG8gdmFsdWUgPSBjb25zdW1lTnVtYmVyUmF3T3JQZXJjZW50RGl2
aWRlZEJ5MTAwUmF3KGFyZ3MpOworICAgIGZvciAoYXV0byYgY2hhbm5lbCA6IGNoYW5uZWxzKSB7
CisgICAgICAgIGF1dG8gdmFsdWUgPSB4eXpDb25zdW1lcihhcmdzKTsKICAgICAgICAgaWYgKCF2
YWx1ZSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjaGFubmVsc1tpXSA9ICp2YWx1ZTsK
KyAgICAgICAgY2hhbm5lbCA9ICp2YWx1ZTsKICAgICB9CiAKLSAgICBhdXRvIGFscGhhID0gY29u
c3VtZU9wdGlvbmFsQWxwaGEoYXJncyk7CisgICAgYXV0byBhbHBoYSA9IGFscGhhQ29uc3VtZXIo
YXJncyk7CiAgICAgaWYgKCFhbHBoYSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIHJldHVy
biB7IENvbG9yVHlwZSB7IGNsYW1wVG88ZmxvYXQ+KGNoYW5uZWxzWzBdLCAwLjAsIDEuMCksIGNs
YW1wVG88ZmxvYXQ+KGNoYW5uZWxzWzFdLCAwLjAsIDEuMCksIGNsYW1wVG88ZmxvYXQ+KGNoYW5u
ZWxzWzJdLCAwLjAsIDEuMCksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxwaGEpIH0sIENvbG9yOjpG
bGFnczo6VXNlQ29sb3JGdW5jdGlvblNlcmlhbGl6YXRpb24gfTsKKyAgICBpZiAoIWFyZ3MuYXRF
bmQoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHJldHVybiB7IFhZWkE8ZmxvYXQsIFdo
aXRlUG9pbnQ6OkQ1MD4geyBzdGF0aWNfY2FzdDxmbG9hdD4oY2hhbm5lbHNbMF0pLCBzdGF0aWNf
Y2FzdDxmbG9hdD4oY2hhbm5lbHNbMV0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oY2hhbm5lbHNbMl0p
LCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFscGhhKSB9LCBDb2xvcjo6RmxhZ3M6OlVzZUNvbG9yRnVu
Y3Rpb25TZXJpYWxpemF0aW9uIH07CiB9CiAKLXN0YXRpYyBDb2xvciBwYXJzZUNvbG9yRnVuY3Rp
b25Gb3JYWVpQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1Bh
cnNlckNvbnRleHQmIGNvbnRleHQpCitzdGF0aWMgQ29sb3IgcGFyc2VSZWxhdGl2ZUNvbG9yRnVu
Y3Rpb25Gb3JYWVpQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIENvbG9yIG9y
aWdpbkNvbG9yLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQogewogICAgIEFTU0VS
VChhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlWHl6KTsKIApAQCAtMTk1Nyw2NyArMjAyMiwx
MDEgQEAgc3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZWlBhcgogCiAgICAgY29u
c3VtZUlkZW50UmF3KGFyZ3MpOwogCi0gICAgZG91YmxlIGNoYW5uZWxzWzNdID0geyAwLCAwLCAw
IH07Ci0gICAgWyZdIHsKLSAgICAgICAgYXV0byB4ID0gY29uc3VtZU51bWJlclJhdyhhcmdzKTsK
LSAgICAgICAgaWYgKCF4KQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBjaGFubmVsc1sw
XSA9ICp4OwotCi0gICAgICAgIGF1dG8geSA9IGNvbnN1bWVOdW1iZXJSYXcoYXJncyk7Ci0gICAg
ICAgIGlmICgheSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgY2hhbm5lbHNbMV0gPSAq
eTsKLQotICAgICAgICBhdXRvIHogPSBjb25zdW1lTnVtYmVyUmF3KGFyZ3MpOwotICAgICAgICBp
ZiAoIXopCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGNoYW5uZWxzWzJdID0gKno7Ci0g
ICAgfSgpOworICAgIGF1dG8gb3JpZ2luQ29sb3JBc1hZWiA9IG9yaWdpbkNvbG9yLnRvQ29sb3JU
eXBlTG9zc3k8WFlaQTxmbG9hdCwgV2hpdGVQb2ludDo6RDUwPj4oKTsKIAotICAgIGF1dG8gYWxw
aGEgPSBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsKLSAgICBpZiAoIWFscGhhKQorICAgIENT
U0NhbGNTeW1ib2xUYWJsZSBzeW1ib2xUYWJsZSB7CisgICAgICAgIHsgQ1NTVmFsdWVYLCBDU1NV
bml0VHlwZTo6Q1NTX05VTUJFUiwgb3JpZ2luQ29sb3JBc1hZWi54IH0sCisgICAgICAgIHsgQ1NT
VmFsdWVZLCBDU1NVbml0VHlwZTo6Q1NTX05VTUJFUiwgb3JpZ2luQ29sb3JBc1hZWi55IH0sCisg
ICAgICAgIHsgQ1NTVmFsdWVaLCBDU1NVbml0VHlwZTo6Q1NTX05VTUJFUiwgb3JpZ2luQ29sb3JB
c1hZWi56IH0sCisgICAgICAgIHsgQ1NTVmFsdWVBbHBoYSwgQ1NTVW5pdFR5cGU6OkNTU19QRVJD
RU5UQUdFLCBvcmlnaW5Db2xvckFzWFlaLmFscGhhICogMTAwLjAgfQorICAgIH07CisKKyAgICBh
dXRvIGNvbnN1bWVYWVogPSBbJnN5bWJvbFRhYmxlXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25z
dW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsgfTsK
KyAgICBhdXRvIGNvbnN1bWVBbHBoYSA9IFsmc3ltYm9sVGFibGVdKGF1dG8mIGFyZ3MpIHsgcmV0
dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5
bWJvbFRhYmxlKTsgfTsKKworICAgIHJldHVybiBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JYWVpQYXJh
bWV0ZXJzKGFyZ3MsIFdURk1vdmUoY29uc3VtZVhZWiksIFdURk1vdmUoY29uc3VtZUFscGhhKSk7
Cit9CisKK3N0YXRpYyBDb2xvciBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JYWVpQYXJhbWV0ZXJzKENT
U1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQp
Cit7CisgICAgQVNTRVJUKGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVYeXopOworCisgICAg
aWYgKCFjb250ZXh0LmNzc0NvbG9yNCkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIHJldHVy
biB7IFhZWkE8ZmxvYXQsIFdoaXRlUG9pbnQ6OkQ1MD4geyBzdGF0aWNfY2FzdDxmbG9hdD4oY2hh
bm5lbHNbMF0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oY2hhbm5lbHNbMV0pLCBzdGF0aWNfY2FzdDxm
bG9hdD4oY2hhbm5lbHNbMl0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFscGhhKSB9LCBDb2xvcjo6
RmxhZ3M6OlVzZUNvbG9yRnVuY3Rpb25TZXJpYWxpemF0aW9uIH07CisgICAgY29uc3VtZUlkZW50
UmF3KGFyZ3MpOworCisgICAgYXV0byBjb25zdW1lWFlaID0gW10oYXV0byYgYXJncykgeyByZXR1
cm4gY29uc3VtZU51bWJlclJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGNvbnN1bWVBbHBoYSA9IFtd
KGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhKGFyZ3MpOyB9OworCisg
ICAgcmV0dXJuIHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZWlBhcmFtZXRlcnMoYXJncywgV1RGTW92
ZShjb25zdW1lWFlaKSwgV1RGTW92ZShjb25zdW1lQWxwaGEpKTsKIH0KIAotc3RhdGljIENvbG9y
IHBhcnNlQ29sb3JGdW5jdGlvblBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2Us
IGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCitzdGF0aWMgQ29sb3IgcGFyc2VSZWxh
dGl2ZUNvbG9yRnVuY3Rpb25QYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNv
bnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgQVNTRVJUKHJhbmdlLnBlZWso
KS5mdW5jdGlvbklkKCkgPT0gQ1NTVmFsdWVDb2xvcik7Ci0gICAgYXV0byBhcmdzID0gY29uc3Vt
ZUZ1bmN0aW9uKHJhbmdlKTsKKyAgICBBU1NFUlQoYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1
ZUZyb20pOworICAgIGNvbnN1bWVJZGVudFJhdyhhcmdzKTsKKworICAgIGF1dG8gb3JpZ2luQ29s
b3IgPSBjb25zdW1lT3JpZ2luQ29sb3IoYXJncywgY29udGV4dCk7CisgICAgaWYgKCFvcmlnaW5D
b2xvci5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBDb2xvciBjb2xvcjsK
ICAgICBzd2l0Y2ggKGFyZ3MucGVlaygpLmlkKCkpIHsKICAgICBjYXNlIENTU1ZhbHVlQTk4Umdi
OgotICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPEE5OFJHQjxm
bG9hdD4+KGFyZ3MsIGNvbnRleHQpOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIHBh
cnNlUmVsYXRpdmVDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8QTk4UkdCPGZsb2F0Pj4oYXJncywg
V1RGTW92ZShvcmlnaW5Db2xvciksIGNvbnRleHQpOwogICAgIGNhc2UgQ1NTVmFsdWVEaXNwbGF5
UDM6Ci0gICAgICAgIGNvbG9yID0gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8RGlzcGxh
eVAzPGZsb2F0Pj4oYXJncywgY29udGV4dCk7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1
cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxEaXNwbGF5UDM8ZmxvYXQ+
PihhcmdzLCBXVEZNb3ZlKG9yaWdpbkNvbG9yKSwgY29udGV4dCk7CiAgICAgY2FzZSBDU1NWYWx1
ZVByb3Bob3RvUmdiOgotICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5
cGVzPFByb1Bob3RvUkdCPGZsb2F0Pj4oYXJncywgY29udGV4dCk7Ci0gICAgICAgIGJyZWFrOwor
ICAgICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxQcm9Q
aG90b1JHQjxmbG9hdD4+KGFyZ3MsIFdURk1vdmUob3JpZ2luQ29sb3IpLCBjb250ZXh0KTsKICAg
ICBjYXNlIENTU1ZhbHVlUmVjMjAyMDoKLSAgICAgICAgY29sb3IgPSBwYXJzZUNvbG9yRnVuY3Rp
b25Gb3JSR0JUeXBlczxSZWMyMDIwPGZsb2F0Pj4oYXJncywgY29udGV4dCk7Ci0gICAgICAgIGJy
ZWFrOworICAgICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBl
czxSZWMyMDIwPGZsb2F0Pj4oYXJncywgV1RGTW92ZShvcmlnaW5Db2xvciksIGNvbnRleHQpOwog
ICAgIGNhc2UgQ1NTVmFsdWVTUkdCOgotICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlv
bkZvclJHQlR5cGVzPFNSR0JBPGZsb2F0Pj4oYXJncywgY29udGV4dCk7Ci0gICAgICAgIGJyZWFr
OworICAgICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxT
UkdCQTxmbG9hdD4+KGFyZ3MsIFdURk1vdmUob3JpZ2luQ29sb3IpLCBjb250ZXh0KTsKICAgICBj
YXNlIENTU1ZhbHVlWHl6OgotICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZ
WlBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1
cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JYWVpQYXJhbWV0ZXJzKGFyZ3MsIFdURk1v
dmUob3JpZ2luQ29sb3IpLCBjb250ZXh0KTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4g
eyB9OwogICAgIH0KIAotICAgIGlmICghY29sb3IuaXNWYWxpZCgpKQotICAgICAgICByZXR1cm4g
eyB9OworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiB7IH07Cit9CiAKLSAg
ICBpZiAoIWFyZ3MuYXRFbmQoKSkKK3N0YXRpYyBDb2xvciBwYXJzZU5vblJlbGF0aXZlQ29sb3JG
dW5jdGlvblBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFy
c2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBzd2l0Y2ggKGFyZ3MucGVlaygpLmlkKCkpIHsK
KyAgICBjYXNlIENTU1ZhbHVlQTk4UmdiOgorICAgICAgICByZXR1cm4gcGFyc2VDb2xvckZ1bmN0
aW9uRm9yUkdCVHlwZXM8QTk4UkdCPGZsb2F0Pj4oYXJncywgY29udGV4dCk7CisgICAgY2FzZSBD
U1NWYWx1ZURpc3BsYXlQMzoKKyAgICAgICAgcmV0dXJuIHBhcnNlQ29sb3JGdW5jdGlvbkZvclJH
QlR5cGVzPERpc3BsYXlQMzxmbG9hdD4+KGFyZ3MsIGNvbnRleHQpOworICAgIGNhc2UgQ1NTVmFs
dWVQcm9waG90b1JnYjoKKyAgICAgICAgcmV0dXJuIHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5
cGVzPFByb1Bob3RvUkdCPGZsb2F0Pj4oYXJncywgY29udGV4dCk7CisgICAgY2FzZSBDU1NWYWx1
ZVJlYzIwMjA6CisgICAgICAgIHJldHVybiBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxS
ZWMyMDIwPGZsb2F0Pj4oYXJncywgY29udGV4dCk7CisgICAgY2FzZSBDU1NWYWx1ZVNSR0I6Cisg
ICAgICAgIHJldHVybiBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxTUkdCQTxmbG9hdD4+
KGFyZ3MsIGNvbnRleHQpOworICAgIGNhc2UgQ1NTVmFsdWVYeXo6CisgICAgICAgIHJldHVybiBw
YXJzZUNvbG9yRnVuY3Rpb25Gb3JYWVpQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOworICAgIGRl
ZmF1bHQ6CiAgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgcmV0dXJuIHsgfTsKK30KKworc3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5j
dGlvblBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNl
ckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgQVNTRVJUKHJhbmdlLnBlZWsoKS5mdW5jdGlvbklk
KCkgPT0gQ1NTVmFsdWVDb2xvcik7CisgICAgYXV0byBhcmdzID0gY29uc3VtZUZ1bmN0aW9uKHJh
bmdlKTsKKworICAgIGF1dG8gY29sb3IgPSBbJl0geworICAgICAgICBpZiAoY29udGV4dC5yZWxh
dGl2ZUNvbG9yU3ludGF4RW5hYmxlZCAmJiBhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlRnJv
bSkKKyAgICAgICAgICAgIHJldHVybiBwYXJzZVJlbGF0aXZlQ29sb3JGdW5jdGlvblBhcmFtZXRl
cnMoYXJncywgY29udGV4dCk7CisgICAgICAgIHJldHVybiBwYXJzZU5vblJlbGF0aXZlQ29sb3JG
dW5jdGlvblBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7CisgICAgfSgpOwogCi0gICAgQVNTRVJU
KGNvbG9yLnVzZXNDb2xvckZ1bmN0aW9uU2VyaWFsaXphdGlvbigpKTsKKyAgICBBU1NFUlQoIWNv
bG9yLmlzVmFsaWQoKSB8fCBjb2xvci51c2VzQ29sb3JGdW5jdGlvblNlcmlhbGl6YXRpb24oKSk7
CiAgICAgcmV0dXJuIGNvbG9yOwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzgzNTApCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAy
MS0wNi0wMSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1
cHBvcnQgZm9yICJyZWxhdGl2ZSBjb2xvciBzeW50YXgiIGZvciBjb2xvcigpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY1MTMKKworICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBVcGRhdGVkIHRlc3QgYW5kIHJlc3Vs
dHMgbm93IHRoYXQgd2Ugc3VwcG9ydCByZWxhdGl2ZSBjb2xvciBzeW50YXgKKyAgICAgICAgZm9y
IGNvbG9yKHNyZ2IgLi4uKSwgY29sb3IoYTk4LXJnYiAuLi4pLCBjb2xvcihyZWMyMDIwIC4uLiks
CisgICAgICAgIGNvbG9yKHByb3Bob3RvLXJnYiAuLi4pIGFuZCBjb2xvcih4eXogLi4uKS4KKwor
ICAgICAgICAqIGZhc3QvY3NzL3BhcnNpbmctcmVsYXRpdmUtY29sb3Itc3ludGF4LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC5o
dG1sOgorCiAyMDIxLTA2LTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNv
bT4KIAogICAgICAgICBbY3NzLXNjcm9sbC1zbmFwXSBTY3JvbGwgc25hcCBpcyBicm9rZW4gd2l0
aCBub24taG9yaXpvbnRhbCB3cml0aW5nIG1vZGVzCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1yZWxhdGl2ZS1jb2xvci1zeW50YXgtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyNzgzNTApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJz
aW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTI4NSw2ICsyODUsMjYxIEBAIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICIKIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJsY2goZnJvbSBsY2go
NzAlIDQ1IDMwKSBsaWdodG5lc3MgYyBoKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgogUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxjaChmcm9tIGxjaCg3MCUgNDUgMzAp
IHggYyBoKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgogUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImxjaChmcm9tIGxjaCg3MCUgNDUgMzApIGwgZyBiKSIpIGlzICJyZ2Jh
KDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4uLiAke2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAw
LjUgMC4zKSBzcmdiIHIgZyBiKSIpIGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2Ig
MC43IDAuNSAwLjMpIHNyZ2IgciBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41
IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBzcmdiIHIgZyBiKSIpIGlzICJjb2xvcihz
cmdiIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHNyZ2IgciBnIGIgLyBh
bHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihmcm9tIGNvbG9yKHNy
Z2IgMC43IDAuNSAwLjMpIHNyZ2IgciBnIGIpIHNyZ2IgciBnIGIpIikgaXMgImNvbG9yKHNyZ2Ig
MC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMykgc3JnYiAwIDAgMCkiKSBpcyAiY29sb3Io
c3JnYiAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIDAgMCAwKSIpIGlzICJjb2xvcihz
cmdiIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgMCAwIDAgLyAwKSIpIGlzICJjb2xv
cihzcmdiIDAgMCAwIC8gMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIDAgMCAwIC8gMCkiKSBp
cyAiY29sb3Ioc3JnYiAwIDAgMCAvIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMykgc3JnYiAwIGcgYiAv
IGFscGhhKSIpIGlzICJjb2xvcihzcmdiIDAgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBz
cmdiIHIgMCBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAgMC4zKSIKK1BBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43
IDAuNSAwLjMpIHNyZ2IgciBnIDAgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41IDAp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3Ioc3JnYiAwLjcgMC41IDAuMykgc3JnYiByIGcgYiAvIDApIikgaXMgImNvbG9yKHNyZ2IgMC43
IDAuNSAwLjMgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHNyZ2IgMCBnIGIgLyBhbHBo
YSkiKSBpcyAiY29sb3Ioc3JnYiAwIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAv
IDQwJSkgc3JnYiByIDAgYiAvIGFscGhhKSIpIGlzICJjb2xvcihzcmdiIDAuNyAwIDAuMyAvIDAu
NCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBzcmdiIHIgZyAwIC8gYWxwaGEpIikgaXMgImNv
bG9yKHNyZ2IgMC43IDAuNSAwIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHNyZ2Ig
ciBnIGIgLyAwKSIpIGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gMCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAw
LjUgMC4zKSBzcmdiIDAuMiBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjIgMC41IDAu
MykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIDIwJSBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Io
c3JnYiAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgMC4yIGIgLyBhbHBo
YSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdi
IHIgMjAlIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC4yIDAuMykiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAu
NyAwLjUgMC4zKSBzcmdiIHIgZyAwLjIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41
IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgZyAyMCUgLyBhbHBoYSkiKSBpcyAiY29s
b3Ioc3JnYiAwLjcgMC41IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgZyBiIC8gMC4y
KSIpIGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMp
IHNyZ2IgciBnIGIgLyAyMCUpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuNSAwLjMgLyAwLjIpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Io
c3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiAwLjIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9y
KHNyZ2IgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiAy
MCUgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3Jn
YiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIDAuMiBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNy
Z2IgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIDIw
JSBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAw
LjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIGcgMC4yIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2Ig
MC43IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIGcgMjAl
IC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcg
MC41IDAuMyAvIDQwJSkgc3JnYiByIGcgYiAvIDAuMikiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41
IDAuMyAvIDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBzcmdiIHIgZyBiIC8gMjAlKSIp
IGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNy
Z2IgZyBiIHIpIikgaXMgImNvbG9yKHNyZ2IgMC41IDAuMyAwLjcpIgorUEFTUyBjb21wdXRlZFN0
eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAu
Mykgc3JnYiBiIGFscGhhIHIgLyBnKSIpIGlzICJjb2xvcihzcmdiIDAuMyAxIDAuNyAvIDAuNSki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgciByIC8gcikiKSBpcyAiY29sb3Ioc3JnYiAwLjcg
MC43IDAuNyAvIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIGFscGhhIGFscGhhIGFscGhh
IC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMSAxIDEpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQw
JSkgc3JnYiBnIGIgcikiKSBpcyAiY29sb3Ioc3JnYiAwLjUgMC4zIDAuNykiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAw
LjUgMC4zIC8gNDAlKSBzcmdiIGIgYWxwaGEgciAvIGcpIikgaXMgImNvbG9yKHNyZ2IgMC4zIDAu
NCAwLjcgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIHIgciAvIHIpIikg
aXMgImNvbG9yKHNyZ2IgMC43IDAuNyAwLjcgLyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQw
JSkgc3JnYiBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKSIpIGlzICJjb2xvcihzcmdiIDAuNCAw
LjQgMC40IC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgY2FsYyhyKSBjYWxjKGcpIGNh
bGMoYikpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAv
IDQwJSkgc3JnYiBjYWxjKHIpIGNhbGMoZykgY2FsYyhiKSAvIGNhbGMoYWxwaGEpKSIpIGlzICJj
b2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgMTBk
ZWcgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMykgc3JnYiBy
IDEwZGVnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdi
IHIgZyAxMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNy
Z2IgciBnIGIgLyAxMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAw
LjMpIHNyZ2IgcmVkIGcgYikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAw
LjMpIHNyZ2IgeCBnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4z
KSBzcmdiIGwgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4uLiAk
e2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgZyBiKSIpIGlzICJj
b2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2Ig
ciBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdi
IDAuNyAwLjUgMC4zIC8gNDAlKSBhOTgtcmdiIHIgZyBiKSIpIGlzICJjb2xvcihhOTgtcmdiIDAu
NyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIGE5OC1yZ2IgciBnIGIgLyBh
bHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihmcm9tIGNvbG9y
KGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgciBnIGIpIGE5OC1yZ2IgciBnIGIpIikgaXMg
ImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykgYTk4LXJn
YiAwIDAgMCkiKSBpcyAiY29sb3IoYTk4LXJnYiAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4z
KSBhOTgtcmdiIDAgMCAwKSIpIGlzICJjb2xvcihhOTgtcmdiIDAgMCAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43
IDAuNSAwLjMpIGE5OC1yZ2IgMCAwIDAgLyAwKSIpIGlzICJjb2xvcihhOTgtcmdiIDAgMCAwIC8g
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIDAgMCAwIC8gMCkiKSBpcyAiY29sb3Io
YTk4LXJnYiAwIDAgMCAvIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykgYTk4LXJnYiAwIGcgYiAv
IGFscGhhKSIpIGlzICJjb2xvcihhOTgtcmdiIDAgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUg
MC4zKSBhOTgtcmdiIHIgMCBiIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAgMC4z
KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNv
bG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgciBnIDAgLyBhbHBoYSkiKSBpcyAiY29s
b3IoYTk4LXJnYiAwLjcgMC41IDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykgYTk4LXJnYiByIGcg
YiAvIDApIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMgLyAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43
IDAuNSAwLjMgLyA0MCUpIGE5OC1yZ2IgMCBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJn
YiAwIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiBy
IDAgYiAvIGFscGhhKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAwIDAuMyAvIDAuNCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgt
cmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBhOTgtcmdiIHIgZyAwIC8gYWxwaGEpIikgaXMgImNvbG9y
KGE5OC1yZ2IgMC43IDAuNSAwIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIGE5
OC1yZ2IgciBnIGIgLyAwKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gMCkiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihh
OTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIDAuMiBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Io
YTk4LXJnYiAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIDIwJSBn
IGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAu
NyAwLjUgMC4zKSBhOTgtcmdiIHIgMC4yIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAw
LjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgMjAlIGIgLyBhbHBo
YSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4z
KSBhOTgtcmdiIHIgZyAwLjIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC41IDAu
MikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgZyAyMCUgLyBhbHBoYSkiKSBpcyAi
Y29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdi
IHIgZyBiIC8gMC4yKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5
OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgciBnIGIgLyAyMCUpIikgaXMgImNvbG9yKGE5OC1y
Z2IgMC43IDAuNSAwLjMgLyAwLjIpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJn
YiAwLjIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC4yIDAuNSAwLjMgLyAwLjQp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiAyMCUgZyBiIC8gYWxwaGEpIikg
aXMgImNvbG9yKGE5OC1yZ2IgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAu
MyAvIDQwJSkgYTk4LXJnYiByIDAuMiBiIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43
IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIDIw
JSBiIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4
LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIGcgMC4yIC8gYWxwaGEpIikgaXMgImNv
bG9yKGE5OC1yZ2IgMC43IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQw
JSkgYTk4LXJnYiByIGcgMjAlIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAw
LjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIGcgYiAvIDAu
MikiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDAuMikiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAw
LjUgMC4zIC8gNDAlKSBhOTgtcmdiIHIgZyBiIC8gMjAlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAu
NyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgZyBiIHIpIikg
aXMgImNvbG9yKGE5OC1yZ2IgMC41IDAuMyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykgYTk4
LXJnYiBiIGFscGhhIHIgLyBnKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuMyAxIDAuNyAvIDAuNSki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgciByIC8gcikiKSBpcyAiY29sb3IoYTk4
LXJnYiAwLjcgMC43IDAuNyAvIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIGFs
cGhhIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMSAxIDEpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4
LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiBnIGIgcikiKSBpcyAiY29sb3IoYTk4LXJn
YiAwLjUgMC4zIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBhOTgtcmdiIGIgYWxw
aGEgciAvIGcpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC4zIDAuNCAwLjcgLyAwLjUpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJn
YiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIHIgciAvIHIpIikgaXMgImNvbG9yKGE5OC1y
Z2IgMC43IDAuNyAwLjcgLyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJn
YiBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNCAwLjQg
MC40IC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgY2FsYyhyKSBjYWxjKGcp
IGNhbGMoYikpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcg
MC41IDAuMyAvIDQwJSkgYTk4LXJnYiBjYWxjKHIpIGNhbGMoZykgY2FsYyhiKSAvIGNhbGMoYWxw
aGEpKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gMC40KSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43
IDAuNSAwLjMpIGE5OC1yZ2IgMTBkZWcgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4
LXJnYiAwLjcgMC41IDAuMykgYTk4LXJnYiByIDEwZGVnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwg
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgZyAxMGRlZykiKSBpcyAicmdiYSgw
LCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgciBnIGIgLyAxMGRlZyki
KSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgcmVk
IGcgYikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1y
Z2IgeCBnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBh
OTgtcmdiIGwgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4uLiAk
e2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgZyBiKSIpIGlzICJj
b2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAg
ciBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIw
IDAuNyAwLjUgMC4zIC8gNDAlKSByZWMyMDIwIHIgZyBiKSIpIGlzICJjb2xvcihyZWMyMDIwIDAu
NyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMgLyA0MCUpIHJlYzIwMjAgciBnIGIgLyBh
bHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihmcm9tIGNvbG9y
KHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgciBnIGIpIHJlYzIwMjAgciBnIGIpIikgaXMg
ImNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykgcmVjMjAy
MCAwIDAgMCkiKSBpcyAiY29sb3IocmVjMjAyMCAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4z
KSByZWMyMDIwIDAgMCAwKSIpIGlzICJjb2xvcihyZWMyMDIwIDAgMCAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43
IDAuNSAwLjMpIHJlYzIwMjAgMCAwIDAgLyAwKSIpIGlzICJjb2xvcihyZWMyMDIwIDAgMCAwIC8g
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIDAgMCAwIC8gMCkiKSBpcyAiY29sb3Io
cmVjMjAyMCAwIDAgMCAvIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykgcmVjMjAyMCAwIGcgYiAv
IGFscGhhKSIpIGlzICJjb2xvcihyZWMyMDIwIDAgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUg
MC4zKSByZWMyMDIwIHIgMCBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAgMC4z
KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNv
bG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgciBnIDAgLyBhbHBoYSkiKSBpcyAiY29s
b3IocmVjMjAyMCAwLjcgMC41IDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykgcmVjMjAyMCByIGcg
YiAvIDApIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMgLyAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43
IDAuNSAwLjMgLyA0MCUpIHJlYzIwMjAgMCBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAy
MCAwIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCBy
IDAgYiAvIGFscGhhKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAwIDAuMyAvIDAuNCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMy
MDIwIDAuNyAwLjUgMC4zIC8gNDAlKSByZWMyMDIwIHIgZyAwIC8gYWxwaGEpIikgaXMgImNvbG9y
KHJlYzIwMjAgMC43IDAuNSAwIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMgLyA0MCUpIHJl
YzIwMjAgciBnIGIgLyAwKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gMCkiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihy
ZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIDAuMiBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Io
cmVjMjAyMCAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIDIwJSBn
IGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAu
NyAwLjUgMC4zKSByZWMyMDIwIHIgMC4yIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAw
LjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgMjAlIGIgLyBhbHBo
YSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4z
KSByZWMyMDIwIHIgZyAwLjIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC41IDAu
MikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgZyAyMCUgLyBhbHBoYSkiKSBpcyAi
Y29sb3IocmVjMjAyMCAwLjcgMC41IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIw
IHIgZyBiIC8gMC4yKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJl
YzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgciBnIGIgLyAyMCUpIikgaXMgImNvbG9yKHJlYzIw
MjAgMC43IDAuNSAwLjMgLyAwLjIpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAy
MCAwLjIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC4yIDAuNSAwLjMgLyAwLjQp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCAyMCUgZyBiIC8gYWxwaGEpIikg
aXMgImNvbG9yKHJlYzIwMjAgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAu
MyAvIDQwJSkgcmVjMjAyMCByIDAuMiBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43
IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIDIw
JSBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVj
MjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIGcgMC4yIC8gYWxwaGEpIikgaXMgImNv
bG9yKHJlYzIwMjAgMC43IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQw
JSkgcmVjMjAyMCByIGcgMjAlIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuNSAw
LjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIGcgYiAvIDAu
MikiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDAuMikiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAw
LjUgMC4zIC8gNDAlKSByZWMyMDIwIHIgZyBiIC8gMjAlKSIpIGlzICJjb2xvcihyZWMyMDIwIDAu
NyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgZyBiIHIpIikg
aXMgImNvbG9yKHJlYzIwMjAgMC41IDAuMyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykgcmVj
MjAyMCBiIGFscGhhIHIgLyBnKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuMyAxIDAuNyAvIDAuNSki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgciByIC8gcikiKSBpcyAiY29sb3IocmVj
MjAyMCAwLjcgMC43IDAuNyAvIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIGFs
cGhhIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMSAxIDEpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVj
MjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCBnIGIgcikiKSBpcyAiY29sb3IocmVjMjAy
MCAwLjUgMC4zIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gNDAlKSByZWMyMDIwIGIgYWxw
aGEgciAvIGcpIikgaXMgImNvbG9yKHJlYzIwMjAgMC4zIDAuNCAwLjcgLyAwLjUpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAy
MCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIHIgciAvIHIpIikgaXMgImNvbG9yKHJlYzIw
MjAgMC43IDAuNyAwLjcgLyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAy
MCBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNCAwLjQg
MC40IC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgY2FsYyhyKSBjYWxjKGcp
IGNhbGMoYikpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcg
MC41IDAuMyAvIDQwJSkgcmVjMjAyMCBjYWxjKHIpIGNhbGMoZykgY2FsYyhiKSAvIGNhbGMoYWxw
aGEpKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gMC40KSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43
IDAuNSAwLjMpIHJlYzIwMjAgMTBkZWcgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVj
MjAyMCAwLjcgMC41IDAuMykgcmVjMjAyMCByIDEwZGVnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwg
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgZyAxMGRlZykiKSBpcyAicmdiYSgw
LCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgciBnIGIgLyAxMGRlZyki
KSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgcmVk
IGcgYikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIw
MjAgeCBnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSBy
ZWMyMDIwIGwgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4uLiAk
e2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiByIGcg
YikiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAw
LjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bo
b3RvLXJnYiAwLjcgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHBy
b3Bob3RvLXJnYiByIGcgYikiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSIK
K1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9y
KHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgcHJvcGhvdG8tcmdiIHIgZyBiIC8gYWxw
aGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihmcm9tIGNv
bG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgZyBiKSBwcm9waG90
by1yZ2IgciBnIGIpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9w
aG90by1yZ2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiAwIDAgMCkiKSBpcyAiY29sb3IocHJv
cGhvdG8tcmdiIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdi
IDAgMCAwKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMCAwIDApIgorUEFTUyBjb21wdXRlZFN0
eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAu
NyAwLjUgMC4zKSBwcm9waG90by1yZ2IgMCAwIDAgLyAwKSIpIGlzICJjb2xvcihwcm9waG90by1y
Z2IgMCAwIDAgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIDAg
MCAwIC8gMCkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAgMCAwIC8gMCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1y
Z2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiAwIGcgYiAvIGFscGhhKSIpIGlzICJjb2xvcihw
cm9waG90by1yZ2IgMCAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhv
dG8tcmdiIHIgMCBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMCAwLjMp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgciBnIDAgLyBhbHBoYSki
KSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAu
NSAwLjMpIHByb3Bob3RvLXJnYiByIGcgYiAvIDApIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAw
LjcgMC41IDAuMyAvIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBwcm9waG90
by1yZ2IgMCBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAgMC41IDAuMyAv
IDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIDAg
YiAvIGFscGhhKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMC43IDAgMC4zIC8gMC40KSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHBy
b3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgcHJvcGhvdG8tcmdiIHIgZyAwIC8gYWxwaGEp
IikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAgLyAwLjQpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdi
IDAuNyAwLjUgMC4zIC8gNDAlKSBwcm9waG90by1yZ2IgciBnIGIgLyAwKSIpIGlzICJjb2xvcihw
cm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykg
cHJvcGhvdG8tcmdiIDAuMiBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAu
MiAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIDIwJSBn
IGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuMiAwLjUgMC4zKSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bo
b3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgMC4yIGIgLyBhbHBoYSkiKSBpcyAi
Y29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjIgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAu
MykgcHJvcGhvdG8tcmdiIHIgMjAlIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdi
IDAuNyAwLjIgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIg
ZyAwLjIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4yKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHBy
b3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgZyAyMCUgLyBhbHBoYSkiKSBp
cyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41
IDAuMykgcHJvcGhvdG8tcmdiIHIgZyBiIC8gMC4yKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2Ig
MC43IDAuNSAwLjMgLyAwLjIpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1y
Z2IgciBnIGIgLyAyMCUpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDAu
MikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiAwLjIgZyBi
IC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjIgMC41IDAuMyAvIDAuNCkiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihw
cm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiAyMCUgZyBiIC8gYWxw
aGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjIgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90
by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIDAuMiBiIC8gYWxwaGEpIikg
aXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC4yIDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2Ig
MC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIDIwJSBiIC8gYWxwaGEpIikgaXMgImNv
bG9yKHByb3Bob3RvLXJnYiAwLjcgMC4yIDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAu
NSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIGcgMC4yIC8gYWxwaGEpIikgaXMgImNvbG9yKHBy
b3Bob3RvLXJnYiAwLjcgMC41IDAuMiAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMg
LyA0MCUpIHByb3Bob3RvLXJnYiByIGcgMjAlIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3Rv
LXJnYiAwLjcgMC41IDAuMiAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUp
IHByb3Bob3RvLXJnYiByIGcgYiAvIDAuMikiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAw
LjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgcHJvcGhvdG8t
cmdiIHIgZyBiIC8gMjAlKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyAw
LjIpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20g
Y29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgZyBiIHIpIikgaXMg
ImNvbG9yKHByb3Bob3RvLXJnYiAwLjUgMC4zIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAw
LjMpIHByb3Bob3RvLXJnYiBiIGFscGhhIHIgLyBnKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2Ig
MC4zIDEgMC43IC8gMC41KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdi
IHIgciByIC8gcikiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjcgMC43IC8gMC43KSIK
K1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9y
KHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIGFscGhhIGFscGhhIGFscGhh
IC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAxIDEgMSkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2Ig
MC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiBnIGIgcikiKSBpcyAiY29sb3IocHJvcGhv
dG8tcmdiIDAuNSAwLjMgMC43KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgcHJv
cGhvdG8tcmdiIGIgYWxwaGEgciAvIGcpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjMgMC40
IDAuNyAvIDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJn
YiByIHIgciAvIHIpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC43IDAuNyAvIDAuNyki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiBhbHBoYSBhbHBo
YSBhbHBoYSAvIGFscGhhKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMC40IDAuNCAwLjQgLyAw
LjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20g
Y29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgY2FsYyhyKSBjYWxj
KGcpIGNhbGMoYikpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9w
aG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiBjYWxjKHIpIGNhbGMoZykg
Y2FsYyhiKSAvIGNhbGMoYWxwaGEpKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAw
LjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgMTBkZWcg
ZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBw
cm9waG90by1yZ2IgciAxMGRlZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8t
cmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgciBnIDEwZGVnKSIpIGlzICJyZ2JhKDAsIDAs
IDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZy
b20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgciBnIGIgLyAx
MGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykg
cHJvcGhvdG8tcmdiIHJlZCBnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1y
Z2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiB4IGcgYikiKSBpcyAicmdiYSgwLCAwLCAwLCAw
KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNv
bG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIGwgZyBiKSIpIGlzICJy
Z2JhKDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4uLiB4eXogLi4uKQorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUg
MTAwKSB4eXogeCB5IHopIikgaXMgImNvbG9yKHh5eiA3IC0yMC41IDEwMCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAu
NSAxMDApIHh5eiB4IHkgeiAvIGFscGhhKSIpIGlzICJjb2xvcih4eXogNyAtMjAuNSAxMDApIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Io
eHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCB5IHopIikgaXMgImNvbG9yKHh5eiA3IC0yMC41
IDEwMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IHkgeiAvIGFscGhhKSIpIGlzICJj
b2xvcih4eXogNyAtMjAuNSAxMDAgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAp
IHh5eiB4IHkgeikgeHl6IHggeSB6KSIpIGlzICJjb2xvcih4eXogNyAtMjAuNSAxMDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6
IDcgLTIwLjUgMTAwKSB4eXogMCAwIDApIikgaXMgImNvbG9yKHh5eiAwIDAgMCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAt
MjAuNSAxMDApIHh5eiAwIDAgMCkiKSBpcyAiY29sb3IoeHl6IDAgMCAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41
IDEwMCkgeHl6IDAgMCAwIC8gMCkiKSBpcyAiY29sb3IoeHl6IDAgMCAwIC8gMCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAt
MjAuNSAxMDApIHh5eiAwIDAgMCAvIDApIikgaXMgImNvbG9yKHh5eiAwIDAgMCAvIDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6
IDcgLTIwLjUgMTAwKSB4eXogMCB5IHogLyBhbHBoYSkiKSBpcyAiY29sb3IoeHl6IDAgLTIwLjUg
MTAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9t
IGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggMCB6IC8gYWxwaGEpIikgaXMgImNvbG9yKHh5
eiA3IDAgMTAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggeSAwIC8gYWxwaGEpIikgaXMgImNv
bG9yKHh5eiA3IC0yMC41IDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogeCB5IHogLyAwKSIpIGlz
ICJjb2xvcih4eXogNyAtMjAuNSAxMDAgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkgeHl6
IDAgeSB6IC8gYWxwaGEpIikgaXMgImNvbG9yKHh5eiAwIC0yMC41IDEwMCAvIDAuNCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXog
NyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IDAgeiAvIGFscGhhKSIpIGlzICJjb2xvcih4eXogNyAw
IDEwMCAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IHkgMCAvIGFscGhhKSIp
IGlzICJjb2xvcih4eXogNyAtMjAuNSAwIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkg
eHl6IHggeSB6IC8gMCkiKSBpcyAiY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gMCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAt
MjAuNSAxMDApIHh5eiAwLjIgeSB6IC8gYWxwaGEpIikgaXMgImNvbG9yKHh5eiAwLjIgLTIwLjUg
MTAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9t
IGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggMC4yIHogLyBhbHBoYSkiKSBpcyAiY29sb3Io
eHl6IDcgMC4yIDEwMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgMC4yIC8gYWxwaGEpIikg
aXMgImNvbG9yKHh5eiA3IC0yMC41IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgeiAv
IDAuMikiKSBpcyAiY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEw
MCkgeHl6IHggeSB6IC8gMjAlKSIpIGlzICJjb2xvcih4eXogNyAtMjAuNSAxMDAgLyAwLjIpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Io
eHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogMC4yIHkgeiAvIGFscGhhKSIpIGlzICJjb2xvcih4
eXogMC4yIC0yMC41IDEwMCAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IDAu
MiB6IC8gYWxwaGEpIikgaXMgImNvbG9yKHh5eiA3IDAuMiAxMDAgLyAwLjQpIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIw
LjUgMTAwIC8gNDAlKSB4eXogeCB5IDAuMiAvIGFscGhhKSIpIGlzICJjb2xvcih4eXogNyAtMjAu
NSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCB5IHogLyAwLjIpIikg
aXMgImNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB5
IHogeCkiKSBpcyAiY29sb3IoeHl6IC0yMC41IDEwMCA3KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6
IHggeCB4IC8geCkiKSBpcyAiY29sb3IoeHl6IDcgNyA3KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQw
JSkgeHl6IHkgeiB4KSIpIGlzICJjb2xvcih4eXogLTIwLjUgMTAwIDcpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUg
MTAwIC8gNDAlKSB4eXogeCB4IHggLyB4KSIpIGlzICJjb2xvcih4eXogNyA3IDcpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcg
LTIwLjUgMTAwKSB4eXogeiBhbHBoYSB4IC8geSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IGFscGhhIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMgInJnYmEo
MCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB6IGFscGhhIHggLyB5KSIp
IGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogYWxwaGEg
YWxwaGEgYWxwaGEgLyBhbHBoYSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41
IDEwMCkgeHl6IGNhbGMoeCkgY2FsYyh5KSBjYWxjKHopKSIpIGlzICJjb2xvcih4eXogNyAtMjAu
NSAxMDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZy
b20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogY2FsYyh4KSBjYWxjKHkpIGNhbGMo
eikgLyBjYWxjKGFscGhhKSkiKSBpcyAiY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gMC40KSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IDEwZGVnIHkgeikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IHggMTBkZWcgeikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IHggeSAxMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IHggeSB6IC8gMTBkZWcpIikgaXMgInJnYmEoMCwgMCwgMCwgMCki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cih4eXogNyAtMjAuNSAxMDApIHh5eiByZWQgeSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IHIgeSB6KSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcg
LTIwLjUgMTAwKSB4eXogbCB5IHopIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCisKK1NwZWMgRXhh
bXBsZXMKIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJyZ2IoZnJvbSB2
YXIoLS1iZy1jb2xvcikgciBnIGIgLyA4MCUpIikgaXMgInJnYmEoMCwgMCwgMjU1LCAwLjgpIgog
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxjaChmcm9tIHZhcigtLWNv
bG9yKSBjYWxjKGwgLyAyKSBjIGgpIikgaXMgImxjaCgyMy4xMzg5NzElIDY3Ljk4OTcxNiAxMzQu
MzkxMjUpIgogUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgInJnYihmcm9t
IHZhcigtLWNvbG9yKSBjYWxjKHIgKiAuMyArIGcgKiAuNTkgKyBiICogLjExKSBjYWxjKHIgKiAu
MyArIGcgKiAuNTkgKyBiICogLjExKSBjYWxjKHIgKiAuMyArIGcgKiAuNTkgKyBiICogLjExKSki
KSBpcyAicmdiKDc2LCA3NiwgNzYpIgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2lu
Zy1yZWxhdGl2ZS1jb2xvci1zeW50YXguaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC5odG1sCShyZXZpc2lvbiAyNzgz
NTApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRh
eC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC00NDQsMTMgKzQ0NCwxNTEgQEAKICAgICB0ZXN0Q29t
cHV0ZWQoYGxjaChmcm9tIGxjaCg3MCUgNDUgMzApIGwgZyBiKWAsIGByZ2JhKDAsIDAsIDAsIDAp
YCk7CiAKIAotICAgIC8vIFNwZWMgZXhhbXBsZXM6CisgICAgZm9yIChjb25zdCBjb2xvciBvZiBb
ICJzcmdiIiwgImE5OC1yZ2IiLCAicmVjMjAyMCIsICJwcm9waG90by1yZ2IiIF0pIHsKKyAgICAg
ICAgZGVidWcoJycpOworICAgICAgICBkZWJ1ZygnY29sb3IoZnJvbSAuLi4gJHtjb2xvcn0gLi4u
KScpOworCisgICAgICAgIC8vIFRlc3Rpbmcgbm8gbW9kaWZpY2F0aW9ucy4KKyAgICAgICAgdGVz
dENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9y
fSByIGcgYilgLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAw
LjcgMC41IDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgYiAvIGFscGhhKWAsICAgICAgICAgICAg
ICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMylgKTsKKyAgICAgICAgdGVzdENv
bXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2Nv
bG9yfSByIGcgYilgLCAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcg
MC41IDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29s
b3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIGcgYiAvIGFscGhhKWAsICAgICAgICAg
ICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDAuNClgKTsKKworICAgICAgICAv
LyBUZXN0IG5lc3RpbmcgcmVsYXRpdmUgY29sb3JzLgorICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNv
bG9yKGZyb20gY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0g
ciBnIGIpICR7Y29sb3J9IHIgZyBiKWAsICAgYGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKWAp
OworCisgICAgICAgIC8vIFRlc3RpbmcgcmVwbGFjZW1lbnQgd2l0aCAwLgorICAgICAgICB0ZXN0
Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9
IDAgMCAwKWAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAg
MCAwKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0g
MC43IDAuNSAwLjMpICR7Y29sb3J9IDAgMCAwKWAsICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYGNvbG9yKCR7Y29sb3J9IDAgMCAwKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
KGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9IDAgMCAwIC8gMClgLCAg
ICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAgMCAwIC8gMClgKTsKKyAg
ICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4z
KSAke2NvbG9yfSAwIDAgMCAvIDApYCwgICAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcigk
e2NvbG9yfSAwIDAgMCAvIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBj
b2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gMCBnIGIgLyBhbHBoYSlgLCAgICAg
ICAgICAgICAgICAgICAgICBgY29sb3IoJHtjb2xvcn0gMCAwLjUgMC4zKWApOworICAgICAgICB0
ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29s
b3J9IHIgMCBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9
IDAuNyAwIDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgMCAvIGFscGhhKWAsICAgICAgICAgICAg
ICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDApYCk7CisgICAgICAgIHRlc3RDb21w
dXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gciBn
IGIgLyAwKWAsICAgICAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoJHtjb2xvcn0gMC43IDAu
NSAwLjMgLyAwKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtj
b2xvcn0gMC43IDAuNSAwLjMgLyA0MCUpICR7Y29sb3J9IDAgZyBiIC8gYWxwaGEpYCwgICAgICAg
ICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAgMC41IDAuMyAvIDAuNClgKTsKKyAgICAgICAgdGVz
dENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAk
e2NvbG9yfSByIDAgYiAvIGFscGhhKWAsICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAw
LjcgMCAwLjMgLyAwLjQpYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xv
cigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDQwJSkgJHtjb2xvcn0gciBnIDAgLyBhbHBoYSlgLCAg
ICAgICAgICAgICAgICBgY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwIC8gMC40KWApOworICAgICAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0
MCUpICR7Y29sb3J9IHIgZyBiIC8gMClgLCAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29s
b3J9IDAuNyAwLjUgMC4zIC8gMClgKTsKKworICAgICAgICAvLyBUZXN0aW5nIHJlcGxhY2VtZW50
IHdpdGggYSBjb25zdGFudC4KKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9y
KCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSAwLjIgZyBiIC8gYWxwaGEpYCwgICAgICAg
ICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjIgMC41IDAuMylgKTsKKyAgICAgICAgdGVz
dENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9y
fSAyMCUgZyBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAw
LjIgMC41IDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIDAuMiBiIC8gYWxwaGEpYCwgICAgICAgICAg
ICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC4yIDAuMylgKTsKKyAgICAgICAgdGVzdENv
bXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSBy
IDIwJSBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcg
MC4yIDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29s
b3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgMC4yIC8gYWxwaGEpYCwgICAgICAgICAgICAg
ICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMilgKTsKKyAgICAgICAgdGVzdENvbXB1
dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcg
MjAlIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41
IDAuMilgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9
IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgYiAvIDAuMilgLCAgICAgICAgICAgICAgICAgICAg
ICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDAuMilgKTsKKyAgICAgICAgdGVzdENv
bXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSBy
IGcgYiAvIDIwJSlgLCAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcg
MC41IDAuMyAvIDAuMilgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9y
KCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSAwLjIgZyBiIC8gYWxwaGEpYCwg
ICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjIgMC41IDAuMyAvIDAuNClgKTsKKyAgICAg
ICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8g
NDAlKSAke2NvbG9yfSAyMCUgZyBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcigke2Nv
bG9yfSAwLjIgMC41IDAuMyAvIDAuNClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihm
cm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIDAuMiBiIC8g
YWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC4yIDAuMyAvIDAuNClg
KTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAw
LjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIDIwJSBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBj
b2xvcigke2NvbG9yfSAwLjcgMC4yIDAuMyAvIDAuNClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVk
KGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSBy
IGcgMC4yIC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAu
MiAvIDAuNClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29s
b3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIGcgMjAlIC8gYWxwaGEpYCwgICAgICAg
ICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMiAvIDAuNClgKTsKKyAgICAgICAgdGVz
dENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAk
e2NvbG9yfSByIGcgYiAvIDAuMilgLCAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAw
LjcgMC41IDAuMyAvIDAuMilgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNv
bG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIGcgYiAvIDIwJSlgLCAg
ICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDAuMilgKTsKKwor
ICAgICAgICAvLyBUZXN0aW5nIHZhbGlkIHBlcm11dGF0aW9uICh0eXBlcyBtYXRjaCkuCisgICAg
ICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykg
JHtjb2xvcn0gZyBiIHIpYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoJHtj
b2xvcn0gMC41IDAuMyAwLjcpYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBj
b2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gYiBhbHBoYSByIC8gZylgLCAgICAg
ICAgICAgICAgICAgICAgICBgY29sb3IoJHtjb2xvcn0gMC4zIDEgMC43IC8gMC41KWApOworICAg
ICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMp
ICR7Y29sb3J9IHIgciByIC8gcilgLCAgICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjcgMC43IC8gMC43KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
KGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9IGFscGhhIGFscGhhIGFs
cGhhIC8gYWxwaGEpYCwgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDEgMSAxKWApOworICAgICAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0
MCUpICR7Y29sb3J9IGcgYiByKWAsICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29s
b3J9IDAuNSAwLjMgMC43KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29s
b3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0MCUpICR7Y29sb3J9IGIgYWxwaGEgciAvIGcpYCwg
ICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAuMyAwLjQgMC43IC8gMC41KWApOworICAg
ICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMg
LyA0MCUpICR7Y29sb3J9IHIgciByIC8gcilgLCAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjcgMC43IC8gMC43KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
KGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0MCUpICR7Y29sb3J9IGFscGhhIGFs
cGhhIGFscGhhIC8gYWxwaGEpYCwgICAgYGNvbG9yKCR7Y29sb3J9IDAuNCAwLjQgMC40IC8gMC40
KWApOworCisgICAgICAgIC8vIFRlc3Rpbmcgd2l0aCBjYWxjKCkuCisgICAgICAgIHRlc3RDb21w
dXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gY2Fs
YyhyKSBjYWxjKGcpIGNhbGMoYikpYCwgICAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoJHtj
b2xvcn0gMC43IDAuNSAwLjMpYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBj
b2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDQwJSkgJHtjb2xvcn0gY2FsYyhyKSBjYWxjKGcp
IGNhbGMoYikgLyBjYWxjKGFscGhhKSlgLCAgICBgY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMg
LyAwLjQpYCk7CisKKyAgICAgICAgLy8gVGVzdGluZyBpbnZhbGlkIHZhbHVlcy4KKyAgICAgICAg
dGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2Nv
bG9yfSAxMGRlZyBnIGIpYCwgICAgICAgICAgICAgICAgICAgICAgICAgIGByZ2JhKDAsIDAsIDAs
IDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAw
LjcgMC41IDAuMykgJHtjb2xvcn0gciAxMGRlZyBiKWAsICAgICAgICAgICAgICAgICAgICAgICAg
ICBgcmdiYSgwLCAwLCAwLCAwKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20g
Y29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9IHIgZyAxMGRlZylgLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICAgICAgdGVzdENvbXB1
dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcg
YiAvIDEwZGVnKWAsICAgICAgICAgICAgICAgICAgICAgIGByZ2JhKDAsIDAsIDAsIDApYCk7CisK
KyAgICAgICAgLy8gVGVzdGluZyBpbnZhbGlkIGNvbXBvbmVudCBuYW1lcworICAgICAgICB0ZXN0
Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9
IHJlZCBnIGIpYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHJnYmEoMCwgMCwgMCwgMClg
KTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAw
LjUgMC4zKSAke2NvbG9yfSB4IGcgYilgLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBy
Z2JhKDAsIDAsIDAsIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xv
cigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gbCBnIGIpYCwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBgcmdiYSgwLCAwLCAwLCAwKWApOworICAgIH0KKworICAgIGRlYnVnKCcn
KTsKKyAgICBkZWJ1ZygnY29sb3IoZnJvbSAuLi4geHl6IC4uLiknKTsKKworICAgIC8vIFRlc3Rp
bmcgbm8gbW9kaWZpY2F0aW9ucy4KKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3Io
eHl6IDcgLTIwLjUgMTAwKSB4eXogeCB5IHopYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBgY29sb3IoeHl6IDcgLTIwLjUgMTAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJv
bSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgeiAvIGFscGhhKWAsICAgICAgICAgICAg
ICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAxMDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBj
b2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkgeHl6IHggeSB6KWAsICAgICAg
ICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3IC0yMC41IDEwMClgKTsKKyAgICB0ZXN0Q29t
cHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCB5IHog
LyBhbHBoYSlgLCAgICAgICAgICAgICAgICBgY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gMC40KWAp
OworCisgICAgLy8gVGVzdCBuZXN0aW5nIHJlbGF0aXZlIGNvbG9ycy4KKyAgICB0ZXN0Q29tcHV0
ZWQoYGNvbG9yKGZyb20gY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkg
eikgeHl6IHggeSB6KWAsICAgICAgICBgY29sb3IoeHl6IDcgLTIwLjUgMTAwKWApOworCisgICAg
Ly8gVGVzdGluZyByZXBsYWNlbWVudCB3aXRoIDAuCisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihm
cm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IDAgMCAwKWAsICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYGNvbG9yKHh5eiAwIDAgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
KGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogMCAwIDApYCwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBgY29sb3IoeHl6IDAgMCAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29s
b3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiAwIDAgMCAvIDApYCwgICAgICAgICAg
ICAgICAgICAgICAgICAgIGBjb2xvcih4eXogMCAwIDAgLyAwKWApOworICAgIHRlc3RDb21wdXRl
ZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiAwIDAgMCAvIDApYCwgICAg
ICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogMCAwIDAgLyAwKWApOworICAgIHRlc3RD
b21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiAwIHkgeiAvIGFs
cGhhKWAsICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogMCAtMjAuNSAxMDApYCk7Cisg
ICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHgg
MCB6IC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3IDAgMTAwKWAp
OworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5
eiB4IHkgMCAvIGFscGhhKWAsICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAu
NSAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAx
MDApIHh5eiB4IHkgeiAvIDApYCwgICAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXog
NyAtMjAuNSAxMDAgLyAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4
eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiAwIHkgeiAvIGFscGhhKWAsICAgICAgICAgICAgICAg
IGBjb2xvcih4eXogMCAtMjAuNSAxMDAgLyAwLjQpYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xv
cihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkgeHl6IHggMCB6IC8gYWxwaGEpYCwg
ICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3IDAgMTAwIC8gMC40KWApOworICAgIHRlc3RDb21w
dXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IHkgMCAv
IGFscGhhKWAsICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAwIC8gMC40KWApOwor
ICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUp
IHh5eiB4IHkgeiAvIDApYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAx
MDAgLyAwKWApOworCisgICAgLy8gVGVzdGluZyByZXBsYWNlbWVudCB3aXRoIGEgY29uc3RhbnQu
CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6
IDAuMiB5IHogLyBhbHBoYSlgLCAgICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiAwLjIgLTIw
LjUgMTAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAu
NSAxMDApIHh5eiB4IDAuMiB6IC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4
eXogNyAwLjIgMTAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXog
NyAtMjAuNSAxMDApIHh5eiB4IHkgMC4yIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBj
b2xvcih4eXogNyAtMjAuNSAwLjIpYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNv
bG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggeSB6IC8gMC4yKWAsICAgICAgICAgICAgICAgICAg
ICAgICAgYGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDAuMilgKTsKKyAgICB0ZXN0Q29tcHV0ZWQo
YGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogeCB5IHogLyAyMCUpYCwgICAg
ICAgICAgICAgICAgICAgICAgICBgY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gMC4yKWApOworICAg
IHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5
eiAwLjIgeSB6IC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcih4eXogMC4yIC0yMC41IDEw
MCAvIDAuNClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIw
LjUgMTAwIC8gNDAlKSB4eXogeCAwLjIgeiAvIGFscGhhKWAsICAgICAgICAgICAgICBgY29sb3Io
eHl6IDcgMC4yIDEwMCAvIDAuNClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29s
b3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCB5IDAuMiAvIGFscGhhKWAsICAgICAgICAg
ICAgICBgY29sb3IoeHl6IDcgLTIwLjUgMC4yIC8gMC40KWApOworICAgIHRlc3RDb21wdXRlZChg
Y29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IHkgeiAvIDAuMilg
LCAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyAwLjIpYCk7CisKKyAg
ICAvLyBUZXN0aW5nIHZhbGlkIHBlcm11dGF0aW9uICh0eXBlcyBtYXRjaCkuCisgICAgdGVzdENv
bXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHkgeiB4KWAsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiAtMjAuNSAxMDAgNylgKTsKKyAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogeCB4
IHggLyB4KWAsICAgICAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoeHl6IDcgNyA3KWApOwor
ICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUp
IHh5eiB5IHogeClgLCAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogLTIwLjUgMTAw
IDcpYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEw
MCAvIDQwJSkgeHl6IHggeCB4IC8geClgLCAgICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3
IDcgNylgKTsKKworICAgIC8vIFRlc3RpbmcgaW52YWxpZCBwZXJtdXRhdGlvbiAodHlwZXMgZG9u
J3QgbWF0Y2gpLgorICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAu
NSAxMDApIHh5eiB6IGFscGhhIHggLyB5KWAsICAgICAgICAgICAgICAgICAgICAgIGByZ2JhKDAs
IDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0y
MC41IDEwMCkgeHl6IGFscGhhIGFscGhhIGFscGhhIC8gYWxwaGEpYCwgICAgICAgICAgYHJnYmEo
MCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcg
LTIwLjUgMTAwIC8gNDAlKSB4eXogeiBhbHBoYSB4IC8geSlgLCAgICAgICAgICAgICAgICBgcmdi
YSgwLCAwLCAwLCAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXog
NyAtMjAuNSAxMDAgLyA0MCUpIHh5eiBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKWAsICAgIGBy
Z2JhKDAsIDAsIDAsIDApYCk7CisKKyAgICAvLyBUZXN0aW5nIHdpdGggY2FsYygpLgorICAgIHRl
c3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiBjYWxjKHgp
IGNhbGMoeSkgY2FsYyh6KSlgLCAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAt
MjAuNSAxMDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0y
MC41IDEwMCAvIDQwJSkgeHl6IGNhbGMoeCkgY2FsYyh5KSBjYWxjKHopIC8gY2FsYyhhbHBoYSkp
YCwgICAgYGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDAuNClgKTsKKworICAgIC8vIFRlc3Rpbmcg
aW52YWxpZCB2YWx1ZXMuCisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3
IC0yMC41IDEwMCkgeHl6IDEwZGVnIHkgeilgLCAgICAgICAgICAgICAgICAgICAgICAgICAgYHJn
YmEoMCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6
IDcgLTIwLjUgMTAwKSB4eXogeCAxMGRlZyB6KWAsICAgICAgICAgICAgICAgICAgICAgICAgICBg
cmdiYSgwLCAwLCAwLCAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4
eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgMTBkZWcpYCwgICAgICAgICAgICAgICAgICAgICAgICAg
IGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9y
KHh5eiA3IC0yMC41IDEwMCkgeHl6IHggeSB6IC8gMTBkZWcpYCwgICAgICAgICAgICAgICAgICAg
ICAgYHJnYmEoMCwgMCwgMCwgMClgKTsKKworICAgIC8vIFRlc3RpbmcgaW52YWxpZCBjb21wb25l
bnQgbmFtZXMKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUg
MTAwKSB4eXogcmVkIHkpYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgcmdiYSgwLCAw
LCAwLCAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAu
NSAxMDApIHh5eiByIHkgeilgLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGByZ2JhKDAs
IDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0y
MC41IDEwMCkgeHl6IGwgeSB6KWAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHJnYmEo
MCwgMCwgMCwgMClgKTsKKworCisgICAgZGVidWcoJycpOworICAgIGRlYnVnKCdTcGVjIEV4YW1w
bGVzJyk7CisKICAgICAvLyBFeGFtcGxlIDExLgogICAgIHRlc3RDb21wdXRlZChgcmdiKGZyb20g
dmFyKC0tYmctY29sb3IpIHIgZyBiIC8gODAlKWAsIGByZ2JhKDAsIDAsIDI1NSwgMC44KWApOwot
ICAgIAorCiAgICAgLy8gRXhhbXBsZSAxMi4KICAgICB0ZXN0Q29tcHV0ZWQoYGxjaChmcm9tIHZh
cigtLWNvbG9yKSBjYWxjKGwgLyAyKSBjIGgpYCwgYGxjaCgyMy4xMzg5NzElIDY3Ljk4OTcxNiAx
MzQuMzkxMjUpYCk7Ci0gICAgCisKICAgICAvLyBFeGFtcGxlIDEzLgogICAgIHRlc3RDb21wdXRl
ZChgcmdiKGZyb20gdmFyKC0tY29sb3IpIGNhbGMociAqIC4zICsgZyAqIC41OSArIGIgKiAuMTEp
IGNhbGMociAqIC4zICsgZyAqIC41OSArIGIgKiAuMTEpIGNhbGMociAqIC4zICsgZyAqIC41OSAr
IGIgKiAuMTEpKWAsIGByZ2IoNzYsIDc2LCA3NilgKQogICAgIHRlc3RDb21wdXRlZChgbGNoKGZy
b20gdmFyKC0tY29sb3IpIGwgMCBoKWAsIGBsY2goNDYuMjc3OTQzJSAwIDEzNC4zOTEyNSlgKQpA
QCAtNDY1LDcgKzYwMyw3IEBACiAgICAgdGVzdENvbXB1dGVkKGBsYWIoZnJvbSB2YXIoLS1teWNv
bG9yKSBsIGEgYiAvIDEwMCUpYCwgYGxhYig2Mi43NTE5MjMlIDUyLjQ1ODAyIC0zNC4xMTcyODMp
YCk7CiAgICAgdGVzdENvbXB1dGVkKGBsYWIoZnJvbSB2YXIoLS1teWNvbG9yKSBsIGEgYiAvIGNh
bGMoYWxwaGEgKiAwLjgpKWAsIGBsYWIoNjIuNzUxOTIzJSA1Mi40NTgwMiAtMzQuMTE3MjgzIC8g
MC44KWApOwogICAgIHRlc3RDb21wdXRlZChgbGFiKGZyb20gdmFyKC0tbXljb2xvcikgbCBhIGIg
LyBjYWxjKGFscGhhIC0gMjAlKSlgLCBgbGFiKDYyLjc1MTkyMyUgNTIuNDU4MDIgLTM0LjExNzI4
MyAvIDAuOClgKTsKLSAgICAKKwogICAgIC8vIEV4YW1wbGUgMTcuCiAgICAgdGVzdENvbXB1dGVk
KGBsYWIoZnJvbSB2YXIoLS1teWNvbG9yKSBsIDAgMClgLCBgbGFiKDYyLjc1MTkyMyUgMCAwKWAp
OwogCg==
</data>
<flag name="commit-queue"
          id="451781"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430362</attachid>
            <date>2021-06-02 08:40:08 -0700</date>
            <delta_ts>2021-06-02 08:46:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226513-20210602084007.patch</filename>
            <type>text/plain</type>
            <size>81286</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA2LTAxICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgInJlbGF0
aXZlIGNvbG9yIHN5bnRheCIgZm9yIGNvbG9yKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjUxMworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIENTUyBDb2xvciA1IGhhcyByZWNlbnRseSBiZWVuIHVwZGF0ZSB0
byBzdXBwb3J0IHJlbGF0aXZlIGNvbG9yIHN5bnRheCBmb3IKKyAgICAgICAgdGhlIGNvbG9yKCkg
ZnVuY3Rpb24gaW4gYWRkaXRpb24gdG8gdGhlIGV4aXN0aW5nIHJnYigpLCBoc2woKSwgaHdiKCks
IGxhYigpCisgICAgICAgIGFuZCBsY2goKS4KKworICAgICAgICBUb29rIHRoZSBvcGVydHVuaXR5
IHRvIHJlZmFjdG9yIG90aGVyIHJlbGF0aXZlIGNvbG9yIHN5bnRheCBwYXJzaW5nIHRvIHNoYXJl
CisgICAgICAgIG1vcmUgY29kZSBiZXR3ZWVuIHJlbGF0aXZlIGFuZCBub24tcmVsYXRpdmUgcGFy
c2VycyB1c2luZyBhIHNoYXJlZCBmdW5jdGlvbgorICAgICAgICB3aXRoIGxhbWJkYXMgdG8gZGlm
ZmVyZW50aWF0ZSB0aGUgY29tcG9uZW50IGNvbnN1bWVycy4gVGhpcyB3YXMgZG9uZSBmb3IgYWxs
CisgICAgICAgIHRoZSBjb2xvciB0eXBlcyBleGNlcHQgcmdiKCkgYW5kIGhzbCgpLCB3aGljaCBo
YXZlIG5vdGFibGUgZGlmZmVyZW5jZXMgaW4gCisgICAgICAgIHBhcnNpbmcgYmV0d2VlbiB0aGUg
cmVsYXRpdmUgYW5kIG5vbi1yZWxhdGl2ZSB2ZXJzaW9uLgorCisgICAgICAgICogY3NzL3BhcnNl
ci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJv
cGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZU5vblJlbGF0aXZlUkdCUGFyYW1ldGVycyk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlUkdCUGFyYW1ldGVy
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbG9yQnlO
b3JtYWxpemluZ0hTTENvbXBvbmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQ
YXJzZXJIZWxwZXJzOjpwYXJzZVJlbGF0aXZlSFNMUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlTm9uUmVsYXRpdmVIU0xQYXJhbWV0
ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VI
U0xQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVy
czo6cGFyc2VIV0JQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFy
c2VySGVscGVyczo6cGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZU5vblJlbGF0aXZlSFdCUGFyYW1ldGVy
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlTGFi
UGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6
OnBhcnNlUmVsYXRpdmVMYWJQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3Bl
cnR5UGFyc2VySGVscGVyczo6cGFyc2VOb25SZWxhdGl2ZUxhYlBhcmFtZXRlcnMpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZUxDSFBhcmFtZXRlcnMp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZVJlbGF0
aXZlTENIUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhl
bHBlcnM6OnBhcnNlTm9uUmVsYXRpdmVMQ0hQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXMp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZVJlbGF0
aXZlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3Bl
cnR5UGFyc2VySGVscGVyczo6cGFyc2VDb2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1ldGVycyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlUmVsYXRpdmVD
b2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9w
ZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlUmVsYXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlTm9uUmVs
YXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9w
ZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlQ29sb3JGdW5jdGlvblBhcmFtZXRlcnMpOgorCiAyMDIx
LTA2LTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbY3NzLXNjcm9sbC1zbmFwXSBTY3JvbGwgc25hcCBpcyBicm9rZW4gd2l0aCBub24taG9yaXpv
bnRhbCB3cml0aW5nIG1vZGVzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1By
b3BlcnR5UGFyc2VySGVscGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCShyZXZpc2lvbiAyNzgzNTApCisr
KyBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE0OTksMTggKzE0OTksOCBAQCBzdGF0aWMgQ29sb3IgcGFyc2VS
ZWxhdGl2ZVJHQlBhcmFtZXRlcnMoCiAgICAgcmV0dXJuIFNSR0JBPHVpbnQ4X3Q+IHsgKnJlZCwg
KmdyZWVuLCAqYmx1ZSwgbm9ybWFsaXplZEFscGhhIH07CiB9CiAKLWVudW0gY2xhc3MgUkdCRnVu
Y3Rpb25Nb2RlIHsgUkdCLCBSR0JBIH07Ci0KLXRlbXBsYXRlPFJHQkZ1bmN0aW9uTW9kZSBNb2Rl
PiBzdGF0aWMgQ29sb3IgcGFyc2VSR0JQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIHJh
bmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQorc3RhdGljIENvbG9yIHBhcnNl
Tm9uUmVsYXRpdmVSR0JQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MpCiB7Ci0g
ICAgQVNTRVJUKHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCkgPT0gQ1NTVmFsdWVSZ2IgfHwgcmFu
Z2UucGVlaygpLmZ1bmN0aW9uSWQoKSA9PSBDU1NWYWx1ZVJnYmEpOwotICAgIGF1dG8gYXJncyA9
IGNvbnN1bWVGdW5jdGlvbihyYW5nZSk7Ci0KLSAgICBpZiBjb25zdGV4cHIgKE1vZGUgPT0gUkdC
RnVuY3Rpb25Nb2RlOjpSR0IpIHsKLSAgICAgICAgaWYgKGNvbnRleHQucmVsYXRpdmVDb2xvclN5
bnRheEVuYWJsZWQgJiYgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pCi0gICAgICAg
ICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZVJHQlBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7Ci0g
ICAgfQotCiAgICAgc3RydWN0IEluaXRpYWxDb21wb25lbnQgewogICAgICAgICBkb3VibGUgdmFs
dWU7CiAgICAgICAgIFJHQkNvbXBvbmVudFR5cGUgdHlwZTsKQEAgLTE1NjksNiArMTU1OSwzMiBA
QCB0ZW1wbGF0ZTxSR0JGdW5jdGlvbk1vZGUgTW9kZT4gc3RhdGljIENvCiAgICAgcmV0dXJuIFNS
R0JBPHVpbnQ4X3Q+IHsgbm9ybWFsaXplZFJlZCwgbm9ybWFsaXplZEdyZWVuLCBub3JtYWxpemVk
Qmx1ZSwgbm9ybWFsaXplZEFscGhhIH07CiB9CiAKK2VudW0gY2xhc3MgUkdCRnVuY3Rpb25Nb2Rl
IHsgUkdCLCBSR0JBIH07CisKK3RlbXBsYXRlPFJHQkZ1bmN0aW9uTW9kZSBNb2RlPiBzdGF0aWMg
Q29sb3IgcGFyc2VSR0JQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25z
dCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIEFTU0VSVChyYW5nZS5wZWVrKCku
ZnVuY3Rpb25JZCgpID09IChNb2RlID09IFJHQkZ1bmN0aW9uTW9kZTo6UkdCID8gQ1NTVmFsdWVS
Z2IgOiBDU1NWYWx1ZVJnYmEpKTsKKyAgICBhdXRvIGFyZ3MgPSBjb25zdW1lRnVuY3Rpb24ocmFu
Z2UpOworCisgICAgaWYgY29uc3RleHByIChNb2RlID09IFJHQkZ1bmN0aW9uTW9kZTo6UkdCKSB7
CisgICAgICAgIGlmIChjb250ZXh0LnJlbGF0aXZlQ29sb3JTeW50YXhFbmFibGVkICYmIGFyZ3Mu
cGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVGcm9tKQorICAgICAgICAgICAgcmV0dXJuIHBhcnNlUmVs
YXRpdmVSR0JQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOworICAgIH0KKyAgICByZXR1cm4gcGFy
c2VOb25SZWxhdGl2ZVJHQlBhcmFtZXRlcnMoYXJncyk7Cit9CisKK3N0YXRpYyBDb2xvciBjb2xv
ckJ5Tm9ybWFsaXppbmdIU0xDb21wb25lbnRzKGRvdWJsZSBodWUsIGRvdWJsZSBzYXR1cmF0aW9u
LCBkb3VibGUgbGlnaHRuZXNzLCBkb3VibGUgYWxwaGEpCit7CisgICAgYXV0byBub3JtYWxpemVk
SHVlID0gbm9ybWFsaXplSHVlKGh1ZSk7CisgICAgYXV0byBub3JtYWxpemVkU2F0dXJhdGlvbiA9
IHN0ZDo6Y2xhbXAoc2F0dXJhdGlvbiwgMC4wLCAxMDAuMCk7CisgICAgYXV0byBub3JtYWxpemVk
TGlnaHRuZXNzID0gc3RkOjpjbGFtcChsaWdodG5lc3MsIDAuMCwgMTAwLjApOworICAgIGF1dG8g
bm9ybWFsaXplZEFscGhhID0gc3RkOjpjbGFtcChhbHBoYSwgMC4wLCAxLjApOworCisgICAgLy8g
Tk9URTogVGhlIGV4cGxpY2l0IGNvbnZlcnNpb24gdG8gU1JHQkE8dWludDhfdD4gaXMgaW50ZW50
aW9uYWwgZm9yIHBlcmZvcm1hbmNlIChubyBleHRyYSBhbGxvY2F0aW9uIGZvcgorICAgIC8vIHRo
ZSBleHRlbmRlZCBjb2xvcikgYW5kIGNvbXBhdGFiaWxpdHksIGZvcmNpbmcgc2VyaWFsaWF6YXRp
b24gdG8gdXNlIHRoZSByZ2IoKS9yZ2JhKCkgZm9ybS4KKyAgICByZXR1cm4gY29udmVydENvbG9y
PFNSR0JBPHVpbnQ4X3Q+PihIU0xBPGZsb2F0PiB7IHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxp
emVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRTYXR1cmF0aW9uKSwgc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9y
bWFsaXplZEFscGhhKSB9KTsKK30KKwogc3RhdGljIENvbG9yIHBhcnNlUmVsYXRpdmVIU0xQYXJh
bWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1BhcnNlckNvbnRleHQm
IGNvbnRleHQpCiB7CiAgICAgQVNTRVJUKGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVGcm9t
KTsKQEAgLTE2MDYsMjYgKzE2MjIsMTEgQEAgc3RhdGljIENvbG9yIHBhcnNlUmVsYXRpdmVIU0xQ
YXJhbWV0ZXJzKAogICAgIGlmICghYXJncy5hdEVuZCgpKQogICAgICAgICByZXR1cm4geyB9Owog
Ci0gICAgYXV0byBub3JtYWxpemVkSHVlID0gbm9ybWFsaXplSHVlKCpodWUpOwotICAgIGF1dG8g
bm9ybWFsaXplZFNhdHVyYXRpb24gPSBzdGQ6OmNsYW1wKCpzYXR1cmF0aW9uLCAwLjAsIDEwMC4w
KTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRMaWdodG5lc3MgPSBzdGQ6OmNsYW1wKCpsaWdodG5lc3Ms
IDAuMCwgMTAwLjApOwotICAgIGF1dG8gbm9ybWFsaXplZEFscGhhID0gc3RkOjpjbGFtcCgqYWxw
aGEsIDAuMCwgMS4wKTsKLQotICAgIHJldHVybiBjb252ZXJ0Q29sb3I8U1JHQkE8dWludDhfdD4+
KEhTTEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRIdWUpLCBzdGF0aWNf
Y2FzdDxmbG9hdD4obm9ybWFsaXplZFNhdHVyYXRpb24pLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9y
bWFsaXplZExpZ2h0bmVzcyksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkQWxwaGEpIH0p
OworICAgIHJldHVybiBjb2xvckJ5Tm9ybWFsaXppbmdIU0xDb21wb25lbnRzKCpodWUsICpzYXR1
cmF0aW9uLCAqbGlnaHRuZXNzLCAqYWxwaGEpOwogfQogCi1lbnVtIGNsYXNzIEhTTEZ1bmN0aW9u
TW9kZSB7IEhTTCwgSFNMQSB9OwotCi10ZW1wbGF0ZTxIU0xGdW5jdGlvbk1vZGUgTW9kZT4gc3Rh
dGljIENvbG9yIHBhcnNlSFNMUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwg
Y29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3N0YXRpYyBDb2xvciBwYXJzZU5vblJl
bGF0aXZlSFNMUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBjb25zdCBDU1NQ
YXJzZXJDb250ZXh0JiBjb250ZXh0KQogewotICAgIEFTU0VSVChyYW5nZS5wZWVrKCkuZnVuY3Rp
b25JZCgpID09IENTU1ZhbHVlSHNsIHx8IHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCkgPT0gQ1NT
VmFsdWVIc2xhKTsKLSAgICBhdXRvIGFyZ3MgPSBjb25zdW1lRnVuY3Rpb24ocmFuZ2UpOwotCi0g
ICAgaWYgY29uc3RleHByIChNb2RlID09IEhTTEZ1bmN0aW9uTW9kZTo6SFNMKSB7Ci0gICAgICAg
IGlmIChjb250ZXh0LnJlbGF0aXZlQ29sb3JTeW50YXhFbmFibGVkICYmIGFyZ3MucGVlaygpLmlk
KCkgPT0gQ1NTVmFsdWVGcm9tKQotICAgICAgICAgICAgcmV0dXJuIHBhcnNlUmVsYXRpdmVIU0xQ
YXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOwotICAgIH0KLQogICAgIGF1dG8gaHVlID0gY29uc3Vt
ZUFuZ2xlUmF3T3JOdW1iZXJSYXcoYXJncywgY29udGV4dC5tb2RlKTsKICAgICBpZiAoIWh1ZSkK
ICAgICAgICAgcmV0dXJuIHsgfTsKQEAgLTE2NTAsMTIgKzE2NTEsMjIgQEAgdGVtcGxhdGU8SFNM
RnVuY3Rpb25Nb2RlIE1vZGU+IHN0YXRpYyBDbwogICAgIGlmICghYXJncy5hdEVuZCgpKQogICAg
ICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byBub3JtYWxpemVkSHVlID0gbm9ybWFsaXplSHVl
KCpodWUpOwotICAgIGF1dG8gbm9ybWFsaXplZFNhdHVyYXRpb24gPSBzdGQ6OmNsYW1wKCpzYXR1
cmF0aW9uLCAwLjAsIDEwMC4wKTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRMaWdodG5lc3MgPSBzdGQ6
OmNsYW1wKCpsaWdodG5lc3MsIDAuMCwgMTAwLjApOwotICAgIGF1dG8gbm9ybWFsaXplZEFscGhh
ID0gc3RkOjpjbGFtcCgqYWxwaGEsIDAuMCwgMS4wKTsKKyAgICByZXR1cm4gY29sb3JCeU5vcm1h
bGl6aW5nSFNMQ29tcG9uZW50cygqaHVlLCAqc2F0dXJhdGlvbiwgKmxpZ2h0bmVzcywgKmFscGhh
KTsKK30KIAotICAgIHJldHVybiBjb252ZXJ0Q29sb3I8U1JHQkE8dWludDhfdD4+KEhTTEE8Zmxv
YXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRIdWUpLCBzdGF0aWNfY2FzdDxmbG9h
dD4obm9ybWFsaXplZFNhdHVyYXRpb24pLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZExp
Z2h0bmVzcyksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkQWxwaGEpIH0pOworZW51bSBj
bGFzcyBIU0xGdW5jdGlvbk1vZGUgeyBIU0wsIEhTTEEgfTsKKwordGVtcGxhdGU8SFNMRnVuY3Rp
b25Nb2RlIE1vZGU+IHN0YXRpYyBDb2xvciBwYXJzZUhTTFBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9r
ZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAg
QVNTRVJUKHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCkgPT0gKE1vZGUgPT0gSFNMRnVuY3Rpb25N
b2RlOjpIU0wgPyBDU1NWYWx1ZUhzbCA6IENTU1ZhbHVlSHNsYSkpOworICAgIGF1dG8gYXJncyA9
IGNvbnN1bWVGdW5jdGlvbihyYW5nZSk7CisKKyAgICBpZiBjb25zdGV4cHIgKE1vZGUgPT0gSFNM
RnVuY3Rpb25Nb2RlOjpIU0wpIHsKKyAgICAgICAgaWYgKGNvbnRleHQucmVsYXRpdmVDb2xvclN5
bnRheEVuYWJsZWQgJiYgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pCisgICAgICAg
ICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUhTTFBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7Cisg
ICAgfQorCisgICAgcmV0dXJuIHBhcnNlTm9uUmVsYXRpdmVIU0xQYXJhbWV0ZXJzKGFyZ3MsIGNv
bnRleHQpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb21wb25lbnRUeXBlPiBzdHJ1Y3QgV2hp
dGVuZXNzQmxhY2tuZXNzIHsKQEAgLTE2ODMsNiArMTY5NCwzNiBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZSBDb21wb25lbnRUeXBlPiBzdGF0aWMgCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAordGVtcGxh
dGU8dHlwZW5hbWUgQ29uc3VtZXJGb3JIdWUsIHR5cGVuYW1lIENvbnN1bWVyRm9yV2hpdGVuZXNz
QW5kQmxhY2tuZXNzLCB0eXBlbmFtZSBDb25zdW1lckZvckFscGhhPgorc3RhdGljIENvbG9yIHBh
cnNlSFdCUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBDb25zdW1lckZvckh1
ZSYmIGh1ZUNvbnN1bWVyLCBDb25zdW1lckZvcldoaXRlbmVzc0FuZEJsYWNrbmVzcyYmIHdoaXRl
bmVzc0FuZEJsYWNrbmVzc0NvbnN1bWVyLCBDb25zdW1lckZvckFscGhhJiYgYWxwaGFDb25zdW1l
cikKK3sKKyAgICBhdXRvIGh1ZSA9IGh1ZUNvbnN1bWVyKGFyZ3MpOworICAgIGlmICghaHVlKQor
ICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byB3aGl0ZW5lc3MgPSB3aGl0ZW5lc3NBbmRC
bGFja25lc3NDb25zdW1lcihhcmdzKTsKKyAgICBpZiAoIXdoaXRlbmVzcykKKyAgICAgICAgcmV0
dXJuIHsgfTsKKworICAgIGF1dG8gYmxhY2tuZXNzID0gd2hpdGVuZXNzQW5kQmxhY2tuZXNzQ29u
c3VtZXIoYXJncyk7CisgICAgaWYgKCFibGFja25lc3MpCisgICAgICAgIHJldHVybiB7IH07CisK
KyAgICBhdXRvIGFscGhhID0gYWxwaGFDb25zdW1lcihhcmdzKTsKKyAgICBpZiAoIWFscGhhKQor
ICAgICAgICByZXR1cm4geyB9OworCisgICAgaWYgKCFhcmdzLmF0RW5kKCkpCisgICAgICAgIHJl
dHVybiB7IH07CisKKyAgICBhdXRvIG5vcm1hbGl6ZWRIdWUgPSBub3JtYWxpemVIdWUoKmh1ZSk7
CisgICAgYXV0byBbbm9ybWFsaXplZFdoaXRuZXNzLCBub3JtYWxpemVkQmxhY2tuZXNzXSA9IG5v
cm1hbGl6ZVdoaXRlbmVzc0JsYWNrbmVzcygqd2hpdGVuZXNzLCAqYmxhY2tuZXNzKTsKKworICAg
IC8vIE5PVEU6IFRoZSBleHBsaWNpdCBjb252ZXJzaW9uIHRvIFNSR0JBPHVpbnQ4X3Q+IGlzIGlu
dGVudGlvbmFsIGZvciBwZXJmb3JtYW5jZSAobm8gZXh0cmEgYWxsb2NhdGlvbiBmb3IKKyAgICAv
LyB0aGUgZXh0ZW5kZWQgY29sb3IpIGFuZCBjb21wYXRhYmlsaXR5LCBmb3JjaW5nIHNlcmlhbGlh
emF0aW9uIHRvIHVzZSB0aGUgcmdiKCkvcmdiYSgpIGZvcm0uCisgICAgcmV0dXJuIGNvbnZlcnRD
b2xvcjxTUkdCQTx1aW50OF90Pj4oSFdCQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4obm9y
bWFsaXplZEh1ZSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkV2hpdG5lc3MpLCBzdGF0
aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZEJsYWNrbmVzcyksIHN0YXRpY19jYXN0PGZsb2F0Pigq
YWxwaGEpIH0pOworfQorCiBzdGF0aWMgQ29sb3IgcGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4
dCkKIHsKICAgICBBU1NFUlQoYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pOwpAQCAt
MTcwMSwyOSArMTc0MiwyMCBAQCBzdGF0aWMgQ29sb3IgcGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRl
cnMoCiAgICAgICAgIHsgQ1NTVmFsdWVBbHBoYSwgQ1NTVW5pdFR5cGU6OkNTU19QRVJDRU5UQUdF
LCBvcmlnaW5Db2xvckFzSFdCLmFscGhhICogMTAwLjAgfQogICAgIH07CiAKLSAgICBhdXRvIGh1
ZSA9IGNvbnN1bWVBbmdsZVJhd09yTnVtYmVyUmF3QWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFy
Z3MsIHN5bWJvbFRhYmxlLCBjb250ZXh0Lm1vZGUpOwotICAgIGlmICghaHVlKQotICAgICAgICBy
ZXR1cm4geyB9OwotCi0gICAgYXV0byB3aGl0ZW5lc3MgPSBjb25zdW1lUGVyY2VudEFsbG93aW5n
U3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xUYWJsZSk7Ci0gICAgaWYgKCF3aGl0ZW5lc3Mp
Ci0gICAgICAgIHJldHVybiB7IH07CisgICAgYXV0byBodWVDb25zdW1lciA9IFsmc3ltYm9sVGFi
bGUsICZjb250ZXh0XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lQW5nbGVSYXdPck51bWJl
clJhd0FsbG93aW5nU3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xUYWJsZSwgY29udGV4dC5t
b2RlKTsgfTsKKyAgICBhdXRvIHdoaXRlbmVzc0FuZEJsYWNrbmVzc0NvbnN1bWVyID0gWyZzeW1i
b2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZVBlcmNlbnRBbGxvd2luZ1N5bWJv
bFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OworICAgIGF1dG8gYWxwaGFDb25zdW1l
ciA9IFsmc3ltYm9sVGFibGVdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFs
cGhhQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsgfTsKIAotICAg
IGF1dG8gYmxhY2tuZXNzID0gY29uc3VtZVBlcmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQo
YXJncywgc3ltYm9sVGFibGUpOwotICAgIGlmICghYmxhY2tuZXNzKQotICAgICAgICByZXR1cm4g
eyB9OwotCi0gICAgYXV0byBhbHBoYSA9IGNvbnN1bWVPcHRpb25hbEFscGhhQWxsb3dpbmdTeW1i
b2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsKLSAgICBpZiAoIWFscGhhKQotICAgICAg
ICByZXR1cm4geyB9OwotCi0gICAgaWYgKCFhcmdzLmF0RW5kKCkpCi0gICAgICAgIHJldHVybiB7
IH07CisgICAgcmV0dXJuIHBhcnNlSFdCUGFyYW1ldGVycyhhcmdzLCBXVEZNb3ZlKGh1ZUNvbnN1
bWVyKSwgV1RGTW92ZSh3aGl0ZW5lc3NBbmRCbGFja25lc3NDb25zdW1lciksIFdURk1vdmUoYWxw
aGFDb25zdW1lcikpOworfQogCi0gICAgYXV0byBub3JtYWxpemVkSHVlID0gbm9ybWFsaXplSHVl
KCpodWUpOwotICAgIGF1dG8gW25vcm1hbGl6ZWRXaGl0bmVzcywgbm9ybWFsaXplZEJsYWNrbmVz
c10gPSBub3JtYWxpemVXaGl0ZW5lc3NCbGFja25lc3MoKndoaXRlbmVzcywgKmJsYWNrbmVzcyk7
CitzdGF0aWMgQ29sb3IgcGFyc2VOb25SZWxhdGl2ZUhXQlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9r
ZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBh
dXRvIGh1ZUNvbnN1bWVyID0gWyZjb250ZXh0XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1l
QW5nbGVSYXdPck51bWJlclJhdyhhcmdzLCBjb250ZXh0Lm1vZGUpOyB9OworICAgIGF1dG8gd2hp
dGVuZXNzQW5kQmxhY2tuZXNzQ29uc3VtZXIgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25z
dW1lUGVyY2VudFJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGFscGhhQ29uc3VtZXIgPSBbXShhdXRv
JiBhcmdzKSB7IHJldHVybiBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsgfTsKIAotICAgIHJl
dHVybiBjb252ZXJ0Q29sb3I8U1JHQkE8dWludDhfdD4+KEhXQkE8ZmxvYXQ+IHsgc3RhdGljX2Nh
c3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRIdWUpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZFdo
aXRuZXNzKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRCbGFja25lc3MpLCBzdGF0aWNf
Y2FzdDxmbG9hdD4oKmFscGhhKSB9KTsKKyAgICByZXR1cm4gcGFyc2VIV0JQYXJhbWV0ZXJzKGFy
Z3MsIFdURk1vdmUoaHVlQ29uc3VtZXIpLCBXVEZNb3ZlKHdoaXRlbmVzc0FuZEJsYWNrbmVzc0Nv
bnN1bWVyKSwgV1RGTW92ZShhbHBoYUNvbnN1bWVyKSk7CiB9CiAKIHN0YXRpYyBDb2xvciBwYXJz
ZUhXQlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNl
ckNvbnRleHQmIGNvbnRleHQpCkBAIC0xNzM3LDMwICsxNzY5LDM0IEBAIHN0YXRpYyBDb2xvciBw
YXJzZUhXQlBhcmFtZXRlcnMoQ1NTUGFyc2UKIAogICAgIGlmIChjb250ZXh0LnJlbGF0aXZlQ29s
b3JTeW50YXhFbmFibGVkICYmIGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVGcm9tKQogICAg
ICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7Cisg
ICAgcmV0dXJuIHBhcnNlTm9uUmVsYXRpdmVIV0JQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOwor
fQogCi0gICAgYXV0byBodWUgPSBjb25zdW1lQW5nbGVSYXdPck51bWJlclJhdyhhcmdzLCBjb250
ZXh0Lm1vZGUpOwotICAgIGlmICghaHVlKQordGVtcGxhdGU8dHlwZW5hbWUgQ29uc3VtZXJGb3JM
aWdodG5lc3MsIHR5cGVuYW1lIENvbnN1bWVyRm9yQUIsIHR5cGVuYW1lIENvbnN1bWVyRm9yQWxw
aGE+CitzdGF0aWMgQ29sb3IgcGFyc2VMYWJQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2Um
IGFyZ3MsIENvbnN1bWVyRm9yTGlnaHRuZXNzJiYgbGlnaHRuZXNzQ29uc3VtZXIsIENvbnN1bWVy
Rm9yQUImJiBhYkNvbnN1bWVyLCBDb25zdW1lckZvckFscGhhJiYgYWxwaGFDb25zdW1lcikKK3sK
KyAgICBhdXRvIGxpZ2h0bmVzcyA9IGxpZ2h0bmVzc0NvbnN1bWVyKGFyZ3MpOworICAgIGlmICgh
bGlnaHRuZXNzKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byB3aGl0ZW5lc3MgPSBj
b25zdW1lUGVyY2VudFJhdyhhcmdzKTsKLSAgICBpZiAoIXdoaXRlbmVzcykKKyAgICBhdXRvIGFW
YWx1ZSA9IGFiQ29uc3VtZXIoYXJncyk7CisgICAgaWYgKCFhVmFsdWUpCiAgICAgICAgIHJldHVy
biB7IH07CiAKLSAgICBhdXRvIGJsYWNrbmVzcyA9IGNvbnN1bWVQZXJjZW50UmF3KGFyZ3MpOwot
ICAgIGlmICghYmxhY2tuZXNzKQorICAgIGF1dG8gYlZhbHVlID0gYWJDb25zdW1lcihhcmdzKTsK
KyAgICBpZiAoIWJWYWx1ZSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gYWxwaGEg
PSBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsKKyAgICBhdXRvIGFscGhhID0gYWxwaGFDb25z
dW1lcihhcmdzKTsKICAgICBpZiAoIWFscGhhKQogICAgICAgICByZXR1cm4geyB9OwogCiAgICAg
aWYgKCFhcmdzLmF0RW5kKCkpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIG5vcm1h
bGl6ZWRIdWUgPSBub3JtYWxpemVIdWUoKmh1ZSk7Ci0gICAgYXV0byBbbm9ybWFsaXplZFdoaXRu
ZXNzLCBub3JtYWxpemVkQmxhY2tuZXNzXSA9IG5vcm1hbGl6ZVdoaXRlbmVzc0JsYWNrbmVzcygq
d2hpdGVuZXNzLCAqYmxhY2tuZXNzKTsKKyAgICBhdXRvIG5vcm1hbGl6ZWRMaWdodG5lc3MgPSBz
dGQ6Om1heCgwLjAsICpsaWdodG5lc3MpOwogCi0gICAgcmV0dXJuIGNvbnZlcnRDb2xvcjxTUkdC
QTx1aW50OF90Pj4oSFdCQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZEh1
ZSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkV2hpdG5lc3MpLCBzdGF0aWNfY2FzdDxm
bG9hdD4obm9ybWFsaXplZEJsYWNrbmVzcyksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxwaGEpIH0p
OworICAgIHJldHVybiBMYWI8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRM
aWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFWYWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0
PigqYlZhbHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphbHBoYSkgfTsKIH0KIAogc3RhdGljIENv
bG9yIHBhcnNlUmVsYXRpdmVMYWJQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3Ms
IGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCkBAIC0xNzgxLDI4ICsxODE3LDIwIEBA
IHN0YXRpYyBDb2xvciBwYXJzZVJlbGF0aXZlTGFiUGFyYW1ldGVycygKICAgICAgICAgeyBDU1NW
YWx1ZUFscGhhLCBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNMYWIu
YWxwaGEgKiAxMDAuMCB9CiAgICAgfTsKIAotICAgIGF1dG8gbGlnaHRuZXNzID0gY29uc3VtZVBl
cmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlm
ICghbGlnaHRuZXNzKQotICAgICAgICByZXR1cm4geyB9OwotCi0gICAgYXV0byBhVmFsdWUgPSBj
b25zdW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsK
LSAgICBpZiAoIWFWYWx1ZSkKLSAgICAgICAgcmV0dXJuIHsgfTsKKyAgICBhdXRvIGxpZ2h0bmVz
c0NvbnN1bWVyID0gWyZzeW1ib2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZVBl
cmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OworICAg
IGF1dG8gYWJDb25zdW1lciA9IFsmc3ltYm9sVGFibGVdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNv
bnN1bWVOdW1iZXJBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9
OworICAgIGF1dG8gYWxwaGFDb25zdW1lciA9IFsmc3ltYm9sVGFibGVdKGF1dG8mIGFyZ3MpIHsg
cmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3Ms
IHN5bWJvbFRhYmxlKTsgfTsKIAotICAgIGF1dG8gYlZhbHVlID0gY29uc3VtZU51bWJlckFsbG93
aW5nU3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xUYWJsZSk7Ci0gICAgaWYgKCFiVmFsdWUp
Ci0gICAgICAgIHJldHVybiB7IH07Ci0KLSAgICBhdXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFs
QWxwaGFBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlm
ICghYWxwaGEpCi0gICAgICAgIHJldHVybiB7IH07Ci0KLSAgICBpZiAoIWFyZ3MuYXRFbmQoKSkK
LSAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gcGFyc2VMYWJQYXJhbWV0ZXJzKGFyZ3Ms
IFdURk1vdmUobGlnaHRuZXNzQ29uc3VtZXIpLCBXVEZNb3ZlKGFiQ29uc3VtZXIpLCBXVEZNb3Zl
KGFscGhhQ29uc3VtZXIpKTsKK30KIAotICAgIGF1dG8gbm9ybWFsaXplZExpZ2h0bmVzcyA9IHN0
ZDo6bWF4KDAuMCwgKmxpZ2h0bmVzcyk7CitzdGF0aWMgQ29sb3IgcGFyc2VOb25SZWxhdGl2ZUxh
YlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncykKK3sKKyAgICBhdXRvIGxpZ2h0
bmVzc0NvbnN1bWVyID0gW10oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZVBlcmNlbnRSYXco
YXJncyk7IH07CisgICAgYXV0byBhYkNvbnN1bWVyID0gW10oYXV0byYgYXJncykgeyByZXR1cm4g
Y29uc3VtZU51bWJlclJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGFscGhhQ29uc3VtZXIgPSBbXShh
dXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsgfTsKIAotICAg
IHJldHVybiBMYWI8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5l
c3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFWYWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0PigqYlZh
bHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphbHBoYSkgfTsKKyAgICByZXR1cm4gcGFyc2VMYWJQ
YXJhbWV0ZXJzKGFyZ3MsIFdURk1vdmUobGlnaHRuZXNzQ29uc3VtZXIpLCBXVEZNb3ZlKGFiQ29u
c3VtZXIpLCBXVEZNb3ZlKGFscGhhQ29uc3VtZXIpKTsKIH0KIAogc3RhdGljIENvbG9yIHBhcnNl
TGFiUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2Vy
Q29udGV4dCYgY29udGV4dCkKQEAgLTE4MTYsMjAgKzE4NDQsMjUgQEAgc3RhdGljIENvbG9yIHBh
cnNlTGFiUGFyYW1ldGVycyhDU1NQYXJzZQogCiAgICAgaWYgKGNvbnRleHQucmVsYXRpdmVDb2xv
clN5bnRheEVuYWJsZWQgJiYgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pCiAgICAg
ICAgIHJldHVybiBwYXJzZVJlbGF0aXZlTGFiUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsKKyAg
ICByZXR1cm4gcGFyc2VOb25SZWxhdGl2ZUxhYlBhcmFtZXRlcnMoYXJncyk7Cit9CiAKLSAgICBh
dXRvIGxpZ2h0bmVzcyA9IGNvbnN1bWVQZXJjZW50UmF3KGFyZ3MpOwordGVtcGxhdGU8dHlwZW5h
bWUgQ29uc3VtZXJGb3JMaWdodG5lc3MsIHR5cGVuYW1lIENvbnN1bWVyRm9yQ2hyb21hLCB0eXBl
bmFtZSBDb25zdW1lckZvckh1ZSwgdHlwZW5hbWUgQ29uc3VtZXJGb3JBbHBoYT4KK3N0YXRpYyBD
b2xvciBwYXJzZUxDSFBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgQ29uc3Vt
ZXJGb3JMaWdodG5lc3MmJiBsaWdodG5lc3NDb25zdW1lciwgQ29uc3VtZXJGb3JDaHJvbWEmJiBj
aHJvbWFDb25zdW1lciwgQ29uc3VtZXJGb3JIdWUmJiBodWVDb25zdW1lciwgQ29uc3VtZXJGb3JB
bHBoYSYmIGFscGhhQ29uc3VtZXIpCit7CisgICAgYXV0byBsaWdodG5lc3MgPSBsaWdodG5lc3ND
b25zdW1lcihhcmdzKTsKICAgICBpZiAoIWxpZ2h0bmVzcykKICAgICAgICAgcmV0dXJuIHsgfTsK
IAotICAgIGF1dG8gYVZhbHVlID0gY29uc3VtZU51bWJlclJhdyhhcmdzKTsKLSAgICBpZiAoIWFW
YWx1ZSkKKyAgICBhdXRvIGNocm9tYSA9IGNocm9tYUNvbnN1bWVyKGFyZ3MpOworICAgIGlmICgh
Y2hyb21hKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byBiVmFsdWUgPSBjb25zdW1l
TnVtYmVyUmF3KGFyZ3MpOwotICAgIGlmICghYlZhbHVlKQorICAgIGF1dG8gaHVlID0gaHVlQ29u
c3VtZXIoYXJncyk7CisgICAgaWYgKCFodWUpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBh
dXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFsQWxwaGEoYXJncyk7CisgICAgYXV0byBhbHBoYSA9
IGFscGhhQ29uc3VtZXIoYXJncyk7CiAgICAgaWYgKCFhbHBoYSkKICAgICAgICAgcmV0dXJuIHsg
fTsKIApAQCAtMTgzNyw4ICsxODcwLDEwIEBAIHN0YXRpYyBDb2xvciBwYXJzZUxhYlBhcmFtZXRl
cnMoQ1NTUGFyc2UKICAgICAgICAgcmV0dXJuIHsgfTsKIAogICAgIGF1dG8gbm9ybWFsaXplZExp
Z2h0bmVzcyA9IHN0ZDo6bWF4KDAuMCwgKmxpZ2h0bmVzcyk7CisgICAgYXV0byBub3JtYWxpemVk
Q2hyb21hID0gc3RkOjptYXgoMC4wLCAqY2hyb21hKTsKKyAgICBhdXRvIG5vcm1hbGl6ZWRIdWUg
PSBub3JtYWxpemVIdWUoKmh1ZSk7CiAKLSAgICByZXR1cm4gTGFiPGZsb2F0PiB7IHN0YXRpY19j
YXN0PGZsb2F0Pihub3JtYWxpemVkTGlnaHRuZXNzKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphVmFs
dWUpLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmJWYWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxw
aGEpIH07CisgICAgcmV0dXJuIExDSEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1h
bGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZENocm9tYSksIHN0
YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphbHBo
YSkgfTsKIH0KIAogc3RhdGljIENvbG9yIHBhcnNlUmVsYXRpdmVMQ0hQYXJhbWV0ZXJzKENTU1Bh
cnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCkBA
IC0xODU5LDMwICsxODk0LDIyIEBAIHN0YXRpYyBDb2xvciBwYXJzZVJlbGF0aXZlTENIUGFyYW1l
dGVycygKICAgICAgICAgeyBDU1NWYWx1ZUFscGhhLCBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRB
R0UsIG9yaWdpbkNvbG9yQXNMQ0guYWxwaGEgKiAxMDAuMCB9CiAgICAgfTsKIAotICAgIGF1dG8g
bGlnaHRuZXNzID0gY29uc3VtZVBlcmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywg
c3ltYm9sVGFibGUpOwotICAgIGlmICghbGlnaHRuZXNzKQotICAgICAgICByZXR1cm4geyB9Owot
Ci0gICAgYXV0byBjaHJvbWEgPSBjb25zdW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50
KGFyZ3MsIHN5bWJvbFRhYmxlKTsKLSAgICBpZiAoIWNocm9tYSkKLSAgICAgICAgcmV0dXJuIHsg
fTsKKyAgICBhdXRvIGxpZ2h0bmVzc0NvbnN1bWVyID0gWyZzeW1ib2xUYWJsZV0oYXV0byYgYXJn
cykgeyByZXR1cm4gY29uc3VtZVBlcmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywg
c3ltYm9sVGFibGUpOyB9OworICAgIGF1dG8gY2hyb21hQ29uc3VtZXIgPSBbJnN5bWJvbFRhYmxl
XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlk
ZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsgfTsKKyAgICBhdXRvIGh1ZUNvbnN1bWVyID0gWyZzeW1i
b2xUYWJsZSwgJmNvbnRleHRdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVBbmdsZVJhd09y
TnVtYmVyUmF3QWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlLCBjb250
ZXh0Lm1vZGUpOyB9OworICAgIGF1dG8gYWxwaGFDb25zdW1lciA9IFsmc3ltYm9sVGFibGVdKGF1
dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhQWxsb3dpbmdTeW1ib2xUYWJs
ZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsgfTsKIAotICAgIGF1dG8gaHVlID0gY29uc3VtZUFu
Z2xlUmF3T3JOdW1iZXJSYXdBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFi
bGUsIGNvbnRleHQubW9kZSk7Ci0gICAgaWYgKCFodWUpCi0gICAgICAgIHJldHVybiB7IH07Ci0K
LSAgICBhdXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFsQWxwaGFBbGxvd2luZ1N5bWJvbFRhYmxl
SWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlmICghYWxwaGEpCi0gICAgICAgIHJldHVy
biB7IH07Ci0KLSAgICBpZiAoIWFyZ3MuYXRFbmQoKSkKLSAgICAgICAgcmV0dXJuIHsgfTsKKyAg
ICByZXR1cm4gcGFyc2VMQ0hQYXJhbWV0ZXJzKGFyZ3MsIFdURk1vdmUobGlnaHRuZXNzQ29uc3Vt
ZXIpLCBXVEZNb3ZlKGNocm9tYUNvbnN1bWVyKSwgV1RGTW92ZShodWVDb25zdW1lciksIFdURk1v
dmUoYWxwaGFDb25zdW1lcikpOworfQogCi0gICAgYXV0byBub3JtYWxpemVkTGlnaHRuZXNzID0g
c3RkOjptYXgoMC4wLCAqbGlnaHRuZXNzKTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRDaHJvbWEgPSBz
dGQ6Om1heCgwLjAsICpjaHJvbWEpOwotICAgIGF1dG8gbm9ybWFsaXplZEh1ZSA9IG5vcm1hbGl6
ZUh1ZSgqaHVlKTsKK3N0YXRpYyBDb2xvciBwYXJzZU5vblJlbGF0aXZlTENIUGFyYW1ldGVycyhD
U1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0
KQoreworICAgIGF1dG8gbGlnaHRuZXNzQ29uc3VtZXIgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVy
biBjb25zdW1lUGVyY2VudFJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGNocm9tYUNvbnN1bWVyID0g
W10oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU51bWJlclJhdyhhcmdzKTsgfTsKKyAgICBh
dXRvIGh1ZUNvbnN1bWVyID0gWyZjb250ZXh0XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1l
QW5nbGVSYXdPck51bWJlclJhdyhhcmdzLCBjb250ZXh0Lm1vZGUpOyB9OworICAgIGF1dG8gYWxw
aGFDb25zdW1lciA9IFtdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhh
KGFyZ3MpOyB9OwogCi0gICAgcmV0dXJuIExDSEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+
KG5vcm1hbGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZENocm9t
YSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+
KCphbHBoYSkgfTsKKyAgICByZXR1cm4gcGFyc2VMQ0hQYXJhbWV0ZXJzKGFyZ3MsIFdURk1vdmUo
bGlnaHRuZXNzQ29uc3VtZXIpLCBXVEZNb3ZlKGNocm9tYUNvbnN1bWVyKSwgV1RGTW92ZShodWVD
b25zdW1lciksIFdURk1vdmUoYWxwaGFDb25zdW1lcikpOwogfQogCiBzdGF0aWMgQ29sb3IgcGFy
c2VMQ0hQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJz
ZXJDb250ZXh0JiBjb250ZXh0KQpAQCAtMTg5NiwzMSArMTkyMyw1NyBAQCBzdGF0aWMgQ29sb3Ig
cGFyc2VMQ0hQYXJhbWV0ZXJzKENTU1BhcnNlCiAKICAgICBpZiAoY29udGV4dC5yZWxhdGl2ZUNv
bG9yU3ludGF4RW5hYmxlZCAmJiBhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlRnJvbSkKICAg
ICAgICAgcmV0dXJuIHBhcnNlUmVsYXRpdmVMQ0hQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOwor
ICAgIHJldHVybiBwYXJzZU5vblJlbGF0aXZlTENIUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsK
K30KIAotICAgIGF1dG8gbGlnaHRuZXNzID0gY29uc3VtZVBlcmNlbnRSYXcoYXJncyk7Ci0gICAg
aWYgKCFsaWdodG5lc3MpCi0gICAgICAgIHJldHVybiB7IH07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBD
b2xvclR5cGUsIHR5cGVuYW1lIENvbnN1bWVyRm9yUkdCLCB0eXBlbmFtZSBDb25zdW1lckZvckFs
cGhhPgorc3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzKENTU1BhcnNl
clRva2VuUmFuZ2UmIGFyZ3MsIENvbnN1bWVyRm9yUkdCJiYgcmdiQ29uc3VtZXIsIENvbnN1bWVy
Rm9yQWxwaGEmJiBhbHBoYUNvbnN1bWVyKQoreworICAgIGRvdWJsZSBjaGFubmVsc1szXSA9IHsg
MCwgMCwgMCB9OworICAgIGZvciAoYXV0byBjaGFubmVsJiA6IGNoYW5uZWxzKSB7CisgICAgICAg
IGF1dG8gdmFsdWUgPSByZ2JDb25zdW1lcihhcmdzKTsKKyAgICAgICAgaWYgKCF2YWx1ZSkKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjaGFubmVsID0gKnZhbHVlOworICAgIH0KIAotICAg
IGF1dG8gY2hyb21hID0gY29uc3VtZU51bWJlclJhdyhhcmdzKTsKLSAgICBpZiAoIWNocm9tYSkK
KyAgICBhdXRvIGFscGhhID0gYWxwaGFDb25zdW1lcihhcmdzKTsKKyAgICBpZiAoIWFscGhhKQog
ICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byBodWUgPSBjb25zdW1lQW5nbGVSYXdPck51
bWJlclJhdyhhcmdzLCBjb250ZXh0Lm1vZGUpOwotICAgIGlmICghaHVlKQorICAgIGlmICghYXJn
cy5hdEVuZCgpKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byBhbHBoYSA9IGNvbnN1
bWVPcHRpb25hbEFscGhhKGFyZ3MpOwotICAgIGlmICghYWxwaGEpCi0gICAgICAgIHJldHVybiB7
IH07CisgICAgYXV0byBub3JtYWxpemVkUmVkID0gc3RkOjpjbGFtcChjaGFubmVsc1swXSwgMC4w
LCAxLjApOworICAgIGF1dG8gbm9ybWFsaXplZEdyZWVuID0gc3RkOjpjbGFtcChjaGFubmVsc1sx
XSwgMC4wLCAxLjApOworICAgIGF1dG8gbm9ybWFsaXplZEJsdWUgPSBzdGQ6OmNsYW1wKGNoYW5u
ZWxzWzJdLCAwLjAsIDEuMCk7CiAKLSAgICBpZiAoIWFyZ3MuYXRFbmQoKSkKKyAgICByZXR1cm4g
eyBDb2xvclR5cGUgeyBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZFJlZCksIHN0YXRpY19j
YXN0PGZsb2F0Pihub3JtYWxpemVkR3JlZW4pLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXpl
ZEJsdWUpLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFscGhhKSB9LCBDb2xvcjo6RmxhZ3M6OlVzZUNv
bG9yRnVuY3Rpb25TZXJpYWxpemF0aW9uIH07Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIENvbG9y
VHlwZT4gc3RhdGljIENvbG9yIHBhcnNlUmVsYXRpdmVDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXMo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgQ29sb3Igb3JpZ2luQ29sb3IsIGNvbnN0IENTU1Bh
cnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgQVNTRVJUKGFyZ3MucGVlaygpLmlkKCkgPT0g
Q1NTVmFsdWVBOThSZ2IgfHwgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZURpc3BsYXlQMyB8
fCBhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlUHJvcGhvdG9SZ2IgfHwgYXJncy5wZWVrKCku
aWQoKSA9PSBDU1NWYWx1ZVJlYzIwMjAgfHwgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZVNS
R0IpOworCisgICAgLy8gU3VwcG9ydCBzUkdCIGFuZCBEaXNwbGF5LVAzIHJlZ2FyZGxlc3Mgb2Yg
dGhlIHNldHRpbmcgYXMgd2UgaGF2ZSBzaGlwcGVkIHN1cHBvcnQgZm9yIHRoZW0gZm9yIGEgd2hp
bGUuCisgICAgaWYgKCFjb250ZXh0LmNzc0NvbG9yNCAmJiAoYXJncy5wZWVrKCkuaWQoKSA9PSBD
U1NWYWx1ZUE5OFJnYiB8fCBhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlUHJvcGhvdG9SZ2Ig
fHwgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZVJlYzIwMjApKQogICAgICAgICByZXR1cm4g
eyB9OwogCi0gICAgYXV0byBub3JtYWxpemVkTGlnaHRuZXNzID0gc3RkOjptYXgoMC4wLCAqbGln
aHRuZXNzKTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRDaHJvbWEgPSBzdGQ6Om1heCgwLjAsICpjaHJv
bWEpOwotICAgIGF1dG8gbm9ybWFsaXplZEh1ZSA9IG5vcm1hbGl6ZUh1ZSgqaHVlKTsKKyAgICBj
b25zdW1lSWRlbnRSYXcoYXJncyk7CiAKLSAgICByZXR1cm4gTENIQTxmbG9hdD4geyBzdGF0aWNf
Y2FzdDxmbG9hdD4obm9ybWFsaXplZExpZ2h0bmVzcyksIHN0YXRpY19jYXN0PGZsb2F0Pihub3Jt
YWxpemVkQ2hyb21hKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRIdWUpLCBzdGF0aWNf
Y2FzdDxmbG9hdD4oKmFscGhhKSB9OworICAgIGF1dG8gb3JpZ2luQ29sb3JBc0NvbG9yVHlwZSA9
IG9yaWdpbkNvbG9yLnRvQ29sb3JUeXBlTG9zc3k8Q29sb3JUeXBlPigpOworCisgICAgQ1NTQ2Fs
Y1N5bWJvbFRhYmxlIHN5bWJvbFRhYmxlIHsKKyAgICAgICAgeyBDU1NWYWx1ZVIsIENTU1VuaXRU
eXBlOjpDU1NfUEVSQ0VOVEFHRSwgb3JpZ2luQ29sb3JBc0NvbG9yVHlwZS5yZWQgKiAxMDAuMCB9
LAorICAgICAgICB7IENTU1ZhbHVlRywgQ1NTVW5pdFR5cGU6OkNTU19QRVJDRU5UQUdFLCBvcmln
aW5Db2xvckFzQ29sb3JUeXBlLmdyZWVuICogMTAwLjAgfSwKKyAgICAgICAgeyBDU1NWYWx1ZUIs
IENTU1VuaXRUeXBlOjpDU1NfUEVSQ0VOVEFHRSwgb3JpZ2luQ29sb3JBc0NvbG9yVHlwZS5ibHVl
ICogMTAwLjAgfSwKKyAgICAgICAgeyBDU1NWYWx1ZUFscGhhLCBDU1NVbml0VHlwZTo6Q1NTX1BF
UkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNDb2xvclR5cGUuYWxwaGEgKiAxMDAuMCB9CisgICAgfTsK
KworICAgIGF1dG8gY29uc3VtZVJHQiA9IFsmc3ltYm9sVGFibGVdKGF1dG8mIGFyZ3MpIHsgcmV0
dXJuIGNvbnN1bWVOdW1iZXJSYXdPclBlcmNlbnREaXZpZGVkQnkxMDBSYXdBbGxvd2luZ1N5bWJv
bFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUsIFZhbHVlUmFuZ2U6OkFsbCk7IH07CisgICAg
YXV0byBjb25zdW1lQWxwaGEgPSBbJnN5bWJvbFRhYmxlXShhdXRvJiBhcmdzKSB7IHJldHVybiBj
b25zdW1lT3B0aW9uYWxBbHBoYUFsbG93aW5nU3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xU
YWJsZSk7IH07CisKKyAgICByZXR1cm4gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8Q29s
b3JUeXBlPihhcmdzLCBXVEZNb3ZlKGNvbnN1bWVSR0IpLCBXVEZNb3ZlKGNvbnN1bWVBbHBoYSkp
OwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb2xvclR5cGU+IHN0YXRpYyBDb2xvciBwYXJzZUNv
bG9yRnVuY3Rpb25Gb3JSR0JUeXBlcyhDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBjb25zdCBD
U1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQpAQCAtMTkzMywyMiArMTk4NiwzNCBAQCB0ZW1wbGF0
ZTx0eXBlbmFtZSBDb2xvclR5cGU+IHN0YXRpYyBDb2xvCiAKICAgICBjb25zdW1lSWRlbnRSYXco
YXJncyk7CiAKKyAgICBhdXRvIGNvbnN1bWVSR0IgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBj
b25zdW1lTnVtYmVyUmF3T3JQZXJjZW50RGl2aWRlZEJ5MTAwUmF3KGFyZ3MpOyB9OworICAgIGF1
dG8gY29uc3VtZUFscGhhID0gW10oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU9wdGlvbmFs
QWxwaGEoYXJncyk7IH07CisKKyAgICByZXR1cm4gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlw
ZXM8Q29sb3JUeXBlPihhcmdzLCBXVEZNb3ZlKGNvbnN1bWVSR0IpLCBXVEZNb3ZlKGNvbnN1bWVB
bHBoYSkpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBDb25zdW1lckZvclhZWiwgdHlwZW5hbWUg
Q29uc3VtZXJGb3JBbHBoYT4KK3N0YXRpYyBDb2xvciBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JYWVpQ
YXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIENvbnN1bWVyRm9yWFlaJiYgeHl6
Q29uc3VtZXIsIENvbnN1bWVyRm9yQWxwaGEmJiBhbHBoYUNvbnN1bWVyKQorewogICAgIGRvdWJs
ZSBjaGFubmVsc1szXSA9IHsgMCwgMCwgMCB9OwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMzsg
KytpKSB7Ci0gICAgICAgIGF1dG8gdmFsdWUgPSBjb25zdW1lTnVtYmVyUmF3T3JQZXJjZW50RGl2
aWRlZEJ5MTAwUmF3KGFyZ3MpOworICAgIGZvciAoYXV0byYgY2hhbm5lbCA6IGNoYW5uZWxzKSB7
CisgICAgICAgIGF1dG8gdmFsdWUgPSB4eXpDb25zdW1lcihhcmdzKTsKICAgICAgICAgaWYgKCF2
YWx1ZSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjaGFubmVsc1tpXSA9ICp2YWx1ZTsK
KyAgICAgICAgY2hhbm5lbCA9ICp2YWx1ZTsKICAgICB9CiAKLSAgICBhdXRvIGFscGhhID0gY29u
c3VtZU9wdGlvbmFsQWxwaGEoYXJncyk7CisgICAgYXV0byBhbHBoYSA9IGFscGhhQ29uc3VtZXIo
YXJncyk7CiAgICAgaWYgKCFhbHBoYSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIHJldHVy
biB7IENvbG9yVHlwZSB7IGNsYW1wVG88ZmxvYXQ+KGNoYW5uZWxzWzBdLCAwLjAsIDEuMCksIGNs
YW1wVG88ZmxvYXQ+KGNoYW5uZWxzWzFdLCAwLjAsIDEuMCksIGNsYW1wVG88ZmxvYXQ+KGNoYW5u
ZWxzWzJdLCAwLjAsIDEuMCksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxwaGEpIH0sIENvbG9yOjpG
bGFnczo6VXNlQ29sb3JGdW5jdGlvblNlcmlhbGl6YXRpb24gfTsKKyAgICBpZiAoIWFyZ3MuYXRF
bmQoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHJldHVybiB7IFhZWkE8ZmxvYXQsIFdo
aXRlUG9pbnQ6OkQ1MD4geyBzdGF0aWNfY2FzdDxmbG9hdD4oY2hhbm5lbHNbMF0pLCBzdGF0aWNf
Y2FzdDxmbG9hdD4oY2hhbm5lbHNbMV0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oY2hhbm5lbHNbMl0p
LCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFscGhhKSB9LCBDb2xvcjo6RmxhZ3M6OlVzZUNvbG9yRnVu
Y3Rpb25TZXJpYWxpemF0aW9uIH07CiB9CiAKLXN0YXRpYyBDb2xvciBwYXJzZUNvbG9yRnVuY3Rp
b25Gb3JYWVpQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1Bh
cnNlckNvbnRleHQmIGNvbnRleHQpCitzdGF0aWMgQ29sb3IgcGFyc2VSZWxhdGl2ZUNvbG9yRnVu
Y3Rpb25Gb3JYWVpQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIENvbG9yIG9y
aWdpbkNvbG9yLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQogewogICAgIEFTU0VS
VChhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlWHl6KTsKIApAQCAtMTk1Nyw2NyArMjAyMiwx
MDEgQEAgc3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZWlBhcgogCiAgICAgY29u
c3VtZUlkZW50UmF3KGFyZ3MpOwogCi0gICAgZG91YmxlIGNoYW5uZWxzWzNdID0geyAwLCAwLCAw
IH07Ci0gICAgWyZdIHsKLSAgICAgICAgYXV0byB4ID0gY29uc3VtZU51bWJlclJhdyhhcmdzKTsK
LSAgICAgICAgaWYgKCF4KQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBjaGFubmVsc1sw
XSA9ICp4OwotCi0gICAgICAgIGF1dG8geSA9IGNvbnN1bWVOdW1iZXJSYXcoYXJncyk7Ci0gICAg
ICAgIGlmICgheSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgY2hhbm5lbHNbMV0gPSAq
eTsKLQotICAgICAgICBhdXRvIHogPSBjb25zdW1lTnVtYmVyUmF3KGFyZ3MpOwotICAgICAgICBp
ZiAoIXopCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGNoYW5uZWxzWzJdID0gKno7Ci0g
ICAgfSgpOworICAgIGF1dG8gb3JpZ2luQ29sb3JBc1hZWiA9IG9yaWdpbkNvbG9yLnRvQ29sb3JU
eXBlTG9zc3k8WFlaQTxmbG9hdCwgV2hpdGVQb2ludDo6RDUwPj4oKTsKIAotICAgIGF1dG8gYWxw
aGEgPSBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsKLSAgICBpZiAoIWFscGhhKQorICAgIENT
U0NhbGNTeW1ib2xUYWJsZSBzeW1ib2xUYWJsZSB7CisgICAgICAgIHsgQ1NTVmFsdWVYLCBDU1NV
bml0VHlwZTo6Q1NTX05VTUJFUiwgb3JpZ2luQ29sb3JBc1hZWi54IH0sCisgICAgICAgIHsgQ1NT
VmFsdWVZLCBDU1NVbml0VHlwZTo6Q1NTX05VTUJFUiwgb3JpZ2luQ29sb3JBc1hZWi55IH0sCisg
ICAgICAgIHsgQ1NTVmFsdWVaLCBDU1NVbml0VHlwZTo6Q1NTX05VTUJFUiwgb3JpZ2luQ29sb3JB
c1hZWi56IH0sCisgICAgICAgIHsgQ1NTVmFsdWVBbHBoYSwgQ1NTVW5pdFR5cGU6OkNTU19QRVJD
RU5UQUdFLCBvcmlnaW5Db2xvckFzWFlaLmFscGhhICogMTAwLjAgfQorICAgIH07CisKKyAgICBh
dXRvIGNvbnN1bWVYWVogPSBbJnN5bWJvbFRhYmxlXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25z
dW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsgfTsK
KyAgICBhdXRvIGNvbnN1bWVBbHBoYSA9IFsmc3ltYm9sVGFibGVdKGF1dG8mIGFyZ3MpIHsgcmV0
dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5
bWJvbFRhYmxlKTsgfTsKKworICAgIHJldHVybiBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JYWVpQYXJh
bWV0ZXJzKGFyZ3MsIFdURk1vdmUoY29uc3VtZVhZWiksIFdURk1vdmUoY29uc3VtZUFscGhhKSk7
Cit9CisKK3N0YXRpYyBDb2xvciBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JYWVpQYXJhbWV0ZXJzKENT
U1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQp
Cit7CisgICAgQVNTRVJUKGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVYeXopOworCisgICAg
aWYgKCFjb250ZXh0LmNzc0NvbG9yNCkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIHJldHVy
biB7IFhZWkE8ZmxvYXQsIFdoaXRlUG9pbnQ6OkQ1MD4geyBzdGF0aWNfY2FzdDxmbG9hdD4oY2hh
bm5lbHNbMF0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oY2hhbm5lbHNbMV0pLCBzdGF0aWNfY2FzdDxm
bG9hdD4oY2hhbm5lbHNbMl0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFscGhhKSB9LCBDb2xvcjo6
RmxhZ3M6OlVzZUNvbG9yRnVuY3Rpb25TZXJpYWxpemF0aW9uIH07CisgICAgY29uc3VtZUlkZW50
UmF3KGFyZ3MpOworCisgICAgYXV0byBjb25zdW1lWFlaID0gW10oYXV0byYgYXJncykgeyByZXR1
cm4gY29uc3VtZU51bWJlclJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGNvbnN1bWVBbHBoYSA9IFtd
KGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhKGFyZ3MpOyB9OworCisg
ICAgcmV0dXJuIHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZWlBhcmFtZXRlcnMoYXJncywgV1RGTW92
ZShjb25zdW1lWFlaKSwgV1RGTW92ZShjb25zdW1lQWxwaGEpKTsKIH0KIAotc3RhdGljIENvbG9y
IHBhcnNlQ29sb3JGdW5jdGlvblBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2Us
IGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCitzdGF0aWMgQ29sb3IgcGFyc2VSZWxh
dGl2ZUNvbG9yRnVuY3Rpb25QYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNv
bnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgQVNTRVJUKHJhbmdlLnBlZWso
KS5mdW5jdGlvbklkKCkgPT0gQ1NTVmFsdWVDb2xvcik7Ci0gICAgYXV0byBhcmdzID0gY29uc3Vt
ZUZ1bmN0aW9uKHJhbmdlKTsKKyAgICBBU1NFUlQoYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1
ZUZyb20pOworICAgIGNvbnN1bWVJZGVudFJhdyhhcmdzKTsKKworICAgIGF1dG8gb3JpZ2luQ29s
b3IgPSBjb25zdW1lT3JpZ2luQ29sb3IoYXJncywgY29udGV4dCk7CisgICAgaWYgKCFvcmlnaW5D
b2xvci5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBDb2xvciBjb2xvcjsK
ICAgICBzd2l0Y2ggKGFyZ3MucGVlaygpLmlkKCkpIHsKICAgICBjYXNlIENTU1ZhbHVlQTk4Umdi
OgotICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPEE5OFJHQjxm
bG9hdD4+KGFyZ3MsIGNvbnRleHQpOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIHBh
cnNlUmVsYXRpdmVDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8QTk4UkdCPGZsb2F0Pj4oYXJncywg
V1RGTW92ZShvcmlnaW5Db2xvciksIGNvbnRleHQpOwogICAgIGNhc2UgQ1NTVmFsdWVEaXNwbGF5
UDM6Ci0gICAgICAgIGNvbG9yID0gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8RGlzcGxh
eVAzPGZsb2F0Pj4oYXJncywgY29udGV4dCk7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1
cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxEaXNwbGF5UDM8ZmxvYXQ+
PihhcmdzLCBXVEZNb3ZlKG9yaWdpbkNvbG9yKSwgY29udGV4dCk7CiAgICAgY2FzZSBDU1NWYWx1
ZVByb3Bob3RvUmdiOgotICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5
cGVzPFByb1Bob3RvUkdCPGZsb2F0Pj4oYXJncywgY29udGV4dCk7Ci0gICAgICAgIGJyZWFrOwor
ICAgICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxQcm9Q
aG90b1JHQjxmbG9hdD4+KGFyZ3MsIFdURk1vdmUob3JpZ2luQ29sb3IpLCBjb250ZXh0KTsKICAg
ICBjYXNlIENTU1ZhbHVlUmVjMjAyMDoKLSAgICAgICAgY29sb3IgPSBwYXJzZUNvbG9yRnVuY3Rp
b25Gb3JSR0JUeXBlczxSZWMyMDIwPGZsb2F0Pj4oYXJncywgY29udGV4dCk7Ci0gICAgICAgIGJy
ZWFrOworICAgICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBl
czxSZWMyMDIwPGZsb2F0Pj4oYXJncywgV1RGTW92ZShvcmlnaW5Db2xvciksIGNvbnRleHQpOwog
ICAgIGNhc2UgQ1NTVmFsdWVTUkdCOgotICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlv
bkZvclJHQlR5cGVzPFNSR0JBPGZsb2F0Pj4oYXJncywgY29udGV4dCk7Ci0gICAgICAgIGJyZWFr
OworICAgICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxT
UkdCQTxmbG9hdD4+KGFyZ3MsIFdURk1vdmUob3JpZ2luQ29sb3IpLCBjb250ZXh0KTsKICAgICBj
YXNlIENTU1ZhbHVlWHl6OgotICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZ
WlBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1
cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JYWVpQYXJhbWV0ZXJzKGFyZ3MsIFdURk1v
dmUob3JpZ2luQ29sb3IpLCBjb250ZXh0KTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4g
eyB9OwogICAgIH0KIAotICAgIGlmICghY29sb3IuaXNWYWxpZCgpKQotICAgICAgICByZXR1cm4g
eyB9OworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiB7IH07Cit9CiAKLSAg
ICBpZiAoIWFyZ3MuYXRFbmQoKSkKK3N0YXRpYyBDb2xvciBwYXJzZU5vblJlbGF0aXZlQ29sb3JG
dW5jdGlvblBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFy
c2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBzd2l0Y2ggKGFyZ3MucGVlaygpLmlkKCkpIHsK
KyAgICBjYXNlIENTU1ZhbHVlQTk4UmdiOgorICAgICAgICByZXR1cm4gcGFyc2VDb2xvckZ1bmN0
aW9uRm9yUkdCVHlwZXM8QTk4UkdCPGZsb2F0Pj4oYXJncywgY29udGV4dCk7CisgICAgY2FzZSBD
U1NWYWx1ZURpc3BsYXlQMzoKKyAgICAgICAgcmV0dXJuIHBhcnNlQ29sb3JGdW5jdGlvbkZvclJH
QlR5cGVzPERpc3BsYXlQMzxmbG9hdD4+KGFyZ3MsIGNvbnRleHQpOworICAgIGNhc2UgQ1NTVmFs
dWVQcm9waG90b1JnYjoKKyAgICAgICAgcmV0dXJuIHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5
cGVzPFByb1Bob3RvUkdCPGZsb2F0Pj4oYXJncywgY29udGV4dCk7CisgICAgY2FzZSBDU1NWYWx1
ZVJlYzIwMjA6CisgICAgICAgIHJldHVybiBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxS
ZWMyMDIwPGZsb2F0Pj4oYXJncywgY29udGV4dCk7CisgICAgY2FzZSBDU1NWYWx1ZVNSR0I6Cisg
ICAgICAgIHJldHVybiBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxTUkdCQTxmbG9hdD4+
KGFyZ3MsIGNvbnRleHQpOworICAgIGNhc2UgQ1NTVmFsdWVYeXo6CisgICAgICAgIHJldHVybiBw
YXJzZUNvbG9yRnVuY3Rpb25Gb3JYWVpQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOworICAgIGRl
ZmF1bHQ6CiAgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgcmV0dXJuIHsgfTsKK30KKworc3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5j
dGlvblBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNl
ckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgQVNTRVJUKHJhbmdlLnBlZWsoKS5mdW5jdGlvbklk
KCkgPT0gQ1NTVmFsdWVDb2xvcik7CisgICAgYXV0byBhcmdzID0gY29uc3VtZUZ1bmN0aW9uKHJh
bmdlKTsKKworICAgIGF1dG8gY29sb3IgPSBbJl0geworICAgICAgICBpZiAoY29udGV4dC5yZWxh
dGl2ZUNvbG9yU3ludGF4RW5hYmxlZCAmJiBhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlRnJv
bSkKKyAgICAgICAgICAgIHJldHVybiBwYXJzZVJlbGF0aXZlQ29sb3JGdW5jdGlvblBhcmFtZXRl
cnMoYXJncywgY29udGV4dCk7CisgICAgICAgIHJldHVybiBwYXJzZU5vblJlbGF0aXZlQ29sb3JG
dW5jdGlvblBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7CisgICAgfSgpOwogCi0gICAgQVNTRVJU
KGNvbG9yLnVzZXNDb2xvckZ1bmN0aW9uU2VyaWFsaXphdGlvbigpKTsKKyAgICBBU1NFUlQoIWNv
bG9yLmlzVmFsaWQoKSB8fCBjb2xvci51c2VzQ29sb3JGdW5jdGlvblNlcmlhbGl6YXRpb24oKSk7
CiAgICAgcmV0dXJuIGNvbG9yOwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzgzNTApCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAy
MS0wNi0wMSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1
cHBvcnQgZm9yICJyZWxhdGl2ZSBjb2xvciBzeW50YXgiIGZvciBjb2xvcigpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY1MTMKKworICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBVcGRhdGVkIHRlc3QgYW5kIHJlc3Vs
dHMgbm93IHRoYXQgd2Ugc3VwcG9ydCByZWxhdGl2ZSBjb2xvciBzeW50YXgKKyAgICAgICAgZm9y
IGNvbG9yKHNyZ2IgLi4uKSwgY29sb3IoYTk4LXJnYiAuLi4pLCBjb2xvcihyZWMyMDIwIC4uLiks
CisgICAgICAgIGNvbG9yKHByb3Bob3RvLXJnYiAuLi4pIGFuZCBjb2xvcih4eXogLi4uKS4KKwor
ICAgICAgICAqIGZhc3QvY3NzL3BhcnNpbmctcmVsYXRpdmUtY29sb3Itc3ludGF4LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC5o
dG1sOgorCiAyMDIxLTA2LTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNv
bT4KIAogICAgICAgICBbY3NzLXNjcm9sbC1zbmFwXSBTY3JvbGwgc25hcCBpcyBicm9rZW4gd2l0
aCBub24taG9yaXpvbnRhbCB3cml0aW5nIG1vZGVzCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1yZWxhdGl2ZS1jb2xvci1zeW50YXgtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyNzgzNTApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJz
aW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTI4NSw2ICsyODUsMjYxIEBAIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICIKIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJsY2goZnJvbSBsY2go
NzAlIDQ1IDMwKSBsaWdodG5lc3MgYyBoKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgogUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxjaChmcm9tIGxjaCg3MCUgNDUgMzAp
IHggYyBoKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgogUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImxjaChmcm9tIGxjaCg3MCUgNDUgMzApIGwgZyBiKSIpIGlzICJyZ2Jh
KDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4uLiAke2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAw
LjUgMC4zKSBzcmdiIHIgZyBiKSIpIGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2Ig
MC43IDAuNSAwLjMpIHNyZ2IgciBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41
IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBzcmdiIHIgZyBiKSIpIGlzICJjb2xvcihz
cmdiIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHNyZ2IgciBnIGIgLyBh
bHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihmcm9tIGNvbG9yKHNy
Z2IgMC43IDAuNSAwLjMpIHNyZ2IgciBnIGIpIHNyZ2IgciBnIGIpIikgaXMgImNvbG9yKHNyZ2Ig
MC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMykgc3JnYiAwIDAgMCkiKSBpcyAiY29sb3Io
c3JnYiAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIDAgMCAwKSIpIGlzICJjb2xvcihz
cmdiIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgMCAwIDAgLyAwKSIpIGlzICJjb2xv
cihzcmdiIDAgMCAwIC8gMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIDAgMCAwIC8gMCkiKSBp
cyAiY29sb3Ioc3JnYiAwIDAgMCAvIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMykgc3JnYiAwIGcgYiAv
IGFscGhhKSIpIGlzICJjb2xvcihzcmdiIDAgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBz
cmdiIHIgMCBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAgMC4zKSIKK1BBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43
IDAuNSAwLjMpIHNyZ2IgciBnIDAgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41IDAp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3Ioc3JnYiAwLjcgMC41IDAuMykgc3JnYiByIGcgYiAvIDApIikgaXMgImNvbG9yKHNyZ2IgMC43
IDAuNSAwLjMgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHNyZ2IgMCBnIGIgLyBhbHBo
YSkiKSBpcyAiY29sb3Ioc3JnYiAwIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAv
IDQwJSkgc3JnYiByIDAgYiAvIGFscGhhKSIpIGlzICJjb2xvcihzcmdiIDAuNyAwIDAuMyAvIDAu
NCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBzcmdiIHIgZyAwIC8gYWxwaGEpIikgaXMgImNv
bG9yKHNyZ2IgMC43IDAuNSAwIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHNyZ2Ig
ciBnIGIgLyAwKSIpIGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gMCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAw
LjUgMC4zKSBzcmdiIDAuMiBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjIgMC41IDAu
MykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIDIwJSBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Io
c3JnYiAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgMC4yIGIgLyBhbHBo
YSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdi
IHIgMjAlIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC4yIDAuMykiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAu
NyAwLjUgMC4zKSBzcmdiIHIgZyAwLjIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41
IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgZyAyMCUgLyBhbHBoYSkiKSBpcyAiY29s
b3Ioc3JnYiAwLjcgMC41IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgZyBiIC8gMC4y
KSIpIGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMp
IHNyZ2IgciBnIGIgLyAyMCUpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuNSAwLjMgLyAwLjIpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Io
c3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiAwLjIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9y
KHNyZ2IgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiAy
MCUgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3Jn
YiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIDAuMiBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNy
Z2IgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIDIw
JSBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAw
LjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIGcgMC4yIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2Ig
MC43IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIGcgMjAl
IC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcg
MC41IDAuMyAvIDQwJSkgc3JnYiByIGcgYiAvIDAuMikiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41
IDAuMyAvIDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBzcmdiIHIgZyBiIC8gMjAlKSIp
IGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNy
Z2IgZyBiIHIpIikgaXMgImNvbG9yKHNyZ2IgMC41IDAuMyAwLjcpIgorUEFTUyBjb21wdXRlZFN0
eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAu
Mykgc3JnYiBiIGFscGhhIHIgLyBnKSIpIGlzICJjb2xvcihzcmdiIDAuMyAxIDAuNyAvIDAuNSki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgciByIC8gcikiKSBpcyAiY29sb3Ioc3JnYiAwLjcg
MC43IDAuNyAvIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIGFscGhhIGFscGhhIGFscGhh
IC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMSAxIDEpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQw
JSkgc3JnYiBnIGIgcikiKSBpcyAiY29sb3Ioc3JnYiAwLjUgMC4zIDAuNykiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAw
LjUgMC4zIC8gNDAlKSBzcmdiIGIgYWxwaGEgciAvIGcpIikgaXMgImNvbG9yKHNyZ2IgMC4zIDAu
NCAwLjcgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIHIgciAvIHIpIikg
aXMgImNvbG9yKHNyZ2IgMC43IDAuNyAwLjcgLyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQw
JSkgc3JnYiBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKSIpIGlzICJjb2xvcihzcmdiIDAuNCAw
LjQgMC40IC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgY2FsYyhyKSBjYWxjKGcpIGNh
bGMoYikpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAv
IDQwJSkgc3JnYiBjYWxjKHIpIGNhbGMoZykgY2FsYyhiKSAvIGNhbGMoYWxwaGEpKSIpIGlzICJj
b2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgMTBk
ZWcgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMykgc3JnYiBy
IDEwZGVnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdi
IHIgZyAxMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNy
Z2IgciBnIGIgLyAxMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAw
LjMpIHNyZ2IgcmVkIGcgYikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAw
LjMpIHNyZ2IgeCBnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4z
KSBzcmdiIGwgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4uLiAk
e2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgZyBiKSIpIGlzICJj
b2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2Ig
ciBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdi
IDAuNyAwLjUgMC4zIC8gNDAlKSBhOTgtcmdiIHIgZyBiKSIpIGlzICJjb2xvcihhOTgtcmdiIDAu
NyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIGE5OC1yZ2IgciBnIGIgLyBh
bHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihmcm9tIGNvbG9y
KGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgciBnIGIpIGE5OC1yZ2IgciBnIGIpIikgaXMg
ImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykgYTk4LXJn
YiAwIDAgMCkiKSBpcyAiY29sb3IoYTk4LXJnYiAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4z
KSBhOTgtcmdiIDAgMCAwKSIpIGlzICJjb2xvcihhOTgtcmdiIDAgMCAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43
IDAuNSAwLjMpIGE5OC1yZ2IgMCAwIDAgLyAwKSIpIGlzICJjb2xvcihhOTgtcmdiIDAgMCAwIC8g
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIDAgMCAwIC8gMCkiKSBpcyAiY29sb3Io
YTk4LXJnYiAwIDAgMCAvIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykgYTk4LXJnYiAwIGcgYiAv
IGFscGhhKSIpIGlzICJjb2xvcihhOTgtcmdiIDAgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUg
MC4zKSBhOTgtcmdiIHIgMCBiIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAgMC4z
KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNv
bG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgciBnIDAgLyBhbHBoYSkiKSBpcyAiY29s
b3IoYTk4LXJnYiAwLjcgMC41IDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykgYTk4LXJnYiByIGcg
YiAvIDApIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMgLyAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43
IDAuNSAwLjMgLyA0MCUpIGE5OC1yZ2IgMCBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJn
YiAwIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiBy
IDAgYiAvIGFscGhhKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAwIDAuMyAvIDAuNCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgt
cmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBhOTgtcmdiIHIgZyAwIC8gYWxwaGEpIikgaXMgImNvbG9y
KGE5OC1yZ2IgMC43IDAuNSAwIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIGE5
OC1yZ2IgciBnIGIgLyAwKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gMCkiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihh
OTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIDAuMiBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Io
YTk4LXJnYiAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIDIwJSBn
IGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAu
NyAwLjUgMC4zKSBhOTgtcmdiIHIgMC4yIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAw
LjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgMjAlIGIgLyBhbHBo
YSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4z
KSBhOTgtcmdiIHIgZyAwLjIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC41IDAu
MikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgZyAyMCUgLyBhbHBoYSkiKSBpcyAi
Y29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdi
IHIgZyBiIC8gMC4yKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5
OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgciBnIGIgLyAyMCUpIikgaXMgImNvbG9yKGE5OC1y
Z2IgMC43IDAuNSAwLjMgLyAwLjIpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJn
YiAwLjIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC4yIDAuNSAwLjMgLyAwLjQp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiAyMCUgZyBiIC8gYWxwaGEpIikg
aXMgImNvbG9yKGE5OC1yZ2IgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAu
MyAvIDQwJSkgYTk4LXJnYiByIDAuMiBiIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43
IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIDIw
JSBiIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4
LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIGcgMC4yIC8gYWxwaGEpIikgaXMgImNv
bG9yKGE5OC1yZ2IgMC43IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQw
JSkgYTk4LXJnYiByIGcgMjAlIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAw
LjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIGcgYiAvIDAu
MikiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDAuMikiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAw
LjUgMC4zIC8gNDAlKSBhOTgtcmdiIHIgZyBiIC8gMjAlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAu
NyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgZyBiIHIpIikg
aXMgImNvbG9yKGE5OC1yZ2IgMC41IDAuMyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykgYTk4
LXJnYiBiIGFscGhhIHIgLyBnKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuMyAxIDAuNyAvIDAuNSki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgciByIC8gcikiKSBpcyAiY29sb3IoYTk4
LXJnYiAwLjcgMC43IDAuNyAvIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIGFs
cGhhIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMSAxIDEpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4
LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiBnIGIgcikiKSBpcyAiY29sb3IoYTk4LXJn
YiAwLjUgMC4zIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBhOTgtcmdiIGIgYWxw
aGEgciAvIGcpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC4zIDAuNCAwLjcgLyAwLjUpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJn
YiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIHIgciAvIHIpIikgaXMgImNvbG9yKGE5OC1y
Z2IgMC43IDAuNyAwLjcgLyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJn
YiBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNCAwLjQg
MC40IC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgY2FsYyhyKSBjYWxjKGcp
IGNhbGMoYikpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcg
MC41IDAuMyAvIDQwJSkgYTk4LXJnYiBjYWxjKHIpIGNhbGMoZykgY2FsYyhiKSAvIGNhbGMoYWxw
aGEpKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gMC40KSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43
IDAuNSAwLjMpIGE5OC1yZ2IgMTBkZWcgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4
LXJnYiAwLjcgMC41IDAuMykgYTk4LXJnYiByIDEwZGVnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwg
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgZyAxMGRlZykiKSBpcyAicmdiYSgw
LCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgciBnIGIgLyAxMGRlZyki
KSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgcmVk
IGcgYikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1y
Z2IgeCBnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBh
OTgtcmdiIGwgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4uLiAk
e2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgZyBiKSIpIGlzICJj
b2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAg
ciBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIw
IDAuNyAwLjUgMC4zIC8gNDAlKSByZWMyMDIwIHIgZyBiKSIpIGlzICJjb2xvcihyZWMyMDIwIDAu
NyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMgLyA0MCUpIHJlYzIwMjAgciBnIGIgLyBh
bHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihmcm9tIGNvbG9y
KHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgciBnIGIpIHJlYzIwMjAgciBnIGIpIikgaXMg
ImNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykgcmVjMjAy
MCAwIDAgMCkiKSBpcyAiY29sb3IocmVjMjAyMCAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4z
KSByZWMyMDIwIDAgMCAwKSIpIGlzICJjb2xvcihyZWMyMDIwIDAgMCAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43
IDAuNSAwLjMpIHJlYzIwMjAgMCAwIDAgLyAwKSIpIGlzICJjb2xvcihyZWMyMDIwIDAgMCAwIC8g
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIDAgMCAwIC8gMCkiKSBpcyAiY29sb3Io
cmVjMjAyMCAwIDAgMCAvIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykgcmVjMjAyMCAwIGcgYiAv
IGFscGhhKSIpIGlzICJjb2xvcihyZWMyMDIwIDAgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUg
MC4zKSByZWMyMDIwIHIgMCBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAgMC4z
KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNv
bG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgciBnIDAgLyBhbHBoYSkiKSBpcyAiY29s
b3IocmVjMjAyMCAwLjcgMC41IDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykgcmVjMjAyMCByIGcg
YiAvIDApIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMgLyAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43
IDAuNSAwLjMgLyA0MCUpIHJlYzIwMjAgMCBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAy
MCAwIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCBy
IDAgYiAvIGFscGhhKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAwIDAuMyAvIDAuNCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMy
MDIwIDAuNyAwLjUgMC4zIC8gNDAlKSByZWMyMDIwIHIgZyAwIC8gYWxwaGEpIikgaXMgImNvbG9y
KHJlYzIwMjAgMC43IDAuNSAwIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMgLyA0MCUpIHJl
YzIwMjAgciBnIGIgLyAwKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gMCkiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihy
ZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIDAuMiBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Io
cmVjMjAyMCAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIDIwJSBn
IGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAu
NyAwLjUgMC4zKSByZWMyMDIwIHIgMC4yIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAw
LjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgMjAlIGIgLyBhbHBo
YSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4z
KSByZWMyMDIwIHIgZyAwLjIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC41IDAu
MikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgZyAyMCUgLyBhbHBoYSkiKSBpcyAi
Y29sb3IocmVjMjAyMCAwLjcgMC41IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIw
IHIgZyBiIC8gMC4yKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJl
YzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgciBnIGIgLyAyMCUpIikgaXMgImNvbG9yKHJlYzIw
MjAgMC43IDAuNSAwLjMgLyAwLjIpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAy
MCAwLjIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC4yIDAuNSAwLjMgLyAwLjQp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCAyMCUgZyBiIC8gYWxwaGEpIikg
aXMgImNvbG9yKHJlYzIwMjAgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAu
MyAvIDQwJSkgcmVjMjAyMCByIDAuMiBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43
IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIDIw
JSBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVj
MjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIGcgMC4yIC8gYWxwaGEpIikgaXMgImNv
bG9yKHJlYzIwMjAgMC43IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQw
JSkgcmVjMjAyMCByIGcgMjAlIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuNSAw
LjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIGcgYiAvIDAu
MikiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDAuMikiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAw
LjUgMC4zIC8gNDAlKSByZWMyMDIwIHIgZyBiIC8gMjAlKSIpIGlzICJjb2xvcihyZWMyMDIwIDAu
NyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgZyBiIHIpIikg
aXMgImNvbG9yKHJlYzIwMjAgMC41IDAuMyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykgcmVj
MjAyMCBiIGFscGhhIHIgLyBnKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuMyAxIDAuNyAvIDAuNSki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgciByIC8gcikiKSBpcyAiY29sb3IocmVj
MjAyMCAwLjcgMC43IDAuNyAvIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIGFs
cGhhIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMSAxIDEpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVj
MjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCBnIGIgcikiKSBpcyAiY29sb3IocmVjMjAy
MCAwLjUgMC4zIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gNDAlKSByZWMyMDIwIGIgYWxw
aGEgciAvIGcpIikgaXMgImNvbG9yKHJlYzIwMjAgMC4zIDAuNCAwLjcgLyAwLjUpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAy
MCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIHIgciAvIHIpIikgaXMgImNvbG9yKHJlYzIw
MjAgMC43IDAuNyAwLjcgLyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAy
MCBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNCAwLjQg
MC40IC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgY2FsYyhyKSBjYWxjKGcp
IGNhbGMoYikpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcg
MC41IDAuMyAvIDQwJSkgcmVjMjAyMCBjYWxjKHIpIGNhbGMoZykgY2FsYyhiKSAvIGNhbGMoYWxw
aGEpKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gMC40KSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43
IDAuNSAwLjMpIHJlYzIwMjAgMTBkZWcgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVj
MjAyMCAwLjcgMC41IDAuMykgcmVjMjAyMCByIDEwZGVnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwg
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgZyAxMGRlZykiKSBpcyAicmdiYSgw
LCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgciBnIGIgLyAxMGRlZyki
KSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgcmVk
IGcgYikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIw
MjAgeCBnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSBy
ZWMyMDIwIGwgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4uLiAk
e2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiByIGcg
YikiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAw
LjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bo
b3RvLXJnYiAwLjcgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHBy
b3Bob3RvLXJnYiByIGcgYikiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSIK
K1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9y
KHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgcHJvcGhvdG8tcmdiIHIgZyBiIC8gYWxw
aGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihmcm9tIGNv
bG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgZyBiKSBwcm9waG90
by1yZ2IgciBnIGIpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9w
aG90by1yZ2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiAwIDAgMCkiKSBpcyAiY29sb3IocHJv
cGhvdG8tcmdiIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdi
IDAgMCAwKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMCAwIDApIgorUEFTUyBjb21wdXRlZFN0
eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAu
NyAwLjUgMC4zKSBwcm9waG90by1yZ2IgMCAwIDAgLyAwKSIpIGlzICJjb2xvcihwcm9waG90by1y
Z2IgMCAwIDAgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIDAg
MCAwIC8gMCkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAgMCAwIC8gMCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1y
Z2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiAwIGcgYiAvIGFscGhhKSIpIGlzICJjb2xvcihw
cm9waG90by1yZ2IgMCAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhv
dG8tcmdiIHIgMCBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMCAwLjMp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgciBnIDAgLyBhbHBoYSki
KSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAu
NSAwLjMpIHByb3Bob3RvLXJnYiByIGcgYiAvIDApIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAw
LjcgMC41IDAuMyAvIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBwcm9waG90
by1yZ2IgMCBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAgMC41IDAuMyAv
IDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIDAg
YiAvIGFscGhhKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMC43IDAgMC4zIC8gMC40KSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHBy
b3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgcHJvcGhvdG8tcmdiIHIgZyAwIC8gYWxwaGEp
IikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAgLyAwLjQpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdi
IDAuNyAwLjUgMC4zIC8gNDAlKSBwcm9waG90by1yZ2IgciBnIGIgLyAwKSIpIGlzICJjb2xvcihw
cm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykg
cHJvcGhvdG8tcmdiIDAuMiBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAu
MiAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIDIwJSBn
IGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuMiAwLjUgMC4zKSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bo
b3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgMC4yIGIgLyBhbHBoYSkiKSBpcyAi
Y29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjIgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAu
MykgcHJvcGhvdG8tcmdiIHIgMjAlIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdi
IDAuNyAwLjIgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIg
ZyAwLjIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4yKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHBy
b3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgZyAyMCUgLyBhbHBoYSkiKSBp
cyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41
IDAuMykgcHJvcGhvdG8tcmdiIHIgZyBiIC8gMC4yKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2Ig
MC43IDAuNSAwLjMgLyAwLjIpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1y
Z2IgciBnIGIgLyAyMCUpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDAu
MikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiAwLjIgZyBi
IC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjIgMC41IDAuMyAvIDAuNCkiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihw
cm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiAyMCUgZyBiIC8gYWxw
aGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjIgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90
by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIDAuMiBiIC8gYWxwaGEpIikg
aXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC4yIDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2Ig
MC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIDIwJSBiIC8gYWxwaGEpIikgaXMgImNv
bG9yKHByb3Bob3RvLXJnYiAwLjcgMC4yIDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAu
NSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIGcgMC4yIC8gYWxwaGEpIikgaXMgImNvbG9yKHBy
b3Bob3RvLXJnYiAwLjcgMC41IDAuMiAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMg
LyA0MCUpIHByb3Bob3RvLXJnYiByIGcgMjAlIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3Rv
LXJnYiAwLjcgMC41IDAuMiAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUp
IHByb3Bob3RvLXJnYiByIGcgYiAvIDAuMikiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAw
LjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgcHJvcGhvdG8t
cmdiIHIgZyBiIC8gMjAlKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyAw
LjIpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20g
Y29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgZyBiIHIpIikgaXMg
ImNvbG9yKHByb3Bob3RvLXJnYiAwLjUgMC4zIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAw
LjMpIHByb3Bob3RvLXJnYiBiIGFscGhhIHIgLyBnKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2Ig
MC4zIDEgMC43IC8gMC41KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdi
IHIgciByIC8gcikiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjcgMC43IC8gMC43KSIK
K1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9y
KHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIGFscGhhIGFscGhhIGFscGhh
IC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAxIDEgMSkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2Ig
MC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiBnIGIgcikiKSBpcyAiY29sb3IocHJvcGhv
dG8tcmdiIDAuNSAwLjMgMC43KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgcHJv
cGhvdG8tcmdiIGIgYWxwaGEgciAvIGcpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjMgMC40
IDAuNyAvIDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJn
YiByIHIgciAvIHIpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC43IDAuNyAvIDAuNyki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiBhbHBoYSBhbHBo
YSBhbHBoYSAvIGFscGhhKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMC40IDAuNCAwLjQgLyAw
LjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20g
Y29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgY2FsYyhyKSBjYWxj
KGcpIGNhbGMoYikpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9w
aG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiBjYWxjKHIpIGNhbGMoZykg
Y2FsYyhiKSAvIGNhbGMoYWxwaGEpKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAw
LjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgMTBkZWcg
ZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBw
cm9waG90by1yZ2IgciAxMGRlZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8t
cmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgciBnIDEwZGVnKSIpIGlzICJyZ2JhKDAsIDAs
IDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZy
b20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgciBnIGIgLyAx
MGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykg
cHJvcGhvdG8tcmdiIHJlZCBnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1y
Z2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiB4IGcgYikiKSBpcyAicmdiYSgwLCAwLCAwLCAw
KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNv
bG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIGwgZyBiKSIpIGlzICJy
Z2JhKDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4uLiB4eXogLi4uKQorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUg
MTAwKSB4eXogeCB5IHopIikgaXMgImNvbG9yKHh5eiA3IC0yMC41IDEwMCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAu
NSAxMDApIHh5eiB4IHkgeiAvIGFscGhhKSIpIGlzICJjb2xvcih4eXogNyAtMjAuNSAxMDApIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Io
eHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCB5IHopIikgaXMgImNvbG9yKHh5eiA3IC0yMC41
IDEwMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IHkgeiAvIGFscGhhKSIpIGlzICJj
b2xvcih4eXogNyAtMjAuNSAxMDAgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAp
IHh5eiB4IHkgeikgeHl6IHggeSB6KSIpIGlzICJjb2xvcih4eXogNyAtMjAuNSAxMDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6
IDcgLTIwLjUgMTAwKSB4eXogMCAwIDApIikgaXMgImNvbG9yKHh5eiAwIDAgMCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAt
MjAuNSAxMDApIHh5eiAwIDAgMCkiKSBpcyAiY29sb3IoeHl6IDAgMCAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41
IDEwMCkgeHl6IDAgMCAwIC8gMCkiKSBpcyAiY29sb3IoeHl6IDAgMCAwIC8gMCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAt
MjAuNSAxMDApIHh5eiAwIDAgMCAvIDApIikgaXMgImNvbG9yKHh5eiAwIDAgMCAvIDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6
IDcgLTIwLjUgMTAwKSB4eXogMCB5IHogLyBhbHBoYSkiKSBpcyAiY29sb3IoeHl6IDAgLTIwLjUg
MTAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9t
IGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggMCB6IC8gYWxwaGEpIikgaXMgImNvbG9yKHh5
eiA3IDAgMTAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggeSAwIC8gYWxwaGEpIikgaXMgImNv
bG9yKHh5eiA3IC0yMC41IDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogeCB5IHogLyAwKSIpIGlz
ICJjb2xvcih4eXogNyAtMjAuNSAxMDAgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkgeHl6
IDAgeSB6IC8gYWxwaGEpIikgaXMgImNvbG9yKHh5eiAwIC0yMC41IDEwMCAvIDAuNCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXog
NyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IDAgeiAvIGFscGhhKSIpIGlzICJjb2xvcih4eXogNyAw
IDEwMCAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IHkgMCAvIGFscGhhKSIp
IGlzICJjb2xvcih4eXogNyAtMjAuNSAwIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkg
eHl6IHggeSB6IC8gMCkiKSBpcyAiY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gMCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAt
MjAuNSAxMDApIHh5eiAwLjIgeSB6IC8gYWxwaGEpIikgaXMgImNvbG9yKHh5eiAwLjIgLTIwLjUg
MTAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9t
IGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggMC4yIHogLyBhbHBoYSkiKSBpcyAiY29sb3Io
eHl6IDcgMC4yIDEwMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgMC4yIC8gYWxwaGEpIikg
aXMgImNvbG9yKHh5eiA3IC0yMC41IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgeiAv
IDAuMikiKSBpcyAiY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEw
MCkgeHl6IHggeSB6IC8gMjAlKSIpIGlzICJjb2xvcih4eXogNyAtMjAuNSAxMDAgLyAwLjIpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Io
eHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogMC4yIHkgeiAvIGFscGhhKSIpIGlzICJjb2xvcih4
eXogMC4yIC0yMC41IDEwMCAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IDAu
MiB6IC8gYWxwaGEpIikgaXMgImNvbG9yKHh5eiA3IDAuMiAxMDAgLyAwLjQpIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIw
LjUgMTAwIC8gNDAlKSB4eXogeCB5IDAuMiAvIGFscGhhKSIpIGlzICJjb2xvcih4eXogNyAtMjAu
NSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCB5IHogLyAwLjIpIikg
aXMgImNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB5
IHogeCkiKSBpcyAiY29sb3IoeHl6IC0yMC41IDEwMCA3KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6
IHggeCB4IC8geCkiKSBpcyAiY29sb3IoeHl6IDcgNyA3KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQw
JSkgeHl6IHkgeiB4KSIpIGlzICJjb2xvcih4eXogLTIwLjUgMTAwIDcpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUg
MTAwIC8gNDAlKSB4eXogeCB4IHggLyB4KSIpIGlzICJjb2xvcih4eXogNyA3IDcpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcg
LTIwLjUgMTAwKSB4eXogeiBhbHBoYSB4IC8geSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IGFscGhhIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMgInJnYmEo
MCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB6IGFscGhhIHggLyB5KSIp
IGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogYWxwaGEg
YWxwaGEgYWxwaGEgLyBhbHBoYSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41
IDEwMCkgeHl6IGNhbGMoeCkgY2FsYyh5KSBjYWxjKHopKSIpIGlzICJjb2xvcih4eXogNyAtMjAu
NSAxMDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZy
b20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogY2FsYyh4KSBjYWxjKHkpIGNhbGMo
eikgLyBjYWxjKGFscGhhKSkiKSBpcyAiY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gMC40KSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IDEwZGVnIHkgeikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IHggMTBkZWcgeikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IHggeSAxMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IHggeSB6IC8gMTBkZWcpIikgaXMgInJnYmEoMCwgMCwgMCwgMCki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cih4eXogNyAtMjAuNSAxMDApIHh5eiByZWQgeSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IHIgeSB6KSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcg
LTIwLjUgMTAwKSB4eXogbCB5IHopIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCisKK1NwZWMgRXhh
bXBsZXMKIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJyZ2IoZnJvbSB2
YXIoLS1iZy1jb2xvcikgciBnIGIgLyA4MCUpIikgaXMgInJnYmEoMCwgMCwgMjU1LCAwLjgpIgog
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxjaChmcm9tIHZhcigtLWNv
bG9yKSBjYWxjKGwgLyAyKSBjIGgpIikgaXMgImxjaCgyMy4xMzg5NzElIDY3Ljk4OTcxNiAxMzQu
MzkxMjUpIgogUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgInJnYihmcm9t
IHZhcigtLWNvbG9yKSBjYWxjKHIgKiAuMyArIGcgKiAuNTkgKyBiICogLjExKSBjYWxjKHIgKiAu
MyArIGcgKiAuNTkgKyBiICogLjExKSBjYWxjKHIgKiAuMyArIGcgKiAuNTkgKyBiICogLjExKSki
KSBpcyAicmdiKDc2LCA3NiwgNzYpIgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2lu
Zy1yZWxhdGl2ZS1jb2xvci1zeW50YXguaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC5odG1sCShyZXZpc2lvbiAyNzgz
NTApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRh
eC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC00NDQsMTMgKzQ0NCwxNTEgQEAKICAgICB0ZXN0Q29t
cHV0ZWQoYGxjaChmcm9tIGxjaCg3MCUgNDUgMzApIGwgZyBiKWAsIGByZ2JhKDAsIDAsIDAsIDAp
YCk7CiAKIAotICAgIC8vIFNwZWMgZXhhbXBsZXM6CisgICAgZm9yIChjb25zdCBjb2xvciBvZiBb
ICJzcmdiIiwgImE5OC1yZ2IiLCAicmVjMjAyMCIsICJwcm9waG90by1yZ2IiIF0pIHsKKyAgICAg
ICAgZGVidWcoJycpOworICAgICAgICBkZWJ1ZygnY29sb3IoZnJvbSAuLi4gJHtjb2xvcn0gLi4u
KScpOworCisgICAgICAgIC8vIFRlc3Rpbmcgbm8gbW9kaWZpY2F0aW9ucy4KKyAgICAgICAgdGVz
dENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9y
fSByIGcgYilgLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAw
LjcgMC41IDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgYiAvIGFscGhhKWAsICAgICAgICAgICAg
ICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMylgKTsKKyAgICAgICAgdGVzdENv
bXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2Nv
bG9yfSByIGcgYilgLCAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcg
MC41IDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29s
b3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIGcgYiAvIGFscGhhKWAsICAgICAgICAg
ICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDAuNClgKTsKKworICAgICAgICAv
LyBUZXN0IG5lc3RpbmcgcmVsYXRpdmUgY29sb3JzLgorICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNv
bG9yKGZyb20gY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0g
ciBnIGIpICR7Y29sb3J9IHIgZyBiKWAsICAgYGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKWAp
OworCisgICAgICAgIC8vIFRlc3RpbmcgcmVwbGFjZW1lbnQgd2l0aCAwLgorICAgICAgICB0ZXN0
Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9
IDAgMCAwKWAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAg
MCAwKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0g
MC43IDAuNSAwLjMpICR7Y29sb3J9IDAgMCAwKWAsICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYGNvbG9yKCR7Y29sb3J9IDAgMCAwKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
KGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9IDAgMCAwIC8gMClgLCAg
ICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAgMCAwIC8gMClgKTsKKyAg
ICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4z
KSAke2NvbG9yfSAwIDAgMCAvIDApYCwgICAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcigk
e2NvbG9yfSAwIDAgMCAvIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBj
b2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gMCBnIGIgLyBhbHBoYSlgLCAgICAg
ICAgICAgICAgICAgICAgICBgY29sb3IoJHtjb2xvcn0gMCAwLjUgMC4zKWApOworICAgICAgICB0
ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29s
b3J9IHIgMCBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9
IDAuNyAwIDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgMCAvIGFscGhhKWAsICAgICAgICAgICAg
ICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDApYCk7CisgICAgICAgIHRlc3RDb21w
dXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gciBn
IGIgLyAwKWAsICAgICAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoJHtjb2xvcn0gMC43IDAu
NSAwLjMgLyAwKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtj
b2xvcn0gMC43IDAuNSAwLjMgLyA0MCUpICR7Y29sb3J9IDAgZyBiIC8gYWxwaGEpYCwgICAgICAg
ICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAgMC41IDAuMyAvIDAuNClgKTsKKyAgICAgICAgdGVz
dENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAk
e2NvbG9yfSByIDAgYiAvIGFscGhhKWAsICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAw
LjcgMCAwLjMgLyAwLjQpYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xv
cigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDQwJSkgJHtjb2xvcn0gciBnIDAgLyBhbHBoYSlgLCAg
ICAgICAgICAgICAgICBgY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwIC8gMC40KWApOworICAgICAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0
MCUpICR7Y29sb3J9IHIgZyBiIC8gMClgLCAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29s
b3J9IDAuNyAwLjUgMC4zIC8gMClgKTsKKworICAgICAgICAvLyBUZXN0aW5nIHJlcGxhY2VtZW50
IHdpdGggYSBjb25zdGFudC4KKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9y
KCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSAwLjIgZyBiIC8gYWxwaGEpYCwgICAgICAg
ICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjIgMC41IDAuMylgKTsKKyAgICAgICAgdGVz
dENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9y
fSAyMCUgZyBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAw
LjIgMC41IDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIDAuMiBiIC8gYWxwaGEpYCwgICAgICAgICAg
ICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC4yIDAuMylgKTsKKyAgICAgICAgdGVzdENv
bXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSBy
IDIwJSBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcg
MC4yIDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29s
b3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgMC4yIC8gYWxwaGEpYCwgICAgICAgICAgICAg
ICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMilgKTsKKyAgICAgICAgdGVzdENvbXB1
dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcg
MjAlIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41
IDAuMilgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9
IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgYiAvIDAuMilgLCAgICAgICAgICAgICAgICAgICAg
ICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDAuMilgKTsKKyAgICAgICAgdGVzdENv
bXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSBy
IGcgYiAvIDIwJSlgLCAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcg
MC41IDAuMyAvIDAuMilgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9y
KCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSAwLjIgZyBiIC8gYWxwaGEpYCwg
ICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjIgMC41IDAuMyAvIDAuNClgKTsKKyAgICAg
ICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8g
NDAlKSAke2NvbG9yfSAyMCUgZyBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcigke2Nv
bG9yfSAwLjIgMC41IDAuMyAvIDAuNClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihm
cm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIDAuMiBiIC8g
YWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC4yIDAuMyAvIDAuNClg
KTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAw
LjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIDIwJSBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBj
b2xvcigke2NvbG9yfSAwLjcgMC4yIDAuMyAvIDAuNClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVk
KGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSBy
IGcgMC4yIC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAu
MiAvIDAuNClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29s
b3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIGcgMjAlIC8gYWxwaGEpYCwgICAgICAg
ICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMiAvIDAuNClgKTsKKyAgICAgICAgdGVz
dENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAk
e2NvbG9yfSByIGcgYiAvIDAuMilgLCAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAw
LjcgMC41IDAuMyAvIDAuMilgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNv
bG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIGcgYiAvIDIwJSlgLCAg
ICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDAuMilgKTsKKwor
ICAgICAgICAvLyBUZXN0aW5nIHZhbGlkIHBlcm11dGF0aW9uICh0eXBlcyBtYXRjaCkuCisgICAg
ICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykg
JHtjb2xvcn0gZyBiIHIpYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoJHtj
b2xvcn0gMC41IDAuMyAwLjcpYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBj
b2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gYiBhbHBoYSByIC8gZylgLCAgICAg
ICAgICAgICAgICAgICAgICBgY29sb3IoJHtjb2xvcn0gMC4zIDEgMC43IC8gMC41KWApOworICAg
ICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMp
ICR7Y29sb3J9IHIgciByIC8gcilgLCAgICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjcgMC43IC8gMC43KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
KGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9IGFscGhhIGFscGhhIGFs
cGhhIC8gYWxwaGEpYCwgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDEgMSAxKWApOworICAgICAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0
MCUpICR7Y29sb3J9IGcgYiByKWAsICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29s
b3J9IDAuNSAwLjMgMC43KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29s
b3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0MCUpICR7Y29sb3J9IGIgYWxwaGEgciAvIGcpYCwg
ICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAuMyAwLjQgMC43IC8gMC41KWApOworICAg
ICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMg
LyA0MCUpICR7Y29sb3J9IHIgciByIC8gcilgLCAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjcgMC43IC8gMC43KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
KGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0MCUpICR7Y29sb3J9IGFscGhhIGFs
cGhhIGFscGhhIC8gYWxwaGEpYCwgICAgYGNvbG9yKCR7Y29sb3J9IDAuNCAwLjQgMC40IC8gMC40
KWApOworCisgICAgICAgIC8vIFRlc3Rpbmcgd2l0aCBjYWxjKCkuCisgICAgICAgIHRlc3RDb21w
dXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gY2Fs
YyhyKSBjYWxjKGcpIGNhbGMoYikpYCwgICAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoJHtj
b2xvcn0gMC43IDAuNSAwLjMpYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBj
b2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDQwJSkgJHtjb2xvcn0gY2FsYyhyKSBjYWxjKGcp
IGNhbGMoYikgLyBjYWxjKGFscGhhKSlgLCAgICBgY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMg
LyAwLjQpYCk7CisKKyAgICAgICAgLy8gVGVzdGluZyBpbnZhbGlkIHZhbHVlcy4KKyAgICAgICAg
dGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2Nv
bG9yfSAxMGRlZyBnIGIpYCwgICAgICAgICAgICAgICAgICAgICAgICAgIGByZ2JhKDAsIDAsIDAs
IDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAw
LjcgMC41IDAuMykgJHtjb2xvcn0gciAxMGRlZyBiKWAsICAgICAgICAgICAgICAgICAgICAgICAg
ICBgcmdiYSgwLCAwLCAwLCAwKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20g
Y29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9IHIgZyAxMGRlZylgLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICAgICAgdGVzdENvbXB1
dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcg
YiAvIDEwZGVnKWAsICAgICAgICAgICAgICAgICAgICAgIGByZ2JhKDAsIDAsIDAsIDApYCk7CisK
KyAgICAgICAgLy8gVGVzdGluZyBpbnZhbGlkIGNvbXBvbmVudCBuYW1lcworICAgICAgICB0ZXN0
Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9
IHJlZCBnIGIpYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHJnYmEoMCwgMCwgMCwgMClg
KTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAw
LjUgMC4zKSAke2NvbG9yfSB4IGcgYilgLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBy
Z2JhKDAsIDAsIDAsIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xv
cigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gbCBnIGIpYCwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBgcmdiYSgwLCAwLCAwLCAwKWApOworICAgIH0KKworICAgIGRlYnVnKCcn
KTsKKyAgICBkZWJ1ZygnY29sb3IoZnJvbSAuLi4geHl6IC4uLiknKTsKKworICAgIC8vIFRlc3Rp
bmcgbm8gbW9kaWZpY2F0aW9ucy4KKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3Io
eHl6IDcgLTIwLjUgMTAwKSB4eXogeCB5IHopYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBgY29sb3IoeHl6IDcgLTIwLjUgMTAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJv
bSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgeiAvIGFscGhhKWAsICAgICAgICAgICAg
ICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAxMDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBj
b2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkgeHl6IHggeSB6KWAsICAgICAg
ICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3IC0yMC41IDEwMClgKTsKKyAgICB0ZXN0Q29t
cHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCB5IHog
LyBhbHBoYSlgLCAgICAgICAgICAgICAgICBgY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gMC40KWAp
OworCisgICAgLy8gVGVzdCBuZXN0aW5nIHJlbGF0aXZlIGNvbG9ycy4KKyAgICB0ZXN0Q29tcHV0
ZWQoYGNvbG9yKGZyb20gY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkg
eikgeHl6IHggeSB6KWAsICAgICAgICBgY29sb3IoeHl6IDcgLTIwLjUgMTAwKWApOworCisgICAg
Ly8gVGVzdGluZyByZXBsYWNlbWVudCB3aXRoIDAuCisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihm
cm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IDAgMCAwKWAsICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYGNvbG9yKHh5eiAwIDAgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
KGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogMCAwIDApYCwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBgY29sb3IoeHl6IDAgMCAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29s
b3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiAwIDAgMCAvIDApYCwgICAgICAgICAg
ICAgICAgICAgICAgICAgIGBjb2xvcih4eXogMCAwIDAgLyAwKWApOworICAgIHRlc3RDb21wdXRl
ZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiAwIDAgMCAvIDApYCwgICAg
ICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogMCAwIDAgLyAwKWApOworICAgIHRlc3RD
b21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiAwIHkgeiAvIGFs
cGhhKWAsICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogMCAtMjAuNSAxMDApYCk7Cisg
ICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHgg
MCB6IC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3IDAgMTAwKWAp
OworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5
eiB4IHkgMCAvIGFscGhhKWAsICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAu
NSAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAx
MDApIHh5eiB4IHkgeiAvIDApYCwgICAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXog
NyAtMjAuNSAxMDAgLyAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4
eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiAwIHkgeiAvIGFscGhhKWAsICAgICAgICAgICAgICAg
IGBjb2xvcih4eXogMCAtMjAuNSAxMDAgLyAwLjQpYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xv
cihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkgeHl6IHggMCB6IC8gYWxwaGEpYCwg
ICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3IDAgMTAwIC8gMC40KWApOworICAgIHRlc3RDb21w
dXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IHkgMCAv
IGFscGhhKWAsICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAwIC8gMC40KWApOwor
ICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUp
IHh5eiB4IHkgeiAvIDApYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAx
MDAgLyAwKWApOworCisgICAgLy8gVGVzdGluZyByZXBsYWNlbWVudCB3aXRoIGEgY29uc3RhbnQu
CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6
IDAuMiB5IHogLyBhbHBoYSlgLCAgICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiAwLjIgLTIw
LjUgMTAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAu
NSAxMDApIHh5eiB4IDAuMiB6IC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4
eXogNyAwLjIgMTAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXog
NyAtMjAuNSAxMDApIHh5eiB4IHkgMC4yIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBj
b2xvcih4eXogNyAtMjAuNSAwLjIpYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNv
bG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggeSB6IC8gMC4yKWAsICAgICAgICAgICAgICAgICAg
ICAgICAgYGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDAuMilgKTsKKyAgICB0ZXN0Q29tcHV0ZWQo
YGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogeCB5IHogLyAyMCUpYCwgICAg
ICAgICAgICAgICAgICAgICAgICBgY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gMC4yKWApOworICAg
IHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5
eiAwLjIgeSB6IC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcih4eXogMC4yIC0yMC41IDEw
MCAvIDAuNClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIw
LjUgMTAwIC8gNDAlKSB4eXogeCAwLjIgeiAvIGFscGhhKWAsICAgICAgICAgICAgICBgY29sb3Io
eHl6IDcgMC4yIDEwMCAvIDAuNClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29s
b3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCB5IDAuMiAvIGFscGhhKWAsICAgICAgICAg
ICAgICBgY29sb3IoeHl6IDcgLTIwLjUgMC4yIC8gMC40KWApOworICAgIHRlc3RDb21wdXRlZChg
Y29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IHkgeiAvIDAuMilg
LCAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyAwLjIpYCk7CisKKyAg
ICAvLyBUZXN0aW5nIHZhbGlkIHBlcm11dGF0aW9uICh0eXBlcyBtYXRjaCkuCisgICAgdGVzdENv
bXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHkgeiB4KWAsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiAtMjAuNSAxMDAgNylgKTsKKyAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogeCB4
IHggLyB4KWAsICAgICAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoeHl6IDcgNyA3KWApOwor
ICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUp
IHh5eiB5IHogeClgLCAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogLTIwLjUgMTAw
IDcpYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEw
MCAvIDQwJSkgeHl6IHggeCB4IC8geClgLCAgICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3
IDcgNylgKTsKKworICAgIC8vIFRlc3RpbmcgaW52YWxpZCBwZXJtdXRhdGlvbiAodHlwZXMgZG9u
J3QgbWF0Y2gpLgorICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAu
NSAxMDApIHh5eiB6IGFscGhhIHggLyB5KWAsICAgICAgICAgICAgICAgICAgICAgIGByZ2JhKDAs
IDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0y
MC41IDEwMCkgeHl6IGFscGhhIGFscGhhIGFscGhhIC8gYWxwaGEpYCwgICAgICAgICAgYHJnYmEo
MCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcg
LTIwLjUgMTAwIC8gNDAlKSB4eXogeiBhbHBoYSB4IC8geSlgLCAgICAgICAgICAgICAgICBgcmdi
YSgwLCAwLCAwLCAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXog
NyAtMjAuNSAxMDAgLyA0MCUpIHh5eiBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKWAsICAgIGBy
Z2JhKDAsIDAsIDAsIDApYCk7CisKKyAgICAvLyBUZXN0aW5nIHdpdGggY2FsYygpLgorICAgIHRl
c3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiBjYWxjKHgp
IGNhbGMoeSkgY2FsYyh6KSlgLCAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAt
MjAuNSAxMDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0y
MC41IDEwMCAvIDQwJSkgeHl6IGNhbGMoeCkgY2FsYyh5KSBjYWxjKHopIC8gY2FsYyhhbHBoYSkp
YCwgICAgYGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDAuNClgKTsKKworICAgIC8vIFRlc3Rpbmcg
aW52YWxpZCB2YWx1ZXMuCisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3
IC0yMC41IDEwMCkgeHl6IDEwZGVnIHkgeilgLCAgICAgICAgICAgICAgICAgICAgICAgICAgYHJn
YmEoMCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6
IDcgLTIwLjUgMTAwKSB4eXogeCAxMGRlZyB6KWAsICAgICAgICAgICAgICAgICAgICAgICAgICBg
cmdiYSgwLCAwLCAwLCAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4
eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgMTBkZWcpYCwgICAgICAgICAgICAgICAgICAgICAgICAg
IGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9y
KHh5eiA3IC0yMC41IDEwMCkgeHl6IHggeSB6IC8gMTBkZWcpYCwgICAgICAgICAgICAgICAgICAg
ICAgYHJnYmEoMCwgMCwgMCwgMClgKTsKKworICAgIC8vIFRlc3RpbmcgaW52YWxpZCBjb21wb25l
bnQgbmFtZXMKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUg
MTAwKSB4eXogcmVkIHkpYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgcmdiYSgwLCAw
LCAwLCAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAu
NSAxMDApIHh5eiByIHkgeilgLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGByZ2JhKDAs
IDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0y
MC41IDEwMCkgeHl6IGwgeSB6KWAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHJnYmEo
MCwgMCwgMCwgMClgKTsKKworCisgICAgZGVidWcoJycpOworICAgIGRlYnVnKCdTcGVjIEV4YW1w
bGVzJyk7CisKICAgICAvLyBFeGFtcGxlIDExLgogICAgIHRlc3RDb21wdXRlZChgcmdiKGZyb20g
dmFyKC0tYmctY29sb3IpIHIgZyBiIC8gODAlKWAsIGByZ2JhKDAsIDAsIDI1NSwgMC44KWApOwot
ICAgIAorCiAgICAgLy8gRXhhbXBsZSAxMi4KICAgICB0ZXN0Q29tcHV0ZWQoYGxjaChmcm9tIHZh
cigtLWNvbG9yKSBjYWxjKGwgLyAyKSBjIGgpYCwgYGxjaCgyMy4xMzg5NzElIDY3Ljk4OTcxNiAx
MzQuMzkxMjUpYCk7Ci0gICAgCisKICAgICAvLyBFeGFtcGxlIDEzLgogICAgIHRlc3RDb21wdXRl
ZChgcmdiKGZyb20gdmFyKC0tY29sb3IpIGNhbGMociAqIC4zICsgZyAqIC41OSArIGIgKiAuMTEp
IGNhbGMociAqIC4zICsgZyAqIC41OSArIGIgKiAuMTEpIGNhbGMociAqIC4zICsgZyAqIC41OSAr
IGIgKiAuMTEpKWAsIGByZ2IoNzYsIDc2LCA3NilgKQogICAgIHRlc3RDb21wdXRlZChgbGNoKGZy
b20gdmFyKC0tY29sb3IpIGwgMCBoKWAsIGBsY2goNDYuMjc3OTQzJSAwIDEzNC4zOTEyNSlgKQpA
QCAtNDY1LDcgKzYwMyw3IEBACiAgICAgdGVzdENvbXB1dGVkKGBsYWIoZnJvbSB2YXIoLS1teWNv
bG9yKSBsIGEgYiAvIDEwMCUpYCwgYGxhYig2Mi43NTE5MjMlIDUyLjQ1ODAyIC0zNC4xMTcyODMp
YCk7CiAgICAgdGVzdENvbXB1dGVkKGBsYWIoZnJvbSB2YXIoLS1teWNvbG9yKSBsIGEgYiAvIGNh
bGMoYWxwaGEgKiAwLjgpKWAsIGBsYWIoNjIuNzUxOTIzJSA1Mi40NTgwMiAtMzQuMTE3MjgzIC8g
MC44KWApOwogICAgIHRlc3RDb21wdXRlZChgbGFiKGZyb20gdmFyKC0tbXljb2xvcikgbCBhIGIg
LyBjYWxjKGFscGhhIC0gMjAlKSlgLCBgbGFiKDYyLjc1MTkyMyUgNTIuNDU4MDIgLTM0LjExNzI4
MyAvIDAuOClgKTsKLSAgICAKKwogICAgIC8vIEV4YW1wbGUgMTcuCiAgICAgdGVzdENvbXB1dGVk
KGBsYWIoZnJvbSB2YXIoLS1teWNvbG9yKSBsIDAgMClgLCBgbGFiKDYyLjc1MTkyMyUgMCAwKWAp
OwogCg==
</data>
<flag name="commit-queue"
          id="451782"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430363</attachid>
            <date>2021-06-02 08:43:29 -0700</date>
            <delta_ts>2021-06-02 10:39:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226513-20210602084328.patch</filename>
            <type>text/plain</type>
            <size>81286</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3ODM1MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA2LTAxICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgInJlbGF0
aXZlIGNvbG9yIHN5bnRheCIgZm9yIGNvbG9yKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjUxMworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIENTUyBDb2xvciA1IGhhcyByZWNlbnRseSBiZWVuIHVwZGF0ZSB0
byBzdXBwb3J0IHJlbGF0aXZlIGNvbG9yIHN5bnRheCBmb3IKKyAgICAgICAgdGhlIGNvbG9yKCkg
ZnVuY3Rpb24gaW4gYWRkaXRpb24gdG8gdGhlIGV4aXN0aW5nIHJnYigpLCBoc2woKSwgaHdiKCks
IGxhYigpCisgICAgICAgIGFuZCBsY2goKS4KKworICAgICAgICBUb29rIHRoZSBvcGVydHVuaXR5
IHRvIHJlZmFjdG9yIG90aGVyIHJlbGF0aXZlIGNvbG9yIHN5bnRheCBwYXJzaW5nIHRvIHNoYXJl
CisgICAgICAgIG1vcmUgY29kZSBiZXR3ZWVuIHJlbGF0aXZlIGFuZCBub24tcmVsYXRpdmUgcGFy
c2VycyB1c2luZyBhIHNoYXJlZCBmdW5jdGlvbgorICAgICAgICB3aXRoIGxhbWJkYXMgdG8gZGlm
ZmVyZW50aWF0ZSB0aGUgY29tcG9uZW50IGNvbnN1bWVycy4gVGhpcyB3YXMgZG9uZSBmb3IgYWxs
CisgICAgICAgIHRoZSBjb2xvciB0eXBlcyBleGNlcHQgcmdiKCkgYW5kIGhzbCgpLCB3aGljaCBo
YXZlIG5vdGFibGUgZGlmZmVyZW5jZXMgaW4gCisgICAgICAgIHBhcnNpbmcgYmV0d2VlbiB0aGUg
cmVsYXRpdmUgYW5kIG5vbi1yZWxhdGl2ZSB2ZXJzaW9uLgorCisgICAgICAgICogY3NzL3BhcnNl
ci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJv
cGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZU5vblJlbGF0aXZlUkdCUGFyYW1ldGVycyk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlUkdCUGFyYW1ldGVy
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbG9yQnlO
b3JtYWxpemluZ0hTTENvbXBvbmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQ
YXJzZXJIZWxwZXJzOjpwYXJzZVJlbGF0aXZlSFNMUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlTm9uUmVsYXRpdmVIU0xQYXJhbWV0
ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VI
U0xQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VySGVscGVy
czo6cGFyc2VIV0JQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFy
c2VySGVscGVyczo6cGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZU5vblJlbGF0aXZlSFdCUGFyYW1ldGVy
cyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlTGFi
UGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6
OnBhcnNlUmVsYXRpdmVMYWJQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3Bl
cnR5UGFyc2VySGVscGVyczo6cGFyc2VOb25SZWxhdGl2ZUxhYlBhcmFtZXRlcnMpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZUxDSFBhcmFtZXRlcnMp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZVJlbGF0
aXZlTENIUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhl
bHBlcnM6OnBhcnNlTm9uUmVsYXRpdmVMQ0hQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6cGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXMp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpwYXJzZVJlbGF0
aXZlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3Bl
cnR5UGFyc2VySGVscGVyczo6cGFyc2VDb2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1ldGVycyk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlUmVsYXRpdmVD
b2xvckZ1bmN0aW9uRm9yWFlaUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9w
ZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlUmVsYXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlTm9uUmVs
YXRpdmVDb2xvckZ1bmN0aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9w
ZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlQ29sb3JGdW5jdGlvblBhcmFtZXRlcnMpOgorCiAyMDIx
LTA2LTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbY3NzLXNjcm9sbC1zbmFwXSBTY3JvbGwgc25hcCBpcyBicm9rZW4gd2l0aCBub24taG9yaXpv
bnRhbCB3cml0aW5nIG1vZGVzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1By
b3BlcnR5UGFyc2VySGVscGVycy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCShyZXZpc2lvbiAyNzgzNTApCisr
KyBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE0OTksMTggKzE0OTksOCBAQCBzdGF0aWMgQ29sb3IgcGFyc2VS
ZWxhdGl2ZVJHQlBhcmFtZXRlcnMoCiAgICAgcmV0dXJuIFNSR0JBPHVpbnQ4X3Q+IHsgKnJlZCwg
KmdyZWVuLCAqYmx1ZSwgbm9ybWFsaXplZEFscGhhIH07CiB9CiAKLWVudW0gY2xhc3MgUkdCRnVu
Y3Rpb25Nb2RlIHsgUkdCLCBSR0JBIH07Ci0KLXRlbXBsYXRlPFJHQkZ1bmN0aW9uTW9kZSBNb2Rl
PiBzdGF0aWMgQ29sb3IgcGFyc2VSR0JQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIHJh
bmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQorc3RhdGljIENvbG9yIHBhcnNl
Tm9uUmVsYXRpdmVSR0JQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MpCiB7Ci0g
ICAgQVNTRVJUKHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCkgPT0gQ1NTVmFsdWVSZ2IgfHwgcmFu
Z2UucGVlaygpLmZ1bmN0aW9uSWQoKSA9PSBDU1NWYWx1ZVJnYmEpOwotICAgIGF1dG8gYXJncyA9
IGNvbnN1bWVGdW5jdGlvbihyYW5nZSk7Ci0KLSAgICBpZiBjb25zdGV4cHIgKE1vZGUgPT0gUkdC
RnVuY3Rpb25Nb2RlOjpSR0IpIHsKLSAgICAgICAgaWYgKGNvbnRleHQucmVsYXRpdmVDb2xvclN5
bnRheEVuYWJsZWQgJiYgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pCi0gICAgICAg
ICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZVJHQlBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7Ci0g
ICAgfQotCiAgICAgc3RydWN0IEluaXRpYWxDb21wb25lbnQgewogICAgICAgICBkb3VibGUgdmFs
dWU7CiAgICAgICAgIFJHQkNvbXBvbmVudFR5cGUgdHlwZTsKQEAgLTE1NjksNiArMTU1OSwzMiBA
QCB0ZW1wbGF0ZTxSR0JGdW5jdGlvbk1vZGUgTW9kZT4gc3RhdGljIENvCiAgICAgcmV0dXJuIFNS
R0JBPHVpbnQ4X3Q+IHsgbm9ybWFsaXplZFJlZCwgbm9ybWFsaXplZEdyZWVuLCBub3JtYWxpemVk
Qmx1ZSwgbm9ybWFsaXplZEFscGhhIH07CiB9CiAKK2VudW0gY2xhc3MgUkdCRnVuY3Rpb25Nb2Rl
IHsgUkdCLCBSR0JBIH07CisKK3RlbXBsYXRlPFJHQkZ1bmN0aW9uTW9kZSBNb2RlPiBzdGF0aWMg
Q29sb3IgcGFyc2VSR0JQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25z
dCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQoreworICAgIEFTU0VSVChyYW5nZS5wZWVrKCku
ZnVuY3Rpb25JZCgpID09IChNb2RlID09IFJHQkZ1bmN0aW9uTW9kZTo6UkdCID8gQ1NTVmFsdWVS
Z2IgOiBDU1NWYWx1ZVJnYmEpKTsKKyAgICBhdXRvIGFyZ3MgPSBjb25zdW1lRnVuY3Rpb24ocmFu
Z2UpOworCisgICAgaWYgY29uc3RleHByIChNb2RlID09IFJHQkZ1bmN0aW9uTW9kZTo6UkdCKSB7
CisgICAgICAgIGlmIChjb250ZXh0LnJlbGF0aXZlQ29sb3JTeW50YXhFbmFibGVkICYmIGFyZ3Mu
cGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVGcm9tKQorICAgICAgICAgICAgcmV0dXJuIHBhcnNlUmVs
YXRpdmVSR0JQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOworICAgIH0KKyAgICByZXR1cm4gcGFy
c2VOb25SZWxhdGl2ZVJHQlBhcmFtZXRlcnMoYXJncyk7Cit9CisKK3N0YXRpYyBDb2xvciBjb2xv
ckJ5Tm9ybWFsaXppbmdIU0xDb21wb25lbnRzKGRvdWJsZSBodWUsIGRvdWJsZSBzYXR1cmF0aW9u
LCBkb3VibGUgbGlnaHRuZXNzLCBkb3VibGUgYWxwaGEpCit7CisgICAgYXV0byBub3JtYWxpemVk
SHVlID0gbm9ybWFsaXplSHVlKGh1ZSk7CisgICAgYXV0byBub3JtYWxpemVkU2F0dXJhdGlvbiA9
IHN0ZDo6Y2xhbXAoc2F0dXJhdGlvbiwgMC4wLCAxMDAuMCk7CisgICAgYXV0byBub3JtYWxpemVk
TGlnaHRuZXNzID0gc3RkOjpjbGFtcChsaWdodG5lc3MsIDAuMCwgMTAwLjApOworICAgIGF1dG8g
bm9ybWFsaXplZEFscGhhID0gc3RkOjpjbGFtcChhbHBoYSwgMC4wLCAxLjApOworCisgICAgLy8g
Tk9URTogVGhlIGV4cGxpY2l0IGNvbnZlcnNpb24gdG8gU1JHQkE8dWludDhfdD4gaXMgaW50ZW50
aW9uYWwgZm9yIHBlcmZvcm1hbmNlIChubyBleHRyYSBhbGxvY2F0aW9uIGZvcgorICAgIC8vIHRo
ZSBleHRlbmRlZCBjb2xvcikgYW5kIGNvbXBhdGFiaWxpdHksIGZvcmNpbmcgc2VyaWFsaWF6YXRp
b24gdG8gdXNlIHRoZSByZ2IoKS9yZ2JhKCkgZm9ybS4KKyAgICByZXR1cm4gY29udmVydENvbG9y
PFNSR0JBPHVpbnQ4X3Q+PihIU0xBPGZsb2F0PiB7IHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxp
emVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRTYXR1cmF0aW9uKSwgc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9y
bWFsaXplZEFscGhhKSB9KTsKK30KKwogc3RhdGljIENvbG9yIHBhcnNlUmVsYXRpdmVIU0xQYXJh
bWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1BhcnNlckNvbnRleHQm
IGNvbnRleHQpCiB7CiAgICAgQVNTRVJUKGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVGcm9t
KTsKQEAgLTE2MDYsMjYgKzE2MjIsMTEgQEAgc3RhdGljIENvbG9yIHBhcnNlUmVsYXRpdmVIU0xQ
YXJhbWV0ZXJzKAogICAgIGlmICghYXJncy5hdEVuZCgpKQogICAgICAgICByZXR1cm4geyB9Owog
Ci0gICAgYXV0byBub3JtYWxpemVkSHVlID0gbm9ybWFsaXplSHVlKCpodWUpOwotICAgIGF1dG8g
bm9ybWFsaXplZFNhdHVyYXRpb24gPSBzdGQ6OmNsYW1wKCpzYXR1cmF0aW9uLCAwLjAsIDEwMC4w
KTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRMaWdodG5lc3MgPSBzdGQ6OmNsYW1wKCpsaWdodG5lc3Ms
IDAuMCwgMTAwLjApOwotICAgIGF1dG8gbm9ybWFsaXplZEFscGhhID0gc3RkOjpjbGFtcCgqYWxw
aGEsIDAuMCwgMS4wKTsKLQotICAgIHJldHVybiBjb252ZXJ0Q29sb3I8U1JHQkE8dWludDhfdD4+
KEhTTEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRIdWUpLCBzdGF0aWNf
Y2FzdDxmbG9hdD4obm9ybWFsaXplZFNhdHVyYXRpb24pLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9y
bWFsaXplZExpZ2h0bmVzcyksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkQWxwaGEpIH0p
OworICAgIHJldHVybiBjb2xvckJ5Tm9ybWFsaXppbmdIU0xDb21wb25lbnRzKCpodWUsICpzYXR1
cmF0aW9uLCAqbGlnaHRuZXNzLCAqYWxwaGEpOwogfQogCi1lbnVtIGNsYXNzIEhTTEZ1bmN0aW9u
TW9kZSB7IEhTTCwgSFNMQSB9OwotCi10ZW1wbGF0ZTxIU0xGdW5jdGlvbk1vZGUgTW9kZT4gc3Rh
dGljIENvbG9yIHBhcnNlSFNMUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwg
Y29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3N0YXRpYyBDb2xvciBwYXJzZU5vblJl
bGF0aXZlSFNMUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBjb25zdCBDU1NQ
YXJzZXJDb250ZXh0JiBjb250ZXh0KQogewotICAgIEFTU0VSVChyYW5nZS5wZWVrKCkuZnVuY3Rp
b25JZCgpID09IENTU1ZhbHVlSHNsIHx8IHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCkgPT0gQ1NT
VmFsdWVIc2xhKTsKLSAgICBhdXRvIGFyZ3MgPSBjb25zdW1lRnVuY3Rpb24ocmFuZ2UpOwotCi0g
ICAgaWYgY29uc3RleHByIChNb2RlID09IEhTTEZ1bmN0aW9uTW9kZTo6SFNMKSB7Ci0gICAgICAg
IGlmIChjb250ZXh0LnJlbGF0aXZlQ29sb3JTeW50YXhFbmFibGVkICYmIGFyZ3MucGVlaygpLmlk
KCkgPT0gQ1NTVmFsdWVGcm9tKQotICAgICAgICAgICAgcmV0dXJuIHBhcnNlUmVsYXRpdmVIU0xQ
YXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOwotICAgIH0KLQogICAgIGF1dG8gaHVlID0gY29uc3Vt
ZUFuZ2xlUmF3T3JOdW1iZXJSYXcoYXJncywgY29udGV4dC5tb2RlKTsKICAgICBpZiAoIWh1ZSkK
ICAgICAgICAgcmV0dXJuIHsgfTsKQEAgLTE2NTAsMTIgKzE2NTEsMjIgQEAgdGVtcGxhdGU8SFNM
RnVuY3Rpb25Nb2RlIE1vZGU+IHN0YXRpYyBDbwogICAgIGlmICghYXJncy5hdEVuZCgpKQogICAg
ICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byBub3JtYWxpemVkSHVlID0gbm9ybWFsaXplSHVl
KCpodWUpOwotICAgIGF1dG8gbm9ybWFsaXplZFNhdHVyYXRpb24gPSBzdGQ6OmNsYW1wKCpzYXR1
cmF0aW9uLCAwLjAsIDEwMC4wKTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRMaWdodG5lc3MgPSBzdGQ6
OmNsYW1wKCpsaWdodG5lc3MsIDAuMCwgMTAwLjApOwotICAgIGF1dG8gbm9ybWFsaXplZEFscGhh
ID0gc3RkOjpjbGFtcCgqYWxwaGEsIDAuMCwgMS4wKTsKKyAgICByZXR1cm4gY29sb3JCeU5vcm1h
bGl6aW5nSFNMQ29tcG9uZW50cygqaHVlLCAqc2F0dXJhdGlvbiwgKmxpZ2h0bmVzcywgKmFscGhh
KTsKK30KIAotICAgIHJldHVybiBjb252ZXJ0Q29sb3I8U1JHQkE8dWludDhfdD4+KEhTTEE8Zmxv
YXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRIdWUpLCBzdGF0aWNfY2FzdDxmbG9h
dD4obm9ybWFsaXplZFNhdHVyYXRpb24pLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZExp
Z2h0bmVzcyksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkQWxwaGEpIH0pOworZW51bSBj
bGFzcyBIU0xGdW5jdGlvbk1vZGUgeyBIU0wsIEhTTEEgfTsKKwordGVtcGxhdGU8SFNMRnVuY3Rp
b25Nb2RlIE1vZGU+IHN0YXRpYyBDb2xvciBwYXJzZUhTTFBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9r
ZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAg
QVNTRVJUKHJhbmdlLnBlZWsoKS5mdW5jdGlvbklkKCkgPT0gKE1vZGUgPT0gSFNMRnVuY3Rpb25N
b2RlOjpIU0wgPyBDU1NWYWx1ZUhzbCA6IENTU1ZhbHVlSHNsYSkpOworICAgIGF1dG8gYXJncyA9
IGNvbnN1bWVGdW5jdGlvbihyYW5nZSk7CisKKyAgICBpZiBjb25zdGV4cHIgKE1vZGUgPT0gSFNM
RnVuY3Rpb25Nb2RlOjpIU0wpIHsKKyAgICAgICAgaWYgKGNvbnRleHQucmVsYXRpdmVDb2xvclN5
bnRheEVuYWJsZWQgJiYgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pCisgICAgICAg
ICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUhTTFBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7Cisg
ICAgfQorCisgICAgcmV0dXJuIHBhcnNlTm9uUmVsYXRpdmVIU0xQYXJhbWV0ZXJzKGFyZ3MsIGNv
bnRleHQpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb21wb25lbnRUeXBlPiBzdHJ1Y3QgV2hp
dGVuZXNzQmxhY2tuZXNzIHsKQEAgLTE2ODMsNiArMTY5NCwzNiBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZSBDb21wb25lbnRUeXBlPiBzdGF0aWMgCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAordGVtcGxh
dGU8dHlwZW5hbWUgQ29uc3VtZXJGb3JIdWUsIHR5cGVuYW1lIENvbnN1bWVyRm9yV2hpdGVuZXNz
QW5kQmxhY2tuZXNzLCB0eXBlbmFtZSBDb25zdW1lckZvckFscGhhPgorc3RhdGljIENvbG9yIHBh
cnNlSFdCUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBDb25zdW1lckZvckh1
ZSYmIGh1ZUNvbnN1bWVyLCBDb25zdW1lckZvcldoaXRlbmVzc0FuZEJsYWNrbmVzcyYmIHdoaXRl
bmVzc0FuZEJsYWNrbmVzc0NvbnN1bWVyLCBDb25zdW1lckZvckFscGhhJiYgYWxwaGFDb25zdW1l
cikKK3sKKyAgICBhdXRvIGh1ZSA9IGh1ZUNvbnN1bWVyKGFyZ3MpOworICAgIGlmICghaHVlKQor
ICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byB3aGl0ZW5lc3MgPSB3aGl0ZW5lc3NBbmRC
bGFja25lc3NDb25zdW1lcihhcmdzKTsKKyAgICBpZiAoIXdoaXRlbmVzcykKKyAgICAgICAgcmV0
dXJuIHsgfTsKKworICAgIGF1dG8gYmxhY2tuZXNzID0gd2hpdGVuZXNzQW5kQmxhY2tuZXNzQ29u
c3VtZXIoYXJncyk7CisgICAgaWYgKCFibGFja25lc3MpCisgICAgICAgIHJldHVybiB7IH07CisK
KyAgICBhdXRvIGFscGhhID0gYWxwaGFDb25zdW1lcihhcmdzKTsKKyAgICBpZiAoIWFscGhhKQor
ICAgICAgICByZXR1cm4geyB9OworCisgICAgaWYgKCFhcmdzLmF0RW5kKCkpCisgICAgICAgIHJl
dHVybiB7IH07CisKKyAgICBhdXRvIG5vcm1hbGl6ZWRIdWUgPSBub3JtYWxpemVIdWUoKmh1ZSk7
CisgICAgYXV0byBbbm9ybWFsaXplZFdoaXRuZXNzLCBub3JtYWxpemVkQmxhY2tuZXNzXSA9IG5v
cm1hbGl6ZVdoaXRlbmVzc0JsYWNrbmVzcygqd2hpdGVuZXNzLCAqYmxhY2tuZXNzKTsKKworICAg
IC8vIE5PVEU6IFRoZSBleHBsaWNpdCBjb252ZXJzaW9uIHRvIFNSR0JBPHVpbnQ4X3Q+IGlzIGlu
dGVudGlvbmFsIGZvciBwZXJmb3JtYW5jZSAobm8gZXh0cmEgYWxsb2NhdGlvbiBmb3IKKyAgICAv
LyB0aGUgZXh0ZW5kZWQgY29sb3IpIGFuZCBjb21wYXRhYmlsaXR5LCBmb3JjaW5nIHNlcmlhbGlh
emF0aW9uIHRvIHVzZSB0aGUgcmdiKCkvcmdiYSgpIGZvcm0uCisgICAgcmV0dXJuIGNvbnZlcnRD
b2xvcjxTUkdCQTx1aW50OF90Pj4oSFdCQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4obm9y
bWFsaXplZEh1ZSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkV2hpdG5lc3MpLCBzdGF0
aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZEJsYWNrbmVzcyksIHN0YXRpY19jYXN0PGZsb2F0Pigq
YWxwaGEpIH0pOworfQorCiBzdGF0aWMgQ29sb3IgcGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4
dCkKIHsKICAgICBBU1NFUlQoYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pOwpAQCAt
MTcwMSwyOSArMTc0MiwyMCBAQCBzdGF0aWMgQ29sb3IgcGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRl
cnMoCiAgICAgICAgIHsgQ1NTVmFsdWVBbHBoYSwgQ1NTVW5pdFR5cGU6OkNTU19QRVJDRU5UQUdF
LCBvcmlnaW5Db2xvckFzSFdCLmFscGhhICogMTAwLjAgfQogICAgIH07CiAKLSAgICBhdXRvIGh1
ZSA9IGNvbnN1bWVBbmdsZVJhd09yTnVtYmVyUmF3QWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFy
Z3MsIHN5bWJvbFRhYmxlLCBjb250ZXh0Lm1vZGUpOwotICAgIGlmICghaHVlKQotICAgICAgICBy
ZXR1cm4geyB9OwotCi0gICAgYXV0byB3aGl0ZW5lc3MgPSBjb25zdW1lUGVyY2VudEFsbG93aW5n
U3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xUYWJsZSk7Ci0gICAgaWYgKCF3aGl0ZW5lc3Mp
Ci0gICAgICAgIHJldHVybiB7IH07CisgICAgYXV0byBodWVDb25zdW1lciA9IFsmc3ltYm9sVGFi
bGUsICZjb250ZXh0XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lQW5nbGVSYXdPck51bWJl
clJhd0FsbG93aW5nU3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xUYWJsZSwgY29udGV4dC5t
b2RlKTsgfTsKKyAgICBhdXRvIHdoaXRlbmVzc0FuZEJsYWNrbmVzc0NvbnN1bWVyID0gWyZzeW1i
b2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZVBlcmNlbnRBbGxvd2luZ1N5bWJv
bFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OworICAgIGF1dG8gYWxwaGFDb25zdW1l
ciA9IFsmc3ltYm9sVGFibGVdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFs
cGhhQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsgfTsKIAotICAg
IGF1dG8gYmxhY2tuZXNzID0gY29uc3VtZVBlcmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQo
YXJncywgc3ltYm9sVGFibGUpOwotICAgIGlmICghYmxhY2tuZXNzKQotICAgICAgICByZXR1cm4g
eyB9OwotCi0gICAgYXV0byBhbHBoYSA9IGNvbnN1bWVPcHRpb25hbEFscGhhQWxsb3dpbmdTeW1i
b2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsKLSAgICBpZiAoIWFscGhhKQotICAgICAg
ICByZXR1cm4geyB9OwotCi0gICAgaWYgKCFhcmdzLmF0RW5kKCkpCi0gICAgICAgIHJldHVybiB7
IH07CisgICAgcmV0dXJuIHBhcnNlSFdCUGFyYW1ldGVycyhhcmdzLCBXVEZNb3ZlKGh1ZUNvbnN1
bWVyKSwgV1RGTW92ZSh3aGl0ZW5lc3NBbmRCbGFja25lc3NDb25zdW1lciksIFdURk1vdmUoYWxw
aGFDb25zdW1lcikpOworfQogCi0gICAgYXV0byBub3JtYWxpemVkSHVlID0gbm9ybWFsaXplSHVl
KCpodWUpOwotICAgIGF1dG8gW25vcm1hbGl6ZWRXaGl0bmVzcywgbm9ybWFsaXplZEJsYWNrbmVz
c10gPSBub3JtYWxpemVXaGl0ZW5lc3NCbGFja25lc3MoKndoaXRlbmVzcywgKmJsYWNrbmVzcyk7
CitzdGF0aWMgQ29sb3IgcGFyc2VOb25SZWxhdGl2ZUhXQlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9r
ZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBh
dXRvIGh1ZUNvbnN1bWVyID0gWyZjb250ZXh0XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1l
QW5nbGVSYXdPck51bWJlclJhdyhhcmdzLCBjb250ZXh0Lm1vZGUpOyB9OworICAgIGF1dG8gd2hp
dGVuZXNzQW5kQmxhY2tuZXNzQ29uc3VtZXIgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25z
dW1lUGVyY2VudFJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGFscGhhQ29uc3VtZXIgPSBbXShhdXRv
JiBhcmdzKSB7IHJldHVybiBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsgfTsKIAotICAgIHJl
dHVybiBjb252ZXJ0Q29sb3I8U1JHQkE8dWludDhfdD4+KEhXQkE8ZmxvYXQ+IHsgc3RhdGljX2Nh
c3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRIdWUpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZFdo
aXRuZXNzKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRCbGFja25lc3MpLCBzdGF0aWNf
Y2FzdDxmbG9hdD4oKmFscGhhKSB9KTsKKyAgICByZXR1cm4gcGFyc2VIV0JQYXJhbWV0ZXJzKGFy
Z3MsIFdURk1vdmUoaHVlQ29uc3VtZXIpLCBXVEZNb3ZlKHdoaXRlbmVzc0FuZEJsYWNrbmVzc0Nv
bnN1bWVyKSwgV1RGTW92ZShhbHBoYUNvbnN1bWVyKSk7CiB9CiAKIHN0YXRpYyBDb2xvciBwYXJz
ZUhXQlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNl
ckNvbnRleHQmIGNvbnRleHQpCkBAIC0xNzM3LDMwICsxNzY5LDM0IEBAIHN0YXRpYyBDb2xvciBw
YXJzZUhXQlBhcmFtZXRlcnMoQ1NTUGFyc2UKIAogICAgIGlmIChjb250ZXh0LnJlbGF0aXZlQ29s
b3JTeW50YXhFbmFibGVkICYmIGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVGcm9tKQogICAg
ICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUhXQlBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7Cisg
ICAgcmV0dXJuIHBhcnNlTm9uUmVsYXRpdmVIV0JQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOwor
fQogCi0gICAgYXV0byBodWUgPSBjb25zdW1lQW5nbGVSYXdPck51bWJlclJhdyhhcmdzLCBjb250
ZXh0Lm1vZGUpOwotICAgIGlmICghaHVlKQordGVtcGxhdGU8dHlwZW5hbWUgQ29uc3VtZXJGb3JM
aWdodG5lc3MsIHR5cGVuYW1lIENvbnN1bWVyRm9yQUIsIHR5cGVuYW1lIENvbnN1bWVyRm9yQWxw
aGE+CitzdGF0aWMgQ29sb3IgcGFyc2VMYWJQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2Um
IGFyZ3MsIENvbnN1bWVyRm9yTGlnaHRuZXNzJiYgbGlnaHRuZXNzQ29uc3VtZXIsIENvbnN1bWVy
Rm9yQUImJiBhYkNvbnN1bWVyLCBDb25zdW1lckZvckFscGhhJiYgYWxwaGFDb25zdW1lcikKK3sK
KyAgICBhdXRvIGxpZ2h0bmVzcyA9IGxpZ2h0bmVzc0NvbnN1bWVyKGFyZ3MpOworICAgIGlmICgh
bGlnaHRuZXNzKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byB3aGl0ZW5lc3MgPSBj
b25zdW1lUGVyY2VudFJhdyhhcmdzKTsKLSAgICBpZiAoIXdoaXRlbmVzcykKKyAgICBhdXRvIGFW
YWx1ZSA9IGFiQ29uc3VtZXIoYXJncyk7CisgICAgaWYgKCFhVmFsdWUpCiAgICAgICAgIHJldHVy
biB7IH07CiAKLSAgICBhdXRvIGJsYWNrbmVzcyA9IGNvbnN1bWVQZXJjZW50UmF3KGFyZ3MpOwot
ICAgIGlmICghYmxhY2tuZXNzKQorICAgIGF1dG8gYlZhbHVlID0gYWJDb25zdW1lcihhcmdzKTsK
KyAgICBpZiAoIWJWYWx1ZSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIGF1dG8gYWxwaGEg
PSBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsKKyAgICBhdXRvIGFscGhhID0gYWxwaGFDb25z
dW1lcihhcmdzKTsKICAgICBpZiAoIWFscGhhKQogICAgICAgICByZXR1cm4geyB9OwogCiAgICAg
aWYgKCFhcmdzLmF0RW5kKCkpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBhdXRvIG5vcm1h
bGl6ZWRIdWUgPSBub3JtYWxpemVIdWUoKmh1ZSk7Ci0gICAgYXV0byBbbm9ybWFsaXplZFdoaXRu
ZXNzLCBub3JtYWxpemVkQmxhY2tuZXNzXSA9IG5vcm1hbGl6ZVdoaXRlbmVzc0JsYWNrbmVzcygq
d2hpdGVuZXNzLCAqYmxhY2tuZXNzKTsKKyAgICBhdXRvIG5vcm1hbGl6ZWRMaWdodG5lc3MgPSBz
dGQ6Om1heCgwLjAsICpsaWdodG5lc3MpOwogCi0gICAgcmV0dXJuIGNvbnZlcnRDb2xvcjxTUkdC
QTx1aW50OF90Pj4oSFdCQTxmbG9hdD4geyBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZEh1
ZSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkV2hpdG5lc3MpLCBzdGF0aWNfY2FzdDxm
bG9hdD4obm9ybWFsaXplZEJsYWNrbmVzcyksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxwaGEpIH0p
OworICAgIHJldHVybiBMYWI8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRM
aWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFWYWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0
PigqYlZhbHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphbHBoYSkgfTsKIH0KIAogc3RhdGljIENv
bG9yIHBhcnNlUmVsYXRpdmVMYWJQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3Ms
IGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCkBAIC0xNzgxLDI4ICsxODE3LDIwIEBA
IHN0YXRpYyBDb2xvciBwYXJzZVJlbGF0aXZlTGFiUGFyYW1ldGVycygKICAgICAgICAgeyBDU1NW
YWx1ZUFscGhhLCBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNMYWIu
YWxwaGEgKiAxMDAuMCB9CiAgICAgfTsKIAotICAgIGF1dG8gbGlnaHRuZXNzID0gY29uc3VtZVBl
cmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlm
ICghbGlnaHRuZXNzKQotICAgICAgICByZXR1cm4geyB9OwotCi0gICAgYXV0byBhVmFsdWUgPSBj
b25zdW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsK
LSAgICBpZiAoIWFWYWx1ZSkKLSAgICAgICAgcmV0dXJuIHsgfTsKKyAgICBhdXRvIGxpZ2h0bmVz
c0NvbnN1bWVyID0gWyZzeW1ib2xUYWJsZV0oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZVBl
cmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9OworICAg
IGF1dG8gYWJDb25zdW1lciA9IFsmc3ltYm9sVGFibGVdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNv
bnN1bWVOdW1iZXJBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOyB9
OworICAgIGF1dG8gYWxwaGFDb25zdW1lciA9IFsmc3ltYm9sVGFibGVdKGF1dG8mIGFyZ3MpIHsg
cmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3Ms
IHN5bWJvbFRhYmxlKTsgfTsKIAotICAgIGF1dG8gYlZhbHVlID0gY29uc3VtZU51bWJlckFsbG93
aW5nU3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xUYWJsZSk7Ci0gICAgaWYgKCFiVmFsdWUp
Ci0gICAgICAgIHJldHVybiB7IH07Ci0KLSAgICBhdXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFs
QWxwaGFBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlm
ICghYWxwaGEpCi0gICAgICAgIHJldHVybiB7IH07Ci0KLSAgICBpZiAoIWFyZ3MuYXRFbmQoKSkK
LSAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gcGFyc2VMYWJQYXJhbWV0ZXJzKGFyZ3Ms
IFdURk1vdmUobGlnaHRuZXNzQ29uc3VtZXIpLCBXVEZNb3ZlKGFiQ29uc3VtZXIpLCBXVEZNb3Zl
KGFscGhhQ29uc3VtZXIpKTsKK30KIAotICAgIGF1dG8gbm9ybWFsaXplZExpZ2h0bmVzcyA9IHN0
ZDo6bWF4KDAuMCwgKmxpZ2h0bmVzcyk7CitzdGF0aWMgQ29sb3IgcGFyc2VOb25SZWxhdGl2ZUxh
YlBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncykKK3sKKyAgICBhdXRvIGxpZ2h0
bmVzc0NvbnN1bWVyID0gW10oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZVBlcmNlbnRSYXco
YXJncyk7IH07CisgICAgYXV0byBhYkNvbnN1bWVyID0gW10oYXV0byYgYXJncykgeyByZXR1cm4g
Y29uc3VtZU51bWJlclJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGFscGhhQ29uc3VtZXIgPSBbXShh
dXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsgfTsKIAotICAg
IHJldHVybiBMYWI8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRMaWdodG5l
c3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFWYWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0PigqYlZh
bHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphbHBoYSkgfTsKKyAgICByZXR1cm4gcGFyc2VMYWJQ
YXJhbWV0ZXJzKGFyZ3MsIFdURk1vdmUobGlnaHRuZXNzQ29uc3VtZXIpLCBXVEZNb3ZlKGFiQ29u
c3VtZXIpLCBXVEZNb3ZlKGFscGhhQ29uc3VtZXIpKTsKIH0KIAogc3RhdGljIENvbG9yIHBhcnNl
TGFiUGFyYW1ldGVycyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2Vy
Q29udGV4dCYgY29udGV4dCkKQEAgLTE4MTYsMjAgKzE4NDQsMjUgQEAgc3RhdGljIENvbG9yIHBh
cnNlTGFiUGFyYW1ldGVycyhDU1NQYXJzZQogCiAgICAgaWYgKGNvbnRleHQucmVsYXRpdmVDb2xv
clN5bnRheEVuYWJsZWQgJiYgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUZyb20pCiAgICAg
ICAgIHJldHVybiBwYXJzZVJlbGF0aXZlTGFiUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsKKyAg
ICByZXR1cm4gcGFyc2VOb25SZWxhdGl2ZUxhYlBhcmFtZXRlcnMoYXJncyk7Cit9CiAKLSAgICBh
dXRvIGxpZ2h0bmVzcyA9IGNvbnN1bWVQZXJjZW50UmF3KGFyZ3MpOwordGVtcGxhdGU8dHlwZW5h
bWUgQ29uc3VtZXJGb3JMaWdodG5lc3MsIHR5cGVuYW1lIENvbnN1bWVyRm9yQ2hyb21hLCB0eXBl
bmFtZSBDb25zdW1lckZvckh1ZSwgdHlwZW5hbWUgQ29uc3VtZXJGb3JBbHBoYT4KK3N0YXRpYyBD
b2xvciBwYXJzZUxDSFBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgQ29uc3Vt
ZXJGb3JMaWdodG5lc3MmJiBsaWdodG5lc3NDb25zdW1lciwgQ29uc3VtZXJGb3JDaHJvbWEmJiBj
aHJvbWFDb25zdW1lciwgQ29uc3VtZXJGb3JIdWUmJiBodWVDb25zdW1lciwgQ29uc3VtZXJGb3JB
bHBoYSYmIGFscGhhQ29uc3VtZXIpCit7CisgICAgYXV0byBsaWdodG5lc3MgPSBsaWdodG5lc3ND
b25zdW1lcihhcmdzKTsKICAgICBpZiAoIWxpZ2h0bmVzcykKICAgICAgICAgcmV0dXJuIHsgfTsK
IAotICAgIGF1dG8gYVZhbHVlID0gY29uc3VtZU51bWJlclJhdyhhcmdzKTsKLSAgICBpZiAoIWFW
YWx1ZSkKKyAgICBhdXRvIGNocm9tYSA9IGNocm9tYUNvbnN1bWVyKGFyZ3MpOworICAgIGlmICgh
Y2hyb21hKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byBiVmFsdWUgPSBjb25zdW1l
TnVtYmVyUmF3KGFyZ3MpOwotICAgIGlmICghYlZhbHVlKQorICAgIGF1dG8gaHVlID0gaHVlQ29u
c3VtZXIoYXJncyk7CisgICAgaWYgKCFodWUpCiAgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBh
dXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFsQWxwaGEoYXJncyk7CisgICAgYXV0byBhbHBoYSA9
IGFscGhhQ29uc3VtZXIoYXJncyk7CiAgICAgaWYgKCFhbHBoYSkKICAgICAgICAgcmV0dXJuIHsg
fTsKIApAQCAtMTgzNyw4ICsxODcwLDEwIEBAIHN0YXRpYyBDb2xvciBwYXJzZUxhYlBhcmFtZXRl
cnMoQ1NTUGFyc2UKICAgICAgICAgcmV0dXJuIHsgfTsKIAogICAgIGF1dG8gbm9ybWFsaXplZExp
Z2h0bmVzcyA9IHN0ZDo6bWF4KDAuMCwgKmxpZ2h0bmVzcyk7CisgICAgYXV0byBub3JtYWxpemVk
Q2hyb21hID0gc3RkOjptYXgoMC4wLCAqY2hyb21hKTsKKyAgICBhdXRvIG5vcm1hbGl6ZWRIdWUg
PSBub3JtYWxpemVIdWUoKmh1ZSk7CiAKLSAgICByZXR1cm4gTGFiPGZsb2F0PiB7IHN0YXRpY19j
YXN0PGZsb2F0Pihub3JtYWxpemVkTGlnaHRuZXNzKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphVmFs
dWUpLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmJWYWx1ZSksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxw
aGEpIH07CisgICAgcmV0dXJuIExDSEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1h
bGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZENocm9tYSksIHN0
YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KCphbHBo
YSkgfTsKIH0KIAogc3RhdGljIENvbG9yIHBhcnNlUmVsYXRpdmVMQ0hQYXJhbWV0ZXJzKENTU1Bh
cnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCkBA
IC0xODU5LDMwICsxODk0LDIyIEBAIHN0YXRpYyBDb2xvciBwYXJzZVJlbGF0aXZlTENIUGFyYW1l
dGVycygKICAgICAgICAgeyBDU1NWYWx1ZUFscGhhLCBDU1NVbml0VHlwZTo6Q1NTX1BFUkNFTlRB
R0UsIG9yaWdpbkNvbG9yQXNMQ0guYWxwaGEgKiAxMDAuMCB9CiAgICAgfTsKIAotICAgIGF1dG8g
bGlnaHRuZXNzID0gY29uc3VtZVBlcmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywg
c3ltYm9sVGFibGUpOwotICAgIGlmICghbGlnaHRuZXNzKQotICAgICAgICByZXR1cm4geyB9Owot
Ci0gICAgYXV0byBjaHJvbWEgPSBjb25zdW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50
KGFyZ3MsIHN5bWJvbFRhYmxlKTsKLSAgICBpZiAoIWNocm9tYSkKLSAgICAgICAgcmV0dXJuIHsg
fTsKKyAgICBhdXRvIGxpZ2h0bmVzc0NvbnN1bWVyID0gWyZzeW1ib2xUYWJsZV0oYXV0byYgYXJn
cykgeyByZXR1cm4gY29uc3VtZVBlcmNlbnRBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywg
c3ltYm9sVGFibGUpOyB9OworICAgIGF1dG8gY2hyb21hQ29uc3VtZXIgPSBbJnN5bWJvbFRhYmxl
XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlk
ZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsgfTsKKyAgICBhdXRvIGh1ZUNvbnN1bWVyID0gWyZzeW1i
b2xUYWJsZSwgJmNvbnRleHRdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVBbmdsZVJhd09y
TnVtYmVyUmF3QWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlLCBjb250
ZXh0Lm1vZGUpOyB9OworICAgIGF1dG8gYWxwaGFDb25zdW1lciA9IFsmc3ltYm9sVGFibGVdKGF1
dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhQWxsb3dpbmdTeW1ib2xUYWJs
ZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsgfTsKIAotICAgIGF1dG8gaHVlID0gY29uc3VtZUFu
Z2xlUmF3T3JOdW1iZXJSYXdBbGxvd2luZ1N5bWJvbFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFi
bGUsIGNvbnRleHQubW9kZSk7Ci0gICAgaWYgKCFodWUpCi0gICAgICAgIHJldHVybiB7IH07Ci0K
LSAgICBhdXRvIGFscGhhID0gY29uc3VtZU9wdGlvbmFsQWxwaGFBbGxvd2luZ1N5bWJvbFRhYmxl
SWRlbnQoYXJncywgc3ltYm9sVGFibGUpOwotICAgIGlmICghYWxwaGEpCi0gICAgICAgIHJldHVy
biB7IH07Ci0KLSAgICBpZiAoIWFyZ3MuYXRFbmQoKSkKLSAgICAgICAgcmV0dXJuIHsgfTsKKyAg
ICByZXR1cm4gcGFyc2VMQ0hQYXJhbWV0ZXJzKGFyZ3MsIFdURk1vdmUobGlnaHRuZXNzQ29uc3Vt
ZXIpLCBXVEZNb3ZlKGNocm9tYUNvbnN1bWVyKSwgV1RGTW92ZShodWVDb25zdW1lciksIFdURk1v
dmUoYWxwaGFDb25zdW1lcikpOworfQogCi0gICAgYXV0byBub3JtYWxpemVkTGlnaHRuZXNzID0g
c3RkOjptYXgoMC4wLCAqbGlnaHRuZXNzKTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRDaHJvbWEgPSBz
dGQ6Om1heCgwLjAsICpjaHJvbWEpOwotICAgIGF1dG8gbm9ybWFsaXplZEh1ZSA9IG5vcm1hbGl6
ZUh1ZSgqaHVlKTsKK3N0YXRpYyBDb2xvciBwYXJzZU5vblJlbGF0aXZlTENIUGFyYW1ldGVycyhD
U1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0
KQoreworICAgIGF1dG8gbGlnaHRuZXNzQ29uc3VtZXIgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVy
biBjb25zdW1lUGVyY2VudFJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGNocm9tYUNvbnN1bWVyID0g
W10oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU51bWJlclJhdyhhcmdzKTsgfTsKKyAgICBh
dXRvIGh1ZUNvbnN1bWVyID0gWyZjb250ZXh0XShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25zdW1l
QW5nbGVSYXdPck51bWJlclJhdyhhcmdzLCBjb250ZXh0Lm1vZGUpOyB9OworICAgIGF1dG8gYWxw
aGFDb25zdW1lciA9IFtdKGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhh
KGFyZ3MpOyB9OwogCi0gICAgcmV0dXJuIExDSEE8ZmxvYXQ+IHsgc3RhdGljX2Nhc3Q8ZmxvYXQ+
KG5vcm1hbGl6ZWRMaWdodG5lc3MpLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZENocm9t
YSksIHN0YXRpY19jYXN0PGZsb2F0Pihub3JtYWxpemVkSHVlKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+
KCphbHBoYSkgfTsKKyAgICByZXR1cm4gcGFyc2VMQ0hQYXJhbWV0ZXJzKGFyZ3MsIFdURk1vdmUo
bGlnaHRuZXNzQ29uc3VtZXIpLCBXVEZNb3ZlKGNocm9tYUNvbnN1bWVyKSwgV1RGTW92ZShodWVD
b25zdW1lciksIFdURk1vdmUoYWxwaGFDb25zdW1lcikpOwogfQogCiBzdGF0aWMgQ29sb3IgcGFy
c2VMQ0hQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJz
ZXJDb250ZXh0JiBjb250ZXh0KQpAQCAtMTg5NiwzMSArMTkyMyw1NyBAQCBzdGF0aWMgQ29sb3Ig
cGFyc2VMQ0hQYXJhbWV0ZXJzKENTU1BhcnNlCiAKICAgICBpZiAoY29udGV4dC5yZWxhdGl2ZUNv
bG9yU3ludGF4RW5hYmxlZCAmJiBhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlRnJvbSkKICAg
ICAgICAgcmV0dXJuIHBhcnNlUmVsYXRpdmVMQ0hQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOwor
ICAgIHJldHVybiBwYXJzZU5vblJlbGF0aXZlTENIUGFyYW1ldGVycyhhcmdzLCBjb250ZXh0KTsK
K30KIAotICAgIGF1dG8gbGlnaHRuZXNzID0gY29uc3VtZVBlcmNlbnRSYXcoYXJncyk7Ci0gICAg
aWYgKCFsaWdodG5lc3MpCi0gICAgICAgIHJldHVybiB7IH07Cit0ZW1wbGF0ZTx0eXBlbmFtZSBD
b2xvclR5cGUsIHR5cGVuYW1lIENvbnN1bWVyRm9yUkdCLCB0eXBlbmFtZSBDb25zdW1lckZvckFs
cGhhPgorc3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzKENTU1BhcnNl
clRva2VuUmFuZ2UmIGFyZ3MsIENvbnN1bWVyRm9yUkdCJiYgcmdiQ29uc3VtZXIsIENvbnN1bWVy
Rm9yQWxwaGEmJiBhbHBoYUNvbnN1bWVyKQoreworICAgIGRvdWJsZSBjaGFubmVsc1szXSA9IHsg
MCwgMCwgMCB9OworICAgIGZvciAoYXV0byYgY2hhbm5lbCA6IGNoYW5uZWxzKSB7CisgICAgICAg
IGF1dG8gdmFsdWUgPSByZ2JDb25zdW1lcihhcmdzKTsKKyAgICAgICAgaWYgKCF2YWx1ZSkKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjaGFubmVsID0gKnZhbHVlOworICAgIH0KIAotICAg
IGF1dG8gY2hyb21hID0gY29uc3VtZU51bWJlclJhdyhhcmdzKTsKLSAgICBpZiAoIWNocm9tYSkK
KyAgICBhdXRvIGFscGhhID0gYWxwaGFDb25zdW1lcihhcmdzKTsKKyAgICBpZiAoIWFscGhhKQog
ICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byBodWUgPSBjb25zdW1lQW5nbGVSYXdPck51
bWJlclJhdyhhcmdzLCBjb250ZXh0Lm1vZGUpOwotICAgIGlmICghaHVlKQorICAgIGlmICghYXJn
cy5hdEVuZCgpKQogICAgICAgICByZXR1cm4geyB9OwogCi0gICAgYXV0byBhbHBoYSA9IGNvbnN1
bWVPcHRpb25hbEFscGhhKGFyZ3MpOwotICAgIGlmICghYWxwaGEpCi0gICAgICAgIHJldHVybiB7
IH07CisgICAgYXV0byBub3JtYWxpemVkUmVkID0gc3RkOjpjbGFtcChjaGFubmVsc1swXSwgMC4w
LCAxLjApOworICAgIGF1dG8gbm9ybWFsaXplZEdyZWVuID0gc3RkOjpjbGFtcChjaGFubmVsc1sx
XSwgMC4wLCAxLjApOworICAgIGF1dG8gbm9ybWFsaXplZEJsdWUgPSBzdGQ6OmNsYW1wKGNoYW5u
ZWxzWzJdLCAwLjAsIDEuMCk7CiAKLSAgICBpZiAoIWFyZ3MuYXRFbmQoKSkKKyAgICByZXR1cm4g
eyBDb2xvclR5cGUgeyBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXplZFJlZCksIHN0YXRpY19j
YXN0PGZsb2F0Pihub3JtYWxpemVkR3JlZW4pLCBzdGF0aWNfY2FzdDxmbG9hdD4obm9ybWFsaXpl
ZEJsdWUpLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFscGhhKSB9LCBDb2xvcjo6RmxhZ3M6OlVzZUNv
bG9yRnVuY3Rpb25TZXJpYWxpemF0aW9uIH07Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIENvbG9y
VHlwZT4gc3RhdGljIENvbG9yIHBhcnNlUmVsYXRpdmVDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXMo
Q1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgQ29sb3Igb3JpZ2luQ29sb3IsIGNvbnN0IENTU1Bh
cnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgQVNTRVJUKGFyZ3MucGVlaygpLmlkKCkgPT0g
Q1NTVmFsdWVBOThSZ2IgfHwgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZURpc3BsYXlQMyB8
fCBhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlUHJvcGhvdG9SZ2IgfHwgYXJncy5wZWVrKCku
aWQoKSA9PSBDU1NWYWx1ZVJlYzIwMjAgfHwgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZVNS
R0IpOworCisgICAgLy8gU3VwcG9ydCBzUkdCIGFuZCBEaXNwbGF5LVAzIHJlZ2FyZGxlc3Mgb2Yg
dGhlIHNldHRpbmcgYXMgd2UgaGF2ZSBzaGlwcGVkIHN1cHBvcnQgZm9yIHRoZW0gZm9yIGEgd2hp
bGUuCisgICAgaWYgKCFjb250ZXh0LmNzc0NvbG9yNCAmJiAoYXJncy5wZWVrKCkuaWQoKSA9PSBD
U1NWYWx1ZUE5OFJnYiB8fCBhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlUHJvcGhvdG9SZ2Ig
fHwgYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZVJlYzIwMjApKQogICAgICAgICByZXR1cm4g
eyB9OwogCi0gICAgYXV0byBub3JtYWxpemVkTGlnaHRuZXNzID0gc3RkOjptYXgoMC4wLCAqbGln
aHRuZXNzKTsKLSAgICBhdXRvIG5vcm1hbGl6ZWRDaHJvbWEgPSBzdGQ6Om1heCgwLjAsICpjaHJv
bWEpOwotICAgIGF1dG8gbm9ybWFsaXplZEh1ZSA9IG5vcm1hbGl6ZUh1ZSgqaHVlKTsKKyAgICBj
b25zdW1lSWRlbnRSYXcoYXJncyk7CiAKLSAgICByZXR1cm4gTENIQTxmbG9hdD4geyBzdGF0aWNf
Y2FzdDxmbG9hdD4obm9ybWFsaXplZExpZ2h0bmVzcyksIHN0YXRpY19jYXN0PGZsb2F0Pihub3Jt
YWxpemVkQ2hyb21hKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5vcm1hbGl6ZWRIdWUpLCBzdGF0aWNf
Y2FzdDxmbG9hdD4oKmFscGhhKSB9OworICAgIGF1dG8gb3JpZ2luQ29sb3JBc0NvbG9yVHlwZSA9
IG9yaWdpbkNvbG9yLnRvQ29sb3JUeXBlTG9zc3k8Q29sb3JUeXBlPigpOworCisgICAgQ1NTQ2Fs
Y1N5bWJvbFRhYmxlIHN5bWJvbFRhYmxlIHsKKyAgICAgICAgeyBDU1NWYWx1ZVIsIENTU1VuaXRU
eXBlOjpDU1NfUEVSQ0VOVEFHRSwgb3JpZ2luQ29sb3JBc0NvbG9yVHlwZS5yZWQgKiAxMDAuMCB9
LAorICAgICAgICB7IENTU1ZhbHVlRywgQ1NTVW5pdFR5cGU6OkNTU19QRVJDRU5UQUdFLCBvcmln
aW5Db2xvckFzQ29sb3JUeXBlLmdyZWVuICogMTAwLjAgfSwKKyAgICAgICAgeyBDU1NWYWx1ZUIs
IENTU1VuaXRUeXBlOjpDU1NfUEVSQ0VOVEFHRSwgb3JpZ2luQ29sb3JBc0NvbG9yVHlwZS5ibHVl
ICogMTAwLjAgfSwKKyAgICAgICAgeyBDU1NWYWx1ZUFscGhhLCBDU1NVbml0VHlwZTo6Q1NTX1BF
UkNFTlRBR0UsIG9yaWdpbkNvbG9yQXNDb2xvclR5cGUuYWxwaGEgKiAxMDAuMCB9CisgICAgfTsK
KworICAgIGF1dG8gY29uc3VtZVJHQiA9IFsmc3ltYm9sVGFibGVdKGF1dG8mIGFyZ3MpIHsgcmV0
dXJuIGNvbnN1bWVOdW1iZXJSYXdPclBlcmNlbnREaXZpZGVkQnkxMDBSYXdBbGxvd2luZ1N5bWJv
bFRhYmxlSWRlbnQoYXJncywgc3ltYm9sVGFibGUsIFZhbHVlUmFuZ2U6OkFsbCk7IH07CisgICAg
YXV0byBjb25zdW1lQWxwaGEgPSBbJnN5bWJvbFRhYmxlXShhdXRvJiBhcmdzKSB7IHJldHVybiBj
b25zdW1lT3B0aW9uYWxBbHBoYUFsbG93aW5nU3ltYm9sVGFibGVJZGVudChhcmdzLCBzeW1ib2xU
YWJsZSk7IH07CisKKyAgICByZXR1cm4gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8Q29s
b3JUeXBlPihhcmdzLCBXVEZNb3ZlKGNvbnN1bWVSR0IpLCBXVEZNb3ZlKGNvbnN1bWVBbHBoYSkp
OwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb2xvclR5cGU+IHN0YXRpYyBDb2xvciBwYXJzZUNv
bG9yRnVuY3Rpb25Gb3JSR0JUeXBlcyhDU1NQYXJzZXJUb2tlblJhbmdlJiBhcmdzLCBjb25zdCBD
U1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQpAQCAtMTkzMywyMiArMTk4NiwzNCBAQCB0ZW1wbGF0
ZTx0eXBlbmFtZSBDb2xvclR5cGU+IHN0YXRpYyBDb2xvCiAKICAgICBjb25zdW1lSWRlbnRSYXco
YXJncyk7CiAKKyAgICBhdXRvIGNvbnN1bWVSR0IgPSBbXShhdXRvJiBhcmdzKSB7IHJldHVybiBj
b25zdW1lTnVtYmVyUmF3T3JQZXJjZW50RGl2aWRlZEJ5MTAwUmF3KGFyZ3MpOyB9OworICAgIGF1
dG8gY29uc3VtZUFscGhhID0gW10oYXV0byYgYXJncykgeyByZXR1cm4gY29uc3VtZU9wdGlvbmFs
QWxwaGEoYXJncyk7IH07CisKKyAgICByZXR1cm4gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlw
ZXM8Q29sb3JUeXBlPihhcmdzLCBXVEZNb3ZlKGNvbnN1bWVSR0IpLCBXVEZNb3ZlKGNvbnN1bWVB
bHBoYSkpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBDb25zdW1lckZvclhZWiwgdHlwZW5hbWUg
Q29uc3VtZXJGb3JBbHBoYT4KK3N0YXRpYyBDb2xvciBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JYWVpQ
YXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIENvbnN1bWVyRm9yWFlaJiYgeHl6
Q29uc3VtZXIsIENvbnN1bWVyRm9yQWxwaGEmJiBhbHBoYUNvbnN1bWVyKQorewogICAgIGRvdWJs
ZSBjaGFubmVsc1szXSA9IHsgMCwgMCwgMCB9OwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMzsg
KytpKSB7Ci0gICAgICAgIGF1dG8gdmFsdWUgPSBjb25zdW1lTnVtYmVyUmF3T3JQZXJjZW50RGl2
aWRlZEJ5MTAwUmF3KGFyZ3MpOworICAgIGZvciAoYXV0byYgY2hhbm5lbCA6IGNoYW5uZWxzKSB7
CisgICAgICAgIGF1dG8gdmFsdWUgPSB4eXpDb25zdW1lcihhcmdzKTsKICAgICAgICAgaWYgKCF2
YWx1ZSkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjaGFubmVsc1tpXSA9ICp2YWx1ZTsK
KyAgICAgICAgY2hhbm5lbCA9ICp2YWx1ZTsKICAgICB9CiAKLSAgICBhdXRvIGFscGhhID0gY29u
c3VtZU9wdGlvbmFsQWxwaGEoYXJncyk7CisgICAgYXV0byBhbHBoYSA9IGFscGhhQ29uc3VtZXIo
YXJncyk7CiAgICAgaWYgKCFhbHBoYSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIHJldHVy
biB7IENvbG9yVHlwZSB7IGNsYW1wVG88ZmxvYXQ+KGNoYW5uZWxzWzBdLCAwLjAsIDEuMCksIGNs
YW1wVG88ZmxvYXQ+KGNoYW5uZWxzWzFdLCAwLjAsIDEuMCksIGNsYW1wVG88ZmxvYXQ+KGNoYW5u
ZWxzWzJdLCAwLjAsIDEuMCksIHN0YXRpY19jYXN0PGZsb2F0PigqYWxwaGEpIH0sIENvbG9yOjpG
bGFnczo6VXNlQ29sb3JGdW5jdGlvblNlcmlhbGl6YXRpb24gfTsKKyAgICBpZiAoIWFyZ3MuYXRF
bmQoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHJldHVybiB7IFhZWkE8ZmxvYXQsIFdo
aXRlUG9pbnQ6OkQ1MD4geyBzdGF0aWNfY2FzdDxmbG9hdD4oY2hhbm5lbHNbMF0pLCBzdGF0aWNf
Y2FzdDxmbG9hdD4oY2hhbm5lbHNbMV0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oY2hhbm5lbHNbMl0p
LCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFscGhhKSB9LCBDb2xvcjo6RmxhZ3M6OlVzZUNvbG9yRnVu
Y3Rpb25TZXJpYWxpemF0aW9uIH07CiB9CiAKLXN0YXRpYyBDb2xvciBwYXJzZUNvbG9yRnVuY3Rp
b25Gb3JYWVpQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1Bh
cnNlckNvbnRleHQmIGNvbnRleHQpCitzdGF0aWMgQ29sb3IgcGFyc2VSZWxhdGl2ZUNvbG9yRnVu
Y3Rpb25Gb3JYWVpQYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIENvbG9yIG9y
aWdpbkNvbG9yLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQogewogICAgIEFTU0VS
VChhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlWHl6KTsKIApAQCAtMTk1Nyw2NyArMjAyMiwx
MDEgQEAgc3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZWlBhcgogCiAgICAgY29u
c3VtZUlkZW50UmF3KGFyZ3MpOwogCi0gICAgZG91YmxlIGNoYW5uZWxzWzNdID0geyAwLCAwLCAw
IH07Ci0gICAgWyZdIHsKLSAgICAgICAgYXV0byB4ID0gY29uc3VtZU51bWJlclJhdyhhcmdzKTsK
LSAgICAgICAgaWYgKCF4KQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBjaGFubmVsc1sw
XSA9ICp4OwotCi0gICAgICAgIGF1dG8geSA9IGNvbnN1bWVOdW1iZXJSYXcoYXJncyk7Ci0gICAg
ICAgIGlmICgheSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgY2hhbm5lbHNbMV0gPSAq
eTsKLQotICAgICAgICBhdXRvIHogPSBjb25zdW1lTnVtYmVyUmF3KGFyZ3MpOwotICAgICAgICBp
ZiAoIXopCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGNoYW5uZWxzWzJdID0gKno7Ci0g
ICAgfSgpOworICAgIGF1dG8gb3JpZ2luQ29sb3JBc1hZWiA9IG9yaWdpbkNvbG9yLnRvQ29sb3JU
eXBlTG9zc3k8WFlaQTxmbG9hdCwgV2hpdGVQb2ludDo6RDUwPj4oKTsKIAotICAgIGF1dG8gYWxw
aGEgPSBjb25zdW1lT3B0aW9uYWxBbHBoYShhcmdzKTsKLSAgICBpZiAoIWFscGhhKQorICAgIENT
U0NhbGNTeW1ib2xUYWJsZSBzeW1ib2xUYWJsZSB7CisgICAgICAgIHsgQ1NTVmFsdWVYLCBDU1NV
bml0VHlwZTo6Q1NTX05VTUJFUiwgb3JpZ2luQ29sb3JBc1hZWi54IH0sCisgICAgICAgIHsgQ1NT
VmFsdWVZLCBDU1NVbml0VHlwZTo6Q1NTX05VTUJFUiwgb3JpZ2luQ29sb3JBc1hZWi55IH0sCisg
ICAgICAgIHsgQ1NTVmFsdWVaLCBDU1NVbml0VHlwZTo6Q1NTX05VTUJFUiwgb3JpZ2luQ29sb3JB
c1hZWi56IH0sCisgICAgICAgIHsgQ1NTVmFsdWVBbHBoYSwgQ1NTVW5pdFR5cGU6OkNTU19QRVJD
RU5UQUdFLCBvcmlnaW5Db2xvckFzWFlaLmFscGhhICogMTAwLjAgfQorICAgIH07CisKKyAgICBh
dXRvIGNvbnN1bWVYWVogPSBbJnN5bWJvbFRhYmxlXShhdXRvJiBhcmdzKSB7IHJldHVybiBjb25z
dW1lTnVtYmVyQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5bWJvbFRhYmxlKTsgfTsK
KyAgICBhdXRvIGNvbnN1bWVBbHBoYSA9IFsmc3ltYm9sVGFibGVdKGF1dG8mIGFyZ3MpIHsgcmV0
dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhQWxsb3dpbmdTeW1ib2xUYWJsZUlkZW50KGFyZ3MsIHN5
bWJvbFRhYmxlKTsgfTsKKworICAgIHJldHVybiBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JYWVpQYXJh
bWV0ZXJzKGFyZ3MsIFdURk1vdmUoY29uc3VtZVhZWiksIFdURk1vdmUoY29uc3VtZUFscGhhKSk7
Cit9CisKK3N0YXRpYyBDb2xvciBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JYWVpQYXJhbWV0ZXJzKENT
U1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQp
Cit7CisgICAgQVNTRVJUKGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVYeXopOworCisgICAg
aWYgKCFjb250ZXh0LmNzc0NvbG9yNCkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIHJldHVy
biB7IFhZWkE8ZmxvYXQsIFdoaXRlUG9pbnQ6OkQ1MD4geyBzdGF0aWNfY2FzdDxmbG9hdD4oY2hh
bm5lbHNbMF0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oY2hhbm5lbHNbMV0pLCBzdGF0aWNfY2FzdDxm
bG9hdD4oY2hhbm5lbHNbMl0pLCBzdGF0aWNfY2FzdDxmbG9hdD4oKmFscGhhKSB9LCBDb2xvcjo6
RmxhZ3M6OlVzZUNvbG9yRnVuY3Rpb25TZXJpYWxpemF0aW9uIH07CisgICAgY29uc3VtZUlkZW50
UmF3KGFyZ3MpOworCisgICAgYXV0byBjb25zdW1lWFlaID0gW10oYXV0byYgYXJncykgeyByZXR1
cm4gY29uc3VtZU51bWJlclJhdyhhcmdzKTsgfTsKKyAgICBhdXRvIGNvbnN1bWVBbHBoYSA9IFtd
KGF1dG8mIGFyZ3MpIHsgcmV0dXJuIGNvbnN1bWVPcHRpb25hbEFscGhhKGFyZ3MpOyB9OworCisg
ICAgcmV0dXJuIHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZWlBhcmFtZXRlcnMoYXJncywgV1RGTW92
ZShjb25zdW1lWFlaKSwgV1RGTW92ZShjb25zdW1lQWxwaGEpKTsKIH0KIAotc3RhdGljIENvbG9y
IHBhcnNlQ29sb3JGdW5jdGlvblBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2Us
IGNvbnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCitzdGF0aWMgQ29sb3IgcGFyc2VSZWxh
dGl2ZUNvbG9yRnVuY3Rpb25QYXJhbWV0ZXJzKENTU1BhcnNlclRva2VuUmFuZ2UmIGFyZ3MsIGNv
bnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCiB7Ci0gICAgQVNTRVJUKHJhbmdlLnBlZWso
KS5mdW5jdGlvbklkKCkgPT0gQ1NTVmFsdWVDb2xvcik7Ci0gICAgYXV0byBhcmdzID0gY29uc3Vt
ZUZ1bmN0aW9uKHJhbmdlKTsKKyAgICBBU1NFUlQoYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1
ZUZyb20pOworICAgIGNvbnN1bWVJZGVudFJhdyhhcmdzKTsKKworICAgIGF1dG8gb3JpZ2luQ29s
b3IgPSBjb25zdW1lT3JpZ2luQ29sb3IoYXJncywgY29udGV4dCk7CisgICAgaWYgKCFvcmlnaW5D
b2xvci5pc1ZhbGlkKCkpCisgICAgICAgIHJldHVybiB7IH07CiAKLSAgICBDb2xvciBjb2xvcjsK
ICAgICBzd2l0Y2ggKGFyZ3MucGVlaygpLmlkKCkpIHsKICAgICBjYXNlIENTU1ZhbHVlQTk4Umdi
OgotICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5cGVzPEE5OFJHQjxm
bG9hdD4+KGFyZ3MsIGNvbnRleHQpOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIHBh
cnNlUmVsYXRpdmVDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8QTk4UkdCPGZsb2F0Pj4oYXJncywg
V1RGTW92ZShvcmlnaW5Db2xvciksIGNvbnRleHQpOwogICAgIGNhc2UgQ1NTVmFsdWVEaXNwbGF5
UDM6Ci0gICAgICAgIGNvbG9yID0gcGFyc2VDb2xvckZ1bmN0aW9uRm9yUkdCVHlwZXM8RGlzcGxh
eVAzPGZsb2F0Pj4oYXJncywgY29udGV4dCk7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1
cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxEaXNwbGF5UDM8ZmxvYXQ+
PihhcmdzLCBXVEZNb3ZlKG9yaWdpbkNvbG9yKSwgY29udGV4dCk7CiAgICAgY2FzZSBDU1NWYWx1
ZVByb3Bob3RvUmdiOgotICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5
cGVzPFByb1Bob3RvUkdCPGZsb2F0Pj4oYXJncywgY29udGV4dCk7Ci0gICAgICAgIGJyZWFrOwor
ICAgICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxQcm9Q
aG90b1JHQjxmbG9hdD4+KGFyZ3MsIFdURk1vdmUob3JpZ2luQ29sb3IpLCBjb250ZXh0KTsKICAg
ICBjYXNlIENTU1ZhbHVlUmVjMjAyMDoKLSAgICAgICAgY29sb3IgPSBwYXJzZUNvbG9yRnVuY3Rp
b25Gb3JSR0JUeXBlczxSZWMyMDIwPGZsb2F0Pj4oYXJncywgY29udGV4dCk7Ci0gICAgICAgIGJy
ZWFrOworICAgICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBl
czxSZWMyMDIwPGZsb2F0Pj4oYXJncywgV1RGTW92ZShvcmlnaW5Db2xvciksIGNvbnRleHQpOwog
ICAgIGNhc2UgQ1NTVmFsdWVTUkdCOgotICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlv
bkZvclJHQlR5cGVzPFNSR0JBPGZsb2F0Pj4oYXJncywgY29udGV4dCk7Ci0gICAgICAgIGJyZWFr
OworICAgICAgICByZXR1cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxT
UkdCQTxmbG9hdD4+KGFyZ3MsIFdURk1vdmUob3JpZ2luQ29sb3IpLCBjb250ZXh0KTsKICAgICBj
YXNlIENTU1ZhbHVlWHl6OgotICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlvbkZvclhZ
WlBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1
cm4gcGFyc2VSZWxhdGl2ZUNvbG9yRnVuY3Rpb25Gb3JYWVpQYXJhbWV0ZXJzKGFyZ3MsIFdURk1v
dmUob3JpZ2luQ29sb3IpLCBjb250ZXh0KTsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4g
eyB9OwogICAgIH0KIAotICAgIGlmICghY29sb3IuaXNWYWxpZCgpKQotICAgICAgICByZXR1cm4g
eyB9OworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiB7IH07Cit9CiAKLSAg
ICBpZiAoIWFyZ3MuYXRFbmQoKSkKK3N0YXRpYyBDb2xvciBwYXJzZU5vblJlbGF0aXZlQ29sb3JG
dW5jdGlvblBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncywgY29uc3QgQ1NTUGFy
c2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBzd2l0Y2ggKGFyZ3MucGVlaygpLmlkKCkpIHsK
KyAgICBjYXNlIENTU1ZhbHVlQTk4UmdiOgorICAgICAgICByZXR1cm4gcGFyc2VDb2xvckZ1bmN0
aW9uRm9yUkdCVHlwZXM8QTk4UkdCPGZsb2F0Pj4oYXJncywgY29udGV4dCk7CisgICAgY2FzZSBD
U1NWYWx1ZURpc3BsYXlQMzoKKyAgICAgICAgcmV0dXJuIHBhcnNlQ29sb3JGdW5jdGlvbkZvclJH
QlR5cGVzPERpc3BsYXlQMzxmbG9hdD4+KGFyZ3MsIGNvbnRleHQpOworICAgIGNhc2UgQ1NTVmFs
dWVQcm9waG90b1JnYjoKKyAgICAgICAgcmV0dXJuIHBhcnNlQ29sb3JGdW5jdGlvbkZvclJHQlR5
cGVzPFByb1Bob3RvUkdCPGZsb2F0Pj4oYXJncywgY29udGV4dCk7CisgICAgY2FzZSBDU1NWYWx1
ZVJlYzIwMjA6CisgICAgICAgIHJldHVybiBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxS
ZWMyMDIwPGZsb2F0Pj4oYXJncywgY29udGV4dCk7CisgICAgY2FzZSBDU1NWYWx1ZVNSR0I6Cisg
ICAgICAgIHJldHVybiBwYXJzZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlczxTUkdCQTxmbG9hdD4+
KGFyZ3MsIGNvbnRleHQpOworICAgIGNhc2UgQ1NTVmFsdWVYeXo6CisgICAgICAgIHJldHVybiBw
YXJzZUNvbG9yRnVuY3Rpb25Gb3JYWVpQYXJhbWV0ZXJzKGFyZ3MsIGNvbnRleHQpOworICAgIGRl
ZmF1bHQ6CiAgICAgICAgIHJldHVybiB7IH07CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgcmV0dXJuIHsgfTsKK30KKworc3RhdGljIENvbG9yIHBhcnNlQ29sb3JGdW5j
dGlvblBhcmFtZXRlcnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0IENTU1BhcnNl
ckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgQVNTRVJUKHJhbmdlLnBlZWsoKS5mdW5jdGlvbklk
KCkgPT0gQ1NTVmFsdWVDb2xvcik7CisgICAgYXV0byBhcmdzID0gY29uc3VtZUZ1bmN0aW9uKHJh
bmdlKTsKKworICAgIGF1dG8gY29sb3IgPSBbJl0geworICAgICAgICBpZiAoY29udGV4dC5yZWxh
dGl2ZUNvbG9yU3ludGF4RW5hYmxlZCAmJiBhcmdzLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlRnJv
bSkKKyAgICAgICAgICAgIHJldHVybiBwYXJzZVJlbGF0aXZlQ29sb3JGdW5jdGlvblBhcmFtZXRl
cnMoYXJncywgY29udGV4dCk7CisgICAgICAgIHJldHVybiBwYXJzZU5vblJlbGF0aXZlQ29sb3JG
dW5jdGlvblBhcmFtZXRlcnMoYXJncywgY29udGV4dCk7CisgICAgfSgpOwogCi0gICAgQVNTRVJU
KGNvbG9yLnVzZXNDb2xvckZ1bmN0aW9uU2VyaWFsaXphdGlvbigpKTsKKyAgICBBU1NFUlQoIWNv
bG9yLmlzVmFsaWQoKSB8fCBjb2xvci51c2VzQ29sb3JGdW5jdGlvblNlcmlhbGl6YXRpb24oKSk7
CiAgICAgcmV0dXJuIGNvbG9yOwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzgzNTApCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAy
MS0wNi0wMSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1
cHBvcnQgZm9yICJyZWxhdGl2ZSBjb2xvciBzeW50YXgiIGZvciBjb2xvcigpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY1MTMKKworICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBVcGRhdGVkIHRlc3QgYW5kIHJlc3Vs
dHMgbm93IHRoYXQgd2Ugc3VwcG9ydCByZWxhdGl2ZSBjb2xvciBzeW50YXgKKyAgICAgICAgZm9y
IGNvbG9yKHNyZ2IgLi4uKSwgY29sb3IoYTk4LXJnYiAuLi4pLCBjb2xvcihyZWMyMDIwIC4uLiks
CisgICAgICAgIGNvbG9yKHByb3Bob3RvLXJnYiAuLi4pIGFuZCBjb2xvcih4eXogLi4uKS4KKwor
ICAgICAgICAqIGZhc3QvY3NzL3BhcnNpbmctcmVsYXRpdmUtY29sb3Itc3ludGF4LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC5o
dG1sOgorCiAyMDIxLTA2LTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNv
bT4KIAogICAgICAgICBbY3NzLXNjcm9sbC1zbmFwXSBTY3JvbGwgc25hcCBpcyBicm9rZW4gd2l0
aCBub24taG9yaXpvbnRhbCB3cml0aW5nIG1vZGVzCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1yZWxhdGl2ZS1jb2xvci1zeW50YXgtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAyNzgzNTApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJz
aW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTI4NSw2ICsyODUsMjYxIEBAIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICIKIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJsY2goZnJvbSBsY2go
NzAlIDQ1IDMwKSBsaWdodG5lc3MgYyBoKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgogUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxjaChmcm9tIGxjaCg3MCUgNDUgMzAp
IHggYyBoKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgogUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImxjaChmcm9tIGxjaCg3MCUgNDUgMzApIGwgZyBiKSIpIGlzICJyZ2Jh
KDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4uLiAke2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAw
LjUgMC4zKSBzcmdiIHIgZyBiKSIpIGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2Ig
MC43IDAuNSAwLjMpIHNyZ2IgciBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41
IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBzcmdiIHIgZyBiKSIpIGlzICJjb2xvcihz
cmdiIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHNyZ2IgciBnIGIgLyBh
bHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihmcm9tIGNvbG9yKHNy
Z2IgMC43IDAuNSAwLjMpIHNyZ2IgciBnIGIpIHNyZ2IgciBnIGIpIikgaXMgImNvbG9yKHNyZ2Ig
MC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMykgc3JnYiAwIDAgMCkiKSBpcyAiY29sb3Io
c3JnYiAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIDAgMCAwKSIpIGlzICJjb2xvcihz
cmdiIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgMCAwIDAgLyAwKSIpIGlzICJjb2xv
cihzcmdiIDAgMCAwIC8gMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIDAgMCAwIC8gMCkiKSBp
cyAiY29sb3Ioc3JnYiAwIDAgMCAvIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMykgc3JnYiAwIGcgYiAv
IGFscGhhKSIpIGlzICJjb2xvcihzcmdiIDAgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBz
cmdiIHIgMCBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAgMC4zKSIKK1BBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43
IDAuNSAwLjMpIHNyZ2IgciBnIDAgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41IDAp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3Ioc3JnYiAwLjcgMC41IDAuMykgc3JnYiByIGcgYiAvIDApIikgaXMgImNvbG9yKHNyZ2IgMC43
IDAuNSAwLjMgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHNyZ2IgMCBnIGIgLyBhbHBo
YSkiKSBpcyAiY29sb3Ioc3JnYiAwIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAv
IDQwJSkgc3JnYiByIDAgYiAvIGFscGhhKSIpIGlzICJjb2xvcihzcmdiIDAuNyAwIDAuMyAvIDAu
NCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBzcmdiIHIgZyAwIC8gYWxwaGEpIikgaXMgImNv
bG9yKHNyZ2IgMC43IDAuNSAwIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHNyZ2Ig
ciBnIGIgLyAwKSIpIGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gMCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAw
LjUgMC4zKSBzcmdiIDAuMiBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjIgMC41IDAu
MykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIDIwJSBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Io
c3JnYiAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgMC4yIGIgLyBhbHBo
YSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdi
IHIgMjAlIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC4yIDAuMykiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAu
NyAwLjUgMC4zKSBzcmdiIHIgZyAwLjIgLyBhbHBoYSkiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41
IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgZyAyMCUgLyBhbHBoYSkiKSBpcyAiY29s
b3Ioc3JnYiAwLjcgMC41IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgZyBiIC8gMC4y
KSIpIGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMp
IHNyZ2IgciBnIGIgLyAyMCUpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuNSAwLjMgLyAwLjIpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Io
c3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiAwLjIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9y
KHNyZ2IgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiAy
MCUgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3Jn
YiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIDAuMiBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNy
Z2IgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIDIw
JSBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAw
LjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIGcgMC4yIC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2Ig
MC43IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIGcgMjAl
IC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcg
MC41IDAuMyAvIDQwJSkgc3JnYiByIGcgYiAvIDAuMikiKSBpcyAiY29sb3Ioc3JnYiAwLjcgMC41
IDAuMyAvIDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBzcmdiIHIgZyBiIC8gMjAlKSIp
IGlzICJjb2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNy
Z2IgZyBiIHIpIikgaXMgImNvbG9yKHNyZ2IgMC41IDAuMyAwLjcpIgorUEFTUyBjb21wdXRlZFN0
eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAu
Mykgc3JnYiBiIGFscGhhIHIgLyBnKSIpIGlzICJjb2xvcihzcmdiIDAuMyAxIDAuNyAvIDAuNSki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIHIgciByIC8gcikiKSBpcyAiY29sb3Ioc3JnYiAwLjcg
MC43IDAuNyAvIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdiIGFscGhhIGFscGhhIGFscGhh
IC8gYWxwaGEpIikgaXMgImNvbG9yKHNyZ2IgMSAxIDEpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQw
JSkgc3JnYiBnIGIgcikiKSBpcyAiY29sb3Ioc3JnYiAwLjUgMC4zIDAuNykiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAw
LjUgMC4zIC8gNDAlKSBzcmdiIGIgYWxwaGEgciAvIGcpIikgaXMgImNvbG9yKHNyZ2IgMC4zIDAu
NCAwLjcgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQwJSkgc3JnYiByIHIgciAvIHIpIikg
aXMgImNvbG9yKHNyZ2IgMC43IDAuNyAwLjcgLyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAvIDQw
JSkgc3JnYiBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKSIpIGlzICJjb2xvcihzcmdiIDAuNCAw
LjQgMC40IC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgY2FsYyhyKSBjYWxjKGcpIGNh
bGMoYikpIikgaXMgImNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMyAv
IDQwJSkgc3JnYiBjYWxjKHIpIGNhbGMoZykgY2FsYyhiKSAvIGNhbGMoYWxwaGEpKSIpIGlzICJj
b2xvcihzcmdiIDAuNyAwLjUgMC4zIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNyZ2IgMTBk
ZWcgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Ioc3JnYiAwLjcgMC41IDAuMykgc3JnYiBy
IDEwZGVnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4zKSBzcmdi
IHIgZyAxMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAwLjMpIHNy
Z2IgciBnIGIgLyAxMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAw
LjMpIHNyZ2IgcmVkIGcgYikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHNyZ2IgMC43IDAuNSAw
LjMpIHNyZ2IgeCBnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihzcmdiIDAuNyAwLjUgMC4z
KSBzcmdiIGwgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4uLiAk
e2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgZyBiKSIpIGlzICJj
b2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2Ig
ciBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdi
IDAuNyAwLjUgMC4zIC8gNDAlKSBhOTgtcmdiIHIgZyBiKSIpIGlzICJjb2xvcihhOTgtcmdiIDAu
NyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIGE5OC1yZ2IgciBnIGIgLyBh
bHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihmcm9tIGNvbG9y
KGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgciBnIGIpIGE5OC1yZ2IgciBnIGIpIikgaXMg
ImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykgYTk4LXJn
YiAwIDAgMCkiKSBpcyAiY29sb3IoYTk4LXJnYiAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4z
KSBhOTgtcmdiIDAgMCAwKSIpIGlzICJjb2xvcihhOTgtcmdiIDAgMCAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43
IDAuNSAwLjMpIGE5OC1yZ2IgMCAwIDAgLyAwKSIpIGlzICJjb2xvcihhOTgtcmdiIDAgMCAwIC8g
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIDAgMCAwIC8gMCkiKSBpcyAiY29sb3Io
YTk4LXJnYiAwIDAgMCAvIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykgYTk4LXJnYiAwIGcgYiAv
IGFscGhhKSIpIGlzICJjb2xvcihhOTgtcmdiIDAgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUg
MC4zKSBhOTgtcmdiIHIgMCBiIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAgMC4z
KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNv
bG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgciBnIDAgLyBhbHBoYSkiKSBpcyAiY29s
b3IoYTk4LXJnYiAwLjcgMC41IDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykgYTk4LXJnYiByIGcg
YiAvIDApIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMgLyAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43
IDAuNSAwLjMgLyA0MCUpIGE5OC1yZ2IgMCBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJn
YiAwIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiBy
IDAgYiAvIGFscGhhKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAwIDAuMyAvIDAuNCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgt
cmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBhOTgtcmdiIHIgZyAwIC8gYWxwaGEpIikgaXMgImNvbG9y
KGE5OC1yZ2IgMC43IDAuNSAwIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIGE5
OC1yZ2IgciBnIGIgLyAwKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gMCkiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihh
OTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIDAuMiBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Io
YTk4LXJnYiAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIDIwJSBn
IGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAu
NyAwLjUgMC4zKSBhOTgtcmdiIHIgMC4yIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAw
LjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgMjAlIGIgLyBhbHBo
YSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4z
KSBhOTgtcmdiIHIgZyAwLjIgLyBhbHBoYSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC41IDAu
MikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgZyAyMCUgLyBhbHBoYSkiKSBpcyAi
Y29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdi
IHIgZyBiIC8gMC4yKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5
OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgciBnIGIgLyAyMCUpIikgaXMgImNvbG9yKGE5OC1y
Z2IgMC43IDAuNSAwLjMgLyAwLjIpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJn
YiAwLjIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC4yIDAuNSAwLjMgLyAwLjQp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiAyMCUgZyBiIC8gYWxwaGEpIikg
aXMgImNvbG9yKGE5OC1yZ2IgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAu
MyAvIDQwJSkgYTk4LXJnYiByIDAuMiBiIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43
IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIDIw
JSBiIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4
LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIGcgMC4yIC8gYWxwaGEpIikgaXMgImNv
bG9yKGE5OC1yZ2IgMC43IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQw
JSkgYTk4LXJnYiByIGcgMjAlIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAw
LjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIGcgYiAvIDAu
MikiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDAuMikiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAw
LjUgMC4zIC8gNDAlKSBhOTgtcmdiIHIgZyBiIC8gMjAlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAu
NyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgZyBiIHIpIikg
aXMgImNvbG9yKGE5OC1yZ2IgMC41IDAuMyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMykgYTk4
LXJnYiBiIGFscGhhIHIgLyBnKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuMyAxIDAuNyAvIDAuNSki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgciByIC8gcikiKSBpcyAiY29sb3IoYTk4
LXJnYiAwLjcgMC43IDAuNyAvIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIGFs
cGhhIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMSAxIDEpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4
LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiBnIGIgcikiKSBpcyAiY29sb3IoYTk4LXJn
YiAwLjUgMC4zIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBhOTgtcmdiIGIgYWxw
aGEgciAvIGcpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC4zIDAuNCAwLjcgLyAwLjUpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJn
YiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJnYiByIHIgciAvIHIpIikgaXMgImNvbG9yKGE5OC1y
Z2IgMC43IDAuNyAwLjcgLyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgYTk4LXJn
YiBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNCAwLjQg
MC40IC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgY2FsYyhyKSBjYWxjKGcp
IGNhbGMoYikpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4LXJnYiAwLjcg
MC41IDAuMyAvIDQwJSkgYTk4LXJnYiBjYWxjKHIpIGNhbGMoZykgY2FsYyhiKSAvIGNhbGMoYWxw
aGEpKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zIC8gMC40KSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43
IDAuNSAwLjMpIGE5OC1yZ2IgMTBkZWcgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoYTk4
LXJnYiAwLjcgMC41IDAuMykgYTk4LXJnYiByIDEwZGVnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwg
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBhOTgtcmdiIHIgZyAxMGRlZykiKSBpcyAicmdiYSgw
LCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgciBnIGIgLyAxMGRlZyki
KSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1yZ2IgcmVk
IGcgYikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKGE5OC1yZ2IgMC43IDAuNSAwLjMpIGE5OC1y
Z2IgeCBnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihhOTgtcmdiIDAuNyAwLjUgMC4zKSBh
OTgtcmdiIGwgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4uLiAk
e2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgZyBiKSIpIGlzICJj
b2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAg
ciBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIw
IDAuNyAwLjUgMC4zIC8gNDAlKSByZWMyMDIwIHIgZyBiKSIpIGlzICJjb2xvcihyZWMyMDIwIDAu
NyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMgLyA0MCUpIHJlYzIwMjAgciBnIGIgLyBh
bHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihmcm9tIGNvbG9y
KHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgciBnIGIpIHJlYzIwMjAgciBnIGIpIikgaXMg
ImNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykgcmVjMjAy
MCAwIDAgMCkiKSBpcyAiY29sb3IocmVjMjAyMCAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4z
KSByZWMyMDIwIDAgMCAwKSIpIGlzICJjb2xvcihyZWMyMDIwIDAgMCAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43
IDAuNSAwLjMpIHJlYzIwMjAgMCAwIDAgLyAwKSIpIGlzICJjb2xvcihyZWMyMDIwIDAgMCAwIC8g
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIDAgMCAwIC8gMCkiKSBpcyAiY29sb3Io
cmVjMjAyMCAwIDAgMCAvIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykgcmVjMjAyMCAwIGcgYiAv
IGFscGhhKSIpIGlzICJjb2xvcihyZWMyMDIwIDAgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUg
MC4zKSByZWMyMDIwIHIgMCBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAgMC4z
KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNv
bG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgciBnIDAgLyBhbHBoYSkiKSBpcyAiY29s
b3IocmVjMjAyMCAwLjcgMC41IDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykgcmVjMjAyMCByIGcg
YiAvIDApIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMgLyAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43
IDAuNSAwLjMgLyA0MCUpIHJlYzIwMjAgMCBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAy
MCAwIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCBy
IDAgYiAvIGFscGhhKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAwIDAuMyAvIDAuNCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMy
MDIwIDAuNyAwLjUgMC4zIC8gNDAlKSByZWMyMDIwIHIgZyAwIC8gYWxwaGEpIikgaXMgImNvbG9y
KHJlYzIwMjAgMC43IDAuNSAwIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMgLyA0MCUpIHJl
YzIwMjAgciBnIGIgLyAwKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gMCkiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihy
ZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIDAuMiBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3Io
cmVjMjAyMCAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIDIwJSBn
IGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjIgMC41IDAuMykiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAu
NyAwLjUgMC4zKSByZWMyMDIwIHIgMC4yIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAw
LjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgMjAlIGIgLyBhbHBo
YSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC4yIDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4z
KSByZWMyMDIwIHIgZyAwLjIgLyBhbHBoYSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC41IDAu
MikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgZyAyMCUgLyBhbHBoYSkiKSBpcyAi
Y29sb3IocmVjMjAyMCAwLjcgMC41IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIw
IHIgZyBiIC8gMC4yKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gMC4yKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJl
YzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgciBnIGIgLyAyMCUpIikgaXMgImNvbG9yKHJlYzIw
MjAgMC43IDAuNSAwLjMgLyAwLjIpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAy
MCAwLjIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC4yIDAuNSAwLjMgLyAwLjQp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCAyMCUgZyBiIC8gYWxwaGEpIikg
aXMgImNvbG9yKHJlYzIwMjAgMC4yIDAuNSAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAu
MyAvIDQwJSkgcmVjMjAyMCByIDAuMiBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43
IDAuMiAwLjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIDIw
JSBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuMiAwLjMgLyAwLjQpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVj
MjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIGcgMC4yIC8gYWxwaGEpIikgaXMgImNv
bG9yKHJlYzIwMjAgMC43IDAuNSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQw
JSkgcmVjMjAyMCByIGcgMjAlIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuNSAw
LjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIGcgYiAvIDAu
MikiKSBpcyAiY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDAuMikiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAw
LjUgMC4zIC8gNDAlKSByZWMyMDIwIHIgZyBiIC8gMjAlKSIpIGlzICJjb2xvcihyZWMyMDIwIDAu
NyAwLjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgZyBiIHIpIikg
aXMgImNvbG9yKHJlYzIwMjAgMC41IDAuMyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMykgcmVj
MjAyMCBiIGFscGhhIHIgLyBnKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuMyAxIDAuNyAvIDAuNSki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgciByIC8gcikiKSBpcyAiY29sb3IocmVj
MjAyMCAwLjcgMC43IDAuNyAvIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIGFs
cGhhIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMgImNvbG9yKHJlYzIwMjAgMSAxIDEpIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVj
MjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCBnIGIgcikiKSBpcyAiY29sb3IocmVjMjAy
MCAwLjUgMC4zIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gNDAlKSByZWMyMDIwIGIgYWxw
aGEgciAvIGcpIikgaXMgImNvbG9yKHJlYzIwMjAgMC4zIDAuNCAwLjcgLyAwLjUpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAy
MCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAyMCByIHIgciAvIHIpIikgaXMgImNvbG9yKHJlYzIw
MjAgMC43IDAuNyAwLjcgLyAwLjcpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcgMC41IDAuMyAvIDQwJSkgcmVjMjAy
MCBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNCAwLjQg
MC40IC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgY2FsYyhyKSBjYWxjKGcp
IGNhbGMoYikpIikgaXMgImNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVjMjAyMCAwLjcg
MC41IDAuMyAvIDQwJSkgcmVjMjAyMCBjYWxjKHIpIGNhbGMoZykgY2FsYyhiKSAvIGNhbGMoYWxw
aGEpKSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zIC8gMC40KSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43
IDAuNSAwLjMpIHJlYzIwMjAgMTBkZWcgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocmVj
MjAyMCAwLjcgMC41IDAuMykgcmVjMjAyMCByIDEwZGVnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwg
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSByZWMyMDIwIHIgZyAxMGRlZykiKSBpcyAicmdiYSgw
LCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgciBnIGIgLyAxMGRlZyki
KSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIwMjAgcmVk
IGcgYikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHJlYzIwMjAgMC43IDAuNSAwLjMpIHJlYzIw
MjAgeCBnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihyZWMyMDIwIDAuNyAwLjUgMC4zKSBy
ZWMyMDIwIGwgZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4uLiAk
e2NvbG9yfSAuLi4pCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiByIGcg
YikiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAw
LjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgZyBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bo
b3RvLXJnYiAwLjcgMC41IDAuMykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHBy
b3Bob3RvLXJnYiByIGcgYikiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSIK
K1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9y
KHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgcHJvcGhvdG8tcmdiIHIgZyBiIC8gYWxw
aGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihmcm9tIGNv
bG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgZyBiKSBwcm9waG90
by1yZ2IgciBnIGIpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9w
aG90by1yZ2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiAwIDAgMCkiKSBpcyAiY29sb3IocHJv
cGhvdG8tcmdiIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdi
IDAgMCAwKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMCAwIDApIgorUEFTUyBjb21wdXRlZFN0
eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAu
NyAwLjUgMC4zKSBwcm9waG90by1yZ2IgMCAwIDAgLyAwKSIpIGlzICJjb2xvcihwcm9waG90by1y
Z2IgMCAwIDAgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIDAg
MCAwIC8gMCkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAgMCAwIC8gMCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1y
Z2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiAwIGcgYiAvIGFscGhhKSIpIGlzICJjb2xvcihw
cm9waG90by1yZ2IgMCAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhv
dG8tcmdiIHIgMCBiIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMCAwLjMp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29s
b3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgciBnIDAgLyBhbHBoYSki
KSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAu
NSAwLjMpIHByb3Bob3RvLXJnYiByIGcgYiAvIDApIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAw
LjcgMC41IDAuMyAvIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zIC8gNDAlKSBwcm9waG90
by1yZ2IgMCBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAgMC41IDAuMyAv
IDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIDAg
YiAvIGFscGhhKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMC43IDAgMC4zIC8gMC40KSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHBy
b3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgcHJvcGhvdG8tcmdiIHIgZyAwIC8gYWxwaGEp
IikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAgLyAwLjQpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdi
IDAuNyAwLjUgMC4zIC8gNDAlKSBwcm9waG90by1yZ2IgciBnIGIgLyAwKSIpIGlzICJjb2xvcihw
cm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykg
cHJvcGhvdG8tcmdiIDAuMiBnIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAu
MiAwLjUgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIDIwJSBn
IGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuMiAwLjUgMC4zKSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bo
b3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgMC4yIGIgLyBhbHBoYSkiKSBpcyAi
Y29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjIgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAu
MykgcHJvcGhvdG8tcmdiIHIgMjAlIGIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdi
IDAuNyAwLjIgMC4zKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIg
ZyAwLjIgLyBhbHBoYSkiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4yKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHBy
b3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIHIgZyAyMCUgLyBhbHBoYSkiKSBp
cyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41
IDAuMykgcHJvcGhvdG8tcmdiIHIgZyBiIC8gMC4yKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2Ig
MC43IDAuNSAwLjMgLyAwLjIpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1y
Z2IgciBnIGIgLyAyMCUpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDAu
MikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBj
b2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiAwLjIgZyBi
IC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjIgMC41IDAuMyAvIDAuNCkiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihw
cm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiAyMCUgZyBiIC8gYWxw
aGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjIgMC41IDAuMyAvIDAuNCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90
by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIDAuMiBiIC8gYWxwaGEpIikg
aXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC4yIDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2Ig
MC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIDIwJSBiIC8gYWxwaGEpIikgaXMgImNv
bG9yKHByb3Bob3RvLXJnYiAwLjcgMC4yIDAuMyAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAu
NSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiByIGcgMC4yIC8gYWxwaGEpIikgaXMgImNvbG9yKHBy
b3Bob3RvLXJnYiAwLjcgMC41IDAuMiAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMg
LyA0MCUpIHByb3Bob3RvLXJnYiByIGcgMjAlIC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3Rv
LXJnYiAwLjcgMC41IDAuMiAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUp
IHByb3Bob3RvLXJnYiByIGcgYiAvIDAuMikiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAw
LjUgMC4zIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgcHJvcGhvdG8t
cmdiIHIgZyBiIC8gMjAlKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyAw
LjIpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20g
Y29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgZyBiIHIpIikgaXMg
ImNvbG9yKHByb3Bob3RvLXJnYiAwLjUgMC4zIDAuNykiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAw
LjMpIHByb3Bob3RvLXJnYiBiIGFscGhhIHIgLyBnKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2Ig
MC4zIDEgMC43IC8gMC41KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdi
IHIgciByIC8gcikiKSBpcyAiY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjcgMC43IC8gMC43KSIK
K1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9y
KHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIGFscGhhIGFscGhhIGFscGhh
IC8gYWxwaGEpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAxIDEgMSkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2Ig
MC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiBnIGIgcikiKSBpcyAiY29sb3IocHJvcGhv
dG8tcmdiIDAuNSAwLjMgMC43KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMyAvIDQwJSkgcHJv
cGhvdG8tcmdiIGIgYWxwaGEgciAvIGcpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjMgMC40
IDAuNyAvIDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJn
YiByIHIgciAvIHIpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC43IDAuNyAvIDAuNyki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cihwcm9waG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiBhbHBoYSBhbHBo
YSBhbHBoYSAvIGFscGhhKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMC40IDAuNCAwLjQgLyAw
LjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20g
Y29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgY2FsYyhyKSBjYWxj
KGcpIGNhbGMoYikpIikgaXMgImNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9w
aG90by1yZ2IgMC43IDAuNSAwLjMgLyA0MCUpIHByb3Bob3RvLXJnYiBjYWxjKHIpIGNhbGMoZykg
Y2FsYyhiKSAvIGNhbGMoYWxwaGEpKSIpIGlzICJjb2xvcihwcm9waG90by1yZ2IgMC43IDAuNSAw
LjMgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgMTBkZWcg
ZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBw
cm9waG90by1yZ2IgciAxMGRlZyBiKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IocHJvcGhvdG8t
cmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgciBnIDEwZGVnKSIpIGlzICJyZ2JhKDAsIDAs
IDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZy
b20gY29sb3IocHJvcGhvdG8tcmdiIDAuNyAwLjUgMC4zKSBwcm9waG90by1yZ2IgciBnIGIgLyAx
MGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykg
cHJvcGhvdG8tcmdiIHJlZCBnIGIpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcihwcm9waG90by1y
Z2IgMC43IDAuNSAwLjMpIHByb3Bob3RvLXJnYiB4IGcgYikiKSBpcyAicmdiYSgwLCAwLCAwLCAw
KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNv
bG9yKHByb3Bob3RvLXJnYiAwLjcgMC41IDAuMykgcHJvcGhvdG8tcmdiIGwgZyBiKSIpIGlzICJy
Z2JhKDAsIDAsIDAsIDApIgorCitjb2xvcihmcm9tIC4uLiB4eXogLi4uKQorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUg
MTAwKSB4eXogeCB5IHopIikgaXMgImNvbG9yKHh5eiA3IC0yMC41IDEwMCkiCitQQVNTIGNvbXB1
dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAu
NSAxMDApIHh5eiB4IHkgeiAvIGFscGhhKSIpIGlzICJjb2xvcih4eXogNyAtMjAuNSAxMDApIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Io
eHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCB5IHopIikgaXMgImNvbG9yKHh5eiA3IC0yMC41
IDEwMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJv
bSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IHkgeiAvIGFscGhhKSIpIGlzICJj
b2xvcih4eXogNyAtMjAuNSAxMDAgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3Jv
dW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAp
IHh5eiB4IHkgeikgeHl6IHggeSB6KSIpIGlzICJjb2xvcih4eXogNyAtMjAuNSAxMDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6
IDcgLTIwLjUgMTAwKSB4eXogMCAwIDApIikgaXMgImNvbG9yKHh5eiAwIDAgMCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAt
MjAuNSAxMDApIHh5eiAwIDAgMCkiKSBpcyAiY29sb3IoeHl6IDAgMCAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41
IDEwMCkgeHl6IDAgMCAwIC8gMCkiKSBpcyAiY29sb3IoeHl6IDAgMCAwIC8gMCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAt
MjAuNSAxMDApIHh5eiAwIDAgMCAvIDApIikgaXMgImNvbG9yKHh5eiAwIDAgMCAvIDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6
IDcgLTIwLjUgMTAwKSB4eXogMCB5IHogLyBhbHBoYSkiKSBpcyAiY29sb3IoeHl6IDAgLTIwLjUg
MTAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9t
IGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggMCB6IC8gYWxwaGEpIikgaXMgImNvbG9yKHh5
eiA3IDAgMTAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggeSAwIC8gYWxwaGEpIikgaXMgImNv
bG9yKHh5eiA3IC0yMC41IDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogeCB5IHogLyAwKSIpIGlz
ICJjb2xvcih4eXogNyAtMjAuNSAxMDAgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkgeHl6
IDAgeSB6IC8gYWxwaGEpIikgaXMgImNvbG9yKHh5eiAwIC0yMC41IDEwMCAvIDAuNCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXog
NyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IDAgeiAvIGFscGhhKSIpIGlzICJjb2xvcih4eXogNyAw
IDEwMCAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IHkgMCAvIGFscGhhKSIp
IGlzICJjb2xvcih4eXogNyAtMjAuNSAwIC8gMC40KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkg
eHl6IHggeSB6IC8gMCkiKSBpcyAiY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gMCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAt
MjAuNSAxMDApIHh5eiAwLjIgeSB6IC8gYWxwaGEpIikgaXMgImNvbG9yKHh5eiAwLjIgLTIwLjUg
MTAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9t
IGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggMC4yIHogLyBhbHBoYSkiKSBpcyAiY29sb3Io
eHl6IDcgMC4yIDEwMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgMC4yIC8gYWxwaGEpIikg
aXMgImNvbG9yKHh5eiA3IC0yMC41IDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgeiAv
IDAuMikiKSBpcyAiY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gMC4yKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEw
MCkgeHl6IHggeSB6IC8gMjAlKSIpIGlzICJjb2xvcih4eXogNyAtMjAuNSAxMDAgLyAwLjIpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3Io
eHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogMC4yIHkgeiAvIGFscGhhKSIpIGlzICJjb2xvcih4
eXogMC4yIC0yMC41IDEwMCAvIDAuNCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IDAu
MiB6IC8gYWxwaGEpIikgaXMgImNvbG9yKHh5eiA3IDAuMiAxMDAgLyAwLjQpIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIw
LjUgMTAwIC8gNDAlKSB4eXogeCB5IDAuMiAvIGFscGhhKSIpIGlzICJjb2xvcih4eXogNyAtMjAu
NSAwLjIgLyAwLjQpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCB5IHogLyAwLjIpIikg
aXMgImNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDAuMikiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB5
IHogeCkiKSBpcyAiY29sb3IoeHl6IC0yMC41IDEwMCA3KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6
IHggeCB4IC8geCkiKSBpcyAiY29sb3IoeHl6IDcgNyA3KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQw
JSkgeHl6IHkgeiB4KSIpIGlzICJjb2xvcih4eXogLTIwLjUgMTAwIDcpIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUg
MTAwIC8gNDAlKSB4eXogeCB4IHggLyB4KSIpIGlzICJjb2xvcih4eXogNyA3IDcpIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcg
LTIwLjUgMTAwKSB4eXogeiBhbHBoYSB4IC8geSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IGFscGhhIGFscGhhIGFscGhhIC8gYWxwaGEpIikgaXMgInJnYmEo
MCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29s
b3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB6IGFscGhhIHggLyB5KSIp
IGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogYWxwaGEg
YWxwaGEgYWxwaGEgLyBhbHBoYSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41
IDEwMCkgeHl6IGNhbGMoeCkgY2FsYyh5KSBjYWxjKHopKSIpIGlzICJjb2xvcih4eXogNyAtMjAu
NSAxMDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZy
b20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogY2FsYyh4KSBjYWxjKHkpIGNhbGMo
eikgLyBjYWxjKGFscGhhKSkiKSBpcyAiY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gMC40KSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IDEwZGVnIHkgeikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IHggMTBkZWcgeikiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IHggeSAxMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IHggeSB6IC8gMTBkZWcpIikgaXMgInJnYmEoMCwgMCwgMCwgMCki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoZnJvbSBjb2xv
cih4eXogNyAtMjAuNSAxMDApIHh5eiByZWQgeSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihmcm9tIGNvbG9yKHh5
eiA3IC0yMC41IDEwMCkgeHl6IHIgeSB6KSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGZyb20gY29sb3IoeHl6IDcg
LTIwLjUgMTAwKSB4eXogbCB5IHopIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCisKK1NwZWMgRXhh
bXBsZXMKIFBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJyZ2IoZnJvbSB2
YXIoLS1iZy1jb2xvcikgciBnIGIgLyA4MCUpIikgaXMgInJnYmEoMCwgMCwgMjU1LCAwLjgpIgog
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImxjaChmcm9tIHZhcigtLWNv
bG9yKSBjYWxjKGwgLyAyKSBjIGgpIikgaXMgImxjaCgyMy4xMzg5NzElIDY3Ljk4OTcxNiAxMzQu
MzkxMjUpIgogUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgInJnYihmcm9t
IHZhcigtLWNvbG9yKSBjYWxjKHIgKiAuMyArIGcgKiAuNTkgKyBiICogLjExKSBjYWxjKHIgKiAu
MyArIGcgKiAuNTkgKyBiICogLjExKSBjYWxjKHIgKiAuMyArIGcgKiAuNTkgKyBiICogLjExKSki
KSBpcyAicmdiKDc2LCA3NiwgNzYpIgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2lu
Zy1yZWxhdGl2ZS1jb2xvci1zeW50YXguaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRheC5odG1sCShyZXZpc2lvbiAyNzgz
NTApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLXJlbGF0aXZlLWNvbG9yLXN5bnRh
eC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC00NDQsMTMgKzQ0NCwxNTEgQEAKICAgICB0ZXN0Q29t
cHV0ZWQoYGxjaChmcm9tIGxjaCg3MCUgNDUgMzApIGwgZyBiKWAsIGByZ2JhKDAsIDAsIDAsIDAp
YCk7CiAKIAotICAgIC8vIFNwZWMgZXhhbXBsZXM6CisgICAgZm9yIChjb25zdCBjb2xvciBvZiBb
ICJzcmdiIiwgImE5OC1yZ2IiLCAicmVjMjAyMCIsICJwcm9waG90by1yZ2IiIF0pIHsKKyAgICAg
ICAgZGVidWcoJycpOworICAgICAgICBkZWJ1ZygnY29sb3IoZnJvbSAuLi4gJHtjb2xvcn0gLi4u
KScpOworCisgICAgICAgIC8vIFRlc3Rpbmcgbm8gbW9kaWZpY2F0aW9ucy4KKyAgICAgICAgdGVz
dENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9y
fSByIGcgYilgLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAw
LjcgMC41IDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgYiAvIGFscGhhKWAsICAgICAgICAgICAg
ICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMylgKTsKKyAgICAgICAgdGVzdENv
bXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2Nv
bG9yfSByIGcgYilgLCAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcg
MC41IDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29s
b3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIGcgYiAvIGFscGhhKWAsICAgICAgICAg
ICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDAuNClgKTsKKworICAgICAgICAv
LyBUZXN0IG5lc3RpbmcgcmVsYXRpdmUgY29sb3JzLgorICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNv
bG9yKGZyb20gY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0g
ciBnIGIpICR7Y29sb3J9IHIgZyBiKWAsICAgYGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKWAp
OworCisgICAgICAgIC8vIFRlc3RpbmcgcmVwbGFjZW1lbnQgd2l0aCAwLgorICAgICAgICB0ZXN0
Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9
IDAgMCAwKWAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAg
MCAwKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0g
MC43IDAuNSAwLjMpICR7Y29sb3J9IDAgMCAwKWAsICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYGNvbG9yKCR7Y29sb3J9IDAgMCAwKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
KGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9IDAgMCAwIC8gMClgLCAg
ICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAgMCAwIC8gMClgKTsKKyAg
ICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4z
KSAke2NvbG9yfSAwIDAgMCAvIDApYCwgICAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcigk
e2NvbG9yfSAwIDAgMCAvIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBj
b2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gMCBnIGIgLyBhbHBoYSlgLCAgICAg
ICAgICAgICAgICAgICAgICBgY29sb3IoJHtjb2xvcn0gMCAwLjUgMC4zKWApOworICAgICAgICB0
ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29s
b3J9IHIgMCBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9
IDAuNyAwIDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgMCAvIGFscGhhKWAsICAgICAgICAgICAg
ICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDApYCk7CisgICAgICAgIHRlc3RDb21w
dXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gciBn
IGIgLyAwKWAsICAgICAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoJHtjb2xvcn0gMC43IDAu
NSAwLjMgLyAwKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtj
b2xvcn0gMC43IDAuNSAwLjMgLyA0MCUpICR7Y29sb3J9IDAgZyBiIC8gYWxwaGEpYCwgICAgICAg
ICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAgMC41IDAuMyAvIDAuNClgKTsKKyAgICAgICAgdGVz
dENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAk
e2NvbG9yfSByIDAgYiAvIGFscGhhKWAsICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAw
LjcgMCAwLjMgLyAwLjQpYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xv
cigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDQwJSkgJHtjb2xvcn0gciBnIDAgLyBhbHBoYSlgLCAg
ICAgICAgICAgICAgICBgY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwIC8gMC40KWApOworICAgICAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0
MCUpICR7Y29sb3J9IHIgZyBiIC8gMClgLCAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29s
b3J9IDAuNyAwLjUgMC4zIC8gMClgKTsKKworICAgICAgICAvLyBUZXN0aW5nIHJlcGxhY2VtZW50
IHdpdGggYSBjb25zdGFudC4KKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9y
KCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSAwLjIgZyBiIC8gYWxwaGEpYCwgICAgICAg
ICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjIgMC41IDAuMylgKTsKKyAgICAgICAgdGVz
dENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9y
fSAyMCUgZyBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAw
LjIgMC41IDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIDAuMiBiIC8gYWxwaGEpYCwgICAgICAgICAg
ICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC4yIDAuMylgKTsKKyAgICAgICAgdGVzdENv
bXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSBy
IDIwJSBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcg
MC4yIDAuMylgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29s
b3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgMC4yIC8gYWxwaGEpYCwgICAgICAgICAgICAg
ICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMilgKTsKKyAgICAgICAgdGVzdENvbXB1
dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcg
MjAlIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41
IDAuMilgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9
IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcgYiAvIDAuMilgLCAgICAgICAgICAgICAgICAgICAg
ICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDAuMilgKTsKKyAgICAgICAgdGVzdENv
bXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSBy
IGcgYiAvIDIwJSlgLCAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcg
MC41IDAuMyAvIDAuMilgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9y
KCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSAwLjIgZyBiIC8gYWxwaGEpYCwg
ICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjIgMC41IDAuMyAvIDAuNClgKTsKKyAgICAg
ICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8g
NDAlKSAke2NvbG9yfSAyMCUgZyBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcigke2Nv
bG9yfSAwLjIgMC41IDAuMyAvIDAuNClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihm
cm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIDAuMiBiIC8g
YWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC4yIDAuMyAvIDAuNClg
KTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAw
LjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIDIwJSBiIC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBj
b2xvcigke2NvbG9yfSAwLjcgMC4yIDAuMyAvIDAuNClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVk
KGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSBy
IGcgMC4yIC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAu
MiAvIDAuNClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29s
b3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIGcgMjAlIC8gYWxwaGEpYCwgICAgICAg
ICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMiAvIDAuNClgKTsKKyAgICAgICAgdGVz
dENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAk
e2NvbG9yfSByIGcgYiAvIDAuMilgLCAgICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAw
LjcgMC41IDAuMyAvIDAuMilgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNv
bG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zIC8gNDAlKSAke2NvbG9yfSByIGcgYiAvIDIwJSlgLCAg
ICAgICAgICAgICAgICAgIGBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDAuMilgKTsKKwor
ICAgICAgICAvLyBUZXN0aW5nIHZhbGlkIHBlcm11dGF0aW9uICh0eXBlcyBtYXRjaCkuCisgICAg
ICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykg
JHtjb2xvcn0gZyBiIHIpYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoJHtj
b2xvcn0gMC41IDAuMyAwLjcpYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBj
b2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gYiBhbHBoYSByIC8gZylgLCAgICAg
ICAgICAgICAgICAgICAgICBgY29sb3IoJHtjb2xvcn0gMC4zIDEgMC43IC8gMC41KWApOworICAg
ICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMp
ICR7Y29sb3J9IHIgciByIC8gcilgLCAgICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjcgMC43IC8gMC43KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
KGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9IGFscGhhIGFscGhhIGFs
cGhhIC8gYWxwaGEpYCwgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDEgMSAxKWApOworICAgICAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0
MCUpICR7Y29sb3J9IGcgYiByKWAsICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29s
b3J9IDAuNSAwLjMgMC43KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29s
b3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0MCUpICR7Y29sb3J9IGIgYWxwaGEgciAvIGcpYCwg
ICAgICAgICAgICAgICAgYGNvbG9yKCR7Y29sb3J9IDAuMyAwLjQgMC43IC8gMC41KWApOworICAg
ICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMg
LyA0MCUpICR7Y29sb3J9IHIgciByIC8gcilgLCAgICAgICAgICAgICAgICAgICAgYGNvbG9yKCR7
Y29sb3J9IDAuNyAwLjcgMC43IC8gMC43KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
KGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMgLyA0MCUpICR7Y29sb3J9IGFscGhhIGFs
cGhhIGFscGhhIC8gYWxwaGEpYCwgICAgYGNvbG9yKCR7Y29sb3J9IDAuNCAwLjQgMC40IC8gMC40
KWApOworCisgICAgICAgIC8vIFRlc3Rpbmcgd2l0aCBjYWxjKCkuCisgICAgICAgIHRlc3RDb21w
dXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gY2Fs
YyhyKSBjYWxjKGcpIGNhbGMoYikpYCwgICAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoJHtj
b2xvcn0gMC43IDAuNSAwLjMpYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBj
b2xvcigke2NvbG9yfSAwLjcgMC41IDAuMyAvIDQwJSkgJHtjb2xvcn0gY2FsYyhyKSBjYWxjKGcp
IGNhbGMoYikgLyBjYWxjKGFscGhhKSlgLCAgICBgY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMg
LyAwLjQpYCk7CisKKyAgICAgICAgLy8gVGVzdGluZyBpbnZhbGlkIHZhbHVlcy4KKyAgICAgICAg
dGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2Nv
bG9yfSAxMGRlZyBnIGIpYCwgICAgICAgICAgICAgICAgICAgICAgICAgIGByZ2JhKDAsIDAsIDAs
IDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcigke2NvbG9yfSAw
LjcgMC41IDAuMykgJHtjb2xvcn0gciAxMGRlZyBiKWAsICAgICAgICAgICAgICAgICAgICAgICAg
ICBgcmdiYSgwLCAwLCAwLCAwKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20g
Y29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9IHIgZyAxMGRlZylgLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICAgICAgdGVzdENvbXB1
dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAwLjUgMC4zKSAke2NvbG9yfSByIGcg
YiAvIDEwZGVnKWAsICAgICAgICAgICAgICAgICAgICAgIGByZ2JhKDAsIDAsIDAsIDApYCk7CisK
KyAgICAgICAgLy8gVGVzdGluZyBpbnZhbGlkIGNvbXBvbmVudCBuYW1lcworICAgICAgICB0ZXN0
Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoJHtjb2xvcn0gMC43IDAuNSAwLjMpICR7Y29sb3J9
IHJlZCBnIGIpYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHJnYmEoMCwgMCwgMCwgMClg
KTsKKyAgICAgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKCR7Y29sb3J9IDAuNyAw
LjUgMC4zKSAke2NvbG9yfSB4IGcgYilgLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBy
Z2JhKDAsIDAsIDAsIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xv
cigke2NvbG9yfSAwLjcgMC41IDAuMykgJHtjb2xvcn0gbCBnIGIpYCwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBgcmdiYSgwLCAwLCAwLCAwKWApOworICAgIH0KKworICAgIGRlYnVnKCcn
KTsKKyAgICBkZWJ1ZygnY29sb3IoZnJvbSAuLi4geHl6IC4uLiknKTsKKworICAgIC8vIFRlc3Rp
bmcgbm8gbW9kaWZpY2F0aW9ucy4KKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3Io
eHl6IDcgLTIwLjUgMTAwKSB4eXogeCB5IHopYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBgY29sb3IoeHl6IDcgLTIwLjUgMTAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJv
bSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgeiAvIGFscGhhKWAsICAgICAgICAgICAg
ICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAxMDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBj
b2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkgeHl6IHggeSB6KWAsICAgICAg
ICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3IC0yMC41IDEwMClgKTsKKyAgICB0ZXN0Q29t
cHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCB5IHog
LyBhbHBoYSlgLCAgICAgICAgICAgICAgICBgY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gMC40KWAp
OworCisgICAgLy8gVGVzdCBuZXN0aW5nIHJlbGF0aXZlIGNvbG9ycy4KKyAgICB0ZXN0Q29tcHV0
ZWQoYGNvbG9yKGZyb20gY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiB4IHkg
eikgeHl6IHggeSB6KWAsICAgICAgICBgY29sb3IoeHl6IDcgLTIwLjUgMTAwKWApOworCisgICAg
Ly8gVGVzdGluZyByZXBsYWNlbWVudCB3aXRoIDAuCisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihm
cm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IDAgMCAwKWAsICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYGNvbG9yKHh5eiAwIDAgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9y
KGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogMCAwIDApYCwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBgY29sb3IoeHl6IDAgMCAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29s
b3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiAwIDAgMCAvIDApYCwgICAgICAgICAg
ICAgICAgICAgICAgICAgIGBjb2xvcih4eXogMCAwIDAgLyAwKWApOworICAgIHRlc3RDb21wdXRl
ZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiAwIDAgMCAvIDApYCwgICAg
ICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogMCAwIDAgLyAwKWApOworICAgIHRlc3RD
b21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiAwIHkgeiAvIGFs
cGhhKWAsICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogMCAtMjAuNSAxMDApYCk7Cisg
ICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHgg
MCB6IC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3IDAgMTAwKWAp
OworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5
eiB4IHkgMCAvIGFscGhhKWAsICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAu
NSAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAx
MDApIHh5eiB4IHkgeiAvIDApYCwgICAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXog
NyAtMjAuNSAxMDAgLyAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4
eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiAwIHkgeiAvIGFscGhhKWAsICAgICAgICAgICAgICAg
IGBjb2xvcih4eXogMCAtMjAuNSAxMDAgLyAwLjQpYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xv
cihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDQwJSkgeHl6IHggMCB6IC8gYWxwaGEpYCwg
ICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3IDAgMTAwIC8gMC40KWApOworICAgIHRlc3RDb21w
dXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IHkgMCAv
IGFscGhhKWAsICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAwIC8gMC40KWApOwor
ICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUp
IHh5eiB4IHkgeiAvIDApYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAx
MDAgLyAwKWApOworCisgICAgLy8gVGVzdGluZyByZXBsYWNlbWVudCB3aXRoIGEgY29uc3RhbnQu
CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6
IDAuMiB5IHogLyBhbHBoYSlgLCAgICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiAwLjIgLTIw
LjUgMTAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAu
NSAxMDApIHh5eiB4IDAuMiB6IC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4
eXogNyAwLjIgMTAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXog
NyAtMjAuNSAxMDApIHh5eiB4IHkgMC4yIC8gYWxwaGEpYCwgICAgICAgICAgICAgICAgICAgIGBj
b2xvcih4eXogNyAtMjAuNSAwLjIpYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNv
bG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHggeSB6IC8gMC4yKWAsICAgICAgICAgICAgICAgICAg
ICAgICAgYGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDAuMilgKTsKKyAgICB0ZXN0Q29tcHV0ZWQo
YGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogeCB5IHogLyAyMCUpYCwgICAg
ICAgICAgICAgICAgICAgICAgICBgY29sb3IoeHl6IDcgLTIwLjUgMTAwIC8gMC4yKWApOworICAg
IHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5
eiAwLjIgeSB6IC8gYWxwaGEpYCwgICAgICAgICAgICAgIGBjb2xvcih4eXogMC4yIC0yMC41IDEw
MCAvIDAuNClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIw
LjUgMTAwIC8gNDAlKSB4eXogeCAwLjIgeiAvIGFscGhhKWAsICAgICAgICAgICAgICBgY29sb3Io
eHl6IDcgMC4yIDEwMCAvIDAuNClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29s
b3IoeHl6IDcgLTIwLjUgMTAwIC8gNDAlKSB4eXogeCB5IDAuMiAvIGFscGhhKWAsICAgICAgICAg
ICAgICBgY29sb3IoeHl6IDcgLTIwLjUgMC4yIC8gMC40KWApOworICAgIHRlc3RDb21wdXRlZChg
Y29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUpIHh5eiB4IHkgeiAvIDAuMilg
LCAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyAwLjIpYCk7CisKKyAg
ICAvLyBUZXN0aW5nIHZhbGlkIHBlcm11dGF0aW9uICh0eXBlcyBtYXRjaCkuCisgICAgdGVzdENv
bXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEwMCkgeHl6IHkgeiB4KWAsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiAtMjAuNSAxMDAgNylgKTsKKyAg
ICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUgMTAwKSB4eXogeCB4
IHggLyB4KWAsICAgICAgICAgICAgICAgICAgICAgICAgICBgY29sb3IoeHl6IDcgNyA3KWApOwor
ICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDAgLyA0MCUp
IHh5eiB5IHogeClgLCAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogLTIwLjUgMTAw
IDcpYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0yMC41IDEw
MCAvIDQwJSkgeHl6IHggeCB4IC8geClgLCAgICAgICAgICAgICAgICAgICAgYGNvbG9yKHh5eiA3
IDcgNylgKTsKKworICAgIC8vIFRlc3RpbmcgaW52YWxpZCBwZXJtdXRhdGlvbiAodHlwZXMgZG9u
J3QgbWF0Y2gpLgorICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAu
NSAxMDApIHh5eiB6IGFscGhhIHggLyB5KWAsICAgICAgICAgICAgICAgICAgICAgIGByZ2JhKDAs
IDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0y
MC41IDEwMCkgeHl6IGFscGhhIGFscGhhIGFscGhhIC8gYWxwaGEpYCwgICAgICAgICAgYHJnYmEo
MCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcg
LTIwLjUgMTAwIC8gNDAlKSB4eXogeiBhbHBoYSB4IC8geSlgLCAgICAgICAgICAgICAgICBgcmdi
YSgwLCAwLCAwLCAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXog
NyAtMjAuNSAxMDAgLyA0MCUpIHh5eiBhbHBoYSBhbHBoYSBhbHBoYSAvIGFscGhhKWAsICAgIGBy
Z2JhKDAsIDAsIDAsIDApYCk7CisKKyAgICAvLyBUZXN0aW5nIHdpdGggY2FsYygpLgorICAgIHRl
c3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAuNSAxMDApIHh5eiBjYWxjKHgp
IGNhbGMoeSkgY2FsYyh6KSlgLCAgICAgICAgICAgICAgICAgICAgICAgIGBjb2xvcih4eXogNyAt
MjAuNSAxMDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0y
MC41IDEwMCAvIDQwJSkgeHl6IGNhbGMoeCkgY2FsYyh5KSBjYWxjKHopIC8gY2FsYyhhbHBoYSkp
YCwgICAgYGNvbG9yKHh5eiA3IC0yMC41IDEwMCAvIDAuNClgKTsKKworICAgIC8vIFRlc3Rpbmcg
aW52YWxpZCB2YWx1ZXMuCisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3
IC0yMC41IDEwMCkgeHl6IDEwZGVnIHkgeilgLCAgICAgICAgICAgICAgICAgICAgICAgICAgYHJn
YmEoMCwgMCwgMCwgMClgKTsKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6
IDcgLTIwLjUgMTAwKSB4eXogeCAxMGRlZyB6KWAsICAgICAgICAgICAgICAgICAgICAgICAgICBg
cmdiYSgwLCAwLCAwLCAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4
eXogNyAtMjAuNSAxMDApIHh5eiB4IHkgMTBkZWcpYCwgICAgICAgICAgICAgICAgICAgICAgICAg
IGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9y
KHh5eiA3IC0yMC41IDEwMCkgeHl6IHggeSB6IC8gMTBkZWcpYCwgICAgICAgICAgICAgICAgICAg
ICAgYHJnYmEoMCwgMCwgMCwgMClgKTsKKworICAgIC8vIFRlc3RpbmcgaW52YWxpZCBjb21wb25l
bnQgbmFtZXMKKyAgICB0ZXN0Q29tcHV0ZWQoYGNvbG9yKGZyb20gY29sb3IoeHl6IDcgLTIwLjUg
MTAwKSB4eXogcmVkIHkpYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgcmdiYSgwLCAw
LCAwLCAwKWApOworICAgIHRlc3RDb21wdXRlZChgY29sb3IoZnJvbSBjb2xvcih4eXogNyAtMjAu
NSAxMDApIHh5eiByIHkgeilgLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGByZ2JhKDAs
IDAsIDAsIDApYCk7CisgICAgdGVzdENvbXB1dGVkKGBjb2xvcihmcm9tIGNvbG9yKHh5eiA3IC0y
MC41IDEwMCkgeHl6IGwgeSB6KWAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHJnYmEo
MCwgMCwgMCwgMClgKTsKKworCisgICAgZGVidWcoJycpOworICAgIGRlYnVnKCdTcGVjIEV4YW1w
bGVzJyk7CisKICAgICAvLyBFeGFtcGxlIDExLgogICAgIHRlc3RDb21wdXRlZChgcmdiKGZyb20g
dmFyKC0tYmctY29sb3IpIHIgZyBiIC8gODAlKWAsIGByZ2JhKDAsIDAsIDI1NSwgMC44KWApOwot
ICAgIAorCiAgICAgLy8gRXhhbXBsZSAxMi4KICAgICB0ZXN0Q29tcHV0ZWQoYGxjaChmcm9tIHZh
cigtLWNvbG9yKSBjYWxjKGwgLyAyKSBjIGgpYCwgYGxjaCgyMy4xMzg5NzElIDY3Ljk4OTcxNiAx
MzQuMzkxMjUpYCk7Ci0gICAgCisKICAgICAvLyBFeGFtcGxlIDEzLgogICAgIHRlc3RDb21wdXRl
ZChgcmdiKGZyb20gdmFyKC0tY29sb3IpIGNhbGMociAqIC4zICsgZyAqIC41OSArIGIgKiAuMTEp
IGNhbGMociAqIC4zICsgZyAqIC41OSArIGIgKiAuMTEpIGNhbGMociAqIC4zICsgZyAqIC41OSAr
IGIgKiAuMTEpKWAsIGByZ2IoNzYsIDc2LCA3NilgKQogICAgIHRlc3RDb21wdXRlZChgbGNoKGZy
b20gdmFyKC0tY29sb3IpIGwgMCBoKWAsIGBsY2goNDYuMjc3OTQzJSAwIDEzNC4zOTEyNSlgKQpA
QCAtNDY1LDcgKzYwMyw3IEBACiAgICAgdGVzdENvbXB1dGVkKGBsYWIoZnJvbSB2YXIoLS1teWNv
bG9yKSBsIGEgYiAvIDEwMCUpYCwgYGxhYig2Mi43NTE5MjMlIDUyLjQ1ODAyIC0zNC4xMTcyODMp
YCk7CiAgICAgdGVzdENvbXB1dGVkKGBsYWIoZnJvbSB2YXIoLS1teWNvbG9yKSBsIGEgYiAvIGNh
bGMoYWxwaGEgKiAwLjgpKWAsIGBsYWIoNjIuNzUxOTIzJSA1Mi40NTgwMiAtMzQuMTE3MjgzIC8g
MC44KWApOwogICAgIHRlc3RDb21wdXRlZChgbGFiKGZyb20gdmFyKC0tbXljb2xvcikgbCBhIGIg
LyBjYWxjKGFscGhhIC0gMjAlKSlgLCBgbGFiKDYyLjc1MTkyMyUgNTIuNDU4MDIgLTM0LjExNzI4
MyAvIDAuOClgKTsKLSAgICAKKwogICAgIC8vIEV4YW1wbGUgMTcuCiAgICAgdGVzdENvbXB1dGVk
KGBsYWIoZnJvbSB2YXIoLS1teWNvbG9yKSBsIDAgMClgLCBgbGFiKDYyLjc1MTkyMyUgMCAwKWAp
OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>